Arhitektura računara/K Jul 2021

Izvor: SI Wiki
Pređi na navigaciju Pređi na pretragu
Ovaj rok nije rešen. Pomozite SI Wiki tako što ćete ga rešiti.

1. zadatak

(7) U registru PSW postoji nekoliko bita koji se odnose na prekide. U neke od datih bita se može postavljati vrednost 1, mogu se brisati, i može se upisivati vrednost.

  1. Naznačiti sve bite registra PSW koji se odnose na prekide i objasniti čemu koji bit namenjen. Naznačiti na osnovu čega se određuje broj pojedinih bita.
  2. Za svaki od ovih bita naznačiti u kojim se situacijama njihova vrednost menja (postavlja, briše, upisuje). Odgovor dati tabelarno.
Biti registra PSW Menjanje (postavljanje, brisanje, upisivanje) Situacija u kojoj se menja

2. zadatak

(8) Adresiranje registara kontrolera ulazno/izlaznih uređaja može da se realizuje na dva načina, pa u zavisnosti od toga kako je to realizovano postoje (1) sistemi kod kojih je ulazno/izlazni adresni prostor memorijski preslikan i (2) sistemi kod kojih su ulazno/izlazni i memorijski adresni prostori razdvojeni.

  1. Objasniti koje se instrukcije koriste za upis i čitanje registara kontrolera ulazno/izlaznih uređaja u slučajevima (1) i (2).
  2. Objasniti kako u slučajevima (1) i (2) kontroleri memorije i ulazno/izlaznih uređaja utvrđuju ko od njih treba kao sluga da realizuju[sic] ciklus na magistrali iniciran od strane procesora kao gazde.

3. zadatak

(25) Adresna magistrala procesora kao i magistrala podataka je 16-bitna. Sadržaj dela operativne memorije je prikazan na slici:

Adresa 0000h 0001h 0002h 0003h 0004h 0005h 0006h 0007h 0008h 0009h 000Ah
Sadržaj 02h 10h 00h 10h 10h 11h 10h F2h 0Eh FFh 00h
Adresa 1000h 1001h 1002h 1003h 1004h 1005h 1006h 1007h 1008h 1009h 100Ah
Sadržaj 1Fh 0Fh 0Eh 25h 08h 00h F0h 02h 11h 07h 00h
Adresa 100Bh 100Ch 100Dh 100Eh 100Fh 1010h 1011h 1012h 1013h 1014h 1015h
Sadržaj FFh FFh 00h FFh F8h F3h FDh F4h 09h F0h F4h

Procesor poseduje 16-bitne registre PC (programski brojač), SP (pokazivač na prvu slobodnu lokaciju steka koji raste prema višim adresama), PSW (programska statusna reč) i registar ACC (akumulator). Pretpostaviti da je pre početka izvršavanja glavnog programa PC = 1001h, ACC = FFFFh, SP = E000h, IVTP=1h, a PSW = 5050h. Procesor iz memorije dohvata instrukcije bajt po bajt. Operativna memorija je sačinjena od dva modula (M0 i M1) iste veličine, a širina memorijske reči je 8 bita. Jedan memorijski modul (M0) je povezan na linije D7..0, a drugi memorijski modul (M1) na linije D15..8 magistrale podataka. Module M0 sadrži marne, a modul M1 neparne adrese. Adresiranje je na nivou podataka dužine 8 i 16 bita. Podaci i adrese dužine 16 bita se u memoriju smeštaju tako da se na nižu lokaciju smešta niži bajt. Pristup (upis/čitanje) do jednog bajta podatka traje jedan ciklus na magistrali. Pristup (upis/čitanje) do dva bajta podatka počev od memorijske lokacije sa parnom adresom traje jedan ciklus na magistrali, a počev od neparne adrese traje dve ciklusa na magistrali. Faza čitanja instrukcije započinje uvek čitanjem jednog bajta - prog bajta instrukcije. Na osnovu prvog bajta instrukcije, procesor zna kolika je dužina instrukcije i može da optimizuje broj ciklusa na magistrali, tako da u nastavku dovlačenja instrukcije može, ali ne mora, da čita instrukciju bajt po bajt.

  1. Navesti sekvencu sadržaja na adresnoj magistrali, magistrali podataka i kontrolnoj magistrali za svaki ciklus na magistrali pri izvršavanju glavnog programa i prekidne rutine. Prilikom skoka u prekidnu rutinu na steku se čuvaju PSW i PC, tim redosledom. Instrukcije koje operišu sa osmobitnim podacima akumulatora koriste nižih osam bita akumulatora, dok se viših osam bitova ne menjaju.
adresa instrukcija komentar
1001h ANDB #0Eh ; neposredno adresiranje
1003h STOREW 0008h ; memorijsko direktno adresiranje
1006h INT #2h ; softverski prekid
1008h STORES 0007h ; memorijsko direktno adresiranje
100Bh HALT ; zaustavljanje procesora
100Ch ...
...
1010h NOT ; bezadresno adresiranje
1011h INC ; bezadresno adresiranje
1012h RTI ; povratak iz potprograma
...

Rešenje predstaviti u tabeli čije zaglavlje izgleda kao na slici:

Rb A15..0 D15..8 D7..0 RD WR W PC IR23:16 IR15:8 IR7:0 TMP15..0 ACC SP Komentar
Rb predstavlja redni broj ciklusa na magistrali, A15..0 i D15..0 sadržaje adresnih linija i linija podataka u datom ciklusu. RD, WR i W (označava da se pristupa po dva bajta podatka počev od parne adrese) su vrednosti upravljačkih signala na magistrali. PC predstavlja sadržaj programskog brojača, IR sadržaj instrukcijskog registra, TMP sadržaj prihvatnog registra operanda ili adrese operanda, ACC sadržaj akumulatora i SP sadržaj pokazivača na vrh steka. O vrednosti registra PSW ne treba voditi evidenciju (smatrati da se ne menja). U komentaru navesti u kojoj od faza se realizuje dati ciklus: dohvatanja instrukcije (IF), dekodovanja instrukcije (ID), izvršavanja operacije (EX) ili obrada prekida (IS).
  1. Detaljno nacrtati kako bi se povezali moduli M0 i M1 na zadatu magistralu. Povezivanje procesora na magistralu nije potrebno crtati. Označiti sve širine signala.
  2. Koliko je relativno ubrzanje izvršavanja date sekvence instrukcija pod a) na zadatoj arhitekturi magistrale i procesora (arhitektura A), u odnosu da magistrala i procesor podržavaju samo cikluse upisa i čitanja od jednog bajta (arhitektura B)? Rezultat dati kao: број циклуса (архитектура А)/број циклуса (архитектура Б)