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

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

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

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

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

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

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

Digitális rendszerek. Mikroarchitektúra szintje

Bevezetés az informatikába

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

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

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

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

VEZÉRLŐEGYSÉGEK. Tartalom

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

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

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

Digitális technika VIMIAA01 9. hét

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

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

Adatok ábrázolása, adattípusok

A 32 bites x86-os architektúra regiszterei

Assembly Utasítások, programok. Iványi Péter

Egyszerű RISC CPU tervezése

A MiniRISC processzor

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

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

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

Programozás alapjai. 10. előadás

Aritmetikai utasítások I.

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

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

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

1. ábra: Perifériára való írás idődiagramja

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

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

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

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

Szekvenciális hálózatok és automaták

Az MSP430 mikrovezérlők digitális I/O programozása

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

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

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

Programozási nyelvek 6. előadás

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

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

A számítógép alapfelépítése

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

Máté: Assembly programozás

SzA19. Az elágazások vizsgálata

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

DSP architektúrák dspic30f család

Balaton Marcell Balázs. Assembly jegyzet. Az Assembly egy alacsony szintű nyelv, mely a gépi kódú programozás egyszerűsítésére született.

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

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

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

Assembly. Iványi Péter

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

7. Fejezet A processzor és a memória

Assembly utasítások listája

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

Programozott soros szinkron adatátvitel

A számok kiírása is alapvetően karakterek kiírásán alapul, azonban figyelembe kell venni, hogy a számjegyeket, mint karaktereket kell kiírni.

Adatszerkezetek 1. Dr. Iványi Péter

Dr. Oniga István DIGITÁLIS TECHNIKA 9

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

Mutatók és mutató-aritmetika C-ben március 19.

Készítette: Oláh István mestertanár

Assembly programozás levelező tagozat

Újrakonfigurálható eszközök

Dr. Oniga István DIGITÁLIS TECHNIKA 9

Szoftvertechnológia alapjai Java előadások

Hardverközeli programozás 1 1. gyakorlat. Kocsis Gergely

S z á m í t ó g é p e s a l a p i s m e r e t e k

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

1 Doszpi

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

A programozás alapjai

ABB Teach Pendant programozás segédlet

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

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

A/D és D/A konverterek vezérlése számítógéppel

Bonyolultságelmélet. Monday 26 th September, 2016, 18:50

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

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

Programozás I gyakorlat. 10. Stringek, mutatók

Mi az assembly? Gyakorlatias assembly bevezető. Sokféle assembly van... Mit fogunk mi használni? A NASM fordítóprogramja. Assembly programok fordítása

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

BASH script programozás II. Vezérlési szerkezetek

7. fejezet: Mutatók és tömbök

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

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

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

A verem (stack) A verem egy olyan struktúra, aminek a tetejéről kivehetünk egy (vagy sorban több) elemet. A verem felhasználása

Mikrorendszerek tervezése

SysCVideo: fiktív grafikus kártya SystemC modulként, SDL alapú megjelenítéssel

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

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

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

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

Digitális technika VIMIAA02 9. hét

Átírás:

Mikroarchitektúra szint Feladata az ISA (Instruction Set Architecture gépi utasítás szint) megvalósítása. Nincs rá általánosan elfogadott, egységes elv. A ISA szintű utasítások függvények, ezeket egy főprogram hívja meg végtelen ciklusban. A függvények eka mikroarchitektúra szintjén valósulnak lnak meg (mikroprogram). A mikroprogram változói (a regiszterek) definiálják a számítógép állapotát, pl.: (Program ounter, utasításszámláló). Mic 1 Memória Adatút (Data Path, 4.1. ábra) vezérlő regiszterek 3 bites regiszterek, ek, MR Vezérlő jelek bemenetei: (olding tartó),. re írja a, léptető regisztert SLL8 8 bittel balra, t a SRA1 1 bittel jobbra léptet. regiszterbe PP írja Egy cikluson belül lehetséges egy regiszterből olvasni és az O memóriába eredményt akár ugyanoda memóriából visszaírni 4.3. ábra. A N 1, ha az eredmény <0, különben 0, Z 1, ha az eredmény = 0, különben 0. 5. előadás 1 5. előadás Pl. = + 1 : +1 Memória vezérlő regiszterek Vezérlő jelek MR re írja a regisztert t a regiszterbe PP írja O memóriába memóriából A N 1, ha az eredmény <0, különben 0, Z 1, ha az eredmény = 0, különben 0. Pl. = + 1 : +1 Memória vezérlő regiszterek Vezérlő jelek MR re írja a regisztert t a regiszterbe PP írja O memóriába memóriából A N 1, ha az eredmény <0, különben 0, Z 1, ha az eredmény = 0, különben 0. 5. előadás 3 5. előadás 4 Pl. = + 1 : +1 Memória vezérlő regiszterek Vezérlő jelek MR re írja a regisztert t a regiszterbe PP írja O memóriába memóriából A N 1, ha az eredmény <0, különben 0, Z 1, ha az eredmény = 0, különben 0. Pl. = + 1 : +1 Memória vezérlő regiszterek Vezérlő jelek MR re írja a regisztert t a regiszterbe PP írja O memóriába memóriából A N 1, ha az eredmény <0, különben 0, Z 1, ha az eredmény = 0, különben 0. 5. előadás 5 5. előadás 5. előadás 1

Memóriaműveletek (4.1. ábra) Szócímzés: 3 bites adat írása, olvasása. szó cím = 4 * (bájt cím), a túlcsorduló bitek elvesznek (Memory Address Register) (Memory Data Register) ájtcímzés: gépi szintű utasítás bájt olvasás. (Program ounter): bájt cím, MR (Memory yte Register): bájt. MR MR PP O Az adatút e (4.1. ábra) 9 jel: a re írás a regiszterekből, 8 jel: az és a léptető ére, 9 jel: a ről regiszterekbe írás, 3 jel: a eléréshez jel: szó íráshoz/olvasáshoz 1 jel: bájt olvasáshoz. Összesen 9 jel szükséges MR kétfajta értelmezése (két vezérlőjel): MR: MR előjel kiterjesztéssel kerül a re, MRU: MR előjel nélküli kiterjesztéssel kerül a re. A N Z A re csak egy regiszter írhat egyszerre, ezért 9 helyett elég 4 jel, összesen 4 vezérlő jelre van szükség. 5. előadás 7 5. előadás 8 Mikroutasítások (μutasítások) 4 bit: az adatút éhez 9 bit: a következő μutasítás címének megadásához, 3 bit: a következő μutasítás kiválasztásának módjára. Ez adja a 3 bites μutasítás: 4.5. ábra. ; ; 9 3 8 9 3 4 NEXT ADDRES JM JAMN JAMZ SLL8 SRA1 F0 F1 ENA EN INVA IN O WRITE READ FET SS E Addr JAM Mem 0 = 1 = = MR 3 = MRU 4 = 5 = = PP 7 = 8 = O 9 15 semmi 5. előadás 9 4.1.swf mic1_1.swf 5. előadás 10 Memória ciklus A ciklus az adatút végén kezdődik (a ről a regiszterek feltöltése után), ezért ha a címet módosította ez a μutasítás, MR akkor a cím a módosított ill. regiszter éték értéke lesz. Az olvasás eredménye csak két ciklussal később használható az ban, mert ill. MR csak a következő adatút ciklus vége felé töltődik fel a memóriából, addig ill. MR régi értéke érhető el. 4.1.swf Memória ciklus: = ; rd; = 5. előadás 11 mic1_1.swf 5. előadás 1 5. előadás

= ; rd = Nem megengedett! a memóriából és a ről egyszerre kapna értéket! A mikroprogram 4.1.swf Mic 1: 4.. ábra. 51x3 bites vezérlőtár a mikroprogramnak, M (MicroProgram ounter): mikroprogram utasításszámláló, μutasításszámláló. MIR (MicroInstruction Register): μutasítás regiszter. Az adatút ciklus (4.. ábra) elején MIR feltöltődik a vezérlőtár M által mutatott szavával. 9 M 51x3 bites vezérlőtár (ROM) a mikroprogram tárolására MIR Addr J M 4 ről 1 ra dekódoló mic1_1.swf 5. előadás 13 5. előadás 14 MR PP O A N Z Adatút ciklus (4.. ábra): (MIR feltöltődik a vezérlőtár M által mutatott szavával.) Kialakul a kívánt tartalma, és a léptető megtudja, mit kell csinálnia, Az és a léptető elvégzi a feladatát, a, N (Negative) és Z (Zero) megkapja az új értékét, A regiszterek feltöltődnek a ről. MR/ megkapja az értékét, ha az előző ciklus adatot kért a memóriából. Kialakul M új értéke. Memória ciklus kezdete. 5. előadás 15 M új tartalma, JAMN/JAMZ A 9 bites következő cím (Addr) az M be kerül. (JAMN ÉS N) VAGY (JAMZ ÉS Z) és M legmagasabb bitjének logikai VAGY kapcsolata képződik M legmagasabb helyértékén. Pl.: ím Addr JAM Adatút vezérlő bitek 0x75 0x09 001... JAMZ =1 esetén a mikroprogram a 0x09 címen folytatódik, ha Z = 0, 0x19 címen folytatódik, ha Z = 1. Feltételes ugrás elágazás a mikroprogramban. 5. előadás 1 JAMN: if(- < 0) goto L1; else goto L M új tartalma, JM JM esetén M 8 alacsonyabb helyértékű bitjének és MR 8 bitjének bitenkénti vagy kapcsolata képződik M ben az adatút ciklus vége felé (MR megérkezése után). Ilyenkor Addr 8 alacsonyabb helyértékű bitje általában 0 Feltétlen ugrás az MR ben tárolt címre kapcsoló μutasítás: goto(mr) vagy goto(mr OR 0x100) Kezdődhet az újabb μutasítás végrehajtása. Gyakorlásra 5. előadás 17 mic1_.swf 5. előadás 18 5. előadás 3

JM: Gyakorlásra =++1; goto(mr) 5. előadás 19 mic1_.swf MR VAGY 8 (N&JAMN) VAGY (Z&JAMZ) 1 bites flip flopok M új tartalmának kialakítása N Z M 9 9 3 JM 51x3 bites vezérlőtár (ROM) a mikroprogram tárolására á JAMN/JAMZ MIR Addr J M Mic 1: 4.. ábra. 5. előadás 0 1 Mic 1 működése (M) MIR regiszter, Addr M, léptető megtudja, mit kell csináljon, eredmény, N, Z regiszterekbe JAMN, JAMZ és (N), (Z) mem. és/vagy alapján módosul M mem. MR Memória ciklus indítása JM és (MR) (rd, wr, fetch) alapján módosul M. 5. előadás 1 Mic 1 programozása (4.5,. ábra) 3 bites bináris μutasításokat kellene megadnunk. Pl.: A mikroprogram tár 11. címén lévő μutasítás: egy ciklusban növeljük t1 gyel és kezdeményezünk olvasást a memóriából, folytatás a 1 es μutasításnál. Szimbolikusan ezt így írhatnánk: = + 1; rd; goto 1 De így fogjuk írni: = + 1; rd A folytatás címet csak akkor tüntetjük fel, ha az nem a következőként írt μutasítás (pl. goto Main1). 5. előadás MR PP O A N Z MAL (Micro Assembly Language ) SOURE: a re kötött regiszterek bármelyike:,, MRU (előjel nélküli MR Unsigned), MR,,, PP,, O. DEST: a re kapcsolt regiszterek bármelyike:,,,,, PP,, O,. Több regiszter is kaphatja ugyanazt az értéket. wr: memóriába írás bőla címre. rd: memóriából olvasás be a címről. fetch: 8 bites utasításkód betöltése MR be a címről. Nem megengedett pl. az alábbi μutasítás pár: = ; rd = // A memóriából is most kapna értéket! 5. előadás 3 5. előadás 4 5. előadás 4

Feltétlen ugrás: goto Main1 Az Addr mezőbe Main1 címét kell írni. Feltétlen ugrás MR szerint (kapcsoló μutasítás ): Ilyenkor JM = 1 goto (MR OR value) value általában 0 vagy 0x100. 5. előadás 5 Feltételes elágazás, pl.: (Top Of Stack) alapján Z = ; if (Z) goto L1; else goto L // Z=1, ha =0, különben Z=0. ím Addr JAM Adatút vezérlő bitek 0x75 0x09 001... JAMZ =1 esetén a mikroprogram az L 0x09 címen folytatódik, ha Z = 0, L1 0x19 címen folytatódik, ha Z = 1. 4.7. ábra Az L1 és L címek különbsége 5 (0x100) kell legyen! 5. előadás A verem operandusok és az eredmény ideiglenes tárolására is használható (operandus verem), pl. (4.9. ábra): a1 = a + a3 a a3 a a1 a3 a a3 a a1 a+a3 a3 a a1 a3 a a+a3 IJVM (Integer Java Virtual Machine): a JVM egész értékű aritmetikát tartalmazó része. Az IJVM utasítások szerkezete: az első mező az opcode (Operation ode, műveleti kód), az esetleges második mezőben az operandus meghatározására szolgáló adat van. Mikroprogram: betölti, értelmezi és végrehajtja az IJVM utasításokat: betöltés végrehajtás (fetch execute) ciklus. A továbbiakban utasításon az IJVM utasításait értjük, a mikroutasításokat μutasítás ként fogjuk jelölni. 5. előadás 7 5. előadás 8 Az IJVM modellje (4.10. ábra) A 4 G, 1 G szóként is szervezhető. Konstansok, mutatók Tartalma a program betöltésekor alakul ki, ISA utasítások nem írhatják felül PP Konstans terület Verem Lokális változók és operandus verem Aktuális operandusok 3. Aktuális lokális változók 3. lokális változók. lokális változók 1. Program bájtot címez a metódus területen belül Metódus terület 5. előadás 9 IJVM néhány utasítása: 4.11. ábra (részlet). hex Mnemonic jelentés 10 IPUS byte eteszi a byte ot a verembe A7 GOTO offset Feltétel nélküli ugrás offset re 0 IADD Kivesz a veremből két szót, az összegüket a verembe teszi 99 IFEQ offset Kivesz a veremből egy szót, ha 0, akkor offset re ugrik 9F Kivesz a veremből két szót, ha egyenlők, akkor offset re IF_IMPEQ IMPEQ offset ugrik 15 ILOAD varnum eteszi varnum ot a verembe 3 ISTORE varnum Kivesz a veremből egy szót, és eltárolja varnum ba Kivesz a veremből két szót, a különbségüket a verembe 4 ISU teszi 00 NOP Nem csinál semmit 5F SWAP A verem két felső szavát megcseréli hex nem kell 5. előadás 30 5. előadás 5

Java () IJVM program 4.14. ábra in. kód program 1 ILOAD j // i = j + k 150 ILOAD k 15 03 i = j + k; 3 IADD 0 if(i = = 3) 4 ISTORE i 3 01 k = 0; 5 ILOAD i // if(i = = 3) 15 01 else IPUS 3 10 03 j = j 1; 7 IF_IMPEQ L1 9F 00 0D 8 ILOAD j // j = j 1 15 0 9 IPUS 1 1001 10 ISU 4 11 ISTORE j 3 0 1 GOTO L A7 00 0F 13 L1: IPUS 0 // k = 0 1000 14 ISTORE k 3 03 15 L: Nem kell 5. előadás 31 IJVM megvalósítása Mic 1 en (4.11., 17. ábra) Előkészület a gép indításakor: a végrehajtandó utasítás címét, MR az utasítás kódját tartalmazza. A főciklus legelső μutasítása a Main1, ez: =+1; fetch; goto(mr); most a végrehajtandó utasítás utáni bájtra mutat, ez lehet egy újabb utasítás kódja, vagy operandus. új értékének kialakulása után indul a fetch csel kezdeményezett ciklus, ez a program következő bájtját olvassa MR be (a következő μutasítás végén lesz MR ben a bájt). goto (MR) elugrik az utasítás feldolgozásához. 5. előadás 3 Minden utasítás feldolgozását végző függvény első μutasítása az utasítás kódnak megfelelő címen van a mikroprogram tárban. 5. előadás 33 A μutasítások egy lehetséges elhelyezkedése a mikroprogram tárban (részlet) 0 1 3 4 5 7 8 9 A D E F 0 NOP1 IAND3 POP3 SWAP SWAP3 SWAP4 SWAP5 SWAP LD_W4 8 LD_W3 IIN3 IIN4 IIN5 IIN IFLT IFLT3 IPUS1 IPUS IPUS 10 LD_W1 LD_W ILOAD1 ILOAD ILOAD3 ILOAD4 ILOAD5 INVOKEV19 INVOKEV0 INVOKEV1 INVOKEV INVOKEV3 18 IFLT4 0 F F 8 30 ISTORE1 ISTORE 38 ISTORE3 ISTORE4 ISTORE5 ISTORE 40 48 50 POP1 58 POP DUP1 DUP SWAP1 0 IADD1 IADD IADD3 ISU1 ISU ISU3 8 70 78 IAND1 IAND INVOKEV1 INVOKEV 80 IOR1 IOR IOR3 IIN1 IIN INVOKEV3 INVOKEV4 INVOKEV5 INVOKEV7 INVOKEV8 INVOKEV9 INVOKEV10 88 INVOKEV Nem kell 5. előadás 34 Látható, hogy nem mindig helyezhetjük egymás után az egyes utasítások feldolgozását végző μutasítás sorozatot, ezért inkább azt a megoldást választottuk, hogy minden μutasítás tartalmazza a következő μutasítás címét. a az első utasítás pl. NOP (No OPeration, nem csinál semmit), ennek a kódja 0x00, ezért a 0x00 címen kezdődik a NOP feldolgozását végző függvény. Ez egyetlen goto Main1 μutasítás. 5. előadás 35 IJVM megvalósítása Mic 1 en (4.11., 17. ábra) A főciklus a Main1 nél kezdődik; a végrehajtandó utasítás címét, MR az utasítás kódját tartalmazza. IJVM program: NOP IADD Main1 a következő utasítást vagy adatbájtot olvassa. ímke Műveletek // kommentár Main1 = + 1; fetch; goto(mr) nop1 goto Main1 iadd1 = = 1; rd iadd = iadd3 = = + ; wr; goto Main1 5. előadás 3 5. előadás

A verem két felső szavának cseréje (4.17. ábra) Megállapodás szerint tartalmazza a verem tetején lévő szót! Ez többnyire előny. : A A swap1 = 1; rd // A. szó címe, olvasás swap = // a verem tetejére mutat A 5. előadás 37 Gyakorlásra mic1_3.swf 5. előadás 38 A verem két felső szavának cseréje (4.17. ábra) swap1 = 1; rd // A. szó címe, olvasás swap = // a verem tetejére mutat A : A A swap3 = ; wr //. szó ba, verem tetejére = () swap4 = // verem régi teteje = A : A swap4 ben előny, hogy tartalmazza a verem tetején lévő szót. 5. előadás 39 A verem két felső szavának cseréje (4.17. ábra) swap1 = 1; rd // A. szó címe, olvasás swap = // a verem tetejére mutat A swap3 = ; wr //. szó ba, verem tetejére = () swap4 = // verem régi teteje = A swap5 = 1; wr // a. szóba () swap = ; goto Main1 // frissítése swap ban hátrány, mert ez az μutasítás csak azért kell, hogy tartalmazza a verem tetején lévő szót. : A 5. előadás 40 A verem két felső szavának cseréje (4.17. ábra) A WIDE utasítás A WIDE utasítás valójában prefixum: önmagában nem csinál semmit, csak jelzi, hogy a következő utasításnak 1 bites indexe van. Pl.: ILOAD varnum lokális változó a verembe varnum a lokális változó 8 bites indexe. WIDE ILOAD varnum lokális változó a verembe varnum a lokális változó 1 bites indexe. w_iload1 címe = iload1 címe + 0x100 5. előadás 41 Gyakorlásra mic1_4.swf 5. előadás 4 5. előadás 7

ILOAD varnum lokális változó a verembe varnum a lokális változó 8 bites indexe. Main1 = + 1; fetch; goto(mr) MR = ILOAD iload1 = MR varnum iload = + MRU; rd // rd(+varnum) iload3 = = + 1 () iload4 = + 1; fetch; wr () iload5 = ; goto Main1 MR opkód 5. előadás 43 WIDE ILOAD varnum lokális változó a verembe varnum a lokális változó 1 bites indexe. Main1 = + 1; fetch; goto(mr) MR = WIDE iload1 = iload = + MRU; rd // rd(+varnum) iload3 = = + 1 () iload4 = + 1; fetch; wr () iload5 = ; goto Main1 MR opkód wide1 = + 1; fetch; goto(mr OR 0x100) MR ILOAD w_iload1 = + 1; fetch // index. bájtja MR 1. bájt w_iload = MRU << 8 // 1. bájt léptetése MR. bájt w_iload3 = OR MRU // = a 1 bites index w_iload4 = + ; rd; goto iload3 rd(+varnum) 5. előadás 44 Mi a mikroarchitektúra szint feladata? ogy valósítja meg a feladatát? Mi az adatút? Milyen jei vannak a Mic 1 nek? Mely regiszterek csatlakoznak az A hez? Mely regiszterek csatlakoznak a hez? Mely regiszterek csatlakoznak a hez? Milyen jelek szükségesek az adatút éhez? Mire szolgál az regiszter két vezérlő bemenete? Mire szolgál az MR regiszter két vezérlő bemenete? Gyakorlásra 5. előadás 45 mic1_5.swf 5. előadás 4 Milyen részei vannak az egy bites nak? Milyen vezérlő bemenetei vannak az nak? Milyen vezérlő bemenetek esetén lesz 1 az eredmény? Milyen eredményt szolgáltat az F 0 =0, F 1 =1, ENA=0, EN=0, INVA=1, IN=1 vezérlő bemenet? A Mic 1 mely regisztere lehet az bal/jobb operandusa? ova tárolhatja a Mic 1 az eredményt? Érvényes μutasítás e Mic 1 en a =O? Miért? Érvényes μutasítás e Mic 1 en a = O? Miért? Milyen μutasításai vannak a Mic 1 gépnek? Milyen ugró μutasításai vannak a Mic 1 gépnek? Milyen értékeket vehet föl a SOURE operandus? Milyen értékeket vehet föl a DEST operandus? Mit jelent a wr? Mely μutasítások tudnak olvasni a memóriából, és hogy működnek? ogy lehet védekezni az ellen, hogy egyszerre kapjon értéket a memóriából és a ről? Mi az operandus verem? 5. előadás 47 5. előadás 48 5. előadás 8

ogy történik a memóriából olvasás? ogy történik a memóriába írás? Mire szolgál a / regiszter? a egy μutasítás módosítja tartalmát, és olvas a memóriából, akkor mely címről fog olvasni? fetch μutasítás után mikor használható MR új értéke az adatúton illetve M meghatározásához? Mire szolgál a és az MR regiszter? Mire szolgál az N és a Z regiszter? Mire szolgál a regiszter? Milyen műveletei vannak a Mic 1 nek? Milyen jelek szükségesek a Mic 1 adatútjának éhez? ány jel szolgál az A ére? ány jel szolgál a ére? ány jelszolgál az ésa léptető ére? ány jel szolgál a ére? ány jel szolgál a elérésére? Milyen részei vannak a Mic 1 μutasításainak? Milyen részei vannak az adatút ciklusnak? 5. előadás 49 5. előadás 50 Milyen típusú a mikroprogram tároló? Mire szolgál az M regiszter? Mire szolgál a MIR regiszter? Miért van szükség az Addr mezőre? Milyen részei vannak az adatút ciklusnak? ány bit kell a / éhez? Mire szolgál a JMPN/JMPZ bit? Mire szolgál a JM bit? ogy alakul ki M új tartalma? Miért nem megengedett az = ; rd = μutasítás pár? ogy valósítható meg feltétlen ugrás a mikroprogramban? ogy valósítható meg feltételes ugrás a mikroprogramban? ogy valósítható meg kapcsoló μutasítás a mikroprogramban? 5. előadás 51 5. előadás 5 Minek a rövidítése az IJVM? Ismertesse az IJVM modelljét! Milyen utasításai vannak az IJVM nek? Mi a IPUS/DUP/IADD/SWAP utasítás feladata? Mi a GOTO utasítás feladata? Mi az IFEQ/IF_IMPEQIMPEQ utasítás feladata? ogy működik a Mic 1 főciklusa? Mit tartalmaz és MR a főciklus indulásakor? ogy valósítható meg Mic 1 en a NOP utasítás? ogy valósítható meg Mic 1 en az IADD utasítás? Mire szolgál a SWAP utasítás? ogy valósítható meg a SWAP utasítás? Mire szolgál a WIDE utasítás? ogy valósítható meg a WIDE utasítás? Mire szolgál az ILOAD utasítás? ogy valósítható meg az ILOAD utasítás? Mire szolgál a WIDE ILOAD utasítás? ogy valósítható meg a WIDE ILOAD utasítás? 5. előadás 53 5. előadás 54 5. előadás 9

Az előadáshoz kapcsolódó Fontosabb témák Mikroarchitektúra szint. Mikroutasítások: Mic 1. Memória műveletek. és az adatút e. A Mic 1 működése, adatút ciklusa, ciklusa, mikroprogramja. M új értékének kialakulása Mic 1 en. Az IJVM, az IJVM modellje, az IJVM megvalósítása Mic 1 en. A WIDE utasítás hatása és megvalósítása Mic 1 en. 5. előadás 55 5. előadás 10