Sunteți pe pagina 1din 8

Capitol III

Tema: Sinteza elementelor funcţionale combinaţionale

I.1 Noţiuni de bază despre elementele funcţionale


I.2 Sinteza decodificatoarelor
I.3 Sinteza decodificatoarelor incomplete
I.4 Sinteza codificatoarelor

1.1 Toate instrucţiunile operaţiilor care se îndeplinesc în calculator se divizează in


fragmente mai mici numite microoperaţii care la rîndul lor nu pot fi divizate în alte
componente. Mijloacele tehnici cu ajutorul cărora se realizază microoperaţiile se
numesc elemente funcţionale. Cu alte cuvinte elementele funcţionale realizează
Microoperaţiile. În calitate de microoperaţie poate fi codificarea sau decodificarea
unui cod, incrementarea unui număr....
În dependenţă de microoperaţiile care le realizează elementele funcţionale se
împart în 2 mari categorii:
a) Elementele funcţionale combinaţionale
b) Elementele funcţionale secvenţiale
Sinteza elementelor funcţionale combinaţionale se efectuează în linii mari ca şi
sinteza oricărui altor circuite logice combinaţionale. Etapele de sinteză sunt
aceleaşi numai că la formarea tabelului de adevăr trebuie de ţinut cont de funcţia
care trebuie s-o îndeplinească elementul funcţional respectiv.
1.2 Decodificator – este elementul funcţional care stabileşte fiecare cod binar un
semnal distinct la ieşirea lui prin care se poate determina univoc (exact) care cod
binar este aplicat la intrarea decodificatorului. Un decodificator complet cu n
intrării va avea 2n ieşiri unde n este numărul biţilor cuvîntului de intrare a
codificatorului iar fiecărei din acestea combinaţii care se aplică la intrare la ieşire îi
va corespunde una din aceste ieşiri. Decodificarea are loc în felul următor. Dacă la
intrare se aplică una din oarecare 2n combinaţii atunci la ieşire vom avea semnalul
1 doar la ieşirea care corespunde acestei combinaţii. La ieşirea celorlalte 2 n-1 ieşiri
vom avea zero cu alte cuvinte pentru orice combinaţie de la intrare
decodificatorului la ieşirea vom avea o singură unitate iar la restul ieşirilor va fi
zero. Un asemenea cod se mai numeşte cod unitar.
Exemplu:
x3 x2 x1 y0 y1 y2 y3 y4 y5 y6 y7
0 0 0 1 0 0 0 0 0 0 0 y 0  x 3 x 2 x1
0 0 1 0 1 0 0 0 0 0 0 y1  x 3 x 2 x1
0 1 0 0 0 1 0 0 0 0 0 y 2  x 3 x 2 x1
0 1 1 0 0 0 1 0 0 0 0 y 3  x 3 x 2 x1
1 0 0 0 0 0 0 1 0 0 0 y 4  x 3 x 2 x1
1 0 1 0 0 0 0 0 1 0 0 y 5  x 3 x 2 x1
1 1 0 0 0 0 0 0 0 1 0 y 6  x 3 x 2 x1
1 1 1 0 0 0 0 0 0 0 1 y 7  x 3 x 2 x1
v
x3 x2 x1

y0

Reprezentarea grafica
y1

DC 0 x0
y2
1 x1
2 x2
x0 0
3 x3
y3 x1 1 x4
4
x2 2
5 x5
x6
y4
6
7 x7
y5

V - Intrarea de validare 4 elemente. (E)


y6
Întrarea de validare a decodificatorului se foloseşte sau
pentru validarea funcţiilor decodificatorului sau pentru
y7
extinderea funcţiilor pe care el le îndeplineşte.
O funcţie de extindere:

Un grup de decodificatoare în cazul de faţă 4 dec se utilizează pentru decodificarea


celui mai puţin semnificativi biţi al cod care trebuie decodificat. Numărul acestor
biţi depinde de numărul de intrări ai decodificatorului utilizat. Celelalte ranguri ale
codului care trebuie decodificate se utilizează cu ajutorul unui alt cod la selectarea
decodificatoarelor din primul grup.
x0 0 DC 0 x0
x1 1 x1
1
2 x2
3 x3
V

x0 0 DC 0 x4
x1 1 1 x5
2 x6
3 x7
x2 0 DC 0 V
x3 1 1
x0 0 DC 0 x8
2
x1 1 x9
3 1
V x10
2
3 x11
V

x0 0 DC 0 x12
Fig. 2 x1 1 1 x13
2 x14
3 x15
V

1.3 Decodificator incomplet – De multe ori in calculatoare nu se folosesc toate 2 n


combinaţii a cuvintelor de n biţi Şi-n acest caz nu este neapărată nevoie de a avea
un decodificator cu n intrării şi 2n eşiri. Decodificatoarele la care numărul de ieşiri
n este <2n şi mai >2n-1 se numesc decodificator incomplete. Sinteza unor astfel de
decodificatoare poate fi efectuată prin simpla excludere a com. log din componenta
calculatorului care ar fi fost destinate decodificărei combinaţiei inexistente
(nefolosite). Dar aceasta soluţie la prima vedere simplă nu se pare foloseşte la
sinteza acestor decodificatoare. De obicei se procedează în aşa fel ca combinaţiile
neutilizate să poată fi folosite la simplificarea schemei decodificatorului şi ca
rezultat la micşorarea cheltuielilor de aparataj. În acest caz toate combinaţiile
neutilizate în tabelul de adevăr folosit pentru sinteza decodificatoarelor se
folosescă combinaţii pentru care funcţiile respectiv nu sunt determinate iar aceste
funcţii se minimiziază ca funcţii parţial determinate.
Sinteza unui decodificator incomplet poate fi redusă la minimizarea a m funcţii
particular determinate de n variabile fiecare unde n este numărul intrărilor
decodificatorului iar m este numărul ieşirilor decodificatorului (m>2 n). Aceste
funcţii au următorul specific, ele sunt egale cu 1 doar pentru o singură combinaţie
şi anume şi anume, pentru acea combinaţie pe care ieşirea respectivă trebuie să o
decodifice şi nu sunt determinate pentru 2n-m combinaţii şi anume acele combinaţii
care nu sunt utilizate în decodificatorul respectiv. În aşa fel structura
decodificatorului incomplet va avea mai mici cheltuieli de aparataj decît în cazul
cînd sinteza lui se va efectua doar prin eliminarea elementelor logice care ar
decodifica combinaţiile neutilizate.
Exemplu:
x4=5, x3=3, x2=2, x1=1
Cifre Codul
zecimale 5 3 2 -1
X1 X2 X3 X4 y0 y1 y2 y3 y4 y5 y6 y7 y8 y9
0 0 0 0 0 1
1 0 0 1 1 1
2 0 0 1 0 1
3 0 1 0 0 1
4 0 1 1 1 1
5 1 0 0 0 1
6 1 0 1 1 1
7 1 1 0 1 1
8 1 1 0 0 1
9 1 1 1 1 1
y0  x4 x3 x2
y1  x4 x3 x1
x1x2 y 2  x2 x1
x3x4 00 01 11 10 y3  x4 x3 x2

00 y0 y3 y8 y5 y 4  x4 x3 x2
y5  x4 x3 x2
01 * * y7 * y6  x4 x3 x2
y7  x2 x1
11 y1 y4 y9 y6 y8  x4 x3 x1

10 y2 * * * y9  x4 x3 x2

1.4 Codificator este un element funcţional combinaţional care este destinat


transformării unui semnal unitar de intrare într-un cod binar. Codificatorul codifică
semnalele de intrare. Codificatoarele se folosesc în toate codificatoarele numerice,
la codificarea semnalului de la tasta codificatorului şi la codificarea altor semnale
interne. Sinteza oricărui codificator are specificul ei care constă în faptul că
variabilele de intrare reprezintă un cod unitar (o singură unitate) iar variabilele de
eşire sunt variabilele logice obişnuite, adică ele pot avea în orice poziţie val 0 sau
1. Acest specific tabel de adevăr a C practic exclude procedura de minimizare ca
etapă a sintezei iae valorile funcţiilor se stabilesc ca disfuncţie valorilor var. de
intrare unde ele sunt egale cu 1.

y0 y1 y2 y3 y4 y5 y6 y7 y8 y9 y4 y3 y2 y1
8 4 21 -3
0 1 0 0 1 1
1 1 0 1 0 0
2 1 0 1 0 1
3 1 0 1 1 0
4 1 0 1 1 1
5 1 1 0 0 0
6 1 1 0 0 1
7 1 1 0 1 0
8 1 1 0 1 1
9 1 1 1 0 0

y1  x0  x 2  x4  x6  x8  x0 x 2 x 4 x6 x8
y 2  x0  x3  x 4  x7  x8  x0 x3 x4 x7 x8
y 3  x1  x 2  x3  x 4  x9  x1 x 2 x3 x 4 x9
y 4  x5  x6  x7  x8  x9  x5 x6 x7 x8 x9

Tema: Sumatoarele binare


2.1. Sinteza sumatoarelor binare şi a semisumatoarelor
2.2. Sinteza circuitelor cu transfer anticipat în sumator paralel.

2.1 Sumatorul este un element funcţional care este destinat sumării aritmetice a 2
numere şi cu ajutorul căruia se îndeplinesc în calculator operaţii de +, -,*,/.
Sumatorul pur structural este format din mai multe ranguri. Num rangurilor
coincide cu num cifrelor operanzilor care se sumează. În fiecare rang al
sumatorului se sumează 3 cifre 2 din ele sunt cifrele operanzilor din poziţia
respectivă iar a 3 este cifra de transport din rangul vecin mai puţin semnificativ.
Sinteza unui sumator se reduce la sinteza fiecărui rang a sumatorului şi conexiunea
între ele prin intermediu liniilor de propagare a transportului a mai multor ranguri
de aceea cînd efectuăm sinteza formăm un tabelului de adevăr.
ai,bi- sunt cifrele primului şi al 2-lea operator din poziţia i.
ci- cifra de transport în rangul i din rangul vecin i-1
si- este suma obţinută în rangul i şi Ci+1
ci+1- estecifra de transport în rang vecin mai semnificativ i+1
La ieşirea fiecărui rang a sumatorului se obţin 2 cifre cifra sumei în rangul
respectiv şi cifra transportului în rangul vecin mai semnificativ.
Tabelul de adevăr pentru un rang al Sumatorului.
Schema unui rang a unui sumator:
ai bi ci Si Ci+1
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

Facem tabelul pentru Si:

aibi
ai 00 01 11 10
0 1 1

1 1 1
Nu poate fi efectuat nuci o alipire
Ci 1  ai bi ci  ai bi ci  ai bi ci  ai bi ci

Facem tabelul pentru ci+1


aibi
ai 00 01 11 10
0 1
1 1 1 1
Ci 1  ai bi  bi ci  ai ci
Ci+1 şi Si descriu structura unui sumator.

Tabelul de adevăr pentru un semisumator


ai bi Si
a i Ci+1S i
b
0 0 0 i

HS 0
S

P c
0 1 1 0 i+1

1 0 1 0
1 1 0 1
Uitându-ne la tabelul de adevăr a sum comp observăm că dacă n-ar fi ultima şi
prima comb, rezultă Si=Ci+1 pentru aceasta facem următoarea trecere.
S i  C i 1 ( ai  bi  ci )  (a i bi ci )
Din _ 2  ca :
C i 1  ai bi ci ( ai  bi )
ai Si+1
& 1
bi
a0 S0 a 1 S1 a 2 S2 a3 S3
1 &
1 b0 b1 b2 b3
ci S S S S
1 SM SM SM SM
Si
& 1 P P P P
Fig.4
&
Fig. 2
  2  2  3  8
2.1. De obicei în calcule numerice se folosesc sumatoarele paralele adică
sumatoarele cînd mai multe ranguri ale lor sunt conectate între ele prin intermediul
liniilor de transport. În acest caz timpul de funcţionare a unui sumator se
calculează astfel tsm=(n-1)tp+t unde
n – numărul rangurilor sumatorului
tp – timpul de propagare a transportului într-un rang al sumatorului
t - timpul de funcţionare a unui rang a sumatorului
1) Timpul de funcţionare a unui sumator e direct proporţional cu numărul
rangurilor acestui sumator )cu cît x numere mari cu atît timpul e mai mare
2) Pentru a mări capacitatea Sumatorului şi a calculatorului trebuie micşorată
dependenţa timpului de funcţionare a sumatorului de num rangul lui.
Pentru a face acest lucru în sumatoarele utilizate în calculator se folosesc mai
multe metode de micşorare a dependenţi timpului de funcţionare a sumatorului de
num rang sumatorului. Cele mai des utilizate metode sunt metodele de anticipare a
transportului. Sunt mai multe metode de acest fel. De cele mai adesea ori se
foloseşte anticiparea transportului în grup, în paralel sau combinaţia acestor 2
metode.
La anticiparea transportului în grup toate rangurile sumatorului se împart în cîteva
grupe. În fiecare grup se include un circuit logic destinaţia căruia este analiza
posibilităţilor de propagare succesivă a transportului atunci transportul care vine
din grupa vecină mai puţin semnificativ va ocoli grupul de rangul respectiv şi se va
transmite şi grupul vecin mai semnificativ.

Transportul în rangul Ck+1 este:


Ck+1=CiPiPi+1*Pi+2….Px unde:
Pi=ai+bi – funcţia de propagare atransportului.
În acest caz timpul de funcţionare a sumatorului este:
ts=2mtp+(k1-2)
În acest caz timpul de propagare atransportului în cel mai rău caz va fi egal cu
timpul necesar de propagare succesivă a transportului în cea mai puţin
semnificativă grupă plus timpul de propagare succesivă în ultimul cel mai
semnificativ grup.
Numărul de grupuri în acest caz se ia un număr impar iar cel mai lung grup va fi
cel din centru, celelalte grupuri vor avea cu cîte un rang mai puţin incepînd cu cel
din centru. Adică, de exemplu dacă acel din din centru are 4 ranguri atunci vecinii
lor vor avea 5,6 ş.m.d. Lungimea medie n este numărul rangurilor sumatorului.
Anticiparea transportului în paralel se bazează pe următoarele cerinţe: în orice rang
al sumatorului este valabilă următoarea expresie logică:
Ci+1=aibivci(ai+bi)
Din aciasta putem scrie funcţia de generare trans gi=aibi
Din rangul I transp se va genera transp în rangul i+1 dacă funcţia de generare a
trans este egal cu 1 indiferent de faptul dacă în acest rang va veni sem nu cifra de
transport din rangul mai puţin semnificativ.
O altă funcţie este funcţia de propagare a transportului P i=ai+bi sau Pi=aiv bi. Dacă
funcţia de propagare a trans este 1 atunci în rangul vecin mai semnificativ va fi
cifra de transport doar în cazul cînd ia se transmite din rangul mai puţin
semnificativ în rangul dat. Cu alte cuvinte există condiţii de propagare a
transportului. În sumatorul cu transport anticipat în paralel în mod obligatoriu sunt
elementele logice care formează funcţiile g şi n.
Ci 1  g i  ci pi
Ci  g i 1  ci 1 pi 1 Dacă în fiecare din formulele date înlocuim valorilor
Ci 1  g i  2  ci  2 pi  2 transportului c prin funcţiile g şi p se poate obţine
............................... dependenţa transportului în fiecare rang al sumatorului
g 0  a0b0  c1 dar de funcţiile g îi p. Dar aceste funcţii pot fi obţinute
concomitent în toate rangurile sumatorului.
Schema din îndrumarul de laborator.

Aceasta înseamnă că am putea reduce timpul de propagare a transportului în toate


rangurile sumatorului la aceiaşi valoare indiferent de lungimea sumatorului.
Anticiparea în paralel a transportului dă posibilitatea de a stabili valoarea
transportului în orice rang al sumatorului în intervalul de timp 4-5. Dezavantajul
acestui tip de transport anticipat constă în faptul că dacă cu marirea numarului de
ranguri a sumatorului are loc creşterea în dependenţă exponenţială a cheltuelilor de
aparataj necesare generării transportului.
De aceia transportul anticipat în paralel nu poate fi utilizat în forma sa clasică cînd
numărul de ranguri a sumatorului este mare (mai mare de 16 ranguri). Această
limitare este condiţionată de cazuri pur tehnice.
De cele mai multe ori cînd numărul de ranguri este mare se folosesc combinaţii de
anticipare a transportului în grup şi-n paralel. În acest caz în interiorul grupelor se
efectuează anticiparea transportului în paralel, iar între grupe c poate fi efectuat sau
prin metoda de anticipare a transportului în grup sau prin metoda de anticipare în
paralel.

Schema:

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