05.08.2013 Views

Hur utförs aritmetiska operationer i processorn? ? ?

Hur utförs aritmetiska operationer i processorn? ? ?

Hur utförs aritmetiska operationer i processorn? ? ?

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Datorteknik 2012 föreläsningsfilmer<br />

Multilpkation<br />

Produkten av två naturliga tal fås genom att multiplicera varje siffra i<br />

multiplikatorn (B) med multiplikanden (A) och siffrans vikt, och addera<br />

ihop alla dessa delprodukter:<br />

För binära tal<br />

A⋅B = A⋅(dn-1 ⋅b n-1 + dn-2 ⋅b n-2 + ... + d1 ⋅b 1 + d0 ⋅b 0 )<br />

A⋅B = A⋅dn-1 ⋅b n-1 + A⋅dn-2 ⋅b n-2 + ... + A⋅d1 ⋅b 1 + A⋅d0 ⋅b 0<br />

n=4, r=10:<br />

0023⋅0025 = 0023⋅(0 ⋅10 3 + 0⋅10 2 + 2 ⋅10 1 + 5⋅10 0 ) =<br />

23⋅2⋅10 + 23 ⋅5 ⋅1 =<br />

46 ⋅10 + 115 ⋅1 =<br />

460 + 115 = 575<br />

• är multiplikationen med siffran (0 eller 1) trivial<br />

• multiplikationen med vikten kan göras m.h.a. vänster<br />

skift<br />

Multiplikation av tvåkomplementtal sker på samma sätt som multiplikation<br />

av två naturliga tal utom att den mest signifikanta positionens<br />

delprodukt subtraheras istället för att adderas (enl. def. tvåkomp.):<br />

A⋅B = A⋅(-dn-1 ⋅2 n-1 + dn-2 ⋅2 n-2 + ... + d1 ⋅2 1 + d0 ⋅2 0 )<br />

A⋅B = -A⋅dn-1 ⋅2n-1 + A⋅dn-2 ⋅2n-2 + ... + A⋅d1 ⋅21 + A⋅d0 ⋅20 n=4, r=2:<br />

1010 . 1001 = -1010 . 1⋅2 3 +1010 ⋅ 0 ⋅2 2 + 1010⋅0⋅2 1 + 1010⋅1⋅2 0 =<br />

produkten repr.<br />

med 2n bitar:<br />

-11010000 + 0 + 0 +11111010 =<br />

- 00110000 + 0 + 0 +11111010 =<br />

00101010<br />

-6⋅(-7) = 42<br />

7 (4/7)<br />

<strong>Hur</strong> multipliceras<br />

tvåkomplementtal<br />

?

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!