Method and apparatus to facilitate shared pointers in a heterogeneous platform

US9606919B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9606919-B2
Application numberUS-201414513065-A
CountryUS
Kind codeB2
Filing dateOct 13, 2014
Priority dateMar 29, 2011
Publication dateMar 28, 2017
Grant dateMar 28, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method and apparatus to facilitate shared pointers in a heterogeneous platform. In one embodiment of the invention, the heterogeneous or non-homogeneous platform includes, but is not limited to, a central processing core or unit, a graphics processing core or unit, a digital signal processor, an interface module, and any other form of processing cores. The heterogeneous platform has logic to facilitate sharing of pointers to a location of a memory shared by the CPU and the GPU. By sharing pointers in the heterogeneous platform, the data or information sharing between different cores in the heterogeneous platform can be simplified.

First claim

Opening claim text (preview).

What is claimed is: 1. One or more non-transitory computer readable media having instructions thereon that, in response to execution by a second processing device of a computer device having a first and the second processing device, cause the second processing device of the computer device to: receive, from the first processing device, a first pointer to a memory location of the computer device, wherein the memory location resides in a region of a memory that is accessible by both the first processing device and the second processing device, wherein the first pointer is not in a format usable by the second processing device to access the memory location; generate a second pointer, by the second processing device, based on the first pointer, that is in the format usable by the second processing device to access the memory location; and access the memory location, by the second processing device, using the second pointer. 2. The one or more non-transitory computer readable media of claim 1 , wherein the first pointer has a different length than the second pointer. 3. The one or more non-transitory computer readable media of claim 1 , wherein the first pointer encodes the memory location in accordance with a first technique and the second pointer encodes the memory location in accordance with a second technique different from the first technique. 4. The one or more non-transitory computer readable media of claim 3 , wherein the first technique or the second technique encodes the memory location based on a binding table index and an offset. 5. The one or more non-transitory computer readable media of claim 3 , wherein the first technique or the second technique encodes the memory location based on a base address of the shared memory region and a memory address of a pointer in the shared memory region. 6. The one or more non-transitory computer readable media of claim 1 , wherein the first pointer is received as an argument of a function. 7. The one or more non-transitory computer readable media of claim 1 , wherein the computer device includes a compiler having logic to generate the second pointer. 8. A method for accessing memory shared by a first and a second processing device on a computing device, comprising: receiving, by the second processing device, from the first processing device, a first pointer to a memory location of the computing device, wherein the memory location resides in a region of a memory that is accessible by both the first processing device and the second processing device, wherein the first pointer is not in a format usable by the second processing device to access the memory location; generating a second pointer, by the second processing device, based on the first pointer, that is in the format usable by the second processing device to access the memory location; and accessing, by the second processing device, the memory location, using the second pointer. 9. The method of claim 8 , wherein the first pointer has a different length than the second pointer. 10. The method of claim 8 , wherein the first pointer encodes the memory location in accordance with a first technique and the second pointer encodes the memory location in accordance with a second technique different from the first technique. 11. The method of claim 10 , wherein the first technique or the second technique encodes the memory location based on a binding table index and an offset. 12. The method of claim 11 , wherein the first technique or the second technique encodes the memory location based on a base address of the shared memory region and a memory address of a pointer in the shared memory region. 13. The method of claim 8 , wherein the first pointer is received as an argument of a function. 14. A computer device, comprising: a first and a second processing device; and a memory; wherein the second processing device is to: receive, from the first processing device, a first pointer to a location of the memory, wherein the memory location resides in a region of the memory that is accessible by both the first processing device and the second processing device, wherein the first pointer is not in a format usable by the second processing device to access the memory location; generate a second pointer, based on the first pointer, that is in the format usable by the second processing device to access the memory location; and access the memory location using the second pointer. 15. The computer device of claim 14 , wherein the first pointer has a different length than the second pointer. 16. The computer device of claim 14 , wherein the first pointer encodes the memory location in accordance with a first technique and the second pointer encodes the memory location in accordance with a second technique different from the first technique. 17. The computer device of claim 14 , wherein the first pointer is received as an argument of a function.

Assignees

Inventors

Classifications

  • G06F15/167Primary

    using a common memory, e.g. mailbox · CPC title

  • Multiuser, multiprocessor or multiprocessing cache systems · CPC title

  • Memory management · CPC title

  • in hierarchically structured memory systems, e.g. virtual memory systems · CPC title

  • Arrangements for executing machine instructions, e.g. instruction decode (for executing microinstructions G06F9/22) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9606919B2 cover?
A method and apparatus to facilitate shared pointers in a heterogeneous platform. In one embodiment of the invention, the heterogeneous or non-homogeneous platform includes, but is not limited to, a central processing core or unit, a graphics processing core or unit, a digital signal processor, an interface module, and any other form of processing cores. The heterogeneous platform has logic to …
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F15/167. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 28 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).