Hlavní stránka Hardware Procesory, paměti Intel Sandy Bridge – podrobný rozbor architektury
Intel Sandy Bridge – podrobný rozbor architektury
autor: Z. Obermaier , publikováno 4.1.2011
Intel Sandy Bridge – podrobný rozbor architektury

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?


Intel Sandy Bridge – podrobný rozbor architektury Intel Sandy Bridge – podrobný rozbor architektury

Už od dob prvních Pentií, jsou procesory založeny na systému Out-of-order. V architektuře Nehalem a starších byly data i stavy instrukcí uchovávány na několika místech, v ROB (Re-order-Buffer) a RRF (Retirement Register File). U architektury Sandy Bridge jsou jen na jednom místě, v PRF (Physical Register File). Stejně s daty nakládá i Bulldozer od AMD, také je nově vybaven PRF. Přemístěních všech důležitých dat na jedno místo, se zefektivní nejkritičtější operace out-of-order architektury: alokace, přejmenování, řazení a zahození instrukcí. Toto vylepšení navýší výkon, ovšem prodlouží latence. I tak se ale vyplatí. Velkým přínosem je i úspora energie, jelikož data se nemusí po provedení operací přemisťovat, zůstávají na stále stejném místě jen se změní jejich status. Tabulka na obrázku také ukazuje navýšení kapacity všech částí vůči Nehalemu. Výrobce také uvádí, že PRF je životně důležitý pro AVX instrukce jež jsou dekódovány do jedné uop, jež by se ale do původních registrů nevešla.

Intel Sandy Bridge – podrobný rozbor architektury Intel Sandy Bridge – podrobný rozbor architektury

Výpočetní jednotky byly také vůči architektuře Nehalem nepatrně změněny, výkon byl navýšen až dvakrát, hlavně kvůli 256-bitovým AVX instrukcím, jež jsou v Sandy Bridge dekódovány najednou v "celku" jako jedna uop instrukce. AMD Bulldozer tohle nedokáže, každou AVX instrukci si "rozpůlí" na dvě 128-bitové. Sandy Bridge to sice dělá také tak, ale mnohem sofistikovaněji. První obrázek ukazuje architekturu Nehalem, kde sheduller odešle připravené uops do šestice portů, dle požadované operace. Každý z portů je rozdělen na tři části (stacks) a v každé jsou různé výpočetní jednotky. Jedny pro operace celých čísel (ALU), další pro SIMD (vektorové) operace a třetí pro výpočty v plovoucí desetinné čárce (FP). Pokud bychom chtěli 256-bitovou instrukci vykonat na Nehalemu (první obrázek) musí být rozdělena, první 128-bitovou část vykoná v jednom "stacku" a pak se musí přesunout k vykonání druhá polovina do jiného "stacku". To zabere 1-2 cykly navíc.

U Sandy Bridge se 256-bitová instrukce provede naráz, opět se rozdělí a každá polovina bude vypočtena v jiném "stacku", ovšem za jeden takt se vykoná celá 256-bit instrukce. To ušetří nejen procesorový čas, ale hlavně opět energii. Tato technika sice vyžaduje další logiku, ušetří ale plochu čipu což by skutečné 256-bitové výpočetní jednotky vyžadovaly. Důležitou změnou je také větší flexibilita jednotek, kdy jich více umí i složitější operace. Společně s vylepšením výpočetního jádra, dochází také k optimalizaci výkonu v AES funkcích, SHA-1 hashování a zdvojnásobení propustnosti ve výpočetních úlohách jako je RSA.

Intel Sandy Bridge – podrobný rozbor architektury Intel Sandy Bridge – podrobný rozbor architektury

V okamžiku kdy byla výpočetní síla Sandy Bridge vůči Nehalemu zdvojnásobená, je nutné také zlepšit paměťovou pipeline aby byla schopná výpočetní jádro dostatečně zásobovat daty. Architekti Intelu dostali úkol: navýšit výkon všech aplikací a instrukcí, nejen AVX (první obrázek čip Nehalem). V předchozích procesorech jsou dvě jednotky generující adresy, jedna je určená pro nahrání uops (Load) a druhá pro ukládání uops (Store). V architektuře Sandy Bridge tyto dvě jednotky zůstaly, jsou ale flexibilní - obě umějí funkce Load i Store. To může v určitých situacích zdvojnásobit propustnost nahrávání. To se může projevit pozitivně v mnoha operacích, které umožňují nahrát dvě uops za takt. Jde o mnohem realističtější scénář, než když byl poměr jednotek 1:1 Load - Store. Další důležitou novinkou je navýšení propustnosti L1 cache o 50 procent. Také L2 cache byla zefektivněna. Největší proměnou ale prošla L3 cache.



 
Komentáře naleznete na konci poslední kapitoly.
63 čtenářů navrhlo autorovi prémii: 29.1Kč Prémie tohoto článku jsou již uzavřené, děkujeme za váš zájem.
Tento web používá k poskytování služeb soubory cookie.