Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la...

39
Structura și Organizarea Calculatoarelor Titular: BĂRBULESCU Lucian-Florentin

Transcript of Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la...

Page 1: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

Structura și Organizarea Calculatoarelor

Titular:

BĂRBULESCU Lucian-Florentin

Page 2: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

Chapter 3

ADUNAREA ȘI SCĂDEREA

NUMERELOR BINARE CU SEMN

Page 3: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 3

CONȚINUT

Adunarea FXP în cod direct

Sumator FXP în cod direct

Scăderea FXP în cod direct

Sumator/Scăzător FXP în cod direct

Adunarea FXP în cod complement față de 2

Scăderea FXP în cod complement față de 2

Sumator/Scăzător FXP în cod complement față de 2

Page 4: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 4

ADUNAREA FXP ÎN COD DIRECT

Se consideră operanzii 0|A|<1 și 0|B|<1 reprezentați în cod direct.

Rezultatul este 0|S|<1, în același format ca A și B.

Dacă se obține|S|>1 atunci apare o depășire de format ce trebuie semnalată ca eroare.

O caracteristică importantă a operațiilor cu numere reprezentate în cod direct este aceea că bitul de semn se generează separat deoarece bitul de semn nu are pondere.

Page 5: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 5

ADUNAREA FXP ÎN COD DIRECTDiagrama bloc a unui sumator binar pentru numere FXP cu

semn reprezentate în cod direct

Unde

/ sumator/scăzător binar pentru numere fără semn;

OBG circuit generare bit depășire (Overflow);

SBG circuit generare bit semn;

IOG circuit generare semnal intern selecție operație.Pentru detalii vezi slide 13

Page 6: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 6

ADUNAREA FXP ÎN COD DIRECTCazul I: A0 și B0

Operanzii vor fi deci reprezentați ca A=0,|A| și B=0,|B|

Deci S=A+B=0,|S|

Deoarece numerele au același semn, pentru anumite cazuri poate să apară depășire (Overflow). Așadar există două sub-cazuri:

0|A|+|B|<1

În acest caz Overflow = 0 și rezultatul este reprezentat corect in cod direct

|A|+|B| 1

Rezultatul nu poate fi reprezentat în formatul dorit. Se va genera eroare de depășire (Overflow = 1)

Bitul de semn nu are relevanță.

Observație! În ambele sub-cazuri operația internă este identică cu operația externă!

Page 7: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 7

ADUNAREA FXP ÎN COD DIRECTCazul II: A 0 și B 0

Operanzii sunt reprezentați ca A=0,|A| și B=1,|B|

Deoarece suma a două numere cu semne diferite este mai mică decât fiecare din numere, este evident că nu se va obține niciodată o eroare de depășire (Overflow = 0).

În funcție de semnul rezultatului apar două sub-cazuri:

|A| |B|

Bitul de semn al sumei este Ss=0, deci rezultatul este pozitiv.

În acest caz |S|=|A|-|B|, iar rezultatul este reprezentat corect în cod direct.

|A|<|B|

Rezultatul este negativ, deci Ss=1.

Se obține |S|=|B|-|A|=-(|A|-|B|)=1-(|A|-|B|)=

Rezultatul este corect dar este reprezentat in cod complement față de 2 și va trebui convertit in cod direct.

Observație! În ambele sub-cazuri operația internă este diferită de operația externă!

|B||A|

Acest bit 1 nu este reprezentat fizic deoarece este în afara formatului.

Page 8: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 8

ADUNAREA FXP ÎN COD DIRECTCazul III: A 0 și B 0

Operanzii sunt reprezentați ca A=1,|A| and B=0,|B|

Deoarece suma a două numere cu semne diferite este mai mică decât fiecare din numere, este evident că nu se va obține niciodată o eroare de depășire (Overflow = 0).

În funcție de semnul rezultatului apar două sub-cazuri:

|A| |B|

Bitul de semn al sumei este Ss=1 , deci rezultatul este negativ.

În acest caz |S|=|A|-|B|, iar rezultatul este reprezentat corect în cod direct.

|A|<|B|

Rezultatul este pozitiv, deci Ss=0.

Se obține |S|=|B|-|A|=-(|A|-|B|)=1-(|A|-|B|)=

Rezultatul este corect dar este reprezentat in cod complement față de 2 și va trebui convertit in cod direct.

Observație! În ambele sub-cazuri operația internă este diferită de operația externă!

|B||A|

Acest bit 1 nu este reprezentat fizic deoarece este în afara formatului.

Page 9: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 9

ADUNAREA FXP ÎN COD DIRECTCazul IV: A < 0 și B < 0

Operanzii sunt reprezentați ca A=1,|A|și B=1,|B|

Deoarece suma a două numere negative este un număr negativ, aceasta poate fi reprezentată ca S=A+B=1,|S|. În acest caz poate să apară o eroare de depășire.

Se analizează două sub-cazuri:

0 |A|+|B|< 1

În acest caz |S|=|A|+|B|, Overflow = 0 și rezultatul este reprezentat corect in cod direct. Bitul de semn al sumei este Ss=1

|A|+|B| 1

Rezultatul nu poate fi reprezentat în formatul dorit. Se va genera eroare de depășire (Overflow = 1)

Bitul de semn nu are relevanță.

Observație! În ambele sub-cazuri operația internă este identică cu operația externă!

Page 10: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 CSO_03 2018-2019 10

ADUNAREA FXP ÎN COD DIRECTExemple:

Page 11: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 11

ADUNAREA FXP ÎN COD DIRECTConcluzii:

Dacă operanzii A și B au același semn:

Operația internă coincide cu operația externa;

Ieșirea Cout este “transport” deoarece operația este de adunare;

Bitul de semn este identic cu bitul de semn al celor doi operanzi;

Dacă |A|+|B|<1, rezultatul este corect și reprezentat în cod direct;

Dacă |A|+|B|1, atunci Cout=1 și se generează un semnal overflow.

Dacă operanzii A și B au semne diferite:

Operația internă este diferită de operația externa;

Nu apare overflow;

Ieșirea Cout are semnificație de “împrumut” deoarece operația efectuată este de scădere;

Dacă |A| |B|, rezultatul este corect și reprezentat în cod direct;

Dacă |A|<|B|, rezultatul este corect și reprezentat în cod complement față de 2 și Cout=1;

Când Cout=1, rezultatul apare in cod complement față de 2 și trebuie convertit în cod direct

Page 12: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 12

CONȚINUT

Adunarea FXP în cod direct

Sumator FXP în cod direct

Scăderea FXP în cod direct

Sumator/Scăzător FXP în cod direct

Adunarea FXP în cod complement față de 2

Scăderea FXP în cod complement față de 2

Sumator/Scăzător FXP în cod complement față de 2

Page 13: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 13

SUMATOR FXP ÎN COD DIRECT

Sinteza unui sumator în cod direct se bazează pe utilizarea unui sumator binar și generarea următoarelor semnale(vezi figura de pe slide 5):

IntOP – operația internă (0 - adunare, 1 - scădere);

Ss – bit de semn (0 - pozitiv, 1 - negativ);

Overflow – semnal depășire de format, activ în 1;

CF2 – semnal ce indică modul de reprezentare al rezultatului (0 – cod direct, 1 – cod complement față de 2).

Sinteza acestor semnale se bazează pe concluziile din slide 11.

Tabela de adevăr pentru aceste semnale este:

Page 14: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 14

SUMATOR FXP ÎN COD DIRECT

As Bs Cout || IntOP Ss Overflow CF2

0 0 0 || 0 0 0 0

0 0 1 || 0 0 1 -

0 1 0 || 1 0 0 0

0 1 1 || 1 1 0 1

1 0 0 || 1 1 0 0

1 0 1 || 1 0 0 1

1 1 0 || 0 1 0 0

1 1 1 || 0 1 1 -

După minimizare:

IntOP = As Bs

Ss = As• + Bs•Cout

Overflow = Cout•(As ⊙ Bs)

CF2 = Cout

Cout

Page 15: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 15

SUMATOR FXP ÎN COD DIRECT

Page 16: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 16

SUMATOR FXP ÎN COD DIRECT

Page 17: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 17

CONȚINUT

Adunarea FXP în cod direct

Sumator FXP în cod direct

Scăderea FXP în cod direct

Sumator/Scăzător FXP în cod direct

Adunarea FXP în cod complement față de 2

Scăderea FXP în cod complement față de 2

Sumator/Scăzător FXP în cod complement față de 2

Page 18: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 18

SCĂDEREA FXP ÎN COD DIRECT

Scăderea prin adunarea complementului față de 2 al scăzătorului

(descazut – scazator = diferenta)

Această metodă se bazează pe următoarea proprietate a numerelor fracționare reprezentate în FXP:

|A| -|B| = 1 + |A| -|B| = |A| + (1 -|B|) = |A| + | |

În formula de mai sus semnul minus se referă la operația internă!

Această metodă are avantajul că folosește un sumator pentru scădere ceea ce reduce mult complexitatea schemelor logice folosite pentru adunare / scădere.

B

Page 19: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 19

Exemple:

SCĂDEREA FXP ÎN COD DIRECT

Page 20: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 20

CONȚINUT

Adunarea FXP în cod direct

Sumator FXP în cod direct

Scăderea FXP în cod direct

Sumator/Scăzător FXP în cod direct

Adunarea FXP în cod complement față de 2

Scăderea FXP în cod complement față de 2

Sumator/Scăzător FXP în cod complement față de 2

Page 21: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 21

SUMATROR/SCĂZĂTOR FXP ÎN COD DIRECT

Page 22: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 22

SUMATROR/SCĂZĂTOR FXP ÎN COD DIRECT

Page 23: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 23

CONȚINUT

Adunarea FXP în cod direct

Sumator FXP în cod direct

Scăderea FXP în cod direct

Sumator/Scăzător FXP în cod direct

Adunarea FXP în cod complement față de 2

Scăderea FXP în cod complement față de 2

Sumator/Scăzător FXP în cod complement față de 2

Page 24: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 24

ADUNAREA FXP ÎN COD COMPLEMENT FAȚĂ DE 2

Sunt două diferențe importante între adunarea numerelor reprezentate în cod complement față de 2 și adunarea numerelor reprezentate în cod direct:

1. În cazul adunării în cod complement față de 2 bitul de semn este tratat ca orice alt bit al numărului astfel încât operația se realizează pe 1+m ranguri. Asta înseamnă că bitul de semn al rezultatului este obținut în urma operației de adunare și nu este generat cu ajutorul unei scheme logice separată.

2. Operația internă este întotdeauna identică cu operația externă

În continuare, ca și în cazul codului direct, se va realiza o analiză detaliată a celor 4 cazuri (8 sub-cazuri) posibile.

Page 25: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 25

ADUNAREA FXP ÎN COD COMPLEMENT FAȚĂ DE 2

Cazul I: A0 și B0

Operanzii sunt reprezentați ca și în codul direct A=0,|A| și B=0,|B|

Deoarece suma a două numere pozitive este un număr pozitiv rezultă că S=A+B=0,|S|

Deoarece numerele au același semn, pentru anumite cazuri poate să apară depășire (Overflow). Așadar există două sub-cazuri:

0|A|+|B|<1

A+B=0+|A|+0+|B|=0+|A+B|=0+|S|

Rezultatul este reprezentat corect în cod complement față de 2 și nu se generează eroare de depășire (Overflow=0).

|A|+|B| 1

A+B=0+|A|+0+|B|=0+1+|S|=1•20+|S|

În mod evident rezultatul este absurd deoarece adunarea a două numere pozitive nu poate genera un număr negativ! Acest lucru se întâmplă deoarece apare o depășire de format (Overflow=1).

Page 26: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 26

Cazul II: A 0 și B <0

Operanzii sunt reprezentați ca A=0,|A| și B=1,|B|

Deoarece numerele au semne diferite, este evident că nu se va obține niciodată o eroare de depășire (Overflow = 0).

În funcție de semnul rezultatului apar două sub-cazuri:

|A| |B|

A+B=0+|A|+1+1-|B|=1•20+|A|+1-|B|= 1•21+ 0•20+|A|-|B|

|A|<|B|

A+B=0+|A|+1+1-|B|=1•20+|A|+(1-|B|)= 1•20+ 1+|A|-|B|=

= 1•20+ (1-(|B|-|A|))= 1•20+ |B|-|A|

Se observă ca bitul de semn este corect iar suma este reprezentată corect in cod complement față de 2.

ADUNAREA FXP ÎN COD COMPLEMENT FAȚĂ DE 2

Page 27: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 27

Cazul III: A < 0 și B 0

Operanzii sunt reprezentați ca A=1,|A| și B=0,|B|

Ca și în cazul anterior rezultatul este un număr subunitar și nu se generează eroare de depășire.

|A| |B|

A+B=1+|A|+0+|B|=1+(1-|A|)+0+|B|= 1•20+(1-(|A|-|B|))=

= 1•20+ |A|-|B|

|A|<|B|

A+B=1+|A|+0+|B|= 1+(1-|A|)+|B|= 1•21+ 0 •20 +|B|-|A|

Se observă ca bitul de semn este corect iar suma este reprezentată corect in cod complement față de 2.

ADUNAREA FXP ÎN COD COMPLEMENT FAȚĂ DE 2

Page 28: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 28

Cazul IV: A < 0 and B < 0Operanzii sunt reprezentați în cod complement față de 2 ca A=1,|A| și B=1,|B|

Deoarece suma a două numere negative este un număr negativ, S=A+B=1,|S|

Deoarece numerele au același semn, ca și în cazul I, poate să apară overflow.

0|A|+|B|<1

A+B=1+|A|+1+|B|=1+(1-|A|)+1+(1-|B|)=

= 1•21+1•20+(1-(|A|+|B|))=1•21+1•20+(|A|+|B|)

Rezultatul este reprezentat corect în cod complement față de 2 și nu apare overflow(Overflow=0).

|A|+|B| 1

A+B= 1+|A|+1+|B|= 1•21+0•20+(1-|A|)+(1-|B|)=

= 1•21+0•20+1+1-(|A|+|B|)= 1•21+0•20+1+1-(1+|S|)=

= 1•21+0•20+(1-|S|)=1•21+0•20+|S|

În mod evident rezultatul este absurd deoarece suma a două numere negative nu poate fi un număr pozitiv!

Asta înseamnă ca se va genera overflow (Overflow=1).

ADUNAREA FXP ÎN COD COMPLEMENT FAȚĂ DE 2

Page 29: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 29

Exemple:

ADUNAREA FXP ÎN COD COMPLEMENT FAȚĂ DE 2

Page 30: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 30

Concluzii:

În toate cazurile operația internă este identică cu operația externă.

Dacă operanzii A și B au același semn: Rezultatul este exprimat corect în cod complement față de 2

doar dacă suma valorilor absolute a numerelor este subunitară (Overflow=0);

Rezultatul este eronat (Overflow=1) dacă suma valorilor absolute a numerelor este supraunitară.

Dacă operanzii A și B au semne diferite: Nu există overflow (Overflow=0);

Rezultatul este întotdeauna corect în cod comlement față de 2

Când apare overflow atunci C0 <> C-1.

În restul cazurilor C0 = C-1

Deci Overflow = C0 C-1

ADUNAREA FXP ÎN COD COMPLEMENT FAȚĂ DE 2

Page 31: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 31

CONȚINUT

Adunarea FXP în cod direct

Sumator FXP în cod direct

Scăderea FXP în cod direct

Sumator/Scăzător FXP în cod direct

Adunarea FXP în cod complement față de 2

Scăderea FXP în cod complement față de 2

Sumator/Scăzător FXP în cod complement față de 2

Page 32: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 32

A-B = 1•21 + A - B = A + (1 -B) = A + B

În formula de mai sus semnul minus se referă la operația externă!

Din formulă rezultă că scăderea a două numere reprezentate în complement față de 2 se realizează prin adunarea complementului față de 2 al scăzătorului.

Acest lucru permite implementarea unui sumator/scăzător simplu pentru numere reprezentate în complement față de 2.

SCĂDEREA FXP ÎN COD COMPLEMENT FAȚĂ DE 2

Page 33: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 33

Exemple:

SCĂDEREA FXP ÎN COD COMPLEMENT FAȚĂ DE 2

Page 34: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 34

CONȚINUT

Adunarea FXP în cod direct

Sumator FXP în cod direct

Scăderea FXP în cod direct

Sumator/Scăzător FXP în cod direct

Adunarea FXP în cod complement față de 2

Scăderea FXP în cod complement față de 2

Sumator/Scăzător FXP în cod complement față de 2

Page 35: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 35

SUMATOR/SCĂZĂTOR FXP ÎN COD COMPLEMENT FAȚĂ DE 2

Page 36: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 36

SUMATOR/SCĂZĂTOR FXP ÎN COD COMPLEMENT FAȚĂ DE 2

Dacă iOperation = 0 oaS = iaA + iaB + 0•2-m = iaA + iaB;

Dacă iOperation = 1 oaS = iaA + iaB + 1•2-m = iaA + iaB

= 1•21+ iaA – iaB = iaA - iaB

Deoarece rangul 21 nu are reprezentare fizică.

Page 37: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 37

SUMATOR/SCĂZĂTOR FXP ÎN COD COMPLEMENT FAȚĂ DE 2

Page 38: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 CSO_03 2018-2019 38

SUMATOR/SCĂZĂTOR FXP ÎN COD COMPLEMENT FAȚĂ DE 2

Model VHDL

Page 39: Structura și Organizarealuci/SOC/SOC_03.pdfÎn formula de mai sus semnul minus se referă la operația internă! Această metodă are avantajul că folosește un sumator pentru scădere

3/5/2019 SOC_03 2018-2019 39

ÎNTREBĂRI?