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úra

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

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

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

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

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

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

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ÉP ARCHITEKTÚRÁK

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

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

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.

Párhuzamos és Grid rendszerek

egy szisztolikus példa

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

OPERÁCIÓS RENDSZEREK. Elmélet

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

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

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

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

Digitális technika VIMIAA01 9. hét

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

Adatok ábrázolása, adattípusok

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

Magas szintű optimalizálás

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

Jelfeldolgozás a közlekedésben

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

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

Az Informatika Elméleti Alapjai

Nagy Gergely április 4.

Mikrorendszerek tervezése

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

(kernel3d vizualizáció: kernel245_graph.mpg)

A programozás alapjai 1 Rekurzió

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

Bepillantás a gépházba

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

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

Labor gyakorlat Mikrovezérlők

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

Programozási nyelvek 6. előadás

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

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

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?

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

Grafikus csővezeték 1 / 44

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

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.

Az interrupt Benesóczky Zoltán 2004

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

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

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

elektronikus adattárolást memóriacím

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

Architektúra, megszakítási rendszerek

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

Bevezető a mikrokontrollerek, az IoT és

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

Bevezetés az informatikába

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

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

Számítógép architektúrák. A mai témák. A teljesítmény fokozás. A processzor teljesítmény növelése

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

SzA19. Az elágazások vizsgálata

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

Funkcionális Nyelvek 2 (MSc)

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

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

Labor gyakorlat Mikrovezérlők

Digitális technika (VIMIAA01) Laboratórium 9

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

Digitális technika (VIMIAA01) Laboratórium 9

Digitális technika VIMIAA hét

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Informatika érettségi vizsga

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

Gépipari Technológiai Intézet

Elvonatkoztatási szintek a digitális rendszertervezésben

Objektumorientált Programozás III.

Digitális technika VIMIAA hét

Elosztott rendszer architektúrák

Hardver Ismeretek IA32 -> IA64

IT - Alapismeretek. Feladatgyűjtemény

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

Szenzorhálózatok programfejlesztési kérdései. Orosz György

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

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

Programok értelmezése

Digitális rendszerek. Digitális logika szintje

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

A programozás alapjai

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

Átírás:

1. Információfeldolgozási modellek Horváth Gábor 2016. február 18. Budapest docens BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu

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 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 Két 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: Elméleti kérdések: Kis kérdések Gyakorlati kérdések: Egyszerű számpéldák ZH: 90 perc Megfelelt: 40% 60% feletti rész a vizsgapontszámhoz adódik TVSZ: Az egyik ZH-ra nem vehető igénybe pótlás A másikra kettő is (pót és pótpót) Vizsga: 120 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: Felhasználónak nem fontos Aki programozza, annak jobb a számítógépet nem fekete doboznak tekinti hatékonyabb programot ír tudja a kompromisszumokat 7

Mi az a számítógép? 8

Információfeldolgozási modellek 9

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 10

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 11

Vezérlésáramlásos modell Példa: másodfokú egyenlet gyökei b± b 2 4 a c x 1,2 = 2a 12

Vezérlésáramlásos modell Párhuzamosság? v1, v2, v6, v7 v8, v9 x1, x2 13

Vezérlésáramlásos modell Párhuzamosság Fork/Join primitívekkel b± b2 4 a c x 1,2 = 2a 14

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 15

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! 16

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 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 24

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 25

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 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 44

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! 45

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 46

Esettanulmány Fibonacci sorozat 100-adik elemének kiszámolása φ 1=1, φ 2 =1, φ n =φ n 1 + φ n 2, φ 100 =? 47

Vezérlésáramlásos modellel (f1,f2) (1,1); for i=3 to 100 do (f1,f2) (f2, f1+f2); end eredm f2; 48

Vezérlésáramlásos modellel 49

Adatáramlásos modellel 50

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); 51

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

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 53

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 54

A Neumann architektúra 55

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á 56

A Neumann architektúra Szűk keresztmetszet: Memória-sávszélesség! 57

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) 58

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 59

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,...) 60

Tematika 61

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

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 63

Tematika Perifériakezelés CPU Előadás Forgalomszabályozás, CPU tehermentesítése, buszok, déli híd északi híd, stb... A legfontosabb periféria: HDD/SSD Perifériák Memória Csatolófelületek: PCI, PCI Express, USB 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. 64

Tematika Memóriakezelés CPU 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 Perifériák Memória Cache memória Lokalitástudatos programozás Gyakorlat Numerikus példák Memóriaparancsok ütemezése Laptábla menedzsment Cache menedzsment 65

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

Tematika SIMD feldolgozás Előadás Vektorprocesszorok Vektor utasításkészletek Vektorizálás Tömbprocesszorok 67

Tematika 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 Gyakorlat (fennmaradó idő függvényében) Multiprocesszoros rendszerek programozása: OpenCL, OpenMP, 68