IP Library Granted Patent US 7,272,701
Granted Patent B2
US 7,272,701 · App. 10/692,436 · Granted Sep 18, 2007

Method and apparatus for limiting ports in a register alias table having high-bandwidth and low-bandwidth structures

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,272,701
App. No.
10/692,436
Granted
Sep 18, 2007
Kind
B2
Abstract

A method and apparatus for a microprocessor with a divided register alias table is disclosed. In one embodiment, a first register alias table may have a full set of read and write ports, and a second register alias table may have a smaller set of read and write ports. The second register alias table may include translations for those logical register addresses that are used less frequently. When the second register alias table is called upon to translate more logical register addresses than it has read ports, in one embodiment a pipeline stall may permit additional time to utilize the limited read ports. In another embodiment, additional build rules for a trace cache may be utilized.

Claims (33)

1. A processor, comprising:

a first register alias table including a first number of read ports to translate a first set of logical register addresses to physical register addresses;

a second register alias table including a second number of read ports to translate a second set of logical register addresses to physical register addresses, wherein said first number that includes at least one read port for each source operand for an instruction is greater than said second number; and

a pipeline logic to stall a pipeline when a first instruction utilizes more logical register addresses from said second set than said second number.

2. The processor of claim 1 , wherein said first number is proportional to a third number of logical register addresses in said first set.

3. The processor of claim 1 , further comprising a trace cache to supply a trace of micro-operations to said first register alias table and said second register alias table.

4. The processor of claim 3 , wherein said trace cache includes trace cache logic to build said trace limiting a third number of live-in and live-out logical registers to said second number.

5. A method, comprising:

storing frequently used translations from logical register addresses to physical register addresses in a first register alias table;

storing less-frequently used translations from logical register addresses to physical register addresses in a second register alias table, where said second register alias table has fewer read ports than said first register alias table that includes at least one read port for each source operand for an instruction; and

stalling a pipeline when a first number of logical register addresses is supplied to said second register alias table, and said first number is greater than a second number of read ports of said second register alias table.

6. The method of claim 5 , wherein said storing less-frequently used translations includes identifying said less-frequently used translations from a set of logical register addresses.

7. The method of claim 6 , wherein said identifying includes selecting infrequently used temporary registers.

8. The method of claim 7 , wherein said infrequently used temporary registers are associated with a long micro-operation flow.

9. The method of claim 6 , wherein said identifying includes selecting control registers.

10. The method of claim 9 , wherein said identifying includes choosing registers used by a compiler.

11. The method of claim 5 , further comprising building a trace in a trace cache whose micro-operations require no more live-in registers and live-out registers using said second register alias table than a first number of read ports of said second register alias table.

12. The method of claim 11 , wherein said building includes permitting no more live-out registers using said second register alias table than a second number of write ports of said second register alias table.

13. An apparatus, comprising:

means for storing frequently used translations from logical register addresses to physical register addresses in a first register alias table;

means for storing less-frequently used u-anslations from logical register addresses to physical register addresses in a second register alias table, where said second register alias table has fewer read ports than said first register alias table that includes at least one read port for each source operand for an instruction; and

means for stalling a pipeline when a first number of logical register addresses is supplied to said second register alias table, and said first number is greater than a second number of read ports of said second register alias table.

14. The apparatus of claim 13 , wherein said means for storing less-frequently used translations includes means for identifying said less-frequently used translations from a set of logical register addresses.

15. The apparatus of claim 13 , further comprising means for building a trace in a trace cache whose micro-operations require no more live-in registers and live-out registers using said second register alias table than a first number of read ports of said second register alias table.

16. The apparatus of claim 15 , wherein said means for building includes means for permitting no more live-out registers using said second register alias table than a second number of write ports of said second register alias table.

17. A system, comprising:

a processor including a first register alias table including a first number of read ports to translate a first set of logical register addresses to physical register addresses, and a second register alias table including a second number of read ports to translate a second set of logical register addresses to physical register addresses, wherein said first number that includes at least one read port for each source operand for an instruction is greater than said second number;

an audio input/output device;

an interface to couple said processor to said audio input/output device; and

a pipeline logic to stall a pipeline when a first instruction utilizes more logical register addresses from said second set than said second number.

18. The system of claim 17 , wherein said first number is proportional to a third number of logical register addresses in said first set.

19. The system of claim 17 , further comprising a trace cache to supply a trace of micro-operations to said first register alias cable and said second register alias table.

20. The system of claim 19 , wherein said trace cache includes trace cache logic to build said trace limiting a third number of live-in and live-out logical registers to said second number.

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 →