JPH0581128A - キヤツシユの保全性維持方法及び装置 - Google Patents
キヤツシユの保全性維持方法及び装置Info
- Publication number
- JPH0581128A JPH0581128A JP3301334A JP30133491A JPH0581128A JP H0581128 A JPH0581128 A JP H0581128A JP 3301334 A JP3301334 A JP 3301334A JP 30133491 A JP30133491 A JP 30133491A JP H0581128 A JPH0581128 A JP H0581128A
- Authority
- JP
- Japan
- Prior art keywords
- rom
- cpu
- memory
- cache
- ram
- 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
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【目的】 キャッシュ・メモリ内におけるデータの保全
性を保証する方法及び装置の提供。 【構成】 CPU、RAM、及び、ROM間における協
働に制御を加えるローカル・メモリ・コントローラは、
RAMに対してROMのマッピングが施される操作モー
ドが使用可能になる毎に、スヌープ・サイクルを実施し
て、CPUのROMに対する書き込み操作を検出し、こ
うした書き込み操作を検出すると、キャッシュ無効信号
をCPUに加える。CPUは、CPUとメモリ・コント
ローラを結合するローカル・バスにおける無効アドレス
と共に、無効信号を利用し、CPUのROMに対する書
き込み操作が目標とする主メモリ・アドレスに対応する
キャッシュ・データ項目を無効にする。無効化は、書き
込み操作の進行中に行われる。
性を保証する方法及び装置の提供。 【構成】 CPU、RAM、及び、ROM間における協
働に制御を加えるローカル・メモリ・コントローラは、
RAMに対してROMのマッピングが施される操作モー
ドが使用可能になる毎に、スヌープ・サイクルを実施し
て、CPUのROMに対する書き込み操作を検出し、こ
うした書き込み操作を検出すると、キャッシュ無効信号
をCPUに加える。CPUは、CPUとメモリ・コント
ローラを結合するローカル・バスにおける無効アドレス
と共に、無効信号を利用し、CPUのROMに対する書
き込み操作が目標とする主メモリ・アドレスに対応する
キャッシュ・データ項目を無効にする。無効化は、書き
込み操作の進行中に行われる。
Description
【0001】
【産業上の利用分野】本発明は、一般に、中央演算処理
装置(CPU)及び関連するキャッシュ・メモリ、ラン
ダム・アクセス・メモリ(RAM)、読み取り専用メモ
リ(ROM)、及び、CPUと前述のメモリとの協動を
制御するローカル・メモリ・コントローラから成るコン
ピュータ・システムにおいて、キャッシュ・メモリのデ
ータの保全性を維持する方法及び装置に関するものであ
る。とりわけ、本発明は、RAMに対してROMのマッ
ピングが施される操作モードが支援され、RAMに対し
てROMのマッピングが施される操作モードが使用可能
になっている間に、CPUのROMに対する書き込み操
作が実施される、上述のようなコンピュータ・システム
において、キャッシュの保全性を維持する方法及び装置
に関するものである。
装置(CPU)及び関連するキャッシュ・メモリ、ラン
ダム・アクセス・メモリ(RAM)、読み取り専用メモ
リ(ROM)、及び、CPUと前述のメモリとの協動を
制御するローカル・メモリ・コントローラから成るコン
ピュータ・システムにおいて、キャッシュ・メモリのデ
ータの保全性を維持する方法及び装置に関するものであ
る。とりわけ、本発明は、RAMに対してROMのマッ
ピングが施される操作モードが支援され、RAMに対し
てROMのマッピングが施される操作モードが使用可能
になっている間に、CPUのROMに対する書き込み操
作が実施される、上述のようなコンピュータ・システム
において、キャッシュの保全性を維持する方法及び装置
に関するものである。
【0002】
【従来の技術】IBM PS/2モデル70のような周
知のコンピュータ・システムは、RAMに対するROM
のマッピングを支援して、システムの操作速度を高め
る。IBM及びIBM PS/2という用語は、INT
ERNATIONAL BUSINESS MACHI
NES CORPORATIONの登録商標である。
知のコンピュータ・システムは、RAMに対するROM
のマッピングを支援して、システムの操作速度を高め
る。IBM及びIBM PS/2という用語は、INT
ERNATIONAL BUSINESS MACHI
NES CORPORATIONの登録商標である。
【0003】本書の定義によれば、所定の信号または所
定の1組の信号の存在(または、代替案として不在)を
検出しようとする際に、システム装置が実施する操作で
ある、コンピュータ・システムの「スヌープ」操作の実
施も、周知のところである。例えば、キャッシュ・メモ
リを含むコンピュータ・システムの場合、スヌープ・サ
イクルは、ローカル・メモリ・コントローラが、特定の
メモリ・コントローラの制御下によるキャッシュのデー
タを含む主メモリに対する外部書き込み操作(例えば、
書き込みは、外部バス・マスタによって行われる)を検
出することによって実施されてきた。こうした書き込み
操作が、ローカル・メモリ・コントローラのスヌープ・
サイクル時に検出される場合、コントローラによる既知
の応答は、ローカルCPUに無効信号及びキャッシュ・
アドレス信号を加えて、適合するキャッシュ項目をロー
カルCPUによって無効にできるようにすることであ
る。
定の1組の信号の存在(または、代替案として不在)を
検出しようとする際に、システム装置が実施する操作で
ある、コンピュータ・システムの「スヌープ」操作の実
施も、周知のところである。例えば、キャッシュ・メモ
リを含むコンピュータ・システムの場合、スヌープ・サ
イクルは、ローカル・メモリ・コントローラが、特定の
メモリ・コントローラの制御下によるキャッシュのデー
タを含む主メモリに対する外部書き込み操作(例えば、
書き込みは、外部バス・マスタによって行われる)を検
出することによって実施されてきた。こうした書き込み
操作が、ローカル・メモリ・コントローラのスヌープ・
サイクル時に検出される場合、コントローラによる既知
の応答は、ローカルCPUに無効信号及びキャッシュ・
アドレス信号を加えて、適合するキャッシュ項目をロー
カルCPUによって無効にできるようにすることであ
る。
【0004】しかし、(1)RAMに対するROMにマ
ッピングを支援し、(2)前述のマッピングが使用可能
になっている時に、CPUのROMに対する書き込み操
作が実施される場合、キャッシュ・メモリ内のデータを
破壊から保護するコンピュータ・システムは、知られて
いない。ROM書き込み操作で、ROMの内容を修正す
ることはできないが、ROMのデータがRAMに対して
マッピングを施されており、CPUのROMに対する書
き込み操作に先立つ取り出し時に、キャッシュが用いら
れる場合、CPUのROMに対する書き込み操作が実施
される時、無効キャッシュ・データが生成される可能性
があるのは、明かである。各CPUは、通常、プロセッ
サに関連したキャッシュ・メモリのデータを更新し、非
現在キャッシュ・データ等を無効にする責任があるの
で、こうした可能性がある。
ッピングを支援し、(2)前述のマッピングが使用可能
になっている時に、CPUのROMに対する書き込み操
作が実施される場合、キャッシュ・メモリ内のデータを
破壊から保護するコンピュータ・システムは、知られて
いない。ROM書き込み操作で、ROMの内容を修正す
ることはできないが、ROMのデータがRAMに対して
マッピングを施されており、CPUのROMに対する書
き込み操作に先立つ取り出し時に、キャッシュが用いら
れる場合、CPUのROMに対する書き込み操作が実施
される時、無効キャッシュ・データが生成される可能性
があるのは、明かである。各CPUは、通常、プロセッ
サに関連したキャッシュ・メモリのデータを更新し、非
現在キャッシュ・データ等を無効にする責任があるの
で、こうした可能性がある。
【0005】従って、RAMに対するROMのマッピン
グが施されて、CPUのROMに対する書き込み操作が
実施される毎に、キャッシュ・メモリのデータの保全性
を保証する方法及び装置が設けられていることが、望ま
しい。また、こうした方法及び装置を、コンピュータ・
システムに追加ハードウェアを導入せずに、既存のシス
テム・コンポーネント(メモリ・コントローラ、CPU
等)を用いて実現できることが望ましい。
グが施されて、CPUのROMに対する書き込み操作が
実施される毎に、キャッシュ・メモリのデータの保全性
を保証する方法及び装置が設けられていることが、望ま
しい。また、こうした方法及び装置を、コンピュータ・
システムに追加ハードウェアを導入せずに、既存のシス
テム・コンポーネント(メモリ・コントローラ、CPU
等)を用いて実現できることが望ましい。
【0006】さらに、意図された方法及び装置が、CP
UのROMに対する書き込み操作の実施と並行して、キ
ャッシュの保全性を維持するのに必要な機能を実施する
ことが、望ましい。
UのROMに対する書き込み操作の実施と並行して、キ
ャッシュの保全性を維持するのに必要な機能を実施する
ことが、望ましい。
【0007】さらに、スヌープ・サイクルが、所定のC
PUによって実施されるROM書き込み操作(RAMに
対するROMのマッピングを施して)が検出できる間
に、該CPUと協動しなければならないメモリ・コント
ローラで実施できることが、望ましい。
PUによって実施されるROM書き込み操作(RAMに
対するROMのマッピングを施して)が検出できる間
に、該CPUと協動しなければならないメモリ・コント
ローラで実施できることが、望ましい。
【0008】さらに、キャッシュ項目を無効にする既存
の信号プロトコル(キャッシュの保全性を維持するた
め)は、CPUのROMに対する書き込み操作を検出す
る前述のスヌープ・サイクルと関連して利用し、所望の
キャッシュ無効手順を実施するために、コンピュータ・
システムの全体設計及び複雑性を変更しなくてもすむよ
うにすることができることが、望ましい。
の信号プロトコル(キャッシュの保全性を維持するた
め)は、CPUのROMに対する書き込み操作を検出す
る前述のスヌープ・サイクルと関連して利用し、所望の
キャッシュ無効手順を実施するために、コンピュータ・
システムの全体設計及び複雑性を変更しなくてもすむよ
うにすることができることが、望ましい。
【0009】
【発明が解決しようとする課題】本発明の主たる目的
は、RAMに対してROMのマッピングを施して、CP
UのROMに対する書き込み操作が実施される毎に、キ
ャッシュ・メモリ内におけるデータの保全性を保証する
方法及び装置を提供することにある。
は、RAMに対してROMのマッピングを施して、CP
UのROMに対する書き込み操作が実施される毎に、キ
ャッシュ・メモリ内におけるデータの保全性を保証する
方法及び装置を提供することにある。
【0010】本発明のもう1つの目的は、RAMに対し
てROMのマッピングが施されるモードが、コンピュー
タ・システムによって支援され、前記モードが使用可能
になる毎に、CPUのROMに対する書き込み操作を検
出する方法及び装置を提供することにある。
てROMのマッピングが施されるモードが、コンピュー
タ・システムによって支援され、前記モードが使用可能
になる毎に、CPUのROMに対する書き込み操作を検
出する方法及び装置を提供することにある。
【0011】本発明のもう1つの目的は、RAMに対し
てROMのマッピングが施されると、CPUのROMに
対する書き込みが実施される毎に、既存のキャッシュ項
目無効信号プロトコルを利用して、キャッシュの保全性
を維持する方法及び装置を提供することにある。
てROMのマッピングが施されると、CPUのROMに
対する書き込みが実施される毎に、既存のキャッシュ項
目無効信号プロトコルを利用して、キャッシュの保全性
を維持する方法及び装置を提供することにある。
【0012】さらにもう1つの目的は、ローカル・メモ
リ・コントローラを利用し、こうしたコントローラでス
ヌープ・サイクルを実施して、RAMに対してROMの
マッピングが施される毎に、CPUのROMに対する書
き込み操作を検出することによって、本発明の意図する
機能が実施できるようにすることにある。
リ・コントローラを利用し、こうしたコントローラでス
ヌープ・サイクルを実施して、RAMに対してROMの
マッピングが施される毎に、CPUのROMに対する書
き込み操作を検出することによって、本発明の意図する
機能が実施できるようにすることにある。
【0013】
【課題を解決するための手段】本発明によれば、CPU
がROMスペースに対する書き込みを実施し、RAMに
対してROMのマッピングが施されるモードが、使用可
能になる毎に、ローカル・バスによってCPUに結合さ
れたローカル・メモリ・コントローラは、(1)スヌー
プ・サイクルを実施して、ROMに対するCPUの書き
込み操作を検出し、こうした操作を検出すると、(2)
CPUにキャッシュ無効信号を加える。CPUは、ロー
カル・バスに既存の無効アドレス(CPUによって指定
されたROMの書き込みアドレス)と共に、無効信号を
利用して、CPUのROMに対する書き込み操作が目標
とする主メモリ・アドレスに対応するキャッシュ・デー
タ項目を無効にする。無効化は、書き込み操作の進行中
に行われる。
がROMスペースに対する書き込みを実施し、RAMに
対してROMのマッピングが施されるモードが、使用可
能になる毎に、ローカル・バスによってCPUに結合さ
れたローカル・メモリ・コントローラは、(1)スヌー
プ・サイクルを実施して、ROMに対するCPUの書き
込み操作を検出し、こうした操作を検出すると、(2)
CPUにキャッシュ無効信号を加える。CPUは、ロー
カル・バスに既存の無効アドレス(CPUによって指定
されたROMの書き込みアドレス)と共に、無効信号を
利用して、CPUのROMに対する書き込み操作が目標
とする主メモリ・アドレスに対応するキャッシュ・デー
タ項目を無効にする。無効化は、書き込み操作の進行中
に行われる。
【0014】本発明は、RAMに対してROMのマッピ
ングが施されるモードが、使用可能になって、ROMに
対するCPUの書き込みが実施されると、RAMに対し
てROMのマッピングが施される操作モードを支援す
る、コンピュータ・システムにおけるキャッシュの保全
性を維持する方法及び装置を特徴とする。
ングが施されるモードが、使用可能になって、ROMに
対するCPUの書き込みが実施されると、RAMに対し
てROMのマッピングが施される操作モードを支援す
る、コンピュータ・システムにおけるキャッシュの保全
性を維持する方法及び装置を特徴とする。
【0015】本発明のその他の特徴には、RAMに対し
てROMのマッピングが施されるモードが、使用可能に
なると、メモリ・コントローラのスヌープ・サイクルを
実施し、利用して、CPUのROMに対する書き込み操
作を検出することと、RAMに対してROMのマッピン
グが施されると、前述のメモリ・コントローラを利用し
て、CPUのROMに対する書き込み操作の検出と同時
に、キャッシュ項目無効信号を加えることと、CPU
が、ローカル・バスのアドレス信号(ROMに対する書
き込み操作を実施するCPUによってローカル・バスに
送り出される)を利用して、ローカル・メモリ・コント
ローラによって該CPUに前述の無効信号が加えられる
毎に、そのアドレスの関連するキャッシュ・メモリ項目
を無効にすべきか判定することが含まれる。
てROMのマッピングが施されるモードが、使用可能に
なると、メモリ・コントローラのスヌープ・サイクルを
実施し、利用して、CPUのROMに対する書き込み操
作を検出することと、RAMに対してROMのマッピン
グが施されると、前述のメモリ・コントローラを利用し
て、CPUのROMに対する書き込み操作の検出と同時
に、キャッシュ項目無効信号を加えることと、CPU
が、ローカル・バスのアドレス信号(ROMに対する書
き込み操作を実施するCPUによってローカル・バスに
送り出される)を利用して、ローカル・メモリ・コント
ローラによって該CPUに前述の無効信号が加えられる
毎に、そのアドレスの関連するキャッシュ・メモリ項目
を無効にすべきか判定することが含まれる。
【0016】当該技術の熟練者であれば、添付の図面に
関連して後述する詳細な説明を吟味することによって、
以上の、及び、その他の目的及び特徴が明らかになる。
関連して後述する詳細な説明を吟味することによって、
以上の、及び、その他の目的及び特徴が明らかになる。
【0017】
【実施例】本発明については、本発明の実施例を示す添
付の図面を参照しながら、さらに詳細に後述するが、以
下の説明を開始するに当たって明らかにしておかなけれ
ばならないのは、当該技術の熟練者であれば、本書に記
載の本発明に修正を加えて、なおかつ、本発明が意図す
る望ましい結果が得られるようにすることができるとい
うことである。従って、以下の説明は、適合する技術に
おける熟練者を対象とした一般的な教育のための開示と
理解すべきであり、本発明の範囲を制限することを意図
したものではない。
付の図面を参照しながら、さらに詳細に後述するが、以
下の説明を開始するに当たって明らかにしておかなけれ
ばならないのは、当該技術の熟練者であれば、本書に記
載の本発明に修正を加えて、なおかつ、本発明が意図す
る望ましい結果が得られるようにすることができるとい
うことである。従って、以下の説明は、適合する技術に
おける熟練者を対象とした一般的な教育のための開示と
理解すべきであり、本発明の範囲を制限することを意図
したものではない。
【0018】次に、添付の図面をさらに詳細に参照する
と、本発明を具現化する(支援する)ことが可能なマイ
クロコンピュータの例が示されており、全体が10で表
示されている(図1)。コンピュータ・システム10
は、関連するモニタ11、キー・ボード12、及び、プ
リンタまたはプロッタ14を備えることができる。コン
ピュータ10は、シャーシ19と協動して、デジタル・
データを処理し、記憶する電動式データ処理及び記憶コ
ンポーネントを受けいれるための密閉形シールド容積を
形成する装飾外部部材16(図2)及び内部シールド部
材18によって形成されたカバー15を備えている。こ
れらのコンポーネントの少なくともいくつかは、シャー
シ19に取りつけられて、上述のコンポーネントを含み
コンピュータ10のコンポーネント、及び、フロッピィ
・ディスク・ドライブ、各種形態の直接アクセス記憶装
置、付属カードまたはボード等のような他の関連要素を
電気的に相互接続する手段を形成するプレーナ20に取
りつけられている。
と、本発明を具現化する(支援する)ことが可能なマイ
クロコンピュータの例が示されており、全体が10で表
示されている(図1)。コンピュータ・システム10
は、関連するモニタ11、キー・ボード12、及び、プ
リンタまたはプロッタ14を備えることができる。コン
ピュータ10は、シャーシ19と協動して、デジタル・
データを処理し、記憶する電動式データ処理及び記憶コ
ンポーネントを受けいれるための密閉形シールド容積を
形成する装飾外部部材16(図2)及び内部シールド部
材18によって形成されたカバー15を備えている。こ
れらのコンポーネントの少なくともいくつかは、シャー
シ19に取りつけられて、上述のコンポーネントを含み
コンピュータ10のコンポーネント、及び、フロッピィ
・ディスク・ドライブ、各種形態の直接アクセス記憶装
置、付属カードまたはボード等のような他の関連要素を
電気的に相互接続する手段を形成するプレーナ20に取
りつけられている。
【0019】シャーシ19は、22で表示のベース、2
4で表示のフロント・パネル、及び、25で表示のリヤ
・パネルを備えている(図2)。フロント・パネル24
は、磁気ディスクまたは光ディスク用のディスク・ドラ
イブ、テープ・バックアップ・ドライブ等のようなデー
タ記憶装置を受けいれるための少なくとも4つの開放ベ
イ(例示の形態の場合、4つのベイ)を形成している。
例示の形態の場合、1対の上部ベイ26、28及び1対
の下部ベイ29、30が設けられている。上部ベイの一
方26は、第1のサイズの周辺ドライブ(3.5インチ
・ドライブとして知られているような)を納めるように
なっており、一方、もう一方のベイ28は、2つのサイ
ズのうち(例えば、3.5インチ及び5.25インチ)
選択されたサイズのドライブを納めるようになっている
が、下部ベイは、単一のサイズ(3.5インチ)の装置
しか納めないようになっている。
4で表示のフロント・パネル、及び、25で表示のリヤ
・パネルを備えている(図2)。フロント・パネル24
は、磁気ディスクまたは光ディスク用のディスク・ドラ
イブ、テープ・バックアップ・ドライブ等のようなデー
タ記憶装置を受けいれるための少なくとも4つの開放ベ
イ(例示の形態の場合、4つのベイ)を形成している。
例示の形態の場合、1対の上部ベイ26、28及び1対
の下部ベイ29、30が設けられている。上部ベイの一
方26は、第1のサイズの周辺ドライブ(3.5インチ
・ドライブとして知られているような)を納めるように
なっており、一方、もう一方のベイ28は、2つのサイ
ズのうち(例えば、3.5インチ及び5.25インチ)
選択されたサイズのドライブを納めるようになっている
が、下部ベイは、単一のサイズ(3.5インチ)の装置
しか納めないようになっている。
【0020】上述の構造と本発明を関連づける前に、パ
ーソナル・コンピュータ・システム10の一般的な働き
の概要について吟味する価値があると思われる。図3を
参照すると、コンピュータ・システム10の各種コンポ
ーネントを表したパーソナル・コンピュータ・システム
のブロック図が示されている。図3に示すパーソナル・
コンピュータ・システムには、プレーナ20に取りつけ
られたコンピュータ、及び、プレーナとパーソナル・コ
ンピュータ・システムのI/Oスロット及び他のハード
ウェアとの接続が含まれている。プレーナには、揮発性
ランダム・アクセス・メモリ(RAM)38にさらに接
続されているバス制御タイミング装置35を介して、高
速CPUローカル・バス34によって接続されたマイク
ロプロセッサ(例えば、図3に示す80486マイクロ
プロセッサ)から成るシステム・プロセッサ32が接続
されている。
ーソナル・コンピュータ・システム10の一般的な働き
の概要について吟味する価値があると思われる。図3を
参照すると、コンピュータ・システム10の各種コンポ
ーネントを表したパーソナル・コンピュータ・システム
のブロック図が示されている。図3に示すパーソナル・
コンピュータ・システムには、プレーナ20に取りつけ
られたコンピュータ、及び、プレーナとパーソナル・コ
ンピュータ・システムのI/Oスロット及び他のハード
ウェアとの接続が含まれている。プレーナには、揮発性
ランダム・アクセス・メモリ(RAM)38にさらに接
続されているバス制御タイミング装置35を介して、高
速CPUローカル・バス34によって接続されたマイク
ロプロセッサ(例えば、図3に示す80486マイクロ
プロセッサ)から成るシステム・プロセッサ32が接続
されている。
【0021】本発明については、図3に示すシステム・
ブロック図の部分(とりわけ、図4において実線で示さ
れた図3の部分)に関連して後述するが、以下の説明を
開始するに当たって明らかにしておかなければならない
のは、本発明は他のハードウェア構成に関して利用する
ことも可能という点である。例えば、図3には、単なる
例示のため、CPU32が80486マイクロプロセッ
サとして示されている。80486マイクロプロセッサ
には、キャッシュ・メモリ(CPU32内のダッシュ・
ライン及び参照番号99によって表示)が含まれてい
る。しかし、異なるハードウェア構成の場合、キャッシ
ュ・メモリは、本書に解説の本発明の精神または範囲を
逸脱することなく、80386等のようなプロセッサの
外部に配置することができる(それにもかかわらず関連
させることができる)。
ブロック図の部分(とりわけ、図4において実線で示さ
れた図3の部分)に関連して後述するが、以下の説明を
開始するに当たって明らかにしておかなければならない
のは、本発明は他のハードウェア構成に関して利用する
ことも可能という点である。例えば、図3には、単なる
例示のため、CPU32が80486マイクロプロセッ
サとして示されている。80486マイクロプロセッサ
には、キャッシュ・メモリ(CPU32内のダッシュ・
ライン及び参照番号99によって表示)が含まれてい
る。しかし、異なるハードウェア構成の場合、キャッシ
ュ・メモリは、本書に解説の本発明の精神または範囲を
逸脱することなく、80386等のようなプロセッサの
外部に配置することができる(それにもかかわらず関連
させることができる)。
【0022】ここで図3に戻ると、CPUローカル・バ
ス34(データ、アドレス、及び、制御コンポーネント
34D,34A、34Cから構成される)が、マイクロ
プロセッサ32と(オプションで)数理コ・プロセッサ
39の接続を行う。CPUローカル・バス34には、バ
ッファ51も結合されている。バッファ51自体は、マ
イクロ・チャネル・バス52に接続されている。マイク
ロ・チャネルは、INTERNATIONAL BUS
INESS MACHINES CORPORATIO
Nの登録商標である。CPUローカル・バス34は、さ
らに、中央アービタ49及びDMAコントローラ50か
ら成るDMA装置48に接続されている。バッファ51
は、ローカル・バス34とマイクロ・チャネル・バス5
2のような選択機能バスとのインターフェイスを形成す
る。バス52には、それぞれ、さらに、I/O装置また
はメモリに接続可能な、アダプタ・カードを納める複数
のI/Oスロット54が接続されている。
ス34(データ、アドレス、及び、制御コンポーネント
34D,34A、34Cから構成される)が、マイクロ
プロセッサ32と(オプションで)数理コ・プロセッサ
39の接続を行う。CPUローカル・バス34には、バ
ッファ51も結合されている。バッファ51自体は、マ
イクロ・チャネル・バス52に接続されている。マイク
ロ・チャネルは、INTERNATIONAL BUS
INESS MACHINES CORPORATIO
Nの登録商標である。CPUローカル・バス34は、さ
らに、中央アービタ49及びDMAコントローラ50か
ら成るDMA装置48に接続されている。バッファ51
は、ローカル・バス34とマイクロ・チャネル・バス5
2のような選択機能バスとのインターフェイスを形成す
る。バス52には、それぞれ、さらに、I/O装置また
はメモリに接続可能な、アダプタ・カードを納める複数
のI/Oスロット54が接続されている。
【0023】アービトレーションバス57が、DMAコ
ントローラ50及び中央アービタ49をI/Oスロット
54及びディスケット・アダプタ56に結合している。
ローカル・バス34には、メモリ・コントローラ59、
アドレス・マルチプレクサ60、及び、データ・バッフ
ァ61から成るメモリ制御装置36も接続されている。
メモリ制御装置36は、さらに、バス120〜122を
介して、揮発性RAM38に代表されるようなランダム
・アクセス・メモリに接続されている。バス120は、
メモリ・データを伝送し、バス121は、制御信号を伝
送し、バス122は、アドレス信号を伝送する。
ントローラ50及び中央アービタ49をI/Oスロット
54及びディスケット・アダプタ56に結合している。
ローカル・バス34には、メモリ・コントローラ59、
アドレス・マルチプレクサ60、及び、データ・バッフ
ァ61から成るメモリ制御装置36も接続されている。
メモリ制御装置36は、さらに、バス120〜122を
介して、揮発性RAM38に代表されるようなランダム
・アクセス・メモリに接続されている。バス120は、
メモリ・データを伝送し、バス121は、制御信号を伝
送し、バス122は、アドレス信号を伝送する。
【0024】メモリ制御装置36には、マイクロプロセ
ッサ32に対するアドレス及びマイクロプロセッサ32
からのアドレスをRAM38の特定の領域に対してマッ
ピングする論理が含まれている。この論理は、例えば、
基本入出力システム(BIOS)が前に占めていたRA
Mを再利用するのに用いられる。BIOSは、コンピュ
ータ・システム10に取りつけられたI/O装置とマイ
クロプロセッサ32のオペレーティング・システムとの
インターフェイスに用いられる周知のシステムである。
BIOSは、一般に、ROM64に記憶されており、R
AM38にコピーして、RAMに対するROMのマッピ
ングが施されるモードが使用可能になり、コンピュータ
・システム10の支援を受ける場合に、BIOSの実行
時間を短縮することができる。こうした状況(すなわ
ち、RAMに対してROMのマッピングが施される)
は、CPU32に関連したキャッシュ・メモリにおける
データの保全性を確保するために、本発明を有効に利用
することが可能な優れた例を提供するものである。
ッサ32に対するアドレス及びマイクロプロセッサ32
からのアドレスをRAM38の特定の領域に対してマッ
ピングする論理が含まれている。この論理は、例えば、
基本入出力システム(BIOS)が前に占めていたRA
Mを再利用するのに用いられる。BIOSは、コンピュ
ータ・システム10に取りつけられたI/O装置とマイ
クロプロセッサ32のオペレーティング・システムとの
インターフェイスに用いられる周知のシステムである。
BIOSは、一般に、ROM64に記憶されており、R
AM38にコピーして、RAMに対するROMのマッピ
ングが施されるモードが使用可能になり、コンピュータ
・システム10の支援を受ける場合に、BIOSの実行
時間を短縮することができる。こうした状況(すなわ
ち、RAMに対してROMのマッピングが施される)
は、CPU32に関連したキャッシュ・メモリにおける
データの保全性を確保するために、本発明を有効に利用
することが可能な優れた例を提供するものである。
【0025】図3に示すコンピュータ・システムの場
合、メモリ制御装置36は、ROM64を使用可能また
は使用禁止にするのに用いることが可能なROM選択信
号(ROMSEL)も発生する。ROM64が使用可能
になると、BIOSがROMから実施される。ROM6
4が使用禁止になると、ROMは、マイクロプロセッサ
32からのアドレス照会に応答しない(すなわち、BI
OSがRAMから実施される)。
合、メモリ制御装置36は、ROM64を使用可能また
は使用禁止にするのに用いることが可能なROM選択信
号(ROMSEL)も発生する。ROM64が使用可能
になると、BIOSがROMから実施される。ROM6
4が使用禁止になると、ROMは、マイクロプロセッサ
32からのアドレス照会に応答しない(すなわち、BI
OSがRAMから実施される)。
【0026】単なる例示のため、本発明の説明は、基本
的な1MB(メガバイト)の揮発性RAM38に関して
示されたマイクロコンピュータ・システム10に関連し
て行われる。当該技術の熟練者には明らかなように、追
加メモリは、オプションのメモリ・モジュール65〜6
7によって、図3に表すように相互接続することができ
る。留意すべきは、RAM38は、本書において「主メ
モリ」と呼ぶ場合もあるということである。
的な1MB(メガバイト)の揮発性RAM38に関して
示されたマイクロコンピュータ・システム10に関連し
て行われる。当該技術の熟練者には明らかなように、追
加メモリは、オプションのメモリ・モジュール65〜6
7によって、図3に表すように相互接続することができ
る。留意すべきは、RAM38は、本書において「主メ
モリ」と呼ぶ場合もあるということである。
【0027】図3には、バス52とプレーナI/Oバス
69の間に結合されるもう1つのバッファ68が示され
ている。バッファ68は、実際上、バス52と69の間
のインターフェイスである。プレーナI/Oバス69に
は、アドレス、データ、及び、制御コンポーネントが、
それぞれ、含まれている。プレーナ・バス69に沿っ
て、さまざまなI/Oアダプタ、及び、ディスプレイ・
アダプタ70(モニタ11の駆動に用いられる)、クロ
ック72、以下ではNVRAMと呼ぶ不揮発性RAM7
4、RS232アダプタ76、並列アダプタ78、複数
のタイマ80、前述のディスケット・アダプタ56、割
込みコントローラ84、及び、前述のROM64といっ
た他のコンポーネントが結合されている。前述のよう
に、ROM64は、BIOSだけでなく、IBM PS
/2モデル70システム初期設定プログラム「POS
T」といった他の重要なプログラム及びデータ・セット
の記憶に用いることができる。
69の間に結合されるもう1つのバッファ68が示され
ている。バッファ68は、実際上、バス52と69の間
のインターフェイスである。プレーナI/Oバス69に
は、アドレス、データ、及び、制御コンポーネントが、
それぞれ、含まれている。プレーナ・バス69に沿っ
て、さまざまなI/Oアダプタ、及び、ディスプレイ・
アダプタ70(モニタ11の駆動に用いられる)、クロ
ック72、以下ではNVRAMと呼ぶ不揮発性RAM7
4、RS232アダプタ76、並列アダプタ78、複数
のタイマ80、前述のディスケット・アダプタ56、割
込みコントローラ84、及び、前述のROM64といっ
た他のコンポーネントが結合されている。前述のよう
に、ROM64は、BIOSだけでなく、IBM PS
/2モデル70システム初期設定プログラム「POS
T」といった他の重要なプログラム及びデータ・セット
の記憶に用いることができる。
【0028】図3に示すクロック72は、時刻の計算に
用いることができる。NVRAMは、システム構成デー
タの記憶に用いることができる。例えば、本発明を支援
するコンピュータ・アーキテクチャの1つでは、NVR
AMは、固定ディスクまたはディスケットの容量、ディ
スプレイのタイプ、メモリ量、時間、日付、及び、シス
テム10がRAMに対してROMのマッピングが施され
る操作モードを支援できるか否か等を表す情報を納める
ために用いることができる。
用いることができる。NVRAMは、システム構成デー
タの記憶に用いることができる。例えば、本発明を支援
するコンピュータ・アーキテクチャの1つでは、NVR
AMは、固定ディスクまたはディスケットの容量、ディ
スプレイのタイプ、メモリ量、時間、日付、及び、シス
テム10がRAMに対してROMのマッピングが施され
る操作モードを支援できるか否か等を表す情報を納める
ために用いることができる。
【0029】NVRAMデータ・ビットは、例えば、メ
モリ・コントローラ59によって、ROMがRAMに対
してマッピングを施されたか否か(モード使用可能ビッ
トを介して)、BIOSがROMまたはRAMから実行
されるか否か、BIOS RAMによって用いられるこ
とを意図したRAMを再利用すべきか否かを判定するた
めに用いられることが可能である。代替案として、こう
した情報は、メモリ・コントローラに局所的に記憶する
ことができる。
モリ・コントローラ59によって、ROMがRAMに対
してマッピングを施されたか否か(モード使用可能ビッ
トを介して)、BIOSがROMまたはRAMから実行
されるか否か、BIOS RAMによって用いられるこ
とを意図したRAMを再利用すべきか否かを判定するた
めに用いられることが可能である。代替案として、こう
した情報は、メモリ・コントローラに局所的に記憶する
ことができる。
【0030】前述のように、本発明は、メモリ・コント
ローラが、メモリ・コントローラとマイクロ・チャネル
・バスの間にインターフェイスとして働くバス・インタ
ーフェイス装置(BIU)を介してマイクロ・チャネル
・バス52に結合されるとか、メモリ・コントローラ
に、前述のモード・ビットが含まれるとかいった、図3
に示すものとは異なるコンピュータ・アーキテクチャに
おいて利用することができる。従って、当該技術の熟練
者であれば、以下の説明を参照することによって明らか
なように、本発明の有効な利用が可能な特定のコンピュ
ータ・アーキテクチャは、それ自体、本発明の範囲を制
限しようとするものでは全くない。
ローラが、メモリ・コントローラとマイクロ・チャネル
・バスの間にインターフェイスとして働くバス・インタ
ーフェイス装置(BIU)を介してマイクロ・チャネル
・バス52に結合されるとか、メモリ・コントローラ
に、前述のモード・ビットが含まれるとかいった、図3
に示すものとは異なるコンピュータ・アーキテクチャに
おいて利用することができる。従って、当該技術の熟練
者であれば、以下の説明を参照することによって明らか
なように、本発明の有効な利用が可能な特定のコンピュ
ータ・アーキテクチャは、それ自体、本発明の範囲を制
限しようとするものでは全くない。
【0031】本発明の有効利用が可能なコンピュータ・
アーキテクチャについて述べてきたが、本発明の原理を
説明するのに役立つこうしたコンピュータ・システムの
部分を単純な形で表した図4に注意を向けることにす
る。
アーキテクチャについて述べてきたが、本発明の原理を
説明するのに役立つこうしたコンピュータ・システムの
部分を単純な形で表した図4に注意を向けることにす
る。
【0032】とりわけ、図4における簡略化されたブロ
ック図は、CPU、その関連するキャッシュ・メモリ、
RAM、及び、ROMの間に相互接続に焦点を合わせた
ものであり、この場合、ローカル・メモリ・コントロー
ラを利用して、CPUと前述のメモリとの協働が管理さ
れる。
ック図は、CPU、その関連するキャッシュ・メモリ、
RAM、及び、ROMの間に相互接続に焦点を合わせた
ものであり、この場合、ローカル・メモリ・コントロー
ラを利用して、CPUと前述のメモリとの協働が管理さ
れる。
【0033】図3及び4に示すデバイスとバスのいくつ
かの間における対応は、次の通りである。CPU432
(図4)は、CPU32(図3)に対応し、メモリ・コ
ントローラ459は、メモリ・コントローラ59に対応
し、データ・バッファ461は、データ・バッファ61
に対応し、RAM438は、RAM38に対応しROM
464は、ROM64に対応し、マイクロ・チャネル・
バス452は、マイクロ・チャネル・バス52に対応
し、ローカル・バス434は、ローカル・バス34に対
応し、ローカル・バス434のアドレス、制御、及び、
データ・コンポーネント(434A、434C、及び4
34D)は、それぞれ、ローカル・バス34のコンポー
ネント34A、34C、及び、34Dに対応し、バス4
20〜422は、それぞれ、バス120〜122に対応
する。
かの間における対応は、次の通りである。CPU432
(図4)は、CPU32(図3)に対応し、メモリ・コ
ントローラ459は、メモリ・コントローラ59に対応
し、データ・バッファ461は、データ・バッファ61
に対応し、RAM438は、RAM38に対応しROM
464は、ROM64に対応し、マイクロ・チャネル・
バス452は、マイクロ・チャネル・バス52に対応
し、ローカル・バス434は、ローカル・バス34に対
応し、ローカル・バス434のアドレス、制御、及び、
データ・コンポーネント(434A、434C、及び4
34D)は、それぞれ、ローカル・バス34のコンポー
ネント34A、34C、及び、34Dに対応し、バス4
20〜422は、それぞれ、バス120〜122に対応
する。
【0034】図4には、マイクロ・チャネル・バス45
2を介してROM464に結合されたメモリ・コントロ
ーラ459及びCPU432も示されている。マイクロ
・チャネル・バス452、バス・インターフェイス装置
(BIU)481、及び、バッファ484と共にこれら
の接続(バス480、482、483、及び、485を
介した)は、全て破線で示されており、(1)本発明
が、図3に示すような(すなわち、ROMがプレーナ・
バス、ラッチ/バッファ・デコーダ等を介してマイクロ
・チャネル・バスに結合された)、BIU等を必要とし
ないコンピュータ・アーキテクチャで実施可能であるこ
と、(2)代替案として、本発明は、図4に示された全
てのコンポーネントを用いるといった(破線を用いて示
されたものを含む)、すなわち、メモリ・コントローラ
459が、BIU481を介してROM464に結合さ
れ、バッファ484を介してマイクロ・チャネル・バス
452とCPU432の間でデータのバッファリングが
行われる、他のコンピュータ・アーキテクチャで実施可
能であること、(3)本発明が、マイクロ・チャネル・
バスを全く用いずに、例えば、ROMがローカル・バス
を介してメモリ・コントローラに結合されたコンピュー
タ・アーキテクチャで実施可能であること、(4)さら
に、全て、本発明の精神または範囲から逸脱することな
く、他のコンピュータ・アーキテクチャで実施可能であ
ることを表している。
2を介してROM464に結合されたメモリ・コントロ
ーラ459及びCPU432も示されている。マイクロ
・チャネル・バス452、バス・インターフェイス装置
(BIU)481、及び、バッファ484と共にこれら
の接続(バス480、482、483、及び、485を
介した)は、全て破線で示されており、(1)本発明
が、図3に示すような(すなわち、ROMがプレーナ・
バス、ラッチ/バッファ・デコーダ等を介してマイクロ
・チャネル・バスに結合された)、BIU等を必要とし
ないコンピュータ・アーキテクチャで実施可能であるこ
と、(2)代替案として、本発明は、図4に示された全
てのコンポーネントを用いるといった(破線を用いて示
されたものを含む)、すなわち、メモリ・コントローラ
459が、BIU481を介してROM464に結合さ
れ、バッファ484を介してマイクロ・チャネル・バス
452とCPU432の間でデータのバッファリングが
行われる、他のコンピュータ・アーキテクチャで実施可
能であること、(3)本発明が、マイクロ・チャネル・
バスを全く用いずに、例えば、ROMがローカル・バス
を介してメモリ・コントローラに結合されたコンピュー
タ・アーキテクチャで実施可能であること、(4)さら
に、全て、本発明の精神または範囲から逸脱することな
く、他のコンピュータ・アーキテクチャで実施可能であ
ることを表している。
【0035】重要なのは、RAMに対してROMのマッ
ピングが施されるコンピュータ・システムのモードが使
用可能になると、特殊目的のメモリ・コントローラのス
ヌープ・サイクル(図5及び7に関連して詳細に後述す
る)を実施することによって、各種コンピュータ・アー
キテクチャの任意の1つに関して本発明を実施できると
いうことを理解することである。既述のように、図3に
示すNVRAM(RAM74)は、メモリ・コントロー
ラによって、RAMに対してROMのマッピングが施さ
れたか否かを判定するために用いられる前述のモードの
使用可能ビットの記憶に利用できる唯一の装置である。
代替案として、前述のように、メモリ・コントローラ自
体を用いて、モード情報等を記憶することも可能であ
る。
ピングが施されるコンピュータ・システムのモードが使
用可能になると、特殊目的のメモリ・コントローラのス
ヌープ・サイクル(図5及び7に関連して詳細に後述す
る)を実施することによって、各種コンピュータ・アー
キテクチャの任意の1つに関して本発明を実施できると
いうことを理解することである。既述のように、図3に
示すNVRAM(RAM74)は、メモリ・コントロー
ラによって、RAMに対してROMのマッピングが施さ
れたか否かを判定するために用いられる前述のモードの
使用可能ビットの記憶に利用できる唯一の装置である。
代替案として、前述のように、メモリ・コントローラ自
体を用いて、モード情報等を記憶することも可能であ
る。
【0036】本発明の実施例の1つによれば、本発明が
意図する特殊目的のスヌープ・サイクルは、図5に示す
フローチャートに表したやり方で行われるが、これにつ
いては、次に、図4と図5の両方に関連して解説するも
のとする。
意図する特殊目的のスヌープ・サイクルは、図5に示す
フローチャートに表したやり方で行われるが、これにつ
いては、次に、図4と図5の両方に関連して解説するも
のとする。
【0037】すなわち、メモリ・コントローラ459
は、まず、メモリ書き込みサイクルが開始したか否かを
判定し(図5のブロック501)、開始していれば、R
OMアドレスがローカル・バス434に存在するか否か
を判定する(図5のブロック502)。これは、本発明
の実施のため、メモリ・コントローラ459によって実
現可能なスヌーピングの1つの形態である。図5のブロ
ック501及び502で行われる判定(その順序は重要
ではない)は、ローカル・バス434でメモリ・コント
ローラ459に加えられる(ローカル・バス・コンポー
ネント434A及び434Cを介して)制御及びアドレ
ス信号に基づいて行うことができる。
は、まず、メモリ書き込みサイクルが開始したか否かを
判定し(図5のブロック501)、開始していれば、R
OMアドレスがローカル・バス434に存在するか否か
を判定する(図5のブロック502)。これは、本発明
の実施のため、メモリ・コントローラ459によって実
現可能なスヌーピングの1つの形態である。図5のブロ
ック501及び502で行われる判定(その順序は重要
ではない)は、ローカル・バス434でメモリ・コント
ローラ459に加えられる(ローカル・バス・コンポー
ネント434A及び434Cを介して)制御及びアドレ
ス信号に基づいて行うことができる。
【0038】図5のブロック501、502、または、
503で行われる判定が「いいえ」の場合、メモリ・コ
ントローラ459が、本発明の前述の目的を支援する
際、キャッシュの保全性維持のために、これ以上判定を
行う必要がないのは、明かである。例えば、ROM読み
取り操作が進行中であって、ブロック501で行われる
判定が「いいえ」になる可能性がある。注目すべきは、
ROMがRAMに対してマッピングを施され、例えば、
RAMの128K(例えば、アドレス範囲が896K〜
1024KのRAM)を占める場合、アドレス・スペー
ス896K〜1024Kからの取り出しは、CPUのR
OM読み取り時にキャッシュを利用できるのが普通であ
る。すなわち、CPUのROM読み取り時、目標データ
がまだキャッシュに納められていない場合、データは、
直接アドレス・スペース896K〜1024Kから取り
出されるが、納められている場合には、CPUは、その
キャッシュからデータを取り出す。
503で行われる判定が「いいえ」の場合、メモリ・コ
ントローラ459が、本発明の前述の目的を支援する
際、キャッシュの保全性維持のために、これ以上判定を
行う必要がないのは、明かである。例えば、ROM読み
取り操作が進行中であって、ブロック501で行われる
判定が「いいえ」になる可能性がある。注目すべきは、
ROMがRAMに対してマッピングを施され、例えば、
RAMの128K(例えば、アドレス範囲が896K〜
1024KのRAM)を占める場合、アドレス・スペー
ス896K〜1024Kからの取り出しは、CPUのR
OM読み取り時にキャッシュを利用できるのが普通であ
る。すなわち、CPUのROM読み取り時、目標データ
がまだキャッシュに納められていない場合、データは、
直接アドレス・スペース896K〜1024Kから取り
出されるが、納められている場合には、CPUは、その
キャッシュからデータを取り出す。
【0039】当該技術の熟練者であればすぐ分かるよう
に、キャッシュ・データの保全性がROM読み取り操作
によって悪影響を受ける可能性はないが、これは、CP
UのROMに対する書き込み操作にはあてはまらない。
に、キャッシュ・データの保全性がROM読み取り操作
によって悪影響を受ける可能性はないが、これは、CP
UのROMに対する書き込み操作にはあてはまらない。
【0040】上述のように、CPUのROMに対する書
き込み操作が行われるはずがない。しかし、こうした操
作が実施された場合、メモリ・コントローラ459は、
CPUサイクルを(ROMが図4に示すマイクロ・チャ
ネル・バスを介してメモリ・コントローラに結合されて
いる場合)マイクロ・チャネル・バスに移すことにな
る。非マイクロ・チャネル・バス・アーキテクチャの場
合、CPUサイクルは、例えば、ローカル・バス等に移
される。本書に記載の解説の残りの部分においては、単
なる説明だけのために、コンピュータ・アーキテクチャ
には、マイクロ・チャネル・バスが含まれているものと
仮定する。
き込み操作が行われるはずがない。しかし、こうした操
作が実施された場合、メモリ・コントローラ459は、
CPUサイクルを(ROMが図4に示すマイクロ・チャ
ネル・バスを介してメモリ・コントローラに結合されて
いる場合)マイクロ・チャネル・バスに移すことにな
る。非マイクロ・チャネル・バス・アーキテクチャの場
合、CPUサイクルは、例えば、ローカル・バス等に移
される。本書に記載の解説の残りの部分においては、単
なる説明だけのために、コンピュータ・アーキテクチャ
には、マイクロ・チャネル・バスが含まれているものと
仮定する。
【0041】メモリ・コントローラ459が、CPUサ
イクルをマイクロ・チャネル・バス452に移すのとほ
ぼ同時に(RAMに対するROMのマッピングを施し
て、ROM書き込み操作を行う場合)、CPU432
は、目標ROMデータが既にキャッシュに納められてい
る場合、関連するキャッシュに修正を施すことになる。
このCPU432に関連したキャッシュ内のデータに対
する修正は、それに記憶されたROMデータの破壊を生
じる可能性がある。
イクルをマイクロ・チャネル・バス452に移すのとほ
ぼ同時に(RAMに対するROMのマッピングを施し
て、ROM書き込み操作を行う場合)、CPU432
は、目標ROMデータが既にキャッシュに納められてい
る場合、関連するキャッシュに修正を施すことになる。
このCPU432に関連したキャッシュ内のデータに対
する修正は、それに記憶されたROMデータの破壊を生
じる可能性がある。
【0042】この問題を解決するため、本発明は、RO
MがRAMに対してマッピングを施されると、CPUの
ROMに対する書き込みを検出すると同時に、CPU4
32に対してキャッシュ項目無効信号を加えるメモリ・
コントローラ459を要求する。CPU432は、こう
した信号に応答し、ROM書き込み操作の実行中、該操
作の目標に対応するキャッシュ項目を無効にする。
MがRAMに対してマッピングを施されると、CPUの
ROMに対する書き込みを検出すると同時に、CPU4
32に対してキャッシュ項目無効信号を加えるメモリ・
コントローラ459を要求する。CPU432は、こう
した信号に応答し、ROM書き込み操作の実行中、該操
作の目標に対応するキャッシュ項目を無効にする。
【0043】これがいかに行われるかを理解するため、
もう1度、図5に示されたフローチャートを参照するこ
とが望ましい。メモリ書き込みサイクルの開始と、ロー
カル・バスに存在するROMアドレスの両方に対する返
答が「はい」の場合、メモリ・コントローラ459は、
本発明の実施例に従ってチェックし、RAMに対してR
OMのマッピングが施されるモードが、使用可能である
か否かを確かめることができる。上述のように、これを
行う方法の1つは、モード使用可能ビットの値をチェッ
クすることである。
もう1度、図5に示されたフローチャートを参照するこ
とが望ましい。メモリ書き込みサイクルの開始と、ロー
カル・バスに存在するROMアドレスの両方に対する返
答が「はい」の場合、メモリ・コントローラ459は、
本発明の実施例に従ってチェックし、RAMに対してR
OMのマッピングが施されるモードが、使用可能である
か否かを確かめることができる。上述のように、これを
行う方法の1つは、モード使用可能ビットの値をチェッ
クすることである。
【0044】図5のブロック503に示す質問に対する
返答が、やはり「はい」(すなわち、RAMに対してR
OMのマッピングが施されるモードが、使用可能であ
る)場合、メモリ・コントローラ459は、ローカル・
バス434を介して前述の無効信号をCPU432に送
り込むことができるだけである。これは、CPUサイク
ルがマイクロ・チャネル・バスに移されると同時に有効
に行われる。
返答が、やはり「はい」(すなわち、RAMに対してR
OMのマッピングが施されるモードが、使用可能であ
る)場合、メモリ・コントローラ459は、ローカル・
バス434を介して前述の無効信号をCPU432に送
り込むことができるだけである。これは、CPUサイク
ルがマイクロ・チャネル・バスに移されると同時に有効
に行われる。
【0045】図4に示すコンピュータ・システムの場
合、メモリ・コントローラは、また、リンク480にシ
ステム・アドレス状況信号(SADS)を送り込む。リ
ンク482におけるマイクロ・チャネル・バス452と
のBIUインターフェイスを仮定すると、マイクロ・チ
ャネル・バス452は、メモリ・コントローラ459が
(BIUを介して)供給するアドレス及び制御信号に応
答し、ROMスペースに対して書き込みができないよう
にする。
合、メモリ・コントローラは、また、リンク480にシ
ステム・アドレス状況信号(SADS)を送り込む。リ
ンク482におけるマイクロ・チャネル・バス452と
のBIUインターフェイスを仮定すると、マイクロ・チ
ャネル・バス452は、メモリ・コントローラ459が
(BIUを介して)供給するアドレス及び制御信号に応
答し、ROMスペースに対して書き込みができないよう
にする。
【0046】同時に、CPU432は、ローカル・バス
を介した無効信号の受信に応答し、ローカル・バスに既
存のアドレス(CPU自体によって送り出された)に対
応するキャッシュ項目を無効にする。これは、プロセッ
サが特定のキャッシュ項目を無効にするのに必要なの
が、無効アドレスと無効信号だけという、既知のキャッ
シュ無効信号プロトコルと同様の方法で実施することが
できる。
を介した無効信号の受信に応答し、ローカル・バスに既
存のアドレス(CPU自体によって送り出された)に対
応するキャッシュ項目を無効にする。これは、プロセッ
サが特定のキャッシュ項目を無効にするのに必要なの
が、無効アドレスと無効信号だけという、既知のキャッ
シュ無効信号プロトコルと同様の方法で実施することが
できる。
【0047】こうしたプロトコルが、特定のローカル・
メモリ・コントローラの制御下において、キャッシュの
データを含む、主メモリに対する外部書き込み操作(例
えば、外部バス・マスタによって実施される書き込み)
を検出するため、IBM PS/2モデル70で用いら
れている。こうした書き込み操作が、ローカル・メモリ
・コントローラのスヌープ・サイクル時に検出される場
合、既知の応答は(既述のように)、メモリ・コントロ
ーラが無効信号及びキャッシュ・アドレス信号をローカ
ルCPUに加え、ローカルCPUによって適合するキャ
ッシュ項目を無効にできるようにすることである。
メモリ・コントローラの制御下において、キャッシュの
データを含む、主メモリに対する外部書き込み操作(例
えば、外部バス・マスタによって実施される書き込み)
を検出するため、IBM PS/2モデル70で用いら
れている。こうした書き込み操作が、ローカル・メモリ
・コントローラのスヌープ・サイクル時に検出される場
合、既知の応答は(既述のように)、メモリ・コントロ
ーラが無効信号及びキャッシュ・アドレス信号をローカ
ルCPUに加え、ローカルCPUによって適合するキャ
ッシュ項目を無効にできるようにすることである。
【0048】図6は、こうした先行技術によるローカル
・メモリ・コントローラが、スヌープ・サイクルを実施
し、利用して、キャッシュ・データの保全性を維持する
場合に生じる一連の事象例を示すタイミング図である。
・メモリ・コントローラが、スヌープ・サイクルを実施
し、利用して、キャッシュ・データの保全性を維持する
場合に生じる一連の事象例を示すタイミング図である。
【0049】すなわち、図6にライン1(”ADD_B
US”と表示されている)には、サイクル2の開始直後
まで、CPU432によってローカル・バスに送り込ま
れる、該CPUのアドレス「AAAAFEH」(図4の
ローカル・バス434に出力される)が、示されてお
り、図6には、例示サイクル1〜7が示されている。
US”と表示されている)には、サイクル2の開始直後
まで、CPU432によってローカル・バスに送り込ま
れる、該CPUのアドレス「AAAAFEH」(図4の
ローカル・バス434に出力される)が、示されてお
り、図6には、例示サイクル1〜7が示されている。
【0050】”A_HOLD”で表示された図6のライ
ン2は、CPU432を捕えて、ローカル・バスを解放
するために、図4のメモリ・コントローラ(例えば、P
S/2モデル70に組み込まれるタイプのメモリ・コン
トローラ)によって出力される信号である。メモリ・コ
ントローラがこのタイプの信号を送り出すのは、例え
ば、先行技術によるスヌープ技法を用いて、キャッシュ
として用いることが可能なメモリ・スペース(前述の)
に対するバス・マスタの書き込みを検出する時であるこ
とが知られている。
ン2は、CPU432を捕えて、ローカル・バスを解放
するために、図4のメモリ・コントローラ(例えば、P
S/2モデル70に組み込まれるタイプのメモリ・コン
トローラ)によって出力される信号である。メモリ・コ
ントローラがこのタイプの信号を送り出すのは、例え
ば、先行技術によるスヌープ技法を用いて、キャッシュ
として用いることが可能なメモリ・スペース(前述の)
に対するバス・マスタの書き込みを検出する時であるこ
とが知られている。
【0051】代替案として、先行技術によるメモリ・コ
ントローラは、マイクロ・チャネル・バスでもう1つの
マイクロプロセッサ(例えば、もう1つの80486)
によって行われるキャッシュとして用いることが可能な
メモリ・スペースに対する書き込み、あるいは、ローカ
ル・バスで他のマイクロプロセッサによって行われるキ
ャッシュとして用いることが可能なメモリ・スペースに
対する書き込みでさえ認識するように設計することも可
能である。
ントローラは、マイクロ・チャネル・バスでもう1つの
マイクロプロセッサ(例えば、もう1つの80486)
によって行われるキャッシュとして用いることが可能な
メモリ・スペースに対する書き込み、あるいは、ローカ
ル・バスで他のマイクロプロセッサによって行われるキ
ャッシュとして用いることが可能なメモリ・スペースに
対する書き込みでさえ認識するように設計することも可
能である。
【0052】当該技術の熟練者にはすぐ分かるように、
キャッシュとして用いることが可能なメモリ・スペース
に対する書き込みを含む前述の状況のいずれにおいても
(RAMに対してROMのマッピングを施して、ROM
スペースに書き込む場合を除く)、メモリ・コントロー
ラは、ローカル・バスを制御して(図6の第2ラインに
示すA_HOLDタイプの信号によって)、次に、無効
をトリガする無効信号と共に、関連するCPUによって
無効にされるキャッシュ・メモリ項目のアドレスをロー
カル・バスを介して関連するCPUに送るということが
知られている。
キャッシュとして用いることが可能なメモリ・スペース
に対する書き込みを含む前述の状況のいずれにおいても
(RAMに対してROMのマッピングを施して、ROM
スペースに書き込む場合を除く)、メモリ・コントロー
ラは、ローカル・バスを制御して(図6の第2ラインに
示すA_HOLDタイプの信号によって)、次に、無効
をトリガする無効信号と共に、関連するCPUによって
無効にされるキャッシュ・メモリ項目のアドレスをロー
カル・バスを介して関連するCPUに送るということが
知られている。
【0053】この一連の事象は、図6に示すように、A
_HOLDサイクルが、サイクル1において高くなり
(メモリ・コントローラがローカル・バスの支配を望ん
でいることを知らせる)、CPUが、サイクル2におい
てローカル・バスを解放し、メモリ・コントローラが、
ローカル・バスのアドレス部分に無効アドレスを送り出
し(図6の第1のラインで示す − サイクル3におい
て)、これに続く無効信号が、サイクル4において、メ
モリ・コントローラから加えられるというように進めら
れる。IBM PS/2モデル70において用いられる
無効信号プロトコルによって利用される無効信号は、外
部アドレス状況信号(EADS)である。従って、図6
のライン3の信号は、EADSと表示される。
_HOLDサイクルが、サイクル1において高くなり
(メモリ・コントローラがローカル・バスの支配を望ん
でいることを知らせる)、CPUが、サイクル2におい
てローカル・バスを解放し、メモリ・コントローラが、
ローカル・バスのアドレス部分に無効アドレスを送り出
し(図6の第1のラインで示す − サイクル3におい
て)、これに続く無効信号が、サイクル4において、メ
モリ・コントローラから加えられるというように進めら
れる。IBM PS/2モデル70において用いられる
無効信号プロトコルによって利用される無効信号は、外
部アドレス状況信号(EADS)である。従って、図6
のライン3の信号は、EADSと表示される。
【0054】CPUは、ローカル・バスを介して無効ア
ドレス及び無効信号を受信すると(両方ともメモリ・コ
ントローラによって加えられる)、次に、適合するキャ
ッシュ項目の無効化に取りかかることができる。
ドレス及び無効信号を受信すると(両方ともメモリ・コ
ントローラによって加えられる)、次に、適合するキャ
ッシュ項目の無効化に取りかかることができる。
【0055】比較のため、図7には、本発明の実施例の
1つによれば、RAMに対するROMのマッピングを施
して、ROMに対するCPUの書き込み操作が実施され
ている間に、ローカル・メモリ・コントローラを用い
て、キャッシュ・データの保全性が維持される場合に生
じる一連の事象例を示す(8サイクルの期間にわたっ
て)タイミング図が表されている。
1つによれば、RAMに対するROMのマッピングを施
して、ROMに対するCPUの書き込み操作が実施され
ている間に、ローカル・メモリ・コントローラを用い
て、キャッシュ・データの保全性が維持される場合に生
じる一連の事象例を示す(8サイクルの期間にわたっ
て)タイミング図が表されている。
【0056】すなわち、図7のライン1には、やはり、
ローカル・バスのアドレス部分(ADD_BUS)が示
されている。ただし、この場合、サイクル1の開始後少
し経ってから、CPUのROMに対する書き込み操作が
実施され、典型的なROMアドレスFFFFFOHがロ
ーカル・バスに生じる。図7のライン2、3、及び、4
には、ROMに対する書き込み操作の実施時に、CPU
によって加えられる他の信号が示されている。
ローカル・バスのアドレス部分(ADD_BUS)が示
されている。ただし、この場合、サイクル1の開始後少
し経ってから、CPUのROMに対する書き込み操作が
実施され、典型的なROMアドレスFFFFFOHがロ
ーカル・バスに生じる。図7のライン2、3、及び、4
には、ROMに対する書き込み操作の実施時に、CPU
によって加えられる他の信号が示されている。
【0057】すなわち、ライン2には、例示のため、低
い方がI/Oサイクルを表し、高い方がメモリ・サイク
ルを表すものと仮定された、「M/IO」信号が示され
ている。従って、図7を参照することによって明らかな
ように、ライン2の信号は、ROMに対する書き込み操
作の開始と同時に、高くなる。
い方がI/Oサイクルを表し、高い方がメモリ・サイク
ルを表すものと仮定された、「M/IO」信号が示され
ている。従って、図7を参照することによって明らかな
ように、ライン2の信号は、ROMに対する書き込み操
作の開始と同時に、高くなる。
【0058】図7のライン3の信号は、アドレス状況信
号(「ADS」)であり、低い場合には、一般に、メモ
リ・コントローラに対し、サイクル(メモリまたはI/
Oサイクル)が始まっていることを知らせるために用い
られる。この信号は、また、ROMに対する書き込み操
作の実施時に、CPUによって加えられることも明かで
ある。
号(「ADS」)であり、低い場合には、一般に、メモ
リ・コントローラに対し、サイクル(メモリまたはI/
Oサイクル)が始まっていることを知らせるために用い
られる。この信号は、また、ROMに対する書き込み操
作の実施時に、CPUによって加えられることも明かで
ある。
【0059】図7のライン4の信号(やはりCPUによ
って加えられる)は、書き込み/読み取り信号(「W/
R」)であり、例示のため、書き込みサイクル時には、
高いと仮定する。図7を参照すると明らかなように、W
/R信号は、ROMに対するCPUの書き込み操作時に
は高くなる。
って加えられる)は、書き込み/読み取り信号(「W/
R」)であり、例示のため、書き込みサイクル時には、
高いと仮定する。図7を参照すると明らかなように、W
/R信号は、ROMに対するCPUの書き込み操作時に
は高くなる。
【0060】図7における次の2つのライン(ライン5
及び6)には、CPUのROMに対する書き込み操作を
検出すると、本発明の教示に従って、メモリ・コントロ
ーラによって加えられる信号が示されている。
及び6)には、CPUのROMに対する書き込み操作を
検出すると、本発明の教示に従って、メモリ・コントロ
ーラによって加えられる信号が示されている。
【0061】図7のライン5及び6の目的を明らかにす
る前に、留意すべきは、本発明が意図するスヌープ操作
は、(1)ADD_BUS信号(図7のライン1に示
す)がROMスペース内にあるか否か(ROMがRAM
に対してマッピングを施されている場合)、(2)メモ
リ書き込みサイクルが進行中であるか否か(図7のライ
ン2及び4に示すCPU出力信号から判定できる)をチ
ェックして、確かめるメモリ・コントローラによって実
施することができるという点である。これらの判定は、
図5のブロック501及び502に示すものに対応す
る。
る前に、留意すべきは、本発明が意図するスヌープ操作
は、(1)ADD_BUS信号(図7のライン1に示
す)がROMスペース内にあるか否か(ROMがRAM
に対してマッピングを施されている場合)、(2)メモ
リ書き込みサイクルが進行中であるか否か(図7のライ
ン2及び4に示すCPU出力信号から判定できる)をチ
ェックして、確かめるメモリ・コントローラによって実
施することができるという点である。これらの判定は、
図5のブロック501及び502に示すものに対応す
る。
【0062】図7のライン5及び6に関して、前述のS
ADS信号(本発明の実施例の場合、CPUサイクルを
マイクロ・チャネル・バスに移すのに用いられる)は、
図示のように(ライン5において)、サイクル4におい
てメモリ・コントローラによって加えられ、一方、無効
信号(IBM PS/2モデル70における外部アドレ
ス状況信号「EADS」)は、図示のように(ライン6
において)、やはり、サイクル4においてメモリ・コン
トローラによって加えられる。図4に関連して留意すべ
きは、SADS信号がバス480に送り出され、一方、
EADS信号は、ローカル・バス434に送り出される
ということである。
ADS信号(本発明の実施例の場合、CPUサイクルを
マイクロ・チャネル・バスに移すのに用いられる)は、
図示のように(ライン5において)、サイクル4におい
てメモリ・コントローラによって加えられ、一方、無効
信号(IBM PS/2モデル70における外部アドレ
ス状況信号「EADS」)は、図示のように(ライン6
において)、やはり、サイクル4においてメモリ・コン
トローラによって加えられる。図4に関連して留意すべ
きは、SADS信号がバス480に送り出され、一方、
EADS信号は、ローカル・バス434に送り出される
ということである。
【0063】また、留意すべきは、CPUが必要とする
無効アドレスが、既にローカル・バスのアドレス部分に
存在するということである(ROMに対する書き込み操
作の実施時に、CPU自体がそれに送り出している)。
従って、図6に示す一連の事象とは対照的に、図7に示
す一連の事象が望む結果を達成するのに、メモリ・コン
トローラがA_HOLD信号を発生する必要はない。
無効アドレスが、既にローカル・バスのアドレス部分に
存在するということである(ROMに対する書き込み操
作の実施時に、CPU自体がそれに送り出している)。
従って、図6に示す一連の事象とは対照的に、図7に示
す一連の事象が望む結果を達成するのに、メモリ・コン
トローラがA_HOLD信号を発生する必要はない。
【0064】最後に、図7のライン7には、書き込みサ
イクルが完了したことを表すため、メモリ・コントロー
ラから出力される「READY」信号が示されている。
イクルが完了したことを表すため、メモリ・コントロー
ラから出力される「READY」信号が示されている。
【0065】以上で詳述したのは、既述の目的の全てに
合致する方法、装置、及び、コンピュータ・システムで
ある。前述のように、当該技術の熟練者であれば、以上
の説明が、例示及び解説のためのものでしかないのは明
かである。包括的であろうとか、あるいは、本発明を開
示のままの形態に制御しようとするものではなく、上記
教示に照らして、多くの修正及び変更が可能であること
は明かである。
合致する方法、装置、及び、コンピュータ・システムで
ある。前述のように、当該技術の熟練者であれば、以上
の説明が、例示及び解説のためのものでしかないのは明
かである。包括的であろうとか、あるいは、本発明を開
示のままの形態に制御しようとするものではなく、上記
教示に照らして、多くの修正及び変更が可能であること
は明かである。
【0066】
【発明の効果】本発明によって、RAMに対してROM
のマッピングを施して、CPUのROMに対する書き込
み操作が実施される毎に、キャッシュ・メモリ内におけ
るデータの保全性を保証する方法及び装置を提供でき
る。
のマッピングを施して、CPUのROMに対する書き込
み操作が実施される毎に、キャッシュ・メモリ内におけ
るデータの保全性を保証する方法及び装置を提供でき
る。
【図1】本発明を具現化するパーソナル・コンピュータ
の透視図である。
の透視図である。
【図2】図1のパーソナル・コンピュータのいくつかの
要素に関する分解図である。
要素に関する分解図である。
【図3】本発明の有効利用が可能なコンピュータ・アー
キテクチャの1つのタイプについて詳細に表した、図1
及び図2に示すパーソナル・コンピュータ・システムの
ブロック図である。
キテクチャの1つのタイプについて詳細に表した、図1
及び図2に示すパーソナル・コンピュータ・システムの
ブロック図である。
【図4】本発明の原理の説明に役立つ、図3に示すよう
なコンピュータ・システムの特定部分に関する略ブロッ
ク図である。すなわち、図4には、CPU、関連キャッ
シュ・メモリ、RAM、及び、ROM間における相互接
続が示されており、この場合、ローカル・メモリ・コン
トローラが、CPUと前述のメモリとの協働を管理する
ために利用されている。
なコンピュータ・システムの特定部分に関する略ブロッ
ク図である。すなわち、図4には、CPU、関連キャッ
シュ・メモリ、RAM、及び、ROM間における相互接
続が示されており、この場合、ローカル・メモリ・コン
トローラが、CPUと前述のメモリとの協働を管理する
ために利用されている。
【図5】本発明の教示に従って作成された、本発明が意
図するスヌープ・サイクルの実施時に、ローカル・メモ
リ・コントローラによって実施される判定機能を示すフ
ローチャートであり、この場合、メモリ・コントローラ
は、RAMに対するROMのマッピングを施して、CP
UのROMに対する書き込み操作が行われる毎に、CP
Uに対して無効信号を加える。
図するスヌープ・サイクルの実施時に、ローカル・メモ
リ・コントローラによって実施される判定機能を示すフ
ローチャートであり、この場合、メモリ・コントローラ
は、RAMに対するROMのマッピングを施して、CP
UのROMに対する書き込み操作が行われる毎に、CP
Uに対して無効信号を加える。
【図6】先行技術によるローカル・メモリ・コントロー
ラが、キャッシュ・データの保全性を維持するため、ス
ヌープ・データを実施し、利用すると生じる一連の事象
例を示すタイミング図である。
ラが、キャッシュ・データの保全性を維持するため、ス
ヌープ・データを実施し、利用すると生じる一連の事象
例を示すタイミング図である。
【図7】RAMに対してROMのマッピングを施して、
ROMに対するCPUの書き込み操作が実施されている
間に、ローカル・メモリ・コントローラを用いて、キャ
ッシュ・データの保全性が維持される場合、本発明の実
施例の1つに従って生じる一連の事象例を示すタイミン
グ図である。
ROMに対するCPUの書き込み操作が実施されている
間に、ローカル・メモリ・コントローラを用いて、キャ
ッシュ・データの保全性が維持される場合、本発明の実
施例の1つに従って生じる一連の事象例を示すタイミン
グ図である。
10 コンピュータ・システム 11 モニタ 12 キー・ボード 14 プリンタまたはプロッタ 15 カバー 16 装飾外部部材 18 内部シールド部材 19 シャーシ 20 プレーナ 22 ベース 24 フロント・パネル 25 リヤ・パネル 26 上部ベイ 28 上部ベイ 29 下部ベイ 30 下部ベイ 32 CPU 34 CPUローカル・バス 36 メモリ制御装置 38 揮発性RAM 39 数理コ・プロセッサ 48 DMA装置 49 中央アービタ 50 DMAコントローラ 51 バッファ 52 マイクロ・チャネル・バス 54 I/Oスロット 56 ディスケット・アダプタ 57 アービトレーション・バス 59 メモリ・コントローラ 60 マルチプレクサ 61 データ・バッファ 64 ROM 65 オプションのメモリ・モジュール 66 オプションのメモリ・モジュール 67 オプションのメモリ・モジュール 69 プレーナI/Oバス 70 ディスプレイ・アダプタ 72 クロック 74 不揮発性RAM 76 RS232アダプタ 78 並列アダプタ 80 タイマ 84 割込みコントローラ 120 バス 121 バス 122 バス 420 バス 421 バス 422 バス 432 CPU 434 ローカル・バス 438 RAM 459 メモリ・コントローラ 464 ROM 480 バス 481 バス・インターファイス装置 482 バス 483 バス 484 バッファ 485 バス
Claims (18)
- 【請求項1】 中央演算処理装置(CPU)、前記CP
Uに関連したキャッシュ・メモリ、ランダム・アクセス
・メモリ(RAM)、読み取り専用メモリ(ROM)、
前記CPU、キャッシュ・メモリ、RAM、及び、RO
M間における協働に制御を加えるローカル・メモリ・コ
ントローラ、及び、前記ローカル・メモリ・コントロー
ラと前記CPUとの相互接続を行うためのローカル・バ
スから成り、RAMに対してROMのマッピングが施さ
れる操作モードを支援することが可能なコンピュータ・
システムにおけるキャッシュの保全性を維持する方法に
おいて、 (a) RAMに対して前記ROMのマッピングを施す
モードが使用可能になる毎に、CPUのROMに対する
書き込み操作を検出するローカル・メモリ・コントロー
ラ・スヌープ・サイクルを実施するステップと、 (b) RAMに対するROMのマッピングを施される
と、CPUのROMに対する書き込み操作を検出する毎
に、前記CPUに対してキャッシュ項目無効信号を加え
るステップから成ることを特徴とする、 キャッシュの保全性維持方法。 - 【請求項2】 前記キャッシュ項目無効信号は、前記ロ
ーカル・バスを介して前記CPUに加えられることを特
徴とする、請求項1に記載のキャッシュの保全性維持方
法。 - 【請求項3】 前記無効信号に応答し、前記CPUを利
用して、前記CPUのROM書き込み操作の目標アドレ
スに配置されたデータ項目に対応する前記キャッシュ・
メモリ内のキャッシュ項目を無効にするステップが、さ
らに、含まれることを特徴とする、請求項1に記載のキ
ャッシュの保全性維持方法。 - 【請求項4】 (a) 前記CPUのROMに対する書
き込み操作の目標アドレスを前記ローカル・バスに送り
出すステップと、 (b) 前記無効信号が前記CPUに加えられる毎に、
前記CPUを利用して、前記ローカル・バスにおける目
的アドレスに対応するキャッシュ項目を無効にするステ
ップが、さらに含まれることを特徴とする、請求項1に
記載のキャッシュの保全性維持方法。 - 【請求項5】 ローカル・メモリ・コントローラのスヌ
ープ・サイクルを実施する前記ステップに、 (a) メモリ書き込みサイクルが前記CPUによって
開始されたか否かを判定するステップと、 (b) ROMスペース・アドレスが前記ローカル・バ
スに存在するか否かを判定するステップと、 (c) RAMに対してROMのマッピングが施される
前記システムの操作モードが、使用可能か否かを判定す
るステップが、さらに含まれることを特徴とする、請求
項1に記載のキャッシュの保全性維持方法。 - 【請求項6】 中央演算処理装置(CPU)、前記CP
Uに関連したキャッシュ・メモリ、ランダム・アクセス
・メモリ(RAM)、読み取り専用メモリ(ROM)、
メモリ・コントローラ及び前記CPUを相互接続するた
めのローカル・バスから成り、RAMに対してROMの
マッピングが施される操作モードを支援することが可能
なコンピュータ・システムにおけるキャッシュの保全性
を維持するため、メモリ・コントローラを操作する方法
において、 (a) 前記ローカル・バスをモニタして、前記CPU
によって、メモリ書き込みサイクルが開始したか否かを
判定するステップと、 (b) ROMスペース・アドレスが前記ローカル・バ
スに存在するか否かを判定するステップと、 (c) RAMに対してROMのマッピングが施される
前記システムの操作モードが、使用可能か否かを判定す
るステップと、 (d) メモリ書き込みサイクルが、ROMアドレス・
スペース内にある前記ローカル・バスのアドレスから開
始されており、同時に、RAMに対してROMのマッピ
ングが施される前記システムの操作モードは使用可能で
あると,前記メモリ・コントローラが判定する毎に、前
記CPUに対してキャッシュ項目無効信号を加えるステ
ップから構成される、 メモリ・コントローラの操作方法。 - 【請求項7】 中央演算処理装置(CPU)、前記CP
Uに関連したキャッシュ・メモリ、ランダム・アクセス
・メモリ(RAM)、読み取り専用メモリ(ROM)、
前記CPU、キャッシュ・メモリ、RAM、及び、RO
M間における協働に制御を加えるローカル・メモリ・コ
ントローラ、及び、前記ローカル・メモリ・コントロー
ラと前記CPUとの相互接続を行うためのローカル・バ
スから成り、RAMに対してROMのマッピングが施さ
れる操作モードを支援することが可能なコンピュータ・
システムにおけるキャッシュの保全性を維持する装置に
おいて、 (a) 前記ローカル・バスを介して前記CPUに結合
され、RAMに対してROMのマッピングを施す前記シ
ステムの操作モードが使用可能になると、CPUのRO
Mに対する書き込み操作を検出する検出手段と、 (b) 前記ローカル・バスを介して前記CPUに結合
され、前記検出手段によるCPUのROMに対する書き
込み操作の検出に応答して、RAMに対するROMのマ
ッピングが施されて、CPUのROMに対する書き込み
操作が行われる毎に、前記CPUに対してキャッシュ項
目無効信号を加える信号手段から構成される、 キャッシュの保全性維持装置。 - 【請求項8】 前記CPUが、前記無効信号に応答し、
前記CPUのROMに対する書き込み操作の目標アドレ
スに配置されたデータ項目に対応する前記キャッシュ・
メモリ内のキャッシュ項目を無効にする働きをすること
を特徴とする、請求項7に記載のキャッシュ保全性維持
装置。 - 【請求項9】 前記CPUが、前記CPUのROMに対
する書き込み操作の目標アドレスを前記ローカル・バス
に送り出し、前記無効信号に応答して、前記ローカル・
バスにおけるアドレスに対応するキャッシュ項目を無効
にする働きをすることを特徴とする、請求項7に記載の
キャッシュの保全性維持装置。 - 【請求項10】 前記検出手段に、さらに、 (a) メモリ書き込みサイクルが進行中か否かを判定
する手段と、 (b) ROMスペース・アドレスが前記ローカル・バ
ス上に存在するか否かを判定する手段と、 (c) RAMに対してROMのマッピングが施される
前記システムの操作モードが、使用可能か否かを判定す
る手段が含まれていることを特徴とする、請求項7に記
載のキャッシュの保全性維持装置。 - 【請求項11】 中央演算処理装置(CPU)、前記C
PUに関連したキャッシュ・メモリ、ランダム・アクセ
ス・メモリ(RAM)、読み取り専用メモリ(RO
M)、メモリ・コントローラ及び前記CPUを相互接続
するためのローカル・バスから成り、RAMに対してR
OMのマッピングが施される操作モードを支援すること
が可能なコンピュータ・システムにおけるキャッシュ・
データの保全性を維持するためのメモリ・コントローラ
において、 (a) 前記ローカル・バスに結合されて、メモリ書き
込みサイクルが前記CPUによって開始されているか否
かを判定するメモリ書き込みサイクル検出手段と、 (b) 前記ローカル・バスに結合されて、ROMスペ
ース・アドレスが前記ローカル・アドレスに存在するか
否かを判定するROMアドレス・スペース検出手段と、 (c) RAMに対してROMのマッピングが施される
前記システムの操作モードが使用可能か否かを判定する
モード判定手段と、 (d) メモリ書き込みサイクルが、ROMアドレス・
スペース内にある前記ローカル・バスのアドレスから開
始されており、同時に、RAMに対してROMのマッピ
ングが施される前記システムの操作モードは使用可能で
あると,前記メモリ・コントローラが判定する毎に、前
記CPUに対してキャッシュ項目無効信号を加える手段
から構成される、 メモリ・コントローラ。 - 【請求項12】 さらに、前記コンピュータ・システム
の操作モードを示す少なくとも1つのモード使用可能ビ
ットを記憶するための記憶手段が含まれていることを特
徴とする、請求項11に記載のメモリ・コントローラ。 - 【請求項13】 RAMに対してROMのマッピングが
施されるモードを支援し、前記モードが使用可能になる
と、CPUのROMに対する書き込み操作が実施される
毎に、キャッシュの保全性を維持するキャッシュ・メモ
リを備えたコンピュータ・システムにおいて、 (a) 中央演算処理装置(CPU)と、 (b) 前記CPUに関連したキャッシュ・メモリと、 (c) ランダム・アクセス・メモリ(RAM)と、 (d) 読み取り専用メモリ(ROM)と、 (e) 前記CPU、前記キャッシュ・メモリ、前記R
AM、及び、前記ROMの間の協動を制御するローカル
・メモリ・コントローラと、 (f) 前記ローカル・メモリ・コントローラと前記C
PUを相互接続するローカル・バスと、 (g) 前記ローカル・バスを介して前記CPUに結合
され、RAMに対してROMのマッピングが施される前
記システムの操作モードが使用可能になると、CPUの
ROMに対する書き込み操作を検出する検出手段と、 (h) 前記ローカル・バスを介して前記CPUに結合
され、前記検出手段によるCPUのROMに対する書き
込み操作に応答して、RAMに対するROMのマッピン
グが施されて、ROMに対するCPUの書き込み操作が
行われる毎に、キャッシュ項目無効信号を前記CPUに
加える信号手段から構成される、 コンピュータ・システム。 - 【請求項14】 前記CPUが、前記無効信号に応答
し、CPUのROMに対する書き込み操作の目標アドレ
スに配置されたデータ項目に対応する前記キャッシュ・
メモリのキャッシュ項目を無効にする働きをすることを
特徴とする、請求項13に記載のコンピュータ・システ
ム。 - 【請求項15】 前記CPUが、ROMに対する前記C
PUの書き込み操作の目標アドレスを前記ローカル・バ
スに送り出し、前記無効信号に応答して、前記ローカル
・バスの目標アドレスに対応するキャッシュ項目を無効
にする働きをすることを特徴とする、請求項13に記載
のコンピュータ・システム。 - 【請求項16】 前記検出手段に、さらに、 (a) メモリ書き込みサイクルが進行中か否かを判定
する手段と、 (b) ROMスペース・アドレスが前記ローカル・バ
スに存在するか否かを判定する手段と、 (c) RAMに対してROMのマッピングが施される
前記システムの操作モードが使用可能か否かを判定する
手段が含まれることを特徴とする、請求項13に記載の
コンピュータ・システム。 - 【請求項17】 中央演算処理装置(CPU)、前記C
PUに関連したキャッシュ・メモリ、ランダム・アクセ
ス・メモリ(RAM)、読み取り専用メモリ(RO
M)、及び、前記メモリ・コントローラ及び前記CPU
を相互接続するローカル・バスが含まれており、RAM
に対してROMのマッピングが施される操作モードを支
援することが可能な、キャッシュ・データの整合性を維
持するメモリ・コントローラを備えたコンピュータ・シ
ステムにおいて、 (a) メモリ書き込みサイクルが前記CPUによって
開始されているか否かを判定するメモリ書き込みサイク
ル検出手段と、 (b) ROMスペース・アドレスが前記ローカル・バ
スに存在するか否かを判定するROMスペース・アドレ
ス検出手段と、 (c) RAMに対してROMのマッピングが施される
前記システムの操作モードが使用可能か否かを判定する
モード判定手段と、 (d) RAMに対してROMのマッピングが施される
前記システムの操作モードが使用可能になっている間
に、メモリ書き込みサイクルが、前記ローカルバスのR
OMスペース・アドレスによって開始される毎に、キャ
ッシュ項目無効信号を前記CPUに加える手段から構成
される、 コンピュータ・システム。 - 【請求項18】 前記メモリ書き込みサイクル検出手
段、前記ROMスペース・アドレス検出手段、前記モー
ド判定手段、及び、キャッシュ項目無効信号を加える前
記手段が、全て、前記メモリ・コントローラに組み込ま
れていることを特徴とする、請求項17に記載のコンピ
ュータ・システム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/604,837 US5193170A (en) | 1990-10-26 | 1990-10-26 | Methods and apparatus for maintaining cache integrity whenever a cpu write to rom operation is performed with rom mapped to ram |
| US604837 | 1990-10-26 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0581128A true JPH0581128A (ja) | 1993-04-02 |
| JPH0797353B2 JPH0797353B2 (ja) | 1995-10-18 |
Family
ID=24421248
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3301334A Expired - Fee Related JPH0797353B2 (ja) | 1990-10-26 | 1991-10-22 | キャッシュの保全性維持方法及び装置 |
Country Status (9)
| Country | Link |
|---|---|
| US (1) | US5193170A (ja) |
| EP (1) | EP0482752B1 (ja) |
| JP (1) | JPH0797353B2 (ja) |
| KR (1) | KR950013261B1 (ja) |
| CN (1) | CN1024599C (ja) |
| AU (1) | AU652178B2 (ja) |
| CA (1) | CA2052766C (ja) |
| DE (1) | DE69109803T2 (ja) |
| HK (1) | HK24196A (ja) |
Families Citing this family (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0510242A2 (en) * | 1991-04-22 | 1992-10-28 | Acer Incorporated | System and method for managing the routing execution in a computer system |
| US5319768A (en) * | 1991-05-01 | 1994-06-07 | Sgs-Thomson Microelectronics, Inc. | Control circuit for resetting a snoop valid bit in a dual port cache tag memory |
| US5341487A (en) * | 1991-12-20 | 1994-08-23 | International Business Machines Corp. | Personal computer having memory system with write-through cache and pipelined snoop cycles |
| US5966728A (en) * | 1992-01-02 | 1999-10-12 | International Business Machines Corp. | Computer system and method for snooping date writes to cacheable memory locations in an expansion memory device |
| US5724549A (en) * | 1992-04-06 | 1998-03-03 | Cyrix Corporation | Cache coherency without bus master arbitration signals |
| US5313593A (en) * | 1992-09-17 | 1994-05-17 | International Business Machines Corp. | Personal computer system with bus noise rejection |
| US5603011A (en) * | 1992-12-11 | 1997-02-11 | International Business Machines Corporation | Selective shadowing and paging in computer memory systems |
| US5526512A (en) * | 1993-09-20 | 1996-06-11 | International Business Machines Corporation | Dynamic management of snoop granularity for a coherent asynchronous DMA cache |
| CN1052550C (zh) * | 1993-09-20 | 2000-05-17 | 国际商业机器公司 | 对高速缓冲存储器探测粒度的动态管理 |
| JPH09506988A (ja) * | 1993-09-30 | 1997-07-08 | アップル コンピュータ,インコーポレイテッド | コンピュータの仮想メモリにおける補助記憶の分散制御システム |
| US5526503A (en) * | 1993-10-06 | 1996-06-11 | Ast Research, Inc. | Virtual addressing buffer circuit |
| US6421776B1 (en) * | 1994-10-14 | 2002-07-16 | International Business Machines Corporation | Data processor having BIOS packing compression/decompression architecture |
| US5617557A (en) * | 1994-11-14 | 1997-04-01 | Compaq Computer Corporation | Using an address pin as a snoop invalidate signal during snoop cycles |
| EP0735481B1 (en) * | 1995-03-31 | 2003-05-14 | Sun Microsystems, Inc. | System level mechanism for invalidating data stored in the external cache of a processor in a computer system |
| US5652859A (en) * | 1995-08-17 | 1997-07-29 | Institute For The Development Of Emerging Architectures, L.L.C. | Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues |
| US5940850A (en) * | 1996-10-31 | 1999-08-17 | International Business Machines Corporation | System and method for selectively enabling load-on-write of dynamic ROM data to RAM |
| US5900017A (en) * | 1997-05-14 | 1999-05-04 | International Business Machines Corporation | Snooping a variable number of cache addresses in a multiple processor system by a single snoop request |
| US6003103A (en) * | 1997-09-30 | 1999-12-14 | Micron Electronics, Inc. | Method for attachment or integration of a bios device into a computer system using a local bus |
| US6009522A (en) * | 1997-09-30 | 1999-12-28 | Micron Electronics, Inc. | Attachment or integration of a BIOS device into a computer system using the system memory data bus |
| US6182213B1 (en) | 1997-09-30 | 2001-01-30 | Micron Electronics, Inc. | Method for attachment of a bios device into a computer system using the system memory data bus |
| US6076118A (en) * | 1997-09-30 | 2000-06-13 | Micron Electronics, Inc. | Attachment or integration of a BIOS device into a computer system using the system memory address and data bus |
| TW480404B (en) * | 1999-08-31 | 2002-03-21 | Ibm | Memory card with signal processing element |
| JP4097883B2 (ja) * | 2000-07-04 | 2008-06-11 | 松下電器産業株式会社 | データ転送装置および方法 |
| EP1320035A1 (en) * | 2001-12-11 | 2003-06-18 | Thomson Licensing S.A. | Storage device cache management |
| WO2012014015A2 (en) * | 2010-07-27 | 2012-02-02 | Freescale Semiconductor, Inc. | Apparatus and method for reducing processor latency |
| US11889277B2 (en) * | 2020-10-12 | 2024-01-30 | Denso Ten Limited | Sound signal processing device and sound signal processing method |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59121677A (ja) * | 1982-12-28 | 1984-07-13 | Mitsubishi Electric Corp | 記憶装置 |
| JPS6115252A (ja) * | 1984-06-29 | 1986-01-23 | Mitsubishi Electric Corp | 主記憶デイスク装置 |
| JPS63308653A (ja) * | 1987-06-10 | 1988-12-16 | Fujitsu Ltd | ブロック・イン方式 |
| JPH01169647A (ja) * | 1987-12-25 | 1989-07-04 | Hitachi Ltd | Nmi処理方法 |
| JPH01303546A (ja) * | 1988-05-31 | 1989-12-07 | Nec Corp | メモリ制御方式 |
| JPH01309153A (ja) * | 1988-06-08 | 1989-12-13 | Hitachi Ltd | 情報処理方法及び装置 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4392200A (en) * | 1980-01-28 | 1983-07-05 | Digital Equipment Corporation | Cached multiprocessor system with pipeline timing |
| US4785398A (en) * | 1985-12-19 | 1988-11-15 | Honeywell Bull Inc. | Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page |
| US5091846A (en) * | 1986-10-03 | 1992-02-25 | Intergraph Corporation | Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency |
| US5091850A (en) * | 1987-09-28 | 1992-02-25 | Compaq Computer Corporation | System for fast selection of non-cacheable address ranges using programmed array logic |
| DE3852263T2 (de) * | 1987-09-28 | 1995-07-20 | Compaq Computer Corp | System zur schnellen Auswahl von nicht-cachespeicherbaren Adressenbereichen mittels einer programmierbaren Logikmatrix. |
| US5119485A (en) * | 1989-05-15 | 1992-06-02 | Motorola, Inc. | Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation |
-
1990
- 1990-10-26 US US07/604,837 patent/US5193170A/en not_active Expired - Lifetime
-
1991
- 1991-09-16 DE DE69109803T patent/DE69109803T2/de not_active Expired - Fee Related
- 1991-09-16 EP EP91308435A patent/EP0482752B1/en not_active Expired - Lifetime
- 1991-09-27 AU AU84824/91A patent/AU652178B2/en not_active Ceased
- 1991-10-04 CA CA002052766A patent/CA2052766C/en not_active Expired - Fee Related
- 1991-10-11 CN CN91109634A patent/CN1024599C/zh not_active Expired - Fee Related
- 1991-10-12 KR KR1019910017954A patent/KR950013261B1/ko not_active Expired - Fee Related
- 1991-10-22 JP JP3301334A patent/JPH0797353B2/ja not_active Expired - Fee Related
-
1996
- 1996-02-08 HK HK24196A patent/HK24196A/en not_active IP Right Cessation
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59121677A (ja) * | 1982-12-28 | 1984-07-13 | Mitsubishi Electric Corp | 記憶装置 |
| JPS6115252A (ja) * | 1984-06-29 | 1986-01-23 | Mitsubishi Electric Corp | 主記憶デイスク装置 |
| JPS63308653A (ja) * | 1987-06-10 | 1988-12-16 | Fujitsu Ltd | ブロック・イン方式 |
| JPH01169647A (ja) * | 1987-12-25 | 1989-07-04 | Hitachi Ltd | Nmi処理方法 |
| JPH01303546A (ja) * | 1988-05-31 | 1989-12-07 | Nec Corp | メモリ制御方式 |
| JPH01309153A (ja) * | 1988-06-08 | 1989-12-13 | Hitachi Ltd | 情報処理方法及び装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0482752A2 (en) | 1992-04-29 |
| CN1060916A (zh) | 1992-05-06 |
| KR950013261B1 (ko) | 1995-10-26 |
| EP0482752A3 (en) | 1992-07-08 |
| JPH0797353B2 (ja) | 1995-10-18 |
| EP0482752B1 (en) | 1995-05-17 |
| AU8482491A (en) | 1992-04-30 |
| KR920008601A (ko) | 1992-05-28 |
| CA2052766C (en) | 1996-01-02 |
| HK24196A (en) | 1996-02-16 |
| CA2052766A1 (en) | 1992-04-27 |
| AU652178B2 (en) | 1994-08-18 |
| CN1024599C (zh) | 1994-05-18 |
| DE69109803T2 (de) | 1995-11-30 |
| US5193170A (en) | 1993-03-09 |
| DE69109803D1 (de) | 1995-06-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0581128A (ja) | キヤツシユの保全性維持方法及び装置 | |
| JP3787155B2 (ja) | ローカル・バス上の多重プロセッシング・キャッシュ・コヒーレンシ・プロトコル | |
| US5778433A (en) | Computer system including a first level write-back cache and a second level cache | |
| US5774700A (en) | Method and apparatus for determining the timing of snoop windows in a pipelined bus | |
| KR960009659B1 (ko) | 멀티프로세서 시스템의 스누프회로 | |
| US5909699A (en) | Method and apparatus for supporting read, write, and invalidation operations to memory which maintain cache consistency | |
| US7865675B2 (en) | Controlling cleaning of data values within a hardware accelerator | |
| US20030140200A1 (en) | Methods and apparatus for transferring cache block ownership | |
| EP0683457A1 (en) | A computer system including a snoop control circuit | |
| WO1994008297A9 (en) | Method and apparatus for concurrency of bus operations | |
| US20030154350A1 (en) | Methods and apparatus for cache intervention | |
| US7287126B2 (en) | Methods and apparatus for maintaining cache coherency | |
| WO1994008297A1 (en) | Method and apparatus for concurrency of bus operations | |
| JPH07168763A (ja) | ライトスルーキャシュ設計のシステムでのライトバックキャシュのコヒーレンシ | |
| US5485592A (en) | Write back cache controller method and apparatus for use in a system having a CPU with internal cache memory | |
| JPH06222992A (ja) | キャッシュシステムおよびキャッシュコントローラを制御するための方法 | |
| JP3195303B2 (ja) | 命令キャッシュとデータ・キャッシュ間のコヒーレンシを維持する方法および装置 | |
| JPH06318174A (ja) | キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法 | |
| JP3202943B2 (ja) | 処理装置及びルックアサイド・キャッシュをスヌープする改善された装置及び方法 | |
| US5950227A (en) | CPU write-back cache coherency mechanism that transfers data from a cache memory to a main memory after access of the main memory by an alternative bus master | |
| US5699540A (en) | Pseudo-concurrent access to a cached shared resource | |
| JPH04336641A (ja) | 処理システムにおける使用のためのデータキャッシュおよび方法 | |
| EP0279421B1 (en) | Cache memory control system | |
| JPH08110874A (ja) | ルックアサイドキャッシュシステムを有するコンピュータシステム | |
| JP3426216B2 (ja) | フォールトトレラント計算機システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees | ||
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
| R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |