Arhitektura računara/K Jun 2021

Izvor: SI Wiki
< Архитектура рачунара
Datum izmene: 4. februar 2022. u 13:45; autor: KockaAdmiralac (razgovor | doprinosi) (Ima više smisla da se I bit isključi nakon što pošaljemo PSW na stek a ne pre toga)
(razl) ← Starija izmena | Trenutna verzija (razl) | Novija izmena → (razl)
Pređi na navigaciju Pređi na pretragu

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

Šema modula

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:

Slika 1 - deo operativne memorije
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)