Sunteți pe pagina 1din 98

Facultatea de

Informatic - Iai
Arhitectura
Calculatoarelor
Curs pentru anul I Informatic
FII 2009


hluchian@infoiasi.ro
FII 2
Structura cursului
Prelegeri
2 ore pe sptmn: mari 10-12 / 12-14, sala C2
Ore de laborator / seminar
2 ore pe sptmn
Dou jumti de semestru:
Sptmnile 1-7 prof.dr. Henri Luchian
Prob final n sptmna a opta
Nu poate fi repetat dect odat cu ntregul curs
Sptmnile 9 -15 lect.dr. Vlad Rdulescu
Prob final n saptamana 16.
FII 3

Cerin eliminatorie pentru
prezentarea la examen :

minimum 5 prezene la orele de laborator /
seminarii ale fiecrei pri



FII 4
Notare
3 note de ponderi egale:
1. activitate i test la laborator / seminar
2. proba scris din sptmna a opta
3. proba scris din sptmna 16.
Nota final:
trei note de promovare: media aritmetic, rotunjire
dou note de promovare i un 4: media aritmetic,
trunchiere (exemple: 9 + 10 + 4 7; 5+5+4nepromovat)
dou note de promovare i un 3 (2): idem, minus 1
Exemple: 10 + 10 + 3 6 ; 7 + 8 + 2 nepromovat
mai puin de att sau mai puin de 5 prezene la
laborator/seminar: nepromovat.
FII 5
Autori ale cror
prezentri publice au fost folosite pentru
pregtirea acestei forme a cursului
Sivarama Dandamundi
Jerry Breecher
Randy Katz
Michel Allemand
Daniel Amyot
John Morris
Mikko Lipasti
Gregory Byrd
FII 6
CUPRINS
I. Introducere n Arhitectura i organizarea
calculatorului
II. Circuite combinaionale i funcii
booleene
III. Circuite secveniale i automate
IV. Reprezentri interne
FII 7

Capitolul I

INTRODUCERE
FII 8
&I.1. EVOLUIE
FII 9
Cnd au aprut
mainile de calcul?
Dup fiecare redefinire a noiunii de calcul
abac: adunri
roi dinate Leibniz (2) i Pascal (10): adunri,
nmuliri
Babbage: instruciuni din exterior, calcul ramificat
von Neumann: program memorat; execuie n
secven de instruciuni; ierarhii de memorii
calculatoare paralele (de fapt, calcul paralel)
calcul(atoare) probabilist(e), neuronal(e),
evolutiv(e), cuantic(e)
ncearc automatizarea calculului n nelesul
din acel moment
FII 10
Maini de calcul universale
O main de calcul universal se poate
comporta ca oricare main de calcul particular
Exemple:
Introducnd n calculator un program corect de lucru cu
matrici, calculatorul se va comporta ca o main de calcul
cu matrici
linii, unghiuri, forme main de proiectare grafic
cuvinte, paragrafe, texte main de tehnoredactat

Toate calculatoarele construite conform
aceleiai definiii a calculului pot calcula exact
aceleai lucruri
dac au la dispoziie suficient timp i memorie
FII 11
Scurt istorie
a ideilor
inventarea scrierii poziionale a numerelor
indieni, arabi
inventarea logaritmilor
John Napier of Edinburgh
algebra boolean
George Boole, 1854
teorema de incompletitudine
Kurt Gdel, 1935
conceptul de calculator neumannian
John von Neumann, 1946
Toate sunt legate de calcul(ator) n nelesul de astzi
FII 12
Scurt istorie
- invenii abstracte i concrete
1850: George Boole inventeaz algebra boolean
propoziii logice sunt transformate n simboli
calcule cu propoziii logice, folosind reguli de tip matematic
1938: Claude Shannon leag algebra boolean de circuite
(comutatoare)
n teza sa de dizertaie
1945: John von Neumann proiecteaz primul calculator cu program
memorat
comutatoarele erau lmpi
1946: ENIAC primul calculator electronic
18,000 de lmpi
5000 de adunri, sute de nmuliri pe secund
1947: Shockley, Brittain i Bardeen inventeaz tranzistorul
permite integrarea mai multor circuite ntr-un modul
deschide drumul electronicii moderne
FII 13
Scurt istorie
a calculatoarelor
1642-1945 : Calculatoare mecanice
Leibniz, Pascal, Babbage; Z1, Mark I
1945-1955 : Lmpi
ENIAC, EDSAC, UNIVAC, IBM 70x
1952: primul succes comercial 19 calculatoare IBM
vdute
1955-1965 : Tranzistori
PDP-1, IBM 7094, CDC 6600,
1965-1980 : Circuite integrate
IBM 360, PDP-11, 4004, 8008, VAX
VLSI, ULSI
FII 14
Scurt istorie
a microprocesoarelor
IBM-PC (8088) : 1980
Mac Plus (68000) : 1984
80486 : 1990
Pentium : 1994
Pentium II : 1997
Pentium III : 1999
Pentium IV : 2001
FII 15
&I.2.
CALCULATOARE VON NEUMANN
FII 16
Calculatoare von Neumann
program memorat
memorie infinit (ideal), timp de acces egal
realizat practic prin ierarhii de memorie
la execuie, dup o instruciune i urmeaz
instruciunea memorat imediat dup ea (regula)
instruciunea indicat de i , dac i este instruciune
de control (excepia)
adresa instruciunii urmtoare se afl ntr-un
registru PC
n fiecare moment, o singur instruciune nou
este ncrcat pentru execuie
FII 17
Calculatoare von Neumann
Anterior:
conceptul de automatizare a operaiilor luate
separat (Pascal, Leibniz)
conceptul de program exterior (Babbage)
conceptul de calcul ramificat / control
Conceptul de program memorat
John von Neumann e.a. (1946)
Concept arhitectural fundamental -
procesoarele moderne
FII 18
Calculatoare von Neumann
Programul i datele - stocate n (aceeai)
memorie
ideal: infinit, omogen (locaii la fel de rapid accesabile)
practic: o ierarhie de memorii, fiecare fiind omogen
Program counter (PC) indic locul din memorie
al instruciunii de executat
coninutul PC este actualizat la execuia fiecrei
instruciuni
o dat sau de dou ori
Instruciunile programului sunt aduse pe rnd
din locaii de memorie n procesor
regula: locaii succesive incrementare PC
excepia: instruciuni de salt
ordine fizic i ordine logic
FII 19
Arhitectura
unui sistem de calcul
LIMBAJ MAIN
programe utilizator
sistem de
operare
compilatoare
procesor-
memorie
intrri / ieiri
proiectare digital
circuite
FII 20
Componentele hardware ale unui
calculator
Control
Calea de date
Memorie
Procesor
Intrri (Input)
Ieiri (Output)
FII 21
Organizarea unui calculator
Memorie
central
Cache N2
Cache N1
Controler Controler Controler
Magistrala de intrri/ieiri
Adaptor
Magistrala sistem
CPU
Procesor
Reea
FII 22
&I.3. LEGI EMPIRICE
FII 23
Legi empirice
Legi ale oricrei tiine depind ntr-un fel sau
altul de experiment sau de observaii n lumea
concret
unele tiine sunt sau au capitole preponderent
empirice (medicina)
Repetabilitatea, inerent noiunii de
experiment, duce la ideea de legi empirice:
adevruri valabile de cele mai multe ori,
conform observaiilor
Formulate n Informatic nc de la nceputuri
inginerie
FII 24
Legi empirice n informatic
Exist legi empirice aplicabile hard-ului
sau soft-ului:
legea 90:10 (Donald Knuth): 90% din timpul
de execuie al unui program, este utilizat
pentru 10% din instruciuni;
legea lui Amdahl: eficiena maxim n
mbuntirea unui sistem (concret sau
abstract) se atinge dac se optimizeaz
subsistemul cel mai folosit
legile localizrii spaial, temporal.
FII 25
Legea lui Amdahl
mbuntirea unui sistem trebuie fcut n
partea cel mai frecvent folosit.




Pentru creteri semnificative, trebuie ca a i f
a

s fie ct mai mari.
Exemplu: Dac procesorul lucreaz 50% din timp
i devine de dou ori mai rapid, atunci A = 4/3.
Observaie. Sumatorul va fi cel mai intens
mbuntit.
a
f
) f 1 (
1
) f , a ( A
a
a
a
+
=
FII 26
Legile localizrii (pentru instruciuni)
Localizare spaial:
dac la un moment dat se execut o
instruciune i, atunci este probabil ca la
momente apropiate s se execute
instruciuni din apropierea lui i (n ordine
fizic)
spaiul de memorie, n care se afl instruciunile.
Localizare temporal:
dac la un moment dat se execut
instruciunea i, atunci este probabil ca
instruciunea i s se execute la momente
apropiate n timp
FII 27
Ordine fizic i ordine logic
Instruciunile de executat se afl n memorie ntr-
o anumit ordine: ordinea fizic.
Ele se citesc din memorie i se execut
regula: n ordinea n care sunt memorate
excepia: srind peste un numr de instruciuni
Rezult ordinea logic a instruciunilor
n ordinea logic la o anumit rulare, fiecare instruciune din
ordinea fizic poate s apar de 0, 1, 2, ori
Legile localizrii indic un tip esenial de relaie
ntre ordinea fizic i ordinea logic:
Secvena de instruciuni din ordinea logic este
alctuit n general din sub-secvene construite din
poriuni restrnse ale secvenei de instruciuni din
ordinea fizic.
FII 28
Legile localizrii: n fiecare interval mic
de timp, programul utilizeaz o mic
poriune din spaiul de adrese
Valabil pentru instruciuni ca i pentru date
Temporal: iteraii (program), reutilizri
Spaial: ordinea fizic; tablouri de date
De mai bine de 25 de ani, soluiile
hardware se bazeaz pe legile localitii
pentru a ctiga vitez
Un exemplu: ierarhia de memorii
FII 29
&I.4. IERARHIA DE MEMORII
FII 30
Ierarhia de memorii
Soluioneaz dou probleme:
1. Programele foarte mari nu ncap n
memoria principal
Nivelul inferior al ierarhiei (memoria
secundar)
2. Necesitatea creterii vitezei de execuie
a programelor
Nivel superior al ierarhiei (memoria cache)
FII 31
Ierarhia de memorii
Niveluri:
1. regitrii-generali procesor (s 1/4 Ko)
2. memoria cache (s 1 Mo)
3. memoria RAM (s 4 Go)
4. memoria secundar disc (s1 To)
Preul pe bit scade pe msura deprtrii de procesor.
Timp de comunicare i capacitate de
memorare foarte mici pe primele dou niveluri
corespunznd ferestrelor din legile localizrii
dar comparativ foarte mari pe ultimul
permind memorarea programelor foarte mari
32
Nivelurile ierarhiei de memorii
Regitrii CPU
4-64 octei
1 ns
Memorie Cache
Nivel 1: <16 Kilo-octei
Nivel 2: < 2Mega-octei
3 ns; 15 ns
0.1 ceni/bit
Memorie principal
< 4Giga-octei
150 ns
.01-.001 ceni/ bit
Disc
100 Giga-octei
5 ms
(5,000,000 ns)
10
-5
- 10
-6
ceni/bit
Capacitate
Timp de acces
Cost
Band
secunde-minute
10
-8
ceni/bit
Regitri
Cache
Memorie principal
Disc
? band
Instr. / operanzi
Blocuri
Pagini
Fiiere
Controlul transferului
Unitatea de transfer
Program utilizator
1-8 octei
Hardware
(Controller cache)
8-128 octei
Sistemul de operare
512-4 Kilo-octei
Utilizator
Mega-octei
Nivel superior
Nivel inferior
Vitez
mai mare
Capacitate
mai mare
FII 33
Ierarhia de memorii
Programul ntreg se afl n memoria secundar
Cu fiecare nivel urcat n ierarhie, sunt aduse de pe
nivelul inferior ferestre din ce n ce mai mici ale
programului.
Execuia direct din cache.
succes: instruciunea urmtoare este gsit n cache
eec : instruciunea urmtoare trebuie adus de pe un
nivel inferior
eecuri dese ar cauza o execuie mai lent dect dac
instruciunile ar fi aduse direct din memoria secundar
Legile localizrii fac ca ierarhiile de memorii s
accelereze execuia programelor
pe poriuni.
O valoare uzual a ratei de succes poate fi de ordinul a
95%.
FII 34
&I.5.

ARHITECTURA
CALCULATORULUI:

VIZIUNI POSIBILE
FII 35
Arhitectura calculatorului
(Computer Architecture)
Ce este arhitectura unui calculator?

Arhitectura
calculatorului
Arhitectura setului
de instruciuni (ISA)
+
organizarea mainii
=
Arhitectura setului
de instruciuni
=
Viziunea
programatorului
asupra mainii
FII 36
&I.5.1.

PROGRAMATOR I UTILIZATOR
FII 37
Viziunea utilizatorului
Sistemul
hardware
FII 38
Viziunea programatorului
Depinde de tipul i nivelul limbajului utilizat
O ierarhie a limbajelor:
Limbajul main
Limbajul de asamblare creterea
nivelului
Limbaje de nivel nalt de abstracie
Programe - aplicaii
Independente de main:
Limbaje de nivel nalt / programe - aplicaii
Specifice mainii:
Limbajele main i de asamblare
FII 39
Specifice
fiecrei
maini
Independente
de main
Limbaje de
nivel sczut
Viziunea programatorului
FII 40
Viziunea programatorului
Limbajul main
Caracteristic fiecrui procesor
Const din cuvinte peste alfabetul {0, 1}
1111 1111 0000 0110 0000 1010 0000 0000
Limbajul de asamblare
Nivel ceva mai nalt
mnemonice, adrese simbolice
Mai apropiat de modul de nelegere al omului
Coresponden 1-la-1 cu majoritatea
instruciunilor din limbajul main
inc count
FII 41
Comparaie
Limbaj de asamblare Limbaj main
(Assembly Language) (Machine Language)
n hexazecimal
inc result FF060A00
mov cl_size,45 C7060C002D00
and mask,128 80260E0080
add marks,10 83060F000A
FII 42
Viziunea programatorului
Asambloarele (assemblers) traduc din
limbaj de asamblare n limbaj main
Dual: dez-asamblare
Compilatoarele traduc din limbaje de
nivel nalt n limbaj main
Direct sau
Indirect, via limbaj de asamblare
interpretoare
FII 43
Viziunea programatorului
Assembler
Compilator
FII 44
Viziunea programatorului
Limbaj de nivel nalt
n C:
result =
count1 + count2 + count3 + count4
Limbaj de nivel jos
n limbaj de asamblare Pentium:
mov AX,count1
add AX,count2
add AX,count3
add AX,count4
mov result,AX
FII 45
Niveluri de limbaje
Unele instruciuni simple de nivel nalt pot
fi exprimate printr-o singur instruciune n
limbaj de asamblare:
Limbaj de asamblare C

inc result result++;
mov size,45 size = 45;
and mask1,128 mask1 &= 128;
add marks,10 marks += 10;
FII 46
Niveluri de limbaje
Cea mai frecvent situaie este cea n care o
instruciune de nivel nalt este echivalent cu o
secven de instruciuni n limbaj de asamblare:
C Limbaj de asamblare

size = value; mov AX,value
mov size,AX
sum += x + y + z; mov AX,sum
add AX,x
add AX,y
add AX,z
mov sum,AX
FII 47
Viziunea programatorului
Arhitectura setului de instruciuni
(Instruction set architecture - ISA)
Specific funcionarea unui procesor
Definete nivelul logic al procesorului
O ISA poate fi implementat fizic n
diverse feluri, care sunt
identice la nivel logic (interpretarea funcionrii), dar
pot diferi ca
performan (vitez)
pre
FII 48
Viziunea programatorului:
avantajele limbajelor de nivel nalt
Dezvoltarea de programe este mai rapid
Instruciuni de nivel nalt (mai puine instruciuni de scris)
ntreinerea programelor este mai uoar
Aceleai motive ca mai sus
Programele sunt portabile
Conin puine detalii dependente de main
Se pot folosi cu mici modificri sau chiar fr pe diverse
tipuri de maini
Traducerea n limbajul-main int urmeaz s fie
fcut automat de un compilator specific
calculatorului
Programele n limbaj de asamblare nu sunt portabile
FII 49
Viziunea programatorului:
La ce ajut programarea
n limbaj de asamblare?
Dou mari avantaje:
eficien
Spaiu
cod compact
i din limbaj de nivel nalt se ajunge la programe n limbaj-
main, dar compactitate mai mic
Timp
Legile localitii cu mai puine excepii i pe ferestre mai
mici, deci execuie mai rapid (mai puine eecuri)
accesibilitate la resursele hardware ale sistemului
deoarece specificitile mainii sunt luate n considerare
FII 50
&I.5.2.

ARHITECT I IMPLEMENTATOR
FII 51
Viziunea arhitectului
Proiectarea la nivel nalt
ca i arhitectul unei cldiri.
Folosete blocuri de construcie de nivel nalt, pe
care nu le detaliaz pn la ultimul nivel
d.e., Unitatea Aritmetic i Logic (UAL)
Vede trei mari componente:
Procesorul
Memoria
Dispozitivele de intrare ieire (I/O devices)
Legate prin interconexiuni (magistrala)
FII 52
Viziunea arhitectului
Intrri/Ieiri
UCP Memorie
interconectare
FII 53
Input/Output
CPU
Memorie
Magistrala de date
Magistrala de adrese
Magistrala de control
Viziunea arhitectului
FII 54
Viziunea implementatorului
De la proiectul arhitectului coboar la
nivelul porilor logice digitale / al circuitelor
Exemplu: Procesorul const din:
Unitatea de control
Calea de date (Datapath)
UAL
Regitri
Implementarea: proiectarea acestor
componente (de nivel mai jos).
FII 55
Procesor
Regitrii UAL
Unitate de
control
Calea de
date
Viziunea implementatorului
FII 56
Bus C
Bus A
Regitrii de interfa
cu memoria
PC
IR
MAR
MDR
Magistrala
sistem
Regitrii generali
Bus B
UAL
Control UAL
A B
C
Viziunea implementatorului calea de date
CIRCUITE COMBINAIONALE I
FUNCII BOOLEENE
Capitolul al-II-lea
FII 58
&II.1. INTRODUCERE
FII 59
Semnal analogic i
semnal digital
Semnal analogic
continuu
dac a luat valorile a i b, atunci a luat i toate valorile
din [a,b].
Semnal digital
are cteva niveluri valori distincte i stabile
discontinuu
nu ia alte valori ()
Indiferent de fenomenul fizic aflat la baz
Calculator: semnal digital cu 2 niveluri
0 i 1
Modem: comunicare digital analogic.
Conducerea proceselor industriale
Folosirea reelelor telefonice analogice
FII 60
Aplicaii ale circuitelor digitale
Calculatoare
CPU, memorie, bus, periferice,
Reele, comunicaii
telefoane, modemuri, routere
Bunuri diverse
automobile, audio-video, jucrii,
Echipament pentru (alte) activiti tiinifice
Testare, msurare etc.
Lumea calculului se extinde mult dincolo de PC.
embedded systems
definiii restrnse ale calculului
FII 61
Circuite
Combinaionale:



Secveniale:

o
1

O
m


I
1
I
n
parte
combina-
ional
memorie
INTRRI
IEIRI
STRI
I
1
I
n
O
1
O
m
INTRRI
IEIRI
FII 62
Metoda cutiei negre
Pentru un circuit combinaional a crui
structur / funcionare nu este cunoscut:
se aplic fiecare combinaie posibil de valori ale
intrrilor;
se observ valorile ieirilor pentru fiecare astfel de
combinaie
se obine astfel un tabel de adevr.
Cum unui tabel de adevr i corespunde o
funcie boolean, rezult c fiecrui circuit
combinaional i corespunde o funcie
boolean.
FII 63
De la circuite la funcii booleene
Circuit combinaional tabel de adevr






n fixat: partea de intrare e ntotdeauna aceeai
ntotdeauna aceeai coresponden pentru un
circuit (determinist)
I
1
. I
n
O
1
. O
m

0 0.0 0 ? ?.? ?
0 0.0 1 ? ?.? ?
. . . . . .
1 1.1 1 ? ?.? ?
FII 64
&II.2. FUNCII BOOLEENE
FII 65
Structura algebric
Mulimea nevid B
Mulimea de operaii binare { + , }
O operaie unar { }
B conine cel puin dou elemente,
a, b, a = b.
nchidere: a + b este n B
a b este n B
este n B
a
FII 66
Funcii booleene
B = {0,1}
f : B
n
B
m

funcie: n variabile, m valori
circuit: n intrri, m ieiri
Exist astfel de funcii.
n=1, m=1 : 4 funcii unare cu o valoare.

n
m 2
) 2 (
x f
0
(x) = 0 f
1
(x) = x f
2
(x)= f
3
(x) = 1
0 0 0 1 1
1 0 1 0 1
x
FII 67
0 X and Y
X
Y
X or Y not Y
not X
1
X
Y
F
X xor Y
X nor Y
X = Y
X nand Y
Funcii booleene
de dou variabile
16 funcii booleene complet definite de 2
variabile i cu o valoare.


x y
F
0
F
1
F
2
F
3
F
4
F
5
F
6
F
7
F
8
F
9
F
10
F
11
F
12
F
13
F
14
F
15
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
FII 68
Axiome i teoreme
n algebra boolean
X
x x
Identitate 1. X + 0 = X 1D. X 1 = X
Constante 2. X + 1 = 1 2D. X 0 = 0
Idempoten 3. X + X = X 3D. X X = X
Involuie 4. = X
Complementaritate 5. X + = 1 5D. X = 0
Comutativitate 6. X + Y = Y + X
6D. X Y = Y X
Asociativitate 7. (X + Y) + Z = X + (Y + Z)
7D. (X Y) Z = X (Y Z)
Distributivitate 8. X (Y + Z) = (X Y) + (X Z)
8D. X + (Y Z) = (X + Y) (X + Z)
Unificare 9. X Y + X = X
9D. (X + Y) (X + ) = X
Absorbie 10. X + X Y = X
10D. X (X + Y) = X
11. (X + ) Y = X Y
11D. (X ) + Y = X + Y
Y Y
Y Y
FII 69
Legile lui De Morgan
12.

12D.


Dualitate
... ... = + + Y X Y X
... ... + + = Y X Y X
FII 70
Forme normale
Plecnd de la tabelul de adevr al unei funcii,
se pot obine dou expresii diferite pentru acea
funcie:
Forma normal disjunctiv
Pentru fiecare 1 din ultima coloan, se scrie un
termen ce conine doar conjuncii
Termenii se leag prin disjuncie
Fiecare termen conine fiecare variabil a funciei
negat, dac n linia acelui 1 variabila apare cu valoarea 0
nenegat pentru 1
Exemplu: F
9
(x,y)=xy + xy
Forma normal conjunctiv: dual
Exemplu: F
9
(x,y)= (x+y)(x+y)
FII 71
Operaiile calculatorului
la nivel logic elementar
Pentru calculatoarele actuale, operaiile
elementare la nivelul circuitelor de baz
sunt operaiile logicii booleene
care simuleaz i operaiile aritmetice
elementare n baza 2.
Un circuit combinaional poate fi vzut ca
implementnd o funcie boolean.
FII 72
&II.3. DIAGRAME LOGICE
FII 73
Alfabetul diagramelor logice
Pori elementare
AND
OR
NOT

Funcionarea unei
pori se poate
descrie printr-un
tabel de adevr
(funcia boolean
ataat)
A
B
AND
Poarta AND
A NOT
Poarta NOT
A
0
0
1
1
B
0
1
0
1
AND
0
0
0
1
A
0
0
1
1
B
0
1
0
1
OR
0
1
1
1
A
0
1
NOT
1
0
Poarta OR
A
B
OR
FII 74
Alfabetul diagramelor logice
Alte pori utile
NAND
NOR
XOR
NAND = NOT AND
NOR = NOT OR
XOR implementeaz
funcia sau-exclusiv
Porile NAND i NOR
necesit doar 2
tranzistori
pentru AND i OR e
nevoie de cte 3
tranzistori
Poarta NAND
A
B
NAND
XOR
Poarta XOR
A
B
A
0
0
1
1
B
0
1
0
1
NAND
1
1
1
0
A
0
0
1
1
B
0
1
0
1
NOR
1
0
0
0
A
0
0
1
1
B
0
1
0
1
XOR
0
1
1
0
Poarta NOR
NOR
A
B
FII 75
n diagrame logice apar i pori
elementare cu mai multe intrri
Operaiile binare asociative pot fi extinse
la operaii cu orice numr finit de operanzi




FII 76
Set minimal de generatori
Care este numrul minim de tipuri de
pori ce ar trebui produse pentru a putea
obine din ele circuite care implementeaz
orice funcie boolean?
3 anume, {NOT, OR, AND} este un
rspuns parial
Forme normale (disjunctiv, conjunctiv)
i dou ajung: NOT i una din celelalte
dou
Rspunsul corect este 1, cu dou soluii:
{NAND} i {NOR}
FII 77
Tem

Artai c {NAND} i {NOR} sunt mulimi de generatori
pentru funciile booleene
Indicaie: se folosete FND sau FNC. n particular:
FII 78

A
B
A+B
~
A
1
B
1
A+B
FII 79
&II.4. DESCRIEREA
ADUNRII N BAZA 2
PRIN FUNCII BOOLEENE
FII 80
Definirea funciilor booleene
Funciile logice booleene pot fi definite n
mai multe moduri:
prin tabel de adevr
prin expresii coninnd variabile i operaii logice
n form grafic
n sigma-notaie ()
Exemplu: funcia majoritatea dintre k
are k variabile i o valoare
valoarea funciei este 1 numai dac majoritatea
variabilelor au valoarea 1
vom studia funcia pentru k=3.
FII 81
-notaia
f=(3,5,6,7)
Fiecare numr din parantez reprezint un
termen
denot disjuncia termenilor
Numrul de variabile n este cea mai mic
putere a lui 2 strict mai mare dect cel mai
mare numr ce apare n parantez
n = 3: 4 = 2
2
< 7 < 2
3
= 8
f(x
1
, x
2
, x
3
)= (3,5,6,7)
FII 82
-notaia
Fiecare numr din parantez se scrie n
baza 2 pe n poziii
3 011
Termenul corespunznd unui numr
conine:
toate variabilele,
fiecare negat dac i corespunde un 0 i
nenegat pentru 1,
legate prin conjuncie
3 011
3 2 1
x x x
FII 83
-notaia



11 aplicri ale funciilor elementare OR / AND.
Gsirea unei expresii echivalente (aceeai
funcie boolean) cu mai puine aplicri de
operatori ar face respectivul circuit
mai rapid,
mai ieftin,
mai fiabil.
C B A C B A
C B A C B A C B f(A
+ +
+ + = ) , ,
FII 84
Funcia imparitate cu 3 intrri

A B C IMP
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
Implementarea formei normale
disjunctive

A B C
IMP
FII 85
Implementarea funciei
majoritate din 3
A B C F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
Forma normal disjunctiv: patru
termeni, fiecare coninnd doar
conjuncii
corespund celor 4 linii cu ieirea 1
n fiecare termen, o variabil
apare negat numai dac
valoarea sa pe acea linie este 0.
F = A B C + A B C +
+ A B C + A B C
Se poate implementa o expresie
echivalent mai simpl ?
FII 86
Minimizare
Nu doar set minimal de operatori, ci i pentru o
funcie dat numr minimal de aplicri ale
acestora (AND / OR)
FND un numr de apariii ale operatorilor
11 OR / AND n exemplu
Proceduri de minimizare reduc expresia
Rescriere echivalent
Inducie perfect
Metoda Veitch-Karnaugh
Metoda Quine-McCluskey
Hibridizare (ex: V-K urmat de distributivitate)
FII 87
Minimizare prin rescriere algebric
Funcia majoritate din 3

A B C + A B C + A B C + A B C =

A B C + A B C + A B C + A B C + A B C + A B C
Expresia devine:


B C + A C + A B

Metod dificil pentru expresii complexe
Idempoten
FII 88
&II.5. MINIMIZAREA
FUNCIILOR
BOOLEENE PRIN
METODA
DIAGRAMELOR
KARNAUGH
FII 89
Structura unei diagrame
Karnaugh pentru n variabile
Pe structura unui tabel bidimensional
Zona variabilelor
2 clase : etichete de linii / coloane (n par clase egale)
se scriu numele variabilelor
Zona etichetelor
o etichet este un ir de n bii, dac funcia are n
variabile
Pentru n par, n/2 bii ntr-o etichet de linii, n/2 pentru o
etichet de coloan
fiecare bit dintr-o etichet corespunde unei variabile
Zona celor 2
n
locaii din diagram
n care se vor trece doar valorile de 1.
unei locaii i corespunde o unic etichet
FII 90
Metoda Karnaugh
10 11
1
0
01 00
A
BC

Diagrama Karnaugh
pentru 3 variabile
1
0
1 0
A
B
Diagrama Karnaugh
pentru dou variabile
10
11
10 11
01
00
01 00 AB
CD
Diagrama Karnaugh
pentru 4 variabile
Ordinea codului
Grey
FII 91
Etichete: codul Grey
Etichetele nu se scriu n ordinea natural, ci n
ordinea Grey.
pe 2 poziii binare: 00, 01, 11, 10.
pe 3 poziii binare:
000, 001, 011, 010, 110, 111, 101, 100.
pe 4 poziii binare:
0000, 0001, 0011, 0010, 0110, 0111, 0101,0100,
1100, 1101, 1111, 1110, 1010, 1011, 1001,1000.
Oricare dou etichete consecutive inclusiv
prima i ultima! - difer printr-un singur bit.
FII 92
Adiacene n diagrame
Karnaugh
Dou poziii sunt adiacente dac
etichetele corespunztoare difer pe un
singur bit.
Generalizeaz vecintatea intuitiv
4 variabile: cele patru coluri sunt
adiacente!
Pentru o funcie de n variabile, o locaie
are n locaii adiacente
< 5 variabile vizual
5 sau mai multe: i alte adiacene dect cele
vizibile
FII 93
Paii minimizrii Karnaugh
1. Se trec n locaiile corespunztoare (conform
etichetelor) valorile de 1 ale funciei;
2. Se caut blocuri coninnd numai valori 1,
astfel nct:
fiecare valoare 1 s fie inclus n cel puin un bloc;
blocurile s fie ct mai mari i mai puine;
un bloc s conin un numr de locaii egal cu o
putere a lui 2
eventual puterea 0;
dac blocul conine 2
k
locaii , atunci pentru
fiecare locaie blocul s conin exact k locaii
adiacente cu ea.
FII 94
Paii minimizrii Karnaugh
3. Se scrie expresia minimizat a funciei astfel:
fiecrui bloc cu 2
k
locaii 1 i corespunde
un termen coninnd n-k variabile legate
prin conjuncie;
n termen apar acele variabile ale cror
etichete sunt constante pentru toate
locaiile din bloc;
o variabil apare negat dac eticheta sa
constant este 0 i nenegat altfel;
termenii astfel obinui (dup considerarea
tuturor blocurilor) sunt legai prin
disjuncie.
FII 95
Exemple: majoritatea din 3; imparitate
1
0
10
1
1
11
1 0 1
0 0 0
01 00
A
BC

AB
BC
AC
Funcia majoritate din 3
0
1
10
1
0
11
0 1 1
1 0 0
01 00
A
BC

BC BC
ABC ABC
Funcia imparitate
FII 96
f(A,B,C)=(0,2,3,4,5,6)
Adiacena liniilor/coloanelor extreme
_
AB
_
C
1
1
10
0
1
11
1 1
1
0 1
0
01 00
A
BC

_
AB
FII 97
Expresia depinde de grupare
1 0 1 1 10
0 1 1 0 11
0
1
10
0
0
11
0 0 01
0 1 00
01 00
AB
CD
_ _
B D
_
ACD
ABD
1 0 1 1 10
0 1 1 0 11
0
1
10
0
0
11
0 0 01
0 1 00
01 00
AB
CD
_ _
B D
_ _
ABC
ABD
FII 98
Evitarea redundanelor
0 0 1 0 10
1 1 1 0 11
0
0
10
1
1
11
1 1 01
0 0 00
01 00
AB
CD
Simplificare Karnaugh
neminimal
0 0 1 0 10
1 1 1 0 11
0
0
10
1
1
11
1 1 01
0 0 00
01 00
AB
CD
Simplificare Karnaugh
minimal

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