JPH0667980A - 4ブロックキャッシュメモリへのアクセスを最適化するためのキャッシュ論理システムおよびメインフレームコンピュータの高速キャッシュメモリへのアクセス時のダブルミスを防ぐ方法 - Google Patents

4ブロックキャッシュメモリへのアクセスを最適化するためのキャッシュ論理システムおよびメインフレームコンピュータの高速キャッシュメモリへのアクセス時のダブルミスを防ぐ方法

Info

Publication number
JPH0667980A
JPH0667980A JP5109327A JP10932793A JPH0667980A JP H0667980 A JPH0667980 A JP H0667980A JP 5109327 A JP5109327 A JP 5109327A JP 10932793 A JP10932793 A JP 10932793A JP H0667980 A JPH0667980 A JP H0667980A
Authority
JP
Japan
Prior art keywords
cache
block
memory
information
logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5109327A
Other languages
English (en)
Inventor
Tsuchiya Kenichi
ケンイチ・ツチヤ
Adelmayer Thomas
トーマス・アデルメーヤー
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.)
Unisys Corp
Original Assignee
Unisys Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Unisys Corp filed Critical Unisys Corp
Publication of JPH0667980A publication Critical patent/JPH0667980A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc

Abstract

(57)【要約】 【目的】 キャッシュメモリを参照する命令プロセッサ
(IP)のミス率を統計的最小限に低減する。 【構成】 高速メインフレームコンピュータシステムで
は、高速IPは高速キャッシュメモリを備え、それは複
数の関連メモリを含む。IPがキャッシュメモリにアク
セスしようとするたびに、関連メモリにアクセスしてM
RUブロック情報、有効情報および無効ブロック情報と
を与えるキャッシュセットアドレスが発生される。アク
セスされた情報はキャッシュ論理システムへの入力とし
て与えられる。キャッシュの論理システムは情報を論理
的に変更してMRU情報を更新し、IP側の制御または
監視なしに変更されたMRU情報をMRU関連メモリの
セットアドレスに書込み、またキャッシュのブロック置
換のためにMRU情報、有効情報および無効ブロック情
報を使用してLRUブロックコード情報を発生する。

Description

【発明の詳細な説明】
【0001】
【発明の分野】この発明は、高速メインフレームコンピ
ュータに使用される高速命令プロセッサ(IP)のキャ
ッシュメモリに関する。より特定的には、この発明は命
令プロセッサにおける最も古く使用された(LRU)ブ
ロックをエラーなしに識別するおよび/またはブロック
置換のために命令プロセッサのキャッシュメモリにおけ
るいかなる無効または劣化ブロックも識別する論理回路
に関する。
【0002】
【先行技術の説明】この発明は、「対をなす最も古く使
用された(LRU)ブロック置換システム」を示しかつ
説明する米国特許第4,168,541号の改良であ
る。この特許は、3ビットのコードを使用してキャッシ
ュメモリにおける最も新しく使用された1対のブロック
を識別する。3ビットのコードの第1のビットは、最も
古く使用されたブロックかまたは2つの最も古く使用さ
れたブロックのうちの1つを含む可能な2対のブロック
(ABまたはCD)のうちの1つを識別するために使用
される。この3ビットの論理コードは、最も古く使用さ
れたブロックであるキャッシュメモリの4ブロックのう
ちの1ブロックを選択すれば必ず統計的エラーを発生す
る。しかしながら、この複雑な論理回路はほとんどの時
に、最も古く使用されたブロックを含む1対のブロック
を選択することが示され得る。3ビットのコードのうち
の最後の2ビットは、選択された対ABまたはCD内
で、2つのブロックAまたはBのうちのどちらが最も古
く使用されたブロックであるかを識別するために使用さ
れる。キャッシュメモリにおける2番目に古く使用され
たブロックを置換するよりもむしろ毎回キャッシュメモ
リにおける最も古く使用された(LRU)ブロックを置
換することがヒット率を向上し、それによって命令プロ
セッサおよび計算機システムの動作の速度の向上がもた
らされるであろうということが統計上示され得る。
【0003】上述の米国特許は、キャッシュメモリのす
でに無効化されたブロック領域に書込むことを禁止して
いないので、命令プロセッサによって連続的に参照され
るときに付加的なミスを作り出すであろう。
【0004】ミスを統計的最小限に縮小するであろう、
高速命令プロセッサの高速キャッシュメモリのための簡
略化された論理回路を提供することは非常に望ましいで
あろう。
【0005】
【発明の概要】この発明の主な目的は、キャッシュメモ
リを参照する命令プロセッサのミス率を統計的最小限に
低減することである。
【0006】この発明の他の主な目的は、高速命令プロ
セッサのキャッシュメモリのセットアソシアティブアド
レスの最も古く使用されたブロックを統計的エラーなし
に識別しかつエンコードすることである。
【0007】この発明の他の主な目的は、ブロック置換
のためにキャッシュメモリのセットアソシアティブアド
レスの1つまたは複数の無効ブロックを統計的エラーな
しに識別することである。
【0008】この発明の他の主な目的は、1つまたは複
数の無効化されたブロックがブロック置換のために使用
されないように、キャッシュメモリのセットアソシアテ
ィブアドレスの1つまたは複数の無効化されたブロック
を統計的エラーなしに識別することである。
【0009】この発明の他の主な目的は、命令プロセッ
サの性能の低下を最小限にしながら命令プロセッサのキ
ャッシュメモリのミスの数を最小限にするために使用さ
れる新規の簡略化された論理回路を提供することであ
る。
【0010】この発明のこれらのおよび他の目的に従っ
て、4ブロックのセットアソシアティブキャッシュメモ
リに対してブロックの可能な6対の組合せの各々をエン
コードされた5ビットの二進フォーマットで記憶する最
も新しく使用された情報メモリが提供される。論理回路
はその5ビットのコードのうちの2ビットを使用して最
も新しく使用されたブロックを識別し、かつ残りの3ビ
ットを使用して最も新しく使用された(MRU)ブロッ
クを含まない3対のブロックに関する情報をエンコード
する。LRU/MRU情報のエンコードされた5ビット
は、読出、変更および書込の動作モードでキャッシュメ
モリのセットアソシアティブアドレスに記憶され、その
ためIPキャッシュメモリの参照がミスであれば、キャ
ッシュメモリのセットアソシアティブアドレスへの次の
参照は、ブロック置換のために最も古く使用された情報
を導出するのに必要なすべての情報を含む。
【0011】
【好ましい実施例の詳細な説明】今図1を参照すると、
記憶コントローラを介して主記憶装置に結合された2つ
の命令プロセッサ(IP)11および12の簡略化され
た概略図が示されている。システム10はIP11およ
び12を含み、その各々はキャッシュメモリ14および
そのキャッシュ関連メモリ15に結合されるキャッシュ
関連論理13を有するように示されている。多重ライン
ケーブル16は、記憶コントローラ17に両方向に結合
され、コントローラ17は好ましくは第2のレベルのキ
ャッシュメモリ18を含み、メモリ18はケーブル19
および20を介して主記憶装置(MSU)21および2
2に結合される。
【0012】好ましい動作モードにおいて、命令プロセ
ッサ11は命令プロセッサによって発生されたアドレス
を使用してそのキャッシュメモリ14を参照しようとす
るであろう。キャッシュメモリが情報の1つまたは複数
の要求されたブロックを含みかつ要求された1つまたは
複数のブロックが劣化または無効化されていなければ、
命令プロセッサはキャッシュメモリにアクセスすること
ができ、完全ヒットがもたらされる。同時にキャッシュ
関連論理は、エージング情報を更新するキャッシュ関連
メモリ15に記憶される情報を発生し、それは以下にさ
らに詳細に説明される。
【0013】同じIP11がキャッシュメモリにないア
ドレスでキャッシュメモリ14を参照しようとすれば、
ミスが発生し、それは記憶コントローラ17によって検
出され、コントローラ17はまず第2のレベルのキャッ
シュメモリ18を検索して、ミスしたブロックがその中
に含まれるかどうかを判断する。ミスしたブロックが第
2のレベルのキャッシュメモリに含まれていれば、それ
はすぐにIPのキャッシュメモリ14に送られ最も古く
使用されたブロックを置換する。命令プロセッサが現在
の命令を実行するために必要なコマンドまたはデータを
要求するため、命令プロセッサは場合によっては必要な
コマンドまたはデータを待たなければならず、したがっ
て連続的なミスを引起こすであろう状態を発生せずに必
要な情報がキャッシュメモリ14に供給されることは避
けられない。命令プロセッサによって参照された情報の
1つまたは複数のブロックが第2のレベルのキャッシュ
メモリ18になければ、記憶コントローラ17は情報の
1つまたは複数の望ましいブロックを関連MSU21ま
たは22のうちの1つからフェッチしなければならな
い。命令プロセッサ11は再び待ち状態に置かれ、した
がってミスの数を最小限にすることおよび情報のブロッ
クをキャッシュメモリ14に統計的に与えてヒット率を
最大限にすることが重要であることが認められるであろ
う。
【0014】今図2を参照すると、タグメモリ23、有
効情報メモリ24、無効情報メモリ25および最も新し
く使用された情報メモリ26を含むキャッシュ関連メモ
リ15が概略図フォーマットで示されている。IP11
がキャッシュメモリ14を参照しようとすると、IP
は、キャッシュ関連メモリ23〜26の各々において単
一のアドレスを指す主キャッシュセットアソシアティブ
アドレスを発生する。IPによって発生されたアドレス
は、メモリの4つの異なるブロックを識別する4つのデ
ィレクトリアドレスを含む単一のセットアドレスを指
す。したがって、タグメモリ23は、IPによって発生
されたキャッシュセットアドレスを真のブロックアドレ
スに変換するためのルックアップテーブルとして機能す
る。
【0015】IPによって発生されたキャッシュセット
アドレスはまた、示されたセットアドレスで有効情報メ
モリ24に記憶された4つのビットおよびパリティを指
す。メモリ24の情報は、タグメモリ23およびキャッ
シュメモリ14のブロックアドレスに記憶された情報が
有効情報であるという確認型の情報を含む。別のIPま
たは入出力プロセッサが、これもまたIPのキャッシュ
の中にあるメモリ位置に書込むと、キャッシュのブロッ
クは無効化されるであろう。
【0016】セットアドレスは、ブロックアドレスでブ
ロックに記憶された情報が無効化されていないことを確
かめる無効情報メモリ25の4ビットおよびパリティ情
報をさらに指す。
【0017】IPによって発生されたセットアドレスは
また、以下により詳細に説明されるエージング情報を含
む最も新しく使用された情報メモリ26におけるアドレ
スの5ビット+パリティを指す。この発明を説明する目
的で、セットアドレスによって指されかつ、メモリ位置
27でメモリに記憶された5ビットのエージング情報
は、命令プロセッサがキャッシュメモリ14を参照しよ
うとするたびに更新されるであろう。
【0018】今図3を参照すると、キャッシュに関連し
た最も新しく使用された情報メモリ26およびその関連
論理回路30の概略ブロック図が示されている。命令プ
ロセッサがキャッシュ関連アドレスを発生すると、前に
説明したように絶えず更新されるキャッシュセットアド
レスはMRUメモリ位置27を指す。このメモリ位置2
7の情報の最初の5ビットは、以下により詳細に説明さ
れるエンコードされた情報の5ビットつまり0から4を
含む。キャッシュのセットアドレスがMRUメモリ位置
27を指すとき、このメモリ位置27の情報はMRUバ
ッファレジスタ31にコピーされる。MRUバッファレ
ジスタ31の情報は、MRU論理32への二進コード入
力として利用可能である。以下により詳細に説明される
MRU論理32は、変更された最も新しく使用された情
報(MMRU)を発生し、それはIPによって発生され
たセットアドレスによってアドレス指定された情報の4
ブロックのうちの最も古く使用されたブロックを2ビッ
トの出力としてライン34に自動的に発生するLRU論
理33への入力として発生される。いかなる統計的ミス
をも防ぐために、LRU論理33にはライン36上に上
述の有効情報V0〜V3が与えられ、それは図2の有効
情報メモリ24に示されている。さらに、メモリ25の
同じキャッシュセットアドレスに記憶された無効情報D
0〜D3は、ライン35上の入力として与えられる。し
たがって、無効情報または劣化情報がライン39上のM
RU論理情報に加えてLRU論理33への入力としてラ
イン35および36上に与えられるため、ライン34上
のLRU情報は真の最も古く使用されたブロックとミス
を防ぐために必要な情報とを識別する。書込更新レジス
タ38はライン37を介してMRU論理32におけるメ
モリ位置27の5ビットで更新され、そのためブロック
が無効であるかまたはブロックが劣化されていれば、そ
れ自身のキャッシュメモリ14のメモリ位置をアドレス
指定しようとする命令プロセッサの次の試みは阻止され
るであろう。ライン37上の情報はメモリ位置27に記
憶されるべき5ビット+パリティビットを含み、したが
ってライン37は変更されたMRU情報の並列6ビット
を有するものとして示されている。メモリ位置27に記
憶されるべき5ビットがどのように発生されるかが今説
明される。
【0019】今図4および図5を参照すると、最も新し
く使用された(MRU)論理ブロック32の詳細な論理
回路が示されている。図4の論理ブロック32への入力
は、MRUバッファレジスタ31によって発生されるビ
ットとして示されている。0〜4と番号が付けられてい
るこれらのビットは、キャッシュメモリ14における4
ブロックの6つの可能なブロックの組合せとしてブロッ
クB0B1、B0B2、B0B3、B1B2、B1B3
およびB2B3として示されているブロック対の情報を
発生するために使用されるマルチプレクサ41〜46へ
の入力として与えられる。ライン51〜56に示されて
いる望ましいブロック対の情報を発生するためには、図
示されているようにデータ情報がマルチプレクサ41〜
46の左側に入りマルチプレクサの右側で図示されたラ
イン51〜56上で図示された望ましい出力を発生する
一方で、マルチプレクサ41〜46の上部に入る選択制
御ライン上でビット情報によってマルチプレクサ41〜
46が制御されることが必要である。マルチプレクサ4
1によってビット0の制御下で行なわれる論理は、ビッ
ト0が設定されればビット2ライン上のビットを選択
し、そうでなければライン51に対する出力としてビッ
ト1を選択することである。同様に、ビット0および1
が共に設定されれば、マルチプレクサ42はビット3を
選択するであろう。しかしながら、ビット0が設定され
かつビット1が設定されなければ、マルチプレクサ42
はハイ状態に接続されるライン57上のハイ出力を選択
するであろう。制御状態としてビット1が設定されかつ
ビット0が設定されなければ、ビット2はライン52に
対する出力として選択されるであろう。ビット0および
ビット1の制御ラインが共に0であれば、マルチプレク
サ42はライン52に対する出力状態としてライン58
上のロー状態を選択するであろう。
【0020】両方が設定される、0かまたは1が設定さ
れる、および0も1も設定されないことが可能である制
御ライン0および1の3つの可能な状態によってライン
53に対する3つの可能な出力状態が与えられる。その
場合、マルチプレクサ43はライン57、ビット3およ
びライン58上の状態をそれぞれ選択する。
【0021】0ビットおよび1ビットが設定されない、
または0ビットのみが設定されない、または1ビットの
みが設定されない、または0および1ビットが設定され
ることによって、マルチプレクサ44への4つの可能な
出力状態が表わされる。これらの4つの状態は、出力ラ
イン54上に、ビット2、ライン58、ライン57およ
びビット4の入力によってそれぞれ表わされる。
【0022】同様の方法で、マルチプレクサ45への入
力として与えられた同一の4つの制御状態は、ビット
3、ライン58、ビット4およびライン57上のそれぞ
れの入力によって発生されたライン55上のそれぞれの
出力を発生するであろう。
【0023】マルチプレクサ46への制御ラインは、ビ
ット0が設定されないまたは設定されるという2つだけ
の可能な状態を有する。設定されないとき、マルチプレ
クサ46へのビット4の入力はライン56上の出力とし
て発生され、設定されればビット1はライン56上の出
力として発生される。ライン51〜56上に示された出
力を発生すると、それらは図5に詳細に示されているマ
ルチプレクサ47〜49に与えられる。
【0024】今図5を参照すると、図3に示されている
MRU論理ブロック32の詳細な論理回路図が示されて
いる。簡単な論理を説明する前に、いずれかの特定のブ
ロックアドレスでヒットが発生したかどうかを判断する
ために3つの状態が使用されるということが理解される
であろう。ライン59〜61上に示されているような3
つの状態の第1は、ブロックが有効でかつ情報有効メモ
リ24で識別されるというライン59に与えられるよう
に示された状態である。第2は、ブロックはこれまで無
効化されておらずかつキャッシュメモリ/タグメモリの
ハードウェアの問題がない状態であり、それは図2に示
されているメモリ25の情報によって示され、ANDゲ
ート62への入力としてライン60上に示される状態で
ある。第3は、ブロックアドレスはIPアドレスとタグ
メモリ23のブロックアドレスとを比較することによっ
て得られるIPアドレスと同じである状態で、その状態
はライン61上に示される。ライン60上の無効化され
た状態はNOT状態としてANDゲート62に与えら
れ、ライン63上に、アドレス指定されたブロックに対
するヒット状態が発生したことを示すことが注目される
であろう。ライン63上の信号は、命令プロセッサがキ
ャッシュメモリ14へのメモリアドレスを発生した結
果、0ないし3の4ブロックのうちの1つがヒットされ
たことを示す。ライン67上のブロック二進指定は、ブ
ロック選択制御状態としてマルチプレクサ47〜49に
与えられ、ライン51〜56上の入力のうちの1つを図
5に示されているようにライン64〜66上の出力とし
て選択する。たとえば、ブロック3がヒットされれば、
マルチプレクサ47の3と指定される選択された入力
(それはライン51上でB0B1状態である)は、ライ
ン64に対する出力として選択される。ライン37(ラ
イン64〜67を含む)は、書込更新レジスタ38への
入力である。MRUメモリ位置27が情報をメモリ26
のレジスタ38に書込むことによって更新されると、ラ
イン64上の情報はメモリ位置27のビット2位置に記
憶される。同様に、ブロック2がヒットされれば、マル
チプレクサ47に示されているブロック2状態は前のよ
うにライン51を選択する。ブロック1がヒットされれ
ば、マルチプレクサ47はライン64上の出力に対して
ライン52上の入力を選択する。ブロック0がヒットさ
れれば、メモリ26のメモリ位置のビット2位置27に
書込むためにライン54上の入力がライン64上の出力
として選択される。
【0025】マルチプレクサ48は、ライン65上の出
力としてライン55、53、52または52上の入力を
それぞれ選択するであろう4つの可能なブロックヒット
状態0ないし3を有するように示されている。同様に、
ライン56、56、55および54上のマルチプレクサ
49への入力はブロック0ないし3のヒットに対して示
される状態に対して選択され、ビット4に対して出力を
発生し、MRUメモリ26のメモリ位置27に連続的に
書込まれるレジスタ38を更新する。
【0026】ブロック0ないし3がヒットされると、そ
れはライン67でヒットされるブロックを示す二進フォ
ーマットにエンコードされ、エンコードされた情報は更
新レジスタ38を介してメモリ位置27の0および1ビ
ット位置に記録される。ブロック0でのヒットは、ライ
ン67上で二進00状態を発生し、メモリ位置27のビ
ット位置0および1に記録されるであろう。同様に、ブ
ロック3でのヒットはライン67上で11状態を発生
し、それはレジスタ38およびメモリ位置27のビット
位置0および1に記録されるであろう。好ましい動作モ
ードにおいては、レジスタ38はまた出力ライン64〜
67上に示されている情報がロードされ、それは命令プ
ロセッサ11がキャッシュメモリ14のメモリ位置を参
照しようとした結果としてヒット状態が発生すると、M
RUメモリ26のメモリ位置27に連続的にロードされ
る。ヒットが発生しなければ、ライン64〜67上に示
されている情報は発生されず、ドントケア状態または第
2のレベルのキャッシュ18にアクセスしようとする試
みまたはMSU21または22のMSUアドレスのうち
の1つにアクセスしようとする試みを示す。後者の2つ
の状態においては、IPは情報の新しいブロックがその
キャッシュメモリ14にもたらされるのを待つ。一旦こ
の新しい情報が利用可能になると、IPは以前にミスさ
れたブロックを参照しようと再び試みるであろう。情報
の新しいブロックがキャッシュメモリ14に供給される
結果、メモリ位置27は更新される。メモリ位置27の
情報が新しいブロックで更新されると、キャッシュメモ
リ14内の以前のブロックのうちの1つが置換され、置
換されるべきブロックはライン34上のLRU情報によ
って示される。違う言い方をすれば、IPがキャッシュ
メモリ14に必要とされる情報を見つけなければ、情報
は第2のレベルのキャッシュ18またはMSU21およ
び22のうちの1つから得なければならない。一旦情報
が第2のレベルのキャッシュ18またはMSU21およ
び22のうちの1つから得られると、情報の新しいブロ
ックはキャッシュメモリ14の最も古く使用されたブロ
ックの上に書込まれなければならない。
【0027】今図6および図7を参照すると、図3に示
されているLRU論理ブロック33の詳細な論理回路図
が示されている。今から説明されるように、LRU論理
ブロック33はライン35、36および39(ライン5
1〜56)上の入力として示されている情報を受取り、
ライン34上にLRU情報を発生する。図6は、その各
々が4ビットを有する入力ライン35および36を示
す。4ビットはメモリ24および25からのもので、ラ
イン35および36上に4相補ビットがある。ライン3
9上にはライン51から56までの6ビットがある。こ
の入力情報は、AND/OR論理68および69を含む
ゲート論理回路に与えられ、説明不要である表1に示さ
れているようにMB0B1〜MB2B3として示されて
いる望ましい変更された出力をライン71〜76上にそ
れぞれ発生する。たとえば、ライン71上で出力MB0
B1を発生するために非無効ブロック0
【0028】
【数1】
【0029】と有効ブロック1(V1)とブロック対B
0B1、または非無効ブロック0
【0030】
【数2】
【0031】と非有効ブロック0、
【0032】
【数3】
【0033】または無効ブロック1(D1)は、ライン
71上に示されているハイ状態の変更されたB0B1
(MB0B1)を発生するであろう。ライン72〜76
上に示されている他の状態は、表1に示されている論理
を見れば詳細な説明は必要でない。ライン71〜76上
の出力は、AND/OR論理77および78への入力と
して使用され、エンコードされたLRU情報を発生す
る。通常LRU情報は4ブロックに対して2ビットのみ
を含むであろうが、ローLRU論理とハイLRU論理と
を含む4ビットとして示されており、それらはすべて図
3のライン34上の情報を含む。
【0034】
【表1】
【0035】この発明の好ましい実施例を説明してきた
ので、IP11および12が図4から図7に示される論
理を監視または遂行せず、したがってライン34上でL
RU出力を発生する論理はIPの性能を低下させないと
いうことが理解されるであろう。同様に、MRUメモリ
26のメモリ位置27に記憶される情報はIP11およ
び12の性能を低下させない。
【0036】要約すれば、ヒットが発生したときにはキ
ャッシュメモリ14でオーバライトまたは書換えが発生
しないため、IPがキャッシュ14でメモリ位置を参照
しヒットを得ると、ライン34上で発生された情報は必
要とされないことが認められるであろう。しかしなが
ら、メモリ14でのヒットの結果として、ライン37上
のエージング情報は書込更新レジスタ38において更新
され、それは上述の読出−変更−書込の動作モードを使
用してメモリ位置27に書込まれ、この動作はアドレス
位置27のそれ以前の情報はバッファ31を介してMR
U論理ブロック32に読込まれ、そこでそれはライン3
7上のMMRU出力として変更されて書込更新レジスタ
38への入力として書込まれ、それはメモリ位置27が
書換えられかつ更新される。
【図面の簡単な説明】
【図1】マルチプロセッサの高速メインフレーム計算機
システムにおける2つの命令プロセッサとそれらの関連
した主記憶装置との概略図である。
【図2】図1に示されているIPのキャッシュ関連メモ
リの概略図である。
【図3】キャッシュに関連した最も古くおよび最も新し
く使用された(LRU/MRU)論理回路の概略ブロッ
ク図である。
【図4】図3に示されているMRU論理ブロックの詳細
な論理回路図である。
【図5】図3に示されているMRU論理ブロックの詳細
な論理回路図である。
【図6】命令プロセッサ機械が使用できるエンコードさ
れたLRU情報を発生する、図3に示されているLRU
論理の詳細な論理図である。
【図7】命令プロセッサ機械が使用できるエンコードさ
れたLRU情報を発生する、図3に示されているLRU
論理の詳細な論理図である。
【符号の説明】
13 キャッシュ関連論理回路 15 キャッシュ関連メモリ 17 記憶コントローラ手段 18 第2のレベルのキャッシュ
フロントページの続き (72)発明者 トーマス・アデルメーヤー アメリカ合衆国、97124 オレゴン州、ヒ ルズボロウ、エヌ・ダブリュ・ジョン・オ ルセン・アベニュ、3120、アパートメン ト・28−105

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 4ブロックキャッシュメモリへのアクセ
    スを最適化するためのキャッシュ論理システムであっ
    て、 複数の関連ブロックメモリを有する4ブロックキャッシ
    ュメモリと、 前記キャッシュメモリおよび前記複数のセットアソシア
    ティブメモリの情報をアクセスするためのセットアソシ
    アティブアドレスを発生するための命令プロセッサ(I
    P)と、 前記メモリに結合され、前記命令プロセッサによって発
    生されたセットアソシアティブアドレスのキャッシュメ
    モリのブロックに対して無効情報と有効情報とを発生す
    るためのキャッシュ関連論理回路とを含み、 前記キャッシュ関連論理回路は、IPが前記キャッシュ
    メモリにアクセスした後、セットアドレスに対する変更
    された最も新しく使用されたブロック情報を記憶するた
    めの最も新しく使用されたMRUメモリを有し、さら
    に、 前記キャッシュ関連論理回路は、前記MRUメモリに結
    合され、IPがキャッシュメモリでヒットした後、前記
    変更された最も新しく使用されたブロック情報を発生す
    るためのMRU論理手段を有し、さらに、 前記MRU論理手段と前記複数の関連メモリとに結合さ
    れ、前記キャッシュメモリにアクセスされるセットアソ
    シアティブアドレスに対する最も古く使用された(LR
    U)ブロックコードを発生するためのLRU論理手段を
    含む、キャッシュ論理システム。
  2. 【請求項2】 前記複数のセットアソシアティブメモリ
    が、前記セットアソシアティブアドレスにある情報の4
    ブロックのアドレスを発生するためのタグメモリと、 前記IPによってアドレス指定されるとき、前記キャッ
    シュメモリ手段に記憶されていない情報の少なくとも1
    ブロックをフェッチするための記憶コントローラ手段と
    を含み、さらに、 前記LRU論理手段は、前記セットアソシアティブアド
    レスで前記情報の4ブロックのうちの最も古く使用され
    た(LRU)ブロックを発生するためのゲート手段を含
    む、請求項1に記載のキャッシュ論理システム。
  3. 【請求項3】 前記記憶コントローラ手段が前記LRU
    ブロックに前記フェッチされた情報の少なくとも1ブロ
    ックを書込み、前記IPが第2のミスを招くことなく前
    記フェッチされたブロックにアクセスすることを可能に
    するための手段を含む、請求項2に記載のキャッシュ論
    理システム。
  4. 【請求項4】 前記MRU論理手段が、前記キャッシュ
    メモリの4ブロックの可能な6対の組合せを識別するこ
    とができる5ビットでMRUバッファレジスタを含む、
    請求項1に記載のキャッシュ論理システム。
  5. 【請求項5】 前記MRU論理手段は、前記4ブロック
    の可能な6対の組合せ各々に対応して設けられ、かつ前
    記MRUバッファレジスタに結合されてブロック対の情
    報を発生する複数のマルチプレクサをさらに含む、請求
    項4に記載のキャッシュ論理システム。
  6. 【請求項6】 前記MRU論理手段が、前記IPによっ
    てアクセスされたMRUブロックを識別するために前記
    5ビットのうちの2ビットを発生するためのゲート手段
    をさらに含む、請求項5に記載のキャッシュ論理システ
    ム。
  7. 【請求項7】 前記MRU論理手段が、前記MRUバッ
    ファメモリに記憶される前記ブロックの対の情報を変更
    するためおよび前記4ブロックのうちの最も古く使用さ
    れた(LRU)ブロックを識別することができる付加的
    なエンコードされたビットを発生するためのゲートエン
    コード手段をさらに含む、請求項6に記載のキャッシュ
    論理システム。
  8. 【請求項8】 前記LRU論理手段が、その各々が前記
    ブロックの可能な6対のうちの1つを示す第1の入力と
    前記ブロック対の各々の有効および無効状態を示す第2
    および第3の入力とを有し無効化されていない有効ブロ
    ック対を示す変更されたブロック対を発生する6つのA
    ND/OR論理ゲートを含む、請求項4に記載のキャッ
    シュ論理システム。
  9. 【請求項9】 前記6つのAND/ORゲートの出力に
    結合され、前記セットアソシアティブアドレスで前記メ
    モリの4ブロックのLRUを示す二進コードを発生する
    ための2つの付加的なAND/OR論理ゲートをさらに
    含む、請求項8に記載のキャッシュ論理システム。
  10. 【請求項10】 前記MRU論理手段および前記LRU
    論理手段がダイナミックゲート手段を含む、請求項9に
    記載のキャッシュ論理システム。
  11. 【請求項11】 メインフレームコンピュータの高速キ
    ャッシュメモリへのアクセス時のダブルミスを防ぐ方法
    であって、 命令プロセッサ(IP)からキャッシュメモリの情報ブ
    ロックを示すキャッシュセットアドレスを発生するステ
    ップと、 前記キャッシュセットアドレスでタグ関連メモリにアク
    セスして、キャッシュメモリが前記命令プロセッサによ
    ってアクセスされるメモリ内でアドレスを含むかどうか
    を決定されるべきキャッシュメモリのブロックアドレス
    を発生するステップと、 前記セットアドレスで無効に関連するメモリと有効に関
    連するメモリとにアクセスして、アクセスされたアドレ
    スのキャッシュメモリの内容の無効および有効情報を発
    生するステップと、 前記キャッシュセットアドレスでメモリの最も近く使用
    されたブロックを表わす二進情報を最も新しく使用され
    た(MRU)メモリのバッファレジスタから論理的に読
    出すステップと、 前記MRUバッファレジスタから読出された前記二進情
    報を論理的に変更するステップと、 変更された情報を前記MRUメモリのアクセスされたキ
    ャッシュのセットアドレスに論理的に書込むステップと
    を含み、さらに、 論理的な読出、変更および書込の前記最後の3つのステ
    ップが論理回路によって行なわれる一方で、IPがキャ
    ッシュセットアドレスで前記キャッシュメモリへのアク
    セスを得ている、方法。
  12. 【請求項12】 前記有効情報が否定でありかつ無効情
    報が肯定であるとき、キャッシュメモリアドレスへのI
    Pのアクセスを論理的に阻止するステップをさらに含
    む、請求項11に記載の方法。
  13. 【請求項13】 前記キャッシュセットアドレスの複数
    の情報ブロックのうちの最も古く使用された(LRU)
    ブロックを示すコード化されたビットを論理的に発生す
    るステップをさらに含む、請求項11に記載の方法。
  14. 【請求項14】 補助メモリから情報ブロックをフェッ
    チしそれを前記キャッシュメモリの前記キャッシュセッ
    トアドレスの前記情報の最も古く使用されたブロックの
    上に記憶するステップをさらに含む、請求項13に記載
    の方法。
JP5109327A 1992-05-12 1993-05-11 4ブロックキャッシュメモリへのアクセスを最適化するためのキャッシュ論理システムおよびメインフレームコンピュータの高速キャッシュメモリへのアクセス時のダブルミスを防ぐ方法 Pending JPH0667980A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US88191592A 1992-05-12 1992-05-12
US881915 1992-05-12

Publications (1)

Publication Number Publication Date
JPH0667980A true JPH0667980A (ja) 1994-03-11

Family

ID=25379464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5109327A Pending JPH0667980A (ja) 1992-05-12 1993-05-11 4ブロックキャッシュメモリへのアクセスを最適化するためのキャッシュ論理システムおよびメインフレームコンピュータの高速キャッシュメモリへのアクセス時のダブルミスを防ぐ方法

Country Status (2)

Country Link
US (1) US5737753A (ja)
JP (1) JPH0667980A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7809890B2 (en) 2005-07-06 2010-10-05 Kabushiki Kaisha Toshiba Systems and methods for increasing yield of devices having cache memories by inhibiting use of defective cache entries
US8006139B2 (en) 2006-02-27 2011-08-23 Fujitsu Limited Degeneration control device and degeneration control program
KR20220028419A (ko) * 2020-08-28 2022-03-08 주식회사 유라코퍼레이션 와이어링 하네스용 프로텍터

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926840A (en) * 1996-12-18 1999-07-20 Unisys Corporation Out-of-order fetching
JP2000200221A (ja) * 1998-10-30 2000-07-18 Nec Corp キャッシュメモリ装置及びその制御方法
US6671780B1 (en) * 2000-05-31 2003-12-30 Intel Corporation Modified least recently allocated cache replacement method and apparatus that allows skipping a least recently allocated cache block

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4168541A (en) * 1978-09-25 1979-09-18 Sperry Rand Corporation Paired least recently used block replacement system
US4464217A (en) * 1980-05-16 1984-08-07 Johnson & Johnson Baby Products Company Method for effecting securment of alternating stretched and unstretched elastic ribbon to a moving web
US4686621A (en) * 1983-06-30 1987-08-11 Honeywell Information Systems Inc. Test apparatus for testing a multilevel cache system with graceful degradation capability
US5255384A (en) * 1985-02-22 1993-10-19 Intergraph Corporation Memory address translation system having modifiable and non-modifiable translation mechanisms
US4794521A (en) * 1985-07-22 1988-12-27 Alliant Computer Systems Corporation Digital computer with cache capable of concurrently handling multiple accesses from parallel processors
JPH0734185B2 (ja) * 1987-02-16 1995-04-12 日本電気株式会社 情報処理装置
US5019971A (en) * 1987-04-13 1991-05-28 Prime Computer, Inc. High availability cache organization
GB8814077D0 (en) * 1988-06-14 1988-07-20 Int Computers Ltd Data memory system
EP0348628A3 (en) * 1988-06-28 1991-01-02 International Business Machines Corporation Cache storage system
US4945512A (en) * 1988-09-07 1990-07-31 Unisys Corporation High-speed partitioned set associative cache memory
GB8823077D0 (en) * 1988-09-30 1988-11-09 Int Computers Ltd Data processing apparatus
US4967414A (en) * 1989-01-06 1990-10-30 International Business Machines Corp. LRU error detection using the collection of read and written LRU bits
US4985825A (en) * 1989-02-03 1991-01-15 Digital Equipment Corporation System for delaying processing of memory access exceptions until the execution stage of an instruction pipeline of a virtual memory system based digital computer
CA1325288C (en) * 1989-02-03 1993-12-14 Ricky C. Hetherington Method and apparatus for controlling the conversion of virtual to physical memory addresses in a digital computer system
US5043943A (en) * 1990-06-18 1991-08-27 Motorola, Inc. Cache memory with a parity write control circuit
CA2045756C (en) * 1990-06-29 1996-08-20 Gregg Bouchard Combined queue for invalidates and return data in multiprocessor system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7809890B2 (en) 2005-07-06 2010-10-05 Kabushiki Kaisha Toshiba Systems and methods for increasing yield of devices having cache memories by inhibiting use of defective cache entries
US8006139B2 (en) 2006-02-27 2011-08-23 Fujitsu Limited Degeneration control device and degeneration control program
KR20220028419A (ko) * 2020-08-28 2022-03-08 주식회사 유라코퍼레이션 와이어링 하네스용 프로텍터

Also Published As

Publication number Publication date
US5737753A (en) 1998-04-07

Similar Documents

Publication Publication Date Title
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
JP2822588B2 (ja) キャッシュメモリ装置
US5630097A (en) Enhanced cache operation with remapping of pages for optimizing data relocation from addresses causing cache misses
EP0695996B1 (en) Multi-level cache system
US5537572A (en) Cache controller and method for dumping contents of a cache directory and cache data random access memory (RAM)
US8909871B2 (en) Data processing system and method for reducing cache pollution by write stream memory access patterns
JPH05210585A (ja) キャッシュ管理システム
KR100294105B1 (ko) 멀티 프로세서 컴퓨터 시스템의 일관성 카피-백 버퍼용 방법 및 장치
JPS6136667B2 (ja)
AU658914B2 (en) Improving computer performance by simulated cache associativity
KR20000069836A (ko) 로킹을 사용한 캐시 대체방법
JPH0364893B2 (ja)
JPH08272693A (ja) 仮想アドレスについてのキャッシュ可能性属性ビットを備えた変換テーブル・エントリ及びそのビットを用いた仮想アドレスの参照方法並びにその仮想アドレスの参照装置
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
JPH04205041A (ja) マルチプロセッサシステム
JPH02191053A (ja) 記憶装置
US5287482A (en) Input/output cache
JP3929872B2 (ja) キャッシュメモリ、プロセッサ及びキャッシュ制御方法
JPH05216766A (ja) データ・キャッシュとセグメント記述子の間のキャッシュの可干渉性を維持する方法およびコンピュータのメモリ装置
JPH0667980A (ja) 4ブロックキャッシュメモリへのアクセスを最適化するためのキャッシュ論理システムおよびメインフレームコンピュータの高速キャッシュメモリへのアクセス時のダブルミスを防ぐ方法
EP0439952A2 (en) Dual-port cache tag memory
JP3078303B2 (ja) キャッシュメモリ制御回路
JPH04369061A (ja) キャッシュメモリの制御方式
JP4057699B2 (ja) 記憶システム
JP2963257B2 (ja) 処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031209

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040305

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040310

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040607

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041119

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20041126

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050506