Sunteți pe pagina 1din 6

Sinteza automatului operațional

Informația inițială este descrierea algoritmului care trebuie realizat în automatul


operațional

Etapele sintezei:
1. Alegerea componentelor automatului operațional (registre, sumator, numărător etc);
2. Elaborarea schemei-bloc al algoritmului de funcționare al automatului operațional la
nivelul descrierii microoperațiilor;
3. Elaborarea schemei-bloc marcate al algoritmului de funcționare al automatului operațional
la nivelul notării microoperațiilor și condițiilor logice;
4. Elaborarea listei microoperațiilor și a condițiilor logice;
5. Elaborarea schemei de structură al automatului operațional.

Exemplu.

Sinteza automatului operațional pentru realizarea operației de înmulțire a numerelor binare


fără semn în virgulă fixă prin metoda: începând cu bitul cel mai puțin semniifcativ al înmulțitorului
cu deplasarea deînmulțitului la stânga.
X=13 X=1101
Y=11 Y=1011
Efectuăm operația de înmulțire

Rezultatul înmulțirii Z=10001111


Descrierea operației
Operația de înmulțire începe cu resetarea registrelor utilizate și încărcarea datelor în aceste registre.
Înmulțirea se va îndeplini ciclic. Fiecare iterație va începe cu analiza bitului cel mai puțin
semniifcativ al înmulțitorului. Dacă acest bit este egal cu 1 se adună deînmulțitul la produsul
intermediar și apoi are loc deplasarea deînmulțitului la stânga iar a înmulțitorului la dreapta. Dacă
bitul cel mai puțin semnificativ este egal cu 0 nu se efectuiază adunarea și se trece la deplasări.
Numărul iterațiilor se reglementează de un numărător care se decrementează după fiecare iterație.

Să trecem la etapele sintezei.


1. Alegerea componentelor automatului operațional (registre, sumator, numărător etc);

RgX 4 biți;
RgY 8 biți (deoarece deînmulțitul se deplasează la stănga);
RgZ 8 biți pentru acumularea produsului;
SM 8 biți pentru efectuarea operației de adunare;
CT 3 biți (pentru încărcarea numărului de iterații 4=100b).
2. Elaborarea schemei-bloc al algoritmului de funcționare al automatului operațional la
nivelul descrierii microoperațiilor (Figura 2);
Start
Pentru început se verifică condiția de demaraj al
procesului. Dacă această condiție este falsă
Nu automatul rămâne în starea de așteptare.Dacă
Demaraj
condiția este adevărată, automatul începe operația de
Da înmulțire
(RgX) <0>
(RgY) <0> Resetarea registrelor și numărătorului
(RgZ) <0>
(CT) <0>

Încărcarea datelor în regiștrii respectivi. În


(RgX)<X> numărător se încarcă numărul de iterații
(RgY)<Y>
(CT)<4>

Analiza bitului cel mai puțin semnificativ al


Nu înmulțitorului
(RgY)[0]=1

Da
Adunarea deînmulțitului la produsul intermediar
(RgZ)(RgZ)+(RgX)
acumulat în RgZ

(RgX)(Rgx)*2 Deplasarea RgX la stânga, RgY la dreapta și


(RgY)(RgY)*2-1 decrementarea numărătorului
(CT)(CT)-1

Nu
(CT)=0
Se verifică dacă conținutul numărătorului este egal
cu zero
Da

MD(RgZ)
Transmiterea rezultatului la magistrala de date

Stop

Figura 2. Schema-bloc a algoritmului

3. Elaborarea schemei-bloc marcate al algoritmului de funcționare al automatului operațional


la nivelul notării microoperațiilor și condițiilor logice (Figura 3).
Desemnarea și marcarea stărilor:
Prin s0 se marchează vârfurile Start și Stop. Celelalte vârfuri se marchează s1, s2 …
Marcarea microoperațiilor: y1, y2…
Marcarea condițiilor logice: x1, x2…
Pentru condițiile logice se substituie Da și Nu cu 1 și 0 în felul următor: Dacă condiția este
adevărată se scrie 1, dacă este falsă se va scrie 0.

Start s0

0
x1

1
y1,y2,y3,y4 s1

y5,y6,y7 s2

0
x2

y8,y9,y10 s3

y11,y12,y13 s4

1
x3

y14 s5

Stop s0

Figura 3. Schema-bloc marcată a algoritmului

4. Elaborarea listei microoperațiilor și a condițiilor logice;


y1 - microoperația de resetare a conținutului RgX;
y2 - microoperația de resetare a conținutului RgY;
y3 - microoperația de resetare a conținutului RgZ;
y4 - microoperația de resetare a conținutului numărătorului CT;
y5 – microoperația de încărcare a datelor în RgX;
y6 – microoperația de încărcare a datelor în RgY;
y7 – microoperația de încărcare a datelor în număărtorul CT;
y8 – microoperația de transfer a datelor din RgX în sumatorul SM;
y9 – microoperația de transfer a datelor din RgZ în sumatorul SM;
y10 – microoperația de încărcare a datelor din sumatorul SM în RgZ;
y11 – microoperația de deplasare a conținutului RgX la stânga;
y12 – microoperația de deplasare a conținutului RgY la dreapta;
y13 – microoperația de decrementare a numărătorului CT;
y14 – microoperația de transfer a conținutului RgZ la magistrala de date MD.

Lista condițiilor logice


x1 –condiția de verificare a demarajului;
x2 – condiția de verificare la 1 a bitului cel mai puțin semnificativ al RgY;
x3 - condiția de comparare cu zero a conținutului numărătorului

Microoperațiile și condițiile logice se notează prin săgeți în schema de structură a


automatului operațional (Fig. 4).
RgX
0

Y8
x1
7
SM
Y5
LD 0
Y11
SH
0
Y1
Res 7
7

RgZ
0
0
0
7
Y9
7
MD
7

Y10
LD

Y3
Res 7

RgY Y14
x2
0
0

7
Y6
LD
Y12
SH
Y2
Res 7

CT
0
0

2
Y7
x3
LD
Y13
-1
Y4 Res

Figura 4. Schema de structură a automatului operațional

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