説明

マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法

【課題】プロセッサ単体の性能を向上させつつ、プロセッサ数を増やすことができるマルチプロセッサおよびその処理方法を提供する。
【解決手段】マルチプロセッサは、複数のプロセッサと、この複数のプロセッサで共有する共有キャッシュとを有し、複数のプロセッサのうちの空プロセッサを、プリフェッチ機能を使用可能なプリフェッチ専用プロセッサとし、このプリフェッチ専用プロセッサと対を成すプロセッサと共に1つのプログラム実行単位として、複数のプロセッサに最適化された複数種類のオブジェクトソースを実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法に関する。
【背景技術】
【0002】
最近のコンピュータ業界の動向として、TOCを削減するために、HW(ハードウェア)リソースをどう有効利用するかどうかの研究、開発が盛んに行われている。しかしながら、更なるTOCの削減を追及する余地がまだある。
【0003】
これに関連する技術として、特許文献1には、プリフェッチ用スレッド及びプリチャージ用スレッドを生成するコンパイラ装置が記載されている。これによると、生成された両スレッドがメインプログラムと並列に動作しながら、プログラムの優先度及びキャッシュメモリの使用率を考慮したプリフェッチ及びプリチャージを行う。こうすることで、キャッシュメモリのヒット率を向上させ、キャッシュメモリからの無駄なプリフェッチを防止することができるとされている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−078264号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、マルチプロセッサを用いたコンピュータシステムの場合、空プロセッサがあっても他のプロセッサとHWが同じであるため、実行すべきプログラムがなければ、空プロセッサは無駄となる。このため、実行すべきプログラムがない場合、空プロセッサをどう有効活用するかが課題となっている。
【0006】
その対策として、マルチプロセッサのコア内にアウト・オブ・オーダ機能やプリフェッチ機能や分岐予測機能を追加することにより、キャッシュミスによるメモリアクセス時間を隠蔽することができる。しかし、複雑な機能を追加すると、チップ面積が増大してマルチプロセッサ数が増やせないという課題がある。従って、マルチプロセッサを用いたコンピュータシステムの場合、プロセッサ単体の性能を向上させつつ、プロセッサ数を増やすことが課題にあげられる。
【0007】
本発明の目的は、上記課題を解決し、プロセッサ単体の性能を向上させつつ、プロセッサ数を増やすことができるマルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法を提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明に係るマルチプロセッサは、複数のプロセッサと、この複数のプロセッサで共有する共有キャッシュとを有し、前記複数のプロセッサのうちの空プロセッサを、プリフェッチ機能を使用可能なプリフェッチ専用プロセッサとし、このプリフェッチ専用プロセッサと対を成すプロセッサと共に1つのプログラム実行単位として、前記複数のプロセッサに最適化された複数種類のオブジェクトソースを実行することを特徴とする。
【0009】
本発明に係るマルチプロセッサの処理方法は、複数のプロセッサと、この複数のプロセッサで共有する共有キャッシュとを有するマルチプロセッサの処理方法であって、前記マルチプロセッサが、前記複数のプロセッサのうちの空プロセッサを、プリフェッチ機能を使用可能なプリフェッチ専用プロセッサとし、このプリフェッチ専用プロセッサと対を成すプロセッサと共に1つのプログラム実行単位として、前記複数のプロセッサに最適化された複数種類のオブジェクトソースを実行することを特徴とする。
【発明の効果】
【0010】
本発明によれば、空プロセッサを利用してプリフェッチ機能を追加することにより、キャッシュのヒット率の増加とロード系命令のサイクル数の低減ができるので、プロセッサ単体の性能を向上することができる。また、複雑なHWを追加しないでプリフェッチ機能を実現することができるので、面積の増加を抑えることが可能でマルチプロセッサ数を増やすことができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施例に係るマルチプロセッサシステムの全体構成を示す概略ブロック図である。
【図2】図1に示すプリフェッチ機構の内部構成を示す概略ブロック図である。
【図3】図1に示すマルチプロセッサシステムの動作を示す概略フローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明に係るマルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法の実施の形態について、図面を参照して詳細に説明する。
【0013】
本実施の形態は、複数のプロセッサで共有するキャッシュで構成されているマルチプロセッサシステムにおいて、マルチプロセッサの空プロセッサをプリフェッチ処理に使うことにより性能を向上させると共に、空プロセッサがない場合は通常処理を行える柔軟なマルチプロセッサ環境を提供する。具体的には、(1)空プロセッサをプリフェッチ機能にするモードとプリフェッチ専用プロセッサに対応するプロセッサを指定する手段と、(2)プリフェッチ処理で先行するロード命令にデータ依存がある場合は、データ依存を解決する手段とを有する。以下、各手段について説明する。
【0014】
(1)プリフェッチ機能にするモードとプリフェッチ専用プロセッサに対応するプロセッサを指定する手段は、マルチプロセッサの各コアのモードに情報を設定することで実現する。その設定は、専用命令で行う。各コアのモード情報には、現時点のプロセッサのモードが保持されている。モードの内容は、プリフェッチ機能、通常機能とする。
【0015】
プリフェッチ機能がオンになると、対となるプロセッサ情報も保持される。対となるプロセッサグループは、OSから見ると1つのプログラム実行単位となる。プリフェッチ機能有効のプロセッサでプログラムを実行する場合は、同じプログラムであるがそれぞれのプロセッサに最適化されたプログラムが実行される。プリフェッチ専用プロセッサに最適化されるプログラムは、ロード命令に関係ない命令(ストア命令、ロード命令に関係ない演算命令等)は、コンパイラによって削除される。データ依存が不明確な命令は、同期命令に変化して残す。空きプロセッサがない場合は、モードを通常機能としてプリフェッチ専用プロセッサに最適化されてないプログラムを実行する。
【0016】
(2)データ依存を解決する手段は、同期制御とアドレス情報により処理される。その処理は、専用命令で行う。ここでのデータ依存とは、プロセッサ間で発生するロード命令とストア命令のライト・アフター・リード、リード・アフター・ライトである。ライト・アフター・ライトは、プリフェッチ専用プロセッサでストア命令は実行されないので考慮しない。同期方法は、同期型ロード命令でアドレスとデータ長を登録し、同期型ストア命令でデータ依存があるかチェックして、依存があればロード命令をキャンセルする。
【0017】
上記の各手段は、複数のプロセッサで共有するキャッシュで構成されているマルチプロセッサシステムにおいて、次のようなコンパイラ、OS、コンピュータシステムの各構成により実現される。
【0018】
(コンパイラ)
1.コンパイラは、同じプログラムソースから複数のプロセッサに最適化されたオブジェクトソースを生成するもので、次のような処理を行う。
【0019】
1つは、プログラムソースから、ロード系命令とストア系命令のデータ依存を解析し、ロード系命令に関係のない命令を削除し、ロード系命令とストア系命令のデータ依存がある場合、ストア系命令を削除してロード系命令を同期制御付ロード系命令に変換して、オブジェクトソースを生成する。
【0020】
もう1つは、プログラムソースから、ロード系命令とストア系命令のデータ依存がある場合、ストア系命令を同期制御付ストア系命令に変換して、オブジェクトソースを生成する。
【0021】
2.上記1で生成された複数種類のオブジェクトソースは、それぞれ並列化される。
【0022】
3.上記1か2で生成された2種類のオブジェクトソースは、1つのオブジェクトソースにマージされ、実行するプロセッサによって分岐する命令が追加される。
【0023】
(OS)
4.OSは、上記1か3で生成されたオブジェクトソースと、上記1か3以外で生成されたオブジェクトソースとを識別するための管理情報をもつ。
【0024】
5.OSは、上記2で並列化されたオブジェクトソースの必要プロセッサ数を保持するための管理情報をもつ。
【0025】
6.OSは、上記4と5の情報を元にプロセッサのモードをリード・設定・解除する命令を発行する。
【0026】
7.OSは、上記1か3のオブジェクトソースを実行する前に、複数のプロセッサが共有メモリ空間を確保できる初期化処理を行う。
【0027】
8.OSは、上記5と6の情報から上記1か3のオブジェクトソースを任意のプロセッサに実行できる。
【0028】
(コンピュータシステム)
9.コンピュータシステムは、上記1と6の命令を制御するHW(ハードウェア)機構をもつ。
【0029】
10.HW機構は、受信部と、送信部と、モード制御部と、同期制御部と、モード情報とアドレス情報を保持する部分とからなる。
【0030】
11.モード情報は、複数のプリフェッチ機能を使用可能なプロセッサ情報とプリフェッチ機能を使用不可能なプロセッサ情報を保持するとともに、複数のプリフェッチ機能を使用可能なプロセッサ情報とプリフェッチ機能を使用不可能なプロセッサ情報をグループ化して管理する情報を持ち、リード・ライトできる。
【0031】
12.アドレス情報は、複数のプリフェッチ機能を使用不可能なプロセッサ分の領域を持ち、プロセッサの領域は複数の同期制御付ロード系命令を持ち、ロード系命令のロードアドレスとロードサイズと同期制御付ストア系命令で実行されるプロセッサ番号をリード・ライトできる。
【0032】
13.同期制御部は、同期制御付ストア系命令実行した際、プリフェッチ機能を使用可能なプロセッサに仕掛中のロード系命令があった場合、該プロセッサと共有キャッシュとメインメモリにキャンセル指示を発行できる。
【0033】
14.共有キャッシュは、上記1か3で生成した複数種類のオブジェクトソースのロード系命令によってキャッシュミスが発生した際、種類別に置き換えるウェイをコンピュータシステムが予め決めておき、メインメモリのデータをキャッシュに登録する。
【0034】
以上説明したように、本実施の形態によれば、空プロセッサを利用してプリフェッチ機能を追加することにより、キャッシュのヒット率の増加とロード系命令のサイクル数の低減ができるので、性能を向上することができる。また、複雑なHWを追加しないでプリフェッチ機能を実現することができるので、面積の増加を抑えることが可能でマルチプロセッサ数を増やすことができる。
【実施例】
【0035】
図1に本発明の実施例に係るマルチプロセッサシステムの全体構成を示す。
【0036】
図1に示す本実施例のマルチプロセッサシステムは、マルチプロセッサ1000およびメインメモリ1500を含むコンピュータシステム100と、このコンピュータシステム100により実行されるOS(オペレーティングシステム)111およびオブジェクトソース112を含むプログラム110と、コンパイラ120とを有する。以下、コンパイラ120、OS111、マルチプロセッサ1000の順に説明する。
【0037】
(コンパイラ120)
コンパイラ120は、同じプログラムソースから、マルチプロセッサ1000の複数のプロセッサに最適化されたオブジェクトソース112を生成するもので、次の機能を有する。
【0038】
1.ロード系命令とストア系命令とIO系命令のデータ依存を解析して、静的にデータ依存がない演算系命令、ストア系命令、分岐系命令、IO系命令をオブジェクトソースから削除し、静的にデータ依存が不明確なロード系命令は同期制御付ロード系命令に変換し、プリフェッチ専用プロセッサのオブジェクトソースを生成する。
【0039】
2.ロード系命令とストア系命令とIO系命令のデータ依存を解析して、静的にデータ依存が不明確なストア系命令は同期制御付ストア系命令に変換し、プリフェッチ専用プロセッサと対となるプロセッサのオブジェクトソースを生成する。
【0040】
3.自プロセッサがプリフェッチ専用プロセッサか否かを判断する命令と、前記2種類のオブジェクトソースに分岐する分岐命令を挿入して、1つのオブジェクトソースを生成する。
【0041】
(OS110)
OS110は、次の機能を有する。
【0042】
1.コンパイラ120が生成したプリフェッチ機能を使用するオブジェクトソースとプリフェッチ機能を使用しないオブジェクトソースを管理する。
【0043】
2.プリフェッチ機能を使用するオブジェクトソースを実行する際、モード制御するためにモードリード命令、モード設定命令、モード解除命令を発行する。
【0044】
3.プリフェッチ機能を使用するオブジェクトソースを実行する際、プリフェッチ専用プロセッサとプリフェッチ専用プロセッサと対となるプロセッサのメモリ空間が同一となるように初期設定する。
【0045】
(マルチプロセッサ1000)
マルチプロセッサ1000は、図1に示すように、プロセッサコア1100と、プロセッサコア群1200と、HW機構であるプリフェッチ機構1300と、共有キャッシュ1400とから構成されている。このマルチプロセッサ1000は、バス等を介してメインメモリ1500に接続されている。
【0046】
プロセッサコア1100は、プリフェッチ専用プロセッサとして動作可能である。このことは、予めコンピュータシステム100で定義されている。プロセッサコア群1200も、プリフェッチ専用プロセッサとして動作可能である。このことも、予めコンピュータシステム100で定義されている。
【0047】
プリフェッチ機構1300は、プロセッサコア1100と、プロセッサコア群1200と、共有キャッシュ1400と、メインメモリ1500とにそれぞれ接続されている。
【0048】
共有キャッシュ1400は、キャッシュコントローラ1410と、タグ群1420と、データ群1430とから成る2ウェイセットアソシアティブ方式のキャッシュで構成される。ここで、ウェイ番号1はプロセッサコア1100で使う専用領域で、ウェイ番号2はプロセッサコア群1200で使う専用領域である。ウェイ番号の決定は、キャッシュミスが発生した際の置き換え処理で決定する。
【0049】
(プリフェッチ機構1300)
図2は、プリフェッチ機構1300の構成である。プリフェッチ機構1300は、受信部2100と、送信部2200と、モード制御部2300と、同期制御部2400と、モード情報2500と、アドレス情報2600とで構成される。
【0050】
受信部2100は、マルチプロセッサ1000から、コマンド部とデータ部からなる信号を受信する。この信号は、コンパイラ120で生成した同期制御付ロード系、同期制御付ストア系命令と、OS111が発行するモードリード命令、モード設定命令、モード解除命令の信号である。受信部2100は、バッファを持ち、FIFO(First-In First-Out)で制御する。
【0051】
送信部2200は、前記各命令のリプライを各プロセッサコアに送信する。
【0052】
モード制御部2300は、モードリード命令、モード設定命令、モード解除命令に応じて、モード情報2500にリード・ライトし、その結果を送信部2200へ送る。
【0053】
モード情報2500は、各プロセッサコアの情報を保持する。この情報は、プリフェッチ機構が使用可能か不可能か保持し、使用可能な場合はプリフェッチ専用プロセッサと対となるプロセッサ情報を保持する。
【0054】
同期制御部2400は、同期制御付ロード系命令、同期制御付ストア系命令に応じて、アドレス情報2600にリード・ライトし、その結果を判定して送信部2200へ送る。アドレス情報2600は、プロセッサコア群1200の数分の領域を持つ。
【0055】
各プロセッサコアの領域には、複数の同期制御付ロード系命令のロードアドレスとロードサイズを登録できる領域を持っている。同期制御付ロード系命令の場合、アドレス情報2600にプロセッサコア番号とロードアドレスとロードサイズをライトする。同期制御付ストア系命令の場合、アドレス情報2600からプロセッサコア番号とストアアドレスと同じアドレスを検索し、あれば情報を削除する。
【0056】
(本実施例の動作)
図3は、本実施例の動作フローである。
【0057】
本実施例に係るマルチプロセッサシステムにおいて、はじめにステップ3010で、OS111のディスパッチャで選択されたプログラムは、OS111のプログラム管理情報からプリフェッチ機能を使用するオブジェクトソースとプリフェッチ機能を使用しないオブジェクトソースかを識別される。その結果、プリフェッチ機能を使用するオブジェクトソースであれば、ステップ3020に、プリフェッチ機能を使用しないオブジェクトソースであれば、ステップ3040になる。
【0058】
次のステップがステップ3020の場合、OS111のディスパッチャは、モードリード命令を発行してプリフェッチ専用プロセッサが使用可能か判定する。ここで、プリフェッチ専用プロセッサが使用可能かの判定は、プロセッサコア1010のモード情報2500にモードが設定されてない場合は使用可能、モードが設定されている場合は使用不可能と判定する。
【0059】
その結果、使用可能な場合は、ステップ3030とステップ3040に、使用不可能な場合は、ステップ3040のみとなる。一方、使用可能な場合、OS111のディスパッチャは、プリフェッチ専用プロセッサと対となるプロセッサ群を決定する。
【0060】
プロセッサ群の決定は、OS111のプログラム管理情報に登録してあるプロセッサ数から決定する。また、OS111のディスパッチャは、プログラム管理情報のプロセッサ数と実行可能なプロセッサ数を比較して少ない方を決め、プリフェッチ機構1030にモード設定命令を発行する。
【0061】
ここで、並列化プログラムのプロセッサ群のプロセッサ割付アルゴリズムは、予めコンピュータシステム100で定義されている。さらに、OS111のディスパッチャは、プロセッサコア1100とプロセッサコア群1200にプリフェッチ専用プロセッサとプリフェッチ専用プロセッサと対となるプロセッサのメモリ空間が同一となるように初期設定する。OS初期設定が終わると、次のステップ3030とステップ3040に移る。
【0062】
次のステップ3030とステップ3040で、プリフェッチ専用プロセッサとプリフェッチ専用プロセッサと対となるプロセッサ群は、1つのオブジェクトソースを実行する。
【0063】
プリフェッチ専用プロセッサは、プリフェッチ専用プロセッサのオブジェクトソースに分岐し、プリフェッチ専用プロセッサと対となるプロセッサ群は、プリフェッチ専用プロセッサと対となるプロセッサのオブジェクトソースに分岐して、各プロセッサコアで実行される。
【0064】
プリフェッチ専用プロセッサは、ステップ3050に移る。プリフェッチ専用プロセッサと対となるプロセッサ群は、ステップ3060に移る。
【0065】
次のステップ3050で、プリフェッチ専用プロセッサは、ロード系命令を実行する。ここで、ロード系命令が同期制御付ロード系命令の場合は、ステップ3070に移る。ロード系命令が同期制御付ロード系命令以外の場合は、ステップ3090に移る。
【0066】
次のステップ3070で、プリフェッチ専用プロセッサは、同期制御付ロード系命令をプリフェッチ機構1030に発行する。プリフェッチ機構1030は、アドレス情報2600に同じプロセッサコア番号で同じロードアドレスがないか判定する。
【0067】
その結果、同じプロセッサコア番号で同じロードアドレスがなければ、アドレス情報2600に対となる同期制御付ストア系命令が実行されるプロセッサコア番号とロードアドレスとロードサイズをライトする。一方、同じプロセッサコア番号で同じロードアドレスがあれば、先に同期制御付ストア系命令が実行されていることになり、同期制御付ロード系命令はキャンセルされる。
【0068】
ここで、同期制御付ストア系命令の前に次の同期制御付ロード系命令がきた場合は、アドレス情報2600の別の領域に次の同期制御付ロード系命令として登録していく。
【0069】
次のステップ3090で、プリフェッチ専用プロセッサは、同期制御付ロード系命令以外のロード系命令を実行し、メインメモリ1500から共有キャッシュ1400にデータの写しをデータ群1430にコピーすると共に、タグ群1420にタグアドレスを登録する。この登録は、プリフェッチ専用プロセッサと対となるプロセッサ群に上書きされないようにウェイ番号1に登録される。
【0070】
次のステップ3060で、プリフェッチ専用プロセッサと対となるプロセッサ群は命令を実行する。同期制御付ストア系命令の場合は、ステップ3080に移る。ロード系命令の場合は、プリフェッチ専用プロセッサのキャッシュへのプリフェッチが行われているとキャッシュヒットとなる。キャッシュミスとなった場合は、ウェイ番号2にメインメモリ1500から共有キャッシュ1400にデータの写しをデータ群1430にコピーすると共に、タグ群1420にタグアドレスを登録される。
【0071】
次のステップ3080で、プリフェッチ専用プロセッサと対となるプロセッサ群は、同期制御付ストア系命令をプリフェッチ機構1030に発行する。プリフェッチ機構1030は、アドレス情報2600に同じプロセッサコア番号で同じロードアドレスがないか判定する。
【0072】
その結果、同じプロセッサコア番号で同じロードアドレスがなければ、アドレス情報2600に対となる同期制御付ストア系命令実行されるプロセッサコア番号とロードアドレスとロードサイズをライトする。一方、同じプロセッサコア番号で同じロードアドレスがあれば、アドレス情報2600に登録されている情報を削除する。
【0073】
さらに、プリフェッチ専用プロセッサの同期制御付ロード系命令が仕掛かり中であれば、プリフェッチ専用プロセッサとメインメモリ1500と共有キャッシュ1400にキャンセル指示を発行する。
【0074】
最後にステップ3100では、プリフェッチ機能を使用するオブジェクトソースであれば、モード解除命令を発行し、ステップ3010に戻る。プリフェッチ機能を使用しないオブジェクトソースであれば、ステップ3010に戻る。
【0075】
したがって、本実施例によれば、空プロセッサを利用してプリフェッチ機能を追加することにより、キャッシュのヒット率の増加とロード系命令のサイクル数の低減できるので、性能を向上することができる。また、複雑なHWを追加しないでプリフェッチ機能を実現することができるので、面積の増加を抑えることが可能で、マルチプロセッサ数を増やすことができる。
【0076】
なお、上述したマルチプロセッサ内のHW機構であるプリフェッチ機構の内部構成は特に限定されるものではなく、上述した各部の機能を実現可能であれば、各部の機能毎に個別に構成したものでも、各部の機能を一体的に構成したものでも、いずれも適用可能である。
【0077】
以上、実施の形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施の形態及び実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【0078】
本発明は、マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法の用途に利用可能である。
【符号の説明】
【0079】
100 コンピュータシステム
110 プログラム
111 OS
112 オブジェクトソース
120 コンパイラ
1000 マルチプロセッサ
1100 プロセッサコア
1200 プロセッサコア群
1300 プリフェッチ機構
1400 共有キャッシュ
1410 キャッシュコントローラ
1420 タグ群
1430 データ群
1500 メインメモリ
2100 受信部
2200 送信部
2300 モード制御部
2400 同期制御部
2500 モード情報
2600 アドレス情報

【特許請求の範囲】
【請求項1】
複数のプロセッサと、この複数のプロセッサで共有する共有キャッシュとを有し、
前記複数のプロセッサのうちの空プロセッサを、プリフェッチ機能を使用可能なプリフェッチ専用プロセッサとし、このプリフェッチ専用プロセッサと対を成すプロセッサと共に1つのプログラム実行単位として、前記複数のプロセッサに最適化された複数種類のオブジェクトソースを実行することを特徴とするマルチプロセッサ。
【請求項2】
前記複数種類のオブジェクトソースは、前記プリフェッチ専用プロセッサが実行するオブジェクトソースと、前記プリフェッチ専用プロセッサと対を成すプロセッサが実行するオブジェクトソースとを有し、
前記プリフェッチ専用プロセッサが実行するオブジェクトソースは、ロード系命令に関係のない命令を削除し、ロード系命令とストア系命令のデータ依存がある場合、ストア系命令を削除してロード系命令を同期制御付ロード系命令に変換したもので構成され、
前記プリフェッチ専用プロセッサと対を成すプロセッサが実行するオブジェクトソース
は、ロード系命令とストア系命令のデータ依存がある場合、ストア系命令を同期制御付ストア系命令に変換したもので構成されることを特徴とする請求項1に記載のマルチプロセッサ。
【請求項3】
前記複数種類のオブジェクトソースは、それぞれ並列化されることを特徴とする請求項2に記載のマルチプロセッサ。
【請求項4】
前記プリフェッチ専用プロセッサが実行するオブジェクトソースと、前記プリフェッチ専用プロセッサと対を成すプロセッサが実行するオブジェクトソースとは、1つのオブジェクトソースにマージされ、
前記1つのオブジェクトソースには、実行するプロセッサによって分岐する命令が含まれていることを特徴とする請求項2に記載のマルチプロセッサ。
【請求項5】
前記プリフェッチ機能を使用可能なプロセッサ情報と前記プリフェッチ機能を使用不可能なプロセッサ情報とをリードおよびライト可能に保持するモード情報をさらに有することを特徴とする請求項1に記載のマルチプロセッサ。
【請求項6】
前記プリフェッチ機能を使用不可能なプロセッサ分の領域を持ち、このプロセッサ分の領域は複数の同期制御付ロード系命令を持ち、ロード系命令のロードアドレスとロードサイズと同期制御付ストア系命令で実行されるプロセッサ番号をリードおよびライト可能に保持するアドレス情報をさらに有することを特徴とする請求項2に記載のマルチプロセッサ。
【請求項7】
前記同期制御付ストア系命令実行した際、前記プリフェッチ機能を使用可能なプロセッサに仕掛中のロード系命令があった場合、該プロセッサと前記共有キャッシュとメインメモリにキャンセル指示を発行できる同期制御部をさらに有することを特徴とする請求項2に記載のマルチプロセッサ。
【請求項8】
前記共有キャッシュは、前記複数種類のオブジェクトソースのロード系命令によってキャッシュミスが発生した際、種類別に置き換えるウェイを予め決めておき、メインメモリのデータをキャッシュに登録することを特徴とする請求項2に記載のマルチプロセッサ。
【請求項9】
請求項1から8のいずれか1項に記載のマルチプロセッサを用いたことを特徴とするコンピュータシステム。
【請求項10】
複数のプロセッサと、この複数のプロセッサで共有する共有キャッシュとを備えたマルチプロセッサの処理方法であって、
前記マルチプロセッサが、前記複数のプロセッサのうちの空プロセッサを、プリフェッチ機能を使用可能なプリフェッチ専用プロセッサとし、このプリフェッチ専用プロセッサと対を成すプロセッサと共に1つのプログラム実行単位として、前記複数のプロセッサに最適化された複数種類のオブジェクトソースを実行することを特徴とするマルチプロセッサの処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2011−141743(P2011−141743A)
【公開日】平成23年7月21日(2011.7.21)
【国際特許分類】
【出願番号】特願2010−2063(P2010−2063)
【出願日】平成22年1月7日(2010.1.7)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】