JPS63244248A - キヤツシユ制御装置 - Google Patents
キヤツシユ制御装置Info
- Publication number
- JPS63244248A JPS63244248A JP62077931A JP7793187A JPS63244248A JP S63244248 A JPS63244248 A JP S63244248A JP 62077931 A JP62077931 A JP 62077931A JP 7793187 A JP7793187 A JP 7793187A JP S63244248 A JPS63244248 A JP S63244248A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- block
- address
- memory
- directory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 abstract description 17
- 238000013461 design Methods 0.000 abstract description 5
- 230000015654 memory Effects 0.000 description 56
- 238000010586 diagram Methods 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 229940002865 4-way Drugs 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/601—Reconfiguration of cache memory
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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、連想方式のキャッシュ・メモリ装置に関し、
さらに詳細には、キャッシュ・メモリ装置を、CPU素
子、メモリ素子などの集積回路を用いてマルチ・チップ
構成で実現する場合の、キャッシュ制御用集積回路に関
する。
さらに詳細には、キャッシュ・メモリ装置を、CPU素
子、メモリ素子などの集積回路を用いてマルチ・チップ
構成で実現する場合の、キャッシュ制御用集積回路に関
する。
従来の技術
従来の典型的なセット・アソシアティヴ方式のキャッシ
ュ・メモリの構成例を第7図に示す。
ュ・メモリの構成例を第7図に示す。
第7図に示すキャッシュ制御装置は、アドレス・バッフ
ァ301、アドレス・インデクス・フィールド・デコー
ダ302、キャッシュ・アドレス・メモリ303、比較
器304、リブレース用アドレス・タグ・マルチプレク
サ305、無効化指示メモリ306、LRUステータス
・メモリ307、ラッチ308.309、無効化ブロッ
ク優先制御器310、LRUブロック優先制御器311
、LRUブロックエンコータ312、リブレース・ブロ
ック決定手段3211キャッシュ・アドレス・ストロー
ブ351.352.353.354、アドレス・バス・
インデクス・フィールド361、アドレス・バス・タグ
・フィールド362.363 、リブレース・ディレク
トリ・バンク指示バス364、アドレス・インデクス・
フィールド・デコード信号365、無効化ブロック指示
信号線366、ヒツトブロック指示信号線367が図示
のように結合されて構成されている。
ァ301、アドレス・インデクス・フィールド・デコー
ダ302、キャッシュ・アドレス・メモリ303、比較
器304、リブレース用アドレス・タグ・マルチプレク
サ305、無効化指示メモリ306、LRUステータス
・メモリ307、ラッチ308.309、無効化ブロッ
ク優先制御器310、LRUブロック優先制御器311
、LRUブロックエンコータ312、リブレース・ブロ
ック決定手段3211キャッシュ・アドレス・ストロー
ブ351.352.353.354、アドレス・バス・
インデクス・フィールド361、アドレス・バス・タグ
・フィールド362.363 、リブレース・ディレク
トリ・バンク指示バス364、アドレス・インデクス・
フィールド・デコード信号365、無効化ブロック指示
信号線366、ヒツトブロック指示信号線367が図示
のように結合されて構成されている。
更に、第8図に、キャッシュ・データ・メモリの構成例
を示す。第8図に示すキャッシュ・データ・メモリは、
キャッシュ・アクセス・アドレス401、キャッシュ制
御装置(第7図会体に対応)402、メモリ素子403
、双方向性バッファ404、プル・アップ抵抗405、
データ・バス451を具備している。
を示す。第8図に示すキャッシュ・データ・メモリは、
キャッシュ・アクセス・アドレス401、キャッシュ制
御装置(第7図会体に対応)402、メモリ素子403
、双方向性バッファ404、プル・アップ抵抗405、
データ・バス451を具備している。
キャッシュ・アクセスの1サイクルは、次のように実行
される。02口などのキャッシュ・アクセスにおけるホ
スト・プロセッサの出力するアドレス301.401は
、一方では、キャッシュ・ディレクトリの検索に用いら
れ(第7図)、もう一方では、キャッシュ・データ・メ
モリのアクセスに用いられる(第8図)。アドレス30
1のアドレス・インデクス・フィールド361によって
選択されるキャッシュ・アドレス・メモリ303のカラ
ムが、303 a −303dの4つに対して同時に読
み出され、それとアドレス301のアドレス・タグ・フ
ィールド362と比較される。無効化指示メモリ306
からの無効化ブロック指示信号366を含めた比較結果
が、キャッシュ・アドレス・ストローブ351.352
.353.354としてメモリ素子群403の人出力バ
ツファ404に伝えられ、対応するメモリ内容とデータ
・バス4510間で転送が実行される。
される。02口などのキャッシュ・アクセスにおけるホ
スト・プロセッサの出力するアドレス301.401は
、一方では、キャッシュ・ディレクトリの検索に用いら
れ(第7図)、もう一方では、キャッシュ・データ・メ
モリのアクセスに用いられる(第8図)。アドレス30
1のアドレス・インデクス・フィールド361によって
選択されるキャッシュ・アドレス・メモリ303のカラ
ムが、303 a −303dの4つに対して同時に読
み出され、それとアドレス301のアドレス・タグ・フ
ィールド362と比較される。無効化指示メモリ306
からの無効化ブロック指示信号366を含めた比較結果
が、キャッシュ・アドレス・ストローブ351.352
.353.354としてメモリ素子群403の人出力バ
ツファ404に伝えられ、対応するメモリ内容とデータ
・バス4510間で転送が実行される。
比較結果は、ヒツトブロック指示信号367として、リ
ブレース・ブロック決定手段321にも通知されるニヒ
ットしたブロックは、最も最近アクセスされたブロック
としてLRUブロック優先制御器311に通知される。
ブレース・ブロック決定手段321にも通知されるニヒ
ットしたブロックは、最も最近アクセスされたブロック
としてLRUブロック優先制御器311に通知される。
制御器311はその情報に従ってLRUステータス・メ
モリ307の内容を変換する。また、それより前に、無
効化ブロック指示信号366を用いて無効化ブロック優
先制御器310が、無効化ブロックを優先してキャッシ
ュから追い出すようなLRUステータスの変換を行なう
事もできる。
モリ307の内容を変換する。また、それより前に、無
効化ブロック指示信号366を用いて無効化ブロック優
先制御器310が、無効化ブロックを優先してキャッシ
ュから追い出すようなLRUステータスの変換を行なう
事もできる。
制御器311の出力は、エンコーダ312によって、キ
ャッシュ・ミス時のリブレース・ディレクトリ・バンク
を指示するリブレース・ディレクトリ・バンク指示信号
364に変換される。この例のような、連想単位数4セ
ツト・アソシアテイヴ方式のキャッシュ・メモリでは、
この信号は4ブロツクのLRUブロックそのものを指示
することになる。
ャッシュ・ミス時のリブレース・ディレクトリ・バンク
を指示するリブレース・ディレクトリ・バンク指示信号
364に変換される。この例のような、連想単位数4セ
ツト・アソシアテイヴ方式のキャッシュ・メモリでは、
この信号は4ブロツクのLRUブロックそのものを指示
することになる。
発明が解決しようとする問題点
従来の「メイン・フレーム」と呼ばれる大型計算機、あ
るいは上位のミニコンにおいては、主記憶アクセスの高
速化を達成するために、キャッシュ・メモリ装置は必須
のものである。これらの大規模〜中規模システムにおけ
るキャッシュ・メモリは、CPUに対して密に結合した
状態で設計され、そのCPUに対して最適のコスト・パ
ーフオマンスが達成されるようになっているのが普通で
ある。言い換えれば、キャッシュ・メモリに関係するロ
ジック部は、CPUと深く融合・一体化しており、キャ
ッシュの部分がモジュール化・部品化されているわけで
はない。
るいは上位のミニコンにおいては、主記憶アクセスの高
速化を達成するために、キャッシュ・メモリ装置は必須
のものである。これらの大規模〜中規模システムにおけ
るキャッシュ・メモリは、CPUに対して密に結合した
状態で設計され、そのCPUに対して最適のコスト・パ
ーフオマンスが達成されるようになっているのが普通で
ある。言い換えれば、キャッシュ・メモリに関係するロ
ジック部は、CPUと深く融合・一体化しており、キャ
ッシュの部分がモジュール化・部品化されているわけで
はない。
これに対し、パソコンや、エンジニアリング・ワークス
テーションのような「小規模システム」のハードウェア
・ロジックは、汎用の集積回路によるマルチチップ構成
を採り、数枚〜士数枚のボードによって成り立っている
場合がほとんどである。昨今の情勢からすれば、このよ
うなシステムにおいても、実用上メイン・フレーム並の
性能向上が要求されているが、それが達成可能な技術的
背景は十分整ってきている。よって、この場合における
キャッシュの必要性については言うに及ばない。シング
ル・ボード・コンビコータ上において、そのCPUの性
能を最大限に引き出すように、ディスクリートICによ
るキャッシュ・メモリを構成した製品も登場している。
テーションのような「小規模システム」のハードウェア
・ロジックは、汎用の集積回路によるマルチチップ構成
を採り、数枚〜士数枚のボードによって成り立っている
場合がほとんどである。昨今の情勢からすれば、このよ
うなシステムにおいても、実用上メイン・フレーム並の
性能向上が要求されているが、それが達成可能な技術的
背景は十分整ってきている。よって、この場合における
キャッシュの必要性については言うに及ばない。シング
ル・ボード・コンビコータ上において、そのCPUの性
能を最大限に引き出すように、ディスクリートICによ
るキャッシュ・メモリを構成した製品も登場している。
「小規模システム」構成上の特徴は、システムLSIの
巧みな利用と、それらの部品化された機構による装置構
成の融通性にある。これは、民生機器的な性格を持つシ
ステムの大量生産の可能性と、装置の多品種化に伴う多
品種少量生産の可能性という、−見矛盾した2つの課題
のいずれに対しても、「小規模システム」が対応できる
ことを示している。実際「小規模システム」とはいえ、
パソコンとエンジニアリング・ワークステーションとで
は、アプリケーションからの要求性能、専用/汎用性、
許容される製造コストが異なり、よって、コスト/性能
などのトレード・オフに対して、選択される平衡点は当
然具なってくる。
巧みな利用と、それらの部品化された機構による装置構
成の融通性にある。これは、民生機器的な性格を持つシ
ステムの大量生産の可能性と、装置の多品種化に伴う多
品種少量生産の可能性という、−見矛盾した2つの課題
のいずれに対しても、「小規模システム」が対応できる
ことを示している。実際「小規模システム」とはいえ、
パソコンとエンジニアリング・ワークステーションとで
は、アプリケーションからの要求性能、専用/汎用性、
許容される製造コストが異なり、よって、コスト/性能
などのトレード・オフに対して、選択される平衡点は当
然具なってくる。
「小規模システム」上で実現されるキャッシュのコスト
/性能のトレード・オフの平衡点を求めることは非常に
難しい。ここでは、性能およびコストを決定する要因に
ついて、更に詳細なパラメータを列挙してみる。
/性能のトレード・オフの平衡点を求めることは非常に
難しい。ここでは、性能およびコストを決定する要因に
ついて、更に詳細なパラメータを列挙してみる。
キャッシュの性能は、メモリ平均アクセス時間Tave
で決定される: Tave=fl (h、 Tcac、 tmis) =
hxTcac+(1−h) XTm1sここでh :キ
ャッシュ・ヒツト率 Tcac :キャッシュ・アクセス・タイムTm1s
:ミス・ヒツト処理時間 さらに、キャッシュ・ヒツト率、キャッシュ・アクセス
・タイム、ミス・ヒツト処理時間は、概ね次に示すパラ
メータで決定される。
で決定される: Tave=fl (h、 Tcac、 tmis) =
hxTcac+(1−h) XTm1sここでh :キ
ャッシュ・ヒツト率 Tcac :キャッシュ・アクセス・タイムTm1s
:ミス・ヒツト処理時間 さらに、キャッシュ・ヒツト率、キャッシュ・アクセス
・タイム、ミス・ヒツト処理時間は、概ね次に示すパラ
メータで決定される。
h=f2 (Cts、 Cbs、 Can、 Cfa、
・−・)ここでCts :キャッシュ・トータル・
サイズCbs :キャッシュ・ブロック・サイズCan
:連想単位数(アソシアティビティ、n−way) Cfa :フエツチ・アルゴリズム Tcac=f3 (Tcritical)=f3 (f
CYC,Toutd、 Tin5etup、・−)ここ
でfCYC:キャッシュ・アクセス動作クロック周波数 Toutd :各素子出力遅延時間 Tin5etup :各素子入力設定時間Tm1s=
f4(Lbi、 BWb、 TRb、 −−・・)ここ
でLbi :バス・インターフェース論理素子量 ewb :バス転送スピード TRb :バス使用率 一方、キャッシュの製造コストは、 Cave=gl (Cup、 Ltotal、 Cet
c、−−−−)ここでCup :使用素子単価 Ltotal :総論理素子量 Cetc :固定費など などで主に決定され、さらに詳細には、次のように考え
られる。
・−・)ここでCts :キャッシュ・トータル・
サイズCbs :キャッシュ・ブロック・サイズCan
:連想単位数(アソシアティビティ、n−way) Cfa :フエツチ・アルゴリズム Tcac=f3 (Tcritical)=f3 (f
CYC,Toutd、 Tin5etup、・−)ここ
でfCYC:キャッシュ・アクセス動作クロック周波数 Toutd :各素子出力遅延時間 Tin5etup :各素子入力設定時間Tm1s=
f4(Lbi、 BWb、 TRb、 −−・・)ここ
でLbi :バス・インターフェース論理素子量 ewb :バス転送スピード TRb :バス使用率 一方、キャッシュの製造コストは、 Cave=gl (Cup、 Ltotal、 Cet
c、−−−−)ここでCup :使用素子単価 Ltotal :総論理素子量 Cetc :固定費など などで主に決定され、さらに詳細には、次のように考え
られる。
Cup =g2(Cts、 Toutd、 Tin5e
tup、−・)Ltotal=g3(Lts、 Lb
s、 Lan、 Lbi、−・・・)ここでt、t
s :キャッシュ・トータル・サイズLbs :キャッ
シュ・ブロック・サイズLan :連想単位数(アソシ
アティビイティ、叶way) Lbi :バス・インターフェース論理素子量 キャッシュ・アクセス・タイムや、キャッシュ・ヒツト
率の向上するようなキャッシュ構成技法が、性能の向上
に重要である一方、製造コストは、必要となる部品単価
、部品点数や実装面積に直接かかわる。処理性能を増す
ようなハードウェア構成を採れば、コストが増加するの
は自明である。
tup、−・)Ltotal=g3(Lts、 Lb
s、 Lan、 Lbi、−・・・)ここでt、t
s :キャッシュ・トータル・サイズLbs :キャッ
シュ・ブロック・サイズLan :連想単位数(アソシ
アティビイティ、叶way) Lbi :バス・インターフェース論理素子量 キャッシュ・アクセス・タイムや、キャッシュ・ヒツト
率の向上するようなキャッシュ構成技法が、性能の向上
に重要である一方、製造コストは、必要となる部品単価
、部品点数や実装面積に直接かかわる。処理性能を増す
ようなハードウェア構成を採れば、コストが増加するの
は自明である。
コストとトレード・オフの関係にあるのは、性能ばかり
ではない。信頼性の向上をはかるための、部品上の冗長
性(待機系の準備、縮退運転など)に対するコストの増
加は否めない。
ではない。信頼性の向上をはかるための、部品上の冗長
性(待機系の準備、縮退運転など)に対するコストの増
加は否めない。
高性能な「部品」としてのキャッシュ制御装置を提供す
る場合に、以上のトレード・オフへの対処法としては、
部品それ自身としては、集積技術を最大限に駆使して高
性能・高機能な製品を製造するのはもちろんのことであ
るが、その部品を用いた場合の周辺部品が、トレード・
オフのいくつかの平衡点、即ち、システム設計の幾つか
の典型的な構成法に対して柔軟に対処できるものである
ことが重要なポイントとなる。即ち、装置構成の融通性
を考えながら、必要不可欠な部分を容量よくまとめ、シ
ステムLSIとして部品化するのである。
る場合に、以上のトレード・オフへの対処法としては、
部品それ自身としては、集積技術を最大限に駆使して高
性能・高機能な製品を製造するのはもちろんのことであ
るが、その部品を用いた場合の周辺部品が、トレード・
オフのいくつかの平衡点、即ち、システム設計の幾つか
の典型的な構成法に対して柔軟に対処できるものである
ことが重要なポイントとなる。即ち、装置構成の融通性
を考えながら、必要不可欠な部分を容量よくまとめ、シ
ステムLSIとして部品化するのである。
もちろん部品自身を、トレード・オフの各平衡点に応じ
て多品種少量生産することもひとつの解決策かもしれな
い。しかし、大量生産によってのみスケールメリットの
でる半導体集積回路において、現在の製造技術における
多品種少量生産は、部品自体のコスト増を招き、好まし
くない。特に明確なターゲット・システムがない限りは
、部品自身を汎用にしておくことが、多岐にわたる装置
の構成技法に対応する上で有利である。
て多品種少量生産することもひとつの解決策かもしれな
い。しかし、大量生産によってのみスケールメリットの
でる半導体集積回路において、現在の製造技術における
多品種少量生産は、部品自体のコスト増を招き、好まし
くない。特に明確なターゲット・システムがない限りは
、部品自身を汎用にしておくことが、多岐にわたる装置
の構成技法に対応する上で有利である。
本発明の目的は、これまでの議論のうちで、特に連想単
位数に関してメモリ素子数/キャッシュ・ヒツト率の間
で生ずるトレード・オフに対し、その幾つかの平衡点に
対処できるような、汎用のキャッシュ制御装置を提供す
ることにある。連想単位数をプログラム可能にすること
により、低コストのキャッシュ制御装置で、幾つかの典
型的なシステム構成法に対処するにはどうすべきかとい
う問題に対する一つの解決法を与えている。
位数に関してメモリ素子数/キャッシュ・ヒツト率の間
で生ずるトレード・オフに対し、その幾つかの平衡点に
対処できるような、汎用のキャッシュ制御装置を提供す
ることにある。連想単位数をプログラム可能にすること
により、低コストのキャッシュ制御装置で、幾つかの典
型的なシステム構成法に対処するにはどうすべきかとい
う問題に対する一つの解決法を与えている。
連想単位数は、その値が大きいほどメモリのキャッシュ
に対するマツピングの自由度が向上し、よって、キャッ
シュ・ヒツト率の向上、即ち平均アクセス時間の向上、
性能の向上にとつながる。
に対するマツピングの自由度が向上し、よって、キャッ
シュ・ヒツト率の向上、即ち平均アクセス時間の向上、
性能の向上にとつながる。
但し、それと同時に、読み出される可能性をもつメモリ
の選択コストが増加し、適当な性能を得るためには、並
列(同時)に、連想単位数と等しい数のメモリ素子をア
クセスする装置構成が必要となり、部品点数の増加を招
く。
の選択コストが増加し、適当な性能を得るためには、並
列(同時)に、連想単位数と等しい数のメモリ素子をア
クセスする装置構成が必要となり、部品点数の増加を招
く。
連想単位数が小さいほど、メモリのキャッシュに対する
マツピングの自由度が減少するが、同時に、読み出され
る可能性をもつメモリの選択コストが減少し、メモリ素
子数を減少させることができる。昨今のメモリ集積度の
向上を考慮すると、ある程度大容量なメモリ素子を用い
れば、連想単位数を削減することによりキャッシュ・ヒ
ツト率を補い得る。連想単位数を2から4に増加(キャ
ッシュ容量一定)することと、キャッシュ容量を4倍に
増加(連想単位数一定)することによりキャッシュ・ヒ
ツト率の改善は同程度であることが読み取れる文献が存
在する。
マツピングの自由度が減少するが、同時に、読み出され
る可能性をもつメモリの選択コストが減少し、メモリ素
子数を減少させることができる。昨今のメモリ集積度の
向上を考慮すると、ある程度大容量なメモリ素子を用い
れば、連想単位数を削減することによりキャッシュ・ヒ
ツト率を補い得る。連想単位数を2から4に増加(キャ
ッシュ容量一定)することと、キャッシュ容量を4倍に
増加(連想単位数一定)することによりキャッシュ・ヒ
ツト率の改善は同程度であることが読み取れる文献が存
在する。
従来の、連想単位数の可変でないキャッシュ制御装置に
おいては、−品種で、この判断の困難なトレード・オフ
に対し、柔軟に対処できず、すなわち、そのまま部品化
したとしても、部品としての汎用性がないという欠点を
有していた。
おいては、−品種で、この判断の困難なトレード・オフ
に対し、柔軟に対処できず、すなわち、そのまま部品化
したとしても、部品としての汎用性がないという欠点を
有していた。
問題点を解決するための手段
本発明のキャッシュ制御装置は、キャッシュ・ブロック
のアドレス・タグ部を保持する1つ以上のディレクトリ
・バンクを有し、更に、その内容と現参照アドレスのタ
グ部との比較手段を前記ディレクトリ・バンク毎にもつ
連想方式のキャッシュ制御装置であって、前記キャッシ
ュ制御装置の連想単位数を保持する手段と、前記保持手
段の内容に従って、キャッシュ・リブレースの際に、リ
ブレースされるキャッシュ・ブロックを含むディレクト
リ・バンクを指示するリブレース・ブロック決定手段と
を有し、前言己連想単位数の指定に応じて、リブレース
される前記ディレクトリ・バンクを制限することで、該
キャッシュ・メモリ装置の連想単位数を指定変更できる
ようになされている。
のアドレス・タグ部を保持する1つ以上のディレクトリ
・バンクを有し、更に、その内容と現参照アドレスのタ
グ部との比較手段を前記ディレクトリ・バンク毎にもつ
連想方式のキャッシュ制御装置であって、前記キャッシ
ュ制御装置の連想単位数を保持する手段と、前記保持手
段の内容に従って、キャッシュ・リブレースの際に、リ
ブレースされるキャッシュ・ブロックを含むディレクト
リ・バンクを指示するリブレース・ブロック決定手段と
を有し、前言己連想単位数の指定に応じて、リブレース
される前記ディレクトリ・バンクを制限することで、該
キャッシュ・メモリ装置の連想単位数を指定変更できる
ようになされている。
本発明の好ましい態様においては、前記キャッシュ制御
装置は、前記保持手段の内容と、前記現参照アドレスの
タグ部の一部の内容に従ってリブレースされるキャッシ
ュ・ブロックを含むディレクトリ・バンクを指示するリ
ブレース・ブロック決定手段を有し、前記連想単位数の
指定に応じて、リブレースされる前記ディレクトリ・バ
ンクを、複数のディレクトリ・バンク群を1つの連想単
位として動作するように指定できるようになされる。
装置は、前記保持手段の内容と、前記現参照アドレスの
タグ部の一部の内容に従ってリブレースされるキャッシ
ュ・ブロックを含むディレクトリ・バンクを指示するリ
ブレース・ブロック決定手段を有し、前記連想単位数の
指定に応じて、リブレースされる前記ディレクトリ・バ
ンクを、複数のディレクトリ・バンク群を1つの連想単
位として動作するように指定できるようになされる。
五」
以上のように構成される本発明によるキャッシュ制御装
置に採用されている連想単位数のシステム構成時におけ
る指定の概念は、従来のキャッシュには全く見いだされ
ない。その最も大きな理由は、既に述べたとおり、従来
のキャッシュ制御装置が部品化/汎用化されておらず、
連想単位数が、キャッシニ毎に固有の値をもつように設
計されていたからである。即ち、キャッシュ・メモリの
基本方式として連想単位数やキャッシュ・メモリ容量が
設定され、それに応じた比較器、及び周辺論理が設計さ
れる。
置に採用されている連想単位数のシステム構成時におけ
る指定の概念は、従来のキャッシュには全く見いだされ
ない。その最も大きな理由は、既に述べたとおり、従来
のキャッシュ制御装置が部品化/汎用化されておらず、
連想単位数が、キャッシニ毎に固有の値をもつように設
計されていたからである。即ち、キャッシュ・メモリの
基本方式として連想単位数やキャッシュ・メモリ容量が
設定され、それに応じた比較器、及び周辺論理が設計さ
れる。
本発明によるキャッシュ制御装置は、従来技術によるも
のと異なり、キャッシュ・ディレクトリと、複数の比較
器を一体と考えた部品を提供する。
のと異なり、キャッシュ・ディレクトリと、複数の比較
器を一体と考えた部品を提供する。
従って、本発明を適用したキャッシュ制御装置を、高速
メモリ素子と共に使用することで、少ない部品点数でキ
ャッシュ・システムの構築を可能にするとともに、部品
としての汎用性をもたせ、性能/コストのトレード・オ
フにかかわるシステム設計手法の変化に対して一品種で
柔軟に対処可能であるという独創性を有する。
メモリ素子と共に使用することで、少ない部品点数でキ
ャッシュ・システムの構築を可能にするとともに、部品
としての汎用性をもたせ、性能/コストのトレード・オ
フにかかわるシステム設計手法の変化に対して一品種で
柔軟に対処可能であるという独創性を有する。
実施例
以下、添付図面を参照して本発明によるキャッシュ制御
装置の実施例を説明する。しかし、以下に説明しまた添
付図面に示す実施例は、本発明によるキャッシュ制御装
置を例示するものである。
装置の実施例を説明する。しかし、以下に説明しまた添
付図面に示す実施例は、本発明によるキャッシュ制御装
置を例示するものである。
従って、本発明は、それら実施例に限定されるものでは
なく、特許請求の範囲の記載の範囲内において様々な態
様で実現できるものである。
なく、特許請求の範囲の記載の範囲内において様々な態
様で実現できるものである。
実施例1
本発明の実施例を図面を用いて説明する。
第1図は、本発明のキャッシュ制御装置の1つの実施例
を示すブロック図である。なお、第1図に示すキャッシ
ュ制御装置において、第7図に示す従来のキャッシュ制
御装置の各部と同一または同一機能の部分には同一の参
照番号を付しである。
を示すブロック図である。なお、第1図に示すキャッシ
ュ制御装置において、第7図に示す従来のキャッシュ制
御装置の各部と同一または同一機能の部分には同一の参
照番号を付しである。
図示のキャッシュ制御装置は、
アドレス・バッファ301、アドレス・インデクス・フ
ィールド・デコーダ302、キャッシュ・アドレス・メ
モリ303 a −d 、比較器304 a −d、リ
ブレース用アドレス・タグ・マルチプレクサ305、無
効化指示メモリ306、LRUステータス・メモリ30
7、リブレース・ブロック決定手段320、連想単位数
保持手段106、キャッシュ・アドレス・ストローブ3
51.352.353.354、アドレス・バス・イン
デクス・フィールド361、アドレス・バス・タグ・フ
ィールド362.363、リブレース・ディレクトリ・
バンク指示バス364、アドレス・インデクス・フィー
ルド・デコード信号365、無効化ブロック指示信号線
366、ヒツトブロック指示信号線367 ’ty<図
示のように結合されて構成されている。
ィールド・デコーダ302、キャッシュ・アドレス・メ
モリ303 a −d 、比較器304 a −d、リ
ブレース用アドレス・タグ・マルチプレクサ305、無
効化指示メモリ306、LRUステータス・メモリ30
7、リブレース・ブロック決定手段320、連想単位数
保持手段106、キャッシュ・アドレス・ストローブ3
51.352.353.354、アドレス・バス・イン
デクス・フィールド361、アドレス・バス・タグ・フ
ィールド362.363、リブレース・ディレクトリ・
バンク指示バス364、アドレス・インデクス・フィー
ルド・デコード信号365、無効化ブロック指示信号線
366、ヒツトブロック指示信号線367 ’ty<図
示のように結合されて構成されている。
第2図は、第1図に示すキャッシュ制御装置に組み込ま
れているリブレース・ブロック決定手段320の詳細を
表わす。第2図に示すように、リブレース・ブロック決
定手段320は、ラッチ101.102汎用無効化ブロ
ツク優先制御器103、汎用LRUブロック優先制御器
104、汎用リブレース・ディレクトリ・バンク用エン
コーダ105、LRLIステータス転送バス151、連
想単位指示バス152、LRLIステータス・ライト許
可信号153、無効化ブロック指示信号線154、ヒツ
トブロック指示信号’IIA 155、アクセス・アド
レス・バス(−り156、リブレース・ディレクトリ・
バンク指示バス157が図示のように結合されて構成さ
れている。
れているリブレース・ブロック決定手段320の詳細を
表わす。第2図に示すように、リブレース・ブロック決
定手段320は、ラッチ101.102汎用無効化ブロ
ツク優先制御器103、汎用LRUブロック優先制御器
104、汎用リブレース・ディレクトリ・バンク用エン
コーダ105、LRLIステータス転送バス151、連
想単位指示バス152、LRLIステータス・ライト許
可信号153、無効化ブロック指示信号線154、ヒツ
トブロック指示信号’IIA 155、アクセス・アド
レス・バス(−り156、リブレース・ディレクトリ・
バンク指示バス157が図示のように結合されて構成さ
れている。
第3図は、第1図に示すキャッシュ制御装置に組み込ま
れている汎用無効化ブロック優先制御器103の詳細を
表わす。第3図に示すように、汎用無効化ブロック優先
制御器103は、ANDゲート111、マルチプレクサ
113、マルチプレクサ選択ロジック114、及び制御
器310を図示の如く結合して構成されている。なお、
また、制御器310は、第7図の従来例のものと同一で
ある。
れている汎用無効化ブロック優先制御器103の詳細を
表わす。第3図に示すように、汎用無効化ブロック優先
制御器103は、ANDゲート111、マルチプレクサ
113、マルチプレクサ選択ロジック114、及び制御
器310を図示の如く結合して構成されている。なお、
また、制御器310は、第7図の従来例のものと同一で
ある。
第4図は、第1図に示すキャッシュ制御装置に組み込ま
れている汎用LRUブロック優先制御器104の詳細を
表わす。第3図に示すように、汎用LRUブロック優先
制御器104は、ORゲート112、マルチプレクサ1
13、マルチプレクサ選択ロジック114、及び制御器
311を図示の如く結合して構成されている。なお、制
御器311は、第7図の従来例のものと同一である。
れている汎用LRUブロック優先制御器104の詳細を
表わす。第3図に示すように、汎用LRUブロック優先
制御器104は、ORゲート112、マルチプレクサ1
13、マルチプレクサ選択ロジック114、及び制御器
311を図示の如く結合して構成されている。なお、制
御器311は、第7図の従来例のものと同一である。
第5図は、第1図に示すキャッシュ制御装置に組み込ま
れている汎用リブレース・ディレクトリ・バンク用エン
コーダ105の詳細を表わす。第5図に示すように、汎
用リブレース・ディレクトリ・バンク用エンコータ10
5は、マルチプレクサ1.13、マルチプレクサ選択ロ
ジック115.116、エンコ−ダ312を図示の如く
結合して構成されている。
れている汎用リブレース・ディレクトリ・バンク用エン
コーダ105の詳細を表わす。第5図に示すように、汎
用リブレース・ディレクトリ・バンク用エンコータ10
5は、マルチプレクサ1.13、マルチプレクサ選択ロ
ジック115.116、エンコ−ダ312を図示の如く
結合して構成されている。
なお、エンコーダ312は、第7図の従来例のものと同
一である。
一である。
本実施例のうち、リブレース・ブロック決定手段320
を除く部分については、従来例として示した第7図と同
様の動作を行なう。ここでは、第7図と第1図の差異、
すなわち第2図から第5図に関連する部分を中心に本実
施例の説明を行なう。
を除く部分については、従来例として示した第7図と同
様の動作を行なう。ここでは、第7図と第1図の差異、
すなわち第2図から第5図に関連する部分を中心に本実
施例の説明を行なう。
本実施例における従来例との最大の相違点は、連想単位
数保持手段106によって、リブレース決定手段320
の動作内容が指示され、その結果、連想単位数の設定に
対して、その条件を満たすキャッシュ制御が提供できる
ことにある。すなわち、第7図で示される従来例のうち
、制御器310、制御器311、エンコーダ312の各
々に対して連想単位数指示信号152を与え、各連想単
位数に対するリブレース・ディレクトリ・バンク指示信
号157を生成しようとする点で従来の方式とは異なる
。
数保持手段106によって、リブレース決定手段320
の動作内容が指示され、その結果、連想単位数の設定に
対して、その条件を満たすキャッシュ制御が提供できる
ことにある。すなわち、第7図で示される従来例のうち
、制御器310、制御器311、エンコーダ312の各
々に対して連想単位数指示信号152を与え、各連想単
位数に対するリブレース・ディレクトリ・バンク指示信
号157を生成しようとする点で従来の方式とは異なる
。
さらに、第3図、第4図及び第5図に示されるように、
本実施例は、従来例で示された制御器310、制御器3
11、エンコーダ312の各々に対して若干の回路を付
加する事で実現されている。
本実施例は、従来例で示された制御器310、制御器3
11、エンコーダ312の各々に対して若干の回路を付
加する事で実現されている。
特に、第3図、第4図及び第5図では、4ウエイ・セッ
ト・アソシアティブ方式(以下単に「4ウエイ」と略す
)、2ウエイ・セット・アソシアティブ方式(以下単に
「2ウエイ」と略す)、ダイレクト・マツピング方式の
3つの方式を指示可能な例を示している。
ト・アソシアティブ方式(以下単に「4ウエイ」と略す
)、2ウエイ・セット・アソシアティブ方式(以下単に
「2ウエイ」と略す)、ダイレクト・マツピング方式の
3つの方式を指示可能な例を示している。
第3図では、無効化ブロック指示信号線154に対して
、2ウエイの場合のみ、信号線154a、154bで示
される2つのブロックと、信号線154 c 、 15
4 dで示される2つのブロックが、両方とも無効化さ
れた時に、両者の無効化信号が出るように制御する回路
が制御器310に対して付加されている(ANDゲート
111およびマルチプレクサ113)。これは、信号線
154 c 、 154 dで示される2つのブロッ
ク、及び信号線154 c 、 154 dで示され
る2つのブロックが、それぞれの連想性を縮退して一体
化した状態で無効化される状態を実現している。
、2ウエイの場合のみ、信号線154a、154bで示
される2つのブロックと、信号線154 c 、 15
4 dで示される2つのブロックが、両方とも無効化さ
れた時に、両者の無効化信号が出るように制御する回路
が制御器310に対して付加されている(ANDゲート
111およびマルチプレクサ113)。これは、信号線
154 c 、 154 dで示される2つのブロッ
ク、及び信号線154 c 、 154 dで示され
る2つのブロックが、それぞれの連想性を縮退して一体
化した状態で無効化される状態を実現している。
第4図では、ヒツトブロック指示信号線155に対して
、2ウエイの場合のみ、信号線154 a 、 154
bで示される2つのブロックと、信号線154 c
、 154 dで示される2つのブロックが、一方でも
ヒツトした時に、両者のヒツト信号が出るように制御す
る回路が制御器311に対して付加されている(ORゲ
ート112およびマルチプレクサ113)。制御器31
1については、よって、通常のケースとは異なり、複数
のヒツト信号が印加されることになる。しかし、そのよ
うな場合にも対処できる。これは、信号線154C11
54dで示される2つのブロック、及び信号線154C
1154dで示される2つのブロックが、それぞれの連
想性を縮退して一体化した状態でヒツトする状態を実現
している。
、2ウエイの場合のみ、信号線154 a 、 154
bで示される2つのブロックと、信号線154 c
、 154 dで示される2つのブロックが、一方でも
ヒツトした時に、両者のヒツト信号が出るように制御す
る回路が制御器311に対して付加されている(ORゲ
ート112およびマルチプレクサ113)。制御器31
1については、よって、通常のケースとは異なり、複数
のヒツト信号が印加されることになる。しかし、そのよ
うな場合にも対処できる。これは、信号線154C11
54dで示される2つのブロック、及び信号線154C
1154dで示される2つのブロックが、それぞれの連
想性を縮退して一体化した状態でヒツトする状態を実現
している。
第5図では、LRUブロック・エンコーダ312の出力
と、ミス・ヒツトした現在のキャッシユ・アクセス・ア
ドレスのタグ・フィールドの下位156とを連想単位数
指示番号152に応じてマルチプレクサする回路が、エ
ンコーダ312に対して付加されている(マルチプレク
サ113およびマルチプレクサ選択ロジック115.1
16)。4ウエイの場合は、アドレス156に全く依存
せずにエンコーダ312の出力がそのままリブレース・
ディレクトリ・バンク指示信号157となる。一方、ダ
イレクト・マツピング方式の場合は、エンコーダ312
の出力に全く依存せずにアドレス156がそのままリブ
レース・ディレクトリ・バンク指示信号157となる。
と、ミス・ヒツトした現在のキャッシユ・アクセス・ア
ドレスのタグ・フィールドの下位156とを連想単位数
指示番号152に応じてマルチプレクサする回路が、エ
ンコーダ312に対して付加されている(マルチプレク
サ113およびマルチプレクサ選択ロジック115.1
16)。4ウエイの場合は、アドレス156に全く依存
せずにエンコーダ312の出力がそのままリブレース・
ディレクトリ・バンク指示信号157となる。一方、ダ
イレクト・マツピング方式の場合は、エンコーダ312
の出力に全く依存せずにアドレス156がそのままリブ
レース・ディレクトリ・バンク指示信号157となる。
2ウエイの場合、アドレス156の上位部分と、エンコ
ーダ312の下位部分の混合によって、リブレース・デ
ィレクトリ・バンク指示信号157が生成される。
ーダ312の下位部分の混合によって、リブレース・デ
ィレクトリ・バンク指示信号157が生成される。
実施例2
本発明によるキャッシュ制御装置の他の実施例を、第6
図を参照して説明する。
図を参照して説明する。
第6図は、本発明の実施例2の一部分のブロック図を示
している。第6図の装置は、ラッチ201.202.2
03.204、無効化ブロック優先制御器(4way用
)205、無効化ブロック指示器(2way用)206
、無効化ブロック優先制御器(2way用)207、エ
ラーブロック最低優先度指示器208、LRUブロック
優先制御器(4way用)209、LRUブ07り指示
器(2way用)210、リブレース・ディレクトリ・
バンク用エンコーダ(2way用)21Lラツチ212
.213.214、LRUステータス転送バス251、
連想単位数指示バス252、LRUステータス・ライト
許可信号253、無効化ブロック指示信号線254、ヒ
ツトブロック指示信号線255、エラーブロック指示信
号線256、アクセス・アドレス・バス(−1> 2
57. リブレース・ディレクトリ・バンク指示バス
258が図示のように結合されて構成されている。
している。第6図の装置は、ラッチ201.202.2
03.204、無効化ブロック優先制御器(4way用
)205、無効化ブロック指示器(2way用)206
、無効化ブロック優先制御器(2way用)207、エ
ラーブロック最低優先度指示器208、LRUブロック
優先制御器(4way用)209、LRUブ07り指示
器(2way用)210、リブレース・ディレクトリ・
バンク用エンコーダ(2way用)21Lラツチ212
.213.214、LRUステータス転送バス251、
連想単位数指示バス252、LRUステータス・ライト
許可信号253、無効化ブロック指示信号線254、ヒ
ツトブロック指示信号線255、エラーブロック指示信
号線256、アクセス・アドレス・バス(−1> 2
57. リブレース・ディレクトリ・バンク指示バス
258が図示のように結合されて構成されている。
本実施例2における実施例1との最大の相違点は、第1
図における汎用無効化ブロック優先制御器103および
汎用LRUブロック優先制御器104が、各連想単位数
に対して別個に専用のものとして準備されている点であ
る。すなわち、前者は、無効化ブロック優先制御器(4
way用)205と、無効化ブロック優先制御器(2w
ay用)207とに、後者は、LRUブC17り優先制
御器(4way用)209とLRUブロック指示器(2
way用)210とに、各々分離されている。特に、制
御器207の出力は、2ウエイの場合、高と低の2段階
の優先度のみ故、1ビツトで十分である。さらに注意す
べき点は、2ウエイの場合の2段階の優先度は、新たな
LRLIステータスの計算に際し、以前のLR(Jステ
ータス値を必要としないことである。
図における汎用無効化ブロック優先制御器103および
汎用LRUブロック優先制御器104が、各連想単位数
に対して別個に専用のものとして準備されている点であ
る。すなわち、前者は、無効化ブロック優先制御器(4
way用)205と、無効化ブロック優先制御器(2w
ay用)207とに、後者は、LRUブC17り優先制
御器(4way用)209とLRUブロック指示器(2
way用)210とに、各々分離されている。特に、制
御器207の出力は、2ウエイの場合、高と低の2段階
の優先度のみ故、1ビツトで十分である。さらに注意す
べき点は、2ウエイの場合の2段階の優先度は、新たな
LRLIステータスの計算に際し、以前のLR(Jステ
ータス値を必要としないことである。
本実施例の方式は、実施例1に比べ、−膜性/汎用性に
欠け、論理回路量が増えるというデメリットがあるが、
回路の理解しやすさ、すなわち人手による検証が容易で
ある。
欠け、論理回路量が増えるというデメリットがあるが、
回路の理解しやすさ、すなわち人手による検証が容易で
ある。
連想単位指示バス252は、LRUステータス転送ハス
251や、リブレース・ディレクトリ・バンク指示バス
258のインターフェース部分における最終結果の転送
時ラッチ指示(201,202,303または212.
231.241)に用いられる。
251や、リブレース・ディレクトリ・バンク指示バス
258のインターフェース部分における最終結果の転送
時ラッチ指示(201,202,303または212.
231.241)に用いられる。
無効化ブロック指示器(2way用)206は、第3図
のANDゲート111に対応する部分であり、4つのバ
ンクを2つのグループに分けたときの各無効化状態を示
す信号を生成する。
のANDゲート111に対応する部分であり、4つのバ
ンクを2つのグループに分けたときの各無効化状態を示
す信号を生成する。
LRUブロック指示器(2way用)210は、第4図
のORゲート112に対応する部分であり、4つのバン
クを2つのグループに分けたときの各ビット状態を示、
す信号を生成する。
のORゲート112に対応する部分であり、4つのバン
クを2つのグループに分けたときの各ビット状態を示、
す信号を生成する。
リブレース・ディレクトリ・バンク用エンコーダ(2w
ay用)211は、アドレス257の上位部分と、無効
化ブロック優先制御器(2way用)207の出力を結
合するものである。
ay用)211は、アドレス257の上位部分と、無効
化ブロック優先制御器(2way用)207の出力を結
合するものである。
エラーブロック最低優先指示器208は、パリティ・エ
ラーなどの故障に対して、そのブロックを使用しないよ
うにするための信号(エラーブロック指示信号線256
)をLRU判定に反映させるための論理である。
ラーなどの故障に対して、そのブロックを使用しないよ
うにするための信号(エラーブロック指示信号線256
)をLRU判定に反映させるための論理である。
以上のような本発明のキャッシュ制御装置の使用により
、次に述べるような効果が期待できる。
、次に述べるような効果が期待できる。
第8図は、本発明のキャッシュ制御装置の実施例(11
2の何れでもよい)を用いて、4ウエイ・セット・アソ
シアティブ方式のキャッシュ・メモリを構成した場合の
素子構成図である。第8図に示すキャッシュ・データ・
メモリは、キャッシュ・アクセス・アドレス401、キ
ャッシュ制御装置402、メモリ素子403、双方向性
バッファ404、プル・アップ抵抗405、データ・バ
ス451を具備している。
2の何れでもよい)を用いて、4ウエイ・セット・アソ
シアティブ方式のキャッシュ・メモリを構成した場合の
素子構成図である。第8図に示すキャッシュ・データ・
メモリは、キャッシュ・アクセス・アドレス401、キ
ャッシュ制御装置402、メモリ素子403、双方向性
バッファ404、プル・アップ抵抗405、データ・バ
ス451を具備している。
特に、第8図では、メモリ素子403として、11ビツ
ト・アドレスで指定され、8ビツト・データを出力する
ような2Kx3bit RAMを、また幅32ビットの
データ・バス451を、それぞれ想定している。
ト・アドレスで指定され、8ビツト・データを出力する
ような2Kx3bit RAMを、また幅32ビットの
データ・バス451を、それぞれ想定している。
キャッシュ制御装置が出力する4つの信号線351.3
52.353.354は、各連想単位に対するアクセス
指示に対応する。第8図上で、メモリ素子403に付さ
れた座標(m、n)において、mが、その連想単位の座
標を示す。これに対し、nは、データ・バスのバイト座
標を示している。
52.353.354は、各連想単位に対するアクセス
指示に対応する。第8図上で、メモリ素子403に付さ
れた座標(m、n)において、mが、その連想単位の座
標を示す。これに対し、nは、データ・バスのバイト座
標を示している。
キャッシュ・ヒツトの場合、4つの信号線351.35
2.353.354のうちの1つがアクティブになり、
ある連想単位を指定したとき、選択されたメモリ素子群
403とデータ・バス451との間でデータ転送が実行
される。
2.353.354のうちの1つがアクティブになり、
ある連想単位を指定したとき、選択されたメモリ素子群
403とデータ・バス451との間でデータ転送が実行
される。
第9図は、本発明のキャッシュ制御装置の実施例(1,
2の何れでもよい)を用いて、グイレクト・マツピング
方式のキャッシュ・メモリを構成した場合の素子構成図
である。第9図に示すキャッシュ・データ・メモリは、
キャッシュ・アクセス・アドレス401、キャッシュ制
御装置402、双方向性バッファ404、プル・アップ
抵抗405、データ・バス451、メモリ素子5旧を具
備している。
2の何れでもよい)を用いて、グイレクト・マツピング
方式のキャッシュ・メモリを構成した場合の素子構成図
である。第9図に示すキャッシュ・データ・メモリは、
キャッシュ・アクセス・アドレス401、キャッシュ制
御装置402、双方向性バッファ404、プル・アップ
抵抗405、データ・バス451、メモリ素子5旧を具
備している。
特に、第9図では、メモリ素子501として、13ビツ
ト・アドレスで指定され、8ビツト・データを出力する
ような8Kx8bit RAMを想定している。
ト・アドレスで指定され、8ビツト・データを出力する
ような8Kx8bit RAMを想定している。
キャッシュ制御装置402が出力する4つの信号線35
1.352.353.354は、アドレス・タグ・フィ
ールドの最下位部に対応するアクセス指示を示す。ダイ
レクト・マツピング方式の場合、連想単位は1であり、
これらの信号の持つ意味は、ディレクトリ・バンクのア
ドレス情報のみとなる。
1.352.353.354は、アドレス・タグ・フィ
ールドの最下位部に対応するアクセス指示を示す。ダイ
レクト・マツピング方式の場合、連想単位は1であり、
これらの信号の持つ意味は、ディレクトリ・バンクのア
ドレス情報のみとなる。
13ビツト・アドレスで指定されるRAMを使用する場
合は、すべてのバンクを1つの素子で実現できるため、
キャッシュ制御装置402の出力するバンク情報は冗長
であり、そのストローブ・タイミングのみが問題となる
。よって、第9図に示されるように、4つの信号線35
1.352.353.354はワイアード・ORされ、
プルアップ抵抗405に出力される。この仕様を満たす
ために、キャッシュ制御装置402の4つの信号線35
1.352.353.354は、オープン・ドレイン/
オープン・コレクタ出力でなければならない。
合は、すべてのバンクを1つの素子で実現できるため、
キャッシュ制御装置402の出力するバンク情報は冗長
であり、そのストローブ・タイミングのみが問題となる
。よって、第9図に示されるように、4つの信号線35
1.352.353.354はワイアード・ORされ、
プルアップ抵抗405に出力される。この仕様を満たす
ために、キャッシュ制御装置402の4つの信号線35
1.352.353.354は、オープン・ドレイン/
オープン・コレクタ出力でなければならない。
キャッシュ・ヒツトの場合、4つの信号線351.35
2.353.354のうちの1つがアクティブになると
、メモリ素子群501とデータ・バス451との間でデ
ータ転送が実行される。
2.353.354のうちの1つがアクティブになると
、メモリ素子群501とデータ・バス451との間でデ
ータ転送が実行される。
第8図で示されるキャッシュ構成方式と、第9図のそれ
とを比較した場合、第8図は素子数の点で、第9図のも
のより多くなるが、アソシアティビティの向上により、
キャッシュのヒツト率を向上させている。また、それに
伴う信頼性の向上も図りやすい。
とを比較した場合、第8図は素子数の点で、第9図のも
のより多くなるが、アソシアティビティの向上により、
キャッシュのヒツト率を向上させている。また、それに
伴う信頼性の向上も図りやすい。
しかし、第9図のメモリ素子の容量は、上記の例で示し
たように第8図のそれより大きく取ることができ、キャ
ッシュのヒツト率の低下を補うことも可能である。但し
、キャッシュのアクセス・タイムを満たすことができる
ような、大容量のメモリが高価なことも事実である。
たように第8図のそれより大きく取ることができ、キャ
ッシュのヒツト率の低下を補うことも可能である。但し
、キャッシュのアクセス・タイムを満たすことができる
ような、大容量のメモリが高価なことも事実である。
このような、判断の困難なトレード・オフに対し、本発
明のキャッシュ制御装置は柔軟に対処でき、よって、小
規模な高性能システムの設計上、汎用かつ有用な部品を
提供するうえで、重要な意義を有している。
明のキャッシュ制御装置は柔軟に対処でき、よって、小
規模な高性能システムの設計上、汎用かつ有用な部品を
提供するうえで、重要な意義を有している。
発明の効果
以上の説明から明らかなように、本発明を適用したキャ
ッシュ制御装置は、高速メモリ素子と共に使用すること
で、少ない部品点数でキャッシュ・システムの構築を可
能する。従って、部品としての汎用性をもたせ、性能/
コストのトレード・オフにかかわるシステム設計手法の
変化に対して一品種で柔軟に対処できる。
ッシュ制御装置は、高速メモリ素子と共に使用すること
で、少ない部品点数でキャッシュ・システムの構築を可
能する。従って、部品としての汎用性をもたせ、性能/
コストのトレード・オフにかかわるシステム設計手法の
変化に対して一品種で柔軟に対処できる。
第1図は、本発明によるキャッシュ制御装置の実施例1
のブロック図、 第2図は、リブレース・ブロック決定手段の詳細を示す
ブロック図、 第3図は、汎用無効化ブロック優先制御器の詳細を示す
ブロック図、 第4図は、汎用LRUブロック優先制御器の詳細を示す
ブロック図、 第5図は、汎用リブレース・ブイレフ) IJ・バンク
用エンコーダの詳細を示すブロック図、第6図は、本発
明によるキャッシュ制御装置の実施例2のブロック図、 第7図は、キャッシュ制御装置の従来例を示すブロック
図、 第8図は、本発明のキャッシュ制御装置を用いた場合の
キャッシュ・データ・メモリの素子構成法の1つを示し
ている図、 第9図は、本発明のキャッシュ制御装置を用いた場合の
キャッシュ・データ・メモリの素子構成法の別の1つを
示している図である。 (主な参照番号) 101.102・・ラッチ 103:汎用無効化ブロック優先制御器104:汎用L
RUブロック優先制御器105:汎用リブレース・ディ
レクトリ・バンク用エンコーダ 151:LRUステータス転送バス 152:連想単位指示バス 153:LRUステータス・ライト許可信号154:無
効化ブロック指示信号線 155:ヒツトブロック指示信号線 156 :アクセス・アドレス・バス(一部)157:
リブレース・ディレクトリ・バンク指示バス2旧、20
2.203.204:ラッチ205:無効化ブロック優
先制御器(4way用)206:無効化ブロック指示器
(2way用)207:無効化ブロック優先制御器(2
way用)208:エラーブロック最低優先度指示器2
09:LRUブロック優先制御器(4way用)210
:LRUブロック指示器(2way用)211:リブレ
ース・ディレクトリ・バンク用エンコーダ(2way用
) 212.213.214:ラッチ 251:LRUステータス転送バス 252:連想単位数指示バス 253:LRUステータス・ライト許可信号254:無
効化プロ歩り指示信号線 255:ヒットブロック指示信号線 256:エラーブロツク指示信号線 257:アクセス・アドレス・バス(一部)258:リ
ブレース・ディレクトリ・バンク指示バス301ニアド
レス・バッファ 302ニアドレス・インデクス・フィールド・デコーダ 303:キャッシュ・アドレス・メモリ304:比較器 305:リブレース用アドレス・タグ・マルチプレクサ 306:無効化指示メモリ 307:LRUステータス・メモリ 308.309:ラッチ 310:無効化ブロック優先制御器 311:LRUブロック優先制御器 312:LRUブロックエンコーダ 321 : !Jプレース・ブロック決定手段351.
352.353.354: キャッシュ・アドレス・ストローブ 361 ニアドレス・バス・インデクス・フィールド3
62.363ニアドレス・バス・タグ・フィールド36
4:リブレース・ディレクトリ・バンク指示器くス 365ニアドレス・インデクス・フィールド・デコード
信号 366:無効化ブロック指示信号線 367:ヒツトブロツク指示信号線 401:キャッシュ・アクセス・アドレス402:キャ
ッシュ制御装置 403:メモリ素子 404:双方向性バッファ 405ニブル・アップ抵抗 451:データ・バス 501:メモリ素子
のブロック図、 第2図は、リブレース・ブロック決定手段の詳細を示す
ブロック図、 第3図は、汎用無効化ブロック優先制御器の詳細を示す
ブロック図、 第4図は、汎用LRUブロック優先制御器の詳細を示す
ブロック図、 第5図は、汎用リブレース・ブイレフ) IJ・バンク
用エンコーダの詳細を示すブロック図、第6図は、本発
明によるキャッシュ制御装置の実施例2のブロック図、 第7図は、キャッシュ制御装置の従来例を示すブロック
図、 第8図は、本発明のキャッシュ制御装置を用いた場合の
キャッシュ・データ・メモリの素子構成法の1つを示し
ている図、 第9図は、本発明のキャッシュ制御装置を用いた場合の
キャッシュ・データ・メモリの素子構成法の別の1つを
示している図である。 (主な参照番号) 101.102・・ラッチ 103:汎用無効化ブロック優先制御器104:汎用L
RUブロック優先制御器105:汎用リブレース・ディ
レクトリ・バンク用エンコーダ 151:LRUステータス転送バス 152:連想単位指示バス 153:LRUステータス・ライト許可信号154:無
効化ブロック指示信号線 155:ヒツトブロック指示信号線 156 :アクセス・アドレス・バス(一部)157:
リブレース・ディレクトリ・バンク指示バス2旧、20
2.203.204:ラッチ205:無効化ブロック優
先制御器(4way用)206:無効化ブロック指示器
(2way用)207:無効化ブロック優先制御器(2
way用)208:エラーブロック最低優先度指示器2
09:LRUブロック優先制御器(4way用)210
:LRUブロック指示器(2way用)211:リブレ
ース・ディレクトリ・バンク用エンコーダ(2way用
) 212.213.214:ラッチ 251:LRUステータス転送バス 252:連想単位数指示バス 253:LRUステータス・ライト許可信号254:無
効化プロ歩り指示信号線 255:ヒットブロック指示信号線 256:エラーブロツク指示信号線 257:アクセス・アドレス・バス(一部)258:リ
ブレース・ディレクトリ・バンク指示バス301ニアド
レス・バッファ 302ニアドレス・インデクス・フィールド・デコーダ 303:キャッシュ・アドレス・メモリ304:比較器 305:リブレース用アドレス・タグ・マルチプレクサ 306:無効化指示メモリ 307:LRUステータス・メモリ 308.309:ラッチ 310:無効化ブロック優先制御器 311:LRUブロック優先制御器 312:LRUブロックエンコーダ 321 : !Jプレース・ブロック決定手段351.
352.353.354: キャッシュ・アドレス・ストローブ 361 ニアドレス・バス・インデクス・フィールド3
62.363ニアドレス・バス・タグ・フィールド36
4:リブレース・ディレクトリ・バンク指示器くス 365ニアドレス・インデクス・フィールド・デコード
信号 366:無効化ブロック指示信号線 367:ヒツトブロツク指示信号線 401:キャッシュ・アクセス・アドレス402:キャ
ッシュ制御装置 403:メモリ素子 404:双方向性バッファ 405ニブル・アップ抵抗 451:データ・バス 501:メモリ素子
Claims (1)
- キャッシュ・ブロックのアドレス・タグ部を保持する1
つ以上のディレクトリ・バンクを有し、更に、その内容
と現参照アドレスのタグ部との比較手段を前記ディレク
トリ・バンク毎にもつ連想方式のキャッシュ制御装置に
おいて、前記キャッシュ制御装置の連想単位数を保持す
る手段と、前記保持手段の内容に従って、キャッシュ・
リブレースの際に、リブレースされるキャッシュ・ブロ
ックを含むディレクトリ・バンクを指示するリブレース
・ブロック決定手段とを有し、前記連想単位数の指定に
応じて、リブレースされる前記ディレクトリ・バンクを
制限することで、該キャッシュ・メモリ装置の連想単位
数を指定変更できることを特徴とするキャッシュ制御装
置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62077931A JPH0673114B2 (ja) | 1987-03-31 | 1987-03-31 | キヤツシユ制御装置 |
US07/176,008 US4833642A (en) | 1987-03-31 | 1988-03-31 | Cache controller giving versatility to cache memory structure |
EP19880105298 EP0285172A3 (en) | 1987-03-31 | 1988-03-31 | Cache controller with a variable mapping mode |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62077931A JPH0673114B2 (ja) | 1987-03-31 | 1987-03-31 | キヤツシユ制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63244248A true JPS63244248A (ja) | 1988-10-11 |
JPH0673114B2 JPH0673114B2 (ja) | 1994-09-14 |
Family
ID=13647827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62077931A Expired - Fee Related JPH0673114B2 (ja) | 1987-03-31 | 1987-03-31 | キヤツシユ制御装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US4833642A (ja) |
EP (1) | EP0285172A3 (ja) |
JP (1) | JPH0673114B2 (ja) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0259967B1 (en) * | 1986-08-01 | 1994-03-23 | Fujitsu Limited | Directory memory |
JP2818415B2 (ja) * | 1988-05-18 | 1998-10-30 | 日本電気株式会社 | バッファ記憶装置 |
KR900008516A (ko) * | 1988-11-01 | 1990-06-04 | 미다 가쓰시게 | 버퍼 기억장치 |
US5202969A (en) * | 1988-11-01 | 1993-04-13 | Hitachi, Ltd. | Single-chip-cache-buffer for selectively writing write-back and exclusively writing data-block portions to main-memory based upon indication of bits and bit-strings respectively |
US5777608A (en) * | 1989-03-10 | 1998-07-07 | Board Of Regents, The University Of Texas System | Apparatus and method for in-parallel scan-line graphics rendering using content-searchable memories |
US5758148A (en) * | 1989-03-10 | 1998-05-26 | Board Of Regents, The University Of Texas System | System and method for searching a data base using a content-searchable memory |
US4989180A (en) * | 1989-03-10 | 1991-01-29 | Board Of Regents, The University Of Texas System | Dynamic memory with logic-in-refresh |
GB9008145D0 (en) * | 1989-05-31 | 1990-06-06 | Ibm | Microcomputer system employing address offset mechanism to increase the supported cache memory capacity |
US5043885A (en) * | 1989-08-08 | 1991-08-27 | International Business Machines Corporation | Data cache using dynamic frequency based replacement and boundary criteria |
US5485418A (en) * | 1990-01-16 | 1996-01-16 | Mitsubishi Denki Kabushiki Kaisha | Associative memory |
US5031141A (en) * | 1990-04-06 | 1991-07-09 | Intel Corporation | Apparatus for generating self-timing for on-chip cache |
US5276832A (en) * | 1990-06-19 | 1994-01-04 | Dell U.S.A., L.P. | Computer system having a selectable cache subsystem |
US5210845A (en) * | 1990-11-28 | 1993-05-11 | Intel Corporation | Controller for two-way set associative cache |
US5210842A (en) * | 1991-02-04 | 1993-05-11 | Motorola, Inc. | Data processor having instruction varied set associative cache boundary accessing |
US5367659A (en) * | 1991-09-30 | 1994-11-22 | Intel Corporation | Tag initialization in a controller for two-way set associative cache |
US5367653A (en) * | 1991-12-26 | 1994-11-22 | International Business Machines Corporation | Reconfigurable multi-way associative cache memory |
US5465342A (en) * | 1992-12-22 | 1995-11-07 | International Business Machines Corporation | Dynamically adaptive set associativity for cache memories |
US5450565A (en) * | 1993-03-23 | 1995-09-12 | Intel Corporation | Circuit and method for selecting a set in a set associative cache |
GB9307359D0 (en) * | 1993-04-08 | 1993-06-02 | Int Computers Ltd | Cache replacement mechanism |
US5913216A (en) * | 1996-03-19 | 1999-06-15 | Lucent Technologies, Inc. | Sequential pattern memory searching and storage management technique |
US5809523A (en) * | 1996-03-28 | 1998-09-15 | Sun Microsystems, Inc. | System and method for determining relative cache performance in a computer system |
WO1998014951A1 (en) * | 1996-09-30 | 1998-04-09 | Sun Microsystems, Inc. | Computer caching methods and apparatus |
US6148034A (en) * | 1996-12-05 | 2000-11-14 | Linden Technology Limited | Apparatus and method for determining video encoding motion compensation vectors |
US6370622B1 (en) | 1998-11-20 | 2002-04-09 | Massachusetts Institute Of Technology | Method and apparatus for curious and column caching |
US6412038B1 (en) | 2000-02-14 | 2002-06-25 | Intel Corporation | Integral modular cache for a processor |
US6748492B1 (en) * | 2000-08-07 | 2004-06-08 | Broadcom Corporation | Deterministic setting of replacement policy in a cache through way selection |
US6732234B1 (en) * | 2000-08-07 | 2004-05-04 | Broadcom Corporation | Direct access mode for a cache |
US6848024B1 (en) * | 2000-08-07 | 2005-01-25 | Broadcom Corporation | Programmably disabling one or more cache entries |
US6748495B2 (en) | 2001-05-15 | 2004-06-08 | Broadcom Corporation | Random generator |
US7266587B2 (en) * | 2002-05-15 | 2007-09-04 | Broadcom Corporation | System having interfaces, switch, and memory bridge for CC-NUMA operation |
US6990557B2 (en) * | 2002-06-04 | 2006-01-24 | Sandbridge Technologies, Inc. | Method and apparatus for multithreaded cache with cache eviction based on thread identifier |
US6912623B2 (en) * | 2002-06-04 | 2005-06-28 | Sandbridge Technologies, Inc. | Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy |
US9754648B2 (en) | 2012-10-26 | 2017-09-05 | Micron Technology, Inc. | Apparatuses and methods for memory operations having variable latencies |
US9734097B2 (en) | 2013-03-15 | 2017-08-15 | Micron Technology, Inc. | Apparatuses and methods for variable latency memory operations |
US9563565B2 (en) | 2013-08-14 | 2017-02-07 | Micron Technology, Inc. | Apparatuses and methods for providing data from a buffer |
US9727493B2 (en) | 2013-08-14 | 2017-08-08 | Micron Technology, Inc. | Apparatuses and methods for providing data to a configurable storage area |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3820078A (en) * | 1972-10-05 | 1974-06-25 | Honeywell Inf Systems | Multi-level storage system having a buffer store with variable mapping modes |
US3840863A (en) * | 1973-10-23 | 1974-10-08 | Ibm | Dynamic storage hierarchy system |
US4315312A (en) * | 1979-12-19 | 1982-02-09 | Ncr Corporation | Cache memory having a variable data block size |
JPS61107596A (ja) * | 1984-10-31 | 1986-05-26 | Nec Corp | 連想記憶装置 |
US4758982A (en) * | 1986-01-08 | 1988-07-19 | Advanced Micro Devices, Inc. | Quasi content addressable memory |
-
1987
- 1987-03-31 JP JP62077931A patent/JPH0673114B2/ja not_active Expired - Fee Related
-
1988
- 1988-03-31 EP EP19880105298 patent/EP0285172A3/en not_active Withdrawn
- 1988-03-31 US US07/176,008 patent/US4833642A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0285172A3 (en) | 1990-09-05 |
EP0285172A2 (en) | 1988-10-05 |
US4833642A (en) | 1989-05-23 |
JPH0673114B2 (ja) | 1994-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS63244248A (ja) | キヤツシユ制御装置 | |
US6738890B2 (en) | Data processor | |
KR920005280B1 (ko) | 고속 캐쉬 시스템 | |
US5014195A (en) | Configurable set associative cache with decoded data element enable lines | |
US4823259A (en) | High speed buffer store arrangement for quick wide transfer of data | |
US6535584B1 (en) | Detection and exploitation of cache redundancies | |
US5960455A (en) | Scalable cross bar type storage controller | |
JPH06110781A (ja) | キャッシュメモリ装置 | |
JPH07120312B2 (ja) | バッファメモリ制御装置 | |
US7636811B2 (en) | Cache memory and method of controlling memory | |
JP2002055879A (ja) | マルチポートキャッシュメモリ | |
EP0439325B1 (en) | Cache coherence in logical caches | |
US5278964A (en) | Microprocessor system including a cache controller which remaps cache address bits to confine page data to a particular block of cache | |
JP3210637B2 (ja) | データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム | |
US6226731B1 (en) | Method and system for accessing a cache memory within a data-processing system utilizing a pre-calculated comparison array | |
JPH0635798A (ja) | メモリ回路 | |
JPH0962582A (ja) | 疑似セットアソシアティブ方式キャッシュメモリ装置 | |
Chan et al. | Multiprocessor features of the hp corporate business servers | |
JPH05324473A (ja) | キャッシュメモリ方式及びマイクロプロセッサ装置 | |
JPH01280850A (ja) | キヤツシユ装置およびそれを用いた情報処理装置 | |
KR0176186B1 (ko) | Pc 칩세트의 어드레스 매핑회로 | |
JP2507721B2 (ja) | バツフアメモリ装置 | |
JPH0336648A (ja) | 電子計算機及びtlb装置とマイクロプロセッサチップ | |
JPS63163647A (ja) | 仮想記憶方式 | |
JPH0330037A (ja) | バッファ記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |