Arhitektura računara/K Jun 2021
1. zadatak
- Ovaj zadatak nije rešen. Pomozite SI Wiki tako što ćete ga rešiti.
Postavka
[7p] Posmatra se procesor kod koga se u koracima za obradu prekida hardverski umesto na steku peristar RS čuva u registru NPC, a registar PSW čuva u registru NPSW dok se ostali registri ne čuvaju. U registru IRR je zabeleženo o kom prekidu se radi. Registrima NPC, NPSW, IRR je moguhe pristupati programskim putem za upis i čitanje. Objasniti šta je sve potrebno uraditi hardverski i softverski kako bi se omogućilo gnežđenje prekida kod ovakvog procesora
2. zadatak
Postavka
[8p] Nacrtati i objasniti šemu dela modula koji se koristi u arbitraciji sa praćenjem. Šema treba da uključi delove koji podržavaju i paralelnu i serijsku arbitraciju, sinhronizaciju na sigpal takta magistrale i sitnal zauzeća magistrale.
Rešenje
3. zadatak
Postavka
[25p] Adresna magistrala procesora je širine 16 bita, magistrala podataka je 8 bitova. Sadržaj dela operativne memorije je prikazan na slici:
Adresa | 0000h | 0001h | 0002h | 0003h | 0004h | 0005h | 0006h | 0007h | 0008h | 0009h | 000Ah |
Sadržaj | 02h | 34h | 0Ch | 72h | 12h | 72h | 00h | 03h | 05h | 07h | 00h |
Adresa | 7200h | 7201h | 7202h | 7203h | 7204h | 7205h | 7206h | 7207h | 7208h | 7209h | 720Ah |
Sadržaj | 1Fh | 0Eh | 0Fh | 25h | 09h | 00h | F1h | 21h | 05h | 00h | FFh |
Adresa | 720Bh | 720Ch | 720Dh | 720Eh | 720Fh | 7210h | 7211h | 7212h | 7213h | 7214h | 7215h |
Sadržaj | F3h | FDh | 24h | 34h | 12h | F4h | F5h | FDh | F5h | 34h | 12h |
Procesor poseduje 16-bitne registre RS (programski brojač), SP (pokazivač na prvu slobodnu lokaciju steka koji raste prema višim adresama), RSW (programska statusna reč), IVTP (pokazivač na IV tabelu) i registar ASS (akumulator). Pretpostaviti da je pre početka izvršavanja glavnog programa RC=7203h, ASS=2211h, SP=E000h, IVTR=0000h, a PSW=C001h. Indikatori NZCV se nalaze na mestu najviša četiri bita registra PSW (PSW15..12), dok se biti L1..0 i bit I nalaze na mestu najnižih bitova ovog registra (PSW2..0).
Procesor iz memorije dohvata podatke bajt po bajt. U toku izvršavanja instrukcije DEC po liniji IRQM2 dolazi zahtev za spoljašnji maskirajući zahtev koji ima najviši prioritet. Ovoj liniji odgovara ulaz broj 2 u IV tabeli. Sve instrukcije, osim instrukcije RTI, reaguju na prekide i ne postoji registar maske IMR.
Navesti sekvencu sadržaja na adresnoj magistrali, magistrali podataka i kontrolnoj magistrali za svaki ciklus na magistrali pri izvršavanju glavnog programa i prekidnih rutina koje će se izvršiti. Prilikom skoka u prekidnu rutinu na steku se čuvaju RS i PSW, tim redosledom.
7203h STOREW 0009h ; memorijsko direktno adresiranje
7206h INT #1h ; softverski prekid
7207h DEC ; bezadresno adresiranje
7208h HALT ; zaustavljanje procesora
7209h ...
720Ch РОPW ; skidanje sa steka dva bajta
720Dh LDW #1234h ; nesposredno adresiranje
7210h PUSHW ; stavljanje na stek dva bajta
7211h RTI ; povratak iz prekidne routine
7212h INC ; bezadresno adresiranje
7213h RTI ; povratak iz prekidne routine
7214h ...
Rešenje predstaviti u tabeli čije zaglavlje izgleda kao na slici:
Rb | A15..0 | D7..0 | RD | WR | PC |
IR23..16 | IR15..8 | IR7..0 | TEMP15..0 | ACC | SP | PSW | Komentar |
---|
Rb predstavlja redni broj ciklusa na magistrali, A15..0 i D7..0 sadržaje adresnih linija i linija podataka u datom ciklusu. RD i WR su vrednosti upravljačkih signala na magistrali. RS predstavlja sadržaj programskog brojača, IR sadržaj instrukcijskor peristra, TEMP sadržaj prihvatnog registra operanda ili adrese operanda, ASS sadržaj akumulatora, SP sadržaj pokazivača na vrh steka i RSW sadržaj programske statusne reči. U komentaru navesti u kojoj od faza dohvatanja instrukcije (IF), dekodovanja instrukcije (ID), izvršavanja (EX) ili opsluživanja prekida (IS) se realizuje dati ciklus. Sve instrukcije nakon kojih se skače u prekidnu rutinu u fazi IS vrše pripremu za skok u odgovarajuću prekidnu rutinu.
Rešenje
R.br. | ABUS15..0 | DBUS7..0 | RD | WR | PC | IR23..16 | IR15..8 | IR7..0 | TEMP15..0 | ACC | SP | PSW | Komentar |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
- | - | - | - | - | 7203 | - | - | - | - | 2211 | E000 | C001 | |
1 | 7203 | 25 | 1 | 0 | 7204 | 25 | - | - | - | 2211 | E000 | C001 | IF (STOREW 0009h )
|
2 | 7204 | 09 | 1 | 0 | 7205 | 25 | 09 | - | - | 2211 | E000 | C001 | IF (STOREW 0009h )
|
3 | 7205 | 00 | 1 | 0 | 7206 | 25 | 09 | 00 | - | 2211 | E000 | C001 | IF (STOREW 0009h )
|
4 | 0009 | 11 | 0 | 1 | 7206 | 25 | 09 | 00 | - | 2211 | E000 | C001 | EX (STOREW 0009h )
|
5 | 000A | 22 | 0 | 1 | 7206 | 25 | 09 | 00 | - | 2211 | E000 | C001 | EX (STOREW 0009h )
|
6 | 7206 | F1 | 1 | 0 | 7207 | F1 | - | - | - | 2211 | E000 | C001 | IF (INT #1h )
|
7 | E000 | 07 | 0 | 1 | 7207 | F1 | - | - | - | 2211 | E000 | C001 | IS (INT #1h )
|
E001 | IS (INT #1h )
| ||||||||||||
8 | E001 | 72 | 0 | 1 | 7207 | F1 | - | - | - | 2211 | E001 | C001 | IS (INT #1h )
|
E002 | IS (INT #1h )
| ||||||||||||
9 | E002 | 01 | 0 | 1 | 7207 | F1 | - | - | - | 2211 | E002 | C001 | IS (INT #1h )
|
E003 | IS (INT #1h )
| ||||||||||||
10 | E003 | C0 | 0 | 1 | 7207 | F1 | - | - | - | 2211 | E003 | C001 | IS (INT #1h )
|
E004 | IS (INT #1h )
| ||||||||||||
11 | 0002 | 0C | 1 | 0 | 7207 | F1 | - | - | XX0C | 2111 | E004 | C000 | IS (INT #1h )
|
12 | 0003 | 72 | 1 | 0 | 7207 | F1 | - | - | 720C | 2111 | E004 | C000 | IS (INT #1h )
|
720C | E004 | IS (INT #1h )
| |||||||||||
13 | 720C | FD | 1 | 0 | 720D | FD | - | - | - | 2211 | E004 | C000 | IF (POPW )
|
E003 | EX (POPW )
| ||||||||||||
14 | E003 | C0 | 1 | 0 | 720D | FD | - | - | C0XX | 2211 | E003 | C000 | EX (POPW )
|
E002 | EX (POPW )
| ||||||||||||
15 | E002 | 01 | 1 | 0 | 720D | FD | - | - | C001 | 2211 | E002 | C000 | EX (POPW )
|
- | C001 | EX (POPW )
| |||||||||||
16 | 720D | 24 | 1 | 0 | 720E | 24 | - | - | - | C001 | E002 | C000 | IF (LDW #1234h )
|
17 | 720E | 34 | 1 | 0 | 720F | 24 | 34 | - | - | C001 | E002 | C000 | IF (LDW #1234h )
|
18 | 720F | 12 | 1 | 0 | 7210 | 24 | 34 | 12 | - | C001 | E002 | C000 | IF (LDW #1234h )
|
1234 | EX (LDW #1234h )
| ||||||||||||
19 | 7210 | F4 | 1 | 0 | 7211 | F4 | - | - | - | 1234 | E002 | C000 | IF (PUSHW )
|
20 | E002 | 34 | 0 | 1 | 7211 | F4 | - | - | - | 1234 | E002 | C000 | EX (PUSHW )
|
E003 | EX (PUSHW )
| ||||||||||||
21 | E003 | 12 | 0 | 1 | 7211 | F4 | - | - | - | 1234 | E003 | C000 | EX (PUSHW )
|
E004 | EX (PUSHW )
| ||||||||||||
22 | 7211 | F5 | 1 | 0 | 7212 | F5 | - | - | - | 1234 | E004 | C000 | IF (RTI )
|
E003 | EX (RTI )
| ||||||||||||
23 | E003 | 12 | 1 | 0 | 7212 | F5 | - | - | 12XX | 1234 | E003 | C000 | EX (RTI )
|
E002 | EX (RTI )
| ||||||||||||
24 | E002 | 34 | 1 | 0 | 7212 | F5 | - | - | 1234 | 1234 | E002 | C000 | EX (RTI )
|
E001 | 1234 | EX (RTI )
| |||||||||||
25 | E001 | 72 | 1 | 0 | 7212 | F5 | - | - | 72XX | 1234 | E001 | 1234 | EX (RTI )
|
E000 | EX (RTI )
| ||||||||||||
26 | E000 | 07 | 1 | 0 | 7212 | F5 | - | - | 7207 | 1234 | E000 | 1234 | EX (RTI )
|
7207 | EX (RTI )
| ||||||||||||
27 | 7207 | 21 | 1 | 0 | 7208 | 21 | - | - | - | 1234 | E000 | 1234 | IF (DEC )
|
1233 | 0234 | EX (DEC ), prekid se ne prihvata jer I = 0
| |||||||||||
28 | 7208 | 05 | 1 | 0 | 7209 | 05 | - | - | - | 1233 | E000 | 0234 | IF (HALT )
|
- | - | - | - | - | - | - | - | - | - | - | - | - | EX (HALT )
|