Author
others
View
24
Download
0
Embed Size (px)
ZADACI
Zadatak1. Dati pocesor ima jednoadresni format instrukcije. Arhitektura pocesora je takva da
postoje samo insrtukcije koje izvršavaju artimetičke operacije +, -, * i / kao i instrukcije
čitanja/upisivanja akumulator (ACC) u/iz memoriju.
a)Koliko je potrebno bitova za kod instrukcije (OC)?
b)Projektovati skup koda instrukcija i svakom dodeliti simboličko značenje.
c)Simboličko napisati jednu instrukciju gde za simboličko adresiranje koristiti proizvoljni simbol
za adresu operanda (podatak je u memoriji) ili oznaku datog registra (podatak je u registaru).
Rešenje:
a) Ukupan broj instrukcija je 6, 4 artrimetičke i 2 za rad sa akumulatorom (ACC). 6 različitih
kodova instrukcije možemo predstavti u binarnoj reprezentaciji sa najmanje 3 bita.
Sa 3 bita ukupno imamo 8 različtih konbinacija binarnih nizova. Prvi bit može biti 0 ili1, dakle
imamo 2 konbinacije. Drugi bit takođe ima ima dve mogućnosti uz jednu konbinaciju prvog bita.
Dakle, kad je prvi bit 0 imamo dve konbinacije drugog bita odnosno, kada je prvi bit 1 imamo
takođe dve konbinacije drugog bita, dakle sa dva bita ukupno možemo predstaviti 4 konbinacije.
Ako imamo treći bit, onda uz treći bit kad je 0 možemo imati sve 4 konbinacije od 2 bita
odnosno kad je treći bit 1 možemo imati sve 4 konbinacije od 2 bita, što daje ukupno 8 mogućih
konbinacija za binarnoj reči dužine 3 bita.
Ako imamo dužinu reči n-bita, onda je ukupan broj konbinacija :
Svaka od ovih konbinacija ima određenu težinsku vrednost u binarnom brojnom sistemu.
Binarna konbinacija dakle predstavlja binarni broj. Vrednost datog bita se određuje slično kao u
dekadnom brojnom sistemu, viši bit je od nižeg veći za reda osnovne veličine.
Dekadni sistem (osnova 10):
.
2 konbinacije za i-ti
bit
Redni broj bita: n, n-1, n-2 .... i+1, i, i-1, .. 2 , 1
4 2 1
Binarni sistem (osnova 2):
.
U našem slučaju sa 3 bita možemo predstaviti prvih 8 binarnih brojeva:
b)
instrukcija Binarni kod
instrukcije
Simboličko označavanje
instrukcije
sabiranje 000 ADD
oduzianje 001 SUB
množenje 010 MUL
deljenje 011 DIV
ubacivanje podatka u
akumulator
100 LOAD
prosleđivanje podatka
iz akumulatora
101 STORE
adr1
c) Format instrukcije je jednoadresni, stoga simboličko označavanje instrukcije će se sastojati od
simboličkog koda i jedne simboličke oznake adrese operanda. Ako je podatak u registru onda za
oznaku operanda koristimo sam registar (DR, AR, PC). Ako se operand nalazli u memoriskoj
lokaciji na nekoj adresi onda označavamo rednim brojem adrese u memoriji ili simbolički
označavamo adresu operanda proizvoljnim znakovnim nizom.
ADD DR4 (podataci su u registrimu DR4 i akumulatoru)
STORE 0001h (podatak je u memoriskoj lokaciji na adresi 0001h)
LOAD adr1 (podatak je u mem. lokaciji na adresi sa oznakom
adr1)
Za poslednji primer objašnjenje: ako se podatak 04h nalazi u memoriji na adresi 01h, onda je
01h simbolička vrednost adrese adr1, pri čemu će se podatak 04h preneti u akumulator.
Simboličko označavanje načina adresiranja:
1. Direktno: DR1 , DR3, a ,b, adr1, cena, 1002h ...
ne smeju da se koriste AR registri
2. Indirektno: (AR0), (PC), (0000h), (adr2), (boja) ...
ne smeju da se koriste DR registri
3. Relativno sa pomerajem: PC(01h), PC(9Dh)
koristi se se samo PC registar
4. Neposredno: #06h , #adr1 ...
adrese podaci
00h
01h 04h
02h
03h
za simboličku oznaku #adr1 operand predstavlja sama vrednost simboličke oznake, tj.
vrednost rednog broja adrese u memeoriji koju simbolizuje. Npr. ako bi smo na pisali
LOAD #adr1 u poslednjem primeru onda bi preneli 01h podatak u akumaltor.
Programski dostupni registri:
Predstavljaju registre u procesoru koji se mogu koristiti za adrese operanda u simboličkom
zapisu instrukcija,a to su:
DR, AR, PC, PSW, SP.
Oznake programski nedostupnih registra se ne smeju koristiti kao adrese operanda. Nijma se
može pristupati hardverski ili posebnim instukcijama, a to su:
MAR, MDR, IR, ACC.
ADD MAR, LOAD IR ....
Zadatak 2. Arhitektura pocesora ima dvoadresni format instrukcije, tako da prvih 4 bita
predstavlja kod instrukcije (OC), sledećih 6 bita predstavlja izvorišni (SRC1) a u isto vreme i
odredišni operand (DST), dok zadnjih 6 bita predstavlja drugi izvorišni operand (SRC2).
Instrukcije koje koristi procesor su artimetičke operacije +,-,*,/ kao i instrukcije
upisa/prosleđivanja podatak u/iz akumulatora. Kod instrukcija sa radom akumulatora, drugi
izvorišni operanda (SRC2) se zanemaruje (ne piše se).
a) Projektovati skup koda instrukcija i svakom dodeliti simboličko značenje.
b) Ako se zna da postoje 6 načina adresiranja koliko bitova treba rezervisati za kod načina
adresiranja (AM) u adresi opernada.
c) Na koliko se maksimalno memoriskih lokacija mogu pristupiti podaci u memoriji kod
direktnog memoriskog adresiranja, ako je broj bitova za AM određen na osnovu
predhodnog zadatak pod b)
15... ...12 11... ...6 5...
...0
11... ...9 8... ...6
Spec. adrese
Rešenje:
a)
b) Format instrukcije je dvoadresni sa dužinom instrukcske reči 4+6+6=16 bita.
Da bi procesor znao koji je način adresiranja upitanju, moramo rezervisati najmanje 3 bita za kod
načina adresiranja (AM). Sa 3 bita imamo ukupno 8 konbinacija, pa će dve konbinacije ostati
neiskorišćene.
c) U adresnom delu nam još ostalo 3 bita za specifikaciju adrese. Kod direktnog mem.
adresiranja specifikacija adrese predstavlja adresu operanda koji se nalazi u memoriji. Sa 3 bita
možemo predstaviti prvih mem. lokacija u memoriji.
Udaljim zadacima podrazumevaćemo arhitekuru računara prema ovom zadatku, dakle
dvoadresni format dužine 16 bita (4+6+6). Imamo 6 instrukcija i 6 načina adresiranja na
osnovu predhodnog rečeno. Podrazumevaćemo da u našoj arhitekturi imamo 4 regista DR i 4
registra AR i da su svi registri i memoriske lokacije u memoriji dužine 16 bita.
sabiranje 0000 ADD
oduzianje 0001 SUB
množenje 0010 MUL
deljenje 0011 DIV
ubacivanje podatka u
akumulator
1000 LOAD
prosleđivanje podatka
iz akumulatora
1001 STORE
OC SRC1/DST SRC2
AM
Zadatak3. Data je instrukcija:
ADD DR3, (AR0).
Tokom faze izvrsavanja instrukcije formiranje adrese i čitanja operanada za drugi izvorišni
operand SRC2.
a) Nacrtati na blok šemi procesora tokove prenosa signala
b) Blok dijagrame toka ovih prenosa
c) Na osnovu bloka dijagram toka, dijagram toka upravljačkih signala
d) Upravljačku jedinicu na osnovu diajgram toka upravljačkih signala
Rešenje:
a) Instrukcija izvršava sabiranje podatak u registru DR3 (registarsko direktno) i podatka u
memoriji čija se adresa čuva u registru AR0 (registrasko indirektno), a zatim se rezultat sladišti u
registar DR3.
Faza izvršavanja instrukcije formiranje adrese i čitanja operanada za SRC2 za registrasko
indirektno je:
Kod aritmetičkih instrukcija sabiranja, oduzimanja, množenja i deljenja operandi se skladište,
odnosno prosleđuju iz:
Ako je prvi izvorišni operand (SRC1) u pitanju, onda se sadržaj iz adrese izvorišnog operand
skladišti u pomoćni prihvatni registar X ALU-a
Ako je drugi izvorišni operand (SRC2) u pitanju onda se sardžaj iz adrese izvorišnog operand
skladišti u pomoćni prihvatni registar Y ALU-a
Ako je odredišni operand (DST) u pitanju, onda sadržaj iz pomoćnog prihvatnog registra Z
ALU-a prosleđuje u lokaciju na adresi odredišnog operand.
Kod instrukcija sa radom akumulatora:
Za LOAD instrukciju, operand je izvorišni (SRC1), onda se sadržaj iz adrese izvorišnog operand
skladišti u ACC registar.
Za STORE instrukciju, operand je odredišni (DST), onda iz sadržaj ACC registra. prosleđuje u
lokaciju na adresi odredišnog operand.
U našem zadatku posmatramo SRC2 operand, pa se sadržaj iz adrese operanda skladišti u
prihvatni registar Y ALU-a, pokazanoj na predhodnoj slici kao poslednji proces 3.
b)
Na osnovu slike pod a) procesi koji se sukcesivno realizuju za fazu formiranje adrese i čitanja
operanada za drugi izvorišni operand je:
c) Dijagram toka upralvjačkih signala je:
Gde oznake predstavlaju upravljačke ulaze registra koje treba aktivirati u tom procesu. Na primer
za prvi u nizu proces, oznake outAR, inMAR pokazuju, da u tom procesu potrebno aktivirati
upravljački ulaz in registra MAR kako bi omogućio prenos sadržaja sa interne magistrale
procesora u MAR registar, pri aktivaciji upravljačkog ulaza out AR0 registra kojom se sadržaj
AR0 prosleđuje na internu magistralu.
d) Upravljački jedinica za ovu fazu se realizuje prema toku dijagrama upravljačkih signala pod
c). Predpostavićemo da je upis sadržaja iz jednog registra u drugi trajanja jednog osnovnog takta,
pa će nam kontrolni signal koji se prosleđuje duž filp flpova, najmanje trajati jedan osnovni takt
procesora. Kada u fazi izvršavanja postoji ciklus čitanja ili upisa, deo upraljačka jedinice koji
generiše signale za proces pre ciklusa upisa , za ciklus čitanja/upisa i proces posle toga, se
sažimaju pomoću jednog RS flip flopa pokazanog na sledećoj slici:
D flip – flop se vezuje na kraju, da bi sprečio mešanje upravljačkih signala sa ulazom sledećeg
upravljačkog bloka u nizu.
Blok šema upravljačke jedinice za fazu formiranje adrese i čitanja operanada za drugi izvorišni
operand:
Zadatak4. Data je instrukcija:
STORE (ocena).
Tokom faze izvrsavanja instrukcije formiranje adrese i čitanja operanada
a) Nacrtati na blok šemi procesora tokove prenosa signala
b) Blok dijagrame toka ovih prenosa
c) Na osnovu bloka dijagram toka, dijagram toka upravljačkih signala
d) Upravljačku jedinicu na osnovu diajgram toka upravljačkih signala
Rešenje:
a) Instrukcija STORE ima samo odredišni operand (DST). U ovom slučaju imamo memorijski
indirektan način adresiranja. Dakle, vrednost sadržaja akumulatora skladištimo u memoriskoj
lokaciji čija se adresa nalazi, kao sadržaj, u memoriskoj adresi koja pokazuje specifkacija DST-a.
b)
c)
(Napomena: Primetimo za prvi proces (DST → MAR ) da se sadržaj specifikacije iz IR registra
implicitno prebacuje u registar MAR pomoću jednog pomoćnog registra DST.)
Kada imamo izvorišni operand (SRC1 i SRC2), zadnja dva procesa se realizuje tako što se prvo
izvrši ciklus čitanja pa se onda sadržaj MDR prosleđuje registrima procesora.
Kada imamo odredišni operand (DST), zadnja dva procesa se realizuje tako što se prvo iz datog
registra procesora izvrši prenos u MDR, pa zatim se realizuje ciklus upisa.
d)
Zadatak5. Data je instrukcija:
DIV cena, (0002h).
Tokom faze izvrsavanja instrukcije formiranje adrese i čitanja operanada za prvi izvorišni
operand SRC1.
a) Nacrtati na blok šemi procesora tokove prenosa signala
b) Blok dijagrame toka ovih prenosa
c) Na osnovu bloka dijagram toka, dijagram toka upravljačkih signala
d) Upravljačku jedinicu na osnovu diajgram toka upravljačkih signala
Rešenje:
a) Za memorisko direktno adresiranje tokovi procesa su:
b) c)
d)
Zadatak6. Za fazu formiranje adrese i čitanja operanada za instrukciju ADD, uporedno za
registrasko direktno i neposredno ardresiranje izvorišnog operanda (SRC1) odrediti:
a) Nacrtati na blok šemi procesora tokove prenosa signala
b) Blok dijagrame toka ovih prenosa
c) Na osnovu bloka dijagram toka, dijagram toka upravljačkih signala
d) Upravljačku jedinicu, tako da istovremeno opslužuje oba načina adresiranja.
Predpostavićemo da je kod adresnog moda (AM) 000b za registarsko direktno
adresiranje, a za neposredno adresiranje vrednost koda AM je 110b. (podsetiti se zad.2)
Rešenje:
a) Za oba načina adresiranja tok prenosa signala je:
b)
c)
d) Adresa prvog operanda SRC1 (vidi zadatak 2.) predstavljaju bitovi od 6. do 11. reda u IR
registru, sa tim da su prva tri viša bita (ir11, ir10, ir9) rezervisana za adresni mod (AM). Na
osnovu njih se zadaje način adresiranja. Na osnovu zadataka, ako su ova tri bita 000b onda se u
specifikaciji nalazi redni broj registra podataka (npr 3.), ako su im vrednosti redom 110b, onda se
u specifikaciji nalazi vrednost operanda (ako stoji isto npr broj 3, sad on predstavlja samu
vrednost operanda). Pošto za oba načina adresiranja postoji samo jedan proces, upravljačku
jedinicu možemo realizovati samo pomoću jednog D flip- flopa. Pri tome moramo izvršiti
selekciju aktivacije jednog od dva procesa. Koji proces će biti selektovan zavisi od bitova ir11,
ir10, ir9 adresdnog moda SRC1 operanda. Odabir se može realizovati preko više ulaznih I
logičkih kola prikazanim na sledećeoj slici:
Zadatak7. Arhitektura pocesora ima dvoadresni format instrukcije, tako da prvih 4 bita
predstavlja kod instrukcije (OC), sledećih 6 bita predstavlja izvorišni (SRC1) a u isto vreme i
odredišni operand (DST), dok zadnjih 6 bita predstavlja drugi izvorišni operand (SRC2).
Instrukcije koje koristi procesor su aritmetičke operacije +,-,*,/, instrukcije upisa/prosleđivanja
podatak u/iz akumulatora, instrukcije upisa/prosleđivanja podatak u/iz vrha steka, jedna
instrukcija uslovnog i jedna instukcija bezuslovnog skoka.
a) Projektovati skup koda instrukcija i svakom dodeliti simboličko značenje.
b) Ako se zna da postoje samo memorijsko direktno i memorijsko indirktno adresiranje,
koliko bitova treba rezervisati za kod načina adresiranja (AM) u adresi opernada.
c) Na koliko se maksimalno memoriskih lokacija mogu pristupiti podaci u memoriji kod
direktnog memoriskog adresiranja, ako je broj bitova za AM određen na osnovu
predhodnog zadatak pod b)
Zadatak8. . Data je instrukcija:
LOAD (0005h).
Tokom faze izvrsavanja instrukcije formiranje adrese i čitanja operanada
a) Nacrtati na blok šemi procesora tokove prenosa signala
b) Blok dijagrame toka ovih prenosa
c) Na osnovu bloka dijagram toka, dijagram toka upravljačkih signala
d) Upravljačku jedinicu na osnovu diajgram toka upravljačkih signala