JP4803983B2 - 演算処理装置 - Google Patents
演算処理装置 Download PDFInfo
- Publication number
- JP4803983B2 JP4803983B2 JP2004267472A JP2004267472A JP4803983B2 JP 4803983 B2 JP4803983 B2 JP 4803983B2 JP 2004267472 A JP2004267472 A JP 2004267472A JP 2004267472 A JP2004267472 A JP 2004267472A JP 4803983 B2 JP4803983 B2 JP 4803983B2
- Authority
- JP
- Japan
- Prior art keywords
- data consistency
- cache
- consistency management
- pseudo data
- management request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
ここで、前記少なくとも1つのキャッシュ制御手段は、前記メモリ読み出し要求に応答して読み出されたデータを、所属するプロセッサ内のキャッシュメモリに格納し、前記他のキャッシュ制御手段は、前記メモリ読み出し要求に応答して読み出されたデータを、それが属するキャッシュメモリに格納しないでCPUに出力するようにしてもよい。
(実施の形態1)
演算処理装置の実施例として図1、図2、図13、図15Aを用いて説明する。
図13は、キャッシュミス発生時の各ローカルキャッシュおよび共有バス制御装置の動作を示すフローチャートである。同図では、プロセッサ102内のデータローカルキャッシュ2でキャッシュミスヒットが発生した場合にデータ整合性をとる動作を示している。
しかし、この擬似データ整合性管理部を常に有効にする場合、局所性の低下は、防止することができるが、データの共有状態の確率が高くなるため、キャッシュ容量の低下に対する問題が発生すると考えられる。そこで、実施の形態1と比較して、無駄なキャッシュ容量の共有を行わない方法として、演算処理装置を図3、図4、および、図15Bに示すプログラム2を用いて説明する。
しかし、命令コードの追加は、アーキテクチャの変更に相当するため、互換性の問題などが発生する。そこで、演算処理装置と比較して、特別な命令セットの追加を行うことなく、キャッシュ容量の浪費(使用しない共有データ)の削減方法として、演算処理装置を図3、図5、および、プログラム1を用いて説明する。
しかし、前記プロセッサ状態記憶部を用いて、前記第1擬似データ整合性管理部の設定を切り替える場合は、前記プロセッサ状態記憶部の書き換えが、ロードストア命令2命令ごとに再設定する必要があるケースが発生するため、命令実効効率が低下する。そのため、実施の形態3のプロセッサ状態記憶部による擬似データ整合性管理部の制御だけでは、キャッシュ容量の浪費削減は十分でないと考えられる。そこで、特別な命令コードの追加を行うことなく、キャッシュ容量の浪費(使用しない共有データ)の削減方法として、ロードストア命令で実行される論理アドレス空間に応じて擬似データ整合性有効部を有効とするかどうかを決定する論理アドレス空間判定部を用いた演算処理装置を図2(C)、図3、図6、図7、図8、図9および、図15Cに示すプログラム3を用いて説明する。
しかし、前記論理アドレス空間判定部を用いて、前記第1擬似データ整合性管理部の設定を切り替える場合は、各ユーザプログラムの内容や、スーパーバイザレベルなどの特権レベルに応じて異なり、それらを擬似データ整合性管理部のために、統一したルールでプログラムを作成することは困難である。そのため、実施の形態4の論理アドレス空間判定部による擬似データ整合性管理部の制御だけでは、キャッシュ容量の浪費削減は十分でないと考えられる。そこで、演算処理装置と比較して、特別な命令コードの追加を行うことなく、キャッシュ容量の浪費(使用しない共有データ)の削減方法として、ロードストア命令で実行される論理アドレスに応じて擬似データ整合性有効部を有効とするかどうかを決定する論理アドレス領域判定部を用いた演算処理装置を図2(C)、図3、図8、図9、図10および、プログラム3を用いて説明する。
しかし、共有データの必要性の制御単位は、同じ論理アドレス空間のなかでもそれぞれ共有データの必要がある場合と、共有データの必要がない場合の両方があると考えられる。たとえば、同じユーザレベルで、同じプロセス識別子で、同じアドレス空間によっても、プログラムのページアドレスによって、共有データが必要になるときと、そうでないときが存在する。そのため、実施の形態4の擬似データ整合性管理要求空間判定部や、実施の形態5の擬似データ整合性管理要求アドレス比較部を用いた擬似データ整合性管理要求部による擬似データ整合性管理部の制御だけでは、キャッシュ容量の浪費削減は十分でないと考えられる。 そこで、特別な命令コードの追加を行うことなく、キャッシュ容量の浪費(使用しない共有データ)の削減方法として、アクセスされる論理アドレス空間のTLBの第1擬似データ整合性管理要求フラグ記憶部によって擬似データ整合性管理部の動作を制御する演算処理装置を図2(C)、図3、図8、図9、図11、および、プログラム3を用いて説明する。
実施の形態5および実施の形態6に示したように、第1擬似データ整合性管理要求アドレス比較部とTLBの擬似データ整合性管理要求アドレス変換部によって、ページ単位、プロセス単位による共有データが必要・不必要が制御できるようになった。しかし、プログラムの中には、リアルタイム処理が必要になる場合と、その必要性が低い場合がある。その場合、実施の形態1から実施の形態6による擬似データ整合性管理部の制御だけでは、キャッシュ容量の浪費削減は十分でないと考えられる。そこで、キャッシュ容量の浪費(使用しない共有データ)の削減方法を改善しつつ、自ローカルキャッシュには、不要なキャッシュリプレイスを発生されることなく選択的に擬似データ整合性管理部によるキャッシュ間データ転送を行うために、擬似データ整合性管理共有判定部によってリフィルされたデータを、ロードストア命令を発行したCPUに接続されたローカルデータキャッシュのキャッシュメモリに格納するかどうかを設定することを特徴とする擬似データ整合性管理部の動作を制御する演算処理装置として、図4、図5、図7、図10、図11を用いて説明する。
実施の形態7では、データアクセスに対するリアルタイム性能要求が高いデータアクセスと、低いデータアクセスがあって、リアルタイム性が高いデータがキャッシュされている状態は選択的に保護されるようにするために、それ以外のデータに対して、擬似データ整合性管理部によって、他のキャッシュにリフィル動作を行わせ、そのデータも他のキャッシュのみにキャッシュする方法を説明し、擬似データ整合性管理部による局所性低下の課題を解決し、その機能を追加した場合に考えられるキャッシュ容量の低下の課題を解決し、リアルタイム性および、非リアルタイム性プログラムにおける、キャッシュ容量の有効活用を実現した。
実施の形態1から実施の形態8では、命令ローカルキャッシュにデータローカルキャッシュのアクセスに対して、擬似データ整合性管理部を動作させる説明は行わなかった。しかし、前記実施の形態8に記載のように、グラフィック処理などの大容量データをキャッシュする場合は、既存のデータキャッシュの状態がリプレイスされるため、キャッシュのヒット率が低下することが考えられる。そのため、データローカルキャッシュからのキャッシュアクセス伝達部に対して、命令ローカルキャッシュの擬似データ整合性管理部が動作することによって、命令ローカルキャッシュに上記データを格納する方がキャッシュ効率がよい。なぜなら、このような命令を実行する場合は、比較的命令コードは繰り返しが多く、命令キャッシュヒット率が高く、使用されるキャッシュ容量も少ない。また、データキャッシュに関しては、一般的に命令ローカルキャッシュよりキャッシュヒット率が低い傾向にあり、さらに、大容量のキャッシュリプレイスが発生すると、さらにデータローカルキャッシュのヒット率が低下する。そこで、命令ローカルキャッシュ擬似データ整合性管理部は有用である。しかし、命令ローカルキャッシュは、データキャッシュと異なり、ダーティービットを管理していない。そこで、ダーティービットを有していないキャッシュに擬似データ整合性管理部によってキャッシュリフィルされても、データの整合性が維持できる部について説明する。この演算処理装置は、図1に記載の演算処理装置と同じ構造で動作できるため、図1を用いて説明する。
135 キャッシュアクセス監視部
136 データ整合性管理部
137 擬似データ整合性管理部
170 共有バス制御部
381 第1擬似データ整合性管理要求部
420 擬似データ整合性管理要求命令検出部
520 擬似データ整合性管理要求モード記憶部
710 擬似データ整合性管理要求空間判定部
838 第2擬似データ整合性管理要求部
1010 第1擬似データ整合性管理アドレス比較部
1105 第1擬似データ整合性管理アドレス変換部
1250 擬似データ整合性管理要求回数記憶部
Claims (45)
- 複数のプロセッサと共有バスと共有バス制御装置とを有するマルチプロセッサ型の演算処理装置であって、
各プロセッサは、CPUとローカルキャッシュとを有し、
各ローカルキャッシュは、キャッシュメモリと、それを制御するキャッシュ制御手段とを有し、
各キャッシュ制御手段は、
共有バスを介したローカルキャッシュ間のデータ転送を制御することにより、ローカルキャッシュ間のデータ整合性を管理するデータ整合性管理手段を有し、
キャッシュ制御手段のうちの少なくとも1つのキャッシュ制御手段は、
他のプロセッサからキャッシュミスの発生を通知するローカルキャッシュアクセス信号を監視し、
前記ローカルキャッシュアクセス信号に対応するデータが、所属するローカルキャッシュに記憶されていない場合であっても、記憶されている旨の擬似情報を前記共有バス制御装置を介して他のプロセッサに通知する
ことを特徴とする演算処理装置。 - 前記少なくとも1つのキャッシュ制御手段は、さらに、前記ローカルキャッシュアクセス信号に対応するデータをメモリから読み出すためのメモリ読み出し要求を共有メモリ制御装置を介してメモリに発行する
ことを特徴とする請求項1記載の演算処理装置。 - 前記少なくとも1つのキャッシュ制御手段と、前記他のキャッシュ制御手段は、前記メモリ読み出し要求に応答して読み出されたデータをキャッシュメモリにそれぞれ格納する
ことを特徴とする請求項2記載の演算処理装置。 - 前記少なくとも1つのキャッシュ制御手段は、前記メモリ読み出し要求に応答して読み出されたデータを、所属するプロセッサ内のキャッシュメモリに格納し、
前記他のキャッシュ制御手段は、前記メモリ読み出し要求に応答して読み出されたデータを、それが属するキャッシュメモリに格納しないでCPUに出力する
ことを特徴とする請求項2記載の演算処理装置。 - 各キャッシュ制御手段は、
同じプロセッサに属するCPUからローカルキャッシュへのメモリアクセス内容を共有バス制御装置に伝達するキャッシュアクセス伝達手段と、
他のプロセッサ内のローカルキャッシュである第1ローカルキャッシュにおけるキャッシュミスの発生を通知するために他のプロセッサ内のキャッシュアクセス伝達手段から前記共有バス制御装置に出力された前記ローカルキャッシュアクセス信号を監視し、前記ローカルキャッシュアクセス信号に対応するデータが、所属するローカルキャッシュである第2ローカルキャッシュに記憶されているかどうかを検索するキャッシュアクセス監視手段と、
キャッシュアクセス監視手段によって前記ローカルキャッシュアクセス信号に対応するデータが、前記第2ローカルキャッシュに記憶されているかどうか検索された場合に、前記検索結果に応じて前記ローカルキャッシュ間のデータ整合性を維持するために前記第2ローカルキャッシュの制御および前記共有バス制御装置とのデータ転送を行うデータ整合性管理手段と、
前記ローカルキャッシュアクセス信号に対応するデータが、前記第2ローカルキャッシュに記憶されているかどうかにかかわらず、前記第2ローカルキャッシュがキャッシュリフィル動作を行うかどうかを判定し、リフィル動作を行うと判定した場合に、前記擬似情報を通知し、前記ローカルキャッシュ間のデータ整合性を維持するために前記第2ローカルキャッシュの制御および前記共有バス制御装置とのデータ転送を行う擬似データ整合性管理手段を有している
ことを特徴とする請求項1記載の演算処理装置。 - 前記キャッシュアクセス伝達手段は、CPUからローカルキャッシュへのメモリアクセスであって、非キャッシュ読み出しおよび書き込みアクセス、キャッシュ書き込みアクセス、もしくは、キャッシュ読み出しアクセスのキャッシュミスアクセスの場合に、前記ローカルキャッシュアクセス信号を前記共有バス制御装置に伝達する
ことを特徴とする請求項5に記載の演算処理装置。 - 前記キャッシュアクセス監視手段および前記データ整合性管理手段は、
前記キャッシュアクセス伝達手段から前記共有バス制御装置に伝達された非キャッシュ読み出しアクセス、および、キャッシュ読み出しのキャッシュミスアクセスに対して前記第2ローカルキャッシュの前記キャッシュメモリが検索され、前記第2ローカルキャッシュが、前記第1ローカルキャッシュのアクセス対象データを記憶している場合に、前記第2ローカルキャッシュが前記共有バス制御装置に前記対象データ、もしくは、対象エントリのデータの出力するよう制御する
ことを特徴とする請求項5に記載の演算処理装置。 - 前記キャッシュアクセス監視手段および前記データ整合性管理手段は、
前記キャッシュアクセス伝達手段から前記共有バス制御装置に伝達されたキャッシュ書き込みのキャッシュヒットアクセスに対して前記第2ローカルキャッシュの前記キャッシュメモリが検索され、前記第2ローカルキャッシュが、前記第1ローカルキャッシュの同一アドレスに対するアクセスで、対象データと異なるデータを記憶している場合に、前記第2ローカルキャッシュが前記共有バス制御装置に出力されている前記対象データを記憶情報として更新するか、もしくは、前記第2ローカルキャッシュの対象エントリの記憶情報を無効化する、
ことを特徴とする請求項5に記載の演算処理装置。 - 前記キャッシュアクセス監視手段および前記データ整合性管理手段は、
前記キャッシュアクセス伝達手段から前記共有バス制御装置に伝達されたキャッシュ書き込みのキャッシュミスアクセスに対して前記第2ローカルキャッシュのキャッシュメモリが検索され、前記第2ローカルキャッシュが、前記第1ローカルキャッシュの同一アドレスに対するアクセスで、対象データと異なるデータを記憶している場合に、前記第2ローカルキャッシュが前記共有バス制御装置に出力されている前記対象データを記憶情報として更新し、前記第2ローカルキャッシュの対象エントリのデータを前記共有バス制御装置に出力するか、もしくは、前記第2ローカルキャッシュの前記対象エントリの記憶情報を無効化する
ことを特徴とする請求項5に記載の演算処理装置。 - 前記キャッシュアクセス監視手段および前記データ整合性管理手段は、
前記キャッシュアクセス伝達手段から前記共有バス制御装置に伝達された非キャッシュ書き込みアクセス対して前記第2ローカルキャッシュの前記キャッシュメモリが検索され、前記第2ローカルキャッシュが、前記第1ローカルキャッシュの同一アドレスに対するアクセスで、対象データと異なるデータを記憶している場合に、前記第2ローカルキャッシュが前記共有バス制御装置に出力されている前記対象データを記憶情報として更新するか、もしくは、前記第2ローカルキャッシュの対象エントリの記憶情報を無効化する
ことを特徴とする請求項5に記載の演算処理装置。 - 前記プロセッサは、所属するプロセッサ以外のプロセッサに前記擬似情報による整合性管理を要求する第1擬似データ整合性管理要求信号を出力する第1擬似データ整合性管理要求手段を有し、
前記擬似データ整合性管理手段は、他のプロセッサから共有バス制御装置を介して入力される第1擬似データ整合性管理要求信号に従って、前記擬似情報を通知するか否かを判定する
ことを特徴とする請求項5に記載の演算処理装置。 - 前記擬似データ整合性管理手段は、前記第1ローカルキャッシュのアクセス内容が、前記第2ローカルキャッシュのキャッシュメモリに記憶されていないことが検索された後、さらに前記第1擬似データ整合性管理要求信号に基づいてキャッシュリフィル動作行うか否かを判定する
ことを特徴とした請求項11に記載の演算処理装置。 - 前記プロセッサは、さらに所属するプロセッサ以外のプロセッサに前記擬似情報による整合性管理を要求する第2擬似データ整合性管理要求信号を出力する第2擬似データ整合性管理要求手段を有し、
前記擬似データ整合性管理手段は、他のプロセッサから共有バス制御装置を介して入力される第1および第2擬似データ整合性管理要求信号に基づいて、前記擬似情報を通知するか否かを判定する
ことを特徴とする請求項11に記載の演算処理装置。 - 前記擬似データ整合性管理手段は、前記第1ローカルキャッシュのアクセス内容が、前記第2ローカルキャッシュのキャッシュメモリに記憶されていないことが検索された後、さらに前記第2擬似データ整合性管理要求信号に基づいてキャッシュリフィル動作行うか否かを判定する
ことを特徴とした請求項13に記載の演算処理装置。 - 前記擬似データ整合性管理手段は、前記第1および第2擬似データ整合性管理要求信号に基づいてキャッシュリフィル動作行うか否かを判定する
ことを特徴とした請求項13に記載の演算処理装置。 - 前記第1擬似データ整合性管理要求手段は、前記CPUのロードストア命令のデコード情報によって、前記第1擬似データ整合性管理要求信号を有効とするかどうかを決定する
ことを特徴とする請求項11に記載の演算処理装置。 - 前記第1擬似データ整合性管理要求手段は、前記CPUのロードストア命令実行時に、そのCPUに該当するプロセッサ状態記憶手段によって管理された第1擬似データ整合性管理要求モード信号によって、前記第1擬似データ整合性管理要求信号を有効とするかどうかを決定する
ことを特徴とする請求項11に記載の演算処理装置。 - 前記第1擬似データ整合性管理要求手段は、前記CPUのロードストア命令実行時に、そのCPUに該当するプロセッサ状態記憶手段によって管理された第1擬似データ整合性管理要求モード信号と、前記第1擬似データ整合性管理要求モード信号の状態を維持することを要求する第1擬似データ整合性管理要求モードロック信号とによって、前記第1擬似データ整合性管理要求信号を有効とするかどうかを決定する
ことを特徴とする請求項11に記載の演算処理装置。 - 前記第1擬似データ整合性管理要求手段は、前記CPUのロードストア命令実行時の論理アドレス空間アクセス領域によって、第1擬似データ整合性管理要求信号を有効とするかどうかを決定する
ことを特徴とする請求項11に記載の演算処理装置。 - 前記第1擬似データ整合性管理要求手段は、前記CPUのロードストア命令実行時の物理アドレス空間アクセス領域によって、第1擬似データ整合性管理要求信号を有効とするかどうかを決定する
ことを特徴とする請求項11に記載の演算処理装置。 - 前記第2擬似データ整合性管理要求手段は、前記CPUのロードストア命令実行時の物理アドレス空間アクセス領域によって、第2擬似データ整合性管理要求信号を有効とするかどうかを決定する
ことを特徴とする請求項13に記載の演算処理装置。 - 前記第1擬似データ整合性管理要求手段は、前記CPUのロードストア命令実行時の論理アドレス空間アクセス領域によって、第1擬似データ整合性管理要求信号を有効とするかどうかを決定し、
前記第2擬似データ整合性管理要求手段は、前記CPUのロードストア命令実行時の物理アドレス空間アクセス領域によって、第2擬似データ整合性管理要求信号を有効とするかどうかを決定する
ことを特徴とする請求項13に記載の演算処理装置。 - 前記第1擬似データ整合性管理要求手段は、前記CPUのロードストア命令実行時の物理アドレス空間アクセス領域によって、第1擬似データ整合性管理要求信号を有効とするかどうかを決定し、
前記第2擬似データ整合性管理要求手段は、前記CPUのロードストア命令実行時の物理アドレス空間アクセス領域によって、第2擬似データ整合性管理要求信号を有効とするかどうかを決定する
ことを特徴とする請求項13に記載の演算処理装置。 - 前記第1擬似データ整合性管理要求手段は、
前記CPUのロードストア命令実行時の論理アドレス空間アクセスアドレスに対して、擬似データ整合性管理要求信号を有効にしたい論理アドレス空間を記憶する第1擬似データ整合性管理要求アドレス記憶手段と、
前記第1擬似データ整合性管理要求アドレス記憶手段の設定領域をマスクする第1擬似データ整合性管理要求アドレスマスク記憶手段とを有し、
前記論理アドレス空間アクセスアドレスと前記第1擬似データ整合性管理要求アドレスマスク記憶手段の論理積と、前記第1擬似データ整合性管理要求アドレス記憶手段と前記第1擬似データ整合性管理要求アドレスマスク記憶手段の論理積とが一致する場合に、第1擬似データ整合性管理要求信号を有効とする
ことを特徴とする請求項11に記載の演算処理装置。 - 前記第1擬似データ整合性管理要求手段は、前記CPUのロードストア命令実行時の物理アドレス空間アクセスアドレスに対して、擬似データ整合性管理要求信号を有効にしたい物理アドレス空間を記憶する第1擬似データ整合性管理要求アドレス記憶手段と、前記第1擬似データ整合性管理要求アドレス記憶手段の設定領域をマスクする第1擬似データ整合性管理要求アドレスマスク記憶手段とを有し、前記物理アドレス空間アクセスアドレスと前記第1擬似データ整合性管理要求アドレスマスク記憶手段の論理積と、前記第1擬似データ整合性管理要求アドレス記憶手段と前記第1擬似データ整合性管理要求アドレスマスク記憶手段の論理積とが一致する場合に、第1擬似データ整合性管理要求信号を有効とする
ことを特徴とする請求項11に記載の演算処理装置。 - 前記第2擬似データ整合性管理要求手段は、前記CPUのロードストア命令実行時の物理アドレス空間アクセスアドレスに対して、擬似データ整合性管理要求信号を有効にしたい物理アドレス空間を記憶する第2擬似データ整合性管理要求アドレス記憶手段と、前記第2擬似データ整合性管理要求アドレス記憶手段の設定領域をマスクする第2擬似データ整合性管理要求アドレスマスク記憶手段とを有し、前記物理アドレス空間アクセスアドレスと前記第2擬似データ整合性管理要求アドレスマスク記憶手段の論理積と、前記第2擬似データ整合性管理要求アドレス記憶手段と前記第2擬似データ整合性管理要求アドレスマスク記憶手段の論理積とが一致する場合に、第2擬似データ整合性管理要求信号を有効とする
ことを特徴とする請求項13に記載の演算処理装置。 - 前記第1擬似データ整合性管理要求手段が、前記CPUのロードストア命令実行時の論理アドレス空間アクセスアドレスに対して、第1擬似データ整合性管理要求信号を有効にしたい論理アドレス空間を記憶する第1擬似データ整合性管理要求アドレス記憶手段と、前記第1擬似データ整合性管理要求アドレス記憶手段の設定領域をマスクする第1擬似データ整合性管理要求アドレスマスク記憶手段とを有し、前記論理アドレス空間アクセスアドレスと前記第1擬似データ整合性管理要求アドレスマスク記憶手段の論理積と、前記第1擬似データ整合性管理要求アドレス記憶手段と前記第1擬似データ整合性管理要求アドレスマスク記憶手段の論理積とが一致する場合に、第1擬似データ整合性管理要求信号を有効とし、
前記第2擬似データ整合性管理要求手段は、前記CPUのロードストア命令実行時の物理アドレス空間アクセスアドレスに対して、擬似データ整合性管理要求信号を有効にしたい物理アドレス空間を記憶する第2擬似データ整合性管理要求アドレス記憶手段と、前記第2擬似データ整合性管理要求アドレス記憶手段の設定領域をマスクする第2擬似データ整合性管理要求アドレスマスク記憶手段によって、前記物理アドレス空間アクセスと前記第2擬似データ整合性管理要求アドレスマスク記憶手段の論理積と、前記第2擬似データ整合性管理要求アドレス記憶手段と前記第2擬似データ整合性管理要求アドレスマスク記憶手段の論理積とが一致する場合に、第2擬似データ整合性管理要求信号を有効とする
ことを特徴とする請求項13に記載の演算処理装置。 - 前記第1擬似データ整合性管理要求手段は、前記CPUのロードストア命令実行時の物理アドレス空間アクセスアドレスに対して、擬似データ整合性管理要求信号を有効にしたい物理アドレス空間を記憶する第1擬似データ整合性管理要求アドレス記憶手段と、前記第1擬似データ整合性管理要求アドレス記憶手段の設定領域をマスクする第1擬似データ整合性管理要求アドレスマスク記憶手段とを有し、前記物理アドレス空間アクセスアドレスと前記第1擬似データ整合性管理要求アドレスマスク記憶手段の論理積と、前記第1擬似データ整合性管理要求アドレス記憶手段と前記第1擬似データ整合性管理要求アドレスマスク記憶手段の論理積とが一致する場合に、第1擬似データ整合性管理要求信号を有効とし、
前記第2擬似データ整合性管理要求手段は、前記CPUのロードストア命令実行時の物理アドレス空間アクセスアドレスに対して、擬似データ整合性管理要求信号を有効にしたい物理アドレス空間を記憶する第2擬似データ整合性管理要求アドレス記憶手段と、前記第2擬似データ整合性管理要求アドレス記憶手段の設定領域をマスクする第2擬似データ整合性管理要求アドレスマスク記憶手段によって、前記物理アドレス空間アクセスアドレスと前記第2擬似データ整合性管理要求アドレスマスク記憶手段の論理積と、前記第2擬似データ整合性管理要求アドレス記憶手段と前記第2擬似データ整合性管理要求アドレスマスク記憶手段の論理積とが一致する場合に、第2擬似データ整合性管理要求信号を有効とする
ことを特徴とする請求項13に記載の演算処理装置。 - 前記プロセッサは、論理アドレス空間から物理アドレス空間に変換するページテーブルを記憶したTLBを有し、前記TLBの各エントリには、第1擬似データ整合性管理要求フラグ記憶手段を有しており、前記第1擬似データ整合性管理要求手段が、前記CPUのロードストア命令実行時に、前記TLBによって論理アドレスから物理アドレスを生成される場合、前記TLBの該当エントリに格納された前記第1擬似データ整合性管理要求フラグ記憶手段によって、第1擬似データ整合性管理要求信号を有効にする
ことを特徴とする請求項11または13に記載の演算処理装置。 - 前記プロセッサは、前記擬似データ整合性管理手段によってキャッシュリフィル動作した場合に、前記第1ローカルキャッシュが、前記第2ローカルキャッシュによって読み出されたリフィル対象データを前記第1ローカルキャッシュの前記キャッシュメモリと、前記第2ローカルキャッシュの前記キャッシュメモリの両方に格納する
ことを特徴とする請求項16から請求項29の何れかに記載の演算処理装置。 - 前記プロセッサは、前記擬似データ整合性管理手段によってキャッシュリフィル動作した場合に、前記第1ローカルキャッシュが、前記第2ローカルキャッシュによって読み出されたリフィル対象データを前記第1ローカルキャッシュの前記キャッシュメモリには格納せず、前記第2ローカルキャッシュの前記キャッシュメモリに格納する
ことを特徴とする請求項16から請求項29の何れかに記載の演算処理装置。 - 前記プロセッサは、前記擬似データ整合性管理手段によってキャッシュリフィル動作した場合に、前記擬似データ整合性管理手段によって発行されるリフィル要求回数が、前記データ整合性管理手段によって発行されるリフィル回数と等しい
ことを特徴とする請求項16から請求項29の何れかに記載の演算処理装置。 - 前記プロセッサは、前記擬似データ整合性管理手段によってキャッシュリフィル動作した場合に、前記擬似データ整合性管理手段によって発行されるリフィル要求回数が、前記データ整合性管理手段によって発行されるリフィル回数と異なる
ことを特徴とする請求項16から請求項29の何れかに記載の演算処理装置。 - 前記プロセッサは、前記擬似データ整合性管理手段によってキャッシュリフィル動作した場合に、前記擬似データ整合性管理手段によって発行されるリフィル要求回数を決定する擬似データ整合性管理要求回数記憶手段によって決定される
ことを特徴とする請求項16から請求項29の何れかに記載の演算処理装置。 - 前記プロセッサは、前記擬似データ整合性管理要求回数記憶手段が、前記CPUのロードストア命令のデコード情報によって、前記擬似データ整合性管理手段によって発行されるリフィル要求回数を決定する前記擬似データ整合性管理要求回数記憶手段を有している
ことを特徴とする請求項34に記載の演算処理装置。 - 前記プロセッサは、前記擬似データ整合性管理要求回数記憶手段が、前記CPUのロードストア命令実行時に、そのCPUに該当するプロセッサ状態記憶手段によって、前記擬似データ整合性管理手段によって発行されるリフィル要求回数を決定する前記擬似データ整合性管理要求回数記憶手段を有している
ことを特徴とする請求項34に記載の演算処理装置。 - 前記プロセッサは、前記擬似データ整合性管理要求回数記憶手段が、前記CPUのロードストア命令実行時の、論理アドレス空間アクセス領域によって、前記擬似データ整合性管理手段によって発行されるリフィル要求回数を決定する前記擬似データ整合性管理要求回数記憶手段を有している
ことを特徴とする請求項34に記載の演算処理装置。 - 前記プロセッサは、前記擬似データ整合性管理要求回数記憶手段が、前記CPUのロードストア命令実行時の、物理アドレス空間アクセス領域によって、前記擬似データ整合性管理手段によって発行されるリフィル要求回数を決定する前記擬似データ整合性管理要求回数記憶手段を有している
ことを特徴とする請求項34に記載の演算処理装置。 - 前記プロセッサは、前記擬似データ整合性管理要求回数記憶手段が、前記CPUのロードストア命令実行時の論理アドレス空間に対して、擬似データ整合性管理要求信号を有効にしたい論理アドレス空間を記憶する第1擬似データ整合性管理要求アドレス記憶手段と、前記第1擬似データ整合性管理要求アドレス記憶手段の設定領域をマスクする第1擬似データ整合性管理要求アドレスマスク記憶手段とを有し、前記論理アドレス空間と前記第1擬似データ整合性管理要求アドレスマスク記憶手段の論理積と、前記第1擬似データ整合性管理要求アドレス記憶手段と前記第1擬似データ整合性管理要求アドレスマスク記憶手段の論理積とが一致するかどうかによって、前記擬似データ整合性管理手段によって発行されるリフィル要求回数を決定する前記擬似データ整合性管理要求回数記憶手段を有している
ことを特徴とする請求項34に記載の演算処理装置。 - 前記プロセッサは、前記擬似データ整合性管理要求回数記憶手段が、前記CPUのロードストア命令実行時の物理アドレス空間に対して、擬似データ整合性管理要求信号を有効にしたい物理アドレス空間を記憶する第1擬似データ整合性管理要求アドレス記憶手段と、前記第1擬似データ整合性管理要求アドレス記憶手段の設定領域をマスクする第1擬似データ整合性管理要求アドレスマスク記憶手段とを有し、前記物理アドレス空間と前記第1擬似データ整合性管理要求アドレスマスク記憶手段の論理積と、前記第1擬似データ整合性管理要求アドレス記憶手段と前記第1擬似データ整合性管理要求アドレスマスク記憶手段の論理積とが一致するかどうかによって、前記擬似データ整合性管理手段によって発行されるリフィル要求回数を決定する前記擬似データ整合性管理要求回数記憶手段を有している
ことを特徴とする請求項34に記載の演算処理装置。 - 前記プロセッサは、前記擬似データ整合性管理手段によって、リフィル要求を発行し、前記第2キャッシュメモリにデータを格納することを可能とし、前記第2キャッシュメモリがデータ書き込みで外部メモリとデータ整合性がとれていないダーティーなデータであることを示すダーティービットを持たないキャッシュメモリであった場合、前記第2データ整合性管理手段は、該当メモリを更新し、外部メモリに対して、書き込みを発行する
ことを特徴とする請求項5から請求項16の何れかに記載の演算処理装置。 - 前記プロセッサは、前記擬似データ整合性管理手段によって、リフィル要求を発行し、前記第2キャッシュメモリにデータを格納することを可能とし、前記第2キャッシュメモリがデータ書き込みで外部メモリとデータ整合性がとれていないダーティーなデータであることを示すダーティービットを持たないキャッシュメモリであった場合、前記第2データ整合性管理手段は、該当メモリを無効にし、外部メモリに対して、書き込みを発行する
ことを特徴とする請求項5から請求項16の何れかに記載の演算処理装置。 - 前記プロセッサは、前記擬似データ整合性管理手段によって、リフィル要求を発行し、前記第2キャッシュメモリにデータを格納することを可能とし、前記第2キャッシュメモリがデータ書き込みで外部メモリとデータ整合性がとれていないダーティーなデータであることを示すダーティービットを持たないキャッシュメモリであった場合、前記第2データ整合性管理手段は、該当メモリを無効にするか更新するかを決定する擬似データ整合性管理書き込みモード記憶手段有し、前記擬似データ整合性管理書き込みモード記憶手段によって、該当エントリのキャッシュ状態を変更し、外部メモリに対して、書き込みを発行する
ことを特徴とする請求項5から請求項16の何れかに記載の演算処理装置。 - 複数のプロセッサと共有バスと共有バス制御装置とを有するマルチプロセッサ型の演算処理装置におけるデータ整合性管理方法であって、
前記各プロセッサは、CPUとローカルキャッシュとを有し、各ローカルキャッシュは、キャッシュメモリと、それを制御するキャッシュ制御手段とを有し、各キャッシュ制御手段は、共有バスを介したローカルキャッシュ間のデータ転送を制御することにより、ローカルキャッシュ間のデータ整合性を管理するデータ整合性管理手段を有し、
前記データ整合性管理方法は、
各キャッシュ制御手段が、他のプロセッサからキャッシュミスの発生を通知するローカルキャッシュアクセス信号を監視するステップと、
キャッシュ制御手段のうちの少なくとも1つのキャッシュ制御手段が、前記ローカルキャッシュアクセス信号に対応するデータが、所属するローカルキャッシュに記憶されていない場合であっても、記憶されている旨の擬似情報を前記共有バス制御装置を介して他のプロセッサに通知するステップとを有する
ことを特徴とするデータ整合性管理方法。 - 請求項44に記載のデータ整合性管理方法を、複数のプロセッサと共有バスと共有バス制御装置とを有するマルチプロセッサ型の演算処理装置に実行させる
ことを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004267472A JP4803983B2 (ja) | 2004-09-14 | 2004-09-14 | 演算処理装置 |
US11/223,932 US7539823B2 (en) | 2004-09-14 | 2005-09-13 | Multiprocessing apparatus having reduced cache miss occurrences |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004267472A JP4803983B2 (ja) | 2004-09-14 | 2004-09-14 | 演算処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006085292A JP2006085292A (ja) | 2006-03-30 |
JP4803983B2 true JP4803983B2 (ja) | 2011-10-26 |
Family
ID=36035440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004267472A Expired - Fee Related JP4803983B2 (ja) | 2004-09-14 | 2004-09-14 | 演算処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7539823B2 (ja) |
JP (1) | JP4803983B2 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004057259A1 (de) * | 2004-11-26 | 2006-06-01 | Robert Bosch Gmbh | Manipulationsgeschütztes Mikrocontrollersystem |
JP2007079958A (ja) * | 2005-09-14 | 2007-03-29 | Hitachi Ltd | 記憶制御装置、データ処理方法、及びコンピュータプログラム |
US8379858B2 (en) * | 2005-09-16 | 2013-02-19 | International Business Machines Corporation | Generating key information for mutual access among multiple computers |
US7657710B2 (en) * | 2006-11-17 | 2010-02-02 | Sun Microsystems, Inc. | Cache coherence protocol with write-only permission |
US8015375B1 (en) * | 2007-03-30 | 2011-09-06 | Emc Corporation | Methods, systems, and computer program products for parallel processing and saving tracking information for multiple write requests in a data replication environment including multiple storage devices |
US8068588B2 (en) * | 2007-06-26 | 2011-11-29 | Microsoft Corporation | Unified rules for voice and messaging |
US9207990B2 (en) * | 2007-09-28 | 2015-12-08 | Hewlett-Packard Development Company, L.P. | Method and system for migrating critical resources within computer systems |
JP5453872B2 (ja) * | 2009-03-27 | 2014-03-26 | 日本電気株式会社 | ディスクアレイ装置、ディスク制御装置、ディスクアレイ装置における負荷分散方法 |
CN102057359A (zh) * | 2009-04-10 | 2011-05-11 | 松下电器产业株式会社 | 高速缓冲存储器装置、高速缓冲存储器控制方法、程序及集成电路 |
CN103441831B (zh) * | 2013-08-22 | 2016-12-28 | 焦点科技股份有限公司 | 一种双进程间的全双工通信及互保方法和系统 |
US10705961B2 (en) | 2013-09-27 | 2020-07-07 | Intel Corporation | Scalably mechanism to implement an instruction that monitors for writes to an address |
KR101941874B1 (ko) * | 2013-12-23 | 2019-01-25 | 인텔 코포레이션 | 클러스터 와이드-실행 머신에서 메모리 액세스를 위한 명령어 및 로직 |
US9940241B1 (en) * | 2014-07-03 | 2018-04-10 | Sanmina Corporation | Network system with cache offload service for flash storage |
US9817682B2 (en) * | 2015-05-18 | 2017-11-14 | Goodrich Corporation | System architecture for machine vision on moving platforms |
WO2018059655A1 (en) | 2016-09-30 | 2018-04-05 | Intel Corporation | Method and apparatus for smart store operations with conditional ownership requests |
US10866893B2 (en) * | 2018-01-23 | 2020-12-15 | Home Depot Product Authority, Llc | Cache coherency engine |
US11966359B1 (en) | 2018-03-22 | 2024-04-23 | Amazon Technologies, Inc. | Automated tier-based transitioning for data objects |
US10572159B1 (en) | 2018-03-22 | 2020-02-25 | Amazon Technologies, Inc. | Smart data storage tiers for data object transitioning |
US11099871B2 (en) | 2018-07-27 | 2021-08-24 | Vmware, Inc. | Using cache coherent FPGAS to accelerate live migration of virtual machines |
US11126464B2 (en) | 2018-07-27 | 2021-09-21 | Vmware, Inc. | Using cache coherent FPGAS to accelerate remote memory write-back |
US11947458B2 (en) | 2018-07-27 | 2024-04-02 | Vmware, Inc. | Using cache coherent FPGAS to track dirty cache lines |
US11231949B2 (en) | 2018-07-27 | 2022-01-25 | Vmware, Inc. | Using cache coherent FPGAS to accelerate post-copy migration |
US10761984B2 (en) * | 2018-07-27 | 2020-09-01 | Vmware, Inc. | Using cache coherent FPGAS to accelerate remote access |
US20240103761A1 (en) * | 2022-09-23 | 2024-03-28 | Synopsys, Inc. | Buffer circuitry for store to load forwarding |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0738171B2 (ja) | 1987-03-27 | 1995-04-26 | 三菱電機株式会社 | デ−タ処理装置 |
JPH05197622A (ja) | 1992-01-21 | 1993-08-06 | Fujitsu Ltd | キャッシュサブシステム |
JPH06110844A (ja) * | 1992-08-11 | 1994-04-22 | Toshiba Corp | 分散共有メモリ型マルチプロセッサシステム |
JP3139392B2 (ja) * | 1996-10-11 | 2001-02-26 | 日本電気株式会社 | 並列処理システム |
JPH10154100A (ja) | 1996-11-25 | 1998-06-09 | Canon Inc | 情報処理システム及び装置及びその制御方法 |
JP3661614B2 (ja) * | 2001-07-12 | 2005-06-15 | 日本電気株式会社 | キャッシュメモリ制御方法及びマルチプロセッサシステム |
JP3632635B2 (ja) * | 2001-07-18 | 2005-03-23 | 日本電気株式会社 | マルチスレッド実行方法及び並列プロセッサシステム |
US7024532B2 (en) * | 2001-08-09 | 2006-04-04 | Matsushita Electric Industrial Co., Ltd. | File management method, and memory card and terminal apparatus that make use of the method |
US20040030835A1 (en) * | 2002-08-12 | 2004-02-12 | Van De Waerdt Jan-Willem | Efficient cache organization for way-associativity and high refill and copy-back bandwidth |
US20050216684A1 (en) * | 2003-11-21 | 2005-09-29 | Matsushita Electric Industrial Co., Ltd. | Information recording medium, data processing apparatus, and recording region setting method of information recording medium |
-
2004
- 2004-09-14 JP JP2004267472A patent/JP4803983B2/ja not_active Expired - Fee Related
-
2005
- 2005-09-13 US US11/223,932 patent/US7539823B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20060059317A1 (en) | 2006-03-16 |
US7539823B2 (en) | 2009-05-26 |
JP2006085292A (ja) | 2006-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4803983B2 (ja) | 演算処理装置 | |
US6957304B2 (en) | Runahead allocation protection (RAP) | |
US8607024B2 (en) | Virtual address cache memory, processor and multiprocessor | |
US8949572B2 (en) | Effective address cache memory, processor and effective address caching method | |
US8041897B2 (en) | Cache management within a data processing apparatus | |
US7925840B2 (en) | Data processing apparatus and method for managing snoop operations | |
US8806177B2 (en) | Prefetch engine based translation prefetching | |
US7447845B2 (en) | Data processing system, processor and method of data processing in which local memory access requests are serviced by state machines with differing functionality | |
JP5536658B2 (ja) | バッファメモリ装置、メモリシステム及びデータ転送方法 | |
US7434007B2 (en) | Management of cache memories in a data processing apparatus | |
ZA200205198B (en) | A cache line flush instruction and method, apparatus, and system for implementing the same. | |
US20200371970A1 (en) | Multiple-requestor memory access pipeline and arbiter | |
WO2020243053A1 (en) | Multi-level cache security | |
GB2427715A (en) | Managing snoop operations in a multiprocessor system | |
KR100505695B1 (ko) | 동적으로 할당 또는 해제되는 버퍼를 가지는 캐쉬 메모리장치, 이를 구비한 디지털 데이터 처리 시스템 및 그 방법 | |
JP5319049B2 (ja) | キャッシュシステム | |
JP2007156821A (ja) | キャッシュシステム及び共用2次キャッシュ | |
US20090198910A1 (en) | Data processing system, processor and method that support a touch of a partial cache line of data | |
JP2009157612A (ja) | キャッシュメモリシステム及びキャッシュメモリの制御方法 | |
US7353341B2 (en) | System and method for canceling write back operation during simultaneous snoop push or snoop kill operation in write back caches | |
US7328313B2 (en) | Methods to perform cache coherency in multiprocessor system using reserve signals and control bits | |
JPH03163640A (ja) | マルチプロセッサシステムおよびそれに用いるキャッシュメモリ | |
JPH11143774A (ja) | キャッシュ制御機構 | |
JP7311959B2 (ja) | 複数のデータ・タイプのためのデータ・ストレージ | |
JP3735373B2 (ja) | マイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070914 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110215 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110414 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110510 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110705 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110726 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110809 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140819 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |