Upload
lydung
View
218
Download
1
Embed Size (px)
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
C000000001000P000001100011Q0+0010000010S000011100101
C000000001000P000001100011Q0+0010000010S000011100101
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 luvunsummabitin 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ähennyslas ku
• 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 Si0 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 Si0 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 Di0 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 Di0 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 tulevanmuistibitin
• Seuraavassa jätetty signaalinimistä pois indeksi i
• Tuleva muistibitti on Cin ja lähtevä Cout ΣTotuustaulu
P Q Cin Cout S0 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 S0 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
Σ
CO≥1
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 9 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe
Nelibittinen binaarisummain
Σ
COCI
0
3
P
0
3
Q
0
3Σ
P0P1P2P3
Q0Q1Q2Q3
Cin Cout
S0S1S2S3
PiirrosmerkkiP0Q0
S0
C2
S1
C1 = Cg0
P1Q1
Cg1
Cp1
P2Q2
Cp2
P3Q3
Cp3
&
=1
≥1
&
&≥1
=1
=1
&
S2
Cg2
=1
≥1
=1
&
S3
Cg3
=1
≥1
=1
&
&C3
≥1
&
&
C4
≥1
&
Kurkistussummaimen piirikaavio
Σ4
Lisä
Digitaalitekniikan matematiikka Luku 11 Sivu 10 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe
?1
Laskutoimituksia etumerkittömillä binaariluvuilla
2
Yhteenlasku
Ylivuoto, väärä tulos
0000
0
001
1
010
1
001
1
010
1
001
1
000
0
010
1
MuistibittiP Q +
Summa
0100
1
101
0
111
1
101
0
011
0
000
0
001
1
010
1
MuistibittiP Q +
Summa
1110
0
101
0
111
1
101
0
011
0
000
0
001
1
010
1
MuistibittiP Q +
Summa
+
Vähennyslasku
Ylivuoto, väärä tulos
0010
1
011
0
000
0
010
1
011
0
000
0
000
0
010
1
MuistibittiP Q -
Erotus
-
0011
0
011
0
000
0
110
0
111
1
101
0
001
1
010
1
MuistibittiP Q -
Erotus
1001
0
011
0
000
0
110
0
111
1
101
0
001
1
010
1
MuistibittiP Q -
Erotus
Kertolasku
P
Q0•Osatulot
Tulo
P
Q0•Osatulot
Tulo
•
0
0
10
1
000
1
101
010
0
010
01
1
101
0
1
111
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 binaarilukujenyhteenlasku
• Yksinkertainen algoritmi
• laske luvut merkkibitteineen yhteen• unohda merkkibiteistä muodostunut muistibitti
• Esimerkkejä:
2’s
P ja Q positiivisia,samoin S
0000
0
100
1
011
0
010
1
000
0
010
1
001
1
010
1
C P Q +
S
P negatiivinen,Q positiivinen,S positiivinen
1110
0
101
0
111
1
011
0
000
0
000
0
010
1
001
1
C P Q +
S
P negatiivinen,Q negatiivinen,S positiivinen!Ylivuoto!
1011
0
010
1
010
1
010
1
100
1
111
1
011
0
010
1
C P Q +
S
Eri arvo
Digitaalitekniikan matematiikka Luku 11 Sivu 14 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe
Kahden komplementtimuotoisten binaarilukujenvä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 binaarilukujenvä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
1101
0
011
0
001
1
100
1
011
0
010
1
010
1
001
1
C P -Q +
S
P positiivinen,-R positiivinen,S negatiivinen!Ylivuoto!
0100
1
110
0
101
0
101
0
011
0
010
1
010
1
000
0
C P -R +
S
Q positiivinen,-R positiivinen,S positiivinen
0000
0
100
1
101
0
011
0
001
1
010
1
010
1
010
1
C Q -R +
S
Digitaalitekniikan matematiikka Luku 11 Sivu 16 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe
Kahden koplementtimuotoisten binaarilukujenyhteen- ja vähennyslaskupiiri
• Yhteenlasku binaarisummaimella (VAH = 0)• Vähennyslasku vastaluvun yhteenlaskuna samalla summaimella (VAH = 1)
• Vastaluvun muodostus EHDOTON TAI -porteilla ja tulevalla muistibitillä• Esimerkki: nelibittinen summain-vähennin
Lisä
P0
Q0=1
VAH
Σ
COCI
0
3
P
0
3
Q
0
3Σ
=1
=1
=1
Q1
Q2Q3
P1P2P3
S2
C4
S1
S0
S3
Digitaalitekniikan matematiikka Luku 11 Sivu 17 (21)Laskutoimitukset binaariluvuilla 1.9.2011 Fe
Aritmeettis-looginen yksikkö ALU
• Käytetään tietokoneen keskusyksikössä• Tekee aritmeettisia ja loogisia operaatioita
P0Q0
CO
Q1
Q2
Q3
P1
P2
P3
F2
C4
F1
F0
F3
ALU[T1]
CI
0
2 M0
7OVR
P0Q0P1Q1P2Q2P3Q3
C0
OVR
S0S1S2
T1
Tulot Toiminta LähdötS2 S1 S0 F
0 0 0 Nollaus 0 0 0 00 0 1 Vähennys Q – P0 1 0 Vähennys P – Q0 1 1 Summaus P plus Q1 0 0 EHDOTON TAI P ⊕ Q1 0 1 TAI P + Q1 1 0 JA P • Q1 1 1 Asetus 1 1 1 1
Toiminnan määrittely taulukossa
Lisä
OVR = 1 ⇔ ylivuoto
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 binaariluvunkertominen 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 binaariluvunjakaminen 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äänlaskutaulukoilla
• 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- javähennyslasku ovat yksinkertaisia
• Kahden komplementtimuotoisen binaariluvun kertominen tai jakaminenkahden potenssilla tehdään siirtämällä lukua vasemmalle tai oikealle
• Yksi- ja monibittisten binaarilukujen laskutoimitukset määritelläänlaskutaulukoilla
• 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- javähennyslasku ovat yksinkertaisia
• Kahden komplementtimuotoisen binaariluvun kertominen tai jakaminenkahden potenssilla tehdään siirtämällä lukua vasemmalle tai oikealle