JPH0353671B2 - - Google Patents
Info
- Publication number
- JPH0353671B2 JPH0353671B2 JP58240331A JP24033183A JPH0353671B2 JP H0353671 B2 JPH0353671 B2 JP H0353671B2 JP 58240331 A JP58240331 A JP 58240331A JP 24033183 A JP24033183 A JP 24033183A JP H0353671 B2 JPH0353671 B2 JP H0353671B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- signal
- memory
- address
- value
- 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
Description
【発明の詳細な説明】
本発明は、データフロー演算部に接続して用い
られるメモリの制御回路に関し、詳しくは、メモ
リ中に貯える情報として、データ値のみならずプ
ログラムのテンプレートも可能であることを特徴
とするテンプレート読み出し回路に関するもので
ある。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a control circuit for a memory used by being connected to a data flow calculation section, and more specifically, the information stored in the memory can include not only data values but also program templates. The present invention relates to a template reading circuit characterized by:
テンプレートとは、第5図に示すようにデータ
フイールドの他に行き先アドレスや制御信号フイ
ールドを持つものを指している。制御フイールド
の値により、データフイールドの持つ意味が決め
られ、例えば演算の対象となるデータ値、外部メ
モリのアドレス値、命令語などを表わす。 The template refers to a template that has a destination address and a control signal field in addition to a data field, as shown in FIG. The value of the control field determines the meaning of the data field, and represents, for example, a data value to be subjected to an operation, an address value of an external memory, a command word, etc.
演算を開始する前に予め命令や付随するパラメ
ータを設定しておく必要があるが、この場合はデ
ータフイールドに命令語が貯えられている。主に
この命令を予め外部メモリに貯えておき、初期設
定の際に外部メモリから直接高速にプロセツサ内
のロードするのが本発明のテンプレート読み出し
回路の機能である。 Before starting an operation, it is necessary to set the command and accompanying parameters in advance, and in this case, the command word is stored in the data field. The main function of the template reading circuit of the present invention is to store these instructions in an external memory in advance and load them directly from the external memory into the processor at high speed during initialization.
従来、データフロー演算部に接続して用いられ
るメモリの中には、数値及び画像などのデータ値
を貯えておくことができた。しかしながらプログ
ラムのテンプレート自体は、ホストのプロセツサ
から、その都度インターフエースを介してデータ
フロー演算部に流しこんでやらねばならず、かな
り長い転送時間を要していた。プログラムのテン
プレートは制御情報とテンプレート値とから構成
されており、メモリから出力される制御情報のフ
イールドは、メモリへ入力されるデータの制御情
報のフイールドを用いて生成されるか、あるいは
あらかじめメモリの制御回路内のレジスタにセツ
トされた値が用いられていた。メモリへの書きこ
み時には入力データの一部であるデータ値のみが
書きこまれ、制御情報のフイールドはメモリ制御
回路内で消滅していた。 Conventionally, data values such as numerical values and images could be stored in a memory connected to a data flow calculation unit. However, the program template itself had to be transferred from the host processor to the data flow calculation section via the interface each time, which required a considerable amount of time for transfer. A program template consists of control information and template values, and the control information field output from memory is either generated using the control information field of data input to memory, or The value set in the register in the control circuit was used. When writing to memory, only the data value that is part of the input data is written, and the control information field disappears within the memory control circuit.
本発明の目的は、メモリ内にプログラムのテン
プレート自体を貯えることができ、メモリを単に
データ値を貯えるのに用いるだけでなく、データ
値とプログラムテンプレート両方を貯えることが
できるテンプレート読み出し回路を提供すること
にある。 SUMMARY OF THE INVENTION It is an object of the present invention to provide a template reading circuit which is capable of storing the program template itself in memory, and which is capable of storing both data values and program templates, rather than simply using the memory to store data values. There is a particular thing.
本発明によれば、入力データを一時貯えておく
レジスタと、前記レジスタから出力されるアドレ
ス値、データ値によりアクセスされるメモリと、
入力データの一部である制御フイールドの情報に
より前記レジスタ、前記メモリの制御信号及び外
部出力信号を生成する制御部と、前記レジスタか
らのアドレス値をインクリメントし更新を行い前
記メモリへのアドレスを生成するアドレス生成部
とから構成され、前記制御フイールドの情報によ
り前記メモリ中に入力データの一部であるデータ
値又はプログラムのテンプレートを貯え、前記プ
ログラムのテンプレートが貯えられた前記メモリ
のアドレス値を前記入力データにより指定し、前
記アドレス生成部から順次インクレメントされた
アドレスを発生させることにより前記プログラム
のテンプレートを高速に読み出し、外部のデータ
フロー演算部に送り出せることを特徴とするテン
プレート読み出し回路が得られる。 According to the present invention, a register for temporarily storing input data, a memory accessed by an address value and a data value output from the register,
a control unit that generates a control signal for the register, the memory, and an external output signal based on information in a control field that is part of input data; and a control unit that increments and updates an address value from the register to generate an address for the memory. and an address generation unit that stores a data value or a program template that is part of the input data in the memory according to the information in the control field, and generates an address value of the memory in which the program template is stored. A template reading circuit is provided, characterized in that the template of the program can be read out at high speed by generating an address specified by input data and sequentially incremented from the address generation section, and can be sent to an external data flow calculation section. It will be done.
次に本発明について図面を用いて説明する。 Next, the present invention will be explained using the drawings.
第1図は本発明の一実施例を示すブロツク図で
ある。 FIG. 1 is a block diagram showing one embodiment of the present invention.
図において、101は制御部、102はメモ
リ、111は入力データの制御フイールドをラツ
チするレジスタ、112は入力データのデータフ
イールドがメモリ102への書きこみデータ値で
あるときに、それをラツチするレジスタ、113
は入力データのデータフイールドがメモリ102
のアドレス値であるときに、それをラツチするレ
ジスタ、121〜123は論理積ゲート、131
〜132はマルチプレクサ、141は加算器、1
51〜171は信号である。 In the figure, 101 is a control unit, 102 is a memory, 111 is a register that latches a control field of input data, and 112 is a register that latches a data field of input data when it is a data value to be written to the memory 102. , 113
The data field of the input data is in the memory 102.
121 to 123 are AND gates, and 131
~132 is a multiplexer, 141 is an adder, 1
51 to 171 are signals.
入力データ151は制御信号フイールドとデー
タフイールドとから構成され、制御信号フイール
ドはメモリ102の書きこみ読み出し切替信号、
テンプレート書きこみ制御信号、有効フラグ、ア
ドレスかデータかの区別を示す信号及びデータの
行き先を示す信号とから構成され、データフイー
ルドは、アドレス値、データ値、テンプレート値
として制御信号フイールドの値により各々切替え
て用いる。メモリ102へ記憶される内容はデー
タ値又はテンプレートである。入力データ151
はシステムパイプラインクロツク162に同期し
て送りこまれ、制御信号フイールドと、データフ
イールドとに分けて2回で1組とし、この順に本
発明の回路内部にとりこまれる。 The input data 151 is composed of a control signal field and a data field, and the control signal field is a write/read switching signal of the memory 102;
It consists of a template write control signal, a valid flag, a signal indicating whether it is an address or data, and a signal indicating the destination of the data, and the data field is set as an address value, a data value, and a template value, respectively, depending on the value of the control signal field. Switch and use. The contents stored in memory 102 are data values or templates. Input data 151
is sent in synchronization with the system pipeline clock 162, and is divided into a control signal field and a data field, making up a set of two fields, and is taken into the circuit of the present invention in this order.
テンプレートは予め外部メモリにプログラムテ
ンプレート、起動データテンプレートの順に複数
貯えられてある。本発明のテンプレート読み出し
回路により、ホストプロセツサの介在なしに、外
部メモリに貯えられたプログラムテンプレートを
高速にロードすることができ、プログラムテンプ
レートをロードしただけではプロセツサでの処理
はスタートしない。プロセツサはアイドル状態と
なつている。次に起動データテンプレートが入力
されて初めて処理が開始される。一般的にはプロ
グラムテンプレートは数が多いのに対し、起動デ
ータは数が少ないので、本発明は主にプログラム
テンプレートを高速にロードすることを目的とし
ている。本発明のテンプレート読み出し回路を用
いれば、ホストプロセツサは最初に外部メモリに
テンプレートやデータ値を転送しておき、次にテ
ンプレート読み出し回路に起動をかけるだけで先
ずプログラムテンプレートが設定され、続いて起
動データテンプレートが流れ、処理が開始され
て、次々とデータテンプレートが生成され、外部
メモリからデータ値を読み出し、処理した後、結
果を外部メモリに書き戻す。処理が終わつた後、
終了データをホストプロセツサに返すように予め
プログラムを組みこんでおけば、それによりホス
トプロセツサは処理が終了したことを知ることが
できる。 A plurality of templates are stored in advance in an external memory in the order of a program template and a startup data template. The template reading circuit of the present invention allows a program template stored in an external memory to be loaded at high speed without the intervention of a host processor, and processing in the processor does not start just by loading the program template. The processor is in an idle state. Processing does not begin until the activation data template is then input. Generally, the number of program templates is large, whereas the number of activation data is small, so the present invention is mainly aimed at loading program templates at high speed. By using the template reading circuit of the present invention, the host processor first transfers templates and data values to external memory, and then simply activates the template reading circuit. First, the program template is set, and then the program template is activated. Data templates flow, processing is started, data templates are generated one after another, data values are read from external memory, processed, and the results are written back to external memory. After the processing is finished,
If the program is programmed in advance to return end data to the host processor, the host processor can thereby know that the processing has ended.
プログラムテンプレートは一連の処理プログラ
ムを実行する前に前もつて一度設定されるだけ
で、処理の途中で変更されることなく、繰り返し
読み出されて用いられる。これに対してデータテ
ンプレートは処理の結果データ値が変更されてい
く。 A program template is set only once before executing a series of processing programs, and is repeatedly read and used without being changed during processing. On the other hand, data values of data templates are changed as a result of processing.
信号153はビジー信号であり、制御部101
から前段のパイプラインステージに出力される。
信号153は入力データ151がテンプレートリ
ード命令を示しているときにはメモリ102から
2回連続して読み出しがおこり、それを出力する
間、前段からのデータ入力を止めておくための制
御信号である。信号153が“0”のときは入力
が可の状態を示しており、“1”のときは入力不
可の状態を示している。 The signal 153 is a busy signal, and the control unit 101
is output to the previous pipeline stage.
Signal 153 is a control signal for stopping data input from the previous stage while reading from memory 102 occurs twice in succession when input data 151 indicates a template read command. When the signal 153 is "0", it indicates that input is possible, and when it is "1", it indicates that input is disabled.
信号154はリセツト信号であり、制御部10
1の中にあるフリツプフロツプを初期状態とする
ためのものである。信号154が“1”のとき内
部状態がリセツトされる。 The signal 154 is a reset signal, and the control unit 10
This is to set the flip-flop in 1 to the initial state. When signal 154 is "1", the internal state is reset.
信号157はメモリ102の書きこみ続み出し
切替信号であり、“0”のとき書きこみ、“1”の
とき読み出しを示している。 A signal 157 is a write/continue output switching signal of the memory 102, and when it is "0", it indicates writing, and when it is "1", it indicates reading.
信号162はシステムパイプラインクロツクで
ある。本発明の回路は外部にあるデータフロー演
算回路とリング状パイプラインバスにより接続さ
れており、2パイプラインサイクルで1組のデー
タとなつている。最初のパイプラインサイクルで
は入力データ151には制御信号フイールドがの
つており、次のパイプラインサイクルではデータ
フイールドがのつている。出力データ170に関
しても同様である。 Signal 162 is the system pipeline clock. The circuit of the present invention is connected to an external data flow calculation circuit by a ring-shaped pipeline bus, and one set of data is generated in two pipeline cycles. In the first pipeline cycle, the input data 151 carries a control signal field, and in the next pipeline cycle, it carries a data field. The same applies to output data 170.
制御部101は制御フイールド信号152、リ
セツト信号154、システムパイプラインクロツ
ク162を入力し、ビジー信号153、信号15
5,156,157,158,159,160,
161を出力している。制御部101はレジスタ
111,112,113のラツチエネーブル信
号、マルチプレクサ131,132の切り替え信
号、メモリ102の書きこみ読み出し切り替え信
号を生成し、本発明の内部回路の制御を行なうと
共に、本発明の外部にあるデータフロー演算回路
への出力データを生成している。 The control section 101 inputs a control field signal 152, a reset signal 154, a system pipeline clock 162, a busy signal 153, a signal 15
5,156,157,158,159,160,
161 is output. The control unit 101 generates latch enable signals for the registers 111, 112, and 113, switching signals for the multiplexers 131 and 132, and write/read switching signals for the memory 102, and controls the internal circuit of the present invention. Generates output data to a certain data flow arithmetic circuit.
メモリ102はレジスタ113から出力される
アドレス値166をアドレスとしてアクセスさ
れ、制御部101から出力される信号157の値
が“0”のとき、レジスタ113からの信号16
6をデータとして書きこみを行ない、信号157
の値が“1”のとき、読み出しを行ない、読み出
した値を信号169として、マルチプレクサ13
2に出力する。 The memory 102 is accessed using the address value 166 output from the register 113 as an address, and when the value of the signal 157 output from the control unit 101 is "0", the signal 166 from the register 113 is accessed.
6 is written as data, and the signal 157
When the value of is “1”, reading is performed and the read value is used as the signal 169 to be sent to the multiplexer 13.
Output to 2.
レジスタ111は入力データ151の一部であ
る制御フイールドをクロツク171の立ち上りで
ラツチし、その値を保持し、信号152として制
御部101及びマルチプレクサ132へ出力す
る。 The register 111 latches a control field that is part of the input data 151 at the rising edge of the clock 171, holds its value, and outputs it as a signal 152 to the control section 101 and multiplexer 132.
レジスタ112は入力データ151の一部であ
るデータ値がメモリ102への書きこみデータで
あるときにクロツク163の立ち上りでラツチ
し、信号164としてメモリ102へ出力する。 Register 112 latches at the rising edge of clock 163 when a data value that is part of input data 151 is data to be written to memory 102 and outputs it to memory 102 as signal 164 .
レジスタ113は入力データ151の一部であ
るデータ値がメモリ102への書きこみアドレス
であるときに、マルチプレクサ131を介して信
号165となり、クロツク168の立ち上りでラ
ツチし、信号166としてメモリ102へ出力す
る。 When the data value that is part of the input data 151 is a write address to the memory 102, the register 113 becomes the signal 165 via the multiplexer 131, latches at the rising edge of the clock 168, and outputs it to the memory 102 as the signal 166. do.
ゲート121はシステムパイプラインクロツク
162と制御部101からのエネーブル信号16
1との論理積をとり、レジスタ111のクロツク
信号171を出力する。 Gate 121 receives system pipeline clock 162 and enable signal 16 from control unit 101.
1 and outputs the clock signal 171 of the register 111.
エネーブル信号161は入力データ151が制
御フイールドのとき“1”となる。初期状態すな
わち、リセツト信号154が“1”のときは
“1”となる。 The enable signal 161 becomes "1" when the input data 151 is a control field. In the initial state, that is, when the reset signal 154 is "1", it becomes "1".
ゲート122はシステムパイプラインクロツク
162と制御部101からのエネーブル信号16
0との論理積をとり、レジスタ112のクロツク
信号163を出力する。エネーブル信号160は
入力データ151がデータ値であるとき“1”と
なる。 Gate 122 receives system pipeline clock 162 and enable signal 16 from control unit 101.
It is ANDed with 0 and outputs the clock signal 163 of the register 112. The enable signal 160 becomes "1" when the input data 151 is a data value.
ゲート123はシステムパイプラインクロツク
162と制御部101からのエネーブル信号15
8との論理積をとり、レジスタ113のクロツク
信号168を出力する。エネーブル信号158は
入力データ151がアドレス値であるとき“1”
となる。 Gate 123 receives system pipeline clock 162 and enable signal 15 from control unit 101.
8 and outputs the clock signal 168 of the register 113. Enable signal 158 is “1” when input data 151 is an address value
becomes.
マルチプレクサ131は入力データ151の一
部であるデータ値と加算器141からの信号16
7のどちらか一方を選択しレジスタ113の入力
信号165を生成する。制御部101から出力さ
れるマルチプレクサ切替信号159の値が“0”
のとき信号151を、“1”のとき信号167を
選択する。マルチプレクサ切替信号159はテン
プレート読み出しのデータフイールド出力時に
“1”となる。 Multiplexer 131 combines data values that are part of input data 151 and signal 16 from adder 141.
7 is selected and the input signal 165 of the register 113 is generated. The value of the multiplexer switching signal 159 output from the control unit 101 is “0”
When it is "1", the signal 151 is selected, and when it is "1", the signal 167 is selected. The multiplexer switching signal 159 becomes "1" when outputting the data field for template reading.
マルチプレクサ132はレジスタ111の出力
信号152とメモリ102の出力信号169のど
ちらか一方を選択し出力データ170とする。制
御部101からの選択信号156が“0”のとき
は信号169を、“1”のときは信号152を選
択する。選択信号156はテンプレート読み出し
のデータフイールド出力時に“1”となる。 The multiplexer 132 selects either the output signal 152 of the register 111 or the output signal 169 of the memory 102 and sets it as output data 170. When the selection signal 156 from the control unit 101 is "0", the signal 169 is selected, and when it is "1", the signal 152 is selected. The selection signal 156 becomes "1" when the data field for template reading is output.
加算器141はレジスタ113の出力信号16
6と値“1”を加算し、マルチプレクサ131へ
信号167を出力する。 Adder 141 receives output signal 16 of register 113
6 and the value "1" are added, and a signal 167 is output to the multiplexer 131.
次に、本回路の動作について説明する。 Next, the operation of this circuit will be explained.
入力データ151は大別すると、メモリ102
への書きこみデータ値、書きこみアドレス値、デ
ータ値読み出しアドレス値、テンプレート値読み
出しアドレス値、無効データがある。メモリ10
2へデータ値及びテンプレート値を書きこむ場合
には、まず、これらの値をデータ値フイールドに
のせレジスタ112にセツトし、制御信号フイー
ルドにデータ書きこみコードをのせ、レジスタ1
11にセツトする。次にデータフイールドに書き
こみアドレス値をのせレジスタ113にセツトし
制御信号フイールドにアドレス書きこみコードを
のせ、レジスタ111にセツトする。アドレス値
がレジスタ113にセツトされると同時にメモリ
102への書きこみが行われる。このとき出力デ
ータ170は無効となり、出力データ170に含
まれる有効フラグは“0”となる。即ち、次のパ
イプラインステージへの出力は行なわれない。 The input data 151 can be roughly divided into the memory 102
There are write data values, write address values, data value read address values, template value read address values, and invalid data. memory 10
When writing data values and template values to register 112, first place these values in the data value field and set them in register 112, place the data write code in the control signal field, and write them into register 112.
Set to 11. Next, a write address value is placed in the data field and set in the register 113, and an address write code is placed in the control signal field and set in the register 111. At the same time that the address value is set in register 113, writing to memory 102 is performed. At this time, the output data 170 becomes invalid, and the valid flag included in the output data 170 becomes "0". That is, no output is performed to the next pipeline stage.
メモリ102からデータ値を読み出す場合は、
入力データ151の制御信号フイールドにデータ
読み出しコードをのせ、レジスタ111にセツト
し、データフイールドにメモリ102のアドレス
値をのせ、レジスタ113にセツトする。読み出
しアドレスがセツトされると同時にメモリ102
からの読み出しが行なわれ、読み出された値は出
力データ170となり次段のパイプラインステー
ジに出力される。このとき、出力データ170に
含まれる有効フラグは“1”がセツトされ、この
データが有効であることを示す。 When reading data values from the memory 102,
A data read code is placed in the control signal field of the input data 151 and set in the register 111, and the address value of the memory 102 is placed in the data field and set in the register 113. At the same time as the read address is set, the memory 102
The read value becomes output data 170 and is output to the next pipeline stage. At this time, the valid flag included in the output data 170 is set to "1", indicating that this data is valid.
テンプレートをメモリ102から読み出す場合
には、入力データ151の制御信号フイールドに
テンプレート読み出しコードをのせ、レジスタ1
11にセツトし、データフイールドにメモリ10
2のアドレス値をのせレジスタ113にセツトす
る。読み出しアドレスがセツトされると同時にメ
モリ102からの読み出しが行なわれるが、この
場合、まずレジスタ113にセツトされたアドレ
スを用いて読み出しが行なわれ、出力データ17
0となると同時にレジスタ113の値166に加
算器141において“1”が加えられ、マルチプ
レクサ131を介して、レジスタ113に次のパ
イプラインステージでラツチされる。次のパイプ
ラインステージではレジスタ113にラツチされ
たアドレス値166を用いて再度メモリ102か
らの読み出しが行なわれ、出力データ170とな
る。この間、ビジー信号153が“1”となり入
力データ151をとめる。従つてテンプレート値
は、メモリ102への書きこみを行う時には4パ
イプラインクロツクを用いてデータ値書きこみモ
ードで書きこまれ、メモリ102から読み出しを
行う時には3パイプラインクロツクで実現され
る。 When reading a template from memory 102, a template reading code is placed in the control signal field of input data 151, and register 1
11 and set the data field to memory 10.
The address value of 2 is placed in the register 113. Reading from the memory 102 is performed at the same time as the read address is set, but in this case, the read is first performed using the address set in the register 113, and the output data 17
At the same time as the value becomes 0, "1" is added to the value 166 of the register 113 in the adder 141, and is latched into the register 113 via the multiplexer 131 at the next pipeline stage. In the next pipeline stage, the address value 166 latched in the register 113 is used to read out the memory 102 again, resulting in output data 170. During this time, the busy signal 153 becomes "1" and the input data 151 is stopped. Therefore, template values are written in data value write mode using four pipeline clocks when writing to memory 102, and are implemented using three pipeline clocks when reading from memory 102.
入力データ151の制御信号フイールドが無効
データであることを示しているときには、本発明
の回路はメモリ102への書きこみも、出力デー
タ170の生成も行なわず、出力データ170に
含まれている有効フラグを“0”とする。 When the control signal field of the input data 151 indicates invalid data, the circuit of the present invention neither writes to the memory 102 nor generates the output data 170; Set the flag to “0”.
第2図は第1図における制御部101のより詳
細なブロツク図である。 FIG. 2 is a more detailed block diagram of the control section 101 in FIG. 1.
図において201はデコーダ、202はレジス
タ、203はゲート回路、211〜212はフリ
ツプフロツプ、221〜222は論理積ゲート、
231〜232は論理否定ゲート、251〜25
5は第1図における信号152に対応する詳細な
信号、256〜261,263〜272は信号で
ある。 In the figure, 201 is a decoder, 202 is a register, 203 is a gate circuit, 211-212 are flip-flops, 221-222 are AND gates,
231-232 are logical negation gates, 251-25
5 is a detailed signal corresponding to the signal 152 in FIG. 1, and 256 to 261 and 263 to 272 are signals.
デコーダ201は信号251〜255をデコー
ドし、信号256〜260を生成する。信号25
1は第1図における入力データ151のデータフ
イールドがアドレス値であるかデータ値であるか
を示しており、アドレス値であるとき“1”、デ
ータ値であるとき“0”である。信号252は第
1図における入力データ151のデータフイール
ドが読み出しアドレスであるか書きこみアドレス
であるかを示しており、読み出しアドレスである
とき“1”、書きこみアドレスであるとき“0”
である。信号253は第1図における入力データ
151のデータフイールドがテンプレートアドレ
スであるか否かを示しており、“1”のときテン
プレートアドレスであり、“0”のときデータア
ドレスである。信号254は第1図における入力
データ151が制御信号フイールドであるか、デ
ータフイールドであるかを示す信号であり、第1
図におけるリセツト信号154により“0”とな
る。信号254が“0”のとき制御信号フイール
ドであり、“1”のときデータ値フイールドであ
る。信号255は第1図における入力データ15
1が有効であるか無効であるかを示しており、
“1”のとき有効、“0”のとき無効である。無効
のときは、そのデータは本発明の回路内部で消滅
し、何もしない。 Decoder 201 decodes signals 251-255 and generates signals 256-260. signal 25
1 indicates whether the data field of the input data 151 in FIG. 1 is an address value or a data value; when it is an address value, it is "1" and when it is a data value, it is "0". A signal 252 indicates whether the data field of the input data 151 in FIG. 1 is a read address or a write address, and is "1" when it is a read address and "0" when it is a write address.
It is. A signal 253 indicates whether the data field of the input data 151 in FIG. 1 is a template address; when it is "1", it is a template address; when it is "0", it is a data address. A signal 254 is a signal indicating whether the input data 151 in FIG. 1 is a control signal field or a data field.
It becomes "0" by the reset signal 154 in the figure. When the signal 254 is "0", it is a control signal field, and when it is "1", it is a data value field. Signal 255 is input data 15 in FIG.
1 indicates whether it is valid or invalid,
It is valid when it is “1” and invalid when it is “0”. When invalid, the data disappears inside the circuit of the present invention and does nothing.
レジスタ202はクロツク信号162の立ち上
りで、信号256〜259、264をラツチし、
各々信号261〜265に出力する。信号256
は第1図における入力データ151のデータフイ
ールドが読み出しアドレスであるか否かを示し、
読み出しアドレスであるとき“1”となり、そう
でないとき“0”となる。信号257は第1図に
おける入力データ151のデータ値フイールドが
書きこみデータ値であるか否かを示し、書きこみ
データ値であるとき“1”となり、そうでないと
き“0”となる。信号258は第1図における入
力データ151のデータ値フイールドが書きこみ
アドレスであるか否かを示し、書きこみアドレス
であるとき“1”となり、そうでないとき“0”
となる。信号259は第1図における入力データ
151のデータフイールドがテンプレート読み出
しアドレスであるか否かを示し、テンプレート読
み出しアドレスであるとき“1”となり、そうで
ないとき“0”となる。信号260は第1図にお
ける入力データ151が無効であるとき“1”と
なり、そうでないとき“0”となる。信号261
は信号256を、信号262は信号257を、信
号263は信号258を、信号264は信号25
9を、信号265は信号264をラツチした後の
出力信号である。 The register 202 latches the signals 256 to 259 and 264 at the rising edge of the clock signal 162.
The signals are output to signals 261 to 265, respectively. signal 256
indicates whether the data field of the input data 151 in FIG. 1 is a read address,
It becomes "1" when it is a read address, and becomes "0" when it is not. A signal 257 indicates whether the data value field of the input data 151 in FIG. 1 is a write data value, and becomes "1" when it is a write data value, and becomes "0" otherwise. A signal 258 indicates whether or not the data value field of the input data 151 in FIG. 1 is a write address, and becomes "1" when it is a write address, and "0" otherwise.
becomes. A signal 259 indicates whether the data field of the input data 151 in FIG. 1 is a template read address or not, and becomes "1" when it is a template read address, and becomes "0" when it is not. The signal 260 becomes "1" when the input data 151 in FIG. 1 is invalid, and becomes "0" otherwise. signal 261
is signal 256, signal 262 is signal 257, signal 263 is signal 258, signal 264 is signal 25
9, signal 265 is the output signal after latching signal 264.
ゲート回路203は信号261〜265、25
6〜260を入力し、入力信号の論理和をとり、
信号153,156〜161、155,271を
出力する。信号271は第1図における入力デー
タ151のフイールドが次のパイプラインサイク
ルで切りかわるか否かを示す信号であり、切りか
わるとき“1”、そうでないとき“0”となる。
信号155は第1図における出力データ170の
フイールドが次のパイプラインサイクルで切りか
わるか否かを示す信号であり、切りかわるとき
“1”、そうでないとき“0”となる。フリツプフ
ロツプ211は信号267をクロツク272の立
ち上りでサンプルし信号254に出力する。 The gate circuit 203 receives signals 261 to 265, 25
Input 6 to 260, take the logical OR of the input signals,
Signals 153, 156 to 161, 155, 271 are output. A signal 271 is a signal indicating whether or not the field of the input data 151 in FIG. 1 changes in the next pipeline cycle, and becomes "1" when the field changes, and becomes "0" otherwise.
A signal 155 is a signal indicating whether or not the field of the output data 170 in FIG. 1 changes in the next pipeline cycle, and becomes "1" when the field changes, and becomes "0" otherwise. Flip-flop 211 samples signal 267 at the rising edge of clock 272 and outputs it as signal 254.
フリツプフロツプ211はリセツト信号154
によりリセツトされ、信号254は“0”とな
る。フリツプフロツプ212は信号269をクロ
ツク272の立ち上りでサンプルし、信号268
に出力する。信号268は第1図における出力デ
ータ170が制御信号フイールドであるとき
“0”、データフイールドであるとき“1”とな
る。フリツプフロツプ212はリセツト信号15
4によりリセツトされ、信号268は“0”とな
る。ゲート221は信号271と信号162の論
理積をとり信号272に出力する。ゲート222
は信号155と信号162の論理積をとり信号2
70に出力する。ゲート231は信号266の論
理否定をとり信号267に出力する。ゲート23
2は信号268の論理否定をとり信号269に出
力する。 Flip-flop 211 receives reset signal 154
The signal 254 becomes "0". Flip-flop 212 samples signal 269 at the rising edge of clock 272, and samples signal 268.
Output to. The signal 268 becomes "0" when the output data 170 in FIG. 1 is a control signal field, and becomes "1" when it is a data field. Flip-flop 212 receives reset signal 15
4, and the signal 268 becomes "0". The gate 221 ANDs the signal 271 and the signal 162 and outputs the result as a signal 272. gate 222
takes the logical product of signal 155 and signal 162 and returns signal 2
Output to 70. Gate 231 logically negates signal 266 and outputs it as signal 267 . gate 23
2 takes the logical negation of the signal 268 and outputs it as the signal 269.
第3図は第2図におけるデコーダ201の論理
表である。横方向に入力信号251〜255、縦
方向に出力信号256〜260が書いてある。各
信号は第2図における信号に対応している。例え
ば、このデコーダはプログラマブルロジツクアレ
イで実現できるが、その場合、横一列がタームに
相当し、“0”はローレベル入力、“1”はハイレ
ベル入力、空欄のところは入力がローレベルでも
ハイレベルでもどちらでもよいことを示す。入力
の条件を満たしたときには出力は“1”となりハ
イレベルが出力される。 FIG. 3 is a logic table of decoder 201 in FIG. 2. Input signals 251 to 255 are written in the horizontal direction, and output signals 256 to 260 are written in the vertical direction. Each signal corresponds to the signal in FIG. For example, this decoder can be implemented with a programmable logic array, in which case each horizontal row corresponds to a term, "0" is a low level input, "1" is a high level input, and blank spaces indicate that the input is low level. Show that either high level is fine. When the input conditions are met, the output becomes "1" and a high level is output.
第4図は第2図におけるゲート回路203の論
理表である。横方向に入力信号256〜265が
書いてあり、縦方向に出力信号153,271,
155,159,156,160,157,16
1,158が書いてある。表の中にある“1”に
対応する入力信号の論理和をとり、出力信号とす
る。 FIG. 4 is a logic table of the gate circuit 203 in FIG. 2. Input signals 256 to 265 are written in the horizontal direction, and output signals 153, 271, and 265 are written in the vertical direction.
155, 159, 156, 160, 157, 16
1,158 is written on it. The input signals corresponding to "1" in the table are logically summed and used as an output signal.
第5図は第1図における入力信号151のデー
タフオーマツトを示している。信号301は行き
先アドレス、信号302はデータフイールドであ
る。信号301,252,253,255,25
1は第1図における入力信号151の制御信号フ
イールドを形成する。 FIG. 5 shows the data format of the input signal 151 in FIG. Signal 301 is the destination address and signal 302 is the data field. Signals 301, 252, 253, 255, 25
1 forms the control signal field of input signal 151 in FIG.
以上説明したように、本発明は、データフロー
処理装置におけるデータ値とプログラムテンプレ
ートを同一のメモリ中に貯え、読み出すことがで
きるという特徴を有し、ホストプロセツサの負担
を減らすことができ、処理性能の向上を図ること
ができ、データフロー処理装置内部のテンプレー
トを入れ替えながら高速に処理が可能であるとい
う効果をもつ。 As explained above, the present invention is characterized in that data values and program templates in a data flow processing device can be stored and read out in the same memory, reducing the burden on the host processor and processing This has the effect that performance can be improved and processing can be performed at high speed while replacing templates inside the data flow processing device.
第1図は本発明のテンプレート読み出し回路の
システムブロツク図、第2図は第1図の制御部1
01の詳細なブロツク図、第3図は第2図のデコ
ーダ201の論理を示す図、第4図は第2図のゲ
ート回路203の論理を示す図、第5図は第1図
の入力信号151のデータフオーマツトの一例を
示す図である。
図において、101は制御部、102はメモ
リ、111〜113はレジスタ、121〜123
はゲート、131〜132はマルチプレクサ、1
41は加算器、201はデコーダ、202はレジ
スタ、203はゲート回路、211〜212はフ
リツプフロツプ、221〜222はゲート、23
1〜232はゲートである。
FIG. 1 is a system block diagram of the template reading circuit of the present invention, and FIG. 2 is a control unit 1 of FIG.
01, FIG. 3 is a diagram showing the logic of the decoder 201 in FIG. 2, FIG. 4 is a diagram showing the logic of the gate circuit 203 in FIG. 2, and FIG. 5 is a diagram showing the input signal of FIG. 151 is a diagram showing an example of a data format of No. 151. In the figure, 101 is a control unit, 102 is a memory, 111 to 113 are registers, and 121 to 123 are
is a gate, 131 to 132 are multiplexers, 1
41 is an adder, 201 is a decoder, 202 is a register, 203 is a gate circuit, 211 to 212 are flip-flops, 221 to 222 are gates, 23
1 to 232 are gates.
Claims (1)
読み出し回路において、入力データを一時貯えて
おくレジスタと、前記レジスタから出力されるア
ドレス値、データ値によりアクセスされるメモリ
と、入力データの一部である制御フイールドの情
報により前記レジスタ、前記メモリの制御信号及
び外部出力信号を生成する制御部と、前記レジス
タからのアドレス値をインクリメントし更新を行
い前記メモリへのアドレスを生成するアドレス生
成部とから構成され、前記制御フイールドの情報
により前記メモリ中に入力データの一部であるデ
ータ値又はプログラムのテンプレートを貯え前記
プログラムのテンプレートが貯えられた前記メモ
リのアドレス値を前記入力データにより指定し前
記アドレス生成部から順次インクレメントされた
アドレスを発生させることにより前記プログラム
のテンプレートを高速に読み出し、外部のデータ
フロー演算部に送り出せることを特徴とするテン
プレート読み出し回路。1 In a template reading circuit in a data flow processing device, a register temporarily stores input data, a memory accessed by the address value and data value output from the register, and information on a control field that is part of the input data. The controller includes a control unit that generates the register, a control signal for the memory, and an external output signal, and an address generation unit that increments and updates an address value from the register and generates an address to the memory, and the control unit A data value or a program template that is a part of the input data is stored in the memory based on the field information, an address value of the memory where the program template is stored is specified by the input data, and the data value is sequentially imported from the address generation unit. 1. A template reading circuit characterized in that the template of the program can be read out at high speed by generating an address that has been cleared, and can be sent to an external data flow calculation section.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58240331A JPS60132243A (en) | 1983-12-20 | 1983-12-20 | Template read-out circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58240331A JPS60132243A (en) | 1983-12-20 | 1983-12-20 | Template read-out circuit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS60132243A JPS60132243A (en) | 1985-07-15 |
| JPH0353671B2 true JPH0353671B2 (en) | 1991-08-15 |
Family
ID=17057884
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58240331A Granted JPS60132243A (en) | 1983-12-20 | 1983-12-20 | Template read-out circuit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS60132243A (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2564805B2 (en) * | 1985-08-08 | 1996-12-18 | 日本電気株式会社 | Information processing device |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57207975A (en) * | 1981-06-17 | 1982-12-20 | Nec Corp | Controlling circuit corresponding to binominal data |
-
1983
- 1983-12-20 JP JP58240331A patent/JPS60132243A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS60132243A (en) | 1985-07-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH048874B2 (en) | ||
| JPH03204737A (en) | Debug circuit of signal processing processor | |
| GB2231986A (en) | Programmable logic controller including function block processor and bit processor | |
| US3480917A (en) | Arrangement for transferring between program sequences in a data processor | |
| JPS6077242A (en) | Memory writing circuit | |
| JPH0353671B2 (en) | ||
| JP2002526848A (en) | Devices containing multiport memory | |
| EP0136699B1 (en) | Programmable controller | |
| EP0969370A2 (en) | Computer system having a cache memory and a tracing function | |
| JP2784001B2 (en) | Instruction processing circuit of programmable controller | |
| KR0153537B1 (en) | Signal processing structure to preselect memory address data | |
| JP3043341B2 (en) | Microcomputer system | |
| JP2758624B2 (en) | Speed control method of micro program | |
| JP2747353B2 (en) | Address generator | |
| JP2697772B2 (en) | Information processing device | |
| JP3255429B2 (en) | Memory interface circuit | |
| JP3366235B2 (en) | Data read control device | |
| KR19980059782A (en) | Memory Multiple Access Circuits for Processors | |
| JP2536102B2 (en) | Data processing device | |
| JPS62251829A (en) | Symbolic processing system and method | |
| JP4008196B2 (en) | Register control device and multi-CPU system | |
| JPH0683986A (en) | Single chip microcomputer | |
| JPH0259495B2 (en) | ||
| EP0332849A2 (en) | Sequence controller for controlling next operating state with a short delay | |
| JPS5875250A (en) | Digital information processor |