JPH0895863A - コンピュータシステム、キャッシュヒットの判定方法 - Google Patents
コンピュータシステム、キャッシュヒットの判定方法Info
- Publication number
- JPH0895863A JPH0895863A JP6221614A JP22161494A JPH0895863A JP H0895863 A JPH0895863 A JP H0895863A JP 6221614 A JP6221614 A JP 6221614A JP 22161494 A JP22161494 A JP 22161494A JP H0895863 A JPH0895863 A JP H0895863A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- memory
- address
- processing unit
- central processing
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
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)
Abstract
(57)【要約】 (修正有)
【目的】第一の物理メモリと、第一の物理メモリの全物
理アドレスのうちの少なくとも一部の物理アドレスが共
通する第二の物理メモリとを具備し、オペレーションモ
ードによって第一の物理メモリ/第二の物理メモリを選
択してアクセスするシステムにおいて、キャッシュの整
合性を維持する方法を提供する。 【構成】キャッシュのタグメモリ中にデータ源を特定す
る情報を格納する手段としてのフラグビット23を設置
する。そして、キャッシュはCPU要求アドレスに関わ
るデータがキャッシュ中に存在することのみを持ってキ
ャッシュヒット/ミスを判断をするのではなく、CPU
から同時に送られるオペレーションモードに関する情報
をも参酌してCPUが要求しているデータのデータ源と
キャッシュに格納されているデータのデータ源をもが同
一かどうかを判断する。かかる二つの条件が合致したと
きに始めてキャッシュヒットとの判定を下す。
理アドレスのうちの少なくとも一部の物理アドレスが共
通する第二の物理メモリとを具備し、オペレーションモ
ードによって第一の物理メモリ/第二の物理メモリを選
択してアクセスするシステムにおいて、キャッシュの整
合性を維持する方法を提供する。 【構成】キャッシュのタグメモリ中にデータ源を特定す
る情報を格納する手段としてのフラグビット23を設置
する。そして、キャッシュはCPU要求アドレスに関わ
るデータがキャッシュ中に存在することのみを持ってキ
ャッシュヒット/ミスを判断をするのではなく、CPU
から同時に送られるオペレーションモードに関する情報
をも参酌してCPUが要求しているデータのデータ源と
キャッシュに格納されているデータのデータ源をもが同
一かどうかを判断する。かかる二つの条件が合致したと
きに始めてキャッシュヒットとの判定を下す。
Description
【0001】
【産業上の利用分野】本願発明はCPUがその選択によ
って複数の異なった体系の物理メモリにアクセスする場
合に、キャッシュの整合性を維持する方法及びかかる方
法を採用したコンピュータシステムに関する。
って複数の異なった体系の物理メモリにアクセスする場
合に、キャッシュの整合性を維持する方法及びかかる方
法を採用したコンピュータシステムに関する。
【0002】
【従来技術】コンピュータシステムにおいて最近通常の
オペレーションモードとは別のモードによってオペレー
ションを行う仕様のものが出現してきている。このよう
なものは、CPUがそのシステムのオペレーションを通
常のモードから特殊なモードに切り替える。この特殊モ
ードは主にパーソナルコンピュータにおいて消費電力を
低減させるための機能に用いられる。本願に係わるコン
ピュータシステムの模式図を第5図に示す。このシステ
ムはパーソナルコンピュータなどの小型のコンピュータ
システムに採用されるものであり、CPUとキャッシ
ュ、及びメモリ、キャッシュからメモリへのアクセスを
制御するメモリコントローラからなる。通常のパーソナ
ルコンピュータシステムとの相違はメモリが通常メモ
リ、システムマネージメントモード用メモリ(以下、S
MRAMという)に物理的に分離されていることであ
る。
オペレーションモードとは別のモードによってオペレー
ションを行う仕様のものが出現してきている。このよう
なものは、CPUがそのシステムのオペレーションを通
常のモードから特殊なモードに切り替える。この特殊モ
ードは主にパーソナルコンピュータにおいて消費電力を
低減させるための機能に用いられる。本願に係わるコン
ピュータシステムの模式図を第5図に示す。このシステ
ムはパーソナルコンピュータなどの小型のコンピュータ
システムに採用されるものであり、CPUとキャッシ
ュ、及びメモリ、キャッシュからメモリへのアクセスを
制御するメモリコントローラからなる。通常のパーソナ
ルコンピュータシステムとの相違はメモリが通常メモ
リ、システムマネージメントモード用メモリ(以下、S
MRAMという)に物理的に分離されていることであ
る。
【0003】通常モードではシステムはプロテクトされ
た実アドレス上の或いは仮想アドレス上でオペレーショ
ンがなされる。一方、上述したような特殊モードを採用
するCPUはメモリコントローラからシステムマネージ
メント割り込みを受けたときにそのオペレーションモー
ドを通常モードから特殊モードにスイッチする。このよ
うにして切り替えられた特殊モードのことを本願明細書
においてはシステムマネージメントモードという。
た実アドレス上の或いは仮想アドレス上でオペレーショ
ンがなされる。一方、上述したような特殊モードを採用
するCPUはメモリコントローラからシステムマネージ
メント割り込みを受けたときにそのオペレーションモー
ドを通常モードから特殊モードにスイッチする。このよ
うにして切り替えられた特殊モードのことを本願明細書
においてはシステムマネージメントモードという。
【0004】CPUがシステムマネージメントモードに
よってオペレーションを行うときは、CPUはSMRA
Mと呼ばれる、通常のモードにおいて使用するメモリ体
系とは異なった特殊な物理メモリ体系を使用する。この
メモリはSMMハンドラコード、システムに固有なSM
Mデータ、およびCPUの状態を表す情報を格納する。
本願明細書においてはこのSMRAMに対応するメモリ
であって、通常モードで使用されるものを通常メモリ呼
ぶ。
よってオペレーションを行うときは、CPUはSMRA
Mと呼ばれる、通常のモードにおいて使用するメモリ体
系とは異なった特殊な物理メモリ体系を使用する。この
メモリはSMMハンドラコード、システムに固有なSM
Mデータ、およびCPUの状態を表す情報を格納する。
本願明細書においてはこのSMRAMに対応するメモリ
であって、通常モードで使用されるものを通常メモリ呼
ぶ。
【0005】第1図にこの概要を示す。CPU1は通常
のモードにおいては通常メモリ10を使用する。ところ
が、ある一定のアドレス領域、例えば30000〜3F
FFF番地についてはシステムマネージメントモードで
使用されるSMRAM12が重複してマッピングされて
いる。この物理アドレス領域のことを本願明細書ではS
MM可能領域3といい、それ以外のSMM不能領域5と
区別する。
のモードにおいては通常メモリ10を使用する。ところ
が、ある一定のアドレス領域、例えば30000〜3F
FFF番地についてはシステムマネージメントモードで
使用されるSMRAM12が重複してマッピングされて
いる。この物理アドレス領域のことを本願明細書ではS
MM可能領域3といい、それ以外のSMM不能領域5と
区別する。
【0006】CPUがシステムのオペレーションモード
をシステムマネージメントモードに変更しようとすると
きは、CPUはSMIACT#線を低位に保持する。こ
れによって、システムマネージメントモードに移行する
ことを司るメモリコントローラ16の部分がシステムで
使用されるメモリを通常メモリからSMRAMに切り替
える。SMIACT#線の接続については例えば第4図
に示される。そして、CPUは現レジスタの状態情報を
SMRAMの先頭アドレスからスタックに似た態様で格
納する。これをステートセーブと呼ぶが、このステート
セーブ過程が終了するとSMIハンドラによる実行処理
が開始する。
をシステムマネージメントモードに変更しようとすると
きは、CPUはSMIACT#線を低位に保持する。こ
れによって、システムマネージメントモードに移行する
ことを司るメモリコントローラ16の部分がシステムで
使用されるメモリを通常メモリからSMRAMに切り替
える。SMIACT#線の接続については例えば第4図
に示される。そして、CPUは現レジスタの状態情報を
SMRAMの先頭アドレスからスタックに似た態様で格
納する。これをステートセーブと呼ぶが、このステート
セーブ過程が終了するとSMIハンドラによる実行処理
が開始する。
【0007】通常メモリ、SMRAMとCPUの間には
アクセス速度の向上のためにキャッシュ14が存在し、
このキャッシュ14はこのような重複してマッピングさ
れたSMM可能領域についても他の領域と同様にカバー
する。従って、SMM可能領域をアクセスしたときにキ
ャッシュはその中に通常モードに係わるデータ(通常メ
モリから記憶したもの)を持っている場合とシステムマ
ネージメントモードに係わるデータ(SMRAMから記
憶したもの)を持っている場合との、二通りの可能性が
存在する。
アクセス速度の向上のためにキャッシュ14が存在し、
このキャッシュ14はこのような重複してマッピングさ
れたSMM可能領域についても他の領域と同様にカバー
する。従って、SMM可能領域をアクセスしたときにキ
ャッシュはその中に通常モードに係わるデータ(通常メ
モリから記憶したもの)を持っている場合とシステムマ
ネージメントモードに係わるデータ(SMRAMから記
憶したもの)を持っている場合との、二通りの可能性が
存在する。
【0008】キャッシュ14がこのような二通りのメモ
リから記憶されたデータを同一の物理アドレスに関わる
キャッシュラインに有している可能性があるために、C
PUが例えば通常モードからシステムマネージメントモ
ードに切り替えを行ったのちにキャッシュメモリに対し
てアクセスをするときに問題が生じうる。この場合、C
PUが要求した物理アドレスに関わるキャッシュライン
がキャッシュ中に存在すると、キャッシュヒットが生じ
当該データがメインメモリに送出される。しかし、キャ
ッシュ中に格納されているのは通常メモリから記憶した
データであり、CPUが要求している同一物理アドレス
に係わるSMRAMから記憶したデータと相違する。従
って、キャッシュがキャッシュヒットしたという事実の
みをもってそのデータをメインメモリに送ってしまう
と、実際のCPUが要求したデータと送出されたデータ
が一致しないということになる。
リから記憶されたデータを同一の物理アドレスに関わる
キャッシュラインに有している可能性があるために、C
PUが例えば通常モードからシステムマネージメントモ
ードに切り替えを行ったのちにキャッシュメモリに対し
てアクセスをするときに問題が生じうる。この場合、C
PUが要求した物理アドレスに関わるキャッシュライン
がキャッシュ中に存在すると、キャッシュヒットが生じ
当該データがメインメモリに送出される。しかし、キャ
ッシュ中に格納されているのは通常メモリから記憶した
データであり、CPUが要求している同一物理アドレス
に係わるSMRAMから記憶したデータと相違する。従
って、キャッシュがキャッシュヒットしたという事実の
みをもってそのデータをメインメモリに送ってしまう
と、実際のCPUが要求したデータと送出されたデータ
が一致しないということになる。
【0009】この問題はつまり、キャッシュメモリ中の
データはSMRAM中のデータから常に読み出されたも
のではないために生じると言い換えることも可能であ
る。このような問題をキャッシュの不整合または不一致
(cache inconsistency)という。
データはSMRAM中のデータから常に読み出されたも
のではないために生じると言い換えることも可能であ
る。このような問題をキャッシュの不整合または不一致
(cache inconsistency)という。
【0010】モードの切り替えによって物理的なメモリ
を異ならせてオペレーションを行う方式を採用するシス
テムにおいて、このようなキャッシュの不一致の問題を
防ぐためにいろいろな試みがなされてきた。そのひとつ
の方法はCPUがそのモードを変更する度にキャッシュ
フラッシュを行うというものである。この方法によれ
ば、オペレーションモードが変更される度にキャッシュ
上に記憶されていたデータがすべて消去されるのである
から、上述したキャッシュの不一致の問題は生じない。
しかし、キャッシュフラッシュ自体が以下の点で問題が
あった。
を異ならせてオペレーションを行う方式を採用するシス
テムにおいて、このようなキャッシュの不一致の問題を
防ぐためにいろいろな試みがなされてきた。そのひとつ
の方法はCPUがそのモードを変更する度にキャッシュ
フラッシュを行うというものである。この方法によれ
ば、オペレーションモードが変更される度にキャッシュ
上に記憶されていたデータがすべて消去されるのである
から、上述したキャッシュの不一致の問題は生じない。
しかし、キャッシュフラッシュ自体が以下の点で問題が
あった。
【0011】第一にキャッシュフラッシュによればキャ
ッシュ中のすべてのデータが一律に消去されてしまうと
いう点である。つまり、キャッシュ中に存在している有
効な(整合している)データまでがフラッシュの対象と
なるのである。これは無駄な動作である。さらに、この
方法によればキャッシュの内容を一から構築していくい
わゆるコールドスタートという状態からキャッシュ中に
データを再度取り込んで行くわけであるが、これには相
当の時間を必要とする。
ッシュ中のすべてのデータが一律に消去されてしまうと
いう点である。つまり、キャッシュ中に存在している有
効な(整合している)データまでがフラッシュの対象と
なるのである。これは無駄な動作である。さらに、この
方法によればキャッシュの内容を一から構築していくい
わゆるコールドスタートという状態からキャッシュ中に
データを再度取り込んで行くわけであるが、これには相
当の時間を必要とする。
【0012】第二にキャッシュフラッシュという操作自
体の所要時間である。この操作はキャッシュの各ライン
にデータが存在しているか否かをすべてのキャッシュラ
インについて判断して、キャッシュデータを戻していく
作業である。このような作業を行う時間は第一に述べた
コールドスタートからキャッシュをフルにしていく過程
と同等の時間を消費する。
体の所要時間である。この操作はキャッシュの各ライン
にデータが存在しているか否かをすべてのキャッシュラ
インについて判断して、キャッシュデータを戻していく
作業である。このような作業を行う時間は第一に述べた
コールドスタートからキャッシュをフルにしていく過程
と同等の時間を消費する。
【0013】そして、近年キャッシュのサイズは増大の
一途をたどっている。この傾向は上述したキャッシュフ
ラッシュ自体の所要時間やコールドスタートからキャッ
シュをフルにしていく時間を増大する方向に作用する。
従って、CPUがモードを切り替える度にキャッシュフ
ラッシュを行うという従来の方法は非現実的になりつつ
あるということがわかるであろう。
一途をたどっている。この傾向は上述したキャッシュフ
ラッシュ自体の所要時間やコールドスタートからキャッ
シュをフルにしていく時間を増大する方向に作用する。
従って、CPUがモードを切り替える度にキャッシュフ
ラッシュを行うという従来の方法は非現実的になりつつ
あるということがわかるであろう。
【0014】
【発明が解決すべき課題】本願発明の目的はキャッシュ
フラッシュを行うことなくして、かつ、システムマネー
ジメントモードにおいてもキャッシュを使用しつつ、C
PUがオペレーションモードの切り替えを行ったときに
キャッシュの整合性を維持する、効率的な方法を提供す
ることである。
フラッシュを行うことなくして、かつ、システムマネー
ジメントモードにおいてもキャッシュを使用しつつ、C
PUがオペレーションモードの切り替えを行ったときに
キャッシュの整合性を維持する、効率的な方法を提供す
ることである。
【0015】
【課題を解決するための手段】本願発明の適用されるシ
ステムは中央処理装置と、第一の物理メモリと、第一の
物理メモリの全物理アドレスのうちの少なくとも一部の
物理アドレスが共通する第二の物理メモリと、中央処理
装置と前記した物理メモリとの中間に介在して一部の物
理アドレスのうち少なくとも一部をカバーするキャッシ
ュメモリと、キャッシュメモリから物理メモリへのアク
セスを制御するメモリコントローラと、を具備する第1
図のようなシステムである。ここで、中央処理装置は第
一のオペレーションモード(例えば、通常モード)の時
は前記第一の物理メモリ(例えば、通常メモリ)をアク
セスし、第二のオペレーションモード(例えば、システ
ムマネージメントモード)の時は前記第二の物理メモリ
(例えば、SMRAM)をアクセスすることが前提とな
る。
ステムは中央処理装置と、第一の物理メモリと、第一の
物理メモリの全物理アドレスのうちの少なくとも一部の
物理アドレスが共通する第二の物理メモリと、中央処理
装置と前記した物理メモリとの中間に介在して一部の物
理アドレスのうち少なくとも一部をカバーするキャッシ
ュメモリと、キャッシュメモリから物理メモリへのアク
セスを制御するメモリコントローラと、を具備する第1
図のようなシステムである。ここで、中央処理装置は第
一のオペレーションモード(例えば、通常モード)の時
は前記第一の物理メモリ(例えば、通常メモリ)をアク
セスし、第二のオペレーションモード(例えば、システ
ムマネージメントモード)の時は前記第二の物理メモリ
(例えば、SMRAM)をアクセスすることが前提とな
る。
【0016】キャッシュの整合の問題はキャッシュメモ
リ中にそのキャッシュラインに記憶されているデータ源
を特定する情報を設置して、これを利用してキャッシュ
ヒット/ミスの判定をすることによって解決することが
可能である。
リ中にそのキャッシュラインに記憶されているデータ源
を特定する情報を設置して、これを利用してキャッシュ
ヒット/ミスの判定をすることによって解決することが
可能である。
【0017】このために、キャッシュのタグメモリ中に
データ源を特定する情報を格納する手段としてのフラグ
ビットを設置する。そして、キャッシュはCPU要求ア
ドレスに関わるデータがキャッシュ中に存在することの
みを持ってキャッシュヒット/ミスを判断をするのでは
なく、CPUから同時に送られるオペレーションモード
に関する情報をも参酌してCPUが要求しているデータ
のデータ源とキャッシュに格納されているデータのデー
タ源をもが同一かどうかを判断する。かかる二つの条件
が合致したときに始めてキャッシュヒットとの判定を下
す。
データ源を特定する情報を格納する手段としてのフラグ
ビットを設置する。そして、キャッシュはCPU要求ア
ドレスに関わるデータがキャッシュ中に存在することの
みを持ってキャッシュヒット/ミスを判断をするのでは
なく、CPUから同時に送られるオペレーションモード
に関する情報をも参酌してCPUが要求しているデータ
のデータ源とキャッシュに格納されているデータのデー
タ源をもが同一かどうかを判断する。かかる二つの条件
が合致したときに始めてキャッシュヒットとの判定を下
す。
【0018】かかる動作を行うために、中央処理装置は
アクセス要求に関わる物理アドレスの他にシステムが現
在運行されているオペレーションモードを特定する情報
をも出力する。
アクセス要求に関わる物理アドレスの他にシステムが現
在運行されているオペレーションモードを特定する情報
をも出力する。
【0019】
(実施例1)本願発明の第一の方法はキャッシュタグメ
モリにモードを識別するために一ビットのフラグビット
を設けることである。このビットをSMMフラグビット
という。第2図にSMMフラグビットを設けたキャッシ
ュタグメモリの構成の一例20を示す。なお、以下の説
明では便宜上物理アドレスを用いて説明を行うが、本願
発明は論理アドレスによっても同様に実施可能である。
モリにモードを識別するために一ビットのフラグビット
を設けることである。このビットをSMMフラグビット
という。第2図にSMMフラグビットを設けたキャッシ
ュタグメモリの構成の一例20を示す。なお、以下の説
明では便宜上物理アドレスを用いて説明を行うが、本願
発明は論理アドレスによっても同様に実施可能である。
【0020】アドレスフィールド21はストアされてい
るデータの物理アドレスを示す。SMMフラグビット2
3はこのストアされたデータが通常メモリからコピーさ
れたものであるか、或いは、SMRAMからコピーされ
たものであるかを識別するビットである。状態フィール
ド25は複数のフラグから構成される。この複数のフラ
グは例えばデータが有効か無効かを示したり、データが
ダーテイー(キャッシュ内のデータが通常メモリ、SM
RAMに現在格納されているものと異なることをいう)
かどうかを示したりするものである。
るデータの物理アドレスを示す。SMMフラグビット2
3はこのストアされたデータが通常メモリからコピーさ
れたものであるか、或いは、SMRAMからコピーされ
たものであるかを識別するビットである。状態フィール
ド25は複数のフラグから構成される。この複数のフラ
グは例えばデータが有効か無効かを示したり、データが
ダーテイー(キャッシュ内のデータが通常メモリ、SM
RAMに現在格納されているものと異なることをいう)
かどうかを示したりするものである。
【0021】この例ではアドレス1とアドレスNのデー
タはSMMフラグビットが0なので、通常メモリからの
コピーであることが示されている。一方、アドレス2の
データはSMMフラグが1でなので、SMRAMからコ
ピーされたデータである。
タはSMMフラグビットが0なので、通常メモリからの
コピーであることが示されている。一方、アドレス2の
データはSMMフラグが1でなので、SMRAMからコ
ピーされたデータである。
【0022】SMMフラグビットの設定は、いずれかの
物理メモリからデータがキャッシュ中に読み込まれたと
きに行われる。これは通常キャッシュミスと判断された
ときである。データがいずれかの物理メモリから読み込
まれるときに、システムが通常モードであればSMMフ
ラグビットは0にセットされ、システムマネージメント
モードであればSMMフラグビットは1にセットされ
る。システムのモードの監視については例えばキャッシ
ュに接続されているSMIACT#線をモニタすること
によって可能である。この関係をCPUの要求アドレス
に対応するアドレスデコーダの出力の結果得られた物理
アドレスがSMM可能領域にある時と、SMM不能領域
にある時に分けてより詳細に第1表に示す。
物理メモリからデータがキャッシュ中に読み込まれたと
きに行われる。これは通常キャッシュミスと判断された
ときである。データがいずれかの物理メモリから読み込
まれるときに、システムが通常モードであればSMMフ
ラグビットは0にセットされ、システムマネージメント
モードであればSMMフラグビットは1にセットされ
る。システムのモードの監視については例えばキャッシ
ュに接続されているSMIACT#線をモニタすること
によって可能である。この関係をCPUの要求アドレス
に対応するアドレスデコーダの出力の結果得られた物理
アドレスがSMM可能領域にある時と、SMM不能領域
にある時に分けてより詳細に第1表に示す。
【0023】
【表1】 SMIACT# アドレスデコーダ出力 SMMフラグビット 1 − 0 0 SMM可能領域 1 0 SMM不能領域 0 (−は無関係であることを示す。)
【0024】SMIACT#が1(高位)の時は、CP
Uは通常モードを指定している。このとき、アドレスデ
コーダ出力がいかなる物理アドレスを示していたとして
も、データは通常メモリから読み込まれる。従って、S
MMフラグビットが0に設定される。一方、SMIAC
T#が0(低位)の時は、CPUはシステムマネージメ
ントモードを指定している。このときSMMフラグビッ
トの設定はアドレスデコードの結果得られた物理アドレ
スがSMM可能領域かSMM不能領域かによって変化す
る。アドレスデコーダ出力がSMM可能領域を示してい
るときはデータはSMRAMからキャッシュメモリに読
み込まれるから、SMMフラグビットは1に設定され
る。一方、アドレスデコーダ出力がSMM不能領域を示
しているときはデータはSMRAMからキャッシュメモ
リに読み込まれることがない。SMRAMは第1図に示
したように、SMM不能領域をマッピングしていないか
らである。そこで、キャッシュメモリには通常メモリか
らデータが読み込まれ、SMMフラグは0に設定され
る。
Uは通常モードを指定している。このとき、アドレスデ
コーダ出力がいかなる物理アドレスを示していたとして
も、データは通常メモリから読み込まれる。従って、S
MMフラグビットが0に設定される。一方、SMIAC
T#が0(低位)の時は、CPUはシステムマネージメ
ントモードを指定している。このときSMMフラグビッ
トの設定はアドレスデコードの結果得られた物理アドレ
スがSMM可能領域かSMM不能領域かによって変化す
る。アドレスデコーダ出力がSMM可能領域を示してい
るときはデータはSMRAMからキャッシュメモリに読
み込まれるから、SMMフラグビットは1に設定され
る。一方、アドレスデコーダ出力がSMM不能領域を示
しているときはデータはSMRAMからキャッシュメモ
リに読み込まれることがない。SMRAMは第1図に示
したように、SMM不能領域をマッピングしていないか
らである。そこで、キャッシュメモリには通常メモリか
らデータが読み込まれ、SMMフラグは0に設定され
る。
【0025】なお、本実施例はオペレーションモードは
通常モードとシステムマネージメントモードの二種類の
場合について言及している。しかし、例えばさらに多く
の種類のモードでオペレーションを行う可能性も考えら
れる。この場合においては、モードの種類数に応じてS
MIACT#信号線の数とそれに対応するSMMフラグ
ビットの数を増大させればよい。もし、モードの種類が
3種類であったならば、現オペレーションモードを特定
するためにSMIACT#信号線、SMMフラグビット
ともにそれぞれ2本、2ビットづつ必要となろう。かか
る変更は本願発明の実施態様の変更に過ぎず、基本的な
着想は本明細書の開示の範囲に包含される。
通常モードとシステムマネージメントモードの二種類の
場合について言及している。しかし、例えばさらに多く
の種類のモードでオペレーションを行う可能性も考えら
れる。この場合においては、モードの種類数に応じてS
MIACT#信号線の数とそれに対応するSMMフラグ
ビットの数を増大させればよい。もし、モードの種類が
3種類であったならば、現オペレーションモードを特定
するためにSMIACT#信号線、SMMフラグビット
ともにそれぞれ2本、2ビットづつ必要となろう。かか
る変更は本願発明の実施態様の変更に過ぎず、基本的な
着想は本明細書の開示の範囲に包含される。
【0026】CPUから出されるアドレス31はコンパ
レータ33によってキャッシュ中のアドレスフィールド
21と比較される。これと同時に、CPUアドレス31
はアドレスデコーダ35に供給される。このアドレスデ
コーダには同時にSMIACT#信号37とSMMフラ
グビット23も供給されている。アドレスデコーダはC
PUが要求するアドレスをデコードによって特定するこ
とによってSMM可能領域であるか、SMM不能領域で
あるかを判断する。そして、SMIACT#を参照する
ことによって通常メモリにアクセスすべきか、SMRA
Mにアクセスすべきかを決定する。すなわち、SMIA
CT#が低位(システムマネージメントモード)であ
り、CPUがSMM可能領域をアクセス要求していると
きはSMRAMに対してアクセスすべきと決定できる。
その他の場合はアクセスは通常メモリに対して行われ
る。
レータ33によってキャッシュ中のアドレスフィールド
21と比較される。これと同時に、CPUアドレス31
はアドレスデコーダ35に供給される。このアドレスデ
コーダには同時にSMIACT#信号37とSMMフラ
グビット23も供給されている。アドレスデコーダはC
PUが要求するアドレスをデコードによって特定するこ
とによってSMM可能領域であるか、SMM不能領域で
あるかを判断する。そして、SMIACT#を参照する
ことによって通常メモリにアクセスすべきか、SMRA
Mにアクセスすべきかを決定する。すなわち、SMIA
CT#が低位(システムマネージメントモード)であ
り、CPUがSMM可能領域をアクセス要求していると
きはSMRAMに対してアクセスすべきと決定できる。
その他の場合はアクセスは通常メモリに対して行われ
る。
【0027】まず、コンパレータ33がCPUが要求す
るアドレス31とキャッシュタグメモリ中のアドレスフ
ィールド21を比較する。この比較の結果、アドレスが
一致を見なければキャッシュミスと判定される。アドレ
スが一致したときは、さらにアドレスデコーダ35でS
MIACT#37の状態とキャッシュタグメモリ中のS
MMフラグビット23が比較される。
るアドレス31とキャッシュタグメモリ中のアドレスフ
ィールド21を比較する。この比較の結果、アドレスが
一致を見なければキャッシュミスと判定される。アドレ
スが一致したときは、さらにアドレスデコーダ35でS
MIACT#37の状態とキャッシュタグメモリ中のS
MMフラグビット23が比較される。
【0028】そして、その後これらの情報が判定論理3
9で判断される。ここで、SMIACT#が低位(0)
の時はシステムマネージメントモードでオペレーション
がされているで、このときSMMフラグビットは1であ
れば、現在のオペレーションモードとキャッシュ中のデ
ータが記憶されていた物理メモリが一致しているという
点に注意しなければならない。
9で判断される。ここで、SMIACT#が低位(0)
の時はシステムマネージメントモードでオペレーション
がされているで、このときSMMフラグビットは1であ
れば、現在のオペレーションモードとキャッシュ中のデ
ータが記憶されていた物理メモリが一致しているという
点に注意しなければならない。
【0029】判定論理39にはステータスフィールド2
5からの情報も供給される。ステータスフィールドには
例えばデータが有効か無効かを判別する情報が格納され
ている。この場合、ステータスフィールドの情報が無効
であると示されている場合は他の条件がそろっても、キ
ャッシュヒットと判定されることはない。
5からの情報も供給される。ステータスフィールドには
例えばデータが有効か無効かを判別する情報が格納され
ている。この場合、ステータスフィールドの情報が無効
であると示されている場合は他の条件がそろっても、キ
ャッシュヒットと判定されることはない。
【0030】この判定論理39によってなされる比較判
定ロジックの詳細が第2表に示される。
定ロジックの詳細が第2表に示される。
【表2】 # SMIACT# SMMフラク゛ アドレス アドレスデコーダ ヒット/ミス コンパレータ 出力 1 1 1 − − ミス 2 1 0 = − ヒット 3 1 0 ≠ − ミス 4 0 1 = − ヒット 5 0 1 ≠ − ミス 6 0 0 = SMM可能領域 ミス 7 0 0 = SMM不能領域 ヒット 8 0 0 ≠ − ミス (−は無関係であることを示す。)
【0031】例えば、#1〜#3のケースではSMIA
CT#=1、すなわち、通常モードでのオペレーション
である。ケース#1ではSMMフラグビット=1だか
ら、キャッシュ中にはSMRAMからのデータが格納さ
れていることがわかる。一方、CPUが要求するのは通
常メモリからのデータであるから、アドレスの一致/不
一致に関わりなくこのキャッシュライン中のデータはC
PUが要求しているものではない。従って、キャッシュ
メモリからデータを読みとるとるべきはなく、アドレス
コンパレータ及びアドレスデコーダ出力に関係なくキャ
ッシュミスと判定される。次に、ケース#2、3におい
てはSMMフラグが0であるからキャッシュライン中に
は通常メモリからのデータが記憶されている。従って、
アドレスコンパレータが「一致」との判定を下せばキャ
ッシュヒットと判定してよく(ケース#2)、「不一
致」との判定に対してはキャッシュミスと判定すべきで
ある(ケース#3)。
CT#=1、すなわち、通常モードでのオペレーション
である。ケース#1ではSMMフラグビット=1だか
ら、キャッシュ中にはSMRAMからのデータが格納さ
れていることがわかる。一方、CPUが要求するのは通
常メモリからのデータであるから、アドレスの一致/不
一致に関わりなくこのキャッシュライン中のデータはC
PUが要求しているものではない。従って、キャッシュ
メモリからデータを読みとるとるべきはなく、アドレス
コンパレータ及びアドレスデコーダ出力に関係なくキャ
ッシュミスと判定される。次に、ケース#2、3におい
てはSMMフラグが0であるからキャッシュライン中に
は通常メモリからのデータが記憶されている。従って、
アドレスコンパレータが「一致」との判定を下せばキャ
ッシュヒットと判定してよく(ケース#2)、「不一
致」との判定に対してはキャッシュミスと判定すべきで
ある(ケース#3)。
【0032】また、#4〜#8のケースはSMIACT
#=0、すなわち、システムマネージメントモードでの
オペレーションである。このとき、SMMフラグビット
が1であればキャッシュ中のデータはSMRAMから読
み込まれたものであるから、アドレスコンパレータが
「一致」との判定を下せばキャッシュヒットと判定して
よく(ケース#4)、アドレスコンパレータが「不一
致」との判定を下せば、キャッシュミスということにな
る(ケース#5)。SMMフラグ=0、すなわち、キャ
ッシュ中のデータが通常モードにおけるメモリから読み
込まれたものである場合にはさらにアドレスデコーダに
よってSMM可能領域かどうかを判別し、これによって
キャッシュミス/ヒットの判定が変わる。
#=0、すなわち、システムマネージメントモードでの
オペレーションである。このとき、SMMフラグビット
が1であればキャッシュ中のデータはSMRAMから読
み込まれたものであるから、アドレスコンパレータが
「一致」との判定を下せばキャッシュヒットと判定して
よく(ケース#4)、アドレスコンパレータが「不一
致」との判定を下せば、キャッシュミスということにな
る(ケース#5)。SMMフラグ=0、すなわち、キャ
ッシュ中のデータが通常モードにおけるメモリから読み
込まれたものである場合にはさらにアドレスデコーダに
よってSMM可能領域かどうかを判別し、これによって
キャッシュミス/ヒットの判定が変わる。
【0033】まず、アドレスコンパレータの出力が「不
一致」であれば、問題なしにキャッシュミスと判定され
るのは自明であろう(ケース#8)。問題はアドレスコ
ンパレータの出力が「一致」と判定している場合であ
る。この場合、SMM不能領域では現在のオペレーショ
ンモードに関係なく、CPUは通常メモリからのデータ
を要求しており、キャッシュライン中に記憶されている
データも通常メモリから読み込まれたものである。(S
MM不能領域では物理アドレスが決まれば、第1図に示
すようにデータも一義的に定まる。)SMRAMからデ
ータが読み込まれることはあり得ないのであるから、現
在のオペレーションモードがシステムマネージメントモ
ードであったとしてもキャッシュ中に格納されているデ
ータは通常モードに係わるメモリから供給されたもので
ある。従って、アドレスコンパレータの「一致」の出力
をもってキャッシュヒットと判定してもキャッシュの不
一致の問題は生じない(ケース#7)。一方、SMM可
能領域においてはSMMフラグビット=0であることを
もって、キャッシュラインに格納されているデータは通
常メモリから読み込まれたものであることが特定されて
いる。従って、システムマネージメントモード下におい
てこのデータを利用することはできない。キャッシュミ
スと判定すべきことになる(ケース#6)。
一致」であれば、問題なしにキャッシュミスと判定され
るのは自明であろう(ケース#8)。問題はアドレスコ
ンパレータの出力が「一致」と判定している場合であ
る。この場合、SMM不能領域では現在のオペレーショ
ンモードに関係なく、CPUは通常メモリからのデータ
を要求しており、キャッシュライン中に記憶されている
データも通常メモリから読み込まれたものである。(S
MM不能領域では物理アドレスが決まれば、第1図に示
すようにデータも一義的に定まる。)SMRAMからデ
ータが読み込まれることはあり得ないのであるから、現
在のオペレーションモードがシステムマネージメントモ
ードであったとしてもキャッシュ中に格納されているデ
ータは通常モードに係わるメモリから供給されたもので
ある。従って、アドレスコンパレータの「一致」の出力
をもってキャッシュヒットと判定してもキャッシュの不
一致の問題は生じない(ケース#7)。一方、SMM可
能領域においてはSMMフラグビット=0であることを
もって、キャッシュラインに格納されているデータは通
常メモリから読み込まれたものであることが特定されて
いる。従って、システムマネージメントモード下におい
てこのデータを利用することはできない。キャッシュミ
スと判定すべきことになる(ケース#6)。
【0034】(実施例2)実施例1においてはキャッシ
ュメモリ中にアドレスデコーダが組み込まれていたが、
このことは必須事項ではない。キャッシュメモリはSM
IACT#から現在のオペレーションモードを特定し、
さらに、アドレスデコードをすることによってSMM可
能/不能領域を判断し、CPUからのデータアクセス要
求が通常モードに係わるメモリに対するものであるか、
SMRAMに係わるものであるかを判定する機能を有し
ていた。この機能をメモリコントローラのシステムマネ
ージメントモードをサポートしている部分に担当させる
ことも可能である。つまり、メモリコントローラ中に設
けられているアドレスデコーダを利用して同様の機能を
実行させることができる。
ュメモリ中にアドレスデコーダが組み込まれていたが、
このことは必須事項ではない。キャッシュメモリはSM
IACT#から現在のオペレーションモードを特定し、
さらに、アドレスデコードをすることによってSMM可
能/不能領域を判断し、CPUからのデータアクセス要
求が通常モードに係わるメモリに対するものであるか、
SMRAMに係わるものであるかを判定する機能を有し
ていた。この機能をメモリコントローラのシステムマネ
ージメントモードをサポートしている部分に担当させる
ことも可能である。つまり、メモリコントローラ中に設
けられているアドレスデコーダを利用して同様の機能を
実行させることができる。
【0035】第4図はこのときのシステム構成例を示
す。メモリコントローラはCPUからSMIACT#信
号を受けたとき、要求アドレスをデコードしてSMM可
能領域かSMM不能領域かを判別する。そして、現在の
オペレーションがシステムマネージメントモードでなさ
れており(すなわち、SMIACT#信号=低位)、ア
ドレス変換の結果要求アドレスがSMM可能領域であっ
たとき、メモリコントローラはSMRAMをアクセスす
るためにSMMACC信号を高位にする。また、それ以
外の場合はメモリコントローラは通常メモリをアクセス
するためにSMMACC信号を低位に保持される。そし
て、キャッシュメモリ14はSMMACC信号を監視す
ることによって表2に示したロジックと同等なロジック
を利用してキャッシュヒット/ミスの判断をすることが
できる。
す。メモリコントローラはCPUからSMIACT#信
号を受けたとき、要求アドレスをデコードしてSMM可
能領域かSMM不能領域かを判別する。そして、現在の
オペレーションがシステムマネージメントモードでなさ
れており(すなわち、SMIACT#信号=低位)、ア
ドレス変換の結果要求アドレスがSMM可能領域であっ
たとき、メモリコントローラはSMRAMをアクセスす
るためにSMMACC信号を高位にする。また、それ以
外の場合はメモリコントローラは通常メモリをアクセス
するためにSMMACC信号を低位に保持される。そし
て、キャッシュメモリ14はSMMACC信号を監視す
ることによって表2に示したロジックと同等なロジック
を利用してキャッシュヒット/ミスの判断をすることが
できる。
【0036】このときの比較判定ロジックの詳細を第3
表に示す。
表に示す。
【表3】 # SMIACT# SMMフラク゛ アドレス SMMACC ヒット/ミス コンパレータ 1 1 1 − − ミス 2 1 0 = − ヒット 3 1 0 ≠ − ミス 4 0 1 = − ヒット 5 0 1 ≠ − ミス 6 0 0 = 1 ミス 7 0 0 = 0 ヒット 8 0 0 ≠ − ミス (−は無関係であることを示す。)
【0037】この表は実は第2表とほぼ同一のことを示
しているに過ぎない。わずかに、下線を引いた2ヶ所に
おいて異なるのみである。つまり、SMMACC=1と
示される箇所は第2表においては「SMM可能領域」と
示され、SMMACC=0と示される箇所は第2表にお
いては「SMM不能領域」と示されていた。これは、実
施例1ではSMM可能領域かSMM不能領域かの判断を
キャッシュメモリ中のアドレスデコーダで行っていたの
に対し、本実施例においてはこれをメモリコントローラ
中で行い、この結果をSMMACC信号という形で表現
してキャッシュメモリに伝えるという相違を表すもので
ある。この表の詳細な説明については第2表についての
説明を参照されたい。
しているに過ぎない。わずかに、下線を引いた2ヶ所に
おいて異なるのみである。つまり、SMMACC=1と
示される箇所は第2表においては「SMM可能領域」と
示され、SMMACC=0と示される箇所は第2表にお
いては「SMM不能領域」と示されていた。これは、実
施例1ではSMM可能領域かSMM不能領域かの判断を
キャッシュメモリ中のアドレスデコーダで行っていたの
に対し、本実施例においてはこれをメモリコントローラ
中で行い、この結果をSMMACC信号という形で表現
してキャッシュメモリに伝えるという相違を表すもので
ある。この表の詳細な説明については第2表についての
説明を参照されたい。
【0038】かかる相違点に鑑みれば、本実施例におい
てはキャッシュメモリ中にアドレスデコーダが存在しな
い点が特徴となる。このことによって、キャッシュメモ
リの構造について簡略なものとすることができる。従っ
て、同一のスペースでキャッシュメモリの容量を大きく
とりたい場合に本実施例は有効である。
てはキャッシュメモリ中にアドレスデコーダが存在しな
い点が特徴となる。このことによって、キャッシュメモ
リの構造について簡略なものとすることができる。従っ
て、同一のスペースでキャッシュメモリの容量を大きく
とりたい場合に本実施例は有効である。
【0039】(実施例3)これらの実施例ではキャッシ
ュタグメモリのそれぞれのラインにデータ源を特定する
ためのSMMフラグビットを設けていた。しかし、この
ようにビットを追加することはチップサイズの制約、消
費パワーの面から望ましくないこともありうる。
ュタグメモリのそれぞれのラインにデータ源を特定する
ためのSMMフラグビットを設けていた。しかし、この
ようにビットを追加することはチップサイズの制約、消
費パワーの面から望ましくないこともありうる。
【0040】本実施例ではかかるフラグビットを設けず
に、SMRAMへのアクセスに対してはキャッシュメモ
リを使用しないことによってキャッシュの整合を保つ方
法を開示する。つまり、CPUがSMRAMをアクセス
しようとするときは、キャッシュメモリへのアクセスは
無視され、直接にSMRAMに対してアクセスがなされ
る。
に、SMRAMへのアクセスに対してはキャッシュメモ
リを使用しないことによってキャッシュの整合を保つ方
法を開示する。つまり、CPUがSMRAMをアクセス
しようとするときは、キャッシュメモリへのアクセスは
無視され、直接にSMRAMに対してアクセスがなされ
る。
【0041】本実施例を第6図にタイミング図で示す。
これによると、SMIACT#が高位にあるときはメモ
リコントローラはアドレスのデコードを行い、キャッシ
ュメモリに対してSMMACC信号を発してアクセスを
行う。このとき、第一サイクルにおいてCPUはアクセ
スを開始する。第二サイクルにおいてメモリコントロー
ラはCPUアドレスを直ちにデコードし、アクセスがS
MRAMに対して行われたときにはSMMACC信号を
高位に保ち、通常メモリに対して行われたときはSMM
ACC信号を低位にする。SMMACC信号が高位の場
合はキャッシュメモリはこれに対するアクセスを無視す
る。一方、SMMACC信号が低位の場合キャッシュメ
モリは通常通り作動する。
これによると、SMIACT#が高位にあるときはメモ
リコントローラはアドレスのデコードを行い、キャッシ
ュメモリに対してSMMACC信号を発してアクセスを
行う。このとき、第一サイクルにおいてCPUはアクセ
スを開始する。第二サイクルにおいてメモリコントロー
ラはCPUアドレスを直ちにデコードし、アクセスがS
MRAMに対して行われたときにはSMMACC信号を
高位に保ち、通常メモリに対して行われたときはSMM
ACC信号を低位にする。SMMACC信号が高位の場
合はキャッシュメモリはこれに対するアクセスを無視す
る。一方、SMMACC信号が低位の場合キャッシュメ
モリは通常通り作動する。
【0042】このように、キャッシュメモリがSMMA
CC信号をモニタすることによってデータをCPU側に
送出するかどうかを決定する。
CC信号をモニタすることによってデータをCPU側に
送出するかどうかを決定する。
【0043】通常のシステムはハンドシェーク方式を採
用することができるが、システムによってはアドレスの
デコーデイング、データ送出準備が遅いために第3サイ
クル目の前端までにデータのセットアップが終了しない
ものもある。かかるシステムにおいては、オペレーショ
ンモードの判断を第2サイクルの終端まで送らせること
によってこの方式を適用することが可能である。つま
り、CPUがシステムマネージマントモードにあると
き、キャッシュメモリはデータを送出するかどうかを判
断するためにSMMACCの信号の状態を第2サイクル
の終端においてモニタする。
用することができるが、システムによってはアドレスの
デコーデイング、データ送出準備が遅いために第3サイ
クル目の前端までにデータのセットアップが終了しない
ものもある。かかるシステムにおいては、オペレーショ
ンモードの判断を第2サイクルの終端まで送らせること
によってこの方式を適用することが可能である。つま
り、CPUがシステムマネージマントモードにあると
き、キャッシュメモリはデータを送出するかどうかを判
断するためにSMMACCの信号の状態を第2サイクル
の終端においてモニタする。
【0044】かかるシステムにおいてはキャッシュメモ
リは0ウエイトでオペレーションすることができない。
従って、システムマネージメントモードにおいては通常
モードにおけるよりも余分なサイクルを消費することに
なる。しかし、システムマネージメントモードによって
オペレーションがされる全時間は比較的小さいので、こ
の点はシステムの性能を大きく低下させることにはなら
ない。少なくとも、従来技術のようにキャッシュフラッ
シュを行うよりはシステムのスループットは改善される
であろう。
リは0ウエイトでオペレーションすることができない。
従って、システムマネージメントモードにおいては通常
モードにおけるよりも余分なサイクルを消費することに
なる。しかし、システムマネージメントモードによって
オペレーションがされる全時間は比較的小さいので、こ
の点はシステムの性能を大きく低下させることにはなら
ない。少なくとも、従来技術のようにキャッシュフラッ
シュを行うよりはシステムのスループットは改善される
であろう。
【0045】
【発明の効果】複数のオペレーションモードによってオ
ペレーションがなされるコンピュータシステムにおい
て、オペレーションモードごとにアクセスする物理メモ
リが異なったときでもキャッシュの利用を排除すること
がなくシステムのオペレーションが可能である。特に、
キャッシュフラッシュを行うことがないので、システム
のスループットを単一モードのみしか用いないシステム
とほぼ同等に維持することが可能である。
ペレーションがなされるコンピュータシステムにおい
て、オペレーションモードごとにアクセスする物理メモ
リが異なったときでもキャッシュの利用を排除すること
がなくシステムのオペレーションが可能である。特に、
キャッシュフラッシュを行うことがないので、システム
のスループットを単一モードのみしか用いないシステム
とほぼ同等に維持することが可能である。
【図1】システムの全体の構成とメモリの一例を示す。
【図2】SMMフラグビットを含むキャッシュタグメモ
リの構成を示す。
リの構成を示す。
【図3】キャッシュのヒット/ミスを判定する機構を示
す。
す。
【図4】実施例2におけるシステムとSMMACC信号
を示す。
を示す。
【図5】SMMACC信号のタイミング図を示す。
【図6】本発明の適用される一般的なパーソナルコンピ
ュータシステムの模式図を示す。
ュータシステムの模式図を示す。
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成7年10月12日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】図1
【補正方法】変更
【補正内容】
【図1】 ─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成7年10月12日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】図面の簡単な説明
【補正方法】変更
【補正内容】
【図面の簡単な説明】
【図1】システムの全体の構成とメモリの一例を示す。
【図2】SMMフラグビットを含むキャッシュタグメモ
リの構成を示す。
リの構成を示す。
【図3】キャッシュのヒット/ミスを判定する機構を示
す。
す。
【図4】実施例2におけるシステムとSMMACC信号
を示す。
を示す。
【図5】本発明の適用される一般的なパーソナルコンピ
ュータシステムの模式図を示す。
ュータシステムの模式図を示す。
【図6】SMMACC信号のタイミング図を示す。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中田 武男 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 東京基礎研究所 内 (72)発明者 庄 郁雄 滋賀県野洲郡野洲町大字市三宅800番地 日本アイ・ビー・エム株式会社 野洲事業 所内
Claims (7)
- 【請求項1】中央処理装置と、全アドレスのうちの少な
くとも一部のアドレスが互いに共通する複数の物理メモ
リと、前記中央処理装置と前記複数の物理メモリとの中
間に介在して上記一部のアドレスのうち少なくとも一部
をカバーするキャッシュメモリと、を具備し、前記共通
するアドレス領域ではオペレーションモードによって優
先してアクセスされる前記複数の物理メモリのうちの一
つである第一の物理メモリが予め定められているコンピ
ュータシステムであって、 前記中央処理装置は前記コンピュータシステムが運行さ
れている現在のオペレーションモードを特定する情報と
アクセスするアドレスを特定する情報を出力して前記複
数の物理メモリのうちの一つの物理メモリをアクセス
し、かつ、前記アクセスを前記キャッシュメモリを通じ
て行う前記中央処理装置と、 前記キャッシュメモリはキャッシュラインごとに記憶さ
れているデータと同一のデータを保持する前記複数の物
理メモリのうちの一つの物理メモリを特定する情報を有
している、コンピュータシステム。 - 【請求項2】前記キャッシュメモリが前記中央処理装置
の出力したアドレスを特定する情報をデコードして前記
共通するアドレスかどうかを判定するアドレスデコーダ
を有している、請求項1のコンピュータシステム。 - 【請求項3】前記キャッシュメモリと前記物理メモリと
に接続されたメモリコントローラをさらに具備し、前記
メモリコントローラは前記オペレーションモードを特定
する情報と前記アクセスするアドレスから前記第一の物
理メモリにアクセスすべきかどうかを判断し、該判断を
表示する信号を発生する、請求項1のコンピュータシス
テム。 - 【請求項4】請求項1記載のコンピュータシステムにお
いて、キャッシュヒットを判断する方法であって、 前記共通するアドレスが前記中央処理装置によってアク
セス要求されたとき、前記中央処理装置の要求するアド
レスに関わるデータが前記キャッシュメモリに記憶され
ており、かつ、前記第一の物理メモリに関わるデータが
前記キャッシュメモリに記憶されていること、を条件と
してキャッシュヒットと判断する方法。 - 【請求項5】請求項1記載のコンピュータシステムにお
いて、キャッシュヒットを判断する方法であって、 前記共通するアドレス以外のアドレスが前記中央処理装
置によってアクセス要求されたとき、前記中央処理装置
の要求するアドレスに関わるデータが前記キャッシュメ
モリに記憶されていることを条件としてキャッシュヒッ
トと判断する方法。 - 【請求項6】請求項1記載のコンピュータシステムにお
いて、キャッシュミスを判断する方法であって、 前記中央処理装置によって要求されたアドレスが前記共
通するアドレスかどうかを判別するステップと、 前記中央処理装置の要求するアドレスに関わるデータが
前記キャッシュメモリに記憶されているかどうか比較判
定する第一比較判定ステップと、 前記中央処理装置によって要求されたアドレスが前記共
通するアドレスに関わるときは、前記第一の物理メモリ
に関わるデータが前記キャッシュメモリに記憶されてい
るかどうか比較判定する第二比較判定ステップを有し、 前記第一比較判定ステップ、前記第二比較判定ステップ
のいずれかで不一致と判定されたときは、キャッシュミ
スと判断する方法。 - 【請求項7】中央処理装置と、第一の物理メモリと、前
記第一の物理メモリの全アドレスのうちの少なくとも一
部のアドレスが共通する第二の物理メモリと、前記中央
処理装置と前記した物理メモリとの中間に介在して上記
一部のアドレスのうち少なくとも一部をカバーするキャ
ッシュメモリとを具備し、前記アドレスが共通する領域
で、前記中央処理装置は第一のオペレーションモードの
時は前記第一の物理メモリをアクセスし、第二のオペレ
ーションモードの時は前記第二の物理メモリをアクセス
するコンピュータシステムであって、 前記中央処理装置は前記コンピュータシステムが運行さ
れている前記オペレーションモードを特定する情報とア
クセスする前記アドレスを特定する情報とを出力して前
記オペレーションモードに対応した前記物理メモリをア
クセスし、かつ、前記アクセスを前記キャッシュメモリ
を通じて行う前記中央処理装置と、 前記キャッシュメモリはキャッシュラインごとに記憶さ
れているデータと同一のデータを保持する前記物理メモ
リを特定する情報を有している、コンピュータシステ
ム。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6221614A JP2634147B2 (ja) | 1994-09-16 | 1994-09-16 | コンピュータシステム、キャッシュヒットの判定方法 |
| US08/529,298 US6049852A (en) | 1994-09-16 | 1995-09-15 | Preserving cache consistency in a computer system having a plurality of memories with overlapping address ranges |
| KR1019950030307A KR0184625B1 (ko) | 1994-09-16 | 1995-09-16 | 컴퓨터 시스템 및 캐시 히트/미스 판단 방법 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6221614A JP2634147B2 (ja) | 1994-09-16 | 1994-09-16 | コンピュータシステム、キャッシュヒットの判定方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0895863A true JPH0895863A (ja) | 1996-04-12 |
| JP2634147B2 JP2634147B2 (ja) | 1997-07-23 |
Family
ID=16769517
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6221614A Expired - Lifetime JP2634147B2 (ja) | 1994-09-16 | 1994-09-16 | コンピュータシステム、キャッシュヒットの判定方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US6049852A (ja) |
| JP (1) | JP2634147B2 (ja) |
| KR (1) | KR0184625B1 (ja) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6636944B1 (en) * | 1997-04-24 | 2003-10-21 | International Business Machines Corporation | Associative cache and method for replacing data entries having an IO state |
| US6393498B1 (en) * | 1999-03-02 | 2002-05-21 | Mentor Arc Inc. | System for reducing processor workloads with memory remapping techniques |
| US6687782B1 (en) * | 2000-04-25 | 2004-02-03 | Snap-On Technologies, Inc. | Method and implementation for addressing and accessing an expanded read only memory (ROM) |
| US6934762B1 (en) * | 2000-04-27 | 2005-08-23 | Redundant Networks, Inc. | Method and apparatus for providing backup internet access |
| KR100351504B1 (ko) * | 2000-06-05 | 2002-09-05 | 삼성전자 주식회사 | 캐쉬 메모리, 그의 전력 소비 절감 방법 그리고 캐쉬메모리를 구비하는 데이터 처리 시스템 |
| US7107405B2 (en) * | 2003-05-30 | 2006-09-12 | Intel Corporation | Writing cached data to system management memory |
| US7225284B2 (en) * | 2004-08-02 | 2007-05-29 | Dell Products L.P. | Increasing the quantity of I/O decode ranges using SMI traps |
| US8683158B2 (en) * | 2005-12-30 | 2014-03-25 | Intel Corporation | Steering system management code region accesses |
| US7896823B2 (en) * | 2006-01-17 | 2011-03-01 | Theranova, Llc | Method and apparatus for treating wound using negative pressure therapy |
| US8935549B2 (en) * | 2010-06-30 | 2015-01-13 | Via Technologies, Inc. | Microprocessor with multicore processor power credit management feature |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62143148A (ja) * | 1985-12-17 | 1987-06-26 | Mitsubishi Electric Corp | 記憶管理システム |
Family Cites Families (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4158227A (en) * | 1977-10-12 | 1979-06-12 | Bunker Ramo Corporation | Paged memory mapping with elimination of recurrent decoding |
| US4484267A (en) * | 1981-12-30 | 1984-11-20 | International Business Machines Corporation | Cache sharing control in a multiprocessor |
| US4885680A (en) * | 1986-07-25 | 1989-12-05 | International Business Machines Corporation | Method and apparatus for efficiently handling temporarily cacheable data |
| US5038278A (en) * | 1988-04-01 | 1991-08-06 | Digital Equipment Corporation | Cache with at least two fill rates |
| US5155826A (en) * | 1988-12-05 | 1992-10-13 | Fadem Richard J | Memory paging method and apparatus |
| US5491806A (en) * | 1990-06-26 | 1996-02-13 | Lsi Logic Corporation | Optimized translation lookaside buffer slice having stored mask bits |
| US5175853A (en) * | 1990-10-09 | 1992-12-29 | Intel Corporation | Transparent system interrupt |
| US5265232A (en) * | 1991-04-03 | 1993-11-23 | International Business Machines Corporation | Coherence control by data invalidation in selected processor caches without broadcasting to processor caches not having the data |
| US5636363A (en) * | 1991-06-14 | 1997-06-03 | Integrated Device Technology, Inc. | Hardware control structure and method for off-chip monitoring entries of an on-chip cache |
| JP2839060B2 (ja) * | 1992-03-02 | 1998-12-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データ処理システムおよびデータ処理方法 |
| DE4309532C2 (de) * | 1992-03-25 | 1996-10-31 | Intel Corp | Verfahren zum Sichern einer Systemabbildung eines Computersystems auf einer permanenten Speichereinrichtung sowie ein Computersystem |
| US5357628A (en) * | 1992-03-25 | 1994-10-18 | Intel Corporation | Computer system having integrated source level debugging functions that provide hardware information using transparent system interrupt |
| US5675763A (en) * | 1992-07-15 | 1997-10-07 | Digital Equipment Corporation | Cache memory system and method for selectively removing stale aliased entries |
| US5574877A (en) * | 1992-09-25 | 1996-11-12 | Silicon Graphics, Inc. | TLB with two physical pages per virtual tag |
| US5603011A (en) * | 1992-12-11 | 1997-02-11 | International Business Machines Corporation | Selective shadowing and paging in computer memory systems |
| US5475829A (en) * | 1993-03-22 | 1995-12-12 | Compaq Computer Corp. | Computer system which overrides write protection status during execution in system management mode |
| US5509139A (en) * | 1993-03-22 | 1996-04-16 | Compaq Computer Corp. | Circuit for disabling an address masking control signal using OR gate when a microprocessor is in a system management mode |
| US5579503A (en) * | 1993-11-16 | 1996-11-26 | Mitsubishi Electric Information Technology | Direct cache coupled network interface for low latency |
| US5630147A (en) * | 1993-12-17 | 1997-05-13 | Intel Corporation | System management shadow port |
| US5745770A (en) * | 1993-12-27 | 1998-04-28 | Intel Corporation | Method and apparatus for servicing simultaneous I/O trap and debug traps in a microprocessor |
| US5577221A (en) * | 1994-04-14 | 1996-11-19 | Industrial Technology Research Institute | Method and device for expanding ROM capacity |
| US5544344A (en) * | 1994-12-06 | 1996-08-06 | Digital Equipment Corporation | Apparatus for caching smram in an intel processor based computer system employing system management mode |
| US5638532A (en) * | 1994-12-06 | 1997-06-10 | Digital Equipment Corporation | Apparatus and method for accessing SMRAM in a computer based upon a processor employing system management mode |
-
1994
- 1994-09-16 JP JP6221614A patent/JP2634147B2/ja not_active Expired - Lifetime
-
1995
- 1995-09-15 US US08/529,298 patent/US6049852A/en not_active Expired - Fee Related
- 1995-09-16 KR KR1019950030307A patent/KR0184625B1/ko not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62143148A (ja) * | 1985-12-17 | 1987-06-26 | Mitsubishi Electric Corp | 記憶管理システム |
Also Published As
| Publication number | Publication date |
|---|---|
| KR960011713A (ko) | 1996-04-20 |
| US6049852A (en) | 2000-04-11 |
| KR0184625B1 (ko) | 1999-05-15 |
| JP2634147B2 (ja) | 1997-07-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6138208A (en) | Multiple level cache memory with overlapped L1 and L2 memory access | |
| US6219759B1 (en) | Cache memory system | |
| US5524233A (en) | Method and apparatus for controlling an external cache memory wherein the cache controller is responsive to an interagent communication for performing cache control operations | |
| US7089391B2 (en) | Managing a codec engine for memory compression/decompression operations using a data movement engine | |
| US6976126B2 (en) | Accessing data values in a cache | |
| US6578065B1 (en) | Multi-threaded processing system and method for scheduling the execution of threads based on data received from a cache memory | |
| JPH06243039A (ja) | キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法 | |
| EP1107123B1 (en) | Smart cache | |
| JPH0195346A (ja) | バスマスタ | |
| JPH04242848A (ja) | 走行モード別キャッシュメモリ制御方式 | |
| JP2634147B2 (ja) | コンピュータシステム、キャッシュヒットの判定方法 | |
| KR100814982B1 (ko) | 다수의 채움 모드를 구비한 캐시 | |
| JP3431878B2 (ja) | マルチスレッド・プロセッサの命令キャッシュ | |
| JP2838210B2 (ja) | バスマスタ | |
| US5954812A (en) | Apparatus for caching system management memory in a computer having a system management mode employing address translation | |
| US5752262A (en) | System and method for enabling and disabling writeback cache | |
| JPH0784879A (ja) | キャッシュメモリ装置 | |
| JPH0883215A (ja) | メモリ制御装置 | |
| JPH09319654A (ja) | コンピュータシステム | |
| JPH0642211B2 (ja) | キヤツシユメモリの制御方法 | |
| EP0400851A2 (en) | Efficient cache utilizing a store buffer | |
| JPH096679A (ja) | コンピュータシステム、集積化プロセッサ、および集積化プロセッサのためのキャッシュ制御方法 | |
| JPS6339058A (ja) | キヤツシユ記憶装置の無効化方式 | |
| JPH0467229A (ja) | マイクロプロセッサおよびメモリシステム | |
| JPH061440B2 (ja) | デジタルデータ処理装置内で使用されるプロセッサ及びデータ処理方法 |