Interleaving operations in a floating-point numeric processor
AssigneeLSI Logic Corporation
InventorsAllen Lyu, Charles Stearns
Life of this patent
Estimating the term…
Abstract
A pipelined floating point multiplier is disclosed having the capability of interleaving floating point multiplication with iterative floating point operations (calculations), such as division and square-root taking, by making use of idle stages (pipeline bubbles). This is accomplished with minimal additional circuitry over that required for conventional floating-point multipliers, and does not adversely affect the speed of iterative calculations. Method and apparatus are disclosed.
Claims10
A method of interleaving at least one floating-point multiplication operation with an iterative floating-point operation comprising:
- providing an interleaved pipelined floating-point multiplier (pipelined multiplier) for performing an iterative floating point operation according to a control sequence, by:
- providing a plurality of pipeline multiplier stages, beginning with a first pipeline multiplier stage having a first input and a second input, continuing with subsequent pipeline multiplier stages, ending with a last subsequent pipeline multiplier stage which is a final pipeline multiplier stage;
- providing a first operand input register;
- providing a second operand input register;
- providing at least one interleaf first operand register;
- providing at least one interleaf second operand register;
- providing at least one fed-back interim value from at least one of said successive pipeline multiplier stages;
- selecting said first input of said first pipelined multiplier stage as one of:
- said first operand input register, said at least one interleaf first operand register, or said at least one fed-back interim value;
- selecting said second input of said first pipelined multiplier stage as one of:
- said second operand input register, said at least one interleaf second operand register, or said at least one fed-back interim value;
- said final pipeline multiplier stage has at least one "normal" register adapted to receive a final result from said pipelined multiplier;
- and
- said final pipeline multiplier stage also has at least one interleaf output register adapted to receive a final result from said pipelined multiplier;
- further comprising:
- analyzing said iterative floating-point operation to identify cycles wherein said first pipelined multiplier stage is unused, said cycles being "bubble" cycles;
- selecting one interleaf first operand register and one interleaf second operand register as the first input and second input, respectively, to the first pipelined multiplier stage during each bubble cycle so identified in said iterative floating-point operation, thus initiating one interleaved multiplication for each bubble cycle, eventually producing one result at the final pipeline multiplier stage for each interleaved multiplication so initiated;
- and
- latching into at least one interleaf output register the result of each interleaved multiplication at the final pipeline multiplier stage.
An interleaved pipelined floating-point multiplier (pipelined multiplier) for performing an iterative floating point operation and an interleaved multiplication comprising:
- a plurality of pipeline multiplier stages, beginning with a first pipeline multiplier stage having a first input and a second input, continuing with subsequent pipeline multiplier stages, ending with a last subsequent pipeline multiplier stage which is a final pipeline multiplier stage;
- a first operand input register;
- a second operand input register;
- at least one interleaf first operand register;
- at least one interleaf second operand register;
- at least one of said successive pipeline multiplier stage provides at least one fed-back interim value;
- means for selecting said first input of said first pipelined multiplier stage as one of:
- said first operand input register, said at least one interleaf first operand register, or said at least one successive pipeline multiplier stage;
- means for selecting said second input of said first pipelined multiplier stage as one of:
- said second operand input register, said at least one interleaf second operand register, or said at least one successive pipeline multiplier stage;
- said final pipeline multiplier stage has at least one "normal" register adapted to receive a final result from said pipelined multiplier;
- and
- said final pipeline multiplier stage also has at least one interleaf output register adapted to receive a final result from said pipelined multiplier.
Dependencies are inferred from the claim text.