24
Reprezentarea numerelor si operatiilor aritmetice 1) Clasificarea nr: intregi (I) si reale (I.F) (poz/negative). 2) Sistemul de reprezentare={Baza,Simboli} a) Sistemul zecimal: B=10, S={0,…,9} b) Sisteme tip binar binar: B=2, S{0,1} bit octal: B=2 3 =8, S{0,…,7} hexazecimal: B=2 4 =16, S={0, …,9,A,B,C,D,E,F} Conversii: - binar-octal: se imparte nr in grupe de cate 3 biti de la dreapta la stanga - octal-binar: se reprezinta fiecare cifra octala pe 3 biti de la stanga la dreapta - binar-hexa: se imp. nr binar in cate 4 biti de la LSB la MSB - hexa-binar: fiecare cifra hexa se inlocuieste cu grupul de 4 biti care il reprezinta (sistemul hexa) 2 3 2 2 2 1 2 0 0 0 0 0 0 8 1 0 0 0 1 0 0 0 1 9 1 0 0 1 2 0 0 1 0 A 1 0 1 0 3 0 0 1 1 B 1 0 1 1 4 0 1 0 0 C 1 1 0 0 5 0 1 0 1 D 1 1 0 1 6 0 1 1 0 E 1 1 1 0 7 0 1 1 1 F 1 1 1 1 -binar-zecimal: . ( i -simbolii sistemului; b i -baza la puterea i) 3) Reprezentarea numerelor intregi in binar - intreg: 16 biti (short) si 32 biti (long) Semnul ocupa pozitia MSB. (0-pozitiv; 1- negativ) (bit 15 – short si bit 31 - long). Short [-2 15 , 2 15 -1]=[-32.768,32.767] Long [-2 31 ,2 31 -1] Conventii standard : 1) VA&S (M&S) (VA=valoare absoluta; S=semn; M=medel) Numarul 0 in hexa este: +0=0000 H ; - 0=8000 H . 2) C1 (complement fata de 1) Complementul fata de 1 al unui numar este imaginea binara obtinuta prin inversarea fiecarei pozitii binare. Un incon-venient este faptul ca C1 pastreaza dubla imagine a lui 0. Ex: n1=111=01101111; n2=-123=10000100; n1+n2=11110011 => C1(n1+n2)=10001100 3) C2 (complement fata de 2); C2=C1+1 Complementul fata de 2 al unui numar se obtine incepand de la MSB pana se intalneste valoarea 1 se pastreaza, apoi restul se complementeaza. C2 are o singura reprezentare pentru 0. Ex: 84=01011000 C1(84)=10100111; C2(84)=C1(84)+1=10101000. 4) Reprezentarea numerelor reale si operatii aritmetice. Metode de reprezentare a numerelor. I.F; Sgn=0 (pozitiv) sau 1 (negativ). 1) Reprezentarea in virgula fixa (Fixel Point) n = n I + n F ; 65362879=.65362879x10 4 Mantisa normalizata presupune ca prima cifra din dreapta numarului sa fie diferita de 0 si tot ce ramane la stanga sa fie 0. Procedura de normalizare reprezinta deplasarea spre stanga cu un numar k de pozitii si majorarea exponentului cu k. Rezolutia este precizia de reprezentare a numerelor. Numarul de cifre alocat pentru mantisa defineste precizia de reprezentare. Eroarea maxima de reprezentare este (n M = numarul de biti al mantisei).

Iandrei.clubcisco.ro/cursuri/1pl/asdn/asdn_sinteza.doc  · Web view2005-03-14 · ... unde “tau” este intarzierea. Sistemul de l ecuatii caracterizeaza generatorul de secvente

Embed Size (px)

Citation preview

Reprezentarea numerelor si operatiilor aritmetice

1) Clasificarea nr: intregi (I) si reale (I.F) (poz/negative).2) Sistemul de reprezentare={Baza,Simboli}a) Sistemul zecimal: B=10, S={0,…,9}b) Sisteme tip binar

binar: B=2, S{0,1} bitoctal: B=23=8, S{0,…,7}hexazecimal: B=24=16, S={0,…,9,A,B,C,D,E,F}

Conversii:- binar-octal: se imparte nr in grupe de cate 3 biti de la dreapta la stanga- octal-binar: se reprezinta fiecare cifra octala pe 3 biti de la stanga la dreapta- binar-hexa: se imp. nr binar in cate 4 biti de la LSB la MSB- hexa-binar: fiecare cifra hexa se inlocuieste cu grupul de 4 biti care il reprezinta

(sistemul hexa)23 22 21 20

0 0 0 0 0 8 1 0 0 01 0 0 0 1 9 1 0 0 12 0 0 1 0 A 1 0 1 03 0 0 1 1 B 1 0 1 14 0 1 0 0 C 1 1 0 05 0 1 0 1 D 1 1 0 16 0 1 1 0 E 1 1 1 07 0 1 1 1 F 1 1 1 1

-binar-zecimal: .

(i-simbolii sistemului; bi-baza la puterea i)

3) Reprezentarea numerelor intregi in binar- intreg: 16 biti (short) si 32 biti (long)Semnul ocupa pozitia MSB. (0-pozitiv; 1-negativ) (bit 15 – short si bit 31 - long).Short [-215, 215-1]=[-32.768,32.767]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)Complementul fata de 1 al unui numar este imaginea binara obtinuta prin inversarea fiecarei pozitii binare. Un incon-venient este faptul ca C1 pastreaza dubla imagine a lui 0.Ex: n1=111=01101111; n2=-123=10000100;n1+n2=11110011 => C1(n1+n2)=10001100 3) C2 (complement fata de 2); C2=C1+1Complementul fata de 2 al unui numar se obtine incepand de la MSB pana se intalneste valoarea 1 se pastreaza, apoi restul se complementeaza. C2 are o singura reprezentare pentru 0.Ex: 84=01011000C1(84)=10100111; C2(84)=C1(84)+1=10101000.

4) Reprezentarea numerelor reale si operatii aritmetice.Metode de reprezentare a numerelor.I.F; Sgn=0 (pozitiv) sau 1 (negativ).1) Reprezentarea in virgula fixa (Fixel Point)n = n I + n F ;

65362879=.65362879x104 Mantisa normalizata presupune ca prima cifra din dreapta numarului sa fie diferita de 0 si tot ce ramane la stanga sa fie 0. Procedura de normalizare reprezinta deplasarea spre stanga cu un numar k de pozitii si majorarea exponentului cu k.Rezolutia este precizia de reprezentare a numerelor. Numarul de cifre alocat pentru mantisa defineste precizia de reprezentare. Eroarea maxima de reprezentare este

(nM = numarul de biti al mantisei).

;

2) Reprezentarea in virgula mobila (Flouting Point)a) Reprezentarea in sistem binar virgula mobila in simpla precizie – utilizeaza 32 biti

Exp este in C2 si Exp[-128,127]; mantisa este normalizata.Exp OFFSET = Exp + 128 [0,255]1-128 subunitar ; 129-255 supraunitarb) Reprez. in virgula mobila cu un bit ascuns (Hidden bit)- reprez in dubla precizie (se prelungeste mantisa la 55 biti).Permite reprezentarea cu 16 zecimale evacte.

Conversia partii fractionare din zecimal in binarConversia se face exact atunci cand procedeul iterativ se opreste la partea fractionara 0. O conversie periodica din program depisteaza perioada. Conversia completa este atunci cand se parcurg 23/55 de biti.Operatii aritmetice efectuate cu numere reale in virgula mobilaa) Adunarea: Se aranjeaza operanzii conform marimilor (operandul mai mic se deplaseaza catre dreapta). Operanzii negativi se transforma in C2. Mantisa se normalizeaza, si se modifica doar in cazul in care rezultatul este negativ. Daca 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.

5) Algebra logica1) a) Negatia (Inversare, Complementare):

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

; =1

daca e negat si 0 daca nu.c) Disjunctia (Suma, Sau/Or)Suma da rezultatului valoarea 0 numai daca toate variabilele implicate au valoarea logica 0.

;

daca e negat si xk daca nu.

2) Proprietati:a) a 0 = 0 ; a + 1 = 1 ; b) a 1 = a ; a + 0 = ac) a a … a = a ; a + a +…+ a = ad) Asociativitate si comutativitate: a (b+c) = a b + a cForma disjunctiva canonica

. Reprezinta suma logica a termenilor produs

asociati acelor puncte in care functia e 1 logic. Intr-un termen canonic, valoarea bitului se ia direct daca e 1 si 0 invers.Forma conjunctiva canonica

. Reprezinta produsul logic al termenilor

canonici disjunctivi asociati punctelor in care functia e 0 logic. In termenul canonic individual pentru toti bitii, bitii 0 se iau direct si bitii 1 se iau negat.Teoremele lui DeMorgan

(Negata sumei este

egala cu produsul negatiilor).

(Suma negatiilor este

egala cu produsul negat).3) Operatorul NAND reprezinta negarea unui produs.

Operatorul NOR reprezinta negarea unei sume.

;

Operatorul XOR (merge numai pe 2 biti)

6) Reprezentarea spatiului logic n dimansional Sn in cod ciclic – reflectat (cod Gray)1) Distanta binara intre doua puncte (distanta Hamming)dH = numarul de biti prin care difera codurile celor 2 puncteDaca 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 GraySe alege un cod de baza (in general codul cu toti bitii 0). Urmatoarele coduri din secventa se obtin prin complementari ale codului urmator, pornind de la LSB si indeplinind conditia de adiacenta a noului cod fata de cel anterior. Axele de simetrie arata proprietatea de simetrie sau reflexie a codului.Nr x3 x2 x1 x0 Nr x3 x2 x1 x0

0 0 0 0 0 0 0 0 0 01 0 0 0 1 1 0 0 0 12 0 0 1 0 3 0 0 1 13 0 0 1 1 2 0 0 1 04 0 1 0 0 6 0 1 1 05 0 1 0 1 7 0 1 1 16 0 1 1 0 5 0 1 0 17 0 1 1 1 4 0 1 0 08 1 0 0 0 C 1 1 0 09 1 0 0 1 D 1 1 0 1A 1 0 1 0 F 1 1 1 1B 1 0 1 1 E 1 1 1 0C 1 1 0 0 A 1 0 1 0D 1 1 0 1 B 1 0 1 1E 1 1 1 0 9 1 0 0 1F 1 1 1 1 8 1 0 0 0

7) Reprezentarea bidimensionala a Sn

1) Diagramele Karnaughn biti – k biti linii => 2k

- j = n-k biti coloane => 2n-k

Diagrama este o matrice din linii si coloane. Fiecare linie/coloana capata un cod propriu, format din k biti/n-k biti.Diagrama va avea 2k linii si 2n-k coloane. Minimizarea 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.

2) Subspatii ale spatiului n dimensionalUn subspatiu Sk Sn, , reprezinta o multime 2k coduri, unde n-k biti sunt constanti, iar k biti parcurg intreg ciclul de variatie. Exista 2n subspatii de tip S0.

. Prin utilizarea diagramei

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 observa subspatiile acoperite cu aceeasi valoare, apoi se inlocuiesc toate punctele subspatiului cu expresia care caracterizeaza subspatiul, iar termenii rezultati se insumeaza.

Comparatoare binare de marime(Magnitudine comparator)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 – 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 o intarziere “tau” vom avea p”tau” timpi de asteptare pana la stabilizarea rezultatului.Pentru n=1 avem comparator elementar pe un bit:

; ;

Pentru , avem 2 nivele de prelucrare => .

Pentru avem 3 nivele de prelucrare => .

Pentru n=2 avem comparator pe 2 biti:=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 pentru =1 restul de 4 cazuri.

In forma canonica: 4 inversoare; 6 modulo “SI” de cate 4 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)3 sau 2 1 sau 0 3 sau 1 > 0 3 > 2 sau 0 min2 > max1

Pentru n=3 avem un comparator pe 3 biti:

In forma canonica: 6 inversoare a 28 AND x 6 intrari fiecare; 1 modul OR de 28 de intrari => cost = 202.

;

;

;

;

;

;

.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.

Modulele in AND de 2 intrari sunt 3 module intr-o capsula. Cele de 4 intrari sunt 2 intr-o capsula.

Metoda (algoritmul) de simplificare Quine McCluskeyIn cazul formei disjunctive, minimizarea prin Q McC presupune urmatoarele etape: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“-”(don’t care). 3) Determinarea tabelului de acoperire al functiei. Tabelul este un tablou la care liniile corespund implicantilor primi, iar coloanele corespund echivalentilor zecimali ai conjunctiilor 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 Ck

1 cazuri, cu pasul anterior.3) Se considera f (pi,pj)=1.Circuite logice de insumare (Sumatoare binare)Un element sumator:

Suma este un rezultat de adunare in clasa modulo 2n. In cazul in care suma depaseste modulul, apare bitul de transport COUT (carry out).Sumatorul elementar pe 1 bit

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

Transportul necesita numai 2 nivele de propagare (nu trebuie inversat nici unul dintre biti). Legarea in cascada a n module:

tp(s) = 3 ; tp (cout) = 2 tp(s) = (n-1) tp(cout) + tp(s0) = 2 (n-1) + 3 = (2n+1) .Sumatorul pe 2 biti

Cout se obtine atunci cand numarul de biti care se aduna este mai mare sau egal cu 2.

; cint=bitul de transport

format din cin,x0,y0 ; tp(s1)=3 ;

;

tp(cout)=2.Realizarea sumatorului de n biti (n=par) utilizand sumatorul pe 2 biti (m=n/2)

;

2.

1.

Exista hazard in situatia reala.. Termenul abd nu

modifica definitia functiei, si este redundand, fiind util dpdv fizic, deoarece taie situatia de hazard. Termenul abd conecteaza termenii care produc hazardul.

Definirea functiilor logice in diagrame Karnaugh cu intrari variabile

In abd valoarea functiei este indiferenta.

Reguli de simplificare1) 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 “-”.

Circuite decodificatoare – reprezinta module capabile sa genereze termeni canonici ai spatiilor intrarii.Decodificatoarele sunt circuite logice combinationale care activeaza una sau mai multe iesiri in functie de cuvantul de 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.

Construirea unui decodificator 4/16 utilizand un decodificator 3/8

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.

Circuite logice multiplexoare (Selectoare de date) MUXCircuitele de multiplexare sunt circuite logice combinationale 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

=

vector de date canale de date.A={an-1,…,a0} vector de adresaS(E) o intrare de activare (validare)

Y=functia de iesire

, unde

Ai este termenul canonic de tip produs (conjunctiv) al bitilor

an-1,…,a0. Avem: pentru S=0 si

Y=0 pentru S=1. Semnalul S(E) este pentru functionarea circuitului cand S=0. Cand S=1 inhiba functia.

a0=0 => D0=verdea0=1 => D1=verdeS=1 => trafic oprit (trecere pietoni)

MUX 2/1 74xx157 – 16 pini

MUX 4/1 74xx153 - 16 pini

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.2n k

Construirea multiplexoarelor 2 n /1 din 2 m /1 unde m<n Construirea unui MUX de 64 canale (n=6) utilizandu-se MUX standard (2/1; 4/1; 8/1; 16/1).Intrare cu 64 canale conectate la 32 module 2/1. Primul nivel imparte spatiul in 2 subspatii 0-31, 32-63, al doilea nivel beneficiand de a4 imparte submultimile de la primul nivel de la 0-15, 16-31. Nivelul 3 fiind un MUX, ve selecta canalul individual.

nivel 1: 8 CI; nivel 2: 4 Ci; nivel 3: 1 CI = 13 CIAlta varianta de implementare cu 8/1:

Implementarea functiilor cu ajutorul multiplexoarelorf : Sn S1; Sn={xn-1,…,x0}; An={an-1,…,a0}; MUX 2/1;

, unde Ai sunt termenii canonici ai

vectorului de adresare ; este suma

termenilor canonici pentru punctele in care functia este 1. Fie 2 numere X1, X0 => X={ X1, X0} , Y={y1,y0} si =1. Pentru x=y se alege un MUX 16/1.

In cazul in care dimensiunea de adresare a MUX este mai 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.

Utilizarea multiplexoarelor in cazul in care spatiul de definire al functiei are dimensiune superioara de adresare fata de spatiul de redresare al multiplexorului f : Sn S1; MUX 2k/1 => k<n

Cazul n=k+1: ; Functia f nu 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 reziduu).Restul de biti n-1=k sunt biti principali (de adresare). Din cele Cn

1=n posibilitati, bitul reziduu este ales astfel incat 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 interiorul subspatiului dat de bitii de adresare. Cazul n=k+m:Din cei n biti care definesc functia, se alege un numar de k biti care se amplaseaza pe liniile n ale MUX. Cei m biti de reziduu genereaza functiile logice aplicate de cele 2k intrari 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.Sn=S6 ; Ak=A4 ; Exista 15 solutii posibile. Alegem x2,x1 reziduuri. x0=a3; y2=a2; y1=a1; y0=a0.

D0=x2+x1D8=1

D1=D0D9=D0

D3=x2D11=x2D2=x2D10=x1+x2=D0

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 functiile SI, respectiv SAU.

CIRCUITE SECVENTIALEAnaliza 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 prin codul binar al acesteia. Sistemul trece dintr-o stare in alta in functie de evolutia semnalelor de

intrare si de starea din acel moment.S este generatorul de secvente (stari).

,

i=0,…,l-1; unde “tau” este intarzierea. Sistemul de l ecuatii

caracterizeaza generatorul de secvente. Daca

, i, atunci starea siatemului este stabila, si singurul factor care ii poate determina trecerea intr-o alta stare este X. => Numarul de stari este finit, deci sistemul este determinat.

C = bloc de tip comb. generat de Y =>

;

Y depinde numai de Q, deoarece Q depinde de XVarianta asincrona presupune ca memorarea se bazeaza pe intarzierile naturale, si in acest caz circuitul se numeste circuit secvential asincrin (CSA). Daca introducem o 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).

CSS este mult mai controlabil decat CSA cand se pune conditia ca in intervalul T sa se stabilizeze conditiile care 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.Analiza unui CS : in functie de schema electrica a circuitului si semnificatiile intrarilor si iesirilor, trebuie sa descrie 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) - AnalizaFamilia R-S (Reset-Set)1) Varianta NORa) desenarea schemei electrice

b) ;

;

; Conceptul de

bistabil vine de la faptul ca un bit poate avea 2 stari, “0” sau “1”.c) diagrama Karnaugh de tranzitii – este compusa din variabile de stare atasate pe axe cu valorile la momentul prezent, completandu-se la momentul t+”tau”.

Daca s-ar scoate coloana 3, atunci circuitul ar deveni simetric. Sageti arata tranzitiile.

d) organigrama functionarii (Flowchart)

Conditia restrictiva R=S=1 nu poate aparea. Starea s0 este controlata de S si starea s1 este controlata de R. Semnalele S si R sunt active in 1 si pasive in 0.e) tabela de adevar f) diagrama de impulsuri

- circuitul este secvential (in Q s-au memorat schimbarile);- circuitul este de tip asincron (depinde doar de momentul cand au intervenit schimbarile); - R si S sunt active in “1”.

2) Varianta NANDa) schema electrica

b) ecuatia de tranzitie

; ;

c) diagrama Karnaugh

d) orgamigrama circuitului

Restrictia R=S=0 nu apare. Semnalele R si S sunt inactive in “1” si active in “0”.e) tabela de adevar f) diagrama de impulsuri

Q memoreaza ultima comanda care a fost activa.

CBB tip JK Master Slave

Pentru T=0 => a=b=1 ; Standby Mastercomplementare => sau este 0; C sau este 1

c, d complementare => , complementare.

Pentru T=1 => => c=d=1 Standby Slave

sau =0; b sau a =1; complementare

; =>

;

; ; ;

;

;

; Schema circuitului: 2 structuri Master si Slave de tip R-S varianta NAND; iesirile sunt respectiv si

; 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:

Diagrama Karnaugh:

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 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=o copie sincronizata axata pe cresterea ceasului intrarii D.D-intrari de date ; T – ceas

Semnalele de tip Set-Reset (Preset-Clear) pentru CB sincroneCele 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

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.

Implementarea de tip asincron (cu porti NAND)

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 un moment dat, cod=1 => MUX0 va transfera dupa intarzierea proprie de propagare, la iesire valoarea “1”.

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.

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.

Sinteza semnalelor de iesire: DUP, RC, DUG, IUG.DUP, DUG sunt active in “0” si RC, IUG sunt active in “1”.

Analiza functionarii in domeniul timp/frecventa

FT = bloc de tip combinational care genereaza functia de tranzitie; M=bloc memorie sincrona; FT depinde de X si de rezultatul memorarii lui M; CMD=memoria de intarziere a propagarii informatiei. Timpul de propagare a blocului FT reprezinta intervalele de timp intre momentul in care intrarile blocului capata valori logice stabile pana in momentul in care iesirile devin stabile. M memoreaza in momentul de decizie generat de semnalul CP informatia preluata de FT.

(set up time) este foarte

scurt, chiar 0 la circuitele moderne. Din momentul ceasului, informatia din M devine la iesire vectorul binar Q (vectorul variabilelor de stare). Q se stabilizeaza intr-un interval de timp tp(M). Perioada ceasului se gaseste intre 2 fronturi crescatoare. 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.

=>

(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.

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 componente se defineste ca incarcare sau scriere paralela. LOAD (WRITE) sau LD (WR) ; Prelucrare informatie: citire READ (RD). Cand inscrierea informatiei se face simultan pentru cei n biti, citirea se face analog.

CE = cip enableDIN = date intrare

Registru P-P (paralel-paralel)

CE=0 activeaza iesirile pentru prelucrarea informatiei memorate ; CE=1 dezactiveaza iesirea ; Avem incarcare pe front crescator, cu CS pentru DOUT. Registrele cu incarcare seriala a informatiei

REGISTRU S-P (Shift Register) => registru de deplasare

Informatia de intrare nu e oferita simultan pe n biti, ci pe un singur fir (intrare seriala SI). La fiecare impuls LD se incarca in Q0

valoarea lui SI si valorile lui Qo->…->Qn-1. In cazul incarcarii

informatiei in paralel (un tact), datele de intrare stabilizeaza toate deodata. In cazul incarcarii informatiei seriala (n tacte) intrarea se modifica la fiecare tact. Deplasarea LSB -> MSB presupune inmultirea cu 2 a valorilor stocate pana in acel moment.

REGISTRU S-S(FIFO=first in first out)

REGISTRU P-S REGISTRU FINO

CIRCUITE NUMARATOARENumaratoarele numara impulsurile ceasului de control, incarca informatia in paralel ca un registru paralel de intrare, pentru ca procesul de numarare sa inceapa de la o valoare prestabilita. Numaratoarele se pot proiecta astfel incat sa poata numara in sens crescator (incrementare) sau descrescator (decrementare). Numaratoarele reversibile 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)

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 asincron, cat timp LD este 0, fiecare celula preia valoarea din

acel moment al intrarii corespunzatoare. Pe toata durata 1, celulele Qj sunt 0. LD=0 si CLR=1 reprezinta 2 conditii contradictorii, si rezultatul este indecis. In cazul in care ambele sunt active, ultimul care trece in pasiv va decide functia pe care o indeplineste. Semnalul CU (Count Up) este impulsul care determina numararea in sens crescator. 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 finala (starea 9 pentru decadic si starea F pentru hexa). BW este copia impulsului de decrementare in stare finala.

(decadic)

(hexa)

(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:

. Pentru

numaratoarea inversa avem conditia:

(CD activ,

CU=1 pasiv).

74xx : 168 dec ; 169 hex (reversibile; 16 pini) 162 dec ; 163 hex (numai crescator; 16 pini)

CP este ceas unic activ pe frontul crescator. DIR reprezinta directia de numarare. Pentru DIR=1 avem numaratoare in sens direct, iar pentru DIR=0 avem numaratoare in sens invers. Pentru 162,163, DIR are rolul de Clear activ in “0”.P si T sunt semnale de activare/blocare a numararii si a transportului CY. Pentru 168,169, P si T sunt active in “0”, iar pentru 162,163 in “1”. Semnalul CY reprezinta semnalul de transport care decodifica starea logica finala, care este activa in 9 pentru decadic si in F pentru hexa. Generarea lui CY este activata sau dezactivata in functie de semnalul P. Daca P=1 pentru 162,163 numaratorul este 9 sau F => CY activ. Daca P=0, atunci CY este mascat. Pentru 168,169:

Primul impuls de ceas, trece celula Dec in 9 si numara in celula Hex. Toate celulele comuta in momentul ceasului.

Utilizarea numaratoarelor pentru realizarea controlerelor secvantiale

Pentru o functionare corecta, starea prezenta “a” trebuie sa cunoasca variabila/variabilele de intrare care determina tranzitia catre starile succesoare.

Dpdv fizic, “s1”, in cazul unei masini sincrone, nu trece intr-un tact de la “si” la 1,2,3,4 ci face 2 tacturi. In acest caz operarea este mai buna. Pentru o functionare completa, fiecare stare trebuie sa detina informatii despre variabilele de intrare care conditioneaza tranzitiile, codurile starilor de destinatie si semnalele de iesire pe care trebuie sa le genereze. Abstractizarea: Fiecare stare trebuie sa cunoasca variabilele care conditioneaza tranzitia. Avem ca starea “a” se bazeaza pe “xk” si starea “b” se bazeaza pe “xm”. Vom lua un MUX a carui dimensiune sa poata acomoda totalitatea semnalelor de intrare.

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.

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. Astfel, variabilele de stare se vor introduce intr-un numarator 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.

74xx163

Proiectarea functiilor blocului F Tr 0:Se noteaza cu “-“ campurile b-f. Structura poate implementa orice masina secventiala de pana la 16 biti, pastrand structura MUX si a numaratorului conectand variabila particulara la intrarile in MUX.

RegistreClasificare conform modului de exploatare: modulul de intarare (scriere) IN si modulul de iesire (citire) OUT.

1) Registrii PP (paralel-paralel) de 8 biti74xx374 / 574 ; 74xx373 / 573374

(chip enable – select)20 piniIncarcarea informatiei de intrare se face de catre 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 informatiei nu se face pe front ci se face pe toata durata activa a ceasului (incarcare de tip Hausparent).

2) Registrii S-P de 8 biti74xx164 asincron 14 pini

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. ;

Dupa 8 tacte, cei 8 biti de informatie aplicati pe SIN, se regasesc pe celulele Q0…Q7. 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 paralel, si avem o singura iesire.M=mod de lucruBitul M asigura prin valoarea “0” si ceasul incarca in registru datele

de intrare. Pentru M=1, datele de intrare sunt deplasate de la LSB la MSB, si sunt prezentate de la MSB la LSB pe iesirea OUT. Bitul CLR se inlocuieste cu semnalul STOP. Pentru STOP=0, circuitul intra in Standby, deci nu incarca si nu deplaseaza informatia. Pentru STOP=1, circuitul realizeaza una din cele 2 functii.4) Registrul universal74xx194 de 4 biti 16 pini

Circuitul contine: intrarea de ceas care asigura functionarea sincrona, intrarea CLR asincrona activa in “0” si prioritara fata de ceas, 2 intrari de mod de lucru M0,M1, intrarile de date D0,…,D3, SIR=Serial Input Right, SIL=Serial Input Left. Tabele de functionare:

Daca SIR=0, atunci o deplasare spre dreapta insemna inmultirea numerelor existente in registru cu 2.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).Vom avea urmatoarea structura: un controler care citeste 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 microprogramabilaUn circuit secvential se caracterizeaza printr-un algoritm functional al carui element emitor reprezinta starea logica a 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 particulare x(p) printr-o variabila generala test care

este particularizata de fiecare stare printr-un mod de adresare a unui MUX al starilor logice. Circuitul de memorie reprezinta un circuit format dintr-un numar de celule de tip registru capabile sa memoreze informatia. Registrul este organizat sub forma a 2n cuvinte ori m biti. Memoria poate fi exploatata prin: scriere (WRITE) in care se inscrie informatia utila in aceeasi memorie si citire (READ) in care se citeste informatia din memorie la nivelul unui intreg cuvant. Pentru a se realiza una dintre aceste operatii este necesar ca acel cuvant sa poata fi adresat.

Fie A=(an-1,…,a0) un cuvant de adresare. DIN=intrarea de scriere ; DOUT=iesirea de citire. Majoritatea circuitelor de memorie au magistrala DIN si DOUT comuna. Semnalul CE activeaza iesirea care este prezenta in forma TS (three

state). Memoria permanenta (ROM=Read Only Memory) reprezinta memoria inscrisa prin anumite mijloace tehnice (P=programmable). Memoria EPROM (Erassable ROM) este memoria in care ce s-a scris mai poate fi si sters. EEPROM (Electrically EPROM) este memoria in care stergerea informatiei se face electric. FLASH reprezinta memoria cu caracter permanent. Memoria volatila (RAM=Random Access Memory) este caracterizata prin pierderea informatiei la scoaterea de sub tensiune. Avantajul este ca accesul la informatie este mult mai rapid decat in cazul memoriei permanente. Structura de tip paralel este mai rapida decat cea seriala, dar necesita ca lungimea cuvantului sa fie mare. Structura microprogramata cu 2 adrese (cu 2 succesori)

CI=camp al intrarilor ;

AD0 si AD1 au aceeasi lungime l(AD) ; m=numarul de stari

utile ;

Memorie de microprogram

Toate conditiile functionale sunt reprezentate in circuitul de memorie. CI=intrarea de adresa a MUX. Presupunem ca in momentul analizei, memoria microprogramului este adresata cu valoarea codului starii p. Informatia accesata la aceasta adresa determina generarea unui vector CI, unde trebuie conenctat semnalul x(p). Campurile AD0 si AD1 vor genera informatie despre codurile starilor s0(p) si s1(p). Primul impuls de ceas care soseste incarca in registrul RAD (paralel-paralel) valoarea codului egala cu adresa microinstructiunii succesoare microinstructiunii p. In general, circuitele de memorie permanenta sunt organizate pe 8 biti. In cazul utilizarii unei memorii permanente de tip 2048x8 biti, se utilizeaza 7 circuite integrate de memorie din acelasi model. MUXIN trebuie sa fie de 64 canale. Avem: 11 module de tip MUX 2/1, 2 registre paralel-paralel de 8 biti, 7 CI de memorie, 9 MUX 8/1, 3 CI MUX 2/1, 2 registre paralel-paralel de 8 biti = 21 cuvinte. Cu aceste resurse se pot implementa structuri controlate de maxim 64 de segmente de intrare si care sa genereze 26 de iesire.

Calculul frecventei limita superioara a structurilor microprogramate cu 2 adrese in conditiile de functionare sincrona

Marimile de intrare X se presupun sincronizate / intarziate prin trecerea lor printr-un registru. t(reg) reprezinta intervalul scurs de la momentul ceasului in frontul crescator pana cand informatia de la iesire se stabilizeaza.

tSU reprezinta timpul de prestabilire. Memoria este adresata din registrul de adrese si ofera la iesire informatia de la adresa concreta. Timpul de acces de memorie reprezinta intervalul dintre momentul unei adrese stabile pana la 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.

Se intercaleaza dupa timpul de acces la memorie, intervalul t(MUXIN).

Metode de accelerare a frecventei limita superioara pentru structuri microprogramatea) Metoda codului de test al tranzitiei

In starea p, campul CI0 detine informatia de cod sau adresare de care este conectat x(s0), iar campul CI1 pentru x(s1). La sosirea frontului crescator al ceasului, circuitul trece in s0 sau in s1 si RAIN (registru paralel-paralel) se incarca cu valoarea din CI0 sau CI1 care va selecta canalul x(s0) sau x(s1). Starea 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 cablatacare 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 active CI1 si AD1. Intervalul de timp necesar selectiei/ deselectiei este tCS(MEM).

=>

Structuri microprogramate cu format variabil si tranzitie incrementalaStructurile microprogramate au 2 adrese. Un circuit de memorie e construit pe un numar de biti organizati in cuvinte pe 8/16 biti. Astfel, se creeaza o noua structura care va diminua numarul de biti al cuvantului de memorie si care va profita de capacitatile memoriei.

Microinstructiunea p este transformata in 2 microinstructiuni: C(p’)=C(p) si x(p’’)=x(p). Tranzitia de la p’ la p’’ are un singur succesor, adica este o tranzitie neconditionata.cod p’’=cod p’+1 ; cod s1=cod p’’+1In 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: p’TIP=CMD (C) si p’’TIP=tranzitie (T).

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).

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’’.

Structuri microprogramate cu mai multe adrese de specificare a tranzitieiIntr-un limbaj de ASM al unui microprocesor se utilizeaza un repertoriu de instructiuni. Intr-un microprocesor, instructiunea e specificata pe un numar de biti. Prin inlantuirea mai multor instructiuni se asigura programarea in ASM (cod masina).

DECI reprezinta starea in care se incepe decodificarea instructiunii (8 biti). I0-I255 reprezinta adresa de intrare a descrierii concrete a fiecarei instructiuni din repertoriu. Dupa ce controlerul secvential definitiveaza executia instructiunii, trece trece la citirea unei noi instructiuni din zona de program a memoriei. Structura se bazeaza pe varianta cu MUX cablata, in care emitatorii de salt vor fi AD0, AD1 si DECI.

Registrul RINSTR este LD cu codul instructiunii ce urmeaza a fi executata, care se incarca se catre ceas putand fi validat de semnalele de control generate de catre microprogram (T/B). Semnalul T/B are rolul de a activa LD RINSTR si blocul TRI pe magistrala ADV. TRI=translator de instructiuni. Din DECI se trece in I0 daca TRI emite codul I0. Dupa procesul de decodificare, circuitul trece in regimul de

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.

Implementarea conceptului de procedura si macroinstructiunea in structura microprogramului paralelIn cadrul unui microprogram care implementeaza un algoritm de executie, este necesar ca anumite activitati sa fie repetate in diverse momente sau zone de executie de microprogram. Aceste activitati specifice, impun proiectarea unui set de 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 microprogramul apelant. Programul care apeleaza procedura se numeste program principal, adica CALL se realizeaza de programul principal, iar RETURN desfasoare executia procedurii. In cazul unei stive avem: PUSH=incarca si POP=reda controlul programului principal. Stiva poate fi organizata ca o memorie de tip volatil a carei adresare este realizata de registrul StockPointer=STK/STKPO.

POP extrage din stiva valoarea de la STKPO, apoi incrementeaza cu 1 si incarca in RAD. Celula stiva e conectata pe ADV.

PUSH=Count Up (STKPO)POP=Count Down (STKPO)

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 => CSTRIR=0 => STACK