Data processing method, computer readable medium and data processing device

US9836408B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9836408-B2
Application numberUS-201514885830-A
CountryUS
Kind codeB2
Filing dateOct 16, 2015
Priority dateNov 28, 2014
Publication dateDec 5, 2017
Grant dateDec 5, 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 data processing method, a computer readable medium, and a data processing device capable of improving processing efficiency are provided. A storage destination of sub-read blocks is changed to a high-speed small-capacity memory on a high layer by adding a shape attribute in an attribute group for data blocks, adding a memory access monitoring unit for obtaining the shape attribute of a data block to the configuration of a data processing device, obtaining the shape attribute of the non-rectangular read block by executing a program on a trial basis, and propagating this shape attribute in a direction opposite to a data flow or a process flow within the program.

First claim

Opening claim text (preview).

What is claimed is: 1. A data processing method for a data processing device, the data processing device comprising: a program execution unit comprising a processor, and memories on a plurality of layers; an arithmetic control unit that receives a program and attribute values, the program including a plurality of subroutines for causing the processor to read a read block from the memory, perform data processing, and write a write block to the memory, the write block being a result of the data processing, the attribute values being set for the read block and the write block, respectively; and a memory access monitoring unit, the data processing method comprising: a step of executing, by the program execution unit, the program; a step of monitoring, by the memory access monitoring unit, a memory transfer of a data block or a sub-data block whose shape attribute value is a non-rectangle performed between the sub-routines and outputting memory access information related to the memory transfer to the arithmetic control unit; and a step, performed by the arithmetic control unit, of: calculating a shape attribute value by converting a read address or a write address of the data block based on the memory access information; correcting an attribute value by propagating the attribute value including at least the calculated shape attribute value in a direction opposite to a data flow or a process flow within the program; dividing, for each data block exchanged between the subroutines, the data block into sub-data blocks when the attribute value and performance/configuration information of the processor and the memory satisfy a predetermined condition; selecting a memory from which the sub-data blocks are read or to which the sub-data blocks are written from among the memories on the plurality of layers; and controlling memory access to the data block or the sub-data blocks and execution of a subroutine related to the data block performed by the processor. 2. The data processing method according to claim 1 , wherein the arithmetic control unit propagates the attribute value including at least the calculated shape attribute value in the direction opposite to the data flow or the process flow within the program and thereby corrects the attribute value only when, for each data block exchanged between the subroutines, the attribute value and performance/configuration information of the processor and the memory do not satisfy the predetermined condition. 3. The data processing method according to claim 1 , wherein the program comprises a first subroutine and a second subroutine, the second subroutine being executed after the first subroutine, a first attribute value is set in the data block of the first subroutine, a second attribute value is set in the data block of the second subroutine, the second attribute value being related to the same attribute as that of the first attribute value, and when an attribute value is corrected, a logical sum or a logical multiplication of the first and second attribute values is calculated and the calculated logical sum or the logical multiplication is defined as a new first attribute value. 4. The data processing method according to claim 1 , wherein the attribute value further includes a shape dependence attribute value, the shape dependence attribute value, when set for the first data block, indicates the second data block on which a shape of that first data block is dependent, and the data processing method further comprises: a step of monitoring, by the memory access monitoring unit, an update of the second data block and outputting information about the update to the arithmetic control unit; and a step of resetting, by the arithmetic control unit, the shape attribute value of the data block including at least the first data block based on the information about the update. 5. A non-transitory computer readable medium storing a program for causing the data processing device to execute each step of a data processing method for a data processing device, the data processing device comprising: a program execution unit comprising a processor, and memories on a plurality of layers; an arithmetic control unit that receives a program and attribute values, the program including a plurality of subroutines for causing the processor to read a read block from the memory, perform data processing, and write a write block to the memory, the write block being a result of the data processing, the attribute values being set for the read block and the write block, respectively; and a memory access monitoring unit, the data processing method comprising: a step of executing, by the program execution unit, the program; a step of monitoring, by the memory access monitoring unit, a memory transfer of a data block or a sub-data block whose shape attribute value is a non-rectangle performed between the sub-routines and outputting memory access information related to the memory transfer to the arithmetic control unit; and a step, performed by the arithmetic control unit, of: calculating a shape attribute value by converting a read address or a write address of the data block based on the memory access information; correcting an attribute value by propagating the attribute value including at least the calculated shape attribute value in a direction opposite to a data flow or a process flow within the program; dividing, for each data block exchanged between the subroutines, the data block into sub-data blocks when the attribute value and performance/configuration information of the processor and the memory satisfy a predetermined condition; selecting a memory from which the sub-data blocks are read or to which the sub-data blocks are written from among the memories on the plurality of layers; and controlling memory access to the data block or the sub-data blocks and execution of a subroutine related to the data block performed by the processor. 6. A data processing device comprising: a program execution unit comprising a processor, and memories on a plurality of layers; an arithmetic control unit that receives a program and attribute values, the program including a plurality of subroutines for causing the processor to read a read block from the memory, perform data processing, and write a write block to the memory, the write block being a result of the data processing, the attribute values being set for the read block and the write block, respectively; and a memory access monitoring unit, wherein the program execution unit executes the program, the memory access monitoring unit monitors a memory transfer of a data block or a sub-data block whose shape attribute value is a non-rectangle performed between the sub-routines and outputs memory access information related to the memory transfer to the arithmetic control unit, and the arithmetic control unit: calculates a shape attribute value by converting a read address or a write address of the data block based on the memory access information; corrects an attribute value by propagating the attribute value including at least the calculated shape attribute value in a direction opposite to a data flow or a process flow within the program; divides, for each data block exchanged between the subroutines, the data block into sub-data blocks when the attribute value and performance/configuration information of the processor and the memory satisfy a predetermined condition; selects a memory from which the sub-data blocks are read or to which the sub-data blocks are written from among the memories on the plurality of layers; and controls memory access to the data block or the sub-data blocks and execution of a subroutine related to the data block performed by the processor.

Assignees

Inventors

Classifications

  • Performance improvement · CPC title

  • Compilation · CPC title

  • with two or more cache hierarchy levels (with multilevel cache hierarchies G06F12/0811) · CPC title

  • Pointers; Aliasing · CPC title

  • Register allocation; Assignment of physical memory space to logical memory space · 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 US9836408B2 cover?
A data processing method, a computer readable medium, and a data processing device capable of improving processing efficiency are provided. A storage destination of sub-read blocks is changed to a high-speed small-capacity memory on a high layer by adding a shape attribute in an attribute group for data blocks, adding a memory access monitoring unit for obtaining the shape attribute of a data b…
Who is the assignee on this patent?
Renesas Electronics Corp
What technology area does this patent fall under?
Primary CPC classification G06F12/0897. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 05 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).