Documente Academic
Documente Profesional
Documente Cultură
Arhitectura Microprocesorului I8080
Arhitectura Microprocesorului I8080
i
r
e
(
o
n
f
i
r
m
a
r
e
n
t
r
e
r
u
p
e
r
e
(
o
n
f
i
r
m
a
r
e
+
A
,
2
(
o
n
f
i
r
m
a
r
e
i
n
t
r
a
r
e
n
+
A
,
2
1 " 0 1 4 5 > 3 ? =
)= IF2A = = = = = = 1 1 = 1
)1 LO 1 1 = 1 = = 1 1 1 1
)" :2A(O = = = 1 1 = = = = =
)0 +A,2A = = = = = = = = 1 1
)1 OD2 = = = = = 1 = = = =
)4 M1 1 = = = = = 1 1 = 1
)5 IF7 = = = = = = = = = =
)> M*M! 1 1 = 1 = = = = 1 =
I
F
2
A
I
F
2
A
I
F
2
A
I
P
O
L
I
P
O
L
M
*
M
L
M
*
M
!
M
*
M
L
M
*
M
!
M
*
M
!
- 10 -
e;terior. Aceste cicluri .cind LO este activ/ corespund inscrierii in memorie
.stiva/ sau la un periferic.
:2A(O, )". )eorece stiva se realizeaza in memoria e;terna acest bit
diferentiaza intre operatiile citirePinscriere stiva si operatiile inscrierePcitire
memorie. In acest ciclu pe magistrala de adresare se afla adresa virfului stivei.
+,2A, )0. Acest bit este prezentat in ciclurile de tip +A,2
IF2!*!D7*!* si semnalizeaza e;teriorul ca M7 si$a blocat in urma e;ecutarii
unei instructiuni +A,2. )eblocarea M7 se poate face fie printr$o intrerupere
e;terna .daca IF2*R1/ fie printr$o comanda de initializare !*:*2.
OD2, )1. *ste pus acest bit cind se efectuiaza operatiile de iesire la un
periferic. Intr$un astfel de ciclu magistrala de adresare contine adresa perifericului,
iar cea de date cuvintul transmis la periferic valid in momentul cind semnalul L!
devine activ.
M1$)4. 'itul 4 din cuvintul de stare apare totdeauna in primul ciclu de
citire a instructiunii .C*2(+/. Apare si in ciclurile intrerupere, +A,2
IF2!*!D7*!* deoarece in acestea se citeste o instructiune !*:2A!2 sau
(A,,.
IF)$)5.(a si bitul )1 acest bit indica lucrul cu perifericul, dar sensul
informatieieste de la periferic la procesor, adica de intrare . In acest ciclu
magistrala de adrese contine adresa perifericului, iar pe magistrala de date
perifericul trebuie sa plaseze cuvintul care sa fie valid in momentul cind M7
activeaza semnalul )'IF.
M*M!, )>. Dtimul bit al cuvintului de stare identifica un ciclu de citire
a memoriei. Informatia din memorie trebuie sa fie valida pe )7 la aparitia
semnalului )'IF.
2abela celor 1= cuvinte de stare generate de M7 pe durata semnalului sTnc
precum si semnalele obtinute pentru magistrala de control vezi figura".
7entru cele 1= cuvinte de stare diferite controlerul de sistem produce printr$o
logica interna 4 semnale de control .care formeaza propriul zis semnalele
magistralei de control/ Aceste semnale de control sunt< M*M !R)> W )'IF *ste
generat prin ecuatia de mai sus si apare in ciclurile cind se efectuiaza o citire la
memorie<
M*M L R )1 W L! Apare in ciclurile de scriere a memoriei.
IPO! R )5 W )'IF Apare in ciclurile de citire a unui periferic
IPOL R )1 W L! Apare in ciclurile de inscriere a unui periferic.
IF2A R )= W )'IF Apare in ciclurile de acceptare a unei intreruperi in
scopul fortarii din e;terior pe )' a codului unei instructiuni !*:2A!2
sau (A,,.
:e observa ca semnalele magistralei de control in contrast cu informatia
continuta in cuvintul de stare inglobeaza atit informatia despre tipul de ciclu cit si
- 11 -
relatii de timp selectind acel interval de timp din cadrul ciclului cre este destinat
pentru transmitereaPreceptionarea pe magistrala de date a informatiei catre
destinatiile e;terne sau provnind de la sursele interne. 7e de alta parte informatia
continuta in 7:L este mult mai bogata in sensul ca din cele 1= tipuri de cicluri
posibile numai 4 sunt prezentate e;plicit prin semnalele magistralei de control,
unele din ele fiind suprapuse din punct de vedere al functionarii
memorieiPdispozitivelor periferice. )eaceea daca uneori este nevoie de un bit din
cuvintul de stare, acesta trebuie UprinsS pe durata semnalului :EF( si memorat
intr$un registru.
Cig. " Algoritmul de indeplinire a unui ciclu masina tipic.
7entru o intelegere mai amanuntita a functionarii microprocesorului se va
e;plica algoritmul de indeplinire a unui ciclu masina tipic .fig."/.
7e durata starii 21 continutul numaratorului de adrese 7( este transmis pe
A' .magistrala de adrese/ si se genereaza semnalul :EF( ceea ce determina la
rindul sau ca pe )' .magistrala de date/ sa se transmita cuvintul de stare . Acest
cuvint de stare este totdeauna C*2(+ daca ciclul masina este M1. :agetile care
pornesc din fronturile crescatoare ale lui 2" indica semnalele generate .cu anumite
intirzieri/ de acest front. :tare 21 este totdeauna urmata de starea 2" .fig."/, pe
parcursul careea se testeaza semnalele !*A)E, +,2A si +O,). )aca
!*A)ER1, iar +,2AR+O,)R= se trece in continuare in starea 20. 7e durata
starii 20 informatia e;trasa din memorie este accesibila pe )' si transferata in
registrul de instructiuni I!. In dependenta de tipul instructiunii in e;ecutie ciclul$
masina este complet dupa starea 20, 21, 24. In starea 21, decodificatorul impreuna
cu unitatea de control generaza semnale necesare transferurilor interne. ,a sfirsitul
starii 21 se testeaza daca ciclul curent este complet. In caz afirmativ se continua cu
- 12 -
starea 21 a ciclului masina urmator M". Dnele cicluri necesita si starea 24 dupa
care se trece la 21 in ciclul M" inafara situatiei cind ciclul instructiunii a necesitat
doar un ciclu$masina. 7e durata ultimei stari a ultimului ciclu masina al fiecarei
instructiuni se testeaza samnalul de cerere intrerupere IF2 . )aca IF2*R1 si a fost
validata posibilitatile de intrerupere, atunci M7 trece la deservirea perifericului,
care a cerut intreruperea, printr$un ciclu M1 special. In acest ciclu M1 special se
trimite in stiva adresa din 7(, se opreste incrimentarea numaratorului de adrese si
la generarea de catre M7 a semnalului de acceptare intrerupere IF2AR=,
perifericul trebuie sa puna pe magistrala de date instructiunea !:2, care e;prima
adresa .ce va fi incarcata in 7(/ unde se afla prin instructiune din subritina
deservirii a perifericului . )aca !*A)E R= se trece intr$o stare de asteptare LAI2
notata prin 2V. In starea 2V microprocesorul poate ramine un numar multiplu de
perioade 2 nelimitat. :emnalul !*A)ER= permite ca M7 sa se sincronizeze .sa
astepte/ cu memorii e;terne sau perifericele cu functie mai lenta. M7 confirma
intrarea in starea 2V prin generarea semnalului LAI2R1. )in starea 2V se iese
odata cu venirea semnalului !*A)ER1. In starea 2", daca semnalul !*A)ER1 si
+O,)R1 se stabileste inS1S un bistabil interior .bistabilul indica la cerere ca M7
sa elibereze magistralele/. :tarea +,)A. Magistralele vor fi eliberate in stare 20
.daca ciclul curent introduce informatii in M7/, in stare 21 .daca ciclul curent
e;trage informatii din M7/.,a preluarea administrarii magistralele M7 trece in
totdeauna in starea 21 a urmatorului ciclu masina. In starea de oprire, starea
+A,2, M7 trece daca semnalul +A,2 . format in ciclul M" a instructiunii +,2/
este egal cu U1S. In aceasta stare magistralele interne de date si adrese trec in starea
de inalta impedanta , semnalul de iesire LAI2R1, iar e;ecutarea programului este
oprita. !eluarea e;ecutarii programului dupa ce s$a intilnit instructiunea +,2,
poate fi facuta doar de catre o cerere de intrerupere IF2R1 sau o reinitializare a
M7 comandat cu semnalul de initializare !*:*2. Insructiunea +,2 poate fi
privita ca o operatie de asteptare pina cind apare o intrerupere. )upa reitoarcerea
din subrutina de servire a intreruperii prin care s$a fortat iesirea din starea +A,2
se reia e;ecutarea programului de la instructiuneaimediat urmatoare instructiunii
+,2. )aca intreruperile nu sunt autorizate prin instructiunea *I inainte de a
surveni +,2, M7 nu va mai putea iesi din starea +A,2 decit printr$o reinitializare
a sistemului .semnal !*:*2 cu pornire de la adresa ====+/. )in starea +A,2
microprocesorul poate trece in starea +,)A daca semnalul +O,) este egal cu 1.
)aca +O,)R= M7 se reintoarce in starea de oprire +A,2. Operatiile care au loc
in stare 20 sint determinate de tipul de ciclu masina in curs de e;ecutie. Intr$un
ciclu de e;tragere a instructiunii M7 interpreteaza informatia de pe )' ca o
instructiune# iar intr$un ciclu de citire a memoriei sau a stivei, informatia de pe
magistrala de date va fi interpretata ca o data. M7 plaseaza datele pe )' in starea
20 a ciclurilor masina de scriere a memoriei sau a stivei. In fig. 1 sint figurate
semnalele )'IF si L! care indica faptul ca informatia de pe magistrala de date
poate fi citita, respectiv inscrisa.
Moduri de adresare MP I88
- 13 -
7erformantele oricarui M7 sunt puterni afectate de modul cum reuseste sa
aduca .citeasca/ si sa duca .inscrie/ datele in memorie. M7 trebuie sa genereze un
cuvant de 15 biti pentru adresarea locatiei de memorie in care este stocata data ce
urmeaza a fi procesata. Celul cum se construieste .determina/ adresa locatiei de
memorie este denumit mod de adresare. Modul de adresare afecteaza pronuntat
timpul necesar si memoria consumata pentru realizarea unei instructiuni. Acestea
sunt argumentele pentru faptul ca M7$le sunt inzestraate cu tot mai multe
posibilitati de implimentare a modurilor de adresare. I3=3= permite 5 moduri de
adresare<
adresare imediata#
adresare directa#
adresare implicita#
adresare a registrelor#
adresare cu registru perec9e .adresare indirecta prin registre/#
adresare combinata.
,a alte tipuri de M7 se mai intilnesc adresare inde;ata, relativa, indirecta
etc. Adresare imediata $ in adresarea imediata operandul necesar in procesare este
situat imediat dupa bTtul ce reprezinta codul operatiei. Instructiunile cu adresare
imediata sunt cu operanzi de un bTte sau " bTtes, ocupind in memorie evident "
respectiv 0 locatii. .Cig.1/
Cigura 1. Adresarea imediata
*;emplu< MI A, =4+
Instructiunile cu adresare imediata sunt utilizate pentru introducerea
constantelor .simple sau duble/ in calcul. In cazul cind constanta este dubla
instructiunea se foloseste pentru introducerea unei adrese intr$o perec9e de
registre, care apoi se va utiliza pentru adresarea memoriei .adresare cu registru
perec9e/. Adresare directa$ este cel mai simplu mod de adresare a memoriei.
Ciecare instructiune cu adresare directa contine adresa locatiei de memorie in care
se afla operandul necesar procesarii. Instructiunile ocupa 0 locatii succesive in
memoria de programe. In prima locatie de memorie este codul operatiei, in a doua
locatie este bTtul cel mai putin semnificativ, iar in a 0 locatie 8 bTtul cel mai
- 14 -
semnificativ al adresei. !ezultaa ca o astfel de instructiune necesita 0 citiri la
memorie .cicluri$masina/ pentru aducerea operandului. In consecinta o instructiune
cu adresare directa consuma multe stari ale M7.
Cigura ". Adresarea directa
*;emplu< ,)A 3=5=+
Adresare implicita. *;ista unele instructiuni care prin insasi formatul
binar.codul operatiei/ indica implicit registrul ce ia parte la operatie. )e e;emplu
instructiunea )AA implicit se refera doar la acumulator. 2oate instructiunile
operatiilor logice si aritmetice folosesc acest mod de adresare. Adresarea
registrelor. Acest mod de adresare se foloseste cind oprandul implicat in procesare
se afla in unul din registrele interne .A, ', (, ), *, +, ,/. Instructiunile care
folosesc adresare la registru contin in formatul binar de un bTte codul instructiunii
si codurile registrelor implicate. Dltimii 0 biti mai putin semnificativi vor codifica
registrul sursa .al operandului/. Drmatorii 0 biti 8 registrul destinatie, iar primii "
biti mai semnificativi codul operatiei. Ciecarui registru al M7 i se impune un cod
unic.
*;emplu< MO '(
Adresare cu registru perec9e
- 15 -
Cigura 0. Adresarea prin registru perec9e
Adresa unei locatii de memorie in care se afla data necesara poate fi
specificata prin continutul unui registru perec9e ca in fig. 0.
*;emplu< MO A, M
7rin utilizarea adresei din registru perec9e instructiunea nu mai necesita "
bTtes in plus .ca sa indice adresa/ ca la cea cu adresare directa, deaceea acest mod
de adresare micsoreaza sspatiul folosit in memoria de programe, iar viteza de
aducere a datelor creste deoarece scade numarul cipurilor de citire a memoriei. O
utilizare obisnuita pentru adresarea cu registrul perec9e este in manipularea
tabelelor de date in memorie. Aceasta manipulare a tabelelor se bazeaza pe faptul
ca adresa de inceput este incarcata intr$un registru perec9e, iar dupa ficare citire
.sau inscriere/ a memoriei continutul registrului perec9e este incrimentat sau
decrementat, deci este posibila adresarea locatiei urmatoare. )e obicei registrul
perec9e + este cel mai utilizat pentru acest mod de adresare, dar sunt instructiuni
care permit si adresarea cu registrele ' si ).
*;emplu<
:2A6 '#
,)A6 '#
,)A6 )#
:2A6 )#
Adresare combinata.
Dnele instructiuni au un mod de adresare compus din modurile prezentate
anterior. )e e;emplu instructiunea MO A, M, foloseste si modul de adresare
implicit si modul de adresare in registrul perec9e sau insstructiunea de apelare a
unui subprogram (A,, necesita o adresare directa urmata de o adresare cu
registrul perec9e, mai e;act cu registrul indicator de stiva.
- 16 -
Un nou portal informaional!
Dac deii informaie interesant si doreti s te impari cu noi atunci
scrie la adresa de e-mail : support@sursa.md
- 17 -