JP3698754B2 - データ駆動型情報処理装置 - Google Patents
データ駆動型情報処理装置 Download PDFInfo
- Publication number
- JP3698754B2 JP3698754B2 JP08676495A JP8676495A JP3698754B2 JP 3698754 B2 JP3698754 B2 JP 3698754B2 JP 08676495 A JP08676495 A JP 08676495A JP 8676495 A JP8676495 A JP 8676495A JP 3698754 B2 JP3698754 B2 JP 3698754B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- unit
- input
- access
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4494—Execution paradigms, e.g. implementations of programming paradigms data driven
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【産業上の利用分野】
この発明はデータ駆動型情報処理装置に関し、特に、データ駆動型の情報処理部と、この処理部によりアクセスされるメモリとからなるデータ駆動型情報処理装置において、メモリのアクセス効率を高めるデータ駆動型情報処理装置に関する。
【0002】
【従来の技術および発明が解決しようとする課題】
図13は従来のデータ駆動型プロセッサと外部データメモリとの接続状態を示す図であり、図14は従来の複数のデータ駆動型プロセッサのそれぞれと外部データメモリとの接続状態を示す図である。
【0003】
図15は従来のデータ駆動型プロセッサに関するメモリインタフェースの構成図である。
【0004】
従来のデータ駆動型プロセッサ(情報処理学会主催のマイクロコンピュータアーキテクチャシンポジウムにおいて発行の文献「動的データ駆動型プロセッサによる並列処理方式の検討」(pp9−18)、1991年11月12日発行)などでは、複数のプロセッサと複数のメモリインタフェースからなるマルチプロセッサシステムが提案されている。
【0005】
ここに提案される従来のプロセッサでは1つのメモリインタフェースに対してプロセッサに内蔵されたデータメモリ(以下、内蔵データメモリと呼ぶ)またはプロセッサの外部に置かれたデータメモリ(以下、外部データメモリと呼ぶ)が接続されるが、両メモリから同時にデータの読出/書込をすることはできなかった。
【0006】
言い換えれば、従来のデータ駆動型プロセッサでは、1つのメモリインタフェースにつき、1つのデータメモリのアクセスが許可されるだけなので、単一アクセス時間でアクセス可能なデータは1つだけであった(図13参照)。そのため、内蔵データメモリおよび外部データメモリのデータをアクセスするには2倍のアクセス時間が必要となり処理の高速化が妨げられていた。
【0007】
また、従来のデータ駆動型プロセッサでは、データメモリのアドレスはアドレス修飾により修飾されるが、このアドレス修飾を用いて異なる複数のメモリにまたがってメモリアドレスを修飾することはできなかった。
【0008】
そのため、図14に示されるように第1のデータメモリと第2のデータメモリとをアクセスするためには、第1のデータメモリをアクセスするための第1のメモリインタフェースと第2のデータメモリをアクセスするための第2のメモリインタフェースが必要であり装置のコスト高を引き起こすとともに装置の小型化が妨げられていた。
【0009】
また、従来のデータ駆動型プロセッサでは、内蔵データメモリとキャッシュメモリが個別に存在せず、内蔵データメモリとキャッシュメモリとのそれぞれについて複数のデータを同時にアクセスする機構は存在しなかった。
【0010】
また、従来のデータ駆動型プロセッサでは、メモリインタフェースにプログラムを内蔵する機能がなく、ホストプロセッサ側の処理を伴わないデータメモリのアクセス処理は実行できなかった(図15参照)。したがって、データメモリへのアクセスが頻繁であるとホストプロセッサ側の負荷が高くなって全体的な処理の高速化が妨げられる。
【0011】
それゆえにこの発明の目的は、内部および外部に複数のデータメモリを有して、各データメモリに対するアクセスを含む処理の高速化を図ることができるデータ駆動型情報処理装置を提供することである。
【0012】
【課題を解決するための手段】
請求項1に記載のデータ駆動型情報処理装置は、第1のデータフロープログラムを予め記憶してデータ駆動型情報処理を実行する処理部と、内蔵する内蔵データメモリおよび外部に接続する外部データメモリを有し、処理部と入出力するメモリ制御部とを備えて構成される。
【0013】
前述の処理部は、与えられるデータパケットを入力し、該入力データパケットの内容を処理し、予め記憶した第1データフロープログラム中の次位のプログラムデータおよび該処理の結果を格納したデータパケットを出力する処理部側演算手段を含んで構成される。
【0014】
前述のメモリ制御部はさらに、与えられるデータパケットを入力し処理して出力する入力手段と、入力手段から入力したデータパケットの内容に基づいて複内蔵データメモリまたは外部データメモリをアクセスし、該入力データパケットにアクセス結果を格納して出力するアクセス手段と、メモリ側演算手段と、プログラム記憶手段とを備えて構成される。
【0015】
前述のメモリ側演算手段はアクセス手段から入力したデータパケット中のアクセス結果を該データパケットの内容に従って演算し、プログラム記憶手段は第2のデータフロープログラムを予め記憶し、この第2データフロープログラム中の次位のプログラムデータおよびメモリ側演算手段による演算の結果を格納したデータパケットを出力する。
アクセス手段は、分岐部と、与えられるデータパケットの内容に基づいて内蔵データメモリをアクセスするための内蔵メモリコントロール部と、与えられるデータパケットの内容に基づいて外部データメモリをアクセスするための外部メモリコントロール部とを含み、分岐部は、入力したデータパケットの命令コードに基づいて入力データパケットを内蔵データメモリコントロール部のみに、または外部データメモリコントロール部のみに、または並行アクセスのために内蔵メモリコントロール部および外部メモリコントロール部の両方に出力する。
【0016】
請求項2に記載のデータ駆動型情報処理装置は、請求項1に記載の情報処理装置のメモリ制御部の入力手段が、内蔵データメモリまたは外部データメモリに関するアドレス修飾のためのデータを予め記憶するアドレス修飾子記憶手段と、与えられるデータパケットを入力し、該入力データパケットの内容とアドレス修飾子記憶手段に記憶されたアドレス修飾データとに基づいて前述の並行アクセスのためのアドレスを算出し、該入力データパケットに算出されたアドレスを格納して出力するアドレス修飾子演算手段とを備えて構成される。
【0017】
請求項3に記載のデータ駆動型情報処理装置は、請求項1または2に記載の情報処理装置の内蔵データメモリは、複数のアクセス速度の異なるデータメモリを含んで構成される。
【0018】
【作用】
請求項1に係るデータ駆動型情報処理装置によれば、メモリ制御部のアクセス手段において単一アクセス時間で複数のデータメモリが同時アクセスされる。
【0019】
また、メモリ制御部ではデータフロープログラムを記憶するためのプログラム記憶手段を有して、処理部の制御とは独立してメモリアクセスのためのプログラム制御が行なわれる。
【0020】
請求項2に係るデータ駆動型情報処理装置によれば、請求項1に係る情報処理装置において、メモリ制御部の入力手段がさらにアドレス修飾子記憶手段とアドレス修飾子演算手段とを有して、並列アクセス時に複数のデータメモリにまたがってアドレス修飾がなされる。
【0021】
請求項3に係るデータ駆動型情報処理装置によれば、請求項1または2に係る情報処理装置において、内蔵データメモリは複数のアクセス速度の異なるデータメモリとを含むので、外部および内蔵データメモリが並列アクセスされるとともに、アクセス速度の異なる内蔵するデータメモリのそれぞれについて並列アクセスされる。
【0022】
【実施例】
以下、この発明の一実施例について図面を参照し説明する。
【0023】
以下の説明中、データキャッシュとは内蔵データメモリまたは外部データメモリよりも高速かつ小容量のメモリをさす。また内蔵データメモリとは外部データメモリよりも高速かつ小容量であるメモリをさす。
【0024】
図1にこの発明の一実施例によるデータ駆動型情報処理装置の概略構成が示される。
【0025】
図2(a)および(b)には、図1のデータ駆動型情報処理装置の入出力パケットのフォーマットが示される。
【0026】
図1のデータ駆動型情報処理装置において処理されるデータは、図2(a)および(b)で示されるデータパケットの構成をとる。後述するビデオメモリをアクセスするためのパケットは図2(a)および(b)の1ワード36ビットの2ワード構成であり、それ以外のパケットは図2中の世代オフセットOFFを含まない、1ワード32ビットの2ワード構成である。
【0027】
該パケットには命令情報100、行先情報101、世代情報102およびオペランド103が格納される。
【0028】
命令情報100はさらに命令コードOPCを含み、行先情報101はさらにノード番号ND♯およびプロセッサ番号PE♯を含む。
【0029】
世代情報102は該パケットが映像信号処理などの時系列データを格納するときに割当てられる情報であり、該処理装置への入力時間順序に従って世代情報102が割当てられる。この世代情報102は後述するようにビデオメモリをアクセスするためのアドレスとして用いられて、3ビットのフィールドアドレスfd、11ビットのラインアドレスlnおよび10ビットのピクセルアドレスpxを含む。
【0030】
オペランド103はさらに命令コードOPCを用いて処理されるオペランドデータDATAを含む。
【0031】
図1に戻って、データ駆動型情報処理装置は記憶マイクロプロセッサ部1、入力ポートIAおよびIBならびに出力ポートOAおよびOBを有して外部とデータパケットの入出力を制御する入出力制御部2、および演算プロセッサ部3を含み、さらに外部データメモリ4Aおよび4Bを接続する。
【0032】
入出力制御部2は外部からデータパケットを受け、記憶マイクロプロセッサ部2または演算プロセッサ部3へ送り出す。
【0033】
記憶マイクロプロセッサ部1は各種のデータメモリに対する読出/書込、およびそれに伴う演算処理を行なう部分であり、後述する内蔵データメモリおよび外部データメモリ4Aまたは4Bをアクセスできる。
【0034】
演算プロセッサ部3は従来のデータ駆動型プロセッサと同様のものである。
該情報処理装置内に入出力制御部2を介して入力されたデータパケットは、記憶マイクロプロセッサ部1および演算プロセッサ部3に内蔵されたデータフロープログラムに従って実行されるが、その場合、プログラムによってはデータが記憶マイクロプロセッサ部1から演算プロセッサ部3に送られたり、逆に演算プロセッサ部3から記憶マイクロプロセッサ部1に送られてくることもある。情報処理装置内部で演算が終了したデータパケットは再び入出力制御部3に戻され、該情報処理装置外部に送出される。
【0035】
図3に図1の記憶マイクロプロセッサ部1の構造が示される。
図3において記憶マイクロプロセッサ部1は入出力制御部2および演算プロセッサ部3からの入力データパケットを処理して出力する入力処理部10、内蔵データメモリ18Aおよび18Bならびにデータキャッシュ19Aおよび19Bに関するアクセスを制御する内蔵メモリコントロール部14、外部データメモリ4Aおよび4Bに関するアクセスを制御する外部メモリコントロール部15、演算処理部16および予め主にデータメモリのアクセスに関するデータフロープログラムを記憶するプログラム記憶部17を含む。
【0036】
入力処理部10はさらに、アドレス修飾子定数部11、アドレス修飾子演算部12および分岐部13を含む。
【0037】
図示されるように外部データメモリ、内蔵データメモリおよびデータキャッシュがそれぞれ2個ずつ準備されるのは各メモリの組について2つのメモリを交互にアクセスして(インタリーブして)、メモリの高速アクセスを達成するためである。
【0038】
アドレス修飾子定数部11はメモリを有し、このメモリにアドレス修飾のための定数値を予め記憶し、入力されたデータパケットに関してアドレス計算のための定数値を与える。
【0039】
アドレス修飾子演算部12では、定数部11で与えられた定数値とデータパケット中のアドレス値(世代情報102)から、内蔵または外部メモリをアクセスするためのアドレスが計算される。
【0040】
演算部12がアドレス算出後、分岐部13はデータパケットの命令コードOPCに基づいてアクセスするアドレスが内蔵される側のメモリ(メモリ18Aおよび18B、ならびにデータキャッシュ19Aおよび19B)と判断した場合、データパケットは内蔵メモリコントロール部14に送られ、アクセスするアドレスが外部データメモリ4Aおよび4Bと判断された場合、データパケットは外部メモリコントロール部15に送られ、アクセスするアドレスが内蔵されるメモリ(メモリ18Aおよび18B、ならびにデータキャッシュ19Aおよび19B)と外部データメモリ4Aおよび4Bの両方であると判断した場合は、データパケットは内蔵メモリコントロール部14および外部メモリコントロール部15の両方に送られる。
【0041】
その後、アクセスして得られた結果を格納したデータパケットは演算処理部16に送られ、演算結果を格納したデータパケットが送出される。演算処理部16では、メモリアクセス後のデータを対象としてのみ演算が行なわれており、それ以外の演算は演算プロセッサ部3で行なわれる。
【0042】
演算後のデータパケットはプログラム記憶部17に送出されて、ここで該データパケットの内容に従って予め記憶されたデータフロープログラムから次位のプログラムデータが読出されて、該データパケットに格納される。
【0043】
そして、該データパケット中の行先情報101が記憶マイクロプロセッサ部1の内部を示すならば、データパケットはアドレス修飾子定数部11へ送られる。
また、行先情報101が演算プロセッサ部3を示すならば、記憶マイクロプロセッサ部1の外部へ出力されて演算プロセッサ部3に送られる。さらに行先情報101がデータ駆動型情報処理装置の外部を示すならば、入出力制御部2を経由して該装置の外部に出力される。
【0044】
図4に図1の入出力制御部2の構造が示される。
図4において入出力制御部2はデータパケットの経路を制御するルータ部20および26、データパケットを合流させて出力する合流部21および23、入力処理部22,分岐部25および出力処理部24を含む。
【0045】
ルータ部20は、該情報処理装置の外部から2つの入力ポートIAおよびIBに与えられるデータパケットごとにその行先情報101を識別し、行先情報101が該装置外部を示すのであれば該パケットをルータ部26へ、行先情報101が該装置内部を示すのであれば該パケットを合流部21に送出する。
【0046】
合流部23は、記憶マイクロプロセッサ部1と演算プロセッサ部3からの入力データパケットを合流させて順次出力処理部24に送出する。
【0047】
出力処理部24では入力データパケットを情報処理装置内部のデータ形式から情報処理装置外部のデータ形式に変換して分岐部25に送出する。
【0048】
分岐部25は、入力データパケットの行先情報101が情報処理装置外であれば該データパケットをルータ部26へ送出し、行先情報101が情報処理装置内であれば該データパケットを合流部21に送出する。
【0049】
ルータ部26は入力パケットをその行先情報101に基づいて出力ポートOAおよびOBのいずれか一方を介して該情報処理装置外部に送出する。
【0050】
合流部21は、与えられる入力データパケットを合流させて順次入力処理部22に送出する。
【0051】
入力処理部22では入力データパケットを情報処理装置外部のデータ形式から情報処理装置内部のデータ形式に変換しながら、その行先情報101に基づいて記憶マイクロプロセッサ部1および演算プロセッサ部3のいずれか一方に送出する。
【0052】
図5に図1の演算プロセッサ部3の構造が示される。
図5において演算プロセッサ部3は合流部30および31、対データ生成部/定数部32、演算処理部33、プログラム記憶部34および分岐部35を含む。
【0053】
対データ生成部/定数部32、演算処理部33およびプログラム記憶部34におけるデータ処理は、前述の文献「動的データ駆動型プロセッサによる並列処理方式の検討」において詳述されているので、ここではこれらの説明は簡単に行なう。
【0054】
合流部30は、入出力制御部2と分岐部35から与えられるデータパケットを順次入力し合流部31に送出する。
【0055】
合流部31は合流部30と記憶マイクロプロセッサ部1から与えられるデータパケットを順次入力して対データ生成部/定数部32に送出する。
【0056】
対データ生成部/定数部32は、合流部31から与えられるデータパケットを順次入力して演算可能なオペランドデータDATAの対を生成するか、定数部に対応の定数データがある場合は入力パケットのオペランドデータDATAと定数データとで対を生成して、生成されたデータ対を格納したデータパケットを演算処理部33に送出する。
【0057】
演算処理部33は対データ生成部/定数部32から与えられるデータパケットを入力して、該入力パケット中のオペランドデータ対を該入力パケット中の命令情報100に従って処理して、結果データを格納したデータパケットをプログラム記憶部34に送出する。
【0058】
プログラム記憶部34は予めデータフロープログラムを記憶する。そして演算処理部33から与えられるデータパケットを入力すると、そのノード番号ND♯および世代情報102に基づいてプログラムから次位のプログラムデータを読出して該入力パケットに格納し、これを分岐部35に送出する。
【0059】
分岐部35はプログラム記憶部34から与えられるデータパケットを入力すると、その行先情報101に基づいて、該入力パケットを合流部30、記憶マイクロプロセッサ部1および入出力制御部2のいずれかに送出する。
【0060】
図3に示されたように、記憶マイクロプロセッサ部1はプログラム記憶部17を有して、該情報処理装置におけるデータメモリのアクセスに関するプログラム制御を、演算プロセッサ部3側のプログラム記憶部34に記憶されたプログラムの制御を介することなく行なうことが可能となる。
【0061】
したがって、演算プロセッサ部3側の演算処理と並列に記憶マイクロプロセッサ部1側のデータメモリのアクセス処理が可能となった分、従来に比較し演算プロセッサ部3側の負荷が軽減されるとともに、該情報処理装置における処理速度が向上する。
【0062】
また、記憶マイクロプロセッサ部1は入力処理部10、内蔵メモリコントロール部14および外部メモリコントロール部15を含んで、データメモリ18Aおよび18B、データキャッシュ19Aおよび19B、ならびに外部データメモリ4Aおよび4Bへの同時かつ並列アクセスを可能としている。このメモリアクセスの詳細について、特に高速処理が望まれ、かつ扱うデータも大量である画像データ処理を例にし、内蔵および外部のデータメモリとしてビデオメモリを想定しながら説明する。
【0063】
図6は、この発明の一実施例による画像データの構造を示す図である。図示されるように画像データは複数の画面(フィールド)からなり、各画面は複数の画素データが2次元(ピクセル方向,ライン方向)に配列されて、各画像データ中の画素データはデータメモリ上においてはアドレス(フィールド,ピクセル方向,ライン方向)で一意に識別(アドレス指定)される。
【0064】
画像データ処理の特徴的な処理としてフィルタ処理がある。フィルタ処理では、画素データに関してピクセル方向に隣り合うデータ同士での比較、ライン方向に隣り合うデータ同士での比較および隣り合うフィールド同士での比較が行なわれる。そこで、本実施例では、画像データに関するピクセル方向の画素データの情報をデータキャッシュ19Aおよび19Bに、同じくライン方向の情報を内蔵データメモリ18Aおよび18Bに、さらに同じくフィールドの情報を外部データメモリ4Aおよび4Bに分割して格納する。
【0065】
なお、ここではデータメモリ上でピクセル方向に画素データを識別するためにピクセルアドレスpx,同様にライン方向に識別するためにラインアドレスlnおよびフィールド単位で識別するためにフィールドアドレスfdを用いる。
【0066】
次に、図7ないし図12を参照しながら本実施例によるメモリアクセス処理について説明する。
【0067】
なお、図7ないし図12の定数値(16ビット)は図3のアドレス修飾子定数部11によってアドレス修飾子演算部12に与えられる値であり、実行時のアドレス(24ビット)と定数値(16ビット)とからアクセスすべきアドレスを算出しデータパケットに格納し送出する動作はアドレス修飾子演算部12により行なわれる。
【0068】
図7(a)および(b)は、この発明の一実施例による内蔵データメモリおよび外部データメモリのアクセスを説明する図である。
【0069】
図7(a)に内蔵データメモリ18Aまたは18Bに対するアクセスの例が示される。このアクセスを行なうために命令コードOPCにはIVM(Internal Video Memory instruction)命令がセットされる。IVM命令によれば、内蔵データメモリ18Aまたは18Bの全域をアクセスできる。
【0070】
また、図7(a)に外部データメモリ4Aまたは4Bに対するアクセスの例が示される。このアクセスを行なうための命令コードOPCにはEVM(External Video Memory instruction)命令がセットされる。EVM命令によれば、外部データメモリ4Aまたは4Bの全域がアクセスできる。
【0071】
上述のIVMおよびEVM命令では、アクセスのためのアドレスは同じアドレスが使用されるが、メモリ本体は図3に示されるように内蔵/外部データメモリが別々に設けられているので、個別のアクセスが行なわれる。
【0072】
図7(b)にアドレス修飾子定数部11におけるアドレス修飾値(以下、単に定数値と呼ぶ)とアドレスとの関係が示される。実行時のアドレスはデータパケット中の世代情報102で表わされる。世代情報102で表わされる実行時のアドレスはデータメモリにおけるフィールドアドレスfd,ラインアドレスlnおよびピクセルアドレスpxにより示される。この世代情報102によりデータメモリ中の画像単位に分割されたデータをアクセスすることができる。
【0073】
実行時のアドレス(fd,ln,px)は、図3のアドレス修飾子定数部11における定数値(Δfd,Δln,Δpx)をオフセット値として、アドレス修飾子演算部12において内蔵データメモリ18Aまたは18Bと外部データメモリ4Aまたは4Bのアドレスに変換される。その後、内蔵メモリコントロール部14または外部メモリコントロール部15を介してこの変換アドレス(fd+Δfd,ln+Δln,px+Δpx)に基づいてそれぞれのデータメモリがアクセスされる。
【0074】
図8はこの発明の一実施例による内蔵および外部データメモリに対する同時アクセスを説明する図である。このアクセスを行なうための命令コードOPCにはCPX(ALU for Complex operation instruction)命令がセットされる。CPX命令では、定数値のうちピクセルオフセットΔpxのみが有効なので、データキャッシュ19Aまたは19Bのアクセスとなる。
【0075】
図9(a)および(b)はこの発明の一実施例による内蔵データメモリおよびデータキャッシュのうち同一のラインのアドレスに対するアクセスを説明する図である。
【0076】
このアクセスを行なうための命令コードOPCにはMDC/CL(Multiple access with Data Cache in Common Line) 命令がセットされる。MDC/CL命令では、定数値には内蔵データメモリのピクセルオフセット値ΔDmPxとデータキャッシュのピクセルオフセット値ΔDcPxとが別々に収められているので、内蔵データメモリ18Aまたは18Bとデータキャッシュ19Aまたは19Bについてそれぞれ別々のピクセルアドレスpxがアクセスされる。この場合、ラインアドレスlnについてはオフセット値はない。
【0077】
図10(a)および(b)はこの発明の一実施例による内蔵データメモリおよびデータキャッシュのうち同一のピクセルアドレスに対するアクセスを説明する図である。
【0078】
このアクセスを行なうための命令コードOPCにはMDC/CP(Multiple access with Data Cache in Common Pixel)命令がセットされる。MDC/CP命令では、定数値には内蔵データメモリ18Aまたは18Bのラインアドレスlnに対するオフセット値ΔDmLxのみが収められているので、内蔵データメモリ18Aまたは18Bのラインアドレスlnがアクセスされる。この場合、ピクセルアドレスpxについては内蔵データメモリ18Aまたは18Bとデータキャッシュ19Aまたは19Bに共通のピクセルオフセット値ΔPxとなる。
【0079】
図11(a)および(b)はこの発明の一実施例による外部データメモリおよび内蔵データメモリのうち同一のラインアドレスに対するアクセスを説明する図である。
【0080】
このアクセスを行なうための命令コードOPCにはMVM/CL(Multiple access with Video Memory in Common Line) 命令がセットされる。MVM/CL命令では、定数値には内蔵データメモリ18Aまたは18Bと外部データメモリ4Aまたは4Bのピクセルに対するオフセット値ΔDmPxおよびΔVmPxが別々に収められているので、内蔵データメモリ18Aまたは18Bと外部データメモリ4Aまたは4Bの別々のピクセルがアクセスされる。この場合、ラインアドレスlnについては内蔵データメモリ18Aまたは18Bと外部データメモリ4Aまたは4Bとが共通のオフセット値Δlnとなる。
【0081】
図12(a)および(b)はこの発明の一実施例による外部データメモリおよび内蔵データメモリのうち同一のピクセルアドレスに対するアクセスを説明する図である。
【0082】
このアクセスを行なうための命令コードOPCにはMVM/CP(Multiple access with Video Memory in Common Pixel)命令がセットされる。MVM/CP命令では、定数値には内蔵データメモリ18Aまたは18Bと外部データメモリ4Aまたは4Bのラインアドレスlnに対するオフセット値ΔDmlnとΔVmlnがそれぞれ別々に収められているので、内蔵データメモリ18Aまたは18Bと外部データメモリ4Aまたは4Bの別々のラインアドレスがアクセスされる。この場合、ピクセルアドレスpxについては内蔵データメモリ18Aまたは18Bと外部データメモリ4Aまたは4Bとが共通のオフセット値ΔPxとなる。
【0083】
図1、図3および図5に示されたように記憶マイクロプロセッサ部1および演算プロセッサ部3にそれぞれ独自のプログラム記憶領域が設けられているので、図7ないし図12に示されたようなメモリアクセスがホスト側の演算プロセッサ部3を介することなく、並列に実行可能となる。
【0084】
また、従来複数のデータメモリへのアクセスのために複数のメモリインタフェースが準備されていたのに対し、本実施例によれば、単一の記憶マイクロプロセッサ部3により複数の異なるデータメモリへの同時アクセスが可能となる。
【0085】
また、図9および図10に示されたように、内蔵データメモリ18Aまたは18Bと内蔵のデータキャッシュ19Aまたは19Bとを同時並列にアクセスすることが可能となる。
【0086】
さらに、アドレス修飾子定数部11およびアドレス修飾子演算部12により複数のアドレス修飾機構を持つことが可能となって、複数のデータメモリの異なるアドレスに対する同じアクセスが同時、かつ並列に可能となる。
【0087】
【発明の効果】
請求項1に係るデータ駆動型情報処理装置によれば、メモリ制御部のアクセス手段において単一アクセス時間で複数のデータメモリが同時アクセスされるので、各データメモリに対するアクセスを含む該処理装置自体の処理の高速化を図ることができる。
【0088】
また、メモリ制御部はデータフロープログラムを記憶するためのプログラム記憶手段を有しているので、処理部の制御とは独立してデータメモリをアクセスするためのプログラム制御が可能となる。これにより処理部の負荷が軽減されて、処理部における処理の高速化が可能となる。
【0089】
請求項2に係るデータ駆動型情報処理装置によれば、請求項1に係る情報処理装置において、メモリ制御部の入力手段がさらにアドレス修飾子記憶手段とアドレス修飾子演算手段とを有して、並列アクセス時に複数のデータメモリにまたがるアドレス修飾が可能となる。
【0090】
請求項3に係るデータ駆動型情報処理装置によれば、請求項1または2に係る情報処理装置において、内蔵データメモリは複数のアクセス速度の異なるデータメモリを含むので、外部および内蔵データメモリの並列アクセスが可能となるとともに、さらにアクセス速度の異なる内蔵するデータメモリのそれぞれについての並列アクセスも可能となる。
【図面の簡単な説明】
【図1】この発明の一実施例によるデータ駆動型情報処理装置の概略構成図である。
【図2】(a)および(b)は、図1のデータ駆動型情報処理装置の入出力パケットのフォーマット図である。
【図3】図1の記憶マイクロプロセッサ部の構造図である。
【図4】図1の入出力制御部の構造図である。
【図5】図1の演算プロセッサ部の構造図である。
【図6】この発明の一実施例による画像データの構造を示す図である。
【図7】(a)および(b)はこの発明の一実施例による内蔵データメモリおよび外部データメモリのアクセスを説明する図である。
【図8】この発明の一実施例による内蔵および外部データメモリに対する同時アクセスを説明する図である。
【図9】(a)および(b)はこの発明の一実施例による内蔵データメモリおよびデータキャッシュのうち同一のラインのアドレスに対するアクセスを説明する図である。
【図10】(a)および(b)はこの発明の一実施例による内蔵データメモリおよびデータキャッシュのうち同一のピクセルのアドレスに対するアクセスを説明する図である。
【図11】(a)および(b)はこの発明の一実施例による外部データメモリおよび内蔵データメモリのうち同一のラインのアドレスに対するアクセスを説明する図である。
【図12】(a)および(b)はこの発明の一実施例による外部データメモリおよび内蔵データメモリのうち同一のピクセルのアドレスに対するアクセスを説明する図である。
【図13】従来のデータ駆動型プロセッサと外部データメモリとの接続状態を示す図である。
【図14】従来の複数のデータ駆動型プロセッサのそれぞれと外部データメモリの接続状態を示す図である。
【図15】従来のデータ駆動型プロセッサに関するメモリインタフェースの構成図である。
【符号の説明】
1 記憶マイクロプロセッサ部
2 入出力制御部
3 演算プロセッサ部
4Aおよび4B 外部データメモリ
10 入力処理部
11 アドレス修飾子定数部
12 アドレス修飾子演算部
14 内蔵メモリコントロール部
15 外部メモリコントロール部
16 演算処理部
17 プログラム記憶部
18Aおよび18B 内蔵データメモリ
19Aおよび19B データキャッシュ
32 対データ生成部/定数部
33 演算処理部
34 プログラム記憶部
102 世代情報
fd フィールドアドレス
ln ラインアドレス
px ピクセルアドレス
Δfd フィールドオフセット値
Δln ラインオフセット値
Δpx ピクセルオフセット値
なお、各図中同一符号は同一または相当部分を示す。
Claims (3)
- 第1のデータフロープログラムを予め記憶してデータ駆動型情報処理を実行する処理部と、
内蔵する内蔵データメモリおよび外部に接続する外部データメモリを有し、前記処理部と入出力するメモリ制御部とを備え、
前記処理部は、
与えられるデータパケットを入力し、該入力データパケットの内容を処理し、前記第1データフロープログラム中の次位のプログラムデータおよび該処理の結果を格納したデータパケットを出力する処理部側演算手段を有し、
前記メモリ制御部はさらに、
与えられるデータパケットを入力し処理し出力する入力手段と、
前記入力手段から入力したデータパケットの内容に基づいて前記内蔵データメモリまたは前記外部データメモリをアクセスし、該入力データパケットにアクセス結果を格納して出力するアクセス手段と、
前記アクセス手段から入力したデータパケット中の前記アクセス結果を該データパケットの内容に従って演算するメモリ側演算手段と、
第2のデータフロープログラムを予め記憶し、前記第2データフロープログラム中の次位のプログラムデータおよび前記メモリ側演算手段による前記演算の結果を格納したデータパケットを出力するプログラム記憶手段とを有し、
前記アクセス手段は、
分岐部と、
与えられるデータパケットの内容に基づいて前記内蔵データメモリをアクセスするための内蔵メモリコントロール部と、
与えられるデータパケットの内容に基づいて前記外部データメモリをアクセスするための外部メモリコントロール部とを含み、
前記分岐部は、入力したデータパケットの命令コードに基づいて入力データパケットを前記内蔵データメモリコントロール部のみに、または前記外部データメモリコントロール部のみに、または並行アクセスのために前記内蔵メモリコントロール部および前記外部メモリコントロール部の両方に出力することを特徴とす る、データ駆動型情報処理装置。 - 前記入力手段は、
前記内蔵データメモリまたは前記外部データメモリに関するアドレス修飾のためのデータを予め記憶するアドレス修飾子記憶手段と、
前記与えられるデータパケットを入力し、該入力データパケットの内容と前記アドレス修飾子記憶手段に記憶された前記アドレス修飾データとに基づいて前記並行アクセスのためのアドレスを算出し、該入力データパケットに前記算出されたアドレスを格納し出力するアドレス修飾子演算手段とを備えた、請求項1に記載のデータ駆動型情報処理装置。 - 前記内蔵データメモリは、
複数のアクセス速度の異なるデータメモリを含む、請求項1または2に記載のデータ駆動型情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08676495A JP3698754B2 (ja) | 1995-04-12 | 1995-04-12 | データ駆動型情報処理装置 |
US08/618,376 US5956517A (en) | 1995-04-12 | 1996-03-19 | Data driven information processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08676495A JP3698754B2 (ja) | 1995-04-12 | 1995-04-12 | データ駆動型情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08287038A JPH08287038A (ja) | 1996-11-01 |
JP3698754B2 true JP3698754B2 (ja) | 2005-09-21 |
Family
ID=13895822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08676495A Expired - Fee Related JP3698754B2 (ja) | 1995-04-12 | 1995-04-12 | データ駆動型情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5956517A (ja) |
JP (1) | JP3698754B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10333971A (ja) * | 1997-05-28 | 1998-12-18 | Sony Corp | データ演算装置 |
JP3488812B2 (ja) | 1997-08-28 | 2004-01-19 | シャープ株式会社 | データ伝送路 |
JP2000013713A (ja) | 1998-06-19 | 2000-01-14 | Sharp Corp | 映像信号処理装置およびそれを用いたテレビジョン受信装置 |
JP3853098B2 (ja) | 1999-01-18 | 2006-12-06 | シャープ株式会社 | データ駆動型情報処理システム |
JP3766779B2 (ja) * | 2000-03-31 | 2006-04-19 | シャープ株式会社 | 自己同期型データ伝送装置およびこれを用いたデータ駆動型情報処理装置 |
JP3995868B2 (ja) | 2000-06-12 | 2007-10-24 | シャープ株式会社 | 誤差拡散演算装置 |
US7031992B2 (en) * | 2000-09-08 | 2006-04-18 | Quartics, Inc. | Hardware function generator support in a DSP |
JP4093741B2 (ja) | 2001-10-03 | 2008-06-04 | シャープ株式会社 | 外部メモリ制御装置およびそれを含んだデータ駆動型情報処理装置 |
JP4315626B2 (ja) * | 2001-11-16 | 2009-08-19 | シャープ株式会社 | データ駆動型情報処理装置のメモリ制御部における情報処理方法 |
US20030105799A1 (en) * | 2001-12-03 | 2003-06-05 | Avaz Networks, Inc. | Distributed processing architecture with scalable processing layers |
US20030112758A1 (en) * | 2001-12-03 | 2003-06-19 | Pang Jon Laurent | Methods and systems for managing variable delays in packet transmission |
CN101151840B (zh) * | 2005-01-10 | 2011-09-21 | 四次方有限公司 | 用于依据指令处理媒体的单芯片媒体处理器 |
US8360052B2 (en) * | 2008-09-30 | 2013-01-29 | Martin E Nix | Half parabolic dish reflector with planar reflector solar smelter |
DE102017005972A1 (de) * | 2017-06-23 | 2018-12-27 | Stefan Andreas Widmann | Vorrichtung und Verfahren zur gerätetechnischen Erkennung von Datenflussfehlern in Daneverarbeitungseinheiten und-systemen |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5125097A (en) * | 1988-01-29 | 1992-06-23 | Sharp Kabushiki Kaisha | Data flow type information processors where data packets pass through plurality of merging and branching portions of the internal path |
US5497344A (en) * | 1989-01-26 | 1996-03-05 | Sharp Kabushiki Kaisha | Data flow type information processor |
US5323387A (en) * | 1989-03-23 | 1994-06-21 | Sharp Kabushiki Kaisha | Data transmission apparatus |
JP2568452B2 (ja) * | 1990-02-27 | 1997-01-08 | シャープ株式会社 | データフロー型情報処理装置 |
JP2632074B2 (ja) * | 1990-07-11 | 1997-07-16 | シャープ株式会社 | データフロー型情報処理装置 |
JP2744724B2 (ja) * | 1991-10-03 | 1998-04-28 | シャープ株式会社 | データフロー型システムにおけるパケット収集回路 |
US5454115A (en) * | 1991-12-25 | 1995-09-26 | Sharp Kabushiki Kaisha | Data driven type processor having data flow program divided into plurality of simultaneously executable program groups for an N:1 read-out to memory-access ratio |
US5404558A (en) * | 1992-02-17 | 1995-04-04 | Sharp Kabushiki Kaisha | Data driven type information processor having a plurality of memory banks |
JPH0628499A (ja) * | 1992-07-07 | 1994-02-04 | Sharp Corp | データ駆動型情報処理装置 |
US5586281A (en) * | 1992-10-27 | 1996-12-17 | Sharp Kabushiki Kaisha | Data driven type information processing apparatus |
JP3287901B2 (ja) * | 1993-03-12 | 2002-06-04 | シャープ株式会社 | データ駆動型情報処理システムにおける識別データ確認方法 |
-
1995
- 1995-04-12 JP JP08676495A patent/JP3698754B2/ja not_active Expired - Fee Related
-
1996
- 1996-03-19 US US08/618,376 patent/US5956517A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08287038A (ja) | 1996-11-01 |
US5956517A (en) | 1999-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3698754B2 (ja) | データ駆動型情報処理装置 | |
AU747283B2 (en) | Data processing system for logically adjacent data samples such as image data in a machine vision system | |
JP3593346B2 (ja) | マルチポートメモリ及びそれをアクセスするデータ処理装置 | |
JP3075184B2 (ja) | 演算処理機能付主記憶システム及びその制御方法 | |
JPH08272771A (ja) | データ駆動型情報処理装置 | |
JPS63201851A (ja) | バッファ記憶アクセス方法 | |
JPH11306084A (ja) | 情報処理装置及び記憶媒体 | |
JPS6023384B2 (ja) | アレイ・プロセツサにおける内部メモリ制御方式 | |
JP4052878B2 (ja) | 情報処理装置 | |
JPH06324999A (ja) | マルチプロセッサシステム | |
JP2842024B2 (ja) | レジスタファイル回路 | |
JP4315626B2 (ja) | データ駆動型情報処理装置のメモリ制御部における情報処理方法 | |
JPS60146362A (ja) | ベクトルレジスタの構成方式 | |
JPS61282933A (ja) | デイジタル信号処理プロセツサ | |
JPH10247182A (ja) | マルチプロセッサシステム | |
JPH02226447A (ja) | コンピユータ・システムおよびその記憶装置アクセス方法 | |
JPS62172451A (ja) | デ−タ処理装置 | |
JPH0724049B2 (ja) | データ処理装置 | |
JPH01306967A (ja) | ベクトルデータ制御方式 | |
JPS61109145A (ja) | メモリアドレス算出方式 | |
JPH07325913A (ja) | 情報処理システム | |
JPH06203186A (ja) | データ駆動型情報処理装置 | |
JPS5831619B2 (ja) | アドレス拡張処理方式 | |
JPH01229334A (ja) | 仮想計算機システム | |
JPH0830503A (ja) | プラント監視装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20030527 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050706 |
|
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: 20080715 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090715 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100715 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110715 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |