JPH0748189B2 - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH0748189B2 JPH0748189B2 JP1146036A JP14603689A JPH0748189B2 JP H0748189 B2 JPH0748189 B2 JP H0748189B2 JP 1146036 A JP1146036 A JP 1146036A JP 14603689 A JP14603689 A JP 14603689A JP H0748189 B2 JPH0748189 B2 JP H0748189B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- data processing
- processing unit
- cache
- signal
- 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 - Lifetime
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はキャッシュメモリを有するデータ処理装置に関
し、特にキャッシュメモリを複数備えたリアルタイムマ
ルチタスクシステムに好適なデータ処理装置に関する。
し、特にキャッシュメモリを複数備えたリアルタイムマ
ルチタスクシステムに好適なデータ処理装置に関する。
第3図は複数のキャッシュメモリを備えた従来の一般的
なデータ処理装置の要部の構成を示すブロック図の一例
である。
なデータ処理装置の要部の構成を示すブロック図の一例
である。
図中、1はデータ処理部であり、後述する複数のキャッ
シュメモリ、即ち第1,第2,第3,第4キャッシュメモリ2,
3,4,5または主メモリ7に対してデータのアクセスを行
う。またこのデータ処理部1は、各キャッシュメモリ2,
3,4,5に保持されてはいけないような主メモリ7の領域
(ノンキャッシャブル領域)のデータをアクセスする場
合には後述するバスドライバ回路6へ与えているローア
クティブの第2信号S2をアクティブ(ローレベル)にす
る。
シュメモリ、即ち第1,第2,第3,第4キャッシュメモリ2,
3,4,5または主メモリ7に対してデータのアクセスを行
う。またこのデータ処理部1は、各キャッシュメモリ2,
3,4,5に保持されてはいけないような主メモリ7の領域
(ノンキャッシャブル領域)のデータをアクセスする場
合には後述するバスドライバ回路6へ与えているローア
クティブの第2信号S2をアクティブ(ローレベル)にす
る。
各キャッシュメモリ2,3,4,5は4ウェイセットアソシア
ティブ方式及びライトスルー方式を採用しており、常に
主メモリ7とのデータの一致を維持している。
ティブ方式及びライトスルー方式を採用しており、常に
主メモリ7とのデータの一致を維持している。
各キャッシュメモリ2,3,4,5は、データ処理部1により
アクセスされた際に、アクセス対象のデータを保持して
いない場合にはローアクティブの第1信号S1をアクティ
ブにする。この各キャッシュメモリ2,3,4,5が出力する
第1信号S1は4入力の論理回路8の各入力信号となって
いる。
アクセスされた際に、アクセス対象のデータを保持して
いない場合にはローアクティブの第1信号S1をアクティ
ブにする。この各キャッシュメモリ2,3,4,5が出力する
第1信号S1は4入力の論理回路8の各入力信号となって
いる。
なおこの論理回路8は、その4入力の内の少なくとも1
入力がアクティブであればローアクティブの出力信号を
アクティブにする。
入力がアクティブであればローアクティブの出力信号を
アクティブにする。
また各キャッシュメモリ2,3,4,5とデータ処理部1と
は、データバスDBを介してシステムバスSBに接続されて
いるが、データバスDBにはそのシステムバスSBとの接続
点にバスドライバ回路6が介装されている。
は、データバスDBを介してシステムバスSBに接続されて
いるが、データバスDBにはそのシステムバスSBとの接続
点にバスドライバ回路6が介装されている。
バスドライバ回路6は、データ処理部1から出力されて
いる第1信号S1及び論理回路8の出力信号により制御さ
れて、データバスDBを開閉駆動し、データ処理部1及び
各キャッシュメモリ2,3,4,5とシステムバスSBとの間に
接続しまた遮断する。より具体的には、データ処理部1
から出力されている第1信号S1及び論理回路8から出力
されている信号の内のいずれか一方がアクティブであれ
ばバスドライバ回路6はデータ処理部1及び各キャッシ
ュメモリ2,3,4,5とシステムバスSBとの間を接続してデ
ータの送受が可能な状態にする。
いる第1信号S1及び論理回路8の出力信号により制御さ
れて、データバスDBを開閉駆動し、データ処理部1及び
各キャッシュメモリ2,3,4,5とシステムバスSBとの間に
接続しまた遮断する。より具体的には、データ処理部1
から出力されている第1信号S1及び論理回路8から出力
されている信号の内のいずれか一方がアクティブであれ
ばバスドライバ回路6はデータ処理部1及び各キャッシ
ュメモリ2,3,4,5とシステムバスSBとの間を接続してデ
ータの送受が可能な状態にする。
システムバスSBにはバスドライバ回路6を介して上述の
データバスDBが接続されると共に主メモリ7が接続され
ている。
データバスDBが接続されると共に主メモリ7が接続され
ている。
主メモリ7にはデータ処理部1によるアクセス対象とな
る種々のデータが格納されている。
る種々のデータが格納されている。
このような従来のキャッシュメモリを備えたデータ処理
装置の動作は以下の如くである。
装置の動作は以下の如くである。
データ処理部1がデータのリードアクセスを行うと、各
キャッシュメモリ2,3,4,5はアクセス対象のデータ自身
に保持されているか否かを判断する。アクセス対象のデ
ータが保持されている場合をキャッシュヒットと称し、
アクセス対象のデータがそれが保持されているキャッシ
ュメモリ2,3,4,5のいずれかからデータバスDBを介して
データ処理部1に送られる。
キャッシュメモリ2,3,4,5はアクセス対象のデータ自身
に保持されているか否かを判断する。アクセス対象のデ
ータが保持されている場合をキャッシュヒットと称し、
アクセス対象のデータがそれが保持されているキャッシ
ュメモリ2,3,4,5のいずれかからデータバスDBを介して
データ処理部1に送られる。
アクセス対象のデータがいずれのキャッシュメモリ2,3,
4,5にも保持されていない場合をキャッシュミスと称
し、主メモリ7からアクセス対象のデータを含む4ワー
ド(各キャッシュメモリ2,3,4,5のライン数に対応す
る)のデータが出力されてシステムバスSB及びデータバ
スDBを介してキャッシュメモリ2,3,4,5及びデータ処理
部1に送られる。データ処理部1はこの主メモリ7から
送られた4ワードのデータを取込む。また各キャッシュ
メモリ2,3,4,5には予め主メモリ7のアドレスの内の保
持可能なアドレス領域がキャッシング可能領域として設
定されており、主メモリ7から送られて来たデータはそ
のアドレスが含まれるキャッシング可能領域が設定され
ているいずれかのキャッシュメモリ2,3,4,5に保持され
る。
4,5にも保持されていない場合をキャッシュミスと称
し、主メモリ7からアクセス対象のデータを含む4ワー
ド(各キャッシュメモリ2,3,4,5のライン数に対応す
る)のデータが出力されてシステムバスSB及びデータバ
スDBを介してキャッシュメモリ2,3,4,5及びデータ処理
部1に送られる。データ処理部1はこの主メモリ7から
送られた4ワードのデータを取込む。また各キャッシュ
メモリ2,3,4,5には予め主メモリ7のアドレスの内の保
持可能なアドレス領域がキャッシング可能領域として設
定されており、主メモリ7から送られて来たデータはそ
のアドレスが含まれるキャッシング可能領域が設定され
ているいずれかのキャッシュメモリ2,3,4,5に保持され
る。
ところで、データ処理部1がデータのリード動作あるい
はライト動作を行う場合、まずキャッシュメモリ2,3,4,
5をアクセスする。この際、データ処理部1から出力さ
れたアクセス信号が主メモリ7にそのまま与えられる
と、主メモリ7からデータが読出されて出力される。一
方、同時にキャッシュメモリ2,3,4,5のいずれかでキャ
ッシュヒットした場合にはそのキャッシュメモリからも
データが出力される。このため、キャッシュメモリ2,3,
4,5のいずれかから出力されたデータと主メモリ7から
出力されたデータとがデータバスDB上で衝突することに
なり、これを回避するために主メモリ7とデータ処理部
1との間をバスドライバ回路6により遮断可能にしてい
る。
はライト動作を行う場合、まずキャッシュメモリ2,3,4,
5をアクセスする。この際、データ処理部1から出力さ
れたアクセス信号が主メモリ7にそのまま与えられる
と、主メモリ7からデータが読出されて出力される。一
方、同時にキャッシュメモリ2,3,4,5のいずれかでキャ
ッシュヒットした場合にはそのキャッシュメモリからも
データが出力される。このため、キャッシュメモリ2,3,
4,5のいずれかから出力されたデータと主メモリ7から
出力されたデータとがデータバスDB上で衝突することに
なり、これを回避するために主メモリ7とデータ処理部
1との間をバスドライバ回路6により遮断可能にしてい
る。
データ処理部1がキャッシュミスした場合は、アクセス
対象のデータを主メモリ7からデータ処理部1へ転送す
る必要がある。このため、各キャッシュメモリ2,3,4,5
は自身がキャッシュミスしたことを示す信号、即ちそれ
ぞれの第1信号S1をアクティブにしてバスドライバ回路
6に与える。これにより、バスドライバ回路6が開いて
データバスDBが駆動され、データ処理部1と主メモリ7
との間のデータの送受が可能な状態になる。
対象のデータを主メモリ7からデータ処理部1へ転送す
る必要がある。このため、各キャッシュメモリ2,3,4,5
は自身がキャッシュミスしたことを示す信号、即ちそれ
ぞれの第1信号S1をアクティブにしてバスドライバ回路
6に与える。これにより、バスドライバ回路6が開いて
データバスDBが駆動され、データ処理部1と主メモリ7
との間のデータの送受が可能な状態になる。
また、主メモリ7のメモリ領域の内のI/O領域等のよう
なキャッシングしてはならないような領域をデータ処理
部1がアクセスする際には、データ処理部1から出力さ
れているノンキャッシャブル信号、即ち第2信号S2がア
クティブになる。この第2信号S2はバスドライバ回路6
に与えられており、この第2信号S2がアクティブになる
ことによりバスドライバ回路6はデータバスDBを駆動
し、データ処理部1と主メモリ3との間のデータの送受
を可能な状態とする。これによりデータ処理部1は直接
主メモリ7をアクセスすることが可能になる。
なキャッシングしてはならないような領域をデータ処理
部1がアクセスする際には、データ処理部1から出力さ
れているノンキャッシャブル信号、即ち第2信号S2がア
クティブになる。この第2信号S2はバスドライバ回路6
に与えられており、この第2信号S2がアクティブになる
ことによりバスドライバ回路6はデータバスDBを駆動
し、データ処理部1と主メモリ3との間のデータの送受
を可能な状態とする。これによりデータ処理部1は直接
主メモリ7をアクセスすることが可能になる。
以上のように、いずれかのキャッシュメモリ2,3,4,5が
キャッシュヒットした場合以外は、データバスDBが駆動
されてデータ処理部1から主メモリ7をアクセス可能な
状態にする必要がある。
キャッシュヒットした場合以外は、データバスDBが駆動
されてデータ処理部1から主メモリ7をアクセス可能な
状態にする必要がある。
各キャッシュメモリ2,3,4,5はそれぞれ内部にアクセス
対象のアドレス上位4ビットを比較対象とするアドレス
上位4ビットのアドレスコンパレータを有している。こ
のアドレスコンパレータは、それぞれのキャッシュメモ
リ2,3,4,5にキャッシング可能領域として設定されてい
るアドレスの上位4ビットと、データアクセスに際して
データ処理部1から与えられるアクセス対象のデータの
アドレスの上位4ビットとを比較し、一致している場合
にキャッシングするモードと、一致していない場合にキ
ャッシングするモードとのいずれかを設定することが可
能である。
対象のアドレス上位4ビットを比較対象とするアドレス
上位4ビットのアドレスコンパレータを有している。こ
のアドレスコンパレータは、それぞれのキャッシュメモ
リ2,3,4,5にキャッシング可能領域として設定されてい
るアドレスの上位4ビットと、データアクセスに際して
データ処理部1から与えられるアクセス対象のデータの
アドレスの上位4ビットとを比較し、一致している場合
にキャッシングするモードと、一致していない場合にキ
ャッシングするモードとのいずれかを設定することが可
能である。
いま、たとえば第1キャッシュメモリ2のアドレスコン
パレータの設定値が“0000"、第2キャッシュメモリ3
のアドレスコンパレータの設定値が“0100"、第3キャ
ッシュメモリ4のアドレスコンパレータの設定値が“10
00"、第4キャッシュメモリ5のアドレスコンパレータ
の設定値が“1100"であるとし、またアドレスが一致し
た場合にキャッシングするモードが設定されているとす
る。この状態は第2図の如くメモリ空間上で模式的に表
すことが可能である。
パレータの設定値が“0000"、第2キャッシュメモリ3
のアドレスコンパレータの設定値が“0100"、第3キャ
ッシュメモリ4のアドレスコンパレータの設定値が“10
00"、第4キャッシュメモリ5のアドレスコンパレータ
の設定値が“1100"であるとし、またアドレスが一致し
た場合にキャッシングするモードが設定されているとす
る。この状態は第2図の如くメモリ空間上で模式的に表
すことが可能である。
たとえば、データ処理部1がアドレス上位4ビットが
“0100"でアクセスした場合、第2キャッシュメモリ3
のみがキャッシングし、キャッシュミスした場合には第
1信号S1をアクティブにしてバスドライバ回路6に与え
る。他の第1,第3,第4キャッシュメモリ2,4,5はそれぞ
れに設定されているアドレス上位4ビットが一致しない
のでキャッシングはしない。
“0100"でアクセスした場合、第2キャッシュメモリ3
のみがキャッシングし、キャッシュミスした場合には第
1信号S1をアクティブにしてバスドライバ回路6に与え
る。他の第1,第3,第4キャッシュメモリ2,4,5はそれぞ
れに設定されているアドレス上位4ビットが一致しない
のでキャッシングはしない。
また、データ処理部1によるアクセス対象のアドレスの
上位4ビットがたとえば“0010"である場合は、いずれ
のキャッシュメモリ2,3,4,5のキャッシング可能領域と
してもこのアドレスは設定されていないので、いずれの
キャッシュメモリ2,3,4,5もキャッシングはしない。従
ってこの場合、いずれのキャッシュメモリ2,3,4,5も第
1信号S1をアクティブにすることはないし、またデータ
処理部1も第2信号S2をアクティブにしないので、バス
ドライバ回路6はデータバスDBを駆動することはない。
上位4ビットがたとえば“0010"である場合は、いずれ
のキャッシュメモリ2,3,4,5のキャッシング可能領域と
してもこのアドレスは設定されていないので、いずれの
キャッシュメモリ2,3,4,5もキャッシングはしない。従
ってこの場合、いずれのキャッシュメモリ2,3,4,5も第
1信号S1をアクティブにすることはないし、またデータ
処理部1も第2信号S2をアクティブにしないので、バス
ドライバ回路6はデータバスDBを駆動することはない。
一方、アドレスの上位4ビットが一致した場合にキャッ
シングしないモードが設定されている場合は、キャッシ
ュメモリ2,3,4,5の内の少なくとも一つがキャッシング
してキャッシュミスするとデータバスDBが駆動されるの
で、同時に他のいずれかのキャッシュメモリ2,3,4,5が
キャッシュヒットするとそのキャッシュメモリから出力
されたデータと主メモリ7から出力されたデータとが衝
突する。
シングしないモードが設定されている場合は、キャッシ
ュメモリ2,3,4,5の内の少なくとも一つがキャッシング
してキャッシュミスするとデータバスDBが駆動されるの
で、同時に他のいずれかのキャッシュメモリ2,3,4,5が
キャッシュヒットするとそのキャッシュメモリから出力
されたデータと主メモリ7から出力されたデータとが衝
突する。
たとえば、各キャッシュメモリ2,3,4,5の内部アドレス
コンパレータの設定値が第2図の模式図に示す如くであ
る場合に、データ処理部1によるアクセス対象のデータ
のアドレスの上位4ビットが“0100"であれば、第2キ
ャッシュメモリ3のみがキャッシングせず、他の第1,第
3,第4キャッシュメモリ2,4,5はキャッシングする。こ
の際、たとえば第4キャッシュメモリ5がキャッシュヒ
ットし、他の第1及び第3キャッシュメモリ2,4がキャ
ッシュミスしたとすると、第4キャッシュメモリ5がア
クセス対象のデータを出力するのと同時に他のキャッシ
ュメモリからバスドライバ回路6に与えられている第1
信号S1がアクティブになる。このため、データバスDBが
駆動されて主メモリ7からアクセス対象のデータが出力
されてデータの衝突が発生する。また、アドレスの上位
4ビットが“0010"のデータをデータ処理部1がアクセ
スした場合にも同様のデータの衝突が発生する。
コンパレータの設定値が第2図の模式図に示す如くであ
る場合に、データ処理部1によるアクセス対象のデータ
のアドレスの上位4ビットが“0100"であれば、第2キ
ャッシュメモリ3のみがキャッシングせず、他の第1,第
3,第4キャッシュメモリ2,4,5はキャッシングする。こ
の際、たとえば第4キャッシュメモリ5がキャッシュヒ
ットし、他の第1及び第3キャッシュメモリ2,4がキャ
ッシュミスしたとすると、第4キャッシュメモリ5がア
クセス対象のデータを出力するのと同時に他のキャッシ
ュメモリからバスドライバ回路6に与えられている第1
信号S1がアクティブになる。このため、データバスDBが
駆動されて主メモリ7からアクセス対象のデータが出力
されてデータの衝突が発生する。また、アドレスの上位
4ビットが“0010"のデータをデータ処理部1がアクセ
スした場合にも同様のデータの衝突が発生する。
上述のように、複数のキャッシュメモリを有する従来の
データ処理装置においては、少なくとも1個のキャッシ
ュメモリに設定されているキャッシング可能領域以外の
領域がアクセスされた場合には、アクセス対象のデータ
がキャッシュメモリと主メモリとの双方から出力され、
これらがデータバス上で衝突するという問題がある。
データ処理装置においては、少なくとも1個のキャッシ
ュメモリに設定されているキャッシング可能領域以外の
領域がアクセスされた場合には、アクセス対象のデータ
がキャッシュメモリと主メモリとの双方から出力され、
これらがデータバス上で衝突するという問題がある。
本発明はこのような事情に鑑みてなされたものであり、
複数のキャッシュメモリそれぞれが、アクセス対象のデ
ータのアドレスがキャッシング可能領域であるか否かを
検出し、この結果に従ってデータの衝突を回避するよう
に構成されたデータ処理装置の提供を目的とする。
複数のキャッシュメモリそれぞれが、アクセス対象のデ
ータのアドレスがキャッシング可能領域であるか否かを
検出し、この結果に従ってデータの衝突を回避するよう
に構成されたデータ処理装置の提供を目的とする。
本発明のデータ処理装置は、複数のキャッシュメモリそ
れぞれに設定されているキャッシング可能領域以外の領
域のアドレスがアクセスされたか否かを検出する手段を
備え、複数のキャッシュメモリ総てでそれぞれのキャッ
シング可能領域以外がアクセスされたことが検出された
場合にデータ処理部と主メモリとを接続するように構成
している。
れぞれに設定されているキャッシング可能領域以外の領
域のアドレスがアクセスされたか否かを検出する手段を
備え、複数のキャッシュメモリ総てでそれぞれのキャッ
シング可能領域以外がアクセスされたことが検出された
場合にデータ処理部と主メモリとを接続するように構成
している。
本発明のデータ処理装置では、複数のキャッシュメモリ
総てでそれぞれのキャッシング可能領域以外がアクセス
されたことが検出された場合にデータ処理部と主メモリ
とが接続されるので、データの衝突が回避される。
総てでそれぞれのキャッシング可能領域以外がアクセス
されたことが検出された場合にデータ処理部と主メモリ
とが接続されるので、データの衝突が回避される。
以下、本発明をその実施例を示す図面に基づいて詳述す
る。
る。
第1図は本発明に係るデータ処理装置の要部の構成を示
すブロック図である。なお、第3図に示した従来例と同
一または相当部分には同一の参照符号を付与してある。
すブロック図である。なお、第3図に示した従来例と同
一または相当部分には同一の参照符号を付与してある。
図中、1はデータ処理部であり、後述する複数のキャッ
シュメモリ、即ち第1,第2,第3,第4キャッシュメモリ2,
3,4,5または主メモリ7に対してデータのアクセスを行
う。またこのデータ処理部1は、各キャッシュメモリ2,
3,4,5に保持されてはいけないような主メモリ7の領域
(ノンキャッシャブル領域)のデータをアクセスする場
合には後述するバスドライバ回路6へ与えているローア
クティブの第2信号S2をアクティブ(ローレベル)にす
る。
シュメモリ、即ち第1,第2,第3,第4キャッシュメモリ2,
3,4,5または主メモリ7に対してデータのアクセスを行
う。またこのデータ処理部1は、各キャッシュメモリ2,
3,4,5に保持されてはいけないような主メモリ7の領域
(ノンキャッシャブル領域)のデータをアクセスする場
合には後述するバスドライバ回路6へ与えているローア
クティブの第2信号S2をアクティブ(ローレベル)にす
る。
各キャッシュメモリ2,3,4,5は4ウェイセットアソシア
ティブ方式及びライトスルー方式を採用しており、常に
主メモリ7とのデータの一致を維持している。
ティブ方式及びライトスルー方式を採用しており、常に
主メモリ7とのデータの一致を維持している。
各キャッシュメモリ2,3,4,5は、データ処理部1により
アクセスされた際に、アクセス対象のデータを保持して
いない場合にはローアクティブの第1信号S1をアクティ
ブにする。この各キャッシュメモリ2,3,4,5が出力する
第1信号S1は4入力の論理回路8の各入力信号となって
いる。
アクセスされた際に、アクセス対象のデータを保持して
いない場合にはローアクティブの第1信号S1をアクティ
ブにする。この各キャッシュメモリ2,3,4,5が出力する
第1信号S1は4入力の論理回路8の各入力信号となって
いる。
なおこの論理回路8は、その4入力の内の少なくとも1
入力がアクティブであればローアクティブの出力信号を
アクティブにする。
入力がアクティブであればローアクティブの出力信号を
アクティブにする。
また各キャッシュメモリ2,3,4,5とデータ処理部1と
は、データバスDBを介してシステムバスSBに接続されて
いるが、データバスDBにはそのシステムバスSBとの接続
点にバスドライバ回路6が介装されている。
は、データバスDBを介してシステムバスSBに接続されて
いるが、データバスDBにはそのシステムバスSBとの接続
点にバスドライバ回路6が介装されている。
更に、各キャッシュメモリ2,3,4,5には予め主メモリ7
のアドレスの内の保持可能なアドレス領域がキャッシン
グ可能領域として設定されており、主メモリ7から送ら
れて来たデータはそのアドレスと一致するキャッシング
可能領域が設定されているいずれまのキャッシュメモリ
2,3,4,5に保持される。
のアドレスの内の保持可能なアドレス領域がキャッシン
グ可能領域として設定されており、主メモリ7から送ら
れて来たデータはそのアドレスと一致するキャッシング
可能領域が設定されているいずれまのキャッシュメモリ
2,3,4,5に保持される。
具体的には、各キャッシュメモリ2,3,4,5にはそれぞれ
内部に対象のアドレス上位4ビットを比較対象とするア
ドレスコンパレータを有している。このアドレスコンパ
レータは、それぞれのキャッシュメモリ2,3,4,5にキャ
ッシング可能領域として設定されているアドレスの上位
4ビットと、データアクセスに際してデータ処理部1か
ら与えられるアクセス対象のデータのアドレスの上位4
ビットとを比較し、一致している場合にキャッシングす
るモードと、一致していない場合にキャッシングするモ
ードとのいずれかの設定することが可能である。
内部に対象のアドレス上位4ビットを比較対象とするア
ドレスコンパレータを有している。このアドレスコンパ
レータは、それぞれのキャッシュメモリ2,3,4,5にキャ
ッシング可能領域として設定されているアドレスの上位
4ビットと、データアクセスに際してデータ処理部1か
ら与えられるアクセス対象のデータのアドレスの上位4
ビットとを比較し、一致している場合にキャッシングす
るモードと、一致していない場合にキャッシングするモ
ードとのいずれかの設定することが可能である。
また各キャッシュメモリ2,3,4,5からはローアクティブ
の第3信号S3が4入力の論理回路9へ与えられている。
この第3信号S3は、それぞれのキャッシュメモリ2,3,4,
5において、上述の内部アドレスコンパレータによる比
較結果が一致していない場合、換言すればそれぞれのキ
ャッシュメモリ2,3,4,5のキャッシング可能領域以外の
アドレスがアクセスされた場合にアクティブになる。そ
して、論理回路9は4入力総てがアクティブである場合
にのみそのローアクティブの出力信号である第4信号S4
をアクティブにする。この第4信号S4はバスドライバ回
路6に与えられている。
の第3信号S3が4入力の論理回路9へ与えられている。
この第3信号S3は、それぞれのキャッシュメモリ2,3,4,
5において、上述の内部アドレスコンパレータによる比
較結果が一致していない場合、換言すればそれぞれのキ
ャッシュメモリ2,3,4,5のキャッシング可能領域以外の
アドレスがアクセスされた場合にアクティブになる。そ
して、論理回路9は4入力総てがアクティブである場合
にのみそのローアクティブの出力信号である第4信号S4
をアクティブにする。この第4信号S4はバスドライバ回
路6に与えられている。
バスドライバ回路6は、データ処理部1から与えられて
いる第1信号S1,論理回路8の出力信号及び論理回路9
から与えられている第4信号S4により制御されて、デー
タバスDBを開閉駆動する。より具体的には、データ処理
部1から与えられている第1信号S1,論理回路8の出力
信号及び論理回路9から出力されている第4信号S4の少
なくとも一つがアクティブであれば、バスドライバ回路
6はデータ処理部1及び各キャッシュメモリ2,3,4,5と
システムバスSBとの間を接続してデータの送受が可能な
状態にする。
いる第1信号S1,論理回路8の出力信号及び論理回路9
から与えられている第4信号S4により制御されて、デー
タバスDBを開閉駆動する。より具体的には、データ処理
部1から与えられている第1信号S1,論理回路8の出力
信号及び論理回路9から出力されている第4信号S4の少
なくとも一つがアクティブであれば、バスドライバ回路
6はデータ処理部1及び各キャッシュメモリ2,3,4,5と
システムバスSBとの間を接続してデータの送受が可能な
状態にする。
システムバスSBにはバスドライバ回路6を介して上述の
データバスDBが接続されると共に主メモリ7が接続され
ている。
データバスDBが接続されると共に主メモリ7が接続され
ている。
主メモリ7にはデータ処理部1によるアクセス対象とな
る種々のデータが格納されている。
る種々のデータが格納されている。
このような従来のキャッシュメモリを備えたデータ処理
装置の動作は以下の如くである。
装置の動作は以下の如くである。
データ処理部1がデータのリードアクセスを行うと、各
キャッシュメモリ2,3,4,5はアクセス対象のデータが自
身に保持されているか否かを判断する。アクセス対象の
データが保持されている場合をキャッシュヒットと称
し、アクセス対象のデータはそれが保持されているキャ
ッシュメモリ2,3,4,5のいずれかからデータバスDBを介
してデータ処理部1に送られる。
キャッシュメモリ2,3,4,5はアクセス対象のデータが自
身に保持されているか否かを判断する。アクセス対象の
データが保持されている場合をキャッシュヒットと称
し、アクセス対象のデータはそれが保持されているキャ
ッシュメモリ2,3,4,5のいずれかからデータバスDBを介
してデータ処理部1に送られる。
アクセス対象のデータがいずれのキャッシュメモリ2,3,
4,5にも保持されていない場合をキャッシュミスと称
し、主メモリ7からアクセス対象のデータを含む4ワー
ド(各キャッシュメモリ2,3,4,5のライン数に対応す
る)のデータがシステムバスSB及びデータバスDBを介し
てキャッシュメモリ2,3,4,5及びデータ処理部1に送ら
れる。データ処理部1はこの主メモリ7から送られた4
ワードのデータを取込む。また各キャッシュメモリ2,3,
4,5はそのアドレスと一致するキャッシング可能領域が
設定されているいずれかのキャッシュメモリ2,3,4,5に
保持される。
4,5にも保持されていない場合をキャッシュミスと称
し、主メモリ7からアクセス対象のデータを含む4ワー
ド(各キャッシュメモリ2,3,4,5のライン数に対応す
る)のデータがシステムバスSB及びデータバスDBを介し
てキャッシュメモリ2,3,4,5及びデータ処理部1に送ら
れる。データ処理部1はこの主メモリ7から送られた4
ワードのデータを取込む。また各キャッシュメモリ2,3,
4,5はそのアドレスと一致するキャッシング可能領域が
設定されているいずれかのキャッシュメモリ2,3,4,5に
保持される。
ところで、データ処理部1がデータのリード動作あるい
はライト動作を行う場合、まずキャッシュメモリ2,3,4,
5をアクセスする。この際、データ処理部1から出力さ
れたアクセス信号が主メモリ7にそのまま与えられる
と、主メモリ7からデータが読出されて出力される。一
方、同時にキャッシュメモリ2,3,4,5のいずれかでキャ
ッシュヒットした場合にはそのキャッシュメモリからも
データが出力される。このため、キャッシュメモリ2,3,
4,5から出力されたデータと主メモリ7から出力された
データとがデータバスDB上で衝突することになり、これ
を回避するために主メモリ7とデータ処理部1との間を
バスドライバ回路6により遮断可能にしている。
はライト動作を行う場合、まずキャッシュメモリ2,3,4,
5をアクセスする。この際、データ処理部1から出力さ
れたアクセス信号が主メモリ7にそのまま与えられる
と、主メモリ7からデータが読出されて出力される。一
方、同時にキャッシュメモリ2,3,4,5のいずれかでキャ
ッシュヒットした場合にはそのキャッシュメモリからも
データが出力される。このため、キャッシュメモリ2,3,
4,5から出力されたデータと主メモリ7から出力された
データとがデータバスDB上で衝突することになり、これ
を回避するために主メモリ7とデータ処理部1との間を
バスドライバ回路6により遮断可能にしている。
データ処理部1がキャッシュミスした場合は、アスセス
対象のデータを主メモリ7からデータ処理部1へ転送す
る必要がある。このため、各キャッシュメモリ2,3,4,5
は自身がキャッシュミスしたことを示す信号、即ち第1
信号S1をアクティブとしてバスドライバ回路6に与え
る。これにより、バスドライバ回路6が開いてデータバ
スDBが駆動され、データ処理部1と主メモリ7との間の
データの送受が可能な状態になる。
対象のデータを主メモリ7からデータ処理部1へ転送す
る必要がある。このため、各キャッシュメモリ2,3,4,5
は自身がキャッシュミスしたことを示す信号、即ち第1
信号S1をアクティブとしてバスドライバ回路6に与え
る。これにより、バスドライバ回路6が開いてデータバ
スDBが駆動され、データ処理部1と主メモリ7との間の
データの送受が可能な状態になる。
また、主メモリ7のメモリ領域の内のI/O領域等のよう
なキャッシングしてはならないような領域(ノンキャッ
シャブル信号)をデータ処理部1がアクセスする際に
は、データ処理部1から出力されるノンキャッシャブル
信号、即ち第2信号S2がアクティブになる。この第2信
号S2バスドライバ回路6に与えられており、この第2信
号S2がアクティブになることによりバスドライバ回路6
はデータバスDBを駆動し、データ処理部1と主メモリ3
との間のデータの送受を可能な状態とする。これにより
データ処理部1は直接主メモリ7をアクセスすることが
可能になる。
なキャッシングしてはならないような領域(ノンキャッ
シャブル信号)をデータ処理部1がアクセスする際に
は、データ処理部1から出力されるノンキャッシャブル
信号、即ち第2信号S2がアクティブになる。この第2信
号S2バスドライバ回路6に与えられており、この第2信
号S2がアクティブになることによりバスドライバ回路6
はデータバスDBを駆動し、データ処理部1と主メモリ3
との間のデータの送受を可能な状態とする。これにより
データ処理部1は直接主メモリ7をアクセスすることが
可能になる。
以上のように、いずれかのキャッシュメモリ2,3,4,5が
キャッシュヒットした場合以外は、データバスDBを駆動
してデータ処理部1による主メモリ7に対するアクセス
を可能にする必要がある。
キャッシュヒットした場合以外は、データバスDBを駆動
してデータ処理部1による主メモリ7に対するアクセス
を可能にする必要がある。
いま、たとえば第1キャッシュメモリ2のアドレスコン
パレータの設定値が“0000"、第2キャッシュメモリ3
のアドレスコンパレータの設定値が“0100"、第3キャ
ッシュメモリ4のアドレスコンパレータの設定値が“10
00"、第4キャッシュメモリ5のアドレスコンパレータ
の設定値が“1100"であるとし、またアドレスが一致し
た場合にキャッシングするモードが設定されているとす
る。この状態は第2図の如くメモリ空間で模式的に表す
ことが可能である。
パレータの設定値が“0000"、第2キャッシュメモリ3
のアドレスコンパレータの設定値が“0100"、第3キャ
ッシュメモリ4のアドレスコンパレータの設定値が“10
00"、第4キャッシュメモリ5のアドレスコンパレータ
の設定値が“1100"であるとし、またアドレスが一致し
た場合にキャッシングするモードが設定されているとす
る。この状態は第2図の如くメモリ空間で模式的に表す
ことが可能である。
たとえば、データ処理部1のアクセス対象のアドレスの
上位4ビットが“0100"である場合、第2キャッシュメ
モリ3のみがキャッシングし、第3信号S3をノンアクテ
ィブにする。他の第1,第3,第4キャッシュメモリ2,4,5
はそれぞれに設定されているキャッシング可能領域であ
るアドレス上位4ビットが一致しないのでキャッシング
はせず、それぞれの、第3信号S3をアクティブにする。
上位4ビットが“0100"である場合、第2キャッシュメ
モリ3のみがキャッシングし、第3信号S3をノンアクテ
ィブにする。他の第1,第3,第4キャッシュメモリ2,4,5
はそれぞれに設定されているキャッシング可能領域であ
るアドレス上位4ビットが一致しないのでキャッシング
はせず、それぞれの、第3信号S3をアクティブにする。
以上により論理回路9を出力信号である第4信号S4はア
クティブになり、バスドライバ回路6はデータバスDBを
駆動することはない。この際、キャッシングした第2キ
ャッシュメモリ3がキャッシュミスした場合及びアクセ
ス対象がノンキャッシャブル領域である場合にのみ、そ
れぞれ第2キャッシュメモリ3及びデータ処理部1から
バスドライバ回路6へ与えられている第1信号S1及び第
2信号S2がアクティブになってバスドライバ回路6がデ
ータバスDBを駆動する。従って、第2キャッシュメモリ
3から出力されるデータと主メモリ7から出力されるデ
ータとが衝突することはない。
クティブになり、バスドライバ回路6はデータバスDBを
駆動することはない。この際、キャッシングした第2キ
ャッシュメモリ3がキャッシュミスした場合及びアクセ
ス対象がノンキャッシャブル領域である場合にのみ、そ
れぞれ第2キャッシュメモリ3及びデータ処理部1から
バスドライバ回路6へ与えられている第1信号S1及び第
2信号S2がアクティブになってバスドライバ回路6がデ
ータバスDBを駆動する。従って、第2キャッシュメモリ
3から出力されるデータと主メモリ7から出力されるデ
ータとが衝突することはない。
また、データ処理部1によるアクセス対象のアドレスの
上位4ビットが“0010"である場合は、このアドレスは
いずれのキャッシュメモリ2,3,4,5のキャッシング可能
領域としても設定されていないので、総てのキャッシュ
メモリ2,3,4,5の第3信号S3はアクティブになる。従っ
て、論理回路9の出力信号である第4信号S4もアクティ
ブになるので、バスドライバ回路6はデータバスDBを駆
動する。これによりデータ処理部1は主メモリ7をアク
セスすることが可能になる。
上位4ビットが“0010"である場合は、このアドレスは
いずれのキャッシュメモリ2,3,4,5のキャッシング可能
領域としても設定されていないので、総てのキャッシュ
メモリ2,3,4,5の第3信号S3はアクティブになる。従っ
て、論理回路9の出力信号である第4信号S4もアクティ
ブになるので、バスドライバ回路6はデータバスDBを駆
動する。これによりデータ処理部1は主メモリ7をアク
セスすることが可能になる。
一方、アドレスの上位4ビットが一致した場合にキャッ
シングしないモードが設定されている場合は以下の如く
である。
シングしないモードが設定されている場合は以下の如く
である。
たとえば、各キャッシュメモリ2,3,4,5の内部アドレス
コンパレータの設定値が第2図に示す如くである場合、
データ処理部1によるアクセス対象のデータのアドレス
の上位4ビットが“0100"であれば、第2キャッシュメ
モリ3のみがキャッシングせず、他の第1,第3,第4キャ
ッシュメモリ2,4,5はキャッシングする。即ち、第2キ
ャッシュメモリ3の第3信号S3はアクティブになり、他
の第1,3,4キャッシュメモリ2,4,5の第3信号S3はノンア
クティブになる。従って、論理回路9の出力信号である
第4信号S4はノンアクティブになるので、バスドライバ
回路6はデータバスDBを駆動することはない。
コンパレータの設定値が第2図に示す如くである場合、
データ処理部1によるアクセス対象のデータのアドレス
の上位4ビットが“0100"であれば、第2キャッシュメ
モリ3のみがキャッシングせず、他の第1,第3,第4キャ
ッシュメモリ2,4,5はキャッシングする。即ち、第2キ
ャッシュメモリ3の第3信号S3はアクティブになり、他
の第1,3,4キャッシュメモリ2,4,5の第3信号S3はノンア
クティブになる。従って、論理回路9の出力信号である
第4信号S4はノンアクティブになるので、バスドライバ
回路6はデータバスDBを駆動することはない。
この際、データバスDBが駆動されるのは、第2キャッシ
ュメモリ3以外の第1,3,4キャッシュメモリ2,4,5がキャ
ッシュミスした場合と、データ処理部1によるアクセス
対象がノンキャッシャブル領域である場合のみであるの
で、データの衝突は発生しない。
ュメモリ3以外の第1,3,4キャッシュメモリ2,4,5がキャ
ッシュミスした場合と、データ処理部1によるアクセス
対象がノンキャッシャブル領域である場合のみであるの
で、データの衝突は発生しない。
また、データ処理部1によるアクセス対象のアドレスの
上位4ビットが“0010"である場合、総てのキャッシュ
メモリ2,3,4,5がキャッシングしてそれぞれの第3信号S
3がノンアクティブになる。このため、論理回路9の出
力信号である第4信号S4もノンアクティブになってバス
ドライバ回路6はデータバスDBを駆動しないので、デー
タの衝突は発生しない。
上位4ビットが“0010"である場合、総てのキャッシュ
メモリ2,3,4,5がキャッシングしてそれぞれの第3信号S
3がノンアクティブになる。このため、論理回路9の出
力信号である第4信号S4もノンアクティブになってバス
ドライバ回路6はデータバスDBを駆動しないので、デー
タの衝突は発生しない。
以上の詳述したように本発明のデータ処理では、複数の
キャッシュメモリを備えている場合に、複数のキャッシ
ュメモリ総てでそれぞれのキャッシング可能領域以外が
アクセスされたことが検出された場合にはデータ処理部
と主メモリとが接続されてデータ処理部からのアクセス
が可能になるように構成しているので、データの衝突が
回避される。
キャッシュメモリを備えている場合に、複数のキャッシ
ュメモリ総てでそれぞれのキャッシング可能領域以外が
アクセスされたことが検出された場合にはデータ処理部
と主メモリとが接続されてデータ処理部からのアクセス
が可能になるように構成しているので、データの衝突が
回避される。
第1図は本発明のデータ処理装置の要部の構成を示すブ
ロック図、第2図は複数のキャッシュメモリそれぞれの
キャッシング可能領域を示す模式図、第3図は従来のキ
ャッシュメモリを備えたデータ処理装置の要部の構成を
示すブロック図である。 1……データ処理部、2,3,4,5……キャッシュメモリ、
6……バスドライバ回路、7……主メモリ、DB……デー
タバス、SB……システムバス、S1……第1信号、S2……
第2信号、S3……第3信号 なお、各図中同一符号は同一又は相当部分を示す。
ロック図、第2図は複数のキャッシュメモリそれぞれの
キャッシング可能領域を示す模式図、第3図は従来のキ
ャッシュメモリを備えたデータ処理装置の要部の構成を
示すブロック図である。 1……データ処理部、2,3,4,5……キャッシュメモリ、
6……バスドライバ回路、7……主メモリ、DB……デー
タバス、SB……システムバス、S1……第1信号、S2……
第2信号、S3……第3信号 なお、各図中同一符号は同一又は相当部分を示す。
Claims (1)
- 【請求項1】データ処理部と、システムバスに接続され
ていて前記データ処理部によりアクセスされる主メモリ
と、それぞれ前記主メモリの所定の領域が保持可能領域
として設定されその保持可能領域内の一部の記憶内容を
保持し、前記データ処理部によるデータアクセスに際し
てアクセス対象のデータを保持していない場合に所定の
信号を出力する複数のキャッシュメモリと、前記所定の
信号が与えられた場合に前記データ処理部と前記システ
ムバスとを接続して前記データ処理部による前記主メモ
リへのアクセスを可能にするバスドライバ回路とを備え
たデータ処理装置において、 前記各キャッシュメモリは、前記データ処理部によるア
クセス対象のデータがそれぞれに設定されている保持可
能領域以外である場合に所定の信号を出力する手段をそ
れぞれ備え、 前記バスドライバ回路は、総てのキャッシュメモリから
前記所定の信号が出力された場合に前記データ処理部と
前記システムバスとを接続すべくなしてあることを特徴
とするデータ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1146036A JPH0748189B2 (ja) | 1989-06-07 | 1989-06-07 | データ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1146036A JPH0748189B2 (ja) | 1989-06-07 | 1989-06-07 | データ処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0310345A JPH0310345A (ja) | 1991-01-17 |
| JPH0748189B2 true JPH0748189B2 (ja) | 1995-05-24 |
Family
ID=15398659
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1146036A Expired - Lifetime JPH0748189B2 (ja) | 1989-06-07 | 1989-06-07 | データ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0748189B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5502828A (en) * | 1992-12-18 | 1996-03-26 | Advanced Micro Devices, Inc. | Reducing memory access in a multi-cache multiprocessing environment with each cache mapped into different areas of main memory to avoid contention |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61267149A (ja) * | 1985-05-21 | 1986-11-26 | Nec Corp | デ−タ処理装置 |
-
1989
- 1989-06-07 JP JP1146036A patent/JPH0748189B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0310345A (ja) | 1991-01-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5361391A (en) | Intelligent cache memory and prefetch method based on CPU data fetching characteristics | |
| US6321321B1 (en) | Set-associative cache-management method with parallel and single-set sequential reads | |
| JPH06208508A (ja) | キャッシュタグメモリ | |
| US20020199079A1 (en) | Method to prefetch data from system memory using a bus interface unit | |
| JPH06309216A (ja) | 線形ラム・バンクとして使用可能なキャッシュ・メモリを有するデータ・プロセッサ | |
| US6219765B1 (en) | Memory paging control apparatus | |
| US5502828A (en) | Reducing memory access in a multi-cache multiprocessing environment with each cache mapped into different areas of main memory to avoid contention | |
| US5835934A (en) | Method and apparatus of low power cache operation with a tag hit enablement | |
| US5737575A (en) | Interleaved key memory with multi-page key cache | |
| US6363460B1 (en) | Memory paging control method | |
| US6314494B1 (en) | Dynamically size configurable data buffer for data cache and prefetch cache memory | |
| US5860145A (en) | Address translation device storage last address translation in register separate from TLB | |
| JPH0687232B2 (ja) | データ処理装置 | |
| JPH04357539A (ja) | 2重ポートのキャッシュタグメモリデバイス | |
| US7865691B2 (en) | Virtual address cache and method for sharing data using a unique task identifier | |
| US5761722A (en) | Method and apparatus for solving the stale data problem occurring in data access performed with data caches | |
| JPH0748189B2 (ja) | データ処理装置 | |
| US5813028A (en) | Cache read miss request invalidation prevention method | |
| JPH02302853A (ja) | 改良型キャッシュアクセス方法及び装置 | |
| US5960456A (en) | Method and apparatus for providing a readable and writable cache tag memory | |
| JPH07234819A (ja) | キャッシュメモリ | |
| JP2976980B2 (ja) | キャッシュ制御方式 | |
| JPH03230238A (ja) | キャッシュメモリ制御方式 | |
| JPH01229345A (ja) | データ処理装置 | |
| JPH05342101A (ja) | 階層キャッシュ・メモリ |