(58)【調査した分野】(Int.Cl.,DB名)
外部からデータを受信する受信部と、当該受信部からデータが書き込まれる第1メモリ空間と、前記データの書き込みを同期するためのフラグが書き込まれる第2メモリ空間と、前記データに対する処理を行う演算部と、を備え、
前記演算部は、前記受信部に対して前記第1メモリ空間と前記第2メモリ空間との同期化を指示すると共に、当該受信部から同期化完了の応答を受信する同期制御部を備え、
前記受信部は、
前記演算部からの同期化指示に応じて、前記第1メモリ空間と前記第2メモリ空間とに対して、それぞれ同期化命令を発行する同期化命令発行部と、
前記同期化命令に応じて、前記第1メモリ空間から前記データの書き込みが保障されたことを表す応答と、前記第2メモリ空間から前記フラグの書き込みが保障されたことを表す応答と、を受信して、前記第1メモリ空間と前記第2メモリ空間とのそれぞれの書き込みが保障されたことを判定し、両メモリ空間の書き込みが保障された場合に同期化完了を前記演算部に対して応答する同期化命令受信部と、を備えた、
情報処理装置。
外部からデータを受信する受信部と、当該受信部からデータが書き込まれる第1メモリ空間と、前記データの書き込みを同期するためのフラグが書き込まれる第2メモリ空間と、前記データに対する処理を行う演算部と、を備え、
前記演算部は、前記受信部に対して前記第1メモリ空間と前記第2メモリ空間との同期化を指示すると共に、当該受信部から同期化完了の応答を受信する同期制御部を備え、
前記受信部は、
前記演算部からの同期化指示に応じて、前記第1メモリ空間と前記第2メモリ空間とに対して、それぞれ同期化命令を発行する同期化命令発行部と、
前記同期化命令に応じて、前記第1メモリ空間から前記データの書き込みが保障されたことを表す応答と、前記第2メモリ空間から前記フラグの書き込みが保障されたことを表す応答と、を受信して、前記第1メモリ空間と前記第2メモリ空間とのそれぞれの書き込みが保障されたことを判定し、両メモリ空間の書き込みが保障された場合に同期化完了を前記演算部に対して応答する同期化命令受信部と、を備えた、
プロセッサ。
外部からデータを受信する受信部と、当該受信部からデータが書き込まれる第1メモリ空間と、前記データの書き込みを同期するためのフラグが書き込まれる第2メモリ空間と、前記データに対する処理を行う演算部と、を備えた情報処理装置による同期方法であって、
前記演算部は、前記受信部に対して前記第1メモリ空間と前記第2メモリ空間との同期化を指示し、
前記受信部は、
前記演算部からの同期化指示に応じて、前記第1メモリ空間と前記第2メモリ空間とに対して、それぞれ同期化命令を発行し、
前記第1メモリ空間から前記データの書き込みが保障されたことを表す応答と、前記第2メモリ空間から前記フラグの書き込みが保障されたことを表す応答と、を受信して、前記第1メモリ空間と前記第2メモリ空間とのそれぞれの書き込みが保障されたことを判定し、両メモリ空間の書き込みが保障された場合に同期化完了を前記演算部に対して応答する、
同期方法。
【発明を実施するための形態】
【0016】
<実施形態1>
本発明の第1の実施形態を、
図3乃至
図10を参照して説明する。
図3乃至
図4は、情報処理装置の構成を説明するための図である。
図5乃至
図10は、情報処理装置における動作を説明するための図である。
【0017】
図3に、本実施形態における情報処理装置の全体構成を示す。情報処理装置は、PCI(Peripheral Component Interconnect)バス1と、当該PCIバス1に接続されたPCIカード上に搭載されたプロセッサ2と、当該PCIカード上に搭載されプロセッサ2に接続されたメモリ(MEM)31〜34と、を備えている。PCIバス1は、例えば、標準規格のPCI Expressであり、メモリも標準規格のメモリである。
【0018】
上記プロセッサ2の中には、PCI受信部21、コミュニケーションレジスタ(CR)221〜224、ラストレベルキャッシュ(LLC)231〜234、プロセッサコア(CORE)241〜244が入るものとする。ここでは、一例として、4つのプロセッサコアからなる4コア構成、インタリーブされた4つのラストレベルキャッシュ構成、また、同じく、インタリーブされた4つのコミュニケーションレジスタ構成を例として記載している。ただし、本発明は、上述した構成であることに限定されない。例えば、プロセッサコア、ラストレベルキャッシュ、コミュニケーションレジスタの数は、1つであってもよく、4つ以外の数であってもよい。
【0019】
ここで、本実施形態では、後述するように、外部からデータを受信したPCI受信部21が、ラストレベルキャッシュ(LLC)231〜234によるメモリ空間(第1メモリ空間)つまり当該ラストレベルキャッシュ(LLC)231〜234を介してメモリ(MEM)31〜34にデータを書き込み、当該データの書き込みを同期するためのフラグをコミュニケーションレジスタ(CR)221〜224によるコミュニケーションレジスタ空間(第2メモリ空間)に書き込むこととする。
【0020】
但し、本発明では、
図10に示すように、コミュニケーションレジスタ(CR)221〜224(第1メモリ空間)にデータを書き込んでもよく、ラストレベルキャッシュ231〜234(第2メモリ空間)にフラグを書き込んでもよい。また、ラストレベルキャッシュ231〜234(第1メモリ空間及び第2メモリ空間)にデータ及びフラグを書き込んでもよく、コミュニケーションレジスタ(CR)221〜224(第1メモリ空間及び第2メモリ空間)にデータ及びフラグを書き込んでもよい。
【0021】
図4に、
図3に開示したプロセッサ2内部の構成の詳細を示し、以下に詳述する。プロセッサコア(CORE)241〜244は、通常の中央演算処理装置(演算部)である。本実施形態では、プロセッサ2中に4つのコアを内蔵しており、後述するように、メモリに書き込まれたデータに対する処理を行う。
【0022】
プロセッサコア(CORE)241〜244内には、特殊FENCE制御部2411〜2441(同期制御部)を備える。特殊FENCE制御部2411〜2441は、本発明の動作のきっかけとなる特殊FENCE命令を発行する機能を有する。具体的に、特殊FENCE制御部2411〜2441は、プロセッサコア241〜244は、後述するように、コミュニケーションレジスタ(CR)221〜224に書き込まれるフラグをルックインし、フラグの変化をトリガに、両空間の同期化を指示する特殊FENCE命令をPCI受信部21に発行する。また、特殊FENCE制御部2411〜2441は、特殊FENCE命令のリプライとして、PCI受信部21から同期化完了の応答を受信する機能を有する。特殊FENCE制御部2411〜2441は、特殊FENCE命令を発行するとそのリプライを受信するまでは、後続の命令を実行させないようにする。もしくは、ここに別途命令を止める通常のFENCE命令を置いてもよい。
【0023】
ラストレベルキャッシュ(LLC)231〜234は、いわゆる一般的なキャッシュ機構であり、当該ラストレベルキャッシュ(LLC)231〜234を介してメモリ(MEM)31〜34にデータを書き込む構成となっている。ここで、ラストレベルキャッシュ(LLC)231〜234は、通信経路も持つものとする。
図4の例では、PCI受信部21からみるとラストレベルキャッシュ231〜234は2本のパスを持ち、具体的には、ラストレベルキャッシュ231,232のパスとラストレベルキャッシュ233,234のパスがある。各プロセッサコア(CORE)241〜244からはプロセッサコア間の通信パスを経由して、いずれのラストレベルキャッシュ(LLC)231〜234へのアクセスが可能である。また、ラストレベルキャッシュ(LLC)231〜234は、コミュニケーションレジスタ(CR)221〜224とのパスも有し、プロセッサコア(CORE)241〜244からコミュニケーションレジスタ(CR)221〜224へのアクセスも実現する。
【0024】
ラストレベルキャッシュ(LLC)231〜234は、特殊FENCE転送部2311〜2341を持ち、プロセッサコア(CORE)241〜244から発行された特殊FENCE命令をPCI受信部21に転送する。また、特殊FENCE転送部2311〜2341は、処理の完了した特殊FENCE命令のリプライを特殊FENCE命令の発行元であるプロセッサコア(CORE)241〜244に転送する機能も有する。
【0025】
さらに、ラストレベルキャッシュ(LLC)231〜234は、同期成立判定部2312〜2342を有する。同期成立判定部2312〜2342では、後述するようにPCI受信部21から発行される同期化命令を受信すると、各ラストレベルキャッシュ(LLC)231〜234が保有するライトデータのメモリ(MEM)31〜34への書き込み、つまり、グローバルビジビリティが確定した時点で同期化命令リプライを返却する機能を有する。グローバルビジビリティが確定していれば、プロセッサコアから見た場合、先行するライト命令の可視化が保証されたことになる。つまり、各ラストレベルキャッシュ(LLC)231〜234は、ライトデータの書き込みが保障されたことを表す応答をPCI受信部21に送信する。
【0026】
コミュニケーションレジスタ(CR)221〜224は、上記ラストレベルキャッシュ231〜234つまりメモリ(MEM)31〜34よりも高速にアクセスできる通信用のレジスタ群である。メモリと同様にリード、および、ライトができるが、レジスタであるためメモリ(MEM)31〜34よりも高速にアクセス可能である。ただし、メモリ(MEM)31〜34とは違う空間であるため、メモリ(MEM)31〜34とコミュニケーションレジスタ(CR)221〜224の両方を使って通信制御を成り立たせるには、両空間を合わせてのコンシステンシ制御が必要であり、それを本発明では容易に実現している。なお、コミュニケーションレジスタ(CR)221〜224もPCI受信部21との通信経路をもつ。
図4の例では、PCI受信部21からみて、コミュニケーションレジスタ(CR)221,222のパスとコミュニケーションレジスタ(CR)223,224のパスがある。
【0027】
PCI受信部21は、PCIデバイス外からのリクエスト(リード又はライト)を受け付ける。PCI受信部21は、一般的な受信部の機能に加え、本実施形態では、同期化命令発行部211と同期化命令受信部212を備える。
【0028】
同期化命令発行部211は、プロセッサコア241〜244から発信される特殊FENCE命令をきっかけに、メモリ空間とコミュニケーション空間のそれぞれに対して、先行命令の完了の確認を行う。この確認のために、同期化命令発行部211は、メモリ空間(ラストレベルキャッシュ(LLC)231〜234)に対して2つのパスのそれぞれに同期化命令を発行する。コミュニケーションレジスタ空間(コミュニケーションレジスタ(CR)221〜224)に対しては、同期化命令として、いずれか一方のパスにリード命令を発行する。このように、同期化命令発行部211は、メモリ空間とコミュニケーションレジスタ空間との構成の違いに応じて、それぞれ内容の異なる同期化命令を行る。
【0029】
また、同期化命令受信部212は、メモリ空間とコミュニケーションレジスタ空間のそれぞれにおいて、同期化完了の確認が取れると、特殊FENCE命令を発行したプロセッサコアに対して、特殊FENCE命令リプライを返却する。この同期化成立は、次のように判定する。
【0030】
まず、メモリ空間に対しては、2つの空間に同期化命令を発行するが、各ラストレベルキャッシュ(LLC)231〜234から同期化命令リプライが返却される。
図4の例では、ラストレベルキャッシュ(LLC)が4つであるため、メモリ空間から4つの同期化命令リプライが返却される。これが成立すると、ラストレベルキャッシュ(LLC)が保持しているすべてのライト命令も含めてグローバルビジビリティを確保できたことになるため、メモリ空間に対しての順序保障は成立したことになる。
【0031】
他方、コミュニケーションレジスタ空間に対しては、同期化命令として、単純にダミーのリード命令を発行する。コミュニケーションレジスタ(CR)では、ラストレベルキャッシュ(LLC)のようにライト命令を保持することがないため、後続のダミーリード命令がリプライされれば、先行のライト命令の完了が保証されていることになり、その時点でコミュニケーションレジスタ空間に対する順序保障が成立するからである。ただし、前提として、すべてのコミュニケーションレジスタに対する書き込みタイミングより、ダミーリードのリプライ返却の時間の方がかかることを保証している。つまり、コミュニケーションレジスタの実装位置により書き込みタイミングは異なるが、書き込みは片道で、読み出しは往復であるため、通常は、先行のライトの完了と、構造のリードのリプライ完了では、リードリプライ完了の方が遅くなることが多い、という構造上の特徴を利用している。
【0032】
そして、同期化命令受信部212は、2つの異種の空間からのリプライを合わせて同期化完了を判定する。具体的には、メモリ空間については、同期化命令リプライの数をカウントして、全てのラストレベルキャッシュ(LLC)からリプライを受信したことによって書き込みが保障され、同期化成立と判定する。コミュニケーションレジスタ空間については、ダミーのリードリプライを監視し、リプライを受信したことによって書き込みが保障され、同期化成立と判定する。そして、同期化命令受信部212は、両空間の同期化が成立したことで、同期化完了と判定して、ラストレベルキャッシュ(LLC)231〜234を介して、特殊FENCE命令のリプライをプロセッサコア(CORE)241〜244に送信する。
【0033】
[動作]
次に、上述した構成の情報処理装置の処理動作を、
図5乃至
図10を参照して説明する。
図5は、処理動作を示すフローチャートであり、
図6は、各構成の状態を示す図である。
図7乃至
図9は、プロセッサ内の情報の流れを示す図である。
図10は、データとフラグの格納例を示す図である。
【0034】
(ステップS0:同期化要求)
PCI外部からのデータ転送があり、同期化するケースを例に挙げて説明する。
図10を参照して上述したように、データ本体とフラグの書き込み先の組み合わせは全ケース可能であるが、ここでは、説明のため、データ本体をメモリ空間に書き込み、その同期のためのフラグをコミュニケーションレジスタ空間に書き込むケースを考慮する。
【0035】
(ステップS1:PCI外から通信データを書込み)
PCI外からデータ本体が書き込まれる(
図6のTime 0、
図7の矢印Y1)。ここでは、データ本体の書き込みはメモリ空間を想定しているため、PCI受信部21からラストレベルキャッシュ(LLC)231〜234方向にライト命令が発行される。この時点では、ライトデータはラストレベルキャッシュ(LLC)231〜234にあり、書き込みは確定しておらず、グローバルビジビリティは保証されていない。
【0036】
(ステップS2:PCI外からフラグを書込み)
PCI外からフラグが書き込まれる(
図6のTime 0、
図7の矢印Y2)。ここでは、フラグの書き込みはコミュニケーションレジスタ空間を想定しており、PCI受信部21からコミュニケーションレジスタ(CR)方向にライト命令が発行される。いずれのパスで書きこまれるかはアドレス次第であるが、プロセッサコア(CORE)241〜244は当該アドレスをルックインし、フラグの変化を監視する。
【0037】
(ステップS3:特殊FENCE命令発行)
プロセッサコア(CORE)241〜244は、フラグの書きこまれるアドレスをルックインする(
図6のTime 1、
図7の矢印Y3,Y4)。本例の場合は、コミュニケーションレジスタをルックインする。ルックインしている領域でフラグが変化されると、PCI外部からフラグの書き込みは完了したといえるが、このときは、まだプロセッサ2内部での書き込みは完了したとはいえないため、プロセッサ内部の同期化のために特殊FENCE命令を発行する。特殊FENCE命令は、いずれかのパスでPCI受信部21に到達すればよいので、最短のパスで通るようラストレベルキャッシュ(LLC)231〜234に送られる。
【0038】
(ステップS4:特殊FENCE命令転送)
ラストレベルキャッシュ(LLC)231〜234は、特殊FENCE命令を受信すると特殊FENCE転送部2311〜2341によりPCI受信部21方向に当該命令と転送する(
図7の矢印Y4)。ラストレベルキャッシュ(LLC)231〜234を複数跨ぐ場合には転送を繰り返す。
【0039】
(ステップS5:PCI受信部にて受信)
PCI受信部21が特殊FENCE命令を受信すると、同期化命令発行部211に、空間の同期化を指示する。
【0040】
(ステップS6:異空間に同期命令を発行)
同期化の指示を受けた同期化命令発行部211は、メモリ空間とコミュニケーションレジスタ空間の双方に同期化要求を行う(
図6のTime 2)。メモリ空間に対しては、2つのパスのそれぞれに同期化命令を発行する(
図8の矢印Y5−1,Y5−2)。つまり、4つの全インタリーブ空間であるラストレベルキャッシュに同期化命令を発行する。一方、コミュニケーションレジスタ空間に対しては、いずれか一方のパスにダミーのリード命令を発行する(
図8の矢印Y7)。つまり、コミュニケーションレジスタ空間に対しては、いずれか1つのコミュニケーションレジスタに対してのみ、同期化命令であるリード命令を発効すればよい。
【0041】
(ステップS7−1:各LLC内同期成立判定部にて同期成立をチェック)
同期化命令を受信した各ラストレベルキャッシュ(LLC)231〜234は、同期成立判定部2312〜2342において、各ラストレベルキャッシュ(LLC)231〜234が保有するライトデータのグローバルビジビリティが確定した時点で同期化命令リプライを返却する(
図6のTime 2、
図8の矢印Y6−1,Y6−2,Y6−3,Y6−4)。つまり、各ラストレベルキャッシュ(LLC)231〜234からリプライが返却されるため、ラストレベルキャッシュ(LLC)231〜234の数だけ同期化命令リプライがある。本実施形態では、4つのリプライとなる。
【0042】
(ステップS7−2:CR最長パスにリード命令を発行)
コミュニケーションレジスタ空間に対しては、発行されたダミーのリードリクエストはそのまま通常のアクセスをし、PCI受信部21方向にリプライを返却する(
図6のTime 2、
図8の矢印Y7)。このリプライが返った時点でコミュニケーションレジスタ空間に対する先行のライト命令が完了したことを保証できる。つまり、コミュニケーションレジスタ空間については、1つのリプライを受信することで、フラグの書き込みが保障される。
【0043】
(ステップS8:異空間からの同期リプライを受信(待ち合わせ))
PCI受信部21の同期化命令受信部212において、メモリ空間に対して発行した同期化命令に対するすべての同期化リプライと、コミュニケーションレジスタ空間に対して発行したダミーのリードリプライと、の返却を待ち合わせる。具体的には、4つの同期化リプライと一つのダミーリードのリプライを待ち合わせる。4つの同期化リプライと一つのダミーリードのリプライを受信すると、同期化完了と判定し、同期化命令受信部212がリクエスタのプロセッサコアに対して特殊FENCE命令リプライが返却される(
図6のTime 3、
図9の矢印Y8)。
【0044】
(ステップS9:特殊FENCEリプライ転送)
ラストレベルキャッシュ(LLC)231〜234は、特殊FENCE命令リプライを受信すると、特殊FENCE転送部2311〜2341によりリクエスタであるプロセッサコア(CORE)241〜244方向に当該命令と転送する。ラストレベルキャッシュ(LLC)231〜234を複数跨ぐ場合には転送を繰り返す(
図6のTime 3、
図9の矢印Y8)。
【0045】
(ステップS10:特殊FENCEリプライ受信)
プロセッサコア(CORE)241〜244が特殊FENCEリプライを受信すると、特殊FENCE命令発行以前のPCI方向からのメモリもしくはコミュニケーションレジスタアクセスの順序保障が成立したこととなる(
図6のTime 3、
図9の矢印Y8)。
【0046】
(ステップS11:同期成立)
同期成立=リリースコンシステンシ成立となり、以降のデータアクセスはグローバルビジビリティが保証されているため、正しいデータへのアクセスが可能となる(
図6のTime 3、
図9の矢印Y8)。
【0047】
以上のように、本発明によると、PCI空間からPCIデバイスにアクセスする空間に2種類の空間がある場合に、これら2種類のグローバルビジビリティを1つのFENCE命令で保証することができる。これにより、ソフトウェア制御が簡易で、性能低下も伴わないリリースコンシステンシシステムを実現できる。
【0048】
なお、上述したPCI受信部21内やプロセッサコア241〜244内、ラストレベルキャッシュ231〜234内に設けられた各部は、それぞれの内部に搭載された演算装置にプログラムが組み込まれることで構築されてもよく、電子回路にて構成されていてもよい。
【0049】
<実施形態2>
次に、本発明の第2の実施形態を、
図11を参照して説明する。
図11は、実施形態2における情報処理装置の構成を示すブロック図である。なお、本実施形態における情報処理装置は、実施形態1で説明した情報処理装置の構成の概略を示している。
【0050】
図11に示すように、本実施形態おける情報処理装置100は、
外部からデータを受信する受信部110と、当該受信部110からデータが書き込まれる第1メモリ空間130と、データの書き込みを同期するためのフラグが書き込まれる第2メモリ空間140と、データに対する処理を行う演算部120と、を備える。
そして、演算部120は、受信部110に対して第1メモリ空間130と第2メモリ空間140との同期化を指示すると共に、当該受信部から同期化完了の応答を受信する同期制御部121を備える。
【0051】
また、受信部110は、
演算部120からの同期化指示に応じて、第1メモリ空間130と第2メモリ空間140とに対して、それぞれ同期化命令を発行する同期化命令発行部111と、
同期化命令に応じて、第1メモリ空間130からデータの書き込みが保障されたことを表す応答と、第2メモリ空間140からフラグの書き込みが保障されたことを表す応答と、を受信して、第1メモリ空間130と第2メモリ空間140とのそれぞれの書き込みが保障されたことを判定し、両メモリ空間130,140の書き込みが保障された場合に同期化完了を演算部120に対して応答する同期化命令受信部112と、を備える。
【0052】
上記構成の情報処理装置100は、以下のように作動する。まず、外部からデータとフラグを書き込むと、それぞれを書き込む場所によって、グローバルビジビリティのタイミングは異なる。例えば、データを第1メモリ空間130に書き、フラグを第2メモリ空間140に書き込む。その後、演算部120が同期化を指示すると、受信部110は、両メモリ空間130,140に対してそれぞれ同期化命令を発行する。例えば、インタリーブされている第1メモリ空間130に対しては、全インタリーブ空間に同期化命令を発行し、全インタリーブ空間からの同期化リプライを受信する。一方、第2メモリ空間140に対しては、単純にリードリクエストを発行し、リプライを受信する。
【0053】
そして、受信部110は、第1メモリ空間130からデータの書き込みが保障されたリプライを受信し、第2メモリ空間140からフラグの書き込みが保障されたリプライを受信することにより、それぞれのメモリ空間130,140における同期の成立を確認すると、異空間を合わせての同期成立となり、異空間すべての同期化が完了する。すると、受信部110は、同期化命令に対するリプライを演算部120に返す。演算部120はリプライを受信した時点で、先行命令のグローバルビジビリティは確保されているため、データ領域へのアクセスが可能となる。
【0054】
このように、本発明によると、外部からアクセスする空間に2種類の空間がある場合に、これら2種類のグローバルビジビリティを1つの同期化命令で保証することができる。これにより、ソフトウェア制御が簡易で、性能低下も伴わないリリースコンシステンシシステムを実現できる。
【0055】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理装置、プロセッサ、同期方法の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
【0056】
(付記1)
外部からデータを受信する受信部と、当該受信部からデータが書き込まれる第1メモリ空間と、前記データの書き込みを同期するためのフラグが書き込まれる第2メモリ空間と、前記データに対する処理を行う演算部と、を備え、
前記演算部は、前記受信部に対して前記第1メモリ空間と前記第2メモリ空間との同期化を指示すると共に、当該受信部から同期化完了の応答を受信する同期制御部を備え、
前記受信部は、
前記演算部からの同期化指示に応じて、前記第1メモリ空間と前記第2メモリ空間とに対して、それぞれ同期化命令を発行する同期化命令発行部と、
前記同期化命令に応じて、前記第1メモリ空間から前記データの書き込みが保障されたことを表す応答と、前記第2メモリ空間から前記フラグの書き込みが保障されたことを表す応答と、を受信して、前記第1メモリ空間と前記第2メモリ空間とのそれぞれの書き込みが保障されたことを判定し、両メモリ空間の書き込みが保障された場合に同期化完了を前記演算部に対して応答する同期化命令受信部と、を備えた、
情報処理装置。
【0057】
(付記2)
付記1に記載の情報処理装置であって、
前記受信部の前記同期化命令発行部は、前記第1メモリ空間と前記第2メモリ空間とに対して、前記第1メモリ空間と前記第2メモリ空間との構成に応じた内容の前記同期化命令を行う、
情報処理装置。
【0058】
(付記3)
付記1又は2に記載の情報処理装置であって、
前記第1メモリ空間及び/又は前記第2メモリ空間が複数のキャッシュメモリからなるメモリ空間で形成されている場合に、
前記受信部の前記同期化命令発行部は、全ての前記キャッシュメモリに対して前記同期化命令を発行し、
前記受信部の前記同期化命令受信部は、全ての前記キャッシュメモリから前記データ又は前記フラグの書き込みが保障されたことを表す応答を受信した場合に、前記第1メモリ空間及び/又は前記第2メモリ空間の書き込みが保障されたと判定する、
情報処理装置。
【0059】
(付記4)
付記1乃至3のいずれかに記載の情報処理装置であって、
前記第1メモリ空間が複数のキャッシュメモリからなるメモリ空間で形成されている場合に、
前記受信部の前記同期化命令発行部は、全ての前記キャッシュメモリに対して前記同期化命令を発行し、
前記受信部の前記同期化命令受信部は、全ての前記キャッシュメモリから前記データの書き込みが保障されたことを表す応答を受信した場合に、前記第1メモリ空間の書き込みが保障されたと判定する、
情報処理装置。
【0060】
(付記5)
付記1乃至4のいずれかに記載の情報処理装置であって、
前記第1メモリ空間及び/又は前記第2メモリ空間がレジスタからなるメモリ空間で形成されている場合に、
前記受信部の前記同期化命令発行部は、前記レジスタに対して前記同期化命令としてリード命令を発行し、
前記受信部の前記同期化命令受信部は、前記レジスタから前記リード命令に対する応答を受信した場合に、前記第1メモリ空間及び/又は第2メモリ空間の書き込みが保障されたと判定する、
情報処理装置。
【0061】
(付記6)
付記1乃至5のいずれかに記載の情報処理装置であって、
前記第2メモリ空間が複数のレジスタからなるメモリ空間で形成されている場合に、
前記受信部の前記同期化命令発行部は、複数の前記レジスタのうちいずれか1つの前記レジスタに対して前記同期化命令としてリード命令を発行し、
前記受信部の前記同期化命令受信部は、前記レジスタから前記リード命令に対する応答を受信した場合に、前記第2メモリ空間の書き込みが保障されたと判定する、
情報処理装置。
【0062】
(付記7)
付記1乃至6のいずれかに記載の情報処理装置であって、
前記第1メモリ空間が複数のキャッシュメモリからなるメモリ空間で形成されており、
前記第2メモリ空間が複数のレジスタからなるメモリ空間で形成されている場合に、
前記受信部の前記同期化命令発行部は、全ての前記キャッシュメモリに対して前記同期化命令を発行すると共に、複数の前記レジスタのうちいずれか1つの前記レジスタに対して前記同期化命令としてリード命令を発行し、
前記受信部の前記同期化命令受信部は、全ての前記キャッシュメモリから前記データの書き込みが保障されたことを表す応答を受信した場合に、前記第1メモリ空間の書き込みが保障されたと判定すると共に、前記レジスタから前記リード命令に対する応答を受信した場合に、前記第2メモリ空間の書き込みが保障されたと判定する、
情報処理装置。
【0063】
(付記8)
付記1乃至7のいずれかに記載の情報処理装置であって、
前記演算部の前記同期制御部は、前記第2メモリ空間に対する前記フラグの書き込みを検出したときに、前記受信部に対して前記第1メモリ空間と前記第2メモリ空間との同期を指示する、
情報処理装置。
【0064】
(付記9)
外部からデータを受信する受信部と、当該受信部からデータが書き込まれる第1メモリ空間と、前記データの書き込みを同期するためのフラグが書き込まれる第2メモリ空間と、前記データに対する処理を行う演算部と、を備え、
前記演算部は、前記受信部に対して前記第1メモリ空間と前記第2メモリ空間との同期化を指示すると共に、当該受信部から同期化完了の応答を受信する同期制御部を備え、
前記受信部は、
前記演算部からの同期化指示に応じて、前記第1メモリ空間と前記第2メモリ空間とに対して、それぞれ同期化命令を発行する同期化命令発行部と、
前記同期化命令に応じて、前記第1メモリ空間から前記データの書き込みが保障されたことを表す応答と、前記第2メモリ空間から前記フラグの書き込みが保障されたことを表す応答と、を受信して、前記第1メモリ空間と前記第2メモリ空間とのそれぞれの書き込みが保障されたことを判定し、両メモリ空間の書き込みが保障された場合に同期化完了を前記演算部に対して応答する同期化命令受信部と、を備えた、
プロセッサ。
【0065】
(付記10)
外部からデータを受信する受信部と、当該受信部からデータが書き込まれる第1メモリ空間と、前記データの書き込みを同期するためのフラグが書き込まれる第2メモリ空間と、前記データに対する処理を行う演算部と、を備えた情報処理装置による同期方法であって、
前記演算部は、前記受信部に対して前記第1メモリ空間と前記第2メモリ空間との同期化を指示し、
前記受信部は、
前記演算部からの同期化指示に応じて、前記第1メモリ空間と前記第2メモリ空間とに対して、それぞれ同期化命令を発行し、
前記第1メモリ空間から前記データの書き込みが保障されたことを表す応答と、前記第2メモリ空間から前記フラグの書き込みが保障されたことを表す応答と、を受信して、前記第1メモリ空間と前記第2メモリ空間とのそれぞれの書き込みが保障されたことを判定し、両メモリ空間の書き込みが保障された場合に同期化完了を前記演算部に対して応答する、
同期方法。
【0066】
(付記11)
付記10に記載の同期方法であって、
前記受信部は、前記第1メモリ空間と前記第2メモリ空間とに対して、前記第1メモリ空間と前記第2メモリ空間との構成に応じた内容の前記同期化命令を行う、
同期方法。
【0067】
(付記12)
付記10又は11に記載の同期方法であって、
前記第1メモリ空間及び/又は前記第2メモリ空間が複数のキャッシュメモリからなるメモリ空間で形成されている場合に、
前記受信部は、
全ての前記キャッシュメモリに対して前記同期化命令を発行し、
全ての前記キャッシュメモリから前記データ又は前記フラグの書き込みが保障されたことを表す応答を受信した場合に、前記第1メモリ空間及び/又は前記第2メモリ空間の書き込みが保障されたと判定する、
同期方法。
【0068】
(付記12.1)
付記10乃至12のいずれかに記載の同期方法であって、
前記第1メモリ空間が複数のキャッシュメモリからなるメモリ空間で形成されている場合に、
前記受信部は、
全ての前記キャッシュメモリに対して前記同期化命令を発行し、
全ての前記キャッシュメモリから前記データの書き込みが保障されたことを表す応答を受信した場合に、前記第1メモリ空間の書き込みが保障されたと判定する、
同期方法。
【0069】
(付記13)
付記10乃至12.1のいずれかに記載の同期方法であって、
前記第1メモリ空間及び/又は前記第2メモリ空間がレジスタからなるメモリ空間で形成されている場合に、
前記受信部は、前記レジスタに対して前記同期化命令としてリード命令を発行し、
前記受信部は、前記レジスタから前記リード命令に対する応答を受信した場合に、前記第1メモリ空間及び/又は第2メモリ空間の書き込みが保障されたと判定する、
同期方法。
【0070】
(付記13.1)
付記10乃至13のいずれかに記載の同期方法であって、
前記第2メモリ空間が複数のレジスタからなるメモリ空間で形成されている場合に、
前記受信部は、
複数の前記レジスタのうちいずれか1つの前記レジスタに対して前記同期化命令としてリード命令を発行し、
前記受信部は、前記レジスタから前記リード命令に対する応答を受信した場合に、前記第2メモリ空間の書き込みが保障されたと判定する、
同期方法。
【0071】
(付記14)
付記10乃至13.1のいずれかに記載の同期方法であって、
前記第1メモリ空間が複数のキャッシュメモリからなるメモリ空間で形成されており、
前記第2メモリ空間が複数のレジスタからなるメモリ空間で形成されている場合に、
前記受信部は、
全ての前記キャッシュメモリに対して前記同期化命令を発行すると共に、複数の前記レジスタのうちいずれか1つの前記レジスタに対して前記同期化命令としてリード命令を発行し、
全ての前記キャッシュメモリから前記データの書き込みが保障されたことを表す応答を受信した場合に、前記第1メモリ空間の書き込みが保障されたと判定すると共に、前記レジスタから前記リード命令に対する応答を受信した場合に、前記第2メモリ空間の書き込みが保障されたと判定する、
同期方法。
【0072】
(付記15)
付記10乃至14のいずれかに記載の同期方法であって、
前記演算部は、前記第2メモリ空間に対する前記フラグの書き込みを検出したときに、前記受信部に対して前記第1メモリ空間と前記第2メモリ空間との同期を指示する、
同期方法。
【0073】
なお、上述したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【0074】
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
【解決手段】外部からデータを受信する受信部110と、当該受信部からデータが書き込まれる第1メモリ空間130と、同期するためのフラグが書き込まれる第2メモリ空間140と、演算部120と、を備える。演算部は、受信部に対して第1メモリ空間と第2メモリ空間との同期化を指示する同期制御部121を備える。さらに、受信部は、第1メモリ空間と第2メモリ空間とに対して、それぞれ同期化命令を発行する同期化命令発行部111と、第1メモリ空間からデータの書き込みが保障されたことを表す応答と、第2メモリ空間からフラグの書き込みが保障されたことを表す応答と、を受信して、第1メモリ空間と第2メモリ空間とのそれぞれの書き込みが保障された場合に同期化完了を演算部に対して応答する同期化命令受信部112と、を備える。