Sunteți pe pagina 1din 19

Reprezentarea numerelor si operatiilor aritmetice

4) Reprezentarea numerelor reale si operatii aritmetice.


1) Clasificarea nr: intregi (I) si reale (I.F) (poz/negative). Metode de reprezentare a numerelor.
2) Sistemul de reprezentare={Baza,Simboli} I.F; Sgn=0 (pozitiv) sau 1 (negativ).
a) Sistemul zecimal: B=10, S={0,,9} 1) Reprezentarea in virgula fixa (Fixel Point)
b) Sisteme tip binar n = n I+ n F ;
binar: B=2, S{0,1} bit
octal: B=23=8, S{0,,7} ni 1 nF
hexazecimal: B=2 4=16, S={0,,9,A,B,C,D,E,F} R j b j k bk
Conversii: j 0 k 1
- binar-octal: se imparte nr in grupe de cate 3 biti de la 65362879=.65362879x104
dreapta la stanga Mantisa normalizata presupune ca prima cifra din dreapta
- octal-binar: se reprezinta fiecare cifra octala pe 3 biti de la numarului sa fie diferita de 0 si tot ce ramane la stanga sa fie
stanga la dreapta 0. Procedura de normalizare reprezinta deplasarea spre stanga
- binar-hexa: se imp. nr binar in cate 4 biti de la LSB la MSB cu un numar k de pozitii si majorarea exponentului cu k.
- hexa-binar: fiecare cifra hexa se inlocuieste cu grupul de 4 Rezolutia este precizia de reprezentare a numerelor. Numarul
biti care il reprezinta de cifre alocat pentru mantisa defineste precizia de
(sistemul hexa) reprezentare. Eroarea maxima de reprezentare este
23 22 21 20
0
1
0
0
0
0
0
0
0
1
8 1
9 1
0
0
0
0
0
1
1 / bnM (n M = numarul de biti al mantisei).

2 0 0 1 0 A 1 0 1 0
3
4
0
0
0
1
1
0
1
0
B 1
C 1
0
1
1
0
1
0
T 1/ bnM ; R 1 / 2 bnM
5 0 1 0 1 D 1 1 0 1 2) Reprezentarea in virgula mobila (Flouting Point)
6 0 1 1 0 E 1 1 1 0 a) Reprezentarea in sistem binar virgula mobila in simpla
7 0 1 1 1 F 1 1 1 1 precizie utilizeaza 32 biti

n 1
-binar-zecimal: N i bi .
i 0
(i-simbolii sistemului; bi-baza la puterea i)
Exp este in C2 si Exp[-128,127]; mantisa este normalizata.
3) Reprezentarea numerelor intregi in binar Exp OFFSET = Exp + 128 [0,255]
- intreg: 16 biti (short) si 32 biti (long) 1-128 subunitar ; 129-255 supraunitar
Semnul ocupa pozitia MSB. (0-pozitiv; 1-negativ) (bit 15 b) Reprez. in virgula mobila cu un bit ascuns (Hidden bit)
short si bit 31 - long). - reprez in dubla precizie (se prelungeste mantisa la 55 biti).
Short [-215, 215-1]=[-32.768,32.767] Permite reprezentarea cu 16 zecimale evacte.
Long [-231,231-1]
Conventii standard:
1) VA&S (M&S) (VA=valoare absoluta; S=semn; M=medel)
Numarul 0 in hexa este: +0=0000H ; -0=8000H.
2) C1 (complement fata de 1) Conversia partii fractionare din zecimal in binar
Complementul fata de 1 al unui numar este imaginea binara Conversia se face exact atunci cand procedeul iterativ se
obtinuta prin inversarea fiecarei pozitii binare. Un incon- opreste la partea fractionara 0. O conversie periodica din
venient este faptul ca C1 pastreaza dubla imagine a lui 0. program depisteaza perioada. Conversia completa este atunci
Ex: n1=111=01101111; n2=-123=10000100; cand se parcurg 23/55 de biti.
n1+n2=11110011 => C1(n1+n2)=10001100 Operatii aritmetice efectuate cu numere reale in virgula
3) C2 (complement fata de 2); C2=C1+1 mobila
Complementul fata de 2 al unui numar se obtine incepand de a) Adunarea: Se aranjeaza operanzii conform marimilor
la MSB pana se intalneste valoarea 1 se pastreaza, apoi restul (operandul mai mic se deplaseaza catre dreapta). Operanzii
se complementeaza. C2 are o singura reprezentare pentru 0. negativi se transforma in C2. Mantisa se normalizeaza, si se
Ex: 84=01011000 modifica doar in cazul in care rezultatul este negativ. Daca
C1(84)=10100111; C2(84)=C1(84)+1=10101000. numerele au acelasi semn se poate depasi (carry) =>
rezultatul se deplaseaza la dreapta cu un pas si exponentul se
majoreaza cu o unitate. Exponentul se minoreaza daca avem
depasire inferioara.
b) Inmultirea: se pierde precizia.
T ( S ) Pk P k (Negata sumei este
k k
egala cu produsul negatiilor).

T ( P) S k S k (Suma negatiilor este


5) Algebra logica
k k
1) a) Negatia (Inversare, Complementare):

not xk x k
egala cu produsul negat).
3) Operatorul NAND reprezinta negarea unui produs.
nand not ( and ) and
Operatorul NOR reprezinta negarea unei sume.
nor not (or ) or

b) Conjunctia (Produs, Si/And)


Conjunctia da rezultatului valoarea 1 numai daca toate
variabilele implicate au valoarea logica 1.
x and y = x y = xy

Pk P k ;
k k

Sk S k
n 1 k k
P j k ( xk ) ;
k 0
k ( xk ) =1 Operatorul XOR (merge numai pe 2 biti)

daca e negat si 0 daca nu.


c) Disjunctia (Suma, Sau/Or) 6) Reprezentarea spatiului logic n dimansional Sn in cod
Suma da rezultatului valoarea 0 numai daca toate variabilele ciclic reflectat (cod Gray)
implicate au valoarea logica 0. 1) Distanta binara intre doua puncte (distanta Hamming)
dH = numarul de biti prin care difera codurile celor 2 puncte
Daca dH(Ci,Cj)=1 atunci Ci este adiacent cu Cj. Daca
dH(Ci,Cj)=0 atunci Ci si Cj sunt identice. In spatiul Sn un punct
are n coduri adiacente.
2) Crearea secventei codului Gray
Se alege un cod de baza (in general codul cu toti bitii 0).
n 1 Urmatoarele coduri din secventa se obtin prin complementari
S j k ( xk ) ; ale codului urmator, pornind de la LSB si indeplinind
conditia de adiacenta a noului cod fata de cel anterior.
k 0 Axele de simetrie arata proprietatea de simetrie sau reflexie a

k ( xk ) x k
codului.
Nr x3 x2 x1 x0 Nr x3 x2 x1 x0
daca e negat si xk daca nu. 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 1
2 0 0 1 0 3 0 0 1 1
2) Proprietati: 3 0 0 1 1 2 0 0 1 0
a) a 0 = 0 ; a + 1 = 1 ; b) a 1 = a ; a + 0 = a 4 0 1 0 0 6 0 1 1 0
c) a a a = a ; a + a ++ a = a 5 0 1 0 1 7 0 1 1 1
d) Asociativitate si comutativitate: a (b+c) = a b + a c 6 0 1 1 0 5 0 1 0 1
Forma disjunctiva canonica 7 0 1 1 1 4 0 1 0 0
f Pk . Reprezinta suma logica a termenilor
8
9
1
1
0
0
0
0
0
1
C
D
1
1
1
1
0
0
0
1
k
A 1 0 1 0 F 1 1 1 1
produs asociati acelor puncte in care functia e 1 logic. Intr-un B 1 0 1 1 E 1 1 1 0
termen canonic, valoarea bitului se ia direct daca e 1 si 0
C 1 1 0 0 A 1 0 1 0
invers.
Forma conjunctiva canonica D 1 1 0 1 B 1 0 1 1
E 1 1 1 0 9 1 0 0 1
f S j . Reprezinta produsul logic al termenilor F 1 1 1 1 8 1 0 0 0
j
7) Reprezentarea bidimensionala a Sn
canonici disjunctivi asociati punctelor in care functia e 0
1) Diagramele Karnaugh
logic. In termenul canonic individual pentru toti bitii, bitii 0
se iau direct si bitii 1 se iau negat. n biti k biti linii => 2k
Teoremele lui DeMorgan - j = n-k biti coloane => 2n-k
Diagrama este o matrice din x0 y 0 ; x 0 y 0 ;
linii si coloane. Fiecare
linie/coloana capata un cod
propriu, format din k biti/n- x 0 y 0 x0 y 0 x0 y 0
k biti.

2e
Diagrama va avea 2k linii si
2n-k coloane. Minimizarea Pentru , avem 2 nivele de prelucrare => .
functiei reprezinta de fapt
gruparea unui numar par
(putere a lui 2) de casute
aflate de o parte si de alta a axei de simetrie a spatiului.
Pentru avem 3 nivele de prelucrare =>
3e .

Pentru n=2 avem comparator pe 2 biti:


2) Subspatii ale spatiului n dimensional =1 pentru: x=1 si y=0; x=2 si y=0; x=2 si y=1; x=3 si y=0;
x=3 si y=1; x=3 si y=2. Pentru =1 vor fi alte 6 cazuri, iar
Un subspatiu Sk Sn, k 0, n , reprezinta o multime 2k
pentru =1 restul de 4 cazuri.
coduri, unde n-k biti sunt constanti, iar k biti parcurg intreg
ciclul de variatie. Exista 2n subspatii de tip S0.
n
2n j C nj 3 j . Prin utilizarea diagramei
j 0
Karnaugh se descopera foarte usor acoperirea unui subspatiu
cu ajutorul aceleiasi functii logice pe baza axelor de simetrie.
Astfel rezulta forma de simplificare (minimizare) a
expresiilor logice ale functiilor. Important este descoperirea
subspatiilor acoperite integral de 1 daca functia este
disjunctiva sau 0 daca functia este conjunctiva. Prima data se x1 y1 x0 y1 y 0 x1 x0 y 0
observa subspatiile acoperite cu aceeasi valoare, apoi se
inlocuiesc toate punctele subspatiului cu expresia care In forma canonica: 4 inversoare; 6 modulo SI de cate 4
caracterizeaza subspatiul, iar termenii rezultati se insumeaza. intrari; 1 OR de cate 6 intrari => 34 intrari. In forma
minimala: 2 inversoare; 1 AND x 2 in; 2 AND x 3 in; 1 OR x
3 in => 13 intrari.
(1-) (0-) (-1) (00) (11) (-0)
Comparatoare binare de marime 3 sau 2 1 sau 0 3 sau 1 > 0 3 > 2 sau 0
(Magnitudine comparator) min2 > max1
Fie doua numere intregi X, Y de n biti.

(comparator intre 2 numere pe n biti cu posibilitatea de


transport prin intrarile a,e,b si iesirile de transport A,E,B)
a/A=1 canal X > canal Y; b/B=1 canal Y > canal X; e/E=1 Pentru n=3 avem un comparator pe 3 biti:
canal X = canal Y. Singurele combinatii pentru o buna
functionare sunt: 100,010,001.

Comparator pe n biti. Fiecare celula depinde de 2n+3 intrari.


Fie =1 functia logica care decide daca X>Y; =1 daca Y>X;
=1 daca X=Y => A = a + e ; B = b + e; E = e.
Pentru stabilirea rezultatului decizia se ia de la semnificativ
la mai putin semnificativ. Elementul critic in procesul de
decizie este componenta de transport. Daca raspunsul ar avea In forma canonica: 6 inversoare a 28 AND x 6 intrari fiecare;
o intarziere tau vom avea ptau timpi de asteptare pana la 1 modul OR de 28 de intrari => cost = 202.
stabilizarea rezultatului.
Pentru n=1 avem comparator elementar pe un bit: t1 x2 y 2 (1 )(0 ) 4 3 ;
t 2 x1 y 2 y1
( 1)(00) 2 1 ;

t 3 x2 x1 y1 (11)(0) 6 5 ;
t 4 x2 x0 y1 y 0 (1 1)(00) 5 4 Suma este un rezultat de adunare in clasa modulo 2n. In
cazul in care suma depaseste modulul, apare bitul de
; t 5 x 0 y 2 y1 y 0 transport COUT (carry out).
Sumatorul elementar pe 1 bit
( 1)(000) 1 0 ;

t 6 x1 x 0 y 2 y 0 (11)(0 0)
3 2 ;

t 7 x2 x1 x0 y 0 (111)( 0) 7 6
.
Costul in forma minimala: 1 CI (3 inv; 1 AND x 2 in); 1 CI
(2 AND x 3 in); 2CI (4 AND x 4 in); 1 CI (1 OR x 7 in) = 34.

Impachetarea in circuite standard pe AND: 6 inversoare intr-o


capsula de 14 pini.

s0=1 numai daca numarul de 1 logic este impar.

s0 x 0 y 0 cin x 0 y 0 cin x0 y 0 cin x0 y 0 cin


Modulele in AND de 2 intrari sunt 3 module intr-o capsula. cin( x 0 y0 x0 y 0) cin( x 0 y 0 x0 y0)
Cele de 4 intrari sunt 2 intr-o capsula.
cin( x0 y0) cin( x0 yo ) cin ( x0 yo)

Metoda (algoritmul) de simplificare Quine McCluskey cout x0 y0 x0 cin y0 cin


In cazul formei disjunctive, minimizarea prin Q McC
Transportul necesita numai 2 nivele de propagare (nu trebuie
presupune urmatoarele etape:
inversat nici unul dintre biti). Legarea in cascada a n module:
1) Ordonarea echivalentilor binari ai conjunctiilor
corespunzatoare valorilor 1 ale functiei dupa pondere.
2) Determinarea implicantilor primi prin comparatii
succesive ale echivalentilor binari. Pentru determinarea
echivalentilor primi se cupleaza echivalentii binari care difera
doar printr-o cifra din acelasi rang,punandu-se-(dont care).
tp(s) = 3 ; tp (cout) = 2
3) Determinarea tabelului de acoperire al functiei. Tabelul
este un tablou la care liniile corespund implicantilor primi, iar tp(s) = (n-1) tp(cout) + tp(s0) = 2 (n-1) + 3 = (2n+1) .
coloanele corespund echivalentilor zecimali ai conjunctiilor Sumatorul pe 2 biti
pentru care functia ia valoarea 1. Tabloul se completeaza cu 1
in pozitiile pentru care conjunctiile de pe coloane realizeaza
implicantii primi pe de linii.

Extensia algoritmului:
1) Se considera ca f {k}=0.
2) Se considera ca f (pj)=1 pentru fiecare pj{k}. Se compara
fiecare rezultat,din cele Ck1 cazuri, cu pasul anterior.
s0 cin ( x0 yo)
3) Se considera f (pi,pj)=1.
Circuite logice de insumare (Sumatoare binare)
Un element sumator:
fizic, deoarece taie situatia de hazard. Termenul abd
conecteaza termenii care produc hazardul.

Definirea functiilor logice in diagrame Karnaugh cu intrari


variabile

f bc d acd a b cd
f c ( a b d ) c ad cad 1 abd
Cout se obtine atunci cand numarul de biti care se aduna este In abd valoarea functiei este indiferenta.
mai mare sau egal cu 2.

s1 ( x1 y1 x1 y1)( x0 y0 cin x0 cin y0) ( x1 y1 x1 y1)


Reguli de simplificare
1) Se considera campurile in care functia logica este1. Se
cupleaza 1 cu 1 sau cu -. 2) Campurile care au valori
variabile se vor cupla cu ele insele, cu 1 sau -.
( x 0 y 0 cin x 0 cin y 0) x1 y1 c int ( x1 y1)c int
c int ( x1 y1) ; cint=bitul de transport
format din cin,x0,y0 ; tp(s1)=3 ;

cout x1 y1 y1 x0 y0 y1 cin y0
x1 x0 y0 x1 cin x0 x1 cin y0 ;

tp(cout)=2. Circuite decodificatoare reprezinta module capabile sa


Realizarea sumatorului de n biti (n=par) utilizand sumatorul genereze termeni canonici ai spatiilor intrarii.
pe 2 biti (m=n/2) Decodificatoarele sunt circuite logice combinationale care
activeaza una sau mai multe iesiri in functie de cuvantul de
x x 1 ; x x 0 cod aplicat la intrare. Fiecare iesire reprezinta prin valoarea
sa logica, termenul canonic al spatiului de intrare.

; Dec. 3/8 Model 74xx138

Daca intrarea este 0 => O0=0. Iesirile O0-O7 decodifica activ


in 0 cele 8 combinatii de intrare. Avem termeni canonici
disjunctivi. E0,E1,E2 sunt intrari Enable, adica de activare.
Decodif. pe canalul de iesire are loc cand E0=E1=0 si E2=1.

2. Construirea unui decodificator 4/16 utilizand un decodificator


3/8

1.
f bc d acd a b cd
x y c 0 1 f 1 c 1 1 c 1 0 0 c 0 c c
Exista hazard in situatia reala.
f bc d acd abd a b cd . Termenul abd nu
modifica definitia functiei, si este redundand, fiind util dpdv
a0=1 => D1=verde
S=1 => trafic oprit (trecere pietoni)

MUX 2/1 74xx157 16 pini

Y j S ( a 0 D j 0 a0 D j1)
MUX 4/1 74xx153 - 16 pini

Modulul Dec Gen decodifica cifra octala mai semnificativa


(x3,x4,x5). Iesirile SEL 0-7 devin intrari de activare pentru
lantul de decodificatoare de la 0 la 7. Y j S j (a 1 a 0 D0 a1 a0 D1 a1 a0 D2 a1 a
MUX 8/1 151 -16 pini MUX 16/1 150 24 pini

Crearea magistralelor de date (BUS)


Magistrala de date reprezinta o entitate de n biti pe care pot fi
aplicate informatii din k surse emitatoare, fiecare sursa
emitand n biti. Dpdv fizic, reprezinta n fire (entitati) pe care
se poate amplasa informatie din kn surse de emisie.
MUX Gen este format din n module
independente, fiecare din cei n biti
provenind de la una din cele k surse.
Circuite logice multiplexoare (Selectoare de date) MUX
Circuitele de multiplexare sunt circuite logice combinationale 2n k
care permit trecerea datelor de la una din intrari, selectata de
cuvantul de pe intrarea de adresa, catre o iesire unica. Uneori,
circuitele de multiplexare sunt prevazute si cu o intrare de
validare.
Vectorul
Construirea multiplexoarelor 2 n/1 din 2 m/1 unde m<n
D {D2n1,..., D0} = Construirea unui MUX de 64 canale (n=6) utilizandu-se
MUX standard (2/1; 4/1; 8/1; 16/1).
vector de date canale de date. Intrare cu 64 canale conectate la 32 module 2/1. Primul nivel
A={an-1,,a0} vector de adresa imparte spatiul in 2 subspatii 0-31, 32-63, al doilea nivel
S(E) o intrare de activare (validare) beneficiand de a4 imparte submultimile de la primul nivel de
Y=functia de iesire la 0-15, 16-31. Nivelul 3 fiind un MUX, ve selecta canalul
individual.
n 1
2
Y S Ai Di , unde
i 0
Ai este termenul canonic de tip produs (conjunctiv) al bitilor
n
2 1
an-1,,a0. Avem: Y
Ai Di pentru S=0 si
i 0
Y=0 pentru S=1. Semnalul S(E) este pentru functionarea nivel 1: 8 CI; nivel 2: 4 Ci; nivel 3: 1 CI = 13
circuitului cand S=0. Cand S=1 inhiba functia. CI
a0=0 => D0=verde Alta varianta de implementare cu 8/1:
Sn=S6 ; Ak=A4 ; Exista 15 solutii posibile. Alegem x2,x1
Implementarea functiilor cu ajutorul multiplexoarelor reziduuri. x0=a3; y2=a2; y1=a1; y0=a0.
f : Sn S1; Sn={xn-1,,x0}; An={an-1,,a0}; MUX 2/1;
D0=x2+x1
2n 1 D8=1
Y Ai Di , unde Ai sunt termenii canonici
i 0 D1=D0
D9=D0
ai vectorului de adresare ; f Pk este suma
k D3=x2
D11=x2
termenilor canonici pentru punctele in care functia este 1. Fie
D2=x2
2 numere X1, X0 => X={ X1, X0} , Y={y1,y0} si =1. Pentru D10=x1+x2=D0
x=y se alege un MUX 16/1.
D6=0 si D14=x2 x1; D7=0 si D15=0; D5=x2 x1 si
D13=x2x1; D4=x2 x1=D5 si D12=x2 (coloana 000; 001;
011; 010; 110; 111; 101; col o). Analiza rezultatului:
Canalele de date (16 canale) se conecteaza la 0 sau 1,
respectiv la variabilele de intrare, dupa care se sintetizeaza
In cazul in care dimensiunea de adresare a MUX este mai functiile SI, respectiv SAU.
mare sau egala decat dimansiunea spatiului de definire al
functiei, canalele de date se vor conectata la 0 sau 1 in
functie de definitia functiei.

CIRCUITE SECVENTIALE
Analiza si sinteza circuitelor logice secventiale
C.S. genereaza un vector binar de n
biti Q={ql,,q0} care caracterizeaza
starea sistemului.
Fiecare stare este individualizata
Utilizarea multiplexoarelor in cazul in care spatiul de definire prin codul binar al acesteia.
al functiei are dimensiune superioara de adresare fata de Sistemul trece dintr-o stare in alta in
spatiul de redresare al multiplexorului functie de evolutia semnalelor de
f : Sn S1; MUX 2k/1 => k<n intrare si de starea din acel moment.
S este generatorul de secvente
k
2 1 (stari).
Cazul n=k+1: Y A j D j ; Functia f nu
j 0
poate fi sintetizata cu ajutorul MUX prin conectarea directa
la 0 sau 1 a canalelor de date, deoarece MUX nu
genereaza la iesire termeni canonici ai spatiului functiei, ci ai
spatiului de adresare. => trebuie lasat deoparte un bit (bit qti qi ( X t , Qt ) ,
reziduu).
i=0,,l-1; unde tau este intarzierea. Sistemul de l ecuatii
Restul de biti n-1=k sunt biti principali (de adresare). Din
cele Cn1=n posibilitati, bitul reziduu este ales astfel incat caracterizeaza generatorul de secvente. Daca

qti qti , i, atunci starea siatemului este stabila, si


functiile logice ale fiecarui canal de date conduc la un set
minimal. O solutie optima este aceea care nu necesita
negarea. Functiile reziduu se obtin prin minimizarea locala in
singurul factor care ii poate determina trecerea intr-o alta
interiorul subspatiului dat de bitii de adresare. Cazul n=k+m:
stare este X. => Numarul de stari este finit, deci sistemul este
Din cei n biti care definesc functia, se alege un numar de k
determinat.
biti care se amplaseaza pe liniile n ale MUX. Cei m biti de
C = bloc de tip comb.
reziduu genereaza functiile logice aplicate de cele 2k intrari
generat de Y =>
ale functiei.
Ex: comparatorul pe 3 biti. Sa se implementeze functia =1
daca {x2x1x0}>{y2y1y0}.
Din cei 6 biti, 4 devin biti de adresare su 2 biti de reziduu.
Daca s-ar scoate coloana 3, atunci circuitul ar deveni
y t Y ( X t , Qt ) ; simetric. Sageti arata tranzitiile.

Y depinde numai de Q, deoarece Q depinde de X


Varianta asincrona presupune ca memorarea se bazeaza pe
intarzierile naturale, si in acest caz circuitul se numeste
circuit secvential asincrin (CSA). Daca introducem o d) organigrama functionarii (Flowchart)
componenta de ceas si daca procesul de memorare a unei noi
stari se face la un interval de o perioada a ceasului, circuitul
se numeste circuit secvential sincron (CSS).

Conditia restrictiva R=S=1 nu poate aparea. Starea s0 este


controlata de S si starea s1 este controlata de R. Semnalele S
CSS este mult mai controlabil decat CSA cand se pune si R sunt active in 1 si pasive in 0.
conditia ca in intervalul T sa se stabilizeze conditiile care e) tabela de adevar f) diagrama de impulsuri
descriu evolutia ulterioara a sistemului. In schimb viteza de
functionare a CSA este mai mare decat CSS, datorita faptului
ca stabilizarea informatiei nu astepta sosirea unui nou ceas.
Descrierea algoritmica a CS
presupune reprezentarea
functionarii circuitului sub forma
unei orgamigrame (Flowchart),
unde starile sistemului sunt nodurile grafului. - circuitul este secvential (in Q s-au memorat schimbarile);
Analiza unui CS : in functie de schema electrica a circuitului - circuitul este de tip asincron (depinde doar de momentul
si semnificatiile intrarilor si iesirilor, trebuie sa descrie cand au intervenit schimbarile); - R si S sunt active in 1.
functia in timp. Functionarea poate fi descrisa prin Flowchart,
prin functii logice, prin diagrama de impulsuri, prin tabela de
adevar. Sinteza unui circuit reprezinta drumul invers al
analizei. Descrierea functionarii este data de modul in care se
face proiectarea.

Circuite basculante bistabile (CBB) - Analiza


Familia R-S (Reset-Set)
1) Varianta NOR
a) desenarea schemei electrice

2) Varianta NAND
a) schema electrica

b) a
t
R bt R b R S R a ;

bS a ;
b) ecuatia de tranzitie
t t
b ( S R S b) ; Conceptul
t t
de bistabil vine de la faptul ca un bit poate avea 2 stari, 0
at S b S b ( S R a )
sau 1. ; b Ra ;
c) diagrama Karnaugh de tranzitii este compusa din
t
bt ( R S b)
variabile de stare atasate pe axe cu valorile la momentul
prezent, completandu-se la momentul t+tau.
c) diagrama Karnaugh
c, d complementare => s , s complementare.
Pentru T=1 => T 0 => c=d=1 Standby Slave
s sau s =0; b sau a =1; m si m complementare

d) orgamigrama circuitului
mt a b m ; st c d s =>
Qt c d Q ;
a J T s ; b KTs K T s ; c T m
;
Restrictia R=S=0 nu apare. Semnalele R si S sunt inactive in
1 si active in 0. d T m T m ;
e) tabela de adevar f) diagrama de impulsuri t
mt ( J T s K m T m s m)
;
t
st (T m T s m s )
; Schema circuitului: 2 structuri Master si Slave de tip R-S
varianta NAND; iesirile sunt
Q memoreaza ultima comanda care a fost activa. m si m respectiv s si
s ; intrarile de comanda sunt
a,b,c,d.
a=Set pt m; b=Reset pt m; c=Set
pt Slave; d=Reset pt Slave.
Diagrama de tranzitie:

Orgamigrama functionala: Tabela de adevar:

CBB tip JK Master Slave

Diagrama Karnaugh:

Pentru T=0 => a=b=1 ; Standby Master


m / m complementare => m sau m este 0; C sau C
este 1
Sinteza reprezinta procesul invers al analize. Procesul de
sinteza are ca date de intrare descrierea modului de
functionare a circuitului, si are ca rezultat schema practica.
La baza procesului de sinteza trebuie sa existe ca prima etapa
formalizarea specificatiei intr-un algoritm. Specificarea
problemei: 1) setul de intrare al semnalelor care controleaza
functionarea circuitului (vectorul X); 2) setul marimilor de
iesire (Y); 3) evolutia in timp a comenzilor raportata la
evolutia in timp a semnalelor de intrare.
Un sistem de acces reprezinta un numar de
senzori de prezenta, formati dintr-un sistem
emitor-receptor.Daca obiectul este sesizat de
senzori, atunci se deschid portile de garaj, altfel
se deblocheaza o usa de intrare.

Qn+1=J daca Qn=0, K=- si Qn+1=K(negat) daca Qn=1, J=-


Realizarea unui numarator elementar de 4 biti

Qi este ceas Ti+1. Q0,Q1,Q2,Q3 reprezinta un cod de 4 biti care


se schimba in timp conform regulii de numarare in sens

crescator. Daca Qi este ceas Ti+1 , circuitul e numarator

decremental. Schema are un comportament asincron, adica


intarzieri progresive catre rangul superior.

CBB de tip D are 2 intrari si iesirile standard Q si Q .

Q=o copie sincronizata axata pe cresterea ceasului intrarii D.


D-intrari de date ; T ceas

1 n
Qnsemnal Q

Q n1 Dn

Semnalele de tip Set-Reset (Preset-Clear) pentru CB


sincrone
Cele 2 circuite au functionarea sincrona pe ceas. Semnalul
Clear forteaza iesirea sa devina 0 pe toata durata
semnalului Clear activ. In general Preset si Clear sunt active
in 0. Circuitele CBB de tip RS, varianta NOR si NAND:

Sinteza circuitelor secventiale


In sinteza circuitelor logice, J2 si K2 nu depind de Q2, J1, K1,
care nu depind de Q1, iar J0 si K0 nu depind de Q0. In
diagrama Ji se copiaza valoarea proprie gasita in diagrama lui
Qi. In diagrama Ki se transfera valoarea negata din diagrama
de tranzitie a lui Qi. Bistabilul JK este mai economic ca
bistabilul D.Pentru sinteza se pot folosi MUX 4/1 adresate
astfel: MUX lui J2 si K2 sunt adresate lui Q1, Q0; MUX pentru
J1 si K2 sunt adresate lui Q2, Q0, iar MUX J0 si K0 sunt
adresate lui Q2, Q1.

Implementarea de tip asincron (cu porti NAND)

qt2 q 2 q0 q 2 q1 p0 q1 q0 z q 2
q1t q1 q0 po q2 q0 rdyug q2 q0 pi q 2 q1
qt0 q1 q0 cod q 2 q1 tdup q 2 q0 p0 q2 q0
Implementarea de tip asincron cu MUX 8/1:
Intrarile de adresare a2,a1,a0 se conecteaza direct la iesirile
q2,q1,q0 ale MUX. Adresele sunt preluate de la iesirile celor
3 CBB de tip D, Q2,Q1,Q0.

Fiecare MUX transfera valoarea proprie, care va fi 000. La Sinteza semnalelor de iesire: DUP, RC, DUG, IUG.
un moment dat, cod=1 => MUX0 va transfera dupa DUP, DUG sunt active in 0 si RC, IUG sunt active in 1.
intarzierea proprie de propagare, la iesire valoarea 1.

Q n 1 ( J Q K Q )
n

Circuitul JK are 2 intrari de control a functionarii. Conditia


de tranzitie este validata de frontul descrescator al ceasului.
Daca Q=0, intrarea care controleaza este este J, iar K este
indiferent. Daca Q=1, atunci intrarea care controleaza este K
prin complementare, iar J este indiferent.
Durata minima de existenta a unei stari este egala cu o
perioada. Semnalele de intrare sunt independente in raport cu
CP => asincron.
Diagrama de timp:
La ta se stabilizeaza variabilele de stare. X e stabil de t0. X se
schimba in [t0,t1] de la o valoare necunoscuta la valoarea 1.
In general, bitul critic pentru determinarea functiei este cel
mai intarziat.
Deoarece semnalul de intrare e necorelat fata de ceas, este
ultimul care comuta. Pentru o buna functionare e necesar ca
toate intervalele de timp sa aduca informatie logica in t1
stabila pentru a se garanta tranzitia corecta catre una dintre
starile succesoare.
tp T => f 1 / tp
(frecventa maxima).

Daca starea succesoare atinsa la momentul ceasului este una


dintre starile valide apare cursa critica, altfel este critica si
supune masinasecventiala unei functii aleatoare.
Probabilitatea de aparitie a unei curse critice este mica,
deoarece semnalul de intrare trebuie sa comute intr-o
fereastra de timp foarte ingusta dinaintea aparitiei ceasului.
Pentru a nu aparea o cursa critica punem o nula. Starile
succesoare departajate printr-un bit de stare asincron trebuie
sa aiba coduri adiacente.

Functionare bloc CMD: are drept surse de semnale de intrare


vectorul de stare Q, iar de iesire Y => genereaza comenzi.
Poate genera semnale in mod fals => hazard combinational si
se caracterizeaza prin aparitia falsa a semnalului de iesire
pentru o perioada foarte scurta. Anumite componente ale lui
Y pot fi conditii de functionare. Daca sunt comenzi de
executie a unei conditii de lucru, atunci aparitia intr-un timp
foarte scurt, conduce la memorarea comenzii de tip executie.
In cazul unui proiect, proiectantul trebuie sa ia in considerare
existenta factorului timp de propagare a informatiei, in raport
cu functionarea presupusa ideala.
Introducerea de stari tampon desface conditia de multitest
pentru o anumita stare in conditie de test singular.
Analiza functionarii in domeniul timp/frecventa

Registre sunt CLS reprezentate printr-o multime de n


registre elementare, fiecare registru elementar avand
functiunea principala de memorare a informatiei de intrare.
Registrul elementar e format dintr-un bit elementar. Registrul
de n biti este format din n registre elementare. Celulele pot fi
independente una fata de cealalta. Memoria unui calculator e
o mare colectie de registre.
Memorarea simultana a informatiei de intrare pentru cele n
FT = bloc de tip combinational care genereaza functia de componente se defineste ca incarcare sau scriere paralela.
tranzitie; M=bloc memorie sincrona; FT depinde de X si de LOAD (WRITE) sau LD (WR) ; Prelucrare informatie: citire
rezultatul memorarii lui M; CMD=memoria de intarziere a READ (RD). Cand inscrierea informatiei se face simultan
propagarii informatiei. Timpul de propagare a blocului FT pentru cei n biti, citirea se face analog.
reprezinta intervalele de timp intre momentul in care intrarile CE = cip enable
blocului capata valori logice stabile pana in momentul in care DIN = date intrare
iesirile devin stabile. M memoreaza in momentul de decizie
generat de semnalul CP informatia preluata de FT. Registru P-P (paralel-

t su (set up time) este paralel)

CE=0 activeaza iesirile pentru prelucrarea informatiei


foarte scurt, chiar 0 la memorate ; CE=1 dezactiveaza iesirea ; Avem incarcare pe
circuitele moderne. Din front crescator, cu CS pentru DOUT.
momentul ceasului, Registrele cu incarcare seriala a informatiei
informatia din M devine la REGISTRU S-P (Shift Register)
iesire vectorul binar Q => registru de deplasare
(vectorul variabilelor de Informatia de intrare nu e oferita
stare). Q se stabilizeaza intr- simultan pe n biti, ci pe un singur
un interval de timp tp(M). fir (intrare seriala SI). La fiecare
Perioada ceasului se gaseste impuls LD se incarca in Q0
intre 2 fronturi crescatoare.
valoarea lui SI si valorile lui Qo->->Qn-1. In cazul incarcarii asincron, cat timp LD este 0, fiecare celula preia valoarea din
informatiei in paralel (un tact), datele de intrare stabilizeaza acel moment al intrarii corespunzatoare. Pe toata durata 1,
toate deodata. In cazul incarcarii informatiei seriala (n tacte) celulele Qj sunt 0. LD=0 si CLR=1 reprezinta 2 conditii
intrarea se modifica la fiecare tact. Deplasarea LSB -> MSB contradictorii, si rezultatul este indecis. In cazul in care
presupune inmultirea cu 2 a valorilor stocate pana in acel ambele sunt active, ultimul care trece in pasiv va decide
moment. functia pe care o indeplineste. Semnalul CU (Count Up) este
REGISTRU S-S impulsul care determina numararea in sens crescator.
(FIFO=first in first out) Semnalul CD (Count Down) este ceasul care determina
numararea in sens descrescator. Daca ambele sunt active,
avem decizii contradictorii. Semnalele CY (Carry) si BW
(Borrow) sunt semnale de iesire. Semnalul CY este copia
intarziata a semnalului CU generat de catre circuit in starea
REGISTRU P-S REGISTRU FINO finala (starea 9 pentru decadic si starea F pentru hexa).
BW este copia impulsului de decrementare in stare finala.

CY Q 3 Q2 Q1 Q 0 CU
(decadic)

CY Q 3 Q 2 Q 1 Q 0 CU (hexa)

BW Q3 Q2 Q1 Q0 CD
(ambele)
Exemlpu de numarator format dintr-o prima celula de tip
decadic si a doua hexa:

S-a realizat un numarator modulo 60, in care cifra cea mai


putin semnificativa este decadica. Intrarea CD este pasivizata
la 1. Cand celulele comuta in acelasi timp, celula Hex comuta
din 10 in 10 impulsuri ale lui Dec. Este necesar ca orice
celula sa comute cand apare ceasul. Pentru numaratoare
crescatoare, celula Qj comuta cand Qj=1, si pentru
numaratoarea descrescatoare comuta cand Qj=0. Pentru
numaratoarea directa (CU activ, CD=1 pasiv) avem conditia:
CIRCUITE NUMARATOARE
Numaratoarele numara impulsurile ceasului de control, J j K j Q0 Q1... Q j 1 . Pentru
incarca informatia in paralel ca un registru paralel de intrare,
pentru ca procesul de numarare sa inceapa de la o valoare numaratoarea inversa avem conditia:
prestabilita. Numaratoarele se pot proiecta astfel incat sa
poata numara in sens crescator (incrementare) sau J j K j Q 0 Q 1...Q j 1
(CD activ,
descrescator (decrementare). Numaratoarele reversibile
CU=1 pasiv).
numara in ambele sensuri. Capacitatea de numarare depinde
de aplicatia in care se doreste utilizat numaratorul. Tipuri
frecvente de numaratoare: numaratoare pe 4 biti (decadice ;
hexazecimale) ; extensie de capacitate (prin conectarea in
cascada sau in serie de module standard prin semnale de tip
transport) ; incarcarea unei valori initiale (LOAD) ; Reset
continut (toate celulele numaratorului trec in 0). Daca sunt
indeplinite toate aceste proprietati, atunci numaratorul are
capacitatea de adaptare mare.
Familia 74xx : 192 (decadic), 193 (hexa) (reversibile)

74xx : 168 dec ; 169 hex (reversibile; 16 pini)


162 dec ; 163 hex (numai crescator; 16 pini)

Q0-Q3 reprezinta starea numaratorului ; D0-D3 reprezinta


datele de intrare care pot fi incarcate prin LD ; Semnalul LD
asigura incarcarea datelor numaratorului. Este de tip
CP este ceas unic activ pe frontul crescator. DIR reprezinta Dpdv fizic, s1, in cazul unei masini sincrone, nu trece intr-
directia de numarare. Pentru DIR=1 avem numaratoare in un tact de la si la 1,2,3,4 ci face 2 tacturi. In acest caz
sens direct, iar pentru DIR=0 avem numaratoare in sens operarea este mai buna. Pentru o functionare completa,
invers. Pentru 162,163, DIR are rolul de Clear activ in 0. fiecare stare trebuie sa detina informatii despre variabilele de
P si T sunt semnale de activare/blocare a numararii si a intrare care conditioneaza tranzitiile, codurile starilor de
transportului CY. Pentru 168,169, P si T sunt active in 0, iar destinatie si semnalele de iesire pe care trebuie sa le
pentru 162,163 in 1. Semnalul CY reprezinta semnalul de genereze. Abstractizarea: Fiecare stare trebuie sa cunoasca
transport care decodifica starea logica finala, care este activa variabilele care conditioneaza tranzitia. Avem ca starea a se
in 9 pentru decadic si in F pentru hexa. Generarea lui CY este bazeaza pe xk si starea b se bazeaza pe xm. Vom lua
activata sau dezactivata in functie de semnalul P. Daca P=1 un MUX a carui dimensiune sa poata acomoda totalitatea
pentru 162,163 numaratorul este 9 sau F => CY activ. Daca semnalelor de intrare.
P=0, atunci CY este mascat. Pentru 168,169: Cand masina secventiala se afla
in a, atunci Adr MUX=a (in
cod binar). Pe canalul cod a se
afla conectat semnalul xk.
Tranzitia directa de la o stare la
alta presupune: starea respectiva
are doar un singur succesor, tranzitii neconditionate, tranzitii
conditionate de constante logice. Facem cateva conventii de
codificare. Starea succesoare a starii prezente, pentru t=1, sa
fie impusa de regula: cod c = cod a + 1. Codul succesor
(pentru t=1) se obtine prin incrementarea codului starii
prezente: cob b = independent de a. Atribuirea lui b se face pe
baza codurilor ramase neocupate. Deci, functia de tranzitie va
trebui sintetizata numai pentru t=0.
Exemplu: Masina secventiala de mai mult de 8 stari si mai
putin de 16 stari. Daca vor fi necesare stari auxiliare, vor fi
desenate cu linie punctata.
Primul impuls de ceas, trece celula Dec in 9 si numara in
celula Hex. Toate celulele comuta in momentul ceasului.

Starile nu sunt codificate. Starea obtinuta prin tranzitie pe 1


trebuie sa fie incrementata cu o unitate a starii curente.
Codurile sunt scrise in hexazecimal. Se vor introduce 2 stari
auxiliare pentru a se putea respecta conditia de tranzitie
implicita.
Utilizarea numaratoarelor pentru realizarea controlerelor Astfel, variabilele de stare se vor introduce intr-un numarator
secvantiale pe 4 biti si vom alege numaratorul 74xx163. Daca LD=0,
ceasul incarca informatia in numarator. Daca LD=1 si e
validata conditia de numarare, atunci numaratorul este
incrementat. F Tr 0 este functie de transfer pe 0. In cazul
saltului eronat, automatul revine in s0 prin incrementarea
numaratorului printr-un numar de tacte.

Pentru o functionare corecta, starea prezenta a trebuie sa


cunoasca variabila/variabilele de intrare care determina
tranzitia catre starile succesoare.
SIN = Serial In ; Intre SIN0 si SIN1 avem un SI logic. La
fiecare impuls de ceas, informatia de pe SIN0 SIN1, intra in
celula Q0, dupa care Q0 se transforma in Q1, Q1 se
transforma in Q2 etc. Modul de incarcare a informatiei este
serial, facandu-se prin deplasare de la MSB la LSB cu o

celula la fiecare tact. Qi 1 Qi ;


Q0 SIN
74xx163 Dupa 8 tacte, cei 8 biti de informatie aplicati pe SIN, se
regasesc pe celulele Q0Q7. CLR este de tip asincron activ
in 0 logic. CLR sterge continutul registrului.
3) Registru P-S pe 8 biti 74xx165
Intrarea se face in
Proiectarea functiilor blocului F Tr 0: paralel, si avem o
Se noteaza cu - singura iesire.
campurile b-f. M=mod de lucru
Structura poate Bitul M asigura prin
implementa orice valoarea 0 si ceasul
masina secventiala de incarca in registru datele
pana la 16 biti, de intrare. Pentru M=1, datele de intrare sunt deplasate de la
pastrand structura LSB la MSB, si sunt prezentate de la MSB la LSB pe iesirea
MUX si a OUT. Bitul CLR se inlocuieste cu semnalul STOP. Pentru
numaratorului STOP=0, circuitul intra in Standby, deci nu incarca si nu
conectand variabila deplaseaza informatia. Pentru STOP=1, circuitul realizeaza
particulara la intrarile una din cele 2 functii.
in MUX. 4) Registrul universal
74xx194 de 4 biti 16 pini
Registre
Clasificare conform modului de
exploatare: modulul de intarare
(scriere) IN si modulul de iesire (citire)
OUT.

1) Registrii PP (paralel-paralel) de 8 biti


74xx374 / 574 ; 74xx373 / 573
374 Circuitul contine: intrarea de ceas care asigura functionarea
(chip enable select) sincrona, intrarea CLR asincrona activa in 0 si prioritara
20 pini fata de ceas, 2 intrari de mod de lucru M0,M1, intrarile de
Incarcarea informatiei de date D0,,D3, SIR=Serial Input Right, SIL=Serial Input
intrare se face de catre Left. Tabele de functionare:
frontul crescator al
ceasului. Cei 8 biti de
intrare au la iesire
tamponul Buffer TS.
CE=0 => iesirile sunt active conform variabilelor incarcate in
registru. Se pot conecta mai multe circuite de iesire la iesire,
cu conditia sa nu fie active 2 in acelasi timp (multiplexare
cablata). La 74xx373/573, CP este ctiv in 1 si incarcarea Daca SIR=0, atunci o deplasare spre dreapta insemna
informatiei nu se face pe front ci se face pe toata durata inmultirea numerelor existente in registru cu 2.
activa a ceasului (incarcare de tip Hausparent). Shift Right: 2n pentru SIR=0 si 2n+1 pentru SIR=1.
Shift Left: [n/2] pentru SIL=0 si [n/2]+2k-1 pentru SIL=1.
Exemplu: Proiectarea unei unitati aritmetice de calcul pentru
adunarea si inmultirea numerelor reale in simpla precizie (32
biti). Numerele reale se reprezinta stfel: 1 bit semnul, 8 biti
exponentul (putere a lui 2) si 32 biti mantisa (normalizata).
2) Registrii S-P de 8 biti Vom avea urmatoarea structura: un controler care citeste
74xx164 asincron 14 pini operanzii din memorie de la adresa specificata si memoreaza
cei 2 operanzi in registrii, un bloc de insumare, un
acumulator care este un registru in care se se incarca
rezultatul insumarii. Deci, vom avea nevoie, dpdv al
resurselor hardware de: blocuri sumatoare, blocuri de
deplasare a informatiei si numaratoare. Se va proiecta o
unitate de comanda care exploateaza resursele externe, pentru
realizarea +,-,*.
Proiectarea circuitelor secventiale sub forma
microprogramabila
Un circuit secvential se caracterizeaza printr-un algoritm
functional al carui element emitor reprezinta starea logica a Memorie de microprogram
circuitului respectiv. Complexitatea este data de numarul de
stari necesare pentru implementarea algoritmului, de numarul
variabilelor de intrare si de numarul variabilelor de iesire. O
stare logica trebuie sa cunoasca: semnalul/semnalele de
intrare care ii decid tranzitia spre starile succesoare, codurile
starilor succesoare si setul comenzilor pe care trebuie sa le
genereze starea. Fie urmatoarea structura elementara a unui
circuit secvential:
Fiecare stare determina
tranzitia generand codul starii
de destinatie pe baza
variabilelor individuale x(p).
Se inlocuiesc variabilele Toate conditiile functionale sunt reprezentate in circuitul de
particulare x(p) printr-o memorie. CI=intrarea de adresa a MUX. Presupunem ca in
variabila generala test care momentul analizei, memoria microprogramului este adresata
este particularizata de fiecare stare printr-un mod de adresare cu valoarea codului starii p. Informatia accesata la aceasta
a unui MUX al starilor logice. Circuitul de memorie adresa determina generarea unui vector CI, unde trebuie
reprezinta un circuit format dintr-un numar de celule de tip conenctat semnalul x(p). Campurile AD0 si AD1 vor genera
registru capabile sa memoreze informatia. Registrul este informatie despre codurile starilor s0(p) si s1(p). Primul
organizat sub forma a 2n cuvinte ori m biti. Memoria poate fi impuls de ceas care soseste incarca in registrul RAD (paralel-
exploatata prin: scriere (WRITE) in care se inscrie informatia paralel) valoarea codului egala cu adresa microinstructiunii
utila in aceeasi memorie si citire (READ) in care se citeste succesoare microinstructiunii p. In general, circuitele de
informatia din memorie la nivelul unui intreg cuvant. Pentru memorie permanenta sunt organizate pe 8 biti. In cazul
a se realiza una dintre aceste operatii este necesar ca acel utilizarii unei memorii permanente de tip 2048x8 biti, se
cuvant sa poata fi adresat. utilizeaza 7 circuite integrate de memorie din acelasi model.
Fie A=(an-1,,a0) un cuvant de MUXIN trebuie sa fie de 64 canale. Avem: 11 module de tip
adresare. DIN=intrarea de MUX 2/1, 2 registre paralel-paralel de 8 biti, 7 CI de
scriere ; DOUT=iesirea de memorie, 9 MUX 8/1, 3 CI MUX 2/1, 2 registre paralel-
citire. Majoritatea circuitelor paralel de 8 biti = 21 cuvinte. Cu aceste resurse se pot
de memorie au magistrala DIN implementa structuri controlate de maxim 64 de segmente de
si DOUT comuna. Semnalul intrare si care sa genereze 26 de iesire.
CE activeaza iesirea care este
prezenta in forma TS (three Calculul frecventei limita superioara a structurilor
state). Memoria permanenta (ROM=Read Only Memory) microprogramate cu 2 adrese in conditiile de functionare
reprezinta memoria inscrisa prin anumite mijloace tehnice sincrona
(P=programmable). Memoria EPROM (Erassable ROM) este Marimile de intrare X se presupun
memoria in care ce s-a scris mai poate fi si sters. EEPROM sincronizate / intarziate prin trecerea
(Electrically EPROM) este memoria in care stergerea lor printr-un registru. t(reg) reprezinta
informatiei se face electric. FLASH reprezinta memoria cu intervalul scurs de la momentul
caracter permanent. Memoria volatila (RAM=Random ceasului in frontul crescator pana cand
Access Memory) este caracterizata prin pierderea informatiei informatia de la iesire se stabilizeaza.
la scoaterea de sub tensiune. Avantajul este ca accesul la tSU reprezinta timpul de prestabilire. Memoria este adresata
informatie este mult mai rapid decat in cazul memoriei din registrul de adrese si ofera la iesire informatia de la
permanente. Structura de tip paralel este mai rapida decat cea adresa concreta. Timpul de acces de memorie reprezinta
seriala, dar necesita ca lungimea cuvantului sa fie mare. intervalul dintre momentul unei adrese stabile pana la
Structura microprogramata cu 2 adrese (cu 2 succesori) stabilizarea informatiei de la adresa. De la adresa la iesire
avem componenta tMUX(A/0) si de la intrare la iesire avem
componenta tMUX(1/0), care le vom nota simplu tMUX.

T 'min t ( REG ) t ACC t (MUX ) t SU


CI=camp al intrarilor ; Se intercaleaza dupa timpul de acces la memorie, intervalul

n l (CI ) log2 n
l ( AD ) t(MUXIN).
2
AD0 si AD1 au aceeasi lungime l(AD) ; m=numarul de stari T ''min t REG t ACC t ( MUXIN ) t MUXAD t SU
utile ;
l ( AD )
2 m l ( AD) log2 m f max 1 / T ''min
Metode de accelerare a frecventei limita superioara pentru
structuri microprogramate
a) Metoda codului de test al tranzitiei

Structuri microprogramate cu format variabil si tranzitie


incrementala
In starea p, campul CI0 detine informatia de cod sau adresare Structurile microprogramate au 2 adrese. Un circuit de
de care este conectat x(s0), iar campul CI1 pentru x(s1). La memorie e construit pe un numar de biti organizati in cuvinte
sosirea frontului crescator al ceasului, circuitul trece in s0 sau pe 8/16 biti. Astfel, se creeaza o noua structura care va
in s1 si RAIN (registru paralel-paralel) se incarca cu valoarea diminua numarul de biti al cuvantului de memorie si care va
din CI0 sau CI1 care va selecta canalul x(s0) sau x(s1). Starea profita de capacitatile memoriei.
p comunica prin RAIN stari succesoare, canalul de pe care isi
conditioneaza tranzitia. Costul circuitului creste, deci scorul
de viteza este aparent minor.
b) Utilizarea tehnologiei TS pentru multiplexare cablata
care se refera la modul de generare a iesirii circuitului de
memorie. Semnalele care activeaza/dezactiveaza iesirea sunt:
CS (Chip Select), CE (Chip Enable), OE (Output). Daca
CS=0, atunci iesirea devine valoarea logica completa. CI0 si
AD0 sunt selectate de semnalul t=0. Daca t=1, atunci sunt Microinstructiunea p este transformata in 2 microinstructiuni:
active CI1 si AD1. Intervalul de timp necesar selectiei/ C(p)=C(p) si x(p)=x(p). Tranzitia de la p la p are un
deselectiei este tCS(MEM). singur succesor, adica este o tranzitie neconditionata.
cod p=cod p+1 ; cod s1=cod p+1
In memoria de microprogramate nu mai trebuie memorata
decat adresa de tranzitie pentru situatia in carevariabila
testata are valoarea 0. Microinstructiunea p este sparta in 2
microinstructiuni: pTIP=CMD (C) si pTIP=tranzitie (T).

T 'min t REG t ACC t SU


T ''min t REG t MUX tCS t SU
=> f max 1 / max(T 'min , T ''min )
Pentru toate microinstructiunile de tip C, campul CI trebuie
sa emita codul canalului de intrare care este legat la 1 (t=1).
Pentru toate microinstructiunile de tip T, CI emite codul starii
x(p). COUT este independent de CI si AD).
lucru al unei structuri cu 2 adrese. CS0 se obtine doar cand
T/B=0 si t=0, adica t+T/B, iar CS1 cand t(negat)+T/B.
ADV reprezinta adresa de tranzitie multipla.

Lungimea microinstructiunii este maximul dintre l(COUT) si


l(CI)+l(AD0). C/T indica daca microinstructiunea are tipul C
sau tipul T. Daca C=1, atunci este de tip C, atfel de tip T.

VALID reprezinta o intrare a registrului care permite


incarcarea informatiei din COUT in registrul ROUT. COUTS
se incarca in momentul trecerii din p in p.

Implementarea conceptului de procedura si


Structuri microprogramate cu mai multe adrese de macroinstructiunea in structura microprogramului
specificare a tranzitiei paralel
Intr-un limbaj de ASM al unui microprocesor se utilizeaza un In cadrul unui microprogram care implementeaza un algoritm
repertoriu de instructiuni. Intr-un microprocesor, de executie, este necesar ca anumite activitati sa fie repetate
instructiunea e specificata pe un numar de biti. Prin in diverse momente sau zone de executie de microprogram.
inlantuirea mai multor instructiuni se asigura programarea in Aceste activitati specifice, impun proiectarea unui set de
ASM (cod masina). microinstructiuni care se particularizeaza in functie de zona
in care a ajuns microprogramul. Aceste activitati se definesc
prin conceptul de macroinstructiune. Macroinstructiunea
reprezinta un set de microinstructiuni care se insereaza intr-
un anumit algoritm unde este necesar pentru executie. Un
procesor aritmetic vectorial este dotat cu un algoritm de
inmultire a doua matrice: M1(i,j) si M2(j,k) => M(i,k). Pentru
determinarea unui singur element din matrice sunt necesare j
inmultiri si j adunari. CALL=apelare. RETURN= intoarce la
DECI reprezinta starea in care se incepe decodificarea microprogramul apelant. Programul care apeleaza procedura
instructiunii (8 biti). I0-I255 reprezinta adresa de intrare a se numeste program principal, adica CALL se realizeaza de
descrierii concrete a fiecarei instructiuni din repertoriu. Dupa programul principal, iar RETURN desfasoare executia
ce controlerul secvential definitiveaza executia instructiunii, procedurii. In cazul unei stive avem: PUSH=incarca si
trece trece la citirea unei noi instructiuni din zona de program POP=reda controlul programului principal. Stiva poate fi
a memoriei. Structura se bazeaza pe varianta cu MUX organizata ca o memorie de tip volatil a carei adresare este
cablata, in care emitatorii de salt vor fi AD0, AD1 si DECI. realizata de registrul StockPointer=STK/STKPO.

Registrul RINSTR este LD cu codul instructiunii ce urmeaza POP extrage din stiva valoarea de la STKPO, apoi
a fi executata, care se incarca se catre ceas putand fi validat incrementeaza cu 1 si incarca in RAD. Celula stiva e
de semnalele de control generate de catre microprogram conectata pe ADV.
(T/B). Semnalul T/B are rolul de a activa LD RINSTR si PUSH=Count Up (STKPO)
blocul TRI pe magistrala ADV. TRI=translator de POP=Count Down (STKPO)
instructiuni. Din DECI se trece in I0 daca TRI emite codul I0.
Dupa procesul de decodificare, circuitul trece in regimul de
In STK se va memora, pentru o adresa de n biti, RAD(1) in
loc de RAD(0), si se injecteaza in stiva 1.

Daca DIR=1, atuci se incrementeaza, iar pentru DIR=0 se


decrementeaza. CS0 si CS1 sunt determinate de T/B, R si t.

TRI=1 => CSTRI


R=0 => STACK

CS 0 t T / B R
CSSTK T / B R
CS1 t T / B R
CSTRI T / B R

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