Katedra informatiky a výpočetní techniky. 10. prosince Ing. Tomáš Zahradnický doc. Ing. Róbert Lórencz, CSc.

Podobné dokumenty
Představení a vývoj architektur vektorových procesorů

Princip funkce počítače

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

Architektura počítačových systémů

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

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

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

Datové struktury 2: Rozptylovací tabulky

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

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

Adresní mody procesoru

Základní jednotka procvičování

požadovan adované velikosti a vlastností Interpretace adresy POT POT

Static Load Balancing Applied to Time Dependent Mechanical Problems

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

Aplikovaná numerická matematika

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

VzorTest-1. Prohlídka náhledu

09. Memory management. ZOS 2006, L.Pešička

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

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

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Systém adresace paměti

BI-JPO (Jednotky počítače) Cvičení

Cvičení z Lineární algebry 1

VELIKOST VEKTORU, POČETNÍ OPERACE S VEKTORY

Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače

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

Architektura Intel Atom

Architektury počítačů a procesorů

Architektura počítače

Přerušovací systém s prioritním řetězem

Pamět ová hierarchie, návrh skryté paměti 2. doc. Ing. Róbert Lórencz, CSc.

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

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

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

Dekódování adres a návrh paměťového systému

PROCESOR. Typy procesorů

Jak do počítače. aneb. Co je vlastně uvnitř

X37SGS Signály a systémy

Aplikovaná numerická matematika - ANM

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

Procesor z pohledu programátora

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

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Paměťový podsystém počítače

Násobení. MI-AAK(Aritmetika a kódy)

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

Teoretická informatika Tomáš Foltýnek Algebra Struktury s jednou operací

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

Sběrnicová architektura POT POT. Jednotlivé subsystémy počítače jsou propojeny sběrnicí, po které se přenáší data oběma směry.

Y36SAP - aritmetika. Osnova

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Přijímací zkouška na navazující magisterské studium 2015

O varováních. Dell Latitude E4200 Informace o instalaci a funkcích technické údaje. Čelní pohled

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

Lingebraické kapitolky - Počítání s maticemi

Přidělování paměti II Mgr. Josef Horálek

Dělení. MI-AAK(Aritmetika a kódy)

MSP 430F1611. Jiří Kašpar. Charakteristika

SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC

Řízení IO přenosů DMA řadičem

PB002 Základy informačních technologií

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 10

Vstupně - výstupní moduly

Matematika PRŮŘEZOVÁ TÉMATA

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

Pohled do nitra mikroprocesoru Josef Horálek

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:

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

I. Dalšívnitřní paměti

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

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

Níže uvedená tabulka obsahuje technické údaje a omezení aplikace Excel (viz také článek Technické údaje a omezení aplikace Excel (2007).

Architektura počítačů Logické obvody

Zobrazovací jednotky a monitory

Profilová část maturitní zkoušky 2013/2014

frekvence 8 Mhz, přestože spolupracuje s procesori různe rychlými. 16 bitová ISA sběrnice je

PŘIJÍMACÍ TEST z informatiky a matematiky pro navazující magisterské studium Fakulta informatiky a managementu Univerzity Hradec Králové

II. Úlohy na vložené cykly a podprogramy

Provoz Počet zaměstnanců Průměrná nemocnost hod/osoba/rok

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Návrh čítače jako automatu

Metoda Monte Carlo, simulované žíhání

AKM CVIČENÍ. Opakování maticové algebry. Mějme matice A, B regulární, potom : ( AB) = B A

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry.

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

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

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Dell Latitude E4310. O varováních. Informace o instalaci a funkcích

Stromy, haldy, prioritní fronty

Použití UART a radia na platformě micro:bit

Základy číslicové techniky z, zk

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

Fakulta informačních technologií. Teoretická informatika

Semestrální práce 2 znakový strom

Přidělování paměti I Mgr. Josef Horálek

Úloha 9. Stavové automaty: grafická a textová forma stavového diagramu, příklad: detektory posloupností bitů.

DRN: Soustavy linárních rovnic numericky, norma

Transkript:

Katedra informatiky a výpočetní techniky České vysoké učení technické, fakulta elektrotechnická Ing. Tomáš Zahradnický doc. Ing. Róbert Lórencz, CSc. 10. prosince 2007

Pamět ové banky S výhodou používáme pamět s prokládaným cyklem pro urychlení přístupu. Současně se tak čte z n pamět ových bank a rychlost čtení je tedy cca n násobná. Rychlost čtení je také ovlivněna střídou. Příklad: Uvažujme pamět se 4 bankami s prokládaným cyklem obsahující vektor V se střídou (stride) s = 7. 1. Naznačte umístění prvních čtyř složek vektoru v pamět ových bankách, pokud je složka V [0] umístěna v modulu č. 2. 2. Napište formuli určující číslo pamět ového modulu, ve kterém bude umístěna složka V [i] (moduly jsou číslovány od 0).

Pamět ové banky, pokračování Řešení: 1. Viz obrázek. Každý prvek vektoru V [i] označen včetně jeho adresy v paměti. 2. Složka V [i] má adresu a = 2 + 7i (V [0] je v bance 2 a střída je 7). Danou banku b vypočteme jako zbytek po dělení adresy a počtem bank: a b (mod 4). 2, V[0] 9, V[1] 16, V[2] 23, V[3] 30, V[4] 0 1 2 3 Obrázek: Umístění složek vektoru

Gather & Scatter I Instrukce cvi v1, r1 uloží do registru v1 takové adresy elementů délky r1, které odpovídají nastaveným bitům ve vektorovém maskovacím registru vm, 0 i vlr. Příklad: Jaký bude výsledek pro r1 = 7 a vm = 0x93. Řešení: v1 = [0, 7, 28, 49]. vm 1 0 0 1 0 0 1 1 i r1 49 42 35 28 21 14 7 0 vm[i] i r1 49 0 0 28 0 0 7 0 Poznámka: Tento příklad očekává pamět orientovanou po bytech. Normálně bývá velikost prvku mocninou 2.

Gather & Scatter II Techniky gather a scatter slouží pro manipulaci s řídkými vektory. Pomocí těchto instrukcí lze snadno pracovat s řídkými maticemi, rozptýlenými pamět ovými strukturami, atd. žádná z uvedených instrukcí se neřídí obsahem registru vm. Gather: Instrukce lvi v1, r1, v2, provádí sběr dat a nahraje do registru v1 prvky z relativních adres, které jsou obsahem vektoru v2 bázované k r1. Vektor relativních adres lze získat například pomocí instrukce cvi. v1[i] = M [r1 + v2[i]]. Scatter: Instrukce svi r1, v2, v1 je přesným opakem instrukce lvi a slouží tedy k rozptýlení dat vektoru v1 na adresy specifikované elementy vektoru v2. M [r1 + v2[i]] = v1[i].

Gather & Scatter III Příklad: Nahrajte do registru v1 prvky hlavní diagonály čtvercové matice A dimenze 4 uložené v paměti M s počáteční adresou v r2. Prvky matice jsou celá čísla a každé z nich zabírá 4 bajty. Řešení: Prvky, které chceme mají indexy 0, 5, 10 a 15 a to odpovídá maskovacímu vektoru vm = 0x8421. Vygenerujeme adresy prvků a použijeme instrukci lvi k načtení diagonály. 1. Nastavíme registr masky vm na hodnotu 0x8421. 2. Nastavíme registr r1 na hodnotu 4 (délka jednoho elementu). 3. Použijeme instrukci cvi v1, r1 na výpočet relativních adres prvků odpovídajících masce. 4. Použijeme instrukci lvi v2, r2, v1 k načtení těchto prvků.

Špetka terminologie Iniciační interval (startup): čas potřebný k nastartování dané jednotky. Na konci iniciačního intervalu je již k dispozici jeden výsledek. Konvoj: Množina vektorových instrukcí, které se mohou začít vykonávat v tom samém čase (bez strukturálních nebo datových hazardů), konvoje se nepřekrývají. Chime: Přibližný čas pro vektorovou operaci. Chaining: Výstup jedné jednotky je pipelineován rovnou na vstup druhé.

DLXV DAXPY Příklad: Vektory X a Y mají délku 64 prvků. Mějme smyčku DAXPY. Iniciační intervaly jednotlivých jednotek jsou: jednotka L/S 11 taktů; sčítačka 5 taktů; násobička 6 taktů. Dále předpokládejme, že vektorové funkční jednotky generují nebo konzumují jeden prvek operandu každý takt. 1. Rozdělte instrukce do konvojů. L/S jednotka je schopna pouze jednoho přístupu do paměti a máme pouze jednu násobičku. Proved te s a bez použití chainingu. 2. Nakreslete diagram zpracování a spočtěte kolik taktů připadá na výpočet jednoho prvku výsledného vektoru. 3. Určete konfiguraci DLXV aby se dal program provést jako jediný konvoj.

DLXV DAXPY, pokračování I 1. Rozdělení do konvojů: 4, protože 3 L/S instrukce 2. Výpočet a graf Startup Výpočet Bez chainingu 74 74 lv v1, (rx) multsv v2, f0, v1 lv v3, (ry) addv v1, v2, v3 sv (ry), v1 68 74 11 63 6 63 11 63 5 63 11 63 cyc CPU = 74 + 74 + 68 + 74 = 290 To činí průměrně 290/64 =. 4.53 taktů na element.

DLXV DAXPY, pokračování II S chainingem Vzhledem k tomu, že smyčka DAXPY obsahuje 3 L/S instrukce a máme k dispozici pouze jednu LS jednotku, musíme ji rozdělit do 3 konvojů následujícím způsobem: 80 79 74 11 63 6 63 11 63 5 63 cyc CPU = 80 + 79 + 74 = 233 11 63 Průměrně 233/64. = 3.64 taktů na element.

DLXV DAXPY, pokračování III 3. Návrh vylepšení DLXV Vzhledem k tomu, že největší problém působí nedostatek L/S jednotek, doporučujeme tedy přidat 2 další L/S jednotky (2 L, 1 S), čímž by se mohl program provést jako jeden konvoj (a nikoliv jako 3 v případě s chainingem). Vylepšená verze s chainingem s dalšími jednotkami 96 11 11 63 6 63 63 5 63 11 63 cyc CPU = 11 + 6 + 5 + 11 + 63 = 96 Průměrně 96/64 = 1.5 taktu na element.

Úkol Příklad: Pro následující program (konfigurace viz DAXPY): 1. Rozdělte instrukce do konvojů. L/S jednotka je schopna pouze jednoho přístupu do paměti a máme pouze jednu násobičku. Proved te s a bez použití chainingu. 2. Nakreslete diagram zpracování a spočtěte kolik taktů připadá na výpočet jednoho prvku výsledného vektoru. 3. Určete konfiguraci DLXV aby se dal program provést jako jediný konvoj. lv v1, (rx) multsv v2, f0, v1 multsv v3, f1, v1 addv v4, v2, v3 sv (ry), v4

Úkol 2 I Příklad: Je dán 32-bitový procesor DLXV s jednobránovou pamětí, která je rozdělena celkem do 4 bank. Šířka každé banky je 64 bitů. Latence (vybavovací doba položky) každé banky je rovna 4 taktům procesoru DLXV. Adresové bity A(4:3) určují číslo banky. Adresové bity A(31:5) jsou přivedeny na adresní vstupy každé banky, kde každá banka má kapacitu 1 GB v organizaci 128M 64b. Poznámka: Pro jednoduchost je z každého 64b čísla zobrazeno pouze spodních 8 bitů.

Úkol 2 II A(4:3) A(31:5) 00 01 10 11 0...00000000 01 03 05 07 0...00000001 0A 0B 0C 0D 0...00000010 02 04 06 08 0...00000011 AB CD DE FF 0...00000100 AA BB A5 5A Dále je dán stav procesoru DLXV: r2 = 0x10, r3 = 0x20, r4 = 16, vlr = 8 1. Graficky znázorněte časový průběh a určete délku provádění pro instrukce: lv v0, (r2) lvws v1, (r3), r4 2. Určete obsah registrů v0 a v1 po provedení těchto instrukcí. 3. Jak může vektorový procesor číst/zapisovat data řídkých matic? 4. Jak může vektorový procesor provádět operace s vybranými složkami vektoru?

Řešení I 1. Graficky znázorněte časové průběhy a délku instrukcí. Banky jsou označeny částí adresy A(4:3): lv v0, (r2) lvws v1, (r3), r4 10 11 00 01 10 11 00 01 00 10 00 10 00 10 00 10 11 17 2. Určete obsahy registrů v0 a v1: v0 = {05, 07, 0A, 0B, 0C, 0D, 02, 04} v1 = {0A, 0C, 02, 06, AB, DE, AA, A5}

Řešení II 3. Jak může vektorový procesor číst/zapisovat data řídkých matic? Data řídkých matic lze číst/zapisovat pomocí operací scatter&gather tedy pomocí instrukcí lvws a svws. 4. Jak může vektorový procesor provádět operace s vybranými složkami vektoru? Nad vybranými složkami lze pracovat pomocí maskování viz instrukce lvi a svi.