Shared Virtual Memory Between A Host And Discrete Graphics Device In A Computing System
AssigneeIntel Corporation
InventorBoris Ginzburg
Life of this patent
Estimating the term…
Abstract
In one embodiment, the present invention includes a device that has a device processor and a device memory. The device can couple to a host with a host processor and host memory. Both of the memories can have page tables to map virtual addresses to physical addresses of the corresponding memory, and the two memories may appear to a user-level application as a single virtual memory space. Other embodiments are described and claimed.
Claims20
A system on chip (SoC) comprising:
- a plurality of cores to couple to a host memory;
- and
- a device processor coupled to the plurality of cores and to couple to a device memory, the device processor and the plurality of cores having a shared virtual address space, wherein on a page fault in the device processor, the device processor is to request a missing page from the host memory via a host page table that maps first virtual addresses to physical addresses of the host memory, the device processor having a device page table to map second virtual addresses to physical addresses of the device memory.
A non-transitory machine readable medium having stored thereon instructions, which if performed by a machine cause the machine to perform a method comprising:
- receiving a page fault from a device processor coupled to a device memory, the device processor coupled to a host processor coupled to a host memory, the device processor and the host processor asymmetrically sharing a virtual memory space;
- sending a request from the device processor to the host processor for a page associated with the page fault;
- and
- receiving the page by the device processor from the host processor as a page size unit, and wherein the page is locked in the host memory if the page is indicated to be write permissible.
A system comprising:
- a multicore processor including:
- a core having a translation lookaside buffer (TLB) to store first virtual address to physical address translations for a memory;
- and
- a graphics processor coupled to the core via an interconnect and including a graphics translation lookaside buffer (gTLB) to store second virtual address to physical address translations for a graphics memory;
- the memory coupled to the multicore processor to store a first plurality of pages each corresponding to a physical address of the memory;
- and
- the graphics memory coupled to the multicore processor to store a second plurality of pages each corresponding to a second physical address of the graphics memory, wherein the core and the graphics processor have a shared virtual address space, and in response to a page fault associated with a first request to the graphics memory for a page, the graphics processor is to transmit a second request for the page to the core and the core is to provide the page to the graphics processor from the memory.
Dependencies are inferred from the claim text.