JPH0650530B2 - Data detection circuit - Google Patents

Data detection circuit

Info

Publication number
JPH0650530B2
JPH0650530B2 JP63270262A JP27026288A JPH0650530B2 JP H0650530 B2 JPH0650530 B2 JP H0650530B2 JP 63270262 A JP63270262 A JP 63270262A JP 27026288 A JP27026288 A JP 27026288A JP H0650530 B2 JPH0650530 B2 JP H0650530B2
Authority
JP
Japan
Prior art keywords
data
packet
memory
unit
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 - Fee Related
Application number
JP63270262A
Other languages
Japanese (ja)
Other versions
JPH02116982A (en
Inventor
峰弘 紺矢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP63270262A priority Critical patent/JPH0650530B2/en
Publication of JPH02116982A publication Critical patent/JPH02116982A/en
Publication of JPH0650530B2 publication Critical patent/JPH0650530B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

【発明の詳細な説明】 〈産業上の利用分野〉 本発明は、非ノイマン形のデータフローコンピュータの
対データ検出回路に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a pair data detection circuit of a non-Neumann type data flow computer.

〈従来の技術〉 最近の情報処理技術の飛躍的発展に伴って、画像情報な
ど多量のデータを高速処理する要請が強まるなかで、従
来の逐次制御方式のノイマン形コンピュータに代って、
プログラム中のどの複数の命令でもその入力データが揃
った時点で並列演算できるハードウェア構成になった非
ノイマン形のデータフローコンピュータが研究,開発さ
れ、実用に供せられつつある。
<Prior art> With the recent rapid development of information processing technology, the demand for high-speed processing of a large amount of data such as image information is increasing, and in place of the conventional sequential control Neumann computer,
A non-Neumann-type data flow computer, which has a hardware configuration that can perform parallel computations when any of the multiple instructions in a program have input data, is being researched, developed, and put into practical use.

上記データフローコンピュータとして、例えば第5図に
示すようなものが知られている。このコンピュータは、
コンパイラで翻訳された多数のパケットからなるプログ
ラムを収納するプログラム記憶部21と、対データ検出
回路22と、複数の加算器や乗算器からなる演算処理部
23を通信ネットワーク24でループ状に結合してな
る。そして、プログラム記憶部21に収納された各パケ
ット25は、第6図に示すような構造をなし、そのデー
タフィールド28,29に演算処理部23からの演算結
果データが書き込まれると、対データ検出回路22に送
られ、ここで全てのデータフィールド28,29が揃う
までデータ待ちされる。データフィールドが揃うと、パ
ケットは、演算処理部23の所定の演算器に送られて、
その命令フィールド27に書かれた演算命令に従って演
算処理され、演算結果データは、そのパケットの行先フ
ィールド26に書かれた次処理のパケット番号に従っ
て、通信ネットワーク24を経てプログラム記憶部21
の次処理のパケットに供給され、このパケットが次に実
行される。つまり、ループ状の通信ネットワーク24に
は、データフィールド28,29の揃ったいくつものパ
ケットがパイプライン的に流れ、演算処理部23で並列
処理されるのである。
As the data flow computer, for example, the one shown in FIG. 5 is known. This computer is
A program storage unit 21 for storing a program composed of a large number of packets translated by a compiler, a pair data detection circuit 22, and an arithmetic processing unit 23 composed of a plurality of adders and multipliers are connected in a communication network 24 in a loop. It becomes. Each packet 25 stored in the program storage unit 21 has a structure as shown in FIG. 6, and when the operation result data from the operation processing unit 23 is written in its data fields 28 and 29, the pair data detection is performed. It is sent to the circuit 22 where it waits for data until all the data fields 28, 29 are aligned. When the data fields are complete, the packet is sent to a predetermined arithmetic unit of the arithmetic processing unit 23,
The calculation result data is processed according to the calculation command written in the command field 27, and the calculation result data is passed through the communication network 24 and the program storage unit 21 according to the packet number of the next process written in the destination field 26 of the packet.
Is supplied to the packet for the next processing of, and this packet is executed next. In other words, a number of packets having the data fields 28 and 29 arranged in the loop-shaped communication network 24 flow in a pipeline manner and are processed in parallel by the arithmetic processing unit 23.

ところで、出願人は、上記対データ検出回路22におけ
る高速なデータマッチングを実現すべく、この回路内の
マッチングメモリへのアクセスをデータ線のビット幅を
拡大することなく密にできる第8図の如き対データ検出
回路22を最近提案した(特願昭62−265737
号)。この対データ検出回路22は、パケット番号に対
応するアドレスにそのパケットデータを格納するマッチ
ングメモリ6と、入力ポートA,Bから入力されたパケ
ットのパケット番号に対応する上記マッチングメモリ6
のアドレスからパケットデータを読み出すメモリ読み出
し部2a,2bと、読み出されたパケットデータと入力
されたパケットのデータを比較して両データの関係を判
定する比較判定部3a,3bと、この比較判定部3a,
3bの比較結果に基づいて入力されたパケットのデータ
と読み出されたパケットデータを処理するデータ処理部
4a,4bと、このデータ処理部4a,4bで処理され
たデータをパケット番号に対応する上記マッチングメモ
リ6のアドレスに書き込み、あるいは出力ポートA,B
を経て出力するメモリ書き込み部5a,5bとを、デー
タ伝送路1a,1bでループ状に結合し、上記マッチン
グメモリ6へのアクセスの競合をメモリアクセス制御回
路7で制御して、入力ポートA,Bから並列入力される
パケットデータをパイプライン処理するとともに高速テ
ンプレートマッチングするものである。
By the way, in order to realize high-speed data matching in the pair data detection circuit 22, the applicant can densely access the matching memory in this circuit without expanding the bit width of the data line, as shown in FIG. Recently, a pair data detection circuit 22 has been proposed (Japanese Patent Application No. 62-265737).
issue). The paired data detection circuit 22 includes a matching memory 6 for storing the packet data at an address corresponding to the packet number and the matching memory 6 for the packet number of the packet input from the input ports A and B.
Memory reading units 2a and 2b for reading packet data from the address of the above, and comparison determination units 3a and 3b for comparing the read packet data with the data of the input packet to determine the relationship between the two data, Part 3a,
Data processing units 4a and 4b for processing the input packet data and the read packet data based on the comparison result of 3b, and the data processed by the data processing units 4a and 4b corresponding to the packet number. Write to address of matching memory 6 or output port A, B
And the memory writing units 5a and 5b for outputting via the data transmission lines 1a and 1b are connected in a loop shape, and the memory access control circuit 7 controls the competition of access to the matching memory 6 so that the input port A, The packet data input in parallel from B is subjected to pipeline processing and high-speed template matching is performed.

従って、例えば入力ポートAから、第6図のデータ1フ
ィールド28にオペランドが書き込まれたパケットが入
ってきた場合、メモリ読み出し部2aは、そのパケット
番号に対応するマッチングメモリ6のアドレスからパケ
ットデータを読み出す。そして、対となるデータ2フィ
ールド29のオペランドが読み出されれば、このパケッ
トは、比較判定部3a,データ処理部4aを経て両オペ
ランドが揃ったパケットとしてメモリ書き込み部5aに
よって出力ポートAに出力され、同時にマッチングメモ
リ6の当該アドレスのデータがクリアされる。一方、対
となるデータ2フィールド29のオペランドが読み出さ
れなければ、入力されたパケットのパケットデータは、
同様の経路を経てメモリ書き込み部5aによってマッチ
ングメモリ6の当該アドレスに書き込まれ、対となるデ
ータが来るのを待つことになる。
Therefore, for example, when a packet in which the operand is written in the data 1 field 28 of FIG. 6 enters from the input port A, the memory reading unit 2a retrieves the packet data from the address of the matching memory 6 corresponding to the packet number. read out. Then, when the operand of the data 2 field 29 forming a pair is read, this packet is output to the output port A by the memory writing unit 5a as a packet in which both operands are complete through the comparison / determination unit 3a and the data processing unit 4a. At the same time, the data of the address in the matching memory 6 is cleared. On the other hand, if the operand of the paired data 2 field 29 is not read, the packet data of the input packet is
The memory writing unit 5a waits for data to be written to the corresponding address of the matching memory 6 via a similar path and to be paired.

〈発明が解決しようとする課題〉 さて、上記対データ検出回路22は、上述のように演算
処理部23での演算に必要なパケットの対データ(対オ
ペランド)を揃えるために用いられるほか、2つの処理
が共に終了したことを確認するためにも用いられる。こ
の場合、対データ検出回路22が2つのデータの行先フ
ィールドの一致の検出を行うものであるため、第7図に
示すA,Bの処理が終ると、プログラム記憶部21から
行先フィールド26(第6図参照)を同じ#iにし、命
令フィールド27に同期コードSYNCを有し、データ
1,2フィールド28,29に特に意味のないデータの
入った同期命令パケットが夫々出力され、C,Dの処理
が終ると、行先フィールド26を同じ#jにした同様の
同期命令パケットが夫々出力される。そして、対データ
検出回路22でA,BあるいはC,Dの同期がとられる
と、各同期命令パケットは、通信ネットワーク24を回
ってプログラム記憶部21に達し、次いでプログラム記
憶部21から行先フィールドを同じ#kにしたi番同期
命令パケットあるいはj番同期命令パケットが送出され
る。さらに、両同期命令パケットの同期が第7図の#k
で示すように対データ検出回路22でとられると、同期
命令パケットは通信ネットワーク24を回り、プログラ
ム記憶部21から4つの処理A,B,C,Dが終了した
ことを示すパケットSIGが送出される。
<Problems to be Solved by the Invention> The pair data detection circuit 22 is used for aligning pair data (pair operands) of packets necessary for the calculation in the calculation processing section 23 as described above. It is also used to confirm that both processes are completed. In this case, since the paired data detection circuit 22 detects the coincidence of the destination fields of the two data, when the processing of A and B shown in FIG. (See FIG. 6) is set to the same #i, a sync code SYNC is provided in the instruction field 27, and a sync instruction packet including data having no meaning in the data 1 and 2 fields 28 and 29 is output respectively, and the C and D When the processing is completed, the same synchronization command packet with the destination field 26 set to the same #j is output. Then, when A, B or C, D is synchronized by the paired data detection circuit 22, each synchronization command packet reaches the program storage unit 21 through the communication network 24, and then the destination field is transferred from the program storage unit 21. The i-th synchronization instruction packet or the j-th synchronization instruction packet having the same #k is transmitted. Furthermore, the synchronization of both synchronization command packets is #k in FIG.
When the paired data detection circuit 22 receives the synchronization instruction packet, the synchronization instruction packet goes around the communication network 24, and a packet SIG indicating that the four processes A, B, C and D have been completed is sent from the program storage unit 21. It

ところが、上記対データ検出回路22による同期確認処
理では、第7図に示すように4つの処理A,B,C,D
の同期をとるのに3個の同期命令(SYNC)が必要
で、かつ通信ネットワーク24を最低2度回る即ち2段
のパイプラインサイクルが必要になる。一般化すれば、
n個の処理の同期をとるにはn−1個の同期命令が必要
で、log2n段のパイプラインサイクルが必要になる。そ
のため、同期をとる処理の個数が多くなるほど、多数の
同期命令の送出と多段のパイプラインサイクルによっ
て、処理時間が激増し、処理の高速化が図れないという
欠点がある。
However, in the synchronization confirmation process by the paired data detection circuit 22, as shown in FIG. 7, four processes A, B, C, D are performed.
3 synchronization commands (SYNC) are required to synchronize the two, and at least twice, that is, two pipeline cycles are required around the communication network 24. Generalized,
To synchronize the n processes, n-1 synchronization instructions are required, and log 2 n stages of pipeline cycles are required. Therefore, the larger the number of processes to be synchronized, the more the processing time is drastically increased due to the sending of a large number of synchronization instructions and the multi-stage pipeline cycle, and the processing speed cannot be increased.

そこで、本発明の目的は、同期命令パケットの従来使用
されていなかったデータフィールド部をフラグとして用
い、3個以上の処理の同期を一度にとることによって、
データフロー計算機における同期処理の高速化を実現す
ることができる対データ検出回路を提供することであ
る。
Therefore, an object of the present invention is to use the previously unused data field portion of the synchronization command packet as a flag to synchronize three or more processes at a time,
An object of the present invention is to provide a pair-to-data detection circuit that can realize high-speed synchronization processing in a data flow computer.

〈課題を解決するための手段〉 上記目的を達成するため、本発明の対データ検出回路
は、マッチングメモリ、メモリ読み出し部、比較判定
部、データ処理部およびメモリ書き込み部をデータ伝送
路でループ状に結合し、マッチングメモリへのアクセス
の競合を制御して、並列入力されるパケットデータをパ
イプライン処理するとともに高速テンプレートマッチン
グを行うものにおいて、上記入力ポートから入力された
パケットの命令フィールドが3個以上の処理の同期をと
るための同期命令であるか否かを判定するとともに、肯
と判定したとき、上記データ処理部の通常処理を停止さ
せかつ同期命令信号を出力する一方、否と判定したと
き、上記データ処理部に通常処理を続行させる命令判定
部と、上記入力されたパケットおよびメモリ読み出し部
によって読み出されたパケットデータの所定データフィ
ールドに夫々記述され、同期をとるべき各処理を一定数
のビットからなるフラグ中の唯一フラグ位置で示した2
進数同士の論理和を上記命令判定部からの同期命令信号
を受けて算出し、算出した論理和を上記入力されたパケ
ットの所定データフィールドに書き込むとともに、算出
した論理和の全ビットにフラグが立ったとき、上記パケ
ットを上記メモリ書き込み部を介して出力ポートから出
力し、かつ上記マッチングメモリの当該アドレスのパケ
ットデータを消去する一方、算出した論理和のいずれか
のビットにフラグが立っていないとき、上記パケットを
上記メモリ書き込み部を介して上記マッチングメモリの
当該アドレスに書き込むデータフィールド論理和部を備
えたことを特徴とする。
<Means for Solving the Problems> In order to achieve the above-mentioned object, the paired data detection circuit of the present invention includes a matching memory, a memory reading unit, a comparison determination unit, a data processing unit, and a memory writing unit in a loop in a data transmission path. , Which controls the contention of access to the matching memory, pipelines the packet data input in parallel, and performs high-speed template matching, and has three instruction fields of the packet input from the input port. While determining whether or not it is a synchronization instruction for synchronizing the above processing, when it is determined to be affirmative, the normal processing of the data processing unit is stopped and a synchronization instruction signal is output, while it is determined to be no. At this time, the instruction determination unit that causes the data processing unit to continue normal processing, and the input packet and memory reading Each process described in a predetermined data field of the packet data read by the output unit and to be synchronized is indicated by a unique flag position in a flag consisting of a fixed number of bits.
A logical sum of the decimal numbers is calculated by receiving the synchronous command signal from the command determination unit, the calculated logical sum is written in a predetermined data field of the input packet, and all bits of the calculated logical sum are flagged. When the packet is output from the output port via the memory writing unit and the packet data of the address of the matching memory is erased, while any bit of the calculated logical sums is not flagged , And a data field logical sum section for writing the packet to the address of the matching memory via the memory writing section.

〈作用〉 入力ポートから入力されたパケットが同期命令である場
合、命令判定部は、肯と判定して、データ処理部の通常
処理を停止させ、かつ同期命令信号を出力する。データ
フィールド論理和部は、上記同期命令信号を受けて、入
力されたパケットおよびメモリ読み出し部によってマッ
チングメモリの対応するアドレスから読み出されたパケ
ットデータの所定データフィールドに夫々記述された2
進数同士の論理和を算出する。上記2進数は、同期をと
るべき各処理を一定数のビットからなるフラグ中の唯一
フラグ位置で示したものであるから、算出された論理和
中の終了した処理に対応するビット位置には順次フラグ
が立つ。データフィールド論理和部は、この論理和を上
記入力されたパケットの所定データフィールドに書き込
む。そして、算出した論理和の全ビットにフラグが立っ
たとき、全処理の同期がとれたとして、そのパケットを
メモリ書き込み部を介して出力ポートから出力し、かつ
上記マッチングメモリの当該アドレスのパケットデータ
を消去する。一方、算出した論理和のいずれかのビット
にフラグが立っていないとき、未同期の処理があるとし
て、そのパケットのパケットデータを上記メモリ書き込
み部を介してマッチングメモリの当該アドレスに書き込
む。
<Operation> When the packet input from the input port is a synchronization command, the command determination unit determines that the result is affirmative, stops the normal processing of the data processing unit, and outputs a synchronization command signal. The data field OR section receives the synchronization command signal, and is described in a predetermined data field of the input packet and the packet data read from the corresponding address of the matching memory by the memory reading section.
Calculates the logical sum of base numbers. Since the above binary number indicates each process to be synchronized by the unique flag position in the flag consisting of a fixed number of bits, the bit position corresponding to the completed process in the calculated logical sum is sequentially added. The flag stands. The data field logical sum unit writes this logical sum in a predetermined data field of the input packet. When all the bits of the calculated logical sum are flagged, it is determined that all the processes are synchronized, and the packet is output from the output port via the memory writing unit, and the packet data of the address of the matching memory is output. Erase. On the other hand, when any of the bits of the calculated logical sum is not flagged, it is determined that there is unsynchronized processing, and the packet data of the packet is written to the address of the matching memory via the memory writing unit.

一方、入力ポートから入力されたパケットが同期命令で
ない場合、命令判定部は、否と判定して、上記データ処
理部の通常処理を続行させ、入力されたパケットは、従
来例と同様に対となるデータ(オペランド)が揃った時
点で出力ポートから出力される。
On the other hand, when the packet input from the input port is not the synchronization instruction, the instruction determination unit determines NO and continues the normal processing of the data processing unit, and the input packet is paired as in the conventional example. Is output from the output port when all data (operands) are complete.

〈実施例〉 以下、本発明を図示の実施例により詳細に説明する。<Examples> Hereinafter, the present invention will be described in detail with reference to illustrated examples.

第1図は本発明の対データ検出回路の一実施例の上半分
を示すブロック図であり、1aはデータ伝送路、2aは
メモリ読み出し部、3aは比較判定部、4aはデータ処
理部、5aはメモリ書き込み部、6はマッチングメモ
リ、7はメモリアクセス制御回路であり、これら各部
は、第8図で既述の従来例と同じ構成および作用をもつ
ので、同一部には同じ番号を付して説明を省略する。ま
た、この対データ検出回路11の図示しない下半分は、
入力ポートB、出力ポートBをもち、マッチングメモリ
6,メモリアクセス制御回路7に関して、上半分と対称
の構成をなす。
FIG. 1 is a block diagram showing an upper half of an embodiment of a paired data detection circuit of the present invention. 1a is a data transmission line, 2a is a memory reading section, 3a is a comparison / determination section, 4a is a data processing section, 5a. Is a memory writing unit, 6 is a matching memory, and 7 is a memory access control circuit. Since these units have the same configurations and operations as those of the conventional example described in FIG. 8, the same units are designated by the same reference numerals. And the description is omitted. Further, the lower half (not shown) of the pair data detection circuit 11 is
The matching memory 6 and the memory access control circuit 7 having an input port B and an output port B are symmetrical to the upper half.

第1図において、命令判定部8aは、入力ポートAから
メモリ読み出し部2aを経て入力されたパケットの命令
フィールド17(第3図参照)が同期命令(SYNC)
であるか否かを判定する。そして、同期命令であると判
定したとき、データ処理部4aへの通常命令信号Aの出
力を停止して、通常処理を停止させ、かつ後述するデー
タフィールド論理和部9aへ同期命令信号Aを出力す
る。一方、同期命令でないと判定したとき、上記同期命
令信号Aの出力を停止し、かつデータ処理部4aへ通常
命令信号Aを出力して、従来例と同様の通常処理を続行
させる。
In FIG. 1, the instruction determining unit 8a indicates that the instruction field 17 (see FIG. 3) of the packet input from the input port A through the memory reading unit 2a has a synchronous instruction (SYNC).
Or not. When it is determined that it is a synchronous command, the output of the normal command signal A to the data processing unit 4a is stopped to stop the normal processing, and the synchronous command signal A is output to the data field OR unit 9a described later. To do. On the other hand, when it is determined that it is not the synchronous command, the output of the synchronous command signal A is stopped, and the normal command signal A is output to the data processing unit 4a to continue the normal process similar to the conventional example.

一方、上記データフィールド論理和部9aは、入力ポー
トAから入力されたパケットおよびメモリ読み出し部2
aによって読み出されたパケットデータのデータ1フィ
ールド18(第3図参照)に夫々記述された終了処理表
示フラグを表わす2進数同士の論理和を、命令判定部8
aからの上記同期命令信号Aを受けて算出する。上記2
進数は、終了した処理を、同期をとるべき処理の数と同
数のビットからなるフラグ中のその処理に対応する唯一
のフラグ位置で示したものであり、例えば同期をとるべ
き処理がA,B,C,D(第2図参照)の4つなら、第
3図に示すように同期命令パケット15のデータ1フィ
ールド18の下4桁を“0”とし、そのうちの例えば終
了した処理Cに対応する下第2桁目にフラグ“1”を立
てるとともに、残る上位の桁を全て“1”でマスクして
いる。フラグ“1”を立てるビット位置は、第4図(a)
に示すように終了した処理が、Aなら下第4桁,Bなら
下第3桁,Dなら下第1桁となる。従って、算出された
論理和たる2進数の終了処理に対応するビット位置には
順次フラグ“1”が立つことになる。データフィールド
論理和部9aは、この算出された論理和を上記入力され
たパケットのデータ1フィールド18に書き込む。そし
て、上記論理和の全ビットに第4図(b)に示すようにフ
ラグが立ったとき、上記パケットを上記メモリ書き込み
部5aを介して出力ポートAから出力し、かつマッチン
グメモリ6の当該アドレスのパケットデータを消去す
る。一方、上記論理和のいずれかのビットにフラグが立
っていないとき、上記パケットのパケットデータをメモ
リ書き込み部5aを介してマッチングメモリ6の当該ア
ドレスに書き込むとともに、パケット消滅部10aにパ
ケット消滅信号Aを出力して、未同期のパケットを消滅
させ、出力ポートAから出力させないようになってい
る。
On the other hand, the data field logical sum unit 9a includes a packet and memory reading unit 2 input from the input port A.
The instruction determination unit 8 calculates the logical sum of binary numbers representing the end processing display flags described in the data 1 field 18 (see FIG. 3) of the packet data read by a.
It is calculated by receiving the synchronization command signal A from a. 2 above
The radix indicates the completed process by the only flag position corresponding to that process in the flag consisting of the same number of bits as the number of processes to be synchronized. For example, the processes to be synchronized are A and B. , C, D (see FIG. 2), the lower 4 digits of the data 1 field 18 of the synchronization command packet 15 are set to “0” as shown in FIG. The flag "1" is set to the second lower digit and the remaining upper digits are masked with "1". The bit position where the flag "1" is set is shown in Fig. 4 (a).
As shown in (4), if the processing is A, the lower 4th digit, B, the lower 3rd digit, and D, the lower 1st digit. Therefore, the flag "1" is sequentially set at the bit position corresponding to the ending process of the calculated binary number that is the logical sum. The data field logical sum unit 9a writes the calculated logical sum in the data 1 field 18 of the input packet. When all the bits of the logical sum are flagged as shown in FIG. 4 (b), the packet is output from the output port A via the memory writing unit 5a, and the corresponding address of the matching memory 6 is output. Delete the packet data of. On the other hand, when no flag is set in any bit of the logical sum, the packet data of the packet is written to the address of the matching memory 6 via the memory writing unit 5a, and the packet disappearance signal A is sent to the packet disappearance unit 10a. Is output to eliminate the unsynchronized packet and not output from the output port A.

上記構成の対データ検出回路11の動作について次に述
べる。
The operation of the paired data detection circuit 11 having the above configuration will be described below.

入力ポートAから入力されたパケットが第3図の如き同
期命令である場合、命令判定部8aは、同期命令だと判
定して、通常命令信号Aを止めてデータ処理部4aの通
常処理を停止させ、かつデータフィールド論理和部9a
に同期命令信号Aを出力する。すると、データフィール
ド論理和部9aは、入力されたパケットおよびメモリ読
み出し部2aによってマッチングメモリ6の対応するア
ドレスから読み出されたパケットデータのデータ1フィ
ールド18に夫々記述された2進数同士の論理和を算出
し、算出結果を上記パケットのデータ1フィールド18
に書き込む。同期をとるべき処理A,B,C,Dが全て
終了すれば、上記データ1フィールド18の全ビットに
フラグ“1”が立つから、データフィールド論理和部9
aは、上記パケットをメモリ書き込み部5aを介して出
力ポートAから出力し、かつマッチングメモリ6の当該
アドレスのパケットデータを消去する。一方、同期をと
るべき処理A,B,C,Dのいずれかが未了なら、上記
データ1フィールド18にフラグの立っていない“0”
のビットがあるから、データフィールド論理和部9a
は、上記パケットをメモリ書き込み部5aを介してマッ
チングメモリ6の当該アドレスに書き込むとともに、パ
ケット消滅部10aにパケット消滅信号Aを送って出力
ポートAからの上記パケットの出力を阻止する。
When the packet input from the input port A is a synchronization command as shown in FIG. 3, the command determination unit 8a determines that it is a synchronization command, stops the normal command signal A, and stops the normal processing of the data processing unit 4a. And the data field logical sum unit 9a
The sync command signal A is output to. Then, the data field logical sum unit 9a logically sums the input packet and the binary numbers described in the data 1 field 18 of the packet data read from the corresponding address of the matching memory 6 by the memory reading unit 2a. And the calculation result as the data 1 field 18 of the above packet.
Write in. When all the processes A, B, C and D to be synchronized are completed, the flag "1" is set in all the bits of the data 1 field 18, so that the data field OR unit 9
The a outputs the packet from the output port A via the memory writing unit 5a and erases the packet data of the address in the matching memory 6. On the other hand, if any of the processes A, B, C and D to be synchronized is not completed, "0" in which the flag is not set in the data 1 field 18 is set.
Data field OR section 9a
Writes the packet to the address of the matching memory 6 via the memory writing unit 5a and sends a packet disappearance signal A to the packet disappearance unit 10a to prevent the output port A from outputting the packet.

一方、入力ポートAから入力されたパケットが第6図の
如き通常の演算パケットである場合、命令判定部8a
は、同期命令でないと判定して、通常命令信号Aを送っ
てデータ処理部4aの通常処理を続行させ、入力された
パケットは、従来例と同様に対となるデータ(オペラン
ド)がデータ1フィールド18およびデータ2フィール
ド19に揃った時点で出力ポートAから出力される。
On the other hand, when the packet input from the input port A is a normal operation packet as shown in FIG. 6, the instruction determination unit 8a
Determines that it is not a synchronization command, sends a normal command signal A to continue the normal processing of the data processing unit 4a, and the input packet has a pair of data (operand) as in the conventional example. When the data 18 and the data 2 field 19 are complete, the data is output from the output port A.

このように、上記実施例では、従来使用されていなかっ
た同期命令パケットのデータ1フィールド部をフラグと
して用いて、4つのパケット(処理A,B,C,D)の
同期を第4図(a)に示すように一度(1パイプラインサ
イクル)にとれるようにしているので、入力ポートA,
B(図示せず)から入力された同期命令パケットは、マ
ッチングメモリ6のパケットデータ部を作業領域にして
揃ったか否かが高速に確認でき、同期処理が著しく高速
化できる。なお、他の同期処理として、データ1フィー
ルド18をカウントとして用い、待ち合わせ個数のデー
タが入ってきた時に同期完了とする手法も考えられる
が、この手法では同じ処理から2個以上のデータが来た
ときに誤って同期完了となる欠点がある。これに対し、
本発明の手法では、同期をとるべき各処理をビット位置
で区別しているので、既にフラグが立っているビットに
“1”が来たときにエラーとする機構を追加することに
より、上記誤動作を排除することができる。また、既に
フラグが立っているビットに“1”がきた時に、エラー
にはせずに未処理のままそのパケットを出力ポートから
出し、現在の1組の同期が終わって、当該アドレスのパ
ケットデータが消去されるまで、プログラム記憶部→対
データ検出回路→演算処理部を巡回させるようにするこ
とにより、同じデータ(この例ではA,B,C,D)の
同期を複数回取ることも可能である。
As described above, in the above embodiment, the data 1 field portion of the synchronization command packet, which has not been used conventionally, is used as a flag to synchronize four packets (processing A, B, C, D) with each other as shown in FIG. ), The input port A,
The synchronization command packet input from B (not shown) can be confirmed at high speed whether or not the packet data portion of the matching memory 6 is used as a work area, and the synchronization processing can be significantly speeded up. As another synchronization process, a method of using the data 1 field 18 as a count and completing the synchronization when the waiting number of data arrives can be considered, but in this method, two or more data come from the same process. Sometimes there is a drawback that the synchronization is completed by mistake. In contrast,
In the method of the present invention, each process to be synchronized is distinguished by the bit position. Therefore, by adding a mechanism that causes an error when "1" comes to a bit that has already been flagged, the above malfunction is prevented. Can be eliminated. When a bit already flagged is "1", the packet is output from the output port without being processed as an error and the current set of synchronization is completed. It is also possible to synchronize the same data (A, B, C, D in this example) multiple times by circulating the program storage section → pair data detection circuit → arithmetic processing section until is erased. Is.

なお、上記実施例では、データ1フィールド18のフラ
グが4ビットで4つの処理の同期をとる場合について述
べたが、データ1フィールドの全ビット幅をフラグに用
いればより多数の処理の同期をとることができる。ま
た、実施例では、フラグを“0”中の“1”で表わした
が、これを逆に“1”中の“0”で表わすこともでき
る。さらに、本発明が図示の実施例に限られないのはい
うまでもない。
In the above embodiment, the case where the flag of the data 1 field 18 is 4 bits and four processes are synchronized has been described. However, if the entire bit width of the data 1 field is used as a flag, a larger number of processes are synchronized. be able to. In the embodiment, the flag is represented by "1" in "0", but it can be represented by "0" in "1". Further, it goes without saying that the present invention is not limited to the illustrated embodiment.

〈発明の効果〉 以上の説明で明らかなように、本発明の対データ検出回
路は、マッチングメモリ,メモリ読み出し部,比較判定
部,データ処理部,メモリ書き込み部をデータ伝送路で
ループ状に結合し、並列入力されるパケットデータをパ
イプライン処理し、かつ高速テンプレートマッチングを
行う際、入力されたパケットの命令フィールドが3個以
上の処理の同期をとるための同期命令であるか否かを命
令判定部で判定し、肯と判定した場合、同期命令信号を
データフィールド論理和部に出力して、このデータフィ
ールド論理和部で、入力されたパケットおよびメモリ読
み出し部によってマッチングメモリの対応アドレスから
読み出されたパケットデータの所定データフィールドに
夫々記述された終了処理表示フラグを表わす2進数同士
の論理和を求め、その結果を入力されたパケットの所定
データフィールドに書き込むとともに、上記論理和の全
ビットにフラグが立ったとき、上記パケットをメモリ書
き込み部を介して出力ポートから出力し、かつマッチン
グメモリの当該アドレスのパケットデータを消去する一
方、上記論理和のいずれかのビットにフラグが立ってい
ないとき、上記パケットをメモリ書き込み部を介してマ
ッチングメモリの当該アドレスに書き込み、否と判定し
た場合、データ処理部に従来と同じ通常処理を続行させ
るようにしているので、1パイプラインサイクルで多数
(3個以上)の同期命令パケットの同期を一度にとるこ
とができ、確実な同期処理を従来例よりも格段に速く行
うことができ、データフロー計算機の演算高速化に大い
に貢献する。
<Effects of the Invention> As is apparent from the above description, in the paired data detection circuit of the present invention, the matching memory, the memory reading unit, the comparison / determination unit, the data processing unit, and the memory writing unit are connected in a loop in the data transmission path. However, when performing pipeline processing on packet data input in parallel and performing high-speed template matching, it is instructed whether the instruction field of the input packet is a synchronization instruction for synchronizing three or more processings. If the judgment unit judges that it is affirmative, it outputs a synchronization command signal to the data field logical sum unit, and this data field logical sum unit reads the input packet and the corresponding address of the matching memory by the memory reading unit. A binary number representing the end processing display flag described in a predetermined data field of the issued packet data. When the logical sum is obtained, the result is written in a predetermined data field of the input packet, and when all the bits of the logical sum are flagged, the packet is output from the output port via the memory writing unit and matching is performed. When the packet data of the corresponding address of the memory is erased, and when any bit of the logical sum is not flagged, it is determined that the packet is written to the corresponding address of the matching memory through the memory writing unit Since the data processing unit is made to continue the same normal processing as the conventional one, a large number (three or more) of synchronous instruction packets can be synchronized at one time in one pipeline cycle, and reliable synchronous processing can be performed conventionally. It can be performed much faster than the example, and it greatly contributes to speeding up the operation of the data flow computer.

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

第1図は本発明の対データ検出回路の一実施例の上半分
を示すブロック図、第2図は上記実施例の同期命令の実
行手法を示す図、第3図は上記実施例の同期命令パケッ
トの構成を示す図、第4図(a),(b)は上記同期命令パケ
ットの終了処理表示フラグを説明する図、第5図はデー
タフローコンピュータの一般的構成を示す図、第6図は
一般的パケットの構成を示す図、第7図は従来の同期命
令の実行手法を示す図、第8図は従来の対データ検出回
路を示すブロック図である。 1a…データ伝送路、2a…メモリ読み出し部、 3a…比較判定部、4a…データ処理部、 5a…メモリ書き込み部、 6…マッチングメモリ、 7…メモリアクセス制御回路、 8a…命令判定部、 9a…データフィールド論理和部、 10a…パケット消滅部、 11…対データ検出回路。
FIG. 1 is a block diagram showing an upper half of an embodiment of a paired data detection circuit of the present invention, FIG. 2 is a diagram showing an execution method of a synchronization instruction of the above embodiment, and FIG. 3 is a synchronization instruction of the above embodiment. FIG. 4 is a diagram showing a packet configuration, FIGS. 4 (a) and 4 (b) are diagrams for explaining the end processing display flag of the synchronous command packet, and FIG. 5 is a diagram showing a general configuration of a data flow computer, FIG. Is a diagram showing the structure of a general packet, FIG. 7 is a diagram showing a conventional method of executing a synchronization instruction, and FIG. 8 is a block diagram showing a conventional paired data detection circuit. 1a ... Data transmission path, 2a ... Memory reading section, 3a ... Comparison determination section, 4a ... Data processing section, 5a ... Memory writing section, 6 ... Matching memory, 7 ... Memory access control circuit, 8a ... Instruction determination section, 9a ... Data field OR section, 10a ... Packet erasing section, 11 ... Pair data detection circuit.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】パケット番号に対応するアドレスにそのパ
ケットデータを格納するマッチングメモリと、入力ポー
トから入力されたパケットのパケット番号に対応する上
記マッチングメモリのアドレスからパケットデータを読
み出すメモリ読み出し部と、読み出されたパケットデー
タと入力されたパケットのデータを比較して両データの
関係を判定する比較判定部と、この比較判定部の比較結
果に基づいて入力されたパケットのデータと読み出され
たパケットデータを処理するデータ処理部と、このデー
タ処理部で処理されたデータをパケット番号に対応する
上記マッチングメモリのアドレスに書き込み、あるいは
出力ポートを経て出力するメモリ書き込み部を、データ
伝送路でループ状に結合し、上記マッチングメモリへの
アクセスの競合を制御して、並列入力されるパケットデ
ータをパイプライン処理するとともに高速テンプレート
マッチングを行う対データ検出回路において、 上記入力ポートから入力されたパケットの命令フィール
ドが3個以上の処理の同期をとるための同期命令である
か否かを判定するとともに、肯と判定したとき、上記デ
ータ処理部の通常処理を停止させかつ同期命令信号を出
力する一方、否と判定したとき、上記データ処理部に通
常処理を続行させる命令判定部と、 上記入力されたパケットおよびメモリ読み出し部によっ
て読み出されたパケットデータの所定データフィールド
に夫々記述され、同期をとるべき各処理を一定数のビッ
トからなるフラグ中の唯一フラグ位置で示した2進数同
士の論理和を上記命令判定部からの同期命令信号を受け
て算出し、算出した論理和を上記入力されたパケットの
所定データフィールドに書き込むとともに、算出した論
理和の全ビットにフラグが立ったとき、上記パケットを
上記メモリ書き込み部を介して出力ポートから出力し、
かつ上記マッチングメモリの当該アドレスのパケットデ
ータを消去する一方、算出した論理和のいずれかのビッ
トにフラグが立っていないとき、上記パケットを上記メ
モリ書き込み部を介して上記マッチングメモリの当該ア
ドレスに書き込むデータフィールド論理和部を備えたこ
とを特徴とする対データ検出回路。
1. A matching memory for storing the packet data at an address corresponding to the packet number, and a memory reading section for reading the packet data from the address of the matching memory corresponding to the packet number of the packet input from the input port. A comparison determination unit that compares the read packet data and the input packet data to determine the relationship between the two data, and the input packet data that was read based on the comparison result of this comparison determination unit A data processing unit that processes packet data and a memory writing unit that writes the data processed by the data processing unit to the address of the matching memory corresponding to the packet number or outputs the data via an output port are looped in a data transmission line. In the same manner, and conflicting access to the above matching memory In the paired data detection circuit for performing pipeline processing on packet data input in parallel and performing high-speed template matching, the instruction field of the packet input from the input port is used to synchronize processing of three or more. While determining whether it is a synchronization command, when it is determined to be affirmative, the normal processing of the data processing unit is stopped and a synchronization command signal is output, while when it is determined to be absent, normal processing is performed to the data processing unit. The command determination unit for continuing the above, and the specified packet and the predetermined data field of the packet data read by the memory reading unit, respectively, describe each process to be synchronized. The logical sum of the binary numbers indicated by the flag positions is calculated by receiving the synchronization command signal from the command determination unit. While writing the calculated logical sum in a predetermined data field of the input packet, and when all bits of the calculated logical sum are flagged, the packet is output from the output port via the memory writing unit,
And, while the packet data of the address of the matching memory is erased, when any bit of the calculated logical sum is not flagged, the packet is written to the address of the matching memory via the memory writing unit. A pair data detection circuit comprising a data field logical sum unit.
JP63270262A 1988-10-26 1988-10-26 Data detection circuit Expired - Fee Related JPH0650530B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63270262A JPH0650530B2 (en) 1988-10-26 1988-10-26 Data detection circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63270262A JPH0650530B2 (en) 1988-10-26 1988-10-26 Data detection circuit

Publications (2)

Publication Number Publication Date
JPH02116982A JPH02116982A (en) 1990-05-01
JPH0650530B2 true JPH0650530B2 (en) 1994-06-29

Family

ID=17483803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63270262A Expired - Fee Related JPH0650530B2 (en) 1988-10-26 1988-10-26 Data detection circuit

Country Status (1)

Country Link
JP (1) JPH0650530B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2790009C (en) 2010-02-18 2017-01-17 Katsumi Inoue Memory having information refinement detection function, information detection method using memory, device including memory, information detection method, method for using memory, and memory address comparison circuit

Also Published As

Publication number Publication date
JPH02116982A (en) 1990-05-01

Similar Documents

Publication Publication Date Title
US4734850A (en) Data process system including plural storage means each capable of concurrent and intermediate reading and writing of a set of data signals
EP0240032B1 (en) Vector processor with vector data compression/expansion capability
EP0155211A2 (en) System for by-pass control in pipeline operation of computer
JPH0463430B2 (en)
JPH0546593B2 (en)
JPS6312029A (en) Information processor
JPS6015746A (en) Data processor
US5119324A (en) Apparatus and method for performing arithmetic functions in a computer system
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
JPH0650530B2 (en) Data detection circuit
JPS59114677A (en) Vector processor
JPS5890247A (en) Pipeline controlling system of information processor
EP0326164A2 (en) Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
JPH0578053B2 (en)
JPS6259829B2 (en)
JPS5958580A (en) Masked vector arithmetic processor
JP2812610B2 (en) Pipeline control method
JPH0238966B2 (en)
JPS58129648A (en) Data buffer device
JPS5833584B2 (en) information processing equipment
JP2895892B2 (en) Data processing device
JPS635433A (en) Branch control system
JPH0234058B2 (en)
JPS5971577A (en) Control system of vector processor
JPH0311479A (en) Method and device for detecting completion of stream arithmetic operation

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees