Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPS595941B2 - Data array engineering - Google Patents
[go: Go Back, main page]

JPS595941B2 - Data array engineering - Google Patents

Data array engineering

Info

Publication number
JPS595941B2
JPS595941B2 JP49117553A JP11755374A JPS595941B2 JP S595941 B2 JPS595941 B2 JP S595941B2 JP 49117553 A JP49117553 A JP 49117553A JP 11755374 A JP11755374 A JP 11755374A JP S595941 B2 JPS595941 B2 JP S595941B2
Authority
JP
Japan
Prior art keywords
data
arithmetic
read
register
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP49117553A
Other languages
Japanese (ja)
Other versions
JPS5162635A (en
Inventor
真理雄 所
秀夫 相磯
俊一 内田
信夫 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advantest Corp
Original Assignee
Takeda Riken Industries Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Takeda Riken Industries Co Ltd filed Critical Takeda Riken Industries Co Ltd
Priority to JP49117553A priority Critical patent/JPS595941B2/en
Publication of JPS5162635A publication Critical patent/JPS5162635A/en
Publication of JPS595941B2 publication Critical patent/JPS595941B2/en
Expired legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 この発明は複数要素の列を構成するデータアレイについ
て行なう演算処理装置に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an arithmetic processing device that performs arithmetic processing on a data array that constitutes a column of a plurality of elements.

従来データアレイについての演算は一般的な要求は少な
く、特定のものに限られていた。
Conventionally, operations on data arrays have had few general requirements and have been limited to specific operations.

このためその演算のための専用の装置が使用されていた
。その場合、その演算を高速度に処理するため、必要な
演算処理を最小演算単位に分け、その演算単位が順次、
即ち縦続的に行なわれる。いわゆるパイプライン構成と
されていた。この演算装置は予め決められた一つの演算
機能の他の演算は行なうことができなかつた。一方マイ
クロプログラム制御装置を利用すればそのプログラムを
入れ替えることにより各種の機能を行なうことができ、
融通性に富む。しかしその動作は記憶装置からデータを
読出し、一つの最小演算単位の演算を行なうと、記憶装
置に一度格納することを繰返して演算を行なうものであ
り、上記データアレイのようなものについて各データに
つき複数の最小演算単位を必要とする演算を行なうには
非常に長い時間を必要ハとする。
For this reason, a dedicated device was used for the calculation. In that case, in order to process the calculation at high speed, the necessary calculation processing is divided into the minimum calculation units, and the calculation units are sequentially
That is, they are carried out in series. It had a so-called pipeline configuration. This arithmetic device was unable to perform other arithmetic operations than one predetermined arithmetic function. On the other hand, if you use a microprogram control device, you can perform various functions by replacing the program.
Full of flexibility. However, this operation involves reading data from the storage device, performing an operation on one minimum unit of operation, storing it once in the storage device, and performing the operation repeatedly. It takes a very long time to perform an operation that requires a plurality of minimum operation units.

この発明の目的は融通性に富み、しかも高速度の演算を
行なうことができるデータアレイ醐算装置を提供するに
ある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a data array calculation device that is highly flexible and capable of performing high-speed calculations.

この発明によれば読み書き可能な少なくとも一つの記憶
装置を設け、これにデータアレイがその構成要素につき
連続的に番地付けられて格納される。
According to the invention, at least one readable/writable memory device is provided in which a data array is stored sequentially addressed with respect to its constituent elements.

この記憶装置はアドレス発生装置から発生された番地に
て指定されてデータが読出され、そのデータは読出バス
を通じて演算装置へ供給される。この演算装置は上記記
憶装置の読出し、書込み周期を最小演算単位とし、その
演算単位の複数倍1をもつて演算処理が完了するパイプ
ライン構成とされる。この演算装置からの演算結果は書
込バスを通じて記憶装置へ書込データとして供給される
。上記読出し書込制御はマイクロプログラム制御装置に
より行なわれる。各種の演算が行なえるようにマイクロ
プログラム制御装置に対し、各種のプログラムを書替え
ることかできる。また演算装置内にスイツチが挿入され
、そのスイツチの制御により演算機能を変更できるよう
にされ、又は演算機能が異なる演算装置が予め複数設け
られる。演算機能の指定、使用記憶装置の指定などは演
算操作に入る前に予めセツトアツブレジスタにセツトす
ることにより、演算操作中のマイクロ命令ではこれら演
算機能の指定や記憶装置の指定のためのビツトを使用し
ない。また演算装置をパイプライン構成とし、適当に制
御用レジスタを設けることにより、マイクロ命令の融通
性を増しても、そのためにマイクロ命令の構成ビツト数
を比較的少なくでき、処理速度が低下しない。また動作
始め及び終りにおいて演算装置におけるパイプラインが
詰まるまで、及びパイプラインからデータが出てしまう
までを除き、記憶装置に対し、データの読出し書込みが
各サイクル毎に行なわれ、その毎に演算装置の各パイプ
ラインのステツプにおいて最小演算単位の処理が行なわ
れてその内部のデータは1ステツプ移動される。記憶装
置の1回の読出しごとに1つの演算結果が得られ、高速
度の処理が行なわれる。次に図面を参照してこの発明に
よるデータアレイ演算装置を詳細に説明しよう。
Data is read out from this storage device by being specified by an address generated by an address generator, and the data is supplied to an arithmetic unit through a read bus. This arithmetic device has a pipeline configuration in which the read/write cycle of the storage device is the minimum arithmetic unit, and arithmetic processing is completed in multiples of the arithmetic unit. The calculation results from this calculation device are supplied as write data to the storage device via the write bus. The above read/write control is performed by a microprogram control device. Various programs can be rewritten to the microprogram control device so that various calculations can be performed. Further, a switch is inserted into the arithmetic device, and the arithmetic function can be changed by controlling the switch, or a plurality of arithmetic devices with different arithmetic functions are provided in advance. By setting the arithmetic function specification, storage device specification, etc. in the set-up register before starting the arithmetic operation, the microinstruction during the arithmetic operation can use the bits for specifying the arithmetic function and storage device. Don't use. Further, even if the flexibility of microinstructions is increased by configuring the arithmetic unit in a pipeline and providing appropriate control registers, the number of bits constituting the microinstructions can be made relatively small, so that the processing speed does not decrease. In addition, data is read from and written to the storage device every cycle, except until the pipeline in the arithmetic unit becomes clogged at the beginning and end of the operation, and until data is output from the pipeline. At each step of the pipeline, the minimum unit of operation is processed, and the data within it is moved one step. One calculation result is obtained each time the storage device is read, and high-speed processing is performed. Next, the data array arithmetic device according to the present invention will be explained in detail with reference to the drawings.

第1図に示すようにこの例ではランダムアクセス型の読
出し書込みができる主記憶装置MM,,MM2,MM3
の3個が設けられ、これ等主記憶装置MM,〜MM3は
書込みレジスタWRl〜WR3内のデータがそれぞれ書
込まれ、MMl〜MM3から読出されたデータは読出レ
ジスタRRl〜RR3にそれぞれ蓄えられる。主記憶装
置MM,〜MM3はそれぞれ各番地は左右の16ビツト
づつに分けられ、これ等各主記憶装置にはデータアレイ
の各要素が1つの番地に記憶され、そのアレイの順に各
要素は連続する番地に順次記憶される。これ等主記憶装
置MMl〜MM3に対するアドレスがアドレス発生装置
MAUにて作られる。アドレス発生装置MAUは主記憶
装置MMが読出されるごとにデータカウンタDCが1加
算され、そのカウンタの出力が直接、基底アドレスレジ
スタBARl,BAR2の内容と第6図の回路10及び
11でそれぞれ加算、又は減算されてアドレスシフトレ
ジスタASRl及びASR2をそれぞれ通じて主記憶装
置MMl及びMM2、更に必要に応じてMM3にアドレ
ス情報として与えられる。
As shown in FIG. 1, in this example, the main memories MM, MM2, MM3 are capable of random access type reading and writing.
The data in write registers WR1-WR3 is written into these main memories MM, -MM3, respectively, and the data read from MM1-MM3 are stored in read registers RR1-RR3, respectively. Each address in the main memory devices MM, ~MM3 is divided into 16 bits on the left and right, and each element of the data array is stored in one address in each of these main memory devices, and each element is consecutive in the order of the array. The data is stored sequentially at the address. Addresses for these main memories MM1 to MM3 are generated by address generator MAU. In the address generator MAU, the data counter DC is incremented by 1 each time the main memory MM is read, and the output of the counter is directly added to the contents of the base address registers BARl and BAR2 in circuits 10 and 11 of FIG. 6, respectively. , or subtracted and provided as address information to main memories MM1 and MM2, and further to MM3 as necessary, through address shift registers ASR1 and ASR2, respectively.

或いは後で詳細に説明するようにデータカウンタDCの
出力はそのビツトの順位がビツト入替回路1Xにて変更
され、更に基底アドレスが加算又は減算された後アドレ
スレジスタASRを通じて主記憶装置MM,〜MM3(
以下MM,,MM2,MM3を代表してMMと記す)に
与えられる。データカウンタDCの出力及びそのビツト
順位が変更されたものが選択的にアドレス補正回路TW
Aを通じて主記憶装置MM3に与えられる。書込バス1
2,13はそれぞれ32ビツトのバスであり、このバス
のデータが主記憶装置MMl〜MM3の上記アドレス発
生装置MAUにて指定された番地に書込まれ、また記憶
装置MMl〜MM3のその指定された番地から読出され
たデータはそれぞれ32ビツトのアウトバス14,15
に伝送される。
Alternatively, as will be explained in detail later, the bit order of the output of the data counter DC is changed by the bit switching circuit 1X, and the base address is added or subtracted, and then the output is sent to the main memories MM, to MM3 through the address register ASR. (
MM, MM2, and MM3 are hereinafter referred to as MM). The output of the data counter DC and its bit order changed are selectively sent to the address correction circuit TW.
A is given to the main memory device MM3 through A. writing bus 1
2 and 13 are 32-bit buses, respectively, and the data on these buses is written to the address specified by the address generator MAU in the main memory devices MM1 to MM3, and is written to the specified address in the memory devices MM1 to MM3. The data read from the address is sent to the 32-bit outbus 14, 15, respectively.
transmitted to.

バス12〜15はこれを通過するデータの幅が1ワード
(16ビツト)であるか、2ワード(32ビツト)であ
るかにより、バススキユニツトBSUにてそれぞれ切替
えられる。またバスと記憶装置MMとの間において切替
ユニツトBSSにて接続されるバスの選択を行なうこと
ができる。主記憶装置MMの読出し、書込みサイクルを
最小演算単位とし、その演算単位の複数倍の演算により
一つの演算機能を完了する。
Buses 12 to 15 are switched by bus skiing unit BSU depending on whether the width of the data passing through them is 1 word (16 bits) or 2 words (32 bits). Furthermore, the switching unit BSS can select the bus to be connected between the bus and the storage device MM. A read/write cycle of the main memory device MM is taken as the minimum calculation unit, and one calculation function is completed by multiple times the calculation unit.

いわゆるパイプライン構成の演算装置FALUが設けら
れる。この演算装置内にスイツチが挿入され、その制御
により複数の演算機能が得られる。記憶装置MM,〜M
M3から読出されたデータはバス14又は15を通じて
演算装置FALUへ供給され、演算装置FALUにて演
算され、その結果はバス12又は13を通じて記憶装置
MM,〜MM3の何れかに書込まれる。後の説明から理
解されるように記憶装置MM3から読出されたデータは
読出バスを通じることなく演算装置FALUに直接供給
することもできる。演算装置FALUにおいてどのよう
な演算を行なうかの演算モードの設定、アドレス発生装
置MAUの初期アドレス設定、即ち基底アドレスレジス
タBARl,BAR2の設定や記憶装置MMl〜MM3
の書込み、読出しなどの制御をマイクロプログラム制御
装置CMにて行なう、このマイクロプログラム制御装置
CMに対し、処理装置(図示せず)からインターフエー
ス装置INTを通じて制御プログラムが記憶される。次
に信号f(t)をデジタル的にフーリエ変換する場合の
例として各部の詳細を説明する。先ずフーリエ変換につ
き述べると、一般に信号f(t)はとフーリエ変換でき
る。Tはf(t)の周期であり、j− −1である。フ
ーリエ係数D(研まである。
An arithmetic unit FALU having a so-called pipeline configuration is provided. A switch is inserted into this arithmetic device, and its control provides a plurality of arithmetic functions. Storage device MM, ~M
The data read from M3 is supplied to the arithmetic unit FALU via the bus 14 or 15, and is operated on by the arithmetic unit FALU, and the result is written to one of the memory devices MM, -MM3 via the bus 12 or 13. As will be understood from the following description, the data read from the memory device MM3 can also be directly supplied to the arithmetic unit FALU without passing through the read bus. Setting the calculation mode for what kind of calculation is to be performed in the calculation unit FALU, setting the initial address of the address generator MAU, that is, setting the base address registers BARl, BAR2, and storing the memory devices MMl to MM3.
A control program is stored in the microprogram control device CM from a processing device (not shown) through an interface device INT to the microprogram control device CM, which controls writing and reading of the data. Next, details of each part will be explained as an example of digitally Fourier transforming the signal f(t). First, regarding Fourier transformation, generally the signal f(t) can be Fourier transformed. T is the period of f(t) and is j--1. Fourier coefficient D

周期Tにおけるサンプリング点の数をNとすると(2)
式は次のように近似できとなる。
If the number of sampling points in period T is N, (2)
The formula can be approximated as follows.

この演算を行なえば任意の信号をデジタル的にフーリエ
級数に展開でき、即ち信号解析をデジタル的に行なうこ
とができる。しかし上記演算をいちいち行なうことはそ
の演算量が莫大なものとなり、従来の電子計算機によれ
ば1024点のサンプリング点の場合に1時間もの演算
時間がかXり、実用的でなかつた。この点より信号のサ
ンプリング点の値を適当に組合せ、その和と、その組合
せの差に重みを掛けたものとを順次取出し、得られたデ
ータアレイにつき同様のことを施すことを繰返して比較
的少ない演算回数でデジタルフーリエ変換が行なわれる
ことが知られている。これは例えば、米国特許第351
7173号DigitalPrOcessOrfOrP
erfOrmingfastFOurierTrans
fOrmsに述べられているoこのフーリエ変換手法と
してはクーリーチユキイ法、及びサンデーチユーキイ法
が知られているが、ここでは後者につき説明する。
By performing this calculation, any signal can be digitally developed into a Fourier series, that is, signal analysis can be performed digitally. However, performing the above calculations one by one requires a huge amount of calculations, and using a conventional electronic computer, the calculation time for 1024 sampling points is 1 hour, making it impractical. From this point, the values of the sampling points of the signal are appropriately combined, the sum and the weighted difference between the combinations are sequentially extracted, and the same process is repeated for the obtained data array to compare the results. It is known that digital Fourier transform can be performed with a small number of calculations. For example, U.S. Patent No. 351
No.7173DigitalPrOcessOrfOrP
erfOrmingfastFourierTrans
As the Fourier transform method described in fOrms, the Coolichi-Yukiy method and the Sunday Chikyuki method are known, and the latter will be explained here.

このサンデーチユーキイ法は例えば第2図に示すように
(3)式においてN=16の場合、入力アレイはX。
For example, as shown in FIG. 2, when N=16 in equation (3), the input array is X.

−X,5の16点の各値の時系列となり、第1ステージ
においてはX。−X7とX8〜X,5とがそれぞれ加算
されてE。−E7が得られ、XO〜X7からX8〜Xl
5がそれぞれ減算され、その結果の対応するものに対し
てそれぞれ三角関数値W。〜W7が乗算されてE8〜E
l5が得られる。Wnは2πX7exp(−j?)であ
る。
-X, 5 is a time series of each value of 16 points, and in the first stage, X. -X7 and X8 to X,5 are added to each other to obtain E. -E7 is obtained, X8~Xl is obtained from XO~X7
5 are respectively subtracted, and the corresponding trigonometric function values W are respectively subtracted. ~W7 is multiplied to E8~E
l5 is obtained. Wn is 2πX7exp(-j?).

第2ステージにお1GいてはE。E at 1G in the second stage.

−E3とE4〜E7とのそれぞれの和D。〜D3が、ま
たE。−E3からE4〜E7をそれぞれ減算した値の対
応するものにW。.W2、W4、W6がそれぞれ乗算さ
れてD4〜D7が得られる。以下同様のことが繰返され
、第4ステージの演算の結果F。−F,5が求まり、こ
れらをN=16で割算するとフーリエ係数D(o)〜D
O5)が求まる。以上の演算を第3図に示す。この計算
に必要なプログラムがインターフエイス装置1NTを通
じて電子計算機からマイクロプログラム制御装置CMに
取入れられる。
- Sum D of each of E3 and E4 to E7. ~D3 is E again. -W to the corresponding value obtained by subtracting each of E4 to E7 from E3. .. D4 to D7 are obtained by multiplying W2, W4, and W6, respectively. The same process is repeated thereafter, and the result of the fourth stage calculation is F. -F,5 is found, and by dividing these by N=16, the Fourier coefficient D(o) ~ D
O5) can be found. The above calculations are shown in FIG. A program necessary for this calculation is imported from the electronic computer to the microprogram control device CM through the interface device 1NT.

これよりマイクロプログラム匍脚装置CMが起動して、
その演算に必要なデータを電子計算機からインターフエ
イス装置1NTを通じて主記憶装置に格納される。例え
ばX。−X7は主記憶装置MMlのO〜7番地に、X7
〜Xl.が主記憶装置MM2の8〜15番地にそれぞれ
記憶される。三角関数値Wnは実用的見地から例えば2
πを8192の点に分けた場合の値を予め記憶しておき
、サンプリング点数に応じて必要なものを取出す。しか
しO〜π/4までの等間隔の1024点の各余弦値と正
弦値とが判れば他の各点はこれ等の値の何れか又はそれ
に負号を付けた値となる。よつて主記憶装置MM3には
第4図に示すようにO〜1024のn πn番
地に、COs(?X−)及び 10244n π Sin(?X−)(但し、nはO〜1024の正整数)
がそれぞれ記憶される。
From this, the micro-programmed leg device CM will start,
Data necessary for the calculation is stored in the main memory from the electronic computer through the interface device 1NT. For example, X. -X7 is located at addresses O to 7 of the main memory device MMl;
~Xl. are respectively stored in addresses 8 to 15 of the main memory device MM2. From a practical standpoint, the trigonometric function value Wn is, for example, 2.
Values obtained when π is divided into 8192 points are stored in advance, and necessary values are extracted according to the number of sampling points. However, if the cosine and sine values of 1024 equally spaced points from O to π/4 are known, each of the other points will be one of these values or a value with a negative sign attached to it. Therefore, as shown in FIG. 4, in the main memory device MM3, COs (? )
are respectively memorized.

この状態で第5図のフローチヤートにおける準備処理に
示すように、アドレス初期値が第6図に示すように基底
アドレスレジスタBARl,BAR2にセツトされる。
In this state, as shown in the preparation process in the flowchart of FIG. 5, initial address values are set in the base address registers BAR1 and BAR2 as shown in FIG.

主記憶装置MM,には0番地からデータアレイが入つて
いるため、その最初の要素X。が入つたO番地がBAR
lにセツトされ、主記憶装置MM2には8番地からデー
タアレイが入つているから、その最初の要素X8が入つ
ている8番地がBAR2にセツトされる。次にデータア
レイのサイズ即ちデータアレイX。〜Xl5の構成要素
数Nの2分の1、この例では8がデータサイズ指示レジ
スタDSIにセツトされる。更に演算ステージの数を示
すステージ数計数用のシフトレジスタSCSRがセツト
される。この数rはデータアレイの構成要素、即ちサン
プリング点の数Nに対しN=2rで決り、この例ではN
=16であるからr=4となり、このシフトレジスタS
CSRは1ステージ毎に1シフトする。また演算装置F
ALUにおけるパイプラインの長さ、即ち最小演算単位
のいくつで演算が終了するかを示す値をパイプライン指
示レジスタPLlにセツトされる。この例ではパイプラ
イン長は4段であり、従つて初期状態から演算装置FA
LUに4回データが入力され、演算装置内でのデータの
流れが4段進むと始めて演算結果が演算装置から出、こ
の時から主記憶装置に対し、演算結果を書込む操作が行
なわれるようになる。有効アドレス、即ち基底アドレス
レジスタBARlの内容及びデータカウンタDCの内容
が第6図の回路10で加算されたものと、基底アドレス
レジスタBAR2の内容及びデータカウンタDCの内容
が第6図の回路11で加算されたものとがそれぞれアド
レスレジスタASRl,ASR2の初段にそれぞれセツ
トされる。アドレスシフトレジスタASRl及びASR
2の第1段目のアドレスにより第6図の,駆動回路18
及び19を通じて主記憶装置MMl及びMM2の内容が
それぞれ読出され、アドレスシフトレジスタASRl及
びASR2とパイプライン指示レジスタPLIにセツト
された値の段のアドレスにより駆動回路18,19を通
じて主記憶装置MMl,MM2に書込みが行なわれる。
Since the main memory device MM contains a data array starting from address 0, its first element is X. The address O that contains is the BAR.
Since the main memory device MM2 contains a data array starting from address 8, address 8 containing the first element X8 is set to BAR2. Next, the size of the data array, that is, the data array X. 1/2 of the number N of constituent elements of ~Xl5, 8 in this example, is set in the data size instruction register DSI. Furthermore, a shift register SCSR for counting the number of stages indicating the number of arithmetic stages is set. This number r is determined by N=2r for the number N of the constituent elements of the data array, that is, sampling points, and in this example, N
= 16, so r = 4, and this shift register S
The CSR shifts by one for each stage. Also, calculation device F
A value indicating the length of the pipeline in the ALU, ie, the number of minimum units of operation in which the operation ends, is set in the pipeline instruction register PLl. In this example, the pipeline length is 4 stages, so from the initial state the processing unit FA
When data is input to the LU four times and the flow of data within the arithmetic unit advances four stages, the arithmetic result is output from the arithmetic unit, and from this time on, the operation to write the arithmetic result to the main memory is performed. become. The effective address, that is, the contents of the base address register BARl and the contents of the data counter DC added in circuit 10 of FIG. 6, and the contents of the base address register BAR2 and the contents of data counter DC added in circuit 11 of FIG. The added values are set in the first stages of address registers ASR1 and ASR2, respectively. Address shift registers ASRl and ASR
2, the drive circuit 18 in FIG.
The contents of the main memories MMl and MM2 are read out through the drive circuits 18 and 19, respectively, and the contents of the main memories MMl and MM2 are read out through the drive circuits 18 and 19 according to the stage address of the value set in the address shift registers ASRl and ASR2 and the pipeline instruction register PLI. Writing is performed to.

演算装置FALUにおける演算のステツプ状態を示すパ
イプラインシフトレジスタPLSRが設けられる。デー
タカウンタDCの出力1X1又はそのビツト順位を入れ
替えた出力1X2の何れを選択するかを示すインデツク
ス選択レジスタIXMCRがセツトされる。またバスス
キユーユニツトBSUや切替ユニツトSKを制御設定す
るバス制御レジスタBCRに対し、記憶装置MMl,M
M,を演算装置FALUに接続するためのセツト、更に
記憶装置MMl〜MM2の読出し、書込みの制御を行な
うメモリ制御レジスタMCRのセツトがそれぞれ行なわ
れ、記憶装置MM3については読出しのみセツトされる
。演算装置FALUにおける演算機能の設定が演算制御
レジスタFCRlに、また装置FALU内のスイツチの
制御が演算制御レジスタFCR2にそれぞれセツトされ
る。最後にデータカウンタDCがクリアされる。なお上
述の各種のセツトに必要とするデータは予め電子計算機
からマイクロプログラム制御装置CMに取入れられてあ
る。次に第5図に示すように第1ステージの前段処理に
おいてパイプライン指示レジスタPLIの設定値とパイ
プラインシフトレジスタPLSRが示すパイプラインの
進行値とが比較され、最初にPLIは4であるがPLS
Rは1であつて一致せずアドレスシフトレジスタASR
l及びASR2の1段目のアドレスにて主記憶装置MM
,,MM2が同時に読出され、即ちX。
A pipeline shift register PLSR is provided which indicates the step state of the operation in the arithmetic unit FALU. An index selection register IXMCR is set which indicates which of the output 1X1 of the data counter DC or the output 1X2 with its bit order switched is to be selected. In addition, the bus control register BCR, which controls and sets the bus skew unit BSU and switching unit SK, is
The memory control register MCR is set for connecting the memory device MM1 to the arithmetic unit FALU, and the memory control register MCR for controlling reading and writing of the memory devices MM1 to MM2 is set.The memory device MM3 is set only for reading. The setting of the arithmetic function in the arithmetic unit FALU is set in the arithmetic control register FCR1, and the control of the switch in the device FALU is set in the arithmetic control register FCR2. Finally, the data counter DC is cleared. It should be noted that the data required for the above-mentioned various sets have been previously input into the microprogram control device CM from the electronic computer. Next, as shown in FIG. 5, in the pre-processing of the first stage, the setting value of the pipeline instruction register PLI and the pipeline progress value indicated by the pipeline shift register PLSR are compared, and initially PLI is 4, but PLS
R is 1 and does not match address shift register ASR
Main memory device MM at the first stage address of l and ASR2
,,MM2 are read simultaneously, ie, X.

及びX8がそれぞれ読出され、読出バスを通じて演算装
置FALUに与えられる。この読出しの後にデータカウ
ンタDCは+1され、この出力が第6図の回路10,1
1へ与えられる。またパイプラインシフトレジスタPL
SRも1シフトされる。その後PLIの内容とPLSR
の数とが比較され、同様の操作が行なわれる。演算装置
FALUは例えば第7図に示すように入力端子21,2
2は第6図の読出バス14,15にそれぞれ接続され、
出力端子23,24は第6図の書込バス12,13にそ
れぞれ接続される。
and X8 are read out and applied to the arithmetic unit FALU via the read bus. After this reading, the data counter DC is incremented by 1, and this output is output from the circuits 10 and 1 in FIG.
given to 1. Also, pipeline shift register PL
SR is also shifted by one. After that, the contents of PLI and PLSR
, and similar operations are performed. For example, the arithmetic unit FALU has input terminals 21 and 2 as shown in FIG.
2 are respectively connected to read buses 14 and 15 in FIG.
Output terminals 23 and 24 are connected to write buses 12 and 13, respectively, in FIG. 6.

入力端子21はスイツチS7−S,−ラツチ(例えばフ
リツプフロツプ、又は遅延回路)LlL2−スイツチS
3一加減算回路25−スイツチS2−ラツチL3−L4
を通じて出力端子23に接続され、入力端子22はスイ
ツチS8−ラツチL5−スイツチS1−SlO−ラツチ
L6−スイツチS6−加減算回路26−スイツチS4一
乗算回路27ラツチL7−スイツチS2−ラツチL8を
通じて出力端子24に接続される。ラツチL2の出力側
はスイツチS3を通じて加減算回路26の他方の入力側
にも接続され、ラツチL6の出力側はスイツチS6を通
じて加減算回路25の他方の入力側にも接続される。ス
イツチS1及びS2は連動とされ、上記接続のように実
線で示す切替位置の他に点線で示すようにスイツチS7
がスイツチSlOに、ラツチL5の出力側がラツチL,
に、また加減算回路25の出力側がラツチL8の入力1
11に、ラツチL7の出力側がラツチL3の入力側にそ
れぞれ接続される。入力端子28は主前憶装置MM3の
読出し出力側に直接接続され、端子28はスイツチS5
−ラツチL9−スイツチS9−ラツチLlOを通じて乗
算回路27の他方の入力側に接続される。いま主記憶装
置MMl,MM2はそれぞれ読出バス14,15に、ま
た書込バス12,13に接続されているとする。上記第
5図の第1ステージの前段処理において先ずX。及びX
8が読出されると、XOはラツチL,に、X8はラツチ
L5に入る。この時主記憶装置MM3からW。が読出さ
れてラツチL9に入る。次の演算サイクルではアドレス
シフトレジスタASRl及びASR2の初段は1番地及
び9番地となり、主記憶装置MMl,MM2,MM3か
らXl,X,,Wlがそれぞれ読出されて、ラツチL,
,L5,L9に入り、XO,X8,WOはラツチL2,
L6,LlOに入る。前記準備処理の演算モード指定に
より演算制御回路CTLl,CTL2よりの制御にて加
減算回路25は加算動作に加減算回路26は減算動作と
なつている。よつて加減算回路25にてX。+X8=E
Oが加減算回路26にてX。−X8=Elが計算され、
更にEiXWOE8が乗算回路27で行なわれる。次の
演算サイ)クルにおいて同様にしてX2,XlO,W2
が読出されてラツチL1?L52L9に入り、X盟X9
7WlはラツチL2,L6,LlOに移り、X,+X9
=E1、X,−X,=Ed.EdXWl=E,が演算さ
れ、EO,E8はラツチL3,L7に入る。
Input terminal 21 is connected to switch S7-S, -latch (for example, flip-flop or delay circuit) LlL2-switch S.
3-addition/subtraction circuit 25-switch S2-latch L3-L4
The input terminal 22 is connected to the output terminal 23 through switch S8 - latch L5 - switch S1 - SlO - latch L6 - switch S6 - addition/subtraction circuit 26 - switch S4 - multiplication circuit 27 latch L7 - switch S2 - latch L8. 24. The output of latch L2 is also connected to the other input of addition/subtraction circuit 26 through switch S3, and the output of latch L6 is also connected to the other input of addition/subtraction circuit 25 through switch S6. The switches S1 and S2 are interlocked, and in addition to the switching position shown by the solid line as in the above connection, the switch S7 is shown as the dotted line.
is connected to switch SlO, the output side of latch L5 is connected to latch L,
Also, the output side of the adder/subtracter circuit 25 is connected to the input 1 of the latch L8.
11, the outputs of latch L7 are respectively connected to the inputs of latch L3. The input terminal 28 is directly connected to the read output side of the main memory device MM3, and the terminal 28 is connected directly to the read output side of the main memory device MM3.
It is connected to the other input side of the multiplier circuit 27 through - latch L9 - switch S9 - latch L1O. It is now assumed that main memories MMl and MM2 are connected to read buses 14 and 15 and to write buses 12 and 13, respectively. In the pre-processing of the first stage in FIG. 5, first, X. and X
When 8 is read, XO goes into latch L, and X8 goes into latch L5. At this time, W from main memory device MM3. is read out and entered into latch L9. In the next operation cycle, the first stages of address shift registers ASRl and ASR2 are addresses 1 and 9, and Xl, X, , Wl are read from main memories MMl, MM2, MM3, respectively, and latches L,
, L5, enter L9, XO, X8, WO enter latch L2,
Enter L6, LIO. According to the arithmetic mode designation of the preparatory process, the adder/subtracter circuit 25 performs an addition operation and the adder/subtracter circuit 26 performs a subtraction operation under the control of the arithmetic control circuits CTLl and CTL2. Therefore, the addition/subtraction circuit 25 outputs "X". +X8=E
O becomes X in the addition/subtraction circuit 26. −X8=El is calculated,
Furthermore, EiXWOE8 is performed in the multiplication circuit 27. Similarly, in the next calculation cycle, X2, XlO, W2
is read and the latch L1? Enter L52L9, X Alliance X9
7Wl moves to latches L2, L6, LlO, X, +X9
=E1,X,-X,=Ed. EdXWl=E, is calculated, and EO and E8 enter latches L3 and L7.

更に次に演算サイクルにはX3,Xll,W3が読出さ
れ、ラツチLl,L5,L9に入り、その他のデータは
順次出力側に移り、ラツチL4,L8にはE。,E8が
それぞれ入力される。この時パイプラインシフトレジス
タPLSRは4を計数し、パイプライン指定レジスタP
LIの値と一致し、演算装置FALUのパイプラインが
全て詰まつたことが検出される。よつてこれまでは各演
算サイクルにおいて、記憶装置についての読出し、書込
みモード沖の書込みモードが阻止されていたが、この書
込みモードも有効になり、アドレスシフトレジスタAS
Rl,ASR2のパイプライン指示レジスタPLIが示
す値、即ち4段目に在るアドレスO番地及び8番地にE
。及びE8がそれぞれ書込まれる。この状態から第5図
における第1ステージ処理に入る。
Furthermore, in the next operation cycle, X3, Xll, and W3 are read out and entered into latches L1, L5, and L9, and other data are sequentially transferred to the output side, and E is input to latches L4 and L8. , E8 are respectively input. At this time, the pipeline shift register PLSR counts 4, and the pipeline specification register P
This matches the value of LI, and it is detected that the pipeline of the arithmetic unit FALU is completely clogged. Therefore, up until now, the read mode and write mode for the storage device were blocked in each calculation cycle, but this write mode is now also enabled, and the address shift register AS
The value indicated by the pipeline instruction register PLI of Rl, ASR2, that is, the address O and 8 in the fourth stage are set to E.
. and E8 are written respectively. From this state, the first stage processing shown in FIG. 5 begins.

この段階ではデータカウンタDCの内容とデータサイズ
指示レジスタDSIの内容N/2とが比較され、一致し
ない場合は主記憶装置MM,,MM2からアドレスシフ
トレジスタASRl,ASR2の初段内のアドレスで同
時に読出されて演算装置FALUへ供給され、つづいて
演算装置FALUの演算結果がその出力端子23,24
からそれぞれ主記憶装置MMl,MM2のASRl,A
SR2の4段目内のアドレスにそれぞれ書込まれる。そ
の書込の後にデータカウンタDCは1加算され、その値
がDSIの設定値と一致するか否か調べられ、以下同様
のことが繰返されて、第3図の第1ステージの演算が次
々に行なわれる。乗算回路27において乗算する重み、
即ち三角関数値、いわゆる回転因子Wnは上述したよう
に、COsO〜COsπ/4及びSinO−Sinπ/
4の値1 πが?X−ごとに主記憶装置MM3に
その番地順に記憶されている。
At this stage, the contents of the data counter DC and the contents N/2 of the data size instruction register DSI are compared, and if they do not match, they are read out simultaneously from the main memories MM, MM2 at the addresses in the first stage of address shift registers ASRl and ASR2. The calculation result of the calculation unit FALU is then supplied to the output terminals 23 and 24.
ASRl and A of main memories MMl and MM2, respectively.
Each address is written in the fourth stage of SR2. After writing, the data counter DC is incremented by 1, and it is checked whether the value matches the set value of DSI, and the same process is repeated, and the calculations in the first stage in Fig. 3 are performed one after another. It is done. weights to be multiplied in the multiplication circuit 27;
That is, the trigonometric function value, the so-called twiddle factor Wn, is COsO~COsπ/4 and SinO−Sinπ/4, as described above.
The value of 4 is 1 π? Each X- is stored in the main memory device MM3 in the order of its address.

入力データアレイのサイズN−2mが1024X4=1
012以下の場合は、その指数mに応じて必要な回転因
子だけを飛越して読出して利用する。このため第6図の
アドレス補正部TWAにおいて第r番目のステージにお
いて(r−1)+(13−m)だけ、データカウンタD
Cの出力1X1又はそのビツト位置を変更した出力1X
2を左へシフトし、下位ビツトを0とし、即ちそのOと
した番地を読出さないようにする。但しアドレス補正部
TWAは12ビツトの容量であつて、これよりオーバー
フローしたものは無視する。従つて上記例のようにN=
16=24で第1ステージr=1の場合は、1−1+1
34=9ビツトだけアドレスカウンタからのIXlは左
にシフトされ、主記憶装置MM3の29ごとの番地を読
出す。このアドレス補正部TWAは例えばインデクスI
Xl又はIX2の各ビツトが一組のゲートに入力され、
そのゲート出力は所定数ビツトシフトされたものとなり
、このゲートをステージ計数用シフトレジスタSCSR
の対応する出力段にて開し、各ステージに対応して上記
1X1又はIX2が入力され、所定のビツトシフトされ
た出力が得られるゲートが設けられ、このゲートが各ス
テージごとに一組だけ開けられるように論理回路で構成
される。第8図に示すようにO〜πの間はSinOは正
であり、COsθはO〜π/2では正であるがπ/2〜
πの間は負である。
The size of the input data array N-2m is 1024X4=1
012 or less, only the necessary twiddle factors are skipped and read and used according to the index m. Therefore, in the address correction unit TWA shown in FIG.
Output 1X1 of C or output 1X with changed bit position
2 is shifted to the left and the lower bit is set to 0, that is, the address set to O is not read out. However, the address correction unit TWA has a capacity of 12 bits, and any overflow beyond this capacity is ignored. Therefore, as in the above example, N=
If 16=24 and first stage r=1, then 1-1+1
IXl from the address counter is shifted to the left by 34=9 bits to read every 29th address in main memory MM3. For example, this address correction unit TWA
Each bit of Xl or IX2 is input to a set of gates,
The gate output is shifted by a predetermined number of bits, and this gate is transferred to the stage counting shift register SCSR.
A gate is provided which is opened at the corresponding output stage, inputs the above 1X1 or IX2 corresponding to each stage, and obtains a predetermined bit-shifted output, and only one set of these gates is opened for each stage. It is composed of logic circuits like this. As shown in Figure 8, SinO is positive between O and π, and COsθ is positive between O and π/2, but between π/2 and
It is negative between π.

よつてアドレス補正部TWAの出力アドレス中の11ビ
ツト目及び12ビツト目が共に61″又は共に″O゛の
場合はO〜π/2の間であつてCOsθは正とし、11
ビツト目及び12ビツトの一方が″r”で、他方が60
゛の場合はπ/2〜πの間であつて、COsθは負とさ
れる。また第8図においてCOsθの曲線30とSin
θの曲線31とを比較すれば理解されるようにCOsθ
のπ/4〜π/2の絶対値ぱ81nθのπ/4〜0と等
しく、従つてCOsθについてはO〜π/4を2等〜2
10番地まで読出し、そのCOsθの値を使用し、π/
4〜π/2の間は210〜2s番地と逆に読出してその
時のSinθの値を使用する。更にCOsθはπ/2〜
3π/4では2使〜210番地を順次読出してその時の
Sinθの値に負符号を付け、3π/4〜πでは210
〜2θ番地を読出してそのCOsθの値に負符号を付け
ればよい。Sinθについてもπ/4〜π/2では21
0〜2。番地と逆に読出してその時のCOsθの値を使
用し、π/2〜3π/4では2の〜210番地のCOs
θを、3π/4〜πでは210〜22番地のSinθ値
をそれぞれ使用すればよい。COsθ、Sinθの何れ
についても、2す〜210番地を読出したら、次にそれ
を逆順に読出すことを繰返せばよいことになり、またそ
の時、記憶中のCOsθとSinθの値を、実際の回転
因子Wnf)COsとするかSinとするかの関係は上
述の関係から、記憶装置MM3に対するアドレスビツト
中の10ビツト目及び11ビツト目が共に1r”又は共
に″0”の場合は記憶装置MM3のCOsθ及びSin
θをそれぞれ回転因子Wnの実数部及び虚数部とし、一
方が゛1―他方が”O゛の場合はCOsθ及びSinθ
をそれぞれWnの虚数部及び実数部とする。主記憶装置
MM3から読出されたCOsθ及びSinθは回転因子
入替制御部TWSCにおいて、アドレスの10ビツト目
及び11ビツト目の排他的論理和の結果に応じてCOs
θ、Sinθを実数部にするか虚数部にするかの入替え
が行なわれると共に、11ビツト目及び12ビツト目の
排他的論理和の結果により、その実数部の正負符号が決
定される。その入替匍智部TWSCの出力が演算装置F
ALUの入力端子28に与えられる。上述のようにして
主記憶装置MMl〜MM3を読出し、演算を行ない、ま
た書込み操作を行なうが、その場合の第1ステージの処
理及びその前段処理におけるステツプ及びデータカウン
タDCの内容、アドレスシフトレジスタASRl,AS
R2に与えられる内容(以下インデクスと称す)、記憶
装置MM,,MM2の読出し番地、アドレス補正部TW
Aの出力(以下TWインデクスと呼ぶ)、主記憶装置M
M3の読出番地、回転因子入替制御部TWSCの出力は
第9図の第1ステージの表のようになる。
Therefore, if the 11th and 12th bits of the output address of the address correction unit TWA are both 61'' or both are ``O'', it is assumed that COsθ is between O and π/2 and is positive, and 11
One of the 1st and 12th bits is "r" and the other is 60
In the case of ', it is between π/2 and π, and COsθ is negative. In addition, in FIG. 8, the curve 30 of COsθ and the curve 30 of Sin
As can be understood by comparing the curve 31 of θ, COsθ
The absolute value of π/4 to π/2 is equal to π/4 to 0 of 81nθ, so for COsθ, O
Read up to address 10, use the value of COsθ, and calculate π/
4 to π/2 is read in the opposite way to addresses 210 to 2s, and the value of Sin θ at that time is used. Furthermore, COsθ is π/2~
For 3π/4, read addresses 2 to 210 sequentially and add a negative sign to the value of Sinθ at that time, and for 3π/4 to π, 210
It is sufficient to read the address ˜2θ and add a negative sign to the value of COsθ. Regarding Sinθ, it is also 21 for π/4 to π/2.
0-2. Read the address in reverse and use the value of COsθ at that time, and for π/2 to 3π/4, COs at addresses 2 to 210
For θ, the sin θ values at addresses 210 to 22 may be used for 3π/4 to π, respectively. For both COsθ and Sinθ, once addresses 2 to 210 have been read, all that is required is to read them in reverse order, and at that time, the stored values of COsθ and Sinθ can be changed to the actual values. The relationship between the twiddle factor Wnf) COs and Sin is based on the above relationship. If the 10th and 11th bits of the address bits for the storage device MM3 are both 1r" or both "0", the storage device MM3 COsθ and Sin
Let θ be the real part and imaginary part of the twiddle factor Wn, respectively, and if one is "1" and the other is "O", COsθ and Sinθ
Let be the imaginary part and the real part of Wn, respectively. COsθ and Sinθ read from the main memory device MM3 are stored in the twiddle factor exchange control unit TWSC according to the exclusive OR result of the 10th and 11th bits of the address.
θ and Sin θ are switched between real and imaginary parts, and the sign of the real part is determined based on the result of the exclusive OR of the 11th and 12th bits. The output of the replacement part TWSC is the arithmetic unit F.
It is applied to the input terminal 28 of the ALU. As described above, the main memories MMl to MM3 are read, arithmetic operations are performed, and write operations are performed, but in this case, the steps in the first stage processing and the preceding stage processing, the contents of the data counter DC, and the address shift register ASRl are ,AS
Contents given to R2 (hereinafter referred to as index), read addresses of memory devices MM, MM2, address correction unit TW
Output of A (hereinafter referred to as TW index), main memory M
The read address of M3 and the output of the twiddle factor exchange control unit TWSC are as shown in the table of the first stage in FIG.

第5図のフローチヤートにおける第1ステージの処理を
行ない、データカウンタDCの内容がデータサイズ指示
レジスタDSIの設定値N/2になつた時は、主記憶装
置MMl,MM2からデータX7,Xl5がそれぞれ演
算装置FALUに送られ、第1ステージのデータは全部
読出されたことになる。このデータX7,Xl5に対す
る演算結果が記瞳装置MM,,MM2に書込まれるまで
はMMl,MM2の読出しは中止される。即ち第5図の
第1ステージ後段処理に示すようにDS一DCがYES
になると、パイプラインシフトレジスタPLSRはクリ
アされ、これとパイプライン指示レジスタPLIの内容
とが一致するまでは演算装置FALUの演算結果がアド
レスシフトレジスタASRl,ASR2の4段目のアド
レスで指定された記憶装置MM,,MM2内にそれぞれ
書込まれ、次にパイプラインシフトレジスタPLSRが
1段シフトされ、これとパイプライン指示レジスタPL
Iの内容とが比較されることが繰返される。このように
してデータX7,X,5に対する演算結果が記憶装置M
Ml,MM2に書込まれた時は、PLI=PLSRがY
ESとなる。これより第2ステージに入るがそのための
準備処理が行なわれる。
When the first stage processing in the flowchart of FIG. 5 is performed and the content of the data counter DC reaches the set value N/2 of the data size instruction register DSI, data X7 and Xl5 are transferred from the main memories MMl and MM2. Each of the data is sent to the arithmetic unit FALU, and all the data of the first stage has been read out. Reading of MMl and MM2 is stopped until the calculation results for the data X7 and Xl5 are written into the pupil recording devices MM, MM2. That is, as shown in the first stage post-processing of FIG. 5, DS-DC is YES.
When this happens, the pipeline shift register PLSR is cleared, and until this matches the contents of the pipeline instruction register PLI, the operation result of the arithmetic unit FALU is specified by the fourth stage address of the address shift registers ASR1 and ASR2. are written into the storage devices MM, , MM2, and then the pipeline shift register PLSR is shifted by one stage, and this and the pipeline instruction register PLSR are written.
The comparison with the contents of I is repeated. In this way, the calculation results for data X7, X, 5 are stored in the storage device M.
When written to Ml, MM2, PLI=PLSR is Y
It becomes ES. The second stage is now entered, and preparation processing for that stage is performed.

まず第6図におけるインデクス選択レジスタIXMCR
にIXlに代つてビツト順変更回路Xの出力1X2がイ
ンデクスとしてアドレスシフトレジスタASRl,AS
R2アドレス補正部TWAに供給されるようにセツトさ
れる。このIX2と基底アドレスレジスタBARl,B
AR2の内容とが回路10,11にてそれぞれ加算され
て、アドレスシフトレジスタASRl,ASR2の初段
にそれぞれセツトされる。また演算装置FALUのモー
ド及びスイツチ制御が指定され、この場合はモードは上
述と同時にフーリエ演算であり、スイツチSl,S2の
切替が各演算ステツプごとに省なわれるモードになるよ
うにレジスタFCR2が設定される。この第2ステージ
における演算は、第2図及び第3図から理解されるよう
に、EO+E4、(EO一E4)WO,.E8+El2
、(E8−E,2)WOなどである。
First, the index selection register IXMCR in FIG.
Then, instead of IXl, the output 1X2 of the bit order change circuit
It is set so that it is supplied to the R2 address correction section TWA. This IX2 and base address register BARl,B
The contents of AR2 are added in circuits 10 and 11, respectively, and set in the first stages of address shift registers ASR1 and ASR2, respectively. In addition, the mode and switch control of the arithmetic unit FALU are specified; in this case, the mode is Fourier computation as described above, and register FCR2 is set so that switching of switches Sl and S2 is omitted for each computation step. be done. As can be understood from FIGS. 2 and 3, the calculations in this second stage are EO+E4, (EO-E4)WO, . E8+El2
, (E8-E,2)WO, etc.

所で上述したように第1ステージにおける演算結果中の
E。−E7を記憶装置MMlのO〜7番地にE8〜E,
5を記憶装置MM2の8〜15番地にそれぞれ記憶して
おくと、第2ステージにおける主記憶装置MMl,MM
2に対するアドレスの発生が極めて容易になる。即ち一
般にデータサイズN=2rの場合に第r番目のステージ
にはビツト入替回路1XにおいてデータカウンタDCの
出力中の下位の(m−r+1)ビツトのビツト配列を反
転させればよい。このビツト入替回路1Xは例えばデー
タカウンタDCの各ビツトがそれぞれ一組のゲートに供
給され、そのゲート中の所定の下位ビツトはビツト順位
が入替えられるようにゲートの出力側が接続され、この
一組のゲートはステージカウンタ用シフトレジスタSC
SRの所定の段の出力で.開かれ、同様に各ステージに
対応して下位ビツトが入替えられたゲートが設けられ、
レジスタSCSRの状態により、一組のゲートだけが自
動的に開けられる。上記N=16においてはm=4であ
り、その第2ステージでは下位の4−2+1=3だけビ
ツト順位を反転させることになり、その反転結果は第9
・図における第2ステージのインデツクスIXとして示
され、これよりこの第2ステージの演算ステツプの第1
番目においてO番地及び8番地が記憶装置MM,,MM
2からそれぞれE。
By the way, as mentioned above, E in the calculation result in the first stage. −E7 to addresses O to 7 of the storage device MMl, E8 to E,
5 in addresses 8 to 15 of the storage device MM2, the main storage devices MMl and MM in the second stage
2 becomes extremely easy to generate. That is, in general, when the data size N=2r, the bit arrangement of the lower (m-r+1) bits in the output of the data counter DC may be inverted in the r-th stage in the bit switching circuit 1X. In this bit switching circuit 1X, for example, each bit of a data counter DC is supplied to a set of gates, and the output side of the gate is connected so that the bit order of a predetermined lower bit in the gate is switched. Gate is shift register SC for stage counter
At the output of a given stage of SR. Gates are opened and the lower bits are replaced corresponding to each stage.
Depending on the state of register SCSR, only one set of gates is automatically opened. In the case of N=16 above, m=4, and in the second stage, the bit order is inverted by the lower order by 4-2+1=3, and the result of the inversion is the 9th bit order.
・It is shown as index IX of the second stage in the figure, and from this, the first calculation step of this second stage is
At the th address O and 8 are the storage devices MM, MM
2 to E respectively.

及びE8が読出されて、演算装置のラツチLl,L5に
与えられる。次に4番地及び12番地からE4及びEl
2がそれぞれ読出され、この時演算装置のスイツチSl
,S2は点線のように切替つているからラツチL6及び
L5に入り、EO,E8はL2,Llにそれぞれ入る。
よつてL2のE。とL6のE4とが演算回路25,26
,27において演算され、EO+E4=DO、(EO−
E4)WO−D4がそれぞれ演算される。次に2番地及
び10番地からE2及びElOがそれぞれ読出され、ス
イツチSl,S2は実線となつているためLl,L5に
入り、E8,E,2がL2,L6にそれぞれ入り、E8
+El2−D8、(E8一El2)WO−D2が演算さ
れ、先のD。,D4はL3,L7に入る。次に6番地及
び14番地からE6及びE,4がそれぞれ読出され、L
6,L5にそれぞれ入り、E2+E6=D2、(E2−
E6)W4=D6が演算され、DO,D4はL4,L3
に、D8,D,2はL8,L7にそれぞれ入る。この時
、パイプライン指示レジスタPLIの内容とパイプライ
ンシフトレジスタPLSRの計数値とが一致し、即ち演
算装置FALUのパイプラインが全部詰まり、第2ステ
ージの前段処理が終る。よつて記憶装置MMl,MM2
に対してはそれまでは読出のみ行なわれたが、次の演算
ステツプからMMl,MM2に対する書込みも行なわれ
る。この場合、,上記スイツチSl,S2の操作により
端子23,24にはD2,D8が現われ、アドレスシフ
トレジスタASRlASR2の4段目の内容が示す記憶
装置MMl,MM2のO番地及び8番地にそれぞれ書込
まれる。このようにして互に演算されるべきものでない
が同時に二つのデータを読出し、同時に二つの演算結果
を得込むことができ、高速度で演算が行なわれる。第2
ステージのデータEll及びEl5が読出され、データ
サイズ指示レジスタDSIの内容とデータカウンタDC
の内容とが一致すると、ステージシフトレジスタSCS
Rが1シフトされて第3ステージの演算処理に移る。こ
の場合第6図のステージシフトレジスタSCSRの出力
によりビツト入替回路1X及びアドレス補正回路TWA
のrが変化される。よつて第3ステージにおいては回路
1Xでは下2ビツトだけがビツト逆順とされ、TWAで
は11ビツト左シフトされる。
and E8 are read out and applied to latches L1 and L5 of the arithmetic unit. Next, from addresses 4 and 12, E4 and El
2 are respectively read out, and at this time the switch Sl of the arithmetic unit is
, S2 are switched as shown by the dotted lines, so they enter latches L6 and L5, and EO and E8 enter latches L2 and Ll, respectively.
Therefore, E of L2. and E4 of L6 are arithmetic circuits 25 and 26
, 27, EO+E4=DO, (EO−
E4) WO-D4 are calculated respectively. Next, E2 and ElO are read from addresses 2 and 10, respectively, switches Sl and S2 are solid lines, so they go into Ll and L5, E8, E, and 2 go into L2 and L6, respectively, and E8
+El2-D8, (E8-El2)WO-D2 is calculated, and the previous D is calculated. , D4 enters L3 and L7. Next, E6 and E,4 are read from addresses 6 and 14, respectively, and L
6 and L5 respectively, E2+E6=D2, (E2-
E6) W4=D6 is calculated, DO, D4 are L4, L3
Then, D8, D, and 2 enter L8 and L7, respectively. At this time, the contents of the pipeline instruction register PLI and the count value of the pipeline shift register PLSR match, that is, the pipeline of the arithmetic unit FALU is completely clogged, and the pre-processing of the second stage ends. Therefore, storage devices MMl, MM2
Until then, only reading was performed for MM1 and MM2, but from the next calculation step, writing to MM1 and MM2 will also be performed. In this case, D2 and D8 appear on the terminals 23 and 24 by operating the switches Sl and S2, and are written to addresses O and 8 of the storage devices MMl and MM2 indicated by the contents of the fourth stage of the address shift register ASRlASR2, respectively. be included. In this way, two pieces of data, which should not be calculated on each other, can be read out at the same time and two calculation results can be obtained at the same time, and calculations can be performed at high speed. Second
Stage data Ell and El5 are read out, and the contents of the data size instruction register DSI and the data counter DC are read out.
If the contents of the stage shift register SCS match, the stage shift register SCS
R is shifted by 1 and the process moves to the third stage of arithmetic processing. In this case, the bit switching circuit 1X and the address correction circuit TWA are activated by the output of the stage shift register SCSR shown in FIG.
r is changed. Therefore, in the third stage, only the lower two bits in circuit 1X are reversed in bit order, and in TWA they are shifted to the left by 11 bits.

この状態で第2ステージと同様の動作が行なわれる。こ
の場合の各種のアドレスなどは第9図の第3ステージの
ようになる。同様にして第4ステージも処理される。こ
の例ではm=4であり,、ステージ数の最大は4である
から、第4ステージにおいてデータCl4,Cl5が読
出されると、ステージシフトレジスタSCSRがシフト
され、よつてこれがオーバーフローする。その後は演算
装置FALU内に残つているデータの処理を行なう最終
処理に移り、これは第1ステージの後段処理と同様であ
るがパイプラインシフトレジスタPLSRがパイプライ
ン指示レジスタPLIの内容と一致するとすべての演算
が終了する。このようにして16個のサンプリング点X
。−X,5にて代表された信号f(t)のフーリエ変換
におけるフーリエ係数F。−Fl5が得られる。フーリ
エ逆変換を行なうには演算装置FALUにおけるスイツ
チS9を虚数部符号反転切替回路50側にセツトしてラ
ツチL9の出力はこの回路50を通じて虚数部の符号が
反転されてラツチL,Oへ供給されるようにモード設定
を行なえばよい。
In this state, the same operation as in the second stage is performed. In this case, various addresses etc. are as shown in the third stage of FIG. The fourth stage is processed in the same way. In this example, m=4, and the maximum number of stages is 4, so when data Cl4 and Cl5 are read in the fourth stage, the stage shift register SCSR is shifted, and thus overflows. After that, the process moves to the final process of processing the data remaining in the arithmetic unit FALU, which is similar to the post-processing of the first stage, but when the pipeline shift register PLSR matches the contents of the pipeline instruction register PLI, all data are processed. The calculation ends. In this way, 16 sampling points
. -Fourier coefficient F in the Fourier transform of the signal f(t) represented by X,5. -Fl5 is obtained. To perform inverse Fourier transform, switch S9 in arithmetic unit FALU is set to the imaginary part sign inversion switching circuit 50 side, and the output of latch L9 is passed through this circuit 50, with the sign of the imaginary part inverted and supplied to latches L and O. All you have to do is set the mode so that

更にフーリエ変換は連続波形の有限区間を取出し、その
区間の周期関数であることを前提として解析している。
しかし必ずしもそのようになつていない。そのため解析
値に誤差が生じる。この誤差がなるべく小さくなるよう
に従来のデジタルフーリエ変換装置において、いわゆる
ウインドウ処理が行なわれていた。このウインドウ処理
はハミング法、ハニング法、バートレツト法などがある
が、このようなウインドウ処理もこの発明装置において
行なうことができる。例えばハニング法は1m(1−C
Os−2π)なる補償関数をデータに乗2Nmじるが、
このCOs−2πなる値は上記記憶装置NMM3に回転
因子として記憶されている点より、これを利用できる。
Furthermore, Fourier transform extracts a finite section of a continuous waveform and analyzes it on the assumption that it is a periodic function of that section.
However, this is not necessarily the case. Therefore, an error occurs in the analytical value. In order to reduce this error as much as possible, so-called window processing is performed in conventional digital Fourier transform devices. This window processing includes the Hamming method, Hanning method, Bartlett method, etc., and such window processing can also be performed in the apparatus of the present invention. For example, the Hanning method uses 1m (1-C
The data is multiplied by 2Nm by the compensation function Os-2π),
Since this value COs-2π is stored as a twiddle factor in the storage device NMM3, it can be used.

このためには第7図の演算装置FALUにおいて、スイ
ツチSl,S2は実線のまXとし、スイツチS7,S8
O一方端子51又は52側に切替えてOのみが入力され
、他方からデータXnが入力される。またスイツチS9
は回路53側に切替えられ、この回路53は1から入力
を減算する回路54とその出力を右へ1ビツトシフトし
て2で割る回路55よりなり、ラツチL92π 1
2πmからのCOs−mは一(1−COs?)の演算N
2Nが回路53で行なわれる。
For this purpose, in the arithmetic unit FALU shown in FIG.
O is switched to one terminal 51 or 52 and only O is input, and data Xn is input from the other side. Also Switch S9
is switched to the circuit 53 side, and this circuit 53 consists of a circuit 54 that subtracts the input from 1 and a circuit 55 that shifts the output by 1 bit to the right and divides it by 2.
COs-m from 2πm is the operation N of 1 (1-COs?)
2N is performed in circuit 53.

記憶装置MMl,MM2から読出されたデータXnを端
子21及び22の一方、スィツチS7,S8が接続され
ている方に入力し、記憶装置MM3から回転因子を読出
して端子28を通じて回路53へ供給する。例えばデー
タを端子22に与えると、ラツチL,の入力は常にOに
なり、加減算回路26を加算モードとし、端子22より
のデータに回路53からの一(12πMcOs?)が回
路27で乗算され、スイツチNS2の状態により、端子
23,24の一方から書込バスへ出力され、更に記憶装
置MM,,MM2に書込まれる。
The data Xn read from the storage devices MMl and MM2 is inputted to one of the terminals 21 and 22, which is connected to the switches S7 and S8, and the twiddle factor is read from the storage device MM3 and supplied to the circuit 53 through the terminal 28. . For example, when data is applied to the terminal 22, the input of the latch L is always O, the addition/subtraction circuit 26 is set to addition mode, and the data from the terminal 22 is multiplied by 1 (12πMcOs?) from the circuit 53 in the circuit 27. Depending on the state of the switch NS2, the data is output from one of the terminals 23 and 24 to the write bus, and further written to the memory devices MM, MM2.

上述したこの発明装置においてはフーリエ変換のみなら
ず、各種のデータアレイの演算を行なうことができる。
The device of the present invention described above can perform not only Fourier transform but also various data array operations.

以下その例を述べる。二つのデータアレイ相互の加減算
は第7図においてスイツチSl,S2を実線とし、スイ
ツチS3をラツチL2側、スイツチS4をラツチL7側
、スイツチS6をラツチL6側とし、加減算回路25を
加算又は減算動作とし、加減算回路26を減算又は加算
動作の何れか一方を指定する。端子21,22の入力デ
ータAn,Bnに対し、端子23,24からデータアレ
イAn+Bn,.An−Bn又はAn−Bn,.An+
Bnが得られる。データアレイAn−Bnの乗算は端子
21,22の一方と端子28にゼータAnBnを入れ、
スイツチS7,S8のデータが供給されない側は端子5
1,52に接続してOを入力とし、スイツチS5を端子
28に、スイツチS9はラツチL,に接続し、その他は
ウインドウ処理と同一とする。これにより端子23,2
4の一方に乗算結果のアレイが得られる。データアレイ
Anに任意の定数Kを加算・減算或いは乗算する。加減
算は端子21,22の一方にゼータAnを他方に定数K
を入力し、上記データアレイAnBnの加減算と同様に
すればよい。またデータアレイAnを端子21,22の
一方に定数Kを端子28に入力して上記乗算と同様にす
れば、データアレイKAnが得られる。更にデータアレ
イからデータアレイへの変換としては例えば積分の場合
はスイツチS,を点線、S2は実線とし、スイツチS3
,S4はそれぞれラツチL7側とし、スイツチS7は端
子21に、S8は端子52に、S5はスイツチS8に、
SlOをスイツチS1にそれぞれ接続し、加減算回路2
6を加算動作にする。
An example will be described below. Addition and subtraction between the two data arrays is performed by setting the switches S1 and S2 as solid lines in FIG. 7, setting the switch S3 to the latch L2 side, setting the switch S4 to the latch L7 side, and setting the switch S6 to the latch L6 side, and adding or subtracting the addition/subtraction circuit 25. The addition/subtraction circuit 26 is designated to perform either subtraction or addition. In response to input data An, Bn at terminals 21, 22, data arrays An+Bn, . An-Bn or An-Bn, . An+
Bn is obtained. For multiplication of data array An-Bn, zeta AnBn is put into one of terminals 21 and 22 and terminal 28,
The side to which data of switches S7 and S8 is not supplied is terminal 5.
1 and 52 and O is input, switch S5 is connected to terminal 28, switch S9 is connected to latch L, and the rest is the same as the window processing. As a result, terminals 23, 2
An array of multiplication results is obtained on one side of 4. An arbitrary constant K is added to, subtracted from, or multiplied by the data array An. For addition and subtraction, set zeta An to one of terminals 21 and 22 and constant K to the other.
, and perform the addition and subtraction of the data array AnBn described above. Further, by inputting the data array An to one of the terminals 21 and 22 and the constant K to the terminal 28 and performing the same multiplication as described above, a data array KAn is obtained. Furthermore, for conversion from data array to data array, for example, in the case of integration, switch S is set as a dotted line, S2 is set as a solid line, switch S3 is set as a dotted line, S2 is set as a solid line,
, S4 are respectively on the latch L7 side, switch S7 is connected to terminal 21, S8 is connected to terminal 52, S5 is connected to switch S8,
Connect each SlO to switch S1 and add/subtract circuit 2.
6 to add operation.

データアレイAnを端子21に与える。データAOがラ
ツチL7に入ると回路26においてA,と加算され、A
O+A1となり、次のステツプでA。+A1+A2が得
られ、積分されたアレイが端子24に得られる。微分動
作の場合はスイツチS,,S2は実線、スイツチS3は
ラツチL2、S6はラツチL6、S,OはラツチL2に
それぞれ接続され、その他は積分の場合と同様であり、
回路26は減算動作とされる。その結果、ラツチL7か
らの前の結果と、ラツチL6からの新たなデータとの差
が回路26でとられ、その結果がL7に入力されて微分
データアレイが端子24に得られる。更にデータアレイ
の各要素の総和を求めるには、上記積分動作と同一とす
るが、その結果を記憶装置に入れるのは最終値だけを書
込む。或いは第1図において1ワードのレジスタGRを
1つ又は複数設けておき、例えば、GRl〜GR4が設
けられ、これ等はそれぞれ切替回路を通じて書込バス及
び読出バスにそれぞれ接続される。よつて上記サンメー
シヨンをとる場合に、演算出力をレジスタGRの1つに
書込めば、このレジスタには常に最も新しい演算結果が
記憶される。上記実施例は以上の各種のデータアレイの
演算を行なうことができるが、そのための制御は上述し
たようにマイクロプログラム匍脚装置CMで行なう。
A data array An is applied to terminal 21. When data AO enters latch L7, it is added to A in circuit 26, and A
O+A1, then A in the next step. +A1+A2 is obtained and the integrated array is obtained at terminal 24. In the case of differential operation, switches S,, S2 are connected to solid lines, switch S3 is connected to latch L2, S6 is connected to latch L6, and S and O are connected to latch L2, respectively, and the rest is the same as in the case of integral operation.
The circuit 26 is operated as a subtractor. As a result, the difference between the previous result from latch L7 and the new data from latch L6 is taken in circuit 26, and the result is input to L7 to provide a differential data array at terminal 24. Furthermore, to obtain the sum of each element of the data array, the same integration operation as described above is used, but only the final value is written into the storage device. Alternatively, in FIG. 1, one or more 1-word registers GR are provided, for example GR1 to GR4, which are connected to the write bus and the read bus through switching circuits, respectively. Therefore, when performing the above-mentioned sunmation, if the calculation output is written to one of the registers GR, the newest calculation result is always stored in this register. The above-mentioned embodiment is capable of performing the above-described calculations on the various data arrays, but the control for this is performed by the microprogram pedestal device CM as described above.

その場合すべての制御をその都度マイクロ命令で設定す
るにはマイクロ命令のビツト数が非常に多くなる。よつ
て1つの演算の間中変化しないようなもの、即ちデータ
バス、ビツト幅、演算の種類、発生するアドレスパター
ンの各設定はマイクロプログラム制御によりセツトアツ
プレジスタに設定し、その演算中はそのレジスタの内容
は固定とされる。記憶装置の読出し、書込み、アドノレ
スの更新、演算の進行などのタイミングの制御、ステイ
タスセンスなどはマイクロ命令として与えられる。
In that case, the number of microinstruction bits would be extremely large if all controls were to be set each time using microinstructions. Therefore, settings that do not change during one operation, such as the data bus, bit width, type of operation, and address pattern to be generated, are set in the setup register under microprogram control, and the settings in that register are kept unchanged during the operation. The contents of are fixed. Control of the timing of reading and writing of the storage device, address updating, progress of calculations, status sense, etc. are given as microinstructions.

以下代表的なマイクロ命令の例を述べる。先ずムーブ又
はMD命令(MOveData命令)は第10図Aに示
すように32ビツトよりなり、第1図におけるバス制御
レジスタBCR、メモリ御御レジスタMCRの内容に従
つて主記憶装置MMl,MM2より演算装置FALU,
これより主記憶装置MMl,MM2へのデータ転送を行
なう。この場合、読出された記憶装置と、書込み記憶装
置とは別のものでもよい。制御フイールドは第0〜第5
ビツトであり、第0ビツトは10゛で割込みを受付け、
“1゛で割込みを禁止するINTDS(Interru
ptDisable)であり、第1ビツトRET,SE
T(ReturnAddressSet)は60″はN
OOperatiOnであり、1ビはリターンアドレス
レジスタに現在実行中のアドレス+1を格納する。第2
ビツトRET(Return)はOでNOOperat
iOn(NOP)、11″ではリターンアドレスレジス
タの内容番地へジャンプする。た〜し割込トラツプ発生
時は行なわない。第3ビツトDAR−HIT(HitD
irectAddressRegister)は″O゛
でNOP,.″R5でダイレクトアドレスレジスタの内
容を+1する。第4ビツトIXHIT(HitInde
xCOunter)は゛0”でNOP.6l”でデータ
カウンタDCの内容を+1する。第5ビツトASR−S
ET(SetAddressShiftRegiste
r)は10゛でNOP..8l゛でインデツクスをアド
レスシフトレジスタセツトする。第6及び第7ビツトは
60゛でNOP、゛1゛でメモリ制御フイールドでメモ
リ読出制御レジスタMRCR及びメモリ書込制御レジス
タMWCRの内容に従つて、主記憶装置の読出し、書込
みを制御する。第6ビツトが6r”なら記憶装置から読
出し、第7ビツトが11゛なら記憶装置へ書込む。なお
1命令で第6ビツト及び第7ビツトを同時に61゛にす
ることはできない。第8、第9ビツトはBCRフイール
ドで主記憶装置MM又は一般レジスタGRとバス及び演
算装置FALU間の転送をバス制御レジスタBCRの内
容に従つて制御する。第8ビツトの“1゛はその書込み
側のバス制御レジスタBCRに従つてデータを転送し、
第9ビツトの61゛は読出し側のバス制御レジスタBC
Rに従つてデ一夕を転送する。第8、第9ビツトが同時
に”1゛に指令することはできない。第10〜第18ビ
ツトはトラツプフイールドであつてインデツクスダイレ
クトテイテクダブルビツト(IX−DDB)を見て、ト
ラツプを受付けるか否かを決め、受付けの時は次の実行
アドレスを指定する。その第10〜第13ビツトはIX
DDBCOND(IndexDDBcOnditiOn
)のフイールドで゛1゛であるビツトに対応するIXD
DBのビツトがすべて″1′2の時にトラツプ条件が満
足したとする。
Examples of typical microinstructions are described below. First, the move or MD instruction (MOveData instruction) consists of 32 bits as shown in FIG. device FALU,
Data is then transferred to the main memories MM1 and MM2. In this case, the read storage device and the write storage device may be separate devices. Control fields are 0th to 5th
bit, the 0th bit is 10゛, interrupt is accepted,
“INTDS (Interru
ptDisable), and the first bit RET,SE
T (ReturnAddressSet) is 60'' is N
OOperatiOn, and 1 bit stores the address currently being executed +1 in the return address register. Second
Bit RET (Return) is O and NO Operat
iOn (NOP), 11'' jumps to the content address of the return address register. However, this is not performed when an interrupt trap occurs. The third bit DAR-HIT (HitD
directAddressRegister) is NOP with "O", and the content of the direct address register is incremented by 1 with "."R5. 4th bit IXHIT (HitInde
xCounter) is ``0'' and NOP.6l'' increases the contents of the data counter DC by 1. 5th bit ASR-S
ET(SetAddressShiftRegister
r) is 10゛ and NOP. .. At 8l, the index is set in the address shift register. The 6th and 7th bits are NOP at 60', and the memory control field at 1' controls reading and writing of the main memory according to the contents of the memory read control register MRCR and the memory write control register MWCR. If the 6th bit is 6r'', it is read from the storage device, and if the 7th bit is 11'', it is written to the storage device. Note that the 6th and 7th bits cannot be set to 61'' at the same time in one instruction. The 9th bit is the BCR field, which controls the transfer between the main memory device MM or general register GR, the bus, and the arithmetic unit FALU according to the contents of the bus control register BCR.The 8th bit "1" controls the bus on the write side. Transfer data according to register BCR,
The 9th bit 61 is the bus control register BC on the read side.
Transfer data according to R. The 8th and 9th bits cannot be set to ``1'' at the same time.The 10th to 18th bits are trap fields, and they read the index direct data bit (IX-DDB) and accept traps. Decide whether or not to execute, and specify the next execution address at the time of acceptance.The 10th to 13th bits are IX
DDBCOND (IndexDDBcOnditiOn
) corresponding to the bit that is ``1'' in the field
Assume that the trap condition is satisfied when all bits of DB are "1"2.

第14ビツトIXDDBCLR(NdcxDDBcle
ar)は11゛5でトラツプが受付けられた時に限り、
IX−DDBCONDフイールドの゛1゛に対応するI
X−DDBのビツトをすべて″0゛にする。
14th bit IXDDBCLR (NdcxDDBcle
ar) only when a trap is accepted at 11゛5,
I corresponding to "1" in the IX-DDBCOND field
Set all bits of X-DDB to "0".

トラツプが受付けられた時に次に実行する命令のアドレ
スは第15〜18ビツトTRAPADDRESSで決め
る。この第19〜24ビツトにパルスフイールドで、そ
の第19ビツトX−CTL(IndexcOntrOl
)はインデクスモードコントロールレジスタ(X−MC
R)のCTLビツトが″r”の時だけ有効であり、60
”でアドレスシフトレジスタASR2のアドレス源とし
てIXlを選択し、゛1゛の場合はASR2のアドレス
源としてIX2を選択する。第20ビツトPUSHばr
′でバス制御レジスタBCRで指定した演算装置へ演算
実行パルスを送る。第21〜24ビツトT1〜T7は″
r”で特定時刻T,,T3,T5,T7にパルスを演算
装置へ送る。第27ビツトNOTRAPば0゛でトラツ
プ受付可能であり、61゛でトラツプ受付禁止である。
命令フイールドに書かれているデータを結合された演算
装置のレジスタへ転送するEMIT命令は第10図Bに
示すように第0〜第5ビツトはMD命令と同一であり、
第6〜第9ビツトにてデータを受取るべき演算装置を指
令し、第10〜第13ビツトでその演算装置内のレジス
タを指定し、第14〜第29ビツトで転送されるデータ
が表示される。
The address of the next instruction to be executed when a trap is accepted is determined by the 15th to 18th bits TRAPADDRESS. The 19th to 24th bits are pulse fields, and the 19th bit X-CTL (IndexcOntrOl
) is the index mode control register (X-MC
R) is valid only when the CTL bit is "r", and 60
” selects IXl as the address source of address shift register ASR2, and when “1” selects IX2 as the address source of ASR2. 20th bit PUSH bar
' sends an arithmetic execution pulse to the arithmetic unit specified by the bus control register BCR. The 21st to 24th bits T1 to T7 are "
r'' sends pulses to the arithmetic unit at specific times T, T3, T5, and T7.If the 27th bit NOTRAP is 0, it is possible to accept a trap, and when it is 61, it is prohibited to accept a trap.
The EMIT instruction, which transfers the data written in the instruction field to the register of the connected arithmetic unit, has the 0th to 5th bits the same as the MD instruction, as shown in FIG. 10B.
The 6th to 9th bits instruct the arithmetic unit that should receive the data, the 10th to 13th bits specify the register within that arithmetic unit, and the 14th to 29th bits display the data to be transferred. .

主記憶装置の読出しバツフアレジスタやジエネラルレジ
スタの内容を指定された演算装置内のレジスタへ転送す
るSS命令(SetStatus)は第10図Cのよう
に第10図Bと対応する部分は同符号を示し、データ源
となる記憶装置の指令を第14〜第16ビツトREGで
行なう。そのL/Rば0゛は左半分からの転送、”1゛
は右半分からの転送とする。演算装置内の制御レジスタ
の内容を記憶装置やジエネラルレジスタへ転送するFS
命令(FetchStatus)は第10図Dのように
、第14〜第17ビツトは格納されるべき記憶装置やレ
ジスタを示す。その他ジエネラルレジスタ内の算術論理
演算を行なうALOP命令、記憶装置中のデータをジエ
ネラルレジスタに格納するLR命令、逆にジエネラルレ
ジスタのデータを記憶装置へ書込むSR命令、割込処理
ルーチンから復帰するRFI命令Statusセンス用
条件ジアップJOTJNT命令、Statusをセンス
し、命令に続く5つのアドレスの1つへジヤンプするS
KP命令、記憶装置の読出し、書込みのみを行なうAM
命令などがある。
The SS instruction (SetStatus) that transfers the contents of the read buffer register or general register of the main memory to the register in the specified arithmetic unit is shown in Figure 10C, and the parts corresponding to Figure 10B have the same symbols. The 14th to 16th bits REG are used to command the storage device serving as the data source. For L/R, 0゛ is transfer from the left half, and ``1'' is transfer from right half. FS transfers the contents of the control register in the arithmetic unit to the storage device or general register.
For the instruction (FetchStatus), as shown in FIG. 10D, the 14th to 17th bits indicate the storage device or register to be stored. Other ALOP instructions that perform arithmetic and logical operations in general registers, LR instructions that store data in a storage device to general registers, SR instructions that write data in general registers to storage devices, and interrupt processing routines. Return RFI instructionStatus sensing conditionsJOTJNT instruction, senses the Status and jumps to one of the five addresses following the instructionS
AM that only performs KP command, reading and writing of storage device
There are commands, etc.

上述においては演算装置FALU内のスイツチの切替な
どにより演算機能を変化させ、各種のアレイ演算を可能
にしたが、先にも述べたように読出バス及び書込バス間
に互に機能の異なる複数の演算装置を接続し、その必要
なものを使用する。例えば第11図に示すようにデイジ
タルフーリエ変換を行なう演算装置FALU、割算用演
算装置DALU及び平方根用演算装置SALUなどが書
込みバス12,13、読出バス14,15間にそれぞれ
接続される。これら演算装置は何れもパイプライン構成
であり、割算用演算装置DALUにおいては例えば第1
2図に示すように4段のパイプラインPLl〜PL4よ
りなる。各パイプラインは32ビツトの被除数が蓄えら
れるレジスタLRと、16ビツトの除数が入力されるレ
ジスタLR″と、レジスタLR内の数からレジスタLR
′内の数を減算する加減算器ASUと、その残りが入力
され、そのピツトを左へ1ビツトシフトする桁移し回路
SLUと、その桁移し回路の出力を被除数レジスタLR
及び次段ステツプの被除数レジスタLRへ切替え接続す
るSWと、加減算器ASUより桁上げが生じたか否かを
回路Cにて検出し、その検出状態により制御する制御回
路LCと、その回路LCにより加減算器ASUの1回の
演算毎に1ビツト加算された割算結果が入力されるレジ
スタRRとよりなる。読出バスからデータがレジスタL
R及びLR′に入力されると、これ等が減算器ASUに
て互に減算され、レジスタRRに1が入力されると共に
引算結果は1ビツトだけ左にシフ卜されて、レジスタL
Rに入れられる。このレジスタLRの内容が除数レジス
タLR′の内容にて弓かれ、その結果レジスタRRは1
加算され、引算結果が1ビツト左へシフトされてレジス
タLRに入力され、以下同様のことが繰返され、4回引
算が行なわれると、上記の各引算の回数がカウンタLC
Uにて計数され、スイツチSWが次段の被除数レジスタ
LR側へ接続され、引算結果を1ビツト左シフトされた
値が次段の被除数レジスタLRへ供給される。次に記憶
装置から新しいデータが演算装置DALUへ入力される
と、それまでの第1ステツプPLlにおける除数レジス
タLR′の内容は第2ステツプPL2の除数レジスタL
R/に、第1ステツプの割算結果のレジスタRRの内容
は第2ステツプPL2の結果レジスタRRへそれぞれ移
される。以下同様に各ステツプの除数レジスタLR7、
結果レジスタRRの各内容はそれぞれその次段の対応す
るものに移される。このようにして第4ステツプPL4
の演算が行なわれると、始めて32ビツトの被除数は1
6ビツト左へシフトされ、16ビツトの除数による割算
が完了し、書込みバスへ供給される。このようにして主
記憶装置の読出しサイクルよりも割算の演算速度が遅い
場合でも主記憶装置の読出し速度を下げることなく割算
することができる。以上述べたようにこの発明データア
レイ演算装′置によれば演算装置をパイプライン構成と
し、その高速性をいかし、しかもマイクロプログラム制
御の融通性もあり、各種の演算機能を同一装置で行なう
ことができる。
In the above, various array operations were made possible by changing the operation function by switching the switch in the operation unit FALU, but as mentioned earlier, there are multiple array operations with different functions between the read bus and the write bus. Connect your computing devices and use what you need. For example, as shown in FIG. 11, an arithmetic unit FALU for performing digital Fourier transform, a division arithmetic unit DALU, a square root arithmetic unit SALU, and the like are connected between write buses 12 and 13 and read buses 14 and 15, respectively. All of these arithmetic units have a pipeline configuration, and in the division arithmetic unit DALU, for example, the first
As shown in FIG. 2, it consists of four stages of pipelines PLl to PL4. Each pipeline has a register LR where a 32-bit dividend is stored, a register LR'' where a 16-bit divisor is input, and a register LR from the number in register LR.
an adder/subtracter ASU that subtracts the number in ', a shift circuit SLU that receives the remainder and shifts the pit one bit to the left, and an output of the shift circuit that is sent to the dividend register LR.
and a SW that is switched and connected to the dividend register LR of the next step, a control circuit LC that detects whether or not a carry has occurred from the adder/subtractor ASU in a circuit C, and controls based on the detection state, and a control circuit LC that performs addition/subtraction using the circuit LC. It consists of a register RR into which the division result obtained by adding one bit for each operation of the unit ASU is input. Data is transferred from the read bus to register L.
When input to R and LR', they are subtracted from each other in a subtracter ASU, 1 is input to register RR, and the subtraction result is shifted to the left by 1 bit, and is stored in register L.
It can be placed in R. The contents of this register LR are rounded by the contents of the divisor register LR', and as a result, the register RR becomes 1.
The result of the subtraction is shifted one bit to the left and input into the register LR, and the same process is repeated. When subtraction is performed four times, the number of times of each subtraction is stored in the counter LC.
The switch SW is connected to the dividend register LR of the next stage, and the value obtained by shifting the subtraction result to the left by one bit is supplied to the dividend register LR of the next stage. Next, when new data is input from the storage device to the arithmetic unit DALU, the contents of the divisor register LR' in the first step PLl are changed to the divisor register L of the second step PL2.
At R/, the contents of the register RR of the division result of the first step are respectively transferred to the result register RR of the second step PL2. Similarly, the divisor register LR7 of each step,
Each content of the result register RR is transferred to its corresponding one in the next stage. In this way, the fourth step PL4
When the calculation is performed, the 32-bit dividend becomes 1 for the first time.
Shifted to the left by 6 bits, division by the 16 bit divisor is completed and provided to the write bus. In this way, even if the calculation speed of division is slower than the read cycle of the main memory, the division can be performed without reducing the read speed of the main memory. As described above, according to the data array arithmetic device of the present invention, the arithmetic device has a pipeline configuration, taking advantage of its high speed and flexibility in microprogram control, allowing various arithmetic functions to be performed by the same device. I can do it.

その場合適当に制御用レジスタを設けてマイクロ命令の
構成ビツト桁数を少なくして、各種の制御を可能として
いる。なおデータアレイでないデータについての演算を
パイプライン構成の演算装置で行なうことは時間が長く
なる。この点から通常の演算装置ALUを読出しバス及
び書込みバス間に接続することもできる。
In this case, appropriate control registers are provided to reduce the number of bits constituting the microinstruction, thereby making various controls possible. Note that it takes a long time to perform an operation on data other than a data array using a pipeline-configured arithmetic unit. From this point on, a conventional arithmetic unit ALU can also be connected between the read bus and the write bus.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はこの発明によるアレイ演算装置の一例を示すプ
ロツク図、第2図はサンデーチユーキ法によりデジタル
フーリエ変換のアルゴリズムを説明するための図、第3
図はその演算を示す表、第4図は回転因子の記憶状態を
示す図、第5図はデジタルフーリエ変換のフローチヤー
ト、第6図はアドレス発生部の例を示すプロツク図、第
7図は演算装置の一例を示すプロツク図、第8図は正弦
値及び余弦値の関係を示す図、第9図は各ステージにお
けるカウンタ、インデクス、回転因子の関係を示す表、
第10図は各種マイクロ命令の例を示す図、第11図は
この発明アレイ演算装置の他の例を示すプロツク図、第
12図はその割算用演算装置の一例を示すプロツク図で
ある。
FIG. 1 is a block diagram showing an example of an array calculation device according to the present invention, FIG. 2 is a diagram for explaining a digital Fourier transform algorithm using the Sunday-Chiyuki method, and FIG.
Figure 4 is a table showing the calculation, Figure 4 is a diagram showing the storage status of twiddle factors, Figure 5 is a flowchart of digital Fourier transform, Figure 6 is a block diagram showing an example of the address generation section, and Figure 7 is a diagram showing the storage state of twiddle factors. A block diagram showing an example of an arithmetic device; FIG. 8 is a diagram showing the relationship between sine values and cosine values; FIG. 9 is a table showing the relationship between counters, indexes, and twiddle factors at each stage;
FIG. 10 is a diagram showing examples of various microinstructions, FIG. 11 is a block diagram showing another example of the array arithmetic device of the present invention, and FIG. 12 is a block diagram showing an example of the division arithmetic device.

Claims (1)

【特許請求の範囲】[Claims] 1 連続的に番地付けされてデータアレイが格納される
読み書き可能な少なくとも一つの記憶装置と、その記憶
装置の読出し、書込み番地を発生するアドレス発生装置
と、上記記憶装置の読出し、書込み周期を最小演算単位
とし、その演算単位の複数倍をもつて一つの演算処理を
完了し、二つのデータアレイ入力端子、演算結果のデー
タアレイが出力される少くとも一つの出力端子、最小演
算単位の遅延量をもつ少くとも一つの遅延素子、少くと
も一つの演算素子、これら入力端子、遅延素子、演算素
子の接続を切替える少くとも一つのスイッチを備え、そ
のスイッチの制御により、処理される演算機能を変更で
きるパイプライン構成の演算装置と、上記記憶装置から
読出された二つのデータアレイを上記演算装置の二つの
入力端子へ供給する読出しバスと、上記演算装置の出力
端子よりの演算結果を上記記憶装置へ書込みデータとし
て与える書込みバスと、上記スイッチを制御して上記演
算装置の演算機能を指定し、上記記憶装置からデータア
レイを読出し、上記演算装置の演算結果を上記記憶装置
に書込む制御を行なうマイクロプログラム制御装置とを
具備するデータアレイ演算処理装置。
1 At least one readable and writable storage device in which a data array is stored in a sequentially addressed manner, an address generator that generates read and write addresses for the storage device, and a read and write cycle of the storage device that minimizes read and write cycles. The unit of operation is multiple times the unit of operation to complete one operation, two data array input terminals, at least one output terminal to which the data array of the operation result is output, and the amount of delay of the minimum operation unit. at least one delay element, at least one arithmetic element, and at least one switch for switching the connection of these input terminals, delay element, and arithmetic element, and the arithmetic function to be processed can be changed by controlling the switch. a readout bus that supplies two data arrays read from the storage device to two input terminals of the calculation device; and a readout bus that supplies the calculation results from the output terminals of the calculation device to the storage device. controls a write bus to be supplied as write data to the memory device and the switch to designate the arithmetic function of the arithmetic device, read the data array from the storage device, and write the arithmetic results of the arithmetic device to the storage device. A data array arithmetic processing device comprising a microprogram control device.
JP49117553A 1974-10-11 1974-10-11 Data array engineering Expired JPS595941B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP49117553A JPS595941B2 (en) 1974-10-11 1974-10-11 Data array engineering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP49117553A JPS595941B2 (en) 1974-10-11 1974-10-11 Data array engineering

Publications (2)

Publication Number Publication Date
JPS5162635A JPS5162635A (en) 1976-05-31
JPS595941B2 true JPS595941B2 (en) 1984-02-08

Family

ID=14714649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP49117553A Expired JPS595941B2 (en) 1974-10-11 1974-10-11 Data array engineering

Country Status (1)

Country Link
JP (1) JPS595941B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0666690U (en) * 1993-03-09 1994-09-20 株式会社アイバック Chemical injection device

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5775372A (en) * 1980-10-29 1982-05-11 Nec Corp High-speed fourier conversion processing circuit
US4393468A (en) * 1981-03-26 1983-07-12 Advanced Micro Devices, Inc. Bit slice microprogrammable processor for signal processing applications
JPS59194266A (en) * 1983-04-18 1984-11-05 Jeol Ltd Fast fourier transforming device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0666690U (en) * 1993-03-09 1994-09-20 株式会社アイバック Chemical injection device

Also Published As

Publication number Publication date
JPS5162635A (en) 1976-05-31

Similar Documents

Publication Publication Date Title
KR920006283B1 (en) Digital signal processing method
US3161763A (en) Electronic digital computer with word field selection
JPH0418345B2 (en)
WO2010087144A1 (en) Parallel comparison/selection operation device, processor and parallel comparison/selection operation method
US4853890A (en) Vector processor
US3290493A (en) Truncated parallel multiplication
JPS595941B2 (en) Data array engineering
EP0395240A2 (en) High speed numerical processor
JPS623461B2 (en)
US3001708A (en) Central control circuit for computers
JPH0650512B2 (en) Data processing device
JPS63133270A (en) floating point arithmetic processing unit
US3419711A (en) Combinational computer system
EP3232321A1 (en) Signal processing apparatus with register file having dual two-dimensional register banks
Huskey Technical Developments: Characteristics of the Institute for Numerical Analysis Computer
JPS6243774A (en) Data processor
SU883898A1 (en) Device for extracting n-th root
JP2605792B2 (en) Arithmetic processing unit
JP2576589B2 (en) Virtual storage access control method
JPS6133721Y2 (en)
SU928348A1 (en) Device for calculating trigonometric functions
JPH0748201B2 (en) Digital signal processing system
SU857979A1 (en) Computing device for rotating vector
Frankel On the minimum logical complexity required for a general purpose computer
JPS622364A (en) Arithmetic unit