Arithmetic - Integer Multiplication

Arithmetic - Integer Multiplication

Arithmetic - Integer Multiplication Simple multiplication algorithm. 01010111 87 00100101 37 01010111 609 00000000 261 01010111 00000000 3219 00000000 01010111 00000000 00000000 0000110010010011 ` two n-bit numbers will produce a 2n-bit result. 106 Arithmetic - Integer Multiplication Implementation AB 1 1 1 1 1 1 P 1 ` rather slow for single cycle operation 107 Arithmetic - Integer Multiplication Parallel Implementation AB 1 1 1 P 1 1 1 1 1 ` should be faster ` faster implementations exist using more complex building blocks 1 note that the overall delay is less than three adder delays due to the skew of rippling carries 108 Arithmetic - Integer Multiplication Multi-cycle implementation 1 1 A B P ` partial product is initially set to zero ` calculation completes after n cycles or when B = 0 109 Arithmetic - Integer Multiplication Alternative implementation AB P 1 1 1 1 1 1 1 110 Arithmetic - Integer Multiplication Alternative multi-cycle implementation 1 A B 1 P ` A is not shifted giving a xed width value on one input of the adder ` the top n-1 bits of a dedicated adder could be half adders 111 Arithmetic - Integer Multiplication Software implementation 1 A B 1 P ` double wordresult - - use multi word shift left and add ` single wordresult - - check for overow on each addition and each left shift of P 112 Arithmetic - Integer Multiplication Reduce adder widths AB 0 P ` each adder produces an n+1-bit result - - the least signicant bit is fed straight to P - - the most signicant n bits are fed to the next adder 113 Arithmetic - Integer Multiplication Multi-cycle implementation 1 A B 88 9 P1 P0 ` after each addition the least signicant bit of the result is placed in P0 which is the least signicant word of the partial product 114 Arithmetic - Integer Multiplication Algorithm Comparison 1 1 1 1 A B A B A 0 B 1 1 P P P ` justify each term before addition ` don't justify terms - - beginning with most signicant term add each term to least signicant slot and shift left - - beginning with least signicant term add each term to most signicant slot and shift right 115 Arithmetic - Integer Multiplication Standard implementation P1 B/P0 A ` P0 uses the same register as B ` standard n-bit adder with carry out 116 Arithmetic - Integer Multiplication Multiplication of 2's complement numbers. 11010111 -41 00100101 37 1111111111010111 -287 000000000000000 -123 11111111010111 0000000000000 -1517 000000000000 11111010111 0000000000 000000000 1111101000010011 ` allowing for a negative multiplicand requires only minor mod- ications sign extension is used to retain sign information. ` coping with a negative multiplier is somewhat harder and will not be covered here. 117 Arithmetic - Integer Multiplication Possible implementation? signed multiplicand A - unsigned multiplier B Sign bit (arithmetic shift) P1 B/P0 A ` we see that we need to perform an arithmetic shift on the result of the addition rather than using the carry out. ` unfortunately this doesn't account for a possible overow which will give the wrong sign 118 Arithmetic - Integer Multiplication Standard implementation signed multiplicand A - unsigned multiplier B V P1 B/P0 A ` use overow information to recover the correct sign informa- tion all other bits will be correct when overow occurs 119 ALU Functionality Where a single cycle multiply is not appropriate we may implement multiply as: A multi-cycle instruction ` The 6809 MUL instruction performs a complete multiplication of two unsigned 8-bit numbers yielding a 16-bit result. 0 0 ACCA : ACCB ACCA ACCB or A single-cycle multiply step instruction ` The SPARC MULScc P1,A,P1 performs a single multiply step instruction. The instruction uses a dedicated Y register which contains B/P0. 120 Arithmetic - Integer Multiplication SPARC implementation P1 Y NV A ` takes a step longer due to arrangement of registers and shifters. ` since neither signed nor unsigned numbers are dealt with prop- erly in this system a few additional instructions are used to post-process ddle the answer for signed or unsigned mul- tiplication. 121.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    16 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us