JP3738128B2 - データ駆動型情報処理装置 - Google Patents
データ駆動型情報処理装置 Download PDFInfo
- Publication number
- JP3738128B2 JP3738128B2 JP07686498A JP7686498A JP3738128B2 JP 3738128 B2 JP3738128 B2 JP 3738128B2 JP 07686498 A JP07686498 A JP 07686498A JP 7686498 A JP7686498 A JP 7686498A JP 3738128 B2 JP3738128 B2 JP 3738128B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- data packet
- output
- instruction
- updating
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
この発明はデータ駆動型情報処理装置に関し、特に、一つの特定のパケットを入力することによりストリーム状のデータパケットを自動的に生成する機構を有し、それによって映像信号処理において画像の塗りつぶし等の繰返し処理を高速に実行することができるデータ駆動型情報処理装置に関する。
【0002】
【従来の技術】
図8にデータ駆動型情報処理装置のシステム構成を示す。同様のシステム構成例は、「動的データ駆動型プロセッサにおける並列処理方式の検討」(金倉広志他、マイクロコンピュータアーキテクチャシンポジウム、情報処理学会、1991年11月12日)に示されている。
【0003】
図8を参照して、このデータ駆動型情報処理装置113には、データ伝送路116または117から、入力時間順序に付けられる識別子である世代番号を持つ信号入力データパケットが入力ポートIAまたはIBを介して時系列的に入力される。データ駆動型情報処理装置113には、予め設定された処理内容が記憶されており、その設定内容に基づき処理が進められる。
【0004】
データ駆動型情報処理装置113は、出力ポートOVを有しており、出力ポートOVから画像メモリ114に対するアクセス要求(画像メモリ114の内容の参照/更新など)をデータ伝送路120上に出力する。データ伝送路120にはメモリインタフェース115が接続されており、メモリインタフェース115はこのアクセス要求に応答して、メモリアクセス制御線122を通して画像メモリ114に対してアクセスを行い、その結果をデータ伝送路121上に出力する。データ伝送路121はデータ駆動型情報処理装置113の入力ポートIVに接続されており、データ駆動型情報処理装置113はメモリインタフェース115からのデータを受け、信号入力データパケットに対する処理が終了した後、出力ポートOAまたはOBから、データ伝送路118または119の上に信号出力データパケットを出力する。
【0005】
図9は、図8に示すデータ駆動型情報処理装置の概略構成を示すブロック図である。図9を参照して、従来のデータ駆動型情報処理装置は、入力ポートIAまたはIBから入力されたデータパケットと、後述する分岐部128から与えられるデータパケットとを合流させるための合流部124と、合流部124から与えられるデータパケットを格納する待合せメモリを有し、対となるデータパケットを検出(発火の検出)してデータパケットを出力するための発火制御部125と、発火制御部125で発火が検出され出力されたデータパケットに対して、データパケット中の演算コードの値によって選ばれた演算処理を実行するための演算部126と、予め命令コードとノード番号との対からなるデータフロープログラムを記憶したプログラムメモリを有し、演算部126の実行結果を格納したデータパケットを受けて、その中に含まれるノード番号をアドレスとしてプログラムメモリをアクセスすることにより次に行われる命令コードとノード番号とを読み出してデータパケット内の命令コードとノード番号とを更新して出力するためのプログラム記憶部127と、プログラム記憶部127から出力されたデータパケットを、その中に含まれるノード番号にしたがって出力ポートOAまたはOBを介して外部への伝送路に、または合流部124のいずれかに分岐させるための分岐部128とを含む。
【0006】
図10を参照して、データ駆動型情報処理装置が扱うデータパケットは、上位ビットから順に命令コードと、ノード番号と、世代番号と、データDとを含む。
【0007】
命令コードとは、前述した演算部126で実行される演算の内容を指示するためのものである。ノード番号は、プログラム記憶部127のプログラムメモリに格納されている次に実行される命令コードとノード番号とを参照するためのアドレスとして使用されるものである。世代番号は、一般にはデータパケットの識別子として使用される。ただし世代番号は、映像信号処理の際の画像アドレスとしての意味合いも有することができ、その場合には図10に示されるように上位ビットからフィールド番号FD#と、ライン番号LN#と、ピクセル番号PX#とに分割される。
【0008】
フィールド番号FD#とライン番号LN#とピクセル番号PX#とはそれぞれ、図11に示されるような画像メモリ114の論理的な構成に対応している。図11を参照して、画像メモリ114の論理的な構成は、フィールド番号FD#、ライン番号LN#,ピクセル番号PX#の各ビット数をそれぞれFb,Lb,およびPbとすると、2Fb枚のフィールド画像メモリを含み、各フィールド画像メモリは垂直方向に2Lb本のラインを含み、各ラインは2Pb個のピクセルを含む。
【0009】
図9に示されるデータ駆動型情報処理装置は以下のように動作する。伝送路Iから入力されたデータパケットは発火制御部125の待合せ用メモリに一旦格納され、対となるべきデータパケットが入力されるまで待機する。このデータパケットと対になるべきデータパケットが発火制御部125に与えられると、両方のデータパケットに含まれるデータを有するデータパケットが発火制御部125から演算部126に出力される。
【0010】
演算部126は、データパケットに含まれる命令コードの値によって演算処理を選び実行して、結果を含んだデータパケットをプログラム記憶部127に与える。プログラム記憶部127は、与えられたデータパケットに含まれるノード番号をアドレスとしてプログラムメモリをアクセスして、対応の命令コードとノード番号とを読み出し、データパケットの命令コードとノード番号とを更新する。
【0011】
こうして生成された新たなデータパケットは分岐部128に与えられる。分岐部128は、データパケットのノード番号を参照し、外部に出力すべきデータパケットは伝送路OAまたはOBに、内部を循環させるべきデータパケットは合流部124に、それぞれ出力する。
【0012】
このような従来のデータ駆動型情報処理装置において、画像処理で多用される画像の塗りつぶし処理を行う場合を考える。画像の塗りつぶしのためには、画像のピクセル番号が順次インクリメントされたストリーム状のデータパケットを生成する必要がある。ストリーム状のデータパケットを生成するデータフローグラフを図12に示す。
【0013】
図12を参照して、従来の方式では、データの値によって分岐するSWLGTR命令130と、データDをデクリメントする命令DEC命令132と、ピクセル番号PX#をインクリメントするPXINC命令134とを組み合わせて上述の処理を実現している。
【0014】
図12を参照して、入力経路129よりライン番号LN#=5、ピクセル番号PX#=1、入力データD=6のデータパケットが入力されるものとする。入力されたデータパケットは、まずSWLGTR命令130に与えられる。ここで、以下の説明の便宜上、データ駆動型情報処理装置におけるオペランドの名称について説明する。例えば、減算処理Z=X−Yを考えると、Xを左入力データまたは単に左データ、Yを右入力データまたは単に右データ、Zを結果データまたは出力データと称する。
【0015】
SWLGTR命令130では、左データとして入力されたデータパケットのデータDの値と、右データとして入力されたデータパケットのデータDの値とを比較し、左データの方が右データより大きい場合に左の経路131にデータパケットを出力する。もしも左データが右データより小さいか等しい場合、データパケットは右の経路138に出力され消去(absorb)される。
【0016】
この例では、右データ137は定数でありその値は0であるものとする。したがって入力されたデータパケットのデータDの値が0より大きければデータパケットは経路131に出力される。入力されたデータパケットのデータDの値が0以下であればこのデータパケットは消去される。
【0017】
経路131に出力されたデータパケットはDEC命令132に与えられる。DEC命令132は、入力されたデータパケットのデータDの値を1デクリメントして出力する。DEC命令132が実行されると、このデータパケットはPXINC命令134に与えられる。PXINC命令134は入力されたデータパケットの世代番号のうち、ピクセル番号PX#を1インクリメントし、出力する。上記した一連の処理の結果、入力されたデータパケットは世代番号のうちのライン番号とピクセル番号(LN#,PX#)=(5、2)、データD=5となって出力される。
【0018】
PXINC命令134から出力された結果のデータパケットは二つに複製され、一方は経路135を経由して出力され、他方は経路136を経由して再度SWLGTR命令130に入力される。
【0019】
このようにしてSWLGTR命令130に再度データパケットが入力されることにより、この3つの命令よりなるデータフローグラフはループ状となり、データパケットのデータDの値が0になるまでDが1ずつデクリメントされながらデータパケットが出力される。すなわち、最初に入力されたデータパケットのデータDの値に等しいだけの数のデータパケットが出力される。出力されたデータパケットのピクセル番号PX#は連続番号となっており、画像塗りつぶしの際にはデータDの値を新たに与えてやるだけで連続した部分を塗りつぶすことができる。
【0020】
【発明が解決しようとする課題】
しかし上記した従来の例では、最低3つの命令を組合わせなければストリーム状のデータパケットを生成することができない。3つの命令を実行しなければデータパケットが生成されないので、一つのデータパケットを生成するための時間が増大し非効率的である。また、上記した例では複雑な世代番号の操作が困難である。複雑な世代番号操作をする場合、必要な命令数が増大しさらに処理が非効率的になるという問題点がある。
【0021】
それゆえにこの発明の目的は、より効率的にストリーム状のデータパケットを生成することができるデータ駆動型情報処理装置を提供することである。
【0022】
この発明の他の目的は、より効率的に、かつ世代番号処理を簡単に行いながらストリーム状のデータパケットを生成することができるデータ駆動型情報処理装置を提供することである。
【0023】
この発明のさらに他の目的は、複雑な世代番号処理を簡単にかつ効率的に行いながらストリーム状のデータパケットを容易に生成することができるデータ駆動型情報処理装置を提供することである。
【0024】
【課題を解決するための手段】
請求項1に記載の発明にかかるデータ駆動型情報処理装置は、入力されるデータパケット中の命令をデコードするための命令デコード手段と、データフロープログラムを予め記憶し、入力されるデータパケット中の行先情報の値に応じて、対応の二組の命令および行先情報を出力するためのプログラム記憶手段と、入力されるデータパケット中の所定の領域内の値を、命令デコード手段の出力に応じて更新するための第1の更新手段と、第1の更新手段を介して入力されるデータパケットと、プログラム記憶手段から出力された二組の命令および行先情報とに基づいて一対のデータパケットを生成するためのパケット生成手段と、第1の更新手段により更新された値に基づいて、パケット生成手段が生成した一対のデータパケットの両方を出力する第1の出力制御、及び、一対のデータパケットの内の一方のデータパケットのみを出力して他方のデータパケットは出力しない第2の出力制御のいずれかを行なう出力制御手段とを含み、命令デコード手段によって所定命令がデコードされた場合、パケット生成手段が生成した一対のデータパケットの内の他方のデータパケットに格納された命令は、所定命令であり、出力制御手段は、第1の更新手段により更新された値が所定値以外のときは、一対のデータパケットの両方を出力し、第1の更新手段により更新された値が所定値のときは、一対のデータパケットの内の一方のデータパケットのみを出力し、他方のデータパケットは出力しない。
【0025】
データパケットが入力されると、そのデータパケットに対応した一対のデータパケットが生成される。命令デコード手段の出力に基づいてデータパケット中の所定の領域内の値を更新し、この更新後の値に基づいて、この一対のデータパケットの少なくとも一方の出力を制御する。1対のデータパケットの双方が出力された場合にはその一方を再度当該データ駆動型情報処理装置に入力することにより、同様の処理が繰返し実行され、その結果外部にはストリーム状のデータパケットが出力される。第1の更新手段による更新後の結果がある条件を満足すれば一方のデータパケットのみが外部に出力されて繰返し処理が終了する。したがって、一つの命令だけで、ストリーム状のデータパケットを生成し出力することを効率的に行うことができる。
【0026】
請求項2に記載の発明にかかるデータ駆動型情報処理装置は、請求項1に記載の構成に加えて、入力されるデータパケットは、識別子領域を含み、データ駆動型情報処理装置は、識別子領域内の値を所定の方法にしたがって更新する第2の更新手段をさらに含み、パケット生成手段は、さらに第2の更新手段も介して、データパケットを入力する。
【0027】
このデータ駆動型情報処理装置によれば、請求項1に記載の発明の作用効果に加えて、データパケット内の識別子を更新することができる。そのため、たとえば画像処理のように画像の表示位置に対応した別々の識別子を持つストリーム状のデータパケットを効率的に生成し出力することができる。
【0028】
請求項3に記載の発明にかかるデータ駆動型情報処理装置は、請求項2に記載の発明の構成に加えて、識別子領域は、複数個の部分領域を含み、第2の更新手段は、複数個の部分領域を個別に更新するための個別更新手段を含む。
【0029】
このデータ駆動型情報処理装置によれば、請求項2に記載の発明の作用効果に加えて、データパケットの識別子領域の部分領域を個別に更新することができる。そのため、たとえば画像処理におけるように多次元の画像の表示位置に対応した識別子を持つストリーム状のデータパケットを効率的に生成し出力することができる。
【0030】
請求項4に記載の発明にかかるデータ駆動型情報処理装置は、請求項2または請求項3に記載の発明の構成に加えて、入力されるデータパケットは、任意のデータを格納するデータ領域を含み、第2の更新手段は、識別子領域を、データ領域に格納されたデータを用いて更新するための手段を含む。
【0031】
このデータ駆動型情報処理装置によれば、、請求項2または請求項3に記載の発明の作用効果に加えて、データパケットの識別子領域を更新するための値を入力データパケットに含ませることができる。そのため、定められた処理のみではない自由度の高い処理を識別子に対して行うことができる。
【0032】
請求項5に記載の発明にかかるデータ駆動型情報処理装置は、入力されるデータパケット中の命令をデコードするための命令デコード手段と、データフロープログラムを予め記憶し、入力されるデータパケット中の行先情報の値に応じて、対応の二組の命令および行先情報を出力するためのプログラム記憶手段と、入力されるデータパケット中の所定の領域内の値を、命令デコード手段の出力に応じて更新するための第1の更新手段と、入力されるデータパケット中の識別子領域内の値を所定の方法にしたがって更新するための第2の更新手段と、第1の更新手段及び第2の更新手段を介して入力されるデータパケットと、プログラム記憶手段から出力された二組の命令および行先情報とに基づいて一対のデータパケットを生成するためのパケット生成手段と、第1の更新手段により更新された値に基づいて、パケット生成手段が生成した一対のデータパケットの両方を出力する第1の制御手段、及び、一対のデータパケットの内の一方のデータパケットのみを出力して他方のデータパケットは出力しない第2の出力制御のいずれかを行なう出力制御手段とを含み、識別子領域は、複数個の部分領域を含み、入力されるデータパケットは、任意のデータを格納するデータ領域を含み、データ領域は、複数個の部分領域に対応した複数個の部分データ領域に分割され、第2の更新手段は、識別子領域の部分領域を、それぞれ対応の部分データ領域に格納されたデータを用いて個別に更新するための個別更新手段を含む。
【0033】
このデータ駆動型情報処理装置によれば、請求項3に記載の発明の作用効果に加えて、データパケットの識別子領域の個々の部分領域を個別に、入力されるデータパケット中の対応する領域の値を用いて更新することができる。そのため、定められた処理のみではない自由度の高い、かつより複雑な処理を識別子に対して行うことができる。
【0034】
【発明の実施の形態】
[第1の実施の形態]
図1を参照して、本発明のデータ駆動型情報処理装置の第1の実施の形態にかかるデータパケット生成装置は、パケットデータ転送制御回路(以下「C素子」と称する。)1、3、4と、C素子1とC素子3との間に接続され、C素子1からの入力パルスに応じてC素子3に二つのパルスを出力するためのパルスの複製機能を有するC素子2(以下C素子2をC素子1、3、4と区別するためにC’素子2と称する。またC’素子2およびC素子1、3、4を含めて集合的にC素子と呼ぶ。)とを含む。各C素子には、対応のパイプラインレジスタ5、6、7、8が接続されている。各C素子1、2、3、4はハンドシェイク動作を行いながら、図1における左方向より入力された転送パルスを受付け、それぞれ対応するパイプラインレジスタ5、6、7、8にラッチパルスを出力し、後段のC素子へパルスを転送する。
【0035】
なおC’素子2は、前述のようにC素子1からの入力パルスに応じて二つのパルスを出力するとき、1つめのパルスの出力のときには0、2つめのパルスの出力のときには1となる信号*第1/第2信号20を出力する機能を有する。なお、記号「*」はローアクティブな信号を表し、図面においてはオーバーバーで示す。
【0036】
パイプラインレジスタ5、6、7および8はそれぞれ、命令コード、ノード番号、世代番号、およびデータをラッチすることができる。パイプラインレジスタ6はさらに、後述する、入力データパケットのデータDのゼロ検出結果を記憶する最下位ビットZを有する。またパイプラインレジスタ7は、入力データパケットのデータDのゼロ検出結果とC’素子2からのパルスの値との論理積により得られる消去信号を記憶するための最下位ビットを有する。
【0037】
パイプラインレジスタ5のノード番号は経路13を経てパイプラインレジスタ6のノード番号に接続される。パイプラインレジスタ5の世代番号は、経路14を経てパイプラインレジスタ6の世代番号に接続される。
【0038】
データパケット生成装置はまた、パイプラインレジスタ5のデータを経路15を経て受け、経路17から与えられる信号に応答して1デクリメントして経路16上に出力する減算器10と、経路18から与えられる信号に応答して、経路16上のデータが0か否かを検出して経路19上に検出結果を出力するためのゼロ検出回路11と、パイプラインレジスタ5の命令コードを受け、命令コードがデータパケット生成命令(RPT命令と称する。)である場合に経路17上に信号を出力して減算器10を動作させ、また経路18上に信号を出力してゼロ検出回路11を動作させるための命令デコーダ9とを含む。ゼロ検出回路11の出力は経路19を経てパイプラインレジスタ6の最下位ビットZに接続される。
【0039】
データパケット生成装置はさらに、各アドレスに2組の命令コードおよびノード番号を予め記憶しており、パイプラインレジスタ6から経路21を経て与えられるノード番号をアドレスとして参照され、この値で示されるアドレスに格納されている2組の命令コードおよびノード番号を出力するためのプログラムメモリ32と、プログラムメモリ32から2組の命令コードおよびノード番号を受け、C’素子2から与えられる*第1/第2信号20が0か1かにしたがって、命令コード1およびノード番号1、または命令コード2およびノード番号2のいずれかをそれぞれ経路37および38上に出力するためのマルチプレクサ25と、第1の入力がC’素子2からの*第1/第2信号20に、第2の入力がパイプラインレジスタ6の最下位ビットZに、出力が経路39に、それぞれ接続されたANDゲート回路26とを含む。
【0040】
パイプラインレジスタ6のノード番号は前述のように経路21を経てプログラムメモリ32に与えられる。パイプラインレジスタ6の世代番号は経路22を経てパイプラインレジスタ7の世代番号に与えられる。パイプラインレジスタ6のデータは経路23を経てパイプラインレジスタ7のデータに与えられる。ANDゲート回路26の出力は経路39を経てパイプラインレジスタ7の最下位ビットに与えられる。マルチプレクサ25の出力である経路37および38はそれぞれパイプラインレジスタ7の命令コードおよびノード番号に接続される。
【0041】
パイプラインレジスタ7の命令コードは経路27を経てパイプラインレジスタ8の命令コードに与えられる。パイプラインレジスタ7のノード番号は経路28を経てパイプラインレジスタ8のノード番号に与えられる。パイプラインレジスタ7の世代番号は経路29を経てパイプラインレジスタ8の世代番号に与えられる。パイプラインレジスタ7のデータ30は経路30を経てパイプラインレジスタ8のデータに与えられる。
【0042】
データパケット生成装置はさらに、C素子3とC素子4との間に設けられ、通常はC素子3からのパルスをC素子4に転送するが、経路31から与えられる信号(「消去信号」と称する。)が特定の値のときにはC素子3からのパルスをC素子4へ転送しないよう動作する消去制御部24を含む。経路31には、パイプラインレジスタ7の最下位ビットが出力され、消去制御部24に与えられる。
【0043】
図1に示されるデータパケット生成装置の、ストリーム状のデータパケットを生成する場合の動作について、図2に示されるデータフローグラフを参照して説明する。この装置に対応した命令が、図2に示すRPT命令である。図2を参照して本命令では、経路33から入力されたデータに対してデータDの値から1を減ずる。その結果のデータDの値が0でない場合には経路35および36の双方にそのデータパケットを出力する。この二つのデータパケットは、経路33から入力されたデータパケットの命令コードおよびノード番号がそれぞれ、図1に示す命令コード1およびノード番号1、ならびに命令コード2およびノード番号2に更新されたものである。
【0044】
データDの減算の結果データDの値が0となった場合には、データパケットは経路35のみに出力され、経路36には出力されない。
【0045】
図1に示すデータパケット生成装置に設けられた減算器10、ゼロ検出回路11、ANDゲート回路26、消去制御部24、C’素子2、マルチプレクサ25などは上記した機能を実現するために設けられたものである。
【0046】
以下、図1に示すデータパケット生成装置がどのようにして図2に示すデータフローグラフに対応した処理を実現するかについて説明する。
【0047】
パイプラインレジスタ5は、入力されたデータパケットをラッチし、ラッチしたデータパケット中に含まれる命令コードの内容を経路12を介して命令デコーダ9に与える。命令デコーダ9は、命令コードの内容がRPT命令である場合には、以下の動作を行なうように信号を出力する。
【0048】
まず、命令デコーダ9は、減算器10に信号を与えて入力データパケットのデータを1デクリメントして、経路16を介して次のパイプラインレジスタ6に書き込む。その一方命令デコーダ9は、ゼロ検出回路11に信号を与えて、減算器10から出力されたデータが0か否かを検出させ、その検出結果を経路19を経てパイプラインレジスタ6の最下位ビットに書き込む。
【0049】
パイプラインレジスタ6は、パイプラインレジスタ5から経路13を介してノード番号を受取り、このノード番号をプログラムメモリ32に経路21を介してアドレス信号として与える。またパイプラインレジスタ6は、パイプラインレジスタ5から経路14を介して受けた世代番号および減算器10から経路16を介して受けた1減算後のデータをそれぞれ次段のパイプラインレジスタ7の世代番号およびデータに書き込む。
【0050】
前述のように、プログラムメモリ32には、2組の命令コードとノード番号とが格納されている。プログラムメモリ32は、経路21を介してパイプラインレジスタ6から受けたノード番号の値で示された2組の命令コードとノード番号(それぞれ添字1と2とで示す。)とをマルチプレクサ25に出力する。
【0051】
マルチプレクサ25は、*第1/第2信号20の値が0か1かにより以下の動作を行なう。まず、*第1/第2信号20の値が0の場合にはマルチプレクサ25は、命令コード1とノード番号1とを選択してそれぞれ経路37および38を介してパイプラインレジスタ7に格納させる。*第1/第2信号20の値が1の場合にはマルチプレクサ25は、命令コード2とノード番号2とを選択してそれぞれ経路37および38を介してパイプラインレジスタ7に格納させる。
【0052】
ANDゲート回路26は、*第1/第2信号20とパイプラインレジスタ6の最下位ビットZ(すなわちゼロ検出回路11の検出結果)との論理積をとり、結果を経路39を介してパイプラインレジスタ7の最下位ビットに書込む。この値は、後述するように消去制御部24を制御するための消去信号として使用される。C’素子2がC素子1からの入力パルスを複製して1つめのパルスを出力するときには、*第1/第2信号20が0となっているので、ゼロ検出回路11の検出結果にかかわらずANDゲート回路26の出力は0である。
【0053】
C’素子2がC素子1からの入力パルスを複製して2つめのパルスを出力するときには、前述のように*第1/第2信号20は1である。したがってゼロ検出回路11の検出結果が真となっているばあいにはANDゲート回路26の出力は1である。またゼロ検出回路11の検出結果が偽である場合にはANDゲート回路26の出力は0となる。
【0054】
前述のように消去制御部24は、経路31から与えられる消去信号が1である場合には、C素子3から与えられたパルスをC素子4に与えない。一方、消去信号が0である場合には、消去制御部24はパルスをC素子4に出力する。したがって、ゼロ検出の結果が真であるときには、消去制御部24は、C’素子2からC素子3を介して与えられた1つめのパルスしかC素子4に与えないが、それ以外のとき、すなわちゼロ検出の結果が偽である場合には消去制御部24は、C’素子2からC素子3を介して与えられた2つのパルスをいずれもC素子4に与える。
【0055】
マルチプレクサ25は、C’素子2からの*第1/第2信号が0のときには命令コード1およびノード番号1を選択して出力している。したがって消去制御部24からC素子4に1つめのパルスが与えられたときにパイプラインレジスタ8から出力されるデータパケットは命令コード1とノード番号1とを含んだものである。また、消去制御部24からC素子4に2つめのパルスが与えられたときにパイプラインレジスタ8から出力されるデータパケットは命令コード2とノード番号2とを含んだものである。そして、ゼロ検出の結果が真である場合には、1つ目のデータパケットのみが出力され、2つ目のデータパケットは出力されない。偽であれば両方のデータパケットが出力される。
【0056】
動作の例を図2を参照して説明する。経路33からRPT命令34に対して、世代番号のうちライン番号LN#およびピクセル番号PX#が(5,1)、データDが6のデータパケットが入力された場合を考える。RPT命令34は、Dを1減算し、減算した結果が0でなければ経路35と経路36との双方にデータパケットを出力する。経路36に出力されたデータパケットはふたたびRPT命令34に与えられる。RPT命令は前述したのと同様の動作をこのデータパケットに対しても行う。その結果、RPT命令34が経路35上に出力するデータパケットはライン番号LN#およびピクセル番号PX#が一定(5、1)で、データDが5から1ずつ0まで順に減算された6個のデータパケット(D=5、4、3、2、1、0)となる。またRPT命令34から経路36に出力されるデータパケットも経路35に出力されるものと同様であるが、最後のデータパケット(D=0)は出力されず、その結果RPT命令のループ的な実行は5回で終了する。すなわち、最初に入力されたデータパケットのデータDの値(6)と同じ数だけRPT命令34を実行し、対応する数のデータパケットを経路35上に出力することができる。
【0057】
このように、この実施の形態のデータパケット生成装置では、入力されたデータパケットのデータDの値と同じ数のストリーム状のデータパケットを順に出力することができる。1種類の命令のみを実行するだけでこうした処理が実現できるため、従来のように複数種類の命令を使用する場合と比較して効率的である。
【0058】
[第2の実施の形態]
図3に、本願発明の第2の実施の形態にかかるデータパケット生成装置のブロック構成図を示す。図3に示されるデータパケット生成装置を図1に示す第1の実施の形態にかかるデータパケット生成装置と比較すると、図3に示すデータパケット生成装置が、パイプラインレジスタ5から経路14を経て世代番号を受け、経路48を介して与えられる信号にしたがって1インクリメントし、またはインクリメントせずに経路50を介してパイプラインレジスタ6に与えるための加算器52を新たに含むことと、図1に示す命令デコーダ9にかえて、命令のデコード結果に応じて経路48上に加算器52への加算信号を出力するための命令デコーダ44を含む点において両者は相違する。
【0059】
すなわちこの装置においては、ある命令(この命令もRPT命令と呼ぶこととする。)を受けた場合には、世代番号はパイプラインレジスタ5からパイプラインレジスタ6に転送される間に1だけインクリメントされる。その他の点において図1に示される装置と図3に示される装置とは同様であるので、同じ部品には同一の参照符号を付すことにし、それらの詳細な説明は繰返さないこととする。
【0060】
図3に示す第2の実施の形態のデータパケット生成装置は以下のように動作する。このデータパケット生成装置の行う処理に対応するデータフローグラフを図4に示す。図4に示すRPT命令71に対して、経路70を介してライン番号LN#およびピクセル番号PX#が(5、1)、データDが6であるデータパケットを投入するものとする。世代番号が加算されることを除いてこのデータパケット生成装置の動作は図1に示すものと同様であるから、図4に示すようにRPT命令71から経路72上には、データD=5、4、3、2、1、0のデータパケットが出力される。そして世代番号が1ずつインクリメントされる結果、それらデータパケットの世代番号のうちピクセル番号PX#が2から7まで、順に1ずつ加算された個別のピクセル番号PX#となる。
【0061】
したがってこの第2の実施の形態のデータパケット生成装置によると、画像の塗りつぶしなど、世代番号が連続したストリーム状のデータパケットを生成することができる。そのために実行すべき命令は1種類でよく、効率的である。
【0062】
なおこの第2の実施の形態の装置では、世代番号は1ずつインクリメントされた。しかしこの発明における世代番号の更新方法はそれに限定されるわけではなく、必要に応じてどのような演算を行っても良いことは明らかである。
【0063】
[第3の実施の形態]
図5に、本願発明の第3の実施の形態にかかるデータパケット生成装置のブロック図を示す。図5に示す装置と図3に示す第2の実施の形態の装置とを比較すると、図5に示す装置においては、図3のパイプラインレジスタ5にかえて、データのための領域として左データと右データとを有するパイプラインレジスタ64を含む点と、図3に示す1インクリメントのための加算器52に代えて、右データを経路62を介して受け、経路14を介して受ける世代番号のフィールド番号FD#、ライン番号LN#およびピクセル番号PX#に対して右データ内に含まれる個別のデータをそれぞれ別個に加算して経路60を介してパイプラインレジスタ6に与えるための加算器58を含むことと、図3に示す命令デコーダ44に代えて、パイプラインレジスタ64から経路42を介して命令コードを受け、その命令コードが特定の命令(RPT命令と称する。)である場合に以下に述べるように減算器10、加算器58およびゼロ検出回路11とを動作させるための命令デコーダ54を含む点とで両者は相違している。その他の点で図3に示す装置と図5に示す装置とは同様であり、同一の部品には同一の参照符号を付すこととしてそれらの詳細な説明はここでは繰返さない。
【0064】
この第3の実施の形態の装置では、世代番号の各領域の値に対して、右データに格納された値を用いて個別に加算処理を行うことができる点に特色がある。
【0065】
このデータパケット生成装置の動作について図6を参照して説明する。図6は、図5に示すデータパケット生成装置が実現する処理に対応するデータフローグラフである。図6を参照して、この処理を構成するRPT命令110に、経路109を介してライン番号LN#およびピクセル番号PX#がそれぞれ5および1、そしてデータDが6であるデータパケットが入力されるものとする。RPT命令110で世代番号に加算される値はこの例では定数であり、右データとして与えられ、ライン番号LN#およびピクセル番号PX#に対して図6に示すようにそれぞれ1、2であるものとする。したがって命令110は、世代番号の更新処理として、ライン番号LN#に対して1を、ピクセル番号PX#に対して2を、それぞれ加算する。
【0066】
それ以外の処理は図2または図4に記載されたRPT命令34、71と同様である。すなわちデータDを1ずつ減算しながら経路111と経路112とにデータパケットが出力され、経路112に出力されたデータパケットは再度RPT命令110に与えられる。このとき、世代番号のライン番号LN#およびピクセル番号PX#には順次1と2とがそれぞれ加算される。データDが0となるまでこの処理が繰返される。
【0067】
したがって経路111上には、ライン番号LN#とピクセル番号との組み合わせ(LN#、PX#)が順に(6、3)、(7、5)、(8、7)、(9、9)、(10、11)、および(11、13)であり、またデータDがそれぞれ5、4、3、2、1、0である6つのデータパケットがストリーム状に出力される。その結果、図7に示すように画面上においてライン番号LN#=6かつピクセル番号PX#=3の位置からライン番号LN#=11かつピクセル番号PX#=13の位置まで斜めに塗りつぶす処理を行うストリーム状のデータパケットを得ることができる。
【0068】
したがってこの第3の実施の形態のデータパケット生成装置によっても、ストリーム状のデータパケットが生成できかつそのために必要な命令は1種類で済むので効率的である。またこの場合、世代番号の各領域の値を個別に加算することができるので、処理の自由度が増大し複雑な世代番号処理を行うことができる。
【0069】
なおこの第3の実施の形態においては、世代番号の各値を更新するために加算処理を行ったが、加算処理に限らず任意の処理を行うようにしてもよい。その場合には、図5に示す装置において、加算器58に代えて所望の演算を行う演算器を設けたり、多様な演算を実現するための演算ユニットを設ければよい。
【0070】
また、以上述べた三つの実施の形態では、いずれもフィールド番号FD#は更新していない。しかし本発明は上述の実施の形態には限定されず、ライン番号LN#およびピクセル番号PX#に加えて、またはそれらに代えて、フィールド番号FD#を更新するようにしてもよい。その場合の機器構成は図1、図3または図5と同様であり、変更は当業者には自明な範囲である。
【0071】
以上、この発明を実施の形態に基づいて詳細に説明したが、本発明がこれら実施の形態に限定されるものではないことは明らかであり、その保護範囲は前述の特許請求の範囲各項の記載により決定されるべきものである。また、上記した実施の形態において使用した各構成要素は一例に過ぎず、それらと同様の機能を果たすもの、または均等の範囲に属するものもまた本願発明の範囲に含まれる。
【図面の簡単な説明】
【図1】図1は、本願発明の第1の実施の形態にかかるデータパケット生成装置のブロック図である。
【図2】図2は、第1の実施の形態の装置におけるRPT命令を用いたデータフローグラフの一例を示す図である。
【図3】図3は、本願発明の第2の実施の形態にかかるデータパケット生成装置のブロック図である。
【図4】図4は、第2の実施の形態の装置におけるRPT命令を用いたデータフローグラフの一例を示す図である。
【図5】図5は、本願発明の第3の実施の形態にかかるデータパケット生成装置のブロック図である。
【図6】図6は、第3の実施の形態の装置におけるRPT命令を用いたデータフローグラフの一例を示す図である。
【図7】図7は、第3の実施の形態の装置においてRPT命令を実行した際の結果の一例の画面上の表示例を示す図である。
【図8】図8は、データ駆動型情報処理装置の全体構成図である。
【図9】図9は、データ駆動型情報処理装置の内部構成図である。
【図10】図10は、入出力データパケットの構成図である。
【図11】図11は、画像メモリの論理的構成を示す図である。
【図12】図12は、従来例におけるストリーム状データパケット生成のデータフローグラフである。
【符号の説明】
1、2、3、4 C素子
5、6、7、8、64 パイプラインレジスタ
9、44、54 命令デコーダ
10 減算器
11 ゼロ検出回路
24 消去制御部
25 マルチプレクサ
32 プログラムメモリ
34、77、110 RPT命令
52、58 加算器
Claims (5)
- 入力されるデータパケット中の命令をデコードするための命令デコード手段と、
データフロープログラムを予め記憶し、入力されるデータパケット中の行先情報の値に応じて、対応の二組の命令および行先情報を出力するためのプログラム記憶手段と、
入力されるデータパケット中の所定の領域内の値を、命令デコード手段の出力に応じて更新するための第1の更新手段と、
前記第1の更新手段を介して入力されるデータパケットと、前記プログラム記憶手段から出力された前記二組の命令および行先情報とに基づいて一対のデータパケットを生成するためのパケット生成手段と、
前記第1の更新手段により更新された値に基づいて、前記パケット生成手段が生成した前記一対のデータパケットの両方を出力する第1の出力制御、及び、前記一対のデータパケットの内の一方のデータパケットのみを出力して他方のデータパケットは出力しない第2の出力制御のいずれかを行なう出力制御手段とを含み、
前記命令デコード手段によって所定命令がデコードされた場合、前記パケット生成手段が生成した一対のデータパケットの内の前記他方のデータパケットに格納された命令は、前記所定命令であり、前記出力制御手段は、前記第1の更新手段により更新された値が所定値以外のときは、前記一対のデータパケットの両方を出力し、前記第1の更新手段により更新された値が前記所定値のときは、前記一対のデータパケットの内の前記一方のデータパケットのみを出力し、前記他方のデータパケットは出力しない、データ駆動型情報処理装置。 - 前記入力されるデータパケットは、識別子領域を含み、
前記データ駆動型情報処理装置は、前記識別子領域内の値を所定の方法にしたがって更新する第2の更新手段をさらに含み、
前記パケット生成手段は、さらに前記第2の更新手段も介して、データパケットを入力する、請求項1に記載のデータ駆動型情報処理装置。 - 前記識別子領域は、複数個の部分領域を含み、
前記第2の更新手段は、前記複数個の部分領域を個別に更新するための個別更新手段を含む、請求項2に記載のデータ駆動型情報処理装置。 - 前記入力されるデータパケットは、任意のデータを格納するデータ領域を含み、
前記第2の更新手段は、前記識別子領域を、前記データ領域に格納されたデータを用いて更新するための手段を含む、請求項2または請求項3に記載のデータ駆動型情報処理装置。 - 入力されるデータパケット中の命令をデコードするための命令デコード手段と、
データフロープログラムを予め記憶し、入力されるデータパケット中の行先情報の値に応じて、対応の二組の命令および行先情報を出力するためのプログラム記憶手段と、
入力されるデータパケット中の所定の領域内の値を、命令デコード手段の出力に応じて更新するための第1の更新手段と、
入力されるデータパケット中の識別子領域内の値を所定の方法にしたがって更新するための第2の更新手段と、
前記第1の更新手段及び前記第2の更新手段を介して入力されるデータパケットと、前記プログラム記憶手段から出力された前記二組の命令および行先情報とに基づいて一対のデータパケットを生成するためのパケット生成手段と、
前記第1の更新手段により更新された値に基づいて、前記パケット生成手段が生成した前記一対のデータパケットの両方を出力する第1の制御手段、及び、前記一対のデータパケットの内の一方のデータパケットのみを出力して他方のデータパケットは出力しない第2の出力制御のいずれかを行なう出力制御手段とを含み、
前記識別子領域は、複数個の部分領域を含み、
前記入力されるデータパケットは、任意のデータを格納するデータ領域を含み、前記データ領域は、前記複数個の部分領域に対応した複数個の部分データ領域に分割され、
前記第2の更新手段は、前記識別子領域の前記部分領域を、それぞれ対応の前記部分データ領域に格納されたデータを用いて個別に更新するための個別更新手段を含む、データ駆動型情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07686498A JP3738128B2 (ja) | 1998-03-25 | 1998-03-25 | データ駆動型情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07686498A JP3738128B2 (ja) | 1998-03-25 | 1998-03-25 | データ駆動型情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11272645A JPH11272645A (ja) | 1999-10-08 |
JP3738128B2 true JP3738128B2 (ja) | 2006-01-25 |
Family
ID=13617525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07686498A Expired - Fee Related JP3738128B2 (ja) | 1998-03-25 | 1998-03-25 | データ駆動型情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3738128B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3766779B2 (ja) | 2000-03-31 | 2006-04-19 | シャープ株式会社 | 自己同期型データ伝送装置およびこれを用いたデータ駆動型情報処理装置 |
GB2370381B (en) * | 2000-12-19 | 2003-12-24 | Picochip Designs Ltd | Processor architecture |
GB2370380B (en) | 2000-12-19 | 2003-12-31 | Picochip Designs Ltd | Processor architecture |
GB2470037B (en) | 2009-05-07 | 2013-07-10 | Picochip Designs Ltd | Methods and devices for reducing interference in an uplink |
GB2470891B (en) | 2009-06-05 | 2013-11-27 | Picochip Designs Ltd | A method and device in a communication network |
GB2470771B (en) | 2009-06-05 | 2012-07-18 | Picochip Designs Ltd | A method and device in a communication network |
GB2482869B (en) | 2010-08-16 | 2013-11-06 | Picochip Designs Ltd | Femtocell access control |
GB2489919B (en) | 2011-04-05 | 2018-02-14 | Intel Corp | Filter |
GB2489716B (en) | 2011-04-05 | 2015-06-24 | Intel Corp | Multimode base system |
-
1998
- 1998-03-25 JP JP07686498A patent/JP3738128B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11272645A (ja) | 1999-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH08249306A (ja) | データ駆動型情報処理装置 | |
JPH06139199A (ja) | データ処理システム | |
JP3738128B2 (ja) | データ駆動型情報処理装置 | |
JP3618419B2 (ja) | データ駆動型情報処理装置 | |
JPH08221273A (ja) | 命令レベルの並列処理制御方法およびプロセッサ | |
JP2927634B2 (ja) | メモリインタフェイス装置 | |
JP3485381B2 (ja) | メモリインタフェース装置 | |
JP3469645B2 (ja) | データ駆動型情報処理装置 | |
US5812845A (en) | Method for generating an object code for a pipeline computer process to reduce swapping instruction set | |
JP2001297074A (ja) | データ駆動型情報処理装置の実行制御装置 | |
JP2668156B2 (ja) | データ駆動型情報処理装置の実行制御方法 | |
JPH0544049B2 (ja) | ||
JPH07191955A (ja) | データ駆動型情報処理装置 | |
JP2622026B2 (ja) | 中央処理装置におけるレジスタ書込制御方式 | |
JP3708560B2 (ja) | データフロー型情報処理装置 | |
JP3696627B2 (ja) | データ駆動型情報処理装置 | |
JPH08137690A (ja) | プログラム実行制御方法 | |
JP2859921B2 (ja) | 命令キュー制御装置 | |
JP2000029508A (ja) | プログラマブルコントローラ | |
JP2897049B2 (ja) | 分岐命令方式 | |
JPS60178539A (ja) | 情報処理装置におけるバイパス制御方式 | |
JP3078594B2 (ja) | 画像記憶装置 | |
JPH0740257B2 (ja) | メモリアクセス制御装置 | |
JPH0620071A (ja) | データ駆動型情報処理装置 | |
JPH0228724A (ja) | 分岐命令制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050325 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050809 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050920 |
|
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: 20051018 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051031 |
|
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: 20091104 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091104 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101104 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111104 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |