netburst | |
---|---|
procesor | |
Výroba | 20. listopadu 2000 |
Vývojář | Intel |
Výrobce | |
Frekvence CPU | 1,30-3,80 GHz |
frekvence FSB | 400-1066 MHz |
Produkční technologie | 180-65 nm |
Instrukční sady | x86 , x86-64 , MMX , SSE , SSE2 , SSE3 , SSSE3 |
Počet jader |
1-2 (2-4), 2-6 (2-6) (Xeon) |
L1 cache | 8 KB až 16 KB na jádro |
L2 cache |
128 KB až 2048 KB 256 KB až 2048 KB (Xeon) |
L3 cache | Sdíleno 4 MB až 16 MB |
Konektory | |
Nuclei | |
Intel P6Jádro (mikroarchitektura) |
NetBurst (pracovní název - P68 ) je superskalární hyperpipelinová mikroarchitektura vyvinutá společností Intel a základem mikroprocesorů Pentium 4 , Pentium D , Celeron a Xeon v letech 2000-2007.
Architektura NetBurst nahradila architekturu P6 na trhu procesorů pro stolní počítače a servery . Nešlo o vývoj architektury P6, ale šlo o zásadně novou architekturu ve srovnání se všemi jejími předchůdci.
První procesory architektury NetBurst byly oznámeny 20. listopadu 2000 . 8. srpna 2007 Intel oznámil zahájení programu na postupné vyřazování všech procesorů této architektury [1] [2] . Procesory architektury NetBurst byly v roce 2006 nahrazeny procesory rodiny Core 2 (Duo/Quad), jejichž architektura je evolucí dřívější architektury P6.
revize | Značky procesoru | etapy potrubí |
---|---|---|
Willamette (180nm) | Celeron, Pentium 4 | dvacet |
Northwood (130nm) | Celeron, Pentium 4, Pentium 4HT | dvacet |
gallatina (130nm) | Pentium 4HT Extreme Edition Xeon | dvacet |
Prescott (90nm) | Celeron D, Pentium 4, Pentium 4 HT, Pentium 4 Extreme Edition |
31 |
Cedar Mill (65nm) | Celeron D, Pentium 4 | 31 |
Smithfield (90nm) | Pentium D | 31 |
Presler (65nm) | Pentium D | 31 |
Architektura NetBurst byla vyvinuta především pro dosažení vysokých taktů procesoru . Charakteristickými rysy architektury NetBurst jsou hyper-pipelining a použití micro-op sekvenční cache namísto tradiční instrukční cache. ALU procesorů architektury NetBurst má také významné rozdíly od ALU procesorů jiných architektur. Dále je možné využít technologii Hyper-threading [1] .
( anglicky Hyper Pipelining )
Procesory Pentium 4 založené na jádrech Willamette a Northwood mají 20-stupňovou pipeline , zatímco procesory založené na jádrech Prescott a Cedar Mill mají 31 stupňů. V tomto případě se neberou v úvahu fáze dekódování instrukcí: kvůli použití mezipaměti mikrooperačních sekvencí je dekodér ( Instruction decoder ) přesunut z potrubí. To umožňuje procesorům Pentium 4 dosahovat vyšších taktů než procesory, které mají kratší pipeline se stejnou výrobní technologií. Takže například maximální taktovací frekvence procesorů Pentium III na jádře Coppermine (technologie 180 nm ) je 1133 MHz , zatímco procesory Pentium 4 na jádře Willamette mohou pracovat na frekvencích přesahujících 2000 MHz [1] .
Aby se minimalizoval vliv nesprávně predikovaných větví, používají procesory architektury NetBurst ve srovnání se svými předchůdci zvýšenou vyrovnávací paměť cílové větve (BTB ) a nový algoritmus predikce větví, který umožnil dosáhnout vysoké přesnosti predikce (asi 94 %) v procesorech založených na jádro Willamette. V následujících jádrech byl mechanismus predikce větví vylepšen, aby se zlepšila přesnost predikce [1] [3] .
( Eng. Execution Trace Cache )
Procesory architektury NetBurst, stejně jako většina moderních procesorů kompatibilních s x86, jsou procesory CISC s jádrem RISC : před provedením jsou složité instrukce x86 převedeny na jednodušší sadu interních instrukcí (micro-ops), což umožňuje rychlejší zpracování příkazů. Vzhledem k tomu, že instrukce x86 mají proměnnou délku a nemají pevný formát, je jejich dekódování spojeno se značnými časovými náklady [4] .
V tomto ohledu bylo při vývoji architektury NetBurst rozhodnuto opustit tradiční mezipaměť instrukcí první úrovně, která ukládá instrukce x86, ve prospěch mezipaměti sekvencí mikrooperací, která ukládá sekvence mikrooperací v souladu s očekávaným pořadím jejich provedení. Kapacita mezipaměti trasování byla asi 12 tisíc mikrooperací. Tato organizace vyrovnávací paměti také umožnila zkrátit čas strávený prováděním podmíněných skoků a získáváním instrukcí.
( anglicky Rapid Execution Engine )
Protože hlavním cílem návrhu architektury NetBurst bylo zvýšení výkonu dosažením vysokých hodinových frekvencí, bylo nutné zvýšit rychlost provádění základních celočíselných operací. Pro dosažení tohoto cíle je ALU procesorů architektury NetBurst rozdělena do několika bloků: „pomalá ALU“ ( angl. slow ALU ), schopná provádět velké množství celočíselných operací, a dvě „rychlé ALU“ ( angl. 2X ALU ), provádějící pouze ty nejjednodušší celočíselné operace (např. sčítání). Provádění operací na "rychlých ALU" probíhá postupně ve třech fázích: nejprve se vypočtou nejméně významné číslice výsledku, poté nejvýznamnější, po kterých lze získat příznaky.
„Rychlé ALU“, jejich plánovače ( ang. Fast scheduler ), stejně jako soubor registru ( ang. Integer register file ) jsou synchronizovány v polovině cyklu procesoru, takže efektivní frekvence jejich provozu je dvojnásobkem frekvence jádra. Tyto bloky tvoří mechanismus pro zrychlené provádění celočíselných operací.
V procesorech založených na jádrech Willamette a Norhtwood mohou „rychlé ALU“ provádět pouze operace, které zpracovávají operandy ve směru od nižších bitů k vyšším. V tomto případě lze výsledek výpočtu nejméně významných číslic získat po polovině cyklu. Efektivní zpoždění je tedy polovina cyklu. V procesorech založených na jádrech Willamette a Norhtwood neexistují bloky násobení a posunu celých čísel a tyto operace provádějí jiné bloky (zejména instrukční blok MMX ).
Procesory na bázi Prescott (stejně jako novější jádra) mají jednotku násobení celých čísel a „rychlé ALU“ jsou schopné provádět operace posunu. Efektivní latence operací prováděných „rychlými ALU“ se ve srovnání s procesory založenými na jádře Norhtwood zvýšila a činí jeden takt [5] .
Hlavním úkolem plánovačů mikrooperací je určit připravenost mikrooperací k provedení a převést je do potrubí. Vzhledem k velkému počtu připravovaných fází jsou plánovači nuceni posílat mikro-operace prováděcím jednotkám před dokončením předchozích mikro-operací. To zajišťuje optimální zatížení prováděcích jednotek procesoru a zamezuje ztrátě výkonu, pokud jsou data potřebná k provedení mikrooperace v mezipaměti první úrovně, souboru registrů nebo mohou být přenesena obcházením souboru registrů.
Při určování připravenosti nových mikrooperací k převodu do prováděcích jednotek potřebuje plánovač určit dobu provádění těch předchozích mikrooperací, jejichž výsledkem jsou data nezbytná pro provedení nových mikrooperací. V případě, že doba provádění není předem určena, použije plánovač k jejímu určení nejkratší dobu provádění (např. je-li potřeba načíst data z paměti pro provedení nějaké mikrooperace, plánovač při průchodu touto mikrooperací do potrubí, bude vycházet z předpokladu, že nezbytná data se nacházejí v datové mezipaměti L1 a budou načtena v počtu cyklů rovnajícím se součtu latence mezipaměti L1 a počtu cyklů potřebných k přenosu mikro- op z plánovače do prováděcí jednotky).
Pokud je odhad času potřebného k získání dat správný, mikrooperace je úspěšná. V případě, že data nebyla přijata včas, končí ověření správnosti výsledku neúspěchem. V tomto případě je mikrooperace, jejíž výsledek se ukázal jako nesprávný, umístěna do speciální fronty ( anglicky replay queue ) a poté znovu odeslána plánovačem k provedení.
Existují nepříznivé situace, kdy opětovné provedení mikrooperací může vést k uváznutí . Cestou z takových situací je zastavení přenosu nových mikrooperací do prováděcích jednotek a odeslání znovu provedených mikrooperací do speciální vyrovnávací paměti, aby mohly uvolnit potrubí.
Navzdory tomu, že opakované provádění mikrooperací vede k výrazným ztrátám výkonu, použití tohoto mechanismu umožňuje v případě chybného provedení mikrooperací vyhnout se zastavení a přenastavení potrubí, které by vedlo k vážnějším ztrátám.
Hlavní výhodou procesorů architektury NetBurst je schopnost pracovat při vysokých taktech. To vám umožní dosáhnout vysokého výkonu při optimalizovaných úlohách a kompenzovat nízkou specifickou produktivitu. Vysoká rychlost hodin má navíc marketingovou výhodu: spotřebitelé mají tendenci vybírat procesory s vyšší rychlostí („ koupit megahertz “). Mezi výhody procesorů architektury NetBurst patří také velká propustnost paměti [7] .
Podpora technologie HyperThreading některými procesory architektury NetBurst umožnila zvýšit výkon v úlohách podporujících multiprocessing , ale existují některé úlohy, u kterých může dojít ke snížení výkonu [6] [8] .
Díky úspěšné marketingové a reklamní politice společnosti Intel byly mezi uživateli oblíbené procesory s architekturou NetBurst, což společnosti Intel umožnilo udržet si významný podíl na trhu mikroprocesorů (více než 70 %) a dosáhnout zisku, na rozdíl od svého hlavního konkurenta AMD [9 ] [10] .
Hlavní nevýhodou dlouhého kanálu je snížení specifického výkonu ve srovnání s krátkým kanálem (méně instrukcí se provede za cyklus), stejně jako vážné ztráty výkonu, když jsou instrukce provedeny nesprávně (například s nesprávně předpovězenou podmíněnou větví nebo mezipamětí). slečna) [1] [6 ] . Takže například procesor Pentium 4 s frekvencí 1700 MHz v úlohách neoptimalizovaných pro architekturu NetBurst byl horší než procesory s frekvencí 1333 MHz [11] .
Kromě toho byl provoz procesorů na vysokých frekvencích spojen s vysokým odvodem tepla . Přestože byly procesory Cedar Mill schopny pracovat na frekvencích přesahujících 7 GHz za použití extrémního chlazení (obvykle se používala sklenice tekutého dusíku), maximální takt procesorů Pentium 4 byl 3800 MHz. V tomto případě typický odvod tepla přesáhl 100 W a maximum - 150 W [12] [13] [14] .
Vzhledem k nemožnosti dalšího zvýšení taktovací frekvence byl Intel nucen nabídnout jiný způsob zvýšení výkonu. Tímto způsobem došlo k přechodu od jednojádrových procesorů k vícejádrovým.
Dvoujádrové procesory NetBurst architektury pro stolní počítače ( Pentium D ) byly dvě jádra Prescott (procesory založené na Smithfieldu) na stejné matrici nebo Cedar Mill (Presler) ve stejném balíčku (v podstatě dva samostatné procesory ve stejném balíčku). Vzhledem k tomu, že procesory architektury NetBurst byly původně navrženy jako jednojádrové, výměna dat mezi jádry probíhala prostřednictvím RAM , což vedlo ke ztrátám výkonu (pro srovnání, konkurenční procesory Athlon 64 X2 byly navrženy s ohledem na vícejádrové, proto mají speciální blok, který umožňuje výměnu dat s obcházením RAM [15] ) [16] .
Procesory architektury NetBurst se skládají ze čtyř hlavních stavebních bloků:
Mezi výkonná zařízení patří:
V procesorech založených na jádře Prescott a novějších obdržela procesorová jednotka s pohyblivou řádovou čárkou podporu pro instrukce SSE3 .
Provádění mimo pořadí umožňuje urychlit práci změnou pořadí provádění mikrooperací v případech, kdy tato změna nepovede ke změně výsledku. Mimořádná exekuční ujednání zahrnují:
Mezi vstupní zařízení patří:
Paměťové rozhraní spolupracuje s RAM. Tento blok zahrnuje:
Některé procesory také obsahovaly 2, 4 nebo 8 MB L3 cache .
Dopravník se skládá z 20 stupňů:
Provedení instrukce začíná jejím načtením a dekódováním. V případě, že odpovídající sekvence mikrooperací není v mezipaměti sekvencí mikrooperací, je instrukce načtena z mezipaměti druhé úrovně a dekódována. Protože instrukce uložené ve vyrovnávací paměti mají fyzické adresy, převádí jednotka překladu adres virtuální adresu na fyzickou adresu pro vyzvednutí.
Mikrooperace získané jako výsledek dekódování jsou umístěny do mezipaměti mikrooperačních sekvencí. V případě, že je zjištěna podmíněná instrukce větvení, je sekvence mikrooperací vytvořena na základě predikce větvení prováděné odpovídajícím blokem . Pokud nelze instrukci převést na sekvenci až čtyř mikrooperací, je nahrazena podprogramem uloženým v mikrokódu ROM a tvořící takové sekvence. V cache sekvencí se přitom neukládají samotné mikrooperace, ale adresa tohoto podprogramu. Mikrooperace uložené v mezipaměti sekvencí jsou umístěny do fronty mikrooperací.
Poté, co je procesor připraven k provádění mikrooperací (rezervace zdrojů, přejmenování registrů), jsou umístěny do front odpovídajících jejich typům: mikrooperace, které interagují s pamětí, jsou umístěny do samostatné fronty o délce 16 mikroprocesorů -ops a všechny ostatní jsou umístěny do společné fronty (32 mikro-ops). Po určení pořadí provádění mikro-ops (pořadí lze změnit v závislosti na připravenosti dat pro provádění mikro-ops, dostupnosti znovu spustitelných instrukcí, dostupnosti volných výpočetních zdrojů atd.) odesílají plánovače mikro-ops pro provádění do příslušných prováděcích jednotek: mikrooperace, které interagují s pamětí, jsou odesílány do bloků generování adres, operace s celými čísly jsou odesílány do bloků ALU a operace s reálnými čísly jsou odesílány do bloků zpracování s pohyblivou řádovou čárkou. V tomto případě jsou operandy potřebné k provedení mikrooperací buď načteny ze souboru registru nebo přeneseny jako výsledek předchozího mikrooperace. Po provedení mikrooperací se vygenerují příznaky a zkontroluje se správnost výsledků. Pokud jsou výsledky správné, mikrooperace se zruší a výsledky se uloží do souboru registru. Pokud jsou výsledky mikrooperace nesprávné (např. přechod byl špatně předpovězen nebo nebyla včas přijata potřebná data), je tato mikrooperace odeslána k opětovnému provedení [4] [17] .
procesor | Jádro | Produkční technologie | Roky vydání |
---|---|---|---|
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) |
---|
Oficiální informace
Charakteristika procesorů architektury NetBurst
Přehledy procesorů a popisy architektury
procesory Intel | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||
|