JPS604494B2 - キヤツシユ記憶システム - Google Patents

キヤツシユ記憶システム

Info

Publication number
JPS604494B2
JPS604494B2 JP56033287A JP3328781A JPS604494B2 JP S604494 B2 JPS604494 B2 JP S604494B2 JP 56033287 A JP56033287 A JP 56033287A JP 3328781 A JP3328781 A JP 3328781A JP S604494 B2 JPS604494 B2 JP S604494B2
Authority
JP
Japan
Prior art keywords
address
synonym
directory
circuit
hit
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
Application number
JP56033287A
Other languages
English (en)
Other versions
JPS56140575A (en
Inventor
ベネデイクト・アンバ−ト・メシ−ナ
ウイリアム・デイ−ン・シルクマン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS56140575A publication Critical patent/JPS56140575A/ja
Publication of JPS604494B2 publication Critical patent/JPS604494B2/ja
Expired 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed

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

【発明の詳細な説明】 開示の概要 仮想記憶システムにおけるキャッシュ記憶のシノニム(
s叩onym)検出及び処理機構が開示される。
キャッシュ・アドレス・ビットのうち要求論理アドレス
の変換可能部分から取られた仮想アドレス・ビットの数
をNとすると、ディレクトリは2Nグループのコングル
ェンス・クラス(単にクラスとも呼ばれる)へ分割され
る。一方、キャッシュ・アドレス・ビットのうち要求論
理アドレスの変換不能部分から取られた実アドレス・ビ
ットは、それぞれ異なるグループにある2N個のクラス
を同時にアクセスするために使用される。これらのクラ
スのェントリは、変換索引緩衝機構(DLAT)に保持
された変換済みの1以上の絶対アドレスと同時に比較さ
れる。DLATから供給される絶対アドレスの1つにつ
いて各クラス・ェントリごとに1つずつ生ぜられる比較
信号は、シノニム判断論理へ供給される。このシノニム
判断論理はすべての前記比較信号を同時に解釈し、キャ
ッシュ記憶中で当該要求に対する基本(princip
le)ヒット、シノニム・ヒット又はミスが生じたか否
かを検出する。
もしシノニム・ヒットが検出されたならば、キャッシュ
記憶のシノニム・クラス位置に置かれたデータを選択す
るためにグループ識別子(GID)ビットが発生される
。これらのGIDビットは、シノニム・キャッシュ。ア
ドレスを発生して所定のシノニム・クラスを位置付ける
ために、キャッシュ・アドレス・ビット中の仮想ビット
の代わりに使用される。セット・アソシアティブ形キャ
ッシュ記憶については、キャッシュ記憶をアドレスする
ためにセット識別子(Sm)ビットもこれと同時に発生
される。発明の背景本発明はディジタル計算機のメモリ
制御に係り、更に詳細に説明すれば仮想記憶システムに
おけるキャッシュ記憶のシノニム(s叩onym)検出
及び処理機構に係る。
記憶階層を備えたデータ処理システムでは、主記憶中の
選択されたデータ・ライン(データ・ブロック)をキャ
ッシュ記憶へ格納することにより、プロセッサがこのデ
ータ・ラインを高速アクセスすることができるようにし
ている。
プロセッサが新しいデータを要求する場合、まずこのデ
ータがキャッシュ記憶で利用できるか否かが決定され、
もしそうであれば、このデータが遠かにプロセッサへ供
給される。もしこのデータがキャッシュ記憶で利用でき
なければ、これは長い時間をかけて主記憶から検索され
ねばならない。最近のシステムで利用されているキャッ
シュ記憶は、一般にセット・アソシァティブ技法に基い
ている。
即ち、要求元であるプロセッサは、複数のェントリ(セ
ットと呼ばれる)を有するディレクトリのスロット(コ
ングルェンス・クラス又は単にクラスと呼ばれる)を直
接的にアドレスし、そしてこのクラスにおけるすべての
セットを並列的に且つ連想的に探索することにより、要
求アドレスに一致するアドレスを有するセット・アソシ
アティブ形キャッシュ記憶は、主記憶の任意のデータ・
ラインをキャッシュ記憶の任意の位置へマップしうる完
全ァソシアティプ形キャッシュ記憶と、主記憶の各デー
タ・ラインをキャッシュ記憶の唯一の位置にだけマップ
しうる直接マッピング形キャッシュ記憶との妥協の産物
である。完全ァソシァティプ形キャッシュ記憶は、ディ
レクトリの探索時間が比較的長く、しかも複雑な置換機
構を必要とするという欠点を有する。一方、直接マッピ
ング形キャッシュ記憶は、実現に要するハードウェアが
最も簡単であるという利点を有するけれども、諸ェント
リの重ね書きが増大するためにその性能は他の2方式に
比較して最も低い。セット・アソシアティブ形キャッシ
ュ記憶のサイズが増大すると、{1)キャッシュ記憶を
アクセスするために使用されるアドレス範囲が増大する
か、(2}セット・アソシアティビティの度合が増大す
るか、又はt3’セット・アソシアテイビテイ及びアド
レス範囲の両方が増大することになる。しかし、セット
・アソシアティピティが増大すると、アドレスされたク
ラス中のすべてのセットを調べるために余分な時間又は
余分なハードウェアを必要とする。また、ディレクトリ
に利用することがさる集積回路の実装技術からすると、
セット・アソシアティビティを実質的に増大させること
は得策ではない。従って、コストの制約を考慮すると、
デイレクトリ・アドレス(キャッシュ・アドレスと同義
、以下同様)の範囲、即ちクラスの数を増大させること
が望ましい。しかし、ディレクトリのクラスの数が増大
すると、要求論理アドレスから取られるディレクトリ・
アドレスを、該論理アドレスの変換不能フィールド(D
フィールド)を超えて変換可能フィールド(PXフィー
ルド)まで拡張しなければならなくなる。所謂キャッシ
ュ・シノニムの問題は、このようにディレクトリ・アド
レスが論理アドレスの変換可能フィールドからのビット
を使用する場合に生ずる。即ち、キャッシュ・シノニム
は、論理アドレスによって要求されたデータが、この要
求によってアドレスされたクラスとは異なるクラスで利
用することができるような場合に存在するのである。キ
ャッシュ・シノニムを惹起する原因には、例えば、{1
}同じデー外こ対する諸要求が論理アドレス及び絶対ア
ドレスの間でスイッチする場合、又は■或るユーザが所
与の論理アドレスで所与のデータ・ラインをアドレスし
ているときに、他のユーザがキャッシュ記憶中の異なる
クラスを位置付けるような異なる論理アドレスで同じデ
ータ・ラインをアドレスする場合、がある。米国特許第
3723976号は、多重処理システムの環境で論理ア
ドレス及び絶対アドレスの両方で以てアクセスされる記
憶システムを開示する。
各プロセッサはそれぞれ専用のキャッシュ記憶を備え、
また変更されたデータのコピーを保持する手段がキャッ
シュ記憶に関連して設けられる。このキャッシュ記憶の
内容は、論理アドレス又は絶対アドレスのいずれによっ
てもアクセスすることができる。変換索引緩衝機構(以
下「DLAT」と略す)は変換された論理アドレスを保
持し、キャッシュ取出ディレクトリはキャッシュ記憶中
のデータのトラックを維持する。このキャッシュ取出デ
ィレクトリのェントリは、要求アドレスの変換可能部分
及び変換不能部分の両方から取られたビットによってア
ドレスされる。所与のデータを最後にアクセスしたのが
論理アドレス又は絶対アドレスのどちらであるかに応じ
て、該データは複数のキャッシュ記憶位置(即ち、基本
位置及びシノニム位置)のうち任意の位置へ記入されう
るが、該データの唯一のコピーをキャッシュ記憶中に維
持するための手段が設けられる。このキャッシュ記憶の
ヒット/ミス検出機構は、取出中の新しいデータ・ライ
ンについて相互索引が確立されたとき、キャッシュ記憶
中の或るデータ・ラインのインデックス・ポインタを無
効にするように構成されている。かくて、これらのデー
タ・ラインは無効とマークされ、そしてもし変更されて
いるならば、主記憶への吐出(casPut)の対象と
なる。シノニム・ェントリはミスを生ぜしめるので、無
効化され且つ必要に応じて吐出される。もし或るシノニ
ム・ェントリが現要求の目標であれば、そのミスに応じ
て該ェントリが主記憶から再び取出され、そしてディレ
クトリ中の現にアドレスされている基本(princi
ple)クラスへ書房される。この結果、シノニム・ェ
ントリは相当なアクセス時間を犠牲にして基本クラスへ
移動される。前記米国特許第3723976号に記載さ
れたキャッシュ記憶のヒット/ミス検出機構は、要求さ
れたデータがキャッシュ記憶に見出されないようなキャ
ッシュ・ミス(以下「ミス」と略す)と、要求されたデ
ータがキャッシュ記憶の他の位置に見出されるようなシ
ノニム・キャッシュ・ヒット(以下「シノニム・ヒット
」と略す)とを区別していない。この点に関連して、デ
ィレクトリのコピーを設け、このコピー・ディレクトリ
でシノニム・ヒットを検出することが提案された。この
提案は、シノニム・ヒットをディレクトリ中のミスとし
て処理しようとするものである。コピー・ディレクトリ
中のシノニム・ヒットの検出は、ディレクトリでミスが
検出されてから1機械サイクル(以下「サイクル」と略
す)以上後に開始する。コピー・ディレクトリでは、シ
ノニム・ェントリを保持しうる各クラスを直列にアクセ
スするために追加のサイクルが取られるので、例えばシ
ノニム・ライン・アドレスを保持しうる3クラスを検査
するために追加の3サイクルが必要となる。このような
コピー・ディレクトリは、他の目的、例えば他のプロセ
ッサによる要求の相互照会を行うためにも使用すること
ができる。米国特許第3761881号は、主記憶及び
キャッシュ記憶の双方が絶対アドレスでアクセスされる
仮想記憶方式を開示する。
最新の論理−絶対アドレス変換対はDLATに保持され
る。ディレクトリは、絶対アドレスを使用してキャッシ
ュ記憶中のデータを表わす。プロセッサから供給される
各論理アドレスは、DLAT中の所与のクラス及びディ
レクトリ中の所与のクラスをアクセスする。DLAT中
の前記クラスに記憶されている論理アドレスは、プロセ
ッサから供給される論理アドレスと比較される。またD
LAT中の前記クラスに記憶されている絶対アドレスは
、ディレクトリ中の前記クラスに記憶されている絶対ア
ドレスの各々とも比較される。もし論理及び絶対アドレ
スが両者ともに等しければ、キャッシュ記憶中の対応す
る位置から要求データがアクセスされる。米国特許第4
136385号は、共通セグメントのDLATシノニム
を処理する制御手段を開示する。
(DLATシノニムの問題はキャッシュ・シノニムの問
題とは無関係である。)この制御手段は、所与の共通ペ
ージが複数のアドレス空間で同一の論理アドレスを有す
るような多重仮想記憶方式について使用されるものであ
る。この制御手段は、共通ページのアドレスを保持する
各DLATェントリに共通指示子を設定し、該ェントリ
を任意の特定アドレス空間と対応づけることを防止する
ことにより、共通ページに対する複数のェントリをDL
ATに置かないようにしている。刊行物であるIBM
Mainte順nce Library、“3033
Processor Complex 、 Theor
y ofOperation / Dia餅am Ma
n雌1 ” Vol.4 、Processor St
orage Control F肌Ction〈PSC
F)and Processor Storage、F
orm No.SY22−7004−0の第1.6.1
頁及び第1.6.2頁には、16ゥェィのセット・アソ
シアティブ形キャッシュ記憶が記載されているが、この
キャッシュ記憶ではプロセッサから供給される要求論理
アドレスの変換可能ビットをディレクトリ・アドレスで
全く使用しないようにしており、これによりキャッシュ
・シノニムの問題が生ずることを回避している。
発明の要約 本発明の目的は、高速のシノニム検出機構を提供するこ
とにある。
本発明の他の目的は、シノニム・ヒットを検出する新規
な機構をディレクトリ中に設け、これを通常の基本キャ
ッシュ・ヒット(以下「基本ヒット」と略す)又はミス
検出機構とともに動作こせることにある。
本発明の他の目的は、主記憶をアクセスすることなくキ
ャッシュ記憶からシノニム・データをアクセスすること
ができる新規なシノニム・ヒット検出機構を提供するこ
とにある。
本発明の他の目的は、アソシアティビテイを増大するこ
となく大型のキャッシュ記憶を維持することができるよ
うな、例えば4ウェィのセット・アソシアティビティを
使用するもキャッシュ記憶のクラス数を増大させること
ができるような、シノニム検出及び処理機構を提供する
ことにある。
先行技術における16ゥェィのセット・アソシアティブ
形キャッシュ記憶はシノニム問題を回避していた反面、
多数の比較回路及び高度のセット・アソシアティビティ
に起因する長いアクセス時間を必要としていたが、本発
明はこのようなキャッシュ記憶に関連して使用されてい
たディレクトリのサイズを維持することができる。本発
明の他の目的は、ディレクトリの各セットに適合するよ
うに設計された半導体チップを提供することにある。
各半導体チップは複数グループのクラス及びその関連す
るセットの比較論理を擁し、ディレクトリの1アクセス
・サイクルの間に関連するセット中の基本若しくはシノ
ニム・ヒット又はミスを検出することができる。本発明
の重要な特徴の1つは、基本ヒット又はミスが決定され
る同じサイクルにシノニム−ヒットを検出するという点
にある。
即ち、DLAT及びディレクトリがアクセスされ且つ比
較動作によって基本ヒット又はミスが検出される同じサ
イクル中に、シノニム・ヒットを検出することができる
ということである。もしシノニム・ヒットが検出される
ならば、次の2サイクル中にこの処理を行い、次いでシ
ノニム・エントリをあたかもキャッシュ記憶の基本ェン
トリであるかのようにアクセスすることができる。前記
米国特許第3723976号に開示された先行方式では
、シノニム・ヒットを認識することは行われておらず、
これは単にミスとして処理されるので、データ・ライン
を吐出し且つキャッシュ記憶へ再び取出すために長いサ
イクルを必要とする。
シノニム・ヒットを検出するためにコピー・ディレクト
リを使用する他の方式では、ディレクトリでミスが検出
されてから1サイクル以上の後に、このミスに応じてコ
ピー・ディレクトリでシノニム・ヒットの検出が行われ
る。本発明は、ディレクトリのクラスを2N個のグルー
プへ分割することによって、ディレクトリを新規な様式
で構成する。
但し、前記の数Nは、ディレクトIJ中の任意のクラス
を位置付けるために使用されるディレクトリ・アドレス
中の変換可能ビットの数を表わす。Nビットから成るこ
れらの変換可能ビットは、キャッシュ記憶に対する各要
求論理アドレスのページ変換可能部分の下位境界から取
られる。ディレクトリ中の2Nグループの各クラスは、
基本ヒット・シノニム・ビット又はミスに該当するェン
トリを保持することができる。ミスが生ずるのは、所与
の要求について基本ヒット又はシノニム・ヒットのいず
れも見出されない場合である。ディレクトリは、セット
・アソシアテイプ形であっても、そうでなくてもよい。
つまり、本発明はセット・アソシアテイブ形ディレクト
リでも良好に動作するが、これは本発明の必須要件では
ない、ということである。ディレクトリにおける諸クラ
スのグループ化は、ディレクトリに見出される任意のセ
ット・アソシアティビティのグループに対し直交的であ
る。さらに、本発明に従って提供されるディレクトリ用
のBIチップ配列によれば、各チップは2Nグループの
全クラスの一部を含み、またDLATに保持された変換
済みの絶対ページ・アドレスをディレクトリの2Nグル
ープでアドレスされた全クラスの絶対アドレスと同時に
比較するための比較論理を含んでいるので、各チップに
設けられる入出力接続の数は先行方式のディレクトlj
と比較して一層少なくなる。また本発明によれば、各要
求は、ディレクトリ中の互いに異なる2Nクラス、即ち
2Nグループの各々ごとに1つのクラスをそれぞれ同時
にアドレスすることができる。
DLATに保持された絶対アドレスとの比較は、選択さ
れた2Nクラス中のすべての有効ェントリについて同時
に行われる。またディレクトリ・アドレス中で使用され
る上位Nビットの変換可能ビットは、基本ヒットの存否
について選択された2Nクラスの1つをテストするため
にも使用される。それと同時に、これらの2Nクラス全
部はその各々に任意のヒットが存在するか否かというこ
とについてもテストされる。「任意のヒット」信号が活
勢で且つ「基本ヒット」信号が不活勢であることを検出
したときは、シノニム・ヒットの存在が決定される。次
いで、2Nグループのうち「任意のヒット」信号を有す
るものと決定された1つのグループがシノニム・ヒット
を有するグループを決定する。続いて、2Nグループの
うちシノニム・ヒットを有するものと決定された1つの
グループを識別するNビットが与えられ、該ビットは当
該要求アドレスの(Dフィールドからの)変換不能ビッ
トとともにキャッシュ記憶へ供給されるので、要求され
たデータをキャッシュ記憶から取出したり又は要求され
たデータをキャッシュ記憶へ書込むことができるように
なる。実施態様 第1図は、本発明を実施するに適したデータ処0理シス
テムを示す。
このデータ処理システムは、主記憶10、記憶制御要素
20、キャッシュ記憶を含むバッファ制御要素(以下「
BCE」と略す)30、命令要素/実行要素(以下「m
/EE」と略す)から成るプロセッサ40、通常のタチ
ャネル・プロセッサでもよい外部データ制御装置50、
1/0装置60、通常のバルク記憶でもよいページ記憶
70から成る。IEノEE4川まBCE30の制御下で
要求データをキャッシュ記憶から取出したり又はキャッ
シュ記憶に書込むこ0とができるが、もし要求データが
キャッシュ記憶で利用できなければ、この要求データは
記憶制御要素20の制御下で主記憶10から取出される
。また記憶制御要素2川ま、主記憶10と1/0装置6
0又はページ記憶70との間で外部データ制5御装置5
0を介してデータを転送することができる。第2図に図
示された本発明のセット・アソシアティブ形キャッシュ
記憶システムは、キャッシュ記憶31 1、ディレクト
リ309及びDLAT3007を含む。
ディレクトリ309は、キャッシュ記憶311中の各ラ
イン・ェソト川こ関する情報を保持する。DLAT30
7は、IE/EE40によって使用される最新の変漁済
みページ・アドレスを保持する。ディレクトリ309は
4ウェイのセツト・アソシアティブ形記憶配列であって
、そのアドレス可能な各クラスはセットA−Dに4ェン
トリを保持する。かくて、ディレクトリ309中の任意
のクラスがアドレスされる場合、セットA−○の4ェン
トリが並列にアクセスされる。ディレクトリ309は、
バッファ制御アドレス・レジスタ(以下「BCAR」と
略す)301中の要求論理アドレス・ビット20−24
によってアドレスされる。これらのビット20一24は
ディレクトリ309中の2Nグループのクラスを各グル
ープごとに1クラスずつアドレスするので全体として2
Nクラスが並列にアドレスされる。ディレクトリ309
は、要求論理アドレスの変換された絶対アドレスを有し
うるすべての位置を同時に選択するように構成されてい
る。2Nが4に等しく、従ってNが2に等しい場合(例
えば、NビットがBCAR301に置かれた論理アドレ
ス・ビット18一19から成る場合)、ディレクトリ3
09中の4クラスが同時にアドレスされる。ディレクト
リ309中の4グループのクラスは、第2図においてグ
ループ0−3として示されている。BCAR301中の
ディレクトリ・アドレス・ビット18−24は、ディレ
クトリ309中の基本クラスを規定する。ここで、基本
グル−フ。とは、2Nグループのうち基本クラスを含む
任意のグループとして定義される。キャッシュ記憶31
1は4つのセットA−Dへ分割されており、キャッシュ
記憶311の容量が64Kバイトである場合は各セット
は2048ダブルワード(1ダブルワード=8バイト)
を保持する。
BCAR301からのビット18−19がシノニム制御
回路320で見出される任意のシノニム・ヒット位置へ
調整された後、キャッシュ記憶311がBCAR301
からのビット18一28によってアドレスされると、各
取出要求に応答して1ダブルワード(DW)が出力され
る。DLAT307は2ウエイのセット・アソシアティ
ブ形記憶配列であって、セット×及びYを有する。
DLAT307中の所与のクラスは、BCAR301中
の要求論理アドレス・ビット13一19によって選択さ
れる。DLAT307のセット×及びYにある各ェント
川まアドレス変換中に次の内容、即ち制御レジスタ30
3から供給されるセグメント・テーブル起点(STO)
ビット5−I9、BCAR301から供給される処の変
換中の論理アドレス(LOG)を表わすビット1一1
2、動的アドレス変換機構305から供給される処の変
換された絶対アドレス(ABS)を表わすビット5−1
9をそれぞれ受取る。BCAR301中の要求論理アド
レスは、ディレクトリ309、キャッシュ記憶31 1
及びDLAT307を同時にアドレスするために使用さ
れる。
BCAR301中のビット13一19は、DLAT30
7中のセット×及びYを有する或るクラスを選択する。
この場合、選択されたセットX及びYからセグメント・
テーブル起点ビット5一19及び論理アドレス・ビット
1一12が比較回路313へ出力され、そして絶対アド
レス・ビット5一19が線316×及び316Yを介し
て比較回路315へ出力される。比較回路313は、D
LAT307の選択されたセットX及びYから出力され
るセグメント・テーブル起点ビット5一19及び論理ア
ドレス・ビットーー12を、制御レジスタ303に置か
れている現在のセグメント・テーブル起点ビット5一1
9及びBCAR301中の要求論理アドレス・ビット1
一12とそれぞれ比較する。もし両者が一致すれば、比
較回路313から線449又は451に「論理アドレス
一×ビット(LOG−× HIT)」信号又は「論理ア
ドレス−Yビット(LOG−Y HIT)」信号が生ぜ
られる。もし一致しなければ、当該要求は動的アドレス
変換機構305のアドレス変換を開始させるように強制
され、その後新しく変換された絶対アドレス・ビット5
−19がDLAT307中の適当なセットに置かれて記
憶アクセスが開始される。
DLAT307がアクセスされ且つ比較回路313で比
較動作が行われている間、当該要求はBCAR301中
のビット20一24を使用してディレクトリ309をア
クセスし、かくてその各グループごとに1つのクラスを
選択する。次いで、ディレクトリ309の選択された4
クラスのそれぞれにある4つのセットの内容(絶対アド
レス・ビット5−19)がそれぞれアクセスされ、比較
回路315へ供給される。比較回路315は、これら1
母迫の絶対アドレス・ビット5一19の各々を、DLA
T307の選択されたセットX及びYから受取られる絶
対アドレス・ビット5一19の各々と比較する。かくて
、各要求に応じて比較回路315で全体として32組の
比較動作が遂行されることになる。これを図式的に示す
と次のようになる。X:A0、X:AI、X:A2、X
:A3、X:B0、×:B1、X:B2、X:B3、X
:C0、X:CI、×:C2、×:C3、X:D0、X
:D0、X:D1、X:D2、X:D3、Y:A0、Y
:AI、Y:A2、Y:A3、Y:B0、Y:B1、Y
:B2、Y:B3、Y:C0、Y:CI、Y:C2、Y
:C3、Y:○0、Y:D1、Y:D2及びY:D3。
シノニム判断論理317は比較回路315からの32出
力及び比較回路313から線449及び451を介して
加わる2出力を受取り、基本又はシノニム・ヒットが生
じたか否かを決定する。
比較回路313は、要求論理アドレスがDLAT307
で見出されたとき、線449又は451に「論理アドレ
ス−×ヒット」信号又は「論理アドレス一Yヒット」信
号を供給する。比較回路315の出力は、DLAT30
7中の選択されたセット×及びYから供給される絶対ア
ドレス・ビット5一19が、ディレクトリ309中のア
クセスされた4クラスのうち任意のクラスで見出された
か否かを指示する。もし線449又は451に「論理ア
ドレス−×ヒット」信号又は「論理アドレス一Yヒット
」信号が生ずるならば、シノニム判断論理317は基本
ヒット、シノニム・ヒット又はミスが生ずるか否かを決
定する。もし所与のヒットが生じたならば、シノニム制
御回路320はビット18−19に相当するグループ識
別子(以下「Gm」と略す)を出力し、これをクラス・
アドレス・バス(以下「CAB」と略す)310で要求
アドレス・ビット20−28と結合してキャッシュ記憶
311中の或るクラスを選択する。
またシノニム判断論理317又はシノニム制御回路32
0は取出(FTH)又は書込(WR)のためのセット識
別子(以下「SID」と略す)を出力し、これによりキ
ャッシュ記憶311の4セットのうちどのセットがダブ
ルワードの取出又は書込のために選択されるかというこ
とを指示する。書込要求については、シノニム制御回路
320から線347Aを介して書込SID復号回路31
2へ「書込SID」が供給され、該回路はこれに応じて
当該要求のダブルワードをキャッシュ記憶311中の選
択された位置へ書込む。
この書込要求のダブルワードは、当該要求のためにDL
AT307及びディレクトリ309がアドレスされた後
のサイクル中に、キャッシュ記憶311の選択されたク
ラスにある選択されたセットへ書込まれる。基本ヒット
を有する取出要求については、CAB310によってキ
ャッシュ記憶31 1中の或るクラスが選択されると、
この選択されたクラスの4つのセットA−Dに対応する
4つのデー夕・ラッチLA乃至LDへそれぞれ異なるダ
ブルワードが出力される。
これらの各ダブルワードは、4つのセットA−Dの各々
にあるラインから選択される。もし所与のヒットが検出
されるならば、シノニム判断論理317からセット選択
論理319へ「取出SID」が供給され、該論理はこれ
に応じてキャッシュ記憶311の選択されたクラスから
の要求ダブルワードを出力する。この選択されたクラス
からデータ。ラツチLA乃至LDに諸ダブルワードが記
入されるので、BCAR301に当該要求のアドレスが
置かれるサイクルの終了時である。従って、次のサイク
ル中には選択されたセットからのダブルワードをセット
選択論理319を介して出力し、これを該当する要求元
へ供給することができる。ここで、図示された線に実際
に含まれる導線の本数は、これらの線の脇にある括弧中
の数によって表わされることに注意されたい。
既に説明したように、キャッシュ記憶311及びディレ
クトリ309のサイズが増大すると、クラスの数及びア
ソシアティビティの度合の一方又は両方を増大しなけれ
ばならない。
前述の如く、もしクラスの数が増大するならば、ディレ
クトリ・アドレスの範囲もそれに応じて増大しなければ
ならないので、BCAR301に置かれた変換可能なP
Xフィールドのビット18一19を使用することが必要
となる。BCAR301に供給される31ビットの論理
アドレスについて説明を補足すると、そのSXフィール
ド(ビット1−11)は制御レジスタ303中のセグメ
ント・テーブル起点ビット5一19によって選択された
セグメント・テーブル中のページ・テーブル・アドレス
に対するインデックスであり、PXフィールド(ビット
12一19)は選択されたページ・テーブル中のページ
・テーフルに対するインデックスであり、Dフィールド
(ビット20一31)はページ・ェント川こよって選択
された4Kバイト単位のページにおけるバイト・インデ
ックスである。
この論理アドレス・ビット1−31が絶対アドレスへ変
換される場合、ビット1−19は変換プロセスによって
変更されるが、Dフィ−ルドのビット20−31は変更
されない。このため、ビット20−31は論理アドレス
中の実フィールドと呼ばれ、ビット1−19は仮想フィ
ールドと呼ばれることもある。BCAR301中の要求
論理アドレス・ビットは、主記憶10中の所与のバイト
をアドレスするものと仮定する。
しかし、ディレクトリ309は、主記憶10に置かれた
16ダブルワード単位のデータ・ラインを、ライン境界
でアドレスするように編成されている。即ちBCAR3
01中のビット1−24は要求されたラインをアドレス
するので、ビット24はラインをアドレスするための最
下位ビットである。もしディレクトリ309をアドレス
するためにDフィールド中のビットだけが使用されるも
のとすれば、ディレクトリ・アドレスは高々ビット20
−24を含むにすぎず、従ってこれらの5ビットにより
高々32クラスをアドレスすることができるにすぎない
。もし一層多くのクラスが必要であれば、PXフィール
ドからのビット、例えばビット18一19が使用されな
ければならない。これらのビット18一24は、128
クラスをアドレスする。処で、各クラスは4ウェィのセ
ット・アソシアティブ編成を有するので、これらの7ビ
ットを使用するとキャッシュ記憶311に置かれた12
8×4;512ラインの任意のものをアクセスすること
ができる。前述の如く、4Kバイト単位のページが使用
される場合には、論理アドレスの実アドレス部分はビッ
ト20で終了する。かくて、論理アドレスの変換可能部
分にあるビット18一19は、仮想ビットと呼ばれるこ
とがある。既に検討したように、これらの仮想ビット1
8−19がディレクトリ・アドレスの一部を与えるのは
、シノニム問題が生ずる場合だけである。仮想ビット1
8−19が使用されるため、要求デー外まキャッシュ記
憶311中の可能な4クラスのうち任意のクラスに存在
することがある。
要求論理アドレスによって指定されるキャッシュ記憶3
11中の特定クラスは基本クラスと呼ばれ、ディレクト
リ・アドレス中の仮想ビット18−19の他の3つの順
列によって指定することができる他の3つのクラスはシ
ノニム・クラスと呼ばれる。第3図に示すように結合さ
れる第3A図及び第3B図は、第2図に関連して検討し
たシノニム検出方式の第1実施態様を示す。
第3A図及び第3B図では、第2図の構成要素と対応す
るものについてはこれと同じ参照番号が使用されている
。第2実施態様は、第10A図及び第108図に示され
ている。これらの実施態様は、両者ともに取出要求(F
THREQ)の第2サイクル中にシノニム・ヒットを検
出する。前者の実施態様は、この検出に続いて取出要求
のためのシノニム・ヒット(以下「シノニム取出ヒット
」と称す)を基本ヒット(以下「基本取出ヒット」と称
す)と同じ様式で処理し、そしてこの要求を処理するた
めに5サイクルを要する。一方、後者の実施態様は、シ
ノニム取出ヒットを基本取出ヒットとは異なる様式で処
理し、この取出要求を処理するために3サイクルを要す
る。これらの実施態様は、両者ともに基本取出ヒット又
は書込要求(STRREQ)のための基本ヒット若しく
はシノニム・ヒットをアクセスするために2サイクルを
使用し、そしてこれらの要求を1サイクルでパイプライ
ン化することができる。これらの実施態様については、
次のことが仮定される。
第2図のキャッシュ記憶311は512ラインを保持す
るように編成された64Kバイトのランダム・アクセス
式記憶配列であって、その4つのセットA‐Dの各々は
128ラインをそれぞれ保持する。ディレクトリ309
はこれに対応する4つのセットA−Dを有し、従って第
2図に関連して説明したように4ウェィのセット1アソ
シアティブ形記憶配列である。またディレクトリ309
は、前述の如く4グループのクラスで以て編成される。
DLAT307は第2図に関連して説明したように2ウ
ェィのセット・アソシアティブ形記憶配列であり、その
128クラスの各々はセットX及びセットYをそれぞれ
含む。DLAT307は、論理アドレス・ビット13−
19でアドレスされる。セット×及びYの各ェントリは
、セグメント・テーブル起点ビット5−19と、論理ペ
ージを識別する論理アドレス・ビット1一12と、主記
憶10中で割当てられたページ・フレームを識別する絶
対アドレス・ビット5−19を保持する。動作について
説明するに、第1図のIE/EE40から所与の要求が
受取られるとき、その要求論理アドレスはBCAR30
1へロードされ、これによりDLAT307中の1つの
クラス及びディレクトリ309中の1つのクラスがそれ
ぞれ指定される。
DLAT307中のこのクラスはセットX及びYの各々
セグメント・テーブル起点ビット5−19及び論理アド
レス・ビット1−12を保持し、その各々は比較回路3
13へ供給され、そこでBCAR301からの論理アド
レス・ビット1一12及び制御レジスク303からのセ
グメント・テーブル起点ビット5一19と比較される。
もし一致状態が検出されるならば、比較回路313は線
449又は451に「論理アドレス−×ビット」信号又
は「論理アドレス−Yヒット」信号を供給して論理アド
レスのDLATヒットが生じたことを指示する。この比
較回路313の動作と同時に、DLAT307の選択さ
れたセット×及びYから絶対アドレス・ビット5−19
が線316×及び316Yを介して比較回路315へ供
給される。但し、この比較回路315は第3A図では1
対の比較回路315×及び315Yとして図示される。
比較回路315×及び315Yは全部で32個の比較器
から成り、該比較器は4つのセットA一Dの各々ごとに
8つずつ、即ち各セットが4つの×比較器及び4つのY
比較器を有するように配列される。かくて、比較回路3
15×及び315Yの各々は1セットあたり4つの比較
器をそれぞれ含むので、1セットあたり4つの比較出力
をそれぞれ供給する。たとえば、ディレクトリ309の
セットAは記号AO−A3によって識別される絶対アド
レスをそれぞれ供給し、以下同様にセットDも記号DO
−D3によって識別される絶対アドレスをそれぞれ供給
する。比較回路315Xは、ディレクトリ309から供
聯合されるこれらの1句園の絶対アドレスを、DLAT
307の選択されたセットXから線316×を介して供
給される絶対アドレス(ABS−X)と比較する。一方
、比較回路315Yは、前記1句固の絶対アドレスを、
DLAT307の選択されたセットYから線316Yを
介して供給される絶対アドレス(ABS−Y)と比較す
る。もし比較回路315×又は315Yのいずれかで−
致状態が検出されるならば、該当する比較回路315×
又は315Yはシノニム判断論理317へ至る32本の
出力線のうち対応する線を付勢し、これにより一致する
絶対アドレスを有するグループ及びセットを指示する。
比較回路315×及び315Y′は、同一の機能を奏す
るように同一の様式で機成される。シノニム判断論理3
17は、比較回路315×及び315Yからの32出力
、即ち1セットあたり8つの出力を受取る。
例えば、セットAからの出力について云えば、シノニム
判断論理317は、X:A0、×:AI、×:A2、X
:A3、Y:A0、Y:AI、Y:A2及びY:A3を
受取る。またシノニム判断論理317は、比較回路31
3から線449及び451を介して「論理アドレス−×
ヒット」信号及び「論理アドレス一Yヒット」信号を受
取る。シノニム判断論理317は、シノニム・ヒット、
基本ヒット又はミスの存否を決定する。基本ヒットは基
本クラス中のヒットであり、基本クラスはBCAR30
1中の要求アドレス・ビット18一19によって指定さ
れるクラスである。シノニム判断論理317によってト
リガ467Aがセットされると、線467上の「基本ヒ
ット(PRINHIT)」信号により基本ヒットが通知
される。もしシノニム判断論理317が基本クラス以外
のクラス、即ちBCAR301中のビット18−19の
他の順列によって指定されるクラスでヒットを見出すな
らば、シノニム・ヒットが生じたのであり、これをトリ
ガ469Aから線469に供給される「シノニム・ヒッ
ト(SYNOHIT)」信号によって通知する。
どのようなヒットも検出されなければ、シノニム判断論
理317はトリガ471Aを介して線471に「ミス(
MISS)」信号を与える。第4図に示すように結合さ
れる第4A図及び第4B図は、第3A図に示されたシノ
ニム判断論理317の内部構成を示す。
図示の如く、シノニム判断論理317は、4つのセット
A一Dに対応する回路ブロック400A乃至400Dか
ら成る。回路ブロック400Aのみが詳細に図示されて
いるが、残りの回路ブロック400B乃至400Dもこ
れと同様の構成及び機能を有する。従って、以下では回
路ブロック400Aの構成及び動作のみを説明する。
線429−435及び437−443は、比較回路31
5×及び315Y(第3A図)のセットAに対応する8
つの比較器から出力X:A及びY:Aを受取るように接
続されており、具体的には出力X:A0、X:A1、X
:A2、X:A3及びY:A0、Y:A1、Y:A2、
Y:A3を受取るように接続される。線429−435
及び437−443は、AND回路403一417の入
力を構成する。線445及び447は、mBCAR30
1からのアドレス・ビット18−19、又は{2)第3
B図に関連して後述する置換アドレス・ビット18一1
9を、シノニム判断論理317へ供給する。BCAR3
01からのアドレス・ビット18一19は、1対の常開
AND回路343(第3B図)を介して供給される。置
換アドレス・ビット18−19はシノニム・ヒットが検
出された後にだけ供給され、このような場合には1対の
AND回路343が脱勢され且つ1対の常閉AND回路
341(第3B図)が付勢される。第4A図の線445
及び447に受取られるこれらのアドレス・ビット18
−19はシノニム判断論理317中の復号回路401に
加えられ、該回路は該アドレス・ビットを復号して特定
グループを識別する4本の出力線のうち1本を付勢する
即ち、アドレス・ビット18一19の値“0びはグルー
プ0を識別し、値“01”はグループーを識別し、値“
1びはグループ2を識別し、値“11”はグループ3を
識別する。復号回路401のグループ0出力はAND回
路403及び411へ接続され、グループー出力はAN
D回路405及び413へ、グル−フ。2出力はAND
回路407及び415へ、そしてグループ3出力はAN
D回路409及び417へそれぞれ接続される。
BCAR301にある要求のための第1サイクル中、線
445及び447は基本グループを通知する。
というのは、線445及び447はこのとき要求論理ア
ドレス中のアドレス・ビット18一19の値を表わすか
らである。AND回路403一409からの出力はドッ
トORされてAND回路419Aの一方の入力へ接続さ
れ、AND回路41 1一41 7からの出力も同様に
ドットORされてAND回路419Bの一方の入力へ接
続される。
2ボートのフアネル回路419はAND回路41 9A
及び419B並びにOR回路419Cから成り、このO
R回路419CはAND回路419A及び419Bの出
力を〇Rしてフアネル出力を供給する。線449又は4
51は第3A図の比較回路313から「論理アドレス−
×ヒット」信号又は「論理アドレス一Yヒット」信号を
受取り、これらの信号をAND回路41 9A及び4
19Bの他方の入力へ加える。
線449及び451の一方だけが所与の時間に付勢され
うる。フアネル回路419からの出力は、セットAに基
本ヒットが存在するか否かを指示する。というのは、こ
のとき第4A図の復号回路401からAND回路403
−417へ供給されている信号は、セットAの基本グル
ープに対するものであるからである。フアネル回路41
9のほかに、これと同様の内部構成を有する4つのフア
ネル回路421,423,425及び427が設けられ
る。
フアネル回路421,423,425及び427は、セ
ットAに対するグループ0−3中の「任意のヒット(A
NYHIT)」、則ちシノニム・ヒット又は基本ヒット
を検出する。かくて、セットAのグループ01こ対応す
る比較回路315×及び315Yからの線429及び4
37はフアネル回路421へ接続され、また比較回路3
13からの線449及び451もフアネル回路421へ
接続される。同様に、他のフアネル回路423,425
及び427は、セットAのグループ1一3にそれぞれ対
応する比較回路315×及び315Yからの線対431
一439、433一441、435一443並びに比較
回路313からの線449及び451をそれぞれ受取る
。このように、フアネル回路421,423,425又
は427は比較回路315×及び316Yから加わるセ
ットAの各グループに対応する線対によって選択的に付
勢されるので、これらのフアネル回路の各出力はシノニ
ム・ヒット又は基本ヒットが存在するようなセットA中
のグループ0,1,2又は3を指示する。従って、回路
ブロック400Aは「PR」と表記された線455を介
してセットAの「基本ヒット」を通知し、他の4出力線
473−479を介してセットAの「任意のヒット」を
それぞれ通知する。同様に、回路ブロック400B−4
00Dは、セットB−Dの各々に対応する比較回路31
5×及び315Yからの8つの比較信号、復号回路40
1からのグループ識別信号、比較回路313から線44
9又は451を介して供給される「論理アドレス−×ヒ
ット」信号又は「論理アドレス一Yヒット」信号をそれ
ぞれ受取る。
回路ブロック400Aと同様に、回路ブロック4008
一400Dの各々は、「基本ヒット」を通知する1本の
線457,459又は461と、対応セットのグループ
0一3における「任意のヒット」を通知する4本の線4
81一484、485一488又は489−492とを
それぞれ有する。回路ブロック400A−4000から
4本の線455,457,459及び461にそれぞれ
生ぜられる「基本ヒット」出力は、キャッシュ記憶31
1によって使用されるように「取出SID」として供給
される。
これらの「基本ヒット」出力はOR回路453によって
も受取られる。OR回路453は、その出力線467を
介してキャッシュ記憶311のセットA−Dのうち任意
のセットにおける「基本ヒット」を指示する。16入力
を有するOR回路463は各セットから4本ずつ、全部
で16本の「任意のヒット」線を受取り、線470の「
任意のヒット」信号によりセットA−Dのうち任意のセ
ットに基本又はシノニム・ヒットが存在するか否かを指
示する。
復号回路465はOR回路453及び463の出力を受
取り、キャッシュ記憶311に対する種々のヒット及び
ミス信号を供給する。
OR回路453及び463の出力は、以下の規則に従っ
て複号回路465で復号される。OR回路455の
OR回路455の 複号回路455のかくて、復号回
路465から線467に生ぜられる「基本ヒット」信号
は、OR回路453の出力によって直接的に付勢される
。復号回路465から線469に生ぜられる「シノニム
・ヒット」信号は、OR回路453が付勢されておらず
且つOR回路463が付勢されているとき、AND回路
465Aによって付勢される。もしOR回路463から
線470‘こ「任意のヒット」信号が供聯合されなけれ
ば、線471に「ミス」信号が生ぜられる。OR回路4
53が付勢されており且つOR回路463が付勢されて
いなければ、これに応じてエラー条件が指示される。第
3B図の符号回路327は「任意のヒット」信号を担持
する16本の線473一492をシノニム判断論理31
7から受取る。
第5図は符号回路327の内部構成を示す。
符号回路327は、セットA−Dのそれぞれに基本又は
シノニム・ヒットが存在したことを示す4組の線473
一479、481一484、485一488及び489
一492を受取る。或る時点では、これらの線473一
492のうち1本の線だけが付勢されうる。所与の要求
は、該要求によってアドレスされる2Nクラスにおいて
唯1つのヒット・ェントリ(基本又はシノニム)を有し
うるにすぎない。例えば、線473が付勢されると、こ
れはセットAのグループ川こ基本又はシノニム・ヒット
が存在したことを指示する。同様に、線482が付勢さ
れると、これはセットBのグループーに基本又はシノニ
ム・ヒットが存在したことを指示する。符号回路327
はセットA−Dに対応する4つのOR回路を含み、これ
らのOR回路は前記4組の線を介して供給される信号を
結合してその結果を4入力のSID符号回路へ供給する
。同様に、他の4つのOR回路は前記4組の線を介して
供給される信号を別の様式で結合して4つのグループ信
号を出力し、これを4入力のGID符号回路へ供給する
。これらの2つの符号回路は、以下の規則に従ってヒッ
トに該当するSID及びGmをそれぞれ出力する。第3
図では、符号化された2ビットの書込Smは、ダブルワ
ードが書込まれるようなキャッシュ記憶311のセット
A−Dのうち1つのセットを選択するために、書込要求
のみによって使用される。
符号化された2ビットの010は第2図のキャッシュ記
憶311へ送られ、取出又は書込アクセスが行われてい
るグループを選択するために使用される。基本ヒット又
はミスに応じて行われる主記憶10‘こ対するキャッシ
ュ記憶311の動作はありきたりであるから、これらの
動作については説明を省略する。
本発明は、キャッシュ記憶311のアクセスに際しシノ
ニム・ヒットが検出される場合に取られる特定の動作に
向けられる。
第3A図を参照するに、取出要求の結果としてシノニム
・ヒットがシノニム判断論理317によって検出される
と、該論理は次のサイクルに出力トリガ469Aをセッ
トし、「シノニム.ヒット」信号を線469を介して第
3B図のAND回路355へ供給する。
AND回路365は線356の取出要求信号を受取り、
第3A図の再行取出アドレス・レジスタ(以下「RFA
R」と略す)321に関連して設けられたRFAR要求
トリガ329をセットする。RFAR要求トリガ329
の出力は反転回路333及び線353を介して第3A図
の常開ゲートG2を閉鎖するので、BCAR301から
RFAR321へ新しいアドレスをロードする動作が禁
止される。通常の場合、BCAR301から常開ゲート
G2を介してRFAR321ヘアドレスをロードする動
作は、BCAR301へのロード動作に続くサイクルに
行われる。シノニム取出ヒットが検出される場合、RF
AR321は遅延レジスタとして使用される。RFAR
要求トリガ329の出力は、BCAR優先回路335に
対するRFAR321の入力として作用する。BCAR
優先回路335は、BCAR301に対する可能な複数
の要求元のうちどの要求元がBCAR301へのロード
を許容されるかということを決定する。RFAR321
からの要求は比較的高い優先順位を有し、次のサイクル
でBCAR301を獲得する見込みが高いので、シノニ
ム取出ヒットはその後で基本取出ヒットと同様に処理さ
れる可能性が大きい。BCAR301に対する要求元の
優先順位は次の通りである。{1} ディレクトリ30
9を更新し且つ入力データをキャッシュ記憶311へ与
えるためのライン取出要求。
{21 キャッシュ記憶311からの吐出要求。【31
RFAR321からの要求。【41 相互照会要求。
‘5} アドレス変換中にアドレス・テーブルの内容を
取出すための動的アドレス変換機構305(第2図)か
らの要求。
■ 1/0装置6川こよって行われる書込要求を保持す
るために使用される無効化しジスタ。
【71 1E/EE40からの通常の取出及び書込要求
。もしBCAR優先回路335がRFAR321からの
要求に優先権を与えるならば、これに応じてRFAR受
諾トリガ337がセットされる。
同時に、BCAR優先回路335の出力は線354を介
して第3A図の常閉ゲートGIへ加えられ、該ゲートを
開放してRFAR321の内容をBCAR301へ戻す
。またこれと同時に、前記のようにしてセットされたR
FAR受諾トリガ337の出力は、線338を介して1
対のAND回路341を付勢するとともに、反転回路3
39を介してAND回路343を脱勢する。置換アドレ
ス・ビット18一19は1対のAND回路341を介し
て供給される。またRFAR受諾トリガ337の出力は
、線338を介してRFAR要求トリガ329のリセッ
ト入力へ加えられ、該トリガを通常の状態へIJセット
する。この結果、反転回路339は1対のAND回路3
43を付勢し、かくてBCAR301中のビット18一
19がOR回路345A及び3458を介してシノニム
判断論理317へ供給される。第3B図を参照するに、
符号回路327から供給される2ビットのSm及び2ビ
ットのGmはしジスタ347に保持され、次いでOlD
は常開ゲートG3を介してGlDレジスタ351へ転送
される。因に、常開ゲ−トG3は反転回路333を介し
てRFAR要求トリガ329のリセット状態に応じて開
放されるものである。次いで、OlDは置換ビットi8
−19として010レジスタ351から1対のAND回
路341を介してシノニム判断論理317へ送られるの
で、シノニム・ヒットが検出される場合、シノニム判断
論理317はこれらの置換ビット18−19をBCAR
301からのビット18−19の代わりに使用すること
になる。シノニム・ヒットが基本ヒットのように現われ
る場合、これらの置換ビット18一19はRFAR受諾
トリガ337のサイクル中にシノニム判断論理317に
よって使用される。というのは、置換ビット18−19
は第4A図に示す基本ヒット・フアネル回路419の1
つを付勢せしめ、かくて線467を介して「基本ヒット
」信号を生ぜしめるからである。RFAR受諾トリガ3
37から線338にその出力が供給されているサイクル
の間、該トリガはゲートG6をも付勢し、これによりO
lDレジスタ351中のGIDをグループ選択OR回路
359を介して第2図のCAB310へ転送させる。こ
れと同時に、ダブルワード選択OR回路363は、BC
AR301からゲートG8を介して受取られたビット2
0−28をCAB310へ転送し、かくて要求されたダ
ブルワードのキャッシュ・アドレスを完成させる。ゲー
トG8は、「書込要求」信号が受取られないとき付勢さ
れる。このようにして、キャッシュ記憶311は要求さ
れたダブルワードを選択する。線338が付勢される場
合、これに応じて反転回路381の出力が下降し、AN
D回路382が脱勢されてゲートG7を閉鎖するので、
BCAR301からのビット18−19はグループ選択
OR回路359へ転送されなくなる。かくて、ゲートG
7は基本ヒットについてだけ動作し、そしてこの場合に
は、BCAR301のビット18一19をグループ選択
OR回路359を介してCAB3 1 0へゲートする
。書込要求については、ダブルワード選択OR回路36
3はプッシュ・ダウン式書込アドレス・レジスタ(以下
「PDSAR」と略す)361からビット20一28を
受取る。
PDSAR361は、BCAR301から書込要求が受
取られた後のサイクル中に、即ちその書込動作が完了さ
れたとき、該書込要求のアドレス・ビット20−28を
保持する。書込要求のためのSIDビット18一19は
、取出要求とは異なる様式で供給される。「書込Sm」
は、書込みを行うべきキャッシュ記憶311の特定セッ
トをアドレスするために、SIDレジスタ347から線
347Aを介してキャッシュ記憶311の書込SID復
号回路312へ直接的に供給される。書込要求のビット
18−19は、「書込要求」信号及び線470上の「任
意のヒット」信号を受取るAND回路357によって刻
時される。AND回路357の出力はゲートG4を付勢
し、かくてOlDレジスタ347中のGIDをグループ
選択OR回路359を介してCAB310へ通過させる
。これと同時に、ダブルワード選択OR回路363は、
PDSAR361からゲートG5を介して受取られるビ
ット20一28をCAB310へ供給している。もし取
出動作中に基本ヒットが検出されるならば、BCAR3
01中のビット18一19は常開ゲートG7を通過して
グループ選択OR回路359へ至り、そしてBCAR3
01中のビット20−28は常開ゲートG8及びダブル
ワード選択OR回路363を通過する。かくて、BCA
R301中のビット18一28は、キャッシュ記憶31
1をアドレスするために、シノニム判断論理317から
の「取出Sm」とともにキャッシュ記憶31 1へ供給
される。基本又はシノニム書込ヒットが検出される場合
、BCAR301がこの書込要求を受取るCIサイクル
の後のC2サイクルにキャッシュ記憶311へデータが
書込まれる。
一方、基本取出ヒットが検出される場合、BCAR30
1がこの取出要求を受取る後のサイクルにキャッシュ記
憶から要求データが供給される。さらに、シノニム取出
ヒットが検出される場合は、BCAR301がこの取出
要求を受取ってら4サイクル後にキャッシュ記憶311
から要求データが供給される。というのは、シノニム取
出要求はRFAR321で一時的に保持され、かくてこ
れより優先順位の高い要求があれば、BCAR優先回路
335はこの要求にBCAR301を使用するための優
先権を付与するからである。第6A図には、シノニム・
ヒットが検出される場合の取出動作のタイミングが示さ
れている。
最初のRサイクルの間、取出要求が活勢となる。次のC
Iサイクルの間、DLAT30 7及びディレクトリ3
09の比較動作が行われ、その終了時にシノニム・ヒッ
トが検出される。後続するC2/遅延サイクルの間には
、取出遅延信号がIE/EE40へ送られるので、この
サイクル中にキャッシュ記憶311から供給される任意
のデー外まRサィクル中の要求と関連するものではない
。RFAR321はBCAR301からロードされ、か
くてその使用中指示が与えられる。次の遅延サイクルに
は、BCAR301の優先順位に対するRFAR要求が
RFARR321によって行われる(第3B図のBCA
R優先回路335を参照)。もしこの遅延サイクルの間
にRFAR要求が受諾されるならば、IE/EE4川ま
前進信号を与える。次のCIサイクルの間、OlDレジ
スタ351からシノニム判断論理317へ置換ビット1
8一19が供給され、談論理はこれに応じてその線36
7に「基本ヒット」信号を供給する。今やシノニム・ヒ
ットは基本ヒットと同じように見えるので、その後は基
本ヒットと同様の様式で処理される。かくて、次のC2
サイクルの間に、キャッシュ記憶311からのデータが
その要求元、例えばIE/EE40へ転送される。第6
B図は書込動作のタイミングを示す。
この書込動作は、ディレクトリ309の比較が行われた
後のサイクルで常に開始する。第7図は、4ウェィのセ
ット・アソシアテイプ形ディレクトリ309の構成を示
す。
このディレクトリ309は第8図に図示された新規なB
Iチップ構成を使用しており、その各チップは新規なグ
ループ構成及びこれらのグループに関連する複数の比較
器を備えている。第7図のチップA−Dはキャッシュ記
憶311のセットA−Dにそれぞれ対応しており、該チ
ップの各々は第8図に図示された新規なグループ構成を
有する。かくて、BCAR301中のアドレス・ビット
20−24はチップA−Dのグループ0−3から4クラ
スを同時に選択し、そしてこれらのすべてはDLAT3
07の選択されたセットX及びYから線316×及び3
16Yを介して供給される絶対アドレスとチップA−D
の比較器で同時に比較される。32個の比較結果×:A
O乃至Y:D4は各セットごとに8つ、合計で32個の
出力を与え、これらの出力はシノニム判断論理317へ
の入力として接続される。
DLAT307及びその比較回路313も、第8図に図
示された型の6個のチップから構成されうる。
この場合、3個のチップはセットX及びその比較論理を
与え、残りの3個のチップはセットY及びその比較論理
を与える。所与の計算機システムのためのアーキテクチ
ャは、ディレクトリ309が所与のアドレスを重複して
保持しないことを必要とする場合がある。
またディレクトリ309の各アドレスが、主記憶10の
ライン・アドレス(1ライン=128バイト)である場
合がある。このようなアーキテクチャは主記憶のアドレ
スが基本ェントリ又はシノニム・ェント川こよって表わ
されることを必要とするであろうが、これらの両ェント
川こよって同時に表わされることは必要としないであろ
う。このようなアーキテクチャを実現するには、第4A
図及び第4B図の出力線473−479,481一48
4,485−488及び489一492を検査回路(図
示せず)で検査し、これらの16本の線のうち2本以上
の線が同時に活勢であるときエラー信号を生ぜしめるよ
うにすればよい。第10図に示すように結合される第1
0A図及び第10B図は、本発明の第2実施態様を示す
これはシノニム取出ヒットを処理するにあたって第3A
図及び第3B図の実施態様よりも少し、サイクルしか必
要としないものであり、また包含される回路を幾らか簡
単にすることができる。つまり、シノニム取出ヒットを
処理するために第3A図及び第3B図の実施態様が5サ
イクルを要するのに対し、第10A図及び第10B図の
それは3サイクルを要するにすぎない。前者はシノニム
取出ヒットがIE/EE4川こ対し遅延された基本取出
ヒットとして見えるようにしているので、キャッシュ記
憶311とIE/EE40の間のインターフェースを簡
単にすることができる。一方、第10A図及び第10B
図の実施態様は、シノニム取出ヒット自体を認識するこ
とができるようなキャッシュ記憶311とIE/EE4
0の間のインターフェースを必要とする。これらの両実
施態様は、シノニム書込動作及び基本取出又は書込動作
について2サイクルを要する。
第10A図の回路は、RFAR321又はそのゲートG
1,G2を含まない点を除くと、第3A図の回路と同じ
である。
また、シノニム判断論理31 7へのビット1 8一1
9は、BCAR30 1のみによって供給される。即
ち、第10A図の回路では、シノニム判断回路317へ
の置換ビット18−19は存在しない。第10B図の回
路は、第3B図のそれと著しく異なる。
第10B図の回路は、第3B図のRFAR優先トリガ3
29、BCAR優先回路335及びRFAR受諾トリガ
337から成るようなBCAR優先機構を含んでいない
。また第3B図の反転回路339、1対のAND回略3
41、1対のAND回路343並びにOR回路345A
及び345Bから成るようなビット18−19の暦毛奥
機構も含んでいない。さらに、第10B図のプッシュ・
ダウン式アドレス・レジスタ(以下「PDAR」と略す
)361AがBCAR301からの取出及び書込要求ア
ドレスをともに受取るのに対し、第3B図のPOSAR
361は書込要求アドレスのみを受取るという違いがあ
る。
さらに第10B図の取出SID回路371(第11図参
照)は、第3B図には設けられていない。
この取出SID回路371は第2図のセット選択論理3
19へ基本及びシノニム取出ヒットのためのSIDを供
給するので、第4A図の線455−461から供給され
る「取出SID」は第10A図及び第10B図の実施態
様に対するセット選択論理319には接続されていない
。第9図は、第10A図及び第10B図の実施態様にお
ける3サイクルのシノニム取出ヒット動作のタイミング
を示す。
基本取出ヒット及び基本又はシノニム書込ヒットの各々
は2サイクルで動作し、それらの出力をC2サイクルの
間に供給する。シノニム判断論理317中にある4つの
フアネル回路419の全部へBCAR301だけがアド
レス・ビット18−19を供給するので、シノニム判断
論理317からの4本の出力線455−461に「基本
取出SID」だけが供給されうる。
この「基本取出SID」はシノニム判断論理317の出
力側に設けられた4つのトリガ455A一461Aで1
サイクルだけ遅延され、次いで第9図のC2サイクルの
間に取出SID回路371(第11図参照)へ「取出S
ID」が供給される。第11図において、「基本取出S
ID」はAND回路586−589及びOR回路591
一594を通過し、C2サイクルの間に第2図のセット
選択論理319へ供給される。AND回路586−58
9は線356A上の「基本取出ヒット(PRINFTH
HIT)」信号によって付勢され、該信号は第10B図
のAND回路356が「取出要求」信号及びシノニム判
断論理317から線467を介して加わるr基本ヒット
」信号によって付勢されるとき活勢となる。従って、C
Iサイクルの間にBCAR301によってこの要求が出
力された後、セット選択論理319からの基本ヒットが
C2サイクルに出力される。C2サイクルの間にAND
回路355から線355Aに「シノニム取出ヒット(S
YNOFTHHIT)」信号が供給される場合、「シノ
ニム取出Sm」が取出SID回路371からC3サイク
ルの間に出力される。
AND回路355は、「取出要求」信号及びC2サイク
ルの間にシノニム判断論理317から線469を介して
供給される「シノニム・ヒット」信号によって付勢され
る。第11図において、線355A上の「シノニム取出
ヒット」信号はトリガ501によってC2サイクルの間
遅延され、次いでC3サイクルの間にAND回路581
−584を付勢することにより、トリガ502及び50
3から出力されている復号済みのSmを通過させる。な
お、トリガ502及び503は、第3B図のレジスタ3
47から2本の線347Aを受取る。次いで、このSI
DはOR回路591−594を介してセット選択論理3
19へ供給される。また線355A上の「シノニム取出
ヒット」信号はC2サイクルの間に第10B図のOR回
路358を介してゲートG4を付勢し、かくてレジスタ
347に保持されたGIDをグループ選択OR回路35
9を通過させてアドレス・ビット18一19を第2図の
CAB310へ供給させる。
またC2サイクル中には、OR回路358の出力によっ
てゲートG5が付勢されるので、PDAR361A中の
ビット20一28がダブルワード選択OR回路363を
介して第2図のCAB310へ供給され、これによりキ
ャッシュ・アドレスを完成させる。
PDAR361Aは、先行するCIサイクル中にBCA
R301に置かれていた値を常に保持する。反転回路3
83はC2サイクルの間にゲートG7及びG8を禁止し
、かくてBCAR301に現に保持されている任意のビ
ットがグループ選択OR回路359又はダブルワード選
択OR回路363によって受取られないようにするので
、BCAR301の内容は現在供給されているシノニム
取出アドレスに干渉することはできない。要約すると、
SID及びGID信号は、C2サイクルの間にレジスタ
347に保持される。
またSIDはC3サイクルの間に取出SID回路371
に保持され、かくてセット選択論理319へ供給される
。次いで、キャッシュ記憶31 1からアクセスされた
ダブルワードは、C3サイクルの間にセット選択論理3
19の出力から特定の要求元、例えばIE/EE40へ
供給される。線47川こ生ぜられる「任意のヒット」信
号及び「書込要求」信号はAND回路357を付勢し、
該回路はOR回路358の出力を付勢してゲートG4及
びG5を付勢するので、レジスタ347に保持されたO
lD及びグループ選択OR回路35 9からのPDAR
ビット2 0一28はC2サイクルの間にCAB31
0へ供給される。
またC2サイクルの間には、レジスタ347に保持され
たSmが第2図の書込SI○復号回路312へ供給され
るので、これに応じて要求元によって供給されたダブル
ワードがキャッシュ記憶311中の適正なセットへ書込
まれ、かくて書込要求を完了させる。前記した本発明の
実施態様は、いずれも4ウェィのセット−アソシアティ
ブ形キャッシュ記憶を使用し、そのクラスを4グループ
へ分割するようにしているが、本発明はこれに限定され
るものではなく、2N個のグループ及び任意のセット・
アソシアティビティをも使用しうろことを理解すべきで
ある。
【図面の簡単な説明】
第1図は本発明を実施するに通したデータ処理システム
のブロック図、第2図は本発明を包含するキャッシュ・
アドレツシング機構のブロック図、第3図は第3A図及
び第38図の結合様式を示す図、第3A図及び第3B図
は本発明の第1実施態様に従ったシノニム検出機構を有
するキャッシュ・アドレツシング・システムを示すブロ
ック図、第4図は第4A図及び第4B図の結合様式を示
す図、第4A図及び第4B図は第3A図に示されたシノ
ニム判断論理317の内部構成を示す図、第5図は第3
8図に示された付号回路327の内部構成を示す図、第
6A図はシノニム・ヒットを有するキャッシュ取出動作
のタイミングを示す図、第6B図は基本又はシノニム・
ヒットを有するキャッシュ書込動作のタイミングを示す
図、第7図は4グループのクラスに分割された4ウェィ
のセット・アソシアティブ形ディレクトリを構成するた
めに第8図に示されたチップがどのように結合されるか
ということを示す図、第8図は4グループのクラス及び
比較論理を備えたディレクトリの1セットに対応する単
一チップを示す図、第9図は第10A図及び第10B図
に示された第2実施態様のシノニム取出動作に対するタ
イミングを示す図、第10図は第10A図及び第108
図の結合様式を示す図、第10A図及び第10B図は本
発明に従った第2実施態様の具体的構成を示す図、第1
1図は第10B図に示された取出Sm回路371の内部
構成を示す図である。 FIG.IFIG.2 FIG.3A FIG.3 FIG.38 FIG.4 FIG.4A FIG.46 FIG.S FIG.7 FIG.9 EIG.6A FIG.68 〇 ○ 山 FIG.10A FIG.10 FIG.108 FIG.11

Claims (1)

    【特許請求の範囲】
  1. 1 キヤツシユ記憶と;各々が1以上のデイレクトリ・
    エントリを含む複数のコングルエンス・クラスを有し、
    該デイレクトリ・エントリの各々には前記キヤツシユ記
    憶に格納されている1データ・ブロツクに対応する主記
    憶アドレスがそれぞれ保持されているキヤツシユ・デイ
    レクトリと;主記憶をアクセスするための要求アドレス
    として変換可能フイールド及び変換不能フイールドを含
    む論理アドレスを受取るための要求アドレス・レジスタ
    とを備え;該要求アドレス・レジスタに受取られた要求
    アドレスのうち変換可能フイールドの下位部分及び変換
    不能フイールドの上位部分は前記キヤツシユ・デイレク
    トリのアドレスとして使用され、さらに最近受取られた
    複数の要求アドレスの論理アドレスと該論理アドレスに
    対応する変換済みの主記憶アドレスとの対を複数組保持
    する変換索引緩衝機構を備え;前記要求アドレスは前記
    変換索引緩衝機構の1つのクラスを選択して該変換索引
    緩衝機構の特定エントリを出力するように構成されてい
    るキヤツシユ記憶システムであって: 前記変換不能フ
    イールドの前記上位部分を使用して前記キヤツシユ・デ
    イレクトリをアクセスすることにより、2^N個(但し
    、Nは前記変換可能フイールドの前記下位部分における
    ビツト数)のグループへ分割されている該キヤツシユ・
    デイレクトリ中のクラスを各グループごとに1クラスず
    つ同時に選択するための選択手段と: 該選択手段によ
    って選択された2^N個のクラスのデイレクトリ・エン
    トリをそれぞれ読出すための読出手段と; 該読出手段
    によって読出されたデイレクトリ・エントリの各々と前
    記変換索引緩衝機構から出力される前記主記憶アドレス
    の各々とを比較するための主記憶アドレス比較手段と;
    前記要求アドレス・レジスタからの前記要求アドレス
    と前記変換索引緩衝機構から出力される前記論理アドレ
    スの各々とを比較するための論理アドレス比較手段と:
    前記主記憶アドレス比較手段からの一致出力信号及び
    前記論理アドレス比較手段からの一致出力信号に応答し
    て任意のヒツト信号を供給するためのヒツト検出手段と
    ; 該ヒツト検出手段に接続され、前記任意のヒツト信
    号を生ぜしめた特定のグループを表わすグループ識別子
    を供給するためのグループ制御手段と; 該グループ制
    御手段に接続され、前記キヤツシユ記憶中の特定データ
    ・ブロツクをアクセスするために前記グループ識別子と
    前記変換不能フイールドの前記上位部分を結合するため
    のキヤツシユ・アドレス生成手段とを備えて成る、キヤ
    ツシユ記憶システム。
JP56033287A 1980-03-17 1981-03-10 キヤツシユ記憶システム Expired JPS604494B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/130,946 US4332010A (en) 1980-03-17 1980-03-17 Cache synonym detection and handling mechanism
US130946 1980-03-17

Publications (2)

Publication Number Publication Date
JPS56140575A JPS56140575A (en) 1981-11-02
JPS604494B2 true JPS604494B2 (ja) 1985-02-04

Family

ID=22447126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56033287A Expired JPS604494B2 (ja) 1980-03-17 1981-03-10 キヤツシユ記憶システム

Country Status (4)

Country Link
US (1) US4332010A (ja)
EP (1) EP0036110B1 (ja)
JP (1) JPS604494B2 (ja)
DE (1) DE3176266D1 (ja)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6028015B2 (ja) * 1980-08-28 1985-07-02 日本電気株式会社 情報処理装置
US4399506A (en) * 1980-10-06 1983-08-16 International Business Machines Corporation Store-in-cache processor means for clearing main storage
DE3177181D1 (de) 1980-11-10 1990-06-21 Ibm Anordnung zur erkennung und verarbeitung von synonymen in cache-speichern.
US4400770A (en) * 1980-11-10 1983-08-23 International Business Machines Corporation Cache synonym detection and handling means
US4523275A (en) * 1980-11-14 1985-06-11 Sperry Corporation Cache/disk subsystem with floating entry
US4481573A (en) * 1980-11-17 1984-11-06 Hitachi, Ltd. Shared virtual address translation unit for a multiprocessor system
US4661903A (en) * 1981-05-22 1987-04-28 Data General Corporation Digital data processing system incorporating apparatus for resolving names
US4464712A (en) * 1981-07-06 1984-08-07 International Business Machines Corporation Second level cache replacement method and apparatus
JPS58147879A (ja) * 1982-02-26 1983-09-02 Toshiba Corp キヤツシユメモリ制御方式
JPS58150186A (ja) * 1982-03-03 1983-09-06 Nec Corp バツフアメモリコントロ−ルシステム
US4511994A (en) * 1982-09-27 1985-04-16 Control Data Corporation Multi-group LRU resolver
US4594659A (en) * 1982-10-13 1986-06-10 Honeywell Information Systems Inc. Method and apparatus for prefetching instructions for a central execution pipeline unit
US4607331A (en) * 1983-05-13 1986-08-19 Motorola, Inc. Method and apparatus for implementing an algorithm associated with stored information
US4731739A (en) * 1983-08-29 1988-03-15 Amdahl Corporation Eviction control apparatus
US4551797A (en) * 1983-08-31 1985-11-05 Amdahl Corporation Apparatus for reverse translation
US4589092A (en) * 1983-12-12 1986-05-13 International Business Machines Corporation Data buffer having separate lock bit storage array
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
JPH0670787B2 (ja) * 1984-06-29 1994-09-07 富士通株式会社 処理装置間指令転送制御システム
US4747044A (en) * 1984-08-23 1988-05-24 Ncr Corporation Direct execution of software on microprogrammable hardware
US4648033A (en) * 1984-09-07 1987-03-03 International Business Machines Corporation Look-aside buffer LRU marker controller
JPS6184753A (ja) * 1984-10-01 1986-04-30 Hitachi Ltd バツフアメモリ
US4663742A (en) * 1984-10-30 1987-05-05 International Business Machines Corporation Directory memory system having simultaneous write, compare and bypass capabilites
JP2539357B2 (ja) 1985-03-15 1996-10-02 株式会社日立製作所 デ−タ処理装置
US4636990A (en) * 1985-05-31 1987-01-13 International Business Machines Corporation Three state select circuit for use in a data processing system or the like
EP0206050A3 (en) * 1985-06-28 1990-03-14 Hewlett-Packard Company Virtually addressed cache memory with physical tags
JPS62118457A (ja) * 1985-11-19 1987-05-29 Hitachi Ltd バツフア記憶制御方式
US5029072A (en) * 1985-12-23 1991-07-02 Motorola, Inc. Lock warning mechanism for a cache
US4755936A (en) * 1986-01-29 1988-07-05 Digital Equipment Corporation Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles
US5237671A (en) * 1986-05-02 1993-08-17 Silicon Graphics, Inc. Translation lookaside buffer shutdown scheme
JPH0661066B2 (ja) * 1986-10-20 1994-08-10 株式会社日立製作所 記憶制御装置
US4797817A (en) * 1986-12-10 1989-01-10 Ncr Corporation Single cycle store operations in a virtual memory
KR920001282B1 (ko) * 1987-10-02 1992-02-10 가부시키가이샤 히타치세이사쿠쇼 버퍼메모리 제어장치
US5119290A (en) * 1987-10-02 1992-06-02 Sun Microsystems, Inc. Alias address support
JPH07120312B2 (ja) * 1987-10-07 1995-12-20 株式会社日立製作所 バッファメモリ制御装置
US5133061A (en) * 1987-10-29 1992-07-21 International Business Machines Corporation Mechanism for improving the randomization of cache accesses utilizing abit-matrix multiplication permutation of cache addresses
US4897813A (en) * 1988-02-19 1990-01-30 Unisys Corporation Partially programmable read-only memory system
US5214770A (en) * 1988-04-01 1993-05-25 Digital Equipment Corporation System for flushing instruction-cache only when instruction-cache address and data-cache address are matched and the execution of a return-from-exception-or-interrupt command
US5003459A (en) * 1988-04-01 1991-03-26 Digital Equipment Corporation Cache memory system
DE68926837T2 (de) * 1988-06-07 1997-03-06 Bull Hn Information Syst Einrichtung und Verfahren zur verbesserten Umsetzung von virtueller zu realer Adresse für Cache-Speicherzugriff
US5226146A (en) * 1988-10-28 1993-07-06 Hewlett-Packard Company Duplicate tag store purge queue
US5142634A (en) * 1989-02-03 1992-08-25 Digital Equipment Corporation Branch prediction
GB9008145D0 (en) * 1989-05-31 1990-06-06 Ibm Microcomputer system employing address offset mechanism to increase the supported cache memory capacity
US5148538A (en) * 1989-10-20 1992-09-15 International Business Machines Corporation Translation look ahead based cache access
US5265227A (en) * 1989-11-14 1993-11-23 Intel Corporation Parallel protection checking in an address translation look-aside buffer
JP2503702B2 (ja) * 1989-12-19 1996-06-05 日本電気株式会社 アドレス変換装置
US5206941A (en) * 1990-01-22 1993-04-27 International Business Machines Corporation Fast store-through cache memory
JPH03216744A (ja) * 1990-01-22 1991-09-24 Fujitsu Ltd 内蔵キャッシュ・メモリ制御方式
US5014195A (en) * 1990-05-10 1991-05-07 Digital Equipment Corporation, Inc. Configurable set associative cache with decoded data element enable lines
US5283876A (en) * 1990-10-05 1994-02-01 Bull Hn Information Systems Inc. Virtual memory unit utilizing set associative memory structure and state machine control sequencing with selective retry
JP2734466B2 (ja) * 1991-05-02 1998-03-30 三菱電機株式会社 マイクロコンピュータ
JP2839060B2 (ja) * 1992-03-02 1998-12-16 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理システムおよびデータ処理方法
US5584002A (en) * 1993-02-22 1996-12-10 International Business Machines Corporation Cache remapping using synonym classes
US5813046A (en) * 1993-11-09 1998-09-22 GMD--Forschungszentrum Informationstechnik GmbH Virtually indexable cache memory supporting synonyms
DE19512745A1 (de) * 1994-04-15 1995-10-26 Mathematik Und Datenverarbeitu Cache-Speichervorrichtung zum Speichern von Daten
JPH07287668A (ja) 1994-04-19 1995-10-31 Hitachi Ltd データ処理装置
US5890221A (en) * 1994-10-05 1999-03-30 International Business Machines Corporation Method and system for offset miss sequence handling in a data cache array having multiple content addressable field per cache line utilizing an MRU bit
US6006312A (en) * 1995-02-27 1999-12-21 Sun Microsystems, Inc. Cachability attributes of virtual addresses for optimizing performance of virtually and physically indexed caches in maintaining multiply aliased physical addresses
US5649155A (en) * 1995-03-31 1997-07-15 International Business Machines Corporation Cache memory accessed by continuation requests
US5894487A (en) * 1997-07-15 1999-04-13 International Business Machines Corporation Error detection of directory arrays in dynamic circuits
CN1168025C (zh) * 1999-03-10 2004-09-22 国际商业机器公司 用于多线程处理机的指令高速缓存器
US7283991B1 (en) * 1999-03-11 2007-10-16 Microsoft Corporation Caching system for path search optimization
US6553460B1 (en) 1999-10-01 2003-04-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6412043B1 (en) 1999-10-01 2002-06-25 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6772325B1 (en) * 1999-10-01 2004-08-03 Hitachi, Ltd. Processor architecture and operation for exploiting improved branch control instruction
US6598128B1 (en) 1999-10-01 2003-07-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6629207B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method for loading instructions or data into a locked way of a cache memory
US6658505B2 (en) * 2001-06-05 2003-12-02 Hewlett-Packard Development Company, L.P. System and method for checking bits in a buffer with multiple entries
US9430395B2 (en) * 2008-08-11 2016-08-30 International Business Machines Corporation Grouping and dispatching scans in cache

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3761881A (en) * 1971-06-30 1973-09-25 Ibm Translation storage scheme for virtual memory system
US3723976A (en) * 1972-01-20 1973-03-27 Ibm Memory system with logical and real addressing
US3902164A (en) * 1972-07-21 1975-08-26 Ibm Method and means for reducing the amount of address translation in a virtual memory data processing system
JPS52149444A (en) * 1976-06-08 1977-12-12 Fujitsu Ltd Multiplex virtual space processing data processing system
US4084230A (en) * 1976-11-29 1978-04-11 International Business Machines Corporation Hybrid semiconductor memory with on-chip associative page addressing, page replacement and control
US4096573A (en) * 1977-04-25 1978-06-20 International Business Machines Corporation DLAT Synonym control means for common portions of all address spaces
US4136385A (en) * 1977-03-24 1979-01-23 International Business Machines Corporation Synonym control means for multiple virtual storage systems
US4218743A (en) * 1978-07-17 1980-08-19 International Business Machines Corporation Address translation apparatus
US4264953A (en) * 1979-03-30 1981-04-28 Honeywell Inc. Virtual cache

Also Published As

Publication number Publication date
EP0036110B1 (en) 1987-06-16
EP0036110A2 (en) 1981-09-23
EP0036110A3 (en) 1983-10-05
DE3176266D1 (en) 1987-07-23
JPS56140575A (en) 1981-11-02
US4332010A (en) 1982-05-25

Similar Documents

Publication Publication Date Title
JPS604494B2 (ja) キヤツシユ記憶システム
KR920005280B1 (ko) 고속 캐쉬 시스템
JP3587591B2 (ja) キャッシュ・ミスを制御する方法およびその計算機システム
JP3799050B2 (ja) 階層化された記憶項目とキャッシュタグを単一キャッシュアレイ構造に格納するキャッシュメモリ装置及び方法
US5070502A (en) Defect tolerant set associative cache
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US6425055B1 (en) Way-predicting cache memory
US5257361A (en) Method and apparatus for controlling one or more hierarchical memories using a virtual storage scheme and physical to virtual address translation
US5392410A (en) History table for prediction of virtual address translation for cache access
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
US4797814A (en) Variable address mode cache
US5201041A (en) Cache bypass apparatus
JP3718302B2 (ja) 命令取り出し方法および装置
KR100335672B1 (ko) 메모리페이지크로싱예측주석을사용하는실제주소지정데이타기억구조로부터의빠른데이타검색
US4831622A (en) Apparatus for forcing a reload from main memory upon cache memory error
US6901540B1 (en) TLB parity error recovery
US6510506B2 (en) Error detection in cache tag array using valid vector
JP2006018841A (ja) さまざまなメモリラインサイズに適応的に対応可能なキャッシュメモリシステムおよび方法
JPH0371355A (ja) キヤツシユ検索装置および検索方法
EP0375864A2 (en) Cache bypass
US20040181626A1 (en) Partial linearly tagged cache memory system
US6134699A (en) Method and apparatus for detecting virtual address parity error for a translation lookaside buffer
JPH07120316B2 (ja) セグメント記述子装置
US6216198B1 (en) Cache memory accessible for continuous data without tag array indexing
EP0335113A2 (en) Single chip cache memory, and cache memory apparatus including a plurality of parallel connected single chip cache memories