Download - Soc Cap01
![Page 1: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/1.jpg)
2008
Structura şi
organizarea calculatoarelor
- curs -
Ionescu Augustin-Iulian
![Page 2: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/2.jpg)
1.22008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Capitolul 1
ARITMETICA CALCULATOARELOR
![Page 3: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/3.jpg)
1.32008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Reprezentarea numerelor cu semnPrezentare generală
Fie N un număr binar cu semn
N=±bn-1bn-2…b1b0,b-1…b-m
Deoarece într-un SN cu un număr par de cifre nu putem reprezenta direct numerele negative, se utilizează reprezentarea codificată.
Codificarea semnului
Codificarea valorii.• Cod direct (reprezentare prin mărime şi semn)• Cod complementar• Cod invers
negativenumerepentru1
pozitivenumerepentru0sb
![Page 4: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/4.jpg)
1.42008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Reprezentarea numerelor cu semnReprezentarea virgulă fixă prin mărime şi semn
Bitul de semn bs nu are pondere deci poate ocupa orice poziţie. Pentru evitarea confuziilor, bs este plasat întotdeauna în poziţia extremă stângă (bitul cel mai semnificativ).
Valoarea numărului se reprezintă, indiferent de semn, prin modulul numărului.
În concluzie, numărul va fi reprezentat sub forma:
N=bsbn-1bn-2…b1b0b-1…b-m
În multe situaţii se consideră un caz particular al reprezentării şi anume numerele sunt fracţionare. În acest caz bitul de semn apare ca prima cifră de la partea întreagă (b0).
N=bsb-1…b-m
![Page 5: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/5.jpg)
1.52008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Reprezentarea numerelor cu semnExemple:
Fie numarul N=+0,74 reprezentat in format VF 1+15 prin marime si semn.
Fie numarul N=-0,74 reprezentat in format VF 1+15 prin marime si semn.
0 1 00011101011110
1 1 00011101011110
![Page 6: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/6.jpg)
1.62008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Reprezentarea numerelor cu semnComplementul faţă de 2 Fie N un număr binar reprezentat pe n ranguri întregi şi m ranguri fracţionare:
N=bn-12n-1+bn-22
n-2+…+b121+b0+b-12
-1+….b-m2m-1 =
= Se numeşte complement faţă de 2 al numărului N numărul
calculat cu relaţia =2n-N şi reprezentat în acelaşi format ca şi numărul N.
1n
mi
ii 2b
N
![Page 7: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/7.jpg)
1.72008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Reprezentarea numerelor cu semnProprietate
Fie numarul real N= . Atunci
1n
mi
ii 2b
Complementul fata de 1 al lui N
![Page 8: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/8.jpg)
1.82008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Reprezentarea numerelor cu semnReprezentare virgulă fixă în cod complementar
![Page 9: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/9.jpg)
1.92008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Reprezentarea numerelor cu semnObservații!
![Page 10: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/10.jpg)
1.102008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Reprezentarea numerelor cu semnExemple
Fie numarul N=+0,74 reprezentat in format VF 1+15 cod complementar.
Fie numarul N=-0,74 reprezentat in format VF 1+15 cod complementar.
0 1 00011101011110
1 0 00010010100001
![Page 11: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/11.jpg)
1.112008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Deplasarea numerelor cu semn Deplasarea spre stânga este echivalentă cu înmulţirea cu 2. Cifra din extrema stângă se pierde iar prin dreapta se introduce 0, indiferent de modul de reprezentare a numerelor.
Deplasarea spre dreapta este echivalentă cu împărţirea la 2 (înmulţirea cu 2-1). Cifra din extrema dreaptă se pierde, iar prin stânga se introduce 0 în cazul numerelor reprezentate prin mărime şi semn sau bitul de semn în cazul numerelor reprezentate în cod complementar.
Observație!
Deplasarea numerelor cu semn afectează numai modulul numerelor, nu şi bitul de semn.
![Page 12: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/12.jpg)
1.122008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Deplasarea numerelor cu semn Exemple:
![Page 13: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/13.jpg)
1.132008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Deplasarea numerelor cu semnExemple
![Page 14: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/14.jpg)
1.142008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Adunarea în cod complementar
![Page 15: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/15.jpg)
1.152008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Adunarea în cod complementar
![Page 16: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/16.jpg)
1.162008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Adunarea în cod complementar
![Page 17: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/17.jpg)
1.172008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Adunarea în cod complementar
![Page 18: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/18.jpg)
1.182008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Adunarea în cod complementar
![Page 19: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/19.jpg)
1.192008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Adunarea în cod complementarConcluzii!
![Page 20: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/20.jpg)
1.202008 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Adunarea în cod complementarExemple (1)
![Page 21: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/21.jpg)
1.212007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Adunarea în cod complementarExemple (2)
![Page 22: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/22.jpg)
1.22
Adunarea în cod complementar
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
X
Z
Y
OVERFLOW
m+1m+1
m+1
B[m..0]
S[m..0]
A[m..0]c0
c-1c-m-1
![Page 23: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/23.jpg)
1.232007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Scăderea în cod complementar
![Page 24: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/24.jpg)
1.242007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Scăderea în cod complementar
![Page 25: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/25.jpg)
1.252007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Scăderea în cod complementar
![Page 26: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/26.jpg)
1.262007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Scăderea în cod complementar
![Page 27: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/27.jpg)
1.272007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Scăderea în cod complementar
![Page 28: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/28.jpg)
1.282007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Scăderea în cod complementarConcluzii!
![Page 29: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/29.jpg)
1.292007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Scăderea în cod complementarExemple:
![Page 30: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/30.jpg)
1.302007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Scăderea în cod complementarExemple:
![Page 31: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/31.jpg)
1.312007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Scăderea în cod complementarExemple:
![Page 32: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/32.jpg)
1.322007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Scăderea în cod complementarExemple:
![Page 33: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/33.jpg)
1.33
Sumator/scăzător în cod complementar
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
X
Z
Y
OVERFLOW
m+1
m+1
m+1
B[m..0]
S[m..0]
A[m..0]c0
c-1
Complement fata de 1
Sum/Dif
c-m-1
![Page 34: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/34.jpg)
1.34
Adunarea în cod direct
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
![Page 35: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/35.jpg)
1.35
Adunarea in cod direct
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
![Page 36: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/36.jpg)
1.36
Adunarea în cod direct
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
![Page 37: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/37.jpg)
1.37
Adunarea în cod direct
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
![Page 38: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/38.jpg)
1.38
Adunarea în cod direct
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Exemple:
![Page 39: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/39.jpg)
1.39
Adunarea în cod direct
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Exemple:
![Page 40: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/40.jpg)
1.40
Înmulţirea prin adunare-deplasare
11001
10101
--------
11001
00000
11001
00000
11001
--------------
1000001101
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
I0=0
Aduna deinmultitul la acumulator
nuda
Deplasarea spre dreapta a ansamblului acumulator-inmultitor
Ultimul bit al inmultitorului?
STOP
danu
![Page 41: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/41.jpg)
1.41
Înmulţirea prin adunare-deplasare
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
sumator binar
A4 A3 A2 A1 A0 I4 I3 I2 I1 I0
D4 D0D1D2D3
C
SC
Incarcare deinmultitIncarcare inmultitor
Initializare acumulator
INITinmultitor
deinmutit
Incarcare acumulator
STOP
![Page 42: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/42.jpg)
1.42
Înmulţirea prin adunare-deplasare
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
0 1 1 1 1 1
0 0 0 0 0 0 1 0 1 1 10
0
0 1 1 1 1 1 1 0 1 1 11 se aduna X
0 0 0 0 0 0 1 1 0 1 12
1 0 1 1 1 03 se aduna X
0 1 0 1 1 1 0 1 1 0 14
1 1 0 1 1 0 0 1 1 0 15 se aduna X
0 1 1 0 1 1 0 0 1 1 06
0 0 1 1 0 1 1 0 0 1 17
1 0 1 1 0 0 1 0 0 1 18 se aduna X
0 1 0 1 1 0 0 1 0 0 19
1 1 0 1 1
Bit de semn
![Page 43: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/43.jpg)
1.43
Metoda lui BoothEste utilizabilă pentru numere reprezentate în cod complementar.
Algoritmul de calcul:
Observatii!Bitul de referinţă pentru bitul cel mai puţin semnificativ este 0;
După ultima comparare nu se mai realizează deplasarea.
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
y-iy-(i+1) …….
1 1 …….
1 0 …….
0 1 …….
0 0 ……. Deplasare produs partial cu un bit la dreapta
OPERATIA
Se scade deinmultitul si se deplaseaza produsul partial cu un bit la dreapta
Se aduna deinmultitul si se deplaseaza produsul partial cu un bit la dreapta
Deplasare produs partial cu un bit la dreapta
![Page 44: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/44.jpg)
1.44
Metoda lui Booth - exempluDeinmultitul X = 1,0011 (-13/16)
Inmultitorul Y = 0,1010 (+10/16)
0,00000000 initializare registru combinat
00 deplasare dreapta 0,00000000 P1
10 se scade X 1,0011
0,11010000 P2
deplasare dreapta 0,01101000
01 se aduna X 1,0011
1,10011000 P3
deplasare dreapta 1,11001100
10 se scade X 1,0011
0,10011100 P4
deplasare dreapta 0,01101000
01 se aduna X 1,0011
1,01111110 rexultat (-130/256)2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
![Page 45: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/45.jpg)
1.45
Înmulţire rapidă
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
D4 D3 D2 D1 D0
I0
I1
I2
I3
I4
S SSS S1/2
S SSS S1/2
S SSS S1/2
S SSS S1/2
A9 A6A7A8 A5 A4 A1A2A3 A0
EACC
0
![Page 46: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/46.jpg)
1.46
Înmulţire rapidă - exemplu
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
1 1 1 1 11
1
1
0
1
S SSS S1/2
S SSS S1/2
S SSS S1/2
S SSS S1/2
1 110 0 0 001 1
EACC
11
1
11 10 1111
1111 1
0 0000
1 1111
11
1
1
1
1
01
1
1 1 1 1
1 0 1 10 0
1
0
011
0
011 11
![Page 47: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/47.jpg)
1.47
Împărţire prin comparareExistă trei metode de împărţire în binar:
Metoda comparării
Metoda cu refacerea restului parţial
Metoda fără refacerea restului parţial
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
![Page 48: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/48.jpg)
1.48
(ACC)<(B)
(ACC)-(B)à (ACC)
nuda
Deplasarea spre stanga a ansamblului acumulator-cat
Ultima deplasare ?
STOP
danu
1à Q00à Q0
Împărţire prin comparare
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
1001010 10101110000
1001- 101
-
1000- 101
- 1010111
100- 000
100
![Page 49: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/49.jpg)
1.49
Împărţire prin comparare
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
A4 Q0Q1Q2Q3Q4A0A1A2A3
B4 B0B1B2B3
Scazator binar comparator
deimpartit/catrest
impartitor
![Page 50: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/50.jpg)
1.50
Împărţire fără refacerea restului
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
[A]>0
ß [A]+[Q]
danu
ß [A]+[Q]
Ultima deplasare ?
STOP
danu
1à Q00à Q0
A=[A]-[D]
A=[A]-[D]
ß [A]+[Q]
A=[A]+[D]
![Page 51: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/51.jpg)
1.51
Împărţire fără refacerea restului
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
Dn-1 . . . D0
divizor
An-1 . . . A0 Qn-1 . . . Q0
ALU
Schema de comanda
adunare/scadere
deplasare stanga
rest deimpartit/cat
![Page 52: Soc Cap01](https://reader033.vdocuments.mx/reader033/viewer/2022061209/548d406db47959151f8b4774/html5/thumbnails/52.jpg)
1.52
Împărţire fără refacerea restului
2007 Organizarea şi structura calculatoarelor -curs- Ionescu Augustin-Iulian
0 0 1 1
0 0 0 0 1 0 0 0
0 0 0 1 0 0 0
1 1 1 0 0 0 0 0
1 1 0 0 0 0 0
1 1 1 1 0 0 0 0
1 1 1 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1
1 ß
A=[A]-[D]<0
2 ß
A=[A]+[D]<0
3 ß
A=[A]+[D]>0
4 ß
1 1 1 1 0 0 1 0A=[A]-[D]<0
0 0 1 0 0 0 1 0A=[A]+[D]