Sunteți pe pagina 1din 17

Grupul instruciunilor de transfer al datelor.

Acest grup de instruciuni este utilizat pentru transferul informaiei sub


form de cuvinte ntre registre, sau ntre registre i memorie. Instruciunile de
transfer nu afecteaz faioanele de condiie.
1.MO !1, !"# !1, !"$%&A, ', (, ), *, +, ,-
".MO M, !# .din registru n memorie/ !$%&+, ,- $ accesul la memorie se face
prin intermediul registrelor +, ,
0.MO !, M# .din memorie n registru/ &+, ,-$%!
1.MI !, )A2A 3
4.MI M, )A2A 3 $ transferul imediat al unui octet ntr$o locaie de memorie
5.,6I !7, )A2A 15 8 transferul imediat al unui dublu octet n registru perec9e !7
$%&', ), +, :7-
*;emplu< ,6I :7, 1"05+
,6I +, 1==)
>.,)A adres $ ncarc acumulatorul de la adresa indicat din memorie .A/ $%
.. octet0/, .octet"//
3.:2A adresa $ stocarea coninutului acumulatorului la adresa indicat din
memorie ?.,)A 6, !7 $ ncarc acumulatorul cu coninutul locaiei de memorie
indicat de registrul perec9e !7, !7$%&', )-
1=.:2A 6, !7 $ stocarea coninutului acumulatorului n locaia de memorie
indicat de registru perec9e !7, !7$%&', )- A$%..'/, .(//
11.,+,) adresa $ ncarc registrul perec9e + cu coninutul locaiei de memorie de
adresa indicat direct
.,/ $% ..octet 0/ .octet "//
.+/ $%..octet0/ .octet "/@1/
1".:+,) adresa $ stocarea coninutului registrului perec9e + n locaia de
memorie de adresa indicat
*;. :+,) 301"+
.,/ $% .301"/
.+/ $% .3010/
10. (+A $ sc9imbul coninutului registrelor perec9e +, ).
Grupul instruciunilor aritmetice
Acest grup de instruciuni realizeaz operaii aritmetice cu cuvintele din
registre sau memorie fr alte specificaii, toate instruciunile acestui grup
afecteaz fanioanele de condiie respective. 2oate operaiile de scdere sunt
realiate prin adunare n cod binar complimentar fa de ".
1.A)) ! $ adunarea la acumulator a coninutului unui registru .A/ B$ .A/ @.'/
".A)) M $ adunarea la acumulator a coninutului unei locaii de memorie
0.A)I )A2A 3 $ adunarea imediat la acumulator
- 1 -

1.A)( ! $ adunarea la acumulator a coninutului unui registru i a transportului
4.A)( M $ adunarea la acumulator a coninutului unei locaii de memorie i a
transportului .A/B$.A/ @ ..+/ .,//@(C
5.A(I )A2A 3 $ adunare imediat la acumulator a unui octet i a transferului
.A/B$.A/@)A2A3 @(C
>.:D' ! $ scdarea din acumulator a coninutului unui registru
3.:D' M $ scderea din acumulator a coninutului unei locaii de memorie
?.:DI )A2A3 $ scderea din acumulator a coninutului octetului " .scdere
imediat/
1=.:'' ! $ scderea din acumulator a coninutului unui registru i a mprumutului
.A/B$.A/8.)/8.(E/
11.:'' M $ scderea din acumulator a coninutului unei locaii de memorie i a
mprumutului
1".:'I )A2A3 $ scderea imediat a datei i amprumutului din acumulator
10.IF! ! $ incrimentarea coninutului unui registru
11.IF! M $ incrimentarea coninutului unei locaii de memorie
14.)(! ! $ decrementarea coninutului unui registru
15.)(! M $ decremementarea coninutului unei locaii de memorie
1>.IF6 !7 $ incrimentarea unui registru perec9e !7<&', ), +, :7-
13.)(6 !7 $ decrementarea unui registru perec9e
1?.)A) !7 $ adunarea la registru perec9e + a coninutului unui alt registru
perec9e !7<&', ), +, :7-
"=.)AA $ aGustare zecimal a acumulatorului.

Grupul instruciunilor logice
Acest grup de instruciuni realizeaz operaii logice cu cuvintele din registre
sau memorie, unele instruciuni a acestui grup afecteaz fanioanele de condiie
respective.
1.AFA ! $ nmulirea logic a acumulatorului cu un registru .A/B$.!/ AF) .A/
".AFA M $ nmulirea logic a acumulatorului cu o celul din memorie
0.AFI )A2A3 $ nmulirea logic a acumulatorului cu data imediat
1.6!A ! $ efectuarea operaiei 6O! cu un registru i ctocarea rezultatului n
acumulator
.A/B$.!/ 6O! .A/
4.6!A M $ efectuarea operaiei 6O! cu o celul de memorie i ctocarea
rezultatului n acumulator
5.6!A )A2A3 $ efectuarea operaiei 6O! cu data imediat i ctocarea
rezultatului n acumulator
>.O!A ! $ efectuarea operaiei O! .sau/ cu un registru i ctocarea rezultatului n
accumulator .A/B$.!/ O! .A/
3.O!A M $ efectuarea operaiei O! cu o celul de memorie i ctocarea
rezultatului n acumulator
- 2 -

?.O!A )A2A3 $ efectuarea operaiei O! cu data imediat i ctocarea rezultatului
n acumulator
1=.(M7 ! $ compararea unui registru cu acumulatorul. Aici se afecteaz fanianele
: , H , 7 , ( , A(
11.(M7 M $ compararea unei celule de memorie cu acumulatorul.
1".(M7 )A2A3 $ compararea datei imediate cu acumulatorul.
10.!!( $ se efectueaz rotirea acumulatorului n drepta , cu nscrierea bitului
superior n bitul de transfer.
11.!,( $ se efectueaz rotirea acumulatorului n stnga , cu nscrierea bitului
inferior n bitul de transfer.
14.!A! $ se efectueaz rotirea acumulatorului n drepta , incluznd i bitul
transferului.
15.!A, $ se efectueaz rotirea acumulatorului n stnga , incluznd i bitul
transferului.
1>.(MA $ invertarea coninutului acumulatorului.
13.(M( $ invertarea coninutului registrului (.
1?.:2( $ setarea n I1I a coninutului registrului (.

Grupul instruciunilor de salt, control I/O,lucru cu stiva
Aceste instruciuni realizeaz operaii de apelare la subrutin sau ntoarcere
din ea, transferul datelor la porturi de ieire, lucru cu stiva, operatii de salt
condiionat sau necondiionat .
1.(A,, $ c9emarea unei subrutine, care se efectuiaz astfel < coninutul contorului
de comenzi se nscrie n stiv pe adresa la care indic :7 se scade din :7 , " i se
face trecerea la comanda care este indicat n urmtorii " octei.
".7(+, $ saltul la adresa indicat n regitrii + , ,
0.!*2 $ rentoarcerea din subrutin trecerea la comanda adresa creia este indicat
n perec9ea de octei al stivei i adunarea la :7 , ".
1.!:2 n $ efectuarea resetrii procesorului. Ji preluarea funcionrii de pe adresa 3
$ FFF
4.7D:+ !7 $ nscrierea n stiv a coninutului regitrior perec9e !7.
5.7O7 !7 $ citirea din stiv a coninutului regitrior perec9e !7.
>.62+, $ efectuarea sc9imbului ntre regitrii + , , i " octei de sus a stivei.
3.:7+, $ efectuarea transferului coninutului regitrilor + , , n stiv.
?.IF port $ transferul datelor din portul adresat n acumulator.
1=.OD2 port $ transferul datelor din acumulator n portul adresat.
11.*I $ acceptarea ntreruperilor.
1".)I $ interzicerea ntreruperilor.
10.+,2 $ oprirea efecturii operaiilor de ctre procesor.
11.FO7 $ comanda fr operaii efectuate , se intrebuineaz pentru obinerea
reinerilor .
14.KIccI $ se efectueaz saltul la comanda care este indicat n urmtorii " octei .
- 3 -

15.!IccI $ se efectueaz intoarcerea din subrutin , efectunduse comanda !*2.
1>.(IccI $ se efectueaz c9emarea subrutinei , efectunduse comanda (A,,.
Dltimele 0 instruciuni snt condiionate i dac condiia nu se ndeplinete
programul se ruleaz mai departe , simbolul IccI se descifreaz n urmtorul tabel<
2abelul 1.
Mnemocod IccI (ondiia Mnemocod IccI (ondiia
FH diferent de = H egal cu =
F( transfer egal cu = ( transfer egal cu 1
7O impar 7* paritate
7 semnul pozitiv M semnul negativ


Structura procesorului

Arhitectura MP I88
7entru a putea scri un program in limbaGul de asamblare 3=3= programatorul
trebuie sa cunoasca structura generala a M7 3=3= si a microcalculatorului pe care
se lucreaza .realizat pe baza acestuia/.
Ar9itectura M7 3=3= este prezentata in fig.1
- 4 -

Cigura 1. Ar9itectura interna a microprocesorului I3=3=
7e desen prin cifre snt marcate <
1 8 L!
" 8 )'IF
0 8 IF2*
1 8 +,)A
4 8 LAI2
5 8 :EF(
> 8 +O,)
3 8 IF2
? 8 !*A)E
A $ M1
' $ M"
( $ !*:*2
M7 3=3= consta din urmatoarele unitai functionale<
1/ Hona registrelor de date si adrese#
"/ Dnitate aritmetic logic .DA,/#
0/ !egistre de instruciuni#
1/ Dnitatea de comanda si temporizare#
4/ Magistrala intern de date bidericional.
- 5 -

Hona registrelor consta dintr$o zona de memorie !AM organizata in 5
registre de catre 15 biti fiecare<
numarator de adrese al programului 7(#
pointerul stivei :7#
5 registre generale de lucru .', (, ), *, +, ,/, care pot fi adresate ca
perec9i de registre cu lungimea de 15 biti sau individual ca registre de 3
biti#
un registru perec9e temporar .L, H/
Fumaratorul de adrese 7( contine adresa instructiunii ce urmeaza a fi
e;ecutata. (ontinutul lui este accesibil si poate fi modificat prin program.
Indicatorul de stiva :7 contine totdeauna adresa din memorie.alocata pentru stiva/
in care sa depus ultimul cuvint .indica virful stivei/. :tiva se construieste in !AM
si creste in Gos, adica in sensul de scadere a numarului adresei. :7 este accesibuil
programatorului penrtu initializarea zonei din !AM ca stiva.
!egistrul temporar L,: nu este accesibil programatorului si este folosit de
procesor pentru e;ecutia interna a instructiunilor. O informatie de 1 octet poate fi
transferata intre zona de memorie afectata registrelor si magistrala interna utizind
circuitele pentru selectarea unui registru$selectie si multiple;orul. Operatia de
incrimentare .decrementare/ a unui dublu registru este realizata cu aGutorul
circuitelor din blocul operator N1, la iesirea caruia este conectat si registrul de 15
biti servind la pastrarea adresei de memorie trimisa de procesor pe magistrala
e;terna de adrese cu aGutorul circuitelor de comanda continute in blocul denumit
'DC*! A)!*:*.

DA, contine un sumator paralel de 3 biti la care sunt atasate<
un acumulator de 3 biti folosit de utilizator#
un acumulator temporar de 3 biti inaccesibil utilizatorului, fiind folosit
pentru memorarea primului operand#
un registru temporar de 3 biti care nu este accesibil utilizatorului fiind
folosit pentru memorarea celui de$al doilea operand#
4 indicatori de conditii#
un circuit de corectie pentru lucrul in fomatul '() .corectie zecimala/.
DA, este legata de registrul temporar, acumulatorul temporar si registrul
indicatorilor de conditii si permite e;ecutia operatiilor aritmetice, logice si de
deplasare. !ezultatul unei operatii se e;trage din DA, pe magistrala interna de
date si se introduce in acumulator,indicatorii de conditie fiind pozitionati in
conformitate cu valoarea rezultatului si cu tipul instructiunii curente.
In timpul e;ecutiei unei instructiuni codul instructiunii este transferat in
registrul de instructiuni a carui iesire este transferata cu aGutorul decodificatiei de
instructiuni. Iesirea decodificatorului asociata cu semnalele de cias este e;pluatata
- 6 -

de circuitul de comanda si temporizare care genereaza semnale ce diriGeaza
activitatea interna si e;terna a procesorului. (ircuitul bufer 'D: )A2* este folosit
pentru izolarea magistralei interne de date a procesorului de magistrala e;terna
.)=$)>/. Intr$o operatie de iesire continutul magistralei interne se afla in zona
ItamponI de 3 biti de unde mai departe este transmisa spre e;terior.
Intr$o operatie de intrare datele de pe magistrala e;terna sunt transferate in
zona tampon a magistralei interne si de aici pe magistrala interna a procesorului.

Semnalele e!terne
In figura " sunt prezentate cele 1= de cone;iuni e;terioare ale M7 I3=3=.
Semnificatie si functiile acestora sunt descrise in continuare"

- 7 -

A=8A14 8 magistrala de adrese de 15 biti . Are iesirea 0 stari .tri$state/ si
este activa sus. Aceasta poate adresa o memorie de 51 Oocteti ."15/ precum si
dispozitive periferice de intrare Piesire .IP*/.
)=$)> 8 magistrala de date are lungimea de 3 biti, este bidirectionala are IP*
active sus de tip tri$state. Aceasta permite sc9imbul de informatie dintre pocesor si
memorie e;terna respectiv dintre procesor si dispozitiv IP*.
Q1$ Q" 8 semnalele de ceas. :unt intrari active sus.
:EF( 8 iesire, semnal de sincronizare generat de M7 prin care se specifica
inceputul fiecarui ciclu$masina. 7e durata semnalului :EF( M7 aplica pe )'
.magistrala de date/ cuvintul de stare .ce indica tipul opertiei de efectuat in ciclul$
masina respectiv/.
)'IF 8 semnal generat de M7 care informeaza ca M7 poate prelua datele
aplicate pe )' de catre memorie sau periferice.
L! 8 .activ in starea =/. :emnal generat de M7 care informeaza memoria
sau perifericele ca informatia .bitul/ aplicat pe )' poate fi citita.
!*A)E 8 semnaal e;tern care prin valoarea !*A)ERS1S informeaza M7
ca informatia cerutaa este accesibila .valida/ pe magistrala de date.
LAI2 8 semnal generat pe M7 prin care se indica faptul ca se astepta o data
.informatie/ de la memorie sau periferic, prin care se cere ca M7 sa elibereze
magistralele .buferele de iesire ale M7 sunt trecute in starea de inalta impedanta/.
In acest caz magistralele sunt administrate de catre periferic in scopul unui acces
direct la memoria )AM .)irect acces memorT/.
+,)A 8 semnal emis de M7 prin care acesta confirma trecerea buferealor
de magistrala in stare de inalta impedanta..ca urmare a primirii semnalului
+O,)/.
IF2 8 semnal emis de catre un periferic prin care acesta cere interventia M7.
IF2* 8 semnal al unui fanion din M7 care indica posibilitatea.IF2*R1/ sau
imposibilitatea .IF2*R=/ de intrerupere a M7 la primirea unei cereri de intrerupere
.IF2R1/ . Canionul IF2* poate fi comandat din program.
!*:*2 8 semnal e;terior, semnal de initializare care aduce numaratorul de
adrese la S=S, deci M7 reia rularea programului de la adresa U=S. 2ot acest semnal
pune pe U=S si semnalele +,)A si IF2*.
Algoritmul de functionare a MP I88
Intervalul de timp necesar procesorului de a sc9imba informatia cu
e;teriorul este denumit ciclul$masina. Intervalul de timp necesar pentru e;ecutia
unei instructiuni este denumit ciclul$instructiune. *;ecutarea unei instructiuni
.ciclul instructiune/ in functie de in functie de comple;itatea sa necsita de la 1 pina
la 4 cicluri masina .M1$M4/. ,a rindul sau fiecare ciclu masina este compus de la
0 pina la 4 stari .21, 2", 20, 21, 24/. O stare fiind definita ca o perioada a
semnalului de tact 1. In primele 0 stari ale primului ciclu$masina .M1/ primul octet
al instructiunii este adus din memorie in registru de instructiuni. :tarea 21 este
utilizata pentru decodificarea codului instructiunii. )aca instructiunea este
compusa dintr$un singur octet este necesara si starea 24 pentru e;ecutia acesteea
- 8 -

.in astfel de cazuri ciclul$instructiune necesita un singur ciclu$masina ce consuma
4 stari/. )aca instructiunea este compusa din " sau 0 octets, dupa ciclul C*2(+
.M1/ .aducerea codului instructiunii/ mai este necesar si alte cicluri$masina.
Ciecare ciclu masina din cele 4 posibile realizeaza o anumita operatie e;primata
prin cuvintul de stare .citire, inscriere etc./. Aceste operatii sunt inlantuite in cadrul
ciclului$instructiune in functie de tipul instructiunii, dar ca regula se stie ca
totdeauna primul ciclu cu care incepe instructiunea este C*2(+. 7entru fiecare
ciclu$masina M7 genereaza semnalul de sincronizare :EF( din fiecare din cele 4
cicluri$masina posibile M7 genereaza un cuvint de stare ce indica spre e;terior ce
fel de operatii se realizeaza in ciclul$masina curent. )eci magistrala de date este
multiple;ata intre cuvintul de stare si datele de intrare sau iesire din M7. 7entru
ciclurile$masina si cicluruile$instructiune se pot scri relatiile de timp<
(I(,D MA:IFA R 21@2"@2Vait@20@21@24
(I(,D IF:2!D(2IDF* R M1@M"@M0@M1@M4
Cigura 1. Microcipul de sincronizare
7entru generarea semnalelor de tact " se utilizeaza un circuit generator de
orologiu .integrat separat de 3=3=/. Acesta este circuitul 3""1 O7 43= AC"1 care e
destinat pentru sincronizarea microsistemelor pe baza microprocesoarelor in
studiu. Aeneratorul in afara de semnalele 1 si " mai produce semnalele !*A)E si
!*:*2. 2otodata mai produce semnalul pentru strobarea cuvintului de stare :2:'
pe durata impulsului :EF(. (onectarea genertorului de orologiu este dat in fig. 1.
M7 are 1= tipuri diferite de operatii caracterizate fiecare de un cuvint de stare.
!ealizarea unei instructiuni se reduce la inlantuirea a ma;im 4 din aceste operatii
.fiecare operatie e;ecutindu$se pe durata unui ciclu masina/. (uvintul de stare
7:L ce corespunde ciclului$masina in curs este generat de M7 pe durata
semnalului :EF( multiple;at pe magistrala de date. )eoarecce magistrala de date
va fi folosita pentru ve9icularea datelor incepind cu 20 inseamna ca pentru
pastrarea cuvintului de stare pe intreaga durata a ciclului$masina, acest cuvint de
stare trebuie introdus intr$un registru. In acest scop microprocesorului i se ataseaza
- 9 -

circuitul integrat 3""3 sau O7 43= 'O "3, care este un amplificator de bufer de
magistrala bidirectional si latc9 pentru cuvintul de stare. )eoarece din cuvintul de
stare in O7 43= 'O "3 se vor obtine anumite semnale de control, acest circuit este
denumit si controler de sistem. M7 impreuna cu generatorul de orologiu ,
amplificatorul de magistrala si controlerul de sistem formeaza modul de unitate
centrala de procesoare. 7e durata impulsului :EF( cuvintul de stare generat de
M7 pe magistrala de date este inscris in controlerul de sistem care este strobat
.validat/ de catre semnalul de strob :2:2' produs de generatorul de orologiu.
2ab. 1 Mnemonicele bitilor pentru 7rocessor :tate Lord
*;plicatiile pentru mnemonicele bitilor de 7:L sunt in 2ab. 1. Dnul din
aceste semnale este IF2A. )=. *ste bitul care indica faptul ca o intrerupere
prezentata microprocesorului a fost acceptata .numai daca fanionul intern de
autorizare a intreruperii are valoarea 1/. Acest bit apare in ciclurile$masina
IF2!*!D7*!* si +A,2 IF2!*!D7*!*. In cursul acestor tipuri de cicluri prin
configurarea lui )= cu semnalul )'IF se obtine un semnal cu care se poate
incarca in acumultor un cuvint de pe magistrala de date )'A:*. Acest cuvint este
generat de catre perifericul ce a solicitat intreruperea fiind considerat o instructiune
!*:2A!2 sau (A,,. )e fapt acest cuvint contine adresa subrutinei necesare
perifericului solicitat#
LO .L!I2* OD27D2/, )1. Acest bit evidentiaza faptul ca ciclul care
debuteaza va realiza o operatie de transfer de informatie de la procesor inspre
'
i
t

m
a
g
.

d
a
t
e
A
d
u
c
e
r
e
a

i
n
s
t
r
.
(
i
t
i
r
e
a

i
n
s
t
r
.
:
c
r
i
e
r
e
a

m
e
m
o
r
i
e
i
(
i
t
i
r
e

s
t
i
v
a
:
c
r
i
e
r
e

s
t
v
a
(
i
t
i
r
e

i
n
t
r
a
r
e
:
c
r
i
e
r
e

i
e

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 -

S-ar putea să vă placă și