JP2023009973A - Arithmetic circuit, arithmetic device, method, and program - Google Patents

Arithmetic circuit, arithmetic device, method, and program Download PDF

Info

Publication number
JP2023009973A
JP2023009973A JP2021113691A JP2021113691A JP2023009973A JP 2023009973 A JP2023009973 A JP 2023009973A JP 2021113691 A JP2021113691 A JP 2021113691A JP 2021113691 A JP2021113691 A JP 2021113691A JP 2023009973 A JP2023009973 A JP 2023009973A
Authority
JP
Japan
Prior art keywords
data
read
arithmetic
dma
external memory
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.)
Granted
Application number
JP2021113691A
Other languages
Japanese (ja)
Other versions
JP7428392B2 (en
Inventor
直樹 樋渡
Naoki Hiwatari
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.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2021113691A priority Critical patent/JP7428392B2/en
Publication of JP2023009973A publication Critical patent/JP2023009973A/en
Application granted granted Critical
Publication of JP7428392B2 publication Critical patent/JP7428392B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

To provide an arithmetic circuit, an arithmetic device, a method, and a program capable of shortening processing time when using a result of first arithmetic processing in second arithmetic processing.SOLUTION: An arithmetic circuit 12 according to the present disclosure includes: a DMA read control unit 121 that reads, from an external memory, second data obtained as a result of arithmetic processing of first data by another arithmetic circuit 11 and stored in the external memory and transfers the second data to an arithmetic processing unit 122; the arithmetic processing unit 122 that performs arithmetic processing on the second data to output third data; a DMA write control unit 123 that writes the third data in the external memory; and a DMA transfer control unit 124 that controls the DMA read control unit 121 to read the second data from the external memory after acquiring a write completion notification indicating that the writing of the second data is completed from the other arithmetic circuit 11.SELECTED DRAWING: Figure 1

Description

本開示は、演算回路、演算装置、方法、及びプログラムに関し、特に、第1演算処理の結果を第2演算処理で使用する場合に処理時間を短縮することが可能な演算回路、演算装置、方法、及びプログラムに関する。 TECHNICAL FIELD The present disclosure relates to an arithmetic circuit, an arithmetic device, a method, and a program, and particularly an arithmetic circuit, an arithmetic device, and a method capable of reducing processing time when using the result of a first arithmetic processing in a second arithmetic processing. , and programs.

演算処理を実行する回路としてFPGA(Field Programmable Gate Array)が知られている。FPGAには複数の演算回路が含まれ、複数の演算回路と単一の外部メモリとが接続されるものが有る。そして、複数の演算回路のうちの第1演算処理の結果を第2演算処理で使用し、第2演算処理の結果を第3演算処理で使用するというような演算処理の方法が知られている。すなわち、シリーズに逐次処理する演算処理の方法が知られている。 An FPGA (Field Programmable Gate Array) is known as a circuit that executes arithmetic processing. Some FPGAs include a plurality of arithmetic circuits, and a plurality of arithmetic circuits and a single external memory are connected. A method of arithmetic processing is known in which the result of the first arithmetic processing among the plurality of arithmetic circuits is used in the second arithmetic processing, and the result of the second arithmetic processing is used in the third arithmetic processing. . That is, there is known a method of arithmetic processing in which a series of sequential processing is performed.

特許文献1の0026段落には、「ASICは、外部デバイスとの接続のI/F(インターフェイス)を行うイーサネットI/FとUSB I/F、イーサネットI/F用のリードDMAC(Direct Memory Access Controller:DMAコントローラ)とライトDMAC、USB I/F用の2つのリードDMACとライトDMAC、アービタ及びPCIeインターフェイスであるPCIeエンドポイント等を備えており、外部デバイスとのインターフェイス処理を行う。」と記載されている。また、特許文献1の0028段落には、「メインメモリ上に保存されている出力データをリードDMACによって、PCIeエンドポイントからアービタを経由してUSB I/Fにデータ転送を行って、USB I/FによりUSB上に出力し、USBからのデータ受信においては、USB I/Fにより受信したデータをライトDMACによって、アービタを経由してメインメモリにライトする。」と記載されている。特許文献1には、シリーズに逐次処理する演算処理において処理時間を短縮することは記載されていない。 In paragraph 0026 of Patent Document 1, "ASIC includes Ethernet I/F and USB I/F that perform I/F (interface) for connection with external devices, read DMAC (Direct Memory Access Controller) for Ethernet I/F. : DMA controller) and write DMAC, two read DMAC and write DMAC for USB I/F, an arbiter and a PCIe endpoint that is a PCIe interface, etc., and perform interface processing with external devices." ing. In addition, in paragraph 0028 of Patent Document 1, it is stated that "output data stored in the main memory is read and transferred from the PCIe endpoint to the USB I/F via the arbiter by the DMAC, and the data is transferred to the USB I/F. When data is received from the USB, the data received by the USB I/F is written to the main memory by the write DMAC via the arbiter." Japanese Patent Application Laid-Open No. 2002-200003 does not describe shortening the processing time in the arithmetic processing that is performed sequentially in series.

特開2010-211349号公報JP 2010-211349 A

上記のとおり、特許文献1には、シリーズに逐次処理する演算処理において処理時間を短縮することは記載されておらず、処理時間を短縮する回路等が所望されていた。 As described above, Patent Literature 1 does not describe shortening the processing time in arithmetic processing that is performed sequentially in series, and a circuit or the like that shortens the processing time has been desired.

本開示の目的は、上述した課題を解決する演算回路、演算装置、方法、及びプログラムを提供することにある。 An object of the present disclosure is to provide an arithmetic circuit, an arithmetic device, a method, and a program that solve the above problems.

本開示に係る演算回路は、
別の演算回路が第1データを演算処理した結果得られた第2データであって外部メモリに保存された前記第2データを前記外部メモリから読出し、前記第2データを演算処理部に転送するDMA読出し制御部と、
前記第2データを演算処理して第3データを出力する前記演算処理部と、
前記第3データを前記外部メモリに書込むDMA書込み制御部と、
前記別の演算回路から前記第2データの書込みが完了した旨を示す書込完了通知を取得した後に、前記外部メモリから前記第2データを読出すように前記DMA読出し制御部を制御するDMA転送制御部と、
を備える。
The arithmetic circuit according to the present disclosure is
The second data obtained as a result of arithmetic processing of the first data by another arithmetic circuit and stored in the external memory is read from the external memory, and the second data is transferred to the arithmetic processing unit. a DMA read controller;
the arithmetic processing unit that performs arithmetic processing on the second data and outputs third data;
a DMA write controller that writes the third data to the external memory;
DMA transfer for controlling the DMA read control unit to read the second data from the external memory after obtaining a write completion notification indicating completion of writing of the second data from the other arithmetic circuit. a control unit;
Prepare.

本開示に係る演算装置は、
第1データを演算処理し、演算処理した後の第2データを出力する第1演算回路と、
前記第2データを演算処理し、演算処理した後の第3データを出力する第2演算回路と、
を備え、
前記第1演算回路は、
外部メモリから前記第1データを読出し、前記第1データを第1演算処理部に転送する第1DMA読出し制御部と、
前記第1データを演算処理して前記第2データを出力する前記第1演算処理部と、
前記第2データを前記外部メモリに書込む第1DMA書込み制御部と、
前記第1データの読出しタイミングを制御する第1DMA転送制御部と、を有し、
前記第2演算回路は、
前記外部メモリから前記第2データを読出し、前記第2データを第2演算処理部に転送する第2DMA読出し制御部と、
前記第2データを演算処理して前記第3データを出力する前記第2演算処理部と、
前記第3データを前記外部メモリに書込む第2DMA書込み制御部と、
前記第1DMA書込み制御部から前記第2データの書込みが完了した旨を示す書込完了通知を取得した後に、前記外部メモリから前記第2データを読出すように前記第2DMA読出し制御部を制御する第2DMA転送制御部と、を有する。
The computing device according to the present disclosure is
a first arithmetic circuit that performs arithmetic processing on first data and outputs second data after the arithmetic processing;
a second arithmetic circuit that performs arithmetic processing on the second data and outputs third data after the arithmetic processing;
with
The first arithmetic circuit is
a first DMA read control unit that reads the first data from an external memory and transfers the first data to a first arithmetic processing unit;
a first arithmetic processing unit that arithmetically processes the first data and outputs the second data;
a first DMA write controller that writes the second data to the external memory;
a first DMA transfer control unit that controls read timing of the first data;
The second arithmetic circuit is
a second DMA read control unit that reads the second data from the external memory and transfers the second data to a second arithmetic processing unit;
a second arithmetic processing unit that arithmetically processes the second data and outputs the third data;
a second DMA write controller that writes the third data to the external memory;
controlling the second DMA read control unit to read the second data from the external memory after obtaining from the first DMA write control unit a write completion notification indicating that the writing of the second data is completed; and a second DMA transfer control unit.

本開示に係る方法は、
別の演算回路が第1データを演算処理した結果得られた第2データであって外部メモリに保存された前記第2データを前記外部メモリから読出し、前記第2データを演算処理部に転送することと、
前記第2データを演算処理して第3データを出力することと、
前記第3データを前記外部メモリに書込むことと、
前記別の演算回路から前記第2データの書込みが完了した旨を示す書込完了通知を取得した後に、前記外部メモリから前記第2データを読出すことと、
を備える。
A method according to the present disclosure includes:
The second data obtained as a result of arithmetic processing of the first data by another arithmetic circuit and stored in the external memory is read from the external memory, and the second data is transferred to the arithmetic processing unit. and
Arithmetic processing of the second data to output third data;
writing the third data to the external memory;
reading the second data from the external memory after obtaining a write completion notification indicating that the writing of the second data has been completed from the other arithmetic circuit;
Prepare.

本開示に係るプログラムは、
別の演算回路が第1データを演算処理した結果得られた第2データであって外部メモリに保存された前記第2データを前記外部メモリから読出し、前記第2データを演算処理部に転送することと、
前記第2データを演算処理して第3データを出力することと、
前記第3データを前記外部メモリに書込むことと、
前記別の演算回路から前記第2データの書込みが完了した旨を示す書込完了通知を取得した後に、前記外部メモリから前記第2データを読出すことと、
をコンピュータに実行させる。
The program according to the present disclosure is
The second data obtained as a result of arithmetic processing of the first data by another arithmetic circuit and stored in the external memory is read from the external memory, and the second data is transferred to the arithmetic processing unit. and
Arithmetic processing of the second data to output third data;
writing the third data to the external memory;
reading the second data from the external memory after obtaining a write completion notification indicating that the writing of the second data has been completed from the other arithmetic circuit;
run on the computer.

本開示によれば、第1演算処理の結果を第2演算処理で使用する場合に処理時間を短縮することが可能な演算回路、演算装置、方法、及びプログラムを提供することができる。 According to the present disclosure, it is possible to provide an arithmetic circuit, an arithmetic device, a method, and a program capable of shortening the processing time when using the result of the first arithmetic processing in the second arithmetic processing.

実施の形態1に係る演算回路を例示するブロック図である。1 is a block diagram illustrating an arithmetic circuit according to Embodiment 1; FIG. 実施の形態1に係る演算装置を例示するブロック図である。1 is a block diagram illustrating an arithmetic device according to Embodiment 1; FIG. 実施の形態1に係る演算装置の動作を例示するフローチャートである。4 is a flowchart illustrating the operation of the arithmetic device according to Embodiment 1; 実施の形態2に係る演算装置を例示するブロック図である。FIG. 11 is a block diagram illustrating an arithmetic device according to a second embodiment; FIG. 実施の形態2の比較例に係る演算装置を例示するブロック図である。FIG. 11 is a block diagram illustrating an arithmetic device according to a comparative example of the second embodiment; FIG. 実施の形態2の比較例に係る演算装置の動作を例示するフローチャートである。10 is a flowchart illustrating the operation of an arithmetic device according to a comparative example of the second embodiment;

以下、図面を参照して本発明の実施の形態について説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明を省略する。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the drawings. In each drawing, the same reference numerals are given to the same or corresponding elements, and redundant description will be omitted as necessary for clarity of description.

[実施の形態1]
<構成>
図1は、実施の形態1に係る演算回路を例示するブロック図である。
図1は、例えば、FPGA(Field Programmable Gate Array)内部に実装された演算回路を示す。
[Embodiment 1]
<Configuration>
FIG. 1 is a block diagram illustrating an arithmetic circuit according to Embodiment 1. FIG.
FIG. 1 shows, for example, an arithmetic circuit implemented inside an FPGA (Field Programmable Gate Array).

図1に示すように、実施の形態1に係る演算回路12は、単一の外部メモリに接続されている。また、別の演算回路11も、単一の外部メモリに接続されている。演算回路12と別の演算回路11は、例えば、FPGAの中のそれぞれ1つの演算回路である。演算回路12と別の演算回路11は同様な構成であるので、ここでは、演算回路12について説明し、別の演算回路11の説明は省略する。 As shown in FIG. 1, the arithmetic circuit 12 according to the first embodiment is connected to a single external memory. Another arithmetic circuit 11 is also connected to the single external memory. The arithmetic circuit 12 and the further arithmetic circuit 11 are, for example, one arithmetic circuit each in an FPGA. Since the arithmetic circuit 12 and the other arithmetic circuit 11 have the same configuration, the arithmetic circuit 12 will be explained here, and the explanation of the other arithmetic circuit 11 will be omitted.

演算回路12は、DMA読出し制御部121と演算処理部と122とDMA書込み制御部123とDMA転送制御部124とを備える。DMA(Direct Memory Access)は、ダイレクトメモリーアクセスの略である。なお、別の演算回路を第1演算回路と称し、演算回路を第2演算回路と称することもある。また、DMA読出し制御部をダイレクトメモリリードコントローラと称し、DMA書込み制御部をダイレクトメモリライトコントローラと称することもある。 The arithmetic circuit 12 includes a DMA read control section 121 , an arithmetic processing section 122 , a DMA write control section 123 and a DMA transfer control section 124 . DMA (Direct Memory Access) is an abbreviation for direct memory access. Note that another arithmetic circuit may be called a first arithmetic circuit, and the arithmetic circuit may be called a second arithmetic circuit. Also, the DMA read controller is sometimes called a direct memory read controller, and the DMA write controller is sometimes called a direct memory write controller.

DMA読出し制御部121は、別の演算回路11が第1データを演算処理した結果得られた第2データであって外部メモリに保存された該第2データを外部メモリから読出す。DMA読出し制御部121は、読み出した第2データを演算処理部122に転送する。 DMA read control unit 121 reads from the external memory the second data that is the second data obtained as a result of arithmetic processing of the first data by another arithmetic circuit 11 and that is stored in the external memory. The DMA read control unit 121 transfers the read second data to the arithmetic processing unit 122 .

演算処理部122は、外部メモリから読み出した第2データを演算処理して第3データを出力する。 The arithmetic processing unit 122 arithmetically processes the second data read from the external memory and outputs the third data.

DMA書込み制御部123は、演算処理部122が出力した第3データを外部メモリに書込む。 The DMA write control unit 123 writes the third data output by the arithmetic processing unit 122 to the external memory.

ここで、実施の形態1では、別の演算回路11の演算処理の結果を演算回路12の演算処理で使用する。具体的には、演算回路12の演算処理部122は、別の演算回路11の演算処理部112が演算処理した結果であって単一の外部メモリに保存された(書込まれた)第2データを演算処理する。従って、DMA読出し制御部121が第2データを読出す際に、該第2データが別の演算回路11のDMA書込み制御部113によって既に外部メモリに保存されていなければならない。一般的に、演算回路12のDMA読出し制御部121は、このような動作を行うため、別の演算回路11のDMA書込み制御部113による外部メモリへの転送及び書込み処理を待ち合わせる必要がある。このため、実施の形態1とは異なる方法では、例えば、第2データの外部メモリへの転送処理及び書込み処理が完了するタイミングを見計らって、任意のウェイト(時間)を入れて第2データの読出し開始タイミングを調整する方法を採用している。しかしながら、このような方法では、第2データの書込み完了時刻と第2データの読出し開始時刻との間に待ち時間が存在することになり、処理時間が増加してしまう。 Here, in Embodiment 1, the result of the arithmetic processing of another arithmetic circuit 11 is used in the arithmetic processing of the arithmetic circuit 12 . Specifically, the arithmetic processing unit 122 of the arithmetic circuit 12 stores (writes) the result of arithmetic processing by the arithmetic processing unit 112 of the other arithmetic circuit 11 in a single external memory. Compute data. Therefore, when the DMA read controller 121 reads the second data, the second data must already be stored in the external memory by the DMA write controller 113 of another arithmetic circuit 11 . Generally, the DMA read control unit 121 of the arithmetic circuit 12 needs to wait for the transfer to the external memory and write processing by the DMA write control unit 113 of another arithmetic circuit 11 in order to perform such operations. For this reason, in a method different from that of the first embodiment, for example, an arbitrary wait (time) is inserted to read out the second data in anticipation of the completion of the transfer processing and write processing of the second data to the external memory. A method of adjusting the start timing is adopted. However, in such a method, there is a waiting time between the writing completion time of the second data and the reading start time of the second data, resulting in an increase in processing time.

そこで、実施の形態1では、別の演算回路11から、第2データの外部メモリへの書込みが完了した旨を示す書込完了通知を演算回路12のDMA転送制御部124に出力するような構成とした。これにより、実施の形態1に係る演算回路12のDMA転送制御部124は、別の演算回路11から、第2データの外部メモリへの書込みが完了した旨を示す書込完了通知を取得した後に、即座に外部メモリから第2データを読出すようにDMA読出し制御部121を制御する。 Therefore, in the first embodiment, another arithmetic circuit 11 is configured to output a write completion notification indicating that writing of the second data to the external memory is completed to the DMA transfer control unit 124 of the arithmetic circuit 12. and As a result, the DMA transfer control unit 124 of the arithmetic circuit 12 according to the first embodiment obtains from another arithmetic circuit 11 the write completion notification indicating that the writing of the second data to the external memory is completed. , controls the DMA read controller 121 to immediately read the second data from the external memory.

すなわち、DMA転送制御部124は、書込完了通知を取得した後、所定の期間内に外部メモリから第2データを読出すようにDMA読出し制御部121を制御する。 That is, after receiving the write completion notification, DMA transfer control unit 124 controls DMA read control unit 121 to read the second data from the external memory within a predetermined period.

<効果>
実施の形態1に係る演算回路12は、第2データの書込完了通知を取得した後、即座に外部メモリから第2データを読出すことができる。これにより、第2データの書き込み完了時刻と第2データの読出し開始時刻との間に余分な待ち時間が無くなる。
<effect>
Arithmetic circuit 12 according to the first embodiment can read the second data from the external memory immediately after obtaining the write completion notification of the second data. This eliminates the extra waiting time between the time when the writing of the second data is completed and the time when the reading of the second data is started.

その結果、第1演算処理の結果を第2演算処理で使用する場合に処理時間を短縮することが可能な演算回路、演算装置、方法、及びプログラムを提供することができる。 As a result, it is possible to provide an arithmetic circuit, an arithmetic device, a method, and a program capable of shortening the processing time when using the result of the first arithmetic processing in the second arithmetic processing.

<詳細な構成>
実施の形態1の詳細な構成について説明する。
この例では、第1演算回路11と第2演算回路12が単一の外部メモリと接続され、第1演算回路の演算結果を第2演算回路が使用する場合を例に挙げて説明する。
<Detailed configuration>
A detailed configuration of the first embodiment will be described.
In this example, the first arithmetic circuit 11 and the second arithmetic circuit 12 are connected to a single external memory, and the second arithmetic circuit uses the arithmetic result of the first arithmetic circuit.

図2は、実施の形態1に係る演算装置を例示するブロック図である。
図2は、第1演算回路と第2演算回路とを有する演算装置の詳細な構成を示す。
第1演算回路と第2演算回路は、例えば、FPGAを構成する回路である。すなわち、図2は、FPGA内部の演算回路のブロックである。
2 is a block diagram illustrating an arithmetic device according to Embodiment 1. FIG.
FIG. 2 shows a detailed configuration of an arithmetic device having a first arithmetic circuit and a second arithmetic circuit.
The first arithmetic circuit and the second arithmetic circuit are, for example, circuits forming an FPGA. That is, FIG. 2 is a block of an arithmetic circuit inside the FPGA.

図2に示す「Arb」はアービタ(Arbiter)を示し、図2に示す「M」はマスタ(Master)を示し、図2に示す「S」はスレーブ(Slave)を示す。マスタにはリードマスタ(Read Master)とライトマスタ(Write Master)があり、スレーブにはリードスレーブ(Read Slave)とライトスレーブ(Write Slave)がある。 "Arb" shown in FIG. 2 indicates an arbiter, "M" shown in FIG. 2 indicates a master, and "S" shown in FIG. 2 indicates a slave. Masters include read masters and write masters, and slaves include read slaves and write slaves.

図2に示すように、実施の形態1に係る演算装置10は、第1データを演算処理し演算処理した後の第2データを出力する第1演算回路11と、第2データを演算処理し演算処理した後の第3データを出力する第2演算回路12と、を備える。第1演算回路11と第2演算回路12は、同様な機能を有し、同様な動作をすることが可能である。 As shown in FIG. 2, the arithmetic device 10 according to the first embodiment includes a first arithmetic circuit 11 for arithmetically processing first data and outputting second data after the arithmetic processing, and a first arithmetic circuit 11 for arithmetically processing the second data. and a second arithmetic circuit 12 for outputting third data after arithmetic processing. The first arithmetic circuit 11 and the second arithmetic circuit 12 have similar functions and can perform similar operations.

図2に示された第1演算回路は、図1に示された別の演算回路に相当し、図2に示された第2演算回路は、図1に示された演算回路に相当する。また、複数の演算回路によって、例えば、FPGAが構成される。よって、演算装置10は、例えば、複数の演算回路を有するFPGAを搭載した装置である。 The first arithmetic circuit shown in FIG. 2 corresponds to another arithmetic circuit shown in FIG. 1, and the second arithmetic circuit shown in FIG. 2 corresponds to the arithmetic circuit shown in FIG. Further, for example, an FPGA is configured by a plurality of arithmetic circuits. Therefore, the arithmetic device 10 is, for example, a device equipped with an FPGA having a plurality of arithmetic circuits.

第1演算回路11は、第1DMA読出し制御部111と第1演算処理部112と第1DMA書込み制御部113と第1DMA転送制御部114とを有する。 The first arithmetic circuit 11 has a first DMA read control section 111 , a first arithmetic processing section 112 , a first DMA write control section 113 and a first DMA transfer control section 114 .

第1DMA読出し制御部111は、外部メモリから第1データを読出し、第1データを第1演算処理部112に転送する。第1演算処理部112は、第1データを演算処理して第2データを出力する。第1DMA書込み制御部113は、第2データを外部メモリに書込む。 First DMA read control section 111 reads the first data from the external memory and transfers the first data to first arithmetic processing section 112 . The first arithmetic processing unit 112 arithmetically processes the first data and outputs the second data. First DMA write controller 113 writes the second data to the external memory.

第1DMA転送制御部114は、第1DMA読出し制御部111を制御して第1データの読出しタイミングを制御する。また、第1DMA転送制御部114は、第1DMA書込み制御部113を制御して第2データの書込みタイミングを制御する。 The first DMA transfer control unit 114 controls the read timing of the first data by controlling the first DMA read control unit 111 . Also, the first DMA transfer control unit 114 controls the write timing of the second data by controlling the first DMA write control unit 113 .

第2演算回路12は、第2DMA読出し制御部121と第2演算処理部122と第2DMA書込み制御部123と第2DMA転送制御部124とを有する。 The second arithmetic circuit 12 has a second DMA read controller 121 , a second arithmetic processor 122 , a second DMA write controller 123 and a second DMA transfer controller 124 .

第2DMA読出し制御部121は、外部メモリから第2データを読出し、第2データを第2演算処理部122に転送する。第2演算処理部122は、第2データを演算処理して第3データを出力する。第2DMA書込み制御部123は、第3データを外部メモリに書込む。 Second DMA read control section 121 reads the second data from the external memory and transfers the second data to second arithmetic processing section 122 . The second arithmetic processing unit 122 arithmetically processes the second data and outputs the third data. Second DMA write controller 123 writes the third data to the external memory.

第2DMA転送制御部124は、第2DMA読出し制御部121が第2データを外部メモリから読出す際の処理時間が増加しないように、読出しタイミングを制御する。具体的には、第2DMA転送制御部124は、第1演算回路11の第1DMA書込み制御部113から第2データの書込みが完了した旨を示す書込完了通知を取得した後に、外部メモリから第2データを読出すように第2DMA読出し制御部121を制御する。また、第2DMA転送制御部124は、第2DMA書込み制御部123を制御して第3データの書込みタイミングを制御する。 The second DMA transfer control unit 124 controls read timing so that the processing time when the second DMA read control unit 121 reads the second data from the external memory does not increase. Specifically, after the second DMA transfer control unit 124 acquires a write completion notification indicating that the writing of the second data has been completed from the first DMA write control unit 113 of the first arithmetic circuit 11, the second DMA transfer control unit 124 transfers the It controls the second DMA read controller 121 to read 2 data. Also, the second DMA transfer control unit 124 controls the write timing of the third data by controlling the second DMA write control unit 123 .

第2DMA転送制御部124は、第2データを外部メモリから読出す読出し処理を、一旦停止し、書込完了通知を取得した場合、読出し処理を再開するように第2DMA読出し制御部121を制御してもよい。 The second DMA transfer control unit 124 temporarily stops the read processing of reading the second data from the external memory, and when receiving the write completion notification, controls the second DMA read control unit 121 to restart the read processing. may

また、第2DMA転送制御部124は、読出し処理を停止するため、第2DMA読出し制御部121へのアクセスに対してAck又はReadyを返さないようにしてもよい。Ack又はReadyを返さないことにより、読出し処理が停止する。第2DMA転送制御部124は、その後、書込完了通知を取得した場合に読出し処理を再開するため、第2DMA読出し制御部121へのアクセスに対してAck又はReadyを返してもよい。 Further, the second DMA transfer control unit 124 may not return Ack or Ready for access to the second DMA read control unit 121 in order to stop the read processing. By not returning Ack or Ready, the read process stops. After that, the second DMA transfer control unit 124 may return Ack or Ready in response to the access to the second DMA read control unit 121 in order to restart the read processing when the write completion notification is acquired.

第2DMA読出し制御部121は、読出し動作用ポインタ情報に従って、第2データの外部メモリからの読出し処理(転送処理)を制御してもよい。第2DMA書込み制御部123は、書込み動作用ポインタ情報に従って、第3データの外部メモリへの書込み処理(転送処理)を制御してもよい。 The second DMA read control unit 121 may control read processing (transfer processing) of the second data from the external memory according to the read operation pointer information. The second DMA write control unit 123 may control write processing (transfer processing) of the third data to the external memory according to the write operation pointer information.

第2演算回路12は、ポインタ情報に従って動作するようにするため、読出し動作用ポインタ情報を記憶する第2読出しディスクリプタメモリ125と、書込み動作用ポインタ情報を記憶する第2書込みディスクリプタメモリ126と、をさらに備えてもよい。このとき、第2DMA読出し制御部121は、読出し動作用ポインタ情報に基づいて動作し、第2DMA書込み制御部123は、書込み動作用ポインタ情報に基づいて動作する。 The second arithmetic circuit 12 has a second read descriptor memory 125 for storing pointer information for read operations and a second write descriptor memory 126 for storing pointer information for write operations so as to operate according to the pointer information. You may have more. At this time, the second DMA read control unit 121 operates based on the read operation pointer information, and the second DMA write control unit 123 operates based on the write operation pointer information.

第1演算回路11は第2演算回路12と同様な機能を有する。よって、第1演算回路11は、読出し動作用ポインタ情報を記憶する第1読出しディスクリプタメモリ115と、書込み動作用ポインタ情報を記憶する第1書込みディスクリプタメモリ116と、をさらに備えてもよい。このとき、第1DMA読出し制御部111は、読出し動作用ポインタ情報に基づいて動作し、第1DMA書込み制御部113は、書込み動作用ポインタ情報に基づいて動作する。 The first arithmetic circuit 11 has functions similar to those of the second arithmetic circuit 12 . Therefore, the first arithmetic circuit 11 may further include a first read descriptor memory 115 that stores read operation pointer information and a first write descriptor memory 116 that stores write operation pointer information. At this time, the first DMA read control unit 111 operates based on the read operation pointer information, and the first DMA write control unit 113 operates based on the write operation pointer information.

読出し動作用ポインタ情報の第1読出しディスクリプタメモリ115及び第2読出しディスクリプタメモリ125への記憶(格納)は、ソフトウェア(S/W)によって実行されてもよい。また、書込み動作用ポインタ情報の第1書込みディスクリプタメモリ116及び第2書込みディスクリプタメモリ126への記憶(格納)は、ソフトウェア(S/W)によって実行されてもよい。 Storing (storing) of the read operation pointer information in the first read descriptor memory 115 and the second read descriptor memory 125 may be performed by software (S/W). Also, storing (storing) the write operation pointer information in the first write descriptor memory 116 and the second write descriptor memory 126 may be executed by software (S/W).

ソフトウェアは、第1演算回路11の第1書込みディスクリプタメモリ116に、外部メモリへのポインタ情報を登録(保存、格納)し、その後、第1DMA転送制御部114へのポインタ情報を登録し、第2演算回路12の第2読出しディスクリプタメモリ125に、第2DMA転送制御部124へのポインタ情報を登録し、その後、外部メモリへのポインタ情報を登録する。ソフトウェアの上記に示したような登録の手順を手順1と称することにする。 The software registers (saves or stores) pointer information to the external memory in the first write descriptor memory 116 of the first arithmetic circuit 11, then registers pointer information to the first DMA transfer control unit 114, and registers the pointer information to the first DMA transfer control unit 114. Pointer information to the second DMA transfer control unit 124 is registered in the second read descriptor memory 125 of the arithmetic circuit 12, and then pointer information to the external memory is registered. The procedure for registering the software as shown above will be referred to as Procedure 1.

実施の形態1では、上記の手順1で各ディスクリプタメモリにポインタ情報を登録する。これにより、仮に第2演算回路12の第2読出しディスクリプタメモリ125に、第1演算回路11の第1書込みディスクリプタメモリ116よりも早くポインタ情報が格納されたとしても、第2演算回路12の第2DMA読出し制御部121は、第1演算回路11の第1DMA書込み制御部113の転送処理が終わるまで停止した状態となる。このため、第2演算回路12の第2DMA読出し制御部121は、転送処理完了後、即時に読出し処理を開始することができる。 In the first embodiment, pointer information is registered in each descriptor memory in procedure 1 above. As a result, even if the pointer information is stored in the second read descriptor memory 125 of the second arithmetic circuit 12 earlier than the first write descriptor memory 116 of the first arithmetic circuit 11, the second DMA of the second arithmetic circuit 12 is stored. The read control unit 121 is in a stopped state until the transfer processing of the first DMA write control unit 113 of the first arithmetic circuit 11 is completed. Therefore, the second DMA read control unit 121 of the second arithmetic circuit 12 can start read processing immediately after the transfer processing is completed.

なお、ソフトウェア(S/W)は、第1DMA読出し制御部111の動作のためのポインタ情報を、予め第1読出しディスクリプタメモリ115に格納しておく。また、ソフトウェア(S/W)は、第1DMA書込み制御部113の動作のためのポインタ情報を、予め第1書込みディスクリプタメモリ116に格納しておく。 Note that the software (S/W) stores pointer information for the operation of the first DMA read control unit 111 in advance in the first read descriptor memory 115 . Also, the software (S/W) stores pointer information for the operation of the first DMA write controller 113 in the first write descriptor memory 116 in advance.

また、外部メモリ、第1DMA読出し制御部111、第1DMA書込み制御部113、第1演算処理部112、及びソフトウェア(S/W)との間の各種接続は、AXI4(Advanced eXtensible Interface 4)等のマスタースレーブ制御で動作するインターフェイス(I/F)を使用することが望ましい。 Various connections between the external memory, the first DMA read control unit 111, the first DMA write control unit 113, the first arithmetic processing unit 112, and the software (S/W) are based on AXI4 (Advanced eXtensible Interface 4) or the like. It is desirable to use an interface (I/F) that operates under master-slave control.

実施の形態1に係る演算装置10は、第2データの書込完了通知を取得した後、即座に外部メモリから第2データを読出すことができる。これにより、第2データの書き込み完了時刻と第2データの読出し開始時刻との間に余分な待ち時間が無くなる。 Arithmetic device 10 according to the first embodiment can immediately read the second data from the external memory after acquiring the second data write completion notification. This eliminates the extra waiting time between the time when the writing of the second data is completed and the time when the reading of the second data is started.

<動作>
実施の形態1に係る演算装置の動作について、第1演算回路11の演算結果(外部メモリに書込んだ結果)を、第2演算回路12が使用する場合を例に挙げて説明する。
図3は、実施の形態1に係る演算装置の動作を例示するフローチャートである。
図3に示すステップS101からステップS105は、ソフトウェアの動作を示す。図3に示すステップS201からステップS208は、ハードウェアの動作を示す。
<Action>
The operation of the arithmetic device according to the first embodiment will be described by taking as an example the case where the second arithmetic circuit 12 uses the arithmetic result of the first arithmetic circuit 11 (the result written in the external memory).
3 is a flowchart illustrating the operation of the arithmetic device according to Embodiment 1. FIG.
Steps S101 to S105 shown in FIG. 3 indicate the operation of the software. Steps S201 to S208 shown in FIG. 3 indicate hardware operations.

ソフトウェアの動作について説明する。
図3に示すように、先ず、第2演算回路12の第2読出しディスクリプタメモリ125に、第1演算回路11の第1DMA転送制御部114へのポインタ情報を格納する(ステップS101)。
The operation of the software will be explained.
As shown in FIG. 3, first, pointer information to the first DMA transfer control unit 114 of the first arithmetic circuit 11 is stored in the second read descriptor memory 125 of the second arithmetic circuit 12 (step S101).

第1演算回路11の第1読出しディスクリプタメモリ115に外部メモリへのポインタ情報を格納する(ステップS102)。 Pointer information to the external memory is stored in the first read descriptor memory 115 of the first arithmetic circuit 11 (step S102).

第1演算回路11の第1書込みディスクリプタメモリ116に第2演算回路12の第2DMA転送制御部124へのポインタ情報を格納する(ステップS103)。 Pointer information to the second DMA transfer control unit 124 of the second arithmetic circuit 12 is stored in the first write descriptor memory 116 of the first arithmetic circuit 11 (step S103).

第2演算回路12の第2読出しディスクリプタメモリ125に外部メモリへのポインタ情報を格納する(ステップS104)。 The pointer information to the external memory is stored in the second read descriptor memory 125 of the second arithmetic circuit 12 (step S104).

第2演算回路12の第2書込みディスクリプタメモリ126に外部メモリへのポインタ情報を格納する(ステップS105)。 The pointer information to the external memory is stored in the second write descriptor memory 126 of the second arithmetic circuit 12 (step S105).

ハードウェアの動作について説明する。
図3に示すように、先ず、第2演算回路12が読出し処理を停止する(ステップS201)。具体的には、第2演算回路12の第2DMA読出し制御部121のリードマスタMが第2演算回路12の第2DMA転送制御部124の読出しスレーブSにアクセスする。これにより、第2演算回路12の読出し処理を停止させておく。
The operation of the hardware will be explained.
As shown in FIG. 3, first, the second arithmetic circuit 12 stops read processing (step S201). Specifically, the read master M of the second DMA read controller 121 of the second arithmetic circuit 12 accesses the read slave S of the second DMA transfer controller 124 of the second arithmetic circuit 12 . Thereby, the read processing of the second arithmetic circuit 12 is stopped.

ステップS102に基づいて、第1演算回路11が外部メモリに第1データの読出し処理を実行する(ステップS202)。 Based on step S102, the first arithmetic circuit 11 executes the reading process of the first data from the external memory (step S202).

第1演算回路11が第1データを使用した演算処理を実行する(ステップS203)。 The first arithmetic circuit 11 executes arithmetic processing using the first data (step S203).

第1演算回路11が演算結果(第2データ)の外部メモリへの書込み処理を実行する(ステップS204)。 The first arithmetic circuit 11 writes the arithmetic result (second data) to the external memory (step S204).

ステップS104に基づいて、第2演算回路12がステップS201で停止していた読出し処理を再開する(ステップS205)。具体的には、第2演算回路12の第2DMA転送制御部124の書込み用のスレーブSにアクセスすることにより、第2演算回路12はステップS201で停止していた読出し処理を再開する。 Based on step S104, the second arithmetic circuit 12 resumes the reading process that was stopped in step S201 (step S205). Specifically, by accessing the write slave S of the second DMA transfer control unit 124 of the second arithmetic circuit 12, the second arithmetic circuit 12 resumes the read processing that was stopped in step S201.

第2演算回路12が外部メモリに第2データの読出し処理を実行する(ステップS206)。 The second arithmetic circuit 12 executes read processing of the second data from the external memory (step S206).

第2演算回路12が第2データを使用した演算処理を実行する(ステップS207)。 The second arithmetic circuit 12 executes arithmetic processing using the second data (step S207).

第2演算回路12が演算結果(第3データ)の外部メモリへの書込み処理を実行する(ステップS208)。 The second arithmetic circuit 12 writes the arithmetic result (third data) to the external memory (step S208).

実施の形態1では、ステップS201において、第2演算回路12の第2DMA読出し制御部121のリードマスタMが第2演算回路12の第2DMA転送制御部124の読出しスレーブSにアクセスすることで読出し処理を停止させておく。その後、ステップS204において、第1演算回路11の演算結果の外部メモリへの書き込み(Write)が完了した直後に、ステップS205において第2演算回路12の第2DMA転送制御部124の書込み用のスレーブSにアクセスすることにより、第2演算回路12はステップS201で停止していた読出し処理を再開する。このような動作により、第1演算回路11の処理から第2演算回路12の処理を待たせることなく連続で処理することができる。 In the first embodiment, in step S201, the read master M of the second DMA read control unit 121 of the second arithmetic circuit 12 accesses the read slave S of the second DMA transfer control unit 124 of the second arithmetic circuit 12 to perform read processing. be stopped. After that, in step S204, immediately after the writing (Write) of the calculation result of the first arithmetic circuit 11 to the external memory is completed, in step S205, the slave S for writing of the second DMA transfer control unit 124 of the second arithmetic circuit 12 , the second arithmetic circuit 12 resumes the read processing that was stopped in step S201. With such an operation, the processing of the first arithmetic circuit 11 and the processing of the second arithmetic circuit 12 can be performed continuously without waiting.

その結果、第1演算処理の結果を第2演算処理で使用する場合に処理時間を短縮することが可能な演算回路、演算装置、方法、及びプログラムを提供することができる。 As a result, it is possible to provide an arithmetic circuit, an arithmetic device, a method, and a program capable of shortening the processing time when using the result of the first arithmetic processing in the second arithmetic processing.

[実施の形態2]
図4は、実施の形態2に係る演算装置を例示するブロック図である。
図4に示すように、実施の形態2に係る演算装置20は、実施の形態1に係る演算装置10と比べて、演算回路を3つ以上有する点が異なる。すなわち、演算装置20は、第1演算回路11、第2演算回路12、・・・、第N演算回路を有する。ただし、Nは3以上の整数である。
[Embodiment 2]
FIG. 4 is a block diagram illustrating an arithmetic device according to a second embodiment;
As shown in FIG. 4, the arithmetic device 20 according to the second embodiment differs from the arithmetic device 10 according to the first embodiment in that it has three or more arithmetic circuits. That is, the arithmetic device 20 has a first arithmetic circuit 11, a second arithmetic circuit 12, . . . , an Nth arithmetic circuit. However, N is an integer of 3 or more.

図4に示すように、第1DMA転送制御部114は2つのスレーブSを有し、1つ目のスレーブSには第1演算回路11内の第1DMA読出し制御部のリードマスタMが接続される。また、第1DMA転送制御部114の2つ目のスレーブSには第1演算回路11の第1DMA書込み制御部113のライトマスタM、第2演算回路12の第2DMA書込み制御部123のライトマスタM、及び、第N演算回路内のDMA書込み制御部のライトマスタMが接続される。演算装置20内の各DMA転送制御部の1つ目のスレーブSには同一の演算回路内のDMA読出し制御部のリードマスタMが接続され、2つ目のスレーブSには同一の演算回路内のDMA書込み制御部のライトマスタM、及び、その他の演算回路内のDMA書込み制御部のライトマスタMが接続される。 As shown in FIG. 4, the first DMA transfer control unit 114 has two slaves S, and the first slave S is connected to the read master M of the first DMA read control unit in the first arithmetic circuit 11. . The write master M of the first DMA write control unit 113 of the first arithmetic circuit 11 and the write master M of the second DMA write control unit 123 of the second arithmetic circuit 12 are used as the second slave S of the first DMA transfer control unit 114 . , and the write master M of the DMA write controller in the Nth arithmetic circuit are connected. The first slave S of each DMA transfer control unit in the arithmetic unit 20 is connected to the read master M of the DMA readout control unit in the same arithmetic circuit, and the second slave S is connected to the read master M in the same arithmetic circuit. and write masters M of DMA write control units in other arithmetic circuits are connected.

通常のマスタとスレーブ動作は、マスタの指令に対してスレーブがAckやReadyを返すことで1つの動作(処理)が完了する。 In normal master and slave operations, one operation (process) is completed when the slave returns Ack or Ready in response to a command from the master.

実施の形態1及び実施の形態2では、DMA転送制御部のDMA読出しスレーブSにアクセスが有った場合、読出し処理の完了後にAckやReadyを返さず、DMA書込みスレーブSにアクセスが有った場合、AckやReadyを返すようにする。 In Embodiments 1 and 2, when the DMA read slave S of the DMA transfer control unit is accessed, the DMA write slave S is accessed without returning Ack or Ready after the read processing is completed. In that case, Ack or Ready should be returned.

また、実施の形態1及び実施の形態2では、読出しディスクリプタメモリ及び書込みディスクリプタメモリに、外部メモリ宛のポインタ情報に加えてDMA転送制御部宛のポインタ情報を間に登録する。これにより、ソフトウェア(S/W)は処理タイミングを調整するためのウェイト処理を実行することなくポインタ情報を格納することができ、全体の処理時間を短縮することができる。 Further, in Embodiments 1 and 2, pointer information addressed to the DMA transfer controller is registered in the read descriptor memory and the write descriptor memory in addition to the pointer information addressed to the external memory. As a result, the software (S/W) can store the pointer information without executing wait processing for adjusting the processing timing, and the entire processing time can be shortened.

その結果、第1演算処理の結果を第2演算処理で使用する場合に処理時間を短縮することが可能な演算回路、演算装置、方法、及びプログラムを提供することができる。 As a result, it is possible to provide an arithmetic circuit, an arithmetic device, a method, and a program capable of shortening the processing time when using the result of the first arithmetic processing in the second arithmetic processing.

[比較例]
<構成>
図5は、実施の形態2の比較例に係る演算装置を例示するブロック図である。
[Comparative example]
<Configuration>
FIG. 5 is a block diagram illustrating an arithmetic device according to a comparative example of the second embodiment;

図5に示すように、実施の形態2の比較例に係る演算装置50は、各演算回路内にDMA転送制御部が実装されていない点が異なる。 As shown in FIG. 5, the arithmetic device 50 according to the comparative example of the second embodiment differs in that no DMA transfer control unit is implemented in each arithmetic circuit.

演算装置50の第1演算回路51は、単一の外部メモリから読み出し用のDMAコントローラである第1DMA読出し制御部511を介して、第1演算処理部512に入力データを転送する。その後、第1演算回路51の第1演算処理部512は、演算処理結果を書き込み用のDMAコントローラである第1DMA書込み制御部513を介して、再び外部メモリに転送する。 The first arithmetic circuit 51 of the arithmetic device 50 transfers input data to the first arithmetic processing unit 512 via the first DMA read control unit 511, which is a DMA controller for reading from a single external memory. After that, the first arithmetic processing unit 512 of the first arithmetic circuit 51 transfers the arithmetic processing result to the external memory again via the first DMA write control unit 513, which is a DMA controller for writing.

第1DMA読出し制御部511は第1読出しディスクリプタメモリ515と接続され、第1読出しディスクリプタメモリ515に格納されたポインタ情報に従い動作する。同様に、第1DMA書込み制御部513は第1書込みディスクリプタメモリ516と接続され、第1書込みディスクリプタメモリ516に格納されたポインタ情報に従い動作する。 The first DMA read controller 511 is connected to the first read descriptor memory 515 and operates according to the pointer information stored in the first read descriptor memory 515 . Similarly, the first DMA write controller 513 is connected to the first write descriptor memory 516 and operates according to pointer information stored in the first write descriptor memory 516 .

演算装置50は、DMA転送制御部が実装されていない。このため、演算装置50は、第1演算回路の演算結果の外部メモリへの書込み処理が完了するタイミングを見計らって、任意のウェイトを入れて読出し開始タイミングを調整する必要がある。よって、演算装置50は、第1演算回路51の演算結果の外部メモリへの書き込みが完了した直後に、第2演算回路52が外部メモリから第1演算回路の演算結果を読出すことが難しい。 Arithmetic device 50 is not equipped with a DMA transfer control unit. Therefore, the arithmetic unit 50 needs to adjust the read start timing by inserting an arbitrary wait in anticipation of the timing when the write processing of the arithmetic result of the first arithmetic circuit to the external memory is completed. Therefore, in the arithmetic device 50, it is difficult for the second arithmetic circuit 52 to read the arithmetic result of the first arithmetic circuit from the external memory immediately after the writing of the arithmetic result of the first arithmetic circuit 51 to the external memory is completed.

その結果、第1演算処理の結果を第2演算処理で使用する場合に処理時間を短縮することが可能な演算回路、演算装置、方法、及びプログラムを提供することは難しい。 As a result, it is difficult to provide an arithmetic circuit, an arithmetic device, a method, and a program capable of shortening the processing time when using the result of the first arithmetic processing in the second arithmetic processing.

<動作>
図6は、実施の形態2の比較例に係る演算装置の動作を例示するフローチャートである。
<Action>
FIG. 6 is a flowchart illustrating the operation of the arithmetic device according to the comparative example of the second embodiment;

ソフトウェアの動作について説明する。
図6に示すように、先ず、第1演算回路51の第1読出しディスクリプタメモリ515に外部メモリへのポインタ情報を格納する(ステップS301)。
The operation of the software will be explained.
As shown in FIG. 6, first, pointer information to the external memory is stored in the first read descriptor memory 515 of the first arithmetic circuit 51 (step S301).

第1演算回路51の第1書込みディスクリプタメモリ516に外部メモリへのポインタ情報を格納する(ステップS302)。 Pointer information to the external memory is stored in the first write descriptor memory 516 of the first arithmetic circuit 51 (step S302).

ウェイト処理(Wait処理)を実行する(ステップS303)。 A wait process (Wait process) is executed (step S303).

第2演算回路52の第2読出しディスクリプタメモリ525に外部メモリへのポインタ情報を格納する(ステップS304)。 The pointer information to the external memory is stored in the second read descriptor memory 525 of the second arithmetic circuit 52 (step S304).

第2演算回路12の第2書込みディスクリプタメモリ526に外部メモリへのポインタ情報を格納する(ステップS305)。 The pointer information to the external memory is stored in the second write descriptor memory 526 of the second arithmetic circuit 12 (step S305).

ハードウェアの動作について説明する。
図6に示すように、先ず、ステップS301に基づいて、第1演算回路51の外部メモリへの読出し処理を実行する(ステップS401)。
The operation of the hardware will be explained.
As shown in FIG. 6, first, based on step S301, read processing to the external memory of the first arithmetic circuit 51 is executed (step S401).

第1演算回路51の演算処理を実行する(ステップS402)。 Arithmetic processing of the first arithmetic circuit 51 is executed (step S402).

ステップS302に基づいて、第1演算回路51の外部メモリへの書込み処理を実行する(ステップS403)。 Based on step S302, write processing to the external memory of the first arithmetic circuit 51 is executed (step S403).

ステップS304に基づいて、第2演算回路52の外部メモリへの読出し処理を実行する(ステップS404)。 Based on step S304, read processing to the external memory of the second arithmetic circuit 52 is executed (step S404).

第2演算回路52の演算処理を実行する(ステップS405)。 Arithmetic processing of the second arithmetic circuit 52 is executed (step S405).

ステップS305に基づいて、第2演算回路52の外部メモリへの書込み処理を実行する(ステップS406)。 Based on step S305, the writing process to the external memory of the second arithmetic circuit 52 is executed (step S406).

比較例に係る演算装置50では、ステップS303のように、ウェイト処理(Wait処理)を実行する必要がある。これにより、演算装置50は、第1演算回路51の演算結果の外部メモリへの書き込みが完了した直後に、第2演算回路52が外部メモリから第1演算回路51の演算結果を読出すことが難しい。 In the arithmetic device 50 according to the comparative example, it is necessary to execute wait processing (Wait processing) as in step S303. As a result, the arithmetic unit 50 allows the second arithmetic circuit 52 to read the arithmetic result of the first arithmetic circuit 51 from the external memory immediately after the writing of the arithmetic result of the first arithmetic circuit 51 to the external memory is completed. difficult.

その結果、第1演算処理の結果を第2演算処理で使用する場合に処理時間を短縮することが可能な演算回路、演算装置、方法、及びプログラムを提供することは難しい。 As a result, it is difficult to provide an arithmetic circuit, an arithmetic device, a method, and a program capable of shortening the processing time when using the result of the first arithmetic processing in the second arithmetic processing.

尚、上記の実施の形態では、本発明をハードウェアの構成として説明したが、本発明はこれに限定されるものではない。本発明は、各構成要素の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。 Although the present invention has been described as a hardware configuration in the above embodiment, the present invention is not limited to this. The present invention can also be implemented by causing a CPU (Central Processing Unit) to execute a computer program to process each component.

上記の実施の形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実態のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(具体的にはフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(具体的には光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(具体的には、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM))、フラッシュROM、RAM(Random Access Memory)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。 In the above embodiments, the programs can be stored and delivered to computers using various types of non-transitory computer readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (specifically flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (specifically magneto-optical discs), CD-ROMs (Read Only Memory ), CD-R, CD-R/W, semiconductor memory (specifically, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM)), flash ROM, and RAM (Random Access Memory). The program may also be delivered to the computer on various types of transitory computer readable medium. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer-readable media can deliver the program to the computer via wired channels, such as wires and optical fibers, or wireless channels.

さらに、動作は特定の順序で描かれているが、これは、望ましい結果を達成するために、そのような動作が示された特定の順序または連続した順序で実行されること、または示されたすべての動作が実行されることを要求するものとして理解されるべきではない。特定の状況では、マルチタスクと並列処理が有利な場合がある。同様に、いくつかの特定の実施の形態の詳細が上記の議論に含まれているが、これらは本開示の範囲に対する制限としてではなく、特定の実施の形態に特有の特徴の説明として解釈されるべきである。別個の実施の形態の文脈で説明される特定の特徴は、単一の実施の形態に組み合わせて実装されてもよい。逆に、単一の実施の形態の文脈で説明される様々な特徴は、複数の実施の形態で別々にまたは任意の適切な組み合わせで実装されてもよい。 Further, although acts have been depicted in a particular order, this does not mean that such acts are performed in the specific order or sequential order shown, or It should not be understood as requiring that all actions be performed. Multitasking and parallelism can be advantageous in certain situations. Similarly, while details of several specific embodiments have been included in the above discussion, these should not be construed as limitations on the scope of this disclosure, but as illustrations of features unique to those particular embodiments. should. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable combination.

以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 Although the present invention has been described with reference to the embodiments, the present invention is not limited to the above. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the invention.

尚、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。 It should be noted that the present invention is not limited to the above embodiments, and can be modified as appropriate without departing from the scope of the invention.

10、20、50…演算装置
11、51…第1演算回路、別の演算回路
111、511…第1DMA読出し制御部
112、512…第1演算処理部
113、513…第1DMA書込み制御部
114…第1DMA転送制御部
115、515…第1読出しディスクリプタメモリ
116、516…第1書込みディスクリプタメモリ
12、52…第2演算回路、演算回路
121、521…第2DMA読出し制御部
122、522…第2演算処理部
123、523…第2DMA書込み制御部
124…第2DMA転送制御部
125、525…第2読出しディスクリプタメモリ
126、526…第2書込みディスクリプタメモリ
10, 20, 50... Arithmetic device 11, 51... First arithmetic circuit, another arithmetic circuit 111, 511... First DMA read controller 112, 512... First arithmetic processor 113, 513... First DMA write controller 114... First DMA transfer controller 115, 515 First read descriptor memory 116, 516 First write descriptor memory 12, 52 Second arithmetic circuit, arithmetic circuit 121, 521 Second DMA read controller 122, 522 Second arithmetic Processing Units 123, 523...Second DMA write controller 124...Second DMA transfer controller 125, 525...Second read descriptor memory 126, 526...Second write descriptor memory

Claims (10)

別の演算回路が第1データを演算処理した結果得られた第2データであって外部メモリに保存された前記第2データを前記外部メモリから読出し、前記第2データを演算処理部に転送するDMA読出し制御部と、
前記第2データを演算処理して第3データを出力する前記演算処理部と、
前記第3データを前記外部メモリに書込むDMA書込み制御部と、
前記別の演算回路から前記第2データの書込みが完了した旨を示す書込完了通知を取得した後に、前記外部メモリから前記第2データを読出すように前記DMA読出し制御部を制御するDMA転送制御部と、
を備える演算回路。
The second data obtained as a result of arithmetic processing of the first data by another arithmetic circuit and stored in the external memory is read from the external memory, and the second data is transferred to the arithmetic processing unit. a DMA read controller;
the arithmetic processing unit that performs arithmetic processing on the second data and outputs third data;
a DMA write controller that writes the third data to the external memory;
DMA transfer for controlling the DMA read control unit to read the second data from the external memory after obtaining a write completion notification indicating completion of writing of the second data from the other arithmetic circuit. a control unit;
Arithmetic circuit with
前記DMA転送制御部は、前記書込完了通知を取得した後、所定の期間内に前記外部メモリから前記第2データを読出すように制御する、
請求項1に記載の演算回路。
After obtaining the write completion notification, the DMA transfer control unit controls to read the second data from the external memory within a predetermined period.
2. The arithmetic circuit according to claim 1.
読出し動作用ポインタ情報を記憶する読出しディスクリプタメモリと、
書込み動作用ポインタ情報を記憶する書込みディスクリプタメモリと、
をさらに備え、
前記DMA読出し制御部は、前記読出し動作用ポインタ情報に基づいて動作し、
前記DMA書込み制御部は、前記書込み動作用ポインタ情報に基づいて動作する、
請求項1又は2に記載の演算回路。
a read descriptor memory for storing pointer information for read operations;
a write descriptor memory that stores pointer information for write operations;
further comprising
The DMA read control unit operates based on the read operation pointer information,
The DMA write control unit operates based on the write operation pointer information.
3. The arithmetic circuit according to claim 1 or 2.
前記読出し動作用ポインタ情報の前記読出しディスクリプタメモリへの格納と、前記書込み動作用ポインタ情報の前記書込みディスクリプタメモリへの格納は、ソフトウェアによって実行される、
請求項3に記載の演算回路。
storing the read operation pointer information in the read descriptor memory and storing the write operation pointer information in the write descriptor memory are performed by software;
4. The arithmetic circuit according to claim 3.
前記DMA転送制御部は、
前記第2データを前記外部メモリから読出す読出し処理を停止し、
前記書込完了通知を取得した場合、前記読出し処理を再開するように前記DMA読出し制御部を制御する、
請求項1から4のいずれか1つに記載の演算回路。
The DMA transfer control unit
stopping the reading process of reading the second data from the external memory;
controlling the DMA read control unit to restart the read processing when the write completion notification is obtained;
The arithmetic circuit according to any one of claims 1 to 4.
前記DMA転送制御部は、
前記読出し処理を停止するため、前記DMA読出し制御部へのアクセスに対してAck又はReadyを返さず、
前記書込完了通知を取得した場合に前記読出し処理を再開するため、前記DMA読出し制御部へのアクセスに対して前記Ack又は前記Readyを返す、
ように前記DMA読出し制御部を制御する、
請求項5に記載の演算回路。
The DMA transfer control unit
In order to stop the read processing, Ack or Ready is not returned for access to the DMA read control unit,
Returning the Ack or the Ready in response to access to the DMA read control unit in order to resume the read processing when the write completion notification is acquired;
to control the DMA read control unit to
6. The arithmetic circuit according to claim 5.
第1データを演算処理し、演算処理した後の第2データを出力する第1演算回路と、
前記第2データを演算処理し、演算処理した後の第3データを出力する第2演算回路と、
を備え、
前記第1演算回路は、
外部メモリから前記第1データを読出し、前記第1データを第1演算処理部に転送する第1DMA読出し制御部と、
前記第1データを演算処理して前記第2データを出力する前記第1演算処理部と、
前記第2データを前記外部メモリに書込む第1DMA書込み制御部と、
前記第1データの読出しタイミングを制御する第1DMA転送制御部と、を有し、
前記第2演算回路は、
前記外部メモリから前記第2データを読出し、前記第2データを第2演算処理部に転送する第2DMA読出し制御部と、
前記第2データを演算処理して前記第3データを出力する前記第2演算処理部と、
前記第3データを前記外部メモリに書込む第2DMA書込み制御部と、
前記第1DMA書込み制御部から前記第2データの書込みが完了した旨を示す書込完了通知を取得した後に、前記外部メモリから前記第2データを読出すように前記第2DMA読出し制御部を制御する第2DMA転送制御部と、を有する、
演算装置。
a first arithmetic circuit that performs arithmetic processing on first data and outputs second data after the arithmetic processing;
a second arithmetic circuit that performs arithmetic processing on the second data and outputs third data after the arithmetic processing;
with
The first arithmetic circuit is
a first DMA read control unit that reads the first data from an external memory and transfers the first data to a first arithmetic processing unit;
a first arithmetic processing unit that arithmetically processes the first data and outputs the second data;
a first DMA write controller that writes the second data to the external memory;
a first DMA transfer control unit that controls read timing of the first data;
The second arithmetic circuit is
a second DMA read control unit that reads the second data from the external memory and transfers the second data to a second arithmetic processing unit;
a second arithmetic processing unit that arithmetically processes the second data and outputs the third data;
a second DMA write controller that writes the third data to the external memory;
controlling the second DMA read control unit to read the second data from the external memory after obtaining from the first DMA write control unit a write completion notification indicating that the writing of the second data is completed; a second DMA transfer control unit;
Arithmetic unit.
前記第2DMA転送制御部は、前記書込完了通知を取得した後、所定の期間内に前記外部メモリから前記第2データを読出すように制御する、
請求項7に記載の演算装置。
After obtaining the write completion notification, the second DMA transfer control unit controls to read the second data from the external memory within a predetermined period.
A computing device according to claim 7 .
別の演算回路が第1データを演算処理した結果得られた第2データであって外部メモリに保存された前記第2データを前記外部メモリから読出し、前記第2データを演算処理部に転送することと、
前記第2データを演算処理して第3データを出力することと、
前記第3データを前記外部メモリに書込むことと、
前記別の演算回路から前記第2データの書込みが完了した旨を示す書込完了通知を取得した後に、前記外部メモリから前記第2データを読出すことと、
を備える方法。
The second data obtained as a result of arithmetic processing of the first data by another arithmetic circuit and stored in the external memory is read from the external memory, and the second data is transferred to the arithmetic processing unit. and
Arithmetic processing of the second data to output third data;
writing the third data to the external memory;
reading the second data from the external memory after obtaining a write completion notification indicating that the writing of the second data has been completed from the other arithmetic circuit;
How to prepare.
別の演算回路が第1データを演算処理した結果得られた第2データであって外部メモリに保存された前記第2データを前記外部メモリから読出し、前記第2データを演算処理部に転送することと、
前記第2データを演算処理して第3データを出力することと、
前記第3データを前記外部メモリに書込むことと、
前記別の演算回路から前記第2データの書込みが完了した旨を示す書込完了通知を取得した後に、前記外部メモリから前記第2データを読出すことと、
をコンピュータに実行させるプログラム。
The second data obtained as a result of arithmetic processing of the first data by another arithmetic circuit and stored in the external memory is read from the external memory, and the second data is transferred to the arithmetic processing unit. and
Arithmetic processing of the second data to output third data;
writing the third data to the external memory;
reading the second data from the external memory after obtaining a write completion notification indicating that the writing of the second data has been completed from the other arithmetic circuit;
A program that makes a computer run
JP2021113691A 2021-07-08 2021-07-08 Arithmetic circuit, arithmetic device, method, and program Active JP7428392B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021113691A JP7428392B2 (en) 2021-07-08 2021-07-08 Arithmetic circuit, arithmetic device, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021113691A JP7428392B2 (en) 2021-07-08 2021-07-08 Arithmetic circuit, arithmetic device, method, and program

Publications (2)

Publication Number Publication Date
JP2023009973A true JP2023009973A (en) 2023-01-20
JP7428392B2 JP7428392B2 (en) 2024-02-06

Family

ID=85119160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021113691A Active JP7428392B2 (en) 2021-07-08 2021-07-08 Arithmetic circuit, arithmetic device, method, and program

Country Status (1)

Country Link
JP (1) JP7428392B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009017060A (en) * 2007-07-02 2009-01-22 Sharp Corp Image processing apparatus
JP2009055141A (en) * 2007-08-24 2009-03-12 Ricoh Co Ltd Data processor and data processing method
CN111815444A (en) * 2020-06-23 2020-10-23 深圳市先河系统技术有限公司 Block chain transaction method, electronic device and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009017060A (en) * 2007-07-02 2009-01-22 Sharp Corp Image processing apparatus
JP2009055141A (en) * 2007-08-24 2009-03-12 Ricoh Co Ltd Data processor and data processing method
CN111815444A (en) * 2020-06-23 2020-10-23 深圳市先河系统技术有限公司 Block chain transaction method, electronic device and storage medium

Also Published As

Publication number Publication date
JP7428392B2 (en) 2024-02-06

Similar Documents

Publication Publication Date Title
RU2627100C2 (en) Hybrid memory device
EP3161622B1 (en) Accelerating boot time zeroing of memory based on non-volatile memory (nvm) technology
WO2020177577A1 (en) Method and apparatus for controller to load multi-core firmware, and computer device
JP6181844B2 (en) Dual Host Embedded Shared Device Controller
US9996398B2 (en) Application processor and system on chip
JP2018005902A (en) Apparatus for controlling access to memory device, and method of performing maintenance operation within such apparatus
JP2007219678A (en) Multilayer bus system
JP4834362B2 (en) Memory controller.
KR20130020420A (en) Task scheduling method of semiconductor device
US10216679B2 (en) Semiconductor device and control method thereof
US20150177816A1 (en) Semiconductor integrated circuit apparatus
US7913013B2 (en) Semiconductor integrated circuit
JP7428392B2 (en) Arithmetic circuit, arithmetic device, method, and program
US20120210108A1 (en) Semiconductor device
JP6352627B2 (en) Computer system and operation method thereof
JP2015194918A (en) data transfer control device and memory built-in device
JP2010211506A (en) Computer equipped with non-uniform memory access mechanism, controller, and data movement method
JP6416488B2 (en) Semiconductor device
JP5541544B2 (en) Computer apparatus, data transfer method, and program
JPH10283302A (en) Method and system for supplying data to bus connected to plural processors
JP2012032936A (en) Micro computer
JP2016154001A (en) Image processor, data transfer control method for image processing, and data transfer control program for image processing
US20190087329A1 (en) Semiconductor device and program used in the semiconductor device
JP6992295B2 (en) Electronic device
JP5955489B1 (en) Data transfer device, data transfer method, and data transfer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231006

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: 20231226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240118

R151 Written notification of patent or utility model registration

Ref document number: 7428392

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151