Arithmetic unit and method thereof
AssigneeInternational Business Machines Corporation
InventorsYoshinao Kobayashi, Ken Namura, Kenya Katoh
Life of this patent
Estimating the term…
Abstract
A squaring multiplier for a floating-point number comprises: a pseudo carry generator for generating pseudo information concerning a carry equivalent to predetermined bits for the calculation of a target variable; an MSB look ahead circuit for employing the variable to perform a look ahead operation and establish the location of the MSB (Most Significant Bit) in the calculation results; and combinational circuits for performing the rounding off process and the calculation of the variables by using information concerning a carry, which is generated by the pseudo carry generator and based on the location of the MSB determined by the MSB look ahead circuit.
Claims17
A processor comprising:
- a register, for holding a predetermined binary variable;
- and
- an arithmetic unit, for reading a target variable from said register and for performing various arithmetic operations for said target variable,
- wherein said arithmetic unit includes
- a pseudo carry generator, for generating pseudo information concerning a carry in a number equivalent to the predetermined bit count in an arithmetic operation for said target variable, and
- a combinational circuit, for performing an arithmetic operation for said target variable by using said pseudo information concerning a carry that is generated by said pseudo carry generator.
A processor comprising:
- a register, for holding a predetermined binary variable;
- and
- an arithmetic unit, for reading a target variable from said register and for performing various arithmetic operations for said target variable,
- wherein said arithmetic unit includes
- a pseudo carry generator, for performing look ahead operations for generating carries in a number equivalent to a predetermined bit count in an arithmetic operation performed for said target variable, and
- a combinational circuit for using the results obtained by said pseudo carry generator to perform an arithmetic operation for said target variable.
A processor comprising:
- a register, for holding a predetermined binary variable;
- and
- an arithmetic unit, for reading a target variable from said register and for performing various arithmetic operations for said target variable,
- wherein said arithmetic unit includes
- a pseudo carry generator, for generating information concerning a carry when a numerical value is calculated for a value equivalent in number to the lower predetermined bit count for said target variable, and
- a combinational circuit, for calculating a value for a higher bit while taking into account said information concerning said carry.
A processor comprising:
- a register, for holding a predetermined binary variable;
- and
- an arithmetic unit, for reading a target variable from said register and for performing various arithmetic operations for said target variable,
- wherein said arithmetic unit includes
- a first combinational circuit, for obtaining, directly from a target variable, information concerning the location of a round-off bit that is used for a rounding off process performed in conjunction with an arithmetic operation performed for a variable, and
- a second combinational circuit, for performing said arithmetic operation for said target variable while performing said rounding off process using said information concerning said location of said round-off bit that is obtained by said first combinational circuit.
A processor comprising:
- a register, for holding a predetermined binary variable;
- and
- an arithmetic unit, for reading a target variable from said register and for performing various arithmetic operations for said target variable,
- wherein said arithmetic unit includes
- an MSB look ahead circuit, for employing said target variable to establish, in a look ahead manner, the location of the most significant bit (MSB) of the operation results, and
- a combinational circuit, for performing a rounding off process based on said location of said most significant bit established by said MSB look ahead circuit.
A processor comprising:
- a register, for holding a predetermined binary variable;
- and
- an arithmetic unit, for reading a target variable from said register and for performing squaring calculation for said target variable,
- wherein said arithmetic unit includes
- an MSB look ahead circuit, for comparing said target variable with the {square root}{square root over (2)} and for employing the comparison results to establish the location of the most significant bit (MSB) of the results obtained for the operation, and
- a combinational circuit, for performing a rounding off process based on the location of said most significant bit that is established by said MSB look ahead circuit.
A processor comprising:
- a register, for holding a predetermined binary variable;
- and
- an arithmetic unit, for reading a target variable from said register and for performing various arithmetic operations for said target variable,
- wherein said arithmetic unit includes
- a pseudo carry generator, for generating pseudo information concerning a carry in a number equivalent to the predetermined bit count in an arithmetic operation for said target variable, and
- an MSB look ahead circuit, for employing said target variable to establish, in a look ahead manner, the location of the most significant bit (MSB) of the results obtained for the operation, and
- a combinational circuit, for performing a rounding off process and an arithmetic operation for said target variable by using said pseudo information concerning a carry that is generated by said pseudo carry generator, and based on the location of said most significant bit that is established by said MSB look ahead circuit.
An arithmetic unit that multiplies predetermined binary floating-point numbers comprising:
- means for reading a target floating-point number from a register for holding floating-point numbers;
- means for generating information concerning a carry, equivalent in number to a predetermined bit count, for said target floating-point number;
- and
- means for adding the mantissa of said target floating-point number while taking into account said information concerning a carry.
An arithmetic unit that multiples predetermined binary floating-point numbers comprising:
- means for reading a target floating-point number from a register for holding floating-point numbers;
- means for performing carry look ahead operations in a number equivalent to a predetermined bit count during the multiplication of said target floating-point number;
- and
- means for multiplying said target floating-point number by using the results obtained by said carry look ahead operations.
An arithmetic unit that multiplies predetermined binary floating-point numbers comprising:
- means for reading a target floating-point number from a register for holding floating-point numbers;
- means for obtaining, directly from said target floating-point number, information that is used for a rounding off process performed in conjunction with the multiplication of said target floating-point number;
- and
- means for adding a mantissa of said target floating-point number while performing said rounding off process using said thus obtained information.
An arithmetic unit that multiplies predetermined binary floating-point numbers comprising:
- means for reading a target floating-point number from a register for holding floating-point numbers;
- and
- means for obtaining, directly from the mantissa of said target floating-point number, the location of the most significant bit (MSB) of the multiplication results obtained for said target floating-point number.
An arithmetic unit that performs squaring calculations for predetermined binary floating-point numbers comprising:
- means for reading a target floating-point number from a register for holding floating-point numbers;
- and
- means for comparing the mantissa of said target floating-point number with the {square root}{square root over (2)}, and for, based on the comparison results, establishing the location of the most significant bit (MSB) of the operation results.
An arithmetic method, for an arithmetic unit that multiplies predetermined binary floating-point numbers, comprising the steps of:
- reading said target floating-point numbers from registers for holding floating-point numbers;
- generating, for a value equivalent in number to the predetermined lower bit count for the mantissas of said target floating-point numbers, information concerning a carry generated when a numerical value is calculated;
- and
- calculating the value of a higher bit while taking into account said information concerning said carry.
An arithmetic method, for an arithmetic unit that multiplies predetermined binary floating-point numbers, comprising the steps of:
- reading target floating-point numbers from registers for holding floating-point numbers;
- calculating mantissas for said target floating-point numbers beginning with the lowest digits, and detecting the location of a round-off bit that is used for a rounding off process;
- establishing the value of said round-off bit when the calculation progresses are completed up to said location of said round-off bit;
- and
- calculating a higher digit while taking into account said value of said round-off bit.
Dependencies are inferred from the claim text.