(57)【要約】【課題】キャッシュインジェクション機能を有するＩＯストア要求を実現する。【解決手段】メモリアクセス要求とプリフェッチ要求とを出力する演算処理部と，メモリアクセス要求とプリフェッチ要求に加えて，入力データを記憶する入力データストア要求を処理するキャッシュ制御部と，キャッシュメモリとを有するキャッシュと，メインメモリを制御する主記憶管理部とを有し，前記キャッシュ制御部は，キャッシュ登録指示付きの入力データストア要求に応答して，主記憶管理部に前記入力データストア要求を出力すると共に前記プリフェッチ要求を発行し，発行されたプリフェッチ要求に応答して，入力データストア要求の入力データを前記キャッシュメモリに登録する演算処理装置である。【選択図】  図１
2015222538.tif 000002
【特許請求の範囲】
【請求項１】
メモリアクセス要求とプリフェッチ要求とを出力する演算処理部と，
前記メモリアクセス要求と前記プリフェッチ要求に加えて，入力データを記憶する入力データストア要求を処理するキャッシュ制御部と，キャッシュメモリとを有するキャッシュと，
メインメモリを制御する主記憶管理部とを有し，
前記キャッシュ制御部は，キャッシュ登録指示付きの入力データストア要求に応答して，前記主記憶管理部に前記入力データストア要求を出力すると共に前記プリフェッチ要求を発行し，前記発行されたプリフェッチ要求に応答して，前記入力データストア要求の入力データを前記キャッシュメモリに登録する演算処理装置。
【請求項２】
前記主記憶管理部は，前記入力データストア要求に応答して前記入力データを保持し，
前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記主記憶管理部から取得した前記入力データを前記キャッシュメモリに登録する請求項１に記載の演算処理装置。
【請求項３】
前記主記憶管理部は，前記入力データストア要求に応答して前記入力データを前記メインメモリに書き込み，
前記書き込み後，前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記主記憶管理部から取得した前記入力データを前記キャッシュメモリに登録する請求項２に記載の演算処理装置。
【請求項４】
前記キャッシュ制御部は，前記発行されたプリフェッチ要求を処理して，前記主記憶管理部に前記メインメモリから前記入力データを読み出させる請求項３に記載の演算処理装置。
【請求項５】
前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記プリフェッチ要求のアドレスと前記主記憶管理部が処理中の入力データストア要求のエントリのアドレスとが一致する場合に，前記プリフェッチ要求をアボートし，前記主記憶管理部による前記メインメモリへの前記入力データの書き込みが完了した後に，前記アボートされたプリフェッチ要求を処理する請求項４に記載の演算処理装置。
【請求項６】
前記主記憶管理部は，前記入力データストア要求に応答して，前記メインメモリに前記入力データを書き込み，
前記メインメモリへの前記入力データの書き込み後，前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記主記憶管理部に前記メインメモリから前記入力データを読み出させることなく前記主記憶管理部から取得した前記入力データを前記キャッシュメモリに登録する請求項２に記載の演算処理装置。
【請求項７】
前記主記憶管理部は，前記入力データストア要求に応答して前記メインメモリに前記入力データを書き込んだ後，前記入力データを保持した状態で前記入力データストア要求のエントリを保持し，
前記書き込み後，前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記主記憶管理部から前記入力データを取得する請求項５に記載の演算処理装置。
【請求項８】
前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記プリフェッチ要求のアドレスと前記主記憶管理部が処理中の入力データストア要求のエントリのアドレスとが一致し前記主記憶管理部による前記入力データの前記メインメモリへの書き込みが完了していない場合に，前記プリフェッチ要求をアボートし，前記主記憶管理部による前記書き込みが完了した後に，前記アボートされたプリフェッチ要求を処理する請求項７に記載の演算処理装置。
【請求項９】
前記主記憶管理部は，前記入力データストア要求に応答して前記入力データを取得し，
前記入力データの取得後，前記主記憶管理部は前記メインメモリに前記入力データを書き込まず，そして，前記キャッシュ制御部は前記発行されたプリフェッチ要求に応答して前記主記憶管理部から取得した前記入力データを前記キャッシュメモリに登録する請求項２に記載の演算処理装置。
【請求項１０】
前記主記憶管理部は，前記入力データストア要求に応答して前記入力データを取得した後，前記入力データを保持した状態で前記入力データストア要求のエントリを保持し，
前記入力データの取得後，前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記主記憶管理部から前記入力データを取得する請求項９に記載の演算処理装置。
【請求項１１】
前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記プリフェッチ要求のアドレスと前記主記憶管理部が処理中の入力データストア要求のエントリのアドレスとが一致し前記主記憶管理部による前記入力データの取得が完了していない場合に，前記プリフェッチ要求をアボートし，前記主記憶管理部による前記入力データの取得が完了した後に，前記アボートされたプリフェッチ要求を処理する請求項１０に記載の演算処理装置。
【請求項１２】
メモリアクセス要求とプリフェッチ要求を出力する演算処理部と，前記メモリアクセス要求と前記プリフェッチ要求に加えて入力データを記憶する入力データストア要求を処理するキャッシュ制御部と，キャッシュメモリを有するキャッシュと，メインメモリを制御する主記憶管理部とを有する演算処理装置の制御方法であって，
前記キャッシュ制御部は，前記入出力装置からのキャッシュ登録指示付きの入力データストア要求に応答して，前記主記憶管理部に前記入力データストア要求を出力すると共に前記プリフェッチ要求を発行し，
前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記入力データストア要求の入力データを前記キャッシュメモリに登録する演算処理装置の制御方法。
【請求項１３】
前記主記憶管理部は，前記入力データストア要求に応答して前記入力データを保持し，
前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記主記憶管理部から取得した前記入力データを前記キャッシュメモリに登録する請求項１２に記載の演算処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，演算処理装置及び演算処理装置の制御方法に関する。
【背景技術】
【０００２】
ＣＰＵチップである演算処理装置は，ＣＰＵコアである複数の演算処理部と，キャッシュメモリ部とを有する。キャッシュメモリ部（または単にキャッシュ）は，キャッシュ制御部（またはキャッシュパイプライン）と，キャッシュタグとキャッシュデータ部を含むキャッシュメモリとを有する。
【０００３】
キャッシュメモリ部は，ＣＰＵコアからのメインメモリ（または主記憶装置）へのアクセス要求のデータをキャッシュメモリに一時的に格納し，ＣＰＵコアからの再度のメインメモリへのアクセス要求に対してキャッシュメモリ内のデータをリードまたはライトし，アクセス性能を向上させる。
【０００４】
一方，ＣＰＵコアは，ＩＯコントローラにダイレクトメモリアクセス（ＤＭＡ）を発行し，ＩＯコントローラなどにそれに対応するＩＯストア要求を発行させ，キャッシュメモリ部に主記憶管理部（またはメモリアクセスコントローラ（ＭＡＣ））を介して外部の大容量記憶装置，例えばハードディスクからメインメモリにデータ転送を行う。
【０００５】
ＩＯストア要求の処理後に，ＣＰＵコアがロード要求などのメモリアクセス要求を発行し，キャッシュ制御部がロード要求を処理し，先のＩＯストア要求によりデータ転送されたメインメモリ内のデータを主記憶管理部を介して読み出し，読み出したデータをキャッシュ登録し，ＣＰＵコアにデータ応答する。
【０００６】
または，ＩＯストア要求を処理した後に，ＣＰＵコアが予めプリフェッチ要求を発行し，キャッシュ制御部にメインメモリからデータを読み出させキャッシュメモリにそのデータを登録させる。これにより，ＣＰＵコアがプリフェッチ要求後にメモリアクセス要求を発行した場合，キャッシュ制御部はキャッシュヒットし，キャッシュメモリに登録されているデータを応答する。この場合，ロード要求のレイテンシは短くなる。
【０００７】
そこで，近年において，ＩＯストア要求のデータをメインメモリにストアすると共に，同じデータをキャッシュに登録するキャッシュインジェクションが提案されている。ＩＯストア要求時にＩＯストアしたデータをキャッシュに登録しておけば，その後のメモリアクセス要求に対してキャッシュヒットするので，メモリアクセス要求の処理効率が大幅に向上する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平２−１９９４５号公報
【特許文献２】特開２０１２−１６４２０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら，ＩＯストア要求のデータをキャッシュに登録する為には，特別なＩＯストア要求を追加する必要があり，それに伴って，キャッシュ制御部の回路や主記憶管理部の回路を特別なＩＯストア要求を処理できるように変更する必要がある。この特別なＩＯストア要求の追加は，ＣＰＵの大幅な回路変更を招き，コストアップを招く。
【００１０】
そこで，本発明の目的は，上記の課題を解決し，キャッシュ制御部や主記憶管理部などに最小限の回路変更を行うだけで，キャッシュインジェクション機能を有するＩＯストア要求を実現する演算処理装置及び演算処理装置の制御方法を提供することにある。
【課題を解決するための手段】
【００１１】
本実施の形態の第１の側面は，メモリアクセス要求とプリフェッチ要求とを出力する演算処理部と，
前記メモリアクセス要求と前記プリフェッチ要求に加えて，入力データを記憶する入力データストア要求を処理するキャッシュ制御部と，キャッシュメモリとを有するキャッシュと，
メインメモリを制御する主記憶管理部とを有し，
前記キャッシュ制御部は，キャッシュ登録指示付きの入力データストア要求に応答して，前記主記憶管理部に前記入力データストア要求を出力すると共に前記プリフェッチ要求を発行し，前記発行されたプリフェッチ要求に応答して，前記入力データストア要求の入力データを前記キャッシュメモリに登録する演算処理装置である。
【発明の効果】
【００１２】
第１の側面によれば，低コストでキャッシュインジェクション機能を有するＩＯストア要求を実現することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態における演算処理装置（ＣＰＵ（Central Processing Unit）またはＣＰＵチップとも称する）の構成を示す図である。
【図２】本実施の形態におけるＣＰＵ１による通常のＩＯストア要求とロード要求の処理を示すシーケンス図である。
【図３】本実施の形態におけるＣＰＵ１によるプリフェッチ要求とロード要求の処理を示すシーケンス図である。
【図４】本実施の形態におけるキャッシュ登録指示付きＩＯストア要求の処理の概略を示すフローチャート図である。
【図５】第１のキャッシュ登録指示付きＩＯストア要求の動作を示すシーケンス図である。
【図６】第１のキャッシュ登録指示付きＩＯストア要求の動作のフローチャート図である。
【図７】第２のキャッシュ登録指示付きＩＯストア要求の動作を示すシーケンス図である。
【図８】第２のキャッシュ登録指示付きＩＯストア要求の動作のフローチャート図である。
【図９】第３のキャッシュ登録指示付きＩＯストア要求の動作を示すシーケンス図である。
【図１０】第３のキャッシュ登録指示付きＩＯストア要求の動作のフローチャート図である。
【図１１】第４の実施の形態におけるＣＰＵ１の構成を示す図である。
【図１２】４つのノードを有するｃｃＮＵＭＡの構成を示す図である。
【発明を実施するための形態】
【００１４】
図１は，本実施の形態における演算処理装置（ＣＰＵ（Central Processing Unit）またはＣＰＵチップとも称する）の構成を示す図である。ＣＰＵ１は，複数の演算処理部（またはＣＰＵコアと称する）１０と，ＣＰＵ１の外部の記憶媒体２との入出力制御を行うＩＯコントローラ１１と，レベル２（Ｌ２）のキャッシュ（またはキャッシュメモリ部）２０とを有する。また，ＣＰＵ１は，ＤＲＡＭなどのメインメモリ（主記憶装置とも称する）１２と接続されている。
【００１５】
キャッシュ２０は，複数の要求格納部２１，２２，２３と，要求格納部に格納されている要求のうちキャッシュ制御部２５に投入する要求を所定の論理で選択しキャッシュ制御部２５に投入する要求投入選択部２４とを有する。さらに，キャッシュ２０は，投入された要求を処理するキャッシュ制御部（またはキャッシュパイプライン）２５と，キャッシュタグ２６と，キャッシュデータ部２７とを有する。キャッシュタグ２６は，キャッシュ登録したデータのアドレスやデータの状態を格納し，キャッシュデータ部２７は，キャッシュ登録したデータを格納する。キャッシュメモリは，キャッシュタグ２６とキャッシュデータ部２７とで構成される。
【００１６】
キャッシュ２０は，また，キャッシュ制御部２５がキャッシュミスした場合にメインメモリへのアクセス要求を格納するキャッシュミス要求格納部２８と，そのメインメモリへのアクセス要求を処理してメインメモリ１２へのアクセスを制御する主記憶管理部２９とを有する。この主記憶管理部２９は，メインメモリ１２へのアクセス制御を行うメモリアクセスコントローラを内蔵する。そして，キャッシュ２０は，キャッシュデータ部２７から読み出されたデータとメインメモリ１２から読み出されたデータのいずれかを選択するセレクタ３０を有する。
【００１７】
前述の要求格納部は，複数のＣＰＵコア１０から発行されるアクセス要求をそれぞれ格納する複数の要求格納部２１と，ＩＯコントローラ１１から発行されるＩＯストア要求等を格納するＩＯストア要求格納部２２と，キャッシュ登録指示付きＩＯストア要求に対応して発行されるプリフェッチ要求を格納するＩＯストア用プリフェッチ要求格納部２３とを有する。
【００１８】
本実施の形態のＣＰＵ１は，ＩＯコントローラ１１が外部から入力するデータをメインメモリ１２に書き込む通常のＩＯストア要求と，ＣＰＵコア１０がメインメモリ１２またはキャッシュメモリ２７のデータを読み出してＣＰＵコア１０にデータ応答するロード要求と，メインメモリ１２のデータを読み出してキャッシュメモリ２６，２７に登録するプリフェッチ要求と，ＩＯコントローラが外部の記憶媒体２等から入力するデータをメインメモリ１２に書き込んでまたは書き込まずにキャッシュに登録するキャッシュ登録指示付きＩＯストア要求とを処理する。また，ＣＰＵ１は，ＣＰＵコア１０がメインメモリ１２にデータを書き込むストア要求を処理する。メモリアクセス要求は，上記のロード要求とストア要求とを含む。以下，各要求の動作について順に説明する。
【００１９】
［通常のＩＯストア要求とロード要求］
図２は，本実施の形態におけるＣＰＵ１による通常のＩＯストア要求とロード要求の処理を示すシーケンス図である。図２には，ＣＰＵコア１０が発行するＤＭＡ発行指示に対するＩＯストア要求の処理と，その後ＣＰＵコア１０が発行するロード要求の処理とが示されている。
【００２０】
まず，ＣＰＵコア１０は，ＩＯコントローラ１１にダイレクトメモリアクセス（ＤＭＡ）発行要求を出力する（Ｓ１）。図２には示されていないが，このＤＭＡ発行要求は，一旦要求格納部２１に格納され，キャッシュ制御部２５に投入され，ＩＯコントローラ１１に指示される。それに応答して，ＩＯコントローラ１１は，通常のＩＯストア要求を発行しＩＯストア要求格納部２２に格納する（Ｓ２）。
【００２１】
そして，要求投入選択部２４が通常ＩＯストア要求をキャッシュ制御部２５に投入し（Ｓ３），キャッシュ制御部２５はそれに応答してＩＯストア要求を主記憶管理部２９に出力する（Ｓ４）。また，図２には示されていないが，キャッシュ制御部２５は，キャッシュタグ２６を検索してＩＯストア要求のアドレスが登録されているかをチェックし，登録されていればそれを無効化する。メインメモリ１２に書き込まれるデータとのコヒーレンシを保つためである。
【００２２】
主記憶管理部２９は，このＩＯストア要求に応答して，まずメインメモリ１２内のディレクトリを読み出し（Ｓ５，Ｓ６），これから書き込むアドレスのデータが他のＣＰＵがキャッシュに登録しているか否かをチェックする。主記憶管理部２０は，他のＣＰＵがキャッシュ登録している場合は，それをインバリデート（無効化）するように他のＣＰＵのキャッシュ制御部に要求する。この無効化の処理は図２には示されていない。
【００２３】
同時に，主記憶管理部２９は，ＩＯストアするデータをＩＯストア要求格納部２２に要求すし（Ｓ７），データ応答を受信する（Ｓ８）。ストア要求などのライト系の要求には，要求に対応するコマンドとライトすべきデータとが含まれる。データ応答後に，主記憶管理部２９は，受信したデータのライト要求をメインメモリ１２に出力してライト処理させ（Ｓ９），ライト応答を受信する（Ｓ１０）。これに応答して，主記憶管理部２９は，ＩＯストア要求完了応答をＩＯストア要求格納部２２に送信する（Ｓ１１）。これにより，通常ＩＯストア要求の処理が完了する。
【００２４】
次に，ＣＰＵコア１０は，ＩＯストア要求のメモリアドレスに対してロード要求を発行し，要求格納部２１にロード要求を格納する（Ｓ２０）。そして，このロード要求がキャッシュ制御部２５に投入される（Ｓ２１）。キャッシュ制御部２５が，投入されたロード要求のアドレスに基づいてキャッシュタグ２６を検索しキャッシュミスし（Ｓ２２），メモリロード要求をキャッシュミス要求格納部２８と主記憶管理部２９に出力する（Ｓ２３）。
【００２５】
このメモリロード要求に応答して，主記憶管理部２９は，メインメモリ１２にリード要求を出力し（Ｓ２４），リード応答としてリードしたデータを受信し（Ｓ２５），キャッシュミス要求格納部２８にそのデータを返信するデータ応答を行う（Ｓ２６）。また，主記憶管理部２９は，データ応答Ｓ２６と同時に，メモリロード要求を発行したキャッシュ制御部２５に対して，メモリロード要求のエントリの処理が完了したことを通知するエントリの解放通知を行う。
【００２６】
キャッシュミス要求格納部２８は，データ応答Ｓ２６に応答してキャッシュ登録要求を発行し，要求投入選択部２４を介してキャッシュ制御部２５に投入する（Ｓ２７）。このキャッシュ登録要求に応答して，キャッシュ制御部２５は，キャッシュタグにアドレス情報などの登録を行い（Ｓ２８），キャッシュデータ部２７にデータの登録を行い（Ｓ２９），同時にＣＰＵコア１０にデータ応答を行う（Ｓ３０）。また，キャッシュ制御部２５は，キャッシュミス要求格納部２８にエントリの解放通知を行う（Ｓ３１）。これにより，ロード要求を発行したＣＰＵコア１０は，データを取得する。
【００２７】
上記のように，通常のＩＯストア要求の場合は，ＩＯコントローラ１１を介して外部の記憶媒体から取得したデータがメインメモリ１２に書き込まれる。したがって，その後のロード要求では，キャッシュ制御部２５がメモリロード要求を発行して主記憶管理部２９にメインメモリ１２にアクセスさせてデータを取得する。このように，メインメモリ１２へのアクセスを伴うことで，ロード要求のレイテンシが長くなる。
【００２８】
［プリフェッチ要求とロード要求］
図３は，本実施の形態におけるＣＰＵ１によるプリフェッチ要求とロード要求の処理を示すシーケンス図である。ＣＰＵコア１０は，図２で示した通常のＩＯストア要求が処理された後に，プリフェッチ要求を発行し，要求格納部２１にプリフェッチ要求を格納する（Ｓ３０）。そして，プリフェッチ要求が投入されると（Ｓ３１），キャッシュ制御部２５は，キャッシュタグを検索してキャッシュ未登録であることを確認後に，主記憶管理部２９にプリフェッチ要求のメモリアドレスについてアドレスマッチの問い合わせを行い（Ｓ３２），主記憶管理部２９が処理中の複数のエントリが同じメモリアドレスを有していないか否かの問い合わせをする。アドレスマッチの取り合わせは，同じアドレスについてメインメモリにアクセスする複数のエントリが同時に処理されることを回避するために行われる。主記憶管理部２９からアドレスがマッチしていない旨の応答を受信すると（Ｓ３２＿Ｂ），キャッシュ制御部２５は，プリフェッチ要求をキャッシュミス要求格納部２８と主記憶管理部２９に出力し，要求格納部２１にプリフェッチ要求の解放を指示する（Ｓ３３＿Ｂ）。
【００２９】
このプリフェッチ要求に応答して，主記憶管理部２９は，メインメモリ１２にリード要求を出力し（Ｓ３４），リード応答によりリードしたデータを受信し（Ｓ３５），キャッシュミス要求格納部２８にそのデータを返信するデータ応答を行う（Ｓ３６）。また，主記憶管理部２９は，データ応答Ｓ３６と同時に，プリフェッチ要求を発行したキャッシュ制御部２５に対して，プリフェッチ要求のエントリの処理が完了したことによるエントリの解放通知を行う（Ｓ３６）。
【００３０】
キャッシュミス要求格納部２８は，データ応答Ｓ３６に応答してキャッシュ登録要求を発行し，要求投入選択部２４を介してキャッシュ制御部２５に投入する（Ｓ３７）。このキャッシュ登録要求に応答して，キャッシュ制御部２５は，キャッシュタグにアドレス情報などの登録を行い（Ｓ３８），キャッシュデータ部２７にデータの登録を行い（Ｓ３９），キャッシュミス要求格納部２８にエントリの解放通知を出力する（Ｓ４０）これより，プリフェッチ要求のデータがメインメモリ１２から読み出され，キャッシュメモリ２６，２７に登録される。
【００３１】
上記のプリフェッチ要求によるメインメモリ内のデータのキャッシュ登録後に，ＣＰＵコア１０は，プリフェッチしたメモリアドレスについてロード要求を発行して（Ｓ２０），ロード要求をキャッシュ制御部２５に投入する（Ｓ２１）。それに応答して，キャッシュ制御部２５はキャッシュタグ２６を検索すると，既にキャッシュ登録済みであるためキャッシュヒットし（Ｓ２２Ｈ），キャッシュヒット通知を受信し（Ｓ２２Ｉ），ＣＰＵコア１０にデータ応答する（Ｓ３０）。これにより，ＣＰＵコア１０は，ロード要求のデータを取得する。この場合，プリフェッチを行っていたため，ＣＰＵコア１０のロード要求のレイテンシは，図２の場合よりも短くなる。
【００３２】
［本実施の形態の概略］
［キャッシュ登録指示付きＩＯストア要求］
図４は，本実施の形態におけるキャッシュ登録指示付きＩＯストア要求の処理の概略を示すフローチャート図である。図１も参照して説明する。まず，ＣＰＵコア１０が，キャッシュ登録指示付きＤＭＡ発行指示（キャッシュ登録指示付きＩＯストア命令）を，要求格納部２１とキャッシュ制御部２５を介して，ＩＯコントローラ１１に行う（Ｓ４１）。ＤＭＡ発行指示は，ＩＯコントローラ１１に外部記憶媒体２からの入力データをメインメモリに転送する指示である。それに応答して，ＩＯコントローラ１１が，ＩＯストア要求格納部２２にキャッシュ登録指示付きＩＯストア要求を発行する。キャッシュ制御部２５は，このキャッシュ登録指示付きＩＯストア要求の投入に応答して，主記憶管理部２９にＩＯストア要求を発行または出力すると共に（Ｓ４５），プリフェッチ要求をＩＯストア用プリフェッチ要求格納部２３に発行または出力する（Ｓ４６）。このプリフェッチ要求は，キャッシュ登録指示付きＩＯストア要求に対応するＩＯストア用プリフェッチ要求である。後述するとおり，ＩＯストア要求に対して主記憶管理部２９がメインメモリ１２にデータを書き込んだ後に，同じデータをキャッシュメモリにプリフェッチする順序も保証される。
【００３３】
図２で説明したとおり，キャッシュ制御部２５は，通常のＩＯストア要求を処理する場合は，主記憶管理部２９にＩＯストア要求を発行するだけであるが，キャッシュ登録指示付きＩＯストア要求を処理する場合は，主記憶管理部２９へのＩＯストア要求の発行に加えて，プリフェッチ要求を発行する。キャッシュ登録指示付きストア要求のフォーマットには，例えば，キャッシュ登録指示フラグが有効にされていて，キャッシュ制御部２５はそのフラグの有効状態に基づいてプリフェッチ要求の発行を行う。通常のＩＯストア要求のフォーマットでは，キャッシュ登録指示フラグは無効になっている。
【００３４】
図１の例では，このＩＯストア用のプリフェッチ要求は，専用のＩＯストア用プリフェッチ要求格納部２３に格納される。ただし，通常の要求格納部２１に格納されてもよい。
【００３５】
主記憶管理部２９は，ＩＯストア要求に応答して，メインメモリ（主記憶装置）１２にデータを書き込む（Ｓ５４）。その間，ＩＯストア用プリフェッチ要求がキャッシュ制御部２５に投入されると，キャッシュ制御部２５は，主記憶管理部２９が実行中のＩＯストア要求のエントリとアドレスが一致することを検出し，ＩＯストア用プリフェッチ要求をアボートする（Ｓ５３）。これによりＩＯストア用プリフェッチ要求は一定時間待機され（Ｓ５３＿Ｂ），その後再度投入され再度アボートされる。
【００３６】
この場合，ＩＯストア用プリフェッチ要求の投入とアボートが繰り返されないように，キャッシュ制御部２５がＩＯストア用プリフェッチ要求格納部２３に対して，ＩＯストア用プリフェッチ要求の投入を待機させる待機指示を出し，主記憶管理部によるデータ応答後に，待機解除命令を出す（Ｓ５８）ことが望ましい。
【００３７】
そして，主記憶管理部によるメインメモリ１２へのデータの書き込み後に，ＩＯストア用プリフェッチ要求が投入され，キャッシュ制御部２５はそのＩＯストア用プリフェッチ要求を処理し，メインメモリ１２からデータを読み出し，キャッシュに登録する（Ｓ３８，Ｓ３９）。キャッシュ制御部２５によるＩＯストア用プリフェッチ要求の処理は，図３で説明した通常のプリフェッチ要求と同じ処理である。あるいは，変形例として，ＩＯストア用プリフェッチ要求の処理は，メインメモリ１２へのデータの読み出しを省略して，主記憶管理部２９がＩＯストアのために保持しているデータを利用してキャッシュ登録するようにしてもよい。
【００３８】
上記のように，キャッシュ登録指示付きＩＯストア要求は，図１のＩＯストア要求の処理と，図２のプリフェッチ要求の処理を順番に実行することで，実質的にキャッシュインジェクションと同じ機能，つまりＩＯストア要求の入力データのキャッシュへの登録機能を実現することができる。しかも，既存のＩＯストア要求とプリフェッチ要求を利用するので，ＣＰＵ１内の回路構成の最小限の変更で実現できる。この変更は，例えば，キャッシュ制御部がキャッシュ登録指示付きＩＯストア要求を通常のＩＯストア要求と区別し，プリフェッチ要求を発行する回路変更である。
【００３９】
［第１の実施の形態，キャッシュ登録指示付きＩＯストア要求（１）］
図５は，第１のキャッシュ登録指示付きＩＯストア要求の動作を示すシーケンス図である。また，図６は，第１のキャッシュ登録指示付きＩＯストア要求の動作のフローチャート図である。第１のキャッシュ登録指示付きＩＯストア要求は，キャッシュ制御部２５に主記憶管理部２９にＩＯストア要求を発行させると共に，ＩＯストア用プリフェッチ要求を発行させる。そして，主記憶管理部２９がＩＯストア要求の処理を完了した後，キャッシュ制御部が発行したプリフェッチ要求を処理する。このＩＯストア要求の処理と，プリフェッチ要求の処理は，図２，３で説明した処理とほとんど同じである。
【００４０】
まず，ＣＰＵコア１０は，ＩＯコントローラ１１にダイレクトメモリアクセス（ＤＭＡ）発行指示を出力する（Ｓ４１）。図５には示されていないが，このＤＭＡ発行指示は，一旦要求格納部２１に格納され，キャッシュ制御部２５に投入され，ＩＯコントローラ１１に指示される。それに応答して，ＩＯコントローラ１１は，キャッシュ登録指示付きＩＯストア要求を発行しＩＯストア要求格納部２２に格納する（Ｓ４２）。
【００４１】
そして，要求投入選択部２４がキャッシュ登録指示付きＩＯストア要求をキャッシュ制御部２５に投入し（Ｓ４３），キャッシュ制御部２５は，キャッシュタグ２６を検索してＩＯストア要求のアドレスが登録されているかをチェックし，登録されていればそれを無効化する（Ｓ４４）。これによりメインメモリ１２に書き込まれるデータとのコヒーレンシを保つ。
【００４２】
キャッシュ制御部２５は，キャッシュ登録指示付きＩＯストア要求に応答して，ＩＯストア要求を主記憶管理部２９に出力し（Ｓ４５），さらに，ＩＯストア用プリフェッチ要求をＩＯストア用プリフェッチ要求格納部２３に発行する（Ｓ４６）。キャッシュ制御部２５は，キャッシュ登録指示付きＩＯストア要求の例えばキャッシュ登録指示フラグが有効であることに基づいて， 主記憶管理部へのＩＯストア要求の発行と共にＩＯストア用プリフェッチ要求格納部へのＩＯストア用プリフェッチ要求の発行も行う。
【００４３】
主記憶管理部２９は，このＩＯストア要求に応答して，まずメインメモリ１２内のディレクトリを読み出し（Ｓ４７，Ｓ４８），これから書き込むアドレスのデータを他のＣＰＵがキャッシュに登録しているか否かをチェックする。主記憶管理部２０は，他のＣＰＵがキャッシュ登録している場合は，それをインバリデート（無効化）するように他のＣＰＵのキャッシュ制御部に要求する。これもデータのコヒーレンシを保つためである。この無効化の処理は図５には示されていない。
【００４４】
同時に，主記憶管理部２９は，ＩＯストアするデータをＩＯストア要求格納部２２に要求すし（Ｓ４９），データ応答を受信する（Ｓ５０）。ＩＯストア要求などのライト系の要求には，要求に対応するコマンドとライトすべきデータとが含まれ，ＩＯストア要求格納部２２はＩＯストア要求でライトすべきデータを保持している。データ応答後に，主記憶管理部２９は，受信したデータのライト要求をメインメモリ１２に出力してライト処理させ（Ｓ５４），ライト応答を受信する（Ｓ５５）。これに応答して，主記憶管理部２９は，ＩＯストア要求完了応答をＩＯストア要求格納部２２に送信する（Ｓ５６）。これにより，ＩＯコントローラ１１は，ＣＰＵコア１０に割り込み要求を発行し，ＤＭＡ処理の完了を通知する。この割り込み処理は，一定の時間を要する。
【００４５】
一方，主記憶管理部２９がＩＯストア要求を処理している間に，ＩＯストア用プリフェッチ要求格納部２３からＩＯストア用プリフェッチ要求がキャッシュ制御部２５に投入される。それに応答して，キャッシュ制御部２５は，プリフェッチ要求のアドレスが主記憶管理部２９が処理中のエントリのアドレスとマッチするかの問い合わせを行う(Ｓ５２)。この時，主記憶管理部２９が同じアドレスへのＩＯストア要求を処理中であるので，アドレスマッチする。そのため，キャッシュ制御部２５は，プリフェッチ要求のアボートをＩＯストア用プリフェッチ要求格納部２３に通知する（Ｓ５３）。
【００４６】
キャッシュ制御部２５が，ＩＯストア用プリフェッチ要求格納部２３にアボートを通知したときに，ＩＯストア用プリフェッチ要求の投入を待機解除通知まで待機する待機指示を出すことが好ましい。これにより，ＩＯストア用プリフェッチ要求の投入とアボートを繰り返さないようにすることができ，省電力化に寄与する。但し，必ずしも待機指示を出さなくても良い。
【００４７】
主記憶管理部２９は，メインメモリからのライト応答を受信して（Ｓ５５）ＩＯストア要求の処理を完了すると，キャッシュ制御部２５に主記憶管理部の解放通知を行い（Ｓ５７），それに応答して，キャッシュ制御部２５はＩＯストア用プリフェッチ要求格納部２３に待機解除を通知する（Ｓ５８）。
【００４８】
待機解除通知に応答して，ＩＯストア用プリフェッチ要求格納部２３から待機中（Ｓ５３＿Ｂ）のＩＯストア用プリフェッチ要求が投入され（Ｓ５９），キャッシュ制御部２５は，ＩＯストア用プリフェッチ要求の処理を実行する。第１の実施の形態では，このＩＯストア用プリフェッチ要求の処理は，図２で説明した通常のプリフェッチ要求の処理と，要求元が異なる以外はほぼ同じである。
【００４９】
まず，ＩＯストア用プリフェッチ要求が投入されると（Ｓ５９），キャッシュ制御部２５は，キャッシュタグを検索してデータが未登録であることを確認し，主記憶管理部２９にプリフェッチ要求のメモリアドレスについてアドレスマッチの問い合わせを行い（Ｓ３２），主記憶管理部２９が処理中の複数のエントリが同じメモリアドレスを有していないか否かの問い合わせをする。この時点では，キャッシュ制御部２５は，主記憶管理部２９が処理していたＩＯストア要求のエントリは解放されているので，アドレスがマッチするエントリはない旨の応答を受信する。これにより，キャッシュ制御部２５はＩＯストア用プリフェッチ要求を主記憶管理部２９に出力可能であると判断する。そして，キャッシュ制御部２５は，プリフェッチ要求をキャッシュミス要求格納部２８と主記憶管理部２９に出力し（Ｓ３３），ＩＯストア用プリフェッチ要求格納部２３にプリフェッチ要求の解放を指示する（Ｓ３３＿Ｂ）。
【００５０】
このプリフェッチ要求に応答して，主記憶管理部２９は，メインメモリ１２にリード要求を出力し（Ｓ３４），リード応答としてリードしたデータを受信し（Ｓ３５），キャッシュミス要求格納部２８にそのデータを返信するデータ応答を行う（Ｓ３６）。また，主記憶管理部２９は，データ応答Ｓ３６と同時に，プリフェッチ要求を発行したキャッシュ制御部２５に対して，プリフェッチ要求のエントリの処理が完了したことを知らせるエントリの解放通知を行う（Ｓ３６）。
【００５１】
キャッシュミス要求格納部２８は，データ応答Ｓ３６に応答してキャッシュ登録要求を発行し，要求投入選択部２４を介してキャッシュ制御部２５に投入する（Ｓ３７）。このキャッシュ登録要求に応答して，キャッシュ制御部２５は，キャッシュタグ２６にアドレス情報などの登録を行い（Ｓ３８），キャッシュデータ部２７にデータの登録を行い（Ｓ３９），キャッシュミス要求格納部２８にエントリの解放通知を出力する（Ｓ４０）。これより，ＩＯストア用プリフェッチ要求のデータがメインメモリ１２から読み出され，キャッシュメモリ２６，２７に登録される。
【００５２】
上記のＩＯストア用プリフェッチ要求によるメインメモリ内のデータのキャッシュ登録後に，ＣＰＵコア１０は，プリフェッチしたメモリアドレスについてロード要求を発行すると（Ｓ２０），図３と同様に，ロード要求がキャッシュ制御部２５に投入され，それに応答して，キャッシュ制御部２５は，キャッシュタグ検索してキャッシュヒットし（Ｓ２２Ｈ），キャッシュデータ部からデータを読み出し，ＣＰＵコア１０にデータ応答する（Ｓ３０）。
【００５３】
上記のキャッシュ登録指示付きＩＯストア要求の処理は，ＩＯストア要求の処理とＩＯストア用プリフェッチ要求の処理とを有する。したがって，通常のＩＯストア要求の処理にＩＯストア用プリフェッチ要求の処理が追加される。しかし，ＩＯストア完了応答Ｓ５６後にＣＰＵコア１０へのＤＭＡ完了割り込みが行われるが，ＣＰＵコア１０がそのＤＭＡ完了割り込み処理に要する時間は，ＩＯストア用プリフェッチ要求の処理に要する時間よりも長い。したがって，ＣＰＵコア１０がＤＭＡ完了割込を受け付けてからプリフェッチされたデータへのロード要求を発行する工程Ｓ２０までの間に，キャッシュ登録指示付きＩＯストア要求の処理は完了する。
【００５４】
上記の第１のキャッシュ登録指示付きＩＯストア要求の動作において，キャッシュ制御部２５が主記憶管理部２９にアドレスマッチの問い合わせをしたとき（Ｓ５２），同じアドレスを処理しているエントリが存在する場合に，キャッシュ制御部２５はＩＯストア要求用プリフェッチ要求格納部にアボートして待機指示（Ｓ５３）を行ったが，必ずしも待機指示を行わなくても良い。その場合は，ＩＯストア用プリフェッチ要求の投入とアボートが繰り返されるだけである。
【００５５】
［第２の実施の形態，キャッシュ登録指示付きＩＯストア要求（２）］
図７は，第２のキャッシュ登録指示付きＩＯストア要求の動作を示すシーケンス図である。また，図８は，第２のキャッシュ登録指示付きＩＯストア要求の動作のフローチャート図である。第２のキャッシュ登録指示付きＩＯストア要求は，キャッシュ制御部２５にＩＯストア要求を主記憶管理部２９に発行させると共に，キャッシュ制御部２５にＩＯストア用プリフェッチ要求を発行させる。そして，主記憶管理部２９がＩＯストア要求の処理を完了した後，キャッシュ制御部がプリフェッチ要求を処理する。このＩＯストア要求の処理は図２の処理とほとんど同じである。但し，ＩＯストア用プリフェッチ要求の処理では，主記憶管理部はメインメモリ１２へのデータのリード動作を行わずに，主記憶管理部がＩＯストア処理のために取得したデータをキャッシュミス要求格納部２８にデータ応答する。この場合，メインメモリへのリード動作が省略されるので，プリフェッチ要求の処理が短時間で完了し，消費電力を抑制できる。
【００５６】
以下，第２のキャッシュ登録指示付きＩＯストア要求の動作を，第１のキャッシュ登録指示付きＩＯストア要求の動作との相違点を中心に説明する。図７，８中，図５，６と同じ処理には同じ参照番号が付されている。
【００５７】
ＣＰＵコア１０がＤＭＡ発行指示を出力し（Ｓ４１），ＩＯコントローラ１１がキャッシュ登録指示付きＩＯストア要求をＩＯストア要求格納部２２に発行し（Ｓ４２），キャッシュ制御部２５がキャッシュメモリ内のＩＯストア要求のアドレスのデータを無効化（Ｓ４４）後，主記憶管理部２９にキャッシュ登録指示付きＩＯストア要求を発行し（Ｓ４５），それと共にＩＯストア用プリフェッチ要求格納部２３にＩＯストア用プリフェッチ要求を発行する（Ｓ４９）。ここまでは第１の実施の形態と同じである。
【００５８】
第２の実施の形態では，主記憶管理部２９は，キャッシュ登録指示付きＩＯストア要求に応答して，キャッシュ登録指示があることを示すキャッシュレジスタフラグ２CACHE_REG_FLAG2を有効「１」にする（Ｓ４５＿Ｂ）。このフラグが有効「１」になることで，主記憶管理部２９は，第２のキャッシュ登録指示付きＩＯストア要求の処理を行う。以下に説明するとおり，この処理は，通常のＩＯストア要求の処理と異なる処理を含む。
【００５９】
次に，主記憶管理部２９は，メインメモリ１２に対してＩＯストア要求のアドレスのディレクトリを読み出すリード要求を出力し（Ｓ４７），読み出したデータを返すリード応答を受信する（Ｓ４８）。さらに，主記憶管理部２９は，ストア要求格納部２２に書き込むデータを要求し（Ｓ４９），データ応答の受信により書き込むデータを取得する（Ｓ５０）。そして，主記憶管理部２９は，そのデータについてメインメモリ１２にライト要求を出力し（Ｓ５４），ライト完了を知らせるライト応答を受信し（Ｓ５５），ＩＯストア要求格納部２２にＩＯストア完了応答を出力する（Ｓ５６）。この主記憶管理部２９の処理は，第１の実施の形態と同じである。
【００６０】
但し，第２の実施の形態では，主記憶管理部２９は，メインメモリ１２からのライト応答を受信したとき，キャッシュレジスタフラグ２CACHE_REG_FLAG2が有効「１」であるため，メインメモリへの書き込みが完了したことを示すメモリライトコンプリートフラグMEM_WRITE_CPLT_FLAGを有効「１」にする（Ｓ５６＿Ｂ）。さらに，主記憶管理部２９は，メインメモリ１２からのライト応答を受信したとき，キャッシュレジスタフラグ２CACHE_REG_FLAG2が有効「１」であるため，主記憶管理部の処理中のエントリの解放を行わずそのエントリを維持し，キャッシュ制御部２５への解放通知を行わないで，待機解除通知をＩＯストア用プリフェッチ要求格納部２３に行う（Ｓ５８）。この待機解除通知は，第１の実施の形態と同様にキャッシュ制御部２５を介して行っても良い。
【００６１】
上記の２つのフラグを有効にすることを利用して，投入されたＩＯストア用プリフェッチ要求についてキャッシュ制御部２５によるアドレスマッチの処理が変更される。すなわち，キャッシュ制御部２５は，ＩＯストア用プリフェッチ要求の処理において，主記憶管理部２９にアドレスマッチの問い合わせを行い，主記憶管理部が処理中の複数のエントリの中にアドレスがマッチするエントリがあっても，そのエントリのキャッシュレジスタフラグ２CACHE_REG_FLAG2が有効「１」であり，且つメモリライトコンプリートフラグMEM_WRITE_CPLT_FLAGも有効「１」の場合は，キャッシュ制御部２５はＩＯストア用プリフェッチ要求をアボートせずに主記憶管理部２９に出力可能であると判定する。アドレスがマッチするエントリのキャッシュレジスタフラグ２CACHE_REG_FLAG2が無効「０」の場合は，キャッシュ制御部２５はＩＯストア用プリフェッチ要求をアボートすべきと判断する。さらに，アドレスがマッチするエントリのキャッシュレジスタフラグ２CACHE_REG_FLAG2が有効「１」の場合でも，メモリライトコンプリートフラグMEM_WRITE_CPLT_FLAGが無効「０」の場合は，キャッシュ制御部２５はＩＯストア用プリフェッチ要求をアボートすべきと判断する。
【００６２】
したがって，主記憶管理部２９がメインメモリへの書き込みを完了する前のアドレスマッチの問い合わせ（Ｓ５２）では，メモリライトコンプリートフラグMEM_WRITE_CPLT_FLAGは未だ無効「０」であるので，キャッシュ制御部２５はＩＯストア用プリフェッチ要求をアボートしている（Ｓ５３）。一方，主記憶管理部２９がメインメモリへの書き込みを完了して後のアドレスマッチの問い合わせ（Ｓ３２）では，アドレスがマッチするエントリのキャッシュレジスタフラグ２CACHE_REG_FLAG2が有効「１」であり，メモリライトコンプリートフラグMEM_WRITE_CPLT_FLAGも有効「１」であるため，キャッシュ制御部２５はＩＯストア用プリフェッチ要求を主記憶管理部に出力可能と判断し，出力している（Ｓ３３）。具体的には，キャッシュ制御部２５は，キャッシュミス要求格納部２８にＩＯストア用プリフェッチ要求を出力すると共に，主記憶管理部２９にＩＯストア用プリフェッチ要求のデータを要求する（Ｓ３３）。
【００６３】
このデータ要求に応答して，主記憶管理部２９は，キャッシュレジスタフラグ２CACHE_REG_FLAG2が有効「１」であるため，維持しているＩＯストア要求のエントリにプリフェッチ要求の機能を追加してキャッシュ登録付きＩＯストア要求として処理する。すなわち，主記憶管理部２９は，メインメモリ１２へのデータ読み出しを実行せずに，維持しているＩＯストア要求のエントリのために取得したデータを，キャッシュミス要求格納部２８にデータ応答で返信するとともに，キャッシュ制御部２５に解放通知を行う（Ｓ３６）。
【００６４】
その後の処理は，図５の第１の実施の形態と同じである。すなわち，キャッシュミス要求格納部２８は，データ応答Ｓ３６に応答してキャッシュ登録要求を発行し，要求投入選択部２４を介してキャッシュ制御部２５に投入する（Ｓ３７）。このキャッシュ登録要求に応答して，キャッシュ制御部２５は，キャッシュタグにアドレス情報などの登録を行い（Ｓ３８），キャッシュデータ部２７にデータの登録を行い（Ｓ３９），キャッシュミス要求格納部２８にエントリの解放通知を出力する（Ｓ４０）。これより，主記憶管理部２９がＩＯストア用プリフェッチ要求のデータをメインメモリ１２から読み出すことなく，キャッシュメモリ２６，２７にデータ等が登録される。その後，ＣＰＵコア１０がロード要求を発行すると，既にデータがキャッシュメモリに登録されているので，短時間でデータを取得することができる。
【００６５】
上記の通り，第２の実施の形態では，第２のキャッシュ登録指示付きＩＯストア要求の処理において，主記憶管理部２９によるＩＯストア要求の処理は，図２で説明したＩＯストアの処理と同様にメインメモリ１２にデータを書き込むが，書き込み完了後もＩＯストア要求のエントリを維持する。そして，ＩＯストア用プリフェッチ要求については，主記憶管理部２９は，メインメモリ１２からデータを読み出すことなく維持しているエントリのデータをキャッシュミス要求格納部２８にデータ応答する。これにより，メインメモリ１２へのデータ読み出し処理を省略することができる。
【００６６】
［第３の実施の形態，キャッシュ登録指示付きＩＯストア要求（３）］
図９は，第３のキャッシュ登録指示付きＩＯストア要求の動作を示すシーケンス図である。また，図１０は，第３のキャッシュ登録指示付きＩＯストア要求の動作のフローチャート図である。第３のキャッシュ登録指示付きＩＯストア要求は，キャッシュ制御部２５にＩＯストア要求を主記憶管理部２９に発行させ，同時に，キャッシュ制御部２５にＩＯストア用プリフェッチ要求を発行させる。そして，主記憶管理部２９がＩＯストア要求の処理を完了した後，キャッシュ制御部がプリフェッチ要求を処理する。但し，第３のキャッシュ登録指示付きＩＯストア要求の処理では，図２，５，７の処理と異なり，主記憶管理部２９はメインメモリ１２への書き込み動作を行わない。さらに，第３のＩＯストア用プリフェッチ要求の処理では，主記憶管理部はメインメモリ１２へのデータのリード動作を行わずに，主記憶管理部がＩＯストア処理のために取得したデータをキャッシュミス要求格納部２８にデータ応答する。ＩＯストア要求の処理でメインメモリへのライト動作が省略され，ＩＯストア用プリフェッチ要求の処理でメインメモリへのリード動作が省略されるので，その分処理が短時間で完了し，消費電力を抑制できる。
【００６７】
以下，第３のキャッシュ登録指示付きＩＯストア要求の動作を，第１，第２のキャッシュ登録指示付きＩＯストア要求の動作との相違点を中心に説明する。図９，１０中，図５，６，図７，８と同じ処理には同じ参照番号が付されている。
【００６８】
ＣＰＵコア１０がＤＭＡ発行指示を出力し（Ｓ４１），ＩＯコントローラ１１がキャッシュ登録指示付きＩＯストア要求をＩＯストア要求格納部２２に発行し（Ｓ４２），キャッシュ制御部２５がキャッシュメモリ内のデータを無効化（Ｓ４４）した後，主記憶管理部２９にキャッシュ登録指示付きＩＯストア要求を発行し（Ｓ４５），それと共にＩＯストア用プリフェッチ要求格納部２３にＩＯストア用プリフェッチ要求を発行する（Ｓ４６）。ここまでは第１，第２の実施の形態と同じである。
【００６９】
第３の実施の形態では，主記憶管理部２９は，キャッシュ登録指示付きＩＯストア要求に応答して，キャッシュ登録指示があることを示すキャッシュレジスタフラグ３CACHE_REG_FLAG3を有効「１」にする（Ｓ４５＿Ｃ）。このフラグが有効「１」になることで，主記憶管理部２９は，第３のキャッシュ登録指示付きＩＯストア要求の処理を行う。
【００７０】
この第３のキャッシュ登録指示付きＩＯストア要求の処理では，主記憶管理部２９は，メインメモリ１２に対してＩＯストア要求のアドレスのディレクトリを読み出すリード要求を出力し（Ｓ４７），読み出したデータを返すリード応答を受信する（Ｓ４８）。さらに，主記憶管理部２９は，ＩＯストア要求格納部２２にＩＯストア要求のデータを要求し（Ｓ４９），データ応答を受信してＩＯストア要求のデータを受信する（Ｓ５０）。
【００７１】
そして，主記憶管理部２９は，ＩＯストア要求のデータを受信すると，キャッシュレジスタフラグ３CACHE_REG_FLAG3が有効「１」であるため，データ取得済みを示すデータレディフラグDATA_READY_FLAGを有効「１」にする。また，主記憶管理部２９は，キャッシュレジスタフラグ３CACHE_REG_FLAG3が有効「１」であるため，取得したデータをメインメモリ１２に書き込む動作は行わないで，ＩＯストア要求格納部２２にＩＯストア完了応答をして（Ｓ５６），ＩＯストアを完了したことを通知する。さらに，主記憶管理部２９は，ＩＯストア要求のデータを受信したとき，キャッシュレジスタフラグ３CACHE_REG_FLAG3が有効「１」であるため，主記憶管理部の処理中のエントリの解放を行わずそのエントリを維持し，キャッシュ制御部２５への解放通知も行わないで，待機解除通知をＩＯストア用プリフェッチ要求格納部２３に行う（Ｓ５８）。この待機解除通知は，第２のキャッシュ登録指示付きＩＯ要求の例（図７）と同様にキャッシュ制御部２５を介して行っても良い。
【００７２】
第３のキャッシュ登録指示付きＩＯストア要求の処理では，第２のキャッシュ登録指示付きＩＯストア要求の処理と同様に，上記の２つのフラグを有効にすることを利用して，投入されたＩＯストア用プリフェッチ要求についてキャッシュ制御部２５によるアドレスマッチの処理を行う。すなわち，キャッシュ制御部２５は，ＩＯストア用プリフェッチ要求の処理において，主記憶管理部２９にアドレスマッチの問い合わせを行い，主記憶管理部が処理中の複数のエントリのうちアドレスがマッチするエントリが存在しても，そのエントリのキャッシュレジスタフラグ３CACHE_REG_FLAG3が有効「１」であり，且つデータレディフラグDATA_READY_FLAGも有効「１」の場合に，キャッシュ制御部２５は，ＩＯストア用プリフェッチ要求をアボートせずに主記憶管理部２９に出力可能であると判定する。アドレスがマッチするエントリのキャッシュレジスタフラグ３CACHE_REG_FLAG3が無効「０」の場合は，キャッシュ制御部２５はＩＯストア用プリフェッチ要求をアボートすべきと判断する。さらに，アドレスがマッチするエントリのキャッシュレジスタフラグ３CACHE_REG_FLAG3が有効「１」の場合でも，データレディフラグDATA_READY_FLAGが無効「０」の場合は，キャッシュ制御部２５はＩＯストア用プリフェッチ要求をアボートすべきと判断する。
【００７３】
したがって，主記憶管理部２９がＩＯストア要求のデータの取得前でのアドレスマッチの問い合わせ（Ｓ５２）では，データレディフラグDATA_READY_FLAGは未だ無効「０」であるので，キャッシュ制御部２５はＩＯストア用プリフェッチ要求をアボートしている（Ｓ５３）。
【００７４】
一方，待機解除通知（Ｓ５８）により待機していたＩＯストア用プリエッチ要求がキャッシュ制御部２５に投入され，キャッシュ制御部２５が主記憶管理部２９にアドレスマッチの問い合わせを行うときは（Ｓ３２），主記憶管理部２９が処理中のエントリでアドレスが一致するエントリのキャッシュレジスタフラグ３CACHE_REG_FLAG3が有効「１」で，且つデータレディフラグDATA_READY_FLAGが有効「１」であるので，キャッシュ制御部２５は，ＩＯストア用プリフェッチ要求を主記憶管理部２９に出力可能であると判断する。その結果，キャッシュ制御部２５は，キャッシュミス要求格納部２８にＩＯストア用プリフェッチ要求を出力し，主記憶管理部２９にＩＯストア用プリフェッチ要求のデータを要求する（Ｓ３３）。
【００７５】
このデータ要求に応答して，主記憶管理部２９は，キャッシュレジスタフラグ３CACHE_REG_FLAG3が有効「１」であるため，維持しているＩＯストア要求のエントリにプリフェッチ要求の機能を追加してキャッシュ登録付きＩＯストア要求として処理する。その結果，主記憶管理部２９は，メインメモリ１２へのデータ読み出しを実行せずに，維持しているＩＯストア要求のエントリのために取得したデータを，キャッシュミス要求格納部２８にデータ応答で返信すると共に，キャッシュ制御部２５に解放通知を行う（Ｓ３６）。
【００７６】
その後の処理は，図５の第１の実施の形態，図７の第２の実施の形態と同じである。すなわち，キャッシュミス要求格納部２８は，データ応答Ｓ３６に応答してキャッシュ登録要求を発行し，要求投入選択部２４を介してキャッシュ制御部２５に投入する（Ｓ３７）。このキャッシュ登録要求に応答して，キャッシュ制御部２５は，キャッシュタグにアドレス情報などの登録を行い（Ｓ３８），キャッシュデータ部２７にデータの登録を行う（Ｓ３９）。第３の実施の形態では，メインメモリにデータを書き込んでいないのでキャッシュに登録したデータとメインメモリ内のデータとがコヒーレントが保たれていない。そのため，キャッシュ制御部２５は，メインメモリとコヒーレントが保たれていない旨を示すステータス（Ｍｏｄｉｆｉｅｄ）をキャッシュタグに記録する。キャッシュ登録後，キャッシュ制御部２５は，キャッシュミス要求格納部２８にエントリの解放通知を出力する（Ｓ４０）。その後，ＣＰＵコア１０がロード要求を発行すると，既にデータがキャッシュメモリに登録されているので，短時間でデータを取得することができる。
【００７７】
上記の通り，第３の実施の形態では，キャッシュ登録指示付きＩＯストア要求の処理において，主記憶管理部２９によるＩＯストア要求の処理は，図２で説明したＩＯストアの処理と異なり，ＩＯストア要求のデータを取得した後は，メインメモリ１２にデータを書き込まずに，処理中のＩＯストア要求のエントリを維持し，その後のＩＯストア用プリフェッチ要求については，メインメモリ１２からデータを読み出すことなく維持しているエントリのデータをキャッシュミス要求格納部２８にデータ応答する。これにより，メインメモリ１２へのデータの書き込み処理とメインメモリ１２へのデータ読み出し処理を省略することができる。
【００７８】
上記の第２，第３のキャッシュ登録指示付きＩＯストア要求の動作において，キャッシュ制御部２５が主記憶管理部２９にアドレスマッチの問い合わせをしたとき（Ｓ５２），同じアドレスを処理しているエントリの２つのフラグが共に有効でない場合に，キャッシュ制御部２５はＩＯストア要求用プリフェッチ要求格納部にアボートして待機指示（Ｓ５３）を行ったが，必ずしも待機指示を行わなくても良い。その場合は，ＩＯストア用プリフェッチ要求の投入とアボートが繰り返されるだけであり，キャッシュインジェクションの機能への直接の影響はない。単に，消費電流が消費されるだけである。
【００７９】
［第４の実施の形態，キャッシュ登録指示付きＩＯストア要求（４）］
図１１は，第４の実施の形態におけるＣＰＵ１の構成を示す図である。図１１のＣＰＵ１は，ｃｃＮＵＭＡ（Cache-Coherent Non-Uniform Memory Access）を実現するために，ｃｃＮＵＭＡ受信部１３と，リモート要求格納部２４と，ｃｃＮＵＭＡ送信部１５と，その中に設けられているｃｃＮＵＭＡ出力格納部１５Ａとを有する。ｃｃＮＵＭＡ受信部１３とｃｃＮＵＭＡ送信部１５は，ｃｃＮＵＭＡノード間を接続する送受信バス３０に接続される。それ以外の構成は，図１と同じである。
【００８０】
図１２は，４つのノードを有するｃｃＮＵＭＡの構成を示す図である。図１２には，４つのｃｃＮＵＭＡノード０−４が，互いに送受信バス３０で接続されている。ｃｃＮＵＭＡノードは，例えばＮＯＤＥ０の場合，ＣＰＵコアＣＯＲＥ０，キャッシュＣＡＣＨＥ０，メモリＭＥＭ０，ＩＯコントローラＩＯ０を有する。他のＮＯＤＥ１，２，３も同様の構成である。
【００８１】
ノード０（ＮＯＤＥ０）のメモリＭＥＭ０は，キャッシュＣＡＣＨＥ０内の主記憶管理部により管理されている。そして，メモリＭＥＭ０内には，メモリＭＥＭ０内のデータが他のｃｃＮＵＭＡのノードのキャッシュにデータが持ち出されているか否かを示すディレクトリ情報を記憶している。同様に，ノード１，２，３の各メモリＭＥＭ１−３も，キャッシュＣＡＣＨＥ１−３内の主記憶管理部によりそれぞれ管理されていて，各メモリ内にはディレクトリ情報が格納されている。
【００８２】
そして，４つのノード０−３間は送受信バス３０により互いに接続され，互いの要求と要求結果を送受信できるようになっている。
【００８３】
図１２の構成において，ノード０のコアＣＯＲＥ０とキャッシュＣＡＣＨＥ０を有するＣＰＵが，（１）ノード１のメモリＭＥＭ１に対してＩＯストア要求をする場合と，（２）ノード１のメモリＭＥＭ１内のデータにロード要求をする場合を想定する。この場合，要求元のノード０のＣＰＵはローカルＣＰＵと，要求先のメモリＭＥＭ１を管理しているノード１のＣＰＵはリモートＣＰＵまたはホームＣＰＵと称する。このようなｃｃＮＵＭＡの構成におけるＩＯストア要求についても，本実施の形態の第１，第２，第３のキャッシュ登録指示付きＩＯストア要求を適用することができる。
【００８４】
まず，ノード０のＣＰＵがノード１のメモリＭＥＭ１にＩＯコントローラが入力するデータをストアするＩＯストア要求を発行する。この場合，図１１に示されたＣＰＵ１をノード０のローカルＣＰＵと仮定する。ノード０のＣＰＵコアＣＯＲＥ０は，キャッシュＣＡＣＨＥ０内のキャッシュ制御部を経由してＤＭＡ発行指示をＩＯコントローラ１１に出力する。それに応答して，ＩＯコントローラ１１はキャッシュ登録指示付きＩＯストア要求をＩＯストア要求格納部２２に格納する。そのキャッシュ登録指示付きＩＯストア要求がキャッシュＣＡＣＨＥ０内のキャッシュ制御部に投入されると，キャッシュ制御部はそのＩＯストア要求のメモリアドレスがノード１のメモリＭＥＭ１のアドレスであるためキャッシュミスし，ｃｃＮＵＭＡ出力格納部１５Ａにキャッシュ登録指示付きＩＯストア要求を格納する。そして，ｃｃＮＵＭＡ送信部１５が，格納されたキャッシュ登録指示付きＩＯストア要求を，ｃｃＮＵＭＡ送信バス３０を経由して，ノード１のＣＰＵに送信する。
【００８５】
次に，ノード１のリモートＣＰＵがノード０のローカルＣＰＵから上記のＩＯストア要求を受信した場合を想定する。今度は，図１１のＣＰＵ１をノード１のリモートＣＰＵと仮定する。ノード１のＣＰＵのｃｃＮＵＭＡ受信部１３がｃｃＮＵＭＡ受信バス３０を介してキャッシュ登録指示付きＩＯストア要求を受信し，リモート要求格納部２４にそのＩＯストア要求を格納する。ノード１のキャッシュＣＡＣＨＥ１内のキャッシュ制御部２５は，リモート要求格納部２４からそのＩＯストア要求を投入され，前述の第１，第２，第３の実施の形態のキャッシュ登録指示付きＩＯストア要求の処理を実行する。その結果，ノード１のキャッシュＣＡＣＨＥ１内のキャッシュメモリ内にＩＯストア要求のデータがインジェクションされ，キャッシュ登録される。第１，第２のキャッシュ登録指示付きＩＯストア要求の場合は，ＩＯストア要求のデータはノード１のメモリＭＥＭ１内にも書き込まれる。第３のキャッシュ登録指示付きＩＯストア要求の場合は，ＩＯストア要求のデータはノード１のメモリＭＥＭ１には書き込まれない。
【００８６】
次に，ノード０のローカルＣＰＵがノード１のリモートＣＰＵが管理しているメインメモリＭＥＭ１に上記ＩＯストア要求のデータについてロード要求を発行する。この場合，図１１のＣＰＵ１をノード０のローカルＣＰＵと仮定する。ノード０のＣＰＵコアＣＯＲＥ０が要求格納部１０にロード要求を発行する。そして，キャッシュＣＡＣＨＥ０のキャッシュ制御部は，ロード要求の投入に応答して，そのロード要求のエントリを処理する。キャッシュＣＡＣＨＥ０のキャッシュ制御部は，ロード要求のアドレスがノード１のメインメモリＭＥＭ１のアドレスであるためキャッシュミスし，キャッシュミス要求格納部２８にロード要求を出力し，キャッシュミス要求格納部２８がｃｃＮＵＭＡ送信部１５内のｃｃＮＵＭＡ出力格納部１５Ａ内にロード要求を格納する。ｃｃＮＵＭＡ送信部１５は，そのロード要求を，ｃｃＮＵＭＡ送信バス３０を経由して，ノード１のＣＰＵに送信する。
【００８７】
次に，ノード１のリモートＣＰＵがノード０のローカルＣＰＵから上記のロード要求を受信した場合を想定する。今度は，図１１のＣＰＵ１をノード１のリモートＣＰＵと仮定する。ノード１のＣＰＵのｃｃＮＵＭＡ受信部１３がｃｃＮＵＭＡ受信バス３０を介してロード要求を受信し，リモート要求格納部２４にそのロード要求を格納する。ノード１のキャッシュＣＡＣＨＥ１内のキャッシュ制御部は，リモート要求格納部２４からそのロード要求を投入され，キャッシュタグ２６を検索してキャッシュヒットし，キャッシュデータ部２７に登録されているデータを読み出して，データと共にデータ応答をｃｃＮＵＭＡ送信部１５内のｃｃＮＵＭＡ出力格納部１５Ａ内に格納する。ｃｃＮＵＭＡ送信部１５は，そのデータ応答をｃｃＮＵＭＡ送信バス３０を経由して，ノード０のＣＰＵに送信する。
【００８８】
次に，ノード０のローカルＣＰＵが，ノード１のリモートＣＰＵからデータ応答を受信した場合を想定する。この場合，図１１のＣＰＵ１をノード０のローカルＣＰＵと仮定する。ｃｃＮＵＭＡ受信部１３は，ｃｃＮＵＭＡ受信バス３０からデータ応答を受信し，リモート要求格納部２４に格納する。そのデータ応答が投入されると，ノード０のキャッシュＣＡＣＨＥ０内のキャッシュ制御部２５がデータ応答をキャッシュミス要求格納部２８に出力し，キャッシュミス要求格納部２８がそのデータ応答をキャッシュ制御部２５に投入する。これに応答して，キャッシュ制御部２５は，データ応答のデータをキャッシュ登録して，ＣＰＵコアＣＯＲＥ０にデータ応答する。
【００８９】
上記のとおり，第４の実施の形態において，ｃｃＮＵＭＡ構成の場合に，ローカルＣＰＵがリモートＣＰＵが管理するメインメモリに対するキャッシュ登録指示付きＩＯストア要求を発行した場合に，リモートＣＰＵのキャッシュＣＡＣＨＥは，ＩＯストア要求のデータをメインメモリ内にデータを書き込んでまたは書き込まずに，キャッシュメモリに登録する。したがって，その後，ローカルＣＰＵがリモートＣＰＵが管理するメインメモリのアドレスに対するロード要求を発行すると，リモートＣＰＵ側でキャッシュヒットし，短いレイテンシでデータ応答を受信することができる。
【００９０】
以上説明したとおり，本実施の形態によれば，ＣＰＵコアはＤＭＡ発行指示等によりキャッシュ登録指示付きＩＯストア要求をキャッシュ制御部に投入すれば，キャッシュ制御部がプリフェッチ要求を発行する。その結果，ＩＯストア要求の処理後にＩＯストア要求のデータがキャッシュメモリに登録されるので，実質的にキャッシュインジェクションと同等の処理を行うことができる。また，ＩＯストア要求の処理とプリフェッチ要求の処理とを連携するための最小限の変更を，キャッシュ制御部や主記憶管理部内の回路構成に加えるだけでよい。この変更は，第１，第２，第３のキャッシュ登録指示付きＩＯストア要求の場合にキャッシュ制御部がプリフェッチ要求を発行する処理，第２，第３のキャッシュ登録指示付きＩＯストア要求の場合に主記憶管理部がプリフェッチ要求でメインメモリにリード要求しない処理，そして，第３のキャッシュ登録指示付きＩＯストア要求の場合に主記憶管理部がメインメモリにライトしない処理のための変更等である。したがって，キャッシュ登録指示付きＩＯストア要求を処理するための専用の回路を追加する必要はない。
【００９１】
本実施の形態によれば，ＣＰＵは，キャッシュ登録指示付きＩＯストア要求を発行することで，ＩＯストア要求のデータをキャッシュメモリに登録することができ，その後にＩＯストア要求のデータにアクセスするメモリアクセス要求を発行すると，キャッシュメモリに登録されているデータにアクセスすることができる。上記のメモリアクセス要求には，読み出しを行うロード要求と書き込みを行うストア要求が含まれる。
【００９２】
以上の実施の形態をまとめると，次の付記のとおりである。
【００９３】
（付記１）
メモリアクセス要求とプリフェッチ要求とを出力する演算処理部と，
前記メモリアクセス要求と前記プリフェッチ要求に加えて，入力データを記憶する入力データストア要求を処理するキャッシュ制御部と，キャッシュメモリとを有するキャッシュと，
メインメモリを制御する主記憶管理部とを有し，
前記キャッシュ制御部は，キャッシュ登録指示付きの入力データストア要求に応答して，前記主記憶管理部に前記入力データストア要求を出力すると共に前記プリフェッチ要求を発行し，前記発行されたプリフェッチ要求に応答して，前記入力データストア要求の入力データを前記キャッシュメモリに登録する演算処理装置。
【００９４】
（付記２）
前記主記憶管理部は，前記入力データストア要求に応答して前記入力データを保持し，
前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記主記憶管理部から取得した前記入力データを前記キャッシュメモリに登録する付記１に記載の演算処理装置。
【００９５】
（付記３）
前記主記憶管理部は，前記入力データストア要求に応答して前記入力データを前記メインメモリに書き込み，
前記書き込み後，前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記主記憶管理部から取得した前記入力データを前記キャッシュメモリに登録する付記２に記載の演算処理装置。
【００９６】
（付記４）
前記キャッシュ制御部は，前記発行されたプリフェッチ要求を処理して，前記主記憶管理部に前記メインメモリから前記入力データを読み出させる付記３に記載の演算処理装置。
【００９７】
（付記５）
前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記プリフェッチ要求のアドレスと前記主記憶管理部が処理中の入力データストア要求のエントリのアドレスとが一致する場合に，前記プリフェッチ要求をアボートし，前記主記憶管理部による前記メインメモリへの前記入力データの書き込みが完了した後に，前記アボートされたプリフェッチ要求を処理する付記４に記載の演算処理装置。
【００９８】
（付記６）
前記主記憶管理部は，前記入力データストア要求に応答して，前記メインメモリに前記入力データを書き込み，
前記メインメモリへの前記入力データの書き込み後，前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記主記憶管理部に前記メインメモリから前記入力データを読み出させることなく前記主記憶管理部から取得した前記入力データを前記キャッシュメモリに登録する付記２に記載の演算処理装置。
【００９９】
（付記７）
前記主記憶管理部は，前記入力データストア要求に応答して前記メインメモリに前記入力データを書き込んだ後，前記入力データを保持した状態で前記入力データストア要求のエントリを保持し，
前記書き込み後，前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記主記憶管理部から前記入力データを取得する付記５に記載の演算処理装置。
【０１００】
（付記８）
前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記プリフェッチ要求のアドレスと前記主記憶管理部が処理中の入力データストア要求のエントリのアドレスとが一致し前記主記憶管理部による前記入力データの前記メインメモリへの書き込みが完了していない場合に，前記プリフェッチ要求をアボートし，前記主記憶管理部による前記書き込みが完了した後に，前記アボートされたプリフェッチ要求を処理する付記７に記載の演算処理装置。
【０１０１】
（付記９）
前記主記憶管理部は，前記入力データストア要求に応答して前記入力データを取得し，
前記入力データの取得後，前記主記憶管理部は前記メインメモリに前記入力データを書き込まず，そして，前記キャッシュ制御部は前記発行されたプリフェッチ要求に応答して前記主記憶管理部から取得した前記入力データを前記キャッシュメモリに登録する付記２に記載の演算処理装置。
【０１０２】
（付記１０）
前記主記憶管理部は，前記入力データストア要求に応答して前記入力データを取得した後，前記入力データを保持した状態で前記入力データストア要求のエントリを保持し，
前記入力データの取得後，前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記主記憶管理部から前記入力データを取得する付記９に記載の演算処理装置。
【０１０３】
（付記１１）
前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記プリフェッチ要求のアドレスと前記主記憶管理部が処理中の入力データストア要求のエントリのアドレスとが一致し前記主記憶管理部による前記入力データの取得が完了していない場合に，前記プリフェッチ要求をアボートし，前記主記憶管理部による前記入力データの取得が完了した後に，前記アボートされたプリフェッチ要求を処理する付記１０に記載の演算処理装置。
【０１０４】
（付記１２）
前記キャッシュ制御部は，前記プリフェッチ要求をアボートすると共に前記発行されたプリフェッチ要求の投入を待機させ，前記書き込みが完了した後に，再投入された前記発行されたプリフェッチ要求に応答して前記入力データを前記キャッシュメモリに登録する付記５または８に記載の演算処理装置。
【０１０５】
（付記１３）
前記キャッシュ制御部は，前記プリフェッチ要求をアボートすると共に前記発行されたプリフェッチ要求の投入を待機させ，前記主記憶管理部による前記入力データの取得が完了した後に，再投入された前記発行されたプリフェッチ要求に応答して前記入力データを前記キャッシュメモリに登録する付記１１に記載の演算処理装置。
【０１０６】
（付記１４）
メモリアクセス要求とプリフェッチ要求を出力する演算処理部と，前記メモリアクセス要求と前記プリフェッチ要求に加えて入力データを記憶する入力データストア要求を処理するキャッシュ制御部と，キャッシュメモリを有するキャッシュと，メインメモリを制御する主記憶管理部とを有する演算処理装置の制御方法であって，
前記キャッシュ制御部は，前記入出力装置からのキャッシュ登録指示付きの入力データストア要求に応答して，前記主記憶管理部に前記入力データストア要求を出力すると共に前記プリフェッチ要求を発行し，
前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記入力データストア要求の入力データを前記キャッシュメモリに登録する演算処理装置の制御方法。
【０１０７】
（付記１５）
前記主記憶管理部は，前記入力データストア要求に応答して前記入力データを保持し，
前記キャッシュ制御部は，前記発行されたプリフェッチ要求に応答して，前記主記憶管理部から取得した前記入力データを前記キャッシュメモリに登録する付記１４に記載の演算処理装置。
【符号の説明】
【０１０８】
１：ＣＰＵ，ＣＰＵチップ，演算処理装置
２：外部記憶媒体，ＨＤＤ
１０：ＣＰＵコア，演算処理部
１１：ＩＯコントローラ，入出力装置
１２：メインメモリ，主記憶装置
２０：Ｌ２キャッシュ，キャッシュ
２１：要求格納部
２２：ＩＯストア要求格納部
２３：ＩＯストア用プリフェッチ要求格納部
２４：要求投入選択部
２５：キャッシュ制御部，キャッシュパイプライン
２６：キャッシュタグ，ＴＡＧ
２７：キャッシュデータ部，キャッシュメモリ
２８：キャッシュミス要求格納部，ムーブインバッファ（ＭＩＢ）
２９：主記憶管理部，メモリアクセスコントローラ（ＭＡＣ）を含む
３０：セレクタ
ＣＡＣＨＥ＿ＲＥＧ＿ＦＬＡＧ１：第１のキャッシュ登録フラグ
ＣＡＣＨＥ＿ＲＥＧ＿ＦＬＡＧ２：第２のキャッシュ登録フラグ
ＭＥＭ＿ＷＲＩＴＥ＿ＣＰＬＴ＿ＦＬＡＧ：メモリライト完了フラグ
ＤＡＴＡ＿ＲＥＡＤＹ＿ＦＬＡＧ：データレディフラグ
１５Ａ：ｃｃＮＵＭＡ出力格納部
１５：ｃｃＮＵＭＡ送信部
１３：ｃｃＮＵＭＡ受診部
２４：リモート要求格納部
【図１】
2015222538.tif 000003
【図２】
2015222538.tif 000004
【図３】
2015222538.tif 000005
【図４】
2015222538.tif 000006
【図５】
2015222538.tif 000007
【図６】
2015222538.tif 000008
【図７】
2015222538.tif 000009
【図８】
2015222538.tif 000010
【図９】
2015222538.tif 000011
【図１０】
2015222538.tif 000012
【図１１】
2015222538.tif 000013
【図１２】
2015222538.tif 000014