JPS63311548A - キャッシュメモリ制御回路 - Google Patents
キャッシュメモリ制御回路Info
- Publication number
- JPS63311548A JPS63311548A JP62148218A JP14821887A JPS63311548A JP S63311548 A JPS63311548 A JP S63311548A JP 62148218 A JP62148218 A JP 62148218A JP 14821887 A JP14821887 A JP 14821887A JP S63311548 A JPS63311548 A JP S63311548A
- Authority
- JP
- Japan
- Prior art keywords
- write data
- cache memory
- data
- cache
- register
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔目 次〕
(既要
産業上の利用分野
従来の技術と発明が解決しようとする問題点問題点を解
決するための手段 作用 実施例 発明の効果 〔概要〕 スワップ方式で制御されるキャッシュメモリ装置におい
て、ライトデータを保持するバッファレジスタと、該ラ
イトデータバッファレジスタの内容と主記憶装置(MS
)からのムーブインデータとを選択する回路とを設ける
か、或いは、該ライトデータバッファレジスタの他に、
バイトマークレジスタと、上記ライトデータバッファレ
ジスタと、主記憶装置(MS)からのムーブインデータ
を蓄積したレジスタとを、該バイトマークレジスタの内
容で、バイト単位に選択する回路とを設けて、キャッシ
ュミス時に、ムーブイン登録動作の後に、該ライトデー
タバッファレジスタの内容をキャッシュメモリにライト
するか、該登録動作中にライトデータと、ムーブインデ
ータとを、バイトマークの内容に基づいて、バイト単位
で合成した結果をキャッシュメモリにライトするように
したものである。
決するための手段 作用 実施例 発明の効果 〔概要〕 スワップ方式で制御されるキャッシュメモリ装置におい
て、ライトデータを保持するバッファレジスタと、該ラ
イトデータバッファレジスタの内容と主記憶装置(MS
)からのムーブインデータとを選択する回路とを設ける
か、或いは、該ライトデータバッファレジスタの他に、
バイトマークレジスタと、上記ライトデータバッファレ
ジスタと、主記憶装置(MS)からのムーブインデータ
を蓄積したレジスタとを、該バイトマークレジスタの内
容で、バイト単位に選択する回路とを設けて、キャッシ
ュミス時に、ムーブイン登録動作の後に、該ライトデー
タバッファレジスタの内容をキャッシュメモリにライト
するか、該登録動作中にライトデータと、ムーブインデ
ータとを、バイトマークの内容に基づいて、バイト単位
で合成した結果をキャッシュメモリにライトするように
したものである。
本発明は、スワップ方式で制御されるキャッシュメモリ
装置において、キャッシュミス時のライトデータをキャ
ッシュメモリにライトするときの制御方式に関する。
装置において、キャッシュミス時のライトデータをキャ
ッシュメモリにライトするときの制御方式に関する。
従来からデータ処理システムの処理能力を向上させる手
段と1つとして、キャッシュメモリ方式%式% これは命令処理装置が実行するプログラムのアドレス分
布の局所性に基づいて、該局所性が見られるアドレスの
範囲を1ブロツクとして、主記憶装置(MS)から該ブ
ロック単位のコピーを、主記憶装置(MS)に比較して
記憶容量は小さいが高速のキャッシュメモリに保持して
おき、命令処理装置からのメモリ要求に対して、該キャ
ッシュメモリに該当データが存在する場合には、該キャ
ッシュメモリが応答することで、主記憶装置(MS)に
対する見掛は上のアクセスタイムを短縮させることで、
当該データ処理システムの処理能力を向上させるもので
ある。
段と1つとして、キャッシュメモリ方式%式% これは命令処理装置が実行するプログラムのアドレス分
布の局所性に基づいて、該局所性が見られるアドレスの
範囲を1ブロツクとして、主記憶装置(MS)から該ブ
ロック単位のコピーを、主記憶装置(MS)に比較して
記憶容量は小さいが高速のキャッシュメモリに保持して
おき、命令処理装置からのメモリ要求に対して、該キャ
ッシュメモリに該当データが存在する場合には、該キャ
ッシュメモリが応答することで、主記憶装置(MS)に
対する見掛は上のアクセスタイムを短縮させることで、
当該データ処理システムの処理能力を向上させるもので
ある。
然して、該キャッシュメモリに、アクセスするデータを
含むブロックが存在しないとき、主記憶装置(MS)か
ら当コ亥フ゛ロックをキャッシュメモリにムーブインす
る必要があり、その間命令処理装置は処理待ちの状態と
なる為、該キャッシュミスに起因する処理能力の低下が
無視できないのが現状であり、該キャッシュミス時の処
理能力の低下を少なくするキャッシュメモリ制御方式が
必要とされる。
含むブロックが存在しないとき、主記憶装置(MS)か
ら当コ亥フ゛ロックをキャッシュメモリにムーブインす
る必要があり、その間命令処理装置は処理待ちの状態と
なる為、該キャッシュミスに起因する処理能力の低下が
無視できないのが現状であり、該キャッシュミス時の処
理能力の低下を少なくするキャッシュメモリ制御方式が
必要とされる。
〔従来の技術と発明が解決しようとする問題点〕第5図
は、従来のキャッシュメモリ制御方式を説明する図であ
る。
は、従来のキャッシュメモリ制御方式を説明する図であ
る。
本図においては、説明の便宜上、ムーブインを行う為の
データ線を主体にして表しである。
データ線を主体にして表しである。
キャッシュメモリ制御方式の1つとして、スワップ方式
がある。
がある。
該スワップ方式においては、
(1) リード時において、命令処理装置1の要求す
るデータブロックが、該キャッシュメモリ 2゜にあれ
ば、即キャッシュメモリ2oがらリードするが、キャッ
シュミスを起こした時には、主記憶装置(MS) 3か
ら該当ブロックを空きブロックにムーブインした後、該
当ブロックをリードする。
るデータブロックが、該キャッシュメモリ 2゜にあれ
ば、即キャッシュメモリ2oがらリードするが、キャッ
シュミスを起こした時には、主記憶装置(MS) 3か
ら該当ブロックを空きブロックにムーブインした後、該
当ブロックをリードする。
(2) ライト時においては、命令処理装置1の要求
するデータブロックが、該キャッシュメモリ20にあれ
ば、ライト可能かどうか(例えば、マルチプロセッサシ
ステムでは、他のプロセッサが富亥当ブロックを書き替
えいる場合があり、この場合にはライト不可能となる)
みて、可能であれば、そのブロックにライトするが、不
可能であれば、ライト権を獲得する為に、他のプロセッ
サのキャッシュメモリに該当ブロックに対する無効化を
通知した後にライトする。
するデータブロックが、該キャッシュメモリ20にあれ
ば、ライト可能かどうか(例えば、マルチプロセッサシ
ステムでは、他のプロセッサが富亥当ブロックを書き替
えいる場合があり、この場合にはライト不可能となる)
みて、可能であれば、そのブロックにライトするが、不
可能であれば、ライト権を獲得する為に、他のプロセッ
サのキャッシュメモリに該当ブロックに対する無効化を
通知した後にライトする。
然し、キャッシュミスを起こした時には、主記憶装置(
MS) 3から該当ブロックを空きブロックにムーブイ
ンしてそこにライトする。
MS) 3から該当ブロックを空きブロックにムーブイ
ンしてそこにライトする。
上記リード、ライト時のキャッシュミス時のムーブイン
動作において、キャッシュメモリに空きブロックが存在
しない時には、公知のLRII機構によって追い出しブ
ロックを検索し、該当ブロックの内容が主記憶装置(M
S) 3の該当ブロックと不一致であれば、該ブロック
を主記憶装置(MS) 3にムーブアウトし、そこにム
ーブインするが、一致しているときには上書きの形でム
ーブインする。
動作において、キャッシュメモリに空きブロックが存在
しない時には、公知のLRII機構によって追い出しブ
ロックを検索し、該当ブロックの内容が主記憶装置(M
S) 3の該当ブロックと不一致であれば、該ブロック
を主記憶装置(MS) 3にムーブアウトし、そこにム
ーブインするが、一致しているときには上書きの形でム
ーブインする。
このようなスワップ方式のキャッシュメモリ20に対し
て命令処理装置1がストアアクセスを実行しようとして
、キャッシュミスが発生した場合、該命令処理装置1は
、ストアデータを保持した侭、上記ムーブイン動作によ
って、主記憶装置(MS) 3からのムーブインデータ
がキャッシュメモリ20上に登録されるのを待ち、該登
録動作が完了してから、=亥キャッシュメモリ 20に
対してストア(具体的には、バイトマークの内容に従っ
て、該バイトマークが1゛のバイトに対してのみストア
)していた。
て命令処理装置1がストアアクセスを実行しようとして
、キャッシュミスが発生した場合、該命令処理装置1は
、ストアデータを保持した侭、上記ムーブイン動作によ
って、主記憶装置(MS) 3からのムーブインデータ
がキャッシュメモリ20上に登録されるのを待ち、該登
録動作が完了してから、=亥キャッシュメモリ 20に
対してストア(具体的には、バイトマークの内容に従っ
て、該バイトマークが1゛のバイトに対してのみストア
)していた。
一般に、データ処理におけるストアアクセスは、例えば
、数命令に1回程度の頻度で発生ずる為、該ストアアク
セス時のキャッシュミスによる性能の低下は過大なもの
があると云う問題があった。
、数命令に1回程度の頻度で発生ずる為、該ストアアク
セス時のキャッシュミスによる性能の低下は過大なもの
があると云う問題があった。
本発明は上記従来の欠点に鑑み、スワップ方式で制御さ
れるキャッシュメモリを備えたデータ処理システムにお
いて、ストアアクセス時のキャッシュミスによる性能の
低下を軽減する方法を提供することを目的とするもので
ある。
れるキャッシュメモリを備えたデータ処理システムにお
いて、ストアアクセス時のキャッシュミスによる性能の
低下を軽減する方法を提供することを目的とするもので
ある。
第1図は本発明のキャッシュメモリ制御方式の構成例を
示した図である。
示した図である。
本発明においては、
(1)スワップ方式で制御されるキャッシュメモリ装置
において、 ライトデータを保持するバッファレジスタ21と。
において、 ライトデータを保持するバッファレジスタ21と。
該ライトデータバッファレジスタ21と、主記憶装置(
MS) 3からのデータとを選択するライトデータ選択
回路22と、 該ライトデータ選択回路22の出力をキャッシュメモリ
20にライトするデータバス22aとを備え、 上記ライトデータを上記ライトデータバッファレジスタ
21に保持し、キャッシュミスに応答したキャッシュ登
録動作の後に、上記ライトデータバッファレジスタ21
の内容をキャッシュメモリ20にライトするように構成
する。
MS) 3からのデータとを選択するライトデータ選択
回路22と、 該ライトデータ選択回路22の出力をキャッシュメモリ
20にライトするデータバス22aとを備え、 上記ライトデータを上記ライトデータバッファレジスタ
21に保持し、キャッシュミスに応答したキャッシュ登
録動作の後に、上記ライトデータバッファレジスタ21
の内容をキャッシュメモリ20にライトするように構成
する。
(2)上記キャッシュミス時に、ライトデータバッファ
レジスタ21の内容をキャッシュメモリ20にライトす
るのに、 該ライトデータを保持するライトデータバッファレジス
タ21の他に、 主記憶装置(MS) 3からの転送データを保持するム
ーブインデータレジスタ24と、 該ライトデータの有効/無効をバイト単位に示すバイト
マークを保持するバイトマークレジスタ23 と、 該バイトマークレジスタ23の内容に呼応して、上記ラ
イトデータバッファレジスタ21 と、ムーブインデー
タレジスタ24の内容を、バイト単位に選択する回路2
2゛と、 該バイト選択回路22゛の出力をキャッシュメモリ 2
0にライトするデータバス22aとを備え、ライトデー
タを上記ライトデータバッファレジスタ21に、又、バ
イトマークをバイトマークレジスタ23に保持し、 キャッシュミスに応答したキャッシュ登録動作中に、上
記レジスタ21と、レジスタ24の内容を上記選択回路
22゛でバイト単位に選択1合成してキャッシュメモリ
20にライトするように構成する。
レジスタ21の内容をキャッシュメモリ20にライトす
るのに、 該ライトデータを保持するライトデータバッファレジス
タ21の他に、 主記憶装置(MS) 3からの転送データを保持するム
ーブインデータレジスタ24と、 該ライトデータの有効/無効をバイト単位に示すバイト
マークを保持するバイトマークレジスタ23 と、 該バイトマークレジスタ23の内容に呼応して、上記ラ
イトデータバッファレジスタ21 と、ムーブインデー
タレジスタ24の内容を、バイト単位に選択する回路2
2゛と、 該バイト選択回路22゛の出力をキャッシュメモリ 2
0にライトするデータバス22aとを備え、ライトデー
タを上記ライトデータバッファレジスタ21に、又、バ
イトマークをバイトマークレジスタ23に保持し、 キャッシュミスに応答したキャッシュ登録動作中に、上
記レジスタ21と、レジスタ24の内容を上記選択回路
22゛でバイト単位に選択1合成してキャッシュメモリ
20にライトするように構成する。
即ち、本発明によれば、スワップ方式で制御されるキャ
ッシュメモリ装置において、ライトデータを保持するバ
ッファレジスタと、該ライトデータバッファレジスタの
内容と主記憶装f (MS)からのムーブインデータと
を選択する回路とを設けるか、或いは、該ライトデータ
バッファレジスタの他に、バイトマークレジスタと、上
記ライトデータバッファレジスタと、主記憶装置(MS
)からのムーブインデータを蓄積したレジスタとを、該
バイトマークレジスタの内容で、バイト単位に選択する
回路とを設けて、ストアアクセスでのキャッシュミス時
に、ムーブイン登録動作の後に、該ライトデータバッフ
ァレジスタの内容をキャッシュメモリにライトするか、
該登録動作中にライトデータと、ムーブインデ〜りとを
、バイトマークの内容に基づいて、バイト単位で合成し
た結果をキャッシュメモリにライトするようにしたもの
であるので、命令処理装置は、キャッシュミスが発生し
ても、ライトデータをキャッシュメモリ装置内のライト
データバッファレジスタにセットすることで、該ストア
アクセスを完了させる、所謂突き放し制御ができ、デー
タ処理システムの性能を大幅に向上させることができる
効果がある。
ッシュメモリ装置において、ライトデータを保持するバ
ッファレジスタと、該ライトデータバッファレジスタの
内容と主記憶装f (MS)からのムーブインデータと
を選択する回路とを設けるか、或いは、該ライトデータ
バッファレジスタの他に、バイトマークレジスタと、上
記ライトデータバッファレジスタと、主記憶装置(MS
)からのムーブインデータを蓄積したレジスタとを、該
バイトマークレジスタの内容で、バイト単位に選択する
回路とを設けて、ストアアクセスでのキャッシュミス時
に、ムーブイン登録動作の後に、該ライトデータバッフ
ァレジスタの内容をキャッシュメモリにライトするか、
該登録動作中にライトデータと、ムーブインデ〜りとを
、バイトマークの内容に基づいて、バイト単位で合成し
た結果をキャッシュメモリにライトするようにしたもの
であるので、命令処理装置は、キャッシュミスが発生し
ても、ライトデータをキャッシュメモリ装置内のライト
データバッファレジスタにセットすることで、該ストア
アクセスを完了させる、所謂突き放し制御ができ、デー
タ処理システムの性能を大幅に向上させることができる
効果がある。
以下本発明の実施例を図面によって詳述する。
前述の第1図が本発明のキャッシュメモリ制御方式の構
成例を示した図であり、(a)はムーブイン登録後にラ
イトデータをキャッシュメモリにストアする場合を示し
、(b)はムーブイン登録中にライトデータとムーブイ
ンデータとを合成して、該合成データをキャッシュメモ
リにストアする場合を示しており、第2図はデータ処理
システムの全体構成の例を示した図であり、第3図は本
発明を実施例をタイムチャートで示した図であり、それ
ぞれの(a) 、 (b)は、第1図の(a) 、 (
b)に対応しており、第4図はライトデータの合成回路
の一実施例を示した図であって、第1図のライトデータ
バッファレジスタ21.ムーブインレジスタ24.ライ
トデータ選択回路22.又はバイト選択回路22゛。
成例を示した図であり、(a)はムーブイン登録後にラ
イトデータをキャッシュメモリにストアする場合を示し
、(b)はムーブイン登録中にライトデータとムーブイ
ンデータとを合成して、該合成データをキャッシュメモ
リにストアする場合を示しており、第2図はデータ処理
システムの全体構成の例を示した図であり、第3図は本
発明を実施例をタイムチャートで示した図であり、それ
ぞれの(a) 、 (b)は、第1図の(a) 、 (
b)に対応しており、第4図はライトデータの合成回路
の一実施例を示した図であって、第1図のライトデータ
バッファレジスタ21.ムーブインレジスタ24.ライ
トデータ選択回路22.又はバイト選択回路22゛。
バイトマークレジスタ23が、本発明を実施するのに必
要な手段でをある。尚、全図を通して、同じ符号は同じ
対象物を示している。
要な手段でをある。尚、全図を通して、同じ符号は同じ
対象物を示している。
以下、第1図〜第4図によって、本発明の、突き放し方
式によるキャッシュメモリ制御方式を説明する。
式によるキャッシュメモリ制御方式を説明する。
先ず、第1図〜第3図の(a)によって、上記突き放し
方式によるキャッシュメモリ制御の基本動作を説明する
。
方式によるキャッシュメモリ制御の基本動作を説明する
。
第2図(a)において、命令処理装置1がメモリストア
を行う場合、キャッシュ要求信号を“オンゝにして、同
時にアドレス線(1)にメモリアドレスを出力し、デー
タ線(1)にライトデータを出力すると共に、バイトマ
ーク線にバイトマークを出力する。
を行う場合、キャッシュ要求信号を“オンゝにして、同
時にアドレス線(1)にメモリアドレスを出力し、デー
タ線(1)にライトデータを出力すると共に、バイトマ
ーク線にバイトマークを出力する。
キャッシュ制御装置2は、上記メモリアドレスを受は取
ると、図示されていないタグメモリを検索し、キャッシ
ュメモリ20にアクセス対象のデータブロックが登録さ
れているか否かを調べる。
ると、図示されていないタグメモリを検索し、キャッシ
ュメモリ20にアクセス対象のデータブロックが登録さ
れているか否かを調べる。
その結果、該データブロックが登録されている場合(キ
ャツシュヒツト)、該キャッシュメモリ20にキャッジ
エアドレスを出力し、ライトイネーブルを°オン°にし
て、上記データ線(1)に出力されているライトデータ
を、バイトマーク線のバイトマークに基づいて、バイト
単位でストアする。
ャツシュヒツト)、該キャッシュメモリ20にキャッジ
エアドレスを出力し、ライトイネーブルを°オン°にし
て、上記データ線(1)に出力されているライトデータ
を、バイトマーク線のバイトマークに基づいて、バイト
単位でストアする。
若し、該キャッシュメモリ20に、該データブロックが
登録されていない場合(キャッシュミス)、主記憶装置
(MS) 3にメモリ要求信号と、アドレス線(2)に
主記憶アドレスを出力し、データ線(1)に出力されて
いるライトデータを、第1図(a)に示しであるライト
データバッファレジスタ21にセットして、該命令処理
装置1は該ストアアクセスを完了し、次の命令の処理に
移る、所謂「突き放し方式」をとる。以後、キャッシュ
制御装置2において、以下の動作を自律的に行う。
登録されていない場合(キャッシュミス)、主記憶装置
(MS) 3にメモリ要求信号と、アドレス線(2)に
主記憶アドレスを出力し、データ線(1)に出力されて
いるライトデータを、第1図(a)に示しであるライト
データバッファレジスタ21にセットして、該命令処理
装置1は該ストアアクセスを完了し、次の命令の処理に
移る、所謂「突き放し方式」をとる。以後、キャッシュ
制御装置2において、以下の動作を自律的に行う。
即ち、主記憶装置(MS) 3より、上記要求したデー
タブロックが、該主記憶装置(MS) 3のアクセスタ
イム後において、データ線(2)に出力され、ムージイ
ンデータレジスタ2牙にセットされる。
タブロックが、該主記憶装置(MS) 3のアクセスタ
イム後において、データ線(2)に出力され、ムージイ
ンデータレジスタ2牙にセットされる。
次に、ライトデータ選択回路22は、該ムーブインデー
タレジスタ2ざを選択し、上記要求データブロックがデ
ータ線(1)に出力され、キャッシュメモリ 20にラ
イトされる。
タレジスタ2ざを選択し、上記要求データブロックがデ
ータ線(1)に出力され、キャッシュメモリ 20にラ
イトされる。
該主記憶装置(MS) 3からのデータ転送が終了した
後においては、上記ライトデータ選択回路22は、ライ
トデータバッファレジスタ21を選択し、ライトデータ
がデータ線(1)に出力され、キャッシュメモリ20に
、上記バイトマーク情報に基づいて、バイト単位で上書
きされる。
後においては、上記ライトデータ選択回路22は、ライ
トデータバッファレジスタ21を選択し、ライトデータ
がデータ線(1)に出力され、キャッシュメモリ20に
、上記バイトマーク情報に基づいて、バイト単位で上書
きされる。
上記の動作をタイムチャートで示したものが、第3図(
a)である。
a)である。
サイクル1において、命令処理装置1からキャッシュ要
求信号と、アドレス線(1)にメモリアドレスが、デー
タ線(1)にライトデータが出力され、該ライトデータ
はライトデータバッファレジスタ21にセットされる。
求信号と、アドレス線(1)にメモリアドレスが、デー
タ線(1)にライトデータが出力され、該ライトデータ
はライトデータバッファレジスタ21にセットされる。
そして、アクセスタイム後のサイクルn+1と。
サイクルn+2において、主記憶装置(MS) 3から
の要求データが、データバス幅(例えば、8バイト幅)
を単位として送出され、ムーブインデータレジスタ24
にセットされ、サイクルn+2と、サイクルn+3にお
いて、それぞれ、キャッシュメモリ20の該当ブロック
に転送される。
の要求データが、データバス幅(例えば、8バイト幅)
を単位として送出され、ムーブインデータレジスタ24
にセットされ、サイクルn+2と、サイクルn+3にお
いて、それぞれ、キャッシュメモリ20の該当ブロック
に転送される。
尚、一般には、キャッシュメモリ20は数十バイト程度
の固定長ブロックに分割されており、主記憶装置(MS
) 3からのデータ線(2)のバス幅が、前述のように
、8バイトと、上記キャッシュメモリ20のブロック長
より短い場合には、数回に渡ってデータ転送が行われる
。本例においては2回に渡ってデータ転送が行われたこ
とを示している。
の固定長ブロックに分割されており、主記憶装置(MS
) 3からのデータ線(2)のバス幅が、前述のように
、8バイトと、上記キャッシュメモリ20のブロック長
より短い場合には、数回に渡ってデータ転送が行われる
。本例においては2回に渡ってデータ転送が行われたこ
とを示している。
そして、サイクルn+3において、該データ転送が終了
し1次のサイクルn+4で、上記ライトデータバッファ
レジスタ21の内容が、上記バイトマーりの情報に基づ
いて、バイト単位でキャッシュメモリ 20の該当域に
ライトされる。
し1次のサイクルn+4で、上記ライトデータバッファ
レジスタ21の内容が、上記バイトマーりの情報に基づ
いて、バイト単位でキャッシュメモリ 20の該当域に
ライトされる。
上記ストアの°突き放し方式゛では、前述のように、命
令処理装置1はライトデータをライトデータバッファレ
ジスタ21にセットした時点で解放される為、キャッシ
ュミス時のムーブイン動作に伴う性能の低下を回避する
ことができるが、主記憶装置(MS) 3から要求デー
タをムーブインして、キャッシュメモリ20に登録し、
又、ライトデータバッファレジスタの内容をキャッシュ
メモリ20にライトするとき、キャッシュメモリ20へ
のデータ線(1)を使用する為、命令処理装置の状態に
よっては、該データ線(1)を取り合う競合状態を発生
することがある。
令処理装置1はライトデータをライトデータバッファレ
ジスタ21にセットした時点で解放される為、キャッシ
ュミス時のムーブイン動作に伴う性能の低下を回避する
ことができるが、主記憶装置(MS) 3から要求デー
タをムーブインして、キャッシュメモリ20に登録し、
又、ライトデータバッファレジスタの内容をキャッシュ
メモリ20にライトするとき、キャッシュメモリ20へ
のデータ線(1)を使用する為、命令処理装置の状態に
よっては、該データ線(1)を取り合う競合状態を発生
することがある。
一般には、該データ線(1)に対する優先権は、キャッ
シュ制御装置2の方が高く、競合状態となった場合、命
令処理装置1は待ち状態となり、性能の低下の原因とな
る。
シュ制御装置2の方が高く、競合状態となった場合、命
令処理装置1は待ち状態となり、性能の低下の原因とな
る。
第1図〜第3図(a)で説明した「突き放し方式」では
、主記憶装置(MS) 3からのムーブインデータをキ
ャッシュメモリ20に登録した後、ライトデータを該キ
ャッシュメモリ20にライトしているが、結果として、
該ムーブインデータ中の一部のデータは、該ライトデー
タによって上書きされるデータであることに着目し、上
記ムーブインデータの上書きされないバイトと、ライト
データとを合成して、同時にキャッシュメモリ20にラ
イトすることによって、前述のムーブイン後のライトデ
ータをライトしていたサイクルを省略することができる
。
、主記憶装置(MS) 3からのムーブインデータをキ
ャッシュメモリ20に登録した後、ライトデータを該キ
ャッシュメモリ20にライトしているが、結果として、
該ムーブインデータ中の一部のデータは、該ライトデー
タによって上書きされるデータであることに着目し、上
記ムーブインデータの上書きされないバイトと、ライト
データとを合成して、同時にキャッシュメモリ20にラ
イトすることによって、前述のムーブイン後のライトデ
ータをライトしていたサイクルを省略することができる
。
第1図〜第3図(b)は、上記「突き放し方式」を上記
主旨に基づいて改良したものである。以下、該第1図〜
第3図(b)、及び、第4図によって、該改良されたキ
ャッシュメモリ制御方式を説明する。
主旨に基づいて改良したものである。以下、該第1図〜
第3図(b)、及び、第4図によって、該改良されたキ
ャッシュメモリ制御方式を説明する。
一般に、キャッシュメモリは、高速動作を行わせる為に
、一度に数バイト (例えば、8バイト)程度の単位で
リード/ライトすることができる。
、一度に数バイト (例えば、8バイト)程度の単位で
リード/ライトすることができる。
一方、命令処理装置lはバイト単位に処理を行う為、キ
ャッシュメモリ20ヘライトデータを転送する場合、該
ライトデータと合わせて、バイトマークと呼ばれる制御
情報を出力し、キャッシュメモリ20は、ライトデータ
のバイトマークで示されるバイトのみをライトする構成
となっている。
ャッシュメモリ20ヘライトデータを転送する場合、該
ライトデータと合わせて、バイトマークと呼ばれる制御
情報を出力し、キャッシュメモリ20は、ライトデータ
のバイトマークで示されるバイトのみをライトする構成
となっている。
又、1亥キヤツシユメモリ20へのムーブインデータは
、前述のように、32バイト/64バイト等を1ブロツ
クとするブロックの単位で構成されているが、上記ライ
ト動作は、上記1ブロツクの内の、例えば、8バイトに
対して行われる。
、前述のように、32バイト/64バイト等を1ブロツ
クとするブロックの単位で構成されているが、上記ライ
ト動作は、上記1ブロツクの内の、例えば、8バイトに
対して行われる。
そして、通常、ライトアドレスに対応して、該ライトす
べき語(8バイト)が先頭にくるように編集されてムー
ブインデータが構成される場合と、主記憶装置(MS)
によっては、上記ブロックの境界の先頭の8バイトから
順次ムーブインされる場合とがある。
べき語(8バイト)が先頭にくるように編集されてムー
ブインデータが構成される場合と、主記憶装置(MS)
によっては、上記ブロックの境界の先頭の8バイトから
順次ムーブインされる場合とがある。
このようなキャッシュメモリに対して、第1図〜第3図
(b)によって、上記突き放し方式による改良されたキ
ャッシュメモリ制御の動作を、以下に説明する。
(b)によって、上記突き放し方式による改良されたキ
ャッシュメモリ制御の動作を、以下に説明する。
第2図(b)において、命令処理装置!!1がメモリス
トアを行う場合、キャッシュ要求信号を °オン゛にし
て、同時にアドレス線(1)にメモリアドレスを出力し
、データ線(1)にライトデータを出力し、バイトマー
ク線にバイトマークを出力する。
トアを行う場合、キャッシュ要求信号を °オン゛にし
て、同時にアドレス線(1)にメモリアドレスを出力し
、データ線(1)にライトデータを出力し、バイトマー
ク線にバイトマークを出力する。
キャッシュ制御装置2は該メモリアドレスを受は取ると
、図示されていないタグメモリと呼ばれる記憶回路を検
索し、キャッシュメモリ20上にデータが登録されてい
るか否かを調べる。
、図示されていないタグメモリと呼ばれる記憶回路を検
索し、キャッシュメモリ20上にデータが登録されてい
るか否かを調べる。
その結果、データが登録されている場合には、キャッシ
ュメモリ20にキャッシュアドレスを出力し、ライトイ
ネーブルを ゛オン゛にして、データ線lに出力されて
いるデータを、上記バイトマークに従って、バイト単位
でライトする。
ュメモリ20にキャッシュアドレスを出力し、ライトイ
ネーブルを ゛オン゛にして、データ線lに出力されて
いるデータを、上記バイトマークに従って、バイト単位
でライトする。
又、キャッシュメモリ20にデータが登録されていない
場合(即ち、キャッシュミス時)には、主記憶装置(M
S) 3にメモリ要求信号と、アドレス線(2)から主
記憶アドレスを出力し、データ線(1)に出力されてい
るライトデ〜りを、第1図(b)に示されているライト
データバッファレジスタ21にセットし、バイトマーク
線のバイトマークをバイトマークレジスタ23にセット
する。
場合(即ち、キャッシュミス時)には、主記憶装置(M
S) 3にメモリ要求信号と、アドレス線(2)から主
記憶アドレスを出力し、データ線(1)に出力されてい
るライトデ〜りを、第1図(b)に示されているライト
データバッファレジスタ21にセットし、バイトマーク
線のバイトマークをバイトマークレジスタ23にセット
する。
その後、主記憶装置(MS) 3よりムーブインデータ
が、データ線(2)に出力されムーブインデータレジス
タ24にセットされる。
が、データ線(2)に出力されムーブインデータレジス
タ24にセットされる。
次に、第4図にその実施例を示したバイト選択回路22
′は、バイトマークレジスタ23の値に従って、ライト
データバッファレジスタ、21と。
′は、バイトマークレジスタ23の値に従って、ライト
データバッファレジスタ、21と。
ムーブインデータレジスタ24の何れかをバイト単位に
選択(例えば、バイトマークが°1°であればライトデ
ータバッファレジスタ21を選択し、バイトマークが°
0゛であれば、ムーブインデータレジスタ24を選択す
る)して、合成されたライトデータ (8バイト)を、
データバス22aを介してデータ線(1)に出力し、キ
ャッシュメモリ20にライトする。
選択(例えば、バイトマークが°1°であればライトデ
ータバッファレジスタ21を選択し、バイトマークが°
0゛であれば、ムーブインデータレジスタ24を選択す
る)して、合成されたライトデータ (8バイト)を、
データバス22aを介してデータ線(1)に出力し、キ
ャッシュメモリ20にライトする。
第3図(b)は、キャッシュメモリ20にデータが登録
されていない場合で、且つムーブインデータの先頭に、
該ライトアドレスに対応するデータが取り出されている
場合のタイムチャートである。
されていない場合で、且つムーブインデータの先頭に、
該ライトアドレスに対応するデータが取り出されている
場合のタイムチャートである。
本図において、サイクル1において、命令処理装置1よ
りキャッシュ要求信号と、ライトアドレスと、ライトデ
ータと、バイトマークが出力され、ライトデータはライ
トデータバッファレジスタ21にセットされる。
りキャッシュ要求信号と、ライトアドレスと、ライトデ
ータと、バイトマークが出力され、ライトデータはライ
トデータバッファレジスタ21にセットされる。
そして、サイクルn+1において、主記憶装置!(1’
IS) 3からムーブインデータが送られ、ムーブイン
データレジスタ24にセットされ、サイクルn+2にお
いて、ライトデータバッファレジスタ21の内容と、ム
ーブインデータレジスタ24の内容とがバイトマークレ
ジスタ23の値に従って、バイト選択回路22゛におい
て、バイト単位で合成され、キャッシュメモリ20にラ
イトされる。
IS) 3からムーブインデータが送られ、ムーブイン
データレジスタ24にセットされ、サイクルn+2にお
いて、ライトデータバッファレジスタ21の内容と、ム
ーブインデータレジスタ24の内容とがバイトマークレ
ジスタ23の値に従って、バイト選択回路22゛におい
て、バイト単位で合成され、キャッシュメモリ20にラ
イトされる。
上記ムーブインデータの残りが、サイクルn+2におい
て、ムーブインデータレジスタ24にセットされ、サイ
クルn+3において、キャッシュメモリ 20にライト
される。
て、ムーブインデータレジスタ24にセットされ、サイ
クルn+3において、キャッシュメモリ 20にライト
される。
前述のように、ムーブインデータが主記憶装置(MS)
3に送出されるライトアドレスに関わらず、該ライト
アドレスを含むブロックの境界の先頭語(8バイト)か
ら順に送られてくる場合には、該ライトアドレスの下位
ビットを用いて、該ムーブインデータの合成対象の語(
8バイト)を選択し、該選択された語(8バイト)に、
バイトマークのかの何れかを選択してライトデータを合
成するように機能させる必要がある。
3に送出されるライトアドレスに関わらず、該ライト
アドレスを含むブロックの境界の先頭語(8バイト)か
ら順に送られてくる場合には、該ライトアドレスの下位
ビットを用いて、該ムーブインデータの合成対象の語(
8バイト)を選択し、該選択された語(8バイト)に、
バイトマークのかの何れかを選択してライトデータを合
成するように機能させる必要がある。
このように、本発明は、スワップ方式で制御されるキャ
ッシュメモリ装置において、キャッシュ制御装置内に、
ライトデータを保持するライトデータバッファレジスタ
を設け、命令処理装置はメモリストアの時のキャッシュ
ミスの時には、該ライトデータバッファレジスタにライ
トデータをセットして、該ライトアクセスの完了と見做
し、次の処理に移る、所謂「突き放し方式」とし、以降
はキャッシュ制御装置内で、自律的に主記憶装置(MS
)にメモリ要求を送出し、該主記憶装置(MS)から送
られてくるムーブインデータをキャッシュメモリに登録
した後、ライトデータをライトするか、或いは、該登録
動作中に、ムーブインデータとライトデータとを合成し
てキャッシュメモリにライトするようにした所に特徴が
ある。
ッシュメモリ装置において、キャッシュ制御装置内に、
ライトデータを保持するライトデータバッファレジスタ
を設け、命令処理装置はメモリストアの時のキャッシュ
ミスの時には、該ライトデータバッファレジスタにライ
トデータをセットして、該ライトアクセスの完了と見做
し、次の処理に移る、所謂「突き放し方式」とし、以降
はキャッシュ制御装置内で、自律的に主記憶装置(MS
)にメモリ要求を送出し、該主記憶装置(MS)から送
られてくるムーブインデータをキャッシュメモリに登録
した後、ライトデータをライトするか、或いは、該登録
動作中に、ムーブインデータとライトデータとを合成し
てキャッシュメモリにライトするようにした所に特徴が
ある。
以上、詳細に説明したように、本発明のキャッシュメモ
リ制御方式は、スワップ方式で制′41■されるキャッ
シュメモリ装置において、ライトデータを保持するバッ
ファレジスタと、該ライトデータバッファレジスタの内
容と主記憶装置(MS)がらのムーブインデータとを選
択する回路とを設けるが、或いは、該ライトデータバッ
ファレジスタの他に、バイトマークレジスタと、上記ラ
イトデータバッファレジスタと、主記憶装置(MS)が
らのムーブインデータを蓄積したレジスタとを、該バイ
トマークレジスタの内容で、バイト単位に選択する回路
とを設けて、ストアアクセスでのキャッシュミス時に、
ムーブイン登録動作の後に、該ライトデータバッファレ
ジスタの内容をキャッシュメモリにライトするか、該登
録動作中にライトデータと。
リ制御方式は、スワップ方式で制′41■されるキャッ
シュメモリ装置において、ライトデータを保持するバッ
ファレジスタと、該ライトデータバッファレジスタの内
容と主記憶装置(MS)がらのムーブインデータとを選
択する回路とを設けるが、或いは、該ライトデータバッ
ファレジスタの他に、バイトマークレジスタと、上記ラ
イトデータバッファレジスタと、主記憶装置(MS)が
らのムーブインデータを蓄積したレジスタとを、該バイ
トマークレジスタの内容で、バイト単位に選択する回路
とを設けて、ストアアクセスでのキャッシュミス時に、
ムーブイン登録動作の後に、該ライトデータバッファレ
ジスタの内容をキャッシュメモリにライトするか、該登
録動作中にライトデータと。
ムーブインデータとを、バイトマークの内容に基づいて
、バイト単位で合成した結果をキャッシュメモリにライ
トするようにしたものであるので、命令処理装置は、キ
ャッシュミスが発生しても、ライトデータをキャッシュ
メモリ装置内のライトデータバッファにセットすること
で、該ストアアクセスを完了させる、所謂突き放し制御
ができるので、データ処理システムの性能を大幅に向上
させることができる効果がある。
、バイト単位で合成した結果をキャッシュメモリにライ
トするようにしたものであるので、命令処理装置は、キ
ャッシュミスが発生しても、ライトデータをキャッシュ
メモリ装置内のライトデータバッファにセットすること
で、該ストアアクセスを完了させる、所謂突き放し制御
ができるので、データ処理システムの性能を大幅に向上
させることができる効果がある。
第1図は本発明のキャッシュメモリ制御方式の構成例を
示した図。 第2図はデータ処理システムの全体構成の例を示した図
。 第3図は本発明を実施例をタイムチャートで示した図。 第4図はライトデータの合成回路の一実施例を示した図
。 第5図は従来のキャッシュメモリ制御方式を説明する図
。 である。 図面において、 1は命令処理装置、 2はキャッシュ制御装置。 20はキャッシュメモリ。 21はライトデータバッファレジスタ。 22はライトデータ選択回路。 22゛ はバイト選択回路。 請はムーブインデータレジスタ。 3は主記憶装置(MS) 。 をそれぞれ示す。 、木、igのヤヤ・ルエくモリh・1奇Vかへのキメ1
成イダ°]ε示、Lt【ト4事1 園 <b) 第2 目 第2区
示した図。 第2図はデータ処理システムの全体構成の例を示した図
。 第3図は本発明を実施例をタイムチャートで示した図。 第4図はライトデータの合成回路の一実施例を示した図
。 第5図は従来のキャッシュメモリ制御方式を説明する図
。 である。 図面において、 1は命令処理装置、 2はキャッシュ制御装置。 20はキャッシュメモリ。 21はライトデータバッファレジスタ。 22はライトデータ選択回路。 22゛ はバイト選択回路。 請はムーブインデータレジスタ。 3は主記憶装置(MS) 。 をそれぞれ示す。 、木、igのヤヤ・ルエくモリh・1奇Vかへのキメ1
成イダ°]ε示、Lt【ト4事1 園 <b) 第2 目 第2区
Claims (2)
- (1)スワップ方式で制御されるキャッシュメモリ装置
において、 ライトデータを保持するバッファレジスタ(21)と、 該ライトデータバッファレジスタ(21)と、主記憶装
置(MS)(3)からのデータとを選択するライトデー
タ選択回路(22)と、 該ライトデータ選択回路(22)の出力をキャッシュメ
モリ(20)にライトするデータバス(22a)とを備
え、 上記ライトデータを上記ライトデータバッファレジスタ
(21)に保持し、キャッシュミスに応答したキャッシ
ュ登録動作の後に、上記ライトデータバッファレジスタ
(21)の内容をキャッシュメモリ(20)にライトす
ることを特徴とするキャッシュメモリ制御方式 - (2)上記キャッシュミス時に、ライトデータバッファ
レジスタ(21)の内容をキャッシュメモリ(20)に
ライトするのに、 該ライトデータを保持するライトデータバッファレジス
タ(21)の他に、 主記憶装置(MS)(3)からの転送データを保持する
ムーブインデータレジスタ(24)と、 該ライトデータの有効/無効をバイト単位に示すバイト
マークを保持するバイトマークレジスタ(23)と、 該バイトマークレジスタ(23)の内容に呼応して、上
記ライトデータバッファレジスタ(21)と、ムーブイ
ンデータレジスタ(24)の内容を、バイト単位に選択
する回路(22′)と、 該バイト選択回路(22′)の出力をキャッシュメモリ
(20)にライトするデータバス(22a)とを備え、
ライトデータを上記ライトデータバッファレジスタ(2
1)に、又、バイトマークをバイトマークレジスタ(2
3)に保持し、 キャッシュミスに応答したキャッシュ登録動作中に、上
記レジスタ(21)と、レジスタ(24)の内容を上記
選択回路(22′)でバイト単位に選択、合成してキャ
ッシュメモリ(20)にライトすることを特徴とする特
許請求の範囲第1項に記載のキャッシュメモリ制御方式
。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62148218A JPH0677240B2 (ja) | 1987-06-15 | 1987-06-15 | キャッシュメモリ制御回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62148218A JPH0677240B2 (ja) | 1987-06-15 | 1987-06-15 | キャッシュメモリ制御回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63311548A true JPS63311548A (ja) | 1988-12-20 |
JPH0677240B2 JPH0677240B2 (ja) | 1994-09-28 |
Family
ID=15447919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62148218A Expired - Fee Related JPH0677240B2 (ja) | 1987-06-15 | 1987-06-15 | キャッシュメモリ制御回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0677240B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327101B2 (en) | 2008-02-01 | 2012-12-04 | International Business Machines Corporation | Cache management during asynchronous memory move operations |
US8356151B2 (en) | 2008-02-01 | 2013-01-15 | International Business Machines Corporation | Reporting of partially performed memory move |
-
1987
- 1987-06-15 JP JP62148218A patent/JPH0677240B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327101B2 (en) | 2008-02-01 | 2012-12-04 | International Business Machines Corporation | Cache management during asynchronous memory move operations |
US8356151B2 (en) | 2008-02-01 | 2013-01-15 | International Business Machines Corporation | Reporting of partially performed memory move |
Also Published As
Publication number | Publication date |
---|---|
JPH0677240B2 (ja) | 1994-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5283886A (en) | Multiprocessor cache system having three states for generating invalidating signals upon write accesses | |
KR100278328B1 (ko) | 캐시 미스 버퍼 | |
CA1124888A (en) | Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability | |
US5095424A (en) | Computer system architecture implementing split instruction and operand cache line-pair-state management | |
JP3259969B2 (ja) | キャッシュメモリ制御装置 | |
EP0167089B1 (en) | Memory access control system and method for an information processing apparatus | |
JPH0319976B2 (ja) | ||
US4648033A (en) | Look-aside buffer LRU marker controller | |
JPS63311548A (ja) | キャッシュメモリ制御回路 | |
US4737908A (en) | Buffer memory control system | |
EP0271187B1 (en) | Split instruction and operand cache management | |
JPH02259945A (ja) | ストア処理方式 | |
JP3260566B2 (ja) | 情報処理システムにおける記憶制御方法および記憶制御装置 | |
JP2703255B2 (ja) | キャッシュメモリ書込み装置 | |
JPH06301600A (ja) | 記憶装置 | |
EP0400851A2 (en) | Efficient cache utilizing a store buffer | |
JPH0526216B2 (ja) | ||
JPH0332820B2 (ja) | ||
JPS6319857Y2 (ja) | ||
JPH04348441A (ja) | キャッシュメモリ制御方式 | |
JPH01279342A (ja) | キャッシュ制御方式 | |
JPH04160543A (ja) | キャッシュ装置 | |
JPS61211752A (ja) | ペ−ジ履歴メモリ装置 | |
JPH04363738A (ja) | キャッシュメモリ装置 | |
JPS62226348A (ja) | 主記憶装置兼主記憶制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |