JPH0581941B2 - - Google Patents
Info
- Publication number
- JPH0581941B2 JPH0581941B2 JP2140168A JP14016890A JPH0581941B2 JP H0581941 B2 JPH0581941 B2 JP H0581941B2 JP 2140168 A JP2140168 A JP 2140168A JP 14016890 A JP14016890 A JP 14016890A JP H0581941 B2 JPH0581941 B2 JP H0581941B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- address
- memory
- cpu
- addressing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
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/0877—Cache access modes
- G06F12/0886—Variable-length word access
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
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)
- Memory System (AREA)
Description
A 産業上の利用分野
本発明はマイクロコンピユータ・システム、詳
細にいえば82385などのキヤツシユ制御装置及び
少なくとも64KBのキヤツシユ・メモリを含んで
いるキヤツシユ・サブシステムを用いたマイクロ
コンピユータ・システムに関する。 B 従来の技術とその課題 マイクロコンピユータ・システムにキヤツシ
ユ・サブシステムを使用すると、多くの魅力的な
作動上の利点が得られる。キヤツシユ・サブシス
テムを使用することによつてもたらされる利点
が、部分的には、キヤツシユ・メモリの大きさに
よつて左右されるものであるため、キヤツシユ・
メモリの大きさを増やすことが望まれている。キ
ヤツシユ・サブシステムを用いたマイクロコンピ
ユータ・システムは実際には、デユアル・バス・
マイクロコンピユータである。CPU及びキヤツ
シユ・サブシステムは、CPUローカル・バスと
呼ばれるものによつて互いに接続される。CPU
ローカル・バスとは別に、他の装置(入出力装
置、追加メモリなど)を接続できるシステム・バ
スがある。キヤツシユ・サブシステムの存在によ
つて、求める情報がキヤツシユ・サブシステムで
も見つかる限り、システム・バスは読取りアクセ
スから開放される。必ずしもすべて希望する情報
がキヤツシユ・サブシステムで見つかるわけでは
なく、また書込み操作が通常キヤツシユ・サブシ
ステム及びメモリの両方に対して行なわれるもの
であるため、システム・バスとCPUローカル・
バスの間に何らかの接続がなければならないこと
はもちろんである。 所与のCPUからの高速なアクセス時間をサポ
ートするためにメモリ装置からのデータをキヤツ
シユに入れておくことは新しい考えではない。第
1及び第2レベルのキヤツシユを含んでいる多く
のシステムが開発され、市販されている。 CPUのクロツク速度が増加しており、ひいて
は最小サイクル時間が減少しているので、パーソ
ナル・コンピユータのパフオーマンスを最大限と
するためにパーソナル・コンピユータ用のキヤツ
シユが開発されてきている。多くの会社(インテ
ル、日立、NEC、東芝など)がキヤツシユ制御
装置チツプ及びサブシステムを開発し、市販して
いる。ほとんどが利用可能なタグRAMの量によ
つて制限されており、最大32KBのキヤツシユ・
データRAMをサポートできるに過ぎない。 デユアル・バス・マイクロコンピユータの広く
使用されているクラスの1つとして、82385キヤ
ツシユ制御装置がある。市販されている82385キ
ヤツシユ制御装置は最大32KBのキヤツシユ・メ
モリの処理に制限されている。このようなマイク
ロコンピユータにおけるキヤツシユ・メモリの容
量を32KB超に増加させることが望まれている。
82385の仕様及び機能的な記述は、インテル「マ
イクロプロセツサ及び周辺装置ハンドブツク
(Microprocessor and Peripheral Handbook)」
及び「82385高性能32ビツトキヤツシユ制御装置
(82385 High Performance 32−Bit Cache
Controller)」(1987年)に収められている。ま
た、インテルの「80386入門(Introduction to
the 80386)」及び「80386ハードウエア・リフア
レンス・マニユアル(80386 Hardware
Reference Manual)」(1986年)も参照された
い。 したがつて、本発明の主たる目的はキヤツシ
ユ・メモリが32KBを超える、82385を用いたデ
ユアル・バス・マイクロコンピユータ・システム
を提供することである。他の目的は、サポートさ
れるキヤツシユ・メモリを増加させる装置を提供
することであるが、キヤツシユ制御装置自体では
このように増加したキヤツシユ・メモリ容量をサ
ポートできない、。 C 課題を解決するための手段 以下で説明するように、本発明は82385キヤツ
シユ制御装置がサポートできるキヤツシユRAM
を少なくとも64KBまで増加させるためのアーキ
テクチヤまたは方法、あるいはこれら両方を提供
する。このアーキテクチヤは所与の量のキヤツシ
ユRAMをサポートするように設計されたあらゆ
るキヤツシユ制御装置にも使用でき、またこのキ
ヤツシユRAMの少なくとも2倍の容量を提供で
きる。キヤツシユRAMのサイズを増加する手法
は、追加のタグRAMを必要とするものではな
く、最小量の付加的なサポート論理のみを必要と
するものである。 82385は内部に4つの構成要素を含んでいる。
82385はマイクロコンピユータのシステム・バス
とインタフエースする82385ローカル・バス・イ
ンタフエース、80386制御バスとイタンフエース
するプロセツサ・インタフエース、80386のアド
レス・バス及び「スヌープ」バスの両方からの入
力を有するキヤツシユ・デイレクトリ、ならびに
キヤツシユ・メモリを実際に制御するキヤツシユ
制御部を含んでいる。キヤツシユ・メモリが
82385の外部にあるため、キヤツシユ・メモリの
サイズを物理的に変更することは、82385の内部
にあり、したがつて変更できないキヤツシユ・デ
イレクトリの編成によつて禁じられているだけで
ある。 内部のキヤツシユ・デイレクトリは1024個のタ
グのスペースを備えている。32KBのキヤツシユ
では、各タグは32バイトを表す。データ・バスが
32ビツトであるから、単一の主メモリが参照する
のは1バイトではなく、4バイトである。アクセ
スされる4バイトをラインと呼ぶ。したがつて、
各タグは8ラインを表す。キヤツシユ・デイレク
トリがキヤツシユ制御装置内部にあり、したがつ
て変更できないのであるから、本発明によれば、
キヤツシユ・メモリの容量はラインのサイズを増
やすことによつて増やされる。好ましい実施例に
おいて、ライン・サイズは4バイトから8バイ
ト、すなわち64ビツトへと2倍にされた。ライ
ン・サイズを2倍にすることによつて、タグは依
然として8ラインを表すが、各ラインは4バイト
ではなく8バイトとなる。 タグ・デイレクトリの容量を増やすことができ
ないので、各タグは32バイトではなく、64バイト
を表さなければならない。これはタグの編成にお
けるアドレス・ラインの重みを1ビツトだけシフ
トすることによつて達成される。 製造業者の資料において、アドレス・バス・ラ
インはCPUの対応するアドレス出力ピンに接続
されるものと記載されている。アドレス・ライン
はキヤツシユ制御装置の対応するアドレス入力ピ
ンに接続され、この態様において、CPUのアド
レス出力ピンはキヤツシユ制御装置の対応する入
力ピンに接続される。本発明では、アドレス・ラ
インがシフトされているので、正確に説明するた
め異なる命名法を使用する。詳細にいえば、
CPUのアドレス出力ピンは接頭辞「A」を付け
て識別し、アドレス・バスの対応するアドレス・
ラインには同一の参照文字を付ける(これが一般
的である)。しかしながら、キヤツシユ制御装置
のアドレス入力ピンには「CC」という接頭辞を
付けて識別する。システム・バスのアドレス・ラ
インは「BA」という接頭辞を付けて識別し、シ
ステム・バスのデータ・ラインは「BD」という
接頭辞を付けて識別する。 詳細にいえば、80386からのアドレス・ピンA
3〜A30は82385のアドレス・ピンCCA2〜
CCA29に接続される(82385のアドレス入力
CCA30は接地され、80386のアドレス出力A3
1は82385の入力CCA31に接続される)。同時
に、64KBキヤツシユ・メモリのライン・サイズ
は4バイトから8バイトに増加される。32ビツト
の単一読取りサイクル容量を与えた場合
(80386/82385マシンで)、読取りミス毎に余分の
読取りサイクルを作成する必要が生じる。余分の
読取りサイクルはシステムに対する80386のイン
タフエースを維持するために必要である。換言す
ると、80386及び82385は読取りミス・サイクル当
たり1つのラインにアクセスするように設計され
ている。新しいラインが(4バイトではなく)8
バイトであるから、このインタフエースを維持す
るには、何らかの変更が必要である。行なわれた
変更は(82385及び80386の両方に透過な)第2の
読取りサイクルを生成し、ラインの第2の4バイ
トにアクセスすることである。第1の読取りサイ
クルは新しいライン・サイズの半分(4バイト)
を抽出するのに対し、第2の読取りサイクルは新
しいライン・サイズの他の4バイト(残りの32バ
イト)を抽出する。2つの読取りサイクルの一方
において、CPUが供給するアドレスではないア
ドレスが付加論理によつて生成される。詳細にい
えば(80386からの)アドレス・ラインA2は反
転され、キヤツシユRAMに記憶されている最初
の4バイトを取り出すために使用される。その
後、(反転されていない)ラインA2が再度シス
テムに渡され、32ビツトの第2のグループをアド
レスする。第2の読取りサイクル中に読み取られ
たデータは、プロセツサに提示され、またキヤツ
シユRAMにも記憶される。第2のサイクルは代
替アドレス・ストローブ信号(/MISS1)を発
生することによつて生成される。/MISS1はシ
ステム・バス・インタフエース装置(マイクロ・
チヤネルまたはその他のシステム・バス)及びロ
ーカル・バス・インタフエースによつて、代替/
BADS信号(82385アドレス・ストローブ)とし
て使用される。第2のサイクルはシステムに対す
るパイプライン式プロセツサ・サイクルと同様で
ある。したがつて、/BADSまたは/MISS1は
いずれもバス・サイクルを開始できる。第2の読
取りサイクルを生成する代わりとして、メモリ装
置に対するデータ・インタフエースを32ビツトか
ら64ビツトに増やすことができる。しかしなが
ら、適切なデータを80386にゲートするために余
分のクロス・オーバ・バツフアが必要であるか
ら、この代替策は高速DRAM及びSRAMを必要
とすることになる。これは82385キヤツシユ・イ
ンタフエースに比べ、性能を大幅に改善する。 さらに、好ましい実施例によれば、82385及び
80386に対するREADY信号は、第2の読取りミ
ス・バス・サイクルの終りまで、活動状態に保持
される。最初の32ビツト(第1の読取りサイク
ル)は、SRAMCS2チツプ選択をパルス駆動す
ることによつてキヤツシユRAMに記憶される。
この信号はSRAMのチツプ選択入力に結合され
る。このチツプ選択入力は、高レベルが活動状態
を表す(アクテイブ・ハイ)。SRAMCS2は通常
は活動状態であり、キヤツシユの第1の読取りサ
イクルの終りまたは読取りミスで不活動状態とな
る。1CLK2クロツク・サイクル後に、再度活
動状態となる。 スヌープ動作に適合するには、スヌープ・アド
レスも1ビツトシフトしなければならない。これ
はシステム・バス・アドレス信号BA3〜BA2
3を82385のスヌープ・アドレス端子SA2〜SA
22のそれぞれに接続することによつて実現され
る。信号ADRNABLEは82385のスヌープ・アド
レス信号SA23に接続される。ADRNABLEは
16メガバイト未満のすべてのスヌープ・アドレス
に対して低く、また16メガバイト以上のすべての
スヌープ・アドレスに対して高くなる。これによ
つて、24ビツト・アドレス指定または32ビツト・
アドレス指定が可能なシステム・マスタに対して
キヤツシユ無効化サイクルが適切に機能すること
が可能となる。スヌープ・アドレスとして
ADRNABLEを使用することで、最大スヌープ
可能メモリ・スペースが32メガバイトに制限され
る。ADRNABLEが82385に対する入力として必
要なのは、アドレスのうち24ビツトのみを駆動す
るシステム・マスタがSA24〜SA31を駆動せ
ず、スヌープ可能アドレス・スペースを16メガバ
イトに制限するからである。82385のこれらの入
力(SA24〜SA31)は接地される(あるいは
低くなる)。 CPUのアドレス出力とキヤツシユ制御装置の
アドレス入力の間の関係をオフセツトする手法を
使用して、82385以外のキヤツシユ制御装置に対
してサポートされるキヤツシユ・メモリの容量を
増加できることも明らかであろう。 したがつて、一態様において、本発明は以下の
ものからなるマルチ・バス・マイクロコンピユー
タ・システムを提供する。 CPU及びキヤツシユ・サブシステムがCPUロ
ーカル・バスによつて接続されており、該キヤツ
シユ・サブシステムがキヤツシユ制御装置及びキ
ヤツシユ・メモリを含んでおり、システム・バス
手段が前記キヤツシユ制御装置をランダム・アク
セス・メモリ及び複数個のアドレス可能機能ユニ
ツトに接続しており、 前記CPUがアドレス指定出力を有しており、
前記キヤツシユ制御装置がアドレス指定入力を有
しており、 CPUアドレス指定出力が前記キヤツシユ制御
装置の対応するアドレス指定入力に接続されない
ように、前記CPUアドレス指定出力のいくつか
を、前記キヤツシユ制御装置のアドレス指定入力
のいくつかに接続する手段がある。 前記CPUの少なくとも1つのアドレス指定出
力を、前記CPUによつて生成されない前記ラン
ダム・アクセス・メモリに対するアドレス指定入
力を生成するためのアドレス論理生成手段に接続
する手段がある。 本発明の特定の一実施例によれば、CPUアド
レス指定出力A3〜A30はキヤツシユ制御装置
のアドレス指定入力A2〜A29に接続され、
CPUアドレス指定出力A2はアドレス論理生成
手段に接続される。 本発明による特定の一実施例において、82385
キヤツシユ制御装置及び本発明にしたがつて付加
された論理は64KBのキヤツシユをサポートする
システムを提供する。 D 実施例 第8図は本発明を用いることのできる典型的な
マイクロコンピユータ・システムを示している。
図示のように、マイクロコンピユータ・システム
10は互いに相互接続される多数の構成要素から
なつている。詳細にいえば、システム装置30は
モニタ20(周知のビデオ表示装置など)に結合
され、これを駆動する。システム・ユニツト30
はキーボード40及びマウス50などの入力装置
にも結合されている。プリンタ60などの出力装
置をシステム・ユニツト30へ接続することもで
きる。さらに、システム・ユニツト30はデイス
ク駆動機構70などの1台または複数台のデイス
ク駆動機構を含んでいてもかまわない。以下で説
明するように、システム・ユニツト30は信号を
与えるためのキーボード40及びマウス50など
の入力装置、ならびにデイスク駆動機構70など
の入出力装置に応答して、モニタ20及びプリン
タ60などの出力装置を駆動する。もちろん、当
分野の技術者には、他の周知の構成要素もシステ
ム・ユニツト30に、これとの対話のために接続
できることが認識されよう。本発明によれば、マ
イクロコンピユータ・システム10は(以下で詳
細に説明するように)キヤツシユ・メモリ・サブ
システムを含んでおり、プロセツサ、キヤツシユ
制御装置及びキヤツシユ・メモリを相互接続し、
バツフアを介してシステム・バスに結合される
CPUローカル・バスが存在するようになつてい
る。キーボード40、マウス50、デイスク駆動
機構70、モニタ20及びプリンタ60などの入
出力装置に相互接続され、かつこれらと対話す
る。さらに、本発明によれば、システム・ユニツ
ト30はシステム・バスとその他の(オプシヨン
の)入出力装置、メモリなどとの間の相互接続の
ためにマイクロチヤネル・バスからなる第3のバ
スを含んでいることもできる。 第2図は本発明による典型的なマイクロコンピ
ユータ・システムの各種の構成要素を示す高レベ
ル・ブロツク図である。CPUローカル・バス2
30(データ、アドレス及び制御用の構成要素か
らなる)は、マイクロプロセツサ225(80386
など)、キヤツシユ制御装置260(82385など)、
及びランダム・アクセス・キヤツシユ・メモリ2
55の接続を行なう。CPUローカル・バス23
0には、バツフア240も結合されている。バツ
フア240自体はシステム・バス250に接続さ
れており、アドレス、データ及び制御用の構成要
素からなつている。システム・バス250はバツ
フア240及びもう1つのバツフア253の間を
延びている。 システム・バス250はバス制御及びタイミン
グ要素265、ならびにDMA制御装置325に
も接続されている。アービトレーシヨン制御バス
340はバス制御及びタイミング要素265なら
びに中央アービトレーシヨン要素335を結合し
ている。メモリ350もシステム・バス250に
接続されている。メモリ350はメモリ制御装置
351、アドレス・マルチプレクサ352及びデ
ータ・バツフア353を含んでいる。これらは第
2図に示すように、メモリ要素361ないし36
4によつて相互接続されている。 もう1つのバツフア254はシステム・バス2
50及びプレーナ・バス270の間に結合されて
いる。プレーナ・バス270はアドレス、データ
及び制御用それぞれの構成要素を含んでいる。プ
レーナ・バス270に沿つて、デイスプレイ・ア
ダプタ275(モニタ20を駆動するのに使用さ
れる)、クロツク280、追加のランダム・アク
セス・メモリ285、RS232アダプタ290(シ
リアル入出力動作に使用される)、プリンタ・ア
ダプタ295(プリンタ60を駆動するのに使用
できる)、タイマ300、デイスケツト・アダプ
タ305(デイスク駆動機構70と協働する)、
割込み制御装置310及び読取り専用メモリ
(ROM)315などの各種の入出力アダプタ及
びその他の構成要素が接続される。バツフア25
3はシステム・バス250と、マイクロチヤネ
ル・ソケツトで表されるマイクロチヤネル・バス
320などのオプシヨン機構バスとの間のインタ
フエースを提供する。メモリ331などの装置を
バス320に結合することもできる。 キヤツシユ書込み用のデータはメモリ350か
ら得られるが、このデータをマイクロチヤネル・
バスに設置したメモリなどの他のメモリから得る
こともできる。 第3図はインテルの刊行物「82385高性能32ビ
ツト・キヤツシユ制御装置(82385 High
Performance 32−Bit Cache Controller)」
(1987年)から取つたブロツク図である。第3図
は82385が内部に4つの構成要素、すなわちロー
カル・バス・インタフエース、プロセツサ・イン
タフエース、キヤツシユ制御及びキヤツシユ・デ
イレクトリを含んでいることを示している。キヤ
ツシユ・メモリの容量を増加するという本発明の
目的に意義があるのは、キヤツシユ・デイレクト
リが82385の内部にあることである。キヤツシ
ユ・デイレクトリの容量を変更することはできな
い。さらに、同様に重要なのは、キヤツシユ・デ
イレクトリの内容と、80386アドレス・バスから
キヤツシユ・デイレクトリに印加される情報との
間の変更がないことである。 従来技術はキヤツシユを編成し、キヤツシユ・
メモリと主メモリの間の関係を選択する多くの手
法を明らかにしている。一般的な手法の1つは直
接マツピングといわれるものであり、他の一般的
な手法は2ウエイ・セツト・アソシアテイブとい
われるものである。80386のアドレス・バスは32
ビツト幅であり、したがつて82385はアドレス指
定入力CCA0〜CCA31を有している。直接マ
ツピング・モードにおいて、キヤツシユ・デイレ
クトリは1024の26ビツト・レジスタを含んでい
る。1024のレジスタの各々は第4図に示すように
分割されている。ビツト0〜7(8ビツト)はキ
ヤツシユ制御要素によつて作成される。これらは
ライン有効ビツトであつて、キヤツシユの各ライ
ンに対応している。32KBのキヤツシユ(最大許
容量)を使用している82835に対してインテルが
推奨しているのは、直接マツプされたタグ・フイ
ールド・デイレクトリの1つの項目を、各4バイ
トの8つのデータ・ラインと関連付けることであ
る。ビツト8はタグ有効ビツトであつて、これも
キヤツシユ制御によつて作成される。ビツト9〜
25はアドレス・ビツトA31〜A15に対応して
おり、これらは80386アドレス・バスに提供され
るものとして直接記憶される。インテルが推奨し
ているアーキテクチヤにおいて、80386からのア
ドレス指定出力ビツトA2〜A31は直接、
82385の対応するアドレス入力、すなわちCCA2
〜CCA31に接続される。しかしながら、以下
で説明するように、本発明によれば、この推奨事
項を順守せず、実際には80386のアドレス出力ビ
ツトのいくつかと、82385のアドレス・バス入力
端子との間には「オフセツト」ないしシフトがあ
る。 アドレス・ビツトA14〜5はタグRAMデイ
レクトリをアドレスするのに使用される。当分野
の技術者には、これらの10ビツトが1024のレジス
タから1つを選択するのに充分であることが認識
できよう。アドレス・ビツトA4〜A2(3ビツ
ト)は8つのラインのうち1つを選択するのに使
用される。 第6図は2ウエイ・セツト・アソシアテイブ方
式のキヤツシユ・デイレクトリの編成を示してい
る。この編成において、1024のレジスタは半分に
分割され、512の27ビツト・レジスタをデイレク
トリAに、また残り512の27ビツト・レジスタを
デイレクトリBにもたらす。まず、デイレクトリ
Aの典型的なレジスタを参照すると、ビツト0〜
7はこの場合も8つのライン有効ビツトであり、
キヤツシユ制御装置によつて作成され、キヤツシ
ユ・デイレクトリに記憶される。各ライン有効ビ
ツトは4バイトのラインを表す。ビツト8はこの
場合もタグ有効ビツトであり、ビツト9〜26は
80386のアドレス・ビツトA31〜A14に対応
しており、これらは直接記憶され、選択されたペ
ージを示す。アドレス・ビツトA13〜A5(9
ビツト)はデイレクトリ中の512のレジスタから
1つを選択するのに充分なものである。デイレク
トリBは同様な態様で編成される。この場合も、
第4図に関して説明した編成と同様に、アドレ
ス・ビツトA2〜A4(3ビツト)はタグによつ
て表される8つのラインのうちの1つを選択する
のに充分なものである(この場合も、ラインは4
バイトである)。さらに、各タグ対に対し、LRU
(Least Recently Used)ビツトがある。このビ
ツトはキヤツシユ制御装置によつてセツトまたは
リセツトされ、次の入力をデイレクトリAまたは
デイレクトリBのいずれかに対して行なうかを示
す。 この一定の編成及びキヤツシユ・デイレクトリ
の一定の容量を与えた場合、ならびに80386アド
レス指定出力ビツト及び主メモリの間の不変の関
係を維持する必要性を与えた場合、本発明の目的
は64KBのキヤツシユをサポートするためのアー
キテクチヤを形成することである。直接マツプ・
タグ・アーキテクチヤの場合、1024のデイレクト
リ項目の各々は8つのラインを表す。各ラインが
4バイトであるから、当分野の技術者にはこのア
ーキテクチヤを使用したキヤツシユ・メモリの最
大容量が、どのようにして32KBになるかが理解
できよう。2ウエイ・セツト・アソシアテイブ・
アーキテクチヤ(第6図)は同一の結果をもたら
す。 本発明によれば、ライン・サイズは4バイトか
ら8バイトへ変更されている。第5図は直接マツ
プ・タグ・フイールドに対する対応したキヤツシ
ユ・デイレクトリ編成を示す。第5図に示すよう
に、ビツト0〜7はこの場合も8つのライン有効
ビツトを表している。これらのビツトは、各ライ
ンが4バイトか8バイトかには無関係に、キヤツ
シユ制御によつて書込み及び再書込みされる。ビ
ツト8はこの場合もタグ有効ビツトである。ライ
ンを選択するのにビツトA2〜A4を使用する代
わりに、ビツトA3〜A5を使用して、ラインを
選択する。結果として、ビツトA6〜A15を使
用して、キヤツシユ・デイレクトリのレジスタを
アドレスする(第4図に示した従来例で、ビツト
A5〜A14を使用するのと対照的である)。し
たがつて、デイレクトリは16ビツトのタグ・フイ
ールド、ビツトA16〜A31を含むようにな
る。上記のデータは次いでビツト位置0〜24を
占有し、ビツト位置25を空のまま残す。 第7図は、第5図が第4図に対するものであつ
たのと同様、第6図に対する同様な関係を示して
いる。詳細にいえば、各タグ・レジスタはこの場
合も8つのライン有効ビツトを有しているが、こ
れらの8つのライン有効ビツトの各々は4バイト
のラインではなく、8バイトのラインを表してい
る。ビツトA3〜A5は所与の8バイトのライン
を選択するのに使用される。8番目のビツトはこ
の場合もタグ有効ビツトである。ビツトA6〜A
14はタグ・レジスタをアドレスするために使用
される(第6図でビツトA5〜A13を使用する
のと対照的なものである)。したがつて、ビツト
A15〜A31(A14〜A31ではなく)は直
接記憶され、選択されたページを示す。 第1図には第2図の一部の詳細なブロツク図が
示されており、これは関連する信号と、第1図に
示されているいくつかの構成要素の間の相互接続
との関係を示している。詳細にいえば、第1図は
CPU225、キヤツシユ制御装置260、アド
レス・ラツチAL、データ・ラツチDL、バツフア
240の構成要素(第2図参照)、キヤツシユ・
メモリ255ならびに数種類の付加的な論理構成
要素を示している。これらの付加的な論理構成要
素はPAL C1、PAL C2,2入力ANDゲート
のセツトG1〜G7、ORゲート01及びラツチ
D1を含んでいる。 第1図は個別論理要素C1,C2,01及びG
1〜G7を示しているが、当分野の技術者には各
種の個別要素に各種の論理機能をパツケージする
際に、広い許容度があることが認識されよう。第
1図に示した明細は各種の個別要素に論理機能
を、どのようにパツケージするかについての指示
というよりも、明細のためのものである。 第1図のアーキテクチヤと、82385の製造業者
が推奨しているものとの間の2つの主たる相違は
キヤツシユ・メモリ255と、CPU225の出
力とキヤツシユ制御装置260との間の関係とに
ある。詳細にいえば、82385の製造業者はキヤツ
シユの最大容量が32KBであることを明確にして
いるが、キヤツシユ・メモリ255(すなわち、
スタテイツク・ランダム・アクセス・メモリ−
SRAM)は32KBのバンクAと同様な32KBのバ
ンクBに分割された、少なくとも64Kバイトの容
量を有している。 第1図の一番上に示されているように、CPU
225のアドレス出力ビツトA3〜A31はキヤ
ツシユ制御装置260のアドレス指定入力CCA
2〜CCA29及びCCA31に接続されている。
詳細にいえば、第1図はビツトA3〜A30が端
子CCA2〜CCA29に接続されており、端子A
31が端子CCA31に接続されていることを表
すことを目的としたものである。第1図に示すよ
うに、端子CCA30は接地されている。アドレ
ス・ビツトA2はPAL C2及びラツチD1に対
する入力を形成する。PAL C2の出力の1つは
信号NEWA2で、アドレス・ラツチALへ入力さ
れ、それによりアドレス・ラツチALはビツト
BA2〜BA31を出力できる。出力ビツトBA3
〜BA31は入力ビツトA3〜A31に完全に対
応しており、出力ビツトBA2は入力ビツト
NEWA2に対応している。 キヤツシユ・デイレクトリとマイクロコンピユ
ータ・システムのアドレス構造の間の関係がオフ
セツトされているため、スヌープ・バスにも注目
しなければならない。当分野の技術者には、キヤ
ツシユの一貫性を維持するために、キヤツシユ制
御装置260がメモリ書込み機能の可視性を有し
ていなければならないことが認識できよう。もち
ろん、制御装置260はCPU225のアドレス
指定出力及び制御出力との接続によつて、CPU
225に由来するメモリ書込み機能を認識でき
る。しかしながら、典型的なマイクロコンピユー
タ・システムにおいては、他の装置がメモリに対
する書込みを行なうこともでき、したがつてキヤ
ツシユ制御装置260には他の装置による主メモ
リへの書込みを監視するスヌープ機能を備えてい
る。オフセツトされた関係を維持するために、キ
ヤツシユ制御装置260のスヌープ入力端子SA
2〜SA22は、第1図に示すようにアドレス・
ビツトBA3〜BA23に接続されている。 前出の図面には明示されていないが、32KBの
キヤツシユ・メモリ(4バイトの項目として構成
されている)は13のアドレス指定ビツトを必要と
する。しかしながら、64KBのキヤツシユ・メモ
リ255は14のアドレス指定ビツトを必要とす
る。第1図に示したアドレス指定情報は、ラツチ
D1(12ビツト、A3〜A14)の出力によつて
与えられる。さらに、キヤツシユ255のアドレ
ス指定入力A0(13番目のビツト)はC2の
CACA2出力から与えられる。なお、14番目のビ
ツトの働きはキヤツシユ・イネーブルA(COEA
またはCWEA)またはキヤツシユ・イネーブル
B(COEBまたはCWEB)のいずれかを生成する
キヤツシユ制御装置によるバンク選択である。 キヤツシユ制御装置を用いる典型的なマイクロ
コンピユータ・システムが4バイトというライ
ン・サイズを採用している理由の1つは、デー
タ・バスの幅が、32ビツトだからである。デー
タ・バスの幅は、所与のメモリ・サイクルにおい
て、32ビツトをメモリから取り出すことができ、
それゆえキヤツシユの読取りミスに応じて、4バ
イトすなわち1イランの更新された情報を所与の
読取りサイクルにおいてキヤツシユに書き込める
ことを意味する。本発明の場合のように、4バイ
トから8バイトへライン・サイズを変更すること
の結果は、キヤツシユ読取りミスにおける1つの
ライン全体の更新を維持するために、他の変更を
行なわなければならないことを示唆する。本発明
の好ましい実施例において、PAL C1及びPAL
C2によつて与えられる追加の論理は、第2ない
し隠しメモリ・サイクルをもたらす。CPU22
5及びキヤツシユ制御装置260はこのメモリ・
サイクルを認識できない。それゆえ、読取りミス
は2つのメモリ・サイクルを発生する。2つのメ
モリ・サイクルの内の第1のサイクルにおいて、
アドレス出力A2は反転され(NEWA2)、32ビ
ツト・メモリ取出しにおいてアドレス・ビツトA
3〜A31とともに使用される。このメモリ・サ
イクルのデータは、キヤツシユ255に記憶され
る。その後、出力A2の効果は再度システム
(NEWA2)及びキヤツシユRAM255に渡さ
れる(ビツトA3〜A31とともに)。しかしな
がら、このサイクルにおいて、A2の効果はメモ
リからの32ビツトの第2のセツトをアドレスする
ために反転されることはない。第2のサイクル中
に読み取られたデータはプロセツサ225に提示
され、これもキヤツシユ255に記憶される。追
加のサイクルが代替アドレス・ストローブ信号
(MISS1)を発生することによつて生成される。
MISS1はシステム・バス・インタフエース装置
(マイクロチヤネルまたはその他のシステム・バ
ス)及びローカル・バス・メモリ・インタフエー
スによつて、代替BADS(82385アドレス・ストロ
ーブ)信号として使用される。この追加ないし隠
しサイクルはシステム・インタフエースに対する
パイプライン式プロセツサ・サイクルとみなさ
れ、したがつてBADSまたはMISS1はバス・サ
イクルを開始できる。 MISS1は本発明の好ましい実施例にしたがつ
て追加ないし隠しサイクルを生成するために使用
されるが、代替構成として64ビツト幅のデータ・
バスを用いた場合は、追加ないし隠しサイクルは
不必要となる。すなわち、単一のメモリ・サイク
ルは8バイトのラインに対応する64ビツトのデー
タを取り出すこととなる。64バイトのメモリ・イ
ンタフエースを使用することの欠点は、CPU2
25に対して適切なデータをゲートするのに必要
となる余分なクロス・オーバ・バツフアのため、
より高速なDRAM及びSRAMが必要なことであ
る。 隠しサイクルをCPU225及びキヤツシユ制
御装置260に対して透過性に維持するために、
(システムからの)BREADY信号を第2の読取
りミス・バス・サイクル(BADSによつて生成さ
れたサイクル及びMISS1によつて生成された追
加のサイクルの両方)の終了まで、活動状態に保
持する。第1読取りサイクルで読み取られた最初
の32ビツトのデータは、PAL C2からの
SRAMCS2(チツプ選択)信号によつてキヤツ
シユ255に記憶される。この信号はキヤツシユ
255のチツプ選択入力CE2S(アクテイブ・ハ
イ)に結合される。SRAMCS2は通常は活動状
態であり、キヤツシユ記憶可能読取りミスの第1
読取りサイクルの終了時に非活動状態となる。
1CLK2クロツク・サイクル後に再度活動となる。 信号NEWA2、/MISS1、/NEWLA
2、/CPUNA、SRAMCS2、/CACA2及び
NACACHEを8つの論理式で以下で定義する。 本明細書で使用する記号は以下の意味を有して
いる。 記号 定義 / 否定 := 登録済み項目、…に等しい = 組合せ項目、…に等しい & 論理積 + 論理和 $ 排他的論理和(XOR) NEWA2=CA2$(NCA&/CWR&MISS1&
SRAMCS2) /MIS1:= MISS1&BUSCYC385&CPUNA&/BADS&/
(BW/R)& CLK&NCA +MISS1&/BUSCYC385&/BADS&/
(BW/R)&CLK &NCA&/BREADY +/MISS1&/CLK +MISS1&BREADY /NEWLA2:=/CA2&MISS1&CPUNA&
CLK +MISS1&/BUSCYC385&/BADS&/
(BW/R)&CLK &NCA&/BREADY&/CA2 +/NEWLA2&/MISS1&CLK +/NEWLA2&MISS1&/CPUNA&CLK&
BREADY +/NEWLA2&/CLK +/NEWLA2&MISS1&CPUNA&CLK&
BUSCYC385 /CPUNA:=/MISS1&CLK&CPUNA&/
NACACHE +/MISS1&CLK&CPUNA&/BREADY& /BUSCYC385 +/CPUNA&/CLK +/CPUNA&/MISS1&CLK +/CPUNA&CLK&BREADY +/CPUNA&CLK&BUSCYC385&
NACACHE SRAMCS2:= SRAMCS2&MISS1&/BREADY&/
BUSCYC385&CLK /CACA2=/NEWLA2&/CPUNA&MISS1 +NEWLA2&/MISS1 +/CA2&MISS1&CPUNA&CLK +/NEWLA2&MISS1&CPUNA&/CLK +/NEWLA2&MISS1&CPUNA&/CA2 /NACACHE=/CASGATE +MISS1&/CMD +RESET ただし、/CASGATEは活動主メモリ・サイ
クル(アクテイブ・ロー)を示し、/CMDはシ
ステム・バス以外のバスの、活動サイクル(アク
テイブ・ロー)を示す。なお、「アクテイブ・ロ
ー)は低レベルが活動状態を表すことを意味す
る。 上記において、 BREADYはバス上のサイクルが完了している
ことを示す、システム・バスからの信号(アクテ
イブ・ロー)である。 CA2はCPU225のA2出力を表す。 BADSはキヤツシユ制御装置260からのイン
テルが定義したアドレス・ストローブ(アクテイ
ブ・ロー)である。 CLKはインテルが定義したクロツク信号を表
す。 RESETはインテルが定義したリセツト信号
(アクテイブ・ハイ)である。 NCAは特開平2−18640、特開平2−18657な
どにおいて定義したキヤツシユ記憶不能アクセス
を表す。 BUSCYC385は上記公開公報において定義
した他の信号である。 第1表はいくつかのCPU読取りコマンド、キ
ヤツシユ・デイレクトリで生じる結果、及び特に
ライン有効バイト、ならびに結果として生じる動
作の例である。第1表の例は、ステツプ1の前
に、キヤツシユ・メモリがフラツシユされ、した
がつてステツプ1の前に、デイレクトリ全体が無
効となつているということを仮定して与えられた
ものである。
細にいえば82385などのキヤツシユ制御装置及び
少なくとも64KBのキヤツシユ・メモリを含んで
いるキヤツシユ・サブシステムを用いたマイクロ
コンピユータ・システムに関する。 B 従来の技術とその課題 マイクロコンピユータ・システムにキヤツシ
ユ・サブシステムを使用すると、多くの魅力的な
作動上の利点が得られる。キヤツシユ・サブシス
テムを使用することによつてもたらされる利点
が、部分的には、キヤツシユ・メモリの大きさに
よつて左右されるものであるため、キヤツシユ・
メモリの大きさを増やすことが望まれている。キ
ヤツシユ・サブシステムを用いたマイクロコンピ
ユータ・システムは実際には、デユアル・バス・
マイクロコンピユータである。CPU及びキヤツ
シユ・サブシステムは、CPUローカル・バスと
呼ばれるものによつて互いに接続される。CPU
ローカル・バスとは別に、他の装置(入出力装
置、追加メモリなど)を接続できるシステム・バ
スがある。キヤツシユ・サブシステムの存在によ
つて、求める情報がキヤツシユ・サブシステムで
も見つかる限り、システム・バスは読取りアクセ
スから開放される。必ずしもすべて希望する情報
がキヤツシユ・サブシステムで見つかるわけでは
なく、また書込み操作が通常キヤツシユ・サブシ
ステム及びメモリの両方に対して行なわれるもの
であるため、システム・バスとCPUローカル・
バスの間に何らかの接続がなければならないこと
はもちろんである。 所与のCPUからの高速なアクセス時間をサポ
ートするためにメモリ装置からのデータをキヤツ
シユに入れておくことは新しい考えではない。第
1及び第2レベルのキヤツシユを含んでいる多く
のシステムが開発され、市販されている。 CPUのクロツク速度が増加しており、ひいて
は最小サイクル時間が減少しているので、パーソ
ナル・コンピユータのパフオーマンスを最大限と
するためにパーソナル・コンピユータ用のキヤツ
シユが開発されてきている。多くの会社(インテ
ル、日立、NEC、東芝など)がキヤツシユ制御
装置チツプ及びサブシステムを開発し、市販して
いる。ほとんどが利用可能なタグRAMの量によ
つて制限されており、最大32KBのキヤツシユ・
データRAMをサポートできるに過ぎない。 デユアル・バス・マイクロコンピユータの広く
使用されているクラスの1つとして、82385キヤ
ツシユ制御装置がある。市販されている82385キ
ヤツシユ制御装置は最大32KBのキヤツシユ・メ
モリの処理に制限されている。このようなマイク
ロコンピユータにおけるキヤツシユ・メモリの容
量を32KB超に増加させることが望まれている。
82385の仕様及び機能的な記述は、インテル「マ
イクロプロセツサ及び周辺装置ハンドブツク
(Microprocessor and Peripheral Handbook)」
及び「82385高性能32ビツトキヤツシユ制御装置
(82385 High Performance 32−Bit Cache
Controller)」(1987年)に収められている。ま
た、インテルの「80386入門(Introduction to
the 80386)」及び「80386ハードウエア・リフア
レンス・マニユアル(80386 Hardware
Reference Manual)」(1986年)も参照された
い。 したがつて、本発明の主たる目的はキヤツシ
ユ・メモリが32KBを超える、82385を用いたデ
ユアル・バス・マイクロコンピユータ・システム
を提供することである。他の目的は、サポートさ
れるキヤツシユ・メモリを増加させる装置を提供
することであるが、キヤツシユ制御装置自体では
このように増加したキヤツシユ・メモリ容量をサ
ポートできない、。 C 課題を解決するための手段 以下で説明するように、本発明は82385キヤツ
シユ制御装置がサポートできるキヤツシユRAM
を少なくとも64KBまで増加させるためのアーキ
テクチヤまたは方法、あるいはこれら両方を提供
する。このアーキテクチヤは所与の量のキヤツシ
ユRAMをサポートするように設計されたあらゆ
るキヤツシユ制御装置にも使用でき、またこのキ
ヤツシユRAMの少なくとも2倍の容量を提供で
きる。キヤツシユRAMのサイズを増加する手法
は、追加のタグRAMを必要とするものではな
く、最小量の付加的なサポート論理のみを必要と
するものである。 82385は内部に4つの構成要素を含んでいる。
82385はマイクロコンピユータのシステム・バス
とインタフエースする82385ローカル・バス・イ
ンタフエース、80386制御バスとイタンフエース
するプロセツサ・インタフエース、80386のアド
レス・バス及び「スヌープ」バスの両方からの入
力を有するキヤツシユ・デイレクトリ、ならびに
キヤツシユ・メモリを実際に制御するキヤツシユ
制御部を含んでいる。キヤツシユ・メモリが
82385の外部にあるため、キヤツシユ・メモリの
サイズを物理的に変更することは、82385の内部
にあり、したがつて変更できないキヤツシユ・デ
イレクトリの編成によつて禁じられているだけで
ある。 内部のキヤツシユ・デイレクトリは1024個のタ
グのスペースを備えている。32KBのキヤツシユ
では、各タグは32バイトを表す。データ・バスが
32ビツトであるから、単一の主メモリが参照する
のは1バイトではなく、4バイトである。アクセ
スされる4バイトをラインと呼ぶ。したがつて、
各タグは8ラインを表す。キヤツシユ・デイレク
トリがキヤツシユ制御装置内部にあり、したがつ
て変更できないのであるから、本発明によれば、
キヤツシユ・メモリの容量はラインのサイズを増
やすことによつて増やされる。好ましい実施例に
おいて、ライン・サイズは4バイトから8バイ
ト、すなわち64ビツトへと2倍にされた。ライ
ン・サイズを2倍にすることによつて、タグは依
然として8ラインを表すが、各ラインは4バイト
ではなく8バイトとなる。 タグ・デイレクトリの容量を増やすことができ
ないので、各タグは32バイトではなく、64バイト
を表さなければならない。これはタグの編成にお
けるアドレス・ラインの重みを1ビツトだけシフ
トすることによつて達成される。 製造業者の資料において、アドレス・バス・ラ
インはCPUの対応するアドレス出力ピンに接続
されるものと記載されている。アドレス・ライン
はキヤツシユ制御装置の対応するアドレス入力ピ
ンに接続され、この態様において、CPUのアド
レス出力ピンはキヤツシユ制御装置の対応する入
力ピンに接続される。本発明では、アドレス・ラ
インがシフトされているので、正確に説明するた
め異なる命名法を使用する。詳細にいえば、
CPUのアドレス出力ピンは接頭辞「A」を付け
て識別し、アドレス・バスの対応するアドレス・
ラインには同一の参照文字を付ける(これが一般
的である)。しかしながら、キヤツシユ制御装置
のアドレス入力ピンには「CC」という接頭辞を
付けて識別する。システム・バスのアドレス・ラ
インは「BA」という接頭辞を付けて識別し、シ
ステム・バスのデータ・ラインは「BD」という
接頭辞を付けて識別する。 詳細にいえば、80386からのアドレス・ピンA
3〜A30は82385のアドレス・ピンCCA2〜
CCA29に接続される(82385のアドレス入力
CCA30は接地され、80386のアドレス出力A3
1は82385の入力CCA31に接続される)。同時
に、64KBキヤツシユ・メモリのライン・サイズ
は4バイトから8バイトに増加される。32ビツト
の単一読取りサイクル容量を与えた場合
(80386/82385マシンで)、読取りミス毎に余分の
読取りサイクルを作成する必要が生じる。余分の
読取りサイクルはシステムに対する80386のイン
タフエースを維持するために必要である。換言す
ると、80386及び82385は読取りミス・サイクル当
たり1つのラインにアクセスするように設計され
ている。新しいラインが(4バイトではなく)8
バイトであるから、このインタフエースを維持す
るには、何らかの変更が必要である。行なわれた
変更は(82385及び80386の両方に透過な)第2の
読取りサイクルを生成し、ラインの第2の4バイ
トにアクセスすることである。第1の読取りサイ
クルは新しいライン・サイズの半分(4バイト)
を抽出するのに対し、第2の読取りサイクルは新
しいライン・サイズの他の4バイト(残りの32バ
イト)を抽出する。2つの読取りサイクルの一方
において、CPUが供給するアドレスではないア
ドレスが付加論理によつて生成される。詳細にい
えば(80386からの)アドレス・ラインA2は反
転され、キヤツシユRAMに記憶されている最初
の4バイトを取り出すために使用される。その
後、(反転されていない)ラインA2が再度シス
テムに渡され、32ビツトの第2のグループをアド
レスする。第2の読取りサイクル中に読み取られ
たデータは、プロセツサに提示され、またキヤツ
シユRAMにも記憶される。第2のサイクルは代
替アドレス・ストローブ信号(/MISS1)を発
生することによつて生成される。/MISS1はシ
ステム・バス・インタフエース装置(マイクロ・
チヤネルまたはその他のシステム・バス)及びロ
ーカル・バス・インタフエースによつて、代替/
BADS信号(82385アドレス・ストローブ)とし
て使用される。第2のサイクルはシステムに対す
るパイプライン式プロセツサ・サイクルと同様で
ある。したがつて、/BADSまたは/MISS1は
いずれもバス・サイクルを開始できる。第2の読
取りサイクルを生成する代わりとして、メモリ装
置に対するデータ・インタフエースを32ビツトか
ら64ビツトに増やすことができる。しかしなが
ら、適切なデータを80386にゲートするために余
分のクロス・オーバ・バツフアが必要であるか
ら、この代替策は高速DRAM及びSRAMを必要
とすることになる。これは82385キヤツシユ・イ
ンタフエースに比べ、性能を大幅に改善する。 さらに、好ましい実施例によれば、82385及び
80386に対するREADY信号は、第2の読取りミ
ス・バス・サイクルの終りまで、活動状態に保持
される。最初の32ビツト(第1の読取りサイク
ル)は、SRAMCS2チツプ選択をパルス駆動す
ることによつてキヤツシユRAMに記憶される。
この信号はSRAMのチツプ選択入力に結合され
る。このチツプ選択入力は、高レベルが活動状態
を表す(アクテイブ・ハイ)。SRAMCS2は通常
は活動状態であり、キヤツシユの第1の読取りサ
イクルの終りまたは読取りミスで不活動状態とな
る。1CLK2クロツク・サイクル後に、再度活
動状態となる。 スヌープ動作に適合するには、スヌープ・アド
レスも1ビツトシフトしなければならない。これ
はシステム・バス・アドレス信号BA3〜BA2
3を82385のスヌープ・アドレス端子SA2〜SA
22のそれぞれに接続することによつて実現され
る。信号ADRNABLEは82385のスヌープ・アド
レス信号SA23に接続される。ADRNABLEは
16メガバイト未満のすべてのスヌープ・アドレス
に対して低く、また16メガバイト以上のすべての
スヌープ・アドレスに対して高くなる。これによ
つて、24ビツト・アドレス指定または32ビツト・
アドレス指定が可能なシステム・マスタに対して
キヤツシユ無効化サイクルが適切に機能すること
が可能となる。スヌープ・アドレスとして
ADRNABLEを使用することで、最大スヌープ
可能メモリ・スペースが32メガバイトに制限され
る。ADRNABLEが82385に対する入力として必
要なのは、アドレスのうち24ビツトのみを駆動す
るシステム・マスタがSA24〜SA31を駆動せ
ず、スヌープ可能アドレス・スペースを16メガバ
イトに制限するからである。82385のこれらの入
力(SA24〜SA31)は接地される(あるいは
低くなる)。 CPUのアドレス出力とキヤツシユ制御装置の
アドレス入力の間の関係をオフセツトする手法を
使用して、82385以外のキヤツシユ制御装置に対
してサポートされるキヤツシユ・メモリの容量を
増加できることも明らかであろう。 したがつて、一態様において、本発明は以下の
ものからなるマルチ・バス・マイクロコンピユー
タ・システムを提供する。 CPU及びキヤツシユ・サブシステムがCPUロ
ーカル・バスによつて接続されており、該キヤツ
シユ・サブシステムがキヤツシユ制御装置及びキ
ヤツシユ・メモリを含んでおり、システム・バス
手段が前記キヤツシユ制御装置をランダム・アク
セス・メモリ及び複数個のアドレス可能機能ユニ
ツトに接続しており、 前記CPUがアドレス指定出力を有しており、
前記キヤツシユ制御装置がアドレス指定入力を有
しており、 CPUアドレス指定出力が前記キヤツシユ制御
装置の対応するアドレス指定入力に接続されない
ように、前記CPUアドレス指定出力のいくつか
を、前記キヤツシユ制御装置のアドレス指定入力
のいくつかに接続する手段がある。 前記CPUの少なくとも1つのアドレス指定出
力を、前記CPUによつて生成されない前記ラン
ダム・アクセス・メモリに対するアドレス指定入
力を生成するためのアドレス論理生成手段に接続
する手段がある。 本発明の特定の一実施例によれば、CPUアド
レス指定出力A3〜A30はキヤツシユ制御装置
のアドレス指定入力A2〜A29に接続され、
CPUアドレス指定出力A2はアドレス論理生成
手段に接続される。 本発明による特定の一実施例において、82385
キヤツシユ制御装置及び本発明にしたがつて付加
された論理は64KBのキヤツシユをサポートする
システムを提供する。 D 実施例 第8図は本発明を用いることのできる典型的な
マイクロコンピユータ・システムを示している。
図示のように、マイクロコンピユータ・システム
10は互いに相互接続される多数の構成要素から
なつている。詳細にいえば、システム装置30は
モニタ20(周知のビデオ表示装置など)に結合
され、これを駆動する。システム・ユニツト30
はキーボード40及びマウス50などの入力装置
にも結合されている。プリンタ60などの出力装
置をシステム・ユニツト30へ接続することもで
きる。さらに、システム・ユニツト30はデイス
ク駆動機構70などの1台または複数台のデイス
ク駆動機構を含んでいてもかまわない。以下で説
明するように、システム・ユニツト30は信号を
与えるためのキーボード40及びマウス50など
の入力装置、ならびにデイスク駆動機構70など
の入出力装置に応答して、モニタ20及びプリン
タ60などの出力装置を駆動する。もちろん、当
分野の技術者には、他の周知の構成要素もシステ
ム・ユニツト30に、これとの対話のために接続
できることが認識されよう。本発明によれば、マ
イクロコンピユータ・システム10は(以下で詳
細に説明するように)キヤツシユ・メモリ・サブ
システムを含んでおり、プロセツサ、キヤツシユ
制御装置及びキヤツシユ・メモリを相互接続し、
バツフアを介してシステム・バスに結合される
CPUローカル・バスが存在するようになつてい
る。キーボード40、マウス50、デイスク駆動
機構70、モニタ20及びプリンタ60などの入
出力装置に相互接続され、かつこれらと対話す
る。さらに、本発明によれば、システム・ユニツ
ト30はシステム・バスとその他の(オプシヨン
の)入出力装置、メモリなどとの間の相互接続の
ためにマイクロチヤネル・バスからなる第3のバ
スを含んでいることもできる。 第2図は本発明による典型的なマイクロコンピ
ユータ・システムの各種の構成要素を示す高レベ
ル・ブロツク図である。CPUローカル・バス2
30(データ、アドレス及び制御用の構成要素か
らなる)は、マイクロプロセツサ225(80386
など)、キヤツシユ制御装置260(82385など)、
及びランダム・アクセス・キヤツシユ・メモリ2
55の接続を行なう。CPUローカル・バス23
0には、バツフア240も結合されている。バツ
フア240自体はシステム・バス250に接続さ
れており、アドレス、データ及び制御用の構成要
素からなつている。システム・バス250はバツ
フア240及びもう1つのバツフア253の間を
延びている。 システム・バス250はバス制御及びタイミン
グ要素265、ならびにDMA制御装置325に
も接続されている。アービトレーシヨン制御バス
340はバス制御及びタイミング要素265なら
びに中央アービトレーシヨン要素335を結合し
ている。メモリ350もシステム・バス250に
接続されている。メモリ350はメモリ制御装置
351、アドレス・マルチプレクサ352及びデ
ータ・バツフア353を含んでいる。これらは第
2図に示すように、メモリ要素361ないし36
4によつて相互接続されている。 もう1つのバツフア254はシステム・バス2
50及びプレーナ・バス270の間に結合されて
いる。プレーナ・バス270はアドレス、データ
及び制御用それぞれの構成要素を含んでいる。プ
レーナ・バス270に沿つて、デイスプレイ・ア
ダプタ275(モニタ20を駆動するのに使用さ
れる)、クロツク280、追加のランダム・アク
セス・メモリ285、RS232アダプタ290(シ
リアル入出力動作に使用される)、プリンタ・ア
ダプタ295(プリンタ60を駆動するのに使用
できる)、タイマ300、デイスケツト・アダプ
タ305(デイスク駆動機構70と協働する)、
割込み制御装置310及び読取り専用メモリ
(ROM)315などの各種の入出力アダプタ及
びその他の構成要素が接続される。バツフア25
3はシステム・バス250と、マイクロチヤネ
ル・ソケツトで表されるマイクロチヤネル・バス
320などのオプシヨン機構バスとの間のインタ
フエースを提供する。メモリ331などの装置を
バス320に結合することもできる。 キヤツシユ書込み用のデータはメモリ350か
ら得られるが、このデータをマイクロチヤネル・
バスに設置したメモリなどの他のメモリから得る
こともできる。 第3図はインテルの刊行物「82385高性能32ビ
ツト・キヤツシユ制御装置(82385 High
Performance 32−Bit Cache Controller)」
(1987年)から取つたブロツク図である。第3図
は82385が内部に4つの構成要素、すなわちロー
カル・バス・インタフエース、プロセツサ・イン
タフエース、キヤツシユ制御及びキヤツシユ・デ
イレクトリを含んでいることを示している。キヤ
ツシユ・メモリの容量を増加するという本発明の
目的に意義があるのは、キヤツシユ・デイレクト
リが82385の内部にあることである。キヤツシ
ユ・デイレクトリの容量を変更することはできな
い。さらに、同様に重要なのは、キヤツシユ・デ
イレクトリの内容と、80386アドレス・バスから
キヤツシユ・デイレクトリに印加される情報との
間の変更がないことである。 従来技術はキヤツシユを編成し、キヤツシユ・
メモリと主メモリの間の関係を選択する多くの手
法を明らかにしている。一般的な手法の1つは直
接マツピングといわれるものであり、他の一般的
な手法は2ウエイ・セツト・アソシアテイブとい
われるものである。80386のアドレス・バスは32
ビツト幅であり、したがつて82385はアドレス指
定入力CCA0〜CCA31を有している。直接マ
ツピング・モードにおいて、キヤツシユ・デイレ
クトリは1024の26ビツト・レジスタを含んでい
る。1024のレジスタの各々は第4図に示すように
分割されている。ビツト0〜7(8ビツト)はキ
ヤツシユ制御要素によつて作成される。これらは
ライン有効ビツトであつて、キヤツシユの各ライ
ンに対応している。32KBのキヤツシユ(最大許
容量)を使用している82835に対してインテルが
推奨しているのは、直接マツプされたタグ・フイ
ールド・デイレクトリの1つの項目を、各4バイ
トの8つのデータ・ラインと関連付けることであ
る。ビツト8はタグ有効ビツトであつて、これも
キヤツシユ制御によつて作成される。ビツト9〜
25はアドレス・ビツトA31〜A15に対応して
おり、これらは80386アドレス・バスに提供され
るものとして直接記憶される。インテルが推奨し
ているアーキテクチヤにおいて、80386からのア
ドレス指定出力ビツトA2〜A31は直接、
82385の対応するアドレス入力、すなわちCCA2
〜CCA31に接続される。しかしながら、以下
で説明するように、本発明によれば、この推奨事
項を順守せず、実際には80386のアドレス出力ビ
ツトのいくつかと、82385のアドレス・バス入力
端子との間には「オフセツト」ないしシフトがあ
る。 アドレス・ビツトA14〜5はタグRAMデイ
レクトリをアドレスするのに使用される。当分野
の技術者には、これらの10ビツトが1024のレジス
タから1つを選択するのに充分であることが認識
できよう。アドレス・ビツトA4〜A2(3ビツ
ト)は8つのラインのうち1つを選択するのに使
用される。 第6図は2ウエイ・セツト・アソシアテイブ方
式のキヤツシユ・デイレクトリの編成を示してい
る。この編成において、1024のレジスタは半分に
分割され、512の27ビツト・レジスタをデイレク
トリAに、また残り512の27ビツト・レジスタを
デイレクトリBにもたらす。まず、デイレクトリ
Aの典型的なレジスタを参照すると、ビツト0〜
7はこの場合も8つのライン有効ビツトであり、
キヤツシユ制御装置によつて作成され、キヤツシ
ユ・デイレクトリに記憶される。各ライン有効ビ
ツトは4バイトのラインを表す。ビツト8はこの
場合もタグ有効ビツトであり、ビツト9〜26は
80386のアドレス・ビツトA31〜A14に対応
しており、これらは直接記憶され、選択されたペ
ージを示す。アドレス・ビツトA13〜A5(9
ビツト)はデイレクトリ中の512のレジスタから
1つを選択するのに充分なものである。デイレク
トリBは同様な態様で編成される。この場合も、
第4図に関して説明した編成と同様に、アドレ
ス・ビツトA2〜A4(3ビツト)はタグによつ
て表される8つのラインのうちの1つを選択する
のに充分なものである(この場合も、ラインは4
バイトである)。さらに、各タグ対に対し、LRU
(Least Recently Used)ビツトがある。このビ
ツトはキヤツシユ制御装置によつてセツトまたは
リセツトされ、次の入力をデイレクトリAまたは
デイレクトリBのいずれかに対して行なうかを示
す。 この一定の編成及びキヤツシユ・デイレクトリ
の一定の容量を与えた場合、ならびに80386アド
レス指定出力ビツト及び主メモリの間の不変の関
係を維持する必要性を与えた場合、本発明の目的
は64KBのキヤツシユをサポートするためのアー
キテクチヤを形成することである。直接マツプ・
タグ・アーキテクチヤの場合、1024のデイレクト
リ項目の各々は8つのラインを表す。各ラインが
4バイトであるから、当分野の技術者にはこのア
ーキテクチヤを使用したキヤツシユ・メモリの最
大容量が、どのようにして32KBになるかが理解
できよう。2ウエイ・セツト・アソシアテイブ・
アーキテクチヤ(第6図)は同一の結果をもたら
す。 本発明によれば、ライン・サイズは4バイトか
ら8バイトへ変更されている。第5図は直接マツ
プ・タグ・フイールドに対する対応したキヤツシ
ユ・デイレクトリ編成を示す。第5図に示すよう
に、ビツト0〜7はこの場合も8つのライン有効
ビツトを表している。これらのビツトは、各ライ
ンが4バイトか8バイトかには無関係に、キヤツ
シユ制御によつて書込み及び再書込みされる。ビ
ツト8はこの場合もタグ有効ビツトである。ライ
ンを選択するのにビツトA2〜A4を使用する代
わりに、ビツトA3〜A5を使用して、ラインを
選択する。結果として、ビツトA6〜A15を使
用して、キヤツシユ・デイレクトリのレジスタを
アドレスする(第4図に示した従来例で、ビツト
A5〜A14を使用するのと対照的である)。し
たがつて、デイレクトリは16ビツトのタグ・フイ
ールド、ビツトA16〜A31を含むようにな
る。上記のデータは次いでビツト位置0〜24を
占有し、ビツト位置25を空のまま残す。 第7図は、第5図が第4図に対するものであつ
たのと同様、第6図に対する同様な関係を示して
いる。詳細にいえば、各タグ・レジスタはこの場
合も8つのライン有効ビツトを有しているが、こ
れらの8つのライン有効ビツトの各々は4バイト
のラインではなく、8バイトのラインを表してい
る。ビツトA3〜A5は所与の8バイトのライン
を選択するのに使用される。8番目のビツトはこ
の場合もタグ有効ビツトである。ビツトA6〜A
14はタグ・レジスタをアドレスするために使用
される(第6図でビツトA5〜A13を使用する
のと対照的なものである)。したがつて、ビツト
A15〜A31(A14〜A31ではなく)は直
接記憶され、選択されたページを示す。 第1図には第2図の一部の詳細なブロツク図が
示されており、これは関連する信号と、第1図に
示されているいくつかの構成要素の間の相互接続
との関係を示している。詳細にいえば、第1図は
CPU225、キヤツシユ制御装置260、アド
レス・ラツチAL、データ・ラツチDL、バツフア
240の構成要素(第2図参照)、キヤツシユ・
メモリ255ならびに数種類の付加的な論理構成
要素を示している。これらの付加的な論理構成要
素はPAL C1、PAL C2,2入力ANDゲート
のセツトG1〜G7、ORゲート01及びラツチ
D1を含んでいる。 第1図は個別論理要素C1,C2,01及びG
1〜G7を示しているが、当分野の技術者には各
種の個別要素に各種の論理機能をパツケージする
際に、広い許容度があることが認識されよう。第
1図に示した明細は各種の個別要素に論理機能
を、どのようにパツケージするかについての指示
というよりも、明細のためのものである。 第1図のアーキテクチヤと、82385の製造業者
が推奨しているものとの間の2つの主たる相違は
キヤツシユ・メモリ255と、CPU225の出
力とキヤツシユ制御装置260との間の関係とに
ある。詳細にいえば、82385の製造業者はキヤツ
シユの最大容量が32KBであることを明確にして
いるが、キヤツシユ・メモリ255(すなわち、
スタテイツク・ランダム・アクセス・メモリ−
SRAM)は32KBのバンクAと同様な32KBのバ
ンクBに分割された、少なくとも64Kバイトの容
量を有している。 第1図の一番上に示されているように、CPU
225のアドレス出力ビツトA3〜A31はキヤ
ツシユ制御装置260のアドレス指定入力CCA
2〜CCA29及びCCA31に接続されている。
詳細にいえば、第1図はビツトA3〜A30が端
子CCA2〜CCA29に接続されており、端子A
31が端子CCA31に接続されていることを表
すことを目的としたものである。第1図に示すよ
うに、端子CCA30は接地されている。アドレ
ス・ビツトA2はPAL C2及びラツチD1に対
する入力を形成する。PAL C2の出力の1つは
信号NEWA2で、アドレス・ラツチALへ入力さ
れ、それによりアドレス・ラツチALはビツト
BA2〜BA31を出力できる。出力ビツトBA3
〜BA31は入力ビツトA3〜A31に完全に対
応しており、出力ビツトBA2は入力ビツト
NEWA2に対応している。 キヤツシユ・デイレクトリとマイクロコンピユ
ータ・システムのアドレス構造の間の関係がオフ
セツトされているため、スヌープ・バスにも注目
しなければならない。当分野の技術者には、キヤ
ツシユの一貫性を維持するために、キヤツシユ制
御装置260がメモリ書込み機能の可視性を有し
ていなければならないことが認識できよう。もち
ろん、制御装置260はCPU225のアドレス
指定出力及び制御出力との接続によつて、CPU
225に由来するメモリ書込み機能を認識でき
る。しかしながら、典型的なマイクロコンピユー
タ・システムにおいては、他の装置がメモリに対
する書込みを行なうこともでき、したがつてキヤ
ツシユ制御装置260には他の装置による主メモ
リへの書込みを監視するスヌープ機能を備えてい
る。オフセツトされた関係を維持するために、キ
ヤツシユ制御装置260のスヌープ入力端子SA
2〜SA22は、第1図に示すようにアドレス・
ビツトBA3〜BA23に接続されている。 前出の図面には明示されていないが、32KBの
キヤツシユ・メモリ(4バイトの項目として構成
されている)は13のアドレス指定ビツトを必要と
する。しかしながら、64KBのキヤツシユ・メモ
リ255は14のアドレス指定ビツトを必要とす
る。第1図に示したアドレス指定情報は、ラツチ
D1(12ビツト、A3〜A14)の出力によつて
与えられる。さらに、キヤツシユ255のアドレ
ス指定入力A0(13番目のビツト)はC2の
CACA2出力から与えられる。なお、14番目のビ
ツトの働きはキヤツシユ・イネーブルA(COEA
またはCWEA)またはキヤツシユ・イネーブル
B(COEBまたはCWEB)のいずれかを生成する
キヤツシユ制御装置によるバンク選択である。 キヤツシユ制御装置を用いる典型的なマイクロ
コンピユータ・システムが4バイトというライ
ン・サイズを採用している理由の1つは、デー
タ・バスの幅が、32ビツトだからである。デー
タ・バスの幅は、所与のメモリ・サイクルにおい
て、32ビツトをメモリから取り出すことができ、
それゆえキヤツシユの読取りミスに応じて、4バ
イトすなわち1イランの更新された情報を所与の
読取りサイクルにおいてキヤツシユに書き込める
ことを意味する。本発明の場合のように、4バイ
トから8バイトへライン・サイズを変更すること
の結果は、キヤツシユ読取りミスにおける1つの
ライン全体の更新を維持するために、他の変更を
行なわなければならないことを示唆する。本発明
の好ましい実施例において、PAL C1及びPAL
C2によつて与えられる追加の論理は、第2ない
し隠しメモリ・サイクルをもたらす。CPU22
5及びキヤツシユ制御装置260はこのメモリ・
サイクルを認識できない。それゆえ、読取りミス
は2つのメモリ・サイクルを発生する。2つのメ
モリ・サイクルの内の第1のサイクルにおいて、
アドレス出力A2は反転され(NEWA2)、32ビ
ツト・メモリ取出しにおいてアドレス・ビツトA
3〜A31とともに使用される。このメモリ・サ
イクルのデータは、キヤツシユ255に記憶され
る。その後、出力A2の効果は再度システム
(NEWA2)及びキヤツシユRAM255に渡さ
れる(ビツトA3〜A31とともに)。しかしな
がら、このサイクルにおいて、A2の効果はメモ
リからの32ビツトの第2のセツトをアドレスする
ために反転されることはない。第2のサイクル中
に読み取られたデータはプロセツサ225に提示
され、これもキヤツシユ255に記憶される。追
加のサイクルが代替アドレス・ストローブ信号
(MISS1)を発生することによつて生成される。
MISS1はシステム・バス・インタフエース装置
(マイクロチヤネルまたはその他のシステム・バ
ス)及びローカル・バス・メモリ・インタフエー
スによつて、代替BADS(82385アドレス・ストロ
ーブ)信号として使用される。この追加ないし隠
しサイクルはシステム・インタフエースに対する
パイプライン式プロセツサ・サイクルとみなさ
れ、したがつてBADSまたはMISS1はバス・サ
イクルを開始できる。 MISS1は本発明の好ましい実施例にしたがつ
て追加ないし隠しサイクルを生成するために使用
されるが、代替構成として64ビツト幅のデータ・
バスを用いた場合は、追加ないし隠しサイクルは
不必要となる。すなわち、単一のメモリ・サイク
ルは8バイトのラインに対応する64ビツトのデー
タを取り出すこととなる。64バイトのメモリ・イ
ンタフエースを使用することの欠点は、CPU2
25に対して適切なデータをゲートするのに必要
となる余分なクロス・オーバ・バツフアのため、
より高速なDRAM及びSRAMが必要なことであ
る。 隠しサイクルをCPU225及びキヤツシユ制
御装置260に対して透過性に維持するために、
(システムからの)BREADY信号を第2の読取
りミス・バス・サイクル(BADSによつて生成さ
れたサイクル及びMISS1によつて生成された追
加のサイクルの両方)の終了まで、活動状態に保
持する。第1読取りサイクルで読み取られた最初
の32ビツトのデータは、PAL C2からの
SRAMCS2(チツプ選択)信号によつてキヤツ
シユ255に記憶される。この信号はキヤツシユ
255のチツプ選択入力CE2S(アクテイブ・ハ
イ)に結合される。SRAMCS2は通常は活動状
態であり、キヤツシユ記憶可能読取りミスの第1
読取りサイクルの終了時に非活動状態となる。
1CLK2クロツク・サイクル後に再度活動となる。 信号NEWA2、/MISS1、/NEWLA
2、/CPUNA、SRAMCS2、/CACA2及び
NACACHEを8つの論理式で以下で定義する。 本明細書で使用する記号は以下の意味を有して
いる。 記号 定義 / 否定 := 登録済み項目、…に等しい = 組合せ項目、…に等しい & 論理積 + 論理和 $ 排他的論理和(XOR) NEWA2=CA2$(NCA&/CWR&MISS1&
SRAMCS2) /MIS1:= MISS1&BUSCYC385&CPUNA&/BADS&/
(BW/R)& CLK&NCA +MISS1&/BUSCYC385&/BADS&/
(BW/R)&CLK &NCA&/BREADY +/MISS1&/CLK +MISS1&BREADY /NEWLA2:=/CA2&MISS1&CPUNA&
CLK +MISS1&/BUSCYC385&/BADS&/
(BW/R)&CLK &NCA&/BREADY&/CA2 +/NEWLA2&/MISS1&CLK +/NEWLA2&MISS1&/CPUNA&CLK&
BREADY +/NEWLA2&/CLK +/NEWLA2&MISS1&CPUNA&CLK&
BUSCYC385 /CPUNA:=/MISS1&CLK&CPUNA&/
NACACHE +/MISS1&CLK&CPUNA&/BREADY& /BUSCYC385 +/CPUNA&/CLK +/CPUNA&/MISS1&CLK +/CPUNA&CLK&BREADY +/CPUNA&CLK&BUSCYC385&
NACACHE SRAMCS2:= SRAMCS2&MISS1&/BREADY&/
BUSCYC385&CLK /CACA2=/NEWLA2&/CPUNA&MISS1 +NEWLA2&/MISS1 +/CA2&MISS1&CPUNA&CLK +/NEWLA2&MISS1&CPUNA&/CLK +/NEWLA2&MISS1&CPUNA&/CA2 /NACACHE=/CASGATE +MISS1&/CMD +RESET ただし、/CASGATEは活動主メモリ・サイ
クル(アクテイブ・ロー)を示し、/CMDはシ
ステム・バス以外のバスの、活動サイクル(アク
テイブ・ロー)を示す。なお、「アクテイブ・ロ
ー)は低レベルが活動状態を表すことを意味す
る。 上記において、 BREADYはバス上のサイクルが完了している
ことを示す、システム・バスからの信号(アクテ
イブ・ロー)である。 CA2はCPU225のA2出力を表す。 BADSはキヤツシユ制御装置260からのイン
テルが定義したアドレス・ストローブ(アクテイ
ブ・ロー)である。 CLKはインテルが定義したクロツク信号を表
す。 RESETはインテルが定義したリセツト信号
(アクテイブ・ハイ)である。 NCAは特開平2−18640、特開平2−18657な
どにおいて定義したキヤツシユ記憶不能アクセス
を表す。 BUSCYC385は上記公開公報において定義
した他の信号である。 第1表はいくつかのCPU読取りコマンド、キ
ヤツシユ・デイレクトリで生じる結果、及び特に
ライン有効バイト、ならびに結果として生じる動
作の例である。第1表の例は、ステツプ1の前
に、キヤツシユ・メモリがフラツシユされ、した
がつてステツプ1の前に、デイレクトリ全体が無
効となつているということを仮定して与えられた
ものである。
【表】
ステツプ1はアドレス0で読取りコマンド
(Rd)を実行するCPU255を示す。結果欄にお
いて、第1表は2つのメモリ取出しが行なわれた
ことを示している。一方のメモリ取出しにおい
て、dword0(4バイト)が取り出され、キヤツシ
ユに記憶される。その後、dword4に対するもう
一方のメモリ取出し(これも4バイトである)も
行なわれ、キヤツシユに記憶される。キヤツシ
ユ・デイレクトリ(第2の欄を参照)はデイレク
トリ・アドレス0に対してセツトされたタグ有効
ビツトを有しており、キヤツシユ制御装置によつ
て更新された後のライン有効バイトは11111110で
ある。 ステツプ2はメモリ・アドレス4を読み取るた
めにCPUによつて実行されるコマンドである。
従来技術の手法によれば、最初のメモリ取出し
(ステツプ1)は4バイト(0〜3)しか取出し
ていないのであるから、これはキヤツシユ・ミス
になる。しかしながら、本発明によれば、ステツ
プ1の結果として実施される2つの読取りメモ
リ・サイクルがアドレスされたメモリ位置の内容
をキヤツシユ・メモリに供給している。したがつ
て、このコマンドはキヤツシユ・ヒツトをもたら
し、キヤツシユ・デイレクトリに変更は行なわれ
ず、またデータがキヤツシユ・メモリからアクセ
スされるので、それ以上のデータは主メモリから
読み取られない。 ステツプ3はアドレス8におけるCPU読取り
を示している。これも2つのメモリ・サイクル、
すなわちまずdword8(4バイト)を、次いで
dword CH(他の4バイト)をもたらす。キヤツシ
ユ・デイレクトリは第1表のライン有効バイト欄
に示すように更新されたライン有効バイトを有し
ている。 第1図及びNEWA2に対する論理式を参照す
ると、第1図から、アドレス・ラツチALからの
アドレス・バス(BA2〜B31)出力が、直接
CPU225からのアドレス指定ビツトA3〜A
31、及びA2導線上の信号NEWA2を含んで
いることが明らかとなろう。信号NEWA2は
PAL C2で発生され、最初の論理式がこの信号
を定義する。当分野の技術者には、上記の説明か
ら、信号MISS1が隠しメモリ読取りサイクル中
は一方の状態にあり、隠しメモリ読取りサイクル
以外の読取りサイクルにおいて他方の状態にある
ことが理解されよう。結果として、項CA2は一
定となりうるが、信号NEWA2は隠し読取りサ
イクル中は一方の状態になり、他の読取りサイク
ルにおいて他方の状態となる。このことは隠しサ
イクルにおける反転A2ビツト、及び他のメモリ
読取りサイクルにおける非反転A2ビツトの両方
を提供する。換言すると、C2によるNEWA2
の操作はシステム・アドレス・バス(ALのBA
2〜BA31出力)に、CPU225によつて発生
されないアドレスを供給する。特に、隠しサイク
ル中、NEWA2=/A2であり、これはCPU22
5によつて発生されないアドレス・ビツトであ
る。 上記から明らかなように、キヤツシユ・ミスに
よつて発生する(及び/MISS1)によつて実施
される)隠し読取りサイクルが必要な理由は、新
しいライン・サイズ(8バイト)に適合するの
に、データバスの幅が充分なものでないからであ
る。したがつて、データ・バスがライン・サイズ
に適合するに充分なものであれば、隠しバス・サ
イクルを省略することができる。 /MISS1に対する式の最初の2つの項は、
「隠し」サイクルを発生するための条件を示して
いる。高レベルの/NCAは指定されたアドレス
がキヤツシユ記憶可能であることを示している。
活動状態の/BADSはキヤツシユ・ミスまたはキ
ヤツシユ記憶不能サイクルのいずれかを示す。し
かしながら、NCAと/BADSの共同活動はキヤ
ツシユ・ミスに固有のものである。さらに、活動
状態の/(BW/R)は読取りを示す。それゆ
え、3つの信号はまともつて、「隠し」サイクル
を生成するための条件とまつたく同様に、キヤツ
シユ読取りミスに固有のものである。最初の項は
非パイプライン・サイクル(CPUNA)に対して
作用し、第2の項はパイプライン・サイクル
(BREADY)に対して作用する。最後の2つの
項は適切な時期に/MISS1を終了させる働きが
ある。 CPUからの所与の読取りミスでNEWA2をト
グルさせることによつて、2つのアドレス、すな
わち「隠し」サイクルのアドレスと、CPUによ
つて開始された読取りミスに対するアドレスを生
成する(一方のアドレスは高レベルのNEWA2
で生成され、もう一方のアドレスは低レベルの
NEWA2で生成される)のと同様に、キヤツシ
ユ255に対するアドレス指定もトグルしなけれ
ばならない。換言すると、キヤツシユ読取りミス
はキヤツシユ書込みをもたらす。CPU225及
びキヤツシユ制御装置260は1サイクルしか認
識しないので、これらは単一のキヤツシユ・アド
レスのみを生成する。CPUからのA2アドレ
ス・ビツトはキヤツシユ255のアドレス入力に
直接達することはない。むしろ、A2の効果が
CACA2ビツトによつて再生される。しかしなが
ら、NEWA2がシステム・バス上のアドレスを
トグルするのと同様、このビツトもトグルする。
NEWAL2が生成され、CPUのA2ビツトを再
生する。CACA2のトグルはMISS1の変更状態
によつて生じる。 同様な理由で、SRAMCS2も生成される。キ
ヤツシユに対する追加のアドレス入力(CPUに
よつて生成されないもの)を生成する他に、キヤ
ツシユ制御装置によつて生成される単一のサイク
ルから、キヤツシユ255に対する2つの制御サ
イクルを生成することも必要である。これは
SRAMCS2の関数である。SRAMC2は最初の
サイクル、すなわち「隠し」サイクルの終了時に
トグルし、キヤツシユ・メモリ255に対する第
2のサイクルを開始する。 前期公開公報に定義するように、CPUNAは活
動化された場合に、CPUがサイクルをパイプラ
イン化することを可能とする信号である。「隠し」
サイクルの完了がCPUNAの活動化を許さないこ
とを確実にするため、CPUNAはMISS1の関数
になつている。この作用は、読取りミス・シーケ
ンス(2つのサイクルからなる)の後半を完了す
る前に、CPUがパイプライン・サイクルでオフ
になるのを防止する。 E 発明の効果 本発明の好ましい実施例を82385キヤツシユ制
御装置に関して説明したが、当分野の技術者に
は、本発明の原理を用いて、他のキヤツシユ制御
装置によつてサポートされるキヤツシユ・メモリ
を本明細書に記載する手法によつて、すなわち
CPUのアドレス出力とキヤツシユ制御装置のア
ドレス入力の間の関係をシフトすることによつ
て、増加できることが理解されよう。サポートさ
れるキヤツシユ・メモリのこの増加は、ライン・
サイズを増やすことによつて達成されるが、キヤ
ツシユ制御装置の内部キヤツシユ・デイレクトリ
または他の内部構成要素に対する変更を必要とし
ない。データ・バスが新しいライン・サイズで単
一サイクルの転送をサポートできるマイクロコン
ピユータ・システムにおいては、本発明の他の手
法、すなわち隠し読取りサイクルを使用する必要
はない。他方において、キヤツシユ容量の増加が
データ・バスの幅よりも大きいライン・サイズを
必要とするな場合には、本明細書で説明した隠し
読取りサイクルを導入する手法をこの問題を解決
するのに用いることもできる。理論的には、隠し
読取りサイクルを1サイクルに限る理由はない。
すなわち、適切なアドレスのオフセツト及び複数
の隠しサイクルによつて、サポートされるキヤツ
シユ容量を、本明細書で説明した100%(32KB
から64KBへの)の増加以上に増加させることが
できる。 上記したところより、本発明の精神及び範囲内
で、本明細書に記載した好ましい実施例に多くの
変更を行なつて、所与のキヤツシユ制御装置のサ
ポートされるキヤツシユ容量を増やせることが明
らかであろう。
(Rd)を実行するCPU255を示す。結果欄にお
いて、第1表は2つのメモリ取出しが行なわれた
ことを示している。一方のメモリ取出しにおい
て、dword0(4バイト)が取り出され、キヤツシ
ユに記憶される。その後、dword4に対するもう
一方のメモリ取出し(これも4バイトである)も
行なわれ、キヤツシユに記憶される。キヤツシ
ユ・デイレクトリ(第2の欄を参照)はデイレク
トリ・アドレス0に対してセツトされたタグ有効
ビツトを有しており、キヤツシユ制御装置によつ
て更新された後のライン有効バイトは11111110で
ある。 ステツプ2はメモリ・アドレス4を読み取るた
めにCPUによつて実行されるコマンドである。
従来技術の手法によれば、最初のメモリ取出し
(ステツプ1)は4バイト(0〜3)しか取出し
ていないのであるから、これはキヤツシユ・ミス
になる。しかしながら、本発明によれば、ステツ
プ1の結果として実施される2つの読取りメモ
リ・サイクルがアドレスされたメモリ位置の内容
をキヤツシユ・メモリに供給している。したがつ
て、このコマンドはキヤツシユ・ヒツトをもたら
し、キヤツシユ・デイレクトリに変更は行なわれ
ず、またデータがキヤツシユ・メモリからアクセ
スされるので、それ以上のデータは主メモリから
読み取られない。 ステツプ3はアドレス8におけるCPU読取り
を示している。これも2つのメモリ・サイクル、
すなわちまずdword8(4バイト)を、次いで
dword CH(他の4バイト)をもたらす。キヤツシ
ユ・デイレクトリは第1表のライン有効バイト欄
に示すように更新されたライン有効バイトを有し
ている。 第1図及びNEWA2に対する論理式を参照す
ると、第1図から、アドレス・ラツチALからの
アドレス・バス(BA2〜B31)出力が、直接
CPU225からのアドレス指定ビツトA3〜A
31、及びA2導線上の信号NEWA2を含んで
いることが明らかとなろう。信号NEWA2は
PAL C2で発生され、最初の論理式がこの信号
を定義する。当分野の技術者には、上記の説明か
ら、信号MISS1が隠しメモリ読取りサイクル中
は一方の状態にあり、隠しメモリ読取りサイクル
以外の読取りサイクルにおいて他方の状態にある
ことが理解されよう。結果として、項CA2は一
定となりうるが、信号NEWA2は隠し読取りサ
イクル中は一方の状態になり、他の読取りサイク
ルにおいて他方の状態となる。このことは隠しサ
イクルにおける反転A2ビツト、及び他のメモリ
読取りサイクルにおける非反転A2ビツトの両方
を提供する。換言すると、C2によるNEWA2
の操作はシステム・アドレス・バス(ALのBA
2〜BA31出力)に、CPU225によつて発生
されないアドレスを供給する。特に、隠しサイク
ル中、NEWA2=/A2であり、これはCPU22
5によつて発生されないアドレス・ビツトであ
る。 上記から明らかなように、キヤツシユ・ミスに
よつて発生する(及び/MISS1)によつて実施
される)隠し読取りサイクルが必要な理由は、新
しいライン・サイズ(8バイト)に適合するの
に、データバスの幅が充分なものでないからであ
る。したがつて、データ・バスがライン・サイズ
に適合するに充分なものであれば、隠しバス・サ
イクルを省略することができる。 /MISS1に対する式の最初の2つの項は、
「隠し」サイクルを発生するための条件を示して
いる。高レベルの/NCAは指定されたアドレス
がキヤツシユ記憶可能であることを示している。
活動状態の/BADSはキヤツシユ・ミスまたはキ
ヤツシユ記憶不能サイクルのいずれかを示す。し
かしながら、NCAと/BADSの共同活動はキヤ
ツシユ・ミスに固有のものである。さらに、活動
状態の/(BW/R)は読取りを示す。それゆ
え、3つの信号はまともつて、「隠し」サイクル
を生成するための条件とまつたく同様に、キヤツ
シユ読取りミスに固有のものである。最初の項は
非パイプライン・サイクル(CPUNA)に対して
作用し、第2の項はパイプライン・サイクル
(BREADY)に対して作用する。最後の2つの
項は適切な時期に/MISS1を終了させる働きが
ある。 CPUからの所与の読取りミスでNEWA2をト
グルさせることによつて、2つのアドレス、すな
わち「隠し」サイクルのアドレスと、CPUによ
つて開始された読取りミスに対するアドレスを生
成する(一方のアドレスは高レベルのNEWA2
で生成され、もう一方のアドレスは低レベルの
NEWA2で生成される)のと同様に、キヤツシ
ユ255に対するアドレス指定もトグルしなけれ
ばならない。換言すると、キヤツシユ読取りミス
はキヤツシユ書込みをもたらす。CPU225及
びキヤツシユ制御装置260は1サイクルしか認
識しないので、これらは単一のキヤツシユ・アド
レスのみを生成する。CPUからのA2アドレ
ス・ビツトはキヤツシユ255のアドレス入力に
直接達することはない。むしろ、A2の効果が
CACA2ビツトによつて再生される。しかしなが
ら、NEWA2がシステム・バス上のアドレスを
トグルするのと同様、このビツトもトグルする。
NEWAL2が生成され、CPUのA2ビツトを再
生する。CACA2のトグルはMISS1の変更状態
によつて生じる。 同様な理由で、SRAMCS2も生成される。キ
ヤツシユに対する追加のアドレス入力(CPUに
よつて生成されないもの)を生成する他に、キヤ
ツシユ制御装置によつて生成される単一のサイク
ルから、キヤツシユ255に対する2つの制御サ
イクルを生成することも必要である。これは
SRAMCS2の関数である。SRAMC2は最初の
サイクル、すなわち「隠し」サイクルの終了時に
トグルし、キヤツシユ・メモリ255に対する第
2のサイクルを開始する。 前期公開公報に定義するように、CPUNAは活
動化された場合に、CPUがサイクルをパイプラ
イン化することを可能とする信号である。「隠し」
サイクルの完了がCPUNAの活動化を許さないこ
とを確実にするため、CPUNAはMISS1の関数
になつている。この作用は、読取りミス・シーケ
ンス(2つのサイクルからなる)の後半を完了す
る前に、CPUがパイプライン・サイクルでオフ
になるのを防止する。 E 発明の効果 本発明の好ましい実施例を82385キヤツシユ制
御装置に関して説明したが、当分野の技術者に
は、本発明の原理を用いて、他のキヤツシユ制御
装置によつてサポートされるキヤツシユ・メモリ
を本明細書に記載する手法によつて、すなわち
CPUのアドレス出力とキヤツシユ制御装置のア
ドレス入力の間の関係をシフトすることによつ
て、増加できることが理解されよう。サポートさ
れるキヤツシユ・メモリのこの増加は、ライン・
サイズを増やすことによつて達成されるが、キヤ
ツシユ制御装置の内部キヤツシユ・デイレクトリ
または他の内部構成要素に対する変更を必要とし
ない。データ・バスが新しいライン・サイズで単
一サイクルの転送をサポートできるマイクロコン
ピユータ・システムにおいては、本発明の他の手
法、すなわち隠し読取りサイクルを使用する必要
はない。他方において、キヤツシユ容量の増加が
データ・バスの幅よりも大きいライン・サイズを
必要とするな場合には、本明細書で説明した隠し
読取りサイクルを導入する手法をこの問題を解決
するのに用いることもできる。理論的には、隠し
読取りサイクルを1サイクルに限る理由はない。
すなわち、適切なアドレスのオフセツト及び複数
の隠しサイクルによつて、サポートされるキヤツ
シユ容量を、本明細書で説明した100%(32KB
から64KBへの)の増加以上に増加させることが
できる。 上記したところより、本発明の精神及び範囲内
で、本明細書に記載した好ましい実施例に多くの
変更を行なつて、所与のキヤツシユ制御装置のサ
ポートされるキヤツシユ容量を増やせることが明
らかであろう。
第1図は、本発明の一実施例を示すブロツク図
である。第2図は、本発明を用いた典型的なマイ
クロコンピユータ・システムのブロツク図であ
る。第3図は、82385などのキヤツシユ制御装置
の内部構成を示すブロツク図である。第4図は、
従来技術の直接マツプ・キヤツシユ編成に対する
第3図のキヤツシユ・デイレクトリの典型的なタ
グ・レジスタの内容を示す図である。第5図は、
本発明を使用した場合の直接マツプ・キヤツシユ
編成に対する第3図のキヤツシユ・デイレクトリ
の典型的なタグ・レジスタの内容を示す図であ
る。第6図は、従来技術の2ウエイ・セツト・ア
ソシアテイブ・キヤツシユ編成に対する第3図の
キヤツシユ・デイレクトリのデイレクトリA及び
デイレクトリBの典型的なタグ・レジスタの内容
を示す図である。第7図は、本発明を用いた場合
の2ウエイ・セツト・アソシアテイブ・キヤツシ
ユ編成に対する第3図のキヤツシユ・デイレクト
リのデイレクトリA及びデイレクトリBの典型的
なタグ・レジスタの内容を示す図である。第8図
は、本発明を用いた典型的なマイクロコンピユー
タ・システムの全体的な図である。 10……マイクロコンピユータ・システム、2
0……モニタ、30……システム装置、40……
キーボード、50……マウス、60……プリン
タ、70……デイスク駆動機構、225……マイ
クロプロセツサ、230……CPUローカル・バ
ス、240,253……バツフア、250……シ
ステム・バス、255……ランダム・アクセス・
キヤツシユ・メモリ、260……キヤツシユ制御
装置、265……バス制御及びタイミング要素、
270……プレーナ・バス、325……DMA制
御装置、335……中央アービトレーシヨン要
素、340……アービトレーシヨン制御バス、3
50……メモリ、351……メモリ制御要素、3
52……アドレス・マルチプレクサ、360……
データ・バツフア。
である。第2図は、本発明を用いた典型的なマイ
クロコンピユータ・システムのブロツク図であ
る。第3図は、82385などのキヤツシユ制御装置
の内部構成を示すブロツク図である。第4図は、
従来技術の直接マツプ・キヤツシユ編成に対する
第3図のキヤツシユ・デイレクトリの典型的なタ
グ・レジスタの内容を示す図である。第5図は、
本発明を使用した場合の直接マツプ・キヤツシユ
編成に対する第3図のキヤツシユ・デイレクトリ
の典型的なタグ・レジスタの内容を示す図であ
る。第6図は、従来技術の2ウエイ・セツト・ア
ソシアテイブ・キヤツシユ編成に対する第3図の
キヤツシユ・デイレクトリのデイレクトリA及び
デイレクトリBの典型的なタグ・レジスタの内容
を示す図である。第7図は、本発明を用いた場合
の2ウエイ・セツト・アソシアテイブ・キヤツシ
ユ編成に対する第3図のキヤツシユ・デイレクト
リのデイレクトリA及びデイレクトリBの典型的
なタグ・レジスタの内容を示す図である。第8図
は、本発明を用いた典型的なマイクロコンピユー
タ・システムの全体的な図である。 10……マイクロコンピユータ・システム、2
0……モニタ、30……システム装置、40……
キーボード、50……マウス、60……プリン
タ、70……デイスク駆動機構、225……マイ
クロプロセツサ、230……CPUローカル・バ
ス、240,253……バツフア、250……シ
ステム・バス、255……ランダム・アクセス・
キヤツシユ・メモリ、260……キヤツシユ制御
装置、265……バス制御及びタイミング要素、
270……プレーナ・バス、325……DMA制
御装置、335……中央アービトレーシヨン要
素、340……アービトレーシヨン制御バス、3
50……メモリ、351……メモリ制御要素、3
52……アドレス・マルチプレクサ、360……
データ・バツフア。
Claims (1)
- 【特許請求の範囲】 1 複数桁のアドレス指定出力を有するCPUと、
複数桁のアドレス指定入力を有し、キヤツシユ・
デイレクトリを含むキヤツシユ制御装置及びキヤ
ツシユ・メモリを備えたキヤツシユ・サブシステ
ムと、前記CPU、キヤツシユ・サブシステム及
び主メモリを結合するシステム・バスとを具備し
たマイクロコンピユータ・システムにおいて、 前記CPUからのアドレス指定出力のうち最低
位桁からの何桁かを除いた各アドレス指定出力
は、前記キヤツシユ制御装置のアドレス指定入力
の対応桁位置よりも少なくとも1桁だけ低位桁に
接続されており、 前記キヤツシユ制御装置のアドレス指定入力に
接続されていないCPUの低位アドレス指定出力
は、アドレス論理生成手段へ印加され、倍拡張さ
れたキヤツシユ・メモリに対して半ラインデー
タ・サイズでアクセスするための低位アドレス指
定入力を生成するように結合されており、 不変のデイレクトリ・アドレス空間の下で公称
データ容量の倍容量のキヤツシユ・メモリをサポ
ートできるように構成されている上記マイクロコ
ンピユータ・システム。 2 キヤツシユ読取りミスに応答して追加の隠し
読取りサイクルを開始する手段を含む前記請求項
1に記載のマイクロコンピユータ・システム。 3 前記CPUのアドレス指定出力A3〜A30
を前記キヤツシユ制御装置のアドレス指定入力
CCA2〜CCA29に接続し、アドレス指定出力
A2を前記アドレス論理生成手段に接続している
前記請求項1に記載のマイクロコンピユータ・シ
ステム。 4 前記アドレス論理生成手段は、キヤツシユ読
取りミスに応答して開始した2つのメモリ・サイ
クルの第1サイクルでは前記アドレス指定出力A
2を反転出力する一方、第2サイクルでは非反転
出力する前記請求項3に記載のマイクロコンピユ
ータ・システム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US35880789A | 1989-05-31 | 1989-05-31 | |
| US358807 | 1989-05-31 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0319050A JPH0319050A (ja) | 1991-01-28 |
| JPH0581941B2 true JPH0581941B2 (ja) | 1993-11-16 |
Family
ID=23411123
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2140168A Granted JPH0319050A (ja) | 1989-05-31 | 1990-05-31 | マイクロコンピユータ・システム |
Country Status (12)
| Country | Link |
|---|---|
| US (1) | US5450559A (ja) |
| EP (1) | EP0400839A3 (ja) |
| JP (1) | JPH0319050A (ja) |
| KR (1) | KR920008456B1 (ja) |
| CN (1) | CN1020005C (ja) |
| AU (1) | AU627304B2 (ja) |
| BR (1) | BR9002555A (ja) |
| CA (1) | CA2016399C (ja) |
| GB (1) | GB9008145D0 (ja) |
| NZ (1) | NZ233539A (ja) |
| PH (1) | PH30307A (ja) |
| SG (1) | SG42806A1 (ja) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU664249B2 (en) * | 1992-04-01 | 1995-11-09 | Nec Corporation | Memory device |
| US5828856A (en) * | 1994-01-28 | 1998-10-27 | Apple Computer, Inc. | Dual bus concurrent multi-channel direct memory access controller and method |
| US5805927A (en) * | 1994-01-28 | 1998-09-08 | Apple Computer, Inc. | Direct memory access channel architecture and method for reception of network information |
| US5655151A (en) * | 1994-01-28 | 1997-08-05 | Apple Computer, Inc. | DMA controller having a plurality of DMA channels each having multiple register sets storing different information controlling respective data transfer |
| US5550543A (en) * | 1994-10-14 | 1996-08-27 | Lucent Technologies Inc. | Frame erasure or packet loss compensation method |
| US6249845B1 (en) | 1998-08-19 | 2001-06-19 | International Business Machines Corporation | Method for supporting cache control instructions within a coherency granule |
| CN100578468C (zh) * | 2007-02-05 | 2010-01-06 | 纬创资通股份有限公司 | 存取存储器信息的方法 |
| FI121943B (fi) * | 2007-11-21 | 2011-06-15 | Outotec Oyj | Jakelulaite |
| GB2547189A (en) * | 2016-02-03 | 2017-08-16 | Swarm64 As | Cache and method |
Family Cites Families (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4056845A (en) * | 1975-04-25 | 1977-11-01 | Data General Corporation | Memory access technique |
| US4317168A (en) * | 1979-11-23 | 1982-02-23 | International Business Machines Corporation | Cache organization enabling concurrent line castout and line fetch transfers with main storage |
| US4315312A (en) * | 1979-12-19 | 1982-02-09 | Ncr Corporation | Cache memory having a variable data block size |
| US4332010A (en) * | 1980-03-17 | 1982-05-25 | International Business Machines Corporation | Cache synonym detection and handling mechanism |
| US4381541A (en) * | 1980-08-28 | 1983-04-26 | Sperry Corporation | Buffer memory referencing system for two data words |
| US4400774A (en) * | 1981-02-02 | 1983-08-23 | Bell Telephone Laboratories, Incorporated | Cache addressing arrangement in a computer system |
| JPS5819970A (ja) * | 1981-07-30 | 1983-02-05 | Fujitsu Ltd | メモリアクセス制御方式 |
| JPS58147879A (ja) * | 1982-02-26 | 1983-09-02 | Toshiba Corp | キヤツシユメモリ制御方式 |
| US4493026A (en) * | 1982-05-26 | 1985-01-08 | International Business Machines Corporation | Set associative sector cache |
| US4669043A (en) * | 1984-02-17 | 1987-05-26 | Signetics Corporation | Memory access controller |
| US4577293A (en) * | 1984-06-01 | 1986-03-18 | International Business Machines Corporation | Distributed, on-chip cache |
| JPS6113354A (ja) * | 1984-06-28 | 1986-01-21 | Nec Corp | 分散情報キヤツシユ制御方式 |
| JPS6120155A (ja) * | 1984-07-06 | 1986-01-28 | Nec Corp | メモリアクセス制御装置 |
| JPS61231641A (ja) * | 1985-04-05 | 1986-10-15 | Nec Corp | キヤツシユ制御方式 |
| JPS6261135A (ja) * | 1985-09-11 | 1987-03-17 | Nec Corp | キヤツシユメモリ |
| JPS6267650A (ja) * | 1985-09-19 | 1987-03-27 | Nec Corp | キヤツシユメモリ制御装置におけるストア処理方式 |
| JPS62118456A (ja) * | 1985-11-19 | 1987-05-29 | Nec Corp | キヤツシユメモリ |
| JPS62194563A (ja) * | 1986-02-21 | 1987-08-27 | Hitachi Ltd | バツフア記憶装置 |
| US4797814A (en) * | 1986-05-01 | 1989-01-10 | International Business Machines Corporation | Variable address mode cache |
| JPS6324428A (ja) * | 1986-07-17 | 1988-02-01 | Mitsubishi Electric Corp | キヤツシユメモリ |
| JPH0673114B2 (ja) * | 1987-03-31 | 1994-09-14 | 日本電気株式会社 | キヤツシユ制御装置 |
| US5091850A (en) * | 1987-09-28 | 1992-02-25 | Compaq Computer Corporation | System for fast selection of non-cacheable address ranges using programmed array logic |
| US4905188A (en) * | 1988-02-22 | 1990-02-27 | International Business Machines Corporation | Functional cache memory chip architecture for improved cache access |
| US5034917A (en) * | 1988-05-26 | 1991-07-23 | Bland Patrick M | Computer system including a page mode memory with decreased access time and method of operation thereof |
| US5045998A (en) * | 1988-05-26 | 1991-09-03 | International Business Machines Corporation | Method and apparatus for selectively posting write cycles using the 82385 cache controller |
| US4947319A (en) * | 1988-09-15 | 1990-08-07 | International Business Machines Corporation | Arbitral dynamic cache using processor storage |
| US5041962A (en) * | 1989-04-14 | 1991-08-20 | Dell Usa Corporation | Computer system with means for regulating effective processing rates |
| EP0398191A3 (en) * | 1989-05-19 | 1991-11-27 | Compaq Computer Corporation | Quadruple word, multiplexed, paged mode and cache memory |
-
1990
- 1990-04-10 GB GB909008145A patent/GB9008145D0/en active Pending
- 1990-05-02 NZ NZ233539A patent/NZ233539A/en unknown
- 1990-05-03 PH PH40475A patent/PH30307A/en unknown
- 1990-05-09 CA CA002016399A patent/CA2016399C/en not_active Expired - Fee Related
- 1990-05-15 AU AU55060/90A patent/AU627304B2/en not_active Ceased
- 1990-05-16 SG SG1995002115A patent/SG42806A1/en unknown
- 1990-05-16 EP EP19900305296 patent/EP0400839A3/en not_active Withdrawn
- 1990-05-22 KR KR1019900007310A patent/KR920008456B1/ko not_active Expired
- 1990-05-24 CN CN90103768A patent/CN1020005C/zh not_active Expired - Lifetime
- 1990-05-30 BR BR909002555A patent/BR9002555A/pt unknown
- 1990-05-31 JP JP2140168A patent/JPH0319050A/ja active Granted
-
1991
- 1991-10-07 US US07/771,528 patent/US5450559A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| KR900018821A (ko) | 1990-12-22 |
| KR920008456B1 (ko) | 1992-09-30 |
| GB9008145D0 (en) | 1990-06-06 |
| AU627304B2 (en) | 1992-08-20 |
| EP0400839A2 (en) | 1990-12-05 |
| PH30307A (en) | 1997-03-06 |
| CA2016399A1 (en) | 1990-11-30 |
| NZ233539A (en) | 1992-08-26 |
| CN1047741A (zh) | 1990-12-12 |
| EP0400839A3 (en) | 1991-12-11 |
| AU5506090A (en) | 1990-12-06 |
| JPH0319050A (ja) | 1991-01-28 |
| CA2016399C (en) | 1996-04-09 |
| CN1020005C (zh) | 1993-03-03 |
| US5450559A (en) | 1995-09-12 |
| BR9002555A (pt) | 1991-08-13 |
| SG42806A1 (en) | 1997-10-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0192202B1 (en) | Memory system including simplified high-speed data cache | |
| JP3765586B2 (ja) | 多重プロセッサコンピューターシステムのアーキテクチャ | |
| US5870568A (en) | Double buffering operations between the memory bus and the expansion bus of a computer system | |
| US5249284A (en) | Method and system for maintaining data coherency between main and cache memories | |
| US5303364A (en) | Paged memory controller | |
| US5301298A (en) | Processor for multiple cache coherent protocols | |
| JPH05314779A (ja) | 連想メモリセルおよび連想メモリ回路 | |
| JPH06101225B2 (ja) | コンピユータ・システム、コンピユータ・システム中のメモリの読取方法及び転送方法、メモリ制御の方法及びメモリ・コントローラ | |
| JPH02189659A (ja) | 仮想記憶動的アドレス変換システム | |
| JPH06309216A (ja) | 線形ラム・バンクとして使用可能なキャッシュ・メモリを有するデータ・プロセッサ | |
| US6157980A (en) | Cache directory addressing scheme for variable cache sizes | |
| JPH0345407B2 (ja) | ||
| JP2000305842A (ja) | ダイレクト・メモリ・アクセスおよびキャッシュ性能を改善する方法および装置 | |
| 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 | |
| EP0408058A2 (en) | Microprocessor | |
| US20080294807A1 (en) | Method and Apparatus for Invalidating Cache Lines During Direct Memory Access (DMA) Write Operations | |
| US5161219A (en) | Computer system with input/output cache | |
| US5420994A (en) | Method for reading a multiple byte data element in a memory system with at least one cache and a main memory | |
| CA2016399C (en) | Microcomputer system employing address offset mechanism to increase the supported cache memory capacity | |
| US5920891A (en) | Architecture and method for controlling a cache memory | |
| US5860113A (en) | System for using a dirty bit with a cache memory | |
| JPH11328018A (ja) | スヌ―プ・ポ―トを用いるプリフェッチ・キャッシュ問い合わせのための方法及びシステム | |
| US6446169B1 (en) | SRAM with tag and data arrays for private external microprocessor bus | |
| KR19980086620A (ko) | 대기 행렬 및 스누프 테이블을 갖는 메모리 제어기 | |
| JPS5868286A (ja) | キヤツシユメモリおよびその作動方法 |