JPH07210462A - 直接スレーブ・インタフェースを有するストア・イン・キャッシュ - Google Patents

直接スレーブ・インタフェースを有するストア・イン・キャッシュ

Info

Publication number
JPH07210462A
JPH07210462A JP6317261A JP31726194A JPH07210462A JP H07210462 A JPH07210462 A JP H07210462A JP 6317261 A JP6317261 A JP 6317261A JP 31726194 A JP31726194 A JP 31726194A JP H07210462 A JPH07210462 A JP H07210462A
Authority
JP
Japan
Prior art keywords
bus
cache
data
coupled
memory
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.)
Pending
Application number
JP6317261A
Other languages
English (en)
Inventor
Fu Lam Chan
フー・ラム・チャン
Luis Antonio Hernandez
ルイス・アントニオ・エルナンデス
Nesly Lacroix
ネズリー・ラクロワ
Jorge Eduardo Lenta
ホルヘ・エドゥアルド・レンタ
Dwight Delano Riley
ドワイト・デラノ・リレイ
Esmaeil Tashakori
エスマエル・タシャコリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07210462A publication Critical patent/JPH07210462A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0835Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 メイン・メモリへのキャッシュ・データのキ
ャスト・アウト(書き出し)を不要にする。 【構成】 キャッシュは、読取りスヌープ・ヒット・サ
イクル中に直接、キャッシュ中のメモリ位置からローカ
ル・バス・マスタ又は入出力バス・マスタへデータを転
送するように動作する。キャッシュは、さらに、書込み
スヌープ・ヒット・サイクル中に、データをメイン・メ
モリへキャスト・アウトせずにキャッシュ中のメモリ位
置にあるデータを無効化するように動作する。キャッシ
ュはバス・インタフェース制御装置の一部であってよ
く、1つのバス・マスタと選択的に通信するために直接
ローカル・バスおよび入出力バスに結合することができ
る。またキャッシュはL1CPUキャッシュでも、ロー
カル・バスに直接結合されたL2キャッシュでもよい。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、全般的にはパーソナル
・コンピュータに関し、詳細には、メイン・メモリへの
キャッシュ・データのキャスト・アウト(書き出し)を
不要にするための直接スレーブ・インタフェースを有す
るストア・イン・キャッシュによって性能が拡張された
パーソナル・コンピュータに関する。
【0002】
【従来の技術】現代の高速電子データ処理システムは、
プロセッサまたはCPUと、サイクル時間がプロセッサ
のサイクル時間よりもずっと遅い高容量で比較的低速の
メイン・メモリ、およびプロセッサのサイクル時間に匹
敵するメモリ・サイクル時間を有する従来キャッシュと
して知られている比較的低容量で高速のメモリを含む、
階層メモリ・システムとを備えることが多い。そのよう
なキャッシュ・メモリ・システムは、程度の差こそあれ
合理的なコストで有効メモリ・アクセス時間を短縮する
ためのものとして当技術分野で周知である。
【0003】キャッシュの目的は、CPUがデータおよ
び命令のためにメイン・メモリにアクセスする必要があ
る回数を減らすことによってCPUの演算速度を増加す
ることである。CPUが情報を必要とするとき、その情
報はメイン・メモリから読み取られ、プロセッサに提供
され、キャッシュ・メモリに書き込まれる。次いでプロ
セッサが同じ情報を必要とする場合、通常メイン・メモ
リを読む際に出会う時間遅延をなくすために該情報は直
接キャッシュ・メモリから読み取られる。
【0004】現行の階層メモリ・システムにはいくつか
のキャッシュ・レベルがある。たとえば、最も高速のマ
イクロプロセッサ(たとえば、インテル80486)
は、より多くのメモリとより速い演算速度を求めるアプ
リケーション・プログラムの増大する要求を満たすため
に内部キャッシュまたは専用キャッシュ(L1)を有す
る。データや命令がCPUの専用キャッシュにないとき
にさらにアクセス時間を短くするには、第2レベル・キ
ャッシュ(L2)を使用することが多い。第2レベル・
キャッシュは、CPUの外部のものであるが、メイン・
メモリよりもずっと短いアクセス時間をサポートする。
【0005】現行のコンピュータ・システムで広く使用
されている2種類のキャッシュがある。ストア・スルー
(ST)(またはライト・スルー)キャッシュは読取り
動作と書込み動作を異なるように扱う。アドレスされた
行がキャッシュ中にあってもなくても、データはSTキ
ャッシュおよびメイン・メモリに書き込まれる。したが
って、キャッシュとメイン・メモリは常に一致してい
る。これによって、メイン・メモリが現行のものに維持
され、最新のデータを有することになる。読取りヒット
時には、データは、メイン・メモリへのアクセスなしで
STキャッシュから読み取られる。しかし、STキャッ
シュの欠点は、通常、平均ですべての参照の10%ない
し20%を占める書込みがすべてメイン・メモリに送ら
れ、顕著な性能低下を回避するには大量のメイン・メモ
リ帯域幅が必要になることである。
【0006】ストア・イン(SI)(またはライト・バ
ック)キャッシュはSTキャッシュよりも優れたシステ
ム性能を提供することが分かっている。STキャッシュ
とは対称的に、SIキャッシュは読取り動作と書込み動
作を同じに扱う。アクセス・アドレスによって指定され
たデータの行がSIキャッシュに存在する場合、データ
はキャッシュだけから読み取られ、あるいはキャッシュ
だけに書き込まれる。すべての書込みがメイン・メモリ
の更新なしでキャッシュに対して直接行われるので、S
Iキャッシュは、STキャッシュ設計と比べて、CPU
が必要とするメイン・メモリ帯域幅(バンド)を大幅に
低減する。
【0007】SIキャッシュ(L1およびL2)の問題
点は、現情報がキャッシュ中にあり、メイン・メモリ中
にはないことである。したがって、CPU以外の他の何
らかのバス装置がメイン・メモリにアクセスしようとす
るとき、SIキャッシュは、データの保全性を維持する
ために、読取りまたは書込み動作を実行できるように該
キャッシュ自体のデータをメイン・メモリへキャスト・
アウトしておかなければならない。たとえば、メイン・
メモリ読取りスヌープ・ヒットが発生した(バス・マス
タ装置が、キャッシュ中にしか存在しないメイン・メモ
リ中の位置を読み取ろうとしていることを、キャッシュ
が検出した)とき、キャッシュは、バス・マスタ装置が
メイン・メモリを読むことができるようにメイン・メモ
リ中のデータを更新しておかなければならない。キャッ
シュは、バス・マスタによって供給されたアドレスに対
応するデータの行をキャスト・アウト(書き出し又は追
い出し)する。
【0008】メイン・メモリ書込みスヌープ・ヒットが
発生した(バス・マスタ装置が、すでにキャッシュ中に
存在しているメイン・メモリ中の位置に書き込もうとし
ていることを、キャッシュが検出した)とき、キャッシ
ュはやはり、アドレスされたデータ行をメイン・メモリ
へキャスト・アウトして、キャッシュ中の対応するデー
タ行を無効化する。次いで、バス制御装置はメイン・メ
モリで最新のデータを上書きする。バス・マスタが行の
全16バイトよりも少ないバイトを書き込もうとしてい
る場合でもキャッシュ中のデータ行全体をキャスト・ア
ウトして無効化しなければならない。なぜなら、キャッ
シュは、行のどのバイトがアクセスされているかを判定
できないからである。
【0009】たとえば、従来のキャッシュ(L1および
L2)は以下のように動作することができる。入出力
(I/O)バス・マスタがキャッシュ(L1またはL
2)中のメモリ位置への読取りサイクルまたは書込みサ
イクルを開始するとき、バス制御装置(メイン・メモリ
制御装置)は制御信号CHRDYを非アクティブにドラ
イブして、バス制御装置がまだ該サイクルを完了する準
備ができていないことを入出力バス・マスタに示す。次
いで、キャッシュは、バス制御装置によって受け取られ
るHITM制御信号をアクティブにドライブする。HI
TMは、キャッシュが最新のデータを有し、動作を実行
できるようにするために該データをメイン・メモリへ転
送しなければならないことを示す。キャッシュは次い
で、データ行をメイン・メモリへキャスト・アウトする
(そして、書込みサイクルのためにキャッシュ中の対応
するデータ行を無効化する)。キャスト・アウトが完了
した後、バス制御装置はCHRDYをアクティブにドラ
イブし、次いで、データ行を入出力バス・マスタに送り
(読取りサイクル)、あるいはメイン・メモリに新しい
データを書き込む(書込みサイクル)ことによってサイ
クルを完了する。
【0010】ローカル・バス(LB)バス・マスタがキ
ャッシュ(L1またはL2)中のメモリ位置への読取り
サイクルまたは書込みサイクルを開始すると、キャッシ
ュはスヌープ中のヒットを宣言する。次いで、キャッシ
ュは、メイン・メモリ制御装置に入力されるHITMを
アクティブにドライブし、このサイクルを処理できるよ
うにするにはキャスト・アウトを行わなければならない
ことを通知する。次いで、バス制御装置は、キャスト・
アウトが完了した後にバス・マスタがこのサイクルを再
開できるように、BACKOFF信号をLBバスへドラ
イブする。次いで、データ行がメイン・メモリにキャス
ト・アウトされ、次いで、バス・マスタは読取りサイク
ルまたは書込みサイクルを再開することができる。
【0011】
【発明が解決しようとする課題】入出力マスタ装置また
はLBマスタ装置がメイン・メモリにアクセスできるよ
うにするにはキャッシュがメイン・メモリ読取りスヌー
プ・ヒットおよびメイン・メモリ書込みスヌープ・ヒッ
ト時にデータをキャスト・アウトしなければならないの
で、システム性能は大幅に低下する。また、従来のSI
キャッシュでは、バス・マスタがデータにアクセスでき
るようにするためにメイン・メモリ中のキャッシュ・デ
ータを更新する余分なステップが必要とされるので、マ
イクロ・チャネル(Micro Channel)デー
タ・ストリーム化を使用することはできない。したがっ
て、キャッシュ・データのキャスト・アウトを不要にす
るストア・イン・キャッシュ・メモリ・システムを開発
する必要がある。
【0012】
【課題を解決するための手段】本発明は、読取りスヌー
プ・ヒット・サイクルおよび書込みスヌープ・ヒット・
サイクル時のメイン・メモリへのキャスト・アウトを不
要にする直接スレーブ・インタフェース・キャッシュに
関する。本発明の一実施例では、キャッシュはバス・イ
ンタフェース制御装置(BIC)の一部であり、ローカ
ル・バスおよび入出力バスからアドレス情報を受け取
り、ローカル・バス(LB)マスタおよび入出力バス・
マスタのうちの一方と選択的に通信するために、直接ロ
ーカル・プロセッサ・バスおよび入出力バスに結合され
ている。キャッシュは、(i)読取りスヌープ・ヒット
・サイクル中に直接、キャッシュ中のメモリ位置からロ
ーカル・バス・マスタまたは入出力バス・マスタにデー
タを転送するための手段と、(ii)ローカル・バス・
マスタまたは入出力バス・マスタによって開始された書
込みスヌープ・ヒット・サイクル中にデータをキャスト
・アウトせずにキャッシュ中のメモリ位置にあるデータ
を無効化するための手段のうちの一方または両方を含む
ことができる。
【0013】この実施例のキャッシュは、それぞれ、ロ
ーカル・バス・マスタによってローカル・バス上に供給
されるアドレスまたは入出力バス・マスタによって入出
力バス上に供給されるアドレスに選択的に結合される、
タグ・アレイと、状態アレイと、メモリ・アレイとを含
む。比較機構は、選択されたバス・マスタによってキャ
ッシュに提供されたアドレスをキャッシュ中のタグと比
較し、アドレスがキャッシュ中にあるかどうかを示すた
めの信号を生成する。この信号はローカル・バス・キャ
ッシュ制御装置および入出力キャッシュ制御装置に入力
される。
【0014】入出力バス・マスタは、入出力バスを制御
下においてメイン・メモリ位置にあるバイトへの読取り
サイクルを開始すると、入出力バス上のそのバイトのア
ドレスと、そのアドレスでどんなタイプの動作(読取
り、書込みなど)を実行すべきかを示す制御情報とを入
出力バス上に置く。キャッシュは、スヌープ中にこのサ
イクルを検出する。入出力アドレスは、タグ・アレイ、
状態アレイ、およびキャッシュ・メモリ・アレイとして
多重化される。アドレスがキャッシュ中に存在すると
き、比較機構によってヒットが宣言される。アドレスが
直接キャッシュ・メモリ・アレイに提供されるので、デ
ータ(バイト)はキャッシュから読み取られて直接入出
力バス・マスタに提供される。
【0015】入出力バス・マスタによって開始された書
込みスヌープ・ヒット・サイクル中に、入出力キャッシ
ュ制御装置は、状態アレイに入力される制御信号を生成
する。この制御信号は、データをメイン・メモリへキャ
スト・アウトせずに、キャッシュ中の選択されたアドレ
ス位置に対応するバイトの有効ビットを示すために使用
される。次いで、バス・インタフェース制御装置はメイ
ン・メモリに新しいデータを書き込む。(CPU以外
の)ローカル・バス・マスタがローカル・バスを制御し
ているときの本発明のキャッシュの動作は、入出力バス
・マスタに関して上記で説明したものと同じである。
【0016】本発明の他の実施例では、キャッシュは直
接ローカル・バスに結合されたL1内部CPUキャッシ
ュまたはL2キャッシュである。L1およびL2キャッ
シュは、読取りスヌープ・ヒット・サイクルまたは書込
みスヌープ・ヒット・サイクル、あるいはその両方中に
直接スレーブ・インタフェースを提供する。L1および
L2キャッシュは、(i)読取りスヌープ・ヒット・サ
イクル中に直接、キャッシュ中のメモリ位置からローカ
ル・バス・マスタまたは入出力バス・マスタにデータを
転送するための手段と、(ii)ローカル・バス・マス
タまたは入出力バス・マスタによって開始された書込み
スヌープ・ヒット・サイクル中に、データをキャスト・
アウトせずに、アドレスされたメモリ位置に対応するキ
ャッシュ中のバイトだけを無効化するための手段のうち
の一方または両方を含むことができる。読取りスヌープ
・ヒット・サイクル中に、キャッシュは(i)キャッシ
ュ中に有効なデータがあることを示すように制御信号H
ITTをドライブし、他のメモリ・スレーブがバス・サ
イクルに応答するのを妨げ、(ii)読取りサイクルを
終了させるようにREADY信号をドライブする。
【0017】本発明のL1およびL2キャッシュは、入
出力インタフェースを除きBICのキャッシュの要素を
すべて含む。具体的には、L1およびL2キャッシュ
は、それぞれ、ローカル・バス・マスタまたは入出力バ
ス・マスタによって入出力バス上に供給されるアドレス
に結合される、タグ・アレイと、状態アレイと、メモリ
・アレイとを含む。比較機構は、1つのバス・マスタに
よってキャッシュに提供されたアドレスをキャッシュ中
のタグと比較し、アドレスがキャッシュ中にあるかどう
かを示すための内部信号を生成する。この信号はローカ
ル・バス・キャッシュ制御装置に入力される。
【0018】アドレスを有するメイン・メモリ位置から
データを読み取るために入出力バス・マスタによって開
始されるバス・サイクルに関しては、入出力バス・マス
タはBICの調停手順に従って入出力バスを制御下にお
く。キャッシュはスヌープ中にこのバス・サイクルを検
出する。比較機構は、メモリ・アドレスをタグ・アレイ
中のタグと比較し、アドレスがキャッシュ中に存在する
ときはヒットを宣言する。キャッシュ制御装置は次い
で、他のメモリ・スレーブ(L1キャッシュおよびBI
Cメモリ制御装置)が応答するのを妨げるようにHIT
T信号をドライブする。データはREADY信号と共に
ローカル・バス上に置かれる。次いで、BICはデータ
を取り、入出力バスを介して入出力バス・マスタに転送
する。
【0019】入出力バス・マスタがL1またはL2キャ
ッシュ中の対応するアドレスを有するメモリ位置への書
込み動作を実行中の場合、ローカル・バス・キャッシュ
制御装置は、アドレスされたメイン・メモリ位置に対応
するL1またはL2キャッシュ中のバイトを無効化する
ように、状態アレイによって受け取られる制御信号をド
ライブする。次いで、BICはメイン・メモリに新しい
データを書き込む。このサイクル中にキャッシュ・デー
タ・キャスト・アウトは行われない。(CPU以外の)
ローカル・バス・マスタがローカル・バスを制御してい
るときの本発明のL1またはL2キャッシュの動作は、
入出力バス・マスタに関して上記で説明したものと同じ
である。
【0020】したがって、バス・マスタ(CPU以外の
入出力バス・マスタまたはローカル・バス・マスタ)に
よってアドレスされたメイン・メモリ位置が本発明のキ
ャッシュのうちのどれか1つにも存在する場合、読取り
スヌープ・ヒットが発生し、キャッシュが最初にデータ
をメイン・メモリへキャスト・アウトしておく必要なし
に、データが直接キャッシュからバス・マスタへ転送さ
れる(読み込まれる)。バス・マスタが書込み要求を発
行し、アドレスされたバイトがキャッシュ中にある場合
(書込みスヌープ・ヒット)、キャッシュはその特定の
アドレス位置のバイトを無効化し、バス・マスタは、キ
ャッシュが最初にデータをメイン・メモリへキャスト・
アウトしておく必要なしに、直接メイン・メモリに書き
込むことができる。
【0021】本発明の直接スレーブ・インタフェース
は、メイン・メモリの読取りスヌープ・ヒットまたは書
込みスヌープ・ヒット時にデータをメイン・メモリへキ
ャスト・アウトするステップが不要になる点で、従来技
術のSIキャッシュに勝る顕著な利点を有する。余分の
キャスト・アウト・ステップを不要にすることによっ
て、本発明のキャッシュはコンピュータの演算速度を大
幅に増加させ、かつマイクロ・チャネル・データ・スト
リーム化をサポートするほど高速である。
【0022】
【実施例】本発明の好ましい実施例が示された添付の図
面に関して本発明を以下で詳細に説明するが、説明の始
めに、当業者なら、本発明に記載された発明を修正し、
なおかつ本発明の好ましい結果を達成できることを理解
されたい。したがって、以下の説明は、当業者を対象と
する広範囲の教示的開示として理解すべきものであり、
本発明を限定するものとして理解すべきものではない。
【0023】ここで、添付の図面を詳細に参照すると、
本発明を実施するマイクロコンピュータが示されてお
り、全体的に10で示されている(図1)。コンピュー
タ10は、関連するモニタ11と、キーボード12と、
プリンタまたはプロッタ14とを有する。コンピュータ
10は、図2に示したように、ディジタル・データを処
理して記憶するための電動のデータ処理構成要素および
データ記憶構成要素を受けるための密閉され遮蔽された
容積を形成する上でシャシ19と協働するカバー15を
有する。これらの構成要素のうちの少なくともあるもの
は、シャシ19上に据え付けられ、かつ上記で識別した
ものや、フロッピィ・ディスク・ドライブ、様々な形の
直接アクセス記憶装置、付属のカードまたはボードなど
他の関連する要素を含むコンピュータ10の構成要素を
電気的に相互接続するための手段を提供する、多層プレ
ーナ20すなわちマザーボード上に据え付けられてい
る。
【0024】シャシ19は、ベースと背部パネル(図
2)とを有し、磁気ディスクまたは光学ディスク用のデ
ィスク・ドライブ、テープ・バックアップ・ドライブな
どのデータ記憶装置を受けるための少なくとも1つの空
のベイを形成する。図の形では、上部ベイ22は第1の
寸法の周辺装置(3.5インチとして知られているもの
など)を受けるようになされている。フロッピィ・ディ
スク・ドライブ、すなわち、一般に知られているよう
に、挿入されたディスケットを受けて、該ディスケット
を使用してデータを受け取り、記憶し、送ることができ
る、取外し可能な媒体直接アクセス記憶装置は、上部ベ
イ22に提供することができる。
【0025】上記の構造を本発明に関係付ける前に、パ
ーソナル・コンピュータ・システム10の一般的な動作
の概要を検討しておくのが有益であろう。図3を参照す
ると、プレーナ20上に据え付けられた構成要素と、パ
ーソナル・コンピュータ・システムの入出力スロットお
よびその他のハードウェアとプレーナとの接続部とを含
む、本発明によるシステム10などのコンピュータ・シ
ステムの様々な構成要素を示すパーソナル・コンピュー
タ・システムのブロック図が示されている。プレーナに
は、本発明による直接スレーブ・インタフェース内部L
1キャッシュ33を任意選択で有することができるプロ
セッサ32が接続されている。CPU32は、バス・イ
ンタフェース制御装置35と、本明細書ではシングル・
インライン・メモリ・モジュール(SIMM)として示
した揮発性ランダム・アクセス・メモリ(RAM)36
(メイン・メモリ)と、CPU32に対する基本入出力
操作用の命令が記憶されたBIOS ROM38とに高
速CPUローカル・バスによって接続されている。BI
OS ROM38は、マイクロプロセッサ32の入出力
装置とオペレーティング・システムとのインタフェース
をとるために使用されるBIOSを含む。BIOSの実
行時間を短縮するように、ROM38に記憶された命令
をRAM36にコピーすることができる。
【0026】特に図3のシステム・ブロック図に関して
以下で本発明を説明するが、以下の説明の始めに、当業
者なら、本発明に従った装置および方法を他のハードウ
ェア構成のプレーナ・ボードと共に使用することが構想
されることを理解されたい。たとえば、システム・プロ
セッサはインテル社製の80486マイクロプロセッサ
でよい。
【0027】ここで図3に戻ると、(データ構成要素、
アドレス構成要素、および制御構成要素から成る)CP
Uローカル・バス34は、本発明による直接スレーブ・
インタフェースL2キャッシュ37とマイクロプロセッ
サ32との接続も提供している。数値演算コプロセッサ
(MCPU)39および小型コンピュータ・システム・
インタフェース(SCSI)制御装置40も、ローカル
・バス34によってCPU32に接続されている。コン
ピュータ設計および操作の当業者に知られているよう
に、SCSI制御装置40は、読取り専用メモリ(RO
M)41、RAM42、および図の右に示した入出力接
続によって様々なタイプの適当な外部装置に接続するこ
とができる。SCSI制御装置40は、ハード・ディス
ク・ドライブおよびフロッピィ・ディスク・ドライブと
しても知られている記憶装置や、電気光学式記憶装置、
テープ記憶装置、その他の記憶装置などの記憶メモリ装
置を制御する上で記憶制御装置として機能する。
【0028】バス・インタフェース制御装置(BIC)
35は、本発明によるストア・イン直接スレーブ・イン
タフェース・キャッシュ43を含む。BIC35はCP
Uローカル・バス34を入出力バス44に結合し、数あ
る機能の中でプロトコル変換機構、メモリ制御装置、お
よびDMA制御装置として機能する。BIC35は、バ
ス44によって、マイクロ・チャネル・アダプタ・カー
ド45を受けるための複数の入出力スロットを有するマ
イクロ・チャネル・バスなどのオプション用のバスに結
合される。該アダプタ・カードはさらに、入出力装置ま
たはメモリ(図示せず)に結合することができる。入出
力バス44は、アドレス構成要素と、データ構成要素
と、制御構成要素とを含む。入出力バス44は、マイク
ロ・チャネル仕様以外のバス仕様に合わせて構成するこ
とができる。
【0029】入出力バス44には、48で示した文字ベ
ースの情報を記憶するためのビデオRAM(VRAM)
と、49で示したグラフィックまたはイメージ・ベース
の情報を記憶するためのビデオRAM(VRAM)とに
関連するビデオ信号プロセッサ(VSP)46など様々
な入出力構成要素が結合されている。プロセッサ46と
交換されるビデオ信号は、ディジタル・アナログ変換器
(DAC)50を介してモニタまたはその他の表示装置
に送ることができる。ビデオ・レコーダ/プレーヤ、カ
メラなどの形をとることができる、本明細書では自然イ
メージ入出力と呼ぶものにVSP46を直接接続するこ
ともできる。入出力バス44は、ディジタル信号プロセ
ッサ(DSP)51自体による信号の処理のためのソフ
トウェア命令と、そのような処理に関与するデータとを
記憶するために利用できる関連する命令RAM52とデ
ータRAM54とを有するDSP51にも結合されてい
る。DSP51は、オーディオ制御装置55を提供する
ことによるオーディオ入出力の処理と、アナログ・イン
タフェース制御装置56を提供することによる他の信号
の処理とを行う。最後に、入出力バス44は、フロッピ
ィ・ディスク・ドライブ、プリンタまたはプロッタ1
4、キーボード12、マウスまたはポインティング装置
(図示せず)を含む従来の周辺装置とシリアル・ポート
によって入出力を交換するための関連する電気消去プロ
グラム可能読取り専用メモリ(EEPROM)59を有
する入出力制御装置58に結合されている。
【0030】本発明のより詳細な説明に移る前にまず、
いわゆる複数バス・マスタまたはバス・マスタのパーソ
ナル・コンピュータによるサポートを検討しておくこと
が妥当である。「マスタ」とは、本明細書では、バス・
アドレスおよびドライブ・アドレス、バス上のデータ信
号および制御信号を制御下におくように設計されたプロ
セッサまたは回路のことである。そのような機能を有す
ることによって、マスタ装置はシステム・メモリとその
他の装置の間で情報を転送することができる。
【0031】システム・マスタ(通常、CPU)、DM
A制御装置、およびバス・マスタの3つのタイプにマス
タを分けることが提案されている。システム・マスタは
システム構成を制御して管理する。これは通常、システ
ム中のデフォルト・マスタである。デフォルト・マスタ
は、他のマスタがバスを必要としないときに該バスを所
有する。DMAマスタは特殊なタイプのマスタであり、
DMAスレーブとマスタ・スレーブの間でデータを転送
し、バスの使用要求を出さずに、アービトレータである
DMAスレーブの要求を満たす。バス・マスタは、本明
細書では、バスの使用要求を出し、入出力スレーブまた
はメモリ・スレーブに関する情報転送をサポートする。
【0032】バス・マスタは必ずしもプロセッサを必要
としないので、何をもってある装置を「バス・マスタ」
とするかは明確ではない。バス・マスタは、他のバス・
マスタによってアクセスされたときにスレーブとして応
答するように呼び出すこともできる。バス・マスタは、
調停を介してバスを制御下におき、かつ定義されたバス
・サイクルを実行することができることによって区別さ
れる。一般に、完全機能バス・マスタ、特殊機能制御装
置、およびプログラム可能な特殊機能制御装置の3種類
のバス・マスタがある。それらの間の基本的な違いは、
融通性、機能、およびコストの程度である。完全機能バ
ス・マスタは最も融通がきき、最大の機能を有し、最も
コストがかかる。通常、完全機能バス・マスタはそれ自
体のプログラム可能なCPUを有し、オペレーティング
・システム・ソフトウェアを含め、すべてのシステム資
源を制御することができる。特殊機能制御装置は融通
性、機能が最も劣り、最もコストがかからない。通常、
特殊機能制御装置は、特殊機能を実行するのに論理回路
は使用するがCPUは使用せず、他のマスタからの援助
をほとんど、あるいはまったく必要としない。プログラ
ム可能な特殊機能制御装置は他の2つのバス・マスタ間
の範囲を占める。特殊機能制御装置とプログラム可能な
特殊機能制御装置の間の基本的な違いは、バス・マスタ
の機能特性または実行特性、あるいはその両方を修正す
る能力である。そのような修正は、処理装置または設定
可能なレジスタを使用することによって行うことができ
る。
【0033】本明細書に与えた定義内では、CPU3
2、MCPU39、およびSCSI制御装置40はすべ
て、直接ローカル・バス34に結合されたマスタとして
機能できるが、入出力制御装置58、DSP51、VS
P46、および場合によってはマイクロ・チャネル・ス
ロットに据え付けられた付属ボード45はすべて、直接
入出力バス44に結合されたマスタとして機能すること
ができる。
【0034】図4を参照すると、本発明の直接スレーブ
・インタフェース・キャッシュ43の一実施例の概略ブ
ロック図が示されている。キャッシュ43はBIC35
内に組み込まれ、キャッシュ制御装置70と、ローカル
・バス(LB)インタフェース72と、入出力(I/
O)インタフェース74とを含む。キャッシュ43はL
Bインタフェース72によってCPU32に結合されて
いる。キャッシュ43は、入出力インタフェース74に
よって直接入出力装置にも結合されている。したがっ
て、キャッシュ43は、それぞれLBバスまたは入出力
バスを介して直接ローカル・バス・マスタまたは入出力
バス・マスタへデータを双方向転送するための2つのイ
ンタフェースを有する。本発明は入出力バス44とのイ
ンタフェース74に限らず、たとえば、マイクロ・チャ
ネル・アダプタ・カード45を使用するマイクロ・チャ
ネル・バス、ペリフェラル・コンポーネント・インター
コネクト(PCI)バス(図示せず)、ビデオ電子機器
標準協会(VESA)バス(図示せず)などの入出力バ
ス44に結合されたどんなタイプの二次バスとのインタ
フェースでもよいことを理解されたい。
【0035】キャッシュ43の動作および利点の全般的
な概要を図3に関して説明する。キャッシュ43は、従
来スヌープ機能を含むストアイン・キャッシュである。
キャッシュ43は常に、要求されたアドレスがキャッシ
ュ43中にあるかどうかを調べるためにメイン・メモリ
36にアクセスしたいCPU32以外の装置によって出
された要求を検査する。たとえば、DSP51などの入
出力装置が入出力バス44へのアクセスを得て、メイン
・メモリ36中のバイトを読み取るためのサイクルをド
ライブするとき、キャッシュ43はスヌープ中にそのよ
うな読取り要求を検出し、データがキャッシュ43中で
複製されているかどうかを検査する。DSP51によっ
てアドレスされたバイトがキャッシュ43中にある場
合、読取りスヌープ・ヒットが発生し、メイン・メモリ
36へのアクセスの必要なしに、アドレスされたバイト
だけが直接キャッシュ43からDSP51に転送される
(読み込まれる)。
【0036】DSP51が書込み要求を発行し、アドレ
スされたバイトがキャッシュ43中にある場合(書込み
スヌープ・ヒット)、キャッシュ43は、DSP51に
よって供給されたアドレスに対応するバイトだけを無効
化する。次いで、キャッシュ43が最初にメイン・メモ
リ36にデータをキャスト・アウトしておく必要なし
に、BIC35は直接メモリ36に書き込むことができ
る。キャッシュ43中にないアドレスに関する要求がD
SP51によって出された場合、キャッシュ43は非ア
クティブになり、読取りスヌープ・ミス・サイクルまた
は書込みスヌープ・ミス・サイクルは従来どおり、メイ
ン・メモリ36中で実行される。
【0037】ここで、図5に移ると、本発明の二重バス
・インタフェース・キャッシュ43の制御ディレクトリ
構成が示されている。キャッシュ43は4ウェイ・セッ
ト・アソシエーティブ・キャッシュである。キャッシュ
・データは、それぞれ、幅32ビット(1ワード)、深
さ32ビットで、合計で512バイトである4つのバン
ク(A、B、C、D)から成るスタティク・ランダム・
アクセス・メモリ(SRAM)アレイ84中に記憶され
る。本発明はそのようなサイズのキャッシュ・アレイに
限らないが、残りの説明は、図示の目的上、これらの数
字に基づいて行う。
【0038】4つのデータ・バンク中の各項目に対応す
る最上位の19個のアドレス・ビットは、各バンクごと
の32x19TAGアレイ80の4つの19ビット・グ
ループに保存される。各バンク中の各アドレス位置ごと
の各バイトは、SRAMアレイ84中に特定のバイトが
存在する場合はそのバイト用の有効バイトがオンにな
り、SRAMアレイ84中に特定のバイトが存在しない
場合はそのバイト用の有効ビットがオフになるような対
応する有効ビットを有する。各アドレス位置ごとに4つ
のバイトがあるので、各アドレスに関連する4つの有効
(Valid)ビットがあり、合計で16個の有効ビッ
トがある。3つのLRUビットは、従来のLRUアルゴ
リズムに従ってキャッシュが一杯になったときに4つの
データ・バンクのうちのどれが新しい項目で置換される
かを示すために使用される。3つのLRUビットと16
個の有効ビットは19x19状態アレイまたはLRU/
有効アレイ82を構成する。
【0039】図6を参照すると、本発明のキャッシュ4
3の概略図が示されている。タグ(TAG)アレイ8
0、状態アレイ82、およびSRAMアレイ84はそれ
ぞれ、4つの入力と1つの入力とを有する。4つの入力
には、アドレス入力、データ・イン入力、クロック入
力、ビット書込み制御入力が含まれる。LBキャッシュ
制御装置86は、HLDA、ADS#、M/IO#、W
/R#、およびHIT/MISS(内部)を含む複数の
入力を受け取る。HLDAは、CPU32によって開始
されたローカル・バス・サイクルを(CPU32以外
の)ローカル・バス・マスタによって開始されたローカ
ル・バス・サイクルと区別するために使用される制御信
号である。ADS#、M/IO#、およびW/R#は、
HLDAがハイのときにローカル・バス34を制御して
いるローカル・バス・マスタによってドライブされる制
御信号である。ADS#線はローカル・バス・アドレス
状況標識であり、有効なローカル・バス・サイクルが利
用可能であることを示すようにローカル・バス・マスタ
によってドライブされる。有効なローカル・バス・サイ
クルがある(ADS#ロー)場合、M/IO#は、有効
なLBサイクルがメモリ・サイクル(M/IO#ハイ)
か、それとも入出力サイクル(M/IO#ロー)かを示
す。W/R#は、書込みサイクル(W/R#ハイ)また
は読取りサイクル(W/R#ロー)を示すために使用さ
れる、ローカル・バス・マスタでドライブされるサイク
ル定義信号である。
【0040】比較機構(COMP)90は、入出力バス
・マスタまたはLBバス・マスタによってキャッシュ4
3に提供されたアドレスをTAGアレイ80中のタグと
比較するために使用される。したがって、アドレスが存
在する場合、比較機構90がHIT/MISSをアクテ
ィブローにドライブすることによってヒットが宣言され
る。TAGアレイ80中にアドレスが存在しないとき、
比較機構90はHIT/MISSをハイにドライブする
ことによってミスを宣言する。TAGアレイ80、LR
U/VALIDアレイ82、およびSRAMアレイ84
は、ローカル・バス・マスタがバス・サイクルをドライ
ブしているか、それとも入出力バス・マスタがバス・サ
イクルをドライブしているかに応じて、それぞれマルチ
プレクサ92、94、96を介してLBアドレスまたは
入出力アドレスを受け取る。
【0041】入出力キャッシュ制御装置88は、比較機
構90の出力(HIT/MISS)も受け取って、要求
されたアドレス位置がキャッシュ43中に存在するかど
うかを判定する。入出力キャッシュ制御装置88は入力
S0#、S1#、ADL#、I/O_M/IO#、およ
びCMD#も受け取る。これらの制御信号はそれぞれ、
入出力バス44を制御している入出力バス・マスタによ
ってドライブされる。S0#、S1#、およびI/O_
M/IO#は、入出力バス・サイクルがメモリ読取り
(S0#ハイ、S1#ハイ、I/O_M/IO#ハイ)
か、メモリ書込み(S0#ハイ、S1#ロー、I/O_
M/IO#ハイ)か、入出力読取り(S0#ハイ、S1
#ハイ、I/O_M/IO#ロー)か、入出力書込み
(S0#ハイ、S1#ロー、I/O_M/IO#ロー)
か、それとも割込み肯定応答バス・サイクル(S0#ロ
ー)かを判定するように入出力キャッシュ制御装置88
によって復号される。信号CMD#はアクティブ・ロー
であり、いつデータが有効であるかを定義するために使
用される。ADL#は、有効アドレスおよびその状況を
示すために使用される。
【0042】LBキャッシュ制御装置および入出力キャ
ッシュ制御装置86、88はそれぞれ、2つの出力信号
を生成する。LB_LRU/VALID(有効)出力お
よびI/O_LRU/VALID(有効)出力は、選択
されたワードのどのバイトが有効であるかと、必要に応
じてLRUアルゴリズムによって置換されるバイトとを
示すために使用される。これらの出力は、LB_BIT
_WR_CNTLおよびI/O_BIT_WR_CNT
Lと共に、読取りヒット時に非アクティブであり、それ
ぞれLBバス・マスタまたは入出力バス・マスタからの
書込みスヌープ・ヒット時にアドレス位置のバイトを無
効化するために使用される。
【0043】本発明の直接スレーブ・インタフェース・
キャッシュを完全に理解するために、その動作について
以下で説明する。一例として図3および6を参照する
と、MCPU39およびSCSI40は、直接ローカル
・バス34に結合されたローカル・バス・マスタである
が、入出力制御装置58、DSP51、VSP46、お
よび場合によってはMCスロットに据え付けられた付属
ボード45はすべて、直接入出力バス44に結合された
入出力バス・マスタとして機能することができる。この
実施例では任意の適当なマイクロプロセッサ32を使用
できるが、適切なマイクロプロセッサの1つには、イン
テル社が販売している80386がある。1991年5
月28日に出願され、本発明と共通に所有されている関
連米国特許出願第706602号に記載されたものな
ど、本発明ではどんなバス調停方式でも使用できる。
【0044】動作時に、直接スレーブ・インタフェース
・キャッシュ43は、従来ストアイン・キャッシュで行
われているように入出力バス44をスヌープする(その
ようなスヌープ実施態様の細部はシステム依存性であ
り、本発明の一部ではなく、多数の変更が可能であ
る)。キャッシュ43は入出力バス44を調べて、メイ
ン・メモリ36中の位置にアクセスするための要求がキ
ャッシュ43中に存在しないことを確認する。たとえ
ば、入出力制御装置58などの入出力バス・マスタ装置
は、調停を介して入出力バス44を制御下においた後、
読取りサイクルをドライブすることができる。入出力バ
ス・マスタ58は、それがアクセスしたいメモリ位置に
あるバイトのアドレスを入出力バス44上に置く。S0
#信号、S1#信号、およびI/O_M/IO#信号
が、入出力バス・マスタ58によって、有効な入出力バ
ス・サイクルが開始することと、どんなタイプの動作が
実行される予定かを示すように、適当なレベルにドライ
ブされる。
【0045】入出力アドレスはTAG(タグ)アレイ8
0、LRU/VALID(有効)アレイ82、およびS
RAMアレイ84として多重化される。このアドレスは
TAGアレイ80中のタグと比較され、それがキャッシ
ュ43中に存在する場合、比較機構(COMP)90に
よってヒットが宣言される。ヒットがある場合、HIT
(ヒット)/MISS(ミス)信号がアクティブとアサ
ートされ、入出力キャッシュ制御装置88に入力され
る。これは読取りサイクルなので、I/O_LRU/V
ALID出力は使用されず、I/O_BIT_WR_C
NTRが非アクティブにセットされる。このアドレスは
マルチプレクサ(MUX)96によってSRAMアレイ
84に提供されているので、データのバイトがSRAM
アレイ84から読み取られ、マルチプレクサ98によっ
て入出力バス44上に多重化される。したがって、入出
力バス・マスタ58によって開始された読取りスヌープ
・ヒット・サイクル中に、要求されたバイトは、キャッ
シュ・データのキャスト・アウトなしで、直接キャッシ
ュ43から入出力バス・マスタ58へ転送される。
【0046】入出力バス・マスタ58によって開始され
たバス・サイクルが書込みサイクルのとき、入出力キャ
ッシュ制御装置88はI/O_BIT_WR_CNTL
信号をローアクティブにセットし、I/O_LRU/V
ALID上のアドレスされたバイト用の有効ビットを無
効にセットする。これらのビットはLBマスタによって
LB側からセットされたものなのでLRUビットは影響
を受けない。これらの信号はLRU/VALIDアレイ
82によって受け取られ、入出力バス・マスタによって
供給されたアドレスに対応するバイト用の有効ビット
は、キャッシュ43中の選択されたバイトを無効化する
ように無効に変更される。次いで、BIC35はメイン
・メモリ36に新しいデータを書き込む。したがって、
書込みスヌープ・ヒット時に、キャッシュ・バイトはキ
ャッシュ・データのキャスト・アウトなしで無効化され
る。これは、入出力バス・マスタ58によってデータ行
中のすべてのバイトよりも少ない数のバイトがアドレス
されているときでも書込みスヌープ・ヒット時にデータ
行全体を無効化してキャスト・アウトしなければならな
い従来のキャッシュに勝る顕著な改良である。
【0047】同様に、たとえばMCPU39などCPU
32以外のLBバス・マスタは、読取り動作を実行した
いとき、調停を介してローカル・バス34を制御下にお
いた後に、読み取りたいメモリ位置のアドレスをローカ
ル・バス34上に置く。ADS#信号およびM/IO#
信号が、MCPU39によって、有効なローカル・バス
・サイクルが開始することと、どんなタイプの動作が実
行される予定かを示すように、適当なレベルにドライブ
される。LBアドレスは、それぞれマルチプレクサ(M
UX)92、94、96によってTAGアレイ80、L
RU/VALIDアレイ82、およびキャッシュ(CA
CHE)RAMアレイ84として多重化される。このア
ドレスがTAGアレイ80中に存在する場合、比較機構
90はHIT/MISS信号をアクティブにドライブす
る。この信号は次いで、LBキャッシュ制御装置86に
入力される。LB_LRU/VALID出力は何もせ
ず、LB_BIT_WR_CNTRは非アクティブにセ
ットされる。このアドレスはキャッシュRAM84に提
供されるので、データ(バイト)は、マルチプレクサ
(MUX)98によって単に、直接キャッシュRAM8
4からローカル・バス34へ転送される。
【0048】LBバス・マスタ39によって書込みサイ
クルが開始されると、LBキャッシュ制御装置88はL
B_BIT_WR_CNTL信号をロー・アクティブに
セットし、LB_LRU/VALID上のアドレスされ
たバイトに対応する有効ビットを無効にセットする(L
RUビットは、LBマスタによって従来のLRUアルゴ
リズムに従ってセットされる)。これらの信号はLRU
/VALIDアレイ82によって受け取られ、供給され
たアドレス用の有効ビットは、キャッシュ43中の選択
されたバイトを無効化するように無効に変更される。次
いで、BIC35は、キャッシュ43が最初にデータを
キャスト・アウトするのを待たずに、メイン・メモリ3
6中の対応するバイトに新しいデータを書き込む。
【0049】入出力バス・マスタ58またはLBバス・
マスタ39が、キャッシュ43中にないメモリ位置で実
行すべき読取り動作または書込み動作を要求した場合
(読取りスヌープ・ミスまたは書込みスヌープ・ミ
ス)、HIT/MISSは比較機構90によって非アク
ティブ・ハイにドライブされる。キャッシュ43はこの
サイクルに応答せず、読取り動作または書込み動作は次
いで、従来どおり、直接メイン・メモリ36で実行され
る。
【0050】ここで、図7および8を参照すると、CP
Uの内部キャッシュ33(図7)または外部L2キャッ
シュ37(図8)が直接スレーブ・インタフェース・キ
ャッシュであってよい本発明の代替実施例のブロック図
が示されている。キャッシュ33および37は、読取り
スヌープ・ヒット・サイクル中に直接スレーブ・インタ
フェースを提供するために、従来のL1およびL2キャ
ッシュと比べて、1)キャッシュ中に有効なデータがあ
ることを示すように出力制御信号HITTをドライブし
て(アクティブ・ロー)、他のメモリがこのバス・サイ
クルに応答するのを妨げ、2)読取りサイクルを終了さ
せるように双方向READY信号をドライブする(アク
ティブ・ロー)修正を有する。従来のL1またはL2キ
ャッシュ(READYが入力専用として受け取られる)
とは対称的に、本発明のL1およびL2キャッシュ33
および37は、双方向READY信号をドライブしてメ
モリ・スレーブとして働けるように該信号を有する。ま
た、L1およびL2キャッシュとは対称的に、キャッシ
ュ33および37は、データをメイン・メモリへキャス
ト・アウトせずに、アドレスされたメモリ位置に対応す
るキャッシュ中のバイトだけを無効化することによっ
て、書込みスヌープ・ヒット・サイクル中に直接スレー
ブ・インタフェースを提供する。
【0051】本発明の直接スレーブ・インタフェースL
1およびL2キャッシュ33、37は動作が同じなの
で、以下の説明はL2キャッシュ37に関するものであ
るが、L1キャッシュ33にも同様に当てはまることを
理解されたい。もちろん、本発明の当業者なら、L1キ
ャッシュが通常L2キャッシュよりもずっと小規模であ
ることを理解されたい。本発明のL1キャッシュは、た
とえば、インテル社製のP5ペンティアム(Penti
um)マイクプロセッサやP24Tペンティアム(Pe
ntium)マイクロプロセッサなど、読取りスヌープ
・ヒットまたは書込みスヌープ・ヒットが発生したとき
にデータ・キャスト・アウトを必要とする内部キャッシ
ュを有するどんなマイクロプロセッサでも実施すること
ができる。
【0052】ここで図9に移ると、L2キャッシュ37
は、入出力インタフェースを除き、図6に示したキャッ
シュ43のすべての要素を含み、同じ要素にはすべて同
じ参照符号を付けてある。具体的には、キャッシュ37
は入出力キャッシュ制御装置もそれに関係するいかなる
信号も含まない。キャッシュ37はローカル・バス34
上に供給されるアドレスにしか結合されないので、マル
チプレクサ92、94、96は取り除かれている。L2
キャッシュ37の制御ディレクトリ構成は、キャッシュ
43に関して上記で説明したものと同じでよい。
【0053】図3および9を参照すると、たとえばSC
SI40などCPU32以外のLBマスタは、メイン・
メモリ36中の特定のメモリ位置への読取りサイクルを
開始すると、その位置のアドレスをローカル・バス34
上に置く。ADS#信号、M/IO#信号、およびW/
R#信号は、上述のように、HLDAがハイのときにS
CSI40によって適当なレベルにドライブされる。キ
ャッシュ37は、スヌープ中に読取りサイクルを検出す
る。LBアドレスはローカル・バス34を介してタグ
(TAG)アレイ80、LRU/VALIDアレイ8
2、およびキャッシュRAMS84内に送られる。HI
T/MISSは、キャッシュ37中にアドレスが存在
し、このアドレスにあるバイト用の有効ビットがセット
されたときに比較機構90によってアサートされる。こ
の信号は次いで、LBキャッシュ制御装置86に入力さ
れる。
【0054】次いで、LBキャッシュ制御装置86はロ
ーカル・バス34の制御部分上でHITT信号をアクテ
ィブローにドライブする。この信号は、L1キャッシュ
33やBICメモリ制御装置(図示せず)など他のメモ
リ・スレーブによって受け取られ、L2キャッシュ37
中にデータがあるのでこのサイクルに応答してはならな
いことをこれらの装置に示す。これは読取りサイクルな
ので、LB_LRU/VALID出力は何もせず、LB
_BIT_WR_CNTRは非アクティブにセットされ
る。このアドレスはキャッシュRAM84に提供される
ので、データ(バイト)は単に、キャッシュRAM84
から転送され、ローカル・バス34上に置かれる。デー
タの転送と同時に、キャッシュ制御装置86はローカル
・バス34の制御部分上で、サイクルの終りを示すよう
にREADY信号をドライブする。したがって、キャッ
シュ37はローカル・バス・マスタ40のメモリ・スレ
ーブとして動作する。
【0055】実行すべき動作が書込み動作であるとき、
LBキャッシュ制御装置86はLB_BIT_WR_C
NTL信号をローにセットし、LB_LRU/VALI
D上の有効ビットを無効にセットする。これらの信号は
次いで、LRU/VALIDアレイ82によって受け取
られ、選択されたバイト用の有効ビットは、アドレスさ
れたメイン・メモリ位置に対応するキャッシュ37中の
バイトを無効化するように無効に変更される。次いで、
BIC35はメイン・メモリ36に新しいデータを書き
込むことができる。このサイクル中にキャッシュ・デー
タのキャスト・アウトは行われない。キャッシュ37が
そのデータをキャスト・アウトしないのは、キャッシュ
37中で無効化された各バイトがLBバス・マスタ40
によってアドレスされた各バイトに対応するからであ
る。これは、LBバス・マスタによってデータ行中のす
べてのバイトよりも少ないバイトがアドレスされている
ときでも書込みスヌープ・ヒット時にデータ行全体を無
効化してキャスト・アウトしなければならない従来のキ
ャッシュに勝る顕著な改良である。
【0056】たとえばDSP51などの入出力バス・マ
スタによって開始されたサイクルに関しては、該バス・
マスタはBIC35の調停手順に従って入出力バス44
を制御下におく。入出力バス・マスタ51は次いで、上
述のように、HLDAがハイのときに制御信号ADS
#、M/IO#、およびW/R#を適当なレベルにドラ
イブし、メイン・メモリ36中のメモリ位置からデータ
のバイトを読み取るバス・サイクルを開始する。L2キ
ャッシュ37はスヌープ中にこの要求を検出する。デー
タのバイトがSRAMアレイ84にも存在し、対応する
有効ビットがセットされたとき、以下の事象が発生す
る。比較機構90は、ローカル・バス34上のメモリ・
アドレスをTAGアレイ80中のタグと比較して、キャ
ッシュ・アクセスが有効であることを示すようにHIT
/MISS信号をアクティブにドライブする。制御装置
86は次いで、他のメモリ・スレーブ(L1キャッシュ
33およびBIC35メモリ制御装置)が応答するのを
妨げるようにHITT信号をドライブする。データ・バ
イトはREADY信号と共にローカル・バス34上に置
かれ、BIC35によって入出力バス44に転送され、
次いで入出力バス・マスタ51に転送される。
【0057】入出力バス・マスタ51が、有効なデータ
を含むL2キャッシュ37中にあるメモリ位置への書込
みサイクルを開始すると、LBキャッシュ制御装置86
はLB_BIT_WR_CNTL信号をロー・アクティ
ブにセットし、LB_LRU/VALID上の有効ビッ
トを無効にセットする。これらの信号は次いで、LRU
/VALIDアレイ82によって受け取られ、アドレス
されたバイト用の有効ビットは、キャッシュ37中の選
択されたアドレス位置を無効化するように無効に変更さ
れる。次いで、BIC35は、キャッシュ・データのキ
ャスト・アウトに関連する追加遅延なしで、メイン・メ
モリ36に新しいデータを書き込む。キャッシュ37中
で無効化された各バイトが入出力バス・マスタ51によ
ってアドレスされた各バイトに対応するので、このサイ
クル中にキャッシュ・データのキャスト・アウトは行わ
れない。
【0058】LBバス・マスタ40または入出力バス・
マスタ51が、L2キャッシュ37にないメモリ位置で
実行すべき読取り動作または書込み動作を要求した場
合、HIT/MISSは比較機構90によって非アクテ
ィブにドライブされる。キャッシュ37はこのサイクル
に応答せず、次いで、読取り動作または書込み動作は従
来どおり、直接メイン・メモリ36で実行される。
【0059】本発明の直接スレーブ・インタフェース・
キャッシュ33、37、43は、余分なキャスト・アウ
ト・ステップをなくすことによって、入出力バス44が
任意選択のマイクロ・チャネル・バスに結合されたとき
にマイクロ・チャネル・データ・ストリーム化プロトコ
ルをサポートすることができる。マイクロ・チャネルで
は、そのバスを介してワードを転送できるようにするに
はアドレスを定義する必要がある。したがって、1ワー
ドを転送するたびに、アドレスをセットアップするため
のサイクルと、データを移動するためのサイクルの2つ
サイクルが必要である。通常、データのブロック全体が
一度に、ワードごとに移動される。そのような状況で
は、各バイトごとのアドレスは、最初の転送が完了した
後に冗長になる。マイクロ・チャネル・データ・ストリ
ーム化プロトコルは、順次データ・ワード・ブロックの
転送のサイクルを1サイクルおき(アドレス・サイク
ル)になくすことによって、ワードを転送する時間を半
分に短縮する。したがって、データ・ブロックの転送の
場合、ストリーム化データ・モードは転送速度を効果的
に2倍にする。
【0060】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0061】(1)ローカル・バスと、入出力バスと、
前記ローカル・バスに結合されたマイクロプロセッサ
と、前記入出力バスおよび前記ローカル・バスのうちの
一方に結合されたバス・マスタ装置と、前記ローカル・
バスに結合されたメイン・メモリと、前記ローカル・バ
スと前記入出力バスの間で通信を行うために直接前記ロ
ーカル・バスに結合され、かつ直接前記入出力バスに結
合されたバス・インタフェース制御装置とを備えるコン
ピュータ・システムであって、前記バス・インタフェー
ス制御装置が、前記バスから選択的にアドレス情報を受
け取るために直接前記ローカル・バスおよび前記入出力
バスに結合され、前記バス・マスタ装置と選択的に通信
するように動作するキャッシュを含み、前記キャッシュ
が、前記マスタ装置によってドライブされた、前記メイ
ン・メモリ中の対応するメモリ位置からデータを読み取
るためのバス・サイクルに応答して、前記データをキャ
スト・アウト(書き出し)せずに、直接前記キャッシュ
中のメモリ位置から前記バス・マスタ装置へデータを転
送するための手段を含むことを特徴とするコンピュータ
・システム。 (2)前記バス・マスタ装置が前記入出力バスに結合さ
れることを特徴とする上記(1)に記載のシステム。 (3)さらに、直接前記ローカル・バスに結合されたバ
ス・マスタ装置を備え、前記キャッシュが、どちらか一
方の前記バス・マスタ装置と選択的に通信し、一方の前
記バス・マスタ装置によってドライブされた、前記メイ
ン・メモリ中の対応するメモリ位置からデータを読み取
るためのバス・サイクルに応答して、前記キャッシュ中
のメモリ位置から前記一方の前記バス・マスタ装置へデ
ータを転送するように動作することを特徴とする上記
(2)に記載のシステム。 (4)前記キャッシュがさらに、前記一方の前記バス・
マスタ装置によってドライブされた、前記メイン・メモ
リ中の対応するメモリ位置に書き込むためのバス・サイ
クルに応答して、前記キャッシュ中のメモリ位置にある
データを無効化するための手段を含むことを特徴とする
上記(3)に記載のシステム。 (5)前記キャッシュが、それぞれ、前記ローカル・バ
スまたは前記入出力バスに選択的に結合された、タグ・
アレイ手段と有効アレイ手段とメモリ・アレイ手段とを
含み、前記メモリ・アレイ手段が複数のデータ・バイト
から成り、前記有効アレイ手段が、それぞれ、前記メモ
リ・アレイ手段内のデータの前記バイトのそれぞれに関
連する、複数の有効ビットから成り、前記バイトが前記
キャッシュによって無効化されるデータの基本単位であ
ることを特徴とする上記(4)に記載のシステム。 (6)前記無効化手段が、前記有効アレイ手段に結合さ
れ、前記一方の前記バス・マスタ装置が前記ローカル・
バスに結合された前記バス・マスタ装置であるとき、前
記キャッシュ中の前記データを無効化するための信号を
前記有効アレイに提供するためのローカル・バス・キャ
ッシュ制御手段と、前記有効アレイ手段に結合され、前
記一方の前記バス・マスタ装置が前記入出力バスに結合
された前記バス・マスタ装置であるとき、前記キャッシ
ュ中の前記データを無効化するための信号を前記有効ア
レイに提供するための入出力キャッシュ制御手段とを備
えることを特徴とする上記(5)に記載のシステム。 (7)前記入出力バスがマイクロ・チャネル・バスであ
ることを特徴とする上記(6)に記載のシステム。 (8)前記メイン・メモリが、直接前記ローカル・バス
に結合された、データを揮発性記憶するための揮発性メ
モリと、直接前記ローカル・バスに結合された、データ
を非揮発性記憶するための記憶メモリ装置とを備えるこ
とを特徴とする上記(6)に記載のシステム。 (9)前記入出力バスに結合された前記バス・マスタ装
置が、直接前記入出力バスに結合された入出力制御装置
と、直接前記入出力バスに結合されたディジタル信号プ
ロセッサと、直接前記入出力バスに結合されたビデオ信
号プロセッサとを含むことを特徴とする上記(8)に記
載のシステム。 (10)前記ローカル・バスに結合された前記バス・マ
スタ装置が、直接前記ローカル・バスに結合された数値
演算コプロセッサと、直接前記ローカル・バスおよび前
記記憶メモリ装置に結合された、前記記憶メモリ装置と
の通信を調整するための記憶制御装置とを含むことを特
徴とする上記(9)に記載のシステム。 (11)ローカル・バスと、入出力バスと、前記ローカ
ル・バスに結合されたマイクロプロセッサと、前記入出
力バスおよび前記ローカル・バスのうちの一方に結合さ
れたバス・マスタ装置と、前記ローカル・バスに結合さ
れたメイン・メモリと、前記ローカル・バスと前記入出
力バスの間で通信を行うために直接前記ローカル・バス
に結合され、かつ直接前記入出力バスに結合されたバス
・インタフェース制御装置とを備えるコンピュータ・シ
ステムであって、前記バス・インタフェース制御装置
が、前記バスから選択的にアドレス情報を受け取るため
に直接前記ローカル・バスおよび前記入出力バスに結合
され、前記バス・マスタ装置と選択的に通信するように
動作するキャッシュを含み、前記キャッシュが、前記マ
スタ装置のうちの前記一方によってドライブされた、前
記メイン・メモリ中の対応するメモリ位置に書き込むた
めのバス・サイクルに応答して、前記データをキャスト
・アウト(書き出し)せずに、前記キャッシュ中のメモ
リ位置にあるデータを無効化するための手段を含むこと
を特徴とするコンピュータ・システム。 (12)前記データが、1つまたは複数のバイトから成
り、前記バイトが、前記キャッシュによって無効化され
るデータの基本単位であることを特徴とする上記(1
1)に記載のシステム。 (13)前記バス・マスタ装置が前記入出力バスに結合
されることを特徴とする上記(12)に記載のシステ
ム。 (14)さらに、直接前記ローカル・バスに結合された
バス・マスタを備え、前記キャッシュが、どちらか一方
の前記バス・マスタ装置と選択的に通信し、一方の前記
バス・マスタ装置によってドライブされた、前記メイン
・メモリ中の対応するメモリ位置に書き込むためのバス
・サイクルに応答して、前記データをキャスト・アウト
せずに、前記キャッシュ中のメモリ位置にあるデータを
無効化するように動作することを特徴とする上記(1
3)に記載のシステム。 (15)前記キャッシュが、それぞれ、前記ローカル・
バスまたは前記入出力バスに選択的に結合された、タグ
・アレイ手段と有効アレイ手段とメモリ・アレイ手段と
を含み、前記メモリ・アレイ手段が複数のデータ・バイ
トから成り、前記有効アレイ手段が、それぞれ、前記メ
モリ・アレイ手段内のデータの前記バイトのそれぞれに
関連する、複数の有効ビットから成ることを特徴とする
上記(14)に記載のシステム。 (16)前記無効化手段が、前記有効アレイ手段に結合
され、前記一方の前記バス・マスタ装置が前記ローカル
・バスに結合された前記バス・マスタ装置であるとき、
前記キャッシュ中の前記データを無効化するための信号
を前記有効アレイに提供するためのローカル・バス・キ
ャッシュ制御手段と、前記有効アレイ手段に結合され、
前記一方の前記バス・マスタ装置が前記入出力バスに結
合された前記バス・マスタ装置であるとき、前記キャッ
シュ中の前記データを無効化するための信号を前記有効
アレイに提供するための入出力キャッシュ制御手段とを
備えることを特徴とする上記(15)に記載のシステ
ム。 (17)ローカル・バスと、入出力バスと、前記ローカ
ル・バスに結合されたマイクロプロセッサと、前記入出
力バスおよび前記ローカル・バスのうちの一方に結合さ
れたバス・マスタ装置と、前記ローカル・バスに結合さ
れたメイン・メモリと、前記ローカル・バスと前記入出
力バスの間で通信を行うために直接前記ローカル・バス
に結合され、かつ直接前記入出力バスに結合されたバス
・インタフェース制御装置と、直接前記ローカル・バス
に結合され、前記バス・マスタ装置と通信するように動
作するキャッシュとを備えるコンピュータ・システムで
あって、前記キャッシュが、前記マスタ装置によってド
ライブされた、前記メイン・メモリ中の対応するメモリ
位置からデータを読み取るためのバス・サイクルに応答
して、前記データをキャスト・アウト(書き出し)せず
に、直接前記キャッシュ中のメモリ位置から前記バス・
マスタ装置へデータを転送するための手段を含むことを
特徴とするコンピュータ・システム。 (18)前記バス・マスタ装置が前記入出力バスに結合
されることを特徴とする上記(17)に記載のシステ
ム。 (19)さらに、直接前記ローカル・バスに結合された
バス・マスタ装置を備え、前記キャッシュが、どちらか
一方の前記バス・マスタ装置と選択的に通信し、一方の
前記バス・マスタ装置によってドライブされた、前記メ
イン・メモリ中の対応するメモリ位置からデータを読み
取るためのバス・サイクルに応答して、前記キャッシュ
中のメモリ位置から前記一方の前記バス・マスタ装置へ
データを転送するように動作することを特徴とする上記
(18)に記載のシステム。 (20)前記キャッシュがさらに、前記一方の前記バス
・マスタ装置によってドライブされた、前記メイン・メ
モリ中の対応するメモリ位置に書き込むためのバス・サ
イクルに応答して、前記データをキャスト・アウトせず
に、前記キャッシュ中のメモリ位置にあるデータを無効
化するための手段を含むことを特徴とする上記(19)
に記載のシステム。 (21)前記キャッシュ転送手段が、前記ローカル・バ
スに結合され、前記一方の前記バス・マスタ装置によっ
てドライブされた読取りサイクル中にローカル・バス上
で第1および第2の制御信号を生成するように動作する
キャッシュ制御手段を含み、前記第1の制御信号が、前
記コンピュータ・システム中の他のメモリ・スレーブが
読取りサイクルに応答するのを妨げるように動作し、前
記第2の制御信号が、前記データ転送が完了した後に読
取りサイクルを終了するように動作することを特徴とす
る上記(19)に記載のシステム。 (22)前記キャッシュが、それぞれ、前記ローカル・
バス結合された、タグ・アレイ手段と有効アレイ手段と
メモリ・アレイ手段とを含み、前記メモリ・アレイ手段
が複数のデータ・バイトから成り、前記有効アレイ手段
が、それぞれ、前記メモリ・アレイ手段内のデータの前
記バイトのそれぞれに関連する、複数の有効ビットから
成り、前記バイトが、前記キャッシュによって無効化さ
れるデータの基本単位であることを特徴とする上記(2
0)に記載のシステム。 (23)前記入出力バスがマイクロ・チャネル・バスで
あることを特徴とする上記(21)に記載のシステム。 (24)前記キャッシュがマイクロプロセッサの内部の
L1キャッシュであることを特徴とする上記(21)に
記載のシステム。 (25)前記メイン・メモリが、直接前記ローカル・バ
スに結合された、データを揮発性記憶するための揮発性
メモリと、直接前記ローカル・バスに結合された、デー
タを不揮発性記憶するための記憶メモリ装置とを備える
ことを特徴とする上記(21)に記載のシステム。 (26)前記入出力バスに結合された前記入出力バス・
マスタ装置が、直接前記入出力バスに結合された入出力
制御装置と、直接前記入出力バスに結合されたディジタ
ル信号プロセッサと、直接前記入出力バスに結合された
ビデオ信号プロセッサとを含むことを特徴とする上記
(25)に記載のシステム。 (27)前記ローカル・バスに結合された前記ローカル
・バス・マスタ装置が、直接前記ローカル・バスに結合
された数値演算コプロセッサと、直接前記ローカル・バ
スおよび前記記憶メモリ装置に結合された、前記記憶メ
モリ装置との通信を調整するための記憶制御装置とを含
むことを特徴とする上記(26)に記載のシステム。 (28)ローカル・バスと、入出力バスと、前記ローカ
ル・バスに結合されたマイクロプロセッサと、前記入出
力バスおよび前記ローカル・バスのうちの一方に結合さ
れたバス・マスタ装置と、前記ローカル・バスに結合さ
れたメイン・メモリと、前記ローカル・バスと前記入出
力バスの間で通信を行うために直接前記ローカル・バス
に結合され、かつ直接前記入出力バスに結合されたバス
・インタフェース制御装置と、直接前記ローカル・バス
に結合され、前記バス・マスタ装置と通信するように動
作するキャッシュとを備えるコンピュータ・システムで
あって、前記キャッシュが、前記一方の前記マスタ装置
によってドライブされた、前記メイン・メモリ中の対応
するメモリ位置に書き込むためのバス・サイクルに応答
して、前記データをキャスト・アウト(書き出し)せず
に、前記キャッシュ中のメモリ位置にあるデータを無効
化するための手段を含むことを特徴とするコンピュータ
・システム。 (29)前記データが、1つまたは複数のバイトから成
り、前記バイトが、前記キャッシュによって無効化され
るデータの基本単位であることを特徴とする上記(2
8)に記載のシステム。 (30)前記キャッシュがマイクロプロセッサの内部の
L1キャッシュであることを特徴とする上記(28)に
記載のシステム。 (31)前記バス・マスタ装置が前記入出力バスに結合
されることを特徴とする上記(29)に記載のシステ
ム。 (32)さらに、直接前記ローカル・バスに結合された
バス・マスタ装置を備え、前記キャッシュが、どちらか
一方の前記バス・マスタ装置と通信し、前記一方の前記
バス・マスタ装置によってドライブされた、前記メイン
・メモリ中の対応するメモリ位置に書き込むためのバス
・サイクルに応答して、前記データをキャスト・アウト
せずに、前記キャッシュ中のメモリ位置にあるデータを
無効化するように動作することを特徴とする上記(3
1)に記載のシステム。 (33)前記キャッシュが、それぞれ、前記ローカル・
バス結合された、タグ・アレイ手段と有効アレイ手段と
メモリ・アレイ手段とを含み、前記メモリ・アレイ手段
が複数のデータ・バイトから成り、前記有効アレイ手段
が、それぞれ、前記メモリ・アレイ手段内のデータの前
記バイトのそれぞれに関連する、複数の有効ビットから
成ることを特徴とする上記(32)に記載のシステム。
【0062】
【発明の効果】要約すると、本発明の直接スレーブ・イ
ンタフェース・キャッシュ33、37、43は、メイン
・メモリ読取りスヌープ・ヒットまたはメイン・メモリ
書込みスヌープ・ヒット時にデータをメイン・メモリへ
キャスト・アウトするステップを不要にするという点
で、従来技術のSIキャッシュに勝る顕著な利点を有す
る。直接スレーブ・インタフェース・キャッシュは、余
分なキャスト・アウト・ステップをなくすことによっ
て、そのようなキャッシュを使用するパーソナル・コン
ピュータ・システムの演算速度を大幅に増加し、マイク
ロ・チャネル・ストリーム化プロトコルをサポートでき
るほど高速である。
【図面の簡単な説明】
【図1】本発明を実施するパーソナル・コンピュータの
斜視図である。
【図2】シャシと、カバーと、プレーナ・ボードとを含
み、それらの要素間の何らかの関係を示す図1のパーソ
ナル・コンピュータのある要素の分解斜視図である。
【図3】図1および2のパーソナル・コンピュータのあ
る構成要素の概略図である。
【図4】本発明の直接スレーブ・インタフェース・キャ
ッシュの一実施例の全般的なブロック図である。
【図5】図4の直接スレーブ・インタフェース・キャッ
シュの制御ディレクトリ構造を示す図である。
【図6】図4の直接スレーブ・インタフェース・キャッ
シュの要素および接続部のブロック図表現である。
【図7】本発明の直接スレーブ・インタフェース・キャ
ッシュの他の実施例の全体的なブロック図である。
【図8】本発明の直接スレーブ・インタフェース・キャ
ッシュの他の実施例の全体的なブロック図である。
【図9】図7および8の直接スレーブ・インタフェース
・キャッシュの要素および接続部のブロック図表現であ
る。
フロントページの続き (72)発明者 ルイス・アントニオ・エルナンデス アメリカ合衆国33445 フロリダ州デルレ イ・ビーチ サン・レモ・ウェイ 2961 (72)発明者 ネズリー・ラクロワ アメリカ合衆国77429 テキサス州サイプ レス グラント・ロード 11800 (72)発明者 ホルヘ・エドゥアルド・レンタ アメリカ合衆国33486 フロリダ州ボカ・ ラトン フォックス・ホロウ・ドライヴ 5499 (72)発明者 ドワイト・デラノ・リレイ アメリカ合衆国33326 フロリダ州フォー ト・ローダーデール スプリングサイド・ ドライブ 1551 (72)発明者 エスマエル・タシャコリー アメリカ合衆国33498 フロリダ州ボカ・ ラトン レーク・ジャスミン・ドライブ 10668

Claims (33)

    【特許請求の範囲】
  1. 【請求項1】ローカル・バスと、入出力バスと、前記ロ
    ーカル・バスに結合されたマイクロプロセッサと、前記
    入出力バスおよび前記ローカル・バスのうちの一方に結
    合されたバス・マスタ装置と、前記ローカル・バスに結
    合されたメイン・メモリと、前記ローカル・バスと前記
    入出力バスの間で通信を行うために直接前記ローカル・
    バスに結合され、かつ直接前記入出力バスに結合された
    バス・インタフェース制御装置とを備えるコンピュータ
    ・システムであって、 前記バス・インタフェース制御装置が、前記バスから選
    択的にアドレス情報を受け取るために直接前記ローカル
    ・バスおよび前記入出力バスに結合され、前記バス・マ
    スタ装置と選択的に通信するように動作するキャッシュ
    を含み、 前記キャッシュが、前記マスタ装置によってドライブさ
    れた、前記メイン・メモリ中の対応するメモリ位置から
    データを読み取るためのバス・サイクルに応答して、前
    記データをキャスト・アウト(書き出し)せずに、直接
    前記キャッシュ中のメモリ位置から前記バス・マスタ装
    置へデータを転送するための手段を含むことを特徴とす
    るコンピュータ・システム。
  2. 【請求項2】前記バス・マスタ装置が前記入出力バスに
    結合されることを特徴とする請求項1に記載のシステ
    ム。
  3. 【請求項3】さらに、直接前記ローカル・バスに結合さ
    れたバス・マスタ装置を備え、前記キャッシュが、どち
    らか一方の前記バス・マスタ装置と選択的に通信し、一
    方の前記バス・マスタ装置によってドライブされた、前
    記メイン・メモリ中の対応するメモリ位置からデータを
    読み取るためのバス・サイクルに応答して、前記キャッ
    シュ中のメモリ位置から前記一方の前記バス・マスタ装
    置へデータを転送するように動作することを特徴とする
    請求項2に記載のシステム。
  4. 【請求項4】前記キャッシュがさらに、前記一方の前記
    バス・マスタ装置によってドライブされた、前記メイン
    ・メモリ中の対応するメモリ位置に書き込むためのバス
    ・サイクルに応答して、前記キャッシュ中のメモリ位置
    にあるデータを無効化するための手段を含むことを特徴
    とする請求項3に記載のシステム。
  5. 【請求項5】前記キャッシュが、それぞれ、前記ローカ
    ル・バスまたは前記入出力バスに選択的に結合された、
    タグ・アレイ手段と有効アレイ手段とメモリ・アレイ手
    段とを含み、前記メモリ・アレイ手段が複数のデータ・
    バイトから成り、前記有効アレイ手段が、それぞれ、前
    記メモリ・アレイ手段内のデータの前記バイトのそれぞ
    れに関連する、複数の有効ビットから成り、前記バイト
    が前記キャッシュによって無効化されるデータの基本単
    位であることを特徴とする請求項4に記載のシステム。
  6. 【請求項6】前記無効化手段が、 前記有効アレイ手段に結合され、前記一方の前記バス・
    マスタ装置が前記ローカル・バスに結合された前記バス
    ・マスタ装置であるとき、前記キャッシュ中の前記デー
    タを無効化するための信号を前記有効アレイに提供する
    ためのローカル・バス・キャッシュ制御手段と、 前記有効アレイ手段に結合され、前記一方の前記バス・
    マスタ装置が前記入出力バスに結合された前記バス・マ
    スタ装置であるとき、前記キャッシュ中の前記データを
    無効化するための信号を前記有効アレイに提供するため
    の入出力キャッシュ制御手段とを備えることを特徴とす
    る請求項5に記載のシステム。
  7. 【請求項7】前記入出力バスがマイクロ・チャネル・バ
    スであることを特徴とする請求項6に記載のシステム。
  8. 【請求項8】前記メイン・メモリが、 直接前記ローカル・バスに結合された、データを揮発性
    記憶するための揮発性メモリと、 直接前記ローカル・バスに結合された、データを非揮発
    性記憶するための記憶メモリ装置とを備えることを特徴
    とする請求項6に記載のシステム。
  9. 【請求項9】前記入出力バスに結合された前記バス・マ
    スタ装置が、 直接前記入出力バスに結合された入出力制御装置と、 直接前記入出力バスに結合されたディジタル信号プロセ
    ッサと、 直接前記入出力バスに結合されたビデオ信号プロセッサ
    とを含むことを特徴とする請求項8に記載のシステム。
  10. 【請求項10】前記ローカル・バスに結合された前記バ
    ス・マスタ装置が、 直接前記ローカル・バスに結合された数値演算コプロセ
    ッサと、 直接前記ローカル・バスおよび前記記憶メモリ装置に結
    合された、前記記憶メモリ装置との通信を調整するため
    の記憶制御装置とを含むことを特徴とする請求項9に記
    載のシステム。
  11. 【請求項11】ローカル・バスと、入出力バスと、前記
    ローカル・バスに結合されたマイクロプロセッサと、前
    記入出力バスおよび前記ローカル・バスのうちの一方に
    結合されたバス・マスタ装置と、前記ローカル・バスに
    結合されたメイン・メモリと、前記ローカル・バスと前
    記入出力バスの間で通信を行うために直接前記ローカル
    ・バスに結合され、かつ直接前記入出力バスに結合され
    たバス・インタフェース制御装置とを備えるコンピュー
    タ・システムであって、 前記バス・インタフェース制御装置が、前記バスから選
    択的にアドレス情報を受け取るために直接前記ローカル
    ・バスおよび前記入出力バスに結合され、前記バス・マ
    スタ装置と選択的に通信するように動作するキャッシュ
    を含み、 前記キャッシュが、前記マスタ装置のうちの前記一方に
    よってドライブされた、前記メイン・メモリ中の対応す
    るメモリ位置に書き込むためのバス・サイクルに応答し
    て、前記データをキャスト・アウト(書き出し)せず
    に、前記キャッシュ中のメモリ位置にあるデータを無効
    化するための手段を含むことを特徴とするコンピュータ
    ・システム。
  12. 【請求項12】前記データが、1つまたは複数のバイト
    から成り、前記バイトが、前記キャッシュによって無効
    化されるデータの基本単位であることを特徴とする請求
    項11に記載のシステム。
  13. 【請求項13】前記バス・マスタ装置が前記入出力バス
    に結合されることを特徴とする請求項12に記載のシス
    テム。
  14. 【請求項14】さらに、直接前記ローカル・バスに結合
    されたバス・マスタを備え、前記キャッシュが、どちら
    か一方の前記バス・マスタ装置と選択的に通信し、一方
    の前記バス・マスタ装置によってドライブされた、前記
    メイン・メモリ中の対応するメモリ位置に書き込むため
    のバス・サイクルに応答して、前記データをキャスト・
    アウトせずに、前記キャッシュ中のメモリ位置にあるデ
    ータを無効化するように動作することを特徴とする請求
    項13に記載のシステム。
  15. 【請求項15】前記キャッシュが、それぞれ、前記ロー
    カル・バスまたは前記入出力バスに選択的に結合され
    た、タグ・アレイ手段と有効アレイ手段とメモリ・アレ
    イ手段とを含み、前記メモリ・アレイ手段が複数のデー
    タ・バイトから成り、前記有効アレイ手段が、それぞ
    れ、前記メモリ・アレイ手段内のデータの前記バイトの
    それぞれに関連する、複数の有効ビットから成ることを
    特徴とする請求項14に記載のシステム。
  16. 【請求項16】前記無効化手段が、 前記有効アレイ手段に結合され、前記一方の前記バス・
    マスタ装置が前記ローカル・バスに結合された前記バス
    ・マスタ装置であるとき、前記キャッシュ中の前記デー
    タを無効化するための信号を前記有効アレイに提供する
    ためのローカル・バス・キャッシュ制御手段と、 前記有効アレイ手段に結合され、前記一方の前記バス・
    マスタ装置が前記入出力バスに結合された前記バス・マ
    スタ装置であるとき、前記キャッシュ中の前記データを
    無効化するための信号を前記有効アレイに提供するため
    の入出力キャッシュ制御手段とを備えることを特徴とす
    る請求項15に記載のシステム。
  17. 【請求項17】ローカル・バスと、入出力バスと、前記
    ローカル・バスに結合されたマイクロプロセッサと、前
    記入出力バスおよび前記ローカル・バスのうちの一方に
    結合されたバス・マスタ装置と、前記ローカル・バスに
    結合されたメイン・メモリと、前記ローカル・バスと前
    記入出力バスの間で通信を行うために直接前記ローカル
    ・バスに結合され、かつ直接前記入出力バスに結合され
    たバス・インタフェース制御装置と、直接前記ローカル
    ・バスに結合され、前記バス・マスタ装置と通信するよ
    うに動作するキャッシュとを備えるコンピュータ・シス
    テムであって、 前記キャッシュが、前記マスタ装置によってドライブさ
    れた、前記メイン・メモリ中の対応するメモリ位置から
    データを読み取るためのバス・サイクルに応答して、前
    記データをキャスト・アウト(書き出し)せずに、直接
    前記キャッシュ中のメモリ位置から前記バス・マスタ装
    置へデータを転送するための手段を含むことを特徴とす
    るコンピュータ・システム。
  18. 【請求項18】前記バス・マスタ装置が前記入出力バス
    に結合されることを特徴とする請求項17に記載のシス
    テム。
  19. 【請求項19】さらに、直接前記ローカル・バスに結合
    されたバス・マスタ装置を備え、前記キャッシュが、ど
    ちらか一方の前記バス・マスタ装置と選択的に通信し、
    一方の前記バス・マスタ装置によってドライブされた、
    前記メイン・メモリ中の対応するメモリ位置からデータ
    を読み取るためのバス・サイクルに応答して、前記キャ
    ッシュ中のメモリ位置から前記一方の前記バス・マスタ
    装置へデータを転送するように動作することを特徴とす
    る請求項18に記載のシステム。
  20. 【請求項20】前記キャッシュがさらに、前記一方の前
    記バス・マスタ装置によってドライブされた、前記メイ
    ン・メモリ中の対応するメモリ位置に書き込むためのバ
    ス・サイクルに応答して、前記データをキャスト・アウ
    トせずに、前記キャッシュ中のメモリ位置にあるデータ
    を無効化するための手段を含むことを特徴とする請求項
    19に記載のシステム。
  21. 【請求項21】前記キャッシュ転送手段が、 前記ローカル・バスに結合され、前記一方の前記バス・
    マスタ装置によってドライブされた読取りサイクル中に
    ローカル・バス上で第1および第2の制御信号を生成す
    るように動作するキャッシュ制御手段を含み、前記第1
    の制御信号が、前記コンピュータ・システム中の他のメ
    モリ・スレーブが読取りサイクルに応答するのを妨げる
    ように動作し、前記第2の制御信号が、前記データ転送
    が完了した後に読取りサイクルを終了するように動作す
    ることを特徴とする請求項19に記載のシステム。
  22. 【請求項22】前記キャッシュが、それぞれ、前記ロー
    カル・バス結合された、タグ・アレイ手段と有効アレイ
    手段とメモリ・アレイ手段とを含み、前記メモリ・アレ
    イ手段が複数のデータ・バイトから成り、前記有効アレ
    イ手段が、それぞれ、前記メモリ・アレイ手段内のデー
    タの前記バイトのそれぞれに関連する、複数の有効ビッ
    トから成り、前記バイトが、前記キャッシュによって無
    効化されるデータの基本単位であることを特徴とする請
    求項20に記載のシステム。
  23. 【請求項23】前記入出力バスがマイクロ・チャネル・
    バスであることを特徴とする請求項21に記載のシステ
    ム。
  24. 【請求項24】前記キャッシュがマイクロプロセッサの
    内部のL1キャッシュであることを特徴とする請求項2
    1に記載のシステム。
  25. 【請求項25】前記メイン・メモリが、 直接前記ローカル・バスに結合された、データを揮発性
    記憶するための揮発性メモリと、 直接前記ローカル・バスに結合された、データを不揮発
    性記憶するための記憶メモリ装置とを備えることを特徴
    とする請求項21に記載のシステム。
  26. 【請求項26】前記入出力バスに結合された前記入出力
    バス・マスタ装置が、 直接前記入出力バスに結合された入出力制御装置と、 直接前記入出力バスに結合されたディジタル信号プロセ
    ッサと、 直接前記入出力バスに結合されたビデオ信号プロセッサ
    とを含むことを特徴とする請求項25に記載のシステ
    ム。
  27. 【請求項27】前記ローカル・バスに結合された前記ロ
    ーカル・バス・マスタ装置が、 直接前記ローカル・バスに結合された数値演算コプロセ
    ッサと、 直接前記ローカル・バスおよび前記記憶メモリ装置に結
    合された、前記記憶メモリ装置との通信を調整するため
    の記憶制御装置とを含むことを特徴とする請求項26に
    記載のシステム。
  28. 【請求項28】ローカル・バスと、入出力バスと、前記
    ローカル・バスに結合されたマイクロプロセッサと、前
    記入出力バスおよび前記ローカル・バスのうちの一方に
    結合されたバス・マスタ装置と、前記ローカル・バスに
    結合されたメイン・メモリと、前記ローカル・バスと前
    記入出力バスの間で通信を行うために直接前記ローカル
    ・バスに結合され、かつ直接前記入出力バスに結合され
    たバス・インタフェース制御装置と、直接前記ローカル
    ・バスに結合され、前記バス・マスタ装置と通信するよ
    うに動作するキャッシュとを備えるコンピュータ・シス
    テムであって、前記キャッシュが、前記一方の前記マス
    タ装置によってドライブされた、前記メイン・メモリ中
    の対応するメモリ位置に書き込むためのバス・サイクル
    に応答して、前記データをキャスト・アウト(書き出
    し)せずに、前記キャッシュ中のメモリ位置にあるデー
    タを無効化するための手段を含むことを特徴とするコン
    ピュータ・システム。
  29. 【請求項29】前記データが、1つまたは複数のバイト
    から成り、前記バイトが、前記キャッシュによって無効
    化されるデータの基本単位であることを特徴とする請求
    項28に記載のシステム。
  30. 【請求項30】前記キャッシュがマイクロプロセッサの
    内部のL1キャッシュであることを特徴とする請求項2
    8に記載のシステム。
  31. 【請求項31】前記バス・マスタ装置が前記入出力バス
    に結合されることを特徴とする請求項29に記載のシス
    テム。
  32. 【請求項32】さらに、直接前記ローカル・バスに結合
    されたバス・マスタ装置を備え、前記キャッシュが、ど
    ちらか一方の前記バス・マスタ装置と通信し、前記一方
    の前記バス・マスタ装置によってドライブされた、前記
    メイン・メモリ中の対応するメモリ位置に書き込むため
    のバス・サイクルに応答して、前記データをキャスト・
    アウトせずに、前記キャッシュ中のメモリ位置にあるデ
    ータを無効化するように動作することを特徴とする請求
    項31に記載のシステム。
  33. 【請求項33】前記キャッシュが、それぞれ、前記ロー
    カル・バス結合された、タグ・アレイ手段と有効アレイ
    手段とメモリ・アレイ手段とを含み、前記メモリ・アレ
    イ手段が複数のデータ・バイトから成り、前記有効アレ
    イ手段が、それぞれ、前記メモリ・アレイ手段内のデー
    タの前記バイトのそれぞれに関連する、複数の有効ビッ
    トから成ることを特徴とする請求項32に記載のシステ
    ム。
JP6317261A 1993-12-30 1994-12-20 直接スレーブ・インタフェースを有するストア・イン・キャッシュ Pending JPH07210462A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17639893A 1993-12-30 1993-12-30
US176398 1993-12-30

Publications (1)

Publication Number Publication Date
JPH07210462A true JPH07210462A (ja) 1995-08-11

Family

ID=22644196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6317261A Pending JPH07210462A (ja) 1993-12-30 1994-12-20 直接スレーブ・インタフェースを有するストア・イン・キャッシュ

Country Status (4)

Country Link
EP (1) EP0661641A3 (ja)
JP (1) JPH07210462A (ja)
BR (1) BR9405258A (ja)
CA (1) CA2130407A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001202327A (ja) * 2000-01-20 2001-07-27 Fujitsu Ltd バス使用効率を高めた集積回路装置のバス制御方式

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004023312A1 (en) * 2002-08-05 2004-03-18 Infineon Technolgies Ag Methods for operating a cpu having an internal data cache
US7502895B2 (en) * 2005-09-13 2009-03-10 Hewlett-Packard Development Company, L.P. Techniques for reducing castouts in a snoop filter
GB2571538B (en) * 2018-02-28 2020-08-19 Imagination Tech Ltd Memory interface

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4811280A (en) * 1983-06-16 1989-03-07 American Telephone And Telegraph Company Dual mode disk controller
FR2609195A1 (fr) * 1986-12-31 1988-07-01 Thomson Csf Procede de gestion d'antememoires associees a des processeurs dans une architecture multiprocesseur a bus unique et systeme de traitement de donnees fonctionnant suivant ce procede

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001202327A (ja) * 2000-01-20 2001-07-27 Fujitsu Ltd バス使用効率を高めた集積回路装置のバス制御方式

Also Published As

Publication number Publication date
EP0661641A3 (en) 1995-08-30
CA2130407A1 (en) 1995-07-01
EP0661641A2 (en) 1995-07-05
BR9405258A (pt) 1995-09-19

Similar Documents

Publication Publication Date Title
US6199144B1 (en) Method and apparatus for transferring data in a computer system
JP3067112B2 (ja) 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法
JP4316016B2 (ja) 複数のシステムバスを有するコンピュータシステムにおいてメモリコヒーレンスを維持するためのシステムおよび方法
US5524235A (en) System for arbitrating access to memory with dynamic priority assignment
EP0533430B1 (en) Multiple processor computer system
US11500797B2 (en) Computer memory expansion device and method of operation
US5488709A (en) Cache including decoupling register circuits
US5463753A (en) Method and apparatus for reducing non-snoop window of a cache controller by delaying host bus grant signal to the cache controller
US5732241A (en) Random access cache memory controller and system
US6470429B1 (en) System for identifying memory requests as noncacheable or reduce cache coherence directory lookups and bus snoops
US5918069A (en) System for simultaneously writing back cached data via first bus and transferring cached data to second bus when read request is cached and dirty
JP2509766B2 (ja) キャッシュメモリ交換プロトコル
US5269005A (en) Method and apparatus for transferring data within a computer system
JPH07281955A (ja) マルチプロセッサーシステムのスヌープ回路
US20020087803A1 (en) Apparatus for identifying memory requests originating on remote I/O devices as noncacheable
KR20050005553A (ko) 내부 캐쉬 및/또는 메모리 액세스 예측을 지닌 메모리 허브
KR20110031361A (ko) 스누프 필터링 메커니즘
EP0777183A1 (en) Computer cache system
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
US5920891A (en) Architecture and method for controlling a cache memory
US5860113A (en) System for using a dirty bit with a cache memory
KR100322223B1 (ko) 대기행렬및스누프테이블을갖는메모리제어기
US7464227B2 (en) Method and apparatus for supporting opportunistic sharing in coherent multiprocessors
JP2000172562A (ja) 情報処理装置
JPH07210462A (ja) 直接スレーブ・インタフェースを有するストア・イン・キャッシュ