46215671 cartea lui adrian atanasiu

200
Cuprins Intro ducere 3 Capitolul 1: Arhitectura unui sistem de calcul 5 1.1. Organizarea de baz a 5 1.2. Structura general a a ma¸sinilor de calcul 7 1.3. Micro-controllere 12 1.4. Ce ˆinseamn a Arhitectura unui calculator13 Capitolul 2: Reprezentarea numerelor ˆin calculator 15 2.1. Coduri de reprezentare a datelor 15 2.1.1. Coduri ponderate ¸ si neponderate 16 2.1.2. Reprezentarea zecimal codi cat binar 17 2.1.3. Codul ASCII 18 2.2. Reprezentarea numerelor ˆin sistemele de calcul 20 2.2.1. Reprezentarea numerelor ˆintregi 20 2.2.2. Operat ¸ii cu numere ˆintregi 21 2.2.3. Reprezentarea numerelor reale ˆin virgul a mobil a 23 2.2.4. Operat ¸ii ˆin virgul a mobil a 26 2.3. Exercit¸ii 28 Capitolul 3: Algebre ¸ si funct ¸ii booleene 29 3.1. De nirea algebrelor booleene 29 3.2. Propriet at ¸i ale algebrelor booleene 30 3.3. Alte operat ¸ii booleene 31 3.4. Funct¸ii booleene 33 3.5. Forme canonice 36 3.6. Inele booleene 38 3.7. Exercit¸ii 39 Capitolul 4: Sisteme digitale 41 4.1. Circuite combinat ¸ionale 41 4.1.1. Port ¸i 41 4.1.2. Circuite 45 4.2. Extensii 46 204

Upload: nicu-fotache

Post on 06-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 1/200

Cuprins

Intro ducere 3

Capitolul 1: Arhitectura unui sistem de calcul 5

1.1. Organizarea de baz a 5

1.2. Structura general a a ma¸sinilor de calcul 7

1.3. Micro-controllere 12

1.4. Ce inseamn a ”Arhitectura unui calculator” 13

Capitolul 2: Reprezentarea numerelor in calculator 15

2.1. Coduri de reprezentare a datelor 15

2.1.1. Coduri ponderate si neponderate 16

2.1.2. Reprezentarea zecimal codi cat binar 17

2.1.3. Codul ASCII 18

2.2. Reprezentarea numerelor in sistemele de calcul 20

2.2.1. Reprezentarea numerelor intregi 20

2.2.2. Operat ¸ii cu numere ˆintregi 21

2.2.3. Reprezentarea numerelor reale in virgul a mobil a 23

2.2.4. Operat ¸ii ˆin virgul a mobil a 26

2.3. Exercit¸ii 28

Capitolul 3: Algebre si funct ii booleene 29

3.1. De nirea algebrelor booleene 29

3.2. Propriet ati ale algebrelor booleene 30

3.3. Alte operat ¸ii booleene 31

3.4. Funct¸ii booleene 33

3.5. Forme canonice 36

3.6. Inele booleene 38

3.7. Exercit¸ii 39

Capitolul 4: Sisteme digitale 41

4.1. Circuite combinat ¸ionale 414.1.1. Port¸i 41

4.1.2. Circuite 45

4.2. Extensii 46

204

Page 2: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 2/200

Page 3: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 3/200

4.3. Cicluri 50

4.4. Exercit¸ii 52

Capitolul 5: Sisteme 0 - DS 55

5.1. Decodi catori 55

5.2. Codi catori 59

5.3. Demultiplexori 62

5.4. Multiplexori 64

5.5. Codi catori cu prioritate 69

5.6. Sumatori 75

5.6.1. Circuit digital pentru incrementare 79

5.6.2. Circuit digital pentru sc adere 80

5.7. Circuite de comparare 83

5.8. Circuite de deplasare 86

5.9. Multiplicatori 88

5.10. Circuit logic programabil 90

5.11. Unitatea aritmetic a si logic a 94

5.12. Exercit¸ii 96

Capitolul 6: Sisteme 1 - DS (Memorii) 99

6.1. Caracteristicile sistemelor cu un ciclu 99

6.2. Cicluri stabile ¸si instabile 100

6.3. Z avoare elementare 102

6.3.1. Z avoare elementare cu ceas 104

6.3.2. Z avorul de date 105

6.4. Structura master-slave 106

6.4.1. Flip- op cu ˆintˆ arziere 107

6.5. Memoria RAM 109

6.6. Regi stri 110

6.6.1. Registrul serial 110

6.6.2. Registrul paralel si registrul serial - paralel 111

6.7. Exercit¸ii 112

Capitolul 7: Sisteme 2 - DS (Automate) 113

7.1. De nit ¸ii de baz a 113

7.2. Flip-Flopuri 117

7.2.1. Automatul T Flip-Flop 1177.2.2. Automatul J K Flip-Flop 118

7.3. Num ar atori (counteri) 120

7.4. Stive 124

205

Page 4: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 4/200

7.5. Circuite aritmetice 125

7.5.1. Sumator serial 125

7.5.2. Circuit aritmetic serial-paralel 1267.5.3. Sumatoare pre x 127

7.5.4. Multiplicator 129

7.5.5. Circuit pentru produsul scalar (M AC) 133

7.6. Reprezentarea automatelor nite 136

7.6.1. Automat pentru M AC 137

7.6.2. Automat pentru recunoa¸ sterea unei secvent ¸e binare 141

7.7. Automate de control 143

7.8. Transformarea automatelor in circuite combinat ¸ionale 147

7.9. Exercit¸ii 148

Capitolul 8: Sisteme 3 - DS (Procesori) 1518.1. Automate J K-regi¸ stri 151

8.2. Regi stri num ar atori 156

8.3. Automat aritmetic ¸ si logic 158

8.4. Automate stiv a 160

8.5. Procesorul elementare 163

Capitolul 9: Sisteme 4 - DS 167

9.1. Tipuri de sisteme de ordin 4 167

9.2. Stive organizate ca n - DS 170

Capitolul 10: Structura unui computer la nivel de performant ¸ a 171

10.1. Structuri standard 17210.2. M asurarea performant ¸elor unui sistem 174

10.3. Modele bazate pe cozi 175

Solut¸ii si indicat ¸ii la problemele propuse 179

Bibliogra e 203

Cuprins 204

206

Page 5: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 5/200

Capitolul 1

Arhitectura unui sistem de calcul

Pentru ˆinceput s a trecem ˆin revist a organizarea general a a unui sistem actual de calcul.

1.1 Organizarea de baz a

Structura si compunerea logic a a programelor care pot prelucrate de o ma¸ sin a de calcul

au fost elaborate anterior de nirii structurii hard; ele se bazeaz a pe teza lui Church1,

enunt at a ˆin prima parte a anilor 30. Ulterior ea a fost completat a de Turing.

De nit ¸ia 1.1 O metod a (procedur a) M – asociat a rezolv arii unei probleme – se nume¸ste

”efectiv a” (sau ”mecanic a”) dac a:

- M se poate exprima printr-un num ar nit de comenzi (instruct ¸iuni), ecare comand a

  put and de nit a pe baza unui alfabet nit de simboluri.

- M poate produce rezultatul dorit intr-un num ar nit de pa¸ si;- M poate descris a ˆin mod logic, f ar a a folosi mijloace externe.

ˆIn 1933 Barwise stabile¸ ste criteriile pe care trebuie s a le satisfac a un computer:

• Nu va stoca r aspunsurile la toate problemele posibile.

• Va rezolva numai probleme pentru care i s-a dat o procedur a de rezolvare.

• Timpul necesar rezolv arii unei probleme este nit.

Turing, la rˆ andul lui, aduce ˆin anii 40 o serie de preciz ari de ordin formal asupra posi-

 bilit at ilor de calcul pe care le poate avea un computer.

Masina de nit a de el (Ma¸ sin a Turing) este modelul matematic al calculatoarelor demai tˆarziu.

1 Pe scurt enunt ¸ul acesteia este: O funct ¸ie f : N- N este efectiv calculabil a dac a si numai dac a este

recursiv a.

5

Page 6: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 6/200

6 CAPITOLUL 1. ARHITECTURA UNUI SISTEM DE CALCUL

Procesor 

6

?

Cap citire/scriere

-

. . . . . . Band a memorie

O ma¸sin a se compune dintr-un procesor (generator de instruct ¸iuni), o band a de memorie

care se poate mi¸sca ˆin ambele sensuri, si un cap de citire/scriere x.

La ecare tact, banda se mi¸sc a cu o pozit ¸ie spre stˆ anga sau dreapta, permit ¸ and exe-

cutarea unei comenzi.

O astfel de comand a (sau instruct ¸iune) este reprezentat a ˆin procesor sub forma unui

atoarea semni cat ¸ie:quadruplu (Sh, Ti, Oj , Sk), cu urm

Dac si simbolul citit pe banda starea procesorului este Sh a este Ti, atunci

ma¸sina efectueaz a operat ¸ia Oj ¸si trece procesorul ˆin starea Sk.

sau - ca o variant a formalizat a:

if stare = Sh and input = Ti then output := Oj and stare := Sk 

Operat iile permise pe o ma¸ sin a Turing sunt:

1. Oj = Tj : simbolul Tj este scris pe band a ˆin locul lui Ti;

a spre dreapta cu o locat ¸ie;2. Oj = R: banda se deplaseaz

a spre st anga cu o locat ¸ie;3. Oj = L: banda se deplaseaz

ste.4. Oj = H : calculul se opre¸

Se demonstreaz a c a orice calculator este echivalent din punct de vedere al posibilit at ilor 

de calcul cu o ma¸sin a Turing, iar aceasta – conform Tezei lui Church – poate aborda orice

  problem a ce admite o rezolvare algoritmic a. Nu vom prezenta detalii ale acestor asert ¸iuni, ele constituind subiectul altor domenii

de cercetare, mult mai generale si f ar a mult a leg atur a cu ceea ce vrem s a prezent am ˆin

aceast a carte.

Page 7: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 7/200

1.2. STRUCTURA GENERAL A A MASINILOR DE CALCUL 7

1.2 Structura general a a ma¸sinilor de calcul

Structura funct ¸ional a a unei ma¸ sini de calcul (sau Computer) in forma actual a a fost

de nit a ˆin 1947 de von Neumann (1903 - 1957), modi c arile ulterioare ind nesemni ca-tive.

ˆIn principal ea cont ¸ine trei componente de baz a:

1. O unitate central a de prelucrare (CP U ) compus a din: o unitate de calcul (aritmetic a

¸si logic

a) ¸si o unitate de control.

Rolul ei principal este de a localiza ¸si executa comenzi.

2. Una sau mai multe unit at i de stocare a datelor (memorii); aici sunt p astrate datele

¸si programele calculatorului (programe care formeaz

a componenta de software sau

 programe utilizator).

3. Periferice (intrare/ie¸ sire): unit ati de transfer a informat ¸iei spre ¸si dinspre utilizator.

CPU

Instruct¸iuni 

Control

PerifericeMemorie

intrare/ie sire?

Unitate Date -aritmetic a-logic a -

Aceste componente hard comunic a ˆintre ele printr-un sistem de magistrale. Principalul

soft inclus este sistemul de operare, care asigur a majoritatea funct ¸iilor de prelucrare ale

sistemului.

Sunt trei tipuri ma jore de instruct ¸iuni folosite de un calculator: de transfer de date,

de prelucrare date ¸ si de control al programelor.

De nirea setului de instruct ¸iuni si modul lor de prelucrare caracterizeaz a ˆin general puterea unui calculator.

Pe baza acestei structuri au fost construite calculatoarele din prima generat ¸ie (anii

40 - 50).

Page 8: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 8/200

8 CAPITOLUL 1. ARHITECTURA UNUI SISTEM DE CALCUL

Structura unui astfel de calculator (cum au fost ENIAC, EDVAC, IAS, UNIVAC) este

Memoria CPU Echipamente  principal a

intrare/ie¸sireInstruct ¸iuni

- Control

(memorie secundar a,

tastatur aPrograme ¸si date imprimant a etc)Programe,

Prelucrare pentru execut ¸ieDate date,

- -datecomenzi

Impactul cel mai mare asupra dezvolt arii sistemelor de calcul l-au avut ˆins a calcula-

toarele din generat ¸ia a treia, reprezentantul speci c ind IB M/360 (existent ¸ si in dotarea

Universit atii Bucure¸sti, ˆincepˆand cu anul 1967).

Schema general a a structurii unui astfel de calculator este prezentat a pe pagina urm atoare.

 Notat iile folosite (devenite standard odat a cu generat ¸ia a treia de calculatoare):

• DP U - Unitatea de prelucrare a datelor 

• C P U - Unitatea de control a programului

• ALU - Unitatea aritmetic a si logic a

• IO - Intrare / ie¸sire

• SR - Registru de st ari

• IR - Registru de instruct ¸iuni

• AR - Registru de calcul pentru instruct ¸iuni aritmetice

• P C - Registru de control al programului

Page 9: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 9/200

1.2. STRUCTURA GENERAL A A MASINILOR DE CALCUL 9

---

Periferic Periferic

Decoder instruct ¸iuni Semnale IO IO. . .control CPU(poate micro-programat)

66Interfat ¸ a

IOPSW (Program status word)

??

Procesor Procesor  

IR AR SR PC IO IO

66

6 66 6 6

? ?

Unitatea de control a-? ? ?

memoriei principale

66

??64 regi stri de 64 bit ¸i

ˆin virgul a mobil a16 regi¸stri generali?

6 ?de 32 bit ¸i

ALUFloating - point

Memoria66 ??

ALU ALU

 principal aDPUFixed - point Decimal

Caracteristici ale calculatoarelor din generat ¸ia 3 (IB M/360 - I BM/390)

• Introduc ideea de standardizare a construct ¸iei, pentru a accepta limba je de progra-

mare universale.

• Constituie baza arhitecturii calculatoarelor actuale.

• Introduc unit atile de informat¸ie: octet (byte), cuvˆ ant (word), cuvˆ ant dublu, registru.

• Introduc ideea de micro - programare.

Page 10: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 10/200

10 CAPITOLUL 1. ARHITECTURA UNUI SISTEM DE CALCUL

Sistemul actual uzual de calcul este computerul, tratat ca unitate independent a (P C

sau stat ¸ie de lucru) dedicat a unui singur utilizator.

Structura lui este:

MemorieMicropro cesor ¸eaa Ret

H DD Monitor Tastatur 

CP U 6 ?6 ? 6 ?

H DD Video Tastatur a Retea? control control control controlCache M

6 ?666 ???Magistral a IO (local a)

?

6Interfat¸ a

magistral a ?

Control interfat ¸ a periferice666

6

? 6??Magistral a sistem

Principalul element hard este un microprocesor realizat pe un chip, care cont ¸ine o

versiune a arhitecturii de nite de von Neumann.

El asigur a un C P U si este responsabil cu aducerea, decodi carea ¸ si executarea instruc-

t¸iunilor.Datele ¸si instruct iunile au un format standard de grupuri formate din 32 bit ¸i (cuvinte);

acestea sunt unit at ile de baz a prelucrate de computer.

CP U este caracterizat printr-un set de circa 200 instruct ¸iuni care realizeaz a transferul

¸si prelucrarea datelor precum ¸

si operat ii de control al programelor (cu o structur a r amas a

ˆin general aceea¸si ˆin timp).

CP U poate suplimentat a cu alt chip (interior sau exterior) numit co-procesor, care

implementeaz a funct ii specializate, cum ar prelucrarea de interfet ¸e gra ce.

Rolul memoriei principale M este de a stoca programe ¸ si date prelucrate de CP U .

Ea este o memorie cu acces aleator (RAM - random access memory), format a din osecvent a liniar a de componente (de obicei grupuri de 8 bit ¸i, numite bytes sau octet ¸i).

Fiecare byte are asociat o adres a unic a, care permite CP U s a citeasc a sau s a schimbe

(scrie) cont¸inutul (pe baza unor instruct ¸iuni de inc arcare sau memorare).

Page 11: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 11/200

1.2. STRUCTURA GENERAL A A MASINILOR DE CALCUL 11

Memoria principal a M este completat a de o memorie secundar a, mai mare dar mai

lent a (din punct de vedere al accesului), de obicei situat a pe hardiscuri (H DD).

Harddiscurile formeaz a o component a a sistemului de intrare/ie¸sire (IO).De asemenea, o memorie intermediar a, numit a cache poate inserat a ˆintre CP U ¸si

M .

Deci un calculator cont ¸ine mai multe tipuri de memorie, care pot ierarhizate in

registrele CP U : memoria cache, memoria principal a si memoria secundar a.

Aceast a structur a complex a rezult a din faptul c a cele mai rapide componente de memo-

rie sunt ¸si cele mai scumpe; deci ierarhizarea asigur a C P U cu un acces rapid la un num ar 

mare de date, la un pret ¸ relativ sc azut.

Scopul unui sistem IO este de a permite utilizatorului s a comunice cu calculatorul.

Componentele IO sunt ata¸ sate la calculatorul gazd a prin intermediul unor porturi IO,a c aror funct ie este de a controla transferul de date intre componenta de intrare/ie¸ sire ¸si

memoria principal a.

O astfel de component a are asignat a un set de adrese tip memorie care permit utilizarea

de instruct ¸iuni de intrare/ie¸ sire ce pot implementate aproape identic cu instruct ¸iunile

de ˆincarcare respectiv sto care.

Dar deoarece operat ¸iile de intrare/ie¸ sire sunt foarte lente, CP U are nevoie de un timp

mult mai lung pentru a accesa un cuvˆ ant a at ˆin sistemul IO decˆ at unul din memoria M.

Componentele tradit ¸ionale de intrare/ie¸sire sunt tastatura respectiv ecranul de moni-

tor, adaptate in special pentru pro cesarea informat ¸iei de tip text.Ad augarea unei componente punctuale, tip mouse permite intro ducerea ecranului in

lista componentelor de intrare; el asigur a comunicarea utilizator - computer via imagini

gra ce. Interfet ¸e audio pentru generarea ¸ si recunoa¸sterea sunetelor extind aria de lucru

a calculatorului in sistemele multimedia.

Page 12: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 12/200

12 CAPITOLUL 1. ARHITECTURA UNUI SISTEM DE CALCUL

1.3 Micro-controllere

Reducerea impresionant a a dimensiunilor ¸si sc aderea costurilor componentelor principale

ale unui calculator a permis construirea unor computere specializate pentru anumite pro- bleme, numite micro-control lere.

Ele au circuite de control speci ce, sau sunt lipsite total de componenta logic a (cum

ar de exemplu circuitul de control al unei ma¸ sini de sp alat automate).

Programele sunt sto cate in memoria ROM (”read only memory”), care formeaz a o

 parte a memoriei principale folosite de micro-controller.

Acesta este construit direct ˆin obiectul controlat, ˆintr-o zona adesea invizibil a si inac-

cesibil a utilizatorului.

Un micro-controller programat s a efectueze operat ¸iile unei aplicat ¸ii poate ˆinlocui cir-

cuitele de control speci ce acelei aplicat ¸ii, adesea cu o reducere de cost apreciabil a.

Ma joritatea calculatoarelor actual operabile sunt micro-controllere construite in di-

verse aparate utilizate ˆin cele mai variate medii.

Spre

Calculator reteaua

central telefonic a

66

??

CP UPort IORAM ROM Port IO

(micropro cesor)

6666

?????Magistral a sistem

6 ? 6 ? 6 ? 6 ?

Port IO Port IO Port IO Port IO

666Micro-controler 

?

Scaner Monitor  Cititor ¸

sicod Tastatur a

card produs imprimant a

Schema de mai sus descrie una din primele aplicat ¸ii ale unui micro-controller: un punct

de v anzare terminal care ˆinlo cuie¸ ste casa ˆintr-un supermarket.

Page 13: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 13/200

1.4. CE INSEAMN A ”ARHITECTURA UNUI CALCULATOR” 13

Micro-controllerul folosit are structura unui computer convent ¸ional.

El este construit in jurul unei magistrale de sistem de care sunt ata¸ sate un micropro-

cesor (cu rol de CP U ), cel put ¸in un chip ROM pentru stocarea programului si cel put in

un chip RAM pentru lucru ¸ si stocarea datelor.

Toate perifericele IO sunt conectate la sistem folosind porturi IO cu interfet ¸e standard.

Perifericele tipice unei astfel de aplicat ¸ii sunt: tastatura, o imprimant a pentru eli-

 berarea chitant ¸elor, un monitor, un scaner pentru codurile de bare ale produselor si un

cititor de card (credit sau debit).

Acest ultim periferic necesit a o conectare la o ret ¸ea telefonic a pentru autorizarea car-

dului.

Ultima component a este o leg atur a la un calculator central, folosit pentru informat ¸ii

de pret¸, controlul stocului de pro duse etc.

1.4 Ce ˆinseamn a ”Arhitectura unui Calculator”

Termenul de ”Arhitectur a a calculatorului” a fost folosit prima oar a de rma IBM ˆin 1964.

  Necesitatea lui a ap arut deoarece in acea perioad a tehnologia hardware permitea o

avansare rapid a a proceselor de calcul, inlocuind frecvent o structur a cu alta; tehnolo-

gia software nu avea posibilitatea de a t ¸ine pasul, orice nou a structur a hard necesitˆ and

 programe noi.

Pentru a avea posibilitatea de a folosi la noile componente hard coduri program deja

scrise, ceva trebuia ment ¸inut stabil.

Corpul de cercet atori ai rmei IBM (leaderul necontestat ˆin domeniul tehnicii de calculdin acea perioad a) a decis stabilizarea setului de operat ¸ii elementare necesare programa-

torului.

De nit ¸ia 1.2 Arhitectura unui calculator este imaginea logic a ¸si functional a a unui com-

 puter cu care lucreaz a un programator.

Odat a aceast a arhitectur a stabilit a, cele dou a componente ale unui computer: hardware

(mult imea pieselor care formeaz a calculatorul) si software (mult ¸imea programelor rulate

de calculator) se pot dezvolta independent una de alta.

O bun a perioad a de timp arhitectura putea doar ˆimbun at at it a, ind ad augate noifacilit at i, dar ne ind eliminat a nici o funct ¸ie.

Deci un program scris pentru o prim a versiune a arhitecturii va funct ¸iona pe orice

versiune ulterioar a.

Page 14: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 14/200

14 CAPITOLUL 1. ARHITECTURA UNUI SISTEM DE CALCUL

Rezumand, architectura calculatorului este o interfat ¸ a ˆintre hardul ¸si softul unui com-

 puter ¸si presupune:

• o ma¸sin a capabil a s a realizeze o mult ¸ime nit a de operat ¸ii elementare,

• o memorie, cont ¸inand o descriere a modului cum pot folosite funct ¸iile elementare

 pentru a realiza procese de calcul,

• un mecanism de control care permite utilizarea descrierii pentru a pune ma¸sina s a

lucreze, in dou a variante:

 – executˆind descrierea

 – interpretˆind descrierea.

unde, prin execut ¸ie se ˆint¸elege o act ¸iune de un ”pas” asociat a ec arui ”element”

al descrierii, iar prin interpretare se int ¸elege o secvent ¸ a de act ¸iuni asociate ec arui”element” al descrierii.

Evident, ˆin ambele variante, act ¸iunile vor depinde direct de modul de de nire al des-

crierii.

Lucrarea de fat ¸ a abordeaz a elementele fundamentale necesare construirii arhitecturii

unui calculator. Sunt schit ¸ate not ¸iunile teoretice si structurile celor mai simple circuite

care formeaz a unitatea logico-aritmetic a, unitatea central a de prelucrare precum ¸ si com-

 ponentele de memorie.

Celor care vor s a aprofundeze domeniul le recomand referint ¸ele bibliogra ce precum

¸

si numeroase site-uri de Internet dedicate sistemelor de calcul.

Page 15: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 15/200

Page 16: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 16/200

16 CAPITOLUL 2. REPREZENTAREA NUMERELOR IN CALCULATOR 

0 0000 4 0100 8 1000 C 11001 0001 5 0101 9 1001 D 11012 0010 6 0110 A 1010 E 1110

3 0011 7 0111 B 1011 F 1111

Reprezentarea in aceast a baz a (care folose¸ ste simbolurile auxiliare A, B, C, D, E, F

 pentru numerele 10, 11, 12, 13, 14 ¸ si respectiv 15) se indic a adesea prin indicele 16 a¸ sezat

la sf ar¸sit. De exemplu,

(61)16 = (0110 0001)2

Dac a nu exist a nici o confuzie, atunci indicii care semnaleaz a baza se ignor a.

Utilizarea acestui cod este aproape universal acceptat a.

Astfel, memoria calculatorului lucreaz a cu bit¸i grupat¸i ˆin bytes (sau octet ¸i).

Un octet se reprezint a de obicei nu ca o secvent ¸ a de 8 cifre binare, ci ca o pereche de

cifre hexazecimale.

Astfel, de exemplu (00101101)2 se scrie (2D)16, (01100000)2 se reprezint a prin (60)16

etc.

2.1.1 Coduri ponderate si neponderate

Codurile binare sau hexazecimale nu sunt singurele modalit ati de co di care a numerelor 

ˆin calculator.

Practic, plecˆ and de la reprezentarea binar a, se poate construi o palet a larg a de co duri.

Ele sunt clasi cate ˆin

• coduri ponderate;

• coduri neponderate.

Codurile ponderate asociaz a unei cifre zecimale un grup de patru cifre binare, ec arei cifre

  binare indu-i asociat a o ”pondere” corespunz atoare puterii lui 2 din cadrul codului.

Codul hexazecimal - binar prezentat mai sus este un exemplu de cod ponderat. El

mai este numit adesea ¸si codul 8421.

Codurile neponderate asociaz a unei cifre zecimale un grup de patru cifre binare, f ar a

a avea semni cat ¸ia unei ponderi.

Cele mai cunoscute astfel de coduri sunt codurile Exces 3 ¸si Gray.

Codul Exces 3 este rezultat din codul hexazecimal prin adunarea num arului 3 (scris

ˆin binar) la ecare cifr a.

Page 17: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 17/200

2.1. CODURI DE REPREZENTARE A DATELOR 17

ˆIn acest fel, prin complementarea cifrelor binare care formeaz a codul cifrei i se obt ¸ine

codul cifrei 9 - i.

Pentru codul Gray, caracteristic este faptul c a orice codi care a unui num ar difer a decodi carea succesorului s au prin exact o cifr a binar a.

Cele dou a co duri sunt reprezentate in tabelul urm ator:

Cif ra 0 1 2 3 4 5 6 7 8 9

E xces 3 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100

Gray 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101

2.1.2 Reprezentarea zecimal codi cat binar Aproape toate calculatoarele folosesc pentru memorarea cifrelor zecimale reprezentarea

ˆin cod 8421.ˆInsa, deoarece sistemele de calcul lucreaz a cu o ctet i, de si sunt su ciente 4 bit ¸i pentru

o cifr a zecimal a, se folosesc dou a modalit ati de codi care:

• Forma condensat a (ˆimpachetat a), in care, pe cele 8 pozit ¸ii ale unui octet sunt

reprezentate dou a cifre zecimale exprimate in binar;

• Forma dilatat a (despachetat a), in care pe ecare octet se ret ¸ine o singur a cifr a

zecimal a – pe ultimii patru pozit ¸ii binare.

Primele patru pozit ¸ii ale ec arui octet sunt ocupate de o marc a M .

Exemplul 2.1 Num arul 342 este memorat pe doi octet ¸i ˆin forma ˆimpachetat a

2430

0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0

¸si pe trei octet

¸i ˆin forma despachetat a:

43 2

M 0 0 1 1 M 0 1 0 0 M 0 0 1 0

Page 18: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 18/200

18 CAPITOLUL 2. REPREZENTAREA NUMERELOR IN CALCULATOR 

2.1.3 Codul ASCII

Char Cod Char Cod Char Cod

(20)16 @ (40)16 ‘ (60)16

! (21)16 A (41)16 a (61)16

” (22)16 B (42)16 b (62)16

# (23)16 C (43)16 c (63)16

$ (24)16 D (44)16 d (64)16

% (25)16 E (45)16 e (65)16

& (26)16 F (46)16 f (66)16

(27)16 G (47)16 g (67)16

( (28)16 H (48)16 h (68)16

) (29)16 I (49)16 i (69)16

* (2A)16 J (4A)16 j (6A)16

+ (2B)16 K (4B)16 k (6B)16

‘ (2C)16 L (4C)16 l (6C)16

- (2D)16 M (4D)16 m (6D)16

. (2E)16 N (4E)16 n (6E)16

/ (2F )16 O (4F )16 o (6F )16

0 (30)16 P (50)16 p (70)16

1 (31)16 Q (51)16 q (71)16

2 (32)16 R (52)16 r (72)16

3 (33)16 S (53)16 s (73)16

4 (34)16 T (54)16 t (74)16

5 (35)16 U (55)16 u (75)16

6 (36)16 V (56)16 v (76)16

7 (37)16 W (57)16 w (77)16

8 (38)16 X (58)16 x (78)16

9 (39)16 Y (59)16 y (79)16

: (3A)16 Z (5A)16 z (7A)16

; (3B)16 [ (5B)16 { (7B)16

< (3C)16 \ (5C)16 — (7C)16

= (3D)16 ] (5D)16 } (7D)16

> (3E)16 ˆ (5E)16 ˜ (7E)16

? (3F )16 (5F )16 DEL (7F )16

Un cod foarte important folosit ˆin reprezentarea standard a simbolurilor alfabetice ¸sinumerice este co dul ASCII (American Standard Code for Information Interchange).

a, codi cate in secvent ¸e binare de lungime 8; tabelulEl are 28 = 256 simboluri surs

de mai sus cuprinde simbolurile printabile avˆ and co durile ASCII ˆin intervalul [32, 127] (ˆin

Page 19: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 19/200

2.1. CODURI DE REPREZENTARE A DATELOR 19

domeniul [0, 31] nu sunt simboluri printabile, iar ˆin zona [128, 255] se de nesc simboluriauxiliare, care nu sunt pe tastatur  a).

De exemplu, litera A, va avea codul hexazecimal - binar 

(41)16 = (01000001)2

caruia ˆin zecimal ˆii corespunde num arul 65.

De remarcat modalitatea diferit a de codi care a cifrelor zecimale.ˆIn codul ASCII se codi c a caracterele; deci – in aceast a co di care, cifrele 0, 1, . . . , 9

sunt considerate caractere ¸ si prelucrate ca atare.

De exemplu, nu se pot face operat ¸ii aritmetice obi¸ snuite cu ele, ci doar cu codurile

ASCII asociate.

Codul ASCII nu este singurul cod construit pentru caractere.

Cel mai cuprinz ator cod folosit – care cuprinde caracterele ¸ si semnele tuturor alfa- betelor utilizate pe tastaturi este Unicode.

Folosind o notare numeric a pe 32 sau 16 bit ¸i, el ofer a un cod unic pentru ecare

caracter, indiferent de platforma folosit a, de program sau limbaj.

Unico de este solicitat drept standard de XML, Java, ECMAScript (JavaScript), LDAP,

CORBA 3.0, WML etc.

Pentru orice detaliu privind versiunile Unicode, se poate folosi site-ul

http://www.unicode.org.

Page 20: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 20/200

20 CAPITOLUL 2. REPREZENTAREA NUMERELOR IN CALCULATOR 

2.2 Reprezentarea numerelor ˆin sistemele de calcul

ˆIn calculatoare, sistemul de numerat ¸ie utilizat este cel binar.

Reprezentarea numerelor ˆin acest sistem se face ˆin mai multe forme, ˆin funct ¸ie de tipul

lor; pentru ecare tip, operat ¸iile aritmetice elementare sunt efectuate de c atre dispozitive

speciale inglobate ˆin arhitectura calculatorului (ceea ce asigur a o vitez a sporit a de calcul).

2.2.1 Reprezentarea numerelor ˆintregi

Reprezentarea in memoria calculatorului a numerelor ˆintregi (numit a si reprezentare al-

gebric a) se realizeaz a pe un num ar x de n pozit ¸ii binare (de regul a n = 8, 16, 32, 64 sau

128).

Aceast a reprezentare poate schematizat a ˆin modul urm ator:

n n-1 n-2 2 1

. . . . . .

S

Prima pozit ¸ie din stˆanga (a n-a pozit ¸ie binar a) este numit a bit de semn; ea este ocupat a

de un bit care are valoarea 0 dac a num arul este nenegativ, 1 dac a num arul este negativ.

A i-a cifr a binar arului ˆin baza 2.a este co e cientul lui 2i-1 ˆin reprezentarea num

Deci cel mai mare num ar intreg care se poate reprezenta pe n bit ¸i este

1 · 2n-2 + 1 · 2n-3 + . . . + 1 · 21 + 1 · 20 = 2n-1 - 1

De exemplu, pentru n = 16, acesta este 215 - 1 = 32.767.ˆIn schimb, cel mai mic num ar care poate memorat este -2n-1; el are reprezentarea

n n-1n-2 2 1

. . . . . .1 0 0 00

S

ˆIn cazul n = 16, acesta este -215 = -32.768.

Deci pe 16 pozit ¸ii binare pot reprezentate toate numerele ˆintregi din intervalul[-32.768, 32.767].

Page 21: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 21/200

2.2. REPREZENTAREA NUMERELOR ˆIN SISTEMELE DE CALCUL 21

2.2.2 Operat ¸ii cu numere intregi

Adunarea a dou a numere ˆintregi se efectueaz a ˆin binar, pozit ¸ie cu pozit ¸ie, de la dreapta

spre stˆ anga; dispozitivul aritmetic al sistemelor de calcul care efectueaz a adunarea senume¸ste sumator.

Exemplul 2.2 S a efectu am adunarea 23 + 15 folosind reprezentarea pe 8 cifre binare (un

octet). Efectuarea acestei operat ¸ii este redat a de gura urm atoare:

0 0 0 1 0 1 1 1 23

+11110000 15

=0 0 1 0 0 1 1 0 38

Pentru sc adere se folose¸ste acela¸si dispozitiv aritmetic care realizeaz a adunarea.

Motivat ia const a ˆin faptul c a orice sc adere se poate scrie sub forma unei adun ari

x - y = x + (-y).

Pentru aceasta este necesar a o reprezentare a numerelor negative astfel incˆ at s a per-

mit a aplicarea relat ¸iei de mai sus.

Sunt cunoscute trei astfel de reprezent ari:

1. Cod direct, care coincide cu reprezentarea algebric a (folosind bitul de semn);

2. Cod invers (sau cod complementar la 1): se obt ¸ine prin inlocuirea ec arei cifre binare

a cu 1 - a;

3. Cod complementar (la 2): se obt ¸ine din codul invers, la care – ˆin faza a doua – se

adun a num arul 1.

Exemplul 2.3 S a reprezent am in ecare din cele trei forme, pe 16 bit ¸i (doi octet ¸i),

num arul -320.

(1) Deoarece 320 = (101000000)2, reprezentarea lui -320 ˆin cod direct este:

1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0

(2) Codul invers se obt ¸ine din reprezentarea num arului 320, prin complementarea tuturor 

cifrelor binare:

1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1

Page 22: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 22/200

22 CAPITOLUL 2. REPREZENTAREA NUMERELOR IN CALCULATOR 

(3) Pentru codul complementar, se adun a 1 la codul invers:

1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0

Sc aderea se transform a ˆin adunare prin reprezentarea sc az atorului ˆin cod invers sau cod

complementar.

Deoarece marea ma joritate a implement arilor folosesc codul complementar, ne referim

la aceast a manier a de operare.

Motivarea matematic a este foarte simpl a.

Sa presupunem c a avem un num ar ˆintreg, reprezentat ˆin binar (pe n bit ¸i) sub forma

anan-1 . . . a2a1, unde

a = n-1 ai2i-1

i=1

iar an este bitul de semn.

Atunci reprezentarea lui a ˆin cod complementar este

ai 2i-1 + 1 = 2n-1 - 1 - a + 1 = 2n-1 - aa = n-1 (1 - ai)2i-1 + 1 = n-1 2i-1 - n-1

i=1 i=1 i=1

Deci

a = 2n-1 - a

¸si diferenta b - a se poate scrie

 b - a = b + a - 2n-1

De remarcat c a num a pozit¸iile binare ale num arului, ci numaiarul 2n-1 nu afecteaz

 bitul de semn.

Revenind la algoritm, pentru sc aderea b - a se efectueaz a urm atorii pa¸ si:

1. Se trece a ˆin co d complementar;

2. Se face adunarea dintre b ¸ si a scris in noua reprezentare;

3. Dac a rezultatul este negativ, acesta este reprezentat tot ˆin cod complementar;

4. Dac a apare transport la pozit ¸ia alo cat a semnului, acesta se ignor a.

Page 23: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 23/200

2.2. REPREZENTAREA NUMERELOR ˆIN SISTEMELE DE CALCUL 23

Exemplul 2.4 S a se efectueze 32 - 41 cu reprezentare in cod complementar a sc azatoru-

lui, pe 8 cifre binare.

32 = (100000)2, 41 = (101001)2.

Efectuarea operat ¸iei de sc adere este redat a prin schema urm atoare:

+41 ˆin cod direct

0 0 1 0 1 0 0 1+32 ˆin cod direct

0110101100000100

+1?1 1 0 1 0 1 1 1

-41 ˆin cod complementar 

32 + (-41) = -9 ˆin cod complementar 11101111

2.2.3 Reprezentarea numerelor reale ˆin virgul a mobil a

  Numerele reale se reprezint a ˆin interiorul unui sistem de calcul sub form a fract¸ionar a,

ˆintr-o co di care numit a virgul a mobil a ( oating point).ˆIn prima faz a, orice num ar este adus la forma

 N = ±1, f × 2±e

unde:

• N este num arul care trebuie reprezentat in virgul a mobil a,

• f - partea fract ¸ionar a a lui N,

• ±1, f se nume¸ ste mantis a ¸si trebuie s a respecte relat ¸ia de normalizare

1 = |1, f | < 2;

• 2 este baza sistemului de numerat ¸ie (sistemul binar),

• ±e este exponentul bazei sistemului de numerat ¸ie.

Exemplul 2.5 Num arul N = 25 se scrie ˆin virgul a mobil a sub forma

25 = (11001)2 = 1, 1001 × 24.

Exemplul 2.6 Num arul 31 ar in virgul a mobil a astfel:32 se va scrie sub forma unui num

3132 = 24 + 23 + 22 + 21 + 20

25 = 2-1+2-2+2-3+2-4 +2-5 = (0, 11111)2 = 1, 1111×2-1.

Page 24: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 24/200

24 CAPITOLUL 2. REPREZENTAREA NUMERELOR IN CALCULATOR 

Exemplul 2.7 Pentru N = - 1 a mobil a este: -18 reprezntarea ˆin virgul 8 = -2-3 =

(-0, 001)2 = -1, 0 × 2-3.

De observat c a – practic – inegalitatea de normalizare coincide cu pozit ¸ionarea virgulei in

cadrul num arului binar dup a prima cifr a 1, concomitent cu mo di carea corespunz atoare

a exponentului bazei.

Reprezentarea numerelor ˆin virgul a mobil a are dou a forme standard:

1. reprezentarea in virgul a mobil a simpl a precizie;

2. reprezentarea in virgul a mobil a dubl a precizie.

Reprezentarea in simpl a precizie se face pe un cuvˆ ant (32 pozit ¸ii binare) sub forma:

32 31 24 23 1f C = e + 127

S

Prima pozit ¸ie (S) reprezint a semnul num arului N ; el este co di cat cu 0 dac a N > 0

¸si 1 dac

a N < 0. Pentru cazul N = 0, S este nedeterminat.

Urm atoarele opt pozit ¸ii binare sunt ocupate de o constant a numit a caracteristic a (C),

construit a ˆin asa fel ˆincat s a codi ce exponentul ˆimpreun a cu semnul s au.

Caracteristica este calculat a dup a formula

C = e + 127

Dac a C = 127, atunci e = 0, iar pentru C < 127, exponentul va negativ.

Valoarea maxim a c a cel mai marea a caracteristicii este 28 - 1 = 255, ceea ce ˆinseamn

exponent admis de reprezentarea in simpl a precizie este e = 255 - 127 = 128.

Ultimele 23 pozit ¸ii binare sunt alocate reprezent arii fract iei aliniat a la stˆanga ¸si com-

 pletat a (eventual) cu zerouri (nesemni cative).

Exemplul 2.8 Pentru reprezentarea in virgul a mobil a simpl a precizie a num arului dinsi C = e + 127 =Exemplul 2.5, deoarece 25 = 1, 1001 × 24, vom avea S = 0, f = 1001 ¸

4 + 127 = 131 = (10000011)2.

Page 25: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 25/200

2.2. REPREZENTAREA NUMERELOR ˆIN SISTEMELE DE CALCUL 25

Deci

32 31 24 23 10 1 0 0 1 0 0 0 0 . . . . . . . . . 0 01 0 0 0 0 0 1 1

Exemplul 2.9 Pentru 3132 = 1, 1111 × 2-1 (Exemplul 2.6) avem S = 0, f = 1111,

C = -1 + 127 = 126 = (01111110)2, deci

32 31 24 23 10 1 1 1 1 0 0 0 0 . . . . . . . . . 0 00 1 1 1 1 1 1 0

Exemplul 2.10 Num arul -1 si8 = -1, 0 × 2-3 (Exemplul 2.7) are S = 1, f = 0 ¸

C = -3 + 127 = 124 = (01111100)2, deci

32 31 24 23 11 0 0 0 0 0 0 0 0 . . . . . . . . . 0 00 1 1 1 1 1 0 0

Reprezentarea in virgul a mobil a dubl a precizie se realizeaz a pe 64 pozit ¸ii binare

(cuv ant dublu), a c arui structur a este

64 63 53 52 1f C = e + 1023

S

ˆIn acest caz, caracteristica este reprezentat a pe 11 cifre binare, avˆ and posibilitatea de a

ˆinmagazina o valoare maxim a 211 - 1 = 2047, ceea ce corespunde unui exponent

e = 2047 - 1023 = 1024.

Partea fract ¸ionar a ocup a 52 pozit¸ii binare.

Exemplul 2.11 S a reprezent am ˆin virgul a mobil a dubl a precizie num arul -124, 0625.

Vom avea 124, 0625 = (1111100, 0001)2 = 1, 1111000001×26, deci S = 1, f = 1111000001,C = e + 1023 = 6 + 1023 = 1029 = (10000000101)2.

Reprezentarea este

64 63 53 52 11 1 1 1 1 0 0 0 0 0 1 0 0 . . . . . . . . . 01 0 0 0 0 0 0 0 1 0 1

Page 26: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 26/200

26 CAPITOLUL 2. REPREZENTAREA NUMERELOR IN CALCULATOR 

La ambele forme de reprezentare in virgul a mobil a, cifra 1 dinaintea virgulei nu se

reprezint a; observat¸ia este util a atunci cˆ and se dore¸ ste obt¸inerea num arului real din una

din formele de reprezentare in virgul a mobil a.

Exemplul 2.12 Un num ar ˆin virgul a mobil a are forma:

11000010 11001111 00001111 00100001

Urm arind forma de reprezentare, se constat a c a:

- Prima cifr a S = 1 indic a un num ar negativ;

- Urm atoarele 8 cifre binare speci c a valoarea caracteristicii

C = 10000101 = 133, deci e = 133 - 127 = 6;

- Partea fract ¸ionar a ocup a ultimele 23 cifre binare f = 10011110000111100100001.

Deci num arul este

 N = -1, 10011110000111100100001 × 26 = -1100111, 10000111100100001 = -103, 5296.

2.2.4 Operat ¸ii in virgul a mobil a

Adunarea si sc aderea a dou a numere in virgul a mobil a se efectueaz a astfel:

1. Se compar a cei doi exponent ¸i pentru a-l determina pe cel mai mare;

2. Se aliniaz a mantisa num arului cu exponent mai mic, prin deplasarea virgulei

corespunz atoare exponentului mai mare;

3. Se adun a (scad) mantisele aliniate, p astr and exponentul comun;

4. Eventual se normalizeaz a mantisa, concomitent cu modi carea rezultatului.

Exemplul 2.13 S a se efectueze adunarea ˆin virgul a mobil a 34 + 7.

x = 322 = 2-1 + 2-2 = (0, 11)2 = 1, 1 × 2-1,4 = 21 + 20

y = 7 = (111)2 = 1, 11 × 22.Deoarece y are exponentul mai mare, x se va alinia corespunz ator:

x = 1, 11 × 2-1 = 0, 0011 × 22

Acum

x + y = (0, 0011 + 1, 11) × 22 = 1, 1111 × 22. Nu este necesar  a normalizarea mantisei.

Page 27: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 27/200

2.2. REPREZENTAREA NUMERELOR ˆIN SISTEMELE DE CALCUL 27

Exemplul 2.14 S a calcul am ˆin virgul a mobil a 34 - 9:

x = 34 = (100010)2 = 1, 001 × 25,

y = 9 = (1001)2 = 1, 001 × 23 = 0, 01001 × 25.Deci x - y = (1, 00010 - 0, 01001) × 25 = 0, 11001 × 25.

 Normaliz and, se obt¸ine

x - y = 1, 1001 × 24 = (11001)2 = 25

Operat¸iile de ˆinmult¸ire ¸si ˆimpart ire presupun:

1. Adunarea (sc aderea) exponent ¸ilor;

2. ˆInmult¸irea (ˆimp art irea) mantiselor;

3. Eventuala normalizare a mantisei.

Exemplul 2.15 S a se efectueze in virgul a mobil a 5 · 9:

x = 5 = (101)2 = 1, 01 × 22, y = 9 = (1001)2 = 1, 001 × 23.

x · y = (1, 01 · 1, 001) × 22+3 = 1, 01101 × 25 = (101101)2 = 45.

Exemplul 2.16 S a se efectueze in virgul a mobil a 5 : 10.

x = 5 = (101)2 = 1, 01 × 22, 10 = (1010)2 = 1, 01 × 23.

x; y = (1, 01 : 1, 01) × 22-3 = 1, 0 × 2-1 = (0, 1)2 = 0, 5.

Page 28: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 28/200

28 CAPITOLUL 2. REPREZENTAREA NUMERELOR IN CALCULATOR 

2.3 Exercit ¸ii

1. S a se treac a din baza 10 ˆin baza 2 numerele

18926; -7772; 7863, 15; -0, 7.

2. S a se treac a din baza 2 ˆin baza 10 numerele

1101100010100110; 100010101001, 0011011001.

3. S a se efectueze calculele

11 + 32600, 599 - 10692, 9862 + 20043 - 18552.

4. S a se de neasc a sc aderea a dou a numere ˆintregi folosind ca reprezentare codul invers.

5. S a se scrie ˆin virgul a mobil a numerele

6489; -0, 1; 85

256 .6. S a se reprezinte numerele scrise ˆin virgul a mobil a ˆin exercit iul anterior, pe

(1) 32 pozit¸ii binare (simpl a precizie);

(2) 64 pozit¸ii binare (dubl a precizie).

7. Ce num ar real are reprezentarea in simpl a precizie

000010010011010110100011010101011.

8. Aceea¸si problem a pentru num arul a c arui reprezentare in dubl a precizie este:

10001001001001000011101101010100001001010110100100001010000110101.

9. S a se efectueze ˆin virgul a mobil a calculele8 + 7

32 ; 2536 - 799; 361 × 12, 495; 38398/73.

10. S a se detalieze operat ¸iile de adunare ¸ si sc adere cu numere reprezentate in forma

condensat a.

Page 29: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 29/200

Capitolul 3

Algebre ¸ si funct ¸ii boolene

3.1 De nirea algebrelor booleene

Elementul teoretic fundamental necesar pentru analiza si sinteza circuitelor care formeaz a

arhitectura unui calculator este cel de Algebr  a Boole1.

De nit ¸ia 3.1 O algebr a Boole este un sistem B= (B, , , 0, 1) cu propriet at ile:

1. a, b, c B (a b) c = a (b c); (asociativitatea lui )

2. a, b, c B (a b) c = a (b c); (asociativitatea lui )

3. a, b B a b = b a; (comutativitatea lui )

4. a, b B a b = b a; (comutativitatea lui )

5. 0 B unic astfel ˆincˆ at a B a 0 = 0 a = a; (element unitate pentru )

6. 1 B unic astfel ˆincˆ at a B a 1 = 1 a = a; (element unitate pentru )

7. a, b, c B a (b c) = (a b) (a c); (distributivitatea lui fat ¸ a de )

8. a, b, c B a (b c) = (a b) (a c); (distributivitatea lui fat ¸ a de )

9. a B, a B a a = 0, a a = 1. (complement)

O prim a observat¸ie este c a o algebr a boolean a are cel put ¸in dou a elemente 0 ¸ si 1, iar 

0 = 1.

1 George Boole (1815 - 1864): matematician ¸ si losof englez, considerat – prin prisma algebrelor care

ˆii poart a numele – unul din fondatorii informaticii teoretice.

29

Page 30: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 30/200

30 CAPITOLUL 3. ALGEBRE S ¸I FUNCT¸II BOOLENE

Exemplul 3.1 Fie Q o mult ¸ime. Mult a o algebr a¸imea Q= {P |P Q} = 2Q formeaz

Boole cu operat¸iile de reuniune si intersect¸ie.

Elementul 0 este mult ¸imea vid a Ø, iar elementul 1 este mult ¸imea Q.

Axiomele din De nit ¸ia 3.1 se veri c a imediat.

Exemplul 3.2 Mult ¸imea B = {0, 1} cu operat ¸iile

0 1 0 1

0 0 11 1 1

0 0 01 0 1

formeaz a de asemenea o algebr a boolean a B= (B , , , 0, 1).

3.2 Propriet at i ale algebrelor booleene

ˆIn acest paragraf vom face o trecere ˆin revist a a principalelor propriet ati ˆindeplinite de oalgebr a Bo ole.

Teorema 3.1 ˆ Intr-o algebr a boolean a sunt veri cate legile de idempotent ¸ a:

a a = a, a a = a.

Demonstrat¸ie: Vom avea

a a = (a a) 1 = (a a) (a a) = a (a a) = a 0 = a.

Pentru a doua relat ¸ie vom proceda similar (prin dualitate):

a a = (a a) 0 = (a a) (a a) = a (a a) = a 1 = a.

Teorema 3.2 a 1 = 1, a 0 = 0.

Demonstrat¸ie:

a 1 = (a 1) 1 = (a 1) (a a) = a (1 a) = a a = 1,

a 0 = (a 0) 0 = (a 0) (a a) = a (0 a) = a a = 0.

Teorema 3.3 a (a b) = a, a (a b) = a. (absorbt ¸ie)

Demonstrat¸ie:

a (a b) = (a 1) (a b) = a (1 b) = a (b 1) = a 1 = a,

a (a b) = (a a) (a b) = a (a b) = a.

Page 31: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 31/200

3.3. ALTE OPERAT¸ II BOOLEENE 31

Teorema 3.4 Pentru orice a B, a este unic.

Demonstrat¸ie: Presupunem prin absurd c a exist a dou a complemente a, a1 ale lui a.

Conform De nit ¸iei 3.1, avem

a a = a a1 = 1, a a = a a1 = 0.

Atunci

a1 = 1 a1 = (a a) a1 = a1 (a a) = (a1 a) (a1 a) = 0 (a1 a) = (a a) (a1 a) =(a a1) a = 1 a = a.

Teorema 3.5 a = a.

Demonstrat¸ie: a este complementul lui a. Dar ¸ si a este complementul lui a.

Deoarece complementul este unic (Teorema 3.4), rezult a a = a.

Deci, putem considera complementara ca o aplicat ¸ie bijectiv a

- : B - B.

Teorema 3.6 a b = a b, a b = a b. (regulile De Morgan)

Demonstrat¸ie: Vom demonstra c a (a b) (a b) = 1 ¸ si (a b) (a b) = 0; deci a b

¸si a b sunt complementare.Din Teorema 3.4 rezult a atunci a b = a b.

Vom avea

(a b) (a b) = [(a b) a] [(a b) b] = [(b a) a] [a (b b)] = [b (a a)] (a 1) =(b 1) 1 = 1 ¸si(a b) (a b) = [a (a b)] [b (a b)] = [(a a) b] [b (b a)] = 0 [(b b) a] = 0.

Pentru a doua relat ¸ie se procedeaz a similar.

3.3 Alte operat ¸ii booleene

ˆInafara celor trei operat ¸ii folosite pˆ an a acum de o algebr a bo olean a ( , , -), mai sunt

cunoscute si alte operat ¸ii.

Astfel, putem enumera:

1. Diferent ¸a simetric a: a b = (a b) (a b);

2. Operatorul She er: a|b = a b;

3. Echivalent ¸a: a ~ b = (a b) (a b);

4. Implicat ¸ia: a b = b a.

Page 32: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 32/200

32 CAPITOLUL 3. ALGEBRE S ¸I FUNCT¸II BOOLENE

Observat ¸ia 3.1 In arhitectura calculatorului, implementarea operatorului este notat a

cu X OR, iar | cu NAN D.

Cei patru operatori au o serie de propriet ati speci ce ale c aror demonstrat ¸ii le l as am ca

exercit¸iu.

Propozit ¸ia 3.1

1. 0 0 = 1 1 = 0, 0 1 = 1 0 = 1;

2. este asociativ a ¸si comutativ a;

3. a 0 = a, a 1 = a;

4. a a = 0, a a = 1;

5. a b = c = a c = b;

6. a b = c = a b c = 0;

7. a (b c) = (a b) (a c).

Propozit ¸ia 3.2

1. a ~ b = a b;

2. a ~ b = a ~ b;

3. a ~ b = (a b) (b a);

Propozit ¸ia 3.3 A rmat ¸iile

1. a b = 0;

2. a ~ b = 1;

3. a = b;

sunt echivalente.

Page 33: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 33/200

3.4. FUNCT¸II BOOLEENE 33

3.4 Funct ¸ii booleene

ˆIn continuare vom considera o algebr  a boolean a particular a (vezi ¸si Exemplul 3.2)

A= ({0, 1}, +, ·, 0, 1) unde+ 0 1 · 0 1

0 0 11 1 1

0 0 01 0 1

Mai avem 0 = 1, 1 = 0. Axiomele unei algebre bo oleene se veri c a imediat.ˆIn mo d uzual, operatorul · se omite (similar cu operatorul de ˆinmult ¸ire din mate-

matic a).

.Vom nota de asemenea {0, 1}n = {0, 1} × {0, 1} × . . . × {0, 1}

n ori

De nit ¸ia 3.2 O funct ¸ie boolean ¸iea f (x1, x2, . . . , xn) este o aplicat

f : {0, 1}n - {0, 1}.

Exemplul 3.3 Pentru n = 2 se pot construi 16 funct ¸ii booleene de dou a variabile:

x1 x2 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15

0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 10 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 11 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 11 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

ˆIn general – pentru n oarecare – vom avea:

Propozit ¸ii booleene de n variabile.¸ia 3.4 Pentru orice n = 1 se pot de ni 22n funct

Demonstrat¸ie: Este imediat a.a, deoarece {0, 1}n are 2n elemente, iar {0, 1} – numai dou

De nit ¸ia 3.3 Fie f, g : {0, 1}n - {0, 1}. De nim

• f + g = h prin h(x1, x2, . . . , xn) = f (x1, x2, . . . , xn) + g(x1, x2, . . . , xn);

• f g = h prin h(x1, x2, . . . , xn) = f (x1, x2, . . . , xn) · g(x1, x2, . . . , xn);

• f = g prin g(x1, x2, . . . , xn) = f (x1, x2, . . . , xn).

Exemplul 3.4 S a consider am n = 2 ¸si funct ¸iile booleene (f5 ¸ si f1 din Exemplul 3.3):

f 0 1

0 0 11 0 1

g 0 1

0 0 01 0 1

Atunci funct¸iile f + g, f g, f ¸ si g sunt de nite conform urm atorului tablou:

Page 34: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 34/200

34 CAPITOLUL 3. ALGEBRE S ¸I FUNCT¸II BOOLENE

x1 x2 f g f + g f g f g

0 0 0 0 0 0 1 10 1 1 0 1 0 0 1

1 0 0 0 0 0 1 11 1 1 1 1 1 0 0

Deci operat iile cu funct¸ii sunt de nite punct cu punct; reprezentarea lor sub form a tabelar a

constituie o modalitate convenabil a de calcul deoarece folosesc in mod direct formulele

din tabelele de operat ¸ii ale algebrei booleene A.

¸imea funct ¸iilor booleene de n (n = 1) variabile. SistemulTeorema 3.7 Fie Fn mult

a o algebr a boolean a (algebra Boole a funct ¸iilor booleene de nF n = (Fn, +, ·, 0, 1) formeaz

variabile).

Demonstrat¸ie: Axiomele algebrei bo olene se veri c a u¸sor, folosind De nit ¸ia 3.3. Funct ¸ia0 este de nit a

0(x1, x2, . . . , xn) = 0, xi {0, 1} (1 = i = n),

iar funct¸ia 1 prin

1(x1, x2, . . . , xn) = 1, xi {0, 1} (1 = i = n).

De nit ¸iilor booleene de n variabile. Se nume¸ste¸ia 3.4 Fie Fn algebra Boole a funct

”pondere” o aplicat arul de elemente¸ie w : Fn - N de nit a w(f ) = card(f -1(1)) (num

din {0, 1}n care au imaginea 1 prin f ).

Exemplul 3.5 ˆ In Exemplul 3.3 sunt listate elementele algebrei F 2. Ponderile acestor elemente sunt listate in tabelul urm ator:

f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15

w 0 1 1 2 1 2 2 3 1 2 2 3 2 3 3 4

Urm atorul rezultat este imediat.

Teorema 3.8

1. w(f ) + w(f ) = 2n;

2. w(f + g) + w(f g) = w(f ) + w(g).

Vom incerca in continuare s a de nim o reprezentare a funct ¸iilor bo oleene, util a ˆin con-

struirea circuitelor liniare.

Aceast a reprezentare se bazeaz a pe not¸iunea de minterm.

Page 35: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 35/200

Page 36: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 36/200

36 CAPITOLUL 3. ALGEBRE S ¸I FUNCT¸II BOOLENE

Exemplul 3.6 Fie n = 2 ¸ si funct ia boolean a:

f (x1, x2) = m0(x1, x2) + m2(x1, x2) + m3(x1, x2)

Un tabel cu valorile tuturor funct ¸iilor minterm de dou a variabile si cu valorile funct ¸iei

f este:

x1 x2 m0(x1, x2) m1(x1, x2) m2(x1, x2) m3(x1, x2) f 

0 0 1 0 0 0 10 1 0 1 0 0 01 0 0 0 1 0 11 1 0 0 0 1 1

3.5 Forme canonice

Scopul acestui paragraf este de a asocia ec arei funct¸ii booleene f o expresie boolean a

scris a sub o form a unic a. Aceasta se va numi form a canonic a a lui f sau forma normal

disjunctiv a a lui f .

O consecint a important a a acestei reprezent ari va aceea c a putem veri ca echivalent ¸a

a dou a expresii cercetˆand dac a acestea pot reduse la aceea si form a canonic a (deci nu vom

mai face apel la construct ¸ia tabelelor de valori a funct ¸iei aso ciate, destul de costisitoare

din punct de vedere al complexit at ii).

De nit ¸ia 3.6 Un ”literal” este o variabil a sau complementul ei.

De nit ¸ia 3.7 Fie Bn = {x1, x2, . . . , xn}. O expresie a este un ”minterm” sau un ”produs

a si numai dac a este concatenareafundamental” ˆin algebra Boole Bn = (Bn, +, ·, 0, 1) dac

a n literali distinct ¸i.

Exemplul 3.7 Cei opt mintermi din B 3 sunt

x1x2x3 x1x2x3 x1x2x3 x1x2x3

x1x2x3 x1x2x3 x1x2x3 x1x2x3

Mintermii vor notat ¸i in felul urm ator: e (i1, i2, . . . , in) {0, 1}n.

Atunci un minterm standard este

xi1 n1 xi22 . . . xin

unde

 j = xj pentru ij = 0xijxj pentru ij = 1 (1 = j = n).

Exemplul 3.8 x0 3 = x1x2x3 etc.1x12x13 = x1x2x3, x1 1x02x0

Page 37: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 37/200

3.5. FORME CANONICE 37

Observat ¸iei booleenen corespunde funct¸ia 3.2 Fiecare minterm xi11 xi2 2 . . . xin

mi (x1, x2, . . . , xn) unde i = (i1, i2, . . . , in)2.

Teorema 3.10 Dac a f este o funct ¸ie boolean a de o variabil a (f F1) atunci

f (x) = xf (1) + xf (0).

Demonstrat¸ie: S a consider am cele dou a valori posibile pe care le poate lua variabila

 boolean a x.

Pentru x = 1 vom avea

f (1) = 1 · f (1) + 0 · f (0) = f (1).

Similar pentru asignarea x = 0.Deci egalitatea se veri c a pentru toate asign arile posibile ale variabilei.

Urm atoarea teorem a d a forma canonic a pentru orice funct ¸ie boolean a de n variabile.

Teorema 3.11 Dac a f este o funct ¸ie boolean a de n variabile (f Fn) atunci1

. . . 1f (x1, x2, . . . , xn) = 1 n .f (i1, i2, . . . , in)xi11 xi22 . . . xin

i1 =0 i2 =0 in =0

Aceasta este forma normal disjunctiv a a funct ¸iei f .

Demonstrat¸ie: Prin induct ¸ie dup a num arul n de variabile.Pentru n = 1 avem rezultatul dat de Teorema 3.10.Sa presupunem Teorema 3.11 adev arat a pentru n - 1 variabile, adic a

. . . 1f (x1, x2, . . . , xn) = 1n .

f (x1, i2, . . . , in)xi22 . . . xin

i2 =0 in =0

Pe de alt si, dup a ˆinlo-a parte, f (x1, i2, . . . , in) = x0 1f (1, i2, . . . , in) ¸1f (0, i2, . . . , in) + x1

cuire

. . . 1 (x0f (x1, x2, . . . , xn) = 1 n =1f (0, i2, . . . , in) + x1 1f (1, i2, . . . , in))xi2 2 . . . xin

i2 =0 in =0

1

. . . 1 n .f (i1, i2, . . . , in)xi11 xi22 . . . xin

i1 =0 in =0

Corolarul 3.3 Forma normal disjunctiv a a unei funct ¸ii booleene este unic a.

Demonstrat¸ie: S a presupunem c a exist a dou a forme normale diferite corespunz atoare lui

f .Deci exist a cel put ¸ii din cele dou a¸in un (i1, i2, . . . , in) {0, 1}n pentru care coe cient

expresii sunt diferit ¸i.

Consider am asignarea de nit a prin x1 = i1, . . . , xn = in.

Page 38: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 38/200

38 CAPITOLUL 3. ALGEBRE S ¸I FUNCT¸II BOOLENE

Evaluˆand prima expresie obt ¸inem f (i1, i2, . . . , in) = 1(0), iar pentru a doua expresie

a ambele expresii reprezint a f .f (i1, i2, . . . , in) = 0(1), ceea ce contrazice faptul c

Fiind dat a o funct ¸ie boolean a f , s a vedem cum se poate scrie forma sa normal dis- junctiv a.

Cel mai sugestiv este s a ar at am aceasta printr-un exemplu.

a de urm atorul tabel:Exemplul 3.9 Fie f F3 de nit

x1 0 0 0 0 1 1 1 1

x2 0 0 1 1 0 0 1 1

x3 0 1 0 1 0 1 0 1

f 0 1 0 1 0 1 0 1

Pe linia lui f , primul element este 0.Deci termenul corespunz ator este f (0, 0, 0)x0 3 = 0 · x1x2x3 = 0.1x02x0Deoarece a + 0 = a, contribut ¸ia oric arei coloane unde valoarea lui f este 0 poate

ignorat a.

Dac a valoarea lui f este 1, termenul respectiv va p astrat.

Deci

f (x1, x2, x3) = x0 3 = x1x2x3 +x1x2x3+ x1x2x3 +x1x2x3.1x02x13+x0 1x12x13 +x1 1x02x13 +x1 1x12x1

3.6 Inele booleene

De nit ¸ia 3.8 Un inel boolean este un inel unitar ˆin care orice element este idempotent.

Fie B= (B , , , 0, 1) o algebr a Boole, ˆin care de nim operat ¸iile (pentru orice x, y B ):

x y = (x y) (x y), x y = x y .

Structura (B , , ) formeaz a o structur a de inel boolean.

Regulile de comutativitate ¸ si asociativitate fat ¸ a de se deduc din postulatele algebrei

 booleene B.

Din relat¸ia x 1 = 1 x = x rezult a c a 1 este element neutru.ˆIn plus, orice element este idempotent, pentru c a x x = x.

Pentru : comutativitatea rezult a ˆin mod banal.

Pentru asociativitate:(x y) z = ((x y) z) (x y z) = [((x y) (x y)) z] [(x y) (x y) z] =

[(x y z) (x y z)] [(x y) (x y) z] = (x y z) (x y z) (x y z) (x y z),relat ie simetric a ˆin x, y, z. Deci (x y) z = x (y z).

Elementul nul este 0 pentru c a x 0 = (x 0) (x 0) = (x 1) 0 = x.

Fiecare element este propriul s au invers, deoarece

Page 39: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 39/200

3.7. EXERCIT¸ II 39

x x = (x x) (x x) = 0 0 = 0.

Aceast a relat ie se poate scrie 2x = 0, ceea ceˆinseamn a c a avem un inel de caracteristic a

2 (proprietate care se poate demonstra pentru orice inel bo olean).

Distributivitatea se veri c a similar:

x y x z = ((x y) x z)) (x y (x z)) = (x y (x z)) ((x y) x z) =

(x y z) (x y z) = x [(y z) (y z)] = x (y z).

Teorema 3.12 Orice inel boolean (B , +, ·) se poate structura ca o algebr a Boole, cu

operatiile

x y = x + y + x · y, x y = x · y.

Demonstrat¸ie: Se veri c a axiomele De nit ¸iei 3.1, unde complementara este de nit a prin

x = 1 + x. ˆIn particular, vom avea:

x x = x + x + x · x = x + (1 + x) + x · (1 + x) = 1 + 4x = 1,

x x = x · x = x · (1 + x) = x + x = 0.

Se poate stabili deci o corespondent ¸ a biunivoc a intre inelele booleene si algebrele

 booleene.

Aceasta conduce la o serie de aplicat ¸ii interesante, in special prin inducerea pro-

 priet at ilor structurilor algebrice ˆin domeniul algebrelor Boole.

3.7 Exercit ¸ii

1. S a se arate c a ˆintr-o algebr a boolean a au loc relat ¸iile:

a (a b) = a b, a (a b) = a b.

2. Intr-o algebr a Boole se de ne¸ste o relat ¸ie de ordine prin

a = b b = a b

S a se arate c a a = b b = a.

3. a = b a b = 0 a b = 1.

4. a b = 0 b = a.

5. Demonstrat ¸i a rmat ¸iile din Propozit ¸iile 3.1, 3.2 si 3.3.

6. S a se arate c ¸ a prin relat ¸iaa pe F n se poate de ni o distant

d(f, g) = w(f + g) - w(f g).

S a se construiasc a un tabel cu distant ¸ele elementelor lui F 2.

Page 40: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 40/200

40 CAPITOLUL 3. ALGEBRE S ¸I FUNCT¸II BOOLENE

7. Demonstrat ¸i Teorema 3.8, Propozit ¸ia 3.5 si Corolarul 3.2.

8. Fie A o mult ¸ime nit a nevid a. Structurat a de inel boolean.¸i 2A sub form

9. Dac a f F n, atunci

f (x1, . . . , xn) = f (x1, . . . , xn-1, 0) + [f (x1, . . . , xn-1, 0) + f (x1, . . . , xn-1, 1)]xn.

10. Construit ¸i un algoritm de generare a formei normal conjunctive asociat a unei funct¸ii

 booleene.

11. S a se arate echivalent ¸a expresiilor booleene

[b (a c) (a c)] (b c), (a b c) (a b c) (a b c) (a b c).

12. S a se arate c a expresiile booleene

a (a b) (b c), b (a b)

sunt echivalente. S a se scrie forma normal disjunctiv a ¸si normal conjunctiv a a

funct¸iei asociate.

Page 41: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 41/200

Capitolul 4

Sisteme digitale

4.1 Circuite combinat ¸ionale

Odat a cu acest capitol vom ˆincepe un studiu sistematic al elementelor fundamentale de

construct¸ie a circuitelor.

De nit ¸ia 4.1 Un ”circuit” este un graf orientat cu cel put ¸in o intrare si cel put in o ie sire,

care are dou a tipuri de noduri: ”conectori” si ”port ¸i”.

Intr arile unui circuit primesc ”semnale”, sub forma unor seturi de valori din mult ¸imea

arul de intr ari ale circuitului).{0, 1}n (n ind num

De nit ¸ia 4.2 Un circuit combinat ¸ea arborescent a in care ie¸sirea¸ional (CLC1) este o ret

la momentul (tactul) t depinde numai de intr arile la momentul (tactul) t.

Un circuit este activ dac a ie¸sirea sa este 1 ; ˆin caz contrar, circuitul este inactiv.

4.1.1 Port ¸i

Cele mai simple circuite sunt circuitele constante 0 ¸si 1 ; de obicei primul este marcat printr-un punct ., iar al doilea printr-o linie ———.

O variabil a boolean a (logic a) a poate controla un circuit, activˆ andu-l (dac a ia valoarea

1 ) sau dezactivˆ andu-l (la valoarea 0 ).

Indiferent dac a modul de activare/dezactivare este de tip mecanic, electric, electro-

magnetic, integrat, imprimat, neural, ideea de baz a este aceea¸si: pentru ˆint ¸elegere, vom

considera circuitul sub forma unei linii legat a la o surs a permanent a de curent, linie

ˆintrerupt a de o ”poart a” al c arei rol este de a ˆinchide sau deschide circuitul:

1 Denumirea complet a este Circuit Logic Combinat ¸ional.

41

Page 42: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 42/200

42 CAPITOLUL 4. SISTEME DIGITALE

¡ ¡¡

 

¡rr ¨rr 

¨ $

a a

a = 0 (dezactivat) a = 1 (activat)

Poarta poate deschis a (dezactivat a) prin intermediul unui arc, care in pozit ¸ie de repaos

(a = 0) este destins.

Dac a a = 1, acest arc este comprimat ¸ si ˆinchide poarta, activˆ and astfel circuitul, prin

care trece (de fapt) valoarea lui a.

Vom nota un astfel de circuit prin a —————.

Sa de nim mo dul de combinare al circuitelor elementare, folosind operat ¸iile booleene

(disjunct¸ie, conjunct ¸ie, negat¸ie).

Implementarea acestor operat ¸ii se realizeaz a prin circuite numite port ¸i.

• Poarta AN D:

Fie a, b dou a variabile booleene. Pentru ab (sau – in funct ¸ie de notat ¸ie – a b) se

 poate construi circuitul

a b¡¡rr 

· 0 1¡rr ¡ c c

¨rr 

¨rr 

0 0 01 0 1

¨ ¨& %

a b ca · b

(1) (2) (3)

(1) este structura funct ¸ional a a circuitului, (2) este notat ¸ia logic a, iar (3) - tabela

de operat¸ie a operatorului AN D – operatorul dintr-o algebr a Bo ole.

Se observ a c a valoarea de ie¸ sire este 1 dac a ¸si numai dac a a = b = 1.

Simbolul port ¸ii AN D (Figura (2)) poate generalizat la n intr ¸i-ari a1, . . . , an, obt

nandu-se o poart a ANDn.

• Poarta OR:

Pentru poarta care realizeaz a circuitul a + b (a b ˆin notat ¸ie boolean a), structura

funct ional a este reprezentat a ˆin Figura (1), simbolul logic – de Figura (2), iar tabela

de operat¸ii - de Figura (3):

Page 43: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 43/200

4.1. CIRCUITE COMBINAT¸ IONALE 43

a

r ¨¨r 

a be

e¨¨

+ 0 1E E c c¡¡rr 

& %¦ ¥

0 0 11 1 1

¨rr ¨ c

a + b b(1) (2) (3)

Evident, ¸ si aceast a poart a poate extins a la n intr  ari: ORn.

• Poarta NOT :

O poart a pentru realizarea operat ¸iei de complementare (negat ¸ie) a variabilei booleene

a este Figura (1):

a

r ¨¨r 

e¨¨e E E Ea a a 222 f 

(1) (2) (3)

Se observ a c a circuitul este inchis prin pozit ¸ia relaxat a a arcului (a = 0); la com-

  primarea acestuia (a = 1) circuitul se dezactiveaz a (deschide).

Simbolul logic este (2), iar uneori chiar (3).

ˆInafara acestor operat ¸ii, ˆin construct ¸ia circuitelor se mai folosesc trei tipuri supli-

mentare de port ¸i: N AND, N OR si XOR .

• Poarta NAN D:

Este un circuit care implementeaz a expresia boolean a a b. Figura (2) reprezint a

o alt a implementare, obt ¸inut a in urma relat ¸iei De Morgan: a b = a b.

Simbolul logic al port ¸ii NAN D este Figura (3).

 b

r ¨¨r 

a b¨¨E

c cE rr E E

¨rr ¨ &%d

rr rr   c¨rr 

¨rr 

¨ ¨ rr  a b¨rr ¨

a b (1) a (2) (3)

Page 44: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 44/200

44 CAPITOLUL 4. SISTEME DIGITALE

Tabela de operat ¸ii a operatorului NAN D (similar operatorului She er din algebra

Boole) este

|| 0 1

0 1 11 1 0

• Poarta NOR:

Este un operator mai put ¸in folosit in teoria algebrelor Boole (nu corespunde unui

operator logic consacrat).Reprezint a operat¸ia a b = a b.

a b

a b 44

 44

 

c c

  " !¦ ¥

  e

ca b

Tabela de operat ¸ii este:N OR 0 1

0 1 01 0 0

De fapt ace sti operatori (N AND si NO R) se obt ¸in prin legarea ˆin serie a dou a

 port i: o poart a AND (respectiv O R) ¸ si o poart a N OT .

Teoretic ei se pot generaliza la N ANDn (respectiv NO Rn).

• Poarta XOR:

Este implementarea operat ¸iei ”sau logic” ab ba (operatorul dintr-o algebr a

Boole):

b

r ¨¨r a ¨¨

r ¨¨

a br 

E E c c 0 1&%

¦ ¥©

0 0 1

1 1 0

rr ¨rr ¨

crr  ab ba¨rr ¨¨

¨

b

a (1) (2) (3)

Page 45: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 45/200

4.1. CIRCUITE COMBINAT¸ IONALE 45

4.1.2 Circuite

ˆIn linii mari, arhitectura unui calculator se bazeaz a pe construirea de circuite care formeaz a

diverse componente ale unui computer (ˆin special unitatea logico-aritmetic a, unit atile dememorie, magistralele de sincronizare, structuri de control).

Cele mai simple circuite sunt cele combinat ¸ionale.

Conform De nit ¸iei 4.2, un circuit combinat ¸ional este o structur a arborescent a con-

struit a folosind un num ar nit de port ¸i.

De exemplu, circuitul urm ator nu este combinat ¸ional:$E

E¤  b

a E Ed E222E %

¥ !

'T

c

ˆIn general vom considera circuitele combinat ¸ionale cu un num ar de intr ari (noduri de

intrare) egal cu num arul de variabile si avˆ and o singur a ie sire (nod nal).

De nit ¸ia 4.3 Fie X un circuit combinat ¸ional de intr ste funct¸ieari a1, . . . , an. Se nume¸

de transmisie a lui X funct ¸ia boolean a sia fX (a1, . . . , an) cu proprietatea c a fX = 1 dac

numai dac a exist a un drum activ de la nodurile de intrare la nodul nal.

Teorema 4.1 Dou a circuite combinat ¸ionale X, Y sunt echivalente dac a fX = fY .

Exemplul 4.1 S a consider am funct¸ia boolean a f (a, b, c) = bc(a b). Un circuit combi-

nat ional care o implementeaz a este$

Ea dEE

% $T cE bc

EE

f (a, b, c)t E

%

Cum aceast a expresie este ˆins a egal a cu bcab = 0, pentru ea se poate construi un circuit

echivalent redus la un simplu punct.

Evident, acesta este mult mai simplu (nu are nici o poart a, ˆin comparat ie cu circuitul

init ial – cu dou a port i).

De nit ¸ia 4.4 Complexitatea unui circuit combinat ¸ional este dat de num arul de port ¸i.

 Nu vom face o prezentare a not ¸iunilor de complexitate (spat ¸iu sau timp), acestea ind

identice cu cele folosite in algoritmic a.

Page 46: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 46/200

46 CAPITOLUL 4. SISTEME DIGITALE

4.2 Extensii

Putem construi intreaga arhitectur a a unui calculator plecˆ and de la un element teoretic

de baz a numit sistem digital.

De nit ¸ia 4.5 Fie V un alfabet nit nevid si m, n dou a numere naturale. Se nume¸ste

”sistem digital” structura S = (X, Y , f ) unde X = V n, Y = V m, f : X - Y .

Un exemplu simplu de sistem digital este circuitul combinat ¸ional, exprimabil printr-o

funct¸ie boolean a.ˆIn aceast a carte vom considera numai sistemele digitale binare, unde V = {0, 1}. De

aceea nu va nici o ambiguitate dac a vom desemna sistemele digitale binare cu termenul

general de sisteme digitale.

Funct ia f se nume¸ ste funct¸ie de transfer.

De asemenea, cazurile n = 0 sau m = 0 corespund unor sisteme digitale speciale(de ie sire respectiv intrare) care vor studiate separat. In continuare consider am numai

m * n = 0.

Sistemele digitale date prin De nit ¸ia 4.5 se pot reprezenta gra c sub forma urm atoare:

rr nc

S

rr mY

X

c

unde – prin convent ¸ie – un ux de n date se reprezent a printr-o singur a s ageat a

marcat a cu valoarea lui n:

A = (a1, a2, . . . , an) a1a2 an

. . . rrnc cc c

Page 47: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 47/200

4.2. EXTENSII 47

Operat iile de baz a care se pot de ni pentru sistemele digitale sunt cele de legare ˆin

serie ¸si ˆin paralel, operat¸ii numite extensii.

De nit ¸ia 4.6 Fie sistemele digitale Si = (Xi , Yi, fi ), i = 1, 2 unde

X1 = {0, 1}n, Y1 = X2 = {0, 1}m, Y2 = {0, 1}p

Se nume¸ste ”extensie serial a” sistemul digital S = (X, Y , f ) unde X = X1, Y = Y2, iar 

funct ia de transfer f : X - Y este de nit a prin f = f2 f1.

Gra c, are loc urm atoarea operat ¸ie:

X1

X1 X2 rr nc

rr n rr mc c

S1=S1 S2 rrm Sc

rr m rr pc c S2

Y1 Y2 rr pc

Y2

De nit a sisteme digitale. Extensia paralel a¸ia 4.7 Fie Si = (Xi, Yi , fi), (i = 1, 2) dou

S1 × S2 este sistemul

S = (X1 × X2, Y1 × Y2, f12)

unde f12 : X1 × X2 - Y1 × Y2 este de nit a f12(x, y) = (f1(x), f2(y)).

Gra c, are loc operat ¸ia de combinare:

X1 × X2

X2X1c E' rr n1 + n2

rr n1 rr n2rr n1 rr n2c c c c

= SS1 S2 S1 S2

rr rr m1 rr m2 m1 rr m2c c c E c'

rr m1 + m2Y1 Y2 c

Y1 × Y2

De remarcat c a intr-o extensie paralel a cele dou a sisteme digitale nu interact ¸ioneaz a.

Page 48: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 48/200

48 CAPITOLUL 4. SISTEME DIGITALE

Exemplul 4.2 S a consider siam sistemele digitale S1 = ({x1 1}, f1) ¸1, x12}, {y1

S2 = ({x2 2}, f2) date de gura1, x22, x23}, {y2 1, y2

x11 x1 2 x2 1 x2 2 x2 3

c c c c cS1 S2

c c cy11 y2 1 y2 2

Extensia paralel a S1 × S2 este

x21x2

x1 2 x221 x1 3

'c

c Ec' c Ecc Ec

c ccS1 S2

'c

c'c

c E cc

y11 y 21 y22

iar extensia serial a a lui S2 cu S1:

x21 x2 2 x23

c c cS2

y21 = x1 1 y2 2 = x1 2c cS1

cy11

De nit ¸ia 4.8 Fie sistemele digitale Si = (Xi, Yi, fi), (1 = i = 4) cu Xi = {0, 1}ni , Yi =

a” este sistemulsi m1 + m2 = n3 + n4. O extensie ”serial-paralel{0, 1}mi ¸

S = (X1 × X2, Y3 × Y4, f )

¸iile deunde f : X1 × X2 - Y3 × Y4 este de nit a f = f34 f12 (f12 ¸si f34 sunt functtransfer ale extensiilor paralele S1 × S2 respectiv S3 × S4).

Gra c, o extensie serial - paralel a are forma

Page 49: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 49/200

4.2. EXTENSII 49

X1 × X2

'c

rr n1 + n2c En1 rr  rr n2

c

S1 S2

m1 Err c c' rr m2

S'c

rr m1 + m2c En3 rr  rr n4

c

S3 S4

rr m3 E rr m4c c'

rr m3 + m4c

Y3 × Y4

Exemplul 4.3 Un circuit combinat ¸ional care incrementeaz a (s = 0) sau decrementeaz a(s = 1) un num ¸i, poate de nit astfel:ar x1x0 format din doi bit

' s x1' s x0cc c c

IN C DEC

crrrrrr 

¨¨

¨ ' s¨%c c

¨  jcc

c' c 'MU X MU X

cc

y1 y0

IN CR (incrementare), DECR (decrementare), MU X (select ¸ie) sunt circuite combinat ¸io-

nale (care vor de nite mai t arziu), iar circuitul nal rezultat prin extensia serial -

 paralel a este – evident – tot combinat ¸ional.

Page 50: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 50/200

50 CAPITOLUL 4. SISTEME DIGITALE

4.3 Cicluri

Pentru cre¸ sterea gradului de complexitate al circuitelor digitale se de ne¸ste o nou a opera-

t¸ie numit

a ciclu.

De nit am¸ia 4.9 Fie sistemul digital S1 = (X × X1, Y × Y1, h) unde X1 = Y1. Not

h = (f, f1) unde f : X × X1 - Y, f1 : X × X1 - Y1.

Prin identi carea (conectarea serial ¸ine o ciclu ¸si noul sistema) a lui Y1 cu X1 se obt

are forma S = (X, Y , g), unde g : X - Y este de nit a g (x) = f (x, f1(x, y)); f1 se

nume ste ”funct¸ie de tranzit ¸ie” ¸si veri c a de nit ¸ia recursiv a y = f1(x, f1(x, y)).

Vom avea deci urm atoarea situat ¸ie:

X X1 X X1 = Y1'crr m rr n rr nrr n c T

c c c

SS1 S1 rr m

rr pX

rr mrr p c rr p c Ec c c

Y S YY Y1

Dup a cum se observ a ˆin De nit ¸ia 4.5, apare o nou a variabil a ”ascuns a” care ia valori ˆin

mult imea Q = X1 = Y1; atunci f : X × Q - Y, f1 : X × Q - Q.

Mult imea Q caracterizeaz a comportarea intern a a sistemului digital; aceast a com-

 portare se mai nume¸ ste stare intern a sau pe scurt stare.

Efectul fundamental al comport arii interne const a ˆin evolutia sistemului pe spat ¸iul de

valori Q, f ar a modi c ari ale intr arii X .

Pentru un a X aplicat constant la intrare, ie¸ sirea poate prezenta diverse variat ¸ii. De

aceea, spunem c a autonomia unui sistem cre ste ca urmare a introducerii acestuia

ˆintr-o ciclu.

De obicei noile elemente legate de stare sunt introduse in de nit ¸ia sistemului; astfel,

el se va scrie S = (X, Y, Q, f1, g).

Exemplul 4.4 S a consider  am sistemul S1 = (X × X1, Y, f ) unde X = {0, 1}, X1 = Y =

{0, 1}2, iar f este de nit de tabelul

X × X1 Y X × X1 Y

0 00 01 1 00 010 01 00 1 01 100 10 00 1 10 110 11 10 1 11 00

Page 51: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 51/200

4.3. CICLURI 51

Prin identi carea (legarea serial ¸ine un nou sistem S.a a) lui Y cu X1 se obt

Tranzit iile sale sunt ilustrate mai jos (se face abstract ¸ie de timpul real cˆ at este aplicat

un semnal la intrare).

0S '00 01EX "!

#"!#

0, 1X1 r  

E T r r c c r 

01

r r  11S1 r 

r r  c

'T

' r rr 2s 1011 Ec "!#

"!#

0Y

Iesirea sistemului S1 este aceea¸si cu cea a sistemului S.

Dup at a – ˆin funct¸ie de tranzit ¸ie – una ˆinchiderea ciclului (X1 = Y ), sistemul S1 cap

comportament al ie¸sirii autonom de intrare.De exemplu, intrarea (constant a) 11111 . . . ˆin sistemul S va determine ie¸sirea ciclic a

01 10 11 00 01 . . .

De nit ¸ia 4.10 Comportarea unui sistem digital S este autonom a dac a si numai dac a

 pentru o intrare constant a, ie sirea are un comportament dinamic.

Sa intro ducem acum not ¸iunea de subciclu.

De nit ¸ia 4.11 Un ciclu A este inclus ˆin alt ciclu B dac a A apart ¸ine unui sistem care

face parte dintr-o extensie serial a ˆinchis a prin ciclul B .

Spunem c a A este subciclu al lui B .

De exemplu, ˆin gura urm atoare, (1) este subciclu al lui (2).

XE

cc

S1

'c

(2)Tc

(1)S2

'Tc c c E

Y

Se poate da acum o de nit ¸ie a sistemelor digitale de ordin n.

Page 52: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 52/200

52 CAPITOLUL 4. SISTEME DIGITALE

De nit ¸ia 4.12 Un sistem de ordin n (n = 0) n - DS se de ne¸ ste recursiv astfel:

1. Orice circuit combinat ¸ional (f ar a cicluri) este un 0 - DS.

2. Un (n + 1) - DS sistem se obt ¸ine dintr-un n - DS ad augand un ciclu care include

toate cele n cicluri anterioare.

3. Orice n - DS se obt ¸ine prin aplicarea regulilor anterioare.

De-a lungul acestei c art i se va ar ata urm atoarea corespondent ¸ a ierarhic a pentru n -

DS, care corespunde arhitecturii unui calculator:

• 0 - DS: sunt circuite combinat ¸ionale (f ar a autonomie);

• 1 - DS: circuite de memorie (cu autonomie pe spat ¸iul st arilor);

• 2 - DS: automate nite (cu autonomie pe tipul de comportare);

• 3 - DS: procesoare (cu autonomie pe interpretarea st arilor interne);

• 4 - DS: calculatoare

4.4 Exercit ¸ii

1. Construit ¸i circuite care realizeaz a port ¸ile AN D, OR, NOT , NOR ¸si X OR folosind

numai port ¸i NAN D.

2. Construit ¸i circuite care realizeaz a port ile AN D, OR, NO T, NAN D ¸si X OR folosind

numai port ¸i NO R.

3. Se d a circuitul:

$EE

a s $ bc

Ec E Es

x%%$

Es$

EcE $$ E$ e c E yEE% 

e %ETc E $$$ 

Construit¸i tabela sa de adev ar.

Page 53: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 53/200

4.4. EXERCIT¸ II 53

4. Se d a funct¸ia bo olean a de nit a prin tabelul

a 0 0 0 0 1 1 1 1

 b 0 0 1 1 0 0 1 1

c 0 1 0 1 0 1 0 1

f (a, b, c) 0 1 1 1 0 0 1 1

S a se construiasc a un circuit care implementeaz a aceast a funct ie.

5. Construit ¸i un circuit care implementeaz a funct ia boolean a

f (a, b, c) = abc + abc + abc

6. Aceea¸si problem a pentru funct ¸ia boolean a

g(a, b, c, d, e) = a(bc bc) + b(cd e)

7. Sunt echivalente urm atoarele dou a funct¸ii booleene ?

f (a, b, c) = abc + abc g(a, b, c) = (a c)b

8. Scriet¸i o funct¸ie boolean a descris a de circuitul urm ator:

$¨a $

e EEE

 bc

E f (a, b, c)%© E %

Aranjat¸i r aspunsul ˆin forma normal disjunctiv a, apoi forma normal conjunctiv a.

9. S a se construiasc a un circuit cu dou a port i pentru implementarea funct ¸iei booleene

f (a, b) = ab + ab

Page 54: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 54/200

Capitolul 5

Sisteme 0 - DS

Acestea sunt cele mai simple tipuri de sisteme digitale, caracterizate complet prin funct ¸ii booleene.

Astfel, multe funct ¸ii digitale pot generate plecˆ and de la circuitele elementare care le

realizeaz a, la care se adaug a o regul a recursiv a (pentru executarea funct ¸iei independent

de m arimea intr arii).

Vom trece in revist a cele mai importante sisteme care pot descrise ˆin acest mo d.

5.1 Decodi catoare

Un sistem digital are drept mult ¸ime de valori de intrare n-tupluri binare din {0, 1}n.Semnalul care vine printr-un canal zic trebuie transferat intˆ ai intr-o astfel de valoare,

acceptat a de intrarea sistemului.

De aceea, prima problem a care trebuie rezolvat a este standardizarea si determinarea

exact a a semnalului recept ¸ionat.

Aceasta este una din principalele funct ¸ii ale unui sistem digital. Inainte de a genera

un r aspuns semnalului primit, trebuie s a ¸stim ce semnal s-a primit.

Circuitul care ˆindepline ste acest deziderat se nume¸ste decodi cator.

Cel mai simplu deco di cator este decodi catorul elementar (EDCD), care ca scop

determinarea valorii unui bit.

Schema sa de construct ¸ie este dat a de Figura (a) sau (b), iar reprezentarea simbolic a – Figura (c) respectiv (d):

55

Page 55: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 55/200

56 CAPITOLUL 5. SISTEME 0 - DS

f E f E f E Es s $$$ x0 y0 x0 E$$$ y1$$$

c E c Ey1 y0

(a) (b)

E EEDCD E DCDx0 x0

(c) (d)c c c c

y0 y1 y0 y1

Deco di catorul elementar a fost obt ¸inut prin extensia paralel a a circuitelor care realizeaz a

cele mai simple funct ¸ia identic a) ¸ ¸ia¸ii f (x0) = y1 = x0 (funct si g(x0) = y0 = x0 (funct

 N OT ).

Se observ a c a permanent una ¸ si numai una din liniile de ie¸ sire are valoarea 1 (este

activ a): dac a este activ a este activ aa ie¸sirea y0, atunci intrarea a avut valoarea 0 , iar dac

ie¸sirea y1, intrarea a avut valoarea 1 .

and ce ie¸sire a de-Determinarea valorii exacte a bitului de intrare x0 se face deci a ˆ

codi catorului este activ a.

Pentru a izola ie¸sirea din canal (sau din alt sistem digital) de intrarea ˆin decodi cator 

(lucru recomandat in practic a), ˆintre cele dou a circuite se mai insereaz a o poart a logic a;

cum singurul operator unar utilizat este N OT , el se va ad auga printr-o extensie serial a,

obtin andu-se un EDCD cu bu er ( gura (b)).ˆIn acest fel, comportamentul unui E DCD este protejat de eventuale probleme ale

circuitului care asigur a intrarea.

Generaliz and, obiectivul acestei sect ¸iuni este aceea de a construi un decodi cator (DCD) cu n intr ¸i.ari (DCDn) pentru decodi carea semnalelor formate din n bit

Ulterior, orice sistem digital va avea intrarea conectat a la ie¸sirea unui de-

codi cator.

De nit a¸ia 5.1 Un DCDn este un circuit combinat ¸ional cu intrarea X = {0, 1}n format

din n bit si ie sirea Y reprezentat¸i (xn-1, . . . , x1, x0) a prin m = 2n bit ¸i ym-1, . . . , y0.

Fiecare ie¸sire este activ a numai pentru o anumit a con gurat ¸ie binar a de intrare, si – 

reciproc – ecare con gurat ¸ie de intrare activeaz a un singur bit de ie¸sire.

ste recursiv. Astfel:Structura unui DCDn se de ne¸

1. Un DCD1 este un EDCD reprezentat ˆin gura (b);

¸ine combinˆ a regula din2. Un DC Dn (n = 2) se obt and un DCDn-1 cu un DCD1 dup

gura urm atoare:

Page 56: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 56/200

5.1. DECODIFICATOARE 57

Es Ey0

Esy1n-1

E c(xn-2, . . . , x0) rr  DCDn-1

Esy2n -1

 33

 E E Ess 3xn-1 3c Ess

cccccc cc cc. . . . . .

&%&% &%& % & %

c c c c c

y0 y1 y2n - 1 -1 y2n - 1 y2n -1

DCDn

Singura di cultate in aceast a construct ¸ie const a ˆin ad ancimea (num arul mare de nivele

ale) structurii.ˆIn plus, sistemul cont ¸ine pe aceste nivele un total de 2n + 2n-1 + . . . + 2 = 2n+1 - 2

 port i AND (ˆinafara celor 2n port ¸i N OT ).

¸iei recursive de mai sus, are o complexitateDeci un DC Dn construit pe baza de nit

exponent¸ial a.

Ea poate mic¸ sorat a substant ¸ial, reducˆand adˆancimea decodi catorului, de la ordinul

n p an a la ordinul 1, pe baza urm atoarei observat ¸ii: intrarea in ecare AN D este de forma

(a); folosind asociativitatea, cele dou a componente AND pot ˆinlo cuite cu una singur a,

avand trei intr ari, cum este ˆin (b):

x0x1

x0 x1 x2

c c x2

=&% ccc

& %c E

c c c

y&%

c (b)y

(a)

 Noul DC D va avea numai n - 1 nivele.Procedeul se repet a de inc a n - 1 ori; in nal se obt ari, 2n¸ine un DCDn cu n intr 

¸i AN D, toate situate pe un singur nivel.invertoare, 2n ie¸ siri, dar numai 2n port

Page 57: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 57/200

58 CAPITOLUL 5. SISTEME 0 - DS

Exemplul 5.1 Pentru n = 3 vom avea decodi catorul DCD3 cu schema:

1

01010

  d eE E Es s s s sx0  

c Es s s sd eE E Es s s s sx1  

c Es s s s d eE E Es s s s sx2

  c Es s s s

c c c c c c c cc c c c c c c cc c c c c c c c¦ ¥¦ ¥¦ ¥¦ ¥¦ ¥¦ ¥¦ ¥¦ ¥

c c c c c c c c

y0 y1 y2 y3 y4 y5 y6 y7

000 100 010 110 001 101 011 111

arindPentru un mesaj de forma 110, intrarea va x0 := 1, x1 := 1, x0 := 0. Urmcircuitul decodi cator DCD3, se obt ¸ine y3 = 1 si yi = 0 pentru i = 3.

Ca o remarc a, ie¸sirea activ a si numai dac a reprezentarea ˆina dintr-un D CDn va yi dac

 binar a lui i este xn-1xn-2 . . . x0.

Page 58: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 58/200

5.2. CODIFICATORI 59

5.2 Codi catori

Dup a cum s-a v azut, un decodi cator sistematizeaz a intrarea ˆintr-un sistem digital.

ˆIn particular, el pune o problem a sub o form a standard. R aspunsul la aceast a problem aeste generat de un codi cator.

De nit ari dintre care la¸ia 5.2 Un (2n, p) - codi cator este un circuit cu m = 2n intr 

ecare moment numai una este activ a; pentru ecare intrare el genereaz a o con gurat ¸ie

 binar a de lungime p. Circuitul const a din p port ¸i OR sau din p port ¸i NAN D, ecare

  poart a av and maxim m intr ari.

Un codi cator nu este de nit niciodat a independent: intr arile lui sunt de fapt n vari-

abile care activeaz siri ale acestuia reprezint a intr arile ˆina un DCDn, iar cele m = 2n ie¸

codi cator. Vom completa ulterior De nit ¸ia 5.2.

Exemplul 5.2 Un sumator complet este un circuit combinat ¸ional cu n = 3 intr ari:

y0

sy1sy2

sy3

sy4DC D3 sy5

sy6

s sy7

c c c c c c c cx2 x1 x0

CBA

T TET 8 78 7  E

c cE C+ S

A, B sunt numerele (de un bit) care se adun a, iar C este bitul suplimentar de deplasare

(de la insumarea altor doi bit ¸i precedent i). Sunt dou a ie siri: S - valoarea sumei binare

dintre A ¸ ari.si B, ¸si C+ - valoarea noii deplas

Pentru construct ¸ie vom folosi:

arui port¸i de ie¸sire sunt complementate (ˆin acest exem-- Un decodi cator D CD3 ale c

 plu);- Un codi cator compus din dou a port i NAN D, ecare cu cˆ ate 4 intr ari.

Deci avem de-a face cu un (8, 2) - codi cator. Pentru a vedea cum lucreaz a, vom t¸ine

cont de urm atoarea tabel a de decodi care:

Page 59: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 59/200

60 CAPITOLUL 5. SISTEME 0 - DS

y0 y1 y2 y3 y4 y5 y6 y7

A x0 0 1 0 1 0 1 0 1

B x1 0 0 1 1 0 0 1 1

C x2 0 0 0 0 1 1 1 1

S a presupunem c a avem A = 1, B = 0, C = 1; aceasta corespunde situat ¸iei y5 = 1, yi =

a port¸i NAN D0 (i = 5). Deci din DCD3 va ie¸ si y5 = 0, yi = 1. Rezultatele celor dou

sunt:

S = y1 y2 y4 y7 = 1 1 1 1 = 1 = 0

C+ = y3 y5 y 6 y7 = 0 = 1

ˆIntr-adev

ar, suma 1 + 0 + 1 este 0, iar transportul 1.

Observat ¸ia 5.1 In exemplul 5.2, dac a ie sirile decodi catorului nu ar complementate,

atunci codi catorul ar avea port ¸i OR in loc de N AN D; aceasta rezult a din relat ¸iile DeMorgan:

p q = p q

ˆIn general, operatorul OR corespunde not

¸iunii de codi care iar AN D - celei de deco-

di care (OR distruge identitatea componentelor, pe cˆ and AN D pre gureaz a o anumit a

con gurat ¸ie binar a).

Dac a dorim s a reprezent am toate funct ¸iile binare cu 3 intr ari si 2 ie siri, vor necesare

dou a port¸i NAN D cu cel mult opt intr ari ecare.

¸ii logice posibile vor implementate folosind circuitul din Exemplul 5.2Cele 216 funct

ˆin care se pun punctele (conectorii) conform ie¸ sirilor din tabela care de ne¸ ste funct ¸ia

logica respectiv a.

Circuitul rezultat poate interpretat ¸ si ca o memorie x a.ˆIntr-adev ar, dac a se consider a intr arile drept adrese, atunci la ecare adres a exist a

stocat a o anumit a valoare binar a, conform distribut ¸iei conectorilor.

Astfel, folosind Exemplul 5.2, la adresa 010 este stocat cuvˆ antul 01, la adresa 110

cuvantul sto cat este 10, s.a.m.d.

Acest tip de memorie este numit read only memory (ROM ).

Exemplul 5.3 S a consider am funct¸ia boolean a cu 3 intr ari si 3 ie¸siri de nit a prin

f (x0, x1, x2) = (x0x1 + x2, (x0 + x1)x2, x0x1 + x1x2 + x2x0).

Tabelul ei de valori va

Page 60: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 60/200

5.2. CODIFICATORI 61

y0 y1 y2 y3 y4 y5 y6 y7

x0 0 1 0 1 0 1 0 1

x1 0 0 1 1 0 0 1 1

x2 0 0 0 0 1 1 1 1

f1(x0, x1, x2) 1 1 1 1 0 0 0 1

f2(x0, x1, x2) 0 0 0 0 0 1 1 1

f3(x0, x1, x2) 0 1 1 1 1 1 1 0

unde s-a notat

f1(x0, x1, x2) = x0x1 + x2,

f2(x0, x1, x2) = (x0 + x1)x2,

f3(x0, x1, x2) = x0x1 + x1x2 + x2x0.Funct a¸ia f (x0, x1, x2) = (f1(x0, x1, x2), f2(x0, x1, x2), f3(x0, x1, x2)) este implementat

de circuitul codi cator:

y0

y1

y2

y3DCD3

y4

y5

y6

y7

ccc cc ccc cccccc¦ ¥ ¦ ¥ETET Tx2 & %¦ ¥ & %& %

x1E

x0 c c cf1 f2 f3

Folosind deci astfel de circuite, orice funct ¸ie boolean aa f : V n - V p poate implementat

de un (2n, p) - codi cator.

Prin urmare, codi catorul este un circuit universal, capabil s a implementeze orice

funct ie logic a.

Cum orice funct ¸ie logic a se poate de ni pe baza unei tabele de adev ar, rezult a c a un

circuit RO M este universal.

Page 61: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 61/200

62 CAPITOLUL 5. SISTEME 0 - DS

5.3 Demultiplexori

Demultiplexorul elementar (E DMU X) permite transferul unui semnal E spre dou a desti-

nat ¸ii de select¸ii distincte (y0 sau y1), conform unei anumite funct ¸ie x0.

Circuitul asociat acestui deziderat este reprezentat ˆin Figura (a).

ˆIn practica, pentru securizarea intr arilor la circuitele driver-ului, schema sa se complic a

  prin folosirea unui decodi cator elementar (E DCD) pentru selectarea celor dou a port i ¸si

un bu er invertor pentru demultiplexarea intr arii; de asemenea, port ¸ile AN D se ˆinlo cuiesc

cu port¸i NAN D.

Se obt ine astfel circuitul (b), a c arui reprezentare simbolic a este (c):

 EDC DE Esx0 $$$ d d'

c c

 s dE E EsE x0c c

&% &% 'c c

$$$d 's E(a)  c c c c

&%&%y1 = x0E y0 = x0E d d

(b)c cc

E y0 y1E EDM U Xx0

y0 y1

c c (c)

De nit ¸ia 5.3 Un demultiplexor cu n intr a semnalul de intrare Eari (DMU Xn) transfer 

¸iela una din cele m = 2n ie¸ siri ym-1, . . . , y0, in conformitate cu un codul binar de select

xn-1, . . . , x0.

O prim a solut ie pentru implementarea unui demultiplexor const a ˆin generalizarea schemei

(b): anume, utilizarea unui decodi cator cu n intr ¸i N AN D, conectateari ¸si m = 2n port

ca ˆin gur a:

rn DCDn(xn-1, . . . , x0) E r 

y0 y1 . . . ym-1

'c c c

$$$d ' E c c c

. . .&%& % &%d d d

c c c

y0 y1 ym-1

Page 62: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 62/200

5.3. DEMULTIPLEXORI 63

Observat ¸ia 5.2 A nu se face confuzie de notat ¸ie: variabilele yi din interiorul DCDn

sunt variabile interne ale acestui circuit. Ele difer aa calitativ de variabilele yi care formeaz

ie sirea din DM U Xn.

Deoarece pe nivelul de ie¸sire al unui decodi cator se a a port¸i AND, un procedeu simi-

lar cu cel de la decodi catori permite reconstruirea unui DM U X cu m port ¸i NAN D

controlate de n EDCD-uri.

De asemenea, plecˆ and de la de nit ¸ia recursiv a a deco di catorilor, se poate construi o

de nit ¸ie recursiv a ¸si pentru demultiplexori.

Exemplul 5.4 S a construim un circuit DM U X3.

Pentru simpli care, vom renunt ¸a la complement arile de securitate.

De asemenea, vom combina cele opt port ¸i AND3 de la ie¸ sirea din DC D3 (varianta pe

un singur nivel) cu port ¸ile AN D din DM U X, obt ¸in and opt port ¸i AN D4, toate situate pe

un singur nivel.Cu aceste convent ¸ii, structura circuitului este:

  d dE E Es s s s sx0  c Es s s s

d dE E Es s s s sx1  c Es s s s

 d dE E Es s s s sx2

  Ec s s s s

s s s s s s s sEEc c c c c c c cc c c c c c c cc c c c c c c c c c c c c c c c

¦ ¥¦ ¥¦ ¥¦ ¥¦ ¥¦ ¥¦ ¥¦ ¥c c c c c c c c

y0 y1 y2 y3 y4 y5 y6 y7

ste codul de select ¸ieDe exemplu, pentru a trimite semnalul E la adresa y6 se folose¸

x2 = 1, x1 = 1, x0 = 0 (deoarece reprezentarea lui 6 ˆin binar este 110).ˆIn acest fel, ie¸sirea y6 devine activ

a si preia semnalul E, iar celelalte ie¸ siri sunt blocate

de valoarea 0 emis a de DC D3.

Page 63: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 63/200

64 CAPITOLUL 5. SISTEME 0 - DS

5.4 Multiplexori

Funct ia invers a unui DMU X este multiplexarea (MU X ): un circuit care adun a ˆintr-un

singur loc informat ¸ia venit a din mai multe zone.Ea este de asemenea si o funct ¸ie de comunicare, asigurˆ and interconectarea dintre

 blocuri distincte ale unui sistem digital.

Un multiplexor elementar (E MU X ) este un selector care transmite semnalul i1 sau i0

spre y, ˆin funct¸ie de valoarea codului de select ¸ie x0.

Circuitul este prezentat mai jos, unde un EDCD cu intrarea x0 deschide numai una

din cele dou a port¸i AN D, ”ˆinsumate” apoi ˆin y printr-o poart a OR:i0 i1

d d c c sE E Ex0 i1i0 

E E MU Xx0c cc cy 

cE c'

cc c

 ¦ ¥c

y = x0i1 + x0i0

De nit¸ia general a a acestui circuit este:

De nit ¸ional cu n bit ¸i de control¸ia 5.4 Un multiplexor (M U Xn) este un circuit combinat

ati(xn-1, . . . , x0), care selecteaz a la ie¸sirea y numai o intrare din cele m = 2n posibilit

im-1, . . . , i1, i0.

Eym-1

DCDn

Ey1

Ey0i0 i1 im-1

ET c c c c c crn(xn-1, . . . , x0) r  . . .

& %&% &%cE '

c

c E c

cc&%¦ ¥ c

y

Page 64: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 64/200

5.4. MULTIPLEXORI 65

O implementare posibil a folose¸ a AND - OR, caste un DC Dn legat serial cu o structur 

ˆin gura anterioar a.

Iesirea din decodi cator activeaz a numai o poart a AN D, care transfer a la ie¸sire in-

trarea selectat a.

Acestui circuit i se poate aplica proprietatea de asociativitate intre port ¸ile AN D ale

ie¸sirilor din decodi cator si port ile AN D suplimentare (ca la DCD-uri).

Se poate da ¸si o de nit ¸ie recursiv a a unui multiplexor, de complexitate mult redus a:

De nit a a unui E MU X cu¸ia 5.5 M U Xn poate construit printr-o conectare serial

doua M U Xn-1 conectate paralel; ˆin plus, M U X1 = E MU X .

i0 . . . im/2-1 im/2 . . . im-1

c c c c

i0 . . . im/2-1 i0 . . . im/2-1

EE M U Xn-1 MU Xn-1TT

r r y yn-1

Es r (xn-2, . . . , x0) r  'c

c E cn-1

c

i0 i1

E EM U Xxn-1 x0

y

c

y

Desi un multiplexor este (prin de nit ¸ie) un circuit de select ¸ie, el poate utilizat si pentru

realizarea unor funct ¸ii booleene.

Astfel, s a consider ¸ii caream xn-1 . . . , x0 ca variabile booleene de intrare ale unei funct

ia valorile im-1, . . . , i0.

Pentru codul de select ¸ie (considerat intrare) 00 . . . 0 se alege valoarea lui i0 ¸s.a.m.d.,

 p an a la intrarea 11 . . . 1 care selecteaz a valoarea im-1.

a” tabela de adev ar a unei functDeci M U Xn ”execut ¸ii booleene f : V n - V .

Exemplul 5.5 S a consider am funct ia de transport C+ a sumatorului construit ˆin Exem-

 plul 5.2. Tabela sa de adev ar este dat a de secvent¸a

y3 + y5 + y6 + y7 = 00010000 + 00000100 + 00000010 + 0000001 = 00010111

Dac a aceast a secvent¸a este aplicat a ie¸ ¸ie)sirilor din DCD3 cu variabilele de intrare (select

A, B , C, se obt¸ine y = C+:

Page 65: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 65/200

66 CAPITOLUL 5. SISTEME 0 - DS

Ey7

Ey6

Ey5

Ey4

Ey3DCD3Ey2

Ey1

Ey0

0 0 0 1 0 1 1 1

ABC

x0 x1 x2c c c c c c c cc c c c c c c cETET T © © © © © © © ©

E

cE c'c E c''

c E c' '

cc E c

cc c c c c c0 )  c

y

sau, mai succint,'s s s s 1E ss s s0

cc c c c c c c

CB

A

EEE

i0 i1 i2 i3 i4 i5 i6 i7x2

x1 MU X3

x0 y

c

C+

De exemplu, dac a avem intrarea 101, aceasta corespunde lui y5 = 1 si yi = 0 pentru i = 5.

sasea poart a AN D se obt ¸ine 1 care - prin poarta OR - conduce laCum i5 = 1, pe a ¸

ie sirea y = 1.

si toate ie¸sirile din port ¸ile AN D au valoareaLa fel, pentru intrarea 001 avem y4 = 1 ¸

0 , ceea ce duce ˆin nal la y = 0.

Solutia prezentat a este ins a prea general a ¸si risipitoare de resurse.

Ea poate minimizat atoare) folosind unaa la un M U X2 (Figura (a) de pe pagina urm

din variabile pe pozit ¸ie de selector.

Ideea poate ˆimbun at atit a ˆin continuare, ajungˆ andu-se ˆin nal la un E MU X care

selecteaz a cu C dou a funct¸ii de dou a variabile A si B (Figura (b)):

Page 66: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 66/200

Page 67: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 67/200

68 CAPITOLUL 5. SISTEME 0 - DS

Exemplul 5.5 sugereaz a ideea c a un multiplexor poate o solut ¸ie pentru implementarea

funct¸iilor booleene.

Teorema 5.1 Orice funct ¸ie booleean a cua f : V n - V (n = 0) poate implementatun circuit combinat ¸ional logic (C LC).

Demonstrat¸ie: Pentru n = 0 a rmat ¸ia este banal a.

Pentru n = 1, orice funct ¸ie boolean a de n variabile se poate pune sub forma normal a

f (xn-1, . . . , x0) = xn-1g(xn-2, . . . , x0) + xn-1h(xn-2, . . . , x0)

Pentru g ¸si h se poate aplica inductiv acela¸ si procedeu.

Din aceste dou a circuite, legate serial cu un E MU X , se obt ¸ine circuitul solicitat.n-1 Es r  r (xn-2, . . . , x0)

r r n-1

cEcE CLCg CLCh

'c

c E cg(xn-2, . . . , x0) h(xn-2, . . . , x0)

c

i0 i1E x0 EM U Xxn-1

c

y = x0i0 + x0i1

Exemplul 5.6 S a consider am funct ia f (a, b, c) = ab+bc+ca. In prima etap a o reprezent am

sub form a normal disjunctiv a:

f (a, b, c) = ab(c + c) + (a + a)bc + a(b + b)c = abc + abc + abc + abc + abc + abc =(ab + ab + ab)c + (ab + ab + ab)c.

Fie funct¸iile

h(a, b) = ab + ab + ab = ab + (a + a)b = ab + b ¸ si

g(a, b) = ab + ab + ab = (a + a)b + ab = b + ab.

Pe baza Teoremei 5.1 se poate construi circuitul combinat ¸ional logic al lui f : 

a E Es $$$ dE

T 1 1

c cccE c Es b EMU X EMUX

'cc E c b + ab b + ab

cEc EMUX

cf (a, b, c)

Page 68: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 68/200

5.5. CODIFICATORI CU PRIORITATE 69

5.5 Codi catori cu prioritate

Este posibil ca unele circuite de codi care s a solicite

• Un num ar de intr ari care s a nu e multiplu de 2;

• Mai multe con gurat ¸ii active printre aceste intr ari.

Din aceste motive apare necesitatea de a extinde ideea de codi cator, astfel ca s a se

 permit a un num ar arbitrar de intr ari si s a se asigure un proces de select ¸ie care s a aleag a

  bitul activ a at pe cea mai semni cativ a pozit¸ie (bitul de prioritate maxim a ˆintre bit¸ii

activi).ˆIn aceste condit ¸ii, codi catorul cu prioritate folose¸ ste o ordonare a bit ¸ilor de intrare

(ca o condit¸ie suplimentar a, necesar a select iei).

Pe baza acesteia, dac a sunt activi mai mult ¸i bit i, numai cel mai semni cativ dintre ei

va selectat la codi care.

De nit ¸ia 5.6 Un codi cator cu prioritate (P E) este un circuit cu m intr  ari im-1, . . . , i0

(ˆin ordinea descresc atoare a priorit at ilor) si dou a zone de ie¸ sire: o zon a Z de un bit care

indic a dac a intrarea cont ¸ine (Z = 0) sau nu (Z = 1) bit ¸i activi, si o zon a format a din

a pozitia celui mai semni cativ bit activ din intraren = log2m bit ¸i yn-1, . . . , y0 care indic

(dac a exist a) (altfel genereaz a eventual 00 . . . 0).

Interpretarea numeric a a funct ¸iei P E este: circuitul calculeaz a partea ˆintreag a a loga-

ritmului (ˆin baza 2) dintr-un num ar intreg, indic and eventual o eroare (funct ¸ia nu este

de nit a) pe bitul Z.

Cel mai simplu astfel de circuit - codi catorul cu prioritate elementar (EP E ) (m = 2)este de nit prin ecuat a¸iile booleene Z = i1i0, y0 = i1 pentru circuitul de baz

sE E E y0i1d d

c cdE Ei0 i1 i0

c c EEP E Z  dy0

c c

Z = i0 + i1

Page 69: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 69/200

70 CAPITOLUL 5. SISTEME 0 - DS

sau Z = i1i0E, y0 = i1E ˆin cazul versiunii cu acces (EEP E); pentru facilitarea imple-ment arii, intrarea E si iesirea Z sunt complementate.

 E E E s$ $i1 $ $$ d $ d

c c  i1 i0'

c cd dE E 's E$i0 $  $

 E EEE P EE Zccc

  dy0c

y0 = i1E cc

Z = i0 + i1 + E

Rolul lui E este de a activa/dezactiva circuitul E EP E. Cˆ and E = 1, cele dou a structuri

sunt echivalente.Pentru E = 0, E EP E scoate valoarea Z = 1 indiferent de intrare (circuitul este

decuplat).

Interpretarea comportamentului circuitului EP E (respectiv EE P E) este urm atoarea:

• Z = 0: nu sunt bit ¸i activi, iar y0 este ignorat (sau se consider a y0 = 0).

• Z = 1: exist a bit i activi: cel mai semni cativ se a a pe pozit ¸ia y0.

Comportamentul unui E P E (sau EEP E ˆin cazul E = 1) poate sumarizat ˆin tabelul:

i1 i0 Z y0 Comentarii

0 0 0 0 Nu sunt bit ¸i activi

0 1 1 0 i0 este bit activ1 0 1 1 i1 este bit activ1 1 1 1 i1 este cel mai semni cativ bit activ

Observat ¸ia 5.3 Dac a exist a cel put¸in un bit activ, atunci y0 = [log2n] unde (n)2 = i1i0.

Extinzˆand sunt dou a variante recursive de construct ¸ie a co di catorilor cu prioritate cu n

ie¸siri P En, bazate pe extensii seriale respectiv extensii paralele.

ˆIn prima variant a, se alege P E1 = E EP E; ˆin continuare, un P En (n > 1) cu acces

este de nit prin conectarea serial a a dou a:a P En-1 cu acces, ca ˆin gur 

Page 70: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 70/200

5.5. CODIFICATORI CU PRIORITATE 71

ET

i2n -1 i2n -1 i2n -1 -1 i0

c c c c. . .

i0 $i0 i2n -1 -1i2n -1 -1

c EE EsE E Z E ZE EP En-1 P En-1 Z%. . .

. . .. . .yn-2 y0 yn-2 y0

c''c

c E'c

cc Ec c

c. . . " !" !¢ ¡ ¢ ¡c cc . . .yn-1 yn-2 y0

Observat ¸ia 5.4 Dac aa 2n-1 < m < 2n, atunci intr arilor im, im+1, . . . , i2n -1 li se asigneaz

valoarea constant a 0 .

Cea mai semni cativ ¸in ca rezultante prin port ¸ia ie¸sire este yn-1 = Z; celelalte ie¸siri se obt

OR ale ie¸sirilor corespunz atoare pentru cele dou a P En-1.ˆIntr-adev ar, dac a tot¸i bit ii din prima jum atate a intr arii sunt inactivi, atunci cel mai

semni cativ bit de ie¸ sire este 0, ie¸ atoare sunt 0, iar restul bit ¸ilor  sirile din P En-1 corespunz

sunt dat ¸i mai put ¸in semni cativi).¸i de al doilea P En-1 (cu bit

a (deoareceAltfel, yn-1 = Z = 1, ie¸ sirea celui de-al doilea P En-1 este dezafectat

E = Z = 0) ¸ si tot restul ie¸sirii este dat de primul (cel mai semni cativ) P En-1.

Observat a totdeauna cu E = 1 (deci E = 0).¸ia 5.5 Accesul la un EPn se realizeaz

Exemplul 5.7 S a construim un codi cator cu prioritate pentru m = 3. Atunci n =

si – conform schemei de mai sus – vom avea:log23 = 2 ¸

ET

0 i2 i1 i0

c c c c  ¤i1 i0 i1 i0 cE

E E ZE EsEEP E E EP EZ E ZE !¥y0 y0c'

c E c'

c c&%¦ ¥c c

y1 y0

Deoarece m = 3, se asigneaz a la intrarea de prioritate maxim a (corespunz atoare lui im)

valoarea 0 .

Page 71: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 71/200

72 CAPITOLUL 5. SISTEME 0 - DS

Sa presupunem c a se solicit a acest P E2 (activat prin E 1) cu intr arile i2 ¸si i0; deci

i2i1i0 = 101.

¸ine (atentAtunci, din primul E EP E = P E1 se obt ¸ie: i1 0 , i0 i2)

Z = i1i0E = 1 0 1 = 0 ¸si y0 = i1E = 0 1 = 0

Cum Z = 1, aceast si constituie intrarea ˆin ala valoare merge la ie¸sire ˆin y1 (y1 = 1) ¸

doilea EEP E = P E1. Cum E = 1 (deci E = 0), acesta este dezafectat.

Ie¸sirea va deci format a – ˆin binar – pozit ¸ia bitului 2:a din y1y0 = 10, care reprezint

acesta (i2) este bitul activ care este selectat ca prioritar.

Dac si Z = 1.a intrarea ˆin P E2 este i2i1i0 = 001, primul EE P E scoate y0 = 0 ¸

Cum Z = 0, aceasta va – simultan – valoarea nal at ¸si ltrula a lui y1 (y1 = 0) cˆ

care permite accesul la al doilea EE P E (cu E = Z = 1).

Acesta are asign arile i1 0, i0 1 ¸si va scoate Z = i1i0E = 1 0 1 = 0 – semnal

ca exist a bit¸i activi.

Se calculeaz a y0 = i1E = 0 care – prin poarta OR – merge ˆin valoarea nal a a lui y0.

Deci y1y0 = 00, adic a primul bit i0 este cel selectat ca activ.

Implementarea acestui circuit este ˆins a prea lent a pentru aplicat ¸ii (num arul de nivele

creste exponent¸ial); de aceea se folose¸ ste o alt a construct¸ie, bazat a pe extensia paralel a.

a a douAici P En este construit prin extensia paralel a P En-1; ie¸sirea Z ¸si cel mai

a Z ; restul bit ¸ilor de ie¸siresemni cativ bit yn-1 sunt calculate cu un E P E din cele dou

sunt selectat ¸i cu n - 1 multiplexori elementari din ie sirile celor dou a P En-1.

EP E indic a unde este cel mai semn cativ bit care are valoarea 1 (la intrarea primului

a restul codului.sau celui de-al doilea P En-1), iar yn-1 selecteaz

i2n -1 . . . i2n -1 i2n- 1 -1 . . . i0

c c c c

i2n -1 -1 . . . i0 i2n- 1 -1 . . . i0

' ' ZZ P En-1 P En-1

yn-2 . . . y0 yn-2 . . . y0

c E

rrn-1 rrn-1c E c'

c c cc

EEP E (n - 1) EM U XT

Escc c rr n-1

Z yn-1 yn-2, . . . , y0

Page 72: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 72/200

5.5. CODIFICATORI CU PRIORITATE 73

Adancimea acestei variante este comparabil a cu n, deci mult mai simpl a ¸si rapid a.

De ret inut c a – ˆin general – o extensie paralel a genereaz a circuite rapide.

Dezavantajul const a ˆin m arimea lor, care cre¸ ste exponent ¸ial.

Exemplul 5.8 S a consider  am m = 5. Atunci n = log25 = 3, deci vom avea un P E3.

De remarcat c a din cele opt intr ari, primele 3 (cele mai semni cative) sunt setate pe 0 .

Sunt posibile dou a situat¸ii:

1. i4 = 1. Atunci Z1 = 1, deci Z = 1 ¸ si y2 = 1, indiferent de valorile bit ¸ilor i3, . . . , i0.

¸ie selectat a de cele dou a EM U X -uriDin primul P E2 iese y1y0 = 00, combinat

(datorit ¸ia de select¸ie).a valorii y2 = 1 luate de funct

Deci bitul cel mai activ este pe pozit ¸ia (y2y1y0)2 = (100)2 = 4.

0 0 0 i4 i3 i2 i1 i0

c c c c c c c c

i0i1i2i3i0i1i2i3

'' ZZ P E2 P E2

y1 y0 y1 y0

c Ec E'

ccc E

ccc cci0i1i0i1i0i1

' EEEP E EM U X EM U XZTT

Es csc c c

y1 y0Z y2

2. i4 = 0. Atunci Z1 = 0 ¸ si – indiferent de valoarea lui Z2 – din EP E iese y2 = 0.

Dac si nu avem bit ¸i activi.a i3i2i1i0 = 0000, se obt ¸ine Z2 = 0, deci Z = 0

Dac a printre ace sti patru bit ¸i exist a cel put in unul activ, atunci Z2 = 1.

E P E anunt ¸ a existent¸a unui bit activ (Z = 1) pe pozit ¸ia y2 = 0.

a rol de selector pentru cele dou a EMU X-uri, acestea vor transfera laCum y2 joac

ie sire valorile y1, y0 obt ¸inute de al doilea P E2, deci adresa celui mai semni cativ bit

activ din secvent ¸a i3i2i1i0.

Cum primele trei intr ¸in andu-seari sunt totdeauna 0, primul P E2 poate eliminat, obt

circuitul

Page 73: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 73/200

74 CAPITOLUL 5. SISTEME 0 - DS

i3 i2 i1 i0

c c c c

i0i1i2i3

' Z P E2

y1 y0

0 0i4

cT

ccc cci0i1i0i1i0i1

' EEE P E EMU X EM U XZTT

Estc c c c

y1 y0Z y2

De fapt ˆintotdeauna va posibil s a elimin am intr and cores-arile im, . . . , i2n -1, simpli cˆ punz ator codi catorii cu prioritate.

Page 74: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 74/200

5.6. SUMATORI 75

5.6 Sumatori

Una din cele mai importante funct ¸ii digitale este operat ¸ia aritmetic a de adunare.

Aceast a funct¸ie se de ne¸ ste de obicei plecˆ and de la circuite simple (suma a dou anumere de 1 bit), capabile s a se extind a recursiv pentru a asigura sumatori pe n bit ¸i,

 pentru n arbitrar de mare.

Dup a cum se ¸stie, interpetarea numeric a a funct iei XO R ( gura (a)) este suma modulo

a calcul am ¸si funct¸ia de transport2. Pentru extensia ei la suma modulo 2n este necesar s

CR.

Atunci, un semi-sumator H A va format dintr-un XO R ¸ si un AN D (care ia valoarea

1 numai cˆand ambii operanzi sunt 1); Figura (b) d a reprezentarea simbolic a a unui semi-

sumator, iar Figura (c) - structura sa intern a.AB

EA Bc c E

A Bc c cc cc & % 

HA &% 

&%S CR c(a) c c(c)c c (b)S S CR  

Dup a cum am v azut in Capitolul 2, dou a numere ˆintregi de n bit ¸i (n > 1) se adun a

 bit-cu-bit, incepˆ and de pe cea mai put ¸in semni cativ a pozit ie.

Fiecare sum a de doi bit¸i este in uent ¸at a – prin funct ¸ia de transport – de suma binar a

anterioar a; de aceea, pentru a t ¸ine cont si de acest transport, se va ad auga o intrare

suplimentar a C de transport, obt ¸inandu-se un sumator complet F A (full adder), a c arui

reprezentare simbolic a este dat a de Figura (d) ¸si cont ¸inut - de Figura (e):

A B C

c c

A BH A

S CR A B

c E'c

cc c c

A B' ' C H AF AC+

S CR 

c(d) c c E

S S (e) cc&%¦ ¥&%

c

C+

Page 75: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 75/200

76 CAPITOLUL 5. SISTEME 0 - DS

Primul H A ˆinsumeaz a cei doi bit i (corespunz atori operanzilor A si B ), iar al doilea adun a

la suma astfel calculat a valoarea deplas arii; transportul de ie¸ sire este dat de primul sau

al doilea H A.

Observat ¸ia 5.6 Sumatorul complet poate construit ¸si pe baza unui codi cator (acesta

ind un circuit universal); ˆintr-adev ar, funct ¸ia sum : {0, 1}3 - {0, 1}2 de adunare a

trei cifre binare poate de nit a prin tabela de valori

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

S 0 0 0 1 0 1 1 1

C+ 0 1 1 0 1 0 0 1

De aici putem genera forma canonic a celor dou a componente care formeaz a funct¸ia

sum:

S = xyz + xyz + x yz + xy zC+ = xy z + xyz + xyz + xyz = xy(z + z) + xz(y + y) + y z(x + x) = xy + yz + xz

Deci, un circuit combinat ¸ional echivalent cu un F A poate construit imediat:

x s s s s

 @@d

s s

y s s s s

 

@@

d s s

z s s s s2

2 ds s

ccc ccc ccc ccc c c c c c c

'c

  'c

'c

cE cc E c c E cc c cc¦ ¥  

¦ ¥ 

c c

S C+

Dac a de nim adˆ ancimea unui circuit ca ind num arul maxim de port ¸i situate pe un

drum, circuitul de mai sus este un circuit combinat ¸ional de adˆ ancime 3.

Dac a toate port ¸ile permit aceea¸ si vitez a de traversare, atunci acesta este mai rapid

decat de nit ¸ia unui F A.

Dezavantajul s au major este num arul mare de port ¸i, deci un cost hard mai ridicat.O problem a de baz a ˆin arhitectura calculatorului const a ˆin realizarea de circuite care

s a ofere avantaje atˆ at din punctul de vedere al vitezei de lucru, c at si al costului echipa-

mentului hard.

Page 76: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 76/200

5.6. SUMATORI 77

Un sumator de n bit a, se poate de ni recursiv prin extensia serial a¸i ADDn ˆin cascad

a unui ADDn-1 cu un F A. Init ¸ial, ADD1 este un F A.

an-1 bn-1 an-2 a0 bn-2 b0

. . . . . .c c c c c c

' ' 'CC c0cn F A C+C+ ADDn-1

. . .c c c

s0sn-1 sn-2

a are formaExemplul 5.9 Un sumator ADD3 construit ˆin cascad

a2 b2 a1 b1 a0 b0

c c c c c c

''' F A F A F Ac3 ' c0

c c cs2 s1 s0

Din p acate, in aceast a construct ¸ie serial a a circuitului, calculul transportului la ecare

ˆinsumare de doi bit ¸i conduce la un proces de calcul lent.

Pentru a obt ¸ine o vitez a de calcul mare, se folose¸ ste alt a construct ¸ie a sumatoruluia a transportului ec arei sume binare.ADDn, prin ˆinsumarea separat

Pentru calculul transportului ec arei sume binare se introduce un circuit suplimentar 

de control al transportului CL (carry lookahead). Ecuat ¸iile care descriu CL se bazeaz a

 pe relat¸ia

ci+1 = ai bi (ai bi )ci = Gi Pi ci.

(reamintim, este notat ¸ia matematic a pentru operat ¸ia X OR).

Iesirile ec arui HA genereaz a – prin port ¸ile AND ¸si XO R – ie¸ sirile Gi respectiv Pi.

Aplicand aceast a regul a de i (0 = i = n) ori, se obt ¸ine:

ci+1 = Gi Pi Gi-1 Pi Pi-1Gi-2 . . . Pi Pi-1 . . . P0c0

Page 77: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 77/200

78 CAPITOLUL 5. SISTEME 0 - DS

ai bi

c c

A B

Gn-1 G0 Pn-1 P0. . . . . . . . . . . .HAc c c c

S CR CL ' c0

' cPi s ci Gi

¦ ¥¦ ¥&%

. . .c c c c c

cn cn-1 c1

c

si

Exemplul 5.10 Reluˆ and exemplul unui sumator pe 3 bit ¸i, vom avea circuitul

a2 b2 a1 b1 a0 b0

c c c c c c

H A H A H A

C R S C R S C R S

'c

'c

'c

' ' ' sss c0c1c2TTc c c

&% &% &%¦ ¥ ¦ ¥ ¦ ¥¦ ¥ ¦ ¥ ¦ ¥

G2 P2 G1 P1 G0 P0c c cs2 s1 s0

c c cc c c

' CLc3

Un tabel cu valorile scoase de CL (a c arui structur a o l as am ca exercit ¸iu) este:

ai 0 0 0 0 1 1 1 1

 bi 0 0 1 1 0 0 1 1

ci 0 1 0 1 0 1 0 1

ci+1 0 0 0 1 0 1 1 1

Page 78: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 78/200

5.6. SUMATORI 79

5.6.1 Circuit digital pentru incrementare

Un caz particular de sumator este cel de incrementare, cˆ and al doilea operand este egal

cu 1 .Se poate folosi un circuit de adunare obi snuit, din cele prezentate anterior, unde va-

loarea 1 se extinde pe un num ar de bit ¸i egal cu lungimea primului operand; operat ¸ia

devine ˆinsa costisitoare (ca timp ¸ si spat iu) ˆin condit iile ˆin care incrementarea este folosit a

mult mai frecvent decˆ at adunarea obi snuit a.

De aceea, t ¸in andu-se cont de valoarea x a a celui de-al doilea operand, se pot face

reduceri substant ¸iale.

Observat ¸ia 5.7

• Un F A in care B = 0, se reduce la un H A care face suma dintre A ¸ si C .

• Un F A ˆin care B = 1, C = 0, se reduce la un H A care face suma dintre A ¸si 1 .Mai mult, deoarece s = A 1 = A, c = A 1 = A, acesta poate construit folosindnumai un invertor:

a0

' sc

£gg £gf 

cc b0

Simbolul pentru circuitul de incrementare al unui num ar A – reprezntat pe n bit ¸i – este:

A

rr 

I NCn

nn

cc

rr 

A + 1

Similar sumatoarelor, ¸ si aici sunt dou a tipuri de construire a lui IN Cn.

O prima variant a – ˆin cascad a – se de ne¸ste recursiv astfel:

¸ia 5.7.- I NC1 este circuitul din Observat

¸ine prin extensia serial- I NCn se obt a a unui H A cu IN Cn-1 sub forma

an-1'

c

. . .

cccc 'T

' c can-2 a1 a0

H A INCn-1

. . .c c c c b0 b1 bn-2 bn-1

Page 79: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 79/200

80 CAPITOLUL 5. SISTEME 0 - DS

Exemplul 5.11 Un circuit de incrementare pe 4 bit ¸i (INC4) este

a3 a2 a1 a0 1 '

c

'

c

'

c ccccc 'T

'T

'T

' c cccHA HA HA HA

c c c c b0 b1 b2 b3

Cel mai din dreapta HA poate inlocuit cu invertorul din Observat ¸ia 5.7.

Dezavanta jul acestei construct ¸ii este un consum mai mare de timp.

De aceea se poate construi ¸si o extensie paralel a, bazat a pe urm atoarele observat ¸ii:

Dac a ˆin de nit ¸ia ecuat ¸iilor de transport din construirea CL se iau c0 = 1 ¸si bi = 0,

si deciatunci Gi = 0, Pi = ai (0 = i = n - 1) ¸

ci = ai-1ai-2 . . . a0, (i > 0)

Pe baza acestei relat ¸ii, IN Cn poate generat astfel:

ai-1 a0. . .c c

ai a0 

cc. . .. . . v HA v

dcc

c bi b0

unde cele n - 1 semi-sumatoare (pentru i = 1, 2, . . . , n - 1) lucreaz a ˆin paralel.Circuitul este extrem de rapid; dezavantajul lui sunt port aror complexi-¸ile ANDi, a c

tate cre¸ste o dat a cu valoarea lui i.

5.6.2 Circuit digital pentru sc adere

Dup a cum stim (Capitolul 2), operat ¸ia de sc adere a dou a numere ˆintregi poate redus a

la operat¸ia de adunare.

Dac a B este un num ar pe n bit ¸i, iar B se obt ¸ine din B prin complementarea tuturor 

 bit si deci¸ilor, atunci B + B = 2n - 1 ¸

A - B = A + B + 1 - 2n

 Num arul B + 1 este reprezentarea lui B ˆin cod complementar, iar operarea cu 2n

inverseaz a bitul nal de transport.

Page 80: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 80/200

5.6. SUMATORI 81

Fie funct a sub(x, y, z) = x - y - z. Tabela sa de¸ia sub : {0, 1}3 - {0, 1}2 de nit

valori estex 0 0 0 0 1 1 1 1

y 0 0 1 1 0 0 1 1z 0 1 0 1 0 1 0 1

d 0 1 1 0 1 0 0 1

t 0 1 1 1 0 0 0 1

aDeoarece x - y - z = x + (y + 1 - 21) + (z + 1 - 21) = x + y + z + 21 - 22, rezult

ca diferent ¸a d(x, y, z) este rezultatul adun arii x + y + z, iar t(x, y, z) este valoarea de

transport complementat a (datorit a adun arii cu 21) a acestei sume.

Deci un circuit digital – numit F S (full substract) – pentru sc adere este:

y

cg£

xg££d

cc$$

 

$ zF Ad '' $$$d' 't  

cd

Pentru un circuit care s a realizeze sc aderea a dou a numere de cˆ ate n bit ¸i se va face o

extensie serial a (ˆin cascad a) format a din n astfel de circuite, similar construct ¸iei de la

ADDn sau IN Cn.La identi carea transportului t de la un F S cu variabila z de la F S-ul anterior se pot

elimina cele dou a complement ari (care se anuleaz a recipro c).

Exemplul 5.12 S a construim un circuit pentru sc aderea a dou a numere de 4 bit ¸i (F S4).

Schema sa este (pentru simpli care, port ¸ile N OT au fost sub int ¸elese):

a3 b3 a2 b2 a1 b1 a0 b0

c c c c c c c c

'''' t z t z t z t z 1F A F A F A F A '

ccccd0d1d2d3

Fie de exemplu numerele A = 12, B = 9; deci a3a2a1a0 = 1100, b3b2b1b0 = 1001.Introducˆ ¸ine imediatand ˆin circuitul F S4 aceste valori (unde b3b2b1b0 = 0110) se obt

a operat¸ia 12 - 9 = 3.d3d2d1d0 = 0011, ceea ce veri c

Page 81: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 81/200

82 CAPITOLUL 5. SISTEME 0 - DS

Un circuit mai compact pentru sc adere – care s a foloseasc a elementele deja construite – 

esteB

nrr 

£A gg££gn d

nrr rr c

cc

' c ADDn

n rr  Esnc c

g £gINCn£g£d

nrr  n cc

i1 i0c E EM U X

n c

D

unde am reprezentat printr-o singur a complementare grupul de n invertori care inverseaz a

 bitii sc az atorului:

nrr  ccccg £ g £ g £ g £g g g g. . . £ £ £ £g£ g £ g £ g £dddd

nrr c c c c

Avantajul acestui circuit este acela c a se poate opera ¸ si cu rezultate negative.

Semnul diferent ¸ei este dat de c (deci c = 0 semni c a un rezultat negativ, iar c = 1 – 

unul pozitiv).

Exemplul 5.13 S a presupunem c a circuitul de sc adere este construit pentru n = 4 ¸ si

avem din nou A = 12, B = 9.

a suma• Pentru A - B, sumatorul ADD4 va determina A + B = 1100 + 0110 care d

0110 si transportul c = 1. Aceasta semni c a un rezultat pozitiv, ¸si variabila c – 

  pe post de selector – va alege din EM U X valoarea 0010 incrementat a, adic a 0011.

Deci rezultatul este 12 - 9 = 3.

• Pentru B - A, sumatorul va calcula B + A = 1001 + 0011, cu rezultatul 1100 sic = 0. deci rezultatul este negativ, iar selectorul c = 0 va alege 1100 = 0011; ˆin nalse obt ine 9 - 12 = -3.

Page 82: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 82/200

Page 83: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 83/200

84 CAPITOLUL 5. SISTEME 0 - DS

ari binare, deci o tabel a de adev ar ar cont¸ineAtunci un comparator CAn va avea 2n intr 

arului22n linii, lucru extrem de di cil de realizat la nivel de codi cator (din cauza num

mare de port ¸i necesare).

Pentru construct ¸ia unui comparator e cient pe n bit ¸i, s a observ am c a X > Y este

¸ia se rescrieechivalent cu X - Y > 0. Cum Y = (2n - 1) - Y , relat

X - Y = X + Y > 2n - 1 = 11 . . . 1

unde secvent¸a binar a de 1 are lungime n.

Dac a aceast a inegalitate este satisf acut a, atunci bitul de transport al sumei cout = 1,

deoarece suma X + Y dep a¸seste n bit ¸i.

Exemplul 5.14 Pentru n = 4, dac a X = 1100, Y = 1001, vom avea Y = 0110 si deci

X + Y = 1100 + 0110 = 10010, pentru care bitul de transport este 1.

Concluzia este X > Y .

Testarea comparat ¸iei X > Y poate realizat a deci ˆin doi pa¸si:

1. Se a a Y prin aplicarea unui invertor pe n bit ¸i lui Y ;

2. Se efectueaz a X +Y cu un n - sumator ¸si se folose ste ca ie¸sire doar bitul de transport

cout. Dac a cout = 1 atunci X > Y ; altfel, X = Y .

Implementarea acestei scheme arat a astfel:

X Y

nn ¨¨' sEs ss

c c  n nd ¨¨¨¨ d

c c¨¨¨¨

n n n n ¨¨¨¨¨c c cc & %

¦ ¥©

dn ¨¨ cincin ' ''' ADDn ADDn 00 c

& %n n ¨¨¨¨

c ccignoratz1 (X < Y ) z2 (X = Y ) z3 (X > Y ) ignorat

¸i.Algoritmul de sus este implementat pentru z3 (X > Y ) pe n bit

Dac a se permut a X cu Y , se genereaz a z1 (X < Y ).

Page 84: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 84/200

5.7. CIRCUITE DE COMPARARE 85

Suma rezultat a nu este utilizat a, deci ie¸sirile corespunz atoare se suspend a.

Mai trebuie determinat a ie¸ a pentru cazul X = Y .sirea z2, necesar 

Pentru aceasta trebuie f acut a compararea tuturor bit ¸ilor xi din X cu bit ¸ii yi core-

spunz atori din Y .

Dezideratul se atinge cu n port ¸i XO R - N OT care pro duc xi yi.

aVom avea z2 = 1 dac a xi yi = 1, (1 = i = n); adic

z2 = (xn-1 yn-1) (xn-2 yn-2) . . . (x0 y0)

O alt a variant a mai simpl atoarea:a pentru CAn – cu un singur sumator – este urm

X Y

nrr 

nrr  g ££gd

ncc

rr c

Ecin ADDn

nrr Es

c

&%Es

cc&%

¦ ¥

c d

c ccout

z1 (X > Y ) z2 (X = Y ) z3 (X < Y )

Page 85: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 85/200

86 CAPITOLUL 5. SISTEME 0 - DS

5.8 Circuite de deplasare

O alt a funct¸ie aritmetic a de baz a este ˆinmult irea/ˆimp art irea cu o putere a lui 2.

Circuitul care realizeaz a aceast a funct¸ie se nume¸ste circuit de deplasare (shift).El const a din mai mult ¸i multiplexori conectat ¸i ˆin paralel la aceea si intrare ¸ si aceea¸si

funct¸ie de select¸ie.

Principiul este descris de gura urm atoare (pentru cazul deplas arii spre dreapta cu cel

mult trei pozit ¸ii).

ai+3 ai+2 ai+1 ai

Ess Esai+4

Es Essai+5

E Esssai+6

Es s sc cc cc c c c c c cc c c c c

i3 i2 i1 i0 i3 i2 i1 i0 i3 i2 i1 i0 i3 i2 i1 i0

E EE Ex1 x1 x1 x1T TTMU X2 M U X2 M U X2 M U X2E EE T Ex0 x0 x0 x0

T TT T

y y y y

Es ss

s ss E

c c c c

s1 s0 bi+3 bi+2 bi+1 bi

O valoare de select ¸ie (s1s0)2 = x implic a bj = aj+x (la deplasarea spre dreapta) sau

anga) pentru x = 0, 1, 2, 3 reprezentat ˆin binar. bj = aj-x (la deplasarea spre stˆ

Dac anga, bit ¸ii cei mai put ¸ina j - x < 0, atunci bj = 0 (prin deplasarea spre stˆ

semni cativi se completeaz a cu 0 )

Exemplul 5.15 Dac a ˆin gura anterioar a valoarea de select ¸ie este (s1s0)2 = (10)2 = 2,

atunci ecare multiplexor conecteaz a ie sirea la intrarea i2.

Rezultatul va

 bi+3bi+2bi+1bi - ai+5ai+4ai+3ai+2

ˆIn general, pentru operat¸ia de deplasare cu 0 pˆ an a la m - 1 pozit ¸ii sunt necesare mai

a.multe MU Xn unde n = log2m , legate ˆin mod similar cu cele din gur 

 Num arul multiplexoarelor este egal cu num arul de bit ¸i ai num arului asupra c aruia se

aplic a operat ¸ia de deplasare.

Page 86: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 86/200

5.8. CIRCUITE DE DEPLASARE 87

Observat ¸ia 5.8 Deplasarea spre stˆ anga cu x bit ¸i corespunde inmult ¸irii unui num ar cu

2x.ˆ

In acest caz, cei mai semni cativi x bit¸i din reprezentarea binar a a num arului se pierd,

iar cei mai put ¸in semni cativi x bit ¸i primesc valoarea 0.ˆIn mod similar, deplasarea spre dreapta cu x bit

¸i corespunde ˆimp art irii cu 2x . Aici se

 pierd cei mai put ¸in semni cativi x bit ¸i.

Exemplul 5.16 S a construim un circuit de deplasare spre stˆ anga cu cel mult 3 pozit ¸ii,

 pentru numere formate din 6 bit ¸i. Se va obt ¸ine:

a5 a4 a3 a2 a1 a0

' s ss' ss s

'c c

'c c

s s sssss 0'

c T

'

c c c

s sss

ccccccc c c c c c c c ccEEEEEE

M U X2 M U X2 M U X2 M U X2 MU X2 MU X2 EEEEEE TTTTTTTTTTTT

Es s s s ss1

Es s s s ss0

c c c c c c

b0 b1 b2 b3 b4 b5

De exemplu, pentru num arul 9, cu reprezentarea 001001 pe sase bit ¸i, vom avea:

sirea 001001 (adic a tot num arul 9);Codul s1s0 = 00 conduce la ie¸

sirea 010010 (adic a num arul 18 = 9 × 2);Codul s1s0 = 01 conduce la ie¸

sirea 100100 (adic a numCodul s1s0 = 10 conduce la ie¸ arul 26 = 9 × 22);

sirea 001000 (dep asire, datorat a pierderii unui bit sem-Codul s1s0 = 11 conduce la ie¸

ni cativ de valoare 1 ).

Page 87: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 87/200

88 CAPITOLUL 5. SISTEME 0 - DS

5.9 Multiplicatori

Alt a operat¸ie aritmetic a important a este ˆinmult irea.

O variant a combinat ¸ional a poate construit a pe baza unui circuit elementar, bazat pe cele dou a funct ii simple implicate de ˆinmult ¸irea binar a:

• ˆinmult irea pe un bit (cu ajutorul unei port ¸i AN D);

• un F A pentru completarea operat ¸iei;

Circuitul de inmult ¸ire complet a a bit ¸ilor A si B este descris de Figura (a); Figura (b)

de ne¸ste reprezentarea simbolic a a ˆinmult irii bit¸ilor ai cu bj.

C S B bj

' sEsA A

dd

c c c cS C B" !E Eai A Ac c c ai bj

C A BF A C B S

C+ Sc c dd

c(a) (b)c c

C S B

Exemplul 5.17 S a construim un multiplicator pentru a ˆinmult ¸i dou a numere de doi bit ¸i:

a relat¸iile:a1a0 × b1b0. Rezultatul are patru bit ¸i x3x2x1x0, care veri c

x0 = a0 · b0; x1 = a1 · b0 + a0 · b1 + cx0 ;

x2 = a1 · b1 + cx1 ; x3 = cx2 .

(s-a notat cxi transportul obt ¸inut la suma din care a rezultat xi ).

Circuitul este:

0 0 b1 0 0 b0

c cE

ddc c ddEa0

a0b1 a0b0

0rrr rrr  

ddc c cc j jx0E Ea1

a1b1 a1b0

rrr  jc~ x1

H A

ccx3 x2

Page 88: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 88/200

5.9. MULTIPLICATORI 89

Comentarii:

¸ine din ˆinmult¸irea biti) x0 se obt ¸ilor a0 cu b0.

ii) Pentru x1 se adun si cu transportul de la calculul lui x0 (transporta a1 · b0 cu a0 · b1 ¸

formal, deoarece el este totdeauna egal cu 0).

iii) x2 se obt ¸ine din adunarea lui a1 · b1 cu transportul de la calculul lui x2.

Transportul rezultat din aceast a adunare va x3.

Aceast a structur a poate generalizat a u sor la multiplicatori pentru numere de n bit ¸i.

Prezent am – pentru claritate – schema unui multiplicator complet pentru cuvinte de 4 bit ¸i:

0 0 b3 0 0 b2 0 0 b1 0 0 b0

dddd dd ddc c c c c c c c

E E E Ea0a0b3 a0b2 a0b1 a0b0

0 d d d dd dd dd dd x0dd c c c c c c c c

E E E Ea1a1b3 a1b2 a1b1 a1b0

d d d dd0  dd dd dd x1dd  c c c c c c c c

E E E Ea2a2b3 a2b2 a2b1 a2b0

d d d dd0  d d d x2dd d

 d 

c c c c c c c c

E E E Ea3a3b3 a3b2 a3b1 a3b0

d d d dd'c

'c

 d d d x3d

 d 

c c c

HAF AF A

'T

'T

cccccc

x7 x6 x5 x4

Dup a cum se vede, complexitatea spat ¸iu cre ste rapid odat a cu num arul de bit¸i ai unui

num ar.De aceea, practic se folosesc alt ¸i algoritmi de multiplicare, bazat ¸i pe adun ari si de-

 plas ari (ˆinmult¸iri cu puteri ale lui 2).

Problemele de sincronizare care apar fac ins a ca aceste circuite s a nu e de tipul 0-DS.

Page 89: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 89/200

90 CAPITOLUL 5. SISTEME 0 - DS

5.10 Circuit logic programabil

Am v azut c a pentru orice funct ¸ie bo olean a de n variabile se poate construi cel put ¸in un

circuit. ˆIn general circuitele generate erau cl adite pe dou a tipuri de structuri:

• recursiv a, bazat a pe not ¸iunea de multiplexor M U Xn;

• structura simbolic a a unui ¸i, ale c arui elemente sunt selectate lasir de m = 2n bit

ie¸sirea dintr-un decodi cator.

O astfel de solut ¸ie este recomandat a numai dac a ¸sirul binar – selectat la ie¸ sirea din

decodi cator – este aleator (nu are o structur a prede nit a).

Dac a sirul binar prezint a anumite forme xe, atunci pot efectuate unele simpli c ari

la implementarea circuitelor corespunz atoare, ceea ce duce la sc aderea complexit at ii lor.

Astfel, pot construite circuite cu port ¸ile xate in prealabil pe o anumit a pozit¸ie

(ˆinchis sau deschis), faza de implementare constˆ and doar ˆin imbinarea lor sub forma unor tablouri.

O astfel de construct ¸ie se nume ste tablou logic programabil.

Exemplul 5.18 Unul din cele mai uzuale circuite combinat ¸ionale este transcoderul care

transform a cifrele zecimale scrise ˆin binar, ˆin reprezent ari pe 7 bit ¸i (codul ASCII).

d d d d d d dy0 y0

d d d d d d dy1 y1

d d d d dd d d d d

d dy2 y2

d dy3 y3

d d d d d d dy4 y4

d dd

d d d d dd d d d d dd d dd d d d d d dd d d d d d

y5 y5

y6 y6

d d d dy7 y7

y8 y8DCD4 DCD4dy9 y9

y10 y10

y11 y11

y12 y12

y13 y13

y14 y14

y15 y15

x3 x2 x1 x0 x3 x2 x1 x0A B C D E F G A B C D E F G

T T T T T T T T

a b c d (a) a b c d (b)

Page 90: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 90/200

5.10. CIRCUIT LOGIC PROGRAMABIL 91

Fie a, b, c, d cei patru bit ¸i care codi c a cifrele zecimale (de la 0000 pentru 0 pˆ an a la

1001 pentru 9) si A, B , C, D, E, F, G bit ¸ii din reprezentarea nal a (de la 0110000 = 0(60)8

- codul ASCII pentru 0, pˆ ana la 0111001 = 0(71)8 - codul ASCII pentru 9).

Trebuie construite deci 7 funct ¸ii de 4 variabile.

Cea mai bun a solut ie pare s a e un DC D4 de tipul celui din paragraful 5.1; va rezulta

Figura (a) (numit a ¸si RO M) folosit a la implementarea circuitelor combinat ¸ionale.

Pentru simpli carea desenului, port ¸ile O R au fost reprezentate prin linii verticale, iar 

intr arile, prin .

¸i, iar ret ¸eaua are 49 puncte,Deoarece circuitul DC4 cont ¸ine 24 + 23 + 22 + 8 = 36 port

rezult a c a m arimea acestei solut ¸ii este 85.

O posibilitate de a obt ¸ine un circuit mai simplu poate prin complementarea funct ¸iilor;

ea conduce (Figura (b)) la in acest caz la un circuit avˆ and 36 + 21 = 57 port ¸i.

Circuitul este foarte mare – mai ales din cauza ie¸ sirilor nefolosite y10 - y15.

Decodi catorul trateaz a toate con gurat ¸iile binare de 4 bit ¸i, de¸si numai o parte din ele

sunt folosite de cele ¸ sapte funtii.

T¸ inˆand cont de aceast a observat ie, se poate construi alt circuit, cunoscut sub numele

de ”tablou logic programabil” P LA (programmable logic array); solut ¸ia aceasta are numai

25 port i (¸si eventual mai poate optimizat a).

EE

EEEEEE

 dEa t d d$ $$ $$ d $

d'

t d dddE b $ $$ $ Tablou AN D$ $

d dEc t d

 ddE td

EEEE

EEE

A = abB = a bC = a bD = aE = b

F = cG = d

d

d d

dd

dE

Tablou OR  d

dddc c c c c c c

ab a b a b c d

Page 91: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 91/200

92 CAPITOLUL 5. SISTEME 0 - DS

Valorile funct¸iilor A, . . . , G s-au dedus u¸ sor din tabelul de valori:

a 0 0 0 0 0 0 0 0 1 1

 b 0 0 0 0 1 1 1 1 0 0c 0 0 1 1 0 0 1 1 0 0

d 0 1 0 1 0 1 0 1 0 1

A 0 0 0 0 0 0 0 0 0 0

B 1 1 1 1 1 1 1 1 1 1

C 1 1 1 1 1 1 1 1 1 1

D 0 0 0 0 0 0 0 0 1 1

E 0 0 0 0 1 1 1 1 0 0

F 0 0 1 1 0 0 1 1 0 0

G 0 1 0 1 0 1 0 1 0 1

Evident, P LA-ul de sus nu este cel mai simplu circuit de implementare. Mult maisimplu este decodi catorul (cu numai 11 port ¸i)

 a dE s Ess$ $$ $$ d $

Ess 

ddE s Ess b $ $$ $$ $Ess

 c d dE s Es

ddEd s Es

E

c c c c c c¢ ¡ ¢ ¡" !" !" !

ccc c c c c

A B C D E F G

Page 92: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 92/200

5.10. CIRCUIT LOGIC PROGRAMABIL 93

De nit ¸ia 5.7 Un P LA standard P LAn,p,m este un circuit digital format din 4 nivele:

1. Nivelul de intrare, compus din n decodi catori elementari (E DCD);

¸i AN D (sau N AN D, dac a2. Un decodi cator programabil format din p 2n port

se folosesc regulile De Morgan); ecare intrare poate conectat a sau nu la ie¸ sirea

corespunz atoare a primului nivel; deci maxim p clase pot decodi cate la intrarea

X = xn-1 . . . x0.

3. Un codi cator programabil format din m = p port ¸i OR (sau NAN D, dac a se folo-

sesc regulile De Morgan); ecare intrare poate conectat a sau nu la ie¸ sirea cores-

 punz atoare de la al doilea nivel, ecare funct and implementat a¸ie ym-1, . . . , y0 putˆ

folosind unul sau mai mult ¸i factori decodi cat ¸i la al doilea nivel;

4. Nivelul de ie¸ sire, format din m circuite EM U X (sau XO R - uri cu o intrare conec-

tat a la 0 sau 1), cu scopul de a da forma funct ¸iei – complementat a sau nu.

Deci, P LA este un circuit care ˆincepe si se termin a cu cele mai simple circuite funct ¸ionale

(EDCD respectiv E MU X) ¸si cont ¸ine dou a tablouri programabile (numite ”tablou AN D”

respectiv ”tablou OR”).

Un P LA nu este un circuit optim din punct de vedere al complexit atii.

Avantajul s au ma jor const a ˆin posibilitatea de a lucra cu tablouri ”prefabricate”, pe

care apoi le poate ˆimbina cu E DCD-uri pentru intr ari, E MU X -uri pentru ie¸ siri.

Dac a tabloul O R este inclus ˆintr-un ROM (component a a unui codi cator standard),

atunci P LA-ul se nume¸ste de obicei P ROM (Programmed ROM ).

Page 93: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 93/200

94 CAPITOLUL 5. SISTEME 0 - DS

5.11 Unitatea aritmetic a ¸si logic a

Toate circuitele prezentate pˆ an a acum aveau aso ciate cˆ ate o singur a funct ie (aritmetic a,

de select ie sau de comparat ¸ie).Vom ˆincheia prezentarea sistemelor 0 - DS construind un circuit care poate realiza

mai multe funct ¸ii, selectate pe baza unui cod de select ¸ie.

  Numele sub care este cunoscut acest circuit este unitatea aritmetic a si logic a (ALU ).

Vom considera o unitate relativ simpl a cu numai 8 funct ¸ii. ˆIn cadrul ei vor exista mai

multe tipuri de conexiuni:

• Dou a intr ari de n bit ¸i ecare, pentru operanzii S (stˆ ang) si D (drept), codi cat ¸i

Sn-1, . . . , S0 respectiv Dn-1, . . . , D0;

• O intrare F de trei bit ¸iei printr-un cod;¸i (F2, F1, F0) pentru speci carea funct

• O ie¸ sire R = (Rn-1, . . . , R0) pentru rezultat;

• O ie¸ sire pentru indicatori ( ags) - bit ¸i cu diverse semni cat ¸ii: CARRY , OV F L,

ZE RO, SGN, O DD.

Sn-1 . . . S0 Dn-1 . . . D0

c c c cEEE

EEE

CARRYO V F LZERO

F2

ALUF1

F0

'c c

. . . Essc c

R0 ODDSGN Rn-1

Mult imea funct ¸iilor poate de exemplu:

AND: realizeaz a funct¸ia logic a AN D bit cu bit (Ri = Si Di );

OR: funct ¸ia logic a O R;

XOR: funct ¸ia X OR;

ADD: face suma aritmetic ¸i reprezentate binar a modulo 2n dintre numerele de n bit

 prin S (operand stˆ ang) respectiv D (operand drept);

SUB: face diferent ¸a aritmetic a dintre S ¸ si D;

INC: m areste (incrementeaz a) valoarea lui S cu 1 ;LEFT: transfer a la ie¸sire valoarea lui S;

SHL: deplaseaz a cu o pozit¸ie spre stˆ anga valoarea lui S, ultimul bit (cel mai put ¸in

semni cativ) ind pierdut;

Page 94: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 94/200

5.11. UNITATEA ARITMETIC A S¸I LOGIC A 95

Structura intern a a ALU const a ˆin acest caz din n componente (”felii”), cˆ ate una

si c ateva port ¸i suplimentare. pentru ecare intrare Si , Di, un circuit CLC

Forma unei astfel de componente este dat a de Figura:

 E E $$$ d 0TEEssDi

c c c c0 1 2 3E

Ex1F2Si Ci

M U X2x0F1

yEs s

' s sc ¦ ¥& %

¦ ¥¦ ¥

&%

¦ ¥¦ ¥

& %

c c T Ec c ccc&%Si-1 Gi Pi

E Es sE Es ss

c c c c cccc

EEE

2 7 0 1 4 5 6 3x2F2

x1 M U X3F1

x0F0 y

c

Ri

• M U X2 selecteaz a drept al doilea operand valoarea din Di, complementul ei la 1

(pentru sc adere), sau valoarea 0 (pentru incrementare) (C0 de la intrarea lui C L¸si o poart

a pentru generarea diferit ¸ilor ag);

• Port ¸ile AN D, OR ¸ si primul XOR realizeaz a funct¸iile logice ¸si genereaz a semnale

 pentru funct ¸iile aritmetice (Gi , Pi pentru CL si suma dintre Si si Di );

• Al doilea XOR realizeaz a suma semnalelor de transport generate de CL, completˆ and

operat¸iile aritmetice;

a – conform codului F – funct ¸ia realizat a de ALU ;• M U X3 selecteaz

a de la componenta (”felia”) din dreapta, pentru realizarea• Intrarea Si-1 este primit

deplas arii;

Page 95: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 95/200

96 CAPITOLUL 5. SISTEME 0 - DS

Descrierea comportamentului acestui ALU este dat de tabelul:

¸iaF2 F1 F0 Intrarea Ri Operat

0 0 0 0 Si Di AND

0 0 1 1 Si Di O R 

0 1 0 2 Si-1 SH L

0 1 1 3 Si Di Ci ADD

1 0 0 4 Si Di X OR 

1 0 1 5 (Si Di) Ci SU B

1 1 0 6 Si Ci INC

1 1 1 7 Si LEF T

Este evident c a cele mai lente operat ¸ii realizate de ALU sunt operat ¸iile aritmetice,

deoarece semnalele sunt ˆintˆ arziate suplimentar de trecerea prin CL pentru generarea

semnalelor Ci .

5.12 Exercit ¸ii

1. Se d a funct¸ia bo olean aa f : {0, 1}3 - {0, 1}3 de nit

f (x, y, z) = (x + yz, y + zx, z + xy)

Construit¸i un co di cator pentru implementarea ei.

2. Construit ¸i un codi cator pentru funct a prin octetul¸ia f : {0, 1}3 - {0, 1} de nit10010100.

3. Construit ¸i o memorie ROM pe 3 bit ¸i, ˆin care la adresa x se a a valoarea x+3 (mod 8)

(codul Excess 3 pe trei bit ¸i).

4. Se d a la intrare o secvent ¸ a de 5 bit¸i. S a se construiasc a un circuit care scoate bitul

care apare majoritar in acea secvent ¸ a.

5. Se d a la intrare o secvent ¸ a x de 6 bit ¸i. S a se construiasc a un circuit codi cator care

scoate valoarea 1 dac a si numai dac a num arul a c arui reprezentare binar a este x,

este divizibil cu 4.

6. Construit ¸i un circuit pentru DM U X2.

7. Dat ¸i o construct ¸ie direct a ¸si una recursiv a pentru MU X3.

Page 96: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 96/200

5.12. EXERCIT¸II 97

8. S a se construiasc a funct ia sum a trei bit ¸i folosind M U X3.

9. Folosind numai E MU X construit ¸i un circuit pentru funct ¸ia boolean a

f (a, b, c, d) = a(b + c)d + a(b + d)(b + c)(c + d) + b c d.

10. Aceea¸si problem a, folosind co di catori.

11. Fie funct ¸ia f (x, y, z) = x + y + z. S a se construiasc a un circuit combinat ¸ional logic

folosind:

(a) Codi catori;(b) Multiplexori elementari.

12. Aceea¸si problem a pentru f (x, y, z) = (x + yz, xy + x yz, y + xz).

13. Se d a structura din gur a (format a din dou a HA, un F A ¸ si o poart a OR):

x4 x2 x1 x0

cccc

H A HAcscs

c E c''c

c E c

cc c

 ¢ ¡

F A c'

ccs c

Construit¸i tabela de valori.

14. Construit ¸i un co di cator cu prioritate pentru m = 7 bit ¸i.

15. Construit ¸i un circuit de deplasare dreapta/stˆ anga cu 0,1 pozit ¸ii pentru un vector de

4 bit¸i.

16. Detaliat ¸i construirea C L (Carry lookahead) pentru un sumator pe 4 bit ¸i.

17. S a se construiasc a un comparator pe pe 4 bit ¸i si apoi – pe baza lui – un comparator  pe 16 bit¸i.

18. Construit ¸i un comparator pe 4 bit ¸i folosind ca baz a un singur 4 - F A.

Page 97: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 97/200

98 CAPITOLUL 5. SISTEME 0 - DS

19. Se d a funct¸ia bo olean aa f : {0, 1}3 - {0, 1}3 de nit

f (x, y, z) = (x + yz, x + yz, x + yz)

(a) Construit ¸i un P LA pentru implementarea ei.

(b) Construit ¸i un P ROM pentru implementarea ei.

Page 98: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 98/200

Capitolul 6

Sisteme 1 - DS (Memorii)

6.1 Caracteristicile sistemelor cu un ciclu

Conform ideilor prezentate in Capitolul 4, trecerea spre circuitele de nivel superior const a

ˆin introducerea unui ciclu care s a ˆinchid a din exterior circuitele deja existente.

Apare aici un prim grad de autonomie al circuitului – ceea ce am de nit prin stare.Starea unui circuit depinde numai part ¸ial de semnalul de intrare, fapt care va conduce

la o independent ¸ a part¸ial a a ie¸sirii fat a de con gurat ¸ia de intrare.

Evolut ia ie¸sirilor circuitului r am ane bineˆint¸eles sub controlul intr arilor, dar st arile

ofer a o autonomie part ¸ial a.

Alt a caracteristic a a sistemelor din 1 - DS const a ˆin posibilitatea de a putea p astra

informat ia de intrare o perioad a determinat a de timp.

Aceast a proprietate este speci c a memoriilor.Informat¸ia memorat a este pus a la dispozit ¸ia diverselor circuite ˆin anumite faze de

lucru. Pentru aceasta apare necesitatea unei sincroniz ari a operat ¸iilor ˆin desf asurare,

 pentru ca acestea s a poat a conlucra corect ¸si e cient.

Motiv pentru care apare un dispozitiv general de control al circuitelor: ceasul (CK ).Acest circuit bistabil asigur  a o discretizare a timpului de calcul, f acand posibil a

de nirea unor not ¸iuni temporale cum ar moment actual, tact, istoric, dezvoltare ul-

terioar a etc.

Principalele circuite cu un ciclu intern sunt:

• z avor elementar: circuit format din dou a cicluri cuplate la dou a port¸i de intrare;

• ip - op master - slave: extensie serial a format a din dou a z avoare elementare;

• random access memory (RAM ): extensie paralel a format a din n z avoare elementare

accesate printr-un DM U Xn ¸ si un M U Xn;

99

Page 99: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 99/200

100 CAPITOLUL 6. SISTEME 1 - DS (MEMORII)

• registrul: extensie serial - paralel a format a prin legarea ˆin paralel de ip - opuri

master - slave.

6.2 Cicluri stabile si instabile

Exist a dou a tipuri de cicluri care inchid un circuit combinat ¸ional logic; numai unul din

ele este util ˆin construct ¸ia circuitelor digitale, anume cel care genereaz a o stare stabil a;

cel alalt circuit genereaz a o stare instabil a la ie¸sire si poate folosit la construirea ceasului.

Diferent a dintre ele poate reliefat a prin urm atorul exemplu:

Exemplul 6.1 Ciclul din Figura (a) este inchis conectˆ and ie¸sirea y0 a unui E DCD la

intrarea x0.

Sa presupunem c a y0 = 0 = x0.

La ie¸sire semnalul devine 1, apoi 0 etc; astfel, cele dou a ie¸siri ale decodi catoruluisunt instabile, comutˆ and de pe 0 pe 1 ¸ si invers.

Momentul de schimbare a valorii de ie¸ sire (din 0 in 1 ¸ si invers) de ne¸ ste frecvent¸a

circuitului ¸si se nume¸ste ”tact”.

'T

E DCD EDCD

 E s sE E E E Ec$ $ $ $$ $ $ $$ d $ d $ d $ d y1x0 y0

cc c'T x0 y0 y1 (a) (b)f f 

Al doilea tip de ciclu se obt ¸ine conect and ie sirea y1 la intrarea x0 (Figura (b)).

Daca y1 = 0 = x0, atunci y0 = 1 xˆ and ie¸sirea y1 la valoarea 0.

Similar dac a y1 = 1 = x0.

Deci, acest circuit are dou a st ari stabile.

Pentru moment nu ¸ stim cum s a comut am de la o stare la alta, circuitul neavˆ and nici

o intrare prin care s a putem controla schimbarea.

Principala diferent ¸ a de construct ¸ie dintre cele dou a structuri este:

• Ciclul instabil are un num ar impar de complement ari (deci semnalul revine la ie¸ sirecu o valoare complementat a);

• Ciclul stabil cont ¸ine un num ar par de complement ari;

Page 100: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 100/200

6.2. CICLURI STABILE S ¸I INSTABILE 101

Exemplul 6.2 S a consider am un circuit cu 3 nivele de complementare:

C C'

c T Tc

&% E td

o” o”c T¢g

g ¢ E t¢gdoo Tc

¢gE tg ¢

¢gd oo Tc E

E t

Dac a la intrare apare comanda C = 0, atunci ciclul este ”deschis”, adic a uxul semnalului

este ˆintrerupt; dac a valoarea lui C devine 1, atunci comportarea circuitului este descris a

de diagramele din dreapta.

Circuitul va genera un semnal periodic.

Pentru a putea utilizat practic, un circuit trebuie s a treac a printr-un num ar par 

de complement ari pentru toate combinat ¸iile binare aplicate la intrare. Altfel, pot exista

combinat ii pentru care circuitul se destabilizeaz a.

Schimbarea st arii unui circuit nu este instantanee, ea depinzˆ and de diverse caracteris-

tici zice ale circuitului.a de la starea 1 la stareaVom nota cu tpHL intervalul de timp ˆin care un circuit comut

0, si cu tpLH intervalul de timp de trecere de la starea 0 la starea 1.

Ambele valori sunt numere nenegative ¸ si considerate constante pentru un circuit.

T T

¡¡ d ddE¡ Et t

t0 t0 + tpLH t1 t1 + tpH L t0 t1 + tpH L

(b)(a)

Situat¸ia real a este reprezentat a ˆin Figura (a).

Mo dalitatea de reprezentare din Figura (b) este utilizat a atunci cˆ and se consider a o

situat¸ie ipotetic a – de schimbare instantanee a st arilor.

Page 101: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 101/200

102 CAPITOLUL 6. SISTEME 1 - DS (MEMORII)

6.3 Z avoare elementare

Cel mai simplu circuit stabil – f ar a nici o inversiune ¸ si cu o singur a intrare – este cel din

Figurile (a) ¸si (b):

1 0' '

T Tc c(a) (b) ©& %

c c& %

s EEs

c co o

Primul circuit poate comandat s a comute numai ˆin starea 0, iar al doilea – numai ˆin

starea 1.ˆIntr-adev ar, poarta AND cu valoarea 1 la intrare are ie¸ sire stabil a atˆat in starea 0

cat ¸si ˆin starea 1.Starea poate schimbat a din 1 ˆin 0 aplicˆ and 0 la intrare.

Timpul minim de trecere ˆin starea 0 este tpHL (timpul de propagare al semnalului prin

ciclu).

Dup a acest interval de timp, indiferent de valoarea semnalului de intrare ( 1 sau 0 ),

circuitul (a) r amane stabil in starea 0 – aceasta ind si valoarea de ie¸ sire.

Spunem c a circuitul este activ la frecvent ¸ a joas a.

La circuitul (b), semnalul inactiv de intrare este 0 ; circuitul poate trece din starea 0

ˆin starea 1 prin aplicarea la intrare a valorii 1 intr-un interval de timp cel put ¸in egal cu

a aceea, starea r am ane 1 indiferent de intrare.tpLH . Dup

Spunem c a (b) este activ la frecvent ¸ a ˆinalt a.

Ambele circuite z avor asc ˆin ele semnalul aplicat la intrare: 0 pentru circuitul (a), 1

 pentru circuitul (b).

Cele dou a circuite sunt combinate ˆin circuitul (c).

R ES R S R 

c ' E'E't 

00& % c ccc ttS ©

0 )0 )c cc c

ttcE & %&%d dcc

d d tt

 0 ) c s s 'tEE 't s s

'T

cc c csQ Q Q Q Q

c(c) (d) (e)

Page 102: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 102/200

6.3. Z AVOARE ELEMENTARE 103

Acest z avor elementar eterogen are dou a intr ari: una activ a la frecvent¸ a joas a (R) pentru

a reseta circuitul ˆin starea 0, ¸si alta activ a la frecvent¸ a ˆinalt a (S) pentru a seta circuitul

ˆin starea 1.

Valoarea 0 trebuie s a r aman a la intrarea R cel put a¸in 2tpH L pentru a asigurat

comutarea; din acela¸ si motiv, valoarea 1 va r am ane la intrarea S cel put ati¸in 2tpLH unit

de timp.

Exist a urm atoarele posibilit ati de funct ¸ionare (not am cu Qn starea/ie¸sirea la tactul n):

• S = 0, R = 0: atunci circuitul r am ane ˆin starea ˆin care a fost (Qn+1 = Qn);

• S = 1, R = 0: are loc o setare a circuitului – Qn+1 = 1 (indiferent cˆ at a fost Qn).

• S = 0, R = 1: circuitul este resetat – se revine la starea Qn+1 = 0.

De remarcat c a varianta R = 1, S = 1 nu este acceptat anda, starea Qn+1 neputˆnedeterminat a.

O reprezentare a funct ¸ion arii circuitului este dat a de graful:

S = 1'cE

E ES = 0 S = 010 ' c'R = 0 R = 0"!

#"!#

R = 1

Fiind un circuit de tipul 1 - D S, ecuat ¸ia sa va exprimat a sub o form a recursiv a:

Q = S + RQ

Aplicand regulile lui De Morgan acestei ecuat ¸ii se vor obt ¸ine circuite cu structurisimetrice:

- transformarea port ¸ii OR conduce la circuitul (d), construit numai cu port ¸i N AND;

- transformarea port ¸ii AN D conduce la circuitul (e), construit numai cu port ¸i N OR.

ˆIn aplicat ii se g asesc de obicei numai aceste ultime dou a variante.

Punctele slabe ale z avorului elementar sunt legate de necesitatea de a complementa

intr ari (la variantele (c) ¸ si (d)) sau de inversare a ie¸ sirilor (la varianta (e)).

De asemenea, atunci cˆ and se solicit a schimbarea st arii (f ar a a se preciza valoarea ei),

nu ¸stim ce intrare s a act ion am: setare sau resetare.

Page 103: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 103/200

104 CAPITOLUL 6. SISTEME 1 - DS (MEMORII)

6.3.1 Z avoare elementare cu ceas

O rezolvare part ¸ial a a punctelor slabe ment ¸ionate anterior const a ˆin extensia serial a a

dou a z avoare (pentru a elimina complementarea variabilelor de intrare din varianta (d))¸si intro ducerea unui ceas pentru sincronizare.Se obt ine un circuit numit ”z avor elementar cu ceas” (notat RSL).

Structura acestuia este prezentat a de Figura (a), iar simbolul logic – de Figura (b).

 

A nivel activCK 

S R 'c

c E

c c c c c cS CK R " ! " !d d

RSLA

c

}

Q Q  bXc c c &% & % c cd d

E&&&&& ' ss

c c(a) (b)

Q Q

Cele dou a intr ari sunt pentru setare (S) si resetare (R), iar ceasul este act ¸ionat

act ion and temporar CK pe 1.

Dac a z avorul trebuie setat, atunci S = 1, R = 0, dup a care se face CK = 1 pentru

un interval de timp egal cu tpLH .

Spunem ˆin acest caz c a nivelul activ al ceasului este la frecvent ¸ a ˆinalt a (high level).

Pentru resetare, procedura este analog a.

De remarcat c a pentru nivelul activ al lui CK z avorul este transparent, adic a orice

modi care a intr arilor S, R modi c a starea circuitului.ˆIntr-adev ar, dac a CK = 1, atunci la activarea lui S (R) z avorul este setat (respectiv

resetat).

Aceast a separare dintre cele dou a semnale conduce la diferent ¸ierea dintre cum se re-

alizeaz a schimbarea st arii circuitului ¸ si cand are lo c aceast a schimbare.

Zavorul elementar cu ceas rezolv a o parte din problemele ridicate anterior si permite

un control mai strict asupra act ¸iunii de memorare a informat ¸iei.

Totu si o problem a important a este aceea c a un RSL poate comuta de mai multe ori

ˆin perioada cˆand ceasul este setat pe 1 .ˆIn general aplicat¸iile cer schimbarea st arii la un anumit moment, pe care ˆil semnaleaz a

 prin CK . Ori un RSL permite doar un interval de transparent ¸ a, nu ¸si o ment inere a st arii

 pe toat a durata acestui interval.

Page 104: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 104/200

6.3. Z AVOARE ELEMENTARE 105

6.3.2 Z avorul de date

ˆIn circuitul precedent apare o situat ¸ie special a dac a R = S = 1; atunci CK comut a

zavorul ˆintr-o stare care nu poate prev azut a apriori.Aceast a variant a poate evitat a intro ducˆand o complementare intre intr arile unui

RSL. Vom nota cu D (date) aceast a unic a intrare.

 E ED '

c

$$$ d C K c c c cS R D CK  

RSL DL

Q Q Q Q

c c (a) c c (b)

Iesirea unui DL urmeaz a permanent intrarea D (deci circuitul bene ciaz a de o au-

tonomie redus a).

Iesirea este sincronizat a cu ceasul numai dac a pe nivelul activ al lui CK intrarea D

este stabil a.

O variant a de construct ¸ie a z avorului de date – f ar a nici un invertor – este:

'c

D's C K Ec

c c T

" ! " ! ddEs

E'ds

c cc c d

" ! " ! d dd'E ss d

c cQ Q

Page 105: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 105/200

106 CAPITOLUL 6. SISTEME 1 - DS (MEMORII)

6.4 Structura master - slave

O structur a de z avor, care elimin a multe probleme ale circuitelor anterioare, este sistemul

numit master - slave.Acesta se bazeaz a pe un circuit cu dou a st ari – numit ip - op, care comut a sincronizat

cu arcul (ˆin sus sau ˆin jos) semnalului dat de ceas.

S R 

CK  c' nivel activ

c c

S CK R c¢g

RSLg ¢g c c c¢ds Ec Q Q S C K R 

c E RSF - Fcc cQ QS CK R 

c cRSL(b)

Q Q

c c

Q Q (a)

Ideea const a ˆin conectarea serial a a dou a z avoare RSL ¸si punˆ and (prin intermediul

complement arii) ˆin antifaz a semnalul de ceas.

Primul z avor este transparent la nivelul superior al ceasului (prima jum atate a unui

tact), iar al doilea z avor este transparent la nivelul inferior (a doua jumt atate a tactului).

Deci nu exist a nici un interval de timp ˆin care toat a structura s a e transparent a.

ˆIn prima faz a (nivelul superior al lui CK ), primul z avor (master) comut a ˆin confor-

mitate cu semnalele S ¸ si R; ˆin faza a doua (nivelul inferior al lui C K), al doilea z avor 

(slave) comut a copiind starea masterului.

Iesirea din toat a structura este modi cat a numai dup a ce a ”c azut” tranzit ¸ia intr arii

CK .

Vom spune c a circuitul RS master - slave comut a ip - op conform cu arcul ˆin jos

al lui CK .

Pe o structur a master - slave vom putea deci controla totdeauna momentele cˆ and

  poate schimbat a starea sistemului.

Page 106: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 106/200

6.4. STRUCTURA MASTER - SLAVE 107

Exist a dou a intervale de timp care trebuie avute ˆin vedere:

arile• Timpul de setare tS - timpul anterior arcului activ al lui CK , ˆin care intr 

S ¸si R trebuie ment ¸inute stabile pentru a avea sigurant ¸a existent ¸ei unei comut ariconforme cu valorile lor;

• Timpul de sust si S¸inere tH - timpul posterior arcului activ al lui CK , ˆin care R ¸

trebuie ment ¸inute stabile.

ˆIn timpul comut arii – adic arile trebuie s a e evidenta aproximativ intervalul tS +tH – intr 

stabile, deoarece altfel ip - opul nu ”¸ stie” starea in care trebuie s a comute.

6.4.1 Flip - op cu intˆ arziere

O alt a mo dalitate de eliminare a situat ¸iei de nedeterminare R = S = 1, deci de a avea

R = S o constituie urm atorul circuit, numit ip- op cu intˆ arziere (DF F ).

De remarcat c a intrarea este numit a tot D (ca la ”date”), dar acum ea are semni cat ¸ia

de delay.

ˆIn afar a de restrict¸ia din construct ¸ie (R = S), acest ip- op mai are un avantaj: ie¸ sirea

lui D copiaz a intrarea, ˆintˆ arziat a cu un tact.

  CK sE ED $$ 'c

c$ dTc c

S CK R  Ec c c c c t

RSF - F D

Q Q T

c c (a) E t

Qcc c

D CK  T

DF F E tQ Q

cc (b) (c)

DF F este unul din cele mai importante circuite construite pˆ an a acum, in special

datorit a numeroaselor aplicat ¸ii.

Page 107: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 107/200

108 CAPITOLUL 6. SISTEME 1 - DS (MEMORII)

Exemplul 6.3 S a construim un sumator serial, care adun a dou a numere ˆintregi binare

f ar a semn X, Y ambele de aceea¸ si lungime (arbitrar a), producˆand rezultatul Z = X + Y .

 Numerele sunt introduse ¸si prelucrate serial (bit cu bit), iar rezultatul este obt ¸inut tot

serial.

La tactul i sumatorul serial prime¸ ste doi bit si calculeaz a un bit zi.¸i xi, yi ¸

De asemenea el mai produce a la operat ¸ia desi un bit de transport ci , care particip

adunare de la urm atorul tact.

Ie¸sirea la tactul i este deci

cizi = xi + yi + ci-1

unde valoarea lui ci-1 va determinat a de starea si a sumatorului.

Sunt posibile doar dou a st ari interne: s0 – cˆ and ci-1 = 0, si s1 – c and ci-1 = 1.

O memorie cu dou a st ari interne const a dintr-un DF F – care stocheaz a variabila de

stare s. O construct ¸ie imediat a este

xy

xy

zs E

F AEEE

Ecin cout

'T

c'DQ DF F ' C K CK 

Pentru dou a numere X, Y de n bit ¸i ecare, sumatorul serial va lucra n + 1 tact ¸i.

La ultimul tact, intr arile x ¸ asi y vor primi valoarea 0 , iar cin va primi valoarea stocat

ˆin DF F .

Ie¸sirea va ultimul bit pentru suma Z, ¸ si valoarea de transport 0 care reseteaz a DF F .

Page 108: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 108/200

6.5. MEMORIA RAM 109

6.5 Memoria RAM

Extensia paralel a a unui 1 - DS genereaz a una din cele mai importante circuite din

sistemele digitale: random access memory (sau pe scurt – memoria RAM ).Fiind unul din cele mai simple circuite, el poate construit u¸ sor pe dimensiuni mari.

De nit ¸i este o colect ¸ie liniar  ¸ia 6.1 O memorie RAMm de m bit a de m = 2n DL-uri cu

sidate de intrare comune, ecare primind un semnal de ceas distribuit de un DM U Xn ¸

siind citite de un MU Xn. Codul de select ¸ie an-1, . . . , a0 este comun pentru DMU X

M U X.

Structura asociat a acestei de nit ¸ii este reprezentat a mai jos, unde W E semni c a ”capabil

de scriere” ¸ si este un semnal activ inferior care permite operat ¸ia de scriere in celula de

memorie selectat a de adresa an-1, . . . , a0.

Am notat de asemenea cu DI N magistrala datelor de intrare, si cu D OU T ie sirea dincircuit.

EEWE ym-1

Ey1DMUXn

'c c

E ss DINy0

c c c c

CK D CK D C K D

. . .ET DL DL DLan-1, . . . , a0

c

Q Q Qc'i0

' c'DOU T i1MU Xn

c'im-1

Se poate da ¸si o de nit ¸ie recursiv a a memoriei RAM, plec and de la de nit ¸iile recursive

ale componentelor sale. Nu vom detalia aceast a variant a.

Page 109: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 109/200

110 CAPITOLUL 6. SISTEME 1 - DS (MEMORII)

6.6 Regi¸stri

O alt a component a de baz a a unui calculator o constituie registrul.

El este ¸ si principalul suport pentru trecerea la urm atorul ordin de complexitate al

circuitelor – ˆinchiderea celui de-al doilea ciclu.

Un registru de n bit ¸i este o secvent ¸ a ordonat a de ip- opuri capabile s a stocheze un

cuvant de n bit ¸i.

Fiecare bit este stocat ˆintr-un RSF - F sau DF F .Toate unit atile de memorie au linii de control (ceas, resetare) comune. Dup a modul

de extensie folosit, vom avea regi¸ stri seriali, paraleli sau serial-paraleli.

6.6.1 Registrul serial

Figura urm atoare prezint si simbolul logic):a un SRn (structura ¸

. . .E E E E EIN D Q S Q S Q OU T

cCK 

SRnDFF RSF-F RSF-FE E

I N OU T. . .E E E

Q R Q R Q

(b)CK CK CK 

T T . . .E ETssCK 

(a)

De nit ¸i se de ne¸ ste recursiv astfel:¸ia 6.2 Un registru serial SRn de n bit

(i) SR1 este un DF F ;

¸ine prin extensia serial(ii) SRn se obt a a unui SRn-1 cu un SRF - F .

Este evident c arziere de n tact ¸i ˆintre intrare ¸si ie¸sire.a SRn introduce o ˆintˆ

Un bit care intr si din registru la tactul n + i, ecarea ˆintr-un SRn la tactul i, va ie¸

tact permit ¸ and trecerea acestei informat ¸ii de la un ip- op la urm atorul.

Din acest motiv, regi strii seriali sunt folosit ¸i cu prec adere in construct¸ia liniilor con-

trolate ”de intˆ arziere”.

Rolul ceasului este de a sincroniza componentele registrului.

Page 110: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 110/200

6.6. REGIS¸TRI 111

6.6.2 Registrul paralel si registrul serial - paralel

De nit ¸i se de ne¸ ste recursiv astfel:¸ia 6.3 Un registru (paralel) Rn de n bit

(i) R1 este un DF F ;¸ine prin extensia paralel(ii) Rn se obt a a lui Rn-1 cu un DF F .

Principalul avantaj al acestei componente este netransparent ¸a sa, cu except ¸ia unei ”trans-

 parent e nedecidabile” ˆin primele tS + tH momente.

Deci el poate ˆinchis eventual cu un nou ciclu.Mai mult, netransparent ¸a asigur a posibilitatea de a inc arca registrul cu orice valoare,

inclusiv cu o valoare care depinde de propriul s au cont¸inut.

xn-1 xn-2 x0

c

r nX

. . . '' s s CK  r ccc c c c c

D CK D C K D C K ECK  Rn. . .DF F DF F DF F

Q Q Q r nr c

c c c Y

yn-1 yn-2 y0

(a) (b)

Mai mult i regi¸stri paraleli pot legat ¸i ˆin serie, obtin andu-se un registru serial - paralelRn×m.

De nit¸ia sa recursiv a este:

De nit ¸ine recursiv astfel:¸ia 6.4 Un registru serial - paralel SP Rn×m se obt

(i) SP R1×m este registrul Rm;

¸ine prin extensia serial(ii) SP Rn×m se obt a a unui SP R(n-1)×m cu un Rm.

Structura ¸si simbolul logic al unui astfel de registru sunt:

. . . OU TE E E E EIN ee e e ee ee ee eeRm Rm Rm

E EIN OU Tnnnn n eeSP Rn×m nn CK 

T T . . .E ETs s ETC K 

(a) (b)

Page 111: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 111/200

112 CAPITOLUL 6. SISTEME 1 - DS (MEMORII)

6.7 Exercit ¸ii

1. Fiind date dou a numere pe n bit ¸i (cu primul bit drept bit de semn) s a se construiasc a

un circuit care s a selecteze pe cel mai mare dintre ele.

2. Fie inelul boolean Z= (Z2, , ·). Fiind xat polinomul

a(X) = a0 a1X a2X 2 . . . anX n Z2[X ]

s a se construiasc a un circuit de ˆinmult ¸ire cu a(X) ˆin Z .

Detaliind, s a se construiasc a un circuit care s a primeasc a la intrare co e cient ¸ii unui

a scoat a coe cient ¸ii polinomului a(X ) · b(X ). polinom b(X ) Z2[X ] ¸si s

3. S a se construiasc a un circuit de ˆimp art ire la un polinom dat

a(X) = a0 a1X a2X 2 . . . anX n Z2[X ]

Caz particular: a(X ) = X 1.

4. Se d a un DF F . S a se construiasc a un circuit a c arui ie¸sire este 1 dac a si numai

dac a DF F schimb a starea (din 0 in 1 sau din 1 ˆin 0). De exemplul pentru intrarea

00110 ie sirea va 00101.

5. S a se construiasc a un circuit care are ie¸ sirea 1 dac a cel put ¸in doi din ultimii trei

 bit i de intrare sunt 1. De exemplu, pentru intrarea 10011010011 ie¸sirea va

00001110001.

Page 112: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 112/200

Capitolul 7

Sisteme 2 - DS (Automate)

Urm atorul pas ˆin construct ¸ia sistemelor digitale const a in ad augarea unui nou ciclu la

sistemele de ordin 1. Acest al doilea ciclu cre¸ ste autonomia comport arii sistemului inclus.

Acum sistemele au o evolut ¸ie a spat ¸iului st arilor part ¸ial independent a de dinamica

intr arii.

Vom lua in considerare numai circuitele sincrone: circuite in care orice ciclu cont ¸ine

cel put¸in un registru.

7.1 De nit ¸ii de baz a

Structura fundamental a a unui sistem 2 - DS este automatul1.

De nit ¸ia 7.1 Un automat A este un 5 - tuplu A = (Q, X, Y, d, ) unde

• Q este o mult ¸ime nevid a de elemente numite ”st ari”;

• X este mult ¸imea ( nit a, nevid a) a variabilelor ”de intrare”;

• Y este mult ¸imea ( nit a, nevid a) a variabilelor ”de ie¸ sire”;

• d : Q × X - Q este funct ¸ia ”de tranzit ¸ie” a st arilor;

• este funct ¸ia de ie sire, av and forma

: Q × X - Y pentru automatul tip Mealy,: Q - Y pentru automatul tip Moore.

1ˆIn teoria limbajelor formale, termenul corespunde celui de translator nit

113

Page 113: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 113/200

114 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

La ecare tact, starea automatului comut a si ie sirea ia valoarea conform cu noua stare (¸si

valoarea curent a de intrare – ˆin structura Mealy).

De nit ¸ia 7.2 Un automat cu int arziere (Mealy sau Moore) este un automat avˆ and la

iesire valorile generate de un registru (cu intˆ arzieri); deci valoarea curent a de la ie¸sire

corespunde st arii interne anterioare a automatului.

Teorema 7.1 Relat ¸ia de timp dintre valorile de intrare ¸ si ie sire poate cuprinde urm atoa-

rele forme:

1. Pentru automatul Mealy, yt = (qt, xt);

2. Pentru automatul Mealy cu ˆintˆ arziere, yt = (qt-1, xt-1);

3. Pentru automatul Moore, yt = (qt) = (d(qt-1, xt-1));

4. Pentru automatul Moore cu ˆintˆ arziere, yt = (qt-1) = (d(qt-2, xt-2)).

Demonstrat¸ia este evident a si pleac a de la de nit ¸ie.

Din aceast a teorem a rezult a c a avem la dispozit ¸ie automate cu diverse faze de react ¸ie

la variat¸iile intr arii.

Deoarece in toate implement arile cunoscute mult ¸imea Q a st arilor este nit a, vom

folosi urm atoarea variant a de automat:

De nit ¸ia 7.3 Un automat nit este un automat ˆin care Q este nit a iar d accept a o

de nit¸ie nerecursiv a.

Este interesant, dar aceast a de nit ¸ie conduce la o structur a mai complex a pentru auto-

matele nite, decˆ at structura general a a automatelor.ˆIn continuare vom folosi numai automate Mealy (se poate demonstra c a – abstract ¸ie

f acand eventual de primul caracter de ie¸sire – cele dou a tipuri de automate sunt echiva-

lente).

Automatele pot descrise ¸si sub forma unui graf orientat, ˆin care nodurile sunt marcate

cu st arile din Q, iar arcele se marcheaz a cu perechi de elemente din X ×Y ˆin felul urm ator:

Exist a un arc de la q la p marcat cu (a, x) d(q, a) = p, (q, a) = x

a/xq p E

"!#

"!#

Page 114: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 114/200

7.1. DEFINIT¸ II DE BAZ A 115

M arimea si complexitatea unui automat sunt direct proport ¸ionale cu dimensiunile mult ¸i-

milor care le compun.

Deci, din acest punct de vedere, cel mai simplu automat are numai dou a st ari

Q = {0, 1} (reprezentate pe un bit), un bit de intrare T {0, 1} ¸si Y = Q.

Structura asociat a este

T'cc T

CLC

c c

CK D

DF F

QEs

cQ

unde exist a un bit de intrare T , un registru de un bit (de obicei DF F ) pentru stocarea

unei st ari de un bit, si un circuit combinat ¸ional logic C LC pentru calculul funct ¸iei d.

Exemplul 7.1 Un DF F poate exprimat ca un automat cu dou a st ari (C LC se reduce

la funct¸ia identic a). Formal Q = X = Y = {0, 1}, iar funct ¸iile d, : {0, 1}2 - {0, 1}

sunt de nite prin tabelele de valori

d 0 1

0 0 11 0 1

0 1

0 0 01 1 1

Graful de funct ¸ionare al unui DF F este

1/0'cE

E E0/0 1/10 1' c'

"!#

"!#

0/1

Observat ¸ia 7.1 Pentru reprezentarea funct ¸ion arii unui DF F , automatul Moore este

mai adecvat, ie sirea copiind permanent starea ˆin care se a a circuitul.

Exemplul 7.2 S a consider am circuitul compus din dou a DF F , o poart a AN D ¸ si o

 poart a OR:

Page 115: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 115/200

116 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

E$

T c EYE EEQ Q

%

D F F DF F$¤EsX D EQD QE E

%¥ CK CK  T'T

Ts CK c E

Circuitul are o singur a intrare, patru st ari date de combinat ¸iile Q1Q2 {00, 01, 10, 11},

intr si o ie¸arile in DF F -uri D1 = X, D2 = X Q1 sire Y = Q1 Q2.

Deci X = Y = {0, 1}, Q = {00, 01, 10, 11}, d(Q1Q2, x) ¸si (Q1Q2, x) de nite prin

tabeleled 0 1 0 1

00 01 11

01 01 1110 00 1111 00 11

00 0 0

01 0 010 0 011 1 1

Graful automatului este

0/0 E E 0/000 01 c' 

k "!#

0/0 T  1/01/0 0/1

  

'cE

c

C  ' 10111/1

"!#

"!#

"!#

1/0

In acest automat, starea 10 este inaccesibil a din starea de ˆinceput 00, iar st arile 00 ¸ si01 sunt echivalente (funct ¸ioneaz a identic)). Dac a le elimin ¸inem un automat cuam2 obt

numai dou a st ari (graful din st anga)

'

ETEQ Y = QT

E DF FX D0/11/0Q

CK c

'1/111

00 0/0ET

ET43

524352

Dac a se renoteaz a starea 00 cu 0 si 11 cu 1, se obt ¸ine un DF F ( gura din dreapta).

Deci circuitul din acest exemplu poate ˆinlocuit cu un ip- op de date.

2 Algoritmii sunt identici cu cei de la Limba je formale.

Page 116: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 116/200

7.2. FLIP - FLOPURI 117

7.2 Flip - Flopuri

Folosind structura bazat a pe DF F -uri de nit a ˆin sect iunea anterioar a, se pot construi

alte dou a ip- opuri de e cient ¸ a sporita: T ip- opuri si JK ip- opuri.

7.2.1 Automatul T F lip - Flop

Dac a drept circuit logic combinat ¸ional folosim o poart a X OR se obt ¸ine circuitul (a) – 

numit T ip- op (T F F pe scurt) – avˆ and notat ¸ia (b):

T'c T©

¦ ¥&%

cTc c

CK T

c c T F FCK D

QDF F

cQ

(b)Es

c(a) Q+

Ecuat¸ia de funct ¸ionare este Q+ = d(Q, T ) = T Q iar ie¸sirea Y = (Q, T ) = Q.

Ce ar putea semni ca ”mesajul” adus de un bit T pentru acest automat cu dou a st ari ?

T = 0 = starea automatului r amane aceea¸si (Q = 0 sau Q = 1).

T = 1 = starea automatului comut a.

Structura de automat este: Q = X = Y = {0, 1},

d 0 10 0 11 1 0

0 1

0 0 01 1 1

iar graful de funct ¸ionare

1/0'cE

E E0/0 0/10 1' c'"!

#

"!

#

1/1

Page 117: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 117/200

118 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

Acest circuit simplu poate folosit cu mai multe interpret ari:

• Ca num ar ator modulo 2, deoarece pentru T = 1 timp de mai mult ¸i tact¸i, ie sirea va

01010101 . . .;

• Ca divizor de frecvent ¸ a. Dac a frecvent ¸a sem-¸a ceasului este fCK, atunci frecvent

nalului primit la ie¸ a ecare ciclu, circuitul sesirea din automat este fCK/2 (dup

ˆintoarce ˆin aceea si stare).

QQ

EE

. . .. . .

E T F FTCK 

ETCK 

Observat ¸ia 7.2 Cˆ ateva remarci referitoare la semnalele de ie¸sire Q si Q:

- Ele sunt exact inverse unul altuia;

- Frecvent a lor este exact jum atate din frecvent ¸a semnalului de intrare.

7.2.2 Automatul JK Flip - Flop

S a consider am alt automat, cu dou a intr ari notate J ¸ si K , numit J K ip op (J K F F ):

J K 'c

ETc c c T

" ! " ! 'c

 c Ec c

c c cJ CK K '

c

" ! d CK 

JK F FcDQ Q

CK DF F Q Q

'T

Es s c c

(b)c c

(a)Q+ Q+

Un JK F F are Q = Y = {0, 1}, X = {0, 1}2 ¸si

d 00 01 10 11 00 01 10 110 0 0 0 01 1 1 1 1

0 0 0 1 11 1 0 1 0

Graful de funct ¸ionare va deci 10/0 11/0 EE E00/001/0 0 1

'T

' 00/1' c10/1"!#

"!#

01/1 11/1

Page 118: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 118/200

7.2. FLIP - FLOPURI 119

Din structur a se deduc ecuat ¸iile de tranzit ¸ie

d(Q, J K) = (Q K ) (Q J), (Q, J K ) = Q

Deci structura de funct ¸ionare poate exprimat a mai simplu prin tabelul

J 0 0 1 1

K 0 1 0 1

D Q 0 1 Q

Cele patru mesa je de intrare posibile sunt:

1. no op: J = K = 0 – ie¸sirea r am ane nemodi cat a (ca la T ip op cu T = 0);

2. reset: J = 0, K = 1 – ie¸ sirea ia valoarea 0 (ca la DF - F );

3. set: J = 1, K = 0 – ie¸sirea ia valoarea 1 (ca la DF - F );

4. switch: J = K = 1 – ie¸ sirea comut a pe starea complementar a (similar cu T = 1 la

T ip op).

Ciclul este obligatoriu numai pentru ultima funct ¸ie; aici ip - opul trebuie s a ” stie”

care era starea anterioar a a automatului, pentru a o putea schimba.

Prin aceast a comand a ciclul ˆisi arat a autonomia.

Am obt¸inut o ma¸sin a cu dou a st ari si dou a intr ari, cu proprietatea c a pentru orice

con gurat ¸ie de intrare posibil a, circuitul are o comportare previzibil a.

JK ip - opul este cel mai bun ip - op construit pˆ an a acum; toate celelalte pot

considerate cazuri particulare ale sale (pentru J = K = T se obt ¸ine T F F , iar pentruK = J = D avem DF F ).

Pe baza acestui ip - op se pot construi divizori impari de frecvent ¸ a. Astfel, circuitul

urm ator (cu o singur a intrare ¸si dou a J KF F ) asigur a o diviziune prin 3 a unui tact.

'1 E T

T cc ccJ K J K  

JK F F J K F FEE CK CK  Q QTT

Es s ss

CK  E Ecc

A B

Pentru intrarea constant a J = 1, ie sirea va 00 10 11 00 10 . . .. Ie sirea A va aveavaloarea 1 la dou a momente din trei, iar ie¸sirea B – la un moment din trei.

Deci o extensie serial a a unei magistrale de ceas cu acest circuit face posibil a seg-

mentarea unui tact in cicluri de 1/3 (33, 333%) ¸ si 2/3 (66, 667%).

Page 119: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 119/200

120 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

7.3 Num ar atori (counteri)

Multe circuite digitale folosite ˆin extrem de numeroase aplicat ¸ii, necesit a num ar ari (ˆinainte

¸si ˆinapoi).De aceea s-au dezvoltat diverse modalit ati de generare a num ar atorilor.

De¸si exista multe variante, principiile de baz a sunt acelea¸ si.

Astfel, o prim a caracteristic a comun a a lor este generarea recursiv a.

O variant a de construct ¸ie pleac a de la circuitul T F F : ¸ stim c a un astfel de circuit poate

num ara modulo 2, deci cum am putea s a leg am n T ip - opuri Tn-1, . . . , T0 pentru a

num ara mo dulo 2n ?

O idee este urm atoarea: circuitele vor a¸ a comutesezate astfel ca Ti (1 = i = n - 1) s

doar dac a la ecare pas.a Ti-1, . . . , T0 sunt simultan ˆin starea 1; ˆin plus, T0 comut

Pentru a detecta aceste condit ¸ii, pentru ecare i = 0, 1, . . . , n - 1 se va asocia un T F Fatoare:Ti cu o poart a ANDi+1, conform gurii urm

C K IN C0

Ec c Ess s sE

CK T T cc

&%T0

Qc Ess s'

c

Q0cEs

c ETCK T ccc

& %T1

.

.

.

c Qc Es s Q1'c

. . . c'c EcE

TCK T cccc

&%Tn-1

Qc Es Qn-1

c E

I NCn

Page 120: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 120/200

7.3. NUM AR ATORI (COUNTERI) 121

Exemplul 7.3 Un counter pentru n = 2 are forma

CK INC0

E Ess sc c E

T TCK cc

T0

Qc E'c

ss Q+c E c 0

c ECK T T ccc

T1  

Q

c Es Q+1

c E I NC2

Dac a not arile ˆin cele dou a T F F ¸am cu X intrarea ˆin circuit, cu T0, T1 intr  si cu Q+ 0 , Q+1

iesirile din cele dou a T F F , ecuat iile de funct ¸ionare sunt

T0 = X, T1 = Q+ 0 X

iar ie¸sirile

Q+0 = Q0 X, Q+ 1 = Q1 (Q+ 0 X ), INC2 = X Q+ 0 Q+ 1

Comportamentul circuitului poate sumarizat in tabela

sire(Q+X Q0 Q1 T0 Q+ 1 Ie¸0 T1 Q+ 1 Q+0 ) IN C2

- 0 0 0 0 0 0 00 0

1 0 0 1 1 0 0 01 01 1 0 1 0 1 1 10 01 0 1 1 1 0 1 11 11 1 1 1 0 1 0 00 01 0 0 1 1 0 0 01 0

. . . . . . . . . . . .

Extinz and aceast a idee, ˆintr-o de nit ¸ie recursiv a un num ar ator sincron COU NTn de

n bit i este construit prin extensia serial si un T F F , folosind o poart aa dintre COU NTn-1 ¸

a condit¸ia de comutare pentru urm atorul T F F ; intrarea o consti-ANDn+2 care determin

¸ialtuie I NC0 si Qn-1, . . . , Q0 ( gura de jos este part a) iar ie¸sirea IN Cn.

si ie sirea INC1.COU N T1 este un T F F ¸si un AN D2, cu intrarea Q0, IN C0 ¸

Page 121: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 121/200

122 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

'c c

'c

s CK 'c

T

CK T IN C0CK 

'T

Tn-1 CO U N Tn-1I NCn-1

. . .Q Q0Qn-2

'c

' sE 'c

s s sIN C0

c c

& %

c'IN Cnc c c

Qn-1 Qn-2 . . . Q0

Acest circuit este rapid, dar dimensiunile sale cresc mult odat a cu n: la ecare pas se

adaug a un T ip - op si un sumator al c arui num ar de intr ari depinde de n.

Se pot da si alte solut¸ii sincrone care s a p astreze o cre¸stere rezonabil a a dimensiunilor,

dar viteza de lucru va mai mic a.

Dac a toate intr arile in port ile AN D sunt din Q (ˆin loc de Q) se obt ¸ine un num ar ator 

 binar descresc ator.

Exemplul 7.4 S a construim un num ar ator zecimal.

1'c

Ec cT T

TE T F F0

QTc Essss Q+'c T

c E 0

c cT

 E T F F1Q

c Es s'c

Q+c E E 1

T Tc cc c cT

E  T F F2Q

'c

c Es Q+'c

c 2c

K Q Qss

s

JE J KF FCK 

CK CK CK 

c Es Q+3CK  c E

Page 122: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 122/200

7.3. NUM AR ATORI (COUNTERI) 123

Cum reprezentarea cifrelor 0, 1, . . . , 9 se poate realiza codi cat pe patru bit ¸i (de la 0000

la 1001), aceasta va necesita doar patru circuite de tip T F F sau JK F F .

Pentru u¸surint ¸ a, in structura reprezentat a anterior s-au folosit trei circuite T F F siun J K F F .

Bineˆinteles, este posibil a o construct ¸ie ˆin care toate cele patru module s a e J K F F ;

ˆin acest caz, la primele trei module JK F F se va folosi aceea¸ si valoare de intrare pentru

J ¸si K ).

Ecuat iile counterului zecimal sunt:

T0 = 1 , T1 = Q+ 0 (Q3)+, T2 = Q+ 1 Q+ 0 , J = Q+ 0 Q+ 1 Q+ 2 , K = Q+ 0 Q+ 3

Q+ 3 = (Q3 K) (Q3 J )0 = Q0, Q+ 1 = Q1 T0, Q+ 2 = Q2 T2, Q+

Las am ca exercit¸iu veri carea c a acesta este un counter pe patru bit ¸i ˆin care, dup a valoarea

1001 (corespunz atoare cifrei 9) urmeaz a 0000.

Page 123: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 123/200

124 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

7.4 Stive

ˆInafara memoriilor prezentate pˆ an a acum (ROM, RAM, regi stri), o memorie frecvent

folosit a este cea de tip stiv a (sau LIF O ).Exist a multe solut ¸ii practice pentru implementarea acestui gen de memorie.

Una din cele mai simple idei folose¸ ste un num ar si oator up-down U D - C OU N Tn ¸

memorie RAM .

E ' sCK C K C1 IN C0

U D - CO U NTnE U /DC0 s

c E

c c

c'WE Adresa CK 

E ERAM DOU T OU TIN DI N

ar a U/D careUn U D - CO U NTn este un num ator CO U N Tn cu o intrare suplimentar 

speci c a dac a num ararea se efectueaz a cresc ator (down) – ator (up): C0 = 1, sau descresc

C0 = 0.

 Num ararea descresc atoare se implementeaz a la fel de simplu ca cea cresc atoare: sin-

gura diferent ¸ a const a la intrarea in port ¸ ile AND unde vor a junge ie¸ sirile Q ale ip -

opurilor (la cresc ator se folosea numai ie¸sirea Q).

Introducerea acestei noi restrict ¸ii se poate realiza folosind un EM U X (pentru se-lectarea lui Q sau Q ) sau un XO R (pentru complementarea lui Q la comanda semnalului

U /D ).

CK asigur a sincronizarea celor dou a circuite.

Structura din gur a poate simula trei operat ¸ii (funct¸ii):

¸ie;1. no op: C0 = 0, C1 = 0 – nici o operat

a la in-2. push: C0 = 1, C1 = 1 – U D - COU N Tn este incrementat ¸si data a at

trare (IN ) este sto cat a (WE = 0) ˆin RAM la adresa indicat a de noul cont ¸inut al

num ar atorului.

¸ia binar a stocat a la adresa indicat a de cont¸inutul3. pop: C0 = 0, C1 = 1 – con gurat

lui U D - COU N Tn este citit a la ie¸sirea OU T ¸si U D - COU NTn este decrementat

la noul punct de vˆ arf al stivei.

Page 124: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 124/200

7.5. CIRCUITE ARITMETICE 125

7.5 Circuite aritmetice

7.5.1 Sumator serial

Pentru sumatorii de n bit ¸i se poate construi in acest moment o alt a versiune, care uneori

 poate mai avanta joas a din punct de vedere al dimensiunii.

Astfel, folosind un automat, putem stoca cei doi operanzi in regi¸ stri seriali ( si nu ˆin

registri paraleli, cum s-au folosit ˆin construct ¸ia din Capitolul 6).

E A ESE SRnDI N DOU T E F ABT E ECK  C C+

s ETCK 

'T

Q c'DE EDI N SRn DF FDOU T

CK CK 

Tsc ET

c

Sumator CK 

'SRnDOU T DI N

c'

Acest sumator serial cont ¸ine 3 regi¸stri (doi pentru operanzi si unul pentru rezultat) si

un automat de ˆinsumare.Acesta este un automat cu dou a st ari, bazat pe un DF F legat printr-un ciclu cu un

sumator F A.

Starea curent a ret¸ine transportul sumei ciclului precedent. Intr arile A ¸ si B primesc

sincronizat – la acela¸ si tact – bit ¸ii de pe aceea si pozit¸ie din cei doi regi¸ stri seriali care

cont in operanzii.

Automatul este init ¸ial ˆin starea 0, ceea ce semni c a C+ = 0.

Iesirea S este stocat a bit cu bit – timp de n tact ¸i – de al treilea registru.

Rezultatul nal este dat de al treilea registru serial ¸ si de starea r amas a in DF F .

Formal, Q = {0, 1}, X = {0, 1}2, Y = {0, 1} ¸si

d 00 01 10 11 00 01 10 110 0 1 1 01 1 0 0 1

0 0 0 0 11 0 1 1 1

Page 125: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 125/200

126 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

Graful de funct ¸ionare al automatului concentreaz a toat a aceast a informat¸ie ˆin:

11/0' E00/0

01/110/1

01/010/0

0 1 11/1c'cE '

4352

4352E

00/1

7.5.2 Circuit aritmetic serial - paralel

Este posibil ca timpul de execut ¸ie al circuitului anterior s a e considerat prea mare (da-

torit a extensiei seriale); atunci se poate face o combinat ¸ie intre extensia serial a si cea

 paralel a.

Un astfel de circuit este de exemplu:

m rr rr c c

DIN DI N

SP Rn×m SP Rn×m

E EsC K CK  CK T

mm

DOU T DOU T

m Es

c c

'c

A BEc 'sCm C0 T

ADDmCK D

SDF Fmrr 

Q Ec

DIN

SP Rn×m

c ECK DOUT

rr mc

Aici se folosesc trei regi¸ stri serial - paraleli SP Rn×m, un sumator de m bit ¸i ADDm siun registru cu dou a st ari (de exemplu un D F F ).

Intr arile si iesirile circuitului sunt secvent ¸e de m bit ¸i.

Circuitul realizeaz a suma a dou a numere de n · m bit ¸i in n tact¸i.

Page 126: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 126/200

7.5. CIRCUITE ARITMETICE 127

7.5.3 Sumatoare - pre x

Automatele construite pˆ an a acum au fost foarte simple, toate avˆ and numai dou a st ari.

Sa m arim puterea acestor automate, conservˆ and simplitatea funct ¸iei de tranzit ¸ie, dar m arind num arul st arilor.

Multe aplicat ¸ii solicit a circuite cu funct ¸ie si structur a de acumulator, adic a sisteme

capabile s a adune mai multe numere si s a returneze ˆin nal suma lor – sau toate sumele

lor part¸iale (pre xe).

Astfel, s a consider  am p numere x1, . . . , xp. Sumele pre x sunt

y1 = x1

y2 = x1 + x2 = y1 + x2

y3 = x1 + x2 + x3 = y2 + x3

. . .yp = x1 + x2 + . . . + xp = yp-1 + xp

(ˆin mod similar se poate de ni orice - pref ix, ˆinlocuind adunarea ”+” cu un operator arbitrar ).

Vom prezenta aici un exemplu de automat aritmetic care s a genereze la ecare tact

cate un pre x (ˆincepˆ and cu y1).

INEEm nT

c c cam+n-1 . . . a0 bm+n-1 . . . b0

AD Dm+n

sm+n-1 . . . s0 CK 

m + nrr  Tcm + n ' sCK CK Rm+n

m + n'T

sc

O U T

Valoarea init¸ial a din registrul paralel Rm+n este 0.

ari ¸si calculeaz a sumele partAutomatul are 2m+n st ¸iale pentru p = 2m+1 - 1 numerede c ate n bit ¸i.

La ecare tact se introduce un num ar format din n bit ¸i, iar pe cele m pozit ¸ii supli-

mentare din st anga vor intra permanent 0 .

Page 127: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 127/200

128 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

Acesti m bit ¸i suplimentari sunt necesari pentru a obt ¸ine un rezultat corect ¸ si in

situat¸iile cele mai nefavorabile, cˆ and sumele dep asesc n bit¸i.

Automatul este evident foarte simplu. Cele dou a componente sunt circuite simple care  pot de nite recursiv.

Exemplul 7.5 S a particulariz am sumatorul pre x de nit anterior, pentru m = 2, n = 1.

El va avea forma

E x00EEc

ccc ca2 a1 a0  b2 b1 b0

ADD3CK 

T

cc cc' sCK CK R3

'T

'T

s'T

ss

c c cy2 y1 y0

Acest sumator lucreaz a pe trei bit ¸i, adunˆ and permanent o valoare binar a ( 0 sau 1 );

el poate folosit ¸si ca un counter pe trei bit ¸i – CO U NT3.

De nit ca un automat, vom avea Q = {0, 1}3, X = {0, 1}, Y = {0, 1}3.

Funct iile de tranzit ¸ie si de ie¸sire rezult a imediat din graful de funct ¸ionare:

0/000 0/001 0/010 0/011 0/100 0/101 0/110 0/111 EEEEEEEETTTTTTTT

cccccccc1/1111/1101/1011/1001/0111/0101/001 q6q5q4q3q2q1q0 E E E E E E E q7

&%'$

&%'$

&%'$

&%'$

&%'$

&%'$

&%'$

&%'$

Page 128: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 128/200

7.5. CIRCUITE ARITMETICE 129

7.5.4 Multiplicator 

S a construim un circuit secvent ¸ial pentru ˆinmult ¸irea a dou a numere binare.

Spre deosebire de circuitul combinat ¸ional de ˆinmult ¸ire, acesta folose¸ ste circuitul dedeplasare, bazˆ andu-se pe faptul c a ˆinmultirea este de fapt o adunare repetat a.

Pentru u¸surint a expunerii, vom dezvolta o construct ¸ie pentru inmult irea a dou a numere

ˆintregi cu semn reprezentate pe 8 bit ¸i (generalizarea ind imediat a).

am produsul P = X × Y .si Y = y0 . . . y7, din care formFie numerele binare X = x0 . . . x7 ¸

 Numerele au reprezentarea standard: bit ¸ii marcat¸i cu 0 sunt bit ¸i de semn, iar restul

a m arimea num arului (considerat subunitar).(notat XM respectiv YM ) semni c

Valoarea lui este dat a de num arul

N = 7 xi2-i

i=1

C and x0 = 1, valoarea lui X este -N.

Algoritmul de ˆinmult¸ire va implementa ˆintˆ ai PM := XM × YM, unde PM = p1 . . . p14

este valoarea absolut a a produsului.

Semnul lui P este dat de p0 := x0 y0.Rezultatul nal este num arul de 15 bit ¸i P = p0p1 . . . p14.

a iterativ prin sapte adun ari/deplas ari, de nite de relat ¸iileValoarea PM este calculat

Pi := Pi + x7-iYM; Pi+1 := 2-1Pi (1 = i = 6);

unde P0 = 0, P7 = PM.

Cand x7-i = 1, avem Pi := Pi + YM, iar pentru x7-i = 0 va Pi := Pi + 0.

Deci, la ecare pas, la produsul part a inmult¸ial Pi se adun ¸itorul YM sau 0.ˆInmult ¸ie (dup a adunare);¸irea cu 2-1 este o deplasare a lui Pi spre dreapta cu o pozit

aceasta este echivalent a cu o ˆimp art ire la 2.

Fiecare astfel de pas (adunare + deplasare) adaug a un bit la produsul part ¸ial, care

creste astfel de la 7 la 14 bit ¸i (la care se va ad auga in nal si bitul de semn).

Putem speci ca acum principalele componente necesare ˆin construct ¸ia multiplicatoru-

lui pe 8 bit ¸i.

• Doi regi stri: Q (pentru ˆinmult ¸itor) si M (deˆinmult¸it) vor cont ¸ine X respectiv Y .

• Un registru dublu (de 16 bit ¸i) A.Q va stoca produsele part a¸iale Pi . De remarcat c

acesta cont ¸ine in a doua jum atate registrul ˆinmult ¸itor.

Page 129: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 129/200

130 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

• Adunarea este realizat a cu un sumator combinat ¸ional (paralel) pe 7 bit ¸i (se poate

folosi un sumator serial, dar va de sapte ori mai lent).

Sumatorul va avea ie¸sirea ¸ si o intrare conectate la A, iar cealalt a intrare va trebuis a comute ˆintre M ¸ si 0.

• Funct ¸ia de deplasare la dreapta cu un bit se poate obt ¸ine folosind pentru A un

registru de deplasare dreapta cu intrare/ie¸ sire paralel a.

Circuitul are structura urm atoare:

'c

'T

Tc

&%¦ ¥

 

E

c c

'E MU X c9

c5

E M0Q7cT

E c Esc0 CL CL

A[1 : 7] Q[1 : 7] M[1 : 7]E cEc2 LDSH

LDSHE EEsc7 SH

Tc ETs

¢¢¢ c'

¢'s s 'A0 7×EMU X

e

eee

' 0

8 7 7¨¨ ¨¨ ¨¨ 77 M7

Tc c

'T

c6ADD7cout

A[0 : 7] 'T

7 c¡¡

c11 InterfetE

¸e de magistralecc

OU T

Conform de nit ¸iei, suma este controlat a de bitul x7-i , stocat ˆin registrul Q.

Unitatea de control a ˆinmult ¸irii va trebui s a scaneze la ecare pas cont ¸inuturile lui Q

de la dreapta spre stˆ anga.Dac ¸ine totdeauna din cel mai laa Q este un registru de deplasare, atunci x7-i se va obt

dreapta ip- op al lui Q (Q[7]) deplas and Q spre dreapta ˆinainte de a extrage urm atorul

x7-i.

Page 130: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 130/200

7.5. CIRCUITE ARITMETICE 131

Deci, XM este redus treptat de la 7 bit ¸i la 1 bit, in timp ce Pi este expandat de la 7

la 14 bit¸i, tot prin deplasare la dreapta.

Aceasta conduce la ideea de a combina A ¸si Q ˆintr-un singur registru dublu de de-

 plasare, in care jum atatea dreapt a este Q, iar cea stˆ ang a – A.

Multiplicatorul este completat prin includerea magistralelor de date externe IN ¸si

OU T si o unitate de control cu un num ar ator pe 3 bit ¸i COU NT3.

Dup a cum se observ a, in centrul construct ¸iei se a a sumatorul paralel pe 7 bit ¸i si

registrul dublu A.Q care implementeaz a formulele de calcul.

sire al transportului din sumator este al 8-lea bit (cel mai semni-Semnalul cout de ie¸

cativ) al sumei ¸ si este conectat la intrarea A0.

a ecare pasContorul CO U NT3 (nereprezentat aici) este incrementat ¸si testat dup

adunare/deplasare, pentru a vedea dac a prima etap a de calcul s-a terminat.

Cˆ a bit¸ii 1 : 14 ai registrului A.Q,and COU N T3 a a juns la 111 (adic a 7), PM ocup

adic a bit¸ii A[1 : 7].Q[0 : 6].aBitul de semn p0 este apoi calculat din x0 (stocat in Q7) ¸ si y0 (stocat in M0), dup

care este depus ˆin A0.

¸i.Simultan, un 0 este pus ˆin Q7 pentru a extinde rezultatul nal de la 15 la 16 bit

Unitatea de control a multiplicatorului este format a din toate semnalele ¸ si punctele

de control necesare in implementarea operat ¸iilor speci cate.

List am mai jos cˆ ateva semnale de control necesare ˆin construirea unui multiplicator.

Semnal Operat ¸ia Semnal Operat ¸ia

control controlat a control controlat a

c0 Reseteaz a A c7 Deplasare dreapta A.Q

c1 Reseteaz a COU N T3 c8 Incrementare COU N T

c2 ˆIncarc c9 Selecta A0 ¸ie cout sau M0 Q7 pentru A0

c3 ˆIncarc a M din I N c10 Anuleaz a Q7

c4 ˆIncarc a Q din IN c11 OU T - A

c5 ˆIncarc a suma ˆin A[1 : 7] c12 OU T - Q

¸ie M sau 0000000c6 Select

ˆIn unele cazuri sunt necesare mai multe semnale de control pentru implementarea unei

operat¸ii.

De exemplu, adunarea folose¸ ste c6 pentru a selecta operandul drept al adun arii, c9

arca suma  pentru a selecta cout care se va ˆinc si c5 pentru pentru a ˆincarca ˆin A0, c2 ¸

curent a de 8 bit ¸i ˆin A[0 : 7].

  Num arul semnalelor de control variaz a ˆin funct¸ie de logica utilizat a pentru imple-

mentarea unit atii de control.

Page 131: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 131/200

132 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

Tabelul urm ator descrie un proces complet de ˆinmult ¸ire ˆintre numerele X = 10110011

¸si Y = 01010101. a c a este negativ) este subliniat.Bitul de semn x0 = 1 al lui X (care arat

Datele din A.Q a ate la stˆ a produsul partanga lui x0 reprezint ¸ial curent Pi.

Pas Act ¸iune Acumulator A Registru Q

0 Init ¸ializare regi¸ stri 00000000 10110011

1 01010101

Add M to A 01010101 10110011

Shift A.Q 00101010 11011001

2 01010101

Add M to A 01111111 11011001

Shift A.Q 00111111 11101100

3 00000000Add 0 to A 00111111 11101100

Shift A.Q 00011111 11110110

4 00000000

Add 0 to A 00011111 11110110

Shift A.Q 00001111 11111011

5 01010101

Add M to A 01100100 11111011

Shift A.Q 00110010 01111101

6 01010101

Add M to A 10000111 01111101

Shift A.Q 01000011 101111107 00000000

Add 0 to A 01000011 10111110

Shift A.Q 00100001 11011111

8 Pune semnul ˆin A0 10100001 11011110 - Pro dusul

nalQ7 - 0

Page 132: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 132/200

7.5. CIRCUITE ARITMETICE 133

7.5.5 Circuit pentru produsul scalar (MAC)

Una din cele mai importante funct ¸ii aritmetice care pot realizate in aceast a etap a

si B =este produsul scalar a1b1 + a2b2 + . . . + anbn dintre doi vectori A = (a1, . . . , an) ¸(b1, . . . , bn).

Circuitul – numit M AC (”Multiple Accumulate Circuit”) – poate realizat ˆin mai

multe moduri posibile.

Construct¸ia prezentat a aici folose¸ste o extensie serial a a dou a automate, numite au-

tomat ”acumulator” ¸ si automat ”bits eater” (mˆ anc ator de bit ¸i).

Folosim ¸si aici faptul c a multiplicarea este in esent ¸ a tot o adunare.

Deci se va construi un automat acumulator pentru a implementa ˆin paralel ambele

operat ii: inmult irea si suma produselor; in acest fel timpul de execut ¸ie r am ane acela¸si.

Un astfel de circuit MAC este compus din:

• Automat ”bits eater”, care indic a succesiv pozit ¸iile bit ilor din operandul b, care

au valoarea 1; de asemenea el precizeaz a sf arsitul operat ¸iei de ˆinmult¸ire; circuitul

cont¸ine:

¸in and operandul bi ; – R2 n - registru de stare, cont

  – n×E MU X - n multiplexori elementari care lucreaz a ˆin paralel; ei fac init ializarea

cont si ˆinchide ciclul auto-¸inutului registrului de stare (pentru LOAD2 = 1) ¸

matului (pentru LOAD2 = 0).

a pozit¸ia celui mai semni cativ bit 1 – P En - codi cator cu prioritate care indic

din registrul de stare, precum ¸si sfˆ arsitul ˆinmult irii, prin ie¸ sirea Z;

sirea activ a a automatului; Z = 0 corespunde celui mai sem- – DM U Xlog2 n - ie¸

ni cativ bit 1 din registrul de stare;

 – n × X OR - port ¸i folosite pentru complementarea – la comanda demultiple-

xorului – a celui mai semni cativ 1 din registrul de stare.

• Circuit de deplasare combinat ¸ional: rolul lui este de a deplasa primul operand

ar de pozit ¸ii indicat de automatul anterior; el este format dinai , cu un num

¸ine operandul ai , ˆinc arcat la comanda LOAD1; – R1 n - registrul care cont

¸ional de deplasare spre stˆ anga cu maxim n pozit ¸ii – SH IF Tn×m - circuit combinat

(ˆinmult ¸i.¸ire cu 2i , i = 0, 1, . . . , n) pentru cuvinte de n bit

 – R2n - registru de regularizare a trecerii (pipeline register).

Page 133: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 133/200

134 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

• Automat acumulator: care realizeaz a sumele part ¸iale cu produsele obt ¸inute la

ecare pas; structura lui este:

a la cont ¸inutul registrului de ie¸ sire valoarea primit a de la – ADDm+2n - adun

circuitul de deplasare prin registrul de regularizare R2n;

¸ializarea – (m+2n)×MU X2 - ansamblu de m+2n multiplexori, folosit pentru init

la zero a registrului de ie¸ sire (S1 = 1), pentru ˆinchiderea ciclului prin sumator 

si pentru p astrarea valorii nale cˆ(S1S0 = 00) ¸ and calculul se ˆincheie S1S0 =

01);

a registrul de ie¸ sire – Rm+2n - este registrul de stare al automatului ¸si totodat

al sistemului; poate memora m + 2n bit ¸i, permit ¸ˆ ari posibile deand 2m adun

numere rezultate din inmult ¸irea a dou a numere de n bit ¸i ecare.

arziere pentru sincronizarea semnalului Z.• SR2: este o linie de ˆintˆ

Gra c, structura se reprezint a astfel pentru simpli care, nu s-au mai trecut si circuitele

de sincronizare prin ceas):

I N

'c

c' Esrr rr n nLOAD1c T

rr  n

cc n×EMUX n×XOR ELOAD2 S0R1

n

T Trr n nc cR2' n

 SH IFTn × m

n ns E2nc c

EsR2n

Z E  P En DMU Xlo g 2 n

2n'T

c ETsEEc T m

cc bits eater c E

ADDm +2 n

'c

rr rr 

m+2nc T'

'c''Q D Q DS0

DF F DFF(m+2n)×MUX2CLR S1

m+2n m+2n

SR2rr m+2n rr rr  cRm+ 2n

'T

' automat acumulator Es

  m+2nc

OU T

Page 134: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 134/200

7.5. CIRCUITE ARITMETICE 135

Circuitul funct ¸ioneaz a ˆin felul urm ator:

1. Se intro duce operandul a ˆin R1 n (la comanda din LOAD1);

2. Se intro duce operandul b ˆin R2 n (la comanda din LOAD2);

a un vector 00 . . . 10 . . . 0 cu 1 pe cea mai semni cativ a pozit ie a lui3. P En selecteaz

 b. Acesta:

(a) Comand a o deplasare (SH IF T ) a lui a cu un num ar de pozit¸ii egal cu valoarea

dat a;

(b) Face (pe circuitul XOR - EM U X 0 pe aceast a pozit¸ie a lui b;

(c) Cˆ and tot i termenii sunt 0 , anunt ¸ a ˆincheierea inmultirii ¸si ˆincepe adunarea ˆin

automatul acumulator.

Operat¸ia este realizat a ˆintr-un num ar de tact ¸i egal cu num arul de valori 1 din al doilea

operand. Deci timpul mediu de execut ¸ie este egal cu n/2.

Observat ¸ia 7.3 Dac a cei doi vectori se reduc la cˆ ate un singur num ar (n = 1), circuitul

M AC construit lucreaz a ca un multiplicator, calculˆ and produsul celor dou a numere.

Page 135: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 135/200

136 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

7.6 Reprezentarea automatelor nite

Comportarea unui automat nit poate de nit a ˆin mai multe moduri (grafuri, tabele de

tranzit¸ie, scheme logice, diagrame etc).Toate acestea necesit a ˆinsa o de nire nerecursiv a a funct¸iilor d ¸si .ˆIn aceast a sectiune vom construi o reprezentare a automatelor nite bazat a pe tablouri

logic programabile (P LA).

Astfel va posibil s a reducem complexitatea funct ¸iilor de transfer si de ie¸ sire ale

automatelor, efectuˆ and simpli c ari ale tablourilor P LA corespunz atoare.

De nit ¸ia 7.4 Un semi-automat este un triplet A1/2 = (Q, X, d) unde Q, X, d au semni-

cat¸ia dat a la de nit ¸ia automatelor.

Un semi-automat este deci un automat f ar a funct ia de ie¸sire .

X X'c

(a) (b)Tc c

CIC LU P LAA1/2

Q 'CK (Q)c

E RnC K  c

c E

Utilitatea acestui concept (mai apropiat de not ¸iunea formal a de automat nit) rezid a din

faptul c a multe tehnici de optimizare sunt legate doar de cicluri, nu de ie¸siri.

Cele patru tipuri de automate pot de nite atunci (prin semi-automate) astfel:

• automatul Mealy: rezult a prin conectarea unui semi-automat cu un P LA care

determin a funct ia din intrarea X ¸ si ”ie sirea” semi-automatului (Figura (a) de pe

 pagina urm atoare);

• automatul Moore: se obt ¸ine conectˆ and la ”ie¸ sirea” semi-automatului un P LA

(Figura (b));

• automate cu int arzieri): se obt ¸in conectˆ and inc a un registru R la construct ¸iile

anterioare ((c) pentru Mealy, (d) pentru Moore).

Page 136: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 136/200

7.6. REPREZENTAREA AUTOMATELOR FINITE 137

A1/2 A1/2E ' E 'X X C K X X CK  s CK 

cc

cE P LA P LAP LA

cc

(a) (b)Y Y

A1/2 A1/2E ' E 'X X C K X X CK  s s sCK 

CK CK 

cc

cE P LA P LA

cc'' ccR R 

cc(c) (d) YY

Vom ilustra prin dou a exemple utilizarea semi-automatelor P LA de transfer ¸si de

ie¸sire.

7.6.1 Automat pentru MAC

S a construim un automat pentru funct ¸ionarea circuitului multiplicator M AC (multiple-

accumulate circuit) de nit ˆin paragraful anterior3.

'''

ALOAD1

BLOAD2

INT ERFACE MAC AFCCLR 

EEEN D

'T

T T TcOU T

c E I N

c ES

c EI

'T

cW

3 Evident, ˆin loc de M AC se poate folosi un automat pentru realizarea oric arui grup de operat ¸ii

aritmetice.

Page 137: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 137/200

138 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

Aici M AC este conectat la o interfat ¸ a sincron a (IN T ERF AC E), ˆintregul sistem ind

controlat de un automat nit F A.

Acest automat are trei intr ari:

1. S: este generat de IN T ERF AC E indicˆ and c a circuitul MAC a fost selectat pentru

transferul de date;

2. I: este generat de IN T ERF AC E, indic and sensul de transfer al datelor: dac a I = 1

atunci transferul se face de la IN T E RF ACE spre M AC ; altfel, ˆin sens contrar;

3. E : este generat de MAC semnalizˆ and sf arsitul operat ¸iei de inmult ire.

¸si patru ie¸

siri:

a ˆincarcarea primului operand primit sincron la intrarea I N de la1. LO AD1: comand

IN T ERF ACE;

a ˆincarcarea in mo d similar a celui de-al doilea operand, si porne¸ ste2. LO AD2: comand

operat¸ia;

3. C LR: comand a ˆincarcarea valorii 0 ˆin registrul de ie¸ sire din MAC (resetare);

4. W AIT : MAC este in curs de a realiza operat ¸ia, dar registrul de ie¸sire nu cont ¸ine

ˆinca rezultatul nal.

Iesirea din circuit este organizat a ˆintr-o secvent¸ a de 4 bit ¸i, ˆin ordinea LOAD1, LO AD2,

CLR, WAIT .ˆIn schema logic a de pe pagina urm atoare este descris a comportarea automatului ilus-

trat a de funct¸iile d ¸si .

Automatul F A este de tip Mealy si are 5 st ari cu urm atoarele semni cat ¸ii:

¸ial a, ˆin care automatul a¸ steapt a s a e pornit, iar – pentru S = 1 – • q0 – starea init

ˆincarca primul operand;

• q1 – automatul a primit primul operand (ˆintr-un tact ˆin care semnalul S a fost

si a¸steapt a al doileaactivat; vezi dreptunghiul precedent, ˆin care LOAD1 = 1) ¸

operand, care se ˆincarc a ˆin primul tact ˆin care S devine activ;

steapt a sf ar situl operat ¸iei de ˆinmult ire (se genereaz a spre• q2 – este starea ˆin care se a¸

interfat¸ a semnalul de a¸ steptare W AI T = 1);

steapt a o nou a select ie; dac a este selectat M AC, testeaz a sensul de transfer • q3 – se a¸

solicitat; dac a trebuie ˆinc arcat a ˆin MAC o nou a pereche de operanzi, atunci ˆil

ˆincarca pe primul ¸ si sare la starea q1; altfel trece ˆin q4;

Page 138: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 138/200

7.6. REPREZENTAREA AUTOMATELOR FINITE 139

¸ire este terminat, rezultatul este transferat la interfat ¸ a si• q4 – pro cesul de ˆinmult

registrul de ie¸sire este cur atat.

Ec

q0 000 

c'c

0 1$$$ ES $$$ c10000010E 'cc' q1 001 T 

c'c0 1$$$ ES  c

01000000'

T

Eccq2 011 (010)

 c

'c0 1 EE

$$$c

00000001'T

Ec c

q3 010 (011) 

c'c0 1 EcS

  'c0 1 E0000 I

$$$'T

cc 0001 1000

c Ecq4 100

c0010

'T

c

¸i pentru a codi ca cinci st ari),Deci Q = {0, 1}3 (sunt necesari minim trei bit

a de secvent ¸ a de patruX = {0, 1}3 (o intrare este reprezentat ¸a EIS), Y = {0, 1}4 (secvent

 biti care co di c a ˆin ordine ie¸sirile LOAD1, LO AD2, CLR, WAIT ).

O stare este reprezentat a printr-o secvent ¸ a de trei bit ¸i Q2Q1Q0; am codi cat

q0 = 000, q1 = 001, q2 = 011, q3 = 010, q4 = 100

(este posibil a si o inversiune de notat ¸ie ˆintre q2 ¸si q3).

Page 139: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 139/200

140 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

Funct a¸ia de transfer d(Q2Q1Q0, E IS) = Q+ 0 este de nit2 Q+1 Q+

d 000 001 010 011 100 101 110 111 Q+ 2 Q+ 1 Q+ 0

000 000 001 000 001 000 001 000 001 0 0 S001 001 011 001 011 001 011 001 011 0 S 1011 011 011 011 011 010 010 010 010 0 1 E

010 010 100 010 001 010 100 010 001 SI S SI

100 000 000 000 000 000 000 000 000 0 0 0

unde pe ultimele trei coloane s-a descris formal starea rezultat a (in funct¸ie de intrare).

Putem de ni acum ecuat ¸iile care descriu semi-automatul P LA de transfer:

¸iei booleene)Q+2 = Q1Q0SI (Q2 se poate reduce prin minimizarea funct

Q+1 = Q1Q0S Q1Q0 Q1S

Q+0 = Q2Q1S Q1Q0 Q0E Q1Q0SI

Deci

d(Q2Q1Q0, EIS) = (Q1Q0SI, Q1Q0S Q1Q0 Q1S, Q2Q1S Q1Q0 Q0E Q1Q0SI)

Similar, funct ¸ia de ie¸sire (Q2Q1Q0, EIS) = (LOAD1, LOAD2, C LR, W AIT )

este de nit a prin tabelul

000 001 010 011 100 101 110 111

000 0010 1000 0010 1000 0010 1000 0010 1000 S 0 S 0001 000 0100 0000 0100 0000 0100 000 0100 0 S 0 0011 0001 0001 0001 0001 0001 0001 0001 0001 0 0 0 1010 0000 0001 0000 1000 0000 0001 0000 1000 SI 0 0 SI

100 0010 0010 0010 0010 0010 0010 0010 0010 0 0 1 0

Pe baza lui se pot scrie ecuat ¸iile care descriu P LA-ul de ie¸sire:

LOAD1 = Q2Q1Q0S Q1Q0SI, LOAD2 = Q1Q0SCLR = Q2 Q1Q0S, W AIT = Q1Q0 Q1SI

Deci

(Q2Q1Q0, E IS) = (Q2Q1Q0S Q1Q0SI, Q1Q0S, Q2 Q1Q0S, Q1Q0 Q1SI)

Graful funct¸ional (unde x, y, z {0, 1}) estexyz/0010'

Txy0/00000xy/0001xy0/0000EEE

c TTT ccc' xy1/1000 xy1/0100 1xy/0001 x01/0001E E E Eq0 q1 q2 q3 q4

&%'$

&%'$

&%'$

&%'$

&%'$

cExy 0/0010 '

T

x11/1000 c

Page 140: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 140/200

7.6. REPREZENTAREA AUTOMATELOR FINITE 141

Figura de mai jos descrie circuitul rezultat; cele dou a P LA-uri de conjunct ¸ie (cores-

 punz atoare funct ¸iilor de transfer ¸si de ie¸ sire) sunt unite ˆin unul singur (cel superior), deci

termenii comuni sunt utilizat ¸i impreun a.

 $$$

 $$$

  d d d d dS E E Edc Ed d

 $$$

 $$$

  dI E E Ed dc E

sss

 $$$

 $$$

 E E EE

EEEE

EE

c Edd

T d dT d d d d d

T d d d d dT d d d d

T d d d dT

Q+ d d d d'' Q D 0

Q0 DF F' 'Q CK 

T

Q+ d d d'' Q D 1

Q1'Q' s

CK 

Q+ dQ '' D 2

DF FDF F

Q2EEEE

' ddQ A' sCK 

BC

d

dd

d dC K Wc c c c c c c c c c c c

7.6.2 Automat pentru recunoa¸ sterea unei secvent ¸e binare

O problem a des ˆint alnit a este aceea de a recunoa¸ ste aparit ¸ia unei anumite subsecvent ¸e ˆin

cadrul unei secvent ¸e binare.

Sa construim de exemplu un automat care s a semnaleze aparit ¸ia subsecvent ¸ei 1011.Dintr-un studiu bazat pe limba je formale, un graf al acestui automat se poate construi

u¸sor:

Page 141: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 141/200

142 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

' E1/0 E0/0 1/0q0 q1

cE c'43

52 0/0T T1/10/0

A1/0 E

q3q2'

4352

43524352

0/0

De exemplu, pentru intrarea 010101101110011 ie¸sirea va 000000100100000.

Automatul avˆ and patru st ari, acestea pot codi cate folosind doi bit ¸i:

q0 = 00, q1 = 01, q2 = 10, q3 = 11

¸iile de transfer ¸ si de ie sire suntDeci Q = {0, 1}2, X = Y = {0, 1}. Funct

0 1 yd 0 1 Q+ 1 Q+ 0

00 00 01 0 x 00 0 0 001 0 0 010 0 0 011 0 1 x

01 10 01 x x

10 00 11 x x

11 10 01 x x

De aici rezult a imediat forma celor dou a P LA (de transfer ¸ si de ie sire):

d(Q1Q0, x) = (Q0x Q1Q0x, x), (Q1Q0, x) = Q1Q0x

Pentru implementare sunt necesare dou a DF F (necesare codi c arii celor patru st ari), un

codi cator elementar (pentru variabila de intrare x) ¸si dou a P LA (care au componenta

AND comun a).d dE E Es d d dx $ $$ $$

 $c Ed d d

EEdEd d

QQ

'T

dD'T

Q0 'CK 

T

QQ

'T

''

d dDDF FDF F

Q1 ' sCK 

ydc c c c E

CK 

Page 142: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 142/200

7.7. AUTOMATE DE CONTROL 143

7.7 Automate de control

Din exemplele precedente se ˆintrevede aparit ¸ia unei clase importante de automate utilizate

ˆin arhitectura unui calculator: clasa automatelor de control.Un astfel de automat este inclus ˆintr-un sistem de calcul ˆin dou a pozit¸ii principale:

• ˆIn prima pozit ¸ie despre comenzile sau¸ie (X1) automatul de control prime¸ste informat

testele pe care trebuie s a le fac a, printr-un cod care selecteaz a secvent a de control

ce va executat a;

• ˆIn a doua pozit ¸ii prin mai mult i¸ie (X2), automatul de control prime¸ste informat

 bit i, despre efectele (feedbackuri) pe care le-a avut ie sirea sa Y asupra subsistemelor 

gestionate.

M arimea si complexitatea secvent ¸ei de control necesit a ˆinlo cuirea P LA cu un ROM , cel

 put in ˆin procesul de reprezentare ¸ si testare.

Select¸ie comand aFeedback comand a

X1EX2 RO M ' R I ' 'T

Q+ QcR 

c Ec'Y

”Comanda”

Structura automatului de control folose¸ ste doi regi¸stri:

• Un registru de intrare (RI) ˆin care se face o select ¸ie a comenzii (sau testului).

• Un registru de lucru, unde se formeaz a comanda ce va trimis a c atre un anumit

subsistem.

Aplicat iile accentueaz a dou a lucruri importante:

1. Automatul poate sto ca in spat ¸iul st arilor informat ¸ii despre de nirea unei act ¸iuni

( ecare stare curent a se reprezint a printr-o linie care codi c a o aplicat ie de la spat¸iul

init ial al st arilor, la o singur a stare);

2. In majoritatea st arilor, automatul testeaz a numai un bit a at pe pozit ¸ia de adres a

a nu sunt acoperite toate situat ¸iile, problema este rezolvat a prin ad augareaX2; dac

unor st ari suplimentare, activate automat (st ari de eroare, st ari nale etc).

Pe baza acestor observat ¸ii, structura automatului de control poate modi cat a, obt in an-

du-se o form a redus a prezentat a ˆin gura urm atoare.

Page 143: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 143/200

144 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

1n

dd'

'

RO M n × EM U X '

' X1

0S0

T Tm Trr 

 pc' c E MODrr Ycc

c E NEXTT EST0

T. . . EMU XpX2

EEE

EEE

1

Deoarece secvent ¸a de comenzi poate init ¸ializat a numai prin intermediul codului X1,

acest cod se poate folosi doar pentru adresarea la prima linie de comand a din ROM , cua jutorul unei st ari prin care componenta M OD = 1.

Aceast a facilitate se realizeaz a ad aug and n EM U X-uri ¸si o nou a ie sire spre ROM

 pentru a genera semnalul M OD.

De remarcat c a ”init¸ializare”,a pentru aceste n EM U X-uri, comanda S0 = 1 ˆinseamn

a urm atoarea linie de comand a.iar S0 = 0 ˆinseamn

Aceast a mo di care permite simpli carea liniilor din ROM , o parte din informat ¸ie ind

transferat a spre preselect ¸ia comandat a de multiplexori.

A doua modi care se refer  a la intrarea X2.

Deoarece bit ¸ii asociat¸i acestei intr ari sunt testat ¸i ˆin diverse st ari, M U Xp alege ˆin

ecare stare bitul corespunz ator, folosind selectorul T EST .Deci bit ii asociat¸i intr ¸i de intrarea ˆin RO M, ad aug andu-le cˆatevaarii X2 sunt separat

condit¸ii.

¸i, la intrarea ˆin ROM se va conecta unul singur – T .Astfel ˆin lo c de circa 2p bit

Aceast a structur a lucreaz a la fel ca cea init ¸ial a, dar m arimea ROM -ului este foarte

mult simpli cat a.

Lucrand cu aceast a variant a a automatului de control, se pot realiza si alte modi c ari.

Astfel, cea mai mare parte a secvent ¸elor generate sunt organizate ca o secvent ¸e liniare.

Deci, comenzile asociate pot stocate ˆin ROM la adrese succesive ( ecare adres a din

ROM se poate obt ¸ine prin incrementarea adresei curente a ate ˆin registrul R).

Rezult a structura reprezentat a ˆin gura urm atoare:

Page 144: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 144/200

7.7. AUTOMATE DE CONTROL 145

32

10

's' ' ' T X1sROM R MU X2 '

' TS1 S0

TT Tc'Y rr2 prr  cE EIN C

T EST

c ESALT

EEE

c cMOD

ET M0 M1EM U Xp T CX2 . . . E

 Noutatea const a ˆin circuitul de incrementare IN C conectat la registrul de stare, precum ¸si

un mic circuit combinat ¸ional (T C – Circuit de testare) care codi c a semnalele M1, M0, T

ˆintr-un cod de select ¸ie pentru MU X2.

Iesirea din ROM poate privit a ca o micro - instruct ¸iune de nit a astfel:

<Micro-instruct ¸iune> ::= <Comand a><Mod><Test><Salt>

<Comand a> ::= <de nit a de structura controlat a>

<Mod> ::= J MP |CJ MP |INI T<Test> ::= <de nit de structura controlat a>

<Salt> ::= <adres a nou a de maxim 6 simboluri>

Circuitul de testare T C construie¸ ste funct¸iile de select¸ie:

S1 = M1 M 0, S0 = M1 (M0 T )

O tabel a a valorilor celor dou a funct¸ii, precum ¸si a comenzilor selectate de M U X2 pe

 baza acestor valori este:

aM1 M2 T S1 S0 Comand

0 0 0 0 0 Urm atoarea comand a

0 0 1 0 0 Urm atoarea comand a

0 1 0 0 0 Urm atoarea comad a

0 1 1 0 1 Salt1 0 0 1 1 Init ¸ializare

1 0 1 1 1 Init ¸ializare

1 1 0 0 1 Salt

1 1 1 0 1 Salt

Aceast a variant a de circuit va numit a CROM (controller cu RO M) ¸si este utilizat a ˆin

majoritatea structurilor circuitelor complexe de calculator.

Page 145: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 145/200

146 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

Exemplul 7.6 S a presupunem c a ˆin memoria ROM asociat a unei unit at i logico-aritmetice

(ALU ) ¸si gestionat a de un automat de control, se a a instruct ¸iuni aritmetice.

Sa presupunem de asemenea c a o instruct ¸iune standard are 16 bit ¸i (un semicuvˆ ant) si

este de forma

< operatie >< op1 >< op2 >< mod >< test >< adresa >

unde

1. < operatie > este o operat ¸ie aritmetic a sau logic a (adunare, sc adere, comparare,

deplasare etc) codi cat a pe 3 bit¸i, a c arei execut¸ie este asigurat a de ALU .

ate 2 bit¸i) a dou a registre de memorie unde se2. < op1, < op2 > sunt adresele (pe cˆ

a a operanzii. Rezultatul se depune ˆin < op1 >.

Dac a operat ia necesit a un singur operand, a doua adres a este 00.

3. < mod > indic a (pe un bit) modul de continuare: salt la instruct ¸iunea urm atoare

sau salt condit ¸ionat de valoarea unui anumit bit din < op1 >.

4. < test > d a – pe 3 bit¸i – adresa bitului de test (dac a < mod >= 1) sau este ignorat

(dac a < mod >= 0).

5. < adresa > cont ¸ine (pe 5 bit ¸i) adresa instruct ¸iunii din memoria ROM care va

accesat a in continuare.

Atunci memoria ROM care va cont ¸ine setul de instruct ¸iuni este un (5, 16)-codi cator.

Astfel, s a consider am c a la adresa 10110 se a a

01101101 00001001

Interpretarea va urm atoarea:

- Se execut a adunarea (cod 011 executat de ALU ) numerelor a ate ˆin regi¸strii R1 (cod

01) ¸si R2 (cod 10).

- Dac a bitul a at pe pozit ¸ia 0 (cod 000) din rezultat este 1 (situat ¸ie ˆintalnit a atunci

cand suma dep aseste lungimea standard alocat a numerelelor), atunci instruct ¸iunea care se

execut a ˆin continuare este la adresa 01001; alfel se execut a instruct ¸iunea a at a la adresa

urm atoare (10111).

Page 146: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 146/200

7.8. TRANSFORMAREA AUTOMATELOR ˆ IN CIRCUITE COMBINA-T¸ IONALE147

7.8 Transformarea automatelor ˆin circuite combina-

t

¸ionaleAtat circuitele combinat ¸ionale (0 - DS) cˆ at si automatele (2 - DS) reprezint a mo dalit ati

de implementare a funct ¸iilor booleene.

 Ne putem pune urm atoarele intreb ari:

1. Care este leg atura dintre port ¸ile unei ret ¸ele si un automat care execut a aceea¸si

funct¸ie?

2. In ce condit¸ii putem transforma un circuit combinat ¸ional intr-un automat ¸ si invers?

R aspunsul este simplu de dat ¸ si se bazeaz a pe tablouri logic programabile.

EEcsT q(t0)

c c

E EP LA Transfer P LA Ie¸sirex(t0) y (t0)

EEq(t1)T

c c c

Es EP LA Transfer P LA Ie¸sirex(t1) y (t1)

.

.

.

c

E

ssEq(tn)T c c c

ssE EP LA Transfer P LA Ie¸sirex(tn) y (tn)

c

Fie un automat Mealy cu cele dou a P LA-uri ale sale (de transfer si de ie¸ sire), starea

init ial si secvent¸a de intrare pentru primul ciclu de n tacta q(t0) ¸ ¸i: x(t0), x(t1), . . . , x(tn).

Circuitul combinat ¸ional de sus genereaz a secvent a de ie¸sire corespunz atoare

y(t0), y(t1), . . . , y(tn)

ˆIntr-adev ar, prima pereche de dou a P LA-uri (”Transfer” ¸si ”Ie¸ sire”) determin a prima

si starea urm a de a doua pereche de P LA-uriie¸sire y(t0) atoare q(t1), care va utilizat

 pentru calculul celei de-a doua ie¸ siri si st ari etc.

Page 147: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 147/200

148 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

7.9 Exercit ¸ii

1. Se d a automatul

'c

x'c c

ETc

H A HAscs

'T

c c cD DEE DF F DF F

TT

'T

Es sCK  Escc

Q0Q1

S a se arate c a poate folosit drept un counter cresc ator pe 2 bit ¸i (COU NT2).

Pe baza lui s a se construiasc a un counter descresc ator pe 2 bit ¸i

2. S a se construiasc a un counter pe trei bit ¸i (U D - COU NT3).

Se va folosi un bit de select ¸ie s cu semni cat ¸ia: cˆand s = 0 counterul va cresc ator,

iar c and s = 1, counterul va descresc ator.

3. S a se construiasc a un sumator pre x pentru cazul m = 1, n = 2.

4. Se d a automatul

s

c

ab

EEE

F A EE

''

'T

cT F F

CK 

S a se construiasc a funct ia de tranzit ¸ie, funct¸ia de ie sire ¸si graful de funct ¸ionare.

Page 148: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 148/200

7.9. EXERCIT¸ II 149

5. Aceea si problem a pentru automatul

E

Es sab Es

F A EE c

c c

'T

K J ' CK JK F FQ

6. Se d a automatul nit reprezentat de graful

0 0E ET c T c1

Eq0 q1"!

# T1 1

'cE

c E1' q2q3 00

c'"!#

"!#"!#

S a se construiasc a un circuit care s a implementeze acest automat.

Cum trebuie de nit a funct¸ia de ie¸sire pentru ca acest automat s a funct ioneze ca

un counter descresc ator pe 2 bit ¸i ?

7. Se d a automatul:

'

c

s CK 

''T F F T

sc

EE

c E

ss

x F AEE '

cc

'T

c'T F F

S a se listeze comportarea sa (tabela funct ¸iei de tranzit ¸ie, graful de tranzit ¸ie).

8. S a se implementeze automatul anterior folosind numai DF F .

Page 149: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 149/200

150 CAPITOLUL 7. SISTEME 2 - DS (AUTOMATE)

9. S a se implementeze automatul anterior folosind numai JK regi¸ stri.

10. S a se veri ce circuitul din Exemplul 7.4, ar at and c a este un counter zecimal pe 4

 bit i

11. S a se construiasc a un circuit care prime¸ ste o secvent ¸ a binar a si num ar a de c ate ori

apare subsecvent ¸a 00. Num arul de aparit ¸ii se va da pe 3 bit ¸i.

De exemplu, pentru intrarea 0101110010000110 r aspunsul este 100 (apar patru

subsecvent¸e 00).

12. S a se implementeze circuitul anterior folosind numai DF F .

13. S a se implementeze circuitul anterior folosind numai J K regi¸ stri.

Page 150: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 150/200

Capitolul 8

Sisteme 3 - DS sisteme (procesori)

Trec and la nivelul urm ator de complexitate al circuitelor, al treilea ciclu poate ˆinchis ˆin

trei variante, in funct ¸ie de cele trei tipuri de circuite prezentate anterior.

1. Cel mai simplu tip de sistem 3 -D S se obt ¸ine inchizand al treilea ciclu cu un circuit

combinat ional (de exemplu, peste un automat sau o ret ¸ea de automate, ciclul este

ˆinchis folosind un 0 - DS).

2. Al doilea tip ˆinchide al treilea ciclu folosind un tip de memorie (1 - DS).

3. A treia variant a utilizat a conecteaz a printr-un ciclu dou a automate.

Acest ultim tip este caracteristic pentru un 3 - D S, de nind ca principal a aplicat¸ie pro-

cesorul.

8.1 Automate JK - regi¸stri

Un automat este speci c unui circuit de ordin doi, dar funct ¸ia sa poate implementat a

mai e cient folosind facilit at ile oferite de sisteme cu un nivel mai ˆinalt.ˆIn aceast a sect iune vom ˆinlocui registrul de st ari al automatului, cu un mecanism mai

autonom: un ”registru” de tip JK ip - op1.

Sa vedem cum se poate ˆinlocui un D ip - op (D F F ) – circuit cu o singur a intrare

  – cu un JK ip - op (circuit cu dou a intr ari) si cum aceast a substitut ¸ie conduce la o

minimizare a complexit at ii circuitului.

1 JK - registrul astfel construit nu este propriu-zis un registru; el este o ret ¸ea de automate simpli cate,

conectate ˆin paralel.

151

Page 151: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 151/200

152 CAPITOLUL 8. SISTEME 3 - DS SISTEME (PROCESORI)

Deoarece un JK F F are o autonomie crescut a fat a de DF F , la trecerea dintr-o stare

ˆin alta semnalele de intrare pot cont ¸ine un grad mai mare de ambiguitate.

Funct ia de tranzit ¸ie a unui JK ip - op poate comandat a astfel:

• pentru tranzit ¸ia 0 - 0, J K poate 00 sau 01; vom scrie JK = 0

(” ” semni c a ”orice valoare”);

• pentru 0 - 1, JK poate 11 sau 10; deci J K = 1 ;

• pentru 1 - 0, JK poate 11 sau 01; deci J K = 1;

• pentru 1 - 1, JK poate 00 sau 10; deci J K = 0.

Putem restrˆ ange aceste reguli sub o form a unitar a:

J K = A pentru 0 - AA pentru 1 - A

De aici rezult a c a ecare tabel a de tranzit ¸ie care de ne¸ste o nou a valoare a st arii Q+i

  poaate translatat a ˆin dou a diagrame de tranzit ¸ie: una pentru Ji , a doua pentru Ki.

Exemplul 8.1 S a relu am de la diagrama funct ¸iei de tranzit ¸ie care descrie funct ¸ia d a

unui M AC (a se vedea sect ¸iunea 7.6.1)).

d 000 001 010 011 100 101 110 111

000 000 001 000 001 000 001 000 001001 001 011 001 011 001 011 001 011011 011 011 011 011 010 010 010 010010 010 100 010 001 010 100 010 001100 000 000 000 000 000 000 000 000

Ea era implementat a prin trei DF F care descriau comportamentele st arilor Q2, Q1, Q0.

 Noile diagrame de tranzit ¸ie pentru Ji ¸ si Ki pot de nite pe baza regulii anterioare,

rezult and urm atoarele dou a tabele pentru cele 6 intr  ari ale JK - registrului (J2J1J0 res-

 pectiv K2K1K0).

dJ 000 001 010 011 100 101 110 111 J + 2 J + 1 J + 0

000 000 001 000 001 000 001 000 001 0 0 S

001 00 01 00 01 00 01 00 01 0 S011 0 0 0 0 0 0 0 0 0010 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 I S I S

100 00 00 00 00 00 00 00 00 0 0

Page 152: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 152/200

8.1. AUTOMATE J K - REGIS¸TRI 153

dK 000 001 010 011 100 101 110 111 K + 2 K + 1 K+ 0

000001 0 0 0 0 0 0 0 0 0

011 00 00 00 00 01 01 01 01 0 E

010 0 1 0 1 0 1 0 1 S

100 1 1 1 1 1 1 1 1 1

Deci tabelele P LA de tranzit ¸ie sunt descrise de aplicat ¸iile

dJ (Q2Q1Q0, EIS) = (Q2 Q1 Q0 I S, Q2 Q1 Q0 S, (Q2 Q1 Q0 S) (Q2 Q1 Q0 I S))

dK(Q2Q1Q0, E IS) = ( 1 , Q2 Q1 Q0 S, Q2 Q1 Q0 E)

Deoarece cu trei bit¸i am codi cat numai cinci st ari (maximul ind opt): 000, 001, 011,

010, 100, expresiile pot simpli cate2:

Astfel, din

Q2Q1Q0 Q2 Q1 Q0 Q1 Q0 Q0

000 0 0001 0 0011 0 0010 1 1 1100 0 0

rezulta Q2 Q1 Q0 S I = Q1 Q0 S I si Q2 Q1 Q0 S = Q0 S

Similar,

Q2 Q1 Q0 E = Q1 E , Q2 Q1 Q0 S I = Q1 S I,Q2 Q1 Q0 S = Q2 Q1 S, Q2 Q1 Q0 S = Q1 Q0 S.

Deci

dJ (Q2Q1Q0, E IS) = (Q1 Q0 I S, Q1 Q0 S, (Q2 Q1 S) (Q1 I S))

dK(Q2Q1Q0, E IS) = ( 1 , Q0 S, Q1 E)

Pe baza acestor ecuat ¸ii se poate construi circuitul:

2 Reamintim, pe pozit ¸ia marcat a ” ” poate apare orice valoare.

Page 153: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 153/200

154 CAPITOLUL 8. SISTEME 3 - DS SISTEME (PROCESORI)

 $$$

 $$$

  ccE E Es d d d d d dSc Ed

 $$$

 $$$

  ccI E Es dE

E

c d d

 $$$ $$$  ccE E EE

EEEEEE

s dEc

dd

d d d d dd d d

dd dd d

J0 d d' Q J'Q0 CK ''

K0 d' Q K 

J1 Ed' Q BJ' sQ1 CK 

K1Q d' K 

'''

J2 d' Q J''

sQ2 JK F FJK F FJK F F T

CK K2 1Q K '

dd

C

A

d dEEE

d d Wc c c c c c c c c cCK 

Funct ia de ie¸ sire descris a este cea de nit a ˆin sectiunea 7.6.1.

Este evident c a distribut ¸ia punctelor ˆin cele dou a P LA-uri este mai mic a dec at cea

din solut ia dat a anterior (38 puncte fat ¸ a de 48 ˆin construct ¸ia precedent a).

Prin aceast a ˆinlocuire a ec arui DF F cu un J KF F , o parte din P LA-ul de transfer a

fost segregat ˆin structura J K - registrului.

Aceast a metod a act ioneaz a ca un mecanism care subliniaz a regularit at ile unui pro ces

¸si permite construct

¸ia de circuite mai mici ¸ si mai simple pentru aceea¸ si funct ie.

E cient¸a acestei metode este direct proport ¸ional a cu complexitatea sistemului.

Exemplul 8.2 Pentru automatul construit in Capitolul 7, sect ¸iunea 7.6.2 inlocuirea celor dou a D F F cu J KF F va cre¸ste m arimea tablourilor logic programabile.

ˆIntr-adev

ar, din funct ¸ia de transfer 

Page 154: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 154/200

8.1. AUTOMATE J K - REGIS¸TRI 155

d 0 1 Q+ 1 Q+ 0

00 00 01 0 x

01 10 01 x x

10 00 11 x x

11 10 01 x x

rezult a imediat tabelele funct ¸iilor dJ ¸si dK :

dJ 0 1 J1 J0 dK 0 1 K1 K0

00 00 01 0 x 0001 1 0 x01 1 0 x

10 0 1 x 10 1 0 x

11 11 01 10 x x

De aici pot scrise funct ¸iile de transfer (dup a reduceri):

dJ(Q1Q0, x) = (Q0 x, x), dK(Q1Q0, x) = ((Q0 x) (Q0 x), x)

Implementarea intregului automat va

x f f E E Es d d d@ @@ @@ @c Ed d dd

dEEddEd

'TT

QQ

' dJ J0''

T

Q0 CK T' dK K0

' dJ J1' sJ K F F

J K F F'T

Q1 CK Q' d dK K1

yEd

c c c c c c

C K 

Deci folosirea automatelor JK regi¸ stri este e cient a numai pentru tablouri aleatoare de

dimensiune mare.

Posibilitatea de minimizare a P LA-urilor este permis a de autonomia crescut a a JK F F

fat a de DF F . Un DF F are doar o autonomie part ¸ial a de a sta intr-o anumit a stare, pe

cand un J KF F poate evolua in spat ¸iul st arilor.

Un DF F trebuie s a ”raporteze” permanent la intrare care va urm atoarea stare (0sau 1), pe cˆ and un J KF F permite comenzi mult mai generale, J = K = 1 – care spune

”treci ˆin alt a stare” (sau J = K = 0 – ”p astreaz a starea”), f ar a a o indica exact care este

aceasta (de fapt, al doilea ciclu a jut a un JK F F s a-si cunoasc a starea curent a).

Page 155: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 155/200

156 CAPITOLUL 8. SISTEME 3 - DS SISTEME (PROCESORI)

8.2 Regi¸stri num ar atori

Exist a diverse moduri de a simpli ca un P LA, prin personalizarea unui automat.

O solut ie des ˆint alnit a const a ˆin folosirea unui num ar ator sincron setabil SCOU N Tn.

Acesta este un circuit care combin a dou a funct ii: cea de registru (ˆinc arcat la comanda

L) si cea de num ar ator (cresc ator, la comanda U ).

Din cele dou a funct ii, cea de ˆinc arcare are prioritate.

Exemplul 8.3 S a relu am circuitul MAC de nit ˆin 7.5.5. Pentru a adapta asignarea

st arilor utilizˆ and un num ar ator setabil ca registru de st ari, va trebui s a utiliz am codurile

st arilor (detaliate in schema logic a din 7.6.1).

Ideea este de a avea ˆin acea schem a logic a c at mai multe tranzit ¸ii obt inute prin incre-

mentare.

0 0E

Ecc c

i2 i1 i0S sE 0123 S0 S1

cTE E U

' CK SCOU N T3M U X2 CK EEE E L

Q2 Q1 Q0 IT

TT s

s'T

c cccc'T

f ¢ f ¢ f ¢ f ¢ f ¢Tf f f f f  ¢ ¢ ¢ ¢ ¢T f¢ f ¢ f ¢ f ¢ f ¢d d d d d

''''' sssss

c c c c cf ¢ f ¢ f ¢ f ¢ f ¢f f f f f  ¢ ¢ ¢ ¢ ¢f f ¢ f ¢ ¢ f ¢ f ¢d d d d d

''''''''

dd dd d d d

d d dd d

ddd

dd

d dd d dd d d

dd

d d d d dccccc cccccc c c c

A B C W

Construct¸ia dat a ˆin gura urm atoare pleac a de la un SC OU N T3 ¸ si un M U X2.

Multiplexorul selecteaz a funct¸ia de num arare in ecare stare, conform cu descrierea

din schema logic a.

Page 156: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 156/200

8.2. REGIS¸TRI NUM AR ATORI 157

Astfel de exemplu, din starea 000 tranzit ¸ia este dat a de contor dac a S = 1; altfel,

automatul r am ane ˆin aceea si stare.

Deci, multiplexorul selecteaz a – pentru intrarea U a contorului – valoarea lui S.Funct ia de ˆinc arcare a contorului este selectat a cu funct ¸ia L = Q2 (Q1 Q0 S I)

(extras a direct din schema logic a).

Totul se face pentru ca intr a aib a valori corecte numaiarile i0, i1, i2 ˆin SCOU N T3 s

dac a ˆin starea curent a tranzit ¸ia se poate realiza inc arcand o anumit a valoare ˆin circuitul

de control.

Deci, ˆin de nit¸ia funct¸iilor logice asociate cu aceste intr ari putem avea destul de mult a

libertate.

Va rezulta i2 = i1 = 0, i0 = Q2.Intrarea 3 a multiplexorului este Q1 S I (pentru a maximiza termenii folosit ¸i ˆin

comun de P LA).

Structura rezultat a ˆin circuitul descris anterior are o component a aleatoare minim a.

Procesul de segregare este mai adˆ anc dac a implement am circuite simple, dar de nite

recursiv.

Page 157: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 157/200

158 CAPITOLUL 8. SISTEME 3 - DS SISTEME (PROCESORI)

8.3 Automat aritmetic si logic

Cele dou a sect iuni anterioare s-au referit la exemple de circuite ˆin care al treilea ciclu se

ˆinchide intr-un circuit combinat ¸ional.Sa trat am acum un automat avˆ and un ciclu inchis printr-o memorie.

Scopul este de a sublinia efectul acestui de-al treilea ciclu in sistemele care cont ¸in

astfel de circuite.

Structura prezentat a mai jos este folosit a pentru realizarea de funct ¸ii aritmetice ¸si

logice (ALU ) cu date stocate in opt regi¸ stri de cˆ ate n bit ¸i ecare; pentru simpli carea

circuitului, nu s-au mai descris ceasurile de sincronizare; de asemenea, toate magistralelesunt de n bit ¸i.

Vom analiza dou a variante de construct ¸ie, f ar a si cu DF F conectat ˆintre CROU T -ul ¸si

CRI N -ul circuitului ALU .

< op. drept > < op. stang >

'c c

s

cDest E

E RE GIST RIT E

ccL R 

yE

ALU< sursa > S0 n × EMU X '' < f unc >

< transport >'Al doilea ciclu CRO UT CRIN

1 0 T&&

a'T

EsTET c DOUTDIN D

DF FE< reset > CLR 

Q Al treilea ciclu

C

 c E

Circuitul cont ¸ine:

• REGISTRI: o grupare de 8 regi stri de cˆ ate n bit ¸i ecare; la ecare tact sunt

selectat i doi din ei pentru a transmite codurile operanzilor drept respectiv st ang (laintrarea in ALU ); un al treilea registru este desemnat la ecare tact pentru ie¸ sire, cu

codul < op drept > (pentru select ¸ie se pot folosi dou ¸iea n × M U X3, iar la destinat

ceasul este distribuit printr-un DM U X3).

Page 158: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 158/200

8.3. AUTOMAT ARITMETIC S ¸I LOGIC 159

• ALU: are structura si funct ¸iile prezentate ˆin Unitatea aritmetic a si logic a (5.11).

• n × EMUX: inchide ciclul prin aducerea rezultatului de la ie sirea din ALU la

regi¸ arcarea regi¸ strilor cu date primite de lastri (pentru S0 = 0) sau permite ˆincintrarea DIN (pentru S0 = 1).

• D: este un DF F care genereaz a la intrarea CRIN ˆin ALU valoarea de transport

generat a la tactul precedent de ie¸ andsirea CROUT din ALU ; poate resetat activˆ

  bitul ”reset”. Prima variant a pe care o vom prezenta nu va cont ¸ine acest ip - op.

Automatul de control este un CROM (sect ¸iunea 7.7).

Varianta I

Linia de comand a primit a de la un automat de control are de nit ¸ia:

< comanda > ::= < op stang >< op drept >< f unc >< transport >< sursa >::= < reset >

< op. stang > ::= L0 | L1 | . . . | L7

< op drept > ::= R0 | R1 | . . . | R7

< f unc > ::= AN D | OR | X OR | ADD | SU B | IN C | SH L

< transport > ::= C R |

< sursa > ::= DIN |

S a presupunem c a ˆin doua perechi de regi¸stri sunt dou a numere de c ate 2n bit¸i care trebuie

adunate.

Primul num ar este sto cat in perechea de regi¸ stri (L1, L2) (L2 cont ¸ine cei mai semni-

cativi n bit ¸i); al doilea num ar este stocat similar in (R1, R2).Secvent a de comenzi care controleaz a aceast a adunare este:

L1 R1 ADD C JM P CROUT U NUL2 R2 ADD J M P DOI

U N U L2 R2 ADD C R DOI . . .

Varianta II

Aceast a variant a este un 3 - DS ˆin care ciclul se ˆinchide printr-un DF F .

Rolul ultimului ciclu este de a reduce, simpli ca ¸si a m ari viteza rutinei care realizeaz a

aceea si operat¸ie sau alte proceduri dependente.

Diferent a din linia de comand a const a ˆin eliminarea cˆ ampului < transport > ¸si

ad augarea la < reset > a de nit ¸iei

Page 159: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 159/200

160 CAPITOLUL 8. SISTEME 3 - DS SISTEME (PROCESORI)

< reset >::= RST |

Diferent a funct¸ional a const a ˆin modul ˆin care cont ¸inutul DF F - ului comand a bitul

de transport din intrarea ˆin sumator (C RI N ).

Astfel, secvent¸a de comenzi care realizeaz a suma anterioar a devine

. . . RST . . .L1 R1 ADDL2 R2 ADD

8.4 Automate stiv a

S a consider am acum (ˆin construct ¸ia 3 - DS sistemelor) varianta ˆin care al treilea ciclu se

ˆinchide printr-un automat.Acest ciclu are posibilitatea de a minimiza m arimea componentei aleatoare.

Mai mult, aceast a mic¸sorare va afecta ordinul de m arime al p art ii aleatoare (pˆ an a

acum, aceast a reducere se realiza cu o constant a).

Structura propus a – cu deosebit de multe aplicat ¸ii – este automatul stiv a.

X

. . .cXX

EF A

DI N

ST IV A'DO U T

. . .

c c ET {P U SH, P OP, }

Y

De nit ¸ia 8.1 Un automat stiv a P DA (PushDown Automaton) este construit prin legarea

ˆintr-un ciclu a unui automat nit cu o stiv a (memorie LIF O) (a se vedea Figura).

Formal, el este un 7-tuplu P DA = (Q, X, Y , Z, d, , z0), unde

• Q: mult ¸imea ( nit a a) st arilor automatului;

• X: alfabet nit nevid; secvent ¸a de intrare, cea stocat a in stiv a si cea primit a din

stiv a sunt elemente din X *.

• Y: alfabetul de ie¸ sire;

• Z : mult ¸imea de comenzi c atre stiv a: {P U SH, P O P, NO P };

Page 160: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 160/200

8.4. AUTOMATE STIV A 161

• d: funct ia de tranzit and dintr-o stare, simbolul¸ie; d : Q× X ×X - Q×X* ×Z; plecˆ

  primit ¸ si simbolul din topul stivei (T OS), automatul comut a ˆintr-o nou a stare, o

nou a valoare (eventual) ˆin stiv a, bazat a pe comand a de tip P U SH, P OP sau N OP .

Uneori pot apare ¸si comenzi de ˆinceput sau sfˆ ar¸sit de program (BE GIN, EN D).

• : funct ¸ia de ie¸sire a automatului; : Q - Y ;

¸ial a din stiv a (init¸ializarea lui T OS)• z0 : valoarea init

Este u¸sor s a ˆintelegem rolul acestui tip de ma¸sin a folosind un exemplu:

Exemplul 8.4 S a construim un automat care s a recunoasc a sirurile de forma $a&˜ a$,

¸ia este un P DA descris de schema logic a urm atoare:unde $, & X, a X *\{$, &}. Solut

E

cq0

c

'T

0 1 E 'r ¨¨¨rrr 

¨a=$r  ¨ Tcr ¨

q1

c

'c

1 0 ¨¨rrr EE¨r  a=&

r  ¨ c¨r q2 PU SH a

c Ec

'c 0 1 Er ¨¨¨rrr 

¨a=$r  ¨r ¨ c

1 0¨rrr ¨¨¨rrr  ' E E'a=T OS 0 1¨r ¨r  T OS=Z0r r ¨ ¨ T¨r ¨r E

c'

c cq3q4P OP

 'T

c c cEROARE OK  

'T

c c E

Semni cat ¸ia ec areia din cele 5 st ari este:

¸ial a, c and se a¸ steapt a primul caracter $.• q0: este starea init

a stare, simbolurile primite sunt puse ˆin stiv a (P U SH); la recept ¸iona-• q1: ˆin aceast

rea lui & automatul comut a ˆin starea urm atoare.

Page 161: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 161/200

162 CAPITOLUL 8. SISTEME 3 - DS SISTEME (PROCESORI)

arful stivei (T OS); dac a cele dou a carac-• q2: ecare simbol primit este comparat cu vˆ

tere sunt egale, stiva elimin a caracterul comparat (P OP ); dac a simbolul primit este

$ iar T OS cont a situat¸ie, automatul¸ine z0, automatul trece ˆin starea q3; ˆin orice alt

trece ˆin starea q4.

ste secvent¸a primit a ca ind corect a; este o stare nal a de• q3: automatul recunoa¸

acceptare.

¸a primit a ca ind incorect a; este o stare nal a de• q4: automatul respinge secvent

eroare.

Formal, automatul stiv a este M = (Q, X, Y, Z, d, , z0) unde:

Q = {q0, q1, q2, q3, q4},

X = {z0, $, %} V unde V este un alfabet arbitrar, de nit separat,

Y = {OK, E ROARE, },

Z = {P U SH, P OP, N OP, B EGIN, EN D},functia de tranzit ¸ie

d(q0, a, z0) = (q0, z0, N OP ), d(q1, a, b) = (q1, ab, P U SH a), a = &, b V {z0}

d(q0, $, z0) = (q1, z0, B EGIN ) d(q1, &, b) = (q2, b, N OP )

d(q2, a, a) = (q2, , P OP a), a = $ d(q2, a, b) = (q4, b, N OP ), a = b, a = $

d(q2, $, z0) = (q3, , EN D), d(q2, $, a) = (q4, a, N OP ), a = z0

¸si funct

¸ia de ie¸sire

(q0) = (q1) = (q2) = , (q3) = OK, (q4) = ERO ARE.

Secventa de comenzi c atre stiv a poate interpetat a (¸si implementat a) ca un micro-

 program care opereaz a cu ¸siruri de caractere.

De remarcat c a rezolvarea acestei probleme folosind un automat nit este posibil a nu-

mai pentru un alfabet X mic ¸ si siruri de intrare mici.

Marimea ¸si complexitatea automatului va depinde direct de ace¸ sti doi parametri. Orice

modi care a lor va schimba complet circuitul.ˆIn cazul utiliz

arii un automat stiv a ˆins a, m arimea sirului de intrare nu are nici o

legatur a cu dimensiunea sau forma automatului.

Aici, partea simpl a (stiva in nit a) este separat a de cea complex a (automatul nit, cu

5 st ari).

Observat ¸ia 8.1 De nit ¸ia automatului stiv a este foarte asem an atoare cu de nit ¸ia trans-

latorului stiv a de la limbaje formale. Diferent ¸ele sunt minore: acolo se lucreaz a cu un

automat de tip Mealy, alfabetul stiv a este distinct de alfabetul de intrare, se pot folosi

de nit¸ii nedeterministe (care – atent ¸ie – nu sunt echivalente cu cele deterministe).

Page 162: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 162/200

8.5. PROCESORUL ELEMENTAR 163

8.5 Procesorul elementar 

Cel mai reprezentativ circuit din 3 - DS este procesorul; el se remarc a prin exibilitate

¸si posibilit

at i funct¸ionale mult dezvoltate.

De nit ¸ia 8.2 Un procesor P este un circuit care leag a printr-un ciclu un automat arit-

metico - logic cu un automat de control.

Funct ia unui procesor P este speci cat a prin secvent ¸a de comenzi stocat a ˆin RO M.

Fiecare secvent¸ a reprezint a un microprogram ¸si const a dintr-un ¸sir de micro - instruct ¸iuni.

O micro - instruct ¸iune este compus a din comenzi executate de automatul aritmetico -

logic (ALU ), ¸si c ampuri care permit selectarea urm atoarei micro - instruct ¸iuni.

Pentru a ˆint¸elege mecanismul principal folosit de acest al treilea ciclu, ne vom referi

ˆin principal la procesorul elementar.

Un pro cesor elementar EP este un procesor care execut a numai o secvent ¸ a de control,

adic a automatul de control (CROM ) asociat este un automat de init ¸ializare, f ar a intrarea

de init ¸iunea 7.7).¸ializare X1 (a se vedea circuitul CROM , sect

'c  b T

&&&RnE Al doilea ciclusT c EcA B

Al treilea cicluADDn

d ddCR S c Es'

c

's E

TMSBcccc

0 1 2 3

n × MU X2' T'

S1

S0T

c EE sDI N DO U T

cEEE

ECROMWI N W RIT E

WO U TREAD

Un sistem simplu de P E este dat ˆin gura de sus, unde s-a detaliat numai automatul

aritmetico - logic.

Page 163: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 163/200

164 CAPITOLUL 8. SISTEME 3 - DS SISTEME (PROCESORI)

a simultan ie¸ sirea sect iunii aritmeticoPachetul de n multiplexori n × M U X2 selecteaz

- logice ¸ arimile magistralelor de date).si intrarea ˆin registrul Rn (nu s-au mai precizat m

Selectiile efectuate de el sunt:

• IN: intrarea de date DIN , accesibil a pentru comanda S1S0 = 00;

arul (de n bit• ADDn: suma dintre num ¸i) oferit de DIN si cont ¸inutul registrului Rn,

 pentru comanda S1S0 = 01;

• REG: cont ¸inutul registrului paralel Rn, pentru comanda S1S0 = 10;

• RSH0: cont ¸ie (avˆand 0 pe cea¸inutul registrului Rn deplasat spre dreapta cu o pozit

mai semni cativ a pozit a de M SB = 0;¸ie), pentru comanda S1S0 = 11 completat

• RSH1: cont ¸ie (avˆand 1 pe cea¸inutul registrului Rn deplasat spre dreapta cu o pozit

mai semni cativ a pozit a cu MSB = 1.¸ie) pentru comanda S1S0 = 11 completat

Automatul este un C ROM speci c unei funct ¸ii, care comand a automatul aritmetico -

logic prin intermediul grupului de trei bit ¸i (S0, S1, M SB); el prime¸ste comanda de la

ie¸sirea CR a sumatorului.

De asemenea, acest CROM controleaz a leg aturile procesorului. EP este conectat cu

un sistem din care prime¸ si c aruia ˆiiste date prin READ ¸si WI N (intrare de a¸steptare) ¸

trimite ie¸sirile WRIT E ¸ si WOUT (ie¸sirea de a¸steptare).

Descrierea funct ¸ional a este completat a prin limbajul de microprogramare al acestui

 procesor, de nit sintactic astfel:

< micro - instructiune > ::= < comanda >< mod >< test >< salt >

< comanda > ::= < f unctie >< iesire >

< mod > ::= J MP | CJ M P | INI T |

< test > :: = C R | WIN | W OU T |

< salt > ::= < orice marc a de maxim 6 caractere >

< f unctie > ::= IN | ADD | RE G | RSH 0 | RSH 1

< iesire > ::= READ | W RIT E |

Exemplul 8.5 Singurul micro-program executat de procesorul elementar descris mai sus prime¸ste un sir de numere ¸ si genereaz a alt ¸sir de numere reprezent and mediile aritmetice

ale ec arei perechi succesive.

Utiliz and limbajul de micro-programare astfel de nit, rezult a urm atorul microprogram:

Page 164: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 164/200

8.5. PROCESORUL ELEMENTAR 165

UN U I N READ CJMP W IN U N U

DOI READ CJMP W IN D OI

ADD CJMP CR T REI

RSH 0

OU T REG W RIT E CJMP W OU T Z ERO

J MP U NU

T REI RSH 1 J MP OU T

ZERO . . .

Pe prima linie, controlerul a¸steapt a primirea primului num ar, ˆinc arc and ˆin Rn orice

con gurat ¸ie binar a; cˆ arcare pune in registru valoareaand WI N devine inactiv, ultima ˆinc

corect a.

A doua micro - instruct ¸iune a¸ steapt a al doilea num ar; la sosirea acestuia, micro-

  programul merge la linia urm atoare.

A treia linie adun a cont inutul registrului cu num sirea CR estearul sosit ˆin DIN , iar ie¸testat a pentru a alege deplasarea corespunz atoare.

Dac a CR este activ, urm atoarea instruct ¸iune este la adresa T RE I; altfel se trece la

micro - instruct ¸iunea urm atoare.

A patra si urm atoarele micro - instruct ¸iuni efectueaz a deplas arile spre dreapta core-

spunz atoare (adic a ˆimpart irea), nalizˆ and calculul mediei dintre numerele primite.

Linia OU T trimite afar a rezultatul, iar receiverul con rm a primirea.

Saltul (J M P ) la U N U reporne¸ ste (la nesfˆ ar¸sit) procedura pentru urm atoarea pereche

de numere.

Structura de ansamblu a unui EP nu ”spune” nimic despre funct ¸ia realizat a.Aceast a funct ie este de nit a numai prin cont ¸inutul ROM -ului din C ROM . Structura

simbolic a stocat a ˆin ROM combin a facilit at i funct¸ionale simple ale automatului efectiv,

adic a este un automat aritmetico - logic.

Componenta aleatoare este concentrat a ˆin ROM, al c arui cont¸inut formeaz a singura

structur a complex a a sistemului – structur a de tip simbolic (micro - programare).

Page 165: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 165/200

Capitolul 9

Sisteme 4 - DS

Ultimul exemplu din sect ¸iunea 8.5 subliniaz a destul de clar procesul speci c unui 3 - DS:

funct ia sistemului devine tot mai put ¸in dependent a de structura zic a si tot mai str ans

legat a de o structur a simbolic a (de exemplu, micro-programe).

Structura zic a (bazat a pe circuite) r am ane simpl a, pe cˆand cea simbolic a – ”stocat a”

ˆin ROM (eventual convertit in P LA) – presupune o anumit a complexitate funct ¸ional a.

Al patrulea ciclu creaz a condit iile pentru dependent ¸a funct¸ional a total a fat a de struc-

tura simbolic a.

9.1 Tipuri de sisteme de ordin 4

Exist a patru tipuri principale de astfel de sisteme, in funct ¸ie de ordinul sistemului prin

care este inchis al patrulea ciclu; ele pot reprezentate schematic astfel:

1. 4 - DS avˆ and ultimul ciclu inchis printr-un 0 - DS; circuitul combinat ¸ional de

ˆinchidere este un RO M sau P LA, cont ¸in and programe interpretate de procesor.

Programe

¡¡¡PROCESOR ROM

0-DS

TTc'

T DAT Ec E ADRESE

c EREAD

'T

cW AI T

167

Page 166: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 166/200

168 CAPITOLUL 9. SISTEME 4 - DS

2. 4 - DS cu ultimul ciclu ˆinchis printr-un 1 - DS; acesta este computerul, cea

mai reprezentativ a structur a de acest ordin; a doua component a este un RAM care

stocheaz a date ¸ si programe.

Date ¸si programe

¡¡¡P ROCESOR RAM

1-DS

TTc'T DAT Ec E ADRESE

c E{READ,W RI T E, }

'T

cW AI T

3. 4 - DS avˆ and ultimul ciclu inchis printr-un 2 - DS; automatul de ˆinchidere este

reprezentat printr-o stiv a care cont ine datele de lucru (sau secvent ¸eˆin care distinct ¸ia

dintre date ¸si programe nu are loc – cum este de exemplu programarea ˆin limbajul

LISP );

Date¡¡¡PROCESOR LIF O

2-DS

TT

c E{P USH,P OP, }

cW AI T'T T DAT E

4. 4 - DS cu ciclul nal ˆinchis printr-un 3 - DS; acesta este co-procesorul (procesor 

specializat in executarea performant a a anumitor funct ¸ii critice ale sistemului).

ˆIn majoritatea cazurilor, co-procesorul este un pro cesor aritmetic.

Funct¸ii

¡¡¡PROCESOR CO-P ROCESOR 

3-DS

TT T

c ECOMEN ZI

c'T DAT E

W AI T

Page 167: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 167/200

Page 168: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 168/200

170 CAPITOLUL 9. SISTEME 4 - DS

9.2 Stive organizate ca n - DS

ˆIn structura unui computer pot ˆintˆ alnite anumite structuri hibride implementate ca

sisteme digitale cu mai multe cicluri.

O astfel de structur a este cea de stiv a (care poate realizat a prin cel put ¸in dou a

cicluri).

Exist a diverse solut¸ii pentru implementarea funct ¸iei de stiv a ca memorie LIF O (last-

in- rst-out).

O variant a de constructie se bazeaz a pe o de nit ¸ie recursiv a simpl a:

LIF O1

'T

0

12

EE s s EEIN DIN EX TO UT

Ec E Em×MU X2 Rm 'LIF On -1

Ec''OU T DOU T EX TIN

S1 S0

'T

TT c

ss E{PU SH,POP, }

De nit ¸ia 9.1 O stiv a prin extensie serial a a unuia LIF On pe n nivele poate construit

LIF On-1 cu un LIF O1 (vezi Capitolul 7). Stiva de nivel 1 este un registru Rm conectat

arui selectori asigur a secvent a de control de nit a:ˆin ciclu cu un m × M U X2, ai c

• NO OP: cˆ ¸inutul registrului nu se modi c a;and S1S0 = 00 – cont

arcat cu valoarea de intrare IN ;• PUSH: S1S0 = 01 – registrul este ˆinc

arcat cu valoarea de intrare extins• POP: S1S0 = 10 – registrul este ˆinc a EX TIN .

Evident, LIF On este un registru de deplasare serial - paralel.

Deoarece cont inutul unui astfel de registru poate deplasat in ambele direct ¸ii, ecare

a feluri de cicluri:Rm este inclus ˆin dou

• Prin propriul s au multiplexor (pentru funct ¸ia NO OP;

• Prin dou a LIF O succesive.

Deci, LIF O1 este un 2-DS, LIF O2 este un 3-DS, . . . , LIF On este un (n +1)-DS.

Acesta este un exemplu de circuit implementat folosind un num ar arbitrar de cicluri

incluse unul ˆin altul. Utilizarea lui este ˆins a strict subsumat a unui circuit de tip 4 - DS,

adic a unui computer.

Page 169: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 169/200

Capitolul 10

Structura unui computer la nivel de performant ¸ a

ˆIn arhitectura unul calculator, construct ¸iile componentelor la nivel de registru sau procesor 

se preteaz a mai put ¸in la o analiz a formal a (comparativ cu nivelul circuitelor, bazate pe

 port¸i logice).

Motivul rezult a din di cultatea de a descrie precis comportarea sistemului dorit.

A spune c a trebuie construit un calculator care s a execute e cient toate programele

este o a rmat ¸ie mult prea vag a.

Drumul parcurs a fost preluarea unei structuri standard cu performant ¸e cunoscute si

modi carea ei pentru a o adapta noilor cerint ¸e.

Criteriile de performant ¸ a ale unui calculator pot rezumate in urm atoarele cerint ¸e:

• Calculatorul s a e capabil s a execute a instruct ¸iuni de tip b pe secund a.

• Calculatorul s a e capabil de a accesa c memorie sau dispozitive periferice de tip d.

• Calculatorul trebuie s a e compatibil cu calculatoare de tip e.

• Costul nal al sistemului s a nu dep a¸seasca f .

171

Page 170: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 170/200

172CAPITOLUL 10. STRUCTURA UNUI COMPUTER LA NIVEL DE PERFORMANT¸ A

10.1 Structuri standard

¸iilor generale,Sistemele de calcul cele mai cunoscute1 sunt calculatoarele dedicate aplicat

care difer a ˆintre ele mai ales prin num arul componentelor folosite si prin gradul de au-tonomie.

Varietatea interconexiunilor sau structurilor de comunicat ¸ie folosite este foarte re-

str ans a.

ˆIn linii mari, sistemele de calcul utilizate sunt structurate dup a una din schemele

urm atoare:

1. Structura folosit a de prima generat ¸ie de computere si de multe sisteme mici de

microprocesoare actuale este:

Unitate central a MemorieCP U M

 

MagistraleI CN

3  3  33333  

. . .Periferice IO D1 D2 Dk 

2. Ad augarea de procesoare specializate pentru structurile de intrare/ie¸sire (IO) este

un proces tipic pentru calculatoare incepˆ and cu doua generat ¸ie.

O structur a general a care subliniaz a gradul de complexitate al unor astfel de sisteme

de calcul este prezentat a ˆin pagina urm atoare.

Componenta de circuit notat a IC N reprezint a o ret¸ea de interconexiune care con-

troleaz a comunicat¸iile procesor - memorie.

Aceste dou a variante de sisteme prezentate sunt de tip mono-pro cesor.

1 Reamintim – cele mai utilizate sisteme de calcul sunt micro-controllerele (Capitolul 1).

Page 171: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 171/200

10.1. STRUCTURI STANDARD 173

Unitate central a CPU

Memorie principal a

Memorie cacheCM M

Magistrale sistem I CN

Procesoare IO IOP1 IOP2

. . .Periferice IO D1 D2 D3 Dk 

3. O structur a standard pentru un multi-procesor este descris a mai jos (pentru dou a

 pro cesoare). Variantele anterioare sunt cazuri particulare ale acestuia.

Unit at i centraleCP U1 CPU2

Memoria principal a

. . .Memorii cache CM1 CM2 M1 M2 Mm

Ret¸ea de I CNcomutat¸ie

Procesoare IO I OP1 IOP2 IOPn

. . .. . .

Periferice IO D1 D2 D3 Dk 

4. Structuri mai complexe (de exemplu ret ¸ele de calculatoare) se pot obt ¸ine prin

conectarea mai multor astfel de structuri.

Page 172: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 172/200

174CAPITOLUL 10. STRUCTURA UNUI COMPUTER LA NIVEL DE PERFORMANT¸ A

10.2 M asurarea performant ¸elor unui sistem

Majoritatea performant ¸elor unui calculator rezult a din caracteristicile unit atii sale cen-

trale de prelucrare (CP U ).

Viteza sa de lucru este m asurat a u sor – dar grosier – prin frecvent ¸a f de ceas, dat a ˆin

megahert¸i. Pot dat ¸i insa ¸si alti indicatori de performant ¸ a, cum ar :

1. Viteza medie de execut ¸ie a instruct ¸iunilor (MI P S).

Este num arul mediu de tact ¸i folosit i de CP U pentru executarea unei instruct ¸iuni.

Ea este legat a de timpul mediu T ( in microsecunde – µs) necesari pentru execut ¸ia

a N instruct ¸iuni, conform formulei

T = N × CP If µs

¸ie al unei instruct ¸iuni esteDeci timpul mediu tE de execut

tE = T N = CP If µs

Dac a f depinde ˆin principal de tehnologia circuitului integrat, folosit a pentru imple-

mentarea CP U , CP I (num arul mediu de cicluri per instruct ¸iune) depinde in primul

r and de arhitectura sistemului.

si o alt a formul a, considerˆand distribut ¸ia instruct ¸iunilor de2. Pentru tE se poate da ¸

diverse tipuri si viteze in prelucrarea unor programe standard.

¸iuni reprezentative.Fie I1, I2, . . . , In un set de tipuri de instruct

  Not ¸ie (ˆin µs) al unei instructam cu ts timpul mediu de execut ¸iuni de tipul Is si ps

 probabilitatea de aparit ¸ie a instruct ¸iunilor de tipul Is ˆintr-un co d obiect standard.

Atunci timpul mediu de executare al unei instruct ¸iuni este dat de formula

piti µstE = n

i=1

¸ine u¸sor din speci cat ¸iile C P U , dar valori cˆat mai corecteValori pentru ti se pot obt

¸inute numai pe cale experimental a.  pentru pi pot obt

3. Performant ¸e legate de memorie.

M arimea memoriei principale si a memoriei cache pot oferi indicat ¸ii (destul de vagi)

despre capacitatea sistemului.

Page 173: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 173/200

10.3. MODELE BAZATE PE COZI 175

Un parametru de memorie legat de viteza de calcul este l atimea de band a: rata

maxim a – in milioane de bit ¸i per secund a (M b/sec) la care informat ¸ia poate

transferat a spre ¸si de la unitatea de memorie.

L atimea de band a afecteaz a performant ¸ele CP U deoarece viteza de procesare este

limitat a ˆin ultima instant ¸ a de rata la care instruct ¸iunile si datele pot accesate sau

memorate.

4. O m asur a a performant ¸ei – des solicitat a – este costul execut arii de c atre sistem a

unui set de programe reprezentative.Acest cost poate timpul total de execut

¸ie T (incluzˆand act iunile legate de memorie,

memorie cache, CP U , ¸ si alte sisteme componente).

Un set de programe reprezentative pentru un mediu de calcul particular poateutilizat pentru evaluarea performant ¸ei ˆintregului sistem.

Adesea setul de programe este un standard construit special pentru evaluare.

10.3 Modele bazate pe cozi

Pentru a sublinia important ¸a model arii analizei performant ¸elor unui sistem de calcul, vom

detalia o aproximare bazat a pe teoria cozilor. Prezentarea este pur informal a, deoarece

necesit a cuno stint¸e destul de avansate de probabilit at i.

Mo delul coad a – spre deosebire de stiv a – este un mo del de tip FIFO2.

Reprezentarea sa general a este dat a de gura:

Resursecomune

T

c

EEE Coad a Server DateDate

Sistemul ”o coad a - un server”

Este reprezentat un server (de exemplu un CP U sau un computer) cu un set de

 programe care trebuie executate.

2 sau M/M /1 (din rat ¸iuni istorice)

Page 174: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 174/200

176CAPITOLUL 10. STRUCTURA UNUI COMPUTER LA NIVEL DE PERFORMANT¸ A

Sarcinile sunt activate sau sosesc la momente arbitrare ¸ si sunt stocate in coad a, p an a

ce sunt prelucrate de CP U .

Parmetrii cheie ai modelului sunt rata ˆin care vin sarcinile ¸ si rata de prelucrare; ambele

sunt m asurate ˆin sarcini/sec.

Mediile venirii sarcinilor ¸ si media preluc arii lor sunt notate cu respectiv µ.

Sosirea si procesarea variaz a aleator ¸si aceste valori medii sunt determinate prin calcule

statistice. Ultima va caracteriza comportamentul sistemului modelat.

Vom nota = /µ; acesta este utilizarea medie a serverului, adic a fract¸iunea de timp

cat este ocupat (ˆin medie).

De exemplu, dac a vin ˆin medie dou a probleme pe secund a ( = 2) ¸ si serverul le poate

 procesa cu o rat a medie de 8 probleme pe secund a (µ = 8), atunci = 2/8 = 0.25.

Sosirea problemelor in sistem este un proces aleator caracterizat de distribut ¸ia timpului

¸in o problem a s a soseasc a intr-o perioad a dedintre sosiri I (t): probabilitatea ca cel put

timp de lungime t.

Cazul M/M/1 presupune o sosire de tip Poisson, unde probabilitatea de distribut ¸ie

este

I (t) = 1 - e- t

a s a e realizat de CP UFie pS(t) probabilitatea ca serviciul solicitat de o problem

ˆintr-un timp maxim t dup a eliminarea ei din coad a.

Procesul de servire este modelat de o formul a Poisson similar a

 pS(t) = 1 - e-µt

Pentru caracterizarea performant ¸elor unui sistem cu o singur a coad a pot folosit ¸i diver si

 parametri.

De exemplu:

• Utilizarea lui , care d a fract¸iunea medie de timp cˆ at serverul este ocupat.

• Num arul mediu de probleme a ate ˆin coad a (atˆat cele care a¸steapt a prelucrarea cˆ at

¸si cele care sunt ˆin faza de procesare).Parametrul este numit lungime medie a cozii ¸

si este dat de formula (Robertazzi -

1994)

lQ =1 -

• Timpul mediu ˆin care problemele a¸ steapt a prelucrarea precum si timpul de prelu-

crare; este numit timpul mediu de a¸ steptare tQ.

Page 175: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 175/200

Page 176: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 176/200

Page 177: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 177/200

Page 178: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 178/200

(c) 986210 = 00100110100001102, 2004310 = 0100111001001011,

- 1855210 = 1011011110001000 (co d complementar).

0010011010000110+0100111001001011+1011011110001000 = 0010110001011001

(bitul nal de transport s-a ignorat), valoare binar a ce corespunde num arului

11353.

4. Pentru x - y se efectueaz a urm atorii pa¸si:

(a) Se transform a y ˆin cod invers;

(b) Se adun a x cu aceast a valoare ¸si se ignor a bitul nal de transport;

(c) Dac a rezultatul este negativ, se trece ˆin co d invers;

(d) Dac a rezultatul este pozitiv, se adun a 1.

5. 648910 = 11001010110012 = 1, 100101011001 · 212

-0, 110 = -0, 00011(0011)2 = -1, 1(0011) · 2-4

85

256 = 2-2 + 2-4 + 2-6 + 2-8 = 0, 010101012 = 1, 010101 · 2-2

6. Pentru primul num ar: C = 12 + 127 = 13910 = 100010112, f = 100101011001.

Deci reprezentarea lui 6489 ca num ar real pe 32 bit ¸i este

0100 0101 1100 1010 1100 1000 0000 0000

Pentru u¸surint ¸ a, aceste reprezent ari se scriu ˆin hexazecimal. Sub aceast a form a,num arul este 45 C A C8 00.

Pentru al doilea num ar: C = -4 + 127 = 12310 = 011110112,

f = 10011001100110011001100. Deci reprezentarea lui -0, 1 ca num ar real pe 32

 bit i este

1011 1101 1100 1100 1100 1100 1100 1100

sau – ˆin hexazecimal: BD C C CC CC.ˆIn mod similar se rezolv

a si restul exercit ¸iului.

7. 2-109(2+2-2+2-3+2-5+2-7+2-8+2-10+2-14+2-15+2-17+2-19+2-21+2-23+2-24).

180

Page 179: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 179/200

Capitolul 3:

1. Aplic am pe rˆand axiomele 7, 9 ¸ si 6 din De nit ¸ia algebrelor booleene si obt inem

a (a b) = (a a) (a b) = 1 (a b) = a b

A doua relat ¸ie se demonstreaz a analog.

2. Cele trei axiome ale relat ¸iei de ordine (re exivitate, antisimetrie, tranzitivitate) se

veri c a imediat. Se pot scrie echivalent ¸ele

  b = a a = a b a = a = a b = a b

Atunci a b = (a b) b = b deci a = b.

3. a = b a b = b a b = a (a b) = a (a b) = (a a) b = 0

a b = 0 a b = 1 a b = 1

4. a b = 0 a b = 0 b a = 0 b = a

5. Primele patru propriet at i din Propozit ¸ia 3.1 se veri c a prin calcul simplu.

Proprietatea 5: a b = c = a a b = a c = 0 b = a c = b = a c

Proprietatea 6: a b c = (a b) c = c c = 0Proprietatea 7: (a b) (a c) = [(a b) (a c)] [(a b) (a c)] = [(a b)

(a c)] [(a b) (a c)] = [(a a c) (b a c)] [(a a b) (c a b)] =(a b c) (a b c) = a [(b c) (b c)] = a (b c)

Propozit¸ia 3.2:

(1) : a b = (a b) (a b) = (a b) (a b) = (a b) (a b) = a ~ b

(2) : a ~ b = (a b) (a b) = (a b) (a b) = a ~ b

Propozit¸ia 3.3: Implicat ¸iile (3) = (1), (3) = (2) sunt banale.

(1) = (2) : a ~ b = a b = 0 = 1(2) = (3) : Presupunem (a b) (a b) = 1. De aici se obt

¸ine (exercit ¸iu)

a b = 1 ¸ si a b = 1 deci (Exercit ¸iul 3) a = b ¸si b = a = a = b.

6. Tabela este construit a pe pagina urm atoare.

7. -

181

Page 180: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 180/200

f15 f14 f13 f12 f11 f10 f9 f8 f7 f6 f5 f4 f3 f2 f1 f0

f0 4 3 3 2 3 2 2 1 3 2 2 1 2 1 1 0

f1 3 4 2 3 2 3 1 2 2 3 1 2 1 2 0f2 3 2 4 3 2 1 3 2 2 1 3 2 1 0

f3 2 3 3 4 1 2 2 3 1 2 2 3 0

f4 3 2 2 1 4 3 3 2 2 1 1 0

f5 2 3 1 2 3 4 2 3 1 2 0

f6 2 1 3 2 3 2 4 3 1 0

f7 1 2 2 3 2 3 3 4 0

f8 3 2 2 1 2 1 1 0

f9 2 3 1 2 1 2 0

f10 2 1 3 2 1 0

f11 1 2 2 3 0

f12 2 1 1 0f13 1 2 0

f14 1 0

f15 0

8. Cele dou a operat¸ii sunt (diferent ¸a simetric a) si intersect ia.

9. Similar demonstrat ¸iei din Teorema 3.10, se consider  a xn = 0 ¸ si xn = 1.

10. -

11. Ambele expresii bo oleene se reduc la c.

12. Ambele expresii se reduc la a b.

Cele dou a forme normale sunt: (a + b + c)(a + b + c) (normal conjunctiv a) si

abc + abc + abc + abc + abc + ab c (normal disjunctiv a).

Capitolul 4:

1. Not and cu || operatorul She er (N AN D), principalele operat ¸ii bo oleene se de nesc

astfel:

a = a||a, a b = (a||a)||(a||a), a b = (a||b)||(a||b)

Circuitele sunt:

182

Page 181: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 181/200

a b a bE'

c

s'c c c

E sssa c c c c

Es & % & %&% & %'c

d d d d'c c Ec c

c c c Ec c

&% &% &%d d dccc

a a b a b

2. Similar cu exercit ¸iul precedent:

a b a bEs

E ' ' sssa

c c c c c c cc 

Es & % & %&% & %'c

'c

d d d dc E c c E c

c c c c© © ©&% &% &%d d d

ccca a b a b

3.a 0 0 0 0 1 1 1 1

 b 0 0 1 1 0 0 1 1

c 0 1 0 1 0 1 0 1

x 0 1 0 1 0 1 1 1

y 1 0 1 0 0 0 1 04. Din tabelul de valori se determin a imediat forma normal disjunctiv a:

f (a, b, c) = a bc + abc + abc + abc + abc

Se poate construi un circuit direct pentru aceast a funct ie.

Alt a variant a este de a simpli ca intˆ ai funct ia, dup a care se construie¸ ste un circuit

corespunz ator acestei noi reprezent ari.

 Nu exist a un algoritm determinist pentru simpli carea unei funct ¸ii booleene. ˆIn

consecint a, forma g asit a prin simpli care nu este unic a.

Pentru funct ¸ia din acest exercit ¸iu, o modalitate de reducere este:

f (a, b, c) = ac(b + b) + (a + a)bc + (a + a)bc = ac + bc + bc = ac + b(c + c) = ac + b

Circuitul:

183

Page 182: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 182/200

Page 183: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 183/200

Page 184: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 184/200

Page 185: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 185/200

Page 186: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 186/200

Page 187: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 187/200

Page 188: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 188/200

Page 189: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 189/200

x0 x1 x2 x3 s1 s2 c1 c2 s c

0 0 0 0 0 0 0 0 0 0

0 0 0 1 0 1 0 0 1 00 0 1 0 0 1 0 0 1 00 0 1 1 0 0 0 1 1 00 1 0 0 1 0 0 0 1 00 1 0 1 1 1 0 0 0 10 1 1 0 1 1 0 0 0 10 1 1 1 1 0 0 1 0 11 0 0 0 1 0 0 0 1 01 0 0 1 1 1 0 0 0 11 0 1 0 1 1 0 0 0 11 0 1 1 1 0 0 1 0 11 1 0 0 0 0 1 0 0 1

1 1 0 1 0 1 1 0 0 11 1 1 0 0 1 1 0 0 11 1 1 1 0 0 1 1 1 0

14. Un circuit bazat pe codi catori simpli (f ar a acces):

0 i0i1i2i3i4i5i6

c c c ccccci3 i2 i1 i0 i3 i2 i1 i0' ' ZZ y1 y0 PE2 P E2

y1 y0

'

c

c E c''

c

c E cc E c

c c c ci0i1i0i1i0i1

EEEPE EMU X EMU X

TT

Ess

c c c c

Z y2 y1 y0

Dac a folosim construct ¸ia recursiv a bazat a pe co di catori cu acces, avem:

191

Page 190: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 190/200

Page 191: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 191/200

Page 192: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 192/200

X Y

44 rr rr c c

4 - F A

c c c c

8 7 EsEcs

c

& % e

c c c< = >

19. Un P LA pentru funct ¸ie:

E E Edx s$ $$ $$ d $ dc Ed

y d dE E Ed ds$ $$ $$ 

$ c Ed

 d dE E Eddz s2 22

 2 

2 2c Ed

EEE

f1d dd dd d

f2c c c c c

f3

Pentru circuitul P RO M este nevoie de tabela de valori (sau – echivalent – de formanormal disjunctiv a):

x 0 0 0 0 1 1 1 1y 0 0 1 1 0 0 1 1

z 0 1 0 1 0 1 0 1

f1 1 1 1 1 0 0 0 1

f2 0 1 0 0 1 1 1 1

f3 0 0 1 0 1 1 1 1

EEEEEE

x E E s dddd$ $$ $$ d $ dc dddd

y d dE E s d d d d$ $$ $$ 

$ c d d d d

 d dE Ez s d d d f  2 2

2 22  2  EEE

c d d ddd d d d d f1

d d d d d f2ddddd f3c c c c c c c c

y7y6y5y4y3y2y1y0

194

Page 193: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 193/200

Capitolul 6:

1. Se folose¸ste faptul c a a > b este echivalent cu a + b > 11 . . . 1. Deci se testeaz a bitul

de semn al sumei a + b. Acesta va selectorul a n multiplexori elementari, caretriaz a ˆintre bit ii num arului a ¸ si cei ai num arului b.

Es bcEsa

vvd

nn rr rr rr rr n n

ccc ci1 i0 cout

' ' c0n × EM U X ADDn

n c

max{a, b}

2. F ar a a restrˆ ange generalitatea, putem considera an = 1.

si celCircuitul este format dintr-un registru serial SRn (format din n DF F -uri) ¸

mult n - 1 port ¸i X OR.

O reprezentare a circuitului este

$¤¤$¤¤$¤¤$¤¤

. . . E EE

EEEEE E ET

%¥¥%¥¥%¥¥%¥¥

an- 1 an -2 a1 a0

TT

TT

TT

TT

. . .DF F DF F DF FE E E E E ssss b0b1 . . . bk 

TT ETs sCK 

aUn arc marcat cu ai este suspendat dac a ai = 0 (iar poarta X OR in care intr 

acesta poate eliminat a). Dac a ai = 1, atunci acesta este un arc normal.

3. -

4. O solut ¸ie posibil a este:

x' s

c' CK DF F

c E

c c

4 3©©

cY

195

Page 194: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 194/200

5. O solut ¸ie posibil a este:

'

c c

s CK 

E E E ss DF F DF F'c

cc E

cc

F Ac s

c

(din F A se ret ¸ine numai transportul, valoarea sumei ne ind necesar a).

Capitolul 7:

1. Componentele din de nit ¸ie se construiesc u¸sor: Q = {0, 1}2, X = {0, 1}, Y = {0, 1}

d 0 1 0 1

00 00 0101 01 1010 10 1111 11 00

00 00 0101 01 1010 10 1111 11 00

(funct iile de tranzit ¸ie ¸si de ie sire coincid). Graful de funct ¸ionare este:

' E1/01 0/01E0/00 00 01c E c'

4352T

1/00 1/10

c E'

' 10110/11 0/10c'c E 1/11

43524352

4352

2. Se particularizeaz a counterul din curs pentru n = 3, sau – eventual – se folose¸ ste

exemplul de la sumatorul pre x.

3. Particularizˆ and sumatorul pre x din 7.5.3, se obt ¸ine

196

Page 195: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 195/200

E 0E x0x1Ec

c c c cc

c0ADD3

ccc''

CK R3

'T

s'T

s'T

scc c

s0s1s2

¸iile suntAcest automat are Q = {0, 1}3, X = {0, 1}2, Y = {0, 1}3, iar funct

(abc, xyz) = abc pentru ie¸ sire si

d 00 01 10 11

000 000 001 010 011001 001 010 011 100010 010 011 100 101011 011 100 101 110100 100 101 110 111101 101 110 111 000110 110 111 000 001111 111 000 001 010

 pentru transfer.Graful de funct

¸ionare se construie¸ ste imediat.

4. Componentele automatului sunt: Q = {0, 1}, X = {0, 1}2, Y = {0, 1},d 00 01 10 110 0 0 0 11 1 0 0 0

00 01 10 11

0 0 1 1 01 1 0 0 1

Graful de funct ¸ionare se construie¸ ste imediat.

5. Componentele automatului sunt: Q = {0, 1}, X = {0, 1}2, Y = {0, 1},

d 00 01 10 110 0 0 0 11 1 1 1 0

00 01 10 11

0 0 1 1 01 1 0 0 1

De remarcat c a automatul difer a difer a de cel anterior numai prin funct ¸ia de transfer.

Graful de funct ¸ionare se construie¸ ste imediat.

6. Complet am marcajele arcelor cu ie¸ sirile:

197

Page 196: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 196/200

0/00 0/11E ET c T c1/11

Eq0 q1"!# T

1/00 1/10

c'cE

E1/01' 0/100/01 q2q3c'"!

#"!

#"!#

  Not am st ari suntarile qi cu reprezentarea ˆin baza 2 a lui i. Pentru cele patru st

su cient ¸i doi bit¸i.

si (am notat cu x bitul de intrare curent)Deci: X = {0, 1}, Q = Y = {0, 1}2 ¸

d 0 1 Q+ 0 1 Y1 Y01 Q+ 0

00 00 01 0 x 00 00 11 x x

01 01 10 x x 01 11 10 1 x10 10 11 1 x 10 10 01 x x

11 11 00 x x 11 01 00 0 x

De aici rezult a forma funct ¸iilor de tranzit ¸ie si de ie sire:

d(Q1Q0, x) = (Q1Q0x + Q1Q0x + Q1Q0, Q0x + Q0x)

(Q1Q0, x) = (Q1Q0x + Q1Q0x + Q1Q0, Q0x + Q0x)

 222

 x d dE E Es d d d22 

2c d d dEE

d d d dd d d

d d d

E

EEd d d d

QQ

'T

' d d dD'T

DF F1 'T

QQ

'T

' d dD'T

DF F0 ' s

EE

d d d Y1d d Y0

c c c c c c c cC K 

7. Din reprezentarea gra c a rezult a X = {0, 1}, Q = Y = {0, 1}2 ¸si

d 0 1 0 1

00 00 1001 11 0010 00 1111 10 00

00 00 1001 10 0110 10 0111 01 11

198

Page 197: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 197/200

Graful de tranzit ¸ie este

'

1/010/00 'q0 q1c E rrrrrrrrrrrr 

1/10 ¨ 8796

r  

¨¨r  0/10T ¨r  ¨r  ¨r 1/11 r ¨ r ¨ r ¨ r ¨

%

 j¨ r 0/10r 1/01'

q2q3Er 87

968796

8796

0/01

De aici (sau – eventual folosind un algoritm de eliminare a st arilor inaccesibile) – se

observ a c a starea 01 poate eliminat a, ea neputˆ and accesibil a plec and din starea

init ial a 00.

8. Relu am tabelele celor dou a funct ii din exercit ¸iul anterior, completˆ and cu coloanele

care dau informat ¸ii despre forma lor analitic a:

d 0 1 Q+ 0 1 Y1 Y01 Q+ 0

00 00 10 x 001 -- -- - -

00 00 10 x 001 -- -- - -

10 00 11 x x 10 10 01 x x

11 10 00 x 0 11 01 11 x 1

Deci putem da o form a mai simpl a funct iilor de tranzit ¸ie si de ie¸sire:

d(Q1Q0, x) = (Q0x + Q0x, Q1Q0x),(Q1Q0, x) = (Q1x + Q1Q0x + Q1Q0x, Q1Q0x + Q0)

O implementare bazat a pe tablouri logic programabile este:

 222

 x d dE E Es dd d d22 

2c d dEE

d dd d dEdEd dEd d

QQ

'T

' d dD'T

DF F1 'T

QQ'T

' dD'T

DF F0 ' s

EE

dd d Y1d d Y0

c c c c c c cC K 

199

Page 198: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 198/200

9. Separ am tabloul funct ¸iei de tranzit ¸ie pe cele dou a tablouri pentru dJ respectiv dK :

dJ 0 1 J + dK 0 1 K+1 J+ 1 K +0 0

00 00 10 x 001 -- -- - -

00 -- -- - -01 -- -- - -

10 -0 -1 - x 10 1- 0- x -

11 -- -- - 11 01 11 x 1

O form a pentru cele dou a funct¸ii poate :

dJ (Q1Q2, x) = (x, Q1x), dK(Q1Q0, x) = (Q0x, +Q0x, 1 )

Funct ia de ie¸sire r amane neschimbat a.

 222

  d dE E Esx d d d d d d222 

d

d d d

c d EEEd dEd dEd d d d

QQ

'T

''

dJ'T

DF F1 d dK 

ET

QQ

'T

T ' dJ'T

DF F0 'K  1EE

ETs d d d Y1d d Y0

c c c c c c c c cCK 

10. -

11. Folosind cuno¸stint ¸e de limbaje formale, se poate construi automatul care accept a

secvent e binare marcˆ and orice aparit ¸ie de dou a zerouri consecutive:

1/0 0/1E E

T c T c1/0

0/0 q2E0/0 q1 Eq0

'8796

8796

8796'

Tc

1/0

Ie¸sirea este legat a apoi de un counter cresc ator pe 3 bit ¸i (eventual cel construit la

exercit¸iul 1).

Din graful de tranzit ¸ie rezult a tabelele de valori ale celor dou a funct ii:

200

Page 199: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 199/200

d 0 1 Q+ 0 1 Y +1 Q+ 0

00 01 00 0 x 00 0 0 0

01 1 0 x01 01 10 x x10 01 00 0 x 10 0 0 0

Deci

d(Q1Q0, x) = (Q0x, x), (Q1Q0, x) = Q0x

Un circuit care rezolv a problema este:

EEE

 222

 x d dE E s d22 

2c d d

d

Q

Q

d'DDF F1 '

T

QQ

'T

EEE

' dDd

d

DF F0 ' s E Y COU NT3

ETs

c c cC K 

Observat ¸ii:

(a) O analiz a a automatului arat a c a unul din cele dou a DF F nu este utilizat.

Deci el se poate reduce, fapt care revine formal la ideea c a st arile q0 ¸si q2 sunt

echivalente – deci ele se pot identi ca. Se obt ¸ine automatul

1/0 0/1E ET c T c0/0 E

q0 q1'

8796

8796

1/0

1/0

a c arui implementare utilizeaz a un singur DF F .

(b) O solut ¸ie interesant a – primit a de la mult ¸i student ¸i – este:'c c

s CK 

x E E E sDF F DF F

c'

cc& %©

e

cY

201

Page 200: 46215671 Cartea Lui Adrian Atanasiu

8/3/2019 46215671 Cartea Lui Adrian Atanasiu

http://slidepdf.com/reader/full/46215671-cartea-lui-adrian-atanasiu 200/200

Eroarea const a ˆin faptul c a ˆin faz a init¸ial a automatul este resetat si ambele

DF F cont ¸in valoarea 0. Deci atunci cˆ and va incepe s a funct ioneze, automatul

va scoate 1 ca prim a valoare (de¸ si nu a primit ˆinc a nici un bit), ceea ce vaafecta valoarea counterului.

12. A se vedea solut ¸ia anterioar  a, ˆin care se construie¸ste un COU NT3 folosind numai

DF F -uri.

13. -

Bibliogra e

1. Hayes J. P. - Computer Architecture and Organisation, McGraw Hill Series in Com-

 puter Engineering, Third edition, 2000

2. Hayes. J.P. - Introduction to Digital Logic Design, Reading MA, Addison Wesley,

1993

3. Hwang K - Advanced Computer Architecture, New York, Mc. Graw-Hill, 1993

4. Murdocca M., Heuring V. - Principles of Computer Architecture, Prentice Hall, 2001

5. S¸tefan Gh. - Circuit Complexity, Recursion, Grammars and Information, Ed. Univ.

Transilvania, Bra¸sov, 1997