IP Library › Granted Patent US 9,086,813
Granted Patent B2
US 9,086,813 · App. 13/834,380 · Granted Jul 21, 2015

Method and apparatus to save and restore system memory management unit (MMU) contexts

Inventors: Thomas M. Zeng (San Diego, CA); Azzedine Touzni (San Diego, CA); Thomas Andrew Sartorius (Raleigh, NC)
Assignee: QUALCOMM Incorporated
G06F3/0631G06F3/0604G06F3/0673G06F12/10G06F12/12G06T1/60
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,086,813
App. No.
13/834,380
Granted
Jul 21, 2015
Kind
B2
Abstract

A wireless mobile device includes a graphic processing unit (GPU) that has a system memory management unit (MMU) for saving and restoring system MMU translation contexts. The system MMU is coupled to a memory and the GPU. The system MMU includes a set of hardware resources. The hardware resources may be context banks, with each of the context banks having a set of hardware registers. The system MMU also includes a hardware controller that is configured to restore a hardware resource associated with an access stream of content issued by an execution thread of the GPU. The associated hardware resource may be restored from the memory into a physical hardware resource when the hardware resource associated with the access stream of content is not stored within one of the hardware resources.

Claims (43)

1. A wireless mobile device, comprising:

a graphic processing unit (GPU);

a memory; and

a system memory management unit (MMU) coupled to the memory and the GPU, the system MMU comprising:

a plurality of physical context banks; and

a hardware controller configured to, independent of software instructions, restore a GPU context associated with an access stream of content issued by an execution thread of the GPU from the memory into a physical context bank of the plurality of physical context banks when the GPU context associated with the access stream of content is not stored within one of the plurality of physical context banks.

2. The wireless mobile device of claim 1 , in which the plurality of physical context banks comprises physical context banks including a plurality of registers.

3. The wireless mobile device of claim 1 , in which the hardware controller is further configured to:

lookup, within a stream match table of the system MMU, a stream identification of the access stream of content issued by the execution thread of the GPU to determine whether the GPU context associated with the access stream of content is stored within one of the plurality of physical context banks.

4. The wireless mobile device of claim 1 , in which the hardware controller is further configured to translate the access stream of content issued by the execution thread.

5. The wireless mobile device of claim 1 , in which the hardware controller is further configured:

to evict a content of a selected one of the plurality of physical context banks when the GPU context associated with the access stream of content is not stored within one of the plurality of physical context banks; and

to store the content of the selected one of the plurality of physical context banks into the memory according to a base address register of the system MMU.

6. The wireless mobile device of claim 5 , in which the hardware controller is further configured to block the access stream of content issued by the execution thread of the GPU when each of the plurality of physical context banks is associated with an active access stream of content.

7. The wireless mobile device of claim 1 , in which the access stream of content issued by the execution thread of the GPU comprises a memory access request.

8. The wireless mobile device of claim 1 , in which the hardware controller is further configured to select one of the plurality of physical context banks that is associated with an inactive access stream of content.

9. The wireless mobile device of claim 1 , in which the hardware controller is further configured to update a switch to activate the physical context bank.

10. The wireless mobile device of claim 1 , integrated into a mobile phone, a set top box, a music player, a video player, an entertainment unit, a navigation device, a computer, a hand-held personal communication systems (PCS) unit, a portable data unit, and/or a fixed location data unit.

11. The wireless mobile device of claim 1 , in which a representation of the wireless mobile device is stored in a non-transitory computer-readable medium.

12. A method of hardware assisted context bank restoration within a system memory management unit (MMU), comprising:

evicting, by a system MMU independent of software instructions, a content of a selected one of a plurality of physical context banks when a graphic processing unit (GPU) context associated with an access stream of content issued by an execution thread of a GPU is not stored within one of the plurality of physical context banks; and

restoring the GPU context associated with the access stream of content from a memory into the selected one of the plurality of physical context banks.

13. The method of claim 12 , further comprising storing the content of the selected one of the plurality of physical context banks into the memory according to a base address register of the system MMU.

14. The method of claim 12 , further comprising looking-up, within a stream match table of the system MMU, a stream identification of the access stream of content issued by the execution thread of the GPU to determine whether the GPU context associated with the access stream of content is stored within the one of the plurality of physical context banks.

15. The method of claim 12 , further comprising translating the access stream of content issued by the execution thread.

16. The method of claim 12 , further comprising:

selecting one of the plurality of physical context banks that is associated with an inactive access stream of content; and

storing a content of the selected one of the plurality of physical context banks into the memory according to a base address register of the system MMU.

17. The method of claim 12 , in which the access stream of content issued by the execution thread of the GPU comprises a memory access request.

18. A wireless mobile device, comprising:

a graphic processing unit (GPU);

a memory; and

a system memory management unit (MMU) coupled to the memory and the GPU, the system MMU comprising:

a plurality of physical context banks; and

means for restoring, independent of software instructions, a GPU context associated with an access stream of content issued by an execution thread of the GPU from the memory into a physical context bank of the plurality of physical context banks when the GPU context associated with the access stream of content is not stored within one of the plurality of physical context banks.

19. The wireless mobile device of claim 18 , further comprising:

means for selecting one of the plurality of physical context banks that is associated with an inactive access stream of content; and

means for storing a content of the selected one of the plurality of physical context banks into the memory according to a base address register of the system MMU.

20. The wireless mobile device of claim 18 , integrated into a mobile phone, a set top box, a music player, a video player, an entertainment unit, a navigation device, a computer, a hand-held personal communication systems (PCS) unit, a portable data unit, and/or a fixed location data unit.

21. A computer program product for a wireless mobile device, the computer program product comprising:

a non-transitory computer-readable medium having program code recorded thereon, the program code comprising:

program code to evict, independent of software instructions, a content of a selected one of a plurality of physical context banks when a graphic processing unit (GPU) context associated with an access stream of content issued by an execution thread of a GPU is not stored within one of the plurality of physical context banks; and

program code to restore the GPU context associated with the access stream of content from a memory into the selected one of the plurality of physical context banks.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2013
From: ZENG, THOMAS M.; TOUZNI, AZZEDIN; SARTORIUS, THOMAS ANDREW
To: QUALCOMM INCORPORATED
Reel/Frame 030444/0855 →
Continuity (1)
Related Publication 20140282580A1 · Sep 18, 2014