ࡱ> b(x/ D/ 0|DArialr Newmanttz 0DComic Sans MSnttz 0B DWingdings MSnttz 00DTimes New Romanttz 0@DCourier Newmanttz 01@ .  @n?" dd@  @@``  `) jR -r[3|&+-G(!4--PPw4vQ7r "f     8-/!.R?_)   4(3 mJ v-   )p 60>!.+/ N] 7"f5 04vD6mC@0d:(W   +xK7 $ %"!L1O 6C#"L <6@Ek7}(`:\3Q4'$#("**'!/!,,Y]Z[[j^~D`ab;cddhijAmEneprfwz8{[|}mzD   0AA fff@8rTʚ;3 ;ʚ;g4dddd< 0fppp@ <4dddd@w 0tz <4BdBd@x 0tg4BdBdP 0p p0___PPT10 ZZ___PPT9|?  %O  =FX#Integer Multiplication and Division $#,COE 308 Computer Architecture Prof. Muhamed Mudawar Computer Engineering Department King Fahd University of Petroleum and Minerals84Z 0Zd/Z4 OPresentation OutlineUnsigned Multiplication Signed Multiplication Faster Multiplication Unsigned Division Signed Division Multiplication and Division in MIPS Fr Unsigned Multiplication!Paper and Pencil Example: Multiplicand 11002 = 12 Multiplier 11012 = 13 1100 0000 1100 1100 Product 100111002 = 156 m-bit multiplicand n-bit multiplier = (m+n)-bit product Accomplished via shifting and addition Consumes more time and more chip areaB   2!  2: 2Me  e  a  i  a  i  e  eaeaiai.ae aiai:       & [ $Version 1 of Multiplication Hardware4Initialize Product = 0 Multiplicand is zero extended$5S"Multiplication Example (Version 1)Consider: 11002 11012 , Product = 100111002 4-bit multiplicand and multiplier are used in this example Multiplicand is zero extended because it is unsignedz    g T$Observation on Version 1 of MultiplysHardware in version 1 can be optimized Rather than shifting the multiplicand to the left Instead, shift the product to the right Has the same net effect and produces the same results Reduce Hardware Multiplicand register can be reduced to 32 bits only We can also reduce the adder size to 32 bits One cycle per iteration Shifting and addition can be done simultaneouslyY <` < <b < <1 <c6/21 $Version 2 of Multiplication HardwareZProduct = HI and LO registers Product is shifted right Reduced 32-bit Multiplicand & Adderf[# $Refined Version of Multiply HardwareVEliminate Multiplier Register Initialize LO = Multiplier Product = HI and LO registersnW) W"Multiply Example (Refined Version)Consider: 11002 11012 , Product = 100111002 4-bit multiplicand and multiplier are used in this example 4-bit adder produces a 5-bit sum (with carry)    R  Z Next . . .Unsigned Multiplication Signed Multiplication Faster Multiplication Unsigned Division Signed Division Multiplication and Division in MIPS( F\Signed MultiplicationSo far, we have dealt with unsigned integer multiplication Version 1 of Signed Multiplication Convert multiplier and multiplicand into positive numbers If negative then obtain the 2's complement and remember the sign Perform unsigned multiplication Compute the sign of the product If product sign < 0 then obtain the 2's complement of the product Refined Version: Use the refined version of the unsigned multiplication hardware When shifting right, extend the sign of the product If multiplier is negative, the last step should be a subtract^ 2: 2A 2 2 2 2^:AU/   X&Signed Multiplication (Pencil & Paper)%Case 1: Positive Multiplier Multiplicand 11002 = -4 Multiplier 01012 = +5 11111100 111100 Product 111011002 = -20 Case 2: Negative Multiplier Multiplicand 11002 = -4 Multiplier 11012 = -3 11111100 111100 00100 (2's complement of 1100) Product 000011002 = +12 2   2   2 2   2-  2g  g  c  k  c  k  g  gckckcgcgcg ckc   $g$ ((,g,,c,,k,,c,,k,,g, 004g44c44k44c44k44c44g44c44g44c44g44c44g488 >\`Y{ff` R>&- {p_/̴>?" dd@$?vdd(@#?  n?" dd@   @@``PR    ?  ` p>>   (  (    6  `  T Click to edit Master title style! !  0  `x  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  0" `* Integer Multiplication and Division COE 308  Computer Architecture Muhamed Mudawar  slide *` 2`c ^ H  0޽h ? 3380___PPT10.И@r Default Design  0 QI`(    6P  `  T Click to edit Master title style! !  0R  `b  W#Click to edit Master subtitle style$ $H  0޽h ? 3380___PPT10.88/k&d 0  t(    0QB B  , P*    0P\B  wB B R*  d  c $ ?qU  B  0  K B RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  6_B .  B P*  :  6fB  w.` BH@___PPT9"@ l*"  H  0rllC ? 3380___PPT10.J F   h(  h h NxBtt B  B \* p88pp h NiBtt  wB B ^* p88pp h T Btt .  B \* p88ppt h TBtt  w.` BH@___PPT9"@ *"  p88ppH h 0rllC ? 3380___PPT10.Jp: 0  06(  0~ 0 s *TW `r  x 0 c $X `<  H 0 0޽h ? 33___PPT10i.И0+D=' P= @B +  0 0T<(  T~ T s *X `   ~ T s ** "   H T 0޽h ? f3fy___PPT10Y+D=' P= @B +G3  0L0  5 80! (   ^  6?"   fxxaxaG  ? `x<$D  0  ~  s * `     TjJ? u ,$D  0 RBinary multiplication is easy 0 multiplicand = 0 1 multiplicand = multiplicand.S vB5@F vB  N Do?MCMB  N Do?Z xZ ,$@  0H  0޽h ? U>=UU(--___PPT10c-.L`"h+xVRD,' = @B D,' = @BA?%,( < +O%,( < +Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* S`%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<* S`D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<* S`Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* `l%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<* `lD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<* `lDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* lw%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<* lwD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<* lwDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* w%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<* wD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<* wD4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<* D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<* D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<* D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<* D{' =%(D#' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<* D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<* Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<* D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<* Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<* D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<* Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* "%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<* "D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<* "+8+0+ 0 +0  0 // !39 @e.(   ~  s * `    8  }/ 9 X  2   Z 1?B   BjJ"`}+ 7Start   BjJf @Multiplier[0]?   BjJ N6 l$1a. Product = Product + Multiplicand,%    BjJ t q4  T$2. Shift the Multiplicand Left 1 bit%%   BjJ q  S#3. Shift the Multiplier Right 1 bit$$   BxjJa T  X32nd Repetition?,  B   BjJ"`/ 6Done   6|p/0 3= 0   B4CpU0 3= 1   Bj *  2No   B2 g 3Yes  # l G~HI~jJ?M"H   T jJ?1`   T jJ?:  "  B  fZ H8IjJ?M<n 2  B  f GH-EIjJ?"n   B T jJ? [   B T jJ? }"   f GHۄIjJ?Z    fgֳgֳ ? `     0e0e    B=CDE F 1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||==@S"  M    0e0e    B=CDE F 1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||==@S"      0e0e    B=CDE F 1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||==@S"  yI   3 ZBC@DE F*fV @@`c"$ ` RF ^B  6D>F  ^B  6D>Y   B fjJ"`tuY J Multiplicand"    ! H"`_ A)=  < 64-bit ALU  L    " #  rP  t2 #  6V"`   $  < "`   9Control^B % @ 6DjJ9T9 & N`fjJ"` Mo H Multiplier"    ' B`fjJ"` M  EProduct"   (  0e0e    BCCDEF  > 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||CC @  ) T"` v  ;64 bits  * T"`Cp ;64 bits  + T@""` hg  9write  , T "`PA  > shift left   B - @ Z D1? Mr  . TP)"`C   7add ^B / 6DjJP TP  0 T-"`   ? shift right    1  0e0e    BCCDEF 1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||zCC @S"   0 2 T1"`h  A Multiplier[0]  3 T5"`( ;32 bits  4 Tl9"`v   ;64 bits H  0޽h ?                      33___PPT10i.PL+D=' = @B +^  0 E E%S, d 9D(  , ~ , s *dA `   ~ , s * Do Nothing. x$$``l W/ 0  , / W0 ,$D 0  ,   `e 1? "`@3 0  b0011&x$$`` (,   ` 1? "` / C  X00110000  x$$`` ),   ` 1? "`W3   q#SLL Multiplicand and SRL Multiplier$$x$$``l W _  ,  W_ ,$D 0 ,,   `1? C_  X00011000  x$$``  ,   `8 1?"`@ _  b0110&x$$``  -,   `t1?W _  q#SLL Multiplicand and SRL Multiplier$$x$$``l WW , WW,$D  0 ,   ` 1? "`CW T0000x$$`` ,   `X 1? "` CW X11000000  x$$`` ,   ` 1? "`W W q#SLL Multiplicand and SRL Multiplier$$x$$``7l WY  , YW ,$D 0  /,  C x_ж_ж1?  \00001100  x$$``$ 1,   `1?W  Multiplier[0] = 1 => ADD<x$$`` ,  C BUCDE FU@ *  ,  T"`FS  5+(2 , C BUCDE FU@tYSl W   ,  W ,$D 0 ,  C x _ж_ж 1?"`   \00111100  x$$``2 ,   ` 1?"`W  Multiplier[0] = 1 => ADD<x$$`` ,  C BUCDE FU@ q  ,  T"`FE   5+(2 , C BUCDE FU@t ? l W  ,  W,$D 0 ,  C x_ж_ж 1?"`  \10011100  x$$``2 ,   `  1?"`W  Multiplier[0] = 1 => ADD<x$$`` ,  C BUCDE FU@   ,  T "`F I 5+(2`B ,  0Dt t "8 :W , :W ,  C x(_ж_ж 1? "`   Hx$$``  ,   `! 1?"` _ C3  Hx$$`` #,   `1 1?"`C_ 3  Hx$$`` %,   `4; 1?"`:_ W  Q2x$$`` ',  C x(D_ж_ж 1? "`3   Hx$$`` +,  C xL_ж_ж1? _  Hx$$``   ,   `V 1?"` C f00001100& x$$`` 4,  C x>_ж_ж1? X00000000  x$$`` 5,   `dQ1?C b1101&x$$`` 6,   `s1?W  X Initialize  x$$`` 7,   `|1?:W Q0x$$``  ,  C x؅_ж_ж 1? "`W Lx$$``  ,   ` 1?"` C  Hx$$`` 0,   `1?C  Lx$$`` 2,   `l1?:W_  Q1x$$`` ,   `| 1?"`  ,  Hx$$`` ,   `d 1?"`C   Lx$$`` ,   ` 1?"`: W  Q3x$$`` ,   ` 1?"` C Hx$$`` ,   ` 1?"`C  Lx$$`` ,   `h 1?"`: WW Q4x$$`` ,  # l1? C \ Multiplicand  x$$`` ,  # l81? WProductx$$`` ,  # l1?C Z Multiplier  x$$`` ,  # l1?:  ] Iteration  |$$``B ,  T o ?:~B ,  N 1 ?:~B ,  N 1 ?:B ,  T o ?:WWB ,  T o ?::W~B ,  N 1 ?  W~B ,  N 1 ?WB ,  T o ?WxB ,  H 1 ?:_ _ ~B ,  N 1 ?WWW~B ,  N 1 ?W  xB ,  H 1 ?:  xB ,  H 1 ?W3 3 xB ,  H 1 ?:  xB ,  H 1 ?W  xB ,  H 1 ?WxB ,  H 1 ?CCWH , 0޽h ? a(___PPT10.L5+0BD^' = @B D' = @BA?%,( < +O%,( < +D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*, %(D' =-o6Bdissolve*<3<*, D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*, %(D' =-o6Bdissolve*<3<*, D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*, %(D' =-o6Bdissolve*<3<*, D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*, %(D' =-o6Bdissolve*<3<*, D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*, %(D' =-o6Bdissolve*<3<*, D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*, %(D' =-o6Bdissolve*<3<*, D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*, %(D' =-o6Bdissolve*<3<*, D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*, %(D' =-o6Bdissolve*<3<*, +}  0 %0 $(  0 r 0 S  `   r 0 S  `x  H 0 0޽h ? 33___PPT10i.o;+D=' = @B +J/  0 a.Y.(7C `,(    <  0e0e    BCCDEF 1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||zCC @S"  ` "   fgֳgֳ ? &Y     Bl"` `     6G 3= 02  Z 1? B  BjJ"`o* 7Start  B$jJ @Multiplier[0]?  B(jJp %j  VHI = HI + Multiplicand$x  B8-jJ  C X32nd Repetition?,  B  B2jJ"`T 6Done  B\7 J 3= 1  Bd;   2No  B8 ] 3Yes  # l GHIjJ?<j|  T jJ?0z"  @  fZ HIjJ?p  2  @  ` GHpEI jJ?< |  @ T jJ?I"   f GjHIBjJ?    BCjJ w `)  p@Shift Product = (HI,LO) Right 1 bit Shift Multiplier Right 1 bitAA|  @ T jJ?/    c BCDEF >W   @i_ B  @ Z D1?   B  Z D1?     0e0e    B=CDE F 1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||==@S"     3 ZBC@DE F*fV @@`c"$ ` M ^B  @ 6D>I  ^B ! @ 6D>  " T4K"`^ r<  < 32-bit ALU  L    # #   t2 $  6V"`   %  <O"`   9Control & TS"` `M  ;64 bits  ' TW"`T ;32 bits  ( T\"`    9write  ) T `"`P d  7add  + N`dfjJ"` J Multiplicand"   ^B , 6DjJ a  - T8i"`[ J  ? shift right    . Tm"`~R ;32 bits  / THq"`` 4  ;33 bits  0 NtfjJ"` d  @HI"  1 N4yfjJ"`   @LO"  2 Tt}"`+ 4  ;32 bits XB 3 0DjJ  XB 4 0DjJC Y  5  B!CkDEF1!kk @"` O  6 T"`   9carry  7  0e0e    B=CDE F 1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||==@S"  G  8 NfjJ"`  H Multiplier"   ^B : 6DjJ   ; Tx"`c PG  ? shift right    = T"`  A Multiplier[0]  > T"`\Y ;32 bits H  0޽h ?                   33___PPT10i.PL+D=' = @B +:*  0 Q)I)0!6[ P'(      f(gֳgֳ ? `Y     B"` `    8  M T      6  3= 02   Z 1? 9B   BljJ"`M 7Start   BLjJQ 8LO[0]?   BШjJ %  VHI = HI + Multiplicand$x    BخjJv   X32nd Repetition?,  B    B<jJ"`R 6Done    B  3= 1   Bv 6  2No   B ] ` 3Yes  # l GHIjJ?   T jJ?"  B  fZ HA!IjJ?  2  B  ` GH>EI jJ?   B T jJ? L2   f GVH_TI jJ?"2  M  BjJ& ? LO=Multiplier P  <jJw  `  U#Shift Product = (HI,LO) Right 1 bit$$Z R  s *jJ~ S B N jJ? p s8 @ p [   / Z  C BCDEF AA>W   @  F  c BdCDEFA1ddD @S" W0 B  B Z D1? B  Z D1?       0e0e    B=CDE F 1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||==@S" J X     3 ZBC@DE F*fV @@`c"$ `  fB ! B 6D> T fB " B 6D>   #  T"`r   < 32-bit ALU  T    $ #  D tt2 %  6V"`   &  <x"`   9Control (  T"``[ ;64 bits  )  Td"`S   ;32 bits  *  T\"`  9write  +  T"`d 5  7add  .  T4"`v p 9LO[0]  /  NtfjJ"`@%  J Multiplicand"   fB 0  6DjJ a  3  T"` J 7  ? shift right    7  T"`~Q   ;32 bits  8  Tx"`4 E  ;33 bits  :  NfjJ"`dT 9 @HI"  ;  NfjJ"`T 9 @LO"  ?  T"`4   ;32 bits `B @ 0DjJ  `B A 0DjJ   W   B!CkDEFAA1!kk @"`m   >  T "` f  9carry H  0޽h ?   M    P   P          M R P  S  33___PPT10i.PL+D=' = @B +a  0 HH%^}< , G(  < ~ < s *$ `   ~ < s * `  l W   v<  W ,$D 0 <   `t 1?"` C  W1 1 0 0x$$`` <   `& 1?"`W  lShift Right Product = (HI, LO)x$$``- *<  C x'_ж_ж 1? "`c   o0 1 1 1 1 0 0 1&x$$``l W_ C3  y< _ WC3 ,$D 0#  <   `: 1?"`W_ 3  }LO[0] = 0 => Do Nothing.x$$`` +<   `B 1? "` _ C3  Hx$$``l W/   t< / W ,$D 0  <   `L 1?"` / C  W1 1 0 0x$$`` <   `DG 1?"`W3   lShift Right Product = (HI, LO)x$$``- .<  C xW_ж_ж 1? "`c3   o0 0 1 1 0 0 1 1&x$$``l W _  s<  W_ ,$D 0 <   `P1? C_  W1 1 0 0x$$`` <   `Xk1?W _  lShift Right Product = (HI, LO)x$$`` /<  C x|_ж_ж1? c _  o0 1 1 0 0 1 1 0&x$$``l WW x< WW,$D  0 <   `@ 1?"` CW W1 1 0 0x$$`` <   ` 1?"`W W lShift Right Product = (HI, LO)x$$`` 5<  C xl_ж_ж 1? "`cW a1 0 0 1 1 1 0 0x$$`` 6<  ` 1? "` C  Hx$$`` 2<  `<1? Cc Lx$$`` <  ` 1? "` Cd  Lx$$``  < C x(_ж_ж 1? "`_ c3  Hx$$``  <  ` 1? "`3 @c  Lx$$`` <  `4 1? "` @c_  Lx$$`` <  ` 1? "`CdW Hx$$`` ,<  ` 1? "`_ Cc3  Hx$$`` -<  ` 1? "`_ :W  Q2x$$`` 0<  ` 1? "` C e1 1 0 0&x$$`` 1< C x_ж_ж1? c o0 0 0 0 1 1 0 1&x$$`` 3<  `1? W  jInitialize (LO = Multiplier)x$$`` 4<  `1? :W Q0x$$`` 8<  `X1? :W_  Q1x$$`` 9<  `' 1? "` ,  Hx$$`` ;<  `0 1? "` :W  Q3x$$`` <<  `: 1? "` C Hx$$`` ><  `|C 1? "` :WW Q4x$$`` ?< # lM1?  C \ Multiplicand  x$$`` @< # lU1? z `Product = HI, LOx$$`` A< # l^1? Cc UCarryx$$`` B< # la1? :  ] Iteration  |$$``|B C< T o ? :vB E< N 1 ? :|B F< T o ? W:W|B G< T o ? ::WvB H< N 1 ?  WvB I< N 1 ? ccW|B J< T o ? WpB K< H 1 ? _ :_ vB L< N 1 ? WWWvB M< N 1 ?  W pB N< H 1 ?  : pB O< H 1 ? 3 W3 pB P< H 1 ?  : pB Q< H 1 ?  W pB R< H 1 ? WpB S< H 1 ? CCWvB D< N 1 ? :l W_  {< _W ,$D 0 7<   `tx1? Cc  U0x$$``P@ W_  r< W_ - <  C xl_ж_ж1?c  }1 1 0 0 1 1 0 14x$$`` <   `1?W  LO[0] = 1 => ADD<x$$``@  Yi  e<  _o  <  C BUCDE F U@ w *  <  T "`  <  5+(2 < C BUCDE F U@ Yl" T<  <1 i `B U<  0D  % % l W   |<  W ,$D 0 :<   ` 1? "`C c  U0x$$``Z@ W   u< W  - <  C x_ж_ж 1?"`c   o1 1 1 1 0 0 1 1& x$$``* <   `4 1?"`W  LO[0] = 1 => ADD<x$$``N  Yi  f<     g<  C BUCDE FU@ w *  h<  N"`  <  5+(2 i< C BUCDE FU@ Yf" j<  61i ZB k<  s *D % % l WU  }< U W,$D 0 =<   ` 1? "`C c U1x$$``Z@ WU  w< WU - $<  C x$_ж_ж 1?"`c  o0 0 1 1 1 0 0 1& x$$``* %<   ` 1?"`W  LO[0] = 1 => ADD<x$$``N  Yi  l<   U e m<  C BUCDE FU@ w *  n<  N"`  <  5+(2 o< C BUCDE FU@ Yf" p<  61i ZB q<  s *D % % H < 0޽h ? a(___PPT10.L5+0D^' = @B D' = @BA?%,( < +O%,( < +D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*{< %(D' =-o6Bdissolve*<3<*{< D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*s< %(D' =-o6Bdissolve*<3<*s< D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*y< %(D' =-o6Bdissolve*<3<*y< D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*t< %(D' =-o6Bdissolve*<3<*t< D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*|< %(D' =-o6Bdissolve*<3<*|< D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*v< %(D' =-o6Bdissolve*<3<*v< D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*}< %(D' =-o6Bdissolve*<3<*}< D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*x< %(D' =-o6Bdissolve*<3<*x< +  0 &H <(  H ~ H s * `   ~ H s ** "   H H 0޽h ? f3fy___PPT10Y+D=' = @B +  0 p! <(   ~  s *p `   ~  s *H `x  H  0޽h ? 33___PPT10i.+D=' = @B +   0 &D ,(  D ~ D s * `    D s *| `   RB D s *DjJ# RB D s *DjJ# ^" D 6 D T"`#  DSign-extension(2XB D 0D"a"^"  D 6JXB  D 0DwRB D s *DjJ # RB D s *DjJv# vXr D 0JX" D 0  RB D s *DU aU  D N"`V   DSign-extension(2X" D 0 } RB D s *D! w! Xr D 0( KO H D 0޽h ? 33___PPT10i.+D=' = @B +*  0  ** &6:L 0 ((  L  L  fgֳgֳ ? `    L  B"` `   C8 0 " :L 0  L  6s 3= 02 L  Z 1?  B L  BxjJ"` 7Start L  B4jJ# 8LO[0]?^  L  BjJ0 m  First 31 iterations: HI = HI + Multiplicand Last iteration: HI = HI  Multiplicand$Sx?  L  B$jJ  X32nd Repetition?,  B  L  B?jJ"`v" 6Done  L  B D v 3= 1  L  B\B Z  2No L  BW   @  L  c BdCDEF1ddD @S" W0 B L B Z D1? B L Z D1?    L   0e0e    B=CDE F 1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||==@S" J X  L  3 ZBC@DE F*fV @@`c"$ `  fB  L B 6D> T fB !L B 6D>   "L  T["`r   < 33-bit ALU  T    #L #  D tt2 $L  6V"`   %L  <_"`   9Control &L  T<^"``[ ;64 bits  'L  Tf"`S   ;32 bits  (L  Td"`  9write  )L  TJ"`d j/  <add, sub    *L  Tq"`v p 9LO[0]  +L  N|ufjJ"`@%  J Multiplicand"   fB ,L  6DjJ a  -L  Ty"` J 7  ? shift right    .L  TH~"`~Q   ;32 bits  /L  T|"`4 E  ;33 bits  0L  NfjJ"`dT 9 @HI"  1L  NfjJ"`T 9 @LO"  2L  T"`4   ;32 bits `B 3L 0DjJ  `B 4L 0DjJ   5L   B!CkDEF1!kk @"`m   6L  Tȑ"` f  8sign H L 0޽h ?L L L L L L  L L L L L L  L L L  L L L L L L L L L  33___PPT10i.PL+D=' = @B +`  0 GG0&]cP 0 HG(  P ~ P s *  `   ~ P s * `  z W   P   W ,$D 0 P  Z؞ 1?"` C  W1 1 0 0x$$`` P  Zا 1?"`W  r$Shift Product = (HI, LO) right 1 bit%%x$$``' P  3 r_ж_ж 1?"`c   o1 1 0 1 1 0 0 1&x$$``z W_ C3  P  _ WC3 ,$D 0  P  Z 1?"`W_ 3  }LO[0] = 0 => Do Nothing.x$$``  P  Z 1?"` _ C3  Hx$$``z W/    P  / W ,$D 0  P  Z< 1?"` / C  W1 1 0 0x$$``  P  Zp 1?"`W3   r$Shift Product = (HI, LO) right 1 bit%%x$$``' P  3 rd_ж_ж 1?"`c3   o1 1 1 1 0 0 1 1&x$$``z W _  P   W_ ,$D 0 P  Zd1? C_  W1 1 0 0x$$`` P  Zl1?W _  r$Shift Product = (HI, LO) right 1 bit%%x$$`` P  3 r _ж_ж1?c _  o1 1 1 0 0 1 1 0&x$$``z WW P  WW,$D  0 P  Z|  1?"` CW Hx$$`` P  Zl  1?"`W W r$Shift Product = (HI, LO) right 1 bit%%x$$`` P  3 r _ж_ж 1?"`cW a0 0 0 0 1 1 0 0x$$`` P ZD-  1?"` C  Hx$$`` P Z$/ 1?Cc Lx$$`` P Z@  1?"` Cd  Lx$$`` P 3 rA _ж_ж 1?"`_ c3  Hx$$`` P ZR  1?"`3 @c  Lx$$`` P ZT  1?"` @c_  Lx$$`` P Ze  1?"`CdW Hx$$`` P Zg  1?"`_ Cc3  Hx$$`` P Zx  1?"`_ :W  Q2x$$``  P Z  1?"` C e1 1 0 0&x$$`` !P 3 rx _ж_ж1?c o0 0 0 0 1 1 0 1&x$$`` "P Z 1?W  jInitialize (LO = Multiplier)x$$`` #P Zt 1?:W Q0x$$`` $P Z 1?:W_  Q1x$$`` %P Z|  1?"` ,  Hx$$`` &P Z  1?"` :W  Q3x$$`` (P Z  1?"` :WW Q4x$$`` )P  fx 1? C \ Multiplicand  x$$`` *P  f 1?z `Product = HI, LOx$$`` +P  fV 1?Cc TSignx$$`` ,P  f 1?:  ] Iteration  |$$``vB -P N o ?:pB .P H 1 ?:vB /P N o ?W:WvB 0P N o ?::WpB 1P H 1 ? WpB 2P H 1 ?ccWvB 3P N o ?WjB 4P B 1 ?_ :_ pB 5P H 1 ?WWWpB 6P H 1 ? W jB 7P B 1 ? : jB 8P B 1 ?3 W3 jB 9P B 1 ? : jB :P B 1 ? W jB ;P B 1 ?WjB 

P  _W ,$D 0 ?P  Z 1?Cc  U1x$$``NN W_  @P  W_ ' AP  3 r _ж_ж1?c  }1 1 0 0 1 1 0 14x$$`` BP  Z 1?W  LO[0] = 1 => ADD<x$$``N  Yi  CP   _o  DP  C BUCDE FU@ w *  EP  N "`  <  5+(2 FP C BUCDE FU@ Yf" GP  61i ZB HP  s *D % % z W   IP   W ,$D 0 JP  Z  1?"`C c  U1x$$``\N W   KP  W  ' LP  3 r _ж_ж 1?"`c   o1 0 1 1 0 0 1 1& x$$``$ MP  Z3  1?"`W  LO[0] = 1 => ADD<x$$``N  Yi  NP     OP  C BUCDE FU@ w *  PP  N, "`  <  5+(2 QP C BUCDE FU@ Yf" RP  61i ZB SP  s *D % % l WU  cP U W,$D 0p@ WU  aP WU  'P  ZB  1?"` C [0 1 0 0x$$`` UP   `>  1?"`C c U0x$$``- WP  C xV _ж_ж 1?"`c  o0 0 0 1 1 0 0 1& x$$``\ XP   `b  1?"`W   LO[0] = 1 => SUB (ADD 2's compl)<!x$$`` [P  T0[ "` 8 5+(2 \P C BUCDE FU@ U  l" ]P  <1 e`B ^P  0D !!2 bP B CENG}H79<J^FQ `T.)`T.)^F.)^F) X H P 0޽h ?bP  a(___PPT10.L5+ZD^' = @B D' = @BA?%,( < +O%,( < +D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*>P %(D' =-o6Bdissolve*<3<*>P D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*P %(D' =-o6Bdissolve*<3<*P D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*P %(D' =-o6Bdissolve*<3<*P D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* P %(D' =-o6Bdissolve*<3<* P D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*IP %(D' =-o6Bdissolve*<3<*IP D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*P %(D' =-o6Bdissolve*<3<*P D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*cP %(D' =-o6Bdissolve*<3<*cP D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*P %(D' =-o6Bdissolve*<3<*P +  0 0( <(   ~  s *u  `   ~  s *u * "    H  0޽h ? f3fy___PPT10Y+D=' = @B +G  0 2F*F@(gl 0 E(   ~  s *؁  `      < "` 0x   JD8  q l  qFT  Sf   # F     B{CDE F*jJ r>D{ @`S"  Sf    N "` O  :32-bit(2 rr   BZjJsrB   BDԔrB  B BDԔN   T "`)8 5A(2   T "`z0 BB1$(2 `B  0DjJ1H   TȎ "`u ;32 bits(2     BZC[DE FZZ[@"`0Nrr  B BZjJ rB  B BDԔPPrB   BDԔ"L#  B TĘ "`g6 5A(2  B T( "` BB0$(2 `B  B 0DjJ90gG  B c BZC[DE FZZ[@"`}LFT  Sf   # z     B{CDE F*jJ r>D{ @`S"  Sf    N "` O  :32-bit(2 T    # ]lr   <ZjJ ( lB   <DԔI ( I lB  B <DԔv \ w    N "`2 F  5A(2 !  N\ "`   BB2$(2 ZB " s *DjJ2 ? ` V  #  Nl "`" )   ;32 bits(2  $  s BZC[DE FZZ[@"` \  rB %  BDԔ`B & B 0DjJm ' B T "` ;32 bits(2  (   BCDE F@"`:3`B ) B 0DJ * B T0 "`J} 51(2 `B + B 0DjJm , B T\ "`  ;33 bits(2 rB -  BDԔ' `B . B 0DjJ / B T "`  ;32 bits(2  0   BCDE F@"`qg`B 1 B 0DP~ 2 B T "`}  51(2 `B 3 B 0DjJ 4 B T "`C ;33 bits(2 FT  Sf  5 # % )   6   B{CDE F*jJ r>D{ @`S"  Sf  7  N0 "` O  :32-bit(2 T   8 # J& lr 9  <ZjJ ( lB :  <DԔI ( I lB ; B <DԔv \ w  <  Nl "`2 F  5A(2 =  N "`   BB3$(2 ZB > s *DjJ2 ? ` V  ?  NT "`" )   ;32 bits(2  @  s BZC[DE FZZ[@"` \  rB A  BDԔ ^ `B B B 0DjJ   C B T "` G  ;32 bits(2  D   BCDE F@"` `B E B 0D   F B T "` "F  51(2 `B G B 0DjJ6 M  H B TD "` z  ;33 bits(2 FT  Sf  I #  V z#   J   B{CDE F*jJ r>D{ @`S"  Sf  K  N "` O  :32-bit(2 rr L  BZjJ,t  rB M  BDԔp pW rB N B BDԔ t  O  T( "`Y{   5A(2 P  T@ "` t  CB31$(2 `B Q 0DjJY   R  T "`I C@  ;32 bits(2  S   BZC[DE FZZ[@"`  Ct rB T  BDԔ=$ =`B U B 0DjJ&4TK V B T( "`jdx ;32 bits(2  W   BCDE F@"`= `B X B 0D3J Y B T "`w 91 bit(2 `B Z B 0DjJ&g T~  [ B T "`jQ d  ;33 bits(2  \ B Tt "`q BP1$(2  ] B T "` q BP2$(2  ^ B T "`@q BP3$(2  _ B T "`{]q CP31$(2  ` B TT "`6q GP63..32$(2  a B T "`^@q C. .$(2 rB b  BDԔ  X `B c 0DjJ   d B T! "`6 0@  ;32 bits(2  e B T% "`   I. . .((2  f   BCDE F@"`P] h B Td* "`Yq BP0$(2 `B i B 0D j B N\/ "`) 51(2 H  0޽h ? a(___PPT10i.L+D=' = @B +5  0 44p(Hy  54(   r  S d6  `      6<7 "` `    28  A y  AB   Z8 jJS"`?  FRipple Carry Adder(2   Z0A jJ"` ]  n  5+(2`B   0D7 7 ] `B  B 0D `B   0D ]    Z$E jJS"`?  Ba0$(2    ZDJ jJS"`?{ ]  Bb0$(2 `B   0D m    ZN jJS"`?   Bs0$(2    ZS jJ"`Z] jn  5+(2`B   0D ] `B  B 0Di `B   0D= =]    ZW jJS"`?   Ba1$(2    Z\ jJS"`?   Bb1$(2 `B   0Dm     ZdZ jJS"`?q S  Bs1$(2    Z/ (  I. . .((2 T  i i  ^ #   i  I  T8 jJ"`b r  5+(2ZB J  s *D 5 ZB L  s *DE5 E  M  Tt jJS"`? i   Ca31$(2  N  T jJS"`? i   Cb31$(2 ZB O  s *D U  P  TК jJS"`?y > [  Ds'31$(2  T  T jJS"`? ?  Dc'31$(2  Z  # BCDE FAA@p6 F  [  T jJS"`?i i  Cc31$(2  \ S BCDE F@ F ` V T  i i  _ # 8   `  Tl jJ"`b r  5+(2ZB a  s *D 5 ZB b  s *DE5 E  c  T jJS"`? i   Ba1$(2  d  T jJS"`? i   Bb1$(2 ZB e  s *D U  f  T jJS"`?y > [  Cs'1$(2  g  T jJS"`? ?  Cc'1$(2  h  3 BCDE F@p6 F  i  TT jJS"`?i i  Bc1$(2  j S BCDE F@ F ` V T  i i  k #  A  l  T$ jJ"`b r  5+(2ZB m  s *D 5 ZB n  s *DE5 E  o  T` jJS"`? i   Ba0$(2  p  T jJS"`? i   Bb0$(2 ZB q  s *D U  r  T4 jJS"`?y > [  Cs'0$(2  s  T jJS"`? ?  Cc'0$(2  t  3 BCDE F@p6 F  u  T jJS"`?i i  Bc0$(2  v S BCDE F@ F ` V H  0޽h ? 33___PPT10i.Cv`+D=' = @B +  0 ـрP( PM(   x  c $x  `   t68  ,    CS    Zt jJ"` 3+(2   Z jJ"` 3+(2   Z jJ"`  3+(2   Z jJ"`[> 3+(2   Z jJ"` 3+(2   Z jJ"` 3+(2   ZDjJ"`" 3+(2   ZjJ"`]@ 3+(2lB  B <D``lB   <DlB   <D  B  BCUDE FUU@"` f[    ZjJ"`   3+(2   ZP jJ"`#   3+(2   ZjJ"`^ A  3+(2lB   <DY Y lB   <D  lB   <D    B  BCUDE FUU@"`   lB   <D lB   <DMM lB   <D lB   <DwlB   <DwlB   <DMwMlB   <Dw  B N"`w Bd0$(2    B N"`Vw Bd1$(2    B N"` w Bd2$(2    B N<$"`Bw Bd3$(2  lB   <DlB   <DlB   <DLLlB   <D  B N("` Ba0$(2    B N "`V Ba1$(2    B Nd0"` Ba2$(2    B N5"`B Ba3$(2  lB   <DaalB   <DlB   <DlB   <D  B NT:"` Bb0$(2    B Nt?"`V Bb1$(2    B N D"` Bb2$(2    B N0H"`T Bb3$(2     Z MjJ"` w  3+(2  B NP"` `  Bs0$(2    B NT"`   Bs1$(2    B NdY"`N   Bs2$(2    B Nt]"`   Bs3$(2  lB   <D     B NDb"`  I  Bs4$(2    B Nf"`  #  Bs5$(2     c BDCDE FAADD@"`f  B NTk"`, Bc0$(2     c BDCDE FDD@"`#f  B NLp"`g Bc1$(2     c BDCDE FDD@"`]f  B N\t"` Bc2$(2     c BDCDE FDD@"`<f  B NTy"`R Bc3$(2     c BCDEFD @"`fB   c BCDEFD @"`fB   c BCDEFD @"`<fB   c BCkDEF''k @"`B    c BCkDEF''k @"`B    c BCkDEF''k @"`B    c BCkDEF''k @"`J BZ lB   <D lB   <DlB  B <Dw  Z lB  B <D=  lB  B <D  u 8 { z s   {z s ~  T\jJ"`* z  DRipple Carry Adder(2   T0jJ"`{  DRipple Carry Adder(2   TjJ"`]X :  DRipple Carry Adder(2`B   0DԔ Y `B   0DԔN  `B   0DԔ` Y `B   0DԔN     T4jJS"`?P N  5A(2   TjJS"`? TN  5B(2   TjJS"`?t I  5C(2`B   0DԔ;  `B   0DԔ##\   T,jJS"`?Ps 5S(2`B   0DԔ     TjJS"`?*   5D(2A 8  r    r   T4jJ"`   BCarry Save Adder(2   T$jJ"` n DRipple Carry Adder(2`B n  0DԔ X `B o  0DԔ) )X `B p  0DԔ]M ] `B s  0DԔM  `B t  0DԔ-_ -X `B u  0DԔM   v  TjJS"`? M  5A(2 w  ThjJS"`? M  5B(2 x  TpjJS"`? M  5C(2 y  TĴjJS"`? qH  5D(2`B z  0DԔ:  `B {  0DԔ': ' `B |  0DԔ[ }  T@jJS"`?zr 5S(2   TļjJ"` X 9;  BCarry Save Adder(2S38   S     S  g  ZjJ"`   3+(2 h  ZjJ"`j 3+(2 i  ZjJ"` 3+(2 j  ZjJ"`h 3+(2 k  ZtjJ"`  } 3+(2 l  ZjJ"`l} 3+(2 m  Z(jJ"`} 3+(2 n  ZjJ"`j} 3+(2lB o B <D  lB p  <DUUlB q  <D r B  BCUDE FUU@"`/w s  ZjJ"` w Y 3+(2 t  Z,jJ"`wmY 3+(2 u  ZjJ"` wY 3+(2lB v <Dl lB w <DlB x <Di  y  ZjJ"`wkY 3+(2lB z  <D } wlB {  <DV}VwlB | B <D}w } B  BCUDE FUU@"` wlB ~  <D} Y} lB   <DYlB   <DyYylB   <DY  B  BCUDE FUU@"`LlB  <Dl  lB  <D  lB  <Di  lB  <Dj0 0lB  <D00lB  <Dg00lB   <D! ! vlB   <DvlB   <DvlB   <Dv  B N0"`e  Bd0$(2    B N,"`\ Bd1$(2    B ND"`d Bd2$(2    B N@"`Y Bd3$(2  T  5   # @! fB   6D 5 fB   6D 5 fB   6D  5 fB   6D 5   B N "`e @ Bc0$(2    B N("`\@ Bc1$(2    B N\"`d@ Bc2$(2    B N"`Y@ Bc3$(2  lB   <D c lB   <DclB   <DclB   <Dc  B NP"`c c Ba0$(2    B Np"`Zc Ba1$(2    B N$"`bc Ba2$(2    B N@)"`Wc Ba3$(2  lB   <D c lB   <DTcTlB   <DclB   <DRcR  B N-"`  c Bb0$(2    B N2"`c Bb1$(2    B Nh7"`c Bb2$(2    B Nx;"` c Bb3$(2     Zh@jJ"`wY 3+(2lB  <D  B NC"`5  S  Bs0$(2    B N,H"`>S  Bs1$(2    B NL"`4S  Bs2$(2    B N=UU(MM___PPT10M.L`"h+DK' = @B DgK' = @BA?%,( < +O%,( < +D' =%(D' =%(D@' =A@BB BB0B%(D' =1:Bvisible*o3>+B#style.visibility<*d %(D' =-o6Bdissolve*<3<*d D~' =%(D&' =%(Dc' =4@BB BB%()))D' =1:Bvisible*o3>+B#style.visibility<*d DM%(D' =-o6Bdissolve*<3<*d DMDc' =4@BB BB%()))D' =1:Bvisible*o3>+B#style.visibility<*d %(D' =-o6Bdissolve*<3<*d D' =%(D' =%(Dc' =4@BB BB%()))D' =1:Bvisible*o3>+B#style.visibility<*d MV%(D' =-o6Bdissolve*<3<*d MVD~' =%(D&' =%(Dc' =4@BB BB%()))D' =1:Bvisible*o3>+B#style.visibility<*d V`%(D' =-o6Bdissolve*<3<*d V`Dc' =4@BB BB%()))D' =1:Bvisible*o3>+B#style.visibility<* d %(D' =-o6Bdissolve*<3<* d D' =%(D' =%(D@' =A@BB BB0B%(D' =1:Bvisible*o3>+B#style.visibility<*d %(D' =-o6Bdissolve*<3<*d DN' =%(D' =%(Dc' =4@BB BB%()))D' =1:Bvisible*o3>+B#style.visibility<*d `k%(D' =-o6Bdissolve*<3<*d `kD3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* d %(D' =-o6Bdissolve*<3<* d D' =%(D' =%(D@' =A@BB BB0B%(D' =1:Bvisible*o3>+B#style.visibility<*d %(D' =-o6Bdissolve*<3<*d DN' =%(D' =%(Dc' =4@BB BB%()))D' =1:Bvisible*o3>+B#style.visibility<*d kw%(D' =-o6Bdissolve*<3<*d kwD3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* d %(D' =-o6Bdissolve*<3<* d D' =%(D' =%(D@' =A@BB BB0B%(D' =1:Bvisible*o3>+B#style.visibility<*d %(D' =-o6Bdissolve*<3<*d D~' =%(D&' =%(Dc' =4@BB BB%()))D' =1:Bvisible*o3>+B#style.visibility<*d w%(D' =-o6Bdissolve*<3<*d wDc' =4@BB BB%()))D' =1:Bvisible*o3>+B#style.visibility<* d %(D' =-o6Bdissolve*<3<* d D' =%(D' =%(Dc' =4@BB BB%()))D' =1:Bvisible*o3>+B#style.visibility<*d %(D' =-o6Bdissolve*<3<*d DN' =%(D' =%(Dc' =4@BB BB%()))D' =1:Bvisible*o3>+B#style.visibility<*d %(D' =-o6Bdissolve*<3<*d D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* d %(D' =-o6Bdissolve*<3<* d D' =%(D' =%(D@' =A@BB BB0B%(D' =1:Bvisible*o3>+B#style.visibility<*d %(D' =-o6Bdissolve*<3<*d D~' =%(D&' =%(Dc' =4@BB BB%()))D' =1:Bvisible*o3>+B#style.visibility<*d %(D' =-o6Bdissolve*<3<*d Dc' =4@BB BB%()))D' =1:Bvisible*o3>+B#style.visibility<*d %(D' =-o6Bdissolve*<3<*d D' =%(D' =%(Dc' =4@BB BB%()))D' =1:Bvisible*o3>+B#style.visibility<*d %(D' =-o6Bdissolve*<3<*d D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*d %(D' =-o6Bdissolve*<3<*d D ' =%(D' =%(Dp' =A@BB BB0B%()))D' =1:Bvisible*o3>+B#style.visibility<*d %(D' =-o6Bdissolve*<3<*d D ' =%(D' =%(Dp' =A@BB BB0B%()))D' =1:Bvisible*o3>+B#style.visibility<*d %(D' =-o6Bdissolve*<3<*d D ' =%(D' =%(Dp' =A@BB BB0B%()))D' =1:Bvisible*o3>+B#style.visibility<*d %(D' =-o6Bdissolve*<3<*d ++0+d 0 ++0+d 0 ++0+d 0 ++0+d 0 ++0+d 0 ++0+d 0 ++0+d 0 ++0+d 0 +!1  0 8000'47 .(   ~  s *@ `      fgֳgֳ ?  '   8   7 - 2   Z 1?C/B   BjJ"`0 7Start   BjJ 6(  = Difference?     B(jJ $  @2. Remainder = Difference Set least significant bit of QuotientAnA    BjJ ]  X32nd Repetition?,  B   BLjJ"` ' 6Done   6(k 3< 0   Bk Be" 0 B   B$   2No   HT "`;u p  3Yes  # l GrHIrjJ?m   B T jJ?"&  B T jJ?!""  B # lZ G)HlIjJ?*  2  B  f GH.JIjJ?m<   B T jJ? "   f GH{IjJ?Cc    BjJG D<4___PPT9  Shift the Divisor Right 1 bit Shift the Quotient Left 1 bit Difference = Remainder  Divisor$nAn`-Uv0NF P p   x0 p   3 BC=DEF= @S" P s `B   0D>      0e0e    B=CDE F 1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||==@S" Zq 2     0e0e    B=CDE F 1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||==@S"       0e0e    B=CDE F 1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||==@S" yG d    3 ZBC@DE F*fV @@`c"$ `R}  `B   0D>  !  <fjJ"`u EDivisor"  "  B"`A )  < 64-bit ALU  T    # # rn P t2 $  6V"`   %  <($"`   9Control`B & B 0DjJTgg '  Ht"fjJ"`M FQuotient"   (  <fjJ"` Mo  G Remainder"    )  N/"` 3  ;64 bits  *  N&"`C<  ;64 bits  +  N6"`Z   9write  ,  N9"`  ? shift right   B - B T D1?M r  .  N\="` *  7sub `B /  0DjJT   0  N@"`V  > shift left    1  ND"`fp ;32 bits  2  N0H"`  \  > Difference    3  N(L"`   8sign  4  S BC*DEF >** @   5  0e0e    B=CDE F 1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||==@S" Z  6  NdP"`Z$ Y ]set lsb H  0޽h ?                   33___PPT10i.PL+D=' = @B +\  0 CC'RZ @(C(   Cz M    IM,$D  0   Z1?M M  g2: Diff < 0 => Do Nothingx$$``   ZX61?M P  Hx$$``   Z8 1?"`P S Hx$$``   3 rdH_ж_ж1?V  Hx$$``   Z Do Nothingx$$``   3 r_ж_ж1?V, Hx$$``   Z 1?"`S4V Lx$$``Cz M)      M} ,$D 0   Zt1?M ) P  Hx$$``   Z 1?"`P ) S  Hx$$``   Zd1?M) M  g2: Diff < 0 => Do Nothingx$$``   3 r _ж_ж1?V)   Hx$$``   Z 1?"`S1 V  Lx$$``  ZX 1?"`g :W  Q2x$$``  Zx 1?"`I P  f00001110& x$$``  3 rx_ж_ж1?V T0000x$$``  Z1?P S f00110000& x$$``  Z 1?WM  X Initialize  x$$`` ! ZP1?:W Q0x$$`` " Z`!1?:WL  Q1x$$`` # Z# 1?"` :W}  Q3x$$`` $ Z$4 1?"`} :W Q4x$$`` %  f<1?I P  Y Remainder  x$$`` &  fE1?"`V XQuotient  x$$`` '  fPO1?P S WDivisorx$$`` (  fQ1?:  ] Iteration  |$$``pB ) H 1 ?:pB * H 1 ?:pB + H 1 ?SSjB , B 1 ?L :L pB - H 1 ? M jB . B 1 ? : jB / B 1 ? M jB 0 B 1 ?} :}  1 Zd1?VV Hx$$`` 2  ff1? SV Z Difference  x$$``pB 3 H 1 ?M M pB 4 H 1 ?MMjB 5 B 1 ?P P pB 6 H 1 ? VVjB 7 B 1 ? SSpB 8 H 1 ? M pB 9 H 1 ?IMI^ : 6o= M`, < # M ,$D 0 =  3 rTz_ж_ж1?V`$ T0000x$$`` >   `1?"`M`M $ y1: SRL Div, SLL Q, Difference$x$$`` ?  Z؍ 1?"`I `P $ X00001110  x$$`` @  Zܖ1?S `S$ X00011000  x$$`` A  Z1?VhV, \11110110  x$$`` M  D # L M ,$D 0  E  3 rة_ж_ж 1?"`V  T0000x$$`` F   `| 1?"`MM  k1: SRL Div, SLL Q, Differencex$$`` G  Zp 1?"`I P  X00001110  x$$`` H  Z 1?"`S S  X00001100  x$$`` I  Z 1?"`V V  \00000010  x$$`` M\ (  L #  M ,$D 0 M  3 r_ж_ж1?V\   T0010x$$`` N   `1?"`M\ M  k1: SRL Div, SLL Q, Differencex$$`` O  Z 1?"`I \ P  X00000010  x$$`` P  Z1?S \ S  X00000110  x$$`` Q  Z1?Vd V(  \11111100  x$$`` M   T # | MH,$D 0 U  3 r_ж_ж1?V   T0100x$$`` V   ` 1?"`M M  k1: SRL Div, SLL Q, Differencex$$`` W  Z 1?"`I P  f00000010& x$$`` X  Z"1?S S  X00000011  x$$`` Y  Z1?V V  \11111111  x$$``H  0޽h ? a(___PPT10.L5+[iD^' = @B D' = @BA?%,( < +O%,( < +D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*< %(D' =-o6Bdissolve*<3<*< D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =-o6Bdissolve*<3<* D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*D %(D' =-o6Bdissolve*<3<*D D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =-o6Bdissolve*<3<* D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*L %(D' =-o6Bdissolve*<3<*L D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =-o6Bdissolve*<3<* D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*T %(D' =-o6Bdissolve*<3<*T D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =-o6Bdissolve*<3<* +}  0 ' $(   r  S X `   r  S Y `x  H  0޽h ? 33___PPT10i.sb+D=' = @B +Z(  0 q'i'&1Dx P%(  x ~ x s *` `    x  fagֳgֳ ?     8    Dx  22 x  Z 1?C/B x  BcjJ"`0 7Start x  BDejJ 6a = Difference?   x  BnjJ ]  @2. Remainder = Difference Set least significant bit of QuotientAnA   x  B|xjJ\ ]  X32nd Repetition?,  B  x  B~jJ"` R '  6Done  x  6Ă 3< 0  x  B Be" 0 B x  B4e %  2No x  H"`; p=  3Yes x # l GrHIrjJ? x B T jJ?"& x B T jJ?!V"" x B # lZ G*HemIgjJ?c V 2 x B  f GHIIjJ?<V  x B T jJ? L " x  f GOH>IjJ?Cc  x  BXjJG PD<4___PPT9  Shift (Remainder, Quotient) Left Difference = Remainder  Divisor$"n"nD-Uv08   Cx T / Ax  # B:C'DEFAq:q:' @S" * d  0x  T "`q  %  > shift left   B >x T D1?Z fB x B 6D>^ ^   x   0e0e    B=CDE F 1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||==@S"  fB  x  6D>nrnk  !x  BfjJ"`r EDivisor"  x  3 ZBC@DE F*fV @@`c"$ `kh L  "x  T"`   < 32-bit ALU   'x  NpfjJ"` Z  FQuotient"   *x  T"`'  ;32 bits  +x  TD"` )  9write B -x Z D1?Z? ?  .x  T̸"`   7sub fB /x  6DjJ L  1x  Tļ"`P g  ;32 bits  2x  T"`= 0\  > Difference    3x  Th"`   8sign  6x  T"`Z} $  ]set lsb  7x  HxfjJ"`    G Remainder"    ;x  C BCnDEF AA>nn @p^   Do Nothingx$$`` |  ZT1?M P  Hx$$`` |  Z 1?"`P S Hx$$`` |  3 r_ж_ж1?V  Hx$$`` |  Z@ 1?"`S V Lx$$``~ | s * `   ~  | s *  `  z M    |   M ,$D 0G  |   `H 1?"`M M  2: Rem = Diff, set lsb Quotient  ,  x$$``  |  Z# 1?"`P S  e1 0 0 1&x$$``  |  Zd- 1?"`M P  [0 0 0 0x$$`` |  3 r06_ж_ж 1?"`V   Lx$$`` |  Z88 1?"`S V  Lx$$``Cz M, |   ML ,$D 0 |  ZI1?M ,P  Hx$$`` |  ZdK 1?"`P ,S Hx$$`` |  Z U1?M,M  g2: Diff < 0 => Do Nothingx$$`` |  3 rde_ж_ж1?V, Hx$$`` |  Z_ 1?"`S4V Lx$$``Cz M)   (|   M} ,$D 0 )|  Zw1?M ) P  Hx$$`` *|  Zy 1?"`P ) S  Hx$$`` +|  ZD1?M) M  g2: Diff < 0 => Do Nothingx$$`` ,|  3 r_ж_ж1?V)   Hx$$`` -|  Z؍ 1?"`S1 V  Lx$$`` ;|  ` 1?"`g :W  Q2x$$`` <|  `  1?"`I P  W0 0 0 0x$$`` =| C x_ж_ж1?V Hx$$`` >|  `1?P S W1 1 1 0x$$`` ?|  `1?WM  X Initialize  x$$`` @|  `1?:W Q0x$$`` A|  `D1?:WL  Q1x$$`` B|  `T 1?"` :W}  Q3x$$`` C|  ` 1?"`} :W Q4x$$`` D| # l1?I P  Y Remainder  x$$`` E| # l1?"`V Z Difference  x$$`` F| # lx 1?P S XQuotient  x$$`` G| # l1?:  ] Iteration  |$$``vB H| N 1 ?:vB I| N 1 ?:vB K| N 1 ?SSpB L| H 1 ?L :L vB N| N 1 ? M pB O| H 1 ? : pB P| H 1 ? M pB Q| H 1 ?} :}  S|  ` 1?VV W0 0 1 1x$$`` T| # l*1? SV WDivisorx$$``vB J| N 1 ?M M vB M| N 1 ?MMpB R| H 1 ?P P vB U| N 1 ? VVpB V| H 1 ? SSvB X| N 1 ? M vB Y| N 1 ?IMId Z| <o=Ml M  a| M ,$D 0oN M`, |  M  |  3 rp6_ж_ж1?V`$ [1 1 1 0x$$`` |   `81?"`M`M $ u1: Shift Left, Difference$x$$`` |  Zl9 1?"`I `P $ [0 0 0 1x$$``  |  ZxS1?S `S$ [1 1 0 0x$$`` !|  Z]1?VhV, W0 0 1 1x$$``ZB ]| B s *D   ql ML   b| L M ,$D 0N M  |  ML   |  3 rx1_ж_ж 1?"`V  [0 0 0 0x$$`` |  Z(p 1?"`MM  g1: Shift Left, Differencex$$`` |  Zy 1?"`I P  [0 0 1 1x$$`` |  Z 1?"`S S  [1 0 0 0x$$`` |  Z  1?"`V V  e0 0 1 1&x$$``ZB ^| B s *D 9l M   c|  M ,$D 0[N M\ (  .|  M   /|  3 r\_ж_ж1?V\   [1 1 1 0x$$`` 0|  ZD1?M\ M  g1: Shift Left, Differencex$$`` 1|  Z 1?"`I \ P  [0 0 0 1x$$`` 2|  Z`1?S \ S  [0 0 1 0x$$`` 3|  ZX1?Vd V(  e0 0 1 1&x$$``ZB _| B s *D ? ? 9l M| H d| | MH,$D 0[N M   4|  M| H 5|  3 r_ж_ж1?V   [1 1 1 1x$$`` 6|  ZT1?M M  g1: Shift Left, Differencex$$`` 7|  Z 1?"`I P  [0 0 1 0x$$`` 8|  Z<1?S S  [0 1 0 0x$$`` 9|  ZH1?V V  e0 0 1 1&x$$``ZB `| B s *D H | 0޽h ? a(___PPT10.L5+&jD^' = @B D' = @BA?%,( < +O%,( < +D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*a| %(D' =-o6Bdissolve*<3<*a| D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*| %(D' =-o6Bdissolve*<3<*| D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*b| %(D' =-o6Bdissolve*<3<*b| D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* | %(D' =-o6Bdissolve*<3<* | D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*c| %(D' =-o6Bdissolve*<3<*c| D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*(| %(D' =-o6Bdissolve*<3<*(| D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*d| %(D' =-o6Bdissolve*<3<*d| D' =%(D' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*| %(D' =-o6Bdissolve*<3<*| +  0 ( <(   ~  s *P `   ~  s *(* "   H  0޽h ? f3fy___PPT10Y+D=' = @B +  0 ( V(   x  c $$ `      <"` `x  H  0޽h ? 33___PPT10i.sp?B5+D=' = @B +  0  ( F(   x  c $  `     c $ `x  " H  0޽h ? 33___PPT10i.6v`+D=' = @B +  0 p' <(   ~  s *) `   ~  s *d** "   H  0޽h ? f3fy___PPT10Y+D=' = @B +@   0 W O &l  (  l ~ l s *7 `   ~ l s *7 `  L `3 l # \@ ~B l  N DjJ?J J  l  T&jJ?"`# )  KMultiply Divide 0( 2 l  T(jJ?"`c0 @$0"0( 2  l  T(jJ?"`` - >HI 0( 2  l  TT-jJ?"`f 3 >LO 0( 2~B  l  N DjJ?F F ~B  l  N DjJ?M M ~B  l  N DjJ?G M   l  T@jJ?"`c0  @$1"0( 2  l  THI 0( 2   TPajJ?"`f 3 >LO 0( 2~B   N DjJ?F F ~B   N DjJ?M M ~B   N DjJ?G M    TejJ?"`c0  @$1"0( 2    TijJ?"`c 0Z  A. ."0 (   TjJ?"`cZ 0  A$31"0( 2 H  0޽h ? 33___PPT10i.}b+D=' = @B +Z  0 YY%\\( X(  ( ~ ( s *Lt `    U 0  ( # #"6* rrr    (   `wpGpG 1?"`\k f0x10$ |$$`` (   `pGpG 1?"`\k W0|$$``  (   `ppGpG 1?"`*k eRd5$ |$$``  (   `pGpG 1?"` *k c0$ |$$``  (   `pGpG 1?"`  k c0$ |$$``  (   `pGpG 1?"`  k sop6 = 0. |$$``  (   `pGpG 1?"` k aRd = Hi|UU``  (   `pGpG 1?"`0k ymfhi Rd|$$``   (   `TpGpG 1?"`\k/ f0x12$ |$$``  (   `pGpG 1?"`k\/ W0|$$``  (   `$pGpG 1?"`*k/ eRd5$ |$$``  (   `pGpG 1?"` k*/ c0$ |$$``  (   `DpGpG 1?"` k / c0$ |$$`` (   `pGpG 1?"` k / sop6 = 0. |$$`` (   ` pGpG 1?"`k / aRd = Lo|UU`` (   `pGpG 1?"`0k/ ymflo Rd|$$``  (   `lpGpG 1?"`\/ f0x11$ |$$`` (   `pGpG 1?"`/\ W0|$$``  (   `80pGpG 1?"`*/ c0$ |$$``  (   `d2pGpG 1?"` /* c0$ |$$``  (   `|<pGpG 1?"` /  eRs5$ |$$`` (   `FpGpG 1?"` /  sop6 = 0. |$$``) (   `PpGpG 1?"`/  Hi = Rs|UU``1 (   `cpGpG 1?"`0/ mthi Rs$|$$``  (   `TmpGpG 1?"`\  f0x13$ |$$`` (   `(opGpG 1?"`\  W0|$$``  (   `LpGpG 1?"`*  c0$ |$$``  (   `ȌpGpG 1?"` *  c0$ |$$``   (   `pGpG 1?"`   eRs5$ |$$`` !(   ` pGpG 1?"`   sop6 = 0. |$$`` "(   `ثpGpG1?  Lo = Rs|UU``1 #(   `pGpG 1?"`0  mtlo Rs$|$$``  $(   `p(pGpG 1?"`\ f0x1b$ |$$``  %(   `pGpG 1?"`\ f0x1a$ |$$`` &(   `xpGpG 1?"`\[ `0x19$ x$$``  '(   `tpGpG 1?"`\[ f0x18$ |$$`` ((   `pGpG 1?"`\ W0|$$`` )(   `0pGpG 1?"`\ W0|$$`` *(   `pGpG 1?"`[\ Q0x$$`` +(   `TpGpG 1?"`\[ W0|$$``  ,(   `pGpG 1?"`* c0$ |$$``  -(   `|pGpG 1?"`* c0$ |$$`` .(   `*pGpG 1?"`*[ ]0$ x$$``  /(   `%pGpG 1?"`*[ c0$ |$$``  0(   `/pGpG 1?"` * eRt5$ |$$``  1(   `pApGpG 1?"` * eRt5$ |$$`` 2(   `|SpGpG 1?"` [* _Rt5$ x$$``  3(   `@VpGpG 1?"` *[ eRt5$ |$$``  4(   ``pGpG 1?"`   eRs5$ |$$``  5(   `DkpGpG 1?"`   eRs5$ |$$`` 6(   `|pGpG 1?"` [  _Rs5$ x$$``  7(   `|vpGpG 1?"`  [ eRs5$ |$$`` 8(   `pGpG 1?"`   sop6 = 0. |$$``V 9(   `ܝpGpG1?  Hi, Lo = Rs / RtB g, x$$``G :(   `pGpG 1?"`0  divu Rs, Rt  6|$$`` ;(   `ܳpGpG 1?"` [  mop6 = 0. x$$``d <(   `̿pGpG 1?"`[  Hi, Lo = Rs RtB g, x$$``H =(   `$pGpG 1?"`0[  multu Rs, Rt  6|$$`` >(   `pGpG 1?"`  [ sop6 = 0. |$$``d ?(   `pGpG 1?"` [ Hi, Lo = Rs RtB g, x$$``G @(   `pGpG 1?"`0[  mult Rs, Rt  6|$$`` A(   `pGpG 1?"`   sop6 = 0. |$$``V B(   `pGpG1?  Hi, Lo = Rs / RtB g, x$$``< C(   ` pGpG 1?"`0  div Rs, Rt  ,|$$`` D(   `##1?  XFormatx$$`` E(   `(###1?  YMeaningx$$`` F(   `T,##1?0 [ Instruction  x$$``xB G(  H 1 ?0xB H(  H 1 ?0  rB I(  B 1 ?rB J(  B 1 ?  rB K(  B 1 ?0[[rB L(  B 1 ?0rB M(  B 1 ?0rB N(  B 1 ? rB O(  B 1 ?  xB P(  H 1 ?00 xB Q(  H 1 ?0xB R(  H 1 ? rB S(  B 1 ?  rB T(  B 1 ?  rB U(  B 1 ?** rB V(  B 1 ? rB W(  B 1 ?\\ rB X(  B 1 ?0rB Y(  B 1 ?0rB Z(  B 1 ?0//rB [(  B 1 ?0kk \( T3ֳֳ ?"` 0po M Signed arithmetic: mult, div (Rs and Rt are signed) LO = 32-bit low-order and HI = 32-bit high-order of multiplication LO = 32-bit quotient and HI = 32-bit remainder of division Unsigned arithmetic: multu, divu (Rs and Rt are unsigned) NO arithmetic exception can occur4~\ ~  1H ( 0޽h ? a(___PPT10i.+D=' P= @B +  0 ' P(   r  S   `     S ( `m<$@ 0  H  0޽h ? 33___PPT10.zs8Y+ @BDy' P= @B D4' = @BA?%,( < +O%,( < +D ' =%(D< ' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* j%(D' =-o6Bdissolve*<3<* jD3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =-o6Bdissolve*<3<* D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =-o6Bdissolve*<3<* D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* Y%(D' =-o6Bdissolve*<3<* YD ' =%(Dw ' =%(D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* Y{%(D' =-o6Bdissolve*<3<* Y{D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* {%(D' =-o6Bdissolve*<3<* {D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =-o6Bdissolve*<3<* D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =-o6Bdissolve*<3<* D3' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<* L%(D' =-o6Bdissolve*<3<* L+  0 ' :(   r  S Lt `     S 'g  "H  0޽h ? 33___PPT10i.sֲ+D=' P= @B + 0  ! (      `duB~~ ? T$K  B     T1 ?vQ   BH  0rllC ? a(80___PPT10.L`"h 0  &h (  h  h  `zB~~ ? T$K  B   h  T1 ?vQ   BH h 0rllC ? a(80___PPT10.L`"hr bkz un;} 0s8R0_7$BW =Z@9a0m f0Jcj ,Br@x.o\z`W5 XD1Oh+'0 `h   $$Integer Multiplication and DivisionDr. Muhamed MudawarMuhamed Mudawar570Microsoft Office PowerPoint@08j @ И@i~u Gg  [L  y--$xx--'--$<<--'@BComic Sans MS-. (2 !Integer Multiplication ."System8-@BComic Sans MS-. 2 45 and Division.-@Arial-. 2 EBCOE 308.-@Arial-. '2 P,Computer Architecturen.-@Arial-. '2 \)Prof. Muhamed Mudawarn.-@Arial-. 62 h'Computer Engineering Department.-@Arial-. L2 p.King Fahd University of Petroleum and Minerals.-Pe՜.+,0,    On-screen ShowKFUPM/q" )ArialComic Sans MS WingdingsTimes New Roman Courier NewDefault Design$Integer Multiplication and DivisionPresentation OutlineUnsigned Multiplication%Version 1 of Multiplication Hardware#Multiplication Example (Version 1)%Observation on Version 1 of Multiply%Version 2 of Multiplication Hardware%Refined Version of Multiply Hardware#Multiply Example (Refined Version) Next . . .Signed Multiplication'Signed Multiplication (Pencil & Paper)Signed Multiplication HardwareSigned Multiplication Example Next . . .Faster Multiplication HardwareCarry Save Adders#Consider Adding: S = A + B + C + D Next . . .#Unsigned Division (Paper & Pencil)$First Division Algorithm & HardwareDivision Example (Version 1)$Observations on Version 1 of DivideRefined Division Hardware#Division Example (Refined Version) Next . . .Signed DivisionSigned Division Examples Next . . .Multiplication in MIPSDivision in MIPS%Integer Multiply/Divide InstructionsInteger to String ConversionInteger to String ProcedureShl  Fonts UsedDesign Template Slide Titles" Custom Shows'_ 0Muhamed MudawarMuhamed Mudawar  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntrydO)Current UserSummaryInformation(PowerPoint Document(/DocumentSummaryInformation8