JPH0470656B2 - - Google Patents

Info

Publication number
JPH0470656B2
JPH0470656B2 JP56005828A JP582881A JPH0470656B2 JP H0470656 B2 JPH0470656 B2 JP H0470656B2 JP 56005828 A JP56005828 A JP 56005828A JP 582881 A JP582881 A JP 582881A JP H0470656 B2 JPH0470656 B2 JP H0470656B2
Authority
JP
Japan
Prior art keywords
data
address
level
lru
bits
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
Application number
JP56005828A
Other languages
English (en)
Other versions
JPS56114187A (en
Inventor
Ii Rangu Ronarudo
Jei Fuitsushaa Richaado
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.)
HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Original Assignee
HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
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 HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc filed Critical HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Publication of JPS56114187A publication Critical patent/JPS56114187A/ja
Publication of JPH0470656B2 publication Critical patent/JPH0470656B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0822Copy directories
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • G06F12/125Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list being generated by decoding an array or storage

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)

Description

【発明の詳細な説明】 プログラムの実行中にCPUにより実施される
諸操作の大きさ部分はデータを主記憶装置から検
索し、又データを主記憶装置に記憶することを含
む。いくつかのCPUの全てが1つの共通の記憶
装置を共用する多重プロセサ・システムにおいて
は、1つ以上のプロセサが主記憶装置に対するア
クセスを待機するように強制され、別のプロセサ
がこの記憶装置を読出し又は書込み操作と連結さ
せることが屡々生じる。もし各プロセスが情報を
引出すことができるそれ自体の専用データ・カツ
シエを有する場合には全処理速度は改善すること
ができることが明らかになつた。
このようにしてカツシエ・メモリーが生れた。
本発明の譲受人に譲渡された米国特許第
3866183号に記載された如き早期の諸態様では、
メモリー・アクセス・サイクルが開始される間同
時にカツシエが検査される「同時進行」形態をと
つていた。従つて、もしカツシエ内に所望のデー
タが存在した場合、記憶サイクルは打切られてこ
のデータがカツシエから検索された。この方式で
はメモリー・アクセスの開始に先立つたカツシエ
の探索には時間的損失がなかつた。カツシエのこ
の操作はCPUにとつて「不可視」であると呼ば
れる。
これも又本願の譲受人に譲渡された米国特許第
3845474号に示された後願の形態は、多重プロセ
サ・システムに使用されるクリア装置を備えたカ
ツシエを教示している。このカツシエは、そのプ
ロセサが全てのプロセサにより共用される共通オ
ペレーテイングシステムモジユールに入る度毎に
それ自体を完全にクリアするものであつた。又、
データが補助ストアから主記憶装置へ入れられる
場合等のプロセサが外部割込みをサービスする度
に全カツシエがクリアされた。この構成のため、
カツシエの過度のクリアを招き、「ヒツト」率が
低いため主記憶装置に対する多くのアクセスを必
要とすることによりプロセサの操作速度が遅くな
つた。即ち、カツシエにおいて所望のデータの発
見の可能性は、カツシエの完全クリアの頻度の故
に低かつた。この文献は又、カツシエ・ストアの
書込み操作を制御する「ラウンド・ロビン」カウ
ンタについて記載している。カツシエに書込まれ
た最初のデータ片はカツシエ・ストアの特定ブロ
ツクの第1のセクシヨンに記憶され、その関連す
るタツグ・アドレス・ビツトは登録簿の対応列の
対応する第1のレベルに記憶される。その後、連
続する入力データの各片が次の順の場所に記憶さ
れる。このように、4レベルカツシエの場合に
は、入力データはセクシヨン1,2,3,4,1
…に記憶される。容易に理解されるように、この
方式は、ブロツクの特定列内の最も瀕繁に使用さ
れたデータ・ワードがカツシエのビツト失敗の後
1つの入力データ・ワードにより置換され得るよ
うに、4レベルの相対的使用瀕度を斟酌しない。
更に最近になつて、カツシエの不必要なクリア
を除く装置について、本願の譲受人に譲渡された
1978年12月11日出願の米国特許出願第968223号
「カツシエ・ストアを選択的にクリアする装置」
に記載された。米国特許出願は、カツシエにおけ
るデータのタツグ・アドレスを、システム内の別
のプロセサにより変更された主記憶装置内のデー
タのタツグ・アドレスと比較するため複写登録簿
を用いる装置について記載する。マツチングが見
出されたならば、カツシエにおけ古いデータの場
所は空白として表示された。この方式は、カツシ
エの必要性の遥かに低いクリア動作の除去による
進歩を示し、その分だけ操作速度が早くなつた。
しかし、カツシエに対する新らしいエントリを行
うラウンド・ロビン方式が本例に用いられたた
め、カツシエから屡々用いたデータを置換する問
題は依然として未解決の侭である。
カツシエのヒツト失敗と同時にメモリーから取
出されたデータの階層的記憶のための装置が米国
特許第3967247号に記載されている。カツシエの
不的中の後主記憶装置からの検索と同時にカツシ
エからデータを転置するため「殆んど使用されな
かつた」方式が本特許において記載されている。
1つの2ビツト・エージ・タツグが、各データ片
に対する最後の照合の相対時間を表示するためカ
ツシエの4レベルの各々に割当てられる。各突合
せ後に、コンパレータ回路網が突合せられたレベ
ルと各レベルからのエージ・ビツトを検査する。
この時回路網は、加算回路網を用いて各レベルに
対するエージビツトを更新する。この算法は本発
明のそれとは異なり、構成のハードウエアは更に
複雑であり、速度が遅く、コストも高い。
このように、別のプロセサが主記憶装置におけ
るデータ・ワードを変更する度毎に完全にクリア
されることがなく、カツシエのヒツト失敗の後あ
るデータ列における殆んど使用されない項目を転
置する多重プロセサ・システムにおける使用に適
するカツシエ・メモリーに対する需要がある。
本発明はハードウエア素子の複雑な構成で実施
されるが、思想それ自体は簡単である。基本的に
は、この思想は、ヒツト率を高め、カツシエにお
ける記憶に続いて主記憶装置において変更された
カツシエ内の情報のみを選択することによつて従
来技術のカツシエ・メモリー構成の速度および精
度を向上することである。ヒツト率の増進とは、
高速カツシエ・メモリーに見出される中央処理装
置によるデータへのアクセス要求の比率の増加を
意味し、これにより比較的遅い主記憶装置に対す
るアクセスを不必要にする。選択的なクリア動作
は、2個以上の中央処理装置が共通の一主記憶装
置を共用する多重プロセサ・システムにおいての
み有意義である。このような場合、1つのCPU
は、システムにおける1つ以上の他のCPUのカ
ツシエ・メモリーに記憶される主記憶装置内のデ
ータ片を更新することができる。もはや主記憶装
置とカツシエにおけるこのデータ項目間の合致が
ないため、古いデータはそれが記憶されるカツシ
エには存在しないものとして表示されねばならな
い。従つて、このデータの使用を欲するCPUは
主記憶装置をアクセスするよう強制され、これに
より最も最近のデータを受取る。
速度のこれ以上の増加は、CPUの他の装置に
対してカツシエを「同時進行」(look−aside)の
関係に構成することにより達成される。「同時進
行」とは、CPUの残部に対するカツシエの関係
が、カツシエ登録簿の質疑が1つのポートを選定
してこれを介して主記憶のアクエスを行うCPU
による準備動作と同時に生じる如きものであるこ
とを意味する。カツシエ登録簿が質疑される間の
主記憶装置のアクセスの遅れがないことはこのよ
うな構成により生じねばならない。実際に、カツ
シエ内で「ヒツト」が生じる場合、この事実を表
示する信号は、メモリーのアクセスが全く開始さ
れないようにするため使用される。このような構
成の効果は、カツシエ・メモリー装置の操作を
CPUにとつて判らないようにすることで、この
場合カツシエの存在の御蔭でCPUによるデータ
検索において殆んどあるいは全く時間的損失がな
い。
ヒツト率が向上すれば、カツシエ・メモリー装
置が主記憶装置に使用されるものよりも高速のチ
ツプで構成されるため、CPUによるデータ検索
速度の増加をもたらす。このヒツト率の増加は、
カツシエを更新する「殆んど使用されない」方式
の使用および選択クリア装置の使用によつて提供
される。従来技術のラウンド・ロビン・カウンタ
がもたらす問題は、「殆んど使用されなかつた」
(LRU)カツシエ内のレベルの記録を保持するこ
とによつて解決される。この時入力データが前記
のLRUレベルに記憶される。ヒツト率はこの方
式を用いて向上する筈である。
選択的クリア装置によつて速度および精度の更
なる向上が得られる。本発明においては、別の
CPUにより変更された主記憶装置におけるデー
タのアドレスを受取りこれ等アドレスをカツシ
エ・ストアに存在するデータのアドレスと比較す
る選択的クリア装置の理念を得ることによつて、
過大のクリアの問題が除去される。全ての突合せ
成功に対してクリア信号が生成され、カツシエ・
ストアにおける前記データ場所を充/空アレーに
おいて空として表示させる。この構成は、一たん
カツシエに記憶されたデータ片が依然としてカツ
シエ内にある可能性を増大することによつてヒツ
ト率を増加するものである。
単一CPUデータ処理スステムに使用する本発
明の最も単純な実施態様においては、CPUによ
りその操作中に使用される複数のデータ・ワード
を記憶しアクセスするため使用されるカツシエ・
ストア装置が提供される。これ等のデータ・ワー
ドは命令OPコード、オペランドおよびアドレス
であり得、各セクシヨンが複数のブロツクに分割
される複数のセクシヨンに記憶される。
登録簿装置は、データの主記憶装置の場所を識
別する絶対アドレスの13のタツグ・アドレス・ビ
ツトを記憶することによりカツシエ・ストア装置
に記憶されるデータを指標付けするため使用され
る。これ等のタツグ・アドレス・ビツトは、関連
するデータが記憶される特定のブロツクと関連し
かつこれと対応する登録簿装置におけるある場所
に記憶される。13ビツト以上又はそれ以下が使用
できる。登録簿装置は、各レベルがカツシエ・ス
トア装置の1つのセクシヨンと対応する複数のレ
ベルに構成される。各レベルは、更に、各々がカ
ツシエ・ストア装置の1組のブロツクと対応する
複数の列に分割される。即ち、カツシエ・ストア
の1つのセクシヨンには基本登録簿の1つのレベ
ルにおける列数と同数のブロツクがある。1つの
列のレベル数は、カツシエ・ストア装置における
セクシヨン数と正確に対応する。基本登録簿装置
の目的は、カツシエ・ストア装置に記憶される各
データ・ワードのタツグ・アドレスビツトを記憶
し、これ等のタツグ・アドレス・ビツトをCPU
により要求されつつあるデータの絶対アドレスの
タツグ・アドレス・ビツトと比較することであ
る。次に、要求されたデータがカツシエ・ストア
装置に存在する時突合せ信号が生成される。
最後に、突合せが生じない時、全ての列のレベ
ルの使用に関する更新データを受取つて記憶し、
基本登録装置における「殆んど使用されない」レ
ベルを決定する制御装置がある。本装置も又、カ
ツシエのヒツトと同時に所要の情報を主記憶装置
から検索させてCPUに対して供給させられる。
CPUに与えられると同時に、検索されたデータ
はカツシエ・ストア装置に記憶され、その対応す
るタツグ・アドレス・ビツトは基本登録簿の
LRUレベルに記憶される。
多重プロセサ・システムにおいては、本発明
は、選択されたクリア装置の付加により前に述べ
た諸要素により実施される。この機構は基本登録
簿に対して同様に構成された複写された登録簿を
含む。その目的は、基本登録簿に記憶されたもの
と同じ指標付けされた情報を記憶し、これ等のタ
ツグ・アドレス・ビツトを本システム内の別の
CPUにより変更された主記憶装置内のデータの
絶対アドレスのタツグアドレスと比較することで
ある。マツチングが見出されてカツシエ・ストア
装置におけるデータ・ワードがこの時古いことを
表示する時、この選択的クリア装置は古いデータ
の場所を空として表示するクリア信号を生成す
る。
今日のコンピユータ・システムにおいては、マ
ルチプロセサは非常に屡々スループツトを増大す
るため第1図に示す如く信号システムコントロー
ラと接続される。プロセサ1および2はそれぞ
れ、これ等プロセサを主記憶装置20とリンクす
るシステム・コントローラ10と接続される。各
プロセサは又、その時使用中のデータ、アドレス
および命令を記憶するそれ自信の別個のカツシ
エ・メモリー30を含む。各カツシエ・メモリー
と関連しているのは複写登録簿31で、これは、
プロセサ1がそのカツシエ・メモリーからは古い
データを検索せず主記憶装置20からそのデータ
の最新のバージヨンを検索するように、プロセサ
1のカツシエメモリーにおけるデータとプロセサ
2によりメモリー20において変更されたデータ
間の比較を許容するよう作用する。各プロセサは
又、1つのプログラムにおけるオペランドについ
て演算論理操作を実施するオペレーシヨン装置を
含む。これ等のオペランドは最初主記憶装置から
検索記憶されるが、最初に検索される時カツシ
エ・メモリー30に書込まれる。その後、これ等
オペランドは、記憶される場所が選択的クリア操
作の故に空白として表示される迄、あるいはカツ
シエのヒツト失敗の結果主記憶装置20から検索
され他のデータにより転置される迄はカツシエ・
メモリーから検索することができる。
各プロセサは又、プロセサ、主記憶装置20と
入出力コントローラ34により制御される他の入
出力周辺装置間の通信と連係するように作用する
ポート制御装置33を有する。
本発明のブロツク図は第2図に示される。
CPUにより用意される所要データの絶対アドレ
スはスイツチ57を介してカツシエ・アドレスラ
ツチ56に切換えられる。本発明の中枢部は3つ
の主なサブシステムの組合せからなる。第1のサ
ブシステムは、その操作においてCPUによつて
使用される多くのデータ・ワードを記憶しアクセ
スするために使用される。カツシエ・ストア4
0、第1のスイツチ41、第2のスイツチ42、
データ・ラツチ43は第1のサブシステムの一団
を構成する。
この第1のサブシステムの構成は下記の如くで
ある。第3図によれば、カツシエ・ストア40は
4つのセクシヨンからなり各セクシヨンは各々が
4ワードを含む512個々にアドレス指定可能なブ
ロツクに再分割される。各ワードは36ビツトの長
さである。カツシエ・ストア40は、必要なデー
タの絶対アドレスのビツト13乃至23からなる
回線44上にカツシエ・ストアアドレス信号を受
取るための11ビツト・アドレス入力を有する。第
2図に示す別の入力は回線45上のレベル・スト
ローブ信号を受取る。この信号はカツシエ・スト
ア・アドレス信号と共に、どのセクシヨンとどの
ブロツクがデータ入力46において入力データを
受取るべきかを決定する。
回線46上の入力データは、2つの入力を有す
る第1のスイツチ41を通過する。カツシエ・ス
トア40に記憶されるべきデータは、カツシエの
ヒツト失敗の後のCPUの記憶操作から又は主記
憶装置からの取出しのいずれかから生じるデータ
である。CPUの記憶装置と同時に、データは回
線47に入り、主記憶装置取出しサイクルから生
じたデータは回線48に入る。スイツチ41の目
的は、「第1のスイツチへ」と表示された回線上
の制御信号を介してカツシエ制御装置49の制御
下で選択が行われたカツシエストア40のデータ
入力とどの回線が接続されるべきかを選択するこ
とである。
第2のスイツチ42は、カツシエ・ストア40
の各セクシヨンのデータ出力側と接続された別個
のデータ入力を有する。これも又、カツシエのヒ
ツト失敗と同時に主記憶装置から取出されたデー
タを受取るため回線48と接続されたデータ入力
を有する。第2のスイツチ42は、72ビツト巾の
単一データ出力回線50とカツシエ制御装置49
から回線50上のブロツク選択信号を受取る制御
入力を有する。スイツチ42の目的と回線51上
のブロツク選択信号の機能は、前述のどの入力回
線が単一出力回線に切換えられるかを制御するこ
とである。即ち、カツシエ制御装置49は、その
レベルの的中が生じるならば、カツシエ・ストア
40の4つのセクシヨンの内のどれかの72ビツト
の2倍ワード対出力を第2のスイツチ42の出力
側に切換えることができる。もしヒツト失敗の場
合は、主記憶装置から険索されたデータは回線4
8を介して第2のスイツチ42の出力側へ切換え
られ、同時に第1のスイツチ41の出力側と記憶
するためカツシエ・ストア40へ切換えられる。
このデータがカツシエ・ストア40の正確にどこ
に記憶されるかは、以下に更に詳細に説明する
LRU算法に従つて回線44と45上の信号によ
つて制御される。
データ・ラツチ43は、データCPUに与える
ためデータ入力を第2のスイツチ42とデータ出
力回線52から回線50に接続させている。この
ラツチは又カツシエ制御装置49からの回線53
上のロード信号と接続された制御入力を有する。
データ・ラツチ43の目的は、CPUが読出す迄
カツシエ・ストア40からの、又は主記憶装置か
ら検索されたデータを保持する。データ・ラツチ
43のローデイングは回線53上のロード信号に
よつて制御される。
第2のサブシステムは、基本登録簿54、コン
パレータ55およびこれ等素子の目的を達成させ
るため必要な関連回路である。基本登録簿54の
目的は、これも又カツシエ・ストア40に記憶さ
れる主記憶装置におけるデータ・ワードを識別す
るタツグ・アドレスを記憶することである。コン
パレータ55は、基本登録簿54に記憶されたタ
ツグ・アドレスをCPUにより要求されたデー
タ・ワードのタツグ・アドレスと比較し、又要求
されたデータ・ワードがカツシエ・ストア40に
存在する時突合せ情報を生成するよう作用する。
この突合せ情報はカツシエのどのレベルが所要の
データ・ワードを含むかを表示する。
語句「カツシエのレベル」については、基本登
録簿54とカツシエ・ストア40の全体的構成を
参照されたい。第3図に示す如く、カツシエスト
ア40が4つのセクシヨンに分割されるため、基
本登録簿54も又4つのレベルに分割される。第
3図によれば、基本登録簿54の、レベルAはカ
ツシエ・ストア40のセクシヨン0と対応する…
等が判る。又、カツシエ・ストア40の各セクシ
ヨンが複数のブロツクに分割されるため、基本登
録簿54の各レベルも同様に複数の列に分割され
る。更に又あるレベルの各列も対応するセクシヨ
ンにおける特定のブロツクと対応する。このよう
に、基本登録簿54の各列が、その各々がカツシ
エ・ストア40の4つのセクシヨンの内の1つに
おける1つのブロツクと対応する4つのレベルを
有する。
各ブロツクは4つの36ビツト・ワードを記憶す
る。望ましい実施態様において、カツシエ・スト
ア40の各セクシヨンには512のブロツクがある。
このように、各セクシヨンには2048ワードが記憶
され、各ワードは1つの11ビツト・アドレスを有
する。
CPUにより用意される如き要求されたデータ
の絶対アドレスの書式は第3図の左下隅部に示さ
れる。この絶対アドレスは第2図のスイツチ57
を介してカツシエ・アドレス・ラツチ56に切換
えられる。このアドレスはカツシエ・メモリー装
置における各素子により使用されるため一時的
に、ここに記憶される。スイツチ57は、絶対ア
ドレスを保守パネル又は仮想記憶モードにおける
仮想装置の如きデータ処理システムの他の部分か
らカツシエ・アドレス・ラツチ56に与えさせる
よう作用する。この絶対アドレスの最上位の13ビ
ツトはタツグ・アドレスビツトである。これ等の
13ビツト(0〜12)は、これも又カツシエ・スト
ア40に記憶されたデータ・ワード数である8192
個の個々のデータ・ワードを識別するのに十分で
ある。次の9ビツト即ちビツト13乃至21はブ
ロツク/列アドレスとして作用する。これ等の9
ビツトは、カツシエストアと基本登録簿における
ブロツクと列の数とその数が対応する512の異な
る場所を識別するのに十分である。24ビツト・ア
ドレスの最後の2ビツトはビツト22と23であ
る。これ等のビツトは、どのワード対が又はどの
個々のワードがCPUにより要求されるかを識別
する。このように、第2図のカツシエ・アドレス
ラツチは3つの部分に分割される如く考えること
ができる。第1の部分はタツグ・アドレスの13ビ
ツトを記憶する。第2と第3の部分はそれぞれブ
ロツク/列アドレスと2ビツト・ワードの記述子
を記憶する。
基本登録簿54は、そのデータ入力をカツシ
エ・アドレス・ラツチ56の第1の部分に接続す
る回線57を介してタツグ・アドレスでロードさ
れる。カツシエ・ストア40は、データが回線4
8を介して主記憶装置から検索される時又は
CPUの回線47を介する記憶操作において4ワ
ードでロードされるブロツクである。カツシエの
ヒツト失敗と同時にデーが主記憶装置から検索さ
れCPUの記憶装置は種々のプログラム命令から
生じる。CPU記憶操作は、1ブロツクのデータ
の主記憶装置とカツシエストア40相方への同時
転送を含む。いずれのタイプのローデイングにお
いても、CPUにより1つの絶対アドレスがこの
ブロツクのデータを記憶する主記憶装置のアドレ
ス又は要求されるデータの主記憶装置におけるア
ドレスとして用意されることになる。各ブロツク
がカツシエ・ストア40にロードされるため、こ
のデータに対する絶対アドレスの最上位の13ビツ
トが同時に基本登録簿54にロードされる。この
タツグアドレスがロードされる基本登録簿54の
列は、カツシエ・アドレス・ラツチ56の第2の
部分に記憶された絶対アドレスの列アドレス・ビ
ツト13〜21によつて決定される。この等のビ
ツトは、回線58を介して基本登録簿54の読出
し/書込みアドレス入力側に与えられる。タツグ
アドレスが記憶される選択された列のレベルは、
回線59上のレベル・ストローブ信号を介してカ
ツシエ制御装置49により制御される。同様に、
入力データがカツシエ・ストア40に記憶される
ブロツクは、カツシエ・アドレス・ラツチ56の
第2の部分をカツシエ・ストア40の読出し/書
込みアドレス入力に結合するカツシエ・ストア・
アドレス回線44により制御される。このセクシ
ヨンはカツシエ制御装置49からの回線45上の
レベル・ストローブ信号により制御される。
カツシエ・メモリー装置の検索は、CPUが要
求するデータのタツグ・アドレスの基本登録簿5
4におけるタツグ・アドレスとの比較を含む。カ
ツシエ・アドレス56の第2の部分は要求された
データの列アドレスからなり、回線58を介して
基本登録簿54の読出し/書込みアドレス入力と
接続される。これにより基本登録簿の選択された
列の4つのレベルに記憶されたタツグ・アドレス
が4つのデータ出力回線120を介してコンパレ
ータ55の第1のデータ入力側に与えられる。コ
ンパレータ55の第2のデータ入力は回線60を
介してカツシエ・アドレス・ラツチ56の第1の
部分と接続される。コンパレータ55は所要のデ
ータのタツグ・アドレスを選択された列の4つの
レベルに記憶されたタツグ・アドレスと比較し、
マツチングが見出されるどのレベルに対しても突
合せ信号を生成する。これ等の突合せ信号はカツ
シエ制御装置49と接続され、この制御装置が回
線51にブロツク選択信号を生成するために使用
される。このブロツク選択信号は、突合せたレベ
ルと対応するブロツクとセクシヨンのデータがカ
ツシエ・ストア40のデータ出力からデータ・ラ
ツチ43に切換えられるように第2のスイツチ4
2を付勢する。
コンパレータ55からの突合せ信号が存在しな
い場合は、カツシエ制御装置49は回線62上に
ヒツト失敗信号を生成する。この信号はポート制
御装置63に対し回線64上にストローブ割込み
信号を生成することを通知して、主記憶装置に要
求されたデータを検索させる。この信号は、
CPUと主記憶装置間でインターフエース装置と
して作用するシステム制御装置に行く。
データが主記憶装置から検索される時、このデ
ータは回線48上の第1のスイツチ41に対する
入力側に現われる。同時に、これは回線48の延
長路を介して第2のスイツチ42に対する別のデ
ータ入力側に転送される。データが検索された
時、回線65上の信号S|DAはポート制御装置6
3からカツシエ制御装置49へ送られる。この時
カツシエ制御装置は回線48上のデータを回線5
1上のブロツク選択信号を介して第2のスイツチ
42に切換える。又このためこのデータは回線5
3上のロード信号を介してデータラツチ43にロ
ードされる。最後に、この制御装置は、所要デー
タがデータ・ラツチ43にあることをCPUに通
知する回線66上のデータ使用可信号を生成す
る。
今ここで、ヒツト失敗が生じたこと、および要
求されたデータが主記憶装置から検索されてカツ
シエ・ストアに記憶される用意があることとしよ
う。その対応するタツグ・アドレスは基本登録簿
において記憶される用意がある。基本登録簿およ
びカツシエ・ストアにおけるこれ等2つの項目を
記憶する列は、列アドレス部即ちカツシエ・アド
レス・ラツチ56の第2の部分により決定され
る。回線58は基本登録簿54に対して列選択情
報を送り、回線44は同じ情報をカツシエ・スト
ア40に送る。基本登録簿におけるレベルおよび
カツシエ・ストアにおけるセクシヨンも又選択さ
れねばならない。LRUハードウエア・サブシス
テムに構成された手続は、空白レベルを探査する
ことおよびもし空白レベルが見出されればここに
データを記憶することである。もし空白レベルが
なければ、カツシエ制御装置はLRUレベルを決
定し、このデータを主記憶装置から検索されたデ
ータで置換する。統計的な分析によれば、このよ
うな方式は、あるメモリー・アクセス数に対する
ヒツト失敗の比率が減少するため、ラウンド・ロ
ビン方式の転置よりもCPUの全操作速度を増進
することが判つた。コンピユータのプログラムに
対するオペレーシヨンを調べた結果、他のデータ
ワードより更に瀕繁に使用される1つのデータ・
ワードが再び使用される確率が高いことが判る。
カツシエ装置のメモリー・チツプが主記憶装置の
それよりも早いため、ヒツト率が高いと云うこと
は操作が早いと云うことになる。
「殆んど使用されない」ハードウエア・システ
ムについては第4図に詳細を示す。第2図、第4
図および第5図によれば、システムは下記の如く
作用する。カツシエ制御装置49がしなければな
らない第1の事柄は、基本登録簿54の選択され
た列におけるレベルが空白表示されるかどうかを
知るため検査することである。このためには、カ
ツシエ制御装置は充/空アレー66を検査する。
望ましい実施例においては、この装置は4×512
ビツトのランダム・アクセ・メモリーアレーであ
る。スイツチ67はその一方の出力を充/空アレ
ー66のアドレス・入力側に接続させ、他の出力
をこのアレーのデータ入力側に接続させる。この
スイツチに対する入力は、カツシエ・アドレス・
ラツチ56に記憶された絶対アドレスのビツト1
3乃至21からなる充/空アドレス信号からな
る。カツシエ・アドレス・ラツチの第2の部分か
らのこれ等のビツトは回線69によつて前記スイ
ツチに接続される。このスイツチに対する他の入
力はカツシエ制御装置からの回線68上のクリア
信号である。この信号は2つの部分、即ち充/空
アレーの512行のどれがアドレス指足されるかを
表示する9ビツトと、この選定された行のどのビ
ツトがクリアするかを示す2ビツトからなる。ス
イツチ67の目的は、充/空アレーアドレスかク
リア信号のいずれかを充/空アレーのアドレス入
力側に切換えることである。充/空列のデータ入
力は選定されたビツトをクリアするように条件付
けされている。
前記アレーのデータ出力はカツシエ制御装置4
9と接続された回線70上のLEVEL F/F信
号である。充/空アレー66の各行は基本登録簿
54の1つの列と対応する。特定の列の空白状態
レベルについて検査するため、カツシエ制御装置
49は回線69上の充/空アドレスをスイツチ6
7を介して充/空アレーのアドレス入力側に切換
えさせる。この時この列はデータ出力側の選定列
におけるデータをLEVEL F/F信号として提
供する。これ等4つのビツトの各状態は次にカツ
シエ制御装置49により読出され、基本登録簿5
4の対応する列に空白状態のレベルが存在するか
どうかについて決定する。もし空白レベルが存在
すれば、回線59にLEVEL STROBE信号が生
成されて、回線58上のアドレスにより選定され
た列の空白レベルに回線57を介して指向される
カツシエ・アドレス・ラツチ56の第1の部分の
タツグ・アドレスを案内する。
前述の動作後空白レベルが見出せなければ、カ
ツシエ制御装置49はLRUアレー72を読出し
てLRUレベルを決定する。このLRUアレーは本
実施例においては6×512ビツトのランダム・ア
クセス・メモリーである。その目的は、基本登録
簿54における各列のLRUレベルを符号化した
複数のビツトを記憶することである。望ましい実
施態様においては、各行が基本登録簿54の特定
の列と対応する512行がある。各行の6ビツトは、
一時に2つ宛取上げる4つの事象の組合せ数を表
わす。各ビツト、基本登録簿54の特定の列にお
ける4レベルの内の2つの間の如き最後の使用の
相対的時間を表わす。
第5図によればこの相対的使用の概念が更に詳
細に理解されよう。LRU法で用いられた基本登
録簿の異なるレベルを表わすいくつかのビツト・
パターンが示される。どの行における第1のビツ
トも、基本登録簿とカツシエ・ストアのレベルA
とB(即ち、1と2)間の如き状態を表わしてい
る。この第2のビツトはレベルAとC間の如き状
態を、又第3のビツトはレベルAとD間の如き状
態を示す…と云う具合である。ある特定のビツト
における零は、第2のレベルが最後に使用されて
以来最初のレベルが使用されたことを意味する。
1は逆の状態を示す。このように、与えられたコ
ードの1段目においては、レベルBが最後に使用
されて以来レベルAが使用され、レベルCが最後
に使用されて以来Aが使用され、AはDより最近
使用され、BはCより、BはDより、CはDより
最近使用されたことを示す。このコードはDが
LRUレベルで使用されることを示す。コードの
第2段目は、B又はC又はDが最後に使用されて
以来Aが使用されなかつたことを最初の3ビツト
の1が意味するため、AがLRUレベルであるこ
とを表示する。
特定のレベルにおいて1つのマツチングが見出
される度に、このレベルに対するコードが更新さ
れてこれが最も後で使用されたことを表示する。
このためには、適当なビツト・パターンがその列
と対応する行に対するLRU列内の3ビツトに強
制されることになる。記憶されたビツト・パター
ンは突合せたレベルと他の全てのレベル間の状態
を表わす。このため、レベルBにおける突合せの
ためには、1がビツトABに強制され、零がその
BCとBDに強制されることになる。このことは、
レベルBが最後に使用されて以来レベルAが使用
されなかつたこと、およびレベルCとDが最後に
使用されて以来レベルBが使用されたことを示
す。
LRUビツトはカツシエのビツト失敗と同時に
更新されるが操作のシーケンスは若干異なる。最
初にカツシエ制御装置49が充/空アレーを読出
して選定された列内の空白レベルがあるかどうか
を確認する。もしあれば、空白レベルが充填され
LRUコードが更新されてこのレベルを最も後で
使用したものと表示する。もし空白レベルがなけ
れば、カツシエ制御装置49が選択された列に対
してLRUビツトを読出し、そのLRUレベルを決
定する。データが主記憶装置から来る時、これは
前記LRUレベルと対応するカツシエ・ストア4
0のセクシヨンに記憶されることになる。この対
応するタツグ・アドレス・ビツトはこの時基本登
録簿54のLRUレベルに記憶され、カツシエ制
置装置49は選定された列に対してLRUビツト
を更新して最も後で使用されたものとして記憶さ
れた許りのレベルを表示する。
LRUシステムに対するハードウエアはそれ自
体は簡単である。第4図によれば、LRUラツチ
73は回線74を介してカツシエ・アドレス・ラ
ツチ56に記憶された絶対アドレスの第2の部分
からLRUアドレス信号(ビツト13乃至21)
を受取る。LRUラツチは回線76を介してLRU
アレー72のアドレス入力75側にLRUアドレ
スを保持するように作用する。このLRUアレー
のデータ出力はカツシエ制御装置49と接続され
る回線77上のLRUレベル信号である。カツシ
エ制御装置49は、16進フリツプフロツプ78に
アドレス指定された行に対する6つのLRUビツ
トを一時的に記憶する。フイールド・プログラム
可能な論理アレー79は、回線81上のBLOCK
LOAD信号により信号されるカツシエのヒツト
失敗と同時に、前記6つのLRUビツトをバス5
9上のLEVEL STROBE信号に交換する。しか
し、もし回線70上のLEVEL F/E信号が空
白レベルの存在を表示すれば、バス59上の
LEVEL STROBE信号は検索されたデータを空
白レベルへガイドする。FPLA79は又丁度記憶
した許りのレベルと対応するLRUビツトを更新
する。この更新は適正ビツト・パターンをバス8
0上のLRUデータ更新信号を介してLRUアレー
に書込むことにより達成される。影響を受けた状
態で記憶された列に対するLRUビツトはこの時
このレベルが最も後で使用されたことを表示す
る。回線59上のLEVEL STROBE信号はどの
空白レベルにも指向されるが、回線70上の
LEVEL F/E信号が空白レベルの存在を表示
することを前提とする。フイールド・プログラム
可能なロジツクアレー79は回線81上の
LOAD BLOCK信号を介してヒツト失敗があつ
たことを通知する。この信号は図示しないカツシ
エ制御装置の別の部分におけるヒツト/ヒツト失
敗フラツグから生じる。
本出願は、カツシエ制御装置の他の部分は当業
者にとつては明らかであるものと信じる。更に、
これ迄に述べたシステムに対する一連の事象を実
行するゲート、フリツプフロツプ、その他の素子
の構成もいかなる構成でもよい。
回線82におけるチツプ選択出力は、LRUア
レーの個々のメモリー・チツプを選択するため
FPLAによつて使用される。
回線83と84上の信号ENABLE1および
ENABLE2はそれぞれ第4図のFPLA79を構
成する2つの別個のFPLAチツプに対するチツプ
選択信号である。これ等の信号はカツシエ制御装
置の他の各部から入る。
突合せができた場合は、回線85上の突合せ信
号がFPLAに入り、回線80上で適正なLRU更
新ビツト・パターンに変換されて突合されたレベ
ルに対するLRUビツトを更新してこれを最も後
で使用されたものとして表示する。
第6図はFPLAチツプ79の内部構成を示す論
理回路図である。各チツプは16の入力と8つの出
力を有する。各出力は48迄のプログラム可能な
AND機能のプログラム可能なOR機能であり、
ORゲート86と87はチツプ内の8つの48入力
ORゲートの内の2つを表わす。各ORゲートの
各入力は溶断可能なリンクを介して48のANDゲ
ートの内の1つの出力側に接続される。各AND
ゲートは32入力を有し、各入力は溶断可能なリン
クを介して16の入力の各々の反転および非反転バ
ージヨンと接続される。FPLA内のある溶断可能
リンクを選択的に破壊することにより、手早くで
きる安価な優先回路網が形成できる。
第7図および第8図はカツシエ制御装置49の
FPLAチツプ79の真理値表を示し、これから破
壊すべきリンクを選択するため使用される論理式
を得ることができる。第8図の真理値表の左方の
HIT、LRU、HCLRと表示された3つのセクシ
ヨンはあらゆるレベルの的中を処理し、LRUレ
ベルを決定し、ある状況の下でカツシエを完全に
クリアすることにそれぞれ対応する諸機能を表わ
す。真理値を理解するため、カツシエ・メモリー
が2つの半部に分割され、レベル1と2が最初半
部を、又レベル3と4が2番目の半部を構成する
ことを理解しなければならない。この構成のた
め、カツシエの半部における不測の故障において
も各動作が続行し得るようにCPUがカツシエの
片方の半部とは独立的に他の半部を使用すること
ができる。このように、レベル1におけるヒツト
に対する出力機能番号1に対応する第8図の機能
線0がビツトS1/2に対する1のハイ状態のみを
含む。この機能の入力がBLOCK LOADと
ENABLE2が不能条件にありENABLE1がハイ
であることを示している。更に、1入力にお
けるローにより示される如きレベル1においてヒ
ツトが存在した。この入力パターンは、カツシエ
の最初の半部が使用状態にあることおよびレベル
1においてヒツトがあつたことを示す。従つて、
FPLAの機能はレベル2よりも更に最初使用され
たものとしてレベル1を更新することである。こ
れを生じる出力のパターンは下記の如くである。
第7図および第8図の両図における線Oについて
見れば、2つのFPLAチツプに対する出力機能は
全ての6チツプ選択出力についてローとなること
が判る。これ等の信号はLRUアレーの全てのメ
モリー・チツプを使用可能状態にする。又、第8
図の出力機能1のS1/2においてもハイの状態が
存在する。このハイの状態は、レベル1がレベル
2よりも最近使用され、バス80を介して第4図
のLRUアレー72にジヤムされることを示す。
第7図および第8図の線4はカツシエの両方の
半部が作動中である場合を示す。BLOCK
LOADはローの状態で、ヒツトが生じたことを
表示し、ENABLE1と2は共にハイの状態でカ
ツシエの両半部が作動中であることを示す。
HIT1入力におけるローの状態は、レベル1にお
けるヒツトを表示する。ビツトS1/2、1/3および
1/4における3つのハイの状態は、レベル2、3
および4が最後に使用されたためレベル1が使用
されたことを表示する。ここで、LRUコーデイ
ングの一例としての第5図の論議においては零は
他のレベルが最後に使用されたためレベル1が使
用されたことを表示するため使用されたことに注
目すべきである。この条件に対して零と1のどち
らを選択するかは全く任意である。
多重プロセサ・システムはスループツトを高め
るために構成される。このような構成において
は、システムにおける一方のプロセサは、1つ以
上の他のプロセサのカツシエに同時に記憶される
主記憶装置のデータを変更することができる。こ
のような場合、その古いデータをそのカツシエに
有するプロセサがその操作中にこのデータを照会
する場合にシステムのエラーが生じ得る。カツシ
エのアクセス操作速度を下げることなくこのよう
なシステムのエラーを防止するため、本発明にお
いては選択的クリア装置が使用される。前述の如
く、従来技術のシステムは、別のプロセサにより
カツシエ内のあるデータが古くなつたある条件下
でカツシエ全体をクリアすることになるクリア装
置を用いていた。古いデータを含む場所のみをク
リアすることによつて、この過度のクリア動作は
除くことができる。
従来技術は選択的クリア装置を開示するが
LRUサブシステムと関連づけたものではない。
第2図に示した選択的クリア・サブシステムは複
写登録簿95、コンパレータ96およびその関連
する入出力スタツクからなる。複写登録簿95は
基本登録簿と同じ方法で構成される。これはカツ
シエ・ストア40に記憶された全データについて
複写タツグ・アドレスを含む。これ等のタツグ・
アドレスは、これ等が基本登録簿54にロードさ
れると同時に複写登録簿95のロードされる。こ
れは回線97とバツフア98と書込みスタツク9
9により達成される。回線97はカツシエ・アド
レス・ラツチ56の第1と第2の部分をバツフア
98に接続する。即ち、この回線はバツフア98
を所要のデータに対する絶対アドレスのビツト0
乃至21でロードする。バツフア98はこのアド
レスが書込みスタツク99に記憶できる迄これを
保持する。書込みスタツクは記憶されたアドレス
を2つの部分に分割するための2つの出力を有す
る。第1の出力は、回線100を介して複写登録
簿95のデータ入力側にタツグ・アドレス・ビツ
ト0乃至12を送る。第2の出力は、回線101
を介して複写登録簿95のアドレス入力に対して
複写列アドレス即ち絶対アドレスのビツト13乃
至21を送る。カツシエ制御装置49からの回線
102における複写LEDEL STROBE信号はこ
のタツグ・アドレスを回線101上の複写列アド
レス信号により選択された複写登録簿95の列の
適正なアドレスに指向させるように作用する。
データの変化の場所をフラツグするため、他の
プロセサによつて変更された主記憶装置における
全データの絶対アドレスを知ることが必要であ
る。これ等の変化の通知アドレスは回線103上
をバツフア104に入る。これ等のアドレスは、
その処理がカツシエの他の部分の処理と同時に生
じ得るように変更通知スタツク105に記憶され
る。変更通知スタツク105も又アドレスを2つ
の部分に分割する目的のための2つの出力を有す
る。回線106上の第1の出力は変更されたアド
レスのタツグ・アドレス・ビツト0乃至12をコ
ンパレータ96の第1のデータ入力側に送る。回
線101の第2の出力は、列アドレス・ビツト1
3乃至21を複写登録簿95のアドレス入力側に
送る。このように、各々の変更通知アドレスがス
タツク105から処理される時、そのビツト13
乃至21は検査のため複写登録簿95の特定の列
を選択する。この列の4つのレベルのタツグ・ア
ドレスは回線107を介してコンパレータ96の
第2のデータ入力側に接続される。コンパレータ
はこれ等のタツグ・アドレスを変更通知アドレス
のタツグ・アドレスと比較し、もしマツチングが
見出されれば、突合されたタツグ・アドレスは回
線109上の複写突合せ信号として列変更スタツ
ク108に対して送られる。列変更スタツク10
8はこのタツグ・アドレスと回線101上の変更
通知アドレスのビツト13乃至21を記憶する。
この時この2つの部分は1つのアドレスとして記
憶される。カツシエ制御装置49は回線110を
介して変更されたアドレスを読出し、この情報か
ら回線68上にクリア信号を生成する。クリア信
号は、カツシエ・ストア40における古いデータ
を指示する基本登録簿54におけるレベルと対応
する充/空白アレー66におけるビツトをクリア
するため使用される。
本発明は本文に開示された特定の望ましい実施
態様により記述したが、当業者にとつては多くの
変更が可能であることは明らかであろう。同様な
方法で同様な装置を用いて同じ目的を達成するこ
れ等の変更例は当書の特許請求の範囲内に包含さ
れるべきものである。
【図面の簡単な説明】
第1図は1つの主記憶装置を共用する2プロセ
サ・データ処理システムを示す図、第2図は各プ
ロセサのカツシエ・メモリーのブロツク図、第3
図は基本登録簿内の場所とカツシエ・ストアの場
所間の対応性を示すメモリー・マツプ、第4図は
LRU更新サブシステムを実施した回路図、第5
図はLRU符号化方式を示す表、第6図はFPLA
チツプの論理回路図、および第7図および第8図
はFPLAチツプの転送機能を示す真理値表であ
る。 10……システム・コントローラ、20……主
記憶装置、30……カツシエ装置、31,95…
…複写登録簿、32……オペレーシヨン装置、3
3,63……ポート制御装置、34……I/O制
御装置、40……カツシエ・ストア、41,4
2,57,67……スイツチ、43……データ・
ラツチ、49……カツシエ制御装置、54……基
本登録簿、55……コンパレータ、56……カツ
シエ・アドレス・ラツチ、66……充/空アレ
ー、72……LRUアレー、78……16進フリツ
プフロツプ、79……ロジツクアレー、86,8
7……ORゲート、96……コンパレータ、9
8,104……バツフア、99……書込みスタツ
ク、105……変更通知スタツク、108……列
変更スタツク。

Claims (1)

  1. 【特許請求の範囲】 1 主記憶装置と、プログラムの実行に必要な時
    前記主記憶装置内に記憶されたデータワードを要
    求する中央処理装置(CPU)とを有するデータ
    処理システムにおける、前記CPUに対するカツ
    シエ・メモリー装置であつて、 (a) 前記CPUにより使用される複数のデータワ
    ードを記憶しアクセスするための、各々が前記
    データ・ワードを記憶する複数のブロツクに
    夫々分割された複数のセクシヨンを有する記憶
    装置と、 (b) 各々が前記記憶装置の1つのブロツクと対応
    する複数の列に分割され、各々前記記憶装置の
    1つのセクシヨンと対応する複数のレベルを有
    し、前記記憶装置に記憶されている主記憶装置
    におけるデータ・ワードを識別するアドレスを
    記憶するための装置と、前記記憶されたアドレ
    スを前記CPUにより要求されるデータ・ワー
    ドのアドレスと比較するための装置と、要求さ
    れたデータ・ワードが前記記憶装置に存在して
    前記データがどのレベルにおいて見出されたか
    を表示する時、突合せ情報を生成するための装
    置とを含む、登録簿装置と、 (c) マツチングが生じた時要求されたデータワー
    ドを前記記憶装置から前記CPUへ供給させる
    ための装置と、マツチングミスが生じた時要求
    されたデータ・ワードを前記主記憶装置から検
    索させるための装置と、該検査されたデータ・
    ワードをCPUに対して供給させるための装置
    と、前記検索されたデータ・ワードを前記記憶
    装置に記憶させるための装置と、検索されたデ
    ータ・ワードを指標付けするアドレスが前記登
    録簿装置のLRUレベルに記憶されるべきこと
    を指令するための装置と、マツチングが生じた
    時新らしい最も後で使用されたレベルにおいて
    更新データを生成してこれを記憶するための装
    置とを含む、制御装置と、から成り、 前記制御装置の前記指令するための装置が、そ
    れぞれが前記登録薄装置の1つの列を表し、それ
    ぞれが前記対応する列の前記レベルの時間的使用
    順序を符号化するためのLRUビツトを記憶し、
    該LRUビツトの読み出しと更新されたLRUビツ
    トの書き込みのために独立にアドレス指定可能
    な、複数の行に分解されたランダム・アクセス・
    メモリーLRUアレーを含み、 前記行のLRUビツトのそれぞれが前記登録簿
    装置の1対のレベルを表し、LRUビツトの1つ
    の2進状態は前記複数のレベルの内の1つが前記
    順序以前に使用されたことを意味し、反対の2進
    状態は逆の状況を意味し、LRUビツトは前記登
    録簿装置の前記複数のレベルの使用の総ての可能
    な組み合わせを表すために十分な数を有すること
    を特徴とする、 カツシエ・メモリー装置。
JP582881A 1980-01-24 1981-01-17 Cashe memory using selective clear and lru renewal Granted JPS56114187A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/114,854 US4322795A (en) 1980-01-24 1980-01-24 Cache memory utilizing selective clearing and least recently used updating

Publications (2)

Publication Number Publication Date
JPS56114187A JPS56114187A (en) 1981-09-08
JPH0470656B2 true JPH0470656B2 (ja) 1992-11-11

Family

ID=22357797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP582881A Granted JPS56114187A (en) 1980-01-24 1981-01-17 Cashe memory using selective clear and lru renewal

Country Status (7)

Country Link
US (1) US4322795A (ja)
JP (1) JPS56114187A (ja)
AU (1) AU540144B2 (ja)
CA (1) CA1161172A (ja)
DE (1) DE3102150C2 (ja)
FR (1) FR2474721B1 (ja)
GB (1) GB2068155B (ja)

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55134459A (en) * 1979-04-06 1980-10-20 Hitachi Ltd Data processing system
US4390943A (en) * 1979-12-26 1983-06-28 Honeywell Information Systems Inc. Interface apparatus for data transfer through an input/output multiplexer from plural CPU subsystems to peripheral subsystems
JPS56169281A (en) 1980-06-02 1981-12-25 Hitachi Ltd Data processor
US4386402A (en) * 1980-09-25 1983-05-31 Bell Telephone Laboratories, Incorporated Computer with dual vat buffers for accessing a common memory shared by a cache and a processor interrupt stack
US4394731A (en) * 1980-11-10 1983-07-19 International Business Machines Corporation Cache storage line shareability control for a multiprocessor system
US4433374A (en) * 1980-11-14 1984-02-21 Sperry Corporation Cache/disk subsystem with cache bypass
US4410944A (en) * 1981-03-24 1983-10-18 Burroughs Corporation Apparatus and method for maintaining cache memory integrity in a shared memory environment
US4445174A (en) * 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache
US4414644A (en) * 1981-04-03 1983-11-08 International Business Machines Corporation Method and apparatus for discarding data from a buffer after reading such data
US4464712A (en) * 1981-07-06 1984-08-07 International Business Machines Corporation Second level cache replacement method and apparatus
US4525777A (en) * 1981-08-03 1985-06-25 Honeywell Information Systems Inc. Split-cycle cache system with SCU controlled cache clearing during cache store access period
US4481570A (en) * 1981-08-07 1984-11-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Automatic multi-banking of memory for microprocessors
US4467416A (en) * 1981-09-16 1984-08-21 Honeywell Information Systems Inc. Logic transfer and decoding system
US4460959A (en) * 1981-09-16 1984-07-17 Honeywell Information Systems Inc. Logic control system including cache memory for CPU-memory transfers
US4458310A (en) * 1981-10-02 1984-07-03 At&T Bell Laboratories Cache memory using a lowest priority replacement circuit
US4463420A (en) * 1982-02-23 1984-07-31 International Business Machines Corporation Multiprocessor cache replacement under task control
DE3376590D1 (en) * 1982-04-28 1988-06-16 Int Computers Ltd Data processing system
US4494190A (en) * 1982-05-12 1985-01-15 Honeywell Information Systems Inc. FIFO buffer to cache memory
US4511994A (en) * 1982-09-27 1985-04-16 Control Data Corporation Multi-group LRU resolver
US4897783A (en) * 1983-03-14 1990-01-30 Nay Daniel L Computer memory system
US4603380A (en) * 1983-07-01 1986-07-29 International Business Machines Corporation DASD cache block staging
DE3502147A1 (de) * 1984-01-23 1985-08-08 Hitachi Microcomputer Engineering Ltd., Kodaira, Tokio/Tokyo Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung
DE3582506D1 (de) * 1984-02-10 1991-05-23 Prime Computer Inc Cache-kohaerenz-anordnung.
US4807110A (en) * 1984-04-06 1989-02-21 International Business Machines Corporation Prefetching system for a cache having a second directory for sequentially accessed blocks
EP0173556A3 (en) * 1984-08-31 1987-05-27 Texas Instruments Incorporated Hierarchical architecture for determining the least recently used cache memory
US4648033A (en) * 1984-09-07 1987-03-03 International Business Machines Corporation Look-aside buffer LRU marker controller
US4847804A (en) * 1985-02-05 1989-07-11 Digital Equipment Corporation Apparatus and method for data copy consistency in a multi-cache data processing unit
JP2539357B2 (ja) * 1985-03-15 1996-10-02 株式会社日立製作所 デ−タ処理装置
US4835686A (en) * 1985-05-29 1989-05-30 Kabushiki Kaisha Toshiba Cache system adopting an LRU system, and magnetic disk controller incorporating it
US4755930A (en) * 1985-06-27 1988-07-05 Encore Computer Corporation Hierarchical cache memory system and method
US4875155A (en) * 1985-06-28 1989-10-17 International Business Machines Corporation Peripheral subsystem having read/write cache with record access
US4775955A (en) * 1985-10-30 1988-10-04 International Business Machines Corporation Cache coherence mechanism based on locking
FR2590699B1 (fr) * 1985-11-25 1994-07-01 Nec Corp Systeme assurant la coherence pour les contenus d'une antememoire
US5349672A (en) * 1986-03-17 1994-09-20 Hitachi, Ltd. Data processor having logical address memories and purge capabilities
US4797814A (en) * 1986-05-01 1989-01-10 International Business Machines Corporation Variable address mode cache
US5146604A (en) * 1986-06-06 1992-09-08 Canon Kabushiki Kaisha Information filing apparatus that stores and erases information based on frequency of its use
GB2200483B (en) * 1987-01-22 1991-10-16 Nat Semiconductor Corp Memory referencing in a high performance microprocessor
JPS63257854A (ja) * 1987-04-15 1988-10-25 Nec Corp Lruメモリ障害検出回路
US4833601A (en) * 1987-05-28 1989-05-23 Bull Hn Information Systems Inc. Cache resiliency in processing a variety of address faults
US5341483A (en) * 1987-12-22 1994-08-23 Kendall Square Research Corporation Dynamic hierarchial associative memory
US5251308A (en) * 1987-12-22 1993-10-05 Kendall Square Research Corporation Shared memory multiprocessor with data hiding and post-store
US5761413A (en) * 1987-12-22 1998-06-02 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
US5226039A (en) * 1987-12-22 1993-07-06 Kendall Square Research Corporation Packet routing switch
US5055999A (en) * 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
US5822578A (en) * 1987-12-22 1998-10-13 Sun Microsystems, Inc. System for inserting instructions into processor instruction stream in order to perform interrupt processing
NL8800858A (nl) * 1988-04-05 1989-11-01 Philips Nv Rekenmachinesysteem voorzien van een hoofdbus en een tussen processor en geheugen direkt verbonden extra kommunikatielijn.
US5140690A (en) * 1988-06-14 1992-08-18 Mitsubishi Denki Kabushiki Kaisha Least-recently-used circuit
US5226146A (en) * 1988-10-28 1993-07-06 Hewlett-Packard Company Duplicate tag store purge queue
EP0366323A3 (en) * 1988-10-28 1991-09-18 Apollo Computer Inc. Duplicate tag store purge queue
JPH02148235A (ja) * 1988-11-30 1990-06-07 Toshiba Corp データ退避方式
US5224217A (en) * 1988-12-30 1993-06-29 Saied Zangenehpour Computer system which uses a least-recently-used algorithm for manipulating data tags when performing cache replacement
US5060136A (en) * 1989-01-06 1991-10-22 International Business Machines Corp. Four-way associative cache with dlat and separately addressable arrays used for updating certain bits without reading them out first
US5161219A (en) * 1989-01-13 1992-11-03 International Business Machines Corporation Computer system with input/output cache
JPH0348951A (ja) * 1989-07-18 1991-03-01 Fujitsu Ltd アドレスモニタ装置
US5043885A (en) * 1989-08-08 1991-08-27 International Business Machines Corporation Data cache using dynamic frequency based replacement and boundary criteria
EP0419961A3 (en) * 1989-09-26 1991-10-23 Siemens Aktiengesellschaft Method and circuit for replacement control, particularly for a system containing digital memory elements
US5109496A (en) * 1989-09-27 1992-04-28 International Business Machines Corporation Most recently used address translation system with least recently used (LRU) replacement
US5153595A (en) * 1990-03-26 1992-10-06 Geophysical Survey Systems, Inc. Range information from signal distortions
EP0463967A3 (en) * 1990-06-29 1993-02-24 Digital Equipment Corporation Cache set selection for high-performance processor
CA2045756C (en) * 1990-06-29 1996-08-20 Gregg Bouchard Combined queue for invalidates and return data in multiprocessor system
CA2078312A1 (en) 1991-09-20 1993-03-21 Mark A. Kaufman Digital data processor with improved paging
CA2078310A1 (en) * 1991-09-20 1993-03-21 Mark A. Kaufman Digital processor with distributed memory system
US5384713A (en) * 1991-10-23 1995-01-24 Lecroy Corp Apparatus and method for acquiring and detecting stale data
US5345582A (en) * 1991-12-20 1994-09-06 Unisys Corporation Failure detection for instruction processor associative cache memories
EP0553743A1 (en) * 1992-01-31 1993-08-04 Motorola, Inc. A cache controller
JPH0756815A (ja) * 1993-07-28 1995-03-03 Internatl Business Mach Corp <Ibm> キャッシュ動作方法及びキャッシュ
US5898854A (en) * 1994-01-04 1999-04-27 Intel Corporation Apparatus for indicating an oldest non-retired load operation in an array
JP3030229B2 (ja) * 1994-06-20 2000-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション データを転送する方法及びデータ記憶システム
US5606688A (en) * 1994-08-31 1997-02-25 International Business Machines Corporation Method and apparatus for dynamic cache memory allocation via single-reference residency times
US6016535A (en) * 1995-10-11 2000-01-18 Citrix Systems, Inc. Method for dynamically and efficiently caching objects by subdividing cache memory blocks into equally-sized sub-blocks
US6081623A (en) * 1995-10-11 2000-06-27 Citrix Systems, Inc. Method for lossless bandwidth compression of a series of glyphs
US5845317A (en) * 1995-11-17 1998-12-01 Micron Technology, Inc. Multi-way cache expansion circuit architecture
US5913216A (en) * 1996-03-19 1999-06-15 Lucent Technologies, Inc. Sequential pattern memory searching and storage management technique
US5765192A (en) * 1996-05-01 1998-06-09 Sun Microsystems, Inc. Method and computer program product to reuse directory search handles
US6057857A (en) 1996-06-12 2000-05-02 Citrix Systems, Inc. Method for the lossless compression of lines in a distributed computer system
US5961632A (en) * 1996-07-25 1999-10-05 Texas Instruments Incorporated Microprocessor with circuits, systems, and methods for selecting alternative pipeline instruction paths based on instruction leading codes
US5822759A (en) * 1996-11-22 1998-10-13 Versant Object Technology Cache system
US6032233A (en) * 1997-06-27 2000-02-29 International Business Machines Corporation Storage array allowing for multiple, simultaneous write accesses
US6256712B1 (en) 1997-08-01 2001-07-03 International Business Machines Corporation Scaleable method for maintaining and making consistent updates to caches
US6026413A (en) * 1997-08-01 2000-02-15 International Business Machines Corporation Determining how changes to underlying data affect cached objects
US6343350B1 (en) * 1998-02-13 2002-01-29 International Business Machines Corporation Conserving storage space by means of low resolution objects
WO2001093525A2 (en) 2000-05-26 2001-12-06 Citrix Systems, Inc. Method and system for efficiently reducing graphical display data for transmission over a low bandwidth transport protocol mechanism
US6856651B2 (en) * 2000-07-25 2005-02-15 Peribit Networks, Inc. System and method for incremental and continuous data compression
AU2001280818A1 (en) * 2000-07-25 2002-02-05 Peribit Networks, Inc. Network architecture and methods for transparent on-line cross-sessional encoding and transport of network communications data
JP2003167751A (ja) * 2001-04-24 2003-06-13 Ricoh Co Ltd プロセッサ処理方法およびプロセッサシステム
AU2002323364A1 (en) * 2001-08-24 2003-03-10 Peribit Networks, Inc. Dynamic multi-point meshed overlay network
US20030084249A1 (en) * 2001-10-31 2003-05-01 Johnson David J.C. Preemptive eviction of stale entries is a computer cache by use of age-bits
US6826656B2 (en) * 2002-01-28 2004-11-30 International Business Machines Corporation Reducing power in a snooping cache based multiprocessor environment
US7130931B2 (en) * 2003-06-18 2006-10-31 International Business Machines Corporation Method, system, and article of manufacture for selecting replication volumes
JP4327669B2 (ja) * 2004-06-29 2009-09-09 徳元 王 キャッシュ装置及び方法
US20060031639A1 (en) * 2004-08-06 2006-02-09 International Business Machines Corporation Write unmodified data to controller read cache
US8423673B2 (en) * 2005-03-14 2013-04-16 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment using compression
US8171169B2 (en) * 2005-03-14 2012-05-01 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment
US8325795B1 (en) 2008-12-01 2012-12-04 Adobe Systems Incorporated Managing indexing of live multimedia streaming
US8782143B2 (en) * 2008-12-17 2014-07-15 Adobe Systems Incorporated Disk management
WO2012014015A2 (en) * 2010-07-27 2012-02-02 Freescale Semiconductor, Inc. Apparatus and method for reducing processor latency
US9965607B2 (en) * 2012-06-29 2018-05-08 Apple Inc. Expedited biometric validation
WO2014042649A1 (en) 2012-09-14 2014-03-20 Empire Technology Development, Llc Cache coherence directory in multi-processor architectures
KR101638064B1 (ko) 2013-02-11 2016-07-08 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 캐시 제거 통지를 디렉토리로 수집
US9928355B2 (en) 2013-09-09 2018-03-27 Apple Inc. Background enrollment and authentication of a user
GB2521227B (en) * 2013-12-16 2020-11-25 Advanced Risc Mach Ltd Invalidation of index items for a temporary data store
US10901908B2 (en) 2019-01-16 2021-01-26 International Business Machines Corporation Storing data into a memory

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3786427A (en) * 1971-06-29 1974-01-15 Ibm Dynamic address translation reversed
US3866183A (en) * 1973-08-31 1975-02-11 Honeywell Inf Systems Communications control apparatus for the use with a cache store
US3845474A (en) * 1973-11-05 1974-10-29 Honeywell Inf Systems Cache store clearing operation for multiprocessor mode
US3949368A (en) * 1974-01-23 1976-04-06 Data General Corporation Automatic data priority technique
JPS5440182B2 (ja) * 1974-02-26 1979-12-01
US3967247A (en) * 1974-11-11 1976-06-29 Sperry Rand Corporation Storage interface unit
FR116049A (ja) * 1975-03-20
US4008460A (en) * 1975-12-24 1977-02-15 International Business Machines Corporation Circuit for implementing a modified LRU replacement algorithm for a cache
US4092713A (en) * 1977-06-13 1978-05-30 Sperry Rand Corporation Post-write address word correction in cache memory system
US4136386A (en) * 1977-10-06 1979-01-23 International Business Machines Corporation Backing store access coordination in a multi-processor system
CA1121515A (en) * 1977-12-08 1982-04-06 Charles P. Ryan Cache memory location selection mechanism
US4195343A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Round robin replacement for a cache store
JPS54128639A (en) * 1978-03-30 1979-10-05 Toshiba Corp Control system for cash memory
DE2947115A1 (de) * 1978-12-11 1980-06-26 Honeywell Inf Systems Loeschanordnung fuer einen cache- speicher eines prozessors in einem multiprozessorsystem

Also Published As

Publication number Publication date
AU6594881A (en) 1982-04-01
GB2068155A (en) 1981-08-05
FR2474721A1 (fr) 1981-07-31
DE3102150C2 (de) 1994-04-28
US4322795A (en) 1982-03-30
AU540144B2 (en) 1984-11-01
FR2474721B1 (fr) 1987-09-11
JPS56114187A (en) 1981-09-08
CA1161172A (en) 1984-01-24
GB2068155B (en) 1984-04-04
DE3102150A1 (de) 1981-12-17

Similar Documents

Publication Publication Date Title
JPH0470656B2 (ja)
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
US4831520A (en) Bus interface circuit for digital data processor
EP0036110B1 (en) Cache addressing mechanism
US5526509A (en) Method and apparatus for controlling one or more hierarchical memories using a virtual storage scheme and physical to virtual address translation
US6006311A (en) Dynamic updating of repair mask used for cache defect avoidance
KR930022222A (ko) 캐시가 일관된 다중 처리기 컴퓨터 시스템에서 다중 미결동작을 제공하기 위한 장치 및 그 방법
EP0303661B1 (en) Central processor unit for digital data processing system including write buffer management mechanism
US6493812B1 (en) Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache
US4914582A (en) Cache tag lookaside
US6023746A (en) Dual associative-cache directories allowing simultaneous read operation using two buses with multiplexors, address tags, memory block control signals, single clock cycle operation and error correction
US5347642A (en) Cache memory management unit
JPS6133219B2 (ja)
JPS5823375A (ja) デ−タ−処理システムにおけるキヤツシユの選択的クリア方法および装置
EP0303648B1 (en) Central processor unit for digital data processing system including cache management mechanism
US5958068A (en) Cache array defect functional bypassing using repair mask
JPH11203199A (ja) キャッシュ・メモリ
US6085288A (en) Dual cache directories with respective queue independently executing its content and allowing staggered write operations
JPH07120312B2 (ja) バッファメモリ制御装置
US5867511A (en) Method for high-speed recoverable directory access
US5943686A (en) Multiple cache directories for non-arbitration concurrent accessing of a cache memory
EP0706132A2 (en) Method and system for miss sequence handling in a data cache array having multiple content addressable fields per cache line
EP0180369B1 (en) Cache memory addressable by both physical and virtual addresses
EP0173909A2 (en) Look-aside buffer least recently used marker controller