Sunteți pe pagina 1din 23

CURS 2

2. Tipuri de comenzi AHPL


Instruciuni de atribuire
Formatul unei instruciuni de atribuire este:
<destinaie> <operator_de_atribuire> <expresie>
Expresiile pot fi formate utiliznd:
operatori logici: ( ; ;
-
;
operatori de sincronizare: (!" ; !#$ (semnal_asincron;
operatori de selecie: (%
&
; %
m:n
; M
&
; M
m:n
;
operator de selecie prin comprimare: ( ' ( # ;
operator de selecie prin comprimare )i reducere: (M * F;
operatori de concatenare: (%+, ; %-,;
operator de codificare: ( n . p;
operatori de decodificare: (
'
; /0/ ;
operatori relaionali1
Instruciuni de conexiune
/ac2 se noteaz2 cu:
3%4 - o magistral2 predeclarat2
5 - un 6ector de ie)ire;
7"08 - un 6ector de funcii logice combinaionale de ie)ire;
MLCO - o matrice de 6ectori logici combinaionali 7"08;
F - un 6ector de constante binare sau funcii logice
instruciunile de conexiune pot fi specificate prin una din urm2toarele forme:
5 9 7"08
3%4 9 7"08
5 9 MLCO*F
3%4 9 MLCO*F
Instruciuni de transfer
7ariabila destinaie este un bistabil sau un 6ector ce are ca ec:i6alent un registru sau un
cu6nt de memorie1 ;nscrierea 6alorii expresiei <n operandul destinaie se face sincronizat cu un
semnal de tact1 %cest semnal de tact poate fi specificat explicit printr-o conexiune sau implicit ca
fiind tactul unit2ii de comand21
Forma general2 a unei instruciuni de transfer este:
7/ 7"08
7/ MLCO*F
MD*F7"08
unde: 7/ este un 6ector destinaie iar
MD este o matrice destinaie
=rima instruciune specific2 un transfer necondiionat1
0ea de a doua form2 poate fi descompus2 <n urm2toarele operaii elementare: conexiune la
intr2rile 6ectorului destinaie a 6ectorului rezultat prin e6aluarea expresiei )i apoi <nscrierea
acestuia <n 7/1
0ea de a treia form2 este ec:i6alent2 cu: 6aloarea lui 7"08 se transfer2 <n toate liniile
matricei rezultate prin comprimarea )i reducerea cu 6ectorul de selecie F1
9. Descrierea functiilor in AHPL
=entru a facilita scrierea sec6enelor de descriere a circuitelor logice combinaionale oferind )i o
flexibilitate de utilizare a acestora <n diferite module+ limba&ul %>=" permite descrierea separat2
ca module de program distincte sub forma:
?$@.: nume_funcie <lista de parametri>
<declaraii>
<conexiuni>
E$/
/ac2 o sc:em2 combinaional2 apare (este apelat2 de mai multe ori cu aceea)i parametri
efecti6i ea 6a fi generat2 fizic o singur2 dat2 cu condiia s2 nu se dep2)easc2 fan-out-ul ie)irilor1
/ac2 <ns2 este apelat2 de mai multe ori+ cu parametri diferii se poate proceda <n dou2
moduri:
- se implementeaz2 cte o copie a sc:emei pentru fiecare apelare;
- se implementeaz2 sc:ema o singur2 dat2 dar se pre6ede sc:ema de selecie a parametrilor
de intrare corespunz2tori fiec2rei apel2ri1
%legerea uneia dintre modalit2i se face prin analiza complexit2ii funciei combinaionale
)i a logicii de selecie a parametrilor1
%pelul unei unit2i logice combinaionale se face prin:
nume_funcie(lista_de_parametri_efecti6i1
/eci <n expresii %>=" pot s2 apar2 nume de unit2i logice combinaionale definite1
20. peratori de selectie si de reducere in AHPL
- operatori de reducere:
( ; (; A( realizeaz2 funcia logic2 specificat2 <ntre componentele 6ectorului asupra c2ruia
acioneaz21 Bezultatul este un scalar1
Exemple:
(% 9 %
C
%
D
%
E
111 %
n

- operator de selecie prin comprimare:
'(# elimin2 componentele din # corespunz2toare componentelor egale cu C din '
Exemplu:
Fie % 9 (C+ D+ D+ C+ D+ C+ C+ D
, 9 (,
C
+ ,
D
+ ,
E
+ ,
F
+ ,
G
+ ,
H
+ ,
I
+ ,
J

% ( , 9 (,
D
+ ,
E
+ ,
G
+ ,
J

- operator de selecie prin comprimare i reducere:
M*F realizeaz2 eliminarea liniilor din matricea 3 corespunz2toare componentelor egale cu C din
6ectorul F
Exemplu:
Fie
3
C
D
E
3
3
3

1
]
1
1
1
1
)i F9KC+C+DL

rezult2:
M*F selecteaz2 linia E+ adic2 M
E
!. Descrierea sumatorului elementar complet
!umatorul elementar complet realizeaz2 operaia de adunare a unor operanzi de lungime un bit+
innd seama de transportul de intrare )i genereaz2 pe lng2 sum2 )i e6entualul transport1
;n Fig1E1I se prezint2 sc:ema bloc a unui sumator elementar complet1 @ntr2rile sunt cei doi
operanzi )i transportul din exterior iar ie)irile sunt suma )i transportul spre exterior1
SUMEC
sum
t
out
t
in
M x
C
D
!?3E0
!?3E0
C
C
Fig1 E1I1 !umator elementar complet
.abela de ade62r+ diagramele Narnaug: )i ecuaiile logice sunt prezentate <n continuare1
Ecuaiile logice rezultate sunt :
sum 9 x M t
in

t
out
9 ((x M t
in
(x M
%ceste expresii logice pot fi descrise <n %>=" astfel:
?$@.: !?3E0 (x;M;t
in

@$=?.!: (x;M;t
in

8?.=?.!: SUMEC KE;DL


D1 a 9 x M
E1 b 9 x M
F1 sum 9 a t
in
G1 c 9 a t
in
H1 t
out
9 b c
I1 SUMEC
C
C
9 sum
J1 SUMEC
C
D
9 t
out
.abela de ade62r:
x M t
in
suma t
out
C C C C C
C C D D C
C D C D C
C D D C D
D C C D C
D C D C D
D D C C D
D D D D D
E$/
@mplementarea unit2ii logice combinaionale a sumatorului elementar complet este
prezentat2 <n Fig1 E1J1
!?3E0
M
t
in
t
out
x
sum
C
D
!?3E0
C
C
!?3E0
Fig1 E1J1 !c:ema sumator elementar complet
CURS !
". Reprezentarea numerelor in #ir$ula fi%a
;n 6irgul2 fix2 numerele se pot reprezenta <n funcie de poziia 6irgulei <n trei moduri:
-numere ntre!i: poziia 6irgulei fiind interpretat2 dup2 cifra cea mai putin semnificati62 x
C
x 9 x
n
x
n-D
111 x
D
x
C
+
iar 6aloarea num2rului
x i
i C
n
i
7 x E
*

-numere subunitare: poziia 6irgulei fiind interpretat2 <nainte de cifra cea mai semnificati62 x
-D
x 9 +x
-D
x
-E
111 x
-nAD
x
-n
iar 6aloarea num2rului
x -i
i C
n
-i
7 x E
*

-numere reale: poziia 6irgulei fiind interpretat2 <n cadrul reprezent2rii1 Exist2 un grup de bii care
specific2 partea <ntreag2 )i un num2r de bii care specific2 partea fracionar21 %ceast2 reprezentare
combin2 cele dou2 reprezent2ri anterioare1 ;n practic2 se utilizeaz2 numai <n structuri numerice
dedicate+ <n care se conoa)te foarte bine domeniul de 6alori al datelor1
x 9 x
O
x
O-D
111 x
D
x
C
+x
-D
x
-E
111 x
-m
iar 6aloarea num2rului
x i
i C
O
i
-i
i C
m
-i
7 x E x E
* * +


;n marea ma&oritate a calculatoarelor se utilizeaz2 reprezentarea <n 6irgul2 fix2 numere
<ntregi1
"0. Adunarea in cod complementar &c'(
Fie :
x 9 x
s
x
-D
x
-E
111x
-n
M 9 M
s
M
-D
M
-E
111M
-n
cu condiia ca PxP A PMP < D
dou2 numere <n 6irgul2 fix2+ subunitare+ reprezentate <n cod complementar1
8peraia de adunare const2 <n:

+
n
D i
i
i s M
E * M M - 7
[ ] & & -
-n
n - E - D - c M -
M D M unde E M 111 M M 7

+

+
n
D i
i -
i M
E * M C 7
[ ]
n
n
D i
i -
i c M -
E E * M 7

+
,
_


[ ]
( )
n
n
D i
i -
i c M -
E E * M D 7

+
,
_



[ ]
n
n
D i
i -
i
n
D i
i
c M -
E E * M E 7

+
,
_



se adun2 bit cu bit <ncepnd cu rangul cel mai putin semnificati6+ inclusi6 bitul de
semn1
E6entualul transport din bitul de semn se negli&eaz21
Qustificare:
D1 <n cazul <n care x>C+ M>C )i PxPAPMP<D
KxL
c
A KML
c
9 PxPAPMP 9 K(PxPAPMPL
c
E1 <n cazul <n care x>C+ M<C
cazul D: PxP>PMP
KxL
c
A KML
c
9 PxPAE-PMP 9 E A (PxP-PMP
deoarece PxP-PMP>C+
atunci EA(PxP-PMP genereaz2 un transport din
bitul de semn+ care conform regulii enunate se negli&eaz21
;n acest caz:
KxL
c
A KML
c
9 (PxP-PMP 9 K(PxP-PMPL
c
cazul E: PxP<PMP
KxL
c
A KML
c
9 PxPAE-PMP 9 E - (PMP-PxP
deoarece PMP-PxP>C+
atunci E-(PMP-PxP nu genereaz2 un transport din bitul de semn1
;n acest caz:
KxL
c
A KML
c
9 E - (PMP-PxP 9 K-(PMP-PxPL
c
F1 <n cazul <n care x<C+ M<C )i PxPAPMP<D
KxL
c
A KML
c
9 E - PxP A E - PMP 9
9 E A E - (PxPAPMP 9
9 E - (PxPAPMP 9 K-(PxPAPMPL
c
/eoarece (PxPAPMP>C+
atunci E - (PxPAPMP nu genereaz2 un transport din bitul de semn1
;n sc:imb E A E - (PxPAPMP genereaz2 un transport care se negli&eaz21
;n acest caz:
KxL
c
A KML
c
9 K-(PxPAPMPL
c
"". )tapele inmultirii prin metoda lui *oot+ &c'(
=entru a realiza operaia de <nmulire a unor numere reprezentate <n complement fa2 de E+ prin
adun2ri repetate+ este necesar s2 e6alu2m <nmulitorul1 E6aluarea <nmulitorului reprezentat <n
complement fa2 de E se realizeaz2 utiliznd formula lui ,oot:1
/ac2
M 9 M
s
M
-D
M
-E
111M
-n
este un num2r <n complement fa2 de E 6aloarea reprezentat2 de acest
num2r este:
formula lui ,oot:
Qustificare:
a dac2 M este poziti6 M 9 CM
-D
M
-E
111M
-n
are 6aloarea
ceea ce reprezint2 <ntr-ade62r e6aluarea unui num2r poziti6 reprezentat <n cod direct1
b dac2 M este negati6+ M 9 DM
-D
M
-E
111M
-n
+ 6aloarea sa este obinut2 e6alund K-ML
c
1
/ar )tim c2 KML
c
9KML
i
A E
-n
+ deci
[ ]


n
D i
i -
i c M -
E * M D 7
[ ] [ ]
,oot:1 lui formula &ustific2 ce ceea E * M D 7 deci 7 7 /ar
n
D i
i -
i c M - c M - M



=entru a realiza z 9 x * M este acela)i lucru cu a realiza z 9 x * 7
M
,oot: a propus ca o cifrele de reprezentare ale <nmulitorului+ <n cod complementar+ s2 se
<nlocuiasc2 cu diferena a dou2 cifre adiacente:
M
-&
M
-&-D
- M
-&
D & n
;nlocuirea propus2 de ,oot: nu se realizeaz2 efecti6+ ci conduce numai la analiza a doi bii
adiaceni din reprezentarea <nmulitorului (nu a unui singur bit cum se realiza la <nmulirea direct21
%stfel dac2
M
-&
#
-&-D
C C se deplaseaz2 produsul parial cu o poziie la dreapta;
C D se adun2 de<nmulitul la produsul parial )i apoi se deplaseaz2 rezultatul cu o
poziie la dreapta;
D C se scade de<nmulitul din produsul parial )i apoi se deplaseaz2 rezultatul cu
o poziie la dreapta;
D D se deplaseaz2 produsul parial cu o poziie la dreapta;
/up2 ultima operaie+ <n care particip2 )i bitul de semn+ nu se mai efectueaz2 operaia de
deplasare1
"9. Reprezentarea numerelor cu semn in #ir$ula mo,ila
;n 6irgul2 mobil2+ numerele se reprezint2 prin dou2 componente:
- mantis2;
- exponent1
?n grup de bii sunt utilizai pentru reprezentarea mantisei+ <n 6irgul2 fix2 numere
subunitare+ iar alt grup de bii sunt utilizai pentru reprezentarea exponentului <n 6irgul2 fix2
numere <ntregi1
x 9 E+3
x 9 x
O
x
O-D
111 x
D
x
C
+x
-D
x
-E
111 x
-m
unde:
E 9 x
O
x
O-D
111 x
D
x
C
+
3 9 +x
-D
x
-E
111 x
-m
iar 6aloarea num2rului 7
x
9 7
3
* b
7E
unde b constituie baza de reprezentare1
;n general baza b este E+ <ns2 sunt calculatoare care utilizeaz2 ca baz2 b 9 R+ sau b 9 DI1
;n reprezentarea <n 6irgul2 mobil2 interpretarea poziiei 6irgulei se face <n funcie de
6aloarea exponentului1
;n calculatoarele numerice semnul ocup2 o poziie <n reprezentare1 !e consider2 con6enia
ca bitul de semn s2 aib2 urm2toarea semnifificaie:
x
s
9 C semnul este poziti6
x
s
9 D semnul este negati6
iar poziia sa este <n general <n partea din stnga a reprezent2rii1
x 9 x
s
x
n
x
n-D
111 x
D
x
C
+ <n 6irgul2 fix2+ numere <ntregi
x 9 x
s
+x
-D
x
-E
111 x
-nAD
x
-n
<n 6irgul2 fix2+ numere subunitare
'. )tapele principale ale operatiei de inmultire in cod direct &c'(
3etoda de <nmulire direct2 este utilizat2 <n cazul reprezent2rii <n cod direct (m2rime )i semn1
Fie:
x 9 x
s
x
-D
x
-E
111x
-n
M 9 M
s
M
-D
M
-E
111M
-n
dou2 numere <n 6irgul2 fix2+ subunitare+ reprezentate <n cod direct1
=entru a realiza <nmulirea " # x $ % este necesar ca rezultatul s2 fie reprezentat pe un
num2r dublu de bii sau s2 se realizeze o rotun&ire a rezultatului+ <n cazul <n care se reprezint2 pe
acela)i num2r de bii1
8peraia de <nmulire const2 din trei etape principale:
a - determinarea semnului;
b- <nmulirea efecti62;
c- rotun&irea rezultatului;
a Determinarea semnului
"
s
# x
s
%
s
b nmulirea efecti&'
;nmulirea efecti62 are ca scop determinarea modulului produsului: PzP 9 PxP * PMP

PzP 9 M
-D
*E
-D
PxP A M
-E
*E
-E
PxP A 111 A M
-n
*E
-n
PxP
c (otun)irea re"ultatului* /ac2 PzP trebuie s2 fie depus <ntr-un cu6nt de nAD bii+ atunci trebuie
f2cut2 o rotun&ire prin adaus ce const2 <n a aduna E
-n
la rezultat dac2 partea la care se renun2 are
bitul cel mai semnificati6 D1
CURS -
2.. Sc+ema $enerala a calculatorului didactic
Memoria M +
D
39DI ;
E
39IHHFI
3emoria 3 KIHHFI;DIL este o matrice de elemente de memorare organizat2 <ntr-un spaiu de
adresare unic de IHHFI cu6inte a cte DI bii fiecare1
3emoria este utilizat2 pentru a p2stra informaii neinterpretate reprezentnd date sau instruciuni1
8ricare dou2 celule de memorie sunt accesibile <n mod ec:i6alent1 .otu)i+ memoria poate fi logic
<mp2rit2 <n segmente de instruciuni+ date+ sti62+ )i segmente de memorie disponibil21 =entru
segmentul de instruciuni se poate pre6edea )i o memorie cu coninut permanent de tip Snumai
citireS1
0itirea )i scrierea se fac asincron sub controlul unit2ii de comand21
(e!istrul ,M+ %39DI
Begistrul de adresare a memoriei+ %3+ p2streaz2 adresa celulei de memorie la care se face acces la
un moment dat1 "ungimea acestui registru se alege astfel ca E
%3

E
31 %dresa calculat2 (adresa
efecti62 este memorat2 <n %3 selectnd+ prin decodificare+ cu6ntul din memorie la care se 6a
face accesul1
(e!istrele (-+
D
B49DI ;
E
B49R
/eoarece timpul de acces la memoria 3 este relati6 mare (DHCns-GCCns se 6a pre6edea o
memorie rapid2 organizat2 sub forma a R registre de cte DI bii fiecare1 Begistrele B4 conin unul
sau ambii operanzi necesari pentru execuia instruciunilor calculatorului didactic1 ?nele din aceste
registre 6or fi utilizate )i pentru calculul adresei efecti6e a operanzilor din memorie (%stfel+
,%+,, sunt utilizate ca registre de baz2; '%+', sunt utilizate ca registre index iar @! este utilizat
ca indicator pentru adresarea unor structuri de date de tip sti621 B%+ B,+ B0 sunt utilizate numai
pentru p2strarea operanzilor1
%dresa registrului selectat este specificat2 <n codul instruciunii1 !electarea registrelor generale 6a
fi prezentat2 detaliat <n paragraful H1G1
(e!istrul C.+ 0=9DI
Begistrul contor program 0= este utilizat pentru p2strarea adresei instruciunii ce urmeaz2 s2 se
execute dup2 terminarea execuiei instruciunii curente1 "ungimea registrului 0= se alege astfel ca
E
0=

E
31 Begistrul 0= poate fi iniializat cu o 6aloare dat2 la iniializarea sistemului+ cu o
6aloare oarecare prin execuia instruciunilor de transfer control (6ezi paragraful H1F sau poate fi
incrementat <n cazul execuiei instruciunilor (operaionale ce nu specific2 transferul controlului la
o alt2 sec6en21
Unitatea aritmetic' lo!ic' U,L+ ?%"9DI
?nitatea aritmetic2 logic2 (?%" realizeaz2 operaiile aritmetice )i logice ale calculatorului
didactic )i este utilizat2 pentru prelucrarea datelor )i pentru calculul adresei efecti6e1 ?nitatea
aritmetic2 logic2 este de tip paralel+ prelucreaz2 operanzi pe DI bii reprezentai <n cod
complementar1 ?nitatea aritmetic2 logic2 implementeaz2 direct toate operaiile elementare
necesare execuiei instruciunilor aritmetice )i logice ale calculatorului didactic1 0ondiiile <n care
s-a efectuat o operaie <n unitatea aritmetic2 logic2 )i caracteristicile rezultatului sunt p2strate
<ntr-un registru de indicatori @$/1
(e!istrele /0+/1+ .D9.E9DI
Begistrele temporare .D )i .E sunt utilizate pentru a p2stra operanzii unei operaii executate <n
unitatea aritmetic2 logic2 + rezultate intermediare la calcularea adresei efecti6e )i nu sunt accesibile
<n mod explicit de programator1
Indicatorii de condiii I2D+ @$/ 9 DI
Begistrul de indicatori constituie o grupare a unor bistabili cu funcii indi6iduale+ pozitionai la
execuia instruciunilor <n funcie de rezultatul din unitatea aritmetic2 logic2 1 Begistrul @$/
permite alegerea unei sec6ene de execuie urm2toare unei operaii aritmetice(logice <n funcie de
rezultatul acestei operaii1 "ungimea registrului @$/ este de DI de)i numai o parte din ace)tia sunt
utilizai <n mod efecti61 Funciile acestor bistabili indicator 6or fi prezentate <n paragraful H1F1E1
(e!istrul (I+ B@ 9 DI
Begistrul de instruciuni B@ p2streaz2 codul instruciunii <n curs de execuie1 0oninutul s2u este
decodificat )i transmis seciunii de generare comenzi(6erificare st2ri din unitatea de comand21 ;n B@
se p2streaz2 )i informaiile necesare pentru selecia registrelor generale <n funcie de instruciunea
<n curs de execuie1
Ma!istrala M,-+ 3%4 9 DI
@nterconectarea resurselor prezentate mai sus se realizeaz2 prin intermediul unei magistrale
multiplexate <n timp+ 3%4+ care constituie suportul fizic de comunicaie <ntre aceste resurse1
/imensiunea magistralei este de DI )i este format2 din DI linii de interconectare+ fiind astfel <n
totalitate pasi621 Fiecare resurs2 conectat2 la magistral2 6a include )i circuitele de interfa2
necesare cupl2rii la magistral21 .ransmisia pe 3%4 se face astfel <nct un singur cu6nt de
informaie circul2 pe magistral2 la un moment dat1
3
!ubsistem de @(E
.E B%
B,
0=
@$/
4enerare comenzi
6erificare stari
@nterpretor
cod
instructiune
B@
.D
%cces indi6idual la indicatori de conditie
0omenzi si stari
!c:ema bloc a calculatorului didactic
0ai de acces paralele
3agistrala comuna bidirectionala
3%4
?0
?E
@(E
?%"
% @ E
%3
!
E
"
B4
B0
@!
'%
',
,%
,,
"'. /odurile de adresare la Calculatorul Didactic
3odul de adresare reprezint2 modalitatea <n care se calculeaz2 adresa efecti62 (%E a operanzilor
implicai <n instruciunea curent21 @nstruciunile calculatorului didactic pot prelucra maxim doi
operanzi1 %ce)tia se pot g2si :
-ambii <n registrele generale B4 ;
-unul <n registrele generale B4 )i altul <n memorie ;
-unul <n registrele generale B4 )i altul <n cadrul instruciunii respecti6e (operand imediat;
-unul <n memorie )i altul imediat1
;n funcie de codificarea cmpurilor 38/ )i B3 se precizeaz2 modul <n care se calculeaz2
adresa efecti62 (%E a operandului1
D1 ,dresare directa mo6 B%+adres2
E1 ,dresare indirecta mo6 B%+KadresaL
F1 ,dresare indirect' prin re!istru mo6 B%+K,%L
G1 ,dresare indirect' prin sum' de re!istre mo6 B%+K,%L K'%L
mo6 B%+K,% A '%L
H1 ,dresare indirect' prin sum' de re!istre cu autoincrementare a re!istrelor index dup'
calculul adresei efecti&e* mo6 B%+K,%LK'%AL
I1 ,dresare indirect' prin sum' de re!istre cu autodecrementare a re!istrului index nainte
de calculul adresei efecti&e* mo6 B%+K,%LK'%-L
J1 ,dresare ba"at' mo6 B%+K,%LAadres2
mo6 B%+adresaK,%L
mo6 B%+K,%AadresaL
R1 ,dresare indexat' mo6 B%+K'%LAadresa
mo6 B%+adresaK'%L
mo6 B%+K'%AadresaL
T1 ,dresare ba"at' indexat' mo6 B%+K,%LK'%LAadresa
mo6 B%+adresaK,%LK'%L
mo6 B%+K,%A'%AadresaL
mo6 B%+K,%LK'%L1adresa
DC1 ,dresare imediat' mo6 B%+J
DD1 ,dresare direct' la re!istru mo6 B%+B,
"0. r$ani$rama $enerala a fazei de citire si interpretare a calculatorului didactic
D
start
B@
C
.D,'''
.E/epls(3
0=AD

.D3
.D
B@3
0=
E:F
G
$?
/%
/%
/%
C
D
II
EI
%E directa ( indirecta
executie
8rganigrama fazei de citire interpretarea ainstructiunilor masina
se aduna
deplasament
citeste
deplasament
se aduna
continutul celor
doua registre
8perandul
in B4
B(3
citeste al-@@-lea
registru implicat in
calculul de %E
0iteste primul
registru implicat in
calculul de %E
increm1
reg1
index
un singur registru
implicat in %E
@?B3
@nstructiuni fara calcul de %E
0iteste instructiunea curenta in B@
tip instr1
H
I
J
tip instr1
''''AD
.E'%
.E''
R
'%'%-D
.D.DA.E T
DJDR
autoincrementare1
DI
DC
deplasament1
%3.D
.D.DA.E
DEDG
DH
DD
EI
EH
.E/epls(3
0=AD

indirect
EFEG
"2. 1nstructiuni care afecteaza indicatorii de conditie
(BE5?".%. 5
s
s s s s
s z M x z M x /
7om prezenta indicatorii de condiii numai pentru unitatea care lucreaz2 cu numere reprezentate
<n complement fa2 de doi1
@ndicatorii propu)i sunt urm2torii:
S semn+ reprezint2 6aloarea bitului de semn al rezultatului1
3 zero+ este poziionat <n unu dac2 rezulatul este zero+ )i este poziionat <n zero cnd
rezultatul este diferit de zero1
7aloarea lui 5 se stabile)te astfel:
D dep2)ire+ este poziionat <n unu+ cnd cele dou2 numere care se adun2 sunt poziti6e )i
exist2 transport spre bitul de semn+ sau dac2 operanzii sunt negati6i )i nu exist2 transport spre
bitul de semn1
0onsidernd x
s
+ M
s
semnele celor doi operanzi )i t
s
transportul spre bitul de semn+ care
atunci cnd apare modific2 pe z
s
+ semnul rezultatului astfel c2 6aloarea lui / se stabile)te cu
ecuaia:
/ transport+ se poziioneaz2 pe D <n cazul <n care exist2 un transport din bitul de semn
spre stnga1
. paritate+ se poziioneaz2 pe D <n cazul <n care rezulatul are un num2r par de unit2i1
".. /odurile de adresare ,azata si inde%ata
,dresare ba"at'
%dresa efecti62 se obine prin adunarea coninutului celui de-al doilea cu6nt al
instruciunii cu unul din registrele baz2+ Fig1 H1T1
A deplasament
,%
,,
%E 9
Exemplu: mo6 B%+K,%LAadres2
mo6 B%+adresaK,%L
mo6 B%+K,%AadresaL

deplasament 08=
,,
,%
8=EB%$/
A
%E
3E38B@E
B4
DH DH DF DE DC T R J I C
D D x x x x D C
C
B3 BE4 38/ d
Figura H1T
,dresare indexat'
%dresa efecti62 se obine prin adunarea coninutului celui de-al doilea cu6nt al
instruciunii cu unul din registrele index+ Fig1 H1DC1
A deplasament
'%
',
%E 9
Exemplu: mo6 B%+K'%LAadresa
mo6 B%+adresaK'%L
mo6 B%+K'%AadresaL
deplasament 08=
',
'%
8=EB%$/
A
%E
3E38B@E
B4
DH DH DF DE DC T R J I C
D C x x x x D C
C
B3 BE4 38/ d
Figura H1DC
CURS 0
.. Resursele principale ale unei interfete de 12)
0ele EHI porturi de @(E+ ale calculatorului didactic+ pot fi asimilate cu EHI de registre plasate
<ntr-un spaiu de adresare separat de cel al registrelor generale )i al memoriei+ care pot fi citite
sau <nscrise indi6idual prin intermediul instruciunilor @$ )i 8?.1 =lecnd de la aceste premize
se poate dez6olta un model simplu de subsistem de @(E bazat pe urm2toarele consideraii :
D1 6om considera ec:ipamentele periferice fie de intrare fie de ie)ire ;
E1 fiecarui ec:ipament periferic i se asociaz2 un registru de date (din cele EHI <n care unitatea
central2 de prelucrare <nscrie datele ce trebuie transmise c2tre ec:ipamentul periferic de
ie)ire sau din care unitatea central2 de prelucrare preia datele <nscrise de un ec:ipament
periferic de intrare;
F1 fiec2rui ec:ipament periferic i se asociaz2 un registru de comenzi <n care unitatea central2 de
prelucrare <nscrie comenzile transmise spre ec:ipamentul periferic )i un registru de st2ri <n
care ec:ipamentul periferic <nscrie starea ce 6a fi preluat2 de unitatea central2 de prelucrare1
/in punctul de 6edere al implement2rii este con6enabil s2 se considere E registre separate+
unul de comenzi selectat numai la execuia instruciunilor 8?. )i unul de st2ri selectat
numai la execuia instruciunilor @$+ cele dou2 registre a6nd aceea)i adres2;
G1 registrele de @(E sunt conectate la magistrala 3%4 a unit2ii centrale de prelucrare;
H1 fiecare interfa2 <)i recunoa)te adresele asociate;
I1 datele sunt structurate pe cu6inte;
J1 ca modalitate de transfer se alege transferul programat (transferul prin modulul de acces
direct la memorie se trateaz2 ulterior ;
R1 interaciunea )i sincronizarea unit2ii centrale de prelucrare cu ec:ipamentul periferic se
realizeaz2 prin citirea ciclic2 a st2rii ec:ipamentului periferic utiliznd instruciunile @$+
.E!.+ Qcondiie+ etc (interaciunea prin <ntreruperi se trateaz2 <n capitolul R;
T1 magistrala 3%4 trebuie pre62zut2+ pe lng2 liniile de date+ cu un set minim de linii de
comenzi )i st2ri care asigur2 un dialog corect <ntre unitatea central2 de prelucrare )i registrele
de @(E;
DC1pentru ec:ipamentele periferice complexe se pot pre6edea mai multe registre de @(E1
Besursele memoriei tampon de tip F@F8 sunt:
3. - memorie de tip B%3 de EHI cu6inte a R bii ;
B!3. - registrul de adrese pentru operaia de scriere <n memoria tampon+ ce indic2 adresa
celulei <n care unitatea central2 de prelucrare <nscrie un nou caracter ;
B03. - registrul de adrese pentru operaia de citire din memoria tampon+ ce indic2 adresa
celulei de unde interfaa preia un caracter pentru a-l transfera imprimantei ;
B/%.E - registrul de date al memoriei tampon <n care se cite)te caracterul ce se 6a transfera
imprimantei1
3.
B03.
3%4
B/%.E
0aractere ce trebuiesc transferate
imprimantei
B!3.
Figura J1H 8rganizarea memoriei tampon
"3. Resursele minime necesare pentru interfata 12
Idem sub.6
22. Principiul de transfer de date prin canal 12
=rin canal de @(E 6om <nelege un procesor specializat capabil s2 execute Sprograme de canalS
scrise <ntr-un limba& ma)in2 specializat <n operaii de @(E1
0analul conine o unitate de comand2 proprie pentru controlul ec:ipamentelor periferice
)i a accesului la memorie <n mod independent1
?nitatea central2 de prelucrare interacioneaz2 cu canalul de @(E prin construcii ale
limba&ului ma)in2 asociat+ denumite comenzi de canal (iniializare+ citire stare+ lansare program
de canal+ etc1
=rogramele de canal sunt generate de c2tre programele de asisten2 ce se execut2 <n
unitatea central2 de prelucrare (sistemele de operare )i sunt plasate <n memoria intern2 pentru a
fi accesibile canalului de @(E1
?n program de canal trebuie s2 specifice:
*Cadresele zonelor de memorie implicate <n transfer;
*Dnum2rul )i dimensiunile blocurilor de date care trebuie transferate;
*Eec:ipamentele periferice implicate )i caracteristicile transferului;
*Fdirecti6e pri6ind modul de tratare+ de c2tre canal+ a unor e6enimente ap2rute <n
cursul transferului;
*Goperaiile care trebuie controlate de canal1
=rin comenzi de canal+ unitatea central2 de prelucrare transmite canalului de @(E adresa
programului de canal )i lansarea <n execuie a acestuia1
;n continuare unitatea central2 de prelucrare continu2 execuia <n paralel cu canalul1
0oncurena la memorie se rezol62 <n aceea)i manier2 ca )i <n cazul transferului prin modulul de
acces direct la memorie1
=rin <nl2nuirea comenzilor )i programelor de canal se pot transfera mai multe blocuri de
date far2 inter6enia unit2ii centrale de prelucrare1
0analul este capabil s2 acioneze <n mod SinteligentS <n cazul apariiei unor e6enimente
<n cursul transferului (ex: erori de poziionare a capetelor la disc+ poriuni de suport magnetic
deteriorat+ erori de citire tranzitorii+ etc1 rezol6nd far2 inter6enia unit2ii centrale de
prelucrare aceste situaii1
"a terminarea execuiei tuturor programelor de canal sau la apariia unor erori fatale
(iremediabile se in6oc2 inter6enia unit2ii centrale de prelucrare1
;n general+ din moti6e de eficien2+ un canal controleaz2 transferul cu mai multe
ec:ipamente periferice )i dup2 modul <n care se asigur2 c2ile de acces direct la memorie a
acestora se disting dou2 tipuri de canale de @(E:
*Hde tip selector+ care controleaz2 un singur periferic la un moment dat;
*Ide tip multiplexor+ care controleaz2 mai multe periferice simultan1
Formatul unui program de canal pentru canalul de @(E de tip selector <n 6ederea cupl2rii
a patru unit2i de discuri flexibile poate fi de forma:
- octet D - cu6nt de comand2 canal;
- octet E - instruciuni pentru ec:ipamentul de @(E (cod operaie;
- octet F - num2rul de <nregistrari de transferat;
- octet G - adres2 pist2;
- octet H - adres2 sector (primul sector din bloc;
- octeii I+J - adresa zonei de memorie implicat2 <n transfer;
- octet R - num2r program de canal curent;
- octeii T+DC - adresa urm2torului program de canal+ dac2 este cazul1
CURS 3
0. Principiul de functionare al unui sistem de intreruperi
/up2 modul <n care se face acti6area sec6enei (a rutinei de tratare a unei <ntreruperi se disting
urm2toarele tipuri de sisteme de <ntreruperi:
*Cne6ectorizat;
*D6ectorizat1
!istemele de <ntreruperi ne6ectorizate sunt acelea <n care toate cererile de <ntrerupere
foreaz2 transferarea controlului la o locaie fix2 denumit2 celul2 capcan2+ unde se afl2 punctul
de intrare (sau leg2tura cu rutina de tratare <n programul de tratare a tuturor <ntreruperilor1
!ursa de <ntrerupere )i acti6area rutinei specifice se determin2 prin citirea unui registru de stare+
denumit registrul cererilor de <ntrerupere (sau a mai multor registre1
/ac2 exist2 mai multe cereri prioritatea de ser6ire a acestora se stabile)te prin program1
.impul de r2spuns <ntre o cerere )i lansarea <n execuie a rutinei specifice de tratare poate fi
destul de mare la acest tip de sistem de <ntrerupere1
%u a6anta&ul unei complexit2i reduse a resurselor :ardUare necesare+ dar tratarea unor
cereri care apar <n timpul trat2rii altor cereri este dificil21
!istemele de <ntreruperi 6ectorizate sunt acelea <n care leg2tura dintre cereri )i rutinele
de tratare se realizeaz2 prin intermediul unui 6ector de adrese (denumite )i celule capcan2 cu o
component2 direct2 pentru fiecare ni6el1 Fiecare component2 conine adresa+ sau informaii
pri6ind calculul adresei rutinei de tratare astfel c2 printr-un salt indirect prin aceast2 locaie se
iniiaz2 execuia rutinei de tratare1
!istemul de <ntreruperi furnizeaz2 spre unitatea central2 de prelucrare codul ni6elului
care trebuie tratat <n acel moment+ cod ce 6a fi utilizat pentru selecia componentei asociate din
6ectorul de adrese al rutinelor de tratare1
=rioritatea <ntre ni6eluri este stabilit2 de c2tre sistemul de <ntreruperi la ni6el fizic+
timpul de r2spuns al sistemului este mai mic dect <n cazul precedent1
;n practic2 se utilizeaz2 frec6ent o soluie ce combin2 a6anta&ele )i deza6anta&ele celor
dou2 tipuri de sisteme de <ntreruperi )i anume sisteme 6ectorizate pe ni6eluri )i ne6ectorizate pe
subni6eluri1
"-. Caracteristicile $enerale ale sistemului de intreruperi
"a elaborarea unui sistem de <ntreruperi trebuie a6ute <n 6edere mai multe aspecte cum ar fi:
*Cpentru a facilita tratarea lor+ cererile de <ntrerupere trebuie partiionate <n clase+
dup2 sursa de generare+ denumite <n general ni6eluri de <ntreruperi;
*D<n funcie de natura lor (de pro6enien2 exist2 cereri care trebuie tratate imediat+
c:iar dac2 sunt <n curs de tratare alte cereri+ ceea ce impune ordonarea dup2 o
anumit2 sc:em2 de priorit2i a ni6elurilor de <ntrerupere;
*Epe un ni6el se pot conecta mai multe cereri+ subni6eluri de accea)i prioritate1 ;n
acest caz trebuie s2 existe posibilitatea identific2rii fiec2rui ni6el )i subni6el;
*Fdeoarece prin mecanismul <ntreruperilor este posibil2 execuia concurent2 a mai
multor programe+ se impune necesitatea prote&2rii fa2 de <ntreruperi a unor
sec6ene de cod ma)in2 indi6izibile+ denumite seciuni critice1 %ceasta se poate
realiza prin dezacti6area global2 sau indi6idual2 (mascare a <ntreruperilor pe
diferite durate de timp;
*Gsistemul de <ntreruperi trebuie pre62zut cu facilit2i de sal6are )i restaurare a
contextului programului <ntrerupt+ <ntr-o manier2 ct mai eficient2;
*Htrebuie pre62zut2 posibilitatea unui dialog cu subansamblele (ec:ipamentele
care au generat cereri de <ntrerupere pri6ind tratarea cererii;
*Itimpul de r2spuns al sistemului de <ntreruperi (!@+ definit ca inter6alul dintre
lansarea unei cereri de <ntrerupere spre sistemul de <ntreruperi )i momentul
execuiei primei instruciuni din sec6ena de prelucrare efecti62 a cererii+ trebuie s2
fie ct mai mic1
/up2 modul <n care se face acti6area sec6enei (a rutinei de tratare a unei <ntreruperi se
disting urm2toarele tipuri de sisteme de <ntreruperi:
*Jne6ectorizat;
6ectorizat1
2". Scrierea unui caracter in transferul pro$ramat cu intreruperi

.%0.
operational
cdes
rl
defal
:l

/ V



0"N
3odul de lucru al interfeei+ pe baza c2ruia se 6a proiecta :ardUare-ul necesar+ se poate rezuma la
urm2toarele caracteristici:
- interfaa a)teapt2 comenzi+ date de la unitatea central2 de prelucrare sau citirea st2rii
de c2tre unitatea central2 de prelucrare ;
- dac2 nu este acti62 nici o operaie cu unitatea central2 de prelucrare + se analizeaz2
dac2 <n memoria tampon exist2 caractere )i dac2 da+ se tip2resc )i se actualizeaz2
adresa de citire din memoria tampon;
- pentru operaia de citire stare pune pe magistrala 3%4 cu6ntul de stare;
- pentru operaia de transfer comenzi+ preia comenzile trimise de unitatea central2 de
prelucrare <n bistabilii de comand2;
- pentru operaia de transfer date+ <nscrie data <n memoria tampon+ actualizeaz2 adresa
de scriere <n memoria tampon )i 6erific2 dac2 nu s-a umplut memoria tampon1
"!. Succesiunea operatiilor pentru scrierea unui caracter
0aracterul se presupune <n registrul B,1
;Butina de scriere caracter la imprimant2 B.@=
;@ntr2ri :codul %!0@@ al caracterului de tip2rit <n registrul B,
;@e)iri :se tip2re)te caracterul pe foaia de imprimant2
;Funcie :tip2re)te caracter <n modul de lucru transfer programat (bucla de a)teptare
;%fecteaz2 :registrul B% )i indicatorii de condiie
B.@=:
B0!@ EV? CF,>
B/%.@ EV? CF%>
%!.: @$ B0!@ ;cite)te starea
.E!. B%+RCCC> ;6erific2 dac2 este operaional
Q$5 EBB ;salt la tratarea erorii
.E!. B%+ DCC> ;dac2 memoria tampon a interfeei
Q$5 %!. ;nu poate primi caracter atunci asteapt2
387 B%+ B, ;se transfer2 caracterul <n B%
8?. B/%.E@ ;se transmite <n memoria tampon
BE.
EBB: ; rutina de analiza a erorii
CURS 0
-. Principiul de transfer date prin D/A
.ransferul datelor este efectuat far2 inter6enia unit2ii centrale de prelucrare1 =entru aceasta+
modulul de acces direct la memorie conine toate resursele necesare pentru efectuarea autonom2
a transferului (registru de adresare a memoriei+ contor de cu6inte transferate+ mecanismul de
acces la memorie+ <ntreruperi+ etc1
!oluia de rezol6are a concurenei la memorie dintre unitatea central2 de prelucrare )i
modulul de acces direct la memorie conduce la dou2 moduri de transfer prin /3% )i anume :
*Ctransfer prin furt de ciclu;
*Dtransfer <n mod rafal21
;n cazul transferului prin furt de ciclu concurena la memorie se rezol62 la ni6el de ciclu
elementar de acces la memorie1 =entru fiecare cu6nt transferat modulul de acces direct la
memorie <)i disput2 cu unitatea central2 de prelucrare accesul la memorie1 ;n cazul unor cereri
simultane de acces la memorie+ modulul de acces direct la memorie are prioritate )i <n felul
acesta Sfur2S de la unitatea central2 de prelucrare un ciclu de acces1
0u excepia operaiei de acces efecti6 la memorie+ acti6itatea modulului de acces direct
la memorie )i a unit2ii centrale de prelucrare se desf2)oar2 <n paralel+ m2rind astfel
producti6itatea sistemului1
;n cazul transferului cu ec:ipamentele periferice critice+ care necesit2 ser6irea imediat2 a
unei cereri de acces la memorie+ pentru o funcionare corect2 se utilizeaz2 transferul <n mod
rafal21
%cest mod de transfer const2 <n faptul c2 dup2 iniierea unei operaii de transfer+
acti6itatea unit2ii centrale de prelucrare este suspendat2 pn2 la terminarea <ntregului tranfer de
date1 =roducti6itatea sistemului <n acest caz este mai mic2+ <n special <n cazul transferului de
blocuri cu lungimi mari1 8 astfel de soluie este utilizat2 <n cazurile <n care transferul nu ar
putea a6ea loc sub controlul unit2ii centrale de prelucrare )i nici prin modulul de acces direct la
memorie dac2 accesul la memorie s-ar disputa la fiecare cu6nt1
@niierea explicit2 a tuturor parametrilor transferului )i inter6enia unit2ii centrale de
prelucrare la apariia unor e6enimente ap2rute <n timpul sau la terminarea transferului menin un
grad destul de mare de interaciune <ntre unitatea central2 de prelucrare )i modulul de acces
direct la memorie1
2!. Resursele principale ale unui modul D/A
3odulului de acces direct la memorie i se asociaz2 R registre (porturi de @(E conform cu tabelul
.ab1 J1D+ prezentat <n cele ce urmeaz21 %dresa de baz2 a grupului de R adrese asociate
modulului de acces direct la memorie poate fi selectat2 oriunde <n spaiul de EHI de adrese1
Tabelul 7.1
%/BE!% /E$?3@BE F?$0W@E
,aza AC 0!E=
C
Begistrul de comenzi(st2ri pentru E= C
,aza AD 0!E=
D
Begistrul de comenzi(st2ri pentru E= D
,aza AE 0!E=
E
Begistrul de comenzi(st2ri pentru E= E
,aza AF 0!E=
F
Begistrul de comenzi(st2ri pentru E= F
,aza AG 0!/3% Begistrul de comenzi(st2ri pentru modulul de
acces direct la memorie
,aza AH %3/3% Begistrul adresare memorie pentru modulul
de acces direct la memorie
,aza AI B0/3% Begistrul contor (lungime bloc pentru
modulul de acces direct la memorie
,aza AJ @./3% Begistrul comenzi pentru iniializarea
modulului de acces direct la memorie
- Begistrele 0!E=
C:F
- sunt scrise(citite de unitatea central2 de prelucrare )i unitatea de
comand2 a modulului de acces direct la memorie )i au un format nespecificat la proiectarea
modulului de acces direct la memorie1 %ceste registre se asociaz2 ec:ipamentelor periferice
interfaate prin modulul de acces direct la memorie+ structura lor fiind determinat2 <n funcie
de caracteristicile ec:ipamentului periferic1 3odulul de acces direct la memorie face doar
decodificarea adreselor acestor registre )i genereaz2 semnalele corespunz2toare de
citire(scriere a coninutului acestora+ ele fiind localizate <n interfaa cu ec:ipamentul periferic1
0omenzile transmise de c2tre unitatea central2 de prelucrare spre aceste registre sunt preluate
de ec:ipamentul periferic de pe magistrala 3%4KDIL 1 !t2rile actualizate de ec:ipamentul
periferic sunt citite de unitatea central2 de prelucrare prin acti6area acestora pe 3%4KDIL+ iar
datele de ie)ire din ec:ipamentul periferic sunt scrise <n memorie direct prin intermediul
magistralei 3%4KDIL1 %stfel+ operaiile de acces la memorie+ controlate de modulul de acces
direct la memorie+ se pot efectua <n paralel cu oricare alte operaii+ exceptnd operaiile de
acces efecti6 la memorie a unit2ii centrale de prelucrare 1 0oncurena la memorie este
rezol6at2 prin funciile de control asociate modulului de memorie+ ?03+ ceea ce implic2
modificarea corespunz2toare a sec6enelor de citire+ interpretare )i execuie a instruciunilor
calculatorului didactic1
- Begistrul %3/3% - este scris(citit de unitatea central2 de prelucrare )i conine adresa de
memorie la care se face acces <n ciclul curent1 @e)irile acestui registru+ multiplexate cu ie)irile
registrului %3+ formeaz2 adresa locaiei de memorie implicat2 <ntr-un transfer cu acces direct
la memorie1 %3/3% este incrementat de c2tre unitatea de comand2 a modulului de acces
direct la memorie dup2 fiecare operaie de acces la memorie efectuat2 de modulul de acces
direct la memorie1
- Begistrul contor al modulului de acces direct la memorie (B0/3% - este scris(citit de
unitatea central2 de prelucrare )i conine num2rul de cu6inte ce mai trebuie transferate <n
cadrul blocului curent1 /up2 fiecare cu6nt transferat+ B0/3% este decrementat de unitatea
de comand2 a modulului de acces direct la memorie+ iar <n momentul <n care coninutul s2u
de6ine egal cu zero se consider2 terminarea transferului <ntregului bloc1 .erminarea
transferului 6a fi semnalat2 unit2ii centrale de prelucrare prin modificarea corespunz2toare a
st2rii sau prin generarea unei <ntreruperi1
- Begistrul 0!/3% - este scris(citit de unitatea central2 de prelucrare )i constituie registrul de
comenzi )i st2ri pentru modulul de acces direct la memorie1
2'. Caracteristicile principale ale interfetei seriale
*C.ransmisia(recepia cu6intelor prin intermediul interfeei seriale se face utiliznd
modalitatea de transfer programat;
*DBata de transfer este funcie de semnalul de tact aplicat interfeei1 Frec6ena
semnalului de tact 6a fi de DI ori mai mare dect frec6ena de transfer+ pentru a
asigura o bun2 funcionare a automatului de recepie;
*E@nterfaa lucreaz2 <n mod Sfull duplexS (poate primi )i transmite cu6inte
simultan;
*F4enereaz2 semnalele de dialog conform standardului de transmisie serial2
00@.. 71EG;
*G.ransfer2 cu6inte de lungime egal2 cu H+ I+ J+ R bii;
*H%nalizeaz2(genereaz2 unul sau doi bii de stop;
*I%nalizeaz2(genereaz2 paritate par2 sau impar2;
*J@nterfaa detecteaz2 erorile de paritate+ dep2)ire de ritm )i bii de stop incoreci;
CURS 9
3. Codificarea microinstructiunilor
modalit2i de codificare a acestora )i anume:
*Ccodificare 6ertical2 sau maximal2 ;
*Dcodificare orizontal2 sau cu control direct ;
*Ecodificare minimal2 ;
*Fcodificare cu control rezidual ;
*Gcodificare cu control prin adrese ;
*Hcodificare mixt21
0odificare 6ertical2
;n cadrul codific2rii 6erticale+ fiecare microinstruciune operaional2 specific2 o singur2
microoperaie1 !etul de microoperaii (38 necesar pentru controlul primiti6elor funcionale se
codific2 <n [ log
E
P (38 ] bii+ care constituie lungimea cu6ntului din 301
=entru identificarea microoperaiei specificate de @ se utilizeaz2 un decodificator+ Fig1
T1DC
%ceast2 codificare reprezint2 un caz extrem+ deoarece elimin2 orice posibilitate de
desf2)urare paralel2 a operaiilor elementare1
/in punctul de 6edere al minimiz2rii cu6ntului de control+ codificarea 6ertical2 implic2
num2rul cel mai mic de bii1 /imensiunea mare a decodificatorului face ca realizarea fizic2 a
acestuia s2 aib2 loc pe mai multe ni6eluri+ ceea ce conduce la introducerea de <ntrzieri1
?n deza6anta& ma&or al codific2rii maximale <l reprezint2 eliminarea controlului paralel
asupra resurselor precum )i inflexibilitatea dez6olt2rii sau complet2rii sistemului <n ceea ce
pri6e)te introducerea de noi microoperaii1 Este aplicabil2 numai <n sisteme dedicate care au o
structur2 specific21
[log
E
P(CP]-D
@
D C
8
C
8
D
8
P(CP -D
@ /E0
Figura 9.10
0odificarea 6ertical2 a microoperaiilor
0odificarea orizontal2
;n cadrul acestei codific2ri+ fiecare microoperaie din setul (38 este pus2 <n
coresponden2 cu un bit din cadrul cu6ntului de control1 0ontrolul microoperaiilor se face <n
mod direct+ Fig1 T1DD1
P(CP-D
@
D C
8
C
8
D
8
P(CP -D
Figura 9.11 0odificarea orizontal2
0odificarea orizontal2 realizeaz2 controlul tuturor microoperaiilor paralele+ posibile+ ce se
pot desf2)ura <n sistem1
/e)i ofer2 o flexibilitate mare )i asigur2 paralelismul maxim+ utilizarea acestei
codific2ri este un caz extrem din cauza folosirii ineficiente a memoriei de control1
0odificarea minimal2
0ombin2 flexibilitatea )i paralelismul potenial oferite de codificarea orizontal2 cu
eficiena codific2rii 6erticale1
@deea de baz2 este de a grupa <n clase de compatibilitate setul de microoperaii care se
exclud reciproc (8 dintr-o clas2 de compatibilitate nu se 6or efectua niciodat2 simultan1
3icroinstruciunea este <mp2rit2 <n cmpuri1 ?n cmp corespunde unei clase de
compatibilitate1 "a ni6el de cmpuri se realizeaz2 o codificare orizontal2 iar <n cadrul cmpurilor
se realizeaz2 o codificare 6ertical2+ Fig T1DE a1
0
P0P-D
@
0
C
0
D
P0
C
P
8 8 8
@ /E0
P0P-D
/E0
D
/E0
C
[logEP0
C
P]
Figura T1DE a0odificare minimal2
=entru un cmp 0
&
care codific2 P0
&
P microoperaii sunt necesari Plog
E
(P0
&
PADP bii+
deoarece trebuie s2 se pre6ad2 )i posibilitatea de a nu specifica nici o microoperaie din cadrul
cmpului1
8 6ariant2 a acestei codific2ri o reprezint2 codificarea pe dou2 ni6eluri sau indirect21
;n codificarea pe dou2 ni6eluri+ 6alidarea unor cmpuri depinde de 6aloarea altui cmp
de control din microinstruciune+ Fig T1DE b1
0
P0P-D
@
0
C
0
i
0
D
8 8 8
/E0
/E0
/E0
/E0
Fig1 T1DE b 0odificare minimal2 pe dou2 ni6eluri
0odificarea cu control rezidual
%ceast2 metod2 de codificare folose)te registre de control rezidual pentru controlul
primiti6elor funcionale1 0u6ntul de control nu controleaz2 resursele direct ci+ prin intermediul
registrelor de control rezidual <nc2rcate sub aciunea microinstruciunilor+ Fig1 T1DF
30
P0
C
P
8 8 8
B0B5
n
B0B5
D
B0B5
C
Figura T1DF 0odificare cu control rezidual
3icroinstruciunile pot s2 <nlocuiasc2 sau s2 modifice 6aloarea unuia sau mai multor
registre de control1 %ceast2 te:nic2+ a controlului rezidual+ asigur2 o economie de memorie de
control atunci cnd unele primiti6e funcionale realizeaz2 aceea)i operaie <n mod repetat sau cnd
un set de microoperaii este acti6 o perioad2 mare de timp+ iar alte seturi de microoperaii se
modific21
Begistrele de control rezidual B0B5
&
+ care specific2 microoperaiile de control al
resurselor :ardUare+ pot fi mane6rate cu a&utorul unor microinstruciuni de dimensiuni reduse1
0odificarea cu control prin adrese
8 modalitate de implementare a microinstruciunilor operaionale este aceea <n care nu
se specific2 direct microoperaiile care trebuie s2 se desf2)oare+ ci se specific2 o adres2 <n cadrul
unei memorii+ unde sunt memorate toate microinstruciunile distincte posibile ce controleaz2
sistemul+ Fig1 T1DG1
%drresa
%dr1 @
8
3@
distincte
Figura T1DG 0odificare cu control prin adrese
%ceast2 modalitate reprezint2 o form2 simplificat2 a conceptului de nanoprogramare1
$um2rul de microinstruciuni distincte nu depinde de num2rul de resurse controlate ci
de num2rul de 8 disticte+ de m2rimea = )i de num2rul de 6ariabile de stare testate 1
3emoria care p2streaz2 microinstruciunile distincte 6a a6ea lungimea cu6ntului
suficient de mare pentru a controla toate microoperaiile care se pot efectua simultan1 .rebuie
notat c2 fiecare @ este memorat2 o singur2 dat21
8 astfel de implementare face ca microprogramul s2 fie format dintr-o sec6en2 de
adrese care apeleaz2 @ p2strate <n memoria de @1
?n deza6anta& al acestei metode const2 <n faptul c2 necesit2 dou2 accese la memorie <n
cadrul unui ciclu de microinstruciune+ dar <n sc:imb se realizeaz2 o economie important2 de
memorie1
0odificare mixt2
8 6ariant2 utilizat2 mult <n practic2 este aceea <n care microinstruciunea este <mp2rit2
<n cmpuri1 ?nele cmpuri controleaz2 direct microoperaiile (sub form2 codificat2 sau direct2
iar altele specific2 adrese de memorie ce conin un subset de microinstruciuni distincte+ Fig1
T1DH1
%dr1
/E0
0
n
0
D
0
C
@
8
8
3@
8
Figura T1DH 0odificare mixt2
2-. Rolul microsec#entiatorul ui intr4o structura micropro$ramata
X! - microsec6eniatorul reprezint2 unitatea de comand2 con6enional2 care asigur2 citirea+
interpretarea )i 6alidarea aciunilor microinstruciunilor1 =e baza tipului
microinstruciunii curente+ a st2rii primiti6elor funcionale ale calculatorului didactic
precum )i a codului operaie al instruciunii ma)in2 curente (ce interpreteaz2 )i se
execut2+ X! formeaz2 adresa X@ urm2toare )i 6alideaz2 (acti6eaz2 spre resursele unit2ii
de execuie microoperaiile din X@ curent21
X! - microsec6eniatorul+ unitatea de comand2 con6enional2+ elementar2+ care asigur2
citirea interpretarea )i execuia microinstrucinilor din memoria de control precum )i <nl2nuirea
acestora pe baza registrului de instruciuni ma)in2 B@ )i a st2rii primiti6elor funcionale1
%6nd <n 6edere structura microinstruciunilor se poate descrie funcionarea
microsec6eniatorului (! care asigur2 citirea interpretarea )i execuia microinstruciunilor
(acti6area microoperaiilor spre unitatea de execuie a 0/ 1
/escrierea microprogramului care implementeaz2 unitatea de comand2
microprogramat2 a calculatorului didactic se poate face utiliznd un limba& de microasamblare1
=entru aprofundarea relaiei <ntre cu6ntul de control )i semnalele de comand2 ce controleaz2
primiti6ele funcionale ale unit2ii de execuie se exemplific2 descrierea unei seciuni de
microprogram specificnd direct biii din microinstruciune1
.rebuie remarcat faptul c2 stabilindu-se microinstruciuni de tip operaional )i de tip
condiional+ pa)ii %>=" care specific2 aciune )i salt 6or fi implementai <n dou2
microinstruciuni distincte iar pa)ii %>=" care specific2 salturi multiple se implementeaz2 prin
mai multe microinstruciuni se ramificaie1
3icrosec6eniatorul (X! testeaz2 starea primiti6elor funcionale (caracterizat2 prin
6aloarea indicatorilor de condiii )i biii din registrul de instruciuni (cod operaie+ mod de
adresare1

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