Intel Sandy Bridge – podrobný rozbor architektury | Kapitola 4
Seznam kapitol
Architektura Nehalem a její vylepšená varianta Westmere je s námi už dlouhé dva roky. Intel uvádí jejich nástupce, zcela novou architekturu Sandy Bridge. Zcela novou jsem použil záměrně, nejedná se totiž o vylepšeného předchůdce, ale o skutečnou novinku se vším všudy. Co nového přinášejí CPU, čipsety a základní desky?
Při vývoji nové architektury vždy stojí vývojáři před zásadní otázkou, jak navýšit výkon aniž by stoupla spotřeba. Ideální je samozřejmě opačný trend, snížit spotřebu a navýšit výkon. Toho ale nelze dosáhnout navýšením počtu výpočetních jednotek, jelikož větší počet tranzistorů také spotřebuje více energie. Je nutno najít místa, kde lze navýšit výkon a efektivitu za cenu stejné spotřeby stávajících řešení a nenavýšit počet tranzistorů. Nejvhodnějším místem je front-end čipu, který je i před dlouholeté snažení architektů procesorů, mnohdy málo efektivní. První vylepšení této části spočívá v nové instrukční paměti cache s kapacitou 1,5Kuops (6KB), která byla vložena do front-endu. Hlavní funkcí této paměti je uchovávat už dekódované instrukce v pevné délce 18uops.
V okamžiku kdy Fetch vytáhne z fronty další instrukci, podívá se nejprve do této paměti a pokud již byla tato instrukce dekódována dříve, je výsledek poslán přímo do dekodéru, objede tedy celý front-end. Úspěšnost nalezení již "hotové" instrukce je dle Intelu až 80 procent, propustnost front-endu se tedy razantně zvýší a spotřeba zůstala zachována, tato instrukční cache je totiž součástí L1 cache procesoru. V této nepatrné paměti a jednoduchém vylepšení zřejmě spočívá největší vylepšení architektury Sandy Bridge. Implementace a funkčnost je jednoduchá, dopad na výkon enormní, Intel totiž vypustil od složitějších řešení z minulosti (trace cache a instruction loop buffer), která potřebují složitou logiku a nebo BTB buffer. Zde jen pro zajímavost, AMD se v tomto směru ocitá s Bulldozerem dvě generace za řešením Intelu, nabízí podobnou featuru ovšem s ILB bufferem, to jej vrací do éry Nehalemu. U Sandy Bridge je už Intel opět dále.
Dalším vylepšením je Branch prediction (předpovídání větvení kódu). Na správnou cestu se Intel vydal už s architekturou Nehalem a tuto techniku stále vylepšuje. U architektury Sandy Bridge přepracoval predictor od základu. Tato technologie opět dokáže učinit čip efektivnějším, výkonnějším za cenu nižší spotřeby. Čím přesnější je předpoklad větvení kódu, tím méně je instrukční pipeline zatěžována a tím méně také spotřebuje energie. Struktura zůstala stejná jako u architektury Nehalem, skládá ze ze čtyř částí. Nyní ale dokáže uchovat dvakrát takové množství dat než předchozí procesory. Zdvojnásobení počtu cílů v tabulce bylo na stejné ploše dosaženo efektivním rozložením záznamů.