(57)【特許請求の範囲】
【請求項１】
外部メモリに記憶されるデータの一部のコピーをキャッシュメモリに保持しながら処理を行なうデータ駆動型情報処理装置における外部メモリ制御装置であって、
所定のタイミングで前記外部メモリから規則的にデータを先読みする外部メモリインタフェースと、
前記外部メモリインタフェースによって先読みされたデータを前記キャッシュメモリに格納し、前記外部メモリに対するデータアクセス要求に応じて前記キャッシュメモリに対するデータアクセスを行なうキャッシュメモリ部とを含み、
前記キャッシュメモリ部が前記外部メモリに対するデータ読出し要求に応じて、前記キャッシュメモリの所定の領域からデータを読出したときに、前記外部メモリインタフェースは、前記外部メモリからデータを先読みする、外部メモリ制御装置。
【請求項２】
前記キャッシュメモリ部が前記外部メモリに対するデータ読出し要求に応じて、前記キャッシュメモリのページの最終ワードを読出したときに、前記外部メモリインタフェースは、前記ページよりも所定ページだけ先のデータを前記外部メモリから先読みする、請求項１記載の外部メモリ制御装置。
【請求項３】
前記外部メモリ制御装置はさらに、前記先読みの度合いに関する情報を格納するレジスタを含み、
前記キャッシュメモリ部が前記外部メモリに対するデータ読出し要求に応じて、前記キャッシュメモリの所定領域からデータを読出したときに、前記外部メモリインタフェースは、前記レジスタに格納された先読みの度合いに応じて前記外部メモリからデータを先読みする、請求項１または２記載の外部メモリ制御装置。
【請求項４】
前記キャッシュメモリ部は、前記外部メモリに対するデータ読出し要求に応じて、前記キャッシュメモリの所定の領域からデータを読出したときに、アップロード要求を含んだ第１のパケットを生成して前記外部メモリインタフェースへ送出し、
前記外部メモリインタフェースは、前記アップロード要求に応じて、前記外部メモリから読出したデータを含んだ複数の第２のパケットを生成して前記キャッシュメモリ部へ送出し、
前記キャッシュメモリ部は、前記複数の第２のパケットに含まれるデータを前記キャッシュメモリに格納する、請求項１〜３のいずれかに記載の外部メモリ制御装置。
【請求項５】
外部メモリに記憶されるデータの一部のコピーをキャッシュメモリに保持しながら処理を行なうデータ駆動型情報処理装置における外部メモリ制御装置であって、
所定のタイミングで前記外部メモリから規則的にデータを先読みする外部メモリインタフェースと、
前記外部メモリインタフェースによって先読みされたデータを前記キャッシュメモリに格納し、前記外部メモリに対するデータアクセス要求に応じて前記キャッシュメモリに対するデータアクセスを行なうキャッシュメモリ部とを含み、
前記キャッシュメモリ部が強制アップロード付き外部メモリ読出し要求を受けたときに、前記外部メモリインタフェースは前記外部メモリからデータを先読みする、外部メモリ制御装置。
【請求項６】
外部メモリに記憶されるデータの一部のコピーをキャッシュメモリに保持しながら処理を行なうデータ駆動型情報処理装置における外部メモリ制御装置であって、
所定のタイミングで前記外部メモリから規則的にデータを先読みする外部メモリインタフェースと、
前記外部メモリインタフェースによって先読みされたデータを前記キャッシュメモリに格納し、前記外部メモリに対するデータアクセス要求に応じて前記キャッシュメモリに対するデータアクセスを行なうキャッシュメモリ部とを含み、
前記キャッシュメモリ部が前記外部メモリに対するデータ書込み要求に応じて、前記キャッシュメモリの所定の領域にデータを書込んだときに、前記外部メモリインタフェースは、前記キャッシュメモリに記憶されるデータを前記外部メモリにストアバックする、外部メモリ制御装置。
【請求項７】
前記キャッシュメモリ部が前記外部メモリに対するデータ書込み要求に応じて、前記キャッシュメモリのページの最終ワードにデータを書込んだときに、前記外部メモリインタフェースは、前記キャッシュメモリの前記ページに記憶されるデータを前記外部メモリにストアバックする、請求項６記載の外部メモリ制御装置。
【請求項８】
前記キャッシュメモリ部は、前記外部メモリに対するデータ書込み要求に応じて、前記キャッシュメモリの所定の領域にデータを書込んだときに、ストアバック要求を含んだ第１のパケットを生成して前記外部メモリインタフェースへ送出し、
前記外部メモリインタフェースは、前記ストアバック要求に応じて、キャッシュ読出しを示すコードを含んだ複数の第２のパケットを生成して前記キャッシュメモリ部へ送出し、
前記キャッシュメモリ部は、前記キャッシュ読出しに応じて前記キャッシュメモリから読出したデータを含んだ複数の第３のパケットを生成して前記外部メモリインタフェースへ送出し、
前記外部メモリインタフェースは、前記第３のパケットに含まれるデータを前記外部メモリにストアバックする、請求項６または７記載の外部メモリ制御装置。
【請求項９】
前記キャッシュメモリ部は、前記外部メモリに対するデータ書込み要求に応じて、前記キャッシュメモリの所定の領域にデータを書込んだときに、前記キャッシュメモリから読出したデータを含んだ複数のパケットを生成して前記外部メモリインタフェースへ送出し、
前記外部メモリインタフェースは、前記複数のパケットに含まれるデータを前記外部メモリにストアバックする、請求項６または７記載の外部メモリ制御装置。
【請求項１０】
外部メモリに記憶されるデータの一部のコピーをキャッシュメモリに保持しながら処理を行なうデータ駆動型情報処理装置における外部メモリ制御装置であって、
所定のタイミングで前記外部メモリから規則的にデータを先読みする外部メモリインタフェースと、
前記外部メモリインタフェースによって先読みされたデータを前記キャッシュメモリに格納し、前記外部メモリに対するデータアクセス要求に応じて前記キャッシュメモリに対するデータアクセスを行なうキャッシュメモリ部とを含み、
前記キャッシュメモリ部が強制ストアバック付き外部メモリ書込み要求を受けたときに、前記外部メモリインタフェースは前記外部メモリにデータをストアバックする、外部メモリ制御装置。
【請求項１１】
前記キャッシュメモリ部は、外部メモリアクセス動作要求に応じて、前記外部メモリのモード設定パラメータを含んだパケットを生成して前記外部メモリインタフェースへ送出し、
前記外部メモリインタフェースは、前記パケットに含まれるモード設定パラメータを前記外部メモリに設定する、請求項１〜１０のいずれかに記載の外部メモリ制御装置。
【請求項１２】
前記キャッシュメモリは、１組のデータ読出し線およびデータ書込み線を有し、
前記キャッシュメモリ部は、前記外部メモリに対するデータアクセス要求に応じて、前記１組のデータ読み出し線およびデータ書込み線を用いて、前記キャッシュメモリに対してアクセスし、所定のタイミングで前記外部メモリから規則的にデータを先読みし、前記１組のデータ読出し線およびデータ書込み線を用いて、前記先読みしたデータを前記キャッシュメモリに格納するキャッシュメモリアクセス制御部を含む、請求項１〜１１のいずれかに記載の外部メモリ制御装置。
【請求項１３】
前記キャッシュメモリは、２組のデータ読出し線およびデータ書込み線を有し、
前記キャッシュメモリ部は、前記外部メモリに対するデータアクセス要求に応じて、前記２組のデータ読み出し線およびデータ書込み線の一方を用いて、前記キャッシュメモリに対してアクセスする第１のキャッシュメモリアクセス制御部と、
所定のタイミングで前記外部メモリから規則的にデータを先読みし、前記２組のデータ読出し線およびデータ書込み線の他方を用いて、前記先読みしたデータを前記キャッシュメモリに格納する第２のキャッシュメモリアクセス制御部とを含む、請求項１〜１１のいずれかに記載の外部メモリ制御装置。
【請求項１４】
前記キャッシュメモリは、１組のデータ読出し線およびデータ書込み線を有し、
前記キャッシュメモリ部は、前記外部メモリに対するデータアクセス要求に応じて、前記１組のデータ読出し線およびデータ書込み線を用いて、前記キャッシュメモリに対してアクセスする第１のキャッシュメモリアクセス制御部と、
所定のタイミングで前記外部メモリから規則的にデータを先読みし、前記１組のデータ読出し線およびデータ書込み線を用いて、前記先読みしたデータを前記キャッシュメモリに格納する第２のキャッシュメモリアクセス制御部と、
前記１組のデータ読出し線およびデータ書込み線を切替えて前記第１のキャッシュメモリアクセス制御部または第２のキャッシュメモリアクセス制御部に接続する選択部と、
前記選択部の切替えを示す情報を保持するレジスタとを含む、請求項１〜１１のいずれかに記載の外部メモリ制御装置。
【請求項１５】
外部メモリに記憶されるデータの一部のコピーをキャッシュメモリに保持しながら処理を行なうデータ駆動型情報処理装置における外部メモリ制御装置であって、
所定のタイミングで前記外部メモリから規則的にデータを先読みする複数の外部メモリインタフェースと、
前記複数の外部メモリインタフェースによって先読みされたデータを選択的に送出するルータと、
前記ルータによって選択的に送出されたデータを前記キャッシュメモリに格納し、前記外部メモリに対するデータアクセス要求に応じて前記キャッシュメモリに対するデータアクセスを行なう複数のキャッシュメモリ部とを含む、外部メモリ制御装置。
【請求項１６】
前記キャッシュメモリ部は、非同期かつ自律分散的に動作し、
前記外部メモリインタフェースは、前記外部メモリのベースクロックに同期して前記外部メモリに対するバーストアクセスを行い、
前記キャッシュメモリ部と前記外部メモリインタフェースとは、互いに非同期かつ独立並列に動作する、請求項１〜１５のいずれかに記載の外部メモリ制御装置。
【請求項１７】
外部メモリに記憶されるデータの一部のコピーをキャッシュメモリに保持しながら処理を行なうデータ駆動型情報処理装置であって、
第１のパケットを選択的に送出するメインルータと、
前記メインルータから選択的に送出された第１のパケットに応じて演算処理を実行し、所定のタイミングでアップロード要求を含んだ第２のパケットを送出する複数の処理コアと、
前記アップロード要求を受けて、前記外部メモリから規則的にデータを先読みする複数の外部メモリインタフェースと、
前記複数の処理コアから送出された前記第２のパケットを前記複数の外部メモリインタフェースへ選択的に送出するルータとを含み、
前記処理コアは、前記外部メモリインタフェースによって先読みされたデータを前記キャッシュメモリに格納し、前記第１のパケットに含まれる外部メモリに対するデータアクセス要求に応じて前記キャッシュメモリに対するアクセスを行なう、データ駆動型情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ駆動型情報処理装置における外部メモリの制御技術に関し、特に、外部メモリに対して効率的にデータアクセスを行ない、データ駆動型情報処理装置の演算実行における並列処理能力を最大限に引出すことが可能な外部メモリ制御装置およびそれを含んだデータ駆動型情報処理装置に関する。
【０００２】
【従来の技術】
近年、マルチメディア処理や高精細画像処理などの大容量データの高速処理が要求される様々な分野で、プロセッサ性能の向上に対する要求が高まっている。しかし、現在のＬＳＩ（Large Scale Integrated circuit）製造技術ではデバイスの高速化にも限度がある。そこで、並列処理が注目を浴びており、並列処理に関する研究、開発が盛んに行なわれている。
【０００３】
並列処理向きのコンピュータ・アーキテクチャの中でも、特にデータ駆動型アーキテクチャが注目されている。データ駆動型処理方式においては、「ある処理に必要な入力データが全て揃い、かつその処理に必要な演算装置などの資源が割当てられたときに処理が行なわれる。」という規則にしたがって、処理が並列に進められる。
【０００４】
図２３は、従来のデータ駆動型情報処理システムの概略構成を示すブロック図である。このデータ駆動型情報処理システムは、データ駆動型情報処理装置１０１と、データ駆動型情報処理装置１０１によって処理されるデータ等が格納される外部メモリ１０２とを含む。
【０００５】
データ駆動型情報処理装置１０１の入出力ポートとして、データ伝送路１０３および１０４のそれぞれに接続される入力ポートＩＡおよびＩＢと、データ伝送路１０５および１０６のそれぞれに接続される出力ポートＯＡおよびＯＢと、アクセス制御線１０７が接続される外部メモリポートＴＭとが備えられている。
【０００６】
データ駆動型情報処理装置１０１は、データ伝送路１０３および１０４を介して入力ポートＩＡおよびＩＢから後述するパケットＰＡ＿ＩＯを時系列に入力する。データ駆動型情報処理装置１０１の内部には、所定の処理内容がプログラムとして予め記憶されており、そのプログラム内容にしたがって入力されたパケットＰＡ＿ＩＯに対する処理を実行する。
【０００７】
外部メモリ１０２は、アクセス制御線１０７を介してデータ駆動型情報処理装置１０１の外部メモリポートＴＭからアクセス要求信号を受けると、そのアクセス要求に応じたアクセスを行ない、データ駆動型情報処理装置１０１へアクセス要求に対する応答を行なう。
【０００８】
データ駆動型情報処理装置１０１は、入力されたパケットＰＡ＿ＩＯに対する処理を終了した後、出力ポートＯＡおよびデータ伝送路１０５、または出力ポートＯＢおよびデータ伝送路１０６を介して、処理後の内容を含んだパケットＰＡ＿ＩＯを出力する。
【０００９】
図２４は、データ駆動型情報処理装置１０１によって使用されるパケットを説明するための図である。図２４（ａ）は、データ駆動型情報処理装置１０１の入出力パケットＰＡ＿ＩＯの基本構成を示している。入出力パケットＰＡ＿ＩＯは、プロセッサ番号ＰＥ（Processor Element）を格納するフィールド１４０と、コア番号ＣＩを格納するフィールド１４２と、ノード番号ＮＤを格納するフィールド１４３と、カラーＣＬを格納するフィールド１４４と、データＤを格納するフィールド１４５とを含む。
【００１０】
プロセッサ番号ＰＥは、複数のデータ駆動型情報処理装置が接続されたシステムにおいて、対応するパケットＰＡ＿ＩＯが処理されるべきデータ駆動型情報処理装置を特定するための識別子である。コア番号ＣＩは、後述するデータ駆動型情報処理装置１０１内部の処理コアを特定するための識別子である。
【００１１】
ノード番号ＮＤは、後述する定数メモリとプログラムメモリとに格納された内容にアクセスするためのアドレスとして使用される。カラーＣＬは、データ駆動型情報処理装置１０１に時系列に入力されるパケットを一意に認識するための識別子であり、後述する内蔵メモリ制御部および外部メモリ制御部におけるメモリアドレスの計算または保存に使用される。データＤは、データ駆動型情報処理装置１０１によって処理されるデータである。
【００１２】
図２４（ｂ）は、データ駆動型情報処理装置１０１の内部で生成されるパケットＰＡ＿ＲＴの基本構成を示している。このパケットＰＡ＿ＲＴは、後述するように入出力制御部において生成され、パケットＰＡ＿ＩＯのＰＥ番号が格納されるフィールド１４０が、命令コードＯＰを格納するフィールド１４１に置換されたものである。この命令ＯＰによって、データＤへの演算の種類が決定される。
【００１３】
図２４（ｃ）は、データ駆動型情報処理装置１０１の内部で生成されるパケットＰＡ＿ＦＣの基本構成を示している。このパケットＰＡ＿ＦＣは、後述するように発火制御部において生成され、パケットＰＡ＿ＲＴのデータＤが格納されるフィールド１４５が、左データＬＤが格納されるフィールド１４６と、右データＲＤが格納されるフィールド１４７とに置換されたものである。
【００１４】
図２５は、データ駆動型情報処理装置１０１および外部メモリ１０２の概略構成を示すブロック図である。データ駆動型情報処理装置１０１は、外部メモリポートＴＭを介して外部メモリ１０２に接続される複数の処理コア１１０および１１１と、外部メモリ１０２に接続されない処理コア１１２および１１３と、メインルータ１１４と、入出力制御部１１５とを含む。また、外部メモリ１０２は、外部メモリポートＴＭを介して処理コア１１０および１１１のそれぞれに接続されるＳＤＲＡＭ（Synchronous Dynamic Random Access Memory)１１６および１１７を含む。
【００１５】
データ伝送路１０３または１０４を介して、パケットＰＡ＿ＩＯがプロセッサ番号ＰＥで指定されたデータ駆動型情報処理装置に与えられると、入出力制御部１１５は、入力ポートＩＡまたはＩＢを介してパケットＰＡ＿ＩＯを入力し、このパケットＰＡ＿ＩＯからパケットＰＡ＿ＲＴを生成する。すなわち、入出力制御部１１５は、パケットＰＡ＿ＩＯのプロセッサ番号ＰＥを破棄し、ノード番号ＮＤに基づいて命令コードＯＰと次の新たなノード番号ＮＤとを取得して、パケットＰＡ＿ＲＴのフィールド１４１および１４３にそれぞれ格納する。そして、入出力制御部１１５は生成したパケットＰＡ＿ＲＴをメインルータ１１４へ送出する。なお、入出力制御部１１５において、コア番号ＣＩ、カラーＣＬおよびデータＤはそのまま保持される。
【００１６】
メインルータ１１４は、パケットＰＡ＿ＲＴのコア番号ＣＩを参照して、当該パケットＰＡ＿ＲＴの次の行き先を選択し、パケットＰＡ＿ＲＴを送出する。コア番号ＣＩが格納されるフィールド１４２には、処理コア１１０〜１１３および入出力制御部１１５のいずれかを示す番号が格納されており、コア番号ＣＩを参照することによって行き先を決定することができる。
【００１７】
また、メインルータ１１４は、処理コア１１０〜１１３によって生成された演算処理後のデータが格納されるパケットＰＡ＿ＲＴを受けると、パケットＰＡ＿ＲＴを入出力制御部１１５へ送出する。入出力制御部１１５は、パケットＰＡ＿ＲＴを受けると、パケットＰＡ＿ＲＴの命令コードＯＰとノード番号ＮＤとを解読し、次の命令が当該データ駆動型情報処理装置１０１内で実行されるべきであるか、外部のデータ駆動型情報処理装置で実行されるべきかを判定する。
【００１８】
外部のデータ駆動型情報処理装置で実行されるべきであると判定された場合には、図２４（ａ）に示すパケットＰＡ＿ＩＯのＰＥ番号が格納されるフィールド１４０に、その外部のデータ駆動型情報処理装置のＰＥ番号を格納してパケットＰＡ＿ＩＯを生成し、パケットＰＡ＿ＩＯを出力ポートＯＡまたはＯＢから送出する。
【００１９】
一方、当該データ駆動型情報処理装置１０１内で実行されるべきであると判定された場合には、パケットＰＡ＿ＲＴの全てのフィールドの内容をそのまま保持して、再度メインルータ１１４へパケットＰＡ＿ＲＴを送出する。
【００２０】
図２６は、処理コア１１０および１１１の概略構成を示すブロック図である。処理コア１１０および１１１はそれぞれ、外部メモリポートＴＭに接続される外部メモリ制御部１２１と、メインルータ１１４からのパケットＰＡ＿ＲＴを受ける発火制御部１２２と、分岐部１２３と、内蔵メモリ制御部１２４と、内蔵メモリ１２５と、合流部１２６と、演算処理部１２７と、演算処理後のパケットＰＡ＿ＲＴをメインルータ１１４へ送出するプログラム記憶部１２８とを含む。
【００２１】
発火制御部１２２は、データ駆動型の処理を行なうのに必要な定数が格納される定数メモリ１３１と、パケットの待合わせに使用される待合わせメモリ１３２とを含む。プログラム記憶部１２８は、データ駆動型の処理を行なうのに必要なプログラムが格納されるプログラムメモリ１３３を含む。
【００２２】
発火制御部１２２は、メインルータ１１４からパケットＰＡ＿ＲＴを受けると、そのパケットＰＡ＿ＲＴと対になる定数データまたはパケットＰＡ＿ＲＴの検出を行なう。対になるパケットＰＡ＿ＲＴの検出は、パケットＰＡ＿ＲＴのノード番号ＮＤおよびカラーＣＬの両方が一致するか否かによって行なわれる。対になるパケットＰＡ＿ＲＴが検出されなければ、発火制御部１２２はパケットＰＡ＿ＲＴを待合わせメモリ１３２に一時的に格納して、待合わせを行なう。なお、対になるパケットＰＡ＿ＲＴが検出されることを発火と呼ぶ。
【００２３】
発火制御部１２２は、対になる２つのパケットＰＡ＿ＲＴを検出すると、その一方のパケットＰＡ＿ＲＴのフィールド１４５に格納されるデータＤを、図２４（ｃ）に示すパケットＰＡ＿ＦＣの左データＬＤが格納されるフィールド１４６に格納し、他方のパケットＰＡ＿ＲＴのフィールド１４５に格納されるデータＤを、図２４（ｃ）に示すパケットＰＡ＿ＦＣの右データＲＤが格納されるフィールド１４７に格納し、パケットＰＡ＿ＦＣを生成して分岐部１２３へ送出する。このとき、他方のパケットＰＡ＿ＲＴは消去される。
【００２４】
また、演算されるべき相手のデータがパケットＰＡ＿ＲＴではなく、定数データである場合には、発火制御部１２２は定数メモリ１３１から定数データを読出して、図２４（ｃ）に示すパケットＰＡ＿ＦＣのフィールド１４６および１４７の一方に格納し、パケットＰＡ＿ＦＣのフィールド１４６および１４７の他方にパケットＰＡ＿ＲＴのデータＤを格納して、パケットＰＡ＿ＦＣを生成して分岐部１２３へ送出する。
【００２５】
分岐部１２３は、発火制御部１２２からパケットＰＡ＿ＦＣを受けると、パケットＰＡ＿ＦＣの命令コードＯＰを解読することによって、内蔵メモリ制御部１２４および外部メモリ制御部１２１のいずれかを選択して、パケットＰＡ＿ＦＣを送出する。分岐部１２３は、パケットＰＡ＿ＦＣの全てのフィールド１４１〜１４４、１４６および１４７の内容を保持し、受けたパケットＰＡ＿ＦＣをそのまま内蔵メモリ制御部１２４または外部メモリ制御部１２１へ送出する。
【００２６】
内蔵メモリ制御部１２４は、分岐部１２３からパケットＰＡ＿ＦＣを受けると、パケットＰＡ＿ＦＣの命令コードＯＰを解読し、解読結果に応じて所定の処理を実行する。たとえば、命令コードＯＰが内蔵メモリアクセス命令であれば、内蔵メモリ１２５へのアクセス処理が行なわれ、アクセス結果をパケットＰＡ＿ＦＣの左データＬＤまたは右データＲＤが格納されるフィールド１４６または１４７に反映させ、そのパケットＰＡ＿ＦＣを合流部１２６へ送出する。また、命令コードＯＰが内蔵メモリアクセス命令でなければ、パケットＰＡ＿ＦＣの全てのフィールド１４１〜１４４、１４６および１４７の内容を保持し、受けたパケットＰＡ＿ＦＣをそのまま合流部１２６へ送出する。
【００２７】
外部メモリ制御部１２１は、分岐部１２３からパケットＰＡ＿ＦＣを受けると、パケットＰＡ＿ＦＣの命令コードＯＰを解読し、解読結果に応じて所定の処理を実行する。たとえば、命令コードＯＰが外部メモリアクセス命令であれば、ＳＤＲＡＭ１１６または１１７へのアクセス処理が行なわれ、アクセス結果をパケットＰＡ＿ＦＣの左データＬＤまたは右データＲＤが格納されるフィールド１４６または１４７に反映させ、そのパケットＰＡ＿ＦＣを合流部１２６へ送出する。また、命令コードＯＰが外部メモリアクセス命令でなければ、パケットＰＡ＿ＦＣの全てのフィールド１４１〜１４４、１４６および１４７の内容を保持し、受けたパケットＰＡ＿ＦＣをそのまま合流部１２６へ送出する。
【００２８】
合流部１２６は、内蔵メモリ制御部１２４または外部メモリ制御部１２１から受けたパケットＰＡ＿ＦＣの全てのフィールド１４１〜１４４、１４６および１４７の内容を保持し、受けたパケットＰＡ＿ＦＣをそのまま演算処理部１２７へ送出する。
【００２９】
演算処理部１２７は、合流部１２６から受けたパケットＰＡ＿ＦＣの命令コードＯＰを解読し、解読結果に応じて所定の処理を行なう。たとえば、命令コードＯＰがパケットＰＡ＿ＦＣの内容に対する演算命令であれば、演算処理部１２７は当該命令コードＯＰにしたがってパケットＰＡ＿ＦＣの内容（主として、左データＬＤ、右データＲＤ）を用いて所定の演算を行ない、その演算結果を図２４（ｂ）に示すパケットＰＡ＿ＲＴのデータＤが格納されるフィールド１４５に格納してパケットＰＡ＿ＲＴを生成し、このパケットＰＡ＿ＲＴをプログラム記憶部１２８へ送出する。なお、命令コードＯＰ、ノード番号ＮＤおよびカラーＣＬは、基本的には変化させない。
【００３０】
プログラム記憶部１２８内のプログラムメモリ１３３には、複数の次に実行すべき命令コードＯＰおよびそれに対応するノード番号ＮＤが格納されている。プログラム記憶部１２８は、演算処理部１２７からパケットＰＡ＿ＲＴを受けると、パケットＰＡ＿ＲＴのノード番号ＮＤによるアドレス指定に応じて、次に実行すべき命令コードＯＰおよびそれに対応するノード番号ＮＤをプログラムメモリ１３３から読出し、読出した命令コードＯＰおよびノード番号ＮＤをパケットＰＡ＿ＲＴの命令コードＯＰが格納されるフィールド１４１およびノード番号ＮＤが格納されるフィールド１４３に格納する。そして、プログラム記憶部１２８は、生成したパケットＰＡ＿ＲＴをメインルータ１１４へ送出する。なお、カラーＣＬが格納されるフィールド１４４およびデータＤが格納されるフィールド１４５の内容はそのまま保持される。
【００３１】
図２７は、処理コア１１２および１１３の概略構成を示すブロック図である。図２７に示す処理コア１１２および１１３の構成は、図２６に示す処理コア１１０および１１１の構成から外部メモリ制御部１２１、分岐部１２３および合流部１２６を削除したものである。発火制御部１２２からのパケットＰＡ＿ＦＣは、必ず内蔵メモリ制御部１２４へ送出される。すなわち、処理コア１１２および１１３においては、外部メモリアクセス命令は実行されない。他の構成部分については、図２６に示す処理コア１１０および１１１と同様であるので、詳細な説明は繰返さない。
【００３２】
このようにして、パケットＰＡ＿ＲＴおよびＰＡ＿ＦＣがデータ駆動型情報処理装置１０１内を周回することによって、プログラムメモリ１３３に予め記憶されたデータフロープログラムにしたがった処理が進められる。データ駆動型情報処理装置１０１内において、パケットＰＡ＿ＲＴおよびＰＡ＿ＦＣは、ハンドシェークによって非同期に転送される。
【００３３】
プログラムメモリ１３３に記憶されたデータフロープログラムにしたがって、パケットＰＡ＿ＲＴおよびＰＡ＿ＦＣがデータ駆動型情報処理装置１０１内を周回することによって、パイプライン処理が行なわれ、並列処理が実現される。したがって、データ駆動型情報処理装置１０１においては、パケット単位の処理の並列性と、データ駆動型情報処理装置１０１内を周回するパケットのフローレートとがデータ駆動型情報処理装置１０１の処理性能の１つの重要な尺度となる。
【００３４】
近年、このような特徴を有するデータ駆動型情報処理装置が、大容量のデータに対する高速な演算処理を必要とし、かつ高速なデータ転送を必要する画像／映像処理、音声処理、ネットワークプロトコル処理などに応用されてきている。これらの画像／映像処理、音声処理およびネットワークプロトコル処理は、大容量のデータを扱うという点においては共通である。
【００３５】
しかし、処理対象となる大容量のデータを全てデータ駆動型情報処理装置１０１の内部メモリに格納することは困難であるので、データ駆動型情報処理装置１０１に接続される外部メモリ１０２が利用される。外部メモリ１０２は、画像／映像処理においては画像フレームメモリとして、音声処理においては反響音効果を表現するための音声データ一時メモリとして、ネットワークプロトコル処理においてはペイロードメモリとして活用される。
【００３６】
外部メモリ１０２は、データ駆動型情報処理装置１０１の内部メモリと比較して大容量である反面、データアクセス速度が低速であるので、データ駆動型情報処理装置１０１の大きな特徴である高い並列処理能力を阻害するボトルネックとなる。そこで、アクセス速度が高速なキャッシュメモリをデータ駆動型情報処理装置１０１内部に設け、データ駆動型情報処理装置１０１が外部メモリ１０２へアクセスするときに、キャッシュメモリを介することによって上記ボトルネックを解消している。
【００３７】
上述したように、データ駆動型処理方式においては、「ある処理に必要な入力データが全て揃い、かつその処理に必要な演算装置などの資源が割当てられたときに処理が行なわれる。」という規則にしたがうので、「必要な入力データ」がキャッシュメモリに常に存在するという状態を維持できれば、データ駆動型情報処理装置１０１の特徴である高い並列処理能力を最大限に発揮することが可能となる。
【００３８】
図２８は、従来のデータ駆動型情報処理装置１０１内部にある外部メモリ制御部１２１の概略構成を示すブロック図である。この外部メモリ制御部１２１は、キャッシュメモリ部１３４と、外部メモリインタフェース１３５とを含む。キャッシュメモリ部１３４と外部メモリインタフェース１３５とは、互いに同期して動作する。
【００３９】
外部メモリインタフェース１３５には外部メモリポートＴＭが接続され、外部メインメモリ１３７へのアクセス機能を有している。この外部メインメモリ１３７は、ＳＤＲＡＭ１１６および１１７などによって構成される。キャッシュメモリ部１３４は、外部メインメモリ１３７と比較して小容量のキャッシュメモリ１３６を内部に有している。
【００４０】
キャッシュメモリ１３６は、外部メインメモリ１３７に記憶されるデータの一部をコピーして保持している。キャッシュメモリ部１３４は、キャッシュメモリ１３６の各データ領域が、外部メインメモリ１３７におけるどのアドレスのデータを保存しているのかを管理している。
【００４１】
外部メインメモリ１３７に記憶されるデータは、外部メモリ制御部１２１をフローするパケットＰＡ＿ＦＣの命令コードＯＰの内容に応じて、キャッシュメモリ１３６を介して間接的に参照／更新される。すなわち、キャッシュメモリ１３６は、外部メモリ１３７への覗き窓であるかのように扱われ、パケットＰＡ＿ＦＣによって外部メモリ１３７に記憶されるデータを直接的に参照／更新することができない。
【００４２】
パケットＰＡ＿ＦＣの命令コードＯＰの内容が、外部メインメモリ１３７に記憶されるデータに対する更新である場合には、キャッシュメモリ１３６にコピーされるデータのみが更新され、外部メインメモリ１３７に記憶されるデータの更新は行なわれない。この時点で、外部メインメモリ１３７に記憶されるデータと、キャッシュメモリ１３６に記憶されるデータとの間で不一致が生じる。
【００４３】
しかし、キャッシュメモリ部１３４は、キャッシュメモリ１３６に記憶されるデータと外部メインメモリ１３７に記憶されるデータとが一致している（この状態を「クリーン」と呼ぶ。）か、不一致である（この状態を「ダーティ」と呼ぶ。）かをデータ毎に管理している。外部メモリ制御部１２１は、この管理情報に基づいて所定の動作を行なうことにより、間接的なデータ更新操作を、長期的に見るとあたかも外部メインメモリ１３７に記憶されるデータの更新であるかのように見せる、いわゆるデータの一貫性（コヒーレンシ）を保持している。
【００４４】
パケットＰＡ＿ＦＣの命令コードＯＰが外部メインメモリ１３７へのアクセス命令であれば、外部メモリ制御部１２１はキャッシュメモリ部１３４が保持する管理情報を参照して、所望のデータがキャッシュメモリ１３６内に存在するか否かを判定する。所望のデータがキャッシュメモリ１３６内に存在していることをキャッシュ「ヒット」という。また、所望のデータがキャッシュメモリ１３６内に存在していないことをキャッシュ「ミスヒット」という。
【００４５】
キャッシュ「ヒット」の場合には、外部メモリ制御部１２１はキャッシュメモリ１３６へのアクセス（参照／更新）を実行する。特に、キャッシュメモリ１３６へのアクセスが更新の場合には、キャッシュメモリ部１３４はそのデータに関する管理情報を「ダーティ」に変更する。
【００４６】
一方、キャッシュ「ミスヒット」の場合には、外部メモリ制御部１２１は所望のデータを外部メインメモリ１３７からキャッシュメモリ１３６へコピーする。この操作を「アップロード」という。アップロードする場合には、キャッシュメモリ１３６内のデータを１つ追い出して、アップロードするためのデータ領域をキャッシュメモリ１３６内に確保する必要がある。
【００４７】
どのデータ領域を選択するかは、キャッシュメモリ部１３４によって決定される。この選択方法は様々なものが存在するが、最も長い時間アクセスされていないデータを選択する方法が一般的である。追い出すデータが決定されると、キャッシュメモリ部１３４はそのデータに関する管理情報を参照して、そのデータが「クリーン」であるか、「ダーティ」であるかを判定する。そのデータが「クリーン」であれば、外部メモリ制御部１２１は所望のデータをキャッシュメモリ１３６の当該領域にアップロードするだけで処理が終了する。
【００４８】
また、そのデータが「ダーティ」であれば、外部メモリ制御部１２１はキャッシュメモリ１３６から追い出されるデータを外部メインメモリ１３７の元の領域へ書き戻す。この操作を「ストアバック」という。そして、ストアバックが完了した後に、外部メモリ制御部１２１はアップロードを行なう。キャッシュ「ミスヒット」の場合には、外部メモリ制御部１２１はアップロードが完了した後に、キャッシュ「ヒット」の場合と同様に、キャッシュメモリ１３６へのアクセス（参照／更新）を実行する。
【００４９】
【発明が解決しようとする課題】
しかし、上述した従来の外部メモリ制御部１２１においては、パケットＰＡ＿ＦＣが外部メインメモリ１３７へのアクセス命令の場合に、キャッシュメモリ部１３４がキャッシュ「ミスヒット」であると判定すると、キャッシュ「ミスヒット」と判定されてからキャッシュメモリ１３６へのアクセスが開始されるまでの間、パケットＰＡ＿ＦＣは外部メモリ制御部１２１内で待たされることになる。
【００５０】
キャッシュ「ミスヒット」と判定されると、最悪で、キャッシュメモリ１３６へアップロードするための追い出しデータ検索時間、追い出しデータの「クリーン／ダーティ」判定時間、「ダーティ」であった場合における外部メインメモリ１３７への追い出しデータのストアバック時間および外部メインメモリ１３７からキャッシュメモリ１３６への所望のデータのアップロード時間の合計時間だけ、パケットＰＡ＿ＦＣが待たされることになる。この中で、ストアバックとアップロードとは、アクセス速度が低速な外部メインメモリ１３７に対して行なわれるため、パケットＰＡ＿ＦＣが待たされる時間は多大なものとなる。
【００５１】
外部メモリ制御部１２１内でパケットＰＡ＿ＦＣが長時間待たされることによって、演算処理部１２７における演算処理の遅延が発生し、それ以降に実行されるべき命令の処理についても開始時間が遅延されることになる。また、データ駆動型情報処理装置１０１はパイプライン処理による並列処理を大きな特徴としている。しかし、キャッシュ「ミスヒット」によって外部メモリ制御部１２１内でパケットＰＡ＿ＦＣが待たされている状態で、パケットＰＡ＿ＦＣの後方から別のパケットＰＡ＿ＦＣが到着すると、その別のパケットＰＡ＿ＦＣの処理も待たされることになる。その結果、データ駆動型情報処理装置１０１全体の並列処理能力が低下することになる。
【００５２】
また、画像／映像処理、音声処理、ネットワークプロトコル処理などのデータアクセスにおける基本的な特徴は、いずれも規則的なデータアクセスであり、次にアクセスされるデータを予測することができる点である。画像／映像処理において、基本的には画像フレームの走査線方向にデータが順番にアクセスされる。音声処理において、基本的には音声データの時間軸方向にデータが順番にアクセスされる。ネットワークプロトコル処理におけるネットワークフレーム、特にペイロードデータにおいて、基本的にはフレームのヘッダからのオフセット値の順番にデータがアクセスされる。
【００５３】
このように、データアクセスが規則的に行なわれる場合であっても、上述したように従来のデータ駆動型情報処理装置においては外部メインメモリ１３７へのアクセス時に定常的にキャッシュ「ミスヒット」が発生し、データ駆動型情報処理装置１０１の並列処理能力の低下を避けることができないといった問題点があった。
【００５４】
本発明は、上記問題点を解決するためになされたものであり、第１の目的は、データ駆動型情報処理装置の並列処理能力を低下させずにアップロードまたはストアバックを行なうことが可能な外部メモリ制御装置およびそれを含んだデータ駆動型情報処理装置を提供することである。
【００５５】
第２の目的は、キャッシュメモリに管理情報をもつ必要がなく、ハードウェアを削減することが可能な外部メモリ制御装置を提供することである。
【００５６】
第３の目的は、処理コアが任意の外部メモリに対してアクセスを行なうことが可能な外部メモリ制御装置を提供することである。
【００５７】
第４の目的は、演算実行に関するキャッシュメモリアクセスと、データ交換に関するキャッシュメモリアクセスとを分離して、パケットの転送レートを向上させた外部メモリ制御装置を提供することである。
【００５８】
【課題を解決するための手段】
本発明のある局面に従えば、外部メモリに記憶されるデータの一部のコピーをキャッシュメモリに保持しながら処理を行なうデータ駆動型情報処理装置における外部メモリ制御装置であって、所定のタイミングで外部メモリから規則的にデータを先読みする外部メモリインタフェースと、外部メモリインタフェースによって先読みされたデータをキャッシュメモリに格納し、外部メモリに対するデータアクセス要求に応じてキャッシュメモリに対するデータアクセスを行なうキャッシュメモリ部とを含み、キャッシュメモリ部が外部メモリに対するデータ読出し要求に応じて、キャッシュメモリの所定の領域からデータを読出したときに、外部メモリインタフェースは、外部メモリからデータを先読みする。
【００５９】
外部メモリインタフェースが、所定のタイミングで外部メモリから規則的にデータを先読みするので、外部メモリに対するアクセス要求に対応したデータが常にキャッシュメモリに保持されることになり、データ駆動型情報処理装置の並列処理能力の低下を防止することが可能となる。
【００６１】
また、外部メモリインタフェースは、外部メモリに格納されたデータの先読みを適切に行なうことが可能になる。
【００６２】
好ましくは、キャッシュメモリ部が外部メモリに対するデータ読出し要求に応じて、キャッシュメモリのページの最終ワードを読出したときに、外部メモリインタフェースは、ページよりも所定ページだけ先のデータを外部メモリから先読みする。
【００６３】
したがって、外部メモリインタフェースは、外部メモリに格納されたデータの先読みを適切に行なうことが可能になる。
【００６４】
好ましくは、外部メモリ制御装置はさらに、先読みの度合いに関する情報を格納するレジスタを含み、キャッシュメモリ部が外部メモリに対するデータ読出し要求に応じて、キャッシュメモリの所定領域からデータを読出したときに、外部メモリインタフェースは、レジスタに格納された先読みの度合いに応じて外部メモリからデータを先読みする。
【００６５】
したがって、外部メモリのアクセス速度に応じて外部メモリに格納されたデータの先読みの度合いを変更することが可能になる。
【００６６】
好ましくは、キャッシュメモリ部は、外部メモリに対するデータ読出し要求に応じて、キャッシュメモリの所定の領域からデータを読出したときに、アップロード要求を含んだ第１のパケットを生成して外部メモリインタフェースへ送出し、外部メモリインタフェースは、アップロード要求に応じて、外部メモリから読出したデータを含んだ複数の第２のパケットを生成してキャッシュメモリ部へ送出し、キャッシュメモリ部は、複数の第２のパケットに含まれるデータをキャッシュメモリに格納する。
【００６７】
したがって、非同期なパケット転送を行なう自己同期型転送制御回路の構成を維持しつつ、データ駆動型情報処理装置の並列処理能力を低下させずにアップロードを行なうことが可能となる。
【００６８】
本発明の別の局面に従えば、外部メモリに記憶されるデータの一部のコピーをキャッシュメモリに保持しながら処理を行なうデータ駆動型情報処理装置における外部メモリ制御装置であって、所定のタイミングで外部メモリから規則的にデータを先読みする外部メモリインタフェースと、外部メモリインタフェースによって先読みされたデータをキャッシュメモリに格納し、外部メモリに対するデータアクセス要求に応じてキャッシュメモリに対するデータアクセスを行なうキャッシュメモリ部とを含み、キャッシュメモリ部が強制アップロード付き外部メモリ読出し要求を受けたときに、外部メモリインタフェースは外部メモリからデータを先読みする。
【００６９】
したがって、任意のタイミングで外部メモリからデータをアップロードすることが可能となる。
【００７０】
本発明のさらに別の局面に従えば、外部メモリに記憶されるデータの一部のコピーをキャッシュメモリに保持しながら処理を行なうデータ駆動型情報処理装置における外部メモリ制御装置であって、所定のタイミングで外部メモリから規則的にデータを先読みする外部メモリインタフェースと、外部メモリインタフェースによって先読みされたデータをキャッシュメモリに格納し、外部メモリに対するデータアクセス要求に応じてキャッシュメモリに対するデータアクセスを行なうキャッシュメモリ部とを含み、キャッシュメモリ部が外部メモリに対するデータ書込み要求に応じて、キャッシュメモリの所定の領域にデータを書込んだときに、外部メモリインタフェースは、キャッシュメモリに記憶されるデータを外部メモリにストアバックする。
【００７１】
したがって、外部メモリインタフェースは、外部メモリに対するストアバックを適切に行なうことが可能になる。
【００７２】
好ましくは、キャッシュメモリ部が外部メモリに対するデータ書込み要求に応じて、キャッシュメモリのページの最終ワードにデータを書込んだときに、外部メモリインタフェースは、キャッシュメモリのページに記憶されるデータを外部メモリにストアバックする。
【００７３】
したがって、外部メモリインタフェースは、外部メモリに対するストアバックを適切に行なうことが可能になる。
【００７４】
好ましくは、キャッシュメモリ部は、外部メモリに対するデータ書込み要求に応じて、キャッシュメモリの所定の領域にデータを書込んだときに、ストアバック要求を含んだ第１のパケットを生成して外部メモリインタフェースへ送出し、外部メモリインタフェースは、ストアバック要求に応じて、キャッシュ読出しを示すコードを含んだ複数の第２のパケットを生成してキャッシュメモリ部へ送出し、キャッシュメモリ部は、キャッシュ読出しに応じてキャッシュメモリから読出したデータを含んだ複数の第３のパケットを生成して外部メモリインタフェースへ送出し、外部メモリインタフェースは、第３のパケットに含まれるデータを前記外部メモリにストアバックする。
【００７５】
したがって、非同期なパケット転送を行なう自己同期型転送制御回路の構成を維持しつつ、データ駆動型情報処理装置の並列処理能力を低下させずにストアバックを行なうことが可能となる。
【００７６】
好ましくは、キャッシュメモリ部は、外部メモリに対するデータ書込み要求に応じて、キャッシュメモリの所定の領域にデータを書込んだときに、キャッシュメモリから読出したデータを含んだ複数のパケットを生成して外部メモリインタフェースへ送出し、外部メモリインタフェースは、複数のパケットに含まれるデータを外部メモリにストアバックする。
【００７７】
したがって、非同期なパケット転送を行なう自己同期型転送制御回路の構成を維持しつつ、データ駆動型情報処理装置の並列処理能力を低下させずにストアバックを行なうことが可能となる。
【００７８】
本発明のさらに別の局面に従えば、外部メモリに記憶されるデータの一部のコピーをキャッシュメモリに保持しながら処理を行なうデータ駆動型情報処理装置における外部メモリ制御装置であって、所定のタイミングで外部メモリから規則的にデータを先読みする外部メモリインタフェースと、外部メモリインタフェースによって先読みされたデータをキャッシュメモリに格納し、外部メモリに対するデータアクセス要求に応じてキャッシュメモリに対するデータアクセスを行なうキャッシュメモリ部とを含み、キャッシュメモリ部が強制ストアバック付き外部メモリ書込み要求を受けたときに、外部メモリインタフェースは外部メモリにデータをストアバックする。
【００７９】
したがって、任意のタイミングで外部メモリに対するストアバックを行なうことが可能となる。
【００８０】
好ましくは、キャッシュメモリ部は、外部メモリアクセス動作要求に応じて、外部メモリのモード設定パラメータを含んだパケットを生成して外部メモリインタフェースへ送出し、外部メモリインタフェースは、パケットに含まれるモード設定パラメータを外部メモリに設定する。
【００８１】
したがって、非同期なパケット転送を行なう自己同期型転送制御回路の構成を維持しつつ、外部メモリにアクセスモードの設定等を行なうことが可能となる。
【００８２】
好ましくは、キャッシュメモリは、１組のデータ読出し線およびデータ書込み線を有し、キャッシュメモリ部は、外部メモリに対するデータアクセス要求に応じて、１組のデータ読み出し線およびデータ書込み線を用いて、キャッシュメモリに対してアクセスし、所定のタイミングで前記外部メモリから規則的にデータを先読みし、１組のデータ読出し線およびデータ書込み線を用いて、先読みしたデータをキャッシュメモリに格納するキャッシュメモリアクセス制御部を含む。
【００８３】
したがって、１組のデータ読出し線およびデータ書込み線のみを有するキャッシュメモリであっても、演算実行に関するキャッシュメモリアクセスと、データ交換に関するキャッシュメモリアクセスとを行なうことが可能となる。
【００８４】
好ましくは、キャッシュメモリは、２組のデータ読出し線およびデータ書込み線を有し、キャッシュメモリ部は、外部メモリに対するデータアクセス要求に応じて、２組のデータ読み出し線およびデータ書込み線の一方を用いて、キャッシュメモリに対してアクセスする第１のキャッシュメモリアクセス制御部と、所定のタイミングで外部メモリから規則的にデータを先読みし、２組のデータ読出し線およびデータ書込み線の他方を用いて、先読みしたデータをキャッシュメモリに格納する第２のキャッシュメモリアクセス制御部とを含む。
【００８５】
したがって、演算実行に関するキャッシュメモリアクセスの経路と、データ交換に関するキャッシュメモリアクセスの経路とを分離することができ、パケットの転送レートを向上させることが可能となる。
【００８６】
好ましくは、キャッシュメモリは、１組のデータ読出し線およびデータ書込み線を有し、キャッシュメモリ部は、外部メモリに対するデータアクセス要求に応じて、１組のデータ読出し線およびデータ書込み線を用いて、キャッシュメモリに対してアクセスする第１のキャッシュメモリアクセス制御部と、所定のタイミングで外部メモリから規則的にデータを先読みし、１組のデータ読出し線およびデータ書込み線を用いて、先読みしたデータをキャッシュメモリに格納する第２のキャッシュメモリアクセス制御部と、１組のデータ読出し線およびデータ書込み線を切替えて第１のキャッシュメモリアクセス制御部または第２のキャッシュメモリアクセス制御部に接続する選択部と、選択部の切替えを示す情報を保持するレジスタとを含む。
【００８７】
したがって、１組のデータ読出し線およびデータ書込み線のみを有するキャッシュメモリであっても、演算実行に関するキャッシュメモリアクセスの経路と、データ交換に関するキャッシュメモリアクセスの経路とを分離することができ、パケットの転送レートを向上させることが可能となる。
【００８８】
本発明の別の局面に従えば、外部メモリに記憶されるデータの一部のコピーをキャッシュメモリに保持しながら処理を行なうデータ駆動型情報処理装置における外部メモリ制御装置であって、所定のタイミングで外部メモリから規則的にデータを先読みする複数の外部メモリインタフェースと、複数の外部メモリインタフェースによって先読みされたデータを選択的に送出するルータと、ルータによって選択的に送出されたデータをキャッシュメモリに格納し、外部メモリに対するデータアクセス要求に応じてキャッシュメモリに対するデータアクセスを行なう複数のキャッシュメモリ部とを含む。
【００８９】
ルータが複数の外部メモリインタフェースによって先読みされたデータを複数のキャッシュメモリ部へ選択的に送出するので、処理コアが任意の外部メモリに対してアクセスを行なうことが可能となる。
【００９０】
好ましくは、キャッシュメモリ部は非同期かつ自律分散的に動作し、外部メモリインタフェースは外部メモリのベースクロックに同期して外部メモリに対するバーストアクセスを行ない、キャッシュメモリ部と外部メモリインタフェースとは互いに非同期かつ独立並列に動作する。
【００９１】
したがって、キャッシュメモリ部と外部メモリインタフェースとの動作依存性をなくして並列性を向上させることができ、外部メモリ制御装置の動作をさらに高速にすることが可能となる。
【００９２】
本発明のさらに別の局面に従えば、外部メモリに記憶されるデータの一部のコピーをキャッシュメモリに保持しながら処理を行なうデータ駆動型情報処理装置であって、第１のパケットを選択的に送出するメインルータと、メインルータから選択的に送出された第１のパケットに応じて演算処理を実行し、所定のタイミングでアップロード要求を含んだ第２のパケットを送出する複数の処理コアと、アップロード要求を受けて、外部メモリから規則的にデータを先読みする複数の外部メモリインタフェースと、複数の処理コアから送出された第２のパケットを複数の外部メモリインタフェースへ選択的に送出するルータとを含み、処理コアは、外部メモリインタフェースによって先読みされたデータをキャッシュメモリに格納し、第１のパケットに含まれる外部メモリに対するデータアクセス要求に応じてキャッシュメモリに対するアクセスを行なう。
【００９３】
ルータが複数の処理コアから送出された第２のパケットを複数の外部メモリインタフェースへ選択的に送出するので、処理コアは外部メモリインタフェースを介して任意の外部メモリにアクセスすることが可能となる。
【００９４】
【発明の実施の形態】
（実施の形態１）
図１は、本発明の実施の形態１におけるデータ駆動型情報処理システムの概略構成を示すブロック図である。このデータ駆動型情報処理システムは、データ駆動型情報処理装置１と、データ駆動型情報処理装置１によって処理されるデータ等が格納される外部メモリ２とを含む。
【００９５】
データ駆動型情報処理装置１の入出力ポートとして、データ伝送路３および４のそれぞれに接続される入力ポートＩＡおよびＩＢと、データ伝送路５および６のそれぞれに接続される出力ポートＯＡおよびＯＢと、アクセス制御線７が接続される外部メモリポートＴＭとが備えられている。
【００９６】
データ駆動型情報処理装置１は、データ伝送路３および４を介して入力ポートＩＡおよびＩＢからパケットＰＡ＿ＩＯを時系列に入力する。データ駆動型情報処理装置１の内部には、所定の処理内容がプログラムとして予め記憶されており、そのプログラム内容にしたがって入力されたパケットＰＡ＿ＩＯに対する処理を実行する。
【００９７】
外部メモリ２は、アクセス制御線７を介してデータ駆動型情報処理装置１の外部メモリポートＴＭからアクセス要求信号を受けると、そのアクセス要求に応じたアクセスを行ない、データ駆動型情報処理装置１へアクセス要求に対する応答を行なう。
【００９８】
データ駆動型情報処理装置１は、入力されたパケットに対する処理を終了した後、出力ポートＯＡおよびデータ伝送路５、または出力ポートＯＢおよびデータ伝送路６を介して、処理後の内容を含んだパケットＰＡ＿ＩＯを出力する。
【００９９】
図２は、本発明の実施の形態１におけるデータ駆動型情報処理装置１の概略構成を示すブロック図である。本実施の形態におけるデータ駆動型情報処理装置１は、図２５に示す従来のデータ駆動型情報処理装置１０１と比較して、外部メモリに接続される処理コアの構成および機能のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における処理コアの参照符号を１０および１１として説明する。
【０１００】
図３は、本発明の実施の形態１における処理コア１０および１１の概略構成を示すブロック図である。本実施の形態における処理コア１０および１１は、図２６に示す従来の処理コア１０１および１０２と比較して、外部メモリポートＴＭに接続される外部メモリ制御部の機能のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における外部メモリ制御部の参照符号を２１として説明する。
【０１０１】
図４は、本発明の実施の形態１における外部メモリ制御部２１の概略構成を示すブロック図である。この外部メモリ制御部２１は、キャッシュメモリ部２２と、外部メモリポートＴＭを介してＳＤＲＡＭ１１６または１１７に接続される外部メモリインタフェース２３とを含む。外部メモリインタフェース２３は、外部メモリポートＴＭを介してＳＤＲＡＭ１１６または１１７にアクセス（参照／更新）することができる。
【０１０２】
外部メモリ制御部２１は、発火制御部１２２からパケットＰＡ＿ＦＣを受けると、パケットＰＡ＿ＦＣの各フィールドに示された内容にしたがって、所定の動作を行ない、パケットＰＡ＿ＦＣに対して所定の処理を行なう。そして、外部メモリ制御部２１は、所定の処理を行なった後のパケットＰＡ＿ＦＣを演算処理部１２７へ送出する。なお、パケットＰＡ＿ＦＣの構成は、図２４（ｃ）に示すものと同様である。
【０１０３】
外部メモリインタフェース２３には外部メモリポートＴＭが接続され、外部メインメモリ２５へのアクセス機能を有している。この外部メインメモリ２５は、ＳＤＲＡＭ１１６および１１７などによって構成される。キャッシュメモリ部２２は、外部メインメモリ２５と比較して小容量のキャッシュメモリ２４を内部に有している。
【０１０４】
キャッシュメモリ２４は、外部メインメモリ２５に記憶されるデータの一部をコピーして保持している。外部メインメモリ２５に記憶されるデータは、外部メモリ制御部２１をフローするパケットＰＡ＿ＦＣの命令コードＯＰの内容に応じて、キャッシュメモリ２４を介して間接的に参照／更新される。
【０１０５】
キャッシュメモリ２４の領域全体は、同じ容量を有する複数のブロックに分割されている。図４は、キャッシュメモリ２４の領域全体を、１ブロックがＭワードによって構成されるＮ個のブロックに分割されたところを示している。分割された各ブロックには０，１，２，…，（Ｎ−１）のブロック番号ＢＬＫが与えられ、各ブロック内の各ワードには０，１，２，…，（Ｍ−１）のブロック内アドレスＡＩＢが与えられる。分割された各ブロックはさらに、同じ容量を有する複数のページに分割されている。図４は、各ブロックが４個のページに分割されたところを示している。
【０１０６】
外部メインメモリ２５の領域全体は、同じ容量を有する複数のクラスタに分割されている。１クラスタの大きさは、キャッシュメモリ２４の１ブロックの大きさと比較して十分に大きく、クラスタ内の各ワードには０から順番にアドレスオフセット値が与えられる。また、分割された各クラスタには０，１，２，…，（Ｎ−１），Ｎ，（Ｎ＋１），…の通し番号が与えられる。この通し番号はクラスタ番号という。
【０１０７】
キャッシュメモリ２４は、外部メインメモリ２５に記憶されるデータの一部をコピーしているが、外部メインメモリ２５のクラスタ番号０のデータはキャッシュメモリ２４のブロック番号０のいずれかのページにアップロードされ、クラスタ番号１のデータはブロック番号１のいずれかのページにアップロードされる。クラスタ番号（Ｎ−１）のデータはブロック番号（Ｎ−１）のいずれかのページにアップロードされる。以下同様にして、クラスタ番号Ｎのデータはブロック番号０のいずれかのページにアップロードされ、クラスタ番号（Ｎ＋１）以降のデータがブロック番号１以降のページにアップロードされる。
【０１０８】
図５は、キャッシュメモリ２４のブロックと外部メインメモリ２５のクラスタとの関係を示す図である。キャッシュメモリ２４のブロック番号Ｋのブロックは、外部メインメモリ２５のクラスタ番号Ｋのクラスタ、クラスタ番号Ｋ＋Ｎのクラスタ、クラスタ番号Ｋ＋２Ｎのクラスタ、…（クラスタ番号Ｋ＋ｎ×Ｎ（ｎ＝０，１，２，…）のクラスタ）によって交代に利用される。
【０１０９】
これらのクラスタのうち１つのクラスタがブロック番号Ｋのブロックを占有して利用しているとすると、外部メインメモリ２５の中の１つのクラスタの各データがキャッシュメモリ２４にアップロードされるときのブロック内アドレスは必ず一意に決定される。すなわち、クラスタの最初のページに相当するデータはキャッシュメモリ２４の第１ページにアップロードされ、クラスタの次のページに相当するデータはキャッシュメモリ２４の第２ページにアップロードされ、クラスタの３ページ目に相当するデータはキャッシュメモリ２４の第３ページにアップロードされ、クラスタの４ページ目に相当するデータはキャッシュメモリ２４の第４ページにアップロードされる。
【０１１０】
同様に、クラスタの５〜８ページ目に相当するそれぞれのデータは、キャッシュメモリ２４の第１〜第４ページのそれぞれにアップロードされる。以下同様にして、クラスタの９ページ目以降のデータがキャッシュメモリ２４の第１〜第４ページのそれぞれにアップロードされる。なお、ストアバックについても同様の関係で行なわれる。
【０１１１】
外部メインメモリ２５に対するアクセス要求は、パケットＰＡ＿ＦＣが外部メモリ制御部２１に与えられることによって行なわれる。以下、外部メインメモリ２５のある１クラスタに着目すると、必ずアドレスオフセット値が０から始まり、アドレスオフセット値が大きくなる方向に順番に読出し／書込みが行なわれるという規則性があることを前提として説明を続ける。
【０１１２】
図６は、外部メインメモリ２５のクラスタの１ページ分のデータが順番にキャッシュメモリ２４にアップロードされるところを示す図である。外部メモリ制御部２１から外部メインメモリ２５に対してアドレスオフセット値０から順番に読出し要求があり、クラスタ全体の読出しの最中に書込みは行なわれないものとし、逆にクラスタ全体の書込みの最中に読出しは行なわれないものとする。また、複数のクラスタの読出しおよび書込みが並列に実行されていても良い。なお、キャッシュメモリ２４の各ブロックは、外部メインメモリ２５の複数のクラスタによって共有されることはなく、必ず１つのクラスタが占有するものとする。
【０１１３】
図６（ａ）は、外部メインメモリ２５のあるクラスタの１ページ〜４ページ目のデータが、キャッシュメモリ２４のブロックの第１ページ〜第４ページにアップロードされたところを示している。図６（ｂ）は、クラスタの５ページ〜６ページ目のデータが、キャッシュメモリ２４のブロックの第１ページ〜第２ページにアップロードされ、データが置換されるところを示している。図６（ｃ）は、クラスタの７ページ〜８ページ目のデータが、キャッシュメモリ２４のブロックの第３ページ〜第４ページにアップロードされ、データが置換されるところを示している。
【０１１４】
外部メモリ制御部２１がパケットＰＡ＿ＦＣを受けると、パケットＰＡ＿ＦＣのカラーＣＬ、左データＬＤおよび右データＲＤを参照して、アクセス対象の外部メインメモリ２５のアドレスを計算する。このアドレスの計算方法は、パケットＰＡ＿ＦＣの命令コードＯＰによって決定される。上述したように、アクセス対象の外部メインメモリ２５のアドレスが決定すると、対応するキャッシュメモリ２４のブロック番号およびブロック内アドレスも一意に決定される。
【０１１５】
パケットＰＡ＿ＦＣの命令コードＯＰが外部メモリ読出し命令であれば、外部メモリ制御部２１は、ブロック番号およびブロック内アドレスによって指定されるキャッシュメモリ２４のデータを読出し、そのデータをパケットＰＡ＿ＦＣの左データＬＤが格納されるフィールドまたは右データＲＤが格納されるフィールドに格納し、パケットＰＡ＿ＦＣを演算処理部１２７へ送出する。
【０１１６】
ここで、ブロック内アドレスがあるページの最終ワードを示すアドレスであれば、外部メモリ制御部２１は同時にアップロード動作を開始する。このアップロード動作の詳細については後述する。
【０１１７】
一方、パケットＰＡ＿ＦＣの命令コードＯＰが外部メモリ書込み命令であれば、外部メモリ制御部２１は左データＬＤの値をブロック番号およびブロック内アドレスによって指定されるキャッシュメモリ２１の領域に書込み、パケットＰＡ＿ＦＣを演算処理部１２７へ送出する。ここで、ブロック内アドレスがあるページの最終ワードを示すアドレスであれば、外部メモリ制御部２１は同時にストアバック動作を開始する。このストアバック動作の詳細については後述する。
【０１１８】
図７は、外部メモリ制御部２１が実行する先読みアップロードを説明するための図である。図７において、ポインタ“ｒｅａｄｉｎｇ”は、外部メモリ制御部２１が計算したブロック番号のブロック内アドレスの１ワードを指しており、このポインタ“ｒｅａｄｉｎｇ”はブロック内アドレスが増加する方向へ順に移動する。そして、右端のページの最大のブロック内アドレスに達すると、左端のページのブロック内アドレス０に戻る。
【０１１９】
この過程において、ポインタ“ｒｅａｄｉｎｇ”がキャッシュメモリ２４のページの最終ワードを指す場合、外部メモリ制御部２１はアップロード動作を開始する。この先読みアップロード動作は、ポインタ“ｒｅａｄｉｎｇ”によって指し示されるデータが含まれる外部メインメモリ２５のページに対して、あるページ数を加算したページについて行われる。
【０１２０】
図７（ａ）に示すように外部メモリ制御部２１がキャッシュメモリ２４の第２ページからのデータ読出しを繰返し、図７（ｂ）に示すようにポインタ“ｒｅａｄｉｎｇ”がキャッシュメモリ２４の第２ページの最終ワードに達すると、その２ページ先の第４ページに外部メインメモリ２５の８ページ目のデータのアップロードを開始する。
【０１２１】
パケットＰＡ＿ＦＣによるデータの読出しと、キャッシュメモリ２４の第４ページの先読みアップロードとが並行して行なわれる。図７（ｃ）に示すように、パケットＰＡ＿ＦＣによる第３ページのデータの読出し中に、キャッシュメモリ２４の第４ページの先読みアップロードが完了する。したがって、パケットＰＡ＿ＦＣによるデータの読出しが第４ページに対して行なわれるときには、既に第４ページのデータがアップロードされていることになる。
【０１２２】
図８は、外部メモリ制御部２１が実行するストアバックを説明するための図である。図８において、ポインタ“ｗｒｉｔｉｎｇ”は、外部メモリ制御部２１が計算したブロック番号のブロック内アドレスの１ワードを指しており、このポインタ“ｗｒｉｔｉｎｇ”はブロック内アドレスが増加する方向へ順に移動する。そして、右端のページの最大のブロック内アドレスに達すると、左端のページのブロック内アドレス０に戻る。
【０１２３】
この過程において、ポインタ“ｗｒｉｔｉｎｇ”がキャッシュメモリ２４のページの最終ワードを指す場合、外部メモリ制御部２１はライトバック動作を開始する。このライトバック動作は、ポインタ“ｗｒｉｔｉｎｇ”によって指し示されるデータが含まれるキャッシュメモリ２４のページについて行われる。
【０１２４】
図８（ａ）に示すように外部メモリ制御部２１がキャッシュメモリ２４の第２ページへのデータ書込みを繰返し、図８（ｂ）に示すようにポインタ“ｗｒｉｔｉｎｇ”がキャッシュメモリ２４の第２ページの最終ワードに達すると、そのデータを含んだキャッシュメモリ２４の第２ページのデータのライトバックを開始する。
【０１２５】
パケットＰＡ＿ＦＣによるデータの書込みと、キャッシュメモリ２４の第２ページのデータのストアバックとが並行して行なわれる。図８（ｃ）に示すように、パケットＰＡ＿ＦＣによる第３ページのデータの書込み中に、キャッシュメモリ２４の第２ページのデータのストアバックが完了する。
【０１２６】
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置１は、外部メインメモリ２５の１クラスタにおいて必ずアドレスオフセット値が０から始まり、アドレスオフセット値が大きくなる方向に順番に読出し／書込みが行なわれ、かつ読出しと書込みとが同時に行なわれないという規則性を有する一連のアクセス要求、たとえば画像／映像処理、音声処理またはネットワークプロトコル処理などに適用される。
【０１２７】
そして、本実施の形態においては、外部メモリ制御部２１が上述した手順によって先読みアップロードおよびライトバックを行なうようにしたので、従来のデータ駆動型情報処理装置のように外部メインメモリ２５からキャッシュメモリ２４にコピーしたデータのアドレスを管理する必要がなくなるとともに、データがクリーンであるか、ダーティであるかを示す管理情報をもつ必要がなくなり、ハードウェアを大幅に削減することが可能となった。
【０１２８】
また、外部メモリ制御部２１は、キャッシュメモリ２４内のページの最終ワードに対して読出しまたは書込みが行なわれるときに、所定のページの先読みアップロードまたはストアバックを開始するようにしたので、パケットＰＡ＿ＦＣによる外部メインメモリ２５に対する読出し要求または書込み要求において、常にキャッシュメモリ２４にヒットするようになり、ミスヒットの場合に生じるストアバック操作およびアップロード操作に要する待ち時間が発生しなくなった。したがって、当該パケットＰＡ＿ＦＣの次に実行されるべきパケットＰＡ＿ＦＣの実行が遅延されることがなくなるとともに、外部メモリ制御部２１において後方から到着する次のパケットＰＡ＿ＦＣの進行を妨げることがなくなるので、データ駆動型情報処理装置の並列処理能力の低下を防止することが可能となった。
【０１２９】
（実施の形態２）
本発明の実施の形態２におけるデータ駆動型情報処理装置は、図１〜図４に示す実施の形態１におけるデータ駆動型情報処理装置１と比較して、外部メモリ制御部の構成および機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における外部メモリ制御部の参照符号を３１として説明する。
【０１３０】
図９は、本発明の実施の形態２における外部メモリ制御部３１の概略構成を示すブロック図である。この外部メモリ制御部３１は、キャッシュメモリ部３２と、外部メモリポートＴＭを介してＳＤＲＡＭ１１６または１１７に接続される外部メモリインタフェース３３と、パラメータレジスタ３４とを含む。
【０１３１】
パラメータレジスタ３４には、外部メモリ制御部３１による先読みアップロードにおける先読み度合い（先読みページ数）が設定される。実施の形態１においては２ページ先のデータを先読みアップロードするようにしたが、本実施の形態においては外部メモリ制御部３１がパラメータレジスタ３４に設定された値だけ先のページのデータの先読みアップロードを行なう。なお、パケットＰＡ＿ＦＣによって未だ読出しまたは書込みが行なわれていないキャッシュメモリ２４のページに対して、データを先読みアップロードすることが禁止されることは言うまでもない。
【０１３２】
外部メモリ制御部３１は、パケットＰＡ＿ＦＣを受け、そのパケットＰＡ＿ＦＣの命令コードＯＰがパラメータレジスタ３４へのロードを示していれば、当該パケットＰＡ＿ＦＣの左データＬＤの値をパラメータレジスタ３４に書込み、当該パケットＰＡ＿ＦＣは外部メモリ制御部３１内部で消去される。なお、外部メモリ制御部３１のその他の動作については、実施の形態１における外部メモリ制御部２１と同じであるので、詳細な説明は繰返さない。
【０１３３】
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、パラメータレジスタ３４に設定された値だけ先のページのデータを先読みアップロードするようにしたので、外部メインメモリ２５のアクセス速度に応じて適宜先読みアップロードの度合いを変更することが可能となった。
【０１３４】
（実施の形態３）
本発明の実施の形態３におけるデータ駆動型情報処理装置は、図１〜図４に示す実施の形態１におけるデータ駆動型情報処理装置１と比較して、外部メモリ制御部の構成および機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における外部メモリ制御部の参照符号を４１として説明する。
【０１３５】
図１０は、本発明の実施の形態３における外部メモリ制御部４１の概略構成を示すブロック図である。この外部メモリ制御部４１は、キャッシュメモリ部４２と、外部メモリポートＴＭを介してＳＤＲＡＭ１１６または１１７に接続される外部メモリインタフェース４３とを含む。
【０１３６】
外部メモリインタフェース４３にはメモリクロックＭＣＬＫが入力される。このメモリクロックＭＣＬＫは、外部メインメモリ２５の動作ベースクロックであり、外部メインメモリ２５はメモリクロックＭＣＬＫに同期して高速にアクセスを行なう。
【０１３７】
外部メモリインタフェース４３は、メモリクロックＭＣＬＫに同期して動作する。一方、キャッシュメモリ部４２は、データ駆動型情報処理装置のパケット動作の基本となる自己同期型転送制御回路に従う同期動作、すなわち図１０に示すようにメモリクロックＭＣＬＫと異なるクロックに同期してラッチに保持されるパケットが転送されることによって動作が行なわれる。したがって、キャッシュメモリ部４２における動作と外部メモリインタフェース部４３における外部メインメモリへのアクセス動作との間に直接的な動作依存性が存在せず、キャッシュメモリ部４２と外部メモリインタフェース４３とが互いに独立して並列動作する。なお、外部メモリ制御部４１のその他の動作については、実施の形態１における外部メモリ制御部２１と同じであるので、詳細な説明は繰返さない。
【０１３８】
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、外部メモリインタフェース部４３がメモリクロックＭＣＬＫに同期して外部メインメモリ２５に対するアクセス動作を行ない、キャッシュメモリ部４２との動作依存性をなくすようにしたので、キャッシュメモリ部４２と外部メモリインタフェース４３とが並列して動作でき、外部メモリ制御部４１における動作をさらに高速にすることが可能となった。
【０１３９】
（実施の形態４）
本発明の実施の形態４におけるデータ駆動型情報処理装置は、図１〜図４に示す実施の形態１におけるデータ駆動型情報処理装置１と比較して、外部メモリ制御部の構成および機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における外部メモリ制御部の参照符号を５１として説明する。
【０１４０】
図１１は、本発明の実施の形態４における外部メモリ制御部５１の概略構成を示すブロック図である。この外部メモリ制御部５１は、キャッシュメモリ部５２と、外部メモリポートＴＭを介してＳＤＲＡＭ１１６または１１７に接続される外部メモリインタフェース５３と、合流部５４と、分岐部５５とを含む。
【０１４１】
外部メモリインタフェース５３にはメモリクロックＭＣＬＫが入力される。このメモリクロックＭＣＬＫは、外部メインメモリ２５の動作ベースクロックであり、外部メインメモリ２５はメモリクロックＭＣＬＫに同期して高速にアクセスを行なう。
【０１４２】
図１２は、本発明の実施の形態４における外部メモリ制御部５１で使用されるパケットを説明するための図である。図１２（ａ）は、発火制御部１２２から外部メモリ制御部５１に入力されるパケットＰＡ＿ＦＣ、および外部メモリ制御部５１から演算処理部１２７へ出力されるパケットＰＡ＿ＦＣの構成を示す図である。このパケットＰＡ＿ＦＣは、図２４（ｃ）に示す従来のパケットＰＡ＿ＦＣの構成と同じである。したがって、詳細な説明は繰返さない。
【０１４３】
図１２（ｂ）は、外部メモリ制御部５１内をフローするパケットＰＡ＿ＥＸの構成を示す図である。このパケットＰＡ＿ＥＸは、命令コードＯＰが格納されるフィールド１４１と、コア番号ＣＩが格納されるフィールド１４２と、ファンクションコードＦＵＮＣが格納されるフィールド３４１と、アドレスＡＤＲが格納されるフィールド３４２と、データＥＸＤが格納されるフィールド３４３と、ブロック番号ＢＬＫが格納されるフィールド３４４と、ブロック内アドレスＡＩＢが格納されるフィールド３４５とを含む。
【０１４４】
図１２（ａ）に示すノード番号ＮＤが格納されるフィールド１４３と、カラーＣＬが格納されるフィールド１４４とが、図１２（ｂ）に示すファンクションコードＦＵＮＣが格納されるフィールド３４１と、アドレスＡＤＲが格納されるフィールド３４２とに置換される。これらの物理的なビット幅は同じである。図１２（ａ）に示す左データＬＤが格納されるフィールド１４６と右データＲＤが格納されるフィールド１４７とが、図１２（ｂ）に示すデータＥＸＤが格納されるフィールド３４３に置換される。左データＬＤのビット幅と右データＲＤのビット幅との合計は、データＥＸＤのビット幅と同じである。
【０１４５】
図１２（ｃ）は、後述する外部メモリ制御部６１内をフローするパケットＰＡ＿ＥＸ２の構成を示す図である。このパケットＰＡ＿ＥＸ２は、命令コードＯＰが格納されるフィールド１４１と、コア番号ＣＩが格納されるフィールド１４２と、ファンクションコードＦＵＮＣが格納されるフィールド３４１と、アドレスＡＤＲが格納されるフィールド３４２と、データＥＸＤが格納されるフィールド３４３と、ブロック番号ＢＬＫが格納されるフィールド３４４と、ブロック内アドレスＡＩＢが格納されるフィールド３４５と、経路分岐フラグＢＲＦが格納されるフィールド３４６とを含む。このパケットＰＡ＿ＥＸ２は、図１２（ｂ）に示すパケットＰＡ＿ＥＸに経路分岐フラグＢＲＦが格納されるフィールド３４６が追加されたものである。
【０１４６】
次に、外部メモリ制御部５１の先読みアップロード動作について説明する。
図１１に示すように、キャッシュメモリ部５２、外部メモリインタフェース５３、合流部５４および分岐部５５は、リング状に接続されている。合流部５４が発火制御部１２２からパケットＰＡ＿ＦＣを受けると、このパケットＰＡ＿ＦＣをそのままキャッシュメモリ部５２へ送出する。
【０１４７】
キャッシュメモリ部５２はパケットＰＡ＿ＦＣを受けると、パケットＰＡ＿ＦＣの命令コードＯＰが「外部メモリ読出し」を示していれば、パケットＰＡ＿ＦＣからパケットＰＡ＿ＥＸを生成する。キャッシュメモリ部５２は、カラー番号ＣＬ、左データＬＤおよび右データＲＤを用いて、外部メインメモリ２５のアクセス対象となるアドレスを計算する。そして、キャッシュメモリ部５２は、計算したアドレスからキャッシュメモリ２４のブロック番号ＢＬＫとブロック内アドレスＡＩＢとを決定し、ブロック番号ＢＬＫが格納されるフィールド３４４およびブロック内アドレスＡＩＢが格納されるフィールド３４５に格納する。この決定方法は、実施の形態１において説明したものと同じである。
【０１４８】
キャッシュメモリ部５２は、ブロック番号ＢＬＫとブロック内アドレスＡＩＢとに従ってキャッシュメモリ２４からデータを読出し、読出したデータをパケットＰＡ＿ＦＣの左データＬＤが格納されるフィールド１４６または右データＲＤが格納されるフィールド１４７に格納し、分岐部５５へ送出する。
【０１４９】
次に、キャッシュメモリ部５２は、ブロック内アドレスＡＩＢの値がキャッシュメモリ２４のページの最終ワードのアドレスに相当していれば、パケットＰＡ＿ＥＸのファンクションコードＦＵＮＣが格納されるフィールド３４１に、「アップロード要求」を示すコードを格納し、計算した外部メインメモリ２５のアドレスに、実施の形態２において説明した先読みアップロードの度合いに応じたアドレスオフセット値を加え、アドレスＡＤＲが格納されるフィールド３４２に格納する。そして、パケットＰＡ＿ＥＸを分岐部５５へ送出する。
【０１５０】
分岐部５５は、キャッシュメモリ部５２からパケットＰＡ＿ＦＣを受けた場合には、そのパケットＰＡ＿ＦＣを演算処理部１２７へ送出する。また、分岐部５５は、キャッシュメモリ部５２からパケットＰＡ＿ＥＸを受けると、そのパケットＰＡ＿ＥＸを外部メモリインタフェース５３へ送出する。
【０１５１】
外部メモリインタフェース５３は、「アップロード要求」を示すパケットＰＡ＿ＥＸを受けると、外部メインメモリ２５に対するバースト読出しサイクルを生成し、アドレスＡＤＲによって示される外部メインメモリ２５のアドレス値に従って、該当する１ページ分のデータを外部メインメモリ２５から順に読出す。外部メモリインタフェース５３は、メモリクロックＭＣＬＫに同期してバースト読出しサイクルを生成する。
【０１５２】
外部メモリインタフェース５３は、外部メインメモリ２５から読出した１ページ分のデータを転送するのに必要な数のパケットＰＡ＿ＥＸをコピーする。そして、外部メモリインタフェース５３は、外部メインメモリ２５から読出したデータを順次パケットＰＡ＿ＥＸのデータＥＸＤが格納されるフィールド３４３に格納し、ブロック内アドレスＡＩＢが格納されるフィールド３４５に、外部メインメモリ２５からデータを読出した順に０から始まり、順次インクリメントした値を格納し、命令コードＯＰが格納されるフィールド１４１に「キャッシュ書込み」を示すコードを格納する。このようにして生成されたパケットＰＡ＿ＥＸは、合流部５４へ順次送出される。
【０１５３】
図１３は、外部メモリインタフェース５３がキャッシュメモリ部５２にデータをアップロードするときに生成されるパケットＰＡ＿ＥＸを説明するための図である。図１３（ａ）は、「アップロード要求」を示すパケットＰＡ＿ＥＸを示している。ファンクションコードＦＵＮＣが格納されるフィールド３４１には、「アップロード要求」を示すコードが格納されている。
【０１５４】
図１３（ｂ）は、外部メモリインタフェース５３がバースト読出しサイクル時に生成する複数のパケットＰＡ＿ＥＸを示している。命令コードＯＰが格納されるフィールド１４１には、「キャッシュ書込み」を示すコードが格納され、ブロック内アドレスＡＩＢが格納されるフィールド３４５には０から始まり、順次インクリメントされた値が格納される。
【０１５５】
合流部５４は、外部メモリインタフェース５３からパケットＰＡ＿ＥＸを受けると、パケットＰＡ＿ＥＸをそのままキャッシュメモリ部５２へ送出する。キャッシュメモリ部５２は、パケットＰＡ＿ＥＸを受けると、パケットＰＡ＿ＥＸのブロック番号ＢＬＫおよびブロック内アドレスＡＩＢによって示されるキャッシュメモリ２４のアドレスにデータＥＸＤを書込み、このパケットＰＡ＿ＥＸを消去する。
【０１５６】
外部メモリインタフェース５３において生成された全てのパケットＰＡ＿ＥＸに対応して、キャッシュメモリ２４へのデータ書込み動作が行なわれ、キャッシュメモリ部５２において全てのパケットＰＡ＿ＥＸが消去された時点で１ページ分のデータの先読みアップロードが完了する。
【０１５７】
次に、外部メモリ制御部５１のストアバック動作について説明する。
キャッシュメモリ部５２がパケットＰＡ＿ＦＣを受け、パケットＰＡ＿ＦＣの命令コードＯＰが「外部メモリ書込み」を示していれば、パケットＰＡ＿ＦＣからパケットＰＡ＿ＥＸを生成する。キャッシュメモリ部５２は、カラー番号ＣＬ、左データＬＤおよび右データＲＤを用いて、外部メインメモリ２５のアクセス対象となるアドレスを計算し、アドレスＡＤＲが格納されるフィールド３４２に計算したアドレスを格納する。そして、キャッシュメモリ部５２は、計算したアドレスからキャッシュメモリ２４のブロック番号ＢＬＫとブロック内アドレスＡＩＢとを決定し、ブロック番号ＢＬＫが格納されるフィールド３４４およびブロック内アドレスＡＩＢが格納されるフィールド３４５に格納する。この決定方法は、実施の形態１において説明したものと同じである。
【０１５８】
キャッシュメモリ部５２は、ブロック番号ＢＬＫとブロック内アドレスＡＩＢとに従って、キャッシュメモリ２４にパケットＰＡ＿ＦＣの左データＬＤの値を書込み、パケットＰＡ＿ＦＣを分岐部５５へ送出する。
【０１５９】
次に、キャッシュメモリ部５２は、ブロック内アドレスＡＩＢの値がキャッシュメモリ２４のページの最終ワードのアドレスに相当していれば、パケットＰＡ＿ＥＸのファンクションコードＦＵＮＣが格納されるフィールド３４１に、「ストアバック要求」を示すコードを格納し、パケットＰＡ＿ＥＸを分岐部５５へ送出する。
【０１６０】
分岐部５５は、キャッシュメモリ部５２からパケットＰＡ＿ＦＣを受けた場合には、そのパケットＰＡ＿ＦＣを演算処理部１２７へ送出する。また、分岐部５５は、キャッシュメモリ部５２からパケットＰＡ＿ＥＸを受けると、そのパケットＰＡ＿ＥＸを外部メモリインタフェース５３へ送出する。
【０１６１】
外部メモリインタフェース５３は、「ストアバック要求」を示すパケットＰＡ＿ＥＸを受けると、１ページ分のデータを転送するのに必要な数のパケットＰＡ＿ＥＸをコピーする。そして、外部メモリインタフェース５３は、ブロック内アドレスＡＩＢが格納されるフィールド３４５に０から始まり、順次インクリメントした値を格納し、命令コードＯＰが格納されるフィールド１４１に「キャッシュ読出し」を示すコードを格納する。このようにして生成されたパケットＰＡ＿ＥＸは、合流部５４へ順次送出される。
【０１６２】
合流部５４は、外部メモリインタフェース５３からパケットＰＡ＿ＥＸを受けると、パケットＰＡ＿ＥＸをそのままキャッシュメモリ部５２へ送出する。キャッシュメモリ部５２は、パケットＰＡ＿ＥＸを受けると、パケットＰＡ＿ＥＸのブロック番号ＢＬＫおよびブロック内アドレスＡＩＢによって示されるキャッシュメモリ２４のアドレスからデータを読出し、読出したデータをデータＥＸＤが格納されるフィールド３４３に格納する。
【０１６３】
そして、キャッシュメモリ部５２は、パケットＰＡ＿ＥＸのファンクションコードＦＵＮＣが格納されるフィールド３４１に「キャッシュ読出し結果」を示すコードを格納し、分岐部５５へパケットＰＡ＿ＥＸを送出する。分岐部５５は、キャッシュメモリ部５２からパケットＰＡ＿ＥＸを受けると、そのままパケットＰＡ＿ＥＸを外部メモリインタフェース５３へ送出する。
【０１６４】
外部メモリインタフェース５３は、分岐部５５から「キャッシュ読出し結果」を示すパケットＰＡ＿ＥＸを受けると、外部メインメモリ２５に対するバースト書込みサイクルを生成し、アドレスＡＤＲによって示される外部メインメモリ２５のアドレスに従って、アドレス値を１ずつインクリメントしながら到着するパケットＰＡ＿ＥＸのデータＥＸＤを順次外部メインメモリ２５に書込む。このバースト書込みサイクルは、外部メモリインタフェース５３に入力されるメモリクロックＭＣＬＫに同期して行なわれる。
【０１６５】
外部メインメモリ２５に対するデータ書込み動作が完了すると、外部メモリインタフェース５３はパケットＰＡ＿ＥＸを消去する。外部メモリインタフェース５３において生成された全てのパケットＰＡ＿ＥＸに対応して、外部メインメモリ２５へのデータ書込み動作が行なわれ、外部メモリインタフェース５３において全てのパケットＰＡ＿ＥＸが消去された時点で１ページ分のデータのストアバックが完了する。
【０１６６】
図１４は、外部メモリインタフェース５３が外部メインメモリ２５にデータをストアバックするときに生成されるパケットＰＡ＿ＥＸを説明するための図である。図１４（ａ）は、「ストアバック要求」を示すパケットＰＡ＿ＥＸを示している。ファンクションコードＦＵＮＣが格納されるフィールド３４１には、「ストアバック要求」を示すコードが格納されている。
【０１６７】
図１４（ｂ）は、外部メモリインタフェース５３がキャッシュメモリ部５２に対してキャッシュ読出しを指示する複数のパケットＰＡ＿ＥＸを示している。命令コードＯＰが格納されるフィールド１４１には、「キャッシュ読出し」を示すコードが格納され、ブロック内アドレスＡＩＢが格納されるフィールド３４５には０から始まり、順次インクリメントされた値が格納される。
【０１６８】
図１４（ｃ）は、キャッシュメモリ部５２によってキャッシュメモリ２４から読出されたデータが格納された複数のパケットＰＡ＿ＥＸを示している。ファンクションコードＦＵＮＣが格納されるフィールド３４１には、「キャッシュ読出し結果」を示すコードが格納され、データＥＸＤが格納されるフィールド３４３には、キャッシュメモリ２４から読出されたデータが格納される。
【０１６９】
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、ブロック内アドレスＡＩＢの値がキャッシュメモリ２４のページの最終ワードのアドレスに相当していれば、キャッシュメモリ部５２が「アップロード要求」を示すコードを含んだパケットＰＡ＿ＥＸを生成して送出し、外部メモリインタフェース５３が「アップロード要求」に応じて外部メインメモリ２５に対するバースト読出しサイクルを生成するようにした。そして、外部メモリインタフェース５３がバースト読出しサイクルによって外部メインメモリ２５から読出したデータを順次パケットＰＡ＿ＥＸに格納して送出し、キャッシュメモリ部５２がＰＡ＿ＥＸに格納されたデータを順次キャッシュメモリ２４に書込むようにしたので、非同期なパケット転送を行なう自己同期型転送制御回路の構成を維持しつつ、実施の形態１において説明した先読みアップロード動作による効果を奏することが可能となった。
【０１７０】
また、ブロック内アドレスＡＩＢの値がキャッシュメモリ２４のページの最終ワードのアドレスに相当していれば、キャッシュメモリ部５２が「ストアバック要求」を示すコードを含んだパケットＰＡ＿ＥＸを生成して送出し、外部メモリインタフェース５３が「ストアバック要求」に応じて、１ページ分のデータを転送するのに必要な「キャッシュ読出し」を示すコードを含んだパケットＰＡ＿ＥＸを生成して送出するようにした。そして、キャッシュメモリ部５２が「キャッシュ読出し」に応じてキャッシュメモリ２４からデータを読出して順次パケットＰＡ＿ＥＸに格納して送出し、外部メモリインタフェース５３が外部メインメモリ２５に対するバースト書込みサイクルを生成して、パケットＰＡ＿ＥＸに格納されたデータを順次外部メモリに書込むようにしたので、非同期なパケット転送を行なう自己同期型転送制御回路の構成を維持しつつ、実施の形態１において説明したストアバック動作による効果を奏することが可能となった。
【０１７１】
（実施の形態５）
本発明の実施の形態５におけるデータ駆動型情報処理装置は、実施の形態４におけるデータ駆動型情報処理装置と比較して、図１１に示す外部メモリ制御部５１のキャッシュメモリ部５２および外部メモリインタフェース５３におけるストアバックの動作が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における外部メモリ制御部、キャッシュメモリ部および外部メモリインタフェースの参照符号をそれぞれ、５１ａ、５２ａおよび５３ａとして説明する。
【０１７２】
図１５は、キャッシュメモリ部５２ａによって生成される「外部メモリ書込み」を示すパケットＰＡ＿ＥＸを示している。命令コードＯＰが格納されるフィールド１４１には、「外部メモリデータ書込み」を示すコードが格納されている。なお、命令コードＯＰが格納されるフィールド１４１以外のフィールド１４２および３４１〜３４５については、図１４（ｃ）に示すパケットＰＡ＿ＥＸと同様であるので、詳細な説明は繰返さない。
【０１７３】
キャッシュメモリ部５２ａがパケットＰＡ＿ＦＣを受け、パケットＰＡ＿ＦＣの命令コードＯＰが「外部メモリ書込み」を示していれば、パケットＰＡ＿ＦＣから図１２（ｂ）に示すパケットＰＡ＿ＥＸを生成する。キャッシュメモリ部５２ａは、カラー番号ＣＬ、左データＬＤおよび右データＲＤを用いて、外部メインメモリ２５のアクセス対象となるアドレスを計算し、アドレスＡＤＲが格納されるフィールド３４２に計算したアドレスを格納する。
【０１７４】
そして、キャッシュメモリ部５２ａは、計算したアドレスからキャッシュメモリ２４のブロック番号ＢＬＫとブロック内アドレスＡＩＢとを決定し、ブロック番号ＢＬＫが格納されるフィールド３４４およびブロック内アドレスＡＩＢが格納されるフィールド３４５に格納する。この決定方法は、実施の形態１において説明したものと同じである。
【０１７５】
キャッシュメモリ部５２ａは、ブロック番号ＢＬＫとブロック内アドレスＡＩＢとに従って、キャッシュメモリ２４に左データＬＤの値を書込み、パケットＰＡ＿ＦＣを分岐部５５へ送出する。
【０１７６】
次に、キャッシュメモリ部５２ａは、ブロック内アドレスＡＩＢの値がキャッシュメモリ２４のページの最終ワードのアドレスに相当していれば、パケットＰＡ＿ＥＸのファンクションコードＦＵＮＣが格納されるフィールド３４１に、「キャッシュ読出し結果」を示すコードを格納し、１ページ分のデータを転送するのに必要な数のパケットＰＡ＿ＥＸをコピーする。そして、キャッシュメモリ部５２ａは、キャッシュメモリ２４から読出した１ページ分のデータを順次データＥＸＤが格納されるフィールド３４３に格納して、分岐部５５へ送出する。
【０１７７】
分岐部５５は、キャッシュメモリ部５２ａからパケットＰＡ＿ＦＣを受けた場合には、そのパケットＰＡ＿ＦＣを演算処理部１２７へ送出する。また、分岐部５５は、キャッシュメモリ部５２ａからパケットＰＡ＿ＥＸを受けると、そのパケットＰＡ＿ＥＸを外部メモリインタフェース５３ａへ送出する。
【０１７８】
外部メモリインタフェース５３ａは、「キャッシュ読出し結果」を示すパケットＰＡ＿ＥＸを受けると、外部メインメモリ２５に対するバースト書込みサイクルを生成し、アドレスＡＤＲによって示される外部メインメモリ２５のアドレスに従って、アドレス値を１ずつインクリメントしながら到着するパケットＰＡ＿ＥＸのデータＥＸＤを順次外部メインメモリ２５に書込む。このバースト書込みサイクルは、外部メモリインタフェース５３ａに入力されるメモリクロックＭＣＬＫに同期して行なわれる。
【０１７９】
外部メインメモリ２５に対するデータ書込み動作が完了すると、外部メモリインタフェース５３ａはパケットＰＡ＿ＥＸを消去する。キャッシュメモリ部５２ａにおいて生成された全てのパケットＰＡ＿ＥＸに対応して、外部メインメモリ２５へのデータ書込み動作が行なわれ、外部メモリインタフェース５３ａにおいて全てのパケットＰＡ＿ＥＸが消去された時点で１ページ分のデータのストアバックが完了する。
【０１８０】
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、ブロック内アドレスＡＩＢの値がキャッシュメモリ２４のページの最終ワードのアドレスに相当していれば、キャッシュメモリ部５２ａがキャッシュメモリ２４から１ページ分のデータを読出して順次パケットＰＡ＿ＥＸに格納して送出し、外部メモリインタフェース５３ａが外部メインメモリ２５に対するバースト書込みサイクルを生成して、パケットＰＡ＿ＥＸに格納されたデータを順次外部メインメモリ２５に書込むようにしたので、非同期なパケット転送を行なう自己同期型転送制御回路の構成を維持しつつ、実施の形態１において説明したストアバック動作による効果を奏することが可能となった。
【０１８１】
（実施の形態６）
本発明の実施の形態６におけるデータ駆動型情報処理装置は、実施の形態４におけるデータ駆動型情報処理装置と比較して、図１１に示す外部メモリ制御部５１のキャッシュメモリ部５２および外部メモリインタフェース５３の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における外部メモリ制御部、キャッシュメモリ部および外部メモリインタフェースの参照符号をそれぞれ、５１ｂ、５２ｂおよび５３ｂとして説明する。
【０１８２】
図１６は、キャッシュメモリ部５２ｂによって生成される「外部メモリアクセス動作」を示すパケットＰＡ＿ＥＸを示しており、ファンクションコードＦＵＮＣが格納されるフィールド３４１には、外部メモリインタフェース５３ｂが外部メインメモリ２５に対して行なう動作内容が格納され、データＥＸＤが格納されるフィールド３４３には、外部メモリ２５に与えられる外部メモリモードパラメータが格納される。なお、それ以外のフィールド１４１，１４２，３４２，３４４および３４５については、図１２（ｂ）に示すパケットＰＡ＿ＥＸと同様であるので、詳細な説明は繰返さない。
【０１８３】
外部メモリアクセス動作とは、外部メモリインタフェース５３ｂが外部メモリポートＴＭを介して外部メインメモリ２５のプリチャージや動作モードの設定等を行なうことをいう。
【０１８４】
キャッシュメモリ部５２ｂがパケットＰＡ＿ＦＣを受け、パケットＰＡ＿ＦＣの命令コードＯＰが「外部メモリアクセス」を示していれば、パケットＰＡ＿ＦＣから図１６に示すパケットＰＡ＿ＥＸを生成する。キャッシュメモリ部５２ｂは、外部メモリインタフェース５３ｂが外部メインメモリ２５に対して行なう動作内容を示すコードを、ファンクションコードＦＵＮＣが格納されるフィールド３４１に格納する。そして、キャッシュメモリ部５２ｂは、外部メモリ２５に与える外部メモリモードパラメータをデータＥＸＤが格納されるフィールド３４３に格納する。そして、キャッシュメモリ部５２ｂは、パケットＰＡ＿ＥＸを分岐部５５へ送出する。
【０１８５】
分岐部５５は、キャッシュメモリ部５２ｂからパケットＰＡ＿ＥＸを受けると、そのパケットＰＡ＿ＥＸを外部メモリインタフェース５３ｂへ送出する。
【０１８６】
外部メモリインタフェース５３ｂは、「外部メモリアクセス動作」を示すパケットＰＡ＿ＥＸを受けると、ファンクションコードＦＵＮＣおよびデータＥＸＤを参照して、外部メインメモリ２５に対する外部メモリアクセス動作を行なう。外部メモリインタフェース５３ｂには、外部メモリポートＴＭを介して外部メインメモリ２５の制御信号入力線とデータ入力線とが接続されているので、外部メモリインタフェース５３ｂはこれらの信号線を用いて、外部メインメモリ２５にデータＥＸＤの値をモード設定パラメータとして書込む。外部メモリインタフェース５３ｂは、外部メインメモリ２５に対するモード設定パラメータの書込み動作が完了すると、パケットＰＡ＿ＥＸを消去する。
【０１８７】
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、キャッシュメモリ部５２ｂが「外部メモリアクセス」を示すパケットＰＡ＿ＦＣを受けると、外部メモリインタフェース５３ｂが外部メインメモリ２５に対して行なう動作内容と、外部メモリモードパラメータとを含んだパケットＰＡ＿ＥＸを生成して送出し、外部メモリインタフェース５３ｂが「外部メモリアクセス動作」に応じて、外部メインメモリ２５にモード設定パラメータを書込むようにしたので、非同期なパケット転送を行なう自己同期型転送制御回路の構成を維持しつつ、外部メインメモリ２５にアクセスモードの設定等を行なうことが可能となった。
【０１８８】
（実施の形態７）
本発明の実施の形態７におけるデータ駆動型情報処理装置は、実施の形態４におけるデータ駆動型情報処理装置と比較して、図１１に示す外部メモリ制御部５１のキャッシュメモリ部５２における先読みアップロードの動作が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における外部メモリ制御部およびキャッシュメモリ部の参照符号をそれぞれ、５１ｃおよび５２ｃとして説明する。また、本実施の形態において使用されるパケットＰＡ＿ＥＸは、図１３に示すパケットＰＡ＿ＥＸと同様であるので、詳細な説明は繰返さない。
【０１８９】
キャッシュメモリ部５２ｃがパケットＰＡ＿ＦＣを受け、パケットＰＡ＿ＦＣの命令コードＯＰが「強制アップロード付き外部メモリ読出し」を示していれば、パケットＰＡ＿ＦＣから図１２（ｂ）に示すパケットＰＡ＿ＥＸを生成する。キャッシュメモリ部５２ｃは、カラー番号ＣＬ、左データＬＤおよび右データＲＤを用いて、外部メインメモリ２５のアクセス対象となるアドレスを計算し、アドレスＡＤＲが格納されるフィールド３４２に計算したアドレスを格納する。
【０１９０】
そして、キャッシュメモリ部５２ｃは、計算したアドレスからキャッシュメモリ２４のブロック番号ＢＬＫとブロック内アドレスＡＩＢとを決定し、ブロック番号ＢＬＫが格納されるフィールド３４４およびブロック内アドレスＡＩＢが格納されるフィールド３４５に格納する。この決定方法は、実施の形態１において説明したものと同じである。
【０１９１】
キャッシュメモリ部５２ｃは、ブロック番号ＢＬＫとブロック内アドレスＡＩＢとに従って、キャッシュメモリ２４からデータを読出し、読出したデータをパケットＰＡ＿ＦＣの左データＬＤが格納されるフィールド１４６または右データＲＤが格納されるフィールド１４７に格納し、パケットＰＡ＿ＦＣを分岐部５５へ送出する。
【０１９２】
次に、キャッシュメモリ部５２ｃは、ブロック内アドレスＡＩＢの値がキャッシュメモリ２４のページの最終ワードのアドレスに相当するか否かにかかわらず、無条件にパケットＰＡ＿ＥＸのファンクションコードＦＵＮＣが格納されるフィールド３４１に、「アップロード要求」を示すコードを格納し、パケットＰＡ＿ＥＸを分岐部５５へ送出する。
【０１９３】
以降の動作は、実施の形態４において説明した先読みアップロード動作と同じであるので、詳細な説明は繰返さない。
【０１９４】
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、ブロック内アドレスＡＩＢの値がキャッシュメモリ２４のページの最終ワードのアドレスに相当するか否かにかかわらず、キャッシュメモリ部５２ｃが「アップロード要求」を示すコードを含んだパケットＰＡ＿ＥＸを生成して外部メモリインタフェース５３ｃへ送出するようにしたので、実施の形態４において説明した効果に加えて、任意のタイミングで先読みアップロード動作を行なうことが可能となった。
【０１９５】
（実施の形態８）
本発明の実施の形態８におけるデータ駆動型情報処理装置は、実施の形態４におけるデータ駆動型情報処理装置と比較して、図１１に示す外部メモリ制御部５１のキャッシュメモリ部５２におけるストアバックの動作が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における外部メモリ制御部およびキャッシュメモリ部の参照符号をそれぞれ、５１ｄおよび５２ｄとして説明する。また、本実施の形態において使用されるパケットＰＡ＿ＥＸは、図１３に示すパケットＰＡ＿ＥＸと同様であるので、詳細な説明は繰返さない。
【０１９６】
キャッシュメモリ部５２ｄがパケットＰＡ＿ＦＣを受け、パケットＰＡ＿ＦＣの命令コードＯＰが「強制アップロード付き外部メモリ書込み」を示していれば、パケットＰＡ＿ＦＣから図１２（ｂ）に示すパケットＰＡ＿ＥＸを生成する。キャッシュメモリ部５２ｄは、カラー番号ＣＬ、左データＬＤおよび右データＲＤを用いて、外部メインメモリ２５のアクセス対象となるアドレスを計算し、アドレスＡＤＲが格納されるフィールド３４２に計算したアドレスを格納する。
【０１９７】
そして、キャッシュメモリ部５２ｄは、計算したアドレスからキャッシュメモリ２４のブロック番号ＢＬＫとブロック内アドレスＡＩＢとを決定し、ブロック番号ＢＬＫが格納されるフィールド３４４およびブロック内アドレスＡＩＢが格納されるフィールド３４５に格納する。この決定方法は、実施の形態１において説明したものと同じである。
【０１９８】
キャッシュメモリ部５２ｄは、ブロック番号ＢＬＫとブロック内アドレスＡＩＢとに従って、キャッシュメモリ２４にパケットＰＡ＿ＦＣの左データＬＤの値を書込み、パケットＰＡ＿ＦＣを分岐部５５へ送出する。
【０１９９】
次に、キャッシュメモリ部５２ｄは、ブロック内アドレスＡＩＢの値がキャッシュメモリ２４のページの最終ワードのアドレスに相当するか否かにかかわらず、無条件にパケットＰＡ＿ＥＸのファンクションコードＦＵＮＣが格納されるフィールド３４１に、「ストアバック要求」を示すコードを格納し、パケットＰＡ＿ＥＸを分岐部５５へ送出する。
【０２００】
以降の動作は、実施の形態４において説明したストアバック動作と同じであるので、詳細な説明は繰返さない。
【０２０１】
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、ブロック内アドレスＡＩＢの値がキャッシュメモリ２４のページの最終ワードのアドレスに相当するか否かにかかわらず、キャッシュメモリ部５２ｄが「ストアバック要求」を示すコードを含んだパケットＰＡ＿ＥＸを生成して外部メモリインタフェース５３へ送出するようにしたので、実施の形態４において説明した効果に加えて、任意のタイミングでストアバック動作を行なうことが可能となった。
【０２０２】
（実施の形態９）
本発明の実施の形態９におけるデータ駆動型情報処理装置は、図１〜図４に示す実施の形態１におけるデータ駆動型情報処理装置１と比較して、外部メモリ制御部の構成および機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における外部メモリ制御部の参照符号を６１として説明する。
【０２０３】
図１７は、本発明の実施の形態９における外部メモリ制御部６１の概略構成を示すブロック図である。図１７に示すように、外部メモリ制御部６１ａおよび６１ｂの２つがそれぞれ独立して動作するが、それぞれは同じ構成および機能を有するので、２つの外部メモリ制御部を総称して参照符号６１を用いる。
【０２０４】
外部メモリ制御部６１は、キャッシュメモリ部６２と、外部メモリポートＴＭを介してＳＤＲＡＭ１１６または１１７に接続される外部メモリインタフェース６３と、合流部６４と、分岐部６５とを含む。外部メモリ制御部６１内の外部メモリインタフェース６３から出力されるパケットＰＡ＿ＥＸ２は上りルータ６６に入力され、上りルータ６６から出力されるパケットＰＡ＿ＥＸ２は外部メモリ制御部６１の合流部６４に入力される。また、外部メモリ制御部６１内の分岐部６５から出力されるパケットＰＡ＿ＥＸ２は下りルータ６７に入力され、下りルータ６７から出力されるパケットＰＡ＿ＥＸ２は外部メモリ制御部６１の外部メモリインタフェース６３に入力される。
【０２０５】
外部メモリインタフェース６３にはメモリクロックＭＣＬＫが入力される。このメモリクロックＭＣＬＫは、外部メインメモリ２５の動作ベースクロックであり、外部メインメモリ２５はメモリクロックＭＣＬＫに同期して高速にアクセスを行なう。
【０２０６】
合流部６４、キャッシュメモリ部６２、分岐部６５、下りルータ６７、外部メモリインタフェース６３および上りルータ６６がリング状に接続されており、図１２（ｃ）を用いて説明したパケットＰＡ＿ＥＸ２がこのリング状の経路をフローするものとする。パケットＰＡ＿ＥＸ２に含まれる経路分岐フラグＢＲＦはキャッシュメモリ部６２において付与され、下りルータ６７においてパケット分岐条件として参照される。
【０２０７】
上りルータ６６および下りルータ６７は、外部メモリ制御部６１を複数個使用してデータ駆動型情報処理装置を構築する場合に、全てのキャッシュメモリ部６２と全ての外部メインメモリ２５（ＳＤＲＡＭ１１６，１１７）とが任意の組合わせでアップロードまたはストアバックできるようにするために設けられたものである。
【０２０８】
上りルータ６６は、全ての外部メモリインタフェース６３からパケットＰＡ＿ＥＸ２を受けることができ、受けたパケットＰＡ＿ＥＸ２のコア番号ＣＩの値に応じて、全てのキャッシュメモリ部６２の中からパケットＰＡ＿ＥＸ２の転送先を選択する。下りルータ６７は、全ての分岐部６５からパケットＰＡ＿ＥＸ２を受けることができ、受けたパケットＰＡ＿ＥＸ２の経路分岐フラグＢＲＦの値に応じて、全ての外部メモリインタフェース６３の中からパケットＰＡ＿ＥＸ２の転送先を選択する。
【０２０９】
キャッシュメモリ部６２がパケットＰＡ＿ＥＸ２の経路分岐フラグＢＲＦを付与するが、その付与方法は特に限定されるものではない。すなわち、キャッシュメモリ部６２から分岐部６５および下りルータ６７を通過して、２つの外部メモリインタフェース６３のいずれにパケットＰＡ＿ＥＸ２が転送されてとしても、上りルータ６６はパケットＰＡ＿ＥＸ２のコア番号ＣＩを参照して出力経路選択を行なうので、必ず転送元のキャッシュメモリ部６２へ戻ることになるからである。
【０２１０】
なお、外部メモリインタフェース６３、合流部６４および分岐部６５の動作は、図１１に用いて説明した実施の形態４における外部メモリインタフェース５３、合流部５４および分岐部５５の動作と同様であるので、詳細な説明は繰返さない。
【０２１１】
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、複数の外部メモリ制御部６１を上りルータ６６および下りルータ６７によって接続するようにしたので、全てのキャッシュメモリ部６２が任意の外部メインメモリ２５に対してアクセスできるようなり、キャッシュメモリ部６２が外部メモリインタフェース６３に接続されていない外部メインメモリ２５に対してもアップロードまたはストアバックを行なうことが可能となった。
【０２１２】
また、１つの外部メインメモリ２５を外部メモリインタフェース６３のいずれかに接続し、全ての処理コアから１つの外部メインメモリ２５へアクセスするというように、集中メモリ的にデータ駆動型情報処理システムを構築することが可能となった。
【０２１３】
（実施の形態１０）
図１８は、本発明の実施の形態１０におけるデータ駆動型情報処理装置１ａの概略構成を示すブロック図である。このデータ駆動型情報処理装置１ａは、外部メインメモリ２５（ＳＤＲＡＭ１１６，１１７）に対するアクセスを実行する複数の処理コア１０ａおよび１１ａと、外部メモリポートＴＭを介して外部メインメモリ２５に接続される複数の外部メモリインタフェース５３ａおよび５３ｂと、メインルータ７２と、上りルータ７３と、下りルータ７４と、外部メインメモリ２５に対するアクセスを実行しない処理コア１１２および１１３と、入出力制御部１１５とを含む。
【０２１４】
外部メモリインタフェース５３ａおよび５３ｂにはメモリクロックＭＣＬＫが入力される。このメモリクロックＭＣＬＫは、外部メインメモリ２５の動作ベースクロックであり、外部メインメモリ２５はメモリクロックＭＣＬＫに同期して高速にアクセスを行なう。なお、外部メモリインタフェース５３ａおよび５３ｂは、図１１に示す実施の形態４における外部メモリインタフェース５３と同様の動作を行なう。
【０２１５】
処理コア１０ａまたは１０ｂ、下りルータ７４、外部メモリインタフェース５３ａまたは５３ｂおよび上りルータ７３がリング状に接続されており、図１２（ｃ）を用いて説明したパケットＰＡ＿ＥＸ２がこのリング状の経路をフローするものとする。パケットＰＡ＿ＥＸ２に含まれる経路分岐フラグＢＲＦは処理コア１０ａまたは１０ｂにおいて付与され、下りルータ７４においてパケット分岐条件として参照される。
【０２１６】
図１９は、本発明の実施の形態１０における処理コア１０ａおよび１１ａの概略構成を示すブロック図である。本実施の形態における処理コア１０ａおよび１１ａは、図３に示す実施の形態１における処理コア１０および１１と比較して、外部メモリポートＴＭに接続される外部メモリ制御部２１がキャッシュメモリ部６２に置換されている点、分岐部１２３とキャッシュメモリ部６２との間に合流部６４が設けられている点、およびキャッシュメモリ部６２と合流部１２６との間に分岐部６５が設けられている点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、キャッシュメモリ部６２、合流部６４および分岐部６５は、図１７に示す実施の形態９におけるキャッシュメモリ部６２、合流部６４および分岐部６５と同様の動作を行なう。
【０２１７】
メインルータ７２は、入出力制御部１１５からパケットＰＡ＿ＲＴを受けると、パケットＰＡ＿ＲＴのコア番号ＣＩを参照して、パケットＰＡ＿ＲＴの転送先を決定する。パケットＰＡ＿ＲＴの転送先が外部メモリインタフェース５３ａまたは５３ｂであれば、メインルータ７２はパケットＰＡ＿ＲＴからパケットＰＡ＿ＥＸ２を生成して下りルータ７４へ送出する。
【０２１８】
すなわち、メインルータ７２はファンクションコードＦＵＮＣをノード番号ＮＤが格納されるフィールド１４３に格納し、カラーＣＬとデータＤとから計算したアドレスＡＤＲをカラーＣＬが格納されるフィールド１４４に格納し、データＥＸＤをデータＤが格納されるフィールド１４５に格納し、ブロック番号ＢＬＫが格納されるフィールド３４４およびブロック内アドレスＡＩＢが格納されるフィールド３４５にはそれぞれダミーの値を格納し、経路分岐フラグＢＲＦが格納されるフィールド３４６に所定の決定方法で求められた値を格納する。なお、パケットＰＡ＿ＲＴの命令コードＯＰおよびコア番号ＣＩは、そのままパケットＰＡ＿ＥＸ２に用いられる。
【０２１９】
下りルータ７４がパケットＰＡ＿ＥＸ２を受けると、パケットＰＡ＿ＥＸ２の経路分岐フラグＢＲＦを参照して、外部メモリ５３ａおよび５３ｂのいずれかを選択してパケットＰＡ＿ＥＸ２を転送する。なお、下りルータ７４が処理コア１０ａまたは１１ａからパケットＰＡ＿ＥＸ２を受けた場合の動作は、図１７に示す実施の形態９における下りルータ６７の動作と同様であるので、詳細な説明は繰返さない。
【０２２０】
上りルータ７３は、パケットＰＡ＿ＥＸ２を受けると、パケットＰＡ＿ＥＸ２のコア番号ＣＩを参照して、処理コア１０ａ、処理コア１１ａおよびメインルータ７２のいずれかを選択してパケットＰＡ＿ＥＸ２を転送する。なお、上りルータ７３が処理コア１０ａまたは１１ａへパケットＰＡ＿ＥＸ２を転送する場合の動作は、図１７に示す実施の形態９における上りルータ６７の動作と同様であるので、詳細な説明は繰返さない。
【０２２１】
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、複数の外部メモリインタフェース部５３ａおよび５３ｂを上りルータ７３および下りルータ７４によって接続するようにしたので、全てのキャッシュメモリ部６２が任意の外部メインメモリ２５に対してアクセスできるようなり、キャッシュメモリ部６２が外部メモリインタフェース６３に接続されていない外部メインメモリ２５に対してもアップロードまたはストアバックを行なうことが可能となった。
【０２２２】
また、１つの外部メインメモリ２５を外部メモリインタフェース６３のいずれかに接続し、全ての処理コアから１つの外部メインメモリ２５へアクセスするというように、集中メモリ的にデータ駆動型情報処理システムを構築することが可能となった。
【０２２３】
（実施の形態１１）
図２０は、本発明の実施の形態１１における外部メモリ制御部８１の概略構成を示すブロック図である。この外部メモリ制御部８１は、キャッシュメモリ部８２と、外部メモリポートＴＭを介してＳＤＲＡＭ１１６または１１７に接続される外部メモリインタフェース５３と、合流部５４と、分岐部５５とを含む。本実施の形態における外部メモリ制御部８１は、図１１に示す実施の形態４における外部メモリ制御部５１と比較して、キャッシュメモリ部８２の構成および機能のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【０２２４】
キャッシュメモリ部８２は、キャッシュメモリ８６と、キャッシュメモリアクセス制御部８７とを含む。キャッシュメモリ８６は、図１１に示す実施の形態４におけるキャッシュメモリ部５２と同様の領域ブロック分割と、ページ分割とが行なわれている。また、キャッシュメモリアクセス制御部８７は、図１１に示す実施の形態４におけるキャッシュメモリ部５２と同様のキャッシュアクセス処理を行なう。
【０２２５】
キャッシュメモリ８６とキャッシュメモリアクセス制御部８７とが、データ読出し線とデータ書込み線とによって接続されており、キャッシュメモリアクセス制御部８７はパケットＰＡ＿ＥＸに含まれる命令コードＯＰに応じて、データ読出し線またはデータ書込み線を用いてキャッシュメモリ８６へのアクセスを行なう。なお、命令コードＯＰによって示される命令は、上述した「外部メモ読出し」、「外部メモリ書込み」、「外部メモリアクセス」、「強制アップロード付き外部メモリ読出し」、「強制ストアバック付き外部メモリ書込み」、その他の演算実行に関する命令である。
【０２２６】
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、キャッシュメモリアクセス制御部８７が命令コードＯＰに応じて、１組のデータ読出し線およびデータ書込み線を用いてキャッシュメモリ８６にアクセスするようにした。したがって、１組のデータ読出し線およびデータ書込み線のみを有するキャッシュメモリであっても、演算実行に関するキャッシュメモリアクセスと、データ交換に関するキャッシュメモリアクセスとを行なうことが可能となった。
【０２２７】
（実施の形態１２）
図２１は、本発明の実施の形態１２における外部メモリ制御部９１の概略構成を示すブロック図である。この外部メモリ制御部９１は、キャッシュメモリ部９２と、外部メモリポートＴＭを介してＳＤＲＡＭ１１６または１１７に接続される外部メモリインタフェース５３と、分岐部９４と、合流部９５とを含む。本実施の形態における外部メモリインタフェース５３は、図１１に示す実施の形態４における外部メモリインタフェース５３と同様である。
【０２２８】
キャッシュメモリ部９２は、キャッシュメモリアクセス制御部９６および９８と、キャッシュメモリ９７とを含む。キャッシュメモリ９７は、図１１に示す実施の形態４におけるキャッシュメモリ部５２と同様の領域ブロック分割と、ページ分割とが行なわれている。
【０２２９】
キャッシュメモリ９７とキャッシュメモリアクセス制御部９６とが、データ読出し線とデータ書込み線とによって接続されている。同様に、キャッシュメモリ９７とキャッシュメモリアクセス制御部９８とが、データ読出し線とデータ書込み線とによって接続されている。キャッシュメモリアクセス制御部９６および９８は、パケットＰＡ＿ＥＸに含まれる命令コードＯＰに応じて、データ読出し線またはデータ書込み線を用いてキャッシュメモリ９７へのアクセスを行なう。すなわち、キャッシュメモリ９７は、データ読出し線とデータ書込み線とを２組ずつ有し、キャッシュメモリアクセス制御部９６および９８のいずれからでもアクセスが可能である。
【０２３０】
分岐部９４が発火制御部１２２からパケットＰＡ＿ＦＣを受けると、パケットＰＡ＿ＦＣをそのままキャッシュメモリアクセス部９６へ送出するとともに、パケットＰＡ＿ＦＣからパケットＰＡ＿ＥＸを生成して合流部９５へ送出する。このパケットＰＡ＿ＥＸの生成方法は、上述した生成方法と同様である。
【０２３１】
キャッシュメモリアクセス制御部９６は、データ駆動型情報処理装置１の演算実行に関するキャッシュメモリアクセスを行なう。また、キャッシュメモリアクセス制御部９８は、キャッシュメモリ９７と外部メインメモリ２５との間のデータ交換に関するキャッシュメモリアクセスを行なう。
【０２３２】
キャッシュメモリアクセス制御部９６は、パケットＰＡ＿ＦＣの命令コードＯＰが外部メモリ読出しまたは外部メモリ書込みであれば、カラー番号ＣＬ、左データＬＤおよび右データＲＤを用いて、外部メインメモリ２５のアクセス対象となるアドレスを計算する。キャッシュメモリアクセス制御部９６は、計算したアドレスからキャッシュメモリ２４のブロック番号ＢＬＫとブロック内アドレスＡＩＢとを決定し、ブロック番号ＢＬＫが格納されるフィールド３４４およびブロック内アドレスＡＩＢが格納されるフィールド３４５に格納する。
【０２３３】
そして、キャッシュメモリアクセス制御部９６は、ブロック番号ＢＬＫとブロック内アドレスＡＩＢとに従って、データ読出し線またはデータ書込み線を用いてキャッシュメモリ９７に対するデータ読出しまたはデータ書込みを行ない、データを読出した場合にはパケットＰＡ＿ＦＣの左データＬＤが格納されるフィールド１４６または右データＲＤが格納されるフィールド１４７にデータを格納し、演算処理部１２７へ送出する。
【０２３４】
キャッシュメモリアクセス制御部９８はパケットＰＡ＿ＥＸを受けると、パケットＰＡ＿ＥＸが「アップロード要求」であるか、「ストアバック要求」であるかによって、上述した先読みアップロード動作またはストアバック動作を行なう。このとき、キャッシュメモリアクセス制御部９８は、データ読出し線またはデータ書込み線を用いてキャッシュメモリ９７に対するデータ読出しまたはデータ書込みを行なう。
【０２３５】
以上説明したように、キャッシュメモリアクセス制御部９６がデータ駆動型情報処理装置１の演算実行に関するキャッシュメモリアクセスを行ない、キャッシュメモリアクセス制御部９８がキャッシュメモリ９７と外部メインメモリ２５との間のデータ交換に関するキャッシュメモリアクセスを行なうようにしたので、パケットＰＡ＿ＦＣ（演算実行に関するキャッシュメモリアクセス）とパケットＰＡ＿ＥＸ（データ交換に関するキャッシュメモリアクセス）の経路を分離することができ、パケットの転送レートをハードウェアが有する最大の転送レートと等しくすることが可能となった。
【０２３６】
（実施の形態１３）
図２２は、本発明の実施の形態１３における外部メモリ制御部９１’の概略構成を示すブロック図である。この外部メモリ制御部９１’は、図２１に示す実施の形態１２における外部メモリ制御部９１と比較して、キャッシュメモリ部９２がキャッシュメモリ部９２’に置換されている点、およびパラメータレジスタ９０３が追加されている点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【０２３７】
キャッシュメモリ部９２’は、キャッシュメモリアクセス制御部９６および９８と、キャッシュメモリ８６と、マルチプレクサ９０１と、デマルチプレクサ９０２とを含む。キャッシュメモリアクセス制御部９６および９８は、図２１に示す実施の形態１１におけるキャッシュメモリアクセス制御部９６および９８と同様である。キャッシュメモリ８６は、１組のデータ読出し線およびデータ書込み線のみを有している。
【０２３８】
パラメータレジスタ９０３は、キャッシュメモリアクセス制御部９６および９８のいずれのデータ読出し線およびデータ書込み線を有効にするかの２ビットの情報が格納されている。マルチプレクサ９０１およびデマルチプレクサ９０２は、パラメータレジスタ９０３に格納される２ビットの情報によって、データ読出し線およびデータ書込み線を切替えて、キャッシュメモリ８６とキャッシュメモリアクセス制御部９６または９８とを接続する。なお、パラメータレジスタ９０３に格納される２ビットの情報は、キャッシュメモリアクセス制御部９６に到着するパケットＰＡ＿ＦＣの命令コードＯＰによる指示によって、動的に更新される。
【０２３９】
以上説明したように、本実施の形態におけるデータ駆動型情報処理装置によれば、パラメータレジスタ９０３に格納される２ビットの情報に応じて、マルチプレクサ９０１およびデマルチプレクサ９０２がデータ読出し線およびデータ書込み線を切替えるようにしたので、１組のデータ読出し線およびデータ書込み線を有するキャッシュメモリであっても、実施の形態１２において説明した効果と同様の効果を奏することが可能となった。
【０２４０】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０２４１】
【発明の効果】
本発明のある局面によれば、外部メモリインタフェースが所定のタイミングで外部メモリから規則的にデータを先読みするので、外部メモリに対するアクセス要求に対応したデータが常にキャッシュメモリに保持されることになり、データ駆動型情報処理装置の並列処理能力の低下を防止することが可能となった。
【０２４２】
また、キャッシュメモリ部が外部メモリに対するデータ読出し要求に応じて、キャッシュメモリの所定の領域からデータを読出したときに、外部メモリインタフェースは、外部メモリからデータを先読みするので、外部メモリに格納されたデータの先読みを適切に行なうことが可能になった。
【０２４３】
また、キャッシュメモリ部が外部メモリに対するデータ読出し要求に応じて、キャッシュメモリのページの最終ワードを読出したときに、外部メモリインタフェースは、ページよりも所定ページだけ先のデータを外部メモリから先読みするので、外部メモリに格納されたデータの先読みを適切に行なうことが可能になった。
【０２４４】
また、キャッシュメモリ部が外部メモリに対するデータ読出し要求に応じて、キャッシュメモリの所定領域からデータを読出したときに、外部メモリインタフェースは、レジスタに格納された先読みの度合いに応じて外部メモリからデータを先読みするので、外部メモリのアクセス速度に応じて外部メモリに格納されたデータの先読みの度合いを変更することが可能になった。
【０２４５】
また、非同期なパケット転送を行なう自己同期型転送制御回路の構成を維持しつつ、データ駆動型情報処理装置の並列処理能力を低下させずにアップロードまたはストアバックを行なうことが可能になった。
【０２４６】
また、キャッシュメモリ部が強制アップロード付き外部メモリ読出し要求を受けたときに、外部メモリインタフェースは外部メモリからデータを先読みするので、任意のタイミングで外部メモリからデータをアップロードすることが可能になった。
【０２４７】
また、キャッシュメモリ部が外部メモリに対するデータ書込み要求に応じて、キャッシュメモリの所定の領域にデータを書込んだときに、外部メモリインタフェースは、キャッシュメモリに記憶されるデータを外部メモリにストアバックするので、外部メモリに対するストアバックを適切に行なうことが可能になった。
【０２４８】
また、キャッシュメモリ部が外部メモリに対するデータ書込み要求に応じて、キャッシュメモリのページの最終ワードにデータを書込んだときに、外部メモリインタフェースは、キャッシュメモリのページに記憶されるデータを外部メモリにストアバックするので、外部メモリに対するストアバックを適切に行なうことが可能になった。
【０２４９】
また、キャッシュメモリ部が強制ストアバック付き外部メモリ書込み要求を受けたときに、外部メモリインタフェースは外部メモリにデータをストアバックするので、任意のタイミングで外部メモリに対するストアバックを行なうことが可能となった。
【０２５０】
また、非同期なパケット転送を行なう自己同期型転送制御回路の構成を維持しつつ、外部メモリにアクセスモードの設定等を行なうことが可能となった。
【０２５１】
また、１組のデータ読出し線およびデータ書込み線のみを有するキャッシュメモリであっても、演算実行に関するキャッシュメモリアクセスと、データ交換に関するキャッシュメモリアクセスとを行なうことが可能となった。
【０２５２】
また、第１のキャッシュメモリアクセス制御部が外部メモリに対するデータアクセス要求に応じて、２組のデータ読み出し線およびデータ書込み線の一方を用いてキャッシュメモリに対してアクセスし、第２のキャッシュメモリアクセス制御部が所定のタイミングで外部メモリから規則的にデータを先読みし、２組のデータ読出し線およびデータ書込み線の他方を用いて、先読みしたデータをキャッシュメモリに格納するので、演算実行に関するキャッシュメモリアクセスの経路と、データ交換に関するキャッシュメモリアクセスの経路とを分離することができ、パケットの転送レートを向上させることが可能となった。
【０２５３】
また、１組のデータ読出し線およびデータ書込み線のみを有するキャッシュメモリであっても、演算実行に関するキャッシュメモリアクセスの経路と、データ交換に関するキャッシュメモリアクセスの経路とを分離することができ、パケットの転送レートを向上させることが可能となった。
【０２５４】
本発明の別の局面によれば、ルータが複数の外部メモリインタフェースによって先読みされたデータを複数のキャッシュメモリ部へ選択的に送出するので、処理コアが任意の外部メモリに対してアクセスを行なうことが可能となった。
【０２５５】
また、外部メモリインタフェースが外部メモリのベースクロックに同期して外部メモリに対するバーストアクセスを行なうので、キャッシュメモリ部と外部メモリインタフェースとの動作依存性をなくして並列性を向上させることができ、外部メモリ制御装置の動作をさらに高速にすることが可能となった。
【０２５６】
本発明のさらに別の局面によれば、ルータが複数の処理コアから送出された第２のパケットを複数の外部メモリインタフェースへ選択的に送出するので、処理コアは外部メモリインタフェースを介して任意の外部メモリにアクセスすることが可能となった。
【図面の簡単な説明】
【図１】  本発明の実施の形態１におけるデータ駆動型情報処理システムの概略構成を示すブロック図である。
【図２】  本発明の実施の形態１におけるデータ駆動型情報処理装置１の概略構成を示すブロック図である。
【図３】  本発明の実施の形態１における処理コア１０および１１の概略構成を示すブロック図である。
【図４】  本発明の実施の形態１における外部メモリ制御部２１の概略構成を示すブロック図である。
【図５】  キャッシュメモリ２４のブロックと外部メインメモリ２５のクラスタとの関係を示す図である。
【図６】  外部メインメモリ２５のクラスタの１ページ分のデータが順番にキャッシュメモリ２４にアップロードされるところを示す図である。
【図７】  外部メモリ制御部２１が実行する先読みアップロードを説明するための図である。
【図８】  外部メモリ制御部２１が実行するストアバックを説明するための図である。
【図９】  本発明の実施の形態２における外部メモリ制御部３１の概略構成を示すブロック図である。
【図１０】  本発明の実施の形態３における外部メモリ制御部４１の概略構成を示すブロック図である。
【図１１】  本発明の実施の形態４における外部メモリ制御部５１の概略構成を示すブロック図である。
【図１２】  本発明の実施の形態４における外部メモリ制御部５１で使用されるパケットを説明するための図である。
【図１３】  外部メモリインタフェース５３がキャッシュメモリ部５２にデータをアップロードするときに生成されるパケットＰＡ＿ＥＸを説明するための図である。
【図１４】  外部メモリインタフェース５３が外部メインメモリ２５にデータをストアバックするときに生成されるパケットＰＡ＿ＥＸを説明するための図である。
【図１５】  キャッシュメモリ部５２ａによって生成される「外部メモリ書込み」を示すパケットＰＡ＿ＥＸを示す図である。
【図１６】  キャッシュメモリ部５２ｂによって生成される「外部メモリアクセス動作」を示すパケットＰＡ＿ＥＸを示す図である。
【図１７】  本発明の実施の形態９における外部メモリ制御部６１の概略構成を示すブロック図である。
【図１８】  本発明の実施の形態１０におけるデータ駆動型情報処理装置１ａの概略構成を示すブロック図である。
【図１９】  本発明の実施の形態１０における処理コア１０ａおよび１１ａの概略構成を示すブロック図である。
【図２０】  本発明の実施の形態１１における外部メモリ制御部８１の概略構成を示すブロック図である。
【図２１】  本発明の実施の形態１２における外部メモリ制御部９１の概略構成を示すブロック図である。
【図２２】  本発明の実施の形態１３における外部メモリ制御部９１’の概略構成を示すブロック図である。
【図２３】  従来のデータ駆動型情報処理システムの概略構成を示すブロック図である。
【図２４】  データ駆動型情報処理装置１０１によって使用されるパケットを説明するための図である。
【図２５】  データ駆動型情報処理装置１０１および外部メモリ１０２の概略構成を示すブロック図である。
【図２６】  処理コア１１０および１１１の概略構成を示すブロック図である。
【図２７】  処理コア１１２および１１３の概略構成を示すブロック図である。
【図２８】  従来のデータ駆動型情報処理装置１０１内部にある外部メモリ制御部１２１の概略構成を示すブロック図である。
【符号の説明】
１，１ａ，１０１  データ駆動型情報処理装置、２，１０２  外部メモリ、３〜６，１０３〜１０６  データ伝送路、７，１０７  アクセス制御線、１０，１０ａ，１１，１１ａ，１１０〜１１３  処理コア、２１，３１，４１，５１，６１ａ，６１ｂ，８１，９１，９１’，１２１  外部メモリ制御部、２２，３２，４２，５２，６２，８２，９２，９２’，１３４  キャッシュメモリ部、２３，３３，４３，５３，５３ａ，５３ｂ，６３，１３５  外部メモリインタフェース、２４，８６，９７，１３６  キャッシュメモリ、２５，１３７  外部メインメモリ、３４，９０３  パラメータレジスタ、５４，６４，９５，１２６  合流部、５５，６５，９４，１２３  分岐部、６６，７３  上りルータ、６７，７４  下りルータ、７２，１１４  メインルータ、８７，９６，９８  キャッシュメモリアクセス制御部、１１５  入出力制御部、１１６，１１７  ＳＤＲＡＭ、１２２  発火制御部、１２４  内蔵メモリ制御部、１２５  内蔵メモリ、１２７  演算処理部、１２８  プログラム記憶部、９０１  マルチプレクサ、９０２  デマルチプレクサ。
【図１】
0004093741.tif 000002
【図２】
0004093741.tif 000003
【図３】
0004093741.tif 000004
【図４】
0004093741.tif 000005
【図５】
0004093741.tif 000006
【図６】
0004093741.tif 000007
【図７】
0004093741.tif 000008
【図８】
0004093741.tif 000009
【図９】
0004093741.tif 000010
【図１０】
0004093741.tif 000011
【図１１】
0004093741.tif 000012
【図１２】
0004093741.tif 000013
【図１３】
0004093741.tif 000014
【図１４】
0004093741.tif 000015
【図１５】
0004093741.tif 000016
【図１６】
0004093741.tif 000017
【図１７】
0004093741.tif 000018
【図１８】
0004093741.tif 000019
【図１９】
0004093741.tif 000020
【図２０】
0004093741.tif 000021
【図２１】
0004093741.tif 000022
【図２２】
0004093741.tif 000023
【図２３】
0004093741.tif 000024
【図２４】
0004093741.tif 000025
【図２５】
0004093741.tif 000026
【図２６】
0004093741.tif 000027
【図２７】
0004093741.tif 000028
【図２８】
0004093741.tif 000029