18
Digitaalitekniikan matematiikkaLuku 11 Sivu 1 (21) Laskutoimitukset binaariluvuilla 1.9.2011 Fe Laskutoimitukset binaariluvuilla CO CI P Q S C in C out Aseta i = n P i > Q i P > Q P i < Q i Ei i = 0 Ei i = i - 1 Ei On P < Q On P = Q On S = P Q + P Q = P Q C000000001000 P000001100011 Q0+0010000010 S000011100101 P - Q = P + (- Q) C = P Q

Laskutoimitukset binaariluvuilla

  • Upload
    frye

  • View
    37

  • Download
    0

Embed Size (px)

DESCRIPTION

Laskutoimitukset binaariluvuilla. Aseta i = n. On. P i > Q i. P > Q. Ei. On. P i < Q i. P < Q. Ei. On. i = 0. P = Q. C 000 00000100 0 P 0000 01100011 Q 0 + 00 10000010 S 0000 11100101. Ei. i = i - 1. 0-1=10. C = P Q. P - Q = P + (- Q ). 1+1=10. - PowerPoint PPT Presentation

Citation preview

Page 1: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 1 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

Laskutoimitukset binaariluvuilla

COCI

P

Q

S

Cin CoutAseta i = nAseta i = n

Pi > QiPi > Qi P > QP > Q

Pi < QiPi < Qi

Ei

i = 0i = 0

Ei

i = i - 1i = i - 1

Ei

On

P < QP < QOn

P = QP = QOn

S = P Q + P Q = P QS = P Q + P Q = P Q

C000000001000

P000001100011

Q0+0010000010

S000011100101

C000000001000

P000001100011

Q0+0010000010

S000011100101

P - Q = P + (-Q

)

P - Q = P + (-Q

)

C = P QC = P Q

Page 2: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 2 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

Johdanto

Tässä luvussa

• käsitellään peruslaskutoimitukset yksi- ja monibittisillä etumerkittömillä binaariluvuilla

• esitellään aritmeettiset peruspiirit

• esitetään etumerkittömien binaarilukujen vertailu ja vertailupiirit

• käsitellään kahden komplementtimuotoisten lukujen yhteen- ja vähennyslasku

• esitetään binaariluvun kertominen kahden potenssilla

Luvun tavoitteena on

• oppia laskemaan yhteen-, vähennys- ja kertolaskuja etumerkittömillä ja kahden komplementtimuotoisilla binaariluvuilla

• perehtyä aritmeettisiin piireihin ja vertailupiireihin sekä niiden käyttöön

Page 3: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 3 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

Laskutoimitukset yksibittisillä binaariluvuilla

• Periaatteessa kuten kymmenjärjestelmän numeroilla

• Laskutaulukot:

2

Kertolasku P · Q

P Q PR

0 0 00 1 01 0 01 1 1

P Q PR

0 0 00 1 01 0 01 1 1

Muistibitti(carry bit)

Yhteenlasku P + Q

+

P Q C S

0 0 0 00 1 0 11 0 0 11 1 1 0

P Q C S

0 0 0 00 1 0 11 0 0 11 1 1 0

Muistibitti(borrow bit)

Vähennyslasku P - Q

-

P Q B D

0 0 0 00 1 1 11 0 0 11 1 0 0

P Q B D

0 0 0 00 1 1 11 0 0 11 1 0 0

S=D

Page 4: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 4 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

Puolisummain

• Puolisummain (half adder) muodostaa kahden yksibittisen luvun summabitin ja muistibitin

½ΣS = P Q + P Q = P Q

C = P Q

Kytkentäfunktiot

&

Piirikaavio

P

QS

C

=1

Totuustaulu

Muistibitti

Summabitti

P Q C S

0 0 0 00 1 0 11 0 0 11 1 1 0

P Q C S

0 0 0 00 1 0 11 0 0 11 1 1 0

Piirrosmerkki

Σ

CO

P

Q

S

C

Page 5: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 5 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

Monibittisten binaarilukujen yhteen- ja vähennyslasku

• Monibittisillä luvuilla tuleva muistibitti on otettava huomioon

• Bittipositiossa i laskennassa ovat mukana • yhteenlaskettavien tai vähennettävien bitit Pi ja Qi

• tuleva muistibitti Ci tai Bi

• summabitti Si tai erotusbitti Di

• lähtevä muistibitti Ci+1 tai Bi+1

Pi Qi Ci Ci+1 Si

0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1

Pi Qi Ci Ci+1 Si

0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1

Summa Pi + Qi + Ci

+

Si = Di

Pi Qi Bi Bi+1 Di

0 0 0 0 00 0 1 1 10 1 0 1 10 1 1 1 01 0 0 0 11 0 1 0 01 1 0 0 01 1 1 1 1

Pi Qi Bi Bi+1 Di

0 0 0 0 00 0 1 1 10 1 0 1 10 1 1 1 01 0 0 0 11 0 1 0 01 1 0 0 01 1 1 1 1

Erotus Pi - Qi - Bi

-

C tai B ··· 1 1 1 0 0 ···P ··· 1 1 0 1 0 ···Q ··· 0 1 1 1 1 ···S tai D ··· 0 1 0 0 1 ···

Page 6: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 6 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

Kokosummain 1

• Kokosummain (full adder) ottaa huomioon myös yhteenlaskun tulevan muistibitin

• Seuraavassa jätetty signaalinimistä pois indeksi i

• Tuleva muistibitti on Cin ja lähtevä Cout

ΣTotuustaulu

P Q Cin Cout S

0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1

P Q Cin Cout S

0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1

Kytkentäfunktiot

S = P Q Cin + P Q Cin + P Q Cin + P Q Cin

= P Q Cin

Cout = P Q + P Cin + Q Cin

= P Q + Cin (P Q)

Page 7: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 7 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

Kokosummain 2

Σ

Piirikaavio 1

Cin

Cout

&

P Q

S

=1=1

&

&

1

Σ

COCI

P

Q

S

Cin Cout

Piirrosmerkki

Piirikaavio 2

Σ

CO

Σ

CO1

Cin

P

Q Cout

S

Page 8: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 8 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

Monibittiset binaarisummaimet

• 4-bittinen rinnakkaismuotoinen summain saatavilla erillispiirinä

• 4-bittisen rinnakkaismuotoisen summaimen periaatteellinen toteutus

• Heikkoutena hitaus: muistibitti etenee ketjussa summaimesta seuraavaan

• Todellisessa summaimessa muistibitin kulkua on nopeutettu

• tähän voidaan käyttää muistibitin kurkistuspiiriä

• kurkistussummaimessa viive ei riipu yhteenlaskettavien bittimäärästä

• nopein summain saadaan kahden tason piirinä

Σn

Σ

COCI

P0

Q0

S0

C10

P1

Q1

Σ

COCI

S1

C2

P2

Q2

Σ

COCI

S2

C3

P3

Q3

Σ

COCI

S3

C4

Esittele binaari-

summain

Page 9: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 10 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

?1

Laskutoimituksia etumerkittömillä binaariluvuilla

2

Yhteenlasku

Ylivuoto, väärä tulos

00

0

0

0

0

0

1

1

0

1

0

1

0

0

1

1

0

1

0

1

0

0

1

1

0

0

0

0

0

1

0

1

Muistibitti

P

Q +

Summa

01

0

0

1

1

0

1

0

1

1

1

1

1

0

1

0

0

1

1

0

0

0

0

0

0

0

1

1

0

1

0

1

Muistibitti

P

Q +

Summa

11

1

0

0

1

0

1

0

1

1

1

1

1

0

1

0

0

1

1

0

0

0

0

0

0

0

1

1

0

1

0

1

Muistibitti

P

Q +

Summa

+

Vähennyslasku

Ylivuoto, väärä tulos

00

1

0

1

0

1

1

0

0

0

0

0

0

1

0

1

0

1

1

0

0

0

0

0

0

0

0

0

0

1

0

1

Muistibitti

P

Q -

Erotus

-

00

1

1

0

0

1

1

0

0

0

0

0

1

1

0

0

1

1

1

1

1

0

1

0

0

0

1

1

0

1

0

1

Muistibitti

P

Q -

Erotus

10

0

1

0

0

1

1

0

0

0

0

0

1

1

0

0

1

1

1

1

1

0

1

0

0

0

1

1

0

1

0

1

Muistibitti

P

Q -

Erotus

Kertolasku

P

Q0•

Osatulot

Tulo

P

Q0•

Osatulot

Tulo

0

0

1

0

1

0

0

0

1

1

0

1

0

1

0

0

0

1

0

0

1

1

1

0

1

0

1

1

1

1

1

Page 10: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 11 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

Etumerkittömien binaarilukujen vertailu 1

• Yhtäsuuruuden vertailu

• Verrataan yksittäisiä bittejä EHDOTON TAI -portilla

• Yhdistetään bittikohtaiset vertailutulokset TAI-EI-portilla

• Esimerkki: nelibittinen yhtäsuuruuden vertailupiiri

Y

=1

1

=1

=1

=1

P0Q0

Q1

Q2

Q3

P1

P2

P3

Piirikaavio

=

COMP

P=Q

0

3

0

3

P0P1P2P3

Q0Q1Q2Q3

Y

Piirrosmerkki

P

Q

Page 11: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 12 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

Etumerkittömien binaarilukujen vertailu 2

• Keskinäisen suuruuden vertailu

• Selvitetään, kumpi luvuista on suurempi vai ovatko ne yhtä suuret

Vertailualgoritmi

Aseta i = n

Pi > Qi P > Q

Pi < Qi

Ei

i = 0

Ei

i = i - 1

Ei

On

P < QOn

P = QOn

>=<Kahdeksanbittinen vertailupiiri

COMP

P>Q

0

3

0

3

P=QP<Q

>=<

COMP

P>Q

0

3

0

3

P=QP<Q

>=<

P0P1P2P3

Q0Q1Q2Q3

0

01

P4P5P6P7

Q4Q5Q6Q7

PSQPYQPPQ

P

Q

P

Q

Page 12: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 13 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

?2

Kahden komplementtimuotoisten binaarilukujen yhteenlasku

• Yksinkertainen algoritmi

• laske luvut merkkibitteineen yhteen

• unohda merkkibiteistä muodostunut muistibitti

• Esimerkkejä:

2’s

P ja Q positiivisia, samoin S

00

0

0

0

1

0

0

1

0

1

1

0

0

1

0

1

0

0

0

0

0

1

0

1

0

0

1

1

0

1

0

1

C

P

Q +

S

P negatiivinen,Q positiivinen, S positiivinen

11

1

0

0

1

0

1

0

1

1

1

1

0

1

1

0

0

0

0

0

0

0

0

0

0

1

0

1

0

0

1

1

C

P

Q +

S

P negatiivinen,Q negatiivinen, S positiivinen!Ylivuoto!

10

1

1

0

0

1

0

1

0

1

0

1

0

1

0

1

1

0

0

1

1

1

1

1

0

1

1

0

0

1

0

1

C

P

Q +

S

Eri arvo

Page 13: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 14 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

Kahden komplementtimuotoisten binaarilukujen vähennyslasku

• Tehdään vastaluvun yhteenlaskuna: P - Q = P + (-Q)

• Kahden komplementtimuodossa esitetyn luvun vastaluku saadaan komplementoimalla luku merkkibitteineen

P - Q = P + (-Q)P - Q = P + (-Q)

-Q = kompl (Q)-Q = kompl (Q)

Page 14: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 15 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

?3

Kahden komplementtimuotoisten binaarilukujen vähennyslasku

• Esimerkki: P, Q ja R ovat kahden komplementtimuotoisia lukuja, P = 01001110, Q = 00010111, R = 11001000Laske P - Q, P - R ja Q - R

• Muodostetaan ensin komplementoimalla -Q ja -R.

Q = 00010111 -Q = 11101001R = 11001000 -R = 00111000

2’sMerkkibitti mukaan komplementointiin

P positiivinen,-Q negatiivinen, S positiivinen

11

0

1

0

0

1

1

0

0

0

1

1

1

0

0

1

0

1

1

0

0

1

0

1

0

1

0

1

0

0

1

1

C

P

-Q +

S

P positiivinen,-R positiivinen, S negatiivinen! Ylivuoto!

01

0

0

1

1

1

0

0

1

0

1

0

1

0

1

0

0

1

1

0

0

1

0

1

0

1

0

1

0

0

0

0

C

P

-R +

S

Q positiivinen,-R positiivinen, S positiivinen

00

0

0

0

1

0

0

1

1

0

1

0

0

1

1

0

0

0

1

1

0

1

0

1

0

1

0

1

0

1

0

1

C

Q

-R +

S

Page 15: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 18 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

Binaariluvun kertominen kahden potenssilla

• Kahden potenssilla kertominen = binaaripilkun siirto

• eksponentin osoittamalla määrällä

• oikealle, jos eksponentti on positiivinen (kertolasku)

• vasemmalle, jos eksponentti on negatiivinen (jakolasku)

• Kiinteän pilkun esityksessä pilkkua ei voida siirtää siirretään itse lukua

• vasemmalle, jos eksponentti on positiivinen (kertolasku)

• oikealle, jos eksponentti on negatiivinen (jakolasku)

• Siirrettäessä merkkibitti ei saa muuttua

• Vasemmalle siirrettäessä

• kertolaskun tuloksen pitää edelleen mahtua käytettävään sananpituuteen

• luvun perään lisätään nollia

• Oikealle siirrettäessä

• syntyy katkaisuvirhe, jos yksikin poistuva bitti on ykkönen

• luvun alkuun lisätään merkkibittejä

x 2n

: 2n

Page 16: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 19 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

?4

Kahden komplementtimuotoisen binaariluvun kertominen kahden potenssilla

• Esimerkki: kerrotaan 23:lla

• Positiivinen luku

• Negatiivinen luku

00 00 00 00 00 00 00 11 00 00 11 11 11 00 11 00

00 00 00 00 11 00 00 11 11 11 00 11 00 00 00 00

11 11 11 11 11 11 11 00 11 11 00 00 00 11 11 00

11 11 11 11 00 11 11 00 00 00 11 11 00 00 00 00

(+31410)

(+251210)

(-31410)

(-251210)

x 2n

0 0 0

1 1 1

Siirretty vasemmalle

Siirretty vasemmalle

Lisätty nollia

Lisätty nollia

Page 17: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 20 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

?5

Kahden komplementtimuotoisen binaariluvun jakaminen kahden potenssilla

• Esimerkki: jaetaan 23:lla

• Positiivinen luku

• Negatiivinen luku

00 00 00 00 00 00 00 11 00 00 11 11 11 00 11 00

00 00 00 00 00 00 00 00 00 00 11 00 00 11 11 11

11 11 11 11 11 11 11 00 11 11 00 00 00 11 11 00

11 11 11 11 11 11 11 11 11 11 00 11 11 00 00 00

0 1 0

(+31410)

(-31410)

(+3910)

1 1 0

(-4010)

: 2n

Siirretty oikealleLisätty nollia

Siirretty oikealleLisätty ykkösiä

Page 18: Laskutoimitukset binaariluvuilla

Digitaalitekniikan matematiikka Luku 11 Sivu 21 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe

Yhteenveto

• Yksi- ja monibittisten binaarilukujen laskutoimitukset määritellään laskutaulukoilla

• Ne toteutetaan aritmeettisilla piireillä

• puoli-, koko- ja monibittisillä binaarisummaimilla

• yhteen- ja vähennyslaskupiireillä

• Etumerkittömien binaarilukujen vertailu tehdään

• yhtäsuuruuden vertailupiirillä

• keskinäisen suuruuden vertailupiirillä

• Kahden komplementtimuotoisten binaarilukujen yhteen- ja vähennyslasku ovat yksinkertaisia

• Kahden komplementtimuotoisen binaariluvun kertominen tai jakaminen kahden potenssilla tehdään siirtämällä lukua vasemmalle tai oikealle

• Yksi- ja monibittisten binaarilukujen laskutoimitukset määritellään laskutaulukoilla

• Ne toteutetaan aritmeettisilla piireillä

• puoli-, koko- ja monibittisillä binaarisummaimilla

• yhteen- ja vähennyslaskupiireillä

• Etumerkittömien binaarilukujen vertailu tehdään

• yhtäsuuruuden vertailupiirillä

• keskinäisen suuruuden vertailupiirillä

• Kahden komplementtimuotoisten binaarilukujen yhteen- ja vähennyslasku ovat yksinkertaisia

• Kahden komplementtimuotoisen binaariluvun kertominen tai jakaminen kahden potenssilla tehdään siirtämällä lukua vasemmalle tai oikealle