# US 8,543,632 B2 · Method and system for computing alignment sticky bit in floating-point operations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,543,632 B2
- Document ID: US8543632B2
- Status: Granted
- Kind: B2
- Application number: 10/458,946
- Filed: 2003-06-11
- Published: 2004-12-16
- Granted: 2013-09-24
- Earliest claimed: 2003-06-11
- Assignees: STMicroelectronics S.r.l.
- Applicants: Alexander Driker; Cristian Duroiu
- Inventors: Alexander Driker; Cristian Duroiu
- Web page: https://patentgrep.com/patent/US8543632B2

## CPC

- G06F 7/49952: {Sticky bit}
- G06F 7/483: Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers {(G06F7/4806, G06F7/4824, G06F7/49, G06F7/491, G06F7/544 take precedence)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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.

## Claims

### Claim 1

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.

### Claim 2 (depends on 1)

The method of claim 1, wherein the alignment counter comprises a value corresponding to the size of a shift to be used for an operand.

### Claim 3 (depends on 1)

The method of claim 1, computing the alignment sticky bit based on the pre-computed sticky bit comprising 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.

### Claim 4 (depends on 3)

The method of claim 3, the alignment sticky bit comprising the shifter sticky OR when the alignment counter comprises a value less than the predefined value.

### Claim 5 (depends on 1)

The method of claim 1, aligning a significand based on the alignment counter comprising right-shifting the significand based on the alignment counter.

### Claim 6 (depends on 1)

The method of claim 1, computing a pre-computed sticky bit comprising ORing a specified number of least significant bits of the significand.

### Claim 7

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.

### Claim 8 (depends on 7)

The system of claim 7, the sticky computation module further operable to compute a shifter sticky OR.

### Claim 9 (depends on 8)

The system of claim 8, wherein the alignment counter comprises a value corresponding to the size of a shift to be used for an operand.

### Claim 10 (depends on 9)

The system of claim 9, the alignment sticky bit comprising the shifter sticky OR when the alignment counter comprises a value less than the predefined value.

### Claim 11 (depends on 7)

The system of claim 7, the sticky computation module operable to compute a pre-computed sticky bit by ORing a specified number of least significant bits of a significand.

### Claim 12

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.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
aligning a significand based on an alignment counter;
computing a shifter sticky OR;
determining an align count range based on the alignment counter;
selecting a sticky evaluator from a plurality of sticky evaluators based on the align count range, the sticky evaluators based on the sticky group cluster ORs; and
computing the alignment sticky bit comprising computing the alignment sticky bit using the sticky evaluator.

### Claim 14 (depends on 13)

The method of claim 13, aligning a significand based on an alignment counter comprising right-shifting the significand based on the alignment counter.

### Claim 15 (depends on 13)

The method of claim 13, wherein the alignment counter comprises a value corresponding to the size of a shift to be used for an operand.

### Claim 16

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.

### Claim 17 (depends on 16)

The system of claim 16, further comprising an alignment counter, the sticky computation module further operable to compute a shifter sticky OR, to determine an align count range based on the alignment counter, to select a sticky evaluator from a plurality of sticky evaluators based on the align count range, the sticky evaluators based on the sticky group cluster ORs, and to compute the alignment sticky bit by using the sticky evaluator.

### Claim 18 (depends on 17)

The system of claim 17, wherein the alignment counter comprises a value corresponding to the size of a shift to be used for an operand.

### Claim 19

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.

### Claim 20 (depends on 19)

The method of claim 19, further comprising:
computing a sticky group bit array OR by ORing the k least significant bits of the sticky group bit array;
computing a shifter sticky OR; and
computing the alignment sticky bit based on the right-shifted sticky group bit array comprising computing the alignment sticky bit by ORing the sticky group bit array OR and the shifter sticky OR.
