Documente Academic
Documente Profesional
Documente Cultură
FLORINA UNGUREANU
Prefa
CUPRINS
Introducere
1.
1.1
1.1.1
1.1.1.2
1.1.1.3
1.1.1.4
1.1.1.5
1.1.1.6
1. 2
1.3
1.3.1
1.3.2
1.3.3
1.3.3.1
1.3.3.2
1.3.3.3
1.3.3.4
1.3.4
1.3.5
1.3.6
1.3.6.1
1.3.6.2
1.3.6.3
1.3.6.4
1.3.6.5
1.4
1.5
1.5.1
1.5.2
1.5.3
1.5.4
1.6
1
9
9
10
11
12
14
14
14
16
17
17
19
20
20
22
23
24
25
28
31
31
32
36
39
40
41
43
43
44
45
48
49
2.
2.1.
2.2.
2.2.1
2.2.2
2.3
2.4
2.5
2.5.1
2.5.2
55
55
58
58
61
64
71
76
78
83
3.
3.1.
3.2.
3.3.
3.3.1
3.3.1.1
3.3.1.2
3.3.1.2.1
3.3.1.2.2
3.3.1.2.3
3.3.1.3
3.3.2
3.3.3
3.3.4
3.3.4.1
3.3.4.2
3.3.4.3
3.4
3.4.1
3.4.2
3.4.3
3.5
3.5.1
3.5.2
3.5.3
3.5.4
3.6
91
91
93
94
96
96
99
100
102
105
105
108
111
113
114
115
117
120
121
122
123
125
125
126
128
129
131
4.
4.1
4.2
4.3
133
133
134
138
4.4
4.5
4.6
4.6.1
4.6.2
4.6.3
4.6.4
4.6.5
4.6.6
4.6.7
4.6.8
4.6.9
4.6.10
4.7
4.8
4.8.1
4.8.2
4.8.3
4.8.4
4.9
4.9.1
4.9.2
4.9.3
4.9.4
4.9.5
4.9.6
139
148
157
158
163
166
168
168
172
174
175
178
180
181
185
185
186
186
188
188
188
190
191
191
192
196
Bibliografie
199
INTRODUCERE
Date i informaii
n orice domeniu de activitate, n scopul lurii unor decizii, se impune
folosirea pe scar larg a mijloacelor i tehnicilor specifice informaticii. Aceast
cerin rezult din creterea volumului de informaie. Orice decizie are la baz
informaii care se obin din prelucrarea unor date culese despre obiectul
activitii respective.
Exist diferene ntre date i informaii:
- datele privesc evenimente primare colectate din diverse locuri. Ele nu
sunt organizate ntr-o form care s permit luarea unor decizii;
- informaiile sunt mesaje obinute prin prelucrarea datelor.
Trebuie precizat c pn n momentul de fa nimeni nu a reuit s dea o
definiie cu adevrat precis a informaiei. Intuitiv, informaia reprezint date
utile, adic date care rspund la anumite ntrebri i nu ocup spaiul inutil.
Informaia a existat ntotdeauna mpreun cu materia i este un atribut al
materiei. Informaia poate fi reprezentat n diferite forme: tabele de date,
statistici, sondaje de opinie, articole din ziare i reviste, rezultatul unor
experimente, tiri la radio i televiziune, histograme, etc.
Prelucrarea datelor se poate face manual sau cu ajutorul echipamentelor
de calcul (prelucrarea automat a datelor). n cazul prelucrrii automate a
datelor, ansamblul format din resursele materiale i umane folosite n
prelucrarea acestora constituie un sistem de prelucrare automat a datelor
(SPAD).
Pentru a deveni informaii, datele trebuie s parcurg urmtorul flux
(fig.1):
- introducerea datelor;
- prelucrarea;
- extragerea rezultatelor prelucrrii.
Introducerea datelor
Introducerea datelor reprezint procesul de culegere a datelor i scrierea
acestora ntr-o form accesibil echipamentelor de calcul. Ea cuprinde patru
etape:
- culegerea datelor de la diverse surse i apoi reunirea lor ntr-un singur loc,
de unde vor fi transmise pentru a fi prelucrate;
- efectuarea verificrii corectitudinii, consistenei i compatibilitii datelor
culese;
1
Introducere
Introducere
date
Prelucrare
Date
Extragere
Informaii
- culegere
- verificare
- codificare
- transmitere
- clasificare
- sortare
- calcule
- rezumare
- memorare
- regsire
- decodificare
- difuzare
Reglare
Fig. 1 Fluxul prelucrrii datelor
Prelucrarea datelor
Dup introducere, datele sunt memorate i supuse ulterior unor prelucrri
cum sunt:
- clasificarea conform anumitor criterii;
- sortarea cresctoare sau descresctoare;
- calcule aritmetice sau logice;
- rezumarea datelor, adic prezentarea ntr-o form concis a anumitor
rezultate ale prelucrrii.
Extragerea informaiilor
n urma prelucrrii, datele devin informaii care se vor transmite, la locul
unde au fost solicitate, ntr-o form util fundamentrii unor decizii. Extragerea
informaiilor cuprinde trei etape:
- regsirea rezultatelor din memorie;
- conversia (decodificarea) din forma n care au fost prelucrate ntr-o form
accesibil utilizatorului;
- transmiterea informaiilor la locul solicitat de utilizator.
Mecanismul de reglare
Informaiile extrase pot ndeplini cerinele pentru care au fost prelucrate
datele sau pot fi afectate de erori n diferite etape ale prelucrrii. Pentru a
2
Informaii
Sistem informatic
Sistem
informaional
Decizii
automatizate
Date
Sistem operaional
Fig. 2. Locul unui sistem informatic n cadrul
sistemului informaional
Funcionarea sistemului informaional presupune desfurarea urmtoarelor
activiti:
- introducerea datelor referitoare la sistemul operaional;
- prelucrarea datelor n vederea asigurrii informaiilor utile sistemului
decizional;
- obinerea informaiilor solicitate i, pe aceast baz, adoptarea unor
decizii ce vor fi transmise sistemului operaional;
- efectuarea controlului i urmrirea respectrii deciziilor.
n cazul n care pentru desfurarea acestor activiti se folosesc cu
preponderen echipamente electronice, sistemul informaional devine sistem
informatic.
3
Introducere
Echipamente
de culegere i
verificare
Echipamente
de transmitere
date
Echipamente
de prelucrare
Echipamente
de memorare
Suporturi de
date i
informaii
Echipamente
de redare
Entropia informaional
Informaia reprezint un mesaj ce aduce o precizare ntr-o problem ce
comport un anumit grad de incertitudine. Cu toate c exist o mare diversitate
de informaie, att din punctul de vedere al formei de prezentare, al coninutului
i al sursei care o genereaz, ct i al modului de recepionare, s-a pus problema
msurrii cantitative a informaiei. S-a constatat c informaia i nedeterminarea
sunt mrimi direct proporionale.
S considerm un experiment X n cadrul cruia se pot realiza un numr
finit de n evenimente elementare: x1, x2 ,K, xn . Probabilitile de apariie ale
acestor evenimente le notm cu p1 , p 2 ,K , p n , unde:
numarul cazurilor favorabile evenimentului xi
pi =
.
numarul cazurilor egal posibile ale evenimentului
Se presupune c sistemul de evenimente este un sistem complet, adic:
4
pi = 1 .
i =1
H ( p1 , p2 ,K, pn ) = pi log 2 pi .
i =1
Introducere
2.
3.
4.
5.
H ( p1 , p2 ,K , pn ) 0 .
Dac pentru un indice i {1,2,K, n} avem pi = 1 , atunci entropia
informaional este nul:
H ( p1 , p2 ,K , pn ) = 0 .
Entropia unui sistem de evenimente este maxim cnd evenimentele au
aceeai probabilitate de apariie:
H ( p1 , p 2 ,K , p n ) H (1 n ,1 n ,K ,1 n ) = log 2 n .
Evenimentele imposibile nu modific valoarea entropiei informaionale a
unui sistem:
H ( p1 , p 2 ,K , p n ,0) = H ( p1 , p 2 ,K , p n ) .
Entropia produsului mai multor surse independente de informaie este
egal cu suma entropiilor fiecrei surse luate separat:
H ( X1 X 2 K X n ) = H ( X1) + H ( X 2 ) + K + H ( X n ) .
Introducere
Capitolul 1
REPREZENTAREA INFORMAIEI N CALCULATOARELE
NUMERICE
Calculatoarele numerice (digitale) prelucreaz informaia reprezentat
prin dou stri codificate prin simbolurile 0 i 1. Reprezentarea informaiei prin
dou simboluri se numete reprezentare binar. Unitatea informaional este
deci starea binar numit bit. Un bit se codific prin 0 sau 1 dar poate reprezenta
numere sau valori logice (vezi capitolul 2). La reprezentarea numerelor
simbolurile 0 sau 1 sunt interpretate ca cifre binare. Reprezentarea binar este
utilizat n sistemele de calcul datorit urmtoarelor avantaje:
poate fi pus n coresponden cu strile stabile ale unui circuit electronic
digital;
are o aritmetic simpl;
analiza i sinteza blocurilor funcionale ale unui calculator se pot efectua
cu ajutorul algebrei booleene.
n cele ce urmeaz se urmrete nelegerea limbajului folosit de
calculatoarele numerice la prelucrarea datelor, modul cum se realizeaz
codificarea datelor ntr-o form specific sistemelor de calcul, precum i
decodificarea limbajului folosit de acestea ntr-o form accesibil celor care
utilizeaz tehnica de calcul.
Cele dou cifre de 1 au ponderi diferite: prima reprezint 100 de uniti iar a
doua o unitate.
In continuare ne vom referi numai la sistemele de numeraie poziionale,
deoarece n sistemele de calcul se folosesc numai aceste tipuri. Numrul de
simboluri utilizat ntr-un SN reprezint baza (rdcina) sistemului de
numeraie. Referitor la baza B a unui SN putem face urtoarele observaii:
- este o valoare ntreag mai mare sau egal cu unu B 1 , B N ;
- ponderea cifrelor utilizate ntr-o reprezentare este dat de baz;
- baza se reprezint n propria baz prin succesiunea de simboluri 10.
Exemple:
a) sistemul zecimal este un sistem de numeraie n baza 10, numrul de cifre
utilizate fiind zece:
B = 10 ,
simboluri: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
b) sistemul binar este un sistem de numeraie n baza 2 i utilizeaz dou
cifre:
B = 2,
simboluri: 0, 1.
c) sistemul octal este un sistem de numeraie n baza 8, coninnd opt cifre:
B = 8,
simboluri: 0, 1, 2, 3, 4, 5, 6, 7.
d) sistemul hexazecimal este un sistem de numeraie n baza 16 i conine 16
cifre:
B = 16 ,
simboluri: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
N = 23110 = 2 10 2 + 3 101 + 1 10 0 ;
B = 8,
N = 4758 = 4 8 2 + 7 81 + 5 8 0 = 31710 ;
B = 2,
N = 1010012 = 1 2 5 + 0 2 4 + 1 2 3 + 0 2 2 + 0 21 + 1 2 0 = 4110 ;
B = 16 ,
1.1.1.2 Conversia unui numr ntreg din baza 10 ntr-o baz oarecare
N=
n 1
bi B i
(1.1)
i =0
(1.2)
0 bi < B , i = 0,L, n 1
Simbolurile bi constituie cifrele care trebuie determinate. Valoarea
reprezentrii, dat de relaia (1.1), se scrie sub forma:
N = bn 1 B n 1 + bn 2 B n 2 + K + b1 B1 + b0 .
(1.3)
Coeficienii bi se obin prin mprirea (ntreag) succesiv a lui N i a
cturilor obinute dup fiecare mprire, cu valoarea bazei B , pn se obine
ctul 0. Rezultatul conversiei numrului N este constituit din resturile obinute,
considerate n ordinea invers de apariie.
ntr-adevr, mprind expresia (1.3) la baza B se obine:
C0 = bn 1 B n 2 + bn 2 B n 3 + K + b1 i restul b0 .
Apoi, prin mprirea ctului C0 la baza B avem:
C1 = bn 1 B n 3 + bn 2 B n 4 + K + b2 i restul b1 .
Continund, se obin n mod succesiv, drept rest, simbolurile bi ale reprezentrii
numrului N n baza B .
Exemple:
1. Considerm numrul zecimal z . Reprezentarea acestuia n baza B se
obine astfel:
Ct
Rest
C0
r0 = b0
z:B
C0 : B
C1
r1 = b1
M
M
M
C n 2 : B C n 1
rn 2 = bn 2
C n 1 : B
rn 1 = bn 1
0
Deci reprezentarea numrului zecimal z n baza B este bn 1bn 2 Kb1b0 ( B ) .
1:2=0 r4 = 1
Rezult c reprezentarea n baza 2 este 101112=2310.
n general indicele de baz se scrie doar n cazurile n care pot apare confuzii de
interpretare.
1.1.1.3 Conversia unui numr subunitar din baza 10 ntr-o baz
oarecare B
N = b1 B
+ b 2 B
+ Kb m B
= b i B i .
(1.4)
(1.5)
i =1
M
M
M
Deci numrul zecimal 0, f se scrie n baza B sub forma 0, b1b 2b 3 K .
0,25 2 = 0,5
b 2 = 0
0,5 2 = 1,0
b 3 = 1
0,35 2 = 0,7
b 2 = 0
0,7 2 = 1,4
b 3 = 1
0,4 2 = 0,8
b 4 = 0
0,8 2 = 1,6
b 5 = 1
0,6 2 = 1,2
b 6 = 1
0,2 2 = 0,4
b 7 = 0
0,4 2 = 0,8
b 8 = 0
0,88 16 = 14,08
b 2 = E
0,08 16 = 1,28
b 3 = 1
0,28 16 = 4,48
b 4 = 4
0,48 16 = 7,68
b 5 = 7
0,68 16 = 10,88
b 6 = A
0,88 16 = 14,08
b 7 = E
0,08 16 = 1,28
b 8 = 1
N=
n 1
bi B i .
(1.6)
i = m
= 8 + 4 +1+
1 1
+ = 13,62510
2 8
12
= 943,7510
16
14
+ K + b m 2 m.
Octal
0
1
2
3
4
5
6
7
Tabelul 1.1
Binar
Hexazecimal
000
0
001
1
010
2
011
3
100
4
101
5
110
6
111
7
8
9
A
B
C
D
E
F
Binar
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
15
1 2
unde
+ b 2 2 + b 3
)2
+ K + (b
3l + 2 2
+ b 3l +1 2 + b 3l
)2
3l
N = bk 8 k + Kb181 + b0 80 + b 1 8 1 + K + b l 8 l ,
Exemple:
1. 245,78 = 010 100 101, 1112
a)
b)
c)
n 1 n 2
2 n 1 2 n 2
2n 3
21
20
7
1
26
6
1
25
5
1
24
4
1
23
3
1
22
2
1
21
1
1
20
n 1 n 2
n2
n 3
21
20
bn
n2
bi 2i .
(1.7)
i =0
21
N = bn 2bn 3 Kb1b0 = bi 2i ,
(1.9)
i =0
n2
K
bi 2i = 11
12
31 + 1
i =0
N c = 2 n 1 +
n2
n2
n2
i =0
i =0
i =0
bi 2i = 2 n 1 +
2i + 1
n2
(1 bi )2i + 1.
bi 2i
(1.10)
i =0
a) N = +75 = 0 1001011;
b) se inverseaz fiecare bit, inclusiv cel de semn: 1 0110100 ;
c) se adun 1: 1 0110100 + 1 = 1 0110101 , deci N c = 1 0110101 .
2. Se folosete definiia (1.8), unde n reprezint dimensiunea reprezentrii
(inclusiv semnul).
Exemplu: Pentru aflarea complementului fa de 2, pe n = 8 bii, al numrului
N = 75 se procedeaz astfel: N c = 28 N i deci
100000000 01001011
N c = 10110101 .
10110101
3. Codul complementar al unui numr negativ, N , se obine prin inversarea
biilor reprezentrii cu semn (inclusiv a bitului de semn) a valorii absolute, N ,
plecnd de la dreapta spre stnga, cu excepia primului bit de 1 i a tuturor
biilor de 0 dinaintea sa.
Exemple:
1. N = 75 . Se reprezint N cu semn N = +75 = 0 1001011 i aplicnd
regula 3 rezult: N c = 1 0110101 .
2. N = 112 N = +112 = 0 1110000 N c = 1001 0000 .
Se observ c, dac se aplic regula 1 unei valori negative reprezentate n
complement fa de 2, atunci se obine valoarea pozitiv echivalent. De
exemplu, pentru N c = 1 0110101 prin inversarea biilor obinem 0 1001010 i
prin adunarea lui 1 rezult 0 1001011 = +75 . n concluzie, pentru a interpreta o
valoare negativ reprezentat n cod complementar, se aplic regula 1 (numit i
regula de negare) i se obine numrul opus corespunztor.
Observaie: n complement fa de 2 avem o singur reprezentare pentru
valoarea zero.
N = 0 pe 8 bii se reprezint n semn-mrime prin 0 0000000 . Aplicnd prima
regul se obine: 11111111, i apoi adunnd 1 rezult reprezentarea n cod
complementar: N c = 0 0000000 .
Codul complementar este codul cel mai utilizat n reprezentarea
numerelor algebrice n calculator. Considernd c se folosesc pentru
reprezentare n bii (din care unul pentru semn), atunci domeniul de valori este:
2 n 1 , 2 n 1 1 .
Se observ c domeniul de valori nu este simetric: exist un numr negativ,
2 n 1 , care nu are corespondent pozitiv n domeniu.
23
24
0
Exponent
Mantis
m bii
e bii
[(
-Vmax
-Vmin 0
Vmin
Vmax
Fig.1.6
Dac n urma unei operaii aritmetice rezult o valoare din intervalele
( ,Vmax ] sau [Vmax , ) atunci apare fenomenul de depire a capacitii de
reprezentare: depire flotant superioar (rezultat > Vmax ), respectiv depire
flotant inferioar (rezultat < Vmax ). Acest fenomen este semnalat de ctre
calculator, execuia programului fiind abandonat, odat cu afiarea unui mesaj
corespunztor. Fenomenul de depire n formatul cu virgul mobil poate apare
numai dac se depete capacitatea de reprezentare a exponentului. Dac
rezultatul unei operaii este n intervalul ( Vmin ,Vmin ) , atunci el este considerat
ca fiind 0 i nu se semnaleaz eroare.
Pentru mrirea capacitii de reprezentare se poate mri numrul de bii
rezervai exponentului sau se alege o baz mai mare.
Exist mai multe formate de reprezentare n virgul mobil: formatul
DEC, formatul IBM, standardul IEEE, etc. Standardul IEEE (Institute of
Electric and Electronic Egineering) a fost adoptat n 1985 i majoritatea firmelor
de microprocesoare cum ar fi Intel, Motorola, SPARC i MIPS produc
coprocesoare aritmetice care lucreaz cu reprezentarea standard n virgul
mobil. Baza de reprezentare este 2. Mantisa se reprezint n valoare absolut
folosind tehnica cu bit ascuns. Condiia de normalizare a mantisei este:
1,010 M < 2,010
sau
1,00K 010 M 1,11K12 .
Deoarece partea ntreag a mantisei este ntotdeauna 1, aceasta nu se mai
reprezint n calculator, reprezentndu-se numai cifrele de la dreapta virgulei.
Standardul IEEE definete trei formate:
- simpl precizie (32 bii);
- dubl precizie (64 bii);
27
0
Mantis normalizat
Fig. 1.7
Formatul dubl precizie folosete un bit pentru semn, 11 bii pentru
exponent i 52 bii pentru mantis. Exponentul este reprezentat n cod exces
1024 (210). Caracteristicile reprezentrii n dubl precizie sunt:
Vmin = 1,00 K 0 2 2 1022 = 2,225 10 308 ;
zi =
bk pk ,
(1.20)
k =0
0000
0001
0010
0011
0100
1011
1100
1101
1110
1111
0000
0001
0010
0011
0110
1001
1100
1101
1110
1111
7421
0000
0001
0010
0011
0100
0101
0110
0111
1001
1010
Codul 8421 are ca ponderi puterile lui 2 (8=23, 4=22, 2=21, 1=20) i
cuvintele de cod sunt chiar numerele succesive n sistemul binar natural. Din
acest motiv codul 8421 se mai numete codul zecimal-binar natural NBCD
(Natural Binary Coded Decimal). n terminologia curent este denumit
(impropriu) doar codul BCD.
La codul 2421 (codul Aiken) codificarea primelor cinci cifre zecimale
este identic cu cea din codul 8421. n continuare codificarea cifrei zecimale 5
se obine din secvena corespunztoare cifrei zecimale 4 prin complementare
(complement fa de 1). Aceeai regul se aplic pentru obinerea cuvntului de
cod al cifrei 6 din cel al cifrei 3, respectiv 7 din 2, 8 din 1 i 9 din 0. Deci dou
cifre zecimale complementare fa de 9 (0 cu 9, 1 cu 8, 2 cu 7, 3 cu 6, 4 cu 5) au
cuvintele de cod obinute prin inversarea cifrelor binare. Codurile care prezint
aceast proprietate sunt denumite coduri cu autocomplementare.
29
Codul BCD este cel mai utilizat cod pentru reprezentarea cifrelor
zecimale. Unele microprocesoare accept instruciuni n limbaj de asamblare
pentru efectuarea unor calcule n BCD. Pentru reprezentarea numerelor zecimale
n cod BCD exist dou forme de reprezentare:
BCD despachetat - fiecare cifr se reprezint pe un octet, din care doar cei
4 bii mai puin semnificativi sunt folosii;
BCD mpachetat fiecare cifr se reprezint pe 4 bii deci cte dou cifre
pe octet.
1.3.6 Operaii aritmetice
1.3.6.1 Operaii aritmetice n binar, octal, hexazecimal
Operaii aritmetice n binar
Regulile de operare n binar sunt urmtoarele:
Adunare
0+0=0
0+1=1
1+0=0
1 + 1 = 10
nmulire
00 = 0
01 = 0
10 = 0
11 = 1
Scdere
00=0
10=1
10=0
0 1 = 1*
237,62510 = 11101101,1012 +
90,12510 = 1011010,0012
327,75010 = 101000111,1102
b)
c)
6,7510 = 110,112
2,7510 = 10,112
11011
11011
00000
11011
10010,10012 = 18,562510
d)
31
69,75010 = 1000101,1102
58,37510 = 111010,0112
11,37510 =
1011,0112
10011,01 101,1
1011 11,1
10000
1011
1011
1011
------
357,26
3,7
321332
131602
1637,352
- n hexazecimal
a)
AE53C +
D8E2
BBE1E
c)
5DA2
B8
2ED10
405F6
434C70
b)
d)
34022,56
1234,25
32566,31
631,06 | 254,2
530,4 | 2,3
100,46
100,46
-------
b)
F000
1
EFFF
d)
42C28 | 5AE
3E7A BC
4488
4488
------
xc = 11100010 ,
y d = 1 0110010
yc = 11001110 .
Efectund adunarea:
xc = 11100010 +
yc = 11001110
1 1 0110000
se neglijeaz transportul de la rangul de semn (carry) i deci rezult:
(x + y )c = 1 0110000 sau (x + y )d = 11010000 = - 8010 .
xd = 1 0011110
xc = 11100010 ,
y d = 11100100
yc = 1 0011100 .
Efectund adunarea:
xc = 11100010 +
yc = 1 0011100
1 0 0111110
i neglijnd transportul de la rangul semn se obine:
xc + y c = 0 0111110 = +6210 , rezultat care este eronat.
xc = 0 0110010 ,
Prin sumare rezult:
xc = 0 0110010 +
yc = 11100010 .
yc = 1 1100010
1 0 0010100
i neglijnd transportul de la rangul semn xc + yc = 0 0010100 = +2010 .
Cazul x < y
n acest caz se obine:
xc + yc = x + 2 n y = 2 n ( y x ) = ( x + y )c ,
deci nu apare transport la rangul de semn.
xi + yi = ( x + y )i ,
(1.23)
unde indicele i specific faptul c numrul este reprezentat n cod invers.
La fel ca n cazul codului complementar vom analiza adunarea a dou numere
pozitive, negative i de semne diferite. n exemple dimensiunea reprezentrii va
fi considerat n = 8 , inclusiv bitul de semn. Pentru aceast dimensiune domeniul
de reprezentare este: [ 127, 127 ] .
a) Adunarea a dou numere pozitive x 0 , y 0
Din relaia de definiie (1.12) rezult c xi = x i yi = y . Prin urmare
acest caz este identic cu cazul (a) de la codul complementar.
b) Adunarea a dou numere negative x < 0 , y < 0
Conform relaiei de definiie (1.12) a complementului fa de 1, pentru
aceste numere putem scrie:
xi = 2 n x 1
yi = 2 n y 1 .
i
n acest caz se obine:
xi + y i = 2 n x 1 + 2 n y 1 = 2 n x + y 1 + 2 n 1 =
= 2 n x + y 1 = ( x + y )i
xd = 1 0011110
xi = 11100001 ,
y d = 1 0110010
yi = 11001101 .
Efectund suma:
xi = 11100001 +
yi = 11001101
1 1 0101110 +
101011111
rezult ( x + y )i = 10101111 sau ( x + y )d = 11010000 = 8010 , rezultat corect. n
acest caz avem transport n rangul semn i transport (carry) din rangul semn.
37
xi = 11100001 ,
y d = 11100100
yi = 1 0011011 .
Rezult:
xi = 11100001 +
yi = 1 0011011
1 01111100 +
1
01111101
Deci se obine ( x + y )i = 01111101 = +12510 , rezultat eronat datorat depirii
capacitii de reprezentare.
Observm c, la fel ca la codul complementar, sesizarea depirii se poate
face prin faptul c la sumarea a dou numere negative a rezultat un numr
pozitiv sau c exist transport de la rangul de semn (carry) dar nu avem transport
spre rangul de semn. De asemenea, depirea poate fi sesizat prin introducerea
a dou cifre binare pentru semn (00 pentru + i 11 pentru ).
c) Adunarea a dou numere de semne diferite
n acest caz nu poate s apar depire. Fie dou numere de semne opuse:
x > 0 i y < 0 . Analizm pe rnd cazurile n care x > y i x < y .
Cazul x > y
Se obine:
xi + yi = x + 2 n y 1 = 2 n 1 + x y = x y = ( x + y )i
unde s-a fcut corecia 2 n 1 = 0 , ceea ce este echivalent cu adunarea
transportului de la rangul de semn la rangul cel mai puin semnificativ.
Exemplu: Considerm numerele zecimale x = 50 i y = 30 . Reprezentrile n
cod invers sunt:
xi = 0 0110010 ,
yi = 11100001 .
Prin sumare rezult:
38
xi = 0 0110010 +
yi = 1 1100001
1 0 0010011
1
0 0010100
i deci rezultatul este ( x + y )i = 0 0010100 = +2010 .
Se observ c exist transport i spre rangul semn i din rangul semn.
Cazul x < y
Din definiia codului invers se obine:
xi + yi = x + 2 n + y 1 = 2 n 1 + x + y = ( x + y )i ,
deci nu apare transport de la rangul semn.
Exemplu: x = 30 i y = 50 xi = 0 0011110 , yi = 11001101
xi = 0 0011110 +
yi = 1 1001101
0 1 1101011
Rezultatul este ( x + y )i = 11101011 sau ( x + y )d = 10010100 = 2010 .
Scderea a dou numere n cod invers reprezint un caz particular de
adunare, n care se adun desczutul cu opusul scztorului, reprezentat tot n
cod invers.
Observaie. Utilizarea codului invers prezint aceleai avantaje ca la codul
complementar, exceptnd faptul c rezultatul unei adunri nu se mai obine
printr-o singur operaie, fiind nevoie de o corecie.
1.3.6.4 Operaii cu numere n reprezentate n virgul mobil
x = 0,112 = 0,11 2 0 ,
y = 1112 = 0,111 2 3
Deoarece y are exponentul mai mare, x se va alinia corespunztor:
x = 0,112 = 0,00011 2 3
x + y = 0,00011 23 +
0,11100 23
0,11111 23
Nu este necesar normalizarea mantisei.
Deci x + y = 0,11111 2 3 = 111,112 = 7,7510 .
y = 10012 = 0,1001 2 4
5683 +
2794
8477
0101 +
0010
0001
1000
8
0110 +
0111
0001
1110 +
0110
1 0100
4
1000 +
1001
1 0001 +
0110
0111
7
0011 +
0100
0111
7
Mai sus transportul aprut din tetrada anterioar este evideniat prin .
Scderea n zecimal codificat binar se efectueaz astfel:
1. fiecare cifr zecimal se exprim printr-o tetrad binar;
2. se efectueaz scderea poziie cu poziie; dac pentru o poziie nu este
necesar mprumutul de la poziia urmtoare, atunci rezultatul este corect;
3. dac este necesar un mprumut, acesta va declana execuia urmtoarelor
operaiuni:
se scade 1 de la poziia urmtoare;
se adun 16 (10000) la desczutul operaiei curente;
se efectueaz scderea;
se scade 6 (0110) din rezultat pentru corecie, deoarece s-a mprumutat
16 i nu 10 ct era necesar.
Exemplu: S se efectueze n cod BCD diferena 539-175
539 275
264
1 0011 0111
1100 0110
0110
6
0101 0001
0100 0010
0010
2
41
1001 0101
0100
4
Semnificaie
BS (Back Space)
HT (Horizontal Tabulation)
LF (Line Feed)
VT (Vertical Tabulation)
FF (Form Feed)
CR (Cariage Return)
Cel mai simplu cod care permite detecia unei erori sau a unui numr
impar de erori este codul cu bit de paritate. La emisia cuvntului de cod se
adaug un bit de paritate calculat astfel nct numrul biilor diferii de zero ai
noului cuvnt de cod s fie par sau impar n funcie de convenia adoptat. La
43
paritate par numrul total de bii de 1 (mpreun cu bitul de paritate) este par.
La paritate impar numrul total de bii de 1 (mpreun cu bitul de paritate) este
impar. Adugarea bitului de paritate la un cuvnt de cod poart denumirea de
paritate orizontal. La recepie se recalculeaz paritatea cuvntului de cod
recepionat i dac aceasta este diferit de cea stabilit nseamn c a aprut o
eroare sau un numr impar de erori.
Observaie. Codul cu bit de paritate permite detectarea strii de eroare,
adic existena unei erori, i nu determinarea exact a erorii.
De exemplu, se poate obine un cod pentru detectarea erorilor dac se
consider codul 8421 cruia i se adaug, n stnga, un bit de paritate. Utilizm
paritate impar i atunci noile cuvinte de cod pentru cifrele (0-5) sunt:
p 8 4 2 1
1 0 0 0 0
0 0 0 0 1
0 0 0 1 0
1 0 0 1 1
0 0 1 0 0
1 0 1 0 1
S presupunem c la recepie, n loc de ultimul cuvnt 10101, s-a recepionat
cuvntul 10111. Analiznd bitul paritatea cuvntului se constat c este par i
deci acest cuvnt este greit deoarece s-a utilizat paritate impar.
1.5.2 Coduri cu paritate ncruciat
K
am1 am 2 L amn
44
Control
linie
l1
M
lm
Control
coloan
c1
c2
K cn
cn +1
Cifra
Secvena Simboluri
zecimal
informaionale
s1
0000
0
s2
1
0001
s3
2
0010
s4
3
0011
s5
4
0100
s6
5
0101
Control coloan
0001
Control
linie
0
1
1
0
1
0
1
O secven este reprezentat prin codificarea unei singure cifre zecimale. Blocul
de informaie recepionat este urmtorul:
0000 0
0011 1
0010 1
0011 0
0100 1
0101 0
0001 1
La verificarea corectitudinii recepiei se constat c:
l 2 l 2calculat i c3 c3calculat .
Deci blocul a fost transmis eronat. Eroarea este n secvena s 2 pe poziia 3.
1.5.3 Coduri polinomiale ciclice
T ( x) M ( x) R( x) M ( x) R( x)
=
=
G ( x)
G ( x)
G ( x)
G ( x)
i folosind relaia (1.24) se obine:
T ( x)
R( x) R( x)
= C ( x)
= C ( x) .
G ( x)
G ( x) G ( x)
14
4244
3
=0
= C ( x)
.
G ( x)
G ( x) G ( x) G ( x)
Se observ c dac E (x) este multiplu al lui G ( x) , mesajul recepionat este
validat, dei conine erori. Dac E (x) nu este multiplu al lui G (x) , atunci
eroarea este sesizat.
Prin aceast metod sunt determinate toate pachetele de erori de lungime
mai mic dect gradul lui G ( x) + 1 . Prin pachet de erori se nelege o succesiune
de simboluri, corecte sau eronate, n care primul i ultimul simbol sunt eronate.
n transmisia datelor se folosesc trei polinoame generatoare, considerate
standarde internaionale:
CRC - 12 = x12 + x11 + x 3 + x 2 + x + 1 ,
CRC - 16 = x16 + x15 + x 2 + 1 ,
CRC - CCITT = x16 + x12 + x 5 + 1 .
Exemple:
1. S se determine mesajul transmis tiind c mesajul de transmis este
M = 1110101 i polinomul de generare este G ( x) = x 3 + x + 1 .
Rezolvare:
M ( x) = x 6 + x 5 + x 4 + x 2 + 1 ;
47
x 9 + x8 + x 7 +
x9 +
x3 + x + 1
x5 + x3
x7 + x6
x6 + x5 + x3
x8 +
x6 + x5 + x3
x8 +
x6 + x5
x3
x3 + x + 1
x +1
Observaie. Adunarea i scderea n modulo 2 sunt echivalente.
Rezult c R( x) = x + 1 .
Polinomul transmis este T ( x) = M ( x) R ( x) :
T ( x) = x 9 + x 8 + x 7 + x 5 + x 3 + x + 1 .
Coeficienii acestui polinom reprezint mesajul ce se va transmite:
T = 1110101
011
{ .
1
424
3
simboluri
informationale
simboluri de
control
p1
B
p2
B
a3
B
48
p4
B
a5
B
a6
B
a7
B
Exemplu:
b) Compresia LZW
Compresia LZW (Lempel-Ziv-Welch) a devenit foarte cunoscut datorit
utilizrii n formatele de fiiere de tip GIF (Graphical Interchange Format) i a
compresiei foarte bune a fiierelor de imagine. Accesul se realizeaz la nivel de
octet. Metoda a fost publicat n 1977 de ctre J. Ziv i A. Lempel i mbuntit
apoi de ctre T. Welch n 1984.
Principiul compresiei LZW este nlocuirea irurilor de intrare care se
repet prin coduri de n bii. Pentru aceasta se utilizeaz o tabel de iruri de
caractere, numit tabel de codificare sau tabel de cutare, care este o
coresponden ntre irurile de caractere i codurile de compresie. Tabela se
iniializeaz cu iruri de cte un caracter, avnd, iniial, un numr de intrri egal
cu numrul de caractere distincte din mesaj. Codul irului reprezint chiar
indexul n tabel. Dimensiunea tabelei se modific pe msur ce se parcurge
mesajul.
Paii algoritmului sunt:
se delimiteaz n mesaj un ir s de lungime maxim, astfel nct s se
potriveasc cu un ir existent n tabel;
se scrie codul irului s n fiierul de ieire (fiierul comprimat);
se genereaz un nou ir din irul s la care se adaug urmtorul caracter
din mesaj. Notm acest nou ir cu s ;
se scrie irul s n tabel, dndu-i-se un nou cod;
se reia de la primul pas, ncepnd din poziia ultimului caracter citit din
mesaj.
Exemplu: fie mesajul ce conine 18 caractere:
abbcdabbdaabbbcbbb
Iniial tabela are patru intrri, ce conin irurile:
s1 = a (cod 1); s2 = b (cod 2); s3 = c (cod 3); s 4 = d (cod 4).
50
5
6
7
8
9
10
11
12
13
14
15
c) Codificarea Huffman
A fost introdus de David Huffman i este dependent de frecvena de
apariie a caracterelor ntr-un mesaj. Caracterele nu se mai reprezint pe acelai
numr de bii. Lungimea codului unui caracter este invers proporional cu
frecvena de apariie a caracterului n mesaj.
Codurile caracterelor nu sunt unice, dar respect regula prefixului: codul
oricrui caracter nu este prefix al codului altui caracter. Codificarea Huffman
determin codul optim, folosind un numr minim de bii. Pentru a determina
codurile caracterelor trebuie cunoscute frecvenele de apariie a caracterelor n
mesaj sau ponderile lor. Lungimea medie a unui mesaj se determin cu relaia:
l m = pi ni bii/caracter,
unde pi este ponderea caracterului i , ni este numrul de bii pe care se codific
caracterul i .
Metoda folosete o structur de date de tip arbore binar (exist un nod
rdcin i fiecare nod are cel mult doi fii: fiu stnga i fiu dreapta), n care
caracterele din mesaj sunt frunze.
Metoda de codificare presupune urmtorii pai:
se stabilete frecvena de apariie pi a fiecrui caracter din mesaj;
se nlocuiesc dou caractere, cu ponderea minim, cu un caracter fictiv,
avnd ca pondere suma ponderilor celor dou caractere. Caracterul nou
creat introduce un nod n arbore, avnd ca fii cele dou caractere;
se continu recursiv procesul pn cnd n lista de caractere rmne un
singur caracter.
Dup construirea arborelui, codul unui caracter se determin traversnd
arborele de la rdcin pn la frunza care conine acel caracter. De-a lungul cii
parcurse, pentru fiecare fiu stnga se adaug un bit 0 la codul caracterului, iar
pentru fiecare fiu dreapta se adaug un bit 1. Codul astfel obinut nu este unic,
deoarece convenia de a aduga la codul caracterului un bit 0 sau 1, dup cum se
parcurge fiul stnga, respectiv dreapta al nodului fictiv, poate fi inversat.
Totui, numrul de bii pe care se codific fiecare caracter din mesaj este unic.
Exemplu: Considerm un mesaj format din cinci caractere, notate simbolic cu:
a, b, c, d, e. Ponderile caracterelor din mesaj sunt: 0.12, 0.4, 0.15, 0.08 i 0.25.
Arborele care se construiete este:
d
0.08
a
0.12
c
0.15
e
0.25
x
0.2
y
0.35
z
52
b
0.4
0.6
w
1
Folosim convenia: 0 pentru fiul stnga i 1 pentru fiul dreapta.
0
b
1
1
0
e
0
c
1
0
cod
0
10
110
1110
1111
54
Capitolul 2
ALGEBR LOGIC. CIRCUITE LOGICE
2.1. Elemente de algebr boolean
Algebra boolean sau algebra logicii reprezint o metod simbolic
pentru studierea relaiilor logice. Bazele acestei algebre au fost puse de
matematicianul englez George Boole n anul 1853, n lucrarea sa intitulat
Analiza legilor gndirii. Boole a fost primul care a introdus o simplificare n
reprezentarea i manipularea propoziiilor bivalente. Algebra boolean a fost
dezvoltat ulterior de E. Schrder, A.N. Witehead, B. Russel i C.E. Shannon,
acesta din urm fiind cel care a introdus denumirea de poart logic (SAU
respectiv I).
Ulterior, algebra boolean i-a gsit o larg aplicabilitate n analiza i
sinteza schemelor componente i blocurilor funcionale ale calculatoarelor
electronice numerice, datorit faptului c acestea utilizeaz elemente fizice
caracterizate prin dou stri distincte i lucreaz cu semnale care reprezint dou
valori, denumite semnale binare. Algebra boolean este construit pe o mulime
cu dou valori aflate n coresponden direct cu valorile semnalelor binare i cu
strile componentelor fizice ale calculatoarelor. Mai exact, algebra logicii
lucreaz cu propoziii reprezentnd afirmaii despre care se spune c sunt
adevrate sau false. Unei propoziii adevrate i se asociaz simbolul (valoarea)
1, iar uneia false simbolul (valoarea) 0.
n acest context simbolurile 0 i 1 au dimensiune calitativ nu cantitativ.
O propoziie nu poate fi simultan i adevrat i fals.
Definiie: Algebra boolean este o mulime de dou elemente M={0,1},
nzestrat cu dou legi de compoziie notate cu + (U) i (), o lege de
complementare notat cu (non) i un numr de axiome.
Pentru fiecare din legile algebrei booleene exist cte un operator
fundamental, ce poate fi definit prin tabel de adevr, funcie logic i simbol
grafic.
Operatorul sum logic (+) a dou variabile x i y, mai este denumit
reuniune (U sau V), SAU (OR) sau disjuncie i se definete cu urmtorul tabel
de adevr:
55
0
0
1
1
0
1
0
1
x+y
(x U y sau x V y)
0
1
1
1
Simbol
Funcia logic
f=x+y
0
0
1
1
0
1
0
1
xy
(x y sau x y)
0
0
0
1
Funcia logic
f=xy
Simbol
x
1
0
Funcia logic
f =x
x , y M (x y ) M
xM.
56
x=x .
6. Teoremele complementrii:
a) principiul contradiciei
b) principiul terului exclus
7. Teoremele de idempoten:
x x = 0;
x + x = 1.
x + x = x;
xx = x.
8. Teoremele de absorbie:
x + (x y ) = x ;
x (x + y ) = x .
9. Comutativitatea:
x + y = y + x;
xy = yx.
10. Asociativitatea:
x + (y + z ) = (x + y ) + z;
x ( y z ) = (x y ) z .
11. Distributivitatea:
x (y + z ) = x y + x z;
x + y z = (x + y ) (x + z ) .
57
M
,
f(x
,
x
,...x
)
=
0
1
n
1
1
424
3
1
n ori
propozitie falsa;
propozitie adevarata .
Funciile logice se pot reprezenta n cel puin trei moduri: sub form de
tabele de adevr, prin realizant sau printr-o expresie logic.
1) O funcie logic se definete sub forma unui tabel de adevr, care conine
valorile variabilelor n toate combinaiile posibile i valorile corespunztoare
ale funciei. Pentru n variabile logice, numrul de combinaii de valori
posibile este 2n. De pild, pentru 3 variabile exist 23=8 combinaii ca n
tabelul de mai jos:
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
f(x,y,z)
1
0
0
1
1
1
0
0
La rndul su, funcia boolean este de fapt o variabil binar ale crei
valori depind de variabilele x, y, z. Variabilele x, y, z se numesc independente
(pot fi alese arbitrar), iar f(x,y,z) este variabil dependent de variabilele
independente.
58
Dou funcii logice sunt egale dac n urma evalurii fiecrei funcii
pentru toate combinaiile posibile, se obin valori identice.
Exemple
Expresii echivalente
2. S se demonstreze teoremele lui DeMorgan x + y = x y, x y = x + y ,
utiliznd tabelul de adevr.
Tabelul 2.2. Tabelul de adevr pentru teoremele lui DeMorgan
x
y
xy
xy
y
x + y x+y x + y
x
0
0
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
1
0
1
1
1
0
Expresii echivalente
0
1
1
1
1
0
0
0
xy
1
0
0
0
Expresii echivalente
2) Definirea unei funcii logice prin realizant. n acest caz se precizeaz pentru
ce combinaii (exprimate n zecimal) ale variabilelor de intrare funcia ia
valoarea 1 sau 0. De exemplu, pentru
f(x,y,z)=R1(0,2,3,7),
59
f(x,y,z)
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
0
0
1
Definirea unei funcii logice prin expresii logice (definire analitic). Orice
funcie logic
f:{0,1}x......x{0,1}{0,1},
poate fi exprimat printr-o expresie logic n care sunt utilizate toate variabilele
independente, legate ntre ele prin operatorii de adunare logic, produs logic i
negare. De exemplu, funcia logic definit anterior prin realizant n 1,
f(x,y,z)=R1(0,2,3,7), se poate exprima analitic sub forma:
f ( x , y, z ) = x y z + x y z + x y z + x y z .
Definiie: Fiind dat o funcie logic, duala acesteia se obine inversnd
ntre ele produsul cu suma, 1 cu 0, variabilele rmnnd neschimbate. S
considerm de exemplu, cele dou teoreme ale complementrii, care reprezint
de fapt dou funcii logice duale:
x + x =1
.
xx =0
Dac dou funcii sunt egale, atunci i dualele lor sunt egale.
Definiie: O funcie boolean de n variabile este simetric din punct de
vedere a variabilelor, dac orice permutare ale acestor variabile nu schimb
funcia. Funcia f(x,y,z)=xy+xz+yz i duala acesteia f(x,y,z)=(x+y)(x+z)(y+z)
60
Echivalent
zecimal
0
1
3
5
6
0
0
0
1
1
0
0
1
0
1
0
1
1
1
0
0
0
1
1
0
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
f
0
0
1
0
2. Suma logic a doi maxtermi Mi i Mj, cu ij, ai unei funcii logice, este
egal cu 1. Calculm M 0 + M1 = x + y + z + x + y + z = x + y + (z + z ) = 1 .
123
1
Echivalent
zecimal
0
1
2
3
mi
Mi
0
0
1
1
0
1
0
1
m0 = x y
m1 = x y
m2 = x y
m3 = x y
M0 = x + y
M1 = x + y
M2 = x + y
M3 = x + y
x + xy+ xy+ {
M1 M 2 M 3 = ( x + y) ( x + y) ( x + y) = ( x{
y y) ( x + y ) =
0
x y + x x y + x y + x y y = x y = m0 .
123
123
0
m1 + m 2 + m 3 = x y + x y + x y = x y + x y + x y + x y =
y (1
x2
+3
x ) + x (y + y ) = x + y = M 0 .
123
1
2 n 1
i=0
mi fi =
2 n 1
U mi fi
i=0
2 n 1
2 n 1
i=0
i=0
(M i + f i ) = I (M i + f i ) ,
yj=fj(x1,. . .,xn) .
Att intrrile ct i ieirile sunt mrimi binare ce fac parte din mulimea
binar M={0,1} i se materializeaz prin prezena unor impulsuri de tensiune
sau de curent. Funciile fj poart numele de funcii de rspuns sau de transfer ale
circuitului. Circuitele logice sunt combinaionale sau secveniale i vor fi
descrise n cele ce urmeaz. Deocamdat ne oprim asupra porilor logice, care
reprezint cele mai simple circuite combinaionale i care sunt asociate unor
funcii logice importante.
n cazul circuitelor poart, ieirea la un moment dat nu depinde de starea
anterioar a circuitului ci numai de combinaia existent la un moment dat ntre
variabilele de intrare. Pe lng porile logice fundamentale prezentate deja
(AND, OR, NOT), exist cteva pori importante care materializeaz funcii
logice des ntlnite n analiza i sinteza circuitelor logice.
n cele ce urmeaz sunt prezentate cteva funcii importante i porile
logice corespunztoare.
x
0
0
1
1
R1
T2
x
D1
T3
D3
T1
R4
f
T4
D2
R3
Fig. 2.1. Schema electric a unei pori logice NAND, n tehnologie TTL
n schem, x i y reprezint intrrile, f ieirea porii iar Vcc tensiunea de
alimentare de +5 V. Dac ambele intrri sunt pe 1 logic, adic la un nivel ridicat
de tensiune, tranzistorul T1 este blocat deoarece ambele jonciuni emitor baz
sunt blocate. Prin urmare nivelul de tensiune din baza tranzistorului T2 este
ridicat, acesta se deschide i intr n saturaie, rezultnd un curent prin R2 i R3.
La rndul su tranzistorul T4 se satureaz datorit cderii de tensiune pe R3, iar
n colectorul acestuia vom avea un nivel sczut de tensiune ceea ce determin
blocarea tranzistorului T3. Astfel calea R4, T3, D3 este blocat i n punctul f vom
avea nivel sczut de tensiune asociat cu 0 logic.
Dac una din intrri este pe 0 logic, deci nivel sczut de tensiune, se
deschide jonciunea emitor baz corespunztoare, T1 se satureaz, n colectorul
su vom avea tensiune sczut ce nu poate deschide tranzistorul T2, acesta se
blocheaz i prin R3 nu circul curent. T4 va fi blocat iar T3 saturat datorit
tensiunii ridicate din baza acestuia (cderea de tensiune pe R2). La ieirea porii
(f) vom avea un potenial ridicat de tensiune care va codifica 1 logic.
Poarta NAND constituie un sistem complet, adic, folosind numai aceast
poart putem implementa orice expresie logic. Operatorii NOT, AND i OR
pot fi implementai cu pori NAND.
65
0
0
1
1
0
1
0
1
1
0
0
0
x
0
0
1
1
x
y
xy
0
0
1
f = x y = (x + y ) ( x + y ) = x y + x y
0
1
0
1
0
0
1
1
1
Se poate demonstra uor c x y = x y . Funcia COINCIDEN se bucur
de proprietile de asociativitate i comutativitate.
Funcia INHIBARE a dou variabile x i y, nseamn att x ct i non y,
adic x y . Evident exist i forma x y .
Funcia IMPLICARE a dou variabile x i y, reprezint complementara
funciei INHIBARE i are una din expresiile x + y sau x + y .
67
f ( x 0 , x1 ,...x n 1 ) =
2 n 1
i=0
mi =
2 n 1
mi ,
i=0
2 n 1
2 n 1
i=0
i=0
Mi = Mi ,
68
x2
0
0
0
0
1
1
1
1
x1
0
0
1
1
0
0
1
1
x0
0
1
0
1
0
1
0
1
69
(x 2 + x1 + x 0 ) + (x 2 + x1 + x 0 ) + (x 2 + x1 + x 0 ) + (x 2 + x1 + x 0 ) + (x 2 + x + x 0 ),
implementarea numai cu pori fiind NOR prezentat n figura 2.8.
71
x0
DeMorgan
(x 3 + x 2 ) (x1 x 0 ) + (x 3 + x 2 ) x1 x 0 = (x 3 + x 2 ) (x1 x 0 + x1 x 0 ) =
(1
x 3 + x 2 ) x 1 (x 0 + x 0 ) = x 3 x 2 x 1 .
424
3
1424
3
DeMorgan
x 1 x 0 (x 2 + x 2 ) + x 2 x 0 (x 1 + x 1 ) + x 2 x 1 (x 0 + x 0 ) =
1424
3
1
424
3
1424
3
1
x1 x 0 + x 2 x 0 + x 2 x1.
Metoda de minimizare Veitch-Karnaugh
Definiie. Separarea unui ir de variabile n dou grupe se numete partiie
de variabile. Pentru irul de n variabile:
x n 1x n 2 L x1x 0
[x n 1 L x p ] ,
[x p 1 L x 0 ]
72
f ( x 3 , x 2 , x1 , x 0 ) = x 3 x 2 x1 x 0 + x 3 x1 x 0 + x 3 x1 x 0 + x 3 x 2 x 0 .
144244
3 14243 14243 14243
I
II
III
IV
n acest caz, grupa I conine un singur element iar grupa IV conine dou
elemente simetrice fa de axa vertical median, elemente cu echivalenii
zecimali 8 i 10.
3. S se minimizeze funcia f(x3,x2,x1,x0)=R1(4,5,8,9,10,12,13).
x1x0
x3x2
00
01
11
10
00
01
1
1
1
1
1
1
11
10
1
73
x3x2
00
01
11
10
00
01
11
10
1
1
x3x2
00
01
11
10
00
01
11
0
0
10
0
0
Elementele matricei se grupeaz cte patru, fiind simetrice dou cte dou fa
de axa vertical i cea orizontal. Funcia minimizat are forma
f ( x 3 , x 2 , x 1 , x 0 ) = (x 2 + x 0 ) (x 2 + x 0 ) .
5. S se sintetizeze i s se implementeze funciile de complementare fa
de 9 a codului 8421.
Pentru a rezolva aceast problem este necesar s se alctuiasc tabele de
adevr pentru enunul problemei, dup care se gsete forma minimal pentru
funciile logice de ieire funcie de variabilele de intrare. n final, se
implementeaz funciile obinute utiliznd pori logice. Tabelul de adevr este
prezentat mai jos. Variabilele xi sunt independente, indicele reprezentnd
74
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
11
10
10
f2
f1
x1x0
00
01
11
10
x1x0
00
01
11
10
x3x2
x3x2
00
1
1
00
1
1
01
1
1
01
1
11
11
10
10
1
75
f 2 = x 2 ; f1 = x1
.
.
.
Circuit
combinaional
.
.
.
y0
ym-1
x0
.
.
.
xn-1
y
MUX
. . .
s0
sm-1
s1
0
0
1
1
y
x0
x1
x2
x3
DMUX
.
.
.
y0
yn-1
. . .
s0
sm-1
Fig. 2.14. Schema bloc a unui demultiplexor
79
s0
0
1
0
1
y0
1
0
0
0
y1
0
1
0
0
y2
0
0
1
0
y3
0
0
0
1
A>B
A
B
A=B
COMP
A<B
a)
b)
Fig. 2.15. Schema bloc (a) i cea cu pori logice a unui comparator
Decodificatorul este un circuit digital combinaional cu n intrri
(x0,x1,...xn-1) i m ieiri (y0, y1,...ym-1), cu m=2n (fig. 2.16). La un moment dat
este activat o singur ieire yk avnd numrul de ordine k, reprezentat codificat
de intrri, n timp ce toate celelalte ieiri sunt inactive.
x0
xn-1
.
.
.
DEC
.
.
.
y0
ym-1
x2
0
0
0
0
1
1
1
1
x1
0
0
1
1
0
0
1
1
x0
0
1
0
1
0
1
0
1
y7
0
0
0
0
0
0
0
1
y6
0
0
0
0
0
0
1
0
y5
0
0
0
0
0
1
0
0
y4
0
0
0
0
1
0
0
0
y3
0
0
0
1
0
0
0
0
y2
0
0
1
0
0
0
0
0
y1
0
1
0
0
0
0
0
0
y0
1
0
0
0
0
0
0
0
x0
xm-1
.
.
.
.
.
.
COD
y0
yn-1
x1
0
0
1
0
x0
0
0
0
1
y1
0
0
1
1
y0
0
1
0
1
81
Tin
b3 b2 b1 b0 a3 a2 a1 a0
Tout
c3 c2 c1 c0
82
.
.
.
CLS
.
.
.
Elemente de
memorare
y0
.
.
.
ym-1
.
.
.
g(s1,0)=s1
g(s1,1)=s2
g(s2,0)=s2
g(s2,1)=s1
f(s1,0)=0
f(s1,1)=0
f(s2,0)=1
f(s2,0)=1
84
palier
front
cresctor
front
descresctor
T
Fig. 2.23. Tren de impulsuri
La bistabilul RS sincron (fig. 2.24) starea curent (momentul t) este
considerat Qt, cea dinaintea impulsului de ceas, iar starea urmtoare (momentul
t+1) este considerat Qt+1, cea care rezult dup impulsul de tact. Acest bistabil
comut pe frontul pozitiv (cresctor) sau pe palierul impulsului de tact. Intrrile
R i S sunt active pe 1 logic.
85
R
0
0
1
1
x
S
0
1
0
1
x
Q t +1
Q t +1
Qt
Qt
0
1
1
0
nedeterminare
Qt
Qt
Bistabilul RS master-slave
Un bistabil master-slave este compus din dou bistabile simple conectate
n cascad (fig. 2.25).
Q t + 1 Q t +1
0
1
1
x
0
1
Qt
Qt
Qt
Qt
Qt
Qt
Bistabilul JK
Acest bistabil elimin nedeterminarea existent la bistabilul RS, avnd
urmtorul tabel de adevr:
Q t +1
0
0
1
1
0
1
0
1
Qt
0
1
Qt
bk
R0
R1
b1
Rn-1
R1
b0
R0
Rn-1
R1
R0
0,1 R
n-1
0,1
a)
Rn-2
R0
b)
89
Rn-1
R1
Rn-1
R0
Rn-2
R0
a)
b)
Fig. 2 32. Rotirea registrelor: a stnga, b - dreapta
n calculatoarele numerice registrele sunt folosite ca locaii de memorie
rapid pstrnd date care urmeaz s fie prelucrate. n registre se pot pstra date,
adrese, coduri de instruciune, operanzi, rezultate, informaii de stare.
Numrtoare
Numrtorul este un circuit logic secvenial care numr (contorizeaz)
impulsurile aplicate la intrare. La fiecare impuls aplicat, fiecare bistabil i
modific starea conform conveniei de numrare. Numrtoarele se clasific
funcie de urmtoarele caracteristici:
Modul de codificare a informaiei: binar, binar-zecimal, exces 3, Gray;
Modul de comutare a bistabilelor: sincron (bistabilele ce compun
numrtorul basculeaz simultan funcie de semnalul de tact i de
informaiile aplicate la intrare), asincron (informaia se propag spre
ieire pas cu pas);
Sensul de numrare: direct, invers, reversibil (numr nainte i
napoi), ciclic.
Numrul de stri distincte ale unui numrtor se numete modul de
numrare i se noteaz cu c. Pentru a determina numrul de bistabile, n,
necesare realizrii unui numrtor se utilizeaz relaia 2 n c .
Funcionarea unui numrtor se poate ilustra prin graful strilor n care:
ntre dou noduri exist un singur arc de cerc;
Starea circuitului este reprezentat prin ieirile elementelor bistabile;
Numrtorul primete un semnal de ceas pe baza cruia are loc tranziia
dintr-o stare n alta.
Un numrtor se realizeaz simplu prin utilizarea unor bistabile de tip JK.
Ieirea unui bistabil se conecteaz la intrarea de tact a urmtorului, astfel c
apare o ntrziere succesiv pentru fiecare impuls numrat.
90
Capitolul 3
ARHITECTURA UNUI SISTEM DE
CALCUL SECVENIAL
3.1. Schema bloc a unui calculator (modelul von Neumann)
Prin arhitectura unui sistem de calcul se nelege totalitatea dispozitivelor
componente precum i a conexiunilor existente ntre aceste dispozitive.
Arhitectura sistemelor de calcul actuale provine din dezvoltarea unui model
introdus de matematicianul John von Neumann n 1945, numit i model sau
arhitectur von Neumann. Majoritatea calculatoarelor moderne respect acest
model, ceea ce difer fiind doar tehnologia utilizat n realizarea modulelor
componente, modalitile de conectare dintre module i performanele atinse.
Arhitectura von Neumann const din trei tipuri de dispozitive (fig. 3.1):
unitatea central de prelucrare UCP (CPU Central Processing Unit);
memoria;
dispozitive de intrare/ieire I/O.
Memorie
Unitate
central
de
prelucrare
Magistral de adrese
Magistral de date
Magistral de comenzi
Dispozitive
I/O
UCC
UAL
date
MEM
date
Canale I/O
comenzi
rezultate
instruciuni
instruciuni i
date iniiale
MEM
EXT
DPI/
DP/O
n locaii de meorie
cuvnt memorie
Fig. 3.3 Model de organizare a memoriei unui sistem de calcul
n acest model, memoria este considerat ca o colecie de n locaii de memorie
consecutive. Toi productorii de calculatoare au adoptat standardul locaiei de
memorie de 8 bii (un octet sau byte), aceasta fiind cea mai mic unitate de
memorie adresabil. Octeii pot fi grupai n cuvinte de 16 bii, 32 bii sau 64
bii. Importana cuvntului provine din faptul c majoritatea instruciunilor unei
UCP opereaz cu cuvinte ntregi. Astfel, o unitate central de prelucrare pe 32
respectiv 64 de bii are registre de 32 respectiv 64 de bii.
Trebuie precizat c modelul de organizare liniar a locaiilor de memorie
este destul de simplist. n realitate, memoria unui calculator este structurat pe
mai multe nivele, fiecare nivel avnd anumite caracteristici i fiind implementat
cu tipuri diferite de circuite i dispozitive. Chiar n cadrul aceluiai nivel, de
obicei organizarea nu este liniar (cazul memoriilor de mare capacitate). Totui,
indiferent de dispozitivul sau componenta fizic folosit, informaia este
memorat n binar.
95
Locaiile de memorie pot fi organizate liniar (fig. 3.4a), cnd fiecare linie
conine o locaie, sau matriceal (fig. 3.4b), cnd fiecare element de matrice
conine o locaie.
coloane
adrese
locaii
0 bm-1 b1 b0
1
2
n-1
0
linii
c-1
0
1
2
l-1
locaie bm-1 b1
a)
b0
b)
l
linii de adres
p
Memorie
m
linii de date
linii de control
Fig. 3.5 Conexiunile unui circuit de memorie
linii de
adres
A0
A1
Memorie
1kB
A9
linii de
control
R /W
D0
D1
linii de
date
D7
CS
99
cuvnt 0
A0
A1
cuvnt 1
celul de bit
Dec.
Adr.
Al-1
cuvnt 2l 1
CS
PROG
OE
Logic de
control
Amplificatoare date
Dm-1 Dm-2
D1
D0
Vcc
WL
DL
F
DL
a)
b)
WL
T1
DL
T2
c)
102
A0
A1
Dec.
Adr.
Al-1
CS
R /W
0
1
2l 1
Amplificare
Amplificare
la citire
la scriere
m
m
Circuite de intrare/ieire
Logic de
control
Dm-1 Dm-2
D1
D0
Fig. 3.9 Schema bloc intern a unui circuit de memorie RAM static
Memorii RAM dinamice DRAM
Pentru a realiza o capacitate de stocare mare se simplific structura celulei
elementare. Astfel se obine o densitate de integrare mai mare i un consum de
putere mai mic. Simplitatea duce ns la un dezavantaj: celula de bit pierde
informaia n timp i aceasta trebuie regenerat periodic. Perioada de regenerare
este tipic de 2 ms i nu depinde de capacitatea circuitului.
WL/W
WL/R
T2
T1
T3
C
DL
Fig. 3.10 Celul de bit de memorie dinamic
realizat cu trei tranzistoare MOS
n principiu, celula de bit este un condensator care are dou stri: ncrcat
cu sarcin electric i descrcat. O stare se codific prin 1 logic, iar cealalt prin
0 logic. De fapt, celula de bit are ca suport fizic starea de funcionare a unui
103
0
RAS
Registru l/2
adres
linie
2l/2-1
0
1
2
M
Dec.
adr.
linie
2l/2-1
A0
A1 l/2
Al/2-1
Registru l/2
adres
coloan
Mux/Dmux
l/2
2 -1:1/1: 2l/2-1
OD
CAS
R /W
ID
CKE
CLK
WE\
CS\
CAS\
RAS\
Bloc
de
control
Adr. A.
adr.
Contor
regenerare
M
U
X
Reg.
adr.
+
dec.
Blocuri
de
memorie
Poart
intrare/
ieire
Ctrl.
blocuri
Ctrl.
reg.
col.
A.
ie.
Date
A.
int.
R.
col.
Adresa relativ n
segment
Locaie de
memorie
Adresa maxim
depunere
ultima informaie
depus
prima informaie
extras
110
Memoria fizic
POP
PUSH
adrese mici
vrful stivei
stiva
baza stivei
adrese mari
Fig. 3.15 Organizarea sub form de stiv
Memoria virtual
Memoria virtual este un concept arhitectural prin care memoria intern
este extins peste spaiul de adresare al memoriei externe. Memoria virtual se
poate implementa prin segmentare sau paginare. Aceste tehnici pot fi combinate
pentru extinderea virtual a spaiului de adresare. Mecanismul memoriei virtuale
este folosit mai ales n cazul sistemelor de operare multi-tasking i multiutilizator (de ex. Windows, Unix, etc.). Reamintim c n cazul ambelor tehnici
(segmentare sau paginare) memoria intern i extern este divizat n blocuri. La
execuia unui program se ncarc n memoria intern numai acele blocuri care
sunt necesare pentru execuie. Astfel spaiul ocupat efectiv de un program n
memoria intern este mult mai mic dect dimensiunile acestuia. n acest fel se
pot utiliza medii de programare a cror dimensiune depete cu mult
dimensiunea fizic a memoriei interne. De asemenea, pot fi ncrcate n
memoria intern mai multe programe sau taskuri.
3.3.3 Ierarhii de memorii
Registre
Crete viteza
i costul
Memoria cache
Memoria principal
Crete timpul
de acces i
capacitatea
Memoria secundar
Fig. 3.16 Structura ierarhic a memoriei unui calculator
n vrful ierarhiei se situeaz registrele generale ale procesorului (UCP),
dup care urmeaz memoria cache, memoria principal i memoria secundar.
Memoria cache
Memoria cache este o memorie RAM rapid de mic capacitate amplasat
ntre procesor i memoria principal (operativ), n scopul mbuntirii
performanelor unui sistem de calcul. Aceast memorie mai este numit i
memorie intermediar. Marea majoritate a operaiilor executate de procesor sunt
cu memoria intern, care este o memorie de capacitate mare dar cu o vitez de
lucru mai mic dect a procesorului. Pentru a nltura o parte din dezavantajele
acestui neajuns se utilizeaz o memorie foarte rapid, dar de capacitate mic, ca
un intermediar ntre procesor i memoria intern (fig. 3.17).
Din punct de vedere fizic, memoria cache poate fi plasat n interiorul sau
exteriorul procesorului. Se urmrete ca marea majoritate a operaiilor s fie
efectuate cu memoria cache. Prin urmare, n memoria cache sunt pstrate
instruciunile i datele care au cea mai mare probabilitate de a fi utilizate n
viitorul apropiat. n acest scop exist un dispozitiv care, pe baza unor algoritmi
de predicie, va extrage informaia din memoria intern i o va depune n
memoria cache. Dac informaia cutat nu este n memoria cache, atunci va fi
cutat n memoria intern.
Algoritmii de predicie pe baza crora informaia din memoria intern este
adus n memoria cache pot fi de dou feluri:
- algoritmi care se bazeaz pe principiul localizrii: se ncarc n memoria
cache informaia care se afl n jurul adresei la care s-a fcut ultimul acces;
112
Procesor
(UCP)
Memoria
principal
Magistral
sistem
Memoria
cache
Fig. 3.17 Plasarea memoriei cache
pista 9
cadru
1
2
3
4
5
6
7
8
9
gap
nregistrare fizic
fizice sunt separate ntre ele printr-un spaiu numit gap, care are lungime
constant. Densitatea de nregistrare se refer la numrul de cadre pe unitatea de
msur inch (1 inch = 2,54 cm) i este exprimat n octei/inch bpi (bytes per
inch). Valori tipice ale densitii de nregistrare sunt 1600 bpi, 6250 bpi, 12500
bpi.
Unitatea de band magnetic este un dispozitiv periferic cu acces
secvenial. Dac banda este poziionat la nceput, pentru a citi nregistrarea cu
numrul de ordine n , capetele de citire/scriere trebuie s parcurg toate cele
n 1 nregistrri de la nceputul benzii pn n poziia n . Din acest motiv banda
magnetic este un dispozitiv lent, dar cu o mare capacitate de nregistrare i o
bun fiabilitate. Se utilizeaz n special pentru pstrarea unor arhive de date (de
exemplu, salvrile de date, care se fac periodic n sistemele informatice).
3.3.4.2 Discul magnetic
115
sector
CRC
date
gap
preambul
CRC
cap de
citire/scriere
date
sector
sensul de rotaie
direcia de
micare
cilindru
- sensul transferului.
Timpul n care capetele de citire/scriere ajung la o pist se numete timp
de cutare. Timpii medii de cutare (ntre piste alese aleator) se situeaz n
intervalul 5-15 msec, iar cutrile ntre piste adiacente dureaz sub 1 msec.
Cutarea unui sector pe pista curent se numete ntrzierea de rotaie. Acest
timp poate varia ntre 0 (dac sectorul este chiar n dreptul capului) i timpul
necesar unei rotaii complete (dac sectorul tocmai a trecut prin dreptul capului
de citire/scriere). Majoritatea discurilor se rotesc la 3600, 5400 sau 7200
rotaii/minut. Timpul de acces la disc este dat de timpul de cutare, ntrzierea
de rotaie i timpul de transfer de date.
Pentru mrirea vitezei de citire sau scriere a datelor, discurile magnetice
au o memorie rapid (de exemplu 2Mb). Aceast memorie este similar cu
memoria cache (de altfel se mai numete i memorie cache a hard discului).
Discul flexibil sau discheta este constituit dintr-un singur platan de diferite
dimensiuni. Suportul informaiei este un disc flexibil realizat din mylar i
acoperit cu un material magnetic. Spre deosebire de discul dur, capetele de
citire/scriere sunt n contact permanent cu suprafaa discului, n timpul
operaiilor de citire sau scriere. Scrierea i citirea prin contact direct permite o
densitate mai mare de nregistrare, dar viteze de transfer mici, fiabilitate redus
i un timp de exploatare mai scurt.
3.3.4.3 Discul optic
Discurile optice reprezint o tehnologie nou fiind tot mai mult utilizate
ca memorie extern n ultimul timp. Aceste memorii folosesc pentru citirea i
scrierea informaiei fenomene electro-optice. Avantajul este acela al unei
capaciti de stocare de 102 pn la 104 ori mai mare dect capacitatea
suporturilor magnetice.
Dintre dispozitivele existente care folosesc aceste principiu amintim:
discurile CD-ROM, discurile CD-R, discurile CD-RW i discurile DVD.
Discurile CD-ROM (Compact Disc Read Only Memory) sunt discuri pe
care informaia este nregistrat n momentul fabricaiei lor, accesul la
informaie fiind doar pentru citire. Principiul de construcie este relativ simplu.
Cu ajutorul unui fascicul laser se fac guri (caviti) mici (pits), al cror
diametru este sub 1 micron, ntr-un disc matri. Zonele nearse dintre caviti se
numesc soluri (lands). Conform matriei se fac apoi copii din plastic. Discurile
din plastic (policarburi) sunt acoperite cu un strat subire din aluminiu
reflectorizant, acoperit cu un lac protector (vezi structura unui CD-R, fig. 3.22).
Citirea se face tot cu ajutorul unui fascicul laser, dar de putere mai mic. Un
detector msoar energia fasciculului laser reflectat, care este diferit dup cum
fasciculul laser este trimis pe o cavitate sau nu.
Cavitile i solurile sunt dispuse ntr-o spiral continu care pornete din
centrul discului (fig. 3.21). Viteza de citire a informaiei trebuie meninut
117
constant. Prin urmare, viteza de rotaie a CD-ului trebuie redus continuu odat
cu deplasarea capului de citire dinspre interior spre exterior.
spiral pe care
sunt nregistrate
datele
cavitate
sol (zon
nears)
bloc de
date
118
etichet
strat reflectorizant
zon ntunecat ars de
laser n stratul de vopsea
1.2 mm
strat policarbonat
lentile
fotodetector
prism
diod cu laser n
infrarou
119
UCP
GT
GF
RI
DI + BCC
NP
RS
UCC
UAL
RG
A
R1
RN
R2
Magistrala sistem
Fig. 3.23 Structura unitii centrale de prelucrare (UCP)
120
R1
R2
R3
R1
R2
R3
R4
R5
R6
R4
R5
R6
a)
b)
R
n
A
n
UAL
An-1
n 1
Tn-2
B1
T1
A1
B0
T0
A0
Sn-1
S1
S0
Fig. 3.26 Schema bloc a unui sumator paralel pe n bii
T
M1
extragere cod
instruciune
M2
citire din
memorie
M3
scriere n
memorie
ciclul instruciune
Fig. 3.27 Ciclul instruciune format din trei cicluri main
innd cont de operaiile de baz efectuate de un procesor, rezult c, n
general, un procesor are urmtoarele cicluri main:
125
fetch
prima instruciune
execuie
fetch
a doua instruciune
execuie
P1
Unitatea de extragere
instruciune
P2
Unitatea de analiz
instruciune
P3
Unitatea de calcul a
adresei
P4
Unitatea de execuie
instruciune
P5
Unitatea de extragere
date
P1
P2
P3
P4
P5
1 2 3 4
1 2 3
1 2
1
5
4
3
2
1
6
5
4
3
2
7
6
5
4
3
8
7
6
5
4
b)
a1
a2
b1
b2
UAL
bn
an
c1
c2
UAL
cn
a)
c)
a)
COP
b)
COP
Adresa
c)
COP
Adresa 1
Adresa 2
d)
COP
Adresa 1
Adresa 2
Adresa 3
130
Bloc de selecie a
datelor
(decodificator)
Magistral de comenzi
Dispozitiv de
comand
Registre de Registre
comenzi de stare
Registru
de ieire
Registru
de intrare
Adaptor de semnale
Interfa
Echipament periferic
Fig. 3.31 Schema bloc a unei interfee de intrare-ieire
Uneori o interfa poate s conin i o memorie RAM sau ROM.
Memoria ROM este destinat pentru pstrarea driver-ului de interfa, care
este identificat la iniializarea sistemului i este inclus n rutinele de sistem ale
sistemului de operare. Memoria RAM se utilizeaz ca un tampon ntre
echipamentul periferic i memoria principal. Aceasta este necesar n cazul n
care fluxul de date este mare i este dificil sincronizarea vitezei de lucru a
perifericului cu viteza de transfer pe magistral (interfaa video sau cea de disc
dur).
132
Capitolul 4
UNITI CENTRALE DE PRELUCRARE DE TIP
MICROPROCESOR
4.1. Scurt istoric
Microprocesorul este o unitate central de prelucrare realizat ntr-un
singur circuit integrat. Primul circuit de acest tip (I4004) a fost realizat de firma
Intel n 1971. Acesta era un microprocesor pe 4 bii. n anul urmtor a aprut
microprocesorul pe 8 bii, 8008. Ca urmarea a succesului obinut, s-a realizat n
continuare n 1974 , microprocesorul 8080 pe 8 bii i spaiul de adresare 64 kB
(kiloBytes). Au urmat microprocesoarele 8085 (1974, 8 bii, spaiu de adresare
64 kB), 8086 (1978, 16 bii, 1MB), 8088 (1980, 8 bii, 1MB), 80186 i 80188
(1982, 16 bii, 1MB, cu faciliti de I/O), 80286 (1982, 16 bii, 16 MB), 80386
(1985, 32 bii, 4 GB), 80486 (1989, 32 bii, 4 GB) ca versiune mai rapid a lui
80386, Pentium (1993, 32 bii, spaiu de adresare 64 GB, magistrala de date pe
64 bii), Pentium Pro (1995, 32 bii, 64 GB, magistrala de date pe 64 bii),
Pentium II (1997, 32 bii, 64 GB, magistrala de date pe 64 bii), Pentium III
(1999, 32 bii, 64 GB, magistrala de date pe 64 bii). Firma Intel a pstrat,
ncepnd cu 8086, regula compatibilitii. Procesoarele Intel au fost alese de
firma IBM la producerea calculatoarelor personale.
Alturi de circuitele Intel s-au dezvoltat i alte familii de microprocesoare,
dintre care cele mai performante sunt cele produse de firma Motorola.
Circuitele Motorola au evoluat n paralel cu cele realizate de firma Intel, ntre
ele existnd mereu o echivalen i o concuren pe piaa calculatoarelor. Firma
Motorola a nceput cu microprocesorul 6800, ca un rspuns la Intel 8080. n
1979 apare 68000 pe 16 bii i 16 MB, dar cu registre de 32 bii. Au urmat apoi
procesoarele 68010 (1983) cu faciliti de control a memoriei virtuale dar cu 16
MB, 68012 (1983, cu spaiu de adresare de 2GB), 68020 (1984, magistrale de
date i registre pe 32 bii, spaiu de adresare 4GB, utilizat pentru staiile Sun,
Apollo i Hewlett-Packard), 68030 (1987, cu managementul de memorie n
acelai integrat), 68040 (1989, conine n acelai integrat, ca i 80486,
coprocesorul de virgul flotant, unitatea de management a memoriei, memorie
cache). n general, firma Motorola a realizat cte un procesor ca rspuns la
fiecare generaie de procesoare produse de firma Intel. Aceeai regul a
compatibilitii se pstreaz i la circuitele din familia Motorola. Procesoarele
133
Magistral
extern de
date
n - bii
Memorie
ROM
Magistral
extern de
adrese
Memorie
RAM
m - bii
Buffer de
adresare
Buffer de
intrare/ieire
Magistral intern
de adrese m-bii
Magistral intern
de date n-bii
Reg. ind. de
condiii
Reg. de
instruciuni
COP
UAL
Numrtor de
adrese PC
Adr.
operand
Decodificator
instruciuni
Reg.
acumulator
Blocul circ.
de comand
Clock
Semnale de comand
trimise/primite la/de la
elementele de
direcionare
MICROPROCESOR
137
Semnale
de adres
Semnale
de date
Semnale de
comand
Semnale de
ntrerupere
Microprocesor
Semnale de arbitrare
a magistralei
Semnale de stare
Semnal de tact
Alte semnale
Alimentare
BIU
AH
BH
CH
DH
Sumator
AL
BL
CL
DL
16 bii
CS
DS
ES
SS
IP
SI
DI
BP
SP
Comand
mag.
extern
Mag. date
16 bii
Reg. temp.
UAL
Unitatea
de c-d
8 bii
1 2 3 4 5 6
Coad de instruciuni
Reg. de stare
ca pini de date. Folosirea acelorai pini pentru adrese i date reduce numrul de
pini ai microprocesorului, dar acest lucru nseamn de fapt o multiplexare n
timp a datelor i adreselor, ceea ce duce la o ncetinire a transferurilor de date.
Arhitectura intern a procesorului I8086 este organizat n jurul unei
magistrale i cuprinde dou uniti de prelucrare (fig. 4.3):
a) - unitatea de execuie EU (Execution Unit) care realizeaz execuia
propriu-zis a instruciunilor;
b) - unitatea de interfa cu magistrala extern BIU (Bus Interface Unit) care
se ocup cu transferul de informaii (date i instruciuni) ntre procesor i
magistrala extern.
a) Unitatea de execuie
9
I
8
T
7
S
6
Z
4
A
Depire capacitate
(Overflow)
2
P
0
C
Transport
(Carry)
Direcie
Trasare
Validare ntrerupere
Semn
Paritate
Transport auxiliar
Rezultat zero
exist transport dinspre MSB sau invers. n cazul scderii este setat dac exist
un mprumut nspre MSB i nu exist mprumut dinspre MSB sau invers.
b) Fanioanele de control sunt:
- DF (Direction Flag) este folosit de instruciunile care prelucreaz iruri
de date. Dac este 0 atunci irul respectiv este prelucrat ncepnd cu elementul
avnd adresa cea mai mic. Dac este 1, atunci irul este prelucrat ncepnd cu
elementul avnd adresa cea mai mare.
- IF (Interrupt Enable Flag) poziionat pe 1 va valida funcionarea
sistemului de ntreruperi, poziionat pe 0 va invalida sistemul de ntreruperi.
- TF (Trace Flag) poziionat pe 1 foreaz unitatea central de prelucrare
s lucreze n modul pas cu pas (instruciune cu instruciune). Este util n cazul
depanrii unor secvene de instruciuni.
Registrele temporare sunt utilizate pentru a stoca temporar operanzii
implicai ntr-o prelucrare aritmetic sau logic. Aceste registre sunt transparente
pentru utilizator.
b) Unitatea de interfa cu magistrala extern
Adresa de segment
4 bii
+
0
16 bii
Adresa fizic
20 bii
Fig. 4.6 Formarea adresei fizice
Se observ c prin deplasarea spre stnga cu 4 poziii binare a coninutului
registrului segment corespunztor se obine o adres fizic de 20 de bii.
Calculul unei adrese fizice, AF , oarecare prin mecanismul segment-offset
prezentat n figura 6.6 se face conform formulei:
(1)
AF = (registru segment ) 10H + AE ,
unde prin AE am notat adresa efectiv.
Adresarea prin segment i offset permite divizarea spaiului de memorie
n uniti logice numite segmente. Informaiile aferente unui program se pot
grupa n mai multe segmente, funcie de natura acestora: segmente de cod,
segmente de date, segmente de stiv. Dimensiunea maxim a unui segment este
de 64 ko, iar adresa de nceput este multiplu de 16. Domeniul de adresare al unui
segment este cuprins ntre:
((Registru segment ) 10H, (Registru segment ) 10H + FFFFH ) .
145
00000h
CS10h
DS10h
SS10h
ES10h
Memorie
Segment
cod
64 ko
Segment
date
64 ko
Segment
stiv
64 ko
Extrasegment
64 ko
FFFFFh
Fig. 4.7 Zonele de segment n memorie
Observaie. Registrul CS definete adresa de nceput a segmentului de cod, DS
a segmentului de date, SS a segmentului de stiv i ES a segmentului
suplimentar. La un moment dat microprocesorul poate adresa maximum 4
segmente cu ajutorul celor 4 registre segment. Prin modificarea coninutului
registrelor segment se pot schimba segmentele logice folosite.
Avantajele folosirii registrelor segment sunt urmtoarele:
1. permit adresarea unei memorii de capacitate 1Mo chiar dac adresele
asociate instruciunilor individuale au lungimea de numai 16 bii;
2. permit ca zonele de instruciuni, date sau stiv ale unui program s fie mai
mari de 64 ko prin folosirea mai mult de un segment de cod, date sau
stiv;
3. faciliteaz folosirea zonelor separate de cod, date i stiv n cadrul unui
program;
4. permit ca un program i/sau datele asociate s fie puse n zone diferite de
memorie la fiecare rulare.
Dei segmentele au lungimea de 64 ko ele se pot intersecta (suprapuse
parial) pentru o mai bun utilizare a spaiului de memorie. Aa cum se arat n
figura 4.8, un program poate ocupa numai o parte din segmentul 1 (segment de
cod) iar un alt segment, segmentul 2 (segment de cod, date sau stiv) se poate
suprapune peste poriunea rmas neutilizat din segmentul 1, mai puin o zon
146
Program
Segment de cod 1
Prima adres
multiplu de 16
dup sfritul
programului
Segment de cod 2
2791
2791
AE
Adr. segment+AE
Operand
8 bii
8 bii
16 bii
00000h
2791
Mod de adresare
direct
(DS)10h+2791
AX
35A3
Memorie
35A3
FFFFFh
3. MOV varA1+4, BX
3) Adresarea registru
4) Adresarea indirect
Memorie
Cod operaie Mod R/M
Adr1
Mod de adresare
indirect
Reg
Adr1
Adr2
Adr2
Operand
Operand
AE
Operand
Exemplu:
MOV AX, [BX]
1249
00000h
Memorie
(DS)10h+1249
6142
6142
FFFFFh
5) Adresarea indexat
Registru index
constant
AE
Operand
153
8 bii
Cod operaie
8 bii
Mod R/M
16 bii
constant
SI
DI
Registre
index
00000h
Memorie
AE
Operand
FFFFFh
Fig. 4.16 Adresarea indexat la procesorul I8086
Exemple:
1. MOV AX, 47h [SI]
00000h
COP
ModR/M
Registrul
index SI
4480h
Memorie
47h
AE
44C7
(DS) 10h+44C7
678Ah
FFFFFh
AX
678Ah
154
6) Adresarea bazat
Registru baz
AE
Operand
8 bii
Cod operaie
Registre
baz
8 bii
Mod R/M
BX
BP
16 bii
deplasament
00000h
AE
Memorie
Operand
FFFFFh
Fig. 4.19 Adresarea bazat n cazul procesorului I8086
Cnd se folosete BX ca registru baz, n calculul adresei se utilizeaz implicit
registrul segment DS, iar dac se folosete BP ca registrul baz atunci se
utilizeaz implicit registrul segment SS.
155
Exemple:
1. MOV AX, varA1
Adresa
7) Adresarea combinat
8 bii
Cod operaie
8 bii
Mod R/M
16 bii
deplasament
Registre
baz
BX
BP
Registre
index
SI
DI
00000h
AE
FFFFFh
Memorie
Operand
unde:
<etichet> este un identificator format din maximum 31 de caractere (litere,
cifre i caractere speciale - ?, $, _,,.) din care primul este o liter
sau un caracter special. Limbajul de asamblare utilizeaz nume
rezervate care nu pot fi utilizate ca etichete (mnemonice,
pseudoinstruciuni, operatori, registre, ?, $). Orice etichet are
asociat o valoare reprezentnd adresa relativ n cadrul
segmentului din care face parte primul octet din instruciunea
etichetat;
<mnemonic> indic tipul instruciunii ntr-un limbaj apropiat celui natural;
<operanzi> este un cmp a crui existen i form depinde de tipul
instruciunii (instruciune cu doi operanzi separai prin virgul, cu
un operand sau fr nici un operand);
<comentariul> este text explicativ precedat de separatorul punct i virgul.
Pentru o prezentare ct mai clar, notaiile folosite n cele ce urmeaz au
urmtoarele semnificaii:
d operatorul destinaie, al crui loc va fi ocupat de rezultatul
instruciunii;
s operatorul surs, care rmne neschimbat n urma execuiei
instruciunii;
n date de 8 bii: 0...0FFh;
nn date de 16 bii: 0...0FFFFh;
m8 coninutul unei locaii de memorie adresabil prin adresa efectiv;
m16 coninutul a dou locaii consecutive de memorie, formnd un
operand de 16 bii; adresa efectiv indic octetul mai puin semnificativ al
operandului, iar adresa efectiv +1 indic octetul mai semnificativ;
r8 registre de 8 bii: AL, AH, BL, BH, CL, CH, DL, DH;
r16 registre de 16 bii: AX, BX, CX, DX, SI, DI, BP;
rs registre segment: DS, ES, SS, CS;
F registrul indicatorilor de condiie;
nr numr de poziii binare.
Orice operand scris ntre paranteze drepte reprezint o adres de memorie. De
exemplu, [1AB0] reprezint coninutul locaiei de memorie cu adresa 1AB0, iar
[BX] reprezint coninutul locaiei de memorie a crei adres este dat de
valoarea din BX.
4.6.1. Clasa instruciunilor de transfer
;AXB2A2
;AL1B (AX conine B21Bh)
;BXAX (AX i BX sunt identice)
2. Instruciunea
XCHG BX,AX
este echivalent cu secvena
MOV CX,AX
MOV AX,BX
MOV BX,CX
;AX1234h
;AX3412h
AX
2
BX
1
CX
3
r16l[SS:SP]
SPSP+1
r16h[SS:SP]
SPSP+1
Instruciunile PUSH i POP sunt utilizate pentru a salva coninutul
registrelor n memoria intern atunci cnd registrele sunt utilizate temporar n
alte scopuri (de exemplu la apelul subrutinelor).
Secvena
PUSH AX
POP BX
este echivalent cu MOV BX,AX.
160
.model small
.stack
.code
MOV AX,11AAh
MOV BX,0BB22h
MOV CX,0CC33h
PUSH AX
PUSH BX
PUSH CX
DEC SP
POP AX
POP BX
INC SP
POP CX
MOV AL,88h
end
; SPSP-1
; SPSP+1
Memorie
DEC SP
PUSH CX
PUSH BX
PUSH AX
xx
33
CC
22
BB
AA
11
POP AX
POP BX
INC SP
POP CX
SS:SP
final
SS:SP
iniial
Fig. 4.21
161
cei doi octei mai puin semnificativi, un eventual transport fiind stocat n CF.
Apoi, se adun prile mai semnificative mpreun cu transportul rezultat.
Primul operand (destinaia): AX BX
Al doilea operand (sursa): CX DX
ADD BX,DX
ADC AX,CX
;AXD0h
;AX01A0h
;AX00D0h
;AXEEA0h
Exemplu:
AND AL,0h
AND AL,0FFh
;AL0h
;AL rmne neschimbat
OR AL,0h
OR AL,0FFh
XOR d,s
Calculeaz SAU EXCLUSIV la nivel de bit a celor doi operanzi,
rezultatul fiind depus n destinaie: d ds. Modific indicatorii CF, OF, PF,
SF i ZF.
Exemplu:
XOR AX,AX
XOR AH,0FFh
; AX0
; se inverseaz toi biii din AH
NOT d
Realizeaz complementarea fa de 1 a operandului: dFFh-d (pe 8 bii)
sau dFFFFh-d (pe 16 bii). Nu sunt afectai indicatorii de condiii.
TEST d,s
Realizeaz operaii I logic pe bit ntre cei doi operanzi, fr a modifica
destinaia, dar modific indicatorii CF, OF, PF, SF i ZF.
CMP d,s
Compar aritmetic cei doi operanzi prin scdere (d-s), fr generarea
rezultatului. Poziioneaz doar indicatorii de condiii ca la operaia de scdere.
Modul de interpretare al operanzilor, cu sau fr semn, este foarte important n
cazul comparaiei a dou numere. Dac numerele sunt fr semn:
CF=0 i ZF=0 d>s
CF=0 i ZF=1 d=s
CF=1 i ZF=0 d<s
167
MOV AX,0AA11H
MOV BX,0AA11H
MOV CX,0AA11H
NEG AX
NOT BX
XOR CX,0FFH
;AX55EFh
;AX55EEh
;CXAAEEh
AL 1
se pierd
dup execuia instruciunii
nainte de execuia instruciunii
CF0 (al treilea bit deplasat la stnga n afara registrului)
SHL (SHift logic Left)
SHL d,nr
Funcioneaz similar cu instruciunea SAL. De altfel, asamblorul
asimileaz instruciunea SAL cu SHL.
SAR (Shift Arithmetic Right)
SAR d,nr
Deplaseaz coninutul operandului destinaie la dreapta cu numrul de
poziii specificat (nr), iar bitul de semn se extinde (propag). Valoarea nr este 1
sau reprezint coninutul registrului CL. CF va conine bitul cel mai puin
semnificativ (ultimul) deplasat. Este echivalent cu operaia de mprire a
destinaiei la 2nr. ntre cei doi bii ai rezultatului, cu cel mai nalt ordin, se
execut un SAU-EXCLUSIV pentru a poziiona indicatorul OF.
Exemplu: SAR AL,3
AL 1
se pierd
dup execuia instruciunii
nainte de execuia instruciunii
CF0 (al treilea bit deplasat la dreapta n afara registrului)
OF0 (11)
SHR (SHift Right)
SHR d,nr
Deplaseaz logic coninutul operandului destinaie la dreapta cu numrul
de poziii specificat (nr.). Informaia registrului este privit de aceast dat ca o
combinaie logic nu ca un numr i bitul cel mai semnificativ nu se extinde.
Poziiile binare rmase libere devin 0. Valoarea nr este 1 sau este coninutul
registrului CL. CF va conine bitul cel mai puin semnificativ (ultimul) deplasat.
Exemplu: SHR AL,3
AL 1
se pierd
nainte de execuia instruciunii
169
CF
Registru
AL 1
nainte de execuie
CF0 (al doilea bit deplasat la dreapta din MSB)
dup execuie
poziia cea mai puin semnificativ (LSB) care este mutat n poziia cea mai
semnificativ (MSB). Operandul destinaie poate fi: r8, r16, m8 sau m16 iar nr are
aceeai semnificaie ca i la instruciunile de deplasare. Valoarea indicatorului
CF nu este parte a rezultatului dar recepioneaz o copie a bitului care a fost
deplasat de la un capt la cellalt. Pentru o singur rotaie (ROR 1), dac CF este
diferit de bitul de semn, atunci OF1. n celelalte cazuri OF este nedefinit.
Registru
CF
nainte de execuie
CF1 (al doilea bit deplasat la dreapta din MSB)
dup execuie
Registru
CF
Registru
CF
171
Exemple:
1. Diferena dintre instruciunile SHR i SAR
MOV AX,-4H
MOV CL,2H
SAR AX,CL
MOV BX,-4H
SHR BX,CL
;AX0FFFCh
;CL conine nr de poziii pentru deplasare
;deplasare aritmetic dreapta, AX0FFFFh
;BX0FFFCh
; deplasare logic dreapta (bitul de semn nu se extinde)
BX3FFFh
; AX0002h
; BX0002h
; CL08h, nr de poziii cu care se va face deplasarea stnga
;deplasare stnga cu 8 poziii, BX0200h
; CX0100h (25610), al doilea operand al nmulirii
;nmulirea acumulatorului cu CX, AX0200h
unde dest reprezint eticheta prin care se specific locul primei instruciuni din
noua secven.
n cazul saltului intrasegment relativ, dest specific o valoare n
complement fa de 2, pe 8 bii, care se va aduna la valoarea din registrul IP.
Valoarea poate fi pozitiv sau negativ astfel nct salturile pot avea ca
destinaie o instruciune precedent sau urmtoare. Destinaia nu poate fi n
avans mai mare de 128 octei sau mai departe de 127 octei.
n cazul saltului intrasegment direct, dest este o valoare pe 16 bii care
reprezint offset-ul instruciunii destinaie n cadrul segmentului de cod curent
(IPdest).
n cazul saltului intersegment dest este o valoare pe 32 de bii i va
specifica att segmentul ct i offset-ul instruciunii destinaie (CS:IPdest).
Instruciunile de salt condiionat sunt cu adresare relativ, deci dest
reprezint o valoare pe 8 bii. n cazul n care se dorete efectuarea unui salt
condiionat pe o distan mai mare de 128 octei, trebuie s se utilizeze dou
instruciuni de salt: una de salt condiionat i una de salt necondiionat. n
principiu, o instruciune de salt condiionat are formatul:
Jcondiie
dest.
Condiie
ZF=1
SFOF (compar valori cu semn)
ZF=1 sau SFOF (compar valori cu semn)
CF=1 (compar valori fr semn)
CF=1 sau ZF=1 (compar valori fr semn)
PF=1
OF=1
ZF=1
SF=OF (compar valori cu semn)
173
JNLE, JG
JNB, JAE, JNC
JNBE, JA
JNP, JPO
JNO
JNS
JCXZ
Tabelul 4.2
Reprezentare fr semn
JA
JE
JNE
JB
JBE
JAE
Reprezentare cu semn
JG
JE
JNE
JL
JLE
JGE
174
LOOPE dest
Funcioneaz ca i LOOPZ.
LOOPNE dest
Funcioneaz ca i LOOPNZ.
4.6.8. Subrutine. Transmiterea parametrilor
IP dest16
CSadresa de segment
Revenirea din subrutin se realizeaz cu instruciunea
RET.
salt
revenire
sbr
RET
176
salt
CALL sbr
revenire
sbr
PUSHF
.
PUSH DX
.....................
POP DX
.
.
POPF
RET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
IP
0000
0000
0000
0000 B8 0011
0003 BB 0002
0006 E8 0002
0009 48
000A 43
000B F7 E3
000D 03 C3
000F F6 E0
0011 C3
.model small
.stack
.code
mov ax,0011H
mov bx,0002h
call sbr
;apelul rutinei sbr, 0009h stiv
dec ax
;AX050FH
inc bx
;BX0003H
sbr: mul bx
add ax,bx
mul al
ret
end
;AX0022H
;AX0024H
;AX0510H
;0009h IP
177
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
IP
0000
0000
0000
0000 B8 0A11
0003 BB 0B22
0006 50
0007 E8 0002
000A 40
000B 43
000C 53
000D 44
000E 5B
000F 50
0010 C3
.model small
.stack
.code
mov ax,0a11H
mov bx,0b22H
push ax
call sb
;apelul rutinei sb, adresa instruciunii
inc ax
;de revenire 000AHstiv
inc bx
sb: push bx ;rutina, bxstiv
inc sp
;incrementeaz SP
pop bx
;BX0A0Bh
push ax
ret
end
date1 segment
alfa db 1,2,3,4,5,6
lung equ this byte-alfa
date1 ends
date2 segment
beta db 1,2,3,5
date2 ends
180
printr-o valoare (pe 8 bii) numit vector sau nivel de ntreruperi. Adresele de
nceput ale rutinelor de ntreruperi sunt memorate n aa numita tabel de
ntreruperi. Pentru fiecare ntrerupere sunt rezervai patru octei (dou cuvinte)
prin care se specific adresa de segment i adresa de offset, mai exact coninutul
registrelor CS i IP. Tabela este plasat la nceputul spaiului de memorie, 0h
3FFh (3FFh28*22-1, 28 256 nivele de ntreruperi, 22 4 octei pentru
fiecare rutin).
vector
ntreruperi
0
CS0
IP0
CS1
IP1
la dispoziia
programatorului
CS20
IP20
CS FF
IP FF
183
INT 19H
INT 1Ah
Microprocesor
Magistral
IRQ0
IRQ1
INTR
INTA
Interfa
intrare/ieire
Interfa
intrare/ieire
I8259A
IRQ7
Fig. 4.21. Conectarea controlerului I8259A n sistem
Pentru extinderea numrului de ntreruperi deservite, se pot conecta n
cascad mai multe controlere. Legtura dintre controler i microprocesor se
realizeaz prin semnalele INTR i INTA. Controlerul I8259A activeaz
semnalul INTR n cazul n care sunt ndeplinite condiiile:
exist o cerere de ntrerupere pe una din intrrile IRQ0-IRQ7 (Interrupt
ReQuest);
controlerul este validat;
intrarea pe care a aprut ntreruperea este nemascat;
nu este n curs de deservire o alt ntrerupere prioritar.
Dup ncheierea instruciunii n curs de desfurare, microprocesorul
iniiaz o secven de identificare a sursei de ntrerupere urmat de activarea
semnalului INTA i de generarea pe magistrala de date a vectorului ntreruperii
curente. n cazul unor ntreruperi multiple controlerul le prelucreaz pe baza
nivelului de prioritate. O ntrerupere prioritar poate ntrerupe execuia uneia cu
prioritate mai mic.
184
Microprocesor
Memorie
Magistral de adrese
Magistral de date
Magistral de comenzi
HOLD
HLDA
Controler
DMA
DRQ
Interfa de
intrare/ieire
DACK
n cazul acestui tip de transfer unitatea central este foarte puin utilizat,
n comparaie cu celelalte metode de transfer. Majoritatea activitilor necesare
realizrii transferului sunt executate de ctre o alt unitate tip procesor.
Comunicaia ntre unitatea central i procesorul de intrare/ieire se realizeaz la
nivelul unor comenzi generale i a unor cuvinte de stare. Procesoarele de
intrare/ieire specializate au o structur intern cu memorie i magistral local
proprie, un set de instruciuni adaptate transferului de date, fiind compatibile cu
familia de procesoare pentru care au fost realizate (de exemplu circuitul I8089
pentru familia Intel).
Transferul prin procesor de intrare/ieire ofer o flexibilitate ridicat n
manipularea datelor i se recomand n cazul echipamentelor periferice
complexe, care au o vitez mare de transfer, ca de exemplu discul dur.
Dificultatea implementrii unei interfee cu procesor const n realizarea
protocolului de comunicaie ntre procesorul central i cel de intrare/ieire.
188
Unitatea de
adresare
Unitatea de
execuie
Unitatea de
interfa
Magistrala
extern
Unitatea de instruciuni:
Coada de
instruciuni
Decodor de
instruciuni
Unitatea de
segmentare
Unitatea de
paginare
Unitatea de
interfa
Unitatea de
execuie
Unitatea de
prencrcare
Unitatea de
decodificare
190
Unitatea de extragere
i decodificare a
instruciunilor
Unitatea de
dispecerizare i
execuie
Unitatea de
retragere
Rezervor de
instruciuni
L1 Cache
Next_IP
Bloc de memorare
adrese de salt
Decodificator de
instruciuni
(trei module
indepenedente)
Secveniator de
microinstr.
Bloc de memorare
adrese de salt
Ctre rezervorul
de microinstr.
197
198
BIBLIOGRAFIE
1. Ardelean I., Giuroiu H., Petrescu L.L., Circuite integrate MOS, Manual
de utilizare, Ed. Tehnic, Bucureti, 1986
2. Athanasiu I., Pnoiu A., Microprocesoarele 8086,286,386, Seria
Calculatoare personale, Ed. Teora, 1992
3. Diatcu E., Tertico A., Iacob F., Tache M., Racovi Z., Elemente
fundamentale ale teoriei sistemelor i calculatoarelor, Ed. Hyperion XXI,
Bucureti, 1996
4. Dodescu Gh., R. Mranu, F. Nstase, Calculatoare. Elemente
fundamentale de structur. Iniiere n utilizarea PC-urilor, Ed. ALL
EDUCATIONAL, Bucureti, 2000
5. Gorgan D., Sebestyen G., Structura calculatoarelor, Ed. Albastr, ClujNapoca, 2000
6. Huanu C., Postolache M., Pnescu D., Sisteme cu microprocesoare n
conducerea automat a proceselor, Ed. Academica, Iai. 1998
7. Karam G., Bryant J., Principles of computer systems, Carleton University,
Prentice-Hall, New Jersey, 1992
8. Paraschiv N., Echipamente numerice pentru conducerea proceselor,
Catedra de Automatic i Calculatoare, Univ. Petrol Gaze Ploieti, 1996
9. Somnea D., Teodor V., Programarea n Assembler, Seria Calculatoare
personale, Ed. Tehnic, Bucureti, 1992
10. Sztojanov I, .a., De la poarta TTL la microprocesor. Circuite integrate
digitale, Seria Electronic aplicat, Ed. Tehnic, Bucureti, 1987
11. Toace G., Introducere n microprocesoare, Ed. t. i Enciclopedic,
Bucureti, 1986
12. Tomescu M., Primii pai n lumea calculatoarelor, Ed. Albastr, ClujNapoca, 2001
13. Valachi A., Hoza F., Onofrei V., Silion R., Analiza, sinteza i testarea
dispozitivelor numerice, Ed. Nord-Est, Iai, 1993
14. Valachi A., Brsan M., Tehnici numerice i automate, Ed. Junimea, Iai,
1986
15. *** Colecia revistei CHIP
16. *** Colecia revistei PC World
199