133 50 33MB
Croatian Pages 231 [234] Year 1997
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
'/