Abstract:
PROBLEM TO BE SOLVED: To improve performance of a floating point unit which performs feedback prior to normalization or rounding. SOLUTION: This system is for performing floating point arithmetic operation including an input register adapted for receiving an operand. This system further includes a mechanism for performing shifting or masking operation in response to determination that the operand is a un-normalization format. The system further includes an instruction for performing single-precision increment of the operand in response to determination that the operand is single-precision, that the operand requires the incrementing based on the result of previous operation and that the previous operation has not performed the incrementing. The operand is created in the previous operation. The system further includes an instruction for performing double precision incrementing of the operand in response to determination that the operand is double precision, that the operand requires the incrementing based on the result of the previous operation and that the previous operation has not performed the incrementing. COPYRIGHT: (C)2006,JPO&NCIPI
Abstract:
A residue of an operand with a width of n bits with respect to a modulo m where m=2b-1, can be calculated by partitioning the operand into segments, each of b bits starting with the Least Significant Bit (LSB). The segments are applied to a counter reduction tree (21) comprising levels (22, 23) of adders (24) The adders (24) of a first level (22) below an operand register (25) with successive registers keeping the successive bit positions of the operand are 4:2 counters (24) having four inputs (In1, In2, In3, In4) plus a propagate input (44), a carry and a sum output (45, 46) plus a propagate output (43) each. the first level (22) are grouped in fours, such that the propagate outputs (43) are ring like connected with the propagate inputs (44), and that the first to fourth inputs (In1, In2, In3, In4) of the counters (24) are connected with successive registers of said operand register (25) such that first inputs (In4) of the counters (24) are connected with four successive registers in ascending order followed by second (In3), third (In2) and fourth inputs (In1), wherein a decoding is performed only one time at the end of the counter tree (21) and thus at the end of the residue generation process. This leads to a reduction in the area needed on the chip to make the calculation, relaxes the timing requirement, as the calculation requires fewer logical levels, and increases the error detection rate for a single random type of operation.
Abstract:
Disclosed is a method and system for operating the execution unit of a computer, the execution unit having a pipeline-based execution flow during which load instructions are processed. The load instructions having the function of loading data from a storage means into a predetermined location within the pipeline, preferably a register-implemented pipeline. The method has the steps of, when a load instruction occurs in the pipeline, reading (610) the current value of the target location, and buffering (620) the current target value at a predetermined location within said pipeline. Next, the value of the source location is loaded (610) and stored (620) at the target location, the pipeline is executed according to its execution flow, using the loaded value for computing purposes. If an event (630) indicating that the loaded value is not correct occurs, (660) the buffered original value may be used instead of the loaded value. The execution unit may be a floating point unit with the reading and/or loading of the data being done using a multiply-add data path.
Abstract:
Disclosed is a method and an apparatus using residue modulo checking for arithmetic operations. To get a high Modulo m and thus a high residue modulo checking coverage within a checking flow 31, at least two modulo operations 32, 33 are separately applied in parallel, a first Modulo q0 operation and at least one second Modulo qn operation, where q0, q1, q2,... qn-1, qn, are different primes with m=q0*q1*q2*. . .*qn-1*qn. The checking is done by comparing the residue modulo of the result of an arithmetic operation 36 with the results of the modulo operations on the inputs of the arithmetic operation 35. The modulo operations may be provided by a modulo decode for the modulos applied in the parallel flows or by providing a modulo shift table. The values of m may be 15 or 255 and the values of q may be 3 and 5 or 3, 5 and 17, respectfully.
Abstract:
The method involves computing the modulo residues of corresponding numerical values before and after the conversion and comparing the corresponding residue values after the conversion. The numerical values are computer data. The first format can be a decimal number and the second format can be a binary number.