You are on page 1of 25

1) Nacrtati blok šemu mikroračunarskog sistema zasnovanog na hipotetičkom

procesoru. Objasniti funkciju spoljne magistrale.

Na slici uočavamo spoljnu magistralu podataka i internu magistralu podataka.


Preko spoljne magistrale prenose se:
- podaci iz memorije uključujući i naredbe,
- podaci za U/I uređaje.
Upravljački signali koji se generišu od strane mikroprocesora određuju smer prenosa
podataka na magistrali za podatke.
Na slici se uočavaju tri celine koje čine mikroračunarski sistem:
- mikroprocesor (CPU),
- memorija (memorijski podsistem),
- U/I podsistem.
2) Nacrtati i objasniti dijagram stanja za tok izvršenja naredbe. Na dijagramu
stanja prepoznati petlje, navesti kroz koja stanja se prolazi za koju petlju, i
opisati šta se odvija u svakoj petlji.

a) izračunavanje adrese naredbe – određuje se adresa naredne naredbe koja će


se izvršiti,
b) priprema naredbe – CPU čita naredbu iz memorijske lokacije,
c) dekodiranje naredbe,
d) izračunavanje adrese operanda – ako se tipom operacije predviđa obraćanje
operandu u memoriji ili ako je dostupan preko U/I određuje se adresa
operanda,
e) priprema operanda – pribavlja se operand iz memorije ili se on čita iz U/I
jedinice,
f) operacija nad podacima – obavlja se predviđena operacija,
g) smeštaj operanda – upisuje se rezultat u memoriju ili u U/I jedinicu.
Na slici se uočavaju četiri petlje:
a) petlja 1 – obuhvata stanja 1,2,3,4,5,6,7,8 I odnosi se na tok izvršenja jedne
naredbe,
b) petlja 2 – obuhvata stanja 4 i 5 i odnosi se na pripremu više operanada,
c) petlja 3 – obuhvata stanja 7 i 8 i odnosi se na smeštaj više operanada,
d) petlja 4 – obuhvata stanja 4,5,6,7 i 8 i odnosi se na izvršenje insturkcije koje rade
sa poljima, koje se jednom dekodiraju, a operacije se izvršavaju nad elementima
polja.
3) Nacrtati i objasniti tipičan dvoadresni format. Objasniti šta je to simetrična
naredba . Za svaki slučaj koje se javlja kod simetrične naredbe navesti
dužinu naredbe u rečima.

Tipovi naredbi koje su relativne u odnosu na specifikaciju izvornog i odredišnog


operanda:
1. naredbe tipa registar-u-registar, (1 reč)

2. naredbe tipa registar-u-memoriju, (2 reči)


3. naredbe tipa memorija-u-registar, (2 reči)

4. naredbe tipa memorija-u-memoriju. (3 reči)

Naredba je simetrična ukoliko podržava sva četiri tipa.


4) Nacrtati šeme i objasniti postindeksiranje i preindeksiranje.
Kod indeksiranja postoje dve mogućnosti u zavisnosti od toga da li se indeksiranje
obavlja pre ili posle indirekcije:

Postindeksiranje
EA = (A) + (R)
Sadržaj adresnog polja se koristi za pristup memorijskoj lokaciji koja sadrži direktnu
adresu. Ova adresa se zatim indeksira od strane vrednosti registra.

Preindeksiranje
EA = (A + (R))
Adresa se izračunava kao kod indeksiranja. U ovom slučaju izračunata adresa ne sadrži
operand nego adresu operanda.
5) Nacrtati dijagram toka aktivnosti kod prihvatanja zahteva za prekid i
objasniti šta treba uraditi da se omogući prekid u okviru prekida.

Potrebno je ponovo omogućiti prekid


nakon svih potrebnih smeštanja u magacin, a pre početka tela prekidne rutine i zabraniti
prekid nakon prekidne rutine, a pre početka obnavljanja sadržaja registra sa magacina.
6) Navesti koje sve funkcionalnosti mora da ima interfejs i nacrtati detaljnu
jedinstvenu šemu koja prikazuje kako se prenose podaci, kako se adresira
uređaj i kako se koriste prekidi.
Sve komunikacije sa spoljnim svetom obavljaju se preko interfejsa. Interfejs mora da
bude sposoban da:
a) Interpretira adresu, memorijske i U-I select signale, pa da na osnovu toga
utvrdi da li se obraćanje vrši njemu ili memoriji i da odredi kojem se od
njegovih registra pristupa ;
b) Odredi kada se obavlja operacija ulaz izlaz i prihvati izlazne podatke ili
upravljačku informaciju sa magistrale ili postavi ulazne podatke ili statusnu
informaciju na magistralu ;
c) Prima i predaje podatke pridruženom uređaju, vrši konverziju paralelnog
oblika podataka u prihvatljiv format ;
d) Šalje signal o spremnosti kada je podatak prihvaćen ili postavljen na magistralu
podataka, čime obaveštava processor da je prenos završen ;
e) Šalje zahtev za prekid, prima signal o priznavanju prekida ;
f) Prima reset signal i reinicijalizira sam sebe.
7) Objasniti razloge za uvođenje stanja čekanja, nacrtati dijagram koji sadrži
stanje čekanja i objasniti funkciju brojača stanja.

Stanje čekanja

- neusklađenost brzine rada procesora i događaja u spoljnom svetu. Brzina rada


procesora je za nekoliko redova veličine veća od brzine kojom se dešavaju
događaji u spoljnom svetu ;

- najjednostavnije rešenje za problem sinhronizacije leži u uvođenju linije


spremnosti (ready line). Stanjem na ovoj liniji spoljni uređaj, kome se procesor
obraća (U/I uređaj, memorija,…), ukazuje da je spreman za prenos podataka.
Procesor testira stanje na ovoj liniji i završava naredbu koju je započeo tek kada
utvrdi da je spoljni uređaj spreman za razmenu.

- period čekanja je celobrojni umnožak taktnog perioda.

S obzirom da dijagram prikazuje 5 različita stanja, brojač stanja se realizuje kao


trostepeni brojač po modulu 5. Kod starog dijagrama ”load” je bio aktivan samo kada se
prelazilo iz 2  4 za naredbe koje nisu koristile ALU. Ovde ”load” ima složenu funkciju.
Postavlja brojač stanja:

- iz 24 (IN,OUT)
- iz 25 (MOV,NOP)
- iz 35 (ADD,SUB,OR,…).
8) Objasniti tipove prekida i princip prioriteta.

Vektorski

Kada nekoliko spoljnih uređaja šalje zahtev za prekid CPU-u, neophodno je da se


identifikuje specifični izvor prekida sa ciljem da se selektuje odgovarajuća rutina za
obradu prekida. Ova aktivnost se obavlja specijalnim ciklusom priznavanja prekida na
spoljnoj magistrali. U toku ovog ciklusa ne obavlja se memorijska ili UI operacija, već se
adresira uređaj koji je generisao zahtev za prekid, a koji predaje CPU-u identifikacioni
kod. Kod koji se čita u toku ciklusa priznavanja prekida koristi se od strane CPU-a kao
indeks u memorijskom polju. U tom polju se smeštaju informacije kojima se određuje
početak rutine za obradu prekida. Vektorski prekidi se mogu maskirati.

Nemaskirajući

Ovaj tip prekida se ne može maskirati izvršavanjem određenih naredbi. Kada se


nemaskirajući prekid javi, prekida se program koji se izvršava nezavisno od tipa
operacije koju CPU trenutno obavlja. Ukazuje na događaj čije je izvršenje urgentnije od
bilo koje operacije koja se trenutno programski izvršava. Tipični primeri su greške u
napajanju , memorijskim ciklusima. Signal kojim se zahteva nemaskirajući prekid CPU
prima na posebnom pinu (NMI). Za razliku od vektorskog, CPU u ovom slučaju ne čita
podatke o tipu vektora, jer se informacija o početnoj adresi rutine za obradu prekida
nalazi na fiksnoj lokaciji u vektorskoj tabeli.

Nevektorski

Ovi tipovi prekida imaju isti efekat kao i nemaskirajući. Informacija o početnoj
adresi rutine za obradu prekida smeštena je na fiksnu lokaciju u vektorskoj tabeli. Mogu
se maskirati. Procesor najčešće poseduje poseban ulaz za prihvatanje zahteva ovakvog
tipa prekida.

Restartujući

Standardno je da se prekid prihvata nakon završetka naredbe koja je u toku. Ali


ako se zahtev za prekid generiše kao rezultat kada treba da se zaštiti dalji korektan tok
izvršenja same naredbe, prekid će se odmah prihvatiti pre kraja naredbe. Tipičan primer
je prekid koji se aktivira kada se naiđe na grešku u toku memorijskog ciklusa, kao što je
greška parnosti. Ovim tipom prekida izvršenje tekuće naredbe, a sve informacije potrebne
za njen završetak se čuvaju najčešće na magacinu. Alternativni pristup je da prekinuta
naredba, nakon povratka iz prekidne rutine, počne sa izvršavanjem od početka.
Prioriteti

Kada je dozvoljeno nekoliko različitih tipova prekida, moguće je da više zahteva


istovremeno bude aktivno. Mehanizam za rešenje je dodeljivanje prioriteta. Osnovni
kriterijum za dodeljivanje je brzina odziva koja treba da prati događaj. Najviši prioritet
zanči najbrži odziv. Prioriteti su predefinisani. Novi prekid čiji je prioritet manji ili
jednak tekućem ne može da prekine rad procesora sve dok se tekući ne završi. Prekid čiji
je prioritet veći može da prekine tekući prekid.

1) Restartujući,
2) Nemaskirajući,
3) Vektorski,
4) Nevektorski.

9) Dati šeme i objasniti Ulaz/Izlaz preslikan na memoriju i izdvojeni Ulaz/Izlaz.

Ulaz/Izlaz preslikan na memoriju


- koriste se iste naredbe kao i za rad sa memorijom,
- nema posebnih naredbi,
- koriste se isti signali MR i MW,
- memorijski prostor je jedinstven,
- procesor tretira statusne registre i register za podatke kao memorijske lokacije,
- smanjuje se adresni prostor,
- veći broj uređaja koji se mogu priključiti,
- prividno neograničeni broj uređaja koji se može priključiti.

Izdvojeni Ulaz/Izlaz
- adresni prostor je izdvojen,
- koriste se posebne linije sa upravljačke magistrale I/OR i I/OW,
- postoje posebne naredbe za upis i čitanje,
- U/I portovima se pristupa posebnim komandama koje aktiviraju posebne
upravljačke signale,
- ograničen broj U/I uređaja,
- ograničen broj U/I naredbi,
- za U/I ne mora da se koristi adresna magistrala.

10) Nacrtati šeme i objasniti šta sve podrazumeva adresiranje sa razmeštajem.

Adresiranje sa razmeštajem

To je veoma moćan način jer se kombinuje mogućnosti direktnog i registarsko


indirektnog adresiranja.
EA = A + (R)
Neophodno je da naredba ima dva adresna polja pri čemu je jedno eksplicitno.
Vrednost koja se nalazi u jednom adresnom polju (vrednost A) se koristi direktno. Drugo
adresno polje se zasniva na opkodu i odnosi se na registar čiji se sadržaj sabira sa A da bi
se dobila efektivna adresa.
Tri najčešće korišćena načina adresiranja sa razmeštajem su:
a) relativno,
b) bazno-registarsko,
c) indeksno adresiranje.
Relativno adresiranje

Registar kome se implicitno obraćamo je PC. Adresi tekuće naredbe dodaje se


adresno polje i formira EA. Adresno polje se obično tretira kao broj u dvojnom
komplementu. Na ovaj način efektivna adresa je razmeštaj koji je relativan u odnosu na
adresu naredbe.

Bazno-registarsko adresiranje

Registar kome se obraćamo sadrži memorijsku adresu, a adresno polje sadrži


razmeštaj (neoznačen celi broj) u odnosu na tu adresu.

Indeksiranje

Adresnim poljem se obraćamo adresi glavne memorije, a registar kome se


obraćamo sadrži pozitivni razmeštaj u odnosu na tu adresu. Važna karakteristika
indeksiranja je ta da obezbeđuje mehanizam za obavljanje iterativnih operacija.
autoindeksiranje:
EA = A + (R)
(R)  (R) + 1
11) Prikazati i objasniti rešenje bazirano na šemi sa lančanjem kod
jednoprocesorskog sistema gde postoji veći broj izvora prekida.

Asinhrona deoba procesorskog vremena izmedju nekoliko zadataka najčešće se


sreće u praksi. Dogadjaj se pamti u IRQ flip-flopu U/I uredjaja, a signalizira se
procesoru preko linije INTR. Uredjaj koji je zahtevao prekid se identifikuje
predajom svog vektor broja. U slučaju kada više od jednog uredjaja zahteva prekid
istovremeno, arbitražnim postupkom se odlučuje koji uredjaj može generisati
vektor. Vektor prekida se može interpretirati kao identifikator uslužne rutine, ili
kao identifikator zahtevaoca prekida.
12) Nacrtaj šemu i objasni organizaciju procesne jedinice oko tri magistrale.

U ovom slučaju operacija (R2) = (R0) + (R1) se realizuje kao jedna mikro-operacija.

Osnovne karakteristike ove arhitekture su:


a) postiže se velika brzina rada jer se podaci istovremeno mogu prenositi po tri
magistrale,
b) za realizaciju veza potrebna je velika površina čipa,
c) u toku izvršenja jedne mikro-operacije nije dozvoljen upis i čitanje u isti
registar, kao npr:

(R0)(R0)+(R1)
ili
(R1)(R0) + (R1)
13) Dati šemu koja prikazuje kako se interna magistrala koja je razdvojena na
ulaznu i izlaznu povezuje na magistralu podataka i objasniti tokove podataka
prilikom operacija ulaz i izlaz.

Kod operacije izlaz dozvola rada predaje je na aktivno niskom nivou kao i dozvole S1 i
Sn. Kod operacije ulaz dozvola rada prijema je na aktivno niskom nivou i dozvoljen je
upis u lečeve L1 do Ln.
14) Nacrtaj dijagram toka aktivnosti procesora kod izvršenja jedne naredbe.
15) Organizacija procesne jedinice oko dve magistrale.

(R0) = (R0) + (R1)


(BUF1) ← (R0)
(R0) ← (BUF1) + (R1)
Nd (R1) ← (BUF1) + (R1)
Kao i kod prethodnog slučaja operacija tipa
(R0) = (R0) + (R1)
može se obaviti na sledeći način
(BUF1) ← (R0)
(R0) ← (BUF1) + (R1).
Na osnovu analiziranog primera zaključuje se:
a) prednost arhitekture je što se podaci mogu istovremeno prenositi po obema
magistralama čime se ubrzava rad sistema,
b) potreban je veći broj veza u samom čipu,
c) u toku izvršenja jedne mikro-operacije nije dozvoljen upis i čitanje u isti registar
kao na primer (R1) ← (BUF1) + (R1).
16) Nacrtaj i objasni hijerarhijsku piramidu memorije.

17) Nacrtati šemu koja prikazuje kako je UI interfejs povezan na sistemsku


magistralu. Prvo navesti, a zatim objasniti 4 osnovnih grupa funkcija koje
treba da obavi UI interfejs. (slika ista kao u pitanju 6.)

Osnovne funkcije koje treba da obavi U-I interfejs možemo svrstati u:


a) upravljačke i sinhronizujuće,
b) komuniciranje sa CPU-om,
c) komuniciranje sa U-I uređajem,
d) baferovanje podataka,
e) detekcija greške.

a) upravljačke i sinhronizujuće
- upravljanje prenosom podataka iz spoljnjeg uredjaja ka CPU-u podrazumeva
sledeću sekvencu dogadjaja:
a.1) CPU ispituje U-I interfejs da bi odredio status pridruženog uredjaja
a.2) U-I interfejs vraća status uredjaja
a.3) ako je uredjaj spreman za prenos, CPU zahteva prenos, izdavanjem
komande U-I interfejsu
a.4) U-I interfejs dobija podatak, od spoljnog uredjaja
a.5) vrši se prenos podataka iz U-I interfejsa ka CPU-u
b) komuniciranje sa CPU-om uključuje:
b.1) dekodiranje komandi – U-I interfejs prihvata komade od CPU-a. Ove
komande se predaju preko upravljačke magistrale, ili magistrale za podatke.
(npr interfejs za disk prihvata komande Read sector, Write sector, Seek
track no, ...)
b.2) prenos podataka – razmena podataka imedju CPU-a i U-I interfejsa
obavlja se preko magistrale podataka
b.3) raportiranje statusa (da li je interfejs izvršio prethodno zadatu U-I
komandu; na to ukazuju statusni signali BUSY i READY)
b.4) prepoznavanje adrese (mora da prepozna jedinstvenu adresu svake
periferije kojom upravlja)

c) komuniciranje sa U-I uredjajem


U ovu komunikaciju uključene su komande, statusne informacije i podaci.
Upravljački signali:
- transfer podataka od spoljnog uredjaja ka interfejsu je iz ugla procesora
INPUT ili READ
- transfer podataka od intrfejsa ka spoljnom uredjaju je iz ugla procesora
OUTPUT ili WRITE
Raportiranje statusa: Ready-NotReady

d) baferovanje podataka
Podaci se iz glavne memorije predaju U-I interfejsu brzinom koja je svoljstvena
memoriji odnosno procesoru.
Podaci se zatim baferuju u U-I interfejs.
Potom se predaju spoljnom uredjaju brzinom koju diktira spoljni uredjaj. Važi i
obrnuto.
Interfejs sa jedne strane radi brzinom svoljstvenoj procesoru, a sa druge periferalu.

e) detekcija greške Interfejs mora biti sposoban da detektuje grešku i obavesti CPU o
tipu greške. Tipovi grešaka:
e1) mehaničke
e2) električne
e3) greške u prenosu
18) Nacrtaj i objasni format naredbe uslovnog skoka kod hipotetičkog računara.
Prikaži i skraćeni format i navedi moguću dužinu skoka u bajtovima kod
skraćenog formata.

Skraćeni format je: 1110xxxx zzzzzzzz gde je zzzzzzzz niži bajt adrese. Skok se skraćuje
na (-128,+127) u odnosu na tekuću instrukciju.

19) Navesti U/I tehnike.

Razlikujemo tri tehnike za obavljanje U/I operacija:


a) programirani U/I
b) prekidni U/I
c) direktni pristup memoriji
Kod programiranog U/I– a vrši se razmena podataka izmedju CPU- a i U/I interfejsa.
Kako je CPU brži od U/I interfejsa, evidentno je da procesor suviše mnogo vremena gubi
na testiranje spremnosti za prenos.

Kod prekidnog U/I- a, CPU izda U/I komandu, produžava da izvršava druge naredbe, a
prekida se od strane U/I interfejsa kada je interfejs spreman da primi ili preda podatke.

Obe tehnike, programirani i prekidni U/I, se izvršavaju pod programskom kontrolom, tj.
CPU čita podatke iz memorije i upisuje ih u U/I interfejs u toku operacije OUTPUT, a
čita podatke iz U/I interfejsa i upisuje ih u memoriju u toku operacije INPUT.

Treća tehnika je poznata kao DMA (Direct Memory Access). Kod ove tehnike U/I
interfejs i glavna memorija direktno razmenjuju podatke, bez posredstva CPUa.
20)Tipovi portova I blok dijagram U/I interfejsa.

Kada se govori o hardverskim karakteristikama Ulazno-Izlaznog interfejsa potrebno je


definisati tri parametra:
a) obim ( količina) informacije;
b) brzina prenosa podataka i tip prenosa (sinhroni/asinhroni);
c) tip upravljačke informacije koji se pridružuje

Za svaki U/I interfejs neophodno je specificirati kako se on upravlja. U/I interfejs


poseduje tri različita porta:
1. port podataka – prima/predaje iz/ka spoljnom svetu
2. statusni port – sadrži informaciju koja ukazuje kada podatak može da se
predaje/prima ka/iz porta, da li se javila greška u interfejsu...
3. upravljački port – koristi se za inicijalizaciju načina rada interfejsa
21) Nacrtati šeme organizacije procesne jedinice oko jedne unutrašnje
magistrale i oko tri unutrašnje magistrale. Navesti dobre i loše strane kod obe
arhitekture.

Osobine:
- organizacija se odlikuje jednostavnom arhitekturom,
- spora je,
- ne zahteva veliku površinu čipa.
Osnovne karakteristike ove arhitekture su:
a) postiže se velika brzina rada jer se podaci istovremeno mogu prenositi po tri
magistrale,
b) za realizaciju veza potrebna je velika površina čipa,
c) u toku izvršenja jedne mikro-operacije nije dozvoljen upis i čitanje u isti registar
kao na primer:

(R0) ← (R0) + (R1)


Ili
(R1) ← (R0) + (R1).

22) Tipovi ROM-a.

Sadržaj ROM-a definiše se tokom fabrikacije memorijskog čipa (korisnik specificira


sadržaj proizvodjaču) Koriste se tamo gde program ne treba menjati

PROM (Programmable ROM)


- veća cena u odnosu na ROM,
- postoji mogućnost da se PROM programatorom postavi sadržaj memorije,
- topljivi osigurači (metalne veze) pregorevaju ili ne u zavisnosti da li se upisuje 0
ili 1,
- proces je nereverzibilan (jedno programiranje),
- za izmenu sadržaja potreban je novi čip,
- pogodan za logičke aplikacije (tabele za preslikavanje ili razna dekodiranja).
EPROM (Erasable PROM)
- postoji mogućnost brisanja,
- “prozor” za prodor UV svetlosti,
- može se više puta brisati i programirati,
- pogodno za razvoj prototipova.
EEPROM (Electrical EPROM) E2PROM
- briše se i programira električnim putem,
- ne mora se brisati ceo sadržaj.
23) Tipovi komandi koje U/I interfejs može da primi od strane CPU-a.

Da bi izvršio U/I naredbu, CPU generiše adresu kojom se specificira pojedini U/I
interfejs i spoljni uređaj, ali takođe zadaje i U/I komandu.

Postoje četiri tipa U/I komandi koje, kada je adresiran od strane CPU-a, U/I interfejs
može da primi. One se mogu klasifikovati kao:
a) upravljačka – koristi se za aktiviranje periferije i ukazuje šta ona treba da radi,
b) test – koristi se za testiranje različitih statusnih uslova koji su pridruženi U/I
interfejsu i periferalu,
c) čitanje – koristi se da U/I interfejs dobije podatak od periferala i smesti ga u
interni bafer,
d) upis – uzrokuje da U/I interfejs prihvati podatak sa magistrale podataka, a zatim
pred taj podatak periferalu.

24) Metodi pristupa memoriji.

a) sekvencijalni – zapisi su jedinice podataka; Pristup se izvodi u linearnoj sekvenci


kada se deljivi u-č mehanizam, pomera sa tekuće na željenu lokaciju; Vreme
pristupa proizvoljnom zapisu je veliko, (TRAKE)
b) direktni – postoji deljivi u-č mehanizam; Blokovi i zapisi imaju jedinstvenu
adresu koja je određena fizičkom lokacijom; Pristup je direktan da bi se postiglo
približavanje, a zatim sledi sekvencijalni da bi se došlo do krajnje lokacije; Vreme
pristupa je varijabilno, (DISK)
c) proizvoljni – svaka adresibilna lokacija u memoriji je jedinstveno fizički
povezana u adresni mehanizam; Vreme pristupa je konstantno, (GLAVNA
MEMORIJA)
d) asocijativni – karakterističan je za memorije sa proizvoljnim pristupom koje
dozvoljavaju istovremeno poređenje polja bitova u okviru reči sa specificiranim
oblikom za sve memorijske reči; Reč iz memorije se pribavlja na osnovu sadržaja,
a ne njene adrese; Svaka lokacija ima svoj adresni mehanizam; Vreme je
konstantno. (KEŠ MEMORIJA).

You might also like