Architektury VLIW M. Skrbek a I. Šimeček

Podobné dokumenty
Jiné výpočetní platformy J. Sloup, M. Skrbek, I. Šimeček

Architektura procesorů PC shrnutí pojmů

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

Procesor. Procesor FPU ALU. Řadič mikrokód

Pohled do nitra mikroprocesoru Josef Horálek

Struktura a architektura počítačů (BI-SAP) 7

Architektura Pentia úvod

Principy počítačů a operačních systémů

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Princip funkce počítače

Proudové zpracování instrukcí II. Hazardy v proudovém zpracování Proudové zpracování FP instrukcí

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Pokročilé architektury počítačů

Semestrální práce z předmětu. Jan Bařtipán / A03043 bartipan@studentes.zcu.cz

Assembler RISC RISC MIPS. T.Mainzer, kiv.zcu.cz

Intel Itanium. Referát. Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky

Techniky zvýšení výkonnosti procesoru, RISC a CISC procesory

Procesor. Základní prvky procesoru Instrukční sada Metody zvýšení výkonu procesoru

Kubatova Y36SAP procesor - control unit obvodový a mikroprogramový řadič RISC Y36SAP-control unit 1

Pokročilé architektury počítačů

CHARAKTERISTIKA PROCESORU PENTIUM První verze:

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Řetězené zpracování. INP 2008 FIT VUT v Brně

8. Laboratoř: Aritmetika a řídicí struktury programu

Kubatova Y36SAP 8. Strojový kód Jazyk symbolických instrukcí asembler JSA pro ADOP a AVR Kubátová Y36SAP-strojový kód 1

Jan Nekvapil ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická

Přednáška. Strojový kód a data. 4. Přednáška ISA J. Buček, R. Lórencz

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Architektury CISC a RISC, uplatnění v personálních počítačích

Architektury CISC a RISC, uplatnění rysů architektur RISC v personálních počítačích - pokračování

Intel (2) Intel (1) Intel (3) Intel (4) Intel (6) Intel (5) Nezřetězené zpracování instrukcí:

Semestrální práce z předmětu ÚPA MIPS

Procesor z pohledu programátora

RISC a CISC architektura

Cvičení MI-PAP I. Šimeček, M. Skrbek, J. Trdlička

Architektury CISC a RISC, uplatnění rysů architektur RISC v personálních počítačích - pokračování

Charakteristika dalších verzí procesorů v PC

Procesor Intel Pentium (1) Procesor Intel Pentium (3) Procesor Intel Pentium Pro (1) Procesor Intel Pentium (2)

Architektura počítačů. Instrukce a návrh instrukční sady. Lubomír Bulej KDSS MFF UK

Architektura počítačů Zvyšování výkonnosti

Metody připojování periferií BI-MPP Přednáška 2

x86 assembler and inline assembler in GCC

a operačních systémů

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

Strojový kód. Instrukce počítače

Cache paměť - mezipaměť

ISU Cvičení 7. Marta Čudová

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Architektury počítačů a procesorů

Adresní mody procesoru

Struktura a architektura počítačů (BI-SAP) 1

Architektury CISC a RISC, uplatnění v personálních počítačích - pokračování

Architektura procesoru ARM

PB002 Základy informačních technologií

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Struktura a architektura počítačů (BI-SAP) 11

CISC A RISC PROCESORY Jak pracují procesory CISC:

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Kvantitativní principy návrhu počítačů. doc. Ing. Róbert Lórencz, CSc.

Knihovny pro CUDA J. Sloup a I. Šimeček

Pokročilé Architektury Procesorů

Y36SAP

Algoritmizace a programování

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Luděk Matyska. Jaro 2015

CHARAKTERISTIKA MODERNÍCH PENTIÍ. Flynnova klasifikace paralelních systémů

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

PROCESOR. Typy procesorů

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Algoritmizace a programování

Úvod do GPGPU J. Sloup, I. Šimeček

Operační systémy. Přednáška 8: Správa paměti II

Program "Světla" pro mikropočítač PMI-80

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Virtuální počítač. Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor. PGS K.

Kubatova Y36SAP 9. Strojový kód ISA architektura souboru instrukcí střadačově, zásobníkově orientovaná, GPR Kubátová Y36SAP-ISA 1

Přednáška 1. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Základní uspořádání pamětí MCU

Pohled do nitra mikroprocesoru

Proudové zpracování instrukcí I. Celočíselná pipeline RISC

Pokročilé architektury počítačů

Pamět ová hierarchie, virtuální pamět. doc. Ing. Róbert Lórencz, CSc.

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Procesory, mikroprocesory, procesory na FPGA O. Novák, CIE 11 1

Provádění instrukcí. procesorem. Základní model

Seznámení s mikropočítačem. Architektura mikropočítače. Instrukce. Paměť. Čítače. Porovnání s AT89C2051

Algoritmizace a programování

Úvod. Instrukce musí obsahovat: typ operace adresu operandu (operandů) typ operandů modifikátory adresy modifikátory operace POT POT

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

Přednáška 2 A4B38NVS - Návrh vestavěných systémů 2014, kat. měření, ČVUT - FEL, Praha J. Fischer A4B38NVS, 2014, J.Fischer, kat. měření, ČVUT - FEL 1

Architektura počítačů Zvyšování výkonnosti

GENEROVÁNÍ KÓDU 9. SHRNUTÍ - PŘÍKLAD POSTUPU PŘEKLADU VSTUPNÍHO PROGRAMU (ZA POUŽITÍ DOSUD ZNÁMÝCH TECHNIK)

Architektura počítačů

2010/2011 ZS. operačních systémů. Copak je po jméně? Co růži zvou, i zváno jinak vonělo by stejně. William Shakespeare

Architektura počítačů Implementace procesoru

Pokročilé architektury počítačů

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

V 70. letech výzkumy četnosti výskytu instrukcí ukázaly, že programátoři a

Transkript:

Architektury VLIW M. Skrbek a I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PAP, LS2010/11, Predn.3 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti

Architektury VLIW VLIW (Very Large Instruction Word) instrukční slova obsahují instrukce, které mohu být provedeny současně (paralelně). Více paralelně pracujících jednotek Explicitně vyjádřený paralelismus Široké instrukce rozdělené do několika subinstrukcí Pouze jedna skoková sub-instrukce na instrukci Vyhledávání paralelizmů v instrukcích (ILP, Instruction level parallelism) a jejich plánování do posloupností dlouhého slova VLIW provádí překladač.

Strukturální hazardy Vyplývají z omezeného počtu bran registrového pole Některé registry pouze vyhrazené dané jednotce Omezený počet registrů sdílený mezi jednotkami (případně sdílený jen mezi dvojicemi jednotek)

Řídící hazardy Pouze jedna skoková sub-instrukce na instrukci Výjimku může vyvolat kterákoliv z paralelně prováděných instrukcí Řešením problému výjimek je řídící spekulace

Datové hazardy Nutno vyloučit datové závislosti v rámci instrukce (lze programově) Datové závislosti v paměťových operacích (vzhledem k nepřímé adresaci nelze vyloučit programově) Řešením hazardů v paměťových operacích je datová spekulace

Druhy datových závislostí RAW (read-after-write) čtení po zápisu stejného registru mov r14 = r17; add r16 = r14, r15; WAW (write-after-write) zápis po zápisu mov r14 = r17; add r14 = r16, r15; WAR (write-after-read) zápis po čtení add r14 = r14, r15;

Itanium (Merced) Itanium bylo první 64-bit čip od Intelu používá EPIC (Explicitly Parallel Instruction Computing) instruction set. Obsahuje: 2 integer, 2 memory, 3 branch execution units, => 4 ALU instructions per clock. 2 floating point units. 10-stage instruction pipeline.

Itanium (Merced) Podmíněné instrukce 128 registrů (celočíselné, 64-bitů) registrový zásobník, rotace registrů 128 FP registrů 64 predikátových registrů 8 registrů pro adresy skoků Aplikační registry a registry pro měření výkonnosti Režimy IA-64 a IA-32

Itanium 128bit dlouhé instrukčního slovo 5bitů šablona (template). Zde zakódováno do kterých funkčních jednotek se budou vydávat obsahy jednotlivých slotů. 41 bitů pro subinstrukci (slot 1) 41 bitů pro subinstrukci (slot 2) 41 bitů pro subinstrukci (slot 3) Jednotný formát instrukce, jediná výjimka při načítání 64bit konstanty

Registrový zásobník Pro urychlení volání fcí Vstup a výstupy nejsou ukládány na zásobník, ale do registrů Ale nikoliv fixně (vhodné pro 1úrovňové volání) Pole registrů je bráno jako celek a pomocí jednoho z nich je v něm implementován zásobník

Paralelní provádění instrukcí Každý slot pojme jednu instrukci Skupina jedna nebo více instrukcí provedených paralelně V rámci skupiny musí být jedno v jakém pořadí se instrukce dokončí V rámci skupiny jsou zakázány datové závislosti typu WAW, a RAW

Predikátové registry 64 jednobitových registrů Označené p0-p63 p0 je vždy 1 Nastavovány porovnávacími instrukcemi Většinu instrukcí je možno podmínit těmito registry

Porovnávací instrukce Př. cmp.eq p4,p6=r1,r6 eq, ne; lt, le, gt, ge; ltu, leu, gtu, geu Kde u značí operaci bez znaménka Ukázka překladu: if (r7==r8) r3=r4 + r5; else r8 = r2 + r6; cmp.eq p3, p4 = r7, r8;; (p3) add r3 = r4, r5; (p4) add r8 = r2, r6;; Samotné porovnání lze také podmínit Např. (p5) cmp.eq p3, p4 = r7, r8;;

Porovnávací instrukce Kód v C/C++ if (x == 4) z = 9 else z = 0; Itanium řešení Compare x to 4 and store result in a predicate bit (we'll call it A) If A==1; z = 9 If A==0; z = 0

Řídící spekulace NaT (Not a Thing) = indikuje výjimku Je to buď 65. bit gr registru nebo hodnota NaTVal uložená v FP registru Instrukce jako add, sub apod. propagují NaT hodnotu NaT bitu do cílového registru Instrukce jako fadd, fsub apod. propagují hodnotu NaTVal do cílového registru Instrukce chk (check) kontroluje NaT bit a pokud je nastaven provede skok na recovery code.

Datová spekulace ALAT = Advanced Load Address Table možnost použití spekulativního nahrání dat (advanced load) Adresa a cílový registr se uloží jako další záznam do ALAT Pokud je adresa ve STORE instrukci totožná s adresou v některé položce v ALAT, je odpovídající adresa vymazána (zneplatněna) Recovery code se vyvolá v případě, že nebyla nalezena položka v ALAT

Itanium Indirect Access to Register mov r1=2 mov r2=4;; mov pmd[r1]=r11 mov pmd[r2]=r12

Itanium a VLIW shrnutí Snížení počtu podmíněných skoků = pomocí predikátových registrů Zvýšení počtu registrů (proti x86) Snížení počtu zásobníkových operací = pomocí registrového zásobníku VLIW = snížení požadavků na Dekóder = jednotný formát instrukcí Out of order jednotka = díky kompilátoru