JPH07210465A - ペナルティのないキャッシュとメモリとのインタフェース - Google Patents

ペナルティのないキャッシュとメモリとのインタフェース

Info

Publication number
JPH07210465A
JPH07210465A JP6295375A JP29537594A JPH07210465A JP H07210465 A JPH07210465 A JP H07210465A JP 6295375 A JP6295375 A JP 6295375A JP 29537594 A JP29537594 A JP 29537594A JP H07210465 A JPH07210465 A JP H07210465A
Authority
JP
Japan
Prior art keywords
bus
cache
cycle
memory
controller
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
JP6295375A
Other languages
English (en)
Inventor
Fu Lam Chan
フー・ラム・チャン
Luis Antonio Hernandez
ルイス・アントニオ・エルナンデス
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 JPH07210465A publication Critical patent/JPH07210465A/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/0877Cache access modes
    • G06F12/0884Parallel mode, e.g. in parallel with main memory or CPU

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のバス状態中に、
メモリ制御装置がこのサイクルを処理できるように、キ
ャッシュ制御装置からメモリ制御装置へ制御信号が提供
される。メモリ制御装置は、第1のバス状態中に制御信
号を生成することによって、ペナルティなしでキャッシ
ュ・ミス・サイクルを完了する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、全般的にはパーソナル
・コンピュータに関し、詳細には、キャッシュ・ミス・
サイクルに対するペナルティのないキャッシュとメモリ
とのインタフェースによって性能が拡張されたパーソナ
ル・コンピュータに関する。
【0002】
【従来の技術】現代の高速電子データ処理システムは、
プロセッサまたはCPUと、サイクル時間がプロセッサ
のサイクル時間よりもずっと長い高容量で比較的低速の
メイン・メモリ、およびプロセッサのサイクル時間に匹
敵するメモリ・サイクル時間を有する従来キャッシュと
して知られている比較的低容量で高速のメモリを含む、
階層メモリ・システムとを備えることが多い。そのよう
なキャッシュ・メモリ・システムは、程度の差こそあれ
合理的なコストで有効メモリ・アクセス時間を短縮する
ための技術分野で周知である。
【0003】現行の階層メモリ・システムにはいくつか
のキャッシュ・レベルがある。たとえば、最も高速のマ
イクロプロセッサ(たとえば、インテル80486)
は、より多くのメモリとより速い演算速度を求めるアプ
リケーション・プログラムの増大する要求を満たすため
に内部キャッシュまたは専用キャッシュ(L1)を有す
る。データや命令がCPUの専用キャッシュにないとき
にさらにアクセス時間を短くするには、第2レベル・キ
ャッシュ(L2)を使用することが多い。第2レベル・
キャッシュは、CPUの外部のものであるが、メイン・
メモリよりもずっと短いアクセス時間をサポートする。
【0004】キャッシュの目的は、CPUがデータおよ
び命令のためにメイン・メモリにアクセスする必要があ
る回数を減らすことによってCPUの演算速度を増加す
ることである。動作時に、CPUがアドレスを有するメ
モリ位置からデータを読み取り、あるいは該位置にデー
タを書き込むことを要求すると、データのアドレスは、
対応するアドレスがキャッシュ中にもあるかどうかを調
べるためにキャッシュによって検査される。アドレスが
キャッシュ中にない(あるいは、アドレスはキャッシュ
中にあるが、そのデータが無効である)場合、キャッシ
ュ・ミスが宣言され、そのサイクルを処理するためにメ
イン・メモリ・アクセスが必要になる。
【0005】従来のコンピュータ・システムは、直列ま
たは並列に接続されたキャッシュ制御装置とメイン・メ
モリ制御装置とを含む。ライトバック・キャッシュまた
はライトスルー・キャッシュを使用する従来の直列実施
態様は、「キャッシュ(読取りまたは書込み)ミス・サ
イクルを処理するための余分なバス状態(ペナルテ
ィ)」を必要とする。直列実施態様では、すべての入出
力およびメモリ・キャッシュ・ミス・サイクルでペナル
ティが発生する。ライトバック・キャッシュを有する従
来の並列実施態様は、キャッシュ(読取りまたは書込
み)ミス・メモリ・サイクルを処理するための余分なバ
ス状態を必要とする。ライトスルー・キャッシュを有す
る従来の並列実施態様は、読取りミス・メモリ・サイク
ルを処理するための余分なバス状態を必要とする。
【0006】キャッシュ・ミス時に発生する追加時間遅
延は、メイン・メモリによってそのサイクルを処理しな
ければならないことを示すためにキャッシュ制御装置か
らメイン・メモリ制御装置へ提供しなければならない制
御信号の結果である。たとえば、図1はインテル(IN
TEL)80385のライトバック・キャッシュに関す
る従来の直列実施態様を示す。CPU10、キャッシュ
制御装置11、およびメモリ制御装置12は直列接続さ
れている。メモリ制御装置12は、メイン・メモリ15
および入出力(I/O)装置16に接続できるシステム
・バス14に結合されている。
【0007】動作時に、CPU10は、有効なローカル
・バス・サイクルが利用可能であることを示すように制
御信号ADS(ADress Strobe)を活動化
することによってバス・サイクルをドライブする。キャ
ッシュ制御装置11はADSを受け取って、そのサイク
ルを処理できるかどうかを判定する。キャッシュ制御装
置11は、そのサイクルを処理できない場合(キャッシ
ュ・ミス)、メモリ制御装置12によって該サイクルを
完了しなければならないことを示すようにメモリ制御装
置12への信号BADS(Bus ADress St
robe)をドライブする。この実施態様では、すべて
の入出力サイクルおよびメモリ・サイクルはキャッシュ
・ミス(読取りまたは書込み)サイクル中に1つの余分
なバス状態(ステート)だけ遅延される。なぜなら、メ
モリ制御装置12は、そのサイクルがメモリ制御装置1
2へ送られる必要があることをキャッシュ制御装置11
が決定するまでそのサイクルを判断できないからであ
る。
【0008】キャッシュ制御装置がメモリ制御装置と並
列して実施されたライトスルー・キャッシュを有するコ
ンピュータ・システムは米国特許第5210845号で
開示され、図2に概略的な形で示されている。図に示し
たように、キャッシュ制御装置18は、CPU10から
のADS信号を両方の制御装置に同時に提供できるよう
にメモリ制御装置12に並列されている。キャッシュ制
御装置18は、キャッシュ読取りミスまたはキャッシュ
書込みミスが発生し、メモリ制御装置12によって現サ
イクルを実行しなければならないことを示すように制御
信号STARTを生成する。この実施態様では、キャッ
シュ制御装置18が第2のバス状態までSTART信号
を生成しないので、メモリ・サイクルはキャッシュ読取
りサイクル中に1つの余分なバス状態だけ遅延される。
キャッシュ・ミス・サイクルでは、入出力サイクルに対
してSTARTが活動化されないので入出力サイクルは
遅延されない。
【0009】ここで図3に移ると、図1および2に関し
て上記で説明した直列キャッシュ制御装置実施態様およ
び並列キャッシュ制御装置実施態様の読取りミス・サイ
クル(メイン・メモリ・アクセスが必要とされる)のタ
イミング図が示されている。図3には、3つの特定のタ
イミング点が示されている。第1の点(1)で、CPU
10は、第1のバス状態中にADSをローにドライブす
ることによってアクセス・アドレスをバス上に置く。点
(2)で、キャッシュ制御装置11または18は第2の
バス状態中に、アドレスがキャッシュ中に存在しないと
判定し(キャッシュ・ミス)、BADS信号(図1)ま
たはSTART信号(図2)をドライブする。第3のバ
ス状態中に、メモリ制御装置12はBADS信号(図
1)またはSTART信号(図2)を受け取り、そのサ
イクルの処理を継続する。データは次いで、第4のバス
状態中に点(3)でメイン・メモリによって(サイクル
を終了するためのREADYと共に)返される。
【0010】従来の直列実施態様および並列実施態様は
キャッシュ・ミス・サイクルを処理するための余分なバ
ス状態を必要とするので、システム性能は大幅に低下す
る。したがって、キャッシュ・ミス・サイクルを処理す
るのに必要とされるバス状態の数を減らすことができる
コンピュータ・システムを開発する必要がある。
【0011】
【発明が解決しようとする課題】本発明は、メイン・メ
モリ・アクセスを必要とするメモリ・サイクルおよび入
出力サイクル用の余分なバス状態を不要にするように、
キャッシュ・ミス・サイクルの第1のバス状態中にキャ
ッシュ制御装置からメモリ制御装置へ制御信号が提供さ
れる、メモリ制御装置と並列されたキャッシュ制御装置
を有するパーソナル・コンピュータ・システムに関す
る。キャッシュ制御装置およびメモリ制御装置はローカ
ル・バスに結合されている。キャッシュ制御装置は、ラ
イトバック・キャッシュでもライトスルー・キャッシュ
でもよいキャッシュ内に配置されている。キャッシュは
直接ローカル・バスに結合され、ローカル・バスを制御
下においてバス・サイクルをドライブするバス・マスタ
と通信するように動作する。CPUおよびメイン・メモ
リもローカル・バスに結合されている。メイン・メモリ
はメモリ制御装置にも結合されている。キャッシュ制御
装置およびメモリ制御装置はバス・インタフェース制御
装置内に配置することができる。
【0012】
【課題を解決するための手段】キャッシュ(読取りまた
は書込み)ミス・サイクル中に、キャッシュ制御装置は
メモリ制御装置への制御信号(STOP0GO1)ドラ
イブする。STOP0GO1は、第1のバス状態(T
1)中にキャッシュ制御装置によって、キャッシュ・ミ
ス(メイン・メモリ・アクセスが必要とされる)が発生
し、メモリ制御装置によって現サイクルを完了しなけれ
ばならないことを示すようにドライブされる。キャッシ
ュ・ヒット(メイン・メモリ・アクセスが必要とされな
い)が発生すると、キャッシュがそのサイクルを完了で
きるように、STOP0GO1を使用してメモリ制御装
置がシャットダウンされる。第1のバス状態中にSTO
P0GO1を生成し、メモリ・デコードとしてそれを使
用することによって、キャッシュ・ミス(読取りまたは
書込み)に対してペナルティが発生することはなくな
る。すなわち、キャッシュ・ミスを処理するために必要
とされるサイクル時間は、メイン・メモリ・サイクルを
処理するために必要とされる時間に等しい。
【0013】本発明のシステムは、キャッシュ・ミス・
サイクル中に以下のように動作する。バス・マスタは、
調停を介してローカル・バスを制御下においた後、有効
なローカル・バス・サイクルが開始することと、どんな
タイプの動作(読取り、書込みなど)が実行される予定
かを示す制御信号と共に、メモリ位置のアドレスをロー
カル・バス上に提供することによって、アドレスを有す
るメモリ位置から読み取り、あるいは該位置に書き込む
ためのローカル・バス・サイクルを開始する。制御信号
は、キャッシュ制御装置およびメモリ制御装置によって
同時に受け取られる。その結果、キャッシュ制御装置お
よびメモリ制御装置は、それらのそれぞれのメモリ・ア
レイ中にアドレスが存在するかどうかを検査するための
サイクルを同時に開始する。
【0014】メモリ位置のアドレスは、キャッシュ・タ
グ・アレイおよびキャッシュ・メモリ・アレイに提供さ
れる。キャッシュ制御装置は、キャッシュ・タグ中に該
アドレスが存在せず、あるいはキャッシュ中の該アドレ
スにあるデータが有効でないときにはミスを宣言する。
キャッシュ制御装置は、そのサイクルがキャッシュ・ミ
ス・サイクルであると判定した後、そのサイクルの第1
のバス状態中にSTOP0GO1をハイにドライブし
て、メイン・メモリ制御装置がそのメモリ動作を継続し
て現サイクルを処理しなければならないことを示す。メ
モリ制御装置は第1のバス状態中にSTOP0GO1信
号を受け取り、該サイクルの処理を継続する。STOP
0GO1信号は、キャッシュ・ミス・サイクル中の余分
な待機状態を不要にするために第1のバス状態中に生成
される(すなわち、メイン・メモリ・アクセス・サイク
ルを処理するのに必要とされる通常の時間以外に、キャ
ッシュ・ミス・サイクルを処理するのに必要とされる追
加遅延はない)。
【0015】次いで、第3のバス状態中に、メモリ制御
装置は、(i)そのサイクルが読取りサイクルであった
場合はアドレスされたメモリ位置からローカル・バスを
介してバス・マスタへデータを送り、(ii)該サイク
ルが書込みサイクルであった場合はメイン・メモリ位置
に新しいデータを書き込むことによって、サイクルを完
了する。本発明は、第1のバス状態中にSTOP0GO
1を生成することによって、キャッシュ・ミス・サイク
ルを3つのバス状態で(すなわち、ペナルティなしで)
処理できるようにする。
【0016】ローカル・バス・サイクル中にバス・マス
タによって生成されたアドレスがキャッシュ・メモリ中
にあり、そのキャッシュ・アドレスにあるデータが有効
であるとき、キャッシュ制御装置によってヒットが宣言
される。キャッシュ制御装置は、第1のバス状態中にS
TOP0GO1をローにドライブして(停止)メモリ・
アクセスが必要とされないことを示し、メモリ制御装置
をシャットダウンする。次いで、第2のバス状態中に、
キャッシュはバス・マスタにデータを送り、サイクルを
終了することによって読取りヒット・サイクルを完了す
る。このサイクルはゼロ待機状態で実行される。
【0017】キャッシュはライトバック・キャッシュで
あってよく、そのため、すべての書込みヒット・サイク
ルは、バス・マスタによって、メイン・メモリにアクセ
スせずにキャッシュに書き込まれる。したがって、書込
みヒット・サイクル中のキャッシュの動作は、データが
キャッシュ・メモリ・アレイ中のアドレスに書き込まれ
ることを除き、読取りヒット・サイクルに関して上記で
説明したものと同じである。したがって、書込みヒット
・サイクルもゼロ待機状態で実行される。
【0018】本発明は、並列されたキャッシュ制御装置
およびメモリ制御装置を実施し、第1のバス状態中にメ
イン制御装置への制御信号(STOP0GO1)を生成
することによって、従来キャッシュ・ミス・サイクルに
必要とされている余分なバス状態を不要にする。具体的
には、本発明は、(i)キャッシュがライトバック・キ
ャッシュであるときにはキャッシュ・ミス(読取りおよ
び書込み)メモリ・サイクルを、(ii)キャッシュが
ライトスルー・キャッシュであるときにはキャッシュ読
取りミス・メモリ・サイクルを処理するための余分なバ
ス状態を必要とする従来の並列実施態様に勝る顕著な改
良である。さらに、本発明は、キャッシュがライトバッ
ク・キャッシュまたはライトスルー・キャッシュである
ときにすべてのメモリおよび入出力キャッシュ・ミス
(読取りおよび書込み)サイクル中に余分なバス状態を
必要とする従来の直列実施態様に勝る顕著な改良でもあ
る。
【0019】
【実施例】本発明の好ましい実施例が示された添付の図
面に関して本発明を以下で詳細に説明するが、以下の説
明の始めに、当業者なら、本発明に記載された発明を修
正し、なおかつ本発明の好ましい結果を達成できること
を理解されたい。したがって、以下の説明は、当業者を
対象とする広範囲の教示的開示として理解すべきもので
あり、本発明を限定するものとして理解すべきものでは
ない。
【0020】ここで、添付の図面を詳細に参照すると、
本発明を実施するマイクロコンピュータが示されてお
り、全体的に20で示されている(図4)。コンピュー
タ20は、関連するモニタ21と、キーボード22と、
プリンタまたはプロッタ24とを有する。コンピュータ
20は、図5に示したように、ディジタル・データを処
理して記憶するための電動のデータ処理構成要素および
データ記憶構成要素を受けるための密閉され遮蔽された
容積を形成する上でシャシ26と協働するカバー25を
有する。これらの構成要素のうちの少なくともあるもの
は、シャシ26上に据え付けられ、かつ上記で識別した
ものや、フロッピィ・ディスク・ドライブ、様々な形の
直接アクセス記憶装置、付属のカードまたはボードなど
他の関連する要素を含むコンピュータ20の構成要素を
電気的に相互接続するための手段を提供する、多層プレ
ーナ28すなわちマザーボード上に据え付けられてい
る。
【0021】シャシ26は、ベースと背面パネル(図
5)とを有し、磁気ディスクまたは光学ディスク用のデ
ィスク・ドライブ、テープ・バックアップ・ドライブな
どのデータ記憶装置を受けるための少なくとも1つの空
のベイを形成する。図の形では、上部ベイ29は第1の
寸法の周辺装置(3.5インチとして知られているもの
など)を受けるようになされている。フロッピィ・ディ
スク・ドライブ、すなわち、一般に知られているよう
に、挿入されたディスケットを受けて、該ディスケット
を使用してデータを受け取り、記憶し、送ることができ
る、取外し可能な媒体直接アクセス記憶装置は、上部ベ
イ29に提供することができる。
【0022】上記の構造を本発明に関係付ける前に、パ
ーソナル・コンピュータ・システム20の一般的な動作
の概要を検討すれば有益であろう。図6を参照すると、
プレーナ28上に据え付けられた構成要素と、パーソナ
ル・コンピュータ・システムの入出力スロットおよびそ
の他のハードウェアとプレーナとの接続部とを含む、本
発明によるシステム20などのコンピュータ・システム
の様々な構成要素を示すパーソナル・コンピュータ・シ
ステムのブロック図が示されている。プレーナには、シ
ステム・プロセッサ32が接続されている。適当なマイ
クロプロセッサをCPU32として使用できるが、適切
なマイクロプロセッサの1つはインテル社によって販売
されている80386である。CPU32は、バス・イ
ンタフェース制御装置35と、本明細書ではシングル・
インライン・メモリ・モジュール(SIMM)として示
した揮発性ランダム・アクセス・メモリ(RAM)36
(メイン・メモリ)と、CPU32に対する基本入出力
操作用の命令が記憶されたBIOS ROM38とに高
速CPUローカル・バスによって接続されている。BI
OS ROM38は、マイクロプロセッサ32の入出力
装置とオペレーティング・システムとのインタフェース
をとるために使用されるBIOSを含む。BIOSの実
行時間を短縮するように、BIOS ROM38に記憶
された命令をRAM36にコピーすることができる。
【0023】特に図6のシステム・ブロック図に関して
以下で本発明を説明するが、以下の説明の始めに、当業
者なら、本発明に従った装置および方法を他のハードウ
ェア構成のプレーナ・ボードと共に使用することが構想
されることを理解されたい。たとえば、システム・プロ
セッサはインテル社製の80486マイクロプロセッサ
でよい。
【0024】ここで図6に戻ると、(データ構成要素、
アドレス構成要素、および制御構成要素から成る)CP
Uローカル・バス34は、数値演算コプロセッサ39お
よび小型コンピュータ・システム・インタフェース(S
CSI)制御装置40にマイクロプロセッサ32を接続
する。コンピュータ設計および操作の当業者に知られて
いるように、SCSI制御装置40は、読取り専用メモ
リ(ROM)41、RAM42、および図3の右に示し
た入出力接続によって助けられる様々なタイプの適当な
外部装置に接続することができる。SCSI制御装置4
0は、ハード・ディスク・ドライブおよびフロッピィ・
ディスク・ドライブとしても知られている記憶装置、電
気光学式記憶装置、テープ記憶装置、その他の記憶装置
などの記憶メモリ装置を制御する上で記憶制御装置とし
て機能する。
【0025】バス・インタフェース制御装置(BIC)
35は、CPUローカル・バス34を入出力バス44に
結合し、数ある機能の中でプロトコル変換機構、メモリ
制御装置、およびDMA制御装置として機能する。BI
C35は、バス44によって、マイクロ・チャネル・ア
ダプタ・カード45を受けるための複数の入出力スロッ
トを有するマイクロ・チャネル・バスなどの任意選択の
態様のバスに結合される。該アダプタ・カードはさら
に、入出力装置またはメモリ(図示せず)に結合するこ
とができる。入出力バス44は、アドレス構成要素と、
データ構成要素と、制御構成要素とを含む。入出力バス
44は、マイクロ・チャネル仕様以外のバス仕様に合わ
せて構成することができる。
【0026】入出力バス44には、48で示した文字ベ
ースの情報を記憶するためのビデオRAM(VRAM)
と、49で示したグラフィックまたはイメージ・ベース
の情報を記憶するためのビデオRAM(VRAM)とに
関連するビデオ信号プロセッサ(VSP)46など様々
な入出力構成要素が結合されている。プロセッサ46と
交換されるビデオ信号は、ディジタル・アナログ変換器
(DAC)50を介してモニタまたはその他の表示装置
に送ることができる。ビデオ・レコーダ/プレーヤ、カ
メラなどの形をとることができる、本明細書では自然イ
メージ入出力と呼ぶものにVSP46を直接接続するこ
ともできる。入出力バス44は、ディジタル信号プロセ
ッサ(DSP)51自体による信号の処理のためのソフ
トウェア命令と、そのような処理に関与するデータとを
記憶するために利用できる関連する命令RAM52とデ
ータRAM54とを有するDSP51にも結合されてい
る。DSP51は、オーディオ制御装置55を提供する
ことによるオーディオ入出力の処理と、アナログ・イン
タフェース制御装置56を提供することによる他の信号
の処理とを行う。最後に、入出力バス44は、フロッピ
ィ・ディスク・ドライブ、(図1に図示した)プリンタ
またはプロッタ14、キーボード12、マウスまたはポ
インティング装置(図示せず)を含む従来の周辺装置と
シリアル・ポートによって入出力を交換するための関連
する電気消去プログラム可能読取り専用メモリ(EEP
ROM)59を有する入出力制御装置58に結合されて
いる。
【0027】本発明のより詳細な説明に移る前にまず、
いわゆる複数バス・マスタまたはバス・マスタのパーソ
ナル・コンピュータによるサポートを検討しておくこと
が妥当である。「マスタ」とは、本明細書では、バス・
アドレスおよびドライブ・アドレス、バス上のデータ信
号および制御信号を制御下におくように設計されたプロ
セッサまたはあらゆる回路のことである。そのような機
能を有することによって、マスタ装置はシステム・メモ
リとその他の装置の間で情報を転送することができる。
【0028】システム・マスタ(通常、CPU)、DM
A制御装置、およびバス・マスタの3つのタイプにマス
タを分けることが提案されている。システム・マスタは
システム構成を制御して管理する。これは通常、システ
ム中のデフォルト・マスタである。デフォルト・マスタ
は、他のマスタがバスを必要としないときに該バスを所
有する。DMAマスタは特殊なタイプのマスタであり、
DMAスレーブとマスタ・スレーブの間でデータを転送
し、バスに有利な裁定を下さずに、アービトレータであ
るDMAスレーブの要求を満たす。バス・マスタは、本
明細書では、バスの使用要求を出し、入出力スレーブま
たはメモリ・スレーブに関する情報転送をサポートす
る。
【0029】バス・マスタは必ずしもプロセッサを必要
としないので、何をもってある装置を「バス・マスタ」
とするかは明確ではない。バス・マスタは、他のバス・
マスタによってアクセスされたときにスレーブとして応
答するように呼び出すこともできる。バス・マスタは、
調停(アービトレーション)を介してバスを制御下にお
き、かつ定義されたバス・サイクルを実行することがで
きることによって区別される。1991年5月28日に
出願され、本発明の所有者が所有する、関連米国特許出
願第706602号に記載されたものなど、従来のどん
な調停方式でも本発明で使用することができる。
【0030】一般に、完全機能バス・マスタ、特殊機能
制御装置、およびプログラム可能な特殊機能制御装置の
3種類のバス・マスタがある。それらの間の基本的な違
いは、融通性、機能、およびコストの程度である。完全
機能バス・マスタは最も融通がきき、最大の機能を有
し、最もコストがかかる。通常、完全機能バス・マスタ
はそれ自体のプログラム可能なCPUを有し、オペレー
ティング・システム・ソフトウェアを含め、すべてのシ
ステム資源を制御することができる。特殊機能制御装置
は融通性、機能が最も劣り、最もコストがかからない。
通常、特殊機能制御装置は、特殊機能を実行するのに論
理回路は使用するがCPUは使用せず、他のマスタから
の援助をほとんど、あるいはまったく必要としない。プ
ログラム可能な特殊機能制御装置は他の2つのバス・マ
スタ間の範囲を占める。特殊機能制御装置とプログラム
可能な特殊機能制御装置の間の基本的な違いは、バス・
マスタの機能特性または実行特性、あるいはその両方を
修正する能力である。そのような修正は、処理装置また
は設定可能なレジスタを使用することによって行うこと
ができる。
【0031】本明細書に与えた定義内では、CPU3
2、MCPU39、およびSCSI制御装置40はすべ
て、直接ローカル・バス34に結合されたマスタとして
機能できるが、入出力制御装置58、DSP51、VS
P46、および場合によってはマイクロ・チャネル・ス
ロットに据え付けられた付属ボード45はすべて、直接
入出力バス44に結合されたマスタとして機能すること
ができる。BIC35は、どれか1つのバス・マスタと
選択的に通信するように動作する。
【0032】図7を参照すると、本発明のペナルティの
ないキャッシュとメモリとのインタフェースの全体的な
ブロック図が示されている。キャッシュ60はBIC3
5内に組み込むことができ、キャッシュ制御装置62
と、キャッシュ・メモリ・アレイ70と、タグ・アレイ
72と、状態アレイ74とを含む。キャッシュ制御装置
62は、以下で説明する動作を実施する論理ゲートから
成るハード配線された論理回路である。キャッシュ制御
装置62をプログラム可能な論理機構で構成することも
できる。キャッシュ制御装置62は、やはりBIC35
内にあるメモリ入出力制御装置66と並列されている。
CPU32は、データ構成要素と、アドレス構成要素
と、制御構成要素とを含むローカル・バス34に直接結
合されている。ローカル・バス34のデータ構成要素、
アドレス構成要素、および制御構成要素は、メモリ制御
装置66、キャッシュ制御装置62、メモリ・アレイ7
0、タグ・アレイ72、状態アレイ74、およびメイン
・メモリ36に結合されている。メイン・メモリ36
も、データ構成要素と、アドレス構成要素と、制御構成
要素とを含む線64を介してメモリ制御装置66に結合
されている。
【0033】キャッシュ制御装置62は、ADS#、M
/IO#、およびW/R#を含む複数の制御入力をCP
U32から受け取る。ADS#(アドレス・ストロー
ブ)は、有効なローカル・バス・サイクルが利用可能で
あることを示すためにローカル・バス・マスタ(たとえ
ば、CPU32)によって生成される。この信号は、ス
ヌープ・サイクル中にBIC35によって、ローカル・
バス34上に有効なアドレスがあることを示すようにド
ライブされる。有効なローカル・バス・サイクルがある
場合(ADS#ロー)、M/IO#は、有効なローカル
・バスがメモリ・サイクルであるか(M/IO#ハ
イ)、それとも入出力サイクル(M/IO#ロー)であ
るかを示す。W/R#は、書込みサイクル(W/R#ロ
ー)または読取りサイクル(W/R#ハイ)を示すため
に使用されるCPUドリブン・サイクル定義信号であ
る。3つの制御信号のそれぞれごとに、適切な動作が得
られるようにセットアップ時間を満たさなければならな
い。
【0034】READY#(レディ)は、ローカル・バ
ス・サイクルを終了するために使用される制御信号であ
る。この信号は、i)メイン・メモリ・アクセスが必要
とされるときにはメモリ制御装置66によって生成さ
れ、ii)キャッシュ・ヒット・サイクル中にはキャッ
シュ制御装置62によって生成される信号である。ST
OP0GO1は、キャッシュ制御装置62によって出力
され、メモリ制御装置66に入力される、制御信号であ
る。STOP01O1は、ローカル・バス・サイクルの
第1のバス状態T1中にキャッシュ制御装置62によっ
て、キャッシュ・ミス(メイン・メモリ・アクセスが必
要とされる)が発生し、メモリ制御装置66によって現
サイクルを完了しなければならないことを示すようにド
ライブされる。
【0035】キャッシュ・ヒット(メイン・メモリ・ア
クセスが必要とされない)が発生すると、キャッシュ6
0がサイクルを完了できるように、STOP0GO1を
使用してメモリ制御装置66がシャットダウンされる。
STOP0GO1は入出力サイクルには生成されない。
第1のバス状態中にSTOP0GO1を生成し、メモリ
・デコードとしてそれを使用することによって、キャッ
シュ・ミス(読取りまたは書込み)に対してペナルティ
が発生することはなくなる。すなわち、キャッシュ・ミ
スを処理するために必要とされるサイクル時間は、メイ
ン・メモリ・サイクルを処理するために必要とされる時
間に等しい。
【0036】ここで図8に移ると、本発明のキャッシュ
60の制御ディレクトリ構造が示されている。キャッシ
ュ60は、4ウェイセット・アソシエーティブ・キャッ
シュであってよい。・データは、それぞれ、幅32ビッ
ト、深さ32ビットで、合計で512バイトである、4
つのスタティク・ランダム・アクセス・メモリ(SRA
M)バンク(A、B、C、D)のメモリ・アレイ70中
に記憶される。本発明はそのようなサイズのキャッシュ
・アレイに限定されるものではないが、以下の説明は、
これらの数字に基づいて行う。
【0037】4つのデータ・バンク(データ(DAT
A)−A,B,C,D)中の各項目に対応する最上位の
19個のアドレス・ビットは、各バンクごとの32x1
9TAGアレイ72の4つの19ビット・グループとし
て保存される。各バンク中の各アドレス位置ごとの各バ
イトは、キャッシュ60中にデータがあることを示す対
応する有効ビット(VBITS A,B,C,D)を有
する。各アドレス位置ごとに4つのバイトがあるので、
各アドレスに関連する4つの有効ビットがあり、合計で
16個の有効ビットがある。3つのLRUビットは、従
来のLRUアルゴリズムに従ってキャッシュ60が一杯
になったときに4つのデータ・バンクのうちのどれが新
しい項目で置換されるかを示すために使用される。3つ
のLRUビットと16個の有効ビットは19x19状態
アレイまたはLRU/VALID(有効)アレイ74を
構成する。
【0038】キャッシュ60はライトバック・キャッシ
ュであることが好ましく、第2レベル・キャッシュ(L
2)と呼ばれる。キャッシュ60は第2レベル・ライト
スルー・キャッシュであってもよい。キャッシュ60
は、スヌープ・サイクルをサポートする構造を含む。動
作時に、キャッシュ60は、バス・マスタがアドレスを
生成した直後にヒットかミスかを判定するためにタグ参
照を開始する。キャッシュ制御装置62とメモリ制御装
置66は並列接続されているので、アドレスがそれぞれ
のメモリ・アレイ70および36にそれぞれ存在してい
るかどうかを検査するためのサイクルを同時に開始す
る。メモリ制御装置66は、ADS#、その通常のデコ
ード、およびSTOP0GO1でバス・サイクルを条件
付ける。キャッシュ制御装置62はバス・サイクルをA
DS#で条件付け、メモリ制御装置66へのSTOP0
GO1を生成する。入出力サイクルは、ADS#および
その通常のデコードで条件付けられる。
【0039】以下の事象はすべて、第1のバス状態(T
1)中に、キャッシュ制御装置62およびメモリ制御装
置66が確実に制御信号を認識できるようにする所定の
時間間隔の後に発生する。たとえばCPU32などのロ
ーカル・バス・マスタは、調停を介してローカル・バス
34を制御下においた後、ローカル・バス34上のメモ
リ位置のアドレスと共に制御信号(ADS#、R/W
#、M/IO#)を出力することによって、アドレスを
有するメモリ位置から読み取り、あるいは該位置に書き
込むためのローカル・バス・サイクルを開始する。AD
S#信号、R/W#信号、およびM/IO#信号は、C
PU32によって、有効なバス・サイクルが開始するこ
とと、どんなタイプの動作が実行される予定かを示すよ
うに適当なレベルにドライブされる。これらの制御信号
は、メモリ・アドレスと共に、キャッシュ制御装置62
およびメモリ制御装置66によって同時に受け取られ
る。
【0040】メモリ位置のアドレスは、キャッシュ・メ
モリ・アレイ70、タグ・アレイ72、およびLRU/
VALIDアレイ74に提供される。キャッシュ制御装
置62は、それぞれ、タグ・アレイ72およびLRU/
VALIDアレイ74中にある、アドレス・ビットおよ
び有効ビットを検査し、キャッシュ・タグにそのアドレ
スが存在せず、あるいはキャッシュ60中の該アドレス
にあるデータが有効でないと判定した後に、キャッシュ
・ミスを宣言する。この判定の後、キャッシュ制御装置
62は第1のバス状態(非パイプライン化サイクルの場
合はT1、パイプライン化サイクルの場合はT2P)中
にSTOP0GO1をハイにドライブし、メイン・メモ
リ制御装置66がメモリ動作を継続して現サイクルを処
理しなければならないことを示す。メモリ制御装置66
は第1のバス状態中にSTOP0GO1を受け取り、サ
イクルの処理を継続する。
【0041】次いで、第3のバス状態中に、メモリ制御
装置66は、READY#信号をローにドライブし、
(i)そのサイクルが読取りサイクルであった場合は、
アドレスされたメモリ位置からCPU32へデータを送
り、(ii)サイクルが書込みサイクルであった場合は
メイン・メモリ位置にデータを書き込むことによって、
該サイクルを完了する。本発明は、第1のバス状態中に
STOP0GO1を生成することによって、メイン・メ
モリ36が第3のバス状態中にデータを返してバス・サ
イクルを終了できるようにし、それによって、キャッシ
ュ・ミスによるペナルティを不要にする(すなわち、メ
イン・メモリを処理するために必要とされる通常の時間
以外に、キャッシュ・ミス・サイクルを処理するために
必要とされる追加遅延はない)。
【0042】ここで、さらに具体的に図9を参照する
と、本発明による読取りミス・サイクル(メイン・メモ
リ・アクセスが必要とされる)時のタイミング図が示さ
れている。読取りミス・サイクルは、T1バス状態中
に、ADS#線がローにドライブされ、かつCPU A
DDRESS(アドレス)線およびCPU CONTR
OLS(制御)線が有効な情報を含むときに開始する。
CACHE ADDRESS(キャッシュ・アドレ
ス)、CACHE(キャッシュ)R/W#、およびCA
CHE CONTROLLER INTERNAL(キ
ャッシュ制御装置内部)はキャッシュ60内の内部線で
ある。CACHE ADDRESS線は、CPUアドレ
スがキャッシュ・アドレスに変換され、したがって、キ
ャッシュ制御装置62によって処理される準備ができて
いることを示す。CACHE R/W#線は読取り動作
を示す。CACHE CONTROLLER INTE
RNAL線は、キャッシュ制御装置62によるローカル
・バス制御信号および内部タグ・アドレスの処理を示
す。
【0043】T1バス状態中に、キャッシュ制御装置6
2は、CPU32によってローカル・バス34上に供給
されたアドレスがタグ・アレイ74中にない(あるい
は、キャッシュ60中のアドレスにあるデータが無効で
ある)と判定し、第1のバス状態中に点(1)でSTO
P0GO1をハイにドライブする。メモリ制御装置66
は、第1のバス状態中にSTOP0GO1を受け取り、
サイクルの処理を継続する。次いで、第3のバス状態中
に、CPU32は第2の点(2)でメイン・メモリから
データを受け取る。データの転送と同時に、メモリ制御
装置66は、READY#をローにドライブすることに
よって、第3の点(3)で読取りミス・サイクルを終了
する。したがって、読取りミス・サイクル中に、CPU
32は、START#信号を使用する従来の並列実施態
様またはBADS#を使用する従来の直列実施態様より
も1つのバス状態だけ少ない第3のバス状態でメイン・
メモリ36からデータを受け取る。
【0044】ライトバック・キャッシュおよびライトス
ルー・キャッシュの場合、すべての読取りミス・サイク
ルおよび書込みミス・サイクルでメイン・メモリ・アク
セスが必要である。したがって、書込みミス・サイクル
中の(ライトバック・キャッシュまたはライトスルー・
キャッシュとしての)キャッシュ60の動作は、データ
がメイン・メモリ36中のアドレスに書き込まれること
を除き、読取りミス・サイクルに関して上記で説明した
ものと同じである。また、図9の書込みミス・サイクル
のタイミング図の唯一の違いは、そのサイクルが書込み
サイクルであることを示すためにCACHE R/W#
信号がローになることである。したがって、書込みミス
・サイクルも第3のバス状態で完了する(ペナルティな
し)。
【0045】本発明の動作の一例を挙げると、上述のキ
ャッシュ・ミス・サイクルは3バス状態で完了した。本
発明の当業者は、キャッシュ・ミス・サイクルを処理す
るのに必要とされるバス状態の数が多数の変数の数に応
じて変更できることを理解されたい。本発明のシステム
によって実行されるどんなキャッシュ・ミス・サイクル
も、常に、同じキャッシュ・ミス・サイクルを実行する
従来の並列実施態様および直列実施態様よりも必要なバ
ス状態が1つだけ少ないことも理解されたい。たとえ
ば、従来の実施態様が5つ、6つ、または7つのバス状
態で特定のキャッシュ・ミスを処理する場合、本発明の
システムは同サイクルを処理するのにそれぞれ4つ、5
つ、または6つのバス状態しか必要としない。
【0046】ローカル・バス・サイクル中にCPU32
によって生成されたアドレスがキャッシュ・タグ・アレ
イ72中にあり、そのキャッシュ・アドレスにあるデー
タが有効であるとき、キャッシュ・ヒットが発生する。
キャッシュ制御装置62は、タグ・アレイ74および状
態アレイ76のそれぞれ、アドレス・ビットおよび有効
ビットを検査することによって、そのサイクルが読取り
ヒット・サイクルであると判定する。キャッシュ制御装
置62は、STOP0GO1をローにドライブして(停
止)メイン・メモリ・アクセスが必要とされないことを
示し、メモリ制御装置66をシャットダウンする。次い
で、キャッシュ60は、キャッシュSRAMS70から
CPU32へデータを送り、サイクルを終了することに
よって読取りヒット・サイクルを完了する。
【0047】図10を参照すると、読取りヒット・サイ
クル時(メイン・メモリ・アクセスが必要とされない)
のタイミング図が示されている。バス・サイクルは、T
1バス状態中に、ADS#線がローにドライブされ、か
つCPU ADDRESS線およびCPU CONTR
OLS線が有効な情報を含むときに開始する。次いで、
キャッシュ制御装置62は第1のバス状態中に、キャッ
シュ60中のアドレスおよびデータが有効であると判定
し、点(1)でSTOP0GO1信号をローにドライブ
する。次いで、第2のバス状態中に、CPU32はキャ
ッシュ60からデータを受け取り、第2の点(2)でデ
ータはCPU32中で有効である。データの転送と同時
に、キャッシュ60は第3の点(3)でサイクルを終了
する。CPU32がその要求の後の次のバス・サイクル
でデータを受け取った(すなわち、CPU32は要求さ
れたデータを読み取るために待機しなかった)ので、こ
のサイクルはゼロ待機状態と呼ばれるもので実行されて
いる。もちろん、データが図9では第3のバス状態中に
返されるのに対して、図10では第2のバス状態中に返
されることから分かるように、キャッシュ・ヒット・サ
イクルはキャッシュ・ミスよりも高速に実行される。
【0048】上述のように、キャッシュ60はライトバ
ック・キャッシュであることが好ましく、そのため、サ
イクルが読取りサイクルであっても、書込みサイクルで
あっても、すべてのヒット・サイクルおよびミス・サイ
クルを同じものとみなす。具体的には、すべての読取り
ヒット・サイクルおよび書込みヒット・サイクルは、C
PU32によって、メイン・メモリ36にアクセスせず
にキャッシュ60から読み取られ、あるいはキャッシュ
60に書き込まれる。したがって、書込みヒット・サイ
クル中のキャッシュ60の動作は、データがキャッシュ
・メモリ・アレイ70中のアドレスに書き込まれること
を除き、読取りヒット・サイクルに関して上記で説明し
たものと同じである。また、図10の書込みヒット・サ
イクルのタイミング図の唯一の違いは、書込みヒット・
サイクル中に、そのサイクルが書込みサイクルであるこ
とを示すためにCACHE R/W#信号がローになる
ことである。したがって、書込みヒット・サイクルもゼ
ロ待機状態で実行される。
【0049】本発明が、図7に点線によって示した単一
のチップBIC35内にキャッシュ制御装置62および
メモリ制御装置66を組み込むことに限らないことを理
解されたい。キャッシュ制御装置62およびメモリ制御
装置66はBIC35の外部の異なるチップ上に常駐す
ることができる。2つのチップを使用するとき、STO
P0GO1は第1のバス状態中に、キャッシュ制御装置
から生成され、バス制御装置チップに入力される。キャ
ッシュ60は、第1レベルCPU内部キャッシュを超え
る、コンピュータ・システム中のどんなレベルのキャッ
シュであってもよい。
【0050】さらに、CPUによって開始されるバス・
サイクルに関して本発明を説明したが、本発明は、たと
えばMCPU39やSCSI40など、調停を介してロ
ーカル・バス34を制御下におき、サイクルをドライブ
するどんなローカル・バス・マスタによって開始される
ローカル・バス・サイクルにも当てはまることを当業者
は理解されたい。本発明の装置および方法は、BIC3
5との調停を介してローカル・バス34を介して通信で
きる入出力バス・マスタ装置(たとえば、入出力制御装
置58、DSP51、VSP46)にも当てはまる。
【0051】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0052】(1)ローカル・バスと、入出力バスと、
前記ローカル・バスに結合されたメイン・メモリと、前
記ローカル・バスおよび前記メイン・メモリに結合され
たメモリ制御装置と、 前記ローカル・バスに結合さ
れ、ローカル・バスを制御下におきかつバス・サイクル
をドライブするバス・マスタと通信するように動作する
キャッシュとを具備するコンピュータ・システムであっ
て、前記バス・マスタによってドライブされたキャッシ
ュ・ミス・サイクルの第1のバス状態中に、前記メモリ
制御装置が前記キャッシュ・ミス・サイクルを処理でき
るようにする制御信号を前記メモリ制御装置に提供する
ための手段を含み、前記キャッシュ内に配置されたキャ
ッシュ制御装置とを備えることを特徴とするコンピュー
タ・システム。 (2)前記キャッシュがライトバック・キャッシュであ
り、前記キャッシュ・ミス・サイクルが、アドレスを有
するメイン・メモリ位置から読み取り、あるいは該位置
に書き込むように前記バス・マスタによってドライブさ
れるサイクルであることを特徴とする上記(1)に記載
のシステム。 (3)前記メモリ制御装置が、第3のバス状態中に、メ
イン・メモリ中の前記アドレスから前記バス・マスタへ
データを送り、あるいはメイン・メモリ中の前記アドレ
スにデータを書き込むことによってキャッシュ・ミス・
サイクルを完了するように動作することを特徴とする上
記(2)に記載のシステム。 (4)前記キャッシュがライトスルー・キャッシュであ
り、キャッシュ・ミス・サイクルが、前記キャッシュ・
ミス・サイクルが、アドレスを有するメイン・メモリ位
置から読み取るように前記バス・マスタによってドライ
ブされるサイクルであることを特徴とする上記(1)に
記載のシステム。 (5)前記メモリ制御装置が、第3のバス状態中に、メ
イン・メモリ中の前記アドレスから前記バス・マスタへ
データを送ることによってキャッシュ・ミス・サイクル
を完了するように動作することを特徴とする上記(4)
に記載のシステム。 (6)さらに、複数のバス・マスタ装置を備え、前記キ
ャッシュが前記複数のバス・マスタ装置のうちのどれか
1つと通信するように動作することを特徴とする上記
(1)に記載のシステム。 (7)前記複数のバス・マスタ装置が、直接前記ローカ
ル・バスに結合されたローカル・バス・マスタを含むこ
とを特徴とする上記(6)に記載のシステム。 (8)前記ローカル・バス・マスタ装置が、直接前記ロ
ーカル・バスに結合されたマイクロプロセッサを含むこ
とを特徴とする上記(7)に記載のシステム。 (9)さらに、前記ローカル・バスと前記入出力バスの
間で通信を行うために直接前記ローカル・バスに結合さ
れ、かつ直接前記入出力バスに結合されたバス・インタ
フェース制御装置を備え、前記キャッシュ制御装置およ
び前記メモリ制御装置が前記バス・インタフェース制御
装置内に配置されることを特徴とする上記(6)に記載
のシステム。 (10)前記複数のバス・マスタ装置が、直接前記入出
力バスに結合された入出力バス・マスタを含むことを特
徴とする上記(9)に記載のシステム。 (11)前記メイン・メモリが、直接前記ローカル・バ
スに結合された、データを揮発性記憶するための揮発性
メモリと、直接前記ローカル・バスに結合された、デー
タを不揮発性記憶するための記憶メモリ装置とを備える
ことを特徴とする上記(10)に記載のシステム。 (12)前記ローカル・バス・マスタ装置が、直接前記
ローカル・バスに結合された数値演算コプロセッサと、
直接前記ローカル・バスおよび前記記憶メモリ装置に結
合された、前記記憶メモリ装置との通信を調整するため
の記憶制御装置とを含むことを特徴とする上記(11)
に記載のシステム。 (13)前記入出力バス・マスタ装置が、直接前記入出
力バスに結合された入出力制御装置と、直接前記入出力
バスに結合されたディジタル信号プロセッサと、直接前
記入出力バスに結合されたビデオ信号プロセッサとを備
えることを特徴とする上記(12)に記載のシステム。 (14)コンピュータ・システム中でペナルティなしで
キャッシュ・ミス・サイクルを実行する方法において、
ローカル・バスと、入出力バスと、前記ローカル・バス
に結合されたメイン・メモリと、前記ローカル・バスお
よび前記メイン・メモリに結合されたメモリ制御装置
と、前記ローカル・バスに結合され、ローカル・バスを
制御下におきかつバス・サイクルをドライブするバス・
マスタと通信するように動作するキャッシュとを提供す
るステップと、前記バス・マスタから前記キャッシュ制
御装置および前記メモリ制御装置に同時に制御信号を提
供することによってバス・サイクルを開始するステップ
と、前記サイクルがキャッシュ・ミス・サイクルと判定
するステップと、前記バス・サイクルの第1のバス状態
中に、メモリ制御装置がバス・サイクルを処理できるよ
うに、第1のバス状態中に前記メモリ制御装置によって
受け取られる前記キャッシュ制御装置から前記メモリ制
御装置への制御信号を生成するステップとを含むことを
特徴とする方法。 (15)前記キャッシュがライトスルー・キャッシュで
あり、前記開始ステップが、アドレスを有するメイン・
メモリ位置から読み取り、あるいは該位置に書き込むた
めのバス・サイクルを開始することを含むことを特徴と
する上記(14)に記載の方法。 (16)さらに、第3のバス状態中に、(i)前記バス
・サイクルが読取りサイクルであった場合にメイン・メ
モリ中の前記アドレスから前記マスタへデータを送るス
テップと、(ii)前記バス・サイクルが書込みサイク
ルであった場合にメイン・メモリ中の前記アドレスにデ
ータを書き込むステップのうちの一方を実行することに
よって前記バス・サイクルを完了するステップを含むこ
とを特徴とする上記(15)に記載の方法。 (17)前記キャッシュがライトスルー・キャッシュで
あり、前記開始ステップがさらに、アドレスを有するメ
イン・メモリ位置から読み取るためのバス・サイクルを
開始することを含むことを特徴とする上記(14)に記
載の方法。 (18)さらに、第3のバス状態中に、メイン・メモリ
中の前記アドレスから前記バス・マスタへデータを送る
ことによって前記バス・サイクルを完了するステップを
含むことを特徴とする上記(17)に記載の方法。
【0053】
【発明の効果】本発明は、並列されたキャッシュ制御装
置62およびメモリ制御装置66を実施し、第1のバス
状態中にメイン制御装置66への制御信号(STOP0
GO1)を生成することによって、従来キャッシュ・ミ
ス・サイクルに必要とされている余分なバス状態を不要
にする。具体的には、本発明は、(i)キャッシュがラ
イトバック・キャッシュであるときにはキャッシュ・ミ
ス(読取りおよび書込み)メモリ・サイクルを、(i
i)キャッシュがライトスルー・キャッシュであるとき
にはキャッシュ読取りミス・メモリ・サイクルを処理す
るための余分なバス状態を必要とする従来の並列実施態
様に勝る顕著な改良である。さらに、本発明は、キャッ
シュがライトバック・キャッシュまたはライトスルー・
キャッシュであるときにすべてのメモリおよび入出力キ
ャッシュ・ミス(読取りおよび書込み)サイクル中に余
分なバス状態を必要とする従来の直列実施態様に勝る顕
著な改良でもある。したがって、本発明のペナルティの
ないキャッシュとメモリとのインタフェースを有するパ
ーソナル・コンピュータ・システムは、従来技術の並列
制御装置システムおよび直列制御装置システムを使用す
るパーソナル・コンピュータ・システムよりもずっと速
い動作速度を有する。
【図面の簡単な説明】
【図1】キャッシュ制御装置およびメモリ制御装置に関
する従来の直列実施態様の概略ブロック図である。
【図2】キャッシュ制御装置およびメモリ制御装置に関
する従来の並列実施態様の概略ブロック図である。
【図3】読取りミス・サイクル中の図1および2の従来
の直列実施態様および並列実施態様の動作を示すタイミ
ング図である。
【図4】本発明を実施するパーソナル・コンピュータの
斜視図である。
【図5】シャシと、カバーと、プレーナ・ボードとを含
み、それらの要素間のある種の関係を示す、図4のパー
ソナル・コンピュータのある要素の分解斜視図である。
【図6】図4および5のパーソナル・コンピュータのあ
る構成要素の概略図である。
【図7】本発明のペナルティのないキャッシュとメモリ
とのインタフェースの概略図である。
【図8】図7のキャッシュの制御ディレクトリ構成を示
す図である。
【図9】読取りミス・サイクル中の図7のペナルティの
ないキャッシュとメモリとのインタフェースの動作を示
すタイミング図である。
【図10】読取りヒット・サイクル中の図7のペナルテ
ィのないキャッシュとメモリとのインタフェースの動作
を示すタイミング図である。
【符号の説明】
20 コンピュータ 32 CPU 34 高速CPUローカル・バス 35 バス・インタフェース制御装置 36 揮発性ランダム・アクセス・メモリ(RAM) 38 BIOS ROM 39 数値演算コプロセッサ 40 小型コンピュータ・システム・インタフェース
(SCSI)制御装置 60 キャッシュ 62 キャッシュ制御装置 66 メモリ入出力制御装置 70 キャッシュ・メモリ・アレイ 72 タグ・アレイ 74 状態アレイ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ルイス・アントニオ・エルナンデス アメリカ合衆国33445 フロリダ州デルレ イ・ビーチ サン・レモ・ウェイ 2961 (72)発明者 ホルヘ・エドゥアルド・レンタ アメリカ合衆国33486 フロリダ州ボカ・ ラトン フォックス・ホロウ・ドライヴ 5499 (72)発明者 ドワイト・デラノ・リレイ アメリカ合衆国33326 フロリダ州フォー ト・ローダーデール スプリングサイド・ ドライブ 1551 (72)発明者 エスマエル・タシャコリー アメリカ合衆国33498 フロリダ州ボカ・ ラトン レーク・ジャスミン・ドライブ 10668

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】ローカル・バスと、 入出力バスと、 前記ローカル・バスに結合されたメイン・メモリと、 前記ローカル・バスおよび前記メイン・メモリに結合さ
    れたメモリ制御装置と、 前記ローカル・バスに結合さ
    れ、ローカル・バスを制御下におきかつバス・サイクル
    をドライブするバス・マスタと通信するように動作する
    キャッシュとを具備するコンピュータ・システムであっ
    て、 前記バス・マスタによってドライブされたキャッシュ・
    ミス・サイクルの第1のバス状態中に、前記メモリ制御
    装置が前記キャッシュ・ミス・サイクルを処理できるよ
    うにする制御信号を前記メモリ制御装置に提供するため
    の手段を含み、前記キャッシュ内に配置されたキャッシ
    ュ制御装置とを備えることを特徴とするコンピュータ・
    システム。
  2. 【請求項2】前記キャッシュがライトバック・キャッシ
    ュであり、前記キャッシュ・ミス・サイクルが、アドレ
    スを有するメイン・メモリ位置から読み取り、あるいは
    該位置に書き込むように前記バス・マスタによってドラ
    イブされるサイクルであることを特徴とする請求項1に
    記載のシステム。
  3. 【請求項3】前記メモリ制御装置が、第3のバス状態中
    に、メイン・メモリ中の前記アドレスから前記バス・マ
    スタへデータを送り、あるいはメイン・メモリ中の前記
    アドレスにデータを書き込むことによってキャッシュ・
    ミス・サイクルを完了するように動作することを特徴と
    する請求項2に記載のシステム。
  4. 【請求項4】前記キャッシュがライトスルー・キャッシ
    ュであり、キャッシュ・ミス・サイクルが、前記キャッ
    シュ・ミス・サイクルが、アドレスを有するメイン・メ
    モリ位置から読み取るように前記バス・マスタによって
    ドライブされるサイクルであることを特徴とする請求項
    1に記載のシステム。
  5. 【請求項5】前記メモリ制御装置が、第3のバス状態中
    に、メイン・メモリ中の前記アドレスから前記バス・マ
    スタへデータを送ることによってキャッシュ・ミス・サ
    イクルを完了するように動作することを特徴とする請求
    項4に記載のシステム。
  6. 【請求項6】さらに、複数のバス・マスタ装置を備え、
    前記キャッシュが前記複数のバス・マスタ装置のうちの
    どれか1つと通信するように動作することを特徴とする
    請求項1に記載のシステム。
  7. 【請求項7】前記複数のバス・マスタ装置が、直接前記
    ローカル・バスに結合されたローカル・バス・マスタを
    含むことを特徴とする請求項6に記載のシステム。
  8. 【請求項8】前記ローカル・バス・マスタ装置が、直接
    前記ローカル・バスに結合されたマイクロプロセッサを
    含むことを特徴とする請求項7に記載のシステム。
  9. 【請求項9】さらに、前記ローカル・バスと前記入出力
    バスの間で通信を行うために直接前記ローカル・バスに
    結合され、かつ直接前記入出力バスに結合されたバス・
    インタフェース制御装置を備え、前記キャッシュ制御装
    置および前記メモリ制御装置が前記バス・インタフェー
    ス制御装置内に配置されることを特徴とする請求項6に
    記載のシステム。
  10. 【請求項10】前記複数のバス・マスタ装置が、直接前
    記入出力バスに結合された入出力バス・マスタを含むこ
    とを特徴とする請求項9に記載のシステム。
  11. 【請求項11】前記メイン・メモリが、 直接前記ローカル・バスに結合された、データを揮発性
    記憶するための揮発性メモリと、 直接前記ローカル・バスに結合された、データを不揮発
    性記憶するための記憶メモリ装置とを備えることを特徴
    とする請求項10に記載のシステム。
  12. 【請求項12】前記ローカル・バス・マスタ装置が、 直接前記ローカル・バスに結合された数値演算コプロセ
    ッサと、 直接前記ローカル・バスおよび前記記憶メモリ装置に結
    合された、前記記憶メモリ装置との通信を調整するため
    の記憶制御装置とを含むことを特徴とする請求項11に
    記載のシステム。
  13. 【請求項13】前記入出力バス・マスタ装置が、 直接前記入出力バスに結合された入出力制御装置と、 直接前記入出力バスに結合されたディジタル信号プロセ
    ッサと、 直接前記入出力バスに結合されたビデオ信号プロセッサ
    とを備えることを特徴とする請求項12に記載のシステ
    ム。
  14. 【請求項14】コンピュータ・システム中でペナルティ
    なしでキャッシュ・ミス・サイクルを実行する方法にお
    いて、 ローカル・バスと、入出力バスと、前記ローカル・バス
    に結合されたメイン・メモリと、前記ローカル・バスお
    よび前記メイン・メモリに結合されたメモリ制御装置
    と、前記ローカル・バスに結合され、ローカル・バスを
    制御下におきかつバス・サイクルをドライブするバス・
    マスタと通信するように動作するキャッシュとを提供す
    るステップと、 前記バス・マスタから前記キャッシュ制御装置および前
    記メモリ制御装置に同時に制御信号を提供することによ
    ってバス・サイクルを開始するステップと、 前記サイクルがキャッシュ・ミス・サイクルと判定する
    ステップと、 前記バス・サイクルの第1のバス状態中に、メモリ制御
    装置がバス・サイクルを処理できるように、第1のバス
    状態中に前記メモリ制御装置によって受け取られる前記
    キャッシュ制御装置から前記メモリ制御装置への制御信
    号を生成するステップとを含むことを特徴とする方法。
  15. 【請求項15】前記キャッシュがライトスルー・キャッ
    シュであり、前記開始ステップが、アドレスを有するメ
    イン・メモリ位置から読み取り、あるいは該位置に書き
    込むためのバス・サイクルを開始することを含むことを
    特徴とする請求項14に記載の方法。
  16. 【請求項16】さらに、 第3のバス状態中に、 (i)前記バス・サイクルが読取りサイクルであった場
    合にメイン・メモリ中の前記アドレスから前記マスタへ
    データを送るステップと、 (ii)前記バス・サイクルが書込みサイクルであった
    場合にメイン・メモリ中の前記アドレスにデータを書き
    込むステップのうちの一方を実行することによって前記
    バス・サイクルを完了するステップを含むことを特徴と
    する請求項15に記載の方法。
  17. 【請求項17】前記キャッシュがライトスルー・キャッ
    シュであり、前記開始ステップがさらに、アドレスを有
    するメイン・メモリ位置から読み取るためのバス・サイ
    クルを開始することを含むことを特徴とする請求項14
    に記載の方法。
  18. 【請求項18】さらに、 第3のバス状態中に、メイン・メモリ中の前記アドレス
    から前記バス・マスタへデータを送ることによって前記
    バス・サイクルを完了するステップを含むことを特徴と
    する請求項17に記載の方法。
JP6295375A 1993-12-30 1994-11-29 ペナルティのないキャッシュとメモリとのインタフェース Pending JPH07210465A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17586393A 1993-12-30 1993-12-30
US175863 1993-12-30

Publications (1)

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

Family

ID=22641971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6295375A Pending JPH07210465A (ja) 1993-12-30 1994-11-29 ペナルティのないキャッシュとメモリとのインタフェース

Country Status (2)

Country Link
EP (1) EP0661640A1 (ja)
JP (1) JPH07210465A (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 バス使用効率を高めた集積回路装置のバス制御方式

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63206843A (ja) * 1987-02-24 1988-08-26 Matsushita Electric Ind Co Ltd キヤツシユメモリ装置
JPH01258152A (ja) * 1988-04-08 1989-10-16 Fuji Xerox Co Ltd メモリ制御装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2044487A1 (en) * 1990-06-15 1991-12-16 Michael E. Tullis Lookaside cache
JPH04233642A (ja) * 1990-07-27 1992-08-21 Dell Usa Corp キャッシュアクセスと並列的にメモリアクセスを行なうプロセッサ及びそれに用いられる方法
CA2064162C (en) * 1991-05-28 2002-07-09 Daniel Paul Fuoco Personal computer with local bus arbitration

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63206843A (ja) * 1987-02-24 1988-08-26 Matsushita Electric Ind Co Ltd キヤツシユメモリ装置
JPH01258152A (ja) * 1988-04-08 1989-10-16 Fuji Xerox Co Ltd メモリ制御装置

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
EP0661640A1 (en) 1995-07-05

Similar Documents

Publication Publication Date Title
US5157774A (en) System for fast selection of non-cacheable address ranges using programmed array logic
US5091850A (en) System for fast selection of non-cacheable address ranges using programmed array logic
US6321296B1 (en) SDRAM L3 cache using speculative loads with command aborts to lower latency
US5463753A (en) Method and apparatus for reducing non-snoop window of a cache controller by delaying host bus grant signal to the cache controller
JP3067112B2 (ja) 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法
US5561779A (en) Processor board having a second level writeback cache system and a third level writethrough cache system which stores exclusive state information for use in a multiprocessor computer system
US5732241A (en) Random access cache memory controller and system
JPH07281955A (ja) マルチプロセッサーシステムのスヌープ回路
JPH0652633B2 (ja) メモリ・サブシステム
JPH0850570A (ja) コンピュータシステム、インテグレーテッドプロセッサ、キャッシュベースのコンピュータシステムのためのスヌープ制御方法
US6321307B1 (en) Computer system and method employing speculative snooping for optimizing performance
US5822756A (en) Microprocessor cache memory way prediction based on the way of a previous memory read
US5829027A (en) Removable processor board having first, second and third level cache system for use in a multiprocessor computer system
JP2006134324A (ja) ロッキング・キャッシュを用いる直接的保存
JPH08227377A (ja) 異なったサイクルで異なる速度のメモリデバイスにアクセスできるメモリ制御器
US5900016A (en) System for using a cache memory with a write-back architecture
JPH0769884B2 (ja) パーソナル・コンピュータ・システム
EP0309995B1 (en) System for fast selection of non-cacheable address ranges using programmed array logic
JPH05210589A (ja) 高速バッファコピー方法
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
US5860113A (en) System for using a dirty bit with a cache memory
JPH0574103B2 (ja)
JPS5868286A (ja) キヤツシユメモリおよびその作動方法
JP2716350B2 (ja) 電子データ記憶システム
KR960007833B1 (ko) 고속 페이지 모드 선택을 위한 방법 및 장치