IAO39 Procesory a pameti Procesory - CISC Complex Instruction Set Computer ■ Príklady: ■ PDP 11, VAX, IBM 370, Intel 80x86, Motorola 680x0, ... ■ Princip: ■ Nedeiej programem to, co mUže udeiat hardware IAG39 2 Jaro 2G1G Důvody existence ■ Velikost a rychlost paměti ■ Srovnaní s rychlostí samotných procesorů ■ Príma podpora překladaců ■ Adresovaní (přístup k paměti) IA039 3 Jaro 2010 Mikroprogramování CISC - složité instrukce ■ Řídící Část procesoru příliS rozsáhlá ■ Mikroinstrukce: Dekompozice na jednodussí instrukce ■ Složitá instrukce == mikroprogram Jednodussí návrh hardware ■ Instrukce jsou emulovány Je možno „snádno" žmenit instrukcní sádu konkretního pocítáce =^ rodina počítáčU (IBM 360, 370, VAX, ...) Nevýhody: přílis složite instrukce, stále složitejsí ánálýžá instrukcí, žátež žpeetne kompátibilitý (v rámci rodiný) IA039 4 Járo 2010 Zvyšování výkonu Rychlost hodin udává výkon procesoru ■ Omezeno aktuálními technologickými možnostmi ■ Nelze neomezene zvySovát * Závislosti mezi komponentami * Rychlost síření signálu Resení: párálelizáce procešU IA039 5 Járo 2010 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. Prístupy k paměti 3. VypoCty v pohyblivě řádově Cárcě IA039 6 Jaro 2010 Pipelining II Běžný rozklad instrukcí (petiúrovňový pipelining): Instruction Fetch instrukce je naCtena z paměti Instruction Decode instrukce je rozeznaana (dekodovaana) Operand Fetch jsou připravený operandy (naCtený z registrů a/nebo pameti) Execute instrukce je provedena Writeback výsledky jsou zapsaný zpet (do registru a/nebo pameti) Jednotlivá instrukce jsou zpracovavaný paralelne, s posunem o jednu faazi pipeline. IA039 7 Jaro 2010 Pipelining a pamět ■ „Neviditelný" pipelining ■ Předsunutí čtení (zápisu) z (do) pameti pred vlastní instrukci pracující s datý ■ „Viditelne" pipelines ■ Explicitní instrukce, s přesne definovaným počtem čýklu do dokončení. ■ Napr. Intel 80860 IA039 8 Jaro 2010 Procesory - RISC Reduced Instruction Set Computer ■ První RISC: CDC 6600 (Seymour Cray) ■ První polovina 60. let ■ Podmínky vzniku RISC systemU ■ Zavedení vyrovnávacích pametí (cache) ■ Dramaticky pokles ceny a vzmst velikosti hlavních pametí ■ Lepsí pipelining ■ Kvalitne optimalizující prekladace IA039 9 Jaro 2010 RISC podmínky II ■ Rychlost prístůpů k pameti prestala byt (hlavním) ůzkym místem ■ Velikost programů přestala byt podstatna (i rozsahle programy se snadno vejdoů do pameti) ■ Problem: zadržení (stall) pri cekaní na vysledek předchozí instrůkce (v CISC prílis sloZite vazby) ■ Není treba slozitych instrůkcí (naopak); citelnost assemblerů přrestava byt podstatna IA039 10 Jaro 2010 Charakteristiky RISC ■ Jednotná délka instrukcí ■ PeClivý výbér skuteCné používaných instrukcí ■ Jednoduché adresní modý ■ Architektura Load/Store ■ Dostatek registru ■ „Odložene" skoký (delaýed branches) IAG39 11 Jaro 2010 RISC - pokročilý návrh ■ ideál RISC první generace: ■ Jedna instrukce každý tik hodin ■ DneSní realita: ■ Více jak jedna instrukce na tik IA039 12 Jaro 2010 Nové vlastnosti ■ Superskalární ■ Superpipeline ■ (Velmi) dlouhe instrukce ((Very) Long Instruction Word, (V)LIW) IA039 13 Jaro 2010 Superskaiarní procesory VícenaSobne proceSní jednotky ■ Aritmeticke (ALU), Floating point (FPU) a dalSí Príklady: ■ RS/6GGG, SuperSPARC a vySSí, Motorola 8811G, HP PA 71GG a vySSí DEC Alpha, MIPS R8GGG a vySSí, Intel Pentium, IBM P4, P5 IAG39 14 Jaro 2G1G Superskalární procesory - vlastnosti ■ Paralelismus v hardware ■ Sekvenční programy ■ „Automatička" paralelizace technickými prostředky * Současne načtení více instrukcí ■ Instrukce MADD (Multiply Add) * Operace X*Y+Z IA039 15 Jaro 2010 Superpipeline ■ Další zjednodušení obvodů ■ Rozsáhlejší dekompozice pipeline ■ Rychlejší provadení jednotlivých Častí ■ Výsledkem rychlejší výpočet ■ Jina forma paralelišmu ■ Nazývaný tez hluboké (deep) pipelineš IA039 16 Jaro 2010 VLIW Obdoba superskalarních (mnoho jednotek) Paralelizace pod kontrolou překladace Výhodý: ■ Jednodussí instrukce ■ Není třeba sloZitý rídící hardware ■ Potencial pro niZsí spotrebu energie Přríkladý: ■ Intel i860 ■ Crusoe procesorý firmý Transmeta ■ Ruske superpocítace (Elbrus) IA039 17 Jaro 2010 RISC - dalSí rysy ■ Obcházení registrů ■ Přejmenování registrů ■ Skoky ■ nulování operace ■ podmínene přiřazeni (a = b