JP3706397B2 - データ駆動型情報処理装置 - Google Patents

データ駆動型情報処理装置 Download PDF

Info

Publication number
JP3706397B2
JP3706397B2 JP12395994A JP12395994A JP3706397B2 JP 3706397 B2 JP3706397 B2 JP 3706397B2 JP 12395994 A JP12395994 A JP 12395994A JP 12395994 A JP12395994 A JP 12395994A JP 3706397 B2 JP3706397 B2 JP 3706397B2
Authority
JP
Japan
Prior art keywords
data packet
initialization
unit
data
signal
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
JP12395994A
Other languages
English (en)
Other versions
JPH07334483A (ja
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 JP12395994A priority Critical patent/JP3706397B2/ja
Priority to US08/465,333 priority patent/US5652906A/en
Publication of JPH07334483A publication Critical patent/JPH07334483A/ja
Application granted granted Critical
Publication of JP3706397B2 publication Critical patent/JP3706397B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven

Description

【0001】
【産業上の利用分野】
本発明は、初期化機能を有したデータ駆動型情報処理装置に関する。
【0002】
【従来の技術】
画像処理や各種シミュレーションなどのさまざまな分野で、情報処理装置の性能向上に対する要求がある。情報処理装置の処理性能を向上させるための方式の1つに並列処理方式がある。データ駆動型情報処理装置は、並列処理方式を採用したアーキテクチャーである。
【0003】
従来のノイマン型の情報処理装置では、予め種々の命令がプログラムとしてメモリに記憶されている。このメモリのアドレスが、プログラムカウンタによって逐次指定されることにより、個々の命令が順次読出されて実行される。一方、並列処理方式を採用しているデータ駆動型情報処理装置は、プログラムカウンタによる逐次的な命令の実行という概念をもたない非ノイマン型の情報処理装置である。データ駆動型情報処理装置は、「ある処理に必要なデータがすべて揃い、かつ、その処理に必要な演算装置などのハードウェア資源が割当てられたときに処理を行なう。」という規則に従って動作する。したがって、データ駆動型情報処理装置は、データの流れに従って複数の命令に関する動作を同時に進行させること、すなわち、データフロープログラムを並列的に実行することが可能である。なお、処理に必要なデータがすべて揃った状態を「発火」という。また、データを揃えるために入力データの待合せを行なわせることを「発火制御」という。プログラムの並列処理により、データ駆動型情報処理装置を用いた場合には、演算の所要時間が大幅に短縮すると見做されている。
【0004】
データ駆動型情報処理装置に対するデータの入出力およびデータ駆動型情報処理装置の内部でのデータの搬送は、データパケットを用いて行なわれる。データパケットは、たとえば、オペランドデータと命令情報と行先情報と世代情報となどを含む。オペランドデータは、処理対象となるデータである。命令情報は、処理内容を指定するための情報である。行先情報は、データパケットの送り先を指定するための情報である。世代情報は、複数組のデータに対して発火制御が行なわれる場合に、同じ組のデータを識別するための情報である。
【0005】
図28は、一般的なデータ駆動型情報処理装置のブロック構成図である。データ駆動型情報処理装置91(以下、単に「装置91」という)は、処理を実行するにあたり、必要に応じて2つのオペランドデータを待合せさせる。装置91は、合流部901と、発火制御部902と、演算部905と、データメモリ906と、プログラム記憶部907と、分岐部909とを含む。
【0006】
合流部901は、装置91の外部からと内部からとのデータパケットの入力経路を合流させる。合流部901は、入力されたデータパケットを発火制御部903へ送る。発火制御部903は、データパケットに含まれる命令情報が指定する処理が2つのオペランドデータを必要とする場合に、異なる2つのデータパケットに含まれるオペランドデータを待合せさせる。発火制御部903は、オペランドデータを待合せさせるためのメモリ(図示せず)を含む。発火制御部903は、必要とする2つのオペランドデータが揃い次第、2つのオペランドデータを1つのデータパケットに格納して演算部905へ送る。
【0007】
演算部905は、オペランドデータに対して命令情報に基づいた算術演算や論理演算などの処理を施す。データメモリ906は、演算部905が演算処理を行なうために用いる演算用のデータ(以下、「演算情報」という)を格納している。演算部905は、必要に応じてデータメモリ906から演算情報を読出したり、データメモリ906に対してデータの書込を行なう。演算部905は、処理の結果をオペランドデータとしてデータパケットに格納し、プログラム記憶部907へ送る。
【0008】
プログラム記憶部907は、データフロープログラムを予め記憶している。プログラム記憶部907は、データパケットに含まれる行先情報に基づいて、該当するデータフロープログラムを読出す。データフロープログラムは、次位の命令情報と次位の行先情報とを含む。プログラム記憶部907は、読出した命令情報と行先情報とをそれぞれ次位の命令情報と次位の行先情報としてデータパケットに格納し、分岐部909へ送る。分岐部909は、データパケットの出力経路を装置91の外部宛と内部宛とに分岐させる。分岐部909は、データパケットの行先情報に基づいて、データパケットを装置91の外部へ送り出すかまたは装置91の合流部903へ送る。
【0009】
装置91の外部には、周辺装置としての初期化部911と初期化情報メモリ912とリセット信号入力部913とが設けられている。初期化部911は、初期化情報メモリ912から読出した初期化情報に基づいて装置91を初期化するためのデータパケット(以下、「初期化データパケット」という)を生成し、装置91に入力する。リセット信号入力部913は、たとえば、押ボタンなどのスイッチを含む。リセット信号入力部913は、信号線915を介して装置91の内部の合流部901と発火制御部903と演算部905とプログラム記憶部907と分岐部909とに接続される。
【0010】
装置91は、電源が投入された直後に、自分自身が適正に動作する状態になるための初期化処理を行なう。また、装置91の処理内容を変更する場合には、たとえば、プログラム記憶部907に別のデータフロープログラムをダウンロードするために、使用者は、記憶装置91に強制的に初期化処理を行なわせる。ここで、データ駆動型情報処理装置の初期化について説明する。
【0011】
図29は、データ駆動型情報処理装置の状態の遷移を示す模式図である。以下の説明では、データ駆動型情報処理装置の内部に含まれる各部の状態を、(1)電源が投入された直後の不定状態であるUnknownと、(2)Unknown状態にあるときにリセット処理(Reset)が行なわれた状態であるColdと、(3)Cold状態にあるときに初期化処理(Initialize)が行なわれた状態であるWarmと、(4)Warm状態にあるときにデータパケットが入力され、処理が実行(Execute)されている状態であるHotとの4つに分ける。
【0012】
リセットとは、各部に含まれるレジスタや内部メモリ等に記憶されているデータをクリアする処理をいう。実行しているプログラムがあれば、それを停止させる。Unknown、Warm、Hotのいずれかの状態にあるときにリセット処理が行なわれればCold状態となる。初期化とは、レジスタや内部メモリ等にデータをセットし、データパケットが入力されれば正常な処理が行なわれる状態にすることである。Unknown状態またはCold状態にあるときは、データパケットを入力することはできるが、一般に適正な処理が行なわれない。
【0013】
図28に示した装置91の発火制御部903と演算部905と、プログラム記憶部907とは、図29(a)のように、UnknownとColdとWarmとHotとの4つの状態で遷移する。一方、合流部901と分岐部909とは、Cold状態とWarm状態とが分かれておらず、図29(b)のように、Unknown、Cold/Warm、Hotの3つの状態で遷移する。合流部901と分岐部909とに対しては、初期化処理が不要である。両者は、リセット処理を行なえば、データパケットが入力されたことに応答して適正に動作する。
【0014】
装置91を初期化するときには、装置91の外部に設けた初期化部911を用いて、初期化データパケットを装置91に入力する。初期化処理を装置91の全体、すなわち、発火制御部903と演算部905とプログラム記憶部907とについて行なう場合には、初期化データパケットを入力する前に装置91の内部をリセットして、Unknownと、Coldと、WarmとCold/Warmと、Hotとのいずれかの状態にある各部をCold状態にする必要がある。なぜなら、装置91の内部にプログラムやデータが残っていると、それらが原因で装置91が異常停止したり、暴走したりすることがあるからである。なお、前述したように合流部901と分岐部909とについては、初期化処理が不要である。
【0015】
操作者は、各部をリセットするためにリセット信号入力部913を用いて装置91にリセット信号を入力する。リセット信号は信号線915を介して各部に入力される。各部は、リセット信号に応答して自己をリセットし、Cold状態またはCold/Warm状態となる。装置91の全体がCold状態またはCold/Warm状態となるための十分な時間が経過した後に、操作者は、初期化部911を起動させ、初期化データパケットを装置91に入力し、初期化処理を行なわせる。
【0016】
装置91に入力された初期化データパケットは、合流部901を経て、発火制御部903、演算部905、プログラム記憶部907へと順に送られる。発火制御部903と演算部905とプログラム記憶部907とは、それぞれ送られてきた初期化データパケットに自己を初期化する命令情報が含まれていなければ、初期化データパケットを次の部に送る。発火制御部903と演算部905とプログラム記憶部907とは、送られてきた初期化データパケットに自己に対する初期化の命令情報が含まれていれば、自己を初期化する。発火制御部903と演算部905とプログラム記憶部907とは、初期化処理が完了すれば初期化データパケットを消去する。これにより、装置91に入力された初期化データパケットが該当する機能部へ到達した時点で各部の初期化処理が行なわれる。
【0017】
一方、装置91の一部、たとえば、プログラム記憶部907のデータフロープログラムの一部のみを変更するための初期化であれば、リセット処理を行なう必要がない。操作者は、初期化部911に操作者91の一部を初期化するための初期化データパケットを生成させ、それを装置91に入力する。入力された初期化データパケットが、該当する機能部、たとえば、プログラム記憶部907に到達した時点で、その機能部の初期化処理が行なわれる。
【0018】
【発明が解決しようとする課題】
ところで、前述の装置91の構成例に示したように、データ駆動型情報処理装置を初期化する場合には、初期化データパケットを生成するための周辺装置を初期化部として備えなければならない。なぜなら、データ駆動型情報処理装置はデータパケットのみを入力として受付けるからである。初期化部は、一般に、コンピュータシステム等の情報処理装置により構成される。したがって、初期化部を周辺装置として用いる分だけ、データ駆動型情報処理装置を組込むシステムや機器等の構成が複雑になる。
【0019】
このような不具合を解消するための対策として、以下のような関連技術が考えられる。
【0020】
図30は、初期化部を内蔵したデータ駆動型情報処理装置のブロック構成図である。図28に示したものと同様の機能を有するものには、同一の符号を付けている。装置92は、合流部901と、発火制御部903と、演算部905と、データメモリ906と、プログラム記憶部907と、分岐部909との他、初期化部921と初期化情報メモリ923とを含む。装置92の外部には、リセット信号入力部913と、開始アドレス入力部925と、アドレス数入力部927とが設けられている。
【0021】
リセット信号入力部913は、信号線929と信号線930とを介して、合流部901と発火制御部903と演算部905とプログラム記憶部907と分岐部909とに接続される。開始アドレス入力部925は、信号線933を介して初期化部921に接続される。アドレス数入力部927は、信号線935を介して初期化部921に接続される。初期化部921は、信号線939と信号線937とを介して初期化情報メモリ923に接続される。信号線937は、初期化部921から初期化情報メモリ923へ、初期化情報を読出すためのアクセス信号と、読出アドレスとを送るための信号線である。信号線939は、初期化情報メモリ923から初期化部921へ、読出した初期化情報を送るための信号線である。
【0022】
初期化部921から出力された初期化データパケットは、バス941を介して合流部901に入力される。
【0023】
図31は、初期化部921のブロック構成図である。初期化部921は、制御部951と、カウンタ部953と、比較部955と、データパケット生成部957とを含む。リセット信号を送る信号線929からは、信号線963と、信号線965とが分岐する。信号線961は、制御部951に接続されている。信号線963は、データパケット生成部957に接続されている。信号線965は、カウンタ部953と比較部955とに接続されている。
【0024】
制御部951は、信号線931を介して与えられるリセット信号に応答して初期化データパケットを生成するためのクロック信号を発する。クロック信号は、信号線967を介してカウンタ部953に入力される。カウンタ部953は、クロック信号のパルス数をカウントする。カウンタ部953は、リセット信号の入力に応答して、カウント値を「0」にリセットする。カウンタ部953は、クロック信号の入力に応答してカウント値を1ずつカウントアップし、カウント値を信号線969と信号線971とを介してデータパケット生成部957と比較部955とへ送る。
【0025】
データパケット生成部957は、信号線933を介して開始アドレス入力部925(図30参照)から送られる開始アドレスと、信号線969を介してカウンタ部953から送られるカウント値とを加算して、初期化情報メモリ923の初期化情報を読出すための読出アドレスを生成する。データパケット生成部957は、アクセス信号と読出アドレスとを信号線939を介して初期化情報メモリ923へ送る。初期化情報メモリ923からは、読出された初期化情報が信号線937を介してデータパケット生成部957へ送られる。
【0026】
データパケット生成部957は、読出した初期化情報に基づいて初期化データパケットを生成する。生成された初期化データパケットは、バス941を介して合流部901へ送られる。初期化データパケットの生成動作は、制御部951からクロック信号が出力されている限り継続される。
【0027】
一方、比較部955は、カウンタ部953から送られてくるカウント値を信号線935を介してアドレス数入力部927から送られてくるアドレス数と比較する。比較部955は、カウント値がアドレス数と一致した時点で、その旨を示す信号を信号線973を介して制御部951へ送る。制御部951は、比較部955から送られてきた信号に応答して、クロック信号の発生を停止する。これにより、初期化データパケットの生成処理が終了する。
【0028】
操作者は、装置92を初期化する場合には、開始アドレス入力部925とアドレス数入力部927とを用いて、初期化情報の読出開始アドレスと読出アドレス数とを設定し、リセット信号入力部913を用いて装置92に所定時間リセット信号を入力する。装置92は、リセット信号に応答して、Cold状態となる。初期化部921は、所定時間が経過した後に、リセット信号がON状態からOFF状態となったこと(リセット信号の解除)に応答して、前述の初期化データパケットの生成処理を開始する。このように、装置92は、リセット信号の解除をトリガとして初期化処理を行なう。
【0029】
ところで、前述した関連技術には、以下のような不具合がある。装置92は、初期化部921と共に初期化情報メモリ923を内蔵しているために、構成が複雑になり、規模が大きくなってしまう。また、初期化部921は、リセット信号の解除をトリガとして起動するので、操作者は、初期化処理を行なう場合には、必ず装置92にリセット信号を入力する必要がある。したがって、たとえば、プログラム記憶部907に記憶されたデータフロープログラムの一部を変更するときのように、装置92に動作を停止させずに初期化処理を行なわせたい場合であっても、リセット信号の入力に応答して装置92はCold状態となって停止してしまう。
【0030】
本発明は、係る実情に鑑み考え出されたものであり、その目的は、構成が簡単で規模が小さく、かつ、不必要に動作を停止させずに初期化処理を行なうことが可能なデータ駆動型情報処理装置を提供することにある。
【0031】
【課題を解決するための手段】
前述の目的を達成するために、
請求項1記載の発明は、オペランドデータを格納するためのデータフィールドと、命令情報を格納するための命令フィールドと、行先情報を格納するための行先フィールドとを含むデータパケットを用いてデータフロープログラムを実行するための装置であって、
データパケットを受け、ある演算処理に必要な情報を待合せさせ、必要な情報が揃ったことを検出して前記ある演算処理の実行に必要な情報を含む第1のデータパケットを出力する待合せ制御手段と、
第1のデータパケットを受けるように接続され、第1のデータパケットに含まれる情報に従って前記ある演算処理を行なって、その結果のデータを第2のデータパケットに格納して出力する演算手段と、
前記データフロープログラムを格納し、入力されたある第2のデータパケットに含まれる情報に基づいて、前記データフロープログラムに従った演算処理に必要な1つの情報を格納した第3のデータパケットを出力するプログラム記憶手段とを含み、
前記待合せ制御手段が受けるデータパケットは第3のデータパケットであり、
前記待合せ制御手段と前記演算手段と前記プログラム記憶手段は、それぞれ特定の形式の初期化データパケットに応答して自分自身を初期化する機能を有し、
前記データフロープログラムを実行するための装置は、さらに、
前記演算手段に接続され、前記演算処理に必要なデータと前記待合せ制御手段と前記演算手段と前記プログラム記憶手段とを初期化するための初期化データパケットを生成するためのデータとを混在して記憶するデータ記憶手段と、
初期化要求に応答して、前記データ記憶手段から演算手段の処理単位であるワード単位で読出した初期化データパケットを生成するためのデータに基づいて初期化データパケットを生成して、前記待合せ制御手段と前記演算手段と前記プログラム記憶手段との少なくとも1つに入力する初期化データパケット生成手段とを含む。
また、前記初期化データパケット生成手段が、
初期化要求に応答して、前記データ記憶手段から初期化データパケットを生成するためのデータを読出すことを要求する情報を格納した読出データパケットを生成して前記演算手段に与えるための読出データパケット生成手段を含み、
前記演算手段は、読出データパケットに応答して、前記データ記憶手段から初期化データパケットを生成するためのデータを読出すように動作し、
前記初期化データパケット生成手段は、さらに、
読出されたデータに基づいて初期化データパケットを生成するデータパケット生成手段を含むデータ駆動型情報処理装置である。
【0034】
請求項記載の発明は、前記読出データパケットが、初期化データパケットを生成するためのデータをワード単位で読出すことを要求する情報を格納し、
前記データパケット生成手段が、前記ワード単位で読出すことを要求する情報に従って読出された複数ワードのデータを結合して初期化データパケットを生成することを特徴とするデータ駆動型情報処理装置である。
【0035】
請求項3記載の発明は、前記初期化データパケット生成手段が、さらに、
前記読出データパケットの生成の終了を検知する検知手段と、
前記検知手段の出力に応答して、前記読出データパケット生成手段に動作を停止させるための信号を出力する停止制御手段とを含むデータ駆動型情報処理装置である。
【0036】
請求項記載の発明は、前記初期化要求が、予め定められた信号であることを特徴とするデータ駆動型情報処理装置である。
【0037】
請求項記載の発明は、前記初期化データパケット生成手段が、さらに、
データパケットを受けるように接続され、受けたデータパケットに含まれる予め定められた特定の情報を読出して前記読出データパケット生成手段に初期化要求を出力する初期化要求出力手段を含むデータ駆動型情報処理装置である。
【0038】
請求項記載の発明は、前記初期化要求出力手段が、
リセット信号生成手段と、
初期化要求生成手段とを含み、
前記リセット信号生成手段は、データパケットを受けるように接続され、受けたデータパケットに含まれる予め定められた特定の情報を読出して前記待合せ制御手段と、前記プログラム記憶手段と、前記演算手段と前記データ駆動型情報処理装置の外部に設けられた周辺装置とに各々をリセットさせるための信号を出力した後、その出力を停止するとともに、前記リセットさせるための信号の出力が開始されてから所定時間が経過したことを表わす信号を前記初期化要求生成手段に出力し、
前記初期化要求生成手段が、前記所定時間が経過したことを表わす信号に応答して初期化要求を生成し、前記読出データパケット生成手段に出力するデータ駆動型情報処理装置である。
【0039】
請求項記載の発明は、前記検知手段が、
前記読出データパケットを生成した数をカウントするためのカウント手段と、
前記生成した数と予め定められた数とを比較し、前記生成した数が予め定められた数に至れば読出データパケットの生成の終了を検知したことを表わす信号を出力する比較手段とを含むデータ駆動型情報処理装置である。
【0040】
請求項8記載の発明は、前記検知手段が、
前記演算手段が読出した予め定められた特定のデータに含まれる終了タイミングを表わす情報を検出して出力することを特徴とするデータ駆動型情報処理装置である。
【0041】
【作用】
請求項1記載の構成によれば、オペランドデータを格納するためのデータフィールドと、命令情報を格納するための命令フィールドと、行先情報を格納するための行先フィールドとを含むデータパケットを用いてデータフロープログラムを実行するにあたり、
待合せ制御手段は、データパケットを受け、ある演算処理に必要な情報を待合せさせ、必要な情報が揃ったことを検出してある演算処理の実行に必要な情報を含む第1のデータパケットを出力する。演算手段は、第1のデータパケットを受け、第1のデータパケットに含まれる情報に従ってある演算処理を行なって、その結果のデータを第2のデータパケットに格納して出力する。プログラム記憶手段は、データフロープログラムを格納し、入力されたある第2のデータパケットに含まれる情報に基づいて、データフロープログラムに従った演算処理に必要な1つの情報を格納した第3のデータパケットを出力する。プログラム記憶手段から出力された第3のデータパケットは、待合せ制御手段に送られる。
【0042】
待合せ制御手段と演算手段とプログラム記憶手段とは、それぞれ特定の形式の初期化データパケットに応答して自分自身を初期化する。演算手段に接続されたデータ記憶手段は、演算手段に必要なデータと待合せ制御手段と演算手段とプログラム記憶手段とを初期化するための初期化データパケットを生成するためのデータとを混在して記憶する。初期化データパケット生成手段は、初期化要求に応答して、データ記憶手段から初期化データパケットを生成するためのデータを演算手段の処理単位であるワード単位で読出し、初期化データパケットを生成して、待合せ制御手段と演算手段とプログラム記憶手段との少なくとも1つに入力する。
また、読出データパケット生成手段は、初期化要求に応答して、前記データ記憶手段から初期化データパケットを生成するためのデータを読出すことを要求する情報を格納した読出データパケットを生成して演算手段に与える。演算手段は、読出データパケットに応答して、データ記憶手段から初期化データパケットを生成するためのデータを読出すように動作する。データパケット生成手段は、読出されたデータに基づいて初期化データパケットを生成する。
【0045】
請求項記載の構成によれば、読出データパケットは、初期化データパケットを生成するためのデータをワード単位で読出すことを要求する情報を格納する。データパケット生成手段は、読出データパケットに格納された情報に従って読出された複数ワードのデータを結合して初期化データパケットを生成する。
【0046】
請求項3記載の構成によれば、初期化データパケットを生成するにあたり、検知手段が読出データパケットの生成の終了を検知する。停止制御手段は、検知手段の出力に応答して、読出データパケット生成手段に動作を停止させる。
【0047】
請求項記載の構成によれば、予め定められた信号が初期化要求として入力される。
【0048】
請求項記載の構成によれば、初期化データパケットを生成するにあたり、初期化要求出力手段が、データパケットを受け、受けたデータパケットに含まれる予め定められた特定の情報を読出して読出データパケット生成手段に初期化要求を出力する。
【0049】
請求項記載の構成によれば、初期化要求を出力するにあたり、リセット信号生成手段が、データパケットを受け、受けたデータパケットに含まれる予め定められた特定の情報を読出して待合せ制御手段と、プログラム記憶手段と、演算手段とデータ駆動型情報処理装置の外部に設けられた周辺装置とに、各々をリセットさせるための信号を出力した後、その出力を停止するとともに、リセットさせるための信号の出力が開始されてから所定時間が経過したことを表わす信号を初期化要求生成手段に出力する。初期化要求生成手段は、リセット信号生成手段から出力された所定時間が経過したことを表わす信号に応答して初期化要求を生成し、読出データパケット生成手段に出力する。
【0050】
請求項記載の構成によれば、初期化データパケットの生成の終了を検知するにあたり、カウント手段は、読出データパケットを生成した数をカウントする。比較手段は、生成した数と予め定められた数とを比較し、生成した数が予め定められた数に至れば読出データパケットの生成の終了を検知したことを表わす信号を出力する。
【0051】
請求項8記載の構成によれば、読出データパケットの生成の終了を検知するにあたり、検知手段は、演算手段が読出した予め定められた特定のデータに含まれる終了タイミングを表わす情報を検出して出力する。
【0052】
【実施例】
以下に、本発明のデータ駆動型情報処理装置の実施例について図面を参照して説明する。なお、以下の第1〜第5の各実施例では、同様の機能を有するものは、同一の符号で示す。
【0053】
[第1実施例]
図1は、第1実施例に係るデータ駆動型情報処理装置のブロック構成図である。データ駆動型情報処理装置11を以下の説明では単に「装置11」という。装置11は、合流部101と、発火制御部103と、マルチプレクサ(MUX)104と、演算部105と、メモリ106と、プログラム記憶部107と、分岐部109と、初期化情報読出部111とを含む。装置11の外部には、リセット信号入力部113と、開始アドレス入力部115と、アドレス数入力部117とが設けられている。
【0054】
合流部101は、装置11の外部からと内部からとのデータパケットの複数の入力経路を合流させる。合流部101は、装置11の外部の他のデータ駆動型情報処理装置または他の情報処理装置等の周辺装置から送られてくるデータパケットをバス121を介して受ける。合流部101は、分岐部109から送られてくるデータパケットをバス123を介して受ける。さらに、合流部101は、初期化情報読出部111から送られてくる装置11を初期化させるためのデータパケット(以下、「初期化データパケット」という)をバス125を介して受ける。合流部101に入力されたデータパケットは、バス127を介して発火制御部103へ送られる。
【0055】
発火制御部103は、データパケットに含まれる命令情報が指定する処理が2つのオペランドデータを必要とする場合に、異なる2つのデータパケットに含まれるオペランドデータを待合せさせる。発火制御部103は、オペランドデータを待合せさせるためのメモリ(図1では省略)を有する。発火制御部103は、揃えるべき2つのオペランドデータが揃い次第、その2つのオペランドデータを1つのデータパケットに格納し、バス129を介して演算部105へ送る。
【0056】
演算部105は、オペランドデータに対して命令情報に基づいた算術演算や論理演算などの演算処理を施す。演算部105は、演算処理の結果をオペランドデータとしてデータパケットに格納し、そのデータパケットをバス131を介してプログラム記憶部107へ送る。
【0057】
プログラム記憶部107は、データフロープログラムを予め記憶している。プログラム記憶部107は、揮発性のメモリにより構成されている。プログラム記憶部107は、データパケットに含まれる行先情報に基づいて、該当するデータフロープログラムを読出す。データフロープログラムは、命令情報と行先情報とを含む。プログラム記憶部107は、読出した命令情報と行先情報とをそれぞれ次位の命令情報と次位の行先情報としてデータパケットに格納し、バス133を介して分岐部109へ送る。
【0058】
分岐部109は、データパケットの出力経路を装置11の外部宛と内部宛とに分岐させる。分岐部109は、データパケットの行先情報に基づいて、データパケットをバス135を介して装置11の外部へか、または、データパケットをバス123を介して合流部101へかのいずれかへ送る。
【0059】
メモリ106は、演算部105が演算処理に用いるための演算用のデータ(以下、「演算情報」という)と、初期化情報読出部111が初期化データパケットを生成するために用いる初期化情報とを格納する。メモリ106に対する演算部105と初期化情報読出部111とのアクセス経路には、マルチプレクサ(MUX)104が配設されている。演算部105からマルチプレクサ104へは信号線141を介してアクセス信号と読出アドレスとが送られる。また、初期化情報読出部111からマルチプレクサ104へは、信号線145を介してアクセス信号と読出アドレスとが送られる。さらに、初期化情報読出部111からは、信号線149を介してマルチプレクサ104に読出制御信号が送られる。
【0060】
マルチプレクサ104は、読出制御信号が入力されていないときには、演算部105から送られてくるアクセス信号と読出アドレスとを信号線143を介してメモリ106に送る。マルチプレクサ104は、読出制御信号が入力されているときには、初期化情報読出部111から送られてくる読出アドレスを信号線143を介してメモリ106へ送る。メモリ106からは、信号線144と信号線147とを介して演算部105と初期化情報読出部111とのそれぞれに読出したデータが送られる。これにより、装置11が通常の演算処理を行なうときには、演算部105によってメモリ106から演算情報が読出され、装置11が初期化処理を行なうときには、初期化情報読出部111によってメモリ106から初期化情報が読出される。
【0061】
リセット信号入力部113は、装置11にリセット信号を入力するための手段である。リセット信号入力部113は、たとえば、押ボタンなどのスイッチを含む。リセット信号入力部113から発せられたリセット信号は、信号線151を介して初期化情報読出部111に入力される。さらに、信号線151は、信号線157に分岐する。リセット信号は、信号線157を介して、合流部101と発火制御部103とマルチプレクサ104と演算部105とプログラム記憶部107と分岐部109とに送られる。リセット信号が各部へ送られると、各部は自己をリセットする。発火制御部103と、演算部105と、プログラム記憶部107とは、自己をリセットすることにより、Cold状態(図29参照)になる。他の各部は、自己をリセットすることによりCold/Warm状態(図29参照)になる。
【0062】
開始アドレス入力部115とアドレス数入力部117とは、装置11の操作者が、装置11を初期化するにあたり、初期化情報の読出の開始アドレスと、読出すべきアドレスの数とを指定するための手段である。開始アドレス入力部115とアドレス数入力部117とは、たとえば、スライドスイッチ、または、複数のキーを備えたスイッチを含む。開始アドレス入力部115からは、信号線153を介して開始アドレスを表わす信号が初期化情報読出部111へ送られる。また、アドレス数入力部117からは、信号線155を介してアドレス数を表わす信号が初期化情報読出部111へ送られる。初期化情報読出部111は、送られてきた開始アドレスとアドレス数とに基づいてメモリ106から初期化情報を読出し、所定の初期化データパケットを生成する。
【0063】
図2は、初期化情報読出部111のブロック構成図である。初期化情報読出部111は、制御部161と、カウンタ部163と、比較部165と、初期化データパケット生成部167とを含む。制御部161は、信号線151を介して送られてくるリセット信号に応答して、自己をリセットする。その後、制御部161は、リセット信号がON状態からOFF状態となったこと(リセット信号の解除)に応答して、初期化データパケットを生成するためのクロック信号(以下、「初期化用クロック信号」という)を発生させる動作を開始する。
【0064】
制御部161が発生させた初期化用クロック信号は、信号線173を介してカウンタ部163へ送られる。さらに、初期化用クロック信号は、信号線173を介してカウンタ部163へ送られ、信号線175を介して初期化データパケット生成部167へ送られる。さらに、制御部161は、リセット信号の解除に応答して、信号線149を介してマルチプレクサ104(図1参照)へ制御信号を出力し始める。
【0065】
カウンタ部163は、初期化情報の読出アドレスを生成するときに用いるカウント値を生成するための手段である。カウンタ部163は、信号線169から送られてくるリセット信号に応答して自己をリセットし、カウント値を「0」にリセットする。その後、カウンタ部163は、信号線173を介して送られてくる初期化用クロック信号に応答してカウント値を1ずつカウントアップする。カウンタ部163は、カウントアップする度に、カウント値を信号線177を介して初期化データパケット生成部167へ送り、信号線179を介して比較部165へ送る。
【0066】
初期化データパケット生成部167へは、信号線151から分岐する信号線171を介してリセット信号が入力される。初期化データパケット生成部167は、入力されたリセット信号に応答して自己をリセットする。その後、初期化データパケット生成部167は、信号線175を介して制御部161から送られてくる初期化用クロック信号に応答して動作する。初期化データパケット生成部167は、信号線153を介して送られてくる開始アドレスと信号線177を介して送られてくるカウント値とを加算してメモリ106から初期化情報を読出すための読出アドレスを生成する。初期化データパケット生成部167は、生成した読出アドレスをアクセス信号とともに信号線145を介してマルチプレクサ104(図1参照)へ送る。マルチプレクサ104には、制御部161から制御信号が送られている。したがって、マルチプレクサ104は、メモリ106へ初期化データパケット生成部167からのアクセス信号と読出アドレスとを送り、メモリ106から初期化情報が読出される。読出された初期化情報は、信号線147を介して初期化データパケット生成部167へ送られる。初期化データパケット生成部167は、読出した初期化情報に基づいて初期化データパケットを生成する。初期化データパケット生成部167は、生成した初期化データパケットをバス125を介して合流部101へ送る。初期化データパケット生成部167は、制御部161から初期化用クロック信号が出力されている限り、初期化データパケットの生成動作を継続する。
【0067】
比較部165には信号線151から分岐する信号線169を介してリセット信号が入力される。比較部165は、リセット信号に応答してカウント値と比較するための比較値をアドレス数入力部117(図1参照)から送られてくる値にセットする。比較部165は、カウンタ部163から送られてくるカウント値を信号線155を介して送られてくるアドレス数と比較する。比較部165は、カウント値がアドレス数と一致した時点で、信号線181を介して制御部161へ初期化用クロック信号の発生を停止させるための信号を送る。制御部161は、この信号に応答して、初期化用クロック信号の発生を停止する。
【0068】
図3は、装置11へのデータの入出力および装置11の内部でのデータの搬送に用いられるデータパケットのフィールド構成図である。本実施例では、(a)に示すデータパケットP1と、(b)に示すデータパケットP2との2種類の形式のデータパケットが用いられる。データパケットP2は、発火制御部103が出力するデータパケット形式である。データパケットP2は、揃えるべき2つのオペランドデータが揃った時点で、それら2つのオペランドデータが格納されて発火制御部103から演算部105へ送られる。待合せが不要な演算の場合、1つのオペランドデータのみを格納したデータパケットP2が出力される。それ以外のデータパケット、たとえば、外部から装置11に入力されるデータパケット、装置11から外部へ出力されるデータパケット、初期化情報読出部111から出力される初期化データパケット、合流部101から発火制御部103へ送られるデータパケット、演算部105からプログラム記憶部107へ送られるデータパケット、プログラム記憶部107から分岐部109へ送られるデータパケット、分岐部109から合流部101へ送られるデータパケットなどは、すべてデータパケットP1である。
【0069】
図3(a)を参照して、データパケットP1は、行先フィールドF1と、命令フィールドF2と、データフィールドF3と、世代フィールドF4とを含む。行先フィールドF1には、行先情報が格納される。命令フィールドF2には、命令情報が格納される。データフィールドF3には、1個のオペランドデータが格納される。世代フィールドF4には、世代番号が格納される。
【0070】
行先フィールドF1に格納される行先情報は、ノード番号とプロセッサ番号とを含む。ノード番号は、装置11の内部で実行されるデータフロープログラムに含まれる命令の識別番号に相当する。プロセッサ番号は、データパケットP1が、複数のデータ駆動型情報処理装置を含むマルチプロセッサシステムに入力される場合に、データパケットP1が、いずれのデータ駆動型情報処理装置に供給されるデータパケットであるかを特定するためのデータである。
【0071】
図3(b)を参照して、データパケットP2は、データパケットP1と同様に、行先フィールドF1と、命令フィールドF2と世代フィールドF4とを含み、さらに、2つのデータフィールドF3a,F3bを含む。データフィールドF3a,F3bには、それぞれ1個ずつのオペランドデータが格納される。データフィールドF3aに格納されるオペランドデータを左オペランドデータという。また、データフィールドF3bに格納されるオペランドデータを右オペランドデータという。
【0072】
図4は、発火制御部103に含まれる待合せメモリのフィールド構成図である。待合せメモリとは、オペランドデータの待合せを行なうためのメモリである。待合せメモリは、各アドレスに、待合せフラグと、待合せオペランドデータと、待合せ世代番号とを記憶する領域を含む。待合せオペランドデータとは、発火制御部103に送られてきたデータパケットに含まれるオペランドデータが、他のデータパケットのオペランドデータとの待合せを行なうものである場合に、発火制御部103が待合せメモリ内に一時的に記憶するオペランドデータである。待合せ世代番号は、待合せオペランドデータの世代番号である。
【0073】
待合せフラグは、該当するアドレスに、待合せオペランドデータおよび待合せ世代番号が記憶されているか否かを示すためのフラグである。該当するアドレスに待合せオペランドデータおよび待合せ世代番号が記憶されていない場合には、待合せフラグは「0」にリセットされる。該当するアドレスに待合せオペランドデータおよび待合せ世代番号が記憶されている場合には、待合せフラグは「1」にセットされる。
【0074】
発火制御部103は、データパケットに含まれる命令情報が2入力命令である場合、送られてきたデータパケットに含まれる行先情報に基づいて、待合せメモリのアクセスすべきアドレスを決定する。発火制御部103は、決定したアドレスの待合せフラグを読出す。
【0075】
発火制御部103は、待合せフラグが「1」であれば、入力されたデータパケットのオペランドデータが、先に発火制御部103に入力されたデータパケットのオペランドデータに対応していると判断し、そのアドレスの待合せオペランドデータを読出す。発火制御部103は、入力されたデータパケットに、読出した待合せオペランドデータを加えて演算部105へ送る。
【0076】
一方、発火制御部103は、待合せフラグが「0」であれば、入力されたデータパケットのオペランドデータに対応するオペランドデータは待合せメモリにはないと判断する。この場合、発火制御部103は、入力されたデータパケットのオペランドデータと世代番号とを、行先情報に基づいて決定したアドレスに待合せオペランドデータと待合せ世代番号として記憶し、待合せフラグを「1」にセットする。
【0077】
図5は、プログラム記憶部107の記憶領域のフィールド構成図である。プログラム記憶部107の記憶領域には、行先情報と命令情報とが予め記憶されている。プログラム記憶部107は、送られてきたデータパケットの行先情報に基づいて、記憶領域の参照すべきアドレスを決定する。プログラム記憶部107は、決定したアドレスの行先情報と命令情報とを読出し、次位の行先情報および命令情報としてデータパケット内に格納する。プログラム記憶部107に記憶されている行先情報と命令情報との対がデータフロープログラムである。
【0078】
データ駆動型情報処理装置のプログラム記憶部には、内蔵型または外付型のメモリを用いることができる。外付型メモリを用いる場合には、内蔵型メモリを用いた場合と比べて、アクセスレートが遅いという欠点がある。また、1つのチップの内部に複数のデータ駆動型情報処理装置が含まれる場合には、各データ駆動型情報処理装置と外付型メモリとを接続するための複数の接続端子をチップに設けなければならない。このような不具合があるために、通常、データ駆動型情報処理装置におけるプログラム記憶部としては、内蔵型メモリが用いられる。
【0079】
また、メモリの種類としては、揮発性と不揮発性とがある。内蔵型の不揮発性メモリを用いた場合には、プログラム記憶部に記憶させているデータの内容を変更することができない。したがって、データ駆動型情報処理装置において実行する機能に対応するデータのすべてを予め格納させることが可能な記憶容量を有するメモリが必要となる。この場合、メモリの記憶容量が大きい分だけデータ駆動型情報処理装置の組立コストが高くなってしまう。このようなことから、本実施例では、プログラム記憶部107に内蔵型の揮発性メモリを用いている。
【0080】
図6は、メモリ106のフィールド構成図である。本実施例では、演算部105が演算処理に用いる演算情報と、初期化情報読出部111が初期化データパケットを生成するために用いる初期化情報とを1個のメモリ106に記憶させている。演算情報と初期化情報とは、(a)に示すように、記憶領域を演算情報の領域と初期化情報の領域との2つの領域に分けて、それぞれに記憶させてもよいし、また、(b)に示すように、演算情報と初期化情報とを記憶領域内で混在させて記憶させてもよい。
【0081】
図7は、1個の初期化データパケットを生成するために用いられる初期化情報のメモリ106(図1参照)内での記憶状態を示す図である。1個の初期化データパケットは、8ワード分の初期化情報を用いて生成される。1ワードは、8ビットを含む。図示において、下方向はアドレス増分方向を示し、左方向はビット増分方向を示す。説明を容易にするために、アドレスとビットとに1〜8の番号をつける。
【0082】
初期化情報に含まれるデータとしては、命令情報と、左右フラグと、ノード番号と、入力ポート履歴と、プロセッサ番号と、世代番号と、オペランドデータと、終了フラグと、制御フラグと、ホスト入力フラグと、ホスト出力フラグとがある。命令情報と、ノード番号と、プロセッサ番号と、世代番号と、オペランドデータとは、それぞれ、図3(a)に示したデータパケットP1に含まれる同名のデータに対応するものである。
【0083】
命令情報は、9ビットで構成され、そのうちの下位の8ビットが1番目のアドレスに格納され、最上位ビットが2番目のアドレスの8ビット目に格納されている。2番目のアドレスの7ビット目は、左右フラグである。左右フラグは、図3(b)に示したデータパケットP2に対して演算処理を施す場合に、左オペランドデータと右オペランドデータとを使い分けるためのフラグである。たとえば、命令情報が減算命令である場合に、左右フラグに「0」がセットされているときは、右オペランドデータの値から左オペランドデータの値を減算する。逆に、左右フラグが「1」にされている場合には、左オペランドデータの値から右オペランドデータの値を減算する。2番目のアドレスの1〜6番目のビットは、ノード番号である。
【0084】
3番目のアドレスの8ビット目は、入力ポート履歴である。入力ポート履歴とは、データパケットがどの入力ポートから入力されてきたかを識別するためのデータである。3番目のアドレスの1〜7ビット目は、プロセッサ番号である。4〜6番目のアドレスには、それぞれ世代番号の上位8ビットと中位8ビットと下位8ビットとが格納されている。オペランドデータは14ビットで構成され、7番目のアドレスに上位8ビットが格納され、8番目のアドレスの1〜4ビット目に下位の4ビットが格納されている。
【0085】
8番目のアドレスの5番目のビットはホスト出力フラグである。ホスト出力フラグは、たとえば、装置11があるシステムに組込まれた場合に、システム内のホストプロセッサへデータパケットを出力するか否かを判別するためのフラグである。ホスト出力フラグが「0」にセットされている場合は、当該データパケットがホストプロセッサ以外へ出力される。また、ホスト出力フラグが「1」にセットされている場合は、当該データパケットがホストプロセッサへ出力される。
【0086】
8番目のアドレスの6ビット目はホスト入力フラグである。ホスト入力フラグは、データパケットがホストプロセッサから入力されたものであるか否かを判別するためのフラグである。ホスト入力フラグが「0」にセットされている場合は、当該データパケットがホストプロセッサ以外から入力されたものであることを示す。また、ホスト入力フラグが「1」にセットされている場合は、当該データパケットがホストプロセッサから入力されたものであることを示す。
【0087】
8番目のアドレスの7ビット目は制御フラグである。制御フラグは、それを含むデータパケットを装置11の外部へ出力するか、装置11の内部を伝送するかを識別するためのフラグである。データパケットが分岐部109に送られてきたときに、制御フラグが「0」にセットされている場合は、データパケットが分岐部109からバス123を介して合流部101へ送られ、装置11の内部で処理される。また、データパケットが分岐部109に送られてきたときに、制御フラグが「1」にセットされている場合は、当該データパケットがバス135を介して外部へ出力される。
【0088】
8番目のアドレスの8ビット目は終了フラグである。初期化情報は、各アドレス毎に8ビットのワードで読出される。8ワードで1個の初期化データパケットが生成される。ある8ワードのデータが読出され、8ワード目すなわち8番目のアドレスの8ビット目の終了フラグが「0」にセットされている場合は、さらに、次の8ワード分のデータが読出される。8番目のワードに含まれる終了フラグが「1」にセットされている場合は、その時点で初期化情報の読出を終了する。これにより、ある一連の消去処理を行なう初期化データパケットを生成するのに必要な初期化情報が読出される。
【0089】
なお、図3のデータパケットP1,P2のフィールド構成図では、装置11の動作を説明するために必要な主要なデータのみを示し、図7に示す左右フラグと入力ポート履歴とホスト出力フラグとホスト入力フラグと制御フラグと終了フラグとについては省略している。また、第1実施例では、後述する初期化情報の読出処理では、終了フラグを用いた読出の終了検出を行なわず、アドレス数入力部117(図1参照)から入力されたアドレス数により初期化情報の読出終了を判定するようにしている。
【0090】
図8は、初期化データパケット生成部167の回路図である。初期化データパケット生成部167は、加算器181と、メモリアクセス制御回路183と、8個のコンパレータ184a〜184hを含むコンパレータ群185と、8個のラッチ回路186a〜186hを含むラッチ回路群187と、ラッチ回路188とを含む。
【0091】
加算器181には、信号線153を介して開始アドレスが入力され、信号線177を介してカウント値が入力される。加算器181からの出力は信号線190を介して送られる。メモリアクセス制御回路183には、信号線175を介して初期化用クロック信号が入力される。メモリアクセス制御回路183からの出力は信号線145を介して初期化データパケット生成部167の外部へ出力される。信号線177は信号線191を分岐する。信号線191は、信号線177により送られる信号(8ビット)のうちの下位の3ビットの信号を送る。信号線191は、8個のコンパレータ184a〜184hの一方の入力端子に接続される。コンパレータ184a〜184hのもう一方の入力端子には、信号線192a〜192hを介してそれぞれ「1」〜「7」,「0」の値を表わす信号が送られている。これらの信号を生成する手段については、図示を省略する。コンパレータ184a〜184hからの出力は、信号線193a〜193hを介してラッチ回路186a〜186hへ送られる。
【0092】
ラッチ回路186a〜186hには、信号線147を介して初期化情報が送られる。コンパレータ184hからラッチ回路186hへの信号線193hは、信号線197を分岐する。信号線197を介して送られる信号は、反転されてラッチ回路188に入力される。ラッチ回路186a〜186hからの出力は信号線194を介してラッチ回路188に入力される。ラッチ回路188からの出力はバス125を介して外部へ出力される。
【0093】
初期化情報読出部167の動作について説明する。リセット信号入力部113(図1参照)から発せられたリセット信号は、信号線171を介して初期化データパケット生成部167内に入力され、加算器181とメモリアクセス制御回路183とコンパレータ群185とラッチ回路群187とラッチ回路188とに入力される。リセット信号を受けた各部は各々自己をリセットする。
【0094】
その後、リセット信号が解除され、制御部161(図2参照)からの初期化用クロック信号の送出が開始されると、初期化情報読出部111は、初期化データパケットの生成動作を開始する。加算器181は、信号線153から送られてくる開始アドレスと信号線177から送られてくるカウント値とを加算してメモリ106内の初期化情報(図6、図7参照)を読出すための読出アドレスを生成する。加算器181が生成した読出アドレスは、信号線190を介して信号線145へ送られる。
【0095】
メモリアクセス制御回路183は、信号線175を介して送られてくる初期化用クロック信号に応答し、メモリ106にアクセスするための信号を生成する。メモリアクセス制御回路183が生成する信号の中には、チップイネーブル信号とアウトプットイネーブル信号とライトイネーブル信号とが含まれる。これらを総称してアクセス信号という。メモリアクセス制御回路183は、生成した信号を信号線145を介して出力する。これにより、信号線145を介して、加算器181から出力された読出アドレスを表わす信号とメモリアクセス制御回路183から出力されたアクセス信号とがメモリ106(図1参照)へ送られる。
【0096】
信号線177から分岐する信号線191は、カウント値を表わすビットの中の下位の3ビットのみをコンパレータ群185へ送る。これによりコンパレータ184a〜184hの一方の入力端子にはカウント値の大きさに応じて、「1」,「2」,「3」,…,「7」,「0」の値が順に入力される。コンパレータ184a〜184hは、各々のもう一方の入力端子に入力されている値と同じ値が信号線191から送られてきたときに、信号線193a〜193hを介して、対応するラッチ回路186a〜186hへ信号を送る。たとえば、信号線191から「1」の信号が入力された場合には、コンパレータ184aからラッチ回路186aへ信号が出力される。信号線191から「3」の値が入力された場合は、コンパレータ184cからラッチ回路186cへ信号が出力される。
【0097】
一方、信号線145から出力されたアクセス信号と読出アドレスとに応答して、メモリ106から読出された1ワードの初期化情報が信号線147を介してラッチ回路群187へ送られる。信号線147から送られてくる1ワードの初期化情報は、その時点で対応するコンパレータからラッチ信号が送られたラッチ回路186a〜186hのうちのいずれかにラッチされる。これにより、信号線147を介して1ワードずつ送られてくる初期化情報が、ラッチ回路186a、…、ラッチ回路186d、…ラッチ回路186hに順にラッチされる。そして、最後のラッチ回路186hが、コンパレータ184hから信号線193hを介して送られてくる信号のパルスの立上りに応答してデータをラッチした後、ラッチ回路188が、信号線193hから分岐する信号線197を介して送られるパルスの立下りに応答して、ラッチ回路186a〜186hから信号線194を介して送られてくるデータをラッチする。これにより、8ワードの初期化情報が結合されて1個の初期化データパケットが生成され、バス125を介して外部へ出力される。
【0098】
次に、通常の演算処理用のデータパケットが装置11の内部で処理される手順について説明する。例として、装置11の外部からバス121を介してデータパケットが入力された場合を考える。入力されたデータパケットをデータパケットPAという。データパケットPAのフィールド構成は、図3(a)に示したデータパケットP1と同様である。また、データパケットPAに含まれる命令情報は、たとえば、2項演算処理などのように2つのオペランドデータを必要とする処理を指定するものとする。
【0099】
図1を参照して、装置11の外部からバス121を介して送られてきたデータパケットPAは、合流部101に受けられる。合流部101は、データパケットPAをバス127を介して発火制御部103へ送る。
【0100】
発火制御部103は、データパケットPAに含まれる命令情報が2つのオペランドデータを必要とするものか否かを判定する。発火制御部103は、命令情報が2つのオペランドデータを必要とする処理を指定している場合には、オペランドデータの待合せ処理を行なう。発火制御部103は、データパケットPAに含まれる行先情報に基づいて、待合せメモリ(図4参照)のアクセスすべきアドレスを決定する。発火制御部103は、該当するアドレスの待合せフラグの値により、データパケットPAが、先に発火制御部103に入力されたデータパケットのオペランドデータに待合せの対象となっているか否かを判断する。
【0101】
発火制御部103は、待合せフラグが「1」にセットされ、データパケットPAのオペランドデータを待つ待合せオペランドデータが格納されている場合には、その待合せオペランドデータを読出す。発火制御部103は、図3(b)に示したデータパケットP2と同様のフィールド構成のデータパケットPBを生成する。発火制御部103は、データパケットPBの行先フィールドF1と命令フィールドF2と世代フィールドF4とにデータパケットPAに含まれる行先情報と命令情報と世代番号とをそれぞれ格納する。発火制御部103は、データパケットPBのデータフィールドF3aにデータパケットPAのオペランドデータを左オペランドデータとして格納し、データフィールドF3bに読出した待合せオペランドデータを右オペランドデータとして格納する。
【0102】
一方、発火制御部103は、該当するアドレスの待合せフラグが「0」であり、対応の待合せオペランドデータが格納されていない場合には、データパケットPAのオペランドデータを、待合せオペランドデータとして待合せメモリに格納する。このとき待合せフラグは「1」にセットされる。
【0103】
なお、データパケットPAのオペランドデータに対応するオペランドデータが既に待合せメモリ内にあったものとして以降の手順を説明する。発火制御部103は、生成したデータパケットPBをバス129を介して演算部105へ送る。
【0104】
演算部105は、データパケットPBの左右の2つのオペランドデータに対して、命令情報に基づいて演算処理を施す。演算部105は、演算処理を行なうにあたり、必要に応じてメモリ106から演算情報を読出したり、メモリ106にデータを書込んだりする。演算部105は、演算処理が完了した後、データパケットP1(図3(a)参照)と同様のフィールド構成のデータパケットPCを生成する。演算部105は、データパケットPCのデータフィールドF3に演算処理の結果をオペランドデータとして格納する。演算部105は、データパケットPCをバス131を介してプログラム記憶部107へ送る。
【0105】
プログラム記憶部107は、送られてきたデータパケットPCの行先情報に基づいて、データフロープログラムの記憶領域(図5参照)の参照すべきアドレスを決定する。プログラム記憶部107は、該当するアドレスに格納された行先情報と命令情報とを読出し、データパケットPCの行先フィールドF1と命令フィールドF2とにそれぞれ格納する。新たに格納された行先情報と命令情報とは、それぞれデータパケットPCの次位の行先情報と次位の命令情報とである。プログラム記憶部107は、データパケットPCをバス133を介して分岐部109へ送る。
【0106】
分岐部109は、データパケットPCに含まれる行先情報に基づいて、データパケットPCをバス135を介して外部へ出力するか、または、バス123を介して合流部101へ送る。データパケットPCが合流部101へ送られた場合には、前述の手順に従って、装置11の内部でデータパケットPCが処理される。
【0107】
次に、発火制御部103と演算部105とプログラム記憶部107との各部における状態の遷移について説明する。各部の状態については、前述のUnknownとColdとWarmとHotとの4つの状態に分けて説明する。
【0108】
発火制御部103の状態について説明する。発火制御部103は、待合せメモリ(図4参照)を含む。待合せメモリの各アドレスには、待合せフラグが含まれている。発火制御部103が、Hot状態にあるときは、待合せオペランドデータが格納された場合に待合せフラグが「1」にセットされ、待合せオペランドデータが格納されていない場合には待合せフラグが「0」にセットされる。発火制御部103がWarm状態にあるときは、すべてのアドレスの待合せフラグが「0」にセットされる。発火制御部103がWarm状態にあるときは、待合せフラグの値による待合せオペランドデータの有無の判定が行なえない。したがって、発火制御部103は、オペランドデータの待合せ処理を正常に行なうことができないことがある。
【0109】
発火制御部103がCold状態にあるときは、各アドレスの待合せフラグの値は不定である。この場合、発火制御部103は、オペランドデータの待合せ処理を正常に行なえないことがある。発火制御部103が、Unknown状態にあるときは、待合せメモリ全体の内容が不定である。この場合、発火制御部103は、待合せフラグ自体を検索することができないことがある。
【0110】
本実施例では、待合せメモリにSRAMを用いる。したがって、発火制御部103にリセット信号を入力することにより、各アドレスの待合せフラグを強制的に「0」にセットするということはできない。したがって、本実施例では、発火制御部103に発火制御部用の初期化データパケットを入力し、待合せメモリを初期化する。なお、待合せメモリにリセット信号を入力することによりデータを初期化することが可能なメモリを用いるようにすれば、発火制御部103は、図29(b)に示したUnknownとCold/Warmと、Hotとの3つの状態で遷移することになる。この場合、発火制御部103に対しては、初期化データパケットを用いた初期化処理が不要となる。
【0111】
次に、演算部105の状態について説明する。演算部105は、内部に定数格納部と演算器とを含む。なお、演算部105の内部構成については従来のデータ駆動型情報処理装置と格別異なる点がないので、図示を省略する。演算器は、演算部105に送られてきたデータパケットのオペランドデータに対して、命令情報に基づいた演算処理を行なう。定数格納部は、演算器に接続され、演算器が行なう演算処理に必要な定数を予め記憶している。演算器は、必要に応じて定数格納部から定数を読出し、その値を演算処理に用いる。
【0112】
演算部105がHot状態およびWarm状態にあるときは、定数格納部に所定の値が格納されている。演算部105がCold状態にあるときは、定数格納部に格納されている値がクリアされている。この場合、演算器は正常な演算処理を行なえないことがあるので、演算部105は不定状態となる。演算部105がUnknown状態にあるときは、定数格納部に格納されている値は不定となる。この場合も演算器が正常な演算処理を行なえないことがあるので、演算部105は不定状態となる。なお、演算部105が予め記憶された定数を利用しない演算処理のみを行なうものであり、定数格納部を含まない構成である場合には、演算部105は、図29(b)に示すUnknownと、Cold/Warmと、Hotとの3つの状態で遷移するので、初期化データパケットを用いた初期化処理は不要となる。
【0113】
次に、プログラム記憶部107の状態について説明する。プログラム記憶部107は、データフロープログラムを格納するための記憶領域(図5参照)を含む。プログラム記憶部107がHot状態にあるときは、記憶領域にデータフロープログラムが格納されており、そのデータフロープログラムの読出が行なわれている。プログラム記憶部107がWarm状態にあるときは、記憶領域にデータフロープログラムが格納されており、データフロープログラムの読出は行なわれていない。プログラム記憶部107がCold状態にあるときは、記憶領域のデータがクリアされている。
【0114】
プログラム記憶部107がUnknown状態にあるときは記憶領域の内容は不定である。プログラム記憶部107の記憶領域のすべてのデータを初期化または変更する場合には、プログラム記憶部107にリセット信号を入力した後、初期化データパケットを入力してデータフロープログラムをダウンロードする。また、プログラム記憶部107の記憶領域の一部のデータフロープログラムのみを変更する場合には、リセット信号を入力せずにデータフロープログラムの一部を変更するための初期化データパケットを入力する。
【0115】
なお、プログラム記憶部107に不揮発性のメモリを用いている場合には、記憶領域の内容を変更することがないので、プログラム記憶部107に対する初期化処理は不要となる。
【0116】
次に、装置11を初期化する場合の処理手順について説明する。図1を参照して、操作者は、開始アドレス入力部115とアドレス数入力部117とにそれぞれ開始アドレスとアドレス数とを設定する。次に、操作者は、リセット信号入力部113を用いて所定時間、装置11にリセット信号を入力する。リセット信号は、信号線151を介して初期化情報読出部111に入力される。さらに、リセット信号は、信号線151から分岐する信号線157を介して合流部101と発火制御部103とマルチプレクサ(MUX)104と演算部105とプログラム記憶部107と分岐部109とに送られる。合流部101と発火制御部103とマルチプレクサ104と演算部105とプログラム記憶部107と分岐部109とは、送られてきたリセット信号に応答して自己をリセットする。
【0117】
図2を参照して、初期化情報読出部111の内部では、信号線151を介して送られてきたリセット信号が制御部161に入力される。さらに、リセット信号は、信号線151から分岐する信号線169を介してカウンタ部163と比較部165とに送られる。さらに、リセット信号は信号線151から分岐する信号線171を介して初期化データパケット生成部167に送られる。制御部161とカウンタ部163と比較部165と初期化データパケット生成部167とは、送られてきたリセット信号に応答して自己をリセットする。
【0118】
カウンタ部163は、自己をリセットすることによりカウント値を「0」にクリアする。比較部165は、自己をリセットすることにより、それまで記憶していたアドレス数をクリアする。初期化データパケット生成部167に入力されたリセット信号は、初期化データパケット生成部167の内部の各回路(図8参照)に送られ、各回路は、リセット信号に応答して自己をリセットする。
【0119】
一定時間が経過した後に、リセット信号が解除されると、それに応答して制御部161は一定時間毎に初期化用クロック信号を出力する。初期化用クロック信号は、信号線173を介してカウンタ部163へ入力される。さらに、初期化用クロック信号は信号線175を介して初期化データパケット生成部167へ入力される。カウンタ部163は、初期化用クロック信号が入力される毎にカウント値を1ずつカウントアップする。カウンタ部163は、カウント値を信号線177を介して初期化データパケット生成部167へ送り、信号線179を介して比較部165へ送る。初期化データパケット生成部167へは信号線153を介して開始アドレスが入力されている。初期化データパケット生成部167の内部では、前述したように開始アドレスと初期化用クロック信号とカウント値とに基づいて、初期化情報(図6、図7参照)を読出すためのアクセス信号と読出アドレスとが生成され、信号線145を介して初期化情報読出部111の外部へ出力される。一方、制御部161からは初期化データパケットの生成処理を開始した旨を示す信号が信号線149を介して初期化情報読出部111の外部へ出力される。
【0120】
図1を参照して、初期化情報読出部111から出力されたアクセス信号と読出アドレスとは、信号線145を介してマルチプレクサ104に入力される。また、初期化情報読出部111から出力された初期化データパケットの生成を開始した旨を示す信号は、信号線149を介してマルチプレクサ104に入力される。この信号線149を介して読出制御信号が入力されることにより、マルチプレクサ104は、演算部105から信号線141を介して送られてくるアクセス信号と読出アドレスとを信号線143を介してメモリ106に送っていた通常時の状態から、信号線145を介して送られてくる初期化情報読出部111からのアクセス信号と読出アドレスとを信号線143を介してメモリ106に送る初期化時の状態へと切換わる。これにより、メモリ106の初期化情報が読出される。初期化情報は、メモリ106内に図7に示した状態で記憶されている。初期化情報は、初期化情報読出部111から信号線145を介してアクセス信号と読出アドレスとが送られる毎に、1ワードずつ読出されて信号線147を介して初期化情報読出部111へ送られる。
【0121】
図2を参照して、信号線147を介して送られてきた1ワードずつの初期化情報は、初期化データパケット生成部167の内部に入力され、前述したコンパレータ群185とラッチ回路群187とラッチ回路188の動作により、8ワードを1組として結合され、1個の初期化データパケットとしてバス125を介して初期化データパケット生成部167から出力され、初期化情報読出部111の外部に出力される。初期化データパケット生成部167による初期化データパケットの生成動作は、制御部161から初期化用クロック信号が出力されている限り継続される。
【0122】
一方、比較部165は、信号線155を介して送られてくるアドレス数とカウンタ部163から信号線179を介して送られてくるカウント値とを逐次比較する。比較部165は、カウント値がアドレス数と一致した時点で、信号線181を介して、初期化用クロック信号の発生を停止させるための信号を制御部161へ送る。制御161は、この信号に応答して、初期化用クロック信号の出力を停止する。これにより、操作者が、開始アドレス入力部115とアドレス数入力部117とを用いて設定したアドレス情報に基づいた分の初期化情報が読出され、読出した初期化情報に基づいて初期化データパケットの生成が行なわれる。
【0123】
図1を参照して、初期化情報読出部111から出力された初期化データパケットは、バス125を介して1個ずつ合流部101へ送られる。なお、初期化データパケットのフィールド構成は、図3(a)に示したデータパケットP1と同様である。合流部101は、受けた初期化データパケットを通常の演算処理用のデータパケットと同様にバス127を介して発火制御部103へ送る。
【0124】
発火制御部103は、送られてきた初期化データパケットの命令フィールドF2に発火制御部初期化命令が格納されていれば、待合せメモリ(図4参照)の格納アドレスの待合せフラグを「0」にセットする。これにより、発火制御部103は、初期化されてWarm状態になる。一方、発火制御部103は、初期化データパケットの命令フィールドF2に発火制御部初期化命令が格納されていなければ、そのまま、初期化データパケットをバス129を介して演算部105へ送る。
【0125】
演算部105に初期化データパケットが送られると、演算部105は、初期化データパケットの命令情報を読出す。読出された命令情報を演算器が演算部定数設定命令であるか否かを判定する。演算器は、命令情報が演算部定数設定命令であれば、初期化データパケットのデータフィールドF3からオペランドデータを読出す。演算部105を初期化するための初期化データパケットのデータフィールドF3には、演算部105の定数格納部に設定すべき定数値がオペランドデータとして格納されている。演算器は、読出した定数値を定数格納部に記憶させる。これにより、演算部105が初期化されてWarm状態になる。一方、初期化データパケットの命令情報が、演算部定数設定命令でなければ、演算部105は、初期化データパケットをそのまま信号線131を介してプログラム記憶部107へ送る。
【0126】
初期化データパケットがプログラム記憶部107へ送られると、プログラム記憶部107は、初期化データパケットの命令フィールドF2から命令情報を読出し、その命令情報がデータフロープログラム初期化命令であるか否かを判定する。プログラム記憶部107は、命令情報がデータフロープログラム初期化命令であれば、初期化データパケットのデータフィールドF3からオペランドデータを読出す。プログラム記憶部107を初期化するための初期化データパケットのデータフィールドF3には、ダウンロードすべき行先情報と命令情報とで構成されたデータフロープログラムが格納されている。
【0127】
プログラム記憶部107は、読出したデータフロープログラムを、命令情報が指定するアドレスの記憶領域に記憶させる。これにより、初期化データパケットによって搬送されてきたデータフロープログラムがプログラム記憶部107にダウンロードされる。なお、プログラム記憶部107のデータフロープログラムを複数または全部初期化する場合には、そのデータフロープログラムの数だけプログラム記憶部107用の初期化データパケットを初期化情報読出部111にて生成し、プログラム記憶部107へ送る。
【0128】
以上の手順により、外部からリセット信号が入力され、その後にリセット信号が解除されたことをトリガとして、装置11の内部で初期化データパケットが生成され、初期化データパケットを用いた初期化処理が行なわれる。本実施例に係る装置11は、外部からの信号形式の入力に応答して初期化データパケットを生成するための機構を内蔵しているので、従来のようにデータ駆動型情報処理装置の外部に初期化データパケットを生成するための周辺装置を別途設ける必要がなくなる。これにより、装置11を組込むシステムや機器等の構成が簡単になる。
【0129】
また、本実施例では、初期化データパケットを生成するために用いられる初期化情報を演算部105が演算処理に用いる演算情報とともに1個のメモリ106に格納している。したがって、初期化データパケットを生成するための機構を内蔵するがゆえに初期化情報を格納するためのメモリをも内蔵して装置11の構成が複雑になったり、規模が大きくなったりする不具合を軽減することができる。
【0130】
[第2実施例]
次に、本発明のデータ駆動型情報処理装置の第2実施例について説明する。
【0131】
図9は、第2実施例に係るデータ駆動型情報処理装置21のブロック構成図である。なお、以下の説明ではデータ駆動型情報処理装置21を単に「装置21」という。また、第1実施例に示したものと同様の機能を有するものは、同一の符号をつけて説明する。
【0132】
装置21は、第1実施例の装置11と同様の発火制御部103と、メモリ106と、プログラム記憶部107とを含む。装置21は、さらに、合流部201と、合流部203と、演算部205と、分岐部209と、初期化情報読出要求生成部211と、初期化データパケット生成部213とを含む。装置21の外部には、第1実施例と同様のリセット信号入力部113と開始アドレス入力部115と、アドレス数入力部117とが設けられている。
【0133】
発火制御部103と、演算部205と、プログラム記憶部107とは、UnknownとColdとWarmとHotとの4つの状態で遷移する。装置21の全体を初期化させるときには、以上の3つの部のすべてに、各々に対応する初期化データパケットを送って初期化させる。また、以上の3つの部のうちのいずれかのみを初期化させるときには、その部に対応する初期化データパケットを送る。以上の3つの部は、初期化することにより、Warm状態となる。
【0134】
以上の3つの部以外の他の部は、UnknownとCold/Warmと、Hotとの3つの状態で遷移する。これら他の部は、リセット信号に応答して自己をリセットすることにより、Cold/Warm状態となるので、初期化データパケットを用いて初期化させる必要がない。
【0135】
初期化情報読出要求生成部211は、メモリ106に格納されている初期化情報の読出を要求するためのデータパケットを生成する。初期化データパケット生成部213は、メモリ106から読出された初期化情報を結合して初期化データパケットを生成する。合流部201は、バス121を介して外部の周辺装置から送られてくるデータパケットと、バス123を介して装置21の内部の分岐部209から送られてくるデータパケットとを受け、バス127を介して発火制御部103へ送る。
【0136】
合流部203は、発火制御部103からバス129を介して送られてくるデータパケットと、初期化情報読出要求生成部211からバス219を介して送られてくる読出要求データパケットとを受け、バス221を介して演算部205へ送る。
【0137】
演算部205は、信号線217を介してメモリ106へアクセス信号と読出アドレスとを送り、メモリ106から初期化情報または演算情報(図6参照)を読出す。メモリ106から読出されたデータは、信号線218を介して演算部205へ送られる。演算部205は、合流部203から送られてきたデータパケットが初期化情報読出要求生成部211で生成された読出要求データパケットであれば、メモリ106から初期化情報を読出す。初期化情報の構成は図7に示したとおりである。演算部205は、読出した初期化情報を読出要求データパケットのデータフィールドF3に格納し、バス223を介して初期化データパケット生成部213へ送る。
【0138】
また、演算部205は、合流部203から送られてきたデータパケットが通常の演算処理を行なうためのデータパケット(以下、「演算処理用データパケット」という)であれば、その演算処理用データパケットに含まれる命令情報に基づいて算術演算や論理演算などの演算処理を施し、その結果を格納したデータパケットをバス131を介してプログラム記憶部107へ送る。
【0139】
プログラム記憶部107は、送られてきたデータパケットの行先情報に基づいて記憶領域からデータフロープログラムを読出す。プログラム記憶部107は、読出したデータフロープログラムに含まれる行先情報と命令情報とをそれぞれデータパケットの行先フィールドF1と命令フィールドF2とに次位の行先情報と次位の命令情報として格納し、そのデータパケットをバス133を介して分岐部209へ送る。
【0140】
一方、初期化データパケット生成部213は、演算部205から送られてきた読出要求データパケットに格納されている初期化情報を所定数ずつ結合して初期化データパケットを生成する。初期化データパケット生成部213は、生成した初期化データパケットをバス225を介して分岐部209へ送る。
【0141】
分岐部209は、送られてきたデータパケットをバス135を介して装置21の外部か、または、バス123を介して装置21の合流部201かへ送る。分岐部209は、送られてきたデータパケットが初期化データパケット生成部213で生成された初期化データパケットであれば、その初期化データパケットを合流部201へ送る。初期化データパケットの内部には出力先を制御するための制御フラグ(図7参照)が含まれている。分岐部209は、この制御フラグを参照して、送られてきたデータパケットが初期化データパケットであるか他のデータパケットであるかを判別する。
【0142】
リセット信号入力部113から発せられたリセット信号は、信号線151を介して装置21の内部に入力され、初期化情報読出要求生成部211へ入力される。さらに、リセット信号は、信号線151から分岐する信号線157を介して、合流部201と発火制御部103と合流部203と演算部205とプログラム記憶部107と初期化データパケット生成部213と分岐部209とへ送られる。リセット信号が送られた各部は、各々自己をリセットする。
【0143】
開始アドレス入力部115とアドレス数入力部117とから出力される設定信号は、それぞれ信号線153と信号線155とを介して初期化情報読出要求生成部211へ入力される。
【0144】
図10〜図13を参照して演算部205と、初期化情報読出要求生成部211と、初期化データパケット生成部213との詳細構成について説明する。
【0145】
図10は、初期化情報読出要求生成部211のブロック構成図である。初期化情報読出要求生成部211は、制御部231と、カウンタ部233と、比較部235と、読出データパケット生成部237とを含む。制御部231には、信号線151を介してリセット信号が入力される。リセット信号は、信号線151から分岐する信号線239を介してカウンタ部233と比較部235とに入力される。さらに、リセット信号は、信号線151から分岐する信号線241を介して読出データパケット生成部237へ入力される。制御部231とカウンタ部233と比較部235と読出データパケット生成部347とは、リセット信号が入力されると、自己をリセットしてCold/Warmの状態になる。
【0146】
制御部231は、リセット信号がON状態となってから一定時間が経過した後にOFF状態となったことに応答して初期化用クロック信号の発生を開始する。制御部231は、初期化用クロック信号を信号線243を介してカウンタ部233へ送り、信号線245を介して読出データパケット生成部237へ送る。カウンタ部233は、初期化用クロック信号が入力される度にカウント値を1ずつカウントアップする。カウンタ部233は、リセット信号の入力に応答して自己をリセットし、カウント値を「0」にクリアする。カウンタ部233は、信号線247を介して読出データパケット生成部237へカウント値を送る。さらに、カウンタ部233は、カウント値を信号線247から分岐する信号線227を介して比較部235と初期化情報読出要求生成部211の外部へ送る。
【0147】
読出データパケット生成部237には、信号線153を介して開始アドレスが入力される。読出データパケット生成部237は、カウンタ部233からカウント値が入力される度に、そのカウント値と開始アドレスとを加算して初期化情報を読出すための読出アドレスを生成する。読出データパケット生成部237は、生成した読出アドレスを格納した読出要求データパケットを生成する。読出データパケット生成部237は、読出要求データパケットをバス219を介して初期化情報読出要求生成部211の外部へ出力する。
【0148】
読出データパケット生成部237は、制御部231から初期化用クロック信号が出力され、カウンタ部233からカウント値が出力されている限り読出要求データパケットの生成処理を継続し、読出アドレスを1個ずつ含んだ読出要求データパケットを順次生成して出力する。
【0149】
比較部235には、信号線155を介してアドレス数が入力される。比較部235は、カウンタ部233から送られてくるカウント値をアドレス数と比較する。比較部235は、カウント値がアドレス数と一致した時点で、信号線249を介して制御部231へ初期化用クロック信号の発生を停止させるための信号を出力する。制御部231は、比較部235から送られてきた信号に応答して、初期化用クロック信号の出力を停止する。これにより、読出要求データパケットの生成処理が終了する。
【0150】
図11は、読出データパケット生成部237の回路図である。読出データパケット生成部237は、加算器251と、ハードウェア設定部253と、ラッチ回路255とを含む。加算器251とハードウェア設定部253とラッチ回路255とは信号線241を介して入力されるリセット信号に応答して各々自己をリセットする。
【0151】
加算器251は、信号線153を介して送られてくる開始アドレスと、信号線247を介して送られてくるカウント値とを加算し、その加算値を信号線259を介してラッチ回路255へ送る。加算値は初期化情報を読出すための読出アドレスである。
【0152】
ハードウェア設定部253は、読出アドレス以外の読出要求データパケットを生成するために必要なデータを生成する。ハードウェア設定部253は、生成したデータをバス261を介してラッチ回路255へ送る。ラッチ回路255へは信号線245を介して初期化用クロック信号が入力される。ラッチ回路255は、初期化用クロック信号に応答して、加算器251から送られてくる読出アドレスとハードウェア設定部253から送られてくるデータとをラッチする。ラッチ回路255へラッチされたデータは、読出要求データパケットとしてバス219へ出力される。
【0153】
図12は、演算部205(図9参照)の回路図である。演算部205は、第1実施例の装置11に含まれる演算部と同様の演算部105を含む。本実施例では、演算部205が、通常の演算処理と共に、初期化情報の読出処理とを行なう。演算部205は、演算部105の他、命令デコーダ265と分岐部267とを含む。演算部205にバス221を介してデータパケットが入力されると、演算部105は、そのデータパケットに含まれる命令情報に従って処理を行なう。演算部105は、必要に応じて信号線217を介してメモリ106(図9参照)へアクセス信号と読出アドレスとを送る。メモリ106からは読出されたデータが信号線218を介して演算部105へ送られる。演算部205へ送られてきたデータパケットが読出要求データパケットであれば、演算部105は、読出要求データパケットに含まれる読出アドレスが指定する初期化情報をメモリ106から読出す。
【0154】
一方、命令デコーダ265は、信号線269を介してデータパケットの命令情報を解読する。命令デコーダ265は、解読結果を信号線270を介して分岐部267へ送る。演算部105は、通常の演算処理を行なった結果を格納したデータパケット、または、読出した初期化情報を格納した読出要求データパケットをバス271を介して分岐部267へ送る。
【0155】
分岐部267は、命令デコーダ265から送られてくる命令の解読結果を判定し、命令が初期化情報の読出を要求するものであれば、演算部105から送られてきたデータパケットを初期化データパケット生成部213に接続されたバス223へ出力する。分岐部267は、命令が初期化情報の読出を要求するもの以外であれば、演算部105から送られてきたデータパケットをプログラム記憶部107に接続されたバス131へ出力する。
【0156】
図13は、初期化データパケット生成部213の回路図である。初期化データパケット生成部213は、初期化情報抽出部281と、8個のコンパレータ283a〜283hを含むコンパレータ群285と、8個のラッチ回路286a〜286hを含むラッチ回路群287と、ラッチ回路288とを含む。初期化情報抽出部281と、コンパレータ群285と、ラッチ回路群287と、ラッチ回路288とは、それぞれ信号線157を介して送られるリセット信号を受けて自己をリセットする。
【0157】
コンパレータ283a〜283hの一方の入力端子には信号線227を介して初期化情報読出要求生成部211から送られてくるカウント値のビットの中の下位の3ビットが入力される。コンパレータ283a〜283hのもう一方の入力端子には、信号線291a〜291hを介してそれぞれ「1」〜「7」,「0」の値を表わす信号が送られている。初期化情報読出要求生成部211から出力されるカウント値に応じて信号線227を介して「1」〜「7」「0」の信号が順次送られてくると、信号線291a〜291hから同じ信号が入力されているコンパレータ283a〜283hの中の1つから対応するラッチ回路286a〜286hへ信号線293a〜283hを介して信号が送られる。
【0158】
一方、初期化データパケット生成部213には、バス223を介して演算部205(図9参照)から初期化情報を格納した読出要求データパケットが送られる。初期化情報抽出部281は、読出要求データパケットを受け、格納されている初期化情報を読出す。初期化情報抽出部281は、読出した初期化情報を信号線295を介してラッチ回路群287へ送る。ラッチ回路群287では、対応するコンパレータからラッチ信号が出力されているラッチ回路286a〜286hの中の1つが、その時点で初期化情報抽出部281から送られている初期化情報をラッチする。これにより、信号線227を介して送られてくるカウント値に応答して、バス223を介して送られてくる読出要求データパケットに含まれる初期化情報が、ラッチ回路286a〜286hに順次ラッチされる。
【0159】
そして、信号線293hを介して8番目のラッチ回路286hへ送られる信号のパルスが立上り、8個目の初期化情報がラッチ回路286hにラッチされると、その後、信号線293hから分岐する信号線294を介して、同様のパルス信号がラッチ回路288へ送られる。パルス信号が立下ると、ラッチ回路288は、これに応答してラッチ回路286a〜286hから信号線296を介して送られてくる8個の初期化情報をラッチする。ラッチ回路288は、8個の初期化情報を結合して初期化データパケットとしてバス225を介して外部へ出力する。これにより、メモリ106(図1参照)から1ワードずつ読出された初期化情報が、初期化データパケット生成部213にて8個を1組として結合され、初期化データパケットが生成される。
【0160】
図9を参照して、初期化データパケット生成部213から出力された初期化データパケットは、バス225を介して分岐部209へ送られる。分岐部209は、初期化データパケットをバス123を介して合流部201へ送る。合流部201へ送られた初期化データパケットは、そのデータパケットが初期化の対象とする機能部へ到達するまで、発火制御部103と合流部203と演算部205とプログラム記憶部107とに順次伝送される。初期化データパケットは、初期化の対象とする機能部へ到達すると、その機能部が初期化データパケットに含まれる命令情報および初期化のために必要なデータを読出して、自己を初期化する。なお、本実施例において初期化データパケットを用いて初期化する対象となるのは、発火制御部103と演算部205とプログラム記憶部107である。これらの各部の初期化処理の内容は、第1実施例と同様である。
【0161】
以上説明した本発明の第2実施例によれば、装置21の内部に初期化データパケットを生成する機構を内蔵し、かつ、初期化情報を演算情報と共に1個のメモリ106内に予め格納する。さらに、第2実施例では、初期化情報をメモリ106から読出す処理を、演算部205が行なうようにしている。したがって、初期化情報を読出すための手段を、装置21の内部に別途設ける必要がなくなり、装置21の構成を簡単にし、かつ規模を小さくすることが可能となる。
【0162】
[第3実施例]
次に、本発明のデータ駆動型情報処理装置の第3実施例について説明する。本実施例は、外部からのデータ駆動型情報処理装置に対する初期化の要求を、データパケットを入力することによっても行なえるようにしている。なお、第1実施例および第2実施例と同様の機能を有するものは、同一の符号をつけて説明する。
【0163】
図14は、本実施例に係るデータ駆動型情報処理装置31のブロック構成図である。以下の説明では、データ駆動型情報処理装置31を単に「装置31」という。装置31は、合流部201と発火制御部103と、演算部205と、メモリ106と、プログラム記憶部107と、分岐部209と、初期化データパケット生成部213とを含む。これらの構成は、第2実施例と同様である。さらに、装置31は、要求検出部301と、初期化情報読出要求生成部303とを含む。装置31の外部には、第1実施例および第2実施例と同様にリセット信号入力部113と、開始アドレス入力部115と、アドレス数入力部117とが設けられている。
【0164】
第2実施例と同様に、装置31の全体を初期化させるときには、発火制御部103と、演算部205と、プログラム記憶部107とのすべてに、各々に対応する初期化データパケットを送って初期化させる。また、以上の3つの部のうちのいずれかのみを初期化させるときには、その部に対応する初期化データパケットを送る。以上の3つの部以外の他の部は、リセット信号に応答して自己をリセットすることにより、Cold/Warm状態となるので、初期化データパケットを用いて初期化させる必要はない。
【0165】
装置31には、外部の周辺装置からバス121を介してデータパケットが入力される。入力されるデータパケットとしては、演算処理用データパケットと初期化データパケットとの他、初期化要求データパケットとリセット初期化要求データパケットとがある。初期化要求データパケットは、装置31に対して初期化を要求するための命令(以下「初期化要求命令」という)を格納している。また、リセット初期化要求データパケットは、装置31に対してリセットと初期化とを要求するための命令(以下「リセット初期化要求命令」という)を格納している。
【0166】
要求検出部301は、信号線151から分岐する信号線311を介してリセット信号入力部113が出力したリセット信号が送られてくると、そのリセット信号を信号線313を介して、合流部201と発火制御部103と演算部205とプログラム記憶部107と初期化データパケット生成部213と分岐部209と、外部の周辺装置とへ送る。また、要求検出部301は、バス129を介して送られてきたデータパケットが、リセット初期化要求データパケットであれば、リセット信号が送られてきたときと同様に、信号線313を介して装置31の内部の前述した各部と、周辺装置とへリセット信号を送り、さらに、信号線314を介して初期化情報読出要求生成部303へもリセット信号を送る。
【0167】
要求検出部301は、初期化要求データパケットまたはリセット初期化要求データパケットが送られてきたことに応答して、信号線315,316,317を介して初期化情報読出要求生成部303へ信号を送る。信号線315は、初期化を要求する命令を検出したことを示す要求検出信号を送る。信号線316は、初期化情報を読出すための開始アドレスを送る。信号線317は、初期化情報を読出すアドレス数を送る。要求検出部301には、バス319を介して初期化情報読出要求生成部303から読出要求データパケットが送られる。要求検出部301は、バス129を介して送られてくる演算処理用データパケットと同様に、読出要求データパケットをバス221を介して演算部205へ送る。
【0168】
初期化情報読出要求生成部303は、信号線151を介してリセット信号入力部113からリセット信号が入力され、そのリセット信号が解除されたことに応答して読出要求データパケットの生成を開始する。また、初期化情報読出要求生成部303は、要求検出部301から信号線315を介して要求検出信号が送られてきたときにも読出要求データパケットの生成を開始する。
【0169】
初期化情報読出要求生成部303は、リセット信号の入力解除に応答して読出要求データパケットを生成する場合には、読出要求データパケットに格納する初期化情報の読出アドレスを信号線153を介して開始アドレス入力部115から送られてくる開始アドレスに基づいて定める。この場合、初期化情報読出要求生成部303は、信号線155を介してアドレス入力部117から送られてくるアドレス数に基づいて読出要求データパケットの生成の終了タイミングを検出する。
【0170】
一方、初期化情報読出要求生成部303は、信号線315から送られてくる要求検出信号に応答して読出要求データパケットを生成する場合には、読出要求データパケットに格納する初期化情報の読出アドレスを信号線316から送られてくる開始アドレスに基づいて定める。この場合、初期化情報読出要求生成部303は、読出要求データパケットの生成の終了タイミングを信号線317から送られてくるアドレス数により検出する。
【0171】
初期化データパケット生成部213の構成は、第2実施例にて説明したとおりである。初期化データパケット生成部213は、初期化情報読出要求生成部303から信号線227を介して送られてくるカウント値に応答して初期化データパケットを生成する。
【0172】
図15は、初期化情報読出要求生成部303のブロック構成図である。初期化情報読出要求生成部303は、制御部331と、カウンタ部333と、比較部335と、読出データパケット生成部337とを含む。これらの各部は、信号線151を介して送られてくるリセット信号または信号線315を介して送られてくる要求検出信号に応答して読出要求データパケットを生成する動作を開始する。
【0173】
信号線151を介してリセット信号が入力された場合の動作について説明する。信号線151を介して送られてきたリセット信号は、制御部331へ送られる。また、リセット信号は、信号線151から分岐する信号線341を介してカウンタ部333と比較部335とへ送られる。さらに、リセット信号は、信号線151から分岐する信号線343を介して読出データパケット生成部337へ送られる。制御部331は、送られてくるリセット信号がON状態からOFF状態へ切換えられたことに応答して信号線345を介して初期化用クロック信号を出力する。
【0174】
また、制御部331は、読出データパケット生成部337に対して信号線350を介してシステムクロック信号を出力する。システムクロック信号は、装置31の全体を同期させるために用いられる信号である。システムクロック信号を発生させるための手段は、装置31の内部または外部に設けられる。この手段から初期化情報読出要求生成部303に送られてきたシステムクロック信号は、制御部331に入力され、制御部331から他の部へ送られる。なお、システムクロック信号を発生させる手段と、信号を送るための他の信号線とについては、図示を省略する。
【0175】
カウンタ部333は、リセット信号に応答して自己をリセットして、カウント値を「0」にクリアする。その後、カウンタ部333は、送られてくる初期化用クロック信号に応答してカウント値を1ずつカウントアップする。カウント値は、信号線347を介して読出データパケット生成部337へ送られ、さらに、信号線227を介して比較部335と、初期化情報読出要求生成部303の外部とへ出力される。
【0176】
読出データパケット生成部337は、初期化用クロック信号とシステムクロック信号とに応答して、信号線153から送られてくる開始アドレスと信号線347を介して送られてくるカウント値とに基づいて初期化情報の読出アドレスを生成し、その読出アドレスを格納した読出要求データパケットを生成する。読出データパケット生成部337は、生成した読出要求データパケットをバス319を介して初期化情報読出要求生成部303の外部へ出力する。
【0177】
比較部335は、信号線155を介して送られてくるアドレス数と信号線227を介して送られてくるカウント値とを比較し、カウント値がアドレス数と一致した時点で信号線355を介して制御部331へ初期化用クロック信号の出力を停止させるための信号を送る。制御部331は、この信号に応答して初期化用クロック信号の出力を停止する。これにより、読出要求データパケットの生成動作が停止する。
【0178】
次に、信号線315を介して送られてくる要求検出信号に応答して読出要求データパケットの生成動作を行なうときの手順について説明する。要求検出信号は、初期化要求データパケットまたはリセット初期化要求データパケットが装置31に入力された場合に生成される。リセット初期化要求データパケットが入力された場合には、要求検出信号が信号線315を介して初期化情報読出要求生成部303に送られてくる前に、信号線314を介して要求検出部301からリセット信号が送られてくる。このリセット信号は、読出データパケット生成部337へ入力され、さらに、信号線314から分岐する信号線351を介して制御部331とカウンタ部333と比較部335とに入力される。
【0179】
制御部331は、信号線351から送られてくるリセット信号に対しては、自己をリセットする処理のみを行ない、そのリセット信号の解除に応答して初期化用クロック信号を発生させる動作を開始しない。その後、一定時間が経過した後に、信号線315を介して要求検出信号が制御部331へ送られ、さらに、信号線315から分岐する信号線353を介して要求検出信号が読出データパケット生成部337へ送られる。要求検出信号が送られてきたことにより、読出要求データパケットの生成動作が開始される。
【0180】
読出要求データパケットの生成動作が開始されてからの制御部331とカウンタ部333との動作については、信号線151を介して入力されるリセット信号の解除に応答した生成動作と同様である。読出データパケット生成部337は、信号線153を介して送られてくる開始アドレスの代わりに信号線316を介して要求検出部301から送られてくる開始アドレスを用いる。また、比較部335は、信号線155を介して送られてくるアドレス数の代わりに信号線317を介して要求検出部301から送られてくるアドレス数を用いる。制御部331から初期化用クロック信号が出力されている限り、読出要求データパケットが順次生成されてバス319を介して出力される。そして、比較部335から制御部331へ信号が送られた時点で、読出要求データパケットの生成動作が停止する。
【0181】
図16は、読出データパケット生成部337の回路図である。読出データパケット生成部337は、ラッチ回路361と、ラッチ回路363と、マルチプレクサ(MUX)365と、加算器367と、ハードウェア設定部368と、ラッチ回路369と、OR回路377とを含む。
【0182】
装置31の外部から入力されたリセット信号を送る信号線343は、OR回路377の一方の入力端子に接続される。また、要求検出部301から出力されたリセット信号を送る信号線314は、OR回路377のもう一方の入力端子に接続される。信号線343または信号線314のいずれかからリセット信号が送られてくれば、OR回路377の出力端子からリセット信号が出力され、そのリセット信号が信号線379と信号線380とを介して読出データパケット生成部337の各部へ送られる。各部は、リセット信号が送られてきたことに応答して自己をリセットする。
【0183】
その後、ラッチ回路361は、信号線350を介して送られてくるシステムクロック信号に応答して、信号線353を介して送られてくる要求検出信号をラッチする。また、ラッチ回路363は、信号線350を介して送られてくるシステムクロック信号に応答して信号線316を介して送られてくる開始アドレスをラッチする。マルチプレクサ365には、ラッチ回路363から信号線371を介して送られてくる開始アドレスと、信号線153から送られてくる開始アドレスとが入力される。マルチプレクサ365は、ラッチ回路361から信号線370を介して送られてくる信号すなわち要求検出信号がON状態となっている場合に、ラッチ回路363から送られてくる開始アドレスを信号線372を介して加算器367へ送る。一方、マルチプレクサ365は、信号線370から送られてくる信号がOFF状態のときは信号線153を介して送られてくる開始アドレスを、信号線372を介して加算器367へ送る。これにより、装置31の初期化の要求が、外部からのリセット信号の入力によるものか、または、初期化要求データパケットかリセット初期化要求データパケットかの入力によるものかに応じて、信号線153を介して送られてくる開始アドレスと信号線316を介して送られてくる開始アドレスが選択される。
【0184】
加算器367は、信号線372から送られてくる開始アドレスと、信号線347を介して送られてくるカウント値とを加算し、その加算値を信号線373を介してラッチ回路369へ送る。この加算値は、初期化情報の読出アドレスである。また、ハードウェア設定部368は、読出アドレス以外の読出要求データパケットを生成するために必要なデータを生成してバス375を介してラッチ回路369へ送る。ラッチ回路369は、信号線346から送られてくる初期化用クロック信号に応答して、加算器367から送られてくる読出アドレスとハードウェア設定部368から送られてくるデータとをラッチし、それらを結合して読出要求データパケットとして出力する。読出要求データパケットは、バス221を介して外部へ送られる。
【0185】
図17は、要求検出部301のブロック構成図である。要求検出部301は、合流部381と、リセット要求検出部383と、初期化要求検出部385とを含む。合流部381は、バス129を介して発火制御部103(図14参照)から送られてくるデータパケットと、バス319を介して初期化情報読出要求生成部303から送られてくる読出要求データパケットとをバス387を介してリセット要求検出部383へ送る。
【0186】
リセット要求検出部383は、バス387を介して送られてきたデータパケットがリセット初期化要求データパケットであれば、または信号線311を介してリセット信号が送られてくれば、それらに応答してリセット信号を出力する。リセット要求検出部383から出力されるリセット信号は、信号線313と信号線314とを介して要求検出部301の外部へ出力される。さらに、リセット信号は、信号線313から分岐する信号線391を介して合流部381へ送られ、信号線393を介して初期化要求検出部385へ送られる。
【0187】
合流部381と初期化要求検出部385とは、リセット信号に応答して自己をリセットする。また、信号線314を介して出力されたリセット信号は、初期化情報読出要求生成部303へ送られる。信号線313を介して出力されたリセット信号は、前述したように発火制御部103や演算部205やプログラム記憶部107などへ送られる。
【0188】
リセット要求検出部383は、送られてきたデータパケットがリセット初期化要求データパケットであれば、そのリセット初期化要求データパケットを初期化要求データパケットに変換してバス389を介して初期化要求検出部385へ送る。また、リセット要求検出部383は、送られてきたデータパケットがリセット初期化要求データパケット以外のデータパケットであれば、そのデータパケットをそのままバス389を介して初期化要求検出部385へ送る。
【0189】
初期化要求検出部385は、送られてきたデータパケットが初期化要求データパケットであれば、要求検出信号を信号線315を介して初期化情報読出要求生成部303へ送る。さらに初期化要求検出部385は、初期化要求データパケットに含まれる開始アドレスとアドレス数とをそれぞれ信号線316と信号線317とを介して初期化情報読出要求生成部303へ送る。初期化要求検出部385は、以上の処理が完了すれば、初期化要求データパケットを消去する。初期化要求検出部385は、送られてきたデータパケットが初期化要求データパケット以外のデータパケットであれば、それをそのままバス221を介して演算部205(図14参照)へ送る。
【0190】
図18は、リセット要求検出部383の回路図である。リセット要求検出部383は、ラッチ回路401と、データパケット変換部403と、ラッチ回路405と、単安定マルチバイブレータ407と、単安定マルチバイブレータ409と、パルスカット回路411と、OR回路413とを含む。バス387は、データパケットを搬送するためのパルスを送る信号線421と、データパケットを送るバス423とを含む。信号線421は、単安定マルチバイブレータ407に接続される。単安定マルチバイブレータ407からの出力は信号線429を介して単安定マルチバイブレータ409へ送られる。単安定マルチバイブレータ409からの出力は信号線431を介してパルスカット回路411へ送られる。
【0191】
パルスカット回路411からの出力は信号線433を介して外部へ出力される。バス423を介して送られるデータパケットは、ラッチ回路401へ入力される。ラッチ回路401は、信号線421から分岐する信号線422を介して送られてくる信号に応答して、データパケットをラッチする。ラッチ回路401は、ラッチしたデータパケットをバス425を介してデータパケット変換部403へ送る。
【0192】
データパケット変換部403は、送られてきたデータパケットがリセット初期化要求データパケットであれば、それを初期化要求データパケットに変換してバス427を介してラッチ回路405へ送る。データパケット変換部403は、送られてきたデータパケットがリセット初期化要求データパケットでなければ、それをそのままラッチ回路405へ送る。ラッチ回路405は、信号線433から分岐する信号線435を介して送られてくる信号線に応答して、ラッチ回路401から送られてきたデータパケットをラッチする。ラッチ回路405がラッチしたデータパケットは、バス437を介して外部へ出力される。バス437と信号線433とによりバス389が構成される。
【0193】
さらに、単安定マルチバイブレータ407からの信号線429から分岐する信号線441は、OR回路413の一方の入力端子に接続される。OR回路413のもう一方の入力端子には、信号線311が接続される。OR回路413の出力は、信号線313を介して外部へ出力される。また、信号線441からは信号線314が分岐し、初期化情報読出要求生成部303(図14参照)に接続されている。なお、信号線429を介して送られる信号が信号線441へ分岐して送られるのは、バス423を介して送られてきたデータパケットがリセット初期化要求データパケットである場合である。バス423を介して送られてきたデータパケットがリセット初期化要求データパケットであるか否かに応じてr信号を信号線441へ出力するか否かを決定するための機構については図示を省略する。
【0194】
図にて、信号線421と信号線429と信号線431と信号線433とに付されているi,r,a,oは、信号線の種類を示す符号である。これらi信号とr信号とa信号とo信号との変化については図20を参照して後述する。
【0195】
図19は、データパケット変換部403のブロック構成図である。データパケット変換部403は、リセット初期化要求命令検出部451と、ハードウェア設定部453と、マルチプレクサ(MUX)455とを含む。バス425を介して送られてきたデータパケットは、マルチプレクサ455の一方の入力部に入力される。バス425からはバス457が分岐する。バス457は、データパケットの命令情報以外のデータをマルチプレクサのもう一方の入力部へ送る。また、ハードウェア設定部453は、初期化要求命令を生成する。ハードウェア設定部453から出力された初期化要求命令は、バス459を介して、マルチプレクサ455の2つの入力部のうち、バス457が接続されている方の入力部へ送られる。
【0196】
一方、バス425を介して送られるデータパケットの命令情報が、信号線452を介してリセット初期化要求命令検出部451により解読される。リセット初期化要求命令検出部451は、データパケットに含まれる命令情報がリセット初期化要求命令であれば、その旨を示す信号を信号線454を介してマルチプレクサ455へ送る。
【0197】
マルチプレクサ455は、信号線454から送られてくる信号がON状態であれば、バス457とバス459とを介して送られてくるデータを結合して初期化要求データパケットを生成し、バス427を介して外部へ出力する。また、マルチプレクサ455は、信号線454から送られてくる信号がOFF状態であれば、バス425を介して送られてくるデータパケットをそのままバス427を介して外部へ出力する。これにより、データパケット変換部403へ送られてきたデータパケットのうち、リセット初期化要求データパケットのみが初期化要求データパケットに変換される。
【0198】
図20は、リセット要求検出部383の内部における信号の変化を示すタイミングチャートである。同図を参照してリセット要求検出部383の動作について説明する。図示した信号は、データパケットの搬送に用いられるパルス信号であるi信号と、単安定マルチバイブレータ407から出力されるr信号と、単安定マルチバイブレータ409から出力されるa信号と、パルスカット回路411から出力されるo信号である。
【0199】
データパケットを搬送するためのパルス信号であるi信号が入力されると、このi信号の立上りに応答して、単安定マルチバイブレータ407から期間T2のr信号が出力される。このr信号は、バス423を介して送られてきたデータパケットがリセット初期化要求データパケットである場合に、信号線441を介してOR回路413へ送られ、さらに、信号線314を介して初期化情報読出要求生成部303へ送られる。このr信号が、リセット初期化要求データパケットに応答して生成されるリセット信号となる。
【0200】
r信号の立下りに応答して、単安定マルチバイブレータ409から期間T3のa信号が出力される。このa信号の立下りに応答してパルスカット回路411から期間T4のo信号が出力される。o信号は、ラッチ回路405がデータパケットをラッチするためのトリガとなる信号である。
【0201】
リセット要求検出部383へリセット初期化要求データパケットが送られてきた場合には、r信号の出力期間であるT2が、リセット要求検出部383からリセット信号が出力されるリセット期間となる。また、a信号が立上がってから立下るまでの期間T3が、リセット期間が終了してから初期化要求データパケットが出力されるまでの待機期間となる。この待機時間は、装置31の構成や装置31を組込むシステムや機器等の構成に応じて、リセット処理が完了するために必要な十分な長さになるように単安定マルチバイブレータ409を調整して設定すればよい。
【0202】
なお、リセットさせるべき内部の各部および外部の周辺装置のすべてがリセット信号のパルスの立上りに応答して自己をリセットするものである場合には、次のような変形が可能である。たとえば、単安定マルチバイブレータ409を用いず、単安定マルチバイブレータ407からのr信号を十分な長さの期間出力するようにし、パルスカット回路515には、r信号の立下りに応答させてo信号を出力させる。
【0203】
図21は、初期化要求検出部385の回路図である。初期化要求検出部385は、ラッチ回路461と、遅延素子463と、命令デコーダ465と、ラッチ回路467と、AND回路469と、ラッチ回路471とを含む。各部は、信号線311を介して送られてくるリセット信号と信号線393を介して送られてくるリセット信号とに応答して自己をリセットする。バス389は、データパケットを搬送するためのパルス信号を送るための信号線475と、データパケットを送るためのバス477とを含む。
【0204】
ラッチ回路461は、信号線475から分岐する信号線479から送られてくる信号に応答して、バス477を介して送られてくるデータパケットをラッチする。ラッチ回路461にラッチされたデータパケットは、バス491を介してラッチ回路471へ送られる。信号線475を介して送られる信号は、遅延素子463により所定時間遅延された後、信号線481を介して出力される。
【0205】
命令デコーダ465には、ラッチ回路461にラッチされているデータパケットの命令情報が信号線485を介して送られる。命令デコーダ465は、命令情報が初期化要求命令である場合に、所定の信号を信号線487を介してAND回路469の一方の入力端子に送る。AND回路469のもう一方の入力端子には信号線481から分岐する信号線483を介して信号が入力される。命令デコーダ465からの出力信号がON状態のときは、遅延素子463から所定時間遅延されたパルス信号が信号線483を介して送られてきたときに、AND回路469から信号線315を介して信号が出力される。この信号は、信号線315を介して要求検出信号として外部に出力されるとともに、信号線315から分岐する信号線489を介してラッチ回路467へ送られる。
【0206】
ラッチ回路467へは、ラッチ回路461にラッチされているデータパケットに含まれる開始アドレスとアドレス数とが、バス493を介して送られている。ラッチ回路467は、信号線489から送られてきた信号に応答して開始アドレスとアドレス数とをラッチする。ラッチ回路467は、開始アドレスを信号線316を介して外部へ出力し、アドレス数を信号線317を介して外部へ出力する。ラッチ回路471は、信号線481から分岐する信号線495を介して送られてくる信号に応答して、バス491を介して送られてくるデータパケットをラッチし、バス497を介して外部へ出力する。
【0207】
これにより、初期化要求検出部385に初期化要求データパケットが送られてきた場合には、要求検出信号が信号線315を介して出力されるとともに、初期化要求データパケットに含まれる開始アドレスとアドレス数とが信号線316と信号線317とを介して外部へ出力される。なお、初期化要求データパケットは、初期化要求検出部385への所定の処理が完了した後に消去されるが、その消去するための機構については図示を省略する。
【0208】
以上説明した第3実施例によれば、データ駆動型情報処理装置に対する初期化の要求を、リセット信号を入力した後その入力を解除することの他、初期化要求命令を含むデータパケットを入力することによっても行なうことができる。さらに、リセットと初期化とを行なうことを要求する命令を含むデータパケットを入力することにより、初期化に先立ってデータ駆動型情報処理装置の全体をリセットすることができる。また、要求検出部301は、リセット信号またはリセット初期化要求データパケットの入力に応答して、装置31の内部と周辺装置とにリセット信号を出力するので、たとえば、装置31にリセットの要求を入力すれば、装置31を組込んだシステムや機器等の全体をリセットすることができる。さらにまた、本実施例では、リセット初期化要求データパケットが入力された場合には、リセット期間が終了した後、装置31および外部の周辺装置がすべてリセットされるために十分な時間待機した後、読出要求データパケットを生成する動作を開始するようにできるので、リセット処理の途中で初期化データパケットが生成され、初期化処理に支障が生じることを防止することができる。
【0209】
なお、本実施例では、要求検出部301が、リセット要求検出部383と初期化要求検出部385とを含むように構成しているが、要求検出部301が初期化要求検出部385のみを含むように変形してもよい。この場合、装置31の全体を初期化させるときには、リセット信号入力部113からリセット信号を入力した後、リセットが完了するのに十分な時間が経過した後に、バス121を介して初期化要求データパケットを入力する。
【0210】
[第4実施例]
次に、本発明のデータ駆動型情報処理装置の第4実施例について説明する。第4実施例では、データ駆動型情報処理装置が、外部からのリセット信号の入力が解除されたことに応答して、データ駆動型情報処理装置の内部で初期化要求データパケットを生成する機構を含むことを特徴とする。前述の第1〜第3の実施例と同様の機能を有するものは、同一の符号を付けて説明する。
【0211】
図22は、第4実施例に係るデータ駆動型情報処理装置41のブロック構成図である。以下の説明ではデータ駆動型情報処理装置41を単に「装置41」という。装置41は、合流部201と発火制御部103と演算部205と、メモリ106と、プログラム記憶部107と、分岐部209と、初期化データパケット生成部213とを含む。これらの構成は、第3実施例の装置31に含まれるものと同様である。さらに、装置41は、要求検出部501と初期化要求生成部503と、初期化情報読出要求生成部505とを含む。装置41の外部には、前述した各実施例と同様に、リセット信号入力部113と、開始アドレス入力部115とアドレス数入力部117とが設けられている。
【0212】
装置41の全体または一部を初期化させるときに初期化データパケットを送る必要があるのは、第3実施例と同様、発火制御部103と、演算部205と、プログラム記憶部107とである。外部の周辺装置からバス121を介して、および、装置41の内部の分岐部209からバス123を介して合流部201へ送られてきたデータパケットが、発火制御部103と要求検出部501と演算部205と、プログラム記憶部107または初期化データパケット生成部305と、分岐部209とを経て処理される手順は、第3実施例と同様である。装置41に含まれる要求検出部501と初期化情報読出要求生成部505とは、それぞれ第3実施例の装置31に含まれる要求検出部301と初期化情報読出要求生成部303とに対応する。
【0213】
初期化要求生成部503には、リセット信号入力部113から出力されるリセット信号が信号線151を介して入力される。さらに、初期化要求生成部503には、開始アドレス入力部115から出力される開始アドレスとアドレス数入力部117から出力されるアドレス数とが、それぞれ信号線153と信号線155とを介して入力される。初期化要求生成部503は、信号線151を介して入力されたリセット信号に応答して、初期化要求データパケットを生成する。初期化要求生成部503は、初期化要求データパケットの内部に初期化要求命令と開始アドレスとアドレス数とを格納してバス511を介して要求検出部501へ送る。
【0214】
要求検出部501は、バス511を介して初期化要求データパケットが送られてくると、それに応答して、要求検出信号と開始アドレスとアドレス数とをそれぞれ信号線315と信号線316と信号線317とを介して初期化情報読出要求生成部505へ送る。一方、要求検出部501へは、信号線151から分岐する信号線311を介してリセット信号が入力される。要求検出部501は、リセット信号が入力されるとそのリセット信号を信号線313を介して合流部201と、発火制御部103と、演算部205と、プログラム記憶部107と、初期化データパケット生成部213と、分岐部209と、装置41の外部の周辺装置とへ出力する。さらに、要求検出部501は、リセット初期化要求データパケットを受けた場合にのみ、信号線314を介して初期化要求生成部503へリセット信号を送る。
【0215】
要求検出部501には、バス129を介して発火制御部103から演算処理用データパケットと初期化データパケットと初期化要求データパケットとリセット初期化要求データパケットとなどが送られる。また、要求検出部501には、バス319を介して初期化情報読出要求生成部505から読出要求データパケットが送られる。これらバス129とバス319とを介してデータパケットが送られてきた場合の要求検出部501の処理は、第3実施例の要求検出部301と同様である。
【0216】
要求検出部501が要求検出部301と異なるのは、要求検出部501は、初期化要求生成部503から初期化要求データパケットを受け、それに応答して要求検出信号と開始アドレスとアドレス数とを初期化情報読出要求生成部505へ送るという点である。
【0217】
図23(a)は、初期化要求生成部503の回路図である。初期化要求生成部503は、パルスカット回路515と、ハードウエア設定部517とラッチ回路519とを含む。パルスカット回路515には、信号線151を介してリセット信号が入力される。
【0218】
パルスカット回路515の入力信号と出力信号との関係を図23(b)のタイミングチャートに示す。パルスカット回路515は、信号線151を介して送られてくるリセット信号のパルスが立上ってから期間T11が経過した後に期間T12のパルスを出力する。このパルス信号は信号線521を介して送られる。
【0219】
このパルス信号に応答して、後述する手順により初期化要求データパケットが生成されて出力される。期間T11は、リセット信号が立上ってからパルス信号が出力されるまでの待機時間である。この待機時間は、装置41を組込むシステムや機器等の構成に応じて、リセット処理が完了するために必要な十分な長さになるように、パルスカット回路515を調整して設定すればよい。なお、本実施例では、リセットの対象となる各部は、すべてリセット信号の立上りに応答して自己をリセットする。
【0220】
パルスカット回路515から出力されたパルス信号は、信号線521から分岐する信号線523を介してラッチ回路519へ送られる。ラッチ回路519は、このパルス信号に応答して、信号線153を介して送られてくる開始アドレスと、信号線155を介して送られてくるアドレス数と、ハードウエア設定部517からバス525を介して送られてくるデータとをラッチする。ハードウエア設定部517は、開始アドレスとアドレス数と以外の、初期化要求データパケットを生成するために必要なデータを出力する。ラッチ回路519は、ラッチした各データを結合して初期化要求データパケットを生成し、バス527を介して外部へ出力する。信号線521とバス527とによりバス511(図22参照)が構成されている。
【0221】
パルスカット回路515と、ハードウエア設定部517と、ラッチ回路519とは、それぞれ信号線151を介して送られてくるリセット信号、または、信号線314を介して送られてくるリセット信号に応答して、自己をリセットする。信号線314を介して送られてくるリセット信号は、要求検出部501(図22参照)が、リセット初期化要求データパケットに応答して出力したものである。なお、パルスカット回路515は、信号線314を介して送られてきたリセット信号に対しては、これに応答して前述のパルス信号の出力を行なわず、自己をリセットするのみである。
【0222】
図24は、初期化情報読出要求生成部505のブロック構成図である。初期化情報読出要求生成部505は、制御部535と、カウンタ部537と、比較部539と、読出データパケット生成部541とを含む。これらは、図15に示した第3実施例の制御部331と、カウンタ部333と、比較部335と、読出データパケット生成部337とにそれぞれ相当する。各部へは、または、各部からは、第3実施例と同一の符号を付けた信号線313,315,316,317,321,345,346,350,351,353,355と、バス319とを介して、同様の信号またはデータパケットが送られる。但し、信号線313は、第3実施例の信号線314に対応する。
【0223】
初期化情報読出要求生成部505が、第3実施例の初期化情報読出要求生成部303と異なるのは、初期化情報読出要求生成部505には、装置41の外部からのリセット信号と、開始アドレスと、アドレス数との入力がない点である。初期化情報読出要求生成部505は、信号線315を介して送られてくる要求検出信号にのみ応答して、読出要求データパケットの生成動作を開始する。また、初期化情報読出要求生成部505に含まれる制御部535とカウンタ部537と比較部539と読出データパケット生成部541とのそれぞれは、信号線313を介して要求検出部501から送られてくるリセット信号に応答して自己をリセットする。信号線313を介して送られてきたリセット信号は、信号313から分岐する信号線351を介して制御部535とカウンタ部537と比較部539とに送られる。
【0224】
信号線315を介して要求検出信号が送られてきてからの制御部535とカウンタ部537と比較部539と読出データパケット生成部541とによる読出要求データパケットの生成動作は、第3実施例の制御部331とカウンタ部333と比較部335と読出データパケット生成部337とによるものと同様であるので説明を省略する。
【0225】
図25は、要求検出部501のブロック構成図である。要求検出部501は、図17に示した第3実施例の要求検出部301の構成に加え、さらに、合流部545を含む。合流部545へは、リセット要求検出部383と、初期化要求生成部503(図22参照)とから、それぞれバス389と、バス511とを介してデータパケットが送られる。合流部545は、バス515を介して初期化要求生成部503から初期化要求データパケットが送られてきていないときは、バス389を介してリセット要求検出部383から送られてくるデータパケットを、バス547を介して初期化要求検出部385へ送る。一方、合流部545は、バス511から初期化要求データパケットが送られてくれば、この初期化要求データパケットをバス389から送られてくるデータパケットに優先して、バス547を介して初期化要求検出部385へ送る。なお、合流部545は、リセット要求検出部383から出力されたリセット信号を信号線393を介して受け、このリセット信号に応答して自己をリセットする機能を有する。
【0226】
要求検出部501の他の構成については、第3実施例の要求検出部301と同様であるので説明を省略する。
【0227】
以上の構成により、装置41は、リセット信号入力部113からリセット信号が入力されると、そのリセット信号は、初期化要求生成部503と要求検出部301とへ送られる。要求検出部501は、送られてきたリセット信号を初期化要求生成部503を除いた各部へ送る。各部は自己をリセットする。初期化要求生成部503は、リセット信号に応答して、自己をリセットした後、所定時間が経過した後に、初期化要求データパケットを生成する。初期化要求データパケットは、要求検出部501へ送られる。要求検出部501は、送られてきた初期化要求データパケットに応答して、要求検出信号と開始アドレスとアドレス数とを初期化情報読出要求生成部505へ送る。初期化情報読出要求生成部505は、送られてきた信号に基づいて読出要求データパケットを生成する。生成した読出要求データパケットは、要求検出部501へ送られ、要求検出部501から演算部205へ送られる。演算部205へ読出要求データパケットが送られた後の処理は、第2実施例および第3実施例と同様である。
【0228】
一方、装置41の外部からバス121を介してリセット初期化要求命令が入力された場合は、要求検出部501から信号線314を介して送られるリセット信号が初期化要求生成部503へ送られる点を除いては、第3実施例と同様である。また、バス121を介して初期化要求が入力された場合は、第3実施例と同様である。
【0229】
以上説明したように、本実施例では、外部からリセット信号を入力することにより、データ駆動型情報処理装置に、内部で初期化要求データパケットを生成させ、これを用いて初期化処理を行なわせることができる。
【0230】
[第5実施例]
次に、本発明のデータ駆動型情報処理装置の第5実施例について説明する。第5実施例はメモリ106から読出す初期化情報に含まれる終了フラグ(図7参照)を判定することにより、初期化データパケットの生成の終了タイミングを検出することを特徴とする。前述の第4実施例と同様の機能を有するものは、同一の符号を付けて説明する。
【0231】
図26は、第5実施例に係るブロック構成図である。以下の説明では、データ駆動型情報処理装置51を単に「装置51」という。装置51は、合流部201と発火制御部103と、演算部205と、メモリ106と、プログラム記憶部107と、分岐部209と、初期化要求生成部503とを含む。これらの構成は、第4実施例の装置41(図22参照)に含まれるものと同様である。さらに、装置51は、要求検出部601と、初期化情報読出要求生成部603と、初期化データパケット生成部605とを含む。装置41の外部には、リセット信号入力部113と、開始アドレス入力部151とが設けられている。本実施例では、第4実施例のアドレス数入力部117を用いない。
【0232】
第4実施例の要求検出部501は、信号線317を介して初期化情報読出要求生成部505へアドレス数を送るが、本実施例の要求検出部601は、アドレス数を出力する機能を持たない。また、本実施例の初期化データパケット生成部605は、信号線607を介して初期化情報読出要求生成部603へ初期化情報の最終ワード(図7参照)すなわち、8ワード目のデータを送る。初期化情報読出要求生成部603は、初期化データパケット生成部605から送られてきた最終ワードのデータの最上位ビット(8番目のビット)の終了フラグ(図7参照)を判定する。初期化情報読出要求生成部603は、終了フラグが「0」にセットされている場合には、読出要求データパケットの生成動作を継続して、その間に読出要求データパケットを順次生成してバス319を介して出力する。一方、初期化情報読出要求生成部603は、終了フラグが「1」にセットされていれば、読出要求データパケットの生成動作を停止する。
【0233】
図27は、初期化情報読出要求生成部603のブロック構成図である。初期化情報読出要求生成部603は、制御部535と、カウンタ部537と、読出データパケット生成部541とを含む。これらは、第4実施例の初期化情報読出要求生成部505(図24参照)に含まれるものと同様である。
【0234】
さらに、初期化情報読出要求生成部603は、第4実施例の比較部539に代えて、終了検出部611を含む。終了検出部611は、信号線607を介して初期化データパケット生成部605から初期化情報の最終ワードのデータを受ける。終了検出部611は、送られてきたデータの最上位ビットの終了フラグを判定し、終了フラグが「1」であれば、制御部535へ信号線613を介して初期化用クロック信号の出力を停止させるための信号を送る。制御部535は、この信号に応答して、カウンタ部537と読出データパケット生成部541とへの初期化用クロック信号の出力を停止する。これにより、初期化情報読出要求生成部603の読出要求データパケットの生成動作が停止する。
【0235】
要求検出部601の構成は、図示を省略する。要求検出部601は、第4実施例の要求検出部501(図25参照)の構成にて、信号線317を介してアドレス数を出力する機能を除いたものである。
【0236】
初期化データパケット生成部605の構成は、図示を省略する。初期化データパケット生成部605は、第2〜第4実施例の初期化データパケット生成部213(図13参照)の構成にて、ラッチ回路群287に含まれる8番目のラッチ回路286hからの出力を送る信号線を分岐させ、その信号線を信号線607として初期化データパケット生成部213の外部へ引出して初期化情報読出要求生成部603に接続させたものである。
【0237】
以上の説明した第5実施例によれば、メモリ106に格納する初期化情報の中に含まれている終了フラグを判定することにより、初期化データパケットの生成を終了するタイミングを検出する。したがって、データ駆動型情報処理装置の外部からアドレス数を表わす信号を入力したり、初期化要求データパケットまたはリセット初期化要求データパケットの中にアドレス数を表わすデータを格納したりする必要がなくなる。
【0238】
次に、前述した第1〜第5実施例の構成と、請求項記載の構成との対応関係について説明する。
【0239】
請求項1について説明する。前記発火制御部103により、請求項1記載の待合せ制御手段が構成される。前記演算部105により、請求項1記載の演算手段が構成される。前記プログラム記憶部107により、請求項記載のプログラム記憶手段が構成される。前記メモリ106により、請求項記載のデータ記憶手段が構成される。
【0240】
前記発火制御部103から出力される左オペランドデータと右オペランドデータとを格納したデータパケットPBが、請求項1記載の第1のデータパケットに対応する。前記演算部105から出力されるデータパケットPCが、請求項1記載の第2のデータパケットに対応する。前記プログラム記憶部107にて次位の行先情報と次位の命令情報とが格納されたデータパケットPCと、前記合流部101から発火制御部103へ送られるデータパケットPAとが、請求項1記載の第3のデータパケットに対応する。
【0241】
前記発火制御部初期化命令が格納された初期化データパケットと、前記演算部定数設定命令が格納された初期化データパケットと、前記データフロープログラム初期化命令が格納された初期化データパケットとが、請求項1記載の初期化データパケットに対応する。前記演算情報が、請求項1記載の演算処理に必要なデータに対応する。前記初期化情報が、請求項1記載の初期化データパケットを生成するためのデータに対応する。前記リセット信号と、前記初期化要求データパケットと、前記リセット初期化要求データパケットとが、請求項1記載の初期化要求に対応する。
【0242】
さらに、請求項1記載の初期化データパケット生成手段は、各実施例のそれぞれにて以下のものにより構成される。第1実施例の初期化情報読出部111。第2実施例の初期化情報読出要求生成部211と、初期化データパケット生成部213との組合わせ。第3実施例の初期化情報読出要求生成部303と初期化データパケット生成部213と要求検出部301との組合わせ。第4実施例の初期化情報読出要求生成部505と、要求検出部501と、初期化要求生成部503との組合わせ。第5実施例の初期化情報読出要求生成部603と初期化データパケット生成部605と、要求検出部601と、初期化要求生成部503との組合わせ。
【0243】
次に、請求項2記載の構成について説明する。第2実施例では初期化情報読出要求生成部211により、第3実施例では初期化情報読出要求生成部303により、第4実施例では初期化情報読出要求生成部505により、第5実施例では初期化情報読出要求生成部603により、それぞれ、請求項2記載の読出データパケット生成手段が構成される。前記読出要求データパケットが、請求項2記載の読出データパケットに対応する。前記演算部205により、請求項2記載の読出制御手段が構成される。第2〜第4実施例では初期化データパケット生成部213により、第5実施例では初期化データパケット生成部605により、それぞれ、請求項2記載のデータパケット生成手段が構成される。
【0244】
次に、請求項3記載の構成について説明する。第2実施例では初期化情報読出要求生成部211により、第3実施例では初期化情報読出要求生成部303により、第4実施例では初期化情報読出要求生成部505により、第5実施例では初期化情報読出要求生成部603により、それぞれ、読出データパケット生成手段が構成される。なお、第3〜第5実施例では、初期化情報読出要求生成部にて生成された読出要求データパケットが、演算部に直接は入力されず、要求検出部へ入力されているが、要求検出部は、入力された読出要求データパケットをそのまま演算部へ送る。すなわち、この場合の要求検出部は、単なる搬送手段である。なお、第3〜第5実施例にて、初期化情報読出要求生成部が生成した読出要求データパケットを要求検出部へ送らずに、直接演算部へ送るように変形してもよい。
【0245】
前記演算部205により、請求項3記載の読出データパケットに応答して、データ記憶手段から初期化データパケットを生成するためのデータを読出すように動作する演算手段が構成されている。第2〜第4実施例では初期化データパケット生成部213により、第5実施例では初期化データパケット生成部605により、それぞれ請求項3記載のデータパケット生成手段が構成される。
【0246】
次に、請求項4記載の構成について説明する。第2実施例では初期化情報読出要求生成部211により、第3実施例では初期化情報読出要求生成部303により、第4実施例では初期化情報読出要求生成部505により、第5実施例では初期化情報読出要求生成部603により、それぞれ、請求項4記載の読出データパケット生成手段が構成される。第2〜第4実施例では初期化データパケット生成部213により、第5実施例では初期化データパケット生成部605により、それぞれ、請求項4記載のデータパケット生成手段が構成される。前記初期化情報の読出しを要求する命令が、請求項4記載の初期化データパケットを生成するためのデータをワード単位で読出すことを要求する情報に対応する。前記図7に示した8ワードの初期化情報がワード単位で読出されたデータが、請求項4記載の複数ワードのデータに対応する。
【0247】
次に、請求項5記載の構成について説明する。請求項5記載の検出手段は、第2〜第5実施例のそれぞれにて、以下のものにより構成される。第2実施例のカウンタ部233と比較部235との組合わせ。第3実施例のカウンタ部333と比較部335との組合わせ。第4実施例のカウンタ部537と比較部539との組合わせ。第5実施例のカウンタ部537と終了検出部611との組合わせ。第2実施例では制御部231により、第3実施例では制御部331により、第4および第5実施例では制御部535により、それぞれ、請求項5記載の停止制御手段が構成される。
【0248】
次に、請求項6記載の構成について説明する。前記リセット信号および前記要求検出信号が、請求項6記載の予め定められた信号に対応する。
【0249】
次に、請求項7記載の構成について説明する。第3実施例では要求検出部301により、第4実施例では要求検出部501により、第5実施例では要求検出部601により、それぞれ、請求項7記載の初期化要求出力手段が構成される。前記要求検出信号が、請求項7記載の初期化要求に対応する。前記初期化要求命令が、請求項7記載の予め定められた特定の情報に対応する。
【0250】
次に、請求項8記載の構成について説明する。第3実施例ではリセット要求検出部383により、第4および第5実施例ではリセット要求検出部544により、それぞれ請求項8記載のリセット信号生成手段が構成される。前記初期化要求検出部385により、請求項8記載の初期化要求生成手段が構成される。第3〜第5実施例にて、信号線313を介して送られるリセット信号が、請求項8記載の各々をリセットさせるための信号に対応する。第3〜第5実施例にてリセット要求検出部383,544からリセット初期化要求データパケットの内容を変換して生成する初期化要求データパケットが、請求項8記載のリセットさせるための信号の出力が開始されてから所定時間が経過したことを表わす信号に対応する。第3〜第5実施例にて初期化要求検出部385が生成する要求検出信号が、請求項8記載の初期化要求に対応する。
【0251】
次に、請求項9記載の構成について説明する。第2実施例ではカウンタ部233により、第3実施例ではカウンタ部333により、第4実施例ではカウンタ部537により、それぞれ請求項9記載のカウント手段が構成される。第2実施例では比較部235により、第3実施例では比較部335により、第4実施例では比較部539により、それぞれ、請求項9記載の比較手段が構成される。前記カウント値が、請求項9記載の読出データパケットを生成した数に対応する。前記アドレス数が、請求項9記載の予め定められた数に対応する。
【0252】
次に、請求項10記載の構成について説明する。第5実施例の装置51に含まれる終了検出部611により、請求項10記載の検出手段が構成される。第5実施例の装置51に含まれる演算部205により、請求項10記載の読出制御手段が構成される。前記1個の初期化データパケットを生成するための初期化情報の8ワード目のデータが、請求項10記載の予め定められた特定のデータに対応する。前記初期化情報に含まれる終了フラグが、請求項10記載の終了タイミングを表わす情報に対応する。
【0253】
【発明の効果】
以上説明したように、
請求項1記載の発明によれば、演算手段が行なう演算処理に必要なデータと、待合せ制御手段と演算手段とプログラム記憶手段とを初期化するための初期化データパケットを生成するためのデータとが、同一のデータ記憶手段に記憶される。したがって、これら2種類のデータを別々のデータ記憶手段に記憶させる場合と比べて、データ駆動型情報処理装置の構成を簡単に、かつ、小規模にすることができる。
また、演算手段が、読出データパケットに応答してデータ記憶手段から初期化データパケットを生成するためのデータを読出す。したがって、データ記憶手段から初期化データパケットを生成するためのデータを読出すための手段を別途含む場合と比べて、データ駆動型情報処理装置の構成を簡単に、かつ、小規模にすることができる。
【0256】
請求項記載の発明によれば、読出データパケットが、初期化データパケットを生成するためのデータをワード単位で読出すことを要求する情報を格納し、この情報に従って読出された複数ワードのデータが結合されて初期化データパケットが生成される。したがって、データ記憶手段に、初期化情報をワード単位で記憶させておき、初期化データパケットの生成に用いることができる。
【0257】
請求項3記載の発明によれば、読出データパケットの生成の終了が検知され、その検知出力に応答して読出データパケットの生成動作が停止する。したがって、初期化要求を入力して初期化データパケットの生成を開始させた後、その生成を終了させるための要求を入力することなく、適正なタイミングで初期化データパケットの生成動作を停止させることができる。
【0258】
請求項記載の発明によれば、予め定められた信号を入力することにより、データ駆動型情報処理装置に対して初期化を要求することができる。
【0259】
請求項記載の発明によれば、データパケットに含まれる予め定められた特定の情報が読出されて、読出データパケット生成手段に初期化要求が出力される。したがって、予め定められた特定の情報を含むデータパケットをデータ駆動型情報処理装置に入力することにより、データ駆動型情報処理装置に対して初期化の要求を行なうことができる。
【0260】
請求項記載の発明によれば、データパケットに含まれる予め定められた特定の情報が読出されて、待合わせ制御手段と、プログラム記憶手段と、演算手段と、データ駆動型情報処理装置の外部に設けられた周辺装置とに、各々をリセットさせるための信号が出力される。その信号の出力が停止した後、初期化要求が生成され、読出データパケット生成手段に出力される。したがって、予め定められた特定の情報を含むデータパケットをデータ駆動型情報処理装置に入力することにより、待合せ制御手段と、プログラム記憶手段と、演算手段と、周辺装置とをリセットさせ、その後、待合せ制御手段と、プログラム記憶手段と、演算手段とを初期化することが可能となる。しかも、周辺装置をリセットさせるための信号を出力するので、データ駆動型情報処理装置を組込んだシステムや機器等にてデータ駆動型情報処理装置に対して予め定められた特定の情報を含むデータパケットを入力すれば、システムまたは機器全体をリセットするさせることができる。
【0261】
さらには、リセットさせるための信号の出力時間が開始してから所定時間が経過した後に初期化要求が生成され、この要求に基づいて、初期化データパケットが生成される。したがって、待合せ制御手段と、プログラム記憶手段と、演算手段と、周辺装置との全部または一部がリセットされるための十分な時間が経過した後に、初期化データパケットによる初期化処理が行なわれるようにすることができる。
【0262】
請求項記載の発明によれば、読出データパケットを生成した数がカウントされ、その数が予め定められた数と比較され、生成した数が予め定められた数に至れば読出データパケットの生成の終了が検知される。したがって、データ駆動型情報処理装置に対して読出データパケットの生成を終了させるための操作が不要となる。
【0263】
請求項8記載の発明によれば、初期化情報の中の予め定められた特定のデータに終了タイミングを表わす情報を含ませることにより、所望のタイミングで読出データパケットの生成動作を停止させることができる。
【0264】
以上により、構成が簡単で規模が小さく、かつ、不必要に動作を停止させずに初期化処理を行なうことが可能なデータ駆動型情報処理装置を提供することが可能となる。
【図面の簡単な説明】
【図1】本発明の第1実施例に係るデータ駆動型情報処理装置のブロック構成図である。
【図2】初期化情報読出部のブロック構成図である。
【図3】データパケットのフィールド構成図である。
【図4】発火制御部の記憶領域のフィールド構成図である。
【図5】プログラム記憶部の記憶領域のフィールド構成図である。
【図6】メモリ上の初期化情報と演算情報との記憶状態とを示す模式図である。
【図7】1個の初期化データパケットを生成するために用いられる初期化情報の記憶状態を示す図である。
【図8】初期化データパケット生成部の回路図である。
【図9】本発明の第2実施例に係るデータ駆動型情報処理装置のブロック構成図である。
【図10】初期化情報読出部のブロック構成図である。
【図11】読出データパケット生成部の回路図である。
【図12】初期化情報の読出機能を備ええた演算部のブロック構成図である。
【図13】初期化データパケット生成部の回路図である。
【図14】本発明の第3実施例に係るデータ駆動型情報処理装置のブロック構成図である。
【図15】初期化情報読出要求生成部のブロック構成図である。
【図16】読出データパケット生成部の回路図である。
【図17】要求検出部のブロック構成図である。
【図18】リセット要求検出部の回路図である。
【図19】データパケット変換部の回路図である。
【図20】リセット要求検出部内の信号の変化を示すタイミングチャートである。
【図21】初期化要求検出部の回路図である。
【図22】本発明の第4実施例に係るデータ駆動型情報処理装置のブロック構成図である。
【図23】(a)は初期化要求生成部の回路図であり、(b)はパルスカット回路の入出力信号の変化を示すタイミングチャートである。
【図24】初期化情報読出要求生成部のブロック構成図である。
【図25】要求検出部のブロック構成図である。
【図26】本発明の第5実施例に係るデータ駆動型情報処理装置のブロック構成図である。
【図27】初期化情報読出要求生成部のブロック構成図である。
【図28】従来の一般的なデータ駆動型情報処理装置のブロック構成図である。
【図29】データ駆動型情報処理装置の状態の遷移を示す模式図である。
【図30】本発明の関連技術の一例に係るデータ駆動型情報処理装置のブロック構成図である。
【図31】関連技術のデータ駆動型情報処理装置に含まれる初期化部のブロック構成図である。
【符号の説明】
11,21,31,41,51 データ駆動型情報処理装置
101,201 合流部
103 発火制御部
105,205 演算部
106 メモリ
107 プログラム記憶部
109,209 分岐部
113 リセット信号入力部
115 開始アドレス入力部
117 アドレス数入力部
111 初期化情報読出部
161,231,331,535 制御部
163,233,333,537 カウンタ部
165,235,335,539 比較部
167 初期化データパケット生成部
211,303,505,603 初期化情報読出要求生成部
213,605 初期化データパケット生成部
301,501,601 要求検出部
383,544 リセット要求検出部
385 初期化要求検出部
611 終了検出部

Claims (8)

  1. オペランドデータを格納するためのデータフィールドと、命令情報を格納するための命令フィールドと、行先情報を格納するための行先フィールドとを含むデータパケットを用いてデータフロープログラムを実行するための装置であって、
    データパケットを受け、ある演算処理に必要な情報を待合せさせ、必要な情報が揃ったことを検出して前記ある演算処理の実行に必要な情報を含む第1のデータパケットを出力する待合せ制御手段と、
    第1のデータパケットを受けるように接続され、第1のデータパケットに含まれる情報に従って前記ある演算処理を行なって、その結果のデータを第2のデータパケットに格納して出力する演算手段と、
    前記データフロープログラムを格納し、入力されたある第2のデータパケットに含まれる情報に基づいて、前記データフロープログラムに従った演算処理に必要な1つの情報を格納した第3のデータパケットを出力するプログラム記憶手段とを含み、
    前記待合せ制御手段が受けるデータパケットは第3のデータパケットであり、
    前記待合せ制御手段と前記演算手段と前記プログラム記憶手段は、それぞれ特定の形式の初期化データパケットに応答して自分自身を初期化する機能を有し、
    前記データフロープログラムを実行するための装置は、さらに、
    前記演算手段に接続され、前記演算処理に必要なデータと前記待合せ制御手段と前記演算手段と前記プログラム記憶手段とを初期化するための初期化データパケットを生成するためのデータとを混在して記憶するデータ記憶手段と、
    初期化要求に応答して、前記データ記憶手段から前記演算手段の処理単位であるワード単位で読出した初期化データパケットを生成するためのデータに基づいて初期化データパケットを生成して、前記待合せ制御手段と前記演算手段と前記プログラム記憶手段との少なくとも1つに入力する初期化データパケット生成手段とを含み、
    前記初期化データパケット生成手段は、
    初期化要求に応答して、前記データ記憶手段から初期化データパケットを生成するためのデータを読出すことを要求する情報を格納した読出データパケットを生成して前記演算手段に与えるための読出データパケット生成手段を含み、
    前記演算手段は、読出データパケットに応答して、前記データ記憶手段から初期化データパケットを生成するためのデータを読出すように動作し、
    前記初期化データパケット生成手段は、さらに、
    読出されたデータに基づいて初期化データパケットを生成するデータパケット生成手段を含む、データ駆動型情報処理装置。
  2. 前記読出データパケットは、初期化データパケットを生成するためのデータをワード単位で読出すことを要求する情報を格納し、
    前記データパケット生成手段は、前記ワード単位で読出すことを要求する情報に従って読出された複数ワードのデータを結合して初期化データパケットを生成することを特徴とする、請求項1に記載のデータ駆動型情報処理装置。
  3. 前記初期化データパケット生成手段は、さらに、
    前記読出データパケットの生成の終了を検知する検知手段と、
    前記検知手段の出力に応答して、前記読出データパケット生成手段に動作を停止させるための信号を出力する停止制御手段と
    を含む、請求項1に記載のデータ駆動型情報処理装置。
  4. 前記初期化要求は、予め定められた信号であることを特徴とする、請求項1、2または3に記載のデータ駆動型情報処理装置。
  5. 前記初期化データパケット生成手段は、さらに、
    データパケットを受けるように接続され、受けたデータパケットに含まれる予め定められた特定の情報を読出して前記読出データパケット生成手段に初期化要求を出力する初期化要求出力手段を含む、請求項2、3または4のいずれかに記載のデータ駆動型情報処理装置。
  6. 前記初期化要求出力手段は、
    リセット信号生成手段と、
    初期化要求生成手段とを含み、
    前記リセット信号生成手段は、データパケットを受けるように接続され、受けたデータパケットに含まれる予め定められた特定の情報を読出して前記待合せ制御手段と、前記プログラム記憶手段と、前記演算手段と前記データ駆動型情報処理装置の外部に設けられた周辺装置とに各々をリセットさせるための信号を出力した後、その出力を停止するとともに、前記リセットさせるための信号の出力が開始されてから所定時間が経過したことを表わす信号を前記初期化要求生成手段に出力し、
    前記初期化要求生成手段は、前記所定時間が経過したことを表わす信号に応答して初期化要求を生成し、前記読出データパケット生成手段に出力する、請求項5に記載のデータ駆動型情報処理装置。
  7. 前記検知手段は、
    前記読出データパケットを生成した数をカウントするためのカウント手段と、
    前記生成した数と予め定められた数とを比較し、前記生成した数が予め定められた数に至れば読出データパケットの生成の終了を検知したことを表わす信号を出力する比較手段とを含む、請求項3に記載のデータ駆動型情報処理装置。
  8. 前記検知手段は、
    前記演算手段が読出した予め定められた特定のデータに含まれる終了タイミングを表わす情報を検出して出力することを特徴とする、請求項3に記載のデータ駆動型情報処理装置。
JP12395994A 1994-06-06 1994-06-06 データ駆動型情報処理装置 Expired - Fee Related JP3706397B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP12395994A JP3706397B2 (ja) 1994-06-06 1994-06-06 データ駆動型情報処理装置
US08/465,333 US5652906A (en) 1994-06-06 1995-06-05 Data driven processor with improved initialization functions because operation data shares address space with initialization data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12395994A JP3706397B2 (ja) 1994-06-06 1994-06-06 データ駆動型情報処理装置

Publications (2)

Publication Number Publication Date
JPH07334483A JPH07334483A (ja) 1995-12-22
JP3706397B2 true JP3706397B2 (ja) 2005-10-12

Family

ID=14873579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12395994A Expired - Fee Related JP3706397B2 (ja) 1994-06-06 1994-06-06 データ駆動型情報処理装置

Country Status (2)

Country Link
US (1) US5652906A (ja)
JP (1) JP3706397B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3720094B2 (ja) * 1995-10-18 2005-11-24 シャープ株式会社 データ駆動型情報処理装置
JP3488812B2 (ja) 1997-08-28 2004-01-19 シャープ株式会社 データ伝送路
JPH11296263A (ja) * 1998-04-13 1999-10-29 Fujitsu Ltd プロセッサの初期設定制御装置
JP2000013713A (ja) 1998-06-19 2000-01-14 Sharp Corp 映像信号処理装置およびそれを用いたテレビジョン受信装置
US6405311B1 (en) * 1998-07-28 2002-06-11 Compaq Computer Corporation Method for storing board revision
US6832320B1 (en) 1998-07-28 2004-12-14 Hewlett-Packard Development Company, L.P. Ownership tag on power-up screen
JP3853098B2 (ja) 1999-01-18 2006-12-06 シャープ株式会社 データ駆動型情報処理システム
JP3766779B2 (ja) * 2000-03-31 2006-04-19 シャープ株式会社 自己同期型データ伝送装置およびこれを用いたデータ駆動型情報処理装置
JP4173654B2 (ja) * 2001-08-30 2008-10-29 シャープ株式会社 データ駆動型情報処理装置
JP2003196259A (ja) * 2001-12-27 2003-07-11 Sharp Corp データ駆動型情報処理装置およびデータ処理方法
SE0300742D0 (sv) * 2003-03-17 2003-03-17 Flow Computing Ab Data Flow Machine
JP2006221226A (ja) * 2005-02-08 2006-08-24 Sharp Corp データ駆動型情報処理装置およびその制御方法
JP4255475B2 (ja) * 2006-01-04 2009-04-15 シャープ株式会社 データ駆動型情報処理装置
US9720703B2 (en) 2012-11-26 2017-08-01 International Business Machines Corporation Data driven hardware chips initialization via hardware procedure framework
JP7225904B2 (ja) * 2019-02-27 2023-02-21 日本電気株式会社 ベクトル演算処理装置、ベクトル演算処理装置による配列変数初期化方法、及び、ベクトル演算処理装置による配列変数初期化プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4130885A (en) * 1976-08-19 1978-12-19 Massachusetts Institute Of Technology Packet memory system for processing many independent memory transactions concurrently
JPS63129425A (ja) * 1986-11-19 1988-06-01 Mitsubishi Electric Corp デ−タ処理装置
US4972315A (en) * 1987-03-10 1990-11-20 Mitsubishi Denki Kabushiki Kaisha Data flow machine
US5165036A (en) * 1989-01-31 1992-11-17 Sharp Kabushiki Kaisha Parallel processing development system with debugging device includes facilities for schematically displaying execution state of data driven type processor
US5327569A (en) * 1989-08-28 1994-07-05 Mitsubishi Denki Kabushiki Kaisha Data driven type processor including a generation management system
JP3312039B2 (ja) * 1992-01-08 2002-08-05 シャープ株式会社 データ駆動型情報処理装置
JP2772604B2 (ja) * 1992-10-27 1998-07-02 シャープ株式会社 データ処理システム
US5577256A (en) * 1992-04-28 1996-11-19 Sharp Kabushiki Kaisha Data driven type information processor including a combined program memory and memory for queuing operand data

Also Published As

Publication number Publication date
JPH07334483A (ja) 1995-12-22
US5652906A (en) 1997-07-29

Similar Documents

Publication Publication Date Title
JP3706397B2 (ja) データ駆動型情報処理装置
JP2812959B2 (ja) マルチチャンネルデータ通信制御器
EP0241946A2 (en) Information processing system
JPS61276031A (ja) デ−タ処理装置
US7577874B2 (en) Interactive debug system for multiprocessor array
JPH09167105A (ja) オンチップデバッグシステム
JP2001273275A (ja) データ駆動型情報処理装置
CA2304609A1 (en) Autonomously cycling data processing architecture
US5499348A (en) Digital processor capable of concurrently executing external memory access and internal instructions
EP0279953B1 (en) Computer system having mixed macrocode and microcode instruction execution
JP2002525945A (ja) コンフィグレーション可能なハードウェアブロック
JP2677719B2 (ja) 情報処理装置
JP2680828B2 (ja) ディジタル装置
EP0700005B1 (en) Vector data bypass mechanism for vector computer
US20010023481A1 (en) Processor that executes control signals included in operand section of control instruction
JPH056281A (ja) 情報処理装置
JP2525492B2 (ja) プログラマブルコントロ―ラ
US20050102490A1 (en) Data-driven type information processor and method of controlling execution of data flow program
JPH0447851B2 (ja)
JP2755646B2 (ja) データ駆動型データ処理装置
JP2754105B2 (ja) データ駆動型情報処理装置
EP0167333A2 (en) Data processing apparatus with data type classifier
JP3524240B2 (ja) 並列命令処理装置
JP4702004B2 (ja) マイクロコンピュータ
JPS6236581B2 (ja)

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20031216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040115

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050624

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050719

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050729

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080805

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090805

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090805

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100805

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110805

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees