Cache, SSE3 és Hyper-Threading
A Prescott – a már jó ideje szárnyra kapott híreknek megfelelően – megnövelt méretű gyorsítótárat tartalmaz. Az új processzorban 16 kbyte méretű, 8-utas csoportasszociatív elsőszintű adatcache található (a Northwoodban 8 kbyte méretű, 4-utas csoportasszociatív). Az elsőszintű utasításcache, a már dekódolt mikroutasításokat naplózó execution trace cache mérete nem változott, az továbbra is 12 000 mikroutasítást képes tárolni (ez körülbelül 8-16 kbyte méretű hagyományos utasításcache-nek felel meg). Megkétszereződött ugyanakkor a másodszintű gyorsítótár, amelynek mérete 1 MB lett.
Hirdetés
A gyorsítótárak azonban nem csupán nagyobbak, de lassabbak is lettek. A cache késleltetésének növekedését jól illusztrálja az alábbi grafikon, melyen a CPU-Z programmal mért adatokat tüntettük fel. A feltüntetett számok órajelciklusban értendőek, 64 byte stride és minden esetben a cache méretének megfelelő blokkméret mellett:
Végrehajtó egységek
Amint az az alábbi blokkdiagramon látható, a Pentium 4 processzorban három darab ALU (integer végrehajtó egység) található. Ezek közül kettő az egyszerű fixpontos műveleteket hajtja végre, és a magsebesség kétszeresének megfelelő frekvencián üzemel (2x ALU). A harmadik, lassabb – magsebességen működő – végrehajtó egység (VE) a komplexebb műveletek elvégzéséért felelős. A gyorsabb integer műveletvégzés érdekében a Prescottban a lassabb ALU-ból a 2x ALU-ba került a léptetés (shift) és forgatás (rotate) utasításokat végrehajtó egység, így ezek a műveletek gyorsabban hajtódnak végre.
A Prescott sematikus felépítése
További újítás, hogy az új processzor gyorsabban végez az egész számú szorzásokkal is, köszönhetően a dedikált integerszorzó (iMul) egységnek. A Northwood az egész számokkal végzett szorzást a lebegőpontos egységben hajtotta végre, majd az eredményt átadta az ALU-nak – ami jelentős késleltetéssel járt. A dedikált szorzónak köszönhetően az adatok végrehajtó egységek közötti mozgatásával járó extra ciklusok megtakaríthatók.
SSE3 és Hyper-Threading
A Prescottban mutatkozik be a korábban Prescott New Instructions (PNI) néven ismert SSE3 utasításkészlet is. Az SSE3-mal 13 új utasítás válik elérhetővé: 5 utasítással bővül az összetett aritmetikai és 4 utasítással a 3D-s grafika gyorsításáért felelős műveletek sora, 1 utasítás szolgál a lebegőpontos-fixpontos konverzió megvalósítására, 1 a videokódolás gyorsítására, míg 2 a Hyper-Threading technológia hatékonyabb kihasználására.
Az Intel dokumentumainak tanúsága szerint a szimultán többszálú végrehajtást lehetővé tevő Hyper-Threading általában is jobb hatékonysággal működik, mint a Northwoodban. Ez a nagyobb gyorsítótárak és a megnövelt méretű pufferek mellett a továbbfejlesztett hardveres előbehívő (prefetch) logikának is köszönhető. Az SSE3 részeként bevezetett 2 új HT-utasítás (Monitor, Mwait) az egyes programszálak futásának üresjáratait segít kiküszöbölni. Ezek kihasználásához az operációs rendszer kernelszintű frissítésére van szükség, így a HT-teljesítményre gyakorolt hatásukat csak egy kompatibilis Linux-kernel vagy Windows-javítócsomag megjelenését követően tapasztalhatjuk majd meg.
A cikk még nem ért véget, kérlek, lapozz!