Saatat olla utelias, kuinka uudemmat prosessorisukupolvet pystyvät olemaan nopeammat samalla kellotaajuudella kuin vanhemmat prosessorit. Onko se vain muutoksia fyysisessä arkkitehtuurissa vai onko se jotain enemmän? Tämän päivän SuperUser Q & A -viestissä on vastaukset utelias lukijan kysymyksiin.
Tämän päivän Kysymys- ja vastausistunto tulee meille SuperUser-yhteisöstään, joka on Stack Exchangen osasto.
Kuva: Rodrigo Senna (Flickr) .
Kysymys
SuperUser-lukija agz haluaa tietää, miksi uudemmat prosessorisukupolvet ovat nopeampia samalla kellotaajuudella:
Miksi esimerkiksi 2,66 GHz: n kaksiytiminen Core i5 olisi nopeampi kuin 2,66 GHz: n Core 2 Duo, joka on myös kaksiytiminen?
Johtuuko tämä uudemmista ohjeista, jotka voivat käsitellä tietoja vähemmän kellojaksoilla? Mitä muita arkkitehtonisia muutoksia kyseessä on?
Miksi uudemmat prosessorisukupolvet ovat nopeampia samalla kellonopeudella?
Vastaus
SuperUser-avustajat David Schwartz ja Breakthrough ovat meille vastaus. Ensin David Schwartz:
Yleensä se ei johdu uudemmista ohjeista. Se johtuu vain siitä, että prosessori vaatii vähemmän käskyjaksoja samojen ohjeiden suorittamiseen. Tämä voi johtua monista syistä:
- Suuret välimuistit tarkoittavat vähemmän aikaa kuluttavaa muistin odottamista.
- Enemmän suoritusyksiköitä tarkoittaa vähemmän aikaa odottaa käskyn käytön aloittamista.
- Parempi haaraennuste tarkoittaa vähemmän aikaa hukkaan spekulatiivisesti komentojen suorittamiseen, joita ei koskaan tarvitse suorittaa.
- Suoritusyksikön parannukset tarkoittavat vähemmän aikaa odottaa ohjeiden suorittamista.
- Lyhyemmät putkistot tarkoittavat putkistojen täyttymistä nopeammin.
Ja niin edelleen.
Seurasi Breakthroughin vastaus:
Ehdoton lopullinen viite on Intel 64- ja IA-32 Architectures -ohjelmistokehittäjien oppaat . Ne kuvaavat arkkitehtuurien välisiä muutoksia ja ovat hieno resurssi ymmärtää x86-arkkitehtuuria.
Suosittelen, että lataat yhdistetyt levyt 1–3C (ensimmäinen latauslinkki yllä linkitetyllä sivulla). Osa 1, luku 2.2 sisältää haluamasi tiedot.
Joitakin tässä luvussa lueteltuja yleisiä eroja ytimestä Nehalem / Sandy Bridge -mikroarkkitehtuureihin ovat:
- Parempi haaraennuste, nopeampi toipuminen vääräennustuksesta
- HyperThreading-tekniikka
- Integroitu muistinohjain, uusi välimuistihierarkia
- Nopeampi liukulukuisten poikkeusten käsittely (vain Sandy Bridge)
- LEA-kaistanleveyden parantaminen (vain Sandy Bridge)
- AVX-ohjeiden laajennukset (vain Sandy Bridge)
Täydellinen luettelo löytyy yllä olevasta linkistä (1. osa, luku 2.2).
Muista lukea lisää tästä mielenkiintoisesta keskustelusta alla olevan linkin kautta!
Onko sinulla jotain lisättävää selitykseen? Ääni pois kommenteista. Haluatko lukea lisää vastauksia muilta teknisesti taitavilta Stack Exchangen käyttäjiltä? Katso koko keskusteluketju täältä .