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

    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 Question & Answer-session 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 i samma klockhastighet:

    Varför skulle till exempel en 2,66 GHz dubbelkärnig Core i5 vara snabbare än en 2,66 GHz Core 2 Duo, som också är dual-core?

    Är detta 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:

    Vanligtvis ä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örutspådning innebär mindre tid förlorad speculativt utförande av instruktioner som aldrig behöver exekveras.
    4. Förbättringsenhetsförbättringar innebär mindre tid att vänta på att instruktioner ska slutföras.
    5. Kortare rörledningar innebär att ledningarna fylls upp snabbare.

    Och så vidare.

    Följd av svaret från genombrott:

    Den absolut slutgiltiga referensen är Intel 64 och IA-32 Architectures Software Developer Manuals. 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 (den första länken på länken 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 filialprediktion, snabbare återhämtning från felprediktion
    • HyperThreading Technology
    • Integrerad minnesstyrenhet, ny cachehierarki
    • Snabbare flytande punkt undantagshantering (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 mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.