JPS58205975A - 緩衝記憶機構 - Google Patents
緩衝記憶機構Info
- Publication number
- JPS58205975A JPS58205975A JP58010023A JP1002383A JPS58205975A JP S58205975 A JPS58205975 A JP S58205975A JP 58010023 A JP58010023 A JP 58010023A JP 1002383 A JP1002383 A JP 1002383A JP S58205975 A JPS58205975 A JP S58205975A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache
- address
- block
- 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.)
- Granted
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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の背景〕
不発明は、データ処理システム−1さらに具体的に言え
ば、1つ又は複数個のプロセ、ツサが利用し得る主記憶
装置と組合せて冒速度緩衝記憶機構即ちキャッシュを使
用するシステムに関するものでめる。
ば、1つ又は複数個のプロセ、ツサが利用し得る主記憶
装置と組合せて冒速度緩衝記憶機構即ちキャッシュを使
用するシステムに関するものでめる。
データ処理システムは、迅速なアクセスのためのデーダ
または命令を一時的に保持するために高速度の緩衝記憶
機構即ちキャッシュを使用し、低速度で動作する主記憶
装置即ち補助記憶装置に対する取り出し要求を回避して
いる。キャッシュに質問してその要求されているデータ
がないことがわかった後にそのデータが主記憶装置から
キャッシュに転送される。必要なデータは、直後のおよ
び将来の使用のために主記憶装置がちキャッシュの割り
当てられに部分に取り出されろ。主記憶°装置は通常キ
ャッシュよりもずっと大きいので、主記憶装置からのデ
ータをキャッシュ中に効果的に写像するために、かなり
の努力が払われてきた。
または命令を一時的に保持するために高速度の緩衝記憶
機構即ちキャッシュを使用し、低速度で動作する主記憶
装置即ち補助記憶装置に対する取り出し要求を回避して
いる。キャッシュに質問してその要求されているデータ
がないことがわかった後にそのデータが主記憶装置から
キャッシュに転送される。必要なデータは、直後のおよ
び将来の使用のために主記憶装置がちキャッシュの割り
当てられに部分に取り出されろ。主記憶°装置は通常キ
ャッシュよりもずっと大きいので、主記憶装置からのデ
ータをキャッシュ中に効果的に写像するために、かなり
の努力が払われてきた。
[IEEEコンピュータ・グループ・ニュース−119
69年3月刊、第9〜13頁記載の[Concepts
for l1uffer Storage J
ど題するC、 J、コンティの論文には、4種の技術が
記述されている。
69年3月刊、第9〜13頁記載の[Concepts
for l1uffer Storage J
ど題するC、 J、コンティの論文には、4種の技術が
記述されている。
その第1のセクター技術でに、主記憶装置からの多数の
ブロックからなるデータ・セクターが一度に1ブロツク
ずつヤヤツシュのいずれか1つのセクター中に写像され
る。キャッシュは、通常少数のセクターしか保持できず
、各キャッシュ・セクターはいつも主記憶装置の同一セ
クター内からのブロックしか含むことができない。キャ
ッシュ内にどのデータかめるかを覚えているために必要
な論理は簡単でわる。このシステムでは、キャッシュを
探索して「ヒツト」(所望のブロックが存在する)を決
定するのに、1セクター当シ1つのタグ、1ブロツク当
91つの妥尚性ビットしか必要としない。主記憶装置の
任意のセクターをキャッシュの任意のセクター中に転送
できるけれども各キャッシュ・毛りターは別のセクター
で置換されるまでその記憶されたセクターの不在ブロッ
クのために開けておかれなければならない。この方法に
、データの転送が幾分辰介になり、いくつかのセクター
中から少数の必要なデータ・ブロックを選択するには柔
軟さを欠いている。
ブロックからなるデータ・セクターが一度に1ブロツク
ずつヤヤツシュのいずれか1つのセクター中に写像され
る。キャッシュは、通常少数のセクターしか保持できず
、各キャッシュ・セクターはいつも主記憶装置の同一セ
クター内からのブロックしか含むことができない。キャ
ッシュ内にどのデータかめるかを覚えているために必要
な論理は簡単でわる。このシステムでは、キャッシュを
探索して「ヒツト」(所望のブロックが存在する)を決
定するのに、1セクター当シ1つのタグ、1ブロツク当
91つの妥尚性ビットしか必要としない。主記憶装置の
任意のセクターをキャッシュの任意のセクター中に転送
できるけれども各キャッシュ・毛りターは別のセクター
で置換されるまでその記憶されたセクターの不在ブロッ
クのために開けておかれなければならない。この方法に
、データの転送が幾分辰介になり、いくつかのセクター
中から少数の必要なデータ・ブロックを選択するには柔
軟さを欠いている。
第2の技術、即ちキャッシュの直接零像法では、要求ご
とに1データ・ブロックしか転送されず、それは、キャ
ッシュ内の1つのタグ・アドレスに事前指定されている
。キャッシュ中にN個のブロックかめる場合、主記憶装
置からのN番目ごとのブロックが同じタグ・アドレスに
事前指定さオしる。
とに1データ・ブロックしか転送されず、それは、キャ
ッシュ内の1つのタグ・アドレスに事前指定されている
。キャッシュ中にN個のブロックかめる場合、主記憶装
置からのN番目ごとのブロックが同じタグ・アドレスに
事前指定さオしる。
ブロックをセクターにグループ分けする瑚えは、最イ必
要でない。この構成は、ハードウェア土は効率的である
が、柔軟性匹欠ける。(下記の4番目の技術のような)
他のキャッシュ法は、この方法を拡張して柔軟性を高め
たものでめ1゜緩衝記憶機構の第3の技術は、完全に連
想的でめり、この方式では任意データを主記憶装置から
キャッシュ中め任意のデータ・ブロックに写像すること
ができる。これは競合の難点を回避するけれども、全デ
ータ・ブロックのタグを探索しなけれはならない゛ため
、多くのハードウェア捷りは多くの探索時間が必要でめ
る。次に第4の方式でろるセット連想方式では、事前指
定されたブロックが直接写像技術を使って1セツトのキ
ャッシュ位置に写像されろ。この方式でに完全に連想的
なキャッシュが必要とする・・−ドウエアの多く、およ
び競合の問題が軽減されるが、各記憶ブロックに対して
1つのタグ・アドレスを必要とするという欠点かめる。
要でない。この構成は、ハードウェア土は効率的である
が、柔軟性匹欠ける。(下記の4番目の技術のような)
他のキャッシュ法は、この方法を拡張して柔軟性を高め
たものでめ1゜緩衝記憶機構の第3の技術は、完全に連
想的でめり、この方式では任意データを主記憶装置から
キャッシュ中め任意のデータ・ブロックに写像すること
ができる。これは競合の難点を回避するけれども、全デ
ータ・ブロックのタグを探索しなけれはならない゛ため
、多くのハードウェア捷りは多くの探索時間が必要でめ
る。次に第4の方式でろるセット連想方式では、事前指
定されたブロックが直接写像技術を使って1セツトのキ
ャッシュ位置に写像されろ。この方式でに完全に連想的
なキャッシュが必要とする・・−ドウエアの多く、およ
び競合の問題が軽減されるが、各記憶ブロックに対して
1つのタグ・アドレスを必要とするという欠点かめる。
゛ これらの今までのキャッシュ機構の試みは一般的に
、両極端にまで進んでしまっており、余分のデータを転
送するか、またにキャッシュ中に記憶されている各デー
タ・ブロックに対して1つのタグを使用して多数のタグ
をもたらすかでめった。
、両極端にまで進んでしまっており、余分のデータを転
送するか、またにキャッシュ中に記憶されている各デー
タ・ブロックに対して1つのタグを使用して多数のタグ
をもたらすかでめった。
即ち、これらのキャッシュが不充分であるか、あるいは
回路が複雑になり、そのコストが飛躍的に増大する。別
の見方をすれば、セクターの転送は太きすぎることが多
い。セクターよりはずっと小さいが典型的なブロックI
りは犬きく1.1つのタグ・アドレスと関、連させるこ
とができろ中程度の量のデータに対する必要性が残って
いる。
回路が複雑になり、そのコストが飛躍的に増大する。別
の見方をすれば、セクターの転送は太きすぎることが多
い。セクターよりはずっと小さいが典型的なブロックI
りは犬きく1.1つのタグ・アドレスと関、連させるこ
とができろ中程度の量のデータに対する必要性が残って
いる。
′従って、本発明の主たる目的は、各タグ・アドレスが
データ・アレイ中の複数のデータ・ブロックへのアクセ
スをもたらすタグ・アレイとデータ・アレイとのセット
連想緩衝記憶機構即ちキャッシュ・システムを提供する
ことにめる。
データ・アレイ中の複数のデータ・ブロックへのアクセ
スをもたらすタグ・アレイとデータ・アレイとのセット
連想緩衝記憶機構即ちキャッシュ・システムを提供する
ことにめる。
不発明の第2の重要な目的はタグ・アレイがデータ・ア
レイに比べて小さく、従って回路効率の改良およびコス
トの低減が可能となるデータ演19処胛システム用のキ
ャッシュ機構を提供することである。
レイに比べて小さく、従って回路効率の改良およびコス
トの低減が可能となるデータ演19処胛システム用のキ
ャッシュ機構を提供することである。
不発明の第3の目的は、単一タグ・アドレスに対して複
数のブロックの1つにアクセスするために、そのタグ・
アドレスをデータ・ブロック識別ビットと組み合せるキ
ャッシュ機構を提供することである。
数のブロックの1つにアクセスするために、そのタグ・
アドレスをデータ・ブロック識別ビットと組み合せるキ
ャッシュ機構を提供することである。
本発明の第4の目的は多重プロセッサ・システムに容易
に適合できるキ、ヤツシュ機構を提供するととでめる。
に適合できるキ、ヤツシュ機構を提供するととでめる。
不発明によれは、タグ・アレイ及びデータ・アレイを持
った緩衝記憶機構が設けられ、各タグ・アレイ位t!/
は複数個の連続したデータ・プレイ缶1aと関連づけら
れ、それらデータ・アレイ位1i7の各々に主記憶装置
δの同じセクターからの1ブロツクのデータを貯蔵する
ように構成される。そのデータ・ブロックのグループは
直接にデータ・アレイ位16′に写像されるが、主記憶
装置の書りターは単に連想的に写像される。データ・ブ
ロックのグループは直接写像されるので、各ブロック位
置は、セクターにはかかわりなく、その事前指定された
データ・アレイ位1dにしか記憶されず、従って取り出
し中の所望のブロック・グループが存在するか否かを決
定するためにはそのグループ識別をもつ1つのタグ・ア
ドレスのみを探索すればよい。
った緩衝記憶機構が設けられ、各タグ・アレイ位t!/
は複数個の連続したデータ・プレイ缶1aと関連づけら
れ、それらデータ・アレイ位1i7の各々に主記憶装置
δの同じセクターからの1ブロツクのデータを貯蔵する
ように構成される。そのデータ・ブロックのグループは
直接にデータ・アレイ位16′に写像されるが、主記憶
装置の書りターは単に連想的に写像される。データ・ブ
ロックのグループは直接写像されるので、各ブロック位
置は、セクターにはかかわりなく、その事前指定された
データ・アレイ位1dにしか記憶されず、従って取り出
し中の所望のブロック・グループが存在するか否かを決
定するためにはそのグループ識別をもつ1つのタグ・ア
ドレスのみを探索すればよい。
1つのグループ内での各個々のブロックの存在は個々の
妥当性ビットに基づく。そのブロック・グループがキャ
ッシュ中に存在し且つ必要とされる特定のブロックが有
効なものでろる場合、キャッシュ内の所望のワードの探
索は成功して、「ヒツト1」と呼ばれろ。そうでない場
合は、「ミス」が検出される。複数のデーテ:ブ、ロッ
クが主記憶装置から取り出されてキャッシュに転送され
ろとき、それらの妥当性はタグ・ワードと関連して記憶
される適当な妥当性ビットによって表わされる。1??
換されるべき最も以前に使用されたタグ・ワードおよび
ブロック・グループを定義するために、1b゛換アレイ
をそのセット連想セクター・キャッシュ□と共に使用す
ることもできる。
妥当性ビットに基づく。そのブロック・グループがキャ
ッシュ中に存在し且つ必要とされる特定のブロックが有
効なものでろる場合、キャッシュ内の所望のワードの探
索は成功して、「ヒツト1」と呼ばれろ。そうでない場
合は、「ミス」が検出される。複数のデーテ:ブ、ロッ
クが主記憶装置から取り出されてキャッシュに転送され
ろとき、それらの妥当性はタグ・ワードと関連して記憶
される適当な妥当性ビットによって表わされる。1??
換されるべき最も以前に使用されたタグ・ワードおよび
ブロック・グループを定義するために、1b゛換アレイ
をそのセット連想セクター・キャッシュ□と共に使用す
ることもできる。
各タグ・ワードは、データ・アレイ中の初数の位置をア
クセスできるので、必要なタグ記tlj容量が少なく、
従って回路が少なくコストが安くなるという利点かめる
。セット連想緩衝記憶機構の場合と同じく、タグ・アレ
イならびにデータ・アレイの探索は同時に行なわれる。
クセスできるので、必要なタグ記tlj容量が少なく、
従って回路が少なくコストが安くなるという利点かめる
。セット連想緩衝記憶機構の場合と同じく、タグ・アレ
イならびにデータ・アレイの探索は同時に行なわれる。
即ち「ヒツト」又ハ「ミス」に従って、その指定された
データ・ブ :ロックをデータ・アレイ−からゲートし
、または抑11h1することができる。主記憶装置から
複数ブロックを一括して取り出すことができるため、か
なりの数のアクセスおよびより大きなキャッシュn[r
憶データの装置に必要なそのための転送時間の多くが除
かれる。もう一つ便利な点は、ブロック掟当性ビントヲ
タグ中のセクター識別(コード)と共に記憶し、情報の
信頼性が早期に決定できることでめろ。この方式は、さ
らに必要なレジスタの数が減少し、回路の単純化が可能
となる・〔良好な実施例の説明〕 第1図を参照すると、緩衝記憶機構を使用した典型的な
データ演算処理システムが概略的に示してろる。−これ
は、一般に主記憶装置12中に命令およびオペランドが
常駐する中央処理装置11用の高速度緩衝機構として役
立つ不発明のセット連想セクター・キャッシュ10を含
んでいる。探索すべき命令またはデータの取り出しアド
レスが、母線13aによってメモリ・アドレス・レジス
タ15に送られる。メモリから読み取られまたはそれに
書き込捷れた°データは、母線14によってメモリ・デ
ータ・レジスタ16に送られる。キャッジ″ユ10はま
た中央処理装置11または主記憶装置近12からアドレ
スまたはデニタを受は取るために、母線13Bおよび1
4aを介してこれらの母線の各々(13および14)に
接続されている。
データ・ブ :ロックをデータ・アレイ−からゲートし
、または抑11h1することができる。主記憶装置から
複数ブロックを一括して取り出すことができるため、か
なりの数のアクセスおよびより大きなキャッシュn[r
憶データの装置に必要なそのための転送時間の多くが除
かれる。もう一つ便利な点は、ブロック掟当性ビントヲ
タグ中のセクター識別(コード)と共に記憶し、情報の
信頼性が早期に決定できることでめろ。この方式は、さ
らに必要なレジスタの数が減少し、回路の単純化が可能
となる・〔良好な実施例の説明〕 第1図を参照すると、緩衝記憶機構を使用した典型的な
データ演算処理システムが概略的に示してろる。−これ
は、一般に主記憶装置12中に命令およびオペランドが
常駐する中央処理装置11用の高速度緩衝機構として役
立つ不発明のセット連想セクター・キャッシュ10を含
んでいる。探索すべき命令またはデータの取り出しアド
レスが、母線13aによってメモリ・アドレス・レジス
タ15に送られる。メモリから読み取られまたはそれに
書き込捷れた°データは、母線14によってメモリ・デ
ータ・レジスタ16に送られる。キャッジ″ユ10はま
た中央処理装置11または主記憶装置近12からアドレ
スまたはデニタを受は取るために、母線13Bおよび1
4aを介してこれらの母線の各々(13および14)に
接続されている。
キャッシュ10は、安来されたデータがその中に存在す
るときにそのデータをプロセッサに送る。
るときにそのデータをプロセッサに送る。
全体的Vこ17として示しに制御回路が、中央処理装置
11から取り出し要求を受は取ってぞの要求をキャッシ
ュにまたはアドレス・レジスタおよびデータ・レジスタ
にゲートする。
11から取り出し要求を受は取ってぞの要求をキャッシ
ュにまたはアドレス・レジスタおよびデータ・レジスタ
にゲートする。
帆Jl!l!装置11がメモリ・アクセスを必要とする
場合、それはその命令−1にはデータのアドレスをアド
レス母線13aに載せ、同時にメモリ要求を制御論理装
置17に出す。アドレスがキャッシュ10に送られ、メ
モリ・アドレス・レジメタ15中に記憶される。キャッ
シュはランダム・アクセス・メモリであり、以前に主記
憶装置から得Tニデータ■の高速度レボジトリ−として
鋤く。アドレスを受は取ると、キャッシュがその要求さ
れ1こデータを含んでいるかどうかについての決定が行
われる。要求データがキャッシュから入手可能な場合、
「ヒツト」が信号化され、論理装置17か閥求データを
データ母線10aを介して処理装置11にゲートする。
場合、それはその命令−1にはデータのアドレスをアド
レス母線13aに載せ、同時にメモリ要求を制御論理装
置17に出す。アドレスがキャッシュ10に送られ、メ
モリ・アドレス・レジメタ15中に記憶される。キャッ
シュはランダム・アクセス・メモリであり、以前に主記
憶装置から得Tニデータ■の高速度レボジトリ−として
鋤く。アドレスを受は取ると、キャッシュがその要求さ
れ1こデータを含んでいるかどうかについての決定が行
われる。要求データがキャッシュから入手可能な場合、
「ヒツト」が信号化され、論理装置17か閥求データを
データ母線10aを介して処理装置11にゲートする。
これは主記憶装置12をアクセスすることなしに、メモ
リ・データ転送を完了させる。キャッシュ10が要求デ
ータを含まない場合、「ミス」が信号化され、制御論理
装置17がメモリ・アドレス・レジスタ15をゲートシ
て、主記憶装置からのメモリ取出しつ゛イクルを開始す
る。主記憶装置から得られたデータが次にメモリ・デー
タ・レジスタ16に運ばれ、データ母1i!14aを介
して処理装置11およびキャッシュ10に置かれ、将来
の要求に備えてそのキャッシュにml憶される。
リ・データ転送を完了させる。キャッシュ10が要求デ
ータを含まない場合、「ミス」が信号化され、制御論理
装置17がメモリ・アドレス・レジスタ15をゲートシ
て、主記憶装置からのメモリ取出しつ゛イクルを開始す
る。主記憶装置から得られたデータが次にメモリ・デー
タ・レジスタ16に運ばれ、データ母1i!14aを介
して処理装置11およびキャッシュ10に置かれ、将来
の要求に備えてそのキャッシュにml憶される。
以下の説明では、主記憶装置のセグメントを記述するた
め、次の語を使用する。例えば、「セクター」は主記憶
装置の最大の下位区分で大きなメモリ位置(グル・−−
プである。「データ・ブロック」゛または「ブロック」
・は、セクターの小部分でろるが、1回のメモリ取出し
でアクセスされるデータ量などご主記憶装置中の基本単
位を意味するものとする。「ワード」は、データ、・ブ
dツクの下位区分でりり、「バイト」ハデータ・ワード
のさらに下位区分である。−例として主記憶装置は、1
6384セクターを含み、各セクターは4096ブロツ
クを含み、各ブロックに8ワード、各ワードに8バイト
を含む。「ブロック・グループ」の語は、主記憶装置お
よび木′発明のセット連想セクター・キャッシュの記憶
の単位を定義する。各ブロック・グループは、キャッシ
ュ・メモリの基本単位であり、妥当性ビットやパリティ
・ビットなどの補助的2進ピントを含む1個のタグ・ワ
ードによってアクセスできる複数のデータ・ブロックの
全てを含む。パリティ・ビットの使用はよく知られてい
るので、この考察ではこれ以1触れないことにする。
め、次の語を使用する。例えば、「セクター」は主記憶
装置の最大の下位区分で大きなメモリ位置(グル・−−
プである。「データ・ブロック」゛または「ブロック」
・は、セクターの小部分でろるが、1回のメモリ取出し
でアクセスされるデータ量などご主記憶装置中の基本単
位を意味するものとする。「ワード」は、データ、・ブ
dツクの下位区分でりり、「バイト」ハデータ・ワード
のさらに下位区分である。−例として主記憶装置は、1
6384セクターを含み、各セクターは4096ブロツ
クを含み、各ブロックに8ワード、各ワードに8バイト
を含む。「ブロック・グループ」の語は、主記憶装置お
よび木′発明のセット連想セクター・キャッシュの記憶
の単位を定義する。各ブロック・グループは、キャッシ
ュ・メモリの基本単位であり、妥当性ビットやパリティ
・ビットなどの補助的2進ピントを含む1個のタグ・ワ
ードによってアクセスできる複数のデータ・ブロックの
全てを含む。パリティ・ビットの使用はよく知られてい
るので、この考察ではこれ以1触れないことにする。
第2図は、セット連想セクター・キャッシュと今詠べ1
こいくつかのデータ単位の関係を図示しfこものでめる
。−例として、有効アトυス18V[、左から右に大き
さの順に示した52個の2進ビン)AO〜A31からな
るものと仮定する。主記憶装置中の記憶セクターは、大
きい方から順に14個のビットA18〜A31によって
識別され、この14個のビットはキャッシュのタグ・ア
レイ中の1つの明憶位置のタグ・アドレスとして使用す
る。第2の10個のビットのグループ八8〜A17は、
セクター内のセット即ちブロック・グループを識別する
。この例では、タグ・アレイは、各タグ・アドレスに対
して、1024の記憶位置をもつものと仮定する。もう
2個のビットA6〜A7(l″11各タグ・アドレスに
対応するデータ・アレイ中に記憶されているブロック用
のデータ・ブロック識別(コード)を形成する。かかる
各アドレスについて、4個のデータ・ブロックが記憶さ
れ、従って2個の2進ビツトでその特定タグ・アドレス
に対する4個の各々を識別することができる。
こいくつかのデータ単位の関係を図示しfこものでめる
。−例として、有効アトυス18V[、左から右に大き
さの順に示した52個の2進ビン)AO〜A31からな
るものと仮定する。主記憶装置中の記憶セクターは、大
きい方から順に14個のビットA18〜A31によって
識別され、この14個のビットはキャッシュのタグ・ア
レイ中の1つの明憶位置のタグ・アドレスとして使用す
る。第2の10個のビットのグループ八8〜A17は、
セクター内のセット即ちブロック・グループを識別する
。この例では、タグ・アレイは、各タグ・アドレスに対
して、1024の記憶位置をもつものと仮定する。もう
2個のビットA6〜A7(l″11各タグ・アドレスに
対応するデータ・アレイ中に記憶されているブロック用
のデータ・ブロック識別(コード)を形成する。かかる
各アドレスについて、4個のデータ・ブロックが記憶さ
れ、従って2個の2進ビツトでその特定タグ・アドレス
に対する4個の各々を識別することができる。
ワードおよびバイト識別(コード)はそれぞれ3個のビ
ットA5〜A5およびAO〜A2を必要とし、ブロック
内にそれぞれ8バイトを含む8個のワードが存在するこ
とを示す。
ットA5〜A5およびAO〜A2を必要とし、ブロック
内にそれぞれ8バイトを含む8個のワードが存在するこ
とを示す。
主記憶装置中
ッシュ中のデータ・アレイΩ間の対応関係を第2図に示
す。ブロック・グループ0を形成するブロック130〜
133や、ブロック・グループ1を形成する04〜B7
などのように4つのブロックより成るブロック・グルー
プを主記憶装置内に構成していることがわがイ)。主o
1’41:lJ、装置からのデータ・ブロック・グルー
プは、キャッシュ中のどこにそれが常駐できるかに関し
て事前相定された位置を持っている。ブロック・グルー
プ0は、セット口のために留保されている位置にしか常
駐できず、ブロック・グループ1はセット1のために留
保された位置にしか常駐できず、ブロック・グループ1
はセット1のために留保された位置にしか常駐できず、
以下同様でめる。「キャッシュ」中のセットは、全て同
じグループおよび同じセクターからの連続するデータ・
プ°ロックから構成されていd。各セクターには0と識
別される多数のブロック・グループがめり、全てがキャ
ッシュのセット0に常駐しようと競合する。キャッシュ
・データ・アレイは1つのセクターからの全てのブロッ
クを記憶するのに充分な容量をもっており、−fy、二
必要ならば、各ブロック・セットが異なるセクタ一番号
わすようにすることもできる。タグ・アドレスがセクタ
ーを定義するが、後者はそれぞれ特定の瞬間に異なるこ
とができる。各タグ・アドレスは、指定されたブロック
とのみ関連しているた八′)、タグV1当該ブロック・
グループを含むキ、ヤツシュ中に常駐するセクターを定
義するようセクタ一番号だけを含めばよい。この仮定の
例では、1024個のタグ・アドレスがあり、各タグ・
アドレ、子は211Mのブロック・ヒントを含むので4
個のブロックを識別することができ、データ・アレイは
、4096個のアドレス可能なブロック記憶装(4゛を
誉むことができる。
す。ブロック・グループ0を形成するブロック130〜
133や、ブロック・グループ1を形成する04〜B7
などのように4つのブロックより成るブロック・グルー
プを主記憶装置内に構成していることがわがイ)。主o
1’41:lJ、装置からのデータ・ブロック・グルー
プは、キャッシュ中のどこにそれが常駐できるかに関し
て事前相定された位置を持っている。ブロック・グルー
プ0は、セット口のために留保されている位置にしか常
駐できず、ブロック・グループ1はセット1のために留
保された位置にしか常駐できず、ブロック・グループ1
はセット1のために留保された位置にしか常駐できず、
以下同様でめる。「キャッシュ」中のセットは、全て同
じグループおよび同じセクターからの連続するデータ・
プ°ロックから構成されていd。各セクターには0と識
別される多数のブロック・グループがめり、全てがキャ
ッシュのセット0に常駐しようと競合する。キャッシュ
・データ・アレイは1つのセクターからの全てのブロッ
クを記憶するのに充分な容量をもっており、−fy、二
必要ならば、各ブロック・セットが異なるセクタ一番号
わすようにすることもできる。タグ・アドレスがセクタ
ーを定義するが、後者はそれぞれ特定の瞬間に異なるこ
とができる。各タグ・アドレスは、指定されたブロック
とのみ関連しているた八′)、タグV1当該ブロック・
グループを含むキ、ヤツシュ中に常駐するセクターを定
義するようセクタ一番号だけを含めばよい。この仮定の
例では、1024個のタグ・アドレスがあり、各タグ・
アドレ、子は211Mのブロック・ヒントを含むので4
個のブロックを識別することができ、データ・アレイは
、4096個のアドレス可能なブロック記憶装(4゛を
誉むことができる。
第2図かられかるように、キャッシュの各基不下位部分
は、1個のタグ・アドレス4個の妥当性ビットおよび4
個のデータ・ブロックからなって ・いる。各妥当性ビ
ット位置が、データ・アレイ中のブロック・グループ中
の当該ブロックの妥当性を指定する。データ・ブロック
が主記憶装置から取り出され、キャッシュ・ケータ・プ
レイ中に置かれる場合、その妥当性ビットは(°有効状
態ないし論理1にセットされる。そのセットないしブロ
ック・グループ内の他のブロックは、要求されない限り
取り出さなくてよい。従来の装置では妥当性ビットは典
型的な場合データ・アレイ中にデータ・アレイ中にデー
タ・ブロックと共に記憶さオlていたが、タグ・アレイ
中にそれらを記憶するのはより迅速でより大きな柔軟性
をもγこらす。1+11えば初期設定または他のセクタ
ーによる使用のたM)にキャッシュ中の1グループを消
去するには、4個の妥当性ビットがタグと関連している
場合、1動作サイクルだけしか必要ない。それらが、デ
ータ・ワードと関連している場合にに1消−入に11回
の操作ブイクルが必要となるはずでろる@ただし、n二
1セット当りのデータ・ブロックの数。その上妥当性(
ビット)がデータ・ワードと関連していない場合、設計
者は低速でより安くより高密度のデータ・アレイを使用
する柔軟性をもつ。妥当性ヒツト八、機能的にはタグ・
アドレス・・ビットに関係し、ヒツトまたにミス条件を
決定する1こめ面速度ビットでなければならない キャッシュおよび読み書き動作を実施する定めのその湘
111回路が第3図に示される。動作を開始する前に、
全ての妥当性ビットがセットされて、その当該データ・
ブロックが無効でめること金車すように、キャッシュが
初期設定さ、rt、る。全てのキャッシュ・データ・ブ
ロックの無効化は、「ノくワーオン」信号または[キャ
ッシュ・リセット]指令が初期設定制御回路19に送ら
れると起こる。
は、1個のタグ・アドレス4個の妥当性ビットおよび4
個のデータ・ブロックからなって ・いる。各妥当性ビ
ット位置が、データ・アレイ中のブロック・グループ中
の当該ブロックの妥当性を指定する。データ・ブロック
が主記憶装置から取り出され、キャッシュ・ケータ・プ
レイ中に置かれる場合、その妥当性ビットは(°有効状
態ないし論理1にセットされる。そのセットないしブロ
ック・グループ内の他のブロックは、要求されない限り
取り出さなくてよい。従来の装置では妥当性ビットは典
型的な場合データ・アレイ中にデータ・アレイ中にデー
タ・ブロックと共に記憶さオlていたが、タグ・アレイ
中にそれらを記憶するのはより迅速でより大きな柔軟性
をもγこらす。1+11えば初期設定または他のセクタ
ーによる使用のたM)にキャッシュ中の1グループを消
去するには、4個の妥当性ビットがタグと関連している
場合、1動作サイクルだけしか必要ない。それらが、デ
ータ・ワードと関連している場合にに1消−入に11回
の操作ブイクルが必要となるはずでろる@ただし、n二
1セット当りのデータ・ブロックの数。その上妥当性(
ビット)がデータ・ワードと関連していない場合、設計
者は低速でより安くより高密度のデータ・アレイを使用
する柔軟性をもつ。妥当性ヒツト八、機能的にはタグ・
アドレス・・ビットに関係し、ヒツトまたにミス条件を
決定する1こめ面速度ビットでなければならない キャッシュおよび読み書き動作を実施する定めのその湘
111回路が第3図に示される。動作を開始する前に、
全ての妥当性ビットがセットされて、その当該データ・
ブロックが無効でめること金車すように、キャッシュが
初期設定さ、rt、る。全てのキャッシュ・データ・ブ
ロックの無効化は、「ノくワーオン」信号または[キャ
ッシュ・リセット]指令が初期設定制御回路19に送ら
れると起こる。
回路19は、初期設定カウンター20を0にセットさせ
る。カウンター出力がアドレス選択回路2−1によって
選択されタグ・アレイ即ちインデックス・アレイ22に
対する一時アドレスとして働く。
る。カウンター出力がアドレス選択回路2−1によって
選択されタグ・アレイ即ちインデックス・アレイ22に
対する一時アドレスとして働く。
初期設定回路19に、さらにゲート58および変換器3
8aで書込み使用可能信号を発生し、第4図に示す妥当
性ビット改訂回路26から来る4個の妥当性ヒーット制
御(ビット)の全てに0値を設定する。後の図かられか
るように、2−4解読器24は、第3図のタグ・アレイ
22中の妥当性ビット中に書き込むべき、当該データで
りる0出力をゲート25a〜25dに送るよう強制され
ろ。同時に、ゲート66a〜36dもゲート37および
インバータ37aによってゼロにされる。再び第5図を
参照すると、刻時ステ゛ン“ブ信号力(カウーンタ−2
0に印加され、そどでタグ・・アレイ中のアドレス順序
によってステツプされ、強11jl12進ゼロが全体ア
レイ中に記録されてキャッシュ中の無効データを示す。
8aで書込み使用可能信号を発生し、第4図に示す妥当
性ビット改訂回路26から来る4個の妥当性ヒーット制
御(ビット)の全てに0値を設定する。後の図かられか
るように、2−4解読器24は、第3図のタグ・アレイ
22中の妥当性ビット中に書き込むべき、当該データで
りる0出力をゲート25a〜25dに送るよう強制され
ろ。同時に、ゲート66a〜36dもゲート37および
インバータ37aによってゼロにされる。再び第5図を
参照すると、刻時ステ゛ン“ブ信号力(カウーンタ−2
0に印加され、そどでタグ・・アレイ中のアドレス順序
によってステツプされ、強11jl12進ゼロが全体ア
レイ中に記録されてキャッシュ中の無効データを示す。
初期設定カウンター20が回路21によってタグ・プレ
イ・アドレス順序を完了すると、主記憶装置およびキャ
ッシュ制叫1論理17(第1図)で使用するために「キ
ャッシュ作動可11シ」”信号を出す。
イ・アドレス順序を完了すると、主記憶装置およびキャ
ッシュ制叫1論理17(第1図)で使用するために「キ
ャッシュ作動可11シ」”信号を出す。
キャッシュはタグ・アレイないし°インデックス・アレ
イ22およびデータ・アレイを含めて、第6図のアドレ
スfiJ線15a:ヒに+a−A・れた各アドレーによ
ってアクセスされる。有効アドレスは、tellえは5
2ビツトヲ・含み、そのうち上位14ビツトは、セクタ
ー・アドレス識別(コード)、′lOビットは、セット
ないしブロック・グループ識別(コード)、2ピツトは
、データ・ブロック識別(ニア−)’)、3ビツトはブ
ロック内のワード識別(コード)であり、5ピントはワ
ード内のビット識別(コード)を形成する。アドレスが
現わオLγことき、10ピツトのセットないしブロック
・グループ・アドレスが、母#i!27上でタグ・アレ
イ22およびデータ・アレイ26に送られる。pこれら
のビットは、14ビツトの当該タグ・ワードにアドレス
して、それをセクター比較回路に読み出させる。また、
母線28aを介して回路28には、有効アドレスからの
14セクター識別ビツトが現われる。2つの14ビツト
・ワードが等しいと、常駐するブロック・グループが有
効アドレスによってアドレス中のセクターからのもので
るることを示す、セクター・ヒツト・ラッチ29が使用
可能となる。等しくないと、セクター・ミスが定義され
る。この比較出力は、ヒツトまたはミスを検出するため
のゲ、−) 50の1人力としても働く。
イ22およびデータ・アレイを含めて、第6図のアドレ
スfiJ線15a:ヒに+a−A・れた各アドレーによ
ってアクセスされる。有効アドレスは、tellえは5
2ビツトヲ・含み、そのうち上位14ビツトは、セクタ
ー・アドレス識別(コード)、′lOビットは、セット
ないしブロック・グループ識別(コード)、2ピツトは
、データ・ブロック識別(ニア−)’)、3ビツトはブ
ロック内のワード識別(コード)であり、5ピントはワ
ード内のビット識別(コード)を形成する。アドレスが
現わオLγことき、10ピツトのセットないしブロック
・グループ・アドレスが、母#i!27上でタグ・アレ
イ22およびデータ・アレイ26に送られる。pこれら
のビットは、14ビツトの当該タグ・ワードにアドレス
して、それをセクター比較回路に読み出させる。また、
母線28aを介して回路28には、有効アドレスからの
14セクター識別ビツトが現われる。2つの14ビツト
・ワードが等しいと、常駐するブロック・グループが有
効アドレスによってアドレス中のセクターからのもので
るることを示す、セクター・ヒツト・ラッチ29が使用
可能となる。等しくないと、セクター・ミスが定義され
る。この比較出力は、ヒツトまたはミスを検出するため
のゲ、−) 50の1人力としても働く。
タグ・アlレイ22からのセクターまたはタグ・リード
の取り出しと同時にjグ・ワードの1部である4個の妥
当性ビット、v i〜v4も、妥当性選択回路31およ
び妥当性レジスター32に取り出される。妥当性選択回
路31への第2の入力は、アドレスからのブロック識別
ピットで′ろる。この2ビツトは、4つのデータ・ブロ
ックのうち1つか定義するので、所期のデータ・ブロッ
クに対応する妥当性ビットv1〜■4のうちの1つを選
択する。この例では、タグ・アレイ中の妥当性ビットは
、全てのブロック・グループに関して無効化されており
、°2進0がゲニ・)30の第2人力に送られる。ゲー
ト30の出力は低レベルのままで、変換器30aを通じ
てミスを示す。即ち、データ26中に存在するデータ・
ブロックは無効でろる。
の取り出しと同時にjグ・ワードの1部である4個の妥
当性ビット、v i〜v4も、妥当性選択回路31およ
び妥当性レジスター32に取り出される。妥当性選択回
路31への第2の入力は、アドレスからのブロック識別
ピットで′ろる。この2ビツトは、4つのデータ・ブロ
ックのうち1つか定義するので、所期のデータ・ブロッ
クに対応する妥当性ビットv1〜■4のうちの1つを選
択する。この例では、タグ・アレイ中の妥当性ビットは
、全てのブロック・グループに関して無効化されており
、°2進0がゲニ・)30の第2人力に送られる。ゲー
ト30の出力は低レベルのままで、変換器30aを通じ
てミスを示す。即ち、データ26中に存在するデータ・
ブロックは無効でろる。
ゲート30からの低出力が、そうでない場合は要求され
たブロック情報をデータ母線14aに16ぐ、ゲート3
4を抑制する。
たブロック情報をデータ母線14aに16ぐ、ゲート3
4を抑制する。
有効アドレスを受は取ったとき、10ビツトのセットな
いしブロック・グループ八8〜A17・もデータ・アレ
イ26に送られγこことを思い出して戴きたい。このt
#報に、データ・アレイ中の’II定 。
いしブロック・グループ八8〜A17・もデータ・アレ
イ26に送られγこことを思い出して戴きたい。このt
#報に、データ・アレイ中の’II定 。
ブロック・グループに対するアドレスとして働き、2ピ
ントのブロック情報A6〜へ7がそれと一緒になって、
グループ内の特定データ・ブロックの識別(コード)と
して働く。その結果、特定のデータ・ブロックが、ワー
ド選択マルチプレフカ゛65な送られる。そこで5つの
ワード・ビットA3〜A5に応じて、1つのワードが選
越されて、3ビツトのバイト識別(コード)AO〜A2
による将来の解読のために、バイト選択マルチプレクサ
35aに送られる。即ちめろデータ・ブロックからの特
定バイトがゲート′54に存在するが、ゲート30から
のミス信号によってさらに伝送される□ ことを閉止さ
れている。
ントのブロック情報A6〜へ7がそれと一緒になって、
グループ内の特定データ・ブロックの識別(コード)と
して働く。その結果、特定のデータ・ブロックが、ワー
ド選択マルチプレフカ゛65な送られる。そこで5つの
ワード・ビットA3〜A5に応じて、1つのワードが選
越されて、3ビツトのバイト識別(コード)AO〜A2
による将来の解読のために、バイト選択マルチプレクサ
35aに送られる。即ちめろデータ・ブロックからの特
定バイトがゲート′54に存在するが、ゲート30から
のミス信号によってさらに伝送される□ ことを閉止さ
れている。
り・ブロックは、無効でろるかまたにキャッシュに不在
でめ威。セクター比較回路28から等化信号が生じるが
、第5図の妥当性選択回路31からは出力がない場合、
そのブロックは無効でめる。
でめ威。セクター比較回路28から等化信号が生じるが
、第5図の妥当性選択回路31からは出力がない場合、
そのブロックは無効でめる。
1これに、セクター・ヒツトを示し、またキャッジ−中
に既に門しいデータ′・7゛ロツクを受は取るke’イ
l#機しているスロットがろること、を示す。新しいブ
ロックは、予約されたスロット中にロードしなければな
らず、その妥当性ピッドは、1にセットしなければなら
ない。タグ・ワード中の他の5つの妥当性ビットは、変
化゛しないま捷でなけれはならず、それに第4図に示す
妥当性ビット改訂回路によって実施される。
に既に門しいデータ′・7゛ロツクを受は取るke’イ
l#機しているスロットがろること、を示す。新しいブ
ロックは、予約されたスロット中にロードしなければな
らず、その妥当性ピッドは、1にセットしなければなら
ない。タグ・ワード中の他の5つの妥当性ビットは、変
化゛しないま捷でなけれはならず、それに第4図に示す
妥当性ビット改訂回路によって実施される。
′第4図において、そのブロックを識別する不動アドレ
スの2ビツトが現在ロード中の特定データ・ブロック締
定義するkめ、回路24で解読8オ(る。1に等しい出
力が、解読器24からの回線1不だけに現われ、ゲート
25 a−25dのうち当該のものに印JJ口される。
スの2ビツトが現在ロード中の特定データ・ブロック締
定義するkめ、回路24で解読8オ(る。1に等しい出
力が、解読器24からの回線1不だけに現われ、ゲート
25 a−25dのうち当該のものに印JJ口される。
このゲートは、ila>’l 1を生成し、従って今や
新データ・ブロックに対すイ)妥当性ビットは、タグ・
アレイ中で1に変わることかで゛きる。残りの5つの妥
当性ビットは、第6図の妥当性レジスタ62から第4図
の一致ゲート36 a −56dに信号が印加されても
変化しな(^ま捷でめった。これらのゲートは、セクタ
ー・ミスまたはORゲート57および変換器371L
+’こまって決定される初期設定妥当性条体がろる場合
以外id、 イツモ妥当性レジスタの状態をゲート25
a−25dにパスする。従って、これらの条件(りどち
らも存在しないのでゲート5+5a−36dは、この例
では、解読器24か′らの選択ブロックの1こめにルベ
ルをもたらす1つのゲート以外は′ゼロ・レベルの尚該
OR回路25a−25dに送信する。再び第3図を参照
すると1、新データ・ブロックがデータ母線14aから
データ・アレイ26中にロードされ、新しい妥当性ビッ
ト改訂回路からタグ・アレイ22中にロードされる。タ
イミングは゛、第1図の主記憶装置およびキャッシュ制
御論理17によって、尚該時間に書込みパルスを用いて
制御される。書込みパルスは、第3図のORゲート68
がゲート33から受は取、!l)、38aで変換されて
、タグ・アレイおよびデータ・アレイで曹込み可能にす
る。・ キャッシュのアクセス中にラッチ29がセクター・ミス
を′記録する場合には、別の型式のロード操°作が起こ
る。この瞬間、砺°換操作が要求される即ち新セクター
からのブロック・グループがキャッシュに指定されて、
そこに常駐していた他のブロック・グループを置換する
ことになる。新しいブロック・グループから1つのブロ
ックだけが、このときロードされイノこと′f:tM摘
しておく。これは、妥当+J1ビットが論J+1!1に
ならなければならない、ロードされる1つのデータ・ブ
ロック以外の全ての妥当性ビットが0にならなければな
らないことを要求する。これもま1こ第4図の妥当性ビ
ット改訂回路によって実施される。所期のブロックを論
理1にセットするための論理径路は上記の場合と同じで
、解読器回路24瀘当該線を活動化する。しかし、残り
の妥当性ピントは、O1(ケート57および変換器37
aにセクター・ミス信−υが存在することによって0に
セントさ第1、従ってゲー′F、 36 a〜36dは
条件付けられない。即ち、ゲート25a−25dからの
改訂ビット線の1つは、論理1を出力とし、残りの線は
、論理0である。有効アドレスからの新しいセクター・
ビットは、同時に新しい妥当性構成をもつタグ・アレイ
22中に口rドされ、−力士記憶装置から取り出された
データ・ブロックに、やはりゲート55からゲート38
への曹込みパルスの制御下で、データ・アレイ26中に
ロードされる。
新データ・ブロックに対すイ)妥当性ビットは、タグ・
アレイ中で1に変わることかで゛きる。残りの5つの妥
当性ビットは、第6図の妥当性レジスタ62から第4図
の一致ゲート36 a −56dに信号が印加されても
変化しな(^ま捷でめった。これらのゲートは、セクタ
ー・ミスまたはORゲート57および変換器371L
+’こまって決定される初期設定妥当性条体がろる場合
以外id、 イツモ妥当性レジスタの状態をゲート25
a−25dにパスする。従って、これらの条件(りどち
らも存在しないのでゲート5+5a−36dは、この例
では、解読器24か′らの選択ブロックの1こめにルベ
ルをもたらす1つのゲート以外は′ゼロ・レベルの尚該
OR回路25a−25dに送信する。再び第3図を参照
すると1、新データ・ブロックがデータ母線14aから
データ・アレイ26中にロードされ、新しい妥当性ビッ
ト改訂回路からタグ・アレイ22中にロードされる。タ
イミングは゛、第1図の主記憶装置およびキャッシュ制
御論理17によって、尚該時間に書込みパルスを用いて
制御される。書込みパルスは、第3図のORゲート68
がゲート33から受は取、!l)、38aで変換されて
、タグ・アレイおよびデータ・アレイで曹込み可能にす
る。・ キャッシュのアクセス中にラッチ29がセクター・ミス
を′記録する場合には、別の型式のロード操°作が起こ
る。この瞬間、砺°換操作が要求される即ち新セクター
からのブロック・グループがキャッシュに指定されて、
そこに常駐していた他のブロック・グループを置換する
ことになる。新しいブロック・グループから1つのブロ
ックだけが、このときロードされイノこと′f:tM摘
しておく。これは、妥当+J1ビットが論J+1!1に
ならなければならない、ロードされる1つのデータ・ブ
ロック以外の全ての妥当性ビットが0にならなければな
らないことを要求する。これもま1こ第4図の妥当性ビ
ット改訂回路によって実施される。所期のブロックを論
理1にセットするための論理径路は上記の場合と同じで
、解読器回路24瀘当該線を活動化する。しかし、残り
の妥当性ピントは、O1(ケート57および変換器37
aにセクター・ミス信−υが存在することによって0に
セントさ第1、従ってゲー′F、 36 a〜36dは
条件付けられない。即ち、ゲート25a−25dからの
改訂ビット線の1つは、論理1を出力とし、残りの線は
、論理0である。有効アドレスからの新しいセクター・
ビットは、同時に新しい妥当性構成をもつタグ・アレイ
22中に口rドされ、−力士記憶装置から取り出された
データ・ブロックに、やはりゲート55からゲート38
への曹込みパルスの制御下で、データ・アレイ26中に
ロードされる。
以上のキャッシュをロードする1こめの操作の55d明
から、所期のセクターがタグ・アレイ中16す、所期の
データ・7゛ロツクに対する妥当性ビット中に論理1が
ある場合、回路28でセクターが比較され、回路31で
妥当性がチェックされろと、ゲート30に等化出力が生
じ、ヒツト信号を生成することがわかる。10ピントの
セットないしプロ゛ツク・グループおよびブロック識別
ビット対は、現在データ・アレイをアドレス中なので、
るるデータ・ブロックがワード選択マルチプレクサ35
およびバイト選択マルチプレクサに送られている。
から、所期のセクターがタグ・アレイ中16す、所期の
データ・7゛ロツクに対する妥当性ビット中に論理1が
ある場合、回路28でセクターが比較され、回路31で
妥当性がチェックされろと、ゲート30に等化出力が生
じ、ヒツト信号を生成することがわかる。10ピントの
セットないしプロ゛ツク・グループおよびブロック識別
ビット対は、現在データ・アレイをアドレス中なので、
るるデータ・ブロックがワード選択マルチプレクサ35
およびバイト選択マルチプレクサに送られている。
即ち、一致ゲート50からの信号がゲート34を活動化
させ、選択1れにバイトをデータ母線14aおよび処理
装置に送ることが可能になる。 、。
させ、選択1れにバイトをデータ母線14aおよび処理
装置に送ることが可能になる。 、。
第1′図の中央処理装置11がデータを記憶するたため
メモリー・システムに送φとき、データおよびそのアド
レスが同時に主記憶装置4およびキャッシュに送られて
、両方の場所に記憶されろ。主記憶装置Rは、全てのデ
ータを記憶する。しかし、セット連想セクター・キャッ
シュは、セクター・ヒツトが検出きれるデータのみを記
憶する。操作に、」二記でセクター・ヒツトが起こる場
合について説明したように、新データ・ブロックをキャ
ッシュに加えることと同じである。
メモリー・システムに送φとき、データおよびそのアド
レスが同時に主記憶装置4およびキャッシュに送られて
、両方の場所に記憶されろ。主記憶装置Rは、全てのデ
ータを記憶する。しかし、セット連想セクター・キャッ
シュは、セクター・ヒツトが検出きれるデータのみを記
憶する。操作に、」二記でセクター・ヒツトが起こる場
合について説明したように、新データ・ブロックをキャ
ッシュに加えることと同じである。
本発明のセット連想セクター・キャッシュは、一定のデ
ータ容量をもつものとして説明してきたが、異なるニー
ズに順応するように変えることができる。その中には、
イブ数を変更すること、各タグと関連するデータ・ブロ
ックめ数を変更すイ)こと、るるいは全キャッシュを複
製して多方向キャッシュを作ることといった別法かろる
。上記の説明では、本例のタグ・アレイは1024ワー
ドでめった。1タグ・ワード当シのデータ・ブロック数
は同じままでタグ数を倍にすると、データ・アレイも倍
になるはずでめる。もう一つの別法として、1タグ・ワ
ード当りのデータ・ブロック数を増減することができる
。1タグ・ワード当りのデータ・ブロック数を8に変え
ると、データ・−ノルレイのサイ・ズが倍になる。もち
ろん、タグ・ワード中のピット数も、1タグ・ワード当
り4だけ増えることVCなる。この1タグ当りのデータ
・ブロック数を増加するのは、タグ・ワード数を増加す
るよりも、少しのハードウェアでよい。
ータ容量をもつものとして説明してきたが、異なるニー
ズに順応するように変えることができる。その中には、
イブ数を変更すること、各タグと関連するデータ・ブロ
ックめ数を変更すイ)こと、るるいは全キャッシュを複
製して多方向キャッシュを作ることといった別法かろる
。上記の説明では、本例のタグ・アレイは1024ワー
ドでめった。1タグ・ワード当シのデータ・ブロック数
は同じままでタグ数を倍にすると、データ・アレイも倍
になるはずでめる。もう一つの別法として、1タグ・ワ
ード当りのデータ・ブロック数を増減することができる
。1タグ・ワード当りのデータ・ブロック数を8に変え
ると、データ・−ノルレイのサイ・ズが倍になる。もち
ろん、タグ・ワード中のピット数も、1タグ・ワード当
り4だけ増えることVCなる。この1タグ当りのデータ
・ブロック数を増加するのは、タグ・ワード数を増加す
るよりも、少しのハードウェアでよい。
コンテイーによって体系4として提示された、キャッシ
ュのサイズを増加するための一般的技術は、全キャッシ
ュをセット連想的やシ方で倍化することでるる。その結
果得られるキャッシュは2方向セツト連想キヤツシユと
゛呼ばれる。もちろん、拡張を続けて、4方向および8
方向キヤツシユにすることができる。不発明のセット連
想セクター・キャッシュはかかる拡張に容易に適合でき
るもので、2方向キヤツシユの例を第5図に示す。この
方法では、8新しい技術に出会う、「ヒツト」技術でろ
る。セットは、異なるキャッシュ中に常駐する、対応す
るキャッシュの基不単位(タグ・ワードおよびそのプロ
ン(・グループ)でるる。例えばセクター〇からブロッ
ク・グループ0を、今やキャッシュ中の1セツトの位置
の倒れ、かに、1つをキャッシュ1に、1つをキャッシ
ュ2に記憶することができる。ブロック・グループ0を
受は取ることのできる多重f1’t’、 Iりはセット
0と叶はれる。
ュのサイズを増加するための一般的技術は、全キャッシ
ュをセット連想的やシ方で倍化することでるる。その結
果得られるキャッシュは2方向セツト連想キヤツシユと
゛呼ばれる。もちろん、拡張を続けて、4方向および8
方向キヤツシユにすることができる。不発明のセット連
想セクター・キャッシュはかかる拡張に容易に適合でき
るもので、2方向キヤツシユの例を第5図に示す。この
方法では、8新しい技術に出会う、「ヒツト」技術でろ
る。セットは、異なるキャッシュ中に常駐する、対応す
るキャッシュの基不単位(タグ・ワードおよびそのプロ
ン(・グループ)でるる。例えばセクター〇からブロッ
ク・グループ0を、今やキャッシュ中の1セツトの位置
の倒れ、かに、1つをキャッシュ1に、1つをキャッシ
ュ2に記憶することができる。ブロック・グループ0を
受は取ることのできる多重f1’t’、 Iりはセット
0と叶はれる。
第5図を参照すると、第1のキャッシュは、タグ・アレ
イ50およびそのデータ・アレイ51で衣わされ、8R
2のキャッシュは、タグ・アレイ60およびその対応す
るデータ・アレイ61で表わされる。各キャッシュのタ
グおよびデータ・アレイは、処理装置によって出される
アドレスを同時に受は取るように、適当にアドレス母線
13aに接続される。各タグ・アレイは、上記で第6図
に関して説明したように、それぞれヒツト/ミス−□理
回&!652.62および委尚Yト制御論11!回路5
3.63をもっている。各回路52または62は、第3
図の妥当+′1選択回路31、妥当性レジスタ52、お
よび第4図の妥当性改訂回路の1ブロック人現ツシュ1
セクターまたは+キャッシュ2セクター・ヒツト(信号
)を出すとき、タグ・アレイ中のラッチ29でセクター
・ヒツトの表示をもたらす。
イ50およびそのデータ・アレイ51で衣わされ、8R
2のキャッシュは、タグ・アレイ60およびその対応す
るデータ・アレイ61で表わされる。各キャッシュのタ
グおよびデータ・アレイは、処理装置によって出される
アドレスを同時に受は取るように、適当にアドレス母線
13aに接続される。各タグ・アレイは、上記で第6図
に関して説明したように、それぞれヒツト/ミス−□理
回&!652.62および委尚Yト制御論11!回路5
3.63をもっている。各回路52または62は、第3
図の妥当+′1選択回路31、妥当性レジスタ52、お
よび第4図の妥当性改訂回路の1ブロック人現ツシュ1
セクターまたは+キャッシュ2セクター・ヒツト(信号
)を出すとき、タグ・アレイ中のラッチ29でセクター
・ヒツトの表示をもたらす。
検索されたデータ・ブロックが回路531には66によ
って有効と決定され、第5図の各キャッシュに対してセ
クター・ヒツトがろる場合、ゲート30の出力信号十キ
ャッシュ1ヒツトまたは+キャッシュ2ヒツトがゲート
信号として働き、各データ・アレイに対するゲート54
または64か生成されろ。
って有効と決定され、第5図の各キャッシュに対してセ
クター・ヒツトがろる場合、ゲート30の出力信号十キ
ャッシュ1ヒツトまたは+キャッシュ2ヒツトがゲート
信号として働き、各データ・アレイに対するゲート54
または64か生成されろ。
処理装置が読み取り操作を実施するとき、両方のキャッ
シュは同じ有効アドレスを受は取り、ヒツト/ミス検査
を実施する。例えば処理装置がセット0をアドレス中の
場合、所期のセクターおよびブロック・グループは、ど
ちらかのキャッシュに含まれていることも、どちらにも
含まれていないこともめり得るが、両方に含まれること
はない。
シュは同じ有効アドレスを受は取り、ヒツト/ミス検査
を実施する。例えば処理装置がセット0をアドレス中の
場合、所期のセクターおよびブロック・グループは、ど
ちらかのキャッシュに含まれていることも、どちらにも
含まれていないこともめり得るが、両方に含まれること
はない。
個別ヒツト/ミス検査の結果が、ORゲート70お゛よ
び変換器70aで分析され、合成ヒツト/ミス信号をも
たらす。処理装置に戻る伝送用に有効なデータ・ブロッ
クがみつかった場合には、ヒラ)(Iii号)をもつキ
ャッシュだけが、その当該ゲート回路54またに64を
介して、デニタ母線り4a土にデータをゲートする。ど
ちらのキャッシュも、その当該回路52または62から
ORゲードア0に論理1出力を送らない場合に、ミス信
Yすが出され、データを主記憶装置から運ばねばならな
いO ミス信号か出るとはいえ、一方のキャッシュがセクター
・ヒツト(信号)をもち、両方がセクター・ミスを経験
した尤とはめり得る。1つのキャッシュがセクター・ヒ
ントを示す場合、そのキヤ7シュハ、新しいデータ・ブ
ロックのために予約されたスロットをもっており、その
データ・ブロックのロードを受諾する。この条件が表示
され、電う上方のキャッシュにロードするのをl511
止するkめの禁止信号が生成される。例えばキャンシュ
1のfijl路52からの+士ヤツシュ1セクター・ヒ
ツト信号は、キャッシュ2をロードすることにえすする
禁止信号でろる出力を、0R72で生成する。
び変換器70aで分析され、合成ヒツト/ミス信号をも
たらす。処理装置に戻る伝送用に有効なデータ・ブロッ
クがみつかった場合には、ヒラ)(Iii号)をもつキ
ャッシュだけが、その当該ゲート回路54またに64を
介して、デニタ母線り4a土にデータをゲートする。ど
ちらのキャッシュも、その当該回路52または62から
ORゲードア0に論理1出力を送らない場合に、ミス信
Yすが出され、データを主記憶装置から運ばねばならな
いO ミス信号か出るとはいえ、一方のキャッシュがセクター
・ヒツト(信号)をもち、両方がセクター・ミスを経験
した尤とはめり得る。1つのキャッシュがセクター・ヒ
ントを示す場合、そのキヤ7シュハ、新しいデータ・ブ
ロックのために予約されたスロットをもっており、その
データ・ブロックのロードを受諾する。この条件が表示
され、電う上方のキャッシュにロードするのをl511
止するkめの禁止信号が生成される。例えばキャンシュ
1のfijl路52からの+士ヤツシュ1セクター・ヒ
ツト信号は、キャッシュ2をロードすることにえすする
禁止信号でろる出力を、0R72で生成する。
同Qに、I!l!回路62からのキャッシュ2セクター
・ヒツト信号は、011ゲート76に入力を与え、敵者
がキャッシュ1に対する禁止信号を出力として生成する
。キャッシュをロードすることを禁止する信号は、第3
図の変換器33a丸・よびA N i>ゲート33に送
られ、曹込みパルスが県、止されたキャッシュに書込み
可能信号を発生させるのを使用禁止する。
・ヒツト信号は、011ゲート76に入力を与え、敵者
がキャッシュ1に対する禁止信号を出力として生成する
。キャッシュをロードすることを禁止する信号は、第3
図の変換器33a丸・よびA N i>ゲート33に送
られ、曹込みパルスが県、止されたキャッシュに書込み
可能信号を発生させるのを使用禁止する。
q −? 7 シュ1 トキャッシュ2のどちらもセク
ター・ヒツトを経験しない場合、2つの可能なブロック
・グループ(各キャッシュ中に1個)の一方を置換して
、新しいデータ・°ブロックのための余地をろけなくて
はならない。この決定は、交換アレイ77と名付けたラ
ンダム・アクセス・メモリから行われる。交換アレイは
、2方向キヤツシユ内の各セットに対して1個の2進ピ
ント位置を含ミ、同シビッ、トがキャッシュ1とキャッ
シュ20両方に適用される。そのピントは各セットにつ
いて、最も最近にそのセントから読み取られたデータ″
ブロックを含んでいたキャッシュを示す。一方のキャッ
シュにダ・Jするピット・し・ベルを任意に指定するこ
とができる。例えば論理0はキャッシュ1が最も最近に
使用されたことを示L、論理81はキャッシュ2につい
て同にことを表すことができる。
ター・ヒツトを経験しない場合、2つの可能なブロック
・グループ(各キャッシュ中に1個)の一方を置換して
、新しいデータ・°ブロックのための余地をろけなくて
はならない。この決定は、交換アレイ77と名付けたラ
ンダム・アクセス・メモリから行われる。交換アレイは
、2方向キヤツシユ内の各セットに対して1個の2進ピ
ント位置を含ミ、同シビッ、トがキャッシュ1とキャッ
シュ20両方に適用される。そのピントは各セットにつ
いて、最も最近にそのセントから読み取られたデータ″
ブロックを含んでいたキャッシュを示す。一方のキャッ
シュにダ・Jするピット・し・ベルを任意に指定するこ
とができる。例えば論理0はキャッシュ1が最も最近に
使用されたことを示L、論理81はキャッシュ2につい
て同にことを表すことができる。
交換アレイ77は、どちらかのタグ・プレイと同様に、
母線13a上の有効アドレスから、10個のセットない
しブロック・グループ・ピッ)A8〜A17によって同
時にアドレスてれる。次に交換アレイをアドレスすると
、選択されLピットおよび80に印IJ11される。ラ
ッチ゛がオンでめり両方のタグ・アレイがセクター・ミ
スを示す場合には、一致ゲート79が出力として交換ゲ
ート信号を出し、ランチ78がオフのままであり、両方
のタグ・プレイがセクター・ミスを示す場合には、ゲー
ト80が出力ゲート信号を出すぎ 例えは、交換アレイからアドレスされたセント内で、キ
ャッシュ2が最も最近に使用’gオty、−ことを示す
論理1が出た場合、ラッチ78がセットキれて、ゲート
79がキャッシュ1中のブロック・グループの交換を示
すその出力信号を出す。交換アルゴリズムは、最も最近
に使用されたデータが最も再使用されやすいという原F
1−を使っている。
母線13a上の有効アドレスから、10個のセットない
しブロック・グループ・ピッ)A8〜A17によって同
時にアドレスてれる。次に交換アレイをアドレスすると
、選択されLピットおよび80に印IJ11される。ラ
ッチ゛がオンでめり両方のタグ・アレイがセクター・ミ
スを示す場合には、一致ゲート79が出力として交換ゲ
ート信号を出し、ランチ78がオフのままであり、両方
のタグ・プレイがセクター・ミスを示す場合には、ゲー
ト80が出力ゲート信号を出すぎ 例えは、交換アレイからアドレスされたセント内で、キ
ャッシュ2が最も最近に使用’gオty、−ことを示す
論理1が出た場合、ラッチ78がセットキれて、ゲート
79がキャッシュ1中のブロック・グループの交換を示
すその出力信号を出す。交換アルゴリズムは、最も最近
に使用されたデータが最も再使用されやすいという原F
1−を使っている。
従って、最も以前に使用されたデー1.夕が交換される
。ゲート79またに80のどちらかからの交換信号が入
力として当該のORゲート72および76に送られ、各
キャッシュにロードすることを禁止する信号を生成する
。
。ゲート79またに80のどちらかからの交換信号が入
力として当該のORゲート72および76に送られ、各
キャッシュにロードすることを禁止する信号を生成する
。
アドレスされているセットと関連された交換アレイ77
の内容が、各読み取り操作の後にロードされ、従って常
に最も最近に読み取られたデータを反映するようになっ
ている各読み取り操作の終りに、主記憶装置およびキャ
ッシュ制御論理17(第1図)から、ロード交換アレイ
・パルスが出され、OR,+31をゲート通過してゲー
ト79aで逆転され、最も最近のデータを交換アレイ中
に書゛き込1せる。交換アレイへの適当な六方選択は、
マルチプレクサ73による。、このマルチプレクサは、
交換アレイ中にロードされるべき4つの値(IO〜1′
5)のうち何れかを選択することができる。その選択は
、01tゲート71お゛よび75がらくる制御人力Aお
よび1(にもとづく。初期設定の間、ゲート71および
75は、強制的に論理1になり、論理0を含む入力■3
を選択させる。即ち、キャッシュの初期設定中単に人工
的出発的をもたらすために、論理0が各交換アレイ位置
にロードされる。
の内容が、各読み取り操作の後にロードされ、従って常
に最も最近に読み取られたデータを反映するようになっ
ている各読み取り操作の終りに、主記憶装置およびキャ
ッシュ制御論理17(第1図)から、ロード交換アレイ
・パルスが出され、OR,+31をゲート通過してゲー
ト79aで逆転され、最も最近のデータを交換アレイ中
に書゛き込1せる。交換アレイへの適当な六方選択は、
マルチプレクサ73による。、このマルチプレクサは、
交換アレイ中にロードされるべき4つの値(IO〜1′
5)のうち何れかを選択することができる。その選択は
、01tゲート71お゛よび75がらくる制御人力Aお
よび1(にもとづく。初期設定の間、ゲート71および
75は、強制的に論理1になり、論理0を含む入力■3
を選択させる。即ち、キャッシュの初期設定中単に人工
的出発的をもたらすために、論理0が各交換アレイ位置
にロードされる。
正常なキャッシュ操作中に、キャン’/−”−1カmt
み取り操1作中のセクター・ヒツトを経験し1こ場合、
ゲート7は論:plj 1にセットされ、ゲート75に
論理0にセットされて、論理0でめ6人力■1f:交換
アレイにロードさせる。キャッシュ1中のセクター・ヒ
ントが、交換−アレイ中にキャッシュが最゛、近に使用
jされたことを示す、論理0をロードさせることを指摘
しておく。同様にキ゛ヤノシュ2がセクター・ヒツトを
経験した場合は、入力I2が選択され、論理が交換アレ
イ中にロードさJtろ。
み取り操1作中のセクター・ヒツトを経験し1こ場合、
ゲート7は論:plj 1にセットされ、ゲート75に
論理0にセットされて、論理0でめ6人力■1f:交換
アレイにロードさせる。キャッシュ1中のセクター・ヒ
ントが、交換−アレイ中にキャッシュが最゛、近に使用
jされたことを示す、論理0をロードさせることを指摘
しておく。同様にキ゛ヤノシュ2がセクター・ヒツトを
経験した場合は、入力I2が選択され、論理が交換アレ
イ中にロードさJtろ。
どちらのキャンシュもセクター・ヒツトを経験しない場
合は、現在交換アレイ中に記憶さ第1ていイ。
合は、現在交換アレイ中に記憶さ第1ていイ。
ビットの逆転が、入力IOk介して選択さオ【る。
例えば、′どちらのキャッシュもセクター・ヒントを経
験仕ず、交換アレイからラッチ78中pc iが読み取
られると仮定する。これにより、ゲート79が活動状態
になり、キャッシュ1虫のブロック・グループを交換し
、こうしてキャッシュ1f:最近使用されたものにする
。従ってランチ78の逆転部、TIl!0が交換アレイ
中にロードされ、キャッシュ1を最近に使用されたもの
として定義する。
験仕ず、交換アレイからラッチ78中pc iが読み取
られると仮定する。これにより、ゲート79が活動状態
になり、キャッシュ1虫のブロック・グループを交換し
、こうしてキャッシュ1f:最近使用されたものにする
。従ってランチ78の逆転部、TIl!0が交換アレイ
中にロードされ、キャッシュ1を最近に使用されたもの
として定義する。
以上の説明から、より効率的なキャッシュ記憶装置が発
表されたことがわかる。1タグ当りのデータ・ブロック
数が増加すると、検索時間の損失&t、にキャッシュ・
メモリの1ブロツク尚すの回路コストを減らすことが可
能になる。不発明は、複雑な制御回路を加えることなく
、容易にキャッシュ設計に適合させ、サイズを変えるこ
とができる。
表されたことがわかる。1タグ当りのデータ・ブロック
数が増加すると、検索時間の損失&t、にキャッシュ・
メモリの1ブロツク尚すの回路コストを減らすことが可
能になる。不発明は、複雑な制御回路を加えることなく
、容易にキャッシュ設計に適合させ、サイズを変えるこ
とができる。
第1図は、キャIシ予・メモリを含む通常のデータ処理
システムの、単純化したブロック・ダイヤグラム、
11 第2図は、本発明に基づいて構成した、主記憶装置およ
びキャンシュ・メモリのデータ・ブロック間の写像関係
を示す図、 第3図は、不発明のキャッシュ・メモリならひにキャッ
シュから読み取りまたはキャッシュに主メモリ母線から
書き込むための回路の概略図、第4図は、第5図に示し
た受出性ビット改訂回路の詳細図、 第5図は、本発明のキャッシュを使用1した多重キャッ
シュ配置の概略図でるる。 10・・・・セット連想セクター・キャッシュ、11・
・・・中央処理装置、12・・・・主記憶装置、15・
・・・メモリ・アドレス・レジスタ、16・・・・メ七
り・・データ・レジスタ、17・・・・主記憶装置及び
キャッシュ制御論理装置。
システムの、単純化したブロック・ダイヤグラム、
11 第2図は、本発明に基づいて構成した、主記憶装置およ
びキャンシュ・メモリのデータ・ブロック間の写像関係
を示す図、 第3図は、不発明のキャッシュ・メモリならひにキャッ
シュから読み取りまたはキャッシュに主メモリ母線から
書き込むための回路の概略図、第4図は、第5図に示し
た受出性ビット改訂回路の詳細図、 第5図は、本発明のキャッシュを使用1した多重キャッ
シュ配置の概略図でるる。 10・・・・セット連想セクター・キャッシュ、11・
・・・中央処理装置、12・・・・主記憶装置、15・
・・・メモリ・アドレス・レジスタ、16・・・・メ七
り・・データ・レジスタ、17・・・・主記憶装置及び
キャッシュ制御論理装置。
Claims (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 true JPS58205975A (ja) | 1983-12-01 |
| JPS624745B2 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 |
| JPS624745B2 (ja) | 1987-01-31 |
| US4493026A (en) | 1985-01-08 |
| DE3382447D1 (de) | 1991-12-12 |
| EP0095033A3 (en) | 1987-04-29 |
| EP0095033B1 (en) | 1991-11-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS58205975A (ja) | 緩衝記憶機構 | |
| KR920005280B1 (ko) | 고속 캐쉬 시스템 | |
| US4322795A (en) | Cache memory utilizing selective clearing and least recently used updating | |
| KR100278328B1 (ko) | 캐시 미스 버퍼 | |
| US5091851A (en) | Fast multiple-word accesses from a multi-way set-associative cache memory | |
| US4831520A (en) | Bus interface circuit for digital data processor | |
| US5371870A (en) | Stream buffer memory having a multiple-entry address history buffer for detecting sequential reads to initiate prefetching | |
| EP0192202B1 (en) | Memory system including simplified high-speed data cache | |
| US5388247A (en) | History buffer control to reduce unnecessary allocations in a memory stream buffer | |
| US5018061A (en) | Microprocessor with on-chip cache memory with lower power consumption | |
| US5461718A (en) | System for sequential read of memory stream buffer detecting page mode cycles availability fetching data into a selected FIFO, and sending data without aceessing memory | |
| JPH0345407B2 (ja) | ||
| JPS629942B2 (ja) | ||
| US4851991A (en) | Central processor unit for digital data processing system including write buffer management mechanism | |
| US4323968A (en) | Multilevel storage system having unitary control of data transfers | |
| US5809562A (en) | Cache array select logic allowing cache array size to differ from physical page size | |
| JPH03142644A (ja) | キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置 | |
| KR930022222A (ko) | 캐시가 일관된 다중 처리기 컴퓨터 시스템에서 다중 미결동작을 제공하기 위한 장치 및 그 방법 | |
| JPS5823375A (ja) | デ−タ−処理システムにおけるキヤツシユの選択的クリア方法および装置 | |
| WO1981001894A1 (en) | Cache memory in which the data block size is variable | |
| JPH0532775B2 (ja) | ||
| US5890221A (en) | 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 | |
| US5854943A (en) | Speed efficient cache output selector circuitry based on tag compare and data organization | |
| US20040153598A1 (en) | Apparatus and method for dual access to a banked and pipelined data cache memory unit | |
| EP0180369B1 (en) | Cache memory addressable by both physical and virtual addresses |