Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » scoala » informatica
Sumatoare seriale

Sumatoare seriale


Sumatoare seriale

Daca avem doi operanzi constand din doi vectori binari, acestia pot fi aplicati unui dispozitiv de adunare/scadere fie bit cu bit, in maniera seriala, fie toti bitii concomitent in maniera paralela. Cu alte cuvinte, intrarile dispozitivului sunt alimentate, sub controlul unui tren de impulsuri de CLOCK, fie cu o pereche de biti la fiecare impuls, cate un bit din cei doi vectori operanzi, fie cu toti bitii ambilor vectori la fiecare impuls. Intr-o prima instanta, ne vom referi la modul de operare serial si, pentru concretete, vom viza adunarea binara, situatie in care vom denumi dispozitivul care realizeaza aceasta operatie un sumator serial (serial adder) aceasta pentru a-l distinge de solutia tehnica concurenta bazata pe operare paralela si denumita sumator paralel (parallel adder). La o analiza grosiera, sumatorul serial este net dezavantajat prin prisma performantei, el reclamand, pentru executia adunarii, atunci cand cei doi vectori au n biti, intervalul de timp constand din n perioade ale trenului de CLOCK, pe cand alternativa sa paralela necesita intervalul unei singure perioade de CLOCK. Chiar daca aspectul relevat poate fi atenuat, intr-o anumita masura, prin executia suprapusa a operatiilor succesive, el inclina totusi balanta competitiei in favoarea variantei paralele, dar nu definitiv, intrucat pe langa factorul cost- net favorabil solutiei seriale-, mai intervin factori legati de implementare, cum ar fi reducerea numarului interconexiunilor pentru semnale, simplificand interfetele dintre dispozitive prin care se castiga arie de siliciu pentru integrare si, de asemenea, se reduce energia disipata. In consecinta, pentru acele aplicatii care tolereaza o latenta sporita, operarea aritmetica seriala in general, si adunarea in particular, devine o solutie atractiva, cu precadere pentru acele proiecte revendicand implementari paralele masive. In contextul aceleiasi dispute "serial versus parallel" mentionam ca noi vom face referiri in acest paragraf, doar la versiunea seriala, dar subliniem ca exista interes si pentru solutii hibride in care unele dintre intrari si iesiri sunt seriale si altele paralele.



In mod tipic, exista doua moduri de operare seriala, dependent de perechea de cifre cu care se incepe operarea, si anume

a). Modul "Least-significant digit first"(LSDF), caracterizat prin faptul ca se incepe cu perechea de biti mai putin semnificativi, el fiind subinteles atunci cand se foloseste sintagma   aritmetica seriala intrucat a fost primul mod serial utilizat.

b) Modul "Most-significant digit first"(MSDF), fiind cunoscuta ca "online arithmetic . Bazat pe o flexibilitate la evaluarea cifrelor de iesire, necesitand doar informatii partiale despre intrari, modul MSDF uziteaza de redundanta in sistemul de reprezentare a numerelor. Aceasta permite ca pentru o anumita valoare sa existe mai multe forme de reprezentare, cele mai cunoscute astfel de sisteme de reprezentare fiind cel al cifrelor prevazute cu semn (signed - digit) si cel al salvarii transportului( carry-save), care vor fi prezentate si utilizate in capitolul urmator.

Urmarind familiarizarea cu operarea seriala, ne propunem sa conducem sinteza unui sumator simplu, de tipul LSDF, care permite adunarea a doua numere binare fara semn, reprezentate pe n biti, de forma   si , admitem stocate in doua registre de deplasare, iar rezultatul suma este copiat tot intr-un registru de deplasare. In figura 2.1 se prezinta un astfel de sumator serial, la care, incepand cu bitul cel mai putin semnificativ (least significant bit, lsb) se aplica o pereche de biti, cate unul apartinand operanzilor X si Y, la fiecare impuls de CLOCK, si se calculeaza suma celor doi biti cu potentialul transport (carry) generat in cuanta de timp anterioara la aplicarea anteriorului impuls de CLOCK (fig. 2.1a). Cu alte cuvinte, sumatorul serial se contureaza ca un automat secvential care trebuie sa memoreze transportul generat la adunarea anterioarei perechi de biti, deci trebuie sa poata intra in doua stari interne distincte, una, sa o notam in care nu se genereaza carry si a doua, sa o notam cu , in care se genereaza carry. Graful constand din diagrama de stari(state diagram) asociata schemei secventiale reprezentata de sumatorul serial este data, uzitand de o notatie Mealy a starilor [Wake00][Yarb97], in fig. 2.1.b, iar in fig.2.1.c se prezinta tabelul de stari (state table) corespunzator. Se poate observa ca graful are cate un nod asociat fiecarei stari interne, iar arcelor indicand tranzitiile dintre stari le sunt asociati o pereche de vectori de tipul xy/z, unde x si y, respectiv z, reprezinta variabile booleene alocate operanzilor intrare, X si Y, respectiv rezultatului iesire Z. Astfel, spre exemplu, presupunand ca sumatorul serial se afla in starea interna curenta S0 si la intrarile sale se aplica vectorul xy =11, primul impuls de CLOCK determina tranzitia in starea interna urmatoare S1, iar la iesire se va genera vectorul, de un singur element, z = 0. Pe de alta parte, tabelul de stari are alocat cate un rand pentru fiecare stare interna curenta a sumatorului serial si cate o coloana pentru fiecare vector de intrare xy, iar la intersectia randului corespunzator unei anume stari interne curente cu coloana corespunzatoare unui anume vector de intrare se afla doua elemente, anume starea interna urmatoare, in care tranziteaza automatul secvential atunci cand i se aplica un impuls de CLOCK, separat prin / de vectorul furnizat la iesirea observabila a schemei. In fond, tabelul de stari reprezinta o alta forma, tabelara, a diagramei de stari. Intr-o succesiva etapa de proiectare, starile interne, simbolizate in mod abstract, li se asigneaza variabile de stare, realizand asa numita asignare a starilor (making the state assignment). In cazul sumatorului serial, avand doar doua stari interne, S0 si S1, este suficienta o singura variabila de stare (state variable) w, a carei codificare asociaza valoarea 0 pentru S0, respectiv valoarea 1 pentru S1, modalitate in care rezulta asa numitul tabel de tranzitii (transition table) din fig.2.1.d.

Activitatea de sinteza continua prin alegerea tipului de element de memorare, aspect sub care optiunea noastra s-a indreptat, in scopul comparatiei, prin aceasta prisma, a doua solutii tehnice distincte, asupra flip-flop-urilor de tip D (D-type flip-flop), respectiv de tip J-K (J-K type flip-flop) [Wake00][Yarb97]. Dupa cum este cunoscut, fiecareia dintre acestea ii este asociata o ecuatie caracteristica (characteristic equation), care exprima starea elementului de memorare la un moment de timp succesiv aplicarii

S0

S1

b)

Inputs

Outputs

w

x

y

D

Z

D type flip-flop

W(t+1)=D

e)

xy

w


D

g)

xy

w

Z

h)

Inputs

State

xy

S0

S0

S0

S1

S0

S1

S0

S1

S1

S1

c)

Serial adder

0 1 0

1 1 1

0 0 1

Z

X

Y

CLOCK

RESET

a)

Inputs

Outputs

w

x

y

J

K

Z

d

d

d

d

d

d

d

d

T-K type flip-flop

f)

Inputs

State

xy

d)

xy

w

d

d

d

d

J

i)

xy

w

d

d

d

D

K

j)


Fig. 2.1

frontului activ al CLOCK-ului - notata, in cazul nostru, w(t + 1) - in functie de starea la un moment de timp anterior aplicarii frontului activ al CLOCK-ului - notata, in cazul nostru w(t) si de valorile logice aplicate intrarilor asa numit sincrone - respectiv J si K - ale flip-flop-urilor. Astfel, pentru flip-flop-ul de tip D avem ecuatia caracteristica w(t+1) = D, iar pentru flip-flop-ul de tip J-K avem, ecuatia caracteristica w(t+1) = . In aceste conditii, plecand de la tabelul de tranzitii si luand in consideratie ecuatiile caracteristice specifice pentru fiecare flip-flop, rezulta tabelele asa numite de excitatie (excitation table) pentru cele doua solutii, cu flip-flop de tip D (fig.2.1.e), respectiv cu flip-flop de tip J-K(fig.2.1.f, in care prin d am notat o valoare logica indiferenta - don't care).

Urmarind firul proiectarii sumatorului serial, din tabelul de excitatii de iesire (output equations) pentru fiecare tip de flip-flop, respectiv ecuatiile pentru functiile de iesire (output equations). In tabelele de excitatie din fig.2.1.e, respectiv fig.2.1.f, pot fi identificati mintern-ii (acei termeni produs care contin, doar o singura data, fiecare variabila de intrare) care determina valoarea logica 1 pentru o anumita functie booleana in forma canonica de suma de produse (canonical sum of product form) [Wake00] [Yarb97]. Pentru a obtine ecuatiile logice, de excitatie si iesire, in forma minimizata, avand in vedere numarul redus de variabile, de intrare si de stare, apelam la diagrama Karnaugh (Karnaugh maps) (la care un patrat corespunde unui anume mintern). Astfel, acoperirea favorabila - urmarind maximizarea grupelor de mintern-i adiacenti din punct de vedere logic a unitatilor binare, conduce la expresiile booleene minizate pentru intrarile sincrone D(fig.2.1.g) in forma D = wx + wz + xy, respectiv J (fig.2.1.i) in forma J = xy, si K(fig.2.1.j) in forma K = (la simplificarea ecuatiilor pentru J si K, la formarea respectivilor implicanti primi au fost folositi si anumiti mintern-i don't care). In ceea ce priveste functia de iesire z, in mod evident, identica pentru cele doua solutii de sumator serial, se poate remarca faptul ca toti mintern-ii sai se constituie in implicanti primi esentiali, astfel ca ecuatia booleana pentru z (fig.2.1.h) este de forma , care, uzitand de proprietati ale operatorului EXCLUSIVE-OR, poate fi modificata in . In implementari uzitand de porsi NAND si EXCLUSIVE-OR(fig.2.2.a); respectiv porti inversoare, AND si EXCLUSIVE-OR (fig. 2.2.b) sunt implementate partile de logica combinationala corespunzatoare ecuatiilor booleene de excitatie si iesire, anterior deduse, pentru ce doua sumatoare seriale cu flip-flop de tip D (fig 2.2a), respectiv cu flip-flop de tip J-K (fig 2.2b). Ambele versiuni, care nu difera in mod esential in termeni de circuite elementare utilizate la sinteza sau ca numar de conexiuni, se constituie ca scheme secventiale simple, functionand sincronizat prin intermediul unui tren de CLOCK (fiind initializate prin activarea liniei ). Chiar daca, datorita faptului ca semnalele trebuie sa traverseze un numar redus de niveluri logice, frecventa CLOCK-ului poate fi ridicata, timpul de adunare maxim - parametru arbitru al performantei unui sumator-rezultat prin cumularea perioadelor celor n impulsuri, la valori n practice, rezulta totusi prohibitiv. In consecinta, pentru acele aplicatii la care primeaza performanta rezulta ca mai atractiva solutia sumatoarelor paralele.

EX-OR

z

EX-OR

NAND

NAND

NAND

w

x

y

RESET

CLOCK

Q D

_

Q R C

EX-OR

EX-OR

AND

Q

x

y

RESET

CLOCK

AND

Fig 2.2

a)

b)

Serial adder

J

C

K

R

Q

NOT

NOT

z






Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.