IP Library Granted Patent US 7,386,669
Granted Patent B2
US 7,386,669 · App. 11/095,052 · Granted Jun 10, 2008

System and method of improving task switching and page translation performance utilizing a multilevel translation lookaside buffer

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,386,669
App. No.
11/095,052
Granted
Jun 10, 2008
Kind
B2
Abstract

A system and method of improved task switching in a data processing system. First, a first-level cache memory casts out an invalidated page table entry and an associated first page directory base address to a second-level cache memory. Then, the second-level cache memory determines if a task switch has occurred. If a task switch has not occurred, first-level cache memory sends the invalidated page table entry to a current running task directory. If a task switch has occurred, first-level cache memory loads from the second-level cache directory a collection of page table entries related to a new task to enable improved task switching without requiring access to a page table stored in main memory to retrieve the collection of page table entries.

Claims (23)

1. A method of improved task switching in a data processing system, comprising:

casting out an invalidated page table entry and associated first page directory base address from a first-level cache memory to a second-level cache memory;

in response to said casting out, determining whether a task switch has occurred;

in response to determining a task switch has not occurred, sending said invalidated page table entry to a current running task directory; and

in response to determining said task switch has occurred, loading from a task switch directory a first plurality of page table entries related to a new task to enable improved task switching without requiring access to a page table stored in main memory to retrieve said first plurality of page table entries.

2. The method according to claim 1 , further including:

in response to determining said task switch has occurred, sending at least one speculative load request to a system memory for a second plurality of page table entries related to said new task.

3. The method according to claim 2 , further including:

in response to determining said task switch has occurred, parsing said task switch directory for a second page directory base address associated with said new task; and

in response to determining said task switch directory does not include said second page directory base address, loading said second plurality of page table entries related to said new task.

4. The method according to claim 1 , further including:

in response to said loading, starting execution of said new task.

5. The method according to claim 1 , further including:

determining whether said task switch directory is full;

in response to determining said task switch directory is full, casting out a page directory base address and a plurality of associated page table entries from said task switch directory; and

merging into a list a plurality of page table entries from said first-level cache memory with a plurality of page table entries stored in said current-running task directory; and storing said list in said task switch directory.

6. The method according to claim 1 , further including:

in response to determining said task switch has not occurred, determining whether a requested page table entry is stored in said current-running task directory.

7. The method according to claim 1 , further including:

in response to determining said task switch has not occurred, sending a speculative load request for a requested page table entry.

8. The method according to claim 1 , further including:

in response to determining said task switch has not occurred, evicting a page table entry from said current-running task directory; and

in response to said evicting, adding said invalidated page table entry to said current running task directory.

Assignments (1)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →