IP Library › Granted Patent US 9,189,398
Granted Patent B2
US 9,189,398 · App. 13/730,030 · Granted Nov 17, 2015

Apparatus and method for memory-mapped register caching

Inventors: Ilan Pardo (Ramat-Hasharon, IL); Michael Behar (Zichron Yaakov, IL); Oren Ben-Kiki (Tel-Aviv, IL); Dror Markovich (Tel Aviv, IL)
Assignee: INTEL CORPORATION
G06F12/0802G06F12/0875G06F12/0897Y02B60/1225
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 9,189,398
App. No.
13/730,030
Granted
Nov 17, 2015
Kind
B2
Abstract

A processor is described comprising: an architectural register file implemented as a combination of a register file cache and an architectural register region within a level 1 (L1) data cache, and a data location table (DLT) to store data indicating a location of each architectural register within the register file cache and/or the architectural register region within the L1 data cache.

Claims (21)

1. A processor comprising:

an architectural register file implemented as a combination of a register file cache and an architectural register region within a level 1 (L1) data cache, wherein the architectural register file is further implemented to store data within a data memory area of the L1 data cache; and

a data location table (DLT) to store data indicating a location of each architectural register within the register file cache and/or the architectural register region within the L1 data cache,

wherein in response to detecting that data stored in the data memory area of the L1 data cache is needed for an instruction, data is transferred from the memory area of the L1 data cache to the register file cache and/or the architectural register region within the L1 data cache, and wherein the transfer to the register file cache is deferred until the data is actually needed for a computational instruction.

2. The processor as in claim 1 wherein the DLT comprises an entry for each architectural register of the architectural register file.

3. The processor as in claim 2 wherein the DLT comprises a first column containing pointers to the register file cache.

4. The processor as in claim 3 wherein the DLT comprises a second column containing pointers to the architectural register region within the L1 data cache.

5. The processor as in claim 1 further comprising:

a lower level cache (LLC) for storing data, wherein in response to detecting that the data needed for an instruction is not present in the register file cache and/or the architectural register region within the L1 data cache, data is transferred from the LLC to the register file cache and/or the architectural register region within the L1 data cache.

6. The processor as in claim 1 further comprising:

a tag cache to store L1 tag values, the tag cache to be queried to determine whether data needed for an instruction is stored within the L1 cache.

7. A method comprising:

implementing an architectural register file as a combination of a register file cache and an architectural register region within a level 1 (L1) data cache, and

storing data indicating a location of each architectural register within the register file cache and/or the architectural register region within the L1 data cache within a data location table (DLT) in response to detecting that data needed for an instruction is not present in the register file cache and/or the architectural register region within the L1 data cache, data being transferred from a lower level cache (LLC) to the register file cache and/or the architectural register region within the L1 data cache, wherein the transfer to the register file cache is deferred until the data is actually needed for a computational instruction.

8. The method as in claim 7 wherein the DLT comprises an entry for each architectural register of the architectural register file.

9. The method as in claim 8 wherein the DLT comprises a first column containing pointers to the register file cache.

10. The method as in claim 9 wherein the DLT comprises a second column containing pointers to the architectural register region within the L1 data cache.

11. The method as in claim 7 wherein the architectural register file is further implemented to store data within a data memory area of the L1 data cache.

12. The method as in claim 11 wherein, in response to detecting that data stored in the data memory area of the L1 data cache is needed for an instruction, data is transferred from the data memory area of the L1 data cache to the register file cache and/or the architectural register region within the L1 data cache.

13. The method as in claim 11 further comprising:

a tag cache to store L1 tag values, the tag cache to be queried to determine whether data needed for an instruction is stored within the L1 cache.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2013
From: PARDO, ILAN; BEHAR, MICHAEL; BEN-KIKI, OREN; MARKOVICH, DROR
To: INTEL CORPORATION
Reel/Frame 030350/0863 →
Continuity (1)
Related Publication 20140189191A1 · Jul 3, 2014