Kódový název: Thunderbird (1/3)
Když v loňském roce společnost AMD uvedla první procesor Athlon, byla to pro mnoho z nás velmi vzrušující událost. Tento článek vám přináší recenzi další generace tohoto procesoru, nyní už interně vybaveného pamětí L2 cache.
Sídlo vedení společnosti AMD
Uvedením 0.25-mikronového procesoru K6 a následně K6-2 spustila AMD svůj agresivní business-plán. Společnost perfektně dosáhla svůj výkonnostní cíl a uvedením 1GHz procesoru Athlon dosáhla obrovský úspěch. Teď přichází čas podívat se jak AMD dokázala svůj triumfální produkt inovovat a udržet si tak místo na výslunní trhu s výpočetní technikou.
Kódový název: Thunderbird
Nás samozřejmě zajímá, jak je nový člen rodiny procesorů Athlon dobrý. Athlon s kódovým názvem Thunderbird, s integrovanou on-die cache pamětí slibuje lepší výkony, vyšší taktovací frekvence a nižší ceny. Splňuje ve skutečnosti tato očekávání ...?
Povahou dravec
Starší 0.25 a 0.18 mikronové Athlony používají cache paměť typu off-die (umístěnou mimo chip) běžící na poloviční, v horším případě dvou pětinové nebo v nejhorším případě dokonce třetinové frekvenci procesoru. Tato cache funguje jako buffer (řekněme mezisklad) mezi procesorem a mnohem pomalejší hlavní pamětí. Většina hlavních pamětí dnešních systémů pracuje na frekvenci 100 nebo 133MHz - zatímco procesory již dosáhly rychlosti 1000MHz. Tato disproporce si vynucuje používání rychlé vyrovnávací paměti, která se handicap pomalé paměti snaží vyrovnat.
Až dosud byly procesory Athlon vybaveny 512kB paměti L2 cache pracující většinou na frekvenci kolem 350MHz. Od 600 a 700MHz Athlonů se používá 1/2 dělič frekvence, cache tak běží na 300 resp. 350MHz. Je tu ovšem omezení: jedná se o externí paměť realizovanou SRAM chipy, které těžko mohou spolehlivě fungovat na frekvencích výrazně vyšších než 400MHz. Co se ale stane, když bude jádro procesoru taktováno na 750 nebo 800MHz? Při 750MHz jádru a dělení 1/2 by cache běžela na 375MHz, což je pro používané SRAMy příliš. Výsledkem je, že tyto chipy dělí frekvenci jádra koeficientem 2/5 a cache běží jen na 40% frekvence procesoru.
Vyřešili to změnou dělícího koeficientu, tak o co jde? Jde o to, že úsilí o dosažení co nejvyšší rychlosti procesoru je degradováno vlastně stále pomalejší pamětí cache, která snižuje výkonnost celého systému. U 1GHz Athlonu by při použití dělícího faktoru 1/3 běžela L2 cache na frekvenci pouhých 333MHz. Považovali byste takový 1GHz procesor opravdu za výkonný?
Kudy vchází Thunderbird
Nové jádro Thunderbird firmy AMD integruje 256kB paměti L2 cache běžící na plné rychlosti procesoru. Přesunutí cache z PCB přímo na chip umožnilo taktovat tuto paměť stejně jako jádro procesoru - u 1GHz Athlonu běží L2 cache na frekvenci 1GHz. Cache je sice značně menší, ale její rychlost úctyhodně vzrostla. Vedle zvýšení rychlosti přináší Thunderbird ještě další modifikace paměti cache.
V první řadě, přístup k datům v paměti L2 cache trvá mnohem kratší dobu (přístupovou dobu nebo-li latenci). Podle AMD bude L2 latence procesoru Thunderbird 11 cyklů. U Athlonu s poloviční frekvencí to pro srovnání bylo 21 cyklů. To nás přivádí k otázce zdržení spojeného s pamětí L1 cache - skutečná latence L2 cache nám pak vychází 8 resp. 18 cyklů. Nedá se nic dělat, přístup k L2 cache paměti bez tří cyklů, které spotřebuje přístup k paměti L1 cache není možný.
Všechny dosud vyrobené Athlony jsou vybaveny 3 cyklovou 128kB velkou L1 cache pamětí harwardského typu, která se skládá ze dvou samostatných 64kB pamětí cache: jednou instrukční (I-CACHE) a jednou datovou (D-CACHE). Tato L1 cache je podstatně větší než L1 cache procesorů Pentium III (32kB) nebo K6 (64kB). Dívejte se na to tak, že pokud je možné získat data z L1 cache, pak k tomu potřebujeme jen 3 cykly. Jinak je třeba číst z L2 cache, což nás bude v případě procesoru Thunderbird stát dalších 8 cyklů (18 cyklů u dosavadních "klasických" Athlonů). Proto se AMD snaží zvětšováním paměti L1 cache zvýšit i pravděpodobnost, že software požadovaná data najde hned v L1.
V situaci, kdy požadovaná dat nejsou v L1 cache nalezena, je u klasických Athlonů navíc pravděpodobné, že procesor bude v L2 cache paměti znovu prohledávat stejná data jako v L1 cache. Jádro K7/K75 totiž používá takzvanou inkluzivní cache, u které jsou data z L1 cache paměti zároveň uložena i v L2 cache. A tak 128kB L1 + 512kB L2 = 512kB celkem. Zajímavá matematika ...
Thunderbird tuto matematickou anomálii řeší použitím exkluzivní paměti cache. Data uložená v L1 zde nejsou duplicitně zapisována i do L2 a tak 128kB L1 + 256kB L2 = 384kB celkem. Zatím, co přidání 256kB on-die cache paměti vedlo ke zvětšení chipu ze 102 na 120mm2, zvětšení celkové efektivní cache paměti o 128kB díky použití exkluzivního typu je v tomto ohledu zcela "zdarma".
Rychlost přístupu k paměti cache je částečně pohlcena další změnou, kterou je zvýšení asociativy cache paměti ze 2 na 16. Jednoduše řečeno - nemůžete zaručit, že to, co je v L1 nebude v L2, dokud nevíte, co už v L1 je.
Intel integroval do procesoru Coppermine Pentium III 256kB paměti L2 cache. I když je chip stále vybaven jen směšně malou 32kB L1 cache pamětí, u L2 cache procesoru Coppermine žádný důvod k posmívání nenajdete. S latencí 7 cyklů (včetně 3 cyklů L1) je Coppermine cache pravděpodobně nejrychlejší cache pamětí mezi všemi x86 procesory.Architektura této cache je mnohem jednodušší než u Thunderbirdu - jedná se o inkluzivní cache s asociativitou 8. Je zřejmé, že AMD dokázala pro svůj procesor získat z cache pamětí mnohem větší profit.
Benchmarky
Který design tedy vítězí? Jak rychlá je L2 cache procesorů Coppermine a o kolik lepší je cache procesoru Thunderbird ve srovnání s cache pamětí klasických Athlonů? Začněme benchmarkem Linpack, který výborně ilustruje výkonnost hlavní a cache paměti.
Všimněte si, jak výkonnost jednotlivých procesorů výrazně klesá s rostoucí hlavní pamětí. Hlavní paměť se stala úzkým místem dnešních systémů a L1 a L2 cache byla navržena právě proto, aby toto úzké místo překonala. Dokud je její velikost úměrná velikosti hlavní paměti, potud svou práci, jak je vidět, odvádí skutečně dobře.
Křivky Thunderbirdu a klasického Athlonu zpočátku prudce stoupají a svého vrcholu dosahují ještě před tím, než hlavní paměť dosáhne velikosti 64kB - tedy velikosti L1 cache. Potom výkonnost u Thunderbirdu mírně klesá až k bodu 337kB, což je celková efektivní velikost L1 + L2 cache. V tomto okamžiku začíná křivka výrazně klesat až k 64kB, odkud už je víceméně konstantní.
Je zajímavé, že křivka Pentia III dosahuje svého vrcholu mnohem později než u Athlonů. Jedná se o vliv velmi malé 32kB L1 cache paměti, která umožňuje uložení pouhých 16kB dat. Na druhou stranu, výkonu systému silně pomáhá velmi rychlá L2 cache, díky níž se Pentium III dostává v oblasti od 126kB do 256kB dokonce nad křivku Athlonu.
Procesor Celeron pak vykazoval křivku velmi podobnou křivce Pentia III, což je odrazem toho, že oba procesory jsou vystavěny na stejném jádře.
Všechny testy proběhly na chipsetech VIA (KT133/KX133 u Athlonů a Apollo Pro 133A u Pentia III 733EB) s výjimkou Celeronu (chipset 440BX) a samozřejmě UltraSPARCu. Všechna PC byla vybavena 256MB paměti PC133 CAS2 SDRAM a všechny benchmarky proběhly pod operačním systémem Windows 98.
<<<ZPĚT DALŠÍ>>>