JP2005322174A - Arithmetic device - Google Patents

Arithmetic device Download PDF

Info

Publication number
JP2005322174A
JP2005322174A JP2004141611A JP2004141611A JP2005322174A JP 2005322174 A JP2005322174 A JP 2005322174A JP 2004141611 A JP2004141611 A JP 2004141611A JP 2004141611 A JP2004141611 A JP 2004141611A JP 2005322174 A JP2005322174 A JP 2005322174A
Authority
JP
Japan
Prior art keywords
source data
address
arithmetic unit
generation device
data
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
JP2004141611A
Other languages
Japanese (ja)
Other versions
JP4590926B2 (en
Inventor
Roou Nagai
呂翁 長井
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004141611A priority Critical patent/JP4590926B2/en
Publication of JP2005322174A publication Critical patent/JP2005322174A/en
Application granted granted Critical
Publication of JP4590926B2 publication Critical patent/JP4590926B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an arithmetic device capable of continuously carrying out a process for executing different computation depending on an input condition, of preventing an useless processing in the case where the process is interrupted when a condition is satisfied, and of improving transfer efficiency. <P>SOLUTION: This arithmetic device includes: an address generator 12 for providing an address ADR12 to a bank 111 to read first data for computation of a computing unit 15 and for outputting the first data as first source data DT11; an address generator 13 for providing an address ADR13 to a bank 112 to read second data for computation of the computing device 15 and for outputting the second data as second source data DT12 along with a control signal CTLOP for computation; and the computing unit 15 for executing conditional execution computation according to the control signal CTLOP to the first source data DT11 and the second source data DT12. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、いわゆるデータフロー型演算装置に関するものである。   The present invention relates to a so-called data flow type arithmetic apparatus.

従来のデータフロー型演算器の場合、メモリから連続したデータが転送され、転送されたデータに対しあらかじめ決められた1種類の演算を連続して行うものであった。   In the case of a conventional data flow type arithmetic unit, continuous data is transferred from a memory, and one kind of predetermined operation is continuously performed on the transferred data.

しかし、このような演算器の場合、入力条件によって異なる演算を行うような処理を連続して行うことは不可能である。   However, in the case of such an arithmetic unit, it is impossible to continuously perform processing that performs different calculations depending on input conditions.

また、ある条件を満たせば途中で処理を中断するような場合でもあらかじめ決められた個数分の処理を行わなければならないため無駄な処理が行われていた。   Further, even if the processing is interrupted halfway if a certain condition is satisfied, a predetermined number of processings must be performed, so that useless processing has been performed.

さらに、データバス幅よりも小さい語長のデータを累算する場合、たとえば32ビットバスシステムにおいて8ビットデータを扱う場合等、転送効率が悪くなるという不利益があった。   Furthermore, when data having a word length smaller than the data bus width is accumulated, there is a disadvantage that transfer efficiency is deteriorated, for example, when 8-bit data is handled in a 32-bit bus system.

本発明は、かかる事情に鑑みてなされたものであり、その目的は、入力条件によって異なる演算を行うような処理を連続して行うことが可能で、条件を満たせば途中で処理を中断するような場合の無駄な処理を抑止でき、また、転送効率の向上を図れる演算装置を提供することにある。   The present invention has been made in view of such circumstances, and an object of the present invention is to be able to continuously perform processing that performs different calculations depending on input conditions, and to interrupt processing in the middle if the conditions are satisfied. An object of the present invention is to provide an arithmetic unit that can prevent useless processing in such a case and can improve transfer efficiency.

上記目的を達成するため、本発明の第1の観点の演算装置は、第1のソースデータを生成する第1の生成装置と、第2のソースデータを生成し、かつ、当該第2のソースデータに制御信号を付加して出力する第2の生成装置と、上記第1の生成装置による第1のソースデータと、上記第2の生成装置による第2のソースデータに対して上記制御信号に応じて演算種を切り替えて所定の演算を行う演算器とを有する。   In order to achieve the above object, an arithmetic device according to a first aspect of the present invention includes a first generation device that generates first source data, second source data, and the second source. A second generation device that outputs a control signal added to the data, the first source data by the first generation device, and the control signal for the second source data by the second generation device. And an arithmetic unit that performs a predetermined operation by switching the operation type accordingly.

好適には、上記第1のソースデータおよび上記第2のソースデータを格納するメモリを有し、上記第1の生成装置は、上記第1のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第1のソースデータを上記演算器に出力し、上記第2の生成装置は、上記第2のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第2のソースデータと上記制御信号を上記演算器に出力する。   Preferably, the memory has a memory for storing the first source data and the second source data, and the first generation device generates an address for reading the first source data, and the address The first source data read based on the second source data is output to the computing unit, and the second generation device generates an address for reading the second source data, and reads the second source data based on the second address. Source data and the control signal are output to the computing unit.

好適には、上記演算器の演算結果を受けてアドレスを生成して、演算結果を上記メモリに書き込む第3の生成装置をさらに有する。   Preferably, the apparatus further includes a third generation device that receives an operation result of the operation unit, generates an address, and writes the operation result in the memory.

本発明の第2の観点の演算装置は、第1のソースデータを生成する第1の生成装置と、第2のソースデータを生成する第2の生成装置と、上記第2の生成装置の第2のソースデータに対して所定の演算処理を行って第3のソースデータを生成し、かつ、当該第3のソースデータに制御信号を付加し出力する第1の演算器と、上記第1の生成装置による第1のソースデータと、上記第1演算器による第3のソースデータに対して上記制御信号応じて演算種を切り替えて所定の演算を行う第2の演算器とを有する。   An arithmetic device according to a second aspect of the present invention includes a first generation device that generates first source data, a second generation device that generates second source data, and a second generation device of the second generation device. A first arithmetic unit that performs predetermined arithmetic processing on the second source data to generate third source data, adds a control signal to the third source data, and outputs the third source data; A second computing unit that performs a predetermined computation by switching a computation type according to the control signal for the first source data by the generation device and the third source data by the first computing unit.

好適には、上記第1のソースデータおよび上記第2のソースデータを格納するメモリを有し、上記第1の生成装置は、上記第1のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第1のソースデータを上記第2の演算器に出力し、上記第2の生成装置は、上記第2のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第2のソースデータを上記第1の演算器に出力する。   Preferably, the memory has a memory for storing the first source data and the second source data, and the first generation device generates an address for reading the first source data, and the address The first source data read based on the second source data is output to the second arithmetic unit, and the second generation device generates an address for reading the second source data, and reads based on the address. The second source data is output to the first arithmetic unit.

好適には、上記第2の演算器の演算結果を受けてアドレスを生成して、演算結果を上記メモリに書き込む第3の生成装置をさらに有する。   Preferably, the apparatus further includes a third generation device that receives an operation result of the second arithmetic unit, generates an address, and writes the operation result in the memory.

好適には、上記第2の演算器は、上記演算結果に制御信号を付加して出力し、上記第2の演算器の演算結果および制御信号を受けてアドレスを生成して、演算結果を上記メモリに書き込む第3の生成装置をさらに有する。   Preferably, the second arithmetic unit adds and outputs a control signal to the arithmetic result, generates an address in response to the arithmetic result and the control signal of the second arithmetic unit, and outputs the arithmetic result to the above A third generation device for writing to the memory is further included.

本発明の第3の観点の演算装置は、第1のソースデータを生成する第1の生成装置と、第2のソースデータを生成する第2の生成装置と、上記第1の生成装置の第1のソースデータと、上記第2の生成装置による第2のソースデータに所定の演算処理を行って第3のソースデータを生成する第1の演算器と、上記第1の演算器による第3のソースデータに対して所定の演算を行って制御信号を付加して出力する第2の演算器と、上記第2の演算器による演算結果および制御信号を受けて、上記第2および第3の生成装置の生成動作を制御する制御信号を生成する第3の生成装置とを有する。   An arithmetic device according to a third aspect of the present invention includes a first generation device that generates first source data, a second generation device that generates second source data, and a first generation device of the first generation device. A first arithmetic unit that performs predetermined arithmetic processing on the first source data and the second source data by the second generation device to generate third source data; and a third arithmetic unit by the first arithmetic unit. A second arithmetic unit that performs a predetermined operation on the source data and outputs a control signal, and receives a calculation result and a control signal by the second arithmetic unit, and receives the second and third A third generation device that generates a control signal for controlling the generation operation of the generation device.

好適には、上記第1のソースデータおよび上記第2のソースデータを格納するメモリを有し、上記第1の生成装置は、上記第1のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第1のソースデータを上記第2の演算器に出力し、上記第2の生成装置は、上記第2のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第2のソースデータを上記第1の演算器に出力する上記第3の生成装置は、上記第2の演算器の演算結果および制御信号を受けてアドレスを生成して、演算結果を上記メモリに書き込む。   Preferably, the memory has a memory for storing the first source data and the second source data, and the first generation device generates an address for reading the first source data, and the address The first source data read based on the second source data is output to the second arithmetic unit, and the second generation device generates an address for reading the second source data, and reads based on the address. The third generation device that outputs the second source data to the first arithmetic unit receives the calculation result of the second arithmetic unit and the control signal, generates an address, and stores the calculation result in the memory Write to.

本発明の第4の観点は、第1、第2、第3、および第4のソースデータを格納するメモリと、上記第1のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第1のソースデータを出力する第1の生成装置と、上記第2のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第2のソースデータに第1の制御信号を付加して出力する第2の生成装置と、上記第3のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第3のソースデータを出力する第3の生成装置と、上記第1の生成装置による第1のソースデータと、上記第2の生成装置による第2のソースデータに対して上記第1の制御信号に応じて演算を行ってアドレスデータを生成し、当該アドレスデータに第2の制御信号を付加して出力する第1の演算器と、上記第1の演算器により上記アドレスデータおよび第2の制御信号に基づいて上記第4のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第4のソースデータを出力する第4の生成装置と、上記第3の生成装置による第3のソースデータと、上記第4の生成装置による第4のソースデータに対して所定の演算を行って出力する第2の演算器と、上記第2の演算器の演算結果を受けてアドレスを生成して、演算結果を上記メモリに書き込む第5の生成装置とを有する。   According to a fourth aspect of the present invention, a memory for storing first, second, third, and fourth source data and an address for reading the first source data are generated, and based on the address A first generation device that outputs the read first source data, an address for reading the second source data, and a first control signal for the second source data read based on the address A second generation device that adds and outputs, a third generation device that generates an address for reading the third source data, and outputs the third source data read based on the address; Address data is generated by performing an operation on the first source data by the first generation device and the second source data by the second generation device according to the first control signal. In order to read out the fourth source data based on the address data and the second control signal by the first arithmetic unit that outputs the address data with a second control signal added thereto. A fourth generation device that generates a fourth source data read out based on the address, a third source data by the third generation device, and a fourth source data by the fourth generation device. A second computing unit that performs a predetermined computation on the source data of 4 and outputs, and receives an operation result of the second computing unit, generates an address, and writes the operation result to the memory A generator.

好適には、演算器は、バス幅より小さい語長のデータで累算を行う際に複数のデータをひとかたまりに扱い累算を行う。   Preferably, the arithmetic unit treats and accumulates a plurality of data when performing accumulation with data having a word length smaller than the bus width.

本発明によれば、たとえばある特定のインデックス条件を満たす場合のみ演算が加算から減算に切り替わるものである場合に、演算器自体は配列のインデックス、すなわちメモリのアドレスを知らないため演算を切り替える制御はアドレスを発行する側、つまり第2の生成装置が制御信号を生成することになる。
第2の生成装置によりメモリから読み出されたデータと共に制御信号を演算器に渡し、これにより演算が行われ、その結果がたとえばメモリに書き込まれるという一連の処理が実現される。
According to the present invention, for example, when the operation is switched from addition to subtraction only when a specific index condition is satisfied, the arithmetic unit itself does not know the array index, that is, the memory address, so The side that issues the address, that is, the second generation device generates the control signal.
A control signal is passed to the computing unit together with the data read from the memory by the second generation device, whereby a series of processing is performed in which the computation is performed and the result is written into the memory, for example.

本発明によれば、入力条件によって異なる演算を行うような処理を連続して行うことができる。
また、条件を満たせば途中で処理を中断するような場合の無駄な処理を抑止でき、また、転送効率の向上を図れる利点がある。
According to the present invention, it is possible to continuously perform processing that performs different calculations depending on input conditions.
Further, if the condition is satisfied, there is an advantage that it is possible to suppress useless processing when the processing is interrupted in the middle, and to improve transfer efficiency.

以下、本発明の実施形態を図面に関連付けて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

<第1実施形態>
図1は、本発明に係るデータフロー型演算装置の第1の実施形態を示す構成図である。
<First Embodiment>
FIG. 1 is a configuration diagram showing a first embodiment of a data flow type arithmetic unit according to the present invention.

本演算装置10は、複数(図1では3個)のバンク111〜113を備えたメモリ11、バンク111〜113に応対して設けられた第1〜第3のアドレス生成装置12(AG0),13(AG1),14(AG2)、および演算器(PE)15を有している。   The arithmetic device 10 includes a memory 11 having a plurality (three in FIG. 1) of banks 111 to 113, first to third address generation devices 12 (AG0) provided in response to the banks 111 to 113, 13 (AG1), 14 (AG2), and a computing unit (PE) 15.

アドレス生成装置12は、アドレスADR12およびコントロール信号CTL12をバンク111に与えて演算器15の演算のための第1のデータを読み出して、第1のソースデータDT11として演算器15に出力する。   The address generator 12 gives the address ADR12 and the control signal CTL12 to the bank 111, reads the first data for the calculation of the calculator 15, and outputs the first data to the calculator 15 as the first source data DT11.

アドレス生成装置13は、アドレスADR13およびコントロール信号CTL13をバンク112に与えて演算器15の演算のための第2のデータを読み出して、演算の制御信号CTLOPとともに第2のソースデータDT12として演算器15に出力する。   The address generation device 13 gives the address ADR13 and the control signal CTL13 to the bank 112, reads the second data for the calculation of the calculator 15, and calculates the calculator 15 as the second source data DT12 together with the calculation control signal CTLOP. Output to.

アドレス生成装置14は、アドレスADR14およびコントロール信号CTL14をバンク113に与えて演算器15の演算結果を、バンク113に格納する。   The address generation device 14 gives the address ADR 14 and the control signal CTL 14 to the bank 113 and stores the calculation result of the calculator 15 in the bank 113.

演算器15は、アドレス生成装置12による第1のソースデータDT11とアドレス生成装置13による第2のソースデータDT12に対して、制御信号CTLOPに応じたたとえば以下に示す条件実行演算を行い、演算結果S15(Destination)をアドレス生成装置14に出力する。   The computing unit 15 performs, for example, the following condition execution computation corresponding to the control signal CTLOP on the first source data DT11 by the address generation device 12 and the second source data DT12 by the address generation device 13, and the computation result S15 (Destination) is output to the address generator 14.

演算器15の制御方法を条件実行演算を例に述べる。
以下の例は配列のインデックスが分岐条件となるC言語によるプログラム例である。
The control method of the computing unit 15 will be described by taking a conditional execution computation as an example.
The following example is a C language program example in which the array index is a branching condition.

<プログラム例1>
for (i=0; i<256; i++) {
if (i > 254) out[i] = a[i] - b[i];
else out[i] = a[i] + b[i];
<Program example 1>
for (i = 0; i <256; i ++) {
if (i> 254) out [i] = a [i]-b [i];
else out [i] = a [i] + b [i];
}

図2(A)〜(C)は、演算器15の演算実行状態を示す図である。
これはある特定のインデックス条件を満たす場合のみ演算が加算から減算に切り替わるものであるが、演算器自体は配列のインデックス、すなわちメモリのアドレスを知らないため演算を切り替える制御はアドレスを発行する側、つまりはアドレス生成装置13が制御信号CTLOPを生成することになる。
FIGS. 2A to 2C are diagrams illustrating the calculation execution state of the calculator 15.
This is an operation that switches from addition to subtraction only when a specific index condition is satisfied, but the calculator itself does not know the array index, that is, the memory address, so the control to switch the operation is the side that issues the address, That is, the address generation device 13 generates the control signal CTLOP.

この例では演算の種類が2種類なので制御線としては1ビットの信号線があればよく、図1のようにアドレス生成装置13によりメモリから読み出されたデータと共に制御信号CTLOPを演算器15に渡し、これにより演算が行われ、その結果がまたメモリ11のバンク113に書き込まれるという一連のフローが実現される。   In this example, since there are two types of calculation, it is sufficient that the control line has a 1-bit signal line, and the control signal CTLOP is sent to the calculator 15 together with the data read from the memory by the address generator 13 as shown in FIG. Then, a series of flows is realized in which the operation is performed and the result is written to the bank 113 of the memory 11 again.

<第2実施形態>
図3は、本発明に係るデータフロー型演算装置の第2の実施形態を示す構成図である。
Second Embodiment
FIG. 3 is a block diagram showing a second embodiment of the data flow type arithmetic unit according to the present invention.

本演算装置20は、複数(図3では3個)のバンク211〜213を備えたメモリ11、バンク111〜113に応対して設けられた第1〜第3のアドレス生成装置22(AG0),23(AG1),24(AG2)、第1の演算器(PE0)25、および第2の演算器(PE1)26を有している。   The arithmetic unit 20 includes a memory 11 having a plurality (three in FIG. 3) of banks 211 to 213, and first to third address generators 22 (AG0) provided corresponding to the banks 111 to 113, 23 (AG1), 24 (AG2), a first computing unit (PE0) 25, and a second computing unit (PE1) 26.

アドレス生成装置22は、アドレスADR22およびコントロール信号CTL22をバンク211に与えて演算器26の演算のための第1のデータを読み出して、第1のソースデータDT21として演算器26に出力する。   The address generation device 22 gives the address ADR22 and the control signal CTL22 to the bank 211, reads the first data for the calculation of the calculator 26, and outputs it as the first source data DT21 to the calculator 26.

アドレス生成装置23は、アドレスADR23およびコントロール信号CTL23をバンク212に与えて演算器25の演算のための第1のデータを読み出して、第2のソースデータDT22として演算器25に出力する。   The address generation device 23 gives the address ADR23 and the control signal CTL23 to the bank 212, reads the first data for the calculation of the calculator 25, and outputs it to the calculator 25 as the second source data DT22.

アドレス生成装置24は、アドレスADR24およびコントロール信号CTL24をバンク213に与えて演算器26の演算結果を、バンク213に格納する。   The address generator 24 gives the address ADR 24 and the control signal CTL 24 to the bank 213 and stores the calculation result of the calculator 26 in the bank 213.

演算器25は、アドレス生成装置23による第2のソースデータDT22に基づいて比較演算を行い、演算の制御信号CTLOPとともに第3のソースデータDT23として演算器26に出力する。   The arithmetic unit 25 performs a comparison operation based on the second source data DT22 by the address generation device 23, and outputs it to the arithmetic unit 26 as the third source data DT23 together with the operation control signal CTLOP.

演算器26は、アドレス生成装置22による第1のソースデータDT21とアドレス生成装置23による第3のソースデータDT23に対して、制御信号CTLOPに応じたたとえば以下に示す条件実行演算を行い、演算結果S26(Destination)をアドレス生成装置24に出力する。   The computing unit 26 performs, for example, the following condition execution computation corresponding to the control signal CTLOP on the first source data DT21 by the address generation device 22 and the third source data DT23 by the address generation device 23, and the computation result S26 (Destination) is output to the address generator 24.

演算器25,26の制御方法を条件実行演算を例に述べる。
以下の例は配列のインデックスが分岐条件となるC言語によるプログラム例である。
ここでは、別の例としてデータの値が分岐条件となるプログラム例を以下に示す。
The control method of the calculators 25 and 26 will be described by taking a condition execution calculation as an example.
The following example is a C language program example in which the array index is a branching condition.
Here, as another example, a program example in which the data value becomes a branch condition is shown below.

<プログラム例2>
for (i=0; i<256; i++) {
if (a[i] > 0) out[i] = a[i] + b[i];
else out[i] = a[i];
<Program example 2>
for (i = 0; i <256; i ++) {
if (a [i]> 0) out [i] = a [i] + b [i];
else out [i] = a [i];
}

図4(A)〜(C)は、演算器25,26の演算実行状態を示す図である。
この例は、演算器の入力となる配列の値により演算の種類が切り替わるもので、図3のように演算器2つを縦続接続して前段の演算器25で比較演算をすることにより後段の演算器26の演算を切り替えるための制御信号CTLOPを生成する。
このとき、前段の演算器25の演算結果は入力された値と同じ値を出力するようにする。
これは演算器25内部がパイプライン化された場合でもデータと制御信号の同期を取るためである。
なお、上で示した2つの例は何れも2種類の演算を切り替える例であるが、原理的には3種類以上の切り替えも可能でありその場合は制御信号も2ビット以上必要になる。
4A to 4C are diagrams showing the calculation execution states of the calculators 25 and 26. FIG.
In this example, the type of calculation is switched depending on the array value that is the input of the arithmetic unit. As shown in FIG. 3, two arithmetic units are connected in cascade, and comparison operation is performed by the arithmetic unit 25 in the previous stage. A control signal CTLOP for switching the calculation of the calculator 26 is generated.
At this time, the calculation result of the calculator 25 at the previous stage is output as the same value as the input value.
This is because the data and the control signal are synchronized even when the arithmetic unit 25 is pipelined.
Note that the two examples shown above are examples in which two types of operations are switched, but in principle three or more types of switching can be performed, and in that case, the control signal also requires 2 bits or more.

<第3実施形態>
図5は、本発明に係るデータフロー型演算装置の第3の実施形態を示す構成図である。
<Third Embodiment>
FIG. 5 is a block diagram showing a third embodiment of the data flow type arithmetic unit according to the present invention.

本第3の実施形態の演算装置20A第2の実施形態の演算装置20と異なる点は、演算器25において比較演算により生成された制御信号CTLOPをアドレス生成装置の制御信号MEMWEとして用いる点にある。   The arithmetic device 20A of the third embodiment is different from the arithmetic device 20 of the second embodiment in that the control signal CTLOP generated by the comparison operation in the arithmetic unit 25 is used as the control signal MEMWE of the address generator. .

比較演算により生成された制御信号をアドレス生成装置の制御に用いたプログラム例を以下に示す。   A program example in which the control signal generated by the comparison operation is used to control the address generation device is shown below.

<プログラム例3>
j = 0;
for (i=0; i<256; i++) {
if (a[i] > 0) out[j++] = a[i] + b[i];
<Program example 3>
j = 0;
for (i = 0; i <256; i ++) {
if (a [i]> 0) out [j ++] = a [i] + b [i];
}

図6(A)〜(E)は、演算器25,26の演算実行状態およびメモリへの書き込み制御状態を示す図である。   6A to 6E are diagrams showing the calculation execution states of the calculators 25 and 26 and the control state of writing to the memory.

この例は、演算の入力となるデータの値が条件を満たした場合のみ配列のインデックスをインクリメントし、演算結果をメモリへ書き込む動作をする。
図5は、この例を実現するための構成例であるが、図3と同様に2つの演算器25,26を縦続接続しているが、後段の演算器26Aは常に固定の演算を行い、前段の演算器25の比較演算で生成された制御信号CTLOPはそのまま後段を通過しメモリ書き込み用のアドレス生成装置24へデータと共に渡される。
もしも、演算器内部がパイプライン化されている場合でも制御信号がデータと同じ経路を通るためにデータと制御信号は常に同期している。
メモリ書き込み用のアドレス生成装置24ではこの制御信号を用いてメモリに対するアドレスと書き込み(WE)の制御を行う。
In this example, the array index is incremented only when the value of the data serving as the operation input satisfies the condition, and the operation result is written to the memory.
FIG. 5 is a configuration example for realizing this example, but the two computing units 25 and 26 are cascaded as in FIG. 3, but the latter computing unit 26A always performs a fixed computation, The control signal CTLOP generated by the comparison operation of the operation unit 25 in the previous stage passes through the subsequent stage as it is and is delivered to the address generation device 24 for writing data together with the data.
Even if the arithmetic unit is pipelined, the data and the control signal are always synchronized because the control signal passes through the same path as the data.
The memory writing address generator 24 controls the address and writing (WE) to the memory using this control signal.

<第4実施形態>
図7は、本発明に係るデータフロー型演算装置の第4の実施形態を示す構成図である。
<Fourth embodiment>
FIG. 7 is a block diagram showing a fourth embodiment of the data flow type arithmetic unit according to the present invention.

本演算装置30は、複数(図7では3個)のバンク311〜313を備えたメモリ31、バンク311〜313に応対して設けられた第1〜第3のアドレス生成装置32(AG0),33(AG1),34(AG2)、第1の演算器(PE0)35、および第2の演算器(PE1)36を有している。   This computing device 30 includes a memory 31 having a plurality of (three in FIG. 7) banks 311 to 313, first to third address generation devices 32 (AG0) provided corresponding to the banks 311 to 313, 33 (AG1), 34 (AG2), a first computing unit (PE0) 35, and a second computing unit (PE1) 36.

アドレス生成装置32は、アドレスADR32およびコントロール信号CTL32をバンク311に与えて演算器35の演算のための第1のデータを読み出して、第1のソースデータDT31として演算器35に出力する。
また、アドレス生成装置32は、アドレス生成装置34による制御信号CTLENDを受けて読み出し動作を終了する。
The address generation device 32 gives the address ADR 32 and the control signal CTL 32 to the bank 311, reads the first data for the calculation of the calculator 35, and outputs it as the first source data DT 31 to the calculator 35.
The address generation device 32 receives the control signal CTLEND from the address generation device 34 and ends the read operation.

アドレス生成装置33は、アドレスADR33およびコントロール信号CTL33をバンク312に与えて演算器35の演算のための第2のデータを読み出して、第2のソースデータDT32として演算器35に出力する。
また、アドレス生成装置33は、アドレス生成装置34による制御信号CTLENDを受けて読み出し動作を終了する。
The address generation device 33 gives the address ADR33 and the control signal CTL33 to the bank 312 to read out the second data for the calculation of the calculator 35 and outputs it as the second source data DT32 to the calculator 35.
The address generation device 33 receives the control signal CTLEND from the address generation device 34 and ends the read operation.

アドレス生成装置34は、演算器36による制御信号CTLWEに基づいてアドレスADR34およびコントロール信号CTL34をバンク313に与えて演算器36の演算結果を、バンク313に格納する。
また、アドレス生成装置34は、演算器36による制御信号CTLWEに基づいて一連の処理を終了させるための制御信号CTLENDを生成して、アドレス生成装置32,33に出力する
The address generator 34 gives the address ADR 34 and the control signal CTL 34 to the bank 313 based on the control signal CTLWE from the calculator 36 and stores the calculation result of the calculator 36 in the bank 313.
Further, the address generation device 34 generates a control signal CTLEND for ending a series of processing based on the control signal CTLWE from the arithmetic unit 36 and outputs the control signal CTLEND to the address generation devices 32 and 33.

演算器35は、アドレス生成装置22による第1のソースデータDT1とアドレス生成装置33による第2のソースデータDT32に対して、たとえばたとえば以下に示す条件実行演算を行い、その結果を第3のソースデータDT33として演算器36に出力する。   The computing unit 35 performs, for example, the following conditional execution operation on the first source data DT1 by the address generation device 22 and the second source data DT32 by the address generation device 33, and outputs the result to the third source data. The data DT33 is output to the calculator 36.

演算器36は、演算器35による第3のソースデータDT33に基づいて比較演算を行い、メモリ書き込みの制御信号CTLWEとともに演算結果S36(Destination)をアドレス生成装置34に出力する。   The calculator 36 performs a comparison calculation based on the third source data DT33 by the calculator 35, and outputs a calculation result S36 (Destination) to the address generator 34 together with the memory write control signal CTLWE.

以下に、演算結果によってループ処理を途中で終了するプログラム例を示す。   The following is an example of a program that terminates loop processing halfway depending on the calculation result.

<プログラム例4>
for (i=0; i<256; i++) {
if ((a[i] - b[i]) == 0) break;
out[i] = a[i] - b[i];
<Program example 4>
for (i = 0; i <256; i ++) {
if ((a [i]-b [i]) == 0) break;
out [i] = a [i]-b [i];
}

図8(A)〜(E)は、図7の演算器35,36の演算実行状態およびメモリへの書き込み制御および読み出し終了制御状態を示す図である。   FIGS. 8A to 8E are diagrams showing the calculation execution state, the write control to the memory, and the read end control state of the calculators 35 and 36 in FIG.

これは前段の演算器35の演算結果を後段の演算器36で比較し、これにより生成した制御信号CTLWEがデータと共にメモリ書き込み用のアドレス生成装置34に渡される。
メモリ書き込み用のアドレス生成装置34ではこの制御信号CTLWEによりメモリ31のバンク313に対するアドレスと書き込み(WE)の制御を行うが、この時メモリ書き込み用のアドレス生成装置34からメモリ読み込み用のアドレス生成装置32,33に対して動作を終了するような制御信号CTLENDを発生することによりメモリ33のバンク311,312の読み出し動作も終了することで一連の処理動作を完全に終了することができる。
In this operation, the operation result of the preceding operation unit 35 is compared by the subsequent operation unit 36, and the control signal CTLWE generated thereby is transferred to the address generation device 34 for writing data together with the data.
The memory write address generator 34 controls the address and write (WE) to the bank 313 of the memory 31 by the control signal CTLWE. At this time, the memory write address generator 34 controls the memory read address generator. By generating the control signal CTLEND that terminates the operation for 32 and 33, the reading operation of the banks 311 and 312 of the memory 33 is also terminated, whereby the series of processing operations can be completely terminated.

<第5実施形態>
図9は、本発明に係るデータフロー型演算装置の第5の実施形態を示す構成図である。
<Fifth Embodiment>
FIG. 9 is a block diagram showing a fifth embodiment of the data flow type arithmetic unit according to the present invention.

本演算装置40は、複数(図9では5個)のバンク411〜415を備えたメモリ41、バンク411〜415に応対して設けられた第1〜第5のアドレス生成装置42(AG0),43(AG1),44(AG2),45(AG3),46(AG4)、第1の演算器(PE0)47、および第2の演算器48(PE1)を有している。   The arithmetic device 40 includes a memory 41 having a plurality (five in FIG. 9) of banks 411 to 415, first to fifth address generation devices 42 (AG0) provided in response to the banks 411 to 415, 43 (AG1), 44 (AG2), 45 (AG3), 46 (AG4), a first computing unit (PE0) 47, and a second computing unit 48 (PE1).

アドレス生成装置42は、アドレスADR42およびコントロール信号CTL42をバンク411に与えて演算器47の演算のための第1のデータを読み出して、第1のソースデータDT41として演算器45に出力する。   The address generation device 42 gives the address ADR 42 and the control signal CTL 42 to the bank 411, reads the first data for the calculation of the calculator 47, and outputs it as the first source data DT41 to the calculator 45.

アドレス生成装置43は、アドレスADR43およびコントロール信号CTL43をバンク412に与えて演算器45の演算のための第2のデータを読み出して、演算の第1の制御信号CTLOPとともに第2のソースデータDT42として演算器45に出力する。   The address generation device 43 gives the address ADR43 and the control signal CTL43 to the bank 412 to read out the second data for the calculation of the calculator 45, and as the second source data DT42 together with the first control signal CTLOP of the calculation The result is output to the calculator 45.

アドレス生成装置44は、アドレスADR44およびコントロール信号CTL44をバンク413に与えて演算器48の演算のための第3のデータを読み出して、第3のソースデータDT43として演算器48に出力する。   The address generation device 44 gives the address ADR 44 and the control signal CTL 44 to the bank 413, reads out the third data for the calculation of the calculator 48, and outputs it as the third source data DT43 to the calculator 48.

アドレス生成装置45は、演算器37による制御信号CTLADおよびアドレスデータS47に基づいてアドレスADR45およびコントロール信号CTL35をバンク414に与えて第4のデータを読み出して、第4のソースデータDT44として演算器48に出力する。   The address generator 45 gives the address ADR45 and the control signal CTL35 to the bank 414 based on the control signal CTLAD and the address data S47 by the calculator 37 to read the fourth data, and the calculator 48 as the fourth source data DT44. Output to.

アドレス生成装置46は、アドレスADR46およびコントロール信号CTL46をバンク415に与えて演算器48の演算結果S48を、バンク415に格納する。   The address generation device 46 gives the address ADR 46 and the control signal CTL 46 to the bank 415 and stores the calculation result S48 of the calculator 48 in the bank 415.

演算器47は、アドレス生成装置42による第1のソースデータDT41とアドレス生成装置43による第2のソースデータDT42に対して、第1の制御信号CTLOPに応じたたとえば所定の演算によりアドレスデータS47生成し、第2の制御信号CTLADと共にアドレス生成装置45に出力する。   The computing unit 47 generates the address data S47 by, for example, a predetermined calculation according to the first control signal CTLOP with respect to the first source data DT41 by the address generating device 42 and the second source data DT42 by the address generating device 43. And output to the address generator 45 together with the second control signal CTLAD.

演算器48は、アドレス生成装置44による第3のソースデータDT43とアドレス生成装置45による第4のソースデータDT44に対して、所定の演算を行い、演算結果S48(Destination)をアドレス生成装置24に出力する。   The computing unit 48 performs a predetermined operation on the third source data DT43 by the address generation device 44 and the fourth source data DT44 by the address generation device 45, and sends an operation result S48 (Destination) to the address generation device 24. Output.

演算器をアドレス計算に使う例を下に示す。   An example of using an arithmetic unit for address calculation is shown below.

<プログラム例5>
for (i=0; i<256; i++) {
index = a[i] * b[i];
out[i] = c[index] + d[i];
<Program example 5>
for (i = 0; i <256; i ++) {
index = a [i] * b [i];
out [i] = c [index] + d [i];
}

本実施形態では、図9に示すように、一端演算器(P47を使ってアドレスの演算をした後、アドレス生成装置45ではそのアドレスを利用してメモリを読み出し、別の演算器48で最終的な結果を得るものである。
また、ここへ更に条件実行演算を組み合わせることでより複雑なアドレス生成を行わせることも可能である。
In this embodiment, as shown in FIG. 9, after calculating an address using one end calculator (P 47), the address generator 45 reads the memory using the address, and the final calculator 48 uses the final address. You will get a good result.
It is also possible to generate more complicated addresses by further combining conditional execution operations.

なお、一般的な静止画や動画の処理は8ビットデータが基本であることが多いため、32ビットバスを用いたシステムではバスの利用効率が悪くなる。
そこで、本発明では累算処理の場合に着目してビットデータを4つまとめて処理することで転送効率/処理効率を改善している。
It should be noted that general still image and moving image processing is often based on 8-bit data, so in a system using a 32-bit bus, the bus utilization efficiency deteriorates.
Therefore, the present invention improves transfer efficiency / processing efficiency by focusing on the case of accumulation processing and processing four pieces of bit data together.

たとえば、8ビットデータが16個ありメモリ上で図10に示すように配置されているとする。
通常のようにデータを1つずつ読み出して処理をした場合は、図11に示すように、16回のメモリ転送が生じる。
これに対し、図12に示すように、4つずつ読み出した場合は4回の転送で済むことになる。
For example, it is assumed that there are 16 pieces of 8-bit data and arranged on the memory as shown in FIG.
When data is read and processed one by one as usual, as shown in FIG. 11, 16 memory transfers occur.
On the other hand, as shown in FIG. 12, when four data are read out, four transfers are sufficient.

図13、図14はそれぞれ1つずつ、4つずつ読み出した場合の処理ブロック図である。図13および図14においては、51はアキュムレータ、52は加算器を示している。   FIG. 13 and FIG. 14 are process block diagrams in the case of reading one by one and four by four. In FIGS. 13 and 14, reference numeral 51 denotes an accumulator, and 52 denotes an adder.

図14に示すように、4つずつ読み出した場合演算器内部では一度1つにまとめられたデータから4つのデータを分離した後それらを1つに足し合わせ、これが累算されることになる。
また、動画像符号化などで多用される参照データに対する差分絶対値の合計を求める場合は、図15に示すように差分絶対値を4つ同時に求めて1つに足し込んだ後累算を行うことで実現できる。なお、図15において、53−1〜53−4は差分絶対値演算部(AbsDiff)を示している。
なお、これは16ビットデータの場合にも応用することができ、その場合16ビットデータ2つをまとめて処理することになる。
As shown in FIG. 14, when four data are read out, the four pieces of data are separated from the data gathered into one at a time in the arithmetic unit, and then added to one, and this is accumulated.
Further, when calculating the sum of absolute differences with respect to reference data frequently used in moving image encoding, etc., as shown in FIG. 15, four absolute differences are simultaneously obtained and added to one, and then accumulation is performed. This can be achieved. In FIG. 15, reference numerals 53-1 to 53-4 denote difference absolute value calculation units (AbsDiff).
This can also be applied to the case of 16-bit data. In this case, two 16-bit data are processed together.

データフロー型演算装置を実装した場合、内部がパイプライン化される場合が多いため最終結果が求められるまでのレイテンシが大きくなる。
したがって、このような演算装置ではできる限り連続した動作をすることが望ましく、本発明の条件実行演算が可能になることにより従来複数回に分けて実行していたものが一度の実行で済むようになり、効率の良い動作が可能になる。
When the data flow type arithmetic unit is mounted, the inside is often pipelined, so the latency until the final result is obtained increases.
Therefore, it is desirable for such an arithmetic device to operate as continuously as possible, so that the conditional execution calculation of the present invention is possible, so that what has been executed in several steps in the past can be executed once. Thus, efficient operation is possible.

一方、複数のデータをひとつにまとめて累算する方法は動画符号化処理の動き検出など大量のデータを処理する場合にその処理量を大幅に減らすことが可能になり、装置の高効率化に寄与する。   On the other hand, the method of accumulating a plurality of data in one makes it possible to greatly reduce the amount of processing when processing a large amount of data such as motion detection in moving image encoding processing, which increases the efficiency of the device. Contribute.

以下に、本実施形態においては採用するアドレス生成装置の具体的な構成例について説明する。   Hereinafter, a specific configuration example of the address generation device employed in the present embodiment will be described.

図16は、たとえば、図1のアドレス生成装置14や図9のアドレス生成装置46のように、入力データに基づいてアドレスを生成するアドレス生成装置の構成例を示す図である。   FIG. 16 is a diagram illustrating a configuration example of an address generation device that generates an address based on input data, such as the address generation device 14 of FIG. 1 and the address generation device 46 of FIG. 9.

図16のアドレス生成装置100は、初期値を設定するためのレジスタ101,102、ステップ値を設定するためのレジスタ103,104、固定値を設定するためのレジスタ105、演算装置106,107、選択装置108,109、カウンタ110,111、および演算装置112を有している。   16 includes registers 101 and 102 for setting initial values, registers 103 and 104 for setting step values, registers 105 for setting fixed values, arithmetic units 106 and 107, selection Devices 108 and 109, counters 110 and 111, and an arithmetic device 112.

演算装置106は、レジスタ103のステップ値とカウンタ110からフィードバックされる値に基づいて、たとえば加算等の所定の演算を行い、演算結果を選択装置108に出力する。   The arithmetic device 106 performs a predetermined operation such as addition based on the step value of the register 103 and the value fed back from the counter 110 and outputs the operation result to the selection device 108.

演算装置107は、レジスタ104のステップ値とカウンタ111からフィードバックされる値に基づいて、たとえば加算等の所定の演算を行い、演算結果を選択装置109に出力する。   The arithmetic device 107 performs a predetermined operation such as addition based on the step value of the register 104 and the value fed back from the counter 111 and outputs the operation result to the selection device 109.

選択装置108は、図示されていない制御信号に基づいてレジスタ101の設定値と演算置106の出力のいずれかを選択しカウンタ110に出力する。   The selection device 108 selects either the set value of the register 101 or the output of the arithmetic unit 106 based on a control signal (not shown) and outputs the selected value to the counter 110.

選択装置109は、図示されていない制御信号に基づいてレジスタ102の設定値と演算装置107の出力のいずれかを選択しカウンタ111に出力する。   The selection device 109 selects either the set value of the register 102 or the output of the arithmetic unit 107 based on a control signal (not shown) and outputs it to the counter 111.

カウンタ110は、選択装置108により選択されたレジスタ101の設定値(初期値)または演算装置106の演算結果の値によりカウント値を設定し、この値を演算装置106にフィードバックし、かつ第1アドレス計算カウント値ACNTV11として演算装置112に出力する。   The counter 110 sets a count value based on the set value (initial value) of the register 101 selected by the selection device 108 or the value of the calculation result of the calculation device 106, feeds back this value to the calculation device 106, and the first address The calculated count value ACNTV11 is output to the arithmetic unit 112.

カウンタ111は、選択装置109により選択されたレジスタ102の設定値(初期値)または演算装置107の演算結果の値によりカウント値を設定し、この値を演算装置107にフィードバックし、かつ第2アドレス計算カウント値ACNTV12として演算装置112に出力する。   The counter 111 sets a count value based on the set value (initial value) of the register 102 selected by the selection device 109 or the value of the calculation result of the calculation device 107, feeds back this value to the calculation device 107, and receives the second address. The calculated count value ACNTV12 is output to the arithmetic unit 112.

演算装置111は、図示されていない制御信号に基づいてカウンタ110による第1アドレス計算カウント値ACNTV11と、カウンタ111による第2アドレス計算カウント値ACNTV12と、レジスタ105に設定された固定値と、入力データDINに基づいて所定の演算を行ってアドレスADRを計算する。   The arithmetic unit 111, based on a control signal (not shown), the first address calculation count value ACNTV11 by the counter 110, the second address calculation count value ACNTV12 by the counter 111, a fixed value set in the register 105, and input data A predetermined calculation is performed based on DIN to calculate an address ADR.

ここで、図16のアドレス生成装置100のアドレス生成動作について、図17(A)〜(G)のタイミングチャートに関連付けて説明する。
図17(A)はカウンタ210のカウント値CNT110を、図17(B)はカウンタ111のカウント値CNT111を、図17(C)は第1アドレス計算カウント値ACNTV11を、図17(D)は第2アドレス計算カウント値ACNTV12を、図17(E)はレジスタ105に設定された固定値SCVを、図17(F)は演算装置112への入力データDIN、および図17(G)は演算装置112において計算されたアドレスADRをそれぞれ示している。
Here, the address generation operation of the address generation device 100 of FIG. 16 will be described in association with the timing charts of FIGS.
17A shows the count value CNT110 of the counter 210, FIG. 17B shows the count value CNT111 of the counter 111, FIG. 17C shows the first address calculation count value ACNTV11, and FIG. FIG. 17E shows the fixed address SCV set in the register 105, FIG. 17F shows the input data DIN to the arithmetic unit 112, and FIG. 17G shows the arithmetic unit 112. Addresses ADR calculated in FIG.

アドレス生成は次のように行われる。
レジスタ101、レジスタ102にはカウンタの初期値として0が格納され、レジスタ103、レジスタ104にはステップ値として1が格納される。
Address generation is performed as follows.
Registers 101 and 102 store 0 as the initial value of the counter, and registers 103 and 104 store 1 as the step value.

演算装置106、および演算装置107はそれぞれ加算を実行する。
選択装置108は、3サイクルおきにレジスタ201の値を選択し、それ以外のときは演算装置106の値を選択する。
選択装置109は、常に演算装置109の演算結果の値を選択する。
これにより、カウンタ110およびカウンタ111のカウント値CNT110,CNT111は、図17(A),(B)に示すような値をとる。
このように動作させることで、第1アドレス計算カウント値ACNTV11、第2アドレス計算カウント値ACNTV12は、図17(C),(D)に示すような値をとる。
The arithmetic device 106 and the arithmetic device 107 each perform addition.
The selection device 108 selects the value of the register 201 every three cycles, and otherwise selects the value of the arithmetic device 106.
The selection device 109 always selects the value of the calculation result of the calculation device 109.
As a result, the count values CNT110 and CNT111 of the counter 110 and the counter 111 take values as shown in FIGS.
By operating in this way, the first address calculation count value ACNTV11 and the second address calculation count value ACNTV12 take values as shown in FIGS.

また、図17(E),(F)に示すように、レジスタ105には固定値SCVとして0が設定され、毎サイクル入力データDIN( 0,1,0,1,2,0,1,2,3....)が供給される。
そして、演算装置112は、以下の演算を実行して、アドレスADRを算出する。
Also, as shown in FIGS. 17E and 17F, 0 is set as the fixed value SCV in the register 105, and the input data DIN (0,1,0,1,2,0,1,2) every cycle. , 3 ....) are supplied.
Then, the arithmetic unit 112 performs the following arithmetic operation to calculate the address ADR.

(数1)
ADR=ACNTV11+ACNTV12+SCV+DIN
(Equation 1)
ADR = ACNTV11 + ACNTV12 + SCV + DIN

ここで入力データDINとしては、図示されていない他のアドレス生成装置を用いてメモリから読み出したデータや、本実施形態のようにメモリからの読み出しデータに所定の演算を実行した結果を用いることもできる。   Here, as the input data DIN, data read from the memory using another address generation device (not shown) or a result obtained by executing a predetermined operation on the read data from the memory as in the present embodiment may be used. it can.

演算装置111で実行する演算は減算、乗算などの一般的な演算も可能であり、加算に限定するものではないことは明らかである。   It is obvious that the calculation executed by the calculation device 111 can be a general calculation such as subtraction or multiplication, and is not limited to addition.

本例によれば、従来のDSPなどで生成される単純なアドレスパターンに比べて、複雑なアドレスパターンを生成することができる。   According to this example, a complicated address pattern can be generated as compared with a simple address pattern generated by a conventional DSP or the like.

図18は、たとえば、図1のアドレス生成装置13や図9のアドレス生成装置43のように、制御信号を生成することができるアドレス生成装置の構成例を示す図である。   FIG. 18 is a diagram illustrating a configuration example of an address generation device that can generate a control signal, such as the address generation device 13 of FIG. 1 or the address generation device 43 of FIG.

本アドレス生成装置200は、初期値を設定するレジスタ201、ステップ値を設定するレジスタ202、演算装置203、選択装置204、カウンタ205、演算装置206、パラメータレジスタ207、タイミングカウンタ208、制御装置209、および制御信号生成装置210を有している。また、入力として起動信号TRG、制御入力CTLINを有する。   The address generation device 200 includes a register 201 for setting an initial value, a register 202 for setting a step value, a calculation device 203, a selection device 204, a counter 205, a calculation device 206, a parameter register 207, a timing counter 208, a control device 209, And a control signal generator 210. Further, it has a start signal TRG and a control input CTLIN as inputs.

演算装置203は、レジスタ202のステップ値とカウンタ205からフィードバックされる値に基づいて、たとえば加算等の所定の演算を行い、演算結果を選択装置204に出力する。   The arithmetic device 203 performs a predetermined operation such as addition based on the step value of the register 202 and the value fed back from the counter 205, and outputs the operation result to the selection device 204.

選択装置204は、図示されていない制御信号に基づいてレジスタ201の設定値と演算置203の出力のいずれかを選択しカウンタ205に出力する。   The selection device 204 selects either the set value of the register 201 or the output of the arithmetic unit 203 based on a control signal (not shown) and outputs the selected value to the counter 205.

カウンタ205は、選択装置204により選択されたレジスタ201の設定値(初期値)または演算装置204の演算結果の値によりカウント値を設定し、この値を演算装置206にフィードバックし、かつ第1アドレス計算カウント値ACNTV21として演算装置206および制御信号生成装置210に出力する。
カウンタ205は、制御装置209による制御信号S209aに応答してカウントアップ動作を開始する。
The counter 205 sets a count value according to the set value (initial value) of the register 201 selected by the selection device 204 or the value of the calculation result of the calculation device 204, feeds back this value to the calculation device 206, and has a first address. The calculated count value ACNTV21 is output to the arithmetic unit 206 and the control signal generator 210.
The counter 205 starts a count-up operation in response to the control signal S209a from the control device 209.

演算装置206は、図示されていない制御信号に基づいてカウンタ312による第1アドレス計算カウント値ACNTV21に基づいて所定の演算を行ってアドレスADRを算出する。   The arithmetic unit 206 calculates an address ADR by performing a predetermined operation based on the first address calculation count value ACNTV21 by the counter 312 based on a control signal (not shown).

パラメータレジスタ207は、外部からアドレス生成遅延値が設定される。   The parameter register 207 is set with an address generation delay value from the outside.

タイミングカウンタ208は、起動信号TRGが入力されるとカウンタ値をカウントアップし、パラメータレジスタ207に設定された値になるまでアドレス生成を遅延させるタイミングをカウントする。   The timing counter 208 counts up the counter value when the activation signal TRG is input, and counts the timing at which address generation is delayed until the value set in the parameter register 207 is reached.

制御装置209は、タイミングカウンタ208のカウント値CNT208が、パラメータレジスタ207に設定された所定の遅延値に達したか否かを判定し、達したと判定した場合に制御信号S209aをカウンタ205に出力して、カウンタ205のカウントアップを有効にする。
また、制御装置209は、タイミングカウンタのタイミングカウント値CNT208が設定値に達した後に、制御信号S209bを制御信号生成装置210に出力してアドレス有効信号AVLDを有効するように制御する。
The control device 209 determines whether or not the count value CNT208 of the timing counter 208 has reached a predetermined delay value set in the parameter register 207, and outputs the control signal S209a to the counter 205 when determining that it has reached. Thus, the count-up of the counter 205 is validated.
In addition, after the timing count value CNT208 of the timing counter reaches the set value, the control device 209 controls the output of the control signal S209b to the control signal generation device 210 so that the address valid signal AVLD is validated.

制御信号生成装置210は、制御入力CTLINとこの有効状態からアドレス有効信号AVLDを生成する。
制御信号生成装置210は、制御装置209による制御信号S209bに応答してアドレス有効信号AVLDを有効状態にし、カウンタ205のカウント値、すなわち第1アドレス計算カウント値ACNTV21が所定の終了値に達するとアドレス有効信号AVLDを無効状態にする。
制御信号生成装置210は、カウンタ205のカウント値が特定の値になったときに制御出力CTLOUTを有効、もしくは無効状態にすることができる。
The control signal generator 210 generates an address valid signal AVLD from the control input CTLIN and this valid state.
The control signal generator 210 activates the address valid signal AVLD in response to the control signal S209b from the controller 209, and the address when the count value of the counter 205, that is, the first address calculation count value ACNTV21 reaches a predetermined end value. The valid signal AVLD is disabled.
The control signal generator 210 can make the control output CTLOUT valid or invalid when the count value of the counter 205 reaches a specific value.

ここで、図18のアドレス生成装置200におけるアドレス生成動作について図19(A)〜(G)のタイミングチャートに関連付けて説明する。
図19(A)はタイミングカウンタ208に与えれる起動信号TRGを、図19(B)はタイミングカウンタ208のタイミングカウント値CNT208を、図19(C)はカウンタ205による第1アドレス計算カウント値ACNTV21を、図19(D)は演算装置206において計算されたアドレスADRを、図19(E)は制御信号生成装置210で生成されるアドレス有効信号AVLDを、図19(F)は制御入力CTLINを、図19(G)は制御出力CTLOUTをそれぞれ示している。
Here, the address generation operation in the address generation device 200 of FIG. 18 will be described in association with the timing charts of FIGS.
19A shows the activation signal TRG given to the timing counter 208, FIG. 19B shows the timing count value CNT208 of the timing counter 208, and FIG. 19C shows the first address calculation count value ACNTV21 by the counter 205. 19D shows the address ADR calculated by the arithmetic unit 206, FIG. 19E shows the address valid signal AVLD generated by the control signal generator 210, and FIG. 19F shows the control input CTLIN. FIG. 19G shows the control output CTLOUT.

アドレス生成はつぎのように行われる。
パラメータレジスタ207にはアドレス生成遅延値「4」が設定され、図19(A)に示すように、外部から入力されるトリガ信号としての起動信号TRGによりタイミングカウンタ208のカウントアップが行われる。
そして、図19(B)に示すように、タイミングカウンタ208のカウント値CNT208が、パラメータレジスタ207に設定された所定の遅延値「4」に達すると、制御装置209が、アドレス生成カウンタ205が動作するように制御信号S209aをカウンタ205に出力して、カウンタ205のカウントアップを有効にする。
Address generation is performed as follows.
An address generation delay value “4” is set in the parameter register 207, and as shown in FIG. 19A, the timing counter 208 is incremented by a start signal TRG as a trigger signal input from the outside.
Then, as shown in FIG. 19B, when the count value CNT 208 of the timing counter 208 reaches a predetermined delay value “4” set in the parameter register 207, the control device 209 operates the address generation counter 205. In this manner, the control signal S209a is output to the counter 205 to enable the counter 205 to count up.

レジスタ201にはカウンタの初期値として0が格納され、レジスタ202にはステップ値として2が格納される。演算装置203はたとえば加算を実行する。
選択装置204は常に演算装置203の値を選択する。
このように動作させることで、第1アドレス計算カウント値ACNTV21は、図19(C)に示すような値をとる。
Register 201 stores 0 as the initial value of the counter, and register 202 stores 2 as the step value. The arithmetic unit 203 performs addition, for example.
The selection device 204 always selects the value of the arithmetic device 203.
By operating in this way, the first address calculation count value ACNTV21 takes a value as shown in FIG.

演算装置206は、第1アドレス計算カウント値ACNTV21を用いてアドレスADRを算出する。   The arithmetic unit 206 calculates the address ADR using the first address calculation count value ACNTV21.

上記のアドレス生成と並行してアドレス有効信号AVLD・制御出力CTLOUTを出力することも可能である。
図19(E)〜(G)に示すように、アドレス有効信号AVLDは制御入力CTLINと、起動信号TRGとタイミングカウント値CTL208をもとに制御装置209と制御信号生成装置210により生成される。
制御装置209は、タイミングカウント値CNT208が設定値に達した後に、制御信号S209bによりアドレス有効信号AVLDを有効状態にし、カウンタ205のカウント値が終了値に達するとアドレス有効信号AVLDを無効状態にする。
In parallel with the address generation, the address valid signal AVLD / control output CTLOUT can be output.
As shown in FIGS. 19E to 19G, the address valid signal AVLD is generated by the control device 209 and the control signal generation device 210 based on the control input CTLIN, the activation signal TRG, and the timing count value CTL208.
The control device 209 makes the address valid signal AVLD valid by the control signal S209b after the timing count value CNT208 reaches the set value, and makes the address valid signal AVLD invalid when the count value of the counter 205 reaches the end value. .

制御信号生成装置210は、カウンタ205のカウント値が特定の値になったときに制御出力CTLOUTを有効、もしくは無効状態にする。
図19(C),(G)に示すように、本例では、第1アドレス計算カウント値ACNTV21が「6」と「12」になったときに制御出力CTLOUTを有効状態にしている。
The control signal generator 210 makes the control output CTLOUT valid or invalid when the count value of the counter 205 reaches a specific value.
As shown in FIGS. 19C and 19G, in this example, the control output CTLOUT is enabled when the first address calculation count value ACNTV21 becomes “6” and “12”.

本例によれば、アドレス生成と同時に制御信号とアドレス有効信号を出力することが可能であるため、これらの信号を用いてメモリや演算装置の制御を柔軟に行うことができるようになる利点がある。
また、アドレス生成のタイミングをパラメータで制御することが可能であるため、複数のメモリからの読み出しや、書き込みに時間的な依存関係がある場合についても容易に対応することが可能になる。
According to this example, since it is possible to output the control signal and the address valid signal simultaneously with the address generation, there is an advantage that the memory and the arithmetic unit can be flexibly controlled using these signals. is there.
In addition, since the address generation timing can be controlled by a parameter, it is possible to easily cope with a case where there is a time dependency in reading from or writing to a plurality of memories.

本発明に係るデータフロー型演算装置の第1の実施形態を示す構成図である。It is a block diagram which shows 1st Embodiment of the data flow type arithmetic unit which concerns on this invention. 図1の演算器の演算実行状態を示す図である。It is a figure which shows the calculation execution state of the calculator of FIG. 本発明に係るデータフロー型演算装置の第2の実施形態を示す構成図である。It is a block diagram which shows 2nd Embodiment of the data flow type arithmetic unit which concerns on this invention. 図3の演算器の演算実行状態を示す図である。It is a figure which shows the calculation execution state of the calculator of FIG. 本発明に係るデータフロー型演算装置の第3の実施形態を示す構成図である。It is a block diagram which shows 3rd Embodiment of the data flow type arithmetic unit which concerns on this invention. 図5の演算器の演算実行状態およびメモリへの書き込み制御状態を示す図である。It is a figure which shows the calculation execution state of the calculator of FIG. 5, and the write-in control state to memory. 本発明に係るデータフロー型演算装置の第4の実施形態を示す構成図である。It is a block diagram which shows 4th Embodiment of the data flow type arithmetic unit which concerns on this invention. 図7の演算器の演算実行状態およびメモリへの書き込み制御および読み出し終了制御状態を示す図である。It is a figure which shows the calculation execution state of the calculator of FIG. 7, the write-in control to a memory, and the read end control state. 本発明に係るデータフロー型演算装置の第5の実施形態を示す構成図である。It is a block diagram which shows 5th Embodiment of the data flow type arithmetic unit which concerns on this invention. 8ビットデータの配列の一例を示す図である。It is a figure which shows an example of the arrangement | sequence of 8-bit data. 8ビットデータを1つずつ読み出す場合の例を示す図である。It is a figure which shows the example in the case of reading 8-bit data one by one. 8ビットデータを4つずつ読み出す場合の例を示す図である。It is a figure which shows the example in the case of reading 8 bits data 4 each. 8ビットデータを1つずつ演算処理する場合の例を示す図である。It is a figure which shows the example in the case of calculating 8 bit data one by one. 8ビットデータを4つずつ演算処理する場合の例を示す図である。It is a figure which shows the example in the case of calculating 8 bits data 4 each. 差分絶対値を求める例を示す図である。It is a figure which shows the example which calculates | requires a difference absolute value. 図1のアドレス生成装置14や図9のアドレス生成装置46のように、入力データに基づいてアドレスを生成するアドレス生成装置の構成例を示す図である。It is a figure which shows the structural example of the address generation apparatus which produces | generates an address based on input data like the address generation apparatus 14 of FIG. 1, and the address generation apparatus 46 of FIG. 図16のアドレス生成装置のアドレス生成動作について説明するためのタイミングチャートである。FIG. 17 is a timing chart for explaining an address generation operation of the address generation device of FIG. 16. FIG. 図1のアドレス生成装置13や図9のアドレス生成装置43のように、制御信号を生成することができるアドレス生成装置の構成例を示す図である。It is a figure which shows the structural example of the address generation apparatus which can produce | generate a control signal like the address generation apparatus 13 of FIG. 1, and the address generation apparatus 43 of FIG. 図18のアドレス生成装置のアドレス生成動作について説明するためのタイミングチャートである。It is a timing chart for demonstrating the address generation operation | movement of the address generation apparatus of FIG.

符号の説明Explanation of symbols

10…演算装置、11…メモリ、111〜113…バンク、12〜14(AG0〜AG2)…アドレス生成装置、15(PE)…演算器、20,20A…演算装置、21…メモリ、211〜213…バンク、22〜24(AG0〜AG2)…アドレス生成装置、25(PE0)…演算器、26(PE1)…演算器、30…演算装置、31…メモリ、311〜313…バンク、32〜34(AG0〜AG2)…アドレス生成装置、35(PE0)…演算器、36(PE1)…演算器、40…演算装置、41…メモリ、411〜315…バンク、42〜36(AG0〜AG4)…アドレス生成装置、47(PE0)…演算器、48(PE1)…演算器、100…アドレス生成装置、101,102…初期値を設定するレジスタ、103,104…ステップ値を設定するレジスタ、105…固定値を設定するレジスタ、106,107…演算装置、108,109…選択装置、110,111…カウンタ、112…演算装置、200…アドレス生成装置、201…初期値を設定するレジスタ、202…ステップ値を設定する、203…演算装置、204…選択装置、205…カウンタ、206…演算装置、207…パラメータレジスタ、208…タイミングカウンタ、209…制御装置、210…制御信号生成装置、TRG…起動信号、CTLIN…制御入力、CTLOUT…制御出力、AVLD…アドレス有効信号。
DESCRIPTION OF SYMBOLS 10 ... Arithmetic unit, 11 ... Memory, 111-113 ... Bank, 12-14 (AG0-AG2) ... Address generator, 15 (PE) ... Arithmetic unit, 20, 20A ... Arithmetic unit, 21 ... Memory, 211-213 ... banks, 22 to 24 (AG0 to AG2) ... address generation device, 25 (PE0) ... computing unit, 26 (PE1) ... computing unit, 30 ... computing device, 31 ... memory, 311 to 313 ... bank, 32 to 34 (AG0 to AG2) ... address generation device, 35 (PE0) ... computing unit, 36 (PE1) ... computing unit, 40 ... computing device, 41 ... memory, 411-315 ... bank, 42-36 (AG0-AG4) ... Address generating device, 47 (PE0) ... arithmetic unit, 48 (PE1) ... arithmetic unit, 100 ... address generating device, 101, 102 ... registers for setting initial values, 103, 104 ... Register for setting step value, 105: Register for setting fixed value, 106, 107 ... Arithmetic unit, 108, 109 ... Selection unit, 110, 111 ... Counter, 112 ... Arithmetic unit, 200 ... Address generating unit, 201 ... Initial Register for setting a value, 202... Setting a step value, 203... Arithmetic unit, 204... Selection unit, 205 ... Counter, 206 ... Arithmetic unit, 207 ... Parameter register, 208 ... Timing counter, 209. Control signal generator, TRG ... Start signal, CTLIN ... Control input, CTLOUT ... Control output, AVLD ... Address valid signal.

Claims (14)

第1のソースデータを生成する第1の生成装置と、
第2のソースデータを生成し、かつ、当該第2のソースデータに制御信号を付加して出力する第2の生成装置と、
上記第1の生成装置による第1のソースデータと、上記第2の生成装置による第2のソースデータに対して上記制御信号に応じて演算種を切り替えて所定の演算を行う演算器と
を有する演算装置。
A first generation device for generating first source data;
A second generation device that generates second source data and outputs a control signal added to the second source data;
An arithmetic unit that performs a predetermined operation by switching an operation type according to the control signal for the first source data by the first generation device and the second source data by the second generation device. Arithmetic unit.
上記第1のソースデータおよび上記第2のソースデータを格納するメモリを有し、
上記第1の生成装置は、上記第1のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第1のソースデータを上記演算器に出力し、
上記第2の生成装置は、上記第2のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第2のソースデータと上記制御信号を上記演算器に出力する
請求項1記載の演算装置。
A memory for storing the first source data and the second source data;
The first generation device generates an address for reading the first source data, outputs the first source data read based on the address to the arithmetic unit,
The second generation device generates an address for reading the second source data, and outputs the second source data read based on the address and the control signal to the arithmetic unit. Arithmetic unit.
上記演算器の演算結果を受けてアドレスを生成して、演算結果を上記メモリに書き込む第3の生成装置をさらに有する
請求項2記載の演算装置。
The arithmetic unit according to claim 2, further comprising a third generation unit that receives an arithmetic result of the arithmetic unit, generates an address, and writes the arithmetic result in the memory.
上記演算器は、バス幅より小さい語長のデータで累算を行う際に複数のデータをひとかたまりに扱い累算を行う
請求項1記載の演算装置。
The arithmetic unit according to claim 1, wherein the arithmetic unit treats and accumulates a plurality of data when performing accumulation with data having a word length smaller than the bus width.
第1のソースデータを生成する第1の生成装置と、
第2のソースデータを生成する第2の生成装置と、
上記第2の生成装置の第2のソースデータに対して所定の演算処理を行って第3のソースデータを生成し、かつ、当該第3のソースデータに制御信号を付加し出力する第1の演算器と、
上記第1の生成装置による第1のソースデータと、上記第1演算器による第3のソースデータに対して上記制御信号応じて演算種を切り替えて所定の演算を行う第2の演算器と
を有する演算装置。
A first generation device for generating first source data;
A second generation device for generating second source data;
A first calculation process is performed on the second source data of the second generation device to generate third source data, and a control signal is added to the third source data for output. An arithmetic unit;
A first computing unit that performs a predetermined computation by switching an operation type according to the control signal for the first source data by the first generation device and the third source data by the first computing unit. Arithmetic unit having.
上記第1のソースデータおよび上記第2のソースデータを格納するメモリを有し、
上記第1の生成装置は、上記第1のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第1のソースデータを上記第2の演算器に出力し、
上記第2の生成装置は、上記第2のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第2のソースデータを上記第1の演算器に出力する
請求項5記載の演算装置。
A memory for storing the first source data and the second source data;
The first generation device generates an address for reading the first source data, outputs the first source data read based on the address to the second arithmetic unit,
The said 2nd production | generation apparatus produces | generates the address for reading said 2nd source data, and outputs the 2nd source data read based on the said address to a said 1st arithmetic unit. Arithmetic unit.
上記第2の演算器の演算結果を受けてアドレスを生成して、演算結果を上記メモリに書き込む第3の生成装置をさらに有する
請求項6記載の演算装置。
The arithmetic unit according to claim 6, further comprising a third generation unit that receives an arithmetic result of the second arithmetic unit, generates an address, and writes the arithmetic result in the memory.
上記第2の演算器は、上記演算結果に制御信号を付加して出力し、
上記第2の演算器の演算結果および制御信号を受けてアドレスを生成して、演算結果を上記メモリに書き込む第3の生成装置をさらに有する
請求項6記載の演算装置。
The second calculator adds a control signal to the calculation result and outputs the result,
The arithmetic unit according to claim 6, further comprising a third generation unit that receives an arithmetic result of the second arithmetic unit and a control signal, generates an address, and writes the arithmetic result in the memory.
上記第1および第2の演算器の少なくとも一方は、バス幅より小さい語長のデータで累算を行う際に複数のデータをひとかたまりに扱い累算を行う
請求項5記載の演算装置。
6. The arithmetic unit according to claim 5, wherein at least one of the first and second arithmetic units handles a plurality of pieces of data and performs accumulation when performing accumulation with data having a word length smaller than the bus width.
第1のソースデータを生成する第1の生成装置と、
第2のソースデータを生成する第2の生成装置と、
上記第1の生成装置の第1のソースデータと、上記第2の生成装置による第2のソースデータに所定の演算処理を行って第3のソースデータを生成する第1の演算器と、
上記第1の演算器による第3のソースデータに対して所定の演算を行って制御信号を付加して出力する第2の演算器と、
上記第2の演算器による演算結果および制御信号を受けて、上記第2および第3の生成装置の生成動作を制御する制御信号を生成する第3の生成装置と
を有する演算装置。
A first generation device for generating first source data;
A second generation device for generating second source data;
A first arithmetic unit that performs predetermined arithmetic processing on the first source data of the first generation device and the second source data of the second generation device to generate third source data;
A second arithmetic unit that performs a predetermined operation on the third source data by the first arithmetic unit and adds a control signal to output;
And a third generation device that receives a calculation result and a control signal by the second arithmetic unit and generates a control signal for controlling a generation operation of the second and third generation devices.
上記第1のソースデータおよび上記第2のソースデータを格納するメモリを有し、
上記第1の生成装置は、上記第1のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第1のソースデータを上記第2の演算器に出力し、
上記第2の生成装置は、上記第2のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第2のソースデータを上記第1の演算器に出力する
上記第3の生成装置は、上記第2の演算器の演算結果および制御信号を受けてアドレスを生成して、演算結果を上記メモリに書き込む
請求項10記載の演算装置。
A memory for storing the first source data and the second source data;
The first generation device generates an address for reading the first source data, outputs the first source data read based on the address to the second arithmetic unit,
The second generation device generates an address for reading the second source data, and outputs the second source data read based on the address to the first arithmetic unit. The third generation The arithmetic device according to claim 10, wherein the device receives an arithmetic result of the second arithmetic unit and a control signal, generates an address, and writes the arithmetic result in the memory.
上記第1および第2の演算器の少なくとも一方は、バス幅より小さい語長のデータで累算を行う際に複数のデータをひとかたまりに扱い累算を行う
請求項10記載の演算装置。
11. The arithmetic unit according to claim 10, wherein at least one of the first and second arithmetic units treats a plurality of data as a unit and performs accumulation when accumulating with data having a word length smaller than the bus width.
第1、第2、第3、および第4のソースデータを格納するメモリと、
上記第1のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第1のソースデータを出力する第1の生成装置と、
上記第2のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第2のソースデータに第1の制御信号を付加して出力する第2の生成装置と、
上記第3のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第3のソースデータを出力する第3の生成装置と、
上記第1の生成装置による第1のソースデータと、上記第2の生成装置による第2のソースデータに対して上記第1の制御信号に応じて演算を行ってアドレスデータを生成し、当該アドレスデータに第2の制御信号を付加して出力する第1の演算器と、
上記第1の演算器により上記アドレスデータおよび第2の制御信号に基づいて上記第4のソースデータを読み出すためのアドレスを生成し、当該アドレスに基づいて読み出した第4のソースデータを出力する第4の生成装置と、
上記第3の生成装置による第3のソースデータと、上記第4の生成装置による第4のソースデータに対して所定の演算を行って出力する第2の演算器と、
上記第2の演算器の演算結果を受けてアドレスを生成して、演算結果を上記メモリに書き込む第5の生成装置と
を有する演算装置。
A memory for storing first, second, third, and fourth source data;
A first generation device that generates an address for reading the first source data and outputs the first source data read based on the address;
A second generation device that generates an address for reading the second source data, adds a first control signal to the second source data read based on the address, and outputs the second control data;
A third generation device for generating an address for reading the third source data and outputting the third source data read based on the address;
The address data is generated by performing an operation on the first source data by the first generation device and the second source data by the second generation device according to the first control signal, and the address A first computing unit that outputs the data by adding a second control signal;
The first arithmetic unit generates an address for reading the fourth source data based on the address data and the second control signal, and outputs the fourth source data read based on the address. 4 generators;
A second arithmetic unit that performs a predetermined operation on the third source data by the third generation device and the fourth source data by the fourth generation device, and outputs the result.
An arithmetic unit comprising: a fifth generation device that receives an arithmetic result of the second arithmetic unit, generates an address, and writes the arithmetic result in the memory.
上記第1および第2の演算器の少なくとも一方は、バス幅より小さい語長のデータで累算を行う際に複数のデータをひとかたまりに扱い累算を行う
請求項13記載の演算装置。
14. The arithmetic unit according to claim 13, wherein at least one of the first and second arithmetic units handles a plurality of pieces of data and performs accumulation when accumulating with data having a word length smaller than the bus width.
JP2004141611A 2004-05-11 2004-05-11 Arithmetic unit Expired - Fee Related JP4590926B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004141611A JP4590926B2 (en) 2004-05-11 2004-05-11 Arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004141611A JP4590926B2 (en) 2004-05-11 2004-05-11 Arithmetic unit

Publications (2)

Publication Number Publication Date
JP2005322174A true JP2005322174A (en) 2005-11-17
JP4590926B2 JP4590926B2 (en) 2010-12-01

Family

ID=35469398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004141611A Expired - Fee Related JP4590926B2 (en) 2004-05-11 2004-05-11 Arithmetic unit

Country Status (1)

Country Link
JP (1) JP4590926B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066875A (en) * 1998-08-20 2000-03-03 Fuji Electric Co Ltd Arithmetic processor
JP2003233403A (en) * 2002-02-06 2003-08-22 Toshiba Corp Control apparatus and programming apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066875A (en) * 1998-08-20 2000-03-03 Fuji Electric Co Ltd Arithmetic processor
JP2003233403A (en) * 2002-02-06 2003-08-22 Toshiba Corp Control apparatus and programming apparatus

Also Published As

Publication number Publication date
JP4590926B2 (en) 2010-12-01

Similar Documents

Publication Publication Date Title
KR102258414B1 (en) Processing apparatus and processing method
KR20110090915A (en) Apparatus and method for performing simd multiply-accumulate operations
JP5279046B2 (en) Data processing device
JP4590926B2 (en) Arithmetic unit
US20060265485A1 (en) Method and apparatus for controlling data transfer in a processing system
JP2580396B2 (en) Branch instruction control method in pipeline
JP2006215611A (en) Arithmetic unit
KR100960148B1 (en) Data processing circuit
JP6378515B2 (en) VLIW processor
KR101110167B1 (en) Arithmetic processing unit
JP2008102599A (en) Processor
JP4482356B2 (en) Image processing method and image processing apparatus using SIMD processor
JP5871298B2 (en) Information processing apparatus, information processing method, and information processing program
JP2008242947A (en) Semiconductor device
JP4896839B2 (en) Microprocessor and data processing method
JP3858910B2 (en) Address generating apparatus and arithmetic unit
JPH06309349A (en) Program-controlled processor
JP2012059131A (en) Simd microprocessor and processing method thereof
KR0172910B1 (en) Digital signal processor
JP3088956B2 (en) Arithmetic unit
JP2005038185A (en) Vector processing device
JPH01147723A (en) Pipe line processing system for information processor
JP2013140472A (en) Vector processor
JP2004334306A (en) Arithmetic processing circuit and arithmetic processing method
JP2010204913A (en) Vector processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070412

A131 Notification of reasons for refusal

Effective date: 20100608

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20100729

Free format text: JAPANESE INTERMEDIATE CODE: A523

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Effective date: 20100830

Free format text: JAPANESE INTERMEDIATE CODE: A61

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 3

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 3

Free format text: PAYMENT UNTIL: 20130924

LAPS Cancellation because of no payment of annual fees