IP Library › Granted Patent US 10,296,465
Granted Patent B2
US 10,296,465 · App. 15/654,828 · Granted May 21, 2019

Processor using a level 3 translation lookaside buffer implemented in off-chip or die-stacked dynamic random-access memory

Inventors: Lizy K. John (Austin, TX); Jee Ho Ryoo (Austin, TX); Nagendra Gulur (Dallas, TX)
Assignee: Board of Regents, The University of Texas System
G06F12/1063G06F3/0647G06F11/073G06F12/0802G06F12/1009G06F12/1054G11C7/1006
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 10,296,465
App. No.
15/654,828
Granted
May 21, 2019
Kind
B2
Abstract

A processor architecture utilizing a L3 translation lookaside buffer (TLB) to reduce page walks. The processor includes multiple cores, where each core includes a L1 TLB and a L2 TLB. The processor further includes a L3 TLB that is shared across the processor cores, where the L3 TLB is implemented in off-chip or die-stack dynamic random-access memory. Furthermore, the processor includes a page table connected to the L3 TLB, where the page table stores a mapping between virtual addresses and physical addresses. In such an architecture, by having the L3 TLB with a very large capacity, performance may be improved, such as execution time, by eliminating page walks, which requires multiple data accesses.

Claims (43)

1. A processor, comprising:

a first processor core comprising:

a first level translation lookaside buffer; and

a second level translation lookaside buffer;

a second processor core comprising:

a first level translation lookaside buffer; and

a second level translation lookaside buffer;

a third level translation lookaside buffer connected to said first and second processor cores, wherein said third level translation lookaside buffer is shared across said first and second processor cores, wherein said third level translation lookaside buffer is implemented in memory or a storage device, wherein said first, second and third level translation lookaside buffers store recent translations of virtual memory to physical memory;

a page table connected to said third level translation lookaside buffer, wherein said page table stores a mapping between virtual addresses and physical addresses;

a first and a second second level data cache connected to said first and second processor cores; and

a third level data cache connected to said first and second second level data caches;

wherein said third level translation lookaside buffer is mapped into a memory address space, wherein said third level translation lookaside buffer is addressable, wherein said processor is configured to cache said third level translation lookaside buffer entries in said first and second second level data caches and said third level data cache.

2. The processor as recited in claim 1 , wherein said memory or said storage device comprises a dynamic random-access memory, wherein said dynamic random-access memory comprises a plurality of banks, wherein each of said plurality of banks comprises a row, wherein said row houses multiple translation lookaside buffer entries, wherein each of said translation lookaside buffer entries comprises a valid bit, a process identifier, a virtual address and a physical address.

3. The processor as recited in claim 2 , wherein each of said translation lookaside buffer entries further comprises a virtual machine identifier.

4. The processor as recited in claim 1 , wherein said third level translation lookaside buffer is implemented as a four way associative structure.

5. The processor as recited in claim 1 further comprising:

a first history counter predictor connected to said first processor core; and

a second history counter predictor connected to said second processor core;

wherein said first and second history counter predictors are configured to track a history of hits to said third level translation lookaside buffer.

6. The processor as recited in claim 5 , wherein said first and second history counter predictors are indexed using a portion of a virtual address.

7. The processor as recited in claim 6 , wherein said first and second history counter predictors use a three bit saturating counter per predictor entry.

8. The processor as recited in claim 7 , wherein said first and second history counter predictors are incremented in response to a hit to said third level translation lookaside buffer and are decremented in response to a miss to said third level translation lookaside buffer.

9. The processor as recited in claim 8 , wherein said first and second history counter predictors speculate a hit to said third level translation lookaside buffer in response to a counter value exceeding a threshold value.

10. The processor as recited in claim 8 , wherein said first and second history counter predictors speculate a miss to said third level translation lookaside buffer in response to a counter value not exceeding a threshold value.

11. The processor as recited in claim 1 further comprising:

a first and a second predictor connected to said first and second processor cores and said third level translation lookaside buffer, wherein said first and second predictors comprise two-bit entries, wherein a first of said two-bits is used to predict whether to bypass said first and second second level data caches and said third level data cache.

12. The processor as recited in claim 11 , wherein a second of said two-bits is used to predict a page size.

13. The processor as recited in claim 1 , wherein said third level translation lookaside buffer is implemented in off-chip or die-stack dynamic random-access memory.

14. The processor as recited in claim 1 , wherein said third level translation lookaside buffer is implemented in one of the following: phase-change memory and non-volatile random-access memory.

15. A processor, comprising:

a processor core comprising:

a first level translation lookaside buffer; and

a second level translation lookaside buffer;

a third level translation lookaside buffer connected to said processor core, wherein said third level translation lookaside buffer is implemented in memory or a storage device, wherein said first, second and third level translation lookaside buffers store recent translations of virtual memory to physical memory;

a page table connected to said third level translation lookaside buffer, wherein said page table stores a mapping between virtual addresses and physical addresses;

a first and a second second level data cache connected to said processor core; and

a third level data cache connected to said first and second second level data caches;

wherein said third level translation lookaside buffer is mapped into a memory address space, wherein said third level translation lookaside buffer is addressable, wherein said processor is configured to cache said third level translation lookaside buffer entries in said first and second second level data caches and said third level data cache.

16. The processor as recited in claim 15 , wherein said memory or said storage device comprises a dynamic random-access memory, wherein said dynamic random-access memory comprises a plurality of banks, wherein each of said plurality of banks comprises a row, wherein said row houses multiple translation lookaside buffer entries, wherein each of said translation lookaside buffer entries comprises a valid bit, a process identifier, a virtual address and a physical address.

17. The processor as recited in claim 16 , wherein each of said translation lookaside buffer entries further comprises a virtual machine identifier.

18. The processor as recited in claim 15 , wherein said third level translation lookaside buffer is implemented as a four way associative structure.

19. The processor as recited in claim 15 , wherein said third level translation lookaside buffer is implemented in off-chip or die-stack dynamic random-access memory.

20. The processor as recited in claim 15 , wherein said third level translation lookaside buffer is implemented in one of the following: phase-change memory and non-volatile random-access memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2017
From: JOHN, LIZY K.; RYOO, JEE HO; GULUR, NAGENDRA
To: BOARD OF REGENTS, THE UNIVERSITY OF TEXAS SYSTEM
Reel/Frame 043051/0314 →
Continuity (2)
Provisional Application 62427602 · Nov 29, 2016
Related Publication 20180150406A1 · May 31, 2018
Cited By (2)
US 12,645,603 US 12,717,601