EDA4 - Digital och Datorteknik 9/ EDA 4 - Digital och Datorteknik 8/9 Dagens föreläsning: Aritmetik, lärobok kapitel 6 Ur innehållet: hur man adderar och subtraherar tal i det binära talsystemet hur man kan koda om negativa binära tal, genom s k -komplementering, så att tecknet blir en del av talet hur addition och subtraktion kan utföras när talen kodats på -komplementsform EDA4 - Digital och Datorteknik 9/ Binär addition papper och penna metod Exempel:() + (3) =? () (3) + (8) minnessiffror augend addend summa
EDA4 - Digital och Datorteknik 9/ Binär multiplikation papper och penna metod Exempel: () () =? () multiplikand () multiplikator + (7) produkt 3 EDA4 - Digital och Datorteknik 9/ Binär subtraktion papper och penna metod Exempel:() - (43) =? minnessiffror () minuend (43) - subtrahend (67) skillnad 4
EDA4 - Digital och Datorteknik 9/ Binär division papper och penna metod Exempel:(33) : (6) =? divisor - - - - kvot dividend rest () :() = () + () :() EDA4 - Digital och Datorteknik 9/ Addition av BCD-tal Decimal siffra NBCDkodord 3 4 6 7 8 9 - - - 3-4 - - Exempel: Utför additionen +7 där talen är kodade på NBCD-form. + Resultatet > 9 (ej NBCD-kod), vi tvingas därför decimaljustera, dvs, addera 6 till resultatet + decimaljustering Resultatet alltså ( ) NBCD = (). 6 3
EDA4 - Digital och Datorteknik 9/ Vanliga binära ordlängder Nybble 4 bitar b 3 b Byte 8 bitar b 7 b Word 6 bitar b b Long 3 bitar b 3 b 7 EDA4 - Digital och Datorteknik 9/ Talområden vid NBC Antal bitar Minsta tal Största tal 4 (Nybble) () = () () = () 8 (Byte) () = () () = () 6 (Word) () = () () = (63) 3 (Long) () = () () = (4949679) 8 4
EDA4 - Digital och Datorteknik 9/ 8-bitars addition + 6 + 8 bitar ger talområdet.. 8 - =.. 4 + + 9 Spill! ( Overflow ) Minnessiffran, genererad från additionen av de mest signifikanta bitarna är en spillindikator. Vi kallar den Carry 9 EDA4 - Digital och Datorteknik 9/ Geometrisk tolkning - tallinje 6 3 4
EDA4 - Digital och Datorteknik 9/ 8-bitars subtraktion 4 - - 49-6 - För att kunna utföra subtraktionen tvingas vi låna av en tänkt siffra med vikt 8. Spill! ( Underflow ) Den tänkta lånebiten kallar vi Borrow, en spillindikator. EDA4 - Digital och Datorteknik 9/ Geometrisk tolkning - tallinje 49 3 4 6 6
EDA4 - Digital och Datorteknik 9/ Grafisk representation av NBC tal talvärde MAX bitmönster (max) Spillfenomenet är oberoende av varje icke-oändlig ordlängd. 3 EDA4 - Digital och Datorteknik 9/ Tal med tecken, Tecken/beloppsform +/- X, n-bitars tal: x n- x n-... x : X : X< belopp Exempel: 8-bitars tal +/- 9: +9-9 4 7
EDA4 - Digital och Datorteknik 9/ Talvärden vid tecken-belopp form Tolkning av talvärdet N för ett n- bitars tal: N n i i x n x i n=4 x 3 x x x N 7 6 4 3-7 -6 - -4-3 - - - EDA4 - Digital och Datorteknik 9/ Grafisk representation av tecken-belopps tal MAX talvärde bitmönster (max) MIN Den assymetriska avbildningen av talvärdet från bitmönstret antyder att aritmetiska operationer kan bli komplicerade 6 8
EDA4 - Digital och Datorteknik 9/ Tecken/beloppsform räkneregler för addition Relation A och B, om: Utförs A+B som: A,B A + B A, B<, A > B A - B A, B<, A < B -( B - A ) A<, B, A > B B - A A<, B, A < B -( A - B ) A,B< -( A + B ) En addition kan resultera i en subtraktion. Dessutom tillkommer teckenöverläggning för resultatet. Av tabellen framgår att ett kombinatoriskt nät för addition av tecken/belopps-tal blir komplicerat. 7 EDA4 - Digital och Datorteknik 9/ Tal med tecken - Tvåkomplementsform Viktigt för Arbetsbok, kap. 6 +/- X, N-bitars tal: x N- x N-... x : X : X< X om X N- = N - X om X N- = Exempel: 8-bitars tal +/- 9: +9-9=[6-9=37] 8 9
EDA4 - Digital och Datorteknik 9/ Tvåkomplementsform - Metod för teckenbyte X+Y = n Y är -komplementet till X (n-bitars tal) För 8-bitars tal således: Y = X k = 8 X = = ( 8 -) X + = x 7 x 6 x x 4 x 3 x x x + Detta kallas -komplement (X k ). Bitvis invertering 9 EDA4 - Digital och Datorteknik 9/ Exempel: Bestäm maskintalet på 8 bitars tvåkomplementsform för decimala talet - Vi utgår enklast från X= (och söker X k ) () = X = X k = + - () = X k =
EDA4 - Digital och Datorteknik 9/ Tvåkomplementsform - addition Relation A och B, om: A,B A, B<, A<, B, A,B< Utförs A+B som: A+B A+B k = [A+( N -B)] (mod N )= A-B = A + (-B) A k +B = [( N -A)+B] (mod N )= -A+B = B + (-A) A k +B k = [( N -A)+( N -B)] (mod N )= -A-B = -(A+B) Dvs. Oavsett vilka tecken de ingående talen har så fungerar rättfram binär addition. EDA4 - Digital och Datorteknik 9/ Tvåkomplementsform - subtraktion Vi inser också att en subtraktion kan utföras med hjälp av en adderare ty A-B = A+(-B) och B=B k = B k + Exempel: 6 =6+(-)= + + () = () Dvs -komplement: () k +
EDA4 - Digital och Datorteknik 9/ Exempel: 4-bitars addition av () och () Bitmönstren tolkade Bitmönster Bitmönstren tolkade som tal utan tecken som tal med tecken + 3 + + 3 = = = 3 4 6 7 8 9 3 4 NBC (Tal utan tecken) -8-7 -6 - -4-3 - - 3 4 6 7 Tvåkomplementrepresentation (tal med tecken) 3 EDA4 - Digital och Datorteknik 9/ Exempel: 4-bitars addition av () och () Bitmönstren tolkade Bitmönster Bitmönstren tolkade som tal utan tecken som tal med tecken 6 6 + + + = = =- 3 4 6 7 8 9 34 NBC (Tal utan tecken) -8-7 -6 - -4-3 - - 3 4 6 7 (-8) Tvåkomplementrepresentation (tal med tecken) 4
EDA4 - Digital och Datorteknik 9/ Exempel: 4-bitars addition av () och () Bitmönstren tolkade Bitmönster Bitmönstren tolkade som tal utan tecken som tal med tecken +3 + +-3 = = = 3 4 6 7 8 9 34() NBC (Tal utan tecken) -8-7 -6 - -4-3 - - 3 4 6 7 Tvåkomplementrepresentation (tal med tecken) EDA4 - Digital och Datorteknik 9/ Exempel: 4-bitars addition av () och () Bitmönstren tolkade Bitmönster Bitmönstren tolkade som tal utan tecken som tal med tecken 8-8 + + + -4 = 4 = = 4 3 4 6 7 8 9 3 4 () NBC (Tal utan tecken) -8-7 -6 - -4-3 - - 3 4 6 7 Tvåkomplementrepresentation (tal med tecken) 6 3
EDA4 - Digital och Datorteknik 9/ Tvåkomplementsform - talområde n n Exempel: 8-bitars tal -8 7 7 EDA4 - Digital och Datorteknik 9/ Tvåkomplementsform - spillindikatorer A + B där A och B< B -8 7 A max B max A Slutsats: Om A och B har olika tecken vid addition kan -komplementspill inte uppträda 8 4
EDA4 - Digital och Datorteknik 9/ A + B = S, där A och B A B -8 S 7 S A B Slutsats: Om A och B har samma tecken vid addition kan -komplementspill uppträda. Vi kan konstatera spill genom en teckenöverläggning, dvs: spill = (A ) (B ) (S<) 9 EDA4 - Digital och Datorteknik 9/ A + B = S, där A< och B < B A -8 S 7 B A S I detta fall kan vi skriva spillvillkoret: spill = (A<) (B<) (S ) 3
EDA4 - Digital och Datorteknik 9/ Komplementformer och moduloaritmetik Generell definition: X+X k = n X k = ( n -) X + Modulo( n )-aritmetik, talintervall.. n - Exempel: -komplement, 8-bitars tal X+X k = 8 X k = ( 8 -) X + Modulo(6)-aritmetik, talintervall.. 3 EDA4 - Digital och Datorteknik 9/ Talvärde vid tvåkomplementsform N n x n n i x i i N n=4 x 3 x x x 7 6 4 3 - - -3-4 - -6-7 -8 3 6
EDA4 - Digital och Datorteknik 9/ Grafisk representation av tvåkomplementsform MAX talvärde bitmönster (max) MIN Talvärdets avbildning är kontinuerlig bortsett från punkten, dvs, där talet (definitionsmässigt) byter tecken 33 EDA4 - Digital och Datorteknik 9/ Vi sammanfattar reglerna för flaggsättning vid addition av två n-bitars tal, R = X + Y, där index betecknar den minst signifikanta biten och följaktligen index n- betecknar den mest signifikanta biten: C X Y C ( X Y n n n n n ) V R X Y n n n n n n R X Y C = c n c n- c n-... c c X n- X n-... X X X + Y n - Y n-... Y Y Y R n- R n-... R R R 34 7
EDA4 - Digital och Datorteknik 9/ Vi sammanfattar Tvåkomplementsform är lämplig representation för binära negativa heltal. Subtraktion utförs som addition av tvåkomplement Spillindikator vid addition av naturliga tal [...N] Carry = c n Spillindikator vid subtraktion av naturliga tal [...N] Borrow (= c n då operationen utförs som addition) Spillindikator vid addition/subtraktion av n-bitars heltal [-M..N] med tvåkomplementsrepresentation: Overflow = s n- x n- y n- + s n- x n- y n- 3 8