2Aug

Varför är nyare generationer av processorer snabbare vid samma klockhastighet?

Du kanske är nyfiken på hur nyare generationer av processorer kan bli snabbare vid samma klockhastighet 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 svar på en nyfiken läsarens frågor.

Dagens fråga &Svarssession kommer till oss med tillstånd av SuperUser-en indelning 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 nya generationer av processorer är snabbare med samma klockhastighet:

Varför skulle en 2,66 GHz dubbelkärnig Core i5 vara snabbare än en 2,66 GHz Core 2 Duo, vilket äräven dual-core?

Är det här på grund av nyare instruktioner som kan bearbeta information i färre klockcykler? Vilka andra arkitektoniska förändringar är inblandade?

Varför är nya generationers processorer snabbare med samma klockhastighet?

Svaret

SuperUser-bidragsgivare David Schwartz och genombrott har svaret för oss. Först upp, David Schwartz:

Normalt är det inte på grund av nyare instruktioner. Det beror bara på att processorn kräver färre instruktionscykler för att utföra samma instruktioner. Detta kan vara av ett stort antal skäl:

  1. Stora kupor betyder mindre tid bortkastad och väntar på minne.
  2. Fler exekveringsenheter innebär mindre tid att vänta på att börja fungera på en instruktion.
  3. Bättre förgreningsförutsägelse innebär mindre tid som slösas bort speculativt genom att utföra instruktioner som aldrig behöver exekveras.
  4. Utföringsenhetens förbättringar innebär mindre tid att vänta på att instruktioner ska slutföras.
  5. Kortare rörledningar innebär att rörledningarna fylls upp snabbare.

och så vidare.

Följd av svaret från genombrott:

Den absoluta definitiva referensen är utvecklarhandböckerna för Intel 64 och IA-32 Architectures Software. De beskriver förändringarna mellan arkitekturer och de är en stor resurs för att förstå x86-arkitekturen.

Jag rekommenderar att du laddar ner de kombinerade volymerna 1 till 3C( första nedladdningslänk på sidan som länkats ovan).Volym 1, kapitel 2.2 har den information du vill ha.

Några generella skillnader som anges i det kapitlet, som går från Core to Nehalem / Sandy Bridge-mikroarkitekturerna är:

  • Förbättrad fördjupning av förgrening, snabbare återställning från felprediktion
  • HyperThreading Technology
  • Integrerad minneskontroller, ny cachegehierarki
  • Snabbare flytande punkt undantaghantering( endast Sandy Bridge)
  • LEA-bandbreddfö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 något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.