IP Library Granted Patent US 7,155,599
Granted Patent B2
US 7,155,599 · App. 09/750,095 · Granted Dec 26, 2006

Method and apparatus for a register renaming structure

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,155,599
App. No.
09/750,095
Granted
Dec 26, 2006
Kind
B2
Abstract

A processor having a register renaming structure and method is disclosed to recover a free list. The processor includes a physical register file including physical registers. The processor also includes a decoder to decode an instruction to indicate a destination logical register. The processor also includes a register allocation table to map the destination logical register to an allocated physical register. The processor also includes an active list that includes an old field and a new field. The old field includes at least one evicted physical register from the register alias table. The new field includes the allocated physical register. The processor also includes the free list of unallocated physical registers reclaimed from the active list.

Claims (29)

1. A processor, comprising:

a physical register file populated by a number of registers;

an instruction decoder;

a register alias table coupled to the instruction decoder;

an active list populated by a number of entries, the entries include an old field and a new field;

a free list of unallocated physical registers reclaimed from said active list; and

a misprediction condition wherein said free list reclaims mispredicted allocated said physical registers from said new field.

2. The processor of claim 1 , further comprising an instruction window buffer to store dispatched instructions.

3. The processor of claim 2 , wherein said dispatched instructions correlate to evicted allocated physical registers, said free list is to reclaim said evicted physical registers when said dispatched instructions retire.

4. The processor of claim 1 , wherein said instruction is to write to said allocated physical register.

5. The processor of claim 1 , wherein said allocated physical register is to be allocated from said free list.

6. The processor of claim 1 , further comprising a bit field within said active list, said bit field comprising at least one bit to indicate whether the instruction is retired correctly.

7. A method for recovering registers in a processor, comprising:

detecting an exception correlating to an instruction associated with an entry on an active list;

moving a pointer on said active list to an old field and a new field after said entry; and

reclaiming during a misprediction condition allocated physical registers in said new field to a free list.

8. The method of claim 7 , further comprising flushing instructions in an instruction window buffer after said instruction associated with a misprediction condition.

9. The method of claim 8 , further comprising overwriting entries in said active list.

10. The method of claim 7 , further comprising allocating unallocated physical registers from said free list to a register alias table.

11. The method of claim 10 , further comprising moving evicted physical registers from said register alias table to said active list.

12. A register renaming apparatus within a processor, comprising:

a register alias table;

a first set of registers to be renamed by said register alias table;

an active list having an old field and a new field that correlate to said registers; and

a free list comprising a second set of registers reclaimed from said active list; and

a misprediction condition wherein said free list is to reclaim mispredicted allocated said registers from said new field.

13. The apparatus of claim 12 , wherein said first set of registers correlate to non-retired instructions.

14. The apparatus of claim 12 , wherein said active list includes a bit field.

15. The apparatus of claim 12 , further comprising a pointer for said active list.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050937/0001 →
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047243/0001 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jun 8, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 043079/0001 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2016
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 038954/0001 →
SECURITY INTEREST Recorded May 12, 2016
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038669/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 4, 2013
From: INTEL CORPORATION
To: MICRON TECHNOLOGY, INC.
Reel/Frame 030747/0001 →