Arhitektura računara/K Jun 2021

Izvor: SI Wiki
< Архитектура рачунара
Datum izmene: 18. jun 2021. u 09:56; autor: Duke (razgovor | doprinosi) (Додат колоквијум рађен у јуну)
(razl) ← Starija izmena | Trenutna verzija (razl) | Novija izmena → (razl)
Pređi na navigaciju Pređi na pretragu

Postavka

  1. [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

  1. [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.
  2. [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 ; 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 Komenatar

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.