Du kanske är nyfiken på hur nyare generationer av processorer kan vara snabbare med samma klockhastigheter som äldre processorer. Är det bara förändringar i fysisk arkitektur eller är det något mer? Dagens SuperUser Q & A-inlägg har svaren på en nyfiken läsares frågor.
Dagens Fråga & Svar-session kommer till oss med tillstånd av SuperUser - en underavdelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
Foto med tillstånd av Rodrigo Senna (Flickr) .
Frågan
SuperUser-läsaren agz vill veta varför nyare generationer av processorer är snabbare med samma klockhastighet:
Varför skulle till exempel en 2,66 GHz dual-core Core i5 vara snabbare än en 2,66 GHz Core 2 Duo, som också är dual-core?
Beror det på nyare instruktioner som kan bearbeta information på färre klockcykler? Vilka andra arkitektoniska förändringar är inblandade?
Varför är nyare generationer av processorer snabbare med samma klockhastighet?
Svaret
SuperUser-bidragsgivarna David Schwartz och Breakthrough har svaret för oss. Först upp, David Schwartz:
Vanligtvis beror det inte på nyare instruktioner. Det är bara för att processorn kräver färre instruktionscykler för att utföra samma instruktioner. Detta kan bero på ett stort antal skäl:
- Stora cachar betyder mindre slöseri med att vänta på minne.
- Fler exekveringsenheter innebär mindre tid att vänta på att starta en instruktion.
- Bättre gren förutsägelse innebär mindre tid slösas bort spekulativt att genomföra instruktioner som aldrig behöver exekveras.
- Förbättringar av körningsenheter innebär mindre tid att vänta på att instruktionerna ska slutföras.
- Kortare rörledningar betyder att rörledningar fylls snabbare.
Och så vidare.
Följt av svaret från Breakthrough:
Den absoluta slutgiltiga referensen är Intel 64 och IA-32 Architectures Software Developer Manuals . De beskriver förändringarna mellan arkitekturer och de är en bra resurs för att förstå x86-arkitekturen.
Jag rekommenderar att du laddar ner de kombinerade volymerna 1 till 3C (första nedladdningslänken på sidan som länkas ovan). Volym 1, kapitel 2.2 har den information du vill ha.
Några allmänna skillnader som listas i det kapitlet, går från Core till Nehalem / Sandy Bridge mikroarkitekturer är:
- Förbättrad gren förutsägelse, snabbare återhämtning från fel förutsägelse
- HyperThreading-teknik
- Integrerad minneskontroll, ny cachehierarki
- Snabbare hantering av undantagsflytande (endast Sandy Bridge)
- LEA-bandbreddsförbättring (endast Sandy Bridge)
- AVX instruktionsförlängningar (endast Sandy Bridge)
Den fullständiga listan finns i länken ovan (Volym 1, kapitel 2.2).
Se till att läsa igenom mer av denna intressanta diskussion via länken nedan!
Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa fler svar från andra tekniskt kunniga Stack Exchange-användare? Kolla in hela diskussionstråden här .