VYSOKÁ ŠKOLA BÁŇSKÁ – TECHNICKÁ UNIVERZITA OSTRAVA
Vývoj architektury vícejádrových procesorů Pokročilé architektury počítačů Petr Zajíc (zaj104), Jan Smuda (smu034) 11.12.2009
Historie a vývoj vícejádrových procesorů CPU (Central Processing Unit) neboli procesor je základním stavebním kamenem a mozkem každého počítače. Procesor je téměř vždy elektronický integrovaný obvod, složený z velkého množství součástek, především tranzistorů. Každý procesor obsahuje několik jednotek, podle toho o jaký typ a architekturu procesoru se jedná. Především jsou to ALU (aritmeticko logická jednotka), registry, řadič, jednotky pro práci s plovoucí řádovou čárkou atd. Dnešní procesory obsahují také řadu jiných funkčních bloků jako paměť cache a další periferie, které nejsou součástí jádra procesoru, ale jsou obvykle integrovány na stejném čipu. Už od prvních mikroprocesorů je snaha výrobců zvýšit jejich výkon. S každou další generací mikroprocesorů už od dob 8086 je vidět nárůst frekvence procesoru. Fyzická velikost čipu se zmenšuje, zatímco počet součástek (tranzistorů) se zvyšuje. Pro navýšení výpočetního výkonu jednočipových mikroprocesorů bylo vyvinuto mnoho technologií, mezi které patří například superskalární procesory, techniky predikce skoku a plánování instrukcí. Nicméně zvyšování výkonu pouhým zvýšením frekvence a přidáváním rychlých pamětí nestačí. Procesory začínají narážet na své fyzické omezení (velikost výrobního procesu, vyzařovaná teplota, spotřeba energie) a proto se přední výrobci procesorů obrátili právě na technologii více jádrových procesorů. Více jádrový procesor se skládá ze dvou nebo více nezávislých jader a logiky umožňující propojení komunikaci mezi jádry. Tyto jádra jsou obvykle zasazena do jediného integrovaného obvodu. Pomocí integrace většího počtu jednodušších jader je možné dosáhnout mnohem vyššího výpočetního výkonu při stejné výrobní technologii na stejné ploše křemíku, než když použijeme jediné složité jádro. Dvoujádrový procesor obsahuje dva nezávislé procesory. Všeobecně, vícejádrový mikroprocesor dovoluje vykonávat procesy a vlákna paralelně bez toho, aby počítač obsahoval více procesorů ve fyzicky oddělených socketech. Této skutečnosti mohou využít programy a vykonávat svůj kód paralelně. Pod běžně používanými operačními systémy se kód vykonává buď v oddělených vláknech, nebo procesech. Každá aplikace může tedy mít multithreading, ale ve většině případů musí být aplikace pro multithreading specificky napsaná. Blízkost více jader CPU na jednom čipu má tu výhodu, že paměť cache má mnohem vyšší rychlost, než když jsou spojené mimo čip, takže kombinace stejných procesorů na jednom čipu výrazně zlepšuje výkon cache snoop operací. Znamená to, že když mají signály mezi jednotlivými procesy menší vzdálenost, méně se degradují. Jelikož jsou tyto signály kvalitnější, dovolují posílat více dat za určitý časový interval. Jednotlivé signály potom mohou být kratší a nemusí se tak často opakovat. Jelikož se čip fyzicky vejde do jednoho pouzdra, design vícejádrového procesoru požaduje mnohem méně místa na desce plošných spojů než více čipové návrhy. Také dvoujádrový procesor spotřebuje méně energie než dva propojené jednojádrové procesory a to hlavně kvůli snížené energii potřebné pro směrování externích signálů do čipu a také proto, že menší výrobní technologie umožní jádrům pracovat při nižších napětích. Další výhodou je, že
jádra mohou sdílet L2 cache a propojení k FSB. Navíc může vícejádrový design využívat osvědčené jádra a vytvářet produkty s menší pravděpodobností chyb, než kdyby se vymýšlely jádra nové. Všeobecný trend ve vývoji procesorů je přechod z vícejádrových na mnohojádrové. Z dvou-, čtyř-,, osmijádrových čipů na čip s desítkami nebo dokonce stovkami jader. Navíc vícejádrové ví čipy spolu s paralelním multithreadingem nebo hyperthreadingem, cache pamětí a různými speciálními jádry slibují lepší výkon a efektivitu, obzvláště v multimediálních a síťových aplikacích. Nezanedbatelné jsou také menší energetické nároky a lepší lepší efektivita (kolik výkonu na watt).
Obrázek 1: Diagram obecného dvoujádrového procesoru se dvěma lokálními L1 cache a jednou sdílenou L2 cache
IBM POWER4 je superskalární mikroprocesor vyrobený firmou IBM (International Business Machine). Tento procesor byl uvolněn v roce 2001 a byl to vůbec první procesor, který integroval 2 jádra na jednom čipu. Byl vyráběn 90nm procesem. Původní POWER4 mikroprocesor pracoval na taktech 1.1 a 1.3 GHz a jeho pozdější verze POWER4+ zvedla frekvenci až na 1.9 GHz. Spotřeba tohoto procesoru se pohybovala kolem 115W. POWER4 implementoval 64 bitovou architekturu a instrukční sadu PowerPC AS. Superskalární architektury u tohoto procesoru je dosaženo 8 nezávislými výpočetními jednotkami. Mikroprocesor měl 2 jednotky pro práci s plovoucí řádovou čárkou, 2 jednotky pro operace s pamětí (load/store), 2 aritmeticko logické jednotky (fixed-point unit), branch unit a conditional-register unit. Tyto jednotky umožňovaly dokončit až 8 operací v jednom taktu. POWER5 - V roce 2003 uvolnilo IBM vylepšenou verzi POWER4 nazvanou POWER5 – Mezi základní vylepšení oproti POWER4 patřila implementace SMT (Simultaneous Multithreading) a integrace paměťového řadiče na obvodovou desku čipu. Původní POWER5 byl dvou jádrový procesor, který umožňoval zpracování dvou fyzických a čtyř logických vláken. POWER5 umožňoval i vypnutí SMT. Obvodové desky procesorů POWER5 byly dodávány jako DCM (Dual Chip Module) nebo MCM (Multi Chip Module). DCM obsahoval obvod POWER5 a obvod L3 Cache. MCM obsahoval čtyři POWER5 procesory a čtyři L3 Cache obvody. V roce 2005 následovalo opět vylepšení POWER5+, které mělo přinést menší energetické nároky. Takty procesoru zůstaly na svých 1.5 - 1.9 MHz. POWER5+ sebou také přineslo QCM (Quad Chip Modules), který obsahoval dva POWER5+ obvody a dvě L3 Cache.
MCM obsahující čtyři obvody POWER5 a čtyři 36 MB obvody L3 cache. POWER6 – uvolněn v roce 2006 mezi hlavní změny patřila implementace dvoucestnéhou simultánního multi-threadingu (SMT) a výroba 65nm procesem. Hlavní změnou oproti předchozí verzi POWER5 bylo, že procesor vykonával instrukce tzv. in-order namísto out-oforder. Jak verze POWER5+ tak POWER6 umožňovala použítí technologie ViVa (Virtual Vector Architecture), kdy se několi procesorů POWER zapojí do procesorového pole.
Intel Architektura NetBurst Intel Pentium D a Intel Pentium Extreme Edition
V roce 2005 firma Intel vypustila na trh první dvoujádrový procesor určený pro stolní počítače Intel Pentium D tento procesor nesl kódové označení ‘’Smithfield‘‘ a jeho drahší verzi Intel Pentium Extreme Edition “Smithfield XE”. Všechny Smithfieldy byly vyrobeny ze dvou jader Prescot, které se vyráběly 90nm procesem. Každé z jader mělo k dispozici 1MB L2 Cache. Pouze verze Extreme Edition 840 umožňovala Hyper-Threading. Díky tomu byly k dispozici dva fyzické a dva logické procesory. Procesory běžely na taktech 2.8, 3.0 a 3.2 GHz pro modely 820, 830 a 840. Žádný z procesorů rodiny Intel Pentium D nepodporoval virtualizaci. Procesory byly určeny do patice LGA 775. O devět měsícú později Intel uvolnil vylepšenou verzi “Presler” a “Presler XE“, který se skládal ze dvou jader Cedar Mill. Tyto jádra se vyráběly 65nm a měly k dispozici 2Mb L2 Cache. Všechny procesory této rodiny se vyznačovaly poměrně velkou spotřebou energie až 130W. Hyper-Threading – Technologie vyvinutá firmou Intel, založená na simultánním multithreadingu. Díky technologii Hyper-Threading vypadá jeden procesor jako dva logické, prostředky jsou sdíleny a stav architektury je duplikován. V praxi to znamená, že OS plánuje své procesy na logické procesory. Instrukce z obou logických jsou poté spouštěny zároveň na sdílených prostředcích. Tato technologie byla použita už u jedno jádrových procesorů.
Architektura Core Procesory architektury Core zpravidla nedosahují takových frekvencí jako procesory rodiny NerBurst kde byl primární cíl co nevyšší frekvence ale jejich výkon je vyšší. Oproti NetBurstu byla zkrácena pipeline. Procesory rodiny core disponují navíc například technologií MacroFusion, která umožňuje spojení dvou makroinstrukcí tak aby je bylo možno dekódovat najednou. Procesory podporují out-of-order zpracování instukcí. Jádra mají sdílenou L2 Cache a komunikují s vnější pamětí prostřednictvím FSB.
Architektura Intel Core Rodina procesorů Core Duo Core 2 Duo
Core 2 Extreme Core 2 Quad Core i3 Core i5 Core i7 Core i7 Extreme Edition Core i9
Desktop Kódové označení
Počet jader
Datum uvolnění
Conroe Allendale Wolfdale Conroe XE Kentsfield XE Yorkfield XE Kentsfield Yorkfield Clarkdale Lynnfield Clarkdale Bloomfield Lynnfield Bloomfield
dual (65 nm) dual (65 nm) dual (45 nm) dual (65 nm) quad (65 nm) quad (45 nm) quad (65 nm) quad (45 nm) dual (32 nm) quad (45 nm) dual (32 nm) quad (45 nm) quad (45 nm) quad (45 nm)
Aug 2006 Jan 2007 Jan 2008 Jul 2006 Nov 2006 Nov 2007 Jan 2007 Mar 2008 Q1 2010 Sep 2009 Q1 2010 Nov 2008 Sep 2009 Nov 2008
Gulftown
six (32 nm)
Q2 2010
Laptop Kódové označení Yonah Merom Penryn
dual (65 nm) dual (65 nm) dual (45 nm)
Datum uvolnění Jan 2006 Jul 2006 Jan 2008
Merom XE Penryn XE Penryn XE Penryn
dual (65 nm) dual (45 nm) quad (45 nm) quad (45 nm)
Jul 2007 Jan 2008 Aug 2008 Aug 2008
Arrandale
dual (32 nm)
Q1 2010
Clarksfield Arrandale Clarksfield
quad (45 nm) dual (32 nm) quad (45 nm)
Sep 2009 Q1 2010 Sep 2009
Tabulka - Přehled procesorů architektury Core a Nehalem (Wiki)
Počet Jader
Core Duo – Procesor Core Duo (kódové označení Yonah) se skládá ze dvou jader, 2MB L2 cache, která je sdílená mezi oběma jádry a sběrnice, která kontroluje přístup k L2 Cache a FSB. Tento procesor je primárně určen do přenosných zařízení. Tyto procesory umožňují vypnutí jednoho jádra, aby umožnily úsporu energie. Procesor je určen do patice Socket M. Spotřeba těchto procesorů se podle jeho typu pohybuje kolem 9 – 31W. Rodina procesorů Intel Core Solo využívá ten samý čip ale má aktivní pouze jedno jádro. Core 2 Duo (Extreme, Quad) – Druhá generace procesorů architektury Core oficiálně představená v roce 2006. Krom dvou jádrových procesorů (Duo), nabízí i verzi čtyř jádrových procesorů (Quad) a high-end modely (Extreme). Základní verze procesorů mají kódové označení Conroe (Merom pro notebooky). Kentsfield je čtyřjádro složené ze dvou Conroe a Peryn je 45nm Merom. Všechny tyto procesory jsou plně 64bitové a podporují technologie jako Intel 64, Virtualizaci (až na některé vyjímky), Execute Disable Bit, SSE3. Core 2 taktéž uvedl technologie jako SSSE3, Trusted Execution (LaGrande) Technology, Enhanced SpeedStep a Active Management Technology (iAMT2). Virtualizace – postupy a techniky, umožňující k dostupným zdrojům přistupovat jinak než fyzicky existují. Virtualizovat lze na různých úrovních (PC, procesor, paměť atd.). Execute Disable Bit – technologie umožňující rozlišit části operační paměti, které obsahují spustitelný kód od té, co obsahuje data. Zvyšuje bezpečnost systému. Enhanced SpeedStep – Technologie, která mění frekvenci procesoru v závislosti na jeho vytížení a tím snižuje mimo jiné spotřebu procesoru. Active Management Technology (iAMT2). - Tato technologie umožní IT manažerům dálkový přístup ke každému systému v síti a to včetně těch, jejichž operační systém či pevný disk je právě mimo provoz nebo jsou vypnuty.
Architektura Intel Atom Architektura procesorů určená především do mobilních internetových zařízení a netbooků. Největší důraz byl kladen na co nejnižší spotřebu energie a zároveň zachování výkonu dostatečného pro provozování kancelářských aplikací a internetu. Jsou to procesory s úplnou instrukční sadou a s in-order technologií zpracování instrukcí. Atom dokáže zpracovávat dvě instrukce najednou. Je to superskalární procesor s poměrně malým počtem jednotek. Podporuje Hyper Threading. Jediným více jádrovým zástupcem z rodiny Atom je procesor s kódovým označením Diamondville vydaný v září 2008. Tento procesor je dvou jádrový a je vyráběn 45nm výrobním procesem. Jeho spotřeba je pouhých 8W.
Architektura Nehalem Architektura Nehalem je nástupcem architektury Core a poprvé byla uvedena v roce 2008. Hlavním cílem Intelu bylo vytvořit škálovatelný procesor, který by se dal sestavit z jednotlivých stavebních bloků tak, aby se dal výsledný produkt zaměřit na všechny segmenty trhu. Při koupi procesoru dnes už nehraje roli jen výkon ale například také jeho spotřeba, která v předchozích verzích poměrně dost rostla a tak byl další z cílů snížit energetické požadavky. Výrobní procesy, kterými se budou vyrábět procesory této rodiny, jsou (budou) 45nm a 32nm. Mezi významné změny v této architektuře patří například: Full-duplexní QPI (Quick Path Interface) je technologie nahrazující zastaralou FSB sběrnici a umožňující vysokorychlostní (asi 26GB/s) komunikaci s komponentami jako čipset nebo grafická karta.
Integrovaný řadič pamětí (AMD používá asi od roku 2003) přinese snížení latencí a zvýšení efektivity komunikace s pamětí. Každý procesor tak bude mít vlastní paměťový řadič a rychlost komunikace procesor paměť bude asi 32GB/s. Enhanced Intel Virtualization Technology by měla být inovovaná vizualizační technologie umožňující až o 25%-75% rychlejší přepínání mezi virtuálními stroji. Enhanced SpeedStep – technika používaná k úspoře energie snížením taktu a použitého napájecího napětí. Clock Gating – Vypínání neaktivních oblastí procesoru a nově u Nehalemu i Power Gating – odpojení neaktivních částí procesoru od energie, zcela umožňuje odpojit neaktivní jádro.
Turbo Mode – Technologie, která umožní taktovat zatížené jádro nad jeho nominální hodnotu.
AMD Architektura Athlon 64 X2 Athlon 64 X2 byl prvním dvoujádrovým procesorem od AMD. Jedná se vlastně o procesor, který se skládá ze dvou jader AMD Athlon 64. Jádra sdílí jeden eden dvoukanálový řadič paměti, paměti jsou založena na E-řadě E Athlonu 64 a v závislosti na konkrétním modelu mají 512 nebo 1024 KB L2 cache pro každé jádro. Athlon 64 X2 je schopen vykonávat SSE3 instrukce. instrukce
Zástupci: Manchester (90nm) – podpora MMX, SSE, SSE2, SSE3, Enhanced 3DNow!, NX bit, AMD64, Cool‘n‘Quiet Toledo (90nm) – podpra MMX, SSE, SSE2, SSE3, Enhanced 3DNow!, NX bit, AMD64, Cool‘n‘Quiet Windsor (90nm) – podpora MMX, SSE, SSE2, SSE3, Enhanced 3DNow!, NX bit, AMD64, Cool'n'Quiet, AMD-V Windsor (Energy Efficient, 90nm) – podpora MMX, SSE, SSE2, SSE3, Enhanced 3DNow!, NX bit, AMD64, Cool'n'Quiet, AMD-V AMD Brisbane (Energy Efficient, 90nm) – podpora MMX, SSE, SSE2, SSE3, Enhanced 3DNow!, NX bit, AMD64, Cool'n'Quiet, AMD-V AMD
Architektura chitektura AMD Opteron Řada procesorů pro servery a pracovní stanice. Jako první tyto procesory implementovaly instrukční sadu AMD64 (obecně známá jako x86-64). x86 64). Opteron kombinuje dvě důležité vylepšení v jediném procesoru.
1. Nativní podpora 32bitových instrukcí x86 (bez ztráty výkonu) společně s nativní podporou 64bitových instrukcí x86-64 2. Možnost adresovat více než 4GiB RAM První schopnost je velmi důležitá pro úspěch nové platformy, protože konkurenční procesor Intel Itanium používá pro vykonávání 32bitových instrukcí emulaci, takže dochází k velké degradaci výkonu. Možnost adresace více než 4 GiB RAM, je klíčovým prvkem nové architektury v současné době, protože i běžně prodávané počítače na tuto hranici dosahují. Procesor Opteron obsahuje integrovaný řadič DDR (Socket 939)/DDR2 (Socket F) pamětí. Toto snižuje latence přístupu k operační paměti a zároveň na základní desce nemusí být přítomen severní můstek. V září 2007 byla vydána 3. generace Opteronu se čtyřmi jádry a v lednu 2009 pak 4. generace s šesti jádry. Zástupci: Dual-core -
Denmark (90 nm SOI, DDR) Italy (90 nm SOI, DDR)
-
Egypt (90 nm SOI, DDR) Santa Ana (90 nm SOI, DDR2) Santa Rosa (90 nm SOI, DDR2)
-
Quad-core -
Barcelona (65nm SOI) Budapest (65nm SOI) Shanghai (45nm SOI)
Six-core -
Istanbul (45nm SOI)
Architektura AMD Turion Procesory z řady Turion jsou 64bitové a energeticky méně náročné procesory a proto se hodí do notebooků a mobilních zařízení. AMD Turion 64 a AMD Turion 64 X2 jsou často srovnávány s mobilními procesory od společnosti Intel, hlavně s procesory Intel Core a Inter Core 2. Procesory jsou vybaveny vyrovnávací pamětí druhé úrovně o velikosti 512 nebo 1024 kB, 64 bitovým kanálem a 800 MHz HyperTransport sběrnicí.
Prvky šetřící baterii, jako PowerNow!, jsou základem marketingu a užitečnosti těchto procesorů. Zástupci: Turion 64 X2 – 64bitový dvoujádrový procesor pro mobilní platformy. Světlo světa spatřil v květnu 2006. Tyto procesory jsou vybaveny technologií AMD Virtualization Technology a jsou méně energeticnky náročné. Turion 64 X2 Ultra – Procesor pouze pro mobilní platformy. Založen na 65nm technologii. 2MB L2 cache, taktovací frekvence v rozsahu 2.0 GHz – 2.4 GHz. Turion II Ultra Turion II
AMD Phenom Tyto procesory spadají do architektury označené jako K10 a jsou určeny pro stolní počítače. Na trhu se objevily na konci roku 2007 jako nástupci procesorů Athlon. Na jednom kusu křemíku mohou být integrována až 4 jádra. Dvoujádrové Phenomy jsou označovány jako Kuma, čtyřjádrové jako Agena. Ve hře je také tříjádrová varianta „Toliman“, která má jedno ze čtyř jader vypnuto (pravděpodobně nejslabší nebo vadné). Každé jádro má 64 kB L1 cache pro data, 64kB L1 pro strojové instrukce a 512 kB společné L2 cache. Jádra sdílejí ještě L3 cache o velikosti 2 MB. Phenom obsahuje klasické rozšířující instrukce pro x86 od MMX po SSE3 a navíc speciální rozšíření SSE4A od AMD. Je vyráběn 65 nm technologií.