Prof. dr.
sc.
Slobodan Ribarić
NAPREDNUE ARHITEKTURE MIKROPROCESORA
Uporabu ovog sveučilišnog udžbenika odobrio je Odbor za znanstveno-nastavnu literaturu Sveučilišta u Zagrebu rješenjem broj 02-240/1-1990 od 21. ožujka 1990.
Nijedan dio ove knjige ne smije se � niti umnahti na bilo koji načn.
bez nakladnikova pismmog dnP"&rnja
Prof. dr.
sc.
Slobodan Ribarić
Redoviti profesor Fakulteta elektrotehnike i računarstva Sveučilišta u Zagrebu
NAPREDNIJE ARHITEKTURE MIKROPROCESORA
3.
izdanje
Zagreb, 1999.
© Prof.
dr. sc. Slobodan Ribarić. 1997.
Recenzenti Prof. dr. sc. Leo Budin Prof. dr. sc. Uroš Peruško Prof. dr. sc. Nikola Pavešić
Lektor Josip Živković
Crteži Zvonimir Feil
Nakladnik Element, Zagreb
Tisak KIKA
-
GRAF, Zagreb
PREDGOVOR DRUGOM IZDANJU Pred Vama je ponovljeno izdanje knjige koja je objavljena prvi put 1990.
godine u izdanju Školske knjige. Zagreb. Nakon sedam godina možda bi naslov knjige "Naprednije arhitekture mikroprocesora" trebalo promijeniti.
Razlog
tomu je brzi razvoj tehnologije visokog stupnja integracije i pojava procesora s novim arhitektonskim značajkama. U predgovoru prvom izdanju knjige na
pisao sam da pisanje knjige o arhitekturi mikroprocesora. ili što je još gore. o
naprednijim arhitekturama mikroprocesora. predstavlja za autora nezahvalnu avanturu punu opasnih zamki. Naime. uporabom programskih alatki vrijeme se oblikovanja i izrade procesorskog čipa skraćuje. tako da je vrijeme potrebno za tiskanje nove knjige dulje negoli je vrijeme potrebno za nastanak novog proce sora. Svjestan svega toga, odlučio sam se za opis arhitektonskih značajki koje su vremenske stalnice u ovom tehnološki nemirnom području naglog razvoja. Na taj je način usporeno zastarijevanje gradiva i čitatelju se nude opisi koji su tehno loški nezavisni. a čine temelj za razumijevanje naprednijih arhitektura. Tako će čitatelj u ovoj knjizi naći podrobno obrađene teme kao što su aritmetic7w-Iogička jedinica. pristupi njenom oblikovanju i načini ubrzanja njenog rada, mikropro gramiranje, prekidni sustav i obrada iznimaka, sinkroni i asinkroni sabirnički sustavi, virtualna memorija, priručna (engl. cache) memorija, te komponente
8-. 16- i 32�bitne arhitekture procesora. U završnom dijelu knjige opisan je
transputer koji predstavlja osnovni građevni blok visokoparalelnih računalnih sustava za posebne namjene. Knjiga je namijenjena studentima Fakulteta elektronike i računarstva Sve učilišta u Zagrebu te djelomično pokriva građu predmeta "Arhitektura i orga nizacija.digitalnih računala" i "Projektiranje digitalnih sustava". Knjiga može poslužiti i kao udžbenik na srarlnim fakultetima te studiju Poslovne informatike.
U Zagrebu, listopada 1997. godine Autor
SADRŽAJ 1. UVODNO POGLAVWE .. ....... . . . . . .. .. .. ... .. . . .. .. ... .... .. Ll. Mikroprocesor . . . .... .... .. .......... . .. .. . .. .. ...... . .... 1.2. Mikroračunalo i mikroračunalski sustav.. .. ...... ... .. .. .. ... ......
7 7 7
1.3. Kratak povijesni pregled mikroprocesora - mikroprocesorske generacije. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4. Smjer razvoja mikroprocesora i mikroračunala ................ . .... ..
II
Literatura. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
•
•
•
. .. .. . .. ....
1 4 1 5
2. MIKRORAČUNALO .. .. ......... ... .. .... ... .. .. .. ..... .. .... 2.1. Uvod. . . • . ... .. .. ......... ... .. ...... ..... .. .. . ... . .... 2.2. Memorijski moduli . . .... .... ... ...... . . ..... .. .. ....... . . .. 2.3. Ulazno-izlazni (UlI) moduli . . . . .... . . . . . . .. . ..... . ... . . . . .. . . . 2.4. Moduli posebne namjene .. .... ... .. .... .. . . ... .... .. ... . . . . .. 2.5. Sabirnice . .. .. .. .. ... ...... ... .. .. ....... .. .. .. ......... 2.6. Programska oprema . . ....... ... .. . ..... ....... .. .. .... ..... 2.7. Primjeri mikroraču1Ullskih sustava. ...... .. . . .. . . . .. . . .. . . .. . .... Literatura . . . . . . . . . . . . . • ... . . .. ...... .. ... .. .. ....... ....
16 1 6
3. POJEDNOSTAVLJENI MODEL MIKROPROCESORA. ... . . . . . . . . . . . . .. 3.1. Uvod. . . . . . . • . . .. . . . . . . . . . . . . .. .. . . . . . . . . . . . . . . . . . . . . .. 3.2. Pojednostavljeni model mikroprocesora . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3.3. Primjer izvođenja programa . . . . . . . . . . . . • . ... ..... .. .. .... . . . .. 3.4. Stanje na vanjskim sabimicama .... . .. ...... ..... .. .. . . .. ....... 3.5. Logički analizator . . .... . ... . . . . . . . . .. . ....... . . . . . .. . ..... Literatura. .. .. ........... ..... .. ... . .. ..... .. .. ..... ....
25 25
4. KOMPONENTE ARHITEKTURE 8·, 16· I32·BITNIH
MIKROPROCESORA .... . ..... ... ...... .. .. ... .... .. ..... . . ..
Akumulatori, skup registara opće namjene, adresni registri, status-registar, registri posebne namjene 4.1. Uvod ... . .... .. ....... . . . . . . . .. .... ..... .... ..... .. .. ..
4.2. Akumulatori . .. . . . .. .. . . .. .. ... .. ... . ....... .. ........... 4.3. Skup registara opće namjene . ... .. . .... .. .... ..... .... .. ... .... 4.4. Adresni registri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . , 4.5. Status-registar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • • . . . . . . . . . . . • 4.6. Registri posebne namjene . . . . . , ... .... .. . . . . . .. .. .. .. ... . . .... Literatura
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
•
S. KOMPONENTE ARHITEKTURE 8·, 16· I32·BITNIH MIKRQPROCESORA ................
: ........ . .. ...... .......
Aritmetičko logička jedinica, malemplički procesor ili koprocesor 5.1. Uvod . . . . .... . .. . '.' ...... .. ... . ......... ........... .
.
.
.
5.2. Aritmetičko-Iogička jedinica . ... .. ... ... . .. ... .. .. ...... ... .... Aritmetička sekcija. . . .... . . . . . . .. .. .. .. .. ... .... .... ... .. .. Zbrajalo sa predviđanjem bita prijenosa ...... . . .. ... .... .. .... . . . ..
Logička sekcija . ....... .. .... ........ : .. ... .... .. .. .... ... Množila. . . . .. .. ............ .... .. ......... .. ....... .... DjeIila . ... . .. .. .. ......... . .. .. .... .. ......... .. ....... Sklopovi za aritmetiku brojeva s pomičnim zarezom .. . . .. .... ... . ... .. .
5.3. Sklop za posmnk . .. ... . . .... .. . .... ...... ... . . . ... ..... .... 5.4. Akumulator. . .. .. .. ... .. .. . .. .. .. .. .. .. . .... . . .. ..... .... 5.5. Ubrzanja rada aritmetičko·logičke jedinice. . .... .. ... .. .... .. ... .... 5.6. Skup aritmetičko-Iogičkih instrukcija . ..... .... .. ... . . .. .. ......... 5.7. Matematički procesor MC 68881 .. . .. . .. .... .. ... . . .. .. ... .. .. .. Literatura. . . • • . . . . . . . . . . . . • . .. .. .... .. ...... . .. ...... ...
1 6
J6
17 17
19 2 1 2 2
25
27 35
37 39 40
40 40 4 4
50 62
69 72 73 73 73 74 75 78 82 86 88 88 91 91 94 98 105
6. UPRAVLJAČKA JEDINICA. . . .. . .... .... . .......... .. .. ........ 6.1. Uvod. . . . .. . . . . . . . ... . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . ..
106 106
...... .... . ..... . . . ....... ......
108
6.3. Strojni ciklus i stanje procesora. .. . .... ... .. .... . . ........ . . . . ..
117
6.4. Skup instrukcija, formati instrukcija i načini adresiranja . ... . ..... . ... ...
121
6.2. Mikroprogramiranje
.
•
•
.
.
.
.
.
..... . . .. . . ...... ... ........... ...
124
Izravno adresiranje memorije .................................. Posredno (indirektno) adresiranje memorije .. ..... ...... . . ..........
1 25
Uključno adresiranje registara . . .... .... . ................ . ... ...
129
Odnosno (relativno) adresiranje ... ... .... ........ . . . . ..... . .. . ..
129
Izravno adresiranje registara
.
. ..
.
132
Literatura. . . .. . . . . .. . . .. . . . . . . . . .. . . . .. . . . . . . . . . . . .. . . ..
136
Usputno adresiran je
.
.
.
.
.
.
.
.
. ..
7. PREKIDNI SUSTAV MIKROPROCESORA 7 . 1. Uvod
.
.
.
.
. . .
.
.
. . .
7.2. Prekidni sustav ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
125
.
.
.
.
.
.
.
.
.
.
.
.
.
... . ........ . ............
137
. . . , ........ . .. . . . ..... . ... ..
137
'. . ....... ... . .. .... . .. . ..
137
.
.
.
.
.
.
.
7 . 3. Prekidni sustav INTELA 8080 - preteča prekidnih sustava naprednijih arhitektura
.
. ..
.
.
.
.
.
. . .
.
.
.
.
.
..
7.4. Organizacija prekidnog sustava s automatskim pohranjivanjem
.
.
.
.
.
.
.
.
.
.
.
sadržaja radnih registara- mikroprocesor MC 6800 . . . . . . . . . . . . . . . . . . "
138
144
7.5. Prekidni sustav osmobitnog mikroprocesora naprednije
arhitekture- mikroprocesorZ-80 . . . ..... ...... .... .... . . .... . .. . .... . ........ . . .. .
7.6. Prekidni sustav I6·bitnog mikroprocesoraINTEL8086
7.7. Ob rada iznimaka- mikroprocesorMC 68000 . 7.8. Obrada prekida zaMC 68000
.
145 146
. . . . . ..
149
. . .. . .... .... .. . . .. . .. ...........
153
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
•
7 . 9. Inačica obrade pre k ida zaMC 68000 . . ... . . .. . .. ... . . . . ... . ... . 7.10. Obrada iznimke praćenja(Trace) 7.11 . Višestruke iznimke zaMC 68000
1 56
"
.. . . ............ .... ........ ...
157
. . . . .. . . . . .... .... . .. . . . . .... .. .
1 60
.
7.12. Organizacija prekidnog sustava32-bitnog mikroprocesora
.
.
160
Literatura . . . . . . . . . . . . .. . .. . . .. . . . . . . .. . .. . . . . . .. . . . . . . ..
163
INTEL80386
.
.
.
.
.
.
.
.
.
.
.
.
.
. ..
.
. .
.
.
.
.
.
.
.
.
.
..
.
.
..
.
.
.
.
.
.
.
.
8. POSEBNE ZNAČAJKE ARHITEKTURE 8-, 16- I32-BITNDI MIKROPROCESORA ............. . . . ... ........... . .. ... .. .. .
8.1. Uvod .
.
.
.
.
.
.
.
.
.
8.2. Protočna arhitektura
.
.
.
.
.
•
.
.
8.3. Priručna (cache) memorija 8.4. Virtualna memorija.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
"
.
.
.
.
.
.
•
.
.
.
.
.
.
.
.
.
.
.
.
.
.
•
.
.
.
.
.
.
.
.
.
.
.
.
"
.
.
.
•
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
"
......... .. . . ... . . ...... . .. ..... . ......
8.5. AlgoritamBinary Buddy
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
•
. . . . . . . . . . ..
8.6. Memorijskaupravljačka jedinicaMC 68451 ...... .... . . . . .... ... ... .
Literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . " .
9. SABIRNICE .
.
.
.
.
.
.
.
.
.
.
.
.. .
.
.
.
.
.
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
"
16 5 165 16 5 16 9 17 5
186 191 198 2 00
9.1. Uvod. .. . . .. . .. ............................ . ... . .......
200
9.2. Sinkrona i asinkrona sabirnica.
205
.
. . .......... .. ....... ........ ...
9.3. Asinkrona sabirnica- vrste sabirničkih ciklusa za16- bitni
mikroprocesorMC 68000 .
.
.
.
..
.
. .
.
...
.
.
.
.
.
.
.
.
.
....
.
.
.
.
.
.
.
.
."
9.4. Sabirnički standardVME . ........ .... . .... . . ... . . ... . ........
Literatura .... . . ...... ........ .. .. . ........ . .... ..... . " .
10. TRANSPUTER
..
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Transputer iOCCAM
.
.
.
.
10 . 4. Komunikacija transputera.
.
.
.
10.1. Uvod
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . ..
.
.
.
.
.
.
.
"
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
•
.
.
.
"
.
.
.
10.2. Arhitektura transputera . ... ...... . . .... . ... . .. .. . . . .. . .. .....
10.3.
10.5. OCCAM . . . . . . . . 10.6. Model transputeraT4J4 .
Literatura .
.
.
Kazalo pojmova.
.
.
.
.
.
.
.
.
.
.
.
.
•
.
.
.
.
..... ... .. ......... .. . . . . . ... .. . .. .
..
.
•
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. ..
.
.
.
•
.
. ..
.
.
.
.
.
.
.
.
.
.
.
.
..
.
.
.
.
.
.
.
.
_
.
•
. . . ...
. . . . . ..
... . .. . ... ... .... . . . .... . . . . . . .. . .. .
.
.
.
.
.
.
.
.
•
.
.. . . ... . .. . . . . .. . . . . "
.. .......... ....... . .. ... . . ............... "
207 215 220 22 1 221 221 222 225 2 25 22 6 228 229
1 . UVODNO POGLAVLJE 1.1. Mikroprocesor je složeni programski upravljivi sklop koji pribavlja, dekodira i izvršava instrukcije. Dakle, mikroprocesor odgovara po funkcij i i namjeni cen tralnoj procesnoj jedinici digitalnog računala. On se izvodi u tehnologiji visokog ili vrlo visokog stupnja integracije (LS I - Large Scale Integration , VLSI Very Large Scale Integration) . Mikroprocesor
Većina s e mikroprocesora izvodi kao jedan čipI, a neki se ostvaruju s više čipova (npr. 32-bitni mikro procesor iAPX 432) . Mikroprocesor saobraća s memorijskim i ulazno-izla znim modulima digitalnog sustava: pribavlja instruk cije ili naredbe, te prima, obrađuje i šalje podatke .
Mikroprocesor, kao centralna procesna j edinica, ima sklopove za rukovanje podacima i upravljačke sklopo-
sklopova za dekodiranje koji dekodiraju opera cijski kod instrukcije i pobuđuju slijed upravljač kih signala2,
D
o
sklopova za vremensko vođenje i upravljanje
koj i, pobuđen i signalima vremenskog vođenja osnovnog generatora, daj u unutrašnje i vanjske upravljačke signale za vremensko vođenje, sinkro nizaciju i upravljanje prijenosom podataka. Slika 1.1 prikazuje pojednostavnjenu blok-shemu dvaju 16-bitnih mikroprocesora s označenim kompo nentama za rukovanje podacima i upravljanje .
1.2. Mikroračunalo i mikroračunalski sustav
ve.
Sklopovi za rukovanje podacima o
aritmetičko-Iogičke jedinice
sastoje se od : koja izvodi aritme
tičke i logičke operacije, o akumulatora koji se upotrebljavaju za privre meno pohranj ivanje operanada što sudjeluju u aritrnetičkim ili logičkim operacijama, te za privre meno pohranjivanje rezultata i ulazno-izlaznih. po dataka, D registara opće namjene za pohranj ivanje opera nada i međurezult�ta, D registara uvjeta ili status-registara gdje se poje dini bitovi automatski postavlj aju prema rezulta tima operacij e aritmetičko-logičke jedinice ili sta nja centralne procesne j edinice , o adresnih registara koji sadrže adresu u postupku pribavljanj a podataka ili instrukcija, D relokacijskih ili segme n,tnih registara koji se upo trebljavaju kao kazala za pojedine memorijske segmente u memorij skom prostoru . Mikroprocesori, već prema arhitekturi imaju sve ili samo nekt' od nabrojenih komponenata.
je računalo koje ima centralnu procesnu jedinicu izvedenu u tehnologiji VLSI ili LSI, memoriju s izravnim pristupom (RAM Ran dom Acces Memory), ispisnu memoriju (ROM Read Only Memory) , ulazno-izlazne (UlI) međusklo pove, generator signala vremenskog vođenja, po moćne sklopove (izvor napajanja, sklop za upućiva nje i sl . ) . Mikroračunalo može imati i druge module posebne namjene, kao što su npr. memorijska uprav ljačka jedinica (MMU - Memory Management Unit), koprocesor ili matematički procesor, procesor za izravni pristup memoriji (procesor DMA) i sl.
. Mikrororačunalo
-
-
Mikroprocesor j e konstruiran tako da preko sabir nica (engl. bus) saobraća s memorijskim modulom, modulom UlI i s modulima posebne namjene. Sabir nica koja predstavlj a komunikacijski put između mikroprocesora i ostalih modula mikroračunala obično se naziva vanjska sabirnica3• Vanjska sabir nica zapravo je skup linij a koje su grupirane po namjeni, tako da govorimo o adresnoj sabirnici, sabirnici podata ka i upravljačkoj sabirnici. Slika 1.2. prikazuje blok-shemu mikroračunala.
Upravljački sklopovi sastoje se od:
posebnog adresnog registra programskog bro koje sadrži adresu sljedeće instrukcije, D instrukcijskog registra gdje se nalazi operacijski kod instrukcije koj a se upravo izvršava, D
-
jila
o
niza registara pretpribavljenih instrukcija,
I C:ip je elektronički sklop oblikovan u tehnologiji VLSI u skladu s mikronskim ili podmikronskim pravilima, dimenzija 6 x 6mm (i većim) i ima više od 50 tisuća aktivnih komponenata. , Upravljačka jedinica mirkoprocesora obično je ostvarena kao mikroprogramirana jedinica (pog. 6) 3 Upotrebljava se i izraz »sabirnica mikroračunala •.
8
Naprednije arhitekture mikroprocesora registri podataka
ROI
RDD
RD2
I�
31
-.
..
DO-DI5 -y
sabirnica
pOdataka
RD7
(
7
O
RAl
-- -
I
15
�I
RAO
� iV'
"'r-
adresna
sabi�ic
A I-A23 �
f--.
stoga - p rogr a mske brojilo kazalo stoga
RAJ
kazalo
RA7'
PC
...
10;
�
n
registar uYjeta
v
r
-logička
I
SR
-....
�� I
instrukcijsld regIstar
linije zahtjeva za prekid
upravljački si g n a l i (sabirničkj)
3
l
,.A---
'\.)'
BR
HLT
� VPA
jedinica
upraylja1'ka
2
jedinica
AS R!W BG
E
VMA
> CIk
f-
/
DTACK
BGACK
aritmetička
RESET
4
1
>
linije za biranje_
podataka UDS, LDS
upravljački
signali
SI. 1.1. Pojednostavnjena funkcionalna blok-shema dvaju 16-bitnih +SV/GND
mikroprocesora (MC 68000)
Vrlo se često pojam mikroračunala i mikroračunalski sustav poistovjećuju. Mi ćemo pod mikroralunalskim sustavom razumijevati mikroračunalo s raskošnijom periferijom (npr. prikazna jedinica s katodnom cije vi, diskovna jedinica, pisač) i nešto jačom program skom opremom (DOS - diskovni operacijski sustav). Razvoj tehnologije VLSI omogućio je izvedbu »mi kroračunala u jednom čipu« (engl. »microcomputer on-a-chip«) koji osim centralne procesne jedinice
imaju memorije RAM i ROM, UlI međusklopove, generator signala vremenskog vođenja, programa biIne vremenske sklopove i slično na istom čipu (npr.
mikroračunala Intel 8048, TMS 9940, Motorola
6801).
9
Uvodno poglavlje
EU - jedinica za jzvođenje instrukcija i upravljanje
15
AL BL
AH SH
CL
CH
DL
DH
kaz a la stoga kazalo baze
iz'Vorni indeksni reg.
]l
odredišni indeksni ,eq.
O
I
,
I
I I I I
SP
BP SI
, DI
jedinica
55
kazalo instrukcije
.
,-'
I I I
T O
\{
CS
segmentni reg. stoga seqmentni reg. podataka
I
-loQička
u"-'jeta
sabirnički meduskiopi
upravljanje
I I I
V
I
TEST
)
-l
l inii e
ADiS-ADa
RD LOCK/WR
, egistri
3
I .
I
'/
<
pretpribavljenih instrukcija
4
I
I I
S/SHE AI6-AI9/\-S�
I
I
2
(prog" msko b,ojilo}
2
I I
HDLDlimlm
DS
lP
-
I
H OLDA/RQ/GT I
ES
kodni secmentni rea.
I
aritmetičl
,r
senmentni Dosebni reo.
I
"-
registar
15
I
\' ",0' ' ,/J 15
I
I
I
SfU - jedinica za sa sabirni com
povezivanje
st anje
S2-S0
(FIFQ
S
struktura)
6
�o;,
•• M,m
3
upravljačka jedinica
IN T R NMI QS -QS O
/ALE,
'�
INTA
2
3
x ::;:
> O
::;:
ct
Z �
SI. 1.1. Pojednostavnjena funkcionalna blok-shema dvaju J6·bitnih mikroprocesora
(Intel 8086)
... Q
vanjska sabirnica (sabirnica mikrora�unala)
!
(adresne linije, l inije po d a ta ka , upravljačke linije)
moduli posebne na m j ene
MMU, k oproce sor
mikroprocesor
CPU u
VLsIlLSI
RAM modul
tehnologijI
ROM modul
U/l moduli
generator
sklop za up ući vanj e
(RESET)
l)
s I gnala vremenskcg
vođenja I)
paralelna iserijska
komunikacija
s
vanjskim svij e t om
novl l i mikroprocesori imaju generator signala vremenskog vodenja izraden na sa mom mikro procesor.kom čIpu
�
"I::l
�
§-
.::: . .. ' I:>
3-
�.
� nl
�
.g Sl. 1.2. Blok·shema mikrora�unala
�
il
11
Uvodno poglavlje
1.3. Kratak povijesni pregled razvoja mikroprocesora - mikroprocesorske generacije
Tablica 1.1. Predstavnici prve generacije mikroprocesora 4-bitni mikroprocesori Intel 4004 Intel 4040 Fairchild PPS-25 National IMP-4 Rockwell PPS-4 Microsystems Intel MC-l
Povijest mikroprocesora započinje početkom 1971.
godine kada je tvrtka Intel Corporation dala na
tržište Intel 4004, tzv. »mikroprogramabilno računalo
na čipu«
(engl. »micro-programmable computer on a
8-bitni mikroprocesor
chip«). Bio je to 4-bitni uređaj izveden u P-kanalnoj
Intel 8008 National IMP-8 Rockwell PPS-8 Ami 7200 Mostek 5065
MOS tehnologiji i imao je oko 2300 tranzistora
integriranih na čipu. Intel 4004 imao je skup od 45 instrukcija.
Prvi 8-bitni » pravi«
mikroprocesor
pojavljuje
se
na
tržištu 1972. Bio je to Intel 8008, tvrtke Intel Corpo
16-bitni mikroprocesor
ration.
U toku sljedeće dvije godine pojavili su se još i danas
National National
vodeći 8-bitni mikroprocesori Intel 808 0 , Motorola
MC6800 i drugi. Od tada
nastupa
nezaustavljiv raz
voj mikroprocesora. Zahvaljujući napretku tehnolo gija LSI i VLSI, mikrop rocesor
postaje
simbol
treće
industrijske revolucije. Za petnaest godina razvoja
broj komponenata na mikroprocesorskom čipu pove
ĆilO se
za dvije stotine puta
(! l),
frekven cij a signala
vremenskog vođenja se povećala za pedeset puta, moć obrade za dva do tri reda veličine.
a
U početku mikroprocesori su bili zamišljeni kao
upravljački sklopovi i bili su namijenjeni zadacima
sustavima za
u
upravljanje procesima. Imali su ograni
čen skup instrukcija i programirali su se izravno u strojnom jeziku. Međutim,
razvoj
tehnologije LSI, razvoj arhitekture
procesora, upotreba viših programskih jezika, pove
ćanje računske moći i prilagodljivosti doveli su do
prave eksplozije primjene mikroprocesora.
-7 Prema značajkama tehnologije i arhitekture mikro procesori se mogu razvrstati u četiri generacije: •
Prva generacija mikroprocesora većinom je bila
izvedena u PMOS tehnologiji. Mikroprocesorski čip je imao šesnaest priključaka, a procesor sve
značajke interne jednosabirničke arhitekture. Mi
kroprocesQri
su bili namijenjeni
za
jednostavnije
industrijske primjene, jednostavne uređaje opće namjene i jednostavnije uređaje Tablica
1.1
posebne namjene.
sadrži pregled predstavnika mikropro
cesora prve generacije.
Zanimljivo je da se već u prvoj generaciji mikro
procesora pojaVljuju šesnaestobitni mikroproce
sori (krajem 1974.godine). Međutim, ti bitni mikroprocesori ostali
su u
šesnaesto
sjeni 8-bitnih
i mali izravno
!ls)
(od 32
do 64 K
IMP/16 PACE
adresabiIni
riječi).
memorijski prostor
ostvarena je u se 1973. godine. Osnovne su značajke druge generacije: veća po vršina čipa, čip s četrdeset ak priključaka, moguć nost izravnog adresiranja 64 K memorijskog pro Druga generacija mikroprocesora
•
tehnologiW NMOS i pojavljuje
stora, beže izvođenje operacija, snažniji skup ins
trukcija, više razina gniježđenja potprograma, bo lje rukovanje prekidom.
komponente
vratima), veća 5
K
Osnovne elektroničke
su brže (vrijeme kašnjenja 15 ns po
je
gustoća njihove
i ntegracije (4 do
aktivnih komponenata na čipu) i imaju manji
potrošak. Pojavljuju se i mikroprocesori ostvareni
u tehnologiji CMOS koji imaju krajnje malen
potrošak (za razred veličine manji nego NMOS) i veliku neosjetljivost na šum (npr. mikroprocesor
. COSMAC 1802 tvrtke RCA,1974).
U drugoj generaciji pojavljuju se mikroprocesori s
jedinstvenim napajanjem od +
5 V,
sa sklopovima
za generiranje signala vremenskog vođenja integri ranim na istom čipu, te sa sklopovima za osvježa
vanje dinamičke memorije (npr. mikroprocesor
Z80 tvrtke Zilog, 1978).
Tablica 1.2 daje pregled reprezentativnih mikro
procesora
druge generacije.
Ubrzo nakon pojave prvih mikroprocesora
generacije
pojavila se na tržištu
iz d ruge
(1974) posebna vrsta
mikroprocesora - bitovni odresci5 (engl. bit-slice).
Mikroprocesori na osnovi bitovnih odrezaka razli
kuju
se od mikroprocesora
s određenim instrukcij-
mikroprocesora i napora što su ih proizvođači i
konstruktori ulagali
u
razvoj 8-bitnih mikroproce
sorskih porodica. Osnovne značajke 16-bitnih mi
kroprocesora prve generacije jesu relativno sporo
izvođenje instrukcija (vrijeme izvođenja od
2 do
8
NMOS predstavlja visokog.stupnja integracije i velike
• Tehnologija
, Nazivaju
najbolji brzIne.
kompromis između
se ibitovni režnjevi ili bitovne kriške.
Naprednije arhitekture mikroprocesora
12
Tablica 1.3. Pregled bitovnih odrezaka
Tablica 1.2. Predstallnici druge generacije mikroprocesora 8-bitni
mikroprocesori
Intel 8080 Intel 8085
Motorola MC6800 Motorola MC6809 RCA COSMAC CDP
MOS Tech. 6500
1802
Naziv serije
Tehnologija
Advanced Micro Devices
2900
Schottky TIL
4
16,67
Fairchild
Macrologic
Schottky TIL ICMOS
4
10
Motorola
FlOO220 MC 10800 MC 10902
ECL ECL ECL
8
Zi10g Z80
12-bitni mikroprocesor Intersi! 6100 Toshiba TLCS-12 1 6-bitni
m ik roprocesor
TI TMS 9900
DEC W.D.MCP-l600 General Instrument CPl600 Data General !!N601
skim skupom po svojstvenom pristupu arhitekturi. Funkcije upravljanja i obrade podataka ovdje su izdvojene na različitim čipovirna. Upotreba bitovnih odrezaka kao osnovnih građevnih blokova omogu ćuje izvedbu mikroprocesora proizvoljne duljine ri ječi (npr. 12, 24, 28, 4& bitova) , dok upotreba mikroprogramiranja omogućuje oblikovanje skupa instrukcija koji odgovara korisnikovim aplikacij ama. Osnovna struktura bitovnog odreska jest sklop RALU ( Register Arithmetic Logic Unit) koji se sastoji od: - aritmetičko-Iogičke jedinice, - skupa registara, - međuregistara s multipleksorima za ulazne i izlazne linije. Povezivanjem sklopova RALU u kaskadu dobiva se procesna sekcija potrebne duljine riječi. Upravlj ačka sekcija je ostvarena s posebnim čipo virna i sastoj i se od: -
mikroprogramskog sljednika, mikroprogramske memorije, sklopova izborne logike, protočnih (engl. pipeline) registara.
Mikroprocesori na bazi bitovnog odreska izvedeni su u brzim bipolarnim tehnologijama i upotrebljavaju se kao osnova procesora u sustavima gdje se zahti jeva veća brzina obrade (npr. sustavi za obradu u stvarnom vremenu). Tablica 1 . 3 daje pregled bitovnih odrezaka. Treća generacija mikroprocesora j e generacija 16-bitnih mikroprocesora. Prvi mikroprocesor iz te treće generacije (j avlja se 1978) je 16-bitni mikroprocesor Intel 8086. Ostvaren je u tehnolo•
Duljina Frekvenriječi cija MH,
Proizvođač
4 8
50
20
50
RCA
EPCI
CMOS/SOS
8
10
Sig�tics
3000
Schottky TIL
2
10
LPSTIL
4
10
TI
54n4S48l
giji HMOS (engl. high-performance MOS) i irna 29 K aktivnih komponenata. Njegov nasljednik Intel 80286, koji se na tržištu pojavio 1982, ima već 130 K aktivnih komponena ta. U treću generaciju mikroprocesora uvrštavaju se · i danas vodeći šesnaestobitni mikroprocesori Z8000 (tvrtka Zilog, 1979) i MC68oo0 (tvrtka Motorola, 1980) NS16016 (tvrtka National, 1981). Mikroprocesorski čipovi imaju 40, 48 ili 64 pri ključka na integriranom kućištu i imaju signale vremenskog vođenja frekvencije od 4 do 10 MHz. Arhitektura procesora s velikim brojea repstara, mikroprogramabilnom upravljačkom jediaicom te sklopovima za množenje i dijeljenje daje .. velike 'sposobnosti obrade; imaju raznovrsne aafiDe adre siranj a i skup instrukcij a koji prem:llŠajc razinu onog za miniračunala. Mikroprocesori � ar hitekturom podržavaju razvoj p� 11 višim programskim jezicima. Izravno adresabiini prostor miluoprUCCiLCa treće generacije irna l do 48 M bajun.... a lIpOUebom memorijskog upravljačkog sklopa (lOlU) može se još povećati (npr. na 64 M bajfDl"a)_ Tablica 1 .4 daje pregled osnovnih DDČ:iIjli 1I'Odećih 16-bitnih mikroprocesora treće gucaM ye • Cetvrta generacija mikroproc.e:so- je .-=ncija 32-bitnih mikroprocesora. 16-bimi ....ua:so r .. . MC 68000 sa svojom 32-bitnom il. adlitekturom predstavlja most iZmedR lJI:iie i ldvrte generacije mikroprocesora. PRi ...-. 32-bitni mikroprocesor pojavio se 1981 - ID je Imelov iAPX 432. Ostvaren je na tri čipa. MIiIa lOP su se pojavili Bellmac-32 (BeD Ula) iitWaIen na jednom čipu, HP-32 (Hewlett-l"xblll.. 1982). NS16032 (National , 1982) te MC 6III!D (IIoIorola,
13
Uvodno poglavlje Tablica 1.4. Osnovne značajke vodećih J6-bilnih mikropro cesora treće generacije Intel8086
Z8000
MC 68000
Intel80286
Int el
Zilog
Motorola
Intel
1978
1979
1979
1982
95
110
61
121
14
16
16
14
40
40/48
64
68
IM
48M
16M
16M
II
6
14
8
Frekvencija signala vr emen skog vodenja, MHZ
5
2,5-3,9
5-8
11--10
U nifor m na
-
-
Virtualna me m or ija
-
-
-6
+
+
+
+
+
+
+
+
+
+
+
+
+
-
Mikroprocesor Tvr t
ka
God. pojavljivanja Broj osnovnih
instrukcija Broj registara opće n a mjene Br oj priklju čaka
na
integralnom kućištu
Izravno a dre sabil o i prostor (bajtova) načioa adre si ra oja
Broj
adresabilnost
Osnovni tipovi podataka
- bajt ili riječ - dvostruka riječ - bi t - logički (bajt, riječ) - niz znakova - BCD (bajt) - podaci prikazani broj e m s pom ič-
-
+
-
+
+
-
+
+
+
+
+
-
-
-
-
+
nim zarezom
Struktura podataka: - stogovi
- polja
- zapis (recer d )
- nizovi
Osnovne upravljačke strukture:
- grananja - uvjetna grananja - pozivanje potp rograma - višeznačno grananj e - semafori - zamke - prekidi
6 Motorola MC
+
+
+
+
-
-
-
+
+
+
+
+
+
+
-
+
1984). Osnovne su zn ačaj k e arhitekture mikropro cesora četvrt e genera cij e razina arhitekture koja odgovara razini arhitekture centralno procesnih jedini ca velikih računala: protočnost , priručna (engl. c ach e ) memorija, virtualna memorija. Stu panj integracij e je izuzetno visok, npr. HP-32 ost varen je u tehnologiji NMO S i ima 450 K akti vnih komponenata integriranih na čipu. Fre kvencija signala vremenskog vođenja j e u g rani cama od 8 do 32 MHz. Virtualni adresni prostor je veličine 24() bajtova, a izravno adresa bi lni prostor jc od 224 do 232 bajtova . Broj os n ovnih instrukcija je od 82 do 230. Naprimjer, 32-bitni mikroprocesor MC 68020 ima ove zna čajk e :
- vir tu al nu mem orij u , - šcsnaest 32-bitnih registara pod a tak a i adresnih re gistar a , - dva nadgledna kazala stoga, - 32-bitno programsko brojilo, - pet upravljačkih reg is ta ra poseb ne na mjene , - 4 G (giga) bajta izravno ad resabilnog m e mor ij skog prostora, - dvije brzine obrade (signali vremenskog vođe nj a 12 i 16 MHz), - 18 načina ad r e sir anja , - sučelj e za koproc eso r , - prir u čnu me m o rij u , - obrađuje se d a m tipova p odataka , - aritrnetiku brojeva s p o mičnim zarezom podržanu kop roc esorom MC 68881, - protočnu arhitekt uru, - perform ansu oko 2 MIPS (Million Instruction per Se cond) .
Procesori četvrte generacije m i k rop roce sor a nami jenjeni su za centraln e p roce sne jedini ce velikih računalskih sus t ava , za primj e nu u distribuiranoj obra di u višek orisničkim okolinama.
Tablica 1.5 prik azuj e o snov ne z načaj ke četiriju 32- bitnih mikroprocesora četvrte generacije .
Na kr aj u ovoga kratkog p regled a mikroprocesorskih gen eracij a bilo bi zanimlj ivo pogled ati cij ene 8-, 16i 32-bitnih mikroprocesora.
Tablica
1.6 daje pregled cijena p oj edin ačn ih mikro
procesora (z a narudžbu od 100 k oma da) u stu de nom
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
68010 (1982.godina) ima virtualnu
memoriju
1985. g odine .
Zanimljiv je podatak koji ilustrira pad c ijena mikro procesora, npr. mikroprocesor MC68000 je 1979. stajao 249 $, Intel 8086 86 $, a mikroprocesor Z800a 139 $- nj ihove su se cijene de se te r ostru ko smanjile za nepunih šest godina (stu de ni 1985).
14
Naprednije arhitekture mikroprocesora
Tablica 1.5. Osnovne značajke mikroprocesora četvrte gene racije
Mikroprocesor
Tvrtka
Godina pojavljivanja Tehnologija
Broj aktivnih
komponenata
Potrošak
Frekvencija
signala vre-
vođenja
menskog
Izravno adresabiini (bajta )
prostor
instrnkcija
Broj osnovnih
Načini
adresiranja
Vrijeme po-
32-bitno cje-
trebnoza lobrojno
NSl6032 Na
tional
1982.
NMOS 60000
1,25W !o MHz 2"
82
Bel1mac-32 BeULabs
1982.
HP-32 iAPX432
�ewlettPackard
1982.
1981.
146000
450000
na 3 čipa
O,7W
10 MHz
4W
32-bitno
potrebno za
cjelobrojno
brojeva s pomičnim
169
1600 ns
400 ns
8.3�
9�
zarezom
7,1
tAS
64 bita
<1
5 ,49
RCA 1802 Intel 8085
16-bitni mikroprocesor cijena ($) mikroprocesor 10 21,5
Intel 8086 Intel80C86 MC68000 MC68010 Z8000
.5W/čipu
10
23 10-15
32-bitni mikroprocesori cijena (USA mikroprocesor
18 MHZ 8 MHz
299
Intel 80386 MC68020 232
2"
2"
241virt,
24Ovirt.
230
221
10
5
275 ns
500 ns
2,9 tAS
6,3 tAS
Nije sklopavski ostvareno
10AIlS 27,87 tAS 64 bila 80 bila
$)
3
Z80
219000
množenje Množenje
4 <1
MC 6800 MC 6802
Intel
zbrajanje Vrijeme
8-bitni mikroprocesori cijena (USA mikroprocesor
DOMINOCMOS NMOS HMOS
18
9
Tablica 1 .6. Pregled cijena (studeni 1985)
$)
325
Z80000
306
koprocesor MC68881 koprocesor Z8070
24
>240
1.4. Smjer razvoja mikroprocesora i mikroračunala Smjer dalj e g r azvoja mikroprocesora, odnosno mi
rezultanta j e složenog utjecaja tehnolo gije, razvoj a arh itekture sustava, razvoja programira; nja i programskih jezika,. te spleta utjecaja ekonom skih i drugih faktora. kroračunala,
Iskristalizirali su se sljedeći smjerovi razvoja: • dalji razvoj 16-bitnih i 32-bitnih mikroproceso r a i obogaćivanje njihovih porodica novim sklop o vima i progra msko m opremom, •
dalji razvoj mik roračunala
na
jednom čipu.
kuje se da će se početkom devedesetih godina pojaviti.
mikroračunalo
Oče
na jednom čipu s perfor
mansama današnjeg superračunal.a Cray-! (250
MIPS) , • razvoj arhite k ture RISC (Reduced Instruction Set Computer) (procesori 32-bitne i 64-bitne arhi te k ture s reduciranim instrutcijski.m skupom, s performansama od 6 do 10 MIPS),
• dalji razvoj proce sor a za obradu signala i mikro računala za obradu signala (analogna mikroračuna la),
Uvodno poglavlje • primjena tehnologije GaAs'i razvoj novih 32-bit nih i 64-bitnih mikroprocesora kao centralnih pro
cesnih j edinica vrlo velikih računala, •
•
dalji razvoj bitovnih odrezaka ,
razvoj mikroprocesora koji se po arhitekturi korjenito razlikuje od von Neumannovih proce sora - razvoj sistoličkih procesora i procesora upravljanih tokom podataka (engl. data-flow), •
razvoj
i
primjena visokoparaJeJnih sustava na
temelju transputera.
LITERATURA [l] S . Ribarić, Arhitektura mikroprocesora, Tehnička knji ga , Zagreb, 1985 . [2] N . A . Alexandridis, Microprocessor System Design Con cepts, Computer Science Press, 1984.
IS [3] H . D .Toong,A.M. Gupta, An Architectural Compari sion of Contemporary 16-bit Microprocessor, IEEE M i cro, maj 1981 , pp.26-37. [4] A.M. Gupta ,H.D .Toong, An Architectural Compari sion of 32-bil Microprocessor, IEEE Micro , februar, 1983 , pp . 26 - 37. [5] A . M . Gupta , H . D .Toong, Microprocessors - The First Twelve Years, Proc. of the IEEE, Vol.7 1 , No. l l , novem bar 1983 , pp . 1 236 -125 6 . [6] R.Appalaraj u , 32-bit Microprocessors Support ParaUe lism And Cache, Digital Design, august 1984 , pp . 96 105. [7] D .Smith , 32-b it - !AP Chips Offer System - like Benefits , EDN , septembar 19, 1985 , pp . 1 3 1 - 144.
[8] S . Ohr, Risc Machines, Electronic Design, januar lO, 1985 , pp 176 - 19 0 . [9] S.Ribarić, Arhitektura računala pete generacije, Teh nička knj iga, Zagreb , 1986. [lO] R . D avis,D .Thomas, Systolic A"ay Chip Matches The Place of High- Speed Processing, Electronic Design, oktobar 3 1 , 1984, pp. 207 - 218.
2.
MIKRORAČUNALO
2. 1 . Uvod Mikroračunalo (51 . 1 .2) o
sporij i , ali j oš u većini slučajeva d ovolj n o brzi , j e ftin iji (odnos cij ene po p oh r an j e n o m bitu j e 4 : 1) , o većeg s tu pn j a in t e gra cij e , cl m a n j e g p o tro š ka . . Memorij a RAM može se ra�vrs tati i na : o
sas t avlj en o je od više m odu l a :
mikroproce sora , mem o ri j sk i h modula , o u l a z n o-i zl azn i h m o du l a , cl mod u l a p o se b n e n a mj e n e ( k oproce so r , MMU m e m o rij s k a u pr av lja čk a je d in ica, procesor DMA, . programabiini vremenski sklop) , o po m o ćn i h sklopova (izvori napajanj a , s kl o p za upućivanj e , gen e r a to r i signala vremenskog vođe nj a ). cl
Mikroprocesor uj ed i nj uj e u s ebi računske sposobno sti i s po s o bn o s ti donoše nj a odluke - izabire jedan od
obrade ili dj e lo vanj a . Za nj e go vo normalno dje l ovanje ( izvo de nj e programa, saobraća nje s va n j sk i m svij e to m ) n užn i su d od a t n i m od u l i . s mj e rova dal j e
2 . 2 . Memorijski moduli
U m e m o r ij s k om modulu , koj i se obično o s tv a r uj e s
čipova , p ohra nj e n i su programi (nizovi instrukcij a) i podaci . I j e d n i i drugi su pohranj eni u istom - b i n ar n o m o bl i k u . više m e m o rij s k ih
Me morij a p re m a izbrisivosti , odnosno sp osobno st i traj nog ču va n j a po da t a k a k oj i su po h ra n j e n i u nj oj može se ra zv rst at i u :
izhrisivu memoriju RAM (Ra n d o m Access Me mory) - me m orij u s izravnim pr i st u po m koj a se upotreblj ava za pohranj i vanje po data k a što se mij enjaju u toku izvo đ e n j a programa . Iz m e m o rij e RAM možemo čitati i u nju upisi va t i . Medutim, ona ima j edan n e dos t a t ak - pri nestanku n ap aj a nj a e
briše se i njen sadržaj . o n e i z b ri s i vu i li isp i s n u m e m o rij u R OS ( R e ad O nl y S t or e ) ili RO M (Re ad Only Memory) .
(:ipovi RAM m o gu se re a lizirat i u bipolarnoj ili tehnologiji. B i p ola rn e me morij e su brže , ali i m a j u manju gu s t oću i n tegracij e , veću cije nu i veći po t ro š a k . UObičajene te h no l og ij e su TIL i ECL. Me m o rij s k i moduli na bazi bipo l a rn ih čipo va o b i čn o su namij enjeni za p ose bne module velike b rzi n e , za pr i ru č n e m em o rij e i m ed us p re m n i ke .
MOS
Za memorijske module većeg kapaciteta upotreblja vaj u se m od u li ostvare ni s čip ovi m a u MOS te h n o l o gij i . Oni su prema b ip ol a rn i m čip ov i m a :
o
•
•
statičku m e m or ij u
RAM ,
din am i čk u memoriju RAM.
S t ati čk a m e m o ri j a RAM p o h r a n j uj e p od a t k e u p olj e
dok se u di n arničkoj memoriji RAM podaci pohranjuj u u obliku naboj a u "kon d e za to ru " (para z it n a kapacitivnost) , definiranom kapacitivnošću u p r av l j ač ke elektrode i supstrata M O S tranzistora . Zbog nesavršenosti "kondezatora" n a boj otječe, te se takav m e m o rij s ki e l em e n t m o r a p e ri o di č k i osvj e ž av a ti . bistabil a ,
N e i zbr i s ive m e morij e ili ROS (Read-Only Store)
i m aj u dva važna svojstva : • n e i zb ri si vo s t , • nedestruktibilnost , tj .
neuništivost
N e u n i š ti vos t s a d ržaj a zn ači da se m em o ri ja R O M
sadržaja .
p oj av lj u j e kao m e mo rij sk o polje k oj e m je j e d no m upi s an i sadržaj sta bi l a n i ne može se m i j e n j ati opera cijom u p is i v anj a od strane mi kr o pro ce so r a . U grupu ispisnih me m orij a ub raj a j u se : o
o
ROM ,
PROM - programabilna i s pisn a memorij a , EPROM - p ro mj e nj i v a programabiina is pi s na memorija , o EEPROM - električno promjenjiva programa biIna ispisna m e mo rij a.
o
2.3. Ulazno-izlazni
(UlI)
moduli
Moduli UlI pr e d s tav lj aj u suče lj e m ikroračuna!skog s p e ri fe rni m uređajima (npr. jedinice UlI kao što su tastatura , pisač, zaslon s katodnom ci j ev i ) i vanjskim svije tom . Preko ulaznog medusklopa , s u s t ava
odnosno ulaznog modula, o stv a r uj e se put za p ri j e nos binarnih po da t a k a (u para l e l no m i li serijskom obliku) od ulaznih j e d i n i c a prema m ikroprocesoni. Izlazni međusklop , odnosno izlazni modu l , o mogu ćuj e p r ij e n os binarnih podatak a p re ma izlaznim jedi nicama.
17
Mikroračunalo
Složenost modula UlI može biti od vrlo jednostavnih UlI vrata (registar sa tri stanja i sklop za dekodiranje adres�) do vrlo složenih programabi inih međusklo pova izvedenih u tehnologiji LS!.
2.5 . Sabirnice Građevne j edinice', mikroračunalski moduli , saobra ćaju preko grupe linija koje se nazivaju vanjska sabirnica.
2.4. Moduli posebne namjene Mikroničunalski sustavi za složene primjere često zahtij evaj u dodatne module posebne namjene. Ra zina složenosti tih modula kreće se od jednostavnih sabirničkih sklopova i sabirnički sučelj a pa sve do sklopova razine složenosti procesora. Moduli su pri lagođeni tako da se jednostavno priklj učuj u na sabir nice mikroračunala . Navedimo neke module posebne namjene : • Sabirničko sučelje - sklop izveden u tehnologiji LSI (npr. MC68488 tvrtka Motorola) omogućava povezivanje instrumentalne sabirnice IEEE-488 s mikroračunalom . • Memorijska upravljačka jedinica (MMU) omo gućava djelotvorno rukovanj e velikim adresnim prostorom u višekorisničkoj okolini. Ona izvodi adresnu translaciju i zaštitu adresnog područj a mikroprocesora tako da ispituje svaku adresu koj u je generirao procesor i na temelju različitih atri buta (npr . stanja CPU-a) utvrđuje da li procesor pokušava pristupiti zaštićenom dijelu memorije ili se naslovlj eni element nalazi u glavnoj memoriji. Ako se adresna memorijska lokacij a nalazi u glavnoj memorij i , MMU na temelju logičke adrese generira fizičku adresu (poglavlj e 8) . • Koprocesori ili matematički procesori podrža vaju funkcije aritmetike brojeva s pomičnim zare zom , trigonometrijske i logaritarnske funkcije , npr. Intel 8087 tvrtke Intel (poglavlj e 5 ) . • Koprocesori U lI (npr. Intel 8089) podržavaju operacije UlI i oslobađaj u procesor od tzv. kućnih ili režijskih poslova (engl. overhead) vezanih za saobraćanje UlI. • Procesori za izravan pristup memoriji , procesori DMA, omogućavaju brži prijenos podataka iz među memorije i vanjskog svijeta bez sudjelovanja mikroprocesora u prijenosu.
Sklopovi u tehnologiji LSI kao moduli posebne namjene podržavaju posebne funkcije kao što su kriptozaštita podataka, komunikacijski protokoli, grafika, upravlj anj a perifernim jedinicama i prekidi ma, detekcije i ispravljanj a pogrešaka i sl . Tablica 2. 1 daje pregled dijela sklopova posebne namjene koji su osnova za module posebne namjene .
Preko njenih linij a se prenose podaci , adrese i upravljački signali između mikroprocesora i ostalih modula mikroračunala . Linij e se vanjske sabirnice obično grupiraju po funkciji i oblikuj u u tri vrste sabirnica : D D D
sabirnicu podataka, adresnu sabirnicu , upravlj ačku sabirnicu .
prenosi podatke iz među različitih modula mikroračunala . Širina! sabir nice podataka obično odgovara dulj ini riječi mikro procesora : 8-bitni mikroprocesori (MC 6800, Intel 8085 , Z80 i dr.) imaj u sabirnicu širine 8 bita , dok l6-bitni mikroprocesori (MC 68000, Intel 8086 , Z8000) imaju sabirnicu podataka širine 16 bita , 32-bitni mikroprocesori imaju sabirnicu podataka širine 32 bita (MC 68020 , Intel 80386) . Dvosmjerna sabirnica podataka
prenosi adresu sklopa ili vanjskog registra s kojim mikroprocesor saobraća (npr. adresu memorijskog čipa i adresu rij eči u nj emu , međus klopa UlI i njegova registra) . Adresa prisutna na adresnoj sabirnici određuje izvor ili odredište podata ka . Adresnu sabirnicu tvori skup jednosmjernih izla znih linija iz mikroprocesora .
Adresna sabirnica
Adresna sabirnica 8-bitnih mikroprocesora obično je širine 16 bita , što omogućava izbor sklopa ili registara u memorijskom prostoru od 64 K bajta. l6-bitni i 32-bitni mikroprocesori imaj u širu adresnu sabirnicu i tako mogu izravno adresirati puno veći memorij ski prostor (npr. l6-bitni mikroprocesor MC 68000 ima adresnu sabirnicu širine 23 bita (Al-A23) , dvadeset i četvrta adresna linija se dobiva kombinacij om upravlj ačkih signala UDS i LDS ; 32-bitni mikropro cesor MC 68020 ima 32 adresne linije i omogućava izravno adresiranje memorijskog prostora veličine 4 G (giga) baj ta (2n» . Upravljačku sabirnicu tvore linije koje prenose upravljačke signale i signale vremenskog vođenja. Ti su signali potrebni za sinkronizaciju djelovanj a razli čitih modula. Signali koji obično tvore upravljačku sabirnicu j esu: čitaj/piši (R/W) , zahtjev za prekid (IRO), upućivanje (Reset) , potvrda prijenosa poda taka (DTACK) , signali vremenskog vođenj a, stanje procesora i sl .
l Sirina sabirnice izražava se brojem linij a , a kako je svaka linija namijenjena prijenosu bita, za mjeru širine sabirnice upotrebljava se broj bitova koji se istovremeno može po njoj prenjeti.
Naprednije arhitekture mikroprocesora
18
Tablica 2.1. Pregled sklopova posebne namjene Proizvođač
Motorola
Oznaka MC 68488 govornik-slušatelj
Motorola
MC 68450 MC 6844
MC 3447 MC 3446A sabimičko pojačalo
Intel
8257
Fairchild
F9449
Zilog
Z80DMA
Texas Instruments
TMS 99l1
8219A govornik-slušatelj Intel
8293 sabirničko pojačalo
Sabirničko sučelje IEEE-488
Motorola
8292 upravlj ački sklop
TMS 9914
Texas govornik-sluAateljInstruments upravljački sklop 96LS488 govornik-slušatelj MC 68451 MMU za MC 68000
Motorola
MC 3480 memorijski upravljački sklop MC 68453 upravljački sklop za memoriju s magn . mehurićima
Intel
Zilog
Fairchild
I
8202A13 upravljački sklop dinamičke memorije
ZBOIO
9449 memorijski upravljački sklop MC 68881 procesor za aritrnetiku brojeva s pomičnim zarezom
Intel
8087 procesor za aritmetiku brojeva s pomičnim zarezom trigonometrijske funkcij e, logaritarnske funkcije
NlItional Semiconductor
Memorijska upravljačka j edinica i memorijski upravlj ački sklopovi
MMU
Motorola
AMD
Oznaka
Proizvođač
Namjena
951 1 A procesor z a aritmetiku brojeva s pomičnim zarezom, trigonometrijske funkcije
NS 1608 procesor za aritmetiku s pomičnim zarezom
I
I
Matematičk procesori
DMA upravIJ ački sklopivi Iprocesori
MC 6859 NBS standard
Intel
8294
Fairchild
9414
AMD
Am95 18
Western Digital
2002AIB
Motorola
MC 68652 MC 68653 MC 6854
Zilog
zs030
Western Digital
WD 2501 WD 1933
Intel
8273
Motorola
MC 6828
Intel
8214 8259
National Semiconductor
NS 16202
RCA
CDP 1877
Motorola
MC 6840
Intel
8254
Zilog
ZBOCTC
AMD
Am 951 3
Motorola
MC 6843
Intel
8271
Western Digital
Namjena
WD I010 za čvrsti disk
WD 279X
Sklopovi za kriptowtitu podataka
Komunikacijski protokol
Sklopovi za upravljanje prioritetom prekida
ProgramabiIni vremenski sklopovi
Upravljanje jedinicom diska ili diskete
19
Mikroračunalo
Proizvođač Motorola
Intel
RCA
Nacional Semiconductor
Oznaka
MC 6847 uprav lj ački sklop s grafikom
8275 CDP 1862 (s grafikom)
Na mj e n a
Upravljanje
prikaznom jedinicom
8350
2.6. Programska oprema Programska oprema (engl. software) mikroračunala, odnosno mikroračunalskog sustava, njegov je bitni sastavni dio : to je ona "vezivna materija" koj a module oživlj uj e , osmišljuje i povezuje u funkcio nalnu cjelinu . Složenost programske opreme i nj ena cijena zavise od namj ene mikroračunala i k reće se od jednostavnih programa koji po funkciji zamjenj uju logičke sklopo ve , p a sve do složenih programskih sustava za 16- i 32-bitna mikroračunala, koji imaju vrlo sofisticiran operacijski sustav, podržavaju višekorisnički rad i imaju niz prevodilaca za više programske j ezike . Programska oprema mikroračunala može se proma trati kao oprema koja je organizirana u tri razine : • Prva razina, jezgra operacijskog sustava ili moni tor omogućava korisniku osnovno saobraćanje sa sustavom. Zadatak j ezgre operacijskog sustava je da rukovodi i dodjeljuje resurse mikroračunala (vrijeme procesori!, memoriju, UlI j edinice , si stemske programe i datoteke) na temelju potreba korisničkih programa i raspoloživih k apaci te ta ra čunala radi što djelotvornijeg izvođenja programa i islmrištenj a raspoloživih resursa. Monitor organizira kooperativne
gleda ih i omogućava saobraćanje
procese'",
nad
između n j i h i
nj ihQvu sinkronizaciju. Monitor upravlja dodjelji vanjem svih sistemskih resursa procesima . On je odgovoran za redoslijed i upravlj anje svim sistem skim poslovima te za komunikaciju izm eđu progra ma. Kad postoj i z ah tjev za saobraćanje između dvaju programa, monitor uspostavlja k omu nik acij ski put kojim programi saobraćaju. Monitor ima ugrađena i pravila koja se odnose na izvođenje sistemskih i korisničkih programa (npr. ograniče nj a vremenskog trajanj a obrade pojedinih procesa, poslova ili trajanja operacija UlI , ograničenj a " u pogledu veličine memorije koja se dodjeljuje pro cesu i sl . ) . U m o nit oru se nalaze i tablice koje
opisuju konfiguraciju sustava i stanja procesa . On ima rutine koje podržavaju procese, kao što su prikaz sadržaja registara i izravne (on-line) dijag nostičke poruke , a može biti odgovoran za saobra ćanje s konzolom sustava. Djelotvornost mikroračunala bitno se povećava dodjeljivanjem vremena procesora različitim pro gramima, omogućavanjem istovremenog izvođenj a operacija un i operacija procesora, dodjeljiva nj em memorije i primjenom tehnike prekrivanja memorijskog prostora, dodjelj ivanjem uređaja UIT u zavisnosti od brzine, te primjenom tehnika za rukovanj e datotekama i sistemskim programima . • Drugu razinu čini preostali dio operacijskog sustava: uslužni programi , editori, punioci, asem bJeri , prevodioci , programi za otkrivanje pogre šaka i namjenski programi. D Uslužni programi s u rutine koje podržavaju tzv . kućne ili režijske (engl. overhead) fun kcije i ruko vanje operacij ama UlI . Naprimj er UlI uslužni programi (engl. IlO driver) sastoje se od više programskih rutina koje omogućavaju sučelje iz među mikroračunala i vanjskih uređaja na taj način što rukovode i upravljaju prijenosom poda taka i upravljaju samim vanjskim uređajem. Slože nost UlI u služn i h programa zavisi od konfiguracije sustava i od tipa sučelj a (npr. procesor OMA , procesor UlI i sL ) . Razredu uslužnih programa pripadaju i različiti programi za pretvorbu kodova i prij enos podataka s jednog medij a na drugi (npr. s magnetne vrpce na savitljivi disk ) . U ovoj razini poseban razred programa su oni koji su namij enjeni rukovanju podacima i datotekama (engl . data management, file system) . Oni omogu ćavaj u djelotvorno rukovanj e sekundarnom me morijom (savitljivi ili čvrsti disk),odnosno organi zacij u, pohranjivanje , pretraživanj e i obnavlj anje . podataka u njoj . D Editori ili uređivači su programi koj i prihvaćaju izvorne programe (napisane u zbirnom jezikuJ ili kojem višem programskom jeziku) prilikom unoše nja tastaturo m . Funkcija editora je da pomoću određenih naredaba, izdanih od korisnika, d o daj e , briše ili mijenja dij elove izvornog teksta programa . Pomoću editorskih naredaba izvorni tekst s e po hranjuje u memoriju mikroračunal a . a Asembler j e sistemski program koj i prevodi izvorni program u zbirnom jeziku u objektni pro gram . 4 D Prevodioci (engl . compiler) prevode izvorne programe n api sane u višem programskom j ez i ku u 2 Proces ili zadatak jest program u izvrše nju ; obično se podrazumi jeva da se može izvesti paralelno s drugim procesima. , Program napisan u obliku mnemoničkih ozn aka i simboličkih naziva memorijskih lokacija (uobičajeni naziv "asembler"). 4 Program u strojnom j eziku (binarnom kodu).
20
Naprednije arhitekture mikroprocesora
obj ektni program . Mikroračunala, posebno 16- i prevodioce za veliki broj viših progra ms k i h j ezika, npr. za B ASIC , FORTRAN , PASCAL, PUM, COBOL, j ezik C, ADA i za d ruge . o Interpreter (eng\ . interpreter) ima sličnu funkciju kao i prevodilac , ali s važnom razlikom da se korisnički program u višem programskom jeziku prevodi i izvršava l inij u po lin i j u , kao što se i
32 -b i tn a imaj u
unosi . o
Puni/ac (eng l . l o a der) pre nos i u memo rij u mi kroračunala objektni program , koji se dobiva u postupku prevođenja. Pu nilae osim funkcije uno šenj a objektnog programa ima i fun kcij u relokacije tj . premještanje programa u slobodni m e mo rijsk i prostor (pretvaranje premjestive verzije objektnog programa u apsolutnu), tc povezivanje različitih obj ektnih programa koj i se međusobno pozivaj u (tzv. linki ng loader) . o
Programi za otkrivanje pogrešaka u objektnim
izvode funkciju pri kaza ili i spisiv a nj a sadržaja dijela memorije , i spis a sadržaja registara procesora , postavljanja ispi tnih točaka , započinj a nj a izvođenj a od zadanog mjesta u programu i slično. U razinu sistemske pro gr amsk e opreme spadaju još i simulatori, te dijagnostički programi. o Namjenski programi rj ešavaj u specifične pro bleme s po dru čja matematike, teh nike i poslovne primjene ( npr. program SPICE - za sim u la ciju elektroničkih komponenata, program ECAP - za
programima
analizu strujnih krugova , B SI - programi za evi den cij u poslovanj a skladišta, programi za projekti ranje tiskanih pločica i s\. ) . • Treća razina programske opreme s u korisnički programi. Oni s u napisani u zbirnom ili k ojem višem programskom jeziku i rj e šavaj u specifične probleme definirane od korisnika sustava. Korisnici svoj e zadatke u obliku izvornih programa odašilju nižim razinama programske opreme , a ona sklopovskoj opremi (engl . hardware), koja uz sudjelovanj e operacijskog sustava izvršava te za datke. 32-bitni mikroprocesori su osnova složenih sustava za obradu u stvarnom vremenu, sustava za rad na v.ekoliko zadataka (eng\. multitasking) i sustava s grafikom vrlo visoke rez
Sl. 2.1. Operacijski sustav UNIX
21
Mikroračunala
Operacijski sus ta v ima dvij e ljuske ; jedna j e Bourne (standard Unix S yst e m V) , a druga e lj u sk a (SD Unix System).
Ljuska kao viši programski jezik omogućava kori sniku brzo oblikovanj e vlastitih aplikacija kombinaci j om standardnih usluž n ih programa . Prevodioci z a više programske jezik e (j ezi k e, Pas cal) i inte rpreteri (npr. za j ezik Lisp) sa s tavni su dio operacijskog sustava. Uslužni program i (aritmetika vrlo visoke točnosti , programi za ru k ov a n j e tzv . background načinom i
proccsi ma un , automatsko ge ne ri ranje datoteka , p r ogramska sučelj a sa sa birnico m IEEE-488 , pro grami za rukovanje analogno-digitalnim podsusta vima i sl. ) također su na raspolaganju korisniku .
2.7. Primj eri mikroračunalskih sustava Prikazat ćemo nekoli ko mikroračunalskih su st ava
koji se temelje na modulima što su opisani u pre thod nim· odjeljcima.
""
�
� � [:
" "'-
'c
""
tc
E[:
�
-;;; u
� E
'E:
'i;' "
:o
:li
] «,
..
si � " �
'" " " " '" ;. " "
::J ro
ti N
..si
" " " '" ::
<:
'"
�
N
'"
�
-" u o
'D
22
Naprednije arhitekture mikroprocesora
pri kazuje blok-she mu inteligentn oga perifernog upravlj ačkog s klopa (IPC) MC 68120 koji omogu ćava sučelje i zmeđu MC 68000 i MC 6800.
Slika 2 . 2 prikazuj e ustrojstvo mikroračunala zasno vanog na 8- bitnoj porodici 6800, gdj e su : OMA : procesor s izravnim pristupom memoriji, RAM , ROM : memorija sa izrav nim pristupom, ispis na
MPU : mikroprocesor,
START UP: pomoćni sklop. CLOCK : pomoćni sklop. PIA : paralelni medusklop UlI, ACIA : serijski medu.klop Uli,
Vidi se da je to, zapravo , mikroračunalo na čipu , s 8-bitnim centralnim procesorom , 2 K memorije RO M , 128 bajtova dvoulazne memorije , s dvjema para l elnim UJI vratima, s tri funkcijska vremenska sklopa, serijskim izlaznim vratima, prekidnom struk turom i s mogućn osti izrav n og adresiranj a 64 K memorije .
memo
rija,
PTM : programabilni vremenski sklop, BUS : sabirnica.
Slika 2.3 prikazuje mikroračunalo minimalne konfi guracije na baZi 8- bitne m ikroprocesorske porodice I ntel 8080 .
Slika 2.4 prik az uj e blok s hem u mikroračunalskog sustava na bazi 16- bitnog mikroprocesora Motorola
LITERATURA
MMU : memorijska upravlj ačka jed inica , OMA : D M A pro ce so r za izravni pristup m e moriji , FOC : upravljačka jed i nica savitljivog diska, IPC : inteligentni periferni upravljački sklop, PIrr : paral el n i UlI me du.klop s programabilnim vremenskim koprocesor,
matematički
sklopom, MPCC: modul za protokol,
.
B A M : sabirnički arbitar, CRT : upravljački sklop prikazne jedinice, OUART : dvostruki seri j s ki komunikacijski meduskl op (predaj binarno ili
bajlno orijentirani komunikacijski
nikl prijemnik) .
Osnove svih modula su čipovi u tehnologij i VLSI/LSI k oj i m a je razina složenosti vrlo visoka. Npr. slika 2 . 5
1983 .
[6] H . D . Toong,A. Gupta, An Architectural Comparison of Contemporary I6-bit Microprocessors, IEEE Micro , maj 198 1 , pp. 26-37. [7] S.Ribarić, Arhitektura računala pete generacije , Teh
nička knjiga , Zagreb, 1986. [8] D.Cormier, Real-Time Executives Complement EON, oktobar 3 , 1985 , pp. 141- 1 50 .
[9]
Intel 8080
.-
L
<1>2
-
I
RAM
WR
upravl j ački sklop
HJ.DA 'J81N
SINe
su stava
SI. 2.3.
Građa mikroračunala na
upravl j ačka sab i rn i c a
buzi
Unix,
R.Bourne, The Unix System , Addision-Wes!ey, 1 982 .
AD-A I
. '< C S" T
knji
[2] MC 68020 32-Bit Microprocessor Use's Manual, Moto rola Inc. , 1985 . [3J J.Hemenway, A Disc Operating System Increases /lC Utility, EON , novembar 20, 1978,pp. 253-256. [4] N.A.Alexandridis, MicropTocessor System Design Con cepts, Computer Science Press, 1984. [5] l6-bit Microprocessor Data Manual, Motorola Inc . , . ga, Zagreb, 1 985 .
MPU : mikroproce"" •
FPCP :
S . Rioarić, A rhitektura mikroprocesora, Tehnička
[11
68000 :
mikroproce.mra Intel 8OBO
Ul)
medusk l op
� l �
�-
MC
da 015
. . ..,
""
..
..
A
AI
.
A2' 1 6 -bl tni
mikroprocesor MC 68 000
A "
•
�J MMU
MC
68
45 1
DMA 6 8 450
BUS
[,<..... r..--
...;
1
MC
FOC
68 4 6 5
Ir-
'"
.J-
�
y
( adres na sab i rnica)
I j
V
.
Jl
BUS (upravl j ačka sab i r n i c a )
�
BAM 68 4 5 2
..... ...
7 ( dvosmjerna sabirnica pOdataka )
BUS
.!>
MC �
,..
�1b
I'f
MC
RAM
MC 68 4 5 1
68 88 1
V
MPU
MMU
FPCP
-, �
(l-
PitT
MPCC
M C 68 652
MC 68 2 '0
I PC MC 68 1 20
UlI
medusklopovi po rodice
MC
I
""
r
DUART
MC
68 68 1
t--
6 800
r--
DSO Mr: � RSq
CRT MC
Sl. 2. 4. Blok-shema mikroratunalskofl 'uslava na lemeiju J6-bilnog mikroprocesora MC 68000
6 84 5
I;
Naprednije arhitekture mikroprocesora
24
centralna procesarska jedinica
pn P}b
;---� , A 7/D7 A 6/D 6
,...� .;
07 06
l/O
110
P}5
A 5/D5
05
l/O
P}4
A4/04
04
l/O
P}} P}2 Pll
A2/D2 A I /D !
A J /m
m 02 DI
110 Ila l/O
OO
1/0
P30 so 5C I
A O/OO
P47 P4 b
A7
P42
AIS A I4 AU A I2 All A ID
A2
l/O
P4 1 P4 C
A9 AB
AI
l/O
P45 P44 P4 3
R/Vi AS
o
l/O
TIN
P20
I
TOUT
P2 1
1/0
1/0
P22 SCLK RDATA pz}
10
TDATA P24
:!j iii
'"
R/Vi � TOŠ I S }
A6 A5 A4 AJ
l/O 1/0 1/0 l/O
e -;::,
1/0
iD
:!j
adresa '"
OI
podaci
AD l/O '----v----' \oka\na sabirnica
lIl "' Ul U> "' ''' UI ''' � ''' nI
0 0 0 0 0 0 0 0
.u u<
�O � "il ...r a t a
'-------v--
l
sabirnica sustava MC 68 000
SI. 2_5. Blok-shema inteligentnog periferijskog upravljatkog sklopa MC 68120
- - - -----'
3 . POJEDNOSTAVNJENI MODEL MIKROPROCESORA 3. 1 . Uvod Razumij evanj e
rada
mikrorrocesora ,
ras košnij u arhitekturu od svoj ih 8-bitnih prethodni ka. Na kraj u ovog poglavlj a upoznat ćemo se s
poznavanje
vanjskom manifestacijom izvođenj a instrukcija - sta njem na sabirnicama.
funkcija poj edinih registara i aritmetičko-logičkih
skl opova , pozn avanje i tumačenje stanj a na vanjskim
sabirnicama predstavlj aj u j edan od osnovnih predu vjeta uspješnog oblikovanj a i kvalitetnog održavanja
3.2. Pojednostavnjeni model
digitalnog sustava na bazi mikroprocesora.
U
mikroprocesora
ovom ćemo poglavlju op i s ati model 8-bitnog mi
kroprocesora koj i
će
sadržavati
one nužne kompo
nente arhite kture koj e su potrebne za tumačenj a
Da bismo prikazali princip rada mikroprocesora,
rada mikroprocesora.
poslužit ćemo se pojednostavnj enim modelom 8-bit nog mikroprocesora (sI . 3 . 1 ) .
Bez obzira što se model zasniva na 8-bitnom mikro
Model mikroprocesora ima 8-bitni registar koji se
procesoru on će dobro poslužiti za osnovno razumije vanje i 1632-bitnih mikroprocesora koj i imaju
naziva akumulator. On se upotrebljava za privre-
DC
PC
7
o
r----t===� opće skup registara namj ene upravlj ački
pi�i
upravljački sklop
upr avlj ački si gnali
'--..-______-' I
upravlj ačka j edinica
_
si gnal vr emenskog vođenJa cl> SI. .1. 1 .
_
_
_
_
_
_
_
I ..J
Pojednostavnjeni model mikroprocesora
čitaJ
si gnali
Naprednije arhitekture mikroprocesora
26 meno pohranjivanj e j ednog od operanadal koji su dj eluj e u aritmetičkoj ili logičkoj operaciji. Rezultat se operacij e najče�e pohranj uje ponovo u akumula tor . (Kod postupaka koj i se ponavljaju rezultat se "akumulira" u tom registru pa je zbog toga dobio ime akumulator.) Osim što sudj eluje u aritmetičkim
i logičk im operacij ama akumulator sudjeluj e i u
prij enosu podataka između mikroprocesora i ostalih komponenata mikroračunala, odnosno vanjskog svi jeta. Registar PC il i programsko brojilo ( 1 6-bitni registar)
sadrži adresu slj edeće instrukcij e - one koj a će biti
odvij aj u u točno utvrđenim diskretnim vremenskim trenucima. Aritmetička-logička jedinica izvršava osnovne aritme
tičke i logičke operacij e . Za poj ednostavnjeni model mikroprocesora možem o pretpostaviti d a su to ope racije zbraj anj a, posmaka, komplementiranj a i lo gičke operacije I i ILI. Poslj ednja komponenta poj ednostavnjenog modela je interna sabirnica. Pod internom sabirnicom mikro procesora razumijeva se sabirnica (dakle , skup linija za prij e nos podataka) koja je izvedena na samom
pribavljena u idućem ciklusu .
mikroprocesorskom čipu i omogućava prijenos poda taka između pojedinih registara , aritmetičko-logičke
Operacijski kod instrukcij e , i to one koj a se upravo
.jedinice i upravljačke j e dinice . Interna sabirnica j e
izvršava , pohranje n je
u
instrukcijskom registru IR
preko međuregistara, odnosno sabirničkog sučelja
(8-bitni registar) .
povezana s v anj sko m sahirnicom .
U re gistru DC ili brojilu podataka ( 1 6-bitni registar)
Instrukcij a se izvršava
�lldržana j� ildresa memorijske lokacij� gili.� se..nalllzL op�ran d . Element modela j e i privremeni registar ( 8- bitn i ) koj i je povezan s jed ni m od ulaza u aritmetičko-logičku j edinicu i služi za privremeno pohranjivanje jednog od podataka koji sudj eluje u aritmetičkoj ili logičkoj operaciji. Ovaj privremeni registar nije elem ent programskog modela mikroprocesora. Pod programskim modelom razumijeva se skup registara koji su pristupačni
felch) i
u
dvije faze :
IZVRSI (engl . execute ) .
Mikroprocesor z a vrijeme
PRIBAVI (e ngl
.
faze PRmAVI postavlj a
sadržaj programskog broj ila preko interne sabirnice na vanjsku adresnu sabirnicu . Ujedno šalje i odgova raj uće upravlj ačke signale (signal CITAJ) na vanjsku u pr avlj.ačku sabirnicu. (Poj edno s tavnj en i model imat će samo dva uprav ljačka signala na vanjskoj
CIT AJ { PIŠI. ) Me mo rij s k i
upr a v lj a čk oj
sabirnici :
modul koj i je priklj učen
n a vanjsku sabirnicu dekodira postavlj enu ad res u (prisu tn u na adresnoj sabirnici) da bi omogućio
programeru preko instrukcij a iz skupa instrukcij a (n a razini zbirnog j ezika) .
pristup do odgovarajuće riječi u memorij i . za neko
Element pojednostavnjenog modela mikroprocesora j e i skup registara opće namjene koji se upotreblja
liko stotina nanosekunda (npr_ 400 ns - što odgovara vremenu pristupa) sadržaj specificirane memorijske
vaju za privremeno pohra nj i va nj e operanada, među rezultata i rezultata. Skup registara opće namjene je element programskog modela.
lokacije b it će pročitan i pojavit će se na vanjskoj sabirni ci podataka. Taj se podatak preko sabirničkog
Komponenta pojednostavnj enog mod e l a j e i uprav ljačka jedinica k oja se sastoji od up ravljačkih sklo pova i sklopova za dekodiranje instrukcije.
ski kod i ns tr u k c i je . Duljina
sučelj a i interne sabirnice mikroprocesora upućuje i pohranjuj e u i nstrukcij ski re gi star IR . To je ope racij
je operacijskog
koda 1
baj t . Interna logi ka m i k roprocesora p ov ećava
sa d rž a j
p ro g ra m s k o g brojila PC
za
I.
n- I
operacijski
kod
adresne
Sl.
Upravlj ački sklopovi
u
3.2.
Organizacija inslrukci;ske riječi
skladu s operacij skim kodo
.
Riječ duljine j e dan baj t koj a je s mj e št en a u im,truk
vima (koji se dckodiraj u u sklopovima za dckodira nje) generiraj u n iz upravlj ačkih signala . Ti signali upravljaju prijenosom podataka između registara i
cije .
aritmetičko-Iogičke j edinice , aktiviraju sklopove za izvršavanje aritmetičkih ili logičkih operacij a ili pro
tri polj a (sl .3.2).
mjenu vrijednosti programskog broj i l a , omogućavaju prijenose podataka od i sl .
m e m o rij e
ili prema memorij i
Sve te opcracije unutar mikroprocesora (često se
nazivaju
i mi krooperacije) s i n k ro n i zi raj u
polj e
cijski registar IR sadrži s a mo operacij ski kod instruk Međutim , i ns t ru k cij a se većinom sastoji od naj manje
Riječ dulj ine 8 bita koj a je smj eštena u instrukcijski registar IR ne dopušta organizaciju na ta tri polja, j er je očito prekratka. Samo polje ope ra cijskog koda
se signalom
vremenskog vođenj a. Događaji se u mik rop roce so r u
I
Podatak
s
kojim
se
operira i čijom
se
obradom dobiva
rezultat.
27
Pojednostavljeni model mikroprocesora
zauzelo bi veći dio 8-bitne riječi (npr. 8- bitni mikroprocesor MC 6800 ima skup od 72 osnovne instrukcij e , što zahtijeva operacijski kod od 7 bita : 2' > 72 > 26 (ako privremeno zanemarimo 197 razli čitih kodova u zavisnosti od načina adresiranja) , tako da bi za adresno polje ostao samo jedan ili dva bita'. To znači da bi r,nikroprocesor mogao izravno adresirati samo dvije ili četiri memorijske lokacije . Problem duljine rij eči mora s e kod mikroprocesora riješiti pribavlj anjem više 8-bitnih riječi za tvorbu jedne instrukcijske riječi . Nastavimo dalje izvođenje instrukcij e. Mikroproce sorski sklopovi za dekodiranje dekodiraj u operacijski kod instrukcije te se na temelju njega određuje duljina instrukcijske riječi (od koliko se bajtova sastoji instrukcij ska riječ) i operacij a koju mora iZvršiti . Ako j e upravljačka jedinica na temelju operacijskog koda utvrdila da se instrukcijska rij eč sastoji od samo jednog baj ta (npr. instrukcije koje u operacij skom kodu sadrže i informacij u o izvoru i odredištu operanda , npr. instrukcija COMA - komplementiraj sadržaj akumulatora A i rezultat pohrani natrag u akumul ator A) , mikroprocesor prelazi u fazu IZVR SI. Ako je upravljačka j edinica na temelju operacijskog koda utvrdila da se instrukcijska riječ sastoji od dva ili više bajtova faza se PRIBAVI nasta vlja .
podatak i instrukcij a mogu se
u
jedino razlikovati
za visnosti od stanja mikroprocesora .
3.3. Primjer i zvođenja programa Pokažimo na primjeru izvođenja jednostavnog pro grama za naš model kako dj eluje mikroprocesor : U memoriji mikroračunala, na memorijskim lokaci jama s adresama 0100, 0101 , . . . , pohranjen je pro gram (slijed instrukcija).
Slika 3 . 3 prikazuje program (adrese i sadržaj memo rijskih lokacija zapisani su heksadekadno samo radi kraćeg zapisa) : Slika 3 . 4 prikazuje početni uvjet (sadržaje registara) . Programsko brojilo PC ima vrijednost 0100 i poka zuje na operacijski kod prve instrukcije (instrukcije koj a se treba pribaviti). Mikroprocesor se nakon upućivanja nalazi u fazi PRIBAVI. Sadržaj se programskog brojila PC po stavlja preko interne sabirnice i sabirničkog sučelja na vanjsku adresnu sabirnicu te se generira uprav lj ački signal ĆITAJ. Slika 3 . 5 prikazuje stanje registara mikroprocesora nakon pribavljanj a operacijskog koda prve instrukci je.
memorije se pribavlj aju slijedni baj tovi i smještaju Interna logika povećava sad ržaj programskog broj i l a PC nakon svakog pri ba vlj eno g baj ta. Na kraju faze PRIBAVI programsko broj ilo mora sadržavati adresu na kojoj se nalazi operacijski kod sljedeće instrukcije .
U instrukcijskom registru I R pohranjen j e operacij ski kod instrukcije , a sadržaj programskog broj ila PC povećan j e za 1. Sadržaj se instrukcij skog registra 101101 1 0 (B6 heksadekadno) dekodira i tumači kao :
U
Mikroprocesor pribavlja sljedeći baj t postavlj anjem sadržaja programskog brojila PC na adresnu sabir nicu i generiranjem upravlj ačkog signala ĆITAJ.
Rezultat su toga niza signala odgovarajući prijenosi podataka (dobavljanje operanada) , te operacije (npr. aktiviranje pojedinih sklopova aritmetičko-Io gičke jedinice) zadane instrukcijom.
Pribavlj eni bajt koji predstavlja značaj niji dio adrese operanda smješta se u broj ilo podataka DC .
Tz
se u brojilo podataka DC .
fazi IZVRSI upravljačka jedinica, u skladu s op.eracij skim kodom koj i je pohranjen u instrukcij skom registru , generira niz upravljačkih signa! a.
Podaci i instrukcije su pohranjeni u istom obliku (binarnom) i u istoj memorij i mikroračunala2•
Na koji način mikroprocesor razlikuje operacijski kod , adresu operanda ili podatak koj i ima ulogu operanda ?
Kad je mikroprocesor u prvom ciklusu faze PRIBA VI, pribavljena riječ (baj t) bit će smještena u instru k cijski registar i tumačena kao operacijski kod. Taj 8 bitni operacijski kod , osim ostaloga, u sebi sadrži i informacij u da li se instrukcijska rij eč sastoji od 1 , 2 ili 3 bajta i što znače sljedeći baj tovi koji je tvore . U fazi IZVRSI podatak pribavljen iz memorije tu mači se kao podatak , odnosno operand . Znači ,
napuni akumulator A sadržajem memorijske loka cije kojoj je adresa sadržana u sljedeća dva b ajta
.
Programsko brojilo PC povećava se za 1 . Slika 3 . 6 prikazuje stanje registara mikroprocesora nakon pribavljanj a značaj nijeg bajta adrese ope randa (02 . . ) . Mikroprocesor pribavlj a treći baj t instrukcijske riječi - manje značajni bajt adrese operanda ( . . 01) i smješta ga u brojilo podataka . Programsko broj ilo povećava se za l i pokazuje na operacijski kod slj edeće i nstru kc ije (9B ) .
Slika 3.7 prikazuje stanje registara nakon pribavlj a nj a manje značaj nog baj ta adrese operanda.
2 Ovo vrijedi z a s v a
računala
von Neumannove
arhitekture .
adresa
o 1 00
sadržaj
7
86
o101
o 102
02
o 1 03
9B
FF
1 05
o OFE
} J
OI
O 1 04
o 1 06
O
operacijsk i 4�
slijedeće instrukcije
�
�
OOF F
kod
I . instrukcij a:
Napuni akumulator A sa sadržajem memori j s k e l ok a ci j e
0201
2. ins trukci j a: P r i bro j i sadrlaju akumul atora A sadržaj memorijske lokacije
OOFF
3.
instrukcij a: Komplementiraj sadrfaj akumul atora A
::;::
.
lA
�
� 0200 020 1
Sl. 3.3. Prikaz programa i podn/Qka u memoriji mikroral!unala
23
7
o Skup registar. opće namjene
upravij ački sklop
I _____....J I upra.lj atka j e dinica
-
- - _
vođ enj a cl>
signal vr emenskDg
SI. 3 . 4.
_
_ _ _
Počel"i uvjeli
..J
pili
tltaj
o
r----t====� f-+---
upr avl j a � k i sk lop
�r-------�
upravlj ački signali
upra.IJačka j edini c a
_
_
_ _
11>
s i gnal vremenskog
vođenj a
_
_ _ _
I --.J I
upr ••lj ački signal i
pili č i t aj
SI. 3.5. SlIJnje registara nakon pribavljanja operacijskog koda prve
instrukcije; prvi ciklus prve instrukcije
I
- - - - -,
....--,.iI!j----"'I
7
: I
... 1 ........ .., --..
--
I I I
I _ --.J
L-r-------------� I I
upravljačka J edinica
_
si gna1 vremenskog vodenj a 11>
eltaj
upravi j ač k i
_
_ _
o skup re gi sta r a
opće namjene
signali
pili
upravlja�kl sklop upravljački signali
skup registara opće namjene
SI. 3.6. Slanje registara nakon pribavljanja znalajnijeg bajta adrese
_ _ _
operanda; drugi ciklus prve instrukcije
Naprednije arhitekture mikroprocesora
30
7
O
r---1:===j skup registara opće namJene
upra.ljačkl signali
1-1--- pili
upra.lj ačkl sklop
'-,,-
upravlJački si gnali
-"
______
upra.l j ačka ledinica
_
_
_
vr emenskog vodenja (J)
_
_
_
_
_
fl taJ
l
I -1
SI. 3. 7. Stanje registara nakon pribavljanja manje značajnog bojto adrese operanda; treti ciklus prve instrukcije
si gnal
Podatak se s memorijske lokacij e 0201 p re n o si preko
Ako se na trenutak pre tp ostavi da instrukeijski regi star IR (O - 7) i brojilo podataka DC (O - 15) tvore jedan 24-bitni registar , može se instrukcijski re gist a r IR smatrati polj em operacij skog koda i n ačina adre
j edi n i ci bila zadaća da generira slij ed signala koji su
siranj a , a b roj ilo podataka adresni m poljem
omogućili taj prijenos.
(sl .3.8).
vanjske sabirnice podataka, sabirnič kog sučelja i interne sabirnice u aku mulat or A. Upravljačkoj je
2J
o
1
0 7 7 0 7 O ,-------------� -----------------,-------------� · B6 O2 01 instrukcij$kl registar IR
I
broj ilo podataka
DC
SI. 3.B. lnsrrukcijska rij'� sastavljena od 3 bajla
Za pribavlj anje kompletne instrukcij ske riječi 8-bit nom su mikroprocesoru u ovom slučaju bila potrebna tri ciklusa, dok bi procesor s riječi dulj ine 24 bita i više taj isti postupak obavio u je<;lnom eiklusu . Nakon faze PRmAVI mikroprocesor prelazi u fazu
IZVRSI.
Faza IZVRŠI prve instrukcije sastoji se u dobavlj anju operanada s memorijske lok acij e 0201 u akumulator A. Mikroprocesor dobavlja operand postavlj anjem sadržaja broj i la podataka DC na adresnu sabirnicu i generiranj em upravlj ačkog signala ČITAJ .
31
Pojednostavljeni model mikroprocesora
o I
- - - - -,
o
: L-_-';;;;;';;;;:"-_..J :
---�---
I I r---�=---__ I
.kep regi s t a ra
r---{===j
opće namjene
upravlj ački signali
upravlj ački
upravlj ački sklop
signali
L-,.------l l upravlj ačka j edinica ;" _ _ _ _ _ _ _ _ --1
si gnal vrem enskog vodenj a CI>
Slika 3 . 9 prikazuje stanj e registara mikroprocesora nakon izvođenja prve instrukcije : akumulator je A napunjen sadržajem memorij ske lokacij e 020 1 . Sadržaj se programskog brojila PC nije povećao ; j e r j e pribavljen operand, a ne instrukcij a - mikroproce sor je bio u fazi IZVRŠI.
Mikroprocesor nakon faze IZVRŠI prelazi li fazu PRIBAVI i pribavlja operacijski kod sljedeće instruk cije. Slika 3 . 10 prikazuje stanje registara mikroproce sora nakon pribavlj anja prvog bajta druge instrukci je. U instrukcijskom registru smješten je operacijski kod druge instrukcij e . Sadržaj se programskog brojila povećao za jedan. Operacijski kod 1001 1011 (9B - heksadekadno) , uz specifikaciju operacije (pribraj anje operanda sad ržaju akumulatora A) , odreduje i način adresiranj a sljedeći bajt je manje značajan bajt adrese operanda, a značajniji baj t adrese operanda se automatski postavlj a na OO (heksadekadno) . Slika 3 . 1 1 prikazuje stanje registara mikroprocesora nakon pribavlj anja drugog bajta instrukcijske riječi. Programsko se broj ilo PC povećalo za j edan i poka zuje na operacij ski kod sljedeće instrukcije , a u brojilu podataka DC smješta se adresa operanda.
pi�i č i t al
Sl. 3. 9. Stanje registara ciklus prve instrukcije
nakon faze izvrši
prve
instrukcije,' četvrti
Mikroprocesor prelazi u fazu IZVRšI. Sadržaj brojila podataka DC (OOFF) smješta se na vanjsku adresnu sabimicu. Upravlj ačka j edinica generira upravljački signal tiTAJ. Operand (lA) s memorijske lokacije OOFF smješta se u privremeni registar (sl . 3 . 12) i generira se upravlj ački signal za aktiviranj e zbrajala . Rezultat zbrajanja (3D) sadržaja privremenog regi stra i akumulatora A smješta se natrag u akumulator A (sI.3 . 13). Mikroprocesor ponovo prelazi u stanje PRIBAVI i pribavlja operacij ski kod sljedeće instrukcije (43). Programsko se brojilo povećava za jedan . Slika 3 . 1 4 prikazuje st anj e registara mikroprocesora nakon faze PRIBAVI treće instrukcije . N a temelju operacijskog koda (43) mikroprocesor zna da se ta instrukcij a sastoji samo od jednog baj ta (43) i da je odredena operacija komplementiranje sadržaja akumulatora A . Faza PRIBAVI je završena i mikroprocesor prelazi u fazu IZVRŠI. U fazi IZ VRŠI izvodi se jedinični komplement sadržaja aku mulatora A : 001 1
1 1 0 1
1 100
00 1 0
l
i rezultat se pohranjuje natrag u akumulator A. Slika
1
o
skup register. opće namjene
upravlj ački signali pi�i upravljački signa l ! upravlj ačka _
_
_
_
l edinica
_
_
_
_
I
čitaj
I ..J
Sl. 3. 10. Slanje registara nakon pribavljanja prvog
si gnal vremenskog
vodenj a 11>
bajla druge
instrukcije; prvi ciklus druge instrukcije
1
o
Skup registara
opto namjene upravljački signali pi�i
L...� ..., -_____----' I upravljačko Jedini ca I ..J
upravijaeki si gnali
_
signal
vremenskog
vodenj a (l)
_
_
_
_
_
_
čitaj
_
Sl. 3.11. Stanje regislara nakon pribavljanja drugog bajla druge instrukcije; drugi ciklus druge instrukcije
o
- - - - -,
I I I I I I
1
D
r----t===j
I
r-----�L-----� I
skup regi stara opće n amje n e
upravljački signali
. upravlj ački sklop upravl j a č k i
s ign a l i
H---. pi�1
1-1---.. čitaj
upr avl j ačka j edini ca _
_
_
_
_
_
_
_
I
I ..J
3.12. Stanje registara nakon smještanja podataka lA s memorij ske lokacije OOFF u privremeni registar PR
Sl. si gnal vremenskog vođen) a cl>
1
D
s k up registar. opće nam j ene upravl j ački signal i
upr avlj ački sklop upr avljački S i gnali
pili
upravlj ačka j edi nica _
si gnal vremenskog vođenj a cl>
_
_
_
_
_
_
_
I
fitaj
I
..J
Sl. 3.13. Stanje registara nakon faze
lZVRSI druge instrukcije
o
r----t:===�
skup registara o�e namjene
upr avl j ački signali pili
upravij ački sk lop ,
upravi / ački signali
či taj
I _ -.1
upravlj ačka l edinica _
_
_
_
signal vremenskog vodenj a ll>
_ _ _
Sl. 3. 14. Slanje registara nakon Jaze
PRIBAVI treće
r----t===�
instrukcije
skup reg ist a r. opće namjene
upravljački signali upravi/ački SkIOj>
pili Waj
-------' , upravljački Jedinka I
upravlj iIčki $ 1 91"\811
_
&i gn81 vremenskog vođel"\j a <J)
_
_
_
_
_ _ _
SJ.
-.1
3. 15. StIlnje registara nakon izvođenja /reće inslrukcije
Pojednostavljeni model mikroprocesora
3 . 1 5 pri kazuj e stanj e mikroprocesora nakon izvođe nj a treće instrukcije . akumulatoru A na l azi se rezultat (C2) , a program sko brojilo PC pokazuje na adresu sljedeće instruk cije (0106) . U
3.4. Stanje na vanjskim sabirnicama Prilikom prikaza izvođenja j ednostavnog programa pretpostavili smo da imamo neku vrstu "magične lupe" pomoću koje m ožemo p romatrati registre mi kroprocesora i prati ti tok izvođenj a pojedi ni h ins trukcija. U stvarnosti , međutim , nije tako, vrlo j e teško i gotovo nemogu će prodrije t i u silicijski čip i u stvarnom vremenu pratit i promjene sad ržaja pojedi ni h registara mikroprocesora . Stručnjak za područje mikroprocesorske tehnike nalazi se otpri like u polo žaju liječnika koji ne može prodrijeti u sam organi zam il i stanicu da utvrdi stanje organizma , već to utvrđuje na temelju vanjskih simptoma. Vanjski simptomi koji pokazuju stanje mikroprocesora i ko j ima se manifestiraju pojedine faze izvođenj a ins trukcija jesu signali na sabirnicama, odnosno stanje
na vanjskoj sabirnici.
Pomoću stanj a na vanjskoj sabirnici što ih možemo promatrati poseb n im instrumentom - logičkim anali zatorom - zaključujemo u velikoj mj eri o tome što se događa u samom mikroprocesoru . Naravno , moramo z nati i tumačiti stanja na sabirni cama da bismo ih mogli upotreblj avati za praćenje rada mikroprocesora .
Stanj a na vanjskim sabirnicama imaju poseban zna čaj za razumijevanje rada mikroprocesora i u dijag nostičkim postupci ma prilikom otkJanjanja pogre šaka u sustavu koj i se tem e lj i na mikroprocesoru .
Pokušajmo utvrditi i. nacrtati stanj e na sabirnicama prilikom izvođenja prve instrukcije programa u odjeljku .3 .3. je instrukcija bila sastavljena od tri bajta i nal azila se u memo rijskim lokacij ama 0100, 0101 i 0102, a imala je zadatak ( operacij ski kod 86) da napuni akumulator A sadržajem me morij ske lokacije kojoj j e adresa određena sa dva njena posljednja bajta (0201). Prva
Ako pažljivo pratimo izvođenje te instrukcije (kako je to opisano u odjelj ku 3.3), možemo nacrtati stanje na vanjskim sabirnicama za naš model mikroproceso ra : Vidim.o da se i nstrukcija izvodi u više ciklusa, svaki je ciklus definiran periodom signala vremenskog vođenja eli :
Faza PRIBAVI :
3S
1 . ciklus
• Na ad resnu sabi r ni cu po s tavlj a se sadržaj programskog b roj ila . • Aktivira se upravljački signal ČITAJ . • Nako n isteka vremena pristupa memoriji na sabirnici podataka j avlj a se p o da t ak - operacij ski kod instrukcije.
2. ciklus • Na
adresnu sabirnicu postavlj a se sadržaj programs kog brojila (pazi , on se za vrijeme prvog ciklusa povećao za 1). * A kt i vi ra se upravljački signal ČITAJ. • Nakon isteka vremena p ristupa memoriji na sabirnici podataka javlja se podatak - značaj nij i baj t adrese operanda.
3 . ciklus
Na adresnu sabirnicu postavlj a se sadržaj programskog brojila (pazi , on se za vrijeme drugog ciklusa povećao za l ) . • A k tivira s e upravljački signal ČITAJ . • Nakon isteka vremena pristupa memoriji n a sabirnici podataka javlj a s e podatak - manje značajni baj t adrese operanda . Ovim se faza PRIDAVI završava i mikroprocesor prelazi u fazu IZVRSI . *
Faza IZVRSI. • Na adresnim sabirnicama postavlja se sadržaj brojila podataka DC ( ad resa opeTanda ) . • Aktivira s e upravlj ački signal ĆITAJ . • Na sabirnici poda taka , nakon isteka vremena pristupa memoriji , pohranjuje se operand . (U istom se tom ciklusu operand prenosi s vanj ske sabirnice podataka, preko sabirničkog sučelj a i unutarnje sabirnice u aku m ul ator A.) Na sličan način možemo prikazati vremenski dija gram stanja na vanj s koj sabirnici za drugu instrukciju (sI . 3 . 17) .
Slika 3 . 18 prikazuje stanje na vanjskoj sabirnici za treću instrukciju (operacijski kod 43 - komplementi raj sadržaj akumulatora A) .
Instrukcija se izvršava sam o u dva ciklusa. Prvi ciklus odgovara fazi PRIDAVI, dok drugi ciklus odgovara fazi IZVRSI.
Budući da instrukcij a komplementira sadržaj akumu po treb e za dobavlj anjem operanada iz m emorije , pa aktivnosti na vanjskim sabirnicama u drugom ciklusu n eće uopće biti . Sabirnica će biti neaktivna, od nos n o u stanju visoke i m pe dancij e što je na vremenskom dijagramu p rikazano linijom koja · se nalazi između stanja logičke jedinice i logičke nul e .
latora A, ncma
Tablica 3 . 1 prikazuje stanje na sabirnici podataka i adresnoj sabirnici za model mikroprocesora p ri likom izvođenj a jed nostavnog programa u odjelj ku 3.3.
36
Naprednije arhitekture mikroprocesora I . c i k lus
, �., --J vođenj a
J. c i k l us
2. c i k lus
4. c i k l us
L
tP
adresna sabi rni c a
AO-A 1 5
upravljački
si gnal
č i taj
L
J H
sabirnica podataka 0 0 -07
(86)
(O I )
(23)
SI. 3.16. Pojednostavnjeni vremenski dijagram stanja na vanjskoj sabirnici z a prvu instrukciju (LDA A 0201)
J
s i g n a l vremenskog vođenj a
tP
adresne
sabirnice
AO-A I 5 upravl j ački
signal
či taj
J
I . ciklus
I
.�
I
I
T
2. ciklus
sabirnica podataka 00-07
(98) Sl. 3. 1 7. Pojednostavnjeni vrerr"mski dijagram stanja
(FF )
H
n a vanjskoj sabirnici z a
( lA) drugu instrukciju (ADD A FF)
37
Pojednostavljeni model mikroprocesora l . ciklus
Vidimo da se razmatranja na jednostavnom modelu ovom p rimj e ru p odudaraj u s izvođe nj em u stvar n om mikroprocesoru.
2. c i k l us
u
Slika 3 . 19 prikazuje st anje na sabirnicama pri li ko m izvođenja instrukcije LDA A $OF (za mikroprocesor
s i gnal vremen skog vođenj a
4>
MC 6800) stanj e analizatora .
j e snimljeno pomoću logičkog
adresna
sabi rnica
AO-A I 5
3 . 5 . Logički analizator upravi j ački s i gnal č i taj
sabirnica podataka
00-07
(43)
f a z a p r ibavi
faza i zvrši
· oznaka stanja vel i k e i m p edane i j e
Pojednostavnjeni vremenski dijagram stanja na vanjskoj sabirnici za treću instrukciju (COM AJ Sl. 3.1B.
U mnemoničkom kodu3 isti program (za mikroproce sor MC 6800) ima oblik :
Obj asnimo sliku 3 . 19 : Na slici su prikazana stanja u dva kanala (A i B) logičkog analizatora. Na slici 3 . l9.a) sonde s oznakama AO, A l , A2 i A3 upravo su priključene na adresne linije AO, A l , A2 i A3 , tako da motrimo stanje na adresnoj sabimi ci : 15
$ 0201 $ FF
LDA A ADD A COM A
xxxx XXXX XXXX A3 A2 Al AO
Broj ciklusa potreban mikroprocesoru MC 6800 za izvođenje prve instrukcije j est 4, druge 3, a trećt;: 2. Tablica J. 1 .
Instrukcij a
B6
99
4J •
Logički analizator je instrument koji omogućava istovremeno promatranje 32 ili više točaka u mikro računalskom su s tavu . Stanj e tih točaka (logička "0" ili " 1") on prikazuj e u binarnom , oktalnom ili heksa dekadnom broj evnom sustavu ili u valnom obliku poput osciloskopa. Informaciju će početi prikazivati kad se poj avi unaprijed određena kombinacij a bitova odnosno tzv. okidna rij eč, ili u trenutku ručnog okidanja . Logički analizator pohranjuje skupove sig nala i ima mogućnost prikaza tih signala prije i poslije okidanj a.
Stanj e
B roj ciklusa
4
J
2
s tanj e velike impedancije
) Tro 4
ili
četveroslovna simbolička oznaka instrukcije .
X označava vrijednost 1 ili
primjer (engl. don't care) .
O i
ono nije bitno z a promatrani
n a sabirnici podataka i adresnoj sabirni ci
Ciklus
Signal (Čitaj)
I
I
adr esa
I
adresa instrukcije + 1
2
Sabirnica podataka
A dresna sab i r n i c a
operacijski . kod (B6)
instrukcije
adresa i nst r uk c ije
+2
značaj nij i
baj t adrese operanda
J
I
4
I
adresa operanda
operand
I
I
adresa instrukcije
operacijski kod
I
adresa instrukci j e
J
I
adresa op eran d a
operand
I
I
adresa instrukcije
operacijski kod
2
O
2
-
.
+
I
m anje značaj niji baj t adrese operanda
adresa
(99)
ope r anda
(4J) •
-
38
Naprednije arhitekture mikroprocesora
I: U P --.....a CUP
SI. 1. 19. Slanje na
a)
vanjskim
sabirnicama snimljeno
logičkim analiza/orom
Sonda s �nakom �iključena je na upravljačku liniju RJW (ČITAJIPISI logičko stanje 'T' odgo vara operaciji čitanj a podataka iz memorije, dok logičko stanje "O" odgovara operacij i upisivanj a po dataka u mem orij u ). -
Sonda s oznakom A5 priključena je na upravlj ačk u liniju VMA (Valid Memory Address - pravomoćna adresa memorije) - logička "1" na toj upravlj ačkoj linij i pokazuje me morij i i međusklopovima UlI da je na adrcsnoj sabirnic i pravomoćna adresa.
Sonde s oznakama A6 i A7 priključene su na linij e signala vremenskog vođenja
vremen�kog vodenja logičkog anal izatora postavljen na 50 ns. Svijetla crtkana linija označava upravo prvi ciklus izvođenj a instrukcije.
je
Na slici 3 . 19.a) vidimo da j e prvom ciklusu adresa na adresnoj sabirnici AU
xx:xx
xxxx
upravljački signali su
XXXX
Al
Al
O
O
RJW = 1 i VMA
=
AI
o
AO
o
1.
Na slici 3 . 1 9 .0) prikazan je kanal B logičkog analiza
tora.
Sonde BO do 87 priklj učene su na sabirnicu podataka 00 - 07 .
Prvi ci klus izvođenja i nstr uk cij e označen je svijetlom crtkanom linijom. Stanje na sabimici podataka je valjano u vremenu kad je signal 4>2 logička " I " (sonda
D7
s
oznakom A7) : D6
o
DS
O
D4
D3
o
D2
1
DI
DO
o
.
� : �··0·"'·e·.lle�el!l.
(izvođenje instrukcije LDA
b) A
SOF;
mikroprocesor
MC 6800)
Ova binarna kombinacija (96 heksadekadno) odgo vara operacijskom kodu instrukcije LOA A. -
PRIBAVI.
Prvi prikazani ciklus odgovara prvom ciklusu faze
Obratimo sada ponovo pažnj u na kanal A i analizi rajmo drugi ciklus. Vidimo da je stanje n a adresnoj sabirnici : AI5
xxxx
xxxx
A3
XXXX
o
A2
AI
AI)
O
O
O
odnosno da. se adresa povećala za jedan i po k azuj e na drugi bajt instrukcijske riječi . Upravljački signa l i su RfW 1 i VMA 1 . Na kanalu B imamo u drugom ciklusu : =
D7
D6
05
04
O
O
O
O
Dl
D2
=
DI
DO
1
heksadekadno) odgovara Ova kombinacija (OF drugom bajtu instrukcije (to je manje zn ačaj ni bajt adrese operanda) . -
Pribavljanjem drugog bajta instrukcije završava se faza PRIDA VI.
Treći ciklus odgovara fazi IZVRSI. Na adresnoj sabirnici (prikaz na kanalu A) prisutna je kombinacija : AIS
XXXX
AO
-
XXXX
A3 upravo
A3
xxxx
O
A2
O
At
O
MI
O
odgovaraju manje značaj noj polovici .
bajta adrese operanda .
Upravljački signali su RJW 1 (operand se čila iz s adrese OOOF) i VMA 1 .
memorije
=
=
Na sabirnici podataka (prikaz na k a n al u B) prisutna j e kombinacij a :
39
Pojednostavljeni model mikroprocesora 07
D6
1
O
DS
D4
o
Dl
D2
O
DI
DO
o
i to je upravo operand koji je pročitan s memorijske lokacije OOOF i koji će se u ovom istom ciklusu smjestiti II akumulator A.
LITERATURA [1] S . Ribarić, A rhitektura mikroprocesora, Tehnička knji ga, Zagreb, 1985. [2] A.Osborne , A.n Introduction to Micromputers, Sybex,
1976.
[3] R. Zaks ,A . Lesea , Microproce.<.IOT Interfacing Techni ques, Sybex . 1979. [4] M6800 Microprocessor Application Manual, Motorola Inc. 1975. [5] Microprocessors and Microcomputers, Integrated Com puter Systems , 1976 . [6] S. Ribarić, Arhitektura računala pete gene,acije, Teh
nička knjiga, Zagreb,
1986.
,
4. KOMPONENTE ARHITEKTURE 8- 16- i 32-BITNIH MIKROPROCES ORA A kumulatori, skup registara opće namjene, adresni registri, status-registar, registri posebne namjene 4. 1 . Uvod Mikroprocesor je osnovni građevni blok mikroraču nala . On je centralna procesna j edinica realizirana u tehnologiji VLSIILSI. U ovom ćemo poglavlju opi sati arhitekturu mikroprocesora . Izraz "arhitektura" na području računalskih znanosti nastao je početkom šezdese tih godina II tvrtki IBM.
Upotrebljavao se za opisivanje programskog modela računala iz serije IBM 360 na razini zbirnog jezika. S vremenom se pojam ."arhitektura računala" proši rio, tako da se pod tim poj mom razumijevaju algo ritmi koji se upotreblj avaju za izvedbu osnovnih funkcionalnih jedinica : aritmetička-logičke jedinice, ulazno-izlazne jedinice , upravlj ačke jedinice i memo rije.
Pod poj mom "arhitektura mikroprocesora" razumi jevat ćemo one z nač ajke mikroprocesora koje se odnose na njegovo funkcionalno ponašanje i odre đuju ga , to su : interna organizacij a , struktura regista ra , organizacija aritmetičko-logičke jedinice , izvedba upravljačke jedinice, djelovanje mikroprocesora, tj . njegova stanj a i stroj ni ciklusi. U ovom ćemo poglavlju opisati komponente arhitek ture 8- , 16- i 32-bitnih mikroprocesora.
Svaki dio sustava, a time i cijeli mikroprocesor, najbolje se opisuje skupom registara i njihovom funkcijom , putovima izmedu regi s tara , nizom opera cij a koje se izvode na binarnim informacijama pohra njcnim u registrima, te upraVljačkim funkcijama koje rukovode tim operacij ama. Skup registara, pu tova između njih , organizacija , stanje mikroproce sora i način djelovanja upravljačke jedinice određuje a r h i tckturu mikroprocesora. S l i k a 4 . 1 prikazuje arhitekturu prvog mikroproceso ra, 4- bi tnog Intel 4004 . lako potječe iz 197 t .godine ,
on danas ima samo povijesni značaj . Unatoč vrlo jednostavnoj arhitekturi : o akumulator duljine 4 bita , o šesnaest 4-bitnih registara opće namjene (regi stri za privremeno pohranjivanje/indeksni registri) , o 12- bitno programsko. brojilo,
D adresni stog koj i omogućava gniježđenje pro grama u tri razine , . o j edna interna sabirnica širine 4 bita, o aritmctičko-Iogička j edinica koj a izvodi opera cije na 4-bitnim operandima, o S-bitni instrukcijski registar, o ograničena veličina programske memorije na 4K S-bitnih instrukcija, o nema mogućnost prekida , o sklop za decimalno naravnavanje (DA), o izvođenje instrukcija u vremenu od 10.8 do 21.6
ms ,
on ima mnoge zajedničke komponente arhitekture svoj ih nasljednika 4-bitnih, 8-bitnih , 16-bitnih i 32bitnih mikroprocesora.
4.2. Akumulatori Većina mikroprocesora ima jedan ili više registara koji su po funkciji izdvojeni od ostalih, a nazivaju se akumulatori.
Osim što se upotrebljavaju za privremeno pohranji j ednog operanda, oni sudjeluju pri izvođenju aritmetičkih i logičkih operacija na podacima, te u programiranom prijenosu podataka između mikro procesora i vanjskog svijeta. vanje
Rezultati aritmetičkih i logičkih operacija izvedenih u �ritmetičko-Iogičkoj jedinici pohranjuju se u aku mulator. Obično se akumulator postavlja na jedan od ulaza u j edinicu (51 . 4 . 1 ) i u kombinacij i s privremenim registrima odjeljuje ulaz aritmetička-lo gičke jedinice od izlaza . Odjeljivanje je potrebno kod mikroprocesora s jednom internom sabirnicom zbog utjecaja izl�a aritmetičko-Iogičke jedinice na ulaz (engl. critical race). aritmetičko-Iogičku
su
mikroprocesori imal i samo j edan akumulator. struktura bila je prilično neprilagodljiva i predstavlj ala je usko grlo u računa nju .
Prvi
Takva jednoakumula torska
DO-DJ
sabirni čko
� �
�
dvosmferna sabi rnica
s uč e l i
ef
�
'"
:š-
- meduspremnik
�
;::.. "
"' - b i tna interna sabirnica
�
l (4J I II atJ l akumulator
i-
privremeni regist
instrukeijski regista r
:-
I
1
r-
�
I
registar uvj e t a
�F'-. napaj anJe
- l OV
...--.. .5V
i:
! �
J
CM ROM
RAM
�� CM R A M O-J
17
;;;
:ti
o<
ralin.a
J
razina 2 razina , adresn [
stog
1
PC I I 2) ( J 2)
1 l
m u l t i p l eksor
�
Z ..
( 1 2)
'" .0,
( I Z)
cl' o
1!
�
4 6
� "o
8
:;
10
S
�
12 14
--
(4)
1 (4)
( 4)
(4)
(4) (4) [4) (4 )
(4) (. ,
} 5 1 9
II I}
( 4) (4'
�
."f> ....
9'
� c>-
S' ;;.: �
t
� �
(4) (4) (4J
1 5 (4)
s�up regist a ra
upravl jački sklop
i vremensko vodenje
T E ST
SYNC
TEST
SYNC
SI.
o
-l I
M
� -
instrukcij a
m al no nar avnl a -
. . {-
.. '"
e
� � za deCi-
programsko broj ! l o
dek o d r
-logička j edinica
vani e
(B)
II
mUltiPlekSO�
I
�
4. 1 . A rhit.krura p rvog
CL OCK
d>1 d>2
�
RESET
mikroprocesora InteJ 4004 (4-bitni mikropr.ocesor)
.,.. ....
Naprednije arhitekture mikroproce.fOl'a
42
memorija
operand I operand 2 operanO 3 oper and 4
t empo r
ar y
I m i k r oprocesor I
LOAD
operand
a kum ul at o r
I I
I I
-I
H-J
r-+--
I
I I I I
rez u l t a t
I
r-ADD operand
2
I
I I I
�
<
mik roprocesor memorr a
ak umuI a to r
I
1
l
rezul tat I
I I oper and I operand 2
op era nd 3 operand 4
.
.
temporary
memorij a
I
I
I
I I
I I
STORE
tempo rary
I
I
ALU
I
HI I mikroprocesor LOAD
oper and
3
a
ak um ul tor
operand I rez u l t a t
operand 2
��-- ----operand 3 operano 4
ADD
operiInd 4
t emporary
SI. 42. Tok pot/maka
li
jMnoakumuia!Drskoj Slruk/uri
2
43
Komponente arhitekture 8-. 16- i 32 bitnih mikroprocesora
I mikroprocesor memorij a
operand I operand 2
akumul ator B
operand 3
rezul tat I
operand 4
ADD
memorij a
A
o pe r a nd 2
I mikroprocesor
akumulator A rezul tat
I
operand I
op er a nd 2
akumulator B
operand 3
rezultat 2
op e r a n d 4
ADD
B operand
4
Sl. 4.3. Tok podatakp u dvoakumulatorskoj strukturi
Naprimj er . a ko želi m o izračuna ti ope rand 1 opera n d3 + operand4, mo ra m o :
rand2 i
+ ope
1 . dob aviti prvi operand u akumulator (LDA operand1 ) , 2. pri b roj it i sadržaju akumulatora drugi ope rand (ADD operand2) , 3. pohraniti prvi z broj u m emorij u i t i m e oslo bod i t i a k u m ulator (STA te m po r ary) , 4. dobav i t i treći op e r an d u akumulator (LDA operan d 3 ) , 5 . p rib roj i t i sad ržaj u akumulatora čet vrti operand (ADD o pe r a nd4) .
Slika 4.2 prik32uje tok po d a taka pr il i k o m izvođe nj a takve opera cij e . Vidimo da j e 3 . korak (oslobađanje a k u m ulato r a) uvjetovan i s klj u čivo strukturom s jed nim akumulatoro m .
Mikroprocesor s dva ili više akumulatora dj elotvo r n ij e rukuj e podacima. N apri mj er , isti zadatak će mikroproce sor s dva a kumulatora (A' i B) izve sti na sl j ed eći n ačin (sI . 4 . 3 . ) :
1 . dobavi A
2.
prvi operand
ope rand1) ,
u akumul a to r A (LDA
sadržaju akumulatora A drugi ope rand (ADD A operand2) , 3. dob avi treći o pera nd u akumulator B (LDA B operand3 ) , 4. pribroj i sa d ržaj u akumulatora B četvrti ope rand (ADD B operand4) . pribroj i
8-bitni mikroprocesor MC 6800 (Motorola) mikro je s dvoakumulatorskom strukturom. On i ma akumulator A i akumulator B . S li ka 4.4.a) prikazuje dijagram toka programa kad se u potreb -
pro ceso r
Naprednije arhitekture mikroprocesora
44
( LDA A
STA A
$
početak
,
n a p un i
akumulator A
AA
!
LDA A
sa X
*
AA
,
TE M P I
prenesi sadržaj
TAB
akumulatora A
u akumulator B
ASLA
,
2
izvrši posmak
sadriaj a akumulatora u lij evo
A
ASLA
,
STA A TEMP 2
Izvrši posm a k
I
LDA A TEMP
,
zbroj i sadržaj e
A i B a k u m u l a tor a
L SRA
zbrol l sadrIai TE M P
2 i
r 20
al
za mikroprocesor
.
l: I I
bl
se u mikroprocesoru pridodaju registri s adresnom funkcijom (npr. indeksni reg istar) . Indeksni registar je t ip adre sn og re gi stra čiji se sadržaj prib raja sadržaju adresnog registra da bi se dobila adresa operanda.
obično
mikroprocesor MC 6800 (sI.4.6) ima a MC 6809 (51.4.7) ima dva in de ksn a registra .
jedan inde ksni re gist a r
,
ciklusa
Međuti m , s d alj im razvojem arhitekture mikropro ce sora funkcijska ograničenja pojedinih registara su
napuštena i registri se u s kupu registara m ogu u po t reblj a vati kao akumulatori ili kao indeksni ( a d re sn i registri), tako da mikroprocesori koj i nemaj u po fun k cij i izdvojene akumulatore obično upotreblja vaj u jedan ili više rcgistara iz skupa registara op će namj ene kao ak u m u la tor odnosno akumulatore .
,
MC 6800.
Akumulatorskoj s truktu ri
Naprimj er.
ciklusa
Dijagram loka izvođenja programa z a operaciju 2,5WX
lj ava samo j e d a n ak u mu l a tor (p rogram rješava zada 2,5 X , gd e j e X ope ran d u ak u mula toru A) . Slika 4.4.b) pri kazuj e dijagram tok a pro grama kad se upotreblj avaju dva ak umul a tora Pro gram koj i u potre blj av a dva a k u m ul ator a gotovo je 100% b rž i (odnos potrebnih ciklusa j e 20 : 11), a postiže i uštedu me mo ri j sko g prostora (odnos je p o trebnih bajtova m e m orij e 1 3 : 7) . Slika 4.5 prika zuje obj e inačice programa u he ksad ek ad no m kodu tak m n ože nj a
2
ABA
ADDA TEMP 2
akumulatora
SI. 4.4.
2
sadr!aj a LSRB akumulatora B u desno
4.3. Skup registara opće
namjene
Registri o pće namjene (engl . general-purpose regi ster) omogućuju ru ko v anj e podacima velikom brzi nom . Registri opće namjene obično su u mikroproce
u maloj memorijskoj jedi nici s vremenom pristupa koje odgovara brzini arit metičko-logičke jedinice i upravlj ačke jedinice.
sorskom čipu organizirani
45
Komponente arhitekture 8-, 16- i 32 bitnih mikroprocesora početna adresa programa o M •
ODDS
0005
broj potrebnih memorIje: I '
96
· 0006 A A
b ro j ciklusa potrebnIh za izvršenje programa: 20
o 0007 97 · 0008 CC o
o
b aj to.a
0009 48
DODA,
97
• OOOB DO • o
OOOC O O OO
96 cc
o
OOOE 44
o
OOOF
· 00 1 0 o O
o
9B DD
00 1 1 'F
T
-
TL-----_ program
o M OOA A o
OOAA
lJ heksadekadnom kodu
memorijske lo kacije
r---- postavljanje
26
op er.nd
a
X(X= 26H )
• M A 04B o o
A048 OO A0 49 l J
• A04A
·
l
• G DO
05
r--- postavlj anj e
EC
startanje
FC
programskog broj i l a na početak programa
programa
5F FCFC DO l I A042
L- rezultat
u akum u i a to r u A
al • M 0005 broj potrebnih baj tova m emorij e: 7
• 0 00 5 96 •
0006
• 0007
AA
broj c i k l usa potrebn i h izvršenj e programa: I I
16
• 0 00 8 48
za
• 0009 54
· OOOA 18 ·· OOOB 'F • M OOAA • OOAA 0 4
s
26 f---po t aVl j anj e . operanda X ( X . 26 H )
• M A04B • A 04e OO •
A049 08
• A 04A • G
OS
EC
DO lJ SF FCFC
T
0008 A042 rezul tat u akumul atoru A
SI.
4.5.
bl Primjer programa za računanje 2,5WX
Tako organizirani registri nazivaju se i skup registara za privremeno pohranjivanje (scratchpad registersl)
Registrima iz skupa registara mogu se dodjeljivati funkcije koje se od nose na rukovanje podacima (u
užem smislu riječi) i adresne funkcije. Slika 4 . 8 prikazuje organizaciju skupa registara za mikroproI
Engl. scratchpad - pribilješka.
Naprednije arhitekture mikroprocesora
46 adresna sabirnica
eli I eli 2
NMi
REŠEf halt
dekodiranje
TSC
uprayll anj e
IRQ
D8E
BA VMA
I
RM
D7
D6
•
•
D I DO
•
�------�V�--� Sl. 4.6. Mikroprocesor MC 6800 sabirnica podataka
cesor RCA Cosmac 11102 . Skup
od
se registara sastoji šesnaest (RO, Rl, . . . , RF) 16-bitn ih registara .
Svaki od njih može imati funkciju programskog brojila, indeksnog registra ili kazala stoga ili pak
registra podataka .
Funkcije
u skupu registara
u četverobitni registar P upisuj e
se na o
registara sljedeći način : pojedinih
nog od registra RO do RF registra
biraju
se adresa jed
(npr.R2) preuzima funkcij u programskog brojila , o sadržaj četverobitnog registra X određuje regi star koj i će u skupu registara imati funkciju kazala operanada
u
memoriji,
i taj registar
o slobodni re gist ri u skupu registara upotreblj a vaju se za privremeno pohranjivanje po dataka .
Registar o pće
n amj e ne može se upotrebljavati
izvorni ili odredišni
registar
ili
kao
kao
akumulator.
Takav se registar može upotreblj avati i kao adresni registar koj i sadrži kazalo op cran a da u memorij i ili indeksnu vrijednost. Me đ utim, potrebno je n agl asiti da ipak postoje neka ograničenja u vezi s upotrebom registara opće namjene.
namjene za (tvrtka Zilog) . Registri B', C ' , D ' , E' , H' i L' predstavlj aju drugi skup regist ara opće namjene. U skupu instrukcij a za Slika 4.9 prikazuje
skup re gistara opće
8-bitni mikropwcesor Z80
47
Komponente arhitekture 8-, 16- i 32 bitnih mikroprocesora r-___a d re " na...sabl rnica ____�
adre5ni
adresni
medurl!gistar
meduregistar
XTAL
ETAL Vss +5V
i J i J 6-bltni registar D
SI. 4.7.
Mikroprocesor
sabi rnica podataka D -D 7 O
MC 6809
Z80 pos toj e ins tr u kcij e za izmjenu s ad ržaj a ,p arova regi s tar a . Npr . in st ru k cij a EXX izmj e nj uj e sadržaje svih parova re gist ar a :
DX osim toga što su namij enjeni logičke operacije mogu imati i posebnu funkciju u adresiranj u, u opera cij a m a UlI ili mogu poslužiti kao b rojila : Registri BX, ex i
rBC l [B'C' l I DE I - I D'E ' I lHL J tH'L' J
za aritmetičke
Slika 4 . 1O.a) prikazuje skup registara opće n amj e n e 16-bitnog mikroprocesora In tel 8086. Regis t ri su u m ikr oprocesoru Intel 8086 pod ij elj eni u dvije grupe po četiri r e gi stra : D
grup a
D
grupa kazala
registara
sI . 4 . 1 O . a» ,
j enom značaj nijem (npr. BH) ili manj e zn ač aj nom b aj t u (npr. BL).
pod ata ka
(grupa
H
&
L,
i indeksnih re gi sta ra (grupa P & I,
sI .4.10.b)) . Grupa registara podataka s as toj i se od re gis tara AX, BX, ex i DX. Ti se registri upotrebljavaju za pohra
nj iv anj e operanada i re zult at a . Omogućen je pristup 16- bi t n oj rij eči u re gist ru (npr . BX) ili pristup izdvo-
i
BX se
može pri li kom računanja adrese upotrijebiti može upotrijebiti kao uključno brojilo za više iteracijske instrukcije2,
kao DX
bazni registar , ex se
se
upotreblj ava
kao
regi st a r
koj i
UlI vrata za vr ij e me UlI operacij e.
sadrži adresu
Svaki od t i h registara može i mati i ul ogu akumulato
ra.
' Izvođenje tih instrukcija zav rlav a se kad sadržaj registara ex postane O (inkrementiranjem ili dekrementiranjem njegova sad ržaja).
Naprednije arhitekture mikroprocesora
48 uli
naredba i l i
ulI naredba
seriJski
adresa memor H e
O) (8)
registar A
( 1 6)
InkrementI dekrement
1
skup !"Qistar a za privremeno
pohr8n�lvanie
ALU
SI. 4.8. Organizacija mikroproc<sora RCA COSMAC CDP 1802 akumulator
akumulator
IX
SI. 4. 9. Skup ttgislara opte namjene (mikroprocesor Z-BOJ
IV
indeksni registri
Komponente arhitekture 15
8-, 16- i 32 bitnih mikroprocesora B ?
(AX)
akumulator
49
Slika 4 . 1 1 prikazuje registr e opće namje ne 16-bitnog
mikroprocesora MC 68000 (Motorola) . Iako je MC 68000
(BX)
še sn ae s tobi t ni
mikroprocesor,
nj egovi su registri dulj ine 32 bit a . Registri su podije
(e x )
ljeni u dvij e grupe .
U p rvoj
gr upi od osam registara
n al aze se registri podataka RDO do RD7 , koji se
(DX ) SI. 4.10. 0) Skup regisIara opće namjene J6-bilnog mikroprocesora Intel 8086
upotreblj avaj u za rukovanje 8-bitnim , 16-bitnim i 32-bitnim po d a ci m a . O sim fun kcij a odredišta
i i zvori št a operanada, ti i nd eksnog registra i
registri mo gu imati funkciju brojila podataka.
Drugu grupu čine adresni reg istri RAO do RA6.
15 kazalo stoga kazalo
Registru RA 7 dodij elj ena je funkcija kazala stoga.
(SP)
S e d a m re gi s tara , RAO do RA6 , mogu rukovati 16-bit ili 32-bitnim oper and im a
baze (SB)
izvorni indeksni registar
ni m
(sI)
odredi!ni indeksni registar (DJ)
b) Grupa registdra-kazala i indeksnih registara mikroprocesora Intel 8086
31
16
15
8 ?
.
Re gi stri RAO do RA6 imaj u prvenstvenu namj enu d a sadrže adresu. Budući d a im je duljina 32 bita,
adresa može biti u opsegu od O do 232
967 925 lokacij a .
-
1
=
4 294
a Roa
RO I ' R02 R03 R04 R05
R06 RD?
31
16 1 5
a
RA7 L-___________________________..J RA 7 '
SI. 4. 1 1 . Skup registara opće namjene 16-bitnog mikroprocesora MC 68000
so
68000 postavlj a na adresnu sabirnicu adresu širine 24 bita, tako da se samo manje značajna 24 bita s ad ržaj a adresnog registra mogu postav iti na adresnu sabirnicu . Međutim MC
31
Naprednije arhitekture mikroprocesora o
Adresni registri RAO do RA6 mogu se upo trije bi t i i kao indeksni re gistri , te kao dodatna kazala stoga. Adresni regi star može poslužiti i kao izvor operanda (opera nd duljune 16 ili 32 bita) , ali i kao odredište o pera n da .
jednaku strukturu registara opće namjene ima i 32-bitni mikroprocesor MC 68020.
Slika 4 . 12 prikazuje registre opće namjene 32-bitnog mikroprocesora ostv a re n a u tehnologiji GaAs (McDonnelI Douglas Astronautics) . Mikroprocesor ima 17 regi s tara opće namjene. Svaki je duljine 32 bita. Registri Lo i Hi mogu također poslužiti kao registri opće n amje ne . ali se prvenstveno upotrebljavaj u za podršku s kl opova za mn ožen j e i dijelj enj e.
R15
Različiti mikroprocesori imaju različit broj registara. Ispitivanja su pokazala da je optimalan broj registara između osa m i trideset i dva .
Slika 4 . 13 prika z uj e arhitekturu 16-bitnog mikropro cesora 9900 (Texas Instrume nts) . Procesor ima samo tri 16 -b itn a registra , dok su regi stri opće namjene smješteni u mem orij i . Važnu ul ogu ima registar WP (Workswpace register) , tj . re gi s tar radn o g prostora koji sadrži adresu prve od šesnaest 1 6-bitnih me m o rij s kih lokacija, a i maj u u l ogu šesnaest reg i stara op će n a mj e n e (sI.4. 14) .
4.4. Adresni registri Adresni
regi s t ri su reg i stri
prvenstveno upotrebljavaju za
posebne
namjene - oni se
pohranjivanje adresa. Adrcsni registri koj i su uo bi čaj e n e ko mpone n te arhi tekture većine mikroprocesora j esu : o programsko bro j ilo , p o mo ćno p ro gr a m sko bro
jilo, o
o
(engl . stack pointer) .
indeksni registar. kazalo stoga
Programsko brojiloJ
P rogr a msko b roj i l o sadrži adresu sljedeće instrukci je. Funkciju smo programskog brojila opisali u pojed nostavnjenom modelu mikroprocesora. Budući da su instrukcije pohranjene na slij ednim memorijskim lokacijama, inte rn a logika mikroprocesoca povećava sadržaj programskog broj ila u fazi PRIBAVI, tak o da na završetku te faze programsko brojilo pokazuje na sljedeću instrukciju u nizu . Izvođenje instrukcija u slijedu može se narušiti tako što se sadržaj pro u fazi IZVR�iI (npr . uvjetnog i bezuvjetnog grana
gramskog brojila promijeni
izvođenjem instrukcija
nj a . grananj a u potprogram)
ili
se
vrijednost pro-
Sl. 4. 12. R�stri opće namjene 32-birnog mikroprocesora (MeDon nelI Doug/as As/ronau/ics Co)
gramsko g brOj il a može p ro m i je niti zbog t zv . obrade iznimke (engl. exce ption al processing) kao što j e prekid i li zamka (eng\ . trap) .
u većini takvih slučajeva (izuzevši uvj etn o i bezuvjetno gr an anj e) trag izvođ enj a slij e da instruk cija (sadržaj programskog brojila) ostaje - "stari" se sadržaj programskog brojila pohranj uj e , tako da mikroprocesor nakon obrade iznimke ili potpro
No i
grama može nastavi t i izvođenj e od mjesta gdje se dogo dil a iznimka ili gr an anj c u potprogram .
Duljina riječi pro gram s ko g brojila obično daje i n for maciju o izravn o adresabilnom memorijskom pro storu i ši ri n i adresne sabirnice . Npr. većina 8 -b i tn ih mikroprocesora (Int e l 8085 , Motorola MC 6800 ,
J U literaturi se upotrebljava i izraz .kazalo instrukcija« (engl. Instruction Pointer).
Komponente arhitekture
8-,
Sl
16- i 32 bitnih mikroprocesora
mik roprocesor
Tl 9900
15
O
registar
r-
WP
program!ko b roj i l o PC registar
uvJ etI!
ST
--r--� r-
�
RD Ri
· · ·
RI5
Sl. 4.13. Arhitektura 16·bitnog mikroproceso ra Tl 9900 tvrtka Texas Instruments)
Z80, RCA COSMAC CDP 1 802 , MC 6809 itd . ) ima programs ko broj ilo dulj ine 16 bita , što orriogućava izravno adresiranje memorijskog prostora od 64 K baj ta. Sirina je adresne sabirnice (multipleksirane ili nemultipleksirane) šesnaest bita. Sesnaestobitni mikroprocesor Intel 8086 ima pro gramsko brojilo (izvorni naziv : kazalo instrukcije) duljine 16 bita, međl!tim u kombinaciji sa segmen tnim registrima ima izravno adresabiIni prosIor od IM baj ta . Sesnaestobitni mikroprocesor Motorola MC 68000 ima programsko brojilo dulj ine 24 bita i izravno može adresirati 224 baj ta memorije .
3
32-bitni mikroprocesor M C 68020 ima programsko brojilo dulj ine 32 bita (i nemultipleksiranu adresnu sabirnicu širine 32 bita) , tako da izravno može adresirati memorijski prostor veličine 2 2 4 294 967 926 baj tova. =
Pomoćna programska brojila (nisu elementi pro
gramskog modela mikroprocesora) imaju funkciju sličnu onoj broj ila podataka u pojednostavnjenom modelu . Kazalo stoga
Prije negoli opišemo funkciju kazala stoga moramo obj asniti pojam "stog" (engl . stack) . Stog j e LIFO
memorij a
m I k roračunala
(Last-In-First-Out - zadnji unutra prvi van) memorij ska struktura koj a uklj učuj e kronološku komponentu - najstarij i podatak je na dnu stoga, dok je najmlađi (onaj koj i je posljednji pohranj en u memoriju) na vrhu . Stogom se rukuj e samo dvj ema operacijama : D položi podatak na stog (engl . push ) , .0 uzmi podatak sa stoga (engl . pull i l i pop) . Operacijom polaganja podatka na stog pohranjuje se podatak na vrh stoga. Operacijom uzimanj a po datka sa stoga uzima se "najmlađi" podatak (onaj koji j e poslj ednji položen na stog) , tj . podatak s vrha stoga (sI.4. 15) . Stog se može ostvariti kao programski stog, tj . posebno rezervirano područj e u memoriji s izravnim pristupom , ili kao sklopovski stog, tj . ostvaren kao skup registara na samom mikroprocesorskom čipu . Mikroprocesori iz prve generacije (npr. Intel 4004, Intel 4040, Intel 8008, Rockwell PPS-8) imali su sklopovske stogove , dok većina mikroprocesora ka snijih generacij a ima programske stogove . Dubina stoga (broj memorijskih lokacija koje čine takav stog) zavisi samo od veličine memorije . Stog s e prvenstveno upotreblj ava u postupcima po služivanj a potprograma , prekida i posluživanj a zam ki . On služi za privremeno pohranjivanje podataka kao što su :
52
Naprednije arhitekture mikroprocesora mikroprocesor
1- - - - memorija
registar WP (registar radnog prostora)
I I I
'-----:.-1
adresa
1 6 -bi tne memorijske lokaci j e
speci/alne funkcije
xxxx
I XXXX+2 I I XXXX+4 I
RO
ne mole
biti indeksni registar
\ XXXX+6
\
I
XXXX+9
i XXXX+A / XXXX+C
I
\ XXXX+E
I XXXX+ I O I I XXXX+ t 2
\
I XXXX+ 14
\XXXX+ 1 6
I XXXX+ I B
povratna adresa adr esa la spec. instrukciju
pohranj ivanj e stare vrijednosti W P
\
IXXXX+ IE
pohranj ivanj e stare vrij ednosti ST
I
SI. 4. 14. Registri opće namjene 16-bitnog mikroprocesora T1 9900 smješteni u memoriji s
povratna adresa
programa,
koja
osigurava
povratak iz pot
(stanje) mikroprocesora koji je potreban za pravilan povratak iz prekidnog pro gra m a i pravilan nastavak izvođenja gl av nog (pre kinutog) programa. Naprimjer, na stog se automatski pohranjuj e sadržaj programskog brojila neposredno prije granan j a na potprogram. Taj sad ržaj u stogu je up ravo povratna adresa koj a će se nakon izvođenja potprograma au tomatski uzeti sa stoga i smjestiti natrag u pro gr a msko brojilo. Stog podržava i gniježđenje potpro grama ili gniježđenje prekidnih programa. CI
tekući status
CR U
pohranjivanje stare vrijednosti PC
\XXXX+ I C
o
tipa
I IXXXX+ I A
izravnim pristupom
(RAM)
Stog se može upotrijebiti i za pohranj ivanje po d atak a koji imaj u strukturu LIFO .
Kazalo stoga j e registar koj i sadrži adresu p o d atka koj i se nalazi na vrhu stoga. Duljina registra, kazala stoga , zavisi od veličine memorije kojoj se može izravno pristupiti . Npr. 8-bitni mikro p rocesori koji
imaj u izravno adresabilan prostor od 64 K bajta kazalo stoga dulj ine 16 bita, dok 1 6-bitni i 32-bitni mikroprocesori imaju kazalo st oga dulj ine 16 ili 32 bita.
imaju
Svaki pristup stogu (polaganje ili uzi m a nj e pod ataka) mij enj a sadržaj kazala stoga .
Komponente arhitekture 8-, 16- i 32 bitnih mikroprocesora
F3 podatak
�
vrh stoga
(najmlađi podatak u
S3
��
PULL
Fl
stogu)
20
najmlađi podatak
JI
1-------1 7F
7F
rdno stoga
63
63
FD
FD
(najstariji podatak u stogu)
Sl.
operacijom PULL u zi ma se iz stoga
2D
4. 15 Struktura stoga
(LJFO
- Last ln First
- podatak s vrha stoga
Out)
FJ adresa
m m m
m
akumul ator A
sadrlal memorije
- 2
m m m m I I
m m m m m m
m m m .
m m m
m m m
7F
•
2
m +
3
'
63 FD
m m m m
-
.-
kazalo stoga
,
SP
l ) stog prije PSH A instrukcije
[
F3 akumulator
A
m m m m - 2
m m m m m m
Fl
m +
I
7F
m m m
m
+
2
63
m m m
m
+
J
FD
m
Sl. 4. l6,a) Izvođenje instrukcije PSH (za mikroprocesor MC 6800) l) Stog prije izvodenja irrslrukcije PSH A 2) Slog poslije izvodenja illStrukcije PSH A
m m
m m
J I
- I
A
--
m m m m - I kazalo stoga
2)
J SP
stog poslije PSH A Instruk c i j e
54
Naprednije FF
akumulator
arhitekture
mikroprocesora
A
m m m m ..
m m m m
m m m m
..
l
I
m m m m +
m m m m
.
1F
k azalo
63
FD
l) stog prije
PUL
stoga
l
SP
A lnstrukcij�
7F
akumulator
m m
m
A
m ..
m m m m ..
m
m
m m
m m m m ...
m m m m + l
SP
m m m m + 2
m m m m . 3
2) stog poslije PUL
FD
Čitanje podataka iz stoga (uzimanje podataka
stoga) auto m a ts k i
sa kazala s tog a ,
dok operacija upisivanja podataka u stog (polaganje rod a t a k a na stog) uutomatski smanjuje sadržaj ka zala stoga . povećava sadržaj
stmkture stoga i dj elovanje kazala važno za razumijevanje osnovni h značajki mikroprocesora kao što su obrada iznimaka (prekidi, zam ke) grananje i povratak iz potprograma . Korisnik mora izuzetnu pažnju posvetiti opisu djelo
Razumijevanje
stoga izuzetno
je
mehanizma stoga
ponašanje stoga i kazala stoga razlikuje po malim, ali bitnim detalj ima od mikroprocesora do
vanja
jer se
za pojedini
ćemo odjelj ku ilustrirati različitost djelova i ponašanj a kazala s toga na tri primjera : S-bitna mikroprocesora i jednom 16-bitnom mi
ovom
nj a
dva
stoga
kroprocesoru .
instrukci j e
potprogram, p ro gr amer ima na raspolaganju i ins trukcije koje su namj enj ene rukovanju stogom.
Slika 4 . 1 6 prikazuje ponašanj e stoga i kazala stoga za B-bitni mikroprocesor MC 6800. 16-bitno kazal o stoga SP pokazuje n a vrh stoga . i to na "praznu" lokaciju stoga . Slika 4. 1 6. a ) i l ustri ra izvodenje instrukcije PSH A ( push A - [lO loži [loda tak iz akumulatora A na stog) koje sc za MC (,XOO može opisati kao :
(A)
Osim operacija automatskog pohranjivanj a po d a t ak a u stog prilikom obrade izn imaka ili grananja u
-+
(SP) -
mikroprocesor,
mikroprocesora .
U
A
Sl. 4. 16.b) Izvodenje insrrukcije PUL A (za mikroprocesor MC 68(0) l) SlOg prije izvodenja insrrukcije PUL A 2) Srog poslije J: vodenja insrrukcije PUL A
M (SP) 1 -;. SP
Pohrani sadržaj akumulatora A u memorijsku lo kaciju na koj u pokazuje k azal o stoga (njena se adresa nalazi u kazalu stoga) i nakon toga umanji za 1 sadržaj kazala stog a SP .
Slika 4. 16.b) prikazuje izvođenje instrukcije PUL (pull A - uzmi podatak sa stoga i smj esti ga
akumulator A) .
A u
55
Komponente arhitekture 8-. 16- i 32 bitnih mikroprocesora B
:
FF
r�glstarski par
m m m m -
FF e
m m m m - 2
m m m m
7F
m m m m +
6)
m m m m + 2 m m m m + '
J I
kazalo stoga
FD )1
J
m m m m
SP
I) stanJ� prij e izvođenj a instrukcIje POP ec B
6'
m m m m - 2 m m m m m m m m
6)
m m m m + Sl. 4. I 7.1J) Izvođenje ins trukcije POP BC (za mi kroprocesor Z-80) l) Slanje prije izvodenja
instrukcije POP BC 2) Slanje poslije izvođenja ins/rukcije POP BC
m m m m . 2
m m m m
...
3
FO )1
Budući d a kazalo stoga (za mikroprocesor M C 68(0) pokazuje na "praznu" lokaciju na vrhu stoga , sadržaj sc kazala stoga prvo' povećava za 1 , tako da sada pokazuje zaista na podatak u stogu , a zatim se podatak premješta u akumulator A :
(SP) + 1 -> SP M (SP) -> A
Instrukcija PUL A ne briše po da tak na memorijskoj lokaciji mmmm +. 1 (sI . 4 . 16.b» , međutim sadržaj te
m e morij s k e lokacij e nij e element stoga i on će b i t i pre kriven ili i7.gubljen
u slj edećoj instrukcij i PUSH .
Slika 4 . 1 7 p r i ka zuj e izvođenj e instrukcij e PUSH i POP za m ikroprocesor Z80. Instrukcij a polaganja podataka na stog ima oblik PU�iH rp
ili
PUSH IX PUSH IY Instrukcijom PUSH na stog se polaže registarski p a r A i registar F (registar (2 x 8 hita) uvj eta ili statusa) , ili sadržaj indeksnog registra (IX
BC, DE, HL,
kazalo
m m m m + 2
SP
stoga
2) stanj e nakon jzvođenj a i nstrukcije
POP BC
ili IY) . Obratite pažnju na 1 6-bitno kazalo stoga SP. On o pokazuj e na vrh stoga , ali na "punu" lokacij u
stoga , tj . na podatak koji je element stoga ! (Slika 4. 1 7 . a) ) .
Slik a 4. 1 7 . b) prikazuje izvođenje instrukcij e PUSH IX, gdj e j e IX 16-bitni indeksni registar . Mi k ropro ce sor Z80, zbog svoje arhitekture koja j e orij entirana prema skupu registara opće namjene što su organ izi rani u parove , pomoću instrukcij a PUSH i POP rukuje sa podacim a dulj ine 16 bita (registarski par ili indeksni registar) . Slika 4 . 1 8 . a) prikazuje operacije nad stogom za 16-bitni mikroprocesor MC 68000 . Funkciju k azala stoga imaju adresni registri A7 i A7' ( prema tome u koj em je načinu rada mikroprocesor) , iako korisnik može upotrijebiti kao kazalo sto g a i bilo koj i drugi adresn i registar AD do A6. Kazalo s t oga je 32·bitni registar (interna arhitektura mikroprocesora MC 68000 ima mnoge značaj ke arh itekture 32-bitnog mikroprocesora) .
Naprednije arhitekture mikroprocesora
S6
�I IX
F____ _ 45______�_____F �_____ indeksni registar
m m m m m m m m
7F
m m m m ...
63
m m m: m
I
FD
m m m m + 2
I
31 l)
kazalo
stanje prije izvođenja instrukci j e .
+
I
2
stoga
PUSH
SP
IX
IX
45
m m m m - 2 m m ", m -
m m m m
mm
mm
SP
kazalo stoga
m m m m ...
SI. 4. 1 7. b) Izvođenje instruk cije ·PUSH IX (za mikropro cesor Z-80)
FD
m m m m + 2
31
m m m m + 3
2 ) stanje
Instrukcij a polaganja datka) na stog za MC
nakon
podat a k a ( n p r . 1 6-bitnog
68000 ima obli k :
MOVE . W
Dl,
-
i zvođenj a instrukc ije
po
(A7)
Instrukcija odreduje da se podatak duljine riječi (16 bita) iz 32-bitnog registra podataka Dl položi na stog tako da se neposredno prije samog pol aganj a na stog umanj i sadržaj registra A7, koj i ima funkciju kazal a
stoga .
Registar A 7 , zhog značaj ki mikroprocesora MC 68000 , m o r u uvijek pokaziv ati na memorijsku lo ka
ciju s parnom
a d reso m _
Kazalo stoga SP pokuzuje na "punu" memorij sku lokacij u . Slika 4. I Il. b) prikazuje operaciju uzimanja podataka duljine riječi (16 bita) sa stoga .
(A7) + , D2 Instrukcija premješta po d a tak s memorijske l okacij e na koju pokazuje kazalo stoga A7 u odredišni registar D2, ali tako da n e posred no nakon p ri j e n o s a podatka i n k re mentira sadržaj kazala stoga . MOV E . W
l) Stanje prije izvođenja ins trukCije PUSH IX
2) Stanje poslije jzvođenja
instrukcije
PUSH IX
Mikroprocesori
PUSH IX
mogu imati jedno i l i više kazala
stoga . 8-bitni m ikroprocesori obično i maj u samo
jedno kazalo stoga , dok 1 6-bitni i 32-bitni mikropro
cesori
Npr.
imaju
dva ili više kazala stoga.
16-bitni mikroprocesor MC 68000 ima dva
kazala stoga . Iedno kazalo stoga , USP
Pointer) ili
(User
Stack
A7, omogućava operacije sa stogom
u
korisničkom načinu rada mikroprocesora (engl . user
mode ) . Drugo kazalo stoga , SSP (Supervisor S tack Pointer) ili A7' , upotreblj ava
rada mikroprocesora
(engl .
se u
nadglednom načinu
supervisor
mode).
AO do A6 u modelu mikroprocesora MC 68000 može se upotrijebiti i kao kazalo stoga ako se upotrijebi odgovarajući način adresiranj a (vidi pri mjer za MC 68000 , s1.4_ 1 7 i 4 _ 1 8 , poglavlje 6)_
Međutim , svaki od adresnih registara programskom
32-bitni mikroprocesor MC 68020 ima korisnički stog (A7) , prekidno kazalo stoga ISP (A7') i glavno kazalo stoga MSP (engl . M aster Stack Pointer) . USP
Komponente arhitekture 8·, 16· i 32 bitnih mikroprocesora
57 ouca
baltno orgaIlIzirana memorij a bal t m
m m
riieč
lF
01
FJ
42
Dl
32-bitni ..!glstar podataka
m -
m m m m - 4
I
rTl m m m m m rTl m m m m m -
m m m m .
26
m m m
m .
FF
m m m m •
45
m m m m . 4
m
m
m
1
J7
m m m m
m �
m m m m
kazalo !toga - adresnI regIstar (auij in. 32 bita)
(pokazuje na
memorll 5ku lokaciju s parnom adresom)
FD 'l stog
A7
l)
\
prije iMlden' a i".trLAc:cije MOVE.W D I , -(Al
l slan'e
DI
rTl m m m rTl m m m - 4 m m
m
- }
rTl m m
m
- 2
m
rTl m m m m m m m
42
Fl JJ
m m m m .
26
�
FF
m m m m
rTl m m m • m m m m . m m m m
m m m m - 2
kazalo stoga - adresni registar
•
45
FD }1 stog
2)
stanje nakon iMldenl' a inst rukcije MOVE.W D I , - (A7
SI. 4.18.a) Iz vodenje instrukcije polaganja podataka na slOg (za
16·bitni mikroproce.l'Or MC 680(0) J) Slanje prije izvodenja instrukcije MOVE. W DI, ·(A7) 2) S/anje poslije izvođenja instrukcije MOVE. W DI, ·(A 7)
A1
Naprednije arhitekture mikroprocesora
58 bal t
I
m m m m - 5
m m m m - 4
I
:
'F OI n -bi tni registar
FF
I
podataka
I
FF
02
02
m m m m m m m m - 2
42
m m m m - I
FJ
m m m m
J7
m m m m .
26
m m tT'! m
+
FF
m m m m . '
45
m m m m + 4
FO
m m m m . S
,I
stog
I
l
I
m m m m k azalo
stoga
-
adresni
registar
A7
SP
.
I I stanle prlje ilvoden!a Instrui
m rn rr m - S
m m m m - 4 m m m m -
m ,.. m
m - 2
!rt m m m -
m m m +
ln r.1 m m t I r , n en m .. . . . II' 'fl m
Fl
JJ
l'n m m m rc.
42
•
m tn m m ..
26
�J Sp
�____________ ��--------�L-__________m__m_ _m _ , _m _ . __ + _2__________ FF 45 FO ;1 sto9
SI. 4. IS, b) IZ I'od<'llj<' instrukcije uzimanja podataka duljine rijeti .
S9
Komponente arhitekture 8-, 16- i 32 bitnih mikroprocesora adrese
m m m m - 4 m m m m -
m m m m - 2 m m m m -
I I
m m m m m m m m .
m m m m .
:
n-bi tni registar A 7 m m m m
1
USP (korisničko
zalo stoga)
ka
·
;:1-
korisnički stog
;:
n n n n - S n n n n - 7 n n n n - 6
n n n n ..
n n n n - 4
n n n n -
n n n n -
n n n n -
I
n n n n
l
n n n n ...
n n n n +
n n n n + 3
n
n n
n
32-bitni registar A 7 '
.
+ 4 · · ·
nad glednl (sistemsk i ) stog
baj t
SI. 4. JlJ. II I SIlInje stogova j kazala Sloga USP (korisnitkog) i SSP (nadgi<·ti"ox) {JTije grananja " potprogram (za mikroprocesor MC 68(XXI)
n n n "
SSP ( nadgledno ka zalo stoga)
Naprednije arhitekture mikroprocesora
60
m m m m - 4
PC
m m m m
- 3
PC [ 23: 16]
m m m m
-
[ ' 1 : 24]
1
PC [ 1 5:8J
m m m m - 1
PC (1:0 ]
USP
m m m m - 4
povratna I adresa fz potprograma
pc[3l:01
-
povrat na adresa
m m m m
m m m m
+
m m m m +
1
2
korisnički stog · · · .
::�
�
n n n n - a
n n n n
- 1
n n n n n n n n - 5
h n n n - 4 n n n n
- 3
n n n n
- 2
n n n n ..
J
L
n n n n n n n n •
n n n n + n n n n
+
n n n n + 4 • · ·
b aj t
SI. 4. 19.b) Stanjt stogoVQ i kazala S/OgD USP i SSP poslije grananja u po/progmm
n n n n
I SSP
61
Komponente arhitekture 8-, 16- i 32 bitnih mikroprocesora
m m m m
- 4
PC
I
[3 1 : 2 4 ]
m m m m - 4
I
usp
I
SSP
(povratna adresa iz potprograma)
PC (U: ) 6) PC ( 1 5: B ]
pc [ 7:0]
· · ·
:�
;. ;;;
n n n n - 8 n n n n - 7 n n n n - 6 n n n n -
[1 5: 9 ]
SR SR
[7:0 ]
n n n n - 4
PC (3 1:24 ]
n
n n n -
Pc ( 23: 1 6 )
n n n n -. 2
PC [ 1 5: S ]
n n n n - l n n n
PC
status registar
I I
povratna adresa (povratak iz prekida)
[7: 0 ]
n
n n n n + n
n n
n
nadgl edni stog
+
n n n t\ + n n n n + · • •
baj t Sl. 4. 19. ci Slanje stogova prihvaćanja prekida
n n n
kazala sloga USP i SSP nakon
n
-
6
Naprednije arhitekture mik roprocesora
62 Istovremeno je aktivno samo j edn o kazalo stoga , što
za v isi od s t a nj a o
ako je S
zastavica u re gistru u vjet a :
O,
=
akt iv n o
je
korisničko kazaLo stoga
USP,
1
M O , a k tivn o je prekidno kazalo stoga ISP ( o n o o dgo va ra fun k cij i kazala stoga SSP u M C 68000) , o ako je S 1iM 1 , ak ti vn o je gl avn o k a z al o s t oga MS P . o
ako j e S
=
i
=
32 -bit ni
=
=
m ikroproceso r
st oga .
iAPX
432
ima
četiri kazala
automati za m u ponašanj u stoga priLikom grananj a u ' pot program. Pretpostavimo da se za vri j e m e izvođenje potpro
grama dog o d io i pre k id koj i poslužen . Primjer opis uj e kroprocesora
j e pr ihv aće n i koj i će biti po n aša nj e 1 6-bit n o g mi
MC 68000.
Kao što je već spomenuto, m i krop r o ce so r MC
68000 A7 - korisničko kazalo stoga (USP) , i reg i s t ar A7' - n a dgle d no kazalo s t o ga (SSP) . Pretpostavit ćemo da se mikroprocesor n alazi u korisničkom n ačin u rada. U t o m nači nu rada kao kaza l o st o g a u pot re b l j av a se U SP . U obr a di iznimke , a prekid je j e d n a o d iznimaka, m i k rop roce sor upo t re bl j a va n adgled n o kazalo stoga . Slika 4 . 1 9 . a) p ri k a zuje s t anj e stogova i kazala stoga US P i SSP p rij e g ran a nja u potprogram . Mikroprocesor u korisničkom nači n u rada u smje rav a dva kazala stoga : re gist a r
izvođenje
p ro gr am a na potprogram. Automatski se ,
prili kom izvođenj a ins t ru kc ije g ra n a n j a
u
potpro
gram, povra tn a adresa pohranjuje u korisnički s t og ( aktivno je korisničko kazalo stoga USP) . Povratna je a d res a u stvari , sadržaj progr amsk og b roj i l a PC [31 :0] koji po k azuj e na slj edeću instrukcij u glavnog programa. Slika 4 . 1 9 . b) pr i kazu j e stanje stoga n akon grananj a u potprogram ( prekid se još nij e dogodio !). Prilikom izvođenja potprograma do godi o s e prekid . Prekid uzrokuje prijelaz iz korisničkog načina rada mik roproce sora u n a d gl e d n i n ači n . Sad je ak tivno nad gledna kazalo stoga SSP i automatski se p o vr at n a adresa PC [31 :0] (povratak iz prekida u po tpro gr a m) i status-regis tar SR [ 1 5 :0] ( re gi s ta r u vj et a ) pohra ,
nj uj u na nadgledni stog. Slika 4 . 1 9.c) prikazuje prihvaćanja prekida. što je prekidni program
p o služe n izvođenje potprogramu . Mikroproce sor automatski uz i ma s nadglednog stoga sadržaj status-registra i pov r at n u adresu i smješta ih u status registar odnosno u p ro g r a m s k o brojilo. Sadržaj sistemskog kazala stoga SSP se a u to m a t ski po v e ća v a se programa nastavlj a
Pod kontekstom
se
razumijevaju sadržaj i onih re gi
stara i memorij skih lok acij a
m ij e nj a .
su po t re bn e za koje novi zadata k
koje
n ast aVlj anj e zadataka, a
Minimalni kontekst koj i se mora p o h ra ni ti da bi se
zadatak mogao n astaviti jest sad ržaj p r o g r a ms k o g b roj il a PC i status-registra SR.
Indeksni registri
I nde ksni re gistri se upotrebljavaj u u jed nom od načina a dre siranj a (i n de ksn om n ači n u) gdj e sa držaj i n de k s n og registra služi u postupk u odre điv a nj u efek tivne ( stv arn e ) ad re se o p e ra nd a . Neki mikroproce sori im aj u jed an (n p r . MC 68(0) ili više (npr. Z80) inde ks ni h r e gist a r a , dok se drugi koriste re gis t ri m a opće n a mj e n e kao indeksnim a (npr. Intel 8085 , MC 68000, MC 68020) . Ta k o npr. 32-bitni m ikropro ce so r MC 68020 ima osa m 32-bitnih re gi st a ra p oda tak a (DO do D7) koji se upotreblj avaju kao registri za p o hr a n jiv an j e p od ataka tipa b i t , b aj t , riječ ( 1 6 bi ta) , duga r i j e č (32 bita) i četverostruka rij eč ( 64 bita ; e n gl . quad word ) . Također mikroprocesor i m a i adresne re gistre AO do A7 . Sv a ki od tih šesnaest re gi st ara (DO do D7, AO do A7) može se upotrijebiti i kao indeksni re gist ar . I nde k sn i n ači n ad re sir a n j a o p isat ćemo u p o gl av lj u
6,
koj e govor i o načinima ad resi r a nj a .
4 . 5 . Status-registar Glavne zna ča j k e arhitekture mikroprocesora očituju posebn e namj ene - status-registru4 • On se sastoji od bist abila koj i se n az i v aju d oj av ni bista biIi ili zastavice (engl . flag). Prema funkcij i doj avni se b is t abili mogu r azvrs tati u tri glavne grupe : se i u registru
o
bistabili , odnosno zast av i ce za i n dikacij u stanja su nastala kao poslj edica izvođenj a aritme
koj a
instrukcija, zastavice za rukovanje
tičko-logičkih
,
4 . 1 9.e) prikazuj e stanj e stoga i k azala stoga nakon vraćanj a iz potprograma . Povratna se adresa Slika
u
način rada u " siste ms ki " način rada, kako se to naziva za mikroprocesor Z8000) i obratno n az iv a se promjena konteksta ( e n g l . context swit ching, process sw i tchin g) .
[)
u
šest (sI . 4 . 1 9 . d ) ) .
smješta
(odnosno iz " normalnoga"
prekidnih o
,
za
stoga i
stoga automatski pov e ć ava za četiri .
stanj e stoga nakon
N a kon
ko risni čk og
P rij e l az iz kori sni čk og načina u n ad gle d n i
n orm a l n o
Do sada smo u p ri mj e rim a ilustrirali p o našanj e sto ga pril i ko m izvođenja in s t rukci ja namij enjenih rukova nj u s to go m . Na kraj u ovog odj e lj k a prikazat ćemo
ima
automatski uzima s
pro g ram s ko b roj i l o . S adržaj se kor i s ničko g kazala
razi n a ,
zastavice za indikacij u glavnih
cesora .
Aritmetičkoj-logičkoj
Naziva
se
označivanje
stanja mikropro
jedinici pridruženo je u s tat u s
registru polje zastavica . 4
p reki do m i
Za
još i registar stanja
vrijeme izv ođe nj a ari t m e-
ili
registar uvjeta.
63
Komponen/e arhitekture 8., 16· i 32 bitnih mikroprocesora
PC [3 1:24 J
m m m m - 4
I
PC (23: 1 6 J
m m m m - :J
-----, m m m m - 4
__
USP
PC (I S,8 ) PC [ 7:0) - -�
f---- .
�
::�
SR
[ 1 5:8 j
SR (1:0] Pc ( J l,24 ] PC [U: 1 6 ) n n n n n n
n
n
- I
P C [ 1 5:SJ
Pc {7,O j I
l nadgl edni stog
SI. 4. 19. d) Slanje .Iogova i kazala .toga USP i SSP nakon iz prekidnog prog,amtJ
vratanja
n
n n n
.� SSP
_ __
Naprednije arhitekture mikroprocesora
64 _I
PC [3 1 : 24 ] PC [23: 1 6 )
m
m m m -
� (IS :81 PC [ 7:0]
m m m m
I
m m m m
J USP
J
n n n n
I SSP
L
m m m m +
---
.
::: c:
r--- - -- -
SR [I S:S ] SR [7: 0 ] PC [ 3 1 :24 ]
r----
PC (23: 1 6 ]
1-----
n n n n - 2 n n n n n
PC [I sla j
r----- --- --
PC [ 7:0 )
l
n n n
--,.-----
r------
Sl. 4. 1 9. t) Stanje sl"gova i kazala ""ga i% potprogrQ1tUl
USP j SSP nakon vratanja
Kompon ente arhitekture
8-, 16- i 32 bitnih mikroprocesora
2.
l. operand
65 operand
funkcije
izbor
SI. 4. 20. Sklop za postavljanje zastavica N, C, V i Z u status-registru
tičko-logičkih operacija mikroprocesor automatski postavlja ili briše odgovarajuće zastavice u polju prema rezultatima tih operacij a. Stanje tih zastavica poslužit će kao osnova za uvjetno grananje. Instrukcije uvjetnog grananj a ispituju uvjete, odnosno stanje zastavica i prema ishodu ispitivanj a mijenjaju ili ne mijenj aju sadržaj pro gramskog broj ila. Promj ena sadržaja programskog brojila u fazi IZVRSI znači promjenu u toku izvođe nj a programa (grananje) . Time mikroprocesor do biva jednu od najznačajnijih karakteristika - sposob nost donošenj a odluke o toku daljeg izvođenja pro grama. Opišimo pojedine zastavice koje se nalaze u većine mikroprocesora (primjeri u ovom odj elj ku odnose se na zastavice definirane za 8-bitni mikroprocesor) : Zastavica N ili zastavica predznaka (engl . sign , nega tive) postavlj a se u j edan kad je rezultat aritmetičke operacije negativan. Stanj e zastavice N izravno.odra žava vrijednost najznačajnijeg bita rezultata (sI.4.20) jer negativan broj u notaciji dvoj nog ili potpunog komplementa ima najznačajniji bit " 1 " . Npr. prilikom izvođenj a aritmetičke operacije oduzi manj a :
ACCX
+-
(ACCX)
-
(M) ,
gdje se prvi operand X nalazi u akumulatoru , drugi operand na memorijskoj lokaciji M, a rezultat R u akumulatoru, zastavica N poprima vrijednost N
=
R7, gdje R7 označava najznačajniji bit rezultata.
ili zastavica nule postavlj a se u j edan kad je rezultat aritmetičke ili logičke operacije nula, tj . kad su svi bitovi rezultata jednaki nuli (sI.4.20) :
Zastavica Z
R7 • R6 • Rs .R4 • R, • R2 • Rl • Ros , gdje Ri označava komplementarnu vrijednost bita na
Z
=
i-toj poziciji rezultata .
Npr. prilikom izvođenja logičke operacij e "isključivo ILI" :
ACCX
(ACCX) EĐ (M) :
+-
O
1 0 I 1 1 1 0 1 1 1 1 1 I l l. '(ia"t��1 o
O
EĐ
O O
O O
akumulatora)
I I I I I I I I I I I 12. '(ia"t:;S z
O
O O O
O
memorijske lokaCIJe)
[2] I I I I l o I l o I I R���:�!i O
O
akumulatora)
zastavica
Zastavica Z se postavlja u 1 jer je rezultat operacije nula (oba su operanda j ednaka) .
Zastavica e ili zastavica prijenosa postavlj a se u 1 ako se dogodio prijenos iz najznačajnijeg bita rezul tata prilikom operacije zbrajanja ili posudba jedinice prilikom operacije oduzimanja .
Npr. prilikom zbrajanja :
ACCX
+-
(ACCX) + (M)
vrijednost zastavice C je definirana kao :
C
=
X7
•
M7
+
M7
•
R7
Prilikom operacije oduzimanja :
ACC
+-
(ACCX)
-
+
R7
•
X76
(M)
zastavica C se postavlja ako je došlo do posudbe, odnosno ako j e apsolutna vrijednost sadržaja memo rijske lokacije veća od apsolutne vrijednosti sadržaja akumulatora : e
=
;(7
•
M7 + M7
•
, Znak . označava logičnu operaciju
R7 + R7
I.
6 Znak + označava logičku operaciju ILI.
•
;(7
Naprednije arhitekture mikroprocesora
66
Zastavica e se obično upotrebljava u višebaj tnoj aritmetici ili u aritmetičkim operacijama s više rij eči .
Naprimje r :
Zastavica V ili zastavica preteka (preljeva) u mate matičkom smislu predstavlja pogrešku u bitu pred zn ak a
u
aritmetici dvojnog komplementa.
Zastavica V se postavlja u 1 ako se pril ikom ope racije zbraj anj a dvaju pozitivnih brojeva dobiva negativan
e
[J 1 1 10 1 1 1 0 1 0 1 0 1 0 1 0 1
broj , ili ako se zbraj anjem dvaj u negativnih brojeva dobiva poziti van broj . Pogreška nastaje zbog ograni
R
bit posudbe
čene duljine riječi mikroprocesora . Prilikom operacije zbrajanj a
X7 1 M7 1 R7 1 e = 1 . 1 + 1 . 1 + 1 . 1-+ e = 1 =
=
Zastavica e upotrebljava
AeeX
==
se
<
V == X7
kao dodatak (povećanje
dulj in e rij eči akumulatora za jedan bit) u operaci j am a posmaka i kružnog posmaka. Slika 4.21 poka
gdje je ep prijenos
e,
zastavica e po pri m a vrijednost : ==
X"
a p rili ko m posmaka udesno zastavica e ima vrijed
nost :
(AeeX) + (M)
M7 !t R7 + X7 • M 7 • R7, V = e, EĐ ep, u
bit predznaka (u najznačajniji
bit b7) , a e, prijenos iz bita predznaka :
Npr. prilikom kružnog posm aka ulijevo operanda X
e
•
odnosno sa :
zuje primjer kružnog posm ak a ulijevo i posmaka udesno.
+-
zastavica V je definirana�a :
"
C = Xo.
r - --- - ---- - -- -- - -- , I
L
I
-& - -Lili I I I I I I f- J o
o
e
o
n
o
I
x
al stanj e
prile krulnog p09maka ulijevo
bl sUni e
nakon krl.llnog posmaka ul ij evo
x
r ' I ' l o l �TI � X
al stanje prije po.milka
bl stanI e
e
udesno
X nakon po.m aka udesno
e
SI. 4.21. Primjer operacija kružnog po.maka i po.maka
67
Komponente arhitekture 8-, 16- i 32 bitnih mikroprocesora
Npr. prilikom zbraj anj a brojeva -100 i -32
I I IIIIIII I I I I I II IOIOII I I II I O
O
O
O
O
O
O
( +
- 100)
I II II I II I I I I I
69 +
49
O
+
O
O
O
10 1 1 101011 1010 1 1 1
( - 32) zastavica
Rezultat zbrajanj a daje kod
zastavica
u 8-bitnom se akumulatoru dobiva se rezultat + 124, međutim zastavica V pokazuj e da se dogodila pogre ška - kapacitet akumulatora je prekoračen (rezultat je prekoračio granicu ± 127 - za 8-bitni akumulator) : X7
=
V
=
V
=
1
M7
=
1
R7
=
O,
X7 • M7 • R7 + X7 • M7 • R7, 1 . 1 . 1 + 0 .0 . 1
=
1.
Prilikom operacije oduzimanj a : ACCX
+-
(ACCX) - (M)
zastavica V je određena sa : V
=
koj i nij e BeD , pa j e potreban ispravak rezultata. Ispravak rezultata prilagođavanje rezultata BeD-kodu izvodi instruk cij a DAA na temelju stanj a zastavice C, stanja zastavice polovičnog prijenosa H i dobivenoga "neis pravnog" rezultata .
"Neispravnom" se
Tablica 4 . 1 prikazuje odnose i vrijednosti koje se pribrajaju rezultatu da bi se prilagodio BeD-kodu . u našem primjeru zastavica C prilikom izvođenja instrukcije zbrajanja operanada (01 10 1001 i 0100 1001) je O, a zastavica pOlovičnog prijenosa H j e 1
10 1 1 1 1 1011 10 10 1 1 1 10 11 101011 10 10 1 1 1
X7 • M7 • R7 + X7 • M7 • R7
Zastavica H ili zastavica polovičnog (pomoćnog) prijenosa upotrebljava se u operacij ama binarno kodiranih dekadnih brojeva , BeD (Binary-Coded Decimal), jer se u tom kodu (BeD) upotrebljavaju četiri bita za prikaz dekadnog broj a.
Prilikom izvođenja aritrnetičkih operacij a može na stati prijenos iz bita b) u bit b4 (polovični prij enos) . Taj prijenos u aritmetici BeD mora biti otkriven zastavica H postavlja se u 1 - da bi se omogućilo pravilno izvođenje aritmetičkih operacij a. Instrukcija za dekadno nastavljanj e akumulatora (DAA) upo trebljava zastavicu H . '
rezul tatu , već prema ishod u ispiti
vanj a gornjih uvjeta , pribraj aju vrij e dnosti 0016, 0616, 6016 ili 6616 i pos tavlja zastavica C .
+
zastavica zastavica
značaj nija četiri bita imaj u vrij ednost B (heksade kadno) , a manje značaj na četiri bita imaju vrijednost 2. U skladu s tablicom 4 . 1 instrukcij a DAA pribraj a rezultatu 1011 0010 vrijednosti 66 16 :
1 1 1 0 1 1 1 1 10 1 0 1 1 1 0 1 +
Pokažimo t o na primj eru :
101 1 1 1 10101 1 1 1 10 1
Potrebno je zbrojiti dva dvoznamenkasta broj a pri kazana u BeD kodu :
69 10 + 4910. Svaka decimalna znamenka broja izra žena je sa četiri bita : � 6 -�- 9 �
69
49
=10 1 1 11 10 11 101011 1 � 4 � 9 �
= 10 1 1 101011 1010 1 1 1
Pojedine znamenke u BeD-kodu mogu imati vrijed nosti od O (OOOO) do 9 ( 100 1 ) . Prilikom aritmetičkih operacij a s brojevima u BeD-kodu poj avljuje se binarni kod koji prelazi vrijednost 9, npr. 1 0 1 1 ne . predstavlj a BeD-kod :
zastavica
Rezultat je 1 1 8 , s tim da je najznačajnija znamenka predstavljena jednim bitom u zastavici C.
Zastavica H se ne upotrebljava kao uvjet za grana
nj e .
Neki mikroprocesori imaju zastavicu oduzimanja koja se postavlj a u jedan za vrijeme operacije oduzi manja, a briše se za operacije zbrajanja (npr. mikro procesor Z80 ima zastavicu oduzimanja N). Zastavica je namijenjena internoj upotrebi za vrijeme izvođe nja instrukcij e DAA. Mikroprocesor Intel 8080 ima zastavicu parnosti P za prikaz ispravnog prijenosa podataka . Zastavica P se
Naprednije arhitekture mikroprocesora
68 Tablica 4. 1 . Opis instrukcije DAA
Manje značaj na četiri bita
Broj koji se pri braj a akumulatoru sa instru kcij om DAA
Stanje zastavice e poslij e instrukcija
O
0-9
OO
O
0-8
O
A-F
06
O
O
0-9
l
0·3
06
O
O
A-P
O
0-9
60
l
O
9-F
O
A-F
66
1
O
A-P
1
0-3
66
1
l
0-2
O
0 -9
60
1
l
0-2
O
A-P
66
1
0-3
1
0-3
66
1
Stanje zastavice e prije instrukcije DAA
Zn ačaj nij a četiri bit a
(4-7)
zastavice polovičnog
O
0-9
O
I
l
Početna vrijednost
zastavice H
(0-3)
prijenosta)
.
po st avl j a u 1 ako je broj j edi n i c a prenesenog podatka paran . Mikroprocesor ZBO ima za s ta vicu PIO s dvoja kom funkci j om : u aritrnetičkim operacij a m a zasta vica ima funkcij u zastavice preteka (engl. o ve rf1 ow )
poput z a s t avice V, a za ulaznu i n s t ruk cij u IN re g ,(C) , logičke operacije i kružni posmak zastavica PIO ima
fu n k cij u zastavice parnosti .
MC
68000,
DAA
--
k ao što j e već bilo rečeno , može raditi u
dva stanj a : n a dg l e d no m i kori s n ičko m . Kad se mi kroprocesor nalazi u
n adg l ed no m stanj u , nj e gova j e
zastavica S (engl . Supervisor) post avlj e n a na 1 . U koris n ičko m n ačinu rada mikroprocesor ima z asta
vicu S p o s tavlj e nu na O. ..-----: �
-
/jednak\l't�nkciju ima zas t av i c a SIN u status registru
u status-registru namij enj e n e s u / mikroprocesora Z80OO. rukovanju prekidom. o d n osno om og u ćava nj u i one- ( K ad je za stavi ca SIN = 1 , m i kropro ces�r je u mogućavanju (maskiranj u) prekida . Npr . 8-bitni mi- \ siste ms kom načinu rada , a k ad jc pak S IN =o O , kroproccsoT MC 6800 i m a prekidnu zastav i cu I . A k o \. mi kroprocesor je u tzv . normalnom načinu rada. je zastavica I u stanju 1 i ako se poj avi zahtjev za Si s te ms ki način i normalni način rada i maj u posebn a prekid IRQ , prek id se neće dogoditi . kazala stoga , a u sistemskom je načinu omogućeno
Pos e b n e za s tavi ce
Mikroprocesor MC 68000 im a tri prekidne za st avice l•• Il i Iz i sedam razina prekida. Neki mik ropro c e so ri nemaj u pre k i dn i h zastavica u status-registru (npr.
Z80),
već u potreblj av a j u izdvo
j ene programski upravJjive bistabile. U skupu ins trukcij a postoje instrukcije za u prav lj a nj e stanjem
prekid n e zastavice . Prekidna zastavica I se ne upotrebljava za
grananj a,
uvjetna njih
a ari tmetičke i l ogi čke ope racij e na
nemaju utjecaj a . rukovanje pr e kid o m :
NVIE (Non -Veetore d ln te rrupt
Enable/Disable) i VIE (Vectored Interrupt Enabiel omogućeni
su
zastavica VIE
praće nj a koje se manifestira tako što m ik ropro ce s or nakon izvodenj a svake instrukcije prelazi u stanje obrade iznimke i time omogućava izvođenj e pro gra ma instrukciju po instrukciju s praćenjem i prika zom stanj a registara i memorij e . Način p r aćen j a se upotreblj ava u postup cim a o tkrivanj a i otklanj a nja pogrdaka
16-bitni mikroprocesor zgOOO i m a d vije zastavice z a
Disable). Kad j e
izvođenje pov l a š te nih (privilegiranih) instrukcij a .
16�bitni i 32-bitni mik ropro ce sori imaju zastavicu praćenja T (zastavica T ra ce ) . Kad je zastavica praće nja p o s t a v lj e n a na "1", mikroprocesor j e u stanj u
zastavica NVIE
po stav lj en a na " 1 "
nevektorski prekidi, postavlj ena
na
a
ka d j e p a k
" l " , omogućeni su
ve ktorsk i prekidi. Prekidi se o ne mogućavaju
ranjem (brisanjem) zastavica.
reseti
Posebno poJje zastavica u status-registrima 16-bitnih i 32-bitnih mikroprocesora n am i j e nj e n o je indikaci] i stanj a mikroprocesora. N pr. 16-bitni mikroprocesor
u
program u .
8086 i Intel 80286 zastavica zastavica zamke TF (eng\ . trap) .
Kođ mikroprocesora Intel
sc
praćenj a n aziv a
Kad
je
zastavica TF postavlj ena na l, mikroprocesor
automatski ge n eri r a un u trašnj i preki d nakon izvođe
nja svake instrukcij e . Namjena zastavice naka JC namjeni z asta vi ce praćenj a.
za mke
jed
U ovom smo ode lj ku opisali funkcije većine zast avica u 8-bitnim , 1 6-bitnim i 32-bitnim mikropro ce sori m a . Neki mik ropro cesori imaj u još i dodatne zastavice koje su prilagođene s p ec i fičnoj arhitekturi ili namjeni mikroprocesora (npr. zasta-
koje se pojavljuju
Komponente arhitekture 8-. 16- i 32 bitnih mikroprocesora
vica smjera za upravlj anj e smjerom rukovanja na n izu , zastavica segmentacije koja pok azu je način oblikovanja adrese). D e ta lj nije i n fo rm acije k o risn ik m o ra po t ra žiti u priručnicima.
4 . 6 . Registri posebne namjene U ovom ćemo dj elj ku opisa ti regi stre po sebn e na mjene k oj i se su s reću u poj edi nim 8- , 16- i 32-bitnim m ikropro eesorim a . Segmentni registri
Neki m ikroproceso ri "vide" veliki adresabiini mem o rij sk i prosto r po dijelje n u segmente. Npr. Intel 8086 ima m e m o rij ski prostor veličine 1 024 K baj ta razdi jeljen na segmente veličine 64 K b a jt a . Svaki se segment sastoji od s l ij ednog niza memo rijskih l ok a cij a i pre dst avl ja n ezavi s n e , p ose b n e ad res a b i i n e cj eli nc . Svakom segmentu je do dij eljena bazna (po č et n a) adresa koja označ av a po če tak segmenta. Svaki scgment za po či nje na adresi koja j e djelj iva sa šcsnaest. U svakom su trenutku s ad ržaji četirij u takvih segmenata izravno adresabiIni. Ti su se gmen ti : kodni seg ment . te kući seg m e nt p o dat ak a . tekući segment stoga i posebni t e k ući seg m e nt .
Segme n t n i re gi st ar sadrži baznu adresu određenog se gm e n t a .
Fizička adresa, koj a se pre no si memorij i , dobiva se pribroj avanjem s adržaj a odgovarajućeg segmentnog re gi s tra i adresno g pomaka. Segmen tn im se re gi stri ma m ože p ro gra m ski pristu pit i i njima se može ruk ovati različitim in struk cij am a . S eg mentni re gi stri omogućavaju dj el o tvoran p ristup veliko m memorij skom prostoru pomoću instrukcija
koje imaj u adresno polje du lj ine samo 16-bita. Oni o m o gućavaj u p ro gram im a upotr e bu po lj a pod at a ka ili stoga većeg od 64' K bajta, dijele m em o rij u na pro gramsk i dio, memoriju za podatke i stog , te dopu šta ju razmještanje programa i podataka u razli či t a pod ru čja me morij e . Slika 4.22 prikazuje segmen tne registre m ikroproce sora Intel 8086. Segmenti u memoriji m o gu biti su sj e dni . mogu se pre k riva ti , dj e l i m ično prekrivati ili mogu biti pot puno nepre k rivaj ući .
Te kuće d ose glj iv i . odnosno
aktivni se gmenti dop u štaju 64 K baj ta me mo rij skog prostora za pohranjiva nj e koda, 64 K bajta za stog i 128 K bajta za pohranjivanje p odataka. Apli kacije koje zahtij evaj u veći memorijski prostor, osim defi niran ja poč etn ih vr ij e d n osti segmentn ih registara , zahtijevaju bri žlj i vo rukovanje sadržaj im a segmen tn ih re gi s tara u po stupku prijenos a aktivnosti s j ed ne grupe segmenata na drugu. Način p ri s tupa m e m orij i u vj e tuj e razlik ova nj e dviju vrsta adre sa kod Intela 8086: Fizička adresa je
69 20-bitna
vri je d nost
koj a j ednoznačno definira svaku
u memorijskom prostoru veli do FFFFF) . P ro gr a m rukuj e l ogi čki m adresama koje om ogućavaj u oblikovanje koda b ez p r e tho dn og znanja o t om e gdj e će biti smje šte n u memorij i . Logi čka se adresa sastoj i od vrij e dn o sti sad rž aj a segme ntnog re gist ra i vrij e dnos t i po maka . Obje su vrijednosti 16-bitni b roj e vi bez predznaka. Baj t s n aj n i žom adresom u segmentu ima vrijednost pomaka O. Sl ik a 4.23 pokazuje način ge ne r iranj a fizičke adrese. memorijsku lokaciju
čin e IM b ajt (od OOOOO
Pri
vrstama pri stupa m e m orij i a k tivn i su segme nt n i registri i registri koji sad rže po
različitim
razl i čit i
mak. Tako je npr . u postupku pribavlj anj a instruk cij e aktivan kodni segment CS, a pom a k je p ohranj e n u programskom b roj il u lP. Kad se pristupa s t ogu , u Oblikovanj u fizičke adrese s u dj e l uj e se gm e n tn i r e gi star stoga, a p o m a k sc dobiva iz kazala stoga SP.
Registar osvježavanja
Mi k rop roce so ri k oj i imaju sk lop za osvjež avanj e din a mičke m e m orije izveden na samom mikroproce sorsko m čipu (npr. Z80 ili Z8000) im aj u po seb a n registar osvježavanja ( en g l. refresh counter, re fre sh re gi st e r) . Npr. sedam m anj e značaj nih bitova re gist ra o svježavanj a RR (za 8-bitni mikroproceso r Z80) p reds t avl j aj u broj ilo koje se automatski inkrementira nakon svak�g pribavljanja in strukcije i o mo gućav a o svj ežav a,rt]e sadržaj a sljedeće mem o rij s k e lokacije. Sadržaj registra RR dovodi se na nižih, manje zna čaj nih osam linija adresne sabirnice, zajedno s uprav lj ačk im sig{lalo m za osvj ežavanje, za vr ij em e dok mik ro p ro cesOr dekodira i izvršava p ribavljenu i n s t rukci ju .
R egi s ta r osvj ež avan ja RR j e element programskog modela mikroprocesora Z80. Programer m ože prist u piti regist ru RR in st ruk cija m a LD R ,A i LD A, R , iako se u norm a l n im okolnostima regista r RR ne upo treb lj ava .
Slika 4.24 p rikazu j e regis t ar osvežavanja za 16-bitni mikroproceso r Z8000 . Registar o svj ežav an j a j e i u ovom slučaju pro gramsk i doseglj iv. Sklopovi za o svj ežavanj e s e o mogućavaju po s tavlj anj e m bita b Is na 1 . B rzina osvježavanja se o dređuje po moću 6bit n e k o ns t an t e . Nj ena s e vrij e d n ost sma nj uj e sa svakim impulsom signala vernenskog vođenja. K ad o n a dost ign e vrij ed n ost O, o svj ežavan j e je o m o guće no. Konstanta se interno pohranjuje i nakon svakog osvj ež avanj a o bn avlja joj se vrijed no st.
Registar prekidnog vektora
Složenije pr ekidn e strukture mikroprocesora uvj e tuju upo tre b u reg i stara pose b ne namjene - registr a p rekidno g vek to ra .
Mikroprocesor Z80 upo tre blj ava re gis tar prekidn o g vektora IVR za p o hranjiv anj e adrese stranice u kojoj se nalaze ad rese prek id nih ru ti na . Vanj ski uređaj
Naprednije arhitekture · mikroprocesora
70
IS
O
kadni segmentnl registar CS segmentn! .eg. podataka
DS
po.ebnl segmentnl reg. EX
� � '"
kodni segment
segmentni ,ego stoga SS
r-
� ". tekUĆ I segment podataka
tekuĆi segment stoga
�
posebni segment
--" Si.
4.11.
Segmentni registri M-bilnog mikroprocesora Intel
�l.
8086
71
Komponente arhitekture 8-, 16- i 32 bitnih mikroprocesora posmak binarna
mj"'" ulij evo
19
z a četiri
o
"-_-'-
__--'--=-_'--_6_LI_----1-'
I
prema memoriji
fizička adresa
SI. 4.23. Primjer generiranja fizićke adrese (mikroprocesor Int,,1 8086)
15
o
14
-----�r------� ��--------,�------J
L
[ i dent i f i kator retka brzina osvježavanj a
omogućavanj e osvie!avanj a
SI. 4.24.
koj i generira zahtj ev za prekid određuje adresu lokacije na toj stranici ( p re kidn i način 2 za Z80).
Slika 4.25 prikazuj e postupak određivanja adrese ' prekidnog v e ktora za mikroprocesor Z80 (po &lavlje
7).
Sličnu funkciju kao registar p r ekid n og vektora im aj u registri baze vektora (engl. v<;ctor base register) koje susrećemo u 16-bitnim i 32-bitnim m ikrop roces ori ma, a upo treb lj av aju se za određivanje lokacije tablice iz n i m aka .
Registar izravne stranice
Registar osvjefavanja (l6·bitni mikroprocesor Z 8000)
Upravljački i adresni registri priručne memorije
Ras košn ij a arhitektura 32-bitnih mikroprocesora ima registre pose bn e namjene koji dopuštaj u djelotvorno programsko rukovanje priručno!l1 memorijom (eng\. cache) koj a je izvedena na samom m ikro p roce so r skom čipu . Tako npr. 32-bitni mikroprocesor MC 68020 ima u pravlj ački registar priručne memorij e koji o mogu ća va u pravljanj e instrukcijskom priruč nom memorij om, a adresni registar priručne memo rije sadrži adresu za upravlj ačke funkcije instrukcij ske priručne memorije . priručna s e memorija up otre b lj ava za pohranjivanje niza pretpribavljenih instrukcija iz glavne memorije pa se zbog toga naziva instrukcijska
U M C 68020
8-bitni mikroprocesor ima registar posebne namjene - registar izravne stranice (eng\ . direct-page register) . On om ogu ć ava korisniku definiranj e stranice u me moriji kojoj se može pristupiti instrukcij ama koje upotrehljavaju tzv. adresiranje nulte stranice . Ako je re gi st a r izravne stranice obrisan (to se auto m atsk i p ost iže resetiranjem mikroprocesora) , izravno adre siranje odgovara upravo adresiranj u nulte stranice. Sadržaj u registru izravne stranice odgovara adresi tekuće stranice kojoj se može izravno p rist upi ti .
priručna memorija.
Naprednije arhitekture mikroprocesora
72
vektor dobiven iz vanjs k o g uređala (u fazi potvrde prekida uređaj 9a postavlja na sabirnicu podataka)
r e g ista r prekidnog vektora
IVR
7
o
oblikovani e
O
adrese
15
memorija ( t ablica prekidnih vektora)
__ �_
ll.
,-________
programsko br 01 Ilo
_____
,
_ _____ __
{
� anje
značalni baj t
.= ...:. :.I...' __-i I-_---.PC
I
""" JE� ""
}._
]� ••
SI. 4.25. Upotreba regis/ara prekidnog vektora JVR la odredivanj. prekidnog vektora
(9J MC 68020 32-Bit Microprocessor Users Manual,
LITERATURA [11 G.M.Amdahl et al, Architecture of the IBM System 1360, IBM Journal of Research and Development ,Vol . 8. No.2, april 1 9 64 , pp. S7 - 101 . . (2] T . D oIlhoff. 16 Bit Microprocessor Arch,tecture, Pren tice Hall, 1979 . [3) S. Ribarić. Arhitektura mikroprocesora, Tehnička knjiga, Zagreb , 19R5 . . [4] N . A . Alexandridis. Microprocessor System Design Con cepts, Computer Science Press, 1984 . . [5] S . Ribarić, Deset mikroprocesora: ArhItektura, osnovne značajke, sklopolIska podrška, programska podrška, ElektrotehniČ3r , hr.2, 1983 , str. [6] ,APX 86,'88 User's Manual, Intel Inc . , 1 98! . [7] M 68000 16132-8il Microprocessor, Motorola Inc. ,1984. [S] T.L. Rasset et al, A 32-bif RISC Implemented in EnhancemenI - Mode JFET GaAs, Computer, Vol. 1 9 , No . lO, oktobar , 1 986, pp .60 - 68.
53-59.
Moto rola, 1985 . [101 M 68000 16132-Bil Microprocessor, Programmer's Reference Manual, Motorola, 1984. [1 1 ] H.D .Toong,A. Gupta , An Architectural Compa�ison of Contemporar 16-Bil Microprocessars, IEEE MICro , maj 198 1 , pp. 26-37. [12] A . G upta , H . D . Toong, Microprocessars - The First Twellle Years, Proceedings oUhe IEEE, Vol.71 ,No. l 1 , novembar 1983, p p . 1236-1256. (13J A. Gupta ,H.D.Toong, An Archit�ctural Comparison of 32-bif Microprocessors, IEEE Micro, febfllar 1983, pp . Siemens SA B 80286, September 1986. I15 E . I . Or anick , A Programmer's View of the Intel 432 System, McGraw- Hill Book Company, 1983; [16] MC 68000, J6-bi/ Microprocessor User s Manual, Motorola, 1980. [17] L. A . Leventhal , Z80 Assen:z bly Language Program ming, Osborne I Mc Graw- Hill , 1 979.
[141
9-22.
g
5 . �OMPONENTE ARHITEKTURE 8- , 16- i 32-BITNIH MIKROPROCESORA A ritme tičko-logička jedinica,
matematički procesor ili koprocesor kaskadu . Pozivanj e stupnjeva se ostvaruje pomoću l in ij a C; i C; + l (bitovi prijenosa) .
5. 1.Uvod
U poglavlj u 4 upoznali smo se s komponentam a arhitekture koje su obično i glavne komponente programskog modela mikroprocesora . U ovom ćemo poglavlju raspravljati o kritičnoj komponenti arhitek ture - ari trnetičko-logičkoj jedinici . U drugo m dijelu poglavlja detaljno ćemo opisati matematički procesor ili ko proce sor MC 6888 1 .
Svaki takav stupanj može se u funk cional nom smislu prikazati kao kombinacija sklopova aritmetičke sek cije i sk lopova logičke sekcije. Slika 5 . 1 p rika zuj e model jednog stupnja AL (aritmetičko-logičke) j edi nice. Ai i Bi su ulazi za operande , Cj jc bit prijenosa iz p reth o dnog stupnj a , Fi je izlaz i predstavl ja jedno bitni rezultat aritmetičke ili logičke operacije . Izlaz C; + l je bit prijenosa u sljedeći stupanj AL jedinice. Upravljački ulazi So, Sl i S2 upotrebljavaju se za izbor različitih aritrnetičkih i logičkih operacija.
5.2. Aritmetičko-Iogička jedinica
Podjela stupnja AL j edinice na aritmetičku i logičku sekcijll s amo je funkcionalna jer se prilikom obliko vanja AL jedinice obično upotrebljava sljedeći pri stup :
Aritmetičko-logička jedinica (ALU) l višefunkcijski je di git alni sklop. Ona izvodi osnovne aritmetičke i logičke operacije , a vrlo često se upotrebljava i za računanje efektivne adrese operanada2 •
I ALU - Arilhmetic Logical Unit. , Vidi poglavlje 6.
Aritmetičko-Iogička j edinica ima pravilnu strukturu koja se sastoj i od identičnih stupnjeva povezanih u
1 - - - - - - - - - - - - - - - - - - - -, I I I I . I I I I I I
l
ari tmetička .ekeij a
I
-+I I
I I
I I
I I I I I
I
n
�
.l< OJ
�
I
E
:; '-L..--..
I
W
logička s!!keij a
I
I
,
I I I I
I I
I L
_ _ _ _ _
SI. 5.1.
i-ti .tupanj aritmetilko-Iogilke jedinice (ALU) _
_
_
_
_
_
_ _
_
_
_
_ _ _ _
_
I
.J
74
Naprednije arhitekture mikroprocesora
1 . naprije se oblikuje aritmetička se kcij a nezavi sno od logičke sekcij e , 2. određuju se logičke operacije k oje se m ogu izvesti sklopovima iz aritmetičke sekcij e . 3. m o d ificiraju s e aritrnetički sklopovi da b i se njima mogle izvoditi i želje ne logičke operacije.
ULAZI
Ci"
Zahvaljujući takvu pristupu smanjuje se složenost i broj sklopova u svakom stupnju AL j e d in ice .
Aritmetička sekcija
Osnovna j e komponenta aritmetičke sekcije jednog stupnja AL jedinice potpuno zbrajalo ( e ngl . full ad d e r) . Povezivanjem n stupnjeva AL j edi ni ce u ka skadu dobiva se paralelno zbrajalo koj e p a ral eln o zbraj a dvije riječi duljine n b i t a.
Potpuno zbraj alo j e dvorazinski kombinacijski sklop koji računa sumu triju ulaznih bitova : x i y označa vaju bitove operanada, a Ci j e bit prij e n osa iz prethodnoga, niže g stupnja. Sklop ima dva izlaza : Fi jednobitni rezultat operacije i Ci + ! bit prijenosa u sljedeći stupanj AL j edi n ice . Na s li ci 5 . 2 pri kazan je simbol i tablica istinitosti za potpuno zbrajalo. Izlaz iz potpunog zbrajala Fi može se opisati Booleovom jednadžbom :
�=x y q+X y C+x y C+x y q
ili
Fi = x @ y @ Ci
Izraz
Ci + ! j e
određen Ci + !
ili
Ci + ! =
=
X
izrazom :
x y+X
Ci
Y Ci + X
+Y
Ci
Y Ci + x y
Željeli bismo da paralelno zbrajalo (dobiveno pove z ivanj em n potpunih zbrajala) u zavisnosti od kombi nacija na njihovim ulazima ( n b it n i ope ra n di A i B , ulazni bit prijenosa u prvi stupanj Cin) izvod i slj ede ćih osam o p e racij a :
Cj
y
o
o
o
II
D
O
1
o
O
1
o I
O I
I
l
o
o 1
1
l
I
o l
o
O I l
l
l
O
C I+ 1
o l
l
IZLAZ F Zbraj anje F= A + B
A
B
O
A
B
1
ZBRAJANJE S BITOM PRUENOSA F=A+B+l
A
KOMPLEMENT: El
JEDINIČNI
O
F=A+B
A
B
1
A
O
O
A
O
. l
INKREMENTIRANJE F=A+1
O
DEKREMENTlRANJE F=A - l
1
PRIJENOS F=A
A
SVE JEDINICE
A
SVE JEDINICE
11 . . . 1 1
11 . . . 1 1
ODUZIMANJE F=A +B+l
PRIJENOS F=A
Iako postoje sklopovi za oduzimanje (potpuna oduzi mala) koja izravno računaju razliku i bit posudbe , većina mikroprocesora upotrebljava notaciju dvoj nog k o m p lem e n ta za prikazivanje n e ga ti vn ih broj e va . U tom slučaju se oduzimanje izvodi z b raj anje m potpunog komplementa ope randa . Da bi se paralel n i m zbraj alom moglo izvoditi navedenih osam opera cij a , potrebni su dodatni kombinacijski sklopovi koji na ulazu priređuju operand B .
Pomoću upravljačkih ulaza So i S l te ulaza Cin izabire se jedna od osam ope racij a . S klop koji u zavisnosti · od upravljačkih ulaza So i Sl priređuj e bitove ope randa B u svakom stupnju aritmetičke sekcije prika zan je na s lici 5 . 3 .
Slika
5 . 4 prikazuj e aritmetičke sekcije A L j edinice kaskad u . Na slici v i d i m o da zadnji stupanj aritmetičke sekcije AL jedini ce ima o si m po ve za ne u
izlaza Fn i
x
-
izlaz Cout•
F. l
1
o
F.
l
o
o I
C I ... 1
SI. 5.2. Tablicll is/inilOsli i simbol zn
{JO/pIlJIO
:bmjttlo
75
Komponente arhitekture 8-, /6- i 32 bitnih mikroprocesora
50 -51
----,
_____
.....,
SI
So
y, l
O
O
O
O
I
I I
SI. 5,3, Sklop za priredivanje
bita
operanda
To je bit prijenosa koji ima posebno značenje i AL jedinica ga upućuje u status-registar (zastavica prije nosa C), Tablica 5 . 1 opisuje ponašanje izlaza CU!'
Osmobitni mikroprocesori prve i druge generacije imaju relativno skromne mogućnosti izvođenja arit metičkih operacija: zbrajanje i oduzimanje cjelobroj nih operanada, Osnova njihove AL j edinice jc pot puno zbrajalo,
S
n
Sn
C in
n
O
Najveće kašnjenje širenja signala u paralelnom zbra jalu je ono koje se odnosi na širenje bita prijenosa kroz potpuna zbrajala , Svaki bit sume zavisi i od vrijednosti ulaznog bita prijenosa u taj stupanj . Stabilno stanje F; izlaza stupnja i bit će postignuto tek kad i-ti ulazni bit prijenosa i-tog stupnja prođe kroz sklopove tog stupnja, Međutim, stupanj i ne
n
l
l
F= A. I
O
l
O
F=A.B
n
l
I
F=A.B . 1
O
O
I
•
C Out
funkcij a
F=A
.
opis C
O
C out e I a k o j n je A = 2 _ 1
C
t j e I ako j e ( A .B ) � 2 n ou
C u J e l ako o
(A+B) � 2n 1 _
F=A.ti
I
n
I
F = A B. I
I
I
O
F =A- I
l
I
I
F=A
.
B i tablica istinitosti
Vrijeme širenj a signala j ednako je umnošku vremena kašnjenja vrata i razine kombinacijskog sklopa, od nosno broja vrata kroz koja signal mora proći.
Međutim , da bi se brzina AL jedinice povećala, već se u prvoj generaciji mikroprocesora upotrebljavaju sklopovske izvedbe brzih zbrajala, Osnovni pristup oblikovanju brzih zbrajala (engl . high speed adder) sastoji se u smanjenju vremena potrebnog za širenjc
izbor funk c i j e
I
C
j e I ako out je A > B
C
ou tj e I ako je A � B
eouti
B.l
B. l I
bita prijenosa. Prilikom paralelnog zbrajanja dvaju binarnih brojeva svi bitovi operanada su raspoloživi u istom trenutku, Budući da je paralelno zbrajalo kombinacijski sklop, signal mora proći kroz logička vrata prije negoli se pojavi ispravna suma na izlazu.
Zbrajalo s predviđanjem bita prijenosa
Tablica 5. 1 Ponašanje izlaza Cou,'
O
e I ako j e A,O
I
out j e uvij ek O
Cout j e I i F = n ako j e
A = 2n_ l :gdj e j e n dulj ina riječ'
ako j e C o ut = I dogodio se
pretek
(pre liv)
ako j e
C out
= 1 dogOdio
se
pretek (preliv)
ako j e C ou t =0 tada je F j e j edini �ni
A :S B i
komplement Dd B-A
ako je e out = 0 tada j e A < G i F je dvoj ni komplement o d B-A Cout = I izuzev kada j e A =0
e
out
je uvij ek I
76
Naprednije arhitekture mikroprocesora
--------�--�--� S
I
J1c
So A
B
I. stupanj arit metičke se kcij e
-,
_____
X
I
l
I
-- - � C A
X
2
B
2
2
FA Y
2
2
2. stupar\r '}r1tmetičke sek cije
F
2
Z
n-ti stupanj ari t m e t i č k e sekc i j e
An
F
n B -----.----��-f-
--------�--r---� Sl. 5.4.
Ari/metitka sekcija
AL
jedinice
n
77
Komponente arhitekture 8-, 16- j 32 bitnih mikroprocesora
,- - - - - - - - - - - - - - - - - - - - -- - - - - - -l _ ; i - - polu'br;al� - - -: I -pol-;;;b�i alo - - :
. I ..I __...._-1l. A I _......
I Pi
:
I
I
I
�__�____________�____ Fi
I
L Ci
i I L
I _
_
_
_
_
_
_
_ _
..J
--�------� Sl. 5.5. Po/puno z!Jrajulo
može postaviti svoje izlaze u stabilno stanje sve dok stupanj
i-l
ne postavi izlaze u stabilno stanje , a
ne može učiniti sve dok stupanj
i-l to
i-2 to ne učini itd.
To znači da će tek nakon širenj a bita prijen�sa ..kroz
sve stupnjeve paralelnog zbrajala zadnj i , najznačaj niji stupanj
zima
Na sličan se način može izraziti C; ... 2 za stupanj
n postići stabilno stanj e na svoj im izla Fn i Cou,.
C; + 2 = G
;
+
1 + P; + I (G ;
odnosno za stupanj
i + 2:
+ P; C; ) ,
i + 3:
Broj razina logičkih vrata kojima signal bita prij e
nosa mora proći može se utvrditi na osnovi analize
sklopa jednog stupnj a aritmetičke sekcije - potpunog zbraj ala (sI . 5 . 5 ) . Signal C; + I (sI .5 .5) stabilan j e nakon prolaska kroz
I i ILI) . Ako se aritme n potpunih zbra j ala, bit imat će 2 x n razina vrata od
dvij e razine (vrata logičko
tička sekeija sastoji od prijenosa COUI
=
C. + I
CI do Cn + l . Ukupno vrijeme kašnjenj a u zbrajalu bit će kašnjenj e u širenju signala, tj . (2 x n) tg + th, gdje je tg kašnjenje na j ednim vratima , a th je kašnjenje u
.prvom poluzbraj alu .
Na temelj u ove an�lize vidimo da je kašnj enje u
širenju bita prijenosa faktor koji ograničava ,j:minu
potpunog zbraj ala. Postoje dvije mogućnosti da se skrati vrijeme širenja bita prijenos a : upotreba bržih vrata ili upotreba dodatnih sklopova za predvidanje bita prij enosa (engl. carry l ook-ahead3) .
zbrajalo sastoji od potpunih zbraj ala koj a imaj u
modificiranu izlaznu liniju C; + 1 koj a s e dobiva po
moću dva signala :
signala generiranj a bita prijenosa G;
D
signala širenja bita prijenosa
P;
= =
A; B;,
Ai <;Đ
B;.
Izlazni j e signal b i t a prijenosa koji s e prenosi u stupanj
i+l
Npr. za četverobitno zbrajalo s predviđanjem bita prijenosa imamo : C2 = G j + PIC"
Cl = G2 + P2C2 = G , + P,(G, + PICI) = = G, + P,G j + P2PIC" C. = G3 + PJC3 = = G, + P3G 2 + P3P2GI + P3P2P,C"
C, = G, + P,C, = = G, + P,(G3 + P3G , + P3P2G , + P3P,P I C I) = G,
P aralelno zbrajalo s dodatnim sklopovima naziva se zbraj alo s predviđanjem bita prijenosa. Takvo se
D
Nastavljanjem gornj eg postupka može se izraziti i COU! = Cn + , kao suma produkata logičkih funkcija P i G.
+ P,G, + P,P3G, + P,P3P,GI + P,P3P,P , C , .
Slika 5 . 6 prikazuje četverobitno zbraj alo s predviđa
njem bita prij enosa.
Sklop za predviđanje bita prijenosa je dvorazinski
logički sklop. On je ostvaren s j ednom razinom koju čine logička vrata
I
i
s
drugom razinom koju čine
logička vrata ILI. Kašnj enje u širenju signala bita prijenosa j ednako je za svaki bit prijenosa pojedinog stupnja i iznosi 2tg + th, odnosno
aritmetičke sekcije (sI . 5.5) : C; + 1
Suma je :
F;
=
=
G;
+ P ; C; .
P ; <;Đ
C;.
, Sklop za predviđanje bita prijenosa.
3t, (tg = th) .
78
Naprednije arhitekture mikroprocesora .---
-
sklop za predviđanj e bita prij enosa
4 G4 P4 FJ GJ P, t \ .
I-
e4
1
f-
+
ej
f- e
2 G 2 P2 +
f
Ie
2
l
Gl PI
C i n =C
.
.
Sl. 5.6.
Cetverobitno zbrajalo s predviđanjem bita prijenosa
Slika 5.7 prikazuje izvedbu sklopa za predviđanj e bita prij enosa. Slika 5.8 prikazuje detalj organizacij e prvog S-bitnog mikroprocesora Intel 8008. Uočavamo sklop za pred viđanj e bita prijenosa koj i ubrzava rad paralelnog zbrajala aritmetičko-Iogičke j edinice .
Logička sekcija
Logičke operacij e rukuju bitovima opera n ada izdvo j eno i svaki se bit promatra kao logička, binarna varij abla. Logička sekcij a izvodi osnovne logičke operacije . Budući d a se sve logičke operacije mogu ostvariti pomoću logičkih operacij a I, ILI i NE (komplement) to l ogička se kcij a obično izvodi samo te ope ra cij e . Slika 5 . 9 prikazuj e nezavisnu izvedbu logičke sekcije u j ednom stupnju AL jedinice koja izvodi četiri logičke operacije : I, ILI, NE j ČIVO ILI.
ISKLJU
oblikovanja AL jedinice (radi ograničenja na silicijskom čipu i potroška) i spituj u se mogućnosti upotrebe logičkih sklopova u a rit m e ti č kOj sekcij i za izvedbu logičkih operacij a . Tako s e aritmetička i logička se kcij a pojedinog stup nja AL j ed in i ce stapaju u jednu se kciju . U pravljačke l in ij e za izbor i zl az a aritmetičke ili logičke sekcije S2 (sl. 5 . 1) sada gubi prvotnu fu nkcij u , ali se j oš uv ij ek upotrebljava za odrcđivanje logičk e ili aritmetičke ope racije (sl. 5 . 10) : Prilikom pov rši n e
D
ako je u p r av l j a čki ulaz S2 = O, izvodi se aritme
operacij a, ako je upravlj ački
tička
D
operacij a .
ul az S 2 '" 1 , izvo di s e logička
Pretpostavimo da je S2 = 1 t ad a je ulazni b i t (sl . S . lO) prijenosa C; u svakom stu pnju O, potpuno z b ra j a l o s funkcijom
daj e rezul tat
Fi = Xi
Ef)
Yi Ef)
Fi = Xi Ef) Yi
koji je u stvari logička operacija (j er vrijedi x Ef) O = x) .
C;
ISKLJU�.Ll
---
Ulazi su u potpuno zbraj ala (sl. 5.4) Ai = Xi , a Yi j e ulaz koj i s e dobiva i z sklopa z a priređivanje bjta operand a Bi '
��E.�I}Qili od upIavJi.!čkih.uJ?J;.1LS.Q.i.§1 možemo na uI a�� � ]'i imati O, _13;' Bi ili 1 (sI . 5 ,3.L_ _
_ Za upravljačku kombinacij u So = 1, SI = 1 i S2 = 1 ( Ci = O) na ulazu potpunog zbraj ala Xi je Ai , a na ulazu Yi j e 1 . Na izlazu iz potpunog zbraj ala Fi dobit ćemo komplement od Ai Fi = Xi Ef)
(LQ&!E��._
Yi = Ai Ef) 1
=
Ai'
Kombinacij a SO = l. SI O i S2 = 1 , (Ci = O) daj e na izlazu Fi rezul tat Ai Ef) B i ' =
Izbor upravljačkih sig n a la So = O, SI
=1 i
1
definir a na izlazu iz potpunog zbraj ala F; logičk u funkcij u ekvivalencij e :
(C; = O)
Fi = Ai
-
=
9 B; = A ;Bi + Ai Bi
Želimo pomoću gornje
kciju
S2
I:
--�.-.... "
re
l acij e
dobiti logičku fun
Fi = Ai · B, .
Uvođenj em dodatne binarne varij able K i koj a je logičkim ILI dovedena na u l az Xi dobivamo :
F; = (Ai
+
Ki) Bi + (Ai + K;) B;
Fi = AiBi + KBi +
AJU<;
Ako v a rij ab l a K poprimi v rijednost B; tada je Fi. = Ai ' Bi, odnosno ostvarena j e funkcij a logičko
I:
Komponente arhitekture 8·, 16· i 32 bitnih mikroprocesora
79
---
Pl l l l C l ------l
Pl ,P 2G l
p4
P3 G 2
-
I FL---J J � J
.
I
D}
rr=t..--/
P 4G 3
P 3P l l C l
Pl 2 G l
I I
�
P 3G
p
� -;:L/
2
P ,C
P 2G 1
PIC I
Sl. 5. 7. Sklop za predviđanje bila prijenosa
Gl r-V
80
Naprednije arhitekture mikroprocesora
EJE1SloaJ dn">iS � J01Elnwn>jE
� '" -O �
�
cl.
LO
11 -5 i:
� '" .�
�i2
�
�
�
';;, �
� l; 11'
D
..
:z "" :� ..
�
'0.
�
�
'" � '" 'o;;,
·ti � �
� e ""
-
II
"
'"
cl
-; 'u 0 -
OO ...;
� :6 '';:: QJ
r;;
.. .-
.g ..
�
'0.
1'!
Fi = AiB, + BiBi + A.;IljBj,
5 . 10 p ri k azuj e izvedbu i-tog stupnja ari tm . etičko-lo-
T --r
gičke jedinice .
lako smo u ovom uvodnom dij e l u poglavlja opisali
O
O
samo model aritmetičko-logičke jedinice, on se puno ne razlikuje od aritrnetičko-logičke j e dinice stvarnog mikroprocesora. Npr. G . Harrim an , iz tvrtke Inmos,
F, = Aj · B, .
u
Logi čku operaciju ILI dobit ćemo za stanje uprav ljačkih signala So O, Sl = O i S2 l (C, O) ak o na ulazu u Xi dovedemo Ai + Bi, jer je Fi = Xi' Slika =
=
=
svom članku "Oblikovanje 16 b itno g procesora" -
opi suj e AL j edinicu : "AL bita
j e d i n ic a
i zbornog
je standardno oblikovana i ima četiri koda koji dop u štaju izbor jedne od
Ai
- - - - - -1
1 - - - - - - --
�:----�� 1
I
____
Sl.
5 . 9.
Izv,db. logičk' "krije AL jedinice
o
izbor
I
I
I I
I L
I
_
_
_
_ _
_
_
I I
- �
Sl. 5. 10.
Izvedba i-tog stupnja aritmetičko-logičke jedinice
S l "�__________-'��
So
zbrajalo potpuno
Y. I
F.
I
Naprednije arhitekture mikroprocesora
82 funkcij a njenih ulaza X i Y. AL jedinica je aritme
Množila
tičko zbraj alo i umjesto oduzimala upotreblj ava zbra
Brza zbraj ala mogu poslužiti i kao osnova za opera
j anje broj eva u n otaciji potpunog komplementa . Oduzimanje se izvodi invertiranje m j ednog od ulaza
i pribrajanj em drugog operanda , uz uvjet da je ulazni bit prijenosa 1 . Pri izvođenju logičkih opera
cij e cj elobroj nog množenj a i dijeljenj a . S pomoću
brzog zbraj ala i relativno j ednostavnih dodatnih sklo pova mogu se ostvariti sklopovi za množcnje i dijelje
cij a prijenosni se put bita prijenosa prekida. Aritme
nje . To j e razlog što već 8-bitni mikroprocesori
tičko-logičku j e dinicu opisuj u :
druge generaracij e (npr. Motorola MC 6809) imaju
Logičke operacije : <:9 . ILI, I, NE
instrukcije za množenje dva 8-bitna broj a bez pred
Suma : zbraj anj e s predviđanjem b i t a prij enosa
znaka .
Razlika : zbraj anj e dvoj nog komplementa. Operacij e množenja i dijelj enj a
su
Množenj e broj eva
s
(engl .signed num operanda pretvore II
predznakom
be r ) izvodi se tako da se oba
ostvarene mikro
pozitivne broj eve , pom nože i onda (ako je potrebno)
programom (koji definira uzastopni posmak i zbraj a nj e operanada u AL jedinici) . "
pre o b l ik uj u tako da produkt ima odgovaraj ući pred-
najznačajniji
pomoćni
bi)
n- I n - 2
ttt
_..
O -l
I I I ·.. I I I registar
Q
� A (O,n- l )
- O
O ( - l ,n- I ) - O COUNT
- O
Q
- množitelj
n- I
n-2 . . .
O
I I I
... I I '------.,,M - m noženik n - l n-2 . . .
I I I
.. ·
registar
O
I I
registar A
da li j e Q(O ) = 1 i Q(- I ) = O ?
d a li j e Q(O)=O i
Q( - I )= 1 ?
ne
PA(n- l )
- ACn- l l
p05mak udesno 5adržaja regi.t r.!
A(o,n- 2l, Q ( - l ,n- I ) _ Q(O, n - l )
A ( O,n- l ) ,
r- najznačajn iji bit rezul tata n -rl,n :.:-:;2'--r-_---,.JO"-, n- I n-2
I
IL...I-L ..L I ..1..-. 1 IL.I....! I I 1 ·. 1 1 .
.. _ ,
� '----v----' regi.tar A
rezultat SI.
5. lJ.
Dijagram tokn
Boo/ho""
a/gari/mIJ
M
registar Q
produkta
M.Q
I
Komponente arhitekture 8-, 16- i 32 bitnih mikroprocesora
Gl(n)
83
aC- i )
A(n- I )
n-bi tno potpuno zbraj alo
rezultat
ul a zna sab ir-ct-________________ ...._____....J nic a operan"
C
i
- upravlj ački signali
C C C : I II - A . M } 4 S = 1 10 - A - M C C [ } 4 S CI = I posmak
udesno
rezui tat na sabi rnici
SI. 5 . 12. Blok-shema množila za Boothov algoritam
znak . Kad su broj evi izraženi u notaciji dvojnog komplementa, množenje zahtijeva dodatni korekcij ski korak ako je množitelj negativan, što čini složeni. jom sklopovsku izve�bu množila. Boothov algoritam za množenje brojeva predbčen ih u notaciji dvoj nog komplementa ne zahtijeva korek cijski korak i pogodan je za sklopovsku izvedbu . Slika 5 . 1 1 prikazuje dij agram toka Boothova algorit ma. Slika 5 . 12 pri k azuj e blok-shemu množila za Boothov algoritam. U svakom koraku i sp i tuj u se dva susjedna bita množitelj a X koji je smješten u registru Q. Ako je XjXj _ 1 10, množenik se pribraj a akumu liranom parcij alnom produktu. Ako j e XjXi - 1 01 , množenik se oduzima od akumuliranoga parcijalnog produkta. Nakon toga se izvodi operacij a posrnaka. Ako je Xj - 1 Xi, izvodi se samo operacij a posrnaka. '"
'"
'"
Zah valj uj ući ispitivanju dvaju su sjedni h bitova i slijedu nula ili slijedu jedinica u množitelju , ubrzava se množenje (izvodi se samo operacija posrnaka međurezultata). Međurezultat je smj ešten u registar skom paru A, Q .
Slika 5 . 13 prikazuj e primjer m noženj a Boothovim algoritmom dvaj u četverobitnih operanada : M ", 001 1 i Q = 10 1 1 . Osim ubrzanj a množenja pomoću Bootova algorit ma, množenje se ubrzava pomoću posebnih izvedaba množila, kao što su : D Množilo sa zbrajalima velike brzine - upotreba zbrajala sa sklopovima za predviđanje bita prije nosa. D Množilo sastavljeno od polja potpunih zbrajala. D Množilo sastavljeno od zbrajala s očuvanjem bita prijenosa (engl .carry save adder) koja su povezana u ka skadu . D Množilo s brzim posrnačnim sklopovima. D Množilo koje istovremeno množi više bitova množenika. Slika 5 . 14 prikazuje m nožilo sastavljeno od polja potpunih zbrajala za brzo množenje dvaju 3-bitnih brojeva. Množila sastavljena od polja potpunih zbrajala imaju pravilnu sta ni čnu strukturu (stanica se sastoj i od
84
Naprednije arhitekture mikroprocesora
I. korak: A
O
M
J
2 I O
J
2 I O -I
l a l o l ol a l
9. korak:
1 01
�
I I
I I
M
COUNhO
2. korak:
o
COUN T . 2
I 0 1 � oI cl 0 1
J 2 I
O
=
1 0. korak:
·J I o
0(0)
•
A - A
-I
l d ol d d ol
O
0(- 1 ) = I +
M
0=-5 1 0
J. korak:
l l . korak: I
0 (0 ) = 0(- 1 )
A - A - M A
J
COUNT = 3
O
=
2 I
I � korak:
O
I Ii I I 0 1 1 I
4. korak: ?
3
COUNT.
I J. korak:
COUNT . 3
5. korak:
�
A (n- I ) - A ( n- I )
l 1 I 1 I1 I 1 r-----J 1 1 1 0 1 1 1 1 1 O
1 4. korak:
0(0)
= I
0(- 1 )
=
O
A- A - M
I
J 2 I O -I l o l o I I I I I OI
O
A
6. ko rak: COUNT= I
1 5. korak:
7. korak:
COUNT
Q(O)= I
=
O
J
1 6. korak:
0(- 1 ) = 1
rezultat: A ( O,n- I ) , O(n,n- I )
9. korak:
! Ii I I I l o lo I � I I rezulta t .
-1 510
Sl. 5. 13. Primjer izvođenja BODIOva algoritma
po tpunog zb rajala i logičkog skl op a ''Y'' , 51 .5. 14) i vrlo su pogodna za izvedbu u tehnologiji VLSI . Slika 5 . 15 prikazuje praktičnu izvedbu
jednostavnog
množila koj e se te melj i na polju pot punih zbraj ala. Množilo se upo treblj ava za množenje dvaju brojeva
bez predznaka (četverobitnog broja s dvobitnim). Množenje 4-bitnog multipli k and a M�2MIM{, i 2-bit· nog multiplikatora NINo daje 6-bitni p rodukt PSP,P3P2PIPO'
85
Komponente arhitekture 8-, 16- i 32 bitnih mikroprocesora
::
�
� ' NO
__________________________________________________________________
x
o
>
>
o
X
..
8. �
.�
1 - -- - - - - - - - -
I
N N I l__
_ _ _ _ _ _ _ _ _ _ _
�-------. 1------. N
�
> > 0 >
N N
X
N
>
Sl. 5.14. Mnolilo - polje po/punih zbrajalo
'" N
86
Naprednije arhitekture mikroprocesora
C " C 1n
o
M
AO Bo A
",, 1 1-----1
B
I I
A2
B2
AJ
Gl ii :;; e e
5
" D
1
SJ
O
N
e ii
.� il
I
Sl. 5. /5. Sklop za mnoienje MxN (M = 4-bitni oper.nd . N = 2- bitni operand)
pomoću pa rc ij al n ih produkata (M,M2MIMo) X No i (M3M2MIMo) X Nl koji se na odgovarajući način pozicioniraju i zbrajaju. Npr. M,M2MIMo 1101 i NINo 10 dobivamo :
Produkt se d obiva =
[ Ps
=
MJ M, M, Mn l l O 1
- -
r-
c-
-
-
c- c-
-
O I
P,
L-
P,
(j (j
(j I
(j
P,
Mo · No
P,
=
x
(j
N , Nil 1 O
Pil
1 · 0 ..
A2 = Mz ' N 1 = 1 · l = 1 B2 = M" No = 1 · 0 = 0 MJ ' N l
8] = 0
Cou, = O
=
mikroprocesor M cD o n n el l Douglas, ost va ren u tehnologij i GaAs VFET im a sklopove za m no ženj e dva j u operanada d ulj ine 32 bita. O p e raci ju mn ož enj a koj a se teme lj i na modificiranom Boot hovu algo ritmu izvodi u 16 ciklusa . 32-bitni
=
=
Većina mikroprocesora ima implementirano cj e l o brojno množenje pomoću mikroprogramskog uprav ij a nj a (vidi pog lavl j e o upravlj ačkoj j e d i n ici) i upo t reb lj av a o pe racij e poj e d i n ačno g pos m ak a i zbraj a nj a . Drugi se pri stu p također zasniva n a u po tre bi mikroprogramiranja . ali po m oću sklopova koji iz rav n o pod ržavaju Boothov a l goritam . Ta k av se pri st u p . naprimj e r , upotrehlj ava za izvedhu m noženja u
1 6-bitnom m i k roproceso ru MC flK()()().
(j
An = Mn · NI = l · l = l Bil MI · Nn = O · O = O .
A,
ko ri s te op e ra n di ma u no t acij i redundantne binarne pre d odžb e .
1·1
=
l
O = Po
} + = 1 = P1 +
} }+ =1 =
1
=
=
P, P.
= O = Ps
Množilo sastaVljeno od polja potpunih zb rajala može se u tehnologiji VLSI ostvariti i za operande duljine šesnaest bita, a množenje izv ode u vremenu k raćem od n e ko l ik o desetaka nanosekund a . U specij alnim procesori m a , gdj e j e vrijeme o brad e kri tično , upotrebljavaju se posebna množila koj a se
Og raničen a povdin a silicijskog čipa i potro;�k sklo pova ( A L jedinica je jedan od n aj ve ć i h p( J t ro�aćil ) osn o vn i su raz l oz i da se (u veći ni ,I uća jn:, ) u mikroprocesorskom čipu ne upotrehlj ava ju , k l "puvi za brzo pa ra lel n o mn()7enje ( n p r . polje pot p u n i h
zbraj ala). Djelila
Svrha je d ije lj e nj a d vaj u cj e l ob roj n ih binarnih bro DN (D - dj elj en ik , V - djelitelj) do bivanj e kvocijenta O tako da vrij edi :
jeva
gdje je R ostatak, O � I R I
D = O x V + R,
Najjednostavnija j e tehnikom
dijeljenje
< V.
metoda dijelj enja sekvencij alno "olovka i pap i r " . Ona s m a l i m
bilnl� mikroprocesora
87
preinakama može poslužiti i kao osnova za sklopov sku izvedbu dje l i l a .
za Boothov'Ulgoritam (s\ . 5 . l2) može s malim modifi k acij a ma poslužiti i kao sh em a dj el i la .
Komponente arhitekture 8-,
D ij e l jenj e '
se obavlj a decimal n i h brojev a .
16- i 32
na
isti
način
kao i
d ij elj e nj e
Međutim . binarno je d i j e lj e nj e jednostavnije zato što su elementi kvocijenta O nule i j edinice pa nij e potrebno procj enj ivanj e koliko puta "ide" djelitelj u djeljenik i l i u djelomični ostatak. Neka je npr. djelj e nik D cio broj bez pre dz na k a 1 1 1 1101 i neka je dje l i te l j V također cio broj bez predznaka 101 . Dijeljenj e
će se
l l l
r--l
izvoditi na sljedeći način : 1 0 1=1 1 0 0 1
1 1 0 1
-1 0 1
o 1 0 1 - 1 O 1
O O O
1 O l - l O l
O O O
Iz postupk a vidimo da se dijelj enje svodi na uza stopno uspoređivanje , oduzimanje djelitelja od dje lomič n ih ostataka i posrnaka djelitelja. Oduzimanje se može zamijeniti zbrajanjem dvojnog komple menta djelitelj a (\I + l 011) : l l l l
+0 l l
=
1 0 1
1 0 1=1 1 0 0 1
Postupak dijcljcnja obnavljanj em sličan j e postupku koji se temelj i na usporedbi djelitelj a i djelomičnog ostatka, samo što se odluka o torne d a li dj el i t elj "ide" iIi "ne ide" u dj e ljeni k . odnosno dj e lomičn i . ostatak ne donosi unaprijed, već s e osniva na vrijerl nosti njihove razlike. Ako je razlika između djelo mičnog ostatka i djelitelja negativna. tada djelitelj "ne ide" u dj elomični ostatak pa je potrebno djelO mični ostatak obnoviti ponovnim pribraj anjem djeli telj a . Slika 5 . 16 prikazuje blok-shemu sklopa za dijelj enj a obnavlj anjem. Malom preinakom algoritma za dijeljenje obnavlja njem - uklanjanj em koraka obnavljanja dj elomičnog osta tka i dopuštanjem da dj elomični ostatak bude negativan dobiva se algoritam za dijeljenje bez obnav ljanja. Tada se korak obnavlj anja Ri <-- Ri + V ,
sljedeći
korak
oduzim a nj a R' + 1 ..... 2Ri - V
l] O O O l O l + O l l
st
ap aj u
u j edan ko r a k :
Ri + , ..... 2Rj + V. Djelilo s blok-shemom na slici 5 . 16 podržava i ovaj algoritam dijeljenj a .
1] O O O
Kvocij en t O se izračunava bit po bit u vremenu. U svakom koraku j, djelitelj V se posrnače udesno i ima vrijednost 2 - V, te se uspoređuje s djelomičnim ostatkom Ri. B it kvocijenta q , se postavlja na 1 ako j e 2 - i V manje ili j ednako R,. Novi se dj el om i čni ostatak Ri + I dobiva
kao :
- q,2 - 'V .
Modifikacij a tehnike "olovka i papir" koja j e po godna za s k l opovsk u izvedbu , sastoji se u posrnaea nju dj elo mi čn og ostatka ulij evo od djelitelja . U tom se slučaj u novi djelomični ostatak dobiva kao : Ri + I +- 2Ri - q;V .
ovdje se oduzimanje može zamijeniti zbrajanjem dvoj nog komplementa (\I + 1). Blok-shema množila I
Za sklopo vsku izvedbu djelila upotreblj ava s e kao osnova algoritam za dijeljenje obnavljanjem djelomič nih ostataka (engl.restoring division)_
i
1] O 1 O 1 +O 1 1
Ri + I +- Ri
Registri A i O se prvo upotrebljavaju za početno pohranjivanje djeljenika (koji može biti duljine 2n) . a zatim se A i O upotrebljavaju za pohranjivanje djelomičnog ostatka. A i O se pomiču ulijevo, a u n!ljmanje značajna mjesta registra O pohran j uju se generirani bitovi kvocijenta. Dj e lite lj V se pohra njuje u registar M. Na kraju dijeljenj a rezultat je u regis t ru O, ostatak u registru A. a djelitelj ostaj e u registru M .
Opisani algoritmi s u namijenjeni dij eljenju cijelih brojeva bez predznaka. D ij e ljenj e brojeva u notaciji predznak + veličina ob avlj a se na isti način. samo što se u zadnj e m koraku namješta predznak rezultata pr e ma pred znaku dj eljenika i d j e l i te lj a .
Dijeljenj e brojeva prikazanih u nota ciji dvojnog komplementa zahtij eva d od at n i korekcij ski kora k .
Postupak d ij e lj e nj a ubrzava se upotrebom brzih s k l o pova za d ijelj e nj e : D
D
o
dj e lil a s brzim z braj alima i oduzimalirna,
djelila s brzim sklopovima za posmak. djeli\a s istovremenim dijelj enjem.
88
Naprednije arhiteklure mikroprocesora
akumulator
I
kvocijent
A
Q
�
f-
l
dj eli telj
I
Q( D)
n-bi tno potpuno zbralala
M
t
I
rezultat ulazna sa birnica
A(n- I )
.
upravlj aČka jedinica
SI. 5.16. Blok-shema djelila
Slično kao i pri brzo m množenj u , i pri d ij elj e nj u se mogu upotrebljavati polja koj a se sastoj e od stanica. Svak a se st an ica s as toj i od po tpun og od uz im al a .
mikroprocesora koja u svom skupu instruk i nstru k cij e za dij e lj enj e cij elim b rojev ima (s pre dznak om i bez predznaka) up ot reb lj ava mikro Veći na
cija ima
programsko upravljanje sklopom za posma� i zbraja lom . Tehnološka o gra n i če nj a još uv ij ek ne d opušt aj u imp l e m e ntacij u sk l o pov a za brzo dijeljenje , kao što su s t ran i čn a polja i l i dj e li l a s istovremenim d ij elj e nj e m više bitova djelj enika.
npr.
upotrebljava
MCtiHOOO . On ima D I V U i DIVS . ljenje
se
a l gor i ta m a za dije
u
M i k roprogramska i m p l e m e ntacija
m i k ropr<,lcesoru
dvije instrukcije za d ije l j enj e :
One obavljaju dij e lj enje 32-bitnog djeljenika i 16-bit
nog djelitelja. Rezu l t a t j e
binarni o s t at a k .
16-bitni kvocijent i 16-bitni
se upotrebljava u ari t meti ci bro a DIVS u aritmetici b r oj e v a s
jeva bez predznaka, Instrukcija DlVU
predznakom .
Sklopov; za aritml'tiku s
pomičnim zarezom
brojeva
ledinica za aritmetiku b roj e v a s pomičnim za rezo m može se pro matrati kao jedinica koja se s a stoji od dvij u jedi nica za aritrnetiku cijclih binarnih broj ev a . Jedna je j e d i n i ca namijenjena operacij ama s manti �o m , a d ruga operacij ama s eksponcntom. Jedinica za operacije s m a ntisom izvršava četiri osnovne
operacije , dok jedinica za operacije s e kspone nto m zahtijeva samo zbrajanje, oduzimanje i usporedbu
eksponenata.
Sa mo ma l i broj mi krop rocesora ima na mik ro proce sorskom čipu i m pl e m en t i ranu j e di n i cu za aritrne tiku b roj eva s pomičnim zare zom . Većina p roces ora upo trebljava mat e m ati č ke procesore ili koprocesore koji su izve de ni na pos eb no m čipu. U 7. odjeljku ovog pogl avlj a opi s a n je matematički procesor MC68881 .
S.3. Sklop za Sklop
za
posmak4
posmak osnovna je sastavna kom pone n ta j edin i ce . Obično je s mj e št en na
izlazu iz AL jedinice i povezuje je sa sabirnicom (sI . S . 17). Sklop za posmak p re n o s i rezultat aritme aritmetičko-Iogičke
tičke ili logičke o pe rac ij e na sabi rn ic u izravno bez posmaka, ili to čini s po smak o m rezul t a t a ulij evo ili udesno. Sklopovi za posm ak mogu se izvesti dvoj a
ko :
o o
kao dvosmjerni (posmak ulijevo , posmak s
kao k ombin a cij s k i sklopovi .
sno) posrn ačn i registri
ude
paral el n i m ulazom ,
Prilikom izvedbe sklopa za posmak u mi kroproceso ru , radi veće brzine , pred n os t se daje kombinacijskim
skl op o vima .
Slika 5. 18 prikazuje izvedbu kombinacijskog sklopa za posm ak . Osnovni građevni blok sklopa j e m u lti
Prema stanju u prav lj ačkih ulaza H" i H , određuje se ulaznog pod a tk a . Ako je Ho = O i HI = O, ulaz Fg . . . F2 FI izravn o se p re no si na izlaz bez posma ka : Sg S7 " . SI = Fg F7 " . F1• Kad je Ho = O i HI = l .
pleksor.
posmak
, ERg!. Shifter.
A
n
Aj.,. I
B
. n
ej+ 1
AI
Al
8
1:-
l j Cour
sekcije
I I I l I I I I S 2 -L,"ultipleksor n I 1_ _ __ _ _ _ _ L _ _ _
F
Sl. 5. 1 7.
logi�ka sekeija
logičke
ari tmetička sekcija
I
1 -
C.2 I I
l
81
- -- - - -- - - - l l II I I I
r I I
loql � k a
a r i t. m e tiCka sekci ja I
sekcija
I
l c. ln
{:'. SI
I
,
:
_ _ _ _ _ _ _ _ _ _ _
F i+
n
Povl!zjlallie sklopa za posm{/k
EU"'�" ��'
lin iz/aw jz AL
jedinice
F
_ _
1
F
I
I
F
F
F7
8
F
6
F4
S
F}
F
F
2
I
seriisk O i z l al
i z l a z:
� I
I
llJf
R
H, HO
o
-
-
mul ,lpl.ksor
: L L ,
I
_
r I
t:
F _
S
2
l
3 -
m u ! ti p l e ksor
'
J--t--
1
I
_
S
8
/
l
multipl�sor
� -
1
./'
/
1
S 6
t:
J mul tipleksor
-- -----
t S
�
I
- - - ...J' , ';1(
L - - - - - -v / \
\
SI. 5, 18, Iz vedba posmatnog sklopa
1
l
\
l
S.
"" \
I
I
L-
m u i tipleksor
\
!
,
t:
s
/ ;I
l
I
\ >----+- 5,
2
}
/
"'"
H� H2
>
<
-----
----
/'
/
/
/
/
I
t:
l mul t i p l eksor
I
S}
L
'------l
t:
O
m u l t i p l eksar
l
52
l
H °m ul t i P leksor
f--
�
,-----
S
I
L
Komponente arhitekture 8-, 16- i 32 bitniH mikroprocesora
91
m u lti ple kso r ima na izlazu podatak s ulaza 2, što
Slika 5 . 20 prikazuje blok -dij a gra m 32-bitnog mikro
o d gov a ra po smaku u l aznog
pod atk a
. . . Sl = F7 . . . F3 F2 Fl IL. Kad je R. posrn ače podatak udesno : S8 S7 S6 "
1
Ulij evo : S8 S7 S6
i Hl = O, skl op , S l = IR F8 F7 ' " F2 •
=
sl u ž e kao serijski ulazi z a p rvi i pos lj e d nj i b i t_ pr i li k om posm a ka u l ij e v o i udesno. U pr av lj ač ka kom b i n ac ij a Ho 1 i Hl 1 d e fin i ra prij enos ope rand a s vr ij ednošću O na sabirnicu : S8 S7 S6 . . . S, = ° O O . . . O. Ulazi IL IR
=
Dodatni upravlj ački ulaz
sklopa z a
posmak (n pr . H2)
( n p r . O) serij sk og ulaza i li će definirati kružni p osm ak koj i se ostvaruje povezivanjem serijskog izlaza, pre ko zastavice prije n o s a C, sa s e rij ski m ulazom (IR ili IL) ' U a rh i te k tu ri 32-bitnih procesora i matematičkih procesora ili ko proee sora susrećemo p oseb n e sklo pove za p os m ak , tzv. barrels shifter - bačvas ti sklop za po s m ak .
To j e kombin acij ski s kl o p koji i m a dvij e s k upine ulaza : A = an _ 1 an - 2 · . . ao i B = a2n - 1 . . . a n + 2 a n + l a n, j edan izlaz C = C, - l C, - 2 ' " CO te upravlja čk i ulaz S.
. . . So
od re đ uj e
vrij ednos t 5 . 1 9 prikazuj e fu n kc i o n al n u sh e m u skl op a za posm ak . Up r avlj ački ulaz definira broj bitova ulaza skupi n e B koj i će se pojaviti na izlazu C. A k o je S = 0, tada j e Upravljački ulaz S = S; Sj
ko n s ta n te p o srn aka O :s S ::; n. S li ka
O :s
i
:s n
smak 32-bitnih o p era n ada za bilo koj i
ob a smjera.
broj
hi tova
u
5 . 4 . Akumulator U o dj e lj k u 4.2 op i s al i smo akumulator - registar koj i se po funkcij i
i zdv aj a
od ostalih registara mikropr o
cesora . U nekim slučaj ev i m a akumulator n i je samo registar, v e ć predstavlja kombinacijsko-sekvcncijski sklop. S a st oji se od dvosmjernoga posmačnog regi stra s p ar al e l ni m ulazom i paralelnim izlazom te
pridruženih
kombinacij skih sklo pova
(51 . 5 . 2 1 ) ,
tako
da može izvoditi neke osnovne aritmetičke i l o gičke op e r acij e : p os m a k u li j evo , posmak udesno, br i sa nj e s adržaja A <- 0 , inkrementiranj e A <- A + l, kom
p l emen tiranj e
sa d ržaj a A
<- A ,
ispit iva nj e
da
li j e
sad rž aj A jednak 0 , logičke operacije A <- A . B , A <- A + B , A <- A <:9B . Ako se komb i n acijs ki m
s kl opovi ma aku m u l atora
pri doda i p o t pu n o zb raj a lo ,
onda se lokalno mogu izvoditi i ope ra cij e
A+B
i
A - B.
logičke jedinice
dobiva se
A ri t me t i čke o p eracij e
np r .
odnosno
na izlazu e poj avlj uj e se podatak s ulaza .B .
za
pos mak
S
=
n dobiva :
{- :�
bi se ubrzalo i zvo đ e nje aritmetičkih
ope r a cij a , u po tr eb lj av aj u
i l ogič kih
se zahvati u arhitekturi m i krop rocesora kao što su upo tre b a višestrukih is tov rs n ih aritrnetičkih i l o g ički h p o d sus t av a i protočna (engl . pipeline) organizacija AL j ed i n ice . U po t r eba više i s tov r s n ih aritrnetičkih i logičkih pod s ust av a u AL j e d i n ica d o pu št a p ar al el n u obrad u , odnosno o pe raci je s većim brojem operanada . Tako, n a pr i mj e r ,
16- bi t ni
mikroproces o r MC68000
ima j e d i n i c u za o b radu po da t aka kao dvosabirnički
�l
�-- C 2
p odsust av k oj i obrađuje
i poda tke
i e fe k tivn u adresu .
Obje su sabi rn i ce širine 16 b it a i svaka se od nj i h
m o že
p o d m i k roprogramsk i m u p r avl j anj e m
g ur ira ti
e
�"";"'- Cn_
"2n- 1
vrlo če sto k ritični vre m e n
j e dini ce z ahtj ev a brižlj iv logički i s k lo p ov s k i p r i s t up . Da
"n- l
su
ski o dsj e č ci puta p o d a t a k a i zato ob l ik ov a n j e AL
Tako se
SI.
On ima bačvasti
5 . 5 . Ubrzanja rada aritmetičko
C = A,
A
McDonnell Do u g l as .
po srn a čn i sklop koj i izvodi aritrnetički i logički po
=
po sl uži t će za izbor vrij edn osti
Za S = i
proces ora
5. 1 9. Funkcionalna -
u
tri
ne z av is n a
sabirnička
(s\ . S . 22 ) .
rekonfi podsustava
Za o br adu pod a t aka raspoložive su tri nezavisne a ri tme ti čk e
j ed i ni ce . Nj im a su pri dru že n e po se b n a l ogi čka j ed in ic a i j e d i ni ca za specij alne operacije (rukovanje b i tovim a , dugi po sm ak ) . Svaka j e jedi
ni c a povezana s dv ij e
is tov re me no o b a , Engl. barrel
interne
sabirnice i
ulazna operanda.
- bačva ,
posuda cilindrična oblika.
p ri m a
PC 4 PO
PC2 PC I
'------ lA (adresa instrukcije) IR
dekoder
instrukcij e
i nstrukcij ski registar upravljački ulazi -
1
upravlj anje
( p rotočna struktura)
_----1�_ 0 A (adresa oper.anda)
Barrel posmačnl sklo p
(bačvasti sklop z a p osm ak )
registar operanda
ulaz B
SI. 5.20. McDonnell Doug/as 32·bitni mikroprocesor s bal'vastim sklopom 1a pMmak
upravlj ački ulazi
SI. 5. 2 1 .
Blok.sh_ma akumulatora
o · ćl .... '"
' o l> c ....
registar podataka ( 1 6 bita) adresni regi star I
ari tmetička j edinica (zna�aj nlj a rlJ e�)
adresni regi star - manje zna � .j n a r i j e� ( 1 6 bita) .
� cr iD· :;. 3 ", '" '" �
�.
.. "
N n '" oo 1")0
OO !!! .= �
-' 0
::J o.
ari tmeti�ka J edinica manje 2na�ajna rlj e�
II OI o<
( 1 6 bi ta)
....
o
o o
registr! podataka manj e značajna rije� ( 1 6 bita)
'" '"
9:
2.
n oo " o tl.
speci j alna j edinica
!!! OI ,. OI
ari tmeti čko-Iogička ...
Sl.
j edinica
5.22. Blok-shema jedinice za obradu podataka (MC 68()()())
Slika 5 . 23 prikazuje povećanu sliku mikroprocesor
skog či pa MC68000 k oj i ima oko 68 tisuća tranzisto ra. Na slici su označe n a polja na silicij u k oj a odgova
raj u području sklopo va aritmetičko-logičke jedinice i područja sklopova za upravlj anj e nj ome . Posebno su označene d vij e AL jedinice za računanje adrese i obradu 32-bitnih podataka, AL j ed i n ic a sa sklopo vima poseb nih funkcija namij enjena za ob radu poda taka te jed i nica za specijalne opera c ij e .
Prema podacima pro izvo đ ača 69% površine silicij za uzim aju upravljački sklopovi , a preostali dio namijenjen je aritmetičko-logičkim sklopovima, sklopovima za vremensko vođenj e , po gonskim sklopovima , dekoderima i drugim . skog čipa MC68000
Slika 5 .24 prikazuje jedinicu za obradu 32-bitnog mikroprocesora Clipper. Mikroprocesor irna zna-
94
Naprednije arhitekture mikroprocesora
I-_ d-
.s �
��.; �'-� sabtrmce
generatori sI g na l a vremenskog vodenJ a vremenski sklop
I
upravljanje
I I
I
p. ROM
r--::u
e E u " lL li
!I
'D
dek ode r OI 'c
rfl.OM
W l
prekidni
(lRG)
« � zr '" �
1
.
registri
I
upravlj ačka j edinica
jedini ca za obradu podataka (značaj n i j a rij eč adrese)
�
j edi nica za obradu podataka ( m anj e značaj na r i j eč adrese)
arhitekture RISC i CISC". Je d i n ic a za o brad u j edinic e . ledna izvodi aritmetičk e operac ij e s c ij el i m b roj evi ma i r ačun a adres e , a druga je n amijenj ena za ope ra cij e s b ro j evim a s po m i čn im zarezom. ledinica za cjelobrojnu a ritrn e tiku sastoj i se od tri s e gme n t a L, A i O. Oni r ad e paralelno i dopuštaju prekrivanje u izvođenj u triju ima dvij e AL
slij ednih instrukcija . Prvi segment L čita operande iz skupa registara opće namjene i smj ešta ih u registre L koj i se n a l aze u seg m en tu . U s egmentu A izvode se aritmetičke i logičke op e r a c i j e ili op er a cij e po sm a k a na o p e ra n di ma koj i se dobivaj u iz re gist a ra L. Rezultat se o peracij e s m j e št a u registar s egm e n t a A . Segment O usmj e rav a sad ržaj registra A u j e d i n i cu za o p e r a cije s b roj ev i m a s pomičnim z a re zo m ili u po s e b n u j ed inicu koj a se sas toj i o d pri r u čn e memo i
memorijske
-:j �-
I---
ct
L
j edi ni c a ALU
.. ..
J<
·Oi U
o Q.
TI
e E ll! Q. � 'D Gl
E
I
Organizacija mikroprocesorskog lipa MC 68000
čaj ke
rije podataka
fi , :! i � :l ]'�
j edinica za obradu podataka
adresnt međuspremnici
Sl. 5 . 23.
� OI
u o J< lj u
upravljačke
j edinice (je
stra . Budući da se
j e d i nic a FPU n a laz i na mi k ro p ro cesorskom č ip u , opera cij e s broj evima s pomičnim zarezom ne za h tij ev aj u dodatne prijenose p od a t aka p r eko sabirnice . Sve
su aritmetičke o p er acij e j e di ni ce
FPU određene i pri lagođene standardu IEEE 754 .
5 . 6 . Skup aritmetičko-Iogičkih
instrukcija
Veličina skupa aritmetičko-Iogičkih
instrukcij a i raz koji m a instrukcije djeluju izrav n o zavisi o d arhitekture mikroprocesora i tehnoloških ograničenj a (od stupnj a integracijc , odnosno površine silicij a koja je dodijeljena AL novrsnost tipova po d a t a k a na
jedinici ) .
din i c a D ata CAMMU) .
Osmobitni
za operacij e s broj e vi m a s pomičnim zare zom (FPU) izvodi operacije jednostruke i dvostruke preciznost i . ledinica radi p a r alel n o s j ed i n i co m za cj elobroj nu aritmetiku . ledi nica FPU se sa s t oj i od vlastitih AL j edinica i skupa o d osam 64-bitna regi-
skroman skup aritmetičko-logičkih instrukcij a :
Jedinica
mikroprocesori
prve
ge neracij e
i ma j u ins
t ru kcij e za zb r aj anj e i oduzimanj e (operandi su
6 ClSC _ Cemplex Instruetion Set Computer (Računalo sa skupom složenih instrukcija).
Komponente arhitekture 8-,
16- i 32
95
hitnih mikroprQcesora
!
!
I
"'liOM I
I
,
l
•
I
,
.. -
1 --=......:.2.1.
I
- -
t
•
,
Sl. 5 . 23 . Organizacija mikroprocesor,'kog čipa
prikazani u no tac ij i ci j u za
zbraj anj e
logičke opera c ij e gičko "NE".
d voj nog
kompJ c m e nta ) , i nstru k
"lU" , i s kl j u či vo "lU"
s prij enoso m , te i nstrukcije za
"I",
f
l o
Kod osmobitnih mikroproce sor a d ruge ge neracije
usporđi v a n j e 16-bitnih podatak a , te i nstr u k cij e za susrećemo instruk cije za zbraj anj e , oduzimanj e i m n o že nj e dvaj u 8-bitnih b roj ev a bez pr edznaka (npr. MC 6809) ,
p rij enos a i instrukcij om DAA podržavaju a r i t rne t i ku Osmo bitni mikroprocesori
sa
za s tavico m
polovičnog
Šesnaestobitni mikroprocesori imaj u snaž nij i skup s BeD - broj evim a ,
ari tm etičko-logičkih in s trukcij a . Oni izvode , osim
zbraj anj a i oduzimanja , operacij e množenja nj a s 8 - b i tni m
i
16-bitnim
broj e v i m a
i d ijelje
bez predznaka
ili s predznakom . rij eči , te n izov i ma znakova. Mikroprocesori izvod e i op e rac ije na upakiranim pod a ci ma u BeD-notacij i . mi kropro ceso r druge
koj e su po h ranj en e
i nstrukcije za r u k ovanj e poj ed i ni m bitovima riječi
g e ne r a cij e Z-80 ima
u regis tri m a ili memorij i .
cije postavlj aj u , brišu i l i ispituj u poj e di n ačn e bitove .
Instruk
Broj tipo v a podataka na koj i ma djeluju instru kcije
za v isi od arhitek ture mikroprocesora . Tako , napri
mjer, r u k ova nj e poj edinačnim bitovima n i j e pod
bitni m ikroproceso r Me 68000 n e m ož e izravno pod
ržano u 16-bitnom mikroprocesoru I n t el 8086 , 16ržavati ope r a cij e s nizovima znakova , ali zato ima
32- bi tnim
s b roj evim a s po mični m zarezom obično
instrukcije za ope racij e s
operandim a .
se kod 1 6-bitnih mikroprocesora izvo d e u p o se b n o m
O p e ra cij e
čipu - matematičkom procesoru i l i koprocesoru .
Koprocesor Intel 8087 ,
Me 68 8 8 1 , Natio
nal Semiconductor NS 1 608 1 , Intel 80387 , namije njeni su sus t avima n a bazi 1 6-b i tni h i 32-bitnih
M oto ro l a
matičnih procesora .
Tridesetdvobitni
Imaj u mogućnost rukovanj a nizovima baj tova ili
Os mob i t n i
MC 68000 (nastavak)
432,
Bellmac
mikroprocesori
32 , HP-32)
(npr .Int e l
APX-
i maj u izravno sklopovski
B roj raz li či t ih ti pova podataka na k oj i m a djeluju i n s t rukci j e 32-bitnih mi kroprocesora j e veći nego u
pod ržanu aritrnetiku broj eva s pomičnim za rezo m .
16-bitnih
pret hod n i k a .
Tako npr. 32-bitni m i k ropro-
Naprednije arhitekture mikroprocesora
I
Jedinica za obradu
I
j edinica za cjeiobrojne a r i tme ti č k e operacij e
I I
I I I I I
I
I I I I -
čitanje
.
I I I
operanada
arItmetIčkologička J edinica i posmačnl sk lo p
Ir-
segment A
segment L
I
I
I I
(j edinica FPU)
I
I I I I SI. 5.24.
I I
Blok-shema jedinice za obradu (32-bitni mikroprocesor Clipper)
cesor iAPX-432 može rukovati sljedećim ti po v ima podataka : - 8 -bitn i m zn ak ov i m a , - 16- i 32-bitnim po d acim a ,
- 32- , 64- i 80-bitnim broj evima s pomičnim' zarezorn, - n izovima bitova ,
Osmobitni mikroprocesori izvo dil i su logičke o pera op e racij e po smaka i opera cij e k ruž n o g po srnak a na ope ran dim a dulj i n e 8 bita. (B ez obzira na duljinu ope ran d a , logičke se operacije promatraj u kao ope
c ij e ,
racije na pojedinačnim bitovima (eng\ . bit-wise logi cal operation» .
Š esnaesto bitni
- poljima,
i
tridestdvobitni mikroprocesori iz
vode l og ičke operacij e na poj e d i n ačnim bitovima
zap isima ,
- obje ktima7.
Tridesetdvobitnt mikroprocesor In tel 80386 podržava operacije sa sljedećim ti p ov im a podataka :
bi n a r n i m
segment O
Jedinica za operacij e broj evima s pomičnim zarezom
I
-
upis rezul tata
.
I
-
r-
brojevima bez predznaka : baj t , rij eč i
d vostruka riječ (8, 16 i 32 bita) , - cijelim broj evima s p redznakom (p ri k azan i m u
notacij i d voj no g
komplementa) ,
- nizovima - slijedovima baj tova, rij eči i li dvostru-
kih rij e či (d u ljin a niza je od 1 do 232 elementa) ,
- nizovima ASCII, - nizovi m a b itov a ,
- BCD-brojevima .
operan a da različitih duljina. Npr . mik roproceso r MC 68020 izvodi l ogičke operacije na 8- , 16- i 32-bitnim operandima . Oblik j e ins t rukcij e s Jjedcći : logi čka operacija. atribut < ea> ,Dn ili
logička
operacij a . atribut D n , <ea> .
operacija određena mnemo n ikom , a atri but određuje duljinu operanda (B ,W ili L) . Sa <ea> označe n a j e efektivna adresa (izvor) operanda. Za prvi oblik instrukcij e do pu š te n i su svi načini adresi ra nj a osim izravnog adresiranja adresn og registra An. Regista r Dn sadrži drugi op er an d i pr e dvi đe n je k ao Logička j e
se
odredište rezultata. Za drugi oblik instrukcij e , gdje je <ea> efektivna a dr es a drugog operanda, odnosno
jedinica, osim aritmetičkih , izvodi i logi čke operacije , te opera cij e pos m aka i kružnog posmaka .
, Objekt je struktura podataka kojom se rukuje na točno definiran način. Objekti imaju pridružen skup operacija koji izravno mani pulira tom strukturom poda ta ka (npr . "package" za programski j ezik Ada).
Mikroprocesor Intel 80386 nc podržava izravno ope rac ije s broj evim a s p omičn im zarezom. One izvode matematičkim procesorom Intel 80387.
AL
Komponente arhitekture 8-, 16- i 32 bitnih mikroprocesora
odredišta, dopušteni su načini adresi ranj a čuj u pozivanj e na m emorij u ,
97
gdje se b roj mj e s t a posrnaka određuj e sa OP 2 us pu t n i m osmobitnim podatkom ili sadržajem najma nje zn a čaj n o g bajta regis t r a C (CL) .
koj i uklju
Naprimjer instrukcij a AND . L (A1 ) , D2
Osmobitni broj mjesta posrnaka maskira se t a k o da se samo 5 bitova upotreblj ava za specifikacij u broj a posrnaka (dopušteni je broj posrnaka od O do 3 1 ) .
izvest će oper a cij u logičko I između poj edinačnih bitova dvaj u 32-bitnih o pe ra n ad a . Prvi o pe ra nd je određen adresom koj a se nal azi u adres nom registru A l , a d ru gi operand je u registru 02. Rezultat op e racije smj e st i t će se u registar p od a t ak a 02 (o dre d i šte rezultata) . Instrukcije posrnaka i k ružnog posrnaka m i j en j aj u pozicij u bitova podataka. Tipične instrukcij e za pos m ak jesu instrukcije za logički i aritrnetički posmak ulijevo i u d e sno te kružni p o sma k Ul ij evo i u d esno . Slika 5 . 25 pri k az uj e razliku izmedu logičkog i aritrnetičkog p o s rn a k a udesno . Osmobitni mikroprocesori obično dopuštaju operacije posrnaka i kružnog posrnaka samo z a j e d a n bit ulij evo ili udesno. Šesnaestobitni mikroprocesori imaju ins trukcije koj e po s m ač u operand za veći broj mjesta (višebitni posm ak , višebitni kružni posmak).
U skupu instrukcij a 16- i 32-bitnih mikroprocesora susrećemo instrukcije koje su rijetke u njihovih 8-bitnih prethodnika i djeluj u s el ekti vn o na pojedi načne bitove operanada p o h ranj en i h u registru ili me m o r i j i .
Npr. mik ro p roceso ri MC 68000 i MC 68020 imaju instrukcije za komplementiranje poj e din ač n i h bitova (BCHG) , brisanje (BCLR), postaVlj anje (B SET) i ispitivanje vrijednosti pojedinih b i t ov a (BTST) . Tako se, n ap r i mj e r , izvođenjem instrukcije BCHG .L
Slika
5 .26 ilustrira izvođenje instrukcije za kružni posma k ul ij e vo (ROL) za m i k ropro ce so re MC 68000 ili MC 68020. Instrukcij a ima oblik ROL.W
# 5 ,0 6
ispituje bit b5 registra podataka D6, njegov komple ment se upisuje u zas t a vi cu Z i k o mp lem en ti r a bit b5 u registru 06. Mikroprocesor Intel 80386 ima također u skupu i n st ru k cija instrukcije za selektivno i sp i t iv an j e i ko m plementiranj e bitova (BTC) , ispi tivan j e i b r i s anj e (BTR) , ispitivanje i postavljanje ( B TS ) .
DX,Dy,
gdje regist ar Dy sadržava op e rand , a sadržaj registra Dx određuje broj mjesta posrnaka (od 1 d o 63) .
32-bitni mikroprocesori imaju posebne i n s t ru k cij e za r u k ova nje poljem bitova. One komplementiraju , brišu , postaVljaju i li ispituju polje b ito va određene lo kacij e definirane efektivnom adresom . Npr. ins tru kci j a BFCHG (Motorola MC 68020) ima oblik
Sličnu instrukcij u ima i 32-bitni m i k ro p roceso r Intel 80386 : RO L OPI , OP2 reg , imm8 mem , imm8 reg, CL mem , CL,
BFCHG
<ea> {offset : width}
al aritmet lčkl po.mak udesno
o
-LI ---'--- --'-'-- --'- -
�r-'I
SI. 5.25.
bl
logički posmak
udesno
Primjer arilmelilkog i logitkog posmaka udesno
_.. _
e
"�
__
SI. 5 . 26. Krufni pos_k uPjevo (za mikroprocesor MC
680iifJ)
, ,
98
Naprednije arhitekture mikroprocesora
Instrukcij a UNPK raspakirava dva podatka prika zana sa po četiri bita izvora u dva bajta i uz to izvodi podešavanje pomoću definirane konstante podešava nj a :
komplementira polje bitova na specificiranoj lokacij i efektivnom adresom <ea>. Parametar offset ozna čava početni bit u polj u , a drugi parametar određ uj e broj bitova koji se nalaze u polj u . s
U NPK
32-bitni mikroprocesori imaju i posebne instrukcije za rukovanje poljima. Npr. instrukcije CHK , CHK2 (MC 68020) provj eravaju da li se vrijednost sadržana u registru Rn nalazi u granicama intervala i ako sc ne nalazi , mikroprocesor odlazi u obradu iznimke (pogl . 7) . Mikroprocesori naprednije arhitekture u svom skupu instrukcij a imaju instrukcije za pakiranje i raspakira vanj e podataka. Slika 5 .2 7 prikazuje izvođenje ins trukcije PACK koj a pakira manje značajna četiri bita dvaj u bajtova u j edan baj t . ali tako da uz to izvodi i podešavanje rezultata :
registar Dl sadrži $343 5 , što odgovara znakovima ASCII za broj 45.
5.7. Matematički procesor MC 68881 Mate� atički procesor MC 68881 za aritmetičke ope racije s brojevima s pomičnim zarezom namijenjen je porodici M 68000, ali se, zahvaljujući svojem sabirničkom sučeij u , može upotrebljavati i k a o peri fetni procesor za sustave koji nisu ob l ikovani na temelju komponenata iz porodice M 68000. Prven stveno je matematički procesor MC 68881 oblikovan za 32-bitni mikroprocesor MC 68020 i predstavlj a njegovo logičko proširenje registara cjelobroj nih po dataka i proširenje skupa instrukcija s instrukcij ama za aritmetičke operacije s brojevima s pomičnim zarezom. Naprimjer, instrukcija
DX,Dy,# < konstanta podešavanja>
- značenj e izvor (neupakirani BCD) + + ...... odredište (upakirani BCD). Izborom odgovarajućih konstanata podešavanj a ins trukcijom PACK izvode se pretvorbe iz jednog koda podataka u drugi . Naprimjer, ako registar DO sadrži rije č $3539 (što odgovara kodu ASCII za broj 59) , tada nakon
FADD . <ea>,FPn - gdje atribut određuje bajt, riječ, dugu riječ, realni podatak j ednostrukog ili dvostrukog formata ili realni podatak prikazan nizom binarno kodiranih decimalnih znamenaka, a <ea> efektivnu
PACK
registar Dl sadrži baj t $59 (što odgovara kodu BCD za broj 59) . Izvor:
15
14
lJ
12
I I
6
B
ID
.
UNPK
- oblik instrukcij e PACK
Dx,Dy,*
Naprimjer, ako registar DO sadrži $45 , nakon izvođe nj a instrukcije
konst anta podešavanl a kol a se pribraj a Izvoru:
rezultat: 15
a'
d'
I I I .' I I I I I I LL I I I I I K
'
K'
K
'
b'
c
'
x
'
'
x
'
e
'
t'
g'
h'
Odredilte; 15 u
u
d'
I I I I I I I I I I I I I I I u
u
u
e'
b'
c'
e'
f'
g'
O
h'
'-------v�---'''�---, ,----' nepromijenjeni sadr!ij upakirani sadrlaj SI. 5.27, Primjer izvođenja PA CK IMC 68020) u
u
u
99
Komponente arhitekture 8-, 16- i 32 bitnih mikroprocesora
Naprimjer, instrukcijom
adresu pretvara izvorni operand (koji sc dobiva pomoću efektivne adrese) u realni podatak prošire nog formata i pribraj a taj broj broj u koj i je pohra njen u odredišnom registru podataka s pomičnim zarezom (FPn) . Rezultat je pohranjen u odredišnom registru FPn .
FMOVE . *ccc,FPn
premješta se konstanta proširenog formata iz ispisne memorije, zaokružuj e se prema specifikaciji FPCR8, i smješta se u registar podataka s pomičnim zarezom FPn. Vrij ednost se konstante definira pomakom ccc Ako je npr. ccc O, onda je konstanta Jr. .
I nst ruk cij a FADD . <ea> , FPn izvodi se u
=
matematičkom procesoru MC 68881 .
Osnovi model konfiguracije procesorIkoprocesor predstavlja za programera model sekvencij ainog stroja koji izvodi prošireni skup instrukcij a . Među tim, koprocesorsko sabirničko sučelje dopušta parac leine operacije MC 68881 i MC 68020. Tako se povećava cjelokupna propusnost sustava . Slika 5 . 28 prikazuj e organizacij u instrukcije matematičkog ko procesora. Ona se sastoji od tzv . F-linij ske operacij ske rij eči , koprocesorske komandne riječi (po potre bi) i nij edne , j edne ili više rij eči proširenj a. Operacij ska riječ se sastoji od četiri polj a. Prvo polje je F-linijski pokazatelj (F-line indicator). Zatim slijedi polje identifikacije koprocesora (ID) ili (CP-ID) ono od re đuje jedan od koprocesora kojemu j e ins trukcij a namijenjena. U sustavu može biti do osam koprocesara. Polje tipa deklarira koprocesorske ins trukcije . Polj e modifikatora pobliže određuj e razred
sabirni čkom sučeiju koprocesora, kon figuracija procesori koprocesor je nevidlj iva ili tran sparentna za programera, tj . konfiguracija MC 68020IMC68881 programeru se poj avlj uje kao da j e jedinstveni procesor izveden n a jednom silicijskom čipu . Zahvaljuj ući
Matematički procesor MC 68881 u potpunosti j e oblikovan u skladu sa standardom IEEE Task P 75 4, ali uključuj e i skup trigonometrijskih i transcenden tnih funkcija. Koprocesor rukuje sa sedam različitih tipova poda taka (definirani su atributom < fmt » i ima četrdeset i šest instrukcij a u čemu je i 35 instrukcij a za aritmetičke operacije . U ispisnoj memoriji ROM na samom čipu pohranjene su dvadeset i dvije konstan te , npr. Jr, e , i potencije broj a 10.
8
15
$
I
F
Floating-Point Control Register.
I
CP - ID
koprocesorska
I
ti p
o modlfikator
komandna r i j eč
riJeč ( i ) proši renj a
Sl. 5.28. Organizacija instrukcije za malematitki procesor MC 68881
ako le R/M.O - ne UfJOtrebIJava se ako J e RIM. I polje se popunj ava u skladu s načinom adreSiranj a
opći tip
15
14
M6 BOOO I O
13
0 1 0 0 0 1 0 O
određuj e odredišni registar podataka s pomičnim zarezom - operacija je registar -registar -
op e r ac ija j e < e a> -registar
000
L
OO I
lal
SI. 5.29. Organizacija instrukcije FADD, , <ea> ,FPn
duga cjelobroj na riječ
r e a ln i
B
podatak Jednost.preciznosti
cjelobrojni b a j t
Naprednije arhitekture mikroprocesora
100
koprocesor ske instrukcije . Slika 5 .29 prikazuje orga nizacij u instrukcije FADD . < fmt> <ea> ,FPn.
CS aktivan , MC 68881 d ek odi ra adresne linije AO do A4 i timc izabire j edan od sučelj ni h regi s t a ra .
Matematički procesor MC 68881 j e dnostavno se priključuj e na sabirnicu sustava MC 68DU'tj'r�020 (sl. 5.30) . Izbor:..g koprocesora temelj i na adresi , odno sno signalu CS ( Chip Select) koji se dobiva dekodira njem adrese i linij a funkcij s kog koda FCO do FC2.
Sučcljni registri nisu komponenta programskog mo dela koprocesora - oni se upotreblj avaju kao komu nikacijska vrata koj a imaju specificiranu fun kciju .
Budući da MC68020 i MC 68881 i maju sučelj ne sabirničke jedinice (engl. bus interface unit), oba upotreblj avaju protokol koj i im dopušta razmjenu strojnih instrukcija , operanada i rezu ltat a . Ta se razmjena ostvaruj e preko 32-bitne sabirnice podata ka. Sabirničko sučelje dopušta asinkroni rad proce sorIkoprocesor , rad s različitim fre kve n cij am a signala vremenskog vođenj a i para l e lno izvođenje mnogih operacija . Slika 5 . 3 1 pri kazuj e organizacij u MC 68881 . Mat e matički se procesor može funkcionalno podijeliti u tri d ij ela : o
o
o
s u čelj na s abi rn ička j ed i n i ca - BIU (Bus Inter
face Unit) , mi kroprogrami rana upravljačka j edinica - MCU (Microcode Control Unit) , i zvršn a j edinica - ECU (Execution Control U ni t) .
S učelj n a sabirnička j edinica izravno podržava proto kol saobraćanja. Sva komunikacija izme đu mikro proceso ra MC 68020 i ma te m at i čkog procesora MC 68881 odvija se u standardnim sabi rničk i m cik lu sima .
Jedinica B IU s as toj i se od većeg broj a koprocesor s ki h su če lj ni h re gis tara -C IR (Coprocessor Interface Reg i ste r ) , koj e glavni procesor adres ira i koj i ma p ri s tupa kao m e morij s kim lokacijama : Kad je signal
adresni dekoder
Protokol i z među koprocesorskog sučelj a i procesora sklopovski je i m i kroprogramo m implementiran u procesoru MC 68020. Kad m i k rop rocesor MC 68020 detektira tipičnu ins trukciju matematičkog procesora MC 68881 (F-l inij sku in s t rukcij u) , on upisuje instrukciju u sučelj ni regist ar naredbi CIR koproce sora. Koprocesor mora dekodirati naredbu i dati odgovor procesoru . Odgo vor se smješta u sučeljni registar odgovora (eng l . R espo n se CIR) . Procesor čita sučeljni reg i st ar o dgovora. U odgovoru se nalazi obavijest procesoru o tome da li k o p roce sor zahtij eva od procesor a neke dodatne akcije ili poslu
živanje ; npr. računanje efektivne adrese, upis ope randa u sučeljni registar operanada (engl . Operand CIR) ili izvođenje iznimke. Odgovor u sučelj nom registru odgovora CIR ima jedan od tzv. koprocesor skih primitiva odgovora koji služe za sinkronizaciju djelovanja procesora i dopuštaju paralelno izvođe nje , ili pak primitiva koji zahtijevaju prijenos poda taka između registara podataka koproceso ra ili upravljačkih registara i vanjskih lok acij a ( m e morij e ili re gis tara podataka) , primitiva koja zahtijevaju prijenos sadržaj a više registara podataka s pomi čnim zarezom od m emorij e ili pre ma . mem o riji , te primi tiva koji de fi niraj u j edan prijenos sadržaja registara procesora. Na primj er , prim itiv k o j i se upisuje u sučeljni registar odgovora CIR i zah ti j e va prijenos sadržaja jednog re gis t ra ima oblik :
MC 6e ee l
f1oati�g-point coprocessor
1/0
adresna sabirnica
sabirnica
podatake
(AD-A J I )
(DD-03 1 )
Sl. 5.30. Tipilnu konfiguracija mikroprocesor-matematički procesor
memorija
Komponente arhitekture 8-, 16- i 32 bitnih mikroprocesora
101
5abi rnl�8 podataka (O -O
'" "
g: ::J
n; "" " '" e no
!!.
il 9: ::J ii'
o 'o
�
�
c'
N
"
c ID
" ::J III C, OI
OI
-3 g: OI ..
0 3 c, O O .:::;: ur �. OI 'o '"
� =� o < N .. III III � ::J x ((j' e _.
;JJ O
�
.. o '"
� ID
3
iii "" II)
o "' < o
ii}
2. w
Sl. 5.31 .
I;
eA
[4
13
DR
IZ
I I 10
9
8
7
6
S
4
I I PC I lo 1 1 11 10 lo lo l o lo lo I gdje je
Blok-shema matematičkog procesora MC 68881
DIA
I R�giSiar I
- CA (zastavica povratka) 1 i pokazuje procesoru da se mora, pošto obavi operaciju odre=
đenu primitivom , vratiti i ponovo pročitati sučelj ni registar odgovora CIR. PC, DR i DIA su za l a j primitiv uvijek O .
Naprednije arhitekture mikroprocesora
102
Kad procesor pročita pnmltJv koji ima PC 1 , on zna da vrijednost programskog brojila treba poslati u sučelj ni instrukcijski adresni registar CIR. =
Zastavica DR u primitivu označava smjer prijenosa operanda. Vrij ednost D R O označava smjer prije nosa iz procesora u koprocesor. =
Bit DIA označava d a li je izabran odredišni registar podataka ili adresni registar. Vrij ednost DIA O označava registar podataka. =
Pošto procesor MC 68020 ispuni sve zahtj eve kopro cesora , m ikroprocesor je slobodan i može pribaviti sljedeću instrukciju u nizu . Rad procesora i koproce sora je sinkroniziran ; ako je slj edeća instrukcij a upisana u MC 68881 prij e negoli je izvršna jedinica ECU obradila prethodnu instrukciju , odgovor kopra cesora bit će takav da će se procesor uputiti na čekanj e .
MC
68020
MC 6BB8 1
Mikroprogramirana upravljačka jedinica MCU ima generator signala vremenskog vodenj a , dvorazinski mikroprogramski sljednik , mikroprogramski ROM , sklopove za samodij agnostiku (dij agnostičke funkcije nisu na raspolaganju korisniku) .
U izvršnoj j edinici ECU nalazi se osam 80-bitnih registara pod ataka s pomičnim zarezom (FPO do FP?) . 67-bitna aritmetička j edinica vrlo velike brzine, bačvasti posrnačni sklop9 koji posrnače od prvog do 67. bita u j ednom strojnom ciklusu , te ispisna memo rij a ROM u koj oj su upisane konstante . Saobraćanje između procesora i koprocesora za vri jeme izvođenj a svake i nstrukcije koj a se odnosi na operacij u s broj evima s pomičnim zarezom odvij a se instr ukcij skim dij alogom . Dijalog se odnosi na slij ed . naredbi i prij enosa podatak i). u MC 68881 i slij edu uslužnih primitiva koj i predstavlj aj u odgovor na upravlj anje slijedom.
I
I
računanje I l
-
�
�
��N
, I I
�
I I I I l
�:
$
X
�
I
l
c;f
!d <{
:s e
� cl.
�
I
9�
�
o
cif
8
l I
zaokrufi'lanj e
o o
'" o
'"
:; e
ii
'ir
- '"
o cr-
fr : ti
8 <{
:; e
eA o ne t reba po novno ( n a pa .... ratku) ć i t a t i s.u� e 1j n i r e g i s t a r odgovo ra CtR
PC :: O
ne proslj eđuj e broj i l a
prekid
I A . O p,ocesar
se sadrhj programskog
n e može
obrad i t i
PF o I kopracesar MC 6888 1 (engl. idle)
je
tekajući
sl obodan
SI. -S.32. Para/elni rad mikroprocesora M e 68BB l
prOCeSOTIl
MC
68020 i malematlčkog
-
�
I
�
..:
<{
l
I
N apmnena: dij agram predstavlj a akti vnost procesora MC 68020 i kop,oeesar. MC 6888 1 l a v r i j e m e izvo đenj a instrukcij e broj evi m a s pom ičnim zarezom. Pr avokutnid u dijagramu predstavlj aj u ' vremenske periode u koj ima su uredaj i aktivni u izvođenju in strukcije. Praz,-,i prostori označavaju vreme nske pe .. r i a de kada uređaj č e k a i l i kada se iZ\lršavaj u para
lelne nt!zavisne i nstruk C i j e.
, Bauel Shjftcr.
g
cf
'" č aJ " '" !r ...
cf
8 <{
:; e
oo
Komponente arhitekture
103
8., J 6· i 32 bitnih mikroprocesora 79
6'
O
F PO FPI F P2 FP' FP4 FP5 FP6
upravij ački registar
JI
o
FP7
15
O
1 1
status registar
Sl. 5.33. Programski model mIJ/erna/ii!· kog procesora MC 68881
Instrukeijski adresni registar
Slika 5 . 32 ilustrira tip instrukcijskog dij aloga registra s registrom . Taj se dijalog u potrebl j ava za sve aritme· tičke instrukcije i instrukcije premještanj a koje upo· treblj av
Osam 80-bitnih registara s pomičnim zarezom ana l ogni su registri m a podataka procesora (DO do D7). Oni sadrže broj eve formata proširene preciznosti . Sve se ope racije brojevima s pomičnim zarezom izvode upotrebom tih registara . Osamdesetobitni podatak je organiziran na sljedeći način : mantisa 64 bita, predznak l bit, e ksponent s predznakom 15 b ita.
FPCR
FPSR
1.-_____________ FPIAR
1
izvodcnja instrukcije s pomičnim zarezom koprocesor dobiva operande iz registra FPO do FP7 ili iz registara procesora MC 68020 ili pak iz memo rije mikroračunala . MC 68881 o b avlja operaciju koj a je određena upisanom riječi u sučeljni registar naredbi ClR i rezultat smješta u registar podataka s pomičnim zarezom. Rezultat može ostati u registru za dalje računanje ili se može premj estiti u procesor ili memorij u. Za te se namjene upotreblj ava instruk cij a FMOVE koja dopušta sljedeće vrste prij e nosa : 'iz memorije u registar, iz registra u registar i iz registra u me m ori j u . Za vrijeme
Upravlj ački registar FPCR sastoji
se o d
bajta za
. omogućavanje iznimaka ( engl . Exception enable te) i baj ta načina (engl. Mode byte) .
by-
Baj t za omogućavanje iznimaka dopušta korisniku omogućavanje i onemogućavanj e iznimaka za svaki razred iznimaka karakterističnih z a operacij e s broj e vima s pomičnim zarezom (npr. dijelj enje nulom . preljev (engl. overflow), pod ljev ( engl . underflow) i sL). Kad se iznimka dogodi i ako je odgovarajući bit postavlj en, glavni će procesor započeti obradu iznim ke. Upravljački bajt načina omogućava korisniku izbor načina zaokruživanj a rezultata i izbor preciznosti zaokruživanja.
Status-registar koprocesora MC 6RSS l izvj eštava o iznimkama koje su se dogod i l e za \ rijeme izvođenja
Naprednije arhitekture mikroprocesora
104 instrukcije . On s a drži če tir i zas t avi ce
u vj e ta (N Not A Number or U n o r d ere d ) i dio (baj t ) kv o ci j e nta ko j i se generi ra i n st ru k cij o m FMOD ( m o du lo) ili u s t a n dardu IEEE i n stru k cij o m FREM .
Neg ative , Z
-
Zero , I
-
Infinity,
NAN
-
Tablica 5. 3.
Trigonometrijske
k oj a
'ATAN fATANH fCOS FCOSH fETOl FETOXIII ' FlOGlO FL0G2
se poslj e d n j a
izvršil a . Većina se i ns t r u kcij a koprocesora MC
6888 1 izvodi paraleln o s instrukcij ama MC 68020, t ako da procesor MC 68020 može i zvoditi svoj e i n stru kcij e d ok kopro ce so r izvo d i i ns tru kcij e s pomi č nim zare zom . Zbog tog a u slučaj u iznimke iz azvane takv o m i n st ru k ci j o m glavni procesor mora "zna t i " adresu i n s t ruk cij e gdje se ta iznimka dogodila. Procesor upotre blj ava sa držaj iz i ns trukcij s kog adre sn og regi stra k o proce s ora kao k azal o koj e o d r eđ u j e upravo tu i nst ru kcij u . Koproceso r, os i m in strukcij a koj e zah tijeva standard p remj eštanj e poda t ak a grananje i i n st ru k c ij e koje po ziv aj u v irt ua l n u me mo rij u (FSA VE , FRESTORE) . Ta ko đe r su u sk u p u instrukcij a sadržane i i nstruk c ij e za tr i go no m etrij ske i transcendentne fu n kc ije . Tablice 5. 1 do 5.4 prika zuj u s k u po ve instrukcij a z a unarne i binarne operaci je, skup i n stru k ci j a za tri go n o m e t rij ske i transcen d c n tne ope racij e i mje šovi te instrukcije. IEE E , ima instrukcije za
,
MC 68881 upotrebljava i u s u stav i m a koji imaju za osnovu 1 6- bi t n i mik r oproc e sor MC 68000. M i kr o p r oce so r MC 68000 nema sklo-
Matematički se p r oceso r
FABS F(iETEX' FGETIWI FIIIT FilES F�
FLOATING· POINT ABSOlUTE VAlUE
FL.OATIHG-POIIIT NEGATE fLOATING-POINT NO Of'(I\ATIQfI fUlATlNG-POINT SCAU EXPONENT BY INTEGER FUlATlNG·POINT SOIJA/lE ROOT FUWING-POINT TEST
FSORT
fTST
Tablica 5.2_
B inarne i nstrukcije brojevima pom ii:'nim zarezom
s
INSTRUCTION fAllO
FCIII' fDlV FIotOO f lotUl
FRflot Isua
n411
fT""H fT[NTOX flWOTDX
T ablica 5.4.
Mj�ite
Instrukcij e
DESClUPfION
INSTRUCTION
SllIGlHRECISION IoIULlN $INGll.fIIECISION DIVIli( FLOATING·POINT $.WE fL.OATING·I'OINT RESTORE
FUlATINCt-I'QIIIT fLOOING-I'OIII T
FSGlIIIU l FSGlOOl FSIM FR(STIlIIE
povski izveden p ro tokol za s ao bra ć anje s ko pro ce so
rom. Medutim, pri likom oblikovanja mikroprocesora MC 68000 arhi tekti su određene ope racij sk e k odove p re dvi dj eli i rezerv i ral i za d alj nj u n ado g ra dnj u . T ako o pe ra cij ski
kodovi k oj i imaju četiri najznačaj nija
kodovi) upravo
bili p re d viđe n i kao
kodovi za neugrađene i n s trukcije i
nj ih ova upotre ba
1 6-bitnom p rocesoru iznimku (vidi pogl . 7) . Instrukcije s b roje vi m a s po m i č n i m zarezom
označavala je
upravo su i nstrukcije iz skupa F-linijskih
[)(SCRIPT ION
GET FLOATlIIG·POIIIT OPONENT GU FL.OATiN(i�NT IoIANTlSSA FLOATIIIG·POINT INTEGER PAAT
lISCALE
FlOGNP' 'SIN fSINCOS FSINM
bita 1 (F-linijski
Unarne instrukcij e b roj evi ma s pomii:'nim zarezom INSTRUCTION
fUlATING-POINT COSINE fLOATING·POINT HVPfR8Ot.IC COSINE FLOAT lIIG- POINT I TO THE M FLOATlNG·POINT tl TO THE tl IIIINUS I FLOATING-POINT lOG TO THE lASl 10 FL04TI/IG·POINT lOG TO THE lASl Z FL.OATING-POINT lOG TO THE lASl I FL.OATIIIG-POINT lOG TO THE 1ASl , OF lt + II FL.OATlNG-POINT SINE SIIoIULJANEOUS f LOATING-POINT SIN[ AND COSINE FLOATING-POINT HYPf�80IlC SINE FLOATING-POINT TANGENT fLOATING-POINT HYPf:RBOIlC TANCiENT FL.OAIIIIG-POWT TEN TO THE POWER M fL.OATlNG·POINT TWO TO THE POWER •
'U)CIj
su
T abl lca 5. 1 .
FUlATlNG·POINT AlIC COSINE FUlAT1NG-POINT AlIC SINE 'UlATIIIG-POINT AlIC TANCEHT FLOATING·POINT HYPfR8OL1C AlIC TANGENT
FAtOS rASIII
Instrukcij ski adresni re gistar je poslj edna ko m po s pom i čn i m z are zom
Dt:SCRIPfION
III STRUCTION
nenta p ro gra m s ko g modela i predstavlj a kazalo za
instrukcij u
i t ra ns c e nde ntaine i nstrukci j e
fL.OATlNG-POIIIT AllO fL.OATlNG·I'OINT COMf'ARl fUlATING·POINT DIVIli( fUlATlN'·I'OIII T ..ODIIUl IIOU.INII(K
fUlATlNG·POIIIT lII uLlIr!.Y FLOATING, POINT I([E REIII.uIjOU fLOATlNHOllIT SU8TRACT
instrukcij a .
O b rada je k o p roces o rs ke instrukcije izn imka za gl av n i procesor MC 68000 i bu d ući da ne p od r ža va k opro ce s orsko sučelje, odlazi II rutinu za o b r a du iznimke. U tom slu čaj u ta rutina mora podržavati p ro tokol procesor-koprocesor, odnosno procesor mora u iznimci u pis ati komandnu r ij eč u su če \j n i k o m an d n i regi star . Nakon što ko procesor MC 68881 d e k od i ra naredbu i ge n e ri ra odgovor, procesor čita su č e l j n i registar odgovora.
Slika 5 . 34 pri kazuje način povezivanja 16-bitnim
pro ceso rom MC
68000 .
koprocc sora "
Komponente arhitekture 8-,
105
16- i 32 bitnih mikroprocesora MC 6BOOO l>
l> :o
'"I
�
o I
l>
<;
7
" o c.
!ll
[;ll
A
�
C. ID
.----
'" '"
�I �I �I
;o __ �
"Tl n ...,
"Tl
�
"Tl n
o
l>-
rl'" CIl> ", '"
O
O '"
A "
A D-A I 5
... "-l..l>
'j l> .,.
G) Z
1
<
o
�I
oo .. o
,
�
01
!il N fTI
oo
::;;
�
�I
�I
» o
MC 6BBB I
9 � "' '''
8 -
� .,.
'L U' f--
, !;) I
;o
l>
il l> .,.
!I �I t
u> OI
�
2.
:;l
o
o
6
VI
I- �
o
I-- l-
"
'\
V
DB-D I 5
..l\.. V
Povezivanje mikroprocesora
J . P . Ha y es, Computer Architecture and Organization, McGraw Hill, Auckland , 1979 . S . Ribarić, Arhitektura računala pete generacij e , Teh nička knj iga , Zagre b , 1986. M. Mano, Digital Logic and Computer Design, Pren tice '- Hall , I n c . , Englewood Cliffs , 1979.
[3]
.. !lm:J OI
� Gl ..,..
f--g<
LITERATURA
[2]
:J
'o o c.
'7
00-07
[lj
�
;;' "
.
SI. 5. 34.
" f--
�
MC 68000 i MC 68881
[4] C . Huntsman ,D . Cawthron, The MC 6888 1 Floating point Coprocessor, IEEE Micro , Vol . 3 , No . 6 , decem bar, 1983, pp. 44-54. [5]D . MacGregor et al. , The Motorola MC 68020, IEEE Micro, VoI. 4 , No . 3 , august 1984, pp. lOl- 1 1 8 . [6] M C 6888 1 Floating-point Coprocessor, Motorola , 1984. [7] D .Tabak, The Intel 80386 and New 32-Bit Micropro cessors, Microprocessing and Microprogramming , 1 9 . 1987 , pp. 59-74.
6 . UPRAVLJAČKA JEDINICA 6. 1 . Uvod J]pravljačka j edinica generira upravlj ačke signale i koordinira sve aktivnosti unutar mikroprocesora. Ona sinkronizira saobraćanje između modula i prije nos podataka . Upravlj ačka j edinica pribavlja , deko dira i upravlja izvođenjem instrukcij a. Ona saobraća s ostalim modulima mikroračunala (memorijom, UlI sučeljem) preko upravlj ačke sabirnice , sabirnice po dataka i adresne sabirnice. Upravljačka jedinica upravlj a odgovorima na vanjske signale (npr. na zahtj ev za prekid , zaustavlj anje procesora, stanje čekanj a na odgovor memorije ili UlI sučelj a i sL ) . Z a vrijeme faze PRmAVI upravljačka j edinica pri bavlj a ins trukc i ju i dekodira operacijski kod. U skladu s interpretacijom operacijskog koda, mijenja stanj e mikroprocesora i šalje upravljačke signale drugim komponentama mikroprocesora i mikroraču nala. Slijedovi takvih upravlj ačkih signala upravlj aju izvođenjem instrukcije pribavljene iz memorije . Element iz slijeda upravljačkih signala uzrok je jedne ili više osnovnih operacija na razini prijenosa podataka ili aktiviranj a pojedinih sklopova . Takva osnovna operacij a naziva se mikrooperacija . Primj eri mikrooperacija su prijenosi podataka iz među registara , posmak sadržaj a registara, aktivira nje sklopa u ari trne tičko-logičkoj j edinici i ' druge mikrooperacije . Instrukcij a pribavljena i z memorije mikroračunala obično zahtijeva veći broj mikrooperacija . Upravljačka jedinica mora podržavati sljedeće četiri osnovne funkcije : o
o
o
o
uspostavlj anj e određenog stanja z a vrijeme svakog stroj nog ciklusa, ispravno određivanje sljedećeg stanja na teme lju tekućeg stanja , stanja zastavica i stanja na ula znim signalnim linijama mikroprocesora, pohranjivanje informacije koja opisuje tekuće stanj e , n a temelj u stanj a, generiranje upravljačkih sig nala za saobraćanje na modularnoj i međumodu larnoj razini . •
Mikrooperacij e se izvode u točno utvrđenim diskret nim vremenskim trenucima tako da su upravlj ački signali koji ih. pobuđuj u sinkronizirani sa signalom vremenskog vođenj a. Zbog toga su i stanj a procesora i prij e l azi iz stanja u stanje također sinkronizirani .
Kao osnovu za sinkronizacij u mikroprocesori upo trebljavaju jednofazne ili višefazne signale vremen skog vođenja . Pristup oblikovanju upravlj ačke j edinice , općenito, može se temeljiti na: standardnom pristupu oblikovanju sekvencijal ,"ih logičkih sklopova upotrebom tablica stanj a i primjenom kombinacije elemenata sa značaj kama niskog stupnj a integracij e - SSI (Small Scale Integration , · npr. logička vrata.) i eleme nata koji imaju značaj ke sklopova srednjeg stup nja integracije - MSI (Medium Scale Integra tion , npr. broj ila, dekoderi) ; D upotrebi elemenata za kašnjenje za generiranje upravlj ačkih signala i njihovu vremensku sinkro nizacij u ; o upotrebi broj ila koja se nazivaju brojila sekven ci ; D oblikovanj u upravlj ačke j edinice mikroprogramiranj em . D
Iako je za korisnika mikroprocesora , odnosno mikro računala , način izvedbe upravljačke jedinice u većini slučajeva skriven i nebitan (on se posredno očituj e u brzini obrade , mogućnostima procesora i snazi ins trukcij a) , zb og izuzetne važnosti izvedbi upravljačke jedinice u ovom ćemo poglavlju posvetit posebnu i zasluženu pažnju. Za arhitekte koji oblikuju nove procesorske arhitekture u tehnologiji VLSI način izvedbe upravlj ačke j edinice izuzetno je važan . po vršina koju zauzima upravljačka j edinica na siliciju na štetu drugih sklopova (npr. raskošnije AL j edini ce) , iznosi , npr. za 8-bitni mikroprocesor MC 6800 58% , za 16-bitni mikroprocesor MC 68000 69% a za 32-bitni iAPX 432 čak 84% . ,
Za izvedbu upravljačke jedinice mik roprocesora po sebno su zanimljivi prvi i poslj ednj i od navedenih pristupa oblikovanj a upravlj ačke j edinice . Slika 6 . 1 prikazuje organizaciju upravlj ačke jedinice koj a se izvodi primjenom standardnog pristupa i upotrebom elemenata kao što su logička vrata, broji la , registri , dekoderi , multipleksori i sl. Instrukcij ski dekoder dekodira operacijski kod ins trukcije i pobuđuje odgovarajuću izlaznu linij u . Na temelju pobuđene linije , signala koj i odgovaraj u vanjskim uvj etima i stanj u zastavica te na temelju povratnih signala iz sklopovske upravlj ačke matrice , sklopovi za generiranje slj edećeg stanj a generiraj u
Upravljačka jedinica
107
I nstrukcijski dekoder
signali
upravljački
sklopovska upravljačka matrica osnovni si gnal
generator signal a f-------", vremenskog vodenja
vremenskog vođenja
registri,
sklopovi za generiranje slj edećeg stanja
vanjski uvj eti
i sl. )
statusi ( zastavice)
Sl. 6 . 1 . Organizacija upravljatke ledinice ostvarena upOlrebom brojila,
multipleksori
elemenata niskog i
srednjeg stupnja
integracije (logićka vrata,
C
i nstrukeijski registar
L
l l
lt-
n linija
I
adresni registar m ikroprograms k e memorije
II
rI
•
deka der
•
•
signal vremenskog vodenj a
!I I '
_ .!!' a..!.rif,a - -- .
, I I I I
2n
I I I
J -
-
-
I J
..J
l- - - - - - - - - matrica - - -B -,
2
J
I
® -11
I
\ edak
J 3
I
){
!: l
• •
2
n
I
Wilkesova shema mikroprogramirane
•
, I , I I , J
I J I J
J
f.i� 1
L ,... _
zastavi c a i l i vanjski uvj e t
linij a
Sl. 6.2. Izvorna
I
J J
upravljačke
jedinice
-
-
-
-
I
...J
108
Naprednije arhitekture mikroprocesora
instrukc ijsk l registar
adresa
signal vremenskog vođenja
m ikroprogramska memorija vanjski uvjeti
sta\uSi
( zastavice)
li -"""'''tr'' -:
'-..r---' '--..r----'
upravij aćk i signali
informaci j a o sljedećoj
adresi
SI. 6.3.
1- - - I
L
Organizacija mikroprogramirane upravljalke jedinice
sig n a l e koji o dgova raj u vremenskom slijedu izvođe nja m ik roop e racij a . S k lopovs k a upravljačka m at ri ca na t e m e lj u tih izlaznih sign a l a i op e racij sk o g koda o blikuj e upravlj ač k e sign al e koj i po b uđ uj u odgova rajuće m i k roo p e racij e . Veći n a S- b i t ni h m i kropro ceso r a ima up ravlj ač ku je dinicu izvedenu na gore opisani način , iako je tako o rganiziran a upra vlj a č ka j ed i nic a n ep rila godlj iv a , nestrukturirana i vrlo složena (i time nezgodn ija za izvedbu u tehnologij i LS!) .
6.2. Mikroprogramiranje Ve ći n a
16-bitnih i 32-bitnih
ljava mikroprogramiranje u p ravlj ačke je di n ice .
mikroproccsora up o t re b
kao
osnovu za izvedbu
M . V . Wilkes je j oš 1 95 1 . god i nc op is ao izve db u up rav l j a č k e j e d i n i ce ko j oj su o sno vne značajke vrlo p ravi l na struktura , modularnost , fun kcio na lna uni formn os t i visoka prilagodlj ivost.
Slika 6.2 prikazuje izvo rn u Wilkesovu shemu mikro
j edinice. Shema se sastoji mikroprogramske m e m o rij e ,
progra mabiine upraVlj ačke
od adresnog registra
dekodera i diodnih matrica mi kr oprogram ske m emor ij e ) .
---,
mikroinstrukcij ski
(one
I
imaju fu nkcij u
Izvođ e nj e i n s t rukcij e na razi ni stroj n og j e zika može se p ri k aza ti slij ed o m osnovnih operacija - m i kroop e racij a. Mikrooperacij a se može opi sat i mikroinstrukcijom. Mikroinstrukcij a se p ohranj uje u m ikropro gr amsk oj memoriji i de fi nira mik ro ope r acij u koj a se po b u đuj e onda kad se mikroinstrukcija adresira i p ro či t a iz m ikrop ro gramsk e m emo rij e . Niz m ikro i n strukcij a naziva se mikroprogram. D i o dn a matrica A o d red uj e upravlj ač ku i n formaciju (onaj dio m i kro i nstru kcij e koj i definira aktiviranje određenih p u tova po d a ta ka i s klopova ) . a ma tr ica B adresu slj edeće mikroins t ru kcij e.
Ope racij s ki kod iz i n s tru k c i j s ko g re gi s t ra . zaj l:dno s d ij e lo m koj i odre đuj e s lj e de ću adresu m i k ro progra ma, smj e š ta se u a dr es n i registar m ik ro p rog ra m s k e memorije . Njegov je sadržaj ad res a l o ka c ij e mikro p rograms k e me m orij e na koj oj se nalazi mikroins trukcij a za pisan a u matricama A i B . Mikroprogramiranje
predstavlja
sustavnu
metodu iz
vedbe upravlj ačke j edinice i omogućava arhitektu mik ropro ce sora j e d n os t a vn u p romj e n u sk up a ins-
109
Upravljačka jedinica
trukcij a na razini zbirnog j ezika. Promj ena instruk cij e postiže se j ednostavnom izmjenom sadržaj a mi kroprogramske memorije (u fazi oblikovanj a uprav lj ačke j edinice) . Slika 6.3 prikazuje organizaciju mikroprocesorske upravlj ačke j edinice koja je izgrađena kao mikropro gramska jedinica. Središnj a je komponenta mikroprogramirane uprav lj ačke j edinice mikroprogramska memorija u kojoj su pohranjene mikroinstrukcij e. Mikroprogramska je memorij a obično ostvarena kao interna ispisna memorij a (ROM) ili kao programabiino logičko po lje (PLA) u mik roproceso ru .
Operacijski kod u instrukcijskom registru , uvjeti v anj s k i i unutrašnji - kao rezultat izvođenja prij ašnje instrukcij e , te informacij a o sljedećoj adresi mikro programa generiraju stvarnu adresu mikroprogram ske memorije u sklopu koji se naziva mikroprogram ski sljednik (engl . microprogram sequencer) . Mikroprogramski sljednik ima j ednaku funkcij u kao sklopovi za generiranje sljedećeg stanja. Riječ pohranj ena na lokaciji mikroprogramske me morije j est mikroinstrukcij a . Lokacija slj edeće mi kroinstrukcije može biti slj edeća u nizu lokacij a ili može biti koj a druga . To zavisi od uvj eta i dij ela mikroinstrukcijske riječi (informacije o sljedećoj ad resi).
Potrebno je napomenuti da duljina riječi mikropro
cesora (npr. 8 ili 16 bita) nema izravne veze s duljinom mikroinstrukcij e (npr. 60 bita) . l akše razumij evanj e rada mikroprogramirane upravljačke j edinice prikazat ćemo primjer definira nj a mikroprograma za izvođenje j ednostavne ins trukcij e u strojnom jeziku za pojednostavnjeni model mikroprogramabilne centralne procesne j edinice . Kao osnova modela poslužio nam je model koji je predložio Y. Chu . Slika 6.4 prikazuje poj ednostav nj eni model takve centralne procesne j edinice Za
. •
Mikroprogramabilna upravlj ačka jedinica koja upo trebljava uvjete za grananje u mikroprogramu zahti jeva trofazni signal vremenskog vođenj a (sI . 6 . 5) : o o
o
u fazi P(O) izvodi se mikroinstrukcij a , u fazi P ( I ) obavlja s e prijenos adrese u mikro programski adresni registar H, u fazi P(2) pribavlja se mikroinstrukcija iz mi kroprogramske memorij e i smješta u mikroins trukcijski registar F.
Neka je duljina mikroinstrukcije 30 bitova. Prema funkcij i bitovi mikroinstrukcije mogu se grupirati u slj edeća područj a : o o
područj e namij enj eno upravlj ačkim funkcijama, područje namijenj eno upravlj anju sijedom mi kroinstrukcija (informacij a o sljedećoj adresi mikroinstrukcije ) ,
o
područje namij enjeno očuvanju prilagodljivosti (npr. reprogramiranj e) ili područj a za definira nje konstanata u mikroprogramu .
Svaki bit ili grupa bi tova u području namijenjenom upravlj ačkim funkcij ama određuj e pojedinu mikroo peracij u . Slika 6 . 6 podrobno prikazuje organizaciju mikroinstrukcije . Podgrupe upravlj ačkih bitova od r eđuj u tip mikroo peracije . Tako npr. trobitna kombinacija 001 u polju označenom sa CB definira mikrooperacij u koja od govara prijenosu sadržaja akumulatora B na desnu sabirnicu (sI .6.4). Prikažimo mikroprogram za fazu IZVRSI instrukcij e
B I FE :
BIFE
-
Branch if equal
Strojna instrukcija BIFE (Granaj ako j e jednako) uspoređuj e sadržaj akumulatora A i B, pa ako su sadržaji j ednaki , grana tako da u fazi IZVRSI pove ćava sadržaj programskog broj ila PC za 8 : BIFE : ako j e A(0- 15)
=
PC � PC + 8
B(0-15), tada
inače
ne čini ništa Strojnoj ja:
instrukcij i BIFE
odgovar niz mikrooperaci-
l> prij enos sadržaj a akumulatora A n a lijevu sabir
nicu ,
l> prijenos jed i ničnog komplementa sadržaj a aku
mulatora
B
na desnu sabirnicu,
l> aktiviranje paralelnog zbraj ala tako da se zbraj a
nj e izvodi sa C 1 (računamo A - B, gdj e je B prikazan u notaciji dvojnog komplementa) , izlaz iz sklopa za ispitivanje nule ZT definira zastavicu Z, definiranje adrese u mikroprogramskom adre snom registru , u slučaj u ispunjenog uvjeta A B postavlj anje sadržaj a PC na desnu sabirnicu , postavlj anje konstante (c 8) na lijevu sabirni =
l> l> l> l>
=
=
cu ,
l> aktiviranje
paralelnog zbrajala (zbraj anje (PC) + 8) , l> prijenos rezultata s glavne sabirnice u PC.
Slika 6 .7 prikazuje dijagram toka mikroprograma.
Izvođenje mikroprograma pokazat ćemo u obliku :
1 10
,t' IS'
T
•
,j ,,,; bit",,,
• f,� ';"
P(I)1
::;:::::::
Naprednije arhitekture mikroprocesora
,',,,,,"j >I
H
I
<---
,
yyyyyyyy , S -- l
I
; komentar I
I
; operacijski kod određuje adresu
; yyyyyyyy prve mikroinstrukcij e ,
; S označava početak izvođenj a , IS . P(2)1 ICA(3)
P (O)I
•
F <- CM(H)
; u mikroinstrukcijski registar ; pribavlj a se prva mikroinstrukcija
L=A
; prva mikroinstrukcij a se izvodi , ; na lij evu sabirnicu postavlj a
A,
; se sad ržaj akumulatora
ICB(1 ) • P(O)I
R = B'
ICOP(I) • P(O)I
C= l
ICSH(O)
MB = O , O = S
; aktivira s c paralelno zbraj alo ; i računa se
P(O)I
•
A-B
; neaktivan posmačni sklop , ; rezultat se postavlj a na glavnu ; sabirnicu
ICMB(O) • P(O)I
nema p rijenosa podataka s glavne sabirnice
ICST( I )
•
ICAB(2)
ako je (ZT = O) , tada (SR( 15) <-O) inače (S R ( I S ) <- 1 )
P(O)I
•
H(l) <- SR(15)
P(I)1
ICBB(O) • P(I)1
; zastavica Z u H ( I )
H(O) <- O
H(2-7) <- F(CNA)
IS . P( I)1
; F(CNA) = 'xxxxxx' definira 6 ; značajnih bitova adrese ; slj edeće mikroinstrukcij e
IS • P( 2 ) 1
F <- CM(H)
; pribavl j a se slj edeća ; m i k roinstrukcij a
; Mikroinstrukeij a na adresi
'xxxxxxIO'
povećava sadržaj programskog
PC za 8
; broj ila
ICA(l ) • P(O)/
L(1 5-0) � O- F(CEM)
ICB(3) t P(O)I
R <- PC
ICOP(O)
•
P(O)I
C=O
ICSH(O)
•
P (O)I
MB = 0 , O = S
ICMB(3) • P(O)I
; vrijednost polja CEM je
; 001000 ; zbroji
PC <- MB
PC i konstantu c
=
8
; povećanu vrij ednost programskog ; brojila PC smj esti n atrag u PC
ICST(O) • peO)!
; nema utj ecaj a na zastavice ; status-registru
u
ICAB(O) • P(O)I
H(1 ) <- O
određivanje dvaj u n aj manje
ICBB(O) • P(O)I
H(O)
značaj nih bitova adrese slj edeće
IS . P( I )I
H(2-7) <- F(CNA)
mikroinstrukcij e
IS • P(2)1
F .- CM(H)
pribavlj anje slj edeće
NAPOMENA : X'
=
X
<-
O
mikroinstrukcije
III
Upravljačka jedinica iz inst rukcijskog registra
n T
H
generato r signala vremenskog vodenja
mil< ropragramska memorij a
CM
F
,--I
_-'----'--__
m i kroi nstr uk c i j ski
registar
B' - Jedini�ni kom al i
plement sadr2aj a akumul a
konstanta
tora B
glavna
š
'" :; « E :J X
'"
sabirnica MB
o
-.o :; m E:J X '"
OUT
bit prij enosa e
IN
sk l o p ,a ispitivanje nule ZT
sklop
SI. 6.4.
za posm ak
POjednostavnjeni model centralne procesne jedinice (CPU)
112 "Oj
P( I )
P(2)
lh'-----ll'
Naprednije arhitekture mikroprocesora
Mikroprogram koj i odgovara strojnoj instrukciji ima oblik : Adresa Sadržaj mikroprogramske memorij e mikro instrukcije
T
BIFE
-+--1 n� ----'
29
25
20
15
JO
29
25
20
15
10
yyyyyyyy
xxxxxxlO eA
CB
Sl. 6.5. Faze signala vremenskog vodenj!, za pojednostavnjeni model mikroprogramirane centralne procesne jedinice
mikroinstrukolj 8!
I
I I I I I � � I IL �
CA 2
CSH C M
COP
CB J
2
2
CBB
CA
COP CHS CMB CAB CBB eST
[ST
područj e za definiranj e konstante u m i -
informacij a o s ij e dećoi a d res i \
CN A __
___
J
�O
---'I
CE M ____
'--___
___
�------,v,--�) pod r učj e namij enj eno up ra vlj a č ki m funkcij a m a
polje C A: bi tovi za up r a vlj a nj e
OO OI
-
n
prij enosom
nema prij enosa po da tak a
po d a t ak a na l i j evu sabi rnicu
na sabi rničke l i n ije 0- 1 5 p r e o s i se konstanta iz pol j a C E M t akp da se šest bi tova pol j a smještava na manje značajne sabi rničke l i ni j e: L( 1 5 -0) - O - F ( C E M )
1 0 - prij enos konstante iz po l j a C E M ali tako da j e L ( 1 5 - 0 )
II
-
-
F (CEM ) - O
prij enos sadržaj a ak u m u l a t o r a A na l i j evu sabirnicu
polje CB: b i t o v i za up r av lj an j e prij enosom podataka na desnu sab i rnicu
000
-
OIO
-
nema prij enosa podataka
DO I - pr i } enos s ad r ž aj a akumulatora B
n
na
desnu sabirnicu
prij enos j edini �nog komplementa sadržaj a akumulatora B
0 1 1 - prijenos sadržaj a programskog b r oj i l a PC 1 00
-
n
prij enos sadrlaj a status registra SR
pol j e COP: de f i i r a ponašanj e paralelnog Zbrajala OO
-
}
zbroj i operande
OI - zb ro j i ID
II polje
bit prij enosa C=O
o o
operan de i
b i t pri j e
os a
C=I
ne upotreblj avaj u se
CSH: adređuj e mik rooperac i j e p s m a� n o g sklopa ' OO
-
o
no
posma�ni sklop nij e aktivan - na gl avnu s abi r n i c u MB p r c s ! j e ::! u j e neposmaknuti p d a t ak - izlaz iz zbraj ala: MB - Q, Q ::: S
O I - posm�k udesno: MB
-
10
-
-
II
-
posmak ulij evo: MB no Ql
(NA
CEM
PoJie CNA sadrži šest značaj nih bitova adrese slje deće mikroinstrukcije , a poJj e CEM (u drugoj mi kroinstrukciji) sadrži konstantu 8 .
O, O=shr S
O, O = shl
S
v n u silb i r n i c u pastav l j a se podatak s u l a z
g sll��lj a:
MB
-
se
IN
113
Upravljačka jedinica po l j e
C MB: o d r e d u j e m i k rooperacIj e koje ostvaruj u vezu glavne sabirnice s ost a l i m komponentama mi kroprogramir ane centralne procesne j edfnice 000 - nema prij enosa
00 1 -
podatak s gl avn e sabi rnice smj eštava se u akum ulator A: A- MB
010 -
podatak s g l avne sabi rnice smještava se u a k um ul a t o r B: B - MB
0 1 1 - podatak s
g l avne
sab i r ni c e smJeštava se u programsko b roj i l o PC:
PC-MB 1 00 - podatak s g l a vn e sabirnice smj eštava se u s t a t us regisn.. SR:
}
SR- MB
10 1 -
podatak s gl avne sabirni ce šalje se prema izlaznom sučeiju: OUT- MB
I la
ne upotrebljavaj u se
III
pol j e CAB: m i j enj a n j e sadržaj a mikroprocesorskog a d r es no g r e gi s t r a H - i zv edb a uvj etno g i bezuvjetnog g r an a nj a u m ikropro g ramu OO - bi t bl r e g i s t ra H p os tavlj a se u
O: H( I )
-O
O I - b i t b l registra H postavlj a se u I : H( I ) - O 1 0 - vrij ednost zastavice nule Z s t atus r e gis t r a SR p r em j eš t a se u bit b l r e g ist r a H : H ( I ) - SR t 1 5 ) I I - v r ij e dnos t zastavice predznaka N status r egi s t r a SR b i t b l registra H: H( l ) - SR ( 1 4 )
polje CBB: b i t ov i
OO
-
za
p r e mj eš t a
se u
m i j e nj a nj e sadržaja mikroprocesorskog adresnog r e g is t r a H
b i t ba registra H pos t av l j a se
u O: H( o ) - O
O I - b i t ba re g ist ra H p os t a vl j a se u I: H(o) - I 10 -
vrijednost zastavi ce predznaka N status r e gi st r a SR p remješta se u bit ba r e gi s t r a H: H(o) - SRt 1 4 )
I I - naj značaj nij i b i t podat a k a n a gl avnoj registra H: H(O) - MB( I 5 ) polje CST: b i tovi
z a odredivanj e utjecaj a rezul tata n a l a st avi c e u status r e gi s t r u zastavice u status registru
OO - nema utjecaja
na
OI -
t a da
ako
pr e m j e š t a s e u b i t ba
sab i rnici
je (ZTso)
(SR( 1 5 ) -
O), inače ( SR ( 1 5 ) - I )
1 0 - naj značaj n i j i b i t podatka na 'JI avnoj
sabirnici
premješta se
u
status
registar: SR( 1 4 ) - MB( 1 5 )
I I - ako je
(ZTsO)
tada
( SR ( 1 5 ) - O ) , i n ač e ( 5R ( 1 5 ) - I ) , ( SR ( I 4 ) - MB( 1 5 ) )
Napomena: Z T j e i z l az i z s k l o pa za ispitivanj e nule. A k o j e Z T s a znači d a ni j e nj e n uvj e t MB( 1 5 ) V M6( 1 4 ) V . . . . V MB( I ) V MB ( O ) oO Mikroprogramsk a memorij a je k a p a c i t e t a 2 5 6 riječi
x
Mikroprogramski adr esn i r e g ist a r H dulj ine j e B bi ta. Značajnij i h 6 b i t ov a:
p re mj e š t a i z polj e
H(7) - H(2)
de f i ni r ani
su
po l j e m
mikroinstrul
ispu
30 bi t a.
CNA k oj e se automatski
CEM: šestobitno p o l j e za defini ranj e konstante u m ik ro p r o gr amu
SI.
6.6. Podrobna
organizacija mikroinstrukcije
Model mikroprogramirane centralne procesne jedi nice Y. Chua, iako je pojednostavnjen, ima sve značajke arhitekture koje su potrebne za razumij eva nje npr. mikroprogramabilnih mikroprocesora! na bazi b itovno g odreska (npr . Am 2903, tvrtke Advan ced Micro Devices) . Slika 6 . 8 prikazuje 4-bitni bi tovni odrezak Am 2903 . Mikroprogramiranj e je za 16-bitne i 32-bitne mikro procesore standardan pristup oblikovanj a uprav lj ačke jedinice . Oblikovanje upravlj ačke j edinice predstavlja jednu od kritičnih faza oblikovanja mi , kroprocesora. Da bi se smanj ila površina na čipu što
je zauzima upravlj ačka j edinica, upotreblj ava se mikroprogramska struktura u dvije razine : o
o
strojne instrukcij e se pretvaraju u sljedove mi kroinstrukcija (razina mikroprograma) , mikroinstrukcije sjuže kao kazala na nanoins trukcije u memorij i nanoprograma (razina nano programa) .
Mikroprocesori kojima korisnik mijenjanjem mikroprograma mijenja skup instrukcij a .
I
1 14
Naprednije arhitekture mikroprocesora kaci j e
adresa memorijske !a mikroprograma: yyyyyyyy
L
- A,
zbroj i
MB= Q ,
Z
H(O-7)=xxxx)(x I O A
ako
= B
R - B'
A.B'. I - A - B
C=I
Q=5
H(O-7)=xxxxxxOO
( Z T = O ) tada (SR ( I S) - O)
i nače (SR( l 5 )
-
5R ( 1 4 } - MB( 1 5 }
A � B
l}
H ( I } - SR( 1 5 }
H(O) - O
L-
B,
R-
zbroj i
MB=Q
PC
C =O
Q.S
H( l ) - O
H(O)
- O
J
a ,--____...1-____---, dresa:
I
sljedeća
m i k roinstruk c i j a
Napomena: L označava Ii;evu sabirnicu R označ ava desnu sabirni cu
Sl.
6, 7, Dijagram toka mikroprograma za fazu
Slika 6,9 prikazuje organizacij u mikroprogramirane strukture u dvije razine , Razina nanoprograma j e izvedena s bržim sklopovima i i m a manji kapacitet upravljačke memorije. U njenoj se memoriji pohra njuju najčešće upotrebljavani (nano)programi - slje dovi nanoinstrukcija . U upravljačkoj memoriji na razini mikroprograma smještaj u se tzv. "makropro grami" napisani kao slijed mikroinstrukcija. Slika 6 . 10 prikazuje organizaciju upravljačke jedinice mikroprocesora MC 68000 koja jc izvedena kao mikroprogramska struktura u dvije razine . Razina mikroprograma ima u mikroprogramskoj memorij i pohranjene mikrorutine kojima su mikroinstrukcije dulj ine 10 bita. Svaka mikroinstrukcija ima adresno polje koje se upotreblj ava za pozivanje nanoinstrukcije u nano programskoj memoriji. Nanoinstrukcije imaju dugi "horzontaini" format od 68 b it a . One se dekodiraju u j oš dvije ili tri razine i upravljaj u nezavisnim točkama sustava. Upravljačka
I
)()(xxx xOO
IZVRSI instrukcije BIFE
j edinica MC 68000 ima memoriju (mikroprogramsku i nanoprogramsku) kapaciteta oko 22 ,5 K bita , što je upola manje od potrebnog kapaciteta kad bi se upravlj ačka j edinica ostvarila kao mikroprogrami rana u jednoj razini. Dvorazinska upravljačka struktura povećava ukupno vrijeme pristupa , n o upotrebom protočne arhitekture računala, gdje se pribavljanj e , dekodiranje i izvođe nje instrukcija prekriva , vrijeme pristupa i obrade se smanj uje , 32-bitni mikroprocesor HP-32 ima također mikropro gramiranu upravljačku j edinicu , Mikroprogramska memorij a je kapaciteta 9 K 38-bitnih riječi i izvedena je kao ispisna memorija ROM, Mikroinstrukcije se dekodiraju pomoću programabalnog logičkog polj a PLA. Većina mikroinstrukcija se izvodi u jednom ciklusu (55 ns). 32-bitni mikroprocesor iAPX 432 upotrebljava pose ban čip iAPX 43201 (ima 1 1 0 000 tranzistora) koji je
A
O
_
A adresa
3
data in
B adresa write enable
A
8
0
_
3
WE
8
0E 8 DA
GtN
4
P tOUR
AL.U posmačni sklop 4
lEN
0
' 1I --1
-
. •
instrukcijskl dekoder
--c::J CP --<=J
V cc
--<::J GNO
SI. 6.8. 4-bitni bitovni-odrezak
Am 2903
adresni registar mikro programske memorije
H
mikroprogramska memo r i j a
F
{
adresa nanoinstrukcije mikroinstrukcijski registar
nanoprogramska memorija uvj eti N
nanoinstrukcijskl registar
dekoderi
SI. 6.9. Organizacija mikroprogramirane upravljačke jedinice s
dvije razine
r
IMtrukcljski registar
I instrukeijski d ek o de r
.t.
lI
>-
Jj tl
'<;
Sg
l: .. - � .... 'l!!
lU lU U
...
SI. 6.10. Organizacija · ·MC . 68()(}()
.-
� � :S upravljačke jedinice mikroprocesora
�
III "> :J
a d r es a
grananje
mikroprogramska me m o rij a
-.J
I
640 x 1 0 bita
adresa
V
nano p rog r amsk a memorija 280 x 6 8
�
l
upravljački signali (prema izvršnoj jedinici i ostali m kom p onen t am a modul ima sust ava)
ll?
Upravljačka jedinica namijenj en za pribavljanje i dekodiranje instrukcija . Taj čip i m a mikroprogramsku memorij u ROM.
S esnaestobitni mikroprocesor MC 68000 ima tri osnovna stroj na ciklusa za prij enos podataka :
1 6-bitni mikroprocesor Intel 8086 upotreblj ava kom binacij u mikroprogramirane i upravlj ačke j edinice izvedene kao sekvencijaini logički sklop .
� strojni ciklus čitanj a u koj em procesor pribavlj a
Mikroinstrukcija duljine 21 bit uglavnom se upotreb lj ava za pozivanje upravljačkih funkcija koje su izveoene pomoću sekvcncijalnih l ogičkih sklopova. 6.3. Strojni ciklus i stanje procesora Trajanj e instrukcijskog ciklusa definirano jc vreme nom koje je potrebno za pribavljanj e i izvršavanje instrukcije . Za vrijeme pribavlj anja instrukcije pro cesor pribavlja jednu , dvije ili više riječi (bajtova) iz memorij e i smješta ih u instrukeijski registar i po moćne registre. Za vrijeme izvršavanja instrukcije pribavlja se operand ili operandi i na njima se izvode operacije koje su specificirane operacijskim kodom konstrukcij e .
Slika 6 . 1 1 prikazuje pojednostavnjeni dijagram toka izvođenja instrukcije . Instrukeijski ciklus podijelje n j e na strojne cikluse2 M J , M 2 , M " . . . . Strojni ciklus se zahtijeva za svaki pristup memoriji ili ulazno-izlaznim vratima ili medusklopovima. U fazi PRIBAVI instrukcijskog ciklusa potreban je strojni ciklus za svaku riječ koj a se pribavlja. Broj strtljnih ciklusa u fazi IZVRSI zavisi od vrste pribav ljene instrukcije .
Neke instrukcij e n e zahtijevaju dodatne stroj ne ci kluse O� : " I onih koji su potrebni za njihovo prihavlja nje . Neke instrukcije , međutim , zahtijevaju dodatne strojne ci kluse za upis ili čitanje iz memorije· ili ulazno-iz iaznih vrata_ Postoje različite vrste strojnih ciklusa unutar instrukcijskog ciklusa , npr . : o o o o D
str9jni strojni strojni strojni strojni
ciklus pribavlj anja instrukcije , ciklus čitanj a memorij e , ciklus upisivanj a u memorij u , ciklus UlI operacije, ciklus potvrde prekida .
Mikroprocesori obično imaju stroj ne cikluse podije ljene na stanja Tlo T2, TJ , ' " Sva su stanja j ednake duljine : njihovo je trajanje obično J ed nako periodi signala vremenskog vođenj a. Stroj ni se ciklus može sastojati od različita broj a stanja, tako da vrijeme traj anja strojnog ciklusa nije jednako. Npr. za ins trukciju MOV rJ , rl (mikroprocesor Intel 8080) potreban je j edan strojni ciklus , Mt. koji se sastoji od pet stanj a Th T2, , Tj . .
. . .
Instrukcija MOV r,M (mikroprocesor Intel 8080) zahtijeva dva strojna ciklusa Ml i Ml' Strojni ciklus M J ' sastoji se od četiri stanja TJ . T2• TJ, T, . a strojni 'Ciklus M2 od tri stanja : Th Tl i TJ (sI.6. 12).
podatke iz memorij e ili perifernih uređaj a . Taj strojni ciklus, već prema dulj ini podatka, može biti čitanje bajta ili riječi (16 bita) . Strojni ciklus čitanja bajta ili rij eči sastoji se od četiri periode signala vremenskog vođenja . Slika 6. 13 prika zuje dij agram stanj a na sabirnici prilikom izvo đenja stroj nog ciklusa čitanj a . Vidimo da stroj ni ciklus čitanja traje četiri periode signala vremen skog vođenja . Prilikom objašnj avanja stanj a na sabirnici, tvrtka Motorola upotreblj ava polupe riode signala vremenskog vođenj a SO , S l , . . . koje naziva stanjima . Međutim, su ta stanja upotrijebljena samo za objašnj avanje događaj a i ona ne odgovaraju stanjima procesora. [> stroj ni ciklus upisivanja u koje m procesor šalje podatke memorij i ili perifernom uređaju. Strojni ciklus upisivanj a traje pet perioda signala vre menskog vođenj a. [> strojni ciklus čitanja , promjene i upisivanja (engl. read- modify-write cyclus) u kojem p roce sor čita podatak, zatim ga modificira u aritme tičko-logičkoj jedinici i napokon upisuje natrag na memorijsku lokaciju . Taj ciklus ima važno svojstvo da je nedjeljiv. Instrukcija T AS (Test and set) upotreblj ava strojni ciklus čitanja , pro mj ene i upisivanja za upravlj anje saobraćanjem procesora u višeprocesorskoj o kolini. Strojni ciklus čitanja, promjene i upisivanja traje devet perioda signala vremenskog vođenj a .
N a temelju vrste strojnog ciklusa koj i se j avlja prilikom izvođenj a instrukcij e i hroj a stanja , odno sno perioda signala vremenskog vođenja određuje se vrijeme izvođenj a instrukcije (engl . instruction exe cution time). Npr. instrukcij a MOVE.B Dn,Dm (mikroprocesor MC 68000) . koj a premj ešta bajt iz jednog registra podataka (Dn) u drugi registar podataka (Dm) , zahtijeva jedan strojni ciklusa čitanja i izvodi se (za frekvenciju signala vremenskog Vođenja 10 MHz) u vremenu 4 · 1O - 7s.
Instrukcija MOVE . L * <:dn> ,(An) , koja 32-bitni podatak pohranjuje na memorijsku lokaciju koj a je adresirana sadržaj em adresnog registra An , zahtijeva pet strojnih ciklusa tri čitanj a i dva strojna ciklusa upisivanj a.) Budući da strojni ciklus čitanja traje četiri periode signala vremenskog vođenj a , a ciklus upisivanja pet perioda signala vremenskog vođenj a , ukupni je broj perioda signala vremenskog vođenja 30. Vrijeme potrebno za izvođenje instrukcije j e 30 · 1 0 - 7S .
2 Cesto s e strojni ciklus naziva i sabirnički . 3 Premj esti sadržaj registra f 2 u registar T \ _
118
Naprednije arhitekture mikroprocesora
poyećay. se sadrlaj programskog broj ila >a l
operacijski kod se
smj�tava
riječ se smještava u interni registar
u
instrukcljski regI star 1 dekodira se
procesora
da li su
ne ....______....;.;.;;. _ .. < pribavllene sve rl- >-----', ečr l{)Struk cI)e
SI. 6.11.
U sv ako m stanj u
koje
traje
Pojednostavnjeni dijagram loka izvodenja instrukcije
obično kao
p e no da
signala vremenskog vođenja izvodi se j edn a ili više mikrooperacija . Interno djelovanje u procesoru
može se prikazati pojednostavnjenim dijagramom prijelaza stanj a. Svako stanje u dij agramu prij e l aza
�tanj a stanja
označeno j e krugom , a dopušteni prijelazi iz
u stanj e prikazani
su usmjerenim
lukovima.
Na primj er slika ,
6. 14 prikazuje dij agram prijelaza
s tanj a za 8-bitni mikroprocesor Intel
8080 . 6 . 1 4 prikazuje k ad se ispituju linije READY, HOLD i INTERRUPT i kako stanja tih linij a mogu promijeniti osnovni sIjed prijelaza stanj a . U stanj u T l procesor postavlj a na sabirnicu podataka status i upravIj ačke signale , i t a k o označava vrstu Dijagram na slici
119
Upravljačka jedinica instrukcijski ciklus strojni ciklus M T
T
I
PC OUT status
I
I
SI.
T
2
I
I
PC=PC. I
INST- IR
T
I
I
T5
4
(S5S) -TMP
s t roI ni' Cl'kl us M
stanje
ope ..clIskl kod b7 b O MOV r, M D I 000 I I D
l
T3
I
PC OUT stat
..,
T PC
•
2
I
PC. I
T3 INST-IR
I
I
I
(TMP)- ODD
I
T4
I
Int«na
operacija
Instrukeilski ciklus
6. 12. Ilustracija odnosa inslrukcijskog ciklusa, strojnog ciklusa
M'2 T
I
HL OUT status
T
I
T3
2
OATA
-
DDD
i stanja (za Intel 8080)
strojni ciklus čitanj a stan"e SO
SI
52
53
S4
S5
56
57
CLK A4-A23
A I -A 3 Aš UOS
\,--_�r
CDŠ
R/W OTACK
O
08-0 1 5
00-07 FCO-FC2
------� ��
�J�--
____
SI.
6. 13. Dijagram stanja na sabirnici prilikom
izvođenja strojnog ciklusa čitanja (mikroprocesor
MC 68(00)
120 Napredni]·e arhitekture mikroprocesora �----------------------------------------��--- -----�---RESET
read
ready.HL TJ!.
.HLTA
da
HLTA
ready
holdJ N T
postavi interni bistabil HOLD
I
INT.lNTE
I HOLD I način
I I
L...-_�_---'_ _ _ _
da li J e završena tekuća instru kcija
ne
I I .J
hold
ne INT·INTE
postavi interni bistabi l HOLD
Sl.
6.14. Dijagram prijelaza stanja za mikroprocesor Inte/ BOBO
1 21
Upravljačka jedinica s troj nog ciklusa. U stanj u Tl na adre snu s a b irn i cu postavlj a se adresa m e m o rij e ili b ro j UlI uređaj a .
U stanju T 2 poh ranj uj e se in fo rm a cij a o st at u su u vanj ski za po r ni s klop i p ro ces or ispituj e ulazne linij e READY i HOLD te provje rava da li se iz vo d i i nstrukcija HALT .
Procesor odlazi u stanj e če kanj a Tw ako j e stanj e linij e READY n is ko ili u slučaju izvođenj a i n s t ruk cij a HALT.
Stanj e TJ može imati različita značenj a : st ro j n om ciklusu
pribavljanja
instrukcije pro cesor čita instrukcijsku ri j eč sa sabirnice poda taka i smj eš t a j e u i ns t r u k cij s ki re gi s ta r (u stroj nom ciklusu M,) il i u pomoćni registar, - u stoj nom ciklusu čitanj a p ro c e sor čita podatak sa sabirnice podataka i s mješta ga u interni regis tar , - u stroj nom ciklusu p o tv r de pre k ida procesor čita "prekidnu inform acij u" sa sabirnice p o d a taka i smješta je u privremeni registar , - u s t roj nom ciklusu upisivanj a u pisuj u se pod a ci sa sa bi rn i ce podataka u me morij u ili i zl azna vr a t a .
- u
Neki 16-bitni i 32-bitni mikro pr o ce so r i
Tako ć e stanj e j e d n e l in i j e i l i ko m bina c ija s t anj a
dvaju p os e b n ih upravlj ačkih linij a , nakon završetka tekućeg stroj nog cik lu s a , prouzrokovati prij e l az u n adgle dni način i prijenos upravlj anj a na odgovara jući progra m . Npr. mikroprocesor MC 68000 i m a ul azn u liniju HALT koj a u kombinaciji s linijom BERR (Bus Error - pogreška na sabirnici) uzrokuj e slj ed e će o pera cij e : •
•
st r oj n og ciklusa p ro ce so r H O LD i prema n j egovu
N a k on p os l j e dnj eg st a nj a bistabila
način H O LD ili pak nastavlj a "nor
mal n o " izv o đ enj e te k uće i n s trukcij e .
Procesor ispituje da li je stanj e bilo poslj ednj e sta n j e posljednj e g s t roj n o g ciklusa , odnosno da li j e t e k u ć a i ns t ru k c ij a završena . Ako n ij e završena procesor odlazi u s t a n j e T, slj edećeg stroj nog ciklusa. Ako je tekuća instrukcij a završena, procesor ispituj e qa li postoj i valjani zahtj ev za preki d . Ako ne postoj i , vraća s e u s t a n j e Tl ( pri b a v lj a nj e op e ra ci j s k og koda slj ed eće instrukcij e ) . A ko postoji zahtjev za prekid , procesor postavlj a int e r ni bistabil , on e mo gu ć av a da lje p re k i de i vraća se u stanj e T, novog stroj nog ci kl u s a . Taj novi st rojni ciklus je st roj n i ciklus potvrde p r e ki d a . U s t a nj u HOLD procesor postavlj a svo j e adresne i s abi rnice linije podataka u s t anj e visoke i m pedanc ij e i istovremeno generira signal po tv r d e HOLD-a koj i m sig n a l i zi r a u r eđ aj i m a da i m j e sabirnica na raspolaga nju . Procesor o b i čno pr e la zi u način HOLD u opera cij ama iz r avn og p ri s t up a m em orij i (DMA) .
16-bitni i 32-bitni mikroprocesori , prilagođeni za rad s više k o r i s ni k a , imaj u stanj a koj a s u označena kao korisnički način rada i na d gl e d ni način rada. Za svaki način rada određen je skup i nstrukcij a (privile girane ili neprivilegirane instrukcije) i način p rij elaz a iz j ednog stanj a u drugo.
St anj e : HALT - aktivno , BERR - n e a k t i v n o p ro ce s o r n a kon z a vrš e tka t e ku ć e g s tr oj n og ci klusa p o s t av lj a adresnu sabirnicu , sabirnicu po dataka i linij e fu n kcij skog koda FCO do FC2 u s t anj e visoke impedancij e . Procesor prelazi u stanj e HALT .
•
Stanj a T, i Ts su raspoloživa ako ih zah t ij e v a izvođe nje određene i n s t r uk cij e .
isp i tuj e s ta n j e stanju odlazi u
i m aj u d o dat n e
u laz n e li n ij e- čij e stanj e u tj eče na stanj e procesor a .
S l anj e : HALT - neaktivno , BERR - aktivno u n a dgl e dno s tanj e tako da
procesor prelazi
pohranj uje programsko b roj ilo i status-registar u stog , pohranj uje inform acij u o po g re šci i grana se na rutinu za o br ad u p ogreš ke .
Stanj e : HALT - aktivno , BERR - aktivno procesor ulazi u sekvencu ponovnog izvođenj a stroj nog ciklusa tako da upotre blj av a i s tu a dr e su , isti fu n kcij s ki kod , iste upr avlj a čke signale i iste podatke (ako j e bio u stroj nom ciklusu upisivanj a). Procesor ne m ož e ronovno izvesti j edino s t r oj ni ciklus či tanj a , pro mj e ne i upisiva nj a (read-modify-write cycl us ) .
Stanj a mikroprocesora koj a n a la zi m o u 16-bitnim i
3 2 -b i t n i m pro c e sori m a i koj a se obično
nazivaj u
o br ade iznimaka (engl . exception processing) u što sp a daj u obrada prekida i zam k i (engl. trap ) , o p i s at ćemo u poglavlju 7.
6A.
Skup instrukcij a , formati
instrukcija i načini adresiranja S ku p i n s t ru k cij a na r azini zbirnog jezika (asemblera) definira osnovne operacij e koj e mikroprocesor, od nosno mikroračunalo može izvoditi. Uobičaj ena po djela i ns t ru k c ij a m ik rop ro ce s o r a j est : o
ins tr ukci j e prijenosa podataka između mikr o procesora i drugih komponenata mikroračunala (m e mo r i j e , UlI medusklopova) ,
o
i ns tru k c ij e prij enosa podataka između internih
o
a r i t m e t i č k e i logičke ins t ru kc ij e ,
registara ,
o u p rav lj ač ke i n s tru k c i j e . Sesnaestobitni mikroprocesori imaju j a či skup ins t ru kci j a od n a svoj ih 8-bitnih prethodnika. Tako u s kupu instrukcij a imaj u privilegirane instrukcij e (ak o mikroprocesor dopušta d v a načina rad a : nadgledni i k or is n i čki ) , i nstru k cij e za cjelobroj no množenje i
122
Naprednije arhitekture mikroprocesora parni baj t ( A O : O )
neparni baj t
15
8I 7 operacijska r ij eč
(AD: I )
O
(prva riječ određuj e operacij u i način) usputni operand ( ako postoj i : j edna i l i dvij e r i j eč i ) proširenj e efektivne adrese i zvor a
(ako
postoj i : j edna
ili dvije r i j e č i )
p roš irenj e efektivne adrese odredišta (ako postoj i : j edna i l i dv i j e rij eći)
----
-
SI. 6. 15. Format instrukcije za mikroprocesor MC 68000
MOVE.W
15
I
o
I
14
$ OD I OOOA A , $ 0 0 1 00000 13
12
I
size
D
II
10 'I
registar I
odredi!t. I
I
OD
OD
DD
-
odreduj e op e r a nd
p o l j e oaredi ! t e ima Oblik:
registar: OO I pol j e i zvor ima
OO I
I
10
adresa izvora
l� odredišta adresa )
OO
i Ir
označavaju način adresiranj a A bS.L
nač i n:
III
o značavaj u nač i n adres i r anj a
Formal instrukcije MO VE. W <ea > , <ea> (za apsolutni
i načina adresiranja .
Slika 6 . 1 5 prikazuje format instrukcije z a 16-bitni mikroprocesor MC 68000. Prva rije č (najznačaj nij a riječ) instrukcije naziva se operacijska riječ i određuje operaciju , te specificira duljinu instrukcij e (broj riječi) , Ostale riječi, koje sc nazivaju adresno proširanje mogu sadržavati operan de , adrese operanada ili pomake (u zavisnosti od načina adresiranja) . Slika 6. 16, npr. ,prikazuje format instrukcij e MO VE .W <ea> ,<ea> , gdj e <ea> označava efektivnu adresu . Za način adresiranja koji se naziva "apso lutno adresiranje-d ugo" u kojem je pojcdina a d r esa operanda duljine 32 bita , instrukcij a sc sastoji od 5
baj tova.
}
operacijska riječ
duljine riječi (. W)
Instrukcije 16-bitnih mikroprocesora su duljine od jed n e do pet šesnaestobitnih riječi. Duljina instruk cije zavisi od tipa instrukcije , vrste i broj a operanada
lO
registar
10
AA
dijeljenj e , instrukcije za pohranjivanje više registara, instru kcij e koj e podržavaju multiprocesorske konfi g u racij e te instrukcije koje podržavaju prevodioce za više programske j ezike .
rij eči ili
na�in
I
način:
oblik:
registar: SI. 6. 16.
izvor
I
I
OO polj e size: I I
I.
način
o
I
AbS.L
dugi način adresiranja)
Slika 6.17 prikazuje format instrukcije MOVEM . L <lista registara> ,<ea> ; MOVEM .L DO ,Dl ,D4 07 /A I ,A2 ,A3 - A5,-(A7) Instrukcij a pohranjuje sadržaj izabranih registara podataka i adresni h registara na memorijske lokacije koje su odredene tekućim sadržajem adresnog regi stra A7 . U o v om primj eru upotrebljava se tzv. predekrementni način adresiranja - regi str i se pohra njuju na početnoj adresi umanjenoj za četiri i prema nižim adresama. Redoslijed pohranj ivanj a registara je sljedeći : adresni r egi stri (od više oznake prema nižoj) , a nakon toga registri podataka (od više oznake prema nižoj) . Slika 6 1 8 prikazuje format instrukcije TAS <ea> koj a se upotrebljava za sinkronizacij u u multiproce sorskom sustavu (vidi pogI .8) . Instrukcija se izvodi :J nedjeljivom sabirni čkom ciklusu (čitaj , promjeni i ponovo upiši) !e ispituje i postavlj a operand (tipa bajt) koji jc određen efek ti vn o m adresom ,
Mikroprocesor MC 68000 ima skup privilegiranih instrukcij a , instru kcije z a generiranje zamki i instru k-
123
Upravljačka jedinica MOVEM.L
15
DO, D I ,
14
l}
12
l
D
D
D
O
D2
DJ
O
I
I
DD
DI
D4-D7/AO, A I , A3-A5, - ( A 7 )
6
I I
ID
9
B
I
dr
O
D
I
Sz
I
I
I
I
I
I
O
D4
D5
06
AI
A2
AD
07
O
e ektlvna adresa
način
registar
I
r I I I f I
A3
I
A4
l
AS
D
O
A6
A7
}
određuj e koj i će se registri p r en ij e ti
pol j e d r odreduje smj er prijenosa: smjer:
dr=O
pol j e Sz
od re gi s ta r a u memoriju
određuj e ve l i � i nu registara koj i d u g a rije� (32 bita) Sz= I
polj e efektivna adresa ima slj edeću način: 1 00 registar: 1 1 1
registar ska lista
će biti premj ešteni:
}
vrij ednost:
(registar A 7)
predekrementni način adresirani a
Sl. 6. 1 7. Format instrukcije MOVEM.L <lista registara> .-(A7)
TAS
(M)
}
polj e e f ektivna adresa Odredena j e n a slj edeći način: nač i n: 0 1 0
registar: 1 00
_
odreduj e registar A4 SI. 6. 18.
r e gi st a rsko i ndi rektno adresi ranje
spec i f i C i r a
Format instrukcije TAS (A4)
cije za m od i fi kacij u status-registra. Privilegirane ins trukcije su one koje se izvode samo u n a dgled n o m načinu i o d nose se na status·registar ili korisničko kazalo stoga (MOVE U S P ) , ili su pak i nstru kcij e RESET, RTE i STOP . Instrukcije za generiranj e zamki su CHK, TRAP i TRAPV. Instrukcije za ru kov anje k orisn ičk im b aj tom s ta t u s- r egist r a su : AND! to CCR , EORI to CC R , MOVE EA to CCR , MOVE CCR to EA i ORI to CCR. 32-bitni m ikr opro ce so r i imaj u obično još veći skup i n s truk cij a od 1 6-bitnih p roce so r a . Tako , naprimjer, m ikro p ro ce so r MC 68020 ima pro šir e ni skup instruk cija s više od dv ade se t novih instrukcija. Grup a novih in stru kcij a omoguć ava ru ko va nj e po ljima pro mj e n lj i ve du ljin e . Takva po lj a p ro m j e n lj i ve d u lj i n e (do 32 bita) , s mj eš t e na II regis tr i m a i li m e mo rij i , mogu se obrisati, p os taviti , ko m p l e m entira t i , izlučiti, p retr ažiti i ispi t ati . T a k a v ti p instrukcij a namijenjen j e d j e l o tvo rnom ru kov a nj u pod acim a u komu nik aci j ama ili gr afici .
Drugu grupu čine in st ru k c ij e n a m ij enj e n e kopr oce sorskom sučeiju ( s učelj e za maternetički procesor i memorijsku u pr avlj ačku j ed i ni cu) . Modularno programiranje podržava se instrukcijama CALLM (poziv modula) i RTM (p ovrata k iz modu la). Te instru kcij e o m o gu ćavaj u postupke za dijelj e-
nje ko risničkog s t a nj a u 256 razina (razina privilegi r anos t i ) i definiraju protokole za prijelaze među razinama. U skup i n st r u kci j a su u vrš tene i nove ins t rukcij e za rukovanje sustavom ; to su CAS i CAS2 (co m p are and swap) .
Predviđene su i p ose b n e instrukcije PACK i UNPK za k o nve r z i j u po d a t ak a iz ASCIIfEBCDIC u BCD .
Posebna instrukcij a B KPT omogućava p os t avlj anj e ispitnih točaka u programu . 32-bitni mik roproceso r Intel 80386 ima prema svom 1 6- bi tn om prethodniku l n t e l 8086 znatno p ro šire n skup i n s tru kcij a . Sk up instrukcij a I n tel a 80386 može se podijeliti u n e k ol ik o pod sk u p o v a : a. p o dskup
instrukcija za prijenos instrukcije),
b . aritmetičke
c. d.
(32
instrukcije (17) ,
instruk cij e za rukovanje nizovima ( 12) ,
logičk e i nstrukcij e i i n st ru k cije po srna k a (15) ,
e. instrukcije f.
p oda t ak a
instrukcij e
za ru ko van je
bitovima (8) ,
za u pravlj anje programom (45),
g. i n s tru kcije koje jezike (3) ,
po d rž av aj u više p rogramske
124
NapredniJe arhitekture mikroprocesora
h. i n s t ru k cij e i.
(15) ,
za
ru ko va nj e
instrukcij e za u p ra vlj a nj e
N a či n a d r e s i r anj a
zaštitnim
modulom
procesorom (4) .
po stupa k o b li kov a nj a efektivne adrese . Pod efcktivnom adresom razumi jeva se konačna adresa koj om se pris tup a elementu u m e morij i . R a zn ol i k os t n a či n a ad re s ira nj a d opuš ta dj e l otv o rno ruk ovanj e različitim strukturama poda tak a , a time i efi k as nij e i zvo đ e nj e pro gra m a ( b rž e p re vo đ e nj e p ro gra m a n ap i s a n i h u višim pro g ra m s k i m j ezicim a , dj elo tvorn ij i m e h aniz a m r ukov anj a memo r i j om, brže izvođenj e programa) . odnosi se na
U vczi s načinom adre si r anj a vrlo čes t o se s po m i nj e i p oj a m ortogonalnosti.
K aže m o da j e ne k a adre s na sp eci fika c ij a ortogonalna kad se može svaki adre sn i način upotrijebiti za bi lo koju instrukciju . M n o gi mikroprocesori 16-bitne i 32-bitne arhitekture imaju gotovo ortogonalni skup i nstrukcij a . e ovom ćemo odjelj ku kao ilustracij u n a čina adresi ranja m ik ro p r oc eso ra n ap re d n ij e a rhi te k tu re op is ati če t rn a e st n a č i n a a dre si ranj a za 16-bitni m i k r o p r oce sor MC 68000 .
Četrnaest n a č in a a dre si ranj a razdijeliti u šest grupa :
za
MC
68000
m o gu
sc
� Izravno adresiranje registara :
ad r es i r a nj e adresnih registara
�
Izravno adresiranje memorije :
D
ap sol ut n o kr a tko adre siranj e
D a p sol u t n o
D
o o
odnosno ad r e sir anj e sa pomakom odnosno adr e s i r anj e sa indeksom i po m a kom
t> Usputno adresiranje : o
o
u sp u t n o b rz o u s putno a dre s i ranj e .
Bilo koji adresni re gi st a r AO d o A7 m ože se upo t ri j e hiti za izravno ili posredno a d resi ra n j e , a hi l o k oji re gistar (DO do D7 ili AO do A7) može poslužiti kao indeksni re gistar .
lzrav.n o •
adresiranje
registara
AdresiraIlje registara podataka
U o vom adre snom n ačinu o pe r a nd je spe ci fici r a n
efektivnom
adresom u
p olj u
Efektivna adresa
R e g is tar
n
Npr. , instrukcij a CLR.W D2 hiti t a kv o
da su
A dresiranje adresnih registara
polj a efektivne adrese . =
An
Npr. , instrukcij a MOVE .W A2,D4 p remj eš ta rij eč iz izravno adresir anog regist r a A2 u regi star p od a t a k a D4. (N a pomen a : O peracij e s ope randim a tipa baj t n is u d opušt ene za izr avno adresiranje adresnih r eg i stara . )
12
II
ID
efekt ivna adresa I regi st a r
na�in
size
si ze:
OI
odre<1uj e duljinu op.randa r i l eč ( 1 6 - b i t a ) 000
n a � i n:
registar:
prema slici
spe ci fi ci ra n a dv a re g i s t r a podataka : instrukcija MOVE . B Rl ,R2) .
Sl. 6. 19. Opći format inSlrukci/e s jednom adresom
13
ima ob lik
6 . 20 . Izravno ad re si r a n j e r e gist a ra podataka može
Efektivna adresa EA Način : 001 Re g i s ta r : n
p o s t i n kreme ntn o re g i s t arsko po s re dno p red e k re m en tno re gis t arsko posredno r e gi s ta rsk o p o s r ed n o s p om a ko m
14
adrese
EA = Dn 000
NaČIn
je određen ad re s o m
du go adresiranjc
IS
efektivne
(sk 6 . 19) :
•
� Posredno (indirektno) adresiranje memorije:
D
t> Odnosilo (relativno) adresiraIlje
U ovom j c sl u č aj u operand u 'ldresnom r e g istru k oj i
D re gis t ar s ko pos re dno D
e gist a rs k o p osre d n o s indeksom i pomakom
izvor i odredi šte (npr .
o a dresi r a nj e r e gi s ta ra p od a t ak a
fl
o r
� Uključno adresiranje registara
010
odreduj e registar 0 2 Sl. 6. 20. Formal
instrukcije
CLR. W
D2
Upravljačka jedinica
125
Izravno adresiranje •
memorije
Vidimo da iz r a v n o kratko adre<;iranje omogućava pris tup do dva bloka m e m o r ij e od 32 K bajta - J edan je smje šte n na najnižim a d re s ama , a d ru gi n a n aj v i
Apsolutno kratko adresiranje
šim adresama . R azlog je uvo đ e nj a ovakvog načina adresiranja u tome što se n a t aj n a či n k ra tkom adreso m omogu ću j e p r i s t u p u po d r u čj e gdje su sm je šteni vektori iznimaka (prva 1024 b a j t a ) i u p o dr u čj e koj e je obično namijenjeno UlI uređ aj i m a (najviših 32 K baj ta)4
Ovaj način adre si ra nj a zah t ij e v a j e dn u rij eč prošire nj a .
Adresa operanda je s mješte n a u riječi proširenja . Še�naestobitna s e adresa proširuje bitom predznaka predznaka (engl . sign extended) prije negoli se upo trijebi . Slika 6 . 2 1 prikazuj e p o stu p a k d o b iv a nj a efek tivne adrese.
•
Efektivna adresa : 24-bitna adresa dobivena šire njem bita predz na k a rij eči
Apsolutno dugo a d re s i ra nje zahtij eva dvije rIJecI pro šire nj a . U te dvij e riječi smj eštena je "duga" a d re s a . Slika 6.22 prikazuje fo rm a t instru kcije i način dobivanj a efektivne adrese .
proširenj a
Način Registar
111 ()()O
MOVE . W
D I ,$IOOO
adresiranj e ilustrirat ćemo
Posredno (indirektno) adresiranje memorije
instrukcij a p re mješt a 16-bitni sadržaj registra podataka DI na
•
Registarsko posredno adresiranje
U ovom načinu adresiranj a bilo koj i od osam adre
snih
lokaciju lOOOH.
r e g i s t a ra može se
u po t rij e bi ti
siranje o pera n a d a u memoriji.
in st ru kc ij a p re mj e š t a
D l ,$9000
111
00 1
U pri mj e ru MOVE.W $12000, Dl instrukcij a zahti j eva ap solutn o d u go adresiranje zato što j e adresa izvornog operanda dulja od lli bita .
memorijsku MOVE . W
p om o ću
Način Re gist a r
FFFFFFH·
kratko
24-bitna adresa dobivena dvij u r ij e č i proširenj a
Efektivn;;. adres a
Ako j e adresa između OOOOH i 7FFFH, adresiraj u se 32 K b aj ta na naj nižim adresama . Međutim, ( kra t ka) 16-bitna adresa SOOOH i više , zbog b ita p re d zn aka ( b i t bIS je 1 ! ) , adresiraju memoriju između FFSOOO" i Izravno ap s o l ut n o na dva primj era :
Apsolutno dugo adresiranje
za posredno adre
16-bitni sadržaj
regis t ra podata k a DI na m emo r ij s k u
, Mikroprocesor MC 68000 upotreblj ava memorijsko UlI preslika vanJ e .
lokaciju FF9000H .
F IS
L
____
,-
_
.
{
- ---
-
operaC�jSka rijet '
riječ adresnog 1 6 -bitna _ ad_r_ e_ ' a____..J prošire nja
-�
31
�
15
�I<� I
__
Z nakom <
O
�1
________
je označeno ŠirenjE' bi t a
na pozici j i 1 5 nula
predznak a
! 6-bi tne rijeČi. Ako j e bit
Ako j e bit na pOlicij i I S jedan
Ll I l IJ l l I0T�rrNN
23
15
St.
6.21.
Ap.lO/utno kratko adresiranie
Naprednije arhitekture mikroprocesora
126 SI. 6. 22.
Apsolutno dugo adresiranje
15
operacijska riječ I . rij eč proši renj a 2. riječ proširenj a
a) format
L rijeć proši renj a
[____"_na�a ;, a
instrukcije
2. riječ
Dro�irenja
31
adresa:
Efektivna adresa
EA
Način
010
=
j
manje znaćajna riječ adrese
r i j ei adrese
-'---�----
b) postupak dobivanj a adrese
re gi s tara sadrži adresu
e fe ktivne adrese .
operanda.
!�r-----"---- --�V--A�I operacijski kod
način
'
I,
I
operacijska
O . rij e č '--____________-'-_-'-_-'-_--'--_--'--_....L._..L.._+_ '-J
npr:
AD
r r r= 1 00
o
31
AI A2 AJ A4
xxxx yyyy
AS
I
A6 A7 adresni registri mikroprocesQra
6.23.
1
1
I adresa: L: !
operand ( I , 2 ili 4 bajta
xx x yyyy
xxxx yyyy
+l
xxx x y y y y
+2
dulj loe)
l· SI.
I
Ovaj način ad resiran j a upotreblj ava samo operacij sku riječ ; u nj oj je osi n; operacijskog koda sadržana i informacija o načinu (010) i re gist ru (n) . S l i k a 6 . 23 prikazuje format instrukcije i postu pa k dobivanj a
(An)
n - odre đuj � koji od adresnih
R egi s t a r
j
8 b i ta
m e mo r i j
Postupak dob,vanja adrese za regIStarsko posredno adresiranje
a
·1
Upravljačka jedinica •
Poslinkremenlno registarsko posredno adresira
nje
r
A d re s a ope ra n d a je sa d rž a n a u speeificiranom ad re
Na ko n pohranjivanja i dobavIja nj a operanada sa d ž aj ad r e sn og re g is t r a se p o v ećav a za 1 , 2 ili 4 ( ve ć prema dulj ini operand a) . snom registru A n .
Efektivna adresa
EA
An
Način
011
Registar
n
=
=
(An)
An + N ; postinkrement
Slika 6 . 24 prikazuje postupak
adrese .
dobivanja efektivne
1 27
Potrehno je upozoriti da povećanje sad ržaj a regist ara An za N = l , 2 ili 4 (rrcll1 � rome d a li jc operand haj t , riječ i l i d uga riječ) vrijedi za adresne registre AD do A6. Medutlll1 za adresni registar A 7, odnosno AT , koj i ima funkcij u kaza l a sto ga , iako je veličina op e r a nd a baj t , nj e gov će se sadržaj pove ć a t i za dva . Adresni reg i s t ar A 7 (A T) je ad re s n i registar s g ra n i com rij eči . •
U
Predekrementno registarsko posredno a dres iranje
samog
specificiranom ad re sno m registru An. pohranjivanja ili dobav/janja operan da a
adresn i registar A n
,
ovom načinu adresi ra n j a ad resa ope randa je
rž a n a II
sad
Prije
sad-
adresa oper anda
dulj ina oper anda N ( I , 2 i l i 4)
efektivna adresa Sl. 6.24. Postinkremenlno registarsko
posredno adresiranje
način
'I S
registar
" �----"--ii'
npr: rrr=O 1 O
Aa AI A2 AJ A4 AS A6 A7
xxxxyyyy -
---;)
operand ( 1 , 2 ili 4 baj ta)
l
--
xxxxyyyy
1
---
-N
xxxxyyyy-N. I 2
Sl. 6. 25. Primjer predekrementnoJ.:
I·
posrednog
adresiranja
8
bita
·1
128
Naprednije arhitekture mikroprocesora
rzaj a d r e s nog r egi stra se um anj uj e za 1, 2 prema duljini o pera n d a) .
ili
4
tnog registarskog posred nog načina adresiranj a, operacij a uzi m a nj a iz stoga izvedena j e po moću postinkrementnog re gis ta r s ko g posre dno g načina adres i r anj a.
(već
a
An - N EA = (An)
Efektivna adresa
Način Re gist ar
100
•
n
Slika 6 . 25 p r ik azu j e p rim j e r p red e kre m e ntn og regi st a rsk og pos re d nog adresiranja.
U vezi s p o st ink re m e n t nim r e gis t arskim p o sr edn i m i predekrementnim r eg is ta rsk i m pos re d nim načinom a d r e s i r anj a i kazalom s to ga A7 p ot reb n o j e napome
Efektivna adresa Nači n Re gis ta r
nuti sljedeće :
C> n a dgl e d no (sistemsko) kazalo stoga ili k o ri
sničko kazalo stoga ( da k l e adresni registar A 7) a d re sni je re gist a r s gr a nico m riječi . To z n ač i , ako se p o d a t a k dulj in e bajta smj ešta npr. u stog (kad adresni re gistar A7 irna fu nkcij u kazala stoga) , tad se m ij enja zna č aj ni j a p olovi ca rij eči u stogu , a m a n j e značajan bajt o st a j e n ep romij e nj e n . Adresni registar se u tom slučaj u umanjuje za dva (N 2). C> Ad re sn i registri AO do A6 također se mo gu u pot rij e bi t i kao kazala stoga , sa mo što on i nisu ad re sni regis t ri s gran i com rij eči pa dopuštaju rukov a nj e podacima duljine baj ta pri N 1 . C> Za sve reg ist re AO do A7 op e ra c ij a pohranj iv a nj a u stog re a lizira n a j e pomoću pre d e kreme n=
=
Registarsko posredno adresiranje
s
pomaknućem
Instru k cij e koje upotreblj avaju regi st arski p os redni n ači n a d re sir anj a s po makn u ćem (engl . displace ment) imaj u j e dn u rij eč proširenj a . U ri j eči p ro šire nj a smje š t e na j e vrijednost pomaknuća.
EA
=
101 n
(An) + d
; d - pomaknuće
Adresa operanda se dobiva kao zbroj sadržaj a adre snog regis tra An i 16-bitnog pomaknuća koj e je pr oš ire n o bitom p re d zn ak a . . Slika 6.26 ilustrira o vaj
način a d resiranj a .
Primj er sintakse re gistarsko g
p os r e d n o g n ačina adre
siranj a s pom a kn u će m : MOVE . W (An) , <EAd> ' npr. MOVE.W S20(A l ) ,D l .
•
Registarsko posredno adresiranje
maknućem
s
indeksom i po
Efektivna adresa u ovom načinu adre si ranj a odre đena je sa d rž aj em adr esn og re g i st ra , s ad ržaj e m a dre sn o g re gi st ra ili r e gistara podataka ko j i ima funkciju in de k s n og re gi s tr a i vrijednošću pomaknuća :
np r. rrr;O I O operacijski kod
registar
način
r------' �-----" .....-A----.. �
I I I I I I I l
dd
D
l
r
r
r
dd
AD Al
A2
x xxx yyyy
xxxx yyyy
AJ
+ sss.
A4
Z ln
/
A5
dddd IZll
efektlvna adresa operanda
A6 A7 SI.
6.26.
Primjer registarskog posrednog načina adrtsiranja s pomaknućem
oper aci j ska riječ riječ proširenj a (pomaknuće)
l ', ,/'{/\'Ijačka jedinica
129 �\ ��
operac ijski kod
način
�________________ r-________________A
O
I I 1 1 l I I
DI A r 2
r2
r2
'--v----'
W IL
O
registar ( oznaka indeksnog registra)
npr. , 2 r 2 r 2 =00 1
D/A=O registar podataka označen s ' 2 r 2 ' 2 i m a funkciju
L
,egistar
I I I I I I II I l
O
l
O
l
dd
dd
,
'
rl
operacijska 'ij eč
I
pomahuće
rij el' preši renj e
W /L = l; indeksni regista, ( duga riječ)
w/L=O; indeksni ,egistar ( k , atka riječ)
i ndeksnog registra
D/A = 1 adresni registar ozna�en s r 2 r 2 r 2 ima funkcij u indeksneg ,egistra
Sl. 6.27.
Efektivna adresa Način Registar
Organizacija instrukcije za registarski posredni način adresiranja s indeksom i pomoknlJćem
EA 1 10
=
( A n ) + (Ri)
+
d
n
Instrukcije s ovim n ač i n o m adresiranj a ima ju j e dnu riječ p roš i ren j a . S l i k a (, . 27 p r i k a z uje organizacij u inst r ukcije za taj način adresiranj a . Slika 6.28 opisuj e postupak dobivanj a efektivne adrese . Sadržaji se dijela rij eči pomaknuća i indeksnog regi stra (ako je WIL O) proširuju (širenj e bita pred znaka ! ) . =
Uključno adresiranje registara
Oba načina a d resiranja upotreblj avaju rij eč prošire nj a . U njoj je pohranjena vrijedn o st pomaknuća .
Važno je napomenuti da je referentna vrije dn ost programskog broj ila (koj a se upotre blj ava za računa nje efektivne adrese) ona k oj a pokazuj e na riječ pro š irenja . •
Efektivna adresa EA N ačin : 111 Registar : 010
Neke instrukcije implicitno adresiraju registre : -
programsko broj ilo ( PC) , korisničko kazalo stoga (SP) , nadgledno kazalo stoga (SSP) , ili status registar (SR) .
Tab l ica 6 . 1 p ri kazuje instrukcije koje upotreblj avaju Uključno adres.iranje . Odnosno (relativno) adresiranje
Odnosno ili relativno adres i ranj e upotrebljava se za programske sk okovc i gr ananj a u tzv. položaj no nezavisnom kodu ili za čitanje konstanti koje su ugrađene u program . Mikroprocesor M C 68000 ima dva načina relativnog adresiranj a memorije prema vrijednosti program skog brojila : • •
odnosno adresiranj e s pom aknučem , odnosno adresiranj e s indeksom i pomaknućem.
Odnosno adresiranje s pomaknućem
Efektivna se adresa operanda dobiva u ovom načinu zbraj a nj e m sadržaj a programskog broj ila i rij e č i proširanj a koj a predstavlja pomaknuće . Riječ se dobiva širenj em bita predznaka (sli ka 6 . 29) : =
(PC) + d
P ri mj er sintakse in s trukcije koj a upotrebljava ovaj načina adresiranj a : JMP * + 10 ; zvj ezdica označuj e trenutni položaj . •
Odnosno adresiranje s indeksom i pomaknućem
Efektivna adresa s indeksom i pomaknućem računa se n a sličan način kao u prij ašnjem načinu , samo što se sumi sadržaj a programskog b roji l a i pomaknuća d odaje i sadržaj j ednog registra koj i nazivamo inde k snim. Ulogu ilIdeksnog registra može imati bilo koj i od šesnaest re gi s tara . Da li će to biti j edan od adres n ih registara ili j edan od registara po d ataka to zavisi od bita s oznakom DIA u riječi proširenj a (slika 6. 30) . Ako je DIA O, kao indeksni registar upotrebljava se j edan od registara pod a taka , a ako je DIA = 1, ulogu indeksnog re g i stra ima jedan od adresnih registara. Koj i će registar to biti ,određeno je polj em rrr u rije či proširenj a . =
130
Naprednije arhitekture mikroprocesora 31
adresni registar A
n
pomaknuće (širenje bit predznaka!)
"----.( + ( reg. (ši r e nj e
indeksni registar podataka ili adresni re g. ) bit predznaka ako j e W!L=O)
ef ekti vna adres a
SI. 6.28. Postupak dobivanja efektivne adrese za registarsko posredni način adresiranja s indek;om i pomaknućem
Tablica 6 . 1 . Instrukcije koje upotrebljavaju uključno adresiranje (MC 68(00) uklj utni registar ili registri
instrukci j a
uvj etno
(Bee)
i
bezuvj etno (BRA )
. grananj e u p o tp r o g r am
p rovj e r a r egi s t r a
DI V S
di j e l j e nj e
b r oj eva
skok
PC, SP
(BSR)
u odnosu na g r a ni c e (C HK )
i sp i tivanj e uvj e t a , dijelj enj e
PC
grananj e
umanj ivanj e i
g r a n a nj e
bez predznaka
DIVU
( DB
SSP, SR
ce
PC SSP,
SR
SSP, SR
(JUMP)
PC
skok u potprogram (JSR )
poveži i dodij e l i
)
PC, SP
( L INK)
SP
p r e mj es t i regi s t ar uvj eta
(MOVE C C R )
SR
premjesti status re g is t ar
(MOVE SR )
SR
premj esti korisničko
ka>alo stoga (MOVE USP)
pohrani e fek tivnu adresu u stog (PE A )
povratak
iz iznimke
povra t a k
i
SP PC , SP, SR
(RTE )
o bnav l j a nj e registra uvj e t a
p o vr a ta k iz potprograma
(RTS)
USP
(RTR)
PC , SP, S R PC,
SR
z a m k a ( T RA P )
SSP, 5R
zamka zbog prel iva ( TRAPV )
SSP, SR
odspoj i (UNLK)
SP
Upravljačka
131
jedinica
rr------�A�--�, � � na či n
operacijski kod
f----+ dd
L-_______________
I I
_
_
_
_
_
_
_
dd
_
prog. broj i l a
- efektivna adrt!Sa
o�eraLijska r i j eč
rij eč p r ši -
� renja
________________
- vrijednost
I
--'- ----'- ----'- O----'- ---'- 0--l I -'--- ...L --
_
---'-
oo p pp CCC ssss dddd
registar
o
(pokazuj e na r y eč proširenj a)
oper anda
- pomaknuće sa širenj em bita predznaka
zz ZZZ2
Sl. 6. 29. Odnosno (relativno) adresiranje s pomaknućem
I
operacij ski
r
r
r
D/A npr • O
.
DI
re
način
gista r
1 1 1 1 1 1 j :::';:,:; �:���j�roDIAI I I I l I J I � 1f----��:;---r---'
,-------� DO
��
kod
31
W IL
r
W/L . 1
°
indeksnog
O
°
"duga" vrij edn st registra
o
02
-
O
-
,
d
-
d
w/L =O
" k r a t k a " vrij ednost i n d eksn g registra
o
f--
pppp qqqq
.
D4 05 06
D7
OOpppccc
--
m
• vri j ednost p ro g r a skog broj i l a pokazuj e na r i j e č p roŠire j a pomaknuće sa ši r e nj em b i ta pr dz a k a
koje
••
...
e
n
" kratkilf sa držaj stra sa � i r ni e
e
n
bita predznaka
m indeksnog
re i
g
+ ssssss
dd
••
+ ppppgq qq lZZI ZZ ZZ
za
w/L = I
OO
pppcc c dd
+ ssssss ili
SI. 6.30. Odnosno (relativno) adresiranje s indeksom i pomaknu ćem
ssss qqqq ' "
l Z Z l lZZl
za W/L =O
132
Naprednije arhitekture mikroprocesora
E fektivna ad resa Način . Registar
EA 111 011
(PC) + (Ri) + d
=
•
Koliki ć e s e dio sadržaj a indeksnog reg i stra uzi mati
u obzir, zavisi od v r ij edn os ti bita WIL u riječi
proširenj a . Ako je WIL = 1 , uzima se trid es e t i dvob i t n a vrijednost s adržaj a indeksnog registra (u sintaksi ins t ru kci j e to je označeno sa .L uz in d e k sni registar , npr. ADD . W $ 1O(PC) ,D l . L) . Ako j e W/ L O, upotreblj ava se tzv . kratka vrij ednost indek snog reg ist ra - 1 6 bitna vrijednost sa ši renjem bita p red znaka (slika 6. 30) . =
Usputno adresiranje Kad je vrijednost operanda uklj uče n a u samoj ins trukcij i , govorimo o u sp ut n om adresiranj u . U t o m slučaj u nema efektivne adrese o pera n d a j e r je zadan sam operand . Način R egistar
: 111 : 100
Usputno adresiranj e zahtij e v a j ednu ili dvije nJecl proširenj a , što z avi si od duljine operanda. Ako je operand bajt , tada j e on pohranjen u m anj e značaj ni joj polovici rij eči proširenj a : BajI n a parnoj adresi (značaj nij a polovica riječi) 15
14
13
12
11
10
Baj t na nep.rnoj adresi (manje značaj na polovica riječi)
9
14
13
12
II
10
9
on
se pohranjuje
8
4
3
2
l
u
o
ako je operand duga rij eč, upotreblj avaju se dvij e riječi proširen j a : 13
12
11
10
9
14
13
12
II
8
6
5
4
3
2
l
o
I ? � < z:n a> a: j n:a :r i i e �) I j
ope raci ski kod
8
:
7
6
podatak ima
j
v r i ednost
Arhite ktura 3 2 - b i t n i h mikroprocesora dop u š t a još
s l ož e n ij e
načine adresiranj a . Npr . mikroprocesor MC 68020 ima načine adresiranj a kao što su memo rijsko posredno adresiran j e 5 p r e i n d ek so m , odnosno memorij sko posredno adresiranj e s postindeksom i od n os no memorijsko posredno adresir�lOje s p rei n deksom . Slika 6 . 32 prikazuje način do b iv a n j a efek tivne adrese za odnosno m e mo rij s ko p os re d no adre siranje s preindekso m .
instrukcij e :
bd - pomaknuće , PC - adresa riječi proširenj a , Xn. size - inneksni regi st ar, scale - mjerilo (1, 2, 4 il i 8) , od - " va n j s ko " pomak nu ć e . Primjer instrukcije : MOVE. B D l , ([TABLE ,PC,DO*4] , $ 10) Slika 6.33 prikazuj e memorijsko posredno adresira nj e s po sti ndekso m (MC 68020) .
Tridesetdvobitni mikroprocesor Intel 80386 ima je d a naest n ači n a adresiranja : 1 . adresiranj e registara , 2. usputno ,
4
2
'-----y---J � nai:: i n registar vel i č i na aperanda
1 - 8) Organizacija instrukcIje ADDQ # ,<ea> od
2
Instrukcija ADDO ima sint ak su ADDO *' , <ea> s a tribut i ma baj t , rij eč ili duga rij eč, a organizacij a je instrukcij e pr i kazan a na slici 6 . 3 1 .
10
( podatak
3
Registar
�________� A �___________
'-.r------'
SI. 6.31.
9
polj e e f e k l ivne adrese odredišta
II
�
10
gdje je :
a
14
15
mnemonik ([bd ,PC,Xn . size *scaleJ ,od ) ,
I : : : : o:p � r � n � :(r � j � č): : : : I 15
Instrukcije koje upotrebljavaju brzo uspu tno adresi ranje nose dodatak O ( quick - brz). Npr. in s truk c i j a MOVE O *,3 ,D7 i m a vrijednost - 3 pohranjenu u samoj ope ra cij s koj rij e či
Sintaksa je
2
Ako je operand d u l j i n e rij eči , riječ proširenj a : 15
Brzo usputno adres iranje p reds tavlj a inačicu usput nog adresiranja . Ono nam omogu ć ava uključivanje manjih operanada u i nst ru k cij u . U tom sl učaj u je vrijednost op era n d a Uklj učena u samu operacijsku r iječ instrukcij e .
Operacijski kod MOVEQ
Usputno adresiranje
•
Brzo usputno adresiranje
133
Upravljačka jedinica
.dres. riječi proširenj a
programsko broj i lo:
1 6- III
J2-bi tno osnovno
pomaknuće :
I n de k s n i
r e g ist a r:
mjerilo ( I , 2,
pomaknuće sa ši renj em b i ta predlnaka
�---1 +
sadržoj I ndeksnog reg i s t r a bi ta predzna k a )
(sa širenjem
4 I I I B):
pokazuj e na
memorij a:
adresa memorije
16- I I I JZ-bi tno " a j sk o " o a r-------, v n p m - po m aknuće sa ši renj em bita predznaka knuće
operand
memorij a:
SJ. 6.32.
Odnosno
memorijsko posredno adresiranje s preindeksom
3 . izrav no ,
poboljša nj a s obzirom n a prethodnike i Intel 80286 jest uvo đ enj e i n d e ksn o g adresiran j a s mjeril o m ( 1 , 2, 4 ili 8) i veća prilagodlji vost u izboru baznih i indeksnih registara. Fizički j e adr esa biini prostor mikroprocesora Intel 80386 4 G b aj t a (232 bajta) , a virtualni (logički) adresabiini prostor (po zadatku) j e 64 T bajta (246 bajta) . N aj v ažni j a
regi st arsk o po sre dn o , bazno , in deks no , indeksno s mj eri l o m , 8. b az n o i nde k s n o , 9. b azno indeksno s mjerilom , 10. bazno indeksno s p o m a knu će m , 1 1 . bazno i n d ek s no s mj erilom i pomaknućem. 4. 5. 6. 7.
Slika 6.34 p rik azuj e po s tup ke obl i ko vanj a
različi t e načine adresiranj a .
adrese
68020)
(MC
Intel
8086
Segmentacij a memorije za
moguća, ali tako da j e segmenta 4 G bajta, tj . m em o rij e .
gornj a granica veličine j e dn a ka veličini fizičke
je
134
Naprednije arhitekture mikroprocesora
adresni
registar:
16- 111 3 2 - bitno
pom aknuće:
JI adresa
JI pomaknuće S a
memorile
ši r enj em bita predznaka
f-----< + pOkazuJe na
memorila:
adresa memorij e
sadržaJ indeksnog registra (S8 širenJem bita predznaka)
indeksni registar
mlerilo ( 1 , 2 , 4 i l i B):
1 6- 111 }l-bi tno
vanj sko pomak nuće:
vanjsko pomaknuće
sa ši renj em bi ta predznaka pokazuJ e na
memoril a
operand
Sl. 6.33. Mernorijsko posredno adresiranje s postindeborn (MC 68020)
Upravljačka jedinica
135
segmentni registri
I
selektor
SS
selektor
GS
selektor
FS
selektor
ES
DS
bazni registar
.� I
selektor
selektor
CS
indeksni registar
I
I
rl
I
SS -
I I
FS
c-
I
ES
I I I
I
I
pristupna prava -
I L
e fektivna
adresa
I
DS
-
I
I
I Gs l
mjerilo
�
registri opisa
I 1 I I I I I
I
pomaknuće
r - - - - --- - - -- - I
I
�
l, 2, 4 ili 8
granica
bazna adresa
I
I
CS
I I
I I
I I 1
� - - - - - - - - - _I .
?
i I I I I
I I I I I
L
linearna adresa
granica segmenta
L.....-
cilj na
adresa
}i e .,
�
�
_ _
bazna adresa segmenta
Sl. 6.34. Postupci oblikovanja efektivne adrese za različite načine adresiranja (Intel 80386)
136
LITERATURA Y . Chu, Comp uter Organization anti Microprogramming, Prentice Hall , Inc . , 1972 . . .. [2] S. Ribarić , A rh itek tura mikroprocesora , TehnIčka knJIga, Z agreb , 1 985 . .. [3] S . Ribarić, A rhitektura računala pete generacIJe , Teh nička knjiga, Z agreb, 1986. [4] N . A . Alexandridis, Microprocess or System Design Con cepts, Computer Science Press, 1984 . [5] J . Mick , J . B rick , Bit-Slice Microprocessor Design , McGraw-Hill, 1980. r6] A . Gupta , H . D . Toong, Microprocessors - The First . Twelve Years , Proc. of the IEEE , Vol . 7 1 ,No . l 1 , novem bar 1 983 ,pp . 1236- 1256. [7] A . Gupta , H . D .Toong, An A rchitectural Comparison of 32-bit Microprocessors, IEEE Macro , februar 1983 , p p . 9-22. [l]
Naprednije arhitekture mikroprocesora
[8] H . D .Toong , A . Gupta , An A rchitectural Comparis�n of Cuntemporary J6-Bit Microprocessors, IEEE MIcro , maj 198 I ,pp. 26-37 . [9] T . L . Horman ,B . Lawso n , The Motorola MC 68000 Mi croprocessor Family , Prentice-Hall, 1985 . [1 0] S. Ribarić,B.Dolenc, Računarska tehnika i organiza cija digi talnog računara , TŠC , Zagreb, 1983 . [ 1 1 1 16-Bit Microprocessor User's Manual, Motorola, 1980. [12] Microprocessor Devices , Siemens , Data Book, 19761 77. [13] iAPX 86,88, User'" Manual, Intel ,1981 . [1 4] Yu C.Liu , G . A . Gibson, Microcomputer Systems : The 808618088 Family. Prentice Hall , Inc . , 1 984 . [1 5] J . H . Crawford , P . P . Geisinger, Progra m m ing the 80386, Sybex, San Francisco, 1987 . [16] D .Tabak, The Intel 80386 and New 32-Bit Micropro ces.
7 . PREKIDNI
SUSTAV MIKROPROCESORA
Obrada iznimaka
7.2. Prekidni sustav
7 . 1 . Uvod Izraz prek id (engl . interru pt) općenito se u potreb ljava za neočekivani događaj koj i ima za poslj edicu privremeni prij enos upravlj anj a s tekućeg programa na drugi program koji posl u ž uj e prekid . Izvori pre kida mogu biti različiti : UlI uređaj i (npr . tastatura ili pisač) . upravlj ačka jedi n ica sekundarne memorije (npr . jedinic a s avitljivog diska) . vremenski nadgledni sklopovi (engl . watchdog timer) i upravlj ačke j edini ce mcmorij e (MMU) ili jedinice koj e su udalj e ne od procesora i sastavni su d ij el ovi nekog procesa (npr fu n k ciona l n a jedi nica i ndustrijs k og procesa) . Svi ti uređ aj i šalj u zahtj ev za prekid preko j edne ili više prekidnih linij a .
.
Obrada iznimaka (engl . e xcep tion processing) odnosi se na reakcij u mikroprocesora na z ahtj e ve kao što su za prekid ili zamke (engl . trap). Izraz obrada iznimaka posebno se upotreblj ava kod mi k roproce sora koj i imaju korisnički i nadgledni način rada i on podrazumijeva prij elaz iz korisničkog a u nadgl edni način rada. za htj e vi
Obrada iznimaka slična je, ali op ćenitija od obr·ade preki d a . N aprimj er . za 1 6-bitni mikrop rocesor obrada iznimke može biti i nici r ana instrukcijom . uklj učuj u ći i n epravilne uvjete koji mogu n astupiti izvođenj em in s tr u k cij e te v anj s ki m doga<1ajima . Tako instru kcij a TRAP * ; N O. 1 ,15 uzrok uje obradu i zn im ke . Ako j e dj elitelj prilikom izvo đenj a instruk cije DIVS ili DIVU j edn ak nuli. bit će izazvana iznimka . =
Uzročnik ili izvor prek ida zahtij eva prek id preko posebne upr avljačke linije (ili više njih) koju nazi vamo prekidna linija . Taj se zahtjev pohranj uj e in terno u bistabilu ili registru procesora. P rocesor periodično ispituje taj bistabil iJi registar (obično na \(Iilj u �yak�J�1.q�Ć.e_ in� . vidi s1 . 6 . 1 4 i 7. 16). U zavisnosti od r ezultata ispitivanja procesor n as t avlj a dalj e izvođe nje programa (zahtjev za prek i d ne postoji ili je " mas k iran " ) ili , pak . procesor prekida tok izvođenj a tek u ćeg programa i odlazi na izvođenje pr e kidnog (uslužnog) programa (zahtjev za prekid postoji i nije " m as kiran " ) .
Slika 7 . 1 prikazuje primj er izvođenj a prekidnog pro gra m a (zahtjev za prekid l je prihva ćen) i primjer k ad ' prekid nij e prihvaćen (npr. prekid j e "maski ran " . zahtjev 2) . Procesor se iz pr ekidnog programa vraća u tekući program . Prij enos upravljanja s pre kidnog programa na tekući (pre k inu ti ) program iz vodi se posebnom instrukcij om u prekidnom pro gramu (npr . RTl , RTE ) .
Nakon što jc neki sklop generirao zahtjev za prekid i nakon što ga je preko prek idne linije uputio mikr oproc esoru . postupak se posluživanj a p re kida preki nuti (tekući) program
• . . .
reki dni
Pokušaj izvođenj a privilegir ane i nstru kcije u kori sničkom načinu također će za poslj edicu imati obradu iznimke. Vanjski uvj eti kao što je prekid, pogreška na sabir nici ili aktivnost na li n iji Halt prouzrokovat će obradu iznimke. U ovom ćemo poglavlju opisa ti prekidni sustav mi kroprocesora i obradu iznimaka. Obradu iznimaka ilustrirat ćemo na 1 6-bitnom mikroprocesoru MC 68000 i 32-bitnom mikroprocesoru Intel' 80386.
pr ek id
program
�
zahtl ev z a
pr ek i d
I
zahtjev za
Sl. 7, l.
2
.4,/
/,IV
Shematski prikaz prihvatanja i neprihvaćanja prekida
138
Naprednije arhitekture mikroprocesora
(ukoliko je prekid p ri hvaćen ) , općenito , sljedećim koracima : 1)
i zv od i
u
procesor potvrđuje prekid signalom potvrde pre
kida (lACK) ili karakterističnim stanj em na p o
sebnim upravljačkim li nij am a l i nij a m a funkcij s kog koda) ,
p ohranj uj e sad ržaj p rog ra msk og brojila , sadržaj statusa-registra i, po potrebi, t ekuće sad-
3) program se gra n a na
.
m emorij sku
adresu kojom
započinje prekidni program ,
4)
n a kon izvođenj a
p re kid nog p rograma n as tav lj a se
izvođenj e prekinutog programa , s tim da se ob
n av lj a
sa d rž aj p rogramskog broj ila, statusa-regi
stra i sadržaj rad nih re gis tar a .
Pri a nalizi prekidnog sustava poj edinog m i kr o pro c e
sora obično t re ba
odgovoriti na sljedeća pitanj a :
e
Koliko prekidnih li n ij a ima mikroprocesor ?
e
Kakav je odziv mikroprocesora na prekid ?
D N a k oj i način mikroprocesor određuje izvor (u zročn ik a ) prekida ako je više izvOIa priklj u če n o
na j ednu prekidnu linij u ? D
D a l i mikroprocesor može razlikovati važan
pre k id od nevažnoga i kakva j e pr iorit etna struk
tura prekida ? o
Kada se i
ćuj e ?
kako
naprednijih arhitektura
(linij ama s ta t usa ili
2) procesor
ržaj e rad n ih r e gi star a ,
7.3. Prekidni sustav Intela 8080 - preteča prekidnih sustava
prekid omogućuje ili onemogu
Prikažimo prekidnu strukturu 8-bitnog m i krop roce
sora I nte l 8080 :
Mikroprocesor Intel 8080 irna j ed n u prekidnu klj učeni na m ikroračunalo na
bazi mi krop rocesora
[ntel 8080 , zahtij evaj u p r ekid p os tavlj anje m
linij e INT
ulazne
u stanje logičke jedinice ITl (sI . 7 . 2) .
Zahtj ev z a prekid j e asinkron i može biti generi r an u bilf.l koj em trenutku izvođenj a neke i n s t ru k cij e .
Logika će procesora taj asinkroni v anj ski za h t j e v interno sinkronizirati sa signalom
nja
vremenskog vođe
<1>2 G1]. Ako je pre k id o m o gu će n (izlazna uprav
lj ačka lini j a procesora
INTE je 1) , mi k ro p roce so r će pos tavi ti u 1 sinkrono sa <1>2 []. To se sve d o gađ a u zadnjem stanj u (n pr . T) i nstrukcij s ko g ciklusa u kojem s c do godi o zahtj ev za prekid, da bi se tako osigurao n o rm al an završetak tekuće instrukcij e prije negoli započne obrada prekida.
interni pre kidni bistabil (INT FIF)
Prekidni MC
liniju
[NT. VanjskI l o g ički sklopovi i uređaj i koj i su pri
s troj ni
ciklus ima slj edeće značajke :
MI n foo-- -----'--- ------i T 2��T�3��-T�4__1.-T�5��-T�I�
SYNC
T
W A I Jl
INT INTE intp.rni bistab i l
INT
AD-A I S �-----J�-H----4-
00-07
081N
za.brana po ve�anj a PC �-----i---I (interna operacij a )
SI. 7. 2. Vremenski dijagram prekidnog slijeda za Intel 8080
Prekidni sustav mikroprocesora U stanju T! mikroprocesor šalj e informacij u o statusu na sabirnicu podataka ! . Zaporni ili upravlj ački sklop sustava pohranjuje status za vrijeme stanj a T2 . PO hranjivanj e statusa uvj etovano je konjukcij om sig nala <1>1 • SY N C Gl. Status je u slučaju prihvaćenog prekida sljedeći : D Linij a DO, koja prenosi signal potvrde prekida INTA postavlj ena je u 1 . Procewr potvrđuje prekid . D Linij a Dl koj a prenosi signal RIIWO postav ljena je u 1 i pokazuje da će procesor izvesti operaciju unosa (INP) ili operaciju čitanja memo rije . D Linija D 2 prenosi signal STACK i i m a vrijednost logičke nule. D Linij a D3 prenosi signal potvrde instrukcije HALT (HALTA) i ima vrijednost logičke nule . D Linij a D4 prenosi signal OUT koji pokazuje da adresna sabirnica sad ni adresu izlaznog uređaj a i da će sabirnica podataka imati izlazni podatak kad bude aktivan signal WR. Signal OUT ima vrijed. nost logičke nule . D Linij a D5 prenosi signal Ml koji pokazuje da j e mikroprocesor u fazi PRIBAVI i d a pribavlj a prvi bajt instrukcij e . Signal Ml ima vrij ednost logičke jedinice . D Linija D6 prenosi signal INP koji pokazuje da adresna sabirnica sadrži adresu ulaznog uređaj a i da će ulazni podatak biti smj ešten na sabirnicu podataka kad bude aktivan signal DBIN . Signal INP ima vrijednost logičke nule . D Linij a D7 prenosi signale MEMR i označava da će se sabirnica podataka upotrebljavati za podatke pročitane iz memorije . Signal MEMR ima u stroj nom ciklusu potvrde prekida vrijednost logičke mile .
Strojni ciklus potvrde prekida sličan je strojnom ciklusu pribavljanj a . instrukcij e , ali uz dvij e bit� razlike od pribavlj anja instrukcije u "normalnim" okolnostima: D Sadržaj programskog brojila se ne povećava (u fazi PRIBAVI to se povećavanje izvodi u stanju
T2) '
Za vrij eme normalnog slijeda pribavlj anj a ins trukcij e stanje je linije MEMR 1 .
D
Signal MEMR u strojnom ciklusu potvrde prekida ima vrijednost logičke nule i onemogućuje pribavlj a nje podataka (operacijskog koda) iz memorije . Sig nal potvrde prekida INTA omogućuj e ulazni međus klop preko kojeg se na sabirnicu podataka postavlja kod instrukcije RST n (Restart). Na kraju stanj a T2 na sabirnicu podataka postavlja se kod instrukcij e RST. Posljedica je svega toga da je mikroprocesor "zavaran" pa umj esto instrukcij e iz memorije pribav lj a kod instrukcije RST postavljen na ulaznom me đusklopu koj i je omogućen signalom INTA. Nepove-
r
139
r r r
ćani sa d žaj p og amsko g broj ila pokazuj e na ins tr u kcij u koj a je trebala biti pribavlj ena iz m emorije u slučaj u n o mal n og (neprekinu tog) s ij e d a . Kod
instrukcij e RST n smj ešta se u instrukcijski registar . Prva instrukcij a koj a se izvodi nakon prihvaćanj a prekida j e RST n. Ona pohranj uj e sadržaj program skog brojila u stog i izvodi grananj e na prekidni program . Slika 7.3 prikazuj e izvođenj e instrukcije RST n . Instrukcij a RTS ima instrukcijski kod : D7D6D5 D 4 D3 D 2 D 1 DO
IIII
Instrukcijski kod RST n
1111
�1
x
x
x
O
O
O
l
lin In I
O O O
1
O
l
O
l
2
n
in l in
l
O O
O
4
i l in l in
l
O O
n
6 7
Nakon izvođenj a instrukcij e RST n , novi sadržaj programskog broj ila je određen sa:
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 I 1 !XI 1 0 1 0 I 1 5 14 1 3 12 1 1 1
9
Npr. kod je RST lokaciju
8
3,
7
6
5
4
O
x
x
3
2
O
O
program se grana na memorij sku n
I
10 10 1 0 1 0 1 0 10 1 0 1 0 1 0 10 1 0 1 0 1 1 1 1 1 0 1 0 1 0 1 15 14 13 12 11
9
8
7
6
5
4
3
2
1
O
Na toj memorijskoj lokaciji nalazi se prva instrukcij a prekidnog programa.
Razmak između pojedinih adresa grananj a pomoću instrukcije RST n iznosi osam bajtova, tako da je instrukcij a RST poziv za j edan od osam 8-bajtnih potprograma smještenih na memorijskim lokacij ama OOOO , 0008, 0010, 00 1 8 , 0020 , 0028 , 0030 ili 0038 (heksadekadno ) . Instrukcij a RST n upotreblj ava se u programima za pozivanje potprograma . l
Sabirnica podataka je D7 prenosi
taka DO do
vreme nski multipliksira n a : linijama poda se informacij a o statusu mikroprocesora.
Naprednije arhitekture mikroprocesora
140
Sl. 7.3. Izvođenje instrukcije
,-----------
A
RST
n
B,C
D,E
H,L SP
pp
qq
PC
mm
PS S Z e A e -'--=--=-: .::. --= :... --=--,----I
IR
I < < < l
l
l
l
rnm+ 1
pp qq- 2
I-----�
ppqq- l
mm
1 ....:1_---1 m m m m x x -=1--=_�
+-__l -=l� x
OOOO OOOOOO< xxOOO •
U sl učaj u pribavlj anj a I nstrukeljskog k a d a l l xx x l l l j , ul aznog s k l opa u stroj nom ciklusu potvrde prekida (jNTA ; l, M l; l , RI/WO; l , MEMR ; O ) Interna logi k a mikroprocesora o nemoguća va povećanje programskog braj U a.
Povratak iz prekidnog programa II prekinuti program izvodi se pomoću instrukcije vraćanja iz potprograma RET (Return from Subrotine), Zbog toga prekidni program kod Intela 8080 možemo smatrati sklopov skim pozivom programa, Umj esto pojave instrukcije za poziv potprograma u programu , ovdje sklop generira tu instrukciju .
Slika 7 . 4 prikazuje j ednostavnu izvedbu sklopa koji na sabirnicu podataka postavlj a kod instrukcije RST U postupku potvrde prekida izvođenjem instrukcije
5,
RST mikroprocesor pohranjuje II stog samo sadržaj programskog brojila .Zbog toga se na početku prekid nog programa moraj u sačuvati tekući sadržaji radnih registara.
PUSH PSW }
Pohranjivanj e sadržaj a radnih registara
PUSH H PUSH D PUSH B
(uslužni dio prekidnog programa) POP B P OP D POP H
POP PSW
El
RET
}
Obnavljanje sadržaj a radnih registara
ppqq
1----1
m m mm + l mmmm+2
Instrukcij a PUSH pohranjuj e par registara, npr. PUSH PSW pohranj uje registar uvjeta i akumulator A, Instrukcij a PUSH H pohranjuje registre H i L
Na kraju prekidnog programa moraj u se sadržaj i registara obnoviti . Obratimo pažnju na to da se registri obnavlj aju obrnutim redom od onoga kojim su pohranj eni , To je zbog toga što su sadržaji bili pohranjeni u stogu struktura LIFO !).
Instrukcija El omogućava nove prekide , ali tek nakon izvođenj a sljedeće instrukcije (u našem slu čaj u instrukcije RET) . Na taj se način omogućuje vraćanje iz prekidnog programa prije nego novi prekid bude omogućen. Instrukcij a RET uzima povratnu adresu (sadržaj programskog brojila prekinutog programa) sa stoga i smješta je u programsko brojilo. Mikroračunalo na bazi mikroprocesora Intel 8080 može imati prekidni sustav organiziran u više razina. Organizacij a se takva sustava može ostvariti kombi nacijom ,prioritetnog kodera i ulaznih vrata. Slika 7.5 prikazuje organizaciju prekidnQg sustava' s 8 razina pre.�da, �d su dva ili više ulaza prioritet nog kode�IO dQ.J7 aktivni (zahtjev za prekid ) , on na izlaze AO do A2 pos!!!,vlja kod najvišegi!...(prisut nog) Ulaznog prioriteta (17 najviši prioritet, JO najniži prioritet). Izlaz GS postaje akti�n ka4-bude aktivan ("nisko,:L bilo koji od ulaza JO do 17. Invertirani signal GS može poslužiti kao signal zahtjeva za prekid mikroprocesoru (INT) .
Prek idni sustav mikroprocesora
D D
7
141
Sl. 7. 4. Izvedba sklopa za postavlJanJe kada instrukcije RST n na sabirnicu podataka (RST 5)
r - - - - -I
Izlazi iz prioritetnog kodera AO do A2 s ostalim "čvrsto" definiranim ul azima u zaporni sklop obli kuj u kod instrukcije RST n . Osmo b;tni kad instruk cije postavlj a se na sabirnicu podataka u trenutku kad je aktivan INTA • DBIN.
6
D5 -"
0
D
� "E !:l
:o
O D
D
Prekidni sustav mikr oprocesora može ima ti razine prekida određene lančanim saobraćanj em (engl. daisy chai ning) . U organizira n om sustavu uzročnici pre kida koj i su svi priključeni na j ednu liniju z ahtj eva za prekid lančano su priključeni i na liniju potvrde prekida. Svaki uređaj (osim zadnjega) ima intern!! logiku koj a omogućuje prihvaćanje signala potvrde prekida i njegova slanja idućem sklopu u lancu ako uređaj nije uzročnik prekida . Uzročnik prekida ne prosij ectuj e dalje signal potvrde prekida , već mikro procesoru šalj e svoj identifikacijski kod, odnosno svoj specifični kod n u instrukciji RST.
4
3
2 I
Slika 7 . 6 prikazuj e postupak određivanj a prioriteta lančal1im saobraćanj em.
O
INTA
L
_
_
Mi kr op r ocesor Intel 8080
I _ ...J
upravlj anje prekidom : +SV
D7 D D D D D D D
6
I'
priori tetni kader ( npr. 74 1 48)
D
t---Ir-....., A"2
S
f---+--I A1
1--�_+_---1 AD
3 2 I O
INT
Organizacija prekidnog suslava s 8 razina prekida
za
El - koj a omoguću je prekid (interni bista bil INTE postavlj a u l) ,
B-bi tni zaporni sklop
SI. 7.5.
ima dvij e instr u k cije
DBIN
DE
G
D
---<
�
ITl n
12 i3
i4
iS
i6
f7
... �
sabirnica podataka
m ikro
T
TA
, --
v
cc
L
-
Rsr N
- - - --,
-
uređaj I _
_
Rsr N3
Rsr N2
I
�
1- - - - - -
1- - - - -
uredaj 2 L
_ _
_
_
_
_ _ _
_
_
_
I
L
uređaj _ .
_
-I
<: {3 �
J
_
_ _ _ _
-.-l
fi-
...:=: : " '"
:;.
�. ""
� :I
;::
SI. 7. 6.
Određivanje prioriteta lančanim sao/Jraćanjem
� � (3
�i:l
143
Prekidni sustav mikroprocesora
DI - koj a onemogućuj e prekid
(INTE
->
O) .
Mikroprocesor Intel 8080 ima posebnu ulaznu liniju RESET koj a se upotreblj ava prilikom upućivanj a
je) ima značaj ke koj e će se u dotj eranijem obliku upotreblj avati u n apredniji m 8-
mikroprocesora u rad nakon priklj učenj a napaj anj a . radnih registara nakon priključivan j a napaj anj a su Upućivanjem
nj em ule.zne linije
mikroprocesora
RESET
u
postavlj a
logičko stanje 1 , u
rad
od
memorijske
karakterističan strojn i ciklus - ciklus potvrde
o
pohranj ivanj e programskog brojila u stog, , preteču vektorskog broj a ili vektora za identifi
kaciju uzročnika i pobliže određivanje prekidnog programa .
nj a , briše se slučaj ni sadržaj programskog brojila pa započinje
32-bitnim
o
o
trajanju od n aj manje tri impulsa vremenskog vođe program
i
prekida ,
Sadržaj programskog broj ila , kazala stoga i drugih slučaj n i .
, 1 6-
arhitekturama procesora :
lokacije
OOOOH '
Iako relativno j ednostavan , prekidni sustav mikro procesora Intel 8080 (mikroprocesora prve generaci-
<
da li j e tekuća instrukci j a z a vr�e n a ?
ne
da
<
da li j e prek l dna maska ( b i t pre k i da ) postavljena?
nastavi s izvođenj em slj edeće i nstrukci j e tekuteg pr o g r ama
da
ne pohrani sadržaj p rogram5kog broj i l a (PC) indek sn o g registra (IX\ a k u mul atora ( A ) , akumul a. tora (B) i registra uvl e lil ( C C R ) u stog
SP-7 SP-6
CCR
SP-5
ACC B
SP-4
ACC A
SP- 3
rXH
SP-2 SP- I
memorijskih lo�?cij a (FFF8)- PC H (FFF9 ) - PC L
Sl. 7.7. Prekidni slijed za
IRQ(MC 68VO)
granaj na prekidni program odr e d e n s PC
SP
kazalo stoga
'
napuni PC sa s adr ž aj e m
f---
SP
!XL
peH pel
-
sto g
H
-
označava značaj nij l bai t
L
-
označava m anj e značaj ni baj t
144
Naprednije arhileklUre mikTopmr{'Sora
7.4. Organizacija prekidnog sustava s automatskim pohranjivanjem sadržaj a radnih registara - mikroprocesor MC 6800
adresa
Osmobitni mikroQrocesor MC 6800 ima dvije pre kidne li nije : IRQ i NMI2. Li n ij a IRO (Interrupt Request) obično se a k ti v ira UlI međusklopovima (n p r . PIA , ACIA) ili sklopovima koj e projektiraj u korisnici. Postavljanjem li n ij e IRO u logičku ° akti vira se zahtj e v . Slika 7.7 p rikazuj e prekidni slij ed pri aktiviranj u li n ij e IRO . zahtj eva z a pr e k i d (IRO O) , koj i j e asinkr'on s o bzirom na rad mikroprocesora, mikro procesor po slije završetka tekuće instrukcije ispituje p r e kidn u masku (zastavicu I) u re g is tru uvjeta ( s ta t u sa) CCR. Ako je zastavica I postavljena u 1 , prekid je ove razine maskiran , tj . o n e mog u ćen . Procesor će u to m slučaju nastaviti izvođenj e slj edeće instrukcij e tekuće g programa. Ako je zastavica I 0 , mikro procesor će p rihv at iti zahtjev za pr e ki d i automatski pohraniti s a drž aj e radnih re gi st a ra (PC, IX , ACC A , ACC B , CCR) u memoriju n a l o k acij e koje su određene sadržajem kaz a l a stoga . Sadržaj k az a l a stoga bit će nakon poh r anj iv a nj a sa d ržaj a radnih regi st a r a umanjen za sedam. Postupak pohranj ivanj a traje sedam stroj nih ciklusa upisivanj a : po dv a za pohranjivanje sadržaj a p rogr a msk og b r oj il a i i nde k snog registra, a po j edan za a k u mulator A, aku mula tor B , te re g istar uvjeta CCR. N ak o n toga mikropro ceso r automatski postavlja p reki d nu zastavicu I u Nakon
=
za
FF FF
autovek t o r
FFFE
RESET
FFFD
auto'le k t o r za
FFFC
NMI
FFFB
autove k t o r
FFFA
za S W I
FFF9
a u t ovek tor
za
FFFB
IRQ
=
jedan .
Postavlj anj e prek i dn e maske važna je operacij a u organizaciji p r ek i dnog sustava. Postavlj anjem m ask e procesor se "štiti" od novih z ahtj e va za prekid iste razine.
6800 , z a r azl i k u o d Int e l a 8080 , ne očekuje od uzročnika prekida postavlj anj e vek to ra na sabirnicu podataka. Umjesto toga , pre ki d ima svoj u vlastitu a d resu prekidnog vektora , odno sno autove ktora. Mikroproceso r , n a kon postavljanja p re k id n e maske , automa tski šalj e na adresnu sabir nicu adresu FFF8 i postavlja upravlj ačku liniju RIW u l , te s izabrane lo k acij e pribavlja značaj nij i baj t nove vrij ednosti pr o g r a ms k og broj ila. Taj značajnij i bajt pre d s t avlj a značaj niji bajt autovektora k oj i o d r e đ uj e poče t n u ad res u p rekidno g programa. po slij e toga sl ij e di adresa FFF9 i pribavljanje manj e značajnog bajta autovektor a . Slika 7 . 8 prikazuje autovektore za prekidni sustav mikroprocesora MC 6800. Pod autovektorom se razumij eva vektor što ga automatski p r i b avlj a procesor s unaprij e d definiranih m e mo rij s k i h lokacij a . Mi k r oproce so r M C
Mikroprocesor M C 6800 vraća se i z prekidnog pr o grama iz v o đe nje m instrukcije RTl (Return from Interrupt) . Ona o b n avlj a sadržaje radnih registara
oooo
SI.
7. B. Au/ovekto,; za MC 6800
tako da sa sedam vršnih lokacij a stoga smj ešta s ad rž aj e u registre .
ins tru kcij o m CLI ( Cle ar Interrupt Ma sk) ili onemogućava in stru kcij o m
Prekid se ove razine o mogućava
prekid NMI ( N on m a s k a b l e I n t e rru p t ) prekid je više razine i ne može se maskirati : nezavi sno od stanj a zastavice I p r eki d će biti po s l u že n nakon završetka te kuće i n s trukcij e . Slika 7 . 9 pr i k a zuje slijed za NM! . Adresa autovektora je sada FFF C i FFFD . SEI (Set
Interrupt Mas k ) .
Nem askiraj ući
Mikroprocesor MC 6800 i m a i programski pre k i d koj i se i zaz i v a instrukcijom S W I . Ova vrsta p re k i d a predstavlja p r e t eču z am ki u n apre d n iji m arhitektu rama procesora. Prekid se događa kad mikroprocesor u nizu instru kcija "naiđe" na instrukcij u SWI (Sof tw are Interrupt) . Programski p r e k i d izazvan instruk cijom SWI sliča n je prekidu NMI . Autovektor se p rib avlj a s memorijskih l o k a cij a FFFA i FFFB . Slika 7 . 10 pri kazu j e prekidni slijed za SW I . Razina j e pre ki da SWI između r a z in e p r e ki d a NMI i IRO .
1 Proizvodač Motorola obično navodi i treću prekidnu linij u RESET kOJ a j e namij enjena za upućivanj e procesora u radu.
145
Prekidni sustav mikroprocesora
i nstrukcij a
S WJ ..
da li j e tekuća i n s t r u k c i j a
nizu
poh rani sadržal program
ne
z avršena
u
instrukcij a teku ćeg programa
skog brojila (pc ) indek
(iX\
aku snog registra m u l atora (A), akumulato ra ( B ) i r e s t r a uvj eta (CCR) u stog
gi
da p o h r a n i sadržaj r r o g r a m s k o g broj i l a (PC , i ndek snog r e g i s t r a ( I x , a k u m u latora ( A ) , akumulatora (B) i regi s t r a uvj eta
(CCR )
u stog
PC sa sadržaj em memorij s k i h lok acij a
napuni
(FFFA )- PC H (FFFB ) - PC L
n a p u n i PC sa sadr ž a j e m
memorijskih
l o k ac i j a
g r anaj na prekidni program od r e d e n s PC
(FFF C ) - PC H
(FFFD) - PC L
SI.
SI. 7. 10.
Mikr QJ2!9cesor , nakon prihvaćanj a m a s kiraj u ćeg pre
gr a n aj na prek i dn i p r o g r a m o d r eden s P C
7. 9.
kida INT, odgovar a ovako : o onemogućava pre kidni sustav brisanjem b i sta
Prekidni slijed za NMl (MC 6800)
7 . 5 . Prekidni sustav osmobitnog
bila IFF! ,
arhitekture - mikroprocesor Z-SO
Mikroprocesor Z-80 ima dvije p re k idn e
i
l nij e : NMI
INT. Prekid zahtij evan li n ijo m INT je maskirajući i omogućava se (ili onemogućava) pomoću p rogr am ski upravljivog bistabila IFF! ( ako je bistabil reseti ran prekid j e onemogućen) . i
Ins t rukcij a DI resetira bistabil i o ne m oguća v a pre k i d . Instrukcija lliostavlja bistabil i time omogu ćava prekid tipa INT.
i j ući
p rekid NMI se ne
može maskirati -
m i kr oprocesor z ad nj im bri dom sign a la na ulazu NMI (p rijel az ;z l o gi č ke jedinice u nulu) pri hv ać a prekid,
nakon završe tka t e k uće
instrukcije .
o i zvo di se posebni stroj ni cikl u s potvrde p re k ida koji ima sljedeće z na čaj ke : si gnal je Ml aktivan , sig nal je MREQ (zahtj ev za m emorij u ) neaktivan , signal je JQRQ (ulazno-izlazni zahtjev) aktivan , . sig nal je RD također aktivan .
•
mikroprocesora naprednije
N e ma s k ra
Prekidni slijed za SWI (MC 68')0)
Ta k vo
stan
je
j
na u p rav lj a čk o
sabirnici odgovara
mem orije ! ) Sadržaj se dalj e tumači prema rukovanj a prekid om .
operaciji smještanj a podataka (ali ne iz
n a sab irn i cu p odat aka . izabranom načinu
Z-80 n em a signala p otvrd e pre ki da on se ovdj e dobiva kao komb i n acij a si gnal a IORQ.
Mikroprocesor
INTA Ml i
-
Mikroprocesor Z-80 na tri nači n a :
ru k uje
maskiraj ućim pre k idom
Način O : ovaj je način potpu n o jednak ru kovanj u pre k idom koji je op i san za m i k roproce s or Intel 8080A. Kad se d o godi p re k i d , u zro č nik pre ki d a
(uređaj ili međusklop) pos tavlj a na sabirnicu p oda k a kod i ns trukcije RST n, gdj e n određuj e j e dn u od osam adresa prekidnih programa (s1. 7. 1 1) . ta
Naprednije arhitekture mikroprocesora
146
adresa 'Vektor:
'Jektor i smješteni bilo u memorij i
gdje
(tRV), vektorski brllj
· · ·
}
t ablica prekidnih 'Vektora ( način
2)
0066
NM! prek i d
· ·
·
R S T 3BH
0038
·
}
nač i n l
·
0030
0028
RST 30H
RST 28H
-�-
Uzročni k pre k i d a pos t avlj a na sabirnicu podataka 8-bitni vektorski broj , N aj ma nj e značajni bit ve ktor skog broj a uvijek se post av lj a na O (nulu) , Pomoću sadržaja re gi st a r a pre ki d n og vektora IVR (koji je sastavna kom po nenta progra m s kog modela mikro- _ procesora ) i v e k torskog b roj a dobiva se 16·bitno kazalo ( a d re sa) koj e po kazuj e mem o rij sk u lo kacij u gdj e j e smješte n manje zn ačaj ni b aj t 16-bitnog vekto ra, Vektor sc (še sn aes tobi t na adresa p reki d nog pro- gr a m a) prenosi u programsko b roj i lo i lime se odre đuje adresa prve instrukcije prekidnog progr a m a , Slika 7 , 12 pri k azuje postupak ob l i k o v a nj a vektora , Način 2 dopušta oblikovanje t a b l i c e · stranice od 128 p rek i d ni h vektora, Stranica se može s mj e s t i t i bilo gdje u raspoloživoj m em o rij i , Mjesto je stranice preki4nih v e kto ra u memo r ij i određeno sadržaj em registara pre ki dn og vektora, �rije upotrebe p r ek i d nog načina 2 pr ogr am e r mora definirati s a d rž aj
registra IV R :
0020
LD A,OlH ;
RST 20H Mačin O
·
00 1 8
RST
RST ·
·
OBH
·
OOOO
·
--
RST OOH
I.
I
baj t
Sl, 7, J[, Memorijske lokacije koje se upotrebljaVal" sustavu mikroprocesora Z·80
u prekidnom
Način 1 : u ovom n ačinu mikroprocesor autom atski ,
bez unosa p o d ataka sa sabirnice za vrijeme st r oj nog ciklusa p o tvrd e prekida, izvodi op e racij u koja odgo vara instrukciji RST 38R. To znači d a se pohranjuje prog ramsk o brojilo u stog i da se program grana na pre kid ni program na memorijskoj lo k aciji 0038H (sL7. 1 1 ) .
Način 2 : ovaj način ima sve značajke prekidno g sustava naprednijih arh itektura . Mikroprocesor u p re k i dno m načinu 2 odgovara na preki d sa sljedećim
akc ijama : o o n emo gu ć ava nove prekide br isanj e m bistabila IFFl i IFF2 , o pohranjuje vrije d n o st prog ra m s k og brojila u stog,
m i k roproc e s o r s e v r a ća
i ns
n,
Nemaskirajući prekid NMI više j e razinc p r i oritet a, Kad se dogodi n e m a skir aj u ći pre k i d , mikroprocesor onemogućava sve d ru ge prekide (hriše IFF1), ali tako da st aro stanje b istab i la TFFI poh r a nj uj e u · b is t abil IFF2,
·
RST
akumulator adresu stranice
Prekidni način programer izabire in s tr u kcij om IM gd j e je n = O, l ili 2 i odgovara načinu,
1 0H
·
0008
u n esi u
pohrani je u registar p r e k i d n o g ve k·
Iz pre ki d n o g p rogram a tru kcij o m RET!.
I BH
·
·
00 1 0
LD I , A tora ,
Umj esto pribwlj anj a slj edeće i ns t r ukcij e iz tekuće g p ro gra m a mik roproce so r izvodi instrukciju Restart automatski p oh ra n j uje u stog sadržaj programskog b roj i l a i gra n a se na memo rij s ku lokaci j u s ad reso m 0066H (sl . 7 , J l ) ) � N a 0066H nalaZI s e prva instrukcij a p rekidnog programa , Povratak sc iz p re k id n og pro grama izvodi, u slučaj u nemaskiraj ućeg p r e kid a , instrukcijom RETN,
Instrukcija se izv od i tako da s vrha stoga uzima dva baj ta i s mj eš ta ih u progr a m sko brojilo (povratn a a d resa) , Kazalo stoga se pri to m po većava za d va ,
Izvođenj em i n stru kcij e RETN ob n a v lj aj u s e i stanj a pr e ki d n e l ogik e (IFFI , IFF2) i do vode u st anj e koj e je bilo p rij e p ojav e nemaskiraj ućcg prekida.
7.6. Prekidni sustav 16-bitnog mikroprocesora INTEL 8086 Mikroprocesor Intel 8086 ima dvij e v rs te prek ida : sk lopovski i programski . P ro gram sk i se prekidi izazi vaj u izravno in3trukcijom INT ili neizravno (npr . p o kuš aj d ij elj enj a nulom).
147
Prekidni sustav mikroprocesora B - b i tni vektorski broj dobi v en pomoću vanj s k i h sklopova ( u fazi potvrde prekida po stavlj en na sabirnicu poda t ak a )
B-bitni registar preki dnog v e k t o r a lVR
bO
1 6 -bitno kazalo
Sl.
7. 12. Pribavljanje prekidnog vektora za prekidni način 2 (Z-BO)
intel BOB6
------
OOOO
tabl i c a
(kaza l a )
vektora
ES CS SS
(lP)
DS
s ad r ž aj (CS)
lP
4'N
4*N+2
kazal o prekida z a tip N
- ( SS)
status r e gistar
stari sa_dt:žaj (lP) stari
sadržaj (CS)
stari sadržaj (PSW)
Sl. 7.13.
Prekidni slijed z a I6-bitni mikroprocesor Intel
8086
�.
novi
vrh stoga
148
Naprednije arhitekture mikroprocesora
Sklop o vski se prekid izaziva vanj sko m logikom ili uređaj em, a može b iti maskirajući i nemaskirajući .
Progr amski ili sklop ov ski prekidi imaju za poslj e d i cu prijenos u pr av lj a nj a na novu programsku lokaciju . O n a s e određuje pomoću tablice v ek tora koj a se n alazi na lokacijama od OOOO do 03FF. Tab lic a ima 256 elemenata i svaki se el eme nt (naziva se p re ki d n o ka zalo ) sastoji od dvij u 16-bitnih a dre s a (4 baj ta) od kojih se jedna puni u registar k odn og segmenta (CS ) , a d r u g a u kazalo instrukcije (lP) . Prekidni slij ed za I n te l 8086 p rik azu j e slika 7 . 1 3 . A k o su u vje ti za p ri hvaćanj e prekida ispunj eni (od go v ar aj u će zastavice postavljene) i nakon što se završi t e k uć a instrukcij a , sadržaji status-registara,
registara ko d no g segmenta i kazala instrukcij e pohra nj uj u se u stog. Novi sa d rž aj kazala instrukcij e i re gis tra kodn og segmenta koji su adresirani u ta b lici vektora smještaju s e u k aza l o instru kcij e i regi st ar kodnog segmenta. Zastavice IF (Interrupt-enable flag) i TF (Trap fl ag ) brišu se . S vak a vr st a p r ek i d a ima oznaku (tip preki d a ) od O do 255 . Adresa pre kidno g kazala se dobiva množenjem adresa
tablica
prek i dnih
3FE
CS 255
3FC
lP 255
kazala
l}
I
32
B2
CS
80
lP 32
7E
CS
7C
lP 31
16
CS
31
12
CS 4
10
lP 4
OE
CS 3
ac
lP 3
DA
CS 2
OB
lP
U6
CS l
2
04
lP
02
CS O
OO
��
2
>
j ..
� �
1<
1 -<
"
,,,, ,"'
,." k
idn o
k az a o
32
status-registru
(instrukcij a CLI) .
Ulaz INTR , k oj i a kt i v i r a v a nj sk i logički sklop postav lj a n j e m logičke j e d ini ce , interno j e sinkroniziran prednj im bridom sign a l a vremenskog vođe nj a . Da bi zahtj ev za p re ki d bio prihvaćen p rij e izvođenj a slje deće instrukcije , mora INTR biti ak ti va n za vrijeme perioUa signala v r em e n sk o g vođenj a koj i pre thodi kraju t e k uće inst rukcij e (j asno, zastavica za omogu ćav a nj e p rekid a mora biti po s t av lj e n a u l ) . Potvrda prekida traj e d v a s t roj n a cikl usa ( sv aki s e od njih s a st o j i od četiri s t anj a , sl . 7 . 1 S ) . Z a vrij eme p rvo g stroj nog (sabirničkog) ciklusa mI kroprocesor postavlja adresnu sabirnicu i sabirnicu
l
preki dno k az a l o
5 prek ; dn� k azalo 4 (rf>zervi r ano za preliv , i rist r uk ciju INTe )
preki dno k a z a l o 3 ( rezerv i r ann z a j ecno
b�i t n u instrukci j u INT) prekirlr o k a z a l o 2 ( relervirano za neM2S
ki raj ući prek[ d NM! )
k a
preki dne az l o l ( rezervi raliQ za izvodenj e k o r a k - pa - k orak ,
I
b--,aj t a
mask i r aj ući p reki d . Mikroprocesor ima linij u zahtjeva za p r e kid INTR . Ona može biti programski maskirana b r is a nj e m zastavice za omogu ća v a nj e p re ki d a IF (engl . interrupt-enable fl a g ) u
31
�
lP O
__
O pi š i m o
j ednu
W'''"" ,,,.k (vektor ) 2 5 5
p rek
5
lP 5
14
�
oznake sa četiri. Npr. ako je oznaka ili ti p pre kida 8, prekidno će se kazalo nal aziti n a adresama 0020, 0021 , 0022 , 0023 (heksadekadno) . Sl ik a 7 . 14 prik a zuje tablicu prekidnih k a za l a (tablicu preki dn i h vek tora) za Intel 8086.
--l
p r e k i dno
kazalo
sIngle-step)
O
( r ezervi rano za d i j e l j enj e
5 nu l o m )
SI. 7. 1 4. Tablica prekidnih
kazala (prekidnih vektora) za lntel8086
1 49
Prekidni sustav mikroprocesora
SI. 7.15. Sabirnički ciklus potvrde prekida za 1nlel 8086
..1-c
prvi sabirni č k i ciklus potvrde pr=ekc:.. id :.a_ .:: __
drugi sabi rnički c i k l us po i.vrde prekida
CLK
ALE
l)
LOCK
A 0 7 -A D O
l) podataka
u
--------�--�� vektorski broj
samo u m a ks i m alnoj kon f i gu r a c i j i
stanj e visoke impedanci� aktivira
maskiraj ućih prekida i interni prekid izvođenj a ins
signal potvrde prekida INTA . Signal INTA aktivan
Nakon toga pohranjuje sadržaje registara CS i lP u
je u stanj ima od 1'2 do T4 .
U načinu rada male konfiguracij e' (minimum mode) , u kojoj se sustav sastoji od j ednog procesora i nekoliko uređaj a i u kojem'yrocesor sam generira sve '!!p r�a ignale (DT/R , DEN , ALE , MlIO ili lO/M , RD ,
� WR
ili INTA ,
HOLD,
HLDA) , mikro
procesor neće prepoznati zahtjev HOLD od drugog
vodećeg uređaj a wc dok sc potpuno ne završi slije d koji odgovara potvrdi prekida. U maksimalno.i!Qnfi guraciji (način rada kad je pri klj učak MN/MX na
OV) s a sabirničkim upravlj ačkim sklopom Intel 8788 kao sučelj e m za sabirnicu Multibus (podržava više procesorski sustav) , mikroprocesor će aktivirati sig nal LOCK u stanju T2 prvog sabirničkog ci klusa potvrde .
Signal LOCK ostaj e aktivan sve do stanj a T 2 drugog
sabirničkog ciklusa potvrde . Signal LOCK označava svim sabirničkim arbitrima (Intel 8289) u sustavu da
sabirnici ne može pristupiti nijedan drugi proce sor .Za vrijeme drugog sabirničkog ciklusa procesor
ponovo aktivira signal INTA. Kao odgovor na drugi
signal INTA vanjska prekidna logika (npr. progra mabilan prekidni upravlj ački sklop PIC Intel 8259) smješta baj t n a sabirnicu podataka . Taj b aj t n a sabirnici podataka označava izvor prekida i predstav
lj a vektorski broj , oznaku ili tip prekida .
Mikroprocesor čita t a j baj t , množi ga s a četiri , a dobivena vrij ed nost služi kao kazalo koje predstavlj a adresu u tablici prekidnih kazala , odnosno vektora. Prije pozivanj a prekidnog programa mikroprocesor pohranj uj e stanje status-registra u stog. Nakon toga kida i zastavicu T (trap) p a tako sprečava gnij ežđenje
mikroprocesor briše zastavicu za omogućavanje pre
trukcije korak po korak.
stog. Iz tablice prekidnih kaza la puni nove sadržaj e registara C S i l P . Slika 7 . 1 6 prikazuje dij agram toka za slijed obrade prekida za Intel 8086 .
Opisani prekid ni slijed za vanj ski maskirajući prekid zahtijeva 61 periodu signala vremenskog vođenj a .
7.7. Obrada iznimaka mikroprocesor MC 68000 Za mikroračunalske sustave na bazi mikroprocesora MC 68000 , tvrtka Motorola definirala je koncepciju
obrade
iznimaka
(engl . exception
processing) .
Obrada iznimke o mogućava prij enos upravlj anja s programa koj i se izvodi na nadgledni program . Iz nimke se mogu podijeliti na one koje imaju vanjske uzroke i one koj e su izazvane unutrašnj im stanje m
procesora . Iznimke izazvane vanj skim događaj i ma jesu : D
D
preki d , pogreška na sabirnici ,
D reset . Iznimke koje su izvori stanj a procesora j esu :
D ilegalne instrukcij e - instru kcije s operacijskim kodom koj i nije definiran za MC 68000 ,
l Način rada u minimalnoj konfiguraciji izabire se postavljanj em priključaka MNIMX na + 5 v.
interni (programski prekid?
da
>---__________________,
ne
NM! ?
da
ne
TEMP?
Sl. 7.16. Dijagram toka za prekidni susta>' Inlel 8086
151
Prekidni sustav mikroprocesora
A l O A9 AS A7 A 6 A 5 2 4- bi t na
SI. 7. 1 7.
adresa vek tora iznimke
Oblikovanje adrese vekrora iznimke (MC 68000)
neugrađene instrukcije - instrukcije koj e započi nj u kodom 1010 ili 1 1 1 1 , D pokušaj izvođenja privilegirane instrukcije u korisničkom načinu , D praćenj e - zastavica T postavlj ena u 1 , D pogreška adrese - pokušaj pristupa rij eči na neparnoj adresi , o dij elj enje nulom, o instrukcije TRAP , TRAPV, CHK. o
Obrada iznimke, općenito , može �e prikazati u četiri koraka : 1 . korak
Status-registar SR interno se pohranjuj e u privremeni registar. U status-registru postavlj aju se zastavice II . stanj e koje odgovara obradi iznimke : S -> 1, T -> O.
iznimke izazvane interno procesor sam generira vek torski broj . Mikroprocesor MC 68000 na sljedeći način pretvara vektorski broj u 24-bitnu adresu lokacije na kojoj se nalazi vektor iznimke (s1 . 7 . 17) : Osmobitni vektorski broj množi se sa četiri4 i svi značaj niji bitovi adrese (od A l O do A23) dobivaj u vrij ednost O . Vektor iznimke određuje lokaciju prve instrukcij e uslužnog programa koji odgovara toj vrsti iznimke . Slika 7 . 1 8 prikazuj e format vektora iznimke . On se sastoji od dviju riječi (riječ je duljine 16 bita) : D Rij eč na nižoj adresi sadrži značajnijih 16 bita vektora iznimke (novog sadržaj a programskog bro
jila) ,
o Riječ na višoj adresi sadrži manje značajnih 16 bita vektora iznimke (novog sadržaj a programskog broj ila) . Obratite pažnju na to da se riječi nalaze obavezno na parnim adresama (bit AO O !) .
2. 'korak
Utvrđuje se vektorski broj iznimke, odnosno vektor iznimke . Vektorsk{ broj iznimke , prema vrsti iznim ke , dobiva se od vanj skog uređaj a ili se generira interno .
3. korak
Pohranj uje se sadržaj programskog brojila PC i sadržaj interno pohranj enog status-registra SR (iz l . koraka) .
4. korak
Na temelju vektorskog broj a iznimke i tablice vek tora iznimaka određuje se novi sadržaj programskog brojila PC i procesor nastavlja izvođenje prve i ns trukcije iznimke. Svakoj funkciji iznimke j ednoznačno je dodijeljen vektorski broj . Vektorski broj , u slučaju vanjskog prekida, daj e vanj ski uređaj - uzročnik prekida. Za
rij eč O rij eč I
A4 A 3 A Z: AI AO
znač aj n i j i h
1 6-bita
=
Vektori iznimaka s u pohranjeni u dijelu memorije mikroračunala koji se naziva tablica vektora iznima ka. Tablica sadrži 256 vektora koj i su označeni broj evima od O do 255 . Tablica se mora nalaziti u adresnom prostoru od OOOOOOH do 0OO3FFH, odnosno tablica zauzima prva 1024 bajta, odnosno 512 riječi memorije . Svi vektori , osim vektora O, nalaze se u nadglednoj memoriji podataka koja je određena stanjem linij a FCO do FC2 : FCO
=
1,
FC l
O i FC2
=
1.
Također, svi vektori iznimaka, osim vektora iznimke O, sastoje se od dviju riječi (51.7 . 18) .
Vektor iznimke O dodij elj en je funkciji sklopovskog upućivanj a mikroprocesora (rese t) i nalazi se u nad4
Mn oženje sa četiri odgovara posmaku ulijevo za dva mjesta
vektora iznimke
manje značaj nih l b-bita vektora iznimke
SI. 7. 1B.
=
Format vektora iznimke (MC
68{)()())
AO=O, A I = O
AO=O. A I = I
Naprednije arhitekture
152
gdje j e 80H početna adresa vektora iznimke koji odgovara instrukciji TRAP O .
glednoj programskoj memoriji . Za razliku od ostalih vektora, vektora O ima, osim nove vrijednosti pro gramskog brojila , dvije dodatne riječi koj e određuju početnu vrijednost nadglednog kazala stoga (SSP) . Slika 7 . 19 prikazuj e tablicu vektora iznimaka.
Npr. z a instrukciju TRAP *5 adresa je vektora iznimke : 80H + 4 x
Pokažimo primjer upotrebe tablice vektora iznimaka u slučaj u internog uzroka iznimke izazvane instrukci jom TRAP. Instrukcij a TRAP * izaziva obradu iznimke . Prvo pohranjuje sadržaj program skog brojila i status-registra u nadgledni stog, a nakon toga započinj e obradu instrukcijom na adresi koj a se dobiva pomoću vrijednosti . Vri j ednost za je cijeli broj od O do 1 5 . Adresa vektora iznimke dobiva se na slj edeći način : adresa vektora iznimke
vektorski broj
=
80 + 4 •
adresa vek tora i zni m k e (heksadek . )
5
80H + 14H
=
OOOO
0010 0 1 0 l .
OOOO
1001 0 1 00
=
94H ·
Obrada iznimke izazvane instrukcij om TRAP *5 započinje sadržajem programskog brojila koj i j e odreiilen sa :
,
m e m o r ij sk o g p ros t o r a vrsta
namjena
000
NP
RESET: početna vrije dnost
004
NP
RESET: početna vrij e dnost PC
2
008
NO
gre§ka na sabirnici
3
OOC
NO
adresna greška
4
010
NO
il egalna i nstrukcij a
5
014
NO
dij elj enj e s O
6
018
NO
i nstrukcij a CHK
7
OIC
02 0
NO NO
NO
024
SSP
instru'
1010
10
028
NO
neu građena instrukcija kod
II
02C
NO
neugr ađena instruk c i j a kod I I I I
1 2- 2 3
korisnič k i m vanj skim sklopovim a ni e dopuštena upotreba broj a v e k to r a 2-23
i
24
060
25
064
NO
nedodij eljeni prostor
-
rez e rvi r an
izj a l ovljeni prekid
NO
razina I
068
NO
razina 2 - p r e k i dni autovektor
06C
NO
r azina
28
070
NO
razina 4 - preki dni autovektor
29
074
30
078
31
07C
27
26
NO
- prekidni autovek tor
prekidni autovektor
-
prekidni autovek tor
NO
razina 7
-
preki dni autovektO!'
NO
instrukci j a TRAP n
48-63
oca
NO
OFF
-
1 00
NO
-
OBF
NP - nadgledna p rogramska m e m o rij a NO - nadgl edna memorij a podataka
razina 5
preki dni autovektor
-
080
3FF
3
-
razina 6
NO
32-47
64-255
094H.
Množenjem vektorskog broj a sa 4 dohivamo :
I
9
=
Do adrese vektora iznimke može se doći i ovako : za i nstrukciju TRAP *5 vektorski je broj 37 (vidi tablicu vektora iznimaka) , odnosno 25H :
O
B
mikroprocesora
nedodijeljeni prostor - reze rvi ran
korisnički prekidni vektori Sl. 7. 19. Tablica .ektora iznimaka
Prekidni sustav mikroprocesora
(PC)
<-
153
vektor iznimke ,
gdj e je vektor iznimke sadržaj tablice vektora izni maka na adresi
7.8. Obrada prekida za MC 68000 Zahtj ev za prekid koji postavlj a vanjski uređaj može se poj aviti u jednoj od sedam razina prioriteta . Razina zahtj eva određena je kombinacij om stanja na tri�rekidnim linij ama mikroprocesora 1PLO , 1PL 1 , 1PL2 . Zahtj ev razine l (1PLO O, 1PL1 1, 1PL2 lL!!aj niže je razine p'rioriteta , a zahtj ev razine 7 (1PLO O, 1PL1 ;= 0, 1PL2 O) najvišeg je razine prioriteta i predstavlj a zahtj ev za nemaski rajući rekid . Stanj a 1PLO 1 , 1PL1 l i 1PL2 l označavaj u razinu ° i podrazumijevaj u da ne postoji zahtj ev za preki d . =
=
=
=
=
=
=
=
Razine prioriteta dopuštaju da programske rutine koj e podužuju prekide niže razine budu prekinute prekidom više razine prioriteta. Tako je omogućeno gnij ežđenj e prekida . Za mikroprocesor MC 68000 prekid je vanj ski generiran zahtj ev za obradu iznim ke. Razina prekida određena je stanj em prekidnih zasta vica 10, II i 12 u status-registr.u. Trenutno stanj e zastavica 10, I I i 1 2 pokazuj e tekući prioritet . Prekidi su onemogućeni za sve razine manj e ili j ednake tekućem prioritetu . Tablica 7. 1 prikazuje stanje pre kidnih zastavica i razine onemogućeni!!...Ee kida . Razina prekida 7 (1PLO 0, 1PL1 O, 1PL2 O) =
=
=
nemaskirajući j e prekid i zato ne može biti onemogu ćen. Razine l do 6 su maskirajuće razine. Budući da zahtjev za prekid ne može biti trenutno posluže n (mora se završiti tekuća instrukcija i ) , zahtjev čeka (tzv . pending interrupt) . Ako je razina zahtjeva koji čeka niža ili j ednaka tekućerp. prioritetu, izvođenj e programa će se nastaviti slj edećom instrukcij om, a obrada prekida bit će odgođena. Zahtjev za prekid, može u zavisnosti od tekućeg stanja prekidnih zasta vica i procesora, biti troj ak : • aktivan zahtjev : obrađuj e sc odmah nakon za vršetka tekuće instrukcije , tj . ne postoji zahtj ev za obradu prekida ili iznimke više razine od nj egove , • neriješen zahtjev : procesor je upravo u toku obrade prekida (ili iznimke) više razine. Zahtj ev ove vrste bit će obrađen kad se posluži zahtjev višeg prioriteta , • onemogućen zahtjev : to je zahtj ev kojem j e razina takva da j e niža od razine definirane zastavi cama u status-registru . Zahtj ev ovog tipa bit će ignoriran sve dok se ne promij eni stanj e zastavica 10, I l i 12 (u skladu s pravilom iz tablice 7 . 1 ) . Važno j e napomenuti d a je z a procesor M C 68000 prekid u stvari , vanj ski gene�ran zahtj ev za obradu iznimke . Mikroprocesor MC 68000 odgovara na za htj ev za pre kid na slj edeći način : Ako je razina zahtjeva veća od razine postavlj ene prekidnim zastavicama, nakon završetka tekuće ins trukcij e prekid će biti obrađen u sljedećim koracima : l . Sadržaj status-registra se pohranjuje interno.
2. Zastavica S u status-registru se postavlj a u l 68000 prelazi u nadgledni način rada.
Tablica 7. 1 . Tekuće stanje zastavica l, l i I i razine omogućenih 'prekida 15
14
I'
12
10
I I
9
LlJ.�--,-_-,--_-,1_12-,--I_I_1 I
8
1 ���i���r
0-'--_--'--_-'----""--'--_--'--_-'----'_-' --'-1_
�
razine 1 - 6 ( 0 0 1 ; 0 1 0; 1 -6 1-5 1 -4
(00 1 ;
I
0 1 1;
1 00; 1 00;
(0 0 1 ; 0 1 0; 0 1 1 ; 1 00 )
1 - 3 (00 1 ; 1 -2
0 1 1 ; 1 00;
0 1 0; 0 1 1 ;
( 0 0 1 ; 0 1 0;
12
onemogućenih prekida 1 0 1 ; 1 1 0) 101;
101 )
I
1 1 0)
I
I
I
0 1 0; 0 1 1 )
O
( 00 1 ; 0 1 0)
(00 1 )
sve r a z i n e p r e k i d a
O
su
O
O
omogućene
( i , j , k ) označava stanj e na ulazima IPLG, IPL ! I
IPL 2
�
preki dne
zastavice II
I
I O
lO
1
O I
O
O
I
O
I
O
O
I
I
O
-
MC
154
poh:anj ilJanj e
sabi rnički cik lus
za..-ršetak tekuće
...
o t rde
i nstruk c i ' e
statusa i
rek i da
Naprednije arhitekture mikroprocesora
ro
signal vre menskog vodenj 21
A4-A2J
A I -A 3
R !Vi
I
I
K
I
08-0 1 5
..
I I
00-07
� # vektor :
FCO-FC 2 I PL O - I PL 2 n e m a z ahtj eva z a-.2! ek id
m
F CO�FC l �FC2� J
-
I
\
(lpLO-fPl2 o ! I l )
I
/
\
I SI. 7.20. Dijagram stanja na sabir:ni.ctuna za ciklusa potvrde prekida
p r ibav)j anj e vek to rsko g b r o ,; a
vrijeme sabirničkog
z ahtj ev z a
\l r e k i d
3, Zastavica pr ać e nj a T u status-registru se resetira onemogućava se fu nkcija praćenja , odno sno od l azak u iznimku koj a je prilagođena izvođ e nju programa instrukcij u po instrukcij u .
(T ...... O) i
4 . Prekidne zastavice 10, 11 i 12 pri m aj u vrijednost koj a odgovara vrijednosti razine prekida o dre đe n og na prekidnim li n ij ama IPLO, IPL 1 , i, IPL2. Na t aj način mikroprocesor o n e mo gućav a p re k ide niže ra zine od pre k ida koji je upravo prihvaćen .
(MC 68000)
5. Mikroptocesor
p re k id a U tom .
izvodi sabirnički ciklus' pot vrd e ciklusu obavljaju se
sabirničkom
pr o ceso r obaVještava vanjske uređaje d a j e pre određene razine upravo prihvaćen, o proceso r pribavlj a vektorski broj što ga u re daj ' uzročnik prekida p os t avlj a na sabirnicu p od ata k a Sabirnički ciklus potvrde prekida (sl. 7. 20) sličan je sabirničkom ciklusu čitan ja s I)ekoliko važnih
dvije važne funkcij e : o
kid
.
.
razlika :
l'rekidni sustav mikroprocesora
155
Adresne linije Al do A3 dobivaju vrijednost IPLO , IPU i IPL2. Na taj način vanjski uređaji mogu odrediti razinu prekida koji je up ravo prihvaćen. Adresne linije A4 d o A23
vira signal DTACK koj i se upotrebljava za sinkro
o
stanj a n a linij ama
imaj u vrij ednost I . o
Za vrij eme sabirničkog ciklusa potvrde prekida
linij.e se fimkcijskog koda FCO, FCl i FC2 postav lj aju u 1 1 1 . Njihovo se stanj e može se upotrijebiti
kao signal potvrde prekida . o
Uređaj koji je zahtijevao prekid odgovara pro
cesoru tako da smješta baj t
linije
sabirnice podataka
DO
(vektorski broj) na D7. Uređaj akti-
do
nizaciju prijenosa podataka (sabirnica
sora MC
68000
j e asinkrona ,
mikrop roce vidi 9. poglavlje).
6. S adr ž aj se programskog brojila P C smješta u nadgledni stog, a nadgledno se kaz al o s tog a um a . njuje za četiri .
7.
Sadržaj interno očuvanog status-registra
8.
Programsko
( l . korak)
smješta se u nadgledni stog , a nadgledno se kazalo stoga umanjuje za dva.
se
brojilo PC
puni sa
četiri bajta iz
odgovarajuće pozicije u tablici vektora iznimak a . koj i je zahtij evao prekid
uredaj p r o c eso r
z ahtj ev za
...L",.
,
" ,"'O" '" " .. ,"'
I)
usporedi razinu prekida s razinom u statusa i č e k aj na završetak tekuće
2)
pos t av i preki dnu
A i , A2
i
A3
razinu
na
prekid
registru instrukcije
adresne l i nij e
3) postavi R/W liniju
G)
post avi
u "I" funkcijski kod FCO-F C 2 : I I I
5 ) a k ti v i r aj linij u Aš
6 ) aktiviraj l ini Ju L O S
postavlj anj e
I ) p os tav i
broj a vektor a
veK torski
broj
na
2 ) aktiviraj
00-07
liniju, potvrde p r i J e nosa podataka �
prihvat vektorskog
I)
po h r ani
broj a
interno broj vek tora
2) postavi D5š u visoko 3 ) postavi � u visoko
1)
Sl. 7.21. Dijagram toka za slijed potvrde prekida
l
početak obrade p rek ida
postavi
_I
OTAC K u visoko
I
156
Naprednije arhitekture mikroprocesorI}
I-'
FFF6
FFF6
FFFB
SSP
_
SSP FrF
FFF6
B
$ 2008
FFFA
FFFA.
$ OOOO
FFFC
FFFC
�//////�
FFFE
(SSP) (PC) (SR)
=
$ OOOOFFF E
=
$ 00 1 64A
=
PC
SR
-
=
$ 0000FFF8
$ 200B
b)
FFFC
1 64A
�
(SSP)
a) neposredno prije prekida SSP
$
FFFE
FFFB
FFFA
z a vrij e m e prekida
SSP FFFE
' ( SSP ) (PC ) (SR) c)
�
ij////ij� �
=
$ OOOOFFFE
=
$ 0 0 1 64A
=
$ 2008
nakon prek i da ( n akon izvo
đenj a inst. RTE)
nadgledna kazalo stoga programsko broj i l o
status registar
Sl. 7.22. Slanje nadglednog Sloga (MC 68000)
Adresa odgovarajuće lokacije vektora iznimke do biva se p re m a p rik az u mi slici 7 . 17 . Pošto se program sko brojilo napuni novom vrij ednošću iz tablice vektora iznimaka , izvodi se p rv a instrukcij a prekid nog programa.
Slika 7 . 22 prikazuj e stanj e nadglednog stoga prij e , za vrij eme i nakon obrade p r ekid a . Obratit e p ažnj u na to , da kazalo stoga mikroprocesora MC 68000 ,za razliku od 8-bitnog mikr oprocesora MC 6800 , poka ' z uj e ' na ''punu'' m em orij s ku lokacij u stog a .
Iz slike 7 . 17 vidimo da se adresa vektora iznimke može oblikovati (u zavisnosti od vektorskog broj a) u opse gu od OOOOOO do 0003FC. Među tim , zbog speci fične organizacij e tablice vektora iznimaka u k oj oj su prekidni vektori smj ešteni od 000100 do OOOjFC (p ros to r rezerviran za korisničke prekidne vektore) , vanjski uređaj postavlja vektorski broj od 64 do 255 , odnosno od 40H d o FFH .
Mik ro pr o ce s or MC 6 8 000 dopušta 192 vektorska broj a prekida koje generira vanj ski uređaj uzročnik prekida (vidi tablicu vektora izni m ak a ) . Slika 7.23 prikazuj e sklopovsko sučelje prekidnog sustava sa 192 vektora. Sklop koj i pribraja 8-bitnom kodiranom prioritetu prekida vrije dn ost 64 o si g u rava da vektor ski broj , u sk l a du s tablicom vektora iznimaka , bude u područj u od 64 do 255 .
Slika 7 . ? 1 prikazuj e dij agram p re k ida .
toka
za slijed potvrde .
Budući da je prekid obrada iznimke , mikroprocesor se iz prekidnog programa vraća pomoću ins tru kcije RTE ( re tu rn from exception - povratak iz iznimke) .
lnstmkcij a RTE se izvodi tako da se s adrž aj status registra i p ro gra msk og brojila uzme iz nadglednog stoga . Status-registar se u zima kao prva l 6-bitna riječ, a program sko brojilo kao s lj edeća duga rij eč (32-bitna) . Kazalo stoga se automatski povećava za šest. Instrukcij a RTE je privilegirana instrukcij a, što zn a či da procesor mora biti u n adgl edno m načinu na početku njena izvođenj a . I ns tr u k cij a RTE m ij e nj a bitove status-registra tak o d a p rocesor ( u zavisnosti od prve l 6-bitne riječi p ohranj en e u stogu ) može prij eći u k ori s n i čki način nakon završetka te instruk cij e.
Slika 7.24 prik azuj e detalj sklopovske izvedbe s u čel j a za p re kidni sustav s p e t razina prekida i nemaskiraju. ći m prek ido m .
7.9. Inačica obrade prekida za MC
68000
U tablici vektora iznimaka nalazi se sedam vekto ra koj i se nazivaj u prekidni autovektori . Svaki od njih odgovara j ednoj od sedam razina prekida . V e kto ri se n al aze na sl ij ednim memorij skim lokacij ama, s adresama od 064H (odgovara razini prekida 1) do 07CH (odgovara razin i p reki d a 7) . Os novn a je zna čaj ka ove inačice obrade prekida da procesor sa m generira v ek tor sk i broj . Uređaj koj i je zah tij e vao prekid odgovara u s abi rn i č kom ciklusu potvrde akti viranj em signala VPA (Valid Peripheral Ad dress)
157
Prekidni slL�tav mikroprocesora IRQ
191
[RQ O
IR O I
omogućavanje
upisa u za- ( Set L a ten ) parni sklop
Clear
zaporni sklop
#1
L a tc�
brisanj e z.porno g sklopa
p r i o r i t e t n i kader
razina pre k i da B-bi tni
kodira'!i prioritet erekida
p!"i broj i 6t:.
koder 7 : 3
B - b i tri ve k t o r
koci rara
;-azina
sk : broj
prek i d2
�� -
ns kašnj enj e 500
D
DE
8istabi l l
( ul a z i s : nh. s a s i g.
zaporni Sk logička s tanj a
v � e m e nskog
vcjer:j a )
l i n i j a sabi rnice P003t2ka :J O - D 7
L...__� DTA C K
�!---"F:,C�D,-� F
MC
68000
FC
lACK
signal
Do-D7
Sl.
7.23.
Sklopovsko sučelje za prekidni sustav sa 192 vektora
u mj e st o pos tavl j a n j a vektorskog b r o j a na sabirni cu podataka i aktiviranja signala DTACK. U tom slu � rocc so r će odgovoriti post:lvljanjem s ign ala VMA (Va!id M e m o ry A dd r e ss ) . Procesor će n a t eme l ju int e rno ge ne rir a nog v ek torsko g broj a priba viti iz tablice vektora odgovarajući prekidni autovek tor i smj e s ti ti ga u p rogr am sk o broj ilo PC. Ova vrsta obr a de p re k ida n amij e n j e n a je posluživanj u pre kid a p e ri fe rn i h uređaj a iz 8 - b itn e porodice M 6800 koj i nemaju mogućnost generiranja ve k t o tsk og broja.
(Trace)
iznimke praćenja
je iznimka k oj a ima uzro k u unutrašnjem stanju p roceso ra . S postavlj anjem zastavice p ra ćenj a
Praćenj e
IPL2
potvrde
p r e k i da
7 . 10. Obrada
[PL I
T (Trace)
praćenj a .
mikroproces0r odl az i. u obradu
iznimke
Praćenje j e posebno stanj e procesora i po mo ć u njega se ispituju p r o gr am i i sklopovska oprema mikroračuna]skog sustava. Kad je procesor u stanj u praćenj a , on nakon svake i ns t r ukcij e tekućeg pro grama odlazi u rut inu z a p r aće nj e (np r . prikaz i ispis sadržaj a radnih re gi st ar a i memorijskih lokacija) . Tekući se program tada izvodi instrukcija po instruk cij a , a i zm e đu poj e d i n i h i n st ru k cij a izvo di se obrada iznimke - rutina z a p ra ć e n j e .
Izvo đenj e programa j e
usporeno zbog "umetanj a"
rutine za praćenj e nakon svake instrukcij e . Slika 7 . 25 p r ik az uj e odnos t e kućeg programa i rutine za
kašnjenj a. Praćenje j e do pu š t e n o za programe koji s e izvod e u oba n ačina : k or i s n ič ko m ili nadgl e d nom .
Naprpdnije arhitekture mikroprocesora
158 .5V
4.7K
MC 68000 25 23 LS 2 7 3 8
03
l PL!
lJ5[2
Q3
LS 148
04
10
02
O
I I Q5 Q6 07
Q7
lRQ D
AO
l
12
16
13
AI
19
A2
6
2
QI
K
14
7
GS
El
EO
15
NC NC
p r i ori tetni kader
.5V si gnal vremenskog vođenj a
9
.
15
QO
lRQ E
I I
lJ5Ctl
-
4.7 L S OO
zahtj ev z a nem a ski rajući pr e k i d
4.7
+5V
.
Sl. 7.24. Detalj sklopovske izvedbe suče/ja za prekidni sustav s pet razina prekida i netnJJSkirajućim prekidom (MC 680(0) .
tekući program (procesor može biti u nad gledn om ili korisničkom načinu)
(odlazak u iznim k u )
RTE (povratak i z iznimke)
rutina z a praćenj e
SI. 7.25. Odnos tekućeg prograt1ll1 i programske rutine za praćenje
Prekidni
1 59
sustav mikrop rocesora
Zastavica T u status-registru up ravlj a praćenjem ; ako je T O, praćenj e je onemogućeno i program se odvij a normalno. Ako je T 1 na početku =
=
izvođenja instrukcije, dogodit će se iznimka (praće nje) nakon što se instrukcij a izvede.
Zastavica T nalazi se u nadglednom bajtu status-regi stra i njome se može upravlj ati samo kad je procesor u nadglednom načinu rada. Npr . privilegirana ins tru kc ij a ORI *8000 , SR postavit Će za stavicu T u jedan . Zastavica T nalazi se na bitovnoj poziciji 1 5 status-registra.
Pretpost avi mo da je zastavica T 1 na početku izvođenj a neke instrukcije tekućeg programa ! Nakon završetka izvođenj a instrukcije , a prij e početka slj e deće , započinje obrada iznimke . Ona se izvodi u sljedećim koracima : =
1 . Tekuća vrijednost status -reg istra SR pohranjuje se interno u mikroprocesoru , a zastavice se u SR postav lj aju u skladu s obradom iznimke :
S � . 1 , T � O. 2. Mikroprocesor interno generira vektorski broj kojim se poziva vektor iznimke praćenj a . Vektorski broj je !l-bit n i broj koji pomnožen sa četiri daj e pomak u tablici vektora iznimaka i pokazuje gdje se nalazi vektor iznimke praćenj a. ' Vektorski broj iznimke praćenj a je 9 ili binarno OOOO 100 1 .
Slika 7 . 26 prikazuje postupak dobivanj a adrese vek tora iznimke praćenj a.
3. Tekući sadržaj programskog broji l a PC i interna kopij a status-registra SR pohranjuj u se u nadgledni stog. (Pohranjena vrijednost programskog broj ila PC ad resa j e sljedeće instruk cij e . ) . 4. U programsko brojilo smješta s e vektor iznimke praćenj a (vrij ednost dobivena iz memorij ske lokacij e 024H) i započinj e izvođenje rutine praćenj a .
Prilikom iznimke praćenj a vrijede neke posebnosti : o Ako instrukcija tekućeg programa nije izvršena (npr. ilegalna instrukcij a ili pokušaj izvođenj a privilegirane instruk cije u korisničkom načinu) , praćenj e se neće dogoditi iako je T 1. o P raćenje se neće dogoditi ako j e tekuća instruk cij a preki nuta u izvođenju resetom, sabirničkom pogreškom ili pogreška adrese . o Ako se izvodi tekuća instrukcij a , a prekid čeka na završetak izv ođenj a , prvo će se obraditi iznimka praćenj a , a tek onda iznimka prekida. o Ako se za vrij eme izvođenj a i nstrukcije poj avi iznimka koja je izazvana tom instrukcijom, ta će iznimka biti obrađena prije iznimke praćenja . =
Ilustrir aj mo po sebnosti j ednim primjerom : Pretpo stavimo da je praćenje omogućeno (zastavica T 1) i da se za vrij eme izvođenja instrukcije TRAP dogodio zahtj ev za prekid . TRAP * j est instrukcij a koj a programski upravo izaziva izniinku . =
Obrada u ovome složenom primjeru ići će ovi m tokom : L Mikroprocesor obrađuje iznimku TRAP : a) Status registar se pohranj uje II p rivreme n i regi star, b) S ...... 1, T -> 0 ,
vekto rski b roj
po sm ak za dva m j esta sa četiri)
� ulij evo (mnozenje I I I I
o
o ...
23
024H ---_Oo adresa vektora ,------'
adresa:
praćenj a
iznimke
tablica vektora iznimaka
000 4 RE SET: početna vrij ednost SSP 4 RESET: početna vrijed nost PC � !L _ _ �B.tj _ sa�r�čk� �e�':... � _
_
_
_
_ � CJj .
•
_
_
_
_
a d r es n a �e � a� � _ _ .
.
- _ - f-.�r�e�e.:... - - - - - _- _�4l:l . P�- - - - - 7 _
Sl. 7.26. Postupak dobivanja adrese vektora iznimke praćenja
O I oo
korisnički
_
_
_
orekidni vektori
_
_
vektor lznimv ke praćenj a
160
Naprednije arhitekture mikroprocesora
c) Pomoću ve kt orskog broj a # , koj i se nalazi u četiri m a nj e tnačaj na bita in strukcij e , odre đuj e se adresa ve k to ra izn i m ke : 80H +
4 * ,
d) Pro gram s ko brojilo PC i k o pij a status-registra p o hra nj uj u se u nadgledn i 'Stog,
e) Izvođenje programa u smj e rav a koj u odre đuj e ve ktor iznimke .
se na a dresu
Iz obrade izni mke p ro ce s or s e vraća i zvo đe n j em
2. Mik ro pro ce so r iznimku praće nj a .
instrukcije RTE.
nakon iznimke TRAP obrađuj e
3. Nakon i zn i m k e pr aćenj a slij e di obrada
iznimke
Na kraj u ovog o dj e lj k a prikažimo oblik preki d n o g programa ili programa za obradu iznimke za MC
prekida .
68000 : INTER MOVEM.L Dp - D iA , - A" - (SP)
MOVEM.L RTE
(SP) + , Dp - DiA, - A,
Dp - DiA, - A"
pr e mj e štaj u se s a držaj i izab ran i h re gistara
Instrukcijom MOVEM . L
obradu iznim k e
aktivir anj e m sig nala HERR ,
Pohra njen a se vrij e d n o st
programs kog brojila pove odgovara pomaku od dva do d eset b aj to v a) i pok a zuj e n a slj e de ću in s tru kcij u . ćava za neki iznos ( k oj i
Ako se sabirnička po greš k a dogodila za vrij e me faze PRIBAVI, po hr anj e n i će sadržaj p rogram sk og broj i l a
i m ati
vrij e dnost u " blizin i " te kuće i n stru kcije , čak i ak9 je tekuća instrukcij a bil a instrukcija gr a nanj a , skoka ili p ovr at k a (return) . Procesor p oh ran j uj e u stog i kopiju prve rij eči i n s tru k cij e koja s e izvod il a u t re nu t ku sabirničke pogreške. Također, procesor
pohranjuj e u �og i sp e cifičnu info r macij u o vrsti 'pri stup a : da li je proceso r i zvo dio ope raciju čitan j a i l i u pi sivanja , da li j e procesor bio u obradi instruk cije te trobitni funk cij sk i k o d k oj i je b i o definiran kad se dogodila sabimička pogrešk a .
Grupu
iznimaka nižeg prio rit eta ili grupu r azi n e 1 pr aćenj e , pov red a privilegiranosti i po kušaj izvođenja ilegalne i nstru k cij e . I zn imke grup e ' 1 dop uštaj u završetak te kuće in struk cij e .
či n e p rekid ,
- (SP)
p od a t ak a i sa držaj i iz a bran ih a d resn ih re gista r a u nadgl edni stog ( m i k ro p roces o r je u obradi i znimke ) . N a dgl ed no kazalo stoga um a nj uj e se u skl a du s broj em poh ra nj e n ih baj tova . Instrukcija , dakle, ima fun kcij u ins trukcij e PUSH.
MOVEM.L (SP) + ,Dp - DiA. - Ar ima fun kcij u instrukcij e PULL i iz nadglednog stoga uzima s ad ržaj e re gista ra i o b n avlj a st a nj a r e gist ara k oj a su bil a neposredno prije odlaska u obradu iznimke. Instruk cij o m RTE o bn avlj aj u se sadržaji program skog bro jil a i status-registra te se p roce so r vraća iz obrade i zn im k e . Na k raj u programa za
pogreš ku tekući sabirnički ciklus bi ti će prek in ut i pro cesor će zapOčeti obradu iznim ke. Međutim, budući · d a je prekinuto izvođenje tekuće instrukcije , procesor će pohraniti u stog de taljniju informacij u od one koj a se naziva " mi ni malni kontekst" , a koj a se s astoj i od sa držaj a progra ms�o g brojila i s a držaj a status registra. Ako n pr . v anjsk a logi�alizira vanj sku
instrukcija
7 . 1 1 . Višestruke iznimk e za MC 68000 Što će bi ti kad se istovremeno dogodi više iznimak a ? Ponašanje procesora u tom s l učaj u definirano je grup i ra nj e m iznimaka u više prioritetnih razina. Grupu iznimaka najvišeg prioriteta ili razine O či ne iznimke : reset , sa b irni čk a pogreška i pogr eška adre se . Te iznimke uzro kuj u tre nut n o p re ki d anj e izvođe nja instrukcije (a b orti r a nj e izvodenja tekuće instruk cij e) i započinj anje obrade u n utar dvij u pe riod a signala vre m ensk og v o đen j a . Obratimo pažnj u na to d a , za razliku od prekida, iznimke r azi ne O ne " če k aj u " zav rš e ta k t eku će i n st ru k cij e .
Grupu izn i ma ka naj n i že razine (grupa Z) čin e iz nimke. koj e su i nici ra n e izvođenjem same i nstrukcije (TRAP, TRAPV , CHK , dij elj e nje n ul o m ) . Prioriteti unutar grupa su sljedeći : o
u grup i
O
reset ima najviši prioritet , zatim slije d i
sabirnička pogreška i onda pogreška a d re se , o
u grup i 1 pr aće nj e ima viši pri orit et od pre kid a , a p reki d ima viši prioritet od ilegalne instrukcije ili pov rede privilegiranosti.
Zbog slij e d n og i zvo đe nj a instrukcija ne p o stoj i ri tet u grupi !znim a ka 2.
prio
7.12. Organizacija prekidnog sustava 32-bitnog mirkoprocesora
INTEL 80386
U arhitekturi 32-bitnog m ik roproce s ora Intel 80386. preciznij e se ra zlikuj u prekid i iznimka. Prekid j e prij enos up r avlj a nj a s tekućeg programa na drugi (p re kid ni) program kad je tome uzrok vanjski doga đaj k oj i je nezavisan od toka izvođ e nj a i ns trukcij a .
prij en os upra Vlj anj a s t ek ućeg programa (o bra d a iznimke) k ad je njen uzrok n e n ormalan uvj e t ili uvj eti koj i n astaj u za vri j e m e izvođenja instrukcije i koji su u izravnoj vezi s i n strukc ij o m . na d r ugi
Iznimka je
p rogr am
161
Prekidni sU1Itav mikroprocesora
Mikroprocesor Intel 80386 ima dva prekidna pri ključka : INTR i NM!. Prekid INTR je maskirajući prekid. Zahtj ev za prekid INTR prihvaća se (prekid nije maskiran) ako je zastavica IF 1. Zastavica IF (Interrupt Enable Flag) nalazi se u 32-bitnom status registru EFLAGS. Ako se zahtijeva prekid INTR kad je IF O, zahtjev čeka sve dok se IF ne postavi u 1 ili dok vanjska logika ne ukloni zahtjev za prekid. =
=
Mikroprocesor Intel 80386 prepoznaje samo j ednu razinu prekida INTR. Vanjska logika koj a aktivira liniju INTR mora postaviti i B-bitni vektorski broj koj i će se upotrijebiti u postupku prijenosa upravlja nja na prekidni program. Budući da mikroprocesor Intel 80386 prepoznaje samo jednu razinu prekida INTR, u praktičnim izvedbama upotreblj avaju se programabi\ni prekidni sklopovi (Programmable Interrupt Controller - PIC) Intel 8259A. Intel 8259A podržava osam razina prekida. Upotrebom devet sklopova Intcl 8259A dobivaju se 64 razine zahtjeva za prekid , s tim da svaki zahtjev ima svoj vektorski broj . Prihvaćanjem prekida INTR mikroprocesor auto matski pohranj uje u stog status-registar EFLAGS , 16-bitni kodni segmentni registar CS5 i 32-bitno kazalo instrukcije , odnosno programsko broj ilo EIP (engl. Extended Instruction Pointer Register) . Postu pak prij enosa upravlj anj a na prekidni program opisat ćemo u posljednjem dijelu ovog odjelj ka. Mikroprocesor Intel 80386 ima dvije instrukcije ko j ima upravlja zastavicom IF: CLI briše zastavicu (prekid INTR je onemogućen) , instrukcija STI po stavlja zastavicu ali tek nakon sljedeće instrukcije (kao i kod 8-bitnog prethodnika Intela 8080) . Nemaskirajući prekid NMI ne može se maskirati zastavicom IF. Prekid NMI ima interno dodijeljeni vektorski broj 2 i vanjska logika u ovom slučaju ne postavlj a vektorski broj . Zahtjev za prekid NMI upotrebljava se za kritične događaje u sustavu (npr . ' za detekciju ispada napona napaj anja) . Prekid NMI ne može se programski maskirati , ali ipak nije dopušteno gniježđenje prekida ove razine : Novi zahtjev NMI bit će prihvaćen tek pošto se mikropro cesor vrati iz prekidnog programa izazvanog zahtje vom NMI , tj . nakon izvođenja instrukcije IRET. Instrukcija IRET obavlja obrnuti postupak od onoga prilikom ulaska u prekid : Sadržaji koji odgovaraju sadržajima registara ElP , CS i EFLAGS uzimaju se iz stoga i upravlj anje se prenosi na mjesto u pro gramu gdje se prekid dogodio. Mikroprocesor Intel 80386 raspoznaje različite vrste iznimaka i svakoj od njih dodjeljuje vektorski broj . Iznimka se može klasificirati kao pogreška, zamka ili. pobačaj (engl. abort). Iznimkama su unaprijed dodi· j eljeni vektorski brojevi od O do 3 1 . Npr. vektorski broj O dodijeljen je instrukciji DIV ili IDIV. To će se iznimka dogoditi ako j e djelitelj O ili je kvocijent
prevelHc da bi- se smjestio u registar koji j e predviđen za rezultat (npr. registar EAX za 32-bitne operande) . Ta je iznimka klasificirana kao pogreška. Iznimka s vektorskim broj em 1 upotrebljava se u postupcima otklanjanja pogrešaka u programu. Može se klasificirati dvoj ako : ili kao pogreška ili kao zamka. Vektorski broj 3 odgovara j ednobajtnoj instrukciji INT 3. Ona je programska zamka. Instrukcija INTO izazvat će iznimku - zamku s vektorskim brojem 4 ako je zastavica preteka OF 1. =
Tablica 7 . 2 prikazuje iznimke, njima pridružen vek torski broj i uvjete koji izazivaju iznimku. Tablica 7.3 sadrži razine prekida i iznimaka. Najviši prioritet ima iznimka otklanj anje pogreške, a najniži - zahtjev za prekid INTR. Ako se npr. istovremeno zahtijevaju prekidi INTR i NMI , odabrat će se NMI jer ima viši prioritet, a INTR će čekati. Postupak prijenosa upraVlj anja s prekinutog pro grama na prekidni program ili obradu iznimke nešto je složeniji nego prekidni sustav 16-bitnog prethodni ka, Intela 8086. Rezultat . prijenosa upravIj anj a j c . početak izvođenja programa koji je izabran pomoću . vektorskog broj a. Intel 80386 ima poseban upravljački 48-bitni registar lOTR (Interrupt Descriptor Table Register) koji pokazuje na tablicu prekidnih opisnika IDT (Inter rupt Descriptor Table) . Vektorski broj pridružen prekidu ili iznimci služi kao indeks, odnosno pomak nuće u tablicu IDT. Na taj se način dobiva 8-bajtni ulazni opisnik (gate descriptor) . Slika 7.27 prikazuje format ulaznog opisnika. On se sastoji od 48-bitnog kazala i 16 bitova atributa. 48-bitno kazalo sastoji se od 16-bitnog selektora i 32-bitnog pomaknuća koje je razmješteno u bajto vima m i m + 1 te m + 6 i m + 7. 16-bitni selektor je smješten II bajtovima m + 2 i m + 3, a upotrebljava se za pristup opisniku u tablici GDT ili LDT. Ovaj opisnik specificira izvršivi memorijski segment. GDT (Global Descriptor Table) i LDC (Local Des criptor Table) posebni su segmenti koji sadrže tablice - segmentnih opisnika. LDT sadrži opisnike za segmente koji pripadaju jednom zadatku. GDT je zajednički za sve zadatke u sustavu . Da li će se prilikom prijenosa upravlj anja upotreblj a vati LDT ili GDT, zavisi od bita b2 selektora u tablici lOT. Ako je bit b2 (nosi oznaku TI) nula , onda se pristupa opisniku u GDT. Slika 7 . 28 prika-
l Intel 80386 upotrebljava stog s granicom riječi (32-bita), tako da se , unatoč tomu što je CS 16-bitni registar, kazalo stoga ESP umanjuje za četiri
162
Naprednije arhitekture mikroprocesora
Tiiblica 7.2. Iznimke za mikroprocesor Intel 80386 vektorskI broj
pogre!ka pri dijeljenj u
pogreška
DIV, IDIV
I
iznimka otklanjanja po greške u pr ogr a mu
pogreška!
bilo koja InstrukcIj a
jednobajtna Instrukcija INT 3
z am a
pretek
zam a
5
provj era granIca
pogreška
pogrešan operacijski kod
pogr !k
bilo koj a pogrešno kodi rana Inst.ukcij a
uredaj nije raspolo!lv
pogreška
instrukcIj a m alematičkog kopro cesora lli WAIT
dvostruka pogre!k.
pobačaj
bilo kOj a instrukcij a
prekoračenj e' koproceso �skog segmenta
pObačaj
Inst.ukcija m atematičkog kopro cesara koj a se odnosi na memo
B
9
l
�
12
stogovni
13
op�a za!t1ta
po g reš k a
14
Iznimka stranice
pogreška
15
pogreška mat ema t i č ko g kopro
pog r ešk a
instrukcija matematič�og
programSki prekid
z am k a
INT n
segmen t
( SS )
cesara
prioritet u
n,
INT O
otkl anj anje pogrešak a
NMI
prek i d
IN TR
najviši
ostal im pogreškama
zamki INT
preki d
riju
segment nije prisutan
tip prekida/iznimke
zamke za programu
e .
INTO
BOUND
II
iznimka otklanj anja pogreške programu
instrukCije
k
INT J
ne �prav n . TSS (pQSllban s�gment pogreška ko I sa r�1 važne Informacil e o zadatku
Razine prioriteta iznimaka i prekida za Intel 80386
izazvane
k
10
0-255
i znimke
zamka
3
6
7.3.
uzročnik
D
4
Tablica
vrsta Iznimke
iznimka
JMP, CALL, IRET prekid
pogreška
bilo koj a I nstrukcij a koj a punI segmentnI registar
pogreška
bilo kaj a InstrukCij a koj a puni registar SS i l i s,e pozIva na me morij u u segmentu koj i je adre s i r an s registrom SS bilo koja privilegirana instrukci ja koj a Se poziva na m e m o r i j u
b i l o k a j a instrukcij a koj a se po zivB na memoriju
cesora I I I WAIT
zuje format selektora. Polj e RPL upotrebljava se za specifikacij u razine zaštićenosti segmenta, a indeks opisnika određuje segment. Segmentni opisnik (u tablici GDT ili LDT) s astoj i se od tri komponente : bazne adrese segmenta, p olj a koje određuje gran icu segmenta i polj a atributa koji opisuj e segment (51 .7.28) . 16-bitni atribut u ulaznom opisniku (baj tovi m + 4 i m + 5) određuje sljedeće
(sI.7.27) :
l po kazuj e da je ulaz valjan. Ako je P O, ul az nije valj an i pokušaj upo tre be tog u laza ima za po slj e dicu obradu iznim ke . DPL Razi n a povlaštenosti o p isn i ka - određuje . razinu po vl aštenosti koj a je pridružena u l azu . DPL se provjerava samo za INTn i INTO.
P Bit prisutnosti. P
u
=
najniži
k op r o
=
163
Prekidni sustav mikroprocesora
m+ 6
pom aknute 3 1 ... 1 6
5
6
m
m+2
4
atributi
3 '
0
7
6
sel ektor
5
m+5
I , I
4 ' 3
2
1
pomaknute 1 5 • • • O
0
m+4 '--y-----/
1 6-bitni atribut
ne upotrebij ava se u preki dnom ulazu i l i ulazu u zamku
Sl. 7.27. Format ulaznog opisnika (Intel 80386)
Tip 4-bitno polje odreduj e tip ulaza (npr.5 odre
15 indeks
opisnika
Sl. 7.28. Format selektora (Jntel 80386)
DT Bit DT
služi za razlikovanje memorijskih segmenata (DT 1) od segmenta sustava i ulaza (DT O) . Ako je DT O onda po k azuj e na ulaz. =
=
=
LITERATURA [1]S.Ribarić, Arhitektura mikroprocesora, Tehnička knji ga, Zagreb, 1985. [2] T.Dollhoff, 16 Bit Microprocessor Architecture, Pren tice Hall, 1979. [3] H.D .Toong,A.M.Gupta, An Architectural Comparision of Contemporary 16-bit Microprocessor, IEEE Micro, maj 1981, pp.26-37.
duje ulaz zadatka, 6H odreduj e ulaz za prekid 286, EH i FH određuju ulaze za prekid 386, odnosno ulaz za zamku za 386.
32-bitno pomaknuće u ulaznom opisniku (elementu tablice IDT) o dre duj e ulaznu točku u segment koj i je definiran elementom iz tablice GDL ili LDL (sI.7.29) .
Slika 7.29 prikazuje tok prijenosa upravlj anj a prili kom prekida ili zamke .
[4] N.A.Alexandridis, Microprocessor System Design Con cepts, Computer Science Press, 1984. [5] J6-bit Microprocessor Data Manual, Motorola Inc. , 1983. [6] iAPX 86,88 User's Manual, Intel Inc. ,1981 . [7] M 68000 16/32-Bit Microprocessor, Motorola Inc. ,1984. [8] A. Gupta,H.D.Toong, An Architectural Comparison of 32-bit Microprocessors, IEEE Macro,februar 1983,pp.922.
.... ,-----4 7
upravij 3 č k i
o
registar
lOTR
I
o e O> E tJ o>
2;:.0'
erani ca segmenta
..'J E
0 .0
tabl i ca prek i dn i h opisn i k a lOT
"O �
��
E� ", o
X �
d o> 1>. >
t
r----"!:-
selektor
I
atributi
I
pomaknute
T '---
r
II
T baza
I
granica
I
a t ributi
--
- ulazna točka
I
. t ab l i c a GOT i l i LOT
l
�
""
�
�: l i nearni adresni prostor
SI. 7.29. Tok prijeno.sa � priJikom prekid
�
�
� :! � ...
.g
I cl
8.
POSEBNE ZNAČAJKE ARHITEKTURE 16-BITNIH I 32-BITNIH MIKROPR.O CESORA
Protočna arhitektura, priručna memorija i virtualna memorija 8.1. Uvod Performansa procesora iAPX 432, Motorola MC 68020, Zilog Z80000 i drugih 32-bitnih procesora uspoređuje se s performansama vodećih srednjih i većih računala. Npr. mikroprocesor MC 68020, izve den u tehnologiji HCMOS III , ima performansu oko 1 ,5 MIPS dok će njegova poboljšana verzij a u tehno logiji HCMOS IV imati performansu oko 3 MIPS (Motorola, 1986) . Tvrtka Fairchild najavila je 32bitni mikroprocesor Clipper harvardske arhitekture s vršnom performansom od 33 MIPS, te s prosječnom performansom od 6 do 8 MIPS . Velika performansa mikroprocesora postiže se zahvaljujući upotrebi : o protočne (engl. pipeline) arhitekture , o priručne (engl . cache) memorije, o virtuafne memorije .
prethodnog podatka. Slika 8 . 1 prikazuje protočnu strukturu sa M segmenata. Neka se operacija obavlj a nad svakim od n ulaznih podataka (n � 1 ) .
Neka j e ts; vrij eme potrebno z a obavlj anj e ope- o racije u protočnom segmentu S;. Prilikom ocjenjiva. nj a propusnosti uvedimo ' pojednostavnjenje t so = tSl = . . . = tSM - l = ts. Neka je To vrijeme po trebno za struktuiranje i povezivanje M protočnih segmenata. Nakon vremena To + Mts pojavlj uje se na izlazu prvi obrađeni podatak. Poslije toga , svakih t vremenskih jedinica na izlaz pristiže novi obrađeni podatak. Vrijeme potrebno za obradu n podataka : TN = To + Mts + (n - l ) ts.
Efektivno vrij eme za obradu j ednog podatka :
8 . 2 . Protočna arhitektura Protočnost (engl .pipelining) jest oblik paralelizm a koji se ugrađuje u procesor i omogućava istovremenu upotrebu različitih sklopovskih podsustava. Tako se značaj no povećavaju performansa i pc.opu snost cijelog sustava. ' Protočnost se odnosi na razlaganje funkcije u neko liko podfunkcij a koje se izvršavaju u dodijeljenim samostalnim sklopovima - protočnim segmentima. Niz takvih protočnih segmenata čini protočnu struk turu. Svi protočni segmenti u strukturi dj eluju isto vremeno, tako. da se njihove aktivnosti prekrivaju . Protočna struktura u procesoru slična je _tekućoj industrijskoj vrpci . Pokušajmo ocijeniti propusnost sustava s protočnom · strukturom . Pretpostavimo da se neka operacija F može razložiti na M podoperacija ; svaka od tih podoperacija izvodi se u protočnom segmentu . Pro cesor neka ima So, Sh S2, . " ,SM - l protočni h segmena ta . Između protočnih segmenata nalaze se zaporni sklopovi (engl.latch) koji sprečavaju da podatak koji je obrađen u j ednom protočnom segment u ometa rad sljedećeg segmenta prije negoli on za,{rši obradu
T
e
=
TN n
Za n -+ oo efektivno vrijeme za obradu operanada teži vremenu obrade u jednom protočnom segmentu t,. Procesor koj i nema protočnu strukturu ( sl . 8 . 2) istu bi operaciju za n podataka obavio u vremenu : T = t n, gdj e je t "" tso + tSl + . + tsM - l • Slika 8.3 prikazuje vremenski dijagram izvođenja operacije F za M 5. Brojevi 1 ,2,3 , . . . označavaju podatak koji je prisutan u pojedinom protočnom segmentu. Protočni segmenti djeluju paralelno ; npr. u trenutku t 4 prVi se podatak obrađuje u protoč nom segmentu S4, drugi podatak u S3, treći podatak u S2, četvrti podatak u Sl i, konačno , peti podatak u So· .
.
=
=
Arhitektura 16-bitnog mikroprocesora Intel 8086 predstavlja primjer utjecaja koncepcije protočnosti na novije arhitekture procesora. Slika 8.4 prikazuje upravljačku jedinicu procesora Intel 8086 koj a j e ostvarena kao protočna j edinica. Ona s e sastoji od
166
Naprednije arhitekture mikroprocesora
d
...J
SI, 8,2.
Procesor neprotočne
f----) strukture
povećana za faktor 1 ,5 prema neprotočnoj strukturi upravljačke j edinice. Mikroprocesor Intel 80286 ima protočnu strukturu na Jazini memorijskog sabirničkog sučelja , na razini funkcionalne jedinice i protočnost unutar funkcio nalne jedinice (sI. 8.5). Četiri funkcionalne jedinice izvode po j edan korak (segment obrade) fi protoč nom izvršavanju instrukcij a. To su sabirnička j edini ca, instrukcijska j edinica, izvršna j edinica i adresna jedinica (sl. 8.5). Sabirnička j edinica predstavlja sučelje između vanjske memorije i unutrašnjih fun kcionalnih jedinica mikroprocesora , U sabirničkoj jedinici nalaze se sabirnički upravljački sklop i fun kcionalni blokovi za pretpribavljanje operacijskog koda, te spremnici za pohranjivanje šest pretpribav, ljenih bajtova operacijskog koda.
...J
...J
u')
Memorijsko sabirničko sučelje omogućava protoč nost memorij skog ciklusa. Ono se postiže ispitiva njem adrese potrebne u sljedećem memorijskom .ciklusu u toku napredovanja tekućeg memorijskog ciklusa, odnosno adresa koja se upotrebljava u slje dećem memorijskom ciklusu postaj e raspoloživa za vrijeme tekućeg memorijskog ciklusa.
...J
cl.
.,
'2
'O: >u
...J
ui-
Mikroprocesor MC 68020 upotrebljava tri protočna segmenta u postupku pribavljanja i dekodiranja ins trukcije (sI.8.6). Takva protočna struktura dopušta konkurentne operacije triju riječi jedne instrukcije ili pak obradu triju sJijedriih instrukcije. Instrukcije se pretpribavljaju iz priručne memorije (engl . cache) ili iz vanjske radne memorije u protočni segment B .
e o � '"
E '"
D u')
ill
(; o 0- o � ci ...J
Instrukcije se slijedno šalju iz segmenta B u segment e i D. Segment D konačno daje potpuno dekodiranu instrukciju koja se šalju upravljačkoj jedinici.
L u
SI, S. 1.
Protočna struktura procesora
protočnog segmenta za pribavljanje instrukcije , pro točnog segmenta za dekodiranje, registra za privre meno pohranjivanje pretpribavljenih instrukcija (engl .l-queue) u kojima čeka šest instrukcija u repu, te izvršne jedinice (engl. E-unit) , Mj erenja su poka zala da je brzina rada takve protočne strukture
Instrukcije s usputnim podacima i riječima proširenj a nalaze te rij eči već pohranjene u segmentu e, spremne za upravljačku jedinicu ili izvršnu j edinicu , Mikroprocesor Z80000 ima protočnu arhitekturu, sa šest segmenata (sI.8.7) : o pribavljanje instrukcije , o dekodiranje instrukcije, o računanje adrese, o pribavljanje operanda, o izvršavanje , o pohranjivanje operanda.
Posebn e
zna čajke arhitekture 16-bitnih i 32-bitnih mikroprocesora
167
protočni segment s s
3
s
2
s
l
s Sl. B.3: Vremenski dijagram izvođenja operacije u protočnom procesoru
l
4
o
I
2
o
3
4
5
l
2
3
4
5
6
l
2
3
4
5
6
7
2
3
4
5
6
7
B
3
4
5
6
7
B
9
5
6
�
I
2
2
protočni s egm en t
A
"-
...
I
pribavlj anje
y
instrukcij e
'Ii
1
.�
2
:o
3
m
4
.š
5
::1 E ll>
J
6 �
7' dekadi ranj e
. pratačni
� jedinir:e..mi
,.0'",0; segment 2
I
m u
Sl. B.4. Protočna struktura upravljačke kroprocesora Intel 8086
vrijeme
8
'\r--
za jednostavnije instrukcije svi protočni segmenti (osim segmenta za pohranjivanje operanda) izvode operacije u jednom procesorskom ciklusu (u dva ciklusa signala vremenskog vođenja) , tako da je za signal vremenskog vođenj a od 1 0 MHZ vršna perfor mansa 5 MIPS . U zavisnosti od konfiguracij e sustava i "miješanja" t
instrukcij a , performansa je mikroprocesora Z 80000 približno jednaka trećini vršne performanse .
pratačni segment
3
segment 4
izvršna j edi nica ( računanj e adrese)
�
32-bitni mikroprocesor Clipper, tvrtke Fairchild , upotrebljava trosegmentnu protočnu strukturu (pri bavlj anj e , dekodiranje , izvršavanje) u kombinaciji s paralelizmom u svakom protočnom segmentu struk ture . Posebno je taj paralelizam izražen u izvršnom segmentu (sI.8.8).
I
Engl. mix.
l:!
S�
1 - -
� �
I
�
J
E �
-E
"
:�
i� �
I
a dr esna led inica (AU)
-
-
-
J
I I I I I I J I I I I I I I I
�
I
I I I I
z
I I
I I I I I t I
r I I I
I I
b
r aj al a
•
s
bazni e gment
�segmentl za
pomaka
segment
provleru
qranlčne
,
fizičke
adrese
�
"el i�ine
vnJednostl
--
I -
- - - -
! - -
-I-
- - -
-
-
- -
- -- - - - - - - - - - - - - - - - - - - - - - f� ALU
.......1\ �
I I I I L I I izvrIna l edinica (EU) L_ ___ _ _ _
'"
:[ � ,
registri
I(
c.
_
_
_
i">-
l: '� _
Z
I
I I
I
I I I
I
a:
I
-
\
l�a:1a: ::J W
�
ill
I I
_ _ _ _
_
_ _
-1 I
sklop za
rI I I
� I
upravlj anje
I I I
I I
L.
l
I I
I
pogonski ""o s mi erni sklopovi
--v
vr
I I I I I
A
6 baftnl
rep p retp r i -
- f- - -
- -
r
rep ad J a ne
instr ukcij e
;,
Inst,ukell.ki dekoder
Instrukc l l e
_ _ _ _ _
J- 1- - -
I !
I I I
I
- - - - - - -- -
-'- -
-
-
-
-
I I
I I
I
1�s�u�iJ:k� J=-d� l � QU2
::.>
I
sabi rnicom .
ba ll anf a I I L - - - !- -
deko di
I
sučelfe za prol i renj e
pretpri-
I
I
I
bavijanje
,
I
pogo n.k l sklopovi
I
i
I
I I t I I I I J J r
- - -
adresni zIpomi
v
I
I
I I I I I J I
I
..( �- rI
- -'
...-
_ _ _ _
_ _ _
_
J sablrnlčka l edi n i ca (BU )
I
.
_
r- - - -- - - - - - -
- - - - - - - - -I
-
-
I
L
� -
--
- - -'- -
I
I I
_ _
J
A
2J
� EQ
..
)
�
m
1; .!! ::
°1
l
� � li:
5
� �
RESET
CLK
GND v
ec
CAP
�
�
'"
<;5
oo
Posebne značajke arhitekture
16-bitnih i 32-bitnih mikroprocesora r-
slj ednik
pribavlj anj e I dekodi ranje instrukcija
- - - - - -
I I I I I
I I
I
L
-
-
- -
D
I
I
I I
-
- -
- -
-
-
- -
-
-
-
p rotoč ni segmenti
I
upravlj ačka j edinica
169
_
e
I I
I
B
I
I I
I
I
I
_
�_
-
- -
-
-
-
-
-
- - - -
-
- - -
I I
-.J
instruke ije iz pri ručne memorije i memo rije
izvršna j edinica
SI. 8. 6. Protočna struktura mIkroprocesora MC 68020
pribavlj a nj e instrukcije
dekodi ranje i nstrukcij e
računanj e a dr ese
I
I
' p ribavijanje operanda Sl. 8. 7. Protoč1IIJ struktura mikroprocesora Z 80000
izvršavanj e
pohranjivanje operanda
.
Izvršni se segment sastoji od j edinice za cjelobrojno računanje i jedinice za računanj e s brojevima s pomičnim zarezom. Jedinica za cjelobrojno računanje obavlja sve opera cije nad cijeiim brojevima i sva računanj a efektivne adrese . Ona je podijeljena II tri segmenta L, A i Q. Svaki segment unutar jedinice z a cjelobrojno računa nje djeluje paralelno i njihove se aktivn6si prekrivaju izvođenjem slijeda instrukcija .
8.3. Priručna (cache) memorija Priručna (engl . cache)2 je memorija mala ali brza memorija obično smještena na samom mikroproce sorskom čipu i nalazi Se na spojnom putu između
procesora i glavne memorije (sI.8.9). Ona je najbrža komponenta u memorijskoj hijerarhiji što je čine priručna memorija , glavna memorij a i sekundarna memorija . Centralna procesna jedinica brže obrađuj e instruk cije i podatke negoli se oni mogu pribavljati iz konvencionalne glavne memorije . Zbog razlika II brzini centralne procesne j edinice i memorije nastaje problem jer memorij a postaje usko grlo sustava. Jedno od rješenj a tog problema j e upotreba priručne memorije (memorije malog kapa citeta, ali velike brzine). Ona pohranjuje tekuće aktivne segmente programa i podataka. Zahvaljujući
l
U literaturi se upotrebljava i
naziv »skrivena
memorija«.
Naprednije arhitekture mikroprocesora
170
, - - .----"L--_ I
I
�!
I I I I I I I I I I I
:5 .. 8.� �..
C li U
I
.!!!. i
I
� � .cv
I L
"' g_ _ _
_
_ _ _ _
I� I � C:( I ll: I l I I �
I E --' cl' OJ
I � J
.,
I i3 o
.�
,----- '-----
",
.�.�� � �� �" % � •
I � u '" 2 ::;:
"
'c '"
�
O '2! "
JO
�
'" '" E
�
a.
- - - - - -
- f- -- CI>
i' :l ::l
'S� =II lO
�i Ei �Q. :)
I
-- - - - - - -
I
Sl. 8.8. Protoifna struktura 32-bitnog mikroprocesord ' Clipper (tvrtka Fairchild)
I
171
Posebne značajke arhitekture 16-bitnih i 3l-bitnih mikroprocesora
Sl. 8. 9. Prirulna (cache) memorija
--
-
centralna procesorska jedinica
-
( C PU)
glavna
priručna memorija ( C ache)
memo rij a
mikroprocesorski čip
lokalnim svojstvima programa , broj se p ozi va glavne
m e m orij e može u v e li koj mj eri reducirati i preusmje ri ti n a pozi v anj e brze priručne memorij e . Lokalno pozivanj e posebno je izraženo kad dijelovi p ro gram a i maj u obli k p r o gramski h p etlj i , međ us ob n o ugn ij e ž đen i h pe tlj i ili k a d s e samo n ek oli ko pro cedura po n avlj ano po ziv a . U tim s lu ča j e v i m a umjesto da procesor poz iva gla vn u m e mor ij u ( koj a j e sp ora) , on saobraća s priručnom m emorij o m koja j e za faktor 5 ili 1 0 p u t a brža o d glavne i koj a svoj om brzinom "prati" rad centralne p ro ce sne jedi n i ce . Mehanizam djelovanja priručne memorij e možemo
poj ed n o s tavnj e n o opis ati ova k o :
Kad centralna p ro ce sna
j e d i n i ca
ge ne rira zah tje v za ( e ngL re ad re qu e st ) ili ge n e rira z ah tj ev za u p i s ivanj e po d a t ak a u m e m o ri j u (engL write re q u est ) , ona se uvjek poziva na lokaciju u glavnoj memoriji. Zap r avo , CPU i ne treba "znati" da postoj i priručna m em o rij a .
pribavI j a nj e i n s t ru k cij e ili p o d a tk a
S k lop ovi za up r av lj a n j e pristupom memorij i (koj i su p ri dru ž e n i pr i ru čn oj memoriji) određuju da li se riječ koj a se poziva nalazi ili se n e n a lazi u pri ru čn oj me m ori j i . Ako se r ij e č n alazi u priru č n oj memoriji , izvodi s e operacij a up i s a ili čitanja, n a odgov ar ajućoj l o k aci j i p riru čne m em o rije . Ako se i zvo d i o pe racij a čitanj a tad a u t o m e ne sudj eluje glavna' memorij a . Međutim, ako se izvodi ope racij a upisivanja , tada se istovremeno upisuje po da t a k u odgova r aj u ću loka cij u p ri ručn e memorije i u lok acij u glavne m e m orij e . Takav se postupak naziva pohranj ivanje-kroz (engL store-through method)3.
ne nalazi u pri ručn oj memo blok riječi ( s tr a n i ca) koj i sadrži zahtij evanu riječ p re n os i se iz gl av ne m em o rij e u p riru č n u . Nakon p re ba civ anj a bloka riječi, referen cirana rij e č se š a lj e u CPU. Ako se adresirana rij eč
rij i , a o pe racij a je
či t anj a ,
Ako se za vr ij e m e operacij e upisivanj a adresirana ne n a lazi u priručnoj m e m o rij i , ona se izravno
riječ
u p isuje u glavnu memoriju .
napo me n u t i da su sklopovi z a upravlja nj e pristupom mem o riji relativno s lo že ni i da se Potrebno j e
regi s ta ra od kojih je j e d a n skup ostvaren kao a so cij ati v n a memorij a . Taj skup r eg i stara pohranjuje a dre se blokova iz gl av n e m em o rij e k oj i su u priručnoj memoriji , pohranj uje listu aktiv no s ti blokova i dj e luj e kao a so c ij at iv n a m emo rij a u po s tu pku ispitivanj a podudaranja , tj . zadanu adresu istovremeno us po ređuj e s poh ra nj e n i m adresama i po s t av lj a z as t av i cu po d u d aranj a . sastoje od s ku pova
Na temelju l i s te a k ti vn o st i sk lopovi z a u pravl j a nj e blo k k oj i će biti vraćen u g l av n u memoriju i tako osloboditi prostor za novi blok koj i sadrži re fe re nci ra n u rij e č . o d re đ uj u
Izvedba glavne memo rije t e h niko m p rek l ap anj a (engl .interleaving) omogućava brz prijenos bloka pod at a ka. Sl ika 8. 10 pri k azu j e poj e d n osta v nj en i d ij agr a m toka za operacije čit a nj a i upi siv a n j a u p ri ru čnu me morij u .
P rir u č n a mem orij a može biti izvedena k a o i ns t ru ke ij sk a prir u č n a me m orij a (engU cach e) , pri r uč n a me mor ij a p o d ataka ( en g l . D cache) ili kao instrukcijska priručna i pr ir učna memorij a podataka (engU& D cache). U instrukcijskoj pri ru čn oj memoriji po hra njuje se blok instrukcij a. U fazi p ri b av lj a n j a instruk cije i s pi t uj e se da li se in s t ru kci j a nalazi u p riručnoj m e m o rij i . Ukoliko se n a l azi , tada se govori o "p o go t k u " i i ns t rukcij a se pri bav lj a iz priručne memorije . Ako s e zahtijevana rije č ne nalazi u pr i ru č noj memo riji ("promašaj " ; engl. cache miss) , akt ivi r a se pos tu pak pribavljanja bloka koji sadrži tu riječ iz gl av ne m e m ori j e .
Priručna m e m o r ij a podataka upotreblj ava se za po hra njivanj e če s to upot reblj avanih podataka i na taj n ač i n ub l ažuj e n e g a t i van utj ecaj " uskog gr l a " CPU m emor ij a . Međutim ,lokalnost p od at ak a n ij e toliko izražena kao kod in st ru kcija , zbog toga mnogi proce so ri nemaju priručnu m e m orij u po d at ak a .
J Druga se metoda sasto i u lome da se podatak upisuj e samo u lokaci u u priručno; memoriji, a da se upis označi zastavicom pridruženo lokaciji, tako da se u os tu pk u pohranjivanj a bloka ataka natrag u glavnu memorij u samo ti sadržaji u glavnoj
j
pod
j
j
memoriji obnavljaju.
p
Naprednije arhitekture mikroprocesora
172 CPU generira adresu
(poziv lokacij e u gl avnoj memorij I )
r - - - - -
I
Sklopovi z a upravljanje pristupom memorij i određuj u da li se riJeč nalazi u bloku koj i j e u p r ir u � no i memoriji ( aktivan blok)
I
I
I I
operacij a čitanj a
operacij a ill upisivanja
či tanja
I I
operacija upisivaQj a
I
I l
da
blok je aktivan?
I I I I )
ne
uklonl adresu bloka koja se ' nalazi na dnu liste aktivnos ti i postavi adresu novog bloka na vrh liste
postavi adresu bloka na vrh I iste aktivnosti
..., I I I I
prenesi blok u koj em se nalazi referenci rana riječ iz glavne memorije u prl ručnu
upi!i rileč u priručnu memoriju
obnovi listu aktivnosti
prenesi riječ Iz priručne memorij u u CPU
SJ. 8.10. Pojednostavnjeni dijagram toka za operaciju b/anja i upisivanja u prirulnu memoriju
upis u glavnu memorilu
Posebne značajke arhiteklure 16-bitnih i 32-bitnih
173
mikroprocesora
Procesori m ogu i m at i pri ru čn u me m ori j u z a po h r anj i v anj e ins trukcij a i podataka (I&D cache). Priručna m emorij a u tom slučaju može biti ostvare n a kao : o j e d instv e n a pri ru č na m emorij a , o izd voj e na priručna m e m o rij a .
U j e di n s tvenoj priručnoj memorij i p od aci i instruk cije nalaze se u istoj fiz ič koj p ri ručnoj memo rij i .
Izdvojena priručna m em orij a j e fizički podijeljena u dva dij el a . Svaki dio ima svoj vlastiti sklop za upravlj anje priručnom memorijom. Jedan se dio priručne m e m o rij e upotrebljava za instrukcije, a d ru gi je dio n am ij e njen pohranjivanj u podataka.
Performansa procesora s priručnom memorijom po većana j e iz slj e deći h r azloga :
o p rij e n os bloka podataka i i n struk cij a iz gl avn e me mo rij e u pri ru čnu m emorij u omogućava pret pribavlj anje p otrebn i h rij eči jer, zbog lokalnosti programa, p ostoji velika vj erojatnost da će rij eči u bloku uskoro biti p o treb n e ,
o višestruko upotre blj avane riječi u priručnoj me moriji (n p r . u i t e r a t i vn i m pro gramskim petljama i
sL ) , o brz prijenos bloka , prijenos u j e d no m ili neko liko m e morij skih ciklusa ako je m emorij a izvedena tehnikom preklapanj a .
Mikroproce sor Z 80000 im a na čipu priručnu memo rij u k ap aci t e t a 256 baj to va . Me morij a je o rga niziran a
kao šesnaest blokova po 16 bajtova i ima potpuno asocijativ n o preslikavanje . To znači da se blok iz glavne memorije može sm j esti t i u bilo koji blok priručne memorije (sI . 8 . 1 1 ) . Mikroprocesor Z 80000 upotrebljava tehniku pohranjivanja-kroz, a za ukla njanje bloka iz p riručne memorije up otre b lj a va teh niku LRU (L east Recently U se d) kojom se uklanj a blok koji je bio naj man je upotrebljavan u posljednje vrij eme.
Z 80000 dopušta upotre bu priručne memorij e za pohranjivanje podataka, instrukcij a ili oboga . Mikroprocesor MC 68020 upotrebljava priruč nu ' moriju s a m o za instrukcij e .
m
e
Takva priručna memorij a n aj d je l otvorn ij e se upo trebljava kad se progr a mi koriste programskim pet lj ama i kratkim gran an j im a . Procesor pribavlj a po dat ke iz glavne m em orij e i izvršava operacij e pomoću in strukcij a koje s e nalaze u priru čnoj memoriji (sI . 8 . 12 .a). Performansa se mikroprocesorskog sustava povećava i zbog toga što upotreba instru kcijske priručne me m orij e oslobađa vanj sku sabirnicu, tako da je ona na rasp o lag anju drugom procesoru ili procesoru DMA.
Instrukcijska priručna m emorij a mikr opro ces ora MC 68020 ima 64 rij eči koje s e sa s t oj e od polj a znač)<e (24 značaj nija bita adrese , vrijednosti funkcijskog koda FC2 i bita v a lj a nos ti V) i polj a i n s tru k ci j e (d uljin e 32 bi ta , sI . 8 . 12.b) .
lavna memorij a blok O blok blCJk ·
2
blok J
blok I
�------1 blok
blok
blok N - 2
SI. 8. J J. Potpuno za Z 80000
asocijativno preslikavanje
blok N- I
2
14
blok 1 5
�
m .D
:2
256
bajtova
174
Naprednije arhitekture mikroprocesora
pri ručna memarij a
adresne značke
instrukcije
podaci memorij a
CPU adrese
R!W
L
FC l FCO
Sl. B. 12.a) Instrukcijska priručna memorija mikroprocesora MC 68020 N u ll.
o u ll.
u ll.
""' <(
I I I I I
ill
L
I
značka
�
-
I
I
V
t izbor
r i j eč
·
.
·
.
riječi
riječ
.
·
,
zamjena značke
značka
J
indeks
izbor jedne od 64 riječi
r-
I
t
l komparator
020)
I I I I I j l j l l J (��:B
. . .
.
�
t
zami ena pod ataka
I
I
l.XJ
na prij enosni put za instrukCiju upravlj anj e priruč nom memorijom
pogodak Sl. B.12.b) Organizacija priručne memorije
31
�' 31
B
7
Sl. B.n.c) Organizacija riječi upravljačkog registra priručne memorije za MC �020
O
-----'--
[
8
7
f u n k c ii sk a a d r es a p r i r U1' n " m e m D r ij e indeks _ _ _ ___ .. __ ____________ _ _______ ___ Sl. B.li. d) Organizacija riječi adresnog registra priručne memorije (MC 68020)
2
I O
I I
175
Posebne značajke arhitekture 16-bitnih i 32-bitnih mikroprocesora
U fazi pribavlj anj a instrukcij e , ako je priručna me
morij a omogućena, prvo se provjerava da li se
zahtijevana riječ nalazi u priručnoj memorij i. To se obavlj a tako da se indeksno polj e (A2 do A7) adrese upotreblj ava kao kazalo za priručnu memorij u . Ono
izabire j ednu od 64 riječi u priručnoj memoriji . Nakon toga se dio adrese (A8 do A3l) i funkcijski kod FC2 uspoređuju s polje m značke izabrane riječi .
Ako se oni podudaraju i ako je bit valjanosti V postavlj e n , postiže se pogodak i rij eč se nalazi u priručnoj memoriji. Adresni bit Al upotrebljava se
za izbor j edne od dvije 16-bitne rij eči u priručnoj memorij i .
Ako s e podudaranje n e postigne (promašaj) , bit se
valj anosti V briše i instrukcij a se pribavlj a iz pri marne memorij e . Ta se nova instrukcij a automatski upisuj e u priručnu memorij u i postavlja se bit V.
B udući da procesor uvij ek pretpribavlj a instrukcij e u
obliku dugih riječi (32 bita) , obje rij eči u priručnoj memorij i bit će obnovlj ene bez obzira koj a j e rij eč bila uzrokom promašaj a . Priručna memorij a mikro
procesora je transparentna za korisnika i 9n nema
mogućnosti izravnog rukovanja poljem značke ili indeksom.
Za rukovanj e priručnom memorijom korisnik ima mogućnost izbora upravljačkih funkcija upisivanj em
riječi u upravljački registar priručne memorij e (CACR - Cache Control Register) . Pristup uprav ljačkom registru omogućuje privilegirana instrukcij a MOVEC (Move Control Register) .
Upravlj ački je registar priručne memorije 32-bitni registar koji ima 4 zastavice (sL 8 . l2.c). Bitovi koji se ne upotreblj avaj u postavlj aju se u
O.
Zastavica E (Enable Cache) dopušta omogućavanje ili onemogućavanje priručne memorije . Ako je zasta
vica E obrisana, priručna će memorij a biti onemogu ćena i procesor će svaku instrukcij u pribavlj ati iz primarne memorije . Onemogućavanje priručne me
morije obično se upotrebljava u postupcima traj:enj a
pogrešaka u programima ili emulaciji . Zastavica E se briše resetiranj em procesora.
Zastavica
F (Freeze Cache) "zamrzava" priručnu
memorij u , ali tako d a j e ona omogućena. Kad s e
dogodi promašaj , njen s e sadržaj ne mijenja valj anim podatkom iz primarne memorij e . K a d j e zastavica CE (Clear Entry) postavljena ,
korisnika na drugog (context switch) . Postavlj anjem zastavice C u 1 brišu se svi bitovi valj anosti V .
Adresni registar priručne memorije (CAAR) jest 32-bitni registar koj i sadrži adresu koja se upotreb ljava prilikom određivanja upravljačkih funkcij a .
Mikroprocesor upotreblj ava taj registar samo z a brisanje
(CE)
odgovarajuće riječi u priručnoj memo
rij i . Pristup adresnom registru priručne memorije
omogućuje instrukcija MOVEC. Slika 8 . 12.d) prika zuj e organizaciju registra CAAR . Mikroprocesor MC 68020 ima ulaznu signalnu linij u CDIS (Cache Disabie) kojom se dinamički onemogu ćava priručna memorij a . Aktivno stanj e na toj linij i , sinkronizirano internim signalom vremenskog vođe n j a , onemogućuje priručnu memorij u .
U postupku stavlj anj a procesora u rad (resetiranja)
priručna memorija se briše postaVljanjem svih bitova valj anosti V u o . Zastavice E i F se također brišu u postupku stavljanj a u rad.
Slika 8 . 13 prikazuje organizaciju priručne memorij e
za 32-bitni mikroprocesor RISC s arhitekturom u
tehnologij i GaAs . Priručna memorij a je veličine I K
rij eči organiziranih kao
1 2 8 elemenata
svaki po osam
rij eči . U tehnici izravnog preslikavanja · bitovi 5 do 1 1
adrese i z upravlj ačke j edinice z a rukovanje memori jom (MMU) upotrebljavaju se kao indeksna vrij ed nost
u
skupovima memorij e značaka koj e sadrže
najznačajnijih četrnaest bitova adrese i određuju uvjete pogodaka (da li j e riječ u priručnoj memoriji ) .
Isti bitovi adrese s bitovima 2 do 4 upotreblj avaju se za čitanje odgovarajuće riječi Uedne od osam) u
priručnoj memoriji . Ako je postignut pogodak (rij eč
j e u priručnoj memoriji ) , podatak se čita i šalje na
sabirnicu podataka. Ako j e promašaj , mikroprocesor
prelazi u stanje čekanj a dok se stvarna memorij ska adresa ne upotrij ebi za pribavlj anje želj ene rij eči u priručnu memorij u .
Mikroprocesor ima dvije priručne memorij e ; j cdnu
za instrukcije i jednu za podatke. One su izdvoj ene ,
ali identične po konstrukcij i . Svaka od tih priručnih
memorij a upravlj ana je posebnom upravlj ačkom je
dinicom za rukovanje memorijom (MMU) i ima
svoje vlastite putove za podatke i adrese . Tako se omogućuj c paralelno pozivanj e instrukcij a i podata ka .
procesor postavlj a adresu (indeksno polj e A2 do A7) u adresni registar priručne memorij e CAAR
i
one
mogućava odgovarajuću riječ u primarnoj memoriji tako da briše bit valj anosti, i to bez obzira da li je pogodak postignut ili nij e .
Zastavica C (Clear Cache) upotrebij ava se za onemo gućavanje svih riječi u priručnoj memoriji . Ako je
8.4. Virtualna memorija Druga generacija mikroračunalskih sustava temeljila
se na S-bitnim mikroprocesorima kao što su Intel
8080, Motorola 6800 , MCS 6502 (tvrtke MOS Tec-
zastavica e postavljena , brišu se stari · podaci u
priručnoj m emorij i - to je potrebno operativnom sustavu kad se izvodi prijenos obrade s j ednog
, Reduced Instruction Set Computer.
176
Naprednije arhitekture mikroprocesora adresa iz
25
I
MMU
4
II
... znač
=r
O
I
14
� dr
adresa riječi
a esa bloka
r
značka
. (
l / Ln
�
r II
I
O
riječ
riječ I
I
I
II
riječ
.
6
I
sabirnica podataka
riječ 7 v
I
OOOO,"
značajnij ih četrnaest bi tova adrese 14
I
l
SI. 8.13. Organizacija prirutne memorije .JJ·Ol/nog mll
hnology) i drugi . Svi su ti m ik ropro cesori imali 16-bitnu adresnu sabirnicu i dopuštali su izravno ad res iranj e 64 K baj ta me m orij ski h lo kacij a .
M ikrop roce sor j e gene rirao a drese koj e su izravno određivale fizičke lokacije u glavnoj me m orij i . To znači da je o d nos između ge n e ri rane adrese i fizičke adrese , odnosno adrese st varne me morij ske lo k acij e bio 1 n ap r a m a 1 .
Ogr ani če nj e a d res abil nog prostora od 64 K po k azal o se k a o izrazi to n e povoljno u pri mj e nam a dis k o vn o g ope racij s kog sustava ili grafike visoke rezolu cij e . Razvij ene su
tehnike k oj e su d opuštale ruk ov anj e većim fizičkim adresnim prostorom, npr. u potreba memorijskih banaka (svaka veličine 64 K b aj ta) k oj e se bi raj u i aktiviraju programski upravljanim pre klopka ma (npr.sustav Cromemco CS-3 na bazi mi k roproces o r a Z80) . Za razu m ij evanj e
n ap redn ij i h te hn i k a ruk ova nj a me morijom potrebno je uvesti pojam logički adresni prostor. Logički adresni prostor L je skup simbolič kih adresa koj e se pojaVljuju u programu i koj e generira mikroprocesor. Fizički adresni prostor F skup je stvarnih adresa memorijskih lokacija.
U p rvim mi kroraču nalski m sustav ima lo gički adresni prostor L bio je j ednak fizičkom adresnom pros toru F.
RISC iz vedenog u tehnologiji GaAs
Upotrebom m e mo rij sk i h banaka fizički a dre sni pro stor F bio je veći od logičkog adresnog prostora L. Me đ u t i m , zbog aktivnosti samo jedne banke u vre menu vrij edi l o je L F. =
16-bitnih mikroprocesora k ao što su Intel ili Motorola M C 68000 pro b lem ruko vanj a
S po j a v o m 8086
memorijom se iz temelja izmijenio . Svjesni potrebe velikog adresnog prostora, arhitekti mikroprocesor skih sustava povećali su širinu adresne sabirnice tako da mikroprocesori mo gu adresirati 1 M, 15 M ili 48 M baj tova. Uvođenjem 32-bitne adresne sabirnice logički adresni prostor se poveć ava na 4 G baj ta (npr . mikroprocesori Bellmac-32 ili MC 68020).
Na nesreću, to nije uklonilo potrebu za ru k ovanj em memorijo m . Unatoč p a du cijene poluvodičkih me m orij a , one i d a lj e i m aj u višu cijenu po bi t u od memorijskih sustava koj i se temelj e na čvrstim disko "Vima ili optički m diskovima koji predstavlj aj u oprem u za sekundarnu memoriju. Cij ena, fizička veličina i potrošak energije po luvodičke memorij e uvj etuj e da se samo mali dio tako veli kog adresabiI nog prosto r a (npr . 4 G baj t a ) stvarn o imp leme ntira kao fizička RAM memorij a .
Proizvođači mikroračunalskih sust ava isporučuju su stave s m emori jom RAM k apacit e ta do 1 M bajt. S druge strane, zahvaljujući padu cijene diska, mikro računalski sustavi i maj u se k unda rne m e morij e ka p a -
177
Posebne značajke arhitekture 16-bitnih i 32-bitnih mikroprocesora
citeta 20, 40, 80 i više M bajta. Cjelokupni memorij ski sustav tada predstavlja hijerarhijski sustav s dvije razine : o Prva razina : Glavna (radna ili primarna) memo rija, koja je skuplja, manjeg kapaciteta i velike brzine ; o Druga razina : Sekundarna memorija , jeftinij a od glavne memorije , većeg kapaciteta i manje brzine.
o Postoji mehanizam adresnog preslikavanja iz logičkog adresnog prostora u fizički , L � F. D Virtualni je memorijski mehanizam posve tran sparentan za korisnika, što znači da je rukovanje memorijom potpuno ugrađeno u operacijski sustav i sklopovsku opremu, pa se korisniku mikro raču nalski sustav čini kao sustav koji prividno ima kapacitet radne (primarne) memorij e jednak kapa citetu sekundarne memorije.
U j edno korisničkim mikroračunalskim sustavima ve liki programski moduli i blokovi podataka pohra njuju se na disk i pune se u RAM memoriju samo onda kada su potrebni, i to tehnikom prekrivanj a (engl .overlay technique) .
Slika 8 . 14 ilustrira osnovnu zamisao virtualne memo rij e. Osnovni je problem virtualne memorije upravo izvedba mehanizma preslikavanj a velikoga logičkog adresnog prostora u puno manji fizički adresni pro stor, odnosno preslikavanje logičke (virtualne) adrese u flzičku adresu. Da bi to preslikavanje bilo djelotvorno , potrebno je logički adresni prostor i fizički adresni prostor podijeliti na blokove . Prema tome da li su ti blokovi čvrste ili promjenjive veličine, oni se nazivaju stranice ili segmenti. Upravo na temelju te značaj ke blokova može se mehanizam adresnog preslikavanja razvrstati na: D ustraničavanje (engl. paging) : mehanizam adre snog preslikavanja upotrebljava blokove čvrste veličine - stranice (sI. 8. 15) ; D segmentacij a (engl .segmentation) : mehanizam adresnog preslikavanja upotrebljava promjenjivu veličinu bloka - segmente (sl. 8 . 16) ; D kombinacij a ustraničavanj a i segmentacije : me hanizam adresnog preslikavanj a upotrebljava seg mente koji su razdijeljeni u stranice (sI.8. 17) .
Tehnikom prekrivanj a premještaju se potrebni pro gramski blokovi ili blokovi podataka s diska na unaprijed određene lokacije RAM memorij e . Međutim , u višekorisničkim sustavima ta jedno stavna tehnika ne zadovoljava, jer mogu nastati konfliktne situacije u kojima različiti korisnici žele različite programske blokove ili pak blokove poda taka smjestiti na iste lokacij e RAM memorije . Sustavi na hazi novijih 16- i 32-bitnih mikroprocesora namijenjeni su upravo višekorisničkom okruženj u i zbog toga rukovanje memorijom postaje složenije. Rješenje je problema rukovanj a memorijom u vir Virtualni memorijski sustav ima sljedeće osnovne značajke : o Logički adresni prostor je puno veći od fizičko ga , L � F, (logička adresa se često naziva virtualna adresa) . tualnom memorijskom sustavu.
logički adresni prostor (v i r tuelni man_pros t o r )
Segmente odreduje programer ili prevodilac i oni su obično logički grupirane informacije (npr.potprogra-
L
fizički adresni prostor F
mehanizam adresnog presl ikallanj a
- 4
1 »1
- 2 I -
I
- lokacija logičkog a dresno g prostora
1
- lokacija fizičkog
adresnog p rosto r a
- 3
L
SI. 8. 14. Osnovna zamisao vinuoinog memorijskog sustava
178
Naprednije arhitekture mikroprocesora
virtualni memorijski prosto r (sekundarna memorij a) stranica O
s t rani c a
fizički adresni prostor (radna memori j a )
stranica
,.+------.-t okvi r stranice O
r....+ . --------I okvir stranice
stranica
stranica N-2
okvi r stranice M-I
stranica N- I
SI. 8. 15. Shematski prikaz stranićenja; radna (primarna memorija i sek unda
i
N»
M
rna memorija podije/jene su u blokove lvrste veliline
p r os to r ( sekundama memo rij a )
virtualni memorijski
segment O fizički adresni prostor ( radna memorija)
segment
segment S
segment 2
segment
I
segment O segment
S
SI. 8.16. Shematski prikaz segmenlacije; segmenli su blokovi promjenjive veliline memorijski prostor ( sekundarna memorija )
virtualni
segment O
segm ent l
segment S- l
segment S
{
{
stranica O - - - - - -
stranica l
stranica 2
stranica stranica l -- - -- - -
�,.f------� okvi r stranice
stranic;:a O
-I
1-------1 okvi r stranice
__
stranica I
strani c a 2 1.-"";';"'''''_ '';';'' --'
O
okvi r stranice l
stranica 2
{ 1-_.s.t.ra.n.l.c.a.O
{
fizički adresni prostor ( radna m e morij a)
stranica O - - - -
. SI. 8. 1 7. Shematski prikaz kombinacije uslranilavanja i segmen/aaje
okv i r stranice N- I
3
179
Posebne značajke arhitekture 16·bitnih i 32·bitnih mikrpprocesora
mi, polja podataka, programski moduli). Zbog toga su segmentni blokovi promjenjive veličine. Stranice, blokovi čvrste duljine , obično su male veličine od 256 baj tova do 2048 bajtova. Segmenti mogu biti veličine 64 K, pa i više bajta. Sustavi koj i upotrebljavaju kombinaciju ustraničava nja i segmentacije rukuju virtualnim prostorom tako da se programi dijele u segmente , a svaki segment u stranice. Preslikavanje logičkog adresnog prostora L u fizički adresni prostor F može se teorijski izvesti potpuno ili djelomično u različitim fazama toka programa ; to može učiniti : o programer za vrijeme pisanja programa, o prevodilac za vrijeme prevođenja programa, o punilac za vrijeme unošenj a programa, o operacijski sustav za vrijeme izvođenja progra ma. Određivanje fizičkih adresa od programera bila j e značajka prvih računala koja nisu imala operacijski sustav i koj a su se programirala izravno u strojnom j eziku. U suvremenim računalskim i mikroračunal skim sustavima, gdje više korisnika međusobno dijeli memorijski prostor, korisniku nije dopušteno određi vanje fizičkih adresa. Prevodilac može izvoditi preslikavanje logičkog adre snog prostora u fizički samo u slučaju jednostavnih programa (programa koji nemaju rekurzivne proce dure i koji su strogo sekvencijaini). Adresno preslikavanje može izvesti i puni lac koji prevedene programske blokove smješta tako da im svakome dodjeljuje čvrste bazne adrese. Takav po stupak razmještanj a naziva se statičko dodjeljivanj e (engl. static allocation) , jer je fizički adresni prostor programa nepromjenjiv za vrijeme njegova izvođe nj a . U sustavima koji podrŽavaju rekurzivne ili pak,kon· kurentne procedure logički se prostor programa može mijenj ati dinamički za vrijeme izvođenja . U tim je slučajevima poželjno omogućuti razmještanje programskih blokova za vrijeme izvođenj a progra ma. U multi programskim i višekorisničkim sustavima gdje se memorija dijeli s više programa različitih korisnika upotrebljava se promjenjivo razmještanje za vrijeme izvođenja programa. Takva se tehnika naziva dinamičko razmještanje (engl . dynamic alIo cation) .
bi t
prisutnosti
Upravo su adresno preslikavanje i podržavanje dina mičkog razmještanj a osnovne značajke sustava za rukovanje memorijom. Postoje dvije osnovne tehnike -adresnog preslikava nj a : o tehnika preslikavanja pomoću tablice u glavnoj memoriji (engl . table-translation technique) , o tehnika preslikavanj a pomoću registara (engl. register-translation technique) . U prvoj tehnici tablica pohranjena u glavnoj memo riji sadrži informacij u koja je potrebna za preslikava nje logičke adrese u fizičku i dodatnu informaciju o zaštiti, te informaciju potrebnu za algoritam zamjene stranica (eng\. replacement algorithm) .
Algoritmom zamjene stranica određuje se stranica koj a će se premjestiti iz glavne memorije u sekundar nu. Slika 8 . 1 8 prikazuje tipičan format j ednog elementa tablice pohranjene u glavnoj memoriji. Bit prisutnosti (engl. residence bit) pokazuje da li je ili nij e stranica (ili segment) u glavno] memoriji . Polje prava pristupa i zaštite određuje svakom od procesa pravo pristupa stranici ili segmentu. Polje za podršku razmještajnog algoritma upotreb ljava se u postupku izbora stranice ili segmenata koji će se zamijeniti. Fizička adresa određuje mjesto stranice ili segmenta u fizičkoj (primarnoj ) memorij i . Slika 8. 19 prikazuje postupak adresnog preslikavanja pomoću tablice u glavnoj memorij i. Ako prilikom transformacije logičke adrese u fizičku sustav utvrdi da je bit prisutnosti O (adresna stranica se ne nalazi u primarnoj memoriji l), aktivira se postupak za zamjenu stranica i pribavlj anje potrebne stranice iz sekundarne memorije. Slika 8.20 prikazuje osnovne komponente sustava adresnog preslikavanj a za mikroprocesor Intel 80286 . Mikroprocesor dopušta dva načina rada: o rad sa stvarnim adresama (eng\ . real address mode) ili način 8086, o rad sa zaštićenim virtualnim adresama (engl . protected virtual address mode). U prvom načinu programi upotreblj avaj u stvarne adrese do 1 M bajta adresnog prostora. U radu sa zaštićenim virtualnim adresama programi upotreblj avaju virtualne adrese. U tom načinu rada
polje prava pristupa polj e za podršku razmještajnog algori tma i zašti te
fizička adresa
L-__________L-__________�________________L__________
Sl. B.1B. Tipični format jednog elementa tablice pohranjene
u
�
____
glavnoj memoriji
180
I
Naprednije arhitekture mikroprocesora logička adresa
I
adresa stranice
-
liDI I I
adresa rij e1:i u stranici
I
SI. 8. 19. Pojedn ostav njeni prikaz postupka straničnog preslikavanja pomoću tablice smještene u glavnoj memo riji
I
fizička adresa .
tablica smještena u glavnoj memoriji
1
1 1 1 1 1 1 1 1 1 1 I I
CPU
- - - - - - - -
I
31
segmentni selektor
I
I I
1 1 I 1 1 1
I _
I
I
L 11
fizička adresa
_
_
-, I
16 15
I
pomak
I
I
� rC? O
23
bazni segmentni registar
_
-
-
- -
I:
1 1 1 11 1 I
I I 1 1 I
i
I I _ _ _ _
I _ _1
primarna memorij a
:::--
operand
I
}
"'--
::�
segmentni opisnik
I
I
t "-'
SL 8.20. Adresno preslikavanje za mikroprocesor Intel 80286
�
}
'"�.o,
tablica segmentmh opisnika
181
Posebne značajke arhitekture l6-bitnih i 32-bitnih mikroprocesora
(baznu) 24-bitnu adr esu segm en ata II primarnoj me m orij i .
centralna procesna jedinica automatski pre slikava 1 G baj t virt ua l nog adresnog prostora u 16 M baj ta stvarnog adre snog pro sto r a .
Š esnaestobitni pomak se prib raj a baznoj segmentnoj adresi te se dobiva stvarna fizička adresa.
U ovom načinu upotreblj ava se i zašti t a memorije
kojom se izdvaja operaci j ski sustav i osigurava nepo vredivost programa i podataka za svaki od zad a t ak a .
Opisana metoda transformacije adrese naziva se
izravno preslikavanje. Transfo rmacij a izravnim pre slikavanjem logičke adrese u fizičku zahtijeva do datni pristup memorij i za pribavlj anj e bazne a drese segmenata (ili stranice) i zbog toga izravno preslika
Mikroprocesor Intel 80286 prelazi
u rad sa zaštićenim adresama p ostavlj anj em zastavice PE (Protectio n Enable). Zastavica PE se nalazi u status r egi s tru . U t o m načinu rada upotreblj avaju se a dre se duljine 32 bita.
virtueinim
Adresa je sastavlj ena od dva dijela : o 16-bitnog segmentnog selektora o 16- bitn o g pomaka.
vanje usporuj e izvođenje programa . Da bi ' ubrzao rad, mikroprocesor 80286 upotreblj ava četiri seg mentna registra (kodni segmentni registar CS , seg mentni registar p od ataka DS, segmentni registar stoga SS, posebni segmentni registar ES) kojima su pri druže n a četiri 48-bitna priručna segmerttna regi stra opisnika (engl . segment descriptor cache r egister sI . 8 . 21) . Ti su priručni segmentni registri opisnika za program "nevidljivi" .
i
Šesnaestobitni se gm e n tni selektor pokazuje na j edan redak tablice smj eštene u glavnoj memorij i . Redak tablice sadrži segmentni opisnik , a
on sadrži početnu
r -
- - - - - - - - - - - - - - - - - - - - -,
pristupna prava
segmentni selektori
l
veličina segmenta
bazna seqmentna adresa
cs DS SS ES 15
o
segmentni registri (pune se programo m )
47
l
I L
_
_
40 39
o
16 15
I I
pri ručni segmentni bazni registri
_
_ _
_
_
_
iPu� � �P�)
_ _ _ _
_
_
_
_ --1
Sl. 8.21. Cetiri segmenta registara s dodatkom četiriju 48-bitnih priručnih segrnentnih baznih registara
10 9
31 ad r esa stranice
pomak
o
logička adresa
(adresa riječi u . st ranici) .
,.
značke za podudaranj e (asocijativno) 5 logičkom adresom
I
Sl. 8.22. Adresno preslikavanje za mikroprocesor Z 8(f(}()()
upotreblj avanih stranica)
I
22 b i ta
31
fizičke adrese
( 1 6 naj češće nedavno
'7 adresa stranice
J
22 bi ta
10 9
� pomak
O
fizička adresa
182
r gra m zaht i jeva
p o
pristup
stranici
Naprednije arhitekture mikroprocesora početak
cent ralna procesna j edinica pro\lj era... a ad r ž a asocij a tivne priručne memo r i j e
s
j
d a li s e opi snik nal azi u asocij ativnoj pri ručnoj memorij i ?
da (pogodak )
ne (promašaj )
izvedi adresne preslikalICInje upotrebom tablice u prima rnoj memorij i
da li je stranica u primarnoj
memoriji?
Sl. 8.23. Dijagram toka za adresno preslikavanje ustraniZavanjem upotrebom asocijativne priručne memorije
Segmentni regis tr i se pune pro gramski , a priručn e registre puni cen tr alna pro cesna jedinica . Svaki pri ručni segmentni re gis t ar op i snik a sadrži 8- b it no polj e koj e određuje pravo pristupa, 24-bitno polje koje sadrži adresu baze segmenta u primarnoj m emo rij i i 16-bitno polje koj e određuje vel ičin u segmena ta. Priručni segmentni registri op isni k a privre me n o po hranj uj u segmen tni opisnik i gase potrebu pozivanj a tablice segm e ntnih opi snik a za svaku instrukciju koja se odnosi na memoriju .
Post up a k
punj enj a priručnih segmenatnih registara opisnika je sljedeći : a pro gra m postavlja selektor u odgovarajući seg mentni regist ar. a procesor pridodaje baznoj adresi tablice opi snika indeks i određuje segmentni opisni k (u glav noj memoriji) . o procesor pr ovje r ava pristupna prava segmentu i kopira opisn ik U odgovarajući priručni segmentni registar opi snik a , a procesor upotreblj ava informacij u u op i sn iku za provjeru tipa se gmenta i veličine segmenta, te za oblikovanje adrese opera n d a .
Posebne znafajke arhitekture 16-bitnih
i 32-bitnih
r0
183
mikroprocesora
cp
za
rutina p r i bavlj anj e stranice Iz sekundarne
operativni
memorije
sustav upu�uje
CPU na p r ibavlj anje stranice iz sekundarne
memorij e
CPU
U/I
aktivira sklopovsku opremu
CPU p re n os i st ranicu s d i s k a u p r i m arnu memo r i j u
da li j e memorija puna?
ne
da
I upotrijebi
algo r i t a m
za zamjenu
stranica
operati \Ini sustav obnavlja tablicu .
I SI. 8.23. (nastavak)
Upotreba priručnih segmentnih registara opisnika ubrzava postupak preslikavanja adresa, ali ipak nije dovoljno djelotvorna. Ovakva organizacija zahtijeva punjenje priručnog segmentnog registra o pi sn i k a iz glavne me mo rij e kad god se upravljanje pre n osi s jednog segmenta na drugi i s t og tipa. Bolj e rješenje adresnog preslikavanja pri mje nj uje priručnu asocij a tivnu memoriju većeg kapaciteta (npr.32 ili 64 registra) k oj a poh ranjuje najčešće nedavno upotrijebljene adrese. Slika 8.22 p ri k a zuj e rješenje adresnog preslikavanja za mikroprocesor Z · 80000 . Tablica smjeŠtena u centralnoj proce snoj j edin ici (CPU) sadrži informa-
cij u o 16 najčešće nedavno upotre blj avanTh stranica. Za svako memorijsko pozivanje uspoređuje se 22bitna logička adresa s adresnim značkama pohranje nim u tablici. Kad se postigne podudaranje, odgova rajuća fizička adresa okvira stranice i lO-bitni pomak (iz logičke adrese stranice ) oblikuje 32-bitnu fizičku adresu. Ako se podudaranje nij e postiglo , procesor poziva transformacijsku tablicu. Procesor na te m elj u algoritma LRU ( e n gl the last recently used) odlučuje koji će se redak tablice u CPU zamij eniti. .
32-bitni mikroprocesor Intel 80386 ima fizički adresa biI n i prostor veličine 4 G baj ta (232 baj ta) . Virtualni adresabiIni prostor j e 64 T baj-ta (246 baj ta) .
Nap rednije arhitekture mikrop rocesora
184
te h n ik e s pristupom regi st r u na temelju sad ržaj a (asocij ativno adresabilni registri) .
D
Sustav na bazi mikroprocesora 80386 može , sa stano or g aniz acije memorije, raditi u slj edećim načini ma : o Sustav s linearnom organizacijo m memorije bez s e gment acij e i ustraničavanj a. o Sustav sa se g m entiran om memorijom - veličina segmenta može biti o d l do 4 G bajta. o Sustav s ustraničavanj em - nepromjenjiva "'Ieli čin a bloka - stranica v el i či ne 4 K bajta. D Sustav s k o mb i n acij o m ustraničavanja i segmen tacij e .
višta
Pri adr e s no m pristupu polje l ogičke adrese određuj e re gi s tar u kojem j e po hranj e n a fizička adresa.
-
Tehnika s pristupom registru na tem e l ju sadržaj a ili tehnika s asocij a ti vni m adresnim registrima omogu ćava pristup registru (koji sadrži fizičku adresu) na te m elj u s adržaj a , odnosno asoc ij a tivn o .
Postupak ispitivanj a podudaranj a adresnog dijela sa sa držaj e m asocij ativnih re g ist a ra iivodi se paralelno za sve rij eči .
Analize su po kazale d a mala priručna asocijativna memorij a značajno povećava brzinu sustava jer omjer p o gotk a (engl . hit ra t i o) odnosno n alaže nj e adrese u priručnoj asoeij ativnoj m e m orij i dostiže
Slika 8 . 24 prikazuje shematski dij agram adresnog preslikavanj a za memorijsku upravljačku j e di ni c u (MMU) MC 6845 l .
,
Lo ička se a dre s a preslikaya u fizičku tako d a se njeno po du d ar a nj e s i nfo rm acij om pohranje nom u 32 asocij ativna registra tc joj s e u slučaj u uspješnog p o dud ar a nj a dodjeljuj e fizička adresa. Logič ka adresa je s ast avlj e n a od 23 bita A l do A23 .
g
,
Slika 8 . 23 prikazuje dij a gra m toka za adresno presli kavanje ustraničavanjem upotrebom asocijativne pri ručne m e mo r ij e
98% .
ispita
.
Sesnaest značajnih bitova adrese (A8 do
umj esto tablice u glavnoj memorij i , upotreblj ava poj edinačno adresabiIne registre koji sadrže parame tre potrebne za preslikavanje . Prema načinu pristupa registru tehnike preslikavanja mogu biti : D tehn i k e s adresnim pristupom registru i 23
8 7
�16 b i t��--- I I
I
I
I
I
I
•••
� O 01 •••
7
bi tova
I
J
logička adresa
A23) memo
r ij s k a upravljačka j e d i ni ca (MMU) pre sli k ava u fi zičku ad re s u (PAS do PA23) . Sed am nižih bitova adrese (Al do A 7 ) "zaobilaze" memorijsku uprav lj ačku j ed i n i cu i čine sed a m manj e značaj nih bitova fizičke adrese (PAI do PA7) .
Tehn i k a adre s nog preslikavanja pomoću registara ,
A I -A 2 3
registar maske
asadj atlvno
pretrafivanj e
r
�
I
0• . . . 0
fizička adresa baze segmenta
s baznom a dresom 2a
opisnik
logičke i
fizičke pro store
I.
bi tovi z a uspoređivanj �
fi zička adresa
23
I
J 8 7
I
LDS
�1�1 L :
_ _
SI. 8.24. Pre#ikavanje logičkog prostora u [izitki prostor upotrebom asocijativnih regi stara (MMU MC 68451)
185
Posebne značajke arhitekture l6-bitnih i 32-bitnih mikroprocesora
Upravlj ačke li n ije UDS i LDS ne preslikavaju se već o s t a j u IinLza izbor b aj t a (na p a m�dr esi UDS O , LDS 1 ili na neparnoj a dresi UDS 1 , LDS O ) i l i z a izbor riječi (UDS O, LDS O) . =
=
=
=
=
=
Opisnik sadrži bazne adrese za l ogičke i fizičke prostore svakog segmenta. Te se bazne adrese mask i raj u logičkim adresnim maskama. Dopuštene su veličine se gme n ata od minimalno 256 bajtova pa sve do 16 M baj tova. Postoj i j edno ograničenje : se gme nt može započeti samo na adresama koje su višekratnik od 2k. Registar maske (sI.8.24) maskira dio logič ke adrese koja sadrži informaciju o veličini segmenta . Maski raju se manj e značajni bitovi A8, A9 , . . . (pre ma veličini segmenta) i oni nemaju utj e caj a na ishod asocijativnog pretraživnj a . U slu čaj u neuspješnog podudaranj a (pokušaj pri stupa nedefiniranom segmentu) ili povrede prava upi s a u se gme nt , m emorijs k a up ravlj ačka j edinica aktivira signal FAULT koji aktivira zamčanu rutinu (engl . trap) , odnosno iznimku .
Memorijske upravljačke jedinice podržavaju vir tualni me morij ski sustav mikroprocesorskih sustava. Memorijska upravljačka j edinica može biti na samom mikroprocesorskom či pu (npr. mikroprocesori Intel 80286 , Intel 80386, iAPx 432 , Zilog Z 80000 ) ili može biti ostv aren a na posebnom či pu (npr. memorij ske upravlj ačke jedinice : MC 68451 za mikroproce c sore MC 68000110, MC 6885 1 za mikroprocesor MC 68020, Z 801 0 za mikroprocesor Z 8003 , NS 1 6082 za mikroprocesor NS 1 6000 ) . Prednost je izv ed b e me morijs ke upravlj ačke j e din i c e na mikroprocesorskom čipu k r aće vrij e m e p ri s t up a , m a k si m al na p re n o s ivo st opera cij s k o g sustava i na mjenskih programa, te smanjenje broj.a kom pon e n ata sust av a .
Izvedba memorijske upravljačke je dini ce na poseb nom čipu dopušta da se oslobođeni prostor na mikro procesorskom čipu d j el o tvorn o iskoristi za druge fu n k cij e .
Zadatak je te rutine da pribavi segment i obnovi sa d rž aj e r egi s t ar a pomo ću t abl i ce p reslik ava nj a k oj a se nalazi u pri m arn oj memorij i .
Višekorisnički sustavi i sust avi za obradu više zada taka zahtijevaju zaštitu i si gurnost m e mo r ij s k og pro sto ra , programa i kor is ničkih zadataka. Memorijski zaštitni mehanizam mora utvrditi adres n u pog re š ku prij e negoli izvođenje instrukcij e koj a u sebi sadrži pogrešku izazove posljedice .
bilna je s procesorima MC 68000, MC 68008 i podržav a virtualni memorijski sustav mikroprocesora MC 68010.
Ispitivanje instrukcije izvodi memorijska upravlj ačka j edinica . Npr. memorijska upravlj ačka jedinica MC 6845 1 uspoređuje adresu memorijske lokacije s pod-
Memorij ska up ravljačka jedinica MC 68451 kompa ti
aplikacijski programi
SI. 8. 25. Celiri razine privilegiranosli mikro procesora Inlel 80286
PL =O
najviša razina privilegi ranost i
186
ručjem valj an osti mu.
Naprednije arhitekture mikroprocesora
za način
koj i je dodijeljen progra
Procesor MC 68000 d aj e informaciju memorijskoj ' up ra vl j ačkoj jedinici o nač inu i adresi za sv ak i pristup memorij i.
Uspoređivanjem se utvrđuje valjanost p ristu pa . Ako je pristup ne valj a o (nije postignuto podu dara nj e procesorske informacije i informacije sadržane u opisu segmenta ) , memorijska upravljačka jedinica gene rira zahtjev za pre kid ili iznimku .
Zaštita p rogra m a i korisn i ka može biti hij e rarhij ska ili prstenasta i nehij e rarhijsk a .
Hije rarhijski zaštitni sustav sastoji se od zaštitnih razi na ili prstenova. Dvije su osnovne značajke takva susta va : D p rogra mi mogu pristupiti po d acima samo unutar razine ili u nižim razin am a , D program može za h t ij eva t i posluživanje u istoj ili u v i šim razinama.
U n e hij erarh ij skom zaštitnom su s t avu za sv aki je zadat a k definirana tablica o pera c ij a koja o d re đ uje k oj e op e ra cij e mogu u tj eca ti n a dru ge zadatk e u
sustavu .
Vodeći 16-b i tn i i 32-bitni m i krop roce so ri imaj u u svoj oj arhitekturi već ugrađe ne kom ponen te koj e omo gućav aj u j e dn os tavnij u programsku izvedbu fun kcija zaštite. Mik ropro ce so ri MC 68000 , Z 8000 i NS 16000 im aj u dva načina rada ili dvije razine privil egir anos ti (kori s ni čki način i n adg le d ni način) . Mikroprocesor MC 68020 ima meh anizam koji d opušt a vanj skim skl opo vima de fini ran j e do 256 razina u nutar ko ri s ničko g načina.
je omogućeno ins trukcij o m CALLM koj a poziva vanjski opisnik programskog modula. Taj opisnik sadrži vanj sku i nfo rm ac ij u za ulazak u pozvani mo d ul . Slika 8 . 25 p rika zuj e sustav sa četiri razine hijerarhijske privilegiranosti za m i krop roce sor Intel 80286.
To
Sigu rnost me morij sk og prostora, programa i zada taka odnosi se na o graniče ni pristup informaciji. Ona se ostvaruje pridruživanjem svakom procesu prava pri s tupa stranicama ili memorij skim segmentima. Prava su obično trojaka : D p rav o čitanj a ; proce s mo že dobiti i nform acij u iz neke st ani ce il i segm en t a , D pr av o upisivanja , D prav o izvršavanja ; proces može upotrijebiti stra nice ili segmente u kojima se nalaze programi i te pr ograme izvesti .
8.5. Algoritam Binary
Buddy
Jedna je od osnovnih značajki mikroprocesorskog virtualnog m emorijskog sustava da p o drž ava dina
mičko razmje!tanje.
Mehanizam dinam ičko g razmještanja omogućava di namičko smještanje programa ili dijela programa tako da se on može za vrijeme izvođen j a po hranj iv ati u sekundarnoj me moriji ili iz nje p oziva ti i pohranji vati na r azličit e memorijske lokacij e glavne memorije (naravno bez ponovnog prolaska kroz pu ni l ac) . To se postiže operacijskim sustavom koji namješta sad ržaje baznih segmentnih registara na nove početne adre.se fizičk o g pr ostora . Memo rij s ka up rav lj ačk a jedinica MC 6845 1 podržava
dinamičko razmj eštanje programa. Jedinica je tako oblikovana da podrža va algori ta m B i n ary Budd y za dinamičko razmještanje . Algoritam se zasniva n a pre t raživanj u liste raspoloži vih me morij s kih spre m n ik a i t r aženj u slobodnog spre m n i k a o dgov a raj u će ve liči ne . Memorij ski pro stor mikroprocesora ra zdij e lj en je na sp re mn i k e u koje se mogu smještati segmenti ve liči n e od 256 baj tova do maksimalne veličine od 256 K b aj t ova . Slika 8.26 pri k azuj e l istu r a spol o živih memorijskih spremnika. Svak i element liste memo rij sk i h sprem nika sadrži informaciju o skupu sprem ni k a i ste veli či ne . s as toj i se od liste trij u polj a : polja
čelnog kazal a (engl . head pointer) , polj a zav ršnog kazala (engl . tail poi n t er ) i polj a k oje pok azuj e broj Element liste
sl obod n ih spr e mn i k a određene veličine. Čelno ka zalo pokazuj e u slij edu sp remni k a na p rvi spremnik određene veličine , a završno kazalo pokazuje na posljednji spremnik u tom sl ijed u . P olj e b roj a slo bodnih spre m ni k a skr a ćuj e vrijeme pre traži v anj a kad nisu raspoloživi sp re mn ici određene veliči ne . Svaki je spremnik opisan, opi sn icim a . Slika 8.27 prikazuje p rimj e r liste raspoloživih memorijskih spre mn ika i njihove opisnike : D sp re m ni ci veličine 256 b aj to v a , 512 bajtova i 1 K baj tova nisu raspo l oživi ; broj slobodnih sprem nika je p os tavl j en na O, D raspo l ož iv a su dv a s p re m ni k a veličine 2 K bajta i za njih su prikaza ni opisnici.
Opišimo algoritam Binary Buddy na primjeru za htjeva za dodjeljivanjem spremnika veličin e 256 b ajtova . U prvom koraku is p i tuj e se lista raspoloživih sp re m n i k a . Ako element liste koji o pisuj e spremnike ve li čine 256 b aj tova pokazuj e da je spremnik raspo loživ, on se dodj elj uje , a broj se slobodnih spremnika umanjuje za j edan i postupak se dodjeljivanja završa va. Ako , m e đu tim , nema slobodnih sp remn i ka o dgo varajuće veličine, pretražuje se elemeilt liste sljede ćih većih spr e mni k a ( veliči n a spremnika raste s po-
l ista raspoloživih spremnika
vel ičine 256 bal tova
čelno kazalo
završno kazalo
broj slobodnih spremni ka
čelno k azalo
zavr!no kazalo
broj slobodnih spremnika
i 024 bajtova
čelno kazalo
završno kazalo
broj slobodnih spremnika
veličine 256K bajtova
čelno k azalo
z avrino k azal o
boj slobodnih spre m nik a
veličine 5 1 2 baj tova
vel ičine
Sl. 8.26. Lista raspoloiivih spremnika za algorilam Bi1Iary Buddy
veličina spremnika
256 baj tova
broj slobodnih sp r em n i k a = O
5 1 2 bajtova
b ro j slobodnih spremnika-O
I K baj tova
broj slobodnih spremni k a = O
2 K baj tova
.r
čelno kazalo
l
�
z a vršno kaza l o
1
vel ičina segment a
vel ičina segme n ta logička bazna adresa
maska logičke adrese
- muke l o gi č k e a d rese
f i z i č ka b azna a dres a
st a tus
prostora
maska adrl!Sno g p ros tora
8.27.
slobodan/zauzet
adresa segmenta nasljednika
Sl.
adresa prethodnika
lo gi čka bazna adresa
b ro j adresno g
1
broj slobodnih spremnlka=2
.
�
a d resa p re tho dni ka
I
fizička bazna adresa broj adresnog prostore
r--
maska adre.nog
prostora adresa
status
slobodan/zauzet
s egme n t a nasll edni ka
Primjer liste raspoloiivosti memorijskih spremnika
opisnika
I--
188
Naprednije arhitekture mikroprocesora
zahti j ev za dodj elj ivaAj em memorijskog se menta � vel ičine 2
memorijsk ih k
pretra!1 l istu raspolo!i vih
spremnika vel ičine 2
da
da li j e spr'kmnik veličine 2 slobodan?
ne
rezervi raj
da li je k > M
prenesi oplsnik u MMU jedi nicu i ispi laj status seg.
da
>-------,
postavi zahtj ev za čekanj e
ne
u rep
prelraži l istu raspoloživih memarij skih sprem ka f------...., ve l i č i ne 2�
ne
2
k
slobodan ?
kraj izuzmi 2k s l iste l:, od ih e p � j edan spremnik 2 prl dodaj listi raspoloživlh,a j edan rezervi raj za z ahtj ev
slobodni spremnik podij eli na dva (k = k - I )
ne
da
SI, 8.28, Dijagram loka algoritma Binary Buddy (faza dodjeljivanja spremnika)
tencijom broja 2) - to znači spremnik veličine 5 12 baj tova . Pretpostavimo da element liste pokazuje da nema slobodnih ni tih spremnika. Postupak se nastavlja pretraživanjem sljedećih većih memorijskih sprem nika - spremnika veličine IK bajta. Pretpostavimo da j e spremnik te veličine raspoloživ . Kad se takav spremnik pronađe, on se briše iz liste
raspoloživih spremnika veličine 1 K bajt i dijeli se na dva spremnika po 512 bajtova. Jedan se spremnik dodaje listi raspoloživih spremnika veličine 512 baj tova, a drugi se spremnik ponovo dijeli na dva spremnika veličine 256 bajtova.' Jedan se od tih spremnika dodjelj uje, a drugi se pridodaje listi raspo loživih spremnika veličine 256 bajtova. s
Spremnici koji nastaju dijeljenjem Ill!Zivaju', se »drugovima« , .kompanjonima« ili »dionicima. (engl. buddy),
vel ičina spremnika bra
2 5 6 bajtova
S 12
baj tova
I
I
čelno kazalo
završno k azal o
l
opisnik
spremnika I K
•
•
I I I I I I I I I L
I broj
slobodnih sprem. = 2
o pisnik
logička bazna adresa 6000H fizička 3000H
spremnika
I K
segment: sl obodan
segment: slobo dan
-
sl obodnih sprem . = O
l
I
r
broj
L-��____�____.-_____
1 0 24 baj tova
j slobodnih sprem.=O
•
bazna adresa
logička bazna a dresa 9000H fizička bazna adresa 2000H
1
T r---...
a dr e sa
T
f i zička memorij a
�
J400H
_ _ _ _ _ _
_ _
-
i K
memorijski
blok
I K
memorijski
blok
3000H
�� 2400H
-
2000H
SI. 8.29. Slanje liste raspoloiivih memorijskih spremnika i memorije prije dodjeljivanja segmenata veličine 256 oajtova
d ij agram toka algoritma Binary fazu dodjeljivanj a spremnika.
Slika 8 . 28 prikazuje
Buddy za
Slika 8 . 29
rijskih
prikazuje s tanj e liste raspoloživih memo i mem orij e prije dodjelj i vanja 256 bajtova .
�premnika se gme na ta veličine
Slika 8.30 p rikazuj e stanje nakon do djelj ivanj a spremnika veličine 256 baj tova . Spremnik od 256 bajtova dobiven je dijelj enj em spremnika veličine
1024 bajta na jedan spremnik spre mnika od 256 bajtova.
od 512
bajtova i dva
VeHčina spremnika
256
j ova
�
?a
l
. ;s
broj
256
opi sn.i k
f
Er
spremnika
�
I
�
I -S:
5 1 2 baj tova
{3 � ;;
�
L
I
..:!: "
�
i J
�
_
_ _
J400H
_ _ _ _ _
_ _
završno kazalo
I
_ _ _ _ _ _ _ _ _
broj
slobodnih spremnika
=
I
� _ ll�_
I
baj tova
čelno kazalo
l
5 1 2 baj tova memorije
zavr§no kazalo
I
broj slobodnih
spremnika
•
I
r I I ZDOOH I I I I I I I
I
spremnika 1 024 bajtova
I
opisnik
segment: slobođan
bo
S. �
;- t \4
2>6 b aj tova memorij e
2400H
t 1 024
J2 00H
256 baj tova memorije
JOOOH
sp remnika 5 1 2 ba/ tova segment: slobodan
Q
i:
_ _ _
eel
�
�.
_ _
r:
o p i sni k
"
l
�
. j-'
�
�.
_ _
fizička rnemorija
segment: slobodan
j
,
i
sp r e m n i k a
2 5 6 baj tova
:
Q
slobodnih
opisnik spremni k a
ba/tova
segment: zauzet
�
cs-
[--
ba t
L-----
- - - - - - - -
s i s temske
tab l ice
--
-
-' -
-
_
]
:
_ _
J
I K memo rijski blok
� � �:
:;.
"
�. � :l
� � a
.g
�
191
Posebne značajke arhitekture J6-bilnih i 32-bitnih mikroprocesora
po�etak faze oslobadaRj a spremnika v e l j � i n e 2
promiienl zastavicu statusa
segmenta u
"slobodan"
da l i je njegov
"drugI! slobodan?
da
.. )--;;.;;.------.,
ne oba. spremnika briši iz l iste spremnika vel i t ine
;!<
unesi j edan u listu sprem nika vel i � i ne 2k . I
kraj SI. 8.31. Dijagram toka algoritma Binary Buddy za fazu oslobađanja memorijskih segmenata
Slika 8.31 p rikazuj e dijagram toka algoritma Binary Buddy za fazu oslobađanj a memorijskog segmenta. Kada progra m oslobađa memorijski segment , on ga vraća u skup raspoloživi h memorijskih segmenata Zastavica koj a označava status segmenta postavlj a se u "slobodan" . Pripadani se opisnik u memorijskoj u pravlj ačkoj j edinici (MMU) oslobađa i segment se p rid ružuje listi raspoloživ ih segmenata. Nakon toga se ispi t uj e da li je njiho v "drug" , ili dionik koji je također nastao kao rezulta t dijeljenj a većeg sp re mni ka , slobodan. Ako jest, oba se sp remnika uklanjaj u liste raspoloživih m emo rijskih spre m nika i stapaju se u veći spremnik P o s tu pak s tapanj a segmenata-"dru gova" sprečava ak um u lacij u vcli kog broja malih .
"
.
segmenata .
"
8.6. Memorijska upravljačka jedinica MC 68451 Memorijska upravljačka jedin ica MC 68451 omogu ćava adresno preslikavanje i zaštitu 16-megabajtnog a dresabilnog prostora za sustav građen na temelj u m ik roprocesora MC 68000. Ona je osnova m emorij skog upravljačkog mehanizma u mikroprocesorskoj porodici M 68000. U mikroračuna1skom sustavu ope racijski sust av je odgovoran za sigurno i zvođenje korisničkih zadataka u programsko m okruženju. Upravlj anj e memorijom j e upravo u ne p osrednoj vezi s tom odgovornošću . Memorijski upravljački mehaniza m , temeljen na MC 6845 1 , o mo guć ava
192
Naprednije arhitekture mikroprocesora
operacij s kom sust avu dodj elj ivanj e , u pra vljanj e i aštitu m e morij e sus tav a . Memorij ski upravljački mehanizam dijeli logički adresni prostor u dij elove koji se n azivaju se gmenti. Svaki segment pri pad a logičkom pr ostoru n ekog zadatka i po moću memorijskog upravljačkog meha nizma p reslik ava se u fizi čki adresni prostor. Zadaci mogu imati različit broj segmenata. Segmenti se mogu definirati kao korisnički ili nadgledni (u zavi snosti od načina rada mikroprocesora) , samo seg menti podataka, samo programski segmenti ili mije šani segmenti (se gm en ti pod atak a i program a ) . Seg menti, nadalj e , mogu bi ti definirani tako da im može pristupiti samo j edan zadatak il i mogu biti dijelj eni između dva ili više zadataka. Svaki segment može biti još i zaštićen od neovlaštenog upi siva n j a i tako osigura v ati cjelokupnost sustava.
z
Za vrij e me svak o g sabirničkog ciklusa vodeći ili priv re m e n o vodeći modul u sustavu M68000 generira up,ravlj ačke signale FCO do FC2 i pom oću njih pobl i že definira adresni prostor koji će se upotreblja . vati u tom ciklusu. Adresa pri sutn a na adresnoj sabirnici određuje lokaciju u izabranom adresnom prostoru. Funkcijski kod koji se poj avlj u j e na uprav. Ij ačk i m li nij am a FCO do FC2 d ijeli memorijska pozivanj a u dva logička adresna prostora : nadgledni i korisnički. Svaki se o d njih dalje dijeli n a prostor podataka i programski prostor. Poseb an se adresni prostor (od re đen ko mbin acij o m FCO 1 , FCl 1 i FC2 1) upotreblj ava za i n te rne aktivnosti mikro procesorske j edinice (u postupku potv rd e pre kida) . Tablica 8. 1 prikazuje razine si gn al a na upravlj ačkim linij a m a FCO do FC2 i od gova raj ući adresni prostor. Ako su adresni prostori vanjski odij elj e ni , procesor može adresirati do 64 M bajta me morij e . Slika 8.32 pr ik azuj e adresne prostore m i k rop roce so ra MC 68000 . Uz tri l inij e funkcijškog koda FCO do FC2 =
=
=
Tablica 8. 1.
Funkcijski kod FCO do FC2 '
funkcijski kod
FC2
sabi rnički ciklus
stanje, rezer-
FCl
FCO
L
L
L
( nedefinirano virano)
L
L
H
korisnički podaci
L
H
L
korisnički
programi
L
H
H
(nedefini rano, rezervirano)
H
L
L
(nedefinirano, rEzervi rane)
H
L
H
H H
podaci
u n adgl ed nom
u
H
L
programi
H
H
potvrda prekida
načinu
memorijska upravljačka jed inica MC 6845 1 pre dviđa i u pot rebu četv rtog upravljač kog ulaza FC3 . On
dopušta mogućnost p oj aVlj i vanj a drugog vodećeg modul a u sust av u . Upravljački ulaz FC3 tada se priključuje na upra vlj ački signal p otvrde dodjele sabirnice BGACK i time omogućava i dru gi skup od osam funkcijskih k odova .
U kon fi gur acij am a koje imaju samo jedan vodeći modul (mikroprocesor) priklj uča k FC3 se spaj a na logičku O i sustav koristi samo j ednim skupom fun kcij ski b kodova (sI.8.33) .
Adresni prostor zadataka u sustavu sastoji se od svih segmenata koj i su definirani za taj zadatak (sI . 8.34) . Tom j e adresnom p rostoru zadatka j e dnoz načn o dodijeljen bra/, u polj u broja adresnog prostor a (ASN) op is n ik a segmenta. Broj tekuće aktivnog zadatka se pohranjuj e kao' odgovarajući element u tablicu adresnog pros/ora AST. Tablica adresnog prostora AST je skup registara koji defin i raj u koj i će se segment za datka upotrijebiti u ob l ikov a nj u adrese za svaki tip ciklusa. Svaki je element tablice adresnog prostora AST dulj in e 8 bita. Tablica je veličine 16 registara - svaki element o d gov ar a jednoj od mogu ćih vri je dnosti fun k cijskog koda (sI.8 . 35) . Svakom j e elementu u tab lici AST do dij e lj e n broj zadatka ASN i on se upot reblj av a za izbor opis n i ka k oj i će se iskoristiti u postupku transformacij e a dre se .
Logi čk a se a dre s a pomoću j ednog od trideset i dva opisnika transformira u fizičku adres u . Slika 8.36 prikaz uje postupak transformacij e adrese. Opisnik se s astoj i o d šes t registara koj i opisuj u memorij ski segment i način kako se taj segment presli k av a u fizičke adrese . Slika 8.34 prikazuje organizacij u opi snika. Svaki od 32 opi snik a s a drži b az ne a dre s e l ogičkog i fizičkog prostora svakog segmenta. Te se bazn e adrese maskiraju maskama logičkih adresa. Veličina segmenta se određuje pomoću stanja "don't care" u maskama. Veličina segmenta može biti 256 baj tov a (minimum) do 16 megabajtova, a segment može zap očet i samo na adresi koja je više kratn i k broja 2k (vid i algoritam razmještanj a Bi n ary Buddy) . Pos tu pak t ra nsformacij e logičke adrese u fizičku a dresu može se opisati ova ko :
Mikro proce sor generira logičku adresu koja je defini rana stanjem adresnih linij a Al do A23. Se sn ae s t z načaj nij ih bitova adrese (A8 do A23) prenosi se je d inic i MMU i preslikava u fizičku adresu (PA8 do PA23) (sI . 8 . 33). Sedam n aj manj e značajnih bitova adrese (Al do A7) " zaobilaze " jedini cu MMU i predst avlj aj u izravno sedam najmanj e zn ačaj nih bi -
načinu
nadglednom
•
Taj
se
broj festo
naziva i
broj
zadatka
(engl.
task
number).
Posebne značajke arhitekture 16-bitnih
193
i 32-bitnih mikroprocesora nadgledni način
program
potvrda prekida
L I
D
R /W AS
R/Iii AS
loqička
�
adresa AS-A23 "-
MAS
memorijski modul
R/W
Mapped Address
5trob
fizička daresa PAS-PA23
MMU MC 6845 1
IRO FAO[i
BERR
I
MC 68000
FC3
A I -A 5
IPL
-
F C O -FC 2
r
v
podaci
o
L--__--.! FFFFFF
Sl. B.32. Adresni prosIor mikroprocesora
F C O -FC2 A I -A 2 3
program
FFFFFF
l
mikroprocesor
korisnički način
podaci
--
PA I - PA ? J
/'-..
v
j
A I - A7
Sl. B.33. Konfiguracija mikroprocesor - MMU - memorijski modul
' tova fizičke adrese (PAI do PA?) . Upravljačke se lin ij e UDS i LDS ne preslikavaju.
logička bazna adresa (LBA ) m aska logičke adrese (LA M )
fizička bazna adresa (PBA ) b r aj
adresnog prosto r a (ASN)
I
sta tU5 -regi star segmenta (SSR )
maska adresnog prostora (ASM)
I.
8 bita
.1.
SI. B.34. Opisnik memorijskog segmenta za
8 bila
MMU MC
68451
Na temelju funkcijskog koda FCO do FC2(FC3) i tablice adresnog prostora određen je broj adresnog prostora ASN, odnosno broj zadatka. Da bi jedinica MMU transformirala l ogi čku adresu u fizičku , mora se postići podudaranje sljedećih elemenata u j ednom od 32 opisnika : D Broj adresnog prostora ASN dobiven iz tablice AST mora se, II skladu s maskom adresnog pro stora u pisanom II opisnikll , podudariti s brojem adresnog prostora ASN pohranjenim u opisniku . o Logička bazna adresa pohranjena u opisniku mora se , u skladu s maskom logičke adrese ,
Naprednije arhitekture mikroprocesora a
----
AST O
.-
- I
AST l
Tablica adresnog
prostora AST
k o r i s n i č k i podaci
4
AST 2
korisnički program
AST )
1-I
MPU
AST 4
8
AST S
A
nadgledni
AST 6
C
"", ' . 00; "., .. m
AST 7
E
potvrda p rek i da ._
AST a
10
AST 9
12
AST 1 0
14
AST
I I
16
A ST
12
18
AST 1 3
lA
AST
l l,
IC
AST
15
lE
l
Sl. 8.35.
adrese (heksadek adno)
Dd 32
podaci
I OMA
opisni k a
O
l o g i č k a adresa
f i z i č k a adresa r-..
-v'
tablica
V
j
I
AST
f unkcijski kod F C O - F C 2 "FFFFF
Sl. /l.36. Postupak transformacije adrese
pod udari t i S l ogičkom adresom A8 do A23 prisut nom na adres noj sabirnici. o Stanj e uprav lj ačkog sign al a RfW mora biti u skladu s bitom u segmentnom status-registru koj i
bazne adrese (pohra nj ene u op i sn i ku koji je izabran na temelju u spj ešnog podudaranja), te adrese Al do A7 i maske logičke adrese .
Tek kad su ispunjeni svi ti uvjeti o bli kuj e se fizička adresa PAI do P A23 koj a se dobiva uz pom oć fiz ičke
Progra m ski model jedinice MMU MC 68451 �stoji se o d dv ij e grupe registara :
odreduje pravo upis a u segment.
Slika 8.37 prikazuje funkcionalni blok-dijagram po stupka oblikovanj a fizičke adrese u jedinici MMU .
Posebne značajke arhitekture 16'bitnih i 32-bitnih mikroprocesora
195
FCO - FC2
funkcijski kod
logička adresa AS-An
A I ·A?
!
16
-Z
J
!l
m ask a a dr es nog prostora
Jjladre.a O9lčka bazna
maska
adresna maska
bi t
upi sa WP
a dresnog
broj
pros ora
1
zaštite ( i z segmentnog statusnog reg istra )
I
maska
podudaranje
logička
R/W
broj adr�g
s to ,. .;. ro _ tab l ica a d r esflo g _..p_ ___... pros to r a AST
podudaranje
I
podudaranJe prostora uspJeIno
uspj ešno podudaran j e opsega
bez povr ede
fizička bazna
I
TI
" /
ob l i k OlIanje fizičke .adrese
PAB-PA 2 J
r T L �� l f i z i č k a adresa
D
opisnika
�
______________
.
o
l do 32
�
Sl. 8. 37.
Funkcionalni blok.dijagram postupka
grupe od 32 opisnika , grupe sistemskih registara.
Svaki od 32 opisnika sastoji se od šest registara, odnosno devet baj tova i definira jedan od memorij skih segmenata.
Logički bazni registar (LBA) dug 16 bita i sadrži baznu l ogičku adresu. Zajedno s registrom maske logičke adrese (LAM - Logical Address Mask) koji j e takoder dug 16 bita, upotreblj ava se za definiranje logičkog adresnog prostora segmenta : Bitovi u' regi stru LAM upotreblj avaju se za definiranje onih bitovnih pozicija u registru LBA koje će se upotrije biti u postupku podudaranj a opsega (51 . 8 . 37). Jedi-
oblikovanja adrese u MMV
nice u m asci označavaju mjerodavne pozicije za podudaranje. Podudaranje opsega j e uspješno ako se podudaraj u logička adresa LA i sadržaj registra LBA na svim bitovnim pozicijama koje su u registru LAM postav ljene u ·1 . Sesnaestobitni registar fizičke bazne adrese PBA pohranjuje fizičku baznu adresu. Ona se sa sadrža jem registra LAM i prispjelom logičkom adresom upotrebljava za oblikovanje fizičke adrese (sI . 8 . 31) . Slika 8.38 prikazuje oblikovanje pojedinog bita fi zičke adrese u zavisnosti od logičke adrese, sadržaja
196
Naprednije arhitekture mikroprocesora
prispj e l a
logička �dresa (bit n)
IZ registra
maske log.
adresa (bit n)
ad r ese ( b i t n)
fizi č k a
i z r egistra fizičke bazne -'P n):._ .. ______ -.,:;B:;,.A;,.:.(;.:,
--.,
adrese (b i t n)
Sl.
8.38. Oblikovanje pojedinog bita fizičke adrese u zavisnosti od logičke adrese, sadrtaja registra LAM i sadrtaja registra fizičke bazne adrese PBA
registra LAM i sad ržaj a registra fizičke bazne adrese PB A .
Osmo bitni regis ta r broj a a dres nog prostora ili broja z adata k a ASN također j e e lement op isnika i upot reb lj ava se zajedno s registrom m aske a d re sn og prostora ASM za u tvrđivanj e po d ud a ranj a s broj em a d re sn og prostora koj i se d obi va iz ta bli ce AST na temelju fu n k cij skog koda FCO do FC2(FC3) .
B roj adresnog prostora koji se dobiva i z t ab lice AST (u zav isnost i od vrste sabirničkog ci klus a) preciznije ćemo nazivati ciklusni broj a dre sn og prostora ili sa mo CASN. Osmobitni registar koj i se naziva maska adresnog prostora ASM p o h ran juje masku koja se u p otr e b lj ava u po s tup k u podudaranja opisnika . Po du d aranj e ASN (sadržaj registra adresnog prostora) i CASN ( broj a a dre sn og p ros tor a dob ive nog . iz tablice A ST) u spj e š n o je ako se međusobno po du d ar aj u bitovi na p oz i cij ama koje od gova raj u l u registru A SM .
Status-registar segmenta SSR p o slj e dni je element opisnika i s astoj i se od šest zastavica (sI.8.39) : 4
2
I
o
Sl. 8. 39. Status-registar MMU jedinice o Zastavica U (e n gl . used) pokazuje da li je segment upotrijebljen . Ako se seg men t u pristupilo od- tren u tk a kad je bio defin ir an , zastavica U se p o sta v lj a u 1 . Mikroprocesor može postavljati zas tav i cu U ili je brisati . o Z a s t av ica I (engl . i n te rr u p t ) ima upravljačku funkciju i omogućava generiranje zah tj ev a za pre kid u trenutku pris tupanja segmentu . Mikroproce sor postavlj a ili briše za s t avicu I u registru SSR j e di ni c e M M U . o Zas t avi c a lP (engl. i n t e rru pt p en d i ng ) po st avlj a se u 1 ako j e zastavica I postavljena i ako se p ri stupilo segmentu. o Zastav i ca M (engl . modified) ' p o st avlj a se u 1 ako se segmentu pristupilo i ako se u segment u pisivalo .
'i1
Zastavica WP (engl. write prot e ct) upravlj ački je bit koj i o d re đ uje da li je segment zaš ti ć en od up i siv anj a . Ako j e WP l, pok uš aj u p is a u seg ment p rouzro kovat će pov redu prava upisa . Jedi n i ca MMU će aktivirati upr avlj ačk u l in iju FAULT. o Zastavica E je upravljačka zastavica koja dopu šta segmentu , kad je po stavljen a , su dje lovanje u pos t up ku p o d ud aranj a . =
Grupu sistemskih registara jedinice MMU čine ta blica adresnog prostora , akumu lat o r i regi st ri m j e šo vite n amj e n e ( k az al a opi snika , lokalni i globalni s t at us - re g i st r i , re gi s tr i pre k id n og v e k to ra ) . ledinica MMU ima lokalnu k op ij u tablice AST. Tablica se sastoji od šesnaest 8-bitnih regi sta ra . Sadržaj svakoga od tih šesnaest registara d efini r an je ope racijsk im sustavom i predstavij a jedi ns tve ni broj adresnog prostora koj i se p ridru ž uj e sv a ko m za d at ku .
Za vrij e m e m emo rij s ko g pri s t up a j e din i ca MMU izab ir e ciklusni adresni broj prostora na t e m elj u funkcijskog koda FCO do FC2(FC3) , koji se u p ot re b lj ava kao kazalo u t abl ici AST. On se upo tr e b lj av a u pos t upku p o d ud aranj a s ASN u u sva kom od 32 opisnika (sI . 8 . 38) . U sustavima k oj i dopuštaj u dva ili više vodećih modula na ulaznu se l i n ij u FC3 j e di ni ce MMU priključuje signal BGACK.
Akumulatori ACO do A C 8 upotrebljavaju se za pristup o pis n ic im a i sadrže sliku o p i sni k a , a upotreb lj avaj u se i za izravno prevođenje adresa i pohranji vanj e informacij a za vrij e m e neuspješnog podudara nj a ( pristup nedefiranom segmentu) . Registri mj e šo vite n a mj e n e upotrebljavaju se u različitim operaci jama j e din ice MMU : o 8- b i tni registar kazalo opisnika (DP) up otre b l j ava 5 manj e značaj nih bitova DPO do DP4 za a d r esi ranj e jednog od 32 opi snika u operacij ama pohranj ivanj a op isn ik a u jedinicu MMU te či tan j a i p o hr an j iva nja status-registra segmenta. o 8-bitni re gis t a r globalnog sta tu s a (SR) pohra nj uj e informaciju koj a je zajednička svim j e di n i cama MMU u sustavu. Sve j e di n ice MMU od rž a vaj u ide ntičn u informaciju u GSR.
197
Posebne značajke arhitekture 16-bitnih i 32-bitnih mikroprocesora
8-bitni registar lokalnog statusa (LSR) pohra njuje informaciju u kojoj se odražava lokalno stanje pojedine jedinice MMU (npr. da li se signal FAULT aktivirao u ciklusu čitanj a ili pisanja (zastavica RW) , da li je izravno preslikavanje bilo uspješno, odnosno da li je postignuto podudaranje . s jednim o d opisnika jedinice MMU i sL ) . o 8-bitni registar rezultantno kazalo opisnika (RD P) može se samo čitati i pokazuje da li je opisni k bio uključen u ovim događajima : povredi prava upisa, neuspješnom punjenju opisnika ili uspješnom izravnom preslikavanju . o Registar-kazalo opisnika uzročnika prekida (ID P) je 8-bitni registar koji sadrži informaciju koj i je od opisnika prouzrokovao prekid . o Registar prekidnog vektora (IVR) je RIW 8bitni registar koji pohranjuje prekidni vektor. Nj egov se sadržaj postavlja na linij e podataka DO do D7 za vrijeme ciklusa potvrde prekida . o
Na kraju ovog odjeljka pogledajmo primj er adresnog preslikavanja pomoću memorijske upravljačke jedi nice MC 6845 1 . Pretpostavimo da je u sustavu definirano šest segmenata sljedećim opisnicima : Segment
A
B
e
D
F
E
Logička bazna adresa (LBA)
OOOO 7FFF
Maska logičke adresa (LAM)
EOOO COOO FOOO FOOO EOOO FOOO
Fizička bazna adresa (PBA)
9000
OOOO 7FFF AOoo
2000
BFFF
B roj adresnog prostora ( A SN)
01
01
01
02
02
02
Maska adresnog prostora (ASM)
7F
7F
7F
7F
7F
7F
EOOO 1000 7FFF EOOO
Pretpostavimo da je mikroprocesor postavio na adre snu sabirnicu adresu :
1 0 l , \ 1 \ \ 1 \ \ \ \ 0 \ 1 \ 1 \ 0 101+ \ 1 1+ \oil h \ 1 1+ \ AI9
o
AI5
o
o
All
A7
AJ
AO
o
a je na temelj u funkcijskog koda FCO do FC2 iz tablice adresnog prostora AST dobivena vrijednost za CASN : . CASN
=
rB 0 \ 0 \
bO
b3
b7
o
b7
I I I 0\ 11 O
CASN
O
bO
b3
10\1\1\ 111\ 1\ 1\ 1\
ASM ASN, zadatak I (segmenti: A. B. C) ASN. zadatak
2 (segmenti: D. E. Fl
Ispitival!jem uspješnosti podudaranja utvrđeno je da se ASN zadatka 1 , odnosno ASN opisnika koj i odgovaraju segmentima A, B i C podudaraju sa CASN. Koj i će se od opisnika upotrijebiti za oblikovanje fizičke adrese, zavisi od ishoda podudaranja logičke adrese LA (A8 do A23) i logičke bazne adrese tBA, i to samo na onim pozicij ama bitova koje su odre đene maskom logičke adrese LAM. AI9
A23
1 0\ 1 \ 1 \
O
A15
All
AS
11\ I \ I \ 1\ 1\ 10 \ \1 \1\ O
O
O O
O
O
OOOO 0001 .
CASN će poslužiti za izbor jednog od 32 opisnika u jedinici MMU . Izbor se zasniva na podudaranju broja adresnog prostora dobivenog iz AST i broja adresnog prostora koji je upisan u svakom opisniku.
Logička adresa
,--,
\ 1 \ 110\ 010\ 0 \ O I 0 1 0 \ 0 \ 0 \ 0 1 0\ 0\ 0 \0 1
\ 0 \ 0\ 0 1 010 1 01 01 0 101 01 01 01010 lo 1 0 1
Iz gornje tablice vidimo da segmenti A, B i C pripadaj u zadatku s brojem #01 , a segmenti D , E i F zadatku s brojem #02 .
An
Prilikom postupka podudaranja ispituj u se samo oni bitovi koji odgovaraju bitovnim pozicijama postav ljenim u 1 u masci adresnog prostora :
Maska logičke adrese segmenta
Logička bazna adresa
segmenta A
,--,
1 11 1 1010 1 01 01 010 1 01 01 010 1 0 lolO 101
101 11 1 1 1111 1 1 1 1 +1 11 11+1111111
L::::J-
A
Maska
logičke adrese
segmenta B
Logi�ka bazna adresa segmenta B
Maska logičke adrese segmenta e
Logička bazna adresa segmenta e
1 98
Naprednije arhitekture mikroprocesora
S logičko m adresom LA podudara se logička bazna adresa segmen t a B. Fizička adresa PA8 do PA23 dobiva se tako da se bitovi fizičke bazne adrese segmenata B koji imaju odgovaraj uće pozi ci j e u LAM 1 , p roslj e đuju kao elementi fizi čke adrese ( sI . 8 . 3 8) : Fizička bazna adresa (PBA) u opisniku segmenta B
Preostali dio fizičke adrese određen j e logičkom adresom . Cijela 24-bitna adresa do biv a se t ako da se fizičkoj adresi A8 do A23 izravno pridružuju bitovi logičke adrese A l do A7.
Slika 8 . 40 prikazuje električnu shemu priključivanja memorijske upravlj ačke j edinice MMU MC 68451 u mikroračunalski su s tav na bazi mikroprocesora MC 68000.
LAM u opisniku segmenta B
Fizička adresa
adres. W\ prisutna na adresnoj
Logička
sabirnici
Literatura
(1)
S . Ri barić , A rhitektura računala pete generacije, Teh
nička k nj iga , Zagreb , 1 986. [2) J . P . Hayes , Computer Architecture and Organization,
McGraw Hill, Auckland, 1 979. (3) V . C . Hamache r et aL , Computer Organization, McGraw Hill Auckland, 1984. (4) P . Kogge, The Architecture of Pipelined Computer, McGraw 'Hill , New York ,198 1 . (5) C.V.Ramamoorthy, H.F.Li, Pipeline Architecture; ACM Computing Surveys, Vol.9, No. 1 ,mart 1977. (6) E . R . Fox,et al . , Reduced Instruction SeI Architeclure for GaAs Microprocessor System, Computer, VoI . 19 .No . 10, oktobar 1986 ,str.71-81 . (7) R.AppaJaraju, 32-Bil Microprocessors Support Paralle lism And Cache, Digital Design, august 1 984. (8) M.Hudson ,G.Hausmann, A Designer's Guide To Vir tual Memory Management, Electronic Engineering, juli 1 985 , str.55-69.
[9] T. Willi am s , Mainframe Memory Schemes Address Needs of New Micros, Computer Design , novembar 1 ,
1985 ,str .69-76.
[ 10) C B . Hunter, Introduction to the Clipper Architecture, IEEE Micro, VoL 7 , No.4, august 1987 , 8tr.6-27. [11) B . Furth ,V. Milutinović, A Survey of Microprocessor Architectures for . Memory Management, Compu ter,VoI.20,No.3,mart 1 987, str. 48-67. ( 1 2) M.Wright, Memory-managemenl-chip Schemes Re spond to Super - /-lC Requirements, EDN, februar 7 , 1985 ,8tr.97- 1 06 . [ J 3) G.Martin, Virtual Memory Managmeni Expands Mi croprocessors, Computer Design , juni 1983 ,str. 1 69-178 [ 1 4] D .Tabak, The Intel 80386 and New 32-Bit Micropro cessors, Microprocessing and Microprogramming 19, 1987 ,str. 59-74. [ 15] J.F. Stockton, The M68451 Memory Managment Unit, . Electronic Engineering, Vo1 .54, No . 665, maj 1982,str. 59-73 . [ 16] 16-Bil Microprocessors Dala Manua�, Motorola, 1983 . ( 17) MC 68020 32-Bit Microprocessor User's Manual, Mo torola, 1985.
mikroprocesor
RIVi � ""
PLDS
AĐ-An
" .:! "
"
FCO-FC2
PUDS
�.
.§ tl� � � " ';;; '
,
R/W
FC'
� N
i �
...
FCO-FC2
� cl'
I
.L
DO-D I 5
-
-;" r
I
...
..
I
� L
A I -A 7
. 5V
MC6BOOO/MC6BO I O MPU
i5'TAIT< BERR
� �.
+ 5V
vo- l
�
ODS r-
�
+ 5V
AB-A2}
<
lE �
AS
PADO-PAD I 5
RS I -RS5
"
.. DO-D I 5
5N74LS245 (X2)
-+
J
''' s-C--:
1
5
to-
PDS
generator
ES
Y
�
IRQ
LDS
UDS
ANY
I
o-Wv-
L D S l-
AlI
I
alne e
/.
+5V
MAS
RESET
al
rne ulazr
> WIN
DO-D I
r'
I� J DIR
HAD
FAUL T
BERR sustava
. ;;;;
., + 5V ...... .
ED
DTACK
�
N
LDS om
J--l
l
r-- --R/ W
J...., M;-
PU D S PD5Š
O
PLDS
PAS
PA S
generator
R E SET
� �
IPLO
� �
tl ;;;;
�
�
IPL I
I-
!PL2
r-
BGACK
iz sustave RESET sustava
r-
SN74LS 1 4 8 priarltetni koder
I
r-- G
..
I-
(X2)
BE .l
J
.1
tL
5N74LS}7}
adresni dekader
'----
... ....
Jr
� 1 -A 2 -CK ,,
j. ,
A I -A 7
DT A,
ma ustava
9. SABIRNICE 9. 1 .
Uvod
U mikroračunalskom sustavu sastavne j edinice : me morijski moduli, ul azno izlazni moduli i mikroproce sor moraju međusobno saobraćati . Oni izmjenj uju podatke, upravljačke signale , instrukcije i adrese . Slika 9 . 1 . prikazuj e spojne putove između modula . U zagradama je naveden broj potrebnih linija za prijenos informacija .
Zbog toga se u mikroračunalskim sustavima upotreb ljava grupa linij a preko k oj ih saobraćaju sve sastavne , jedinice . Takva grupa linij a naziva se vanjska sabirni ca ! (engl. bus) .
Očito je d a saobraćanj e između modula zahtijeva velik broj linija. Npr. saobraćanj e između modula UlI i memorij skog modula (npr. tehnika i zravn og pristupa me moriji) zahtijeva od 32 do preko devede set linija .
Sabirnicu s:entralne procesne jedinice čine sve linije koj e su izravno povezane na mikroprocesorske pri ključke . Većinom su zbog ograničena broj a priklju čaka neke linij e multipleksirane, tj . vremenski su im dodijeljene različite funkcij e.
-
Sabirnica se može klasificirati kao sabirnica centralne
procesne jedinice sustava.
Broj spojnih linija izravno utječe i na broj priklju čaka na integriranom kućištu sklopova LSI ili VLSI .
(CPU sabirnica) i kao sabirnica
Sabirnica sustava se dobiva nakon demultipleksiranj a CPU-sabirnice. Linije sabirnice sustava mogu se izdvojiti po funkcijama , a či ne ih nemultipleksirane grupe linija koje prenose adrese ; podatke i uprav lj ačke signale . U tom se slučaju može govoriti o tri tipa sabirnica :
Upravo broj priključaka na integriranom kućištu predstavlj a jedno od tehnoloških ograničenja. Teh nološki se gotovo ne mogu izvesti posebice priključci za sve linije prema svim sastavnim jedinicama .
adresa memorije ( 1 6-32)
�
R/'ii ( I )
memorijski modul
ulazno-i zlazni mDdul
ulazni podaci (8-32) izlami podaci (8-32) a dresa UlI uređaj a (8- 1 6)
adresa memorij e ( I 6-32}
R/W ( I ),
podaci
m ikroprocesor
(8-3,2)
podaci (8-32)
input/Out ( l )
izlazni po da ci
SI.
9. 1 .
(8-32)
(8 - 3 2 )
ulazni podaci ( 8 - 3 2 ) zahtj ev
p r i oz�lj enil instr ukcij a
r-
�-
Spojni putovi između modula
I
za p r e k i d ( 1 - 3 )
potvrda prekida
( I -J)
l Ovdje srno upotrijebili izraz »vanjska sabirnica. da bismo je razlikovali od sabirnice izvedene na samom mikroprocesorskom čipu (interna sabirnica) .
201
Sabirnice • • •
adresnoj sabirnici , sabirnici podataka , upravljačkoj sabirnici .
Informacij a o statusu prisutna je kratko :vrij eme na linij ama podataka i ona mora biti pohranjena i sačuvana za cij eli instrukcijski ciklus. Ona se pohra njuje ili u zaporni sklop (engl. latch) ili uz pomoć upravljačkog sklopa sustava Intel 2S2S . Nakon toga se na istim linijama pojavljuju podaci. Slika 9 . 3 prikazuje vremenski dij agram stanj a na sabirničkim linijama.
Adresna sabirnica prenosi adresu sklopa ili registra koji može saobraćati s mikroprocesorom (npr. adresu memorijskog čipa i riječi u njemu, UlI međusklopa i njegova registra) . Adresa prisutna na adresnoj sabir nici određuje izvor ili odredište podataka poslanih po sabirnici podataka. Adresnu sabirnicu čini skup jednosmjernih linij a.
Linije podataka mikroprocesora Intel SOSOA vre menski se dijele ovako : • Linij a DO nosi informaciju o potvrdi zatj eva za prekid INTA. • Linija Dl ima značenje WO i određuje opera ciju čitanj a ili ulaznog postupka (WO 1) ili j e p a k to o�cija upisivanj a , odnosno izlaznog po stupka (WO O) . • Linij a D2 nosi informaciju o tome da li je na adresnim linij ama adresa stoga (STACK) , • Linij a D3 ima značenje potvrde za instrukciju HALT, • Linija D4 pokazuje da je na adresnim linijama adresa izlaznog modula (OUT) , • Linija D5 označava da je mikroprocesor u fazi PRIBAVI ' i da pribavlja prvi bajt instrukcije
Sabirnica podataka prenosi podatke između različitih komponenata LSI mikroračunala. Ona je dvos mjerna sabirnica.
:Upravlj ačka
=
sabirnica prenosi upravljačke signale između mikroprocesora i ostalih modula mikroraču . nalskog sustava . Tipični osnovni signaljJwji tvore upravljačku sabirnicu j esu : čitaj/piši (R/W) , zahtj ev za prekid (IRO) , reset (RESET) i sl.
=
Slika 9.2 prikazuje CPU-sabirnicu mikroprocesora Intel SOSOA. Mikroprocesor Intel SOSOA ima multi pleksirane linije podataka sa statusom. Bitovi statusa (S bitova) šalju se na početku svakog radnog ciklusa preko linij a podataka.
adresne
Intel
aDaDA
(Ml
l inije ( 1 6 )
/
linije podatakal statusa (B)
'\..
v
upravlJačke l inije
=
l),
Linij a D 6 pokazuje da j e na adresnim linijama adresa ulaznog modula (INP) , • Linij a D7 označava da će se linije podatak-a upotrebljavati za podatke pročitane iz memorije (MEMR) . •
Status se pohranjuje u zaporni sklop u trenutku što ga određuje logičko stanje � l · SYNC.
)
Sl. 9.2. CPU - sabirnica mikroprocesora Intel 8080A
Intel
<1> 2
SYNC
DBIN
adresne linij e Sl. 9.3. Vremenski
dijagram stanja na sabirnitkim linijama za mikroprocesor .Jntel 8080A
linije podataka/ sta tusa
� �_--.l"-_ofl
__
.
status
. SYNC
'� �
aDaDA
202 081N .
Naprednije arhitekture mikroprocesora "0"
I
AD·A I S
OO·D7
·tatus
�
podaci
WR
TI
T2
�
T3
I
SI. 9A. Detalj vremenskog dijagrama stanja na sabirničkim linijama (operacija upi,jvanja) (Intel
.
8080A)
signal gene r a to r a takta
�r--\�
T PA
__
____________________
T P8
__________________
adresne
manj e z načajan
linije
MRO
�r_'L
baj t
adrese
�r
J
____________________
00-07
Sl. 9.5.
D ijagram
podatak
slanja na sabirnici za mikroprocesor RCA COSMA C 1802
Upravljački signal DBIN (l ogi čko I) određu j e trenu tak pos tavlj a nj a p od a taka iz memorije ili ulaznih međusklopova na linije p od a tak a . Signal DBIN us klađuj e vremensko dij elj e nje lin ij a p o d at a ka sa sta tusom p rili kom op e ra cij e či tan j a (READ ) .
Slika 9.4 pri k azuj e detalj v remens k og dijagrama stanja na sabi rn i čkim lin ij a ma za mikroproecso r Intel 8080A p rilikom op era cij e upisivanja (WRITE) . Pri mjećujerpo da signal DBIN nije aktivan , pa problem vre m ensk og dijeljenja linij a po d atak a mikroprocesor rje š av a p o st avlj anj e m (u pravom trenutku) podataka na linij e podataka i generiran-jem upravljačkog sig nala WRITE. Slika 9.5 p rik azuj e vremenski dij agram sta nj a na linij am a sabirnica za m ik rop roceso r RCA Cosmac
e
skl op) , a nakon toga na iste linije postavlj a manje značaj an bajt adrese . Slika 9 . 6 p rik azuj e CPU sabirnicu 1 6-bitnog mikro procesora Intel 8086. Linije sabirnice centralne pro cesne jedinice m ulti ple ksi ra n e su ovak o : D 16 adresnih linij a sa 16 linij a podataka, D 4 adresne linije (A16 do A19) s linija ma st a tu sa .
/ "'"
adresne linije/ linije podataka
( 16)
adresne
Intel
linije A I 6-A I 9/ J ini"e statusa
(4)
8086
1802.
Mikroprocesor Cosmac 1 802 vremenski m ultiple k sira adresne linije tako da prvo na linije MAO do MA7 postavlj a značaj niji b aj t adrese (koji se pomoću upravljačkog si gn al a TPA pohranj uje u zaporn i
A
Sl. 9. 6.
upravl"ačke
Iini·e
CPU - sabirnica mikroprocesora Jntel 8086
203
Sabirnice
CL.K
READV
J
A I 6/S3-A I 9/S 0
w ...J U > U o d. w
$.
ADO-AD I S
ALE
RD.LDW
S2 (M/iO)
SI (DT/R) Šo (DEN)
W ...J U > U w >-
,
� I I I
I
;� �
j-, i
I �I� � I I I I
!
lI,
I
Ii
V=::::-V �
I
I
l'I X
Š
O
(DEN)
X I' E3
I
IX h ,: I
A O-A I S
,
I
'--_...,.-I \... p_ .:. Od _ a Ci_u _ m_ em _o _r..;. i i i...l, 1 ,..
���-+
�Ur-�-+ �
I
�
I
I I
I
I
I
' V-: �::::;V
X :I I
I
I ·
I
:
I
�POd.CI I
I
I
I II
I
' I
npr. podaci i z među.klopa
I , 1/0
:I �
:
�:
I
I
+-�� ,
__
11--1
I
V A
53-50
I
I
I
I
t �
WR=LDW
SI (DT!R)
I
I
I
I
ADO-AD I S
ALE
__S_ 3_ -S_ 0__
,
I I I I
X
I I I
nl i I
X:
prema
U/l
l
I
�__+-__
I
I I 1
I
I I
........1
I
I : �X
----+ I --����" I l __
I
:
I
r--_--.J--....-oX :
SI. 9. 7. Vremenski dijagram stanja na CPU - sabirnici za mikroprocesor Inlel 8086
Slika 9.7 prikazuje vremenski dij agram stanja na CPU sabirnici za mikroprocesor 8086. Sabirnica sustava dobiva se nakon demultipleksiranj a CPU sabirnice . Slika 9 . 8 prikazuje odnos CPU sabirnice i sabirnice sustava. Obje sabirnice povezuje sabirničko sučelje koj e demultipleksira, privremeno pohranjuje i deko· dira informaciju dobivenu sa CPU sabirnice. Primjeri sabirničkog sučelj a jednostavni su zaporni sklopovi ili sabirnički upravljački sklop sustava (npr. Intel 8228) . Neki su mikroprocesori tako izvedeni da im linij e CPU-sabirnice nisu multipleksirane, odno sno CPU sabirnica im je ujedno i sabirnica sustava. Slika 9 . 9 prikazuje dva takva primj era: mikroproce sor Z80 i 16-bitni mikroprocesor MC 68000 . Sabirnica sustava omogućuje saobraćanje mikropro cesora sa svim modulima koji su na nju priključeni (s1 .9. 1O) i modulima međusobno . Komunikacija se po spojnom putu ostvaruje tako da .istovremeno mogu medusol:mo saobraćati samo dva modul a . Ostali, neizabrani moduli, električki su od-
spojeni od sabirnice. To se postiže sklopovima sa tri logička stanja koji omogućavaj u priključivanje više komponenata na vanjsku sabirnicu . Sklopovi-vrata sa tri logička stanja imaju dodatni upravljački ulaz i prema njegovu stanju logička vrata imaju tri stanja (51.9. 11) : o stanje velike impedancije (vrata su onemoguće na) , o logičko stanje O, o logičko stanj e 1 .
Sabirnice imaju ograničenje što s e tiče opteretivosti (npr . 1 TIL opterećenje i kapacitivnost 130 pF) i ono iznosi od 5 do 10 standardnih komponenata LSI. Zbog takva ograničenja u mikroračunalskim susta vima - osim onih s minimalnom konfiguracij 0m nužno se upotrebljavaju posebni sklopovi - sabir nička pojačala (engl. bus driver) na sabirničkim linij a ma.
To omogućuje da se priključi veći broj komponenata LSI. Slika 9 . 12 prikazuje tipično dvosmjerno sabir ničko pojačalo koje se priklj učuje na sabirnicu poda taka .
SI. 9.8. Odnos sabirnice centralne procesne jedinice i sabirnice su· stava
m i kro p ro c esor
/,\ sab i rničko
"
sučelje
V
•
m i kroprocesor Z80
... ..
)
') podataka
sabirnica
V
"
v
sabi rnica sustava
)
I\.
'7
epu sabi rnica
.. )
adresna sabi rnic9
r
up r av l j ač k a sabi rni a
AO-A I S
SI. 9 . 9 . Primj(r mikroprocesora k o d kojih je sabirnica centralne procesne jedinice ujedno i sabirnica sustava
"
00-07
sabi r n i c a = s abi r n i c a sustava .
- -"
"
y
'f upravlj aČka sabi rn i c a
m i k roproceso r Me 68000
A
A I A23
sab i rn i c a = s a b i r n i c a sus t a va
D O -D I S
"
"
A
>
upravlj ačk a sab i rn i c a
sabirničko sučelje
mikroprocesor
I
A sabi rnica sustava
I
'"
I
;.
I
"
;.
'<;
;.
'"
;.
..;
U/I
m emo r i j a
l ulaz A
i z l az S
upravlj ački ulaz e l
procesor
uprav l j ački
ulaz
e
..
izlaz S l
O
l
O
l
O
Z
O
O
Z
stanj e v e l i k e impeda n c i j e
'7
OMA
međusklop
SI. 9.10. Sabirnica sustava ulaz A
v
hSI. 9. 11. Vrata s tri logička stanja
Sabirnice
205
9.2. S inkrona i asinkrona sabirnica Modu li koj i se pri k lj učuju na sabirnicu fun k cij i p odij eli ti u d vij e grupe : cl cl
vo d e ći m o duli ( engL bus mas ter) prate ći moduli (engl .bus slave) .
mogu se
po
,
Vodeći modul upravlj a sabirnicom i odgovor a n je za z apo či nj anj e svih sabirničkih aktivnosti . On ge nerira sve si gnale po trebne za a dresi ranj e izbor pratećih modula i prijenos p odataka . ,
RE
.
. ,--"--.
" I " TRANSMI T (smjer podataka "O" RECEIVE (smjer podataka
Vodeći modul može biti trajno vodeći i privremeno vodeći modul. Traj n o vodeći modul ima n aj veći prioritet u sustavu i to j e običn o ce n t ralna procesna j edin i ca . Privremeno vodeći modul dob iva na zahtj ev upravljanj e nad sab irnicom za određeni broj sabirnič kih ciklusa, a za tim se upravlj anje vraća trajno vod e će m mo dulu . Pri mje r privremeno vode ćeg mo dula je upravlj ački s klo p za izravni pristup memoriji (DMA proce so r) k oj i dobiva na upotre bu sabirnicu od traj no vodećeg modula i na ko n obavljena prije nosa podataka vraća upravljanje t raj n o vodećem modulu .
Prateći modul prati sve sabi rn ič k e cikluse i "oslušku je" upr avlj ačke sign al e i adrese na adresn oj sabirnici. Ako je pr at e ći modul adresiran on prihvaća ili šalje podat k e preko · sabirni ce podata k a . Prateći moduli nemaj u m ogućn osti n i sposob n o sti up r avlj a nj a sabir nicom. Pri mje r pratećih modula jesu m e m o rij ski modul ili ul azno- izlaz ni me đu sk l op .
Prema načinu djelovanj a mogu sabirnice biti sin krone ili asinkrone.
Svi se događaji kod sin kronih sab i rnica od vij aj u u točno određenim vremenskim periodama. Uprav ljački sig n ali koji su ak t iv ni u unaprijed točno odre đenim vremenskim per i odama i signali vrem e n skog vođenj a u potre blj av aj u se za sinkronizacij u sao br a ćanja vodećeg i prat e ćeg modula. Slika 9 . 13 prika zuje vremenski dijagram stanja na sinkron oj sabirni ci . Pri mj e ćuj e mo da se upravljački s i g n ali (MEMR , ALE i MEMW) i podaci p oj a v lj u ju u d e fi nira nim vremenskim periodama, npr. MEMR u početkU pe riode T2, a MEMW (p rilikom sabi rničkog ciklusa upi sivanj a) sredin om peri ode T2. P odaci se prilikom sabi rničk og cik lusa či t anj a poj avlj uj u u period i T3 , a p rilik om s abirničkog ciklu sa u p isivanja u početku period e T2.
Sl. 9.12. Tipifno dvosmjerno sabirničko pojaa./o
D ogađaj i na asinkronoj sabirnici n ez avisn i su u veli koj mjeri od sign ala vremenskog vođenj a i tem e lje se n a postupku " ru kov anja " u kojem p ra teći modul generira signal potvrde (engL acknowledge si gn al ) kao o dgovo r na upravljački si gn al vodećeg modula (npr. signal či taj ili piši ) . Ti m signalom potvrde prateći modul dojavljuje vodeće m modulu da je izvršio sp e ci ficiranu operaciju (npr . pod a tak je proči tan i postavljen na sabirnice pod atak a) . Tek nakon
206
Naprednije arhitekture mikroproasora
signal vremenskog vođenja
-i<
linije statusa adresna
sabi rnica
ALE
READY
-� { - .{
� .�
E 'u
. - v> .o " ro v> '"
"u
'" '-
� C '- cn ::J co c> I-. .;Y .-
:o "u
:J;
"6. "
sabirnica
podataka
I I
(
adresa stabi lna
rl
--(
I
sabirnica podataka
1
I �I odatak stabilan )-l'"
I
I
I(
I
(
l'
.1
ME MR i l i l/D READ
MEMW iii WRITE
I
status
I
I
I(
I
I I 1
!lo
izl azni
/
podatak stabi lan
� 1
\
}I
I
SI. 9. 13. Primjer vremenskog dijagrama stanja na sinkronoj sabirnici
linije
sta tusa
----Y y-status --"'-----"--
adr e sna sabirnica
,\------_...1/ sabi rnica podataka signal
p otv rd e
JX�
____________
��
p_o d ac i s t ab i l n i __ _________
__
\..
,.------ SI. 9. 14. Primjer vremenskog (sabimički ciklus čitanja) --1.
. ____________
primitka signala potvrde vodeći modul poduzima dalje korake u izvođenju instrukcij e . B udući da prateći modul, u zavisnosti samo o d svoje brzine , generira signal potvrde, operacije su na takvoj sabirnici potpuno asinkrone - niti su određeni vremenski periodi pojavlj ivanj a upravlj ačkih signala niti su događaji sinkronizirani sa signalom vremen skog vođenja. Slika 9. 14. prikazuje vremenski dija gram stanj a na asinkronoj sabirnici (sabirnički ciklus čitanj a). Vodeći moduL postavlj a adresu na adresnu sabirnicu i generira upravljački signal čitaj (READ ) . Prateći modul koj i "osluškuje" adresnu sabirnicu i koji je prepoznao svoju adresu pribavlja traž,eni podatak. Podatak postavlja na sabirnicu podataka i tek tada generira signal potvrde - signalizira vodećem modulu da je tražena operacija izvršena. Tek nakon primitka signala potvrde vodeći modul nastavlja uno šenje podataka sa sabirnice podataka. Taj vremenski
dijagrama na asinkronoj sabirnici
trenutak nij e unaprij ed određe n , niti je određen vremenski period u kojem će se to događati. To zavisi samo od značajki i brzine pratećeg modula. U saobraćanju vodećeg modula s različitim pratećim modulima koji imaju različite brzine ostvaruje se prijenos koji je prilagođen pojedinačnim modulima . Kod sinkrone sabirnice brzina se prijenosa mora prilagoditi jednoznačno najsporij em pratećem mo dulu u mikroračunalskom sustavu . Primjeri sinkrone sabirnice su sabirnice mikroraču nalskih sustava na bazi 8-bitnih mikroprocesora, npr. sinkrona sabirnica standarda S-1002, dok 1 6-bitni i 32-bitni mikroprocesori (npr. MC 68000 , i APX-432) imaju asinkronu sabirnicu . l Sinkrona sabirnica standarda S- I OO naziva se često i pseudosin krona jer upotrebom upravljačke linij e RDY ili XRDY prate6 modul može prouzrokovati prelazak mikroprocesora u stanje WAIT u kojem procesor čeka »sporij i _ . prateći modul.
207
Sabirnice
9.3. Asinkrona sabirnica - vrste sabirničkih ciklusa za 16-bitni mikroprocesor MC 68000 68000 ima asinkronu sabirnicu i ostvaruje asinkroni prijenos podataka pomoću slje dećih sabirničkih linij a : D linija adresne sabirnice Al d o A23 , D linija sabirnice podataka DO do D I S , .!2...l!P.r avlj ačk i h linij a : A S (Address S trobe ) , R!W , U DS (Upper Data Strobe) , LDS (Lower D ata Strobe) i DTACK (Data Transfer Acknowledge). Mikroprocesor MC
Adresna sabirnica ima jednu posebnu značajku :
nema izvedenu najmanje značajnu linij u AO. Umje sto linije Aa upotrebljavaju se upravljački signali UDS i LD S . Šesnaestobitni mikroproce�or M C 68000 dopušta ru kovanje podacima koji s u bajt, riječ ( 1 6 bita) ili duga riječ (32 bita). Slika 9 . 15 prikazuje način smještanj a
podataka u memoriji. Riječi i duge rij eči mogu biti smještene samo na parnim adresama. Iako je MC 68000 šesnaestobitni procesor, memorij a mikroraču nala je bajtno organizirana. Slika 9. 16 prikazuje organizaciju memorije mikroprocesora MC 68000.
Pomoću linija UDS i LDS odreduje se da li će se prenijeti značajniji bajt (UDS O i LD S 1), manje značajniji bajt (UDS = 1 i LDS O) ili oba bajta (16-bitna riječ) (UDS O i LDS O). D uga riječ (32 bita) prenosi se s dva uzastopna prijenosa riječi . =
=
=
=
=
Tablica 9 . 1 prikazuje tipove prijenosa u zavisnosti od stanja upravljačkih linij a UDS, LDS i R!W.
Upravljačke linije UDS i LDS upotrebljavaju se kao nadomjestak za adresnu liniju AO : - pretpostavimo da se adresira baj t na neparnoj adresi (najmanje značajan bit adrese j e..!LUDS i LDS poprimi t će vrijednosti UDS 1 , LDS O ; - pretpostavimo d a s e adresira baj t n a parnoj a dre s i (najmanje značajan bit adrese je .QLUDS i LD S poprimit će vrijednosti U D S O, LDS 1 ; =
=
adresa riječi
LSB
M58
.. .
� w U
:-" . - . .
'"
-
baj t 0004 baj t 0002 baj t OOOO
a ) baj t
baj t 0005 baj t 000 J baj t 000 1
t I·
FFFFFF
. . .
::
::
::;
MSB
LSB
0006
MSB
L SB
0004
0002
MSB značajniji bl'M'
(a:tesa
LSB manjr. znač�[) O) bajt rlese
OOOO
b) riječ
[=---1 1-+-----1
adresa:
LSB
r-;:.;ss
0004
LSB
Si. 9. 15. Organizacija podataka u memoriji mikroračunala na bazi mikroprocesora MC 68000
MSB
OOOO
cl duga riječ
=
=
208
Naprednije arhitekture mikroprocesora
Tablica 9. 1 . Odnos UDS. LDS i RIW U izboru bajla ili riječi (MC 68000)
Ft/iii
08
DO
DIS
07
UOS
[oš
I
l
-
podaci nisu valj ani
podaci
O
O
l
podaci valj ani
podaci valj ani
podac i nisu valjanI
podaci valj ani
O
l
I
-
O
I
I
podaci valjani
O
O
O
podaci valj ani
O
O
l
O
I
f--O
-
-
nisu
valjanI
val j ani podac i
AS Dos LOS
0 8 -0 1 S
upi s i vanj e
neparnim adresama (duljina podatka B bi ta) memorijski blok s
-
� E: A I -A 2 }
DB-D I 5
•
.
� f-f--
A I -A 2 3
00-07
baj t a (na parnoj adresi )
upisivanj e baj ta
-
memo r i j s k i blok s
A I -A 2 3
či tanj e ba j ta (na oarnoi adresI ) upisivanje riječi
podaci valj ani
p ar n i m adresama ( d u l j i n a podatk a 8 bita)
- ru:
čitanje ba/t a (na ne p a rnoj adresil čitanje riječi
podaci nisu valj ani
podaci valj ani
E
operacija
•
for-r--
t�
A 'I
t!>
A
'I
=
Upravljačka linij a OTACK ulazna je linija mikropro cesora i služi za rukovanje prijenosom podataka . Prateći modul upravlj a tom linijom . Kad mikropro cesor detektira liniju DTACK k ao aktivnu (O) za vrijeme c ikl usa Čitanja , on "zna" da je prateći modul postavio podatke na sabirnicu podataka. Tada će mikroprocesor pohraniti podatke u svoje interne zapo me sklopove i ciklus se završava. U sabirničkom ciklusu upisivanj a prateći modul oba vještava mikroprocesor aktivnom linijom DT ACK da su podaci upisani . Budući da linijom DTACK upravlj a prateći modul on u skladu sa svojom brzi nom aktivira ili briše taj signal. Na taj se način ostvaruje sinkronizacija prijenosa podataka između pratećeg i vodećeg modula.
"
)
Sl. 9. 16. BajlM orijenlirana memorija
- pretpostavimo da se adresira riječ (p'ažnja : adresa rij eči može biti samo parna I) : UOS i LOS p oprimit će vrij ednosti UOS O, LOS O. =
00-07
Upravlj ačka linija AS (Address Strobe) označava da je adresa na adresnoj sabirnici Al do A23 valjana. Prijenos podataka sabirnicom može se odvijati u različitim vrstama sabirničkog ciklusa : •
ciklusu čitanj a rij eči , ciklusu čitanja bajta, • ciklusu upisivanja riječi , • ciklusu upisivanj a baj ta, • ciklusu č itanj a promjene (engl. read-modify-write) . •
,
ponovnog upisa
prikazuje vremenski dij agram stanj a na sabirnicama mikroprocresora MC 68000 za vrij eme ciklusa čitanj a rij eči.
Slika 9 . 1 8
Pomoću dij agrama toka (51 . 9 . 17) objasnit ćemo sta signala vremenskog vođenj a označavat ćemo sa S i nazivati ih stanjima.
nja na sabirnicama . Poluperiode
209
Sabirnice Sl. 9.1 7. Dijagram toka sabimičkog ciklusa čitanja riječi
p r at eć i m o du l
vodeći modul
postupak adreSiranj a: l)
postavi R/W u I
2)
post avi adresu na sabirnicu A I -A 2 3
3) post avi
adresnu
funk c i j sk i kod AS
4)
aktivi r a
5)
postavi UOS i LOS
FCO-FC2
( A d dress S trobe)
l ) dekadi r a adresu 2) post avi podatak na sabirnicu podat a k a 3 ) a k t i v i r a s i gnal
I)
pohrani
2)
deaktivira UOS
OTACK
podatke u inte rni z aporni sk lop
3 ) deakti .....i r a A S
i
LOS
I ) ukloni podatak sa sabi r n i c e podataka 0 -0 0 15 2) deak tiviraj l inij u OTACK
I
započni sljedeći
ciklus
CLK
A I -A 2 3
�
08-0 l 5 --��-------{
�����
____
00-07
Sl. 9.1B. Vremenski dijagram slanja na sabirnici mikroprocesora MC 68000 (ciklus čitanja
riječi)
�r---------�;.:���--------�
FCO _FC2 ----__
��r-----
____ __
Naprednije arhitekture mikroprocesora
210
Međutim , potrebno je naglasiti da se to stanje ne može poistovjetiti sa stanjem mikroprocesora. U stanju So (s1.9.18) adresna je sabirnica Al do A23 u stanju velike impedancije . Mikroprocesorske linije statusa FCO do FC2 također su u stanju velike impedancije . Linijama statusa FCO do FC2 mikro procesor obavještava prateće module o svom stanju .
U stanju Sl adresna sabirnica i linije statusa osloba đaju se stanja velike impedancije . Stanje linija FCO do FC2 pokazuje koji će se adresni prostor u tom ciklusu upotrebljavati (npr. FCO 1 i FCl FC2 O odreduju memorijski nadgledni prostor podataka) . =
=
U stanj u Sl na adresnu se sabirnicu Al do postavlja adresa.
=
AZ3
Signal koji označava da je adresa valjana (AS) aktivira se u stanju S2' Signali UDS i LDS također se aktiviraju u stanju � Prateći sklop na temelju adrese Al do A23, UDS , LD� AS utvrđuje da je izabran . Upravljački signal R!W za vrijeme cijelog sabirničkog ciklusa je u stanju 1 . Izabrani modul upotrebljava signal R!W i smješta podatak na sabirnicu podataka. Za tu operaciju ima na raspolaganju stanja S3 i S,.
Nakon što je postavio podatak na sabirnicu , prateći modul mora aktivirati signal DTACK.
Trenutak aktiviranj a signala DTACK uvjetovan je brzinom pratećeg modula . Crtkano područje u dija gramu označava vremenski interval u kojem se može aktivirati signal DTACK. Signal DTACK mora u "normalnim " okolnostima biti aktivan u početku stanj a Ss. U stanju �o�e dezaktiviranje upravljačkih signala UDS , LDS i AS . Na početku stanj a S7 mikroprocesor pohranjuje po datke u intern i zaporni sklop. Stanj e je na adresnoj sabirnici još uvjek valjano i Iinij.e FCO do FC2 još
uvij ek pokazuju pravo stanje . Na taj se način osigu rava pravilno izvođenje operacije prijenosa podata ka. Prateći modul "drži" podatke na sabirnici poda taka sve dok ne detektira da su UDS, LDS i AS neaktivni. U stan ju So>-.!!a kon što j e detektirao da su linije
UOS , LOS i AS neaktivne , prateći modul dezaktivira signal DTACK i uklanja podatke sa sabirnice podata ka. Na sabirnici postoj e sada uvjeti za početak sljedećeg ciklusa. Možemo primijetiti da sabirnički ciklus čitanja riječi traje osam sabirničkih stanja (So do S7) '
Sto će se dogoditi ako j e prateći modul spor i ne može pravovremeno aktivirati signal DTACK (nije j oš �ostavio podatke na sabirnicu podataka) ?
Mikroprocesor ispituje stanje linije DTACK u stanju S, . Ako signal DTACK nij e aktivan, procesor zamje njuje stanje S5 i S, sa stanjem S" (stanjem čekanja). Vodeći modul (mikroprocesor) čeka spori prateći modul (npr. sporu memoriju). Nakon umetnutog parnog broj a stanja (2 Sw) mikroprocesor ponovo ispituje stanje linije DTACK. A k o je i sada linij a neaktivna, ponovo umeće 2 Sw' Kad vodeći modul utvrdi da je signal DTACK aktivan , nastavlja sa stanjima Ss, S6 i S7. Slika 9 . 1 9 p ri k azuje tzv. "spori" sabirnički ciklus čitanja. Sahirnički ciklus čitanja bajta sličan je sabirni čkom ciklusu čitanja ri ječi, s tom razlikom da je aktivan samo signal LDS ako se bajt nalazi u neparnoj adresi , odnosno aktivan je samo UOS ako se baj t nalazi na parnoj adresi . Slanje podataka (riječi) u memoriju ili u ulazno-izl a zni međusklop odgovara sabirničkom ciklusu upisiva nj a riječi . Slika 9.20 prikazuje dij agram toka ciklusa upisivanja riječi.
CLK
A I -A23
R/W: I --------�--_r�-
00-0 1 5
SI. 9.19. Vremenski dijagram stanja na sabirnici mikroprocesora MC 68000 ("spori" ciklus čitanja riječi)
211
Sabirnice
Sl. 9.20. Dijagram toka sabirničkog ciklusa upisivanja riječi
p ra te ć i modul
vodeći modul l ) postavi adresu na adresnu s abi rnicu
2)
J)
4)
S)
6)
A I -A 2 J
poslavi funkcijski k o d pos t avi postavi
AS
FCO-FC2
R/Vi U liO"
postavi podatke na DO-D 1 5 postavi UDS i LDS
I I)
dek o d i r a
adr esu
2)
pohr anj uj e podatke s
J)
aktivi r a s i gnal
I)
deaktivira DT ACK
DO-D I S
,
DTACK
I ) deak ti vi r a UDS i LDS
2 ) deaklivi ra AS
J) ukloni po datk e s DD-D 1 5 4 ) postavi R/w u II I II
I
, -
zapoćni slj edeći c i k l us
Sl. 9.21. Vremenski dijagram stanja na sabirnici mikroprocesora MC 68000 (ciklus upisivanja riječi)
Slika
9.21
prikazuje vremenski dijagram stanja na
sabirnici prilikom izvođenj a ciklusa upisivanja riječi.
U do
stanju S o adresna sabirnica Al do A23 i linije FCO FC2 u....!tanju su velike impedancij e . Upravljčki j e
signal RIW u stanju
1.
212
Naprednije arhitekture mikroprocesora
U stanj u S , na adresnu se sabirnicu postavlj a adresa pratećeg modula. a stanje na linijama FCO do FC2 po k az uj e koji se adresni prostor upotrebljava . U stanju S1 postavl j a se signal AS u "nisko" (logička vrijednost O-adresa je p ravovaljana ! ) , a prateći mo dul dekodira adresu koja je prisutna na--1ldresnoj sabirnici . U stanju S1 upravlj ački signal RIW postaj e "nisko" i određuj e ciklus upisivanj a .
U stanju S J vo d e ći modul (mik ro p roce s or ) postavlj a
podatke na sabirnicu podataka.
S4 postavlj aju se signali U O S ·= O i L O S (adresira se parna adresa - adresa riječi) .
U stanj u
=
O
Za vrij eme stanj a S, i S. prateći modul posta v lj a signal DTACK u "nisko" (pod atak je upisan u prateći m o d u l ) . Signal OTACK mora biti "nisko" u početnom s tan ju S7 jer će inače vodeći modul zamije. niti stanj a S7 i S. stanje m Sw '
U stanj u S7 započinje se sinkro nizacij a vraćanj a upravlj ačkog signala OTACK u stanje "visoko" . Stanje SK zahtijevaju sklopovi sabirničkog sučelja (eng\ . bus interface circuit) - sabirnička poj ačala.
- -- --
U stanj u S9 postaVlj aju se si gna li AS . U O S , LOS i RJW u početno stanje i poprimaju vrijednost "viso
ko" (logičku vrijednost 1 ) . Prateći modul drži liniju
OTACK aktivnom � d ok ne detektira promjenu stanja na linijama AS, UOS i LOS (sve dok ne
postanu 1).
U sljedećem vremenskom periodu prateći modul dezaktivira signal OTACK . Ako s i gn a l OTACK nije aktivan n a početku stanj a S7, procesor će to stanje i stanje S. zamijeniti stanje m Sw i to će biti ciklus " sporo g " upisivanj a (slično ciklusu sporog čitanj a ) .
Slika 9.22 prikazuj e sabirnički ciklus "sporog" upisi vanja u kojem su umetnuta četiri stanja Sw'
Ako usporedimo vremena traj anja sabirničkog ci klusa čit anj a riječi i sabirničkog ciklusa upisivanj a riječi , primijetit ćemo da i m 'vrijeme trajanja nije jednako. Sabirnički ciklus upisivanja riječi dulji j e za jedan
period signala vremenskog vođe nj a . Konstruktori su ciklus upisivanja produlj ili za j ednu periodu signala
vremenskog vođenj a zbog sklopova sabirničkog suče tako im dali vrijeme potrebno za nj�ovo prospill.a nj e - promje n u smjera p od a t a k a (RJW 1 lja i
.....
=
R1W = O) .
To vrij eme, potre bno z a prospaj anj e , nije potrebno za sabirn ički c ikl u s čitanj a jer je na p oče t k u izvođe nj a te operacije upravljački signa l R/W u vij e k u 1 i sklopovi su sabirničkog sučelja već pripravni za op ;racij u čitanja . .
Ta se razl ika u b roj u perioda signala vremenskog vodenja za sabirničke cikl use čitanj a i upisivanja 9paža i u specifikacij i vremena izvođenj a pojedinih instrukcij a . Npr. z a instrukcij u tipa MOVE . W O n ,(An) u priruč niku za MC 68000 stoj i oznaka 9( 111 ) , gdje 9 ozna čava ukupan broj perioda signala vremenskog vođe nja potrebnih za izvođenje te instrukcij e . Broj evi u zagradama označavaju broj sabirničkih ci klusa čita nj a , odnosno upisivanja (r/w) :
9( 111)
=
Sabirnićki
perioda signala vremenskog vođenj a (So do S7) za ciklus čitanj a + 5 perioda signala vremenskog vođenj a (So do S9) za ciklus up is i vanj a r ij eči .
4
ciklus čitanja. promjene i ponovnog up isa
(eng\ . read-modify-write) nije tipičan sabirnički ci klus mikroprocesora . Oonedavna je takva vrsta sa birničkog ciklusa hila namijenjena samo za centralne pro c esne jedinice m i n i rač u nal s k i h sustava . U takvu
(LK
A I -A 2 3
R (W OTACK
D O -D I S
stanj e t. e k ar.ja
SI. 9.22. Vremenski
dijagram s/anja sabirnici .mikroprocesora MC "sporog" upisivanja ri
68000 (ciklus iem na
213
Sabirnice
,o deć i m o du l
p r a t eĆ i
l ) posta,i adresu na A l -A 2 J
2) postavi R/W 3) postavi A�
na
modul
l
4) posta,i UOS i l i LOS
l)
.
f
dekodI C a! adresu
2 ) post avi p o d a t a k 3)
na 0 0 - 0 7 i l i 0 8 - 0 1 5
post avi s i gnal O T A C K r-____________________________________�l l ) postavi podatak zaporni skl op
2) deak tivi raj
u interni
UOS i L O S
3 ) započni s promj enom podatka
I
l ) ukloni
podatak s 0 0 - 0 7 i l i 08-0 1 5
2) l)
postavi R/W u O
2) posta,i podatak na 00-07 3 ) postavi UOS ili LOS I
deaktiviraj O T A C K I
ili 08-0 1 5
l ) pohrani podatke s
a
00- 0 7 i l i 08-0 1 5
2) post l ) de a k t i vi r aj
vi s i gnal OTACK
UOS i l i LOS
2 ) deaktiviraj AS
3 ) ukloni poda tke s 00-D7 i l l s 08-0 1 5
4)
pos l avi
R/W na
,
l ) deakt ivi raj DTACK
I
Sl. 9.23. Dijagram toka sabimič
kog ciklusa čitanja -promjene i ponovnog upisa
započni slj edeći ciklus
se sabirničkom ciklusu čita podatak iz memorije, mij enja �e u aritmetičko-logičkoj j edinici i nakon toga upisuje u istu memorijsku lokaciju iz koje je bio čitan . Osnovna je znaE&ka takva postupka da j e nedjeljiv i d a j e signal A S aktivan z a cijelo vrijeme traj anja tog sabirničkog ciklusa _ Sabirnički ciklus je nedjeljiv u tom smislu da se upraVljanje sabirnicom , a time i drugim modulima sustava, ne može dodijeliti nekom drugom vodećem modulu sve dok se sabirnički ciklus čitanj a , promjene i ponovnog upisa ne završi . Upravo taj sabirnički ciklus upotrcbljava instrukcija TAS (Test and Set) koj a je namijenjena za sinkroni- ·
zaciju procesora u multiprocesorskom sustavu (više vodećih modula na j ednoj sabirnici) . Instrukcija je oblika TAS <ea> i definirana j e za operand duljine 8 bita . Instrukcija ispituje i postavlja bajtni operand koj i je određen efektivnom adresom <ea>. Tekuća vrijednost operanda se ispituje i u skladu s njome postavljaju se zastavice N i Z u status-registru . Nakon toga se najznačajniji bit operanda (b?) po stavlja u 1 i operand se upisuje natrag u istu memorij sku lokaciju_ Slika 9.23 prikazuje dijagram toka sabirničkog ci klusa čitanja, promjene i ponovnog upisa.
214
Naprednije arhitekture
mikroprocesora
CL K lX I -A 2 3
UD5
ili LOš
R/W
00-07
0 9 -0 1 5
ili
SI. 9.24. Vremmski dijagram slo njll nil sabirnici MC 68000 (sabi, nilki ciklus lilanja'promjene i po novnog upisa)
F C O -F C 2
Slika 9.24 pri k az uj e vremenski dij agram stanja na s ab i r n i c a ma U stanj u SO ciklusa čitanja, promjene i ponovnog upisa adresna sabirnica Al do A23 i linija statusa FCO do FC2 u stanju su velike impedancije . Upravljački je sign a l R!W u stanj u 1 . .
U stanju S l adresna s e sabirnica i linije statusa do FC2 oslobađaju stanj a velike impedancij e .
FCO
Linije statusa FCO do FC2 pokazuj u koji ć e s e adresni prostor u t o m sabirničkom ciklusu upotre b lj avati .
Signal AS postavlja se u s t a nj u S2 i pokazuje da je adresa na adresnoj sabirnici p ravovalj a n a . S ignal UOS i l i LOS također se postavlja u O.
Prateći m.odul (npr. memorij a ili ulaz1!2:izlazni me đusklop) koristi se adresom i si gnalom AS te utvrđuje da li j e izabran . Izabrani prateći modul na temeiju s ig na l a RfW 1 i pomoću UOS ili LOS postavlj a podatak na sabirnicu podataka . Ujedno s postavlja nj em podatka na sabirnicu podataka prateći modul postavlja s i g nal OTACK i obavještava da je obavio operacij u čitanj a . To se događa u stanj ima SJ i SA' =
Signal OTACK mora b i t i aktivan na početku stanj a Ss. A ko to nije isp un j e no , procesor će stanja Ss i S6 z a mij e n i t i s tan j em S ...
Sa stan jem Ss započinje sinkronizacij a vraćanja sig
nala OTACK u stanje neaktivnosti.
S k lopovi sabi rničkog su�e lj a upotreblj avaju stanje
Sh'
Na kraj u stanj a
na
početku stanja
S,
in
sabirn ičke zaporne sklopove mikroprocesora .
podatak se t e rn e
sa
S., od n os n o
sabi rn ice podataka pohranjuje u
Za vrijeme ne a k t ivan
st
anj a S, s i gnal VOS ili LOS pos t aje
Stanje �adresnoj sabirnici, up ra vlj ač k i signal RfW , FCO do FC2 ostaje nepromijenjeno. Ono je potrebno za poslj ed nju fazu sabirničkog ciklusa . .
Sig na l AS i stanj e na linij ama statusa
Prateći modul drži podatke na sabirnici podataka sve dok ne detektira neaktivnost signala UOS i l i LOS .
Unutar j ednog perioda signala vremenskog vođe nj a , � je prateći modul detektirao neaktivnost sig n al a
UDS ili LOS , pra teći modul mora uklon�odatak sa sabirnice podataka i dezaktivirati signal OTACK.
Stanj a Ss i � s t a nj a su koj a su dodij eljena internoj promjeni podatak a , odnosno ispitivanj u operanda, postavlj anj u zastavica N i Z, te postavlj anju bita b7 operanda.
U sta nj u SlO upravljački signal RfW postavlja se u O ciklus upisivanj a . Podatak se još ne postavlja na sabirnicu po d ata k a da bi vanjska sabir nička pojačala (ako se upotrebljavaj u) imala do volj n o vremena za prospajanje - promje nu smjera po d ata k a .
i pokazuje
,
Podata k se postavlja na sabirnieu podataka za vri jeme stanj a S I l ' U stanj u S l ;' aktivira se signal UOS ili LOS .
Izabrani prateći modul upotrebljava signal RfW i UOS i l i LD S i upisuj e Qodatak . Prateći modul,
nakon toga, aktivira signal
OTACK.
Signal OTACK mora biti a k t iva n
S15' Ako to
nije isp u nj e n o , procesor će zamijen iti
stanja S I S i S I 6
stanjem
č e k anj a S w '
na početku st a n j a
215
Sabirnice
Sa stanjem S '5 započinje sinkronizacija vraćanj a sig nala DTACK u neaktivno stanje. Sklopovi sabirničkog sučelj a zahtijevaj u stanje S16 za svoje interne operacije . Za vrijeme stanj a S17, signali AS , LDS ili UDS postaju neaktivni . Adresna sabirnica i sabirnica po dataka j oš uvij ek sadrže adresu i podatak. Signal R/W i linije statusa FCO do FC2 i dalj e zadržavaj u svoje stanje i time osigwravaju pravilan prijenos podataka. Prateći modul drži signal DTACK aktivnim sve dok ne detektira da je signal AS ili signal UDS (ili LDS) neaktivan . Na kraj u stanj a Sl; upravlj ački signal R/W postavlj a se ' u 1 , a adresna sabirnica i sabirnica podataka prelaze u stanje koje odgovara uvjetima početka sljedeć<:g ;;abirničkog ciklusa (sI.9.24) 9 . 4 . Sabirnički standard VME Zamisao o asinkronoj sabirnici standarda VME jav lja se s pojavom treće generacije mikroprocesora. U tvrtki Motorola Microsystems (Phoenix, Arizona) mala grupa inženjera razvila je Exormacs, sustav za razvoj sklopovske i programske opreme na bazi l6-bitnog mikroprocesora MC 68000. Sabirnicu Exormacsa nazvali su Versabus. . Kombinacij a Versabusa i modula koji su izvedeni na standardnom formatu tiskane pločice Eurocard na zvana je sabirnica VME. . Godin� ·1985 . sabirnicu VME prihvatio je IEEE kao standard IE EE Pl014. Sabirnica VME može se podijeliti na osam funkcio nalnih modula i četiri sabirnička podsustava. VME ima dvij e osnovne vrste sabirničkog ciklusa : o sabirnički ciklus prij enosa podataka, o sabirnički ciklus potvrde prekida. Funkcionalni moduli su sljedeći : Generator signala vremenskog vođenja generira sig nal vremenskog vođenj a SYSCLK od 16 MHz. Signal vremenskog vođenj a dovodi se do modula koj ima je potreban . Treba naglasiti da se prijenos podataka odvij a asinkrono i da ne zavisi od signala SYSCLK . Moduli upotrebljavaj u taj signal kao osnovni za dobivanje svoj ih signala koj i su im potrebi za intern? vremensko vođenje.
(engl. Power module) opskrbljuje sustav signalom upućivanj a (SYSCLK - System re set) i signalom ispada električnog napaj anja AC FAIL. Signalom upućivanj a mogu se resetirati svi funkcionalni moduli koj i su priključeni na sabirnicu VME . Signal ACFAIL upotrebljava se kao upozorenje da se napaj anj a ( + 5 V, + 12 V i - 12 V) približavaju Modul napajanja
granicama dopuštenih razina. Signal ACFAIL mora biti aktivan naj manj e 4 ms prije negoli se dostigne kritična razina. Vodeći modul za prijenos podataka (engl . Data Transfer bus (DTB) master) odgovoran je za prijenos podataka standardom VME između sebe i svih prate ćih modula. Da bi DTB ostvario prij enos, on mora prije toga dobiti upravlj anje sabirnicom. To se ostvaruje po moću modula za zahtijevanj e sabirnice (engl . bus requester) .
Vodeći modul može biti centralna procesna jedinica, upravljački sklop za izravni pristup memoriji (DMA) ili koj i drugi sklop koji može upravljati prijenosom podataka. Modul z a zahtijevanje sabirnice sastoji se od sklopova koj i imaj u zadatak da zatraže upravlj anj e sabirni com . Kad modul dobije upravlj anje sabirnicom, on obavještava vodeći modul (i to onaj koji je sabirnicu tražio) ili modul za upraVljanje prekidom. U sustavu VME mogu biti dvije vrste modula za zahtijevanje sabirnice : o RWD (Release-when-done) , modul koj i oslo bađa sabirnicu kad se zadatak obavi , o ROR (Release-on-request) , modul koji upravlj a sabirnicom sve dok je neki drugi vodeći modul ne zatraži . Primj er modula RWD j esu upravljački sklopovi DMA ili moduli za rukovanje prekidom. Primjer modula R OR jest centralna procesna j edinica . Moduli za zahtij evanje sabirnice obično su pridruženi svakom vodećem modulu i modulu za rukovanj e prekidom koj i je odgovoran za sabirnički ciklus potvrde prekida.
(engl . Data transfer bus (DTB) slave) dekodira adresu i signale na linijama za adresnu preinaku (engl. address modi fier line) , te pomoću \lP.ravlj ačkih signala kQk gene rira vodeći modul (R/W, signali očitavanj a DS (data strobe» prihvaća podatak sa sabirnice podataka ili pak postavlja podatak na sabirnicu podataka. Nakon što je obavio specificirani zadatak prateći modul za prijenos podataka generira upravljački signal DTACK. Sabirnički arbitar (engl. Bus arbiter) posreduje prili kom (višestrukih) zahtjeva za upraVljanje sabirni com . Prateći modul za prijenos podataka
Sabirnički arbitar može biti izveden kao j ednorazin ski (engl . singl-level) koji na temelj u ispitivanj a izvora zahtjeva određuje onaj s najvišim prioritetom. Sabirnički arbitar može biti izveden i kao višerazinski (engl . multi-level) s čvrstim prioritetima ili s kružnim prioritetima . Višerazinski arbitar ima četiri razine prioriteta za htjeva i dodjeljuje sabirnicu zahtjevu s najvišim prioritetom .
216
Naprednije arhitekture mikroprocesora r - - - - - - - - -I I I
-
,
I
I
t.4=Jrrnjat !ustiva
I I I
:
J
I
,
1- - - - - - - - - - -
I I I I I
I
I
I I
-
I
.,9-1
r generato nala vremenskog vodim!.
--
I
soblmlčki arbitar
- -- --
-
1 _ _
, ,
I I I I i I I I I _I
I I I I i i I
L_
I
modul
la
zahtlfe\l8l'lJe
sabirnice
I
r ge�-1 modul
titanJ. zahtje· z va za prekid
- -- - - -
_ _ _
a
f- - -
I
zahtiJ ....nJe
z sabirnice �I .
I I
1
7'1.
lJ d«1 modul priJenos Tzapodataka
modul ad
rukovanje
prekidom
- - - I- - - - -
...
korisnički uredaj
I
1- -
- --
U
<.>
U
r k sab nlea
.
<. >
I
<. >
"
SI. 9.25. Sabirnica VME Svaka se razina može promatrati kao jednorazinska organizacija i može imati više podrazina. Tada arbi tar na temelju prozivanja ili ulančavanja (engl. daisy
ch ai n ) utvrđuje izvor zahtijeva s pravom prvenstva.
Modul za generiranje zahtjeva za prekid (engl . Inter
rupter) generira zahtj ev za prekid na inicijativu lokalnog funkcionalnog modula. Za vrijeme sabirnič kog ciklusa potvrde prekida modul takoder odgovara 8-bitnim vektorskim brojem i signalom potvrde
DTACK.
Svaki takav modul može generirati zahtjev za prekid u jednoj od sedam razina. U pojedinoj razi n i dopu šten j e veći broj zahtj eva za pre ki d . Izvor zahtjeva i njegov prioritet i ovdje se utvrđuju prozivanjem ili Ulančavanjem si gnal a potvrde prekida.
Modul za rukovanje prekidom (engl. Interrupt han
dler) ima dužnost da upravlj a sabirnicom u sabirnič kom ciklusu potvrde prekida . Modul odgovara n a zahtjev z a prekid tako da preko modula z a zahtijeva nj e sabirnice traži upravljanje sabirnicom. Kad mo dul dcbije dopuštenje za sabirnicu , on započinje
slike vidimo da se u re đaj koji ima funkciju vodećega
sastoji od vodećeg modula za prijenos podataka, dvaju modula za zahtijevanje sabirnice (jedan nami j enje n za "normalan" rad vodećeg modul a , drugi pridružen modulu za rukovanje prekidom) , modula za generiranje zahtjeva za prekid i modula za rukovanje prekidom. . Sabirnice To su :
sabirnica za prenos podataka (engl . data transfer
D
sabirnica za posredovanje
D
prekidna sabirnica ( engl . interrupt bus) ,
o
68000 :
potvrde pre ki d a lACK, postavlja na adresnu sabirnicu 3-bitni kod i njime pokazuje razinu prihvaćenog prekida,
D
o
čeka S-bitni vektor na sabirnici poda taka i aktivi
ranje signala potvrde DTACT.
Slika 9.25
prikazuje odnos između pojedinih funkcio nalnih modula i njihovo povez ivanje na sabirnicu. Iz
arbitration
uslužna sabirnica (engl. utility bus ) .
Sabirnica z a prijenos podataka D D o
o
MC
( engl .
bus) ,
modul za rukovanje preki do m aktivira signal
mikroprocesor
tvore četiri sabirnička podsustava.
D
sabirnički ciklus po tvrde p reki da. Sabirnički ciklus potvrde VME prek id a sličan je sabirničkom ciklusu za
VME
bus) ,
D
D
l
I I I
I
I I I I I I I
I
i I I I I _ _ ..J
I-- f.- f--'--
'v
potv rd e prekida
I
o D
sastoji s e od :
sabirnice podataka (DOO do D 3 1 ) , adresne sabirnice (A01 d o A3 1 ) ,
li n ij a
za adresnu preinaku (AMO do
linije RJW , odnosno
linije
AM5 ) ,
(WRITE) ,
signala potvrde prekida (lACK) ,
linije signala AS (Address Strobe) ,
'----li n ij e signala za oznaku duge riječi (LWORD) ,
D
linija za očitavanje podataka
o
linije signala potvrde prijenosa (DTACK),
Strobe) , D
(DSO, DS1 - Data
linije signala pogreške na sabirnici (BERR) .
Sabirnica dopušta prijenos podataka dulj ine 8 , 16 i 32 bita . Duljina se poda tka može dinamički mijenjati u zavisnosti od sabirničkog ciklusa .
217
Sabirnice r· -
1 fernl ureIda,nt:�1
I 1
ko.l.nlekl
1
1
��
:
.!)
I
1 I
l...
1
la prijenos
I I
I
podatake
I I
l mO�I " 1 zahUJevanle
za
_ _
prekid -
r- - - - - -
V
. .
t n
-
-
_ _
-
podataka
1
1 I
I ..a. za prekid
riranje laht J e -
I I
I
1_ -
_ _
I
prijenos
la
I
_ _
V
- - -
-
I
I
I
I I
g:i� mo�1 r·"�-I za
I
1
Iranje zahtjeva
sablmice
Ugentnl perlfernl uredaj
I I
r--� I f��1 la ge"=�
I
1 kodonieki Int·-I
I I I
llgentnl perl-
I
I I
- - - ----- - - - -- , 1
I I
, ---
1
I
1
I 1
I
I 1 I
, I
1
I
1
RAM, ROM, EPROM '"
�
1
I I 1
I I 1
I I I I
I
1 I
I I
I L
1
I
.('.>
JJ,
I
""Oul napaJanla
_ _
_
-
-
I
-
L
_ _ _
-
-
Pomoću linij a za a dresnu
p re in aku
odreduj e se vrsta
prije nosa podatak a . Šest linij a AMO do AM5 omogu
ćavaj u 64 različita prij e nosa podata k a medutim standa rd VME de finirao 14 vrsta p rijenosa šest ,
,
je
je
vrsta ostavio za de fi n iranj e korisniku . a 34 su ostale
rezervira n e za buduću upo tre bu .
Sabirnica se sastoj i o d
p re inak u AMO do AM5 mogu se priključiti np r linije fu n kcij skog koda FCO do FC2 (MC 68000) koj e pobliže opi su j u sabirnički
:
.
o četiri
izl azn e l inije za do dj e lu sabirnice (BGOOUT do BG30UT - B usgrant out) , o četiri ul azn e linije za do dj e lu sabirnice (BBSY Bus bus
�
(Bus clear) koj a je aktivna ( njo m e upravlja sabirnički arbi tar) kad sabirnica zahtijeva ' modul s n ajvećim priorite to m . o linije BCLR
--
Na l inij e za a d re s n u
--
Li n ije BRO do BR3 u p otreb lj avaj u se za prij e nos signala zahtjeva za upraVlj anj e sabirnico m .
.
ciklus i d etaljnij e od re duj u adresni prostor. Npr. stand ard VME j e
p redvi d i o
kod 39H za standardni
neprivilegirani pristup podacima (ov dj e se po d stan
razu mij eva upo treba 23 adresne linij e AO l do A23) . Mi krop rocesor MC 68000 po m oću li n ij a FCO, FCl . FC2 i linije B GACK određ uj e istu vrstu pri s tupa po d aci ma ( odj elj ak 8.6) dar d nim p ri s tupom
39. (AMO do
AMS)
O
O
1
I l
1� ���� � FC2 1
1
čvrsto u l
0
0
.
1
BGACK
Izlazne linij e z a dodjelu sabirnice i ulazne linij e z a
dodj e l u sab i rnice omogu ćavaj u u l an čavanj e na sva koj od četiri r azi n e O do 3 . Tim se signalima izvor zahtjeva za sabirnicom oba vještava da mu je ona d o dijel j e na .
Slika 9.26 pri kazuj e priključenj e s ab i rni čk og
arbitra
i modu l a za zahtij evanj e sabirnice.
Moduli su priključeni na dvij e razine . a prio ritet dodjele sabirnice riješen je ulančavanjem po jed i n ih
modula u razini.
Aktivnost n a liniji BBSY ozn ač ava d a j e vod e ći modul . k oj i
je
za h tij evao sabirnicu. dobio sabirnicu.
Taj se si gna l u p ot r eblj ava i za označavanj e poče tka po n ovn og posre dova nj a
sabirničkog arbitra kada
drugi zahtj ev za sabirnicom čeka . Sabirnički arbitar generira signal BCLR uvij ek kad
Sabirnica za p osre dovanj e (arbitražu) upotreblj ava se za upravlj anj e dodj elj ivanj em sabirnice.
I
I
o če t iri linije za za htij eva nj e sabirnice (BRO do BR3 - Bus re q uest)
I
- - ,
V
t
I I
U
Adresna sabirnica može biti širine 1 6 , 24 ili 32 bita i dopu šta p ri kl j u čivanj e 8-, 16- i 32-bitnih mi kroproce sora u m u I ti p roce s or ski sustav. Takoder, sabirnica j e tako k o n struira n a da d opu š t a s aobraćanj e 32-bitnog mikroprocesora s 8-bitnim ulazno-izlaznim sk lopom .
I I
1
'v
e a
1
kod"" ek' uređall
1 I
1
_ _ _ _
- - - - - - - - -,
,
1 I 1
p•• t.�1 IrO,M za prijenos
I
I
- - -
I podataka I
1 I
1
-
JJ,
I I
1 I
-
vodeći modul s naj veći m priorit e to m zahtijeva sabir
nicu. Vodeći mod uli mogu biti tako konstruirani da
I .
�
I;
218
Naprednije arhitekture mikrop;ocesora
oslobađaj u sabirnicu u nekoj ispitnoj točki. Na t aj se osigurava dodj el a sabirnice drugim vodećim modulima.
�
način
Prekidnu sabirnicu tvore četiri skupine l in ij a koj e omogućavaju dj e lotvo rno rukovanje prekidom : o linije za h tj eva za p rek i d (IROl do IR07), o linije po tvrde p re ki da lACK, =--:--=c: c:-:c o ul azn a linija potv rde p r ek i d a lACKIN , o izlazna l in ij a p o tv rd e pre ki da lACKOUT.
I
-
--
--
Linije IROl do IR07 upotrebljavaju se za prijenos za htj eva za prekid modula za rukov a nj e prekidom.
Signal potvrde p re kid a lACK generi ra upravo modul za rukovanje prekidom i njime označava s abirnički cikl\ls potvrde prekida . Signali lACKIN i lACKOUT upotrebljavaju se za ul anč avanj e odnosno određiva nje modula koji će su dj e lo v at i u sabirničkom ciklusu potvrde prekida (izbor preki d a s n aj ve ćim priorite ,
t�m).
S a mo jeda n uzročnik p rekid a može istovremeno sudjelovati u sabirničkom ciklusu p otvrde prekida .
Slika 9.27 prik azuje način povezivanja .i saobraćanja mod ul a za rukova nj e prekidom i modula za za h tij e v anje pr e ki d a preko pre ki d ne sabirnice .
Uslutna sabirnica
se
sa s toj i od linij a :
vođ e nj a 16 MHz (SYSCLK) , D sign al a stavljanja u r ad sustava (SYSRST) , D s ign a la ispada električnog n a p aj a nj a ACFAIL, D za n ap aj a nj e + 12 V , D z a n a paj anj e - 1 2 V, o za rezervno n ap aj anj e + 5 V (STDBY). o�
�
��
:0 -
� ... " " ._ >u x "
I; I�
Iffi Iffi
19
....;,...
-
...., =<
I
E�
��
r
SI. 9.26. Priključivanje sabirničkog arbitra i modula za zahtijevanje sabirnice (standard VME)
vremenskog
,
Sabirnice
priklj učak
priključak I
modul z. rukovanje preki dom
n
� -lACK
v
r--o dul
za
219 x
(priključak y)
za prekid
modul za generiranj ' zahtjeva za preki d
generi ranje
zahtj eva
IACKOUTJL
iACKIN
IRQI
- IRQ7 -
Sl. 9.27. Povezivanje modula pomoću prekidne sabirnice
AD I -A 3 1 AMD-AM5 CWORO
stanje
AS
WRI T E
-------r---+--�-
000-07
---..:-----,--+---{lt..,..-�--�t--t--
DTACK i l i BERR
.,
Sl. 9.28. Sabirnifki ciklus litanja bajta (standard VME)
vall ano
0- a k t i vnost vodećeg :r.odula ®- a k t i vnost p ratećeg mOdula
Standard VME određuje i način saobraćanja na sabirnici VME . Budući da j e VME asinkrona sabir nica i da je oblikovana u tvrtki Motorola, način saobraćanja je kao i u mikroprocesora MC 68000 . Slika 9.28 prikazuje stanje na sabirnici koje se može podijeliti u četiri dij ela : faza uspostavlj anja stanja , faza odgovora p r atećeg modula , faza završetka vode ćeg modula i faza završetka pratećeg modula (sabir nički ciklus čitanja bajta) .
.!.-
'c
> 3 "' u � o � E
fi} ._ :> 'lJ
" m " � o
��
lO� " :;
o o 15 E
'g �
�� � ..9-
"" � >� :; ",
� ::: :> " D E N 'lJ OJ m " N O
.
��
'" "3
:< u � D
�
E
N 2J � �
"' 'lJ > .-
�2
U odjeljku 9.3 opisali smo stanje na asinkronoj sabirnici i upozorili na liniju DTACK koja ima važnu ulogu prilikom prijenosa podataka po sabirnici. Vi djeli smo da, ako ona nije aktivna u određenom stanju (S4 - ciklus čitanj a, S, - ciklus . upisivanja), mikroprocesor "umeće" paran broj stanj a S.. (ciklus "sporog" čitanja ili upisivanja) . Postavlja se pitanj e : Koliko dugo ostaje mikroprocesor u tom stanju S ? Odgovor je zajednički za sve asin krone sabirnice : Sve dok ne bude aktivan signal DTACK !
..
220
Naprednije
arhitekture mikroprocesora
-5 V --
visoka razina
2.94 V ----
2.4 V
2.0 V
nisk a " razina
O. 8 V
� � ..
0.6 V
Razine signala za sabirnicu
V
_
T
napon zak lj učnog sklopa
o n min
V il min V
0.0 V -----SI. 9. 29.
V
ol
h1ax
masa
VME
Što se događa a ko prateći modul iz nekog razloga ne može ge n erirat i DTACK (npr. modul je neispravan ili prateći modul ne postoji) ? U skladu s protokolom na sabirnici to bi značilo da mikroprocesor (vodeći mod u l ) i dalj e ostaje u st an j u Sw, od n osn o da j e postupak obrade zaustavlj en . Rješenje s e tog pro �lema pos t iže upotrebom posebnih vremenskih mo dula ( e ngl . system t ime-o u t module ili watch-dog timer) koj i aktiviraju liniju BERR ako prateći modul ne odgovori u unaprijed definiranom vremenu (npr. nekoliko mikrosekundi) .
Pogonski sklopovi (predaj ni) imaj u definirane razine 2,4 V i više za logičku 1 te 0 , 6 V i niže za logičku O . Prijemni pogonski sklopovi moraju n a svom ulazu imati razinu najmanje 2,0 V za logičku j edinicu , ' odnosno 0,8 V i niže za logičku O. Na slici 9.29 granična su područja (tzv. steady-state noise margin) prikazana crtkano.
Standard VME određuje elekt rične i mehaničke zn ačaj ke s abirn i ce . Np r. maksimalna je dulj ina si g nalnih l inij a 500 m m , maksimalni je broj priklj učaka (tiskanih pločica) 21 , sve s ign aln e linije moraj u imati zaklj učne sklopove , sve linij e imaj u j ednaku i m p e danciju . Sabirnički s t a nd ar d ne dopušta priključiva nje više od jednog predaj nog pogonSkog sabirničkog sklopa (engl . driver) i prij emnog sabirničkog sklopa ( e ng l . ' receiver) . Kap acit ivno opterećenje ne smije prijeći 20 pF. S ign a lne l in ij e i maj u za klju čn e sklo pove koji se sastoje od poteznog otpornika nagore (pullup) od 3 3 0 Q i poteznog o tporn i k a n ad o Ij e (pulldown) o d 470 Q t e a kti vn og izvora napaj anj a od
Literatura
Aktivnost n a liniji BERR ima z a poslj e d i cu odl azak mikroprocesora na obradu iznimke . Linija BERR upotrebljava se i u slučaju pogreške u prekidnom vektoru, neovlaštenog pristupa segmentu memorij e , a m o gu je a k tivi ra ti i namj enski sklopovi korisnika.
2,94
V.
Slika 9.29 prikazuje razine signala za sabirnicu VME.
U sabirničkom sustavu upotreblj avaju se sabirnički QQg9 nski sklQQovi velike stru j e (64 m A ) z a linije AS , DSO , O S I , SYSCLK i B CLR , standardni pogonski sklopovi (48 mA) za linije noo do 031 , AOl do A3 l , AMO do AMS , lACK, LWORD , WRITE , B GOO UT do BG30UT i lACKOUT, a za BRO do B R3 , BBSY, IRQO do IRQ7 , OTACK, B E R R , SYSFAIL, SYSRST i ACFAlL pogonski sklopovi sa s l obod ni m kolektorom . Standard VME određen je i v e liči nom tiskane pločice : jednostruki format 100 x 160 mm i dvos t ru ki format 233 ,35 x 160 mm .
[ 1 ] J . P.Hayes, Computer A rchitecture and Organization, McGraw-Hill, New York , 1979. [2] W.Fischer, fEEE PJ014-A Standard for the High-Per fo rman ce VME Bus, IEEE Micro , februar 1985, str.3141 [3] VME bus Specifitica/ion Manual, Rev . B , VME bus Manufactures Group, august 1982 .
10 . TRANSPUTER 10. 1 . Uvod U okviru istraživanj a paralelnih arhitektura u pro jektu ESPRIT razvijen je transputer komponenta VLSI koja na jednom čipu ujedinjuje pro�esor, memoriju i komunikacij sko sučelje. Transputer je zamišljen kao osnovni građevni blok visokoparalel nih sustava kao što su robotski sustavi, sustavi za obradu slika ili sustavi za digitalnu obradu signala. -
Izraz transpuler je kovanica dviju engleskih riječi : transistor i computer. Na taj način su arhitekti iz tvrtke INMOS Ltd željeli istaknuti da se takav čip upotreblj ava u gradnji suvremenih elektroničkih su stava i da se ugrađuje u tako velikom broju kao tranzistori u jučerašnjoj i današnj oj elektronici .
Transputer je programabilna komponenta razine slo ženosti kao mikroračunalo .
Njena arhitektura je posebno prilagođena za gradnju visokoparalelnih sustava koj i su opisani programskim jezikom OCCAM. Visokoparalelni sustav je obliko van kao sustav koji se sastoj i od mnoštva identičnih komponenata niske cijene transputera. -
pristupa memoriji (DMA) . Tako se postižu velike brzine prijenosa (20 M bitais) i paralelnost u radu procesora i k o mun i kacijskog sučelj a.
S obzirom na organizaciju transputera možemo govo riti o tri njihova tipa. Transputer IMS T414 (s1. 10.2) ima 32-bitni procesor s reduciranim skupom instruk cij a (arhitektura RISC) i moć obrade 10 MIPS . P roce so r saobraća s 2 K baj ta statičke memorije imple me nt i rane na c}ipu . B rzina tog internog prijeno snog puta je 80 M bajtais. Memorijsko sučelj e omogućava mu izravno adresiranje do 4 G baj ta i brzinu prijenosa od 25 M bajtais. Sirina prijenosnog puta je 32 bita, s multipleksira njem podataka i adresa. IMS T414-20 ima minimalno vrijeme izvođenja instrukcije od 50 ns. Cetiri standardne potpuno dvosmjerna serijska ko munikacijska vezna sučelj a INMOS omogućavaj u izmjenu i n formacij e s drugim transputerima brzinom do 20 M bita/s .
Svako komunikacijsko vezno sučelje ima sposobnost bloka podataka tehnikom DMA. Procesor ima vremenske sklopove (engl. timer) dodijeljene procesi m a visoke i niske razine (vidi pogl . l0.4) . Interni signal vremenskog vođenja visoke frekvencije dobiva se iz jedinstvenog ulaznog signala (TTL kom patibilnog) frekvencije 5 MHz. prij enosa
10.2. Arhitektura transputera Slika 10. 1 prikazuje strukturu transputera. Jedna je od značaj ki arhitekture VLSI da se s aobr aćanje između pojed inih kompone nata odvija mnogo spo rije negoli komunikacija unutar komponente . To je jedan od glavnih razloga što se u transputeru proce sor i memorija nalaze na istom čipu . Saobraćanje između tra n spute ra ostvaruje se serijskim prijeno snim putovima. Za razliku od standardne arhitekture mikroračunala, gdje se saobraćanje odvij a preko sabirničkog sustava , transputeri upotrebljavaju serijske komunikacij ske veze točka-točka . Transputer se pomoću komunikacijskog veznog suče lja (engl. link) izravno povezuje s drugim transpute rima. Način povezivanja točka-točka rješava pro bleme zagušenja komunikacijskog puta zbog poveća nja broja modula koj i međusobno saobraćaju. Prido davanjem novih transputera u mrežu povećava se pojasna }irina komunikacijskog puta. Prijenos poda taka između komunikacijskog veznog sučelja i me morije u transputeru ostvaruj e se' tehnikom izravnog
Sučelje za periferiju sastoji se od memorijskih uprav lj ačkih sklopova s memorijskim preslikavanjem i spos obnošću DMA. Veza s bajtno orijentiranom periferijom izvodi se veznim prilagodnim sklopom (engl. link adapterom) IMS COI L Periferija šalje zahtj ev za prekid linijom EventReq u Potvrda prekida ostvaruje se signalom EventAck . sučelje za periferiju i događaje.
Transputer I MS 1'212 sličan je IMS T414 s tom razlikom da je 16-bitni i da ima 16-bitno memorijsko sučelje.
Transputer IMS M212 specijalizirani je diskovni procesor koji omogućava jednostavno povezivanje jedinica sekundarne memorije (jedinica čvrstog iJi savitljivog diska) u sustav transputera . IMS M21 2 ima 16-bitni procesor, 2 K baj ta RAM memo rije i 4 K baj ta ROM memorij e dva komuni,
Naprednije arhitekture mikroprocesora
222
memori j a
I komunikacijsko I vezno sučelje O
I kOIT.unikacljsko l vezna sučelje l
I
komunikacijsko I vezno sučelje 2
I
I komunikacij sko l vezno sučelj e 3
I I
memorijsko sučelje
I
I
I
L::J .
!
Sl. lO. l . Struktura trampu/era
V
kacij sk a sučelj a i specijalne s klopove za upravlj an j e Winchester - diskom i savitljivim diskovima. Transputer IMS T800 (51. 10.3) ima 32-bitni procesor (performanse 10 MIPS) i 64- bi tnu ari tme tičku j e di nicu za operacije broj evima s p omičn im zarezom (FPU l ). Na p l očici sil icij a koj a je s a mo 20% ve ća od one za !MS T414 izvedeno je i 32 -bitn o me morij sko s uče lj e (26 mega bajtaJs) , 4 kilo bajta st a tičke RAM memorije (80 mega bajtaJs) i četiri standardna se rij ska komunikacijska vezna sučelj a te sučelje za perife riju i dog ađaj e .
FPU je mi kroprogra mir ana jedinica i djeluje para leln o s proces o ro m . Prij enos podataka između FPU i p roceso ra obavlj a se pod upravlj anj e m procesora. FPU je tako realiziran da podržava sve formate p�dataka i op eracij e u skl ad u sa st and ardom ANSI IEEE 754- 1985 . Pe rform ans a jedinice FPU je 1 ,5 MFLOPSl (milijuna operacij a b roj evi m a s p o mič n i m zarezom u sekundi).
Mjerenje performan se transputera IMS T8 00 po moću Whetst o neova isp itn og programa) pokazalo da je tr ans pu ter pet puta brži u odnosu na konfiguraciju 32-bitni procesor MC 68020 i matematički koproce
sor MC
6888 1 .
10.3. Transputer
i
OCCAM
Tran spute r možemo pro matrati i kao osnovnu gra đevnu komponentu sustava obrade koji upotreblja vaj u OCCAM za opis ili za modeliranje p aral e lizma prisutnog u pro bl emu . Programski jezik OCCAM dopu š ta upotrebu nj egova svoj stven o g pa ralel i za m u rj ešava nj u p roble m a . Osnovna koncepcija OCCAM -a je proces. Program u OCCAM-u se sastoji od brojnih procesa koji se izvršavaj u paralelno .
Proces se može p romatrati kao slij e d operacij a. U programskom smisl u proces predstavlja dio nezavisne obra de , odno s no " n�zavisno računanje " .
Procesi međusobno saobraćaju : u određenoj točki u slij e du operacija proces može komunicirati s d rugim procesi m a tako da šalje poruku k oj u drugi procesi primaju . Proces možemo predočiti i kao " crn u kuti ju" s ulazima i izl azi m a i sposobnošću obrade inforl FPU- Floating Point Unit , Floating Point Operations Per , Whetstone benchmark
Second
223
Transputer
"'--__..1 " , y
nterni vremenski sklopovi i dij agnostičke r t i ne
'2-bi tni procesor
u
20
M bita/s
(u svakom smj eru)
2 K bajta 50 ns statička mem o i j a
(u svakom smjeru) 20 M b ita/s
r
20 M b i t a/s (u v a k o m smjeru)
s
20 M bita ls (u svakom smj eru)
memorijsko sučelje
sučelje za peri ferij u i događaj e
SI. 10.2. Transputer
macij e (sI . 10.4) . "Crne kutije" međusobno saobra ćaju (sI . 10.5). Procesi u OCCAM-u komuniciraju pomoću kanala. Kanal omogućava j ednosmjernu komunikaciju između dva specificjrana procesa: Je dan proces šalje por:uku u kanal , a drugi proces prima poruku iz kanala. U komunikaciji i�eđu procesa upotrebljava se j ednostavno pravilo sinkro nizacije : Prvi proces koj i poduzima neku operaciju u kanalu (ulaz ili izlaz) čeka sve dok drugi proces ne bude spreman da poduzme odgovarajuću operaciju u kanalu . Dok proces čeka na poduzimanje komuni kacije, ne može započeti ni izvoditi nij ednu drugu operaciju . Kad se saobraćanje završi, oba procesa mogu nastaviti rad paralelno. Transputer svojom arhitekturom izravno podržava saobraćanje između procesa. Program sc II OCCAM-u sastoji od mnoštva procesa. Svakom se procesu može dodijeliti procesor (tran sputer) tako da se svi procesi mogu izvoditi istovre meno. Tada govorimo o "pravom" paralelnom susta vu . U' takvom sustavu moramo ostvariti saobraćanje
lMS
32 T414
između procesa u skladu s opisanim pravilom sinkro nizacije . Program s e u OCCAM-u može izvoditi na jednom procesoru . Tada procesor mora imati ugrađen meha nizam koji dopušta podjelu procesora izmedu proce sa. Na taj način procesi dijele raspoložive računarske resurse . U takvom okruženju procesor je u načinu obrade više zadataka. Npr. kad j edan proces čeka na poduzimanje komunikacije u kanalu, procesor se dodjeljuj e drugom procesu. Transputer može podržavati skup paralelnih procesa zahvaljujući posebnim instrukcijama koje omoguća vaju vremensko dodjeljivanje procesora pojedinim procesima. Transputeri imaju dvije razine prioriteta procesa. Proces prioriteta 1 (niža razina) izvršava se onda kad nema aktivnih procesa razine O (viša razina).
Procesi prioritetne razine O su obično oni koji imaju vrlo kratko vrijeme obrade. Procesi prioritetne razine 1 periodično dobivaju pro cesor za kratak vremenski interval, i na taj se način procesor dodjeljuje računski intezivnim zadacima.
224
Naprednije arhitekture mikroprocesora
64-bi tna ari tme tička jedinica 2a oper a c i j e br oj evi m a s po i č i m zarezom
m n
J
,--- f
I
''\
, t--
3 2 b i ta
./
interni vremensk" sklopovi i dij agnos tičke rut i e
A "
n
t
t
4 K bajta me m ori je RAM
.
...
"-
K
['\1"
"
A " A
'"
I
...
;p
memoriJsko sučelj e
",/
;2
7
� >-
3,2
/
/
�2
I I
V
:)l �
32 ...
7
I
V
"
j
k o munik a c i S k o vezno suče l e
komunikacij sko vezno sučelj e
/
I
komunlkaci SkO vezno su č e I. e
I
komunlkacl sko vezno suče J· e
I
l
sučelje 28 perl fer i j u I dogadaje
"
<
32-bitni CPU
v
......
32-bitna sab i rnica (prema memo rij i )
SI. 10.3.
Transputer [MS
SI. 10.4. Proces kao "crna kutija" s ulazima. izlazima i sposobno stima obrade informacija
SI. 10.5.
T800
Proces saobraća s drugim procesima
225
Transputer tran.puter I
tran.pute, 2
pošilj atelj
primatelj
može se odvijati istovremeno s komunikacijom preko drugih veza i paralelno s izvođenj em programa. Svaki OCCAM kanal zahtijeva prij enos podataka u jednom smjeru i prijenos upravlj ačke informacije u
drugom smjeru . za to se upotrebljava j ednostavan protokol koji primjenjuje multipleksiranje podataka za j edan kanal i upravljačke informacij e za drugi
Poruke se prenose kao slijedovi baj tova. Svaki baj t mora biti potvrđen prije nego se pošalj e sljedeći . To znači da transputer pošiljatelj baj ta čeka sve dok ne dobije potvrdu da je poslani bajt primlj e n . Na taj način transputer primatelj obavještava da je kanal.
podatak:
__...ll_o---,I
ta_k - d_a_ I _-,-po_ IT L
po!iljatelJ
spreman za prihvaćanje sljedećeg bajta.
Transputer primatelj može poslati potvrdu čim za počne primanje podataka, tako da bajtovi "teku" kontinuirano . Bajt podataka j e opremljen start-bi
2 SI.
10. 6.
slijedi 8 bitova podataka i na kraju stop-bit (s1 . 10 . 6) .
tom za kojim slijedi j oš jedan bit, a nakon toga
potvrda
primatelj
Slika 10.7 prikazuj e signale u kanalu prilikom prije
nosa bajtova podataka. Komunikacijski protokol je
SaobrllĆlllje l dvaju tran.rputera
Transputer izravno podržava OCCAM-ov model pa ralelnosti i saobraćanj a . On ima raspoređivač (engl . scheduler) koji omogućava izvođenje bilo koliko paralelnih procesa dijeljenjem vremena obrade . Broj registara koji sadrže informacije o tekućem procesu
(kontekst) malen je i zato j e u kombinaciji s brzom RAM memorijom na čipu vrijeme izmjene konteksta
nezavisan od duljine riječi , tako da transputeri koji imaju različite dulj ine riječi mogu međusobno sao braćati .
U
mreži transputera mogu se naći transputeri različi
tih duljina riječi jer on ima arhitekturu nezavisne
duljine rij eči (engl. word length idependent architec ture) . Komunikacija preko kanala nije osjetljiva na fazu signala vremenskog vođenja , pa se saobraćanje
manje od mikrosekunde.
može odvijati između dvaju transputera nezavisno
Proces koji čeka na saobraćanje ili koje m j e vrijeme
vremenski vođenih, ali s istom frekvencijom signala
obrade isteklo ne troši vrijeme procesora.
10.4.
Komunikacija transputera
Dva su transputera povezana komunikacijskim ve znim sučelj ima pomoću dviju j ednosmernih signalnih linij a. One dopuštaju' serijski prijenos podataka. Te dvije linij e ostvaruju dva OCCAM kanala - svaki u j ednom smjeru. To dopušta da se aplikacija obliko vana
u OCCAM-u izravno preslikava u odgovarajuću
mrežu transputera. Saobraeanje preko neke veze
vremenskog vođenj a.
10.S. 0CCAM Programski jezik OCCAM omogućava opISIvanje sustava kao zbirke paralelnih procesa koji među sobno komuniciraju preko kanala. OCCAM je j ezik
koji je pogodan za programiranje u sustavima u kojima se memorij a ne dijeli između procesora. Programi se u OCCAM-u grade od tri osnovna
procesa :
r-"'---, potvrdi
11 - ' I I L a :
ulazna vez a
Izl azna _...l.-.:.l-..:...l. . :: .: :: :::. ::; :: :: ;;i;; ;;i; :: :=PO=d=�i:tlk =�:::l::::I: :: : veza
::!:":JI�o_"i'
Sl. 10. 7.
Signali u kanalu prilileom prijenosa bajta podataka
vrijeme
_
>
226
Naprednije arhitekture mikroprocesorlJ
• protesa dodj eljivanj a - pos tupa k promj ene vri jednosti varijable v : e: =
•
•
procesa ulaza - unos izraza iz kanala
procesa izlaza - slanje izraza u kanale
e
e
?
!
compute , next. sol u tion (this. pro blem, solution) . result ! solution
e,
Prvi proces u nos i iz kanala source next. problem. Drugi se proces sastoji od dva procesa koja se izvode . slijedno.
v,
Osnovni se procesi kombiniraju i oblikuju gradbe nike (konstrukte) :
Prvi je proces primjer postupka koji
SEQuential - komponente se izvršavaju u slijedu jedna za drugom, PARallel - komponente se izvršavaju paralelno , ALTernative - izvršava se komponenta koja j e prva spremna.
OCCAM dopušta i izvođenje konvencionalnih se kvencijainih programa (u OCCAM-u su uključeni gradbenici IF and WHILE) . "
Gradbenici su ujedno i procesi te mogu poslužiti kao komponente drugih gradbenika . Naprimjer , pokažimo program koji se sastoji od dvaju paralelnih procesa :
PAR SEQ
10:6. Model transpntera. T414
source ? next. problem
Transputer T414 je računalo arhitekture RISC prven stveno zato što nema standardne registre koji su uobičajeni za arhitekturu mikroprocesora i zato što
�I
medusprem n i k
l7
�I L
""
TEnabled
i1
,J
E
D D
TEnabled l
H
D D fi$
C lockReg
CIDckReg l
T P t ,L oc
>'5
TPtrLoc I
TNextReg
p
TNextReg I
I
instrukeijsk i dekoder
r
�
r I
rezervirano
l
HOOOOOOoo
la
Ul!
prDgram
radfli prostor
I
, 4�
instrukcijsko k a z a l o
I
Il
/
r egi s t a r operanda O
I r
H 80000000 H 80000048
pretpribavlj enih i nstrukcija (2d2 b i t a )
l
A
B C
I
,
w
FPtrRe'l. al BPtrRe 9
O
til f-
l
FPtrReg I
I
Sl. 10.B. Model transputera T4J4" BPtrReg
rt
l-
registar-kazalo
radnoo I'lrostora W
lista procesa razine priori teta
D
O lista procesa
razine prioriteta
TI -
I
-
227
Transputer
......
staro
W
---
CALL
nastavlj anj e no'V'o W
f- - - - -
- - -
pomak nute
•
- -
III
4
-I • "
e B
-2
•
4
A
-J
•
4,
povratna adresa
-4
•
4
parametri
1- - - - - - - - - -
(u potprogr amu)
Sl.
JO. 9.
:::...
Radni prostor i potprostor za vrijeme potprograma
nema ortogonalan skup instrukcij a. Pod pojmom "ortogonalan skup instrukcija" razumijeva se takav skup instrukcija u kojem gotovo sve instrukcije imaju sve načine adresiranj a. Jedna od značajki arhitekture RISC j� i vrlo mali broj načina adresira nja. Transputer T414 ima svega tri načina adresira nj a : usputno , odnosno i registarsko posredno . Slika 10.8 prikazuje model transputera T414. Tran 'sputer ima 32-bitno instrukcijsko kazalo I koje ima funkcij u programskog brojila. Pretpribavljene ins trukcije pohranjuju se u međuspremnik instrukcij a (2 x 32 bita) koji je za programera transparentan. Procesor pribavlja 8-bitne instrukcij e iz tog međus premnika i priređuje sadržaj 32-bitnog registra ope randa O. Obično se 8-bitna instrukcija dijeli na 4-bitni funkcijski (operacijski) kod koji se upućuje u instrukcijski dekoder i dio koj i je namijenjen registru operanda O .
Interno, transputer j e stogovno orijentiran stroj . Ima tri registra duljine 32 bita : A , B i C koji oblikuju stogovnu strukturu. Ta tri registra se upotrebljavaju za pohranjivanje operanada , a stogovna organizacija dopušta izvedbu instrukcij a bez polj a za specifikaciju registara. Registar A je w.vijek vrh stoga. Parametri programa , čak niti privremeno , se ne pohranjuju u tu stogovnu strukturu . Instrukcije tipa load (napuni) priređuju stog. Aritmetičke i logičke operacije s dva operanda upotrebljavaju registre A i B, a rezultat operacije se smješta u registar A . Neke instrukcije za prijenos bloka podataka upotreblj avaju registar C kao kazalo izvora , registar B kao kazalo odredišta a registar A kao broj ilo duljine bloka koji se premj ešta .
A:rhitektura transputera T414 slična je arhitekturi m ikroprocesoraTexas Ihstrunients 9900 (vidi poglav lje 4 . , sl . 4. 13) . Transputer T414 također uPQtreb ljava kazalo radnog prostora W. To je 32-bitni registar koji pokazuje na radni prostor u memorij i . Radni 'prostor se pridružuje svakom (paralelnom ) procesu . Točnij e , on za vrijeme izvršena procesa pokazuje na početak bloka 32-bitnih riječi . Lokalne varij able i pc>vratne adrese dosežljive su u tom radnom prostoru pomoću pozitivnog adresnog po maknuća , a negativno pomaknuće u odnosu na regi star W određuje varijable vezane za saobraćanje i funkcije vremenskog nadgledanj a . Adresa radnog prostora · i njegova razina prioriteta u potpunosti opisuju proces. Upotreba k azala radnog prostora dopušta brze promjene konteksta prilikom zamjene aktivnosti procesa. Pozivanje potprograma automat ski oblikuje dodatni radni potprostor. Procesor auto matski u radnom potprostoru osigurava četiri riječi potrebne za povratnu adresu ( pohranjuje se sadržaj instrukcij skog kazala I) i oblikuje tri stogovna regi stra A , B i C . Posebnim instrukcij ama programeru j e omogućena rezervacij a prostora za smještanj e potprogramskih varij abli (sl. 10.9) . TranspIIter podržava rad konkurentnih (paralelnih) procesa. Svaki proces je određen adresom radnog prostora. Radni prostori su povezani i oblikuju dvije liste procesa koj i čekaju na obradu . Jedna lista odgovara prioritetnoj razini O (viši prioritet) a druga prioritetnoj razini 1 (niži prioritet) . Registri FPtrReg O i 'BPtrReg O (sl. 10.8) određuju listu prioritetne razine O i to tako da FPtrReg O pokazuje na početak liste , a registar BPtrReg O na kraj liste. Registri FPtrReg 1 i BPtrReg 1 na j ednak način određuju listu procesa niže razine prioriteta. Procesi višeg prioriteta imaj u uvijek pravo prvenstva u odnosu na one nižeg prioriteta. Kad više nema procesa višeg prioriteta tek tada se izvršavaju procesi nižeg priori teta . Za lokalne vremenske operacije transputer upotreb- lj ava sljedećih šest registara : •
dva vremenska registra ClockReg O i ClockReg 1 za svaku razinu prioriteta. • dva registarska kazala TPtrLoc O i TPtrLoc 1 koja pokazuju na prve izraze u dva vremenska prioritetna repa čekanja, • dva registra TNextReg O i TNextReg 1 Imj a pokazuju na vrijeme prvog događaj a za svaku prioritetnu razinu. Vremenski rep čekanja oblikuje se posebnim instruk cijama namij enjenim vremenskom nadgledanju i upravljanju. Naprimjer, instrukcijom tin (tirner in put) suspendira se neki proces za određeno vrijeme . Suspendirani proces se smješta u j ednu od dvije l iste
228 (u ovisnosti od prioriteta procesa) koje predstavlj aju vremenski rep čekanj a .
Transputer T414 interno upotrebljava taktove dv aj u signala vremenskog vođenj a koji se upotrebljavaju kao mj era vremena . Registar koji odgovara višem prioritetu repa čekanj a uvećava se svake mikrose kunde a onaj nižeg prioriteta uvećava se svakih 64 mikrosekunde. Zastavice TEnabled O i TEnabled 1 (sl . 10.8) pokazuju da li se ne ki od procesa nalazi u odgovarajućem vremenskom repu čekanj a . Tra n spu ter T414 nema u običaj en e zastavice koj e o blik uj u status-registar . On jedino upotrebljava za stavicu pogreške E i zastavicu za z austavlj anj e na pogrešku H (engl . halt-on-error) koje se primjenjuju za rukovanje pretekom. Posebnim instrukcij ama (n p . , testerr, stoperr) ispituju se zastavice E i H.
Naprednije arhitekture
mikroprocesora
Tako se npr . , instrukcijom stoperr odstranjuje tekući
proces ako je zastavica E postavlj ena.
Literatura [1] The Transputer Family 1 987, INMOS , ap ril 1987. M . Homewood et al . , The 1MS T800 Transputer, IEEE Micro 1987,5Ir. 10-26. [3] J . Kerridge, OCCAM Programming: A Practical Ap proach, Blackwell Scientific Publ, OxfOr'tI; 1987. [4] 1NMOS Spectrum, INMOS 1987. [5] L.Ciminiera, A.Valenzano, Advanced Microp rocessor Architectures, Addison-Wesley Pub. , 1 987. [6] J . D . Nicoud , A.M.Tyrrell, The Transputer T414 Ins tr!,ction Set, IEEE Micro, Vol. 9, No 3, j uni 1989 , . pp . 60-7S .
[2J
Kazalo
pojmova
A
adresiranje 121 adresna sabirnica 201 adresni registri priru čne memorij e 7 1 adresno preslikavanje 180 akumulator 25 , 40 algoritam Binary Buddy 186 AMD 2903 1 1 3 aritmetička sekcija 73 aritmetičko-Iogička jedinica 73 asembler 1 9 asinkrona sabirnica 200 asocijativna priručna memorija 182 autovektor 1 56
B
barrel shifter (bačvasti posmačni sklop) 9 1 Bellmac-32 12 Binary Buddy 186 bit prijenosa C 65 bitovni odrezak 12 B1U 100 Bootov algoritam 82 Bourne ljuska 21 brojilo podataka 26
e
C ljuska 20 cache miss 1 7 1 cache (priručna memorija) 1 69 carry look ahead (sklop.za predviđanje bita prijenosa) 77 ciklus: - čitanj a , promjene i ponovnog upisa 213 - čitanj a 209 - upisivanja (pisanja) 2 1 1 clse 93 Qipper 93, 170 Cosmac 1802 l l , 48
D
DAA 67 djelilo 86 djelj enje bez obnavljanja 87 djelj enje obnavljanjem 87 dinamičko razmj eštanje 179 DTVS 88
DIVU
88
DMA procesor 2 05 DTACK 155
E ECU 100 editori 19
F
F-linijski pokazatelj 99 FCO - FC2 165 fizički adresni prostor 176 FMOVE 99 format selektora 1 63 funkcionalni moduli VME 215
G
GaAs I S , 91 GDT tablica 1 6 1
H
HALT 121 HCMOS 165 hijerarhijski zaštitni sustav 186 HMOS 12
HOLD 121
HP-32, 1 2 , 1 1 4
I
iAPX 432 12, 96 iA PX 43201 1 1 4 IEEE Task P754 99 IMS T41 4 223 IMS T800 222 INMOS 221 indeksni registar 62 instrukcijska priručna memorija 173 instrukcijski registar 26 Intel 4004 l l , 40 Intel 8080 120 Intel 8086 69 , 49 Intel 8087 97 Intel 80286 168 Intel 80386 97 , 1 35 interpreter 20 izdvojena priručna memorija 173 iznimka 149 , 161 iznimke za Intel 80386 1 62 izravno preslikavanje 181 IZVRŠi 26
J
jedinica za obradu podataka 93 jezgra operativnog sustava 19
K
kazalo stoga S l kombinacij a ustraničavanja i segmentacije 177 komunikacija transputera 225 korisnički način 159
Naprednije arhitekture mikroprocesora
230 RALU 12
L
R
LIFO 52 logički odresni prostor 176 logički analizator 37 logička sekcija 78 LRU algoritam 173
RAM 1 6 razine privilegiranosti 185 registar izravne stranice 71 registar osvježavanja 69 registar prekidnog vektora 69 RISC 14, 94 RISC procesor u GaAs tehnologiji 1 76 ROR 215 RTE 137 RTl 137 RTS n 139
LJ
Ljuska 20
M
MC 6800 46 MC 6809 47 MC 68000 49 MC 68020 1 3 , 166 MC 68881 95, 98 MC 68120 24
matematički procesor 95, 98
MeDoneU Douglas Astronautics 50, 92
MCU 100
memorijska upravlj ačka j edinica 1 7 , 191 memorijski modul 1 6 mikro računalo 7 mikroprocesor 7 mikroprogram 108 mikroprogramirana upravlj ačka jedinica 100 . MMU 17 množilo 82 moduli posebne namjene 17
N
načini adresi ranj a 121 nadgledni način 153
NS 16081 95
o
obrada iznimaka 149 OCCAM 222 organizacija instrukcijske riječi 26 organizacija mikroprocesorskog �ipa 94 . . . organizacij a podataka u memoflJI mikroračunala 207 ortogonalnost skupa instrukcij a 124
P
PACK 98 P LA 109 PMOS 1 1
posmak 88 postupak transformacije adrese 194 Potpuno zbrajalo 74 prekidni sustav 137 prekidni sustav Intela 80386 160 prevodioci 19 PRffiAVI 26 priručna (cache) memorij a 169 proces 19, 223 programska oprema 19 programsko brojilo 26 , 50 protočna (pipeline) arhitektura 165 PULA 55 punilac 20 PSHA 54
RDW 215 s
sabirnice 1 7 , 200 sa1>irnički standard VME segment 165 segmentaci j a 177 segmentni registri 69 sinlcrona sabirnica 200 . sklop za posmalc 88 sklopovi za aritmetiku brojeva s pomičnim zarewm 88 . skup instrukcija 121 . skup registara opče namj ene 44
SR 151
st'anje procesora 117 status registar 61 strojni ciklus ll7 sučelj na sabirnička j edinica 100
SWI l44
T
TAS (ea) 213
TI 9900 51 trace 157 transputer 221 TRAP 152
u
ubrzanja rada ALU 9 1 ulazno-izlazni modul 16 UNIX 20 UNPK 98 uslužni programi 19 ustraničavanj e 177 upravljačka jedinica 106 upravljački registri 71
v
vanjske sabirnice 35 vi!estruke iznimke 160 virtualna memorija 165 , 1 75 VME 215 vodeći modul 215 vodeći/prateći modul 215
w
Wilkesova shema 107
x XOR
-
isključivo ILI 78
Kazalo pojmova y
Y. Chu 1 13
z zastavica: C 65
1 68
H 67 N 65 S 68 SIN 68 T 68 TF 68 V 67
zbrajalo s predviđanjem bita prijenosa 75 Z 80 145
Z
80000 166
231