(57)【特許請求の範囲】
【請求項１】
オペランドデータを格納するためのデータフィールドと、命令情報を格納するための命令フィールドと、行先情報を格納するための行先フィールドとを含むデータパケットを用いてデータフロープログラムを実行するための装置であって、
データパケットを受け、ある演算処理に必要な情報を待合せさせ、必要な情報が揃ったことを検出して前記ある演算処理の実行に必要な情報を含む第１のデータパケットを出力する待合せ制御手段と、
第１のデータパケットを受けるように接続され、第１のデータパケットに含まれる情報に従って前記ある演算処理を行なって、その結果のデータを第２のデータパケットに格納して出力する演算手段と、
前記データフロープログラムを格納し、入力されたある第２のデータパケットに含まれる情報に基づいて、前記データフロープログラムに従った演算処理に必要な１つの情報を格納した第３のデータパケットを出力するプログラム記憶手段とを含み、
前記待合せ制御手段が受けるデータパケットは第３のデータパケットであり、
前記待合せ制御手段と前記演算手段と前記プログラム記憶手段は、それぞれ特定の形式の初期化データパケットに応答して自分自身を初期化する機能を有し、
前記データフロープログラムを実行するための装置は、さらに、
前記演算手段に接続され、前記演算処理に必要なデータと前記待合せ制御手段と前記演算手段と前記プログラム記憶手段とを初期化するための初期化データパケットを生成するためのデータとを混在して記憶するデータ記憶手段と、
初期化要求に応答して、前記データ記憶手段から前記演算手段の処理単位であるワード単位で読出した初期化データパケットを生成するためのデータに基づいて初期化データパケットを生成して、前記待合せ制御手段と前記演算手段と前記プログラム記憶手段との少なくとも１つに入力する初期化データパケット生成手段とを含み、
前記初期化データパケット生成手段は、
初期化要求に応答して、前記データ記憶手段から初期化データパケットを生成するためのデータを読出すことを要求する情報を格納した読出データパケットを生成して前記演算手段に与えるための読出データパケット生成手段を含み、
前記演算手段は、読出データパケットに応答して、前記データ記憶手段から初期化データパケットを生成するためのデータを読出すように動作し、
前記初期化データパケット生成手段は、さらに、
読出されたデータに基づいて初期化データパケットを生成するデータパケット生成手段を含む、データ駆動型情報処理装置。
【請求項２】
前記読出データパケットは、初期化データパケットを生成するためのデータをワード単位で読出すことを要求する情報を格納し、
前記データパケット生成手段は、前記ワード単位で読出すことを要求する情報に従って読出された複数ワードのデータを結合して初期化データパケットを生成することを特徴とする、請求項１に記載のデータ駆動型情報処理装置。
【請求項３】
前記初期化データパケット生成手段は、さらに、
前記読出データパケットの生成の終了を検知する検知手段と、
前記検知手段の出力に応答して、前記読出データパケット生成手段に動作を停止させるための信号を出力する停止制御手段と
を含む、請求項１に記載のデータ駆動型情報処理装置。
【請求項４】
前記初期化要求は、予め定められた信号であることを特徴とする、請求項１、２または３に記載のデータ駆動型情報処理装置。
【請求項５】
前記初期化データパケット生成手段は、さらに、
データパケットを受けるように接続され、受けたデータパケットに含まれる予め定められた特定の情報を読出して前記読出データパケット生成手段に初期化要求を出力する初期化要求出力手段を含む、請求項２、３または４のいずれかに記載のデータ駆動型情報処理装置。
【請求項６】
前記初期化要求出力手段は、
リセット信号生成手段と、
初期化要求生成手段とを含み、
前記リセット信号生成手段は、データパケットを受けるように接続され、受けたデータパケットに含まれる予め定められた特定の情報を読出して前記待合せ制御手段と、前記プログラム記憶手段と、前記演算手段と前記データ駆動型情報処理装置の外部に設けられた周辺装置とに各々をリセットさせるための信号を出力した後、その出力を停止するとともに、前記リセットさせるための信号の出力が開始されてから所定時間が経過したことを表わす信号を前記初期化要求生成手段に出力し、
前記初期化要求生成手段は、前記所定時間が経過したことを表わす信号に応答して初期化要求を生成し、前記読出データパケット生成手段に出力する、請求項５に記載のデータ駆動型情報処理装置。
【請求項７】
前記検知手段は、
前記読出データパケットを生成した数をカウントするためのカウント手段と、
前記生成した数と予め定められた数とを比較し、前記生成した数が予め定められた数に至れば読出データパケットの生成の終了を検知したことを表わす信号を出力する比較手段とを含む、請求項３に記載のデータ駆動型情報処理装置。
【請求項８】
前記検知手段は、
前記演算手段が読出した予め定められた特定のデータに含まれる終了タイミングを表わす情報を検出して出力することを特徴とする、請求項３に記載のデータ駆動型情報処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、初期化機能を有したデータ駆動型情報処理装置に関する。
【０００２】
【従来の技術】
画像処理や各種シミュレーションなどのさまざまな分野で、情報処理装置の性能向上に対する要求がある。情報処理装置の処理性能を向上させるための方式の１つに並列処理方式がある。データ駆動型情報処理装置は、並列処理方式を採用したアーキテクチャーである。
【０００３】
従来のノイマン型の情報処理装置では、予め種々の命令がプログラムとしてメモリに記憶されている。このメモリのアドレスが、プログラムカウンタによって逐次指定されることにより、個々の命令が順次読出されて実行される。一方、並列処理方式を採用しているデータ駆動型情報処理装置は、プログラムカウンタによる逐次的な命令の実行という概念をもたない非ノイマン型の情報処理装置である。データ駆動型情報処理装置は、「ある処理に必要なデータがすべて揃い、かつ、その処理に必要な演算装置などのハードウェア資源が割当てられたときに処理を行なう。」という規則に従って動作する。したがって、データ駆動型情報処理装置は、データの流れに従って複数の命令に関する動作を同時に進行させること、すなわち、データフロープログラムを並列的に実行することが可能である。なお、処理に必要なデータがすべて揃った状態を「発火」という。また、データを揃えるために入力データの待合せを行なわせることを「発火制御」という。プログラムの並列処理により、データ駆動型情報処理装置を用いた場合には、演算の所要時間が大幅に短縮すると見做されている。
【０００４】
データ駆動型情報処理装置に対するデータの入出力およびデータ駆動型情報処理装置の内部でのデータの搬送は、データパケットを用いて行なわれる。データパケットは、たとえば、オペランドデータと命令情報と行先情報と世代情報となどを含む。オペランドデータは、処理対象となるデータである。命令情報は、処理内容を指定するための情報である。行先情報は、データパケットの送り先を指定するための情報である。世代情報は、複数組のデータに対して発火制御が行なわれる場合に、同じ組のデータを識別するための情報である。
【０００５】
図２８は、一般的なデータ駆動型情報処理装置のブロック構成図である。データ駆動型情報処理装置９１（以下、単に「装置９１」という）は、処理を実行するにあたり、必要に応じて２つのオペランドデータを待合せさせる。装置９１は、合流部９０１と、発火制御部９０２と、演算部９０５と、データメモリ９０６と、プログラム記憶部９０７と、分岐部９０９とを含む。
【０００６】
合流部９０１は、装置９１の外部からと内部からとのデータパケットの入力経路を合流させる。合流部９０１は、入力されたデータパケットを発火制御部９０３へ送る。発火制御部９０３は、データパケットに含まれる命令情報が指定する処理が２つのオペランドデータを必要とする場合に、異なる２つのデータパケットに含まれるオペランドデータを待合せさせる。発火制御部９０３は、オペランドデータを待合せさせるためのメモリ（図示せず）を含む。発火制御部９０３は、必要とする２つのオペランドデータが揃い次第、２つのオペランドデータを１つのデータパケットに格納して演算部９０５へ送る。
【０００７】
演算部９０５は、オペランドデータに対して命令情報に基づいた算術演算や論理演算などの処理を施す。データメモリ９０６は、演算部９０５が演算処理を行なうために用いる演算用のデータ（以下、「演算情報」という）を格納している。演算部９０５は、必要に応じてデータメモリ９０６から演算情報を読出したり、データメモリ９０６に対してデータの書込を行なう。演算部９０５は、処理の結果をオペランドデータとしてデータパケットに格納し、プログラム記憶部９０７へ送る。
【０００８】
プログラム記憶部９０７は、データフロープログラムを予め記憶している。プログラム記憶部９０７は、データパケットに含まれる行先情報に基づいて、該当するデータフロープログラムを読出す。データフロープログラムは、次位の命令情報と次位の行先情報とを含む。プログラム記憶部９０７は、読出した命令情報と行先情報とをそれぞれ次位の命令情報と次位の行先情報としてデータパケットに格納し、分岐部９０９へ送る。分岐部９０９は、データパケットの出力経路を装置９１の外部宛と内部宛とに分岐させる。分岐部９０９は、データパケットの行先情報に基づいて、データパケットを装置９１の外部へ送り出すかまたは装置９１の合流部９０３へ送る。
【０００９】
装置９１の外部には、周辺装置としての初期化部９１１と初期化情報メモリ９１２とリセット信号入力部９１３とが設けられている。初期化部９１１は、初期化情報メモリ９１２から読出した初期化情報に基づいて装置９１を初期化するためのデータパケット（以下、「初期化データパケット」という）を生成し、装置９１に入力する。リセット信号入力部９１３は、たとえば、押ボタンなどのスイッチを含む。リセット信号入力部９１３は、信号線９１５を介して装置９１の内部の合流部９０１と発火制御部９０３と演算部９０５とプログラム記憶部９０７と分岐部９０９とに接続される。
【００１０】
装置９１は、電源が投入された直後に、自分自身が適正に動作する状態になるための初期化処理を行なう。また、装置９１の処理内容を変更する場合には、たとえば、プログラム記憶部９０７に別のデータフロープログラムをダウンロードするために、使用者は、記憶装置９１に強制的に初期化処理を行なわせる。ここで、データ駆動型情報処理装置の初期化について説明する。
【００１１】
図２９は、データ駆動型情報処理装置の状態の遷移を示す模式図である。以下の説明では、データ駆動型情報処理装置の内部に含まれる各部の状態を、（１）電源が投入された直後の不定状態であるＵｎｋｎｏｗｎと、（２）Ｕｎｋｎｏｗｎ状態にあるときにリセット処理（Ｒｅｓｅｔ）が行なわれた状態であるＣｏｌｄと、（３）Ｃｏｌｄ状態にあるときに初期化処理（Ｉｎｉｔｉａｌｉｚｅ）が行なわれた状態であるＷａｒｍと、（４）Ｗａｒｍ状態にあるときにデータパケットが入力され、処理が実行（Ｅｘｅｃｕｔｅ）されている状態であるＨｏｔとの４つに分ける。
【００１２】
リセットとは、各部に含まれるレジスタや内部メモリ等に記憶されているデータをクリアする処理をいう。実行しているプログラムがあれば、それを停止させる。Ｕｎｋｎｏｗｎ、Ｗａｒｍ、Ｈｏｔのいずれかの状態にあるときにリセット処理が行なわれればＣｏｌｄ状態となる。初期化とは、レジスタや内部メモリ等にデータをセットし、データパケットが入力されれば正常な処理が行なわれる状態にすることである。Ｕｎｋｎｏｗｎ状態またはＣｏｌｄ状態にあるときは、データパケットを入力することはできるが、一般に適正な処理が行なわれない。
【００１３】
図２８に示した装置９１の発火制御部９０３と演算部９０５と、プログラム記憶部９０７とは、図２９（ａ）のように、ＵｎｋｎｏｗｎとＣｏｌｄとＷａｒｍとＨｏｔとの４つの状態で遷移する。一方、合流部９０１と分岐部９０９とは、Ｃｏｌｄ状態とＷａｒｍ状態とが分かれておらず、図２９（ｂ）のように、Ｕｎｋｎｏｗｎ、Ｃｏｌｄ／Ｗａｒｍ、Ｈｏｔの３つの状態で遷移する。合流部９０１と分岐部９０９とに対しては、初期化処理が不要である。両者は、リセット処理を行なえば、データパケットが入力されたことに応答して適正に動作する。
【００１４】
装置９１を初期化するときには、装置９１の外部に設けた初期化部９１１を用いて、初期化データパケットを装置９１に入力する。初期化処理を装置９１の全体、すなわち、発火制御部９０３と演算部９０５とプログラム記憶部９０７とについて行なう場合には、初期化データパケットを入力する前に装置９１の内部をリセットして、Ｕｎｋｎｏｗｎと、Ｃｏｌｄと、ＷａｒｍとＣｏｌｄ／Ｗａｒｍと、Ｈｏｔとのいずれかの状態にある各部をＣｏｌｄ状態にする必要がある。なぜなら、装置９１の内部にプログラムやデータが残っていると、それらが原因で装置９１が異常停止したり、暴走したりすることがあるからである。なお、前述したように合流部９０１と分岐部９０９とについては、初期化処理が不要である。
【００１５】
操作者は、各部をリセットするためにリセット信号入力部９１３を用いて装置９１にリセット信号を入力する。リセット信号は信号線９１５を介して各部に入力される。各部は、リセット信号に応答して自己をリセットし、Ｃｏｌｄ状態またはＣｏｌｄ／Ｗａｒｍ状態となる。装置９１の全体がＣｏｌｄ状態またはＣｏｌｄ／Ｗａｒｍ状態となるための十分な時間が経過した後に、操作者は、初期化部９１１を起動させ、初期化データパケットを装置９１に入力し、初期化処理を行なわせる。
【００１６】
装置９１に入力された初期化データパケットは、合流部９０１を経て、発火制御部９０３、演算部９０５、プログラム記憶部９０７へと順に送られる。発火制御部９０３と演算部９０５とプログラム記憶部９０７とは、それぞれ送られてきた初期化データパケットに自己を初期化する命令情報が含まれていなければ、初期化データパケットを次の部に送る。発火制御部９０３と演算部９０５とプログラム記憶部９０７とは、送られてきた初期化データパケットに自己に対する初期化の命令情報が含まれていれば、自己を初期化する。発火制御部９０３と演算部９０５とプログラム記憶部９０７とは、初期化処理が完了すれば初期化データパケットを消去する。これにより、装置９１に入力された初期化データパケットが該当する機能部へ到達した時点で各部の初期化処理が行なわれる。
【００１７】
一方、装置９１の一部、たとえば、プログラム記憶部９０７のデータフロープログラムの一部のみを変更するための初期化であれば、リセット処理を行なう必要がない。操作者は、初期化部９１１に操作者９１の一部を初期化するための初期化データパケットを生成させ、それを装置９１に入力する。入力された初期化データパケットが、該当する機能部、たとえば、プログラム記憶部９０７に到達した時点で、その機能部の初期化処理が行なわれる。
【００１８】
【発明が解決しようとする課題】
ところで、前述の装置９１の構成例に示したように、データ駆動型情報処理装置を初期化する場合には、初期化データパケットを生成するための周辺装置を初期化部として備えなければならない。なぜなら、データ駆動型情報処理装置はデータパケットのみを入力として受付けるからである。初期化部は、一般に、コンピュータシステム等の情報処理装置により構成される。したがって、初期化部を周辺装置として用いる分だけ、データ駆動型情報処理装置を組込むシステムや機器等の構成が複雑になる。
【００１９】
このような不具合を解消するための対策として、以下のような関連技術が考えられる。
【００２０】
図３０は、初期化部を内蔵したデータ駆動型情報処理装置のブロック構成図である。図２８に示したものと同様の機能を有するものには、同一の符号を付けている。装置９２は、合流部９０１と、発火制御部９０３と、演算部９０５と、データメモリ９０６と、プログラム記憶部９０７と、分岐部９０９との他、初期化部９２１と初期化情報メモリ９２３とを含む。装置９２の外部には、リセット信号入力部９１３と、開始アドレス入力部９２５と、アドレス数入力部９２７とが設けられている。
【００２１】
リセット信号入力部９１３は、信号線９２９と信号線９３０とを介して、合流部９０１と発火制御部９０３と演算部９０５とプログラム記憶部９０７と分岐部９０９とに接続される。開始アドレス入力部９２５は、信号線９３３を介して初期化部９２１に接続される。アドレス数入力部９２７は、信号線９３５を介して初期化部９２１に接続される。初期化部９２１は、信号線９３９と信号線９３７とを介して初期化情報メモリ９２３に接続される。信号線９３７は、初期化部９２１から初期化情報メモリ９２３へ、初期化情報を読出すためのアクセス信号と、読出アドレスとを送るための信号線である。信号線９３９は、初期化情報メモリ９２３から初期化部９２１へ、読出した初期化情報を送るための信号線である。
【００２２】
初期化部９２１から出力された初期化データパケットは、バス９４１を介して合流部９０１に入力される。
【００２３】
図３１は、初期化部９２１のブロック構成図である。初期化部９２１は、制御部９５１と、カウンタ部９５３と、比較部９５５と、データパケット生成部９５７とを含む。リセット信号を送る信号線９２９からは、信号線９６３と、信号線９６５とが分岐する。信号線９６１は、制御部９５１に接続されている。信号線９６３は、データパケット生成部９５７に接続されている。信号線９６５は、カウンタ部９５３と比較部９５５とに接続されている。
【００２４】
制御部９５１は、信号線９３１を介して与えられるリセット信号に応答して初期化データパケットを生成するためのクロック信号を発する。クロック信号は、信号線９６７を介してカウンタ部９５３に入力される。カウンタ部９５３は、クロック信号のパルス数をカウントする。カウンタ部９５３は、リセット信号の入力に応答して、カウント値を「０」にリセットする。カウンタ部９５３は、クロック信号の入力に応答してカウント値を１ずつカウントアップし、カウント値を信号線９６９と信号線９７１とを介してデータパケット生成部９５７と比較部９５５とへ送る。
【００２５】
データパケット生成部９５７は、信号線９３３を介して開始アドレス入力部９２５（図３０参照）から送られる開始アドレスと、信号線９６９を介してカウンタ部９５３から送られるカウント値とを加算して、初期化情報メモリ９２３の初期化情報を読出すための読出アドレスを生成する。データパケット生成部９５７は、アクセス信号と読出アドレスとを信号線９３９を介して初期化情報メモリ９２３へ送る。初期化情報メモリ９２３からは、読出された初期化情報が信号線９３７を介してデータパケット生成部９５７へ送られる。
【００２６】
データパケット生成部９５７は、読出した初期化情報に基づいて初期化データパケットを生成する。生成された初期化データパケットは、バス９４１を介して合流部９０１へ送られる。初期化データパケットの生成動作は、制御部９５１からクロック信号が出力されている限り継続される。
【００２７】
一方、比較部９５５は、カウンタ部９５３から送られてくるカウント値を信号線９３５を介してアドレス数入力部９２７から送られてくるアドレス数と比較する。比較部９５５は、カウント値がアドレス数と一致した時点で、その旨を示す信号を信号線９７３を介して制御部９５１へ送る。制御部９５１は、比較部９５５から送られてきた信号に応答して、クロック信号の発生を停止する。これにより、初期化データパケットの生成処理が終了する。
【００２８】
操作者は、装置９２を初期化する場合には、開始アドレス入力部９２５とアドレス数入力部９２７とを用いて、初期化情報の読出開始アドレスと読出アドレス数とを設定し、リセット信号入力部９１３を用いて装置９２に所定時間リセット信号を入力する。装置９２は、リセット信号に応答して、Ｃｏｌｄ状態となる。初期化部９２１は、所定時間が経過した後に、リセット信号がＯＮ状態からＯＦＦ状態となったこと（リセット信号の解除）に応答して、前述の初期化データパケットの生成処理を開始する。このように、装置９２は、リセット信号の解除をトリガとして初期化処理を行なう。
【００２９】
ところで、前述した関連技術には、以下のような不具合がある。装置９２は、初期化部９２１と共に初期化情報メモリ９２３を内蔵しているために、構成が複雑になり、規模が大きくなってしまう。また、初期化部９２１は、リセット信号の解除をトリガとして起動するので、操作者は、初期化処理を行なう場合には、必ず装置９２にリセット信号を入力する必要がある。したがって、たとえば、プログラム記憶部９０７に記憶されたデータフロープログラムの一部を変更するときのように、装置９２に動作を停止させずに初期化処理を行なわせたい場合であっても、リセット信号の入力に応答して装置９２はＣｏｌｄ状態となって停止してしまう。
【００３０】
本発明は、係る実情に鑑み考え出されたものであり、その目的は、構成が簡単で規模が小さく、かつ、不必要に動作を停止させずに初期化処理を行なうことが可能なデータ駆動型情報処理装置を提供することにある。
【００３１】
【課題を解決するための手段】
前述の目的を達成するために、
請求項１記載の発明は、オペランドデータを格納するためのデータフィールドと、命令情報を格納するための命令フィールドと、行先情報を格納するための行先フィールドとを含むデータパケットを用いてデータフロープログラムを実行するための装置であって、
データパケットを受け、ある演算処理に必要な情報を待合せさせ、必要な情報が揃ったことを検出して前記ある演算処理の実行に必要な情報を含む第１のデータパケットを出力する待合せ制御手段と、
第１のデータパケットを受けるように接続され、第１のデータパケットに含まれる情報に従って前記ある演算処理を行なって、その結果のデータを第２のデータパケットに格納して出力する演算手段と、
前記データフロープログラムを格納し、入力されたある第２のデータパケットに含まれる情報に基づいて、前記データフロープログラムに従った演算処理に必要な１つの情報を格納した第３のデータパケットを出力するプログラム記憶手段とを含み、
前記待合せ制御手段が受けるデータパケットは第３のデータパケットであり、
前記待合せ制御手段と前記演算手段と前記プログラム記憶手段は、それぞれ特定の形式の初期化データパケットに応答して自分自身を初期化する機能を有し、
前記データフロープログラムを実行するための装置は、さらに、
前記演算手段に接続され、前記演算処理に必要なデータと前記待合せ制御手段と前記演算手段と前記プログラム記憶手段とを初期化するための初期化データパケットを生成するためのデータとを混在して記憶するデータ記憶手段と、
初期化要求に応答して、前記データ記憶手段から演算手段の処理単位であるワード単位で読出した初期化データパケットを生成するためのデータに基づいて初期化データパケットを生成して、前記待合せ制御手段と前記演算手段と前記プログラム記憶手段との少なくとも１つに入力する初期化データパケット生成手段とを含む。
また、前記初期化データパケット生成手段が、
初期化要求に応答して、前記データ記憶手段から初期化データパケットを生成するためのデータを読出すことを要求する情報を格納した読出データパケットを生成して前記演算手段に与えるための読出データパケット生成手段を含み、
前記演算手段は、読出データパケットに応答して、前記データ記憶手段から初期化データパケットを生成するためのデータを読出すように動作し、
前記初期化データパケット生成手段は、さらに、
読出されたデータに基づいて初期化データパケットを生成するデータパケット生成手段を含むデータ駆動型情報処理装置である。
【００３４】
請求項２記載の発明は、前記読出データパケットが、初期化データパケットを生成するためのデータをワード単位で読出すことを要求する情報を格納し、
前記データパケット生成手段が、前記ワード単位で読出すことを要求する情報に従って読出された複数ワードのデータを結合して初期化データパケットを生成することを特徴とするデータ駆動型情報処理装置である。
【００３５】
請求項３記載の発明は、前記初期化データパケット生成手段が、さらに、
前記読出データパケットの生成の終了を検知する検知手段と、
前記検知手段の出力に応答して、前記読出データパケット生成手段に動作を停止させるための信号を出力する停止制御手段とを含むデータ駆動型情報処理装置である。
【００３６】
請求項４記載の発明は、前記初期化要求が、予め定められた信号であることを特徴とするデータ駆動型情報処理装置である。
【００３７】
請求項５記載の発明は、前記初期化データパケット生成手段が、さらに、
データパケットを受けるように接続され、受けたデータパケットに含まれる予め定められた特定の情報を読出して前記読出データパケット生成手段に初期化要求を出力する初期化要求出力手段を含むデータ駆動型情報処理装置である。
【００３８】
請求項６記載の発明は、前記初期化要求出力手段が、
リセット信号生成手段と、
初期化要求生成手段とを含み、
前記リセット信号生成手段は、データパケットを受けるように接続され、受けたデータパケットに含まれる予め定められた特定の情報を読出して前記待合せ制御手段と、前記プログラム記憶手段と、前記演算手段と前記データ駆動型情報処理装置の外部に設けられた周辺装置とに各々をリセットさせるための信号を出力した後、その出力を停止するとともに、前記リセットさせるための信号の出力が開始されてから所定時間が経過したことを表わす信号を前記初期化要求生成手段に出力し、
前記初期化要求生成手段が、前記所定時間が経過したことを表わす信号に応答して初期化要求を生成し、前記読出データパケット生成手段に出力するデータ駆動型情報処理装置である。
【００３９】
請求項７記載の発明は、前記検知手段が、
前記読出データパケットを生成した数をカウントするためのカウント手段と、
前記生成した数と予め定められた数とを比較し、前記生成した数が予め定められた数に至れば読出データパケットの生成の終了を検知したことを表わす信号を出力する比較手段とを含むデータ駆動型情報処理装置である。
【００４０】
請求項８記載の発明は、前記検知手段が、
前記演算手段が読出した予め定められた特定のデータに含まれる終了タイミングを表わす情報を検出して出力することを特徴とするデータ駆動型情報処理装置である。
【００４１】
【作用】
請求項１記載の構成によれば、オペランドデータを格納するためのデータフィールドと、命令情報を格納するための命令フィールドと、行先情報を格納するための行先フィールドとを含むデータパケットを用いてデータフロープログラムを実行するにあたり、
待合せ制御手段は、データパケットを受け、ある演算処理に必要な情報を待合せさせ、必要な情報が揃ったことを検出してある演算処理の実行に必要な情報を含む第１のデータパケットを出力する。演算手段は、第１のデータパケットを受け、第１のデータパケットに含まれる情報に従ってある演算処理を行なって、その結果のデータを第２のデータパケットに格納して出力する。プログラム記憶手段は、データフロープログラムを格納し、入力されたある第２のデータパケットに含まれる情報に基づいて、データフロープログラムに従った演算処理に必要な１つの情報を格納した第３のデータパケットを出力する。プログラム記憶手段から出力された第３のデータパケットは、待合せ制御手段に送られる。
【００４２】
待合せ制御手段と演算手段とプログラム記憶手段とは、それぞれ特定の形式の初期化データパケットに応答して自分自身を初期化する。演算手段に接続されたデータ記憶手段は、演算手段に必要なデータと待合せ制御手段と演算手段とプログラム記憶手段とを初期化するための初期化データパケットを生成するためのデータとを混在して記憶する。初期化データパケット生成手段は、初期化要求に応答して、データ記憶手段から初期化データパケットを生成するためのデータを演算手段の処理単位であるワード単位で読出し、初期化データパケットを生成して、待合せ制御手段と演算手段とプログラム記憶手段との少なくとも１つに入力する。
また、読出データパケット生成手段は、初期化要求に応答して、前記データ記憶手段から初期化データパケットを生成するためのデータを読出すことを要求する情報を格納した読出データパケットを生成して演算手段に与える。演算手段は、読出データパケットに応答して、データ記憶手段から初期化データパケットを生成するためのデータを読出すように動作する。データパケット生成手段は、読出されたデータに基づいて初期化データパケットを生成する。
【００４５】
請求項２記載の構成によれば、読出データパケットは、初期化データパケットを生成するためのデータをワード単位で読出すことを要求する情報を格納する。データパケット生成手段は、読出データパケットに格納された情報に従って読出された複数ワードのデータを結合して初期化データパケットを生成する。
【００４６】
請求項３記載の構成によれば、初期化データパケットを生成するにあたり、検知手段が読出データパケットの生成の終了を検知する。停止制御手段は、検知手段の出力に応答して、読出データパケット生成手段に動作を停止させる。
【００４７】
請求項４記載の構成によれば、予め定められた信号が初期化要求として入力される。
【００４８】
請求項５記載の構成によれば、初期化データパケットを生成するにあたり、初期化要求出力手段が、データパケットを受け、受けたデータパケットに含まれる予め定められた特定の情報を読出して読出データパケット生成手段に初期化要求を出力する。
【００４９】
請求項６記載の構成によれば、初期化要求を出力するにあたり、リセット信号生成手段が、データパケットを受け、受けたデータパケットに含まれる予め定められた特定の情報を読出して待合せ制御手段と、プログラム記憶手段と、演算手段とデータ駆動型情報処理装置の外部に設けられた周辺装置とに、各々をリセットさせるための信号を出力した後、その出力を停止するとともに、リセットさせるための信号の出力が開始されてから所定時間が経過したことを表わす信号を初期化要求生成手段に出力する。初期化要求生成手段は、リセット信号生成手段から出力された所定時間が経過したことを表わす信号に応答して初期化要求を生成し、読出データパケット生成手段に出力する。
【００５０】
請求項７記載の構成によれば、初期化データパケットの生成の終了を検知するにあたり、カウント手段は、読出データパケットを生成した数をカウントする。比較手段は、生成した数と予め定められた数とを比較し、生成した数が予め定められた数に至れば読出データパケットの生成の終了を検知したことを表わす信号を出力する。
【００５１】
請求項８記載の構成によれば、読出データパケットの生成の終了を検知するにあたり、検知手段は、演算手段が読出した予め定められた特定のデータに含まれる終了タイミングを表わす情報を検出して出力する。
【００５２】
【実施例】
以下に、本発明のデータ駆動型情報処理装置の実施例について図面を参照して説明する。なお、以下の第１〜第５の各実施例では、同様の機能を有するものは、同一の符号で示す。
【００５３】
［第１実施例］
図１は、第１実施例に係るデータ駆動型情報処理装置のブロック構成図である。データ駆動型情報処理装置１１を以下の説明では単に「装置１１」という。装置１１は、合流部１０１と、発火制御部１０３と、マルチプレクサ（ＭＵＸ）１０４と、演算部１０５と、メモリ１０６と、プログラム記憶部１０７と、分岐部１０９と、初期化情報読出部１１１とを含む。装置１１の外部には、リセット信号入力部１１３と、開始アドレス入力部１１５と、アドレス数入力部１１７とが設けられている。
【００５４】
合流部１０１は、装置１１の外部からと内部からとのデータパケットの複数の入力経路を合流させる。合流部１０１は、装置１１の外部の他のデータ駆動型情報処理装置または他の情報処理装置等の周辺装置から送られてくるデータパケットをバス１２１を介して受ける。合流部１０１は、分岐部１０９から送られてくるデータパケットをバス１２３を介して受ける。さらに、合流部１０１は、初期化情報読出部１１１から送られてくる装置１１を初期化させるためのデータパケット（以下、「初期化データパケット」という）をバス１２５を介して受ける。合流部１０１に入力されたデータパケットは、バス１２７を介して発火制御部１０３へ送られる。
【００５５】
発火制御部１０３は、データパケットに含まれる命令情報が指定する処理が２つのオペランドデータを必要とする場合に、異なる２つのデータパケットに含まれるオペランドデータを待合せさせる。発火制御部１０３は、オペランドデータを待合せさせるためのメモリ（図１では省略）を有する。発火制御部１０３は、揃えるべき２つのオペランドデータが揃い次第、その２つのオペランドデータを１つのデータパケットに格納し、バス１２９を介して演算部１０５へ送る。
【００５６】
演算部１０５は、オペランドデータに対して命令情報に基づいた算術演算や論理演算などの演算処理を施す。演算部１０５は、演算処理の結果をオペランドデータとしてデータパケットに格納し、そのデータパケットをバス１３１を介してプログラム記憶部１０７へ送る。
【００５７】
プログラム記憶部１０７は、データフロープログラムを予め記憶している。プログラム記憶部１０７は、揮発性のメモリにより構成されている。プログラム記憶部１０７は、データパケットに含まれる行先情報に基づいて、該当するデータフロープログラムを読出す。データフロープログラムは、命令情報と行先情報とを含む。プログラム記憶部１０７は、読出した命令情報と行先情報とをそれぞれ次位の命令情報と次位の行先情報としてデータパケットに格納し、バス１３３を介して分岐部１０９へ送る。
【００５８】
分岐部１０９は、データパケットの出力経路を装置１１の外部宛と内部宛とに分岐させる。分岐部１０９は、データパケットの行先情報に基づいて、データパケットをバス１３５を介して装置１１の外部へか、または、データパケットをバス１２３を介して合流部１０１へかのいずれかへ送る。
【００５９】
メモリ１０６は、演算部１０５が演算処理に用いるための演算用のデータ（以下、「演算情報」という）と、初期化情報読出部１１１が初期化データパケットを生成するために用いる初期化情報とを格納する。メモリ１０６に対する演算部１０５と初期化情報読出部１１１とのアクセス経路には、マルチプレクサ（ＭＵＸ）１０４が配設されている。演算部１０５からマルチプレクサ１０４へは信号線１４１を介してアクセス信号と読出アドレスとが送られる。また、初期化情報読出部１１１からマルチプレクサ１０４へは、信号線１４５を介してアクセス信号と読出アドレスとが送られる。さらに、初期化情報読出部１１１からは、信号線１４９を介してマルチプレクサ１０４に読出制御信号が送られる。
【００６０】
マルチプレクサ１０４は、読出制御信号が入力されていないときには、演算部１０５から送られてくるアクセス信号と読出アドレスとを信号線１４３を介してメモリ１０６に送る。マルチプレクサ１０４は、読出制御信号が入力されているときには、初期化情報読出部１１１から送られてくる読出アドレスを信号線１４３を介してメモリ１０６へ送る。メモリ１０６からは、信号線１４４と信号線１４７とを介して演算部１０５と初期化情報読出部１１１とのそれぞれに読出したデータが送られる。これにより、装置１１が通常の演算処理を行なうときには、演算部１０５によってメモリ１０６から演算情報が読出され、装置１１が初期化処理を行なうときには、初期化情報読出部１１１によってメモリ１０６から初期化情報が読出される。
【００６１】
リセット信号入力部１１３は、装置１１にリセット信号を入力するための手段である。リセット信号入力部１１３は、たとえば、押ボタンなどのスイッチを含む。リセット信号入力部１１３から発せられたリセット信号は、信号線１５１を介して初期化情報読出部１１１に入力される。さらに、信号線１５１は、信号線１５７に分岐する。リセット信号は、信号線１５７を介して、合流部１０１と発火制御部１０３とマルチプレクサ１０４と演算部１０５とプログラム記憶部１０７と分岐部１０９とに送られる。リセット信号が各部へ送られると、各部は自己をリセットする。発火制御部１０３と、演算部１０５と、プログラム記憶部１０７とは、自己をリセットすることにより、Ｃｏｌｄ状態（図２９参照）になる。他の各部は、自己をリセットすることによりＣｏｌｄ／Ｗａｒｍ状態（図２９参照）になる。
【００６２】
開始アドレス入力部１１５とアドレス数入力部１１７とは、装置１１の操作者が、装置１１を初期化するにあたり、初期化情報の読出の開始アドレスと、読出すべきアドレスの数とを指定するための手段である。開始アドレス入力部１１５とアドレス数入力部１１７とは、たとえば、スライドスイッチ、または、複数のキーを備えたスイッチを含む。開始アドレス入力部１１５からは、信号線１５３を介して開始アドレスを表わす信号が初期化情報読出部１１１へ送られる。また、アドレス数入力部１１７からは、信号線１５５を介してアドレス数を表わす信号が初期化情報読出部１１１へ送られる。初期化情報読出部１１１は、送られてきた開始アドレスとアドレス数とに基づいてメモリ１０６から初期化情報を読出し、所定の初期化データパケットを生成する。
【００６３】
図２は、初期化情報読出部１１１のブロック構成図である。初期化情報読出部１１１は、制御部１６１と、カウンタ部１６３と、比較部１６５と、初期化データパケット生成部１６７とを含む。制御部１６１は、信号線１５１を介して送られてくるリセット信号に応答して、自己をリセットする。その後、制御部１６１は、リセット信号がＯＮ状態からＯＦＦ状態となったこと（リセット信号の解除）に応答して、初期化データパケットを生成するためのクロック信号（以下、「初期化用クロック信号」という）を発生させる動作を開始する。
【００６４】
制御部１６１が発生させた初期化用クロック信号は、信号線１７３を介してカウンタ部１６３へ送られる。さらに、初期化用クロック信号は、信号線１７３を介してカウンタ部１６３へ送られ、信号線１７５を介して初期化データパケット生成部１６７へ送られる。さらに、制御部１６１は、リセット信号の解除に応答して、信号線１４９を介してマルチプレクサ１０４（図１参照）へ制御信号を出力し始める。
【００６５】
カウンタ部１６３は、初期化情報の読出アドレスを生成するときに用いるカウント値を生成するための手段である。カウンタ部１６３は、信号線１６９から送られてくるリセット信号に応答して自己をリセットし、カウント値を「０」にリセットする。その後、カウンタ部１６３は、信号線１７３を介して送られてくる初期化用クロック信号に応答してカウント値を１ずつカウントアップする。カウンタ部１６３は、カウントアップする度に、カウント値を信号線１７７を介して初期化データパケット生成部１６７へ送り、信号線１７９を介して比較部１６５へ送る。
【００６６】
初期化データパケット生成部１６７へは、信号線１５１から分岐する信号線１７１を介してリセット信号が入力される。初期化データパケット生成部１６７は、入力されたリセット信号に応答して自己をリセットする。その後、初期化データパケット生成部１６７は、信号線１７５を介して制御部１６１から送られてくる初期化用クロック信号に応答して動作する。初期化データパケット生成部１６７は、信号線１５３を介して送られてくる開始アドレスと信号線１７７を介して送られてくるカウント値とを加算してメモリ１０６から初期化情報を読出すための読出アドレスを生成する。初期化データパケット生成部１６７は、生成した読出アドレスをアクセス信号とともに信号線１４５を介してマルチプレクサ１０４（図１参照）へ送る。マルチプレクサ１０４には、制御部１６１から制御信号が送られている。したがって、マルチプレクサ１０４は、メモリ１０６へ初期化データパケット生成部１６７からのアクセス信号と読出アドレスとを送り、メモリ１０６から初期化情報が読出される。読出された初期化情報は、信号線１４７を介して初期化データパケット生成部１６７へ送られる。初期化データパケット生成部１６７は、読出した初期化情報に基づいて初期化データパケットを生成する。初期化データパケット生成部１６７は、生成した初期化データパケットをバス１２５を介して合流部１０１へ送る。初期化データパケット生成部１６７は、制御部１６１から初期化用クロック信号が出力されている限り、初期化データパケットの生成動作を継続する。
【００６７】
比較部１６５には信号線１５１から分岐する信号線１６９を介してリセット信号が入力される。比較部１６５は、リセット信号に応答してカウント値と比較するための比較値をアドレス数入力部１１７（図１参照）から送られてくる値にセットする。比較部１６５は、カウンタ部１６３から送られてくるカウント値を信号線１５５を介して送られてくるアドレス数と比較する。比較部１６５は、カウント値がアドレス数と一致した時点で、信号線１８１を介して制御部１６１へ初期化用クロック信号の発生を停止させるための信号を送る。制御部１６１は、この信号に応答して、初期化用クロック信号の発生を停止する。
【００６８】
図３は、装置１１へのデータの入出力および装置１１の内部でのデータの搬送に用いられるデータパケットのフィールド構成図である。本実施例では、（ａ）に示すデータパケットＰ１と、（ｂ）に示すデータパケットＰ２との２種類の形式のデータパケットが用いられる。データパケットＰ２は、発火制御部１０３が出力するデータパケット形式である。データパケットＰ２は、揃えるべき２つのオペランドデータが揃った時点で、それら２つのオペランドデータが格納されて発火制御部１０３から演算部１０５へ送られる。待合せが不要な演算の場合、１つのオペランドデータのみを格納したデータパケットＰ２が出力される。それ以外のデータパケット、たとえば、外部から装置１１に入力されるデータパケット、装置１１から外部へ出力されるデータパケット、初期化情報読出部１１１から出力される初期化データパケット、合流部１０１から発火制御部１０３へ送られるデータパケット、演算部１０５からプログラム記憶部１０７へ送られるデータパケット、プログラム記憶部１０７から分岐部１０９へ送られるデータパケット、分岐部１０９から合流部１０１へ送られるデータパケットなどは、すべてデータパケットＰ１である。
【００６９】
図３（ａ）を参照して、データパケットＰ１は、行先フィールドＦ１と、命令フィールドＦ２と、データフィールドＦ３と、世代フィールドＦ４とを含む。行先フィールドＦ１には、行先情報が格納される。命令フィールドＦ２には、命令情報が格納される。データフィールドＦ３には、１個のオペランドデータが格納される。世代フィールドＦ４には、世代番号が格納される。
【００７０】
行先フィールドＦ１に格納される行先情報は、ノード番号とプロセッサ番号とを含む。ノード番号は、装置１１の内部で実行されるデータフロープログラムに含まれる命令の識別番号に相当する。プロセッサ番号は、データパケットＰ１が、複数のデータ駆動型情報処理装置を含むマルチプロセッサシステムに入力される場合に、データパケットＰ１が、いずれのデータ駆動型情報処理装置に供給されるデータパケットであるかを特定するためのデータである。
【００７１】
図３（ｂ）を参照して、データパケットＰ２は、データパケットＰ１と同様に、行先フィールドＦ１と、命令フィールドＦ２と世代フィールドＦ４とを含み、さらに、２つのデータフィールドＦ３ａ，Ｆ３ｂを含む。データフィールドＦ３ａ，Ｆ３ｂには、それぞれ１個ずつのオペランドデータが格納される。データフィールドＦ３ａに格納されるオペランドデータを左オペランドデータという。また、データフィールドＦ３ｂに格納されるオペランドデータを右オペランドデータという。
【００７２】
図４は、発火制御部１０３に含まれる待合せメモリのフィールド構成図である。待合せメモリとは、オペランドデータの待合せを行なうためのメモリである。待合せメモリは、各アドレスに、待合せフラグと、待合せオペランドデータと、待合せ世代番号とを記憶する領域を含む。待合せオペランドデータとは、発火制御部１０３に送られてきたデータパケットに含まれるオペランドデータが、他のデータパケットのオペランドデータとの待合せを行なうものである場合に、発火制御部１０３が待合せメモリ内に一時的に記憶するオペランドデータである。待合せ世代番号は、待合せオペランドデータの世代番号である。
【００７３】
待合せフラグは、該当するアドレスに、待合せオペランドデータおよび待合せ世代番号が記憶されているか否かを示すためのフラグである。該当するアドレスに待合せオペランドデータおよび待合せ世代番号が記憶されていない場合には、待合せフラグは「０」にリセットされる。該当するアドレスに待合せオペランドデータおよび待合せ世代番号が記憶されている場合には、待合せフラグは「１」にセットされる。
【００７４】
発火制御部１０３は、データパケットに含まれる命令情報が２入力命令である場合、送られてきたデータパケットに含まれる行先情報に基づいて、待合せメモリのアクセスすべきアドレスを決定する。発火制御部１０３は、決定したアドレスの待合せフラグを読出す。
【００７５】
発火制御部１０３は、待合せフラグが「１」であれば、入力されたデータパケットのオペランドデータが、先に発火制御部１０３に入力されたデータパケットのオペランドデータに対応していると判断し、そのアドレスの待合せオペランドデータを読出す。発火制御部１０３は、入力されたデータパケットに、読出した待合せオペランドデータを加えて演算部１０５へ送る。
【００７６】
一方、発火制御部１０３は、待合せフラグが「０」であれば、入力されたデータパケットのオペランドデータに対応するオペランドデータは待合せメモリにはないと判断する。この場合、発火制御部１０３は、入力されたデータパケットのオペランドデータと世代番号とを、行先情報に基づいて決定したアドレスに待合せオペランドデータと待合せ世代番号として記憶し、待合せフラグを「１」にセットする。
【００７７】
図５は、プログラム記憶部１０７の記憶領域のフィールド構成図である。プログラム記憶部１０７の記憶領域には、行先情報と命令情報とが予め記憶されている。プログラム記憶部１０７は、送られてきたデータパケットの行先情報に基づいて、記憶領域の参照すべきアドレスを決定する。プログラム記憶部１０７は、決定したアドレスの行先情報と命令情報とを読出し、次位の行先情報および命令情報としてデータパケット内に格納する。プログラム記憶部１０７に記憶されている行先情報と命令情報との対がデータフロープログラムである。
【００７８】
データ駆動型情報処理装置のプログラム記憶部には、内蔵型または外付型のメモリを用いることができる。外付型メモリを用いる場合には、内蔵型メモリを用いた場合と比べて、アクセスレートが遅いという欠点がある。また、１つのチップの内部に複数のデータ駆動型情報処理装置が含まれる場合には、各データ駆動型情報処理装置と外付型メモリとを接続するための複数の接続端子をチップに設けなければならない。このような不具合があるために、通常、データ駆動型情報処理装置におけるプログラム記憶部としては、内蔵型メモリが用いられる。
【００７９】
また、メモリの種類としては、揮発性と不揮発性とがある。内蔵型の不揮発性メモリを用いた場合には、プログラム記憶部に記憶させているデータの内容を変更することができない。したがって、データ駆動型情報処理装置において実行する機能に対応するデータのすべてを予め格納させることが可能な記憶容量を有するメモリが必要となる。この場合、メモリの記憶容量が大きい分だけデータ駆動型情報処理装置の組立コストが高くなってしまう。このようなことから、本実施例では、プログラム記憶部１０７に内蔵型の揮発性メモリを用いている。
【００８０】
図６は、メモリ１０６のフィールド構成図である。本実施例では、演算部１０５が演算処理に用いる演算情報と、初期化情報読出部１１１が初期化データパケットを生成するために用いる初期化情報とを１個のメモリ１０６に記憶させている。演算情報と初期化情報とは、（ａ）に示すように、記憶領域を演算情報の領域と初期化情報の領域との２つの領域に分けて、それぞれに記憶させてもよいし、また、（ｂ）に示すように、演算情報と初期化情報とを記憶領域内で混在させて記憶させてもよい。
【００８１】
図７は、１個の初期化データパケットを生成するために用いられる初期化情報のメモリ１０６（図１参照）内での記憶状態を示す図である。１個の初期化データパケットは、８ワード分の初期化情報を用いて生成される。１ワードは、８ビットを含む。図示において、下方向はアドレス増分方向を示し、左方向はビット増分方向を示す。説明を容易にするために、アドレスとビットとに１〜８の番号をつける。
【００８２】
初期化情報に含まれるデータとしては、命令情報と、左右フラグと、ノード番号と、入力ポート履歴と、プロセッサ番号と、世代番号と、オペランドデータと、終了フラグと、制御フラグと、ホスト入力フラグと、ホスト出力フラグとがある。命令情報と、ノード番号と、プロセッサ番号と、世代番号と、オペランドデータとは、それぞれ、図３（ａ）に示したデータパケットＰ１に含まれる同名のデータに対応するものである。
【００８３】
命令情報は、９ビットで構成され、そのうちの下位の８ビットが１番目のアドレスに格納され、最上位ビットが２番目のアドレスの８ビット目に格納されている。２番目のアドレスの７ビット目は、左右フラグである。左右フラグは、図３（ｂ）に示したデータパケットＰ２に対して演算処理を施す場合に、左オペランドデータと右オペランドデータとを使い分けるためのフラグである。たとえば、命令情報が減算命令である場合に、左右フラグに「０」がセットされているときは、右オペランドデータの値から左オペランドデータの値を減算する。逆に、左右フラグが「１」にされている場合には、左オペランドデータの値から右オペランドデータの値を減算する。２番目のアドレスの１〜６番目のビットは、ノード番号である。
【００８４】
３番目のアドレスの８ビット目は、入力ポート履歴である。入力ポート履歴とは、データパケットがどの入力ポートから入力されてきたかを識別するためのデータである。３番目のアドレスの１〜７ビット目は、プロセッサ番号である。４〜６番目のアドレスには、それぞれ世代番号の上位８ビットと中位８ビットと下位８ビットとが格納されている。オペランドデータは１４ビットで構成され、７番目のアドレスに上位８ビットが格納され、８番目のアドレスの１〜４ビット目に下位の４ビットが格納されている。
【００８５】
８番目のアドレスの５番目のビットはホスト出力フラグである。ホスト出力フラグは、たとえば、装置１１があるシステムに組込まれた場合に、システム内のホストプロセッサへデータパケットを出力するか否かを判別するためのフラグである。ホスト出力フラグが「０」にセットされている場合は、当該データパケットがホストプロセッサ以外へ出力される。また、ホスト出力フラグが「１」にセットされている場合は、当該データパケットがホストプロセッサへ出力される。
【００８６】
８番目のアドレスの６ビット目はホスト入力フラグである。ホスト入力フラグは、データパケットがホストプロセッサから入力されたものであるか否かを判別するためのフラグである。ホスト入力フラグが「０」にセットされている場合は、当該データパケットがホストプロセッサ以外から入力されたものであることを示す。また、ホスト入力フラグが「１」にセットされている場合は、当該データパケットがホストプロセッサから入力されたものであることを示す。
【００８７】
８番目のアドレスの７ビット目は制御フラグである。制御フラグは、それを含むデータパケットを装置１１の外部へ出力するか、装置１１の内部を伝送するかを識別するためのフラグである。データパケットが分岐部１０９に送られてきたときに、制御フラグが「０」にセットされている場合は、データパケットが分岐部１０９からバス１２３を介して合流部１０１へ送られ、装置１１の内部で処理される。また、データパケットが分岐部１０９に送られてきたときに、制御フラグが「１」にセットされている場合は、当該データパケットがバス１３５を介して外部へ出力される。
【００８８】
８番目のアドレスの８ビット目は終了フラグである。初期化情報は、各アドレス毎に８ビットのワードで読出される。８ワードで１個の初期化データパケットが生成される。ある８ワードのデータが読出され、８ワード目すなわち８番目のアドレスの８ビット目の終了フラグが「０」にセットされている場合は、さらに、次の８ワード分のデータが読出される。８番目のワードに含まれる終了フラグが「１」にセットされている場合は、その時点で初期化情報の読出を終了する。これにより、ある一連の消去処理を行なう初期化データパケットを生成するのに必要な初期化情報が読出される。
【００８９】
なお、図３のデータパケットＰ１，Ｐ２のフィールド構成図では、装置１１の動作を説明するために必要な主要なデータのみを示し、図７に示す左右フラグと入力ポート履歴とホスト出力フラグとホスト入力フラグと制御フラグと終了フラグとについては省略している。また、第１実施例では、後述する初期化情報の読出処理では、終了フラグを用いた読出の終了検出を行なわず、アドレス数入力部１１７（図１参照）から入力されたアドレス数により初期化情報の読出終了を判定するようにしている。
【００９０】
図８は、初期化データパケット生成部１６７の回路図である。初期化データパケット生成部１６７は、加算器１８１と、メモリアクセス制御回路１８３と、８個のコンパレータ１８４ａ〜１８４ｈを含むコンパレータ群１８５と、８個のラッチ回路１８６ａ〜１８６ｈを含むラッチ回路群１８７と、ラッチ回路１８８とを含む。
【００９１】
加算器１８１には、信号線１５３を介して開始アドレスが入力され、信号線１７７を介してカウント値が入力される。加算器１８１からの出力は信号線１９０を介して送られる。メモリアクセス制御回路１８３には、信号線１７５を介して初期化用クロック信号が入力される。メモリアクセス制御回路１８３からの出力は信号線１４５を介して初期化データパケット生成部１６７の外部へ出力される。信号線１７７は信号線１９１を分岐する。信号線１９１は、信号線１７７により送られる信号（８ビット）のうちの下位の３ビットの信号を送る。信号線１９１は、８個のコンパレータ１８４ａ〜１８４ｈの一方の入力端子に接続される。コンパレータ１８４ａ〜１８４ｈのもう一方の入力端子には、信号線１９２ａ〜１９２ｈを介してそれぞれ「１」〜「７」，「０」の値を表わす信号が送られている。これらの信号を生成する手段については、図示を省略する。コンパレータ１８４ａ〜１８４ｈからの出力は、信号線１９３ａ〜１９３ｈを介してラッチ回路１８６ａ〜１８６ｈへ送られる。
【００９２】
ラッチ回路１８６ａ〜１８６ｈには、信号線１４７を介して初期化情報が送られる。コンパレータ１８４ｈからラッチ回路１８６ｈへの信号線１９３ｈは、信号線１９７を分岐する。信号線１９７を介して送られる信号は、反転されてラッチ回路１８８に入力される。ラッチ回路１８６ａ〜１８６ｈからの出力は信号線１９４を介してラッチ回路１８８に入力される。ラッチ回路１８８からの出力はバス１２５を介して外部へ出力される。
【００９３】
初期化情報読出部１６７の動作について説明する。リセット信号入力部１１３（図１参照）から発せられたリセット信号は、信号線１７１を介して初期化データパケット生成部１６７内に入力され、加算器１８１とメモリアクセス制御回路１８３とコンパレータ群１８５とラッチ回路群１８７とラッチ回路１８８とに入力される。リセット信号を受けた各部は各々自己をリセットする。
【００９４】
その後、リセット信号が解除され、制御部１６１（図２参照）からの初期化用クロック信号の送出が開始されると、初期化情報読出部１１１は、初期化データパケットの生成動作を開始する。加算器１８１は、信号線１５３から送られてくる開始アドレスと信号線１７７から送られてくるカウント値とを加算してメモリ１０６内の初期化情報（図６、図７参照）を読出すための読出アドレスを生成する。加算器１８１が生成した読出アドレスは、信号線１９０を介して信号線１４５へ送られる。
【００９５】
メモリアクセス制御回路１８３は、信号線１７５を介して送られてくる初期化用クロック信号に応答し、メモリ１０６にアクセスするための信号を生成する。メモリアクセス制御回路１８３が生成する信号の中には、チップイネーブル信号とアウトプットイネーブル信号とライトイネーブル信号とが含まれる。これらを総称してアクセス信号という。メモリアクセス制御回路１８３は、生成した信号を信号線１４５を介して出力する。これにより、信号線１４５を介して、加算器１８１から出力された読出アドレスを表わす信号とメモリアクセス制御回路１８３から出力されたアクセス信号とがメモリ１０６（図１参照）へ送られる。
【００９６】
信号線１７７から分岐する信号線１９１は、カウント値を表わすビットの中の下位の３ビットのみをコンパレータ群１８５へ送る。これによりコンパレータ１８４ａ〜１８４ｈの一方の入力端子にはカウント値の大きさに応じて、「１」，「２」，「３」，…，「７」，「０」の値が順に入力される。コンパレータ１８４ａ〜１８４ｈは、各々のもう一方の入力端子に入力されている値と同じ値が信号線１９１から送られてきたときに、信号線１９３ａ〜１９３ｈを介して、対応するラッチ回路１８６ａ〜１８６ｈへ信号を送る。たとえば、信号線１９１から「１」の信号が入力された場合には、コンパレータ１８４ａからラッチ回路１８６ａへ信号が出力される。信号線１９１から「３」の値が入力された場合は、コンパレータ１８４ｃからラッチ回路１８６ｃへ信号が出力される。
【００９７】
一方、信号線１４５から出力されたアクセス信号と読出アドレスとに応答して、メモリ１０６から読出された１ワードの初期化情報が信号線１４７を介してラッチ回路群１８７へ送られる。信号線１４７から送られてくる１ワードの初期化情報は、その時点で対応するコンパレータからラッチ信号が送られたラッチ回路１８６ａ〜１８６ｈのうちのいずれかにラッチされる。これにより、信号線１４７を介して１ワードずつ送られてくる初期化情報が、ラッチ回路１８６ａ、…、ラッチ回路１８６ｄ、…ラッチ回路１８６ｈに順にラッチされる。そして、最後のラッチ回路１８６ｈが、コンパレータ１８４ｈから信号線１９３ｈを介して送られてくる信号のパルスの立上りに応答してデータをラッチした後、ラッチ回路１８８が、信号線１９３ｈから分岐する信号線１９７を介して送られるパルスの立下りに応答して、ラッチ回路１８６ａ〜１８６ｈから信号線１９４を介して送られてくるデータをラッチする。これにより、８ワードの初期化情報が結合されて１個の初期化データパケットが生成され、バス１２５を介して外部へ出力される。
【００９８】
次に、通常の演算処理用のデータパケットが装置１１の内部で処理される手順について説明する。例として、装置１１の外部からバス１２１を介してデータパケットが入力された場合を考える。入力されたデータパケットをデータパケットＰＡという。データパケットＰＡのフィールド構成は、図３（ａ）に示したデータパケットＰ１と同様である。また、データパケットＰＡに含まれる命令情報は、たとえば、２項演算処理などのように２つのオペランドデータを必要とする処理を指定するものとする。
【００９９】
図１を参照して、装置１１の外部からバス１２１を介して送られてきたデータパケットＰＡは、合流部１０１に受けられる。合流部１０１は、データパケットＰＡをバス１２７を介して発火制御部１０３へ送る。
【０１００】
発火制御部１０３は、データパケットＰＡに含まれる命令情報が２つのオペランドデータを必要とするものか否かを判定する。発火制御部１０３は、命令情報が２つのオペランドデータを必要とする処理を指定している場合には、オペランドデータの待合せ処理を行なう。発火制御部１０３は、データパケットＰＡに含まれる行先情報に基づいて、待合せメモリ（図４参照）のアクセスすべきアドレスを決定する。発火制御部１０３は、該当するアドレスの待合せフラグの値により、データパケットＰＡが、先に発火制御部１０３に入力されたデータパケットのオペランドデータに待合せの対象となっているか否かを判断する。
【０１０１】
発火制御部１０３は、待合せフラグが「１」にセットされ、データパケットＰＡのオペランドデータを待つ待合せオペランドデータが格納されている場合には、その待合せオペランドデータを読出す。発火制御部１０３は、図３（ｂ）に示したデータパケットＰ２と同様のフィールド構成のデータパケットＰＢを生成する。発火制御部１０３は、データパケットＰＢの行先フィールドＦ１と命令フィールドＦ２と世代フィールドＦ４とにデータパケットＰＡに含まれる行先情報と命令情報と世代番号とをそれぞれ格納する。発火制御部１０３は、データパケットＰＢのデータフィールドＦ３ａにデータパケットＰＡのオペランドデータを左オペランドデータとして格納し、データフィールドＦ３ｂに読出した待合せオペランドデータを右オペランドデータとして格納する。
【０１０２】
一方、発火制御部１０３は、該当するアドレスの待合せフラグが「０」であり、対応の待合せオペランドデータが格納されていない場合には、データパケットＰＡのオペランドデータを、待合せオペランドデータとして待合せメモリに格納する。このとき待合せフラグは「１」にセットされる。
【０１０３】
なお、データパケットＰＡのオペランドデータに対応するオペランドデータが既に待合せメモリ内にあったものとして以降の手順を説明する。発火制御部１０３は、生成したデータパケットＰＢをバス１２９を介して演算部１０５へ送る。
【０１０４】
演算部１０５は、データパケットＰＢの左右の２つのオペランドデータに対して、命令情報に基づいて演算処理を施す。演算部１０５は、演算処理を行なうにあたり、必要に応じてメモリ１０６から演算情報を読出したり、メモリ１０６にデータを書込んだりする。演算部１０５は、演算処理が完了した後、データパケットＰ１（図３（ａ）参照）と同様のフィールド構成のデータパケットＰＣを生成する。演算部１０５は、データパケットＰＣのデータフィールドＦ３に演算処理の結果をオペランドデータとして格納する。演算部１０５は、データパケットＰＣをバス１３１を介してプログラム記憶部１０７へ送る。
【０１０５】
プログラム記憶部１０７は、送られてきたデータパケットＰＣの行先情報に基づいて、データフロープログラムの記憶領域（図５参照）の参照すべきアドレスを決定する。プログラム記憶部１０７は、該当するアドレスに格納された行先情報と命令情報とを読出し、データパケットＰＣの行先フィールドＦ１と命令フィールドＦ２とにそれぞれ格納する。新たに格納された行先情報と命令情報とは、それぞれデータパケットＰＣの次位の行先情報と次位の命令情報とである。プログラム記憶部１０７は、データパケットＰＣをバス１３３を介して分岐部１０９へ送る。
【０１０６】
分岐部１０９は、データパケットＰＣに含まれる行先情報に基づいて、データパケットＰＣをバス１３５を介して外部へ出力するか、または、バス１２３を介して合流部１０１へ送る。データパケットＰＣが合流部１０１へ送られた場合には、前述の手順に従って、装置１１の内部でデータパケットＰＣが処理される。
【０１０７】
次に、発火制御部１０３と演算部１０５とプログラム記憶部１０７との各部における状態の遷移について説明する。各部の状態については、前述のＵｎｋｎｏｗｎとＣｏｌｄとＷａｒｍとＨｏｔとの４つの状態に分けて説明する。
【０１０８】
発火制御部１０３の状態について説明する。発火制御部１０３は、待合せメモリ（図４参照）を含む。待合せメモリの各アドレスには、待合せフラグが含まれている。発火制御部１０３が、Ｈｏｔ状態にあるときは、待合せオペランドデータが格納された場合に待合せフラグが「１」にセットされ、待合せオペランドデータが格納されていない場合には待合せフラグが「０」にセットされる。発火制御部１０３がＷａｒｍ状態にあるときは、すべてのアドレスの待合せフラグが「０」にセットされる。発火制御部１０３がＷａｒｍ状態にあるときは、待合せフラグの値による待合せオペランドデータの有無の判定が行なえない。したがって、発火制御部１０３は、オペランドデータの待合せ処理を正常に行なうことができないことがある。
【０１０９】
発火制御部１０３がＣｏｌｄ状態にあるときは、各アドレスの待合せフラグの値は不定である。この場合、発火制御部１０３は、オペランドデータの待合せ処理を正常に行なえないことがある。発火制御部１０３が、Ｕｎｋｎｏｗｎ状態にあるときは、待合せメモリ全体の内容が不定である。この場合、発火制御部１０３は、待合せフラグ自体を検索することができないことがある。
【０１１０】
本実施例では、待合せメモリにＳＲＡＭを用いる。したがって、発火制御部１０３にリセット信号を入力することにより、各アドレスの待合せフラグを強制的に「０」にセットするということはできない。したがって、本実施例では、発火制御部１０３に発火制御部用の初期化データパケットを入力し、待合せメモリを初期化する。なお、待合せメモリにリセット信号を入力することによりデータを初期化することが可能なメモリを用いるようにすれば、発火制御部１０３は、図２９（ｂ）に示したＵｎｋｎｏｗｎとＣｏｌｄ／Ｗａｒｍと、Ｈｏｔとの３つの状態で遷移することになる。この場合、発火制御部１０３に対しては、初期化データパケットを用いた初期化処理が不要となる。
【０１１１】
次に、演算部１０５の状態について説明する。演算部１０５は、内部に定数格納部と演算器とを含む。なお、演算部１０５の内部構成については従来のデータ駆動型情報処理装置と格別異なる点がないので、図示を省略する。演算器は、演算部１０５に送られてきたデータパケットのオペランドデータに対して、命令情報に基づいた演算処理を行なう。定数格納部は、演算器に接続され、演算器が行なう演算処理に必要な定数を予め記憶している。演算器は、必要に応じて定数格納部から定数を読出し、その値を演算処理に用いる。
【０１１２】
演算部１０５がＨｏｔ状態およびＷａｒｍ状態にあるときは、定数格納部に所定の値が格納されている。演算部１０５がＣｏｌｄ状態にあるときは、定数格納部に格納されている値がクリアされている。この場合、演算器は正常な演算処理を行なえないことがあるので、演算部１０５は不定状態となる。演算部１０５がＵｎｋｎｏｗｎ状態にあるときは、定数格納部に格納されている値は不定となる。この場合も演算器が正常な演算処理を行なえないことがあるので、演算部１０５は不定状態となる。なお、演算部１０５が予め記憶された定数を利用しない演算処理のみを行なうものであり、定数格納部を含まない構成である場合には、演算部１０５は、図２９（ｂ）に示すＵｎｋｎｏｗｎと、Ｃｏｌｄ／Ｗａｒｍと、Ｈｏｔとの３つの状態で遷移するので、初期化データパケットを用いた初期化処理は不要となる。
【０１１３】
次に、プログラム記憶部１０７の状態について説明する。プログラム記憶部１０７は、データフロープログラムを格納するための記憶領域（図５参照）を含む。プログラム記憶部１０７がＨｏｔ状態にあるときは、記憶領域にデータフロープログラムが格納されており、そのデータフロープログラムの読出が行なわれている。プログラム記憶部１０７がＷａｒｍ状態にあるときは、記憶領域にデータフロープログラムが格納されており、データフロープログラムの読出は行なわれていない。プログラム記憶部１０７がＣｏｌｄ状態にあるときは、記憶領域のデータがクリアされている。
【０１１４】
プログラム記憶部１０７がＵｎｋｎｏｗｎ状態にあるときは記憶領域の内容は不定である。プログラム記憶部１０７の記憶領域のすべてのデータを初期化または変更する場合には、プログラム記憶部１０７にリセット信号を入力した後、初期化データパケットを入力してデータフロープログラムをダウンロードする。また、プログラム記憶部１０７の記憶領域の一部のデータフロープログラムのみを変更する場合には、リセット信号を入力せずにデータフロープログラムの一部を変更するための初期化データパケットを入力する。
【０１１５】
なお、プログラム記憶部１０７に不揮発性のメモリを用いている場合には、記憶領域の内容を変更することがないので、プログラム記憶部１０７に対する初期化処理は不要となる。
【０１１６】
次に、装置１１を初期化する場合の処理手順について説明する。図１を参照して、操作者は、開始アドレス入力部１１５とアドレス数入力部１１７とにそれぞれ開始アドレスとアドレス数とを設定する。次に、操作者は、リセット信号入力部１１３を用いて所定時間、装置１１にリセット信号を入力する。リセット信号は、信号線１５１を介して初期化情報読出部１１１に入力される。さらに、リセット信号は、信号線１５１から分岐する信号線１５７を介して合流部１０１と発火制御部１０３とマルチプレクサ（ＭＵＸ）１０４と演算部１０５とプログラム記憶部１０７と分岐部１０９とに送られる。合流部１０１と発火制御部１０３とマルチプレクサ１０４と演算部１０５とプログラム記憶部１０７と分岐部１０９とは、送られてきたリセット信号に応答して自己をリセットする。
【０１１７】
図２を参照して、初期化情報読出部１１１の内部では、信号線１５１を介して送られてきたリセット信号が制御部１６１に入力される。さらに、リセット信号は、信号線１５１から分岐する信号線１６９を介してカウンタ部１６３と比較部１６５とに送られる。さらに、リセット信号は信号線１５１から分岐する信号線１７１を介して初期化データパケット生成部１６７に送られる。制御部１６１とカウンタ部１６３と比較部１６５と初期化データパケット生成部１６７とは、送られてきたリセット信号に応答して自己をリセットする。
【０１１８】
カウンタ部１６３は、自己をリセットすることによりカウント値を「０」にクリアする。比較部１６５は、自己をリセットすることにより、それまで記憶していたアドレス数をクリアする。初期化データパケット生成部１６７に入力されたリセット信号は、初期化データパケット生成部１６７の内部の各回路（図８参照）に送られ、各回路は、リセット信号に応答して自己をリセットする。
【０１１９】
一定時間が経過した後に、リセット信号が解除されると、それに応答して制御部１６１は一定時間毎に初期化用クロック信号を出力する。初期化用クロック信号は、信号線１７３を介してカウンタ部１６３へ入力される。さらに、初期化用クロック信号は信号線１７５を介して初期化データパケット生成部１６７へ入力される。カウンタ部１６３は、初期化用クロック信号が入力される毎にカウント値を１ずつカウントアップする。カウンタ部１６３は、カウント値を信号線１７７を介して初期化データパケット生成部１６７へ送り、信号線１７９を介して比較部１６５へ送る。初期化データパケット生成部１６７へは信号線１５３を介して開始アドレスが入力されている。初期化データパケット生成部１６７の内部では、前述したように開始アドレスと初期化用クロック信号とカウント値とに基づいて、初期化情報（図６、図７参照）を読出すためのアクセス信号と読出アドレスとが生成され、信号線１４５を介して初期化情報読出部１１１の外部へ出力される。一方、制御部１６１からは初期化データパケットの生成処理を開始した旨を示す信号が信号線１４９を介して初期化情報読出部１１１の外部へ出力される。
【０１２０】
図１を参照して、初期化情報読出部１１１から出力されたアクセス信号と読出アドレスとは、信号線１４５を介してマルチプレクサ１０４に入力される。また、初期化情報読出部１１１から出力された初期化データパケットの生成を開始した旨を示す信号は、信号線１４９を介してマルチプレクサ１０４に入力される。この信号線１４９を介して読出制御信号が入力されることにより、マルチプレクサ１０４は、演算部１０５から信号線１４１を介して送られてくるアクセス信号と読出アドレスとを信号線１４３を介してメモリ１０６に送っていた通常時の状態から、信号線１４５を介して送られてくる初期化情報読出部１１１からのアクセス信号と読出アドレスとを信号線１４３を介してメモリ１０６に送る初期化時の状態へと切換わる。これにより、メモリ１０６の初期化情報が読出される。初期化情報は、メモリ１０６内に図７に示した状態で記憶されている。初期化情報は、初期化情報読出部１１１から信号線１４５を介してアクセス信号と読出アドレスとが送られる毎に、１ワードずつ読出されて信号線１４７を介して初期化情報読出部１１１へ送られる。
【０１２１】
図２を参照して、信号線１４７を介して送られてきた１ワードずつの初期化情報は、初期化データパケット生成部１６７の内部に入力され、前述したコンパレータ群１８５とラッチ回路群１８７とラッチ回路１８８の動作により、８ワードを１組として結合され、１個の初期化データパケットとしてバス１２５を介して初期化データパケット生成部１６７から出力され、初期化情報読出部１１１の外部に出力される。初期化データパケット生成部１６７による初期化データパケットの生成動作は、制御部１６１から初期化用クロック信号が出力されている限り継続される。
【０１２２】
一方、比較部１６５は、信号線１５５を介して送られてくるアドレス数とカウンタ部１６３から信号線１７９を介して送られてくるカウント値とを逐次比較する。比較部１６５は、カウント値がアドレス数と一致した時点で、信号線１８１を介して、初期化用クロック信号の発生を停止させるための信号を制御部１６１へ送る。制御１６１は、この信号に応答して、初期化用クロック信号の出力を停止する。これにより、操作者が、開始アドレス入力部１１５とアドレス数入力部１１７とを用いて設定したアドレス情報に基づいた分の初期化情報が読出され、読出した初期化情報に基づいて初期化データパケットの生成が行なわれる。
【０１２３】
図１を参照して、初期化情報読出部１１１から出力された初期化データパケットは、バス１２５を介して１個ずつ合流部１０１へ送られる。なお、初期化データパケットのフィールド構成は、図３（ａ）に示したデータパケットＰ１と同様である。合流部１０１は、受けた初期化データパケットを通常の演算処理用のデータパケットと同様にバス１２７を介して発火制御部１０３へ送る。
【０１２４】
発火制御部１０３は、送られてきた初期化データパケットの命令フィールドＦ２に発火制御部初期化命令が格納されていれば、待合せメモリ（図４参照）の格納アドレスの待合せフラグを「０」にセットする。これにより、発火制御部１０３は、初期化されてＷａｒｍ状態になる。一方、発火制御部１０３は、初期化データパケットの命令フィールドＦ２に発火制御部初期化命令が格納されていなければ、そのまま、初期化データパケットをバス１２９を介して演算部１０５へ送る。
【０１２５】
演算部１０５に初期化データパケットが送られると、演算部１０５は、初期化データパケットの命令情報を読出す。読出された命令情報を演算器が演算部定数設定命令であるか否かを判定する。演算器は、命令情報が演算部定数設定命令であれば、初期化データパケットのデータフィールドＦ３からオペランドデータを読出す。演算部１０５を初期化するための初期化データパケットのデータフィールドＦ３には、演算部１０５の定数格納部に設定すべき定数値がオペランドデータとして格納されている。演算器は、読出した定数値を定数格納部に記憶させる。これにより、演算部１０５が初期化されてＷａｒｍ状態になる。一方、初期化データパケットの命令情報が、演算部定数設定命令でなければ、演算部１０５は、初期化データパケットをそのまま信号線１３１を介してプログラム記憶部１０７へ送る。
【０１２６】
初期化データパケットがプログラム記憶部１０７へ送られると、プログラム記憶部１０７は、初期化データパケットの命令フィールドＦ２から命令情報を読出し、その命令情報がデータフロープログラム初期化命令であるか否かを判定する。プログラム記憶部１０７は、命令情報がデータフロープログラム初期化命令であれば、初期化データパケットのデータフィールドＦ３からオペランドデータを読出す。プログラム記憶部１０７を初期化するための初期化データパケットのデータフィールドＦ３には、ダウンロードすべき行先情報と命令情報とで構成されたデータフロープログラムが格納されている。
【０１２７】
プログラム記憶部１０７は、読出したデータフロープログラムを、命令情報が指定するアドレスの記憶領域に記憶させる。これにより、初期化データパケットによって搬送されてきたデータフロープログラムがプログラム記憶部１０７にダウンロードされる。なお、プログラム記憶部１０７のデータフロープログラムを複数または全部初期化する場合には、そのデータフロープログラムの数だけプログラム記憶部１０７用の初期化データパケットを初期化情報読出部１１１にて生成し、プログラム記憶部１０７へ送る。
【０１２８】
以上の手順により、外部からリセット信号が入力され、その後にリセット信号が解除されたことをトリガとして、装置１１の内部で初期化データパケットが生成され、初期化データパケットを用いた初期化処理が行なわれる。本実施例に係る装置１１は、外部からの信号形式の入力に応答して初期化データパケットを生成するための機構を内蔵しているので、従来のようにデータ駆動型情報処理装置の外部に初期化データパケットを生成するための周辺装置を別途設ける必要がなくなる。これにより、装置１１を組込むシステムや機器等の構成が簡単になる。
【０１２９】
また、本実施例では、初期化データパケットを生成するために用いられる初期化情報を演算部１０５が演算処理に用いる演算情報とともに１個のメモリ１０６に格納している。したがって、初期化データパケットを生成するための機構を内蔵するがゆえに初期化情報を格納するためのメモリをも内蔵して装置１１の構成が複雑になったり、規模が大きくなったりする不具合を軽減することができる。
【０１３０】
［第２実施例］
次に、本発明のデータ駆動型情報処理装置の第２実施例について説明する。
【０１３１】
図９は、第２実施例に係るデータ駆動型情報処理装置２１のブロック構成図である。なお、以下の説明ではデータ駆動型情報処理装置２１を単に「装置２１」という。また、第１実施例に示したものと同様の機能を有するものは、同一の符号をつけて説明する。
【０１３２】
装置２１は、第１実施例の装置１１と同様の発火制御部１０３と、メモリ１０６と、プログラム記憶部１０７とを含む。装置２１は、さらに、合流部２０１と、合流部２０３と、演算部２０５と、分岐部２０９と、初期化情報読出要求生成部２１１と、初期化データパケット生成部２１３とを含む。装置２１の外部には、第１実施例と同様のリセット信号入力部１１３と開始アドレス入力部１１５と、アドレス数入力部１１７とが設けられている。
【０１３３】
発火制御部１０３と、演算部２０５と、プログラム記憶部１０７とは、ＵｎｋｎｏｗｎとＣｏｌｄとＷａｒｍとＨｏｔとの４つの状態で遷移する。装置２１の全体を初期化させるときには、以上の３つの部のすべてに、各々に対応する初期化データパケットを送って初期化させる。また、以上の３つの部のうちのいずれかのみを初期化させるときには、その部に対応する初期化データパケットを送る。以上の３つの部は、初期化することにより、Ｗａｒｍ状態となる。
【０１３４】
以上の３つの部以外の他の部は、ＵｎｋｎｏｗｎとＣｏｌｄ／Ｗａｒｍと、Ｈｏｔとの３つの状態で遷移する。これら他の部は、リセット信号に応答して自己をリセットすることにより、Ｃｏｌｄ／Ｗａｒｍ状態となるので、初期化データパケットを用いて初期化させる必要がない。
【０１３５】
初期化情報読出要求生成部２１１は、メモリ１０６に格納されている初期化情報の読出を要求するためのデータパケットを生成する。初期化データパケット生成部２１３は、メモリ１０６から読出された初期化情報を結合して初期化データパケットを生成する。合流部２０１は、バス１２１を介して外部の周辺装置から送られてくるデータパケットと、バス１２３を介して装置２１の内部の分岐部２０９から送られてくるデータパケットとを受け、バス１２７を介して発火制御部１０３へ送る。
【０１３６】
合流部２０３は、発火制御部１０３からバス１２９を介して送られてくるデータパケットと、初期化情報読出要求生成部２１１からバス２１９を介して送られてくる読出要求データパケットとを受け、バス２２１を介して演算部２０５へ送る。
【０１３７】
演算部２０５は、信号線２１７を介してメモリ１０６へアクセス信号と読出アドレスとを送り、メモリ１０６から初期化情報または演算情報（図６参照）を読出す。メモリ１０６から読出されたデータは、信号線２１８を介して演算部２０５へ送られる。演算部２０５は、合流部２０３から送られてきたデータパケットが初期化情報読出要求生成部２１１で生成された読出要求データパケットであれば、メモリ１０６から初期化情報を読出す。初期化情報の構成は図７に示したとおりである。演算部２０５は、読出した初期化情報を読出要求データパケットのデータフィールドＦ３に格納し、バス２２３を介して初期化データパケット生成部２１３へ送る。
【０１３８】
また、演算部２０５は、合流部２０３から送られてきたデータパケットが通常の演算処理を行なうためのデータパケット（以下、「演算処理用データパケット」という）であれば、その演算処理用データパケットに含まれる命令情報に基づいて算術演算や論理演算などの演算処理を施し、その結果を格納したデータパケットをバス１３１を介してプログラム記憶部１０７へ送る。
【０１３９】
プログラム記憶部１０７は、送られてきたデータパケットの行先情報に基づいて記憶領域からデータフロープログラムを読出す。プログラム記憶部１０７は、読出したデータフロープログラムに含まれる行先情報と命令情報とをそれぞれデータパケットの行先フィールドＦ１と命令フィールドＦ２とに次位の行先情報と次位の命令情報として格納し、そのデータパケットをバス１３３を介して分岐部２０９へ送る。
【０１４０】
一方、初期化データパケット生成部２１３は、演算部２０５から送られてきた読出要求データパケットに格納されている初期化情報を所定数ずつ結合して初期化データパケットを生成する。初期化データパケット生成部２１３は、生成した初期化データパケットをバス２２５を介して分岐部２０９へ送る。
【０１４１】
分岐部２０９は、送られてきたデータパケットをバス１３５を介して装置２１の外部か、または、バス１２３を介して装置２１の合流部２０１かへ送る。分岐部２０９は、送られてきたデータパケットが初期化データパケット生成部２１３で生成された初期化データパケットであれば、その初期化データパケットを合流部２０１へ送る。初期化データパケットの内部には出力先を制御するための制御フラグ（図７参照）が含まれている。分岐部２０９は、この制御フラグを参照して、送られてきたデータパケットが初期化データパケットであるか他のデータパケットであるかを判別する。
【０１４２】
リセット信号入力部１１３から発せられたリセット信号は、信号線１５１を介して装置２１の内部に入力され、初期化情報読出要求生成部２１１へ入力される。さらに、リセット信号は、信号線１５１から分岐する信号線１５７を介して、合流部２０１と発火制御部１０３と合流部２０３と演算部２０５とプログラム記憶部１０７と初期化データパケット生成部２１３と分岐部２０９とへ送られる。リセット信号が送られた各部は、各々自己をリセットする。
【０１４３】
開始アドレス入力部１１５とアドレス数入力部１１７とから出力される設定信号は、それぞれ信号線１５３と信号線１５５とを介して初期化情報読出要求生成部２１１へ入力される。
【０１４４】
図１０〜図１３を参照して演算部２０５と、初期化情報読出要求生成部２１１と、初期化データパケット生成部２１３との詳細構成について説明する。
【０１４５】
図１０は、初期化情報読出要求生成部２１１のブロック構成図である。初期化情報読出要求生成部２１１は、制御部２３１と、カウンタ部２３３と、比較部２３５と、読出データパケット生成部２３７とを含む。制御部２３１には、信号線１５１を介してリセット信号が入力される。リセット信号は、信号線１５１から分岐する信号線２３９を介してカウンタ部２３３と比較部２３５とに入力される。さらに、リセット信号は、信号線１５１から分岐する信号線２４１を介して読出データパケット生成部２３７へ入力される。制御部２３１とカウンタ部２３３と比較部２３５と読出データパケット生成部３４７とは、リセット信号が入力されると、自己をリセットしてＣｏｌｄ／Ｗａｒｍの状態になる。
【０１４６】
制御部２３１は、リセット信号がＯＮ状態となってから一定時間が経過した後にＯＦＦ状態となったことに応答して初期化用クロック信号の発生を開始する。制御部２３１は、初期化用クロック信号を信号線２４３を介してカウンタ部２３３へ送り、信号線２４５を介して読出データパケット生成部２３７へ送る。カウンタ部２３３は、初期化用クロック信号が入力される度にカウント値を１ずつカウントアップする。カウンタ部２３３は、リセット信号の入力に応答して自己をリセットし、カウント値を「０」にクリアする。カウンタ部２３３は、信号線２４７を介して読出データパケット生成部２３７へカウント値を送る。さらに、カウンタ部２３３は、カウント値を信号線２４７から分岐する信号線２２７を介して比較部２３５と初期化情報読出要求生成部２１１の外部へ送る。
【０１４７】
読出データパケット生成部２３７には、信号線１５３を介して開始アドレスが入力される。読出データパケット生成部２３７は、カウンタ部２３３からカウント値が入力される度に、そのカウント値と開始アドレスとを加算して初期化情報を読出すための読出アドレスを生成する。読出データパケット生成部２３７は、生成した読出アドレスを格納した読出要求データパケットを生成する。読出データパケット生成部２３７は、読出要求データパケットをバス２１９を介して初期化情報読出要求生成部２１１の外部へ出力する。
【０１４８】
読出データパケット生成部２３７は、制御部２３１から初期化用クロック信号が出力され、カウンタ部２３３からカウント値が出力されている限り読出要求データパケットの生成処理を継続し、読出アドレスを１個ずつ含んだ読出要求データパケットを順次生成して出力する。
【０１４９】
比較部２３５には、信号線１５５を介してアドレス数が入力される。比較部２３５は、カウンタ部２３３から送られてくるカウント値をアドレス数と比較する。比較部２３５は、カウント値がアドレス数と一致した時点で、信号線２４９を介して制御部２３１へ初期化用クロック信号の発生を停止させるための信号を出力する。制御部２３１は、比較部２３５から送られてきた信号に応答して、初期化用クロック信号の出力を停止する。これにより、読出要求データパケットの生成処理が終了する。
【０１５０】
図１１は、読出データパケット生成部２３７の回路図である。読出データパケット生成部２３７は、加算器２５１と、ハードウェア設定部２５３と、ラッチ回路２５５とを含む。加算器２５１とハードウェア設定部２５３とラッチ回路２５５とは信号線２４１を介して入力されるリセット信号に応答して各々自己をリセットする。
【０１５１】
加算器２５１は、信号線１５３を介して送られてくる開始アドレスと、信号線２４７を介して送られてくるカウント値とを加算し、その加算値を信号線２５９を介してラッチ回路２５５へ送る。加算値は初期化情報を読出すための読出アドレスである。
【０１５２】
ハードウェア設定部２５３は、読出アドレス以外の読出要求データパケットを生成するために必要なデータを生成する。ハードウェア設定部２５３は、生成したデータをバス２６１を介してラッチ回路２５５へ送る。ラッチ回路２５５へは信号線２４５を介して初期化用クロック信号が入力される。ラッチ回路２５５は、初期化用クロック信号に応答して、加算器２５１から送られてくる読出アドレスとハードウェア設定部２５３から送られてくるデータとをラッチする。ラッチ回路２５５へラッチされたデータは、読出要求データパケットとしてバス２１９へ出力される。
【０１５３】
図１２は、演算部２０５（図９参照）の回路図である。演算部２０５は、第１実施例の装置１１に含まれる演算部と同様の演算部１０５を含む。本実施例では、演算部２０５が、通常の演算処理と共に、初期化情報の読出処理とを行なう。演算部２０５は、演算部１０５の他、命令デコーダ２６５と分岐部２６７とを含む。演算部２０５にバス２２１を介してデータパケットが入力されると、演算部１０５は、そのデータパケットに含まれる命令情報に従って処理を行なう。演算部１０５は、必要に応じて信号線２１７を介してメモリ１０６（図９参照）へアクセス信号と読出アドレスとを送る。メモリ１０６からは読出されたデータが信号線２１８を介して演算部１０５へ送られる。演算部２０５へ送られてきたデータパケットが読出要求データパケットであれば、演算部１０５は、読出要求データパケットに含まれる読出アドレスが指定する初期化情報をメモリ１０６から読出す。
【０１５４】
一方、命令デコーダ２６５は、信号線２６９を介してデータパケットの命令情報を解読する。命令デコーダ２６５は、解読結果を信号線２７０を介して分岐部２６７へ送る。演算部１０５は、通常の演算処理を行なった結果を格納したデータパケット、または、読出した初期化情報を格納した読出要求データパケットをバス２７１を介して分岐部２６７へ送る。
【０１５５】
分岐部２６７は、命令デコーダ２６５から送られてくる命令の解読結果を判定し、命令が初期化情報の読出を要求するものであれば、演算部１０５から送られてきたデータパケットを初期化データパケット生成部２１３に接続されたバス２２３へ出力する。分岐部２６７は、命令が初期化情報の読出を要求するもの以外であれば、演算部１０５から送られてきたデータパケットをプログラム記憶部１０７に接続されたバス１３１へ出力する。
【０１５６】
図１３は、初期化データパケット生成部２１３の回路図である。初期化データパケット生成部２１３は、初期化情報抽出部２８１と、８個のコンパレータ２８３ａ〜２８３ｈを含むコンパレータ群２８５と、８個のラッチ回路２８６ａ〜２８６ｈを含むラッチ回路群２８７と、ラッチ回路２８８とを含む。初期化情報抽出部２８１と、コンパレータ群２８５と、ラッチ回路群２８７と、ラッチ回路２８８とは、それぞれ信号線１５７を介して送られるリセット信号を受けて自己をリセットする。
【０１５７】
コンパレータ２８３ａ〜２８３ｈの一方の入力端子には信号線２２７を介して初期化情報読出要求生成部２１１から送られてくるカウント値のビットの中の下位の３ビットが入力される。コンパレータ２８３ａ〜２８３ｈのもう一方の入力端子には、信号線２９１ａ〜２９１ｈを介してそれぞれ「１」〜「７」，「０」の値を表わす信号が送られている。初期化情報読出要求生成部２１１から出力されるカウント値に応じて信号線２２７を介して「１」〜「７」「０」の信号が順次送られてくると、信号線２９１ａ〜２９１ｈから同じ信号が入力されているコンパレータ２８３ａ〜２８３ｈの中の１つから対応するラッチ回路２８６ａ〜２８６ｈへ信号線２９３ａ〜２８３ｈを介して信号が送られる。
【０１５８】
一方、初期化データパケット生成部２１３には、バス２２３を介して演算部２０５（図９参照）から初期化情報を格納した読出要求データパケットが送られる。初期化情報抽出部２８１は、読出要求データパケットを受け、格納されている初期化情報を読出す。初期化情報抽出部２８１は、読出した初期化情報を信号線２９５を介してラッチ回路群２８７へ送る。ラッチ回路群２８７では、対応するコンパレータからラッチ信号が出力されているラッチ回路２８６ａ〜２８６ｈの中の１つが、その時点で初期化情報抽出部２８１から送られている初期化情報をラッチする。これにより、信号線２２７を介して送られてくるカウント値に応答して、バス２２３を介して送られてくる読出要求データパケットに含まれる初期化情報が、ラッチ回路２８６ａ〜２８６ｈに順次ラッチされる。
【０１５９】
そして、信号線２９３ｈを介して８番目のラッチ回路２８６ｈへ送られる信号のパルスが立上り、８個目の初期化情報がラッチ回路２８６ｈにラッチされると、その後、信号線２９３ｈから分岐する信号線２９４を介して、同様のパルス信号がラッチ回路２８８へ送られる。パルス信号が立下ると、ラッチ回路２８８は、これに応答してラッチ回路２８６ａ〜２８６ｈから信号線２９６を介して送られてくる８個の初期化情報をラッチする。ラッチ回路２８８は、８個の初期化情報を結合して初期化データパケットとしてバス２２５を介して外部へ出力する。これにより、メモリ１０６（図１参照）から１ワードずつ読出された初期化情報が、初期化データパケット生成部２１３にて８個を１組として結合され、初期化データパケットが生成される。
【０１６０】
図９を参照して、初期化データパケット生成部２１３から出力された初期化データパケットは、バス２２５を介して分岐部２０９へ送られる。分岐部２０９は、初期化データパケットをバス１２３を介して合流部２０１へ送る。合流部２０１へ送られた初期化データパケットは、そのデータパケットが初期化の対象とする機能部へ到達するまで、発火制御部１０３と合流部２０３と演算部２０５とプログラム記憶部１０７とに順次伝送される。初期化データパケットは、初期化の対象とする機能部へ到達すると、その機能部が初期化データパケットに含まれる命令情報および初期化のために必要なデータを読出して、自己を初期化する。なお、本実施例において初期化データパケットを用いて初期化する対象となるのは、発火制御部１０３と演算部２０５とプログラム記憶部１０７である。これらの各部の初期化処理の内容は、第１実施例と同様である。
【０１６１】
以上説明した本発明の第２実施例によれば、装置２１の内部に初期化データパケットを生成する機構を内蔵し、かつ、初期化情報を演算情報と共に１個のメモリ１０６内に予め格納する。さらに、第２実施例では、初期化情報をメモリ１０６から読出す処理を、演算部２０５が行なうようにしている。したがって、初期化情報を読出すための手段を、装置２１の内部に別途設ける必要がなくなり、装置２１の構成を簡単にし、かつ規模を小さくすることが可能となる。
【０１６２】
［第３実施例］
次に、本発明のデータ駆動型情報処理装置の第３実施例について説明する。本実施例は、外部からのデータ駆動型情報処理装置に対する初期化の要求を、データパケットを入力することによっても行なえるようにしている。なお、第１実施例および第２実施例と同様の機能を有するものは、同一の符号をつけて説明する。
【０１６３】
図１４は、本実施例に係るデータ駆動型情報処理装置３１のブロック構成図である。以下の説明では、データ駆動型情報処理装置３１を単に「装置３１」という。装置３１は、合流部２０１と発火制御部１０３と、演算部２０５と、メモリ１０６と、プログラム記憶部１０７と、分岐部２０９と、初期化データパケット生成部２１３とを含む。これらの構成は、第２実施例と同様である。さらに、装置３１は、要求検出部３０１と、初期化情報読出要求生成部３０３とを含む。装置３１の外部には、第１実施例および第２実施例と同様にリセット信号入力部１１３と、開始アドレス入力部１１５と、アドレス数入力部１１７とが設けられている。
【０１６４】
第２実施例と同様に、装置３１の全体を初期化させるときには、発火制御部１０３と、演算部２０５と、プログラム記憶部１０７とのすべてに、各々に対応する初期化データパケットを送って初期化させる。また、以上の３つの部のうちのいずれかのみを初期化させるときには、その部に対応する初期化データパケットを送る。以上の３つの部以外の他の部は、リセット信号に応答して自己をリセットすることにより、Ｃｏｌｄ／Ｗａｒｍ状態となるので、初期化データパケットを用いて初期化させる必要はない。
【０１６５】
装置３１には、外部の周辺装置からバス１２１を介してデータパケットが入力される。入力されるデータパケットとしては、演算処理用データパケットと初期化データパケットとの他、初期化要求データパケットとリセット初期化要求データパケットとがある。初期化要求データパケットは、装置３１に対して初期化を要求するための命令（以下「初期化要求命令」という）を格納している。また、リセット初期化要求データパケットは、装置３１に対してリセットと初期化とを要求するための命令（以下「リセット初期化要求命令」という）を格納している。
【０１６６】
要求検出部３０１は、信号線１５１から分岐する信号線３１１を介してリセット信号入力部１１３が出力したリセット信号が送られてくると、そのリセット信号を信号線３１３を介して、合流部２０１と発火制御部１０３と演算部２０５とプログラム記憶部１０７と初期化データパケット生成部２１３と分岐部２０９と、外部の周辺装置とへ送る。また、要求検出部３０１は、バス１２９を介して送られてきたデータパケットが、リセット初期化要求データパケットであれば、リセット信号が送られてきたときと同様に、信号線３１３を介して装置３１の内部の前述した各部と、周辺装置とへリセット信号を送り、さらに、信号線３１４を介して初期化情報読出要求生成部３０３へもリセット信号を送る。
【０１６７】
要求検出部３０１は、初期化要求データパケットまたはリセット初期化要求データパケットが送られてきたことに応答して、信号線３１５，３１６，３１７を介して初期化情報読出要求生成部３０３へ信号を送る。信号線３１５は、初期化を要求する命令を検出したことを示す要求検出信号を送る。信号線３１６は、初期化情報を読出すための開始アドレスを送る。信号線３１７は、初期化情報を読出すアドレス数を送る。要求検出部３０１には、バス３１９を介して初期化情報読出要求生成部３０３から読出要求データパケットが送られる。要求検出部３０１は、バス１２９を介して送られてくる演算処理用データパケットと同様に、読出要求データパケットをバス２２１を介して演算部２０５へ送る。
【０１６８】
初期化情報読出要求生成部３０３は、信号線１５１を介してリセット信号入力部１１３からリセット信号が入力され、そのリセット信号が解除されたことに応答して読出要求データパケットの生成を開始する。また、初期化情報読出要求生成部３０３は、要求検出部３０１から信号線３１５を介して要求検出信号が送られてきたときにも読出要求データパケットの生成を開始する。
【０１６９】
初期化情報読出要求生成部３０３は、リセット信号の入力解除に応答して読出要求データパケットを生成する場合には、読出要求データパケットに格納する初期化情報の読出アドレスを信号線１５３を介して開始アドレス入力部１１５から送られてくる開始アドレスに基づいて定める。この場合、初期化情報読出要求生成部３０３は、信号線１５５を介してアドレス入力部１１７から送られてくるアドレス数に基づいて読出要求データパケットの生成の終了タイミングを検出する。
【０１７０】
一方、初期化情報読出要求生成部３０３は、信号線３１５から送られてくる要求検出信号に応答して読出要求データパケットを生成する場合には、読出要求データパケットに格納する初期化情報の読出アドレスを信号線３１６から送られてくる開始アドレスに基づいて定める。この場合、初期化情報読出要求生成部３０３は、読出要求データパケットの生成の終了タイミングを信号線３１７から送られてくるアドレス数により検出する。
【０１７１】
初期化データパケット生成部２１３の構成は、第２実施例にて説明したとおりである。初期化データパケット生成部２１３は、初期化情報読出要求生成部３０３から信号線２２７を介して送られてくるカウント値に応答して初期化データパケットを生成する。
【０１７２】
図１５は、初期化情報読出要求生成部３０３のブロック構成図である。初期化情報読出要求生成部３０３は、制御部３３１と、カウンタ部３３３と、比較部３３５と、読出データパケット生成部３３７とを含む。これらの各部は、信号線１５１を介して送られてくるリセット信号または信号線３１５を介して送られてくる要求検出信号に応答して読出要求データパケットを生成する動作を開始する。
【０１７３】
信号線１５１を介してリセット信号が入力された場合の動作について説明する。信号線１５１を介して送られてきたリセット信号は、制御部３３１へ送られる。また、リセット信号は、信号線１５１から分岐する信号線３４１を介してカウンタ部３３３と比較部３３５とへ送られる。さらに、リセット信号は、信号線１５１から分岐する信号線３４３を介して読出データパケット生成部３３７へ送られる。制御部３３１は、送られてくるリセット信号がＯＮ状態からＯＦＦ状態へ切換えられたことに応答して信号線３４５を介して初期化用クロック信号を出力する。
【０１７４】
また、制御部３３１は、読出データパケット生成部３３７に対して信号線３５０を介してシステムクロック信号を出力する。システムクロック信号は、装置３１の全体を同期させるために用いられる信号である。システムクロック信号を発生させるための手段は、装置３１の内部または外部に設けられる。この手段から初期化情報読出要求生成部３０３に送られてきたシステムクロック信号は、制御部３３１に入力され、制御部３３１から他の部へ送られる。なお、システムクロック信号を発生させる手段と、信号を送るための他の信号線とについては、図示を省略する。
【０１７５】
カウンタ部３３３は、リセット信号に応答して自己をリセットして、カウント値を「０」にクリアする。その後、カウンタ部３３３は、送られてくる初期化用クロック信号に応答してカウント値を１ずつカウントアップする。カウント値は、信号線３４７を介して読出データパケット生成部３３７へ送られ、さらに、信号線２２７を介して比較部３３５と、初期化情報読出要求生成部３０３の外部とへ出力される。
【０１７６】
読出データパケット生成部３３７は、初期化用クロック信号とシステムクロック信号とに応答して、信号線１５３から送られてくる開始アドレスと信号線３４７を介して送られてくるカウント値とに基づいて初期化情報の読出アドレスを生成し、その読出アドレスを格納した読出要求データパケットを生成する。読出データパケット生成部３３７は、生成した読出要求データパケットをバス３１９を介して初期化情報読出要求生成部３０３の外部へ出力する。
【０１７７】
比較部３３５は、信号線１５５を介して送られてくるアドレス数と信号線２２７を介して送られてくるカウント値とを比較し、カウント値がアドレス数と一致した時点で信号線３５５を介して制御部３３１へ初期化用クロック信号の出力を停止させるための信号を送る。制御部３３１は、この信号に応答して初期化用クロック信号の出力を停止する。これにより、読出要求データパケットの生成動作が停止する。
【０１７８】
次に、信号線３１５を介して送られてくる要求検出信号に応答して読出要求データパケットの生成動作を行なうときの手順について説明する。要求検出信号は、初期化要求データパケットまたはリセット初期化要求データパケットが装置３１に入力された場合に生成される。リセット初期化要求データパケットが入力された場合には、要求検出信号が信号線３１５を介して初期化情報読出要求生成部３０３に送られてくる前に、信号線３１４を介して要求検出部３０１からリセット信号が送られてくる。このリセット信号は、読出データパケット生成部３３７へ入力され、さらに、信号線３１４から分岐する信号線３５１を介して制御部３３１とカウンタ部３３３と比較部３３５とに入力される。
【０１７９】
制御部３３１は、信号線３５１から送られてくるリセット信号に対しては、自己をリセットする処理のみを行ない、そのリセット信号の解除に応答して初期化用クロック信号を発生させる動作を開始しない。その後、一定時間が経過した後に、信号線３１５を介して要求検出信号が制御部３３１へ送られ、さらに、信号線３１５から分岐する信号線３５３を介して要求検出信号が読出データパケット生成部３３７へ送られる。要求検出信号が送られてきたことにより、読出要求データパケットの生成動作が開始される。
【０１８０】
読出要求データパケットの生成動作が開始されてからの制御部３３１とカウンタ部３３３との動作については、信号線１５１を介して入力されるリセット信号の解除に応答した生成動作と同様である。読出データパケット生成部３３７は、信号線１５３を介して送られてくる開始アドレスの代わりに信号線３１６を介して要求検出部３０１から送られてくる開始アドレスを用いる。また、比較部３３５は、信号線１５５を介して送られてくるアドレス数の代わりに信号線３１７を介して要求検出部３０１から送られてくるアドレス数を用いる。制御部３３１から初期化用クロック信号が出力されている限り、読出要求データパケットが順次生成されてバス３１９を介して出力される。そして、比較部３３５から制御部３３１へ信号が送られた時点で、読出要求データパケットの生成動作が停止する。
【０１８１】
図１６は、読出データパケット生成部３３７の回路図である。読出データパケット生成部３３７は、ラッチ回路３６１と、ラッチ回路３６３と、マルチプレクサ（ＭＵＸ）３６５と、加算器３６７と、ハードウェア設定部３６８と、ラッチ回路３６９と、ＯＲ回路３７７とを含む。
【０１８２】
装置３１の外部から入力されたリセット信号を送る信号線３４３は、ＯＲ回路３７７の一方の入力端子に接続される。また、要求検出部３０１から出力されたリセット信号を送る信号線３１４は、ＯＲ回路３７７のもう一方の入力端子に接続される。信号線３４３または信号線３１４のいずれかからリセット信号が送られてくれば、ＯＲ回路３７７の出力端子からリセット信号が出力され、そのリセット信号が信号線３７９と信号線３８０とを介して読出データパケット生成部３３７の各部へ送られる。各部は、リセット信号が送られてきたことに応答して自己をリセットする。
【０１８３】
その後、ラッチ回路３６１は、信号線３５０を介して送られてくるシステムクロック信号に応答して、信号線３５３を介して送られてくる要求検出信号をラッチする。また、ラッチ回路３６３は、信号線３５０を介して送られてくるシステムクロック信号に応答して信号線３１６を介して送られてくる開始アドレスをラッチする。マルチプレクサ３６５には、ラッチ回路３６３から信号線３７１を介して送られてくる開始アドレスと、信号線１５３から送られてくる開始アドレスとが入力される。マルチプレクサ３６５は、ラッチ回路３６１から信号線３７０を介して送られてくる信号すなわち要求検出信号がＯＮ状態となっている場合に、ラッチ回路３６３から送られてくる開始アドレスを信号線３７２を介して加算器３６７へ送る。一方、マルチプレクサ３６５は、信号線３７０から送られてくる信号がＯＦＦ状態のときは信号線１５３を介して送られてくる開始アドレスを、信号線３７２を介して加算器３６７へ送る。これにより、装置３１の初期化の要求が、外部からのリセット信号の入力によるものか、または、初期化要求データパケットかリセット初期化要求データパケットかの入力によるものかに応じて、信号線１５３を介して送られてくる開始アドレスと信号線３１６を介して送られてくる開始アドレスが選択される。
【０１８４】
加算器３６７は、信号線３７２から送られてくる開始アドレスと、信号線３４７を介して送られてくるカウント値とを加算し、その加算値を信号線３７３を介してラッチ回路３６９へ送る。この加算値は、初期化情報の読出アドレスである。また、ハードウェア設定部３６８は、読出アドレス以外の読出要求データパケットを生成するために必要なデータを生成してバス３７５を介してラッチ回路３６９へ送る。ラッチ回路３６９は、信号線３４６から送られてくる初期化用クロック信号に応答して、加算器３６７から送られてくる読出アドレスとハードウェア設定部３６８から送られてくるデータとをラッチし、それらを結合して読出要求データパケットとして出力する。読出要求データパケットは、バス２２１を介して外部へ送られる。
【０１８５】
図１７は、要求検出部３０１のブロック構成図である。要求検出部３０１は、合流部３８１と、リセット要求検出部３８３と、初期化要求検出部３８５とを含む。合流部３８１は、バス１２９を介して発火制御部１０３（図１４参照）から送られてくるデータパケットと、バス３１９を介して初期化情報読出要求生成部３０３から送られてくる読出要求データパケットとをバス３８７を介してリセット要求検出部３８３へ送る。
【０１８６】
リセット要求検出部３８３は、バス３８７を介して送られてきたデータパケットがリセット初期化要求データパケットであれば、または信号線３１１を介してリセット信号が送られてくれば、それらに応答してリセット信号を出力する。リセット要求検出部３８３から出力されるリセット信号は、信号線３１３と信号線３１４とを介して要求検出部３０１の外部へ出力される。さらに、リセット信号は、信号線３１３から分岐する信号線３９１を介して合流部３８１へ送られ、信号線３９３を介して初期化要求検出部３８５へ送られる。
【０１８７】
合流部３８１と初期化要求検出部３８５とは、リセット信号に応答して自己をリセットする。また、信号線３１４を介して出力されたリセット信号は、初期化情報読出要求生成部３０３へ送られる。信号線３１３を介して出力されたリセット信号は、前述したように発火制御部１０３や演算部２０５やプログラム記憶部１０７などへ送られる。
【０１８８】
リセット要求検出部３８３は、送られてきたデータパケットがリセット初期化要求データパケットであれば、そのリセット初期化要求データパケットを初期化要求データパケットに変換してバス３８９を介して初期化要求検出部３８５へ送る。また、リセット要求検出部３８３は、送られてきたデータパケットがリセット初期化要求データパケット以外のデータパケットであれば、そのデータパケットをそのままバス３８９を介して初期化要求検出部３８５へ送る。
【０１８９】
初期化要求検出部３８５は、送られてきたデータパケットが初期化要求データパケットであれば、要求検出信号を信号線３１５を介して初期化情報読出要求生成部３０３へ送る。さらに初期化要求検出部３８５は、初期化要求データパケットに含まれる開始アドレスとアドレス数とをそれぞれ信号線３１６と信号線３１７とを介して初期化情報読出要求生成部３０３へ送る。初期化要求検出部３８５は、以上の処理が完了すれば、初期化要求データパケットを消去する。初期化要求検出部３８５は、送られてきたデータパケットが初期化要求データパケット以外のデータパケットであれば、それをそのままバス２２１を介して演算部２０５（図１４参照）へ送る。
【０１９０】
図１８は、リセット要求検出部３８３の回路図である。リセット要求検出部３８３は、ラッチ回路４０１と、データパケット変換部４０３と、ラッチ回路４０５と、単安定マルチバイブレータ４０７と、単安定マルチバイブレータ４０９と、パルスカット回路４１１と、ＯＲ回路４１３とを含む。バス３８７は、データパケットを搬送するためのパルスを送る信号線４２１と、データパケットを送るバス４２３とを含む。信号線４２１は、単安定マルチバイブレータ４０７に接続される。単安定マルチバイブレータ４０７からの出力は信号線４２９を介して単安定マルチバイブレータ４０９へ送られる。単安定マルチバイブレータ４０９からの出力は信号線４３１を介してパルスカット回路４１１へ送られる。
【０１９１】
パルスカット回路４１１からの出力は信号線４３３を介して外部へ出力される。バス４２３を介して送られるデータパケットは、ラッチ回路４０１へ入力される。ラッチ回路４０１は、信号線４２１から分岐する信号線４２２を介して送られてくる信号に応答して、データパケットをラッチする。ラッチ回路４０１は、ラッチしたデータパケットをバス４２５を介してデータパケット変換部４０３へ送る。
【０１９２】
データパケット変換部４０３は、送られてきたデータパケットがリセット初期化要求データパケットであれば、それを初期化要求データパケットに変換してバス４２７を介してラッチ回路４０５へ送る。データパケット変換部４０３は、送られてきたデータパケットがリセット初期化要求データパケットでなければ、それをそのままラッチ回路４０５へ送る。ラッチ回路４０５は、信号線４３３から分岐する信号線４３５を介して送られてくる信号線に応答して、ラッチ回路４０１から送られてきたデータパケットをラッチする。ラッチ回路４０５がラッチしたデータパケットは、バス４３７を介して外部へ出力される。バス４３７と信号線４３３とによりバス３８９が構成される。
【０１９３】
さらに、単安定マルチバイブレータ４０７からの信号線４２９から分岐する信号線４４１は、ＯＲ回路４１３の一方の入力端子に接続される。ＯＲ回路４１３のもう一方の入力端子には、信号線３１１が接続される。ＯＲ回路４１３の出力は、信号線３１３を介して外部へ出力される。また、信号線４４１からは信号線３１４が分岐し、初期化情報読出要求生成部３０３（図１４参照）に接続されている。なお、信号線４２９を介して送られる信号が信号線４４１へ分岐して送られるのは、バス４２３を介して送られてきたデータパケットがリセット初期化要求データパケットである場合である。バス４２３を介して送られてきたデータパケットがリセット初期化要求データパケットであるか否かに応じてｒ信号を信号線４４１へ出力するか否かを決定するための機構については図示を省略する。
【０１９４】
図にて、信号線４２１と信号線４２９と信号線４３１と信号線４３３とに付されているｉ，ｒ，ａ，ｏは、信号線の種類を示す符号である。これらｉ信号とｒ信号とａ信号とｏ信号との変化については図２０を参照して後述する。
【０１９５】
図１９は、データパケット変換部４０３のブロック構成図である。データパケット変換部４０３は、リセット初期化要求命令検出部４５１と、ハードウェア設定部４５３と、マルチプレクサ（ＭＵＸ）４５５とを含む。バス４２５を介して送られてきたデータパケットは、マルチプレクサ４５５の一方の入力部に入力される。バス４２５からはバス４５７が分岐する。バス４５７は、データパケットの命令情報以外のデータをマルチプレクサのもう一方の入力部へ送る。また、ハードウェア設定部４５３は、初期化要求命令を生成する。ハードウェア設定部４５３から出力された初期化要求命令は、バス４５９を介して、マルチプレクサ４５５の２つの入力部のうち、バス４５７が接続されている方の入力部へ送られる。
【０１９６】
一方、バス４２５を介して送られるデータパケットの命令情報が、信号線４５２を介してリセット初期化要求命令検出部４５１により解読される。リセット初期化要求命令検出部４５１は、データパケットに含まれる命令情報がリセット初期化要求命令であれば、その旨を示す信号を信号線４５４を介してマルチプレクサ４５５へ送る。
【０１９７】
マルチプレクサ４５５は、信号線４５４から送られてくる信号がＯＮ状態であれば、バス４５７とバス４５９とを介して送られてくるデータを結合して初期化要求データパケットを生成し、バス４２７を介して外部へ出力する。また、マルチプレクサ４５５は、信号線４５４から送られてくる信号がＯＦＦ状態であれば、バス４２５を介して送られてくるデータパケットをそのままバス４２７を介して外部へ出力する。これにより、データパケット変換部４０３へ送られてきたデータパケットのうち、リセット初期化要求データパケットのみが初期化要求データパケットに変換される。
【０１９８】
図２０は、リセット要求検出部３８３の内部における信号の変化を示すタイミングチャートである。同図を参照してリセット要求検出部３８３の動作について説明する。図示した信号は、データパケットの搬送に用いられるパルス信号であるｉ信号と、単安定マルチバイブレータ４０７から出力されるｒ信号と、単安定マルチバイブレータ４０９から出力されるａ信号と、パルスカット回路４１１から出力されるｏ信号である。
【０１９９】
データパケットを搬送するためのパルス信号であるｉ信号が入力されると、このｉ信号の立上りに応答して、単安定マルチバイブレータ４０７から期間Ｔ２のｒ信号が出力される。このｒ信号は、バス４２３を介して送られてきたデータパケットがリセット初期化要求データパケットである場合に、信号線４４１を介してＯＲ回路４１３へ送られ、さらに、信号線３１４を介して初期化情報読出要求生成部３０３へ送られる。このｒ信号が、リセット初期化要求データパケットに応答して生成されるリセット信号となる。
【０２００】
ｒ信号の立下りに応答して、単安定マルチバイブレータ４０９から期間Ｔ３のａ信号が出力される。このａ信号の立下りに応答してパルスカット回路４１１から期間Ｔ４のｏ信号が出力される。ｏ信号は、ラッチ回路４０５がデータパケットをラッチするためのトリガとなる信号である。
【０２０１】
リセット要求検出部３８３へリセット初期化要求データパケットが送られてきた場合には、ｒ信号の出力期間であるＴ２が、リセット要求検出部３８３からリセット信号が出力されるリセット期間となる。また、ａ信号が立上がってから立下るまでの期間Ｔ３が、リセット期間が終了してから初期化要求データパケットが出力されるまでの待機期間となる。この待機時間は、装置３１の構成や装置３１を組込むシステムや機器等の構成に応じて、リセット処理が完了するために必要な十分な長さになるように単安定マルチバイブレータ４０９を調整して設定すればよい。
【０２０２】
なお、リセットさせるべき内部の各部および外部の周辺装置のすべてがリセット信号のパルスの立上りに応答して自己をリセットするものである場合には、次のような変形が可能である。たとえば、単安定マルチバイブレータ４０９を用いず、単安定マルチバイブレータ４０７からのｒ信号を十分な長さの期間出力するようにし、パルスカット回路５１５には、ｒ信号の立下りに応答させてｏ信号を出力させる。
【０２０３】
図２１は、初期化要求検出部３８５の回路図である。初期化要求検出部３８５は、ラッチ回路４６１と、遅延素子４６３と、命令デコーダ４６５と、ラッチ回路４６７と、ＡＮＤ回路４６９と、ラッチ回路４７１とを含む。各部は、信号線３１１を介して送られてくるリセット信号と信号線３９３を介して送られてくるリセット信号とに応答して自己をリセットする。バス３８９は、データパケットを搬送するためのパルス信号を送るための信号線４７５と、データパケットを送るためのバス４７７とを含む。
【０２０４】
ラッチ回路４６１は、信号線４７５から分岐する信号線４７９から送られてくる信号に応答して、バス４７７を介して送られてくるデータパケットをラッチする。ラッチ回路４６１にラッチされたデータパケットは、バス４９１を介してラッチ回路４７１へ送られる。信号線４７５を介して送られる信号は、遅延素子４６３により所定時間遅延された後、信号線４８１を介して出力される。
【０２０５】
命令デコーダ４６５には、ラッチ回路４６１にラッチされているデータパケットの命令情報が信号線４８５を介して送られる。命令デコーダ４６５は、命令情報が初期化要求命令である場合に、所定の信号を信号線４８７を介してＡＮＤ回路４６９の一方の入力端子に送る。ＡＮＤ回路４６９のもう一方の入力端子には信号線４８１から分岐する信号線４８３を介して信号が入力される。命令デコーダ４６５からの出力信号がＯＮ状態のときは、遅延素子４６３から所定時間遅延されたパルス信号が信号線４８３を介して送られてきたときに、ＡＮＤ回路４６９から信号線３１５を介して信号が出力される。この信号は、信号線３１５を介して要求検出信号として外部に出力されるとともに、信号線３１５から分岐する信号線４８９を介してラッチ回路４６７へ送られる。
【０２０６】
ラッチ回路４６７へは、ラッチ回路４６１にラッチされているデータパケットに含まれる開始アドレスとアドレス数とが、バス４９３を介して送られている。ラッチ回路４６７は、信号線４８９から送られてきた信号に応答して開始アドレスとアドレス数とをラッチする。ラッチ回路４６７は、開始アドレスを信号線３１６を介して外部へ出力し、アドレス数を信号線３１７を介して外部へ出力する。ラッチ回路４７１は、信号線４８１から分岐する信号線４９５を介して送られてくる信号に応答して、バス４９１を介して送られてくるデータパケットをラッチし、バス４９７を介して外部へ出力する。
【０２０７】
これにより、初期化要求検出部３８５に初期化要求データパケットが送られてきた場合には、要求検出信号が信号線３１５を介して出力されるとともに、初期化要求データパケットに含まれる開始アドレスとアドレス数とが信号線３１６と信号線３１７とを介して外部へ出力される。なお、初期化要求データパケットは、初期化要求検出部３８５への所定の処理が完了した後に消去されるが、その消去するための機構については図示を省略する。
【０２０８】
以上説明した第３実施例によれば、データ駆動型情報処理装置に対する初期化の要求を、リセット信号を入力した後その入力を解除することの他、初期化要求命令を含むデータパケットを入力することによっても行なうことができる。さらに、リセットと初期化とを行なうことを要求する命令を含むデータパケットを入力することにより、初期化に先立ってデータ駆動型情報処理装置の全体をリセットすることができる。また、要求検出部３０１は、リセット信号またはリセット初期化要求データパケットの入力に応答して、装置３１の内部と周辺装置とにリセット信号を出力するので、たとえば、装置３１にリセットの要求を入力すれば、装置３１を組込んだシステムや機器等の全体をリセットすることができる。さらにまた、本実施例では、リセット初期化要求データパケットが入力された場合には、リセット期間が終了した後、装置３１および外部の周辺装置がすべてリセットされるために十分な時間待機した後、読出要求データパケットを生成する動作を開始するようにできるので、リセット処理の途中で初期化データパケットが生成され、初期化処理に支障が生じることを防止することができる。
【０２０９】
なお、本実施例では、要求検出部３０１が、リセット要求検出部３８３と初期化要求検出部３８５とを含むように構成しているが、要求検出部３０１が初期化要求検出部３８５のみを含むように変形してもよい。この場合、装置３１の全体を初期化させるときには、リセット信号入力部１１３からリセット信号を入力した後、リセットが完了するのに十分な時間が経過した後に、バス１２１を介して初期化要求データパケットを入力する。
【０２１０】
［第４実施例］
次に、本発明のデータ駆動型情報処理装置の第４実施例について説明する。第４実施例では、データ駆動型情報処理装置が、外部からのリセット信号の入力が解除されたことに応答して、データ駆動型情報処理装置の内部で初期化要求データパケットを生成する機構を含むことを特徴とする。前述の第１〜第３の実施例と同様の機能を有するものは、同一の符号を付けて説明する。
【０２１１】
図２２は、第４実施例に係るデータ駆動型情報処理装置４１のブロック構成図である。以下の説明ではデータ駆動型情報処理装置４１を単に「装置４１」という。装置４１は、合流部２０１と発火制御部１０３と演算部２０５と、メモリ１０６と、プログラム記憶部１０７と、分岐部２０９と、初期化データパケット生成部２１３とを含む。これらの構成は、第３実施例の装置３１に含まれるものと同様である。さらに、装置４１は、要求検出部５０１と初期化要求生成部５０３と、初期化情報読出要求生成部５０５とを含む。装置４１の外部には、前述した各実施例と同様に、リセット信号入力部１１３と、開始アドレス入力部１１５とアドレス数入力部１１７とが設けられている。
【０２１２】
装置４１の全体または一部を初期化させるときに初期化データパケットを送る必要があるのは、第３実施例と同様、発火制御部１０３と、演算部２０５と、プログラム記憶部１０７とである。外部の周辺装置からバス１２１を介して、および、装置４１の内部の分岐部２０９からバス１２３を介して合流部２０１へ送られてきたデータパケットが、発火制御部１０３と要求検出部５０１と演算部２０５と、プログラム記憶部１０７または初期化データパケット生成部３０５と、分岐部２０９とを経て処理される手順は、第３実施例と同様である。装置４１に含まれる要求検出部５０１と初期化情報読出要求生成部５０５とは、それぞれ第３実施例の装置３１に含まれる要求検出部３０１と初期化情報読出要求生成部３０３とに対応する。
【０２１３】
初期化要求生成部５０３には、リセット信号入力部１１３から出力されるリセット信号が信号線１５１を介して入力される。さらに、初期化要求生成部５０３には、開始アドレス入力部１１５から出力される開始アドレスとアドレス数入力部１１７から出力されるアドレス数とが、それぞれ信号線１５３と信号線１５５とを介して入力される。初期化要求生成部５０３は、信号線１５１を介して入力されたリセット信号に応答して、初期化要求データパケットを生成する。初期化要求生成部５０３は、初期化要求データパケットの内部に初期化要求命令と開始アドレスとアドレス数とを格納してバス５１１を介して要求検出部５０１へ送る。
【０２１４】
要求検出部５０１は、バス５１１を介して初期化要求データパケットが送られてくると、それに応答して、要求検出信号と開始アドレスとアドレス数とをそれぞれ信号線３１５と信号線３１６と信号線３１７とを介して初期化情報読出要求生成部５０５へ送る。一方、要求検出部５０１へは、信号線１５１から分岐する信号線３１１を介してリセット信号が入力される。要求検出部５０１は、リセット信号が入力されるとそのリセット信号を信号線３１３を介して合流部２０１と、発火制御部１０３と、演算部２０５と、プログラム記憶部１０７と、初期化データパケット生成部２１３と、分岐部２０９と、装置４１の外部の周辺装置とへ出力する。さらに、要求検出部５０１は、リセット初期化要求データパケットを受けた場合にのみ、信号線３１４を介して初期化要求生成部５０３へリセット信号を送る。
【０２１５】
要求検出部５０１には、バス１２９を介して発火制御部１０３から演算処理用データパケットと初期化データパケットと初期化要求データパケットとリセット初期化要求データパケットとなどが送られる。また、要求検出部５０１には、バス３１９を介して初期化情報読出要求生成部５０５から読出要求データパケットが送られる。これらバス１２９とバス３１９とを介してデータパケットが送られてきた場合の要求検出部５０１の処理は、第３実施例の要求検出部３０１と同様である。
【０２１６】
要求検出部５０１が要求検出部３０１と異なるのは、要求検出部５０１は、初期化要求生成部５０３から初期化要求データパケットを受け、それに応答して要求検出信号と開始アドレスとアドレス数とを初期化情報読出要求生成部５０５へ送るという点である。
【０２１７】
図２３（ａ）は、初期化要求生成部５０３の回路図である。初期化要求生成部５０３は、パルスカット回路５１５と、ハードウエア設定部５１７とラッチ回路５１９とを含む。パルスカット回路５１５には、信号線１５１を介してリセット信号が入力される。
【０２１８】
パルスカット回路５１５の入力信号と出力信号との関係を図２３（ｂ）のタイミングチャートに示す。パルスカット回路５１５は、信号線１５１を介して送られてくるリセット信号のパルスが立上ってから期間Ｔ１１が経過した後に期間Ｔ１２のパルスを出力する。このパルス信号は信号線５２１を介して送られる。
【０２１９】
このパルス信号に応答して、後述する手順により初期化要求データパケットが生成されて出力される。期間Ｔ１１は、リセット信号が立上ってからパルス信号が出力されるまでの待機時間である。この待機時間は、装置４１を組込むシステムや機器等の構成に応じて、リセット処理が完了するために必要な十分な長さになるように、パルスカット回路５１５を調整して設定すればよい。なお、本実施例では、リセットの対象となる各部は、すべてリセット信号の立上りに応答して自己をリセットする。
【０２２０】
パルスカット回路５１５から出力されたパルス信号は、信号線５２１から分岐する信号線５２３を介してラッチ回路５１９へ送られる。ラッチ回路５１９は、このパルス信号に応答して、信号線１５３を介して送られてくる開始アドレスと、信号線１５５を介して送られてくるアドレス数と、ハードウエア設定部５１７からバス５２５を介して送られてくるデータとをラッチする。ハードウエア設定部５１７は、開始アドレスとアドレス数と以外の、初期化要求データパケットを生成するために必要なデータを出力する。ラッチ回路５１９は、ラッチした各データを結合して初期化要求データパケットを生成し、バス５２７を介して外部へ出力する。信号線５２１とバス５２７とによりバス５１１（図２２参照）が構成されている。
【０２２１】
パルスカット回路５１５と、ハードウエア設定部５１７と、ラッチ回路５１９とは、それぞれ信号線１５１を介して送られてくるリセット信号、または、信号線３１４を介して送られてくるリセット信号に応答して、自己をリセットする。信号線３１４を介して送られてくるリセット信号は、要求検出部５０１（図２２参照）が、リセット初期化要求データパケットに応答して出力したものである。なお、パルスカット回路５１５は、信号線３１４を介して送られてきたリセット信号に対しては、これに応答して前述のパルス信号の出力を行なわず、自己をリセットするのみである。
【０２２２】
図２４は、初期化情報読出要求生成部５０５のブロック構成図である。初期化情報読出要求生成部５０５は、制御部５３５と、カウンタ部５３７と、比較部５３９と、読出データパケット生成部５４１とを含む。これらは、図１５に示した第３実施例の制御部３３１と、カウンタ部３３３と、比較部３３５と、読出データパケット生成部３３７とにそれぞれ相当する。各部へは、または、各部からは、第３実施例と同一の符号を付けた信号線３１３，３１５，３１６，３１７，３２１，３４５，３４６，３５０，３５１，３５３，３５５と、バス３１９とを介して、同様の信号またはデータパケットが送られる。但し、信号線３１３は、第３実施例の信号線３１４に対応する。
【０２２３】
初期化情報読出要求生成部５０５が、第３実施例の初期化情報読出要求生成部３０３と異なるのは、初期化情報読出要求生成部５０５には、装置４１の外部からのリセット信号と、開始アドレスと、アドレス数との入力がない点である。初期化情報読出要求生成部５０５は、信号線３１５を介して送られてくる要求検出信号にのみ応答して、読出要求データパケットの生成動作を開始する。また、初期化情報読出要求生成部５０５に含まれる制御部５３５とカウンタ部５３７と比較部５３９と読出データパケット生成部５４１とのそれぞれは、信号線３１３を介して要求検出部５０１から送られてくるリセット信号に応答して自己をリセットする。信号線３１３を介して送られてきたリセット信号は、信号３１３から分岐する信号線３５１を介して制御部５３５とカウンタ部５３７と比較部５３９とに送られる。
【０２２４】
信号線３１５を介して要求検出信号が送られてきてからの制御部５３５とカウンタ部５３７と比較部５３９と読出データパケット生成部５４１とによる読出要求データパケットの生成動作は、第３実施例の制御部３３１とカウンタ部３３３と比較部３３５と読出データパケット生成部３３７とによるものと同様であるので説明を省略する。
【０２２５】
図２５は、要求検出部５０１のブロック構成図である。要求検出部５０１は、図１７に示した第３実施例の要求検出部３０１の構成に加え、さらに、合流部５４５を含む。合流部５４５へは、リセット要求検出部３８３と、初期化要求生成部５０３（図２２参照）とから、それぞれバス３８９と、バス５１１とを介してデータパケットが送られる。合流部５４５は、バス５１５を介して初期化要求生成部５０３から初期化要求データパケットが送られてきていないときは、バス３８９を介してリセット要求検出部３８３から送られてくるデータパケットを、バス５４７を介して初期化要求検出部３８５へ送る。一方、合流部５４５は、バス５１１から初期化要求データパケットが送られてくれば、この初期化要求データパケットをバス３８９から送られてくるデータパケットに優先して、バス５４７を介して初期化要求検出部３８５へ送る。なお、合流部５４５は、リセット要求検出部３８３から出力されたリセット信号を信号線３９３を介して受け、このリセット信号に応答して自己をリセットする機能を有する。
【０２２６】
要求検出部５０１の他の構成については、第３実施例の要求検出部３０１と同様であるので説明を省略する。
【０２２７】
以上の構成により、装置４１は、リセット信号入力部１１３からリセット信号が入力されると、そのリセット信号は、初期化要求生成部５０３と要求検出部３０１とへ送られる。要求検出部５０１は、送られてきたリセット信号を初期化要求生成部５０３を除いた各部へ送る。各部は自己をリセットする。初期化要求生成部５０３は、リセット信号に応答して、自己をリセットした後、所定時間が経過した後に、初期化要求データパケットを生成する。初期化要求データパケットは、要求検出部５０１へ送られる。要求検出部５０１は、送られてきた初期化要求データパケットに応答して、要求検出信号と開始アドレスとアドレス数とを初期化情報読出要求生成部５０５へ送る。初期化情報読出要求生成部５０５は、送られてきた信号に基づいて読出要求データパケットを生成する。生成した読出要求データパケットは、要求検出部５０１へ送られ、要求検出部５０１から演算部２０５へ送られる。演算部２０５へ読出要求データパケットが送られた後の処理は、第２実施例および第３実施例と同様である。
【０２２８】
一方、装置４１の外部からバス１２１を介してリセット初期化要求命令が入力された場合は、要求検出部５０１から信号線３１４を介して送られるリセット信号が初期化要求生成部５０３へ送られる点を除いては、第３実施例と同様である。また、バス１２１を介して初期化要求が入力された場合は、第３実施例と同様である。
【０２２９】
以上説明したように、本実施例では、外部からリセット信号を入力することにより、データ駆動型情報処理装置に、内部で初期化要求データパケットを生成させ、これを用いて初期化処理を行なわせることができる。
【０２３０】
［第５実施例］
次に、本発明のデータ駆動型情報処理装置の第５実施例について説明する。第５実施例はメモリ１０６から読出す初期化情報に含まれる終了フラグ（図７参照）を判定することにより、初期化データパケットの生成の終了タイミングを検出することを特徴とする。前述の第４実施例と同様の機能を有するものは、同一の符号を付けて説明する。
【０２３１】
図２６は、第５実施例に係るブロック構成図である。以下の説明では、データ駆動型情報処理装置５１を単に「装置５１」という。装置５１は、合流部２０１と発火制御部１０３と、演算部２０５と、メモリ１０６と、プログラム記憶部１０７と、分岐部２０９と、初期化要求生成部５０３とを含む。これらの構成は、第４実施例の装置４１（図２２参照）に含まれるものと同様である。さらに、装置５１は、要求検出部６０１と、初期化情報読出要求生成部６０３と、初期化データパケット生成部６０５とを含む。装置４１の外部には、リセット信号入力部１１３と、開始アドレス入力部１５１とが設けられている。本実施例では、第４実施例のアドレス数入力部１１７を用いない。
【０２３２】
第４実施例の要求検出部５０１は、信号線３１７を介して初期化情報読出要求生成部５０５へアドレス数を送るが、本実施例の要求検出部６０１は、アドレス数を出力する機能を持たない。また、本実施例の初期化データパケット生成部６０５は、信号線６０７を介して初期化情報読出要求生成部６０３へ初期化情報の最終ワード（図７参照）すなわち、８ワード目のデータを送る。初期化情報読出要求生成部６０３は、初期化データパケット生成部６０５から送られてきた最終ワードのデータの最上位ビット（８番目のビット）の終了フラグ（図７参照）を判定する。初期化情報読出要求生成部６０３は、終了フラグが「０」にセットされている場合には、読出要求データパケットの生成動作を継続して、その間に読出要求データパケットを順次生成してバス３１９を介して出力する。一方、初期化情報読出要求生成部６０３は、終了フラグが「１」にセットされていれば、読出要求データパケットの生成動作を停止する。
【０２３３】
図２７は、初期化情報読出要求生成部６０３のブロック構成図である。初期化情報読出要求生成部６０３は、制御部５３５と、カウンタ部５３７と、読出データパケット生成部５４１とを含む。これらは、第４実施例の初期化情報読出要求生成部５０５（図２４参照）に含まれるものと同様である。
【０２３４】
さらに、初期化情報読出要求生成部６０３は、第４実施例の比較部５３９に代えて、終了検出部６１１を含む。終了検出部６１１は、信号線６０７を介して初期化データパケット生成部６０５から初期化情報の最終ワードのデータを受ける。終了検出部６１１は、送られてきたデータの最上位ビットの終了フラグを判定し、終了フラグが「１」であれば、制御部５３５へ信号線６１３を介して初期化用クロック信号の出力を停止させるための信号を送る。制御部５３５は、この信号に応答して、カウンタ部５３７と読出データパケット生成部５４１とへの初期化用クロック信号の出力を停止する。これにより、初期化情報読出要求生成部６０３の読出要求データパケットの生成動作が停止する。
【０２３５】
要求検出部６０１の構成は、図示を省略する。要求検出部６０１は、第４実施例の要求検出部５０１（図２５参照）の構成にて、信号線３１７を介してアドレス数を出力する機能を除いたものである。
【０２３６】
初期化データパケット生成部６０５の構成は、図示を省略する。初期化データパケット生成部６０５は、第２〜第４実施例の初期化データパケット生成部２１３（図１３参照）の構成にて、ラッチ回路群２８７に含まれる８番目のラッチ回路２８６ｈからの出力を送る信号線を分岐させ、その信号線を信号線６０７として初期化データパケット生成部２１３の外部へ引出して初期化情報読出要求生成部６０３に接続させたものである。
【０２３７】
以上の説明した第５実施例によれば、メモリ１０６に格納する初期化情報の中に含まれている終了フラグを判定することにより、初期化データパケットの生成を終了するタイミングを検出する。したがって、データ駆動型情報処理装置の外部からアドレス数を表わす信号を入力したり、初期化要求データパケットまたはリセット初期化要求データパケットの中にアドレス数を表わすデータを格納したりする必要がなくなる。
【０２３８】
次に、前述した第１〜第５実施例の構成と、請求項記載の構成との対応関係について説明する。
【０２３９】
請求項１について説明する。前記発火制御部１０３により、請求項１記載の待合せ制御手段が構成される。前記演算部１０５により、請求項１記載の演算手段が構成される。前記プログラム記憶部１０７により、請求項記載のプログラム記憶手段が構成される。前記メモリ１０６により、請求項記載のデータ記憶手段が構成される。
【０２４０】
前記発火制御部１０３から出力される左オペランドデータと右オペランドデータとを格納したデータパケットＰＢが、請求項１記載の第１のデータパケットに対応する。前記演算部１０５から出力されるデータパケットＰＣが、請求項１記載の第２のデータパケットに対応する。前記プログラム記憶部１０７にて次位の行先情報と次位の命令情報とが格納されたデータパケットＰＣと、前記合流部１０１から発火制御部１０３へ送られるデータパケットＰＡとが、請求項１記載の第３のデータパケットに対応する。
【０２４１】
前記発火制御部初期化命令が格納された初期化データパケットと、前記演算部定数設定命令が格納された初期化データパケットと、前記データフロープログラム初期化命令が格納された初期化データパケットとが、請求項１記載の初期化データパケットに対応する。前記演算情報が、請求項１記載の演算処理に必要なデータに対応する。前記初期化情報が、請求項１記載の初期化データパケットを生成するためのデータに対応する。前記リセット信号と、前記初期化要求データパケットと、前記リセット初期化要求データパケットとが、請求項１記載の初期化要求に対応する。
【０２４２】
さらに、請求項１記載の初期化データパケット生成手段は、各実施例のそれぞれにて以下のものにより構成される。第１実施例の初期化情報読出部１１１。第２実施例の初期化情報読出要求生成部２１１と、初期化データパケット生成部２１３との組合わせ。第３実施例の初期化情報読出要求生成部３０３と初期化データパケット生成部２１３と要求検出部３０１との組合わせ。第４実施例の初期化情報読出要求生成部５０５と、要求検出部５０１と、初期化要求生成部５０３との組合わせ。第５実施例の初期化情報読出要求生成部６０３と初期化データパケット生成部６０５と、要求検出部６０１と、初期化要求生成部５０３との組合わせ。
【０２４３】
次に、請求項２記載の構成について説明する。第２実施例では初期化情報読出要求生成部２１１により、第３実施例では初期化情報読出要求生成部３０３により、第４実施例では初期化情報読出要求生成部５０５により、第５実施例では初期化情報読出要求生成部６０３により、それぞれ、請求項２記載の読出データパケット生成手段が構成される。前記読出要求データパケットが、請求項２記載の読出データパケットに対応する。前記演算部２０５により、請求項２記載の読出制御手段が構成される。第２〜第４実施例では初期化データパケット生成部２１３により、第５実施例では初期化データパケット生成部６０５により、それぞれ、請求項２記載のデータパケット生成手段が構成される。
【０２４４】
次に、請求項３記載の構成について説明する。第２実施例では初期化情報読出要求生成部２１１により、第３実施例では初期化情報読出要求生成部３０３により、第４実施例では初期化情報読出要求生成部５０５により、第５実施例では初期化情報読出要求生成部６０３により、それぞれ、読出データパケット生成手段が構成される。なお、第３〜第５実施例では、初期化情報読出要求生成部にて生成された読出要求データパケットが、演算部に直接は入力されず、要求検出部へ入力されているが、要求検出部は、入力された読出要求データパケットをそのまま演算部へ送る。すなわち、この場合の要求検出部は、単なる搬送手段である。なお、第３〜第５実施例にて、初期化情報読出要求生成部が生成した読出要求データパケットを要求検出部へ送らずに、直接演算部へ送るように変形してもよい。
【０２４５】
前記演算部２０５により、請求項３記載の読出データパケットに応答して、データ記憶手段から初期化データパケットを生成するためのデータを読出すように動作する演算手段が構成されている。第２〜第４実施例では初期化データパケット生成部２１３により、第５実施例では初期化データパケット生成部６０５により、それぞれ請求項３記載のデータパケット生成手段が構成される。
【０２４６】
次に、請求項４記載の構成について説明する。第２実施例では初期化情報読出要求生成部２１１により、第３実施例では初期化情報読出要求生成部３０３により、第４実施例では初期化情報読出要求生成部５０５により、第５実施例では初期化情報読出要求生成部６０３により、それぞれ、請求項４記載の読出データパケット生成手段が構成される。第２〜第４実施例では初期化データパケット生成部２１３により、第５実施例では初期化データパケット生成部６０５により、それぞれ、請求項４記載のデータパケット生成手段が構成される。前記初期化情報の読出しを要求する命令が、請求項４記載の初期化データパケットを生成するためのデータをワード単位で読出すことを要求する情報に対応する。前記図７に示した８ワードの初期化情報がワード単位で読出されたデータが、請求項４記載の複数ワードのデータに対応する。
【０２４７】
次に、請求項５記載の構成について説明する。請求項５記載の検出手段は、第２〜第５実施例のそれぞれにて、以下のものにより構成される。第２実施例のカウンタ部２３３と比較部２３５との組合わせ。第３実施例のカウンタ部３３３と比較部３３５との組合わせ。第４実施例のカウンタ部５３７と比較部５３９との組合わせ。第５実施例のカウンタ部５３７と終了検出部６１１との組合わせ。第２実施例では制御部２３１により、第３実施例では制御部３３１により、第４および第５実施例では制御部５３５により、それぞれ、請求項５記載の停止制御手段が構成される。
【０２４８】
次に、請求項６記載の構成について説明する。前記リセット信号および前記要求検出信号が、請求項６記載の予め定められた信号に対応する。
【０２４９】
次に、請求項７記載の構成について説明する。第３実施例では要求検出部３０１により、第４実施例では要求検出部５０１により、第５実施例では要求検出部６０１により、それぞれ、請求項７記載の初期化要求出力手段が構成される。前記要求検出信号が、請求項７記載の初期化要求に対応する。前記初期化要求命令が、請求項７記載の予め定められた特定の情報に対応する。
【０２５０】
次に、請求項８記載の構成について説明する。第３実施例ではリセット要求検出部３８３により、第４および第５実施例ではリセット要求検出部５４４により、それぞれ請求項８記載のリセット信号生成手段が構成される。前記初期化要求検出部３８５により、請求項８記載の初期化要求生成手段が構成される。第３〜第５実施例にて、信号線３１３を介して送られるリセット信号が、請求項８記載の各々をリセットさせるための信号に対応する。第３〜第５実施例にてリセット要求検出部３８３，５４４からリセット初期化要求データパケットの内容を変換して生成する初期化要求データパケットが、請求項８記載のリセットさせるための信号の出力が開始されてから所定時間が経過したことを表わす信号に対応する。第３〜第５実施例にて初期化要求検出部３８５が生成する要求検出信号が、請求項８記載の初期化要求に対応する。
【０２５１】
次に、請求項９記載の構成について説明する。第２実施例ではカウンタ部２３３により、第３実施例ではカウンタ部３３３により、第４実施例ではカウンタ部５３７により、それぞれ請求項９記載のカウント手段が構成される。第２実施例では比較部２３５により、第３実施例では比較部３３５により、第４実施例では比較部５３９により、それぞれ、請求項９記載の比較手段が構成される。前記カウント値が、請求項９記載の読出データパケットを生成した数に対応する。前記アドレス数が、請求項９記載の予め定められた数に対応する。
【０２５２】
次に、請求項１０記載の構成について説明する。第５実施例の装置５１に含まれる終了検出部６１１により、請求項１０記載の検出手段が構成される。第５実施例の装置５１に含まれる演算部２０５により、請求項１０記載の読出制御手段が構成される。前記１個の初期化データパケットを生成するための初期化情報の８ワード目のデータが、請求項１０記載の予め定められた特定のデータに対応する。前記初期化情報に含まれる終了フラグが、請求項１０記載の終了タイミングを表わす情報に対応する。
【０２５３】
【発明の効果】
以上説明したように、
請求項１記載の発明によれば、演算手段が行なう演算処理に必要なデータと、待合せ制御手段と演算手段とプログラム記憶手段とを初期化するための初期化データパケットを生成するためのデータとが、同一のデータ記憶手段に記憶される。したがって、これら２種類のデータを別々のデータ記憶手段に記憶させる場合と比べて、データ駆動型情報処理装置の構成を簡単に、かつ、小規模にすることができる。
また、演算手段が、読出データパケットに応答してデータ記憶手段から初期化データパケットを生成するためのデータを読出す。したがって、データ記憶手段から初期化データパケットを生成するためのデータを読出すための手段を別途含む場合と比べて、データ駆動型情報処理装置の構成を簡単に、かつ、小規模にすることができる。
【０２５６】
請求項２記載の発明によれば、読出データパケットが、初期化データパケットを生成するためのデータをワード単位で読出すことを要求する情報を格納し、この情報に従って読出された複数ワードのデータが結合されて初期化データパケットが生成される。したがって、データ記憶手段に、初期化情報をワード単位で記憶させておき、初期化データパケットの生成に用いることができる。
【０２５７】
請求項３記載の発明によれば、読出データパケットの生成の終了が検知され、その検知出力に応答して読出データパケットの生成動作が停止する。したがって、初期化要求を入力して初期化データパケットの生成を開始させた後、その生成を終了させるための要求を入力することなく、適正なタイミングで初期化データパケットの生成動作を停止させることができる。
【０２５８】
請求項４記載の発明によれば、予め定められた信号を入力することにより、データ駆動型情報処理装置に対して初期化を要求することができる。
【０２５９】
請求項５記載の発明によれば、データパケットに含まれる予め定められた特定の情報が読出されて、読出データパケット生成手段に初期化要求が出力される。したがって、予め定められた特定の情報を含むデータパケットをデータ駆動型情報処理装置に入力することにより、データ駆動型情報処理装置に対して初期化の要求を行なうことができる。
【０２６０】
請求項６記載の発明によれば、データパケットに含まれる予め定められた特定の情報が読出されて、待合わせ制御手段と、プログラム記憶手段と、演算手段と、データ駆動型情報処理装置の外部に設けられた周辺装置とに、各々をリセットさせるための信号が出力される。その信号の出力が停止した後、初期化要求が生成され、読出データパケット生成手段に出力される。したがって、予め定められた特定の情報を含むデータパケットをデータ駆動型情報処理装置に入力することにより、待合せ制御手段と、プログラム記憶手段と、演算手段と、周辺装置とをリセットさせ、その後、待合せ制御手段と、プログラム記憶手段と、演算手段とを初期化することが可能となる。しかも、周辺装置をリセットさせるための信号を出力するので、データ駆動型情報処理装置を組込んだシステムや機器等にてデータ駆動型情報処理装置に対して予め定められた特定の情報を含むデータパケットを入力すれば、システムまたは機器全体をリセットするさせることができる。
【０２６１】
さらには、リセットさせるための信号の出力時間が開始してから所定時間が経過した後に初期化要求が生成され、この要求に基づいて、初期化データパケットが生成される。したがって、待合せ制御手段と、プログラム記憶手段と、演算手段と、周辺装置との全部または一部がリセットされるための十分な時間が経過した後に、初期化データパケットによる初期化処理が行なわれるようにすることができる。
【０２６２】
請求項７記載の発明によれば、読出データパケットを生成した数がカウントされ、その数が予め定められた数と比較され、生成した数が予め定められた数に至れば読出データパケットの生成の終了が検知される。したがって、データ駆動型情報処理装置に対して読出データパケットの生成を終了させるための操作が不要となる。
【０２６３】
請求項８記載の発明によれば、初期化情報の中の予め定められた特定のデータに終了タイミングを表わす情報を含ませることにより、所望のタイミングで読出データパケットの生成動作を停止させることができる。
【０２６４】
以上により、構成が簡単で規模が小さく、かつ、不必要に動作を停止させずに初期化処理を行なうことが可能なデータ駆動型情報処理装置を提供することが可能となる。
【図面の簡単な説明】
【図１】本発明の第１実施例に係るデータ駆動型情報処理装置のブロック構成図である。
【図２】初期化情報読出部のブロック構成図である。
【図３】データパケットのフィールド構成図である。
【図４】発火制御部の記憶領域のフィールド構成図である。
【図５】プログラム記憶部の記憶領域のフィールド構成図である。
【図６】メモリ上の初期化情報と演算情報との記憶状態とを示す模式図である。
【図７】１個の初期化データパケットを生成するために用いられる初期化情報の記憶状態を示す図である。
【図８】初期化データパケット生成部の回路図である。
【図９】本発明の第２実施例に係るデータ駆動型情報処理装置のブロック構成図である。
【図１０】初期化情報読出部のブロック構成図である。
【図１１】読出データパケット生成部の回路図である。
【図１２】初期化情報の読出機能を備ええた演算部のブロック構成図である。
【図１３】初期化データパケット生成部の回路図である。
【図１４】本発明の第３実施例に係るデータ駆動型情報処理装置のブロック構成図である。
【図１５】初期化情報読出要求生成部のブロック構成図である。
【図１６】読出データパケット生成部の回路図である。
【図１７】要求検出部のブロック構成図である。
【図１８】リセット要求検出部の回路図である。
【図１９】データパケット変換部の回路図である。
【図２０】リセット要求検出部内の信号の変化を示すタイミングチャートである。
【図２１】初期化要求検出部の回路図である。
【図２２】本発明の第４実施例に係るデータ駆動型情報処理装置のブロック構成図である。
【図２３】（ａ）は初期化要求生成部の回路図であり、（ｂ）はパルスカット回路の入出力信号の変化を示すタイミングチャートである。
【図２４】初期化情報読出要求生成部のブロック構成図である。
【図２５】要求検出部のブロック構成図である。
【図２６】本発明の第５実施例に係るデータ駆動型情報処理装置のブロック構成図である。
【図２７】初期化情報読出要求生成部のブロック構成図である。
【図２８】従来の一般的なデータ駆動型情報処理装置のブロック構成図である。
【図２９】データ駆動型情報処理装置の状態の遷移を示す模式図である。
【図３０】本発明の関連技術の一例に係るデータ駆動型情報処理装置のブロック構成図である。
【図３１】関連技術のデータ駆動型情報処理装置に含まれる初期化部のブロック構成図である。
【符号の説明】
１１，２１，３１，４１，５１  データ駆動型情報処理装置
１０１，２０１  合流部
１０３  発火制御部
１０５，２０５  演算部
１０６  メモリ
１０７  プログラム記憶部
１０９，２０９  分岐部
１１３  リセット信号入力部
１１５  開始アドレス入力部
１１７  アドレス数入力部
１１１  初期化情報読出部
１６１，２３１，３３１，５３５  制御部
１６３，２３３，３３３，５３７  カウンタ部
１６５，２３５，３３５，５３９  比較部
１６７  初期化データパケット生成部
２１１，３０３，５０５，６０３  初期化情報読出要求生成部
２１３，６０５  初期化データパケット生成部
３０１，５０１，６０１  要求検出部
３８３，５４４  リセット要求検出部
３８５  初期化要求検出部
６１１  終了検出部
【図１】
0003706397.tif 000002
【図２】
0003706397.tif 000003
【図３】
0003706397.tif 000004
【図４】
0003706397.tif 000005
【図５】
0003706397.tif 000006
【図６】
0003706397.tif 000007
【図７】
0003706397.tif 000008
【図８】
0003706397.tif 000009
【図９】
0003706397.tif 000010
【図１０】
0003706397.tif 000011
【図１１】
0003706397.tif 000012
【図１２】
0003706397.tif 000013
【図１３】
0003706397.tif 000014
【図１４】
0003706397.tif 000015
【図１５】
0003706397.tif 000016
【図１６】
0003706397.tif 000017
【図１７】
0003706397.tif 000018
【図１８】
0003706397.tif 000019
【図１９】
0003706397.tif 000020
【図２０】
0003706397.tif 000021
【図２１】
0003706397.tif 000022
【図２２】
0003706397.tif 000023
【図２３】
0003706397.tif 000024
【図２４】
0003706397.tif 000025
【図２５】
0003706397.tif 000026
【図２６】
0003706397.tif 000027
【図２７】
0003706397.tif 000028
【図２８】
0003706397.tif 000029
【図２９】
0003706397.tif 000030
【図３０】
0003706397.tif 000031
【図３１】
0003706397.tif 000032