DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites...

17
Dr. Oniga István DIGITÁLIS TECHNIKA 6

Transcript of DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites...

Page 1: DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites összeadók I A több bites számokat teljes összeadókból építhetjük meg

Dr. Oniga István

DIGITÁLIS TECHNIKA 6

Page 2: DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites összeadók I A több bites számokat teljes összeadókból építhetjük meg

Digitális Technika

Több bites összeadók IA több bites számokat teljes összeadókból építhetjük meg

Soros átvitelű 4 bites összeadó (Ripple carry adder): 7483

A B

ΣCout

Cin A B

ΣCout

Cin A B

ΣCout

Cin A B

ΣCout

Cin

A1 B1

S1

C0

S2S3S4

C1C2C3C4

A2 B2A3 B3A4 B4

Lassú

Si és Ci eredményt csak azután kapjuk meg amikor Ci-1 felvette végső értékét

Page 3: DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites összeadók I A több bites számokat teljes összeadókból építhetjük meg

Digitális Technika

Soros átvitelű 8 bites összeadó (8-bit Ripple carry adder)

Page 4: DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites összeadók I A több bites számokat teljes összeadókból építhetjük meg

Digitális Technika

Több bites összeadók IIPárhuzamos átvitelű 4 bites összeadó (Look-ahead carry adder) = gyors átvitelképző

Ai-1A1

½Σ

Átvitelt számoló logikaiblokk

Bi-1

Ci

AiBi

B1

Si

C0

Cgi CpiKeletkező átvitel Terjedő átvitelPropagate carry

1ii1iiii1iiiiii CB)CABA(C)BA(BAC −−− ++=++=

Generate carry

Page 5: DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites összeadók I A több bites számokat teljes összeadókból építhetjük meg

Digitális Technika

Párhuzamos átvitelű 4 bites összeadó

Look-ahead carry adder = gyors átvitelképző A B

ΣC out

C in A B

ΣC out

C in A B

ΣC out

C in A B

ΣC out

C in

A 1 B 1

Sum1C g1 =A 1B 1

C p1 =A 1+B 1

C in

C out 1C out

A 2 B 2A 3 B 3A 4 B 4

Sum2C g2 =A 2B 2

C p2 =A 2+B 2

Sum3C g3 =A 3B 3

C p3 =A 3+B 3

Sum4C g4 =A 4B 4

C p4 =A 4+B 4

C out2C out3

C in2C in3C in4

Cout1=Cg1+Cp1Cin1Cin2=Cout1Cout2= Cg2+Cp2Cin2= Cg2+Cp2Cout1= Cg2+Cp2(Cg1+Cp1Cin1)= Cg2+Cp2Cg1+ Cp2Cp1Cin1 Cout2=A2B2+(A2+B2) A1B1+(A2+B2) (A1+B1)Cin1Cin3=Cout2Cout3= Cg3+Cp3Cin3= Cg3+Cp3Cout2= Cg3+Cp3(Cg2+Cp2Cg1+Cp2Cp1Cin1)= Cg3+Cp3Cg2+ Cp3Cp2Cg1+ Cp3Cp2Cp1Cin1Cin4=Cout3Cout4=Cg4+Cp4Cin4=Cg4+Cp4Cout3= Cg4+Cp4(Cg3+Cp3Cg2+Cp3Cp2Cg1+Cp3Cp2Cp1Cin1) = Cg4+Cp4Cg3+ Cp4Cp3Cg2 + Cp4Cp3Cp2Cg1+ Cp4Cp3Cp2Cp1Cin1

Page 6: DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites összeadók I A több bites számokat teljes összeadókból építhetjük meg

Digitális Technika

Párhuzamos átvitelű 4 bites összeadóCout1=Cg1+Cp1Cin1Cin2=Cout1Cout2= Cg2+Cp2Cin2= Cg2+Cp2Cout1= Cg2+Cp2(Cg1+Cp1Cin1)= Cg2+Cp2Cg1+ Cp2Cp1Cin1 Cout2=A2B2+(A2+B2) A1B1+(A2+B2) (A1+B1)Cin1Cin3=Cout2Cout3= Cg3+Cp3Cin3= Cg3+Cp3Cout2= Cg3+Cp3(Cg2+Cp2Cg1+Cp2Cp1Cin1)= Cg3+Cp3Cg2+ Cp3Cp2Cg1+ Cp3Cp2Cp1Cin1Cin4=Cout3Cout4=Cg4+Cp4Cin4=Cg4+Cp4Cout3= Cg4+Cp4(Cg3+Cp3Cg2+Cp3Cp2Cg1+Cp3Cp2Cp1Cin1) = Cg4+Cp4Cg3+ Cp4Cp3Cg2 + Cp4Cp3Cp2Cg1+ Cp4Cp3Cp2Cp1Cin1

Sumator AB

Cin

S

Sumator AB

Cin

S

Co ut1

Sumator AB

Cin

S

Co ut2

Sumator AB

Cin

S

Co ut3

Cg 4 Cg 3

Cp 2

Cg 1

Cp 4Cp 3

Cg 2

Cp 1

Cin

Co ut4

S1S2S3

S4

Page 7: DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites összeadók I A több bites számokat teljes összeadókból építhetjük meg

Digitális Technika

1 BITES TELJES KIVONÓ

Page 8: DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites összeadók I A több bites számokat teljes összeadókból építhetjük meg

Digitális Technika

4-bites teljes kivonó

A3 A2 A1 A0 B3 B2 B1 B0

4 BITES ÖSSZEADÓ C0

B3 B2 B1 B0A3 A2 A1 A0

S3 S2 S1 S0

S3 S2 S1 S0

„1”

NO

T

NO

T

NO

T

NO

T

B(2)=B+1

A-B=A+(-B)

-BN= BN(2)

A-B=A+ BN(2)

Page 9: DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites összeadók I A több bites számokat teljes összeadókból építhetjük meg

Digitális Technika

ARITMETIKAI-LOGIKAI EGYSÉGEK (ALU)

ALU minden processzorban van, de önálló, diszkrét áramkörként is gyártják.

Az ALU egy kombinációs hálózat

- a bemeneteikre érkező két számmal (A és B)

- S bemeneteken megadott logikai vagy aritmetikai műveletet végzik el

- az eredményt az F kimeneteken jelenítik meg.

- Összeadás és kivonás művelet elvégzésekor figyelembe veszik az előző helyérték átvitelét (Cn), és az előállított átvitelt továbbítják a következő helyértékre (C).

Műveletek:• bináris aritmetikai utasítások (összeadás, kivonás, stb.), • logikai műveletek (AND, OR, stb.), • regiszterműveletek (jobbra-balra léptetés, inkrementálás, dekrementálás),

Page 10: DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites összeadók I A több bites számokat teljes összeadókból építhetjük meg

Digitális Technika

1 bites ALU(ALU = arithmetic + logic unit)

Cin_i= Cout_i-1

Cin_0=F0

Page 11: DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites összeadók I A több bites számokat teljes összeadókból építhetjük meg

Digitális Technika

Optimalizált 1 bites ALU

Cin_i= Cout_i-1

Cin_0=F0

Page 12: DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites összeadók I A több bites számokat teljes összeadókból építhetjük meg

Digitális Technika

1 bites ALU

Simplified version of a circuit in Tanenbaum, Andrew S., Structured Computer Organization, Fourth Edition Prentice-Hall, 1999 [p.138]

Page 13: DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites összeadók I A több bites számokat teljes összeadókból építhetjük meg

Digitális Technika

Optimalizált 4 bites összeadó/kivonó

Összeadás: Mode = 0 => bi´ =bi

Kivonás: Mode = 1 => bi´ =bi

Page 14: DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites összeadók I A több bites számokat teljes összeadókból építhetjük meg

Digitális Technika

4-bites ALU - 74LS181

• Két 4-bites operandus (A, B)• 4 bites eredmény (F)• Átvitel: CarryIn/ Out• S2: Aritmetikai/ logikai mód választó(MUX)• S0, S1: művelet kiválasztó

Jelzőbitek:• carry-in, carry-out átviteleket,• előjel bitet(sign), • túlcsordulást(overflow),• alulcsordulást(underflow).

Page 15: DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites összeadók I A több bites számokat teljes összeadókból építhetjük meg

Digitális Technika

4-bites ALU – tervezése Verilog-ban

Page 16: DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites összeadók I A több bites számokat teljes összeadókból építhetjük meg

Digitális Technika

Modulok leírása

Page 17: DIGITÁLIS TECHNIKA 6 - irh.inf.unideb.huonigai/DT/DT_6.pdfDigitális Technika Több bites összeadók I A több bites számokat teljes összeadókból építhetjük meg

Digitális Technika

ALU top modul leírása

• 4 és 8 bites belső vezetékek