(57)【特許請求の範囲】
【請求項１】
第１のデータフロープログラムを予め記憶してデータ駆動型情報処理を実行する処理部と、
内蔵する内蔵データメモリおよび外部に接続する外部データメモリを有し、前記処理部と入出力するメモリ制御部とを備え、
前記処理部は、
与えられるデータパケットを入力し、該入力データパケットの内容を処理し、前記第１データフロープログラム中の次位のプログラムデータおよび該処理の結果を格納したデータパケットを出力する処理部側演算手段を有し、
前記メモリ制御部はさらに、
与えられるデータパケットを入力し処理し出力する入力手段と、
前記入力手段から入力したデータパケットの内容に基づいて前記内蔵データメモリまたは前記外部データメモリをアクセスし、該入力データパケットにアクセス結果を格納して出力するアクセス手段と、
前記アクセス手段から入力したデータパケット中の前記アクセス結果を該データパケットの内容に従って演算するメモリ側演算手段と、
第２のデータフロープログラムを予め記憶し、前記第２データフロープログラム中の次位のプログラムデータおよび前記メモリ側演算手段による前記演算の結果を格納したデータパケットを出力するプログラム記憶手段とを有し、
前記アクセス手段は、
分岐部と、
与えられるデータパケットの内容に基づいて前記内蔵データメモリをアクセスするための内蔵メモリコントロール部と、
与えられるデータパケットの内容に基づいて前記外部データメモリをアクセスするための外部メモリコントロール部とを含み、
前記分岐部は、入力したデータパケットの命令コードに基づいて入力データパケットを前記内蔵データメモリコントロール部のみに、または前記外部データメモリコントロール部のみに、または並行アクセスのために前記内蔵メモリコントロール部および前記外部メモリコントロール部の両方に出力することを特徴とする、データ駆動型情報処理装置。
【請求項２】
前記入力手段は、
前記内蔵データメモリまたは前記外部データメモリに関するアドレス修飾のためのデータを予め記憶するアドレス修飾子記憶手段と、
前記与えられるデータパケットを入力し、該入力データパケットの内容と前記アドレス修飾子記憶手段に記憶された前記アドレス修飾データとに基づいて前記並行アクセスのためのアドレスを算出し、該入力データパケットに前記算出されたアドレスを格納し出力するアドレス修飾子演算手段とを備えた、請求項１に記載のデータ駆動型情報処理装置。
【請求項３】
前記内蔵データメモリは、
複数のアクセス速度の異なるデータメモリを含む、請求項１または２に記載のデータ駆動型情報処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明はデータ駆動型情報処理装置に関し、特に、データ駆動型の情報処理部と、この処理部によりアクセスされるメモリとからなるデータ駆動型情報処理装置において、メモリのアクセス効率を高めるデータ駆動型情報処理装置に関する。
【０００２】
【従来の技術および発明が解決しようとする課題】
図１３は従来のデータ駆動型プロセッサと外部データメモリとの接続状態を示す図であり、図１４は従来の複数のデータ駆動型プロセッサのそれぞれと外部データメモリとの接続状態を示す図である。
【０００３】
図１５は従来のデータ駆動型プロセッサに関するメモリインタフェースの構成図である。
【０００４】
従来のデータ駆動型プロセッサ（情報処理学会主催のマイクロコンピュータアーキテクチャシンポジウムにおいて発行の文献「動的データ駆動型プロセッサによる並列処理方式の検討」（ｐｐ９−１８）、１９９１年１１月１２日発行）などでは、複数のプロセッサと複数のメモリインタフェースからなるマルチプロセッサシステムが提案されている。
【０００５】
ここに提案される従来のプロセッサでは１つのメモリインタフェースに対してプロセッサに内蔵されたデータメモリ（以下、内蔵データメモリと呼ぶ）またはプロセッサの外部に置かれたデータメモリ（以下、外部データメモリと呼ぶ）が接続されるが、両メモリから同時にデータの読出／書込をすることはできなかった。
【０００６】
言い換えれば、従来のデータ駆動型プロセッサでは、１つのメモリインタフェースにつき、１つのデータメモリのアクセスが許可されるだけなので、単一アクセス時間でアクセス可能なデータは１つだけであった（図１３参照）。そのため、内蔵データメモリおよび外部データメモリのデータをアクセスするには２倍のアクセス時間が必要となり処理の高速化が妨げられていた。
【０００７】
また、従来のデータ駆動型プロセッサでは、データメモリのアドレスはアドレス修飾により修飾されるが、このアドレス修飾を用いて異なる複数のメモリにまたがってメモリアドレスを修飾することはできなかった。
【０００８】
そのため、図１４に示されるように第１のデータメモリと第２のデータメモリとをアクセスするためには、第１のデータメモリをアクセスするための第１のメモリインタフェースと第２のデータメモリをアクセスするための第２のメモリインタフェースが必要であり装置のコスト高を引き起こすとともに装置の小型化が妨げられていた。
【０００９】
また、従来のデータ駆動型プロセッサでは、内蔵データメモリとキャッシュメモリが個別に存在せず、内蔵データメモリとキャッシュメモリとのそれぞれについて複数のデータを同時にアクセスする機構は存在しなかった。
【００１０】
また、従来のデータ駆動型プロセッサでは、メモリインタフェースにプログラムを内蔵する機能がなく、ホストプロセッサ側の処理を伴わないデータメモリのアクセス処理は実行できなかった（図１５参照）。したがって、データメモリへのアクセスが頻繁であるとホストプロセッサ側の負荷が高くなって全体的な処理の高速化が妨げられる。
【００１１】
それゆえにこの発明の目的は、内部および外部に複数のデータメモリを有して、各データメモリに対するアクセスを含む処理の高速化を図ることができるデータ駆動型情報処理装置を提供することである。
【００１２】
【課題を解決するための手段】
請求項１に記載のデータ駆動型情報処理装置は、第１のデータフロープログラムを予め記憶してデータ駆動型情報処理を実行する処理部と、内蔵する内蔵データメモリおよび外部に接続する外部データメモリを有し、処理部と入出力するメモリ制御部とを備えて構成される。
【００１３】
前述の処理部は、与えられるデータパケットを入力し、該入力データパケットの内容を処理し、予め記憶した第１データフロープログラム中の次位のプログラムデータおよび該処理の結果を格納したデータパケットを出力する処理部側演算手段を含んで構成される。
【００１４】
前述のメモリ制御部はさらに、与えられるデータパケットを入力し処理して出力する入力手段と、入力手段から入力したデータパケットの内容に基づいて複内蔵データメモリまたは外部データメモリをアクセスし、該入力データパケットにアクセス結果を格納して出力するアクセス手段と、メモリ側演算手段と、プログラム記憶手段とを備えて構成される。
【００１５】
前述のメモリ側演算手段はアクセス手段から入力したデータパケット中のアクセス結果を該データパケットの内容に従って演算し、プログラム記憶手段は第２のデータフロープログラムを予め記憶し、この第２データフロープログラム中の次位のプログラムデータおよびメモリ側演算手段による演算の結果を格納したデータパケットを出力する。
アクセス手段は、分岐部と、与えられるデータパケットの内容に基づいて内蔵データメモリをアクセスするための内蔵メモリコントロール部と、与えられるデータパケットの内容に基づいて外部データメモリをアクセスするための外部メモリコントロール部とを含み、分岐部は、入力したデータパケットの命令コードに基づいて入力データパケットを内蔵データメモリコントロール部のみに、または外部データメモリコントロール部のみに、または並行アクセスのために内蔵メモリコントロール部および外部メモリコントロール部の両方に出力する。
【００１６】
請求項２に記載のデータ駆動型情報処理装置は、請求項１に記載の情報処理装置のメモリ制御部の入力手段が、内蔵データメモリまたは外部データメモリに関するアドレス修飾のためのデータを予め記憶するアドレス修飾子記憶手段と、与えられるデータパケットを入力し、該入力データパケットの内容とアドレス修飾子記憶手段に記憶されたアドレス修飾データとに基づいて前述の並行アクセスのためのアドレスを算出し、該入力データパケットに算出されたアドレスを格納して出力するアドレス修飾子演算手段とを備えて構成される。
【００１７】
請求項３に記載のデータ駆動型情報処理装置は、請求項１または２に記載の情報処理装置の内蔵データメモリは、複数のアクセス速度の異なるデータメモリを含んで構成される。
【００１８】
【作用】
請求項１に係るデータ駆動型情報処理装置によれば、メモリ制御部のアクセス手段において単一アクセス時間で複数のデータメモリが同時アクセスされる。
【００１９】
また、メモリ制御部ではデータフロープログラムを記憶するためのプログラム記憶手段を有して、処理部の制御とは独立してメモリアクセスのためのプログラム制御が行なわれる。
【００２０】
請求項２に係るデータ駆動型情報処理装置によれば、請求項１に係る情報処理装置において、メモリ制御部の入力手段がさらにアドレス修飾子記憶手段とアドレス修飾子演算手段とを有して、並列アクセス時に複数のデータメモリにまたがってアドレス修飾がなされる。
【００２１】
請求項３に係るデータ駆動型情報処理装置によれば、請求項１または２に係る情報処理装置において、内蔵データメモリは複数のアクセス速度の異なるデータメモリとを含むので、外部および内蔵データメモリが並列アクセスされるとともに、アクセス速度の異なる内蔵するデータメモリのそれぞれについて並列アクセスされる。
【００２２】
【実施例】
以下、この発明の一実施例について図面を参照し説明する。
【００２３】
以下の説明中、データキャッシュとは内蔵データメモリまたは外部データメモリよりも高速かつ小容量のメモリをさす。また内蔵データメモリとは外部データメモリよりも高速かつ小容量であるメモリをさす。
【００２４】
図１にこの発明の一実施例によるデータ駆動型情報処理装置の概略構成が示される。
【００２５】
図２（ａ）および（ｂ）には、図１のデータ駆動型情報処理装置の入出力パケットのフォーマットが示される。
【００２６】
図１のデータ駆動型情報処理装置において処理されるデータは、図２（ａ）および（ｂ）で示されるデータパケットの構成をとる。後述するビデオメモリをアクセスするためのパケットは図２（ａ）および（ｂ）の１ワード３６ビットの２ワード構成であり、それ以外のパケットは図２中の世代オフセットＯＦＦを含まない、１ワード３２ビットの２ワード構成である。
【００２７】
該パケットには命令情報１００、行先情報１０１、世代情報１０２およびオペランド１０３が格納される。
【００２８】
命令情報１００はさらに命令コードＯＰＣを含み、行先情報１０１はさらにノード番号ＮＤ♯およびプロセッサ番号ＰＥ♯を含む。
【００２９】
世代情報１０２は該パケットが映像信号処理などの時系列データを格納するときに割当てられる情報であり、該処理装置への入力時間順序に従って世代情報１０２が割当てられる。この世代情報１０２は後述するようにビデオメモリをアクセスするためのアドレスとして用いられて、３ビットのフィールドアドレスｆｄ、１１ビットのラインアドレスｌｎおよび１０ビットのピクセルアドレスｐｘを含む。
【００３０】
オペランド１０３はさらに命令コードＯＰＣを用いて処理されるオペランドデータＤＡＴＡを含む。
【００３１】
図１に戻って、データ駆動型情報処理装置は記憶マイクロプロセッサ部１、入力ポートＩＡおよびＩＢならびに出力ポートＯＡおよびＯＢを有して外部とデータパケットの入出力を制御する入出力制御部２、および演算プロセッサ部３を含み、さらに外部データメモリ４Ａおよび４Ｂを接続する。
【００３２】
入出力制御部２は外部からデータパケットを受け、記憶マイクロプロセッサ部２または演算プロセッサ部３へ送り出す。
【００３３】
記憶マイクロプロセッサ部１は各種のデータメモリに対する読出／書込、およびそれに伴う演算処理を行なう部分であり、後述する内蔵データメモリおよび外部データメモリ４Ａまたは４Ｂをアクセスできる。
【００３４】
演算プロセッサ部３は従来のデータ駆動型プロセッサと同様のものである。
該情報処理装置内に入出力制御部２を介して入力されたデータパケットは、記憶マイクロプロセッサ部１および演算プロセッサ部３に内蔵されたデータフロープログラムに従って実行されるが、その場合、プログラムによってはデータが記憶マイクロプロセッサ部１から演算プロセッサ部３に送られたり、逆に演算プロセッサ部３から記憶マイクロプロセッサ部１に送られてくることもある。情報処理装置内部で演算が終了したデータパケットは再び入出力制御部３に戻され、該情報処理装置外部に送出される。
【００３５】
図３に図１の記憶マイクロプロセッサ部１の構造が示される。
図３において記憶マイクロプロセッサ部１は入出力制御部２および演算プロセッサ部３からの入力データパケットを処理して出力する入力処理部１０、内蔵データメモリ１８Ａおよび１８Ｂならびにデータキャッシュ１９Ａおよび１９Ｂに関するアクセスを制御する内蔵メモリコントロール部１４、外部データメモリ４Ａおよび４Ｂに関するアクセスを制御する外部メモリコントロール部１５、演算処理部１６および予め主にデータメモリのアクセスに関するデータフロープログラムを記憶するプログラム記憶部１７を含む。
【００３６】
入力処理部１０はさらに、アドレス修飾子定数部１１、アドレス修飾子演算部１２および分岐部１３を含む。
【００３７】
図示されるように外部データメモリ、内蔵データメモリおよびデータキャッシュがそれぞれ２個ずつ準備されるのは各メモリの組について２つのメモリを交互にアクセスして（インタリーブして）、メモリの高速アクセスを達成するためである。
【００３８】
アドレス修飾子定数部１１はメモリを有し、このメモリにアドレス修飾のための定数値を予め記憶し、入力されたデータパケットに関してアドレス計算のための定数値を与える。
【００３９】
アドレス修飾子演算部１２では、定数部１１で与えられた定数値とデータパケット中のアドレス値（世代情報１０２）から、内蔵または外部メモリをアクセスするためのアドレスが計算される。
【００４０】
演算部１２がアドレス算出後、分岐部１３はデータパケットの命令コードＯＰＣに基づいてアクセスするアドレスが内蔵される側のメモリ（メモリ１８Ａおよび１８Ｂ、ならびにデータキャッシュ１９Ａおよび１９Ｂ）と判断した場合、データパケットは内蔵メモリコントロール部１４に送られ、アクセスするアドレスが外部データメモリ４Ａおよび４Ｂと判断された場合、データパケットは外部メモリコントロール部１５に送られ、アクセスするアドレスが内蔵されるメモリ（メモリ１８Ａおよび１８Ｂ、ならびにデータキャッシュ１９Ａおよび１９Ｂ）と外部データメモリ４Ａおよび４Ｂの両方であると判断した場合は、データパケットは内蔵メモリコントロール部１４および外部メモリコントロール部１５の両方に送られる。
【００４１】
その後、アクセスして得られた結果を格納したデータパケットは演算処理部１６に送られ、演算結果を格納したデータパケットが送出される。演算処理部１６では、メモリアクセス後のデータを対象としてのみ演算が行なわれており、それ以外の演算は演算プロセッサ部３で行なわれる。
【００４２】
演算後のデータパケットはプログラム記憶部１７に送出されて、ここで該データパケットの内容に従って予め記憶されたデータフロープログラムから次位のプログラムデータが読出されて、該データパケットに格納される。
【００４３】
そして、該データパケット中の行先情報１０１が記憶マイクロプロセッサ部１の内部を示すならば、データパケットはアドレス修飾子定数部１１へ送られる。
また、行先情報１０１が演算プロセッサ部３を示すならば、記憶マイクロプロセッサ部１の外部へ出力されて演算プロセッサ部３に送られる。さらに行先情報１０１がデータ駆動型情報処理装置の外部を示すならば、入出力制御部２を経由して該装置の外部に出力される。
【００４４】
図４に図１の入出力制御部２の構造が示される。
図４において入出力制御部２はデータパケットの経路を制御するルータ部２０および２６、データパケットを合流させて出力する合流部２１および２３、入力処理部２２，分岐部２５および出力処理部２４を含む。
【００４５】
ルータ部２０は、該情報処理装置の外部から２つの入力ポートＩＡおよびＩＢに与えられるデータパケットごとにその行先情報１０１を識別し、行先情報１０１が該装置外部を示すのであれば該パケットをルータ部２６へ、行先情報１０１が該装置内部を示すのであれば該パケットを合流部２１に送出する。
【００４６】
合流部２３は、記憶マイクロプロセッサ部１と演算プロセッサ部３からの入力データパケットを合流させて順次出力処理部２４に送出する。
【００４７】
出力処理部２４では入力データパケットを情報処理装置内部のデータ形式から情報処理装置外部のデータ形式に変換して分岐部２５に送出する。
【００４８】
分岐部２５は、入力データパケットの行先情報１０１が情報処理装置外であれば該データパケットをルータ部２６へ送出し、行先情報１０１が情報処理装置内であれば該データパケットを合流部２１に送出する。
【００４９】
ルータ部２６は入力パケットをその行先情報１０１に基づいて出力ポートＯＡおよびＯＢのいずれか一方を介して該情報処理装置外部に送出する。
【００５０】
合流部２１は、与えられる入力データパケットを合流させて順次入力処理部２２に送出する。
【００５１】
入力処理部２２では入力データパケットを情報処理装置外部のデータ形式から情報処理装置内部のデータ形式に変換しながら、その行先情報１０１に基づいて記憶マイクロプロセッサ部１および演算プロセッサ部３のいずれか一方に送出する。
【００５２】
図５に図１の演算プロセッサ部３の構造が示される。
図５において演算プロセッサ部３は合流部３０および３１、対データ生成部／定数部３２、演算処理部３３、プログラム記憶部３４および分岐部３５を含む。
【００５３】
対データ生成部／定数部３２、演算処理部３３およびプログラム記憶部３４におけるデータ処理は、前述の文献「動的データ駆動型プロセッサによる並列処理方式の検討」において詳述されているので、ここではこれらの説明は簡単に行なう。
【００５４】
合流部３０は、入出力制御部２と分岐部３５から与えられるデータパケットを順次入力し合流部３１に送出する。
【００５５】
合流部３１は合流部３０と記憶マイクロプロセッサ部１から与えられるデータパケットを順次入力して対データ生成部／定数部３２に送出する。
【００５６】
対データ生成部／定数部３２は、合流部３１から与えられるデータパケットを順次入力して演算可能なオペランドデータＤＡＴＡの対を生成するか、定数部に対応の定数データがある場合は入力パケットのオペランドデータＤＡＴＡと定数データとで対を生成して、生成されたデータ対を格納したデータパケットを演算処理部３３に送出する。
【００５７】
演算処理部３３は対データ生成部／定数部３２から与えられるデータパケットを入力して、該入力パケット中のオペランドデータ対を該入力パケット中の命令情報１００に従って処理して、結果データを格納したデータパケットをプログラム記憶部３４に送出する。
【００５８】
プログラム記憶部３４は予めデータフロープログラムを記憶する。そして演算処理部３３から与えられるデータパケットを入力すると、そのノード番号ＮＤ♯および世代情報１０２に基づいてプログラムから次位のプログラムデータを読出して該入力パケットに格納し、これを分岐部３５に送出する。
【００５９】
分岐部３５はプログラム記憶部３４から与えられるデータパケットを入力すると、その行先情報１０１に基づいて、該入力パケットを合流部３０、記憶マイクロプロセッサ部１および入出力制御部２のいずれかに送出する。
【００６０】
図３に示されたように、記憶マイクロプロセッサ部１はプログラム記憶部１７を有して、該情報処理装置におけるデータメモリのアクセスに関するプログラム制御を、演算プロセッサ部３側のプログラム記憶部３４に記憶されたプログラムの制御を介することなく行なうことが可能となる。
【００６１】
したがって、演算プロセッサ部３側の演算処理と並列に記憶マイクロプロセッサ部１側のデータメモリのアクセス処理が可能となった分、従来に比較し演算プロセッサ部３側の負荷が軽減されるとともに、該情報処理装置における処理速度が向上する。
【００６２】
また、記憶マイクロプロセッサ部１は入力処理部１０、内蔵メモリコントロール部１４および外部メモリコントロール部１５を含んで、データメモリ１８Ａおよび１８Ｂ、データキャッシュ１９Ａおよび１９Ｂ、ならびに外部データメモリ４Ａおよび４Ｂへの同時かつ並列アクセスを可能としている。このメモリアクセスの詳細について、特に高速処理が望まれ、かつ扱うデータも大量である画像データ処理を例にし、内蔵および外部のデータメモリとしてビデオメモリを想定しながら説明する。
【００６３】
図６は、この発明の一実施例による画像データの構造を示す図である。図示されるように画像データは複数の画面（フィールド）からなり、各画面は複数の画素データが２次元（ピクセル方向，ライン方向）に配列されて、各画像データ中の画素データはデータメモリ上においてはアドレス（フィールド，ピクセル方向，ライン方向）で一意に識別（アドレス指定）される。
【００６４】
画像データ処理の特徴的な処理としてフィルタ処理がある。フィルタ処理では、画素データに関してピクセル方向に隣り合うデータ同士での比較、ライン方向に隣り合うデータ同士での比較および隣り合うフィールド同士での比較が行なわれる。そこで、本実施例では、画像データに関するピクセル方向の画素データの情報をデータキャッシュ１９Ａおよび１９Ｂに、同じくライン方向の情報を内蔵データメモリ１８Ａおよび１８Ｂに、さらに同じくフィールドの情報を外部データメモリ４Ａおよび４Ｂに分割して格納する。
【００６５】
なお、ここではデータメモリ上でピクセル方向に画素データを識別するためにピクセルアドレスｐｘ，同様にライン方向に識別するためにラインアドレスｌｎおよびフィールド単位で識別するためにフィールドアドレスｆｄを用いる。
【００６６】
次に、図７ないし図１２を参照しながら本実施例によるメモリアクセス処理について説明する。
【００６７】
なお、図７ないし図１２の定数値（１６ビット）は図３のアドレス修飾子定数部１１によってアドレス修飾子演算部１２に与えられる値であり、実行時のアドレス（２４ビット）と定数値（１６ビット）とからアクセスすべきアドレスを算出しデータパケットに格納し送出する動作はアドレス修飾子演算部１２により行なわれる。
【００６８】
図７（ａ）および（ｂ）は、この発明の一実施例による内蔵データメモリおよび外部データメモリのアクセスを説明する図である。
【００６９】
図７（ａ）に内蔵データメモリ１８Ａまたは１８Ｂに対するアクセスの例が示される。このアクセスを行なうために命令コードＯＰＣにはＩＶＭ（Internal Video Memory instruction)命令がセットされる。ＩＶＭ命令によれば、内蔵データメモリ１８Ａまたは１８Ｂの全域をアクセスできる。
【００７０】
また、図７（ａ）に外部データメモリ４Ａまたは４Ｂに対するアクセスの例が示される。このアクセスを行なうための命令コードＯＰＣにはＥＶＭ（External Video Memory instruction)命令がセットされる。ＥＶＭ命令によれば、外部データメモリ４Ａまたは４Ｂの全域がアクセスできる。
【００７１】
上述のＩＶＭおよびＥＶＭ命令では、アクセスのためのアドレスは同じアドレスが使用されるが、メモリ本体は図３に示されるように内蔵／外部データメモリが別々に設けられているので、個別のアクセスが行なわれる。
【００７２】
図７（ｂ）にアドレス修飾子定数部１１におけるアドレス修飾値（以下、単に定数値と呼ぶ）とアドレスとの関係が示される。実行時のアドレスはデータパケット中の世代情報１０２で表わされる。世代情報１０２で表わされる実行時のアドレスはデータメモリにおけるフィールドアドレスｆｄ，ラインアドレスｌｎおよびピクセルアドレスｐｘにより示される。この世代情報１０２によりデータメモリ中の画像単位に分割されたデータをアクセスすることができる。
【００７３】
実行時のアドレス（ｆｄ，ｌｎ，ｐｘ）は、図３のアドレス修飾子定数部１１における定数値（Δｆｄ，Δｌｎ，Δｐｘ）をオフセット値として、アドレス修飾子演算部１２において内蔵データメモリ１８Ａまたは１８Ｂと外部データメモリ４Ａまたは４Ｂのアドレスに変換される。その後、内蔵メモリコントロール部１４または外部メモリコントロール部１５を介してこの変換アドレス（ｆｄ＋Δｆｄ，ｌｎ＋Δｌｎ，ｐｘ＋Δｐｘ）に基づいてそれぞれのデータメモリがアクセスされる。
【００７４】
図８はこの発明の一実施例による内蔵および外部データメモリに対する同時アクセスを説明する図である。このアクセスを行なうための命令コードＯＰＣにはＣＰＸ（ALU for Complex operation instruction)命令がセットされる。ＣＰＸ命令では、定数値のうちピクセルオフセットΔｐｘのみが有効なので、データキャッシュ１９Ａまたは１９Ｂのアクセスとなる。
【００７５】
図９（ａ）および（ｂ）はこの発明の一実施例による内蔵データメモリおよびデータキャッシュのうち同一のラインのアドレスに対するアクセスを説明する図である。
【００７６】
このアクセスを行なうための命令コードＯＰＣにはＭＤＣ／ＣＬ（Multiple access with Data Cache in Common Line) 命令がセットされる。ＭＤＣ／ＣＬ命令では、定数値には内蔵データメモリのピクセルオフセット値ΔＤｍＰｘとデータキャッシュのピクセルオフセット値ΔＤｃＰｘとが別々に収められているので、内蔵データメモリ１８Ａまたは１８Ｂとデータキャッシュ１９Ａまたは１９Ｂについてそれぞれ別々のピクセルアドレスｐｘがアクセスされる。この場合、ラインアドレスｌｎについてはオフセット値はない。
【００７７】
図１０（ａ）および（ｂ）はこの発明の一実施例による内蔵データメモリおよびデータキャッシュのうち同一のピクセルアドレスに対するアクセスを説明する図である。
【００７８】
このアクセスを行なうための命令コードＯＰＣにはＭＤＣ／ＣＰ（Multiple access with Data Cache in Common Pixel)命令がセットされる。ＭＤＣ／ＣＰ命令では、定数値には内蔵データメモリ１８Ａまたは１８Ｂのラインアドレスｌｎに対するオフセット値ΔＤｍＬｘのみが収められているので、内蔵データメモリ１８Ａまたは１８Ｂのラインアドレスｌｎがアクセスされる。この場合、ピクセルアドレスｐｘについては内蔵データメモリ１８Ａまたは１８Ｂとデータキャッシュ１９Ａまたは１９Ｂに共通のピクセルオフセット値ΔＰｘとなる。
【００７９】
図１１（ａ）および（ｂ）はこの発明の一実施例による外部データメモリおよび内蔵データメモリのうち同一のラインアドレスに対するアクセスを説明する図である。
【００８０】
このアクセスを行なうための命令コードＯＰＣにはＭＶＭ／ＣＬ（Multiple access with Video Memory in Common Line) 命令がセットされる。ＭＶＭ／ＣＬ命令では、定数値には内蔵データメモリ１８Ａまたは１８Ｂと外部データメモリ４Ａまたは４Ｂのピクセルに対するオフセット値ΔＤｍＰｘおよびΔＶｍＰｘが別々に収められているので、内蔵データメモリ１８Ａまたは１８Ｂと外部データメモリ４Ａまたは４Ｂの別々のピクセルがアクセスされる。この場合、ラインアドレスｌｎについては内蔵データメモリ１８Ａまたは１８Ｂと外部データメモリ４Ａまたは４Ｂとが共通のオフセット値Δｌｎとなる。
【００８１】
図１２（ａ）および（ｂ）はこの発明の一実施例による外部データメモリおよび内蔵データメモリのうち同一のピクセルアドレスに対するアクセスを説明する図である。
【００８２】
このアクセスを行なうための命令コードＯＰＣにはＭＶＭ／ＣＰ（Multiple access with Video Memory in Common Pixel)命令がセットされる。ＭＶＭ／ＣＰ命令では、定数値には内蔵データメモリ１８Ａまたは１８Ｂと外部データメモリ４Ａまたは４Ｂのラインアドレスｌｎに対するオフセット値ΔＤｍｌｎとΔＶｍｌｎがそれぞれ別々に収められているので、内蔵データメモリ１８Ａまたは１８Ｂと外部データメモリ４Ａまたは４Ｂの別々のラインアドレスがアクセスされる。この場合、ピクセルアドレスｐｘについては内蔵データメモリ１８Ａまたは１８Ｂと外部データメモリ４Ａまたは４Ｂとが共通のオフセット値ΔＰｘとなる。
【００８３】
図１、図３および図５に示されたように記憶マイクロプロセッサ部１および演算プロセッサ部３にそれぞれ独自のプログラム記憶領域が設けられているので、図７ないし図１２に示されたようなメモリアクセスがホスト側の演算プロセッサ部３を介することなく、並列に実行可能となる。
【００８４】
また、従来複数のデータメモリへのアクセスのために複数のメモリインタフェースが準備されていたのに対し、本実施例によれば、単一の記憶マイクロプロセッサ部３により複数の異なるデータメモリへの同時アクセスが可能となる。
【００８５】
また、図９および図１０に示されたように、内蔵データメモリ１８Ａまたは１８Ｂと内蔵のデータキャッシュ１９Ａまたは１９Ｂとを同時並列にアクセスすることが可能となる。
【００８６】
さらに、アドレス修飾子定数部１１およびアドレス修飾子演算部１２により複数のアドレス修飾機構を持つことが可能となって、複数のデータメモリの異なるアドレスに対する同じアクセスが同時、かつ並列に可能となる。
【００８７】
【発明の効果】
請求項１に係るデータ駆動型情報処理装置によれば、メモリ制御部のアクセス手段において単一アクセス時間で複数のデータメモリが同時アクセスされるので、各データメモリに対するアクセスを含む該処理装置自体の処理の高速化を図ることができる。
【００８８】
また、メモリ制御部はデータフロープログラムを記憶するためのプログラム記憶手段を有しているので、処理部の制御とは独立してデータメモリをアクセスするためのプログラム制御が可能となる。これにより処理部の負荷が軽減されて、処理部における処理の高速化が可能となる。
【００８９】
請求項２に係るデータ駆動型情報処理装置によれば、請求項１に係る情報処理装置において、メモリ制御部の入力手段がさらにアドレス修飾子記憶手段とアドレス修飾子演算手段とを有して、並列アクセス時に複数のデータメモリにまたがるアドレス修飾が可能となる。
【００９０】
請求項３に係るデータ駆動型情報処理装置によれば、請求項１または２に係る情報処理装置において、内蔵データメモリは複数のアクセス速度の異なるデータメモリを含むので、外部および内蔵データメモリの並列アクセスが可能となるとともに、さらにアクセス速度の異なる内蔵するデータメモリのそれぞれについての並列アクセスも可能となる。
【図面の簡単な説明】
【図１】この発明の一実施例によるデータ駆動型情報処理装置の概略構成図である。
【図２】（ａ）および（ｂ）は、図１のデータ駆動型情報処理装置の入出力パケットのフォーマット図である。
【図３】図１の記憶マイクロプロセッサ部の構造図である。
【図４】図１の入出力制御部の構造図である。
【図５】図１の演算プロセッサ部の構造図である。
【図６】この発明の一実施例による画像データの構造を示す図である。
【図７】（ａ）および（ｂ）はこの発明の一実施例による内蔵データメモリおよび外部データメモリのアクセスを説明する図である。
【図８】この発明の一実施例による内蔵および外部データメモリに対する同時アクセスを説明する図である。
【図９】（ａ）および（ｂ）はこの発明の一実施例による内蔵データメモリおよびデータキャッシュのうち同一のラインのアドレスに対するアクセスを説明する図である。
【図１０】（ａ）および（ｂ）はこの発明の一実施例による内蔵データメモリおよびデータキャッシュのうち同一のピクセルのアドレスに対するアクセスを説明する図である。
【図１１】（ａ）および（ｂ）はこの発明の一実施例による外部データメモリおよび内蔵データメモリのうち同一のラインのアドレスに対するアクセスを説明する図である。
【図１２】（ａ）および（ｂ）はこの発明の一実施例による外部データメモリおよび内蔵データメモリのうち同一のピクセルのアドレスに対するアクセスを説明する図である。
【図１３】従来のデータ駆動型プロセッサと外部データメモリとの接続状態を示す図である。
【図１４】従来の複数のデータ駆動型プロセッサのそれぞれと外部データメモリの接続状態を示す図である。
【図１５】従来のデータ駆動型プロセッサに関するメモリインタフェースの構成図である。
【符号の説明】
１  記憶マイクロプロセッサ部
２  入出力制御部
３  演算プロセッサ部
４Ａおよび４Ｂ  外部データメモリ
１０  入力処理部
１１  アドレス修飾子定数部
１２  アドレス修飾子演算部
１４  内蔵メモリコントロール部
１５  外部メモリコントロール部
１６  演算処理部
１７  プログラム記憶部
１８Ａおよび１８Ｂ  内蔵データメモリ
１９Ａおよび１９Ｂ  データキャッシュ
３２  対データ生成部／定数部
３３  演算処理部
３４  プログラム記憶部
１０２  世代情報
ｆｄ  フィールドアドレス
ｌｎ  ラインアドレス
ｐｘ  ピクセルアドレス
Δｆｄ  フィールドオフセット値
Δｌｎ  ラインオフセット値
Δｐｘ  ピクセルオフセット値
なお、各図中同一符号は同一または相当部分を示す。
【図１】
0003698754.tif 000002
【図２】
0003698754.tif 000003
【図３】
0003698754.tif 000004
【図４】
0003698754.tif 000005
【図５】
0003698754.tif 000006
【図６】
0003698754.tif 000007
【図７】
0003698754.tif 000008
【図８】
0003698754.tif 000009
【図９】
0003698754.tif 000010
【図１０】
0003698754.tif 000011
【図１１】
0003698754.tif 000012
【図１２】
0003698754.tif 000013
【図１３】
0003698754.tif 000014
【図１４】
0003698754.tif 000015
【図１５】
0003698754.tif 000016