JP2010231645A - Arithmetic processing unit - Google Patents
Arithmetic processing unit Download PDFInfo
- Publication number
- JP2010231645A JP2010231645A JP2009080265A JP2009080265A JP2010231645A JP 2010231645 A JP2010231645 A JP 2010231645A JP 2009080265 A JP2009080265 A JP 2009080265A JP 2009080265 A JP2009080265 A JP 2009080265A JP 2010231645 A JP2010231645 A JP 2010231645A
- Authority
- JP
- Japan
- Prior art keywords
- data
- arithmetic
- calculation
- selector
- circuit
- 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.)
- Pending
Links
Images
Landscapes
- Microcomputers (AREA)
Abstract
Description
本技術は、動的再構成演算回路を利用して数値演算処理を行う分野の技術に関する。 The present technology relates to a technology in the field of performing numerical arithmetic processing using a dynamic reconfiguration arithmetic circuit.
例えば、高度な科学計算には、Fortranなどの高級言語が用いられる。このFortranなどの高級言語は、本来ソフトウェア処理を目的とした言語であるが、処理の一部を例えばFPGA(Field Programmable Gate Array)などのプログラム可能なハードウェアに置き換えるなどして、処理の高速化が図られている。 For example, high-level languages such as Fortran are used for advanced scientific calculations. A high-level language such as Fortran is originally a language intended for software processing, but speeds up processing by replacing part of the processing with programmable hardware such as FPGA (Field Programmable Gate Array). Is planned.
例えば、(1)x=a÷b−c、(2)x=(a+b)×c、(3)x=a−b+cという3つの演算式についての処理をハードウェアで実現するためには、図18(a)乃至(c)に示すような回路をFPGAに実装する必要がある。なお、図18(a)は、演算式(1)に対応する回路、図18(b)は、演算式(2)に対応する回路、図18(c)は、演算式(3)に対応する回路をそれぞれ示す。すなわち、演算式毎に当該演算式に対応する回路を実装しなければならない。なお、Fortranなどの高級言語では、演算式が複雑になる場合があり、その計算が複雑になるにつれて、回路規模が大きくなる。一方で、FPGAなどのハードウェアのリソースには限りがあり、回路規模が大きくなると、全ての演算式に対応する回路をFPGAに実装することができない。 For example, in order to realize the processing for three arithmetic expressions (1) x = a ÷ b−c, (2) x = (a + b) × c, and (3) x = a−b + c by hardware, Circuits as shown in FIGS. 18A to 18C need to be mounted on the FPGA. 18A is a circuit corresponding to the arithmetic expression (1), FIG. 18B is a circuit corresponding to the arithmetic expression (2), and FIG. 18C corresponds to the arithmetic expression (3). Each circuit is shown. That is, a circuit corresponding to the arithmetic expression must be mounted for each arithmetic expression. In a high-level language such as Fortran, the arithmetic expression may be complicated, and the circuit scale increases as the calculation becomes complicated. On the other hand, hardware resources such as FPGA are limited, and when the circuit scale becomes large, circuits corresponding to all arithmetic expressions cannot be mounted on the FPGA.
このようなリソース制限に係る問題への対応として、演算式を細分化し、図19に示すような、四則演算器を繰り返し利用できる回路を用いて処理を行う技術が知られている。図19では、加算器、減算器、乗算器及び除算器の4つの演算器が設けられており、メモリから読み出されたデータ(図19におけるIN1及びIN2)が各演算器に入力されるようになっている。そして、セレクタが、外部信号(図19におけるOP)に基づき、各演算器からの演算結果のうち、メモリに書き込む演算結果を選択するようになっている。例えば、上記演算式(1)であれば、(1−1)x1=a÷b、(1−2)x=x1−cという2段階の処理に分けられ、1段階目の処理においては、各演算器から出力される演算結果のうち除算器からの演算結果をメモリに書き込み、2段階目の処理においては、減算器からの演算結果をメモリに書き込む。 As a countermeasure to such a problem related to resource limitation, a technique is known in which a calculation formula is subdivided and processing is performed using a circuit that can repeatedly use four arithmetic units as shown in FIG. In FIG. 19, four arithmetic units, an adder, a subtracter, a multiplier, and a divider, are provided so that data (IN1 and IN2 in FIG. 19) read from the memory is input to each arithmetic unit. It has become. Then, the selector selects a calculation result to be written in the memory from the calculation results from the respective arithmetic units based on the external signal (OP in FIG. 19). For example, the arithmetic expression (1) is divided into two steps of (1-1) x 1 = a ÷ b and (1-2) x = x 1 -c. Writes the calculation result from the divider among the calculation results output from each calculator, and writes the calculation result from the subtractor to the memory in the second stage of processing.
しかしながら、従来技術では、メモリからの読み込みとメモリへの書き込みが毎回発生するため、処理速度の向上が図れないという問題がある。 However, the conventional technique has a problem that the processing speed cannot be improved because reading from the memory and writing to the memory occur each time.
従って、本技術の目的は、ソフトウェアによる演算処理をハードウェアで実現する場合において、処理速度の向上を図るための技術を提供することである。 Accordingly, an object of the present technology is to provide a technology for improving the processing speed when the arithmetic processing by software is realized by hardware.
本演算処理装置は、複数の演算回路を有し、当該複数の演算回路のうち少なくともいずれかを用いて所定の演算式に対応する演算処理を行う動的再構成演算回路と、演算データを格納するメモリと、所定の演算式に対応する演算処理において使用すべき演算回路に関する情報を含むシーケンスデータを所定の演算式毎に格納するシーケンスデータ格納部と、所定の演算式に対応する演算処理において使用すべき演算データを格納している、メモリ内の領域を示すアドレスを含むスケジュールデータを格納するスケジュールデータ格納部と、演算開始指示を受け付けた場合、シーケンスデータ格納部からシーケンスデータを読み出し、動的再構成演算回路に出力するシーケンサと、演算開始指示を受け付けた場合、スケジュールデータ格納部からスケジュールデータを読み出し、当該スケジュールデータに従ってメモリから演算データを読み出して動的再構成演算回路に出力するスケジューラとを有する。そして、上で述べた複数の演算回路の各々は、入力データに対して所定の演算子に対応する計算を実施し、演算結果データを他の演算回路に出力する演算器と、スケジューラからの演算データと他の演算回路からの演算結果データとのうち、シーケンスデータに基づき入力データとして使用すべきデータを選択し、演算器に出力するセレクタとを有する。 The arithmetic processing apparatus includes a plurality of arithmetic circuits, a dynamic reconfiguration arithmetic circuit that performs arithmetic processing corresponding to a predetermined arithmetic expression using at least one of the arithmetic circuits, and stores arithmetic data A sequence data storage unit that stores, for each predetermined arithmetic expression, sequence data including information relating to an arithmetic circuit to be used in the arithmetic processing corresponding to the predetermined arithmetic expression, and an arithmetic process corresponding to the predetermined arithmetic expression The schedule data storage unit that stores the calculation data to be used and stores the schedule data including the address indicating the area in the memory, and when the calculation start instruction is received, the sequence data is read from the sequence data storage unit If a sequencer that outputs to a static reconfiguration arithmetic circuit and an operation start instruction are accepted, the schedule data storage unit Read the schedule data, and a scheduler for outputting read the operation data from the memory to the dynamically reconfigurable processor circuit in accordance with the schedule data. Each of the plurality of arithmetic circuits described above performs a calculation corresponding to a predetermined operator on the input data, outputs an operation result data to another arithmetic circuit, and an operation from the scheduler. A selector that selects data to be used as input data based on sequence data from the data and operation result data from another arithmetic circuit and outputs the selected data to the arithmetic unit.
ソフトウェアによる演算処理をハードウェアで実現する場合において、処理速度の向上を図ることができる。 In the case where arithmetic processing by software is realized by hardware, the processing speed can be improved.
本技術の一実施の形態に係るシステム概要を図1に示す。例えば社内LAN(Local Area Network)又はインターネットのようなネットワーク1には、ユーザ端末(図1では、ユーザ端末A及びB)と、本実施の形態における主要な処理を実施する演算処理装置3とが接続されている。なお、ユーザ端末の数は2台に限定されない。
A system overview according to an embodiment of the present technology is shown in FIG. For example, in a
演算処理装置3は、演算処理に使用すべき演算データ又は演算結果を格納するメモリ31と、後で説明するスケジュールデータを格納するスケジュールテーブル32と、後で説明するシーケンスデータを格納するシーケンステーブル33と、スケジューラ35からの指示に応じてメモリ31へアクセスするメモリコントローラ34と、スケジュールテーブル32からスケジュールデータを読み出し、スケジュールデータに従って演算データの読み出しや演算結果の書き込みなどの処理を実施するスケジューラ35と、シーケンステーブル33からシーケンスデータを読み出し、演算部37に出力するシーケンサ36と、スケジューラ35及びシーケンサ36からのデータに基づき演算処理を実施し、演算結果をスケジューラ35に出力する演算部37とを有する。なお、演算部37は、FPGAなどのプログラム可能なハードウェアで構成される。
The
図2及び図3を用いて演算部37の具体的な構成を説明する。図2は、演算部37の構成図である。図2に示すように、演算部37は、複数の演算マクロ(図2では、演算マクロA、演算マクロB、演算マクロC、演算マクロD、・・・)を含む。そして、スケジューラ35からの演算データが、各演算マクロに入力されるようになっている。さらに、演算マクロの演算結果データが、他の演算マクロに出力されるようになっている。例えば、演算マクロA(加算マクロ)には、スケジューラ35からの演算データと、他の演算マクロ(図2では、演算マクロB、演算マクロC、演算マクロD、・・・)からの演算結果データとが入力され、演算マクロA(加算マクロ)は、演算結果データを他の演算マクロ(演算マクロB、演算マクロC、演算マクロD、・・・)へ出力する。また、最終的な演算結果(すなわち、所定の演算式の演算結果)がスケジューラ35に出力されるようになっている。
A specific configuration of the
図3に、演算マクロの構成図を示す。なお、図3は、加算マクロの構成図を示す。加算マクロは、セレクタ3701A乃至3704Aと、フリップフロップ回路(以下、FFと呼ぶ)3705A及び3706Aと、加算器3710とで構成される。そして、セレクタ3701A乃至3704Aの各々には、シーケンサ36からのシーケンスデータが入力されるようになっている。そして、セレクタでは、入力されたデータのうち、シーケンスデータによって指定されたデータを出力するようになっている。なお、図3における点線の矢印が、シーケンサ36からのシーケンスデータを表す。
FIG. 3 shows a configuration diagram of the operation macro. FIG. 3 shows a configuration diagram of the addition macro. The addition macro includes
図3において、セレクタ3701A及び3702Aには、スケジューラ35からの演算データが入力されるようになっている。なお、図3では、スケジューラ35からの入力の数は4つであるが、入力の数はこれに限定されない。そして、セレクタ3701Aは、スケジューラ35からの演算データのうち、シーケンスデータにて指定されたデータをFF3705Aを介してセレクタ3703Aに出力する。同様に、セレクタ3702Aは、スケジューラ35からの演算データのうち、シーケンスデータにて指定されたデータをFF3706Aを介してセレクタ3704Aに出力する。
In FIG. 3, the calculation data from the
一方、セレクタ3703Aには、FF3705Aからの演算データと、他の演算マクロからの演算結果データとが入力されるようになっている。なお、図3では、他の演算マクロからの入力の数は3つであるが、入力の数はこれに限定されない。そして、セレクタ3703Aは、FF3705Aからの演算データと、他の演算マクロからの演算結果データとのうち、シーケンスデータにて指定されたデータを加算器3710に出力する。同様に、セレクタ3704Aには、FF3706Aからの演算データと、他の演算マクロからの演算結果データとが入力されるようになっている。なお、図3では、他の演算マクロからの入力の数は3つであるが、入力の数はこれに限定されない。そして、セレクタ3704Aは、FF3706Aからの演算データと、他の演算マクロからの演算結果データとのうち、シーケンスデータにて指定されたデータを加算器3710に出力する。
On the other hand, the
そして、加算器3710は、セレクタ3703Aからのデータとセレクタ3704Aからのデータとを用いて加算処理を実施し、演算結果データを他の演算マクロに出力する。
なお、上では加算マクロを例に説明したが、基本的な構成は、減算マクロ、乗算マクロ、除算マクロの場合も同様である。ただし、減算マクロ、乗算マクロ、除算マクロの場合には、加算器3710の代わりに、減算処理を実施する減算器3720、乗算処理を実施する乗算器3730、除算処理を実施する除算器3740をそれぞれ有する。
Although the addition macro has been described above as an example, the basic configuration is the same for the subtraction macro, multiplication macro, and division macro. However, in the case of a subtraction macro, a multiplication macro, and a division macro, instead of the
図4に、スケジュールテーブル32に格納されるスケジュールデータの一例を示す。図4の例では、スケジュールデータには、コマンド種別(CMD)と、バッファ番号(BUF No)と、先頭アドレス(AS1)と、最終アドレス(AE1)と、連続領域の第1の間隔(ARPT1)と、連続領域の第2の間隔(ARPT2)と、ARPT1の連続加算回数(NRPT1)と、ARPT2の連続加算回数(NRPT2)と、連続領域のワード数(NCW)とが含まれる。ここで、連続領域とは、読み出し又は書き込みの対象となる領域を指す。 FIG. 4 shows an example of schedule data stored in the schedule table 32. In the example of FIG. 4, the schedule data includes a command type (CMD), a buffer number (BUF No), a head address (AS1), a last address (AE1), and a first interval (ARPT1) of continuous areas. And the second interval (ARPT2) of the continuous area, the number of continuous additions of ARPT1 (NRPT1), the number of continuous additions of ARPT2 (NRPT2), and the number of words (NCW) of the continuous area. Here, the continuous area refers to an area to be read or written.
コマンド種別(CMD)には、例えばデータ・リードやデータ・ライトなどを表す値(図4では16進数)が設定される。例えば上位4ビットが「0000」であれば、データ・リードを表し、上位4ビットが「0001」であれば、データ・ライトを表す。図4の例では、1行目から3行目までがデータ・リードに関するスケジュールデータであり、4行目はデータ・ライトに関するスケジュールデータとなっている。また、先頭アドレス(AS1)には、連続領域(連続領域が複数ある場合には先頭の連続領域)の先頭アドレスが設定される。また、最終アドレス(AE1)には、連続領域(連続領域が複数ある場合には先頭の連続領域)の末尾を示すアドレスが設定される。例えば、図5に示すように連続領域501乃至506がある場合、先頭アドレス(AS1)には、連続領域501の先頭アドレスが設定され、最終アドレス(AE1)には、連続領域501の末尾を示すアドレスが設定される。また、第1の間隔(ARPT1)には、ある連続領域から次の連続領域までの間隔(先頭アドレス間の間隔)が設定される。図5の例では、連続領域501と連続領域502との間隔、連続領域502と連続領域503との間隔、連続領域504と連続領域505との間隔及び連続領域505と連続領域506との間隔は全て同じ間隔になっており、この間隔が、第1の間隔(ARPT1)として設定される。また、第2の間隔(ARPT2)には、ある連続領域から次の連続領域までの間隔であって、第1の間隔(ARPT1)とは異なる間隔が設定される。図5の例では、連続領域503と連続領域504との間隔が、第2の間隔(ARPT2)として設定される。なお、第1の間隔(ARPT1)で配置される連続領域(図5では、連続領域501乃至503)へのアクセスにおいては、現在のアドレスに第1の間隔(ARPT1)を加算して次の連続領域にアクセスすることになり、この加算回数が、ARPT1の連続加算回数(NRPT1)に設定される。同様に、現在のアドレスに第2の間隔(ARPT2)を加算して次の連続領域にアクセスする場合に、この加算回数が、ARPT2の連続加算回数(NRPT2)に設定される。また、連続領域のワード数(NCW)には、連続領域のサイズが設定される。例えば、データ・ライトのコマンドの場合には、先頭アドレス(AS1)及び連続領域のワード数(NCW)によって、書き込み先の領域を特定する。
In the command type (CMD), for example, a value (hexadecimal number in FIG. 4) representing data read or data write is set. For example, if the upper 4 bits are “0000”, it indicates data read, and if the upper 4 bits are “0001”, it indicates data write. In the example of FIG. 4, the first to third lines are schedule data related to data read, and the fourth line is schedule data related to data write. In addition, the head address (AS1) is set with the head address of the continuous area (the head continuous area when there are a plurality of continuous areas). In the final address (AE1), an address indicating the end of the continuous area (or the leading continuous area when there are a plurality of continuous areas) is set. For example, as shown in FIG. 5, when there are
図6に、シーケンステーブル33に格納されるシーケンスデータの一例を示す。なお、図6は、図7に示すような、加算マクロと減算マクロと乗算マクロと除算マクロとを1つずつ有する演算部37に、所定の演算式の処理を実行させるためのシーケンスデータの一例を示す。図6の例では、シーケンステーブル33には、演算式の番号((1)No)と、当該演算式の種類((2)type)と、加算マクロ内のセレクタに対する選択信号((3)Select For ADD)と、減算マクロ内のセレクタに対する選択信号((4)Select For SUB)と、乗算マクロ内のセレクタに対する選択信号((5)Select For MULT)と、除算マクロ内のセレクタに対する選択信号((6)Select For DIV)と、入力ポートに対するdelay値((7)CALCIN_DLAY)と、ループ時のスキップ間隔((8)SKIP_INTERVAL)と、初回にスキップするか否かを表すデータ((9)SKIP_WORK)とが含まれる。なお、入力ポートに対するdelay(7)には、入力ポートaに対するdelay(7a)と、入力ポートbに対するdelay(7b)と、入力ポートcに対するdelay(7c)と、入力ポートdに対するdelay(7d)とが含まれる。
FIG. 6 shows an example of sequence data stored in the sequence table 33. 6 shows an example of sequence data for causing the
また、加算マクロ内のセレクタに対する選択信号(3)には、セレクタ3701Aに対する選択信号(3a)と、セレクタ3702Aに対する選択信号(3b)と、セレクタ3703Aに対する選択信号(3c)と、セレクタ3704Aに対する選択信号(3d)とが含まれる。また、減算マクロ内のセレクタに対する選択信号(4)には、セレクタ3701Bに対する選択信号(4a)と、セレクタ3702Bに対する選択信号(4b)と、セレクタ3703Bに対する選択信号(4c)と、セレクタ3704Bに対する選択信号(4d)とが含まれる。さらに、乗算マクロ内のセレクタに対する選択信号(5)には、セレクタ3701Cに対する選択信号(5a)と、セレクタ3702Cに対する選択信号(5b)と、セレクタ3703Cに対する選択信号(5c)と、セレクタ3704Cに対する選択信号(5d)とが含まれる。また、除算マクロ内のセレクタに対する選択信号(6)には、セレクタ3701Dに対する選択信号(6a)と、セレクタ3702Dに対する選択信号(6b)と、セレクタ3703Dに対する選択信号(6c)と、セレクタ3704Dに対する選択信号(6d)とが含まれる。
The selection signal (3) for the selector in the addition macro includes a selection signal (3a) for the
なお、本実施の形態では、例えば図8に示すように、あるセレクタに対する選択信号sに「0」が設定されている場合には、そのセレクタは、入力ポートaから入力されたデータを出力データxとして出力する。また、選択信号が「1」の場合には、セレクタは、入力ポートbから入力されたデータを出力データxとして出力する。さらに、選択信号が「2」の場合には、セレクタは、入力ポートcから入力されたデータを出力データxとして出力する。また、選択信号が「3」の場合には、セレクタは、入力ポートdから入力されたデータを出力データxとして出力する。 In the present embodiment, for example, as shown in FIG. 8, when “0” is set in the selection signal s for a certain selector, the selector converts the data input from the input port a to the output data. Output as x. When the selection signal is “1”, the selector outputs data input from the input port b as output data x. Further, when the selection signal is “2”, the selector outputs data input from the input port c as output data x. When the selection signal is “3”, the selector outputs data input from the input port d as output data x.
例えば、演算式a÷b−cの処理を実行する場合の演算部37の動作を図9及び図10を用いて説明する。なお、図9は、演算式a÷b−cの処理を実行させるためのシーケンスデータを示す。そして、図9に示すようなシーケンスデータによって演算式a÷b−cの処理を実行する場合における、演算部37内のデータの流れを図10に示す。なお、図10において、入力ポートa、b及びcは、スケジューラ35からの入力を示す。
For example, the operation of the
例えば、図9において、除算マクロ内のセレクタ3701Dに対する選択信号(6a)には「0」が設定されており、セレクタ3702Dに対する選択信号(6b)には「1」が設定されている。従って、図10に示すように、セレクタ3701Dは、選択信号(6a)に従って、入力ポートaから入力されたデータ(データaと呼ぶ)を選択し、FF3705Dを介してセレクタ3703Dに出力する。また、セレクタ3702Dは、選択信号(6b)に従って、入力ポートbから入力されたデータ(データbと呼ぶ)を選択し、FF3706Dを介してセレクタ3704Dに出力する。
For example, in FIG. 9, “0” is set to the selection signal (6a) for the
また、図9において、セレクタ3703Dに対する選択信号(6c)には「3」が設定されており、セレクタ3704Dに対する選択信号(6d)にも「3」が設定されている。従って、図10に示すように、セレクタ3703Dは、選択信号(6c)に従って、FF3705Dからのデータaを選択し、除算器3740に出力する。また、セレクタ3704Dは、選択信号(6d)に従って、FF3706Dからのデータbを選択し、除算器3740に出力する。そして、除算器3740は、セレクタ3703Dからのデータaとセレクタ3704Dからのデータbとを用いて、a÷bを計算する。
In FIG. 9, “3” is set to the selection signal (6c) for the
一方、図9において、減算マクロ内のセレクタ3702Bに対する選択信号(4b)には「2」が設定されている。従って、セレクタ3702Bは、選択信号(4b)に従って、入力ポートcから入力されたデータ(データcと呼ぶ)を選択し、FF3706Bを介してセレクタ3704Bに出力する。なお、図9において、入力ポートcに対するdelay(7c)には「10」が設定されているため、セレクタ3702Bは、この値分遅延させてから出力する。
On the other hand, in FIG. 9, “2” is set in the selection signal (4b) for the
また、図9において、減算マクロ内のセレクタ3703Bに対する選択信号(4c)には「2」が設定されており、セレクタ3704Bに対する選択信号(4d)には「3」が設定されている。従って、セレクタ3703Bは、選択信号(4c)に従って、除算器3740からのデータ(すなわち、a÷bの結果。データdと呼ぶ。)を選択し、減算器3720に出力する。また、セレクタ3704Bは、選択信号(4d)に従って、FF3706Bからのデータcを選択し、減算器3720に出力する。そして、減算器3720は、セレクタ3703Bからのデータdとセレクタ3704Bからのデータcとを用いて、d−cを計算する。そして、d−c(=a÷b−c)の計算結果が減算器3720からスケジューラ35に出力される。
In FIG. 9, “2” is set to the selection signal (4c) for the
次に、別の例として、演算式(a+b)×cの処理を実行する場合の演算部37の動作を図11及び図12を用いて説明する。なお、図11は、演算式(a+b)×cの処理を実行させるためのシーケンスデータを示す。そして、図11に示すようなシーケンスデータによって演算式(a+b)×cの処理を実行する場合における、演算部37内のデータの流れを図12に示す。なお、図12において、入力ポートa、b及びcは、スケジューラ35からの入力を示す。
Next, as another example, the operation of the
例えば、図11において、加算マクロ内のセレクタ3701Aに対する選択信号(3a)には「0」が設定されており、セレクタ3702Aに対する選択信号(3b)には「1」が設定されている。従って、図12に示すように、セレクタ3701Aは、選択信号(3a)に従って、入力ポートaから入力されたデータ(データaと呼ぶ)を選択し、FF3705Aを介してセレクタ3703Aに出力する。また、セレクタ3702Aは、選択信号(3b)に従って、入力ポートbから入力されたデータ(データbと呼ぶ)を選択し、FF3706Aを介してセレクタ3704Aに出力する。
For example, in FIG. 11, “0” is set to the selection signal (3a) for the
また、図11において、セレクタ3703Aに対する選択信号(3c)には「3」が設定されており、セレクタ3704Aに対する選択信号(3d)にも「3」が設定されている。従って、図12に示すように、セレクタ3703Aは、選択信号(3c)に従って、FF3705Aからのデータaを選択し、加算器3710に出力する。また、セレクタ3704Aは、選択信号(3d)に従って、FF3706Aからのデータbを選択し、加算器3710に出力する。そして、加算器3710は、セレクタ3703Aからのデータaとセレクタ3704Aからのデータbとを用いて、a+bを計算する。
In FIG. 11, “3” is set to the selection signal (3c) for the
一方、図11において、乗算マクロ内のセレクタ3702Cに対する選択信号(5b)には「2」が設定されている。従って、セレクタ3702Cは、選択信号(5b)に従って、入力ポートcから入力されたデータ(データcと呼ぶ)を選択し、FF3706Cを介してセレクタ3704Cに出力する。なお、図11において、入力ポートcに対するdelay(7c)には「5」が設定されているため、セレクタ3702Cは、この値分遅延させてから出力する。
On the other hand, in FIG. 11, “2” is set in the selection signal (5b) for the
また、図11において、乗算マクロ内のセレクタ3703Cに対する選択信号(5c)には「0」が設定されており、セレクタ3704Cに対する選択信号(5d)には「3」が設定されている。従って、セレクタ3703Cは、選択信号(5c)に従って、加算器3710からのデータ(すなわち、a+bの結果。データeと呼ぶ。)を選択し、乗算器3730に出力する。また、セレクタ3704Cは、選択信号(5d)に従って、FF3706Cからのデータcを選択し、乗算器3730に出力する。そして、乗算器3730は、セレクタ3703Cからのデータeとセレクタ3704Cからのデータcとを用いて、e×cを計算する。そして、e×c(=(a+b)×c)の計算結果が乗算器3730からスケジューラ35に出力される。
In FIG. 11, “0” is set to the selection signal (5c) for the
さらに、別の例として、演算式a−b+cの処理を実行する場合の演算部37の動作を図13及び図14を用いて説明する。なお、図13は、演算式a−b+cの処理を実行させるためのシーケンスデータを示す。そして、図13に示すようなシーケンスデータによって演算式a−b+cの処理を実行する場合における、演算部37内のデータの流れを図14に示す。なお、図14において、入力ポートa、b及びcは、スケジューラ35からの入力を示す。
As another example, the operation of the
例えば、図13において、減算マクロ内のセレクタ3701Bに対する選択信号(4a)には「0」が設定されており、セレクタ3702Bに対する選択信号(4b)には「1」が設定されている。従って、図14に示すように、セレクタ3701Bは、選択信号(4a)に従って、入力ポートaから入力されたデータ(データaと呼ぶ)を選択し、FF3705Bを介してセレクタ3703Bに出力する。また、セレクタ3702Bは、選択信号(4b)に従って、入力ポートbから入力されたデータ(データbと呼ぶ)を選択し、FF3706Bを介してセレクタ3704Bに出力する。
For example, in FIG. 13, “0” is set to the selection signal (4a) for the
また、図13において、セレクタ3703Bに対する選択信号(4c)には「3」が設定されており、セレクタ3704Dに対する選択信号(4d)にも「3」が設定されている。従って、図14に示すように、セレクタ3703Bは、選択信号(4c)に従って、FF3705Bからのデータaを選択し、減算器3720に出力する。また、セレクタ3704Bは、選択信号(4d)に従って、FF3706Bからのデータbを選択し、減算器3720に出力する。そして、減算器3720は、セレクタ3703Bからのデータaとセレクタ3704Bからのデータbとを用いて、a−bを計算する。
In FIG. 13, “3” is set to the selection signal (4c) for the
一方、図13において、加算マクロ内のセレクタ3702Aに対する選択信号(3b)には「2」が設定されている。従って、セレクタ3702Aは、選択信号(3b)に従って、入力ポートcから入力されたデータ(データcと呼ぶ)を選択し、FF3706Aを介してセレクタ3704Aに出力する。なお、図13において、入力ポートcに対するdelay(7c)には「5」が設定されているため、セレクタ3702Aは、この値分遅延させてから出力する。
On the other hand, in FIG. 13, “2” is set in the selection signal (3b) for the
また、図13において、加算マクロ内のセレクタ3703Aに対する選択信号(3c)には「0」が設定されており、セレクタ3704Aに対する選択信号(3d)には「3」が設定されている。従って、セレクタ3703Aは、選択信号(3c)に従って、減算器3720からのデータ(すなわち、a−bの結果。データfと呼ぶ。)を選択し、加算器3710に出力する。また、セレクタ3704Aは、選択信号(3d)に従って、FF3706Aからのデータcを選択し、加算器3710に出力する。そして、加算器3710は、セレクタ3703Aからのデータfとセレクタ3704Aからのデータcとを用いて、f+cを計算する。そして、f+c(=a−b+c)の計算結果が加算器3710からスケジューラ35に出力される。
In FIG. 13, “0” is set to the selection signal (3c) for the
なお、上で説明したスケジュールデータ及びシーケンスデータは、プログラムから作成される場合もあれば、人手によって作成される場合もある。 The schedule data and sequence data described above may be created from a program or may be created manually.
次に、図15乃至図17を用いて、図1に示したシステムの処理について説明する。なお、ここでは、予め作成されたスケジュールデータ及びシーケンスデータが、ユーザ端末に格納されているものとする。まず、ユーザは、処理を開始する前段階として、必要なデータを演算処理装置3に設定する。具体的には、ユーザは、ユーザ端末を操作して、演算処理装置3にアクセスする。そして、ユーザは、ユーザ端末を操作して、処理に使用する演算データを演算処理装置3に送信する。演算処理装置3は、ユーザ端末から演算データを受信し、メモリ31に格納する(図15:ステップ(S1))。また、ユーザは、ユーザ端末を操作して、スケジュールデータを演算処理装置3に送信する。演算処理装置3は、ユーザ端末からスケジュールデータを受信し、スケジュールテーブル32に格納する(ステップ(S2))。また、ユーザは、ユーザ端末を操作して、シーケンスデータを演算処理装置3に送信する。演算処理装置3は、ユーザ端末からシーケンスデータを受信し、シーケンステーブル33に格納する(ステップ(S3))。これで、前段階の処理は、完了したことになる。
Next, processing of the system shown in FIG. 1 will be described with reference to FIGS. Here, it is assumed that schedule data and sequence data created in advance are stored in the user terminal. First, the user sets necessary data in the
そして、ユーザは、ユーザ端末を操作して、演算開始指示を演算処理装置3に送信する(図16:ステップ(S4))。演算処理装置3は、ユーザ端末からの演算開始指示を受信し、当該演算開始指示をスケジューラ35とシーケンサ36とに出力する。
Then, the user operates the user terminal to transmit a calculation start instruction to the calculation processing device 3 (FIG. 16: Step (S4)). The
そして、スケジューラ35は、演算開始指示を受信すると、スケジュールテーブル32からスケジュールデータを読み出す(図17:ステップ(S5))。例えば図4に示したスケジュールデータでは、1行目から3行目までがデータ・リード、4行目がデータ・ライトとなっており、図4に示したようなスケジュールデータがスケジュールテーブル32に格納されている場合には、4レコード分のスケジュールデータが読み出される。また、シーケンサ36は、演算開始指示を受信すると、シーケンステーブル33から1レコード分のシーケンスデータを読み出す(ステップ(S6))。
When the
そして、スケジューラ35は、読み出したスケジュールデータに従って、メモリコントローラ34を介してメモリ31から演算データを読み出し(ステップ(S7))、読み出した演算データを演算部37に出力する(ステップ(S8))。具体的には、スケジューラ35は、データ・リードに関するスケジュールデータに従って、演算データを読み出す。例えば、データ・リードに関する、3レコード分のスケジュールデータが読み出された場合には、各レコードについて、当該レコードの設定に従って、演算データが読み出され、入力ポートa、b又はcを介して演算部37に出力される。
Then, the
また、シーケンサ36は、読み出した1レコード分のシーケンスデータを演算部37に出力する(ステップ(S9))。
The
そして、演算部37は、入力された演算データ及びシーケンスデータに従って演算処理を実行する(ステップ(S10))。すなわち、シーケンスデータに含まれる各選択信号に従って、演算部37における演算マクロ内の各セレクタが上で述べたような動作を行うことにより、所定の演算式に対応する演算処理を実行する。
And the calculating
そして、演算部37は、シーケンスデータに基づく演算処理が完了すると、最終的な演算結果である演算式結果データをスケジューラ35に出力する(ステップ(S11))。スケジューラ35は、演算部37から演算式結果データを受信する。そして、スケジューラ35は、スケジュールデータに従って、メモリコントローラ34を介してメモリ31に演算式結果データを書き込む(ステップ(S12))。具体的には、ステップ(S5)において読み出した、データ・ライトに関するスケジュールデータに従い、当該スケジュールデータの先頭アドレス(AS1)及び連続領域のワード数(NCW)によって特定される領域に演算式結果データを書き込む。そして、スケジューラ35、シーケンサ36及び演算部37は、スケジュールデータ及びシーケンスデータに従って、ステップ(S7)乃至ステップ(S12)の処理を繰り返す。なお、シーケンスデータにおける(8)SKIP_INTERVALと、(9)SKIP_WORKとを適切に設定しておくことで、所定の間隔毎に処理をスキップさせるようなことも可能である。
Then, when the arithmetic processing based on the sequence data is completed, the
そして、ユーザは、全ての演算処理が完了した後、ユーザ端末を操作して、演算処理装置3のメモリ31から処理結果を取得し、表示装置等に表示する(ステップ(S13))。なお、処理途中のデータをユーザ端末の表示装置等に表示させるようにしてもよい。
Then, after all the arithmetic processing is completed, the user operates the user terminal, acquires the processing result from the
以上のような処理を実施することにより、演算データの読み出しと演算回路の再構成とを、それぞれスケジュールデータとシーケンスデータとに設定できるので、自由度が高くなり、合理的に演算処理を実現することができる。例えばループ処理において所定の間隔毎に処理をスキップさせるような場合には、シーケンスデータを適切に設定することで実現可能である。 By carrying out the processing as described above, it is possible to set calculation data readout and calculation circuit reconfiguration to schedule data and sequence data, respectively, so that the degree of freedom is increased and rational calculation processing is realized. be able to. For example, when the processing is skipped at predetermined intervals in the loop processing, it can be realized by appropriately setting the sequence data.
以上本技術の一実施の形態について説明したが、本発明はこれに限定されるものではない。例えば、図4に示したスケジュールデータや図6に示したシーケンスデータの構成は一例であって、上で述べたような演算データの読み出し、演算回路の再構成などを実現できれば、他の構成を採用することも可能である。 Although one embodiment of the present technology has been described above, the present invention is not limited to this. For example, the configuration of the schedule data shown in FIG. 4 and the sequence data shown in FIG. 6 is an example, and other configurations can be used as long as the operation data can be read and the operation circuit can be reconfigured as described above. It is also possible to adopt.
以上本実施の形態をまとめると以下のようになる。 The present embodiment can be summarized as follows.
本演算処理装置は、複数の演算回路を有し、当該複数の演算回路のうち少なくともいずれかを用いて所定の演算式に対応する演算処理を行う動的再構成演算回路と、演算データを格納するメモリと、所定の演算式に対応する演算処理において使用すべき演算回路に関する情報を含むシーケンスデータを所定の演算式毎に格納するシーケンスデータ格納部と、所定の演算式に対応する演算処理において使用すべき演算データを格納している、メモリ内の領域を示すアドレスを含むスケジュールデータを格納するスケジュールデータ格納部と、演算開始指示を受け付けた場合、シーケンスデータ格納部からシーケンスデータを読み出し、動的再構成演算回路に出力するシーケンサと、演算開始指示を受け付けた場合、スケジュールデータ格納部からスケジュールデータを読み出し、当該スケジュールデータに従ってメモリから演算データを読み出して動的再構成演算回路に出力するスケジューラとを有する。そして、上で述べた複数の演算回路の各々は、入力データに対して所定の演算子に対応する計算を実施し、演算結果データを他の演算回路に出力する演算器と、スケジューラからの演算データと他の演算回路からの演算結果データとのうち、シーケンスデータに基づき入力データとして使用すべきデータを選択し、演算器に出力するセレクタとを有する。 The arithmetic processing apparatus includes a plurality of arithmetic circuits, a dynamic reconfiguration arithmetic circuit that performs arithmetic processing corresponding to a predetermined arithmetic expression using at least one of the arithmetic circuits, and stores arithmetic data A sequence data storage unit that stores, for each predetermined arithmetic expression, sequence data including information relating to an arithmetic circuit to be used in the arithmetic processing corresponding to the predetermined arithmetic expression, and an arithmetic process corresponding to the predetermined arithmetic expression The schedule data storage unit that stores the calculation data to be used and stores the schedule data including the address indicating the area in the memory, and when the calculation start instruction is received, the sequence data is read from the sequence data storage unit If a sequencer that outputs to a static reconfiguration arithmetic circuit and an operation start instruction are accepted, the schedule data storage unit Read the schedule data, and a scheduler for outputting read the operation data from the memory to the dynamically reconfigurable processor circuit in accordance with the schedule data. Each of the plurality of arithmetic circuits described above performs a calculation corresponding to a predetermined operator on the input data, outputs an operation result data to another arithmetic circuit, and an operation from the scheduler. A selector that selects data to be used as input data based on sequence data from the data and operation result data from another arithmetic circuit and outputs the selected data to the arithmetic unit.
このようにすれば、演算回路内の演算器は、演算結果を他の演算回路に出力するので、メモリへのアクセスの回数が低減され、処理速度の向上を図ることができる。また、動的再構成演算回路を使用しているので、ハードウェアのリソース制限も問題にはならない。 According to this configuration, since the arithmetic unit in the arithmetic circuit outputs the arithmetic result to another arithmetic circuit, the number of accesses to the memory is reduced, and the processing speed can be improved. Further, since the dynamic reconfiguration arithmetic circuit is used, the hardware resource limitation is not a problem.
また、上で述べた動的再構成演算回路が、シーケンスデータに基づき演算結果データのうち所定の演算式に対応する演算処理の結果に該当する演算式結果データを選択し、スケジューラに出力する回路を有するようにしてもよい。 In addition, the dynamic reconfiguration arithmetic circuit described above selects the arithmetic expression result data corresponding to the result of the arithmetic processing corresponding to the predetermined arithmetic expression from the operation result data based on the sequence data, and outputs it to the scheduler You may make it have.
さらに、上で述べたスケジュールデータが、演算式結果データの格納先となる、メモリ内の領域を示すアドレスを含む場合もある。そして、上で述べたスケジューラが、スケジュールデータに従って動的再構成演算回路からの演算式結果データをメモリに書き込むようにしてもよい。 Furthermore, the schedule data described above may include an address indicating an area in the memory where the arithmetic expression result data is stored. Then, the scheduler described above may write the arithmetic expression result data from the dynamic reconfiguration arithmetic circuit in the memory according to the schedule data.
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。 The following supplementary notes are further disclosed with respect to the embodiments including the above examples.
(付記1)
複数の演算回路を有し、当該複数の演算回路のうち少なくともいずれかを用いて所定の演算式に対応する演算処理を行う動的再構成演算回路と、
演算データを格納するメモリと、
前記所定の演算式に対応する演算処理において使用すべき前記演算回路に関する情報を含むシーケンスデータを前記所定の演算式毎に格納するシーケンスデータ格納部と、
前記所定の演算式に対応する演算処理において使用すべき前記演算データを格納している、前記メモリ内の領域を示すアドレスを含むスケジュールデータを格納するスケジュールデータ格納部と、
演算開始指示を受け付けた場合、前記シーケンスデータ格納部から前記シーケンスデータを読み出し、前記動的再構成演算回路に出力するシーケンサと、
前記演算開始指示を受け付けた場合、前記スケジュールデータ格納部から前記スケジュールデータを読み出し、当該スケジュールデータに従って前記メモリから前記演算データを読み出して前記動的再構成演算回路に出力するスケジューラと、
を有し、
前記複数の演算回路の各々は、
入力データに対して所定の演算子に対応する計算を実施し、演算結果データを他の演算回路に出力する演算器と、
前記スケジューラからの前記演算データと前記他の演算回路からの演算結果データとのうち、前記シーケンスデータに基づき前記入力データとして使用すべきデータを選択し、前記演算器に出力するセレクタと、
を有する演算処理装置。
(Appendix 1)
A dynamic reconfiguration arithmetic circuit that has a plurality of arithmetic circuits and performs arithmetic processing corresponding to a predetermined arithmetic expression using at least one of the plurality of arithmetic circuits;
A memory for storing calculation data;
A sequence data storage unit that stores, for each of the predetermined arithmetic expressions, sequence data including information on the arithmetic circuit to be used in the arithmetic processing corresponding to the predetermined arithmetic expression;
A schedule data storage unit for storing schedule data including an address indicating an area in the memory, which stores the calculation data to be used in the calculation process corresponding to the predetermined calculation formula;
When receiving a calculation start instruction, a sequencer that reads the sequence data from the sequence data storage unit and outputs the sequence data to the dynamic reconfiguration arithmetic circuit;
When the calculation start instruction is accepted, the scheduler reads the schedule data from the schedule data storage unit, reads the calculation data from the memory according to the schedule data, and outputs the calculation data to the dynamic reconfiguration calculation circuit;
Have
Each of the plurality of arithmetic circuits is
An arithmetic unit that performs a calculation corresponding to a predetermined operator on the input data and outputs the operation result data to another arithmetic circuit;
A selector that selects data to be used as the input data based on the sequence data from among the calculation data from the scheduler and calculation result data from the other calculation circuit, and outputs to the calculator
An arithmetic processing unit having
(付記2)
前記動的再構成演算回路は、
前記シーケンスデータに基づき前記演算結果データのうち前記所定の演算式に対応する演算処理の結果に該当する演算式結果データを選択し、前記スケジューラに出力する回路
を有する付記1記載の演算処理装置。
(Appendix 2)
The dynamic reconfiguration arithmetic circuit is:
The arithmetic processing apparatus according to
(付記3)
前記スケジュールデータが、前記演算式結果データの格納先となる、前記メモリ内の領域を示すアドレスを含み、
前記スケジューラは、前記スケジュールデータに従って前記動的再構成演算回路からの前記演算式結果データを前記メモリに書き込む
ことを特徴とする付記2記載の演算処理装置。
(Appendix 3)
The schedule data includes an address indicating an area in the memory that is a storage destination of the arithmetic expression result data,
The arithmetic processing device according to
1 ネットワーク 3 演算処理装置
31 メモリ 32 スケジュールテーブル
33 シーケンステーブル 34 メモリコントローラ
35 スケジューラ 36 シーケンサ
37 演算部
DESCRIPTION OF
Claims (3)
演算データを格納するメモリと、
前記所定の演算式に対応する演算処理において使用すべき前記演算回路に関する情報を含むシーケンスデータを前記所定の演算式毎に格納するシーケンスデータ格納部と、
前記所定の演算式に対応する演算処理において使用すべき前記演算データを格納している、前記メモリ内の領域を示すアドレスを含むスケジュールデータを格納するスケジュールデータ格納部と、
演算開始指示を受け付けた場合、前記シーケンスデータ格納部から前記シーケンスデータを読み出し、前記動的再構成演算回路に出力するシーケンサと、
前記演算開始指示を受け付けた場合、前記スケジュールデータ格納部から前記スケジュールデータを読み出し、当該スケジュールデータに従って前記メモリから前記演算データを読み出して前記動的再構成演算回路に出力するスケジューラと、
を有し、
前記複数の演算回路の各々は、
入力データに対して所定の演算子に対応する計算を実施し、演算結果データを他の演算回路に出力する演算器と、
前記スケジューラからの前記演算データと前記他の演算回路からの演算結果データとのうち、前記シーケンスデータに基づき前記入力データとして使用すべきデータを選択し、前記演算器に出力するセレクタと、
を有する演算処理装置。 A dynamic reconfiguration arithmetic circuit that has a plurality of arithmetic circuits and performs arithmetic processing corresponding to a predetermined arithmetic expression using at least one of the plurality of arithmetic circuits;
A memory for storing calculation data;
A sequence data storage unit that stores, for each of the predetermined arithmetic expressions, sequence data including information on the arithmetic circuit to be used in the arithmetic processing corresponding to the predetermined arithmetic expression;
A schedule data storage unit for storing schedule data including an address indicating an area in the memory, which stores the calculation data to be used in the calculation process corresponding to the predetermined calculation formula;
When receiving a calculation start instruction, a sequencer that reads the sequence data from the sequence data storage unit and outputs the sequence data to the dynamic reconfiguration arithmetic circuit;
When the calculation start instruction is accepted, the scheduler reads the schedule data from the schedule data storage unit, reads the calculation data from the memory according to the schedule data, and outputs the calculation data to the dynamic reconfiguration calculation circuit;
Have
Each of the plurality of arithmetic circuits is
An arithmetic unit that performs a calculation corresponding to a predetermined operator on the input data and outputs the operation result data to another arithmetic circuit;
A selector that selects data to be used as the input data based on the sequence data from among the calculation data from the scheduler and calculation result data from the other calculation circuit, and outputs to the calculator
An arithmetic processing unit having
前記シーケンスデータに基づき前記演算結果データのうち前記所定の演算式に対応する演算処理の結果に該当する演算式結果データを選択し、前記スケジューラに出力する回路
を有する請求項1記載の演算処理装置。 The dynamic reconfiguration arithmetic circuit is:
The arithmetic processing device according to claim 1, further comprising: a circuit that selects arithmetic expression result data corresponding to a result of arithmetic processing corresponding to the predetermined arithmetic expression from the arithmetic result data based on the sequence data, and outputs the selected arithmetic expression result data to the scheduler. .
前記スケジューラは、前記スケジュールデータに従って前記動的再構成演算回路からの前記演算式結果データを前記メモリに書き込む
ことを特徴とする請求項2記載の演算処理装置。 The schedule data includes an address indicating an area in the memory that is a storage destination of the arithmetic expression result data,
The arithmetic processing apparatus according to claim 2, wherein the scheduler writes the arithmetic expression result data from the dynamic reconfiguration arithmetic circuit in the memory according to the schedule data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009080265A JP2010231645A (en) | 2009-03-27 | 2009-03-27 | Arithmetic processing unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009080265A JP2010231645A (en) | 2009-03-27 | 2009-03-27 | Arithmetic processing unit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010231645A true JP2010231645A (en) | 2010-10-14 |
Family
ID=43047373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009080265A Pending JP2010231645A (en) | 2009-03-27 | 2009-03-27 | Arithmetic processing unit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010231645A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112200310A (en) * | 2020-08-28 | 2021-01-08 | 厦门星宸科技有限公司 | Intelligent processor, data processing method and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6474617A (en) * | 1987-09-17 | 1989-03-20 | Tsukuba Univ | Floating-point arithmetic system |
JPH10269059A (en) * | 1997-03-27 | 1998-10-09 | Sharp Corp | Data processor |
JP2002328881A (en) * | 2001-04-26 | 2002-11-15 | Sharp Corp | Image processor, image processing method and portable video equipment |
JP2006018453A (en) * | 2004-06-30 | 2006-01-19 | Fujitsu Ltd | Semiconductor device |
JP2006031127A (en) * | 2004-07-12 | 2006-02-02 | Fujitsu Ltd | Reconfiguratable arithmetic unit |
-
2009
- 2009-03-27 JP JP2009080265A patent/JP2010231645A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6474617A (en) * | 1987-09-17 | 1989-03-20 | Tsukuba Univ | Floating-point arithmetic system |
JPH10269059A (en) * | 1997-03-27 | 1998-10-09 | Sharp Corp | Data processor |
JP2002328881A (en) * | 2001-04-26 | 2002-11-15 | Sharp Corp | Image processor, image processing method and portable video equipment |
JP2006018453A (en) * | 2004-06-30 | 2006-01-19 | Fujitsu Ltd | Semiconductor device |
JP2006031127A (en) * | 2004-07-12 | 2006-02-02 | Fujitsu Ltd | Reconfiguratable arithmetic unit |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112200310A (en) * | 2020-08-28 | 2021-01-08 | 厦门星宸科技有限公司 | Intelligent processor, data processing method and storage medium |
CN112200310B (en) * | 2020-08-28 | 2023-11-24 | 星宸科技股份有限公司 | Intelligent processor, data processing method and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20030064239A (en) | Image processing device and method, and compiler used in image processing device | |
JP2006018413A (en) | Processor and pipeline reconfiguration control method | |
JP4801605B2 (en) | SIMD type microprocessor | |
JP2007272671A (en) | Motion composition device, debugging device, write device and circuit design support system and method | |
JPH03286332A (en) | Digital data processor | |
JPWO2011036918A1 (en) | Data rearrangement circuit, variable delay circuit, fast Fourier transform circuit, and data rearrangement method | |
JP2010231645A (en) | Arithmetic processing unit | |
CN103077069B (en) | The method and device that instruction resolves | |
JP2002229970A (en) | Simd product sum operation method, sum of product sum arithmetic circuit and semiconductor integrated circuit device | |
JP2009157613A (en) | Reconfigurable circuit | |
JP2013239120A (en) | Image processing device | |
JP2008198003A (en) | Array type processor | |
JPH09305401A (en) | Computer and compiler | |
JP2006293538A (en) | Calculation system | |
JP6553694B2 (en) | Processor element, programmable device and control method of processor element | |
JP5813484B2 (en) | VLIW processor, instruction structure and instruction execution method | |
JPH1078868A (en) | Data processor | |
JP2885197B2 (en) | Arithmetic processing device and arithmetic processing method | |
JP6141073B2 (en) | Information processing apparatus and information processing apparatus control method | |
JP4388643B2 (en) | Multi-channel signal processor | |
JP2005267362A (en) | Image processing method using simd processor and image processor | |
JP2006515446A (en) | Data processing system with Cartesian controller that cross-references related applications | |
JP2008310719A (en) | Block transfer instruction execution device and block transfer method | |
JP2001092658A (en) | Data processing circuit and data processor | |
JP2015022588A (en) | Conversion program and conversion method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110907 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121204 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130409 |