Referát (pokročilé architektury počítačů) Představení architektury procesoru AMD K10 Roman Výtisk, VYT027 1
AMD K8 Nejprve bych zmínil, co této architektuře předcházelo a co tato architektura přinesla nového. Ohlášení x86-64 architektury firmou AMD se událo 5. října 1999 v Sunnyvale v Kalifornii. Procesory označované jako K8 přinesly instrukční sadu x86-64 a LDT(Lightning Data Transport) sběrnici. Později byly tyto procesory označované jako AMD64 a LDT sběrnice dostala oficiální jméno HyperTransport sběrnici. První K8 procesor byl představen v roce 2001, kdy společnost AMD předvedla své první vzorky. Tehdy ještě na frekvenci pouhých 800 MHz. Uvedení architektury K8 bylo původně naplánované na konec roku 2001, ale tím, že byly první vzorky uvedeny později, nabrala dalšího zpoždění. Z důvodu nízké výtěžnosti, (problémy se SOI, implementací mezispojů) a nemožnosti dosáhnout dostatečné frekvence, tak došlo k uvedení až v roce 2003. V dubnu pro Opterony a v září pro Athlony 64. Aneb kde to všechno začalo, jádro "Hammer" a schéma jednotlivých částí čipu - 130 nm SOI výrobní technologie a 9 vrstev měděných mezispojů na ploše 194 mm2 AMD64 a architektura AMD K8 přinesly kromě 64-bit instrukční sady, hlavně IMC (Integrated Memory Contriller) neboli integrovaný řadič paměti a HyperTransport sběrnice, která nahradila FSB (Front Side Bus). Samozřejmostí jsou i úpravy jádra, přibylo více registrů a zůstala zachována kompatibilita s x86. V dubnu roku 2005 byly uvedeny dvoujádrové Opterony, později následovaly dvoujádrové Athlony 64 X2. Postupem času docházelo k několika revizím těchto procesorů, došlo několikrát ke změně výrobní technologie a její miniaturizaci. Od původně vyrobených K8 pomocí 130 nm SOI výrobní technologie, přes několik revizí procesorů až po nynější, dříve velice nepravděpodobné 3.2 GHz pro dvoujádrové procesory. V současnosti jsou pomocí 2
65 nm SOI výrobní technologie produkovány zejména pomalejší dvoujádrové Athlony a také nově K10. Po změně socketu od 754 a 940 pro Athlony FX a Opterony, přes socket 939 s již dvoukanálovým řadičem paměti, až po současné platformy pro DDR2 paměti, socket AM2 a socket F (socket 1207 pro 2P+ stanice), se AMD snažilo držet možnou podporu pro další generace procesorů. Bohužel stejně jako všechno i architektury procesorů stárnou. Naštěstí zanedlouho přišly procesory založené na nové architektuře AMD K10. AMD K10 První zmínky o této architektuře, která byla dříve pojmenována jako K8L se v médiích objevovala dlouhou dobu. První Barcelona (kódové označení) v revizi B0 pochází z prosince roku 2006. Do současnosti již prošla třemi revizemi. B1 přišla na řadu v březnu roku 2007 následována jádrem s revizí B2, která byla vydána v červnu roku 2007. V této revizi se už podařilo většinu potíží vyřešit. Čtyřjádro "Barcelona" a schéma jednotlivých částí čipu, 65 nm SOI výrobní technologie a 11 vrstev měděných mezispojů, 463 milionů tranzistorů na ploše 285 mm2 -pro šetření energií má nová Barcelona 6 frekvenčně nezávislých PLL (Phase-Locked Loop) smyček a 5 senzorů pro snímání teploty jádra. 3
Barcelona je také největší komerčně uvedený čip od AMD a již na první pohled se jedná o pořádný kus křemíku nativní čtyřjádro s rozměry 283 mm 2 vyrobené 65 nm SOI technologii s 11 vrstvami měděných mezispojů s použitím řady dalších pokročilých technik(ssoi nebo SiGe). Změny, které architektura K10 přinesla. Barcelona přináší načítání dat mimo pořadí, nezávislé kanály operační paměti, 128-bit FPU, vyšší frekvence pro severní můstek, snížení latencí díky L3 cache a řadu dalších úprav architektury. Nezávislé kanály DRAM a 2 MB L3 cahe pomohou výrazně škálovatelnosti K10 v aplikacích náročných na propustnost. Jádro bylo uděláno tak, aby mohly byt prováděny další možné úpravy architektury a zejména navýšeni L3 cache. Přibylo také několik nových instrukcí. Podstatné změny jsou v jádře i na úrovni Virtualizace. Hlavní změny se týkají efektivity Virtualizace a změny kontextu v případě jeho přepínání. Zde vstupuje do hry NP (Nested Paging), kde jsou "hlídány" data pro virtuální stroje a Hypervisor (program, který obsluhuje více naráz běžících OS) má tak podstatně ulehčenou práci - což zvyšuje výkon. 4
Blokové schéma procesorů z rodiny 10h od AMD Struktura cache AMD K10 Výrazné jsou změny v architektuře cache. Tou nejpodstatnější je to, že z paměti jsou data načítána rovnou do L1 cache. L2 cache je nesdílná a dedikovaná vždy pouze konkrétnímu jádru spolu s L3 slouží jako takové odložiště dat, které zrovna nejsou potřeba. L3 cache je sdílená pro všechna jádra a počítá se snadnou rozšířitelností. L1 cache Je výpočetním jednotkám nejblíže, a tím pádem je nejrychlejší. Slouží k uchování aktuálně kritických dat. Rozděluje se na instrukční a datovou a obě mají 64 KB. U K10 jsou data vždy načítána přímo do L1 (obvykle jsou data L1 cache získávaná přes L2, do které jsou data načítána z RAM). Tím je zaručen nejvyšší možný výkon. V případě načítání dat, ale přináší i jisté nedostatky. L1 má nízkou kapacitu, a tak je zde důležitá kvalita správce cache. Přístupová doba 3 cykly. L2 cache Je určena vždy konkrétnímu jádru. Jedná se prakticky o cache, která slouží k přelévání dat mezi L1 a L2 a zpět. Při přenosu dat z L2 do L1 jsou data z L2 smazána, což zabraňuje duplicitám a L2 tak slouží jako přechodný zásobník L1.Tím, že je L2 nesdílná, nemůže dojít k zaplnění daty jiného jádra. Je zde ale i nedostatek. V případě, že jádro potřebuje více místa, než je aktuálně v L2 k dispozici, není snadné získat místo pro další data. Přístupová doba je 12 cyklů. 5
L3 cache Jedná se o paměť, která je sdílená mezi všechna jádra a rozšiřitelná v případě potřeby. Poskytuje několik výhod. Jestli-že potřebuje nějaké jádro více místa pro data, lze tuto cache použít. Je zde možnost, aby sdílená data mohla mít v L3 jednu společnou kopii. Je to vhodné například pro multimediální aplikace. L3 nemusí vždy data načtená do L1 smazat, ale zde záleží na tom, jestli další jádra data ještě používají. L3 není plněna z paměti, ale z L1 a slouží k uchování dat přetečených z L2. 6
IMC Integrovaný řadič paměti má zde nezastupitelné místo. Dva nezávislé 64-bitové kanály a nízké latence přináší výkon zejména v případě vícevláknových aplikací a u sofware, který je náročný na propustnost. K10 může v jednu chvíli data číst i zapisovat. HyperTransport sběrnice HyperTransport 3.0 frekvence až 2600 MHz, vyšší výkon a propustnost. Umí pracovat jak v 16- bitovém režimu, tak být rozdělena na dva 8-bitové linky. Lze ji překonfigurovat za provozu. Hodí se to hlavně pro multiprocesorové prostředí, kdy jsou třeba co nejnižší latence a je tak možné spojit více socketu. 7
Použitá literatura: http://www.svethardware.cz http://cs.wikipedia.org/wiki/amd_k10 8