Patent ID: 6233597
Filing Date: 2001-05-15
Classification: G06F

Abstract:
A computing apparatus which executes a double-precision multiplication by using a single-precision multiplying device which performs a multiplication of two signed binary fixed-point number data, wherein said apparatus comprises:MSB holding means for holding a most significant bit of a multiplier;data selecting means for selectively outputting one of a held data of said MSB holding means and a value ""0"";multiplier encoding means for encoding the multiplier by using the multiplier and an output data of said data selecting means, and for outputting the encoded multiplier;multiplying means for receiving a multiplicand, an output data of said multiplier encoding means, and a multiplicand judgement signal, for, when the multiplicand judgement signal is inactive, obtaining a result of a multiplication of the multiplicand and the output data of said multiplier encoding means while performing one-bit sign extension on a sign bit which is a most significant bit of the multiplicand, and, when the multiplicand judgement signal is active, obtaining a result of a multiplication of the multiplicand and the output data of said multiplier encoding means while adding a sign bit indicative of a positive number to a digit which is higher by one bit than the most significant bit of the multiplicand, and for outputting the multiplication result in which at least two digits exist before a decimal point and which hence has a bit width that is larger by at least one bit than a bit width of double precision;adding means for performing an addition of an addend which is an output data of said multiplying means and an augend having a bit width that is larger by at least one bit than a bit width of double precision, and for outputting an addition result in which at least two digits exist before a decimal point and which hence has a bit width that is larger by at least one bit than a bit width of double precision;addition result holding means for holding the addition result output from said adding means; anddigit place aligning means for selecting one of a held data of said addition result holding means and a value ""0"", for performing a digit place alignment operation, and for outputting a result of the operation as the augend for said adding means.