netburst | |
---|---|
processzor | |
Termelés | 2000. november 20 |
Fejlesztő | Intel |
Gyártó | |
CPU frekvencia | 1,30-3,80 GHz |
FSB frekvencia | 400-1066 MHz |
Gyártástechnológia | 180-65 nm |
Utasítási készletek | x86 , x86-64 , MMX , SSE , SSE2 , SSE3 , SSSE3 |
Magok száma |
1-2 (2-4), 2-6 (2-6) (Xeon) |
L1 gyorsítótár | 8 KB és 16 KB között magonként |
L2 gyorsítótár |
128 KB - 2048 KB 256 KB - 2048 KB (Xeon) |
L3 gyorsítótár | 4 MB – 16 MB megosztva |
Csatlakozók | |
Magok | |
Intel P6Core (mikroarchitektúra) |
A NetBurst (munkacím – P68 ) egy szuperskaláris , hiperpipelined mikroarchitektúra , amelyet az Intel fejlesztett ki, és amely a Pentium 4 , Pentium D , Celeron és Xeon mikroprocesszorok alapját képezi 2000-2007 között.
A NetBurst architektúra felváltotta a P6 architektúrát az asztali és szerverprocesszorok piacán . Nem a P6 architektúra fejlesztése volt, hanem alapvetően új architektúra az összes elődjéhez képest.
A NetBurst architektúra első processzorait 2000. november 20-án jelentették be . 2007. augusztus 8- án az Intel bejelentette egy olyan program elindítását, amely az ilyen architektúra összes processzorát kivonja [1] [2] . A NetBurst architektúrájú processzorokat 2006-ban a Core 2 (Duo/Quad) processzorcsalád váltotta fel , amelynek architektúrája a korábbi P6 architektúra továbbfejlesztése.
felülvizsgálat | Processzor márka(i) | csővezeték szakaszai |
---|---|---|
Willamette (180nm) | Celeron, Pentium 4 | húsz |
Northwood (130nm) | Celeron, Pentium 4, Pentium 4HT | húsz |
Gallatin (130nm) | Pentium 4HT Extreme Edition Xeon | húsz |
Prescott (90nm) | Celeron D, Pentium 4, Pentium 4 HT, Pentium 4 Extreme Edition |
31 |
Cédrusmalom (65nm) | Celeron D, Pentium 4 | 31 |
Smithfield (90nm) | Pentium D | 31 |
Presler (65nm) | Pentium D | 31 |
A NetBurst architektúrát elsősorban a processzorok magas órajelének elérésére fejlesztették ki. A NetBurst architektúra jellemző jellemzői a hyper-pipelining és a micro-op szekvencia gyorsítótár használata a hagyományos utasítás gyorsítótár helyett. A NetBurst architektúra processzorainak ALU-ja is jelentős eltéréseket mutat más architektúrák processzorainak ALU-jától. Lehetőség van a Hyper-threading technológia alkalmazására is [1] .
( angol Hyper Pipelining )
A Willamette és Northwood magokra épülő Pentium 4 processzorok 20 fokozatú , míg a Prescott és Cedar Mill magokra épülő processzorok 31 fokozatúak. Ebben az esetben az utasításdekódolás szakaszait nem veszik figyelembe: a mikroműveleti szekvenciák gyorsítótárának használata miatt a dekóder ( Instruction decoder ) kikerül a folyamatból. Ez lehetővé teszi a Pentium 4 processzorok számára, hogy magasabb órajelet érjenek el, mint az azonos gyártási technológiával rendelkező processzorok, amelyek rövidebb csővezetékkel rendelkeznek. Így például a Coppermine magon (180 nm technológia) a Pentium III processzorok maximális órajele 1133 MHz , míg a Willamette magon lévő Pentium 4 processzorok 2000 MHz-et meghaladó frekvencián működhetnek [1] .
A hibásan megjósolt elágazások hatásának minimalizálása érdekében a NetBurst architektúrájú processzorok elődeikhez képest megnövelt elágazási célpuffert (BTB ) és új elágazás-előrejelző algoritmust alkalmaznak, amely lehetővé tette a magas (körülbelül 94%-os) előrejelzési pontosság elérését a processzorokban. a Willamette mag. A következő kernelekben az elágazás-előrejelzési mechanizmust frissítették az előrejelzési pontosság javítása érdekében [1] [3] .
( Eng. Execution Trace Cache )
A NetBurst architektúrájú processzorok a legtöbb modern x86 -kompatibilis processzorhoz hasonlóan RISC maggal rendelkező CISC processzorok : végrehajtás előtt az összetett x86-os utasításokat egyszerűbb belső utasításkészletté (mikroműveletekké) alakítják át, ami gyorsabb parancsfeldolgozást tesz lehetővé. Tekintettel azonban arra, hogy az x86-os utasítások változó hosszúságúak és nincs rögzített formátumuk, dekódolásuk jelentős időköltséggel jár [4] .
Ezzel kapcsolatban a NetBurst architektúra fejlesztése során úgy döntöttek, hogy elhagyják a hagyományos első szintű utasítás-gyorsítótárat, amely az x86 utasításokat tárolja, és egy mikroművelet-szekvencia-gyorsítótár helyett a mikroműveletek sorozatait tárolja azok várható sorrendjének megfelelően. végrehajtás. A nyomkövetési gyorsítótár kapacitása körülbelül 12 ezer mikrooperáció volt. A gyorsítótár-memória ilyen szervezése lehetővé tette a feltételes ugrások végrehajtására és az utasítások lekérésére fordított idő csökkentését is.
( angol Rapid Execution Engine )
Mivel a NetBurst architektúra tervezésének fő célja a teljesítmény növelése volt magas órajel-frekvenciák elérésével, szükségessé vált az alapvető egész műveletek végrehajtási sebességének növelése. E cél elérése érdekében a NetBurst architektúra processzorainak ALU-ja több blokkra van osztva: egy „lassú ALU” ( eng. slow ALU ), amely nagyszámú egész művelet végrehajtására képes, és két „gyors ALU” ( eng. 2X ALU ), csak a legegyszerűbb egész műveleteket hajtja végre (pl. összeadás). A műveletek végrehajtása a "gyors ALU-kon" szekvenciálisan három szakaszban történik: először az eredmény legkisebb jelentőségű számjegyeit számítják ki, majd a legjelentősebbeket, ami után megkapják a flageket.
A „Fast ALU-k”, ütemezőik ( eng. Fast scheduler ), valamint a regiszterfájl ( eng. Integer register file ) a processzorciklus felében szinkronizáltak, így működésük effektív frekvenciája a magfrekvencia kétszerese. Ezek a blokkok egész számmal végzett műveletek gyorsított végrehajtásának mechanizmusát alkotják.
A Willamette és Norhtwood magokra épülő processzorokban a „gyors ALU-k” csak olyan műveleteket tudnak végrehajtani, amelyek az operandusokat az alacsonyabb bitektől a magasabbak felé haladva dolgozzák fel. Ebben az esetben a legkisebb jelentőségű számjegyek kiszámításának eredménye fél ciklus után érhető el. Így a tényleges késleltetés fél ciklus. A Willamette és Norhtwood magokra épülő processzorokban nincsenek egész szám szorzási és eltolási blokkok, és ezeket a műveleteket más blokkok (különösen az MMX utasításblokk ) hajtják végre.
A Prescott alapú processzorok (valamint az újabb magok) egész számszorzó egységgel rendelkeznek, a "gyors ALU-k" pedig képesek shift műveletek végrehajtására. A "gyors ALU-k" által végrehajtott műveletek tényleges késleltetése megnőtt a Norhtwood magon alapuló processzorokhoz képest, és egy órajelciklus [5] .
( angol visszajátszási rendszer ) [6]
A micro-ops ütemezők fő feladata, hogy meghatározzák a micro-ops készenlétét a végrehajtásra és átvitelre a folyamatba. A folyamatban lévő szakaszok nagy száma miatt az ütemezők kénytelenek mikroműveleteket küldeni a végrehajtási egységeknek, mielőtt az előző mikroműveletek befejeződnének. Ez biztosítja a processzor végrehajtó egységeinek optimális betöltését, és elkerüli a teljesítményveszteséget, ha a mikroművelet végrehajtásához szükséges adatok az első szintű gyorsítótárban, egy regiszterfájlban vannak, vagy a regiszterfájlt megkerülve továbbíthatók.
Az ütemezőnek az új mikroműveletek végrehajtási egységekhez való átvitelre való alkalmasságának meghatározásakor meg kell határoznia azon korábbi mikroműveletek végrehajtási idejét, amelyek eredménye az új mikroműveletek végrehajtásához szükséges adatok. Abban az esetben, ha a végrehajtási idő nincs előre meghatározva, az ütemező a legrövidebb végrehajtási időt használja annak meghatározására (például ha valamilyen mikroművelet végrehajtásához adatokat kell betölteni a memóriából, az ütemező a mikroművelet átadásakor a csővezetékhez, abból a feltételezésből indul ki, hogy a szükséges adatok az L1 adatgyorsítótárban találhatók, és olyan számú ciklusban kerülnek lehívásra, amely megegyezik az L1 gyorsítótár késésének és a mikro-átvitelhez szükséges ciklusok számának összegével. op az ütemezőtől a végrehajtási egységhez).
Ha az adatok lekéréséhez szükséges idő becslése helyes, a mikro-op sikeres. Abban az esetben, ha az adatok nem érkeztek meg időben, az eredmény helyességének ellenőrzése sikertelenül végződik. Ebben az esetben a mikroművelet, amelynek eredménye hibásnak bizonyult, egy speciális sorba kerül ( angol replay queue ), majd az ütemező ismét végrehajtásra küldi.
Vannak olyan kedvezőtlen helyzetek, amikor a mikroműveletek újbóli végrehajtása holtponthoz vezethet . A kiút az ilyen helyzetekből az, ha leállítjuk az új mikroműveletek átvitelét a végrehajtó egységekhez, és az újra végrehajtott mikroműveleteket egy speciális pufferbe küldjük, hogy felszabadítsák a folyamatot.
Annak ellenére, hogy a mikroműveletek ismételt végrehajtása jelentős teljesítményveszteséggel jár, ennek a mechanizmusnak az alkalmazása lehetővé teszi, hogy a mikroműveletek hibás végrehajtása esetén elkerülhető legyen a csővezeték leállítása és visszaállítása, ami komolyabb veszteségekkel járna.
A NetBurst architektúrájú processzorok fő előnye a magas órajelen való működés képessége. Ez lehetővé teszi, hogy nagy teljesítményt érjen el az optimalizált feladatok során, és kompenzálja az alacsony fajlagos termelékenységet. Ezenkívül a magas órajelnek van egy marketingelőnye is : a fogyasztók hajlamosak magasabb órajelű processzorokat választani (" vásárolj megahertzet "). A NetBurst architektúrájú processzorok előnyei közé tartozik a nagy memória sávszélesség is [7] .
A NetBurst architektúra egyes processzorai által a HyperThreading technológia támogatása lehetővé tette a többfeldolgozást támogató feladatok teljesítményének növelését , de vannak olyan feladatok, amelyeknél a teljesítmény csökkenhet [6] [8] .
Az Intel sikeres marketing- és reklámpolitikájának köszönhetően a NetBurst architektúrájú processzorok népszerűvé váltak a felhasználók körében, ami lehetővé tette az Intel számára, hogy jelentős (több mint 70%-os) részesedést tartson meg a mikroprocesszor-piacon, és profitot termeljen, ellentétben fő versenytársával , az AMD -vel [9 ] [10] .
A hosszú folyamat fő hátránya a fajlagos teljesítmény csökkenése egy rövid folyamathoz képest (kevesebb utasítás végrehajtása ciklusonként), valamint komoly teljesítményveszteség, ha az utasításokat hibásan hajtják végre (például egy helytelenül előre jelzett feltételes ággal vagy gyorsítótárral). hiányzik) [1] [6 ] . Így például az 1700 MHz-es Pentium 4 processzor a nem NetBurst architektúrára optimalizált feladatokban gyengébb volt, mint az 1333 MHz frekvenciájú processzorok [11] .
Ezenkívül a processzorok magas frekvenciájú működése nagy hőelvezetéssel járt . Bár a Cedar Mill processzorok extrém hűtéssel (általában egy pohár folyékony nitrogént használtak) 7 GHz -et meghaladó frekvencián is képesek voltak működni, a Pentium 4 processzorok maximális órajele 3800 MHz volt. Ebben az esetben a jellemző hőleadás meghaladta a 100 W -ot, a maximális pedig a 150 W-ot [12] [13] [14] .
Az órajel további növelésének lehetetlensége miatt az Intel kénytelen volt más módszert kínálni a teljesítmény növelésére. Így történt az átállás az egymagos processzorokról a többmagosokra.
A kétmagos NetBurst architektúra processzorok asztali számítógépekhez ( Pentium D ) két Prescott mag (Smithfield-alapú processzorok) voltak ugyanazon a szerszámon vagy Cedar Mill (Presler) ugyanabban a csomagban (lényegében két külön processzor ugyanabban a csomagban). Mivel a NetBurst architektúrájú processzorokat eredetileg egymagosnak tervezték, a magok közötti adatcsere a RAM -on keresztül ment végbe , ami teljesítményveszteséghez vezetett (összehasonlításképpen a versengő Athlon 64 X2 processzorokat többmagosra tervezték, ezért speciális blokk, amely lehetővé teszi az adatcserét a RAM megkerülésével [15] ) [16] .
A NetBurst architektúra processzorai négy fő építőelemből állnak:
Executive eszközök a következők:
A Prescott magon alapuló és újabb processzorokban a lebegőpontos feldolgozóegység támogatást kapott az SSE3 utasításokhoz .
A soron kívüli végrehajtás lehetővé teszi a munka felgyorsítását a mikroműveletek végrehajtási sorrendjének megváltoztatásával olyan esetekben, amikor ez a változás nem eredményez változást az eredményben. A rendkívüli végrehajtási rendelkezések magukban foglalják:
A beviteli eszközök a következők:
A memória interfész kölcsönhatásba lép a RAM-mal. Ez a blokk a következőket tartalmazza:
Egyes processzorok 2, 4 vagy 8 MB L3 gyorsítótárat is tartalmaztak .
A szállítószalag 20 szakaszból áll:
Az utasítás végrehajtása annak lekérésével és dekódolásával kezdődik. Abban az esetben, ha a megfelelő mikroműveletek sorozata nincs a mikroműveletek sorozatainak gyorsítótárában, az utasítás a második szintű gyorsítótárból kerül kiolvasásra és dekódolásra. Mivel a gyorsítótárban tárolt utasítások fizikai címekkel rendelkeznek, a címfordító egység a virtuális címet fizikai címgé alakítja lehívás céljából.
A dekódolás eredményeként kapott mikroműveletek a micro-op szekvenciák gyorsítótárába kerülnek. Abban az esetben, ha feltételes elágazási utasítással találkozunk, a mikroműveletek sorozata a megfelelő blokk által végrehajtott elágazás előrejelzése alapján jön létre . Ha az utasítás nem konvertálható legfeljebb négy mikroműveletből álló sorozattá, akkor azt a mikrokód ROM-ban tárolt és ilyen sorozatokat alkotó szubrutin helyettesíti. Ugyanakkor a szekvencia-gyorsítótárban nem magukat a mikroműveleteket tárolják, hanem ennek az alprogramnak a címét. A szekvencia-gyorsítótárban tárolt mikroműveletek a micro-op sorba kerülnek.
Miután a processzort felkészítették a mikroműveletek végrehajtására (erőforrások lefoglalása, regiszterek átnevezése), azok a típusuknak megfelelő sorokba kerülnek: a memóriával kölcsönhatásba lépő mikroműveletek külön sorba kerülnek, 16 mikro hosszúságban. -ops, és az összes többi egy közös sorba kerül (32 mikro-ops). A mikroműveletek végrehajtási sorrendjének meghatározása után (a sorrend módosítható az adatok mikroműveletek végrehajtására való felkészültségétől, az újraindítható utasítások elérhetőségétől, a szabad számítási erőforrások elérhetőségétől stb. függően) az ütemezők mikrooperációkat küldenek. a megfelelő végrehajtási egységekhez való végrehajtáshoz: a memóriával kölcsönhatásba lépő mikroműveleteket címgeneráló blokkokba küldik, az egész műveleteket az ALU blokkokba, a valós számműveleteket pedig a lebegőpontos feldolgozó blokkokba küldik. Ebben az esetben a mikroműveletek végrehajtásához szükséges operandusok vagy beolvasásra kerülnek a regiszterfájlból, vagy átkerülnek az előző mikroművelet eredményeként. A mikroműveletek végrehajtása után zászlókat generálnak és ellenőrzik az eredmények helyességét. Ha az eredmények helyesek, a mikroműveletek megszűnnek , és az eredmények a regiszterfájlba kerülnek. Ha a mikroművelet eredményei hibásak (például rosszul jelezték előre az átmenetet, vagy nem érkeztek meg időben a szükséges adatok), akkor ezt a mikroműveletet újra végrehajtásra küldik [4] [17] .
processzor | Sejtmag | Gyártástechnológia | Kiadási évek |
---|---|---|---|
Pentium 4 | Willamette, Northwood, Gallatin, Prescott, Cedar Mill | CMOS , 180-65 nm | 2000-2007 _ _ |
Pentium D | Smithfield, Presler | CMOS, 90-65 nm | 2005-2007_ _ |
Celeron | Willamette-128, Northwood-128 | CMOS, 180-130 nm | 2001-2005_ _ |
Celeron D | Prescott-256, Cedar Mill-512 | CMOS, 90-65 nm | 2004-2007_ _ |
xeon | Foster, Prestonia, Gallatin, Potomac, Cranford, Irwindale, Nocona, Paxville, Dempsey, Tulsa | CMOS, 180-65 nm | 2001-2007 |
Pentium 4 (Northwood) | Pentium D (Smithfield) | Celeron (Northwood-128) | Celeron D (Prescott-256) | Xeon DP (Foster) |
---|
Hivatalos információ
A NetBurst architektúrájú processzorok jellemzői
Processzor áttekintések és architektúra leírások
Intel processzorok | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||
|