(57)【要約】【課題】間接ベクトル参照を行う場合の処理効率を向上させることのできる情報処理装置を提供する。【解決手段】データへのアクセスに利用されるインデックス列を記憶するインデックス列記憶手段１１２と、インデックス列記憶手段１１２からインデックス列を取得し、ＦＩＦＯ方式により前記インデックス列を順次出力するＦＩＦＯバッファ１２０と、ＦＩＦＯバッファ１２０からインデックス列を順次取得すると、インデックス列に基づいて、データを記憶するデータ記憶手段１１４への不連続なアクセスを行うための不連続アドレス列を生成するアドレス生成手段１３０と、アドレス生成手段１３０によって生成された不連続アドレス列に基づいてデータ記憶手段１１４にアクセスするアクセス手段１３０とを備えたことを特徴とする。【選択図】        図１
2007041810.tif 000002
【特許請求の範囲】
【請求項１】
データへのアクセスに利用されるインデックス列を記憶するインデックス列記憶手段と、
前記インデックス列記憶手段から前記インデックス列を取得し、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）方式により前記インデックス列を順次出力するＦＩＦＯバッファと、
前記ＦＩＦＯバッファから前記インデックス列を順次取得すると、前記インデックス列に基づいて、データを記憶するデータ記憶手段への不連続なアクセスを行うための不連続アドレス列を生成するアドレス生成手段と、
前記アドレス生成手段によって生成された前記不連続アドレス列に基づいて前記データ記憶手段にアクセスするアクセス手段と
を備えたことを特徴とする情報処理装置。
【請求項２】
前記アクセス手段により得られたデータをアクセス順に格納し、前記データを前記アクセス順に他の演算回路に転送するベクトルレジスタをさらに備えたことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
主記憶をさらに備え、
前記インデックス列記憶手段は、前記主記憶に設けられていることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
主記憶をさらに備え、
前記データ記憶手段は、前記主記憶に設けられていることを特徴とする請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
前記ＦＩＦＯバッファに格納されているデータを削除するデータ削除手段をさらに備えたことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記データ削除手段は、前記データ記憶手段からの前記データの読み出しを示すロードコマンドが発行された場合に、前記ＦＩＦＯバッファに格納されているデータを削除することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
複数の前記ＦＩＦＯバッファと、
複数の前記ＦＩＦＯバッファそれぞれから取得した前記インデックス列から前記不連続アドレス列を生成する複数の前記アドレス生成手段と、
複数の前記アドレス生成手段それぞれにおいて生成された前記不連続アドレス列に基づいて前記データ記憶手段にアクセスする複数の前記アクセス手段と
をさらに備えたことを特徴とする請求項２に記載の情報処理装置。
【請求項８】
複数の前記アクセス手段それぞれにより得られた各データをアクセス順に格納し、前記アクセス順に他の演算回路に転送する複数のベクトルレジスタをさらに備えたことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
複数の前記ＦＩＦＯバッファの利用状況に基づいて、複数の前記ＦＩＦＯバッファの中から前記インデックス列を読み出すべきＦＩＦＯバッファを指定するＦＩＦＯバッファ指定手段をさらに備え、
複数のＦＩＦＯバッファのうち、前記ＦＩＦＯバッファ指定手段により指定された前記ＦＩＦＯバッファは、前記インデックス列記憶手段に記憶されている前記インデックス列を取得し、ＦＩＦＯ方式により前記インデックス列を順次出力することを特徴とする請求項７または８に記載の情報処理装置。
【請求項１０】
複数の前記ＦＩＦＯバッファをさらに備え、
前記アドレス生成手段は、複数の前記ＦＩＦＯバッファのそれぞれから前記インデックス列を順次取得し、各インデックス列に基づいて複数の前記不連続アドレス列を生成し、
前記アクセス手段は、複数の前記不連続アドレス列それぞれに基づいて、前記データ記憶手段にアクセスすることを特徴とする請求項１に記載の情報処理装置。
【請求項１１】
メモリバスに接続された情報処理装置であって、
データへのアクセスに利用されるインデックス列を記憶するインデックス列記憶手段と、
演算手段により発行された、前記データの転送を示すプリロードコマンドを、前記メモリバスを介して取得するコマンド取得手段と、
前記コマンド取得手段が前記プリロードコマンドを取得すると、前記インデックス列記憶手段から前記インデックス列を取得し、ＦＩＦＯ方式により前記インデックス列を順次出力するＦＩＦＯバッファと、
前記ＦＩＦＯバッファから前記インデックス列を順次取得すると、前記インデックス列に基づいて、前記外部メモリへの不連続なアクセスを行うための不連続アドレス列を生成するアドレス生成手段と、
前記アドレス生成手段によって生成された前記不連続アドレス列に基づいて、外部メモリから前記不連続アドレス列に対応するデータ列を取得し、バッファメモリに前記データ列を格納するメモリアクセス手段と、
前記バッファメモリに格納されたデータ列を、当該データ列単位で前記メモリバスを介して前記演算手段に転送する転送手段と
を備えたことを特徴とする情報処理装置。
【請求項１２】
前記インデックス列記憶手段は、外部メモリに設けられていることを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
当該情報処理装置は、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）に搭載され、
前記ＦＩＦＯバッファは、当該ＬＳＩの外部ピンと当該ＦＩＦＯバッファとの間の距離が前記外部ピンと前記ベクトルレジスタとの間の距離よりも大きくなるような位置に配置されることを特徴とする請求項１１または１２に記載の情報処理装置。
【請求項１４】
外部メモリへのアクセスに利用されるインデックス列を記憶するメモリから前記インデックス列を取得し、ＦＩＦＯ方式により前記インデックス列を順次出力するＦＩＦＯバッファと、
前記ＦＩＦＯバッファから前記インデックス列を順次取得すると、前記インデックス列に基づいて、前記メモリへの不連続なアクセスを行うための不連続アドレス列を生成するアドレス生成手段と、
前記アドレス生成手段によって生成された前記不連続アドレス列に基づいて前記外部メモリにアクセスするアクセス手段と
を備えたことを特徴とするＤＭＡコントローラ。
【請求項１５】
前記インデックス列を記憶するローカルメモリをさらに備え、
前記ＦＩＦＯバッファは、前記ローカルメモリから前記インデックス列を取得することを特徴とする請求項１４に記載のＤＭＡコントローラ。
【請求項１６】
前記メモリと内部ネットワークを介して接続され、
前記ＦＩＦＯバッファは、前記内部ネットワークを介して前記メモリから前記インデックス列を取得することを特徴とする請求項１５に記載のＤＭＡコントローラ。
【請求項１７】
外部メモリを有する第１の情報処理装置と、当該外部メモリの情報を利用して演算を行う第２の情報処理装置とを備えた情報処理システムであって、
前記第１の情報処理装置は、
前記外部メモリへのアクセスに利用されるインデックス列を記憶するインデックス列記憶手段と、
前記インデックス列記憶手段から前記インデックス列を取得し、ＦＩＦＯ方式により前記インデックス列を順次出力するＦＩＦＯバッファと、
前記ＦＩＦＯバッファから前記インデックス列を順次取得すると、前記インデックス列に基づいて、前記外部メモリへの不連続なアクセスを行うための不連続アドレス列を生成するアドレス生成手段と、
前記アドレス生成手段によって生成された前記不連続アドレス列に基づいて前記外部メモリから前記不連続アドレス列に対応するデータ列を取得し、バッファメモリに前記データ列を格納するメモリアクセス手段と、
前記バッファメモリに格納されたデータ列を、当該データ列単位で前記メモリバスを介して前記第１の情報処理装置に転送する転送手段と
を有し、
前記第２の情報処理装置は、
前記第１の情報処理装置から前記データを取得するＤＭＡコントローラと、
前記ＤＭＡコントローラが取得した前記データを格納するローカルメモリと
を有することを特徴とする情報処理システム。
【請求項１８】
前記第１の情報処理装置は、前記第２の情報処理装置により発行された、外部メモリからベクトルレジスタへのデータの転送を示すプリロードコマンドを取得するプリロードコマンド取得手段をさらに有し、
前記ＦＩＦＯバッファは、前記プリロードコマンド取得手段が前記プリロードコマンドを取得すると、前記インデックス列記憶手段から前記インデックス列を取得し、ＦＩＦＯ方式により前記インデックス列を順次出力することを特徴とする請求項１７に記載の情報処理システム。
【請求項１９】
ＦＩＦＯバッファが、データへのアクセスに利用されるインデックス列を記憶するインデックス列記憶手段から前記インデックス列を取得し、ＦＩＦＯ方式により前記インデックス列を順次出力する出力ステップと、
前記出力ステップにおいて、前記ＦＩＦＯバッファから前記インデックス列を順次取得すると、前記インデックス列に基づいて、データを記憶するデータ記憶手段への不連続なアクセスを行うための不連続アドレス列を生成するアドレス生成ステップと、
前記アドレス生成ステップにおいて生成された前記不連続アドレス列に基づいて前記データ記憶手段にアクセスするアクセスステップと
を有することを特徴とする情報処理方法。
【請求項２０】
メモリバスに接続された情報処理装置における情報処理方法であって、
演算手段により発行された、データの転送を示すプリロードコマンドを、前記メモリバスを介して取得するコマンド取得ステップと、
前記コマンド取得ステップにおいて前記プリロードコマンドを取得すると、ＦＩＦＯバッファがデータへのアクセスに利用されるインデックス列を記憶するインデックス列記憶手段から前記インデックス列を取得し、ＦＩＦＯ方式により前記インデックス列を順次出力する出力ステップと、
前記ＦＩＦＯバッファから前記インデックス列を順次取得すると、前記インデックス列に基づいて、前記外部メモリへの不連続なアクセスを行うための不連続アドレス列を生成するアドレス生成ステップと、
前記アドレス生成ステップにおいて生成された前記不連続アドレス列に基づいて、外部メモリから前記不連続アドレス列に対応するデータ列を取得し、バッファメモリに前記データ列を格納するメモリアクセスステップと、
前記メモリアクセスステップにおいて前記バッファメモリに格納されたデータ列を、当該データ列単位で前記メモリバスを介して前記演算手段に転送する転送ステップと
を有することを特徴とする情報処理方法。
【請求項２１】
ＤＭＡコントローラにおける情報処理方法であって、
ＦＩＦＯバッファが外部メモリへのアクセスに利用されるインデックス列を記憶するローカルメモリから前記インデックス列を取得し、ＦＩＦＯ方式により前記インデックス列を順次出力する出力ステップと、
前記ＦＩＦＯバッファから前記インデックス列を順次取得すると、前記インデックス列に基づいて、前記メモリへの不連続なアクセスを行うための不連続アドレス列を生成するアドレス生成ステップと、
前記アドレス生成ステップにおいて生成された前記不連続アドレス列に基づいて前記外部メモリにアクセスするアクセスステップと
を有することを特徴とする情報処理方法。
【請求項２２】
外部メモリを有する第１の情報処理装置と、当該外部メモリの情報を利用して演算を行う第２の情報処理装置とを備えた情報処理システムにおける情報処理方法であって、
前記第１の情報処理装置が、前記外部メモリへのアクセスに利用されるインデックス列を記憶するインデックス列記憶手段から前記インデックス列を取得し、ＦＩＦＯ方式により前記インデックス列を順次出力する出力ステップと、
前記第１の情報処理装置が、前記出力ステップにおいて出力された前記インデックス列を順次取得すると、前記インデックス列に基づいて、前記外部メモリへの不連続なアクセスを行うための不連続アドレス列を生成するアドレス生成ステップと、
前記第１の情報処理装置が、前記アドレス生成ステップにおいて生成された前記不連続アドレス列に基づいて前記外部メモリから前記不連続アドレス列に対応するデータ列を取得し、バッファメモリに前記データ列を格納するメモリアクセスステップと、
前記メモリアクセスステップにおいて、前記バッファメモリに格納されたデータ列を、当該データ列単位で前記メモリバスを介して前記第１の情報処理装置に転送する転送ステップと、
前記第２の情報処理装置のＤＭＡコントローラが、前記第１の情報処理装置から前記データを取得するデータ取得ステップと、
前記データ取得ステップにおいて、前記ＤＭＡコントローラが取得した前記データをローカルメモリに格納する格納ステップと
を有することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データアクセスを行う情報処理装置、情報処理システム、ＤＭＡコントローラおよび情報処理方法に関するものである。
【背景技術】
【０００２】
従来、ベクトル型コンピュータにおいて不連続にベクトル参照を行う方法として、間接ベクトル参照が知られている。間接ベクトル参照命令を実行するための制御回路においては、指標ベクトルと呼ばれるインデックス列を保持するためにベクトルレジスタが用いられてきた（例えば、非特許文献１参照）。この方式では、ベクトル長がベクトルレジスタの語数を越える場合には、全体の処理をベクトルレジスタの語数に合わせて分割（ストリップマイニング処理）し、分割数だけベクトルロード命令を起動して主記憶からの指標ベクトルのロードを行なっていた。
【０００３】
【非特許文献１】長島，田中  “スーパコンピュータ”，  オーム社，ＩＳＢＮ４−２７４−０７７４１，ｐ．３８〜４０（Ｎｏｖ．  １９９２）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このように、ベクトルレジスタの語数に合わせて分割した場合には、分割数だけベクトルロード命令を起動する必要があるため、このベクトルロード命令の起動にかかるオーバーヘッドが実行時間に追加されることとなる。このため、処理の遅延を招いていた。
【０００５】
また、指標ベクトルを用いた間接ベクトル参照命令を起動開始するためには、その命令で用いる指標ベクトルをベクトルレジスタにロードし終わっていなければならない。このため、間接ベクトル参照命令が実際に起動されるタイミングが遅延してしまう。
【０００６】
このように、間接ベクトル参照を行う場合には処理効率が低下してしまうという問題があった。
【０００７】
本発明は、上記に鑑みてなされたものであって、間接ベクトル参照を行う場合の処理効率を向上させることのできる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、情報処理装置であって、データへのアクセスに利用されるインデックス列を記憶するインデックス列記憶手段と、前記インデックス列記憶手段から前記インデックス列を取得し、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）方式により前記インデックス列を順次出力するＦＩＦＯバッファと、前記ＦＩＦＯバッファから前記インデックス列を順次取得すると、前記インデックス列に基づいて、データを記憶するデータ記憶手段への不連続なアクセスを行うための不連続アドレス列を生成するアドレス生成手段と、前記アドレス生成手段によって生成された前記不連続アドレス列に基づいて前記データ記憶手段にアクセスするアクセス手段とを備えたことを特徴とする。
【０００９】
また、本発明の他の形態は、メモリバスに接続された情報処理装置であって、データへのアクセスに利用されるインデックス列を記憶するインデックス列記憶手段と、演算手段により発行された、前記データの転送を示すプリロードコマンドを、前記メモリバスを介して取得するコマンド取得手段と、前記コマンド取得手段が前記プリロードコマンドを取得すると、前記インデックス列記憶手段から前記インデックス列を取得し、ＦＩＦＯ方式により前記インデックス列を順次出力するＦＩＦＯバッファと、前記ＦＩＦＯバッファから前記インデックス列を順次取得すると、前記インデックス列に基づいて、前記外部メモリへの不連続なアクセスを行うための不連続アドレス列を生成するアドレス生成手段と、前記アドレス生成手段によって生成された前記不連続アドレス列に基づいて、外部メモリから前記不連続アドレス列に対応するデータ列を取得し、バッファメモリに前記データ列を格納するメモリアクセス手段と、前記バッファメモリに格納されたデータ列を、当該データ列単位で前記メモリバスを介して前記演算手段に転送する転送手段とを備えたことを特徴とする。
【００１０】
また、本発明の他の形態は、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラであって、外部メモリへのアクセスに利用されるインデックス列を記憶するローカルメモリと、前記ローカルメモリから前記インデックス列を取得し、ＦＩＦＯ方式により前記インデックス列を順次出力するＦＩＦＯバッファと、前記ＦＩＦＯバッファから前記インデックス列を順次取得すると、前記インデックス列に基づいて、前記メモリへの不連続なアクセスを行うための不連続アドレス列を生成するアドレス生成手段と、前記アドレス生成手段によって生成された前記不連続アドレス列に基づいて前記外部メモリにアクセスするアクセス手段とを備えたことを特徴とする。
【００１１】
また、本発明の他の形態は、外部メモリを有する第１の情報処理装置と、当該外部メモリの情報を利用して演算を行う第２の情報処理装置とを備えた情報処理システムであって、前記第１の情報処理装置は、前記外部メモリへのアクセスに利用されるインデックス列を記憶するインデックス列記憶手段と、前記インデックス列記憶手段から前記インデックス列を取得し、ＦＩＦＯ方式により前記インデックス列を順次出力するＦＩＦＯバッファと、前記ＦＩＦＯバッファから前記インデックス列を順次取得すると、前記インデックス列に基づいて、前記外部メモリへの不連続なアクセスを行うための不連続アドレス列を生成するアドレス生成手段と、前記アドレス生成手段によって生成された前記不連続アドレス列に基づいて前記外部メモリから前記不連続アドレス列に対応するデータ列を取得し、バッファメモリに前記データ列を格納するメモリアクセス手段と、前記バッファメモリに格納されたデータ列を、当該データ列単位で前記メモリバスを介して前記第１の情報処理装置に転送する転送手段とを有し、前記第２の情報処理装置は、前記第１の情報処理装置から前記データを取得するＤＭＡコントローラと、前記ＤＭＡコントローラが取得した前記データを格納するローカルメモリとを有することを特徴とする。
【００１２】
また、本発明の他の形態は、情報処理方法であって、ＦＩＦＯバッファが、データへのアクセスに利用されるインデックス列を記憶するインデックス列記憶手段から前記インデックス列を取得し、ＦＩＦＯ方式により前記インデックス列を順次出力する出力ステップと、前記出力ステップにおいて、前記ＦＩＦＯバッファから前記インデックス列を順次取得すると、前記インデックス列に基づいて、データを記憶するデータ記憶手段への不連続なアクセスを行うための不連続アドレス列を生成するアドレス生成ステップと、前記アドレス生成ステップにおいて生成された前記不連続アドレス列に基づいて前記データ記憶手段にアクセスするアクセスステップとを有することを特徴とする。
【００１３】
また、本発明の他の形態は、メモリバスに接続された情報処理装置における情報処理方法であって、演算手段により発行された、データの転送を示すプリロードコマンドを、前記メモリバスを介して取得するコマンド取得ステップと、前記コマンド取得ステップにおいて前記プリロードコマンドを取得すると、ＦＩＦＯバッファがデータへのアクセスに利用されるインデックス列を記憶するインデックス列記憶手段から前記インデックス列を取得し、ＦＩＦＯ方式により前記インデックス列を順次出力する出力ステップと、前記ＦＩＦＯバッファから前記インデックス列を順次取得すると、前記インデックス列に基づいて、前記外部メモリへの不連続なアクセスを行うための不連続アドレス列を生成するアドレス生成ステップと、前記アドレス生成ステップにおいて生成された前記不連続アドレス列に基づいて、外部メモリから前記不連続アドレス列に対応するデータ列を取得し、バッファメモリに前記データ列を格納するメモリアクセスステップと、前記メモリアクセスステップにおいて前記バッファメモリに格納されたデータ列を、当該データ列単位で前記メモリバスを介して前記演算手段に転送する転送ステップとを有することを特徴とする。
【００１４】
また、本発明の他の形態は、ＤＭＡコントローラにおける情報処理方法であって、ＦＩＦＯバッファが外部メモリへのアクセスに利用されるインデックス列を記憶するローカルメモリから前記インデックス列を取得し、ＦＩＦＯ方式により前記インデックス列を順次出力する出力ステップと、前記ＦＩＦＯバッファから前記インデックス列を順次取得すると、前記インデックス列に基づいて、前記メモリへの不連続なアクセスを行うための不連続アドレス列を生成するアドレス生成ステップと、前記アドレス生成ステップにおいて生成された前記不連続アドレス列に基づいて前記外部メモリにアクセスするアクセスステップとを有することを特徴とする。
【００１５】
また、本発明の他の形態は、外部メモリを有する第１の情報処理装置と、当該外部メモリの情報を利用して演算を行う第２の情報処理装置とを備えた情報処理システムにおける情報処理方法であって、前記第１の情報処理装置が、前記外部メモリへのアクセスに利用されるインデックス列を記憶するインデックス列記憶手段から前記インデックス列を取得し、ＦＩＦＯ方式により前記インデックス列を順次出力する出力ステップと、前記第１の情報処理装置が、前記出力ステップにおいて出力された前記インデックス列を順次取得すると、前記インデックス列に基づいて、前記外部メモリへの不連続なアクセスを行うための不連続アドレス列を生成するアドレス生成ステップと、前記第１の情報処理装置が、前記アドレス生成ステップにおいて生成された前記不連続アドレス列に基づいて前記外部メモリから前記不連続アドレス列に対応するデータ列を取得し、バッファメモリに前記データ列を格納するメモリアクセスステップと、前記メモリアクセスステップにおいて、前記バッファメモリに格納されたデータ列を、当該データ列単位で前記メモリバスを介して前記第１の情報処理装置に転送する転送ステップと、前記第２の情報処理装置のＤＭＡコントローラが、前記第１の情報処理装置から前記データを取得するデータ取得ステップと、前記データ取得ステップにおいて、前記ＤＭＡコントローラが取得した前記データをローカルメモリに格納する格納ステップとを有することを特徴とする。
【発明の効果】
【００１６】
本発明にかかる情報処理装置は、インデックス列記憶手段からインデックス列を取得し、ＦＩＦＯ方式によりインデックス列を順次出力するＦＩＦＯバッファを備え、ＦＩＦＯバッファから出力されたインデックスに基づいて順次不連続アドレスを生成することができるので、不連続アドレスへのアクセスにおける処理効率を向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下に、本発明にかかる情報処理装置、情報処理システム、ＤＭＡコントローラおよび情報処理方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１８】
（実施の形態１）
図１は、実施の形態１にかかる情報処理装置１００の構成を示すブロック図である。実施の形態１にかかる情報処理装置１００は、ベクトル型プロセッサに適用されている。
【００１９】
情報処理装置１００は、主記憶１１０と、リスト専用ＦＩＦＯ１２０と、間接指標ベクトルアドレス生成部１３０と、間接指標ベクトル用レジスタ１４０とを備えている。主記憶１１０は、指標ベクトル記憶部１１２と、データ記憶部１１４とを記憶している。
【００２０】
情報処理装置１００は、間接指標ベクトル参照を行う。図２は、間接指標ベクトル参照を用いるプログラムの一例を示している。図２に示すプログラムは、ループ部分のプログラムである。このループ部分において、ＮＡＳ  ＣＧベンチマークにおける殆どの実行時間が消費される。このプログラムにおいては、配列ｐ[ ]の添え字部分にｃｏｌｉｄｘ［ｋ］が用いられている。ｃｏｌｉｄｘ［ｋ］は、インデックス配列（指標ベクトル）である。
【００２１】
主記憶１１０の指標ベクトル記憶部１１２は、指標ベクトルを記憶している。ここで、指標ベクトルとは、ベクトル参照における参照する順序を指定するベクトルである。リスト専用ＦＩＦＯ１２０は、指標ベクトル記憶部１１２から読み出された指標ベクトルを一時的に保持する。そして、ＦＩＦＯ方式により指標ベクトル記憶部１１２から読み出された指標ベクトルを順次間接指標ベクトルアドレス生成部１３０に転送する。
【００２２】
間接指標ベクトルアドレス生成部１３０は、リスト専用ＦＩＦＯ１２０から指標ベクトルを取得する。指標ベクトルを取得すると、取得した指標ベクトルに基づいて順次間接指標ベクトルアドレスを生成する。そして、生成した間接指標ベクトルアドレスにより、データ記憶部１１４にアクセスする。具体的には、ベクトル要素の大きさ（４バイトまたは８バイト）を乗じた後、間接指標ベクトルの先頭アドレスと加算して間接指標ベクトルアドレスを求める。このように間接指標ベクトルアドレス生成部１３０は、アドレス生成手段およびアクセス手段として機能する。
【００２３】
データ記憶部１１４は、データを記憶しており、間接指標ベクトルアドレス生成部１３０からの間接指標ベクトルアドレスによるアクセスにより、間接指標ベクトルアドレスに対応するデータ、すなわち間接指標ベクトルが生成される。そして、間接指標ベクトル用レジスタ１４０に格納されたデータは、演算回路に送出される。
【００２４】
図３は、情報処理装置１００が図２に示すプログラムを実行した場合のタイムチャートを示す図である。ここでＶＬ（ｘ ）は連続ベクトルロード命令をベクトル長ｘで実行することを意味する。同様にＶＬＩ（ｙ ）は間接ベクトルロード命令をベクトル長ｙで実行することを意味する。なお、図３は、ロード先をリスト専用ＦＩＦＯ１２０と指定し、ベクトル長１２０語でベクトルロード命令を実行する場合を示している。
【００２５】
リスト専用ＦＩＦＯ１２０に指標ベクトルが１要素でもロードされていれば、間接指標ベクトルアドレス生成部１３０は、間接指標ベクトルアドレス生成処理を行うことができる。このように、間接指標ベクトルアドレス生成部１３０は、リスト専用ＦＩＦＯ１２０から指標ベクトルを順次読み出し、読み出した指標ベクトルを利用して、順次間接指標ベクトルアドレスを生成していく。
【００２６】
間接指標ベクトル用レジスタ１４０の語長は有限長である。ここで、６４語であるとする。この場合、最終的にロードしたいベクトル長、すなわち１２０語は、間接指標ベクトル用レジスタ１４０の語長６４で分割される。そして、最初に６４で割った余りの５４語をベクトル長としてＶＬＩ（ｙ）が実行される。その後、残りの６４語をベクトル長としてＶＬＩ（ｙ）が実行される。
【００２７】
図４は、従来のベクトルプロセッサに搭載された情報処理装置２００を示す図である。
情報処理装置２００は、情報処理装置１００のリスト専用ＦＩＦＯ１２０に替えて指標ベクトル用レジスタ２２０を備えている。指標ベクトル用レジスタ２２０の語長は有限長である。
【００２８】
図５は、情報処理装置２００が図２に示すベクトルプログラムを実行した場合のタイムチャートを示す図である。この場合には、実施の形態１にかかる情報処理装置１００の場合と異なり、まず、１２０語のうち５４語をベクトル長としてＶＬ（ｘ）が実行される。その後、残りの６４語をベクトル長としてＶＬ（ｘ）が実行される。
【００２９】
情報処理装置２００はストリップマイニング処理を行う。すなわち、最初のＶＬ（５６）による指標ベクトルの指標ベクトル用レジスタ２２０へのロードが完了した後で、ＶＬＩ（５６）を起動する。図５に示すように、ＶＬ（５６）とＶＬ（６４）の間にはギャップが存在する。このように、ベクトル命令の起動にはいくらかのオーバーヘッドがかかる。したがって、ストリップマイニング処理に伴うベクトル命令の起動オーバーヘッドが累積され処理効率が低下する。
【００３０】
これに対し、実施の形態１にかかる情報処理装置１００においては、前述のように指標ベクトルのロードはリスト専用ＦＩＦＯ１２０をロード先として指定したＶＬ（１２０）によって実行される。このため、上述のようにベクトルレジスタ語数に伴う分割処理であるストリップマイニング処理は不要である。
【００３１】
情報処理装置１００は、図３に示すタイミングで実行されるので、指標ベクトルが１要素でもリスト専用ＦＩＦＯ１２０にロードされれば、この指標ベクトルを用いてＶＬＩ（  ）によりアドレス生成が開始される。このため、情報処理装置２００に比べて、実行時間を短縮することができる。
【００３２】
なお、何らかの理由でＶＬ（１２０）の処理が滞り、リスト専用ＦＩＦＯ１２０が空になった場合には、ＶＬＩ（  ）の実行は一時停止する。そして、リスト専用ＦＩＦＯ１２０にデータがロードされると再びＶＬＩ（  ）が再開する。
【００３３】
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。
【００３４】
そうした第１の変更例としては、本実施の形態にかかる情報処理装置１００は、ベクトルプロセッサに適用されてもよく、スカラープロセッサに適用されてもよい。
【００３５】
図６は、第２の変更例にかかる情報処理装置１００の全体構成を示す図である。第２の変更例にかかる情報処理装置１００は、さらにデータ削除部１７０を備える。データ削除部１７０は、リスト専用ＦＩＦＯ１２０を強制的に空にする。
【００３６】
これにより、プログラムのミスによりプログラム終了時にリスト専用ＦＩＦＯ１２０に残ってしまったデータや、他のユーザーによりリスト専用ＦＩＦＯ１２０上に使われずに残ってしまったデータを消去することができる。したがって、情報処理装置１００の誤動作を防止することができる。データ削除部１７０による強制的なリスト専用ＦＩＦＯ１２０のリセットはＶＬ（ ）が起動された時に行なうこととしてもよい。また、プログラマからの明示的に命令により実行されてもよい。
【００３７】
（実施の形態２）
図７は、実施の形態２にかかる情報処理装置１００の構成を示すブロック図である。実施の形態２にかかる情報処理装置１００は、リスト専用ＦＩＦＯを複数備えている。そして、ベクトルプログラムを実行する際には、ＦＩＦＯを指定することができる。これにより、ベクトルプログラムを並列に実行することができ、さらなる処理の高速化を図ることができる。
【００３８】
情報処理装置１００は、主記憶１１０と、第１リスト専用ＦＩＦＯ１２１と、第２リスト専用ＦＩＦＯ１２２と、第１間接指標ベクトルアドレス生成部１３１と、第１間接指標ベクトルアドレス生成部１３２と、第１間接指標ベクトル用レジスタ１４１と、第２間接指標ベクトル用レジスタ１４２と、ＦＩＦＯ指定部１５０とを備えている。主記憶１１０は、指標ベクトル記憶部１１２とデータ記憶部１１４とを有している。
【００３９】
第１リスト専用ＦＩＦＯ１２１および第２リスト専用ＦＩＦＯ１２２の構成および処理は、実施の形態１にかかるリスト専用ＦＩＦＯ１２０の構成および処理と同様である。ただし、実施の形態２にかかる情報処理装置１００においては、ＦＩＦＯ指定部１５０により指標ベクトル記憶部１１２の指標ベクトルを第１リスト専用ＦＩＦＯ１２１および第２リスト専用ＦＩＦＯ１２２のいずれに読み出すかが指定される。
【００４０】
具体的には、ＦＩＦＯ指定部１５０は、第１リスト専用ＦＩＦＯ１２１および第２リスト専用ＦＩＦＯ１２２のうち利用されていないＦＩＦＯを指定する。なおいずれも利用されていない場合には、デフォルトとして第１リスト専用ＦＩＦＯ１２１を利用することに設定しておいてもよい。
【００４１】
第１間接指標ベクトルアドレス生成部１３１および第１間接指標ベクトルアドレス生成部１３２の構成および処理は、実施の形態１にかかる間接指標ベクトルアドレス生成部１３０の構成および処理と同様である。ただし、第１間接指標ベクトルアドレス生成部１３１は、第１リスト専用ＦＩＦＯ１２１から取得した指標ベクトルに対する間接指標ベクトアドレスを生成し、第１間接指標ベクトルアドレス生成部１３２は、第２リスト専用ＦＩＦＯ１２２から取得した指標ベクトルに対する間接指標ベクトルアドレスを生成する。
【００４２】
第１間接指標ベクトル用レジスタ１４１および第２間接指標ベクトルでジスタ１４２の構成および処理は、実施の形態１にかかる間接指標ベクトル用レジスタ１４０の構成および処理と同様である。ただし、第１間接指標ベクトル用レジスタ１４１は、第１間接指標ベクトルアドレス生成部１３１により生成された間接指標ベクトルアドレスに基づいてデータ記憶部１１４からデータを読み出し、第２間接指標ベクトルでジスタ１４２は、第１間接指標ベクトルアドレス生成部１３２により生成された間接指標ベクトルアドレスに基づいてデータ記憶部１１４からデータを読み出す。
【００４３】
このように、実施の形態２にかかる情報処理装置１００は、複数のリスト専用ＦＩＦＯと、複数のリスト専用ＦＩＦＯそれぞれに対応した、複数の間接指標ベクトルアドレス生成部および複数の間接指標ベクトル用レジスタとを備えている。したがって、並列処理を行うことができる。
【００４４】
なお、実施の形態２にかかる情報処理装置１００のこれ以外の構成および処理は、実施の形態１にかかる情報処理装置１００の構成および処理と同様である。
【００４５】
また、実施の形態２の第１の変更例としては、本実施の形態においては、２つのリスト専用ＦＩＦＯを備えた情報処理装置１００について説明したが、これに限定されるものではなく、情報処理装置１００は、３つ以上のリスト専用ＦＩＦＯを備えてもよい。この場合には、リスト専用ＦＩＦＯに対応する数の間接指標ベクトルアドレス生成部および間接指標ベクトル用レジスタを備える。
【００４６】
また、第２の変更例としては、実施の形態２にかかる情報処理装置１００は、各リスト専用ＦＩＦＯに対し、それぞれ別個の間接指標ベクトルアドレス生成部を備えたが、間接指標ベクトルアドレス生成部は、リスト専用ＦＩＦＯの数に関わらず１つのみであってもよい。この場合には、１つの間接指標アドレス生成部は、例えばタイムスライス等により複数のリスト専用ＦＩＦＯから取得した指標ベクトルに対するアドレス生成をそれぞれ行う。そして、各リスト専用ＦＩＦＯから取得した指標ベクトルに基づいて生成さえた間接指標ベクトルアドレスにより得られたデータは、それぞれ各リスト専用ＦＩＦＯに対応して設けられた複数の間接指標ベクトル用レジスタに格納される。
【００４７】
（実施の形態３）
図８は、実施の形態３にかかる情報処理装置３００の構成を示すブロック図である。情報処理装置３００は、拡張メモリ（外部メモリ）３１０と、ＬＳＩ３２０と、ＣＰＵ３３０と、ノースブリッジ３４０と、サウスブリッジ３５０と、主記憶３６０と、メモリバス３７０とを備えている。
【００４８】
ＬＳＩ３２０は、パソコンのＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ）メモリスロットに装着されるプリフェッチ機能付メモリモジュールである。例えば、ＤＤＲタイプのＤＩＭＭ（Ｄｕａｌ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）スロットに装着されるＤＩＭＭｎｅｔ−２プロトタイプ（田邊，  安藤，  箱崎，  土肥，  中條，  天野  ：  プリフェッチ機能を有するメモリモジュールによるＰＣ上での間接参照の高速化，  情報処理学会  先進的計算基板システムシンポジウムＳＡＣＳＩＳ２００５，  ＩＳＳＮ−１３４４−０６４０，  ｐｐ．１７−２４  （Ｍａｙ  ２００５）を適用してもよい。
【００４９】
ＤＩＭＭｎｅｔ−２では、読み出し用のバッファであるリードＷｉｎｄｏｗと書き込み用のバッファであるライトＷｉｎｄｏｗを一種のベクトルレジスタと位置づけ、ＤＩＭＭｎｅｔ−２上に実装された複数のＳＯ−ＤＩＭＭモジュールとの間のロードストアを行なうベクトルコマンドを定義して実装している。さらに、このようなＷｉｎｄｏｗをオペランドとして指定可能な間接ベクトル参照命令も定義されている。
【００５０】
ＬＳＩ３２０は、具体的には、リスト専用ＦＩＦＯ１２０と、間接指標ベクトルアドレス生成部１３０と、間接指標ベクトル用レジスタ１４０と、ホストＩ／Ｆ１６０とを有している。
【００５１】
ＣＰＵ３３０は、拡張メモリ３１０や主記憶３６０のデータを利用して演算を行う。ノースブリッジ３４０およびサウスブリッジ３５０は、ＣＰＵ３３０と他の機器との間を仲介する。ノースブリッジ３４０には、メモリバス３７０が接続している。メモリバス３７０には、ＬＳＩ３２０および主記憶３６０が接続している。ノースブリッジ３４０は、メモリバス３７０を介してＬＳＩ３２０およびサウスブリッジ３５０に直接アクセスする。
【００５２】
ＬＳＩ３２０のホストＩ／Ｆ１６０は、メモリバス３７０に接続し、間接指標ベクトル用レジスタ１４０に格納されているデータをバッファメモリ間接指標ベクトルレジスタ１４０のデータサイズの一部または全部を単位とするブロックサイズのブロックデータを単位として一括送出する。拡張メモリ３１０およびＬＳＩ３２０のこれ以外の各部の構成および処理は、実施の形態１にかかる対応する各部の構成および処理と同様である。
【００５３】
本実施の形態にかかるＬＳＩ３２０は、ベクトル型プリフェッチ機能を有するメモリモジュールである。ＬＳＩ３２０は、ホストとなる情報処理装置（例えばパーソナルコンピュータのマザーボード）のメモリスロットやメモリバスに装着され、ホストＩ／Ｆ１６０によりホストとのデータ転送が行われる。ＮＡＳ  ＣＧベンチマークのような間接ベクトル参照を実行する場合の処理は、実施の形態１において説明した情報処理装置１００の処理と同様である。
【００５４】
図９は、ＬＳＩ３２０の外観構成を示す図である。ＬＳＩ３２０は、例えばＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）やＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などのＬＳＩであってもよい。
【００５５】
間接指標ベクトル用レジスタ１４０は、ＬＳＩ３２０のうち外部ピンに近い領域に配置されている。一方、リスト専用ＦＩＦＯ１２０は、間接指標ベクトル用レジスタ１４０の内側に配置されている。すなわち、リスト専用ＦＩＦＯ１２０と外部ピンとの間の距離は、間接指標ベクトル用レジスタ１４０と外部ピンとの間の距離よりも大きい。なお、ＬＳＩ３２０にはさらに間接指標ベクトルアドレス生成部１３０およびホストＩ／Ｆ１６０も搭載されている。
【００５６】
ＬＳＩ３２０はホストのＣＰＵ３３０からはＢＩＯＳ設定等で規定されるタイミングでアクセスされるメモリとして見えている必要がある。したがって、ＣＰＵ３３０のメモリ空間上にマップされた間接指標ベクトル用レジスタ１４０は、ＣＰＵ３３０からのアクセスに規定以上の時間がかかり過ぎてはならない。そこで、配線遅延を短縮する観点から、間接指標ベクトル用レジスタ１４０は、図９で示すように外部ピンに近い領域に配置されている。
【００５７】
一方、リスト専用ＦＩＦＯ１２０は、間接指標ベクトルアドレス生成部１３０からのみリードされる。すなわち、ＣＰＵ３３０など外部からのリードは行われない。このため、間接指標ベクトル用レジスタ１４０のように外部ピンの近くに配置しなくとも、配線遅延など処理の遅延が生じることはない。そこで、間接指標ベクトルアドレス生成部１３０を間接指標ベクトル用レジスタ１４０よりも内側、すなわち外部ピンからの距離がより遠い位置に配置することとした。
【００５８】
このように、本実施の形態によれば、外部ピンから遠い位置に配置されたメモリを有効に活用することができる。
【００５９】
例えば、実施の形態１において図４を参照しつつ説明した従来の情報処理装置２００における間接指標ベクトルアドレス生成部１３０、間接指標ベクトル用レジスタ１４０および指標ベクトル用レジスタ２２０をＬＳＩに搭載した場合には、外部ピンに近い領域に配置されたメモリは、間接指標ベクトル用レジスタ１４０に加え指標ベクトル用レジスタ２２０にも利用される。外部ピンに近い領域に配置された分量のメモリは貴重な資源であり、有効に利用する必要があるが、このように間接指標ベクトル用レジスタ１４０および指標ベクトル用レジスタ２２０により利用されるため、他のベクトル命令実行のためのベクトルレジスタが足りないという状況が発生しやすく、性能低下の原因となる。
【００６０】
とりわけ、ＤＩＭＭｎｅｔ−２のようなプリフェッチ機能付メモリモジュールは、メモリスロットに装着され、ホストからはＤＤＲ型メモリモジュールとして見えなければならない。このため、ＦＰＧＡなどＬＳＩ内部に存在する内部メモリとして実装されることが必要となり、ＬＳＩの外部ピンから近い位置に配置されることが望ましい。逆に、外部ピンから遠い位置にあるブロックＲＡＭなどのＦＰＧＡのダイに初めから内蔵されているメモリは上記の用途に用いることが困難であり、余ってしまう傾向にあった。
【００６１】
これに対し、本実施の形態にかかる情報処理装置３００は、指標ベクトル用レジスタ２２０に替えて、間接指標ベクトル用レジスタ１４０よりも外部ピンから遠い位置に設けられたリスト専用ＦＩＦＯ１２０を有するので、他のベクトル命令実行のためのベクトルレジスタを情報処理装置２００よりも多く設けることができる。
【００６２】
また、情報処理装置２００のように指標ベクトル用レジスタ２２０を設けた場合には、指標ベクトル用レジスタ２２０のリードポートをホストＩ／Ｆ１６０と間接指標ベクトルアドレス生成部１３０のそれぞれからアクセス可能とすべく分岐させ、さらに双方の間で調整を行なう必要がある。したがって、ＢＩＯＳ設定で規定されるタイミングでホストであるＣＰＵ３３０からアクセスするためのタイミング的な余裕がなくなってしまう。
【００６３】
これに対し、本実施の形態にかかる情報処理装置３００は、指標ベクトル用レジスタ２２０にかえてリスト専用ＦＩＦＯ１２０を有しているので、タイミング的に余裕があり、ホストのＢＩＯＳで規定されたタイミングでホストにアクセスすることができる。
【００６４】
（実施の形態４）
図１０は、実施の形態４にかかる情報処理装置４００の全体構成を示すブロック図である。情報処理装置４００は、セル４１０と外部メモリ４６０とを備えている。セル４１０は、ＣＰＵ４２０と、メモリＩ／Ｆ４３０と、８個のＳＰＥ（Ｓｙｎｅｒｇｉｓｔｉｃ  Ｐｒｏｃｅｓｓｏｒ  Ｅｌｅｍｅｎｔ）４４０ａ〜４４０ｈとを有している。
【００６５】
各ＳＰＥ４４０ａ〜４４０ｈは、それぞれＳＰＵ（Ｓｙｎｅｒｇｉｓｔｉｃ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）４４１と、ローカルメモリ４４２と、ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）４４３とを有している。ＰＥ４４０ａ〜４４０ｈは内部ネットワーク４５０を介してＣＰＵ４２０や外部メモリ４６０と接続されている。
【００６６】
ＳＰＵ４４１は、ＳＩＭＤ型のプロセッサである。ＳＰＵ４４１は、ローカルメモリ４４２に記憶されたデータを利用して演算処理を行う。ＤＭＡＣ４４３は、データ転送を行う。具体的には、外部メモリ４６０とローカルメモリ４４２の間のデータ転送などを行う。
【００６７】
図１１は、ローカルメモリ４４２およびＤＭＡＣ４４３の詳細な構成を示すブロック図である。ローカルメモリ４４２は、指標ベクトル記憶部１１２を有している。また、ＤＭＡＣ４４３は、リスト専用ＦＩＦＯ１２０と、間接指標ベクトルアドレス生成部１３０と、ローカルメモリ向け連続アドレス生成部４４４と、外部メモリ向け連続アドレス生成部４４５を有している。
【００６８】
ローカルメモリ向け連続アドレス生成部４４４は、ローカルメモリ４４２にアクセスするための連続アドレスを生成する。外部メモリ向け連続アドレス生成部４４５は、外部メモリ４６０にアクセスするための連続アドレスを生成する。
【００６９】
リスト専用ＦＩＦＯ１２０および間接指標ベクトルアドレス生成部１３０は、外部メモリ４６０にアクセスするための間接指標ベクトルアドレスを生成するための構成である。リスト専用ＦＩＦＯ１２０は、ローカルメモリ４４２の指標ベクトル記憶部１１２から指標ベクトルを読み出す。そして、間接指標ベクトルアドレス生成部１３０は、リスト専用ＦＩＦＯ１２０から取得した指標ベクトルに基づいて間接指標ベクトルアドレスを生成する。そして、ＤＭＡＣ４４３は、内部ネットワーク４５０およびメモリＩ／Ｆ４３０を介して外部メモリ４６０にアクセスし、間接指標ベクトルアドレスに対応するデータを取得する。
【００７０】
このように、実施の形態４にかかる情報処理装置４００においては、ＳＰＥ４４０ａ〜ＳＰＥ４４０ｈは、間接指標ベクトルアドレス生成部１３０により生成された間接指標ベクトルアドレスを利用することにより、外部メモリ４６０において不連続なアドレスに格納された細切れの小さいデータに対しても効率的にデータ転送を行うことができる。
【００７１】
ＳＩＭＤ型のプロセッサは、ローカルメモリをアクセスしながら演算処理を進める。このため、ローカルメモリに演算対象となるデータが連続されて格納されていることが望ましい。従来のＤＭＡＣは、ローカルメモリ向け連続アドレス生成部４４４および外部メモリ向け連続アドレス生成部４４５のように、連続アドレスを生成し、連続的な領域から連続的な領域へのデータ転送は効率的に行うことができる。
【００７２】
しかし、外部メモリ４６０上の不連続なアドレスに格納された細切れになった小さなデータを外部メモリ向け連続アドレス生成部４４５により生成された連続アドレスによりアクセスする場合には、ＤＭＡＣ４４３を細切れになった小さなデータサイズで起動しなければならない。このため、ＤＭＡＣ４４３の起動オーバーヘッドが実行時間に蓄積し、効率的に動作させることができなくなってしまう。
【００７３】
これに対し、実施の形態４にかかる情報処理装置４００のように、間接指標ベクトルアドレス生成部１３０により生成された間接指標ベクトルアドレスを利用して外部メモリ４６０にアクセスすることにより、外部メモリ向け連続アドレス生成部４４５により生成された連続アドレスを利用して外部メモリ４６０にアクセスする場合に比べて、効率的に処理を行うことができる。
【００７４】
図１２は、実施の形態４にかかる情報処理装置４００の変更例にかかるローカルメモリ４４２およびＤＭＡＣ４４３の詳細な構成を示すブロック図である。変更例にかかる情報処理装置４００においては、指標ベクトル記憶部１１２は、外部メモリ４００に設けられている。そして、リスト専用ＦＩＦＯ１２０は、外部メモリ４００の指標ベクトル記憶部１１２に記憶されている指標ベクトルを内部ネットワーク４５０を介して取得する。
【００７５】
（実施の形態５）
図１３は、実施の形態５にかかる情報処理システム５００の全体構成を示す図である。情報処理システム５００は、ＤＭＡＣを有するプロセッサに実施の形態１にかかる情報処理装置を適用したシステムである。情報処理システム５００は、情報処理装置５１０と、セル５４０とを備えている。
【００７６】
情報処理装置５１０は、拡張メモリ５２０と、リスト専用ＦＩＦＯ１２０と、間接指標ベクトルアドレス生成部１３０と、間接指標ベクトル用レジスタ１４０と、ホストＩ／Ｆ１６０とを有している。また、セル５４０は、ＣＰＵ４２０と、メモリＩ／Ｆ４３０と、ＳＰＥ４４０ａ〜４４０ｈと、内部ネットワーク４５０とを有している。
【００７７】
セル５４０が有する各部の構成および処理は実施の形態３において説明したセル４１０の構成および処理と同様である。ただし、実施の形態４にかかるローカルメモリ４４２は、指標ベクトル記憶部１１２を有さず、ＤＭＡＣ４４３は、リスト専用ＦＩＦＯ１２０および間接指標ベクトルアドレス生成部１３０を有さない。すなわち、従来のＤＭＡＣの機能構成である。
【００７８】
情報処理システム５００においては、情報処理装置５１０は、メモリＩ／Ｆ４３０に接続している。また他の例としては、情報処理装置５１０は、メモリＩ／Ｆ４３０の外部Ｉ／Ｏインタフェース、または外部Ｉ／Ｏインタフェースを経由して接続される付加メモリコントローラに接続されてもよい。
【００７９】
セル５４０は図７を参照しつつ説明した実施の形態３にかかる情報処理装置３００の拡張メモリ３１０およびＬＳＩ３２０と同様の機能構成を有する。すなわち、間接指標ベクトル用レジスタ１４０に格納されている間接指標ベクトルを、ＳＰＥ４４０のローカルメモリ４４２に転送する場合には、データ記憶部１１４において不連続なアドレスに格納されていたデータは、リスト専用ＦＩＦＯ１２０および間接指標ベクトルアドレス生成部１３０等の処理により間接指標ベクトル用レジスタ１４０に連続的に格納される。
【００８０】
間接指標ベクトル用レジスタ１４０は、ＤＭＡＣ４４３がアクセス可能なアドレス空間にマップされているので、ＤＭＡＣ４４３は、ＤＭＡコントローラを起動することにより、間接指標ベクトル用レジスタ１４０に格納されたデータを転送することができる。したがって、ＳＰＥ４４０ａ〜４４０ｈは効率的に動作することができる。
【００８１】
なお、これ以外の情報処理装置５１０の構成および処理は、実施の形態３において図７を参照しつつ説明した拡張メモリ３１０およびＬＳＩ３２０の構成および処理と同様である。また、セル５４０の構成および処理は、実施の形態４において図１０および図１１を参照しつつ説明したセル４１０の構成および処理と同様である。
【図面の簡単な説明】
【００８２】
【図１】実施の形態１にかかる情報処理装置１００の構成を示すブロック図である。
【図２】間接指標ベクトル参照を用いるプログラムの一例を示す図である。
【図３】情報処理装置１００が図２に示すプログラムを実行した場合のタイムチャートを示す図である。
【図４】従来のベクトルプロセッサに搭載された情報処理装置２００を示す図である。
【図５】情報処理装置２００が図２に示すベクトルプログラムを実行した場合のタイムチャートを示す図である。
【図６】実施の形態１の第２の変更例にかかる情報処理装置１００の全体構成を示す図である。
【図７】実施の形態２にかかる情報処理装置１００の構成を示すブロック図である。
【図８】実施の形態３にかかる情報処理装置３００の構成を示すブロック図である。
【図９】ＬＳＩ３２０の外観構成を示す図である。
【図１０】実施の形態４にかかる情報処理装置４００の全体構成を示すブロック図である。
【図１１】ローカルメモリ４４２およびＤＭＡＣ４４３の詳細な構成を示すブロック図である。
【図１２】実施の形態４の変更例にかかるローカルメモリ４４２およびＤＭＡＣ４４３の詳細な構成を示すブロック図である。
【図１３】実施の形態５にかかる情報処理システム５００の全体構成を示す図である。
【符号の説明】
【００８３】
１００  情報処理装置
１１０  主記憶
１１２  指標ベクトル記憶部
１１４  データ記憶部
１２０〜１２２  リスト専用ＦＩＦＯ
１３０〜１３２  間接指標ベクトルアドレス生成部
１４０〜１４２  間接指標ベクトル用レジスタ
１５０  ＦＩＦＯ指定部
１６０  ホストＩ／Ｆ
１７０  データ削除部
２００  情報処理装置
２２０  指標ベクトル用レジスタ
３００  情報処理装置
３１０  拡張メモリ
３２０  ＬＳＩ
３４０  ノースブリッジ
３５０  サウスブリッジ
３６０  主記憶
３７０  メモリバス
４００  情報処理装置
４１０  セル
４３０  メモリＩ／Ｆ
４４０ａ〜４４０ｈ  ＳＰＥ
４４２  ローカルメモリ
４４４  ローカルメモリ向け連続アドレス生成部
４４５  外部メモリ向け連続アドレス生成部
４５０  内部ネットワーク
４６０  外部メモリ
５００  情報処理システム
５１０  情報処理装置
５２０  拡張メモリ
５４０  セル
【図１】
2007041810.tif 000003
【図２】
2007041810.tif 000004
【図３】
2007041810.tif 000005
【図４】
2007041810.tif 000006
【図５】
2007041810.tif 000007
【図６】
2007041810.tif 000008
【図７】
2007041810.tif 000009
【図８】
2007041810.tif 000010
【図９】
2007041810.tif 000011
【図１０】
2007041810.tif 000012
【図１１】
2007041810.tif 000013
【図１２】
2007041810.tif 000014
【図１３】
2007041810.tif 000015