JPS624745B2 - - Google Patents
Info
- Publication number
- JPS624745B2 JPS624745B2 JP58010023A JP1002383A JPS624745B2 JP S624745 B2 JPS624745 B2 JP S624745B2 JP 58010023 A JP58010023 A JP 58010023A JP 1002383 A JP1002383 A JP 1002383A JP S624745 B2 JPS624745 B2 JP S624745B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache
- block
- sector
- array
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
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
【発明の詳細な説明】
〔発明の背景〕
本発明は、データ処理システム、さらに具体的
に言えば、1つ又は複数個のプロセツサが利用し
得る主記憶装置と組合せて高速度緩衝記憶機構即
ちキヤツシユを使用するシステムに関するもので
ある。
に言えば、1つ又は複数個のプロセツサが利用し
得る主記憶装置と組合せて高速度緩衝記憶機構即
ちキヤツシユを使用するシステムに関するもので
ある。
データ処理システムは、迅速なアクセスのため
のデータまたは命令を一時的に保持するために高
速度の緩衝記憶機構即ちキヤツシユを使用し、低
速度で動作する主記憶装置即ち補助記憶装置に対
する取り出し要求を回避している。キヤツシユに
質問してその要求されているデータがないことが
わかつた後にそのデータが主記憶装置からキヤツ
シユに転送される。必要なデータは、直後のおよ
び将来の使用のために主記憶装置からキヤツシユ
の割り当てられた部分に取り出される。主記憶装
置は通常キヤツシユよりもずつと大きいので、主
記憶装置からのデータをキヤツシユ中に効果的に
写像するために、かなりの努力が払われてきた。
「IEEEコンピユータ・グループ・ニユーズ」
1969年3月刊、第9〜13頁記載の「Concepts
for Buffer Storage」と題するC.J.コンテイの論
文には、4種の技術が記述されている。
のデータまたは命令を一時的に保持するために高
速度の緩衝記憶機構即ちキヤツシユを使用し、低
速度で動作する主記憶装置即ち補助記憶装置に対
する取り出し要求を回避している。キヤツシユに
質問してその要求されているデータがないことが
わかつた後にそのデータが主記憶装置からキヤツ
シユに転送される。必要なデータは、直後のおよ
び将来の使用のために主記憶装置からキヤツシユ
の割り当てられた部分に取り出される。主記憶装
置は通常キヤツシユよりもずつと大きいので、主
記憶装置からのデータをキヤツシユ中に効果的に
写像するために、かなりの努力が払われてきた。
「IEEEコンピユータ・グループ・ニユーズ」
1969年3月刊、第9〜13頁記載の「Concepts
for Buffer Storage」と題するC.J.コンテイの論
文には、4種の技術が記述されている。
その第1のセクター技術では、主記憶装置から
の多数のブロツクからなるデータ・セクターが一
度に1ブロツクずつキヤツシユのいずれか1つの
セクター中に写像される。キヤツシユは、通常少
数のセクターしか保持できず、各キヤツシユ・セ
クターはいつも主記憶装置の同一セクター内から
のブロツクしか含むことができない。キヤツシユ
内にどのデータがあるかを覚えているために必要
な論理は簡単である。このシステムでは、キヤツ
シユを探索して「ヒツト」(所望のブロツクが存
在する)を決定するのに、1セクター当り1つの
タグ、1ブロツク当り1つの妥当性ビツトしか必
要としない。主記憶装置の任意のセクターをキヤ
ツシユの任意のセクター中に転送できるけれども
各キヤツシユ・セクターは別のセクターで置換さ
れるまでその記憶されたセクターの不在ブロツク
のために開けておかれなければならない。この方
法は、データの転送が幾分厄介になり、いくつか
のセクター中から少数の必要なデータ・ブロツク
を選択するには柔軟さを欠いている。
の多数のブロツクからなるデータ・セクターが一
度に1ブロツクずつキヤツシユのいずれか1つの
セクター中に写像される。キヤツシユは、通常少
数のセクターしか保持できず、各キヤツシユ・セ
クターはいつも主記憶装置の同一セクター内から
のブロツクしか含むことができない。キヤツシユ
内にどのデータがあるかを覚えているために必要
な論理は簡単である。このシステムでは、キヤツ
シユを探索して「ヒツト」(所望のブロツクが存
在する)を決定するのに、1セクター当り1つの
タグ、1ブロツク当り1つの妥当性ビツトしか必
要としない。主記憶装置の任意のセクターをキヤ
ツシユの任意のセクター中に転送できるけれども
各キヤツシユ・セクターは別のセクターで置換さ
れるまでその記憶されたセクターの不在ブロツク
のために開けておかれなければならない。この方
法は、データの転送が幾分厄介になり、いくつか
のセクター中から少数の必要なデータ・ブロツク
を選択するには柔軟さを欠いている。
第2の技術、即ちキヤツシユの直接写像法で
は、要求ごとに1データ・ブロツクしか転送され
ず、それは、キヤツシユ内の1つのタグ・アドレ
スに事前指定されている。キヤツシユ中にN個の
ブロツクがある場合、主記憶装置からのN番目ご
とのブロツクが同じタグ・アドレスに事前指定さ
れる。ブロツクをセクターにグループ分けする考
えは、最早必要でない。この構成は、ハードウエ
ア上は効率的であるが、柔軟性に欠ける。(下記
の4番目の技術のような)他のキヤツシユ法は、
この方法を拡張して柔軟性を高めたものである。
緩衝記憶機構の第3の技術は、完全に連想的であ
り、この方式では任意データを主記憶装置からキ
ヤツシユ中の任意のデータ・ブロツクに写像する
ことができる。これは競合の難点を回避するけれ
ども、全データ・ブロツクのタグを探索しなけれ
ばならないため、多くのハードウエアまたは多く
の探索時間が必要である。次に第4の方式である
セツト連想方式では、事前指定されたブロツクが
直接写像技術を使つて1セツトのキヤツシユ位置
に写像される。この方式では完全に連想的なキヤ
ツシユが必要とするハードウエアの多く、および
競合の問題が軽減されるが、各記憶ブロツクに対
して1つのタグ・アドレスを必要とするという欠
点がある。
は、要求ごとに1データ・ブロツクしか転送され
ず、それは、キヤツシユ内の1つのタグ・アドレ
スに事前指定されている。キヤツシユ中にN個の
ブロツクがある場合、主記憶装置からのN番目ご
とのブロツクが同じタグ・アドレスに事前指定さ
れる。ブロツクをセクターにグループ分けする考
えは、最早必要でない。この構成は、ハードウエ
ア上は効率的であるが、柔軟性に欠ける。(下記
の4番目の技術のような)他のキヤツシユ法は、
この方法を拡張して柔軟性を高めたものである。
緩衝記憶機構の第3の技術は、完全に連想的であ
り、この方式では任意データを主記憶装置からキ
ヤツシユ中の任意のデータ・ブロツクに写像する
ことができる。これは競合の難点を回避するけれ
ども、全データ・ブロツクのタグを探索しなけれ
ばならないため、多くのハードウエアまたは多く
の探索時間が必要である。次に第4の方式である
セツト連想方式では、事前指定されたブロツクが
直接写像技術を使つて1セツトのキヤツシユ位置
に写像される。この方式では完全に連想的なキヤ
ツシユが必要とするハードウエアの多く、および
競合の問題が軽減されるが、各記憶ブロツクに対
して1つのタグ・アドレスを必要とするという欠
点がある。
これらの今までのキヤツシユ機構の試みは一般
的に、両極端にまで進んでしまつており、余分の
データを転送するか、またはキヤツシユ中に記憶
されている各データ・ブロツクに対して1つのタ
グを使用して多数のタグをもたらすかであつた。
即ち、これらのキヤツシユが不充分であるか、あ
るいは回路が複雑になり、そのコストが飛躍的に
増大する。別の見方をすれば、セクターの転送は
大きすぎることが多い。セクターよりはずつと小
さいが典型的なブロツクよりは大きく、1つのタ
グ・アドレスと関連させることができる中程度の
量のデータに対する必要性が残つている。
的に、両極端にまで進んでしまつており、余分の
データを転送するか、またはキヤツシユ中に記憶
されている各データ・ブロツクに対して1つのタ
グを使用して多数のタグをもたらすかであつた。
即ち、これらのキヤツシユが不充分であるか、あ
るいは回路が複雑になり、そのコストが飛躍的に
増大する。別の見方をすれば、セクターの転送は
大きすぎることが多い。セクターよりはずつと小
さいが典型的なブロツクよりは大きく、1つのタ
グ・アドレスと関連させることができる中程度の
量のデータに対する必要性が残つている。
従つて、本発明の主たる目的は、各タグ・アド
レスがデータ・アレイ中の複数のデータ・ブロツ
クへのアクセスがもたらすタグ・アレイとデー
タ・アレイとのセツト連想緩衝記憶機構即ちキヤ
ツシユ・システムを提供することにある。
レスがデータ・アレイ中の複数のデータ・ブロツ
クへのアクセスがもたらすタグ・アレイとデー
タ・アレイとのセツト連想緩衝記憶機構即ちキヤ
ツシユ・システムを提供することにある。
本発明の第2の重要な目的はタグ・アレイがデ
ータ・アレイに比べて小さく、従つて回路効率の
改良およびコストの低減が可能となるデータ演算
処理システム用のキヤツシユ機構を提供すること
である。
ータ・アレイに比べて小さく、従つて回路効率の
改良およびコストの低減が可能となるデータ演算
処理システム用のキヤツシユ機構を提供すること
である。
本発明の第3の目的は、単一タグ・アドレスに
対して複数のブロツクの一つにアクセスするため
に、そのタグ・アドレスをデータ・ブロツク識別
ビツトと組み合せるキヤツシユ機構を提供するこ
とである。
対して複数のブロツクの一つにアクセスするため
に、そのタグ・アドレスをデータ・ブロツク識別
ビツトと組み合せるキヤツシユ機構を提供するこ
とである。
本発明の第4の目的は多重プロセツサ・システ
ムに容易に適合できるキヤツシユ機構を提供する
ことである。
ムに容易に適合できるキヤツシユ機構を提供する
ことである。
本発明によれば、タグ・アレイ及びデータ・ア
レイを持つた緩衝記憶機構が設けられ、各タグ・
アレイ位置は複数個の連続したデータ・アレイ位
置と関連づけられ、それらデータ・アレイ位置の
各々は主記憶装置の同じセクターからの1ブロツ
クのデータを貯蔵するように構成される。そのデ
ータ・ブロツクのグループは直接にデータ・アレ
イ位置に写像されるが、主記憶装置のセクターは
単に連想的に写像される。データ・ブロツクのグ
ループは直接写像されるので、各ブロツク位置
は、セクターにはかかわりなく、その事前指定さ
れたデータ・アレイ位置にしか記憶されず、従つ
て取り出し中の所望のブロツク・グループが存在
するか否かを決定するためにはそのグループ識別
をもつ1つのタグ・アドレスのみを探索すればよ
い。1つのグループ内での各個々のブロツクの存
在は個々の妥当性ビツトに基づく。そのブロツ
ク・グループがキヤツシユ中に存在し且つ必要と
される特定のブロツクが有効なものである場合、
キヤツシユ内の所望のワードの探索は成功して、
「ヒツト」と呼ばれる。そうでない場合は、「ミ
ス」が検出される。複数のデータ・ブロツクが主
記憶装置から取り出されてキヤツシユに転送され
るとき、それらの妥当性はタグ・ワードと関連し
て記憶される適当な妥当性ビツトによつて表わさ
れる。置換されるべき最も以前に使用されたタ
グ・ワードおよびブロツク・グループを定義する
ために、置換アレイをそのセツト連想セクター・
キヤツシユと共に使用することもできる。
レイを持つた緩衝記憶機構が設けられ、各タグ・
アレイ位置は複数個の連続したデータ・アレイ位
置と関連づけられ、それらデータ・アレイ位置の
各々は主記憶装置の同じセクターからの1ブロツ
クのデータを貯蔵するように構成される。そのデ
ータ・ブロツクのグループは直接にデータ・アレ
イ位置に写像されるが、主記憶装置のセクターは
単に連想的に写像される。データ・ブロツクのグ
ループは直接写像されるので、各ブロツク位置
は、セクターにはかかわりなく、その事前指定さ
れたデータ・アレイ位置にしか記憶されず、従つ
て取り出し中の所望のブロツク・グループが存在
するか否かを決定するためにはそのグループ識別
をもつ1つのタグ・アドレスのみを探索すればよ
い。1つのグループ内での各個々のブロツクの存
在は個々の妥当性ビツトに基づく。そのブロツ
ク・グループがキヤツシユ中に存在し且つ必要と
される特定のブロツクが有効なものである場合、
キヤツシユ内の所望のワードの探索は成功して、
「ヒツト」と呼ばれる。そうでない場合は、「ミ
ス」が検出される。複数のデータ・ブロツクが主
記憶装置から取り出されてキヤツシユに転送され
るとき、それらの妥当性はタグ・ワードと関連し
て記憶される適当な妥当性ビツトによつて表わさ
れる。置換されるべき最も以前に使用されたタ
グ・ワードおよびブロツク・グループを定義する
ために、置換アレイをそのセツト連想セクター・
キヤツシユと共に使用することもできる。
各タグ・ワードは、データ・アレイ中の複数の
位置をアクセスできるので、必要なタグ記憶容量
が少なく、従つて回路が少なくコストが安くなる
という利点がある。セツト連想緩衝記憶機構の場
合と同じく、タグ・アレイならびにデータ・アレ
イの探索は同時に行なわれる。即ち「ヒツト」又
は「ミス」に従つて、その指定されたデータ・ブ
ロツクをデータ・アレイからゲートし、または抑
制することができる。主記憶装置から複数ブロツ
クを一括して取り出すことができるため、かなり
の数のアクセスおよびより大きなキヤツシユ記憶
データの装置に必要なそのための転送時間の多く
が除かれる。もう一つ便利な点は、ブロツク妥当
性ビツトをタグ中のセクター識別(コード)と共
に記憶し、情報の信頼性が早期に決定できること
である。この方式は、さらに必要なレジスタの数
が減少し、回路の単純化が可能となる。
位置をアクセスできるので、必要なタグ記憶容量
が少なく、従つて回路が少なくコストが安くなる
という利点がある。セツト連想緩衝記憶機構の場
合と同じく、タグ・アレイならびにデータ・アレ
イの探索は同時に行なわれる。即ち「ヒツト」又
は「ミス」に従つて、その指定されたデータ・ブ
ロツクをデータ・アレイからゲートし、または抑
制することができる。主記憶装置から複数ブロツ
クを一括して取り出すことができるため、かなり
の数のアクセスおよびより大きなキヤツシユ記憶
データの装置に必要なそのための転送時間の多く
が除かれる。もう一つ便利な点は、ブロツク妥当
性ビツトをタグ中のセクター識別(コード)と共
に記憶し、情報の信頼性が早期に決定できること
である。この方式は、さらに必要なレジスタの数
が減少し、回路の単純化が可能となる。
第1図を参照すると、緩衝記憶機構を使用した
典型的なデータ演算処理システムが概略的に示し
てある。これは、一般に主記憶装置12中に命令
およびオペランドが常駐する中央処理装置11用
の高速度緩衝機構として役立つ本発明のセツト連
想セクター・キヤツシユ10を含んでいる。探索
すべき命令またはデータの取り出しアドレスが、
母線13aによつてメモリ・アドレス・レジスタ
15に送られる。メモリから読み取られまたはそ
れに書き込まれたデータは、母線14によつてメ
モリ・データ・レジスタ16に送られる。キヤツ
シユ10はまた中央処理装置11または主記憶装
置12からアドレスまたはデータを受け取るため
に、母線13aおよび14aを介してこれらの母
線の各々13および14に接続されている。キヤ
ツシユ10は、要求されたデータがその中に存在
するときにそのデータをプロセツサに送る。全体
的に17として示した制御回路が、中央処理装置
11から取り出し要求を受け取つてその要求をキ
ヤツシユにまたはアドレス・レジスタおよびデー
タ・レジスタにゲートする。
典型的なデータ演算処理システムが概略的に示し
てある。これは、一般に主記憶装置12中に命令
およびオペランドが常駐する中央処理装置11用
の高速度緩衝機構として役立つ本発明のセツト連
想セクター・キヤツシユ10を含んでいる。探索
すべき命令またはデータの取り出しアドレスが、
母線13aによつてメモリ・アドレス・レジスタ
15に送られる。メモリから読み取られまたはそ
れに書き込まれたデータは、母線14によつてメ
モリ・データ・レジスタ16に送られる。キヤツ
シユ10はまた中央処理装置11または主記憶装
置12からアドレスまたはデータを受け取るため
に、母線13aおよび14aを介してこれらの母
線の各々13および14に接続されている。キヤ
ツシユ10は、要求されたデータがその中に存在
するときにそのデータをプロセツサに送る。全体
的に17として示した制御回路が、中央処理装置
11から取り出し要求を受け取つてその要求をキ
ヤツシユにまたはアドレス・レジスタおよびデー
タ・レジスタにゲートする。
処理装置11がメモリ・アクセスを必要とする
場合、それはその命令またはデータのアドレスを
アドレス母線13aに載せ、同時にメモリ要求を
制御論理装置17に出す。アドレスがキヤツシユ
10に送られ、メモリ・アドレス・レジスタ15
中に記憶される。キヤツシユはランダム・アクセ
ス・メモリであり、以前に主記憶装置から得たデ
ータ用の高速度レポジトリーとして働く。アドレ
スを受け取ると、キヤツシユがその要求されたデ
ータを含んでいるかどうかについての決定が行わ
れる。要求データがキヤツシユから入手可能な場
合、「ヒツト」が信号化され、論理装置17が要
求データをキヤツシユ10からデータ母線14a
を介して処理装置11にゲートする。これは主記
憶装置12をアクセスすることなしに、メモリ・
データ転送を完了させる。キヤツシユ10が要求
データを含まない場合、「ミス」が信号化され、
制御論理装置17がメモリ・アドレス・レジスタ
15をゲートして、主記憶装置からのメモリ取出
しサイクルを開始する。主記憶装置から得られた
データが次にメモリ・データ・レジスタ16に運
ばれ、データ母線14aを介して処理装置11お
よびキヤツシユ10に置かれ、将来の要求に備え
てそのキヤツシユに記憶される。
場合、それはその命令またはデータのアドレスを
アドレス母線13aに載せ、同時にメモリ要求を
制御論理装置17に出す。アドレスがキヤツシユ
10に送られ、メモリ・アドレス・レジスタ15
中に記憶される。キヤツシユはランダム・アクセ
ス・メモリであり、以前に主記憶装置から得たデ
ータ用の高速度レポジトリーとして働く。アドレ
スを受け取ると、キヤツシユがその要求されたデ
ータを含んでいるかどうかについての決定が行わ
れる。要求データがキヤツシユから入手可能な場
合、「ヒツト」が信号化され、論理装置17が要
求データをキヤツシユ10からデータ母線14a
を介して処理装置11にゲートする。これは主記
憶装置12をアクセスすることなしに、メモリ・
データ転送を完了させる。キヤツシユ10が要求
データを含まない場合、「ミス」が信号化され、
制御論理装置17がメモリ・アドレス・レジスタ
15をゲートして、主記憶装置からのメモリ取出
しサイクルを開始する。主記憶装置から得られた
データが次にメモリ・データ・レジスタ16に運
ばれ、データ母線14aを介して処理装置11お
よびキヤツシユ10に置かれ、将来の要求に備え
てそのキヤツシユに記憶される。
以下の説明では、主記憶装置のセグメントを記
述するため、次の語を使用する。例えば、「セク
ター」は主記憶装置の最大の区分で大きなメモリ
位置グループである。「データ・ブロツク」また
は「ブロツク」は、セクターの小部分であるが、
1回のメモリ取出しでアクセスされるデータ量な
ど、主記憶装置中の基本単位を意味するものとす
る。「ワード」は、データ・ブロツクの下位区分
であり、「バイト」はデータ・ワードのさらに下
位区分である。一例として主記憶装置は、16384
セクターを含み、各セクターは4096ブロツクを含
み、各ブロツクは8ワード、各ワードは8バイト
を含む。「ブロツク・グループ」の語は、主記憶
装置および本発明のセツト連想セクター・キヤツ
シユの記憶の単位を定義する。各ブロツク・グル
ープは、キヤツシユ・メモリの基本単位であり、
妥当性ビツトやパリテイ・ビツトなどの補助的2
進ビツトを含む1個のタグ・ワードによつてアク
セスできる複数のデータ・ブロツクの全てを含
む。パリテイ・ビツトの使用はよく知られている
ので、この考察ではこれ以上触れないことにす
る。
述するため、次の語を使用する。例えば、「セク
ター」は主記憶装置の最大の区分で大きなメモリ
位置グループである。「データ・ブロツク」また
は「ブロツク」は、セクターの小部分であるが、
1回のメモリ取出しでアクセスされるデータ量な
ど、主記憶装置中の基本単位を意味するものとす
る。「ワード」は、データ・ブロツクの下位区分
であり、「バイト」はデータ・ワードのさらに下
位区分である。一例として主記憶装置は、16384
セクターを含み、各セクターは4096ブロツクを含
み、各ブロツクは8ワード、各ワードは8バイト
を含む。「ブロツク・グループ」の語は、主記憶
装置および本発明のセツト連想セクター・キヤツ
シユの記憶の単位を定義する。各ブロツク・グル
ープは、キヤツシユ・メモリの基本単位であり、
妥当性ビツトやパリテイ・ビツトなどの補助的2
進ビツトを含む1個のタグ・ワードによつてアク
セスできる複数のデータ・ブロツクの全てを含
む。パリテイ・ビツトの使用はよく知られている
ので、この考察ではこれ以上触れないことにす
る。
第2図は、セツト連想セクター・キヤツシユと
今述べたいくつかのデータ単位の関係を図示した
ものである。一例として、有効アドレス18は、
左から右に大きさの順に示した32個の2進ビツト
A0〜A31からなるものと仮定する。主記憶装
置中の記憶セクターは、大きい方から順に14個の
ビツトA18〜A31によつて識別され、この14
個のビツトはキヤツシユのタグ・アレイ中の1つ
の記憶位置のタグ・アドレスとして使用する。第
2の10個のビツトのグループA8〜A17は、セ
クター内のセツト即ちブロツク・グループを識別
する。この例では、タグ・アレイは、各タグ・ア
ドレスのための1024の記憶位置をもつものと仮定
する。もう2個のビツトA6〜A7は、各タグ・
アドレスに対応するデータ・アレイ中に記憶され
ているブロツク用のデータ・ブロツク識別(コー
ド)を形成する。かかる各アドレスについて、4
個のデータ・ブロツクが記憶され、従つて2個の
2進ビツトでその特定タグ・アドレスに対する4
個の各々の識別することができる。ワードおよび
バイト識別(コード)はそれぞれ3個のビツトA
3〜A5およびA0〜A2を必要とし、ブロツク
内にそれぞれ8バイトを含む8個のワードが存在
することを示す。
今述べたいくつかのデータ単位の関係を図示した
ものである。一例として、有効アドレス18は、
左から右に大きさの順に示した32個の2進ビツト
A0〜A31からなるものと仮定する。主記憶装
置中の記憶セクターは、大きい方から順に14個の
ビツトA18〜A31によつて識別され、この14
個のビツトはキヤツシユのタグ・アレイ中の1つ
の記憶位置のタグ・アドレスとして使用する。第
2の10個のビツトのグループA8〜A17は、セ
クター内のセツト即ちブロツク・グループを識別
する。この例では、タグ・アレイは、各タグ・ア
ドレスのための1024の記憶位置をもつものと仮定
する。もう2個のビツトA6〜A7は、各タグ・
アドレスに対応するデータ・アレイ中に記憶され
ているブロツク用のデータ・ブロツク識別(コー
ド)を形成する。かかる各アドレスについて、4
個のデータ・ブロツクが記憶され、従つて2個の
2進ビツトでその特定タグ・アドレスに対する4
個の各々の識別することができる。ワードおよび
バイト識別(コード)はそれぞれ3個のビツトA
3〜A5およびA0〜A2を必要とし、ブロツク
内にそれぞれ8バイトを含む8個のワードが存在
することを示す。
主記憶装置のあるセクター内のブロツクとキヤ
ツシユ中のデータ・アレイの間の対応関係を第2
図に示す。ブロツク・グループ0を形成するブロ
ツクB0〜B3や、ブロツク・グループ1を形成
するB4〜B7などのように4つのブロツクより
成るブロツク・グループを主記憶装置内に構成し
ていることがわかる。主記憶装置からのデータ・
ブロツク・グループは、キヤツシユ中のどこにそ
れが常駐できるかに関して事前指定された位置を
持つている。ブロツク・グループ0は、セツト0
のために留保されている位置にしか常駐できず、
ブロツク・グループ1はセツト1のために留保さ
れた位置にしか常駐できず、ブロツク・グループ
1はセツト1のために留保された位置にしか常駐
できず、以下同様である。「キヤツシユ」中のセ
ツトは、全て同じグループおよび同じセクターか
らの連続するデータ・ブロツクから構成されてい
る。各セクターには0と識別される多数のブロツ
ク・グループがあり、全てがキヤツシユのセツト
0に常駐しようと競合する。キヤツシユ・デー
タ・アレイは1つのセクターからの全てのブロツ
クを記憶するのに充分な容量をもつており、また
必要ならば、各ブロツク・セツトが異なるセクタ
ーを表わすようにすることもできる。タグ・アド
レスがセクターを定義するが、後者はそれぞれ特
定の瞬間に異なることができる。各タグ・アドレ
スは、指定されたブロツクとのみ関連しているた
め、タグは当該ブロツク・グループを含むキヤツ
シユ中に常駐するセクターを定義するようセクタ
ー番号だけを含めばよい。この仮定の例では、
1024個のタグ・アドレスがあり、各タグ・アドレ
スは4個のブロツクを識別し得る2個のブロツ
ク・ビツトをも含んでいるので、データ・アレイ
は、4096個のアドレス可能なブロツク記憶装置を
含むことができる。
ツシユ中のデータ・アレイの間の対応関係を第2
図に示す。ブロツク・グループ0を形成するブロ
ツクB0〜B3や、ブロツク・グループ1を形成
するB4〜B7などのように4つのブロツクより
成るブロツク・グループを主記憶装置内に構成し
ていることがわかる。主記憶装置からのデータ・
ブロツク・グループは、キヤツシユ中のどこにそ
れが常駐できるかに関して事前指定された位置を
持つている。ブロツク・グループ0は、セツト0
のために留保されている位置にしか常駐できず、
ブロツク・グループ1はセツト1のために留保さ
れた位置にしか常駐できず、ブロツク・グループ
1はセツト1のために留保された位置にしか常駐
できず、以下同様である。「キヤツシユ」中のセ
ツトは、全て同じグループおよび同じセクターか
らの連続するデータ・ブロツクから構成されてい
る。各セクターには0と識別される多数のブロツ
ク・グループがあり、全てがキヤツシユのセツト
0に常駐しようと競合する。キヤツシユ・デー
タ・アレイは1つのセクターからの全てのブロツ
クを記憶するのに充分な容量をもつており、また
必要ならば、各ブロツク・セツトが異なるセクタ
ーを表わすようにすることもできる。タグ・アド
レスがセクターを定義するが、後者はそれぞれ特
定の瞬間に異なることができる。各タグ・アドレ
スは、指定されたブロツクとのみ関連しているた
め、タグは当該ブロツク・グループを含むキヤツ
シユ中に常駐するセクターを定義するようセクタ
ー番号だけを含めばよい。この仮定の例では、
1024個のタグ・アドレスがあり、各タグ・アドレ
スは4個のブロツクを識別し得る2個のブロツ
ク・ビツトをも含んでいるので、データ・アレイ
は、4096個のアドレス可能なブロツク記憶装置を
含むことができる。
第2図からわかるように、キヤツシユの各基本
区分は、1個のタグ・アドレス4個の妥当性ビツ
トおよび4個のデータ・ブロツクからなつてい
る。各妥当性ビツト位置が、データ・アレイ中の
ブロツク・グループ中の当該ブロツクの妥当性を
指定する。データ・ブロツクが主記憶装置から取
り出され、キヤツシユ・データ・アレイ中に置か
れる場合、その妥当性ビツトは、有効状態即ち論
理1にセツトされる。そのブロツク・グループ内
の他のブロツクは、要求されない限り取り出さな
くてよい。従来の装置では妥当性ビツトは典型的
な場合データ・アレイ中にデータ・ブロツクと共
に記憶されていたが、タグ・アレイ中にそれらを
記憶するのはより迅速でより大きな柔軟性をもた
らす。例えば初期設定または他のセクターによる
使用のためにキヤツシユ中の1グループを消去す
るには、4個の妥当性ビツトがタグと関連してい
る場合、1動作サイクルだけしか必要ない。それ
らが、データ・ワードと関連している場合には、
消去にn回の操作サイクルが必要となるはずであ
る。ただし、n=1セツト当りのデータ・ブロツ
クの数。その上妥当性(ビツト)がデータ・ワー
ドと関連していない場合、設計者は低速でより安
くより高密度のデータ・アレイを使用する柔軟性
をもつ。妥当性ビツトは、機能的にはタグ・アド
レス・ビツトに関係し、ヒツトまたはミス条件を
決定するため高速度ビツトでなければならない キヤツシユおよび読み書き動作を実施するため
のその制御回路は第3図に示される。動作を開始
する前に、全ての妥当性ビツトがセツトされて、
その当該データ・ブロツクが無効であることを示
すように、キヤツシユが初期設定される。全ての
キヤツシユ・データ・ブロツクの無効化は、「パ
ワーオン」信号または「キヤツシユ・リセツト」
指令が初期設定制御回路19に送られると起こ
る。回路19は、初期設定カウンター20を0に
セツトさせる。カウンター出力がアドレス選択回
路21によつて選択されタグ・アレイ即ちインデ
ツクス・アレイ22に対する一時アドレスとして
働く。初期設定回路19は、さらにゲート38お
よびインバータ38aで書込み使用可能信号を発
生し、第4図に示す妥当性ビツト改訂回路23か
ら来る4個の妥当性ビツト制御(ビツト)の全て
に0値を設定する。後の図からわかるように、2
−4解続器24は、第3図のタグ・アレイ22中
の妥当性ビツト中に書き込むべき当該データであ
る0出力をゲート25a〜25dに送るよう強制
される。同時に、ゲート36a〜36dもゲート
37およびインバータ37aによつてゼロにされ
る。再び第3図を参照すると、刻時ステツプ信号
がカウンター20に印加され、そこでタグ・アレ
イ中のアドレス順序によつてステツプされ、強制
2進ゼロが全体アレイ中に記憶されてキヤツシユ
中の無効データを示す。初期設定カウンター20
が回路21によつてタグ・アレイ・アドレス順序
を完了すると、主記憶装置およびキヤツシユ制御
論理17(第1図)で使用するために「キヤツシ
ユ作動可能」信号を出す。
区分は、1個のタグ・アドレス4個の妥当性ビツ
トおよび4個のデータ・ブロツクからなつてい
る。各妥当性ビツト位置が、データ・アレイ中の
ブロツク・グループ中の当該ブロツクの妥当性を
指定する。データ・ブロツクが主記憶装置から取
り出され、キヤツシユ・データ・アレイ中に置か
れる場合、その妥当性ビツトは、有効状態即ち論
理1にセツトされる。そのブロツク・グループ内
の他のブロツクは、要求されない限り取り出さな
くてよい。従来の装置では妥当性ビツトは典型的
な場合データ・アレイ中にデータ・ブロツクと共
に記憶されていたが、タグ・アレイ中にそれらを
記憶するのはより迅速でより大きな柔軟性をもた
らす。例えば初期設定または他のセクターによる
使用のためにキヤツシユ中の1グループを消去す
るには、4個の妥当性ビツトがタグと関連してい
る場合、1動作サイクルだけしか必要ない。それ
らが、データ・ワードと関連している場合には、
消去にn回の操作サイクルが必要となるはずであ
る。ただし、n=1セツト当りのデータ・ブロツ
クの数。その上妥当性(ビツト)がデータ・ワー
ドと関連していない場合、設計者は低速でより安
くより高密度のデータ・アレイを使用する柔軟性
をもつ。妥当性ビツトは、機能的にはタグ・アド
レス・ビツトに関係し、ヒツトまたはミス条件を
決定するため高速度ビツトでなければならない キヤツシユおよび読み書き動作を実施するため
のその制御回路は第3図に示される。動作を開始
する前に、全ての妥当性ビツトがセツトされて、
その当該データ・ブロツクが無効であることを示
すように、キヤツシユが初期設定される。全ての
キヤツシユ・データ・ブロツクの無効化は、「パ
ワーオン」信号または「キヤツシユ・リセツト」
指令が初期設定制御回路19に送られると起こ
る。回路19は、初期設定カウンター20を0に
セツトさせる。カウンター出力がアドレス選択回
路21によつて選択されタグ・アレイ即ちインデ
ツクス・アレイ22に対する一時アドレスとして
働く。初期設定回路19は、さらにゲート38お
よびインバータ38aで書込み使用可能信号を発
生し、第4図に示す妥当性ビツト改訂回路23か
ら来る4個の妥当性ビツト制御(ビツト)の全て
に0値を設定する。後の図からわかるように、2
−4解続器24は、第3図のタグ・アレイ22中
の妥当性ビツト中に書き込むべき当該データであ
る0出力をゲート25a〜25dに送るよう強制
される。同時に、ゲート36a〜36dもゲート
37およびインバータ37aによつてゼロにされ
る。再び第3図を参照すると、刻時ステツプ信号
がカウンター20に印加され、そこでタグ・アレ
イ中のアドレス順序によつてステツプされ、強制
2進ゼロが全体アレイ中に記憶されてキヤツシユ
中の無効データを示す。初期設定カウンター20
が回路21によつてタグ・アレイ・アドレス順序
を完了すると、主記憶装置およびキヤツシユ制御
論理17(第1図)で使用するために「キヤツシ
ユ作動可能」信号を出す。
キヤツシユはタグ・アレイ22およびデータ・
アレイを含めて、第3図のアドレス母線13a上
に置かれた各アドレスによつてアクセスされる。
有効アドレスは、例えば32ビツトを含み、そのう
ち上位14ビツトは、セクター・アドレス識別(コ
ード)、10ビツトは、セツトないしブロツク・グ
ループ識別(コード)、2ビツトは、データ・ブ
ロツク識別(コード)、3ビツトはブロツク内の
ワード識別(コード)であり、3ビツトはワード
内のバイト識別(コード)を形成する。アドレス
が現われたとき、10ビツトのセツトないしブロツ
ク・グループ・アドレスが、母線27上でタグ・
アレイ22およびデータ・アレイ26に送られ
る。これらのビツトは、14ビツトの対応するタ
グ・ワードをアドレスして、それをセクター比較
回路28へ読み出させる。また、母線28aを介
して回路28には、有効アドレスからの14セクタ
ー識別ビツトが現われる。2つの14ビツト・ワー
ドが等しいと、常駐するブロツク・グループが有
効アドレスによつてアドレス中のセクターからの
ものであることを示す、セクター・ヒツト・ラツ
チ29が使用可能となる。等しくないと、セクタ
ー・ミスが定義される。この比較出力は、ヒツト
またはミスを検出するためのゲート30の1入力
としても働く。
アレイを含めて、第3図のアドレス母線13a上
に置かれた各アドレスによつてアクセスされる。
有効アドレスは、例えば32ビツトを含み、そのう
ち上位14ビツトは、セクター・アドレス識別(コ
ード)、10ビツトは、セツトないしブロツク・グ
ループ識別(コード)、2ビツトは、データ・ブ
ロツク識別(コード)、3ビツトはブロツク内の
ワード識別(コード)であり、3ビツトはワード
内のバイト識別(コード)を形成する。アドレス
が現われたとき、10ビツトのセツトないしブロツ
ク・グループ・アドレスが、母線27上でタグ・
アレイ22およびデータ・アレイ26に送られ
る。これらのビツトは、14ビツトの対応するタ
グ・ワードをアドレスして、それをセクター比較
回路28へ読み出させる。また、母線28aを介
して回路28には、有効アドレスからの14セクタ
ー識別ビツトが現われる。2つの14ビツト・ワー
ドが等しいと、常駐するブロツク・グループが有
効アドレスによつてアドレス中のセクターからの
ものであることを示す、セクター・ヒツト・ラツ
チ29が使用可能となる。等しくないと、セクタ
ー・ミスが定義される。この比較出力は、ヒツト
またはミスを検出するためのゲート30の1入力
としても働く。
タグ・アレイ22からのセクターまたはタグ・
ワードの取り出しと同時に、タグ・ワードの1部
である4個の妥当性ビツトV1〜V4も、妥当性
選択回路31および妥当性レジスター32に取り
出される。妥当性選択回路31への第2の入力
は、アドレスからのブロツク識別ビツトである。
この2ビツトは、4つのデータ・ブロツクのうち
1つを定義するので、所期のデータ・ブロツクに
対応する妥当性ビツトV1〜V4のうちの1つを
選択する。この例では、タグ・アレイ中の妥当性
ビツトは、全てのブロツク・グループに関して無
効化されており、2進0がゲート30の第2入力
に送られる。ゲート30の出力は低レベルのまま
で、インバータ30aを通じてミスを示す。即
ち、データ26中に存在するデータ・ブロツクは
無効である。ゲート30からの低出力が、そうで
ない場合は要求されたブロツク情報をデータ母線
14aに置く、ゲート34を抑制する。
ワードの取り出しと同時に、タグ・ワードの1部
である4個の妥当性ビツトV1〜V4も、妥当性
選択回路31および妥当性レジスター32に取り
出される。妥当性選択回路31への第2の入力
は、アドレスからのブロツク識別ビツトである。
この2ビツトは、4つのデータ・ブロツクのうち
1つを定義するので、所期のデータ・ブロツクに
対応する妥当性ビツトV1〜V4のうちの1つを
選択する。この例では、タグ・アレイ中の妥当性
ビツトは、全てのブロツク・グループに関して無
効化されており、2進0がゲート30の第2入力
に送られる。ゲート30の出力は低レベルのまま
で、インバータ30aを通じてミスを示す。即
ち、データ26中に存在するデータ・ブロツクは
無効である。ゲート30からの低出力が、そうで
ない場合は要求されたブロツク情報をデータ母線
14aに置く、ゲート34を抑制する。
有効アドレスを受け取つたとき、10ビツトのセ
ツトないしブロツク・グループA8〜A17もデ
ータ・アレイ26に送られたことを思い出して戴
きたい。この情報は、データ・アレイ中の特定ブ
ロツク・グループに対するアドレスとして働き、
2ビツトのブロツク情報A6〜A7がそれと一緒
になつて、グループ内の特定データ・ブロツクの
識別(コード)として働く。その結果、特定のデ
ータ・ブロツクが、ワード選択マルチプレクサ3
5へ送られる。そこで3つのワード・ビツトA3
〜A5に応じて、1つのワードが選択されて、3
ビツトのバイト識別(コード)A0〜A2による
将来の解読のために、バイト選択マルチプレクサ
35aに送られる。即ちあるデータ・ブロツクか
らの特定バイトがゲート34に存在するが、ゲー
ト30からのミス信号によつてさらに伝送される
ことを阻止されている。
ツトないしブロツク・グループA8〜A17もデ
ータ・アレイ26に送られたことを思い出して戴
きたい。この情報は、データ・アレイ中の特定ブ
ロツク・グループに対するアドレスとして働き、
2ビツトのブロツク情報A6〜A7がそれと一緒
になつて、グループ内の特定データ・ブロツクの
識別(コード)として働く。その結果、特定のデ
ータ・ブロツクが、ワード選択マルチプレクサ3
5へ送られる。そこで3つのワード・ビツトA3
〜A5に応じて、1つのワードが選択されて、3
ビツトのバイト識別(コード)A0〜A2による
将来の解読のために、バイト選択マルチプレクサ
35aに送られる。即ちあるデータ・ブロツクか
らの特定バイトがゲート34に存在するが、ゲー
ト30からのミス信号によつてさらに伝送される
ことを阻止されている。
ミスが起こると、新しいデータ・ブロツク・キ
ヤツシユにロードされる。この例では所期のデー
タ・ブロツクは、無効であるかまたはキヤツシユ
に不在である。セクター比較回路28から等化信
号が生じるが、第3図の妥当性選択回路31から
は出力がない場合、そのブロツクは無効である。
これは、セクター・ヒツトを示し、またキヤツシ
ユ中に既に新しいデータ・ブロツクを受け取るた
め待機しているスロツトがあることを示す。新し
いブロツクは、予約されたスロツト中にロードし
なければならず、その妥当性ビツトは、1にセツ
トしなければならない。タグ・ワード中の他の3
つの妥当性ビツトは、変化しないままでなければ
ならず、それは第4図に示す妥当性ビツト改訂回
路によつて実施される。
ヤツシユにロードされる。この例では所期のデー
タ・ブロツクは、無効であるかまたはキヤツシユ
に不在である。セクター比較回路28から等化信
号が生じるが、第3図の妥当性選択回路31から
は出力がない場合、そのブロツクは無効である。
これは、セクター・ヒツトを示し、またキヤツシ
ユ中に既に新しいデータ・ブロツクを受け取るた
め待機しているスロツトがあることを示す。新し
いブロツクは、予約されたスロツト中にロードし
なければならず、その妥当性ビツトは、1にセツ
トしなければならない。タグ・ワード中の他の3
つの妥当性ビツトは、変化しないままでなければ
ならず、それは第4図に示す妥当性ビツト改訂回
路によつて実施される。
第4図において、そのブロツクを識別する有効
アドレスの2ビツトが現在ロード中の特定デー
タ・ブロツクを定義するため、回路24で解読さ
れる。1に等しい出力が、解読器24からの回線
1本だけに現われ、ゲート25a−25dのうち
当該のものに印加される。このゲートは、論理1
を生成し、従つて今や新データ・ブロツクに対す
る妥当性ビツトは、タグ・アレイ中で1に変わる
ことができる。残りの3つの妥当性ビツトは、第
3図の妥当性レジスタ32から第4図の一致ゲー
ト36a〜36dに信号が印加されても変化しな
いままであつた。これらのゲートは、セクター・
ミスまたはORゲート37およびインバータ37
aによつて決定される初期設定妥当性条件がある
場合以外は、いつも妥当性レジスタの状態をゲー
ト25a−25dにパスする。従つて、これらの
条件のどちらも存在しないときゲート36a〜3
6dは、この例では、解読器24からの選択ブロ
ツクのために1レベルをもたらす1つのゲート以
外はゼロ・レベルの当該OR回路25a−25d
に送信する。再び第3図を参照すると、新デー
タ・ブロツクがデータ母線14aからデータ・ア
レイ26中にロードされ、新しい妥当性ビツト改
訂回路からタグ・アレイ22中にロードされる。
タイミングは、第1図の主記憶装置およびキヤツ
シユ制御論理17によつて、当該時間に書込みパ
ルスを用いて制御される。書込みパルスは、第3
図のORゲート38がゲート33から受け取り、
38aで変換されて、タグ・アレイおよびデー
タ・アレイで書込み可能にする。
アドレスの2ビツトが現在ロード中の特定デー
タ・ブロツクを定義するため、回路24で解読さ
れる。1に等しい出力が、解読器24からの回線
1本だけに現われ、ゲート25a−25dのうち
当該のものに印加される。このゲートは、論理1
を生成し、従つて今や新データ・ブロツクに対す
る妥当性ビツトは、タグ・アレイ中で1に変わる
ことができる。残りの3つの妥当性ビツトは、第
3図の妥当性レジスタ32から第4図の一致ゲー
ト36a〜36dに信号が印加されても変化しな
いままであつた。これらのゲートは、セクター・
ミスまたはORゲート37およびインバータ37
aによつて決定される初期設定妥当性条件がある
場合以外は、いつも妥当性レジスタの状態をゲー
ト25a−25dにパスする。従つて、これらの
条件のどちらも存在しないときゲート36a〜3
6dは、この例では、解読器24からの選択ブロ
ツクのために1レベルをもたらす1つのゲート以
外はゼロ・レベルの当該OR回路25a−25d
に送信する。再び第3図を参照すると、新デー
タ・ブロツクがデータ母線14aからデータ・ア
レイ26中にロードされ、新しい妥当性ビツト改
訂回路からタグ・アレイ22中にロードされる。
タイミングは、第1図の主記憶装置およびキヤツ
シユ制御論理17によつて、当該時間に書込みパ
ルスを用いて制御される。書込みパルスは、第3
図のORゲート38がゲート33から受け取り、
38aで変換されて、タグ・アレイおよびデー
タ・アレイで書込み可能にする。
キヤツシユのアクセス中にラツチ29がセクタ
ー・ミスを記録する場合には、別の形式のロード
操作が起こる。この瞬間、置換操作が要求され
る。即ち新セクターからのブロツク・グループが
キヤツシユに指定されて、そこに常駐していた他
のブロツク・グループを置換することになる。新
しいブロツク・グループから1つのブロツクだけ
が、このときロードされることを指摘しておく。
これは、妥当性ビツトが論理1にならなければな
らない、ロードされる1つのデータ・ブロツク以
外の全ての妥当性ビツトが0にならなければなら
ないことを要求する。これもまた第4図の妥当性
ビツト改訂回路によつて実施される。同期のブロ
ツクを論理1にセツトするための論理径路は上記
の場合と同じで、解読器回路24が当該線を活動
化する。しかし、残りの妥当性ビツトは、ORゲ
ート37およびインバータ37aにセクター・ミ
ス信号が存在することによつて0にセツトされ、
従つてゲート36a〜36dは条件付けられな
い。即ち、ゲート25a−25dからの改訂ビツ
ト線の1つは、論理1を出力とし、残りの線は、
論理0である。有効アドレスからの新しいセクタ
ー・ビツトは、同時に新しい妥当性構成をもつタ
グ・アレイ22中にロードされ、一方主記憶装置
から取り出されたデータ・ブロツクは、やはりゲ
ート33からゲート38への書込みパルスの制御
下で、データ・アレイ26中にロードされる。
ー・ミスを記録する場合には、別の形式のロード
操作が起こる。この瞬間、置換操作が要求され
る。即ち新セクターからのブロツク・グループが
キヤツシユに指定されて、そこに常駐していた他
のブロツク・グループを置換することになる。新
しいブロツク・グループから1つのブロツクだけ
が、このときロードされることを指摘しておく。
これは、妥当性ビツトが論理1にならなければな
らない、ロードされる1つのデータ・ブロツク以
外の全ての妥当性ビツトが0にならなければなら
ないことを要求する。これもまた第4図の妥当性
ビツト改訂回路によつて実施される。同期のブロ
ツクを論理1にセツトするための論理径路は上記
の場合と同じで、解読器回路24が当該線を活動
化する。しかし、残りの妥当性ビツトは、ORゲ
ート37およびインバータ37aにセクター・ミ
ス信号が存在することによつて0にセツトされ、
従つてゲート36a〜36dは条件付けられな
い。即ち、ゲート25a−25dからの改訂ビツ
ト線の1つは、論理1を出力とし、残りの線は、
論理0である。有効アドレスからの新しいセクタ
ー・ビツトは、同時に新しい妥当性構成をもつタ
グ・アレイ22中にロードされ、一方主記憶装置
から取り出されたデータ・ブロツクは、やはりゲ
ート33からゲート38への書込みパルスの制御
下で、データ・アレイ26中にロードされる。
以上のキヤツシユをロードするための操作の説
明から、所期のセクターがタグ・アレイ中にあ
り、所期のデータ・ブロツクに対する妥当性ビツ
ト中に論理1がある場合、回路28でセクターが
比較され、回路31で妥当性がチエツクされる
と、ゲート30に等化出力が生じ、ヒツト信号を
生成することがわかる。10ビツトのセツトないし
ブロツク・グループおよびブロツク識別ビツト対
は、現在データ・アレイをアドレス中なので、あ
るデータ・ブロツクがワード選択マルチプレクサ
35およびバイト選択マルチプレクサに送られて
いる。即ち、一致ゲート30からの信号がゲート
34を活動化させ、選択されたバイトをデータ母
線14aおよび処理装置に送ることが可能にな
る。
明から、所期のセクターがタグ・アレイ中にあ
り、所期のデータ・ブロツクに対する妥当性ビツ
ト中に論理1がある場合、回路28でセクターが
比較され、回路31で妥当性がチエツクされる
と、ゲート30に等化出力が生じ、ヒツト信号を
生成することがわかる。10ビツトのセツトないし
ブロツク・グループおよびブロツク識別ビツト対
は、現在データ・アレイをアドレス中なので、あ
るデータ・ブロツクがワード選択マルチプレクサ
35およびバイト選択マルチプレクサに送られて
いる。即ち、一致ゲート30からの信号がゲート
34を活動化させ、選択されたバイトをデータ母
線14aおよび処理装置に送ることが可能にな
る。
第1図の中央処理装置11がデータを記憶する
たためメモリー・システムに送るとき、データお
よびそのアドレスが同時に主記憶装置およびキヤ
ツシユに送られて、両方の場所に記憶される。主
記憶装置は、全てのデータを記憶する。しかし、
セツト連想セクター・キヤツシユは、セクター・
ヒツトが検出されるデータのみを記憶する。操作
は、上記でセクター・ヒツトが起こる場合につい
て説明したように、新データ・ブロツクをキヤツ
シユに加えることと同じである。
たためメモリー・システムに送るとき、データお
よびそのアドレスが同時に主記憶装置およびキヤ
ツシユに送られて、両方の場所に記憶される。主
記憶装置は、全てのデータを記憶する。しかし、
セツト連想セクター・キヤツシユは、セクター・
ヒツトが検出されるデータのみを記憶する。操作
は、上記でセクター・ヒツトが起こる場合につい
て説明したように、新データ・ブロツクをキヤツ
シユに加えることと同じである。
本発明のセツト連想セクター・キヤツシユは、
一定のデータ容量をもつものとして説明してきた
が、必要に応じて変えることができる。その中に
は、タグ数を変更すること、各タグと関連するデ
ータ・ブロツクの数を変更すること、あるいは全
キヤツシユを複製して多方向キヤツシユを作るこ
とといつた別法がある。上記の説明では、本例の
タグ・アレイは1024ワードであつた。1タグ・ワ
ード当りのデータ・ブロツク数は同じままでタグ
数を倍にすると、データ・アレイも倍になるはず
である。もう一つの別法として、1タグ・ワード
当りのデータ・ブロツク数を増減することができ
る。1タグ・ワード当りのデータ・ブロツク数を
8に変えると、データ・アレイのサイズが倍にな
る。もちろん、タグ・ワード中のビツト数も、1
タグ・ワード当り4だけ増えることになる。この
1タグ当りのデータ・ブロツク数を増加するの
は、タグ・ワード数を増加するよりも、少しのハ
ードウエアでよい。
一定のデータ容量をもつものとして説明してきた
が、必要に応じて変えることができる。その中に
は、タグ数を変更すること、各タグと関連するデ
ータ・ブロツクの数を変更すること、あるいは全
キヤツシユを複製して多方向キヤツシユを作るこ
とといつた別法がある。上記の説明では、本例の
タグ・アレイは1024ワードであつた。1タグ・ワ
ード当りのデータ・ブロツク数は同じままでタグ
数を倍にすると、データ・アレイも倍になるはず
である。もう一つの別法として、1タグ・ワード
当りのデータ・ブロツク数を増減することができ
る。1タグ・ワード当りのデータ・ブロツク数を
8に変えると、データ・アレイのサイズが倍にな
る。もちろん、タグ・ワード中のビツト数も、1
タグ・ワード当り4だけ増えることになる。この
1タグ当りのデータ・ブロツク数を増加するの
は、タグ・ワード数を増加するよりも、少しのハ
ードウエアでよい。
コンテイーによつて体系4として提示された、
キヤツシユのサイズを増加するための一般的技術
は、全キヤツシユをセツト連想的やり方で倍化す
ることである。その結果得られるキヤツシユは2
方向セツト連想キヤツシユと呼ばれる。もちろ
ん、拡張を続けて、4方向および8方向キヤツシ
ユにすることができる。本発明のセツト連想セク
ター・キヤツシユはかかる拡張に容易に適合でき
るもので、2方向キヤツシユの例を第5図に示
す。この方法では、新しい技術に出会う、「ヒツ
ト」技術である。セツトは、異なるキヤツシユ中
に常駐する、対応するキヤツシユの基本単位(タ
グ・ワードおよびそのブロツク・グループ)であ
る。例えばセクター0からブロツク・グループ0
を、今やキヤツシユ中の1セツトの位置の何れか
に、1つをキヤツシユ1に、1つをキヤツシユ2
に記憶することができる。ブロツク・グループ0
を受け取ることのできる多重位置はセツト0と呼
ばれる。
キヤツシユのサイズを増加するための一般的技術
は、全キヤツシユをセツト連想的やり方で倍化す
ることである。その結果得られるキヤツシユは2
方向セツト連想キヤツシユと呼ばれる。もちろ
ん、拡張を続けて、4方向および8方向キヤツシ
ユにすることができる。本発明のセツト連想セク
ター・キヤツシユはかかる拡張に容易に適合でき
るもので、2方向キヤツシユの例を第5図に示
す。この方法では、新しい技術に出会う、「ヒツ
ト」技術である。セツトは、異なるキヤツシユ中
に常駐する、対応するキヤツシユの基本単位(タ
グ・ワードおよびそのブロツク・グループ)であ
る。例えばセクター0からブロツク・グループ0
を、今やキヤツシユ中の1セツトの位置の何れか
に、1つをキヤツシユ1に、1つをキヤツシユ2
に記憶することができる。ブロツク・グループ0
を受け取ることのできる多重位置はセツト0と呼
ばれる。
第5図を参照すると、第1のキヤツシユは、タ
グ・アレイ50およびそのデータ・アレイ51で
表わされ、第2のキヤツシユは、タグ・アレイ6
0およびその対応するデータ・アレイ61で表わ
される。各キヤツシユのタグおよびデータ・アレ
イは、処理装置によつて出されるアドレスを同時
に受け取るように、適当にアドレス母線13aに
接続される。各タグ・アレイは、上記で第3図に
関して説明したように、それぞれヒツト/ミス論
理回路52,62および妥当性制御論理回路5
3,63をもつている。各回路52または62
は、第3図の妥当性選択回路31、妥当性レジス
タ32、および第4図の妥当性改訂回路の1ブロ
ツク表現である。各回路52または62は、セク
ター識別(コード)が同等性に関して比較し、出
力+キヤツシユ1セクターまたは+キヤツシユ2
セクター・ヒツト(信号)を出すとき、タグ・ア
レイ中のラツチ29でセクター・ヒツトの表示を
もたらす。検索されたデータ・ブロツクが回路5
3または63によつて有効と決定され、第5図の
各キヤツシユに対してセクター・ヒツトがある場
合、ゲート30の出力信号+キヤツシユ1ヒツト
または+キヤツシユ2ヒツトがゲート信号として
働き、各データ・アレイに対するゲート54また
は64が生成される。
グ・アレイ50およびそのデータ・アレイ51で
表わされ、第2のキヤツシユは、タグ・アレイ6
0およびその対応するデータ・アレイ61で表わ
される。各キヤツシユのタグおよびデータ・アレ
イは、処理装置によつて出されるアドレスを同時
に受け取るように、適当にアドレス母線13aに
接続される。各タグ・アレイは、上記で第3図に
関して説明したように、それぞれヒツト/ミス論
理回路52,62および妥当性制御論理回路5
3,63をもつている。各回路52または62
は、第3図の妥当性選択回路31、妥当性レジス
タ32、および第4図の妥当性改訂回路の1ブロ
ツク表現である。各回路52または62は、セク
ター識別(コード)が同等性に関して比較し、出
力+キヤツシユ1セクターまたは+キヤツシユ2
セクター・ヒツト(信号)を出すとき、タグ・ア
レイ中のラツチ29でセクター・ヒツトの表示を
もたらす。検索されたデータ・ブロツクが回路5
3または63によつて有効と決定され、第5図の
各キヤツシユに対してセクター・ヒツトがある場
合、ゲート30の出力信号+キヤツシユ1ヒツト
または+キヤツシユ2ヒツトがゲート信号として
働き、各データ・アレイに対するゲート54また
は64が生成される。
処理装置が読み取り操作を実施するとき、両方
のキヤツシユは同じ有効アドレスを受け取り、ヒ
ツト/ミス検査を実施する。例えば処理装置がセ
ツト0をアドレス中の場合、所期のセクターおよ
びブロツク・グループは、どちらかのキヤツシユ
に含まれていることも、どちらにも含まれていな
いこともあり得るが、両方に含まれることはな
い。個別ヒツト/ミス検査の結果が、ORゲート
70およびインバータ70aで分析され、合成ヒ
ツト/ミス信号をもたらす。処理装置に戻る伝送
用に有効なデータ・ブロツクがみつかつた場合に
は、ヒツト(信号)をもつキヤツシユだけが、そ
の当該ゲート回路54または64を介して、デー
タ母線14a上にデータをゲートする。どちらの
キヤツシユも、その当該回路52または62から
ORゲート70に論理1出力を送らない場合は、
ミス信号が出され、データを主記憶装置から運ば
ねばならない。
のキヤツシユは同じ有効アドレスを受け取り、ヒ
ツト/ミス検査を実施する。例えば処理装置がセ
ツト0をアドレス中の場合、所期のセクターおよ
びブロツク・グループは、どちらかのキヤツシユ
に含まれていることも、どちらにも含まれていな
いこともあり得るが、両方に含まれることはな
い。個別ヒツト/ミス検査の結果が、ORゲート
70およびインバータ70aで分析され、合成ヒ
ツト/ミス信号をもたらす。処理装置に戻る伝送
用に有効なデータ・ブロツクがみつかつた場合に
は、ヒツト(信号)をもつキヤツシユだけが、そ
の当該ゲート回路54または64を介して、デー
タ母線14a上にデータをゲートする。どちらの
キヤツシユも、その当該回路52または62から
ORゲート70に論理1出力を送らない場合は、
ミス信号が出され、データを主記憶装置から運ば
ねばならない。
ミス信号が出るとはいえ、一方のキヤツシユが
セクター・ヒツト(信号)をもち、両方がセクタ
ー・ミスを経験したことはあり得る。1つのキヤ
ツシユがセクター・ヒツトを示す場合、そのキヤ
ツシユは、新しいデータ・ブロツクのために予約
されたスロツトをもつており、そのデータ・ブロ
ツクのロードを受諾する。この条件が表示され、
もう一方のキヤツシユにロードするのを阻止する
ための禁止信号が生成される。例えばキヤツシユ
1の回路52からの+キヤツシユ1セクター・ヒ
ツト信号は、キヤツシユ2をロードすることに対
する禁止信号である出力を、OR72で生成す
る。同様に、回路62からのキヤツシユ2セクタ
ー・ヒツト信号は、ORゲート76に入力を与
え、後者がキヤツシユ1に対する禁止信号を出力
として生成する。キヤツシユをロードすることを
禁止する信号は、第3図のインバータ33aおよ
びANDゲート33に送られ、書込みパルスが禁
止されたキヤツシユに書込み可能信号を発生させ
るのを使用禁止する。
セクター・ヒツト(信号)をもち、両方がセクタ
ー・ミスを経験したことはあり得る。1つのキヤ
ツシユがセクター・ヒツトを示す場合、そのキヤ
ツシユは、新しいデータ・ブロツクのために予約
されたスロツトをもつており、そのデータ・ブロ
ツクのロードを受諾する。この条件が表示され、
もう一方のキヤツシユにロードするのを阻止する
ための禁止信号が生成される。例えばキヤツシユ
1の回路52からの+キヤツシユ1セクター・ヒ
ツト信号は、キヤツシユ2をロードすることに対
する禁止信号である出力を、OR72で生成す
る。同様に、回路62からのキヤツシユ2セクタ
ー・ヒツト信号は、ORゲート76に入力を与
え、後者がキヤツシユ1に対する禁止信号を出力
として生成する。キヤツシユをロードすることを
禁止する信号は、第3図のインバータ33aおよ
びANDゲート33に送られ、書込みパルスが禁
止されたキヤツシユに書込み可能信号を発生させ
るのを使用禁止する。
キヤツシユ1とキヤツシユ2のどちらもセクタ
ー・ヒツトを経験しない場合、2つの可能なブロ
ツク・グループ(各キヤツシユ中に1個)の一方
を置換して、新しいデータ・ブロツクのための余
地をあけなくてはならない。この決定は、交換ア
レイ77と名付けたランダム・アクセス・メモリ
から行われる。交換アレイは、2方向キヤツシユ
内の各セツトに対して1個の2進ビツト位置を含
み、同じビツトがキヤツシユ1とキヤツシユ2の
両方に適用される。そのビツトは各セツトについ
て、最も最近にそのセツトから読み取られたデー
タ・ブロツクを含んでいたキヤツシユを示す。一
方のキヤツシユに対するビツト・レベルを任意に
指定することができる。例えば論理0はキヤツシ
ユ1が最も最近に使用されたことを示し、論理1
はキヤツシユ2について同じことを表すことがで
きる。
ー・ヒツトを経験しない場合、2つの可能なブロ
ツク・グループ(各キヤツシユ中に1個)の一方
を置換して、新しいデータ・ブロツクのための余
地をあけなくてはならない。この決定は、交換ア
レイ77と名付けたランダム・アクセス・メモリ
から行われる。交換アレイは、2方向キヤツシユ
内の各セツトに対して1個の2進ビツト位置を含
み、同じビツトがキヤツシユ1とキヤツシユ2の
両方に適用される。そのビツトは各セツトについ
て、最も最近にそのセツトから読み取られたデー
タ・ブロツクを含んでいたキヤツシユを示す。一
方のキヤツシユに対するビツト・レベルを任意に
指定することができる。例えば論理0はキヤツシ
ユ1が最も最近に使用されたことを示し、論理1
はキヤツシユ2について同じことを表すことがで
きる。
交換アレイ77は、どちらかのタグ・アレイと
同様に、母線13a上の有効アドレスから、10個
のセツトないしブロツク・グループ・ビツトA8
〜A17によつて同時にアドレスされる。次に交
換アレイをアドレスすると、選択されたビツト・
レベルが読み出され、ラツチ78中にその状況を
示す。ラツチ出力は、それぞれ一致ゲート79お
よび80に印加される。ラツチがオンであり両方
のタグ・アレイがセクター・ミスを示す場合に
は、一致ゲート79が出力として交換ゲート信号
を出し、ラツチ78がオフのままであり、両方の
タグ・アレイがセクター・ミスを示す場合には、
ゲート80が出力ゲート信号を出す。
同様に、母線13a上の有効アドレスから、10個
のセツトないしブロツク・グループ・ビツトA8
〜A17によつて同時にアドレスされる。次に交
換アレイをアドレスすると、選択されたビツト・
レベルが読み出され、ラツチ78中にその状況を
示す。ラツチ出力は、それぞれ一致ゲート79お
よび80に印加される。ラツチがオンであり両方
のタグ・アレイがセクター・ミスを示す場合に
は、一致ゲート79が出力として交換ゲート信号
を出し、ラツチ78がオフのままであり、両方の
タグ・アレイがセクター・ミスを示す場合には、
ゲート80が出力ゲート信号を出す。
例えば、交換アレイからアドレスされたセツト
内で、キヤツシユ2が最も最近に使用されたこと
を示す論理1が出た場合、ラツチ78がセツトさ
れて、ゲート79がキヤツシユ1中のブロツク・
グループの交換を示すその出力信号を出す。交換
アルゴリズムは、最も最近に使用されたデータが
最も再使用されやすいという原理を使つている。
従つて、最も以前に使用されたデータが交換され
る。ゲート79または80のどちらかからの交換
信号が入力として当該のORゲート72および7
6に送られ、各キヤツシユにロードすることを禁
止する信号を生成する。
内で、キヤツシユ2が最も最近に使用されたこと
を示す論理1が出た場合、ラツチ78がセツトさ
れて、ゲート79がキヤツシユ1中のブロツク・
グループの交換を示すその出力信号を出す。交換
アルゴリズムは、最も最近に使用されたデータが
最も再使用されやすいという原理を使つている。
従つて、最も以前に使用されたデータが交換され
る。ゲート79または80のどちらかからの交換
信号が入力として当該のORゲート72および7
6に送られ、各キヤツシユにロードすることを禁
止する信号を生成する。
アドレスされているセツトと関連された交換ア
レイ77の内容が、各読み取り操作の後にロード
され、従つて常に最も最近に読み取られたデータ
を反映するようになつている各読み取り操作の終
りに、主記憶装置およびキヤツシユ制御論理17
(第1図)から、ロード交換アレイ・パルスが出
され、OR81をゲート通過してゲート79aで
逆転され、最も最近のデータを交換アレイ中に書
き込ませる。交換アレイへの適当な入力選択は、
マルチプレクサ73による。このマルチプレクサ
は、交換アレイ中にロードされるべき4つの値I
0〜I3のうち何れがを選択することができる。
その選択は、ORゲート71および75からくる
制御入力AおよびBにもとづく。初期設定の間、
ゲート71および75は、強制的に論理1にな
り、論理0を含む入力I3を選択させる。即ち、
キヤツシユの初期設定中単に人工的出発的をもた
らすために、論理0が各交換アレイ位置にロード
される。
レイ77の内容が、各読み取り操作の後にロード
され、従つて常に最も最近に読み取られたデータ
を反映するようになつている各読み取り操作の終
りに、主記憶装置およびキヤツシユ制御論理17
(第1図)から、ロード交換アレイ・パルスが出
され、OR81をゲート通過してゲート79aで
逆転され、最も最近のデータを交換アレイ中に書
き込ませる。交換アレイへの適当な入力選択は、
マルチプレクサ73による。このマルチプレクサ
は、交換アレイ中にロードされるべき4つの値I
0〜I3のうち何れがを選択することができる。
その選択は、ORゲート71および75からくる
制御入力AおよびBにもとづく。初期設定の間、
ゲート71および75は、強制的に論理1にな
り、論理0を含む入力I3を選択させる。即ち、
キヤツシユの初期設定中単に人工的出発的をもた
らすために、論理0が各交換アレイ位置にロード
される。
正常なキヤツシユ操作中に、キヤツシユ1が読
み取り操作中のセクター・ヒツトを経験した場
合、ゲート7は論理1にセツトされ、ゲート75
は論理0にセツトされて、論理0である入力I1
を交換アレイにロードさせる。キヤツシユ1中の
セクター・ヒツトが、交換アレイ中にキヤツシユ
が最近に使用されたことを示す、論理0をロード
させることを指摘しておく。同様にキヤツシユ2
がセクター・ヒツトを経験した場合は、入力I2
が選択され、論理が交換アレイ中にロードされ
る。
み取り操作中のセクター・ヒツトを経験した場
合、ゲート7は論理1にセツトされ、ゲート75
は論理0にセツトされて、論理0である入力I1
を交換アレイにロードさせる。キヤツシユ1中の
セクター・ヒツトが、交換アレイ中にキヤツシユ
が最近に使用されたことを示す、論理0をロード
させることを指摘しておく。同様にキヤツシユ2
がセクター・ヒツトを経験した場合は、入力I2
が選択され、論理が交換アレイ中にロードされ
る。
どちらのキヤツシユもセクター・ヒツトを経験
しない場合は、現在交換アレイ中に記憶されてい
るビツトの逆転が、入力I0を介して選択され
る。
しない場合は、現在交換アレイ中に記憶されてい
るビツトの逆転が、入力I0を介して選択され
る。
例えば、どちらのキヤツシユもセクター・ヒツ
トを経験せず、交換アレイからラツチ78中に1
が読み取られると仮定する。これにより、ゲート
79が活動状態になり、キヤツシユ1中のブロツ
ク・グループを交換し、こうしてキヤツシユ1を
最近使用されたものにする。従つてラツチ78の
逆転論理0が交換アレイ中にロードされ、キヤツ
シユ1を最近に使用されたものとして定義する。
トを経験せず、交換アレイからラツチ78中に1
が読み取られると仮定する。これにより、ゲート
79が活動状態になり、キヤツシユ1中のブロツ
ク・グループを交換し、こうしてキヤツシユ1を
最近使用されたものにする。従つてラツチ78の
逆転論理0が交換アレイ中にロードされ、キヤツ
シユ1を最近に使用されたものとして定義する。
以上の説明から、より効率的なキヤツシユ記憶
装置が開示されたことがわかる。1タグ当りのデ
ータ・ブロツク数が増加すると、検索時間の損失
なしにキヤツシユ・メモリの1ブロツク当りの回
路コストを減らすことが可能になる。本発明は、
複雑な制御回路を加えることなく、容易にキヤツ
シユ設計に適合させ、サイズを変えることができ
る。
装置が開示されたことがわかる。1タグ当りのデ
ータ・ブロツク数が増加すると、検索時間の損失
なしにキヤツシユ・メモリの1ブロツク当りの回
路コストを減らすことが可能になる。本発明は、
複雑な制御回路を加えることなく、容易にキヤツ
シユ設計に適合させ、サイズを変えることができ
る。
第1図は、キヤツシユ・メモリを含む通常のデ
ータ処理システムの、単純化したブロツク・ダイ
ヤグラム、第2図は、本発明に基づいて構成し
た、主記憶装置およびキヤツシユ・メモリのデー
タ・ブロツク間の写像関係を示す図、第3図は、
本発明のキヤツシユ・メモリならびにキヤツシユ
から読み取りまたはキヤツシユに主メモリ母線か
ら書き込むための回路の概略図、第4図は、第3
図に示した妥当性ビツト改訂回路の詳細図、第5
図は、本発明のキヤツシユを使用した多重キヤツ
シユ配置の概略図である。 10……セツト連想セクター・キヤツシユ、1
1……中央処理装置、12……主記憶装置、15
……メモリ・アドレス・レジスタ、16……メモ
リ・データ・レジスタ、17……主記憶装置及び
キヤツシユ制御論理装置。
ータ処理システムの、単純化したブロツク・ダイ
ヤグラム、第2図は、本発明に基づいて構成し
た、主記憶装置およびキヤツシユ・メモリのデー
タ・ブロツク間の写像関係を示す図、第3図は、
本発明のキヤツシユ・メモリならびにキヤツシユ
から読み取りまたはキヤツシユに主メモリ母線か
ら書き込むための回路の概略図、第4図は、第3
図に示した妥当性ビツト改訂回路の詳細図、第5
図は、本発明のキヤツシユを使用した多重キヤツ
シユ配置の概略図である。 10……セツト連想セクター・キヤツシユ、1
1……中央処理装置、12……主記憶装置、15
……メモリ・アドレス・レジスタ、16……メモ
リ・データ・レジスタ、17……主記憶装置及び
キヤツシユ制御論理装置。
Claims (1)
- 【特許請求の範囲】 1 複数のセクターより成る主記憶装置であつて
該セクターの各々は複数のブロツク・グループよ
り成り且つ該ブロツク・グループの各々は複数の
ブロツクより成る主記憶装置と、前記主記憶装置
をアクセスするためにセクター・アドレス、ブロ
ツク・グループ・アドレス及びブロツク・アドレ
スを含む主記憶装置アドレスを発生し得るプロセ
ツとを有するデータ処理システムにおいて、 各々が1ブロツクのデータを記憶し得る複数の
記憶位置を有し、該記憶位置の各々が前記ブロツ
ク・グループ・アドレス及びブロツク・アドレス
によりアクセスされるデータ・アレーと、 複数の記憶位置を有し、該記憶位置の各々が前
記ブロツク・グループ・アドレスによりアクセス
可能であり、前記データ・アレーにデータが記憶
されたブロツクを含むセクターを表わすセクタ
ー・アドレスと該セクターにおける1つのブロツ
ク・グループ内の各ブロツクが前記データ・アレ
ーに存在するか否かを表わす妥当性ビツトとを記
憶するためのタグ・アレーと、 前記プロセツサにより発生された主記憶装置ア
ドレスにおけるセクター・アドレスと前記タグ・
アレーをアクセスすることにより得られたセクタ
ー・アドレスとの一致を表わす信号及び前記タ
グ・アレーをアクセスすることにより得られた妥
当性ビツトに従つて、前記データ・アレーをアク
セスすることにより得られた1ブロツクのデータ
を前記プロセツサへゲートするための手段と、 より成る緩衝記憶装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/382,040 US4493026A (en) | 1982-05-26 | 1982-05-26 | Set associative sector cache |
| US382040 | 1982-05-26 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58205975A JPS58205975A (ja) | 1983-12-01 |
| JPS624745B2 true JPS624745B2 (ja) | 1987-01-31 |
Family
ID=23507303
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58010023A Granted JPS58205975A (ja) | 1982-05-26 | 1983-01-26 | 緩衝記憶機構 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4493026A (ja) |
| EP (1) | EP0095033B1 (ja) |
| JP (1) | JPS58205975A (ja) |
| DE (1) | DE3382447D1 (ja) |
Families Citing this family (84)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58147879A (ja) * | 1982-02-26 | 1983-09-02 | Toshiba Corp | キヤツシユメモリ制御方式 |
| JPS5948879A (ja) * | 1982-09-10 | 1984-03-21 | Hitachi Ltd | 記憶制御方式 |
| US4897783A (en) * | 1983-03-14 | 1990-01-30 | Nay Daniel L | Computer memory system |
| JPS59213084A (ja) * | 1983-05-16 | 1984-12-01 | Fujitsu Ltd | バッファ記憶装置のアクセス制御方式 |
| US4858111A (en) * | 1983-07-29 | 1989-08-15 | Hewlett-Packard Company | Write-back cache system using concurrent address transfers to setup requested address in main memory before dirty miss signal from cache |
| JPS60124754A (ja) * | 1983-12-09 | 1985-07-03 | Fujitsu Ltd | バッファ記憶制御装置 |
| US4736293A (en) * | 1984-04-11 | 1988-04-05 | American Telephone And Telegraph Company, At&T Bell Laboratories | Interleaved set-associative memory |
| US4985829A (en) * | 1984-07-31 | 1991-01-15 | Texas Instruments Incorporated | Cache hierarchy design for use in a memory management unit |
| JPS6184753A (ja) * | 1984-10-01 | 1986-04-30 | Hitachi Ltd | バツフアメモリ |
| US4775955A (en) * | 1985-10-30 | 1988-10-04 | International Business Machines Corporation | Cache coherence mechanism based on locking |
| US4785398A (en) * | 1985-12-19 | 1988-11-15 | Honeywell Bull Inc. | Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page |
| US4953073A (en) * | 1986-02-06 | 1990-08-28 | Mips Computer Systems, Inc. | Cup chip having tag comparator and address translation unit on chip and connected to off-chip cache and main memories |
| JPS62194563A (ja) * | 1986-02-21 | 1987-08-27 | Hitachi Ltd | バツフア記憶装置 |
| US5237671A (en) * | 1986-05-02 | 1993-08-17 | Silicon Graphics, Inc. | Translation lookaside buffer shutdown scheme |
| EP0259967B1 (en) * | 1986-08-01 | 1994-03-23 | Fujitsu Limited | Directory memory |
| JPS6340925A (ja) * | 1986-08-06 | 1988-02-22 | Nec Corp | メモリ初期化方式 |
| JPS63118816A (ja) * | 1986-11-06 | 1988-05-23 | Toshiba Corp | キヤツシユメモリ付マイクロプロセツサシステム |
| US5055999A (en) * | 1987-12-22 | 1991-10-08 | Kendall Square Research Corporation | Multiprocessor digital data processing system |
| US5341483A (en) * | 1987-12-22 | 1994-08-23 | Kendall Square Research Corporation | Dynamic hierarchial associative memory |
| ATE109910T1 (de) * | 1988-01-20 | 1994-08-15 | Advanced Micro Devices Inc | Organisation eines integrierten cachespeichers zur flexiblen anwendung zur unterstützung von multiprozessor-operationen. |
| US5184320A (en) * | 1988-02-12 | 1993-02-02 | Texas Instruments Incorporated | Cached random access memory device and system |
| JPH01217530A (ja) * | 1988-02-26 | 1989-08-31 | Hitachi Ltd | キヤツシユメモリ |
| US5034885A (en) * | 1988-03-15 | 1991-07-23 | Kabushiki Kaisha Toshiba | Cache memory device with fast data-write capacity |
| CA1301367C (en) * | 1988-03-24 | 1992-05-19 | David James Ayers | Pseudo set-associative memory cacheing arrangement |
| US5210843A (en) * | 1988-03-25 | 1993-05-11 | Northern Telecom Limited | Pseudo set-associative memory caching arrangement |
| 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 |
| US4996641A (en) * | 1988-04-15 | 1991-02-26 | Motorola, Inc. | Diagnostic mode for a cache |
| US5058006A (en) * | 1988-06-27 | 1991-10-15 | Digital Equipment Corporation | Method and apparatus for filtering invalidate requests |
| US4912630A (en) * | 1988-07-29 | 1990-03-27 | Ncr Corporation | Cache address comparator with sram having burst addressing control |
| US4907189A (en) * | 1988-08-08 | 1990-03-06 | Motorola, Inc. | Cache tag comparator with read mode and compare mode |
| US4905141A (en) * | 1988-10-25 | 1990-02-27 | International Business Machines Corporation | Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification |
| 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 |
| JPH0680499B2 (ja) * | 1989-01-13 | 1994-10-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムのキャッシュ制御システムおよび方法 |
| GB9008145D0 (en) * | 1989-05-31 | 1990-06-06 | Ibm | Microcomputer system employing address offset mechanism to increase the supported cache memory capacity |
| US5226133A (en) * | 1989-12-01 | 1993-07-06 | Silicon Graphics, Inc. | Two-level translation look-aside buffer using partial addresses for enhanced speed |
| US5014195A (en) * | 1990-05-10 | 1991-05-07 | Digital Equipment Corporation, Inc. | Configurable set associative cache with decoded data element enable lines |
| ATE231259T1 (de) * | 1990-05-18 | 2003-02-15 | Sun Microsystems Inc | Dynamischer hierarchischer leitwegverzeichnisorganisationsassoziativspeich r |
| US5282274A (en) * | 1990-05-24 | 1994-01-25 | International Business Machines Corporation | Translation of multiple virtual pages upon a TLB miss |
| JPH05108484A (ja) * | 1990-06-07 | 1993-04-30 | Intel Corp | キヤツシユメモリ |
| CA2044689A1 (en) * | 1990-06-15 | 1991-12-16 | Roger E. Tipley | Multilevel inclusion in multilevel cache hierarchies |
| US5434990A (en) * | 1990-08-06 | 1995-07-18 | Ncr Corporation | Method for serially or concurrently addressing n individually addressable memories each having an address latch and data latch |
| US5291442A (en) * | 1990-10-31 | 1994-03-01 | International Business Machines Corporation | Method and apparatus for dynamic cache line sectoring in multiprocessor systems |
| US5325504A (en) * | 1991-08-30 | 1994-06-28 | Compaq Computer Corporation | Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system |
| GB2260628A (en) * | 1991-10-11 | 1993-04-21 | Intel Corp | Line buffer for cache memory |
| US5469555A (en) * | 1991-12-19 | 1995-11-21 | Opti, Inc. | Adaptive write-back method and apparatus wherein the cache system operates in a combination of write-back and write-through modes for a cache-based microprocessor system |
| US5414827A (en) * | 1991-12-19 | 1995-05-09 | Opti, Inc. | Automatic cache flush |
| US5345582A (en) * | 1991-12-20 | 1994-09-06 | Unisys Corporation | Failure detection for instruction processor associative cache memories |
| US5537572A (en) * | 1992-03-31 | 1996-07-16 | Vlsi Technology, Inc. | Cache controller and method for dumping contents of a cache directory and cache data random access memory (RAM) |
| DE69323790T2 (de) * | 1992-04-29 | 1999-10-07 | Sun Microsystems, Inc. | Verfahren und Vorrichtung für mehreren ausstehende Operationen in einem cachespeicherkohärenten Multiprozessorsystem |
| US5809531A (en) * | 1992-09-21 | 1998-09-15 | Intel Corporation | Computer system for executing programs using an internal cache without accessing external RAM |
| US5465342A (en) * | 1992-12-22 | 1995-11-07 | International Business Machines Corporation | Dynamically adaptive set associativity for cache memories |
| US5682515A (en) * | 1993-01-25 | 1997-10-28 | Benchmarq Microelectronics, Inc. | Low power set associative cache memory with status inhibit of cache data output |
| US5500950A (en) * | 1993-01-29 | 1996-03-19 | Motorola, Inc. | Data processor with speculative data transfer and address-free retry |
| US5539894A (en) * | 1993-04-20 | 1996-07-23 | Sun Microsystems, Inc. | Method and apparatus for optimizing a sector cache tag, block and sub-block structure base on main memory size |
| US5732243A (en) * | 1994-10-18 | 1998-03-24 | Cyrix Corporation | Branch processing unit with target cache using low/high banking to support split prefetching |
| US5860149A (en) * | 1995-06-07 | 1999-01-12 | Emulex Corporation | Memory buffer system using a single pointer to reference multiple associated data |
| US5845317A (en) * | 1995-11-17 | 1998-12-01 | Micron Technology, Inc. | Multi-way cache expansion circuit architecture |
| US5809562A (en) * | 1996-05-20 | 1998-09-15 | Integrated Device Technology, Inc. | Cache array select logic allowing cache array size to differ from physical page size |
| US6636944B1 (en) * | 1997-04-24 | 2003-10-21 | International Business Machines Corporation | Associative cache and method for replacing data entries having an IO state |
| US6098152A (en) * | 1997-10-17 | 2000-08-01 | International Business Machines Corporation | Method and apparatus for miss sequence cache block replacement utilizing a most recently used state |
| JPH11296263A (ja) * | 1998-04-13 | 1999-10-29 | Fujitsu Ltd | プロセッサの初期設定制御装置 |
| US6504550B1 (en) | 1998-05-21 | 2003-01-07 | Mitsubishi Electric & Electronics Usa, Inc. | System for graphics processing employing semiconductor device |
| US6661421B1 (en) | 1998-05-21 | 2003-12-09 | Mitsubishi Electric & Electronics Usa, Inc. | Methods for operation of semiconductor memory |
| US6559851B1 (en) | 1998-05-21 | 2003-05-06 | Mitsubishi Electric & Electronics Usa, Inc. | Methods for semiconductor systems for graphics processing |
| US6535218B1 (en) | 1998-05-21 | 2003-03-18 | Mitsubishi Electric & Electronics Usa, Inc. | Frame buffer memory for graphic processing |
| US6339813B1 (en) * | 2000-01-07 | 2002-01-15 | International Business Machines Corporation | Memory system for permitting simultaneous processor access to a cache line and sub-cache line sectors fill and writeback to a system memory |
| US6823434B1 (en) * | 2000-02-21 | 2004-11-23 | Hewlett-Packard Development Company, L.P. | System and method for resetting and initializing a fully associative array to a known state at power on or through machine specific state |
| US6629213B1 (en) * | 2000-05-01 | 2003-09-30 | Hewlett-Packard Development Company, L.P. | Apparatus and method using sub-cacheline transactions to improve system performance |
| KR100335500B1 (ko) * | 2000-05-16 | 2002-05-08 | 윤종용 | 직접사상 캐쉬와 완전연관 버퍼를 포함한 캐쉬 시스템의제어 방법 |
| US6766431B1 (en) | 2000-06-16 | 2004-07-20 | Freescale Semiconductor, Inc. | Data processing system and method for a sector cache |
| US7310706B1 (en) | 2001-06-01 | 2007-12-18 | Mips Technologies, Inc. | Random cache line refill |
| DE60131907D1 (de) * | 2001-10-08 | 2008-01-24 | Ericsson Telefon Ab L M | Hidden-job-startpräperation in einem anweisungsparallelen prozessorsystem |
| US6912628B2 (en) * | 2002-04-22 | 2005-06-28 | Sun Microsystems Inc. | N-way set-associative external cache with standard DDR memory devices |
| US7246202B2 (en) * | 2002-11-11 | 2007-07-17 | Matsushita Electric Industrial Co., Ltd. | Cache controller, cache control method, and computer system |
| US20040103251A1 (en) * | 2002-11-26 | 2004-05-27 | Mitchell Alsup | Microprocessor including a first level cache and a second level cache having different cache line sizes |
| US7240277B2 (en) * | 2003-09-26 | 2007-07-03 | Texas Instruments Incorporated | Memory error detection reporting |
| US7526610B1 (en) * | 2008-03-20 | 2009-04-28 | International Business Machines Corporation | Sectored cache memory |
| US8464001B1 (en) * | 2008-12-09 | 2013-06-11 | Nvidia Corporation | Cache and associated method with frame buffer managed dirty data pull and high-priority clean mechanism |
| US8745334B2 (en) * | 2009-06-17 | 2014-06-03 | International Business Machines Corporation | Sectored cache replacement algorithm for reducing memory writebacks |
| US9514055B2 (en) * | 2009-12-31 | 2016-12-06 | Seagate Technology Llc | Distributed media cache for data storage systems |
| KR101414035B1 (ko) * | 2010-04-21 | 2014-07-01 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 저장 효율적인 섹터형 캐시 |
| US8589627B2 (en) * | 2010-08-27 | 2013-11-19 | Advanced Micro Devices, Inc. | Partially sectored cache |
| US11360704B2 (en) | 2018-12-21 | 2022-06-14 | Micron Technology, Inc. | Multiplexed signal development in a memory device |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3618040A (en) * | 1968-09-18 | 1971-11-02 | Hitachi Ltd | Memory control apparatus in multiprocessor system |
| US3800292A (en) * | 1972-10-05 | 1974-03-26 | Honeywell Inf Systems | Variable masking for segmented memory |
| US4320451A (en) * | 1974-04-19 | 1982-03-16 | Honeywell Information Systems Inc. | Extended semaphore architecture |
| US3967247A (en) * | 1974-11-11 | 1976-06-29 | Sperry Rand Corporation | Storage interface unit |
| US4217640A (en) * | 1978-12-11 | 1980-08-12 | Honeywell Information Systems Inc. | Cache unit with transit block buffer apparatus |
| US4325120A (en) * | 1978-12-21 | 1982-04-13 | Intel Corporation | Data processing system |
| US4467421A (en) * | 1979-10-18 | 1984-08-21 | Storage Technology Corporation | Virtual storage system and method |
| US4371929A (en) * | 1980-05-05 | 1983-02-01 | Ibm Corporation | Multiprocessor system with high density memory set architecture including partitionable cache store interface to shared disk drive memory |
| US4370710A (en) * | 1980-08-26 | 1983-01-25 | Control Data Corporation | Cache memory organization utilizing miss information holding registers to prevent lockup from cache misses |
| US4413317A (en) * | 1980-11-14 | 1983-11-01 | Sperry Corporation | Multiprocessor system with cache/disk subsystem with status routing for plural disk drives |
| US4363095A (en) * | 1980-12-31 | 1982-12-07 | Honeywell Information Systems Inc. | Hit/miss logic for a cache memory |
| US4424561A (en) * | 1980-12-31 | 1984-01-03 | Honeywell Information Systems Inc. | Odd/even bank structure for a cache memory |
-
1982
- 1982-05-26 US US06/382,040 patent/US4493026A/en not_active Expired - Fee Related
-
1983
- 1983-01-26 JP JP58010023A patent/JPS58205975A/ja active Granted
- 1983-04-13 EP EP83103560A patent/EP0095033B1/en not_active Expired
- 1983-04-13 DE DE8383103560T patent/DE3382447D1/de not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP0095033A2 (en) | 1983-11-30 |
| US4493026A (en) | 1985-01-08 |
| DE3382447D1 (de) | 1991-12-12 |
| EP0095033A3 (en) | 1987-04-29 |
| JPS58205975A (ja) | 1983-12-01 |
| EP0095033B1 (en) | 1991-11-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS624745B2 (ja) | ||
| US5530829A (en) | Track and record mode caching scheme for a storage system employing a scatter index table with pointer and a track directory | |
| US5091851A (en) | Fast multiple-word accesses from a multi-way set-associative cache memory | |
| KR920005280B1 (ko) | 고속 캐쉬 시스템 | |
| EP0179811B1 (en) | Interleaved set-associative memory | |
| US5809280A (en) | Adaptive ahead FIFO with LRU replacement | |
| US4322795A (en) | Cache memory utilizing selective clearing and least recently used updating | |
| EP0192202B1 (en) | Memory system including simplified high-speed data cache | |
| US5388247A (en) | History buffer control to reduce unnecessary allocations in a memory stream buffer | |
| US5586294A (en) | Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer | |
| KR100278328B1 (ko) | 캐시 미스 버퍼 | |
| US5640534A (en) | Method and system for concurrent access in a data cache array utilizing multiple match line selection paths | |
| US4471429A (en) | Apparatus for cache clearing | |
| US6192458B1 (en) | High performance cache directory addressing scheme for variable cache sizes utilizing associativity | |
| US4323968A (en) | Multilevel storage system having unitary control of data transfers | |
| JPH0345407B2 (ja) | ||
| EP0019358B1 (en) | Hierarchical data storage system | |
| US5668972A (en) | Method and system for efficient miss sequence cache line allocation utilizing an allocation control cell state to enable a selected match line | |
| US5805855A (en) | Data cache array having multiple content addressable fields per cache line | |
| US6157980A (en) | Cache directory addressing scheme for variable cache sizes | |
| JPH0425579B2 (ja) | ||
| US8621152B1 (en) | Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access | |
| US6571316B1 (en) | Cache memory array for multiple address spaces | |
| US6332179B1 (en) | Allocation for back-to-back misses in a directory based cache | |
| EP0533427B1 (en) | Computer memory control system |