SZÁMÍTÓGÉP ARCHITEKTÚRÁK & HARDVERKÖZELI PROGRAMOZÁS 1

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

Download "SZÁMÍTÓGÉP ARCHITEKTÚRÁK & HARDVERKÖZELI PROGRAMOZÁS 1"

Átírás

1 SZÁMÍTÓGÉP ARCHITEKTÚRÁK & HARDVERKÖZELI PROGRAMOZÁS 1 Dr. Varga Imre Debreceni Egyetem Informatikai Rendszerek és Hálózatok Tanszék május 23.

2 Követelmények Gyakorlat (aláírás, csak HKP1) Óralátogatás (maximum hiányzás: 3) 2 gyakorlati ZH A két ZH átlaga legalább 60% Mindegyik legalább 50% 1 javítási lehetőség (teljes féléves anyag) Elmélet (kollokvium, SzA & HKP1) Írásbeli vizsga Teszt + számolás/programértés + kifejtős Számítógép architektúrák 2

3 Figyelmeztetés A diasoron alapuló lexikai tudás szükséges, de nem elegendő a sikeres teljesítéshez. Az anyag megértése is szükséges, emiatt az előadásokon való aktív részvétel ajánlott. Egyéb irodalom is hasznos lehet. Számítógép architektúrák 3

4 Mérnökinformatikus képzés mérnök informatikus Fizika Elektronika Digitális technika Jelek és rendszerek Számítógép architektúrák Beágyazott rendszerek Assembly programozás Operációs rendszerek Rendszerközeli programozás Programozási nyelvek 1-2 Adatbáziskezelés Számítógép architektúrák 4

5 Tematika Számábrázolás, adattípus implementáció CPU alapvető felépítése és működése Modern processzorok Konkrét processzor architektúra Utasításkészlet, programozás A programozás operációsrendszerhez kapcsolódó hardverközeli aspektusai Digitális elektronika alapjai hardver szempontból Assembly programozás Magas szint programozás leképezése alacsonyra Számítógép architektúrák 5

6 A tárgy célja Hardver ismeretek átadása Összeköttetés teremtése A program és az elektronika között Az absztrakt és az alapozó ismeretek között Magas szintű programozás mélyebb megértése Hatékonyabb programozás Az assembly programozás bemutatása Szemléletformálás Átfogó kép kialakítása a számítógép rendszerekről Számítógép architektúrák 6

7 Számábrázolás, adattípusok Fixpontos számábrázolás Lebegőpontos számábrázolás Főbb adattípusok

8 Adatok Információtároláshoz különböző adattípusok A számítógépen minden adat végül bitsorozat numerikus infó szöveg kép kódolás hang videó számok bitsorozat dekódolás adatbázis programok Számítógép architektúrák 8

9 Bináris számok Csak két számjegy: 0 és 1 Jelentőség: 2 állapot (igen/nem, van/nincs, stb.) Konverzió 69, = , /2 1/4 1/ Számítógép architektúrák 9

10 Hexadecimális számok 16 számjegy: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Szoros kapcsolat a binárissal, de rövidebb alak Jelölés: 1FA 16, 0x1FA, $1FA Konverzió 1*256 15*16 10*1 = F A = x1FA = 0b = 506 Számítógép architektúrák 10

11 Adatszervezés Adategységek Bit (binary digit): két állapot (0, 1) Nibble (fél bájt): 4 bit Bájt : 8 bit Félszó: 16 bit Szó: (többnyire) 32 bit Dupla szó: 64 bit Számítógép architektúrák 11

12 Megadás Reprezentáció Tartomány Műveletek Főbb adattípusok Adattípus Egyszerű típusok: egész, valós, karakter, mutató, logikai, felsorolásos Összetett típus: tömb, rekord, halmaz Számítógép architektúrák 12

13 Ábrázolás Egész típus Fixpontos számábrázolás (2, 4 vagy 8 bájt) Előjeles vagy előjel nélküli BCD Pakolt vagy pakolatlan Bájtsorrend Little-endian Big-endian Megadás különböző módokon Pl. C nyelven: 30=30u=30l=036=0x1E=0b11110 * *ISO C99 Számítógép architektúrák 13

14 Fixpontos számábrázolás Egész értékek reprezentálása Előjel nélküli eset (csak nem negatív szám) ábrázolandó szám kettes számrendszerben adott számú biten Példa (1 bájt esetén) N biten ábrázolható legkisebb szám: 0 legnagyobb szám: 2 N -1 Számítógép architektúrák 14

15 Előjeles eset Fixpontos számábrázolás Nem negatív érték esetén: előjel nélküli logika Negatív érték esetén: kettes komplemens Abszolút érték bitjeinek invertálása (egyes komplemens) A kapott érték növelése 1-gyel Példa (1 bájt esetén) N biten ábrázolható legkisebb szám: -(2 N-1 ) Legnagyobb szám: 2 N meghatározza az előjelet Számítógép architektúrák 15

16 Számolás fixpontos számokkal Összeadásra és kivonásra ugyanaz az algoritmus használható Példa (1 bájtos adatok esetén) 67+54= =13 67+(-54)= Absolútérték (+54): Egyes komplemens: Kettes komplemens (-54): Számítógép architektúrák 16

17 Számolás fixpontos számokkal Szorzás Példa: két 16 bites érték szorzása: * : 4 000: : 0x75 0x30 A B C D + 0x1E 0x00 0x49 0x20 0x02 0xD0 0x06 0xDB 0x07 0x27 0x0E 0x00 0x0F 0xA0 Eredmény két regiszterben vagy túlcsordulás (hiba) B*D A*D B*C A*C 2 16 AC+2 8 (AD+BC)+BD Számítógép architektúrák 17

18 Aritmetikai túlcsordulás Két féle hibalehetőség Előjel nélkül: több bit lenne szükséges (carry) 4,295E+09 4G ,147E+09 2G ,15E+09-2G > ,147E+09 4,295E+09 6,442E+09 8,59E+09 1,074E+10 1,288E+10 1,503E+10 1,718E+10 Előjeles: nem várt előjelváltás (overflow) 4,295E+09 4G ,147E+09 2G ,15E+09-2G > ,147E+09 4,295E+09 6,442E+09 8,59E+09 1,074E+10 1,288E+10 1,503E+10 1,718E+10 Számítógép architektúrák 18

19 Kiterjesztés Néha szükség van egy adatot a korábbinál több biten ábrázolni úgy, hogy az értéke ne változzon Nulla kiterjesztés: kitöltés nullával unsigned short x=5; unsigned long y=x; Rövid előjel nélküli értékből hosszú előjelnélküli 8 bit: bit: bit: bit: Előjel tartó kiterjesztés: kitöltés előjel bittel Rövid előjeles értékből hosszú előjeles 8 bit: bit: bit: bit: short int q=-17; long int z=q; Számítógép architektúrák 19

20 Bájtsorrend Több bájtos adatok esetén a bájtok sorrendje Little-endian: (gazdagép bájtsorrend) Legkisebb helyi értékű bájt (LSB) elől Big-endian: (hálózati bájtsorrend) Legnagyobb helyi értékű bájt (MSB) elől Példa: = 0b = 0x1F2E3D4C Little-endian: Big-endian: x4C 0x3D 0x2E 0x1F 0x1F 0x2E 0x3D 0x4C Számítógép architektúrák 20

21 BCD ábrázolás Binárisan kódolt decimális Minden számjegy 4 biten ábrázolva Vannak kihasználatlan bitkombinációk Pakolatlan BCD 1 számjegy - 1 bájt : 0000 vagy (0011 * ) bevezető Pakolt BCD 2 számjegy - 1 bájt : nibble alapú *ASCII miatt Számítógép architektúrák 21

22 Értékei karakter kódok Karakter típus C: Fixpontos számábrázolás, 1 bájt, előjeles/előjel nélküli, egészként használható (ASCII) Java: 2 bájt, előjel nélküli (Unicode) Karakter kódtáblák ASCII: 7bit ISO Latin 2 : 8bit Unicode: 16bit Számítógép architektúrák 22

23 ASCII kódtábla Karakter kódtáblák 0x00-0x1F: vezérlő karakter 0x30-0x39: számjegy 0x41-0x5A: angol nagy betű 0x61-0x7A: angol kis betű ISO Latin 2 0x00-0x7F: ASCII (kompatibilitás) 0x80-0xFF: közép/kelet európai nyelvek speciális karakterei Számítógép architektúrák 23

24 Karakter kódtáblák Unicode 16 bites kódsíkok (17 db) Több mint 1 millió kódpont (17*65536) 1. sík: Basic Multilingual Plane (BMP) ASCII kompatibilitás Kódolási technikák (változó hosszúság) UTF-8 UCS-2 UTF-16 UTF-32 Számítógép architektúrák 24

25 UTF-8 ASCII: Minden bájt egy ASCII kód unicode abcdefg UTF-8 0abcdefg Nem ASCII: Egyik bájt sem ASCII kód unicode abc defghijk UTF-8 110abcde 10fghijk unicode abcdefgh ijklmnop UTF abcd 10efghij 10klmnop unicode abcde fghijklm nopqrstu UTF abc 10defghi 10jklmno 10pqrstu Számítógép architektúrák 25

26 Karakter: UTF-8 példa (egyszerűsített kínai, pinyin: jing) Unicode: 4EAC Bináris: UTF-8: HTML: &#x4eac, &#20140 URL: %E4%BA%AC Latin-1: Latin-2: äº äşź Számítógép architektúrák 26

27 Valós típus Ábrázolás: lebegő pontos Méret: 4, 8, 10 bájt Megadás különböző formában Pl. C nyelven: 0.25, 0.25f, 0.25L,.25, +0.25, 25e-2, 0.025e1 Műveletek Operátor túlterhelés Pl. a + operátor lehet egész-egész vagy valós-valós Egyes műveletek nem használhatóak valós típussal Pl.: nincs maradékos osztás, léptetés Számítógép architektúrák 27

28 Lebegő pontos számábrázolás Valós számok ábrázolása Alapja a normalizálás: 123,45 = 1, Minden (2 számrendszerbeli) szám felírható így: (-1) S M A K ahol a mantissza (M) 1.H alakú, azaz 1 2 M < 10 2 karakterisztika (K) pozitív és negatív is lehet Nem tároljuk: alap (A=2), rejtett bit, K előjele E=K+B adott számú biten nem negatív (B: nulla pont) Tárolandó: S, H, E Számítógép architektúrák 28

29 Lebegő pontos szabvány IEEE 754/1985 szabvány (ISO/IEC/IEEE 60559:2011) Előjel Pozitív: 0; Negatív: 1 Formátumok Egyszeres pontosság Dupla pontosság Kiterjesztett pontosság méret S hossz E hossz H hossz 32 bit 1 bit 8 bit 23 bit bit 1 bit 11 bit 52 bit bit 1 bit 15 bit 63(+1) bit Számítógép architektúrák 29 B

30 Lebegő pontos számábrázolás Példa: egyszeres pontossággal = = Előjel: S = 1 Karakterisztika: K = 3 10 = 11 2 Mantissza: M = Hasznos bitek: H = Eltolt karakterisztika: E = = S E H Számítógép architektúrák 30

31 Kerekítési hiba Ok: hasznos bitek tárolás véges számú biten Túl sok hasznos bit esetén kerekítés szükséges Ha az utolsó tárolható hasznos bit után 0 áll, akkor a további biteket levágjuk Különben felfelé kerekítünk Kerekítési hiba: nem pontos ábrázolás Példa: 0.3 ábrázolása egyszeres pontossággal hasznos bitek: tárolt bitek: Számítógép architektúrák 31

32 Kerekítési hiba Valós számok: folytonos halmaz, végtelen sok elemmel Lebegőpontos számok: diszkrét halmaz, véges sok elemmel Például: ; ; ; Az ábrázolható számok sűrűsége nem állandó A tárolt értékek csak néhány számjegyig pontosak Számítógép architektúrák 32

33 Speciális lebegőpontos értékek +0 és -0 előjel bit 0 (+) vagy 1 (-), minden más bit 0 Pl.: 0.0/-1.0, -1.0*0.0 ±végtelen (Inf) karakterisztika csupa 1, mantissza csupa 0 Pl.: 1.0/0.0, inf+1.0, túl nagy érték nem szám (NaN) karakterisztika csupa 1, mantissza nem csupa 0 Pl.: 0.0/0.0, inf-inf, 0.0*inf, NaN+1.0 denormalizált szám (subnormal) karakterisztika csupa 0, mantissza nem csupa 0 Számítógép architektúrák 33

34 Számolás lebegő pontos számokkal Összeadás: fixpontostól nagyon eltérő módszer Példa: 7,5 + 0,625 7,5 = ,625 = > = (-1) 0 * 1, *10 11 = 8,125 Számítógép architektúrák 34

35 Példa: bitsorozat értelmezés Mit jelenthet az alábbi big-endian bitsorozat? bites előjeles egész: bites előjel nélküli egész: bites előjeles egészek: ; bites előjel nélküli egészek: ; lebegőpontos: Latin 1 szöveg: é F Latin 2 szöveg: é ĽF Unicode szöveg UTF8 kódolással: 鰥 F Pakolt BCD:?9?0?546 (érvénytelen) vagy Számítógép architektúrák 35

36 Mutató és rekord típusok Mutató vagy referencia Indirekt hivatkozásra szolgálnak Tartományának elemei tárcímek Gyakorlatilag előjel nélküli egészek A mutató típusú változónak is van saját címe Rekord Különböző típusú tárterületek együtt Mindegyik mező a saját reprezentációjával Számítógép architektúrák 36

37 Tömb típus Azonos típusú elemek folytonosan tárolva Minden elem az adott reprezentációval A tömb neve C nyelven: az első elemre mutató nevesített konstans Egyes nyelveken: az összes elemre hivatkozás Egydimenziós tömb i. elemének a címe (A i ) A i = A 1 + i 1 E ahol E egy adatelem mérete és A 1 a tömb kezdőcíme Számítógép architektúrák 37

38 Több dimenziós tömbök Sorfolytonos tárolás M 3,2 = e 1,1 e 1,2 e 2,1 e 3,1 e 2,2 e 3,2 M 6 = e 1,1 e 1,2 e 2,1 e 2,2 e 3,1 e 3,2 Az i. sor j. elemének címe (A i,j ) egy NxM-es mátrixban A i,j = A 1,1 + M i 1 E + j 1 E ahol E egy adatelem mérete és A 1,1 a mátrix első elemének címe Számítógép architektúrák 38

39 Karakterek sorozata Sztring típus Elemei a megfelelő belső reprezentációban (pl. C: 1 bájt, ASCII; Java: 2 bájt, Unicode) Hossza Fix hosszúságú Változó hosszúságú A sztring elején hossz tárolás (pl. Pascal) A sztring végén speciális lezárójel (pl. C) Kombinált (pl. Delphi) Számítógép architektúrák 39

40 A számítógép vázlatos felépítés Architektúra szintek Processzor Buszrendszer Memória Perifériák

41 Számítógép rétegmodell 0. szint: digitális logikai áramkörök (logikai kapu, flip-flop) 1. szint: mikro-architektúra (konkrét ALU, buszok) 2. szint: utasításkészlet architektúra (ISA) 3. szint: operációs rendszer (ütemezés, tárkezelés) 4. szint: programozási nyelvek (alkalmazások) Számítógép architektúrák 41

42 Neumann architektúra Princeton architektúra (Neumann János) Neumann elvek (1945): Elektronikus működés Kettes számrendszer használata Tárolt program elve Adat és program tárolás ugyanott/ugyanúgy Soros programvégrehajtás Univerzális felhasználhatóság Számítógép architektúrák 42

43 Harvard architektúra Külön adat és program memória Eltérő felépítés, címtartomány, típus is lehet Párhuzamos adat és utasítás elérés miatt nagyobb teljesítmény Főként mikrokontrollerekben használt Első alkalmazás: Mark I (1944) Módosított Harvard architektúra Külön adat/utasítás gyorsítótár, közös memória Modern CPU-k esetén elterjedt Számítógép architektúrák 43

44 A számítógép alapvető felépítése Processzor Memória Input-Output interfész Buszrendszer Perifériák Perifériák Processzor Memória I/O interfész Buszrendszer Számítógép architektúrák 44

45 Processzor Központi feldolgozó egység A számítógép agya Vezérlés Utasítás végrehajtás (Mikro)processzor integrált áramköröket tartalmaz Műveletek és az egységek szinkronizálásához órajelet használ Számítógép architektúrák 45

46 Operatív tár Memória Aktuális műveletekhez szükséges rövidtávú memória Elsődleges tároló, nem háttértár Címezhető adattároló rekeszek Adatok és utasítások tárolása Elektronikus működés Integrált áramkör Számítógép architektúrák 46

47 Buszrendszer Busz (sín): vezetékek egy csoportja, amelyeken digitális jelet lehet továbbítani Buszrendszer logikai részei Címbusz: a címek bitsorozatának átvitelét biztosítja Adatbusz: adatok átviteléért felelős Vezérlő busz: részegységek működésének összehangolását segítő vezérlő jelek továbbítása címbusz adatbusz vezérlő busz Processzor Memória I/O interfész Számítógép architektúrák 47

48 I/O interfész A számítógép központi része és a külső egységek (perifériák) közötti adatátvitelre szolgál A kimeneti/bemeneti eszközök portokhoz kapcsolódnak A portok címezhetőek (hasonlóan a memóriához) Az adatátvitel során gyakran puffereket használunk Szoftveres szinten driverekre van szükség Számítógép architektúrák 48

49 Perifériák Input Tároló Billentyűzet Egér Szkenner Kamera Háttértár (HDD, SSD) CD/DVD/Blu-ray USB tároló Memória kártya Output Monitor Nyomtató Projektor Audio rendszer Hálózat Ethernet kártya Wi-Fi kártya Számítógép architektúrák 49

50 A processzor felépítése és működése CPU Regiszterek Fetch-execute ciklus RISC / CISC processzorok

51 Processzor Központi Feldolgozó Egység Central Processing Unit (CPU) Részei: Vezérlő egység (CU) Aritmetikai és logikai egység (ALU) Címző egység (AU) és Busz illesztő egység (BIU) Regiszterek Belső buszrendszer Belső gyorsítótár Egyéb (pl. órajel generátor) Végrehajtó egység (EU) Számítógép architektúrák 51

52 Regiszterek Kis méretű (flip-flop-szerű) tároló áramkör Mérete általában a busz szélességével egyenlő Általában bit tárolására alkalmas Gyors hozzáférésű (elérési idő < 1ns) Darabszámát a processzor határozza meg (10-100) Gyakran regisztertömböket alkot Van nevűk (néha átnevezhetőek) 3 kategória: Rendszer-, általános célú- és speciális célú regiszter Számítógép architektúrák 52

53 Regiszterek Programszámláló regiszter (PC vagy IP) A következő utasítás memóriacímét tartalmazza Az utasítás végrehajtása során átáll (általában) a következő utasítás címére, azaz az aktuális utasítás méretével növekszik Szekvenciális végrehajtás eszköze Értékét egyes utasítások is állíthatják (vezérlés átadás) Vezérlőegységhez (CU) kapcsolódik Számítógép architektúrák 53

54 Utasítás regiszter (IR) Regiszterek A memóriából beolvasott utasítás műveleti kódját tartalmazza A vezérlőegységhez kapcsolódik A CU ez alapján dönti el milyen műveletet kell végeztetni milyen adaton kell dolgozni és az hogyan érhető el A programozó által nem hozzáférhető Számítógép architektúrák 54

55 Regiszterek Akkumulátor (ACC, W, AX) Általános munka regiszter az ALU-ban Aritmetikai és logikai műveletek operandusait tartalmazza legtöbbször Általában az ilyen műveletek eredménye is itt tárolódik Újabb processzorokban több hasonló regiszter ugyanerre a célra (kevesebb memória művelet) Általában egész típusú adatokat tartalmaznak Számítógép architektúrák 55

56 Regiszterek Állapot regiszter (SR, FLAGS) Processzor állapottal, művelet eredményével kapcsolatos jelző/vezérlő biteket tartalmaz Feltételes vezérlésátadásnál (is) nagyon fontos Átvitel (CF) Nibble átvitel (AF) Túlcsordulás (OF) Előjel (SF) Megszakítási maszk (IF) Nulla (ZF) Paritás (PF) Számítógép architektúrák 56

57 Regiszterek Verem mutató regiszter (SP) A hardveres rendszerverem használatához A verem tetejének memóriacímét tartalmazza Általában a verem előrefelé nő Általában SP a legutóbb betett elemet címzi (Intel) Speciális célú regiszter A push és pop művelet automatikusan változtatja az SP értékét Számítógép architektúrák 57

58 Regiszterek Címzéssel kapcsolatos speciális regiszterek Operandusok címének meghatározásánál egy alap címhez képesti relatív cím (eltolás) megadásához használható Az AU-hoz (BIU-hoz) kapcsolódnak Tömbök, sztringek és lokális változók esetén illetve memória szegmens kezelésnél hasznos Például: BP, X, SI, DI, CS, DS, SS, ES Számítógép architektúrák 58

59 Regiszterek Memória cím regiszter (MAR) Összeköti a rendszer (külső) és belső címbuszt Azt a címet tartalmazza, amelyhez legközelebb hozzá kell férni (írásra vagy olvasásra) A címző egység hajtja meg Címbusz szélességű Számítógép architektúrák 59

60 Regiszterek Memória adat regiszter (MDR) Összeköti a rendszer (külső) és belső adatbuszt Azt az adatot tartalmazza amelyet legközelebb ki kell írni a memóriába vagy amely legutóbb be lett olvasva a memóriából Kétirányú regiszter Adatbusz szélességű Számítógép architektúrák 60

61 Aritmetikai és logikai egység Számítási műveleteket végez Tartalmaz: fixpontos összeadót, komplemens képzőt, léptető regisztereket, bitenkénti logikai művelet végző, stb. áramköröket A operandus B operandus utasítás ALU állapot eredmény Számítógép architektúrák 61

62 Vezérlő egység Az IR-ben lévő érték alapján irányítja, szabályozza a többi egység (pl. ALU) működését Fontos regiszterei: IR, PC, SR A vezérlés történhet Huzalozott logikával (közvetlenül) Minden utasításhoz létrehozott bonyolult digitális elektronika segítségével Mikroprogramozott (közvetett) módon Minden műveleti kód elindít egy apró (ROM-ban tárolt) mikroprogramot Számítógép architektúrák 62

63 Címző egység Addressing Unit (AU), Address Generation Unit (AGU) Az utasítások sokféle címzési mód segítségével határozhatják meg hol található az operandus Az AU az operandus címét állítja elő és helyezi el az MAR-ban Az utasításban található címet képezi le fizikai memóriacímre Tárolóvédelmi hibák felismerése Kapcsolat: BIU Számítógép architektúrák 63

64 Órajel Periodikus négyszög hullám Órajel generátor (oszcillátor) állítja elő Szinkronizálja az egységek működését Frekvenciája arányos a CPU által disszipált hővel Periódusidő nagyobb, mint a jelterjedési idő 1 MHz 4 GHz Gyakran változtatható (turbo, powersave) Egyéb sebesség jellemzők: MIPS, FLOPS Számítógép architektúrák 64

65 A CPU működése Egy művelet sorozat ismételgetése Fetch-execute ciklus Órajel szinkronizált CU vezényel Végtelen, monoton, gépies ismétlés során Adatmozgatás Műveletvégzés Fontos a regiszterek (PC, IR, SR, ACC, MAR, MDR, stb.) tartalma és annak változása Számítógép architektúrák 65

66 Fetch-Execute ciklus 1. Utasítás beolvasása A PC-ben található érték megmondja, hol található a memóriában a következő utasítás. Ezt be kell olvasni az IR-be. 2. Dekódolás A beolvasott műveleti kódot értelmezni kell. Milyen művelet? Milyen adatokon? Eredmény hová kerül? Utasításkészlet architektúra (ISA) definiálja Lehet huzalozott vagy mikroprogramozott Számítógép architektúrák 66

67 Fetch-Execute ciklus 3. Operandus beolvasása Az operandus címének meghatározása és onnan beolvasása a megfelelő regiszterbe 4. Művelet végrehajtása például az ALU által, az eredmény egy átmenti regiszterbe kerül 5. Eredmény tárolás regiszterbe vagy memóriacímre 6. Következő utasítás címének meghatározása Számítógép architektúrák 67

68 Olvasási ciklus DIY Calculator architektúra esetén C. Maxfield, A. Brown: The Official DIY Calculator Data Book Számítógép architektúrák 68

69 Írási ciklus DIY Calculator architektúra esetén C. Maxfield, A. Brown: The Official DIY Calculator Data Book Számítógép architektúrák 69

70 CISC processzor Komplex utasításkészletű számítógép Sok, összetett utasítás Sokféle címzési mód Változó hosszúságú utasítások Egy utasítás több gépi ciklust igényel Mikroprogramotott Kevés regiszter Utasítások elérhetik közvetlenül a RAM-ot Pl.: IA-32, Motorola 68k Számítógép architektúrák 70

71 RISC processzor Csökkentett utasításkészletű számítógép Kevés, egyszerű utasítás Kevés címzési mód Állandó hosszúságú utasítások Utasítás egy gépi ciklust igényel Huzalozott vagy mikroprogramotott Sok regiszter Csak a Load/Store utasítás éri el a RAM-ot Pl.: ARM, AVR, PIC Számítógép architektúrák 71

72 CISC vs RISC Példa: A[i] = x-32; r1: tömb kezdőcíme (A); r2: i címe; r3: x címe CISC ADD r4, (r1), (r2) SUB (r4), (r3), 32 adat a regiszterben eredmény adat címe a regiszterben operandus konstans adat RISC LDR r5, (r1) LDR r6, (r2) ADD r4, r5, r6 LDR r7, (r3) SUB r8, r7, 32 STR (r4), r8 Számítógép architektúrák 72

73 Megszakítási rendszer és input/output Megszakítás, kivétel Megszakításkezelés Input/output Buszrendszerek, perifériák

74 Szükségesség Az általános célú számítógépek fontos képessége, hogy kölcsön hat az I/O eszközökkel (billentyűzet, egér, hálózati interfész, monitor). Ezek az eszközök azonnali választ várnak a processzortól, függetlenül attól mivel foglalkozik éppen. Váratlanul bekövetkező eseményekre a CPU-nak reagálnia kell. A megszakítás szolgál a CPU figyelmének felhívására. Számítógép architektúrák 74

75 Megszakítás Speciális jelzés a CPU számára Egy esemény bekövetkeztét jelzi Azonnal reagálni kell rá A normál végrehajtást meg kell szakítani Később tudni kell folytatni Forrás Hardver Processzor Szoftver Számítógép architektúrák 75

76 Aszinkron Megszakítás típusok Külső forrásból (például I/O eszköz) származik Független az aktuálisan végrehajtott utasítástól Szinkron (másként kivétel ) Processzor által kiváltott kivétel Hiba: kijavítható probléma, újra próbálkozás Elvetés: jelentős, javíthatatlan (hardver) hiba Csapda: pl. nyomkövetés, programozott kivétel (rendszerhívás) Számítógép architektúrák 76

77 Megszakítás típusok Aszinkron megszakítás utasítás1 utasítás2 utasítás3 utasítás4 Csapda utasítás1 syscall utasítás3 utasítás4 Hiba utasítás1 utasítás2 utasítás3 utasítás4 Elvetés utasítás1 utasítás2 utasítás3 utasítás4 Számítógép architektúrák 77

78 Megszakítási vonal Fogalmak Egy (vagy több) CPU vezérlő busz vezeték Megszakítási kérelem (IRQ) A megszakítások egész számokkal (0-255) azonosíthatók Lehet prioritásuk Programozható megszakítás vezérlő (PIC, APIC) Azonosítja a megszakítás forrását, aktiválja a megszakítási vonalat, kezeli prioritásokat Számítógép architektúrák 78

79 Megszakítási rutin (ISR) Fogalmak Az a programrész, amely megszakítási kérelem esetén aktiválódik, kezeli a speciális helyzetet Hívás nélküli alprogramhoz hasonlít Kontextus Ahhoz, hogy folytatni tudjuk a normál végrehajtást a kivételkezelés után először el kell menteni, majd vissza kell állítani az eredeti környezetet, regisztertartalmakat Számítógép architektúrák 79

80 Maszkolás Fogalmak Egyes megszakítási kérelmek figyelése kikapcsolható Egyszerre, globálisan a processzorban Külön-külön, a PIC-ben lévő IMR segítségével Vannak nem maszkolható megszakítások (NMI) Nested interrupt ( fészkelt megszakítás ) Megszakítási rutint megszakító újabb IRQ Megszakítás megszakítása Számítógép architektúrák 80

81 Megszakításkezelés Utasítás beolvasás Utasítás dekódolás Kontextus mentés Utasítás végrehajtás Eszköz azonosítás nem Megszakítás? Rutin (ISR) keresés igen igen NMI? nem Maszk tilt? igen nem Rutin (ISR) végrehajtás Kontextus visszaállítás Számítógép architektúrák 81

82 Megszakításkezelési technikák Vektoros megszakításkezelés Megszakítási vonal aktiválás A megszakítás kérő azonosítja magát Buszrendszeren egyedi kódot/címet küld ISR címek egy tömbben Lekérdezéses (polling) megszakításkezelés Megszakítási vonal aktiválás A CPU sorozatos lekérdezésekkel kideríti kinek van megszakítási igénye Számítógép architektúrák 82

83 vektor Megszakításkezelési technikák Vektoros megszakításkezelés IRQ n ISR 1 címe ISR n címe Lekérdezéses megszakításkezelés IRQ megszakítás lekérdező eljárás programkódja ISR 1 programkódja ISR 1 programkódja ISR n programkódja ISR n programkódja Számítógép architektúrák 83

84 Input/Output Kapcsolat a külvilággal Hardveres I/O interfészek Szoftver interfész (device driver) Perifériás eszközök Periféria 1 Periféria 2 buffer buffer Processzor Memória Külső buszok I/O interfészek Rendszer busz Számítógép architektúrák 84

85 Input/output interfészek Összeköttetés a CPU és a perifériák között Címezhető eszközök Memóriára leképezett I/O (MMIO) Portra leképezett I/O (PMIO) Különböző adatsebesség Különböző fizikai jelek Soros illetve párhuzamos átvitel Az eszközvezérlés nem a CPU feladata Számítógép architektúrák 85

86 Programozott I/O (PIO) I/O technikák Speciális I/O utasításokkal (in, out) A program írja le mikor kell a perifériához fordulni (függetlenül annak állapotától) Utasításonként csak egy szó átvitele az I/O buffer és a CPU regiszterei között I/O adat és címregiszterek a CPU-ban Sok CPU időt felemészt az eszközök állapotának sorozatos elkérdezése Számítógép architektúrák 86

87 Megszakítás vezérelt I/O I/O technikák A periféria megszakításokkal jelez a CPU-nak Ha van új input vagy Ha kész van az outputtal A CPU nem figyel folyamatosan Közben tud mással foglalkozni Az adatmozgás a CPU és az I/O modul között történik Számítógép architektúrák 87

88 I/O technikák Direkt memória hozzáférés (DMA) Külön vezérlő révén közvetlen RAM-I/O kapcsolat (RAM-RAM, RAM-I/O) A CPU kéri fel a DMA vezérlőt a műveletre Ha a DMA vezérlő kész van megszakítást kér CPU nem vesz részt az adatmozgatásban Blokkos átviteli mód I/O processzor (IOP) DMA kiterjesztése nagyobb önállósággal Számítógép architektúrák 88

89 Buszrendszerek Párhuzamos ISA PCI ATA (ATAPI, UATA, IDE) VESA Local Bus (VLB) SCSI AGP Soros I 2 C PCI Express Serial ATA USB Serial Attached SCSI FireWire Számítógép architektúrák 89

90 PCI busz Peripheral Component Interconnect Párhuzamos belső busz Sínszélesség: 32 vagy 64 bit Átviteli sebesség: MB/s Fejlesztés: Külön vezérlőáramkör szükséges Forrás: en.wikipedia.org/wiki/conventional_pci Számítógép architektúrák 90

91 PCIe busz Peripheral Component Interconnect Express Soros belső busz 1 link 1, 2, 4, 8, 16 vagy 32 sávból áll Átviteli sebesség: MB/s (v5.0) Fejlesztés: Minden eszköznek külön link (nem osztoznak, switching) Forrás: en.wikipedia.org/wiki/pci_express Számítógép architektúrák 91

92 (Parallel) ATA busz (Parallel) AT Attachment Párhuzamos belső busz Szinonimák : PATA, ATAPI, UATA, IDE, EIDE Átviteli sebesség: 3,3-166 MB/s Fejlesztés: HDD, FDD, CD és DVD meghajtó csatlakoztatás Forrás: en.wikipedia.org/wiki/parallel_ata Számítógép architektúrák 92

93 Serial ATA Soros belső busz Pont-pont kapcsolat SATA busz Átviteli sebesség: MB/s (v3.2) Fejlesztés: Hot swapping HDD, SSD, CD és DVD meghajtó csatlakoztatás Forrás: hu.wikipedia.org/wiki/serial_ata Számítógép architektúrák 93

94 Universal Serial Bus Soros külső busz USB busz Plug-and-Play, elosztható (hub) Átviteli sebesség: 0, MB/s (v4.0) Fejlesztés: Csatlakozók: standard-a, standard-b, mini-a, mini-b, micro-a, micro-b Forrás: en.wikipedia.org/wiki/usb Számítógép architektúrák 94

95 Vezérlő hub-ok Az alaplap fontos chip-jei Northbridge (memóriavezérlő hub) Southbridge (I/O vezérlő hub) CPU Front-side bus (FSB) AGP RAM Northbridge Southbridge BIOS PCI IDE USB LAN I/O Számítógép architektúrák 95

96 Eszközmeghajtó Device Driver: szoftver interfész a hardverhez Eszköztípusok Karakteres, blokkos, hálózati, egyéb A programok hardvertől független rendszerhívásokat alkalmaznak open, read, write, close, Az eszközmeghajtók töltik meg ezt konkrét hardver specifikus tartalommal Számítógép architektúrák 96

97 Adattárolás Operatív memória Cache Háttértárak

98 Tárolók osztályzása Írhatóság szempontjából Csak olvasható, olvasható-írható Hierarchiabeli helye szerint Elsődleges, másodlagos, harmadlagos Tárolási közeg szerint Félvezető, mágneses, optikai Adatmegőrzés szerint Megmaradó, nem megmaradó Elérés szerint Soros elérésű, tetszőleges elérésű Számítógép architektúrák 98

99 Elsődleges memória A processzor és a futó programok által aktívan használt tároló Gyors elérésű Nem maradandó memória Méret erősen korlátos Ide tartoznak Regiszterek Gyorsítótárak Operatív tár / memória Számítógép architektúrák 99

100 Másodlagos memória Háttértároló Az elsődleges memória kiterjesztése Nagy tároló kapacitás Kisebb elérési sebesség Maradandó tárolás Ide tartoznak HDD, SSD CD-, DVD-meghajtó Memóriakártya Számítógép architektúrák 100

101 Harmadlagos memória Többnyire eltávolítható adathordozókra épít Robotikus eszközök csatlakoztatják a kívánt tároló médiumot ( wurlitzer ) Ritka hozzáférés Óriási tároló kapacitás Cél hosszú távú archiválás Ide tartoznak Mágnesszalagos tárolók Optikai tárolók Számítógép architektúrák 101

102 Félvezető memóriák Read-Only Memory (ROM) Gyártás során kerül bele a tartalom, ami később nem változtatható Tartalmat sokáig megőrzi, tápfeszültség hiányában is Programmable Read-Only Memory (PROM) Gyártás után üres. Speciális eszközzel egyszer beégethető a tartalom Az írás folyamata lassú (a RAM-hoz képest) Számítógép architektúrák 102

103 Félvezető memóriák Erasable Programmable ROM (EPROM) Erős UV fénnyel (lassan) törölhető a tartalom Majd ismét újraírható Electrically Erasable Programmable ROM (EEPROM) Elektronikusan, bájtonként törölhető tartalom Flash memória Speciális továbbfejlesztett EEPROM Blokkonként (gyorsabban) törölhető Számítógép architektúrák 103

104 Félvezető memóriák Random Access Memory (RAM) Véletlen/közvetlen elérés Elérési idő nem függ az elhelyezkedéstől Írható/olvasható tetszőleges számban Elveszti a tartalmát tápfeszültség hiányában Nagy írási/olvasási sebesség Static Random Access Memory (SRAM) Frissítés nélkül is megtartja a flip-flipokban a tartalmat a tápellátás megszűnéséig (pl. cache) Számítógép architektúrák 104

105 Félvezető memóriák Dynamic Random Access Memory (DRAM) Rendszeresen frissíteni kell, hogy a kondenzátor révén tárolt információ megmaradjon SRAM-nál lassabb (pl. operatív tár) Olyan gyorsan válaszol ahogy tud Synchronous Dynamic RAM (SDRAM) Órajellel szinkronizált válasz Gyorsabb az aszinkron DRAM-nál (pipeline működés) Számítógép architektúrák 105

106 Félvezető memóriák Double Data Rate (DDR) Gyorsított SDRAM Az órajel fel és leszálló élére is szinkronizál DDR2, DDR3, DDR4 Egyre nagyobb sebesség Egyre nagyobb adatsűrűség Egyre kisebb feszültség Nem kompatibilis DIMM (SDRAM, DDR, DDR2, DDR3, DDR4) Számítógép architektúrák 106

107 Gyorsítótár Egyes eszközök rendszeresen adatot cserélnek Az eszközök adatátviteli sebessége nagyon eltér A lassú eszköz miatt a gyors is lelassul Pl. a CPU kb. 10-szer gyorsabb a RAM-nál CPU cache, GPU cache, Web cache, DNS cache Megoldási ötlet Köztes tároló beiktatása (cache) Gyorsabb, mint a lassú eszköz (SRAM, közeli) Magas ára miatt teljesen nem helyettesíti a lassút Létjogosultság: lokalitási elvek Számítógép architektúrák 107

108 Térbeli lokalitás elve Gyorsítótár Ha egy program hivatkozik egy memóriacímre (adat vagy utasítás), akkor nagy valószínűséggel hamarosan hivatkozik a szomszédos címekre is Szekvenciális végrehajtás, tömbök Időbeli lokalitás elve Ha egy program hivatkozik egy memóriacímre, akkor nagy valószínűséggel hamarosan ismét hivatkozik rá Ciklusok Számítógép architektúrák 108

109 Gyorsítótár Leggyakrabban használt adatok tárolása Kisebb tárolókapacitás, gyorsabb elérés (SRAM), mint az operatív memória esetén Átlátszóak a felhasználó számára Asszociatív (CAM) memóriát tartalmazhat CPU cache Többszintű: L1, L2, L3 cache On-chip vagy off-chip Számítógép architektúrák 109

110 Gyorsítótár felépítése A tárolás egysége a Sor (vagy Blokk ) A Sorhoz Tag (toldalék) és Flags mezők A Tag a Blokk főtárbeli címéhez kötődik A Blokk a főtár egy részének a másolata CPU Cache Tag F Blokk 128 DEF 131 MNO 129 GHI RAM ABC 127 DEF 128 GHI 129 JKL 130 MNO 131 Számítógép architektúrák 110

111 A cache működése A processzor a szükséges adatot a cache-ben keresi (átadja a tárcímet a cache vezérlőnek) Ha az adott cím el van tárolva a Tag-ben (cache hit), akkor válaszol a Blokk tartalma alapján Ha a cím nincs eltárolva (cache miss), akkor beolvassa a megfelelő területet a főtárból, dönt arról, melyik sorba mentse és elmenti (felülírva valamelyik cache sort), majd válaszol a Blokk tartalma alapján Számítógép architektúrák 111

112 A cache működése Asszociativitás: Egy adott memóriacímen lévő adat hány cache sorban tárolódhat. Közvetlen leképezésű (direct-mapped) Egy RAM címről csak 1 sorra történhet leképezés. Teljesen asszociatív (fully associative) Bármely címről származó adat bármely cache sorban. Csoport asszociatív (N-way set-associative) Egy RAM címről néhány sor egyikébe kerül az adat. Speciális esetek: közvetlen leképezés, teljes associatív Számítógép architektúrák 112

113 A cache működése Helyettesítési szabályok felülírási igény esetén Véletlen gyors, de nem hatékony Legkevésbé használt (LRU) hatékony, de komplikált Nem legutóbb használt Hatékony és egyszerű Számítógép architektúrák 113

114 A cache működése Az írás művelete során figyelni kell a főtár és a gyorsítótár tartalmának konzisztenciájára Megoldások Közvetlen írás Visszaírás Közvetlen írás (write through) Gyorsítótár írásával egyidejűleg a főtár is íródik Az írást a cache nem gyorsírja Számítógép architektúrák 114

115 Visszaírás (write back) A cache működése Gyorsítótár minden írás esetén módosul A Tag vezérlő részében ezt jelezzük ( dirty ) Ha a cache adott sorát felül kell írni újabb olvasási művelet miatt, és a sor dirty visszaírjuk a tartalmát a főtárba Majd megtörténik a sor felülírása az újjal Többprocesszoros rendszerekben probléma a külön cache-ek miatt. Probléma DMA esetén is. Számítógép architektúrák 115

116 A cache működése olvasás Igény? írás Cache hit? nem igen igen Cache hit? nem Felülírandó sor keresés Felülírandó sor keresés Dirty? nem igen Felülírandó sor visszaírása Felülírandó sor visszaírása igen Dirty? nem Alsóbb memória olvasás a választott sorba Státusz: nem dirty Válasz az adattal Alsóbb memória olvasás a választott sorba Új adat írása a választott blokkba Státusz: dirty Számítógép architektúrák 116

117 A cache jellemzői A gyorsítótár mérete A Blokk mérete (pl. 64 byte) Egy Blokk kikeresésének ideje Aktualizálási idő (visszaírásnál) Helyettesítési stratégia (sor felülírásnál) Találati arány (hit rate) Általában 90% feletti Méretfüggő, helyettesítés függő, Számítógép architektúrák 117

118 A címek felépítés Cím = Tag & Index & Offset Index: azonosítja a cache sor csoportot (set) 2 N csoport esetén N bit Offset: a bájt pozíciója a blokkban 2 S méretű blokk esetén S bit Tag: a RAM cím további (felső) bitjei L bites cím esetén L-N-S bit Példa: Pentium 4, 8kB 4-utas L1 cache, 64B blokk log 2 (8192/64/4)=5 index bit; log 2 (64)=6 offset bit; =21 tag bit Számítógép architektúrák 118

119 csoport 01 csoport 00 Valid Dirty Recent Címzés példa Cím: tag index offset bites címzés 128B cache méret csoport asszociatív (4-utas) cache 8B blokk méret write-back írás nem a legutóbbi helyettesítés Tag Blokk D E 13 3D D1 4F FF 01 A2 2E B CA 4F FA B6 0C E C0 3E E FF FF FF FF 24 E4 AA DA F E4 1A 4D DC E C 4C 4F C3 C Cache hit? Mi van a címen? Felülírható sor? Kell menteni? Számítógép architektúrák 119

120 Cache hierarchia processzor processzor core core core core L1 utasítás L1 adat L1 utasítás L1 adat L1 utasítás L1 adat L1 utasítás L1 adat >10kB L2 L2 L2 L2 >100kB L3 L3 >1MB Fő memória >1GB Számítógép architektúrák 120

121 Cache hatása a programokra... ARRAY = (double*)malloc(size*sizeof(double)); N_Rep = /SIZE; for(j=0; j<n_rep; j++) for(i=0; i<size; i++) sum += ARRAY[i];... Ha az adat elfér a cache-ben, akkor a program gyorsabb! Számítógép architektúrák 121

122 Cache hatása a programokra Sorfolytonos mátrix kezelése int a[n][m]; Sorról-sorra: for(i=0;i<n;i++) for(j=0;j<m;j++) sum+=a[i][j]; Oszlopról-oszlopra: for(j=0;j<m;j++) for(i=0;i<n;i++) sum+=a[i][j]; Nagy mátrix esetén: Gyakori cache miss Lassú futás Számítógép architektúrák 122

123 Problémák Háttértár Az operatív tár nem elég nagy Kikapcsoláskor a RAM tartalma elvész Megoldás Háttértár: lassabb elérés, de nagyobb kapacitás Tárolási elv Mágneses: merevlemez (HDD) Elektronikus: szilárdtest-meghajtó (SSD) Optikai: CD, DVD, Blu-ray Számítógép architektúrák 123

124 Merevlemez Winchester, Hard Disc Drive (HDD) Mágnesezhető, forgó lemezeken tárolt adat Lemezenként 2 író/olvasó fej Tulajdonságai Tárolókapacitás: <8TB Írási/olvasási sebesség: 1MB/s 100MB/s Fordulatszám: rpm Csatoló felület: ATA, SATA, SCSI, USB Lemez gyorsítótár mérete: 1MB 64MB Számítógép architektúrák 124

125 Adattárolás merevlemezen A HDD több tároló lemezt tartalmazhat A lemezek felülete koncentrikus sávokra osztott Az egymás alatti lemezeken lévő azonos sugarú sávok alkotják a cilindert A sávok szektorokra vannak osztva Ez az adattárolás legkisebb egysége Klaszter a szektorokból álló folytonos terület Minden író/olvasó fej egyszerre mozog egy adott pillanatban egy cilinderen helyezkednek el Számítógép architektúrák 125

126 Adattárolás merevlemezen Átlagos hozzáférési idő T access = T seek + T rotation + T other T access T seek + T rotation ( 10 ms) Az első bájt (a szektorban) drága a többi olcsó sáv szektor lemez fej Számítógép architektúrák 126

127 Hagyományos szerkezet 512 bájtos szektor Szektor rés szinkron cím hibajavító 512 bájt adat sáv szektor szektor szektor szektor szektor szektor szektor szektor Advanced Format (AF) 4K native 4096 bájt adat Számítógép architektúrák 127

128 Szektor hatása programokra... #define SIZE 2048 char BUFFER[SIZE]; out=open("output.txt",o_wronly); write(out, BUFFER, SIZE); close(out);... Szektor méretnél kevesebbet fájlba írni nem hatékony! Számítógép architektúrák 128

129 Bufferelt adatfolyam Az output adatfolyamokat gyakran a rendszer buffereli és csak később blokkosan írja ki. Kevesebb rendszerhívás, kevesebb lemez művelet, gyorsabb program while(i<100000){ fprintf(f, x ); sleep(t); i++; } Számítógép architektúrák 129

130 Adatelérés merevlemezen Hogyan hivatkozható egy terület a HDD-n? CHS cilinder-fej-szektor hármassal (régi) LBA logikai blokk címzéssel (lineáris, új) Konverzió (egyszerű esetben): LBA = (C*N fej +H)*N szektor +(S-1) Lemezvezérlő foglalkozik a logikai és fizikai cím leképezéssel Számítógép architektúrák 130

131 Régi HDD esetén Sávok szektorszáma Minden sávban azonos számú szektor Külső szektorok adatsűrűsége sokkal kisebb, mint a belsőké (kihasználatlanság) Modern HDD esetén Zone Bit Recording (ZBR) Szektorok adatsűrűsége közel azonos Külső sávokban több szektor, mint a belsőkben Címzés bonyolultabb Számítógép architektúrák 131

132 SSD Szilárdtest-meghajtó (Solid State Drive) Mozgó alkatrész nélküli félvezető memória Blokkos adatelérés SATA, SCSI, USB csatlakozás Előnyei a HDD-vel szemben Gyorsabb adatelérés Egyenletes adathozzáférés Kisebb zaj, fogyasztás és hőtermelés Mechanikai megbízhatóság Számítógép architektúrák 132

133 Háttértár magasabb szinten Formázás Alacsony szintű (szektor szerkezet kialakítás) Magas szintű (fájlrendszer) Particionálás HDD kisebb logikai egységre bontása MBR, GPT kialakítás Fájlrendszerek FAT32, NTFS ext2, ext3, ext4 Számítógép architektúrák 133

134 Master Boot Record LBA 0 MBR Boot kód (pl. GRUB) + Partíciós tábla Max 4 partíció és egyenként max 2 TB 4 elsődleges partíció 3 elsődleges partíció + 1 kiterjesztett partíció (utóbbin további logikai partíciók lehetnek) BIOS indítja a betöltőt a Power On Self Test után Számítógép architektúrák 134

135 GPT GUID Partition Table LBA 0: MBR megőrzés; LBA 1: elsődleges GPT fejrész LBA 2-33: elsődleges GPT partíciós tábla Utolsó szektorok: biztonsági tartalék Másodlagos GPT fejrész és partíciós tábla UEFI szabvány (BIOS lecserélés) Akár 128 partíció, max lemezméret 9,4 ZB Számítógép architektúrák 135

136 FAT fájl rendszer Merevelemez 0 MBR 1 FAT 1 2 FAT 2 3 Gyökér 4 gyümölcs 5 állat. 6 Az alma 7 finom 8 szerintem Emlős File Allocation Table EOF 7 4 EOF 5 Gyökérkönyvtár bejegyzései Fájlnév Attribútumok Kezdő klaszter Alma.txt Bla-bla 6 Kutya.txt Bla-bla 10 Számítógép architektúrák 136

137 Pl.: Ext2, Ext3, Ext4 Fájl tárolása Könyvtár tárolás Linux fájl rendszerek könyvtári bejegyzés inode adat blokk fájl név inode ID attribútumok mutató fájl tartalom a lemezen könyvtári bejegyzés inode adat blokk könyvtár név inode ID attribútumok mutató fájl1 inode ID 1 fájl2 inode ID 2 fájl3 inode ID 3 fájl4 inode ID 4 Számítógép architektúrák 137

138 Linux fájl rendszerek Könyvtár hierarchia könyvtári bejegyzés inode fájl adat partíció MBR cilinder csop. cilinder csop. cilinder csop. cilinder csop. cilinder csop. cilinder csop. sys inode tábla adat szektorok Számítógép architektúrák 138

139 adatblokk mutatók attribútumok inode inode méret eszköz felhasználó csoport fájl mód időbélyegek linkszám adat blokkok direkt mutatók (12 db) simpla indirekt dupla indirekt tripla indirekt Számítógép architektúrák 139

140 RAID Redundant Array of Independent Discs Adatelosztás vagy replikálás több lemezen A technológia célja Adatbiztonság növelés Adatátviteli sebesség növelés Több szint (RAID 0-6) Akár hierarchikusan is (RAID 1+0, RAID 5+0) Szoftveres vagy hardverrel támogatott megvalósítás Számítógép architektúrák 140

141 RAID példák RAID 0 (összefűzés) A 1 A 3 A 5 A 7 A 2 A 4 A 6 A 8 Lemez 1 Lemez 2 RAID 1 (tükrözés) A 1 A 2 A 3 A 4 A 1 A 2 A 3 A 4 Lemez 1 Lemez 2 Fizikai kapacitás: 2 egység Logikai kapacitás: 2 egység Sebesség (R/W): 2/2 egység Hibatűrés: nincs Fizikai kapacitás: 2 egység Logikai kapacitás: 1 egység Sebesség (R/W): 2/1 egység Hibatűrés : van Számítógép architektúrák 141

142 RAID példák RAID 4 (paritás lemez) A 1 B 1 C 1 D 1 A 2 B 2 C 2 D 2 A P B P C P D P Lemez 1 Lemez 2 Lemez 3 RAID 5 (forgó paritás) A 1 B 1 C P D 1 A 2 B P C 1 D 2 A P B 2 C 2 D P Lemez 1 Lemez 2 Lemez 3 Fizikai kapacitás: 3 egység Logikai kapacitás: 2 egység Sebesség (R/W): 2/1 egység Hibatűrés: van (lassú) Fizikai kapacitás: 3 egység Logikai kapacitás: 2 egység Sebesség (R/W): 2/1 egység Hibatűrés : van (gyors) Számítógép architektúrák 142

143 RAID példák RAID 1+0 (tükrözés + összefűzés) A 1 A 3 A 5 A 7 A 1 A 3 A 5 A 7 Lemez 1 Lemez 2 A 2 A 4 A 6 A 8 A 2 A 4 A 6 A 8 Lemez 3 Lemez 4 Fizikai kapacitás: 4 egység Logikai kapacitás: 2 egység Sebesség (R/W): 2/2 egység Hibatűrés : van Számítógép architektúrák 143

144 Memória hierarchia Regiszter L1 cache L2 cache L3 cache Memória Lemez Harmadlagos tár s ms s ns Elérési idő Számítógép architektúrák 144

145 Memória hierarchia Regiszter L1 cache L2 cache L3 cache Memória Lemez Harmadlagos tár EB TB GB MB kb B Tároló kapacitás Számítógép architektúrák 145

146 Intel x86 architektúra Processzor felépítés Regiszterkészlet Memóriakezelés

147 Kezdetek Az Intel között fejlesztette ki az új Intel 8086 névre hallgató processzorát Később ezt fokozatosan tovább fejlesztették Intel (1982) Intel (1982) Intel (1986) Intel (1989), a folyamat máig tart Az új processzorok visszafelé kompatibilisek Ma a processzorcsaládra x86 néven hivatkozunk Számítógép architektúrák 147

148 Memória szegmentáció A memória logikai részekre van osztva Kód szegmens Adat szegmens Verem szegmens A címzést külön regiszterek segítik (CS, DS, SS, ES) Címzés: szegmens kezdőcím + eltolás Memóriakezelés Valós-, védett-, virtuális-, hosszú mód Számítógép architektúrák 148

149 Valós mód Memória szegmentáció 8086-ban csak ez van 20 bites címbusz (1MB) Szegmens méret 64kB (16 bit) Minden memóriacím elérhető korlátozás nélkül Ilyen módban indul a processzor Lineáris cím = szegmenscím*16 + eltolás Lineáris cím = fizikai cím + Szegmens kezdőcím (16 bit) Eltolási cím (16 bit) Lineáris kezdőcím (20 bit) Számítógép architektúrák 149

150 Védett mód Memória szegmentáció vezeti be Korlátozott memóriahozzáférés Címtér 32 bites (4GB) Virtuális memória támogatás Lineáris cím (32) = szegmenscím (32) + offset (16/32) Lineáris cím lapozás fizikai cím Virtuális mód (látszólagos valós mód tól) Hosszú mód (64 bites, nincs szegmentálás) Számítógép architektúrák 150

151 x86 regiszterkészlet EAX EBX ECX EDX ESI EDI EBP ESP AX AH 7 AL 0 SI DI BP SP CS DS SS EIP EFLAGS IP FLAGS ES FS GS Számítógép architektúrák 151

152 x86 regiszterkészlet Fő regiszterek (általános célú regiszterek, GPR) EAX Elsődleges munka regiszter (accumulator), szorzás, osztás EBX Munka regiszter, bázis mutató DS-ben ECX Munka regiszter, (ciklus)számláló EDX Munka regiszter, input/output, szorzás, osztás Számítógép architektúrák 152

153 x86 regiszterkészlet Index regiszterek (általános célú regiszterek, GPR) ESI Sztring műveletek forrás indexe, DS regiszterrel EDI Sztring műveletek cél indexe, ES regiszterrel ESP Verem tetején lévő elemet címzi, SS regiszterrel EBP Lokális változókhoz, paraméterekhez, SS regiszterrel Számítógép architektúrák 153

154 Szegmens regiszterek CS x86 regiszterkészlet Kód szegmens kezdőcíme, IP ebben címzi az utasítást DS Adat szegmens kezdőcíme (statikus változók) SS Verem szegmens kezdőcíme, ESP és EBP használja ES, FS, GS Extra adat szegmens, EDI alap szegmense az ES Számítógép architektúrák 154

155 EFLAGS regiszter Állapot bitek Vezérlő bitek Rendszer bitek x86 regiszterkészlet ID VIP VIF AC VM RF NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF Számítógép architektúrák 155

156 Utasítás számláló x86 regiszterkészlet IP (Instruction pointer) CS regiszter révén a kód szegmensben található utasításokat címzi Minden fetch-execute ciklus során inkrementálódik az adott utasítás hosszával (kivéve vezérlésátadás) Egyéb regiszterek Vannak további működést segítő regiszterek Programozó elől rejtettek Számítógép architektúrák 156

157 x87 regiszterkészlet Lebegőpontos egység (matematikai társprocesszor) 8 darab 64 (80) bites regiszter (ST(0)-ST(7)) Veremszerű működés Dupla pontosságú lebegőpontos reprezentáció Regiszterenként 2 további bit 00 érvényes, 01 nulla, 10 speciális (Inf, NaN), 11 üres 16 bites állapot regiszter (pl. OE, UE, ZE, TOS, B, DE) 16 bites vezérlő regiszter (pl. RC, PC) 48 bites programszámláló és adat mutató Számítógép architektúrák 157

158 Input-Output Portra leképezett I/O (PMIO) 16 bites I/O címek (0h-FFFFh) Külön utasítások (in, ins, out, outs, stb.) Egy eszközhöz több port is tartozhat Adat, Utasítás, Állapot I/O porton elérhető fontosabb eszközök: DMA vezérlő, programozható megszakítás kezelő (8259A), időzítő (8254), billentyűzet (8042), valós idejű óra, matematikai társprocesszor, PATA vezérlő, stb. Linux: /proc/ioports Számítógép architektúrák 158

159 Modern architektúrák Futószalag végrehajtás Párhuzamos végrehajtás Szuperskalár és vektor processzorok

160 Klasszikus architektúrák In-order (soros) végrehajtás (Neumann) A hagyományos architektúrán alapuló rendszerek teljesítmény növelésének lehetőségei CPU órajel frekvencia növelés Társprocesszor alkalmazás (FPU) Közvetlen memória hozzáférés (DMA) Nagyobb szóméret (nagy címtér, nagy regiszter) Gyorsítótár (cache) használat Gyorsabb buszrendszer Számítógép architektúrák 160

161 Dinamikus órajel szabályozás Az órajel frekvencia növelés több hő termelését és magasabb fogyasztást jelent (korlátozó tényező) Intel SpeedStep és AMD PowerNow! Ha a mag üresjáratban van az órajele és a mag feszültsége csökken (energiatakarékosság) Intel Turbo Boost és AMD Turbo Core Egy mag kaphat gyorsabb órajelet ha a többi mag nem terhelt (azaz határon belüli a hőtermelés) Számítógép architektúrák 161

162 Lebegő pontos egység Floating-Point Unit (FPU), matematikai társproc. Pl. Intel x87 Az egész és a lebegőpontos műveletek architekturálisan eltérnek Régen társprocesszor, ma CPU-ba integrált Külön verem struktúrájú regiszter készlet ST(0)-ST(7) Külön utasításkészlet Pl. FADD, FMUL, FDIV, FSQRT, FSIN, Számítógép architektúrák 162

163 DMA és Cache Közvetlen memória hozzáférés (DMA) Nem minden memóriaműveletet irányít a CPU CPU nélküli közvetlen RAM-RAM vagy RAM-I/O blokkos adatmozgatás Gyorsítótár (cache) Átmeneti tároló a CPU és a RAM között Legutóbb/gyakran használt adatokról másolat tárolás Gyors elérési idő Kis tároló kapacitás Számítógép architektúrák 163

164 x86-64 architektúra 64 bites általános célú regiszterek (rax, rbx, rcx, rdx, rbp, rsp, rip, rsi, rdi, r8-r15) rax / r8 Visszafelé kompatibilis az x86-tal (IA-32-vel) 64 bites virtuális címek (implementációban 48) 48 bites fizikai címzés (256TB) (bővíthető 52 bitig) Nincs memória szegmentáció Működési módok eax / r8d ax / r8w al / r8b Long mode, Legacy mode (real, protected, virtual) Számítógép architektúrák 164

165 Párhuzamosság Bit szintű párhuzamosság Az adat bitjein egyszerre hajtunk végre egy műveletet Adat szintű párhuzamosság (DLP) Több adaton azonos időben ugyanaz az utasítás Utasítás szintű párhuzamosság (ILP) Az assembly utasítások egymás mellett futhatnak Taszk (szál) szintű párhuzamosság (TLP) Utasítások csoportjai egyszerre hajtódnak végre Folyamat szintű párhuzamosság Több folyamat fut egyszerre (multiprogamozott OS) Számítógép architektúrák 165

166 Flynn-féle osztályozás Osztályzás párhuzamosság szempontjából SISD (Single Instruction Single Data) pl. klasszikus korai egyprocesszoros PC-k SIMD (Single Instruction Multiple Data) pl. vektroprocesszorok, GPU MISD (Multiple Instruction Single Data) pl. hibatűrő rendszerek (űrrepülőgép) MIMD (Multiple Instruction Multiple Data) pl. többmagos- és szuperskalár processzorok Számítógép architektúrák 166

167 Utasítás-szintű párhuzamosság Utasítás-szintű párhuzamosság (ILP) technikái Futószalag-elvű végrehajtás (pipeline) Sorrenden kívüli végrehajtás (OoOE) Regiszter átnevezés Spekulatív végrehajtás Elágazás becslés Szuperskalár végrehajtás Nagyon hosszú utasításszó (VLIW) használat Számítógép architektúrák 167

168 Egy utasítás végrehajtás Fetch-execute ciklus Minden egyes utasítás végrehajtása több fázisra bontható: Utasítás beolvasás (IF) Utasítás dekódolás (ID) Operandus beolvasás (OF) Végrehajtás (EX) Eredmény visszaírás (WB) Egy utasítás több órajel alatt hajtódik végre Számítógép architektúrák 168

169 Pipelining Futószalag-elvű utasítás végrehajtás Több utasítás végrehajtása is folyamatban lehet egyszerre, csak legyenek különböző fázisban Egyes processzoroknál akár 30 fázis/utasítás Egy utasítás végrehajtási ideje nem csökken Viszont az egységnyi idő alatt végrehajtott utasítások száma (áteresztőképesség, throughput) növekszik A program gyorsabban lefuthat Számítógép architektúrák 169

170 Pipelining CPU idő [órajel] 1. utasítás 1 pipeline fázis IF ID OF EX WB 2. utasítás 2 utasítás 1 3. utasítás 3 utasítás 2 utasítás 1 4. utasítás 4 utasítás 3 utasítás 2 utasítás 1 5. utasítás 5 utasítás 4 utasítás 3 utasítás 2 utasítás 1 6. utasítás 6 utasítás 5 utasítás 4 utasítás 3 utasítás 2 7. utasítás 7 utasítás 6 utasítás 5 utasítás 4 utasítás 3 8. utasítás 8 utasítás 7 utasítás 6 utasítás 5 utasítás 4 Elméleti utasítás végrehajtási idő: 5 órajel / utasítás Elméleti áteresztőképesség: 1 utasítás / órajel Számítógép architektúrák 170

171 Hazárd A Neumann-féle szekvenciális végrehajtási elv feltételezi, hogy minden utasítás végrehajtás befejeződik a következő megkezdése előtt Pipeline processzorokra ez nem igaz Hazárd: az a helyzet amikor ez problémát jelent Típusai Adat hazárd Strukturális hazárd Vezérlési hazárd Számítógép architektúrák 171

172 Adat hazárd Végrehajtás alatt álló utasítások ugyanazt az adatot használják/módosítják RAW (Read After Write, adat függőség) R3 R1 + R2 R4 R3 + R2 WAR (Write After Read, név függőség) R3 R1 + R2 R2 R1 + R4 WAW (Write After Write, név függőség) R3 R1 + R2 R3 R4 + R1 Számítógép architektúrák 172

173 Strukturális és vezérlési hazárd Strukturális hazárd Ha a processzor hardvere nem képes az utasításokat egyszerre végrehajtani Pl. az egyik utasítás IF fázisban a másik OF fázisban egyszerre címezné a memóriát Vezérlési hazárd Elágazásnál a processzor nem tudja előre hol kell folytatni a vezérlést, azaz melyik utasítást olvassa be a futószalagra Számítógép architektúrák 173

174 Adat hazárd kezelése Pipeline buborék Hazárdok kezelése Operandus/eredmény továbbítás (bypassing) Sorrenden kívüli végrehajtás (OoOE) Regiszter átnevezés Strukturális hazárd Pipeline buborék Vezérlési hazárd Pipeline buborék Elágazásbecslés Számítógép architektúrák 174

175 Pipeline buborék Az IF fázis után ha a vezérlő egység hazárdot észlel beszúr egy NOP utasítást, azaz késlelteti a következő utasítás futószalagra helyezését Közben az utasítás előállítja az eredményt, amit a következő utasítás a késleltetés után már be tud olvasni Buborék ( üresjárat ) a pipline-ban Nő a futásidő (de még mindig gyorsabb, mint pipeline nélkül) Számítógép architektúrák 175

176 Pipeline buborék CPU idő [órajel] 1. ADD r1,r2,r3 pipeline fázis IF ID OF EX WB 2. SUB r4,r5,r1 ADD r1,r2,r3 3. SUB r4,r5,r1 ADD r1,r2,r3 4. SUB r4,r5,r1 ADD r1,r2,r3 5. SUB r4,r5,r1 (buborék) ADD r1,r2,r3 6. SUB r4,r5,r1 (buborék) (buborék) 7. SUB r4,r5,r1 (buborék) 8. SUB r4,r5,r1 Az adatfüggőség két órajelnyi késlekedést okozott Számítógép architektúrák 176

177 Eredmény továbbítás Ez egyik utasítás EX fázisának outputját közvetlenül (a visszaírással egy időben) kössük rá a másik utasítás EX fázisának inputjára CPU idő [órajel] 1. ADD r1,r2,r3 pipeline fázis IF ID OF EX WB 2. SUB r4,r5,r1 ADD r1,r2,r3 3. SUB r4,r5,r1 ADD r1,r2,r3 4. SUB r4,r5,r1 ADD r1,r2,r3 5. SUB r4,r5,r1 (buborék) ADD r1,r2,r3 6. SUB r4,r5,r1 (buborék) 7. SUB r4,r5,r1 Számítógép architektúrák 177

178 Sorrenden kívüli végrehajtás Out-of-Order Execution (OoOE) Az utasítások nem a programban szereplő felírás sorrendjében hajtódnak végre Az az utasítás hajtódik végre először amelyiknek hamarabb állnak elő a bemeneti adatai A processzor próbálja elkerülni az üresjáratot az utasítások átrendezésével Hardveresen gyorsított újrafordítás Viszonylag nagy utasítás ablak Számítógép architektúrák 178

179 Sorrenden kívüli végrehajtás Utasítás beolvasása a memóriából Az utasítás beáll egy utasítás sorba és vár Az utasítássorból az távozik először, akinek elérhetőek az input operandusai A távozó utasítás végrehajtásra kerül Az eredmény bekerül egy eredmény sorba, vár Az adott utasítás eredménye csak akkor kerül ki a sorból (és íródik be a regiszterfájlba), ha minden idősebb utasítás eredménye már kikerült Számítógép architektúrák 179

180 Regiszter átnevezés A név függőség (WAR és WAW hazárd) esetén egy utasítás eredménye felülírna egy még szükséges értéket, mivel nincs korlátlan számú üres regiszter A regiszter átnevezés révén ez elkerülhető Az utasításkészlet az architekturális regiszterfájl elemeire hivatkozik Ezt egy speciális áramkör leképezi egy nagyobb méretű hardveres regiszterfájlra Számítógép architektúrák 180

181 Architekturális regiszterek Regiszter átnevezés r0 r1 r2 r3 r4 r5 r6 r7 r3 átnevező logika hw8 hw1 hw2 hw3 hw4 hw5 hw6 hw7 hw8 hw9 hw10 hw11 hw12 Hardveres regiszterek Eredeti kód: Átnevezés utáni kód: Átrendezés utáni kód: ADD r3, r1, r2 LDR r4, [r3] SUB r3, r5, r6 STR [r7], r3 ADD hw3, hw1, hw2 LDR hw4, [hw3] SUB hw8, hw5, hw6 STR [hw7], hw8 ADD hw3, hw1, hw2 SUB hw8, hw5, hw6 LDR hw4, [hw3] STR [hw7], hw8 RAW hazárd WAR hazárd WAR hazárd mentes Hazárd mentes Számítógép architektúrák 181

182 Spekulatív végrehajtás Olyan műveletek végrehajtása, amely lehet hogy nem is szükséges Ha később kiderül, hogy a művelet nem volt szükséges, akkor az eredményt eldobjuk Nincs üresjárat pipeline processzor esetén Változatok Mohó végrehajtás (pl. elágazásnál mindkét ág végrehajtása, ha kiderül melyik szükséges azt megtartjuk) Jósló végrehajtás (pl. elágazás becslés, annak az ágnak a végrehajtása, amely esélyesebb) Számítógép architektúrák 182

183 Elágazásbecslés Feltételes ugró utasításnál melyik a következő utasítás, amit be kell tenni a pipeline-ba? Külön áramkör próbálja megbecsülni melyik ágat kell majd végrehajtani Elkezdődik a jósolt ág végrehajtása Ha kiderül, hogy a jóslat hibás a műveletek eredménye visszavonódik, egyébként időt spóroltunk (nem kellett várakozni) A pipeline hosszával (akár 30 is lehet) nő az igény a jó elágazásbecslésre Számítógép architektúrák 183

184 Szuperskalár processzorok Órajelenként több utasítás hajtódik végre Egy processzor magban több végrehajtási egység CPU idő [órajel] pipeline fázis IF ID OF EX WB utasítás 1 utasítás 2 utasítás 3 utasítás 1 utasítás 4 utasítás 2 utasítás 5 utasítás 3 utasítás 1 utasítás 6 utasítás 4 utasítás 2 utasítás 7 utasítás 5 utasítás 3 utasítás 1 utasítás 8 utasítás 6 utasítás 4 utasítás 2 utasítás 9 utasítás 7 utasítás 5 utasítás 3 utasítás 1 utasítás 10 utasítás 8 utasítás 6 utasítás 4 utasítás 2 Számítógép architektúrák 184

185 Szuperskalár processzorok ILP és OoOE Utasítás ablak Előre látható utasítások sora Független utasítások keresésének színtere Nagyobb ablakméret gyorsít Futtatható normál szekvenciális program is A megfelelő fordítás javíthatja viszont a hatékonyságot, növelheti az áteresztőképességet Számítógép architektúrák 185

186 Vektor processzorok A CPU egy utasítást hajt végre egyszerre adatok egydimenziós tömbjén (SIMD) Nagy méretű regiszterek használata (több önálló adatot is tárol egyszerre) Újabb utasítások bevezetése ezek kezelésére Példák MMX (Intel) 3DNow! (AMD) SSE AVX Számítógép architektúrák 186

187 Vektor processzorok Skalár processzor logika Ismételd 10-szer! Olvasd be a következő utasítást! Olvasd be ezt és azt a számot! Add össze őket! Mentsd el az eredményt! Ciklusvég Vektor processzor logika Olvasd be az utasítást! Olvasd be ezt a 10 és azt a 10 számot! Add össze őket egyszerre! Mentsd el az eredményeket! Számítógép architektúrák 187

188 Vektor processzorok MultiMedia extension (MMX) 64 bites regiszter (int: 1x64, 2x32, 4x16, 8x8) 8 darab (MM0-MM7) Alias-ok FPU regiszterekre (konkurenciát okoz) 3DNow! (AMD továbbfejlesztés) float-ot is használ Streaming SIMD Extensions (SSE) 128 bites regiszter (float: 4x32) 8 vagy 16 darab (XMM0-XMM15) 70 új utasítás Számítógép architektúrák 188

189 SSE2 Vektor processzorok 128 bites regiszter (float: 2x64, 4x32; int: 2x64, 4x32, 8x16, 16x8) SSE3, SSE4 Újabb utasítások (+13, +47) Advanced Vector extensions (AVX) 256 bites regiszter (float) 8 vagy 16 darab (YMM0-YMM15) Számítógép architektúrák 189

190 Vektor processzorok AVX2 int és float adatokra is Új utasítások AVX bites regiszter (int, float) 32 darab (ZMM0-ZMM31) AVX-512 AVX SSE MMX 512 bit 256 bit 128 bit 64 bit ZMM0 YMM0 XMM0 MM0 Számítógép architektúrák 190

191 Vektor processzorok 2db 32 bites előjeles egész összeadása Túlcsordulás jelzés: státusz regiszter bitek (OF, CF) OF=1 0x77 0x35 0x74 0x00 + 0x3B 0x02 0x33 0x76 = 0xB2 0x37 0xC7 0x76 4*2db 8 bites előjeles egész összeadása Túlcsordulás jelzés: telítési aritmetikai mód 0x77 0x35 0x74 0x00 + 0x3B 0x02 0x33 0x76 = 0x7F 0x37 0x7F 0x = = Számítógép architektúrák 191

192 Ciklus függőség Read After Write: nem vektorizálható for(i=1; i<n; i++) x[i] = x[i-1] + y[i]; Write After Read: vektorizálható for(i=0; i<n-1; i++) x[i] = x[i+1] + y[i]; Read after Read: vektorizálható for(i=0; i<n; i++) x[i] = y[i%2] + z[i]; Write after Write: nem vektorizálható for(i=0; i<n; i++) x[i%2] = y[i] + z[i]; N = 5; x = {0,1,2,3,4}; y = {5,6,7,8,9}; z = {9,7,5,3,1}; Számítógép architektúrák 192

193 VLIW processzorok Very Large Instruction Word Egy utasítás (ún. köteg) több kisebb, de egyszerre végrehajtható utasítást tartalmaz Olyan speciálisan fordított programot igényel, amely explicit módon jelzi a párhuzamosan végrehajtható utasításokat Szuperskalár ILP és OoOE Egyszerűbb hardver, bonyolultabb fordító Intel: Explicitly Parallel Instruction Computing Számítógép architektúrák 193

194 VLIW példa Kiszámítandó: (x-y)*(x+y)/(z*z*8) x értéke r1-ben, y értéke r2-ben, z értéke r3-ban Skalár megoldás (6 utasítás) SUB r4, r1, r2 ADD r5, r1, r2 MUL r6, r4, r5 MUL r7, r3, r3 ASL r8, r7, #3 DIV r9, r6, r VLIW megoldás (3 utasítás) SUB r4, r1, r2 ADD r5, r1, r2 MUL r7, r3, r3 MUL r6, r4, r5 ASR r8, r7, #3 NOP DIV r9, r6, r8 NOP NOP IDŐ IF ID OF EX WB 1. A 2. B A 3. C B A 4. C B A A A 5. C B B B A 6. C C C B 7. C (x y)(x + y) 8z 2 Számítógép architektúrák 194

195 VLIW vs Szuperskalár Érvek a VLIW mellett Egyszerű hardver Rövidebb órajel ciklus, gyorsabb működés Nagyobb végrehajtási egység sűrűség a chipen Érvek a VLIW ellen Lassú fordítás speciális fordítóval Nem portolható programok (szoftver inkompatibilitás) Nagyobb program méret a RAMban (NOP-ok miatt) Számítógép architektúrák 195

196 Ciklus kigöngyölés Segítségével hatékonyabbá tehető a program szuperskalár, vektor és VLIW processzor esetén Könnyebb független utasításokat találni. Kevesebb ciklusszervezési lépés Hagyományos ciklus for(i=0;i<100;i++) a[i]=b[i]+c[i]; Kigöngyölt ciklus for(i=0;i<100;i+=4){ a[i] =b[i] +c[i]; a[i+1]=b[i+1]+c[i+1]; a[i+2]=b[i+2]+c[i+2]; a[i+3]=b[i+3]+c[i+3]; } Számítógép architektúrák 196

197 Többmagos processzorok Egy integrált áramköri lapon több önálló feldolgozó egység kap helyet N mag esetén jobb teljesítmény és kisebb fogyasztás mint N darab egymagos CPU esetén Általában saját L1 (esetleg L2) cache, de közös L3 Cache koherencia probléma Párhuzamos szál/folyamat futtatás (MIMD) Taszk-szintű párhuzamosság (pl. Java Thread) Az operációs rendszernek támogatnia kell Számítógép architektúrák 197

198 Hyper-threading Az Intel SMT (Simultaneous MultiThreading) megvalósítása Több szál kezelése magon belül Több állapottároló processzor elem Egy végrehajtó elem Ha egy szálnak várnia kell, addig fusson a másik Elkerülve a pipeline buborékok alkalmazását Minden fizikai mag két logikai magként viselkedik Az operációs rendszer támogatás fontos Számítógép architektúrák 198

199 Többprocesszoros rendszerek Számítógép rendszer több processzorral Megosztott (shared) vagy szétosztott (distributed) memória Többmagos processzor: speciális megosztott memóriás többprocesszoros rendszer Programozás OpenMP (shared memory model) Open MPI (message passing) OGE / SGE (cluster computing) Számítógép architektúrák 199

200 csomópont 1 csomópont 2 NUMA architektúra Non-Uniform Memory Access (nem egységes memória hozzáférés) Processzorokhoz saját memória tartozik, de elérheti másik processzor memóriáját is A memóriaelérés ideje függ a memória helyétől Egyszerre több memóriaművelet is végezhető CPU busz RAM összeköttetés CPU busz RAM Számítógép architektúrák 200

201 gyorsulás (S) Amdahl törvénye N darab processzor (szál) használata nem eredményez N-szeres gyorsulást egy folyamat végrehajtásában S N = T 1 T N = 1 A+ 1 N (1 A) ahol S a gyorsulás, T a futásidő és A a futásidő soros végrehajtású hányada 0 A 1 processzor szám (N) A=0,1 A=0,2 A=0,5 Számítógép architektúrák 201

202 Virtualizáció Egy hardveren egyszerre több működő operációs rendszer Egy gazda gép (host) Több vendég (guest) Típusai Hosztolt virtualizáció Natív virtualizáció Hypervisor (VMM) Hyper-V, Vmware, VirtualBox Hardveres támogatás (VT-x, AMD-V) OS OS OS Hypervisor OS Hardver Hosztolt virtualizáció OS OS OS Hypervisor Hardver Natív virtualizáció Számítógép architektúrák 202

203 Grafikus feldolgozó egység Graphics Processing Unit (GPU) Feladat: textúrák kezelés, képek renderelés, 3D grafika gyorsítás, videó kódolás, Integrált vagy külön videokártya Gyártók: nvidia és ATI (AMD) Egyszerű, kis utasításkészlet Nagy számítási kapacitás (párhuzamos, SIMD) Saját memóriája lehet Csatlakozás: AGP, PCIe VGA, DVI, HDMI Számítógép architektúrák 203

204 Általános célú GPU General-Purpose GPU (GPGPU) A GPU átvesz számításokat a CPU-tól Programozás OpenCL CUDA MATLAB Accelerated Processing Unit (APU) CPU és GPU elemekből felépülő processzor Számítógép architektúrák 204

205 FPGA Field-Programmable Gate Array Programozható logikai áramkör Újrakonfigurálható rendszer Speciális nyelvek: VHDL, Verilog Természeténél fogva párhuzamos működés Létezik processzorba integrált FPGA Szoft-processzor FPGA-n implementált processzor architektúra Számítógép architektúrák 205

206 Intel X86 történelem & további architektúrák Az Intel processzorok fejlődése Más architektúrák HPC

207 Intel X86 Főbb architektúra családok 8086, 80386, Pentium, Pentium 4, Core i7, Core i9 Motorola MIPS Transmeta PowerPC ARM Microchip PIC AVR CPU MCU Számítógép architektúrák 207

208 Megjelenési év bites regiszterek Intel bites fizikai cím (1MB) 5-10 MHz órajel 3000nm technológia tranzisztor 40 tűs DIP tokozás DMA támogatás mov ax, [di] ;from the address in di to ax Számítógép architektúrák 208

209 Intel Megjelenési év bites regiszterek 4GB-os címtér MHz órajel nm technológia tranzisztor 132 tűs PGA tokozás Cache, virtuális memória kezelés, pipeline Számítógép architektúrák 209

210 Intel Pentium Megjelenési év bites regiszterek 4GB-os címtér MHz órajel nm technológia tranzisztor 273 tűs Socket 4; 321 tűs Socket 7 aljzat Szuperskalár, MMX, L2 cache, integrált FPU Számítógép architektúrák 210

211 Megjelenési év bites regiszterek Intel Pentium 4 Mikroarchitektúra: NetBurst MHz órajel nm technológia millió tranzisztor Socket 423 vagy Socket 478 aljzat SSE3, szintű futószalag, elágazásbecslés, HyperThread Számítógép architektúrák 211

212 Megjelenési év 2008 Intel Core i7 64 bites regiszterek (x86-64) Mikroarchitektúra: Nehalem, Sandy Bridge, Ivy Bridge, Haswell, Broadwell, 45-14nm technológia ( millió tranzisztor) 2-6 mag LGA aljzat ( kontaktus) L3 cache, integrált GPU, AVX-512, integrált NorthBridge Számítógép architektúrák 212

213 Megjelenési év 2017 Intel Core i9 64 bites regiszterek (x86-64) Mikroarchitektúra: Skylake 14nm technológia mag FCLGA aljzat (2066 kontaktus) 13-24MB L3 cache, Virtual Machine extensions, Turbo Boost Max 3.0 (4,5GHz), AVX-512, HT, DMI 3.0, DDR4 Számítógép architektúrák 213

214 Moore törvény A processzorok tranzisztorszáma körülbelül két évente megduplázódik Közel vagyunk a határhoz (kb. 2025) az atomi méretek miatt 1,E+10 1,E+09 1,E+08 1,E+07 1,E+06 Moore törvénye i486 Pentium 4 Pentium III Pentium Core 2 Duo Core i9 Core i7 Haswell 1,E+05 i286 i i186 1,E Számítógép architektúrák 214

215 Intel Xeon Phi Szuperszámítógépekbe, szerverekbe GPU alapú MIC (Many Integrated Core) architektúra mag ( GHz) 28,5-36MB L2 cache ISA: x utas hyperthreading AVX GFLOPS (Core i7: GFLOPS) Társprocesszor Számítógép architektúrák 215

216 Motorola Régi (1979), de élő CISC 16/32 bites Memory-mapped I/O 14 címzési mód, 5 adattípus, 56 utasítás 7 szintű megszakítási rendszer Alkalmazás: Apple Macintosh, Sega Mega Drive, Comodore Amiga, SG és Sun munkaállomás, PLC MOVE.W (A1), D1 ;move 2 bytes from the address stored in A1 to D1 Számítógép architektúrák 216

217 MIPS RISC 32/64 bites 5 fokozatú pipeline végrehajtás OoOE, SIMD, szuperskalár több szintű cache Alkalmazás: PlayStation 2 és Nintendo 64 játékkonzolok, CISCO routerek, lw $t1, ($t0) #move 2 bytes from the address stored in t0 to t1 Számítógép architektúrák 217

218 Transmeta Crusoe Alacsony fogyasztás Szoftveres ISA X86 kompatibilitás Akár Java bájtkód futtatás VLIW (128bit) Megjelenés: 2000 Többszintű cache Utód: Efficeon Alkalmazás: tablet-ek, laptop-ok Számítógép architektúrák 218

219 PowerPC Fejlesztő: Apple+IBM+Motorola RISC 32/64 bites Szuperskalár Futásidőben állítható little-endian/big-endian bájtsorrend Alkalmazás: Xbox 360, Nintendo Wii li 3, 0(5) ;move data from the address stored in register 5 to register 3 Számítógép architektúrák 219

220 ARM RISC 32/64 bites Akár 13 fokozatú pipeline, SIMD, szuperskalár Prioritásos megszakításkezelés Egységes 32 bites utasítások Feltételes utasítás-végrehajtás (nincs elágazásbecslés) Alkalmazás: Raspberry Pi, iphone 6 és egyéb okostelefonok, (2013-ban 10 milliárd új CPU) LDR R8, [R0] ;move data from the address stored in R0 to R8 Számítógép architektúrák 220

221 Microchip PIC Mikrokontroller (Módosított) Harvard architektúra RISC 8/12/14/16 bites 1 általános munkaregiszter (W) Nincs különbség adatmemória és regiszter között Pl.: a PC és egyéb regiszterek memóriára vetítve MOVLW d 29 ;move decimal 29 into W Számítógép architektúrák 221

222 Atmel AVR Mikrokontroller (Módosított) Harvard architektúra RISC 8/32 bites 32 általános 8 bites munkaregiszter (R0-R31) Saját beépített memória (SRAM, Flash) Címtér: regiszterfájl + memória Alkalmazás: Arduino ldi r16, 0xF1 ;load hexadecimal 0xF1 to r16 Számítógép architektúrák 222

223 High-Performance Computing HPC - Top 1 Magyarországon (2015) Leo (Szilárd Leo után) Debrecen, DE Kassai úti campus 197,2 TFLOPS számítási kapacitás 462 Intel Xeon E (2.6GHz) 3696 mag GB memória Kb 8000 TB háttértár HUF Top500: 308. helyezés Számítógép architektúrák 223

224 High-Performance Computing HPC - TOP 1 (2015) (2018 Q4: TOP 4) Tienhe-2 (Tejút 2) Kína, Guangzhou 33,86 PFLOPS számítási kapacitás Intel Xeon (2.2GHz) Xeon Phi mag GB memória TB háttértár USD 17,6 MW fogyasztás (+6,4MW a hűtőrendszer) Számítógép architektúrák 224

225 A programozás és az operációs rendszer Rendszerhívás Folyamatok Szignál Ütemezés Virtuális memória

226 Duál-módú működés Kernel mód Magas CPU jogosultság A processzor minden utasítást végre tud hajtani Minden memóriarekesz megcímezhető User mód Alacsony CPU jogosultság Processzor korlátozott utasításkészletet használ Nem minden memóriarekesz hozzáférhető Számítógép architektúrák 226

227 Rendszerhívás Interfész a felhasználói program és az operációs rendszer kernel között A program egy szolgáltatást igényelhet az operációs rendszer kerneltől Tipikus megvalósítás szoftver interrupt-tal Kernel módú működés Például Folyamatok kezelése Fájlok kezelése Eszközök kezelése Számítógép architektúrák 227

228 Rendszerhívás Példa: Egy USB meghajtón lévő file írása Saját C program fprintf() standard könyvtári függvény write rendszerhívás USB driver USB drive Felhasználói program Könyvtári függvény Szoftver Rendszerhívás Kernel Eszköz meghajtó Hardver eszköz Hardver Számítógép architektúrák 228

229 Process, processzus Folyamat Végrehajtás alatt álló program Erőforrásokkal rendelkezik CPU-idő, memória, állományok, I/O eszközök A folyamatokhoz kapcsolódó információkat a folyamatvezérlő blokk (PCB) tartalmazza Kommunikálhatnak egymással Inter-process communication (IPC) Számítógép architektúrák 229

230 Folyamat Multi-programozott környezetben egynél több folyamat is lehet egyszerre Egyedi azonosítóval rendelkezik (PID) Minden folyamatnak egy szülő- és több gyermek folyamata lehet Egy vagy több szálból állhat a folyamat Különböző állapotokban lehetnek Az állapotok között különböző állapotátmenetek Számítógép architektúrák 230

231 Folyamat ütemezés Multi-programozott környezet (több folyamat) Ütemező: választ a futásra kész folyamatok közül, ki kapja meg a CPU-t Algoritmusok: FCFS, RR, SJF, EDF Preemptív ütemezés Pl. hardveres időzítő lejár és megszakítást kér Aktuális folyamat megszakad, majd aktiválódik az ütemező kódja Választ egy folyamatot, beállítja az időzítőt és átadja a vezérlést a választott folyamatnak (PCB-t módosít). Számítógép architektúrák 231

232 Folyamat állapotátmenetek Új Befejezett befogadás Futásra kész Futásra kész felfüggesztett ütemezés időtúlfutás Futó esemény bekövetkezés leállás eseményre várás Várakozó kilapozás belapozás kilapozás belapozás Várakozó felfüggesztett operatív memória lapozó file Számítógép architektúrák 232

233 Folyamatok közötti kommunikáció Néha a folyamatoknak szükségük van információcserére egymás között Fájl: több folyamat által közösen használt fájl Pipe: pl. input/output átirányítás Szignál: értesítés eseményről bekövetkeztéről Szemafor: osztott erőforrás szinkronizációjához Shared memory: közösen használt RAM terület Socket: hálózati protokollokon keresztül Számítógép architektúrák 233

234 Szignál Egy folyamatnak küldött jelzés Esemény bekövetkeztét jelzi, aszinkron módon Üzenet/adat csere nincs Ha egy folyamat kap egy szignált a normál működés megszakad végrehajtódik a definiált szignálkezelő kód, majd a folyamat folytatódik Gyakori szignálok: SIGINT (2), SIGKILL (9), SIGALRM (14), SIGTERM (15), SIGCHLD (18), SIGSTOP (23), SIGCONT (25) Számítógép architektúrák 234

235 Virtuális memória A fizikai memória korlátainak transzparens átlépését teszi lehetővé a háttértár segítségével Fizikai memória keretekre osztva Logikai memória lapokra osztva (fix méret: 4kB) Külön virtuális- és fizikai címzés Virtuális cím leképezése fizikai címre: laptábla A nem használt lapok kilapozhatóak a HDD-re A Memory Management Unit (MMU) irányít Számítógép architektúrák 235

236 Virtuális memória Hivatkozás RAM-ban nem lévő lapra (lap hiba) Lapcsere szükséges Lapcserélési stratégia fontos (FIFO, LRU, ) HDD elérés ideje kb szerese a RAM elérési időnek Gyakori lapozás lassítja a programot Megvalósítás Linux: swap partíció Windows: C:\pagefile.sys fájl Számítógép architektúrák 236

237 Virtuális memória kezelése 1. CPU logikai memória igény (lap# + offset). 2. Laptábla ellenőrzés: ha a lap a RAM-ban folytasd a 9. lépésnél, különben 3. lépésnél! 3. Válassz a RAM-ban egy keretet a beolvasáshoz! 4. Szükség esetén indítsd el a keretben lévő lap kiírását a HDD-re, majd indítsd el a szükséges lap beolvasását a keretbe! 5. Közben a folyamat várakozó állapotba kerül, az ütemező indítson egy futásra kész folyamatot! Számítógép architektúrák 237

238 Virtuális memória kezelése 6. A háttérben a DMA vezérlő (kiírja) beolvassa a RAM-ba a HDD-ről a lapot és ha kész küld egy I/O kész megszakítást. 7. A folyamat futásra kész állapotba kerül. 8. Amint az ütemező újra futóvá teszi a folyamatot ismételd meg a memória igényt! 9. A laptábla alapján fizikai cím (keret# + offset) előáll. A RAM válaszol a keresett adattal. Számítógép architektúrák 238

239 Virtuális memória kezelése Logikai cím Fizikai cím?? Adat? lap# offset keret# offset virtuális címtér (folyamat A) 0 A0 1 A1 2 A2 3 A3 4 A4 5 A5 6 A6 laptábla (folyamat A) fizikai címtér (RAM) 0 B1 1 A4 2 A1 3 B9 4 A0 5 A6 szabaddá tehető 7 A7 háttértár 8 A A9 Számítógép architektúrák 239

240 Virtuális memória kezelése Logikai cím Fizikai cím?? Adat? lap# offset keret# offset virtuális címtér (folyamat A) 0 A0 1 A1 2 A2 3 A3 4 A4 5 A5 6 A6 laptábla (folyamat A) fizikai címtér (RAM) 0 B1 1 A4 2 A1 3 B9 4 5 A6 szabaddá tehető 7 A7 háttértár 8 A A9 Számítógép architektúrák 240

241 Virtuális memória kezelése Logikai cím Fizikai cím Adat 67 lap# offset keret# offset virtuális címtér (folyamat A) 0 A0 1 A1 2 A2 3 A3 4 A4 5 A5 6 A6 7 A7 8 A8 9 A9 67 laptábla (folyamat A) fizikai címtér (RAM) 0 B1 1 A4 2 A1 3 B9 4 A2 5 A6 háttértár 67 Számítógép architektúrák 241

242 Előnyök a programozó számára Nagyobb méretű adatokkal dolgozhatunk, mint amennyi fizikai memória rendelkezésre áll. Minden program/folyamat saját virtuális címtérrel rendelkezik. Nem férhetnek hozzá másokéhoz. Programíráskor nem kell tudnunk mely memóriaterületek foglaltak már (más programok által). Támogatja a multiprogramozott rendszereket. Számítógép architektúrák 242

243 Digitális elektronikai alapok Félvezető Dióda, tranzisztor Logikai kapu Flip-flop Multiplexer, címdekódoló Összeadó áramkör

244 Fizika Anyag atom elektron - & proton + & neutron 0 Coulomb erő (elemi kölcsönhatás) F = 1 Q 1 Q 2 r 4πε 0 r 2 r Feszültség: a töltésekre ható erőből származik Elektromos áram: töltött részecskék áramlása Ellenállás: a töltésmozgás akadályozása Vezetők, szigetelők Számítógép architektúrák 244

245 elektron energia elektron energia elektron energia elektron energia Félvezetők Rossz vezető, rossz szigetelő Ok: szilárdtestek sávszerkezete 4 vegyérték elektron (Si, Ge) Kvantumfizika Bohr-féle atommodell atomban szilárdtestben vezetési sáv tiltott sáv vegyérték sáv vezető félvezető szigetelő Számítógép architektúrák 245

246 elektron energia Szennyezett félvezető n-szennyező (elektron) 5 vegyérték elektron (As, Sb) p-szennyező ( lyuk ) 3 vegyérték elektron (Ga, In) Új energiaszint a tiltott sávban Si Si Si Si As Si Si Si Si Si Si Si Si Ga Si Si Si Si n-típus p-típus Számítógép architektúrák 246

247 p-n átmenet Félvezető egykristály eltérően szennyezett részei között található Szabad töltéshordozók átáramlanak a másik rétegbe, rekombinálódhatnak. n p kiürített réteg töltéssűrűség + - elektrosztatikus potenciál potenciálgát Számítógép architektúrák 247

248 Dióda Záró irányú előfeszítés Nyitó irányú előfeszítés Dióda: egyenirányításra képes Jele: Speciális dióda: LED Számítógép architektúrák 248

249 Tranzisztor 2 darab p-n átmenet ( összefordított diódák ) Kapcsoló, erősítő p n n p Bipoláris tranzisztor E B C Unipoláris tranzisztor D G S p n p p n p C S B E G n-csatornás JFET D Számítógép architektúrák 249

250 A logikai NAND kapu 2 bemenetű logikai kapu ( nem és ) Jele: Felépítése, működése: V cc A B TTL NAND kapu GND Q A B Q Számítógép architektúrák 250

251 További logikai kapuk Felépíthetőek NAND kapukból NOT AND OR XOR A Q A B Q A B Q A B Q Számítógép architektúrák 251

252 Flip-flopok Szekvenciális digitális elektronikai áramkör 1 bit információ tárolására képes Alkalmazás: regiszter, számláló, frekvenciaosztó D CLK Q _ Q CLK adat kimenet D flip-flop CLK=1 tárol D CLK=0 tart előző adat bemenet 4 bites regiszter Számítógép architektúrák 252

253 Komparátor Kombinációs hálózat (állapotmentes) A bemeneteire adott értékpárokat hasonlítja össze Ha a két bemeneti bitsorozat megegyezik, akkor 1 érték jelenik meg a kimeneten, különben 0 érték. 4 bites komparátor Számítógép architektúrák 253

254 Kombinációs hálózat Multiplexer N jelből 1-et kiválaszt a vezérlőjelek alapján K darab vezérlőjel 2 K darab bemenő jelet tud azonosítani S 0 S 1 Z 0 0 A 0 1 B 1 0 C 1 1 D D C B A MUX S 0 S 1 4:1 multiplexer Számítógép architektúrák 254 Z

255 Kombinációs hálózat Címdekódoló A címbemenetre adott jel alapján kiválasztja a kimenő jelek egyikét N bites címbemenetre adott érték a 2 N darab kimeneti vonal közül 1-et aktivál A 0 A 1 D 0 D 1 D 2 D A 0 A 1 D 0 D 1 D 2 D 3 2 bites címdekódoló Számítógép architektúrák 255

256 cím Dekóder szó vonal Memória Közvetlen hozzáférésű memória SRAM vagy DRAM különbség a cellában Bitcella: 1 bitet tárol A cím választja ki melyik cella értéke kerüljön a kimenetre Bit cella Bit cella Bit cella Bit cella Bit cella Bit cella Bit cella Bit cella bit vonal Bit cella Bit cella Bit cella Bit cella Multiplexer adat Bit cella Bit cella Bit cella Bit cella Számítógép architektúrák 256

257 szó vonal szó vonal Bit cella SRAM DRAM bit vonal bit vonal bit vonal kondenzátor tranzisztor NOT kapu tranzisztor 4-6 tranzisztor Gyors kimenet Tartós tárolás Egyszerű szerkezet Lassú kimenet Szivárgás frissítés Számítógép architektúrák 257

258 Összeadó áramkör Félösszeadó: 2 bit összeadására képes A B A B C S Teljes összeadó: 3 bit összeadására képes (2 db félösszeadó) A B C i C o S C out Számítógép architektúrák 258 C S A B S C in

259 Ripple-carry összeadó Több bites adatok összeadására képes Láncba fűzött teljes összeadók A 3 B 3 A 2 B 2 A 1 B 1 A 0 B C 0 S 3 S 2 S 3 S 2 A 3 A 2 A 1 A 0 B 3 B 2 B 1 B 0 teljes összeadó c S 3 S 2 S 1 S 0 primitív 4 bites ALU kezdemény Számítógép architektúrák 259

260 Primitív ALU vázlat Reg: IN_A Reg: IN_B ÉS-elő VAGY-oló Komparátor Összeadó Reg: IR Multiplexer Reg: SR Reg: OUT Számítógép architektúrák 260

261 Assembly programozás Assembly nyelv Utasítás készlet Címzési módok Fordítás-szerkesztés-betöltés Gépi kód

262 Assembly programozás Alacsony absztrakciós szint Programozói szabadság Feladatra optimalizálható kód Nagyobb program teljesítmény Hardverismeret szükség Nehezebben átlátható kód PC, mikrokontroller Magasszintű programnyelvek Assembly programozás Gépi kód Számítógép architektúrák 262

263 Utasítás szerkezet 4 címes utasítás Műveleti kód 3 címes utasítás Műveleti kód 1. Operandus cím 1. Operandus cím 2. Operandus cím 2. Operandus cím Eredmény cím Eredmény cím Következő utasítás cím 2 címes utasítás Műveleti kód 1. Operandus + eredmény cím 2. Operandus cím 1 címes utasítás Műveleti kód 2. Operandus cím Számítógép architektúrák 263

264 Program és utasítás felépítés Forrás fájl utasítás_1 utasítás_2 utasítás_3 utasítás_4 utasítás_5 Címke Művelet Operandus(ok) Megjegyzés.L1: mov ax, 0 # zero into ax Címke Azonosító, általában kettősponttal zárul Művelet Operandus(ok) Megjegyzés Az elvégzendő művelet mnemonic-ja Adat(ok) vagy adat(ok)ra hivatkozás(ok) Sor végéig a fordító figyelmen kívül hagyja Számítógép architektúrák 264

265 Utasításkészlet architektúra ISA (Instruction Set Architecture) A számítógép programozáshoz kötődő részletei Bitszélesség (buszok és regiszterek) Regiszter készlet Gépi utasítások Címzési módok Memória architektúra Megszakítás kezelés Számítógép architektúrák 265

266 Utasítás típusok Adatmozgató utasítások (Egész) aritmetikai utasítások Bitenkénti logikai utasítások Bitléptető utasítások Vezérlésátadó utasítások Sztringkezelő utasítások BCD és valós aritmetikai utasítások Fordítási direktívák Egyéb utasítások Számítógép architektúrák 266

267 Utasítás típusok Adatmozgató utasítások Regiszter-regiszter (mov, xchg) Regiszter-memória (mov) Regiszter-I/O port (in, out) Regiszter-verem (push, pop) Kiterjesztés (bitszélesség fontos) (cbw, cwd) Státusz bit állítás (sti, cli) Számítógép architektúrák 267

268 Utasítás típusok Aritmetikai utasítások Összeadás (átvitel nélkül/átvitellel) (add, adc) Kivonás (átvitel nélkül/átvitellel) (sub, sbb) Inkrementálás, dekrementálás (inc, dec) Kettes komplemens (neg) Előjeles/előjel nélküli szorzás (imul, mul) Előjeles/előjel nélküli osztás (idiv, div) Összehasonlítás (cmp) Számítógép architektúrák 268

269 Utasítás típusok Bitenkénti logikai utasítások ÉS művelet (and) VAGY művelet (or) KIZÁRÓ VAGY művelet (xor) Egyes komplemens (not) Bit tesztelés (test) Számítógép architektúrák 269

270 Utasítás típusok Bitléptető utasítások Logikai/előjel nélküli balra léptetés (shl) Logikai/előjel nélküli jobbra léptetés (shr) Aritmetikai/előjeles balra léptetés (sal=shl) Aritmetikai/előjeles jobbra léptetés (sar) Jobbra/balra forgatás (ror, rol) Jobbra/balra forgatás carry-n keresztül (rcr, rcl) Számítógép architektúrák 270

271 Vezérlésátadó utasítások Utasítás típusok Feltétel nélküli ugrás (jmp) Feltételes ugrás (ja, jae, jb, jbe, je, jne, jc, jo, ) Ciklusszervező (loop, loopz, loopnz, ) Hívó utasítás (call) Szubrutinból visszatérés (ret) Szoftveres megszakítás kérés (int) Példa:.L1: Megszakítás-kezelőből visszatérés (iret) sub eax, 1 jnz.l1 mov eax, 9 mov ebx, eax Számítógép architektúrák 271

272 Utasítás típusok Stringkezelő (bájtsorozat kezelő) utasítások Sztring mozgató (movs, movsb, movsw) Sztring összehasonlító (cmps) Keresés sztringben (scas) Egyéb utasítások Koprocesszor vezérlő (wait, esc) Rendszervezérlő (hlt) Üres utasítás (nop) Számítógép architektúrák 272

273 Utasítás típusok Fordítási direktívák: gépi kód nincs mögöttük, a fordítás menetét befolyásolják Forrásfájl lezárása (end) Szegmens definiálás (segment, ends) Egyszerűsített szegmensdefiníció (stack,.data) Helyfoglalás (db, dw, dd) Helyettesítő szimbólum létrehozás (equ) Számítógép architektúrák 273

274 Címzési módok Adat vagy utasítás hogyan érhető el. Rejtett (implicit, implied) Közvetlen adat megadás (immediate) Közvetlen cím (direct, absolute) Regiszteres cím (register direct) Közvetett cím (indirekt) Regiszter indirekt Indexelt cím Bázis relatív cím Számítógép architektúrák 274

275 Címzési módok Rejtett címzés Nincs igazi cím megadás Pl. ha nincs operandus Op.kód1 Op.kód2 Számítógép architektúrák 275

276 Címzési módok Közvetlen adat megadás Műveleti kód után közvetlenül található adat Ez lesz az operandus Konstans Op.kód Adat Számítógép architektúrák 276

277 Címzési módok Regiszteres címzés A műveleti kód hivatkozik egy regiszterre A regiszterben található az operandus értéke Op.kód regiszter Adat Számítógép architektúrák 277

278 Címzési módok Közvetlen cím Műveleti kód után található egy memóriacím Itt helyezkedik el az operandus Op.kód 731 Adat Számítógép architektúrák 278

279 Címzési módok Közvetett cím A műveleti kód után található egy cím Ezen a címen található az operandus igazi címe Op.kód Adat Számítógép architektúrák 279

280 Regiszter indirekt Címzési módok A műveleti kód hivatkozik egy regiszterre A regiszterben található címen helyezkedik el az operandus regiszter Op.kód 731 Adat Számítógép architektúrák 280

281 Indexelt Címzési módok A műveleti kód után található egy cím, ehhez hozzáadva az index regiszterben található értéket megkapjuk az operandus memóriacímét index reg Op.kód 731 Adat Számítógép architektúrák 281

282 Bázis relatív Címzési módok A műveleti kód után található egy eltolási érték, ehhez hozzáadva a bázis regiszterben található kezdőcímet megkapjuk az operandus címét bázis reg Op.kód 731 Adat Számítógép architektúrák 282

283 Assembly szintaxis Intel szintaxis.intel_syntax noprefix.globl main main: push ebp mov ebp, esp sub esp, 16 mov DWORD PTR [ebp-16], 2 mov DWORD PTR [ebp-12], 3 cmp DWORD PTR [ebp-16], 4 jne.l2 mov eax, DWORD PTR [ebp-12] mov DWORD PTR [ebp-8], eax jmp.l3.l2: mov DWORD PTR [ebp-8], 4.L3: mov eax, DWORD PTR [ebp-8] add esp, 16 pop ebp ret AT&T szintaxis.att_syntax noprefix.globl main main: pushl %ebp movl %esp, %ebp subl $16, %esp movl $2, -16(%ebp) movl $3, -12(%ebp) cmpl $4, -16(%ebp) jne.l2 movl -12(%ebp), %eax movl %eax, -8(%ebp) jmp.l3.l2: movl $4, -8(%ebp).L3: movl -8(%ebp), %eax addl $16, %esp popl %ebp ret Számítógép architektúrák 283

284 Utasítások 8086: 114 utasítás 80186: +15 (új és bővített) 80286: : : : : : +12 +Pentium, +MMX, +SSE, +AVX, +egyéb ( ) Számítógép architektúrák 284

285 Operandusok Operandusok Regiszter (8, 16, 32 bites) Konstans (8, 16, 32 bites) Memória tartalom Memória cím és méret kényszerítés mov al, BYTE PTR [ebx] mov ax, WORD PTR [ebx] mov eax, DWORD PTR [ebx] Számítógép architektúrák 285

286 Címzési módok Regiszteres Közvetlen adat Közvetlen cím Közvetett regiszteres Regiszter relatív Bázisos indexelt Bázis+index relatív Skálázott Szegmens előtag mov ax, bx mov ax, 7Fh mov ax, [1234] mov ax, [bx] mov ax, [bx + 100h] mov ax, [bx + si] mov ax, [bp + di + 123] mov ax, [si * 4 +10h] mov ax, [es:bx] Számítógép architektúrák 286

287 Címzési módok Effektív cím (EA) megadás alakjainak összegzése CS: SS: DS: ES: FS: GS: egyiksem Szegmens szelektor EAX EBX ECX EDX ESI EDI EBP ESP egyiksem EAX EBX ECX EDX + ESI EDI EBP egyiksem egyiksem Bázis Index Skálázó faktor Példa: mov EAX, [DS:EBP+EDI*4+10h] vagy ugyanaz más írásmódban: mov EAX, DS:10h[EBP][EDI*4] + eltolás semmi Eltolás Számítógép architektúrák 287

288 Alprogram hívási konvenció Hívó szabályai Paraméterek fordított sorrendben a rendszerverembe helyezése Néha adott sorrendben regiszterekbe: edi, esi, edx, Lebegő pontos paraméterek a SSE regiszterekbe (eax-be a float paraméterek száma) Alprogram hívás (visszatérési cím a verembe kerül, programszámláló átáll az alprogram kezdőcímére) Visszatérés után veremből paraméterek kivétele Visszatérési érték az eax regiszterben van Számítógép architektúrák 288

289 Alprogram hívási konvenció Hívott szabályai Bázis pointer verembe mentés Verem mutató mentése bázis pointerbe Helyfoglalás lokális változóknak a veremben Használandó regiszterek mentése a verembe Visszatérési érték az eax regiszterbe tétele Mentett regiszterek és verem visszaállítás Visszatérés (a veremben lévő címre) Számítógép architektúrák 289

290 Gépi kód Az egyetlen nyelv, amit a processzor megért Bináris formátum Processzoronként változó lehet Példa: assembly: gépi kód: SUB EAX, EBX # eax = eax-ebx 0x29 0xD OpKód d s MOD REG R/M SUB művelet REG mező a forrás 32 bites regiszter Regiszteres címzés Forrás: EBX Cél: EAX Számítógép architektúrák 290

291 Gépi kód példa C nyelvű kód y=5; z=6; x=z+y*7; Assembly kód mov DWORD PTR [ebp-12], 5 mov DWORD PTR [ebp-8], 6 mov ebx, DWORD PTR [ebp-12] mov eax, ebx sal eax, 3 sub eax, ebx add eax, DWORD PTR [ebp-8] mov DWORD PTR [ebp-16], eax Gépi kód c7 45 f c7 45 f b 5d f4 89 d8 c1 e d f f0 Számítógép architektúrák 291

292 Magasszintű programozás leképezése assembly-re 1. Programozás alapjai Kifejezéskiértékelés Elágaztatás Ciklusszervezés

293 Gondolatébresztő kérdések Melyik értékadás fut le rövidebb idő alatt? int a, b=2, c=3, d=4, e=1, f=2; a=(b+c)*(d-e)%f; a=(2+3)*(4-1)%2; a=5; Mi az alábbi kifejezés értéke? (!3+8==2*4)+-1 Mi az alábbi kifejezés típusa C nyelven? 5/(short)2==.5+ 2 Számítógép architektúrák 293

294 Gondolatébresztő kérdések Ki/mikor/hogyan végzi a kifejezés kiértékelést? Van címe a konstansnak? Van-e különbség a #define és a const között? Kétirányú elágaztatásnak minősül-e az if (a==0) b=0; utasítás? Hányszor fut le az alábbi ciklus magja? for(a<1,b=1;c++;d=1) e=1; Számítógép architektúrák 294

295 Mi az outputja a programnak? Számítógép architektúrák 295

296 Editor Programozás Szövegszerkesztőben forráskód létrehozása Forrás kód: háttértárolón tárolt szöveges file Esetleg nyelv érzékeny eszközrendszer Fordító (compiler, assembler) Előfeldolgozás, lexikai/szintaktikai/szemantikai elemzés, optimalizálás, kódgenerálás Eredmény: tárgykód (ojbect file) Nem interpreter! Számítógép architektúrák 296

297 Programozás Kapcsolatszerkesztő (linker) A tárgykódban nem igazi címek, csak hivatkozások vannak (több fájl, könyvtári függv.) Linker feloldja a hivatkozásokat: futtatható fájl Betöltő (loader) Az op. rendszer része: létrehozza a folyamatot RAM-ba tölti a gépi kódot Inicializál: regiszterek, verem Átadja a vezérlést Számítógép architektúrák 297

298 A C nyelv típusai Aritmetikai (egyszerű) típusok [unsigned signed] char [unsigned signed] [short long long long*] int enum float [long*] double Összetett/származtatott típusok struct és union tömb mutató *ISO C99 Számítógép architektúrák 298

299 A C egész típusai típus méret tartomány [signed] char unsigned char 1 bájt [signed] short unsigned short 2 bájt [signed] int 4 bájt unsigned int (2 bájt) [signed] long 8 bájt unsigned long (4 bájt) [signed] long long * unsigned long long 8 bájt *ISO C99 Számítógép architektúrák 299

300 Felsorolásos típus Alacsony szinten int-ként reprezentált C nyelven a két kód assembly szinten azonos Számítógép architektúrák 300

301 A C nyelv valós típusai Valós típusú konstansok formátuma f 75.1e L E+1 Valós típusok paraméterei méret minimum maximum pontosság float 4 bájt számjegy double 8 bájt számjegy long double* 10 bájt számjegy *ISO C99 Számítógép architektúrák 301

302 A C nyelvben Mutató típus Fontos szerepet játszik (mutatóorientált nyelv) Előjel nélküli egész reprezentáció (32 vagy 64 bit) NULL: csupa nulla bit Értéke adatcím és kódcím (!) is lehet Aritmetikai műveletek is végezhetőek velük Számítógép architektúrák 302

303 struct kulcsszó Rekord típus Nem biztos, hogy folytonos memóriaterületen A.a A.b A.c A.d sizeof(a)==16 B.d B.a B.c B.b sizeof(b)==24 nem használt bájt Számítógép architektúrák 303

304 A C nyelv tömbje Tömb index 0-tól (db-1)-ig Csak egydimenziós tömb van, viszont van tömbök tömbje Sztring: karaktertömb Lezáró karakter \0 (ASCII kód: 0) A tömb neve az első elemre mutató nevesített konstans (mutatóorientáltság erős) egyenértékű utasítások Számítógép architektúrák 304

SZÁMÍTÓGÉP ARCHITEKTÚRÁK & HARDVERKÖZELI PROGRAMOZÁS 1

SZÁMÍTÓGÉP ARCHITEKTÚRÁK & HARDVERKÖZELI PROGRAMOZÁS 1 SZÁMÍTÓGÉP ARCHITEKTÚRÁK & HARDVERKÖZELI PROGRAMOZÁS 1 Dr. Varga Imre Debreceni Egyetem Informatikai Rendszerek és Hálózatok Tanszék 2018. május 09. Követelmények Gyakorlat (aláírás, csak HKP1) Óralátogatás

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

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.

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. 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. Neumann elv: Külön vezérlő és végrehajtó egység van Kettes

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

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

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

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

A számítógép egységei

A számítógép egységei A számítógép egységei A számítógépes rendszer két alapvető részből áll: Hardver (a fizikai eszközök összessége) Szoftver (a fizikai eszközöket működtető programok összessége) 1.) Hardver a) Alaplap: Kommunikációt

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

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

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

Számítógép egységei. Szoftver (a fizikai eszközöket működtető programok összessége)

Számítógép egységei. Szoftver (a fizikai eszközöket működtető programok összessége) Számítógép egységei A számítógépes rendszer két alapvető részből áll: Hardver (a fizikai eszközök összessége) Szoftver (a fizikai eszközöket működtető programok összessége) 1.) Hardver a) Alaplap: Kommunikációt

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

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

A 32 bites x86-os architektúra regiszterei

A 32 bites x86-os architektúra regiszterei Memória címzési módok Jelen nayagrészben az Intel x86-os architektúrára alapuló 32 bites processzorok programozását tekintjük. Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről)

Részletesebben

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

A számítógépek felépítése. A számítógép felépítése A számítógépek felépítése A számítógépek felépítése A számítógépek felépítése a mai napig is megfelel a Neumann elvnek, vagyis rendelkezik számoló egységgel, tárolóval, perifériákkal. Tápegység 1. Tápegység:

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

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

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

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

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

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor Ismerkedjünk tovább a számítógéppel Alaplap és a processzeor 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

Részletesebben

2016/08/31 02:45 1/6 Hardver alapok

2016/08/31 02:45 1/6 Hardver alapok 2016/08/31 02:45 1/6 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

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

Adatelérés és memóriakezelés

Adatelérés és memóriakezelés Adatelérés és memóriakezelés Jelen nayagrészben az Intel x86-os architektúrára alapuló 32 bites processzorok programozását tekintjük. Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről)

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

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

Máté: Assembly programozás

Máté: Assembly programozás Dr. Máté Eörs docens Képfeldolgozás és Számítógépes Grafika Tanszék Árpád tér 2. II. em. 213 6196, 54-6196 (6396, 54-6396) http://www.inf.u-szeged.hu/~mate Tantárgy leírás: http://www.inf.u-szeged.hu/oktatas/kurzusleirasok/

Részletesebben

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

A számítógép fő részei Hardver ismeretek 1 A számítógép fő részei 1. A számítógéppel végzett munka folyamata: bevitel ==> tárolás ==> feldolgozás ==> kivitel 2. A számítógépet 3 fő részre bonthatjuk: központi egységre; perifériákra;

Részletesebben

IT - Alapismeretek. Feladatgyűjtemény

IT - Alapismeretek. Feladatgyűjtemény IT - Alapismeretek Feladatgyűjtemény Feladatok PowerPoint 2000 1. FELADAT TÖRTÉNETI ÁTTEKINTÉS Pótolja a hiányzó neveket, kifejezéseket! Az első négyműveletes számológépet... készítette. A tárolt program

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

5. tétel. A számítógép sematikus felépítése. (Ábra, buszok, CPU, Memória, IT, DMA, Periféria vezérlő)

5. tétel. A számítógép sematikus felépítése. (Ábra, buszok, CPU, Memória, IT, DMA, Periféria vezérlő) 5. tétel 12a.05. A számítógép sematikus felépítése (Ábra, buszok, CPU, Memória, IT, DMA, Periféria vezérlő) Készítette: Bandur Ádám és Antal Dominik Tartalomjegyzék I. Neumann János ajánlása II. A számítógép

Részletesebben

Fábián Zoltán Hálózatok elmélet

Fábián Zoltán Hálózatok elmélet Fábián Zoltán Hálózatok elmélet Fizikai memória Félvezetőkből előállított memóriamodulok RAM - (Random Access Memory) -R/W írható, olvasható, pldram, SDRAM, A dinamikusan frissítendők : Nagyon rövid időnként

Részletesebben

ASSEMBLY PROGRAMOZÁS TANTÁRGYHOZ SZÜKSÉGES ELŐISMERETEK ISMÉTLÉSE

ASSEMBLY PROGRAMOZÁS TANTÁRGYHOZ SZÜKSÉGES ELŐISMERETEK ISMÉTLÉSE ASSEMBLY PROGRAMOZÁS TANTÁRGYHOZ SZÜKSÉGES ELŐISMERETEK ISMÉTLÉSE Dr. Varga Imre Debreceni Egyetem Informatikai Rendszerek és Hálózatok Tanszék 2019. augusztus 31. A C programozási nyelv alapos ismerete

Részletesebben

találhatók. A memória-szervezési modell mondja meg azt, hogy miként

találhatók. A memória-szervezési modell mondja meg azt, hogy miként Memória címzési módok Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről) a program utasításai illetve egy utasítás argumentumai a memóriában találhatók. A memória-szervezési

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

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

IT - Alapismeretek. Megoldások

IT - Alapismeretek. Megoldások IT - Alapismeretek Megoldások 1. Az első négyműveletes számológépet Leibniz és Schickard készítette. A tárolt program elve Neumann János nevéhez fűződik. Az első generációs számítógépek működése a/az

Részletesebben

HARDVERKÖZELI PROGRAMOZÁS1

HARDVERKÖZELI PROGRAMOZÁS1 HARDVERKÖZELI PROGRAMOZÁS1 Dr. Varga Imre Debreceni Egyetem Informatikai Rendszerek és Hálózatok Tanszék 2015.05.11 Követelmények Gyakorlat (aláírás) Óralátogatás (maximum hiányzás: 3) C programozási beugró

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

Ö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

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

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

Informatikai füzetek

Informatikai füzetek Tartalomjegyzék Bevezetés................ xiii I. ALAPISMERETEK........... 1 Információ, adat, jel............. 1 Információ..................... 1 Adat......................... 1 Jel...........................

Részletesebben

Számítógép 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.

Számítógép 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. Számítógép egységei A mai számítógépek túlnyomó többsége a Neumann-elvek alapján működik. Ezeket az elveket a számítástechnika történet részben már megismertük, de nem árt ha felelevenítjük. Neumann-elvek

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

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

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

2016/06/23 07:47 1/13 Kérdések

2016/06/23 07:47 1/13 Kérdések 2016/06/23 07:47 1/13 Kérdések < Számítástechnika Kérdések Hardver Kérdés 0001 Hány soros port lehet egy PC típusú számítógépen? 4 COM1 COM2 COM3 COM4 Kérdés 0002 Egy operációs rendszerben mit jelent a

Részletesebben

Dr. Oniga István. DIGITÁLIS TECHNIKA 10 Memóriák

Dr. Oniga István. DIGITÁLIS TECHNIKA 10 Memóriák Dr. Oniga István DIGITÁLIS TECHNIKA 10 Memóriák Memóriák Programot, és adatokat tárolnak D flip-flop egyetlen bit, a regiszter egy bináris szám tárolására alkalmasak Memóriák több számok tárolására alkalmasak

Részletesebben

1. Digitális írástudás: a kőtáblától a számítógépig 2. Szedjük szét a számítógépet 1. örök 3. Szedjük szét a számítógépet 2.

1. Digitális írástudás: a kőtáblától a számítógépig 2. Szedjük szét a számítógépet 1. örök 3. Szedjük szét a számítógépet 2. Témakörök 1. Digitális írástudás: a kőtáblától a számítógépig ( a kommunikáció fejlődése napjainkig) 2. Szedjük szét a számítógépet 1. ( a hardver architektúra elemei) 3. Szedjük szét a számítógépet 2.

Részletesebben

8. témakör. Memóriák 1. Számítógép sematikus felépítése: 2.A memória fogalma: 3.A memóriák csoportosítása:

8. témakör. Memóriák 1. Számítógép sematikus felépítése: 2.A memória fogalma: 3.A memóriák csoportosítása: 8. témakör 12a_08 Memóriák 1. Számítógép sematikus felépítése: 2.A memória fogalma: Gyors hozzáférésű tárak. Innen veszi, és ideírja a CPU a programok utasításait és adatait (RAM, ROM). Itt vannak a futó

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 Kérdések a témakörhöz Melyek a Neumann-elvek? Milyen főbb részei vannak a Neumann-elvek alapján működő számítógépeknek? Röviden mutasd be az egyes részek feladatait! Melyek a ma

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 Kártyás ajtónyitó tervezése Horváth Gábor BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu, belso@hit.bme.hu Budapest, 2018-02-19 Hálózati Rendszerek és Szolgáltatások

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

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

A Számítógépek hardver elemei Mechatronika, Optika és Gépészeti Informatika Tanszék Kovács Endre tud. Mts. A Számítógépek hardver elemei Korszerű perifériák és rendszercsatolásuk A µ processzoros rendszer regiszter modellje A µp gépi

Részletesebben

Számítógép fajtái. 1) személyi számítógép ( PC, Apple Macintosh) - asztali (desktop) - hordozható (laptop, notebook, palmtop)

Számítógép fajtái. 1) személyi számítógép ( PC, Apple Macintosh) - asztali (desktop) - hordozható (laptop, notebook, palmtop) Számítógép Számítógépnek nevezzük azt a műszakilag megalkotott rendszert, amely adatok bevitelére, azok tárolására, feldolgozására, a gépen tárolt programok működtetésére alkalmas emberi beavatkozás nélkül.

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

1. Milyen eszközöket használt az ősember a számoláshoz? ujjait, fadarabokat, kavicsokat

1. Milyen eszközöket használt az ősember a számoláshoz? ujjait, fadarabokat, kavicsokat 1. Milyen eszközöket használt az ősember a számoláshoz? ujjait, fadarabokat, kavicsokat 2. Mit tudsz Blaise Pascalról? Ő készítette el az első szériában gyártott számológépet. 7 példányban készült el.

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

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

11.3.7 Feladatlap: Számítógép összetevők keresése 11.3.7 Feladatlap: Számítógép összetevők keresése Bevezetés Nyomtasd ki a feladatlapot és old meg a feladatokat. Ezen feladatlap megoldásához szükséged lesz az Internetre, katalógusokra vagy egy helyi

Részletesebben

Assembly. Iványi Péter

Assembly. Iványi Péter Assembly Iványi Péter Miért? Ma már ritkán készül program csak assembly-ben Általában bizonyos kritikus rutinoknál használják Miért nem használjuk? Magas szintű nyelven könnyebb programozni Nehéz más gépre

Részletesebben

Informatikai Rendszerek Alapjai

Informatikai Rendszerek Alapjai Informatikai Rendszerek Alapjai Egész és törtszámok bináris ábrázolása http://uni-obuda.hu/users/kutor/ IRA 5/1 A mintavételezett (egész) számok bináris ábrázolása 2 n-1 2 0 1 1 0 1 0 n Most Significant

Részletesebben

A Számítógépek felépítése, mőködési módjai

A Számítógépek felépítése, mőködési módjai Mechatronika, Optika és Gépészeti Informatika Tanszék Kovács Endre tud. Mts. A Számítógépek felépítése, mőködési módjai Mikroprocesszoros Rendszerek Felépítése Buszrendszer CPU OPERATÍV TÁR µ processzor

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

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

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

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 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: a 2. alkalom

Részletesebben

Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév

Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév Az informatika története (ebből a fejezetből csak a félkövér betűstílussal szedett részek kellenek) 1. Számítástechnika

Részletesebben

Hardver összetevők ellenőrzése Linux alatt. Hardverguruk előnyben...

Hardver összetevők ellenőrzése Linux alatt. Hardverguruk előnyben... Hardver összetevők ellenőrzése Linux alatt Hardverguruk előnyben... A hardverek támogatottsága A telepítés előtt érdemes meggyőződni arról, hogy a jelenleg használt hardver elemek támogatottak-e a Linux

Részletesebben

Bevezetés a számítástechnikába

Bevezetés a számítástechnikába Bevezetés a számítástechnikába Megszakítások Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. november 9. Bevezetés Megszakítások

Részletesebben

TestLine - zsoltix83tesztje-01 Minta feladatsor

TestLine - zsoltix83tesztje-01 Minta feladatsor lkalom: n/a átum: 2017.02.09 18:08:51 Oktató: n/a soport: n/a Kérdések száma: 35 kérdés Kitöltési idő: 1:03:48 Pont egység: +1-0 Szélsőséges pontok: 0 pont +63 pont Értékelés: Pozitív szemléletű értékelés

Részletesebben

Utasításfajták Memóriacímzés Architektúrák Végrehajtás Esettanulmányok. 2. előadás. Kitlei Róbert november 28.

Utasításfajták Memóriacímzés Architektúrák Végrehajtás Esettanulmányok. 2. előadás. Kitlei Róbert november 28. 2. előadás Kitlei Róbert 2008. november 28. 1 / 21 Adatmozgató irányai regiszter és memória között konstans betöltése regiszterbe vagy memóriába memóriából memóriába közvetlenül másoló utasítás nincsen

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

Nagy Gergely április 4.

Nagy Gergely április 4. Mikrovezérlők Nagy Gergely BME EET 2012. április 4. ebook ready 1 Bevezetés Áttekintés Az elektronikai tervezés eszközei Mikroprocesszorok 2 A mikrovezérlők 3 Főbb gyártók Áttekintés A mikrovezérlők az

Részletesebben

BEVEZETÉS AZ INFORMATIKÁBA - SZÁMÍTÓGÉP ARCHITEKTÚRÁK. Háber István Ihaber@pmmik.pte.hu

BEVEZETÉS AZ INFORMATIKÁBA - SZÁMÍTÓGÉP ARCHITEKTÚRÁK. Háber István Ihaber@pmmik.pte.hu BEVEZETÉS AZ INFORMATIKÁBA - SZÁMÍTÓGÉP ARCHITEKTÚRÁK Háber István Ihaber@pmmik.pte.hu MAI SZÁMÍTÓGÉPEK FELÉPÍTÉSE A mai digitális számítógépek többségének felépítése a Neumann-elvet követi. Három fő funkcionális

Részletesebben

Bevitel-Kivitel. Bevitel-Kivitel és Perifériák. Algoritmusok és Alkalmazásaik Tanszék Budapest. 2005. december 16.

Bevitel-Kivitel. Bevitel-Kivitel és Perifériák. Algoritmusok és Alkalmazásaik Tanszék Budapest. 2005. december 16. Architektúrák és operációs rendszerek Balogh Ádám, Lőrentey Károly Eötvös Loránd Tudományegyetem Algoritmusok és Alkalmazásaik Tanszék Budapest 2005. december 16. Tartalomjegyzék Perifériák 1 Perifériák

Részletesebben

Dr. Oniga István DIGITÁLIS TECHNIKA 2

Dr. Oniga István DIGITÁLIS TECHNIKA 2 Dr. Oniga István DIGITÁLIS TECHNIKA 2 Számrendszerek A leggyakrabban használt számrendszerek: alapszám számjegyek Tízes (decimális) B = 10 0, 1, 8, 9 Kettes (bináris) B = 2 0, 1 Nyolcas (oktális) B = 8

Részletesebben

7.hét: A sorrendi hálózatok elemei II.

7.hét: A sorrendi hálózatok elemei II. 7.hét: A sorrendi hálózatok elemei II. Tárolók Bevezetés Bevezetés Regiszterek Számlálók Memóriák Regiszter DEFINÍCIÓ Tárolóegységek összekapcsolásával, egyszerű bemeneti kombinációs hálózattal kiegészítve

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

Dr. Oniga István. DIGITÁLIS TECHNIKA 10 Memóriák

Dr. Oniga István. DIGITÁLIS TECHNIKA 10 Memóriák Dr. Oniga István DIGITÁLIS TECHNIKA 10 Memóriák Memóriák Programot, és adatokat tárolnak D flip-flop egyetlen bit, a regiszter egy bináris szám tárolására alkalmasak Memóriák több számok tárolására alkalmasak

Részletesebben

1. tétel. A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei. Informatika érettségi (diák)

1. tétel. A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei. Informatika érettségi (diák) 1. tétel A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei Ismertesse a kommunikáció általános modelljét! Mutassa be egy példán a kommunikációs

Részletesebben

Alapismeretek. Tanmenet

Alapismeretek. Tanmenet Alapismeretek Tanmenet Alapismeretek TANMENET-Alapismeretek Témakörök Javasolt óraszám 1. Történeti áttekintés 2. Számítógépes alapfogalmak 3. A számítógép felépítése, hardver A központi egység 4. Hardver

Részletesebben

7. Fejezet A processzor és a memória

7. Fejezet A processzor és a memória 7. Fejezet A processzor és a 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

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva:

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva: Tartalom 1. Számrendszerek közti átváltás... 2 1.1. Megoldások... 4 2. Műveletek (+, -, bitműveletek)... 7 2.1. Megoldások... 8 3. Számítógépes adatábrázolás... 12 3.1. Megoldások... 14 A gyakorlósor lektorálatlan,

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

TestLine - zsoltix83tesztje-01 Minta feladatsor

TestLine - zsoltix83tesztje-01 Minta feladatsor lkalom: n/a átum: 2017.01.19 21:10:15 Oktató: n/a soport: n/a Kérdések száma: 35 kérdés Kitöltési idő: 1:03:48 Pont egység: +1-0 Szélsőséges pontok: 0 pont +63 pont Értékelés: Pozitív szemléletű értékelés

Részletesebben

3. gyakorlat. Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F}

3. gyakorlat. Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F} 3. gyakorlat Számrendszerek: Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F} Alaki érték: 0, 1, 2,..., 9,... Helyi

Részletesebben

Digitális technika VIMIAA hét

Digitális technika VIMIAA 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 VIMIAA02 14. hét Fehér Béla BME MIT Digitális technika

Részletesebben

Digitális technika VIMIAA hét

Digitális technika VIMIAA 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 VIMIAA02 14. hét Fehér Béla BME MIT Rövid visszatekintés, összefoglaló

Részletesebben

Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407)

Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407) Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407) 1 Előadás Bevezetés az informatikába Adatszerkezetek Algoritmusok, programozási technológiák Számítástudomány alapjai

Részletesebben

Fábián Zoltán Hálózatok elmélet

Fábián Zoltán Hálózatok elmélet Fábián Zoltán Hálózatok elmélet Miért szükséges a háttértár Az alkalmazások és adatok tárolása Háttértárak típusai Szekvenciális elérésű Mágnesszalag Lyukszalag Lyukkártya Véletlen elérésű Csak olvasható

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

Gábor Dénes Főiskola Győr. Mikroszámítógépek. Előadás vázlat. 2004/2005 tanév 4. szemeszter. Készítette: Markó Imre 2006

Gábor Dénes Főiskola Győr. Mikroszámítógépek. Előadás vázlat. 2004/2005 tanév 4. szemeszter. Készítette: Markó Imre 2006 Gábor Dénes Főiskola Győr Mikroszámítógépek Előadás vázlat 102 2004/2005 tanév 4. szemeszter A PROCESSZOR A processzorok jellemzése A processzor felépítése A processzorok üzemmódjai Regiszterkészlet Utasításfelépítés,

Részletesebben

Informatikai alapismeretek

Informatikai alapismeretek Informatikai alapismeretek Ajánlott olvasnivaló: http://informatika.gtportal.eu/ Az anyag egy része a fent említett weboldalon található anyagok részleteiben vagy teljes mértékben át vett változata. Számítógép

Részletesebben

SZÁMÍTÓGÉP FELÉPÍTÉSE (TK 61-TŐL)

SZÁMÍTÓGÉP FELÉPÍTÉSE (TK 61-TŐL) SZÁMÍTÓGÉP FELÉPÍTÉSE (TK 61-TŐL) SZÁMÍTÓGÉP Olyan elektronikus berendezés, amely adatok, információk feldolgozására képes emberi beavatkozás nélkül valamilyen program segítségével. HARDVER Összes műszaki

Részletesebben

Járműfedélzeti rendszerek I. 3. előadás Dr. Bécsi Tamás

Járműfedélzeti rendszerek I. 3. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek I. 3. előadás Dr. Bécsi Tamás ATmega128 CPU Single-level pipelining Egyciklusú ALU működés Reg. reg., reg. konst. közötti műveletek 32 x 8 bit általános célú regiszter Egyciklusú

Részletesebben

Előadó: Nagy István (A65)

Előadó: Nagy István (A65) Programozható logikai áramkörök FPGA eszközök Előadó: Nagy István (A65) Ajánlott irodalom: Ajtonyi I.: Digitális rendszerek, Miskolci Egyetem, 2002. Ajtonyi I.: Vezérléstechnika II., Tankönyvkiadó, Budapest,

Részletesebben

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 Horváth Gábor 2017. február 14. Budapest docens BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu A PCI PCI = Peripheral Component Interfész,

Részletesebben

A személyi számítógép felépítése

A személyi számítógép felépítése A személyi számítógép felépítése A számítógépet, illetve az azt felépítő részegységeket összefoglaló néven hardvernek (hardware) nevezzük. A gépház doboz alakú, lehet fekvő, vagy álló attól függően, hogy

Részletesebben

Programozott soros szinkron adatátvitel

Programozott soros szinkron adatátvitel Programozott soros szinkron adatátvitel 1. Feladat Név:... Irjon programot, mely a P1.0 kimenet egy lefutó élének időpontjában a P1.1 kimeneten egy adatbitet ad ki. A bájt legalacsonyabb helyiértéke 1.

Részletesebben