SZÁMÍTÓGÉP ARCHITEKTÚRÁK

Hasonló dokumentumok
Számítógép Architektúrák

Számítógép Architektúrák

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

Számítógépek felépítése, alapfogalmak

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

Számítógép Architektúrák

Számítógép architektúra

Számítógép architektúrák záróvizsga-kérdések február

Számítógépek felépítése

Első sor az érdekes, IBM PC ra alapul: 16 bites feldolgozás, 8 bites I/O (olcsóbb megoldás). 16 kbyte RAM. Nem volt háttértár, 5 db ISA foglalat

Számítógépek felépítése, alapfogalmak

Digitális Rendszerek és Számítógép Architektúrák (BSc államvizsga tétel)

Számítógép Architektúrák

egy szisztolikus példa

Adatok ábrázolása, adattípusok

OPERÁCIÓS RENDSZEREK. Elmélet

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes.

Számítógépek architektúrák. Architektúrák

Számítógép Architektúrák

Párhuzamos és Grid rendszerek

Magas szintű optimalizálás

Fejezetek az Információ-Technológia Kultúrtörténetéből

Számítógép Architektúrák

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

Mikrorendszerek tervezése

Számítógép Architektúrák

Számítógép Architektúrák

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Számítógép Architektúrák

Mintavételes szabályozás mikrovezérlő segítségével

Bepillantás a gépházba

Programmable Chip. System on a Chip. Lazányi János. Tartalom. A hagyományos technológia SoC / PSoC SoPC Fejlesztés menete Mi van az FPGA-ban?

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

Operandus típusok Bevezetés: Az utasítás-feldolgozás menete

(kernel3d vizualizáció: kernel245_graph.mpg)

Flynn féle osztályozás Single Isntruction Multiple Instruction Single Data SISD SIMD Multiple Data MISD MIMD

Bevezetés. Többszálú, többmagos architektúrák és programozásuk Óbudai Egyetem, Neumann János Informatikai Kar

Nagy Gergely április 4.

Számítógép Architektúrák

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc -

A Számítógépek hardver elemei

Jelfeldolgozás a közlekedésben

Labor gyakorlat Mikrovezérlők

Számítógép Architektúrák

SzA19. Az elágazások vizsgálata

A programozás alapjai 1 Rekurzió

Programozási nyelvek a közoktatásban alapfogalmak I. előadás

Az Informatika Elméleti Alapjai

Digitális rendszerek. Digitális logika szintje

elektronikus adattárolást memóriacím

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

SZÁMÍTÓGÉPES ARCHITEKTÚRÁK

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

Feladatlap: Számítógép összetevők keresése

Bevezetés az informatikába

A fejlődés megindulása. A Z3 nevet viselő 1941-ben megépített programvezérlésű elektromechanikus gép már a 2-es számrendszert használta.

2012. őszi ZH-k és Vizsgák

Bevezető a mikrokontrollerek, az IoT és

1. Fejezet: Számítógép rendszerek. Tipikus számítógép hirdetés

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Az interrupt Benesóczky Zoltán 2004

Az MTA Cloud a tudományos alkalmazások támogatására. Kacsuk Péter MTA SZTAKI

Programozási nyelvek 6. előadás

Digitális technika (VIMIAA01) Laboratórium 9

Hardver Ismeretek IA32 -> IA64

Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei. kisszámítógépes rendszerekben. Kutató Intézet

Informatika érettségi vizsga

Digitális technika (VIMIAA01) Laboratórium 9

A számítógép fő részei

Grafikus csővezeték 1 / 44

Számítógép Architektúrák I-II-III.

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

Digitális rendszerek. Utasításarchitektúra szintje

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő)

Parciális rekonfiguráció Heterogán számítási rendszerek VIMIMA15

Architektúrák és operációs rendszerek: Bevezetés - Történelem

DSP architektúrák dspic30f család memória kezelése

Architektúra, megszakítási rendszerek

A programozás alapjai

Processzor (CPU - Central Processing Unit)

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

FPGA áramkörök alkalmazásainak vizsgálata

Számítógépes alapismeretek

ISA szimulátor objektum-orientált modell (C++)

IT - Alapismeretek. Feladatgyűjtemény

Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Az informatika fejlõdéstörténete

VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK

ÉRZÉKELŐK ÉS BEAVATKOZÓK I. 0. TANTÁRGY ISMERTETŐ

A számítástechnika fejlődése

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

Labor gyakorlat Mikrovezérlők

LabView Academy. 4. óra párhuzamos programozás

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1

2017/12/16 21:33 1/7 Hardver alapok

Jacquard szövőgépe, vezérlési modulok használata 1805 lyukkártyás vezérlés

Átírás:

SZÁMÍTÓGÉP ARCHITEKTÚRÁK Információfeldolgozási modellek Horváth Gábor, Belső Zoltán BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu, belso@hit.bme.hu Budapest, 02/01/2018 1

ADMINISZTRATÍV INFORMÁCIÓK Horváth Gábor Hálózati Rendszerek és Szolgáltatások Tsz. Horváth Gábor Méréstechnika és Információs rendszerek Tsz. 2

ADMINISZTRATÍV INFORMÁCIÓK Honlap: http://www.hit.bme.hu/~ghorvath/szgarch Párhuzamos előadások: IB027: Belső Zoltán Q-I: Horváth Gábor Félévközi követelmények: Gyakorlatokon: min. 4 részvétel Gyakorlatváltás lehetséges Második hétig A két gyakvezérrel egyeztetés szükséges Egy nagy ZH sikeres teljesítése + sikeres vizsga Hiányzások Aktuális állást időnként közzétesszük Ha >4 méltányossági kérelem a Neptunban Max. 1x adják meg a teljes képzés során 3

ADMINISZTRATÍV INFORMÁCIÓK Számonkérések: HSZK-ban, Moodle alapon Elméleti kérdések: Kis kérdések (teszt, összekötős, stb.) Gyakorlati kérdések: Egyszerű számpéldák ZH: 60 perc Megfelelt: 40% Két pótlás (pót és pótpót) Vizsga: 90 perc, 50%-al több feladat Ponthatárok: 40%, 55%, 70%, 85% 4

ADMINISZTRATÍV INFORMÁCIÓK Jegyzet: Van (lásd: honlap) Kinyomtatása nem ajánlott: időnként frissül 5

MIRE JÓ EZ A TÁRGY? Megértjük, hogy...hogy épül föl egy modern számítógép...hogy épül föl egy modern processzor Mire jó ez nekünk: Aki ismeri a hardvert, a számítógépet nem fekete doboznak tekinti hatékonyabb programot ír ismeri a kompromisszumokat 6

MI AZ A SZÁMÍTÓGÉP? 7

Információfeldolgozási modellek 8

INFORMÁCIÓFELDOLGOZÁSI MODELLEK Hogyan fogalmazzuk meg a problémát egy számítógépnek? Vezérlésáramlásos modell Adatáramlásos modell Igényvezérelt modell 9

VEZÉRLÉSÁRAMLÁSOS MODELL Utasítások sorrendje: vezérlő token szabja meg Vezérlő token mozgása: Implicit (egyet lép előre) Explicit (goto, szubrutin, return, stb.) Utasítások közötti adatcsere: közös memória Program leírása: folyamatábra 10

VEZÉRLÉSÁRAMLÁSOS MODELL Példa: másodfokú egyenlet gyökei b± b 2 4 a c x 1,2 = 2a 11

VEZÉRLÉSÁRAMLÁSOS MODELL Párhuzamosság? v1, v2, v6, v7 v8, v9 x1, x2 12

VEZÉRLÉSÁRAMLÁSOS MODELL Párhuzamosság Fork/Join primitívekkel b± b2 4 a c x 1,2 = 2a 13

VEZÉRLÉSÁRAMLÁSOS MODELL Értékelés Párhuzamosítási lehetőségeket nem ismeri fel automatikusan, nem képes kiaknázni. Rendkívül elterjedt Példa: Neumann architektúra Vezérlő token: utasításszámláló Közös memória: regiszterek + rendszermemória 14

ADATÁRAMLÁSOS MODELL Honnan tudtuk, hogy ezek párhuzamosíthatók? v1, v2, v6, v7 v8, v9 x1, x2 Függőségi analízis! 15

ADATÁRAMLÁSOS MODELL Nincs vezérlő token Nincs közös memória Vezérlő token helyett: Utasítások végrehajtása automatikus: ha minden operandus megvan Közös memória helyett: Részeredményeket közvetlenül adják át egymásnak az utasítások Program leírása: egy precedenciagráf Példa: másodfokú egyenlet gyökei 16

ADATÁRAMLÁSOS MODELL 17

ADATÁRAMLÁSOS MODELL 18

ADATÁRAMLÁSOS MODELL 19

ADATÁRAMLÁSOS MODELL 20

ADATÁRAMLÁSOS MODELL 21

ADATÁRAMLÁSOS MODELL 22

ADATÁRAMLÁSOS MODELL 23

ADATÁRAMLÁSOS MODELL Értékelés Párhuzamosságot automatikusan felderíti Tisztán adatáramlásos számítógép nem terjedt el De az elv igen: Táblázatkezelők Out-of-order utasításvégrehajtás 24

IGÉNYVEZÉRELT MODELL Utasítások végrehajtása automatikus: ha szükség van az eredményre Összehasonlítva, utasítások végrehajtási ideje: Vezérlésáramlásos: ha odaér a token szájbarágós Adatáramlásos: ha minden operandus megvan szorgalmas Igényvezérelt: ha szükség van az eredményre lusta Példa: másodfokú egyenlet gyökei 25

IGÉNYVEZÉRELT MODELL 26

IGÉNYVEZÉRELT MODELL 27

IGÉNYVEZÉRELT MODELL 28

IGÉNYVEZÉRELT MODELL 29

IGÉNYVEZÉRELT MODELL 30

IGÉNYVEZÉRELT MODELL 31

IGÉNYVEZÉRELT MODELL 32

IGÉNYVEZÉRELT MODELL 33

IGÉNYVEZÉRELT MODELL 34

IGÉNYVEZÉRELT MODELL 35

IGÉNYVEZÉRELT MODELL 36

IGÉNYVEZÉRELT MODELL 37

IGÉNYVEZÉRELT MODELL 38

IGÉNYVEZÉRELT MODELL 39

IGÉNYVEZÉRELT MODELL 40

IGÉNYVEZÉRELT MODELL 41

IGÉNYVEZÉRELT MODELL 42

IGÉNYVEZÉRELT MODELL 43

IGÉNYVEZÉRELT MODELL Értékelés Párhuzamosságot automatikusan felderíti Tisztán igényvezérelt számítógép nem terjedt el De az elv igen: Funkcionális programnyelvek Google map-reduce API MAP művelet: részfeladatokra bontás REDUCE művelet: részeredmények összegzése Működés: Elosztott rendszer sok számítógéppel Részfeladatokra bont + részfeladatokat delegálja + eredményeket összegzi és visszaadja mindezt rekurzívan Igényvezérelt modell! 44

INFORMÁCIÓFELDOLGOZÁSI MODELLEK Összegzés: CPU-k programozói interfésze vezérlésáramlásos E fölött lehet igényvezérelt elven működő funkcionális nyelvet használni, vagy map-reduce-t Ez alatt lehet adatáramlásos utasítás-végrehajtást megvalósítani 45

INFORMÁCIÓFELDOLGOZÁSI MODELLEK Fibonacci sorozat 100-adik elemének kiszámolása φ1=1, φ 2 =1, φ n =φ n 1 + φ n 2, φ100 =? 46

INFORMÁCIÓFELDOLGOZÁSI MODELLEK (f1,f2) (1,1); for i=3 to 100 do (f1,f2) (f2, f1+f2); end eredm f2; 47

VEZÉRLÉSÁRAMLÁSOS MODELLEL 48

ADATÁRAMLÁSOS MODELLEL 49

IGÉNYVEZÉRELT MODELLEL A programot egyetlen összetett kifejezésként adjuk meg Legegyszerűbb rekurzióval: eredm = fib (1, 1, 3); fib (f1, f2, i) = if i > 100 then f2 else fib (f2, f1+f2, i+1); 50

Főbb vezérlésáramlásos architektúrák 51

A NEUMANN ARCHITEKTÚRA 1945, "First Draft of a Report on the EDVAC" c. tanulmány Első Neumann elvű számítógép: Institute for Advanced Study, Princeton Egyetem (1945-1951) Igazából: Turing 1936 Eckert & Mauchly 1943 52

A NEUMANN ARCHITEKTÚRA Újdonság: Az utasítások az adatokkal együtt vannak eltárolva a memóriában Korábban: programozás = kapcsolósor beállítás, újrahuzalozás Motiváció: A programot így könnyebb megváltoztatni (Új program az ENIAC-ra = 3 hét munka!!) Gyorsabban lehet több programot egymás után futtatni Programot generáló programot lehet írni Fordítóprogramok születése 53

A NEUMANN ARCHITEKTÚRA 54

A NEUMANN ARCHITEKTÚRA Memória tartalma: Fix bitszélességű adategységek Lehet Utasítás Egész szám Karakter Lebegőpontos Megkülönböztetés: NINCS! Attól függ, milyen utasítás nyúl hozzá 55

A NEUMANN ARCHITEKTÚRA Szűk keresztmetszet: Memória-sávszélesség! 56

A NEUMANN ARCHITEKTÚRA Önmódosító programok: Memóriaműveletekkel átírják saját utasításaikat Pár bájt spórolás vs. olvashatatlan kód Soha! Példa: Fibonacci sorozat N. eleme (lásd: jegyzet) 57

A HARVARD ARCHITEKTÚRA Harvard Mark I: Lyukkártyáról olvassa az utasításokat Relékapcsolókból álló memória tárolja az adatokat Eltérés a Neumann architektúrához képest: Az utasítások és az adatok tárolása fizikailag elkülönül egymástól 58

A HARVARD ARCHITEKTÚRA Klasszikus Harvard architektúra: Utasítások: kizárólag az utasításmemóriában Adatok: kizárólag az adatmemóriában A kétféle memóriaművelet átlapolható: Amíg lehívja az i. utasítás operandusát Azzal egy időben lehívhatja az i+1. utasítást Módosított Harvard architektúra: Utasítás memóriából is lehet adatot olvasni Alkalmazás: Mikrokontrollerek, jelfeldolgozó processzorok (PIC, Atmel,...) 59

Tematika 60

TEMATIKA Információfeldolgozási modellek (1. előadás) Vezérlésáramlásos Adatáramlásos Igényvezérelt 61

TEMATIKA A vezérlésáramlásos modell Előadás: Főbb architektúrák (pl. Neumann architektúra) Utasításkészletek CPU Perifériák Memória 62

TEMATIKA Perifériakezelés Előadás CPU Forgalomszabályozás, CPU tehermentesítése, buszok, déli híd északi híd, stb... A legfontosabb periféria: HDD/SSD Csatolófelületek: PCI, PCI Express, USB Perifériák Memória Gyakorlat Konkrét feladat: számkódos ajtónyitó Megvalósítás alapelemekből Megvalósítás Arduino-val Egyszerű perifériakezelés gyakorlása Periféria okozta terhelés számítása HDD késleltetés, átviteli sebesség, stb. SSD blokk-kezelés, szemétgyűjtés, stb. 63

TEMATIKA Memóriakezelés Előadás Memóriatechnológiák: SRAM, DRAM, SDRAM, DDR, DDR2, DDR3, DDR4, GDDR3, GDDR5, stb. memória időzítések Virtuális tárkezelés Cache memória Lokalitástudatos programozás Gyakorlat Numerikus példák Memóriaparancsok ütemezése Laptábla menedzsment Cache menedzsment CPU Perifériák Memória 64

TEMATIKA CPU CPU Előadás Pipeline utasításfeldolgozás Soron kívüli utasításvégrehajtás Szuperskalár processzorok Egyéb széles pipeline-ok Elágazásbecslés Perifériák Memória Gyakorlat Numerikus példák: Utasításütemezés, egymásrahatások azonosítása Utasítássorrend-optimalizálás 65

TEMATIKA SIMD feldolgozás Előadás Vektorprocesszorok Vektor utasításkészletek Vektorizálás Mutiprocesszoros rendszerek Előadás Szorosan csatolt rendszerek, többmagos processzorok, többszálúságot támogató processzorok, Lazán csatolt rendszerek: cluster, grid, Összeköttetések Osztott memóriakezelés 66

67