Method for caching GPU data and data processing system therefor

US10043235B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10043235-B2
Application numberUS-201414539609-A
CountryUS
Kind codeB2
Filing dateNov 12, 2014
Priority dateFeb 4, 2014
Publication dateAug 7, 2018
Grant dateAug 7, 2018

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.

Provided are a multimedia data processing system and a selective caching method. The selective caching method in the multimedia data processing system includes inserting cacheability indicator information into an address translation table descriptor undergoing memory allocation to a graphics resource when the graphics resource needs to be cached and selectively controlling whether or not to prefetch multimedia data of the graphics resource present in a main memory to a system level cache memory, with reference to cacheability indicator information during an address translation operation of a graphic processing unit (GPU). The inventive concept can be implemented in a wide variety of computer-based systems having a graphical output, such as cell phones, laptops, tablets, and personal computers, as only a few examples.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for caching graphic processing unit (GPU) data in a multimedia processing system, the method comprising: determining whether a graphics resource to be used in rendering needs to be cached in a system level cache memory, depending on a memory attribute of the graphics resource; inserting cacheability indicator information into an address translation table descriptor undergoing memory allocation to the graphics resource when the graphics resource needs to be cached; selectively controlling whether or not to prefetch multimedia data of the graphics resource present in a main memory to the system level cache memory, with reference to the cacheability indicator information during an address translation operation of the GPU; wherein inserting the cacheability indicator information is performed by a device driver operating in an operating system kernel mode; and limiting a caching operation of prefetching the multimedia data to the system level cache memory when a level 2 (L2) cache hit ratio to the multimedia data of the graphics resource in the GPU is higher than a set value, a performance monitor of the GPU monitoring a shader core, a memory management unit (MMU), and a level 2 (L2) cache memory of the GPU to update in real-time the cacheability indicator information. 2. The method as set forth in claim 1 , wherein the memory allocation is one of slab allocation, heap allocation, linear allocation, and coherency allocation. 3. The method as set forth in claim 1 , wherein the system level cache memory is shared by a central processing unit (CPU) and a plurality of multimedia image processors (IPs). 4. The method as set forth in claim 1 , wherein the graphics resource includes at least one of texture data and geometry data. 5. The method as set forth in claim 1 , wherein inserting the cacheability indicator information into the address translation table descriptor is performed for inter-frame unit control in units of frames of the multimedia data. 6. The method as set forth in claim 1 , further comprising: the performance monitor in the GPU periodically monitoring the shader core, the memory management unit, and the GPU L2 cache to check the cache hit ratio. 7. A data processing system, comprising: a central processing unit (CPU) on which an operating system and a device driver are loaded as programs; a graphic processing unit (GPU) including a level 2 (L2) cache memory; and a system level cache memory outside the GPU and shared by the CPU, wherein the device driver is configured to determine whether a graphics resource to be used in rendering needs to be cached in the system level cache memory, depending on a memory attribute of the graphics resource, wherein the device driver is configured to insert cacheability indicator information undergoing address allocation to the graphic resource into an address translation table descriptor when a result of the determination is that the graphics resource needs to be cached, wherein the GPU is configured to selectively control whether or not to prefetch multimedia data of the graphics resource present in a main memory to the system level cache memory, with reference to the cacheability indicator information inserted into the address translation table descriptor when a virtual address of the GPU is translated into a physical address; wherein the GPU further comprises a performance monitor, a shader core, and a memory management unit configured to check a cache hit ratio of the L2 cache memory and to generate cache control information in response thereto, and wherein the performance monitor is configured to monitor the shader core, the memory management unit (MMU), and the L2 cache memory to update in real-time the cacheability indicator information. 8. The data processing system as set forth in claim 7 , wherein inserting the cacheability indicator information into the address translation table descriptor is performed for intra-frame unit control in a frame of the multimedia data. 9. The data processing system as set forth in claim 8 , wherein the performance monitor is configured to monitor the shader core, the memory management unit, and the L2 cache memory in real-time during the intra-frame unit control to prefetch the multimedia data to the system level cache memory when a L2 cache hit ratio of the GPU to the multimedia data of the graphic resource is lower than a set value. 10. The data processing system as set forth in claim 7 , wherein inserting the cacheability indicator information into the address translation table descriptor is performed for inter-frame unit control in units of frames of the multimedia data. 11. The data processing system as set forth in claim 10 , wherein during the inter-frame unit control, the performance monitor is configured to collect and evaluate information on a counting value and an operating cycle in the GPU obtained after rendering a single frame and to store the collected and evaluated information in a special function register of the GPU, and wherein during the inter-frame unit control, the device driver referencing the information stored in the special function register is configured to change information of a cacheability attribute descriptor register referenced by the memory management unit before starting to render a next frame. 12. A method of caching graphic processing unit (GPU) data in an apparatus having a multimedia processing system, the method comprising: providing a central processing unit (CPU), a main memory, and a system level cache (SLC) memory external to a GPU; a device driver of the CPU initializing cacheability indicator information to a set of control values; a performance monitor of the GPU monitoring a shader core, a memory management unit (MMU), and a level 2 (L2) cache memory of the GPU to update in real-time the cacheability indicator information; and the device driver selectively controlling whether or not to prefetch multimedia data of a graphics resource present in the main memory to the SLC memory, based on the cacheability indicator information during an address translation operation of the GPU. 13. The method of claim 12 , wherein the CPU, SLC memory, and GPU are components of a system on a chip (SoC). 14. The method of claim 12 , further comprising the performance monitor checking a cache hit ratio of the L2 cache memory to update the cacheability indicator information. 15. The method of claim 12 , further comprising inserting the cacheability indicator information into an address translation table descriptor undergoing memory allocation to the graphics resource when the graphics resource needs to be cached. 16. The method of claim 15 , wherein inserting the cacheability indicator information is performed by the device driver while operating in an operating system kernel mode.

Assignees

Inventors

Classifications

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 US10043235B2 cover?
Provided are a multimedia data processing system and a selective caching method. The selective caching method in the multimedia data processing system includes inserting cacheability indicator information into an address translation table descriptor undergoing memory allocation to a graphics resource when the graphics resource needs to be cached and selectively controlling whether or not to pre…
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06T1/60. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 07 2018 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).