JP6161396B2 - Arithmetic unit - Google Patents

Arithmetic unit Download PDF

Info

Publication number
JP6161396B2
JP6161396B2 JP2013103261A JP2013103261A JP6161396B2 JP 6161396 B2 JP6161396 B2 JP 6161396B2 JP 2013103261 A JP2013103261 A JP 2013103261A JP 2013103261 A JP2013103261 A JP 2013103261A JP 6161396 B2 JP6161396 B2 JP 6161396B2
Authority
JP
Japan
Prior art keywords
data
storage unit
task
unit
data storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013103261A
Other languages
Japanese (ja)
Other versions
JP2014225089A (en
Inventor
伊藤 大
大 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olympus Corp
Original Assignee
Olympus Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olympus Corp filed Critical Olympus Corp
Priority to JP2013103261A priority Critical patent/JP6161396B2/en
Publication of JP2014225089A publication Critical patent/JP2014225089A/en
Application granted granted Critical
Publication of JP6161396B2 publication Critical patent/JP6161396B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)
  • Image Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、演算装置に関する。   The present invention relates to an arithmetic device.

従来から、プログラムに応じた演算処理を実行するプロセッサを備えた演算装置がある。このような演算装置では、プロセッサが実行するそれぞれの演算処理を複数のタスクに分割し、プロセッサは、分割したそれぞれのタスクを順次実行することによって演算処理を行う。演算装置における演算処理では、外部のメモリにアクセスしながら実行する、すなわち、演算処理で使用するデータを、外部のメモリから読み出したり、外部のメモリに書き込んだりしながら実行する演算処理もある。そして、従来の演算装置には、予め外部のメモリからデータを読み出して一時記憶しておく外部のメモリよりも高速なメモリ、いわゆる、キャッシュメモリを備えたプロセッサを複数備えた、いわゆる、マルチプロセッサといわれる構成のものも見受けられる。   2. Description of the Related Art Conventionally, there is an arithmetic device including a processor that executes arithmetic processing according to a program. In such an arithmetic device, each arithmetic processing executed by the processor is divided into a plurality of tasks, and the processor performs arithmetic processing by sequentially executing the divided tasks. In the arithmetic processing in the arithmetic device, there is an arithmetic processing that is executed while accessing an external memory, that is, the data used in the arithmetic processing is read from the external memory or written to the external memory. The conventional arithmetic device is a so-called multiprocessor including a plurality of processors each having a memory having a higher speed than an external memory in which data is previously read from an external memory and temporarily stored, that is, a cache memory. The thing of the composition to be seen can be seen.

このような演算装置では、例えば、画像処理などの一連の処理を、演算装置に備えたそれぞれのプロセッサが分担して並列に行う、いわゆる、分散並列処理によって、プロセッサ同士でのそれぞれのタスクの処理の待ち合わせやラインバッファ処理など、データを一定時間保持する必要がある処理、あるいは演算装置に搭載しているプロセッサの数よりも多くのタスクからなる処理を行うことができる。このとき、それぞれのプロセッサ間のデータの受け渡しは、外部メモリを介して行われる。しかし、外部メモリへのアクセスは多くの電力を要するため、演算装置の消費電力の増大に繋がってしまうことから、演算処理を行う際の外部メモリへのアクセスを極力少なくしたいという要望がある。   In such an arithmetic device, for example, a series of processing such as image processing is performed in parallel by each processor provided in the arithmetic device, and the processing of each task between the processors is performed by so-called distributed parallel processing. Processing that requires data to be held for a certain period of time, such as waiting for data and line buffer processing, or processing that includes more tasks than the number of processors installed in the arithmetic unit can be performed. At this time, data is transferred between the processors via an external memory. However, since access to the external memory requires a large amount of power, this leads to an increase in power consumption of the arithmetic device, and there is a demand for minimizing access to the external memory when performing arithmetic processing.

このため、例えば、特許文献1のように、外部メモリを介さずに、それぞれのプロセッサに備えたキャッシュメモリ同士でデータを直接転送する技術が開示されている。特許文献1に開示された技術では、1つのプロセッサが実行した結果のデータを他のプロセッサが演算処理に使用する場合、外部メモリへのアクセスを行うDMAC(Direct Memory Access Controller)が、1つのプロセッサが実行した結果のデータを他のプロセッサのキャッシュメモリに転送した後に外部メモリに転送する。これにより、1つのプロセッサが実行した結果のデータに関わる外部メモリへのアクセス回数を低減することができる。   For this reason, for example, as disclosed in Patent Document 1, a technique is disclosed in which data is directly transferred between cache memories provided in each processor without using an external memory. In the technique disclosed in Patent Document 1, when another processor uses data obtained as a result of execution by one processor for arithmetic processing, a DMAC (Direct Memory Access Controller) that accesses an external memory is used as one processor. The data obtained as a result of the above is transferred to the cache memory of another processor and then transferred to the external memory. As a result, the number of accesses to the external memory related to the data executed by one processor can be reduced.

特開2007−241601号公報JP 2007-241601 A

しかしながら、演算装置に備えた複数のプロセッサの中に、キャッシュメモリを備えていないプロセッサが含まれている、すなわち、演算装置に備えた全てのプロセッサがキャッシュメモリを備えた構成ではない演算装置もある。このような構成の演算装置では、プロセッサ間のデータの受け渡しを、外部メモリを介して行わなければならず、特許文献1に開示された技術を適用した場合であっても、演算装置における外部メモリへのアクセス回数を低減することができない。   However, some of the processors included in the arithmetic device include a processor that does not include the cache memory, that is, there is an arithmetic device that does not have a configuration in which all the processors included in the arithmetic device include the cache memory. . In the arithmetic device having such a configuration, data transfer between processors must be performed via an external memory, and even when the technique disclosed in Patent Document 1 is applied, the external memory in the arithmetic device is used. The number of accesses to cannot be reduced.

また、例えば、撮像装置において行われる画像処理のように、別の構成要素によって外部メモリに記憶されたデータに対して、演算装置が演算処理を行う場合には、それぞれのプロセッサが、演算処理に使用するデータを外部メモリから読み出す。このとき、演算装置が行う演算処理が、例えば、画像処理における畳み込み演算処理のように、画像処理を行う全てのデータの領域(画像領域)を複数の領域(ブロック)に分割し、分割したブロック毎に処理を行う演算処理である場合には、それぞれのブロックに、演算処理に使用するデータ(画像データ)が重複している領域、いわゆる、糊代領域がある場合もある。この場合には、糊代領域の画像データを、演算装置内の異なるプロセッサがそれぞれ読み出すことになる。これは、外部メモリからみると、同じ記憶領域に記憶されている画像データが複数回読み出されることになり、演算装置における外部メモリへのアクセス回数を低減することができない。   In addition, for example, when the arithmetic device performs arithmetic processing on data stored in the external memory by another component as in image processing performed in the imaging device, each processor performs arithmetic processing. Read the data to be used from the external memory. At this time, the arithmetic processing performed by the arithmetic device divides all data regions (image regions) to be subjected to image processing into a plurality of regions (blocks), such as convolution arithmetic processing in image processing. When the calculation process is performed every time, each block may have an area where data (image data) used for the calculation process overlaps, that is, a so-called glue margin area. In this case, the image data of the margin area is read by different processors in the arithmetic device. This means that when viewed from the external memory, the image data stored in the same storage area is read out a plurality of times, and the number of accesses to the external memory in the arithmetic unit cannot be reduced.

このように、特許文献1で開示された技術を適用した演算装置であっても、必ずしも外部メモリへのアクセス回数を低減することができるとはいえない、という問題がある。   As described above, there is a problem that even an arithmetic device to which the technique disclosed in Patent Document 1 is applied cannot necessarily reduce the number of accesses to the external memory.

本発明は、上記の課題認識に基づいてなされたものであり、複数のプロセッサが連携して処理を行う演算装置において、複数のプロセッサが演算処理に使用するデータが重複している場合に、外部メモリへのアクセス回数を減らすことができる演算装置を提供することを目的としている。   The present invention has been made based on the above problem recognition, and in an arithmetic device in which a plurality of processors perform processing in cooperation, when data used by the plurality of processors for arithmetic processing overlaps, An object of the present invention is to provide an arithmetic device capable of reducing the number of accesses to a memory.

上記の課題を解決するため、本発明の演算装置は、入力されたタスクに応じた演算処理を行う処理機能を有し、次に実行する演算処理に関する情報を前記タスクとして出力する複数の処理演算部と、それぞれの前記処理演算部が前記タスクに応じた演算処理を実行する際に使用するデータ、または前記タスクに応じた演算処理を実行した結果のデータを格納する複数のデータ記憶部と、前記タスクに応じた演算処理を実行する際に使用するデータを接続された外部記憶部から読み出して前記データ記憶部に格納することと、前記データ記憶部に格納されている前記タスクに応じた演算処理を実行する際に使用するデータ前記データ記憶部同士で転送することと、前記データ記憶部に格納されている前記タスクに応じた演算処理を実行した結果のデータを接続された前記外部記憶部に書き込むこととを行うためのメモリ制御部と、前記データ記憶部のそれぞれが格納しているデータの前記外部記憶部における記憶場所とデータ量を示す情報を保持するデータ転送情報テーブルと、前記タスクを順次格納するタスクキューを具備し、該タスクキューに格納された前記タスクを、複数の前記処理演算部の内、いずれか1つの前記処理演算部に出力すると共に、アクセス指示の対象となるタスクに応じた演算処理を実行する際に使用するデータの前記外部記憶部における記憶場所とデータ量を示す情報と、前記データ転送情報テーブルに保持された情報を参照して、前記外部記憶部または前記データ記憶部へのアクセスを前記メモリ制御部に指示する前記アクセス指示を出力するタスク制御部と、を備えることを特徴とする。 In order to solve the above problems, the arithmetic device of the present invention has a processing function for performing arithmetic processing according to an input task, and outputs a plurality of processing arithmetics as information about the arithmetic processing to be executed next as the task And a plurality of data storage units for storing data used when each processing operation unit executes an operation process corresponding to the task, or data obtained as a result of executing the operation process corresponding to the task, Reading out data to be used when performing arithmetic processing according to the task from a connected external storage unit and storing it in the data storage unit, and calculating according to the task stored in the data storage unit binding data for use in performing the process of executing the be transferred said data storage portions, the arithmetic processing corresponding to the tasks stored in the data storage unit A memory control unit for writing the data to the connected external storage unit, and information indicating a storage location and a data amount of the data stored in each of the data storage units in the external storage unit A data transfer information table to be held and a task queue for sequentially storing the tasks are output, and the tasks stored in the task queue are output to any one of the processing arithmetic units. In addition, information indicating the storage location and amount of data in the external storage unit of data used when executing arithmetic processing according to the task that is the target of the access instruction, and information held in the data transfer information table Referring to the task control that outputs the access instruction that instructs the memory control unit to access the external storage unit or the data storage unit. Characterized in that it comprises a part, a.

本発明によれば、複数のプロセッサが連携して処理を行う演算装置において、複数のプロセッサが演算処理に使用するデータが重複している場合に、外部メモリへのアクセス回数を減らすことができる演算装置を提供することができるという効果が得られる。   According to the present invention, in an arithmetic device that performs processing in cooperation with a plurality of processors, when the data that the plurality of processors use for arithmetic processing is duplicated, the arithmetic that can reduce the number of accesses to the external memory The effect that an apparatus can be provided is acquired.

本発明の実施形態における演算装置の概略構成の一例を示したブロック図である。It is the block diagram which showed an example of schematic structure of the arithmetic unit in embodiment of this invention. 本実施形態における演算装置に備えたデータ転送情報テーブルの一例を示した図である。It is the figure which showed an example of the data transfer information table with which the arithmetic unit in this embodiment was equipped. 本実施形態の演算装置に備えたタスク制御部の概略構成、およびタスク制御部の動作の一例を説明する図である。It is a figure explaining a schematic structure of the task control part with which the arithmetic unit of this embodiment was equipped, and an example of operation | movement of a task control part. 本実施形態の演算装置に備えたタスク制御部による第1の動作における処理手順を示したフローチャートである。It is the flowchart which showed the process sequence in 1st operation | movement by the task control part with which the arithmetic unit of this embodiment was equipped. 本実施形態の演算装置に備えたタスク制御部内のデータ転送情報テーブルを更新する動作の一例を説明する図である。It is a figure explaining an example of the operation | movement which updates the data transfer information table in the task control part with which the arithmetic unit of this embodiment was equipped. 本実施形態の演算装置に備えたメモリ制御部によるデータ転送のタイミングを示したタイミングチャートである。It is a timing chart which showed the timing of the data transfer by the memory control part with which the arithmetic unit of this embodiment was equipped. 本実施形態の演算装置に備えたタスク制御部の概略構成、およびタスク制御部の動作の一例を説明する図である。It is a figure explaining a schematic structure of the task control part with which the arithmetic unit of this embodiment was equipped, and an example of operation | movement of a task control part. 本実施形態の演算装置に備えたタスク制御部が、データ記憶部に格納されているデータを退避する処理手順を示したフローチャートである。It is the flowchart which showed the process sequence in which the task control part with which the arithmetic unit of this embodiment was equipped saves the data stored in the data storage part.

以下、本発明の実施形態について、図面を参照して説明する。図1は、本実施形態における演算装置の概略構成の一例を示したブロック図である。図1に示した演算装置10は、n個の処理演算部11a〜処理演算部11nと、タスク制御部12と、メモリ制御部13と、n個のデータ記憶部14a〜データ記憶部14nと、を備えている。また、演算装置10には、外部記憶部20が接続されている。演算装置10は、要求された演算処理を、処理演算部11a〜処理演算部11nのそれぞれで分担して行う、分散並列処理型の演算装置である。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram illustrating an example of a schematic configuration of the arithmetic device according to the present embodiment. The arithmetic device 10 shown in FIG. 1 includes n processing operation units 11a to 11n, a task control unit 12, a memory control unit 13, n data storage units 14a to 14n, It has. An external storage unit 20 is connected to the arithmetic device 10. The arithmetic device 10 is a distributed parallel processing type arithmetic device that performs the requested arithmetic processing by each of the processing arithmetic units 11a to 11n.

なお、以下の説明においては、処理演算部11a〜処理演算部11nのそれぞれを区別せずに表す場合には、「処理演算部11」という。また、データ記憶部14a〜データ記憶部14nのそれぞれを区別せずに表す場合には、「データ記憶部14」という。   In the following description, when each of the processing calculation unit 11a to the processing calculation unit 11n is expressed without being distinguished, it is referred to as a “processing calculation unit 11”. Further, when each of the data storage unit 14a to the data storage unit 14n is expressed without being distinguished, it is referred to as a “data storage unit 14”.

外部記憶部20は、処理演算部11a〜処理演算部11nのそれぞれで共有される、例えば、DRAM(Dynamic Random Access Memory)などのメモリである。外部記憶部20には、処理演算部11a〜処理演算部11nのそれぞれが起動するためのプログラムや、処理演算部11a〜処理演算部11nのそれぞれが演算処理を実行するために用いるデータが格納されている。また、外部記憶部20には、処理演算部11a〜処理演算部11nのそれぞれが演算処理の途中で生成したデータなどが、一時的に格納される。   The external storage unit 20 is a memory such as a DRAM (Dynamic Random Access Memory) that is shared by the processing calculation units 11a to 11n. The external storage unit 20 stores a program for starting each of the processing calculation unit 11a to the processing calculation unit 11n and data used by each of the processing calculation unit 11a to the processing calculation unit 11n to execute calculation processing. ing. Further, the external storage unit 20 temporarily stores data generated by each of the process calculation units 11a to 11n during the calculation process.

処理演算部11a〜処理演算部11nのそれぞれは、同じ処理機能を持ったプロセッサである。処理演算部11a〜処理演算部11nのそれぞれは、演算装置10に接続された外部記憶部20へのデータの書き込みや、外部記憶部20からのデータの読み出しを行いながら、タスク制御部12から入力された、演算装置10に対して要求された演算処理におけるそれぞれのタスクを実行する。   Each of the processing calculation unit 11a to the processing calculation unit 11n is a processor having the same processing function. Each of the processing calculation unit 11 a to the processing calculation unit 11 n is input from the task control unit 12 while writing data to the external storage unit 20 connected to the calculation device 10 or reading data from the external storage unit 20. The respective tasks in the arithmetic processing requested to the arithmetic device 10 are executed.

また、処理演算部11a〜処理演算部11nのそれぞれは、自身がタスクを実行した後に引き続き別の処理演算部11または自身に、次のタスクを実行させるための情報や、次に実行するタスクの内容を表す情報を、次のタスクの実行要求として、タスク制御部12に出力する。ここで、処理演算部11がタスク制御部12に出力する次のタスクの実行要求の情報には、タスクを実行する際に使用するデータが保持されている外部記憶部20の先頭アドレスを指定する情報が含まれている。また、処理演算部11がタスク制御部12に出力する次のタスクの実行要求の情報には、次のタスクの実行に必要な様々なパラメータのデータが含まれている。なお、以下の説明においては、処理演算部11がタスク制御部12に出力する、次のタスクの実行要求も、タスクという。   In addition, each of the processing calculation units 11a to 11n executes information on information to cause another processing calculation unit 11 or itself to execute the next task after the execution of the task or a task to be executed next. Information representing the contents is output to the task control unit 12 as an execution request for the next task. Here, the next task execution request information output from the processing operation unit 11 to the task control unit 12 specifies the start address of the external storage unit 20 that holds data used when executing the task. Contains information. Further, the next task execution request information output from the processing operation unit 11 to the task control unit 12 includes data of various parameters necessary for execution of the next task. In the following description, an execution request for the next task output from the processing calculation unit 11 to the task control unit 12 is also referred to as a task.

また、処理演算部11a〜処理演算部11nのそれぞれは、タスク制御部12から入力された、別の処理演算部11または自身が前回のタスクを実行した結果である、次のタスクを実行する。なお、処理演算部11a〜処理演算部11nのそれぞれは、さらに別の処理演算部11または自身が引き続き実行するタスクがある場合には、引き続き別の処理演算部11または自身に、次のタスクを実行させるための情報や、次に実行するタスクの内容を表す情報を、次のタスクとして再度、タスク制御部12に出力する。   In addition, each of the processing calculation unit 11a to the processing calculation unit 11n executes the next task, which is the result of the previous processing being executed by another processing calculation unit 11 or itself input from the task control unit 12. In addition, each of the processing calculation unit 11a to the processing calculation unit 11n, when there is a task to be continuously executed by another processing calculation unit 11 or itself, continues the next task to another processing calculation unit 11 or itself. Information for execution and information indicating the content of the task to be executed next are output again to the task control unit 12 as the next task.

また、処理演算部11a〜処理演算部11nのそれぞれは、次のタスクを受け付けられる状態であるか否かを表す信号を、タスク制御部12に出力する。処理演算部11a〜処理演算部11nのそれぞれは、今回実行しているタスクの処理が完了し、次のタスクを実行する準備が整ったときに、次に実行するタスクを受け付けられる状態であることを表す信号を、タスク制御部12に出力する。   In addition, each of the processing calculation unit 11a to the processing calculation unit 11n outputs a signal indicating whether or not the next task can be received to the task control unit 12. Each of the processing arithmetic unit 11a to the processing arithmetic unit 11n is in a state in which a task to be executed next can be accepted when processing of the task being executed this time is completed and preparation for executing the next task is completed. Is output to the task control unit 12.

タスク制御部12は、処理演算部11a〜処理演算部11nのそれぞれから入力されたそれぞれのタスクを受け付け、処理演算部11a〜処理演算部11nのそれぞれから入力された、次のタスクを受け付けられる状態であるか否かを表す信号に基づいて、受け付けたタスクを、処理演算部11a〜処理演算部11nのいずれか1つに割り当てる。   The task control unit 12 receives each task input from each of the processing calculation unit 11a to the processing calculation unit 11n, and can receive the next task input from each of the processing calculation unit 11a to the processing calculation unit 11n. Based on the signal indicating whether or not, the received task is assigned to any one of the processing calculation units 11a to 11n.

より具体的には、タスク制御部12は、処理演算部11a〜処理演算部11nのそれぞれから入力されたそれぞれのタスクに基づいて、次のタスクを受け付けられる状態であることを表す信号を入力している処理演算部11の中から、次のタスクを実行させる、いずれか1つ処理演算部11を選択する。そして、タスク制御部12は、選択したいずれか1つの処理演算部11にタスクを出力することによって、演算装置10に対して要求された演算処理におけるそれぞれのタスクを、処理演算部11a〜処理演算部11nのそれぞれに分配する。   More specifically, the task control unit 12 inputs a signal indicating that the next task can be accepted based on each task input from each of the processing calculation units 11a to 11n. One of the processing calculation units 11 that executes the next task is selected from the processing calculation units 11 that are present. Then, the task control unit 12 outputs the task to any one of the selected processing calculation units 11, thereby processing each task in the calculation processing requested to the calculation device 10 from the processing calculation unit 11 a to the processing calculation. It distributes to each of the parts 11n.

タスク制御部12は、処理演算部11a〜処理演算部11nのそれぞれからのタスクを受け付けるための構成として、タスクキュー121を備えている。タスクキュー121は、入力されたタスクを格納する待ち行列のメモリである。タスクキュー121には、処理演算部11a〜処理演算部11nのそれぞれから入力されたそれぞれのタスクが、入力された順番で順次格納される。タスクキュー121に格納されたそれぞれのタスクは、基本的に、格納された順番で出力されるが、演算装置10では、タスク制御部12が、タスクキュー121に格納されたタスクを出力する処理演算部11や、タスクの出力順番を制御する。   The task control unit 12 includes a task queue 121 as a configuration for receiving tasks from each of the processing calculation units 11a to 11n. The task queue 121 is a queue memory for storing input tasks. In the task queue 121, the respective tasks input from each of the processing calculation units 11a to 11n are sequentially stored in the input order. Each task stored in the task queue 121 is basically output in the order of storage, but in the arithmetic device 10, the task control unit 12 outputs a processing operation that outputs the task stored in the task queue 121. The output order of the unit 11 and tasks is controlled.

また、タスク制御部12は、タスクキュー121に格納されたそれぞれのタスクを実行するタイミングに基づいて、外部記憶部20にアクセスするための指示(以下、「アクセス指示」という)を、メモリ制御部13に出力する。例えば、タスク制御部12は、DMA(Direct Memory Access)によって外部記憶部20へのデータの書き込み、および外部記憶部20からのデータの読み出しを行うアクセス指示を、メモリ制御部13に出力する。   Further, the task control unit 12 sends an instruction (hereinafter referred to as “access instruction”) for accessing the external storage unit 20 based on the timing of executing each task stored in the task queue 121 to the memory control unit. 13 is output. For example, the task control unit 12 outputs, to the memory control unit 13, an access instruction for writing data to the external storage unit 20 and reading data from the external storage unit 20 by DMA (Direct Memory Access).

より具体的には、タスク制御部12は、タスクキュー121に順次格納されたそれぞれのタスクに基づいて、タスクを実行する際に使用する外部記憶部20に格納されているデータを、このタスクが割り当てられた処理演算部11が実際にタスクを実行するタイミングまでに、事前に取得する(読み出す)ためのDMAのアクセス指示を、メモリ制御部13に出力する。また、タスク制御部12は、タスクキュー121に順次格納されたそれぞれのタスクに基づいて、それぞれの処理演算部11が割り当てられたタスクを実行する際に使用しないデータを、事前に外部記憶部20に退避する(書き込む)ためのDMAのアクセス指示を、メモリ制御部13に出力する。ここで、タスク制御部12がメモリ制御部13に出力するアクセス指示には、外部記憶部20のアドレスや、読み出しまたは書き込みを行うデータの量(大きさ)などを表す情報が含まれている。   More specifically, the task control unit 12 uses this task to store data stored in the external storage unit 20 used when executing a task based on each task sequentially stored in the task queue 121. A DMA access instruction to be acquired (read) in advance is output to the memory control unit 13 by the time when the assigned processing operation unit 11 actually executes the task. Also, the task control unit 12 preliminarily stores data that is not used when executing the tasks assigned to the respective processing calculation units 11 based on the respective tasks sequentially stored in the task queue 121. A DMA access instruction for saving (writing) is output to the memory control unit 13. Here, the access instruction output from the task control unit 12 to the memory control unit 13 includes information indicating the address of the external storage unit 20 and the amount (size) of data to be read or written.

なお、アクセス指示に含まれる外部記憶部20のアドレスや、読み出しまたは書き込みを行うデータの量は、データ転送情報テーブル122を参照して決定される。演算装置10では、外部記憶部20に書き込まれるデータや、外部記憶部20から読み出されたデータは、一旦、データ記憶部14に格納される。そして、処理演算部11a〜処理演算部11nのそれぞれが実行しているタスクにおいて、外部記憶部20へのアクセスが行われた際には、アクセスする外部記憶部20のアドレスに対応したデータ記憶部14へのアクセスがされる。このときに外部記憶部20内にタスクを実行する際に使用するデータが格納されている場所(記憶場所)を示す外部記憶部20のアドレスとデータ記憶部14とを対応付け、さらに読み出しまたは書き込みを行うデータの量を対応付ける情報を保持しているのが、データ転送情報テーブル122である。   Note that the address of the external storage unit 20 included in the access instruction and the amount of data to be read or written are determined with reference to the data transfer information table 122. In the arithmetic device 10, data written to the external storage unit 20 and data read from the external storage unit 20 are temporarily stored in the data storage unit 14. When the external storage unit 20 is accessed in a task executed by each of the processing calculation units 11a to 11n, a data storage unit corresponding to the address of the external storage unit 20 to be accessed 14 is accessed. At this time, the address of the external storage unit 20 indicating the location (storage location) where the data used when executing the task is stored in the external storage unit 20 is associated with the data storage unit 14, and further read or write The data transfer information table 122 holds information that associates the amount of data to be executed.

ここで、データ転送情報テーブル122の一例について説明する。図2は、本実施形態における演算装置10に備えたデータ転送情報テーブル122の一例を示した図である。図2に示したデータ転送情報テーブル122の一例では、それぞれのテーブル番号毎に、外部記憶部20の先頭アドレス、データ量、データ記憶部14の基準のアドレス(ベースアドレス)の情報が保持されている場合を示している。   Here, an example of the data transfer information table 122 will be described. FIG. 2 is a diagram illustrating an example of the data transfer information table 122 provided in the arithmetic device 10 according to the present embodiment. In the example of the data transfer information table 122 shown in FIG. 2, information of the start address of the external storage unit 20, the data amount, and the reference address (base address) of the data storage unit 14 is held for each table number. Shows the case.

このデータ転送情報テーブル122の情報から、それぞれのデータ記憶部14毎に、データ記憶部14に格納されている外部記憶部20のデータの範囲を特定することができる。より具体的には、図2に示した一例では、データ記憶部14aには、外部記憶部20の先頭アドレス0x1000からデータ量0x280のデータが格納され、データ記憶部14bには、外部記憶部20の先頭アドレス0x1280からデータ量0x280のデータが格納され、データ記憶部14nには、データが格納されていないことがわかる。   From the information in the data transfer information table 122, the data range of the external storage unit 20 stored in the data storage unit 14 can be specified for each data storage unit 14. More specifically, in the example shown in FIG. 2, the data storage unit 14a stores data having a data amount of 0x280 from the start address 0x1000 of the external storage unit 20, and the data storage unit 14b stores the external storage unit 20 It can be seen that data having a data amount of 0x280 is stored from the top address 0x1280 of the data, and no data is stored in the data storage unit 14n.

なお、タスクを実行する処理演算部11a〜処理演算部11nのそれぞれは、外部記憶部20へのデータの書き込みや、外部記憶部20からのデータの読み出しを行う際に、対応するデータ記憶部14を意識していない。演算装置10では、それぞれのタスクを実行する際に、処理演算部11が外部記憶部20に直接アクセスする動作を行うが、この動作に応じて実際にアクセスされるのはデータ記憶部14である。つまり、処理演算部11が外部記憶部20にデータを書き込むアクセスを行うと、書き込み先の外部記憶部20の先頭アドレスに対応したデータ記憶部14にデータが書き込まれ(格納され)、処理演算部11が外部記憶部20からデータを読み出すアクセスを行うと、読み出し元の外部記憶部20のアドレスに対応したデータ記憶部14から、事前に格納されているデータが読み出される。   Each of the processing operation units 11a to 11n that execute a task performs data writing to the external storage unit 20 or reading data from the external storage unit 20 when the data storage unit 14 corresponds. Not conscious of. In the arithmetic device 10, when executing each task, the processing arithmetic unit 11 performs an operation of directly accessing the external storage unit 20, and the data storage unit 14 is actually accessed according to this operation. That is, when the processing operation unit 11 accesses to write data to the external storage unit 20, the data is written (stored) in the data storage unit 14 corresponding to the start address of the external storage unit 20 that is the write destination, and the processing operation unit When 11 performs access to read data from the external storage unit 20, data stored in advance is read from the data storage unit 14 corresponding to the address of the external storage unit 20 that is the read source.

また、タスク制御部12は、次のタスクを実行する処理演算部11が使用する外部記憶部20のデータが、外部記憶部20の同じ記憶領域のデータである場合、すなわち、次のタスクを実行する処理演算部11が使用するデータが、以前のタスクを実行した他の処理演算部11が使用したデータと重複している場合には、重複しているデータを対応するデータ記憶部14同士で転送またはコピーするためのアクセス指示を、メモリ制御部13に出力する。これは、例えば、画像処理における畳み込み演算処理のように、演算処理に使用するデータ(画像データ)が重複している領域、いわゆる、糊代領域のデータを、再び外部記憶部20から読み出すことによって、外部記憶部20へのアクセス回数を増やさないようにするために行うアクセス指示である。   Further, the task control unit 12 executes the next task when the data in the external storage unit 20 used by the processing calculation unit 11 that executes the next task is data in the same storage area of the external storage unit 20 When the data used by the processing calculation unit 11 to be duplicated with the data used by another processing calculation unit 11 that has executed the previous task, the overlapping data is stored in the corresponding data storage units 14. An access instruction for transferring or copying is output to the memory control unit 13. This is because, for example, by reading out from the external storage unit 20 the area where the data (image data) used for the calculation process overlaps, that is, the data of the margin area, like the convolution calculation process in the image process. This is an access instruction to prevent the number of accesses to the external storage unit 20 from increasing.

このときのアクセス指示においても、重複しているデータを格納しているデータ記憶部14や、データ記憶部14から読み出して別のデータ記憶部14に書き込みを行うデータの量は、データ転送情報テーブル122を参照して決定される。なお、以下の説明においては、重複しているデータを対応するデータ記憶部14同士でコピーするものとして説明する。   Also in the access instruction at this time, the amount of data read from the data storage unit 14 storing the duplicated data or written to another data storage unit 14 is written in the data transfer information table. 122 is determined. In the following description, it is assumed that duplicate data is copied between the corresponding data storage units 14.

より具体的には、タスク制御部12は、データ転送情報テーブル122の情報に基づいて、それぞれのデータ記憶部14に格納しているデータに対応した外部記憶部20のアドレスとデータの量とを確認し、次のタスクを実行する処理演算部11が使用する外部記憶部20のデータが、すでにデータ記憶部14のいずれかに格納されているか否かを判定する。そして、次のタスクを実行する処理演算部11が使用する外部記憶部20のデータがすでにデータ記憶部14のいずれかに格納されている場合には、他の処理演算部11が以前のタスクを実行するためにすでにデータを格納しているデータ記憶部14から、次のタスクを実行する処理演算部11に対応するデータ記憶部14に、重複しているデータをコピーするためのアクセス指示を、メモリ制御部13に出力する。また、次のタスクを実行する処理演算部11が使用する外部記憶部20のデータがいずれのデータ記憶部14にも格納されていない場合には、外部記憶部20からデータを読み出して、次のタスクを実行する処理演算部11に対応するデータ記憶部14に格納するためのアクセス指示を、メモリ制御部13に出力する。   More specifically, the task control unit 12 determines the address of the external storage unit 20 corresponding to the data stored in each data storage unit 14 and the amount of data based on the information in the data transfer information table 122. It is determined whether or not the data in the external storage unit 20 used by the processing calculation unit 11 that executes the next task is already stored in any of the data storage units 14. When the data of the external storage unit 20 used by the processing calculation unit 11 that executes the next task is already stored in any of the data storage units 14, the other processing calculation unit 11 An access instruction for copying duplicate data from the data storage unit 14 that has already stored data for execution to the data storage unit 14 corresponding to the processing operation unit 11 that executes the next task, Output to the memory control unit 13. In addition, when the data of the external storage unit 20 used by the processing calculation unit 11 that executes the next task is not stored in any of the data storage units 14, the data is read from the external storage unit 20 and the next An access instruction to be stored in the data storage unit 14 corresponding to the processing calculation unit 11 that executes the task is output to the memory control unit 13.

なお、データ記憶部14同士でコピーするデータが、コピー元のデータ記憶部14に格納されている全てのデータではない、すなわち、重複しているデータがコピー元のデータ記憶部14に格納されているデータの一部である場合には、一部のデータのみをコピーすることもできる。この場合、処理演算部11が次のタスクを実行する際に使用する不足分のデータは、外部記憶部20からデータを読み出して格納することになる。その際、タスク制御部12は、不足分のデータを外部記憶部20からデータを読み出して、次のタスクを実行する処理演算部11に対応するデータ記憶部14に格納するためのアクセス指示を、メモリ制御部13に出力する。   Note that the data to be copied between the data storage units 14 is not all the data stored in the copy source data storage unit 14, that is, duplicate data is stored in the copy source data storage unit 14. If it is a part of the stored data, only a part of the data can be copied. In this case, the deficient data used when the processing operation unit 11 executes the next task reads the data from the external storage unit 20 and stores it. At that time, the task control unit 12 reads out the deficient data from the external storage unit 20 and stores an access instruction for storing it in the data storage unit 14 corresponding to the processing calculation unit 11 that executes the next task. Output to the memory control unit 13.

例えば、データ記憶部14nに対応した処理演算部11が使用する外部記憶部20のデータが、外部記憶部20の先頭アドレス0x13C0からデータ量0x280のデータである場合、図2に示したデータ転送情報テーブル122では、外部記憶部20の先頭アドレス0x13C0からデータ量0x140のデータが、すでにデータ記憶部14bに格納されていることがわかる。この場合、タスク制御部12は、データ記憶部14bに格納されている外部記憶部20の先頭アドレス0x13C0からデータ量0x140のデータをデータ記憶部14nにコピーするためのアクセス指示と、外部記憶部20のアドレス0x1500からデータ量0x140のデータを外部記憶部20からデータを読み出してデータ記憶部14nに格納するためのアクセス指示とを、メモリ制御部13に出力する。   For example, when the data in the external storage unit 20 used by the processing operation unit 11 corresponding to the data storage unit 14n is data having a data amount of 0x280 from the start address 0x13C0 of the external storage unit 20, the data transfer information shown in FIG. In the table 122, it can be seen that data of the data amount 0x140 from the start address 0x13C0 of the external storage unit 20 is already stored in the data storage unit 14b. In this case, the task control unit 12 includes an access instruction for copying the data of the data amount 0x140 from the start address 0x13C0 of the external storage unit 20 stored in the data storage unit 14b to the data storage unit 14n, and the external storage unit 20 The memory controller 13 outputs an access instruction for reading data from the external storage unit 20 and storing it in the data storage unit 14n from the address 0x1500 of the data amount 0x140.

なお、一部のデータのみをデータ記憶部14同士でコピーする場合には、コピー元のデータ記憶部14に格納されているデータの順番を変更せずにそのままコピーしてもよいし、コピー元のデータ記憶部14に格納されているデータの順番を変更してコピーしてもよい。例えば、一部のデータが、コピー元のデータ記憶部14に格納されている後半のデータであり、次のタスクを実行する際の前半のデータとして使用される場合を考える。この場合、コピー元のデータ記憶部14に格納されているデータの順番を変更してコピーした場合には、次のタスクを実行する処理演算部11に対応したデータ記憶部14は、格納されている順番でデータを出力すればよい。しかし、コピー元のデータ記憶部14に格納されているデータの順番を変更せずにそのままコピーした場合には、次のタスクを実行する処理演算部11に対応したデータ記憶部14は、最初に後半のデータ(コピーしたデータ)を出力し、その後、前半のデータ(外部記憶部20から読み出したデータ)を出力することになる。このとき、データ記憶部14に格納されているデータを対応する処理演算部11に出力する順番の制御は、
例えば、メモリ制御部13内に、要求されたデータのアドレスから出力するデータのアドレスに変換するアドレス変換部などを備え、このアドレス変換部が、データの出力順番を制御する構成であってもよい。また、メモリ制御部13内に、データの出力順番を制御する制御部を備え、この制御部が、データの出力順番の制御を行う構成であってもよい。また、タスク制御部12がデータ転送情報テーブル122の情報に基づいて制御する構成であってもよい。この場合には、データ転送情報テーブル122に、例えば、最初に出力するデータを表す先頭アドレスの情報を保持し、この先頭アドレスの情報に基づいてデータの出力順番を制御する構成であってもよい。
When only a part of the data is copied between the data storage units 14, the data may be copied as it is without changing the order of the data stored in the copy source data storage unit 14. The order of data stored in the data storage unit 14 may be changed and copied. For example, consider a case in which a part of the data is the latter half of data stored in the copy source data storage unit 14 and is used as the first half of data when the next task is executed. In this case, when the order of data stored in the copy source data storage unit 14 is changed and copied, the data storage unit 14 corresponding to the processing operation unit 11 that executes the next task is stored. Data may be output in the order in which they are stored. However, when the data stored in the copy source data storage unit 14 is copied without changing the order of the data, the data storage unit 14 corresponding to the processing operation unit 11 that executes the next task first The latter half data (copied data) is output, and then the first half data (data read from the external storage unit 20) is output. At this time, the control of the order of outputting the data stored in the data storage unit 14 to the corresponding processing operation unit 11 is as follows:
For example, the memory control unit 13 may include an address conversion unit that converts a requested data address to an output data address, and the address conversion unit controls the data output order. . The memory control unit 13 may include a control unit that controls the data output order, and the control unit may control the data output order. Moreover, the structure which the task control part 12 controls based on the information of the data transfer information table 122 may be sufficient. In this case, the data transfer information table 122 may hold, for example, information on the head address representing the data to be output first, and control the data output order based on the information on the head address. .

また、例えば、一部のデータが、コピー元のデータ記憶部14に格納されている前半のデータであり、次のタスクを実行する際の後半のデータとして使用される場合を考える。この場合にも、コピー元のデータ記憶部14に格納されているデータの順番を変更してコピーした場合には、次のタスクを実行する処理演算部11に対応したデータ記憶部14は、格納されている順番でデータを出力すればよいが、コピー元のデータ記憶部14に格納されているデータの順番を変更せずにそのままコピーした場合には、データの出力順番を制御する必要がある。より具体的には、次のタスクを実行する処理演算部11に対応したデータ記憶部14は、最初に後半のデータ(外部記憶部20から読み出したデータ)を出力し、その後、前半のデータ(コピーしたデータ)を出力することになる。このときにも、データ記憶部14に格納されているデータを対応する処理演算部11に出力する順番の制御を、例えば、メモリ制御部13に備えたアドレス変換部や制御部が行う構成であってもよいし、タスク制御部12がデータ転送情報テーブル122の情報に基づいて制御する構成であってもよい。   Further, for example, a case is considered in which a part of data is the first half data stored in the copy source data storage unit 14 and is used as the second half data when the next task is executed. Also in this case, when the data stored in the copy source data storage unit 14 is changed in order and copied, the data storage unit 14 corresponding to the processing operation unit 11 that executes the next task is stored. The data may be output in the order in which the data is stored. However, if the data is copied as it is without changing the order of the data stored in the copy source data storage unit 14, the data output order must be controlled. . More specifically, the data storage unit 14 corresponding to the processing operation unit 11 that executes the next task first outputs the latter half data (data read from the external storage unit 20), and then the first half data ( The copied data) will be output. Also at this time, the order of outputting the data stored in the data storage unit 14 to the corresponding processing operation unit 11 is controlled by, for example, the address conversion unit or the control unit provided in the memory control unit 13. Alternatively, the task control unit 12 may be configured to control based on the information in the data transfer information table 122.

なお、コピー元のデータ記憶部14に格納されているデータの順番を変更してコピーする場合にも、例えば、メモリ制御部13に備えたアドレス変換部や制御部がコピーする順番を制御する構成であってもよいし、タスク制御部12がデータ転送情報テーブル122の情報に基づいて制御する構成であってもよい。   Note that, in the case of copying by changing the order of data stored in the copy source data storage unit 14, for example, a configuration for controlling the order of copying by the address conversion unit and the control unit provided in the memory control unit 13. Alternatively, the task control unit 12 may be configured to control based on information in the data transfer information table 122.

なお、タスク制御部12によるタスクを出力する処理演算部11やタスクの出力順番の制御方法、およびメモリ制御部13に出力する外部記憶部20へのアクセス指示に関する詳細な説明は、後述する。   A detailed description of the processing operation unit 11 that outputs tasks by the task control unit 12, a method for controlling the output order of tasks, and an instruction to access the external storage unit 20 that is output to the memory control unit 13 will be described later.

メモリ制御部13は、タスク制御部12から入力されたアクセス指示に応じて、演算装置10に接続された外部記憶部20からのデータの読み出しや、外部記憶部20へのデータの書き込みを行う。   The memory control unit 13 reads data from the external storage unit 20 connected to the arithmetic device 10 and writes data to the external storage unit 20 according to the access instruction input from the task control unit 12.

より具体的には、メモリ制御部13は、タスク制御部12から入力された、外部記憶部20に格納されているデータを事前に取得する(読み出す)ためのアクセス指示に応じて、アクセス指示によって指定された外部記憶部20のアドレスから、アクセス指示によって指定された量のデータを読み出し、読み出したデータを、アクセス指示によって指定されたデータ記憶部14に格納する。メモリ制御部13は、タスク制御部12から入力された、データを外部記憶部20に退避する(書き込む)ためのアクセス指示に応じて、アクセス指示によって指定されたデータ記憶部14に格納されているデータを読み出し、読み出したデータを、アクセス指示によって指定された外部記憶部20のアドレスの記憶領域に書き込む。   More specifically, the memory control unit 13 responds to the access instruction in accordance with the access instruction input from the task control unit 12 to obtain (read) data stored in the external storage unit 20 in advance. The amount of data designated by the access instruction is read from the address of the designated external storage unit 20, and the read data is stored in the data storage unit 14 designated by the access instruction. The memory control unit 13 is stored in the data storage unit 14 specified by the access instruction according to the access instruction input from the task control unit 12 to save (write) data to the external storage unit 20. The data is read, and the read data is written to the storage area at the address of the external storage unit 20 specified by the access instruction.

また、メモリ制御部13は、タスク制御部12から入力されたアクセス指示に応じて、処理演算部11a〜処理演算部11nのそれぞれから入力された次のタスクの実行要求の情報に含まれる、タスクの実行に必要な様々なパラメータのデータを、データ記憶部14に格納、または外部記憶部20に退避する。   In addition, the memory control unit 13 responds to the access instruction input from the task control unit 12, and includes a task included in the next task execution request information input from each of the process calculation units 11a to 11n. The data of various parameters necessary for the execution is stored in the data storage unit 14 or saved in the external storage unit 20.

より具体的には、メモリ制御部13は、タスク制御部12から入力された、パラメータのデータを格納する(書き込む)ためのアクセス指示に応じて、アクセス指示によって指定されたデータ記憶部14a〜データ記憶部14nのいずれかに、アクセス指示によって指定されたパラメータのデータを格納する。メモリ制御部13は、タスク制御部12から入力された、パラメータのデータを外部記憶部20に退避する(書き込む)ためのアクセス指示に応じて、アクセス指示によって指定されたパラメータのデータを、アクセス指示によって指定された外部記憶部20のアドレスの記憶領域に書き込む。ここで外部記憶部20に退避されたパラメータのデータは、タスク制御部12から必要に応じて入力されるパラメータのデータを読み出すためのアクセス指示に応じて、外部記憶部20から読み出され、アクセス指示によって指定されたデータ記憶部14に再び格納される。   More specifically, the memory control unit 13 receives the data storage unit 14a to the data specified by the access instruction according to the access instruction for storing (writing) the parameter data input from the task control unit 12. The parameter data designated by the access instruction is stored in any of the storage units 14n. The memory control unit 13 receives the parameter data specified by the access instruction according to the access instruction input from the task control unit 12 to save (write) the parameter data to the external storage unit 20. Is written in the storage area of the address of the external storage unit 20 designated by Here, the parameter data saved in the external storage unit 20 is read out from the external storage unit 20 in response to an access instruction for reading out parameter data input from the task control unit 12 as necessary. The data is again stored in the data storage unit 14 designated by the instruction.

データ記憶部14a〜データ記憶部14nのそれぞれは、処理演算部11a〜処理演算部11nのそれぞれに対応し、対応する処理演算部11がタスクを実行する際に使用するデータや、次のタスクを実行する際に使用するデータ(例えば、現在のタスクを実行した結果のデータ)を格納する、例えば、SRAM(Static Random Access Memory)などのメモリ、いわゆる、キャッシュメモリである。   Each of the data storage unit 14a to the data storage unit 14n corresponds to each of the processing calculation unit 11a to the processing calculation unit 11n, and stores data used when the corresponding processing calculation unit 11 executes a task, and the next task. It is a so-called cache memory, for example, a memory such as SRAM (Static Random Access Memory) that stores data used for execution (for example, data as a result of executing the current task).

なお、図1では、演算装置10内に、処理演算部11のそれぞれに対応したn個のデータ記憶部14を備えた構成を示しているが、データ記憶部14の構成は、本実施形態の構成のみに限定されるものではない。例えば、演算装置内に1つのデータ記憶部を備え、このデータ記憶部の記憶領域を、処理演算部11のそれぞれに対応する数に分割した構成であっても、同様に考えることができる。ただし、複数の処理演算部11が同時にデータ記憶部の別の領域に対してデータの書き込みや読み出しを行うことを考慮すると、データ記憶部は、図1に示したように、処理演算部11のそれぞれに対応した構成であることが望ましいと考えられる。   1 shows a configuration in which the n data storage units 14 corresponding to each of the processing calculation units 11 are provided in the calculation device 10, the configuration of the data storage unit 14 is the same as that of the present embodiment. It is not limited only to the configuration. For example, the same configuration can be applied to a configuration in which a single data storage unit is provided in the arithmetic device, and the storage area of the data storage unit is divided into numbers corresponding to the respective processing arithmetic units 11. However, considering that the plurality of processing operation units 11 simultaneously write and read data to other areas of the data storage unit, the data storage unit is configured as shown in FIG. It is considered desirable to have a configuration corresponding to each.

しかし、データ記憶部14のそれぞれを、演算装置内に備えた1つのデータ記憶部の記憶領域を分割した構成である場合には、次のタスクを実行する処理演算部11が使用するデータが、以前のタスクを実行した他の処理演算部11が使用したデータと重複しているときに、重複しているデータを対応するデータ記憶部14同士でコピーするためのアクセス指示を、メモリ制御部13に出力する必要がなくなる。そして、次のタスクを実行する処理演算部11が使用するデータを出力する順番の制御が必要になる可能性も少なくなると考えられる。   However, if each of the data storage units 14 has a configuration in which the storage area of one data storage unit provided in the arithmetic device is divided, the data used by the processing arithmetic unit 11 that executes the next task is: When there is duplication with data used by another processing operation unit 11 that has executed the previous task, the memory control unit 13 issues an access instruction for copying the duplicated data between the corresponding data storage units 14. No need to output to And it is thought that possibility that the control of the order which outputs the data which the process calculating part 11 which performs the next task uses will be needed will decrease.

このように、演算装置10では、いずれの処理演算部11から出力されたタスクも、タスク制御部12を経由してから、次のタスクを実行する処理演算部11に入力される。そして、演算装置10では、次のタスクが割り当てられた処理演算部11が、外部記憶部20に格納されているデータを使用するタイミングよりも早いタイミングで、タスクを実行する際に使用するデータを、事前にデータ記憶部14に格納しておく。また、演算装置10では、処理演算部11がタスクを実行する際にデータを使用しない場合には、対応するデータ記憶部14に格納されたデータを、外部記憶部20に退避しておく。   As described above, in the arithmetic device 10, the task output from any of the processing arithmetic units 11 is input to the processing arithmetic unit 11 that executes the next task after passing through the task control unit 12. In the arithmetic device 10, the processing arithmetic unit 11 to which the next task is assigned receives data used when executing the task at a timing earlier than the timing of using the data stored in the external storage unit 20. The data is stored in advance in the data storage unit 14. Further, in the arithmetic device 10, when data is not used when the processing arithmetic unit 11 executes a task, the data stored in the corresponding data storage unit 14 is saved in the external storage unit 20.

また、演算装置10では、処理演算部11が演算処理する際に使用するデータが、すでにデータ記憶部14のいずれかに格納されている場合には、そのデータを再び外部記憶部20から読み出すのではなく、データ記憶部14同士でコピーを行うことによって、外部記憶部20へのアクセス回数を増やさないようにする。   In addition, in the arithmetic device 10, when data used when the processing arithmetic unit 11 performs arithmetic processing is already stored in any of the data storage units 14, the data is read from the external storage unit 20 again. Instead, the number of accesses to the external storage unit 20 is not increased by copying between the data storage units 14.

<第1の動作>
次に、演算装置10の動作について説明する。まず、演算装置10の動作において、タスク制御部12が、タスクキュー121に格納されたそれぞれのタスクを実行する際に使用する外部記憶部20のデータのデータ記憶部14への格納状況を確認し、データ記憶部14に格納されていないデータを、DMAによって外部記憶部20から取得する(読み出す)ためのアクセス指示(以下「DMAアクセス指示」という)を、メモリ制御部13に出力する第1の動作について説明する。図3は、本実施形態の演算装置10に備えたタスク制御部12の概略構成、およびタスク制御部12の動作の一例を説明する図である。
<First operation>
Next, the operation of the arithmetic unit 10 will be described. First, in the operation of the arithmetic unit 10, the task control unit 12 checks the storage status of the data in the external storage unit 20 used when executing each task stored in the task queue 121 in the data storage unit 14. First, an access instruction (hereinafter referred to as “DMA access instruction”) for acquiring (reading) data not stored in the data storage unit 14 from the external storage unit 20 by DMA is output to the memory control unit 13. The operation will be described. FIG. 3 is a diagram illustrating an example of a schematic configuration of the task control unit 12 and an operation of the task control unit 12 included in the arithmetic device 10 according to the present embodiment.

上述したように、タスク制御部12は、DMAによって外部記憶部20にアクセスするためのDMAアクセス指示を、メモリ制御部13に出力する。このため、タスク制御部12には、図3に示したように、タスクキュー121およびデータ転送情報テーブル122に加えて、DMAリクエスト発生部123を備えている。DMAリクエスト発生部123は、タスクキュー121に順次格納されたそれぞれのタスクに基づいて決定されたタイミングのときに、DMAアクセス指示をメモリ制御部13に出力する。   As described above, the task control unit 12 outputs a DMA access instruction for accessing the external storage unit 20 by DMA to the memory control unit 13. Therefore, the task control unit 12 includes a DMA request generation unit 123 in addition to the task queue 121 and the data transfer information table 122, as shown in FIG. The DMA request generation unit 123 outputs a DMA access instruction to the memory control unit 13 at a timing determined based on each task sequentially stored in the task queue 121.

また、図3には、タスク制御部12に備えたタスクキュー121のそれぞれにタスクが格納されている状態を示している。なお、図3においてタスクキュー121内に示したタスク番号は、タスクキュー121にそれぞれのタスクが格納された順番を表し、併せて、それぞれのタスクを実行する際に使用する外部記憶部20の先頭アドレスを示している。図3においては、タスク0は外部記憶部20の先頭アドレス0x1000から格納されたデータを使用するタスクであることを示し、タスク1は外部記憶部20の先頭アドレス0x1280から格納されたデータを使用するタスクであることを示し、タスク2は外部記憶部20の先頭アドレス0x1500から格納されたデータを使用するタスクであることを示している。   FIG. 3 shows a state in which tasks are stored in each of the task queues 121 provided in the task control unit 12. Note that the task numbers shown in the task queue 121 in FIG. 3 indicate the order in which the tasks are stored in the task queue 121, and at the same time, the head of the external storage unit 20 used when executing each task. Indicates an address. In FIG. 3, task 0 indicates that the task uses data stored from the start address 0x1000 of the external storage unit 20, and task 1 uses data stored from the start address 0x1280 of the external storage unit 20. This indicates that the task is a task, and task 2 indicates that the task uses data stored from the start address 0x1500 of the external storage unit 20.

また、図3には、タスク制御部12に備えたデータ転送情報テーブル122に保持している情報を示している。図3に示したデータ転送情報テーブル122内に示した“#(シャープ)”に続く数字は、データ転送情報テーブル122に対応付けられているデータ記憶部14を識別するためのテーブル番号を表し、外部記憶部20の先頭アドレスは、テーブル番号で表されるデータ記憶部14に格納されているデータに対応する外部記憶部20の先頭アドレスを示している。図3においては、テーブル番号#0で表されるデータ記憶部14には、外部記憶部20の先頭アドレス0x1000から格納されたデータが格納されていることを示し、テーブル番号#1およびテーブル番号#2で表されるデータ記憶部14には、外部記憶部20のデータが格納されていないことを示している。   FIG. 3 shows information held in the data transfer information table 122 provided in the task control unit 12. The number following “# (sharp)” shown in the data transfer information table 122 shown in FIG. 3 represents a table number for identifying the data storage unit 14 associated with the data transfer information table 122. The start address of the external storage unit 20 indicates the start address of the external storage unit 20 corresponding to the data stored in the data storage unit 14 represented by the table number. In FIG. 3, the data storage unit 14 represented by the table number # 0 indicates that data stored from the head address 0x1000 of the external storage unit 20 is stored, and the table number # 1 and the table number # The data storage unit 14 represented by 2 indicates that the data of the external storage unit 20 is not stored.

なお、以下の説明においては、それぞれのタスクを処理演算部11が実行する際に使用するデータの量と、データ記憶部14に格納することができるデータの量、すなわち、データ記憶部14の記憶領域のサイズは同じであるものとし、そのデータの量は、データ量0x780であるものとして説明する。また、タスク番号は、それぞれのタスクが処理演算部11に出力される順番も示しているものとする。また、テーブル番号#0に対応するデータ記憶部14を、「データ記憶部14a」とし、テーブル番号#1に対応するデータ記憶部14を、「データ記憶部14b」とし、テーブル番号#2に対応するデータ記憶部14を、「データ記憶部14c」とする。   In the following description, the amount of data used when the processing operation unit 11 executes each task and the amount of data that can be stored in the data storage unit 14, that is, the storage of the data storage unit 14. In the following description, it is assumed that the sizes of the areas are the same and the amount of data is a data amount of 0x780. The task number also indicates the order in which each task is output to the processing operation unit 11. In addition, the data storage unit 14 corresponding to the table number # 0 is “data storage unit 14a”, the data storage unit 14 corresponding to the table number # 1 is “data storage unit 14b”, and corresponds to the table number # 2. The data storage unit 14 to be used is referred to as a “data storage unit 14c”.

ここで、DMAリクエスト発生部123の構成および動作について説明する。DMAリクエスト発生部123は、タスクキュー121に順次格納されたそれぞれのタスクに基づいて、タスクが示す外部記憶部20の先頭アドレスからデータ量0x780のデータを、このタスクが割り当てられた処理演算部11が実際にタスクを実行するタイミングまでに事前に取得する(読み出す)ためのDMAのアクセス指示を、メモリ制御部13に出力する。DMAリクエスト発生部123は、使用アドレス選択部1231と、格納済みアドレス選択部1232と、アドレス比較部1233と、データ量比較部1234と、DMAリクエストコマンド生成部1235と、を備えている。   Here, the configuration and operation of the DMA request generator 123 will be described. Based on each task sequentially stored in the task queue 121, the DMA request generation unit 123 receives data having a data amount of 0x780 from the start address of the external storage unit 20 indicated by the task, and the processing operation unit 11 to which this task is assigned. Outputs a DMA access instruction to the memory control unit 13 for acquisition (reading) in advance by the timing of actually executing the task. The DMA request generation unit 123 includes a use address selection unit 1231, a stored address selection unit 1232, an address comparison unit 1233, a data amount comparison unit 1234, and a DMA request command generation unit 1235.

使用アドレス選択部1231は、タスクキュー121に格納されているタスクの内、次に処理演算部11に出力するタスクを選択し、選択したタスクが示している外部記憶部20の先頭アドレスを取得する。そして。使用アドレス選択部1231は、取得した外部記憶部20の先頭アドレスを使用アドレスとして、アドレス比較部1233とDMAリクエストコマンド生成部1235とに出力する。   The used address selection unit 1231 selects the next task to be output to the processing operation unit 11 among the tasks stored in the task queue 121, and acquires the head address of the external storage unit 20 indicated by the selected task. . And then. The used address selecting unit 1231 outputs the acquired start address of the external storage unit 20 to the address comparing unit 1233 and the DMA request command generating unit 1235 as the used address.

格納済みアドレス選択部1232は、データ転送情報テーブル122において、外部記憶部20のデータが格納されていることを表しているテーブル番号を選択し、選択したテーブル番号の情報内に示されている外部記憶部20の先頭アドレスを取得する。そして、格納済みアドレス選択部1232は、取得した外部記憶部20の先頭アドレスを格納済みアドレスとして、アドレス比較部1233に出力する。また、格納済みアドレス選択部1232は、格納済みアドレスを取得したデータ転送情報テーブル122のテーブル番号を、DMAリクエストコマンド生成部1235に出力する。   The stored address selection unit 1232 selects a table number indicating that the data in the external storage unit 20 is stored in the data transfer information table 122, and the external address indicated in the selected table number information. The head address of the storage unit 20 is acquired. Then, the stored address selection unit 1232 outputs the acquired start address of the external storage unit 20 to the address comparison unit 1233 as a stored address. Further, the stored address selection unit 1232 outputs the table number of the data transfer information table 122 from which the stored address has been acquired to the DMA request command generation unit 1235.

アドレス比較部1233は、使用アドレス選択部1231から入力された使用アドレスと、格納済みアドレス選択部1232から入力された格納済みアドレスとを比較する。そして、アドレス比較部1233は、比較結果をデータ量比較部1234とDMAリクエストコマンド生成部1235とに出力する。   The address comparison unit 1233 compares the used address input from the used address selection unit 1231 with the stored address input from the stored address selection unit 1232. Then, the address comparison unit 1233 outputs the comparison result to the data amount comparison unit 1234 and the DMA request command generation unit 1235.

アドレス比較部1233による使用アドレスと格納済みアドレスとの比較においては、まず、使用アドレスの値と格納済みアドレスの値との差分値(使用アドレスの値−格納済みアドレスの値)を算出する。ここでアドレス比較部1233が算出した差分値の符号は、タスクを実行する際に使用する外部記憶部20のデータの先頭の位置と、データ記憶部14にすでに格納されている外部記憶部20のデータの先頭の位置との関係を表している。   In the comparison between the used address and the stored address by the address comparing unit 1233, first, a difference value between the used address value and the stored address value (used address value−stored address value) is calculated. Here, the sign of the difference value calculated by the address comparison unit 1233 is the position of the top of the data in the external storage unit 20 used when executing the task, and the sign of the external storage unit 20 already stored in the data storage unit 14. This represents the relationship with the beginning position of the data.

より具体的には、差分値の符号が“+(プラス)”である場合は、タスクを実行する際に使用する外部記憶部20のデータの先頭の位置が、データ記憶部14にすでに格納されている外部記憶部20のデータの先頭の位置よりも後にある、すなわち、データ記憶部14にすでに格納されている外部記憶部20のデータの先頭の位置よりも後側のデータを使用するタスクであることを表す。逆に、差分値の符号が“−(マイナス)”である場合は、タスクを実行する際に使用する外部記憶部20のデータの先頭の位置が、データ記憶部14にすでに格納されている外部記憶部20のデータの先頭の位置よりも前にある、すなわち、データ記憶部14にすでに格納されている外部記憶部20のデータの先頭の位置よりも前側のデータを使用するタスクであることを表す。アドレス比較部1233は、タスクを実行する際に使用する外部記憶部20のデータの位置関係を含む差分値を、DMAリクエストコマンド生成部1235に出力する。   More specifically, when the sign of the difference value is “+ (plus)”, the leading position of the data in the external storage unit 20 used when executing the task is already stored in the data storage unit 14. In a task that uses data that is after the start position of the data in the external storage unit 20 that is present, that is, the data after the start position of the data in the external storage unit 20 that is already stored in the data storage unit 14 Represents something. On the contrary, when the sign of the difference value is “− (minus)”, the position of the beginning of the data in the external storage unit 20 used when executing the task is stored in the data storage unit 14. It is a task that uses the data before the start position of the data in the storage unit 20, that is, the data before the start position of the data in the external storage unit 20 already stored in the data storage unit 14. Represent. The address comparison unit 1233 outputs to the DMA request command generation unit 1235 a difference value including the positional relationship of data in the external storage unit 20 used when executing the task.

その後、アドレス比較部1233は、算出した差分値の絶対値を算出する。すなわち、アドレス比較部1233は、使用アドレスの値と格納済みアドレスの値との差の絶対値(|使用アドレスの値−格納済みアドレスの値|)の算出を行う。第1の動作では、タスクを実行する際に使用するデータの量と、データ記憶部14に格納することができるデータの量(データ記憶部14の記憶領域のサイズ)が同じである。このため、アドレス比較部1233が算出した絶対値の値は、タスクを実行する際に使用する外部記憶部20のデータの先頭の位置と、データ記憶部14にすでに格納されている外部記憶部20のデータの先頭の位置との差の大きさであるが、この値は、データ記憶部14にすでに格納されているデータと重複していないデータの量に相当し、外部記憶部20から読み出すデータの量を表していることになる。アドレス比較部1233は、外部記憶部20から読み出すデータの量を表す絶対値を、データ量比較部1234に出力する。   Thereafter, the address comparison unit 1233 calculates the absolute value of the calculated difference value. That is, the address comparison unit 1233 calculates the absolute value (| used address value−stored address value |) of the difference between the used address value and the stored address value. In the first operation, the amount of data used when executing the task and the amount of data that can be stored in the data storage unit 14 (the size of the storage area of the data storage unit 14) are the same. For this reason, the absolute value calculated by the address comparison unit 1233 is based on the position of the head of data in the external storage unit 20 used when executing the task and the external storage unit 20 already stored in the data storage unit 14 This value corresponds to the amount of data that is not duplicated with the data already stored in the data storage unit 14, and is read out from the external storage unit 20. Represents the amount of. The address comparison unit 1233 outputs an absolute value representing the amount of data read from the external storage unit 20 to the data amount comparison unit 1234.

データ量比較部1234は、アドレス比較部1233から入力された絶対値と、データ記憶部14の記憶領域のサイズとを比較、すなわち、外部記憶部20から読み出すデータの量と、データ記憶部14に格納することができるデータの量とを比較する。そして、データ量比較部1234は、比較した結果に基づいて、DMAリクエストコマンド生成部1235を起動するための起動信号を出力する。   The data amount comparison unit 1234 compares the absolute value input from the address comparison unit 1233 with the size of the storage area of the data storage unit 14, that is, the amount of data read from the external storage unit 20 and the data storage unit 14. Compare the amount of data that can be stored. Then, the data amount comparison unit 1234 outputs an activation signal for activating the DMA request command generation unit 1235 based on the comparison result.

より具体的には、データ量比較部1234は、外部記憶部20から読み出すデータの量がデータ記憶部14に格納することができるデータの量よりも小さい(絶対値<サイズ)場合、すなわち、外部記憶部20から読み出すデータがデータ記憶部14の記憶領域に収まる場合に、DMAリクエストコマンド生成部1235にDMAリクエストコマンドを生成させるための起動信号を出力する。   More specifically, the data amount comparison unit 1234 determines that the amount of data read from the external storage unit 20 is smaller than the amount of data that can be stored in the data storage unit 14 (absolute value <size), that is, external When the data read from the storage unit 20 fits in the storage area of the data storage unit 14, the DMA request command generation unit 1235 outputs an activation signal for generating a DMA request command.

DMAリクエストコマンド生成部1235は、使用アドレス選択部1231から入力された使用アドレスと、格納済みアドレス選択部1232から入力されたテーブル番号と、アドレス比較部1233から入力された差分値と、データ量比較部1234から入力された起動信号とに基づいて、DMAアクセス指示におけるDMAリクエストコマンドを生成する。   The DMA request command generation unit 1235 compares the use address input from the use address selection unit 1231, the table number input from the stored address selection unit 1232, the difference value input from the address comparison unit 1233, and the data amount comparison Based on the activation signal input from the unit 1234, a DMA request command in the DMA access instruction is generated.

なお、DMAリクエストコマンド生成部1235が生成するDMAリクエストコマンドは、DMAアクセス指示によってアクセスする外部記憶部20およびデータ記憶部14のアドレスや、DMAで転送するデータの量を設定するコマンドである。DMAリクエスト発生部123は、DMAリクエストコマンド生成部1235が生成したDMAリクエストコマンドをメモリ制御部13に出力して設定をした後、DMAによるデータ転送を開始するためのDMA開始指示を、メモリ制御部13に出力する。以下の説明においては、メモリ制御部13に対するDMAリクエストコマンドの設定と、DMA開始指示とを併せて、タスク制御部12がメモリ制御部13に出力するDMAアクセス指示とする。   The DMA request command generated by the DMA request command generation unit 1235 is a command for setting the addresses of the external storage unit 20 and the data storage unit 14 accessed by the DMA access instruction and the amount of data transferred by the DMA. The DMA request generation unit 123 outputs a DMA request command generated by the DMA request command generation unit 1235 to the memory control unit 13 and sets the DMA request command. Then, the DMA request generation unit 123 sends a DMA start instruction for starting data transfer by DMA to the memory control unit 13 is output. In the following description, the setting of the DMA request command for the memory control unit 13 and the DMA start instruction are combined and used as a DMA access instruction that the task control unit 12 outputs to the memory control unit 13.

次に、DMAリクエストコマンド生成部1235によるDMAリクエストコマンドの生成方法について説明する。図4は、本実施形態の演算装置10に備えたタスク制御部12による第1の動作における処理手順を示したフローチャートである。図4には、DMAリクエストコマンド生成部1235がDMAリクエストコマンドを生成する際の処理手順を示している。   Next, a method for generating a DMA request command by the DMA request command generating unit 1235 will be described. FIG. 4 is a flowchart illustrating a processing procedure in the first operation by the task control unit 12 included in the arithmetic device 10 of the present embodiment. FIG. 4 shows a processing procedure when the DMA request command generation unit 1235 generates a DMA request command.

DMAリクエストコマンド生成部1235は、データ量比較部1234から起動信号が入力されると、DMAリクエストコマンドを生成する処理を実行する。まず、DMAリクエストコマンド生成部1235は、アドレス比較部1233から入力された差分値が0以上であるか否かを確認する(ステップS1)。このステップS1の確認によって、上述したように、タスクを実行する際に使用する外部記憶部20のデータの先頭の位置が、データ記憶部14にすでに格納されている外部記憶部20のデータの先頭の位置よりも前にあるか後にあるかを確認することができる。   When the activation signal is input from the data amount comparison unit 1234, the DMA request command generation unit 1235 executes processing for generating a DMA request command. First, the DMA request command generation unit 1235 checks whether or not the difference value input from the address comparison unit 1233 is 0 or more (step S1). By confirming this step S1, as described above, the start position of the data in the external storage unit 20 used when executing the task is changed to the start position of the data in the external storage unit 20 already stored in the data storage unit 14. It can be confirmed whether it is before or after the position of.

ステップS1において、差分値が0以上である場合(ステップS1の“YES”)、すなわち、差分値の符号が“+(プラス)”である場合には、DMAリクエストコマンド生成部1235は、タスクを実行する際に使用する外部記憶部20のデータの先頭の位置が、データ記憶部14にすでに格納されている外部記憶部20のデータの先頭の位置よりも後にあると判断する。そして、DMAリクエストコマンド生成部1235は、最初にデータ記憶部14同士で重複しているデータをコピーするためのDMAリクエストコマンドを生成する(ステップS11)。   In step S1, if the difference value is 0 or more (“YES” in step S1), that is, if the sign of the difference value is “+ (plus)”, the DMA request command generation unit 1235 performs the task. It is determined that the leading position of the data in the external storage unit 20 used for execution is after the leading position of the data in the external storage unit 20 already stored in the data storage unit 14. Then, the DMA request command generation unit 1235 first generates a DMA request command for copying data that is duplicated between the data storage units 14 (step S11).

より具体的には、ステップS11において、DMAリクエストコマンド生成部1235は、データ記憶部14にすでに格納されている後側のデータを、タスクを実行する処理演算部11に対応したデータ記憶部14の前側にコピーするDMAを行う際の設定値を生成する。例えば、DMAの転送元アドレス(ソースアドレス)を、格納済みアドレス選択部1232から入力されたテーブル番号に対応するデータ記憶部14の基準のアドレス(ベースアドレス)に差分値を加算した値にし、DMAの転送先アドレス(ディスティネーションアドレス)を、タスクを実行する処理演算部11に対応したデータ記憶部14のベースアドレスにする。また、DMAにおけるデータの転送量を、データ記憶部14の記憶領域のサイズから差分値を減算した量にする。   More specifically, in step S11, the DMA request command generation unit 1235 uses the data on the back side already stored in the data storage unit 14 in the data storage unit 14 corresponding to the processing operation unit 11 that executes the task. A setting value for performing DMA copying to the front side is generated. For example, the DMA transfer source address (source address) is set to a value obtained by adding the difference value to the reference address (base address) of the data storage unit 14 corresponding to the table number input from the stored address selection unit 1232. Is the base address of the data storage unit 14 corresponding to the processing operation unit 11 that executes the task. Further, the data transfer amount in the DMA is set to an amount obtained by subtracting the difference value from the size of the storage area of the data storage unit 14.

これにより、DMAアクセス指示に応じて、例えば、テーブル番号#1に対応するデータ記憶部14bには、テーブル番号#0に対応するデータ記憶部14aのベースアドレスから差分値だけ後に格納されているそれぞれのデータが、データ記憶部14bの記憶領域のサイズ(=データ量0x780)から差分値を減算した量だけ、順次コピーされることになる。このとき、データ記憶部14bにコピーされるデータ記憶部14aのそれぞれのデータは、データ記憶部14bのベースアドレス、すなわち、先頭の位置から順次格納される。   Thereby, according to the DMA access instruction, for example, each of the data storage unit 14b corresponding to the table number # 1 is stored after the difference value from the base address of the data storage unit 14a corresponding to the table number # 0. Are sequentially copied by the amount obtained by subtracting the difference value from the size of the storage area (= data amount 0x780) of the data storage unit 14b. At this time, each data of the data storage unit 14a copied to the data storage unit 14b is sequentially stored from the base address of the data storage unit 14b, that is, the head position.

続いて、DMAリクエストコマンド生成部1235は、外部記憶部20からデータを読み出してデータ記憶部14に格納するためのDMAリクエストコマンドを生成する(ステップS12)。   Subsequently, the DMA request command generation unit 1235 generates a DMA request command for reading data from the external storage unit 20 and storing it in the data storage unit 14 (step S12).

より具体的には、ステップS12において、DMAリクエストコマンド生成部1235は、ステップS11でデータ記憶部14の前側にコピーしたデータの後側に、外部記憶部20から読み出したデータを追加して格納するDMAを行う際の設定値を生成する。例えば、DMAのソースアドレスを、使用アドレス選択部1231から入力された使用アドレスにステップS11において転送した転送量を加算した値にし、DMAのディスティネーションアドレスを、タスクを実行する処理演算部11に対応したデータ記憶部14のベースアドレスにステップS11において転送した転送量を加算した値にする。また、DMAにおけるデータの転送量を、差分値の量にする。   More specifically, in step S12, the DMA request command generation unit 1235 additionally stores the data read from the external storage unit 20 behind the data copied to the front side of the data storage unit 14 in step S11. A setting value for performing DMA is generated. For example, the DMA source address is set to a value obtained by adding the transfer amount transferred in step S11 to the use address input from the use address selection unit 1231, and the DMA destination address corresponds to the processing operation unit 11 that executes the task. A value obtained by adding the transfer amount transferred in step S11 to the base address of the data storage unit 14 is set. In addition, the data transfer amount in the DMA is set to the amount of the difference value.

これにより、DMAアクセス指示に応じて、例えば、テーブル番号#1に対応するデータ記憶部14bには、外部記憶部20の先頭アドレスから転送量だけ後に格納されているそれぞれのデータが、外部記憶部20から読み出した差分値の量だけ、順次格納される。このとき、データ記憶部14bに格納されるそれぞれのデータは、ステップS11においてデータ記憶部14bにコピーされたデータ記憶部14aのデータの後側に引き続き、順次格納される。   Thereby, according to the DMA access instruction, for example, the data storage unit 14b corresponding to the table number # 1 stores each data stored after the transfer amount from the start address of the external storage unit 20 by the external storage unit. Only the amount of the difference value read from 20 is sequentially stored. At this time, the respective data stored in the data storage unit 14b are sequentially stored sequentially behind the data in the data storage unit 14a copied to the data storage unit 14b in step S11.

また、ステップS1において、差分値が0以上でない場合(ステップS1の“NO”)、すなわち、差分値の符号が“−(マイナス)”である場合には、DMAリクエストコマンド生成部1235は、タスクを実行する際に使用する外部記憶部20のデータの先頭の位置が、データ記憶部14にすでに格納されている外部記憶部20のデータの先頭の位置よりも前にあると判断する。そして、DMAリクエストコマンド生成部1235は、最初に重複していないデータを外部記憶部20から読み出すためのDMAリクエストコマンドを生成する(ステップS21)。   In step S1, if the difference value is not equal to or greater than 0 (“NO” in step S1), that is, if the sign of the difference value is “− (minus)”, the DMA request command generation unit 1235 performs the task. It is determined that the leading position of the data in the external storage unit 20 used when executing is ahead of the leading position of the data in the external storage unit 20 already stored in the data storage unit 14. Then, the DMA request command generation unit 1235 generates a DMA request command for reading data that is not duplicated first from the external storage unit 20 (step S21).

より具体的には、ステップS21において、DMAリクエストコマンド生成部1235は、外部記憶部20から読み出したデータを、タスクを実行する処理演算部11に対応したデータ記憶部14の前側に格納するDMAを行う際の設定値を生成する。例えば、DMAのソースアドレスを、使用アドレス選択部1231から入力された使用アドレスの値にし、DMAのディスティネーションアドレスを、タスクを実行する処理演算部11に対応したデータ記憶部14のベースアドレスにする。また、DMAにおけるデータの転送量を、差分値の逆数(差分値の符号を逆にした値)の量にする。   More specifically, in step S21, the DMA request command generation unit 1235 stores the DMA that stores the data read from the external storage unit 20 on the front side of the data storage unit 14 corresponding to the processing operation unit 11 that executes the task. Generate the set value when doing. For example, the DMA source address is set to the value of the used address input from the used address selection unit 1231, and the DMA destination address is set to the base address of the data storage unit 14 corresponding to the processing operation unit 11 that executes the task. . Further, the data transfer amount in the DMA is set to the reciprocal of the difference value (a value obtained by reversing the sign of the difference value).

これにより、DMAアクセス指示に応じて、例えば、テーブル番号#1に対応するデータ記憶部14bには、外部記憶部20の先頭アドレスから格納されているそれぞれのデータが、外部記憶部20から読み出した差分値の逆数の量だけ、順次格納される。このとき、データ記憶部14bに格納されるそれぞれのデータは、データ記憶部14bのベースアドレス、すなわち、先頭の位置から順次格納される。   Thereby, according to the DMA access instruction, for example, each data stored from the head address of the external storage unit 20 is read from the external storage unit 20 in the data storage unit 14b corresponding to the table number # 1. Only the reciprocal of the difference value is sequentially stored. At this time, the respective data stored in the data storage unit 14b are sequentially stored from the base address of the data storage unit 14b, that is, the head position.

続いて、DMAリクエストコマンド生成部1235は、データ記憶部14同士で重複しているデータをコピーするためのDMAリクエストコマンドを生成する(ステップS22)。   Subsequently, the DMA request command generation unit 1235 generates a DMA request command for copying data that is duplicated between the data storage units 14 (step S22).

より具体的には、ステップS22において、DMAリクエストコマンド生成部1235は、ステップS21でデータ記憶部14の前側に格納した外部記憶部20から読み出したデータの後側に、データ記憶部14にすでに格納されているデータをコピーして追加するDMAを行う際の設定値を生成する。例えば、DMAのソースアドレスを、格納済みアドレス選択部1232から入力されたテーブル番号に対応するデータ記憶部14のベースアドレスの値にし、DMAのディスティネーションアドレスを、タスクを実行する処理演算部11に対応したデータ記憶部14のベースアドレスにステップS21において転送した転送量を加算した値にする。また、DMAにおけるデータの転送量を、データ記憶部14の記憶領域のサイズから差分値の逆数を減算した量にする。   More specifically, in step S22, the DMA request command generation unit 1235 has already stored in the data storage unit 14 behind the data read from the external storage unit 20 stored in front of the data storage unit 14 in step S21. A setting value is generated when performing DMA for copying and adding the recorded data. For example, the DMA source address is set to the value of the base address of the data storage unit 14 corresponding to the table number input from the stored address selection unit 1232, and the DMA destination address is set to the processing arithmetic unit 11 that executes the task. A value obtained by adding the transfer amount transferred in step S21 to the base address of the corresponding data storage unit 14 is set. Further, the data transfer amount in the DMA is set to an amount obtained by subtracting the reciprocal of the difference value from the size of the storage area of the data storage unit 14.

これにより、DMAアクセス指示に応じて、例えば、テーブル番号#1に対応するデータ記憶部14bには、テーブル番号#0に対応するデータ記憶部14aのベースアドレスから格納されているそれぞれのデータが、データ記憶部14bの記憶領域のサイズ(=データ量0x780)から差分値の逆数を減算した量だけ、順次コピーされることになる。このとき、データ記憶部14bにコピーされるデータ記憶部14aのそれぞれのデータは、ステップS11においてデータ記憶部14bに格納された外部記憶部20から読み出したデータの後側に引き続き、順次格納される。   Thereby, according to the DMA access instruction, for example, each data stored from the base address of the data storage unit 14a corresponding to the table number # 0 is stored in the data storage unit 14b corresponding to the table number # 1. The data is sequentially copied by an amount obtained by subtracting the reciprocal of the difference value from the size of the storage area of the data storage unit 14b (= data amount 0x780). At this time, each data of the data storage unit 14a copied to the data storage unit 14b is sequentially stored sequentially after the data read from the external storage unit 20 stored in the data storage unit 14b in step S11. .

このようにして、DMAリクエストコマンド生成部1235は、データ記憶部14同士で重複しているデータをコピーするためのDMAリクエストコマンドと、外部記憶部20からデータを読み出してデータ記憶部14に格納するためのDMAリクエストコマンドとを生成する。これにより、DMAアクセス指示に応じて、データ記憶部14には、記憶領域のサイズ(=データ量0x780)分のデータが格納されることになる。   In this way, the DMA request command generation unit 1235 reads out the DMA request command for copying data duplicated in the data storage units 14 and the data from the external storage unit 20 and stores them in the data storage unit 14. And a DMA request command for generating. Thereby, data corresponding to the size of the storage area (= data amount 0x780) is stored in the data storage unit 14 in accordance with the DMA access instruction.

また、DMAリクエストコマンド生成部1235は、アドレス比較部1233から入力された差分値に基づいて、データ記憶部14同士で重複しているデータをコピーするためのDMAリクエストコマンドと、外部記憶部20からデータを読み出してデータ記憶部14に格納するためのDMAリクエストコマンドとを生成する順番を変更する。これにより、データ記憶部14には、タスク制御部12が出力したDMAアクセス指示に応じて、対応する処理演算部11がタスクを実行する際に使用する外部記憶部20のデータが、処理演算部11が使用する順番で順次格納される。   Further, the DMA request command generation unit 1235 receives a DMA request command for copying duplicate data between the data storage units 14 based on the difference value input from the address comparison unit 1233, and from the external storage unit 20. The order of generating DMA request commands for reading data and storing it in the data storage unit 14 is changed. Thereby, the data storage unit 14 stores the data in the external storage unit 20 used when the corresponding processing calculation unit 11 executes the task in accordance with the DMA access instruction output from the task control unit 12. 11 are sequentially stored in the order used.

なお、図4に示した第1の動作における処理手順では、ステップS1において、DMAリクエストコマンド生成部1235が、アドレス比較部1233から入力された差分値が0以上であるか否かを確認することによって、先にデータ記憶部14同士で重複しているデータをコピーするか、外部記憶部20からデータを読み出してデータ記憶部14に格納するかを判断した。しかし、DMAリクエストコマンド生成部1235によって、先にデータ記憶部14同士で重複しているデータをコピーすると判断される場合には、アドレス比較部1233から入力された差分値が0である場合も含まれる。   In the processing procedure in the first operation shown in FIG. 4, in step S1, the DMA request command generation unit 1235 confirms whether the difference value input from the address comparison unit 1233 is 0 or more. From the above, it is determined whether data that has been previously duplicated in the data storage units 14 is copied or whether the data is read from the external storage unit 20 and stored in the data storage unit 14. However, when it is determined by the DMA request command generation unit 1235 that data that has been previously duplicated between the data storage units 14 is copied, the case where the difference value input from the address comparison unit 1233 is 0 is also included. It is.

ここで、差分値が0であるということは、タスクを実行する際に使用する外部記憶部20のデータの先頭の位置が、データ記憶部14にすでに格納されている外部記憶部20のデータの先頭の位置と同じ位置であることを表している。つまり、次のタスクが割り当てられた処理演算部11は、以前のタスクを実行した他の処理演算部11が使用したデータと同じデータを使用して演算処理を実行することを表している。   Here, the difference value being 0 means that the position of the head of the data in the external storage unit 20 used when executing the task is the data of the data in the external storage unit 20 already stored in the data storage unit 14. It represents that it is the same position as the beginning position. That is, the processing operation unit 11 to which the next task is assigned represents that the operation processing is executed using the same data as the data used by the other processing operation unit 11 that executed the previous task.

この場合には、DMAリクエストコマンド生成部1235は、ステップS11において、データ記憶部14同士で重複しているデータをコピーするためのDMAリクエストコマンドのみを生成し、ステップS12における外部記憶部20からデータを読み出してデータ記憶部14に格納するためのDMAリクエストコマンドを生成しないで、DMAリクエストコマンドを生成する処理を完了することになる。なお、このときのDMAのソースアドレスおよびディスティネーションアドレスは、上述したステップS11におけるソースアドレスおよびディスティネーションアドレスと同様であり、DMAにおけるデータの転送量のみが、データ記憶部14の記憶領域のサイズ(=データ量0x780)となる。   In this case, the DMA request command generation unit 1235 generates only the DMA request command for copying the duplicated data in the data storage units 14 in step S11, and the data from the external storage unit 20 in step S12. The process of generating the DMA request command is completed without generating a DMA request command for reading and storing the data in the data storage unit 14. Note that the source address and destination address of the DMA at this time are the same as the source address and destination address in step S11 described above, and only the data transfer amount in the DMA is the size of the storage area of the data storage unit 14 ( = Data amount 0x780).

また、タスク制御部12が出力したDMAアクセス指示に応じて、メモリ制御部13がそれぞれのデータ記憶部14に格納されているデータを変更した後、タスク制御部12内のデータ転送情報テーブル122を更新する。   In addition, after the memory control unit 13 changes the data stored in each data storage unit 14 in accordance with the DMA access instruction output by the task control unit 12, the data transfer information table 122 in the task control unit 12 is updated. Update.

次に、タスク制御部12内のデータ転送情報テーブル122を更新する動作について説明する。図5は、本実施形態の演算装置10に備えたタスク制御部12内のデータ転送情報テーブル122を更新する動作の一例を説明する図である。図5には、データ転送情報テーブル122の更新に関連する演算装置10内の構成要素のみを示している。   Next, an operation for updating the data transfer information table 122 in the task control unit 12 will be described. FIG. 5 is a diagram illustrating an example of an operation for updating the data transfer information table 122 in the task control unit 12 included in the arithmetic device 10 according to the present embodiment. FIG. 5 shows only the components in the arithmetic unit 10 related to the update of the data transfer information table 122.

メモリ制御部13は、第1の動作によってタスク制御部12から出力されたDMAアクセス指示に応じて、外部記憶部20およびデータ記憶部14に対するDMAを行う。これにより、データ記憶部14に格納されている外部記憶部20のデータの範囲が変更され、データ記憶部14に格納されたデータに対応する外部記憶部20の先頭アドレスも変更される。   The memory control unit 13 performs DMA for the external storage unit 20 and the data storage unit 14 in accordance with the DMA access instruction output from the task control unit 12 by the first operation. As a result, the data range of the external storage unit 20 stored in the data storage unit 14 is changed, and the head address of the external storage unit 20 corresponding to the data stored in the data storage unit 14 is also changed.

その後、メモリ制御部13は、データ記憶部14に格納されているデータが変更されたことを表すテーブル更新情報を、タスク制御部12に出力する。より具体的には、メモリ制御部13は、格納しているデータを変更したデータ記憶部14を識別する情報と、このデータ記憶部14に格納されているデータに対応する外部記憶部20の先頭の位置を表す情報とを、タスク制御部12に出力する。例えば、メモリ制御部13は、データ転送情報テーブル122において対応するテーブル番号と、外部記憶部20の先頭アドレスとを、タスク制御部12に出力する。   Thereafter, the memory control unit 13 outputs table update information indicating that the data stored in the data storage unit 14 has been changed to the task control unit 12. More specifically, the memory control unit 13 includes information for identifying the data storage unit 14 that has changed the stored data, and the head of the external storage unit 20 corresponding to the data stored in the data storage unit 14. The information indicating the position of is output to the task control unit 12. For example, the memory control unit 13 outputs the corresponding table number in the data transfer information table 122 and the start address of the external storage unit 20 to the task control unit 12.

タスク制御部12は、メモリ制御部13から入力されたテーブル更新情報に基づいて、データ転送情報テーブル122に保持している情報を更新する。図5には、データ記憶部14bに外部記憶部20の先頭アドレス0x1000から格納されたデータを使用するタスク1に対応したデータが新たに格納され、データ記憶部14bに対応するデータ転送情報テーブル122の外部記憶部20の先頭アドレス(格納済みアドレス)の情報が“0x1000”に更新された場合を示している。また、図5には、データ記憶部14cに外部記憶部20の先頭アドレス0x2000から格納されたデータを使用するタスク2に対応したデータが新たに格納され、データ記憶部14cに対応するデータ転送情報テーブル122の外部記憶部20の先頭アドレス(格納済みアドレス)の情報が“0x2000”に更新された場合を示している。   The task control unit 12 updates the information held in the data transfer information table 122 based on the table update information input from the memory control unit 13. In FIG. 5, data corresponding to task 1 using data stored from the start address 0x1000 of the external storage unit 20 is newly stored in the data storage unit 14b, and the data transfer information table 122 corresponding to the data storage unit 14b is stored. This shows a case where the information of the start address (stored address) of the external storage unit 20 is updated to “0x1000”. Further, in FIG. 5, data corresponding to task 2 using data stored from the start address 0x2000 of the external storage unit 20 is newly stored in the data storage unit 14c, and data transfer information corresponding to the data storage unit 14c is stored. This shows a case where the information of the head address (stored address) of the external storage unit 20 in the table 122 is updated to “0x2000”.

ここで、メモリ制御部13がデータ記憶部14同士、または外部記憶部20とデータ記憶部14との間でデータを転送するタイミングについて説明する。図6は、本実施形態の演算装置10に備えたメモリ制御部13によるデータ転送のタイミングを示したタイミングチャートである。図6に示したタイミングチャートでは、図5に示したタスク0〜タスク2を実行する際に使用するデータを外部記憶部20から読み出して、演算装置10に備えた3つのデータ記憶部14a〜データ記憶部14cのそれぞれに格納する場合の一例を示している。   Here, the timing at which the memory control unit 13 transfers data between the data storage units 14 or between the external storage unit 20 and the data storage unit 14 will be described. FIG. 6 is a timing chart showing the timing of data transfer by the memory control unit 13 provided in the arithmetic device 10 of this embodiment. In the timing chart shown in FIG. 6, data used when executing tasks 0 to 2 shown in FIG. 5 is read from the external storage unit 20, and the three data storage units 14 a to 14 included in the arithmetic device 10 are stored. An example in the case of storing in each of the storage units 14c is shown.

タスク制御部12は、最初に外部記憶部20の先頭アドレス0x1000からデータを読み出してデータ記憶部14aに格納するためのDMAアクセス指示をメモリ制御部13に出力する。このDMAアクセス指示に応じて、メモリ制御部13は、外部記憶部20の先頭アドレス0x1000から格納されたデータを順次読み出し、データ記憶部14aのベースアドレス、すなわち、先頭の位置から順次格納する。データ記憶部14aへのデータの格納が完了すると、外部記憶部20の先頭アドレス0x1000から格納されたデータを使用するタスク0の演算処理に応じて、データ記憶部14aに格納されたデータが順次読み出される。   The task control unit 12 first outputs a DMA access instruction to the memory control unit 13 for reading data from the top address 0x1000 of the external storage unit 20 and storing the data in the data storage unit 14a. In response to this DMA access instruction, the memory control unit 13 sequentially reads data stored from the head address 0x1000 of the external storage unit 20 and stores it sequentially from the base address of the data storage unit 14a, that is, the head position. When the storage of the data in the data storage unit 14a is completed, the data stored in the data storage unit 14a is sequentially read according to the arithmetic processing of task 0 using the data stored from the head address 0x1000 of the external storage unit 20. It is.

また、タスク制御部12は、データ記憶部14aに格納されているデータをデータ記憶部14bにコピーするためのDMAアクセス指示をメモリ制御部13に出力する。このDMAアクセス指示に応じて、メモリ制御部13は、データ記憶部14aのベースアドレスから格納されているデータを順次読み出して、データ記憶部14bのベースアドレスから順次格納(コピー)する。データ記憶部14bへのデータのコピーが完了すると、外部記憶部20の先頭アドレス0x1000から格納されたデータを使用するタスク1の演算処理に応じて、データ記憶部14bに格納されたデータが順次読み出される。   Further, the task control unit 12 outputs a DMA access instruction for copying the data stored in the data storage unit 14 a to the data storage unit 14 b to the memory control unit 13. In response to the DMA access instruction, the memory control unit 13 sequentially reads data stored from the base address of the data storage unit 14a and sequentially stores (copies) the data from the base address of the data storage unit 14b. When the data copy to the data storage unit 14b is completed, the data stored in the data storage unit 14b is sequentially read out according to the operation processing of the task 1 using the data stored from the head address 0x1000 of the external storage unit 20. It is.

その後、タスク制御部12は、外部記憶部20の先頭アドレス0x2000からデータを読み出してデータ記憶部14aに格納するためのDMAアクセス指示をメモリ制御部13に出力する。このDMAアクセス指示に応じて、メモリ制御部13は、外部記憶部20の先頭アドレス0x2000から格納されたデータを順次読み出し、データ記憶部14cのベースアドレスから順次格納する。データ記憶部14cへのデータの格納が完了すると、外部記憶部20の先頭アドレス0x2000から格納されたデータを使用するタスク2の演算処理に応じて、データ記憶部14cに格納されたデータが順次読み出される。   Thereafter, the task control unit 12 outputs a DMA access instruction for reading data from the head address 0x2000 of the external storage unit 20 and storing it in the data storage unit 14 a to the memory control unit 13. In response to this DMA access instruction, the memory control unit 13 sequentially reads data stored from the head address 0x2000 of the external storage unit 20 and sequentially stores it from the base address of the data storage unit 14c. When the storage of the data in the data storage unit 14c is completed, the data stored in the data storage unit 14c is sequentially read out in accordance with the operation processing of the task 2 using the data stored from the head address 0x2000 of the external storage unit 20. It is.

このように、タスク制御部12は、データ記憶部14同士で重複しているデータをコピーするためのDMAアクセス指示と、外部記憶部20からデータを読み出してデータ記憶部14に格納するためのDMAアクセス指示とを、それぞれメモリ制御部13に出力することによって、処理演算部11がそれぞれのタスクを実行する際に、外部記憶部20へのアクセス回数を増やさないようにする。図6に示したタイミングチャートでは、3つのタスクを実行する際の外部記憶部20へのアクセスする回数が少なくなり、2回になっている。   As described above, the task control unit 12 uses a DMA access instruction for copying data that is duplicated between the data storage units 14 and a DMA for reading data from the external storage unit 20 and storing it in the data storage unit 14. By outputting the access instruction to the memory control unit 13, the number of accesses to the external storage unit 20 is not increased when the processing calculation unit 11 executes each task. In the timing chart shown in FIG. 6, the number of accesses to the external storage unit 20 when executing three tasks is reduced to two.

なお、上述したように、最初に外部記憶部20の先頭アドレス0x1000からデータを読み出してデータ記憶部14aに格納し、データ記憶部14aに格納されているデータをデータ記憶部14bにコピーする動作以外でも、データ記憶部14aとデータ記憶部14bとに同じデータを格納することができる。例えば、タスク制御部12が、外部記憶部20の先頭アドレス0x1000からデータを読み出してデータ記憶部14aとデータ記憶部14bとに同時に格納するためのDMAアクセス指示をメモリ制御部13に出力してもよい。   As described above, other than the operation of first reading data from the head address 0x1000 of the external storage unit 20 and storing it in the data storage unit 14a, and copying the data stored in the data storage unit 14a to the data storage unit 14b However, the same data can be stored in the data storage unit 14a and the data storage unit 14b. For example, even if the task control unit 12 outputs a DMA access instruction to the memory control unit 13 for reading data from the head address 0x1000 of the external storage unit 20 and storing the data in the data storage unit 14a and the data storage unit 14b at the same time. Good.

このように、タスク制御部12は、複数のデータ記憶部14に同時に同じデータを格納するためのDMAアクセス指示をメモリ制御部13に出力することもできる。ここで、複数のデータ記憶部14に同時に同じデータを格納するためのDMAアクセス指示は、上述したような、外部記憶部20から読み出したデータを複数のデータ記憶部14に同時に格納するDMAアクセス指示のみではなく、データ記憶部14同士で重複しているデータをコピーするためのDMAアクセス指示であってもよい。この場合には、例えば、データ記憶部14aに格納されているデータを、データ記憶部14bとデータ記憶部14cとにコピーすることができる。   In this way, the task control unit 12 can also output a DMA access instruction for simultaneously storing the same data in the plurality of data storage units 14 to the memory control unit 13. Here, the DMA access instruction for simultaneously storing the same data in the plurality of data storage units 14 is the DMA access instruction for simultaneously storing the data read from the external storage unit 20 in the plurality of data storage units 14 as described above. In addition to this, it may be a DMA access instruction for copying duplicate data between the data storage units 14. In this case, for example, data stored in the data storage unit 14a can be copied to the data storage unit 14b and the data storage unit 14c.

なお、タスクを実行する際に使用するデータを、データ記憶部14にコピーまたは格納際には、このデータ記憶部14に演算処理に必要な前のデータが格納されていないか、すなわち、演算処理に必要なデータが残っていないかを確認し、演算処理に必要な前のデータが格納されていない場合にのみ、タスクを実行する際に使用するデータをコピーまたは格納する必要がある。このため、タスク制御部12は、データ記憶部14に演算処理に必要な前のデータが格納されている、すなわち、演算処理に必要なデータが残っている場合に、データ記憶部14に現在格納されているデータを、外部記憶部20に退避しておくためのDMAアクセス指示を、メモリ制御部13に出力する。このデータを退避しておくためのDMAアクセス指示は、データ記憶部14同士で重複しているデータをコピーするためのDMAアクセス指示、および外部記憶部20からデータを読み出してデータ記憶部14に格納するためのDMAアクセス指示よりも前に出力する。   It should be noted that when data used for executing a task is copied or stored in the data storage unit 14, whether or not the previous data necessary for the arithmetic processing is stored in the data storage unit 14, that is, the arithmetic processing It is necessary to copy or store the data used when executing the task only when the data necessary for the operation processing is checked and only the previous data necessary for the arithmetic processing is not stored. For this reason, the task control unit 12 stores the previous data necessary for the arithmetic processing in the data storage unit 14, that is, stores the current data in the data storage unit 14 when the data necessary for the arithmetic processing remains. A DMA access instruction for saving the stored data in the external storage unit 20 is output to the memory control unit 13. The DMA access instruction for saving the data includes a DMA access instruction for copying data duplicated in the data storage units 14, and data is read from the external storage unit 20 and stored in the data storage unit 14. To be output before the DMA access instruction.

<第2の動作>
次に、演算装置10の動作において、データ記憶部14に現在格納されているデータを外部記憶部20に退避する(書き込む)際の、タスク制御部12の第2の動作について説明する。第2の動作は、タスクキュー121に格納されたそれぞれのタスクを実行する際に使用する外部記憶部20のデータをDMAによって外部記憶部20から取得する(読み出す)ためのDMAアクセス指示を出力する前に、データ記憶部14に現在格納されている演算処理に必要な前のデータを、DMAによって外部記憶部20に退避する(書き込む)ためのアクセス指示(以下「DMA退避アクセス指示」という)を、メモリ制御部13に出力する動作である。
<Second operation>
Next, a second operation of the task control unit 12 when the data currently stored in the data storage unit 14 is saved (written) in the external storage unit 20 in the operation of the arithmetic device 10 will be described. In the second operation, a DMA access instruction for acquiring (reading) data of the external storage unit 20 used when executing each task stored in the task queue 121 from the external storage unit 20 by DMA is output. Before, an access instruction (hereinafter referred to as “DMA save access instruction”) for saving (writing) the previous data necessary for the arithmetic processing currently stored in the data storage unit 14 to the external storage unit 20 by DMA. , The operation to be output to the memory control unit 13.

なお、本第2の動作においては、タスクキュー121に格納されたそれぞれのタスクの内、処理演算部11に出力される順番が近いタスクを実行する際に使用する外部記憶部20のデータの退避を行わないようにするために、予め定めた退避閾値を設定する。この退避閾値を設定することにより、タスク制御部12は、退避閾値より前のタスクを実行した処理演算部11に対応したデータ記憶部14を、退避する対象のデータ記憶部14から除外する。これにより、演算装置10では、データ記憶部14に格納されている演算処理に必要なデータが外部記憶部20に一旦退避され、再び外部記憶部20から取得される(読み出される)という、不要な外部記憶部20へのアクセス、つまり、データ記憶部14のデータの不要な退避を回避することによって、外部記憶部20へのアクセス回数を低減することができる。また、演算装置10では、例えば、外部記憶部20から取得したままの状態のデータを外部記憶部20に退避してしまうなど、データ記憶部14に格納されたデータを不用意に退避することによって、外部記憶部20へのアクセス回数が増加してしまうことを回避することができる。   In the second operation, of the tasks stored in the task queue 121, the data stored in the external storage unit 20 that is used when executing a task in the order of being output to the processing operation unit 11 is saved. In order not to perform this, a predetermined save threshold is set. By setting the save threshold, the task control unit 12 excludes the data storage unit 14 corresponding to the processing operation unit 11 that has executed the task before the save threshold from the data storage unit 14 to be saved. Thereby, in the arithmetic device 10, the data required for the arithmetic processing stored in the data storage unit 14 is temporarily saved in the external storage unit 20 and is acquired (read out) from the external storage unit 20 again. By avoiding access to the external storage unit 20, that is, unnecessary saving of data in the data storage unit 14, the number of accesses to the external storage unit 20 can be reduced. In addition, in the arithmetic device 10, for example, the data stored in the data storage unit 14 is inadvertently saved by, for example, evacuating the data as it is acquired from the external storage unit 20 to the external storage unit 20. It is possible to avoid an increase in the number of accesses to the external storage unit 20.

図7は、本実施形態の演算装置10に備えたタスク制御部12の概略構成、およびタスク制御部12の動作の一例を説明する図である。本第2の動作の説明においても、タスク制御部12の概略構成は、図3に示したタスク制御部12の概略構成と同様である。   FIG. 7 is a diagram for explaining an example of a schematic configuration of the task control unit 12 and an operation of the task control unit 12 included in the arithmetic device 10 of the present embodiment. Also in the description of the second operation, the schematic configuration of the task control unit 12 is the same as the schematic configuration of the task control unit 12 illustrated in FIG. 3.

また、図7にも、図3に示したタスク制御部12の概略構成と同様に、タスク制御部12に備えたタスクキュー121のそれぞれにタスクが格納されている状態を示し、タスク番号とそれぞれのタスクを実行する際に使用する外部記憶部20の先頭アドレス(使用アドレス)とを併せて示している。ただし、本第2の動作の説明においては、図7に示したように、タスク制御部12に格納されたタスクが、図3に示したタスクと異なる。なお、タスク制御部12は、基本的に、タスクキュー121にそれぞれのタスクが格納された順番で、それぞれのタスクを処理演算部11に出力するが、タスクの出力順番をタスク制御部12が制御することもできる。しかし、以下の説明においては、説明を容易にするため、タスク制御部12は、図7に示したそれぞれのタスクを、タスク番号の順番に、処理演算部11に出力するものとする。   FIG. 7 also shows a state in which tasks are stored in each of the task queues 121 provided in the task control unit 12, similar to the schematic configuration of the task control unit 12 shown in FIG. 3. 6 also shows the start address (use address) of the external storage unit 20 used when executing this task. However, in the description of the second operation, as illustrated in FIG. 7, the task stored in the task control unit 12 is different from the task illustrated in FIG. The task control unit 12 basically outputs each task to the processing operation unit 11 in the order in which the tasks are stored in the task queue 121, but the task control unit 12 controls the output order of the tasks. You can also However, in the following description, for ease of explanation, it is assumed that the task control unit 12 outputs the tasks shown in FIG. 7 to the processing calculation unit 11 in the order of task numbers.

また、図7にも、図3に示したタスク制御部12の概略構成と同様に、タスク制御部12に備えたデータ転送情報テーブル122に保持している情報を示している。そして、図7に示したデータ転送情報テーブル122内の“#(シャープ)”に続く数字で表したテーブル番号や、外部記憶部20の先頭アドレス(格納済みアドレス)も、図3に示したタスク制御部12の概略構成と同様である。図7においては、テーブル番号#0で表されるデータ記憶部14には、外部記憶部20の先頭アドレス0x1000から格納されたデータが格納されていることを示し、テーブル番号#1およびテーブル番号#2で表されるデータ記憶部14には、外部記憶部20の先頭アドレス0x2000から格納されたデータが格納されていることを示している。   7 also shows information held in the data transfer information table 122 provided in the task control unit 12, as in the schematic configuration of the task control unit 12 shown in FIG. The table number represented by a number following “# (sharp)” in the data transfer information table 122 shown in FIG. 7 and the head address (stored address) of the external storage unit 20 are also shown in the task shown in FIG. This is the same as the schematic configuration of the control unit 12. In FIG. 7, the data storage unit 14 represented by the table number # 0 indicates that data stored from the head address 0x1000 of the external storage unit 20 is stored, and the table number # 1 and the table number # The data storage unit 14 represented by 2 indicates that data stored from the start address 0x2000 of the external storage unit 20 is stored.

また、以下の説明においても、テーブル番号#0に対応するデータ記憶部14を、「データ記憶部14a」とし、テーブル番号#1に対応するデータ記憶部14を、「データ記憶部14b」とし、テーブル番号#2に対応するデータ記憶部14を、「データ記憶部14c」とする。   In the following description, the data storage unit 14 corresponding to the table number # 0 is referred to as “data storage unit 14a”, and the data storage unit 14 corresponding to the table number # 1 is referred to as “data storage unit 14b”. The data storage unit 14 corresponding to the table number # 2 is referred to as a “data storage unit 14c”.

ここで、タスク制御部12の第2の動作、特にDMAリクエスト発生部123の動作について説明する。DMAリクエスト発生部123は、タスクキュー121に順次格納されたそれぞれのタスクを、処理演算部11のそれぞれに出力する。その際、DMAリクエスト発生部123に備えた使用アドレス選択部1231は、タスクキュー121に格納されているそれぞれのタスクが示している外部記憶部20の先頭アドレス(使用アドレス)を取得する。また、DMAリクエスト発生部123に備えた格納済みアドレス選択部1232は、データ転送情報テーブル122において、外部記憶部20のデータが格納されていることを表しているテーブル番号内に示されている外部記憶部20の先頭アドレス(格納済みアドレス)を取得する。   Here, the second operation of the task control unit 12, particularly the operation of the DMA request generation unit 123 will be described. The DMA request generation unit 123 outputs each task sequentially stored in the task queue 121 to each of the processing arithmetic units 11. At that time, the used address selecting unit 1231 provided in the DMA request generating unit 123 acquires the start address (used address) of the external storage unit 20 indicated by each task stored in the task queue 121. The stored address selection unit 1232 included in the DMA request generation unit 123 includes an external number indicated in a table number indicating that data in the external storage unit 20 is stored in the data transfer information table 122. The head address (stored address) of the storage unit 20 is acquired.

そして、DMAリクエスト発生部123は、取得した使用アドレスと格納済みアドレスとに基づいて、データ記憶部14のそれぞれを、データを退避する対象のデータ記憶部14から除外するか否かを判定する。そして、DMAリクエスト発生部123は、データを退避する対象から除外すると判定されたデータ記憶部14に格納されているデータの外部記憶部20への退避(書き込み)を行わず、データを退避する対象であると判定されたデータ記憶部14に格納されているデータのみを、外部記憶部20に退避する(書き込む)。すなわち、データを退避する対象であると判定されたデータ記憶部14のみ、格納するデータの変更を行う。   Then, the DMA request generation unit 123 determines whether or not to exclude each of the data storage units 14 from the data storage unit 14 to which data is saved, based on the acquired used address and the stored address. Then, the DMA request generation unit 123 does not save (write) data stored in the data storage unit 14 determined to be excluded from the data save target to the external storage unit 20 but saves the data. Only the data stored in the data storage unit 14 determined to be is saved (written) in the external storage unit 20. That is, the data to be stored is changed only in the data storage unit 14 that is determined to be the target for saving data.

より具体的には、例えば、図7に示したタスク制御部12の状態で、退避閾値が“3”である場合、つまり、タスクキュー121に格納されたそれぞれのタスクの内、処理演算部11に出力される順番が近い2つ目のタスクを実行する処理演算部11に対応したデータ記憶部14までを、退避する対象のデータ記憶部14から除外する場合を考える。   More specifically, for example, when the save threshold is “3” in the state of the task control unit 12 illustrated in FIG. 7, that is, among the tasks stored in the task queue 121, the processing calculation unit 11. A case is considered where the data storage unit 14 corresponding to the processing operation unit 11 that executes the second task in the order of being output to is excluded from the data storage unit 14 to be saved.

まず、タスク0を対応する処理演算部11に出力したとき、データ転送情報テーブル122は、図7に示した状態になっている。その後、DMAリクエスト発生部123は、タスクキュー121に格納されているタスク1からタスク9までのそれぞれのタスクの使用アドレスと、データ転送情報テーブル122のテーブル番号#0〜テーブル番号#2のそれぞれの格納済みアドレスとを取得する。そして、DMAリクエスト発生部123は、退避閾値が“3”であるため、タスク1とタスク2とが示している使用アドレスと、テーブル番号#0〜テーブル番号#2のそれぞれの格納済みアドレスとに基づいて、データ記憶部14のそれぞれを、データを退避する対象のデータ記憶部14から除外するか否かを判定する。図7に示した状態の場合、テーブル番号#2に対応するデータ記憶部14cがデータを退避する対象のデータ記憶部14から除外され、テーブル番号#1に対応するデータ記憶部14bが、データを退避する対象のデータ記憶部14となる。   First, when the task 0 is output to the corresponding processing operation unit 11, the data transfer information table 122 is in the state shown in FIG. Thereafter, the DMA request generating unit 123 uses the task usage addresses of the tasks 1 to 9 stored in the task queue 121 and the table number # 0 to the table number # 2 of the data transfer information table 122, respectively. Get stored address. Then, since the save threshold is “3”, the DMA request generation unit 123 sets the used addresses indicated by the tasks 1 and 2 and the stored addresses of the table numbers # 0 to # 2 respectively. Based on this, it is determined whether or not each of the data storage units 14 is excluded from the data storage unit 14 to which data is to be saved. In the state shown in FIG. 7, the data storage unit 14c corresponding to the table number # 2 is excluded from the data storage unit 14 to be saved, and the data storage unit 14b corresponding to the table number # 1 stores the data. It becomes the data storage unit 14 to be saved.

その後、DMAリクエスト発生部123は、タスク1を処理演算部11に出力するために、事前にメモリ制御部13に出力するデータ記憶部14aに格納されているデータをデータ記憶部14bにコピーするためのDMAアクセス指示に先立って、データ記憶部14bに格納されているデータを外部記憶部20に退避するためのDMA退避アクセス指示を、メモリ制御部13に出力する。これにより、データ記憶部14bに格納されているデータが外部記憶部20に退避されたあと、タスク1を実行する際に使用する外部記憶部20のデータ(データ記憶部14aに格納されているデータ)を、テーブル番号#1に対応するデータ記憶部14bにコピーすることができる。   Thereafter, the DMA request generation unit 123 copies the data stored in the data storage unit 14a to be output to the memory control unit 13 in advance to the data storage unit 14b in order to output the task 1 to the processing calculation unit 11. Prior to the DMA access instruction, a DMA save access instruction for saving the data stored in the data storage unit 14 b to the external storage unit 20 is output to the memory control unit 13. Thus, after the data stored in the data storage unit 14b is saved in the external storage unit 20, the data in the external storage unit 20 (data stored in the data storage unit 14a) used when executing the task 1 is executed. ) Can be copied to the data storage unit 14b corresponding to the table number # 1.

なお、DMAリクエスト発生部123は、必要に応じてDMA退避アクセス指示をメモリ制御部13に出力する。つまり、データ記憶部14に現在格納されているデータが、演算処理に必要なデータではない場合には、データ記憶部14に現在格納されているデータを上書きしても問題がないため、DMAリクエスト発生部123は、DMA退避アクセス指示をメモリ制御部13に出力しないこともある。   The DMA request generation unit 123 outputs a DMA save access instruction to the memory control unit 13 as necessary. In other words, if the data currently stored in the data storage unit 14 is not the data required for the arithmetic processing, there is no problem even if the data currently stored in the data storage unit 14 is overwritten. The generation unit 123 may not output the DMA save access instruction to the memory control unit 13.

次に、タスク制御部12の第2の動作、特にDMAリクエスト発生部123の動作における処理手順について説明する。図8は、本実施形態の演算装置10に備えたタスク制御部12が、データ記憶部14に格納されているデータを退避する処理手順を示したフローチャートである。なお、図8に示したデータを退避する処理手順の説明においては、図7を参照し、タスクキュー121に格納されたそれぞれのタスクと、データ転送情報テーブル122に保持されたそれぞれのデータ記憶部14の情報が、図7に示した状態であるものとして説明する。また、退避閾値は“3”であるものとして説明する。   Next, a processing procedure in the second operation of the task control unit 12, particularly the operation of the DMA request generation unit 123 will be described. FIG. 8 is a flowchart illustrating a processing procedure in which the task control unit 12 included in the arithmetic device 10 according to the present embodiment saves data stored in the data storage unit 14. In the description of the processing procedure for saving data shown in FIG. 8, with reference to FIG. 7, each task stored in the task queue 121 and each data storage unit held in the data transfer information table 122 14 will be described as being in the state shown in FIG. Further, the description will be made assuming that the save threshold is “3”.

まず、タスク制御部12の第2の動作において、DMAリクエスト発生部123は、データ転送情報テーブル122に保持している情報を確認し、外部記憶部20のデータが格納されていることを表しているテーブル番号に空きがあるか否か、すなわち、外部記憶部20のデータを格納することができる空きの状態のデータ記憶部14があるか否かを確認する(ステップS3)。   First, in the second operation of the task control unit 12, the DMA request generation unit 123 checks the information held in the data transfer information table 122 and indicates that the data in the external storage unit 20 is stored. It is confirmed whether or not there is an empty table number, that is, whether or not there is an empty data storage unit 14 capable of storing data in the external storage unit 20 (step S3).

ステップS3において、空きの状態のデータ記憶部14があると確認された場合(ステップS3の“YES”)には、図8に示した処理手順を完了し、次のタスクを実行する処理演算部11に対応するデータ記憶部14に外部記憶部20のデータを格納するための処理を行う。また、ステップS3において、空きの状態のデータ記憶部14がないと確認された場合(ステップS3の“NO”)には、ステップS31から、データ記憶部14のそれぞれを、データを退避する対象のデータ記憶部14から除外するか否かの判定処理、すなわち、データ記憶部14の退避する対象からの除外処理を開始する。   If it is confirmed in step S3 that there is an empty data storage unit 14 ("YES" in step S3), the processing operation unit that completes the processing procedure shown in FIG. 8 and executes the next task 11 for storing data of the external storage unit 20 in the data storage unit 14 corresponding to 11. If it is confirmed in step S3 that there is no empty data storage unit 14 ("NO" in step S3), each of the data storage units 14 from step S31 is a target for saving data. Processing for determining whether or not to exclude from the data storage unit 14, that is, processing for excluding from the target to be saved in the data storage unit 14 is started.

データ記憶部14の退避する対象からの除外処理では、DMAリクエスト発生部123は、まず、ステップS31においてタスク番号iを“0”にクリアする。続いて、DMAリクエスト発生部123は、ステップS32においてテーブル番号#jを“0”にクリアする。   In the exclusion process from the target to be saved in the data storage unit 14, the DMA request generation unit 123 first clears the task number i to “0” in step S31. Subsequently, the DMA request generation unit 123 clears the table number #j to “0” in step S32.

続いて、DMAリクエスト発生部123は、タスク番号iのタスクを実行する際に使用するデータを保持している外部記憶部20の先頭アドレス(使用アドレス)が、データ転送情報テーブル122のテーブル番号#jに保持された外部記憶部20の先頭アドレス(格納済みアドレス)の情報と同じであるか否かを確認する(ステップS33)。   Subsequently, the DMA request generation unit 123 sets the head address (use address) of the external storage unit 20 holding data used when executing the task with the task number i as the table number # of the data transfer information table 122. It is confirmed whether the information is the same as the information of the start address (stored address) of the external storage unit 20 held in j (step S33).

ステップS33において、タスク番号iのタスクを実行する際に使用するデータを保持している外部記憶部20の先頭アドレス(使用アドレス)が、データ転送情報テーブル122のテーブル番号#jに保持された外部記憶部20の先頭アドレス(格納済みアドレス)の情報と同じであると確認された場合(ステップS33の“YES”)には、ステップS34においてテーブル番号#jに対応するデータ記憶部14を、データを退避する対象のデータ記憶部14から除外する。   In step S33, the external address stored in the table number #j of the data transfer information table 122 is the start address (use address) of the external storage unit 20 that stores data used when executing the task of task number i. When it is confirmed that the information is the same as the information of the head address (stored address) in the storage unit 20 (“YES” in step S33), the data storage unit 14 corresponding to the table number #j is stored in the data in step S34. Are excluded from the data storage unit 14 to be saved.

なお、図8に示したステップS34では、データを退避する対象のデータ記憶部14から除外するための方法として、データ転送情報テーブル122に保持している不図示の書き換えNGフラグ[#j]をON状態にする方法を示している。しかし、格納しているデータを退避する対象のデータ記憶部14から除外するための方法は、図8に示した処理手順に示した方法に限定されるものではない。   In step S34 shown in FIG. 8, a rewrite NG flag [#j] (not shown) held in the data transfer information table 122 is used as a method for excluding data from the data storage unit 14 to be saved. It shows a method of turning on. However, the method for excluding the stored data from the target data storage unit 14 is not limited to the method shown in the processing procedure shown in FIG.

図7に示した状態の場合、最初に処理演算部11に出力するタスク0は、外部記憶部20の先頭アドレス(使用アドレス)0x1000から格納されたデータを使用するタスクであり、データ転送情報テーブル122のテーブル番号#0に保持された外部記憶部20の先頭アドレス(格納済みアドレス)の情報と同じであるため、ステップS33における確認の結果が“YES”となる。これにより、ステップS34において、テーブル番号#0に保持している書き換えNGフラグ[#0]をON状態に変更され、対応するデータ記憶部14aが、データを退避する対象のデータ記憶部14から除外される。   In the state shown in FIG. 7, the task 0 that is first output to the processing operation unit 11 is a task that uses data stored from the top address (use address) 0x1000 of the external storage unit 20, and the data transfer information table Since it is the same as the information of the head address (stored address) of the external storage unit 20 held in the table number # 0 of 122, the confirmation result in step S33 is “YES”. As a result, in step S34, the rewrite NG flag [# 0] held in the table number # 0 is changed to the ON state, and the corresponding data storage unit 14a is excluded from the data storage unit 14 from which data is saved. Is done.

また、タスク0の使用アドレスと、データ転送情報テーブル122のテーブル番号#1に保持された外部記憶部20の先頭アドレス(格納済みアドレス)の情報とは異なるため、ステップS33における確認の結果が“NO”となる。これにより、テーブル番号#1に対応するデータ記憶部14bは、データを退避する対象のデータ記憶部14になる。なお、このとき、テーブル番号#1に保持している書き換えNGフラグ[#1]は変更されるOFF状態のままである。   Further, since the used address of task 0 is different from the information of the start address (stored address) of the external storage unit 20 held in the table number # 1 of the data transfer information table 122, the result of the confirmation in step S33 is “ NO ”. As a result, the data storage unit 14b corresponding to the table number # 1 becomes the data storage unit 14 to which data is saved. At this time, the rewrite NG flag [# 1] held in the table number # 1 remains in the changed OFF state.

同様に、ステップS32のループによって、データ転送情報テーブル122の全てのテーブル番号#jに保持された外部記憶部20の先頭アドレス(格納済みアドレス)の情報が、タスク0の使用アドレスと同じであるかの確認がされる。その後、全てのテーブル番号#jに対するステップS32のループの処理が完了すると、DMAリクエスト発生部123は、ステップS31においてタスク番号iに1を加えてタスク番号i=1とする。そして、同様に、ステップS32のループによる、データ転送情報テーブル122の全てのテーブル番号#jに保持された外部記憶部20の先頭アドレス(格納済みアドレス)の情報が、タスク1の使用アドレスと同じであるかの確認がされる。   Similarly, the information of the start address (stored address) of the external storage unit 20 held in all the table numbers #j of the data transfer information table 122 by the loop of step S32 is the same as the use address of task 0. Is confirmed. Thereafter, when the processing of the loop in step S32 for all the table numbers #j is completed, the DMA request generation unit 123 adds 1 to the task number i in step S31 to set the task number i = 1. Similarly, the start address (stored address) information of the external storage unit 20 held in all the table numbers #j of the data transfer information table 122 by the loop of step S32 is the same as the use address of the task 1 Is confirmed.

このステップS31のループによって、退避閾値よりも小さいタスク番号iのタスクの使用アドレスと、データ転送情報テーブル122の全てのテーブル番号#jに保持された格納済みアドレスとが同じであるか否かの確認がされ、データ転送情報テーブル122に保持しているそれぞれのテーブル番号#jに保持している書き換えNGフラグ[#j]が、順次更新される。   Whether or not the use address of the task with task number i smaller than the save threshold and the stored addresses held in all the table numbers #j of the data transfer information table 122 are the same by the loop of step S31. Confirmation is performed, and the rewrite NG flag [#j] held in each table number #j held in the data transfer information table 122 is sequentially updated.

その後、退避閾値よりも小さいタスク番号iに対するステップS31のループの処理が完了すると、DMAリクエスト発生部123は、ステップS41から、データを退避する対象のデータ記憶部14に現在格納されているデータの退避処理を開始する。   Thereafter, when the processing of the loop in step S31 for the task number i smaller than the save threshold is completed, the DMA request generation unit 123 starts the data stored in the data storage unit 14 to be saved from step S41. Start the save process.

データ記憶部14に現在格納されているデータの退避処理では、DMAリクエスト発生部123は、まず、ステップS41においてテーブル番号#jを“0”にクリアする。続いて、DMAリクエスト発生部123は、それぞれのテーブル番号#jに保持している書き換えNGフラグ[#j]がON状態であるか否かを確認する(ステップS42)。   In the process of saving the data currently stored in the data storage unit 14, the DMA request generation unit 123 first clears the table number #j to “0” in step S41. Subsequently, the DMA request generation unit 123 checks whether or not the rewrite NG flag [#j] held in each table number #j is in an ON state (step S42).

ステップS42において、テーブル番号#jに保持している書き換えNGフラグ[#j]がON状態であると確認された場合(ステップS42の“YES”)には、DMAリクエスト発生部123は、ステップS41においてテーブル番号#jに1を加えてテーブル番号#j=1とする。そして、同様に、ステップS41のループによる、テーブル番号#jに保持している書き換えNGフラグ[#j]がON状態であるか否かの確認を行う。   In step S42, when it is confirmed that the rewrite NG flag [#j] held in the table number #j is in the ON state (“YES” in step S42), the DMA request generating unit 123 performs step S41. 1 is added to the table number #j, so that the table number # j = 1. Similarly, it is confirmed whether or not the rewrite NG flag [#j] held in the table number #j by the loop of step S41 is in the ON state.

また、ステップS42において、テーブル番号#jに保持している書き換えNGフラグ[#j]がON状態でない、すなわち、OFF状態であると確認された場合(ステップS42の“NO”)には、ステップS43においてステップS41のループを抜け出す。   If it is confirmed in step S42 that the rewrite NG flag [#j] held in the table number #j is not in the ON state, that is, in the OFF state (“NO” in step S42), the step In S43, the loop of Step S41 is exited.

そして、DMAリクエスト発生部123は、ステップS41のループを抜け出してきたとき、全てのテーブル番号#jに保持している書き換えNGフラグ[#j]の確認が完了したか否かを確認する。すなわち、演算装置10が備えている全てのデータ記憶部14に対応したデータ転送情報テーブル122の確認が完了したか否かを確認する(ステップS51)。   Then, when the DMA request generation unit 123 has exited the loop of step S41, it confirms whether or not the confirmation of the rewrite NG flag [#j] held in all the table numbers #j has been completed. That is, it is confirmed whether or not the confirmation of the data transfer information table 122 corresponding to all the data storage units 14 included in the arithmetic device 10 has been completed (step S51).

ステップS51において、全てのテーブル番号#jに保持している書き換えNGフラグ[#j]の確認が完了した場合(ステップS51の“NO”)には、処理を完了する。このとき、演算装置10では、データ記憶部14に格納されているデータを外部記憶部20に退避しないことになる。これは、ステップS51において、全てのテーブル番号#jに保持している書き換えNGフラグ[#j]の確認が完了した場合(ステップS51の“NO”)には、ステップS42において、書き換えNGフラグ[#j]がOFF状態であると確認されたテーブル番号#jが確認できずにステップS41のループを抜け出してきたためである。すなわち、退避することができるデータを格納しているデータ記憶部14を発見することができなかったためである。この場合には、処理演算部11のいずれかが現在実行しているタスクの演算処理を完了した後に、その処理演算部11に次のタスクを割り当てる。   In step S51, when the confirmation of the rewrite NG flag [#j] held in all the table numbers #j is completed (“NO” in step S51), the processing is completed. At this time, the arithmetic device 10 does not save the data stored in the data storage unit 14 to the external storage unit 20. In step S51, when the confirmation of the rewrite NG flag [#j] held in all the table numbers #j is completed (“NO” in step S51), the rewrite NG flag [ This is because the table number #j, which is confirmed to be in the OFF state, has escaped from the loop of step S41. That is, the data storage unit 14 storing data that can be saved cannot be found. In this case, after any of the processing calculation units 11 completes the calculation processing of the task currently being executed, the next task is assigned to the processing calculation unit 11.

また、ステップS51において、全てのテーブル番号#jに保持している書き換えNGフラグ[#j]の確認が完了していない場合(ステップS51の“NO”)には、ステップS52において、テーブル番号#jに対応するデータ記憶部14に格納されているデータを外部記憶部20に退避するためのDMA退避アクセス指示を、必要に応じてメモリ制御部13に出力する。   Further, in step S51, when the confirmation of the rewrite NG flag [#j] held in all the table numbers #j is not completed (“NO” in step S51), the table number # is determined in step S52. A DMA save access instruction for saving data stored in the data storage unit 14 corresponding to j to the external storage unit 20 is output to the memory control unit 13 as necessary.

このように、タスク制御部12の第2の動作におけるデータ記憶部14に格納されているデータを退避する処理では、退避閾値を設定し、設定した退避閾値より前のタスクを実行した処理演算部11に対応したデータ記憶部14を、格納しているデータを退避する対象から除外する。これにより、演算装置10では、タスクキュー121に格納されたタスクの数が少ないなど、タスクを実行するまでの待ち時間が少ない場合に、データ記憶部14が空きの状態になるのを意図的に待つことができる。また、演算装置10では、退避閾値を設定することにより、処理演算部11に出力される順番が後の方のタスクを実行する際に使用する、演算処理に必要なデータを格納しているデータ記憶部14のみを、データを退避する対象のデータ記憶部14にすることができる。このことにより、演算装置10では、データ記憶部14に格納しているデータを不用意に退避することによって、外部記憶部20へのアクセス回数が増加してしまうことを回避し、外部記憶部20へのアクセス回数を低減することができる。   As described above, in the process of saving the data stored in the data storage unit 14 in the second operation of the task control unit 12, the saving operation threshold is set, and the processing operation unit that executes the task before the set saving threshold 11 is excluded from the target of saving stored data. As a result, the arithmetic device 10 intentionally causes the data storage unit 14 to become empty when the waiting time until the task is executed is small, such as when the number of tasks stored in the task queue 121 is small. I can wait. Further, in the arithmetic device 10, data storing data necessary for arithmetic processing, which is used when executing a task whose order of output to the processing arithmetic unit 11 is later, by setting a save threshold. Only the storage unit 14 can be used as a data storage unit 14 to which data is saved. As a result, the arithmetic device 10 avoids an increase in the number of accesses to the external storage unit 20 by inadvertently saving the data stored in the data storage unit 14, and the external storage unit 20. The number of accesses to can be reduced.

上記に述べたとおり、本発明を実施するための形態によれば、複数の処理演算部(プロセッサ)が連携して処理を行う演算装置において、それぞれの処理演算部がタスクを実行する際に使用する外部記憶部のデータが重複している場合には、外部記憶部にアクセスせずに、データ記憶部同士でデータをコピーする。そして、データ記憶部同士で重複していないデータのみを外部記憶部から取得して格納する。これにより、本発明を実施するための形態では、それぞれの処理演算部が、割り当てられたタスクを実行する際に外部記憶部にアクセスする回数を減らすことができる演算装置を提供することができる。   As described above, according to the embodiment for carrying out the present invention, in an arithmetic device in which a plurality of processing arithmetic units (processors) perform processing in cooperation, each processing arithmetic unit is used when executing a task. If the data stored in the external storage units overlap, the data storage units are copied without accessing the external storage units. Then, only data that is not duplicated between the data storage units is acquired from the external storage unit and stored. Thereby, in the form for implementing this invention, the arithmetic unit which can reduce the frequency | count that each process calculating part accesses an external memory part when performing the allocated task can be provided.

また、本発明を実施するための形態によれば、外部記憶部から取得したデータを格納するデータ記憶部に、演算処理に必要な前のデータが格納されている場合には、このデータを、事前に外部記憶部に退避しておく。このとき、本発明を実施するための形態では、退避閾値を設定し、タスクキューに格納されたそれぞれのタスクの内、出力される順番が近いタスクを実行する処理演算部に対応したデータ記憶部を、格納しているデータを退避する対象から除外する。これにより、本発明を実施するための形態では、データ記憶部に格納しているデータを不用意に退避することを回避し、外部記憶部にアクセスする回数を減らすことができる演算装置を提供することができる。   Further, according to the embodiment for carrying out the present invention, when the previous data necessary for the arithmetic processing is stored in the data storage unit that stores the data acquired from the external storage unit, Save to the external storage unit in advance. At this time, in a mode for carrying out the present invention, a data storage unit corresponding to a processing operation unit that sets a save threshold and executes a task in the order of output among the tasks stored in the task queue. Are excluded from the target of saving the stored data. Thus, in the embodiment for carrying out the present invention, there is provided an arithmetic device capable of avoiding inadvertently saving data stored in the data storage unit and reducing the number of times of accessing the external storage unit. be able to.

これらにより、本発明を実施するための形態では、演算装置を備えたシステムにおける消費電力を低減することができ、演算装置を備えたシステムの性能を向上させることができる。   Thus, in the embodiment for implementing the present invention, power consumption in a system including an arithmetic device can be reduced, and the performance of the system including the arithmetic device can be improved.

なお、本実施形態においては、データ転送情報テーブル122をタスク制御部12内に備えた構成について説明したが、演算装置10内でデータ転送情報テーブル122を備える位置は、本発明を実施するための形態の位置に限定されるものではない。例えば、データ転送情報テーブル122をメモリ制御部13内に備えた構成であってもよい。また、例えば、データ転送情報テーブル122を演算装置10内の別の構成要素として備えた構成であってもよい。この場合でも、タスク制御部12は、データ転送情報テーブル122に保持している情報を参照しながら、それぞれのアクセス指示をメモリ制御部13に出力する。   In the present embodiment, the configuration in which the data transfer information table 122 is provided in the task control unit 12 has been described. However, the position in the arithmetic device 10 where the data transfer information table 122 is provided is for implementing the present invention. It is not limited to the position of the form. For example, the data transfer information table 122 may be provided in the memory control unit 13. For example, the data transfer information table 122 may be provided as another component in the arithmetic device 10. Even in this case, the task control unit 12 outputs each access instruction to the memory control unit 13 while referring to the information held in the data transfer information table 122.

また、本実施形態においては、外部記憶部20が演算装置10に接続されている構成について説明したが、演算装置10と外部記憶部20との接続は、本発明を実施するための形態のように、演算装置10と外部記憶部20とが直接接続されている構成に限定されるものではない。例えば、外部記憶部20が、ネットワーク上に構成されたサーバであり、演算装置10とサーバとが、ネットワークを介して接続される構成であっても、同様に、本発明の考え方を適用することができる。この場合、例えば、メモリ制御部13は、通信部を介して、サーバからのデータの読み出し(受信)や、サーバへのデータの書き込み(送信)を行うと考えることができる。   In the present embodiment, the configuration in which the external storage unit 20 is connected to the arithmetic device 10 has been described. However, the connection between the arithmetic device 10 and the external storage unit 20 is as in the form for carrying out the present invention. In addition, the configuration is not limited to the configuration in which the arithmetic device 10 and the external storage unit 20 are directly connected. For example, even if the external storage unit 20 is a server configured on a network and the arithmetic device 10 and the server are connected via a network, the concept of the present invention is similarly applied. Can do. In this case, for example, it can be considered that the memory control unit 13 reads (receives) data from the server or writes (transmits) data to the server via the communication unit.

また、本実施形態においては、タスク制御部12がアクセス指示をメモリ制御部13に出力するタイミングに関して説明していないが、このタイミングは、例えば、タスク制御部12が事前にわかっている、それぞれのタスクを実行する際の実行時間(サイクル数)などの情報に基づいて、外部記憶部20やデータ記憶部14にアクセスするタイミングを決定してもよい。また、例えば、タスクキュー121に格納されたタスクに含まれるプログラムのサイズや、データ量またはループ回数などのパラメータに基づいて、タスクを実行する際の実行時間(サイクル数)などを算出し、算出した実行時間(サイクル数)に基づいて、外部記憶部20やデータ記憶部14にアクセスするタイミングを決定する構成であってもよい。   In the present embodiment, the timing at which the task control unit 12 outputs the access instruction to the memory control unit 13 is not described. However, this timing is, for example, known in advance by the task control unit 12. The timing for accessing the external storage unit 20 or the data storage unit 14 may be determined based on information such as the execution time (number of cycles) when executing the task. Also, for example, based on parameters such as the size of the program included in the task stored in the task queue 121 and the amount of data or the number of loops, the execution time (number of cycles) for executing the task is calculated and calculated. The timing for accessing the external storage unit 20 or the data storage unit 14 may be determined based on the execution time (number of cycles).

また、本実施形態においては、タスク制御部12が、タスクキュー121に格納されたそれぞれのタスクを出力する順番を制御する方法に関して説明していないが、このタスクを出力する順番は、例えば、タスクキュー121に格納されたそれぞれのタスクの優先度に基づいて、タスクを出力する順番を制御する構成であってもよい。   In the present embodiment, the task control unit 12 does not describe a method for controlling the order in which the tasks stored in the task queue 121 are output. However, the order in which the tasks are output is, for example, a task The configuration may be such that the order in which tasks are output is controlled based on the priority of each task stored in the queue 121.

また、本実施形態においては、それぞれの処理演算部11の処理機能に関して説明していないが、例えば、演算装置10を、撮像装置などの撮像システム内に備えている場合には、それぞれの処理演算部11は、撮像システムにおける画像処理を行う処理機能を持っていると考えることができる。   In the present embodiment, the processing function of each processing operation unit 11 is not described. For example, when the arithmetic device 10 is provided in an imaging system such as an imaging device, each processing operation is performed. The unit 11 can be considered to have a processing function for performing image processing in the imaging system.

また、本実施形態においては、演算装置10に備えたそれぞれの処理演算部11が持っている処理機能について説明していない。しかし、例えば、演算装置10が、撮像装置などの撮像システムに備えた画像処理装置である場合には、それぞれの処理演算部11の処理機能は、YC変換処理、ノイズ除去処理、歪み補正処理、キズ補正処理、画像圧縮処理など、撮像システムにおける様々な画像処理を行うことができる処理機能であると考えられる。また、例えば、演算装置10が、撮像装置などの撮像システムに備えた画像処理装置内の画像認識部など、撮像システムにおける画像処理の一部の処理部である場合には、それぞれの処理演算部11の処理機能は、画像処理装置内の一部の処理部において種々の処理を行うための処理機能であると考えられる。   Moreover, in this embodiment, the processing function which each processing calculating part 11 with which the calculating device 10 was equipped has is not demonstrated. However, for example, when the arithmetic device 10 is an image processing device provided in an imaging system such as an imaging device, the processing functions of the respective processing arithmetic units 11 include YC conversion processing, noise removal processing, distortion correction processing, It is considered that this is a processing function capable of performing various image processing in the imaging system such as scratch correction processing and image compression processing. For example, when the arithmetic device 10 is a part of image processing in the imaging system, such as an image recognition unit in an image processing device provided in an imaging system such as an imaging device, each processing arithmetic unit The processing function 11 is considered to be a processing function for performing various processes in a part of the processing units in the image processing apparatus.

以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。   The embodiment of the present invention has been described above with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes various modifications within the scope of the present invention. It is.

10・・・演算装置
11,11a,11b,11n・・・処理演算部
12・・・タスク制御部
121・・・タスクキュー(タスク制御部)
122・・・データ転送情報テーブル
123・・・DMAリクエスト発生部(タスク制御部)
1231・・・使用アドレス選択部(タスク制御部)
1232・・・格納済みアドレス選択部(タスク制御部)
1233・・・アドレス比較部(タスク制御部)
1234・・・データ量比較部(タスク制御部)
1235・・・DMAリクエストコマンド生成部(タスク制御部)
13・・・メモリ制御部
14,14a,14b,14n・・・データ記憶部
20・・・外部記憶部
DESCRIPTION OF SYMBOLS 10 ... Arithmetic unit 11, 11a, 11b, 11n ... Processing operation part 12 ... Task control part 121 ... Task queue (task control part)
122... Data transfer information table 123... DMA request generation unit (task control unit)
1231: Used address selection unit (task control unit)
1232 ... Stored address selection unit (task control unit)
1233: Address comparison unit (task control unit)
1234... Data amount comparison unit (task control unit)
1235: DMA request command generation unit (task control unit)
13 ... Memory control unit 14, 14a, 14b, 14n ... Data storage unit 20 ... External storage unit

Claims (8)

入力されたタスクに応じた演算処理を行う処理機能を有し、次に実行する演算処理に関する情報を前記タスクとして出力する複数の処理演算部と、
それぞれの前記処理演算部が前記タスクに応じた演算処理を実行する際に使用するデータ、または前記タスクに応じた演算処理を実行した結果のデータを格納する複数のデータ記憶部と、
前記タスクに応じた演算処理を実行する際に使用するデータを接続された外部記憶部から読み出して前記データ記憶部に格納することと、前記データ記憶部に格納されている前記タスクに応じた演算処理を実行する際に使用するデータ前記データ記憶部同士で転送することと、前記データ記憶部に格納されている前記タスクに応じた演算処理を実行した結果のデータを接続された前記外部記憶部に書き込むこととを行うためのメモリ制御部と、
前記データ記憶部のそれぞれが格納しているデータの前記外部記憶部における記憶場所とデータ量を示す情報を保持するデータ転送情報テーブルと、
前記タスクを順次格納するタスクキューを具備し、該タスクキューに格納された前記タスクを、複数の前記処理演算部の内、いずれか1つの前記処理演算部に出力すると共に、アクセス指示の対象となるタスクに応じた演算処理を実行する際に使用するデータの前記外部記憶部における記憶場所とデータ量を示す情報と、前記データ転送情報テーブルに保持された情報を参照して、前記外部記憶部または前記データ記憶部へのアクセスを前記メモリ制御部に指示する前記アクセス指示を出力するタスク制御部と、
を備えることを特徴とする演算装置。
A plurality of processing operation units having a processing function for performing arithmetic processing according to the input task, and outputting information on the arithmetic processing to be executed next as the task;
A plurality of data storage units for storing data used when each of the processing calculation units executes a calculation process corresponding to the task, or data obtained as a result of executing the calculation process corresponding to the task;
Reading out data to be used when performing arithmetic processing according to the task from a connected external storage unit and storing it in the data storage unit, and calculating according to the task stored in the data storage unit and transferring the data to be used in performing the process in the data storage portions, the coupled data of a result of executing the operation processing in accordance with the tasks that are stored in the data storage unit the external storage A memory control unit for writing to the unit,
A data transfer information table for holding information indicating a storage location and a data amount of the data stored in each of the data storage units in the external storage unit;
A task queue for sequentially storing the tasks, the task stored in the task queue being output to any one of the processing arithmetic units among the processing arithmetic units; The external storage unit with reference to the information indicating the storage location and amount of data in the external storage unit of data used when executing the arithmetic processing according to the task and the information held in the data transfer information table Or a task control unit that outputs the access instruction to instruct the memory control unit to access the data storage unit;
An arithmetic device comprising:
前記タスク制御部は、
アクセス指示の対象となるタスクに応じた演算処理を実行する際に使用するデータの前記外部記憶部における記憶場所とデータ量により、データの範囲を特定し、この特定したものを、第1の特定したデータの範囲とし、
前記データ転送情報テーブルに保持された情報に基づいて、前記データ記憶部毎に、当該データ記憶部が格納しているデータの前記外部記憶部における記憶場所とデータ量を特定し、この特定したものを、前記データ記憶部毎の、第2の特定したデータの範囲とし、
前記第1の特定したデータの範囲と、前記データ記憶部毎の、前記第2の特定したデータの範囲に基づいて、アクセス指示の対象となるタスクに対応する前記アクセス指示を出力する、
ことを特徴とする請求項1に記載の演算装置。
The task control unit
The range of data is specified by the storage location and the amount of data in the external storage unit of the data to be used when executing the arithmetic processing according to the task that is the target of the access instruction. Data range
The data based on the information held in the transfer information table, the every data storage unit, which identifies a storage location and the data amount in the external storage unit of the data provided in the data storage unit is stored, and this particular As the second specified data range for each data storage unit,
Based on the first specified data range and the second specified data range for each of the data storage units , the access instruction corresponding to the task that is the target of the access instruction is output.
The arithmetic unit according to claim 1.
前記タスク制御部は、
前記データ記憶部毎の、前記第2の特定したデータの範囲のいずれかが、前記第1の特定したデータの範囲と重複している場合には、該重複している対象の前記データ記憶部から、アクセス指示の対象となるタスクに応じた演算処理を実行する前記処理演算部に対応する前記データ記憶部に、当該重複している範囲のデータを、前記データ記憶部同士で転送することを指示する前記アクセス指示を出力し、
前記データ記憶部毎の、前記第2の特定したデータの範囲のいずれも、前記第1の特定したデータの範囲と重複していない場合には、前記外部記憶部のうちの、前記第1の特定したデータの範囲からデータを読み出して、アクセス指示の対象となるタスクに応じた演算処理を実行する前記処理演算部に対応する前記データ記憶部に格納することを指示する前記アクセス指示を出力する、
ことを特徴とする請求項2に記載の演算装置。
The task control unit
Wherein the data storage unit each, any range of the second specified data is wherein the first identified if you are overlapped with the range of data, the data for which are those that multiplicity from the storage unit, the data storage unit corresponding to the subject to pre-Symbol processing calculating unit that perform processing in accordance with the task of access instruction, the data of the range being the overlap in the data storage portions Outputting the access instruction instructing to transfer,
Wherein the data storage unit each, none of the second range of the identified data, wherein the first identified duplicated have such have field if the range of data, of said external storage unit, the first reads data from the specified range of data of 1, the access for instructing to store in the data storage unit corresponding to the previous SL processing computation section that perform arithmetic processing in accordance with the subject to the task of access instruction Output instructions,
The arithmetic unit according to claim 2.
前記タスク制御部は、
前記データ記憶部毎の、前記第2の特定したデータの範囲のいずれかと、前記第1の特定したデータの範囲が、部重複している場合には、
当該一部重複している対象の前記データ記憶部から、アクセス指示の対象となるタスクに応じた演算処理を実行する前記処理演算部に対応する前記データ記憶部に、当該一部重複している部分である一部のデータを、前記データ記憶部同士で転送することを指示する前記アクセス指示を出力するとともに
前記第1の特定したデータの範囲のうち、前記一部重複している部分を除く部分である残りのデータを前記外部記憶部から読み出して、アクセス指示の対象となるタスクに応じた演算処理を実行する前記処理演算部に対応する前記データ記憶部における、前記一部のデータを格納しない領域に、前記残りのデータを格納することを指示する前記アクセス指示を出力する、
ことを特徴とする請求項3に記載の演算装置。
The task control unit
Wherein the data storage unit each, and any one of the second range of the specified data, the first range of the specified data, in case you are part duplicate the
The data storage unit corresponding to the processing operation unit that executes the operation processing according to the task that is the target of the access instruction is partially overlapped from the data storage unit that is the target of the partial overlap. some of the data is a part, together with the outputs an access instruction to transfer the data storage portions,
Of the first range of the specified data, the remaining data is a portion except for the part that overlaps said portion, is read from the external storage unit, arithmetic processing according to the task to be accessed instruction Keru in the data storage unit corresponding to the previous SL processing computation section that perform the part of the data in the storage Shinano have area, outputs the access instructions for instructing to store the remaining data To
The arithmetic unit according to claim 3.
前記タスク制御部は、
同じ範囲のデータを、複数の前記処理演算部のそれぞれに対応する複数の前記データ記憶部に格納する場合には、
当該同じ範囲のデータを格納している前記データ記憶部から、当該同じ範囲のデータを格納する対象となる複数の前記データ記憶部のうち、既に当該同じ範囲のデータを格納している前記データ記憶部を除いた、前記データ記憶部に、当該同じ範囲のデータを同時に転送することを指示する前記アクセス指示を出力するか、または
記外部記憶部から当該同じ範囲のデータを読み出して、当該同じ範囲のデータを格納する対象となる複数の前記データ記憶部に同時に格納することを指示する前記アクセス指示を出力する、
ことを特徴とする請求項2から請求項4のいずれか1の項に記載の演算装置。
The task control unit
To store the data in the same range, a plurality of the data storage unit corresponding to each of the processing operation of the multiple number,
From the data storage unit storing the same range of data, the data storage already storing the same range of data among the plurality of data storage units to be stored in the same range of data part except, in the data storage unit, or the output of said access instruction to transfer the same range of data at the same time, or,
Reads data of the same range from the front Kigaibu storage unit, and outputs the access instruction to store the same time to a plurality of said data storage unit for which to store the data in the same range,
The arithmetic unit according to any one of claims 2 to 4, characterized in that:
前記タスク制御部は、
全ての前記データ記憶部のそれぞれに、いずれかのタスクに応じた演算処理で使用するデータが格納されていて、前記データ記憶部に空きがない場合には、アクセス指示の対象となるタスクに応じた演算処理を実行する際に使用するデータを前記データ記憶部に格納することを指示するためのアクセス指示を出力するよりも前に、複数の前記データ記憶部のいずれかに格納されているデータを前記外部記憶部に書き込んで退避するための別のアクセス指示を出力する、
ことを特徴とする請求項2から請求項5のいずれか1の項に記載の演算装置。
The task control unit
Each of all the data storage unit, and contains the data used in arithmetic processing in accordance with any of the tasks, if there is no room in the data storage unit, depending on the task to be accessed instruction Data stored in any of the plurality of data storage units before outputting an access instruction for instructing to store data used in executing the arithmetic processing in the data storage unit the to output the another access instruction for saving written to the external storage unit,
The arithmetic unit according to any one of claims 2 to 5, wherein the arithmetic unit is any one of the above.
前記タスク制御部は、
前記タスクキューに格納されたそれぞれの前記タスク内の、予め定めた退避閾値より前の前記タスクに応じた演算処理を実行する際に使用するデータを格納している前記データ記憶部を、データの退避を行う前記データ記憶部から除外する、
ことを特徴とする請求項6に記載の演算装置。
The task control unit
In each of the tasks stored in the task queue, the data storage unit storing data to be used when executing an arithmetic process corresponding to the task before a predetermined save threshold is stored. Exclude from the data storage unit to save,
The arithmetic unit according to claim 6.
前記退避閾値は、
前記タスクキューに格納されたそれぞれの前記タスクの内、前記処理演算部に出力される順番が近い前記タスクの数である、
ことを特徴とする請求項7に記載の演算装置。
The evacuation threshold is
Of the tasks stored in the task queue, the number of the tasks that are close in order to be output to the processing operation unit.
The arithmetic unit according to claim 7.
JP2013103261A 2013-05-15 2013-05-15 Arithmetic unit Expired - Fee Related JP6161396B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013103261A JP6161396B2 (en) 2013-05-15 2013-05-15 Arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013103261A JP6161396B2 (en) 2013-05-15 2013-05-15 Arithmetic unit

Publications (2)

Publication Number Publication Date
JP2014225089A JP2014225089A (en) 2014-12-04
JP6161396B2 true JP6161396B2 (en) 2017-07-12

Family

ID=52123737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013103261A Expired - Fee Related JP6161396B2 (en) 2013-05-15 2013-05-15 Arithmetic unit

Country Status (1)

Country Link
JP (1) JP6161396B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6693215B2 (en) * 2016-03-25 2020-05-13 ヤマハ株式会社 Image processing device
JP7162956B2 (en) * 2019-09-02 2022-10-31 株式会社デンソー data processor and program
US11651209B1 (en) 2019-10-02 2023-05-16 Google Llc Accelerated embedding layer computations

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003034229A1 (en) * 2001-10-19 2003-04-24 Telefonaktiebolaget Lm Ericsson Data prefecthing in a computer system
JP2005284749A (en) * 2004-03-30 2005-10-13 Kyushu Univ Parallel computer
JP2007047968A (en) * 2005-08-09 2007-02-22 Olympus Corp Multiprocessor system
JP5224498B2 (en) * 2007-02-28 2013-07-03 学校法人早稲田大学 MEMORY MANAGEMENT METHOD, INFORMATION PROCESSING DEVICE, PROGRAM CREATION METHOD, AND PROGRAM
JP4945611B2 (en) * 2009-09-04 2012-06-06 株式会社東芝 Multiprocessor

Also Published As

Publication number Publication date
JP2014225089A (en) 2014-12-04

Similar Documents

Publication Publication Date Title
JP6009692B2 (en) Multi-mode memory access technique for graphics processing unit based memory transfer operations
US20070091097A1 (en) Method and system for synchronizing parallel engines in a graphics processing unit
JP4981041B2 (en) Caching method, apparatus and system
JPH0348370A (en) Memory access control circuit
JP2008269282A (en) Information processing device, method and program
JP2007241612A (en) Multi-master system
US20130036426A1 (en) Information processing device and task switching method
US7760205B2 (en) Information processing apparatus for efficient image processing
US20110078351A1 (en) Information processor system
JPH0640307B2 (en) Data processing system
JP6161396B2 (en) Arithmetic unit
JP2006338538A (en) Stream processor
US9172839B2 (en) Image forming apparatus, control method and storage medium
US20180173626A1 (en) Memory management device
CN105389134A (en) Flash memory interface control method and apparatus
US10459654B2 (en) Storage apparatus, storage apparatus backup method, storage apparatus backup system, and storage medium
JP2010146084A (en) Data processor including cache memory control section
US20060061579A1 (en) Information processing apparatus for efficient image processing
JP2008009702A (en) Arithmetic processing system
JPWO2009116279A1 (en) Processing apparatus, processing system, data sharing processing method, and integrated circuit for data sharing processing
JP5168800B2 (en) Multiprocessor system
US20220291993A1 (en) Information processing apparatus and information processing method
JP2007333892A (en) Memory controller, bus controller, and display device control system
WO2014069007A1 (en) Storage device and data backup method
KR102280241B1 (en) System for controlling memory-access, apparatus for controlling memory-access and method for controlling memory-access using the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20161118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170531

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170613

R151 Written notification of patent or utility model registration

Ref document number: 6161396

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees