Про умножение на CDC6600
May. 1st, 2019 02:38 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Некоторые подробности реализации умножения из упомянутой книжки, страницы 90-92.
"One scheme for improving the speed of multiplication is to separate the multiplier in half, performing the partial products simultaneously with a final addition."
"Another scheme for speeding multiplication arises from a technique of carry propagation called “carry-save.” This technique eliminates the need for completing the propagation of carries through the adder for each successive addition. At the completion of the multiplication all unpropagated carries are taken care of at once. Because the carry, or borrow, propagation is a significant part ofthe total addition time and there are up to 48 additions to perform, this method can be very effective."
"Finally, it is possible to speed multiplication by operating on more than one bit of multiplier at a time. This method requires formation of multiples of the multiplicand. For example, if two multiplier bits are examined at one time, it is necessary to form the multiplicand and the two times and three times value. Then the correct multiple is added to the partial product depending on the value of the two multiplier bits being examined."
"The 6600 Multiply Units use all three methods described above to provide very high-speed multiplication functions, as follows:
1. two halves of the multiplier are handled at once.
2. two bits of the multiplier are examined in each half.
3. carry-save adders are used."
"One scheme for improving the speed of multiplication is to separate the multiplier in half, performing the partial products simultaneously with a final addition."
"Another scheme for speeding multiplication arises from a technique of carry propagation called “carry-save.” This technique eliminates the need for completing the propagation of carries through the adder for each successive addition. At the completion of the multiplication all unpropagated carries are taken care of at once. Because the carry, or borrow, propagation is a significant part ofthe total addition time and there are up to 48 additions to perform, this method can be very effective."
"Finally, it is possible to speed multiplication by operating on more than one bit of multiplier at a time. This method requires formation of multiples of the multiplicand. For example, if two multiplier bits are examined at one time, it is necessary to form the multiplicand and the two times and three times value. Then the correct multiple is added to the partial product depending on the value of the two multiplier bits being examined."
"The 6600 Multiply Units use all three methods described above to provide very high-speed multiplication functions, as follows:
1. two halves of the multiplier are handled at once.
2. two bits of the multiplier are examined in each half.
3. carry-save adders are used."