You are on page 1of 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: (SL ; SYN (semnal_asincron));
operatori de selecie: (A
j
; A
m:n
; M
j
; M
m:n
);
operator de selecie prin comprimare: ( X / Y );
operator de selecie prin comprimare i reducere: (M * F);
operatori de concatenare: (A,B ; A!B);
operator de codificare: ( n T p);
operatori de decodificare: (
X
; DCD );
operatori relaionali.
Instruciuni de conexiune
Dac se noteaz cu:
MAG - o magistral predeclarat
Z - un vector de ieire;
VLCO - un vector de funcii logice combinaionale de ieire;
MLCO - o matrice de vectori logici combinaionali VLCO;
F - un vector de constante binare sau funcii logice
instruciunile de conexiune pot fi specificate prin una din urmtoarele forme:
Z = VLCO
MAG = VLCO
Z = MLCO*F
MAG = MLCO*F
Instruciuni de transfer
Variabila destinaie este un bistabil sau un vector ce are ca echivalent un registru sau un
cuvnt de memorie. nscrierea valorii expresiei n operandul destinaie se face sincronizat cu un
semnal de tact. Acest semnal de tact poate fi specificat explicit printr-o conexiune sau implicit ca
fiind tactul unitii de comand.
Forma general a unei instruciuni de transfer este:
VD VLCO
VD MLCO*F
MD*FVLCO
unde: VD este un vector destinaie iar
MD este o matrice destinaie
Prima instruciune specific un transfer necondiionat.
Cea de a doua form poate fi descompus n urmtoarele operaii elementare: conexiune la
intrrile vectorului destinaie a vectorului rezultat prin evaluarea expresiei i apoi nscrierea
acestuia n VD.
Cea de a treia form este echivalent cu: valoarea lui VLCO se transfer n toate liniile
matricei rezultate prin comprimarea i reducerea cu vectorul de selecie F.
9. Descrierea functiilor in AHPL
Pentru a facilita scrierea secvenelor de descriere a circuitelor logice combinaionale oferind i o
flexibilitate de utilizare a acestora n diferite module, limbajul AHPL permite descrierea separat
ca module de program distincte sub forma:
UNIT: nume_funcie <lista de parametri>
<declaraii>
<conexiuni>
END
Dac o schem combinaional apare (este apelat) de mai multe ori cu aceeai parametri
efectivi ea va fi generat fizic o singur dat cu condiia s nu se depeasc fan-out-ul ieirilor.
Dac ns este apelat de mai multe ori, cu parametri diferii se poate proceda n dou
moduri:
- se implementeaz cte o copie a schemei pentru fiecare apelare;
- se implementeaz schema o singur dat dar se prevede schema de selecie a parametrilor
de intrare corespunztori fiecrei apelri.
Alegerea uneia dintre modaliti se face prin analiza complexitii funciei combinaionale
i a logicii de selecie a parametrilor.
Apelul unei uniti logice combinaionale se face prin:
nume_funcie(lista_de_parametri_efectivi).
Deci n expresii AHPL pot s apar nume de uniti logice combinaionale definite.
20. Operatori de selectie si de reducere in AHPL
- operatori de reducere:
/ ; /; +/ realizeaz funcia logic specificat ntre componentele vectorului asupra cruia
acioneaz. Rezultatul este un scalar.
Exemple:
/A = A
0
A
1
A
2
... A
n

- operator de selecie prin comprimare:
X/Y elimin componentele din Y corespunztoare componentelor egale cu 0 din X
Exemplu:
Fie A = (0, 1, 1, 0, 1, 0, 0, 1 )
B = (B
0
, B
1
, B
2
, B
3
, B
4
, B
5
, B
6
, B
7
)
A / B = (B
1
, B
2
, B
4
, B
7
)
- operator de selecie prin comprimare i reducere:
M*F realizeaz eliminarea liniilor din matricea M corespunztoare componentelor egale cu 0 din
vectorul F
Exemplu:
Fie
M
0
1
2
M
M
M

1
]
1
1
1
1
i F=[0,0,1]

rezult:
M*F selecteaz linia 2, adic M
2
3. Descrierea sumatorului elementar complet
Sumatorul elementar complet realizeaz operaia de adunare a unor operanzi de lungime un bit,
innd seama de transportul de intrare i genereaz pe lng sum i eventualul transport.
n Fig.2.6 se prezint schema bloc a unui sumator elementar complet. Intrrile sunt cei doi
operanzi i transportul din exterior iar ieirile sunt suma i transportul spre exterior.
SUMEC
sum
t
out
t
in
y x
0
1
SUMEC
SUMEC
0
0
Fig. 2.6. Sumator elementar complet
Tabela de adevr, diagramele Karnaugh i ecuaiile logice sunt prezentate n continuare.
Ecuaiile logice rezultate sunt :
sum = x y t
in

t
out
= ((x y) t
in
) (x y)
Aceste expresii logice pot fi descrise n AHPL astfel:
UNIT: SUMEC (x;y;t
in
)
INPUTS: (x;y;t
in
)
OUTPUTS: SUMEC [2;1]
1. a = x y
2. b = x y
3. sum = a t
in
4. c = a t
in
5. t
out
= b c
6. SUMEC
0
0
= sum
7. SUMEC
0
1
= t
out
Tabela de adevr:
x y t
in
suma t
out
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
END
Implementarea unitii logice combinaionale a sumatorului elementar complet este
prezentat n Fig. 2.7.
SUMEC
y
t
in
t
out
x
sum
0
1
SUMEC
0
0
SUMEC
Fig. 2.7. Schema sumator elementar complet
CURS 3
1. Reprezentarea numerelor in virgula fixa
n virgul fix numerele se pot reprezenta n funcie de poziia virgulei n trei moduri:
-numere ntregi: poziia virgulei fiind interpretat dup cifra cea mai putin semnificativ x
0
x = x
n
x
n-1
... x
1
x
0
,
iar valoarea numrului
x i
i 0
n
i
V x 2
*

-numere subunitare: poziia virgulei fiind interpretat nainte de cifra cea mai semnificativ x
-1
x = ,x
-1
x
-2
... x
-n+1
x
-n
iar valoarea numrului
x -i
i 0
n
-i
V x 2
*

-numere reale: poziia virgulei fiind interpretat n cadrul reprezentrii. Exist un grup de bii care
specific partea ntreag i un numr de bii care specific partea fracionar. Aceast reprezentare
combin cele dou reprezentri anterioare. n practic se utilizeaz numai n structuri numerice
dedicate, n care se conoate foarte bine domeniul de valori al datelor.
x = x
k
x
k-1
... x
1
x
0
,x
-1
x
-2
... x
-m
iar valoarea numrului
x i
i 0
k
i
-i
i 0
m
-i
V x 2 x 2
* * +


n marea majoritate a calculatoarelor se utilizeaz reprezentarea n virgul fix numere
ntregi.
10. Adunarea in cod complementar (c4)
Fie :
x = x
s
x
-1
x
-2
...x
-n
y = y
s
y
-1
y
-2
...y
-n
cu condiia ca |x| + |y| < 1
dou numere n virgul fix, subunitare, reprezentate n cod complementar.
Operaia de adunare const n:

+
n
1 i
i
i s y
2 * y y - V
[ ] j j -
-n
n - 2 - 1 - c y -
y 1 y unde 2 y ... y y V

+

+
n
1 i
i -
i y
2 * y 0 V
[ ]
n
n
1 i
i -
i c y -
2 2 * y V

+
,
_


[ ]
( )
n
n
1 i
i -
i c y -
2 2 * y 1 V

+
,
_



[ ]
n
n
1 i
i -
i
n
1 i
i
c y -
2 2 * y 2 V

+
,
_



se adun bit cu bit ncepnd cu rangul cel mai putin semnificativ, inclusiv bitul de
semn.
Eventualul transport din bitul de semn se neglijeaz.
Justificare:
1. n cazul n care x>0, y>0 i |x|+|y|<1
[x]
c
+ [y]
c
= |x|+|y| = [(|x|+|y|)]
c
2. n cazul n care x>0, y<0
cazul 1: |x|>|y|
[x]
c
+ [y]
c
= |x|+2-|y| = 2 + (|x|-|y|)
deoarece |x|-|y|>0,
atunci 2+(|x|-|y|) genereaz un transport din
bitul de semn, care conform regulii enunate se neglijeaz.
n acest caz:
[x]
c
+ [y]
c
= (|x|-|y|) = [(|x|-|y|)]
c
cazul 2: |x|<|y|
[x]
c
+ [y]
c
= |x|+2-|y| = 2 - (|y|-|x|)
deoarece |y|-|x|>0,
atunci 2-(|y|-|x|) nu genereaz un transport din bitul de semn.
n acest caz:
[x]
c
+ [y]
c
= 2 - (|y|-|x|) = [-(|y|-|x|)]
c
3. n cazul n care x<0, y<0 i |x|+|y|<1
[x]
c
+ [y]
c
= 2 - |x| + 2 - |y| =
= 2 + 2 - (|x|+|y|) =
= 2 - (|x|+|y|) = [-(|x|+|y|)]
c
Deoarece (|x|+|y|)>0,
atunci 2 - (|x|+|y|) nu genereaz un transport din bitul de semn.
n schimb 2 + 2 - (|x|+|y|) genereaz un transport care se neglijeaz.
n acest caz:
[x]
c
+ [y]
c
= [-(|x|+|y|)]
c
11. Etapele inmultirii prin metoda lui Booth (c4)
Pentru a realiza operaia de nmulire a unor numere reprezentate n complement fa de 2, prin
adunri repetate, este necesar s evalum nmulitorul. Evaluarea nmulitorului reprezentat n
complement fa de 2 se realizeaz utiliznd formula lui Booth.
Dac
y = y
s
y
-1
y
-2
...y
-n
este un numr n complement fa de 2 valoarea reprezentat de acest
numr este:
formula lui Booth
Justificare:
a) dac y este pozitiv y = 0y
-1
y
-2
...y
-n
are valoarea
ceea ce reprezint ntr-adevr evaluarea unui numr pozitiv reprezentat n cod direct.
b) dac y este negativ, y = 1y
-1
y
-2
...y
-n
, valoarea sa este obinut evalund [-y]
c
.
Dar tim c [y]
c
=[y]
i
+ 2
-n
, deci
[ ]


n
1 i
i -
i c y -
2 * y 1 V
[ ] [ ]
Booth. lui formula justific ce ceea 2 * y 1 V deci V V Dar
n
1 i
i -
i c y - c y - y



Pentru a realiza z = x * y este acelai lucru cu a realiza z = x * V
y
Booth a propus ca o cifrele de reprezentare ale nmulitorului, n cod complementar, s se
nlocuiasc cu diferena a dou cifre adiacente:
y
-j
y
-j-1
- y
-j
1 j n
nlocuirea propus de Booth nu se realizeaz efectiv, ci conduce numai la analiza a doi bii
adiaceni din reprezentarea nmulitorului (nu a unui singur bit cum se realiza la nmulirea direct).
Astfel dac
y
-j
Y
-j-1
0 0 se deplaseaz produsul parial cu o poziie la dreapta;
0 1 se adun denmulitul la produsul parial i apoi se deplaseaz rezultatul cu o
poziie la dreapta;
1 0 se scade denmulitul din produsul parial i apoi se deplaseaz rezultatul cu
o poziie la dreapta;
1 1 se deplaseaz produsul parial cu o poziie la dreapta;
Dup ultima operaie, n care particip i bitul de semn, nu se mai efectueaz operaia de
deplasare.
19. Reprezentarea numerelor cu semn in virgula mobila
n virgul mobil, numerele se reprezint prin dou componente:
- mantis;
- exponent.
Un grup de bii sunt utilizai pentru reprezentarea mantisei, n virgul fix numere
subunitare, iar alt grup de bii sunt utilizai pentru reprezentarea exponentului n virgul fix
numere ntregi.
x = E,M
x = x
k
x
k-1
... x
1
x
0
,x
-1
x
-2
... x
-m
unde:
E = x
k
x
k-1
... x
1
x
0
,
M = ,x
-1
x
-2
... x
-m
iar valoarea numrului V
x
= V
M
* b
VE
unde b constituie baza de reprezentare.
n general baza b este 2, ns sunt calculatoare care utilizeaz ca baz b = 8, sau b = 16.
n reprezentarea n virgul mobil interpretarea poziiei virgulei se face n funcie de
valoarea exponentului.
n calculatoarele numerice semnul ocup o poziie n reprezentare. Se consider convenia
ca bitul de semn s aib urmtoarea semnifificaie:
x
s
= 0 semnul este pozitiv
x
s
= 1 semnul este negativ
iar poziia sa este n general n partea din stnga a reprezentrii.
x = x
s
x
n
x
n-1
... x
1
x
0
, n virgul fix, numere ntregi
x = x
s
,x
-1
x
-2
... x
-n+1
x
-n
n virgul fix, numere subunitare
4. Etapele principale ale operatiei de inmultire in cod direct (c4)
Metoda de nmulire direct este utilizat n cazul reprezentrii n cod direct (mrime i semn).
Fie:
x = x
s
x
-1
x
-2
...x
-n
y = y
s
y
-1
y
-2
...y
-n
dou numere n virgul fix, subunitare, reprezentate n cod direct.
Pentru a realiza nmulirea z = x * y este necesar ca rezultatul s fie reprezentat pe un
numr dublu de bii sau s se realizeze o rotunjire a rezultatului, n cazul n care se reprezint pe
acelai numr de bii.
Operaia de nmulire const din trei etape principale:
a) - determinarea semnului;
b)- nmulirea efectiv;
c)- rotunjirea rezultatului;
a) Determinarea semnului
z
s
= x
s
y
s
b) nmulirea efectiv
nmulirea efectiv are ca scop determinarea modulului produsului: |z| = |x| * |y|

|z| = y
-1
*2
-1
|x| + y
-2
*2
-2
|x| + ... + y
-n
*2
-n
|x|
c) Rotunjirea rezultatului. Dac |z| trebuie s fie depus ntr-un cuvnt de n+1 bii, atunci trebuie
fcut o rotunjire prin adaus ce const n a aduna 2
-n
la rezultat dac partea la care se renun are
bitul cel mai semnificativ 1.
CURS 5
26. Schema generala a calculatorului didactic
Memoria M ,
1
M=16 ;
2
M=65536
Memoria M [65536;16] este o matrice de elemente de memorare organizat ntr-un spaiu de
adresare unic de 65536 cuvinte a cte 16 bii fiecare.
Memoria este utilizat pentru a pstra informaii neinterpretate reprezentnd date sau instruciuni.
Oricare dou celule de memorie sunt accesibile n mod echivalent. Totui, memoria poate fi logic
mprit n segmente de instruciuni, date, stiv, i segmente de memorie disponibil. Pentru
segmentul de instruciuni se poate prevedea i o memorie cu coninut permanent de tip "numai
citire".
Citirea i scrierea se fac asincron sub controlul unitii de comand.
Registrul AM, AM=16
Registrul de adresare a memoriei, AM, pstreaz adresa celulei de memorie la care se face acces la
un moment dat. Lungimea acestui registru se alege astfel ca 2
AM

2
M. Adresa calculat (adresa
efectiv) este memorat n AM selectnd, prin decodificare, cuvntul din memorie la care se va
face accesul.
Registrele RG,
1
RG=16 ;
2
RG=8
Deoarece timpul de acces la memoria M este relativ mare (150ns-400ns) se va prevedea o
memorie rapid organizat sub forma a 8 registre de cte 16 bii fiecare. Registrele RG conin unul
sau ambii operanzi necesari pentru execuia instruciunilor calculatorului didactic. Unele din aceste
registre vor fi utilizate i pentru calculul adresei efective a operanzilor din memorie (Astfel,
BA,BB sunt utilizate ca registre de baz; XA,XB sunt utilizate ca registre index iar IS este utilizat
ca indicator pentru adresarea unor structuri de date de tip stiv. RA, RB, RC sunt utilizate numai
pentru pstrarea operanzilor.)
Adresa registrului selectat este specificat n codul instruciunii. Selectarea registrelor generale va
fi prezentat detaliat n paragraful 5.4.
Registrul CP, CP=16
Registrul contor program CP este utilizat pentru pstrarea adresei instruciunii ce urmeaz s se
execute dup terminarea execuiei instruciunii curente. Lungimea registrului CP se alege astfel ca
2
CP

2
M. Registrul CP poate fi iniializat cu o valoare dat la iniializarea sistemului, cu o
valoare oarecare prin execuia instruciunilor de transfer control (vezi paragraful 5.3) sau poate fi
incrementat n cazul execuiei instruciunilor (operaionale) ce nu specific transferul controlului la
o alt secven.
Unitatea aritmetic logic UAL, UAL=16
Unitatea aritmetic logic (UAL) realizeaz operaiile aritmetice i logice ale calculatorului
didactic i este utilizat pentru prelucrarea datelor i pentru calculul adresei efective. Unitatea
aritmetic logic este de tip paralel, prelucreaz operanzi pe 16 bii reprezentai n cod
complementar. Unitatea aritmetic logic implementeaz direct toate operaiile elementare
necesare execuiei instruciunilor aritmetice i logice ale calculatorului didactic. Condiiile n care
s-a efectuat o operaie n unitatea aritmetic logic i caracteristicile rezultatului sunt pstrate
ntr-un registru de indicatori IND.
Registrele T1,T2, T1=T2=16
Registrele temporare T1 i T2 sunt utilizate pentru a pstra operanzii unei operaii executate n
unitatea aritmetic logic , rezultate intermediare la calcularea adresei efective i nu sunt accesibile
n mod explicit de programator.
Indicatorii de condiii IND, IND = 16
Registrul de indicatori constituie o grupare a unor bistabili cu funcii individuale, pozitionai la
execuia instruciunilor n funcie de rezultatul din unitatea aritmetic logic . Registrul IND
permite alegerea unei secvene de execuie urmtoare unei operaii aritmetice/logice n funcie de
rezultatul acestei operaii. Lungimea registrului IND este de 16 dei numai o parte din acetia sunt
utilizai n mod efectiv. Funciile acestor bistabili indicator vor fi prezentate n paragraful 5.3.2.
Registrul RI, RI = 16
Registrul de instruciuni RI pstreaz codul instruciunii n curs de execuie. Coninutul su este
decodificat i transmis seciunii de generare comenzi/verificare stri din unitatea de comand. n RI
se pstreaz i informaiile necesare pentru selecia registrelor generale n funcie de instruciunea
n curs de execuie.
Magistrala MAG, MAG = 16
Interconectarea resurselor prezentate mai sus se realizeaz prin intermediul unei magistrale
multiplexate n timp, MAG, care constituie suportul fizic de comunicaie ntre aceste resurse.
Dimensiunea magistralei este de 16 i este format din 16 linii de interconectare, fiind astfel n
totalitate pasiv. Fiecare resurs conectat la magistral va include i circuitele de interfa
necesare cuplrii la magistral. Transmisia pe MAG se face astfel nct un singur cuvnt de
informaie circul pe magistral la un moment dat.
M
Subsistem de I/E
T2 RA
RB
CP
IND
Generare comenzi
verificare stari
Interpretor
cod
instructiune
RI
T1
Acces individual la indicatori de conditie
Comenzi si stari
Schema bloc a calculatorului didactic
Cai de acces paralele
Magistrala comuna bidirectionala
MAG
UC
UE
I/E
UAL
A I E
AM
S
E
L
RG
RC
IS
XA
XB
BA
BB
14. Modurile de adresare la Calculatorul Didactic
Modul de adresare reprezint modalitatea n care se calculeaz adresa efectiv (AE) a operanzilor
implicai n instruciunea curent. Instruciunile calculatorului didactic pot prelucra maxim doi
operanzi. Acetia se pot gsi :
-ambii n registrele generale RG ;
-unul n registrele generale RG i altul n memorie ;
-unul n registrele generale RG i altul n cadrul instruciunii respective (operand imediat);
-unul n memorie i altul imediat.
n funcie de codificarea cmpurilor MOD i RM se precizeaz modul n care se calculeaz
adresa efectiv (AE) a operandului.
1. Adresare directa mov RA,adres
2. Adresare indirecta mov RA,[adresa]
3. Adresare indirect prin registru mov RA,[BA]
4. Adresare indirect prin sum de registre mov RA,[BA] [XA]
mov RA,[BA + XA]
5. Adresare indirect prin sum de registre cu autoincrementare a registrelor index dup
calculul adresei efective. mov RA,[BA][XA+]
6. Adresare indirect prin sum de registre cu autodecrementare a registrului index nainte
de calculul adresei efective. mov RA,[BA][XA-]
7. Adresare bazat mov RA,[BA]+adres
mov RA,adresa[BA]
mov RA,[BA+adresa]
8. Adresare indexat mov RA,[XA]+adresa
mov RA,adresa[XA]
mov RA,[XA+adresa]
9. Adresare bazat indexat mov RA,[BA][XA]+adresa
mov RA,adresa[BA][XA]
mov RA,[BA+XA+adresa]
mov RA,[BA][XA].adresa
10. Adresare imediat mov RA,7
11. Adresare direct la registru mov RA,RB
17. Organigrama generala a fazei de citire si interpretare a calculatorului didactic
1
start
RI
0
T1BXXX
T2Depls(M
CP+1
)
T1M
T1
RIM
CP
2:3
4
NU
DA
DA
DA
0
1
66
26
AE directa / indirecta
executie
Organigrama fazei de citire interpretarea ainstructiunilor masina
se aduna
deplasament
citeste
deplasament
se aduna
continutul celor
doua registre
Operandul
in RG
R/M
citeste al-II-lea
registru implicat in
calculul de AE
Citeste primul
registru implicat in
calculul de AE
increm.
reg.
index
un singur registru
implicat in AE
IURM
Instructiuni fara calcul de AE
Citeste instructiunea curenta in RI
tip instr.
5
6
7
tip instr.
XXXX+1
T2XA
T2XX
8
XAXA-1
T1T1+T2 9
1718
autoincrementare.
16
10
deplasament.
AMT1
T1T1+T2
1214
15
11
26
25
T2Depls(M
CP+1
)
indirect
2324
12. Instructiuni care afecteaza indicatorii de conditie
/REZULTAT Z
s
s s s s
s z y x z y x D
Vom prezenta indicatorii de condiii numai pentru unitatea care lucreaz cu numere reprezentate
n complement fa de doi.
Indicatorii propui sunt urmtorii:
S semn, reprezint valoarea bitului de semn al rezultatului.
Z zero, este poziionat n unu dac rezulatul este zero, i este poziionat n zero cnd
rezultatul este diferit de zero.
Valoarea lui Z se stabilete astfel:
D depire, este poziionat n unu, cnd cele dou numere care se adun sunt pozitive i
exist transport spre bitul de semn, sau dac operanzii sunt negativi i nu exist transport spre
bitul de semn.
Considernd x
s
, y
s
semnele celor doi operanzi i t
s
transportul spre bitul de semn, care
atunci cnd apare modific pe z
s
, semnul rezultatului astfel c valoarea lui D se stabilete cu
ecuaia:
T transport, se poziioneaz pe 1 n cazul n care exist un transport din bitul de semn
spre stnga.
P paritate, se poziioneaz pe 1 n cazul n care rezulatul are un numr par de uniti.
16. Modurile de adresare bazata si indexata
Adresare bazat
Adresa efectiv se obine prin adunarea coninutului celui de-al doilea cuvnt al
instruciunii cu unul din registrele baz, Fig. 5.9.
+ deplasament
BA
BB
AE =
Exemplu: mov RA,[BA]+adres
mov RA,adresa[BA]
mov RA,[BA+adresa]

deplasament COP
BB
BA
OPERAND
+
AE
MEMORIE
RG
15 15 13 12 10 9 8 7 6 0
1 1 x x x x 1 0
0
RM REG MOD d
Figura 5.9
Adresare indexat
Adresa efectiv se obine prin adunarea coninutului celui de-al doilea cuvnt al
instruciunii cu unul din registrele index, Fig. 5.10.
+ deplasament
XA
XB
AE =
Exemplu: mov RA,[XA]+adresa
mov RA,adresa[XA]
mov RA,[XA+adresa]
deplasament COP
XB
XA
OPERAND
+
AE
MEMORIE
RG
15 15 13 12 10 9 8 7 6 0
1 0 x x x x 1 0
0
RM REG MOD d
Figura 5.10
CURS 7
6. Resursele principale ale unei interfete de I/E
Cele 256 porturi de I/E, ale calculatorului didactic, pot fi asimilate cu 256 de registre plasate
ntr-un spaiu de adresare separat de cel al registrelor generale i al memoriei, care pot fi citite
sau nscrise individual prin intermediul instruciunilor IN i OUT. Plecnd de la aceste premize
se poate dezvolta un model simplu de subsistem de I/E bazat pe urmtoarele consideraii :
1. vom considera echipamentele periferice fie de intrare fie de ieire ;
2. fiecarui echipament periferic i se asociaz un registru de date (din cele 256) n care unitatea
central de prelucrare nscrie datele ce trebuie transmise ctre echipamentul periferic de
ieire sau din care unitatea central de prelucrare preia datele nscrise de un echipament
periferic de intrare;
3. fiecrui echipament periferic i se asociaz un registru de comenzi n care unitatea central de
prelucrare nscrie comenzile transmise spre echipamentul periferic i un registru de stri n
care echipamentul periferic nscrie starea ce va fi preluat de unitatea central de prelucrare.
Din punctul de vedere al implementrii este convenabil s se considere 2 registre separate,
unul de comenzi selectat numai la execuia instruciunilor OUT i unul de stri selectat
numai la execuia instruciunilor IN, cele dou registre avnd aceeai adres;
4. registrele de I/E sunt conectate la magistrala MAG a unitii centrale de prelucrare;
5. fiecare interfa i recunoate adresele asociate;
6. datele sunt structurate pe cuvinte;
7. ca modalitate de transfer se alege transferul programat (transferul prin modulul de acces
direct la memorie se trateaz ulterior) ;
8. interaciunea i sincronizarea unitii centrale de prelucrare cu echipamentul periferic se
realizeaz prin citirea ciclic a strii echipamentului periferic utiliznd instruciunile IN,
TEST, Jcondiie, etc (interaciunea prin ntreruperi se trateaz n capitolul 8);
9. magistrala MAG trebuie prevzut, pe lng liniile de date, cu un set minim de linii de
comenzi i stri care asigur un dialog corect ntre unitatea central de prelucrare i registrele
de I/E;
10.pentru echipamentele periferice complexe se pot prevedea mai multe registre de I/E.
Resursele memoriei tampon de tip FIFO sunt:
MT - memorie de tip RAM de 256 cuvinte a 8 bii ;
RSMT - registrul de adrese pentru operaia de scriere n memoria tampon, ce indic adresa
celulei n care unitatea central de prelucrare nscrie un nou caracter ;
RCMT - registrul de adrese pentru operaia de citire din memoria tampon, ce indic adresa
celulei de unde interfaa preia un caracter pentru a-l transfera imprimantei ;
RDATE - registrul de date al memoriei tampon n care se citete caracterul ce se va transfera
imprimantei.
MT
RCMT
MAG
RDATE
Caractere ce trebuiesc transferate
imprimantei
RSMT
Figura 7.5 Organizarea memoriei tampon
18. Resursele minime necesare pentru interfata I/O
Idem sub.6
22. Principiul de transfer de date prin canal I/O
Prin canal de I/E vom nelege un procesor specializat capabil s execute "programe de canal"
scrise ntr-un limbaj main specializat n operaii de I/E.
Canalul conine o unitate de comand proprie pentru controlul echipamentelor periferice
i a accesului la memorie n mod independent.
Unitatea central de prelucrare interacioneaz cu canalul de I/E prin construcii ale
limbajului main asociat, denumite comenzi de canal (iniializare, citire stare, lansare program
de canal, etc.)
Programele de canal sunt generate de ctre programele de asisten ce se execut n
unitatea central de prelucrare (sistemele de operare) i sunt plasate n memoria intern pentru a
fi accesibile canalului de I/E.
Un program de canal trebuie s specifice:
*0adresele zonelor de memorie implicate n transfer;
*1numrul i dimensiunile blocurilor de date care trebuie transferate;
*2echipamentele periferice implicate i caracteristicile transferului;
*3directive privind modul de tratare, de ctre canal, a unor evenimente aprute n
cursul transferului;
*4operaiile care trebuie controlate de canal.
Prin comenzi de canal, unitatea central de prelucrare transmite canalului de I/E adresa
programului de canal i lansarea n execuie a acestuia.
n continuare unitatea central de prelucrare continu execuia n paralel cu canalul.
Concurena la memorie se rezolv n aceeai manier ca i n cazul transferului prin modulul de
acces direct la memorie.
Prin nlnuirea comenzilor i programelor de canal se pot transfera mai multe blocuri de
date far intervenia unitii centrale de prelucrare.
Canalul este capabil s acioneze n mod "inteligent" n cazul apariiei unor evenimente
n cursul transferului (ex: erori de poziionare a capetelor la disc, poriuni de suport magnetic
deteriorat, erori de citire tranzitorii, etc.) rezolvnd far intervenia unitii centrale de
prelucrare aceste situaii.
La terminarea execuiei tuturor programelor de canal sau la apariia unor erori fatale
(iremediabile) se invoc intervenia unitii centrale de prelucrare.
n general, din motive de eficien, un canal controleaz transferul cu mai multe
echipamente periferice i dup modul n care se asigur cile de acces direct la memorie a
acestora se disting dou tipuri de canale de I/E:
*5de tip selector, care controleaz un singur periferic la un moment dat;
*6de tip multiplexor, care controleaz mai multe periferice simultan.
Formatul unui program de canal pentru canalul de I/E de tip selector n vederea cuplrii
a patru uniti de discuri flexibile poate fi de forma:
- octet 1 - cuvnt de comand canal;
- octet 2 - instruciuni pentru echipamentul de I/E (cod operaie);
- octet 3 - numrul de nregistrari de transferat;
- octet 4 - adres pist;
- octet 5 - adres sector (primul sector din bloc);
- octeii 6,7 - adresa zonei de memorie implicat n transfer;
- octet 8 - numr program de canal curent;
- octeii 9,10 - adresa urmtorului program de canal, dac este cazul.
CURS 8
7. Principiul de functionare al unui sistem de intreruperi
Dup modul n care se face activarea secvenei (a rutinei) de tratare a unei ntreruperi se disting
urmtoarele tipuri de sisteme de ntreruperi:
*0nevectorizat;
*1vectorizat.
Sistemele de ntreruperi nevectorizate sunt acelea n care toate cererile de ntrerupere
foreaz transferarea controlului la o locaie fix denumit celul capcan, unde se afl punctul
de intrare (sau legtura cu rutina de tratare) n programul de tratare a tuturor ntreruperilor.
Sursa de ntrerupere i activarea rutinei specifice se determin prin citirea unui registru de stare,
denumit registrul cererilor de ntrerupere (sau a mai multor registre).
Dac exist mai multe cereri prioritatea de servire a acestora se stabilete prin program.
Timpul de rspuns ntre o cerere i lansarea n execuie a rutinei specifice de tratare poate fi
destul de mare la acest tip de sistem de ntrerupere.
Au avantajul unei complexiti reduse a resurselor hardware necesare, dar tratarea unor
cereri care apar n timpul tratrii altor cereri este dificil.
Sistemele de ntreruperi vectorizate sunt acelea n care legtura dintre cereri i rutinele
de tratare se realizeaz prin intermediul unui vector de adrese (denumite i celule capcan) cu o
component direct pentru fiecare nivel. Fiecare component conine adresa, sau informaii
privind calculul adresei rutinei de tratare astfel c printr-un salt indirect prin aceast locaie se
iniiaz execuia rutinei de tratare.
Sistemul de ntreruperi furnizeaz spre unitatea central de prelucrare codul nivelului
care trebuie tratat n acel moment, cod ce va fi utilizat pentru selecia componentei asociate din
vectorul de adrese al rutinelor de tratare.
Prioritatea ntre niveluri este stabilit de ctre sistemul de ntreruperi la nivel fizic,
timpul de rspuns al sistemului este mai mic dect n cazul precedent.
n practic se utilizeaz frecvent o soluie ce combin avantajele i dezavantajele celor
dou tipuri de sisteme de ntreruperi i anume sisteme vectorizate pe niveluri i nevectorizate pe
subniveluri.
15. Caracteristicile generale ale sistemului de intreruperi
La elaborarea unui sistem de ntreruperi trebuie avute n vedere mai multe aspecte cum ar fi:
*0pentru a facilita tratarea lor, cererile de ntrerupere trebuie partiionate n clase,
dup sursa de generare, denumite n general niveluri de ntreruperi;
*1n funcie de natura lor (de provenien) exist cereri care trebuie tratate imediat,
chiar dac sunt n curs de tratare alte cereri, ceea ce impune ordonarea dup o
anumit schem de prioriti a nivelurilor de ntrerupere;
*2pe un nivel se pot conecta mai multe cereri, subniveluri de acceai prioritate. n
acest caz trebuie s existe posibilitatea identificrii fiecrui nivel i subnivel;
*3deoarece prin mecanismul ntreruperilor este posibil execuia concurent a mai
multor programe, se impune necesitatea protejrii fa de ntreruperi a unor
secvene de cod main indivizibile, denumite seciuni critice. Aceasta se poate
realiza prin dezactivarea global sau individual (mascare) a ntreruperilor pe
diferite durate de timp;
*4sistemul de ntreruperi trebuie prevzut cu faciliti de salvare i restaurare a
contextului programului ntrerupt, ntr-o manier ct mai eficient;
*5trebuie prevzut posibilitatea unui dialog cu subansamblele (echipamentele)
care au generat cereri de ntrerupere privind tratarea cererii;
*6timpul de rspuns al sistemului de ntreruperi (SI), definit ca intervalul dintre
lansarea unei cereri de ntrerupere spre sistemul de ntreruperi i momentul
execuiei primei instruciuni din secvena de prelucrare efectiv a cererii, trebuie s
fie ct mai mic.
Dup modul n care se face activarea secvenei (a rutinei) de tratare a unei ntreruperi se
disting urmtoarele tipuri de sisteme de ntreruperi:
*7nevectorizat;
vectorizat.
21. Scrierea unui caracter in transferul programat cu intreruperi

TACT
operational
cdes
rl
defal
hl

D Q



CLK
Modul de lucru al interfeei, pe baza cruia se va proiecta hardware-ul necesar, se poate rezuma la
urmtoarele caracteristici:
- interfaa ateapt comenzi, date de la unitatea central de prelucrare sau citirea strii
de ctre unitatea central de prelucrare ;
- dac nu este activ nici o operaie cu unitatea central de prelucrare , se analizeaz
dac n memoria tampon exist caractere i dac da, se tipresc i se actualizeaz
adresa de citire din memoria tampon;
- pentru operaia de citire stare pune pe magistrala MAG cuvntul de stare;
- pentru operaia de transfer comenzi, preia comenzile trimise de unitatea central de
prelucrare n bistabilii de comand;
- pentru operaia de transfer date, nscrie data n memoria tampon, actualizeaz adresa
de scriere n memoria tampon i verific dac nu s-a umplut memoria tampon.
13. Succesiunea operatiilor pentru scrierea unui caracter
Caracterul se presupune n registrul RB.
;Rutina de scriere caracter la imprimant RTIP
;Intrri :codul ASCII al caracterului de tiprit n registrul RB
;Ieiri :se tiprete caracterul pe foaia de imprimant
;Funcie :tiprete caracter n modul de lucru transfer programat (bucla de ateptare)
;Afecteaz :registrul RA i indicatorii de condiie
RTIP:
RCSI EQU 0FBH
RDATI EQU 0FAH
AST: IN RCSI ;citete starea
TEST RA,8000H ;verific dac este operaional
JNZ ERR ;salt la tratarea erorii
TEST RA, 100H ;dac memoria tampon a interfeei
JNZ AST ;nu poate primi caracter atunci asteapt
MOV RA, RB ;se transfer caracterul n RA
OUT RDATEI ;se transmite n memoria tampon
RET
ERR: ; rutina de analiza a erorii
CURS 7
5. Principiul de transfer date prin DMA
Transferul datelor este efectuat far intervenia unitii centrale de prelucrare. Pentru aceasta,
modulul de acces direct la memorie conine toate resursele necesare pentru efectuarea autonom
a transferului (registru de adresare a memoriei, contor de cuvinte transferate, mecanismul de
acces la memorie, ntreruperi, etc. )
Soluia de rezolvare a concurenei la memorie dintre unitatea central de prelucrare i
modulul de acces direct la memorie conduce la dou moduri de transfer prin DMA i anume :
*0transfer prin furt de ciclu;
*1transfer n mod rafal.
n cazul transferului prin furt de ciclu concurena la memorie se rezolv la nivel de ciclu
elementar de acces la memorie. Pentru fiecare cuvnt transferat modulul de acces direct la
memorie i disput cu unitatea central de prelucrare accesul la memorie. n cazul unor cereri
simultane de acces la memorie, modulul de acces direct la memorie are prioritate i n felul
acesta "fur" de la unitatea central de prelucrare un ciclu de acces.
Cu excepia operaiei de acces efectiv la memorie, activitatea modulului de acces direct
la memorie i a unitii centrale de prelucrare se desfoar n paralel, mrind astfel
productivitatea sistemului.
n cazul transferului cu echipamentele periferice critice, care necesit servirea imediat a
unei cereri de acces la memorie, pentru o funcionare corect se utilizeaz transferul n mod
rafal.
Acest mod de transfer const n faptul c dup iniierea unei operaii de transfer,
activitatea unitii centrale de prelucrare este suspendat pn la terminarea ntregului tranfer de
date. Productivitatea sistemului n acest caz este mai mic, n special n cazul transferului de
blocuri cu lungimi mari. O astfel de soluie este utilizat n cazurile n care transferul nu ar
putea avea loc sub controlul unitii centrale de prelucrare i nici prin modulul de acces direct la
memorie dac accesul la memorie s-ar disputa la fiecare cuvnt.
Iniierea explicit a tuturor parametrilor transferului i intervenia unitii centrale de
prelucrare la apariia unor evenimente aprute n timpul sau la terminarea transferului menin un
grad destul de mare de interaciune ntre unitatea central de prelucrare i modulul de acces
direct la memorie.
23. Resursele principale ale unui modul DMA
Modulului de acces direct la memorie i se asociaz 8 registre (porturi) de I/E conform cu tabelul
Tab. 7.1, prezentat n cele ce urmeaz. Adresa de baz a grupului de 8 adrese asociate
modulului de acces direct la memorie poate fi selectat oriunde n spaiul de 256 de adrese.
Tabelul 7.1
ADRESA DENUMIRE FUNCIE
Baza +0 CSEP
0
Registrul de comenzi/stri pentru EP 0
Baza +1 CSEP
1
Registrul de comenzi/stri pentru EP 1
Baza +2 CSEP
2
Registrul de comenzi/stri pentru EP 2
Baza +3 CSEP
3
Registrul de comenzi/stri pentru EP 3
Baza +4 CSDMA Registrul de comenzi/stri pentru modulul de
acces direct la memorie
Baza +5 AMDMA Registrul adresare memorie pentru modulul
de acces direct la memorie
Baza +6 RCDMA Registrul contor (lungime bloc) pentru
modulul de acces direct la memorie
Baza +7 ITDMA Registrul comenzi pentru iniializarea
modulului de acces direct la memorie
- Registrele CSEP
0:3
- sunt scrise/citite de unitatea central de prelucrare i unitatea de
comand a modulului de acces direct la memorie i au un format nespecificat la proiectarea
modulului de acces direct la memorie. Aceste registre se asociaz echipamentelor periferice
interfaate prin modulul de acces direct la memorie, structura lor fiind determinat n funcie
de caracteristicile echipamentului periferic. Modulul de acces direct la memorie face doar
decodificarea adreselor acestor registre i genereaz semnalele corespunztoare de
citire/scriere a coninutului acestora, ele fiind localizate n interfaa cu echipamentul periferic.
Comenzile transmise de ctre unitatea central de prelucrare spre aceste registre sunt preluate
de echipamentul periferic de pe magistrala MAG[16] . Strile actualizate de echipamentul
periferic sunt citite de unitatea central de prelucrare prin activarea acestora pe MAG[16], iar
datele de ieire din echipamentul periferic sunt scrise n memorie direct prin intermediul
magistralei MAG[16]. Astfel, 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 efectiv la memorie a unitii centrale de prelucrare . Concurena la memorie este
rezolvat prin funciile de control asociate modulului de memorie, UCM, ceea ce implic
modificarea corespunztoare a secvenelor de citire, interpretare i execuie a instruciunilor
calculatorului didactic.
- Registrul AMDMA - este scris/citit de unitatea central de prelucrare i conine adresa de
memorie la care se face acces n ciclul curent. Ieirile acestui registru, multiplexate cu ieirile
registrului AM, formeaz adresa locaiei de memorie implicat ntr-un transfer cu acces direct
la memorie. AMDMA este incrementat de ctre unitatea de comand a modulului de acces
direct la memorie dup fiecare operaie de acces la memorie efectuat de modulul de acces
direct la memorie.
- Registrul contor al modulului de acces direct la memorie (RCDMA) - este scris/citit de
unitatea central de prelucrare i conine numrul de cuvinte ce mai trebuie transferate n
cadrul blocului curent. Dup fiecare cuvnt transferat, RCDMA este decrementat de unitatea
de comand a modulului de acces direct la memorie, iar n momentul n care coninutul su
devine egal cu zero se consider terminarea transferului ntregului bloc. Terminarea
transferului va fi semnalat unitii centrale de prelucrare prin modificarea corespunztoare a
strii sau prin generarea unei ntreruperi.
- Registrul CSDMA - este scris/citit de unitatea central de prelucrare i constituie registrul de
comenzi i stri pentru modulul de acces direct la memorie.
24. Caracteristicile principale ale interfetei seriale
*0Transmisia/recepia cuvintelor prin intermediul interfeei seriale se face utiliznd
modalitatea de transfer programat;
*1Rata de transfer este funcie de semnalul de tact aplicat interfeei. Frecvena
semnalului de tact va fi de 16 ori mai mare dect frecvena de transfer, pentru a
asigura o bun funcionare a automatului de recepie;
*2Interfaa lucreaz n mod "full duplex" (poate primi i transmite cuvinte
simultan);
*3Genereaz semnalele de dialog conform standardului de transmisie serial
CCITT V.24;
*4Transfer cuvinte de lungime egal cu 5, 6, 7, 8 bii;
*5Analizeaz/genereaz unul sau doi bii de stop;
*6Analizeaz/genereaz paritate par sau impar;
*7Interfaa detecteaz erorile de paritate, depire de ritm i bii de stop incoreci;
CURS 9
8. Codificarea microinstructiunilor
modaliti de codificare a acestora i anume:
*0codificare vertical sau maximal ;
*1codificare orizontal sau cu control direct ;
*2codificare minimal ;
*3codificare cu control rezidual ;
*4codificare cu control prin adrese ;
*5codificare mixt.
Codificare vertical
n cadrul codificrii verticale, fiecare microinstruciune operaional specific o singur
microoperaie. Setul de microoperaii (MO) necesar pentru controlul primitivelor funcionale se
codific n [ log
2
| (MO) ] bii, care constituie lungimea cuvntului din MC.
Pentru identificarea microoperaiei specificate de I se utilizeaz un decodificator, Fig.
9.10
Aceast codificare reprezint un caz extrem, deoarece elimin orice posibilitate de
desfurare paralel a operaiilor elementare.
Din punctul de vedere al minimizrii cuvntului de control, codificarea vertical implic
numrul cel mai mic de bii. Dimensiunea mare a decodificatorului face ca realizarea fizic a
acestuia s aib loc pe mai multe niveluri, ceea ce conduce la introducerea de ntrzieri.
Un dezavantaj major al codificrii maximale l reprezint eliminarea controlului paralel
asupra resurselor precum i inflexibilitatea dezvoltrii sau completrii sistemului n ceea ce
privete introducerea de noi microoperaii. Este aplicabil numai n sisteme dedicate care au o
structur specific.
[log
2
|(0)|]-1
I
1 0
O
0
O
1
O
|(0)| -1
I DEC
Figura 9.10
Codificarea vertical a microoperaiilor
Codificarea orizontal
n cadrul acestei codificri, fiecare microoperaie din setul (MO) este pus n
coresponden cu un bit din cadrul cuvntului de control. Controlul microoperaiilor se face n
mod direct, Fig. 9.11.
|(0)|-1
I
1 0
O
0
O
1
O
|(0)| -1
Figura 9.11 Codificarea orizontal
Codificarea orizontal realizeaz controlul tuturor microoperaiilor paralele, posibile, ce se
pot desfura n sistem.
Dei ofer o flexibilitate mare i asigur paralelismul maxim, utilizarea acestei
codificri este un caz extrem din cauza folosirii ineficiente a memoriei de control.
Codificarea minimal
Combin flexibilitatea i paralelismul potenial oferite de codificarea orizontal cu
eficiena codificrii verticale.
Ideea de baz este de a grupa n clase de compatibilitate setul de microoperaii care se
exclud reciproc (O dintr-o clas de compatibilitate nu se vor efectua niciodat simultan).
Microinstruciunea este mprit n cmpuri. Un cmp corespunde unei clase de
compatibilitate. La nivel de cmpuri se realizeaz o codificare orizontal iar n cadrul cmpurilor
se realizeaz o codificare vertical, Fig 9.12 a).
C
|C|-1
I
C
0
C
1
|C
0
|
O O O
I DEC
|C|-1
DEC
1
DEC
0
[log2|C
0
|]
Figura 9.12 a)Codificare minimal
Pentru un cmp C
j
care codific |C
j
| microoperaii sunt necesari |log
2
(|C
j
|+1)| bii,
deoarece trebuie s se prevad i posibilitatea de a nu specifica nici o microoperaie din cadrul
cmpului.
O variant a acestei codificri o reprezint codificarea pe dou niveluri sau indirect.
n codificarea pe dou niveluri, validarea unor cmpuri depinde de valoarea altui cmp
de control din microinstruciune, Fig 9.12 b).
C
|C|-1
I
C
0
C
i
C
1
O O O
DEC
DEC
DEC
DEC
Fig. 9.12 b) Codificare minimal pe dou niveluri
Codificarea cu control rezidual
Aceast metod de codificare folosete registre de control rezidual pentru controlul
primitivelor funcionale. Cuvntul de control nu controleaz resursele direct ci, prin intermediul
registrelor de control rezidual ncrcate sub aciunea microinstruciunilor, Fig. 9.13
MC
|C
0
|
O O O
RCRZ
n
RCRZ
1
RCRZ
0
Figura 9.13 Codificare cu control rezidual
Microinstruciunile pot s nlocuiasc sau s modifice valoarea unuia sau mai multor
registre de control. Aceast tehnic, a controlului rezidual, asigur o economie de memorie de
control atunci cnd unele primitive funcionale realizeaz aceeai operaie n mod repetat sau cnd
un set de microoperaii este activ o perioad mare de timp, iar alte seturi de microoperaii se
modific.
Registrele de control rezidual RCRZ
j
, care specific microoperaiile de control al
resurselor hardware, pot fi manevrate cu ajutorul unor microinstruciuni de dimensiuni reduse.
Codificarea cu control prin adrese
O modalitate de implementare a microinstruciunilor operaionale este aceea n care nu
se specific direct microoperaiile care trebuie s se desfoare, ci se specific o adres n cadrul
unei memorii, unde sunt memorate toate microinstruciunile distincte posibile ce controleaz
sistemul, Fig. 9.14.
Adrresa
Adr. I
O
MI
distincte
Figura 9.14 Codificare cu control prin adrese
Aceast modalitate reprezint o form simplificat a conceptului de nanoprogramare.
Numrul de microinstruciuni distincte nu depinde de numrul de resurse controlate ci
de numrul de O disticte, de mrimea P i de numrul de variabile de stare testate .
Memoria care pstreaz microinstruciunile distincte va avea lungimea cuvntului
suficient de mare pentru a controla toate microoperaiile care se pot efectua simultan. Trebuie
notat c fiecare I este memorat o singur dat.
O astfel de implementare face ca microprogramul s fie format dintr-o secven de
adrese care apeleaz I pstrate n memoria de I.
Un dezavantaj al acestei metode const n faptul c necesit dou accese la memorie n
cadrul unui ciclu de microinstruciune, dar n schimb se realizeaz o economie important de
memorie.
Codificare mixt
O variant utilizat mult n practic este aceea n care microinstruciunea este mprit
n cmpuri. Unele cmpuri controleaz direct microoperaiile (sub form codificat sau direct)
iar altele specific adrese de memorie ce conin un subset de microinstruciuni distincte, Fig.
9.15.
Adr.
DEC
C
n
C
1
C
0
I
O
O
MI
O
Figura 9.15 Codificare mixt
25. Rolul microsecventiatorul ui intr-o structura microprogramata
S - microsecveniatorul reprezint unitatea de comand convenional care asigur citirea,
interpretarea i validarea aciunilor microinstruciunilor. Pe baza tipului
microinstruciunii curente, a strii primitivelor funcionale ale calculatorului didactic
precum i a codului operaie al instruciunii main curente (ce interpreteaz i se
execut), S formeaz adresa I urmtoare i valideaz (activeaz spre resursele unitii
de execuie) microoperaiile din I curent.
S - microsecveniatorul, unitatea de comand convenional, elementar, care asigur
citirea interpretarea i execuia microinstrucinilor din memoria de control precum i nlnuirea
acestora pe baza registrului de instruciuni main RI i a strii primitivelor funcionale.
Avnd n vedere structura microinstruciunilor se poate descrie funcionarea
microsecveniatorului (S) care asigur citirea interpretarea i execuia microinstruciunilor
(activarea microoperaiilor spre unitatea de execuie a CD ).
Descrierea microprogramului care implementeaz unitatea de comand
microprogramat a calculatorului didactic se poate face utiliznd un limbaj de microasamblare.
Pentru aprofundarea relaiei ntre cuvntul de control i semnalele de comand ce controleaz
primitivele funcionale ale unitii de execuie se exemplific descrierea unei seciuni de
microprogram specificnd direct biii din microinstruciune.
Trebuie remarcat faptul c stabilindu-se microinstruciuni de tip operaional i de tip
condiional, paii AHPL care specific aciune i salt vor fi implementai n dou
microinstruciuni distincte iar paii AHPL care specific salturi multiple se implementeaz prin
mai multe microinstruciuni se ramificaie.
Microsecveniatorul (S) testeaz starea primitivelor funcionale (caracterizat prin
valoarea indicatorilor de condiii) i biii din registrul de instruciuni (cod operaie, mod de
adresare).

You might also like