Method and system for computing alignment sticky bit in floating-point operations
AssigneeSTMicroelectronics S.r.l.
InventorsAlexander Driker, Cristian Duroiu
Life of this patent
Estimating the term…
Abstract
A method for computing the alignment sticky bit in floating-point operations is provided. The method includes computing a pre-computed sticky bit. A significand is aligned based on an alignment counter. A shifter sticky OR is computed. The alignment sticky bit is computed based on the pre-computed sticky bit by ORing the pre-computed sticky bit and the shifter sticky OR when the alignment counter comprises a value greater than or equal to a predefined value.
Claims20
A method for computing the alignment sticky bit in floating-point operations, comprising:
- computing a pre-computed sticky bit by a sticky computation module that includes at least one processor and at least one memory, the sticky computation module part of a hardware floating-point unit of a central processing unit;
- computing the alignment sticky bit based on the pre-computed sticky bit by an alignment sticky bit calculator that includes an alignment counter, a shifter, and the sticky computation module;
- aligning a significand based on the alignment counter;
- and
- computing a shifter sticky OR and storing the shifter sticky OR in the memory of the sticky computation module.
A system for computing the alignment sticky bit in floating-point operations, comprising:
- an alignment counter;
- a shifter including at least a guard bit, a round bit, and shifter sticky bits;
- and
- a sticky computation module including at least one processor and at least one memory, the sticky computation module operable
- to compute a pre-computed sticky bit,
- to compute the alignment sticky bit based on the pre-computed sticky bit, and
- to compute and store the alignment sticky bit based on the pre-computed sticky bit by ORing the pre-computed sticky bit and the shifter sticky OR when the alignment counter comprises a value greater than or equal to a predefined value.
A method for computing the alignment sticky bit in floating-point operations, comprising:
- computing a plurality of sticky group ORs by a sticky computation module that includes at least one processor and at least one memory, the sticky computation module part of a hardware floating-point unit of a central processing unit;
- computing a plurality of sticky group cluster ORs;
- and
- computing and storing the alignment sticky bit in the memory of the sticky computation module based on the sticky group cluster ORs by an alignment sticky bit calculator that includes an alignment counter, a shifter, and the sticky computation module, wherein the shifter includes at least a guard bit, a round bit, and shifter sticky bits.
A system for computing the alignment sticky bit in floating-point operations, comprising:
- a central processing unit, the central processing unit including a hardware floating-point unit,
- the hardware floating point unit having a sticky computation module with at least one processor and at least one memory, the sticky computation module operable to compute a plurality of sticky group ORs, to compute a plurality of sticky group cluster ORs, and to compute and store the alignment sticky bit based on the sticky group cluster ORs.
A method for computing the alignment sticky bit in floating-point operations, comprising:
- determining n for a sticky group of size 2n;
- discarding n least significant bits of an alignment counter and determining a value, x, encoded in the remaining bits of the alignment counter;
- computing a plurality of sticky group ORs;
- initializing a sticky group bit array of size 2k;
- right-shifting the sticky group bit array by x bits;
- and
- computing and storing the alignment sticky bit based on the right-shifted sticky group bit array by a sticky computation module that includes at least one processor and at least one memory, the sticky computation module part of a hardware floating-point unit of a central processing unit.
Dependencies are inferred from the claim text.