(57)【特許請求の範囲】
【請求項１】
少なくとも対データ生成部とメモリ制御部とデータメモリとを含むデータ駆動型情報処理装置の前記メモリ制御部における情報処理方法であって、
前記情報処理方法は、前記対データ生成部から出力されたデータパケットを入力する入力ステップを含み、
前記データパケットは、ページアドレスと有効なビットを設定するための設定値とデータとを含み、前記設定値により、ページアドレスを指定するためのビット数と、ページ内のメモリ領域を指定するためのビット数を自在に設定することができ、前記情報処理方法はさらに、
前記入力されたデータパケットに含まれるデータと、前記設定値に対応するマスク値との論理積演算を行なって有効なデータを取出す処理ステップと、
前記取出した有効なデータと、前記データパケットに含まれるページアドレスと前記設定値に対応するマスク値をビット反転した値との論理積演算を行なって得られた値との論理和演算を行なって、前記データメモリをアクセスするためのアドレスを決定する決定ステップとを含む、情報処理方法。
【請求項２】
少なくとも対データ生成部とメモリ制御部とデータメモリとを含むデータ駆動型情報処理装置の前記メモリ制御部における情報処理方法であって、
前記情報処理方法は、前記対データ生成部から出力されたデータパケットを入力する入力ステップを含み、
前記データパケットは、ページアドレスと有効なビットを設定するための設定値とデータとを含み、前記設定値により、ページアドレスを指定するためのビット数と、ページ内のメモリ領域を指定するためのビット数を自在に設定することができ、前記情報処理方法はさらに、
前記入力されたデータパケットに含まれるデータと、前記設定値に対応するマスク値との論理積演算を行なって有効なデータを取出す処理ステップと、
前記取出した有効なデータと、前記データパケットに含まれるページアドレスとを加算して、前記データメモリをアクセスするためのアドレスを決定する決定ステップとを含む、情報処理方法。
【請求項３】
前記データパケットは、命令コード領域と、ノード領域と、前記有効なデータを取出すときに使用されるデータを格納する世代番号領域と、前記ページアドレスを格納するページアドレス領域と、データ領域と、前記有効なビットを設定するための設定値を格納する有効ビット設定値格納領域とから構成されるデータパケットである、請求項１または２に記載の情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、データ駆動型プロセッサから入力される入力データパケットに応答して、画像メモリをアクセスしてその結果を出力するためのメモリ制御部に関し、特に、動的データ駆動型プロセッサから出力され、入力時間順序に付けられる世代番号が付された入力データパケットに応答して、その世代番号をアドレスとして画像メモリなどの内容をアクセスし結果を出力するためのメモリ制御部に関する。
【０００２】
【従来の技術】
近時、たとえば画像処理などの分野で、プロセッサの動作速度を向上させることに対する要求が高まっている。このようなプロセッサの高速化に対する解決の１手段として並列処理が有力視されている。並列処理向きアーキテクチャのうちでも、データ駆動型とよばれるアーキテクチャが特に注目される。
【０００３】
データ駆動型プロセッサでは、「ある処理に必要な入力データがすべて揃い、かつその処理に必要な演算装置などの資源が割当てられたときに処理を行なう」という単純な規則に従って処理が進行する。このアーキテクチャを実現するために必要となる技術として、入力データが揃ったこと（発火）を検出するための機構がある。この発火検出の際に、ある処理に対して１組の入力データしか許さないものを静的データ駆動方式、２組以上の入力データセットを許すものを動的データ駆動方式と呼ぶ。
【０００４】
映像信号処理などの時系列データを処理する際には、静的データ駆動方式では十分に対応できず、動的アーキテクチャを採用することが必要であると考えられる。この際、ある処理に対して複数の入力セットが存在するために、これら複数の入力セットを識別するための世代識別子などの概念を導入する必要がある。以下の説明では、この世代識別子のことを世代番号と呼ぶ。
【０００５】
上述のような映像処理向きデータ駆動型情報処理装置の一例が、「動的データ駆動型プロセッサによる並列処理方式の検討」（情報処理学会、マイクロコンピュータアーキテクチャシンポジューム、１９９１．１１．１２）に示されている。
【０００６】
図６を参照して、データ駆動型情報処理装置のシステム構成について説明する。図６に示すように、このシステムは、データ駆動型情報処理装置１０００と画像メモリ部１１００とを含み、画像メモリ部１１００は、画像メモリ１２００とメモリインターフェイス１３００とを含む。データ駆動型情報処理装置１０００は、データ伝送路１００６、１００８にそれぞれ接続された入力ポート１００２、１００４と、データ伝送路１０１６、１０１８にそれぞれ接続された出力ポート１０１２、１０１４と、メモリインターフェイス１３００との間のデータ伝送路１０２６に接続された出力ポート１０２２、メモリインターフェイス１３００との間のデータ伝送路１０２８に接続された入力ポート１０２４を有する。
【０００７】
データ駆動型情報処理装置１０００には、入力ポート１００２、１００４を介して、入力時間順序に従って付加される識別子である世代番号を有する入力データパケットが時系列的に入力される。データ駆動型情報処理装置１０００は、予め定められた処理が記憶されており、記憶された内容に基づいて処理が実行される。
【０００８】
メモリインターフェイス１３００は、データ駆動型情報処理装置１０００の出力ポート１０２２から出力される、画像メモリ１２００に対するアクセス要求（画像メモリに記憶されたデータの参照または更新などの要求）をデータ伝送路１０２６を介して受信する。メモリインターフェイス１３００は、メモリアクセス制御線を介して、画像メモリ１２００に対してアクセスして、その結果をデータ伝送路１０２８を介して、データ駆動型情報処理装置１０００の入力ポート１０２４に送信する。
【０００９】
データ駆動型情報処理装置１０００は、入力データパケットに対する処理が終了した後に、出力ポート１０１２、１０１４を介して、データ伝送路１０１６、１０１８に出力データパケットを出力する。
【００１０】
図７を参照して、データ駆動型情報処理装置１０００の内部構成について説明する。図７に示すように、データ駆動型情報処理装置１０００は、合流部１５００と、合流部１５００に接続された発火制御部１５０２と、発火制御部１５０２に接続されたメモリ制御部１５０４と、メモリ制御部１５０４に接続された演算部１５０６と、演算部１５０６に接続されたプログラム記憶部１５０８と、プログラム記憶部１５０８に接続された分岐部１５１０とを含む。分岐部１５１０は、合流部１５００にも接続されている。
【００１１】
データ伝送路１００６、１００８に接続された入力ポート１００２、１００４に入力された入力データパケットは、合流部１５００を介して発火制御部１５０２に格納される。発火制御部１５０２は、待ち合わせ用のメモリを有し、入力データパケットと対になっているデータパケットが入力されるまで、先に入力された入力データパケットをそのメモリに待機させる。発火制御部１５０２は、対になる入力データパケットが揃ったら、それらの入力データパケットをメモリ制御部１５０４に移動させる。メモリ制御部１５０４は、入力データパケットに含まれるタグ情報またはデータに基づいて、内蔵されたメモリまたは画像メモリ１２００に対するアクセス要求を実行し、メモリに記憶されたデータを参照したり更新したりする。演算部１５０６は、入力データパケットに含まれる命令コードに従って処理を選択して、選択された処理に対応する演算を実行する。演算された結果がプログラム記憶部１５０８に送信される。プログラム記憶部１５０８は、次に実行される命令コードとノード番号とが記憶されたプログラムメモリを含む。このノード番号をアドレスとしてプログラムメモリへのアクセスが実行される。
【００１２】
図８に入力データパケットのパケット構成を示す。入力データパケットは、上位ビットから順に、命令コード、ノード番号、世代番号、左右属性フラグ、データ（第１のデータ、第２のデータ、…）を含む。命令コードは、命令デコーダに格納されている命令を読み出して実行するために、格納されている命令を特定するためのコードである。ノード番号は、プログラム記憶部１５０８に含まれるプログラムメモリに格納されている命令コードとノード番号とを参照するためのアドレスとして使用される。世代番号は、入力データパケットを識別するための識別子として使用される。なお、世代番号は、画像アドレスとして使用することもでき、その場合、世代番号は上位ビットから順に、フィールド番号、ライン番号、ピクセル番号を示すことになる。
【００１３】
このようなシステムにおいて、内蔵メモリをLook-up-tableのように機能させる場合、データ領域または世代番号領域に記憶されたデータをアドレスとして使用していた。複数のプログラムで内蔵メモリを共用する場合、命令コードの一部などに予め領域を確保し、その領域に記憶されたデータを識別子としてアドレスの上位にページアドレスとして付加していた。このようにして、プログラムごとに予め定められたアドレスに基づいて、メモリの使用範囲を決定していた。
【００１４】
図９に、世代番号（ＧＥ＃）とデータ（ＤＡＴＡ（０））と定数（ＣＳＴ）とをそれぞれの格納領域に含む、発火後のデータパケットのパケット構成を示す。なお、図９に示すデータパケットにおいては、説明を簡略にするために、命令コード領域、ノード番号領域およびＤＡＴＡ（０）以外のデータを省略している。図９に示すように、世代番号領域の中からメモリのアクセスに必要なアドレス信号の下位ビット（この場合１６ビット）に使用するビットを世代番号（ＧＥ＃）にマスク処理することにより取出す（ＭＡＳＫＥＤ  ＡＤＤＲＥＳＳ）。定数領域の下位３ビットに記憶されたページアドレス（ＰＡ）を、ページアドレスとして、ＭＡＳＫＥＤ  ＡＤＤＲＥＳＳの上位に付加して、メモリをアクセスするための１９ビットのアドレス信号を生成する。すなわち、１６ビットの世代番号をメモリのアドレスとし、そのアドレスの上位に、定数領域の下位３ビットをページアドレスとして付加し、１９ビットのアドレス信号を生成している。
【００１５】
このようにアドレス信号が生成される場合に、ページ数を変更またはページにより分割されるメモリの領域を変更してメモリ領域を有効的に活用するために、ページアドレスを可変にする必要がある。この場合、世代番号に対して演算を行ない、その演算された結果に基づいて、メモリをアクセスすることになる。
【００１６】
図１０に、入力された入力データパケットの世代番号に対して、ページアドレスを１ビット増やして４ビットのページアドレスに変換するフローチャートを示す。
【００１７】
ステップ（以下、ステップをＳと略す。）１０００にて、データ伝送路１００６、１００８を介して、入力データパケットが入力される。入力された入力データパケットは、図９に示すようなパケット構成である。Ｓ１００２にて、世代番号（ＧＥ＃）と第１の定数との論理積演算が実行される。この論理積演算により、世代番号（ＧＥ＃）に第１の定数（０ｘ７ｆｆｆ、０１１１１１１１１１１１１１１１）を積算する論理積演算が実行される。これにより、世代番号は書き換えられ、マスクされて抽出された１６ビットの世代番号（ＧＥ＃）の第１６ビット（最上位の１ビット）は、強制的に「０」にされて、この後ページアドレスとして使用できるようになる。
【００１８】
Ｓ１００４にて、書き換えられた世代番号と第２の定数との論理和演算が実行される。ここでは、第１６ビットを「１」に変換すると想定する。世代番号（ＧＥ＃）に第２の定数（０ｘ８０００、１０００００００００００００００）を加算する論理和演算が実行される。これにより、世代番号は書き換えられ、世代番号の第１６ビット目が「１」になる。
【００１９】
Ｓ１００６にて、ＴＳＥＬ命令が実行される。このＴＳＥＬ命令は、書き換えられた世代番号の上位に、第３の定数（図９に示す定数領域の下位３ビットで表わされるページアドレス）を付加した１９ビットのアドレス信号に基づいて、内蔵メモリをアクセスして、メモリに格納されているデータを参照する。
【００２０】
図１１に示すように、このような処理により、世代番号領域の１ビット目から１５ビット目からなるアドレスと、入力データパケットに含まれる世代番号（ＧＥ＃）の第１６ビット目および定数領域の下位３ビットからなるページアドレスとにより、内蔵メモリをアクセスできる。このようにして、３ビットのページアドレスを４ビットに変換していた。
【００２１】
【発明が解決しようとする課題】
しかしながら、ページアドレスを固定にしているのでは、１つのアプリケーションで複数の処理を組み合わせる場合、各処理に使用されるメモリの容量が異なると、メモリの使用を最適化することができない。たとえば、ページアドレスが３ビットの場合、アプリケーションでメモリを使用すると、メモリの使用容量に関わらず、８つの用途でしか使用することができない。また、上述したようにページアドレスを、たとえば３ビットから４ビットに変換するのでは、図１０に示した３命令から構成される処理を実行しなければならず、処理速度が落ちる。
【００２２】
本発明は、上述の課題を解決するためになされたものであって、処理速度を落とさずに、メモリを有効的に使用できる、データ駆動型情報処理装置のメモリ制御部における情報処理方法を提供することである。
【００２３】
【課題を解決するための手段】
第１の発明に係る情報処理方法は、少なくとも対データ生成部とメモリ制御部とデータメモリとを含むデータ駆動型情報処理装置のメモリ制御部における情報処理方法である。情報処理方法は、対データ生成部から出力されたデータパケットを入力する入力ステップを含み、データパケットは、ページアドレスと有効なビットを設定するための設定値とデータとを含み、設定値により、ページアドレスを指定するためのビット数と、ページ内のメモリ領域を指定するためのビット数を自在に設定することができ、情報処理方法はさらに、入力されたデータパケットに含まれるデータと、設定値に対応するマスク値との論理積演算を行なって有効なデータを取出す処理ステップと、取出した有効なデータと、データパケットに含まれるページアドレスと設定値に対応するマスク値をビット反転した値との論理積演算を行なって得られた値との論理和演算を行なって、データメモリをアクセスするためのアドレスを決定する決定ステップとを含む。
【００３４】
第１の発明によると、入力ステップにて、ページアドレスと有効なビットを設定するための設定値とデータとを含むデータパケットが入力される。処理ステップは、データパケットに含まれるデータ（たとえば、世代番号）と、設定値（たとえば、有効なビットを表わす設定値）に対応するマスク値との論理積演算を行なって有効なデータ（メモリのアドレス）を取出す。決定ステップは、取出したメモリのアドレスと、ページアドレスと設定値に対応するマスク値をビット反転した値との論理積演算を行なって得られた値との論理和演算を行なって、データメモリをアクセスするためのアドレス信号を決定する。これにより、従来のようにページアドレスのビットに制限がなく、メモリ空間をページに分割して有効的に使用することができる。この際、従来のような演算が必要でない。その結果、処理速度を落とさずに、メモリを有効的に使用できる、データ駆動型情報処理装置における情報処理方法を提供することができる。
【００３７】
第２の発明に係る情報処理方法は、少なくとも対データ生成部とメモリ制御部とデータメモリとを含むデータ駆動型情報処理装置のメモリ制御部における情報処理方法であって、情報処理方法は、対データ生成部から出力されたデータパケットを入力する入力ステップを含み、データパケットは、ページアドレスと有効なビットを設定するための設定値とデータとを含み、設定値により、ページアドレスを指定するためのビット数と、ページ内のメモリ領域を指定するためのビット数を自在に設定することができ、情報処理方法はさらに、入力されたデータパケットに含まれるデータと、設定値に対応するマスク値との論理積演算を行なって有効なデータを取出す処理ステップと、取出した有効なデータと、データパケットに含まれるページアドレスとを加算して、データメモリをアクセスするためのアドレスを決定する決定ステップとを含む。
【００３８】
第２の発明によると、取出した有効なデータであるメモリのアドレスにページアドレスを加算することができる。メモリのアドレスのビット数にページアドレスのビット数を加算したビット数の制限がなく、より有効的にメモリ空間を使用できる。
【００４１】
第３の発明に係る情報処理方法は、第１または２の発明の構成に加えて、データパケットが、命令コード領域と、ノード領域と、有効なデータを取出すときに使用されるデータを格納する世代番号領域と、ページアドレスを格納するページアドレス領域と、データ領域と、有効なビットを設定するための設定値を格納する有効ビット設定値格納領域とから構成されるものである。
【００４２】
第３の発明によると、データ駆動型情報処理装置におけるデータパケットは、通常、命令コード領域と、ノード領域と、世代番号領域と、ページアドレス領域と、データ領域とから構成される。この構成に有効なビットを設定するための設定値を格納する有効ビット設定値格納領域を加えたデータパケットを使用し、有効ビット設定値に含まれる設定値に基づいて取出したメモリのアドレスに、ページアドレスを付加して、データメモリをアクセスするためのアドレス信号を決定する。これにより、処理速度を落とさずに、メモリを有効的に使用できる。
【００４３】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００４４】
＜第１の実施の形態＞
図１を参照して、本実施の形態に係るアドレス生成部１００について説明する。このアドレス生成部１００は、データ駆動型情報処理装置１０００のメモリ制御部１５０４の内部に設けられる。アドレス生成部１００は、パイプラインレジスタ２００に格納された入力データパケットに対して演算を実行し、アドレス信号を生成して、出力レジスタ３００に出力する。
【００４５】
アドレス生成部１００は、パイプラインレジスタ２００に格納された有効ビット数に基づいてマスク値を算出する温度計型デコーダ１０４と、世代番号とマスク値との論理積演算を実行する論理積演算器１０２と、マスク値を反転させる反転器１０６と、反転されたマスク値とページアドレスとの論理積演算を実行する論理積演算器１０８と、論理積演算器１０２からの出力と論理積演算器１０８からの出力との論理和演算を実行する論理和演算器１１０とを含む。
【００４６】
温度計型デコーダ１０４は、たとえば、４ビットのデータを入力すると、予め定められた規則に従って１５ビットのデータを出力する。この入出力データについては後述する。
【００４７】
このアドレス生成部１００は、画像メモリ等の内蔵メモリをアクセスするためのアドレスの上位ビット（ページアドレス用のアドレスを格納するビット）のビット数を有効ビット数に基づいて設定するものである。本実施の形態においては、ページアドレスのビット数とページアドレス以外のアドレスのビット数とを加算したビット数は、有効ビット数によらず、一定であると想定する。
【００４８】
なお、以下の説明では、入力データパケットに有効ビット数が格納され、温度計型デコーダ１０４でマスク値にデコードされて、デコードされたマスク値に基づいてアドレスを生成する場合を説明するが、本発明はこれに限定されない。たとえば、入力データパケットにマスク値が格納され、温度計型デコーダ１０４によりデコードすることなく、入力データパケットに格納されたマスク値を用いてアドレスを生成するものであっても良い。
【００４９】
図２を参照して、本実施の形態に係るアドレス生成部１００で実行されるプログラムは、以下のような制御構造を有する。
【００５０】
Ｓ１００にて、アドレス生成部１００は、入力データパケットの入力を検知して、パイプラインレジスタ２００に入力データパケットを格納する。このとき格納される入力データパケットは、図１に示すように、世代番号記憶領域２０２、有効ビット数記憶領域２０４、ページアドレス記憶領域２０６およびデータ記憶領域２０８を含む。有効ビット数記憶領域２０４に記憶される有効ビット数およびページアドレス記憶領域２０６に記憶されるページアドレスは、予め定められた定数である。
【００５１】
Ｓ２００にて、アドレス生成部１００は、温度計型デコーダ１０４を用いて、有効ビット数をマスク値に変換する。このとき、４ビットの有効ビット数が温度計型デコーダ１０４に入力されると、図３に示すような１５ビットのマスク値が出力される。たとえば、温度計型デコーダ１０４に、「０１００」という有効ビット数が入力されると、「０００００００００００１１１１」というマスク値が出力される。
【００５２】
Ｓ３００にて、アドレス生成部１００は、論理積演算器１０２を用いて、温度計型デコーダ１０４からの出力であるマスク値と、世代番号（ＧＥ＃）との論理積演算を実行する。アドレス生成部１００は、反転器１０６を用いて、温度計型デコーダ１０４からの出力であるマスク値をビット反転する。アドレス生成部１００は、論理積演算器１０８を用いて、ビット反転されたマスク値とページアドレスとの論理積演算を実行する。アドレス生成部１００は、論理和演算器１１０を用いて、論理積演算器１０２からの出力と論理積演算器１０８からの出力との論理和演算を実行する。アドレス生成部１００は、論理和演算器１１０の出力を出力レジスタ３００のアドレス記憶領域３０２に格納する。なお、出力レジスタの世代番号記憶領域３０４には、パイプラインレジスタ２００の世代番号記憶領域２０２に格納された世代番号（ＧＥ＃）が格納される。また、出力レジスタのデータ記憶領域３０６には、パイプラインレジスタ２００のデータ記憶領域２０８に格納されたデータ（ＤＡＴＡ（０））が格納される。
【００５３】
以上のような構造およびフローチャートに基づく、アドレス生成部１００の動作について説明する。
【００５４】
パイプラインレジスタ２００に格納された入力データパケットの有効ビット数が、温度計型デコーダ１０４に入力されて、マスク値が作成される（Ｓ２００）。たとえば、有効ビット数が「００００」の場合、マスク値として「０００００００００００００００」が温度計型デコーダ１０４から出力される。論理積演算器１０２により、このマスク値と世代番号（ＧＥ＃）との論理積演算が実行される。マスク値が「０００００００００００００００」の場合、全ビットが強制的に「０」にされたデータが、論理積演算器１０２から出力される。
【００５５】
論理積演算器１０８により、反転器１０６によりマスク値をビット反転させたデータとページアドレスとのとの論理積演算が実行される。マスク値が「０００００００００００００００」の場合、ページアドレスの全ビットがそのままであるデータが、論理積演算器１０８から出力される。
【００５６】
論理和演算器１１０により、論理積演算器１０２から出力されたデータと論理積演算器１０８から出力されたデータとの論理和演算が実行される。マスク値が「０００００００００００００００」の場合、図３に示すように、メモリをアクセスするためのアドレス信号は、全ビットがページアドレスであるデータになる。
【００５７】
また、有効ビット数が「０００１」であると、マスク値が「００００００００００００００１」になり、このマスク値と世代番号（ＧＥ＃）との論理積演算が実行される。このとき、最下位ビット以外は強制的に「０」にされたデータが、論理積演算器１０２から出力される。最下位ビットは、世代番号（ＧＥ＃）の最下位ビットのデータである。このマスク値をビット反転させたデータとページアドレスとの論理積演算が実行される。このとき、ページアドレスの最下位ビットは強制的に「０」にされたデータが、論理積演算器１０８から出力される。最下位以外のビットは、ページアドレスの最下位以外のビットのデータである。論理積演算器１０２から出力されたデータと論理積演算器１０８から出力されたデータとの論理和演算が実行される。このとき、図３に示すように、メモリをアクセスするためのアドレス信号は、最下位ビットが世代番号（ＧＥ＃）の最下位ビットのデータであって、それ以外のビットはページアドレスの最下位以外のビットのデータである。
【００５８】
また、有効ビット数が「００１０」であると、マスク値が「０００００００００００００１１」になり、このマスク値と世代番号（ＧＥ＃）との論理積演算が実行される。このとき、最下位ビットから２ビット目まで以外は強制的に「０」にされたデータが、論理積演算器１０２から出力される。最下位ビットから２ビット目までは、世代番号（ＧＥ＃）の最下位ビットから２ビット目までのデータである。このマスク値をビット反転させたデータとページアドレスとの論理積演算が実行される。このとき、ページアドレスの最下位ビットから２ビット目までは強制的に「０」にされたデータが、論理積演算器１０８から出力される。最下位ビットから２ビット目まで以外のビットは、ページアドレスの最下位ビットから２ビット目まで以外のビットのデータである。論理積演算器１０２から出力されたデータと論理積演算器１０８から出力されたデータとの論理和演算が実行される。このとき、図３に示すように、メモリをアクセスするためのアドレス信号は、最下位ビットから２ビット目までが世代番号（ＧＥ＃）の最下位ビットから２ビット目までのデータであって、それ以外のビットはページアドレスの最下位ビットから２ビット目まで以外のビットのデータである。
【００５９】
以上のように、有効ビット数により、アドレス信号のページアドレスを指定するためのビット数と、ページ内のメモリ領域を指定するためのビット数を自在に設定できる。これにより、１つのプログラム内でのメモリの共用、複数のプログラムでのメモリの共用を行なう場合に、適切な有効ビット数またはマスク値を設定することで、プログラムで使用するページ数およびページ内のメモリ領域を有効に使用することができる。
【００６０】
＜第２の実施の形態＞
以下、本発明の第２の実施の形態について説明する。以下の説明において、前述の第１の実施の形態と同じ構成については同じ参照符号を付す。それらの機能も同じである。したがって、それらについての詳細な説明はここでは繰返さない。
【００６１】
図４を参照して、本実施の形態に係るアドレス生成部１２０について説明する。このアドレス生成部１００は、データ駆動型情報処理装置１０００のメモリ制御部１５０４の内部に設けられる。アドレス生成部１２０は、前述の第１の実施の形態に係るアドレス生成部１００の構成に対して、反転器１０６、論理積演算器１０８および論理和演算器１１０を有さず、加算器１２２を有する点が異なる。
【００６２】
加算器１２２は、論理積演算器１０２からの出力と論理積演算器１０８からの出力とを加算する。その演算の結果は、出力レジスタ３００のアドレス記憶領域３０２に格納される。
【００６３】
このアドレス生成部１２０は、画像メモリ等の内蔵メモリをアクセスするためのアドレスの上位ビット（ページアドレス用のアドレスを格納するビット）のビット数を有効ビット数に基づいて設定する点については、前述の第１の実施の形態と同じである。しかし、本実施の形態においては、ページアドレスのビット数とページアドレス以外のアドレスのビット数とを加算したビット数は、一定ではないと想定する。
【００６４】
本実施の形態に係るアドレス生成部１２０で実行されるプログラムは、以下のような制御構造を有する。なお、本実施の形態に係るアドレス生成部１２０で実行されるプログラムのフローチャートは、Ｓ３００における処理の内容を除いて、前述の第１の実施の形態と同じである。
【００６５】
Ｓ３００にて、アドレス生成部１２０は、論理積演算器１０２を用いて、温度計型デコーダ１０４からの出力であるマスク値と、世代番号（ＧＥ＃）との論理積演算を実行する。アドレス生成部１２０は、加算器１２２を用いて、論理積演算器１０２からの出力とページアドレスとの加算演算を実行する。アドレス生成部１２０は、加算器１２２の出力を出力レジスタ３００のアドレス記憶領域３０２に格納する。
【００６６】
これにより、世代番号（ＧＥ＃）から、有効ビット数により指定されたビット分のデータが取出され、これとページアドレスとが加算されて、アドレス信号が生成される。
【００６７】
以上のような構造およびフローチャートに基づく、アドレス生成部１２０の動作について説明する。
【００６８】
パイプラインレジスタ２００に格納された入力データパケットの有効ビット数が、温度計型デコーダ１０４に入力されて、マスク値が作成される（Ｓ２００）。たとえば、有効ビット数が「０００１」の場合、マスク値として「００００００００００００００１」が温度計型デコーダ１０４から出力される。論理積演算器１０２により、このマスク値と世代番号（ＧＥ＃）との論理積演算が実行される。マスク値が「００００００００００００００１」の場合、最下位ビット以外は強制的に「０」にされたデータが、論理積演算器１０２から出力される。最下位ビットは、世代番号（ＧＥ＃）の最下位ビットのデータである。加算器１２２により、ページアドレスに論理積演算器１０２から出力されたデータが加算される。このとき、図５に示すように、メモリをアクセスするためのアドレス信号は、ページアドレスに、世代番号（ＧＥ＃）の最下位ビットのデータを加えたデータである。
【００６９】
また、有効ビット数が「１０１１」の場合、マスク値として「００００１１１１１１１１１１１」が温度計型デコーダ１０４から出力される。論理積演算器１０２により、このマスク値と世代番号（ＧＥ＃）との論理積演算が実行される。マスク値が「００００１１１１１１１１１１１」の場合、最下位ビットから１１ビット目まで以外は強制的に「０」にされたデータが、論理積演算器１０２から出力される。最下位から１１ビット目までは、世代番号（ＧＥ＃）の最下位ビットから１１ビット目までのデータである。加算器１２２により、ページアドレスに論理積演算器１０２から出力されたデータが加算される。このとき、図６に示すように、メモリをアクセスするためのアドレス信号は、ページアドレスに、世代番号（ＧＥ＃）の最下位ビットから１１ビット目までのデータを加えたデータである。
【００７０】
以上のように、有効ビット数により、アドレス信号のページアドレスを指定するためのビット数と、ページ内のメモリ領域を指定するためのビット数を自在に設定できる。特に、本実施の形態に係るアドレス生成部は、前述の第１の実施の形態に加えて、以下のような作用効果を有する。
【００７１】
第１の実施の形態では、たとえば、アドレス信号の上位５ビットをページアドレスを指定するためのビットに、アドレス信号の下位１０ビットをページ内のアドレスを指定するためのビットに設定すると、データ量に関わらず、１ページ内には０番地から（２10−１）番地のメモリ領域が設定される。このとき、各ページのデータ量は、２10個であるとは限らないため、設定されたメモリ領域の中に使用されない領域が存在する場合がある。
【００７２】
第２の実施の形態では、１５ビットからなるページアドレスに、マスク値でマスクされたアドレスを加算することにより、アドレス信号が生成される。このアドレス信号は、ページアドレスを先頭番地として、メモリ領域を設定できる。有効ビット数として「１０１１」が設定されていると、論理積演算により、世代番号の最下位ビットから１１ビット目までが有効なアドレスとされる。ページアドレスが１５ビットであって、そのページに格納されるデータが２8＋１個であると、このページアドレスは、先頭番地「０００００００００００００００」から「０００００００１０００００００」番地までのメモリ領域の使用が可能になる。他のページと重ならないように、次のページを、先頭番地「０００００００１００００００１」から２8＋１の個データ領域を確保できるように設定することにより、２n番地に限定されることなく、メモリ領域を設定できる。
【００７３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図１】  本発明の第１の実施の形態に係るデータ駆動型情報処理装置のアドレス生成部のブロック図である。
【図２】  図１に示すアドレス生成部において実行されるプログラムの制御構造を示すフローチャートである。
【図３】  本発明の第１の実施の形態に係る入力データパケットのパケット構成とアドレス信号の構成を示す図である。
【図４】  本発明の第２の実施の形態に係るデータ駆動型情報処理装置のアドレス生成部のブロック図である。
【図５】  本発明の第２の実施の形態に係る入力データパケットのパケット構成とアドレス信号の構成を示す図である。
【図６】  データ駆動型情報処理装置を含むシステム構成を示す図である。
【図７】  データ駆動型情報処理装置の内部構成を示す図である。
【図８】  従来技術を説明するための入力データパケットのパケット構成を示す図（その１）である。
【図９】  従来技術を説明するための入力データパケットのパケット構成を示す図（その２）である。
【図１０】  従来技術におけるアドレス生成部において実行されるプログラムの制御構造を示すフローチャートである。
【図１１】  従来技術における入力データパケットのパケット構成とアドレス信号の構成を示す図である。
【符号の説明】
１００、１２０  アドレス生成部、１０２、１０８  論理積演算器、１０４  温度計型デコーダ、１０６  反転器、１１０  論理和演算器、１２２  加算器、２００  パイプラインレジスタ、２０２、３０４  世代番号記憶領域、２０４  有効ビット数記憶領域、２０６  ページアドレス記憶領域、２０８、３０６  データ記憶領域、３００  出力レジスタ、３０２  アドレス記憶領域、１０００  データ駆動型情報処理装置、１００２、１００４、１０２４  入力ポート、１０１２、１０１４、１０２２  出力ポート、１２００  画像メモリ、１３００  メモリインターフェイス、１５００  合流部、１５０２  発火制御部、１５０４  メモリ制御部、１５０６  演算部、１５０８  プログラム記憶部、１５１０  分岐部。
【図１】
0004315626.tif 000002
【図２】
0004315626.tif 000003
【図３】
0004315626.tif 000004
【図４】
0004315626.tif 000005
【図５】
0004315626.tif 000006
【図６】
0004315626.tif 000007
【図７】
0004315626.tif 000008
【図８】
0004315626.tif 000009
【図９】
0004315626.tif 000010
【図１０】
0004315626.tif 000011
【図１１】
0004315626.tif 000012