JPS6151269A - Data processing device - Google Patents

Data processing device

Info

Publication number
JPS6151269A
JPS6151269A JP17242384A JP17242384A JPS6151269A JP S6151269 A JPS6151269 A JP S6151269A JP 17242384 A JP17242384 A JP 17242384A JP 17242384 A JP17242384 A JP 17242384A JP S6151269 A JPS6151269 A JP S6151269A
Authority
JP
Japan
Prior art keywords
data
bit
vector
shift
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP17242384A
Other languages
Japanese (ja)
Inventor
Katsuaki Owada
大和田 克明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP17242384A priority Critical patent/JPS6151269A/en
Publication of JPS6151269A publication Critical patent/JPS6151269A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

PURPOSE:To set a bit reverse reading processing part to a vector and to process data with high speed which needs to replace data by installing a bit replacing means and a shift means of the vector data. CONSTITUTION:A register (REG)A is a register which stores data d0, d1...dm-1 of an (m) bit composition read from a vector register by a data line 300. An inverting circuit BRV is an inverting data output part which outputs one lower level bit o REGA, namely, data bm-1,...bm-l+1, bm-l by inverting a bit storing posi tion from dm-1 to dm-l. Composite data of a m bit from data b0 to bm-1 becomes input data of a shifter SFT and 0 or 1 of a constant C is forcibly inputted from b0 to bm-l+1. These data are shifted from right to left by the shifter SFT, by indication of a shift mode MOD, (m) bit data up to data k0-Km-1 are stored in REGB, and are sent through a data line 600 to the vector register.

Description

【発明の詳細な説明】[Detailed description of the invention]

〔産業上の利用分野〕 本発明はベクトルデータを処理するデータ処理装置に関
する。 〔従来の技術〕 コンピュータの応用分野が拡大するにつれて。 コンピュータの高速処理・への要請は際限なく広がりつ
つある。スーパーコンピュータは、科学技術分野でのこ
のような要請に応えるものとして、近年特に開発が活発
化している。スーパーコンピュータは一般には膨大なベ
クトルデータをパイプライン処理するベクトル処理装置
な持つことにより高速化を実現しているものが多い。 ところで、科学技術計算の1つに高速フーリエ変換(F
FT)がある。FFTは、偏微分方程式の境界値問題の
解析、音声信号や地震波、脳、1       波・経
済変動データなど0各種の信号の7゛クトル解析等、理
学、工学9社会科学などの分野に適用され、最近の高速
ベクトル処理装置の出現に伴い、それに滴1.たFFT
のアルゴリズムの研究も盛んになってきている。FFT
アルゴリズムは、1’965年にC!ooleyとTu
keyによりFFTに関する論文” An Algor
ithm forthe Machil、e Ca1c
ulation of I:!omplex Four
−ier 5eries ’、 Math、 C!om
put、、 19+ 297−301(1965’)が
発表されて以来種々のアルゴリズムが提案されてきた。 このようなFFTのアルゴリズムの1つの特長は、変換
処理においてデータのビット連続み(ビットリバース)
が必要となるケースが出現することである。例えば、入
力データf (i)を高速フーリエ変換部900により
フーリエ変換した結果をF (i)とすると、第2図(
a)に示す様(ミ8個のデータf(i) (i = 0
〜7)に対し入力データf(i)はそのままでよいが出
力時にはビットリバースが必要となるケースがある。更
には第26 (b)に示す如く、入力データf(1)を
ビットリバースすることにより、出力時にはF(1)は
そのままでよいケース等がある。 以下倉口 〔発明が解決しようとする問題点〕 第3図は従来のFFTに使用されるプログラムの一例を
示すもので、プログラム上ステップAに相当する部分が
いわゆる入力データのビット連続みな行なっている部分
である。このようなビット連続みによるメモリデータの
並べ換えを行なう場合、一般に対象とするデータの要素
数及びデータ幅からメモリデータに対するメモリアドレ
ス生成時にビット連続み処理及びシフト処理が必要とな
る。従来、これらの処理部分はベクトル化が困難とされ
、従って、スカラ演算で行なっていた。このため、入力
データ量が多い場合はこれらの処理に要する時間が大き
く。 FFTの実行性能を著しく低下させるという欠点があっ
た。 本発明の目的は、ベクトルデータのビット入換え手段と
シフト手段を備えることにより上記欠点を除去してビッ
ト連続み処理部分のベクトル化を可能とし、データ入換
え処理を必要とするデータ処理の高速化を達成したデー
タ処理装置を提供することにある。 〔問題点を解決するための手段〕 本発明によれば、複数の要素から成るベクトルデータを
保持する複数個のベクトルレジスタを具備し、該ペルト
ルレジスタから順次取り出したベクトルデータを処理す
るデータ処理装置において、前記ベクトルレジスタの1
つから順次取り出したmビット(m≧2)構成のベクト
ル要素データに対し、該デー、夕のうち1ビット(1≦
m)を抽出し、ビット格納位置を反転して出力する反転
手段と、残り(m−1)ビットに対しては予め定めた定
数を出力する定数出力手段と、該定数出力手段の出力定
数データと前記反転手段により生成されたデータとの合
成データに対するシフト動作を規定するシフトモードを
保持し、かつシフト数を保持する保持手段と、該保持手
段により前記合成データをシフトするシフト動作手段と
を有することを特徴とするデータ処理装置が得られる。 以下余白 〔実施例〕 次に本発明の実施例について図面を参照して説明する。 第1図は1本発明の第1の実施例によるデータ処理装置
を示した図である。第1因において。 10及び20はそれぞれ複数の要素から成るベクトルデ
ータを保持するベクトルレジスタ、30は該ベクトルレ
ジスタ10及び20の一方からの続出データを選択する
選択回路、40は該ベクトルレジスタ10及び20の一
方への書込みデータを選択する選択回路、50は命令を
解読し、ベクトルレジスタへの読出し/書込み制御。 選択回路50.40への選択指示及び機能回路60への
動作開始指示等を行なう制御回路、60は前記選択回路
30により選択されたデータに対し、後述するビット入
換えを行なう本発明の特徴とする機能回路である。通常
9選択回路30の下にはいくつかの機能回路が並列に接
続されている。 第1図を用いて通常のベクトル処理の流れを簡単に説明
する。 まず、演算に先立ちメモリ(因示せず)上からベクトル
データを読出し、楼素分だけベクトルレジスタへロード
する。この場合、メモリから読出されたデータはデータ
線700を介して本データ処理装置へ送られてくる。制
御回路50は命令語を解読し2選択線SL1により選択
回路40においてデータ線700を選択し2選択された
データ401又は402は2.指定されたベクトルレジ
スタ10又は20に対し、書込指示線WE1又はWB2
及び書込みアドレスWA1 又はWA2により指定され
たベクトルレジスタへ書込まれる。 次にロードされた前記ベクトルデータは、読出しアドレ
スR’A I又はRA2によりデータ線100又は20
0上に読み出され2選択回路30において選択線SL2
によりどち゛らか選ばれ、データ線600を介して機能
回路60に対して順次送出される。機能回路60は、動
作指示線MODに応動して、送られてきたデータに対し
演算を実行し、その結果を順次データ線600を介して
ベクトルレジスタへ送出する。ベクトルレジスタはベク
トル制御部50からの指示により書込みアドレスWA1
又はWi2により指定されたエリアへ演算結果を順次書
込んでいく。 また演算結果をメモリ上へ格納する場合は、読出しアド
レスRA1又はRA2によりベクトルレジスタからデー
タを読み出し、データ線701を介してメモリ部へ送出
される。 第4図は第1因の機能回路60を示すものである。機能
回路60は1mビット構成の入力ベクトルデータを格納
するレジスタREG Aと、レジスタREGAから1ビ
ットを抽出し格納位置を反転させてデータを出力する反
転回路BRVと。 該反転されて出力されたデータと(m−1)ピント分に
対する定数とを入力とするシフタ回路SFTと、該シフ
タSFTに対するシフトモードを保持するフリップフロ
ップMRと、該シフタSFTに対するシフト数を保持す
るレジスタBCRと、シフタSFTの出力データを格納
するレジスタREGBとから構成される。 第5図は、第4因の反転回路BRVとシフタ回路SFT
とを含む部分の具体的な回路例を示す図である。REG
’Aはデータ線300によりベクトルレジスタから読み
出されたmビット構成のデータdO+ dl + d2
 +・・・・・dm 1+ dm 1+1 +・・・・
・・。 am−1を格納するレジスタである。BRVはREG 
Aの下位1ビット即ち、データ(im−’1からa、+
二対しビット格納位置を反転して5.データbml+b
m−1+1.・・・・・bm−1を出力する反転データ
出力部である。データbOから1)m−1までのmビッ
トの合成データはシフタ回路SFTの入力データとなり
、この時、 boから1)m−1−1までは予め定めら
れた定数C(C=O又は1)が強制的に入力される。こ
のようなビット合成部の詳細を表1に示す。 表1 即ち、ビット boから1)m−1−1までは定数Cを
入力し+bm−1からbl−1に対してはRE()Aの
データdm−1+ dm−2+ ”””+ dm−1−
H+ dm−1を入力する。 以上のデータは次にシック回路SFTにより。 右/左にシフトされる。シック回路SFTに対しては、
シフトモード線M及びシフト数指示線SFCを介して各
フリップフロップMR及びSCRが接続されており、こ
れらの指示線によりシフトされたデータkOからk。−
1までのmビットのデータはレジスタREGBに格納さ
れデータ線600を介してベクトルレジスタへ送出され
る。 表2は一例として、m=8.1=4の場合の第5図の回
路動作を表わした図であり、有効シフト数はO〜4ビッ
トまでとし1M−0の時は左シフ)、M=1の時は右シ
フトを行なうものとする。また左シフトの場合、空いた
位置には′)        ”0・が挿入されるもの
とする。第5図をま表2において、C=’0とした時の
kO〜に7発生回路を示した図であり+ tO〜t7は
シフト数870表2 をデコーダDによりデコードした信号で2例えば5yc
=oならto=1,5FC=4ならt4=1となる。ま
た、 G1は論理積ゲート、G2は論理和ゲートを表わ
す。 次に、第1因のデータ処理装置を用いて。 FFTなどにしばしば使用されるベクトルデータの入換
え動作の一具体例を第6図を参照して説明する。 第6図(a)に示したメモリ70に、基準アドレスMA
から順次2ωバイト幅(ω≧0)のデータf(0)、 
 f(1)、・・・、f(i)が格納されていて、 F
FTのプロセスにおいて第2図の(b)に示す様な入力
データの入換えを1ビットの反転回路BRVで行なう場
合を説明する。この場合、要素数1の有効ビット数をp
とすると、シフトモードM及びシフト数SFCは以下の
様に規定される。 −例として1i=71 ω−:2+ 1−4+  p−
3の場合を第6図に示す。まず、第6e(b)の如く、
ベクトルレジスタ10に対しポインタ1(有効ビット数
:6)を順次ロードする。次にベクトルレジスタ10の
ベクトルデータ即ち前記ポインタ1を選択回路30を介
してシフタ付反転回路を有する機能回路60へ送出する
。 f(1)のデータ幅は4バイトであるため、1−p−1
、ω−2となりこのときのシフトモードMRには0”、
F2O,Hには001”をセットする。 シック付ビット反転回路(第4図のBRVとSFTとを
含む部分)はREGAに格納された32ビットのデータ
(ポインタ1を含む)の下位4ビットをビット反転させ
、かつ、上位28ビットに対しては定数“0”を出力し
、これらの合成データをシフト回路SFTにより、左へ
1ピントシフトさせてレジスタREGB (第4因)へ
格納する。即ち、ベクトルレジスタ10の内容は以下の
様に変換される。
[Industrial Application Field] The present invention relates to a data processing device that processes vector data. [Prior Art] As the application fields of computers expand. The demand for high-speed computer processing is expanding without limit. Supercomputers have been particularly actively developed in recent years to meet such demands in the science and technology fields. In general, many supercomputers achieve high speed by having a vector processing device that processes huge amounts of vector data in a pipeline. By the way, fast Fourier transform (F
FT). FFT is applied to fields such as science, engineering, social science, analysis of boundary value problems of partial differential equations, 7 vector analysis of various signals such as audio signals, seismic waves, brain, wave, and economic fluctuation data. , With the recent advent of high-speed vector processing devices, there are a number of new features: 1. FFT
Research on algorithms is also gaining momentum. FFT
The algorithm was developed by C! in 1'965. ooley and Tu
Paper on FFT by key” An Algor
Ithm for the Machil, e Ca1c
ulation of I:! complex four
-ier 5eries', Math, C! om
Various algorithms have been proposed since the publication of ``Put,'' 19+ 297-301 (1965'). One of the features of this type of FFT algorithm is that the data is bit-continuous (bit reversed) during the conversion process.
There will be cases where this is necessary. For example, if input data f (i) is Fourier transformed by the fast Fourier transform unit 900 and F (i) is the result, then FIG.
As shown in a) (8 data f(i) (i = 0
7), the input data f(i) may be left as is, but there are cases where bit reversal is required at the time of output. Furthermore, as shown in Section 26 (b), there are cases where input data f(1) is bit-reversed so that F(1) can be left as is at the time of output. Kuraguchi [Problems to be Solved by the Invention] Figure 3 shows an example of a program used in a conventional FFT, in which the part corresponding to step A in the program processes so-called consecutive bits of input data. This is the part where you are. When rearranging memory data based on bit continuity, bit continuity processing and shift processing are generally required when generating a memory address for the memory data based on the number of elements and data width of the target data. Conventionally, these processing parts have been considered difficult to vectorize, and therefore have been performed using scalar operations. Therefore, when the amount of input data is large, the time required for these processes is large. This has the disadvantage that the execution performance of FFT is significantly reduced. An object of the present invention is to eliminate the above-mentioned drawbacks by providing a bit swapping means and a shifting means for vector data, and to enable vectorization of bit contiguous processing parts, thereby enabling high-speed data processing that requires data swapping processing. The objective is to provide a data processing device that achieves [Means for Solving the Problems] According to the present invention, data processing is provided that includes a plurality of vector registers that hold vector data consisting of a plurality of elements, and processes vector data sequentially taken out from the Peltle registers. In the apparatus, one of the vector registers
For vector element data of m bits (m≧2) sequentially extracted from data, one bit (1≦
m), an inverting means for inverting the bit storage position and outputting it; a constant outputting means for outputting a predetermined constant for the remaining (m-1) bits; and output constant data of the constant outputting means. holding means for holding a shift mode that defines a shift operation for the composite data of and the data generated by the inverting means and for holding a shift number; and a shift operation means for shifting the composite data by the holding means. A data processing device is obtained which is characterized by having the following features. DESCRIPTION OF THE PREFERRED EMBODIMENTS [Embodiments] Next, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing a data processing apparatus according to a first embodiment of the present invention. In the first cause. 10 and 20 are vector registers each holding vector data consisting of a plurality of elements; 30 is a selection circuit for selecting subsequent data from one of the vector registers 10 and 20; and 40 is a selection circuit for selecting successive data from one of the vector registers 10 and 20. A selection circuit 50 selects write data, and 50 decodes the command and controls read/write to the vector register. A control circuit that instructs the selection circuit 50, 40 to select, and instructs the functional circuit 60 to start operation, etc., and 60 is a feature of the present invention that performs bit swapping, which will be described later, on data selected by the selection circuit 30. It is a functional circuit that Normally, several functional circuits are connected in parallel under the 9 selection circuit 30. The flow of normal vector processing will be briefly explained using FIG. First, prior to calculation, vector data is read from a memory (not shown) and loaded into a vector register by the number of row elements. In this case, the data read from the memory is sent to the present data processing device via the data line 700. The control circuit 50 decodes the command word, selects the data line 700 in the selection circuit 40 using the 2 selection line SL1, and the selected data 401 or 402 is 2. Write instruction line WE1 or WB2 for specified vector register 10 or 20
and is written to the vector register specified by write address WA1 or WA2. Next, the loaded vector data is transferred to the data line 100 or 20 by the read address R'A I or RA2.
0 on the selection line SL2 in the 2 selection circuit 30.
one of them is selected and sent out sequentially to the functional circuit 60 via the data line 600. Functional circuit 60 executes arithmetic operations on the sent data in response to operation instruction line MOD, and sequentially sends the results to the vector register via data line 600. The vector register is set to the write address WA1 according to instructions from the vector control unit 50.
Alternatively, the calculation results are sequentially written into the area specified by Wi2. Further, when storing the calculation result in the memory, data is read from the vector register using the read address RA1 or RA2, and sent to the memory section via the data line 701. FIG. 4 shows the functional circuit 60 of the first cause. The functional circuit 60 includes a register REGA that stores input vector data having a 1 m bit configuration, and an inversion circuit BRV that extracts 1 bit from the register REGA, inverts the storage position, and outputs the data. A shifter circuit SFT that receives the inverted and output data and a constant for (m-1) focus portions, a flip-flop MR that holds a shift mode for the shifter SFT, and a shift number for the shifter SFT. It is composed of a register BCR that stores the output data of the shifter SFT, and a register REGB that stores the output data of the shifter SFT. Figure 5 shows the fourth factor, the inverting circuit BRV and the shifter circuit SFT.
FIG. 3 is a diagram illustrating a specific circuit example of a portion including. REG
'A is m-bit data dO+dl+d2 read from the vector register via the data line 300
+・・・・dm 1+ dm 1+1 +・・・・
.... This is a register that stores am-1. BRV is REG
The lower 1 bit of A, that is, the data (im-'1 to a, +
5. Invert the bit storage positions for the two pairs. data bml+b
m-1+1. ...This is an inverted data output section that outputs bm-1. The m-bit composite data from data bO to 1)m-1 becomes the input data of the shifter circuit SFT, and at this time, from bo to 1)m-1-1 is a predetermined constant C (C=O or 1). ) is forcibly entered. Details of such a bit combining section are shown in Table 1. Table 1 That is, input the constant C from bit bo to 1) m-1-1, and input the data of RE()A from +bm-1 to bl-1 dm-1+ dm-2+ """+ dm- 1-
Input H+ dm-1. The above data is then processed by thick circuit SFT. Shifted to the right/left. For thick circuit SFT,
Each flip-flop MR and SCR are connected via a shift mode line M and a shift number instruction line SFC, and data kO to k shifted by these instruction lines are connected. −
Data of m bits up to 1 is stored in register REGB and sent to the vector register via data line 600. As an example, Table 2 is a diagram showing the circuit operation of FIG. 5 when m=8.1=4, and the effective shift number is from O to 4 bits (left shift when 1M-0), M When =1, a right shift is performed. In addition, in the case of left shift, it is assumed that ``0'' is inserted in the vacant position. In Figure 5 and Table 2, the 7 generation circuit is shown for kO ~ when C = '0. In the figure, tO to t7 is a signal obtained by decoding the number of shifts 870 in Table 2 by decoder D. For example, 5yc
If =o, then to=1, and if 5FC=4, then t4=1. Further, G1 represents an AND gate, and G2 represents an OR gate. Next, using the data processing device of the first cause. A specific example of a vector data interchange operation often used in FFT and the like will be explained with reference to FIG. The reference address MA is stored in the memory 70 shown in FIG. 6(a).
2ω byte width (ω≧0) data f(0) sequentially from
f(1),..., f(i) are stored, and F
A case will be described in which input data is exchanged as shown in FIG. 2(b) in the FT process using a 1-bit inversion circuit BRV. In this case, the number of effective bits of element number 1 is p
Then, shift mode M and shift number SFC are defined as follows. - For example 1i=71 ω-: 2+ 1-4+ p-
Case 3 is shown in FIG. First, as in Section 6e(b),
Pointer 1 (effective number of bits: 6) is sequentially loaded into the vector register 10. Next, the vector data of the vector register 10, ie, the pointer 1, is sent via the selection circuit 30 to the functional circuit 60 having an inversion circuit with a shifter. Since the data width of f(1) is 4 bytes, 1-p-1
, ω-2, and the shift mode MR at this time is 0”,
Set "001" in F2O,H. The bit inversion circuit with thick (the part including BRV and SFT in Figure 4) converts the lower 4 bits of the 32-bit data (including pointer 1) stored in REGA. The bits are inverted and a constant "0" is output for the upper 28 bits, and the combined data is shifted by one pin point to the left by the shift circuit SFT and stored in the register REGB (fourth factor). , the contents of the vector register 10 are converted as follows.

〔0〕チ24.00000000 (0)→[0] Chi24.00000000 (0) →

〔0〕■2
4.00000000 (0)
[0]■2
4.00000000 (0)

〔0〕チ24.0000
0001 (1)→[0:] 、X−24,00010
000(16)
[0] Chi 24.0000
0001 (1) → [0:], X-24,00010
000 (16)

〔0〕繋24.00000010  (
2)→
[0] Tsunai 24.00000010 (
2)→

〔0〕チ24.00001000 (8)[0] Chi24.00001000 (8)

〔0〕
チ24.00000011 (3)→
[0]
Chi24.00000011 (3)→

〔0〕薫24.0
0011000 (24)
[0] Kaoru 24.0
0011000 (24)

〔0〕餐24.0000 [
1100(4)→
[0] Meal 24.0000 [
1100 (4) →

〔0〕チ24.00000100 <
 4 )
[0] Chi24.00000100 <
4)

〔0〕餐24.00000101 (5)→〔
0〕子24.00010100 (20)
[0] Dinner 24.00000101 (5) → [
0] Child 24.00010100 (20)

〔0〕蒼24
.000001.10 (6)→
[0] Ao24
.. 000001.10 (6)→

〔0〕苦24,000
11000 (12)
[0] Koku 24,000
11000 (12)

〔0〕藁24.00000111
  (7)→
[0] Straw 24.00000111
(7) →

〔0〕藁24.[I[]01111]Cl
 (28)(注)[0’:l*n・・・nビン1分のデ
ータがすべて”0°′であることを表わす。 これらのデータは第6図(C)の如く、順次選択回路4
0を介してベクトルレジスタ10に格納される。次にベ
クトルレジスタ20に対し、メモリ70上の基準アドレ
スMAを8要素順次格納する。然る後、ベクトルレジス
タ10の内容及びベクトルレジスタ20の内容を各要素
対応に読出して加算回路(特に図示していない)で演算
し、結果をベクトルレジスタ20へ第6図(d)の如<
、格納する。この時点でベクトルレジスタ20内の各要
素データは、メモリ上のベクトルデータf(1)のメモ
リアドレスを示していることになる。従って5次にベク
トルレジスタ20の内容を順次取出し、該取出したデー
タをメモリ;1       アトv、l:し1メ9す
上7゛ら順次データを読出してベクトルレジスタ10へ
、第6図(e)の如く格納する。メモリアドレスjに格
納されているデータをM (j)とすると、第6因から
れかるように。 M(MA + [1)  → f(0ン、   M(M
A +1(S)  → f(4ンM(MA+ 8)→f
(2)、  M(MA+24)→f(6)M(MA+4
)→f(1)、  M’(MA+20)→f(5ンM(
MA+12)→f(3)、  M(MA+28)→f(
7)となり、ベクトルレジスタ10には順次、f(0)
。 f(4)、  f(2)、  f(6)、  f(1)
、  f(5)、  f(3)、  f(7)。 即ち、入換えられたデータが格納されたことになる。 なお、第2図(a月二示した様なFFTの変換データの
出力時にビットリバースさせる場合も前記同様なシック
付反転回路を使用してアドレス計算を行ない2例えばベ
クトルレジスタ1oに格納されているFFTの結果F 
(0) 、  F (1) 、・・・川F (6) 、
 ? (7)をベクトルレジスタ20の内容即ちメモリ
アドレス上へ順次格納すればよい。即ち以下に示す様に
メモリへ格納される。 M(MA+ 0)←F([1)、  M(MA+ 4)
←F(4)M(MA+ 8)←F(2)、  M (M
A+ 12)←F(6)M(MA+16)4−F(1)
、  M(MA+20)4−F(5)MCMA+24)
←F(3)、  M (MA + 28 )←F(7)
更に、」二記に説明した実施例と同じ効果を持つ本発明
の第2の実施例によるデータ処理装置の機能回路60を
第7図に示す。第7図の回路は、前記反転回路BRVと
シフト回路SFTの接続が第4図の回路と逆の関係にな
っている。 即ち、レジスタRKGAに格納されたmビットのデータ
do、d1.・・・・dm−1に対しシフトモードM及
びシフト数SFCより指定されたシフト動作をシフト回
路13FTで行なう。次にシフトされたデータkOrk
j・・・・・・km−1,・・・・・・+ km Iの
下位1ビットを反転回路BRVに入力する。該反転回路
BRVの出力bm−1+・・・・・、bm−1にはビッ
ト格納位瞳が反転されたデータr km Sr km−
2+  ・・・・・km−141+ km 1が出力さ
れ、この時、上位(m−1)ピント即ちbO+b++・
・・・・・+bm(−+に対しては定数C(O又は1)
が常時出力され8合成されたデータがレジスタREG 
Bに格納される。 〔発明の効果〕 本発明は以上説明した様に、シック付反転回路によりピ
ット連続み処理もベクトル化可能となりメモリ上のデー
タの入換え処理を高速化できるという効果があり、特に
科学技術計算における高速データ処理の有効な手段とな
り得るものである。
[0] Straw 24. [I[]01111]Cl
(28) (Note) [0': l*n...indicates that the data for one bin of n are all "0°'. These data are sequentially passed through the selection circuit as shown in Figure 6 (C). 4
0 is stored in the vector register 10. Next, eight elements of the reference address MA on the memory 70 are sequentially stored in the vector register 20. After that, the contents of the vector register 10 and the contents of the vector register 20 are read out for each element, and an adder circuit (not particularly shown) performs an operation, and the result is transferred to the vector register 20 as shown in FIG. 6(d).
,Store. At this point, each element data in the vector register 20 indicates the memory address of the vector data f(1) on the memory. Therefore, the contents of the vector register 20 are sequentially taken out in the fifth step, and the retrieved data are read out sequentially from the memory; ). Letting the data stored at memory address j be M (j), as can be seen from the sixth factor. M(MA + [1) → f(0n, M(M
A +1(S) → f(4nM(MA+8) →f
(2), M(MA+24)→f(6)M(MA+4
)→f(1), M'(MA+20)→f(5nM(
MA+12) → f(3), M(MA+28) → f(
7), and the vector register 10 sequentially stores f(0)
. f(4), f(2), f(6), f(1)
, f(5), f(3), f(7). In other words, the replaced data is stored. In addition, when bit-reversing the output of FFT converted data as shown in Figure 2 (A-2), an address calculation is performed using the same inverting circuit with thick as described above, and the address is stored in the vector register 1o. FFT result F
(0), F (1), ... River F (6),
? (7) may be sequentially stored in the contents of the vector register 20, that is, on the memory addresses. That is, it is stored in memory as shown below. M(MA+ 0)←F([1), M(MA+ 4)
←F(4)M(MA+8)←F(2), M(M
A+ 12)←F(6)M(MA+16)4-F(1)
, M(MA+20)4-F(5)MCMA+24)
←F(3), M (MA + 28)←F(7)
Furthermore, FIG. 7 shows a functional circuit 60 of a data processing apparatus according to a second embodiment of the present invention, which has the same effects as the embodiment described in Section 2. In the circuit shown in FIG. 7, the connection between the inverting circuit BRV and the shift circuit SFT is reversed to that in the circuit shown in FIG. 4. That is, m-bit data do, d1 . ...The shift circuit 13FT performs a shift operation specified by shift mode M and shift number SFC for dm-1. Next shifted data kOrk
j...km-1,...+km The lower 1 bit of I is input to the inversion circuit BRV. The output bm-1+, bm-1 of the inverting circuit BRV contains data r km Sr km- whose bit storage pupil is inverted.
2+...km-141+km 1 is output, and at this time, the upper (m-1) focus, that is, bO+b++・
...+bm (constant C (O or 1) for -+
is constantly output and the 8 combined data is stored in register REG.
It is stored in B. [Effects of the Invention] As explained above, the present invention has the effect that the inverting circuit with thick enables the processing of continuous pits to be vectorized and speeds up the processing of exchanging data on the memory. This can be an effective means of high-speed data processing.

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

第1因は本発明の第1の実施例によるデータ処理装置を
示したブロック因1.第2(2)は高速フーリエ変換時
のデータ入換えを示したブロック図、第3図は従来の高
速フーリエ変換用プログラムの一例を示した図、第4因
は第1因の機能回路60の一例を示したブロック図、第
5肉は第4図の反転回路BRVとシフタ回路SFTとを
含む部分の回路図、第6図は上記実施例によるデータ処
理装置によるデータ入換え処理の動作を説明するための
図、第7(8)は本発明の第2の実施例によるデータ処
理装置の機能回路60を示したブロック図である。 10.20・・・ベクトルレジスタ、30.40・・・
選折回路、50・・・制御回路、60・・・機能回路。 REGA、 RKGB、 SC!R・・・レジスタ、M
R・・・フリップフロップ、 G1・・・論理積グー)
、G2・・・論理和ゲート、D・・・デコーダ。 代理人(7127)弁理士後藤洋介 :) 60機能回路 ND 第6図 (α) MA   墨坪アドレス f(0)〜f(7)  :  公グトルデータ(e) 公りトルレヅスタ(1ω
The first factor is block factor 1 which shows the data processing device according to the first embodiment of the present invention. 2(2) is a block diagram showing data exchange during fast Fourier transform, FIG. 3 is a diagram showing an example of a conventional fast Fourier transform program, and the fourth factor is the functional circuit 60 of the first factor. A block diagram showing an example, the fifth part is a circuit diagram of a portion including the inversion circuit BRV and shifter circuit SFT in FIG. Figure 7 (8) is a block diagram showing a functional circuit 60 of a data processing device according to a second embodiment of the present invention. 10.20... Vector register, 30.40...
Sorting circuit, 50... control circuit, 60... functional circuit. REGA, RKGB, SC! R...Register, M
R...flip-flop, G1...logical product)
, G2...OR gate, D...decoder. Agent (7127) Patent attorney Yosuke Goto:) 60 functional circuit ND Fig. 6 (α) MA Sumitsubo address f(0) to f(7): Kogutle data (e) Kori Torrezusta (1ω

Claims (1)

【特許請求の範囲】 1、複数の要素から成るベクトルデータを保持する複数
個のベクトルレジスタを具備し、該ベクトルレジスタか
ら順次取り出したベクトルデータを処理するデータ処理
装置において、前記ベクトルレジスタの1つから順次取
り出したmビット(m≧2)構成のベクトル要素データ
に対し、該データのうち1ビット(1≦m)を抽出し、
ビット格納位置を反転して出力する反転手段と、残り(
m−1)ビットに対しては予め定められた定数を出力す
る定数出力手段と、該定数出力手段の出力定数データと
前記反転手段により生成されたデータとの合成データに
するシフト動作を規定するシフトモードを保持し、かつ
シフト数を保持する保持手段と、該保持手段により前記
合成データをシフトするシフト動作手段とを有すること
を特徴とするデータ処理装置。 2、複数の要素からなるベクトルデータを保持する複数
個のベクトルレジスタを具備し、該ベクトルレジスタか
ら順次取り出したベクトルデータを処理するデータ処理
装置において、前記ベクトルレジスタの1つから順次取
り出したmビット(m≧2)構成のベクトル要素データ
に対するシフト動作を規定するシフトモードを保持し、
かつシフト数を保持する保持手段と、該保持手段により
前記ベクトル要素データをシフトするシフト動作手段と
、該シフト動作手段により生成されたmビットのシフト
データのうち1ビット(1≦m)を抽出し、ビット格納
位置を反転して出力する反転手段と、残り(m−1)ビ
ットに対しては予め定めた定数を出力する定数出力手段
とを有することを特徴とするデータ処理装置。
[Claims] 1. In a data processing device that includes a plurality of vector registers holding vector data consisting of a plurality of elements and processes vector data sequentially taken out from the vector registers, one of the vector registers Extract 1 bit (1≦m) of the m-bit (m≧2) vector element data sequentially extracted from the data,
Inverting means for inverting and outputting the bit storage position, and the remaining bit storage position (
m-1) For bits, a constant output means for outputting a predetermined constant, and a shift operation for converting the output constant data of the constant output means and the data generated by the inversion means into composite data are defined. A data processing device comprising: holding means for holding a shift mode and a shift number; and shift operation means for shifting the composite data using the holding means. 2. In a data processing device that includes a plurality of vector registers holding vector data consisting of a plurality of elements and processes vector data sequentially taken out from the vector registers, m bits sequentially taken out from one of the vector registers. (m≧2) retains a shift mode that defines a shift operation for vector element data of the configuration;
and a holding means for holding a shift number, a shift operation means for shifting the vector element data by the holding means, and one bit (1≦m) of the m-bit shift data generated by the shift operation means. A data processing device comprising: inverting means for inverting and outputting a bit storage position; and constant output means for outputting a predetermined constant for the remaining (m-1) bits.
JP17242384A 1984-08-21 1984-08-21 Data processing device Pending JPS6151269A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17242384A JPS6151269A (en) 1984-08-21 1984-08-21 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17242384A JPS6151269A (en) 1984-08-21 1984-08-21 Data processing device

Publications (1)

Publication Number Publication Date
JPS6151269A true JPS6151269A (en) 1986-03-13

Family

ID=15941690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17242384A Pending JPS6151269A (en) 1984-08-21 1984-08-21 Data processing device

Country Status (1)

Country Link
JP (1) JPS6151269A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008530651A (en) * 2005-02-08 2008-08-07 エヌエックスピー ビー ヴィ A low-power register array for high-speed shift operations.

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5382140A (en) * 1976-12-27 1978-07-20 Rca Corp Word bit rearraying circuit
JPS5965376A (en) * 1982-10-05 1984-04-13 Nippon Telegr & Teleph Corp <Ntt> Address control circuit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5382140A (en) * 1976-12-27 1978-07-20 Rca Corp Word bit rearraying circuit
JPS5965376A (en) * 1982-10-05 1984-04-13 Nippon Telegr & Teleph Corp <Ntt> Address control circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008530651A (en) * 2005-02-08 2008-08-07 エヌエックスピー ビー ヴィ A low-power register array for high-speed shift operations.

Similar Documents

Publication Publication Date Title
Smith The architecture of HEP
KR100346515B1 (en) Temporary pipeline register file for a superpipe lined superscalar processor
KR950001538A (en) Floating Point Processor for High Performance 3D Graphics Accelerators
JPH0418345B2 (en)
JPS62137663A (en) Logical simulation processor
JPS6069746A (en) Control system of vector data processor
US5119324A (en) Apparatus and method for performing arithmetic functions in a computer system
JPH0414385B2 (en)
JPH0412503B2 (en)
KR940000027B1 (en) Production line method and apparatus for high performance instruction execution
JP2518293B2 (en) Data Flow Processor
JPS623461B2 (en)
JPS6151269A (en) Data processing device
JPS6151268A (en) Data processing device
JP2812610B2 (en) Pipeline control method
JPS6049438A (en) Memory device
JPS58146945A (en) Device for controlling branch of program
Baba et al. A two-level microprogrammed multiprocessor computer with nonnumeric functions
JP2895892B2 (en) Data processing device
JPS5833584B2 (en) information processing equipment
JP2576589B2 (en) Virtual storage access control method
JPH0546389A (en) Parallel processor
SU834699A1 (en) Microprogramme-control device
JPH0519736B2 (en)
JPS5991548A (en) Distributor