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

Méret: px
Mutatás kezdődik a ... oldaltól:

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

Átírás

1 Soron kívüli utasítás-végrehajtás Horváth Gábor április 27. Budapest docens BME Hálózati Rendszerek és Szolgáltatások Tsz.

2 Különböző késleltetésű műveletek Láttuk, hogy a lebegőpontos műveletek késleltetése nagyobb 2

3 Különböző késleltetésű műveletek C kód: Elemi utasítások: for (i=0; i<n; i++) Z[i]=A*X[i]; A: D0 X[i]: MEM[R1] Z[i]: MEM[R2] Utasítások ütemezése: (szorzás: 5 órajel, egész és memóriaművelet: 1 órajel) Utasítások: IF ID EX MEM WB IF ID A* IF F* M0 M1 M2 M3 M4 MEM WB ID A* A* A* A* EX MEM WB IF F* F* F* F* ID EX MEM WB IF ID EX MEM 14. WB 3

4 Optimalizálás Optimalizáljuk a programot a sorok átrendezésével! Eredeti utasítássorozat: Optimalizált utasítássorozat: Utasítások: IF ID EX MEM WB IF ID A* IF F* M0 M1 M2 M3 M4 MEM WB ID EX MEM WB IF ID A* A* A* EX MEM WB IF F* F* F* ID EX MEM WB 4

5 Optimalizálás Utasítások átrendezésével gyorsabb lett a program Problémák: Kihasználása a programozón / fordítón múlik Minden pipeline struktúrára máshogy kell Kívánatos megoldás: Csinálja a CPU, röptében! Rendezze át az utasításokat kénye-kedve szerint Úgy, hogy gyorsabb legyen Úgy, hogy a szemantika ne változzon Soron kívüli (out-of-order) utasítás-végrehajtás Megvalósítás: Nem is túl bonyolult Régóta alkalmazott elv Első: Scoreboard 1964 Fejlettebb: Tomasulo 1967 Mind a mai napig használják (pl. Intel Core i7) 5

6 Soron kívüli utasítás-végrehajtás 6

7 A kezdetek... Első out-of-order processzor: 1964: CDC 6600 Tervező: Seymour Cray Tulajdonságok: 16 műveleti egység 10 MHz órajel > tranzisztor 5 tonna Huzalozott vezérlés 5 éven át a leggyorsabb a világon 7

8 CDC-6600 Freon alapú hűtés minden szekrényben: Duál vektorgrafikus megjelenítő: 8

9 Cray vs. IBM Thomas Watson (IBM): Múlt héten megjelent a CDC Annál a cégnél összesen 34-en dolgoznak a portással együtt. Közülük csak 14 mérnök és csak 4 programozó. Nem értem, hogy a mi hatalmas fejlesztési ráfordításaink mellett hogy veszthettük el a vezető pozíciónkat, hogy hagyhattuk, hogy más építse meg a világ leggyorsabb számítógépét. 9

10 Cray vs. IBM Seymour Cray (CD) Úgy tűnik, Mr. Watson már meg is válaszolta a kérdését 10

11 Soronkívüli végrehajtás hozzávalói Több utasítást is le kell hívnunk, melyek közül válogatunk Ezeket tárolni kell valahol: utasítástároló Egy eljárás, ami eldönti az utasítások végrehajtási sorrendjét dinamikus ütemező Egy jó ötlet, amivel az utasítások közötti függőségek csökkenthetők regiszterátnevezés Egy trükk, hogy a külvilág sorrendi végrehajtást lásson sorrend-visszaállító buffer 11

12 Soronkívüli végrehajtás hozzávalói Több utasítást is le kell hívnunk, melyek közül válogatunk Ezeket tárolni kell valahol: utasítástároló Egy eljárás, ami eldönti az utasítások végrehajtási sorrendjét dinamikus ütemező Egy jó ötlet, amivel az utasítások közötti függőségek csökkenthetők regiszterátnevezés Egy trükk, hogy a külvilág sorrendi végrehajtást lásson sorrend-visszaállító buffer 12

13 Utasítástároló Utasítások lehívása (IF) sorrendben Utasítások végrehajtása (EX) soron kívül az utasítástároló csak az ID fázisban lehet! 13

14 Utasítástároló Az utasítástároló két részre vágja a futószalagot: Front-end: sorrendi belépés Back-end: soron kívül belépés 14

15 Utasítástároló ID ketté bomlik (nem egységes elnevezések!): ID1: Dispatch (DS) dekódolás, tárolóba tétel ID2: Issue (IS) operandusok összevadászása, műveleti egységhez rendelés 15

16 Utasítástároló Alternatív nevek: Reservation Station, Instruction Window, stb. Felépítés lehet: elosztott (műveleti egységenként külön) centralizált (minden műveleti egységre közös) CPU Utasítás tároló típusa mérete IBM PowerPC4 Elosztott 31 Intel Pentium III Centralizált 20 Intel Pentium 4 Hibrid (1 mem. Műv, 1 többi) 126 (72/54) Intel Core Centralizált 32 AMD K6 Centralizált 72 AMD Opteron Elosztott 60 16

17 Soronkívüli végrehajtás hozzávalói Több utasítást is le kell hívnunk, melyek közül válogatunk. Ezeket tárolni kell valahol: utasítástároló Egy eljárás, ami eldönti az utasítások végrehajtási sorrendjét dinamikus ütemező Egy jó ötlet, amivel az utasítások közötti függőségek csökkenthetők regiszterátnevezés Egy trükk, hogy a külvilág sorrendi végrehajtást lásson sorrend-visszaállító buffer 17

18 Soronkívüli végrehajtás hozzávalói Több utasítást is le kell hívnunk, melyek közül válogatunk. Ezeket tárolni kell valahol: utasítástároló Egy eljárás, ami eldönti az utasítások végrehajtási sorrendjét dinamikus ütemező Egy jó ötlet, amivel az utasítások közötti függőségek csökkenthetők regiszterátnevezés Egy trükk, hogy a külvilág sorrendi végrehajtást lásson sorrend-visszaállító buffer 18

19 Dinamikus utasítás-ütemezés Utasítások végrehajtási sorrendje: Adatáramlásos modell szerint! Az utasítássorozatból egy precedenciagráfot építünk Csomópontok: utasítások Élek: mely másik utasítást kell bevárni a végrehajtás előtt Egy utasítás végrehajtható, ha minden utasítás, amitől függ, lefutott. Ha egy utasítás végrehajtható, és van szabad egység, végrehajtjuk 19

20 Példa 20

21 Példa 21

22 Példa 22

23 Példa 23

24 Példa 24

25 Példa 25

26 Példa 26

27 Példa 27

28 Példa 28

29 Soronkívüli végrehajtás hozzávalói Több utasítást is le kell hívnunk, melyek közül válogatunk Ezeket tárolni kell valahol: utasítástároló Egy eljárás, ami eldönti az utasítások végrehajtási sorrendjét dinamikus ütemező Egy jó ötlet, amivel az utasítások közötti függőségek csökkenthetők regiszterátnevezés Egy trükk, hogy a külvilág sorrendi végrehajtást lásson sorrend-visszaállító buffer 29

30 Soronkívüli végrehajtás hozzávalói Több utasítást is le kell hívnunk, melyek közül válogatunk Ezeket tárolni kell valahol: utasítástároló Egy eljárás, ami eldönti az utasítások végrehajtási sorrendjét dinamikus ütemező Egy jó ötlet, amivel az utasítások közötti függőségek csökkenthetők regiszterátnevezés Egy trükk, hogy a külvilág sorrendi végrehajtást lásson sorrend-visszaállító buffer 30

31 Regiszterátnevezés Cél: a függőségi gráf megritkítása Milyen függőségeket ismerünk: RAW: Valódi függőség, nem feloldható WAR:... WAW:... D3 MEM[R1] Meglepetés: a WAR és WAW függőségek feloldhatók! Álfüggőségek 31

32 Regiszterátnevezés Miért ír a programozó ilyen kódot? WAR:... WAW:... D3 MEM[R1] Újra felhasználja a regisztereket, mert nincs elég! Tegyünk a processzorba nagyon sok regisztert Fizikai regiszterek De a programozó ezt nem látja Logikai/architekturális regiszterekkel dolgozik A CPU a beolvasott programot röptében átírja Regiszterátnevezés 32

33 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T3 R2 T46 R3 T8 D0 U9 D1 U24 D2 U17 D3 U4 33

34 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T3 R2 T46 R3 T8 D0 U9 D1 U24 D2 U25 D3 U4 34

35 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] U26 U25 * U9 Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T3 R2 T46 R3 T8 D0 U9 D1 U24 D2 U25 D3 U4 35

36 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] U26 U25 * U9 Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T3 R2 T46 R3 T8 D0 U9 D1 U24 D2 U25 D3 U26 36

37 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T3 R2 T46 R3 T8 D0 U9 D1 U24 D2 U25 D3 U26 37

38 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T3 R2 T46 R3 T8 D0 U9 D1 U24 D2 U25 D3 U26 38

39 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T47 R2 T46 R3 T8 D0 U9 D1 U24 D2 U25 D3 U26 39

40 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T47 R2 T46 R3 T8 D0 U9 D1 U24 D2 U25 D3 U26 40

41 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T47 R2 T48 R3 T8 D0 U9 D1 U24 D2 U25 D3 U26 41

42 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T U27 MEM[T47] Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T47 R2 T48 R3 T8 D0 U9 D1 U24 D2 U25 D3 U26 42

43 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T U27 MEM[T47] Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T47 R2 T48 R3 T8 D0 U9 D1 U24 D2 U27 D3 U26 43

44 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T U27 MEM[T47] U28 U27 * U9 Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T47 R2 T48 R3 T8 D0 U9 D1 U24 D2 U27 D3 U26 44

45 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T U27 MEM[T47] U28 U27 * U9 Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T47 R2 T48 R3 T8 D0 U9 D1 U24 D2 U27 D3 U28 45

46 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T U27 MEM[T47] U28 U27 * U9 MEM[T48] U28 Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T47 R2 T48 R3 T8 D0 U9 D1 U24 D2 U27 D3 U28 46

47 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T U27 MEM[T47] U28 U27 * U9 MEM[T48] U28 T49 T Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T47 R2 T48 R3 T8 D0 U9 D1 U24 D2 U27 D3 U28 47

48 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T U27 MEM[T47] U28 U27 * U9 MEM[T48] U28 T49 T Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T49 R2 T48 R3 T8 D0 U9 D1 U24 D2 U27 D3 U28 48

49 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T U27 MEM[T47] U28 U27 * U9 MEM[T48] U28 T49 T T50 T Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T49 R2 T48 R3 T8 D0 U9 D1 U24 D2 U27 D3 U28 49

50 Regiszterátnevezés Eszköz: Regiszter leképző tábla i. bejegyzése: az i. logikai regiszter melyik fizikaihoz van rendelve Eljárás: Az utasítás operandusait fizikai regiszterekre cseréli Az eredményt mindig egy új, nem használt fizikai regiszterbe teszi Frissíti a regiszter leképző táblát Eredeti: Átnevezés után: U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T U27 MEM[T47] U28 U27 * U9 MEM[T48] U28 T49 T T50 T Regiszter leképző tábla: Logikai reg. Fizikai reg. R0 T21 R1 T49 R2 T50 R3 T8 D0 U9 D1 U24 D2 U27 D3 U28 50

51 Regiszterátnevezés Eredmény: Eltűnt minden WAW és WAR!...hiszen az eredményt mindig tiszta regiszterbe tettük A precedenciagráf: Regiszterátnevezés előtt: Regiszterátnevezés után: 51

52 Példa U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T U27 MEM[T47] U28 U27 * U9 MEM[T48] U28 T49 T T50 T

53 Példa U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T U27 MEM[T47] U28 U27 * U9 MEM[T48] U28 T49 T T50 T

54 Példa U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T U27 MEM[T47] U28 U27 * U9 MEM[T48] U28 T49 T T50 T

55 Példa U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T U27 MEM[T47] U28 U27 * U9 MEM[T48] U28 T49 T T50 T

56 Példa U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T U27 MEM[T47] U28 U27 * U9 MEM[T48] U28 T49 T T50 T

57 Példa U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T U27 MEM[T47] U28 U27 * U9 MEM[T48] U28 T49 T T50 T

58 Példa U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T U27 MEM[T47] U28 U27 * U9 MEM[T48] U28 T49 T T50 T

59 Példa U25 MEM[T3] U26 U25 * U9 MEM[T46] U26 T47 T3 + 8 T48 T U27 MEM[T47] U28 U27 * U9 MEM[T48] U28 T49 T T50 T

60 Regiszterátnevezés Konklúzió: Hatásos! Minél nagyobb az utasítástároló, annál inkább 60

61 Soronkívüli végrehajtás hozzávalói Több utasítást is le kell hívnunk, melyek közül válogatunk Ezeket tárolni kell valahol: utasítástároló Egy eljárás, ami eldönti az utasítások végrehajtási sorrendjét dinamikus ütemező Egy jó ötlet, amivel az utasítások közötti függőségek csökkenthetők regiszterátnevezés Egy trükk, hogy a külvilág sorrendi végrehajtást lásson sorrend-visszaállító buffer 61

62 Soronkívüli végrehajtás hozzávalói Több utasítást is le kell hívnunk, melyek közül válogatunk Ezeket tárolni kell valahol: utasítástároló Egy eljárás, ami eldönti az utasítások végrehajtási sorrendjét dinamikus ütemező Egy jó ötlet, amivel az utasítások közötti függőségek csökkenthetők regiszterátnevezés Egy trükk, hogy a külvilág sorrendi végrehajtást lásson sorrend-visszaállító buffer 62

63 Sorrend-visszaállító buffer Soron kívüli végrehajtás nemkívánatos mellékhatása: Regiszterek/memória nem a program sorrendjében változnak A memóriát több szerepélő is használhatja Más processzorok, perifériák, stb. Nem biztos, hogy erre fel vannak készülve! Megoldás: sorrend-visszaállító buffer (ROB) Utasítás belépésekor kap egy bejegyzést Ha a végrehajtás kész, beíródik, hogy Mi az eredménye Melyik regiszterbe / memóriacímre szánja az eredményt Akkor érvényesülnek a változások, ha minden korábbi utasításé már érvényesült! 63

64 Példa Utasítás: Kész? U25 MEM[T3] Eredm. Hova? U25 64

65 Példa Utasítás: Kész? Eredm. Hova? U25 MEM[T3] U25 U26 U25 * U9 U26 65

66 Példa Utasítás: Kész? U25 MEM[T3] Eredm. Hova? <érték> U25 U26 U25 * U9 U26 MEM[T46] U26 MEM[T46] 66

67 Példa Utasítás: Kész? U25 MEM[T3] Eredm. Hova? <érték> U25 U26 U25 * U9 U26 MEM[T46] U26 MEM[T46] T47 T3 + 8 T47 67

68 Példa Utasítás: Kész? U25 MEM[T3] Eredm. Hova? <érték> U25 U26 U25 * U9 U26 MEM[T46] U26 MEM[T46] T47 T3 + 8 T47 T48 T T48 68

69 Példa Utasítás: Kész? U25 MEM[T3] Eredm. Hova? <érték> U25 U26 U25 * U9 U26 MEM[T46] U26 MEM[T46] T47 T3 + 8 <érték> T47 T48 T T48 U27 MEM[T47] U27 Kiszámolta a T47 értékét, de nem írhatja be a regiszter tárolóba. Akinek kell, az innen kiveheti. 69

70 Példa Utasítás: Kész? U25 MEM[T3] Eredm. Hova? <érték> U25 U26 U25 * U9 U26 MEM[T46] U26 MEM[T46] T47 T3 + 8 <érték> T47 T48 T <érték> T48 U27 MEM[T47] U27 U28 U27 * U9 U28 70

71 Példa Utasítás: Kész? Eredm. Hova? U25 MEM[T3] <érték> U25 U26 U25 * U9 <érték> U26 MEM[T46] U26 MEM[T46] T47 T3 + 8 <érték> T47 T48 T <érték> T48 U27 MEM[T47] <érték> U27 U28 U27 * U9 U28 MEM[T48] U28 MEM[T48] 71

72 Példa Utasítás: Kész? Eredm. Hova? U25 MEM[T3] <érték> U25 U26 U25 * U9 <érték> U26 MEM[T46] U26 <érték> MEM[T46] T47 T3 + 8 <érték> T47 T48 T <érték> T48 U27 MEM[T47] <érték> U27 U28 U27 * U9 U28 MEM[T48] U28 MEM[T48] T49 T T49 72

73 Konkrét megvalósítások 73

74 Konkrét megvalósítások Nem minden megvalósítás használ minden elemet: Scoreboard (1964): se regiszterátnevezés, se ROB Tomasulo (IBM, 1967): van regiszterátnevezés, ROB nincs Intel P6 óta (Core i7 is): mindegyiket használja Mobil eszközökben is: ARM Cortex A9 óta 74

75 Scoreboard a CDC 6600-ban Utasítások végrehajtása a CDC 6600-ban 5 fázisból áll: IF: lehívás DS: dekódolás & műveleti egységhez rendelés IS: forrásoperandusok kiolvasása EX: végrehajtás WB: regiszter visszaírás Egymásrahatások kezelése: WAW: nem engedjük belépni a DS-be D1 D2 / D3; ; D1 MEM [R0] RAW: nem engedjük belépni az IS-be D1 D2 / D3; ; D5 D1 + D0 WAR: nem endgedjük belépni a WB-be D5 D1 / D3; ; D1 MEM [R0] 75

76 Scoreboard A CDC 6600 Scoreboard-ot használ Az utasítások végrehajtási állapotának A műveleti egységek foglaltsági állapotának...nyilvántartására. Táblázatok: Utasítás állapot tábla: az utasítás melyik fázisban tart Regiszter állapot tábla: a regisztert melyik utasítás szándékozik megváltoztatni Műveleti egység tábla: minden műveleti egységre tárolja: Foglalt? Mit kell csinálni? Mi a két forrás operandus értéke? Ha valamelyik még nincs kész, melyik művelet eredménye lesz? Hova kell az eredményt írni? 76

77 Scoreboard Példa: 5 műveleti egység: 1 ALU 1 Load 1 Store 2 Lebegőpontos aritmetikai Késleltetés: 3 ciklus, iterációs idő: 3 ciklus 77

78 Scoreboard példa 78

79 Scoreboard példa 79

80 Scoreboard példa 80

81 Scoreboard példa 81

82 Scoreboard példa 82

83 Scoreboard példa 83

84 Scoreboard példa 84

85 Scoreboard példa 85

86 Scoreboard példa 86

87 Scoreboard példa 87

88 Scoreboard példa 88

89 Scoreboard értékelés Egyszerű Viszonylag hatékony Magas szintű programok (FORTRAN): 1.7x gyorsabbak Alacsony szintű, optimalizált programok: 2.5x gyorsabbak Egymásrahatások kezelése: WAW: nem engedjük belépni a DS-be RAW: nem engedjük belépni az IS-be WAR: nem engedjük belépni a WB-be 89

90 A kihívó 1967: IBM 360/91-es processzor Out-of-order algoritmust Robert Tomasulo tervezte A P6 architektúra ma is ennek egy változatát használja (pl. Intel Core i7) Miben jobb? Egymásrahatások kezelésében WAW, WAR feloldása: regiszter átnevezéssel Feldolgozási egymásrahatások kiküszöbölése várakozó sorral: utasítás tároló Könnyen kiegészíthető, hogy a külvilág sorrendi végrehajtást lásson: sorrendvisszaállító bufferrel 90

91 Tomasulo algoritmus a P6-ban Reorder Buffer mezők: V: utasítás eredménye (érték) R: eredményregiszter neve, ide kell majd írni az eredményt Addr: Store esetén erre a címre kell majd írni az eredményt Ready bit: kész-e az utasítás végrehajtása Reservation Station mezők: Egység: az utasítás által igényelt egység azonosítója Művelet kódja (+,, *, /, Load, Store, stb.) T: ebbe a ROB bejegyzésbe kell majd írni az eredményt RA, RB: a 2 forrásoperandus EA, EB: ha nincs meg minden forrásoperandus, ebből a ROB bejegyzésből kell majd venni, ha kész lesz 91

92 Tomasulo algoritmus a P6-ban Regiszter állapot tábla: Minden architekturális regiszterhez egy bejegyzés Vagy a regiszter értéke Vagy a ROB bejegyzés száma, ahol Vagy már meg is van az értéke Vagy még nincs meg az értéke, de majd ott jelenik meg CDB: Common data bus Üzenetszórásos busz Ha egy utasítás kész, ezen keresztül kürtöli világgá Aki pont rá várt, így tudja meg, hogy már nem kell várnia 92

93 Tomasulo P6 Példa: 5 műveleti egység: 1 ALU 1 Load 1 Store 2 Lebegőpontos aritmetikai Késleltetés: 3 ciklus, iterációs idő: 3 ciklus Centralizált, 3 bejegyzéses utasítástároló 93

94 Tomasulo P6 példa 94

95 Tomasulo P6 példa 95

96 Tomasulo P6 példa 96

97 Tomasulo P6 példa 97

98 Tomasulo P6 példa 98

99 Tomasulo P6 példa 99

100 Tomasulo P6 példa 100

101 Tomasulo P6 példa 101

102 Tomasulo P6 példa 102

103 Tomasulo P6 példa 103

104 Tomasulo P6 példa 104

105 Tomasulo P6 példa 105

106 Tomasulo P6 értékelés Egyszerű, de sokkal hatékonyabb a Scoreboard-nál Egy pillanat: hol volt itt a regiszterátnevezés? Bújtatott formában Fizikai regiszterek: ROB bejegyzések Ide kerülnek az eredmények Az ettől függő utasítások innen veszik a forrásoperandust Regiszter leképző tábla: regiszter állapot tábla Itt az összerendelés: Melyik architekturális regiszterhez melyik fizikai (ROB bejegyzés) tartozik 106

107 Az alapelveken túl

108 Az alapelveken túl... Mit tegyünk elágazás esetén? Állítsuk meg az utasítások lehívását? Nem! Inkább találjuk ki, merre folytatódik a program! RAW egymásrahatások nem csak a regiszterek között lehetnek! Vannak memória egymásrahatások is Ezek is kezelést igényelnek 108

109 Spekulatív végrehajtás Utasítás csere-berének korlátot szabnak az elágazások Két feltételes ugrás közé eső utasítások: basic block Alapeset: Utasítás csere-bere csak basic blokkon belül...hiszen ki tudja előre, hol folytatódik a program? Spekulatív végrehajtás: Megtippeljük a feltételes elágazások kimenetelét elágazásbecslés A tippelt ágról is töltünk be utasításokat...és csere-beréljük őket basic blokkok között is! Sokkal hatékonyabb Mert általában sok a feltételes ugrás Többlet adminisztációt igényel: Spekulatíve betöltött utasítások kapnak egy flag-et a ROB-ban Ha nem jön be a spekuláció (rossz elágazásbecslés): A ROB-ból minden tévedésből betöltött utasítást törölni kell 109

110 Memória RAW egymásrahatás Milyen is a sima RAW egymásrahatás? R1 R2 / R3 R4 R1 + R5 Nincs mit tenni, i2 meg kell, hogy várja i1-et Scoreboard és Tomasulo sem tudott jobbat Könnyen detektálható, kezelhető Milyen is a memória RAW egymásrahatás? R2 R1 + 4 D0 D1 / D2 MEM[R1+8] D0 D3 MEM[R2+4] i3 i4 ilyen! 110

111 Memória RAW egymásrahatás Milyen is a memória RAW egymásrahatás? R2 R1 + 4 D0 D1 / D2 MEM[R1+8] D0 D3 MEM[R2+4] Nem lehet előre detektálni! Egészen i3 és i4 cím számításáig nem derül ki, hogy RAW áll fent Miért számít? RAW egymásrahatás nélkül i3 és i4 felcserélhető Jó is lenne felcserélni, mert D0 csak sokára lesz kész Addig is haladnánk, ha közben i4-et feldolgoznánk RAW egymásrahatás esetén nem cserélhetők fel! 111

112 Memória RAW egymásrahatás Mit tehetünk, ha Load-ba futunk? Végrehajtsuk? ROB-ban nincs előtte Store mehet ROB-ban van előtte befejezett Store más címre mehet ugyanarra a címre mehet, de nem a memóriából olvasunk, hanem a ROB-ból ROB-ban van előtte befejezetlen Store, cím kiszámolva más címre mehet ugyanarra a címre meg kell várni az érték megjelenését ROB-ban van előtte befejezetlen Store, cím sincs kiszámolva Bátrak vagy gyávák legyünk? Várjunk, attól félve, hátha RAW lesz? Haladjunk, arra számítva, hogy úgysem lesz RAW? 112

113 Memória egyértelműsítés Belefutunk egy Load-ba Feldolgozás alatt van a ROB-ban előtte egy Store Végre merjük-e hajtani a Load-ot? Memória egyértelműsítés (memory disambiguation) Nagyon gyakori! Utasítások közel harmada memóriaművelet Lokalitási elvek miatt gyakran vonatkoznak egyazon címre 113

114 Memória egyértelműsítés Lehetséges stratégiák: Konzervatív (gyáva): Load-ok kötelesek bevárni minden előttük lévő Store-t Optimista (vakmerő) Ne vegyünk tudomást a problémáról Gyorsabb, de kiderülhet, hogy rossz volt a döntés (írási és olvasási cím megegyezik) Ilyenkor vissza kell pörgetni az eseményeket: Load utáni utasítások invalidálása és újrakezdése a ROB-ban Spekulatív (okostojás) Optimistán kezd Ha egy utasítással egyszer pórul jár, megjegyzi: vele legközelebb konzervatív lesz 114

115 Összefoglalás Sok mindent tanultunk: Soron kívüli végrehajtás alapelve (precedenciagráf, adatáramlásos elv) Eszközei: Utasítástároló Regiszterátnevezés Sorrend-visszaállító buffer Megvalósításai: Scoreboard algoritmus Tomasulo-P6 algoritmus Fejlett technikák: Spekulatív végrehajtás Memória egyértelműsítés 115

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

SZÁMÍTÓGÉP ARCHITEKTÚRÁK SZÁMÍTÓGÉP ARCHITEKTÚRÁK Soron kívüli utasítás-végrehajtás 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, 2018-04-24 1 KÜLÖNBÖZŐ

Részletesebben

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

SZÁMÍTÓGÉP ARCHITEKTÚRÁK SZÁMÍTÓGÉP ARCHITEKTÚRÁK Az utasítás-pipeline szélesítése 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, 2018-05-19 1 UTASÍTÁSFELDOLGOZÁS

Részletesebben

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

Számítógép Architektúrák Az utasítás-pipeline szélesítése Horváth Gábor 2015. április 23. Budapest docens BME Hálózati Rendszerek és Szolgáltatások Tsz. ghorvath@hit.bme.hu Aktuális 2. ZH jövő csütörtök Memória technológiák, virtuális

Részletesebben

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

SZÁMÍTÓGÉP ARCHITEKTÚRÁK SZÁMÍTÓGÉP ARCHITEKTÚRÁK Pipeline utasításfeldolgozás 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, 2018-04-24 1 UTASÍTÁSOK

Részletesebben

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

Számítógépek felépítése Számítógépek felépítése Emil Vatai 2014-2015 Emil Vatai Számítógépek felépítése 2014-2015 1 / 14 Outline 1 Alap fogalmak Bit, Byte, Word 2 Számítógép részei A processzor részei Processzor architektúrák

Részletesebben

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

Számítógépek felépítése, alapfogalmak 2. előadás Számítógépek felépítése, alapfogalmak Lovas Szilárd, Krankovits Melinda SZE MTK MSZT kmelinda@sze.hu B607 szoba Nem reprezentatív felmérés kinek van ilyen számítógépe? 2 Nem reprezentatív felmérés

Részletesebben

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é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ép architektúrák A processzor teljesítmény növelése A mai témák CISC és RISC Párhuzamosságok Utasítás szintű párhuzamosságok Futószalag feldolgozás Többszörözés (szuperskalaritás) A függőségek

Részletesebben

SzA19. Az elágazások vizsgálata

SzA19. Az elágazások vizsgálata SzA19. Az elágazások vizsgálata (Az elágazások csoportosítása, a feltételes utasítások használata, a műveletek eredményének vizsgálata az állapottér módszerrel és közvetlen adatvizsgálattal, az elágazási

Részletesebben

A mai témák. Számítógép architektúrák. CISC és RISC. A teljesítmény fokozás. További előnyök. A RISC gondolat

A mai témák. Számítógép architektúrák. CISC és RISC. A teljesítmény fokozás. További előnyök. A RISC gondolat A mai témák Számítógép architektúrák A processzor teljesítmény növelése CISC és RISC Párhuzamosságok Utasítás szintű párhuzamosságok Futószalag feldolgozás Többszörözés (szuperskalaritás) A függőségek

Részletesebben

Digitális rendszerek. Digitális logika szintje

Digitális rendszerek. Digitális logika szintje Digitális rendszerek Digitális logika szintje CPU lapkák Mai modern CPU-k egy lapkán helyezkednek el Kapcsolat a külvilággal: kivezetéseken (lábak) keresztül Cím, adat és vezérlőjelek, ill. sínek (buszok)

Részletesebben

Adatok ábrázolása, adattípusok

Adatok ábrázolása, adattípusok Adatok ábrázolása, adattípusok Összefoglalás Adatok ábrázolása, adattípusok Számítógépes rendszerek működés: információfeldolgozás IPO: input-process-output modell információ tárolása adatok formájában

Részletesebben

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

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő) Memóriák (felejtő) Memória Kapacitás Ár Sebesség Memóriák - tárak Háttértár (nem felejtő) Memória Vezérlő egység Központi memória Aritmetikai Logikai Egység (ALU) Regiszterek Programok Adatok Ez nélkül

Részletesebben

Assembly. Iványi Péter

Assembly. Iványi Péter Assembly Iványi Péter További Op. rsz. funkcionalitások PSP címének lekérdezése mov ah, 62h int 21h Eredmény: BX = PSP szegmens címe További Op. rsz. funkcionalitások Paraméterek kimásolása mov di, parameter

Részletesebben

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 8. Fejezet Processzor (CPU) és memória: The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley

Részletesebben

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

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység Mikroprocesszor CPU C Central Központi P Processing Számító U Unit Egység A mikroprocesszor általános belső felépítése 1-1 BUSZ Utasítás dekóder 1-1 BUSZ Az utasítás regiszterben levő utasítás értelmezését

Részletesebben

Bevezetés az informatikába

Bevezetés az informatikába Bevezetés az informatikába 3. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.

Részletesebben

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

sallang avagy Fordítótervezés dióhéjban Sallai Gyula sallang avagy Fordítótervezés dióhéjban Sallai Gyula Az előadás egy kis példaprogramon keresztül mutatja be fordítók belső lelki világát De mit is jelent, az hogy fordítóprogram? Mit csinál egy fordító?

Részletesebben

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

Számítógép felépítése Alaplap, processzor Számítógép felépítése Az alaplap A számítógép teljesítményét alapvetően a CPU és belső busz sebessége (a belső kommunikáció sebessége), a memória mérete és típusa, a merevlemez sebessége

Részletesebben

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 8. Fejezet Processzor (CPU) és memória: The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley

Részletesebben

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

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges

Részletesebben

Digitális technika VIMIAA01 9. hét

Digitális technika VIMIAA01 9. hét BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges

Részletesebben

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

SZÁMÍTÓGÉP ARCHITEKTÚRÁK 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

Részletesebben

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

Számítógép Architektúrák Számítógép Architektúrák Utasításkészlet architektúrák 2015. április 11. Budapest Horváth Gábor docens BME Hálózati Rendszerek és Szolgáltatások Tsz. ghorvath@hit.bme.hu Számítógép Architektúrák Horváth

Részletesebben

Architektúra, megszakítási rendszerek

Architektúra, megszakítási rendszerek Architektúra, megszakítási ek Mirıl lesz szó? Megszakítás fogalma Megszakítás folyamata Többszintű megszakítási ek Koschek Vilmos Példa: Intel Pentium vkoschek@vonalkodhu Koschek Vilmos Fogalom A számítógép

Részletesebben

A mikroprocesszor egy RISC felépítésű (LOAD/STORE), Neumann architektúrájú 32 bites soft processzor, amelyet FPGA val valósítunk meg.

A mikroprocesszor egy RISC felépítésű (LOAD/STORE), Neumann architektúrájú 32 bites soft processzor, amelyet FPGA val valósítunk meg. Mikroprocesszor A mikroprocesszor egy RISC felépítésű (LOAD/STORE), Neumann architektúrájú 32 bites soft processzor, amelyet FPGA val valósítunk meg. A mikroprocesszor részei A mikroprocesszor a szokásos

Részletesebben

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

Számítógép architektúrák záróvizsga-kérdések február Számítógép architektúrák záróvizsga-kérdések 2007. február 1. Az ILP feldolgozás fejlődése 1.1 ILP feldolgozási paradigmák (Releváns paradigmák áttekintése, teljesítmény potenciáljuk, megjelenési sorrendjük

Részletesebben

Máté: Számítógép architektúrák

Máté: Számítógép architektúrák Elágazás jövendölés ok gép megjövendöli, hogy egy ugrást végre kell hajtani vagy sem. Egy triviális jóslás: a visszafelé irányulót végre kell hajtani (ilyen van a ciklusok végén), az előre irányulót nem

Részletesebben

VLIW processzorok (Működési elvük, jellemzőik, előnyeik, hátrányaik, kereskedelmi rendszerek)

VLIW processzorok (Működési elvük, jellemzőik, előnyeik, hátrányaik, kereskedelmi rendszerek) SzA35. VLIW processzorok (Működési elvük, jellemzőik, előnyeik, hátrányaik, kereskedelmi rendszerek) Működési elvük: Jellemzőik: -függőségek kezelése statikusan, compiler által -hátránya: a compiler erősen

Részletesebben

Számítógép architektúrák I. Várady Géza varadygeza@pmmik.pte.hu

Számítógép architektúrák I. Várady Géza varadygeza@pmmik.pte.hu Számítógép architektúrák I. Várady Géza varadygeza@pmmik.pte.hu 1 Bevezetés - fogalmak Informatika sokrétű Információk Szerzése Feldolgozása Tárolása Továbbítása Információtechnika Informatika a technikai

Részletesebben

Informatika 1 2. el adás: Absztrakt számítógépek

Informatika 1 2. el adás: Absztrakt számítógépek Informatika 1 2. el adás: Budapesti M szaki és Gazdaságtudományi Egyetem 2015-09-08 1 2 3 A egy M = Q, Γ, b, Σ, δ, q 0, F hetes, ahol Q az 'állapotok' nem üres halmaza, Γ a 'szalag ábécé' véges, nem üres

Részletesebben

Informatika érettségi vizsga

Informatika érettségi vizsga Informatika 11/L/BJ Informatika érettségi vizsga ÍRÁSBELI GYAKORLATI VIZSGA (180 PERC - 120 PONT) SZÓBELI SZÓBELI VIZSGA (30 PERC FELKÉSZÜLÉS 10 PERC FELELET - 30 PONT) Szövegszerkesztés (40 pont) Prezentáció-készítés

Részletesebben

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

Számítógépek felépítése, alapfogalmak 2. előadás Számítógépek felépítése, alapfogalmak Lovas Szilárd SZE MTK MSZT lovas.szilard@sze.hu B607 szoba Nem reprezentatív felmérés kinek van ilyen számítógépe? Nem reprezentatív felmérés kinek van

Részletesebben

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

Digitális rendszerek. Utasításarchitektúra szintje Digitális rendszerek Utasításarchitektúra szintje Utasításarchitektúra Jellemzők Mikroarchitektúra és az operációs rendszer közötti réteg Eredetileg ez jelent meg először Sokszor az assembly nyelvvel keverik

Részletesebben

VEZÉRLŐEGYSÉGEK. Tartalom

VEZÉRLŐEGYSÉGEK. Tartalom VEZÉRLŐEGYSÉGEK Tartalom VEZÉRLŐEGYSÉGEK... 1 Vezérlőegységek fajtái és jellemzői... 2 A processzor elemei... 2 A vezérlés modellje... 2 A vezérlőegységek csoportosítása a tervezés módszere szerint...

Részletesebben

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés . Számítógépek működési elve Bevezetés az informatikába. előadás Dudásné Nagy Marianna Az általánosan használt számítógépek a belső programvezérlés elvén működnek Külső programvezérlés... Vezérlés elve

Részletesebben

Központi vezérlőegység

Központi vezérlőegység Központi vezérlőegység A számítógép agya a központi vezérlőegység (CPU: Central Processing Unit). Két fő része a vezérlőegység (CU: Controll Unit), ami a memóriában tárolt program dekódolását és végrehajtását

Részletesebben

Grafikus csővezeték 1 / 44

Grafikus csővezeték 1 / 44 Grafikus csővezeték 1 / 44 Grafikus csővezeték Vertex feldolgozás A vertexek egyenként a képernyő térbe vannak transzformálva Primitív feldolgozás A vertexek primitívekbe vannak szervezve Raszterizálás

Részletesebben

Számítógépes alapismeretek

Számítógépes alapismeretek Számítógépes alapismeretek 1. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Programtervező Informatikus BSc 2008 / Budapest

Részletesebben

Magas szintű optimalizálás

Magas szintű optimalizálás Magas szintű optimalizálás Soros kód párhuzamosítása Mennyi a várható teljesítmény növekedés? Erős skálázódás (Amdahl törvény) Mennyire lineáris a skálázódás a párhuzamosítás növelésével? S 1 P 1 P N GPGPU

Részletesebben

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

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 Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei Kutató Intézet kisszámítógépes rendszerekben Tudományos számításokban gyakran nagy mennyiségű aritmetikai művelet elvégzésére van

Részletesebben

Architektúra, cache. Mirıl lesz szó? Mi a probléma? Teljesítmény. Cache elve. Megoldás. Egy rövid idıintervallum alatt a memóriahivatkozások a teljes

Architektúra, cache. Mirıl lesz szó? Mi a probléma? Teljesítmény. Cache elve. Megoldás. Egy rövid idıintervallum alatt a memóriahivatkozások a teljes Architektúra, cache irıl lesz szó? Alapfogalmak Adat cache tervezési terének alapkomponensei Koschek Vilmos Fejlıdés vkoschek@vonalkodhu Teljesítmény Teljesítmény növelése Technológia Architektúra (mem)

Részletesebben

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

Operandus típusok Bevezetés: Az utasítás-feldolgozás menete Operandus típusok Bevezetés: Az utasítás-feldolgozás menete Egy gépi kódú utasítás általános formája: MK Címrész MK = műveleti kód Mit? Mivel? Az utasítás-feldolgozás általános folyamatábrája: Megszakítás?

Részletesebben

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

Számítógép Architektúrák Multiprocesszoros rendszerek Horváth Gábor 2015. május 19. Budapest docens BME Híradástechnikai Tanszék ghorvath@hit.bme.hu Párhuzamosság formái A párhuzamosság milyen formáit ismerjük? Bit szintű párhuzamosság

Részletesebben

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

Számítógép architektúra Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár Számítógép architektúra Dr. Seebauer Márta főiskolai tanár seebauer.marta@roik.bmf.hu Irodalmi források Cserny L.: Számítógépek

Részletesebben

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

Számítógép Architektúrák 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

Részletesebben

Hardver Ismeretek IA32 -> IA64

Hardver Ismeretek IA32 -> IA64 Hardver Ismeretek IA32 -> IA64 Problémák az IA-32-vel Bonyolult architektúra CISC ISA (RISC jobb a párhuzamos feldolgozás szempontjából) Változó utasításhossz és forma nehéz dekódolni és párhuzamosítani

Részletesebben

ELŐADÁS 2016-01-05 SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA

ELŐADÁS 2016-01-05 SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA ELŐADÁS 2016-01-05 SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA A PC FIZIKAI KIÉPÍTÉSÉNEK ALAPELEMEI Chip (lapka) Mikroprocesszor (CPU) Integrált áramköri lapok: alaplap, bővítőkártyák SZÁMÍTÓGÉP FELÉPÍTÉSE

Részletesebben

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1 Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1. A folyamat (processzus, process) fogalma 2. Folyamatok: műveletek, állapotok, hierarchia 3. Szálak (threads)

Részletesebben

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

Számítógép Architektúrák Cache memória Horváth Gábor 2016. március 30. Budapest docens BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu Már megint a memória... Mindenről a memória tehet. Mert lassú. A virtuális

Részletesebben

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása A fordítóprogramok szerkezete Forrásprogram Forrás-kezelő (source handler) Kódoptimalizálás Fordítóprogramok előadás (A,C,T szakirány) Lexikális elemző (scanner) Szintaktikus elemző (parser) Szemantikus

Részletesebben

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

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix 2. Adattípusonként különböző regisztertér Célja: az adatfeldolgozás gyorsítása - különös tekintettel a lebegőpontos adatábrázolásra. Szorzás esetén karakterisztika összeadódik, mantissza összeszorzódik.

Részletesebben

Máté: Számítógép architektúrák

Máté: Számítógép architektúrák Az GOTO offset utasítás. P relatív: P értékéhez hozzá kell adni a két bájtos, előjeles offset értékét. Mic 1 program: Main1 P = P + 1; fetch; goto() goto1 OP=P 1 // Main1 nél : P=P+1 1. bájt goto P=P+1;

Részletesebben

Digitális rendszerek. Mikroarchitektúra szintje

Digitális rendszerek. Mikroarchitektúra szintje Digitális rendszerek Mikroarchitektúra szintje Mikroarchitektúra Jellemzők A digitális logika feletti szint Feladata az utasításrendszer-architektúra szint megalapozása, illetve megvalósítása Példa Egy

Részletesebben

A programozás alapjai

A programozás alapjai A programozás alapjai Változók A számítógép az adatokat változókban tárolja A változókat alfanumerikus karakterlánc jelöli. A változóhoz tartozó adat tipikusan a számítógép memóriájában tárolódik, szekvenciálisan,

Részletesebben

Elvonatkoztatási szintek a digitális rendszertervezésben

Elvonatkoztatási szintek a digitális rendszertervezésben Budapest Műszaki és Gazdaságtudományi Egyetem Elvonatkoztatási szintek a digitális rendszertervezésben Elektronikus Eszközök Tanszéke eet.bme.hu Rendszerszintű tervezés BMEVIEEM314 Horváth Péter 2013 Rendszerszint

Részletesebben

A processzor hajtja végre a műveleteket. összeadás, szorzás, logikai műveletek (és, vagy, nem)

A processzor hajtja végre a műveleteket. összeadás, szorzás, logikai műveletek (és, vagy, nem) 65-67 A processzor hajtja végre a műveleteket. összeadás, szorzás, logikai műveletek (és, vagy, nem) Két fő része: a vezérlőegység, ami a memóriában tárolt program dekódolását és végrehajtását végzi, az

Részletesebben

Hatékony memóriakezelési technikák. Smidla József Operációkutatási Laboratórium január 16.

Hatékony memóriakezelési technikák. Smidla József Operációkutatási Laboratórium január 16. Hatékony memóriakezelési technikák Smidla József Operációkutatási Laboratórium 2014. január 16. 1 Tartalom A cache áthidalása Cache optimalizálás Adatszerkezetek tervezése A programkód szerkezete Prefetch

Részletesebben

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1 Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1. A folyamat (processzus, process) fogalma 2. Folyamatok: műveletek, állapotok, hierarchia 3. Szálak (threads)

Részletesebben

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

Számítógép Architektúrák Számítógép Architektúrák Perifériakezelés a PCI-ban és a PCI Express-ben 2015. március 9. Budapest Horváth Gábor docens BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu Tartalom A

Részletesebben

Számítógép architektúrák. Korszerű architektúrák

Számítógép architektúrák. Korszerű architektúrák Számítógép architektúrák Korszerű architektúrák Mai program Pentium P6 processzor (esettanulmány) Párhuzamosítások a CPU-n kívül 2 Az Intel P6 család IA instrukciókat feldolgozó (x86, MMX, Katmai Iset),

Részletesebben

Egyszerű RISC CPU tervezése

Egyszerű RISC CPU tervezése IC és MEMS tervezés laboratórium BMEVIEEM314 Budapesti Műszaki és Gazdaságtudományi Egyetem Egyszerű RISC CPU tervezése Nagy Gergely Elektronikus Eszközök Tanszéke (BME) 2013. február 14. Nagy Gergely

Részletesebben

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

Számítógép architektúrák. A processzor teljesítmény növelése Számítógép architektúrák A processzor teljesítmény növelése A mai témák CISC és RISC Párhuzamosságok Utasítás szintű párhuzamosságok Futószalag feldolgozás Többszörözés (szuperskalaritás) A függőségek

Részletesebben

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output 1 Input/Output 1. I/O műveletek hardveres háttere 2. I/O műveletek szoftveres háttere 3. Diszkek (lemezek) ------------------------------------------------ 4. Órák, Szöveges terminálok 5. GUI - Graphical

Részletesebben

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

Számítógép Architektúrák A virtuális memória Horváth Gábor 2016. március 30. Budapest docens BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu Virtuális tárkezelés Motiváció: Multitaszking környezet Taszkok

Részletesebben

Első sor az érdekes, IBM PC. 8088 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

Első sor az érdekes, IBM PC. 8088 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 1 2 3 Első sor az érdekes, IBM PC. 8088 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 XT: 83. CPU ugyanaz, nagyobb RAM, elsőként jelent

Részletesebben

Számítógép architektúrák Korszerű architektúrák Mai program Pentium P6 processzor (esettanulmány) Párhuzamosítások a CPU-n kívül

Számítógép architektúrák Korszerű architektúrák Mai program Pentium P6 processzor (esettanulmány) Párhuzamosítások a CPU-n kívül Számítógép architektúrák Korszerű architektúrák Mai program Pentium P6 processzor (esettanulmány) Párhuzamosítások a CPU-n kívül Vadász, 2005. 2 Az Intel P6 család IA instrukciókat feldolgozó (x86 és Katmai

Részletesebben

Bevezetés az informatikába

Bevezetés az informatikába Bevezetés az informatikába 4. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.

Részletesebben

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

SZÁMÍTÓGÉP ARCHITEKTÚRÁK SZÁMÍTÓGÉP ARCHITEKTÚRÁK Cache memória 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, 2018-03-27 1 MÁR MEGINT A MEMÓRIA...

Részletesebben

Matematikai és Informatikai Intézet. 4. Folyamatok

Matematikai és Informatikai Intézet. 4. Folyamatok 4. Folyamatok A folyamat (processzus) fogalma Folyamat ütemezés (scheduling) Folyamatokon végzett "mûveletek" Folyamatok együttmûködése, kooperációja Szálak (thread) Folyamatok közötti kommunikáció 49

Részletesebben

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

Bevezetés. Többszálú, többmagos architektúrák és programozásuk Óbudai Egyetem, Neumann János Informatikai Kar Többszálú, többmagos architektúrák és programozásuk Óbudai Egyetem, Neumann János Informatikai Kar Bevezetés Motiváció Soros és párhuzamos végrehajtás, soros és párhuzamos programozás Miért? Alapfogalmak

Részletesebben

OPERÁCIÓS RENDSZEREK. Elmélet

OPERÁCIÓS RENDSZEREK. Elmélet 1. OPERÁCIÓS RENDSZEREK Elmélet BEVEZETÉS 2 Az operációs rendszer fogalma Az operációs rendszerek feladatai Csoportosítás BEVEZETÉS 1. A tantárgy tananyag tartalma 2. Operációs rendszerek régen és most

Részletesebben

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

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,

Részletesebben

Összeadás BCD számokkal

Összeadás BCD számokkal Összeadás BCD számokkal Ugyanúgy adjuk össze a BCD számokat is, mint a binárisakat, csak - fel kell ismernünk az érvénytelen tetrádokat és - ezeknél korrekciót kell végrehajtani. A, Az érvénytelen tetrádok

Részletesebben

Labor gyakorlat Mikrovezérlők

Labor gyakorlat Mikrovezérlők Labor gyakorlat Mikrovezérlők ATMEL AVR ARDUINO 1. ELŐADÁS BUDAI TAMÁS 2015. 09. 06. Tartalom Labor 2 mikrovezérlők modul 2 alkalom 1 mikrovezérlők felépítése, elmélet 2 programozás, mintaprogramok Értékelés:

Részletesebben

1. Az utasítás beolvasása a processzorba

1. Az utasítás beolvasása a processzorba A MIKROPROCESSZOR A mikroprocesszor olyan nagy bonyolultságú félvezető eszköz, amely a digitális számítógép központi egységének a feladatait végzi el. Dekódolja az uatasításokat, vezérli a műveletek elvégzéséhez

Részletesebben

Programozási nyelvek (ADA)

Programozási nyelvek (ADA) Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 3. előadás Programozási nyelv felépítése szabályok megadása Lexika Milyen egységek építik fel? Szintaktikus szabályok

Részletesebben

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb Input és Output 1 Bevitel-Kivitel Eddig a számítógép agyáról volt szó Processzusok, memória, stb Szükség van eszközökre Adat bevitel és kivitel a számitógépből, -be Perifériák 2 Perifériákcsoportosításá,

Részletesebben

Digitális technika VIMIAA01

Digitális technika VIMIAA01 BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 Fehér Béla BME MIT Digitális Rendszerek Számítógépek

Részletesebben

Processzor (CPU - Central Processing Unit)

Processzor (CPU - Central Processing Unit) Készíts saját kódolású WEBOLDALT az alábbi ismeretanyag felhasználásával! A lap alján lábjegyzetben hivatkozz a fenti oldalra! Processzor (CPU - Central Processing Unit) A központi feldolgozó egység a

Részletesebben

elektronikus adattárolást memóriacím

elektronikus adattárolást memóriacím MEMÓRIA Feladata A memória elektronikus adattárolást valósít meg. A számítógép csak olyan műveletek elvégzésére és csak olyan adatok feldolgozására képes, melyek a memóriájában vannak. Az információ tárolása

Részletesebben

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

Számítógép Architektúrák I-II-III. Kidolgozott államvizsgatételek Számítógép Architektúrák I-II-III. tárgyakhoz 2010. június A sikeres államvizsgához kizárólag ennek a dokumentumnak az ismerete nem elégséges, a témaköröket a Számítógép

Részletesebben

Mikrorendszerek tervezése

Mikrorendszerek tervezése BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Mikrorendszerek tervezése MicroBlaze processzor Fehér Béla Raikovich Tamás

Részletesebben

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

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3) Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Mit tudunk már? Típus fogalma char, int, float, double változók deklarációja operátorok (aritmetikai, relációs, logikai,

Részletesebben

Vezérlésfolyam gráf és X86 utasításkészlet

Vezérlésfolyam gráf és X86 utasításkészlet Vezérlésfolyam gráf és X86 utasításkészlet Kód visszafejtés. Izsó Tamás 2016. november 3. Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 1 Intervallum algoritmus Procedure Intervals(G={N, E, h})

Részletesebben

Máté: Számítógép architektúrák 2010.12.10.

Máté: Számítógép architektúrák 2010.12.10. Pentium 4 Gépi utasítások RIS szerű μműveletek, több μművelet futhat egyszerre: szuperskaláris gép, megengedi a sorrenden kívüli végrehajtást is. Pentium 4 3 szintű belső gyorsító tár. L1: KBadat, 4 utas

Részletesebben

3. Az elektronikus számítógépek fejlődése napjainkig 1

3. Az elektronikus számítógépek fejlődése napjainkig 1 2. Az elektronikus számítógépek fejlődése napjainkig Vázold fel az elektronikus eszközök fejlődését napjainkig! Részletesen ismertesd az egyes a számítógép generációk technikai újdonságait és jellemző

Részletesebben

Az interrupt Benesóczky Zoltán 2004

Az interrupt Benesóczky Zoltán 2004 Az interrupt Benesóczky Zoltán 2004 1 Az interrupt (program megszakítás) órajel generátor cím busz környezet RESET áramkör CPU ROM RAM PERIF. adat busz vezérlõ busz A periféria kezelés során információt

Részletesebben

A mikroprocesszor felépítése és működése

A mikroprocesszor felépítése és működése A mikroprocesszor felépítése és működése + az egyes részegységek feladata! Információtartalom vázlata A mikroprocesszor feladatai A mikroprocesszor részegységei A mikroprocesszor működése A mikroprocesszor

Részletesebben

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

VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK 1 Az adatok feldolgozását végezhetjük olyan általános rendeltetésű digitális eszközökkel, amelyeket megfelelő szoftverrel (programmal) vezérelünk. A mai digitális

Részletesebben

A mikroszámítógép felépítése.

A mikroszámítógép felépítése. 1. Processzoros rendszerek fő elemei mikroszámítógépek alapja a mikroprocesszor. Elemei a mikroprocesszor, memória, és input/output eszközök. komponenseket valamilyen buszrendszer köti össze, amelyen az

Részletesebben

Bepillantás a gépházba

Bepillantás a gépházba Bepillantás a gépházba Neumann-elvű számítógépek főbb egységei A részek feladatai: Központi egység: Feladata a számítógép vezérlése, és a számítások elvégzése. Operatív memória: A számítógép bekapcsolt

Részletesebben

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

2017/12/16 21:33 1/7 Hardver alapok 2017/12/16 21:33 1/7 Hardver alapok < Hardver Hardver alapok Szerző: Sallai András Copyright Sallai András, 2011, 2013, 2014 Licenc: GNU Free Documentation License 1.3 Web: http://szit.hu Bevezetés A számítógépet

Részletesebben

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

Számítógép Architektúrák SIMD feldolgozás Horváth Gábor 2016. május 20. Budapest docens BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu Hatékony utasításfeldolgozás Hogyan tettük eddig hatékonnyá az utasítás-végrehajtást?

Részletesebben

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot

Részletesebben

ARM Cortex magú mikrovezérlők

ARM Cortex magú mikrovezérlők ARM Cortex magú mikrovezérlők 3. Cortex-M0, M4, M7 Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2018 32 bites trendek 2003-2017

Részletesebben

Mikroprocesszorok (Microprocessors, CPU-s)

Mikroprocesszorok (Microprocessors, CPU-s) Mikroprocesszorok (Microprocessors, CPU-s) 1971-2011 Források: CHIP magazin index.hu wikipedia internetes források 1 Intel Adatbusz 4 bit 16 bit 16 bit 32 bit 32 bit 32 bit 32 bit 32 bit 32 bit 32 bit

Részletesebben

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

Mintavételes szabályozás mikrovezérlő segítségével Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés

Részletesebben

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

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1 INFORMATIKAI RENDSZEREK ALAPJAI (INFORMATIKA I.) 1 NEUMANN ARCHITEKTÚRÁJÚ GÉPEK MŰKÖDÉSE SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1 Ebben a feladatban a következőket fogjuk áttekinteni: Neumann rendszerű számítógép

Részletesebben

Uniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna

Uniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna Processzusok 1 Uniprogramozás Program A futás várakozás futás várakozás Idő A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna 2 Multiprogramozás Program A futás vár futás

Részletesebben

GPU Lab. 4. fejezet. Fordítók felépítése. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

GPU Lab. 4. fejezet. Fordítók felépítése. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc 4. fejezet Fordítók felépítése Grafikus Processzorok Tudományos Célú Programozása Fordítók Kézzel assembly kódot írni nem érdemes, mert: Egyszerűen nem skálázik nagy problémákhoz arányosan sok kódot kell

Részletesebben