Egyszerűsített lexikális elemző

Slides:



Advertisements
Hasonló előadás
Egyszerűsített lexikális elemző
Advertisements

Adatbázisrendszerek elméleti alapjai 2. előadás
1 Számítógépek felépítése 9. előadás I/O rendszerek.
A számítógép felépítése
Alapvető digitális logikai áramkörök
A mikroprocesszor 1. rész.
Az adatábrázolás, adattárolás módja a számítógépekben
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
Az LCD kijelző programozása
Adatbázisrendszerek elméleti alapjai 5. előadás
Programozási alapismeretek 7. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 7. előadás2/  Sorozatszámítás.
Bevezetés a Java programozásba
11. előadás (2005. május 10.) A make segédprogram Alacsony szintű műveletek és bitmezők Fájl, katalógus rendszer hívások 1.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
Máté: Architektúrák7. előadás1 A verem két felső szavának cseréje (ábra) Megállapodás szerint TOS tartalmazza a verem tetején lévő szót! Ez többnyire előny,
. . Egyszerű sín alapú számítógép (2.1. ábra)
Máté: Architektúrák7. előadás1 A verem két felső szavának cseréje (ábra) Megállapodás szerint TOS tartalmazza a verem tetején lévő szót! Ez többnyire előny,
Máté: Architektúrák5. előadás1 String kezelő utasítások Az s forrás területet (DS:SI), a d cél területet pedig (ES:DI) címzi. A mnemonik végződése (B /
Máté: Architektúrák2. előadás1 Központi memória (2.9. ábra) A programok és adatok tárolására szolgál. Bit: a memória alapegysége, egy 0-t vagy 1-et tartalmazhat.
Máté: Architektúrák7. előadás1 A verem két felső szavának cseréje (4.17. ábra) Megállapodás szerint TOS tartalmazza a verem tetején lévő szót! Ez többnyire.
Máté: Architektúrák7. előadás1 A verem két felső szavának cseréje Megállapodás szerint TOS tartalmazza a verem tetején lévő szót! Ez többnyire előny, de.
Máté: Orvosi képfeldolgozás3. előadás1 Torzítás. Máté: Orvosi képfeldolgozás3. előadás2 A tárgy nagyítása A forrás nagyítása forrás tárgy kép A tárgy.
Függvények, mutatók Csernoch Mária.
A verem működése fpga-n
A számítógéprendszer.
Mikroszámítógépek I 8085 processzor.
Mikroszámítógépek I 8085 processzor.
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
2 tárolós egyszerű logikai gép vázlata („feltételes elágazás”)
Fuzzy halmazok. 4. előadás2 3 4 Egy hagyományos halmazEgy Fuzzy halmaz.
Adatbázisrendszerek elméleti alapjai 7. előadás
Egy egyszerű gép vázlata
Egy harmadik generációs gép (az IBM 360) felépítése
C nyelv utasításai.
Máté: Architektúrák12. előadás1 Operációs rendszer szintje Operating System Machine (OSM) Ezen a szinten programozóknak rendelkezésre állnak a felhasználói.
Máté: Architektúrák5. előadás1 String kezelő utasítások Az s forrás területet (DS:SI), a d cél területet pedig (ES:DI) címzi. A mnemonik végződése (B /
Máté: Architektúrák7. előadás1 A verem két felső szavának cseréje (4.17. ábra) Megállapodás szerint TOS tartalmazza a verem tetején lévő szót! Ez többnyire.
Számítógép architektúra Címzésmódok. 2007Címzésmódok2-21 Operandusok egy operandus hossza lehet: –1 byte –2 byte (szó) –4 byte egy operandus lehet: –az.
Számítógép architektúra
Számítógép architektúrák
Programozási nyelvek.
Készítette: Csíki Gyula
Egy második generációs gép (az IBM 7094) felépítése
Egy első generációs gép (az IAS) felépítése
A Mikroprocesszor Harmadik rész.
Objektum orientált programozás
Fixpontos, lebegőpontos
CUDA C/C++ programozás
A Visual Basic nyelvi elemei
Bevezetés az informatikába Farkas János, Barna Róbert
Osztott adatbázisok.  Gyors ismétlés: teljes redukáló  Teljes redukáló költsége  Természetes összekapcsolások vetítése  Természetes összekapcsolások.
Máté: Orvosi képfeldolgozás8. előadás1 Kondenzált képek Transzport folyamat, pl. mukocilliáris klírensz (a légcső tisztulása). ROI kondenzált kép F 1 F.
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 7. előadás.
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 8. előadás.
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 5. előadás.
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
Írja fel a tizes számrendszerbeli
Máté: Architektúrák5. előadás1 PCI (Peripheral Component Interconnect): 32 bites adat átvitel (33,3 MHz, sávszélesség: 133 MB/s) szabadon felhasználható.
IT ALAPFOGALMAK HARDVER.
HEFOP 3.3.1–P /1.0A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. 1 Számítógép architektúrák dr. Kovács.
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
Összeállította: Gergely János
7. Multiplikatív műveletek:  : szorzás / : osztás
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 3. gyakorlat.
Számítógépek felépítése 4. előadás ALU megvalósítása, vezérlő egység
RISC – CISC RISC: Reduced Instruction Set Computer csökkentett utasításkészletű számítógép CISC: Complex Instruction Set Computer összetett utasításkészletű.
A Számítógépek hardver elemei
A Számítógépek felépítése, működési módjai
Egy egyszerű gép vázlata
A Számítógépek felépítése, működési módjai
Előadás másolata:

Egyszerűsített lexikális elemző Feladata, hogy azonosító, szám, speciális jelek és a program vége jel előfordulásakor rendre A, 0, , és . karaktert írjon a képernyőre. Az esetleges hibákat ? jelezze. XLAT utasítás alkalmazásának tervezése: Karakter típusok karakterek kód Hibás karakter Betű A … Z a … z 2 Számjegy 0 … 9 4 Speciális jel , . ; + - ( ) cr lf 6 Vége jel $ 8 A44-47, fóliák: 28a-31 Máté: Architektúrák 5. előadás

data segment para public ’data’ ; ugró táblák a szintaktikus helyzetnek megfelelően: ; kezdetben, speciális és hibás karakter után t_s dw hiba ; hibás kar.:  spec. jel szint dw lev_a ; betű: dw lev_n ; számjegy: dw lev_s ; spec. jel: dw vege ; szöveg vége: program vége 44-47 Máté: Architektúrák 5. előadás

t_a dw hiba ; hibás kar.:  spec. jel szint dw OK ; betű: nincs teendő ; azonosító szint t_a dw hiba ; hibás kar.:  spec. jel szint dw OK ; betű: nincs teendő dw OK ; számjegy: nincs teendő dw lev_s ; speciális jel: azonosító vége dw vege ; szöveg vége: program vége ; szám szint t_n dw hiba ; hibás kar.:  spec. jel szint dw hiba ; betű: hiba:  spec. jel szint dw lev_s ; speciális jel: szám vége level dw ? ; az aktuális ugrótábla címe 44-47 Máté: Architektúrák 5. előadás

c_h db 0 ; hibás karakter kódja c_b db 2 ; betű kódja c_n db 4 ; számjegy kódja c_s db 6 ; speciális jel kódja c_v db 8 ; végjel kódja specjel db ’ ,. ;+-()’, 13, 10 ; a speciális jelek vegjel db ’$’ ; vége jel, kihasználjuk, ; hogy itt van! table db 256 dup (?) ; átkódoló tábla (256 byte) text db ’a,tz.fea 21 a12 12a $’ ; elemzendő szöveg DATA ends 44-47 Máté: Architektúrák 5. előadás

code segment para public ’CODE’ assume cs:code, ds:data, es:data, ss:stack Lex proc far push ds xor ax,ax push ax ; visszatérési cím a veremben mov ax,data mov ds,ax mov es,ax ; assume miatt call prepare ; átkódoló tábla elkészítése mov si, offset text ; az elemzendő szöveg ; kezdőcíme call parsing ; elemzés ret ; vissza az Op. rendszerhez Lex endp 44-47 Máté: Architektúrák 5. előadás

prepare proc ; az átkódoló tábla elkészítése ; az eljárás rontja AX, BX, CX, DI, SI tartalmát cld ; a string műveletek iránya pozitív mov bx, offset table mov di,bx mov al,c_h ; hibás karakter kódja mov cx,256 ; a tábla hossza rep stos table ; table  minden karakter hibás 44-47 Máté: Architektúrák 5. előadás

mov di,’A’ ; A ASCII kódja add di,bx ; A helyének offset címe mov al,c_b ; betű kódja mov di,’A’ ; A ASCII kódja add di,bx ; A helyének offset címe mov cx,’Z’-’A’+1 ; a nagybetűk száma ; a betűk ASCII kódja folyamatos! rep stosb mov di,’a’ ; a ASCII kódja add di,bx ; a helyének offset címe mov cx,’z’-’a’+1 ; a kisbetűk száma 44-47 Máté: Architektúrák 5. előadás

mov al,c_n ; számjegy kódja mov di,’0’ ; 0 ASCII kódja add di,bx ; 0 helyének offset címe mov cx,’9’-’0’+1 ; a számjegyek száma ; a számjegyek ASCII kódja folyamatos! rep stosb 44-47 Máté: Architektúrák 5. előadás

mov si,offset specjel ; speciális jelek ; feldolgozása xor ah,ah ; hogy ax=al legyen pr1: lods specjel ; speciális jel ASCII kódja mov di,ax ; ah=0 miatt ax = a jel kódja cmp al,vegjel ; vegjel közvetlenül a ; speciális jelek után! je pr2 ; ez már a vegjel mov al,c_s ; speciális karakter kódja mov [BX+DI],al ; elhelyezés a táblában loop pr1 ; ciklus vége 44-47 Máté: Architektúrák 5. előadás

pr2: mov al,c_v ; a végjel kódja mov [BX+DI],al ; elhelyezés a táblában ret ; vissza a hívó eljáráshoz prepare endp 44-47 Máté: Architektúrák 5. előadás

; az eljárás rontja AX, BX, CX, DI, SI tartalmát parsing proc ; elemzés ; az eljárás rontja AX, BX, CX, DI, SI tartalmát cld ; a string műveletek iránya pozitív mov bx, offset table mov di,offset t_s ; spec. jel szint lv1: mov level,di ; szint beállítás xor ah,ah ; hogy ax=al legyen OK: lods text ; a következő karakter XLAT ; AL  0, 2, 4, 6 vagy 8 MOV DI,LEVEL ; DI  az akt. ugró ; tábla címe ADD DI,AX ; DI  a megfelelő elem ; címe JMP [DI] ; kapcsoló utasítás 44-47 Máté: Architektúrák 5. előadás

hiba: mov di,offset t_s ; hibás karakter, ; spec. jel szint mov al,’?’ lv2: mov ah,14 ; BIOS hívás előkészítése int 10h ; BIOS hívás: ; karakter írás a képernyőre jmp lv1 lev_a: mov di,offset t_a ; azonosító kezdődik mov al,’A’ jmp lv2 44-47 Máté: Architektúrák 5. előadás

lev_n: mov di,offset t_n ; szám kezdődik mov al,’0’ jmp lv2 lev_s: mov di,offset t_s ; speciális jel mov al,’,’ vege: mov al,’.’ ; szöveg vége mov ah,14 ; BIOS hívás előkészítése int 10h ; BIOS hívás: ; karakter írás a képernyőre ret ; elemzés vége, vissza a hívóhoz parsing endp code ends 44-47 Máté: Architektúrák 5. előadás

stack segment para stack ’stack’ dw 100 dup (?) ; 100 word legyen a verem stack ends end Lex ; modul vége, start cím: Lex 44-47 Máté: Architektúrák 5. előadás

Mikroarchitektúra szint Feladata az ISA (Instruction Set Architecture) megvalósítása. Nincs rá általánosan elfogadott, egységes elv. Az ISA-szintű utasítások „függvények”, ezeket egy főprogram hívja meg végtelen ciklusban. A függvények a mikroarchitektúra szintjén valósulnak meg (mikroprogram). A mikroprogram változói (a regiszterek) definiálják a számítógép állapotát, pl.: PC (Program Counter, utasításszámláló). 224-225 Máté: Architektúrák 5. előadás

Az IJVM utasítások szerkezete: 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 Code, műveleti kód), az esetleges második mezőben az operandus meghatározására szolgáló adat van. Nem használjuk a C-ben írt SUN JVM interpretert, mert nem elég hatékony az elemi logikai áramkörök kezelésére. Mikroprogram: betölti, értelmezi és végrehajtja az IJVM utasításokat: betöltés-végrehajtás (fetch-execute) ciklus. 224-225 Máté: Architektúrák 5. előadás

Az ALU-nak (3.19-20. ábra) 6 vezérlő bemenete van: ENA az A bemenet engedélyése (1)/ tiltása (0), ENB a B bemenet engedélyése (1)/ tiltása (0), INVA: A#. (Ha ENA = 0, akkor 0# = FFFF = – 1), F0, F1. F0, F1 kiválasztja az AND, OR, B#, + művelet valamelyikét, INC: +1. 225-230 Máté: Architektúrák 5. előadás

Néhány példa (4.2. ábra átrendezve) A könyvben nem logikus, hibás. F0 F1 ENA ENB INVA INC Tevékenység 1 A AND B A OR B A B #A #B 225-230 Máté: Architektúrák 5. előadás

F0 F1 ENA ENB INVA INC Tevékenység 1 – 1 A + B A + B + 1 A + 1 B + 1 – 1 A + B A + B + 1 A + 1 B + 1 – A B – A B – 1 225-230 Máté: Architektúrák 5. előadás

Adatút (Data Path, 4.1. ábra) 32 bites regiszterek, sínek, ALU, léptető (SLL8 8 bittel balra, SRA1 1 bittel jobbra léptet). ALU bemenetei közül az egyik a H (Holding – tartó), a másik a B sín (9 lehetőség – vezérlőjelek: ). N 1, ha az eredmény < 0, különben 0, Z 1, ha az eredmény = 0, különben 0. Megfelelő időzítéssel egy cikluson belül lehetséges egy regiszterből olvasni és az eredményt akár ugyanoda visszaírni (vezérlőjelek: ) 4.3. ábra. 225-230 Máté: Architektúrák 5. előadás

Memóriaműveletek (4.1. ábra) Szócímzés (32 bites): adatszó írás, olvasás. MAR (Memory Address Register): szócím, MDR (Memory Data Register): szó. Szó címek transzformálása: 4.4. ábra. Bájtcímzés: ISA szintű utasítás bájt olvasás. PC (Program Counter): bájtcím, MBR (Memory Byte Register): bájt. MBR kétfajta értelmezése (két vezérlőjel): MBR: MBR előjelesen kerül a B sínre, MBRU: MBR előjel nélkül kerül a B sínre. 230-231 Máté: Architektúrák 5. előadás

Összesen 29 jel szükséges (4.1., 5-6. ábra): Az adatút vezérlése Összesen 29 jel szükséges (4.1., 5-6. ábra): 9 jel: a B sínre írás a regiszterekből, 8 jel: 6 az ALU és 2 a léptető vezérlésére, 9 jel: regiszterekbe írás a C sínről, 3 jel: a memória eléréshez (nem ábrázoltuk!) 2 jel: szó íráshoz/olvasáshoz 1 jel: bájt olvasáshoz. 232 Máté: Architektúrák 5. előadás

9 bit: a következő utasítás címének megadásához, Mikroutasítások 24 bit: az adatút vezérléséhez (a B sínre csak egy regiszter írhat egyszerre, ezért 9 helyett elég 4 bit), 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 36 bites mikroutasítást: 4.5. ábra. Mic-1: 4.6. ábra. 512x36 bites vezérlőtár, a mikroprogramnak, MPC (MicroProgram Counter): mikroprogram-utasításszámláló. MIR (MicroInstruction Register): mikroutasítás-regiszter. 232-235 Máté: Architektúrák 5. előadás

(MIR feltöltődik a vezérlőtár MPC által mutatott szavával.) Mic-1 működése: Adatút ciklus (4.6. ábra): (MIR feltöltődik a vezérlőtár MPC által mutatott szavával.) Kialakul a B sín kívánt tartalma, ALU és a léptető megtudja, mit kell csinálnia, Az ALU és a léptető elvégzi a feladatát, a C sín, N (Negative) és Z (Zero) megkapja az új értékét, A regiszterek feltöltődnek a C sínről. MBR/MDR megkapja az értékét, ha az előző ciklus adatot kért a memóriából. Kialakul MPC új értéke. Memória ciklus kezdete. 236 Máté: Architektúrák 5. előadás

Memória ciklus A memória ciklus az adatút végén kezdődik (MAR ill. PC feltöltése után), ezért ha a memória címet módosította ez a mikroutasítás, akkor a memória cím a módosított MAR ill. PC regiszter értéke lesz. Olvasásnál az eredmény csak két ciklussal később használható, mert MDR ill. MBR csak a következő adatút ciklus vége felé töltődik fel a memóriából, addig MDR ill. MBR régi értéke érhető el. 236 Máté: Architektúrák 5. előadás

A 9 bites következő cím (Addr) az MPC-be kerül. MPC új tartalma A 9 bites következő cím (Addr) az MPC-be kerül. JAMN/JAMZ esetén MPC legmagasabb bitjének és az N/Z bitnek logikai vagy kapcsolata képződik MPC legmagasabb helyértékén (elágazás). Pl.: esetén a következő utasítás Z –től függően a 0x92 vagy 0x192 címen található (feltételes ugrás – elágazás – a mikroprogramban). Cím Addr JAM Adatútvezérlő bitek 0x75 0x92 001 . . . JAMZ =1 236-239 Máté: Architektúrák 5. előadás

MPC új tartalma (folytatás) JMPC esetén MPC 8 alacsonyabb helyértékű bitjének és MBR 8 bitjének bitenkénti vagy kapcsolata képződik MPC-ben az adatút ciklus vége felé (MBR megérkezése után). Ilyenkor Addr 8 alacsonyabb helyértékű bitje általában 0 (feltétlen ugrás az MBR –ben tárolt címre – kapcsoló utasítás). Kezdődhet az újabb mikroutasítás végrehajtása. 236-239 Máté: Architektúrák 5. előadás

regiszter  B sín, Addr  MPC ALU, léptető megtudja, Mic-1 működése (MPC)  MIR regiszter  B sín, Addr  MPC ALU, léptető megtudja, mit kell csináljon, eredmény  C, N, Z C  regiszterekbe JAMN, JAMZ (N, Z) mem.  MDR és/vagy alapján módosul MPC mem.  MBR JMPC (MBR) Memória ciklus indítása (rd, wr, fetch). 234-239 Máté: Architektúrák 5. előadás

Eljárás: paraméterek, munka terület. Rekurzív (önmagát hívó) eljárás, pl.: 0! = 1, ha n>0, akkor n! = n*(n-1)! A hívó és hívott eljárás paraméterei, változói nem lehetnek azonos területen: lokális változók. Verem (stack): LV (Local Variable), SP (Stack Pointer) verem mutató (4.8. ábra). A verem operandusok és az eredmény tárolására is használható, pl. (4.9. ábra): a1 = a2 + a3 239-241 Máté: Architektúrák 5. előadás

Az IJVM memóriamodellje A 4 GB memória, 1 G szóként is szervezhető. Funkcionális részei: 4.10. ábra. CPP (Constant Pool Pointer): terület a konstansok, mutatók tárolása; tartalma a program betöltésekor alakul ki, ISA utasítások nem írhatják felül. LV (Local Variable frame): lokális változók területe Operandusverem: a lokális változók területe fölött, Metódus terület: itt van a program. PC bájtot címez a metódus területen belül. IJVM utasításkészlet: 4.11. ábra. 241-247 Máté: Architektúrák 5. előadás

Java (C) IJVM program 4.11., 15. ábra Bin. kód program 1 ILOAD j // i = j + k 15 02 2 ILOAD k 15 03 i = j + k; 3 IADD 60 if(i = = 3) 4 ISTORE i 36 01 k = 0; 5 ILOAD i // if(i = = 3) 15 01 else 6 BIPUSH 3 10 03 j = j – 1; 7 IF_ICMPEQ L1 9F 00 0D 8 ILOAD j // j = j – 1 15 02 9 BIPUSH 1 10 01 10 ISUB 64 11 ISTORE j 36 02 12 GOTO L2 A7 00 0F 13 L1: BIPUSH 0 // k = 0 10 00 14 ISTORE k 36 03 15 L2: 247-248, 4.14. ábra Máté: Architektúrák 5. előadás

Mic-1 megvalósítása (4.5, 6. ábra) 36 bites bináris utasításokat kellene megadnunk. Pl.: Egy ciklusban növeljük SP-t 1-gyel és olvasást kezdeményezünk a memóriából, folytatás a 122-es utasításnál. Szimbolikusan ilyesmi: ReadRegister = SP, ALU = INC, Write SP, Read, NextAddress = 122; Nehézkes, helyette: SP = SP + 1; rd A folytatás címet csak akkor tüntetjük fel, ha az nem a következőként írt mikroutasítás (pl. goto Main1). 248-249 Máté: Architektúrák 5. előadás

MAL (Micro Assembly Language, 4.5-6. ábra) SOURCE: a B sínre kötött regiszterek bármelyike (MDR, PC, MBR, MBRU, SP, LV, CPP, TOS, OPC). MBRU az előjel nélküli (Unsigned) MBR. DEST: a C sínre kapcsolt regiszterek bármelyike (MAR, MDR, PC, SP, LV, CPP, TOS, OPC, H). Több regiszter is kaphatja ugyanazt az értéket. wr: memóriába írás MDR-ből a MAR címre. rd: memóriából olvasás MDR-be a MAR címről. fetch: 8 bites utasításkód betöltése MBR-be a PC címről. Megengedett műveletek: 4.16. ábra 249-253 Máté: Architektúrák 5. előadás

Nem megengedett pl. az alábbi utasítás pár: MAR = SP; rd MDR = H // A memóriából is most kapna értéket! Feltételes elágazás, pl.: Z = TOS ; if (Z) goto L1; else goto L2 // Z=1, ha TOS=0, különben Z=0. A címek különbsége 256 kell legyen (4.7. ábra)! TOS (Top Of Stack) A JMPC bit jelentése: goto (MBR OR value) Ilyenkor value általában 0 vagy 0x100. 250-253 Máté: Architektúrák 5. előadás

IJVM megvalósítása Mic-1-en (4.11., 17. ábra) Előkészület a gép indításakor: PC a végrehajtandó utasítás címét, MBR magát az utasítást tartalmazza. A legelső végrehajtandó mikroutasítás a Main1, ez: PC=PC+1; fetch; goto(MBR); PC most a végrehajtandó utasítás utáni bájtra mutat, ez lehet egy újabb utasítás kódja, vagy operandus. PC új értékének kialakulása után indul a fetch-csel kezdeményezett memória ciklus, ez a következő mikroutasítás végére MBR-be olvassa a program következő bájtját. goto (MBR) elugrik az utasítás feldolgozásához. 253-260 Máté: Architektúrák 5. előadás

Minden utasítás feldolgozását végző függvény első mikroutasítása az utasítás kódnak megfelelő címen van a mikroprogram tárban. Ez az oka, hogy nem helyezhetjük egymás után az egyes utasítások feldolgozását végző mikroutasítás sorozatot, ezért inkább azt a megoldást választottuk, hogy minden mikroutasítás tartalmazza a következő címét. Ha 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 mikroutasítás. 253-260 Máté: Architektúrák 5. előadás

IJVM megvalósítása Mic-1-en (4.11., 17. ábra) A főciklus a Main1-nél kezdődik; PC a végrehajtandó utasítás címét, MBR magát az utasítást tartalmazza. Main1 a következő utasítást vagy adatbájtot olvassa. Címke Műveletek // kommentár Main1 PC = PC + 1; fetch; goto(MBR) nop1 goto Main1 iadd1 MAR = SP = SP – 1; rd iadd2 H = TOS iadd3 MDR = TOS = MDR + H; wr; goto Main1 253-260 Máté: Architektúrák 5. előadás

Mi a lexikális elemző feladata? Feladatok Mi a lexikális elemző feladata? Milyen adatokat tartalmaz az ugró tábla? Hogy működik az XLAT utasítás? Az átkódoló tábla kialakításakor más módszert alkalmaztunk a nagy betűk kódjának beírásához, mint a speciális jelek kódjának beírásához. Miért? Milyen karakter eredményez hibát szám beolvasása közben? Hogyan kezeli a program a különböző szintaktikus helyzeteket? Máté: Architektúrák 5. előadás

Milyen részei vannak az egy bites ALU-nak? Feladatok Milyen részei vannak az egy bites ALU-nak? Milyen vezérlő bemenetei vannak az ALU-nak? Milyen vezérlő bemenetek esetén lesz 1 az eredmény? Milyen eredményt szolgáltat az F0=0, F1=1, ENA=0, ENB=0, INVA=1, INC=1 vezérlő bemenet? Mi az adatút? Milyen jelek szükségesek az adatút vezérléséhez? Milyen részei vannak a Mic-1 mikroutasításainak? Milyen részei vannak az adatút ciklusnak? Hogy alakul ki MPC új tartalma? Máté: Architektúrák 5. előadás

Ismertesse az IJVM memóriamodelljét! Feladatok Ismertesse az IJVM memóriamodelljét! 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 SOURCE 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? Hogy lehet védekezni az ellen, hogy MDR egyszerre kapjon értéket a memóriából és a C sínről? Máté: Architektúrák 5. előadás