JPS58501645A - 最下位プライオリテイ置換え回路を使用するキヤツシユ・メモリ - Google Patents
最下位プライオリテイ置換え回路を使用するキヤツシユ・メモリInfo
- Publication number
- JPS58501645A JPS58501645A JP57503192A JP50319282A JPS58501645A JP S58501645 A JPS58501645 A JP S58501645A JP 57503192 A JP57503192 A JP 57503192A JP 50319282 A JP50319282 A JP 50319282A JP S58501645 A JPS58501645 A JP S58501645A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cache
- word
- data
- main 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.)
- Granted
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。
Description
【発明の詳細な説明】
最下位プライオリティ置換え回路を使用するキャッシュ・メモリ
技術分野
本発明は計算機システムに、細目的には新らしい情報を記憶するロケーションが
キャッシュ・メモリ中の最下位プライオリティを有するワードのロケーションで
あるキャッシュ・メモリを使用するシステムに関する。
発明の背景
最近の計算機システムは単一の大容量メモリが追従し得ないような高速度−の動
作が可能なプロセッサを使用している。このため小容量の高速キャッシュ・メモ
リがプログラムの実行速度を改善するために大容量のメイン・メモリと共に使用
されているのが普通である。キャッシュ・メモリは限定された個数のインストラ
クションまたはデータ・ワードを記憶しており、メモリの読み出し操作毎にキャ
ッシュ・メモリ中に情報が存在するか否かが調べられる。情報が存在する場合に
はその情報はキャッシュ・メモリから読み出される。もしキャッシュ・メモリ中
に情報が存在しない場合にはメイン・メモリから読み出される。情報がメイン・
メモリから読み出されねばならない場合には、新らしい情報はキャッシュ・メモ
リ中の既存の情報と置き換えられねばならない。キャッシュ・メモリ中の新らし
い情報を記憶するのに適したロケーションは幾つかの広く使用されている置き換
えアルゴリズム(例えばランダム置き換え、最も以前に使用されたものと置き換
える等)の内の1つにより定められる。
一般に最も以前に使用されたものと置き換えるアルゴリズムは最も効率のよいア
ルゴリズムであると考えられている。しかしどのロケーションが最も以前に使用
されたワードを含んでいるかの決定を、多大の時間を要することなく経済的に引
き合う仕方で実現することは困難であるとされていた。
発明の要旨
本発明に従うキャッシュ・メモリ・システムはデータ・ワードのグループを含む
幾つかのセクションに分割されている。各セクションはその中に記憶されたワー
ドが最後に使用された時刻に従って決定される相対的プライオリティを保持して
いるプライオリティ回路を有している。
キャッシュ・メモリ中に挿入されねばならないメイン・メモリ・ワードを受け取
ったときキャッシュ・メモリを更新するのに要求される時間は、該ワードを1つ
のセクション中に記憶させると同時に最も低いプライオリティ・ワードをより高
いプライオリティ・セクションからより低いプライオリティ・セクションに移動
することにより減少させることが出来る。
本発明の一実施例では、データ処理システムはメイン・メモリ・アドレス信号を
発生することによりデータ・ワードを要求するプロセッサと、メイン・メモリと
キャッシュ・メモリ・システムより成っている。キャッシュ・メモリ・システム
はキャッシュ制御回路と第1および第2のキャッシュ・メモリより成る。1つ以
上のキャッシュ・メモリを有するキャッシュ・メモリ・システムは現場でシステ
ムを拡張することを許容する。また各々のキャッシュ・メモリは一つのLSI回
路として実現することが可能である。各キャッシュ・メモリはキャッシュ・デー
タ・ワード(これはメイン・メモリ中に記憶されたワードの複製である)と相応
するメイン・メモリ・アドレスを記憶している。プロセサはメイン・メモリ・ア
ドレス信号を伝送することによりデータ・ワードを要求する。第1および第2の
キャッシュ・メモリの内容を調べて要求されたワードがその中に存在するか否か
が決定される。キャッシュ・メモリが所望のワードを含んでいる場合には、該キ
ャッシュ・メモリはキャッシュ制御回路に整合信号を伝送する。もし所望のワー
ドが含まれていない場合にはキャッシュ・メモリは不整合信号を伝送する。キャ
ッシュ制御回路が両方のキャッシュ・メモリから不整合信号を受信すると、該制
御回路は2つの動作を実行させる。第1の動作期間中、メイン・メモリはメイン
・メモリ・アドレス信号に応動して所望のメイン・メモリ・ワードにアクセスし
てプロセッサおよび第1のキャッシュ・メモリに伝送する。またこの第1の動作
期間中、第1のキャッシュ・メモリは記憶された関連するメイン・メモリ・アド
レスを有する最もプライオリティの低いキャッシュ・データ・ワードにアクセス
して、該ワードを第2のキャッシュ・メモリに伝送する。第2の動作期間中、第
1のキャッシュ・メモリはアクセスされたメイン・メモリ・ワードとメイン・メ
モリ・アドレス信号を先にアクセスされた第1のキャッシュ・メモリ・ロケーシ
ョン中に記憶し、第2のキャッシュ・メモリは第1のキャッシュ・メモリからの
最もプライオリティの低いキャッシュ・データ・ワードと記憶されたメイン・メ
モリ・アドレスを先にアクセスされた第2のキャッシュ・メモリのロケーション
中に記憶する。
キャッシュ制御手段は第1のキャッシュ・メモリからの不整合信号および第2の
キャッシュ・メモリからの整合信号に応動してキャッシュ・メモリ内で実行すべ
き2つの動作を実行させる。第1の動作期間中、第1のキャッシュ・メモリは最
も低いプライオリティのキャッシュ・データ・ワードおよび関連するメイン・メ
モリ・アドレスにアクセスして第2のキャッシュ・メモリに伝送し、第2のキャ
ッシュ・メモリは整合した記憶されているメモリ・アドレスと関連するキャッシ
ュ・データ・ワードを第1のキャッシュ・メモリおよびプロセッサに伝送する。
第2の動作期間中、第1のキャッシュ・メモリは第2のキャッシュ・メモリから
のキャッシュ・データ・ワードとアドレスをそれより以前には最もプライオリテ
ィの低いキャッシュ・データ・ワードおよびメモリ・アドレスによって使用され
ていたメモリ・ロケーション中に記憶する。また第2の動作期間中、第2のキャ
ッシュ・メモリは第1のキャッシュ・メモリから伝送されたキャッシュ・データ
・ワードと関連するアドレスを記憶する。
各々のキャッシュ・メモリは整合メモリおよびデータ・メモリを含んでいる。整
合メモリはメイン・メモリ・アドレスを記憶しており、データ・メモリはキャッ
シュ・データ・ワードを記憶している。整合メモリはプロセッサが送出するメイ
ン・メモリ・アドレス信号の各々の組を比較し、整合または不整合を指示する。
整合が生じると、整合メモリはアドレスをデータ・メモリに伝送し、それによっ
て所望のキャッシュ・データ・ワードにアクセスし、伝送する。コンテント・ア
ドレッサブル・メモリが整合メモリを実現するのに使用出来る。
更に、各々のキャッシュ・メモリは各キャッシュ・データ・ワードが第1のキャ
ッシュ・メモリ内において何時アクセスされたかに関する各キャッシュ・データ
・ワードのプライオリティを保持するプライオリティ回路を有している。該プラ
イオリティ回路により保持されているプライオリティはキャッシュ・データ・ワ
ードの使用時刻に関する履歴である。最もプライオリティの低いキャッシュ・デ
ータ・ワードは最も以前に使用されたワードである。
キャッシュ・メモリ・システムは第1のセクションカ1第2のセクション中に記
憶されているワードより高いプライオリティを有するワードを含むようにキャ゛
ンシュ・データ・ワードをキャッシュ・メモリ・システム中に記憶することによ
りアクセスされ、更新される。プロセッサがデータ・ワードにアクセスするとき
、各セクションは所望のワードがそのセクション中に含まれているかどうかがチ
ェックされる。所望のワードがいずれのセクション中にも含まれていない場合に
は、メイン・メモ「ツカ−アクセスされ、所望のワードはプロセッサおよび第1
のセクションに伝送される。アクセスされたメイン・メモリ・ワードは第1のセ
クションの最もプライオリティの低いキャッシュ・データ・ワードを置き換える
のに使用され、最もプライオリティの高いキャッシュ・データ・ワードとなる。
このとき2番目のプライオリティの低いワードは最もプライオリティの低いキャ
ッシュ・データ・ワードとなる。それより前に最もプライオリティが低かったキ
ャッシュ・データ・ワードは第2のセクションに伝送され、そこで該データ・ワ
ードは第2のセクションの最もプライオリティの低いワードと入れ替わり、該セ
クションにおける最もプライオリティの高いワードとなる。このとき第2のセク
ション中で2番目に低いプライオリティを有していたワードは最もプライオリテ
ィの低いワードとなる。
要求されたワードが第2のセクション中に存在することが分ると、第2のセクシ
ョンからのワードがプロセッサに伝送され、第1のセクションの最もプライオリ
ティの高いワードとして第1のセクション中に記憶される。
このとき第1のセクションの最もプライオリティの低いワードは第2のセクショ
ンに転送され、そこで該ワードは第2のセクションの最もプライオリティの高い
ワードとなる。最もプライオリティの低いワードは最も以前に使用されたワード
で、最もプライオリティの高いワードは最も最近使用されたワードである。
第1図は本発明のデータ処理システムのブロック図、第2および3図は第1図の
LRU回路105を更に詳細に示す図、第4図は第1図のLRU回路104のコ
ンテント・アドレッサブル・メモリを更に詳細に示す図、第5図は第3図のプラ
イオリティ回路の動作例を示す表である。
詳細な説明
第1図に示すデータ処理システムにおいてデータおよびインストラクション・ワ
ードはメイン・メモリ102およびキャッシュ・システム100のメモリ・ロケ
ーション中に記憶されている。プロセッサ101はアドレス・バス112を介し
てアドレスを、制御バス113を介して制御信号を伝送することによりこれらの
メモリ・ロケーションの内容を読み出す。キャッシュ・システム100は制御シ
ーケンサ103、LRU回路104.105および106、キャッシュ・データ
・メモリ107.108および109、ならびにキャッシュ・データ・ゲート回
路1101り成る。LRU回路およびキャッシュ・データ・メモリは対を成して
おり、各対はキャッシュ・メモリ・ユニットを形成している。例えばLRU回路
104およびキャッシュ・データ・メモリ107が1つのキャッシュ・メモリ・
ユニットを形成している。
キャッシュ・データ・メモリ中に記憶されたキャッシュ・データ・ワードはグル
ープに分割されており、各グループは同じ時点においてプロセッサ101により
最後に読み出されたキャッシュ・データ・ワードを含んでいる。各グループはキ
ャッシュ・データ・メモリの内の1つに記憶されている。例えば最も最近使用さ
れたワードのグループはキャッシュ・データ・メモリ107中に記憶されており
、最も以前に使用されたワードのグループはキャッシュ・データ・メモリ109
中に記憶されている。プロセッサ101が読み出しを行うとき、キャッシュ・デ
ータ・ワードは、メモリの使用時刻履歴を保持するためキャッシュ・データ・メ
モリ間で転送される。例えばメイン・メモリ102から1つのワードを読み出す
必要がある場合、このメイン・メモリ・ワードはキャッシュ・データ・メモリ1
04の最も以前に使用されたキャッシュ・データ・ワードの位置を占め、置き換
えられたキャッシュ・データ・ワードはキャッシュ・データ・メモリ108に転
送される。
読み出し操作期間中、プロセッサ101により伝送されたアドレスはLRU回路
104.105、および106によってチェックされ、アドレス指定されたワー
ドがキャッシュ・データ・メモリ107.10Bまたは109中に夫々含まれて
いるか否かが決定される。
例えばLRU回路104がアドレス指定されたワードはキャッシュ・データ・メ
モリ107中に含まれていると判定すると、該回路107はこのワードのアドレ
スをケーブル131を介してキャッシュ・データ・メモリ107に伝送する。キ
ャッシュ・データ・メモリ101はこのアドレスに応動して所望のワードにアク
セスし、これをキャッシュ・データ・ゲート回路110に伝送する。キャッシュ
・データ・ゲート回路110から所望のデータ・ワードはデータ・バス111を
介してプロセッサ101に伝送される。LRU回路104がアドレス・バス11
2を介してプロセッサ101により伝送されたアドレスと整合しないと判定する
と、該回路104は制御シーケンサ103に導線114を介して“l“信号を伝
送し、不整合であったことを指示する。他のLRU回路も同様な仕方で動作する
。
関連するキャッシュ・データ・メモリが所望のメモリ・ワードを有しているか否
かをチェックすることに加えて、LRU回路は関連するキャッシュ・データ・メ
モリ中の各ワードのプライオリティを保持する。このプライオリティ情報は関連
するキャッシュ・データ・メモリにアクセスする毎にLRU回路によって自動的
に更新され、キャッシュ・メモリ中のどのワードが最も以前に使用されたワード
であるかを規定する。
システムの動作を以下に述べる3つの例によって更に説明する。第1の例では所
望のワードはキャッシュ・システム100中には存在せずメイン・メモリ102
から読み出さねばならないものと仮定している。所望のワードがキャッシュ・シ
ステム100中に存在しないと、すべてのLRU回路は整合線路114.115
および116を介してゝゝ1”信号を伝送する。これら信号に応動して制御シー
ケンサ103はメイン・メモリ102にアクセスし所望のワードを入手する。メ
イン・メモリ102から読み出されたワードは最も最近使用されたワードである
ので、該ワード、はキャッシュ・データ・メモリ101中に加えられ、キャッシ
ュ・データ・メモリ107からの最も以前に使用されたワードはキャッシュ・デ
ータ・メモリ108中に書き込まれ、キャッシュ・データ・メモリ108の最も
以前に使用されたワードはキャッシュ・データ・メモリ109中に書き込まれる
。キャッシュ・データ・メモリ109の最も以前に使用されたワードは前述の動
作が完了した時点においては最早キャッシュ・メモリ100中に存在しない。
キャッシュ・メモリ・システム100の動作の第2の例にあっては所望のワード
はキャッシュ・データ・メモリ107中に存在するものと仮定する。所望のワー
ドはキャッシュ・データ・メモリ107中に存在するので、メイン・メモリ10
2中のワードにアクセスしたりキャッシュ・データ・メモリ101からキャッシ
ュ・データ・メモリ108にメモリ・ワードを転送する必要はない。
その代りにLRU回路104はデータ・メモリ107中のメモリ・ワードの使用
順序を適切に反映するよう回路104の内部に記憶されたプライオリティ情報を
単に更新することになる。
第3の例にあっては、所望のメモリ・ワードはデータ・メモリ108中に存在す
るものと仮定する。この場合、。
LRU回路105はアドレス・バス112を介してプロセッサ101に伝送され
たアト1ノスと整合し、データ・メモリ108をして所望のワードにアクセスし
、データ・ゲート回路110に該ワードを伝送させる。制御シーケンサ103は
次にこの所望のデータ・ワードをデータ・ゲート回路110によりデータ・バス
111を介してプロセッサ101に伝送させる。この所望のワードが最も最近使
用されたワードであるので、該ワードはデータ・メモリ107中に書き込捷ねば
なら々い。データ・メモリ107の最も以前に使用されたワードはデータ・メモ
リ108中の所望のメモリ・ワードがそれまで使用していたメモリ ロケーショ
ン中に書き込寸れねばならない。
LRU回路105が第2および3図に示されているカベL RU回路106も同
様な構成を有している。L RU回路104は第4図に示されている。第2図G
′!アドレス・バス112を介してプロセッサ101により伝送されたアドレス
をチェックして所望のワードがキャッシュ・データ・メモリ108中に存在する
かどうかを判定するのに使用される回路を示しており、第3図はキャッシュ・デ
ータ・メモリ108中の最も以前に使用されたワードを追尾するのに使用される
プライオリティ回路の詳細を示している。プロセッサ101が1つのワードを読
み出すとき、プロセッサはまずCA G O信号およびクロック信号を制御バス
113を介して制御シーケンサ103に伝送し、プロセッサ101はアドレス・
バス112を介してアドレスを伝送する。制御シーケンサ103はこれら信号に
応動してC信号およびS信号を発生し、該信号は導線122および123を介し
てL R0回路に伝送される。データ・セレクタ202は導線122上のC信号
に応動してアドレス・バス112を介して伝送されたアドレス・ビットを選択し
、これらのアドレス・ビットを導線216〜223を介してコンテント・アドレ
ッサブル・メモリ(CAM)201のデータ イン入力に加える。CAMは各々
8ビツトより成る4つのワードを含んでいる。CAMは導線123を介して伝送
された入力およびデータ・イン人力で受信されるアドレス・ビットに応動してこ
れらアドレス・ビットと内部に記憶すJ]−だ4つのワードの各々の内容とを比
較する。4つのワードの内の1つがアドレス・ビットと整合すると %S 1
//が関連する導線212.213.214または215を介して伝送される。
整合しない場合にはゝX1″が導線236を介して伝送され、T1時刻において
フリップ・フロップ206中に記憶される。整合した場合には導線212〜21
5の状態は導線123を介して伝送されるS信号の立下りによってラッチ204
中に記憶される。データ・セレクタ205はラッチ204の内容を選択し、該選
択されたラッチ204の内容は導線224〜227を介して加えられ、次いで導
線228〜231、ケーブル132を介してキャッシュ・データ・メモリ108
に伝送される。キャッシュ・データ・メモリ108はケーブル132を介して伝
送されたアドレスに応動して所望のワードにアクセスし、前述の如くこのワード
をデータ・ゲート回路110に伝送する。所望のワードがデータ・メモリ108
中に記憶されていたと仮定すると、このときそのワードが最も最近使用されたワ
ードとなり、従ってデータ・メモリ101に転送されねばならず、データ・メモ
リ107の最も以前に使用されたワードはデータ・メモリ108に転送され、こ
のワードのアドレスはCAM201中に書き込まれる。
第4図はアドレス・バス112を介してプロセッサ101により伝送されたアド
レスをチェックして所望のワードがキャッシュ・データ・メモリ107中に存在
するか否かを決定するのに使用さり、る回路を示しており、第3図はキャッシュ
・データ・メモリ108中の最も以前に使用されたワードを追尾するのに使用さ
れるプライオリティ回路の詳細を示している。第4図の回路は第2図のデータ・
セレクタ202と類似したデータ・セレクタを含丑す、プライオリティ回路44
4を含んでいる点を除いて第2図の回路と動作は同一である。プライオリティ回
路444は第3図を参照して述べるプライオリティ回路と同一である。データ・
セレクタが不要な理由は第4図の回路は常にアドレス・バス112を介して伝送
されるアドレスを使用するからである。第4図の回路がデータ・セレクタを必要
としないのは、この回路はキャッシュ・メモリ100中の最も最近使用されたワ
ードと関連しており、従って第2図に示す回路のようにアドレス・バス112か
らのデータを使用するか、または最も高いプライオリティを有するLRU回路か
らのデータを使用するか判定する必要がないためである。この点に関しては以下
に示す例により更に明白となろう。
第2および4図に示す回路の動作を説明するため、先に述べた例3を使用する。
例3は所望のワードがデータ・メモリ108中に存在するときに実行すべき動作
を与えたものである。この例に関する更に詳細な説明をここでは丑ずLRU回路
105の観点から述べ、次いでLRU回路104中の相応する動作に関して述べ
ることにより行う。データ・メモリ108中のワード1およびデータ・メモリ1
07中のワード2が最も以前に使用されたワードであるものと仮定する。これら
の異なる動作を実行するため、制御シーケンサ103は多数のタイミング信号を
発生するが、その中で最も重要なものはTO〜T4でちる。、TO期間中、アド
レス ハス112上のアドレス・ビットはデータ・セレクタ202によって選択
され、CA M 201で整合するかどうか探索するのに使用される。これらの
アドレス・ピットがCAM201中のワード2の内容と整合するものと仮定する
と、91“が導線213上に発生されるが、導線212.214および215は
ゝXO″である。この動作は導線123を介してCAM201に伝送されたS信
号および導線122を介してCAM201に伝送されたC信号の制御の下で実行
される。導線212〜215上の情報はS信号の終了時点においてラッチ204
中に記憶される。更にS信号はまたCAM201の整合出力端子をフリップ・7
0ツブ206中に加えるクロックとして作用する。フリップ・フロップ206の
出力のM2信号は導線115を介して制御シーケンサ、103に伝送される。
T1期間中、データ・セレクタ203はM2信号に応動してラッチ204の出力
をアドレスとして選択し、該アドレスは導線208〜211を介してCAM20
1に伝送され、データ・セレクタ205はM2信号に応動してラッチ204の出
力をアドレスとして選択し、該アドレスはケーブル132を介してデータ・メモ
リ10Bに伝送さfする。導線208〜211上のアドレスに応動して、CAM
201は第2のワードの内容を読み出し、これらの内容をラッチ207に伝送し
、T1の終了時点においてこれらの内容は該ランチ207中に記憶される。
データ・メモリ108はケーブル132を介して伝送されたアドレスに応動して
その第2のワードの内容を読み出す。これらの内容はデータ・メモリ10Bの内
部に記憶され、データ・ゲート回路110に伝送される。T1期間中、LRU回
路104は最も以前に使用されたワードのアドレスにアクセスし、該アドレスを
ケーブル117を介してLRU回路105に伝送し、データ・メモリ101は最
も以前に使用されたワードにアクセスし、該ワードをケーブル140を介してデ
ータ・メモリ108に伝送するが、これについては以下で述べる。
LRU回路104からのアドレスはCAM201中に書き込まれ、相応するデー
タ・ワードはデータ・メモリ108中に書き込まれる。T2期間中、データ・セ
レクタ203はCAM201に対するアドレスとして使用されるワード2のアド
レスを含むラッチ204の出力を再び選択する。LRU回路からの最も以前に使
用されたアドレス・ワードはワード2中に記憶される。T2期間中、制御シーケ
ンサ103は導線124を介してW信号を、導線120を介してRPL2信号を
伝送し、それによってCAM201はデータ入力端子」二に存在する情報をワー
ド2中に書き込む。それと同時Vこ、データ・メモリ107の最も以前に使用さ
れたワードはデータ・メモリ108のワード2中に書き込寸れる。このときアド
レスはデータ・セレクタ205およびケーブル132を介してラッチ204の出
力により供給される。以下で述べるように、第;(図1〆ζ示すプライオリティ
回路は、ワード2がLRU回路105中の最も以前に使用されたワードでなく最
も最近使用されたワードであるという事実を反映するようT3期間中に更新され
る。T4期間中にフリップ・フロップ206はリセットされる。
ここで例3を第4図を参照してLRU回路104に関して記述する。TO期間中
、CAM401の探索が行われる。しかし整合しないので整合出力端子は10″
となり、このゝゝ0“はフリップ・フロップ406中に記憶さ力、、Ml信号は
制御シーケンサ103には伝送されない。
T1期間中、M1信号は存在しないので、CAM401はプライオリティ回路4
44からのアドレスによりアトL/ ス指定さnる。このアドレスは導flJ4
32〜435、データ・セレクタ403および導線408〜411を介してCA
M401のアドレス・イン端子に加えられる。
このアドレス・ビットはCAM401およびデータ・メモリ107の最も以前に
使用されたワードのアドレスである。またT1期間中、データ・メモリ107は
データ・セレクタ405およびケーブル131を介してプライオリティ回路44
4の出・力によってアドレス指定される。
T1の終了時点において、CAM401の出力データはラッチイ01中に書き込
まれる。ランチ407の内容はケーブル111を介してLRU回路105に伝送
される。
T2期間中制御シーケンサ103は導線119および124を介してLRU回路
104およびデータ・メモリ107 =−RP J−1およびW信刊を夫々伝送
する。これら401中の導線432〜43510ビツトにより決定された最も以
前に使用されたワードのロケーション中に書き込まれる。それと同時に、データ
・バス111上に存在するワードはケーブル131を介して伝送されたアドレス
のデータ・メモリ107中に書き込まれる。
T3期間中にプライオリティ回路444は更新される。
ここで述べた例ではLRU回路106捷たはデータ・メモリ109と関連する情
報は変更する必要がなかったことに注意されたい。
考察すべき他の例は所望のワードがデータ・メモリ107〜109中に含まれて
おらず、メイン・メモリ102から読み出さねばならない例1に相応する場合で
ある。この例の場合、LRU回路はいずれもTO期間中に整合が成立せず、TO
の終了時点において制御シーケンサ103はメイン・メモリ102にアクセスし
て所望のワードを入手する。制御シーケンサ103は導線125を介してメイン
・メモリ読み出し信号を伝送することによりメイン・メモリ102にアクセスす
る。メイン・メモリ102が所望のワードにアクセスすると、該メモリは導線1
26を介してメ〈ン・メモリ・レディ信号を伝送し、所望のメモリ・ワードをデ
ータ・ハス111上に加えることにより応動する。制御シーケンサ103はメイ
ン・メモリ・レディ信号に応動してキャッシュ・データ・レディ信列ヲ介−生(
、プロセッサ101に対しデータかデータ・ハス111上に存在し、LRU回路
およびデータ・メモリを更新するだめの次のステップを実行すべきことを知らせ
る。
メイン・メモリ・レディ信号の受信後、制御シーケンサ103はT1信号を送信
する。T1信号が送信されたことにより生じる結果をまず第2図を参照して述べ
る。
即ちM2信号は導線115を介して伝送されず、データ・セレクタ203はCA
M201を読み出すために導線232〜235を介して第3図のプライオリティ
回路から伝送された最も以前に使用されたワードのアドレスを選択する。CAM
201から読み出されたワードはデータ・メモリ108中に記憶された最も以前
に使用されたデータ・ワードのアドレスである。それと同時に再び最も以前に使
用されたワードのアドレスであるケーブル132を介して伝送されたアドレスに
基づいてデータ・メモリ108に対し読み出しが実行される。T1の終了時点に
おいて、最も以前に使用されたワードのアドレスはラッチ207中に加えられ、
データ・メモリ108からアクセスされているデータは同様にデータ・メモリ1
08中の同様なラッチの組の中に加えられる。同じ型の動作がLRU回路104
および106およびデータ・メモリ107および109中で実行される。
T2期間中、LRU回路104からケーブル111を介して伝送されるアドレス
は、第3図のプライオリテ′4回路から導線232〜235を介して伝送される
アドレスによって規定される最も以前に使用されたワードのアドレスに相当する
CAM201のロケーション中に書キ込まれる。同様に、データ・メモリ107
からアクセスされていたデータはデータ・メモリ108中に書き込まれる。
LRU回路104に関しては、アドレス・バス112上のアドレスは最も以前に
使用されたワードのアドレスを指示するプライオリティ回路444から導線43
2〜435を介して伝送された情報によりアドレス指定されるCAM401のロ
ケーション中に書き込まれる。データ・バス111上に存在するデータは最も以
前に使用されたワードのアドレスにおいて最も以前に使用されたデータ・メモリ
107のワード中に書き込まれる。同様の動作がLRU回路106およびデータ
・メモリ109においても実行される。T3期間中、LRU回路104.105
および106のプライオリティ回路は先の最も以前に使用されたワードが現在は
最も最近に使用されたワードであるという事実を反映するために更新される。
第3図に示すプライオリティ回路の動作を説明するため、所望のワードがデータ
・メモリ108中に含まれている場合の動作を記述する例3を参照する。第3図
のプライオリティ回路の動作は第4図のプライオリティ回路444およびLRU
回路106のプライオリティ回路の動作と類似している。以前の例では最も以前
に使用されたワードはデータ・メモリ108中のワード1であり、LRU回路1
05のCAMロケーション1中の相応するアドレスであった。TO期間中に実行
された整合操作期間内に、CAM201のワード2が、プロセッサ101が読み
出したいアドレスを含んでいることが見出された。
T3期間中、第5図に示すプライオリティ回路はワード2が現在量も最近使用さ
れたワードであるという事実を反映するよう更新されねばならない。しかし、ワ
ード1は尚最も以前に使用したワードを一保持している。フリップ・フロップ3
22〜327はCAM201およびデータ・メモリ108中に含まれているワー
ドの使用順序に関するプライオリティを保持するのに使用される。NORゲート
328〜331はフリップ・フロップ322)327中に含まれた情報をデコー
ドしてどのワードが最も以前に使用されたワードであるかを指示する。例えば、
NORゲート328が導線232を介して“1″を伝送している場合、これはワ
ード0が最も以前に使用されたワードであることを指示している。ORゲート3
09〜315およびANDゲート316〜321はプライオリティ回路の更新期
間中にフリップ・フロップ322〜327の内どれを変更すべきかを決定するの
に使用される。表1はセットされているこれらフリップ・フロップの意味を表わ
している。例えばフリップ・フロップ322がセットされているとすると、フリ
ップ・フロップ322はゝゝ1″なるMO倍信号導線301を介してNORケー
ト328に伝送する。フリップ・フロップ322がセットされているということ
はワード0がワード1よりもより最近使用されたことを意味する。
NORゲート328〜331により実行される機能は表2に示されている。
ゝゝ1″が導線232を介して伝送される場合、so倍信号伝送されていると呼
ぶことにする。フリップ・フロップ322がセットされていると表2のMOLの
値はゝゝ1“であり、MO1O値は0である。フリップ・フロップ322がリセ
ットされていると、MOlの値は0であり、1了]の値は1である。例えばフリ
ップ・フロップ322.323および324がリセットされていると、SO倍信
号導線232を介して伝送されることになる。
ORゲート309〜315およびANDゲート316〜3210更新時点におけ
る動作を表3に示す。
更新はRPL2信号が導線120を介して制御シーケンサ103から伝送される
時刻T3において行なわれる。
T3およびRPL2のANDゲート308によってとられ、これによってORゲ
ート309〜315およびANDゲート316〜321がエネイブルされる。例
えば更新期間中にゝゝ1″が導線231を介して伝送されると、フリップ・フロ
ップ324.326および327がリセットされる。導線231を介して伝送さ
れる1“はワード3が現在量も最近使用されたワードであることを示し、従って
表1によりフリップ・フロップ324.326および327はセット出来ない。
何故ならばこれらフリップ・フロップはワード01ワード1およびワード2が芙
々ワード3よりもより最近アクセスされたことを指示するからである。
第3図に示す回路の動作を更に明解に説明するため、時刻TOにおける動作期間
中にワード2の整合が行われる以前に示した例を第5図を参照して記述する。行
501はフリップ・フロップ322〜321の初期状態を示している。ワード2
が所望のワードを含んでいると決定されると、ワード2の内容はCAM201お
よびデータ・メモリ108の両方においてアクセスされ、伝送されてLRU回路
104およびデータ・メモリ107中に記憶される。LRU回路104およびデ
ータ・メモリ107からの最も以前に使用されたワードはLRU回路105およ
びデータ・メモリ108に伝送され、これらメモリの各々のワード2・中に記憶
される。この情報がワード2中に記憶された後、ワード2は最も最近使用された
ワードとなり、フリップ・フロップ322〜327はそれに応じて更新されねば
ならない。ワード2が選択されたワードであったので、第2図のデータ・セレク
タ205は導線230を介してX1″を伝送する。ORゲート309〜315お
よびANDゲート316〜321は導線230を介して伝送されたゝゝ1”に応
動してフリップ・フロップ327をセットし、フリップ・フロップ323および
325をリセットする。これが第5図の行502に示さり、ている。最も以前に
使用されたワードは同行502中のワード1であることに注意されたい。次の探
索操作において所望のワードがワード3である場合、フリップ・フロップ322
〜327は行503に示す状態を反映するべく73期間中に更新される。次の探
索操作において、ワード1が所望の情報を含んでいることが見出されると、フリ
ップ・フロップ322〜327が行504に示す状態を反映するべく更新される
。ここで最も以前に使用されたワードは3回の探索操作期間中(この期間中にワ
ード2.3および1はアクセスされている)にアクセスされなかったワードOで
あることに注意されたい。
前述の実施例は本発明の原理を例示するものであり、本発明の精神および範囲を
逸脱することなく当業者にあっては他の装置を考案し得ることを理解されたい。
FI6.1
国゛際調査報告
Claims (1)
- 【特許請求の範囲】 l データ処理システムの記憶能力を増強する装置であって、該システムは: メイン・メモリ(102)と: キャッシュ・メモリ・システム(1001と;該キャッシュ・メモリ・システム およびメイン・メモリをアドレス指定する手段(101Jとを含み:前記キャッ シュ・メモリ・システム(100)は:各々がメイン・メモリ(102)中にも 重複して存在するワード・グループを含む複数個のキャッシュ・メモリ(107 −1093と: メイン・メモリ中に記憶された第1のワードがキャッシュ・メモリの1つにもま た記憶されているか否かを決定する手段(104−1063と: 第1のワードがキャッシュ・メモリの1つに記憶されていないという前記決定手 段(104−1063からの指示に応動して第1のワードの第1のキャッシュ・ メモリへの記憶を行わせる制御回路(103)とを含み;該第1のメモリは第1 のワードの受信に応動して最も以前に使用された先に記憶されているワードを第 2のキャッシュ・メモリに転送することを特徴とするデータ処理システムの記憶 能力を増強する装置。 2 データ処理システムの記憶能力を増強する方法であって、該システムは。 メイン・メモリ(1021と; キャッシュ・メモリ・システム(1001と;キャッシュ・メモリ・システムお よびメイン・メモリへのアドレス指定を行う手段(101)とを含み:読方法は : キャッシュ・メモリ・システム(100)中に記憶されたワードを使用された相 対時刻に従って順序づけ、メイン・メモリ中に記憶されたワードがまだキャッシ ュ・メモリ・システム(100)を形成するキャッシュ・メ該ワードを第1のキ ャッシュ・メモリ中に記憶させ、最も以前に使用された先に記憶されているワー ドの第1のメモリから第2のキャッシュ・メモリへの転送を行わせる階程より成 ることを特徴とするデータ処理システムの記憶能力を増強する方法。 3 データ処理システムにおいて、該システムは:メイン・メモリ・アドレス信 号を発生するプロセッサ手段と; メイン・メモリ・ワードを記憶する複数個のメモリ・ロケーションを有するメイ ン・メモリと;キャッシュ制御手段と; 各々メイン・メモリ・アドレスおよび相応するキャッシュ・データ・ワードを記 憶する複数個のメモリ・ロケーションを有し、その中に記憶されたすべてのメイ ン・メモリ・アドレスと不整合なメイン・メモリ・アドレス信号に応動してキャ ッシュ制御手段に不整合信号を発生して伝送する第1および第2のキャッシュ・ メモリを含み: キャッシュ制御手段は第1および第2のキャッシュ・メモリにより不整合信号が 同時に発生されることに応動して第1の制御信号をメイン・メモリおよび第1な らびに第2のキャッシュ・メモリに対し発生して伝送し;メイン・メモリは前記 第1の制御信号および不整合であったメイン・メモリ・アドレス信号に応動して メイン・メモリ・ワードを第1のキャッシュ・メモリに伝送し;第1のキャッシ ュ・メモリは第1の制御信号に応動して最も以前に使用されたキャッシュ・デー タ・ワードおよびこれと相応する記憶されたメイン・メモリ・アドレスを第2の キャッシュ・メモリに伝送し、伝送されたメイン・メモリ・ワードおよびメイン ・メモリ・アドレス信号を記憶し; 第2のキャッシュ・メモリは第1の制御信号に応動して伝送されたキャッシュ・ データ・ワードおよびこれと相応するメイン・メモリ・アドレスを記憶すること を特徴とするデータ処理システム。 4 請求の範囲第3項記載のデータ処理システムにおいて、 第2のキャッシュ・メモリは更にメイン・アドレスを記憶する複数個のメモリ・ ロケーションを有する整合メモリと、キャッシュ・データ・ワードを記憶する複 数個のメモリ・ロケーションを有するデータ・メモリより成り ; − 前記整合メモリは整合したメイン・メモリ・アドレス信号に応動してその内容が データ・メモリに対する整合したメイン・アドレス信号と整合したメモリ・ロケ ーションのキャッシュ・メモリ・アドレスを発生して伝送し、不整合となったメ イン・メモリ・アドレス信号に応動して不整合信号を発生して伝送し; データ・メモリはキャッシュ・メモリ・アドレスに応動して相応するキャッシュ ・データ・ワードにアクセスして伝送することを特徴とするデータ処理システム 。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US307857 | 1981-10-02 | ||
PCT/US1982/001294 WO1983001323A1 (en) | 1981-10-02 | 1982-09-22 | Cache memory using a lowest priority replacement circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS58501645A true JPS58501645A (ja) | 1983-09-29 |
JPH0354372B2 JPH0354372B2 (ja) | 1991-08-20 |
Family
ID=22168211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57503192A Granted JPS58501645A (ja) | 1981-10-02 | 1982-09-22 | 最下位プライオリテイ置換え回路を使用するキヤツシユ・メモリ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS58501645A (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5226124A (en) * | 1975-08-22 | 1977-02-26 | Fujitsu Ltd | Buffer memory control unit |
JPS55117780A (en) * | 1979-03-05 | 1980-09-10 | Nec Corp | Buffer memory unit |
-
1982
- 1982-09-22 JP JP57503192A patent/JPS58501645A/ja active Granted
Also Published As
Publication number | Publication date |
---|---|
JPH0354372B2 (ja) | 1991-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4458310A (en) | Cache memory using a lowest priority replacement circuit | |
US4400774A (en) | Cache addressing arrangement in a computer system | |
US3967247A (en) | Storage interface unit | |
US3938097A (en) | Memory and buffer arrangement for digital computers | |
JP3510240B2 (ja) | キャッシュメモリー付マルチ処理システム | |
US5249284A (en) | Method and system for maintaining data coherency between main and cache memories | |
CN101361049B (zh) | 用于高级高速缓存驱逐候选对象标识的巡查窥探 | |
JPH0253813B2 (ja) | ||
JPH05127992A (ja) | 2レベルのキヤツシユ・メモリ内の干渉を低減する装置と方法 | |
EP0535701A1 (en) | Architecture and method for combining static cache memory and dynamic main memory on the same chip (CDRAM) | |
CN109791521B (zh) | 提供数据访问的原子集的装置及方法 | |
JPS58501645A (ja) | 最下位プライオリテイ置換え回路を使用するキヤツシユ・メモリ | |
JPH05198186A (ja) | 連想メモリシステム | |
JPH01229345A (ja) | データ処理装置 | |
JP2002366433A (ja) | キャッシュメモリ制御装置およびプロセッサ | |
JPS5928287A (ja) | キヤツシユバツフア制御装置 | |
GB2037466A (en) | Computer with cache memory | |
KR940001590B1 (ko) | 블럭읽기 및 쓰기에서의 메모리 엑세스 시간 단축장치 및 방법 | |
US6408361B1 (en) | Autonomous way specific tag update | |
KR960015583B1 (ko) | 다중프로세서의 캐시메모리 필터링장치 | |
US20030101280A1 (en) | Fast jump address algorithm | |
JP3074897B2 (ja) | メモリ回路 | |
JPH05151104A (ja) | データ処理装置 | |
JPH02136946A (ja) | キャッシュメモリ制御回路 | |
JP2000066946A (ja) | メモリコントローラ |