IP Library Granted Patent US 7,711,898
Granted Patent B2
US 7,711,898 · App. 10/737,760 · Granted May 4, 2010

Register alias table cache to map a logical register to a physical register

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,711,898
App. No.
10/737,760
Granted
May 4, 2010
Kind
B2
Abstract

Embodiments of the present invention relate to a system and method for implementing functions of a register translation table of a computer processor, with reduced area requirements as compared to known arrangements. In one embodiment, an apparatus may comprise a register alias table cache to map a logical register to a physical register. The register alias table cache may have a capacity corresponding to a subset of architectural logical registers. The apparatus may further comprise store logic coupled to the cache to perform operations to save an existing content of the physical register if a cache entry corresponding to the logical register is evicted from the cache. The apparatus may also comprise load logic coupled to the cache to perform operations to load a content to the physical register and to form a new entry in the cache if a needed mapping is not present in the cache.

Claims (37)

1. A processor comprising:

a physical register file;

a register alias table memory having a capacity corresponding to a subset of architectural logical registers;

store-and-load logic coupled to the register alias table memory; and

a store-and-load memory coupled to the store-and-load logic;

wherein the store-and-load logic is to copy a content of a respective physical register corresponding to an entry of a logical register evicted from the register alias table memory to the store-and-load memory, and, on a miss in the register alias table memory, to copy a content of an entry in the store-and-load memory to a physical register in said physical register file and insert a corresponding mapping in the register alias table memory.

2. The processor of claim 1 , wherein the register alias table memory is a cache.

3. The processor of claim 1 , wherein the store-and-load logic comprises a store queue to hold store operations to copy the content of the respective physical register to the store-and-load memory.

4. The processor of claim 1 , wherein the store-and-load logic comprises a load queue to hold load operations to copy the content of the entry in the store-and-load memory to the physical register.

5. The system of claim 1 , wherein the subset is determined by a frequency-of-access-threshold.

6. An apparatus comprising:

a register alias table cache to map a logical register to a physical register, the register alias table cache having a capacity corresponding to a subset of architectural logical registers;

store logic coupled to the cache to perform operations to save an existing content of the physical register if a cache entry corresponding to the logical register is evicted from the cache; and

load logic coupled to the cache to perform operations to load a content to the physical register and to form a new entry in the cache if a needed mapping is not present in the cache.

7. The apparatus of claim 6 , wherein the store logic is further coupled to a store-and-load memory to store the existing content of the physical register.

8. The apparatus of claim 6 , wherein the load logic is further coupled to a store-and-load memory to load from the store-and-load memory the content to the physical register.

9. A method comprising:

forming logical-to-physical register mappings in a register alias table cache, the register alias table cache having a capacity corresponding to a subset of architectural logical registers; and

if a mapping in the cache needs to be evicted, copying a content of a logical register corresponding to the mapping from a corresponding physical register to a store-and-load memory associated with the cache.

10. The method of claim 9 , further comprising copying the content into a field of a store operation in a store queue.

11. The method of claim 10 , further comprising performing the store operation to copy the content of the field into the store-and-load memory.

12. The method of claim 9 , further comprising checking a load queue of waiting load operations to determine if any requires a content of a logical register contained in a field in a store operation in the store queue.

13. A method comprising:

forming logical-to-physical register mappings in a register alias table cache, the register alias table cache having a capacity corresponding to a subset of architectural logical registers; and

if a needed mapping is not present in the cache, copying a content of a logical register corresponding to the needed mapping from one of a store operation in a store queue, and a store-and-load memory associated with the cache, into a physical register.

14. The method of claim 13 , further comprising checking waiting store operations in the store queue to determine if any has a field containing a content of a logical register corresponding to the needed mapping.

15. The method of claim 14 , further comprising, if a store operation has a field containing the content, copying the content from the field to the physical register.

16. The method of claim 14 , further comprising, if no store operation has a field containing the content, copying the content from the store-and-load memory to the physical register.

17. The method of claim 13 , further comprising inserting a new mapping corresponding to the logical register and the physical register in the register alias table cache.

18. A system comprising:

a memory to hold instructions for execution; and

a processor coupled to the memory to execute the instructions, the processor including:

a register alias table cache to map a logical register to a physical register, the register alias table cache having a capacity corresponding to a subset of architectural logical registers;

store logic coupled to the cache to perform operations to save an existing content of the physical register-if a cache entry corresponding to the logical register is evicted from the cache; and

load logic coupled to the cache to perform operations to load a content to the physical register and to form a new entry in the cache if a needed mapping is not present in the cache.

19. The system of claim 18 , wherein the store logic is further coupled to a store-and-load memory to store the existing content of the physical register.

20. The system of claim 18 , wherein the load logic is further coupled to a store-and-load memory to load from the store-and-load memory the content to the physical register.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061175/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2004
From: SODANI, AVINASH; JOURDAN, STEPHAN J.; SAMAAN, SAMIE B.
To: INTEL CORPORATION
Reel/Frame 015288/0701 →