Na velikosti záleží - cache

Není to tak dlouho, kdy Intel uváděl Celeron odvozený od Pentia 4. Ten je, narozdíl od dřívějších zvyklostí, založen na dnes zastaralém 0,18 mikronovém jádře Willamette. Co naopak z tradic zůstalo, je vypnutá polovina cache. A tématem tohoto článku není nic jiného, než co to udělá s výkonem. Nový Celeron je porovnán s oběma procesory Pentium 4.
Kapitoly článku

Cache

Již mnoho desítek let se do procesorů integruje cache, velmi rychlá paměť typu SRAM. Nejdříve přišla cache první úrovně, dnes je běžná i cache druhé úrovně a objevují se i procesory s gigantickou cache třetí úrovně (Itanium 2 se 3MB atp.). A co že ta cache dělá? Nic jiného než že urychluje přístup k datům.

Podíváte-li se na tento test latence cache na procesoru Willamette...

... jistě vám neunikne, že počet cyklů potřebných k přístupu k jednotlivým datům je značně rozdílný podle umístění dat. Při uvážení, že Willamette má L1 datovou cache o velikosti 8 kByte a k tomu 256 kByte L2 unifikované cache, začíná být vše již srozumitelnější. Všimněte si, že při přístupu do prvních 8 kByte je latence cache perfektních 1T nebo stále vynikajících 2T (T = hodinový cyklus, 1 Hz). Zato při přístupu do dalšího bloku o velikosti 256 kByte se latence zvýší až na hodnoty kolem 20 cyklů. Pro srovnání - Athlon má přístup k prvním 64 kByte za 4T, do dalších 256 kByte se drží na hodnotách kolem 20T.

Jednoznačně nejhorší situace ovšem nastává při přístupu nad 256 kByte, tj. tam, kde už není cache a kde se data načítají přímo z operační paměti. Tady už se latence počítá v desítkách hodinových cyklů a ještě ke všemu je samotná paměť extrémně pomalá. Například při čtení čtyř kByte je potřeba přes 320 hodinových cyklů! Tato hodnota je přímo úměrná frekvenci procesoru. Výše naměřené údaje pochází z 2 GHz Pentia 4, při 1,4 GHz je to "jen" 257 cyklů. To je logické, frekvence pamětí, jejich latence ani latence řadiče pamětí a latence FSB se s rostoucí frekvencí procesoru nemění.

Ale co latence znamená v reálu? Zhruba tolik, že procesor nepočítá. Docela drastické, že ano? Je obecně známé, že procesor musí počítat s daty a tyto data ukládá do registrů. Ty jsou extrémně rychlé, pracují na plné frekvenci jádra s latencí 1T, umí rotovat, v některých případech pojmout i více než jedny data (SIMD operace). Jenže je jich málo. Kdyby neexistovala cache, procesor většinu času stráví tím, že bude čekat na nahrání dat z paměti do registrů. Kdyby se mělo čekat padesát cyklů na data a pak s nimi počítat dva cykly, nebylo by to právě efektivní. Kdejaká 386ka by byla rychlejší.

Velikost a organizace

Z výše uvedené charakteristiky vyplývá, že k čím větší množství dat je v cache, tím pravděpodobnější je, že procesor bude víc počítat než čekat.

Stejně tak je důležité, jakou latenci cache má. Čím nižší, tím lepší. Jestliže si vzpomínáte na výkonnostní rozdíl mezi Pentiem III Katmai s externími moduly cache a Pentiem III Coppermine s cache integrovanou do čipu, byla to právě latence, která zvýšila výkon o zhruba 10%. Minoritní úlohu v tomto zvýšení výkonu sehrálo i zvětšení datové šířky mezi L1 a L2 na 256 bitů z původních 64 bitů. To má ale vliv pouze při přenosu datových bloků větších než 64 bitů, což je dnes pouze 80 bit floating point, SIMD operace a data prefetch. Jelikož se 80 bit floating point čísla až tak často nepoužívají kvůli dopadu na výkon (FSB má datovou šířku pouze 64 bitů, jejich přenos by tedy trval namísto jednoho cyklu FSB cykly dva), zbývají pouze SIMD operace (a z těch jen některé, ne např. MMX) a již zmíněný data prefetch. Celkově vzato například takový Athlon díky velké L1 cache toto vylepšení až tak nutně nepotřebuje.

Latence je přímo úměrná velikosti cache a její konstrukci. Čím větší cache je, tím větší latence, naopak čím více tranzistorů se použije, tím může být latence nižší. Zde se hodí přirovnání k hledání knihy v malém a velkém šuplíku. Malý prohledáte rychleji, ale je možné, že hledanou knihu nenajdete. Ve větším naopak. Počet tranzistorů se dá přirovnat k situaci, kdy byste měli čtyři ruce, čtyři oči a dva mozky. Váš hledací výkon by v takovém případě byl mnohem větší.

Jeden z nejpodstatnější rozdílů mezi Itaniem a Itaniem 2 je zrychlení cache. Ta je nyní mnohem rychlejší ve všech úrovních, latence se u L1 snížila z 2T na 1T, u L2 z 9T na 5T (i při zvětšení z 96 kByte na 256 kByte) a u L3 poklesla latence díky integraci do čipu o téměř 10T. Itanium 2 se tak rázem stalo procesorem s jednou z nejrychlejších cache. Jen pro srovnání - přenosová rychlost L1 cache v Itaniu 2 na 1GHz je zhruba taková, jako u Athlonu na 4GHz.

V souvislosti s cache se ještě můžete setkat s pojmy write back a write through. O co jde? Jedná se o dva rozdílné postupy při zapisování data na místo mimo vlastní cache. Jeslitže při čtení i zápisu se latence jednotlivých úrovní cache sčítají (tj. přístup do L2 = latence do L1 + latence cache L2), prochází data zapisovaná do hlavní paměti přes všechny úrovně cache. Režim write through znamená, že data jsou přes cache poslána dál, aniž by se do ní zapisovala. Režim write back naopak tyto data zapíše do cache a až teprve poté se data zapíšou do koncového umístění (systémové paměti). Například Pentium 4 používá pro L1 režim write through, pro L2 pak write back. Tím se optimalizují zápisy do paměti a práce s ní se stává efektivnější.

Témata článku: Hudba, filmy, seriály, Výpočetní výkon, Plnohodnotný procesor, Floating, Eagle, Celeron a Pentium, Castle, Nejhorší situace, Bios, Wolfenstein, Rychlý přístup, Rozdílná velikost, Stejný segment, Pentium, Board, Naměřená hodnota, Sram, Tištěný spoj, Cache procesor, Cache, Stejný výpočet, Úroveň, Poslední procesor, Rozdílná frekvence, Katmai


Určitě si přečtěte

Pojďme programovat elektroniku: Postavíme bezpečnostní systém za 30 Kč

Pojďme programovat elektroniku: Postavíme bezpečnostní systém za 30 Kč

** Před pár týdny jste si mohli v akci koupit Wi-Fi desku za jeden dolar ** Nám už TTGO T-Display dorazila do redakce ** Připojíme k ní jazýčkový kontakt a vyrobíme bezpečnostní systém

Jakub Čížek | 30

Je ta fotka černobílá, nebo barevná? Náš mozek realitu pouze odhaduje a vymýšlí si

Je ta fotka černobílá, nebo barevná? Náš mozek realitu pouze odhaduje a vymýšlí si

** Klasický počítač bezchybně zpracuje bit po bitu dat ** Mozek si realitu naopak spíše představuje a chybuje ** Teď se tím baví internet u další optické iluze

Jakub Čížek | 32

Zorin OS 15: Vyzkoušejte další hezký a nenáročný linux pro mamku a taťku

Zorin OS 15: Vyzkoušejte další hezký a nenáročný linux pro mamku a taťku

** Ačkoliv je grafických linuxů plný internet, stále vládnou Windows ** Jeden z nich se jmenuje Zorin OS a nedávno se dočkal aktualizace ** Dělají jej dva kluci z Irska a je fakt hezký

Jakub Čížek | 114

10 novinek Androidu 10, které vás budou bavit

10 novinek Androidu 10, které vás budou bavit

Jan Láska, Vladislav Kluska | 24

Starý smartphone nemusí skončit v koši. 10 způsobů, jak ho ještě můžete využít

Starý smartphone nemusí skončit v koši. 10 způsobů, jak ho ještě můžete využít

** Co dělat s vysloužilým chytrým telefonem? Neházejte ho do koše! ** Našli jsme pro vás deset možností, jak ho prakticky využít ** I stará zařízení tak mohou být užitečná

Karel Kilián | 47

Windows 10 po čtyřech letech: Jsou populární, ale stále je to šílený kočkopes

Windows 10 po čtyřech letech: Jsou populární, ale stále je to šílený kočkopes

** Windows 10 tu jsou už čtyři roky, první verze dorazila 29. 7. 2015 ** Desítky měly nahradit neúspěšnou řadu Windows 8.x ** I po letech však systém budí emoce a zůstává kočkopsem

Jakub Čížek | 111



Aktuální číslo časopisu Computer

Speciál o přechodu na DVB-T2

Velký test herních myší

Super fotky i z levného mobilu

Jak snadno upravit PDF