Pokročilé architektury počítačů (PAP_05.ppt) Karel Vlček, karel.vlcek@vsb.cz katedra Informatiky, FEI VŠB Technická Univerzita Ostrava
Architektury pro příští procesory Technologické trendy jsou popsány tzv. Moorovým zákonem: „Počet transistorů na čipu se zvyšuje každých 18 - 24 měsíců na dvojnásobek“ Moorův zákon platí již 30 let a bude platný ještě alespoň dalších 5 - 10 let Důležité je, aby zvyšující se počet transistorů byl uspořádaný do výkonné architektury Karel Vlček Pokročilé architektury procesorů
Technologické podmínky Technologie procesorů a technologie pamětí se liší, to způsobuje, že paměti dosahují za dekádu zrychlení dvojnásobné, zatímco procesory dosahují za dekádu zrychlení desetinásobné až patnáctinásobné Kapacita pamětí se zvyšuje asi stonásobně za deset let Je nutné nalézt lepší techniky tolerance Karel Vlček Pokročilé architektury procesorů
Technologická úroveň integrace Na jeden čip bude možné umísit celý počítač, integrace dosáhne 100 milionů transistorů Paměti DRAM budou mít gigabitovou kapacitu Na čipech budou jak procesory, tak paměti Projekty jsou nazývány PIM (Processor-in-Memory), IRAM (Intelligent RAM), či C-RAM (Computational RAM) Karel Vlček Pokročilé architektury procesorů
Reorganizace procesoru a paměti Registry DRAM jsou použité jako vektorové registry (objevuje se v projektech IRAM) DRAM je konečnou vrstvou paměti cache na stejném čipu jako procesor Registry DRAM jsou přizpůsobené pro zpracování v architektuře SIMD (Single Instruction Multiple Data), (objevuje se v projektech PIM a C-RAM) Karel Vlček Pokročilé architektury procesorů
Pokročilá superskalární architektura (1) Cílem je využívat transistory na čipu pro vytvoření architektury jednoho stále výkonnějšího procesoru Čip bude obsahovat: Velkou paměť cache nazývanou „trace cache“, pro velké sledy instrukcí Prediktor skoků Velký počet rezervačních stanic (pro cca 2000 instrukcí Karel Vlček Pokročilé architektury procesorů
Pokročilá superskalární architektura (2) Dále bude čip obsahovat: Velký počet (24 - 48) optimalizovaných řetězených funkčních jednotek Paměť D-cache: L1 - 256 kB, L2 - 8 MB Vydávání šestnácti až třiceti dvou instrukcí v jednom taktu Obvody pro rozhodování a předávání dat Karel Vlček Pokročilé architektury procesorů
Pokročilá superskalární architektura (3) V architektuře se nachází nová funkční jednotka po sdružování instrukcí je nazvaná plnicí jednotka (fill unit) Je včleněna mezi pamětí I-cache a cache Provádí manipulaci proveditelného kódu za běhu programu, její latence neovlivňuje výkonnost Provádí dynamickou optimalizaci kódu Karel Vlček Pokročilé architektury procesorů
Pokročilá superskalární architektura (4) Prováděcí jednotky budou muset často komunikovat Bude docházet k přesunu instrukcí do funkčních jednotek Častěji bude přenášen stav funkčních jednotek o operandech a rozpracovaných instrukcích Jednotky budou uspořádány tak, aby bylo dosaženo minimalizace komunikace Karel Vlček Pokročilé architektury procesorů
Superspekulativní architektura (1) Spekulace o výsledku větvení bude doplněna o spekulaci o datech bez další podpory v kompilátoru Spekulace se projeví ve třech oblastech: V toku instrukcí Toku dat přes registry Toku dat přes paměť Karel Vlček Pokročilé architektury procesorů
Superspekulativní architektura (2) Načítání 32 instrukcí v jednom taktu Pro jádro procesoru se počítá se 128 M transistorů I-cache 3,1 M transistorů D-cache 12,6 M transistorů Pro připojení cache paměti až 805 M transistorů Karel Vlček Pokročilé architektury procesorů
Procesory s pamětí se stopami Procesory s pamětí se stopami jsou nazývány také multiskalární Předzpracování instrukcí je spojené s předpovědí skoků Předávání dat je buď lokální nebo globální Vydávání instrukcí je v rámci stopy, je menší a je připravováno kompilátorem Činnost urychlují mnohobránové cache Karel Vlček Pokročilé architektury procesorů
Vektorové procesory IRAM (1) Paměť DRAM představuje hlavní paměť procesoru, je propojena na čipu širokým rozhraním Obsahuje několik řetězených linek pro zpracování Pro univerzální použití je výhodné několik řetězených linek pro zpracování vektorových a skalárních dat Karel Vlček Pokročilé architektury procesorů
Vektorové procesory IRAM (2) Další inovace jsou zkoumány pro kombinaci architektury VLIW a multivláknové procesory Technologické řešení je předmětem vývoje V současné době je realizována architektura IRAM s kapacitou paměti 96 MB DRAM Další řešení předpokládá stránkování paměti a výměnu stránek mezi více čipy Karel Vlček Pokročilé architektury procesorů
Vektorové procesory SMV (1) Simultánní multivláknový procesor (SMV) využívá v architektuře instrukční paralelismus (ILP) i datový paralelismus (DLP) SMV procesor komunikuje i hlavní pamětí na jiném čipu při latencích 20 až 100 taktů, takovou latenci by superskalární procesor nemohl tolerovat Karel Vlček Pokročilé architektury procesorů
Vektorové procesory SMV (2) Architektura SMV procesoru je vlastně pokročilá superskalární architektura rozšířená o vektorovou jednotku a multivláknový provoz Vektorová jednotka má 128 vektorových registrů s kapacitou 128 operandů délky 64 bitů Obstará 8 vláken a 16 fyzických registrů Karel Vlček Pokročilé architektury procesorů
Vektorové procesory SMV (3) Organizace paměti umožňuje po načtení čtyř instrukcí z jednoho vlákna libovolnou kombinaci instrukcí Provádění instrukcí mimo pořadí zlepšuje výkonnost K realizaci by stačilo 55 milionů transistorů Zbytek 109 transistorů, které se vejdou na čip by mohlo sloužit jako paměť DRAM Karel Vlček Pokročilé architektury procesorů
Pokročilé architektury procesorů Literatura: Dvořák, V.: Architektura a programování paralelních systémů, VUTIUM Brno, (2004), ISBN 80-214-2608-X Dvořák, V., Drábek, V.: Architektura procesorů, VUTIUM Brno, (1999), ISBN 80-214-1458-8 Drábek, V.: Výstavba počítačů, PC-DIR, s.r.o. Brno, (1995), ISBN 80-214-0691-7 Mueller, S.: Osobní počítač, Computer Press, Praha, (2001), ISBN 80-7226-470-2 Pluháček, A.: Projektování logiky počítačů, Vydavatelství ČVUT Praha, (2003), ISBN 80-01-02145-9 Karel Vlček Pokročilé architektury procesorů