Hvorfor er nyere generationer af processorer hurtigere med samme urhastighed?
Du kan måske være nysgerrig om, hvordan nyere generationer af processorer er i stand til at være hurtigere ved samme clock-hastighed som ældre processorer. Er det bare ændringer i fysisk arkitektur eller er det noget mere? Dagens SuperUser Q & A-indlæg har svarene på en nysgerrig læsers spørgsmål.
Dagens Spørgsmål & Svar session kommer til os med venlig hilsen af SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.
Foto høflighed af Rodrigo Senna (Flickr).
Spørgsmålet
SuperUser-læser agz ønsker at vide, hvorfor nyere generationer af processorer er hurtigere med samme clock-hastighed:
Hvorfor ville en 2,66 GHz dual-core Core i5 være hurtigere end en 2,66 GHz Core 2 Duo, som også er dual-core?
Er dette på grund af nyere instruktioner, der kan behandle oplysninger i færre urcykler? Hvilke andre arkitektoniske ændringer er involveret?
Hvorfor er nyere generationer af processorer hurtigere med samme clock-hastighed?
Svaret
SuperUser bidragyderne David Schwartz og gennembrud har svaret for os. Først op, David Schwartz:
Normalt er det ikke på grund af nyere instruktioner. Det er bare fordi processoren kræver færre instruktionscykler at udføre de samme instruktioner. Dette kan være af mange årsager:
- Store caches betyder mindre tid spildt og venter på hukommelsen.
- Flere eksekveringsenheder betyder mindre tid på at vente på at starte driften på en instruktion.
- Bedre filial forudsigelse betyder mindre tid spildt spekulativt at udføre instruktioner, der aldrig rent faktisk skal udføres.
- Forbedringsenhedsforbedringer betyder mindre tid, der venter på, at instruktionerne er færdige.
- Kortere rørledninger betyder, at rørledninger fylder hurtigere.
Og så videre.
Efterfulgt af svaret fra gennembrud:
Den absolutte endelige reference er Intel 64 og IA-32 Architectures Software Developer Manuals. De beskriver ændringerne mellem arkitekturer, og de er en stor ressource for at forstå x86-arkitekturen.
Jeg vil anbefale at du downloader de samlede mængder 1 til 3C (første download link på siden linket ovenfor). Volumen 1, kapitel 2.2 indeholder de ønskede oplysninger.
Nogle generelle forskelle, der er opført i dette kapitel, går fra Core til Nehalem / Sandy Bridge mikroarkitekturer er:
- Forbedret filial forudsigelse, hurtigere opsving fra misprediction
- HyperThreading Technology
- Integreret hukommelsescontroller, nyt cache-hierarki
- Hurtigere flydende punkt undtagelseshåndtering (kun Sandy Bridge)
- LEA båndbreddeforbedring (kun Sandy Bridge)
- AVX instruktionsudvidelser (kun Sandy Bridge)
Den komplette liste kan findes i linket ovenfor (Volumen 1, Kapitel 2.2).
Sørg for at læse mere af denne interessante diskussion via linket nedenfor!
Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.