IA039 Procesory a paměti Procesory - CISC Complex Instruction Set Computer ■ Příklady: ■ PDP 11, VAX, IBM 370, Intel 80x86, Motorola 680x0, . ■ Princip: ■ Nedělej programem to, co může udělat hardware IA039 2 Důvody existence ■ Velikost a rychlost paměti ■ Srovnání s rychlostí samotných procesorů ■ Přímá podpora překladačů ■ Adresování (přístup k paměti) IA039 3 Mikroprogramování CISC - složité instrukce ■ Řídící část procesoru příliš rozsáhlá ■ Mikroinstrukce: Dekompozice na jednodušší instrukce ■ Složitá instrukce == mikroprogram Jednodušší návrh hardware ■ Instrukce jsou emulovány Je možno „snadno" změnit instrukční sadu konkrétního počítače rodina počítačů (IBM 360, 370, VAX, ...) Nevýhody: příliš složité instrukce, stále složitější analýza instrukcí, zátěž zpětné kompatibility (v rámci rodiny) IA039 4 Jaro 2012 Zvyšování výkonu Rychlost hodin udává výkon procesoru ■ Omezeno aktuálními technologickými možnostmi ■ Nelze neomezeně zvyšovat * Závislosti mezi komponentami * Rychlost šíření signálu Řešení: paralelizace procesů IA039 5 Pipelining Překrývání instrukcí v různých fázích rozpracovanosti instrukce —> \ 1 — 2 — 3 — 4 — 5 —> výsledky Tři základní oblasti: 1. Zpracování instrukcí 2. Přístupy k paměti 3. Výpočty v pohyblivé řádové čárce IA039 6 Pipelining II Běžný rozklad instrukcí (pětiúrovňový pipelining): Instruction Fetch instrukce je načtena z paměti Instruction Decode instrukce je rozeznána (dekódována) Operand Fetch jsou připraveny operandy (načteny z registrů a/nebo paměti) Execute instrukce je provedena Writeback výsledky jsou zapsány zpět (do registrů a/nebo paměti) Jednotlivé instrukce jsou zpracovávány paralelně, s posunem o jednu fázi pipeline. IA039 7 Jaro 2012 Pipelining a pamět ■ „Neviditelný" pipelining ■ Předsunutí čtení (zápisu) z (do) paměti před vlastní instrukci pracující s daty ■ „Viditelné" pipelines ■ Explicitní instrukce, s přesně definovaným počtem cyklů do dokončení. - Např. Intel 80860 IA039 8 Jaro 2012 Procesory - RISC Reduced Instruction Set Computer ■ První RISC: CDC 6600 (Seymour Cray) ■ První polovina 60. let ■ Podmínky vzniku RISC systémů ■ Zavedení vyrovnávacích pamětí (cache) ■ Dramatický pokles ceny a vzrůst velikosti hlavních pamětí ■ Lepší pipelining ■ Kvalitně optimalizující překladače IA039 9 RISC podmínky II ■ Rychlost přístupu k paměti přestala být (hlavním) úzkým místem ■ Velikost programu přestala být podstatná (i rozsáhlé programy se snadno vejdou do paměti) ■ Problém: zadržení (stall) při čekání na výsledek předchozí instrukce (v CISC příliš složité vazby) ■ Není třeba složitých instrukcí (naopak); čitelnost assembleru přestává být podstatná IA039 10 Jaro 2012 Charakteristiky RISC ■ Jednotná délka instrukcí ■ Pečlivý výběr skutečně používaných instrukcí ■ Jednoduché adresní módy ■ Architektura Load/Store ■ Dostatek registrů ■ „Odložené" skoky (delayed branches) IA039 11 RISC - pokročilý návrh ■ Ideál RISC první generace: ■ Jedna instrukce každý tik hodin ■ Dnešní realita: ■ Více jak jedna instrukce na tik IA039 12 Nové vlastnosti ■ Superskalární ■ Superpipeline ■ (Velmi) dlouhé instrukce ((Very) Long Instruction Word, (V)LIW) IA039 13 Jaro 2012 Superskalární procesory ■ Vícenásobné procesní jednotky ■ Aritmetické (ALU), Floating point (FPU) a další ■ Příklady: - RS/6000, SuperSPARC a vyšší, Motorola 88110, HP PA 7100 a vyšší, DEC Alpha, MIPS R8000 a vyšší, Intel Pentium, IBM P4, P5 IA039 14 Jaro 2012 Superskalární procesory - vlastnosti ■ Paralelismus v hardware Sekvenční programy ■ „Automatická" paralelizace technickými prostředky * Současné načtení více instrukcí ■ Instrukce MADD (Multiply Add) * Operace X*Y+Z IA039 15 Jaro 2012 Superpipeline ■ Další zjednodušení obvodů ■ Rozsáhlejší dekompozice pipeline ■ Rychlejší provádění jednotlivých částí ■ Výsledkem rychlejší výpočet Jiná forma paralelismu ■ Nazývány též hluboké (deep) pipelines IA039 16 VLIW ■ Obdoba superskalárních (mnoho jednotek) ■ Paralelizace pod kontrolou překladače ■ Výhody: ■ Jednodušší instrukce ■ Není třeba složitý řídící hardware ■ Potenciál pro nižší spotřebu energie ■ Příklady: ■ Intel Í860 ■ Crusoe procesory firmy Transmeta ■ Ruské superpočítače (Elbrus) IA039 17 Jaro 2012 RISC - další rysy ■ Obcházení registrů ■ Přejmenování registrů ■ Skoky ■ nulování operace podmíněné přiřazeni (a = b