Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

1 Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés Dr. Istenes Zoltán ELTE-TTK.

Hasonló előadás


Az előadások a következő témára: "1 Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés Dr. Istenes Zoltán ELTE-TTK."— Előadás másolata:

1 1 Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés Dr. Istenes Zoltán ELTE-TTK

2 2 3. előadás tartalma A központi feldolgozó egység működése utasítás ciklus utasítás szerkezet címzési módok utasítás típusok, utasítás készlet

3 3 Turing gép )w8XAwO.a... végtelen szalag „rekeszek” T szimbólum irás / olvasás véges állapotú gép szimbólum működés : az olvasott jel és az állapot alapján egy más szimbólumot tud visszaírni állapotot vált balra vagy jobbra mozdul a szalagon 1928 David Hilbert : létezik-e olyan gép vagy eljárás, amivel minden matematikai kérdés eldönthető ? 1936 Alan Turing : balra / jobbra mozdulás

4 4 Példa Turing gép működésére ”Ha „n” állapotban van, ha a fej „x” jelet olvas, írd az „y” jelet, lépj balra vagy jobbra egyet, legyen az új állapot „m”. áll. jel írlép új áll jobb jobb jobb üresbal bal jobb 2 szalag áll. megjegyzés írj 0-t, 2-es állapot végig az első szám 1-esein első szám vége, 3-as állapot est 0-ra átír, visszalép át 1-re átír első szám vége, 3-as állapot est 0-ra átír, visszalép át 1-re átír első szám vége, 3-as állapot est 0-ra átír, visszalép át 1-re átír második szám vége, 0-t töröl nincs ilyen állapot, vége feladat : >

5 5 Egy egyszerű gép vázlata

6 6 Egy egyszerű gép Cél : műveletvégzés adatokkal adatok tárolása műveletek végzése és egymásutáni végrehajtása eredmény eltárolása...

7 7 2 tárolós egyszerű logikai gép vázlata (műveleti egység) műveleti egység művelet választás 1. adat 2. adat eredmény

8 8 2 tárolós egyszerű logikai gép vázlata (program tároló) op program tároló műveleti egység művelet választás 1. adat 2. adat eredmény

9 9 2 tárolós egyszerű logikai gép vázlata (adat tároló) op x y program tároló adat tároló műveleti egység művelet választás 1. adat címe 2. adat címe 1. adat 2. adat eredmény

10 10 2 tárolós egyszerű logikai gép vázlata (következő utasítás címe) op x y a program tároló adat tároló műveleti egység művelet választás következő utasítás címe 1. adat címe 2. adat címe 1. adat 2. adat eredmény

11 11 2 tárolós egyszerű logikai gép vázlata („feltételes elágazás”) op x y a program tároló adat tároló műveleti egység művelet választás következő utasítás címe 1. adat címe 2. adat címe 1. adat 2. adat eredmény

12 12 Neumann elvű számítógép bináris (digitális) elektronikus belső programvezérlés memória tárolja a programot és az adatokat soros feldolgozás

13 13 Egyszerű gép vázlata op x y a memória (program+adat) műveleti egység művelet választás következő utasítás címe 1. adat címe 2. adat címe 1. adat 2. adat eredmény

14 14 memória központi feldolgozó egység ki- és beviteli egység...

15 15 A központi feldolgozó egység feladata, kapcsolata a többi egységgel részei, felépítése működése megvalósítása

16 16 A központi feldolgozó egység részei A központi feldolgozó egység (Central Processing Unit - CPU) részei : műveleti egység (aritmetikai logikai egység) (Arithmetic Logical Unit - ALU) vezérlő egység (Control Unit - CU) regiszterek (registers) sínek (bus)

17 17 A CPU működése A processzor utasításciklusa

18 18 Utasítás ciklus Fetch („elérés”) : Utasítás kód beolvasása Utasítás kód értelmezése (dekódolás) Operandusok beolvasása Execute („végrehajtás”) : Műveletvégzés (ALU) Eredmény tárolása Következő utasítás címének kiszámítása

19 19 Utasítás végrehajtás funkcionális vázlata utasítás számláló utasítás regiszter ütemező vezérlő jelek adat regiszterek tár puffer- regiszter tár cím- regiszter utasítás dekodoló aritmetikai logikai egység címsínadatsín operatív tár címképzés

20 20 Utasítás végrehajtás lépései 1. meghatározni (címképzés) a tár címregiszterébe tölteni az 1. adat címét adat a tárból az egyik adatregiszterbe

21 21 Utasítás végrehajtás lépései 1. utasítás számláló utasítás regiszter ütemező vezérlő jelek adat regiszterek tár puffer- regiszter tár cím- regiszter utasítás dekodoló aritmetikai logikai egység címsínadatsín operatív tár címképzés

22 22 Utasítás végrehajtás lépései 2. meghatározni (címképzés) a tár címregiszterébe tölteni az 2. adat címét adat a tárból egy másik adatregiszterbe

23 23 Utasítás végrehajtás lépései 2. utasítás számláló utasítás regiszter ütemező vezérlő jelek adat regiszterek tár puffer- regiszter tár cím- regiszter utasítás dekodoló aritmetikai logikai egység címsínadatsín operatív tár címképzés

24 24 Utasítás végrehajtás lépései 3. utasítani az aritmetikai logikai egységet a művelet elvégzésére eredmény tárolása egy adatregiszterben

25 25 Utasítás végrehajtás 3. utasítás számláló utasítás regiszter ütemező vezérlő jelek adat regiszterek tár puffer- regiszter tár cím- regiszter utasítás dekodoló aritmetikai logikai egység címsínadatsín operatív tár címképzés

26 26 Utasítás végrehajtás lépései 4. meghatározni (címképzés) a tár címregiszterébe tölteni az eredmény címét az eredmény az adatregiszterből a tárba

27 27 Utasítás végrehajtás 4. utasítás számláló utasítás regiszter ütemező vezérlő jelek adat regiszterek tár puffer- regiszter tár cím- regiszter utasítás dekodoló aritmetikai logikai egység címsínadatsín operatív tár címképzés

28 28 Utasítás végrehajtás lépései 5. meghatározni a következő utasítás címét és a tár címregiszterébe tölteni az utasítást a tárból az utasításregiszterbe tölteni

29 29 Utasítás végrehajtás 5. utasítás számláló utasítás regiszter ütemező vezérlő jelek adat regiszterek tár puffer- regiszter tár cím- regiszter utasítás dekodoló aritmetikai logikai egység címsínadatsín operatív tár címképzés

30 30 Utasítás végrehajtás lépések összefoglalása 1. adat címe, elérése, előkészítése 2. adat címe, elérése, előkészítése művelet elvégzése eredmény címe, eltárolása kővetkező utasítás címe, elérése, előkészítése

31 31 Utasítás végrehajtáshoz szükséges „információk” vezérlőegységnek információ <- utasítás –elvégzendő művelet –1. adat címe (helye) –2. adat címe (helye) –erdmény címe (helye) –következő utasítás címe nem lehetne máshogy ?!

32 32 Utasítások tárolási formái utasítás szerkezet címzési módok utasítás típusok, utasítás készlet

33 33 Egy utasítás felépítése, részei műveleti kódmódósításra utaló részcímrész

34 34 Utasítás formák 4,3,2,1,0 címes utasítás formák (a megadott címek száma szerint)

35 35 4 címes utasítás forma műveleti kód 1. adat címe 2. adat címe eredmény címe következő utasítás címe

36 36 3 címes utasítás forma műveleti kód 1. adat címe 2. adat címe eredmény címe program számláló utasítás számláló regiszter, Program Counter (PC) PC := PC + utasítás hossz következő utasítás címe

37 37 2 címes utasítás forma műveleti kód 1. adat címe 2. adat címe eredmény címe az eredmény a 2. adat címére kerül

38 38 1 címes utasítás forma műveleti kód 1. adat címe 2. adat címe eredmény címe akkumulátor regiszter a 2. adat címe helyett akkumulátor regiszter, az eredmény az akkumulátor regiszterbe kerül

39 39 0 címes utasítás forma műveleti kód 1. adat címe eredmény címe akkumulátor regiszter a művelet az akkumulátor regiszteren hajtódik végre

40 40 Utasítás formák a címrész tartalma szerint

41 41 jelölések S : tárcím R : regisztercím A : akkumulátor regiszter I : közvetlen adat az utasításban MK : műveleti : tetszőleges művelet (S) : adat a tárban (R) : adat a regiszterben (A) : adat az akkumulátor regiszterben LI(n) : az n. utasítás hossza SI(n) : az n. utasítás címe

42 42 4 címes :MK S1 S2 S3 S4 (S2) -> (S3),SI(n+1) = S4 3 címes :MK S1 S2 S3 (S2) -> (S3),SI(n+1) = SI(n) + LI(n) 2 címes : MK S1 S2 (S2) -> (S2)” 1 címes :MK S1 (A) -> (A)” 0 címes (A) -> (A)”

43 43 1 R címes :MK (R) -> (R) 1 + R címes :MK R S: (S) -> (R) vagy (S) -> (S) 2 R címes :MK R1 R2 : (R2) -> (R1) 3 R címes :MK R1 R2 R3: (R2) -> (R3) közvetlen operandusú :MK I Svagy MK I (S) -> (S) I -> (A)

44 44 Címzési módok címértelmezés címmegadás

45 45 Címértelmezés műv. kódadat műv. kód 0 1 cím adat cím adat közvetlen (immediat) adatmegadás rejtett (inheritent), implicit címzés közvetlen (direkt) címzés közvetett (indirekt) címzés regiszter tár

46 46 Címmegadás műv. kód cím cím (D) adat abszolút címmegadás rövidített címmegadás bázis + D D = displacement (eltolás) vagy „offset”

47 47 Rövidített címmegadás Mihez képest számítjuk a címet : lapcímes :az adott lap kezdetétől bázisregiszteres : bázisregiszter értékétől (általában a bázisregiszter tartalma rögzített) mutatós (pointeres) : a meghatározott regiszter értékétől (a regiszter tartalma a program végrehajtása során változik, pld. PC)

48 48 Kombinált címzési módok... Címmódósítás : indexelés (vektor feldolgozása : első elem megadása, index automatikus növelése) fix utasításhossz változó utasításhossz

49 49 Az utasítások felépítése, szerkezete fix és változó utasítás hossz

50 50 Utasítások kódolása Példa : 8 bites utasításhossz, 3 bites címhossz 3 címes címzés lehetetlen 2 címes címzés : marad 2 bites műveleti kód : 4 féle utasítás 1 címes címzés : marad 5 bites műveleti kód : 32 féle utasítás 0 címes címzés : 8 bites műveleti kód : 256 féle utasítás

51 51 Utasítások kódolása műveleti kód1. cím2. cím 2 bit3 bit3 bit 00xxxyyy 01xxxyyy 10xxxyyy 00xxxyyy

52 52 Utasítások kódolása („expanding”) 3 db 2 címes utasítás 8 db 1 címes utasítás 2 bites műveleti kód 5 bites műveleti kód 2bit3bit3bit 00xxxyyy 01xxxyyy 10xxxyyy 11000yyy 11001yyy 11010yyy 11011yyy 11100yyy 11101yyy 11110yyy 11111yyy

53 53 Eltérő címzésí módú gépek programozása példa (1) Adott 4 különféle típusú gép : 0 címes gép (verem), pld.: ADD, PUSH, POP 1 címes gép, pld.: ADD M = ACC <- (ACC) + (M) 2 címes gép, pld.: ADD X,Y = X <- (X) + (Y) 3 címes gép, pld.: ADD X,Y,Z = Z <- (X) + (Y) műveletek : MOV, ADD, SUB, DIV, MUL Kiszámolandó : Z:= (A+B*C)/(D-E*F)

54 54 Eltérő címzésí módú gépek programozása példa (2) Adatok : M - 20 bites memóriacím X,Y,Z - 20 bites memória cím, vagy 3 bites regisztercím (R0-R7) a műveleti kód rész hossza 8 bit Kérdés mindegyik géptípusra (programra) : az utasítások száma a program mérete (bit-ben) a felhasznált regiszterek száma

55 55 Utasítás típusok

56 56 Utasítás típusok adat-töltő, adat átvitel a számítógép funkcionális részei között aritmetikai, logikai műveletek végzése adatokkal program vezérlő, vezérlésátadás a program egyik részéről egy másik részére speciális, rendszer vezérlő, hatékony működést segítő I/O, adat átvitel a számítógép és a környezete között

57 57 Adat-töltő Regiszter -> Regiszter Regiszter -> Memória Memória -> Regiszter Memória -> Memória

58 58 Aritmetikai, Logikai aritmetikai műveletek: + - * / (különféle adattípusokon) logikai függvények: AND, OR, NOT, XOR összehasonlítások, vizsgálatok léptetések

59 59 Program vezérlő feltétlen elágazás (ugró) feltételes elágazás szubrutin hívás

60 60 Rendszer vezérlő HALT, WAIT megszakítás kezelés kölcsönös kizárás megvalósítása (Test And Set)

61 61 I/O adatátvitel a periféria és a gép között periféria vezérlése

62 62 REG ALU FLAG AC CU IR PC

63 63 Logikai struktura adattípusok programozható regiszterek utasítás típusok (utasítás lista) utasítás formák címzési módok

64 64 Fizikai struktura operatív tár műveleti (aritmetikai logikai) egység vezérlőegység megszakítási rendszer I/O rendszer

65 65 Összefoglalás


Letölteni ppt "1 Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés Dr. Istenes Zoltán ELTE-TTK."

Hasonló előadás


Google Hirdetések