(57)【特許請求の範囲】
【請求項１】
処理手段において実行される複数のベクトル命令の各々に対して順番にシーケンス番号を割り当て、当該ベクトル命令に対して生成される複数のメモリポートのそれぞれへのリクエストに、当該割り当てたシーケンス番号を付与して、それぞれ、当該複数のメモリポートへ送信する、制御手段と、
前記複数のメモリポートから前記処理手段へ送信される、各々が対応するリクエストのシーケンス番号を含む複数のリプライ間で、当該複数のリプライの各々のシーケンス番号を基に優先制御を行う、転送手段と、
を備えた情報処理装置であって、
前記転送手段は、前記複数のリプライ間で、当該複数のリプライの各々のシーケンス番号を基に、当該複数のリプライの内の一のリクエストに対するリプライを、当該一のリクエストより新しいリクエストに対するリプライより優先して転送し、
前記シーケンス番号は、Ｎ桁（Ｎは正の整数）の２進整数で表され、
前記制御手段は、使用されているシーケンス番号の差分が２Ｎ−１未満となるように、前記複数のベクトル命令の各々にシーケンス番号を割り当て、
前記転送手段は、第１のリプライのシーケンス番号から第２のリプライのシーケンス番号を減じることによって得られる値が２Ｎ−１未満の場合、当該第１のリプライに対するリクエストが当該第２のリプライに対するリクエストより新しいリクエストであると判断する、
情報処理装置。
【請求項２】
前記制御手段は、同一のシーケンス番号を、前記複数のベクトル命令の内の、連続して実行される、割り当て可能命令数のベクトル命令に割り当てる、
請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記割り当て可能命令数を、所定期間におけるベクトル長、所定期間におけるレイテンシの値、及び、使用されているシーケンス番号の数、の内の少なくとも一つを基に決定する、
請求項２に記載の情報処理装置。
【請求項４】
処理手段において実行される複数のベクトル命令の各々に対して順番にシーケンス番号を割り当て、当該ベクトル命令に対して生成される複数のメモリポートのそれぞれへのリクエストに、当該割り当てたシーケンス番号を付与して、それぞれ、当該複数のメモリポートへ送信する、制御手段と、
前記複数のメモリポートから前記処理手段へ送信される、各々が対応するリクエストのシーケンス番号を含む複数のリプライ間で、当該複数のリプライの各々のシーケンス番号を基に優先制御を行う、転送手段と、
を備えた情報処理装置であって、
前記制御手段は、同一のシーケンス番号を、前記複数のベクトル命令の内の、連続して実行される、割り当て可能命令数のベクトル命令に割り当て、前記割り当て可能命令数を、所定期間におけるベクトル長、所定期間におけるレイテンシの値、及び、使用されているシーケンス番号の数、の内の少なくとも一つを基に決定する、
情報処理装置。
【請求項５】
複数の前記制御手段の各々に対して、前記制御手段を備え、
前記転送手段は、同一の前記処理手段へ送信される前記複数のリプライ間で前記優先制御を行う、
請求項１乃至４のいずれかに記載の情報処理装置。
【請求項６】
処理手段において実行される複数のベクトル命令の各々に対して順番にシーケンス番号を割り当て、当該ベクトル命令に対して生成される複数のメモリポートのそれぞれへのリクエストに、当該割り当てたシーケンス番号を付与して、それぞれ、当該複数のメモリポートへ送信し、
前記複数のメモリポートから前記処理手段へ送信される、各々が対応するリクエストのシーケンス番号を含む複数のリプライ間で、当該複数のリプライの各々のシーケンス番号を基に優先制御を行う、
情報処理方法であって、
前記優先制御を行う場合、前記複数のリプライ間で、当該複数のリプライの各々のシーケンス番号を基に、当該複数のリプライの内の一のリクエストに対するリプライを、当該一のリクエストより新しいリクエストに対するリプライより優先して転送し、
前記シーケンス番号は、Ｎ桁（Ｎは正の整数）の２進整数で表され、
前記複数のベクトル命令の各々にシーケンス番号を割り当てる場合、使用されているシーケンス番号の差分が２Ｎ−１未満となるように、前記複数のベクトル命令の各々にシーケンス番号を割り当て、
前記優先制御を行う場合、第１のリプライのシーケンス番号から第２のリプライのシーケンス番号を減じることによって得られる値が２Ｎ−１未満の場合、当該第１のリプライに対するリクエストが当該第２のリプライに対するリクエストより新しいリクエストであると判断する、
情報処理方法。
【請求項７】
処理手段において実行される複数のベクトル命令の各々に対して順番にシーケンス番号を割り当て、当該ベクトル命令に対して生成される複数のメモリポートのそれぞれへのリクエストに、当該割り当てたシーケンス番号を付与して、それぞれ、当該複数のメモリポートへ送信し、
前記複数のメモリポートから前記処理手段へ送信される、各々が対応するリクエストのシーケンス番号を含む複数のリプライ間で、当該複数のリプライの各々のシーケンス番号を基に優先制御を行う、
情報処理方法であって、
前記複数のベクトル命令の各々に対してシーケンス番号を割り当てる場合、同一のシーケンス番号を、前記複数のベクトル命令の内の、連続して実行される、割り当て可能命令数のベクトル命令に割り当て、
前記割り当て可能命令数を、所定期間におけるベクトル長、所定期間におけるレイテンシの値、及び、使用されているシーケンス番号の数、の内の少なくとも一つを基に決定する、
情報処理方法。
【請求項８】
コンピュータに、
処理手段において実行される複数のベクトル命令の各々に対して順番にシーケンス番号を割り当て、当該ベクトル命令に対して生成される複数のメモリポートのそれぞれへのリクエストに、当該割り当てたシーケンス番号を付与して、それぞれ、当該複数のメモリポートへ送信し、
前記複数のメモリポートから前記処理手段へ送信される、各々が対応するリクエストのシーケンス番号を含む複数のリプライ間で、当該複数のリプライの各々のシーケンス番号を基に優先制御を行う、
処理を実行させるプログラムであって、
前記優先制御を行う場合、前記複数のリプライ間で、当該複数のリプライの各々のシーケンス番号を基に、当該複数のリプライの内の一のリクエストに対するリプライを、当該一のリクエストより新しいリクエストに対するリプライより優先して転送する
処理を実行させ、
前記シーケンス番号は、Ｎ桁（Ｎは正の整数）の２進整数で表され、
前記複数のベクトル命令の各々にシーケンス番号を割り当てる場合、使用されているシーケンス番号の差分が２Ｎ−１未満となるように、前記複数のベクトル命令の各々にシーケンス番号を割り当て、
前記優先制御を行う場合、第１のリプライのシーケンス番号から第２のリプライのシーケンス番号を減じることによって得られる値が２Ｎ−１未満の場合、当該第１のリプライに対するリクエストが当該第２のリプライに対するリクエストより新しいリクエストであると判断する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及び、プログラムに関し、特にベクトル命令を実行する情報処理装置、情報処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
１以上のコアと分割されたメモリとをメモリネットワークで接続したベクトルプロセッサが、例えば、特許文献１に開示されている。
【０００３】
図１８は、特許文献１のベクトルプロセッサと同様のベクトルプロセッサの構成を示すブロック図である。図１８のベクトルプロセッサ９００は、複数のコア９１０、メモリネットワーク９２０、複数のメモリＩ／Ｆ（インタフェース）９３０を含む。コア９１０は、メモリネットワーク９２０、及び、メモリＩ／Ｆ９３０を介して、メモリ９４０と接続される。メモリ９４０は複数のメモリポート９５０に分割され、複数のメモリＩ／Ｆ９３０が、それぞれ、複数のメモリポート９５０に接続される。メモリアドレスは、各メモリポート９５０にインタリーブされて割り当てられる。コア９１０がベクトルロード命令を実行する時は、複数のベクトル要素をメモリ９４０からロードするためのリクエストパケットが、対応するメモリポート９５０に、それぞれ、発行（送信）される。
【０００４】
コア９１０は、全てのリクエストパケット（以下、単にリクエストとも記載）に対するリプライパケット（以下、単にリプライとも記載）が返ってきた後、命令を完了させることができる。ベクトルロード命令の実行時間は、当該ベクトルロード命令に対して発行されるリクエストの内、リプライを受信するまでの時間であるロードレイテンシが最も長いリクエストのレイテンシによって決定される。そのため、ベクトルロード命令の実行時間を短くするためには、メモリアクセスに係るレイテンシの平均値を小さくするだけでなく、レイテンシのばらつきを小さくする必要がある。
【０００５】
一方、リクエストを受信した各メモリポート９５０は、各ポートにおけるキャッシュメモリへのヒットの有無や、ＤＲＡＭ（Dynamic Random Access Memory）へのアクセス競合の影響により、各々のタイミングで、リプライを返す。このため、メモリポート９５０がリクエストを受信する順序と対応するリプライを返す順序は逆転することもある。また、コア９１０とメモリＩ／Ｆ９３０との間の距離が一様でない場合には、距離によっても、リプライが返されるタイミングが変わる。
【０００６】
そして、何らかの理由によりメモリネットワーク９２０で競合が発生すると、メモリネットワーク９２０中のルータ等におけるバッファ等で、リプライ間での待ち合わせが行われる。この場合、ルータ等により競合調停が行われ、優先させるリプライが決定される。競合調停には、ランダム、ラウンドロビン、転送データの種類に基づく優先制御等、様々な方式が用いられる。競合調停では、多くの場合、送信先が同じコア９１０であるリプライの間では、先に到着したリプライが後に到着したリプライより先に処理される。しかし、ルータ等に入力されるリプライの順序は保証されていないため、後に発行されたリクエストに対するリプライにより、先に発行されたリクエストに対するリプライが待たされるケースがある。このように、リプライの順序の逆転は、レイテンシのばらつき増加の一因である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第５７３２９５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述のように、特許文献１のようなベクトルプロセッサでは、メモリアクセスのレイテンシのばらつきにより、ベクトル命令の実行時間が増大するという問題があった。
【０００９】
本発明の目的は、上述の課題を解決し、ベクトル命令の実行時間を低減できる、情報処理装置、情報処理方法、及び、プログラムを提供することである。
【課題を解決するための手段】
【００１０】
本発明の一態様における情報処理装置は、処理手段において実行される複数のベクトル命令の各々に対して順番にシーケンス番号を割り当て、当該ベクトル命令に対して生成される複数のメモリポートのそれぞれへのリクエストに、当該割り当てたシーケンス番号を付与して、それぞれ、当該複数のメモリポートへ送信する、制御手段と、前記複数のメモリポートから前記処理手段へ送信される、各々が対応するリクエストのシーケンス番号を含む複数のリプライ間で、当該複数のリプライの各々のシーケンス番号を基に優先制御を行う、転送手段と、を備える。
【００１１】
本発明の一態様における情報処理方法は、処理手段において実行される複数のベクトル命令の各々に対して順番にシーケンス番号を割り当て、当該ベクトル命令に対して生成される複数のメモリポートのそれぞれへのリクエストに、当該割り当てたシーケンス番号を付与して、それぞれ、当該複数のメモリポートへ送信し、前記複数のメモリポートから前記処理手段へ送信される、各々が対応するリクエストのシーケンス番号を含む複数のリプライ間で、当該複数のリプライの各々のシーケンス番号を基に優先制御を行う。
【００１２】
本発明の一態様におけるプログラムは、コンピュータに、処理手段において実行される複数のベクトル命令の各々に対して順番にシーケンス番号を割り当て、当該ベクトル命令に対して生成される複数のメモリポートのそれぞれへのリクエストに、当該割り当てたシーケンス番号を付与して、それぞれ、当該複数のメモリポートへ送信し、前記複数のメモリポートから前記処理手段へ送信される、各々が対応するリクエストのシーケンス番号を含む複数のリプライ間で、当該複数のリプライの各々のシーケンス番号を基に優先制御を行う、処理を実行させる。
【発明の効果】
【００１３】
本発明の効果は、ベクトル命令の実行時間を低減できることである。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態の特徴的な構成を示すブロック図である。
【図２】本発明の第１の実施形態における、情報処理装置１００の構成を示すブロック図である。
【図３】本発明の第１の実施形態における、コア２００の構成の詳細を示すブロック図である。
【図４】本発明の第１の実施形態における、制御部２３０の構成の詳細を示すブロック図である。
【図５】本発明の第１の実施形態における、シーケンス番号表の例を示す図である。
【図６】本発明の第１の実施形態における、メモリネットワーク３００の構成の詳細を示すブロック図である。
【図７】本発明の第１の実施形態における、ルータ３１０の構成の詳細を示すブロック図である。
【図８】本発明の第１の実施形態における、制御部２３０による、リクエストパケット送信処理を示すフローチャートである。
【図９】本発明の第１の実施形態における、制御部２３０による、リプライパケット受信処理を示すフローチャートである。
【図１０】本発明の第１の実施形態における、制御部２３０による、シーケンス番号割り当て判断処理（ステップＳ１０１）の詳細を示すフローチャートである。
【図１１】本発明の第１の実施形態における、制御部２３０による、シーケンス番号更新処理（送信時）（ステップＳ１０５）の詳細を示すフローチャートである。
【図１２】本発明の第１の実施形態における、制御部２３０による、シーケンス番号更新処理（受信時）（ステップＳ２０４）の詳細を示すフローチャートである。
【図１３】本発明の第１の実施形態における、ルータ３１０による、転送処理を示すフローチャートである。
【図１４】本発明の第２の実施形態における、シーケンス番号表の例を示す図である。
【図１５】本発明の第２の実施形態における、制御部２３０による、シーケンス番号更新処理（送信時）（ステップＳ１０５）の詳細を示すフローチャートである。
【図１６】本発明の第２の実施形態における、制御部２３０による、シーケンス番号更新処理（受信時）（ステップＳ２０４）の詳細を示すフローチャートである。
【図１７】本発明の実施の形態における、コンピュータにより実現された情報処理装置１００の構成を示すブロック図である。
【図１８】特許文献１のベクトルプロセッサと同様のベクトルプロセッサの構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
発明を実施するための形態について図面を参照して詳細に説明する。なお、各図面および明細書記載の各実施形態において、同様の構成要素には同一の符号を付与し、説明を適宜省略する。
【００１６】
（第１の実施形態）
第１の実施形態について説明する。ここでは、情報処理装置１００が、ベクトル演算を行うＣＰＵ（Central Processing Unit）である、ベクトルプロセッサの場合を例に説明する。
【００１７】
はじめに、本発明の第１の実施形態の構成を説明する。
【００１８】
図２は、本発明の第１の実施形態における、情報処理装置１００の構成を示すブロック図である。
【００１９】
図２を参照すると、情報処理装置１００は、１以上のコア２００（２００ａ〜ｉ）（以下、処理部とも記載する）、メモリネットワーク３００（以下、転送部とも記載する）、複数のメモリＩ／Ｆ４００（４００ａ〜ｆ）を含む。コア２００は、メモリネットワーク３００、及び、メモリＩ／Ｆ４００を介して、メモリ５００と接続される。メモリ５００は複数のメモリポート５１０（５１０ａ〜ｆ）に分割され、複数のメモリＩ／Ｆ４００が、それぞれ、複数のメモリポート５１０に接続される。メモリアドレスは、各メモリポート５１０にインタリーブされて割り当てられる。コア２００は、ベクトルロード命令、または、ベクトルストア命令の実行時に、メモリネットワーク３００を介して、メモリにアクセスするためのリクエストパケットを送信する。コア２００は、複数のベクトル要素に係るリクエストを、それぞれ、対応するメモリポート５１０に送信する。リクエストを受信したメモリポート５１０は、メモリネットワーク３００を介して、各ベクトル要素に係るリプライパケットをコア２００に送信する。
【００２０】
以下、ベクトルロード命令、及び、ベクトルストア命令を、まとめて、単に、ベクトル命令とも記載する。また、リクエストパケット、及び、リプライパケットを、それぞれ、単に、リクエスト、及び、リプライとも記載する。また、リクエストパケット、及び、リプライパケットをまとめて、単に、パケットとも記載する。
【００２１】
図３は、本発明の第１の実施形態における、コア２００の構成の詳細を示すブロック図である。図３を参照すると、コア２００は、スカラプロセッシング部２１０、ベクトルプロセッシング部２２０、及び、制御部２３０を含む。
【００２２】
スカラプロセッシング部２１０は、命令のフェッチ、デコード、スケジューリング、及び、一部命令の実行を行う。また、スカラプロセッシング部２１０は、ベクトルプロセッシング部２２０に対して、ベクトル命令に係る所定の処理やベクトル演算等の実行を指示する。また、スカラプロセッシング部２１０は、制御部２３０に対して、ベクトル命令に係るメモリアクセス制御の実行を指示する。
【００２３】
ベクトルプロセッシング部２２０は、ベクトルデータを保持するベクトルレジスタ、及び、各種演算器を含む。ベクトルプロセッシング部２２０は、スカラプロセッシング部２１０の指示に基づいて各種演算処理を実行する。また、ベクトルプロセッシング部２２０は、制御部２３０を通じて、ベクトル命令に係るメモリアクセスを行う。
【００２４】
制御部２３０は、スカラプロセッシング部２１０からの指示に基づき、ベクトル命令に係るメモリアクセス制御を実行する。制御部２３０は、ベクトル命令に係るメモリポート５１０へのリクエストの送信、メモリポート５１０からのリプライの受信を行う。制御部２３０は、ベクトル命令の実行時に、ベクトルロードやベクトルストアの対象であるアドレスを算出し、当該対象アドレスの論理アドレスと物理アドレスとの間の変換を行う。また、制御部２３０は、各ベクトル命令の実行時に、当該命令に対してシーケンス番号を割り当て、当該命令に対するリクエストに、当該シーケンス番号を付与して送信する。さらに、制御部２３０は、リプライの受信時に、リプライに含まれるデータを、スカラプロセッシング部２１０やベクトルプロセッシング部２２０へ転送する。
【００２５】
本発明の実施の形態では、シーケンス番号をＮ桁（Ｎは正の整数）の２進整数で表す。制御部２３０は、使用中のシーケンス番号間の差分が２Ｎ−１未満となるように、シーケンス番号を割り当て、リクエストを送信する。
【００２６】
図４は、本発明の第１の実施形態における、制御部２３０の構成の詳細を示すブロック図である。図４を参照すると、制御部２３０は、命令バッファ２３１、アドレス変換部２３２、命令実行制御部２３３、リクエスト制御部２３７、及び、リプライ制御部２３８を含む。また、制御部２３０は、さらに、シーケンス番号表格納部２３４、最古シーケンス番号格納部２３５、及び、次シーケンス番号格納部２３６を含む。
【００２７】
命令バッファ２３１は、スカラプロセッシング部２１０からのベクトル命令を、一時的に格納する。
【００２８】
アドレス変換部２３２は、ベクトルロードやベクトルストアの対象であるアドレスを算出し、当該対象アドレスの論理アドレスと物理アドレスとの間の変換を行う。
【００２９】
命令実行制御部２３３は、ベクトル命令に係るリクエストの送信を制御する。
【００３０】
シーケンス番号表格納部２３４は、シーケンス番号表を格納する。シーケンス番号表は、各ベクトル命令に対して割り当てられるシーケンス番号の使用状況を示す。
【００３１】
図５は、本発明の第１の実施形態における、シーケンス番号表の例を示す図である。
【００３２】
シーケンス番号表は、シーケンス番号毎に、使用中フラグ、及び、リプライカウンタを示す。使用中フラグは、対応するシーケンス番号が使用中か否かを示す。シーケンス番号が使用中とは、当該シーケンス番号が付与されたリクエストの内、対応するリプライを受信していないリクエストがあることを示す。使用中フラグには、例えば、対応するシーケンス番号が使用中の場合「１」が、使用中でない場合「０」が設定される。リプライカウンタは、リプライを受信していないリクエストの数を示す。リプライカウンタの値が１以上の場合、使用中フラグには「１」（使用中）が設定される。
【００３３】
図５の例では、シーケンス番号が、８ビット（Ｎ＝８）で表されている。この場合、シーケンス番号表では、図５のように、２５６個のシーケンス番号が管理される。
【００３４】
なお、シーケンス番号表の各シーケンス番号に対する使用中フラグ、及び、リプライカウンタは、初期化時に、「０」にリセットされる。
【００３５】
最古シーケンス番号格納部２３５は、最古シーケンス番号を格納する。最古シーケンス番号は、使用中のシーケンス番号の内、最も古い番号である。最古シーケンス番号は、初期化時に「０」にリセットされる。
【００３６】
次シーケンス番号格納部２３６は、次シーケンス番号を格納する。次シーケンス番号は、次のベクトル命令に対して割り当てるべきシーケンス番号である。次シーケンス番号は、初期化時に「０」にリセットされる。
【００３７】
リクエスト制御部２３７は、リクエストを生成し、メモリネットワーク３００を介して、メモリポート５１０へ送信する。
【００３８】
リプライ制御部２３８は、メモリポート５１０から、メモリネットワーク３００を介して、リプライを受信し、受信したリプライからリプライデータを抽出する。
【００３９】
図６は、本発明の第１の実施形態における、メモリネットワーク３００の構成の詳細を示すブロック図である。
【００４０】
図６を参照すると、メモリネットワーク３００は、１以上のルータ３１０を含む。図６の例では、１５個のルータ３１０（３１０ａ〜３１０ｏ）が、３×５の二次元メッシュ状に配置されている。各ルータ３１０は、隣接したルータ３１０と接続されている。また、左端、及び、右端に配置されたルータ３１０（３１０ａ〜ｃ、及び、３１０ｍ〜ｏ）には、それぞれ、メモリＩ／Ｆ４００（４００ａ〜ｆ）が接続されている。他のルータ３１０（３１０ｄ〜ｌ）には、それぞれ、コア２００（２００ａ〜ｉ）が接続されている。各コア２００から送信されたリクエスト、または、各メモリＩ／Ｆ４００から送信されたリプライは、それぞれ、コア２００、または、メモリＩ／Ｆ４００に接続されたルータ３１０に転送される。これらのパケットは、所定のルーティングテーブルやルーティングアルゴリズムに従って、ルータ３１０間で転送され、送信先のメモリＩ／Ｆ４００、または、コア２００へ到達する。
【００４１】
図７は、本発明の第１の実施形態における、ルータ３１０の構成の詳細を示すブロック図である。
【００４２】
図７を参照すると、ルータ３１０は、入力ポート３１１（３１１ａ〜ｅ）、出力ポート３１２（３１２ａ〜ｅ）、クロスバ３１３、及び、転送制御部３１４を含む。図７の例では、ルータ３１０は、５つの入力ポート３１１、及び、５つの出力ポート３１２を含む。入力ポート３１１、及び、出力ポート３１２は、図６に示したように、他のルータ３１０やコア２００、メモリＩ／Ｆ４００と接続される。また、入力ポート３１１の各々と、出力ポート３１２の各々とは、クロスバ３１３によりに接続される。入力ポート３１１、及び、出力ポート３１２は、それぞれ、入力バッファ３１６（３１６ａ〜ｅ）、及び、出力バッファ３１７（３１７ａ〜ｅ）を含む。これらのバッファは、パケットを、一時的に、一定数保持できる。
【００４３】
転送制御部３１４は、入力バッファ３１６に保持されているパケットの内のどれをクロスバ３１３に出力するかを決定し、入力バッファ３１６に、当該決定したパケットの出力を指示する。また、転送制御部３１４は、パケットの送信先（コア２００やメモリＩ／Ｆ４００）に応じて、クロスバ３１３による、入力ポート３１１と出力ポート３１２との間の接続を制御する。転送制御部３１４は、さらに、送信先が同じコア２００であるリプライ間で優先制御を行う。
【００４４】
次に、本発明の第１の実施形態の動作を説明する。
【００４５】
ここでは、ベクトルロード命令が実行される場合を例に、リクエストの送信、及び、リプライの受信の動作を説明する。
【００４６】
はじめに、コア２００の動作を説明する。
【００４７】
スカラプロセッシング部２１０は、ベクトル命令（ベクトルロード命令、または、ベクトルストア命令）を、ベクトルプロセッシング部２２０、及び、制御部２３０に送信する。ここで、スカラプロセッシング部２１０は、制御部２３０に対して、ベクトル命令を、ベースアドレス、ディスタンス、及び、ベクトル長とともに送信する。ベースアドレス、ディスタンス、及び、ベクトル長は、それぞれ、ベクトルプロセッシング部２２０により操作されるデータの内の最初データが格納される論理アドレス、データ間のアドレスの差分、及び、データ数を示す。これらベースアドレス、ディスタンス、及び、ベクトル長により、ベクトル命令によりベクトルレジスタの各要素にロードされる、或いは、各要素からストアされる、各データの論理アドレスが決定される。各データの論理アドレスは、ベースアドレス、ベースアドレス＋ディスタンス、…、ベースアドレス＋ディスタンス×（ベクトル長−１）のように決定される。
【００４８】
制御部２３０は、ベクトル命令を受信すると、受信した命令を、一旦、命令バッファ２３１に格納する。
【００４９】
図８は、本発明の第１の実施形態における、制御部２３０による、リクエストパケット送信処理を示すフローチャートである。
【００５０】
リクエストパケット送信処理は、ベクトル命令の命令バッファ２３１への格納、或いは、後述する最古シーケンス番号の更新（ステップＳ２０４５）を契機に行われる。
【００５１】
命令実行制御部２３３は、命令バッファ２３１にベクトル命令が格納されている場合、後述する「シーケンス番号割り当て判断処理」により、シーケンス番号を割り当て可能かどうか判断する（ステップＳ１０１）。
【００５２】
シーケンス番号の割り当てが不可能な場合（ステップＳ１０２／Ｎ）、命令実行制御部２３３は、命令バッファ２３１のベクトル命令の実行を保留する（ステップＳ１０９）。
【００５３】
シーケンス番号の割り当てが可能な場合（ステップＳ１０２／Ｙ）、命令実行制御部２３３は、ベクトル命令を、命令バッファ２３１より取り出す（ステップＳ１０３）。
【００５４】
命令実行制御部２３３は、次シーケンス番号を、当該取り出したベクトル命令に割り当てる（ステップＳ１０４）。
【００５５】
命令実行制御部２３３は、後述する「シーケンス番号更新処理（送信時）」により、シーケンス番号表、及び、次シーケンス番号を更新する（ステップＳ１０５）。
【００５６】
アドレス変換部２３２は、ベクトル命令に係るデータ数分のデータの各々について、論理アドレスを算出し、物理アドレスに変換する（ステップＳ１０６）。
【００５７】
例えば、アドレス変換部２３２は、ベクトルロード命令のベースアドレス、ディスタンス、及び、ベクトル長を基に、当該ベクトルロード命令でロードする、データ数分の論理アドレスを算出する。
【００５８】
リクエスト制御部２３７は、ベクトル命令に係るデータ数分のデータの各々について、当該データにアクセスするためのリクエストパケットを生成する（ステップＳ１０７）。ここで、生成された各リクエストには、ステップＳ１０４で割り当てられたシーケンス番号が付与される。また、各リクエストでは、当該リクエストに対応するデータの物理アドレスが指定される。さらに、各リクエストの送信先、及び、送信元には、それぞれ、当該物理アドレスに対応するメモリポート５１０の識別子、及び、ベクトル命令を実行するコア２００の識別子が設定される。
【００５９】
例えば、リクエスト制御部２３７は、データ数分のデータの各々について、当該データをメモリ５００からロードするためのリクエスト（ロードリクエスト）を生成する。
【００６０】
リクエスト制御部２３７は、生成したデータ数分のリクエストを、メモリネットワーク３００に送信する（ステップＳ１０８）。
【００６１】
コア２００から送出された各リクエストは、メモリネットワーク３００を介して、送信先のメモリポート５１０まで転送される。
【００６２】
メモリポート５１０は、リクエストで指定された物理アドレスのデータをメモリ５００から読み出し、リプライを生成する。ここで、生成されたリプライには、対応するリクエストに付与されたシーケンス番号が、そのまま付与される。また、リプライには、メモリ５００からロードされたデータやストアの結果が、リプライデータとして設定される。さらに、リプライの送信先、及び、送信元には、それぞれ、対応するリクエストで指定されたコア２００の識別子、及び、当該メモリポート５１０の識別子が設定される。メモリポート５１０は、生成したリプライを、メモリネットワーク３００に送信する。
【００６３】
メモリポート５１０から送出されたリプライは、メモリネットワーク３００を介して、送信先のコア２００まで転送される。
【００６４】
図９は、本発明の第１の実施形態における、制御部２３０による、リプライパケット受信処理を示すフローチャートである。
【００６５】
リプライパケット受信処理は、メモリネットワーク３００からのリプライパケットの受信を契機に行われる。
【００６６】
リプライ制御部２３８は、リプライを受信すると（ステップＳ２０１）、受信したリプライからリプライデータを抽出し、ベクトルレジスタの対応する要素番号等を確認する（ステップＳ２０２）。
【００６７】
リプライ制御部２３８は、抽出したリプライデータをベクトルプロセッシング部２２０に転送する（ステップＳ２０３）。
【００６８】
例えば、リプライ制御部２３８は、ロードリクエストに対してロードされたデータを、ベクトルプロセッシング部２２０に転送する。
【００６９】
また、リプライ制御部２３８は、後述する「シーケンス番号更新処理（受信時）」により、シーケンス番号表、及び、最古シーケンス番号を更新する（ステップＳ２０４）。
【００７０】
図１０は、本発明の第１の実施形態における、制御部２３０による、シーケンス番号割り当て判断処理（ステップＳ１０１）の詳細を示すフローチャートである。
【００７１】
命令実行制御部２３３は、次シーケンス番号から最古シーケンス番号を減算した差分を算出し（ステップＳ１０１１）、算出した差分が２Ｎ−１未満かどうかを判定する（ステップＳ１０１２）。差分が２Ｎ−１未満の場合（ステップＳ１０１２／Ｙ）、命令実行制御部２３３は、シーケンス番号を割り当て可能と判断する（ステップＳ１０１３）。差分が２Ｎ−１以上の場合（ステップＳ１０１２／Ｎ）、命令実行制御部２３３は、シーケンス番号を割り当て不可と判断する（ステップＳ１０１４）。ここで、差分は、Ｎ桁の２進整数として評価され、オーバーフローは無視される。
【００７２】
これにより、使用中のシーケンス番号間の差分は、必ず２Ｎ−１−１以下であることが保証される。
【００７３】
例えば、Ｎ＝８の場合、命令実行制御部２３３は、次シーケンス番号から最古シーケンス番号を減算した差分が「１２８」以上の場合、シーケンス番号を割り当て不可と判断する。最古シーケンス番号、及び、次シーケンス番号がそれぞれ２進数で「１１１１００００」、及び、「０１１１００００」の場合、差分は「１０００００００」であり、命令実行制御部２３３は、シーケンス番号を割り当て不可と判断する。この場合、ベクトル命令の実行は保留される。
【００７４】
図１１は、本発明の第１の実施形態における、制御部２３０による、シーケンス番号更新処理（送信時）（ステップＳ１０５）の詳細を示すフローチャートである。
【００７５】
命令実行制御部２３３は、シーケンス番号表において、ステップＳ１０４で割り当てた次シーケンス番号に対する使用中フラグ、及び、リプライカウンタを設定する（ステップＳ１０５１）。ここで、命令実行制御部２３３は、使用中フラグに「１」を設定し、リプライカウンタに、当該シーケンス番号が付与されるリクエストの数（ベクトル命令に係るデータ数）を設定する。
【００７６】
命令実行制御部２３３は、次シーケンス番号をインクリメントする（「１」を加算する）（ステップＳ１０５２）。
【００７７】
これにより、各コア２００から送信されるリクエストには、「０」、「１」、「２」、…のように、シーケンス番号が付与される。次シーケンス番号がＮ桁の２進整数で表現可能な最大値（２Ｎ−１）に達した後は、オーバーフローを無視してインクリメントが行われ、再度「０」からの番号が使用される。
【００７８】
例えば、Ｎ＝８の場合、次シーケンス番号が「２５５」に達した後は、「０」からの番号が使用される。
【００７９】
図１２は、本発明の第１の実施形態における、制御部２３０による、シーケンス番号更新処理（受信時）（ステップＳ２０４）の詳細を示すフローチャートである。
【００８０】
リプライ制御部２３８は、シーケンス番号表において、ステップＳ２０１で受信したリプライに付与されていたシーケンス番号に対するリプライカウンタをデクリメントする（１を減じる）（ステップＳ２０４１）。
【００８１】
リプライ制御部２３８は、リプライカウンタが「０」になった場合（ステップＳ２０４２／Ｙ）、シーケンス番号表における、当該シーケンス番号に対する使用中フラグに「０」を設定する（ステップＳ２０４３）。
【００８２】
さらに、リプライ制御部２３８は、最古シーケンス番号に対する使用中フラグが「０」になった場合（ステップＳ２０４４／Ｙ）、最古シーケンス番号をインクリメントする（１を加算する）（ステップＳ２０４５）。なお、インクリメントした結果、新たな最古シーケンス番号に対する使用中フラグが「０」の場合、リプライ制御部２３８は、使用中フラグ「１」の最古シーケンス番号が得られるまで、最古シーケンス番号のインクリメントを繰り返す。また、最古シーケンス番号が次シーケンス番号と一致している場合は、使用中のシーケンス番号が無いため、リプライ制御部２３８は、最古シーケンス番号のインクリメントを行わない。また、最古シーケンス番号がＮ桁の２進整数で表現可能な最大値（２Ｎ−１）に達した後は、オーバーフローを無視してインクリメントが行われ、再度「０」からの番号が使用される。
【００８３】
例えば、Ｎ＝８の場合、最古シーケンス番号が「２５５」に達した後は、「０」からの番号が使用される。
【００８４】
次に、メモリネットワーク３００におけるルータ３１０の動作を説明する。
【００８５】
図１３は、本発明の第１の実施形態における、ルータ３１０による、転送処理を示すフローチャートである。
【００８６】
ルータ３１０の入力ポート３１１は、パケットを受信すると、受信したパケットを、入力バッファ３１６に格納する（ステップＳ３０１）。
【００８７】
入力ポート３１１は、当該受信したパケットの送信先、及び、シーケンス番号等の情報を抽出し、転送制御部３１４に送信する（ステップＳ３０２）。
【００８８】
転送制御部３１４は、入力バッファ３１６に格納されているパケットのルーティング先の出力ポート３１２を決定する（ステップＳ３０３）。
【００８９】
ここで、転送制御部３１４は、所定のルーティングテーブルやルーティングアルゴリズムに従って、ルーティング先の出力ポート３１２を決定する。
【００９０】
送信先が同一のコア２００である複数のリプライがある場合（ステップＳ３０４／Ｙ）、同一の出力ポート３１２がルーティング先として決定されるため、当該リプライ間で競合が発生する。この場合、転送制御部３１４は、当該リプライ間で優先制御（競合調停）を行う（ステップＳ３０５）。
【００９１】
ここで、転送制御部３１４は、シーケンス番号を基に、当該複数のリプライの内、古いリクエストに対応するリプライが新しいリクエストに対応するリプライより先に転送されるように、優先制御を行う。例えば、送信先が同一のコア２００であるリプライＡ、Ｂのシーケンス番号がそれぞれ、Ｓａ、Ｓｂであると仮定する。転送制御部３１４は、リプライＢ、Ａのシーケンス番号の差分、Ｓｂ−Ｓａを算出する。転送制御部３１４は、算出したＳｂ−Ｓａと２Ｎ−１を比較する。上述の通り、コア２００におけるシーケンス番号の制御により、ＳｂとＳａの差分は必ず２Ｎ−１−１以下であることが保証されている。このため、Ｓｂ−Ｓａ＜２Ｎ−１である場合、「リプライＡに対応するリクエストは、リプライＢに対応するリクエストより古い」と判断できる。一方、Ｓｂ−Ｓａ≧２Ｎ−１である場合、「リプライＡに対応するリクエストは、リプライＢに対応するリクエストより新しい」と判断できる。ここで、差分は、Ｎ桁の２進整数として評価され、オーバーフローは無視される。そして、転送制御部３１４は、古いリクエストに対応するリプライを新しいリクエストに対応するリプライに優先して転送する。
【００９２】
例えば、Ｎ＝８の場合、転送制御部３１４は、Ｓｂ−Ｓａと「１２８」を比較する。Ｓｂ−Ｓａ＜１２８である場合、転送制御部３１４は、「リプライＡに対応するリクエストは、リプライＢに対応するリクエストより古い」と判断する。一方、Ｓｂ−Ｓａ≧１２８である場合、転送制御部３１４は、「リプライＡに対応するリクエストは、リプライＢに対応するリクエストより新しい」と判断する。
【００９３】
なお、送信先が同一のコア２００であるリプライが３つ以上存在した場合、転送制御部３１４は、上記のような２つのリプライ間の比較を、全てのリプライの組み合わせについて繰り返す。そして、転送制御部３１４は、最も古いリクエストに対応するリプライを優先して転送する。
【００９４】
転送制御部３１４は、ルーティング先の決定結果に従って、入力ポート３１１と出力ポート３１２とが接続されるように、クロスバ３１３の接続を設定する（ステップＳ３０６）。
【００９５】
転送制御部３１４は、優先制御の結果に従って、入力ポート３１１に、入力バッファ３１６からのパケットの出力を指示する（ステップＳ３０７）。
【００９６】
クロスバ３１３は、接続設定に従って、入力ポート３１１から入力されたパケットを出力ポート３１２に転送する（ステップＳ３０８）
以上により、本発明の第１の実施形態の動作が完了する。
【００９７】
次に、本発明の第１の実施形態の特徴的な構成について説明する。
【００９８】
図１は、本発明の第１の実施の形態における、情報処理装置１００の特徴的な構成を示す図である。図１を参照すると、情報処理装置１００は、制御部２３０、及び、メモリネットワーク３００（転送部）を含む。
【００９９】
制御部２３０は、コア２００（処理部）において実行される複数のベクトル命令の各々に対して順番にシーケンス番号を割り当てる。制御部２３０は、当該ベクトル命令に対して生成される複数のメモリポート５１０のそれぞれへのリクエストに、当該割り当てたシーケンス番号を付与して、それぞれ、当該複数のメモリポート５１０へ送信する。
【０１００】
メモリネットワーク３００（転送部）は、複数のメモリポート５１０からコア２００へ送信される、各々が対応するリクエストのシーケンス番号を含む複数のリプライ間で、当該複数のリプライの各々のシーケンス番号を基に優先制御を行う。
【０１０１】
次に、本発明の第１の実施形態の効果について説明する。
【０１０２】
本発明の第１の実施形態によれば、ベクトルプロセッサの実効性能を向上できる。その理由は、制御部２３０がベクトル命令に対して順番にシーケンス番号を割り当て、リクエストに付与し、メモリネットワーク３００が、リプライに含まれるシーケンス番号を基に、リプライ間の優先制御を行うためである。
【０１０３】
これにより、新しいリクエストに対応するリプライによる古いリクエストに対応するリプライの転送の阻害が防止され、レイテンシのばらつきが低減する。そのため、ベクトル命令の実行時間が低減し、ベクトルプロセッサの実効性能が向上する。
【０１０４】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
【０１０５】
本発明の第２の実施形態では、１つのシーケンス番号が複数のベクトル命令で用いられる点において、本発明の第１の実施形態と異なる。
【０１０６】
本発明の第２の実施形態では、制御部２３０がベクトル命令に対してシーケンス番号を割り当てる時に、複数のベクトル命令を実行する毎に次シーケンス番号をインクリメントする。すなわち、制御部２３０は、１つのシーケンス番号を複数のベクトル命令に係るリクエストに付与する。
【０１０７】
図１４は、本発明の第２の実施形態における、シーケンス番号表の例を示す図である。
【０１０８】
図１４の例では、シーケンス番号表は、シーケンス番号毎に、使用中フラグ、リプライカウンタに加えて、命令カウンタを示す。命令カウンタは、対応するシーケンス番号を割り当てる残ベクトル命令数を示す。各シーケンス番号に対する命令カウンタには、同じシーケンス番号を割り当てることができるベクトル命令数（以下、割り当て可能命令数と記載する）が、初期値として、当該シーケンス番号が次シーケンス番号に設定された時に設定される。割り当て可能命令数には、例えば、管理者等により、予め所定の値が設定される。また、シーケンス番号「０」に対する命令カウンタにも、初期化時に、割り当て可能命令数が設定される。
【０１０９】
図１５は、本発明の第２の実施形態における、制御部２３０による、シーケンス番号更新処理（送信時）（ステップＳ１０５）の詳細を示すフローチャートである。
【０１１０】
命令実行制御部２３３は、シーケンス番号表において、ステップＳ１０４で割り当てた次シーケンス番号に対する使用中フラグ、及び、リプライカウンタを設定する（ステップＳ１０５１Ａ）。ここで、命令実行制御部２３３は、使用中フラグを「１」に更新する。また、命令実行制御部２３３は、リプライカウンタに、当該シーケンス番号が付与されるリクエストの数を加える。
【０１１１】
命令実行制御部２３３は、さらに、ステップＳ１０４で割り当てた次シーケンス番号に対する命令カウンタをデクリメントする（ステップＳ１０５２Ａ）。
【０１１２】
また、命令実行制御部２３３は、命令カウンタが０であれば（ステップＳ１０５３Ａ／Ｙ）、次シーケンス番号をインクリメントする（「１」を加算する）（ステップＳ１０５４Ａ）。
【０１１３】
命令実行制御部２３３は、インクリメントにより得られた次シーケンス番号に対応する命令カウンタに、割り当て命令数を設定する（ステップＳ１０５５Ａ）。
【０１１４】
図１６は、本発明の第２の実施形態における、制御部２３０による、シーケンス番号更新処理（受信時）（ステップＳ２０４）の詳細を示すフローチャートである。
【０１１５】
リプライ制御部２３８は、シーケンス番号表において、ステップＳ２０１で受信したリプライに付与されていたシーケンス番号に対するリプライカウンタをデクリメントする（１を減じる）（ステップＳ２０４１Ａ）。
【０１１６】
リプライ制御部２３８は、リプライカウンタが「０」になった場合（ステップＳ２０４２Ａ／Ｙ）、シーケンス番号表における、当該シーケンス番号に対する使用中フラグに「０」を設定する（ステップＳ２０４３Ａ）。
【０１１７】
さらに、リプライ制御部２３８は、最古シーケンス番号に対する使用中フラグが「０」になり、かつ、命令カウンタが「０」の場合（ステップＳ２０４４Ａ／Ｙ）、最古シーケンス番号をインクリメントする（１を加算する）（ステップＳ２０４５Ａ）。なお、インクリメントした結果、新たな最古シーケンス番号に対する使用中フラグが「０」、かつ、命令カウンタが「０」の場合、リプライ制御部２３８は、使用中フラグ「１」、または、命令カウンタ「０以外」が得られるまで、インクリメントを繰り返す。
【０１１８】
これらの処理により、各コア２００から送信されるリクエストには、割り当て命令数のベクトル命令が実行される毎に、新たなシーケンス番号が付与される。例えば、割り当て命令数が「４」であれば、４つのベクトル命令が実行される毎に、新たなシーケンス番号が付与される。
【０１１９】
次に、本発明の第２の実施形態の効果について説明する。
【０１２０】
上述の本発明の第１の実施の形態では、レイテンシの最大値に対して割り当て可能な十分な数のシーケンス番号が無い場合、シーケンス番号の枯渇によってベクトル命令の実行が制限され、情報処理装置１００の性能低下が発生する可能性がある。性能低下を防ぐためには、シーケンス番号のビット幅を増やすことが望ましい。しかしながら、シーケンス番号のビット幅の増加は、配線リソースを増やすと共に、ビット幅の大きなシーケンス番号比較回路を必要とするため、ＬＳＩ（Large Scale Integration）の実装の難易度を増大させる。
【０１２１】
本発明の第２の実施形態によれば、レイテンシの最大値が大きい場合でも、ハードウェアの実装の難易度を増大させることなく、ベクトルプロセッサの実効性能を向上できる。その理由は、制御部２３０が、１つのシーケンス番号を複数のベクトル命令に割り当てるためである。
【０１２２】
複数のベクトル命令に対して１つのシーケンス番号を割り当てると、同じシーケンス番号が付与された、異なるベクトル命令のリクエスト間での順序制御はできなくなる。しかしながら、シーケンス番号を表すビット幅が同じでも、シーケンス番号が枯渇するまでの時間は延長される。したがって、同じレイテンシの最大値に対して、少ないハードウェアで、シーケンス番号の枯渇が発生しないように、コア２００を実装することができる。
【０１２３】
なお、上述の説明では、命令カウンタの初期値である割り当て可能命令数に、予め所定の値が設定される場合を例に説明した。しかしながら、これに限らず、割り当て可能命令数は、過去一定期間のベクトル長やレイテンシの最大値、その時点で使用中シーケンス番号の数等を基に、動的に切り替えられてもよい。例えば、命令実行制御部２３３は、過去一定期間のベクトル長やレイテンシの最大値、その時点で使用中シーケンス番号の数が大きい場合、小さい場合に比べて、割り当て可能命令数を増やしてもよい。これにより、情報処理装置１００やメモリ５００の状況に応じて、シーケンス番号の枯渇が発生しないように、シーケンス番号を割り当てることができる。
【０１２４】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されない。本願発明の構成や詳細に対して、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１２５】
例えば、上述の各実施形態では、メモリネットワーク３００が、図６のように二次元メッシュ状に配置されたルータ３１０により構成される場合を例に説明した。しかしながら、これに限らず、コア２００とメモリＩ／Ｆ４００との間で、パケットを転送できれば、メモリネットワーク３００のトポロジやサイズは、図６で示したトポロジやサイズ以外でもよい。また、上述の各実施形態では、ルータ３１０において、入力ポート３１１と出力ポート３１２との間がクロスバ３１３により接続される場合を例に説明した。しかしながら、これに限らず、入力ポート３１１と出力ポート３１２との間で、パケットを転送でき、パケット間の競合調停ができれば、入力ポート３１１と出力ポート３１２との間は、クロスバ３１３以外で接続されていてもよい。
【０１２６】
また、上述の各実施形態では、情報処理装置１００がベクトルプロセッサの場合を例に説明した。しかしながら、これに限らず、情報処理装置１００が、ＣＰＵとプログラムを記憶した記憶媒体を含み、プログラムに基づく制御によって動作するコンピュータであってもよい。
【０１２７】
図１７は、本発明の実施の形態における、コンピュータにより実現された情報処理装置１００の構成を示すブロック図である。
【０１２８】
この場合、情報処理装置１００は、ＣＰＵ１０１、ハードディスクやメモリ等の記憶デバイス１０２（記憶媒体）、キーボード、ディスプレイ等の入出力デバイス１０３、及び、他の装置等と通信を行う通信デバイス１０４を含む。ＣＰＵ１０１は、コア２００、メモリネットワーク３００、及び、複数のメモリＩ／Ｆ４００を実現するためのプログラムを実行する。記憶デバイス１０２は、コア２００内の制御部２３０に含まれる命令バッファ２３１、シーケンス番号表格納部２３４、最古シーケンス番号格納部２３５、及び、次シーケンス番号格納部２３６のデータを記憶する。また、記憶デバイス１０２は、メモリネットワーク３００内のルータ３１０に含まれる入力バッファ３１６、及び、出力バッファ３１７のデータを記憶する。通信デバイス１０４は、メモリ５００との間で、リクエストパケットやリプライパケットを送受信する。入出力デバイス１０３は、管理者等からの演算実行指示の入力や管理者等への演算実行結果の出力を行う。
【０１２９】
また、情報処理装置１００の各構成要素が、有線または無線で接続された複数のコンピュータに分散的に配置されていてもよい。
【０１３０】
また、情報処理装置１００のコア２００、メモリネットワーク３００、及び、メモリＩ／Ｆ４００の各構成要素の一部、または、全部が、汎用、または、専用の回路（circuitry）やプロセッサ、これらの組み合わせによって実現されてもよい。
【符号の説明】
【０１３１】
１００    情報処理装置
１０１    ＣＰＵ
１０２    記憶デバイス
１０３    入出力デバイス
１０４    通信デバイス
２００    コア
２１０    スカラプロセッシング部
２２０    ベクトルプロセッシング部
２３０    制御部
２３１    命令バッファ
２３２    アドレス変換部
２３３    命令実行制御部
２３４    シーケンス番号表格納部
２３５    最古シーケンス番号格納部
２３６    次シーケンス番号格納部
２３７    リクエスト制御部
２３８    リプライ制御部
３００    メモリネットワーク
３１０    ルータ
３１１    入力ポート
３１２    出力ポート
３１３    クロスバ
３１４    転送制御部
３１６    入力バッファ
３１７    出力バッファ
４００    メモリＩ／Ｆ
５００    メモリ
５１０    メモリポート
９００    ベクトルプロセッサ
９１０    コア
９２０    メモリネットワーク
９３０    メモリＩ／Ｆ
９４０    メモリ
９５０    メモリポート
【図１】
0006682848.tif 000002
【図２】
0006682848.tif 000003
【図３】
0006682848.tif 000004
【図４】
0006682848.tif 000005
【図５】
0006682848.tif 000006
【図６】
0006682848.tif 000007
【図７】
0006682848.tif 000008
【図８】
0006682848.tif 000009
【図９】
0006682848.tif 000010
【図１０】
0006682848.tif 000011
【図１１】
0006682848.tif 000012
【図１２】
0006682848.tif 000013
【図１３】
0006682848.tif 000014
【図１４】
0006682848.tif 000015
【図１５】
0006682848.tif 000016
【図１６】
0006682848.tif 000017
【図１７】
0006682848.tif 000018
【図１８】
0006682848.tif 000019