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
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
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
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
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
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 ···
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)
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
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
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
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
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
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
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)
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
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
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
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ä
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