Documente Academic
Documente Profesional
Documente Cultură
MEMORIU EXPLICATIV
la proiectul de an la disciplina:
Analiza și sinteza dispozitivelor numerice
Admis la susținere “ ”
Susținerea “ ”
Nota “ ”
2020
Cuprins
Introducere 3
Capitolul I. Sinteza registrului numerator direct modulo 29, cu deplasare 4
la dreapta
1.1 Date generale despre regiștre și numărătoare 4
1.2 Descrierea registrilor numărător 4
1.3 Sinteza elementului multifuncțional 6
1.3.1 Tabelul de tranzitie 6
1.3.2 Minimizarea funcțiilor 7
1.3.3 Schema registrului numerator 10
Capitolul II Sinteza automatului de comandă 11
2.1 Date generale despre automate 11
2.2 Descrierea algoritmului pentru imparțirea in virgulă mobile 11
2.2.1 Exemplu de impărțire in virgulă mobilă 13
2.3 Etapele de sinteza a algoritmului 16
2.3.1 Schema bloc a algoritmului 16
2.3.2 Schema bloc marcată 16
2.3.3 Graful de tranziție 16
2.3.4 Codificarea stărilor 16
2.3.5 Tabela de tranziție 17
2.3.6 Expresiile logice și schema automatului de comandă 18
Capitolul III Sinteza automatului operational 18
3.1 Date generale 18
3.2 Alegerea componentelor 18
3.3 Schema de structură 19
Concluziile 20
Bibliografie 20
Anexa 1 21
Anexa 2 22
Anexa 3 23
Anexa 4 24
Anexa 5 25
Anexa 6 26
2
Introducere
Dispozitivele numerice sunt o prezență cotidiană atît în structura calculatoarelor numerice, cît
și în componența diferitor altor sisteme orientate spre procesarea rapidă a datelor.[1] Pentru a
implementa astfel de dispozitive, specialistul trebuie să dispune de o mulțime de cunoștințe în
domeniul algebrei booleane, funcționării dispozitivelor numerice și mecanismele care sunt utilizate
în obținerea dispozitivelor numerice.
În ultimul capitol, este descrisă implementarea automatului operațional în baza schemei bloc a
algoritmului și schemei bloc marcate. Aici vom vorbi despre componentele de care avem nevoie, și
vom reprezenta doar schematic cum ar arăta un automat în realitate în baza unui exemplu.
Capitolul I
Sinteza registrului numerator direct modulo 29, cu deplasare la dreapta
CT 1
1
1
01001 01010 0* *0 0* 10 01
29 1
1
1
1
1
1
1
1
1
1
1
1
1 11000 11001 *0 *0 0* 0* 10
1 11001 11010 *0 *0 0* 10 01
1 11010 11011 *0 *0 0* *0 10
1 11011 11100 *0 *0 10 01 01
1 11100 00000 01 01 01 0* 0*
1 11101 00000 01 01 01 0* 01
1 11110 00000 01 01 01 01 0*
1 11111 00000 01 01 01 01 01
Qt Qt+1 R S
0 0 0 *
0 1 1 0
Tabelul de tranziţie al bistabilului RS
1 0 0 1
1 1 * 0
00 * * *
01 * * *
11 1 * * *
10 * * *
R4=XQ3Q2+𝑋̅
Q4Q3 Q2
000 001 011 010 110 111 101 100
Q1Q0
00 * * * * 1
01 * * * * 1
11 * * * * 1
10 * * * * 1
Q4Q3 Q2
000 001 011 010 110 111 101 100
Q1Q0
00
01
11
10
00
01
11
10
Q4Q3 Q2
000 001 011 010 110 111 101 100
Q1Q0
00
01
11
10
Q4Q3 Q2 Q1Q0 000 001 011 010 110 111 101 100
00
01
11
10
Q4Q3 Q2
000 001 011 010 110 111 101 100
Q1Q0
00
01 1 1 1 1 1 1 1
11
10 * * * * * * *
Q4Q3 Q2
000 001 011 010 110 111 101 100
Q1Q0
00
01
11
10
Q4Q3 Q2
000 001 011 010 110 111 101 100
Q1Q0
00
01
11
10
00 *
01 1 1 1 1 1 1 1 1
11 1 1 1 1 1 1 1 1
10 *
posibilitatea de a reprezenta cât mai multe valori intre valoarea minimă și valoarea maximă
o precizie cât mai bună a valorilor (numărul maxim de cifre după virgulă)
Pentru a reprezenta valorile fracționare vom folosi Reprezentarea în virgulă mobilă (Floating
Point Representation). În această reprezentare, numerele au următoarea structură:
După cum putem observa mai sus, valorile trebuie transformate astfel încât partea întreagă să fie
1. Această formă poartă numele de formă normală, iar operația de transformare în această formă
poartă numele de normalizare.
În forma binară, valorile se reprezintă astfel:
;
Se aliniază deîmpărţitul;
Se scad exponenţii;
Se împart mantisele.
Sg 128 64 32 16 8 4 2 1
237.84 0. 1 1 1 0 1 1 0 1
-168.46 1. 1 0 1 0 1 0 0 0
ex 1 1 0 1 0 1
ey 0 1 1 1 0 1
-168.46= 1. 1 0 1 0 1 0 0 0 , 0 1 1 1 0 1
my 1. 1 0 1 0 1 0 0 0 0 1 1 1 0 1 *26
ex 0 0 0 0 0 1 1 0
ey 0 0 0 0 0 1 1 0
|mx| 0. 1 1 1 0 1 1 0 1 1 1 0 1 0 1
|my| 0. 0 1 0 1 0 1 1 1 1 0 0 0 1 1
-|my| 1. 1 0 1 0 1 0 0 0 0 1 1 1 0 1
Algoritmul nr. 1 de împărțire
1 1 1 0 1 1 0 1 1 1 0 1 0 1 |mx|
1 0 1 0 1 0 0 0 0 1 1 1 0 1 -|my|
0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 R>0
0 0 1 0 1 1 0 0 1 0 0 1 0 0 DEPLASAREA
-|my|
00 R>0
DEPLASAREA
-|my|
000 R>0
DEPLASAREA
-|my|
0001 R<0
|my|
RESTABILIREA
DEPLASAREA
-|my|
00011 R<0
|my|
1 1 0 0 1 0 0 1 1 1 1 1 0 0 RESTABILIREA
1 0 0 1 0 0 1 1 1 1 1 0 0 0 DEPLASAREA
1 0 1 0 1 0 0 0 0 1 1 1 0 1 -|my|
000111 0 0 1 1 1 1 0 0 0 1 0 1 0 1 R<0
0 1 0 1 0 1 1 1 1 0 0 0 1 1 |my|
1 0 0 1 0 0 1 1 1 1 1 0 0 0 RESTABILIREA
0 0 1 0 0 1 1 1 1 1 0 0 0 0 DEPLASAREA
-|my|
0001110 R>0
DEPLASAREA
-|my|
00011101 R<0
|my|
RESTABILIREA
DEPLASAREA
-|my|
000111010 R>0
DEPLASAREA
-|my|
0001110101 R<0
0 1 0 1 0 1 1 1 1 0 0 0 1 1 |my|
1 1 0 1 0 0 1 0 1 0 0 0 1 0 RESTABILIREA
1 0 1 0 0 1 0 1 0 0 0 1 0 0 DEPLASAREA
1 0 1 0 1 0 0 0 0 1 1 1 0 1 -|my|
00011101011 0 1 0 0 1 1 0 1 1 0 0 0 0 1 R<0
0 1 0 1 0 1 1 1 1 0 0 0 1 1 |my|
1 0 1 0 0 1 0 1 0 0 0 1 0 0 RESTABILIREA
0 1 0 0 1 0 1 0 0 0 1 0 0 0 DEPLASAREA
-|my|
000111010110 R>0
DEPLASAREA
-|my|
0001110101100 R>0
DEPLASAREA
-|my|
00011101011000 R>0
Rezultat : -|mz|=1.00011101011000
mz= 1.11100010101000= 14504*26
R0=S2*x2+S2*nx2x3+S6+S10*x5x6+S10*x5nx6x7+S13;
Orice unitate a unui calculator numeric are două componente distincte,care la mod
generalizat se împart în automatul de comandă şi automatul operaţional (în continuare A.O.).
A.O. este acea componentă a unităţii de calcul care este destinată îndeplinirii tuturor operaţiilor
logice de transfer,de memorare ş.a. din calculator,iar auotmatul de comandă (în continuare A.C.)
este acea parte componentă a unităţii de calcul care stabileşte pentru A.O. în ce ordine şi-n care
operaţii trebuie îndeplinite pentru a atinge scopul scondat.
În componenţa A.O. intră: elementele functionale care asigură memoria datelor,adică
registrele,numărătoarele; elementele funcţionale ce asigură procesarea datelor, adică
sumatorile,circuite cu operaţii logice.
C o n ți nu t u l a f o s t șt e r s in te n ți o n a t
În componenţa unităţilor d e c o m a n d ă i n t r ă d o u ă c o m p o n e nte de bază:
1) un circuit logic combinaţional care asigură examinarea informaţiei în baza căreia se
emit aşa numitele semnale de comandă pentru a îndeplini operaţiile necesare;
2) un grup de bistabile care determină starea automatului de comandă şi în baza acestei
stări se stabilleţâşte în fiecare moment de timp care semnale de comandă trebuie transmise
automatului operaţional şi care semnale de comandă sunt necesare pentru a asigura tranziţia
A.C. dintr-o stare în alta.
Pentru îndeplinirea fiecărei operaţii este necesară elaborarea algoritmului care stabileşte
succesiunea de microoperaţii care trebuie îndeplinite de A.O. Această succesiune de
microoperaţii formează microprogramul de realizare a microoperaţiei respective,
microprogramul se împarte în microinstrucţiuni.O microinsrucţiune include cîteva microoperaţii
care se îndeplinesc în una din stările A.C. (într-un tact de calcul). Pentru îndeplinirea fiecărei
microoperaţii A.C. trebuie să genereze un semnal de comandă, iar A.O. în baza acestui semnal de
comandă trebuie să îndeplinească microoperaţia respectivă.
Pentru a efectua sinteza A.O. la început se stabileşte cîte variabile iniţiale se vor
prelucra în acest automat şi pentru fiecare dintre ele se rezervează câte un registru în care ele vor
că pentru a îndeplini operaţia respectivă este necesar un proces ciclic atunci în
fi păstrate. Da
componenţa A.O. trebuie inclus minimum un numărător cu ajutorul căreia se va stabili numărul
de iteraţii necesare. Dacă pentru a realiza operaţia sunt necesare operaţii aritmetice, în
componenţa A.O. trebuie inclus un sumator. Dacă pentru a realiza operaţii sunt necesare
microoperaţii de decodificare sau codificare a unor cuvinte în componenţa A.O. trebuie inclus un
codificator au
s un decodificator. În cazul cînd pentru a realiza algoritmi sunt necesare operaţii de
comparare atunci în componenţa A.O. se includ operatoare sau în unele cazuri se includ
operatoare,sau în unele cazuri se includ circuite de îndeplinire a operaţiilor logice.
În cazul cînd către una şi Conținutul
aceeaşi componentă
a fost șters aintenționat
A.O. datele se transmit din ma
i multe
în structura A.O. trebuie incluse multiplexoarele care realizează transmit
surse atunci erea datelor
cesară în fiecare tact de calculator. Î afară de registre în care se păstrează v
din sursa ne ariabilele
ranzii în componenţa A.O. mai trebuie inclus unul sau mai multe registre
iniţiale, ope pentru
telor intermediare. Toate cele enumerate mai sus formează etapa de stabil
păstrarea da ire a
lor A.O.
componente
oua etapă este stabilirea legăturilor între componentele A.O. Legăturile se
Ad stabilesc
este necesară îndeplinirea operaţiilor de adunare, de înmulţire şi puteri a c
astfel: dacă onţinutelor
e, atunci ieşirea acestor registre se comuteză la intrările sumatorului în aşa
unor registr mod ca ele
ecepţionate.
să poată fi r
rea sumatorului trebuie să fie conectată la intrările acelor componente a A.
Ieşi O. cu care
ie transmis rezultatul obţinut. În multe cazuri sumatorul şi un registru sunt
trebuie să f unul faţă
de altul şi sursă şi destinator deaceea sunt necesare aceste conexiuni.
Conexiunile necesare în A.O. se efectuează în paralel cu elaborarea algoritmului de
funcţionare a acestui automat.
Bibliografie
http://andrei.clubcisco.ro/cursuri/f/f-sym/3cn2/Laborator%201.pdf
https://biblioteca.regielive.ro/cursuri/calculatoare/automate-de-comanda-si-automate-operationale-
114860.html
http://www.eed.usv.ro/~andy/tutoriale_fpga/index6.htm
http://elf.cs.pub.ro/asm/wiki/laboratoare/laborator-12
Anexa 1