Hvorfor er nyere generasjoner av prosessorer raskere med samme klokkehastighet?
Du kan være nysgjerrig på hvordan nyere generasjoner av prosessorer er i stand til å bli raskere med samme klokkehastighet som eldre prosessorer. Er det bare endringer i fysisk arkitektur eller er det noe mer? Dagens SuperUser Q & A innlegg har svar på en nysgjerrig leser spørsmål.
Dagens Spørsmål & Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppering av Q & A-nettsteder.
Foto courtesy of Rodrigo Senna (Flickr).
Spørsmålet
SuperUser leser agz vil vite hvorfor nyere generasjoner av prosessorer er raskere med samme klokkefrekvens:
Hvorfor, for eksempel, ville en 2,66 GHz dual-core Core i5 være raskere enn en 2,66 GHz Core 2 Duo, som også er dual-core?
Er dette på grunn av nyere instruksjoner som kan behandle informasjon i færre klokkeslett? Hvilke andre arkitektoniske endringer er involvert?
Hvorfor er nyere generasjoner av prosessorer raskere med samme klokkefrekvens?
Svaret
SuperUser-bidragsytere David Schwartz og gjennombrudd har svaret for oss. Først opp, David Schwartz:
Vanligvis er det ikke på grunn av nyere instruksjoner. Det er bare fordi prosessoren krever færre instruksjonssykluser for å utføre de samme instruksjonene. Dette kan være av mange årsaker:
- Store caches betyr mindre tid bortkastet og venter på minne.
- Flere eksekveringsenheter betyr mindre tid å vente på å begynne å operere på en instruksjon.
- Bedre grenseforutsigelse betyr mindre tid bortkastet spekulativt utførelse av instruksjoner som aldri egentlig må utføres.
- Gjennomføringsenhetsforbedringer betyr mindre tid å vente på at instruksjonene skal fullføres.
- Kortere rørledninger betyr at rørledninger fyller seg raskere.
Og så videre.
Etterfulgt av svaret fra gjennombrudd:
Den absolutt endelige referansen er Intel 64 og IA-32 Architectures Software Developer Manuals. De beskriver endringene mellom arkitekturene, og de er en stor ressurs for å forstå x86-arkitekturen.
Jeg vil anbefale at du laster ned de samlede volumene 1 til 3C (første nedlastingskobling på siden som er koblet over). Volum 1, kapittel 2.2 har den informasjonen du vil ha.
Noen generelle forskjeller som er oppført i dette kapittelet, går fra Core to Nehalem / Sandy Bridge mikroarkitekturene er:
- Forbedret forutsetning for forgrening, raskere gjenoppretting fra feiltolkning
- HyperThreading Technology
- Integrert minnekontroller, nytt hurtighierarki
- Raskere flytende punkt unntakshåndtering (kun Sandy Bridge)
- LEA-båndbreddeforbedring (kun Sandy Bridge)
- AVX instruksjonsutvidelser (kun Sandy Bridge)
Den komplette listen finner du i lenken som er angitt ovenfor (Volum 1, kapittel 2.2).
Sørg for å lese gjennom flere av denne interessante diskusjonen via lenken nedenfor!
Har du noe å legge til forklaringen? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.