JPH044631B2 - - Google Patents
Info
- Publication number
- JPH044631B2 JPH044631B2 JP58080380A JP8038083A JPH044631B2 JP H044631 B2 JPH044631 B2 JP H044631B2 JP 58080380 A JP58080380 A JP 58080380A JP 8038083 A JP8038083 A JP 8038083A JP H044631 B2 JPH044631 B2 JP H044631B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- value
- signal
- input
- 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 - Lifetime
Links
Landscapes
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】
本発明は、パラメータテーブルメモリ、アドレ
ス制御部と出力ラツチとから構成され、2入力デ
ータ値の待ち合わせ制御、データメモリの読み出
し、書きこみ、数値列の発生、データ値の修飾、
遷移をデータメモリのアドレス制御により行なう
ことを特徴とするアドレス発生回路に関するもの
である。DETAILED DESCRIPTION OF THE INVENTION The present invention is composed of a parameter table memory, an address control unit, and an output latch, and is capable of controlling the waiting of two input data values, reading and writing data memory, generating numerical sequences, and changing data values. qualification,
The present invention relates to an address generation circuit characterized in that transition is performed by address control of a data memory.
従来、データフロー処理装置において、メモリ
は機能別に分散されていたために、規則性が少な
く、多大のハードウエア量が必要であつた。 Conventionally, in data flow processing devices, memory has been distributed according to function, so there has been little regularity and a large amount of hardware has been required.
画像演算などの場合、メモリを演算回路の代り
に用いてデータ値の修飾、遷移などを行わせるこ
とにより、処理が高速に実行できることが多く、
データフロー方式の制御に必要なデータ値待ち合
わせ機能を、数値列の発生、データ値のバツフア
メモリなどの機能も必須のものであつた。 In cases such as image calculations, processing can often be performed at high speed by using memory in place of arithmetic circuits to modify and transition data values.
Functions such as the data value waiting function necessary for data flow control, the generation of numerical strings, and data value buffer memory were also essential.
本発明の目的は、1つのデータメモリのアドレ
スを制御することで、複数の機能に分割して使用
し、ハードウエア量が少なく、かつハードウエア
の規則性が高く製造容易なアドレス発生回路を提
供することにある。 An object of the present invention is to provide an address generation circuit that can be divided into multiple functions by controlling the address of one data memory, requires a small amount of hardware, has high hardware regularity, and is easy to manufacture. It's about doing.
本発明のアドレス発生回路は、2つの入力デー
タ値の待ち合わせを行なうキユー制御、数値列の
発生、データ値修飾、データ値遷移、データ値バ
ツフアとして用いる場合の読み出し及び書きこみ
などを行うためのアドレス値、読み出し書きこみ
制御信号を発生することを特徴とする。 The address generation circuit of the present invention provides an address for performing queue control for waiting two input data values, generation of a numerical string, data value modification, data value transition, reading and writing when used as a data value buffer, etc. It is characterized by generating a value, read/write control signal.
本発明のアドレス発生回路は、命令の種類、ア
ドレスのベース、アドレスのサイズ、内部状態、
アドレスカウントを貯えておくパラメータテーブ
ルメモリと、前記パラメータテーブルメモリから
読み出された値及び入力データ値を用いてアドレ
スを発生するアドレス制御部と、前記アドレス制
御部から出力されたアドレス値、入力データ値及
び制御信号をパイプラインクロツクに同期してラ
ツチし、次段のデータメモリに送り出す出力ラツ
チとから構成される。 The address generation circuit of the present invention has the following characteristics: instruction type, address base, address size, internal state,
a parameter table memory that stores an address count; an address control unit that generates an address using a value read from the parameter table memory and an input data value; and an address value output from the address control unit and input data. It consists of an output latch that latches values and control signals in synchronization with the pipeline clock and sends them to the next stage data memory.
本発明は、特願昭56−169152(特開昭58−70360
号公報)のデータフロー処理装置の一部である。
このデータフロー処置装置は、データの行き先ア
ドレスを貯えておくトランスフアーテーブルメモ
リと、命令を貯えておくパラメータテーブルメモ
リと、2項演算の片側の入力データを一時貯えて
おくデータメモリと、前記データメモリからのデ
ータの待ち合わせを行うキユーメモリと、2項演
算または単項演算を行うプロセツサユニツトと、
これらを接続するリング状のパイプラインバスと
外部バスとの間のデータ入出力をコントロールす
るバスインターフエースとを備えている。 The present invention is disclosed in Japanese Patent Application No. 56-169152 (Japanese Unexamined Patent Publication No. 58-70360).
This is a part of the data flow processing device of the Japanese Patent Publication No.
This data flow processing device includes a transfer table memory for storing destination addresses of data, a parameter table memory for storing instructions, a data memory for temporarily storing input data for one side of a binary operation, and a transfer table memory for storing data destination addresses. A queue memory that waits for data from memory, a processor unit that performs binary operations or unary operations,
It is equipped with a ring-shaped pipeline bus that connects these and a bus interface that controls data input and output between the external bus and the external bus.
本発明は前記パラメータテーブルメモリと同一
の場所に位置づけられ、データメモリのアドレス
を発生する。 The present invention is co-located with the parameter table memory and generates the address of the data memory.
以上本発明の構成について述べたが、その詳細
については以下の図面に示す実施例をもつて説明
する。 The configuration of the present invention has been described above, and its details will be explained with reference to embodiments shown in the drawings below.
第1図は本発明のアドレス発生回路のシステム
ブロツク図である。図において、1は入力ラツ
チ、2はパラメータテーブルメモリ、3はアドレ
ス制御部、4は出力ラツチ、5はデータメモリ、
11はパイプラインクロツク、12はデータ識別
番号、13は入力データ値、14は入力データ種
別番号、15,16はアドレスカウンタ値書きこ
み信号、17〜18は内部状態書きこみ信号、1
9〜21はアドレスのベース及びサイズ、22〜
23は内部状態読み出し値、24〜25はアドレ
スカウンタ値読み出し信号、26は命令コード、
27はアドレス値、28は読み出し書きこみ制御
信号、29は有効フラグ、30はオーバーフロー
フラグ、31はデータメモリ5のアドレス値、3
2はデータメモリ5の読み出し書きこみ制御信
号、33はデータメモリの書きこみデータ値、3
4は有効フラグ、35はオーバーフローフラグ、
36はデータメモリ5の読み出しデータ値、37
は有効フラグ、38はオーバーフローフラグ、3
9は有効フラグ、40は命令選択信号である。 FIG. 1 is a system block diagram of an address generation circuit according to the present invention. In the figure, 1 is an input latch, 2 is a parameter table memory, 3 is an address control section, 4 is an output latch, 5 is a data memory,
11 is a pipeline clock, 12 is a data identification number, 13 is an input data value, 14 is an input data type number, 15 and 16 are address counter value write signals, 17 and 18 are internal state write signals, 1
9-21 are address base and size, 22-21
23 is an internal state read value, 24 to 25 are address counter value read signals, 26 is an instruction code,
27 is an address value, 28 is a read/write control signal, 29 is a valid flag, 30 is an overflow flag, 31 is an address value of the data memory 5, 3
2 is a read/write control signal of the data memory 5, 33 is a write data value of the data memory, 3
4 is a valid flag, 35 is an overflow flag,
36 is the read data value of the data memory 5, 37
is a valid flag, 38 is an overflow flag, 3
9 is a valid flag, and 40 is an instruction selection signal.
入力ラツチ1はパイプラインの前段から送られ
てきたデータ識別番号12と入力データ値13と
をパイプラインクロツク11に同期してラツチし
パラメータテーブルメモリ2とアドレス制御部3
と出力ラツチ4へ送り出す。パラメータテーブル
メモリ2には命令コード、アドレスのベース、ア
ドレスのサイズ、内部状態、アドレスのカウンタ
値が貯えられており、入力ラツチ1からのデータ
識別番号12をアドレスとしてアクセスされ、パ
イプラインクロツク11に同期して内部状態17
〜18及びアドレスカウンタ値15〜16の書き
こみを行ない、アドレスのベース、サイズ19〜
21、内部状態読み出し値22〜23、アドレス
カウンタ値よみ出し信号24〜25、命令コード
26の読み出しを行なう。アドレス制御部3はパ
ラメータテーブルメモリ2から読み出されたアド
レスのベース及びサイズ19〜21、アドレスの
カウンタ値よみ出し信号24〜25、命令コード
26、内部状態22〜23、入力ラツチ1から出
力されたデータ識別番号12、入力データ値1
3、入力データ種別番号14を入力し、アドレス
値27、読み出し書きこみ制御信号28、有効フ
ラグ29を出力ラツチ4へ出力し、アドレスカウ
ンタ値15〜16、内部状態17〜18をパラメ
ータテーブルメモリ2へ出力する。出力ラツチ4
はアドレス制御部3から出力されたアドレス値2
7、読み出し書きこみ制御信号28、有効フラグ
29、入力ラツチ1から出力された入力データ値
13を入力し、パイプラインクロツク11に同期
してラツチし、データメモリ5のアドレス値3
1、データメモリ5の読み出し書きこみ制御信号
32、データメモリ5の書きこみデータ値33、
有効フラグ34、オーバーフローフラグ35をデ
ータメモリ5に対し出力する。データメモリ5は
出力ラツチ4から送られてくるデータメモリ5の
アドレス値31をアドレスとしてアクセスされ、
データメモリ5の読み出し書きこみ制御信号32
の値が“1”のときはデータメモリ5の書きこみ
データ値33の書きこみを行ない、“0”のとき
は読み出しを行ない、データメモリ5の読み出し
データ値36、有効フラグ37、オーバーフロー
フラグ38を次段のパイプラインステージに出力
する。有効フラグ37と有効フラグ34とは論理
的には同一のものである。オーバーフローフラグ
35とオーバーフローフラグ35とは論理的に同
一のものである。オーバーフローフラグ38が
“1”のときはオーバーフローエラーとなり、プ
ログラムの続行は不可能となる。 The input latch 1 latches the data identification number 12 and input data value 13 sent from the previous stage of the pipeline in synchronization with the pipeline clock 11, and then latches the data identification number 12 and input data value 13 sent from the previous stage of the pipeline, and latches the data identification number 12 and input data value 13 sent from the previous stage of the pipeline.
and sends it to output latch 4. The parameter table memory 2 stores instruction codes, address bases, address sizes, internal states, and address counter values, and is accessed using the data identification number 12 from the input latch 1 as an address, and is accessed by the pipeline clock 11. internal state 17 in synchronization with
~18 and address counter value 15~16 are written, address base, size 19~
21, internal state read values 22 to 23, address counter value read signals 24 to 25, and instruction code 26 are read. The address control unit 3 outputs the address base and size 19 to 21 read from the parameter table memory 2, the address counter value reading signals 24 to 25, the instruction code 26, the internal states 22 to 23, and the input latch 1. Data identification number 12, input data value 1
3. Input the input data type number 14, output the address value 27, read/write control signal 28, and valid flag 29 to the output latch 4, and send the address counter values 15 to 16 and internal states 17 to 18 to the parameter table memory 2. Output to. Output latch 4
is the address value 2 output from the address control unit 3
7. Input the read/write control signal 28, the valid flag 29, and the input data value 13 output from the input latch 1, latch it in synchronization with the pipeline clock 11, and set the address value 3 of the data memory 5.
1. Read/write control signal 32 for data memory 5, write data value 33 for data memory 5,
A valid flag 34 and an overflow flag 35 are output to the data memory 5. The data memory 5 is accessed using the address value 31 of the data memory 5 sent from the output latch 4,
Data memory 5 read/write control signal 32
When the value is "1", the write data value 33 of the data memory 5 is written, and when it is "0", the read data value 36, the valid flag 37, and the overflow flag 38 are read from the data memory 5. is output to the next pipeline stage. The valid flag 37 and the valid flag 34 are logically the same. The overflow flag 35 and the overflow flag 35 are logically the same. When the overflow flag 38 is "1", an overflow error occurs and it is impossible to continue the program.
第2図は第1図におけるパラメータテーブルメ
モリ2の1ワードに対するフイールドの割り当て
の例を示した図である。 FIG. 2 is a diagram showing an example of field assignment to one word of the parameter table memory 2 in FIG. 1.
図において51は命令コード、52はフイール
ドA、53はフイールドB、54はフイールド
C、55はフイールドD、56はフイールドE、
57はフイールドF、58はフイールドG、59
〜65はベース、66〜72はサイズ、73は起
動数、74は内部状態A/B、75は内部状態
R/W、75〜85はカウンタ、76は内部状態
D/Wである。斜線部のフイールドは用いていな
い。 In the figure, 51 is an instruction code, 52 is a field A, 53 is a field B, 54 is a field C, 55 is a field D, 56 is a field E,
57 is field F, 58 is field G, 59
- 65 are bases, 66 - 72 are sizes, 73 are activation numbers, 74 are internal states A/B, 75 are internal states R/W, 75 - 85 are counters, and 76 are internal states D/W. The shaded fields are not used.
第1図におけるパラメータテーブルメモリ2は
命令コード51、フイールドA52、フイールド
B53、フイールドC54、フイールドD55、
フイールドE56、フイールドF57、フイール
ドG58の8つのフイールドに分れている。命令
コード51には、本発明のアドレス発生回路に対
する命令がコード化されて貯えられている。第2
図では4ビツトの2進表示を用いて示してある。 The parameter table memory 2 in FIG. 1 includes an instruction code 51, field A52, field B53, field C54, field D55,
It is divided into eight fields: field E56, field F57, and field G58. The instruction code 51 stores coded instructions for the address generation circuit of the present invention. Second
In the figure, a 4-bit binary representation is used.
命令コード51が“0“(第2図は“0000”)の
ときは2つの入力データの待ち合せをする。この
命令は2つの入力データのうちどちらか先に到着
したデータをデータメモリ5に貯えておき、後か
らもう一方のデータが到着したときに第1図にお
けるデータメモリ5の読み出しを行い、2つのデ
ータを一緒にして次段のパイプラインステージに
送り出すキユー制御を行なう命令である。第1図
におけるデータメモリ5のアドレスとなるアドレ
ス値27は、ベース59の値を2倍した値とカウ
ンタ77の値とをサイズ66の値をモジユロとし
て加え合わせたものである。また、アドレス値
は、1づつインクリメントされ、カウンタ77に
は現在の読み出しアドレス値が貯えられ、カウン
タ78には現在の書きこみアドレス値が貯えられ
る。内部状態A/B74には2つの入力データ
A、Bのうち、先に到着したデータの種類が貯え
られており、Aデータが先に到着した場合には
“0”が書きこまれ、Bデータが先に到着した場
合には“1”が書きこまれる。内部状態R/W7
5には第1図におけるデータメモリ5にすでにデ
ータが貯えられているときには“0”、なにも貯
えられていないときは“1”が書きこまれる。従
つて内部状態A/B74の内部状態R/W75の
値により、第1図における読み出し書きこみ制御
信号28が生成される。 When the instruction code 51 is "0"("0000" in FIG. 2), two input data are queued. This command stores the data that arrived first among the two input data in the data memory 5, and when the other data arrives later, reads the data memory 5 shown in FIG. This command performs queue control to combine data and send it to the next pipeline stage. The address value 27, which is the address of the data memory 5 in FIG. 1, is the sum of the value obtained by doubling the value of the base 59 and the value of the counter 77, modulo the value of the size 66. Further, the address value is incremented by 1, a counter 77 stores the current read address value, and a counter 78 stores the current write address value. The internal state A/B 74 stores the type of data that arrived first among the two input data A and B. If the A data arrived first, "0" is written, and the B data If it arrives first, "1" is written. Internal status R/W7
5 is written with "0" when data is already stored in the data memory 5 in FIG. 1, and "1" is written when no data is stored. Therefore, the read/write control signal 28 in FIG. 1 is generated by the value of the internal state R/W 75 of the internal state A/B 74.
命令コード51が“1”(第2図で“0001”)の
ときは第1図におけるデータメモリ5の読み出し
を行なう。このときの読み出し実効アドレスは、
ベース60の値を2倍した値とカウンタ79の値
とをサイズ67の値をモジユロとして加え合わせ
たものである。また、読み出し実効アドレスは、
1づつインクリメントされ、カウンタ79には現
在の読み出しアドレス値が貯えられる。 When the instruction code 51 is "1"("0001" in FIG. 2), reading from the data memory 5 in FIG. 1 is performed. The effective read address at this time is
The value obtained by doubling the value of the base 60 and the value of the counter 79 are added together with the value of the size 67 modulo. Also, the read effective address is
The counter 79 is incremented by 1, and the current read address value is stored in the counter 79.
命令コード51が“2”(第2図で“0010”)の
ときは第1図におけるデータメモリ5の読み出し
を行なう。このときの読み出し実効アドレスはア
ドレスのベース61の値を32倍した値とカウンタ
80の値とをサイズ68の値をモジユロとして加
え合わせたものである。また、読み出し実効アド
レスは、1づつインクリメントされ、カウンタ8
0には現在の読み出しアドレス値が貯えられる。 When the instruction code 51 is "2"("0010" in FIG. 2), reading from the data memory 5 in FIG. 1 is performed. The effective read address at this time is the sum of the value of the base 61 of the address multiplied by 32 and the value of the counter 80, modulo the value of size 68. Also, the read effective address is incremented by 1, and the counter 8
The current read address value is stored in 0.
命令コード51が“3”(第2図で“0011”)の
ときは第1図におけるデータメモリ5の書きこみ
を行なう。このときの書きこみ実効アドレスは、
アドレスのベース62の値を2倍した値とカウン
タ81の値とをサイズ69の値をモジユロとして
加え合わせたものである。また、書きこみ実効ア
ドレスは、1づつインクリメントされ、カウンタ
81には現在の書きこみアドレス値が貯えられ
る。 When the instruction code 51 is "3"("0011" in FIG. 2), writing to the data memory 5 in FIG. 1 is performed. The effective write address at this time is
This is the sum of the value obtained by doubling the value of the base 62 of the address and the value of the counter 81, modulo the value of size 69. Further, the effective write address is incremented by 1, and the current write address value is stored in the counter 81.
命令コード51が“4”(第2図で“0100”)の
ときは第1図におけるデータメモリ5の書きこみ
を行なう。このときの書き込み実効アドレスはア
ドレスのベース63の値とカウンタ82の値とを
サイズ70の値をモジユロとして加え合わせたも
のである。また、書き込み実効アドレスは、1づ
つインクリメントされ、カウンタ82には現在の
書きこみアドレス値が貯えられる。 When the instruction code 51 is "4"("0100" in FIG. 2), writing to the data memory 5 in FIG. 1 is performed. The effective write address at this time is the sum of the value of the base 63 of the address and the value of the counter 82, modulo the value of size 70. Further, the effective write address is incremented by 1, and the current write address value is stored in the counter 82.
命令コード51が“5”(第2図で“0101”)の
ときは第1図におけるデータ識別番号12の値を
第1図におけるアドレス値27として出力し、第
1図における読み出し書きこみ制御信号28を
“0”とし第1図におけるデータメモリ5の読み
出しを行なう。この命令は内部状態D/W65を
持つており、この値が“1”のときに第1図にお
けるデータ種別番号14の値が“1”ならば第1
図における有効フラグUSE29を“1”とする。
有効フラグUSE29が“1”のときはこのデー
タは無効となり、次段のパイプラインサイクルで
捨てられる。 When the instruction code 51 is "5"("0101" in FIG. 2), the value of data identification number 12 in FIG. 1 is output as the address value 27 in FIG. 1, and the read/write control signal in FIG. 28 is set to "0" and the data memory 5 in FIG. 1 is read. This instruction has an internal state D/W65, and if this value is "1" and the value of data type number 14 in FIG. 1 is "1", the first
The valid flag USE29 in the figure is set to "1".
When the valid flag USE29 is "1", this data becomes invalid and is discarded in the next pipeline cycle.
命令コード51が“6”(第2図で“0110”)の
ときは第1図におけるデータ種別番号14が
“0”のデータが入力されるとスタツク84と第
1図における入力データ値13とアドレスのベー
ス64の値を2倍した値との和により、第1図に
おけるアドレス値27が生成され、第1図におけ
るデータメモリ5の読み出しを行なう。スタツク
84にはスタツク84の値と第1図における入力
データ値13との和が格納される。第1図におけ
るデータ種別番号14が“1”のデータが入力さ
れるとスタツク84とアドレスのベース60を2
倍したものとの和により、第1図におけるアドレ
ス値27が生成され、第1図におけるデータメモ
リ5の書きこみを行なう。スタツク84には
“0”が書きこまれる。書きこんだデータは消滅
せず、そのまま流れる。 When the instruction code 51 is "6"("0110" in FIG. 2), when data whose data type number 14 in FIG. 1 is "0" is input, the stack 84 and the input data value 13 in FIG. The address value 27 in FIG. 1 is generated by the sum of the value obtained by doubling the value of the base 64 of the address, and the data memory 5 in FIG. 1 is read. Stack 84 stores the sum of the value of stack 84 and input data value 13 in FIG. When data whose data type number 14 in FIG. 1 is "1" is input, the stack 84 and address base 60 are
The address value 27 in FIG. 1 is generated by the sum of the multiplied value and the data memory 5 in FIG. 1 is written. "0" is written into the stack 84. The written data does not disappear and flows as is.
命令コード51が“7”(第2図で“0111”)の
ときは遷移を行なう。第1図におけるデータ種別
番号14が“0”のデータが入力されると、スタ
ツク85の値と第1図における入力データ値13
とアドレスのベース65の値を2倍した値との和
により、第1図におけるアドレス値27が生成さ
れ、第1図におけるデータメモリ5の読み出しを
行なう。スタツク85には“0”が書きこまれ
る。第1図におけるデータ種別番号14が“1”
のデータが入力されると、スタツク85の値と第
1図における入力データ値13との和をスタツク
85に書きこむ。書きこんだデータは消滅せず、
そのまま流れる。 When the instruction code 51 is "7"("0111" in FIG. 2), a transition is made. When data whose data type number 14 in FIG. 1 is "0" is input, the value of the stack 85 and the input data value 13 in FIG.
The address value 27 in FIG. 1 is generated by the sum of the value and the value obtained by doubling the value of the base 65 of the address, and the data memory 5 in FIG. 1 is read. “0” is written into the stack 85. Data type number 14 in Figure 1 is “1”
When data is input, the sum of the value of the stack 85 and the input data value 13 in FIG. The written data will not be deleted.
It just flows.
第3図は第1図におけるアドレス制御部3の詳
細は一実施例を示すブロツク図である。図におい
て101〜110はマルチプレクサ、111〜1
12は大小比較器、113〜115は加算器、1
16はアンドゲート、117はプログラマブルロ
ジツクアレイ、120は命令コード26の最上位
ビツト、マルチプレクサ101〜106、108
〜110は2入力1出力、マルチプレクサ107
は3入力1出力のマルチプレクサである。マルチ
プレクサ101は命令コード26の最上位ビツト
120が“1”のとき信号20を入力して選択
し、“0”のとき信号25を入力して選択し信号
121に出力する。マルチプレクサ105は信号
120が“0”のとき信号20を入力して選択
し、“1”の場合は値“0”を入力として選択し、
信号122に出力する。マルチプレクサ110は
信号151が“0”のとき信号123を入力とし
て選択し、“1”のとき値“0”を入力として選
択し信号16に出力する。マルチプレクサ102
は信号152が“1”のとき信号24を入力とし
て選択し、“0”のとき信号25を入力として選
択し信号124に出力する。マルチプレクサ10
6は信号120が“0”のとき値“0”を入力と
して選択し、“1”のとき信号24を入力として
選択して信号125に出力する。マルチプレクサ
108は命令コード26の最上位から2ビツト目
の値126が“0”のとき信号125を入力とし
て選択し、“1”のとき信号127を入力として
選択し、信号128に出力する。マルチプレクサ
103は信号153が“0”のときは信号154
を入力として選択し、“1”のときは信号13を
入力として選択し信号129に出力する。マルチ
プレクサ104は信号153が“0”のときは信
号155を入力として選択し、“1”のときは信
号13を入力として選択し信号130に出力す
る。マルチプレクサ109は信号159が“0”
のとき信号131を入力として選択し、“1”の
ときは値“0”を入力として選択し信号15に出
力する。マルチプレクサ107は信号157が
“0”のとき信号132を入力として選択し、
“1”のとき信号13を入力として選択し、“2”
のとき信号12を入力として選択し、信号27に
出力する。大小比較器111は信号121と信号
24を比較し、等しいときに信号133を“1”
とし、そうでない場合には“0”とする。大小比
較器112は信号21と信号124を比較し、等
しいときに信号134を“1”、そうでないとき
に“0”とする。加算器113は信号19を上位
ビツトとし、信号122を下位ビツトとして生成
される信号135と信号128を足し合わせ信号
132に出力する。加算器114は信号24と信
号129と信号136とを加え合わせ、信号13
1に出力する。加算器115は信号25と信号1
30とを加え合わせその和を信号123として出
力し、桁上げ信号を信号137として出力する。
ゲート116は信号137と信号120の論理積
をとり信号136として出力する。プログラマブ
ルロジツクアレイ117は信号22,23,2
6,14,133,134,39,40を入力
し、第4図に示す組み合わせ論理により、出力信
号152,154,155,17,28,18,
30,153,29,157,151,156を
生成する。信号26,19,20,21,22,
23,24,25はそれぞれ第1図におけるパラ
メータテーブルメモリ2のフイールド51,5
2,53,54,55,56,57,58に対応
して読み出された信号であり、信号17,18,
15,16はフイールド55,56,57,58
に対しての書きこみ信号である。第3図の動作は
第2図の説明のところで述べたとおりである。 FIG. 3 is a block diagram showing one embodiment of the address control unit 3 in FIG. 1 in detail. In the figure, 101 to 110 are multiplexers, 111 to 1
12 is a magnitude comparator, 113 to 115 are adders, 1
16 is an AND gate, 117 is a programmable logic array, 120 is the most significant bit of the instruction code 26, and multiplexers 101 to 106, 108
~110 is a 2-input, 1-output, multiplexer 107
is a multiplexer with 3 inputs and 1 output. The multiplexer 101 inputs and selects the signal 20 when the most significant bit 120 of the instruction code 26 is "1", and outputs the signal 25 as the selected signal 121 when it is "0". The multiplexer 105 inputs and selects the signal 20 when the signal 120 is "0", and selects the value "0" as the input when the signal 120 is "1".
Output to signal 122. The multiplexer 110 selects the signal 123 as an input when the signal 151 is "0", selects the value "0" as an input when the signal 151 is "1", and outputs the value as the signal 16. Multiplexer 102
selects the signal 24 as an input when the signal 152 is "1", selects the signal 25 as an input when the signal 152 is "0", and outputs it as the signal 124. multiplexer 10
6 selects the value "0" as the input when the signal 120 is "0", selects the signal 24 as the input when the signal 120 is "1", and outputs it as the signal 125. The multiplexer 108 selects the signal 125 as an input when the value 126 of the second bit from the most significant bit of the instruction code 26 is "0", selects the signal 127 as an input when it is "1", and outputs the signal 128. The multiplexer 103 outputs the signal 154 when the signal 153 is “0”.
is selected as an input, and when it is "1", the signal 13 is selected as an input and output as a signal 129. When the signal 153 is "0", the multiplexer 104 selects the signal 155 as an input, and when the signal 153 is "1", selects the signal 13 as an input and outputs the signal 130. Multiplexer 109 has signal 159 “0”
When , the signal 131 is selected as an input, and when it is "1", the value "0" is selected as an input and output as the signal 15. The multiplexer 107 selects the signal 132 as an input when the signal 157 is "0",
When “1”, select signal 13 as input, “2”
When , signal 12 is selected as input and output as signal 27. The magnitude comparator 111 compares the signal 121 and the signal 24, and sets the signal 133 to “1” when they are equal.
otherwise, it is set to "0". The magnitude comparator 112 compares the signal 21 and the signal 124, and sets the signal 134 to "1" when they are equal and "0" when they are not equal. Adder 113 adds signal 135 and signal 128, which are generated with signal 19 as the upper bit and signal 122 as the lower bit, and outputs a signal 132. Adder 114 adds signal 24, signal 129, and signal 136, and adds signal 136 to signal 136.
Output to 1. Adder 115 outputs signal 25 and signal 1
30 and outputs the sum as signal 123, and outputs the carry signal as signal 137.
Gate 116 ANDs signal 137 and signal 120 and outputs the result as signal 136. Programmable logic array 117 has signals 22, 23, 2
6, 14, 133, 134, 39, 40 are input, and output signals 152, 154, 155, 17, 28, 18,
30, 153, 29, 157, 151, 156 are generated. Signals 26, 19, 20, 21, 22,
23, 24, and 25 are fields 51 and 5 of the parameter table memory 2 in FIG. 1, respectively.
These are signals read corresponding to signals 2, 53, 54, 55, 56, 57, and 58, and signals 17, 18,
15, 16 are fields 55, 56, 57, 58
This is the write signal for . The operation in FIG. 3 is as described in the explanation of FIG. 2.
第4図は第3図におけるプログラマブルロジツ
クアレイ117の入出力論理の一例を示す図であ
る。図において、入力信号は26,22,23,
14,133,134であり、出力信号は15
2,154,155,17,28,18,30,
153,29,157,151,156であり、
第3図の各信号に対応する入力信号名の下に書い
てあるのは横一列がプログラマブルロジツクアレ
イ117のタームに相当し、“0”はローレベル
入力、“1”はハイレベル入力、空欄のところは
入力がローベレルでもハイレベルでもどちらでも
よいことを示す。入力の条件を満たしたときに出
力はハイレベルとなる。信号157は2ビツト出
力なので、“1”、“2”の出力値をとるための条
件が示されている。信号30はキユー制御のとき
にキユーのオーバーフローが生じたとき“1”と
なる信号であり、エラーステイタス信号である。
命令コード26は4ビツトの2進表示で示してあ
る。 FIG. 4 is a diagram showing an example of input/output logic of the programmable logic array 117 in FIG. 3. In the figure, the input signals are 26, 22, 23,
14, 133, 134, and the output signal is 15
2,154,155,17,28,18,30,
153, 29, 157, 151, 156,
The lines written under the input signal names corresponding to each signal in FIG. A blank space indicates that the input may be low level or high level. When the input conditions are met, the output becomes high level. Since the signal 157 is a 2-bit output, the conditions for taking output values of "1" and "2" are shown. The signal 30 is a signal that becomes "1" when a queue overflow occurs during queue control, and is an error status signal.
Instruction code 26 is shown in 4-bit binary representation.
以上説明したように、本発明はデータフロー処
理装置において、2入力データ値の待ち合わせ制
御、データメモリの読み出し、書きこみ、数値列
の発生、データ値の修飾、遷移の機能を1つのデ
ータメモリを分割して使用し、そのアドレスを制
御することにより、ハードウエア量が少なくてす
むところに特徴がある。 As explained above, the present invention provides a data flow processing device that performs the functions of waiting control of two input data values, reading and writing data memory, generating numerical sequences, modifying data values, and transitioning in one data memory. The feature is that the amount of hardware can be reduced by dividing the system and controlling its addresses.
待ち合わせ制御はデータフロー装置において重
要な制御機能の1つであり、数値列の発生、デー
タ値の修飾、遷移の機能が1パイプラインクロツ
クで実現できることは演算の実行効率の向上に寄
与が大きい。データメモリの読み出し、書きこみ
はテーブルルツクアツプ処理やバツフアリングに
必要な基本的な機能であり、これらの機能が、1
つのデータメモリを共有し、そのアドレスの切替
えのみによつて実現できたことはハードウエアの
規則性の向上に役立ち、回路規模も少なくてす
み、パフオーマンスも高くなつた。 Waiting control is one of the important control functions in data flow devices, and the fact that the functions of generating numerical sequences, modifying data values, and transitioning can be realized with one pipeline clock greatly contributes to improving the execution efficiency of calculations. . Reading and writing data memory are the basic functions necessary for table pickup processing and buffering, and these functions are
The fact that this could be achieved by sharing two data memories and simply switching their addresses helped improve the regularity of the hardware, reducing the circuit size and increasing performance.
第1図は本発明のアドレス発生回路のシステム
ブロツク図、第2図は第1図におけるパラメータ
テーブルメモリ2の1ワードに対するフイールド
の割当ての一例を示す図、第3図は第1図におけ
るアドレス制御部3の詳細な一実施例を示すブロ
ツク図、第4図は第3図におけるプログラマブル
ロジツクアレイ117の入出力論理の一例を示す
図である。
図において、1は入力ラツチ、2はパラメータ
テーブルメモリ、3はアドレス制御部、4は出力
ラツチ、5はデータメモリ、101〜110はマ
ルチプレクサ、111〜112は比較器、113
〜115は加算器、116はゲート、117はプ
ログラマブルロジツクアレイである。
FIG. 1 is a system block diagram of the address generation circuit of the present invention, FIG. 2 is a diagram showing an example of field assignment to one word of the parameter table memory 2 in FIG. 1, and FIG. 3 is an address control diagram in FIG. 1. FIG. 4 is a block diagram showing a detailed embodiment of section 3, and FIG. 4 is a diagram showing an example of input/output logic of programmable logic array 117 in FIG. In the figure, 1 is an input latch, 2 is a parameter table memory, 3 is an address control section, 4 is an output latch, 5 is a data memory, 101 to 110 are multiplexers, 111 to 112 are comparators, 113
115 is an adder, 116 is a gate, and 117 is a programmable logic array.
Claims (1)
るアドレス発生回路において、命令の種類、アド
レスのベース、サイズ、内部状態、アドレスカウ
ントを貯え、入力データ値の中のデータ識別番号
をアドレスとしてアクセスされるパラメータテー
ブルメモリと、前記命令の種類、アドレスのベー
ス、サイズ、内部状態、アドレスカウント、入力
データ値を入力し、データ値の待ち合わせ、デー
タメモリの読み出し、書きこみ、通過の制御信号
及び前記データメモリのアドレスを出力し、前記
データメモリのアドレスは、前記ベースの値と前
記アドレスカウントの値とを前記サイズをモジユ
ロとして加え合わせることにより生成するアドレ
ス制御部とを含み、外部のデータメモリを複数の
領域に分割し、領域毎にその先頭アドレスをベー
スとし、サイズ分だけ確保し、各々の領域毎にサ
イクリツクにスキヤンし、先に到着したオペラン
ドを貯えることにより、2項演算の両方のオペラ
ンドの到着を待ち合わせて、後から到着したオペ
ランドが到着した時点で同時に次のパイプライン
ステージに送り出すことができることを特徴とす
るアドレス発生回路。1 In the address generation circuit for the data memory of the data flow processing device, a parameter table memory that stores the instruction type, address base, size, internal state, and address count, and is accessed using the data identification number in the input data value as an address. Then, input the type of instruction, address base, size, internal state, address count, and input data value, and input control signals for data value waiting, data memory reading, writing, and passing, and the data memory address. and an address control unit that generates the address of the data memory by adding the base value and the address count value modulo the size, and divides the external data memory into a plurality of areas. Then, by using the start address as the base for each area, securing the size for each area, cyclically scanning each area, and storing the operand that arrived first, it is possible to wait for the arrival of both operands of a binary operation. , an address generation circuit characterized in that operands that arrive later can be sent to the next pipeline stage at the same time as they arrive.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8038083A JPS59205651A (en) | 1983-05-09 | 1983-05-09 | Address generating circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8038083A JPS59205651A (en) | 1983-05-09 | 1983-05-09 | Address generating circuit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59205651A JPS59205651A (en) | 1984-11-21 |
| JPH044631B2 true JPH044631B2 (en) | 1992-01-28 |
Family
ID=13716672
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8038083A Granted JPS59205651A (en) | 1983-05-09 | 1983-05-09 | Address generating circuit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS59205651A (en) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57139856A (en) * | 1981-02-23 | 1982-08-30 | Nippon Telegr & Teleph Corp <Ntt> | Data driving information processing system |
-
1983
- 1983-05-09 JP JP8038083A patent/JPS59205651A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS59205651A (en) | 1984-11-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20080215859A1 (en) | Computer with high-speed context switching | |
| US5642523A (en) | Microprocessor with variable size register windowing | |
| JPS6368931A (en) | Data processing circuit | |
| JPH0619711B2 (en) | Data processing system with priority branch mechanism | |
| JPH044631B2 (en) | ||
| JP3454393B2 (en) | Data processing device | |
| JPH07219766A (en) | Processor | |
| JPH0535472A (en) | Micro Computer | |
| JP2504535B2 (en) | Bus unit configuration method | |
| JP3124361B2 (en) | Memory data loading device | |
| JP3647078B2 (en) | Processor | |
| WO2008026273A1 (en) | Dma controller | |
| JPH10334081A (en) | List vector processor | |
| JPH03116256A (en) | Memory device | |
| JPH0756734A (en) | Microprocessor and control method thereof | |
| JPH0695304B2 (en) | Data processing device | |
| JPH0198046A (en) | Integrated circuit for control of cache memory | |
| JPH073659B2 (en) | Microprocessor | |
| JPH04186431A (en) | data processor | |
| JPH08235135A (en) | Parallel computer with communication register | |
| JPH0877003A (en) | DSP program parallel controller | |
| JPS6198467A (en) | Register arrangement | |
| JPH01274240A (en) | parallel processing processor | |
| JPH0442327A (en) | Advance controller | |
| JPH1074190A (en) | Parallel processor |