JPH06332801A - 完全統合型キャッシュ・アーキテクチャ - Google Patents
完全統合型キャッシュ・アーキテクチャInfo
- Publication number
- JPH06332801A JPH06332801A JP6065905A JP6590594A JPH06332801A JP H06332801 A JPH06332801 A JP H06332801A JP 6065905 A JP6065905 A JP 6065905A JP 6590594 A JP6590594 A JP 6590594A JP H06332801 A JPH06332801 A JP H06332801A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache
- memory
- word lines
- given
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Static Random-Access Memory (AREA)
Abstract
(57)【要約】
【目的】 電力消費量が少く、ノイズ耐性が高く、統合
妥当性/LRUキャッシュ書込みモードを完全にサポー
トする、統合キャッシュ・アーキテクチャを提供するこ
と。 【構成】 このキャッシュは、タグとインデックスとL
RU情報をマスタ・ワード線に直接記憶し、キャッシュ
行データをローカル・ワード線に記憶する。アクセス情
報がサイクル中の早期に使用可能になり、そのためキャ
ッシュが不要なローカル・ワード線をディスエーブルで
きる。マスタ・ワード線とローカル・ワード線を、記憶
されたデータが上に重なるノイズ源の影響を受け難くな
るようにする金属層中でレイアウトすることにより、記
憶データを乱すことなく、キャッシュの上で高周波相互
接続を行うことができる。このキャッシュは、記憶され
たLRU情報を効率的に更新するための回路を含み、し
たがって、組合せデータ妥当性/完全LRUキャッシュ
更新プロトコルがサポートされる。
妥当性/LRUキャッシュ書込みモードを完全にサポー
トする、統合キャッシュ・アーキテクチャを提供するこ
と。 【構成】 このキャッシュは、タグとインデックスとL
RU情報をマスタ・ワード線に直接記憶し、キャッシュ
行データをローカル・ワード線に記憶する。アクセス情
報がサイクル中の早期に使用可能になり、そのためキャ
ッシュが不要なローカル・ワード線をディスエーブルで
きる。マスタ・ワード線とローカル・ワード線を、記憶
されたデータが上に重なるノイズ源の影響を受け難くな
るようにする金属層中でレイアウトすることにより、記
憶データを乱すことなく、キャッシュの上で高周波相互
接続を行うことができる。このキャッシュは、記憶され
たLRU情報を効率的に更新するための回路を含み、し
たがって、組合せデータ妥当性/完全LRUキャッシュ
更新プロトコルがサポートされる。
Description
【0001】
【産業上の利用分野】本発明は一般にメモリ・アーキテ
クチャの分野に関し、より詳しくは低電力キャッシュ設
計に関する。
クチャの分野に関し、より詳しくは低電力キャッシュ設
計に関する。
【0002】
【従来の技術】マイクロプロセッサ設計では、通常、性
能の向上を妨げる最主要な要素は、主メモリへのデータ
・アクセスのサイクル時間である。最新の動的ランダム
・アクセス・メモリ(DRAM)のアクセス時間は通常
60〜80ナノ秒であり、ページ・モードあるいは他の
パイプライン式アクセス・モードでの動作時のデータ伝
送速度は40ナノ秒程度である。この速度の時でも、デ
ータにアクセスするのに要する時間は、CPUを介して
命令を処理するよりもはるかに長い。
能の向上を妨げる最主要な要素は、主メモリへのデータ
・アクセスのサイクル時間である。最新の動的ランダム
・アクセス・メモリ(DRAM)のアクセス時間は通常
60〜80ナノ秒であり、ページ・モードあるいは他の
パイプライン式アクセス・モードでの動作時のデータ伝
送速度は40ナノ秒程度である。この速度の時でも、デ
ータにアクセスするのに要する時間は、CPUを介して
命令を処理するよりもはるかに長い。
【0003】この問題に対処するため、これまでプロセ
ッサ動作用のデータを記憶するのにキャッシュ・メモリ
を使用していた。通常、DRAM主メモリからキャッシ
ュにデータをダウンロードする。キャッシュは通常、静
的ランダム・アクセス・メモリ(SRAM)セルのアレ
イから構成される。(SRAMにはDRAMよりもずっ
と高速でアクセスすることができる。最新のSRAMは
5ナノ秒程度のデータ伝送速度を生じることができ
る)。最初にキャッシュにどのようにデータをロードす
べきかを決定するための分岐予測アルゴリズムまたは初
期キャッシュ・ロード・アルゴリズムがいくつか知られ
ている。
ッサ動作用のデータを記憶するのにキャッシュ・メモリ
を使用していた。通常、DRAM主メモリからキャッシ
ュにデータをダウンロードする。キャッシュは通常、静
的ランダム・アクセス・メモリ(SRAM)セルのアレ
イから構成される。(SRAMにはDRAMよりもずっ
と高速でアクセスすることができる。最新のSRAMは
5ナノ秒程度のデータ伝送速度を生じることができ
る)。最初にキャッシュにどのようにデータをロードす
べきかを決定するための分岐予測アルゴリズムまたは初
期キャッシュ・ロード・アルゴリズムがいくつか知られ
ている。
【0004】次に、プロセッサが特定の動作のために必
要とするデータがキャッシュに記憶されているかどうか
判定することにより、キャッシュにアクセスする。これ
は、主メモリ内のデータがそこから得られる位置を示す
アドレス・データ(「タグ」と称する)を、キャッシュ
に記憶されているデータに対応するタグと比較すること
によって行う。入りタグがキャッシュ内のデータ用の記
憶されたタグと一致する場合、所望のデータがキャッシ
ュに記憶されていることを示す、キャッシュ「ヒット」
信号が生成される。タグ・プロトコルは、「直接マップ
式」(すなわち各タグがキャッシュに記憶されている1
つのデータ行に対応する)、または「セット連想式」
(すなわち、単一の「インデックス・アドレス」または
単一セットのアドレスが、それぞれ関連するタグを有す
る、キャッシュに記憶された所与の数のデータ行に対応
する)としてセットアップできることに留意されたい。
したがって、たとえば「4重セット連想式」キャッシュ
では、単一のインデックス・アドレスが、それぞれそれ
自体のタグを有する、キャッシュ内の4データ行に対応
する。
要とするデータがキャッシュに記憶されているかどうか
判定することにより、キャッシュにアクセスする。これ
は、主メモリ内のデータがそこから得られる位置を示す
アドレス・データ(「タグ」と称する)を、キャッシュ
に記憶されているデータに対応するタグと比較すること
によって行う。入りタグがキャッシュ内のデータ用の記
憶されたタグと一致する場合、所望のデータがキャッシ
ュに記憶されていることを示す、キャッシュ「ヒット」
信号が生成される。タグ・プロトコルは、「直接マップ
式」(すなわち各タグがキャッシュに記憶されている1
つのデータ行に対応する)、または「セット連想式」
(すなわち、単一の「インデックス・アドレス」または
単一セットのアドレスが、それぞれ関連するタグを有す
る、キャッシュに記憶された所与の数のデータ行に対応
する)としてセットアップできることに留意されたい。
したがって、たとえば「4重セット連想式」キャッシュ
では、単一のインデックス・アドレスが、それぞれそれ
自体のタグを有する、キャッシュ内の4データ行に対応
する。
【0005】通常、キャッシュは、キャッシュに記憶さ
れたデータの有効性を示すデータをも使用する。一般
に、すべてのキャッシュは、キャッシュに記憶されたデ
ータが主メモリに記憶されたデータと同じであることを
保証するために、何らかの種類のキャッシュ・コヒーレ
ンシ・プロトコルに従う。したがって、たとえばキャッ
シュに記憶されたデータが更新された後、それを主メモ
リに書き込まなければならない。「コピー・バック・キ
ャッシュ」コヒーレンシ・プロトコルでは、データがキ
ャッシュに書き込まれるときは、後でバス上に他のトラ
フィックがないときにいくつかの既知のアルゴリズムの
いずれかを使ってそのデータがキャッシュから主メモリ
に書き込まれる。「ライト・スルー」キャッシュ・コヒ
ーレンシ・プロトコルでは、新しいデータがキャッシュ
に書き込まれるとき、次のサイクルに他の競合バス動作
を中断してそのデータが主メモリに書き込まれる。この
優先書戻し動作により、所与の共通アドレスに関して、
主メモリとキャッシュが同じデータを記憶することが保
証される。「コピー・バック」モードでは、あるキャッ
シュ項目が、アクセスされるアドレスにそのアドレスに
対する主メモリ内のデータと同じでないデータを含む場
合、キャッシュと主メモリのどちらに有効なデータが記
憶されているかに応じて、そのどちらか一方が更新され
なければならない。実際には、「バス・スヌーピング」
及び他の技術を使用して、主メモリ内のデータのソース
を決定することができる。データが外部ソースから主メ
モリに書き込まれた場合、キャッシュ内のデータが無効
である可能性がある。キャッシュ項目を主メモリからの
正しいデータで更新する代りに、データ・ビット(一般
に「データ有効」ビットまたは「有効性ビット」と呼ば
れる)が(たとえば1状態から0状態に)切り換えられ
て、キャッシュがそのアドレスに有効データを記憶して
いないことを示し、いつか好都合なときに有効データが
主メモリからキャッシュに書き込まれる。
れたデータの有効性を示すデータをも使用する。一般
に、すべてのキャッシュは、キャッシュに記憶されたデ
ータが主メモリに記憶されたデータと同じであることを
保証するために、何らかの種類のキャッシュ・コヒーレ
ンシ・プロトコルに従う。したがって、たとえばキャッ
シュに記憶されたデータが更新された後、それを主メモ
リに書き込まなければならない。「コピー・バック・キ
ャッシュ」コヒーレンシ・プロトコルでは、データがキ
ャッシュに書き込まれるときは、後でバス上に他のトラ
フィックがないときにいくつかの既知のアルゴリズムの
いずれかを使ってそのデータがキャッシュから主メモリ
に書き込まれる。「ライト・スルー」キャッシュ・コヒ
ーレンシ・プロトコルでは、新しいデータがキャッシュ
に書き込まれるとき、次のサイクルに他の競合バス動作
を中断してそのデータが主メモリに書き込まれる。この
優先書戻し動作により、所与の共通アドレスに関して、
主メモリとキャッシュが同じデータを記憶することが保
証される。「コピー・バック」モードでは、あるキャッ
シュ項目が、アクセスされるアドレスにそのアドレスに
対する主メモリ内のデータと同じでないデータを含む場
合、キャッシュと主メモリのどちらに有効なデータが記
憶されているかに応じて、そのどちらか一方が更新され
なければならない。実際には、「バス・スヌーピング」
及び他の技術を使用して、主メモリ内のデータのソース
を決定することができる。データが外部ソースから主メ
モリに書き込まれた場合、キャッシュ内のデータが無効
である可能性がある。キャッシュ項目を主メモリからの
正しいデータで更新する代りに、データ・ビット(一般
に「データ有効」ビットまたは「有効性ビット」と呼ば
れる)が(たとえば1状態から0状態に)切り換えられ
て、キャッシュがそのアドレスに有効データを記憶して
いないことを示し、いつか好都合なときに有効データが
主メモリからキャッシュに書き込まれる。
【0006】この有効性ビットの状態は、主メモリから
データを取り出さなければならないかどうかを決定する
ために使用される。すなわち、タグが一致する場合で
も、キャッシュ内のデータが有効でない場合は、それを
主メモリから取り出さなければならない。この有効性ビ
ットの状態は、主メモリからのデータをどこに記憶すべ
きかを決定するためにも使用される。データが主メモリ
からキャッシュに記憶されるとき、アクセスされたセッ
トにある有効性ビットの状況が捜査され、主メモリから
のデータが無効データを記憶しているセットに書き込ま
れる。取り出されたデータをどこに記憶すべきかを決定
するために使用されるもう1つの方法は、いわゆるLR
Uプロトコルであり、キャッシュ内のどのデータが最も
長い時間使用されていないか(したがって将来キャッシ
ュ・アクセスの必要が生じる公算が最も少いか)の何ら
かの決定に基づいて、キャッシュ・データが置換され
る。しかし、米国特許第4811209号で指摘されて
いるように、従来型のLRUアルゴリズムは、ハードウ
ェアで実施するのが難しくなりがちであり、実行サイク
ルが長くなる可能性があるので、所与のセット中のすべ
てのデータ行(または「キャッシュ行」)が有効な場合
に、「第1の」キャッシュ行が常に置換され、それに続
いて第2のキャッシュ行が置換され、以下同様に続く、
優先システムを単にセットアップする方が普通である。
データを取り出さなければならないかどうかを決定する
ために使用される。すなわち、タグが一致する場合で
も、キャッシュ内のデータが有効でない場合は、それを
主メモリから取り出さなければならない。この有効性ビ
ットの状態は、主メモリからのデータをどこに記憶すべ
きかを決定するためにも使用される。データが主メモリ
からキャッシュに記憶されるとき、アクセスされたセッ
トにある有効性ビットの状況が捜査され、主メモリから
のデータが無効データを記憶しているセットに書き込ま
れる。取り出されたデータをどこに記憶すべきかを決定
するために使用されるもう1つの方法は、いわゆるLR
Uプロトコルであり、キャッシュ内のどのデータが最も
長い時間使用されていないか(したがって将来キャッシ
ュ・アクセスの必要が生じる公算が最も少いか)の何ら
かの決定に基づいて、キャッシュ・データが置換され
る。しかし、米国特許第4811209号で指摘されて
いるように、従来型のLRUアルゴリズムは、ハードウ
ェアで実施するのが難しくなりがちであり、実行サイク
ルが長くなる可能性があるので、所与のセット中のすべ
てのデータ行(または「キャッシュ行」)が有効な場合
に、「第1の」キャッシュ行が常に置換され、それに続
いて第2のキャッシュ行が置換され、以下同様に続く、
優先システムを単にセットアップする方が普通である。
【0007】通常、キャッシュはインデックス・データ
を記憶する第1のチップと、対応するタグ・データ、有
効性ビット、LRU情報を記憶する(たとえばメモリ管
理ユニットまたはバス・マスタ上の)別々のレジスタと
によって実施される。すなわち、タグとインデックス・
データは同じアドレスでアクセス可能であるものの、通
常は異なるアレイ内に置かれる。たとえば米国特許第5
014240号、特にその図2ないし4を参照のこと。
しかし、キャッシュとタグと有効性情報がすべて同じ物
理的にアドレス可能な位置に記憶されるキャッシュ設計
が提案されている。このような設計は、キャッシュ記憶
域に宛てられる全シリコン面積が減少し、またアドレス
・バッファ、アドレス・デコーダなど、物理的に異なる
アレイに記憶されているデータをサポートするのに必要
なサポート回路の不必要な複製が減少し、バス・制御機
構やメモリ・マネージャなど他のマイクロプロセッサ構
成要素による設計上のオーバヘッドがなくなるので有利
である。たとえば、上記の米国特許第5014240号
の図1、米国特許第4714990号、米国特許第49
14582号を参照のこと。
を記憶する第1のチップと、対応するタグ・データ、有
効性ビット、LRU情報を記憶する(たとえばメモリ管
理ユニットまたはバス・マスタ上の)別々のレジスタと
によって実施される。すなわち、タグとインデックス・
データは同じアドレスでアクセス可能であるものの、通
常は異なるアレイ内に置かれる。たとえば米国特許第5
014240号、特にその図2ないし4を参照のこと。
しかし、キャッシュとタグと有効性情報がすべて同じ物
理的にアドレス可能な位置に記憶されるキャッシュ設計
が提案されている。このような設計は、キャッシュ記憶
域に宛てられる全シリコン面積が減少し、またアドレス
・バッファ、アドレス・デコーダなど、物理的に異なる
アレイに記憶されているデータをサポートするのに必要
なサポート回路の不必要な複製が減少し、バス・制御機
構やメモリ・マネージャなど他のマイクロプロセッサ構
成要素による設計上のオーバヘッドがなくなるので有利
である。たとえば、上記の米国特許第5014240号
の図1、米国特許第4714990号、米国特許第49
14582号を参照のこと。
【0008】しかし、上記各特許に記載された、データ
と関連「アクセス」情報(すなわち、タグ・アドレス、
有効性データ、LRUデータなど、インデックス・デー
タにアクセスすべきかどうかを決定するために使用され
る情報)が同じ物理的にアクセス可能な位置に記憶され
ているキャッシュを実施するための設計では、高性能用
にキャッシュ・アーキテクチャが最適化されない。通
常、あるキャッシュ行にアクセスすべきことをインデッ
クス・アドレスが示すとき、その行が読み取られる(す
なわち、行ドライバ回路がセルにアクセスできるように
エネーブルされ、センス増幅器がデータを検出するよう
にセットされるなど)。次いで、その所与のサイクル中
にデータにアクセスすべきではないことをアクセス情報
が示す場合は、データ入出力ドライバが抑止される。し
たがって、たとえば入りタグ・アドレスが、アクセスさ
れたキャッシュ・インデックスに関連するタグ・アドレ
スの1つと同じでない場合、キャッシュ「ミス」が生成
され、そのキャッシュ・アクセスは打ち切られる。この
手法に伴う問題は、アクセスすべきデータを準備する際
に余分な電力が消費されることである。ワークステーシ
ョン及び他のハイエンド・コンピュータ・アプリケーシ
ョンでは、この余分な電力オーバヘッドは許容できる。
しかし、低電力のパーソナル・コンピュータ・アプリケ
ーション、ラップ・トップ、パーソナル・ディジタル・
アシスタントなどの低電力アプリケーションでは、この
電力オーバヘッドはとても大きくなる。
と関連「アクセス」情報(すなわち、タグ・アドレス、
有効性データ、LRUデータなど、インデックス・デー
タにアクセスすべきかどうかを決定するために使用され
る情報)が同じ物理的にアクセス可能な位置に記憶され
ているキャッシュを実施するための設計では、高性能用
にキャッシュ・アーキテクチャが最適化されない。通
常、あるキャッシュ行にアクセスすべきことをインデッ
クス・アドレスが示すとき、その行が読み取られる(す
なわち、行ドライバ回路がセルにアクセスできるように
エネーブルされ、センス増幅器がデータを検出するよう
にセットされるなど)。次いで、その所与のサイクル中
にデータにアクセスすべきではないことをアクセス情報
が示す場合は、データ入出力ドライバが抑止される。し
たがって、たとえば入りタグ・アドレスが、アクセスさ
れたキャッシュ・インデックスに関連するタグ・アドレ
スの1つと同じでない場合、キャッシュ「ミス」が生成
され、そのキャッシュ・アクセスは打ち切られる。この
手法に伴う問題は、アクセスすべきデータを準備する際
に余分な電力が消費されることである。ワークステーシ
ョン及び他のハイエンド・コンピュータ・アプリケーシ
ョンでは、この余分な電力オーバヘッドは許容できる。
しかし、低電力のパーソナル・コンピュータ・アプリケ
ーション、ラップ・トップ、パーソナル・ディジタル・
アシスタントなどの低電力アプリケーションでは、この
電力オーバヘッドはとても大きくなる。
【0009】従来の統合型キャッシュ設計のもう1つの
欠点は、キャッシュを主メモリからのデータで更新する
真のLRUモードを提供しないことである。理想的に
は、LRUハードウェア実施態様をキャッシュ設計と統
合して、キャッシュ・ヒット率を最適化すべきである。
欠点は、キャッシュを主メモリからのデータで更新する
真のLRUモードを提供しないことである。理想的に
は、LRUハードウェア実施態様をキャッシュ設計と統
合して、キャッシュ・ヒット率を最適化すべきである。
【0010】通常、統合型キャッシュは、マイクロプロ
セッサ・チップ上に別個の機能ユニット(またはマク
ロ)としてレイアウトされる。CPU及びマイクロプロ
セッサ上の他の機能ブロックは外部信号ソースから信号
を受信するので、チップがパッケージされるときに外部
ピンにボンディングされる相互接続パッドをサポートし
なければならない。キャッシュのサイズが増大するにつ
れて、それがマイクロプロセッサ上で占めるスペースも
増す。したがって、CPUなどから相互接続パッドへの
メタライゼーション・パターンを拘束する傾向がある。
外部信号ソースからCPUなどへ高周波信号を送信す
る、上にあるメタライゼーション・パターンから発生す
るノイズまたは容量性結合によって、キャッシュ・デー
タが妨害される可能性があるからである。
セッサ・チップ上に別個の機能ユニット(またはマク
ロ)としてレイアウトされる。CPU及びマイクロプロ
セッサ上の他の機能ブロックは外部信号ソースから信号
を受信するので、チップがパッケージされるときに外部
ピンにボンディングされる相互接続パッドをサポートし
なければならない。キャッシュのサイズが増大するにつ
れて、それがマイクロプロセッサ上で占めるスペースも
増す。したがって、CPUなどから相互接続パッドへの
メタライゼーション・パターンを拘束する傾向がある。
外部信号ソースからCPUなどへ高周波信号を送信す
る、上にあるメタライゼーション・パターンから発生す
るノイズまたは容量性結合によって、キャッシュ・デー
タが妨害される可能性があるからである。
【0011】したがって、データと関連アクセス情報を
同じ物理的にアドレス可能なアレイに記憶することの利
益が電力のオーバヘッドなしで実現できる、統合型キャ
ッシュ設計が当技術分野で必要となってきた。
同じ物理的にアドレス可能なアレイに記憶することの利
益が電力のオーバヘッドなしで実現できる、統合型キャ
ッシュ設計が当技術分野で必要となってきた。
【0012】
【発明が解決しようとする課題】本発明の一目的は、電
力消費量が減るような形でデータと関連アクセス情報の
両方を記憶する、統合型キャッシュを提供することにあ
る。
力消費量が減るような形でデータと関連アクセス情報の
両方を記憶する、統合型キャッシュを提供することにあ
る。
【0013】本発明の他の目的は、真のLRUキャッシ
ュ更新手順を提供する、統合型キャッシュ・アーキテク
チャを提供することにある。
ュ更新手順を提供する、統合型キャッシュ・アーキテク
チャを提供することにある。
【0014】本発明の他の目的は、キャッシュのサイク
ル時間を増加させない、LRUキャッシュ更新手順の簡
単なハードウェア実施態様を提供することにある。
ル時間を増加させない、LRUキャッシュ更新手順の簡
単なハードウェア実施態様を提供することにある。
【0015】本発明の他の目的は、マイクロプロセッサ
上の他の機能ブロックからの上にある相互接続メタライ
ゼーションをサポートするために本発明の統合型キャッ
シュ上の金属線のレイアウトを最適化することにある。
上の他の機能ブロックからの上にある相互接続メタライ
ゼーションをサポートするために本発明の統合型キャッ
シュ上の金属線のレイアウトを最適化することにある。
【0016】本発明の他の目的は、チップ上の利用可能
な面積に適合するように、本発明のキャッシュの様々な
寸法態様の調整を容易にすることにある。たとえば、こ
のキャッシュは、3重セット連想式キャッシュに縮小
し、あるいは5重セット連想式キャッシュに拡大するこ
とができる。さらに二三本のビット線を追加して、パリ
ティ検査を提供することができる。LRUアレイは一度
初期設定されると、一定のパリティを有するようにな
り、したがって、追加のビット線なしでパリティ検査を
それに追加できることに留意されたい。
な面積に適合するように、本発明のキャッシュの様々な
寸法態様の調整を容易にすることにある。たとえば、こ
のキャッシュは、3重セット連想式キャッシュに縮小
し、あるいは5重セット連想式キャッシュに拡大するこ
とができる。さらに二三本のビット線を追加して、パリ
ティ検査を提供することができる。LRUアレイは一度
初期設定されると、一定のパリティを有するようにな
り、したがって、追加のビット線なしでパリティ検査を
それに追加できることに留意されたい。
【0017】
【課題を解決するための手段】本発明の前記その他の目
的は、集積回路チップ上に形成された、主記憶手段から
取り出されたデータを記憶するためのキャッシュによっ
て実現される。このキャッシュは、それぞれ第1の記憶
域内にあって主メモリ・データを記憶するための第1の
複数のメモリ・セルと、第2の記憶域内にあって前記主
メモリ・データに対応するアクセス情報を記憶するため
の第2の複数のメモリ・セルとを有する複数のインデッ
クス行を備え、前記第1と第2の記憶域はサイクル時間
がほぼ同じであり、前記第2の記憶域の方が前記第1の
記憶域よりも前にアクセスされる。このキャッシュはま
た、前記複数のインデックス行のうちの所定の1つにつ
いて、前記第1記憶域のアレイに記憶された前記主メモ
リ・データのいずれかにアクセスすべきかどうかを検出
するために、前記複数のインデックス行のうちの選択さ
れた1行に関する前記アクセス情報を受け取る、第1の
制御機構と、当該のアクセス・サイクルが完了する前
に、前記複数のアクセス行のうちの前記選択された1行
の前記第1記憶域のアレイの少くとも一部分を選択的に
非活動化するためのアレイ・制御機構とを備える。
的は、集積回路チップ上に形成された、主記憶手段から
取り出されたデータを記憶するためのキャッシュによっ
て実現される。このキャッシュは、それぞれ第1の記憶
域内にあって主メモリ・データを記憶するための第1の
複数のメモリ・セルと、第2の記憶域内にあって前記主
メモリ・データに対応するアクセス情報を記憶するため
の第2の複数のメモリ・セルとを有する複数のインデッ
クス行を備え、前記第1と第2の記憶域はサイクル時間
がほぼ同じであり、前記第2の記憶域の方が前記第1の
記憶域よりも前にアクセスされる。このキャッシュはま
た、前記複数のインデックス行のうちの所定の1つにつ
いて、前記第1記憶域のアレイに記憶された前記主メモ
リ・データのいずれかにアクセスすべきかどうかを検出
するために、前記複数のインデックス行のうちの選択さ
れた1行に関する前記アクセス情報を受け取る、第1の
制御機構と、当該のアクセス・サイクルが完了する前
に、前記複数のアクセス行のうちの前記選択された1行
の前記第1記憶域のアレイの少くとも一部分を選択的に
非活動化するためのアレイ・制御機構とを備える。
【0018】本発明のもう1つの態様では、キャッシュ
・アレイは、複数のメモリ・セルと、前記複数のメモリ
・セルの上に配設されそれらに結合された複数の供給電
圧線と、前記複数のメモリ・セルの上に配設された複数
のマスタ・ワード線と、前記複数のメモリ・セルの上に
配設された複数のローカル・ワード線とを備え、前記複
数の供給電圧線と前記複数のマスタ・ワード線と前記複
数のローカル・ワード線はほぼ平行に配設され、前記複
数のマスタ・ワード線はそれぞれ1組の前記複数のロー
カル・ワード線に結合され、1組の前記複数のメモリ・
セルは前記1組の前記複数のローカル・ワード線のうち
の1本に結合され、前記複数のマスタ・ワード線のそれ
ぞれと前記1組のローカル・ワード線のうちの少くとも
1本とは前記1組のローカル・ワード線のうちの前記1
本に結合された前記1組の前記複数のメモリ・セルの上
に配設され、前記マスタ・ワード線の一部分はその残り
の部分から分離され、前記供給電圧線の1本に結合され
る。
・アレイは、複数のメモリ・セルと、前記複数のメモリ
・セルの上に配設されそれらに結合された複数の供給電
圧線と、前記複数のメモリ・セルの上に配設された複数
のマスタ・ワード線と、前記複数のメモリ・セルの上に
配設された複数のローカル・ワード線とを備え、前記複
数の供給電圧線と前記複数のマスタ・ワード線と前記複
数のローカル・ワード線はほぼ平行に配設され、前記複
数のマスタ・ワード線はそれぞれ1組の前記複数のロー
カル・ワード線に結合され、1組の前記複数のメモリ・
セルは前記1組の前記複数のローカル・ワード線のうち
の1本に結合され、前記複数のマスタ・ワード線のそれ
ぞれと前記1組のローカル・ワード線のうちの少くとも
1本とは前記1組のローカル・ワード線のうちの前記1
本に結合された前記1組の前記複数のメモリ・セルの上
に配設され、前記マスタ・ワード線の一部分はその残り
の部分から分離され、前記供給電圧線の1本に結合され
る。
【0019】もう1つの態様では、本発明は中央演算処
理装置と、データを記憶するための主メモリと、複数の
インデックス行を有し、その各行が前記主メモリ内の選
択された位置からの複数のデータ・ワードを記憶するキ
ャッシュ装置とを備える。前記主メモリから前記キャッ
シュに更新データ・ワードを書き込む方法は、所与のイ
ンデックス行について、前記複数のデータ・ワードのい
ずれかが無効であるかどうかを判定し、そうである場
合、前記所与のインデックス行のうち前記無効データ・
ワードを記憶する部分に前記更新データ・ワードを書き
込むステップと、前記所与のインデックス行のうち前記
無効データ・ワードを以前に記憶していた前記部分が今
は有効データを記憶していることを反映するように、前
記所与のインデックス行に関する第1アクセス・データ
を更新するステップと、前記所与のインデックス行につ
いて前記複数のデータ・ワードがすべて有効である場
合、前記複数のデータ・ワードのうちのどれが前記中央
演算処理装置によって最も以前にアクセスされたかを決
定し、前記所与のインデックス行のうち前記の最も以前
にアクセスされたデータ・ワードを記憶する部分に前記
更新データ・ワードを書き込むステップと、前記所与の
インデックス行のうち前記の最も以前にアクセスされた
データ・ワードを以前に記憶していた前記部分が最近に
アクセスされたことを反映するように前記所与のインデ
ックス行に関する第2アクセス・データを更新し、前記
所与のインデックス行上の前記複数のデータ・ワードの
うちの異なるデータ・ワードが前記中央演算処理装置に
よって最も以前にアクセスされたことを示すステップと
を含む。
理装置と、データを記憶するための主メモリと、複数の
インデックス行を有し、その各行が前記主メモリ内の選
択された位置からの複数のデータ・ワードを記憶するキ
ャッシュ装置とを備える。前記主メモリから前記キャッ
シュに更新データ・ワードを書き込む方法は、所与のイ
ンデックス行について、前記複数のデータ・ワードのい
ずれかが無効であるかどうかを判定し、そうである場
合、前記所与のインデックス行のうち前記無効データ・
ワードを記憶する部分に前記更新データ・ワードを書き
込むステップと、前記所与のインデックス行のうち前記
無効データ・ワードを以前に記憶していた前記部分が今
は有効データを記憶していることを反映するように、前
記所与のインデックス行に関する第1アクセス・データ
を更新するステップと、前記所与のインデックス行につ
いて前記複数のデータ・ワードがすべて有効である場
合、前記複数のデータ・ワードのうちのどれが前記中央
演算処理装置によって最も以前にアクセスされたかを決
定し、前記所与のインデックス行のうち前記の最も以前
にアクセスされたデータ・ワードを記憶する部分に前記
更新データ・ワードを書き込むステップと、前記所与の
インデックス行のうち前記の最も以前にアクセスされた
データ・ワードを以前に記憶していた前記部分が最近に
アクセスされたことを反映するように前記所与のインデ
ックス行に関する第2アクセス・データを更新し、前記
所与のインデックス行上の前記複数のデータ・ワードの
うちの異なるデータ・ワードが前記中央演算処理装置に
よって最も以前にアクセスされたことを示すステップと
を含む。
【0020】
【実施例】図1に関して、本発明の第1の実施例は、単
一の集積回路チップ上にCPU20と、メモリ管理ユニ
ット(MMU)30と、キャッシュ40とを有する、マ
イクロプロセッサ・モジュール10である。X86ファ
ミリのマイクロプロセッサで普通に行われている通り、
CPU20は実行ユニット、取出しユニットなどを含
む。ただし、図を簡単にするため具体的には図示してい
ない。バス・ユニット(BU)24が、主メモリ(M
M)52、コプロセッサ(CP)56、及びキーボード
その他の周辺装置(PH)54とデータ・バス50を介
して通信する。一般に、マイクロプロセッサは、主メモ
リ52からバス50とバス・ユニット24を介して命令
を取り出し、あるいはキャッシュからバス・ユニット2
4を介して命令を取り出すことによって動作する。次い
でマイクロプロセッサは、実行ユニット(EU)22を
介して処理し、メモリ管理ユニット30の制御下で必要
に応じてキャッシュ40からのデータにアクセスし、命
令実行結果をキャッシュ40または主メモリ52に(好
ましくは、後で詳しく論じる何らかの種類のキャッシュ
・コヒーレンシ・プロトコルによりその両方に)記憶す
ることによって命令を実行する。
一の集積回路チップ上にCPU20と、メモリ管理ユニ
ット(MMU)30と、キャッシュ40とを有する、マ
イクロプロセッサ・モジュール10である。X86ファ
ミリのマイクロプロセッサで普通に行われている通り、
CPU20は実行ユニット、取出しユニットなどを含
む。ただし、図を簡単にするため具体的には図示してい
ない。バス・ユニット(BU)24が、主メモリ(M
M)52、コプロセッサ(CP)56、及びキーボード
その他の周辺装置(PH)54とデータ・バス50を介
して通信する。一般に、マイクロプロセッサは、主メモ
リ52からバス50とバス・ユニット24を介して命令
を取り出し、あるいはキャッシュからバス・ユニット2
4を介して命令を取り出すことによって動作する。次い
でマイクロプロセッサは、実行ユニット(EU)22を
介して処理し、メモリ管理ユニット30の制御下で必要
に応じてキャッシュ40からのデータにアクセスし、命
令実行結果をキャッシュ40または主メモリ52に(好
ましくは、後で詳しく論じる何らかの種類のキャッシュ
・コヒーレンシ・プロトコルによりその両方に)記憶す
ることによって命令を実行する。
【0021】代替実施例を図2に示す。図2で、図1の
それと類似の構造及び動作を有する回路ブロックには同
じ参照番号をつけてある。図1の実施例と図2の実施例
の基本的相違点は、図2に記した実施例ではチップ面積
が最小になるように設計してあることである。具体的に
は、メモリ管理ユニット30がマイクロプロセッサ10
Aに統合されていず、データ・バス50とバス・ユニッ
ト24を介してマイクロプロセッサと通信することに留
意されたい。さらに、キャッシュ・コヒーレンシ動作で
キャッシュから主メモリへの書戻しに伴う遅延を最小に
するために、キャッシュ40はそれ自体の専用メモリ・
バス58を介して主メモリ52にデータを送受すること
に留意されたい。
それと類似の構造及び動作を有する回路ブロックには同
じ参照番号をつけてある。図1の実施例と図2の実施例
の基本的相違点は、図2に記した実施例ではチップ面積
が最小になるように設計してあることである。具体的に
は、メモリ管理ユニット30がマイクロプロセッサ10
Aに統合されていず、データ・バス50とバス・ユニッ
ト24を介してマイクロプロセッサと通信することに留
意されたい。さらに、キャッシュ・コヒーレンシ動作で
キャッシュから主メモリへの書戻しに伴う遅延を最小に
するために、キャッシュ40はそれ自体の専用メモリ・
バス58を介して主メモリ52にデータを送受すること
に留意されたい。
【0022】どちらの実施例でも、キャッシュ40はマ
イクロプロセッサ10上で他の回路と統合されている。
これらの回路ブロックを同じチップ上に置くことによ
り、これらの構造が異なる加工技術を用いて異なるチッ
プ上に形成されることから生じるプロセス精度およびそ
の他の性能の低減因子が最小になる。
イクロプロセッサ10上で他の回路と統合されている。
これらの回路ブロックを同じチップ上に置くことによ
り、これらの構造が異なる加工技術を用いて異なるチッ
プ上に形成されることから生じるプロセス精度およびそ
の他の性能の低減因子が最小になる。
【0023】図1及び図2のキャッシュ40の全体構成
図を図3に示す。キャッシュ40は記憶アレイ41を含
む。アレイ41は、4つのキャッシュ行A−Dを格納す
るデータ部分と、4つのキャッシュ行に対応するタグA
−Dを格納するタグ部分と、記憶域MRU1、MRU
2、MRU3、LRU内にLRU情報を記憶するLRU
A部分と、各キャッシュ行A−Dのデータ有効情報を格
納するVALID(V)部分とを含む。本発明の特徴の
1つは、単一セットに関するこれらのデータがすべて、
単一の物理的アドレス可能ワード線上に記憶されること
である。したがって、後でより詳しく論じるように、上
記の各アレイ中で単一ワード線がメモリ・セルに結合さ
れ、単一の物理的アドレス可能ワード線にアクセスする
ことにより、前記のデータすべてにアクセスできるよう
になっている。
図を図3に示す。キャッシュ40は記憶アレイ41を含
む。アレイ41は、4つのキャッシュ行A−Dを格納す
るデータ部分と、4つのキャッシュ行に対応するタグA
−Dを格納するタグ部分と、記憶域MRU1、MRU
2、MRU3、LRU内にLRU情報を記憶するLRU
A部分と、各キャッシュ行A−Dのデータ有効情報を格
納するVALID(V)部分とを含む。本発明の特徴の
1つは、単一セットに関するこれらのデータがすべて、
単一の物理的アドレス可能ワード線上に記憶されること
である。したがって、後でより詳しく論じるように、上
記の各アレイ中で単一ワード線がメモリ・セルに結合さ
れ、単一の物理的アドレス可能ワード線にアクセスする
ことにより、前記のデータすべてにアクセスできるよう
になっている。
【0024】一般に、キャッシュ40には、取出しまた
はロード/記憶ユニットが生成し、バス・ユニット24
からキャッシュ40が受け取る、アクセス・アドレスに
応答してアクセスされる。バス・ユニット24はこのア
ドレスを実行ユニット22から受け取る。本発明は並行
処理モードまたはコプロセッサ・モードでも使用できる
ことに留意されたい。その場合は、コプロセッサ56
や、キャッシュ40と通信する周辺装置54としての対
等プロセッサなどのオフチップ・ソースからそのアドレ
スが生成される。これらのモードでは、キャッシュ40
には、こうした他のプロセッサが、待機状況動作(すな
わち、キャッシュ40がCPU20からのアクセス要求
を処理中でないときだけ、他のプロセッサがキャッシュ
にアクセスできる)、またはいくつかの既知の優先割込
みプロトコルの1つ(すなわち、バス・ユニット24
で、CPU20からのアクセス要求の優先レベルとこう
した他の装置からの優先レベルの間で調停を行う)によ
ってアクセスすることができる。
はロード/記憶ユニットが生成し、バス・ユニット24
からキャッシュ40が受け取る、アクセス・アドレスに
応答してアクセスされる。バス・ユニット24はこのア
ドレスを実行ユニット22から受け取る。本発明は並行
処理モードまたはコプロセッサ・モードでも使用できる
ことに留意されたい。その場合は、コプロセッサ56
や、キャッシュ40と通信する周辺装置54としての対
等プロセッサなどのオフチップ・ソースからそのアドレ
スが生成される。これらのモードでは、キャッシュ40
には、こうした他のプロセッサが、待機状況動作(すな
わち、キャッシュ40がCPU20からのアクセス要求
を処理中でないときだけ、他のプロセッサがキャッシュ
にアクセスできる)、またはいくつかの既知の優先割込
みプロトコルの1つ(すなわち、バス・ユニット24
で、CPU20からのアクセス要求の優先レベルとこう
した他の装置からの優先レベルの間で調停を行う)によ
ってアクセスすることができる。
【0025】アドレスがどこから来るかにかかわらず、
アドレスは同じ一般的32ビット・フォーマットで提供
されることになる。32ビット・アドレスは例として挙
げたものにすぎず、他のアドレス・ビットにも使用でき
ることに留意されたい。上位20ビットA31−A12
はタグ・アドレス(すなわち、主メモリからアクセスさ
れるデータのアドレス)を示し、次の8ビットA11−
A4はインデックス・アドレス(すなわち、そのデータ
を格納するセットのアドレス)を示し、下位ビットA3
−A0はアクセスされたデータ・ワード内のどのデータ
・バイトがアクセスされるかを示す。さらに具体的に述
べると、A3とA2は、アクセスされた128ビットの
データ・ワードのどの32ビット・サブワードがアクセ
スされるかを示し、A1とA0はアクセスされた32ビ
ット・サブワード内のどの8ビット・バイトがアクセス
されるかを示す。
アドレスは同じ一般的32ビット・フォーマットで提供
されることになる。32ビット・アドレスは例として挙
げたものにすぎず、他のアドレス・ビットにも使用でき
ることに留意されたい。上位20ビットA31−A12
はタグ・アドレス(すなわち、主メモリからアクセスさ
れるデータのアドレス)を示し、次の8ビットA11−
A4はインデックス・アドレス(すなわち、そのデータ
を格納するセットのアドレス)を示し、下位ビットA3
−A0はアクセスされたデータ・ワード内のどのデータ
・バイトがアクセスされるかを示す。さらに具体的に述
べると、A3とA2は、アクセスされた128ビットの
データ・ワードのどの32ビット・サブワードがアクセ
スされるかを示し、A1とA0はアクセスされた32ビ
ット・サブワード内のどの8ビット・バイトがアクセス
されるかを示す。
【0026】マイクロプロセッサがキャッシュ・タグ・
ヒット/ミス・モードで動作しているときは、キャッシ
ュが受け取った20ビットの仮想タグが、指示されたイ
ンデックス・アドレスに格納されているタグと比較され
る。すなわち、キャッシュは1−256デコードを(通
常のCMOSアドレス・バッファ及びデコーダを使っ
て)実施して、256のワード線(セット)のうちのど
れがインデックス・アドレスによってアクセスされるか
を決定する。所与のセットにアクセスすることによって
関連するタグが読み取られ、読み取られたタグが受け取
ったタグと比較される。マイクロプロセッサが仮想モー
ドで動作しているときは、受け取ったタグは変換ルック
アサイド・バッファ(TLB60)から来た可能性があ
る。仮想アドレスは再マップして実際の物理アドレスに
戻さなければならないので、この再マップはCPUから
直接にまたはTLBを使って実行される。MUX1は、
マイクロプロセッサが仮想モードのときTLB入力を出
力し、そうでない場合は単にタグのアクセス・アドレス
をパスする。
ヒット/ミス・モードで動作しているときは、キャッシ
ュが受け取った20ビットの仮想タグが、指示されたイ
ンデックス・アドレスに格納されているタグと比較され
る。すなわち、キャッシュは1−256デコードを(通
常のCMOSアドレス・バッファ及びデコーダを使っ
て)実施して、256のワード線(セット)のうちのど
れがインデックス・アドレスによってアクセスされるか
を決定する。所与のセットにアクセスすることによって
関連するタグが読み取られ、読み取られたタグが受け取
ったタグと比較される。マイクロプロセッサが仮想モー
ドで動作しているときは、受け取ったタグは変換ルック
アサイド・バッファ(TLB60)から来た可能性があ
る。仮想アドレスは再マップして実際の物理アドレスに
戻さなければならないので、この再マップはCPUから
直接にまたはTLBを使って実行される。MUX1は、
マイクロプロセッサが仮想モードのときTLB入力を出
力し、そうでない場合は単にタグのアクセス・アドレス
をパスする。
【0027】比較器CA−CDは、MUX1からパスさ
れたタグを、アクセスされたセットに格納されている、
キャッシュ・アレイのタグ部分からのタグA−Dと比較
する。この場合、キャッシュは4重セット連想式であ
り、所与のセットについて4個のタグが記憶されること
に留意されたい。本発明は何重のセット連想式アーキテ
クチャにも適用できる。比較器CA−CDはまた、アレ
イの有効性部分から、各キャッシュ行A−Dに対応する
有効性ビットを受けることに留意されたい。所与の有効
性ビットが低の場合、関連するキャッシュ行は無効デー
タを格納している。この有効性ビットは、比較器へのオ
ーバライド入力として使用される。すなわち、有効性ビ
ットが低の場合、比較はオーバライドされ、キャッシュ
・ミスが指示される。比較器CA−CDはそれぞれ出力
HITA、HITB、HITC、HITDを有する。通
常、これらの線は高に保持される。比較器CA−CDの
うちの1つが、入力タグとアクセスされたセットからの
タグが一致すると判定した場合、その関連出力HITA
−Dは高のままとなり、残りの出力線が低にプルされ
る。
れたタグを、アクセスされたセットに格納されている、
キャッシュ・アレイのタグ部分からのタグA−Dと比較
する。この場合、キャッシュは4重セット連想式であ
り、所与のセットについて4個のタグが記憶されること
に留意されたい。本発明は何重のセット連想式アーキテ
クチャにも適用できる。比較器CA−CDはまた、アレ
イの有効性部分から、各キャッシュ行A−Dに対応する
有効性ビットを受けることに留意されたい。所与の有効
性ビットが低の場合、関連するキャッシュ行は無効デー
タを格納している。この有効性ビットは、比較器へのオ
ーバライド入力として使用される。すなわち、有効性ビ
ットが低の場合、比較はオーバライドされ、キャッシュ
・ミスが指示される。比較器CA−CDはそれぞれ出力
HITA、HITB、HITC、HITDを有する。通
常、これらの線は高に保持される。比較器CA−CDの
うちの1つが、入力タグとアクセスされたセットからの
タグが一致すると判定した場合、その関連出力HITA
−Dは高のままとなり、残りの出力線が低にプルされ
る。
【0028】4つの出力HITA−DをXOR140で
比較して、キャッシュ・ヒットが発生したことを示すも
のがあるかどうか判定する。キャッシュ・ヒットが発生
した場合、その出力は高になる。この信号を有効性ビッ
トと共にLRU制御機構150が受け取る。以下でさら
に詳しく説明するように、キャッシュ・ヒットの場合、
LRU制御機構150はLRUAアレイに記憶されたL
RU情報を更新し、キャッシュ・ミスの場合は後続のキ
ャッシュ更新サイクルで、主メモリから取り出したデー
タを、有効性ビットの状態とLRUAアレイに記憶され
た情報とに応じて選択されたキャッシュ行に記憶する。
比較して、キャッシュ・ヒットが発生したことを示すも
のがあるかどうか判定する。キャッシュ・ヒットが発生
した場合、その出力は高になる。この信号を有効性ビッ
トと共にLRU制御機構150が受け取る。以下でさら
に詳しく説明するように、キャッシュ・ヒットの場合、
LRU制御機構150はLRUAアレイに記憶されたL
RU情報を更新し、キャッシュ・ミスの場合は後続のキ
ャッシュ更新サイクルで、主メモリから取り出したデー
タを、有効性ビットの状態とLRUAアレイに記憶され
た情報とに応じて選択されたキャッシュ行に記憶する。
【0029】LWL制御機構200もHITA−D出力
を受け取る。LWL制御機構200は、データ・アレイ
中のキャッシュ行A−Dへのアクセスを制御する。LW
L制御機構200はまた読取り/書込み制御機構160
からSAセット入力とSA復元入力を受け取り、W/B
デコーダ170からワード/バイト選択信号B0−B3
とW0−W3を受け取る。以下でより詳しく説明するよ
うに、キャッシュ・アクセス・サイクルでは、アクセス
されるセット中の所望のワードのメモリ・セルがすべ
て、ワード/バイト選択情報に応じて上記のようにタグ
情報、有効性情報、LRU情報を得るために最初にアク
セスされる。次いで、アクセスされたセットの所望しな
い部分がそのフル・アクセス・サイクルの完了前にキャ
ッシュ・ヒット情報に応じて非活動化され、大きな電力
の節約をもたらす。たとえば、キャッシュ行Aのサブワ
ード3へのアクセスを望む場合、サブワード0、1、2
はすべて決して活動化されず、アクセス・サイクルの完
了前にキャッシュ行B−Dの他のサブワード3がディス
エーブルされる。さらに、サブワード3のバイト1だけ
が必要な場合、各サブワード3のバイト0と1だけがア
クセスされ、所望されない部分はHITA情報が使用可
能になるとディスエーブルされる(図9参照)。
を受け取る。LWL制御機構200は、データ・アレイ
中のキャッシュ行A−Dへのアクセスを制御する。LW
L制御機構200はまた読取り/書込み制御機構160
からSAセット入力とSA復元入力を受け取り、W/B
デコーダ170からワード/バイト選択信号B0−B3
とW0−W3を受け取る。以下でより詳しく説明するよ
うに、キャッシュ・アクセス・サイクルでは、アクセス
されるセット中の所望のワードのメモリ・セルがすべ
て、ワード/バイト選択情報に応じて上記のようにタグ
情報、有効性情報、LRU情報を得るために最初にアク
セスされる。次いで、アクセスされたセットの所望しな
い部分がそのフル・アクセス・サイクルの完了前にキャ
ッシュ・ヒット情報に応じて非活動化され、大きな電力
の節約をもたらす。たとえば、キャッシュ行Aのサブワ
ード3へのアクセスを望む場合、サブワード0、1、2
はすべて決して活動化されず、アクセス・サイクルの完
了前にキャッシュ行B−Dの他のサブワード3がディス
エーブルされる。さらに、サブワード3のバイト1だけ
が必要な場合、各サブワード3のバイト0と1だけがア
クセスされ、所望されない部分はHITA情報が使用可
能になるとディスエーブルされる(図9参照)。
【0030】図4は、本発明の統合型キャッシュ40の
アレイ41の一部分の回路図である。このアレイは、複
数のマスタ・ワード線MWL0−MWL255を含む。
(図示しやすいように、最初のマスタ・ワード線MWL
0と最後のマスタ・ワード線MWL255だけを示して
あり、残りのものは図の中央に破線で全体的に示してあ
る。実際には、キャッシュは少くとも4本の冗長マスタ
・ワード線と、タイミング用の1本のダミー・ワード線
を含むことになる。)受け取ったインデックス・アドレ
スA11−A4はマスタ・ワード線デコーダ(MWL0
デコードないしMWL255デコード)によって復号さ
れ、256本のマスタ・ワード線のうちのどれがエネー
ブルされるかが決定される。これらのデコーダは、従来
型のCMOS NORデコーダであり(NANDデコー
ダも使用できる)、ワンチップ・アドレス・バッファ
(図示せず)からのアドレス入力を受け取る。エネーブ
ルされたデコーダは、その対応するマスタ・ワード線ド
ライバ(MWL0ドライバないしMWL255ドライ
バ)を活動化して、対応するマスタ・ワード線(MWL
0ないしMWL255)上の電位を上げ、選択されたセ
ットに記憶された情報にアクセスする。各マスタ・ワー
ド線は、選択されたヒットに関するすべての情報、すな
わちデータ、タグ、有効性ビット、LRUを制御する。
マスタ・ワード線ドライバは従来型のCMOSプッシュ
プル・ドライバであり、これらのマスタ・ワード線によ
って提示される大きな容量負荷を駆動できるサイズであ
る。図4に示すように、各マスタ・ワード線は1組のロ
ーカル・ワード線に結合されている。
アレイ41の一部分の回路図である。このアレイは、複
数のマスタ・ワード線MWL0−MWL255を含む。
(図示しやすいように、最初のマスタ・ワード線MWL
0と最後のマスタ・ワード線MWL255だけを示して
あり、残りのものは図の中央に破線で全体的に示してあ
る。実際には、キャッシュは少くとも4本の冗長マスタ
・ワード線と、タイミング用の1本のダミー・ワード線
を含むことになる。)受け取ったインデックス・アドレ
スA11−A4はマスタ・ワード線デコーダ(MWL0
デコードないしMWL255デコード)によって復号さ
れ、256本のマスタ・ワード線のうちのどれがエネー
ブルされるかが決定される。これらのデコーダは、従来
型のCMOS NORデコーダであり(NANDデコー
ダも使用できる)、ワンチップ・アドレス・バッファ
(図示せず)からのアドレス入力を受け取る。エネーブ
ルされたデコーダは、その対応するマスタ・ワード線ド
ライバ(MWL0ドライバないしMWL255ドライ
バ)を活動化して、対応するマスタ・ワード線(MWL
0ないしMWL255)上の電位を上げ、選択されたセ
ットに記憶された情報にアクセスする。各マスタ・ワー
ド線は、選択されたヒットに関するすべての情報、すな
わちデータ、タグ、有効性ビット、LRUを制御する。
マスタ・ワード線ドライバは従来型のCMOSプッシュ
プル・ドライバであり、これらのマスタ・ワード線によ
って提示される大きな容量負荷を駆動できるサイズであ
る。図4に示すように、各マスタ・ワード線は1組のロ
ーカル・ワード線に結合されている。
【0031】実際には、ローカル・ワード線の抵抗性容
量性遅延を減らし性能を高めるために、ローカル・ワー
ド線は金属ストラップされている。図5は、セルAの図
4に示したローカル・ワード線LWL0Aに結合された
部分と、LWL0Aに沿った隣接するセルAB及びAC
(図4には図示せず)の上面図である。各セルは、斜線
入りの枠で示す複数の拡散領域からなる。図8及び9に
示すように、本発明で利用するメモリ・セルは、標準の
6デバイスSRAM構造のもので、ビット線BLC、B
LDを介してセルから読み取りまたはセルに書き込むた
めの交差結合デバイス対T1、T2を備える、セルにア
クセスするビット・スイッチ・デバイスBS3、BS4
を有する。図では単一のゲート導体LWL POLYが
すべてのセルを横切り、セル・アクセス・デバイス(す
なわち、セルをビット線に結合するトランジスタ、たと
えば図9のトランジスタBS3、BS4を参照のこと)
のゲート導体を形成する。明らかなように、このポリシ
リコン導体は実際にははるかに複雑なレイアウトをも
ち、他のデバイスのゲート導体を形成している。ポリシ
リコンの全体レイアウトは図示してないが、この説明で
最重要な構成要素は、図5のすべてのセルを横切るLW
L POLY線である。この説明ではポリシリコンにつ
いて述べたが、実際には、耐火金属ケイ化物やポリシリ
コンとケイ化物のサンドイッチ構造など他のポリシリコ
ン・ベースのゲート導体も使用できる。ビット線BL
C、BLD(ならびにセルAB用のBLCA、BLDA
とセルAC用のBLCB、BLDB)は、メタラジ(た
とえばアルミニウムまたはアルミニウム・ベースの合
金)の第1層M1から形成される。
量性遅延を減らし性能を高めるために、ローカル・ワー
ド線は金属ストラップされている。図5は、セルAの図
4に示したローカル・ワード線LWL0Aに結合された
部分と、LWL0Aに沿った隣接するセルAB及びAC
(図4には図示せず)の上面図である。各セルは、斜線
入りの枠で示す複数の拡散領域からなる。図8及び9に
示すように、本発明で利用するメモリ・セルは、標準の
6デバイスSRAM構造のもので、ビット線BLC、B
LDを介してセルから読み取りまたはセルに書き込むた
めの交差結合デバイス対T1、T2を備える、セルにア
クセスするビット・スイッチ・デバイスBS3、BS4
を有する。図では単一のゲート導体LWL POLYが
すべてのセルを横切り、セル・アクセス・デバイス(す
なわち、セルをビット線に結合するトランジスタ、たと
えば図9のトランジスタBS3、BS4を参照のこと)
のゲート導体を形成する。明らかなように、このポリシ
リコン導体は実際にははるかに複雑なレイアウトをも
ち、他のデバイスのゲート導体を形成している。ポリシ
リコンの全体レイアウトは図示してないが、この説明で
最重要な構成要素は、図5のすべてのセルを横切るLW
L POLY線である。この説明ではポリシリコンにつ
いて述べたが、実際には、耐火金属ケイ化物やポリシリ
コンとケイ化物のサンドイッチ構造など他のポリシリコ
ン・ベースのゲート導体も使用できる。ビット線BL
C、BLD(ならびにセルAB用のBLCA、BLDA
とセルAC用のBLCB、BLDB)は、メタラジ(た
とえばアルミニウムまたはアルミニウム・ベースの合
金)の第1層M1から形成される。
【0032】次のメタラジ層M2(通常はM1と同じ組
成)がチップの上に広げられ、ほぼ平行な線を形成す
る。図5の下端から上端に向かって、これらの線は、セ
ルに高電圧(たとえば5ボルト)を供給するVDD M
2、地電位または低電位を供給するGND M2、マス
タ・ワード線MWL M2、LWL POLYの金属ス
トラップを形成するLWL M2からなる。接触領域M
2/M1/POLY接点が×印付きの枠で示されている
ことに留意されたい。これらの接触領域は、ローカル・
ワード線に沿って1つ置きのメモリ・セルで、LWL
M2とLWL POLYの間で接点を提供する。この配
置により、ローカル・ワード線は、セル・ピッチを増大
させずに減少した抵抗特性を有し、選択されたMWL0
−MWL255がより迅速にエネーブルできるようにな
る。
成)がチップの上に広げられ、ほぼ平行な線を形成す
る。図5の下端から上端に向かって、これらの線は、セ
ルに高電圧(たとえば5ボルト)を供給するVDD M
2、地電位または低電位を供給するGND M2、マス
タ・ワード線MWL M2、LWL POLYの金属ス
トラップを形成するLWL M2からなる。接触領域M
2/M1/POLY接点が×印付きの枠で示されている
ことに留意されたい。これらの接触領域は、ローカル・
ワード線に沿って1つ置きのメモリ・セルで、LWL
M2とLWL POLYの間で接点を提供する。この配
置により、ローカル・ワード線は、セル・ピッチを増大
させずに減少した抵抗特性を有し、選択されたMWL0
−MWL255がより迅速にエネーブルできるようにな
る。
【0033】図4に関して、本発明の特徴の1つは、各
マスタ・ワード線が、アクセス情報(すなわち、タグ情
報、有効性情報、LRU情報)を記憶するメモリ・セル
に直接結合されてそれらのセルを駆動し、インデックス
・データを記憶するメモリ・セルはローカル・ワード線
LWL0A−LWL0Dを介して間接に駆動することで
ある。「マスタ」ワード線を使ってセグメント化された
ワード線部分を駆動するという一般的考え方は知られて
おり、例えば本出願人に譲渡された米国特許第4596
000号に記載されているが、通常は「マスタ」ワード
線は一部のメモリ・セルに直接は結合されない。そうで
はなく、上記米国特許の図2を見ると最もはっきりする
が、このマスタ・ワード線は通常、ローカル・ワード線
を駆動するためのエネーブル入力として使用される。こ
れは、マスタ/ローカル・ワード線配置が通常は、容量
性負荷によるワード線性能遅延を減らすために使用され
るからである。したがって、設計者は通常ならメモリ・
セルをマスタ・ワード線に直接結合することにより、マ
スタ・ワード線のロード・ダウンを避けるはずである。
本発明では、上記のようにM2へのローカル・ワード線
をストラップする他に、マスタ・ワード線がM2中にレ
イアウトされ、交差してLWL M2の分離した部分と
接触する。図6に示すように、MWLに直接結合された
デバイスでは、MWL M2がその従来の位置から交差
して、LWL M2の図6に示すLWL M2線から切
断された部分と接触することに留意されたい。また、M
2のMWLであったはずの部分がGND M2に結合さ
れて、アレイを横切るGNDM2導体を形成することに
も留意されたい(GND M2導体は下層の集積回路へ
の接点をもたないことに留意されたい)。したがって、
本発明ではLWLとMWLがどちらも金属導体であり、
したがって性能低下なしに少数のセルをマスタ・ワード
線に直接結合することができる。
マスタ・ワード線が、アクセス情報(すなわち、タグ情
報、有効性情報、LRU情報)を記憶するメモリ・セル
に直接結合されてそれらのセルを駆動し、インデックス
・データを記憶するメモリ・セルはローカル・ワード線
LWL0A−LWL0Dを介して間接に駆動することで
ある。「マスタ」ワード線を使ってセグメント化された
ワード線部分を駆動するという一般的考え方は知られて
おり、例えば本出願人に譲渡された米国特許第4596
000号に記載されているが、通常は「マスタ」ワード
線は一部のメモリ・セルに直接は結合されない。そうで
はなく、上記米国特許の図2を見ると最もはっきりする
が、このマスタ・ワード線は通常、ローカル・ワード線
を駆動するためのエネーブル入力として使用される。こ
れは、マスタ/ローカル・ワード線配置が通常は、容量
性負荷によるワード線性能遅延を減らすために使用され
るからである。したがって、設計者は通常ならメモリ・
セルをマスタ・ワード線に直接結合することにより、マ
スタ・ワード線のロード・ダウンを避けるはずである。
本発明では、上記のようにM2へのローカル・ワード線
をストラップする他に、マスタ・ワード線がM2中にレ
イアウトされ、交差してLWL M2の分離した部分と
接触する。図6に示すように、MWLに直接結合された
デバイスでは、MWL M2がその従来の位置から交差
して、LWL M2の図6に示すLWL M2線から切
断された部分と接触することに留意されたい。また、M
2のMWLであったはずの部分がGND M2に結合さ
れて、アレイを横切るGNDM2導体を形成することに
も留意されたい(GND M2導体は下層の集積回路へ
の接点をもたないことに留意されたい)。したがって、
本発明ではLWLとMWLがどちらも金属導体であり、
したがって性能低下なしに少数のセルをマスタ・ワード
線に直接結合することができる。
【0034】この配置の1つの特徴は、このアレイが上
にあるノイズ源から実質上遮蔽されていることである。
すなわち、図5と6に示すように、セルは上にあるM2
によって実質上覆われていることに留意されたい。これ
らの導体は全体として、セルに記憶された論理状態が上
にある導体からのノイズまたは容量結合の影響を受け難
くする、遮蔽効果を生じる傾向がある。したがって、図
7に示すように、もう1つの金属層M3を使って、マイ
クロプロセッサ(たとえばCPU20)の部分からチッ
プの周囲にあるパッドP1−P3を経て外部信号源に至
る相互接続を実現することができる。以前のマイクロプ
ロセッサ・チップでは、パッド相互接続は、データの喪
失を防止するためにキャッシュ・アレイの周りを通って
おり、あるいはアレイのビット線の人為的ねじりが組み
込まれている。本発明の構造は、すべてのM2導体が何
らかの活動電位を受けている(すなわち、浮動したまま
のものがない)ため、チップのノイズ耐性が大幅に増大
している。MWL M2の「使用されない」部分が隣接
の大地導体にストリップされているのはこのためであ
る。
にあるノイズ源から実質上遮蔽されていることである。
すなわち、図5と6に示すように、セルは上にあるM2
によって実質上覆われていることに留意されたい。これ
らの導体は全体として、セルに記憶された論理状態が上
にある導体からのノイズまたは容量結合の影響を受け難
くする、遮蔽効果を生じる傾向がある。したがって、図
7に示すように、もう1つの金属層M3を使って、マイ
クロプロセッサ(たとえばCPU20)の部分からチッ
プの周囲にあるパッドP1−P3を経て外部信号源に至
る相互接続を実現することができる。以前のマイクロプ
ロセッサ・チップでは、パッド相互接続は、データの喪
失を防止するためにキャッシュ・アレイの周りを通って
おり、あるいはアレイのビット線の人為的ねじりが組み
込まれている。本発明の構造は、すべてのM2導体が何
らかの活動電位を受けている(すなわち、浮動したまま
のものがない)ため、チップのノイズ耐性が大幅に増大
している。MWL M2の「使用されない」部分が隣接
の大地導体にストリップされているのはこのためであ
る。
【0035】したがって、図3に示すタグ・アレイ、L
RUアレイ、Vアレイ中のメモリ・セルは、マスタ・ワ
ード線(MWL0ないしMWL255)に直接結合さ
れ、物理的にワード線ドライバ(MWL0ドライバない
しMWL255ドライバ)の近くに配設されている。図
4では、メモリ・セルはMの記号の付いた小さな四角で
示されている。メモリ・セルは図5、8、9に示すもの
と同じ一般構造を有する。図4では、わかりやすいよう
にビット線が省略してあり、図示したメモリ・セルの数
はわかりやすいように最小限に留めてあることに留意さ
れたい(たとえば、実際にはTAGA、TAGBアレイ
はそれぞれ少くとも40個のメモリ・セル、すなわち各
タグごとに20個のメモリ・セルを有することにな
る)。SRAMアレイの設計で通常行われているよう
に、それぞれのアレイ中のワード線に沿った同じ位置に
あるすべてのセルは、同じ1組のビット線に結合される
ことになる。したがって、たとえばセルB(TAGAア
レイのMWL0に沿った最初のメモリ・セル)とセルD
(TAGAアレイのMWL255に沿った最初のメモリ
・セル)は、図8に示す同じBLA、BLBビット線に
結合されている。
RUアレイ、Vアレイ中のメモリ・セルは、マスタ・ワ
ード線(MWL0ないしMWL255)に直接結合さ
れ、物理的にワード線ドライバ(MWL0ドライバない
しMWL255ドライバ)の近くに配設されている。図
4では、メモリ・セルはMの記号の付いた小さな四角で
示されている。メモリ・セルは図5、8、9に示すもの
と同じ一般構造を有する。図4では、わかりやすいよう
にビット線が省略してあり、図示したメモリ・セルの数
はわかりやすいように最小限に留めてあることに留意さ
れたい(たとえば、実際にはTAGA、TAGBアレイ
はそれぞれ少くとも40個のメモリ・セル、すなわち各
タグごとに20個のメモリ・セルを有することにな
る)。SRAMアレイの設計で通常行われているよう
に、それぞれのアレイ中のワード線に沿った同じ位置に
あるすべてのセルは、同じ1組のビット線に結合される
ことになる。したがって、たとえばセルB(TAGAア
レイのMWL0に沿った最初のメモリ・セル)とセルD
(TAGAアレイのMWL255に沿った最初のメモリ
・セル)は、図8に示す同じBLA、BLBビット線に
結合されている。
【0036】本発明では、アレイ全体にアクセスする際
に必要な電力消費量を削減するために、インデックス・
データにアクセスする前にタグなどのデータにアクセス
する必要がある。アクセス情報を記憶するアレイを物理
的にワード線ドライバの最も近くに置くことにより、イ
ンデックス・データよりも早くアクセス情報が利用可能
になり、その結果、アレイのアクセスすべきインデック
ス・データを記憶していない部分が選択解除できるよう
になる。図4に示した実施例では、タグ・アレイ、LR
Uアレイ及びVアレイが、これらの各アレイ中の情報に
対するアクセス時間を等しくするために、ワード線ドラ
イバの両側で、それぞれアレイ部分TAGA、TAG
B、LRUAA、LRUAB、VALIDA、VALI
DBに分離されている。しかし、本発明の別の実施例で
は、アレイは分離されず、ワード線ドライバのどちらか
一方の側に配設されている。すなわち、たとえばアレイ
LRUAAとLRUABが単一のLRUAアレイとして
組み合わされて、ワード線ドライバの左側に配設され、
アレイTAGAとTAGBが単一のタグ・アレイとして
組み合わされて、ワード線ドライバの右側に配設され
る。応用例によっては、レイアウト上の配慮から後者の
構造が必要となることもある。
に必要な電力消費量を削減するために、インデックス・
データにアクセスする前にタグなどのデータにアクセス
する必要がある。アクセス情報を記憶するアレイを物理
的にワード線ドライバの最も近くに置くことにより、イ
ンデックス・データよりも早くアクセス情報が利用可能
になり、その結果、アレイのアクセスすべきインデック
ス・データを記憶していない部分が選択解除できるよう
になる。図4に示した実施例では、タグ・アレイ、LR
Uアレイ及びVアレイが、これらの各アレイ中の情報に
対するアクセス時間を等しくするために、ワード線ドラ
イバの両側で、それぞれアレイ部分TAGA、TAG
B、LRUAA、LRUAB、VALIDA、VALI
DBに分離されている。しかし、本発明の別の実施例で
は、アレイは分離されず、ワード線ドライバのどちらか
一方の側に配設されている。すなわち、たとえばアレイ
LRUAAとLRUABが単一のLRUAアレイとして
組み合わされて、ワード線ドライバの左側に配設され、
アレイTAGAとTAGBが単一のタグ・アレイとして
組み合わされて、ワード線ドライバの右側に配設され
る。応用例によっては、レイアウト上の配慮から後者の
構造が必要となることもある。
【0037】キャッシュ行データは、別々のローカル・
ワード線のセットに記憶される。たとえば、MWL0に
関して、4本のローカル・ワード線(LWL0Aないし
LWL0D)のそれぞれが、タグ・アレイ中の各タグご
とに1つずつ、キャッシュ行を記憶する。4本のローカ
ル・ワード線を示したが、実際には性能を高めるために
それぞれがさらに小さなローカル・ワード線に分離され
ることに留意されたい。たとえば、図に示した各ローカ
ル・ワード線ごとに、実際には8本のローカル・ワード
線が使用され、それぞれが16個(パリティ・ビットを
含めれば18個)のメモリ・セルに結合される。したが
って、図4に示したローカル・ワード線は、単一ローカ
ル・ワード線でもよく、あるいは(好ましくは)同じ制
御/エネーブル信号を受け取る1組のローカル・ワード
線でもよい。異なるセット連想性(たとえば、8重セッ
ト連想キャッシュ)をサポートするキャッシュを構成す
る場合、8つのキャッシュ行と、各マスタ・ワード線ご
とに少くとも8組のローカル・ワード線があることにな
る。
ワード線のセットに記憶される。たとえば、MWL0に
関して、4本のローカル・ワード線(LWL0Aないし
LWL0D)のそれぞれが、タグ・アレイ中の各タグご
とに1つずつ、キャッシュ行を記憶する。4本のローカ
ル・ワード線を示したが、実際には性能を高めるために
それぞれがさらに小さなローカル・ワード線に分離され
ることに留意されたい。たとえば、図に示した各ローカ
ル・ワード線ごとに、実際には8本のローカル・ワード
線が使用され、それぞれが16個(パリティ・ビットを
含めれば18個)のメモリ・セルに結合される。したが
って、図4に示したローカル・ワード線は、単一ローカ
ル・ワード線でもよく、あるいは(好ましくは)同じ制
御/エネーブル信号を受け取る1組のローカル・ワード
線でもよい。異なるセット連想性(たとえば、8重セッ
ト連想キャッシュ)をサポートするキャッシュを構成す
る場合、8つのキャッシュ行と、各マスタ・ワード線ご
とに少くとも8組のローカル・ワード線があることにな
る。
【0038】ローカル・ワード線に結合されるメモリ・
セルMは、図9に示すように、トランジスタBS3、B
S4のゲートがローカル・ワード線LWL0Aに結合さ
れる代りにマスタ・ワード線の1本に結合される点で、
セルAとは異なる。したがって、図8に示すように、図
3に示したセルBに対するBS1、BS2のゲートはM
WL0に結合される。また、図4のローカル・ワード線
の配置は、ローカル・ワード線に結合されたメモリ・セ
ルがアクセス・データと同じビット線に結合されること
を暗示するものと解釈すべきではなく、たとえば、図3
と9に示すようにセルA(LWL0Aに沿ったメモリ・
セル)がセルC(LWL255Aに沿って同じ位置にあ
るメモリ・セル)と同じ1組のビット線BLC、BLD
に結合されることに留意されたい。
セルMは、図9に示すように、トランジスタBS3、B
S4のゲートがローカル・ワード線LWL0Aに結合さ
れる代りにマスタ・ワード線の1本に結合される点で、
セルAとは異なる。したがって、図8に示すように、図
3に示したセルBに対するBS1、BS2のゲートはM
WL0に結合される。また、図4のローカル・ワード線
の配置は、ローカル・ワード線に結合されたメモリ・セ
ルがアクセス・データと同じビット線に結合されること
を暗示するものと解釈すべきではなく、たとえば、図3
と9に示すようにセルA(LWL0Aに沿ったメモリ・
セル)がセルC(LWL255Aに沿って同じ位置にあ
るメモリ・セル)と同じ1組のビット線BLC、BLD
に結合されることに留意されたい。
【0039】動作に際しては、マスタ・ワード線MWL
0−MWL255のうちの1本がマスタ・ワード線デコ
ーダ上のインデックス・アドレスに応じて選択され駆動
される。所与のセットを選択するためにマスタ・ワード
線のうちの1本が選択されるとき、それぞれのキャッシ
ュ行A−Dに関するタグ・アレイ、LRUアレイ及び有
効性アレイ中の情報がアクセスされ感知される。図13
に示すように、センス中にビット線をセンス増幅器交差
結合対から絶縁するため、制御入力としてSASET信
号を受け取る、p型ビット線分離デバイスISO1、I
SO2を有する、従来型の交差結合インバータ対を含む
CMOSセンス増幅器が使用される。この特徴は、LR
Uアレイ、タグ・アレイ及び有効性アレイの読取り、修
正、書込みサイクルに対処するために必要である。この
センス増幅器は、ビット線がそのサイクル中ずっと駆動
されず、したがって書込みサイクル中を除き完全に放電
されることがないので、電力削減素子でもある。先に図
3に関して論じたように、アクセスされたタグがプロセ
ッサから受け取ったタグと一致しない場合、アクセスさ
れるセットにあるキャッシュ行A−Dのどれも要求され
た情報を記憶していず、これらのキャッシュ行へのアク
セスは、XOR140からのミス信号の受信により読取
り/書込みエネーブル・ブロック160をディスエーブ
ルすることによって打ち切られる。
0−MWL255のうちの1本がマスタ・ワード線デコ
ーダ上のインデックス・アドレスに応じて選択され駆動
される。所与のセットを選択するためにマスタ・ワード
線のうちの1本が選択されるとき、それぞれのキャッシ
ュ行A−Dに関するタグ・アレイ、LRUアレイ及び有
効性アレイ中の情報がアクセスされ感知される。図13
に示すように、センス中にビット線をセンス増幅器交差
結合対から絶縁するため、制御入力としてSASET信
号を受け取る、p型ビット線分離デバイスISO1、I
SO2を有する、従来型の交差結合インバータ対を含む
CMOSセンス増幅器が使用される。この特徴は、LR
Uアレイ、タグ・アレイ及び有効性アレイの読取り、修
正、書込みサイクルに対処するために必要である。この
センス増幅器は、ビット線がそのサイクル中ずっと駆動
されず、したがって書込みサイクル中を除き完全に放電
されることがないので、電力削減素子でもある。先に図
3に関して論じたように、アクセスされたタグがプロセ
ッサから受け取ったタグと一致しない場合、アクセスさ
れるセットにあるキャッシュ行A−Dのどれも要求され
た情報を記憶していず、これらのキャッシュ行へのアク
セスは、XOR140からのミス信号の受信により読取
り/書込みエネーブル・ブロック160をディスエーブ
ルすることによって打ち切られる。
【0040】本発明の1つの特徴は、キャッシュ・ヒッ
トの場合、アクセスが継続されるが、要求されたデータ
を供給するために必要なキャッシュ行(またはそのキャ
ッシュ行の部分)に対するアクセスのみが継続されるこ
とである。この機能はLWL制御機構200によって実
現される。図10は、図3に示したLWL制御機構20
0のより詳しい回路図である。実際にはLWL制御機構
200は、図10に示したものと類似の構造の回路ブロ
ックが各キャッシュ行A−Dごとに8個ずつ、計32個
からなる。各ブロックの入力は後述するように異なる。
LWL制御機構200の各ブロックは、4個のバイト・
エネーブル信号BE0−BE3のうちの2個とワード・
エネーブル信号WE0−WE4の1つの組合せを受け取
る。具体的には、各ブロックが一方の入力でBE0もし
くはBE2を受け取り、他方の入力でBE1またはBE
3を受け取る。各LWL制御機構ブロックはまた4個の
HITA−D信号の1つを受け取る。図10に示した具
体例では、LWL制御機構は、BE0、BE1、HIT
A及びWE0を受け取る。これらの入力は、NAND
ND24とND25、NOR NR31とNR30、N
AND20、NAND ND21ないしND23、イン
バータI1及びNAND ND30を介して処理され
る。その結果、LWL制御機構は、キャッシュ行A上で
ヒットがあり、128ビットのキャッシュ行内の最初の
32ビット・ワード0のバイト0と1がアクセスされる
ことを知る。その結果、LWL制御機構は、キャッシュ
行A用のローカル・ワード線を駆動するための信号SS
ELAと、最初の16ビット線用のセンス増幅器をセッ
トするための(したがってWE0の半分だけにアクセス
するための)信号SASELAとを発生する。信号WR
TT0とWRTT2は、選択された32ビット・ワード
中の選択されたバイト0と1のそれぞれの書込みを選択
的にエネーブルするために使用される。
トの場合、アクセスが継続されるが、要求されたデータ
を供給するために必要なキャッシュ行(またはそのキャ
ッシュ行の部分)に対するアクセスのみが継続されるこ
とである。この機能はLWL制御機構200によって実
現される。図10は、図3に示したLWL制御機構20
0のより詳しい回路図である。実際にはLWL制御機構
200は、図10に示したものと類似の構造の回路ブロ
ックが各キャッシュ行A−Dごとに8個ずつ、計32個
からなる。各ブロックの入力は後述するように異なる。
LWL制御機構200の各ブロックは、4個のバイト・
エネーブル信号BE0−BE3のうちの2個とワード・
エネーブル信号WE0−WE4の1つの組合せを受け取
る。具体的には、各ブロックが一方の入力でBE0もし
くはBE2を受け取り、他方の入力でBE1またはBE
3を受け取る。各LWL制御機構ブロックはまた4個の
HITA−D信号の1つを受け取る。図10に示した具
体例では、LWL制御機構は、BE0、BE1、HIT
A及びWE0を受け取る。これらの入力は、NAND
ND24とND25、NOR NR31とNR30、N
AND20、NAND ND21ないしND23、イン
バータI1及びNAND ND30を介して処理され
る。その結果、LWL制御機構は、キャッシュ行A上で
ヒットがあり、128ビットのキャッシュ行内の最初の
32ビット・ワード0のバイト0と1がアクセスされる
ことを知る。その結果、LWL制御機構は、キャッシュ
行A用のローカル・ワード線を駆動するための信号SS
ELAと、最初の16ビット線用のセンス増幅器をセッ
トするための(したがってWE0の半分だけにアクセス
するための)信号SASELAとを発生する。信号WR
TT0とWRTT2は、選択された32ビット・ワード
中の選択されたバイト0と1のそれぞれの書込みを選択
的にエネーブルするために使用される。
【0041】図11に示すように、これらの信号はアレ
イ41の選択された部分を活動化するために使用され
る。図11に示すように、このキャッシュ行データは、
アレイの中心に配設されたマスタ・ワード線のデコーダ
/ドライバのどちらかの側に配設されることに留意され
たい。前述のように、実際にはキャッシュ行は8本のロ
ーカル・ワード線に分割される。図11に示した実施例
では、各キャッシュ行に関する最初のローカル・ワード
線(第1データ・ワード0のバイト0と1を記憶するワ
ード線)が第1のサブアレイS内にあり、各キャッシュ
行に関する第2のローカル・ワード線(第1データ・ワ
ード0のバイト2と3を記憶するワード線)がマスタ・
ワード線デコーダの他の側に配置された第2のサブアレ
イT内にあり、第3のローカル・ワード線がサブアレイ
Sに隣接する第3のサブアレイU内にあり、以下同様と
なるように、キャッシュ・アレイが配置される。HIT
A−HITD信号が各サブアレイS−Z内の各LWL制
御機構に送られる。前述のように32個のLWL制御機
構200があり、それぞれが離散的な1組のSSEL信
号とSASEL信号を提供する。図示しやすいように、
図では1組の信号SASELA−DとSSELA−Dが
示してある。アクセス・サイクルの開始時に、所望のワ
ードに関するセクション選択信号SSELA−SSEL
Dのすべてが高になり、選択されたマスタ・ワード線
(すなわち、選択されたセット)に関するそのワードの
ローカル・ワード線がすべてエネーブルされる。しか
し、TAGが比較されヒットが検出された(すなわち、
上記のようにHITAは高に留まり、HITB−Dが降
下する)後、LWL制御機構からのSSELA信号だけ
が高に留まり、残りの信号SSELB−Dは降下し、S
ASETA信号は高になる。図12に示すように、ロー
カル・ワード線ドライバはSSELA−Dをエネーブル
入力として受け取り、そのアクセス・サイクル全体の間
キャッシュ行Aに関するローカル・ワード線だけがエネ
ーブルされ、残りのローカル・ワード線は選択解除され
非活動化される。図13に示すように、SASETを活
動化信号として受け取るセンス増幅器はそのセンス・サ
イクル全体の間動作し、残りのセンス増幅器はディスエ
ーブルされて、関連するビット線をディスエーブルす
る。
イ41の選択された部分を活動化するために使用され
る。図11に示すように、このキャッシュ行データは、
アレイの中心に配設されたマスタ・ワード線のデコーダ
/ドライバのどちらかの側に配設されることに留意され
たい。前述のように、実際にはキャッシュ行は8本のロ
ーカル・ワード線に分割される。図11に示した実施例
では、各キャッシュ行に関する最初のローカル・ワード
線(第1データ・ワード0のバイト0と1を記憶するワ
ード線)が第1のサブアレイS内にあり、各キャッシュ
行に関する第2のローカル・ワード線(第1データ・ワ
ード0のバイト2と3を記憶するワード線)がマスタ・
ワード線デコーダの他の側に配置された第2のサブアレ
イT内にあり、第3のローカル・ワード線がサブアレイ
Sに隣接する第3のサブアレイU内にあり、以下同様と
なるように、キャッシュ・アレイが配置される。HIT
A−HITD信号が各サブアレイS−Z内の各LWL制
御機構に送られる。前述のように32個のLWL制御機
構200があり、それぞれが離散的な1組のSSEL信
号とSASEL信号を提供する。図示しやすいように、
図では1組の信号SASELA−DとSSELA−Dが
示してある。アクセス・サイクルの開始時に、所望のワ
ードに関するセクション選択信号SSELA−SSEL
Dのすべてが高になり、選択されたマスタ・ワード線
(すなわち、選択されたセット)に関するそのワードの
ローカル・ワード線がすべてエネーブルされる。しか
し、TAGが比較されヒットが検出された(すなわち、
上記のようにHITAは高に留まり、HITB−Dが降
下する)後、LWL制御機構からのSSELA信号だけ
が高に留まり、残りの信号SSELB−Dは降下し、S
ASETA信号は高になる。図12に示すように、ロー
カル・ワード線ドライバはSSELA−Dをエネーブル
入力として受け取り、そのアクセス・サイクル全体の間
キャッシュ行Aに関するローカル・ワード線だけがエネ
ーブルされ、残りのローカル・ワード線は選択解除され
非活動化される。図13に示すように、SASETを活
動化信号として受け取るセンス増幅器はそのセンス・サ
イクル全体の間動作し、残りのセンス増幅器はディスエ
ーブルされて、関連するビット線をディスエーブルす
る。
【0042】動作全体を図14に示す。サイクルの開始
時に、アクセスされたセットがエネーブルされる(たと
えば、MWL0がエネーブルされ、残りのマスタ・ワー
ド線は非活動化されたままとなる)。その結果、そのア
クセス・データを記憶するマスタ・ワード線メモリ・セ
ル(例えば、図4と8に示すセルB)に記憶されたデー
タがアクセスされ、それに関連するビット線(たとえ
ば、BLA、BLB)を駆動する。そのサイクル中の少
し後でLWL0−4がエネーブルされ、適当なローカル
・ワード線のすべてがオンになり始める。しかし、前述
のように、HITAが検出された場合は、LWL0Aだ
けがエネーブルされて、関連するビット線BLC、BL
Dを駆動し、残りのローカル・ワード線(ならびにそれ
に関連するセンス増幅器)は非活動化される。したがっ
て、本発明は、通常なら選択されたセットに関するビッ
ト線のすべてをそのサイクル全体の間エネーブルされた
状態に維持することによって発生する、不必要な電力消
費量を節減する。この結果は、主として本発明のマスタ
/ローカル・ワード線構成によって達成される。この構
成は、これらのセルがマスタ・ワード線に直接接続され
ているために、アクセス情報がサイクル中のより早い時
期に感知でき出力できるようにする。
時に、アクセスされたセットがエネーブルされる(たと
えば、MWL0がエネーブルされ、残りのマスタ・ワー
ド線は非活動化されたままとなる)。その結果、そのア
クセス・データを記憶するマスタ・ワード線メモリ・セ
ル(例えば、図4と8に示すセルB)に記憶されたデー
タがアクセスされ、それに関連するビット線(たとえ
ば、BLA、BLB)を駆動する。そのサイクル中の少
し後でLWL0−4がエネーブルされ、適当なローカル
・ワード線のすべてがオンになり始める。しかし、前述
のように、HITAが検出された場合は、LWL0Aだ
けがエネーブルされて、関連するビット線BLC、BL
Dを駆動し、残りのローカル・ワード線(ならびにそれ
に関連するセンス増幅器)は非活動化される。したがっ
て、本発明は、通常なら選択されたセットに関するビッ
ト線のすべてをそのサイクル全体の間エネーブルされた
状態に維持することによって発生する、不必要な電力消
費量を節減する。この結果は、主として本発明のマスタ
/ローカル・ワード線構成によって達成される。この構
成は、これらのセルがマスタ・ワード線に直接接続され
ているために、アクセス情報がサイクル中のより早い時
期に感知でき出力できるようにする。
【0043】先に論じたように、本発明は完全に結合さ
れたLRUメモリ−キャッシュ書込みモードをサポート
する。図3に示すように、LRU制御機構150は排他
的ORゲート140が発生する信号を受け取る。この信
号がキャッシュHITを示す場合、LRU制御機構15
0の制御出力によってCPUはアレイ41のデータをア
クセスする。(以下で詳しく述べるように、LRUは依
然として記憶されたLRUデータをキャッシュ・ヒット
・アクセス中に更新する)。指定されたタグへのアクセ
スは上記のように続けられる。この信号が書込みサイク
ル中にキャッシュ・ミスを示す場合、CPUはそのデー
タを求めて主メモリに行かなければならず、LRU制御
機構150によって指定されるキャッシュ行にあるキャ
ッシュの所与のインデックス・アドレスにそのデータを
記憶することになる。
れたLRUメモリ−キャッシュ書込みモードをサポート
する。図3に示すように、LRU制御機構150は排他
的ORゲート140が発生する信号を受け取る。この信
号がキャッシュHITを示す場合、LRU制御機構15
0の制御出力によってCPUはアレイ41のデータをア
クセスする。(以下で詳しく述べるように、LRUは依
然として記憶されたLRUデータをキャッシュ・ヒット
・アクセス中に更新する)。指定されたタグへのアクセ
スは上記のように続けられる。この信号が書込みサイク
ル中にキャッシュ・ミスを示す場合、CPUはそのデー
タを求めて主メモリに行かなければならず、LRU制御
機構150によって指定されるキャッシュ行にあるキャ
ッシュの所与のインデックス・アドレスにそのデータを
記憶することになる。
【0044】まず、LRU制御機構150は、キャッシ
ュ・アレイの有効性部分からデータ有効ビットの状況を
検査する。これらのビットのうちのいずれかが、所与の
キャッシュ行A−Dが無効なデータを記憶しつつあるこ
とを示す場合、LRU制御機構150はその所与の部分
に対応する2ビット信号を出力することになり、LWL
制御機構200は上記のようにそのキャッシュ行に関す
るセクション選択信号とセンス増幅器エネーブル信号を
生成する。このアクセス・サイクル中にLWL制御機構
200は、選択されたキャッシュ行A−Dに関するデー
タ有効ビットを、選択された部分が現在有効データを記
憶しつつあることを示すように更新する。次のサイクル
で、キャッシュ・ミスの場合、データ有効ビットが再び
照会され、無効なインデックス・データを記憶する選択
されたセット中のいずれかのキャッシュ行が再びアクセ
スされることになる。
ュ・アレイの有効性部分からデータ有効ビットの状況を
検査する。これらのビットのうちのいずれかが、所与の
キャッシュ行A−Dが無効なデータを記憶しつつあるこ
とを示す場合、LRU制御機構150はその所与の部分
に対応する2ビット信号を出力することになり、LWL
制御機構200は上記のようにそのキャッシュ行に関す
るセクション選択信号とセンス増幅器エネーブル信号を
生成する。このアクセス・サイクル中にLWL制御機構
200は、選択されたキャッシュ行A−Dに関するデー
タ有効ビットを、選択された部分が現在有効データを記
憶しつつあることを示すように更新する。次のサイクル
で、キャッシュ・ミスの場合、データ有効ビットが再び
照会され、無効なインデックス・データを記憶する選択
されたセット中のいずれかのキャッシュ行が再びアクセ
スされることになる。
【0045】選択されたセットのすべての部分が有効デ
ータを記憶する中でこのプロセスが続行する。次いで、
その所与のセットに関して別のキャッシュ・ミスが発生
する場合、そのサイクルのLRU部分が呼び出される。
図3に示すように、キャッシュ内のLRUAアレイは、
MRU1、MRU2、MRU3、LRUの4つの記憶域
に編成されている。これらの記憶域は、それぞれキャッ
シュ行の1つに対応する2ビット信号を記憶する。これ
らの2ビットは、図3のエンコーダENCによってコー
ド化され、ヒットが発生したときだけ有効である、HI
TA−D線のコード化された相等物である。MRU1記
憶域は、最近に使用されたキャッシュ行A−Dに関する
2ビット信号を記憶し、MRU2記憶域は、その1つ前
に使用されたキャッシュ行A−Dに関する2ビット信号
を記憶し、MRU3記憶域は、その1つ前に使用された
キャッシュ行A−Dに関する2ビット信号を記憶し、L
RU記憶アレイは、最も以前に使用されたキャッシュ行
A−Dに関する2ビット信号を記憶する。したがって、
LRUモードでは、LRU記憶域によって示される部分
A−Dがアクセスされる。LRU制御機構150は単に
LRU記憶域に記憶された2ビット信号を出力し、それ
を4つのヒット信号に復号し、それをLWL制御機構2
00に送り、その部分に関するセクション選択信号とセ
ンス増幅器エネーブル信号が出力される。アレイが最初
に電源投入されるとき、LRUAアレイ内のすべてのデ
ータはランダムであるが、電源投入時に有効ビットがク
リアされるので、すべてのデータ有効ビットは、そのキ
ャッシュ・アレイに記憶されたデータが無効であること
を示す。
ータを記憶する中でこのプロセスが続行する。次いで、
その所与のセットに関して別のキャッシュ・ミスが発生
する場合、そのサイクルのLRU部分が呼び出される。
図3に示すように、キャッシュ内のLRUAアレイは、
MRU1、MRU2、MRU3、LRUの4つの記憶域
に編成されている。これらの記憶域は、それぞれキャッ
シュ行の1つに対応する2ビット信号を記憶する。これ
らの2ビットは、図3のエンコーダENCによってコー
ド化され、ヒットが発生したときだけ有効である、HI
TA−D線のコード化された相等物である。MRU1記
憶域は、最近に使用されたキャッシュ行A−Dに関する
2ビット信号を記憶し、MRU2記憶域は、その1つ前
に使用されたキャッシュ行A−Dに関する2ビット信号
を記憶し、MRU3記憶域は、その1つ前に使用された
キャッシュ行A−Dに関する2ビット信号を記憶し、L
RU記憶アレイは、最も以前に使用されたキャッシュ行
A−Dに関する2ビット信号を記憶する。したがって、
LRUモードでは、LRU記憶域によって示される部分
A−Dがアクセスされる。LRU制御機構150は単に
LRU記憶域に記憶された2ビット信号を出力し、それ
を4つのヒット信号に復号し、それをLWL制御機構2
00に送り、その部分に関するセクション選択信号とセ
ンス増幅器エネーブル信号が出力される。アレイが最初
に電源投入されるとき、LRUAアレイ内のすべてのデ
ータはランダムであるが、電源投入時に有効ビットがク
リアされるので、すべてのデータ有効ビットは、そのキ
ャッシュ・アレイに記憶されたデータが無効であること
を示す。
【0046】図15ないし23は、初期キャッシュ・ロ
ード時における単一の選択されたキャッシュ行上でのL
RU動作シーケンスの例を示す。この例では、LRUデ
ータは電源投入時にはすべてゼロと見なされる。各テー
ブルは、それぞれ当該の記憶域MRU1、MRU2、M
RU3、LRUに記憶された2ビット値MSB、LSB
を示す。以下の議論では、0,0の2ビット信号がキャ
ッシュ行Aに対応し、信号0,1がキャッシュ行Bに対
応し、信号1,0がキャッシュ行Cに対応し、信号1,
1がキャッシュ行Dに対応するものとする。先に想定し
たように、電源投入時にすべてのLRUデータは0,0
にある。これは図15に示されている。図16ないし1
9に示すように、選択されたセットはそれぞれキャッシ
ュ行A、C、B、Dに順次書き込まれる。これが起こる
のは、初期キャッシュ・ロード中に有効性ビットがすべ
てオフであるためである。複数の有効性ビットがオフの
ときは、優先コード化を用いて順序を選択する。各キャ
ッシュ行がアクセスされるとき、LRUAデータが実際
に1つのLRUA記憶域から次のLRUA記憶域に、す
なわちMRU1からMRU2に、MRU2からMRU3
に、MRU3からLRUにシフトされることに留意され
たい。したがって、図19に示すように、初期キャッシ
ュ・ロード動作の終了時に、MRU1はキャッシュDに
関する2ビット信号を記憶し、MRU2はキャッシュ行
Bに関する信号を記憶し、MRU3はキャッシュ行Cに
関する信号を記憶し、LRUはキャッシュ行Aに関する
信号を記憶する。
ード時における単一の選択されたキャッシュ行上でのL
RU動作シーケンスの例を示す。この例では、LRUデ
ータは電源投入時にはすべてゼロと見なされる。各テー
ブルは、それぞれ当該の記憶域MRU1、MRU2、M
RU3、LRUに記憶された2ビット値MSB、LSB
を示す。以下の議論では、0,0の2ビット信号がキャ
ッシュ行Aに対応し、信号0,1がキャッシュ行Bに対
応し、信号1,0がキャッシュ行Cに対応し、信号1,
1がキャッシュ行Dに対応するものとする。先に想定し
たように、電源投入時にすべてのLRUデータは0,0
にある。これは図15に示されている。図16ないし1
9に示すように、選択されたセットはそれぞれキャッシ
ュ行A、C、B、Dに順次書き込まれる。これが起こる
のは、初期キャッシュ・ロード中に有効性ビットがすべ
てオフであるためである。複数の有効性ビットがオフの
ときは、優先コード化を用いて順序を選択する。各キャ
ッシュ行がアクセスされるとき、LRUAデータが実際
に1つのLRUA記憶域から次のLRUA記憶域に、す
なわちMRU1からMRU2に、MRU2からMRU3
に、MRU3からLRUにシフトされることに留意され
たい。したがって、図19に示すように、初期キャッシ
ュ・ロード動作の終了時に、MRU1はキャッシュDに
関する2ビット信号を記憶し、MRU2はキャッシュ行
Bに関する信号を記憶し、MRU3はキャッシュ行Cに
関する信号を記憶し、LRUはキャッシュ行Aに関する
信号を記憶する。
【0047】次いで、図20ないし22に示すように、
通常のキャッシュ動作中に同じセットの異なるキャッシ
ュ行A−Dがアクセスされる。より詳しくは、図21に
おいて、キャッシュ行Bは、以前には記憶域MRU3に
記憶されていた(図20参照)、キャッシュ行Bを表す
2ビット信号(以下では「標識」と称する)が今は記憶
域MRU1に記憶され、以前はMRU2に記憶されてい
た標識がMRU3に移されるようにアクセスされること
に留意されたい。ただし、LRUデータは変化せず、以
前にはキャッシュ行Cに関する1,0標識を記憶してい
たLRU記憶域(図20参照)とそのデータは図21で
変化しないことに留意されたい。キャッシュ行Cは依然
として最も以前に使用されたキャッシュ行だからであ
る。したがって、本発明は、図21のLRU記憶域でシ
フトを終らせるためのLRU制御回路を含む。言い換え
れば、本発明においては、現在アクセスされているキャ
ッシュ行の標識を以前に記憶していた記憶域またはそれ
より上にあるすべての記憶域が更新され、その記憶域よ
り下の記憶域は更新されない。図20ないし21に示し
た例では、現在アクセス中のキャッシュ・インデックス
行の表現を以前に記憶していた記憶域(部分Bに関する
表現を以前に記憶していたMRU3)より上にあるすべ
ての記憶域(MRU1とMRU2)は更新され、3の記
憶域より下にある記憶域(LRU)は更新されない。記
憶域が「上」または「下」にあると言うとき、最近使用
の減少する順序でキャッシュ行標識を記憶する記憶域を
参照していることに留意されたい。すなわち、MRU1
はMRU2より「上」にあり、以下同様である。記憶域
はマスタ・ワード線に沿って所与の任意の順序で配置で
きるが、実際には、上記の論理関係を近似するレイアウ
トが好ましい(すなわち、図3に示すように、記憶域
は、隣接するビット線アドレスをもつような順序でマス
タ・ワード線に沿って配列される)。
通常のキャッシュ動作中に同じセットの異なるキャッシ
ュ行A−Dがアクセスされる。より詳しくは、図21に
おいて、キャッシュ行Bは、以前には記憶域MRU3に
記憶されていた(図20参照)、キャッシュ行Bを表す
2ビット信号(以下では「標識」と称する)が今は記憶
域MRU1に記憶され、以前はMRU2に記憶されてい
た標識がMRU3に移されるようにアクセスされること
に留意されたい。ただし、LRUデータは変化せず、以
前にはキャッシュ行Cに関する1,0標識を記憶してい
たLRU記憶域(図20参照)とそのデータは図21で
変化しないことに留意されたい。キャッシュ行Cは依然
として最も以前に使用されたキャッシュ行だからであ
る。したがって、本発明は、図21のLRU記憶域でシ
フトを終らせるためのLRU制御回路を含む。言い換え
れば、本発明においては、現在アクセスされているキャ
ッシュ行の標識を以前に記憶していた記憶域またはそれ
より上にあるすべての記憶域が更新され、その記憶域よ
り下の記憶域は更新されない。図20ないし21に示し
た例では、現在アクセス中のキャッシュ・インデックス
行の表現を以前に記憶していた記憶域(部分Bに関する
表現を以前に記憶していたMRU3)より上にあるすべ
ての記憶域(MRU1とMRU2)は更新され、3の記
憶域より下にある記憶域(LRU)は更新されない。記
憶域が「上」または「下」にあると言うとき、最近使用
の減少する順序でキャッシュ行標識を記憶する記憶域を
参照していることに留意されたい。すなわち、MRU1
はMRU2より「上」にあり、以下同様である。記憶域
はマスタ・ワード線に沿って所与の任意の順序で配置で
きるが、実際には、上記の論理関係を近似するレイアウ
トが好ましい(すなわち、図3に示すように、記憶域
は、隣接するビット線アドレスをもつような順序でマス
タ・ワード線に沿って配列される)。
【0048】図22では、キャッシュ行Aがアクセスさ
れて、標識をMRU2からMRU1に再ロードさせ、旧
MRU1データをMRU2にロードさせる。この場合
も、シフトは、アクセスされたキャッシュ行の標識を以
前に記憶していたMRU2記憶域の下の記憶域であるM
RU3で停止することに留意されたい。
れて、標識をMRU2からMRU1に再ロードさせ、旧
MRU1データをMRU2にロードさせる。この場合
も、シフトは、アクセスされたキャッシュ行の標識を以
前に記憶していたMRU2記憶域の下の記憶域であるM
RU3で停止することに留意されたい。
【0049】図22では、キャッシュ・ミス(たとえ
ば、インデックス・データの部分Bに対する)が検出さ
れた。この場合、LRU記憶域は変化しない。後続サイ
クルでデータがメモリからキャッシュに移動するとき、
データ有効ビットが照会される。それらがすべて、キャ
ッシュ行A−Dがすべて有効データを記憶していること
を示すと仮定すると、主メモリ・データが、図22のL
RU記憶域で最も以前にアクセスされたデータを記憶し
ているものとして示されているキャッシュ行であった、
キャッシュ行Cに書き込まれることになる。この場合、
LRU記憶域より「下の」記憶域はないので、LRUA
アレイ中のすべてのデータがシフトされることになる
(図23を図22と比較されたい)。
ば、インデックス・データの部分Bに対する)が検出さ
れた。この場合、LRU記憶域は変化しない。後続サイ
クルでデータがメモリからキャッシュに移動するとき、
データ有効ビットが照会される。それらがすべて、キャ
ッシュ行A−Dがすべて有効データを記憶していること
を示すと仮定すると、主メモリ・データが、図22のL
RU記憶域で最も以前にアクセスされたデータを記憶し
ているものとして示されているキャッシュ行であった、
キャッシュ行Cに書き込まれることになる。この場合、
LRU記憶域より「下の」記憶域はないので、LRUA
アレイ中のすべてのデータがシフトされることになる
(図23を図22と比較されたい)。
【0050】図24は、LRU制御機構150の一部分
のハードウェア実施態様を示す回路構成図である。この
回路は、3個のマルチプレクサMUXAないしMUXC
を含んでいる。これらのマルチプレクサの出力は、それ
ぞれ各LRUA記憶域MRU2、MRU3、LRUの2
ビット内容を制御する。各マルチプレクサは、それぞれ
のLRUA記憶域に記憶されている現標識ならびにすぐ
上位のLRUA記憶域の標識を入力として受け取る。す
なわち、たとえばMUXAはMRU1とMRU2に記憶
されている標識を受け取る。これらのマルチプレクサは
それぞれ制御信号S1ないしS3によって制御される。
図25に示すように、現在MRU1、MRU2、MRU
3に記憶されている各標識の最下位ビット(0)及び最
上位ビット(1)が、現在アクセスされているキャッシ
ュ行の標識の最下位ビットCURR(0)及び最上位ビ
ットCURR(1)と比較される。この回路は、排他的
ORとNORの順次バンクからなる、結果として得られ
る信号S1ないしS3が比較に応じて状態を切り替え
る。たとえば、キャッシュ行Cが現在アクセスされてお
り、キャッシュ行Cの標識が現在MRU3に記憶されて
いる場合、C標識はMRU1に記憶され、信号S1が立
ち上がって、MUXAに、以前にMRU1に記憶されて
いた標識をMRU2に出力させ、信号S2が立ち上がっ
て、MUXBに、以前にMRU2に記憶されていた標識
をMRU3に記憶させ、信号S3は(現在アクセスされ
ている行の標識が以前にMRU3に記憶されていた標識
と一致したので)低のままとなって、MUXCはシフト
を起こさず、LRU記憶域は以前に記憶していたのと同
じ標識を引き続き記憶することになる。LRU制御機構
のこの実施態様は簡単で面積効率がよく、それによっ
て、データ妥当性検査を組み込んだ真のLRUアルゴリ
ズムが使用しやすくなる。
のハードウェア実施態様を示す回路構成図である。この
回路は、3個のマルチプレクサMUXAないしMUXC
を含んでいる。これらのマルチプレクサの出力は、それ
ぞれ各LRUA記憶域MRU2、MRU3、LRUの2
ビット内容を制御する。各マルチプレクサは、それぞれ
のLRUA記憶域に記憶されている現標識ならびにすぐ
上位のLRUA記憶域の標識を入力として受け取る。す
なわち、たとえばMUXAはMRU1とMRU2に記憶
されている標識を受け取る。これらのマルチプレクサは
それぞれ制御信号S1ないしS3によって制御される。
図25に示すように、現在MRU1、MRU2、MRU
3に記憶されている各標識の最下位ビット(0)及び最
上位ビット(1)が、現在アクセスされているキャッシ
ュ行の標識の最下位ビットCURR(0)及び最上位ビ
ットCURR(1)と比較される。この回路は、排他的
ORとNORの順次バンクからなる、結果として得られ
る信号S1ないしS3が比較に応じて状態を切り替え
る。たとえば、キャッシュ行Cが現在アクセスされてお
り、キャッシュ行Cの標識が現在MRU3に記憶されて
いる場合、C標識はMRU1に記憶され、信号S1が立
ち上がって、MUXAに、以前にMRU1に記憶されて
いた標識をMRU2に出力させ、信号S2が立ち上がっ
て、MUXBに、以前にMRU2に記憶されていた標識
をMRU3に記憶させ、信号S3は(現在アクセスされ
ている行の標識が以前にMRU3に記憶されていた標識
と一致したので)低のままとなって、MUXCはシフト
を起こさず、LRU記憶域は以前に記憶していたのと同
じ標識を引き続き記憶することになる。LRU制御機構
のこの実施態様は簡単で面積効率がよく、それによっ
て、データ妥当性検査を組み込んだ真のLRUアルゴリ
ズムが使用しやすくなる。
【0051】尚、本願の発明の構成は、以下の様になっ
ている。 (1)集積回路チップ上に形成された、主記憶手段から
取り出したデータを記憶するためのキャッシュであっ
て、各行がそれぞれ、主メモリ・データを記憶するため
の第1記憶域内の第1の複数のメモリ・セルと、前記主
メモリ・データに対応するアクセス情報を記憶するため
の第2記憶域内の第2の複数のセルとを有し、前記第1
記憶域と第2記憶域がほぼ同じサイクル時間を有し、前
記第2記憶域が前記第1記憶域より前にアクセスされ
る、複数のインデックス行と、前記複数のインデックス
行のうちの選択された行に関する前記アクセス情報を受
け取って、前記複数のインデックス行のうちの所与の行
について、前記第1記憶域のアレイに記憶されている前
記主メモリ・データのいずれかにアクセスすべきかどう
かを検出する、第1の制御機構と、そのアクセス・サイ
クルが完了する前に前記複数のインデックス行のうちの
前記選択された行の前記第1記憶域のアレイの少くとも
一部分を選択的に非活動化するためのアレイ・制御機構
とを備えるキャッシュ。 (2)前記第2記憶域のアレイが、前記複数のインデッ
クス行の各行に少くとも1つのタグ・アドレスを記憶す
ることを特徴とする、(1)に記載のキャッシュ。 (3)前記第2記憶域のアレイが、前記複数のインデッ
クス行の各行に、前記第1記憶域のアレイ内の前記複数
のインデックス行のそれぞれに記憶された前記主メモリ
・データの有効性を示すビットを記憶することを特徴と
する、(2)に記載のキャッシュ。 (4)前記複数のインデックス行の各行が、それぞれ複
数のアドレス可能データ・ワードを含む、複数の主メモ
リ・データ・ワードを記憶することを特徴とする、
(3)に記載のキャッシュ。 (5)前記第2記憶域のアレイが、前記複数のインデッ
クス行の各行に、前記複数のインデックス行のそれぞれ
に記憶された前記複数の主メモリ・データ・ワードのそ
れぞれがどれだけ最近にアクセスされたかの相対指示を
与える複数のビットを記憶することを特徴とする、
(4)に記載のキャッシュ。 (6)プロセッサによってアクセスされるデータを記憶
するためのメモリであって、それぞれが1本のマスタ・
ワード線と、前記マスタ・ワード線に結合され、それに
よって制御される複数のローカル・ワード線とを含む、
複数のワード線と、前記マスタ・ワード線に結合された
第1の複数のメモリ・セルと、前記複数のローカル・ワ
ード線に結合され、前記プロセッサによってアクセスさ
れる複数のデータ・ワードを記憶する、第2の複数のメ
モリ・セルとを備え、前記第1の複数のメモリ・セルの
少くとも一部が、前記第2の複数のメモリ・セルによっ
て記憶される前記複数のデータ・ワードに対応するアク
セス情報を記憶することを特徴とする、メモリ。 (7)前記第1の複数のメモリ・セルが、少くとも1つ
のタグ・アドレスを記憶することを特徴とする、(6)
に記載のメモリ。 (8)前記第1の複数のメモリ・セルが、前記第2の複
数のメモリ・セルに記憶されているデータの有効性を示
す複数の有効性ビットを記憶することを特徴とする、
(6)に記載のメモリ。 (9)前記第2の複数のメモリ・セルが複数のデータ・
ワードを記憶し、前記第1の複数のメモリ・セルが、前
記複数のデータ・ワードのうちのどれが最も以前にアク
セスされたかを示す複数のビットを記憶することを特徴
とする、(8)に記載のメモリ。 (10)複数のビット線と、それぞれ1本のマスタ・ワ
ード線と前記マスタ・ワード線に結合されそれによって
制御される複数のローカル・ワード線とを含む複数のワ
ード線とに結合され、メモリ・セルの少くとも一部が前
記マスタ・ワード線に直接結合され、残りのメモリ・セ
ルが前記複数のローカル・ワード線のそれぞれに結合さ
れている、複数のメモリ・セルと、所与のアクセス・サ
イクル中に前記マスタ・ワード線が複数存在し、そのう
ちの1本をエネーブルする、マスタ・ワード線駆動手段
と、前記複数のローカル・ワード線のうちでアクセスさ
れるものを選択し、前記複数のローカル・ワード線のう
ちの残りのものをディスエーブルする制御手段とを含む
メモリ・アレイ。 (11)前記メモリ・アレイが、集積回路基板上に形成
され、前記マスタ・ワード線と前記複数のローカル・ワ
ード線のうちの少くとも1本が、前記複数のメモリ・セ
ルの少くとも一部の上に配置されていることを特徴とす
る、(10)に記載のメモリ・アレイ。 (12)前記マスタ・ワード線と前記複数のローカル・
ワード線のうちの少くとも所与の1本が共に、前記複数
のローカル・ワード線のうちの前記所与の1本に結合さ
れた前記複数のメモリ・セルのほぼすべての上に配置さ
れることを特徴とする、(11)に記載のメモリ・アレ
イ。 (13)前記マスタ・ワード線と前記複数のローカル・
ワード線のうちの前記選択された1本が、ほぼ平行に配
置されることを特徴とする、(11)に記載のメモリ・
アレイ。 (14)前記マスタ・ワード線に直接結合された前記複
数のメモリ・セルのうちの前記選択されたものの上に配
置された、前記マスタ・ワード線及び前記複数のローカ
ル・ワード線のうちの前記選択された1本の第1の部分
が、それぞれ前記マスタ・ワード線及び前記複数のロー
カル・ワード線のうちの前記選択された1本の残りの部
分から分離されることを特徴とする、(13)に記載の
メモリ・アレイ。 (15)前記マスタ・ワード線の前記残りの部分が、前
記複数のローカル・ワード線のうちの前記選択された1
本の前記第1部分に電気的に結合されることを特徴とす
る、(14)に記載のメモリ・アレイ。 (16)前記マスタ・ワード線の前記第1部分が、電源
電圧に接続されることを特徴とする、(15)に記載の
メモリ・アレイ。 (17)複数のメモリ・セルと、前記複数のメモリ・セ
ルの上に配置されそれに結合された、複数の供給電圧線
と、前記複数のメモリ・セルの上に配置された、複数の
マスタ・ワード線と、前記複数のメモリ・セルの上に配
置された複数のローカル・ワード線とを備え、前記複数
の供給電圧線と前記複数のマスタ・ワード線と前記複数
のローカル・ワード線がほぼ平行に配置され、前記複数
のマスタ・ワード線の各々が1組の前記複数のローカル
・ワード線に結合され、1組の前記複数のメモリ・セル
が前記1組の前記複数のローカル・ワード線のうちの1
本に結合され、前記複数のマスタ・ワード線の各々と前
記1組のローカル・ワード線のうちの少くとも1本とが
前記1組のローカル・ワード線のうちの前記の1本に結
合され、前記マスタ・ワード線の一部分がその残りの部
分から分離されて、前記供給電圧線のうちの1本に結合
されることを特徴とする、メモリ・アレイ。 (18)前記複数のメモリ・セルのうちの少くとも一部
が、前記複数のマスタ・ワード線に結合されることを特
徴とする、(17)に記載のメモリ・アレイ。 (19)前記複数のメモリ・セルのうちの前記少くとも
一部が、複数のローカル・ワード線のその残りの部分か
ら分離されて、前記複数のマスタ・ワード線の前記残り
の部分に電気的に結合された部分に結合されることを特
徴とする、(18)に記載のメモリ・アレイ。 (20)さらに、複数の電力供給線と、前記複数のマス
タ・ワード線と前記複数の電力供給線と前記複数のロー
カル・ワード線の上に配置されそれらから分離されたメ
タラジ層とを含み、前記複数の電力供給線が全体として
前記複数のメモリ・セルをほぼ覆うように平行に配置さ
れて、前記メタラジ層から送信された信号からの信号遮
蔽を提供することを特徴とする、(17)に記載のメモ
リ・アレイ。 (21)中央演算処理装置と、データを記憶するための
主メモリと、それぞれ前記主メモリ内の選択された位置
からの複数のデータ・ワードを記憶する、複数のインデ
ックス行を有するキャッシュ装置とを備えるプロセッサ
・システムにおいて、前記主メモリから前記キャッシュ
に更新データ・ワードを書き込む方法であって、所与の
インデックス行について、前記複数のデータ・ワードの
うちに無効なものがあるかどうか判定し、あった場合は
前記所与のインデックスの、前記無効データ・ワードを
記憶している部分に前記更新データ・ワードを書き込む
ステップと、前記所与のインデックスの、前に前記無効
データ・ワードを記憶していた前記部分が、今は有効デ
ータを記憶していることを反映するように、前記所与の
インデックス行に関する第1のアクセス・データを更新
するステップと、前記複数のデータ・ワードがすべて前
記所与のインデックス行に関して有効であった場合に、
前記複数のデータ・ワードのうちのどれが前記中央演算
処理装置によって最も以前にアクセスされたかを決定
し、前記所与のインデックス行の前記最も以前にアクセ
スされたデータ・ワードを記憶している部分に前記更新
データ・ワードを書き込むステップと、前記所与のイン
デックス行の、前記最も以前にアクセスされたデータ・
ワードを前に記憶していた前記部分が最近にアクセスさ
れたことを反映し、前記所与のインデックス行上の、前
記複数のデータ・ワードのうちの異なるデータ・ワード
が、前記中央演算処理装置によって最も以前にアクセス
されたものになったことを示すように、前記所与のイン
デックス行に関する第2のアクセス・データを更新する
ステップとを含む方法。 (22)前記所与のキャッシュ・インデックス行が、前
記第1アクセス・データを記憶することを特徴とする、
(21)に記載の方法。 (23)前記所与のキャッシュ・インデックス行が、前
記第2アクセス・データを記憶することを特徴とする、
(22)に記載の方法。 (24)前記第2アクセス・データが、前記所与のイン
デックス行のデータ・ワードを記憶するすべての部分の
最近の相対使用度を示し、前記第2アクセス・データを
更新する前記ステップが、前記所与のインデックス行
の、前記更新データ・ワードを記憶している部分が今は
最も最近に使用されたものであることを示すように、前
記第2アクセス・データの第1部分を更新するステップ
と、前記所与のインデックス行の、前には最も最近に使
用されたものとして示されていた部分が、今は2番目に
最近に使用されたものであることを示すように、前記第
2アクセス・データの第2部分を更新するステップと、
前記第2アクセス・データの所与の部分中のアクセス・
データが変化しなくなるまで、または、前記第2アクセ
ス・データの最終部分が更新されて前記所与のインデッ
クス行のどの部分が最も以前に使用されたかを示すよう
になるまで、前記アクセス・データの連続する部分に対
して次々に前記更新サイクルを継続するステップとを含
むことを特徴とする、(21)に記載の方法。 (25)キャッシュ・ミスの場合に、n重セット連想式
キャッシュの所与のキャッシュ行の、主メモリ・データ
・ワードを含む部分を更新するLRU法を実行するため
のプロセッサ・システムであって、前記所与のキャッシ
ュ行のどの部分が無効データを記憶しているかを決定す
るための第1手段と、前記第1手段に応答して、前記所
与のキャッシュ行の無効データを記憶している部分に、
前記主メモリ・ワードを書き込むための第2手段とを備
え、前記所与のキャッシュ部分の前記部分がすべて有効
データを記憶している場合に、前記第1手段が、前記所
与のキャッシュ行の前記部分のうちのどれが最も以前に
アクセスされたデータを記憶しているかを決定し、前記
第2手段が、前記所与のキャッシュ行の最も以前にアク
セスされた部分に前記主メモリ・データ・ワードを書き
込み、さらに、前記所与のキャッシュ行の前記部分の使
用度を示すデータを記憶するための複数の記憶域を備
え、前記複数の記憶域のうちの第1のものが、前記所与
のインデックス行の前記部分のうちのどれが最も最近に
アクセスされたかを示し、前記複数の記憶域のうちの少
くとも第2のものが、前記所与のインデックス行の前記
部分のうちのどれが2番目に最近にアクセスされたかを
示し、前記複数の記憶域のうちの最後のものが、前記所
与のインデックス行の前記部分のうちのどれが最も以前
にアクセスされたかを示す、第3手段と、前記複数の記
憶域のそれぞれに結合された書込み入力を有する複数の
マルチプレクサ手段を含む、前記第3手段に記憶されて
いた前記データを更新するための第4手段とを備え、前
記マルチプレクサ手段の各々が、それぞれ前記複数の記
憶域のうちの先行する記憶域に記憶されていたデータを
第1入力として受け取り、前記複数の記憶域のうちその
書込み入力が結合されている前記それぞれの記憶域に記
憶されていたデータを第2入力として受け取り、前記第
1入力と第2入力が同じとき、前記複数のマルチプレク
サ手段のうちの所与のものが、前記第2入力をその出力
側で提供し、前記第1入力と第2入力が異なるときは前
記第1入力をその出力側で提供することを特徴とするプ
ロセッサ・システム。 (26)前記データ・ワードが、前記主メモリから前記
キャッシュの前記所与のインデックス行の前記最も以前
に使用された部分に書き込まれたとき、前記第4手段
が、前記最終記憶域からのデータで前記第1記憶域を更
新することを特徴とする、(25)に記載のプロセッサ
・システム。
ている。 (1)集積回路チップ上に形成された、主記憶手段から
取り出したデータを記憶するためのキャッシュであっ
て、各行がそれぞれ、主メモリ・データを記憶するため
の第1記憶域内の第1の複数のメモリ・セルと、前記主
メモリ・データに対応するアクセス情報を記憶するため
の第2記憶域内の第2の複数のセルとを有し、前記第1
記憶域と第2記憶域がほぼ同じサイクル時間を有し、前
記第2記憶域が前記第1記憶域より前にアクセスされ
る、複数のインデックス行と、前記複数のインデックス
行のうちの選択された行に関する前記アクセス情報を受
け取って、前記複数のインデックス行のうちの所与の行
について、前記第1記憶域のアレイに記憶されている前
記主メモリ・データのいずれかにアクセスすべきかどう
かを検出する、第1の制御機構と、そのアクセス・サイ
クルが完了する前に前記複数のインデックス行のうちの
前記選択された行の前記第1記憶域のアレイの少くとも
一部分を選択的に非活動化するためのアレイ・制御機構
とを備えるキャッシュ。 (2)前記第2記憶域のアレイが、前記複数のインデッ
クス行の各行に少くとも1つのタグ・アドレスを記憶す
ることを特徴とする、(1)に記載のキャッシュ。 (3)前記第2記憶域のアレイが、前記複数のインデッ
クス行の各行に、前記第1記憶域のアレイ内の前記複数
のインデックス行のそれぞれに記憶された前記主メモリ
・データの有効性を示すビットを記憶することを特徴と
する、(2)に記載のキャッシュ。 (4)前記複数のインデックス行の各行が、それぞれ複
数のアドレス可能データ・ワードを含む、複数の主メモ
リ・データ・ワードを記憶することを特徴とする、
(3)に記載のキャッシュ。 (5)前記第2記憶域のアレイが、前記複数のインデッ
クス行の各行に、前記複数のインデックス行のそれぞれ
に記憶された前記複数の主メモリ・データ・ワードのそ
れぞれがどれだけ最近にアクセスされたかの相対指示を
与える複数のビットを記憶することを特徴とする、
(4)に記載のキャッシュ。 (6)プロセッサによってアクセスされるデータを記憶
するためのメモリであって、それぞれが1本のマスタ・
ワード線と、前記マスタ・ワード線に結合され、それに
よって制御される複数のローカル・ワード線とを含む、
複数のワード線と、前記マスタ・ワード線に結合された
第1の複数のメモリ・セルと、前記複数のローカル・ワ
ード線に結合され、前記プロセッサによってアクセスさ
れる複数のデータ・ワードを記憶する、第2の複数のメ
モリ・セルとを備え、前記第1の複数のメモリ・セルの
少くとも一部が、前記第2の複数のメモリ・セルによっ
て記憶される前記複数のデータ・ワードに対応するアク
セス情報を記憶することを特徴とする、メモリ。 (7)前記第1の複数のメモリ・セルが、少くとも1つ
のタグ・アドレスを記憶することを特徴とする、(6)
に記載のメモリ。 (8)前記第1の複数のメモリ・セルが、前記第2の複
数のメモリ・セルに記憶されているデータの有効性を示
す複数の有効性ビットを記憶することを特徴とする、
(6)に記載のメモリ。 (9)前記第2の複数のメモリ・セルが複数のデータ・
ワードを記憶し、前記第1の複数のメモリ・セルが、前
記複数のデータ・ワードのうちのどれが最も以前にアク
セスされたかを示す複数のビットを記憶することを特徴
とする、(8)に記載のメモリ。 (10)複数のビット線と、それぞれ1本のマスタ・ワ
ード線と前記マスタ・ワード線に結合されそれによって
制御される複数のローカル・ワード線とを含む複数のワ
ード線とに結合され、メモリ・セルの少くとも一部が前
記マスタ・ワード線に直接結合され、残りのメモリ・セ
ルが前記複数のローカル・ワード線のそれぞれに結合さ
れている、複数のメモリ・セルと、所与のアクセス・サ
イクル中に前記マスタ・ワード線が複数存在し、そのう
ちの1本をエネーブルする、マスタ・ワード線駆動手段
と、前記複数のローカル・ワード線のうちでアクセスさ
れるものを選択し、前記複数のローカル・ワード線のう
ちの残りのものをディスエーブルする制御手段とを含む
メモリ・アレイ。 (11)前記メモリ・アレイが、集積回路基板上に形成
され、前記マスタ・ワード線と前記複数のローカル・ワ
ード線のうちの少くとも1本が、前記複数のメモリ・セ
ルの少くとも一部の上に配置されていることを特徴とす
る、(10)に記載のメモリ・アレイ。 (12)前記マスタ・ワード線と前記複数のローカル・
ワード線のうちの少くとも所与の1本が共に、前記複数
のローカル・ワード線のうちの前記所与の1本に結合さ
れた前記複数のメモリ・セルのほぼすべての上に配置さ
れることを特徴とする、(11)に記載のメモリ・アレ
イ。 (13)前記マスタ・ワード線と前記複数のローカル・
ワード線のうちの前記選択された1本が、ほぼ平行に配
置されることを特徴とする、(11)に記載のメモリ・
アレイ。 (14)前記マスタ・ワード線に直接結合された前記複
数のメモリ・セルのうちの前記選択されたものの上に配
置された、前記マスタ・ワード線及び前記複数のローカ
ル・ワード線のうちの前記選択された1本の第1の部分
が、それぞれ前記マスタ・ワード線及び前記複数のロー
カル・ワード線のうちの前記選択された1本の残りの部
分から分離されることを特徴とする、(13)に記載の
メモリ・アレイ。 (15)前記マスタ・ワード線の前記残りの部分が、前
記複数のローカル・ワード線のうちの前記選択された1
本の前記第1部分に電気的に結合されることを特徴とす
る、(14)に記載のメモリ・アレイ。 (16)前記マスタ・ワード線の前記第1部分が、電源
電圧に接続されることを特徴とする、(15)に記載の
メモリ・アレイ。 (17)複数のメモリ・セルと、前記複数のメモリ・セ
ルの上に配置されそれに結合された、複数の供給電圧線
と、前記複数のメモリ・セルの上に配置された、複数の
マスタ・ワード線と、前記複数のメモリ・セルの上に配
置された複数のローカル・ワード線とを備え、前記複数
の供給電圧線と前記複数のマスタ・ワード線と前記複数
のローカル・ワード線がほぼ平行に配置され、前記複数
のマスタ・ワード線の各々が1組の前記複数のローカル
・ワード線に結合され、1組の前記複数のメモリ・セル
が前記1組の前記複数のローカル・ワード線のうちの1
本に結合され、前記複数のマスタ・ワード線の各々と前
記1組のローカル・ワード線のうちの少くとも1本とが
前記1組のローカル・ワード線のうちの前記の1本に結
合され、前記マスタ・ワード線の一部分がその残りの部
分から分離されて、前記供給電圧線のうちの1本に結合
されることを特徴とする、メモリ・アレイ。 (18)前記複数のメモリ・セルのうちの少くとも一部
が、前記複数のマスタ・ワード線に結合されることを特
徴とする、(17)に記載のメモリ・アレイ。 (19)前記複数のメモリ・セルのうちの前記少くとも
一部が、複数のローカル・ワード線のその残りの部分か
ら分離されて、前記複数のマスタ・ワード線の前記残り
の部分に電気的に結合された部分に結合されることを特
徴とする、(18)に記載のメモリ・アレイ。 (20)さらに、複数の電力供給線と、前記複数のマス
タ・ワード線と前記複数の電力供給線と前記複数のロー
カル・ワード線の上に配置されそれらから分離されたメ
タラジ層とを含み、前記複数の電力供給線が全体として
前記複数のメモリ・セルをほぼ覆うように平行に配置さ
れて、前記メタラジ層から送信された信号からの信号遮
蔽を提供することを特徴とする、(17)に記載のメモ
リ・アレイ。 (21)中央演算処理装置と、データを記憶するための
主メモリと、それぞれ前記主メモリ内の選択された位置
からの複数のデータ・ワードを記憶する、複数のインデ
ックス行を有するキャッシュ装置とを備えるプロセッサ
・システムにおいて、前記主メモリから前記キャッシュ
に更新データ・ワードを書き込む方法であって、所与の
インデックス行について、前記複数のデータ・ワードの
うちに無効なものがあるかどうか判定し、あった場合は
前記所与のインデックスの、前記無効データ・ワードを
記憶している部分に前記更新データ・ワードを書き込む
ステップと、前記所与のインデックスの、前に前記無効
データ・ワードを記憶していた前記部分が、今は有効デ
ータを記憶していることを反映するように、前記所与の
インデックス行に関する第1のアクセス・データを更新
するステップと、前記複数のデータ・ワードがすべて前
記所与のインデックス行に関して有効であった場合に、
前記複数のデータ・ワードのうちのどれが前記中央演算
処理装置によって最も以前にアクセスされたかを決定
し、前記所与のインデックス行の前記最も以前にアクセ
スされたデータ・ワードを記憶している部分に前記更新
データ・ワードを書き込むステップと、前記所与のイン
デックス行の、前記最も以前にアクセスされたデータ・
ワードを前に記憶していた前記部分が最近にアクセスさ
れたことを反映し、前記所与のインデックス行上の、前
記複数のデータ・ワードのうちの異なるデータ・ワード
が、前記中央演算処理装置によって最も以前にアクセス
されたものになったことを示すように、前記所与のイン
デックス行に関する第2のアクセス・データを更新する
ステップとを含む方法。 (22)前記所与のキャッシュ・インデックス行が、前
記第1アクセス・データを記憶することを特徴とする、
(21)に記載の方法。 (23)前記所与のキャッシュ・インデックス行が、前
記第2アクセス・データを記憶することを特徴とする、
(22)に記載の方法。 (24)前記第2アクセス・データが、前記所与のイン
デックス行のデータ・ワードを記憶するすべての部分の
最近の相対使用度を示し、前記第2アクセス・データを
更新する前記ステップが、前記所与のインデックス行
の、前記更新データ・ワードを記憶している部分が今は
最も最近に使用されたものであることを示すように、前
記第2アクセス・データの第1部分を更新するステップ
と、前記所与のインデックス行の、前には最も最近に使
用されたものとして示されていた部分が、今は2番目に
最近に使用されたものであることを示すように、前記第
2アクセス・データの第2部分を更新するステップと、
前記第2アクセス・データの所与の部分中のアクセス・
データが変化しなくなるまで、または、前記第2アクセ
ス・データの最終部分が更新されて前記所与のインデッ
クス行のどの部分が最も以前に使用されたかを示すよう
になるまで、前記アクセス・データの連続する部分に対
して次々に前記更新サイクルを継続するステップとを含
むことを特徴とする、(21)に記載の方法。 (25)キャッシュ・ミスの場合に、n重セット連想式
キャッシュの所与のキャッシュ行の、主メモリ・データ
・ワードを含む部分を更新するLRU法を実行するため
のプロセッサ・システムであって、前記所与のキャッシ
ュ行のどの部分が無効データを記憶しているかを決定す
るための第1手段と、前記第1手段に応答して、前記所
与のキャッシュ行の無効データを記憶している部分に、
前記主メモリ・ワードを書き込むための第2手段とを備
え、前記所与のキャッシュ部分の前記部分がすべて有効
データを記憶している場合に、前記第1手段が、前記所
与のキャッシュ行の前記部分のうちのどれが最も以前に
アクセスされたデータを記憶しているかを決定し、前記
第2手段が、前記所与のキャッシュ行の最も以前にアク
セスされた部分に前記主メモリ・データ・ワードを書き
込み、さらに、前記所与のキャッシュ行の前記部分の使
用度を示すデータを記憶するための複数の記憶域を備
え、前記複数の記憶域のうちの第1のものが、前記所与
のインデックス行の前記部分のうちのどれが最も最近に
アクセスされたかを示し、前記複数の記憶域のうちの少
くとも第2のものが、前記所与のインデックス行の前記
部分のうちのどれが2番目に最近にアクセスされたかを
示し、前記複数の記憶域のうちの最後のものが、前記所
与のインデックス行の前記部分のうちのどれが最も以前
にアクセスされたかを示す、第3手段と、前記複数の記
憶域のそれぞれに結合された書込み入力を有する複数の
マルチプレクサ手段を含む、前記第3手段に記憶されて
いた前記データを更新するための第4手段とを備え、前
記マルチプレクサ手段の各々が、それぞれ前記複数の記
憶域のうちの先行する記憶域に記憶されていたデータを
第1入力として受け取り、前記複数の記憶域のうちその
書込み入力が結合されている前記それぞれの記憶域に記
憶されていたデータを第2入力として受け取り、前記第
1入力と第2入力が同じとき、前記複数のマルチプレク
サ手段のうちの所与のものが、前記第2入力をその出力
側で提供し、前記第1入力と第2入力が異なるときは前
記第1入力をその出力側で提供することを特徴とするプ
ロセッサ・システム。 (26)前記データ・ワードが、前記主メモリから前記
キャッシュの前記所与のインデックス行の前記最も以前
に使用された部分に書き込まれたとき、前記第4手段
が、前記最終記憶域からのデータで前記第1記憶域を更
新することを特徴とする、(25)に記載のプロセッサ
・システム。
【0052】
【発明の効果】本発明によれば、電力消費量が減るよう
な形でデータと関連アクセス情報の両方を記憶する、統
合型キャッシュが提供され、真のLRUキャッシュ更新
手順を提供する、統合型キャッシュ・アーキテクチャが
提供され、キャッシュのサイクル時間を増加させない、
LRUキャッシュ更新手順の簡単なハードウェア実施態
様が提供され、マイクロプロセッサ上の他の機能ブロッ
クからの上にある相互接続メタライゼーションをサポー
トするために本発明の統合型キャッシュ上の金属線のレ
イアウトが最適化される。さらに本発明によれば、チッ
プ上の利用可能な面積に適合するように、本発明のキャ
ッシュの様々な寸法態様の調整が容易に行える。
な形でデータと関連アクセス情報の両方を記憶する、統
合型キャッシュが提供され、真のLRUキャッシュ更新
手順を提供する、統合型キャッシュ・アーキテクチャが
提供され、キャッシュのサイクル時間を増加させない、
LRUキャッシュ更新手順の簡単なハードウェア実施態
様が提供され、マイクロプロセッサ上の他の機能ブロッ
クからの上にある相互接続メタライゼーションをサポー
トするために本発明の統合型キャッシュ上の金属線のレ
イアウトが最適化される。さらに本発明によれば、チッ
プ上の利用可能な面積に適合するように、本発明のキャ
ッシュの様々な寸法態様の調整が容易に行える。
【図1】本発明の第1の実施例によるマイクロプロセッ
サ・チップの構成図である。
サ・チップの構成図である。
【図2】本発明の第2の実施例による第2のマイクロプ
ロセッサ・チップの構成図である。
ロセッサ・チップの構成図である。
【図3】アクセス・アドレスがキャッシュ内のタグ、有
効性はデータ及びインデックス・データにどのようにア
クセスするかを示す、本発明の統合型キャッシュの論理
構成図である。
効性はデータ及びインデックス・データにどのようにア
クセスするかを示す、本発明の統合型キャッシュの論理
構成図である。
【図4】本発明のメモリ・アレイのマスタ/ローカル・
ワード線配置を示す概略図である。
ワード線配置を示す概略図である。
【図5】図4のデータ・アレイ部分の簡略化した上面図
である。
である。
【図6】図4のタグ・アレイ部分の簡略化した上面図で
ある。
ある。
【図7】図1に示したマイクロプロセッサ・チップの一
部分の上面図である。
部分の上面図である。
【図8】図4に示したセルAの概略回路図である。
【図9】図4に示したセルCの概略回路図である。
【図10】図3のLWL制御機構の概略回路図である。
【図11】アレイのレイアウト及びエネーブル信号の受
信を示す、図3のデータ・アレイのより詳細な図であ
る。
信を示す、図3のデータ・アレイのより詳細な図であ
る。
【図12】図4のローカル・ワード線ドライバの概略回
路図である。
路図である。
【図13】図4のセンス増幅器の概略回路図である。
【図14】図4に示したアレイのマスタ・ワード線及び
ローカル・ワード線の相対アクセス・タイミングを示す
簡略化したタイミング図である。
ローカル・ワード線の相対アクセス・タイミングを示す
簡略化したタイミング図である。
【図15】順次アクセス・サイクルに関するLRUAア
レイ内のデータの更新を示す一連の表の1つである。
レイ内のデータの更新を示す一連の表の1つである。
【図16】順次アクセス・サイクルに関するLRUAア
レイ内のデータの更新を示す一連の表の1つである。
レイ内のデータの更新を示す一連の表の1つである。
【図17】順次アクセス・サイクルに関するLRUAア
レイ内のデータの更新を示す一連の表の1つである。
レイ内のデータの更新を示す一連の表の1つである。
【図18】順次アクセス・サイクルに関するLRUAア
レイ内のデータの更新を示す一連の表の1つである。
レイ内のデータの更新を示す一連の表の1つである。
【図19】順次アクセス・サイクルに関するLRUAア
レイ内のデータの更新を示す一連の表の1つである。
レイ内のデータの更新を示す一連の表の1つである。
【図20】順次アクセス・サイクルに関するLRUAア
レイ内のデータの更新を示す一連の表の1つである。
レイ内のデータの更新を示す一連の表の1つである。
【図21】順次アクセス・サイクルに関するLRUAア
レイ内のデータの更新を示す一連の表の1つである。
レイ内のデータの更新を示す一連の表の1つである。
【図22】順次アクセス・サイクルに関するLRUAア
レイ内のデータの更新を示す一連の表の1つである。
レイ内のデータの更新を示す一連の表の1つである。
【図23】順次アクセス・サイクルに関するLRUAア
レイ内のデータの更新を示す一連の表の1つである。
レイ内のデータの更新を示す一連の表の1つである。
【図24】図3に示すLRU制御機構の回路構成図であ
る。
る。
【図25】図24に示すmux制御信号の生成を示す回
路図である。
路図である。
10 集積回路チップ 20 中央演算処理装置(CPU) 22 実行ユニット 24 バス・ユニット(BU) 30 メモリ管理ユニット(MMU) 40 キャッシュ記憶域 50 データ・バス 52 主メモリ 54 周回装置 56 コプロセッサ 58 専用メモリ・バス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デーヴィッド・ウィルズ・ミルトン アメリカ合衆国05489 バーモント州アン ダーヒル アール・アール・ナンバー1 ボックス8060
Claims (26)
- 【請求項1】集積回路チップ上に形成された、主記憶手
段から取り出したデータを記憶するためのキャッシュで
あって、 各行がそれぞれ、主メモリ・データを記憶するための第
1記憶域内の第1の複数のメモリ・セルと、前記主メモ
リ・データに対応するアクセス情報を記憶するための第
2記憶域内の第2の複数のセルとを有し、前記第1記憶
域と第2記憶域がほぼ同じサイクル時間を有し、前記第
2記憶域が前記第1記憶域より前にアクセスされる、複
数のインデックス行と、 前記複数のインデックス行のうちの選択された行に関す
る前記アクセス情報を受け取って、前記複数のインデッ
クス行のうちの所与の行について、前記第1記憶域のア
レイに記憶されている前記主メモリ・データのいずれか
にアクセスすべきかどうかを検出する、第1の制御機構
と、 そのアクセス・サイクルが完了する前に前記複数のイン
デックス行のうちの前記選択された行の前記第1記憶域
のアレイの少くとも一部分を選択的に非活動化するため
のアレイ・制御機構とを備えるキャッシュ。 - 【請求項2】前記第2記憶域のアレイが、前記複数のイ
ンデックス行の各行に少くとも1つのタグ・アドレスを
記憶することを特徴とする、請求項1に記載のキャッシ
ュ。 - 【請求項3】前記第2記憶域のアレイが、前記複数のイ
ンデックス行の各行に、前記第1記憶域のアレイ内の前
記複数のインデックス行のそれぞれに記憶された前記主
メモリ・データの有効性を示すビットを記憶することを
特徴とする、請求項2に記載のキャッシュ。 - 【請求項4】前記複数のインデックス行の各行が、それ
ぞれ複数のアドレス可能データ・ワードを含む、複数の
主メモリ・データ・ワードを記憶することを特徴とす
る、請求項3に記載のキャッシュ。 - 【請求項5】前記第2記憶域のアレイが、前記複数のイ
ンデックス行の各行に、前記複数のインデックス行のそ
れぞれに記憶された前記複数の主メモリ・データ・ワー
ドのそれぞれがどれだけ最近にアクセスされたかの相対
指示を与える複数のビットを記憶することを特徴とす
る、請求項4に記載のキャッシュ。 - 【請求項6】プロセッサによってアクセスされるデータ
を記憶するためのメモリであって、 それぞれが1本のマスタ・ワード線と、前記マスタ・ワ
ード線に結合され、それによって制御される複数のロー
カル・ワード線とを含む、複数のワード線と、 前記マスタ・ワード線に結合された第1の複数のメモリ
・セルと、 前記複数のローカル・ワード線に結合され、前記プロセ
ッサによってアクセスされる複数のデータ・ワードを記
憶する、第2の複数のメモリ・セルとを備え、 前記第1の複数のメモリ・セルの少くとも一部が、前記
第2の複数のメモリ・セルによって記憶される前記複数
のデータ・ワードに対応するアクセス情報を記憶するこ
とを特徴とする、メモリ。 - 【請求項7】前記第1の複数のメモリ・セルが、少くと
も1つのタグ・アドレスを記憶することを特徴とする、
請求項6に記載のメモリ。 - 【請求項8】前記第1の複数のメモリ・セルが、前記第
2の複数のメモリ・セルに記憶されているデータの有効
性を示す複数の有効性ビットを記憶することを特徴とす
る、請求項6に記載のメモリ。 - 【請求項9】前記第2の複数のメモリ・セルが複数のデ
ータ・ワードを記憶し、前記第1の複数のメモリ・セル
が、前記複数のデータ・ワードのうちのどれが最も以前
にアクセスされたかを示す複数のビットを記憶すること
を特徴とする、請求項8に記載のメモリ。 - 【請求項10】複数のビット線と、それぞれ1本のマス
タ・ワード線と前記マスタ・ワード線に結合されそれに
よって制御される複数のローカル・ワード線とを含む複
数のワード線とに結合され、メモリ・セルの少くとも一
部が前記マスタ・ワード線に直接結合され、残りのメモ
リ・セルが前記複数のローカル・ワード線のそれぞれに
結合されている、複数のメモリ・セルと、 所与のアクセス・サイクル中に前記マスタ・ワード線が
複数存在し、そのうちの1本をエネーブルする、マスタ
・ワード線駆動手段と、 前記複数のローカル・ワード線のうちでアクセスされる
ものを選択し、前記複数のローカル・ワード線のうちの
残りのものをディスエーブルする制御手段とを含むメモ
リ・アレイ。 - 【請求項11】前記メモリ・アレイが、集積回路基板上
に形成され、前記マスタ・ワード線と前記複数のローカ
ル・ワード線のうちの少くとも1本が、前記複数のメモ
リ・セルの少くとも一部の上に配置されていることを特
徴とする、請求項10に記載のメモリ・アレイ。 - 【請求項12】前記マスタ・ワード線と前記複数のロー
カル・ワード線のうちの少くとも所与の1本が共に、前
記複数のローカル・ワード線のうちの前記所与の1本に
結合された前記複数のメモリ・セルのほぼすべての上に
配置されることを特徴とする、請求項11に記載のメモ
リ・アレイ。 - 【請求項13】前記マスタ・ワード線と前記複数のロー
カル・ワード線のうちの前記選択された1本が、ほぼ平
行に配置されることを特徴とする、請求項11に記載の
メモリ・アレイ。 - 【請求項14】前記マスタ・ワード線に直接結合された
前記複数のメモリ・セルのうちの前記選択されたものの
上に配置された、前記マスタ・ワード線及び前記複数の
ローカル・ワード線のうちの前記選択された1本の第1
の部分が、それぞれ前記マスタ・ワード線及び前記複数
のローカル・ワード線のうちの前記選択された1本の残
りの部分から分離されることを特徴とする、請求項13
に記載のメモリ・アレイ。 - 【請求項15】前記マスタ・ワード線の前記残りの部分
が、前記複数のローカル・ワード線のうちの前記選択さ
れた1本の前記第1部分に電気的に結合されることを特
徴とする、請求項14に記載のメモリ・アレイ。 - 【請求項16】前記マスタ・ワード線の前記第1部分
が、電源電圧に接続されることを特徴とする、請求項1
5に記載のメモリ・アレイ。 - 【請求項17】複数のメモリ・セルと、 前記複数のメモリ・セルの上に配置されそれに結合され
た、複数の供給電圧線と、 前記複数のメモリ・セルの上に配置された、複数のマス
タ・ワード線と、 前記複数のメモリ・セルの上に配置された複数のローカ
ル・ワード線とを備え、 前記複数の供給電圧線と前記複数のマスタ・ワード線と
前記複数のローカル・ワード線がほぼ平行に配置され、
前記複数のマスタ・ワード線の各々が1組の前記複数の
ローカル・ワード線に結合され、1組の前記複数のメモ
リ・セルが前記1組の前記複数のローカル・ワード線の
うちの1本に結合され、前記複数のマスタ・ワード線の
各々と前記1組のローカル・ワード線のうちの少くとも
1本とが前記1組のローカル・ワード線のうちの前記の
1本に結合され、前記マスタ・ワード線の一部分がその
残りの部分から分離されて、前記供給電圧線のうちの1
本に結合されることを特徴とする、メモリ・アレイ。 - 【請求項18】前記複数のメモリ・セルのうちの少くと
も一部が、前記複数のマスタ・ワード線に結合されるこ
とを特徴とする、請求項17に記載のメモリ・アレイ。 - 【請求項19】前記複数のメモリ・セルのうちの前記少
くとも一部が、複数のローカル・ワード線のその残りの
部分から分離されて、前記複数のマスタ・ワード線の前
記残りの部分に電気的に結合された部分に結合されるこ
とを特徴とする、請求項18に記載のメモリ・アレイ。 - 【請求項20】さらに、複数の電力供給線と、前記複数
のマスタ・ワード線と前記複数の電力供給線と前記複数
のローカル・ワード線の上に配置されそれらから分離さ
れたメタラジ層とを含み、前記複数の電力供給線が全体
として前記複数のメモリ・セルをほぼ覆うように平行に
配置されて、前記メタラジ層から送信された信号からの
信号遮蔽を提供することを特徴とする、請求項17に記
載のメモリ・アレイ。 - 【請求項21】中央演算処理装置と、データを記憶する
ための主メモリと、それぞれ前記主メモリ内の選択され
た位置からの複数のデータ・ワードを記憶する、複数の
インデックス行を有するキャッシュ装置とを備えるプロ
セッサ・システムにおいて、前記主メモリから前記キャ
ッシュに更新データ・ワードを書き込む方法であって、 所与のインデックス行について、前記複数のデータ・ワ
ードのうちに無効なものがあるかどうか判定し、あった
場合は前記所与のインデックスの、前記無効データ・ワ
ードを記憶している部分に前記更新データ・ワードを書
き込むステップと、 前記所与のインデックスの、前に前記無効データ・ワー
ドを記憶していた前記部分が、今は有効データを記憶し
ていることを反映するように、前記所与のインデックス
行に関する第1のアクセス・データを更新するステップ
と、 前記複数のデータ・ワードがすべて前記所与のインデッ
クス行に関して有効であった場合に、前記複数のデータ
・ワードのうちのどれが前記中央演算処理装置によって
最も以前にアクセスされたかを決定し、前記所与のイン
デックス行の前記最も以前にアクセスされたデータ・ワ
ードを記憶している部分に前記更新データ・ワードを書
き込むステップと、 前記所与のインデックス行の、前記最も以前にアクセス
されたデータ・ワードを前に記憶していた前記部分が最
近にアクセスされたことを反映し、前記所与のインデッ
クス行上の、前記複数のデータ・ワードのうちの異なる
データ・ワードが、前記中央演算処理装置によって最も
以前にアクセスされたものになったことを示すように、
前記所与のインデックス行に関する第2のアクセス・デ
ータを更新するステップとを含む方法。 - 【請求項22】前記所与のキャッシュ・インデックス行
が、前記第1アクセス・データを記憶することを特徴と
する、請求項21に記載の方法。 - 【請求項23】前記所与のキャッシュ・インデックス行
が、前記第2アクセス・データを記憶することを特徴と
する、請求項22に記載の方法。 - 【請求項24】前記第2アクセス・データが、前記所与
のインデックス行のデータ・ワードを記憶するすべての
部分の最近の相対使用度を示し、 前記第2アクセス・データを更新する前記ステップが、 前記所与のインデックス行の、前記更新データ・ワード
を記憶している部分が今は最も最近に使用されたもので
あることを示すように、前記第2アクセス・データの第
1部分を更新するステップと、 前記所与のインデックス行の、前には最も最近に使用さ
れたものとして示されていた部分が、今は2番目に最近
に使用されたものであることを示すように、前記第2ア
クセス・データの第2部分を更新するステップと、 前記第2アクセス・データの所与の部分中のアクセス・
データが変化しなくなるまで、または、前記第2アクセ
ス・データの最終部分が更新されて前記所与のインデッ
クス行のどの部分が最も以前に使用されたかを示すよう
になるまで、前記アクセス・データの連続する部分に対
して次々に前記更新サイクルを継続するステップとを含
むことを特徴とする、請求項21に記載の方法。 - 【請求項25】キャッシュ・ミスの場合に、n重セット
連想式キャッシュの所与のキャッシュ行の、主メモリ・
データ・ワードを含む部分を更新するLRU法を実行す
るためのプロセッサ・システムであって、 前記所与のキャッシュ行のどの部分が無効データを記憶
しているかを決定するための第1手段と、 前記第1手段に応答して、前記所与のキャッシュ行の無
効データを記憶している部分に、前記主メモリ・ワード
を書き込むための第2手段とを備え、 前記所与のキャッシュ部分の前記部分がすべて有効デー
タを記憶している場合に、前記第1手段が、前記所与の
キャッシュ行の前記部分のうちのどれが最も以前にアク
セスされたデータを記憶しているかを決定し、 前記第2手段が、前記所与のキャッシュ行の最も以前に
アクセスされた部分に前記主メモリ・データ・ワードを
書き込み、 さらに、前記所与のキャッシュ行の前記部分の使用度を
示すデータを記憶するための複数の記憶域を備え、前記
複数の記憶域のうちの第1のものが、前記所与のインデ
ックス行の前記部分のうちのどれが最も最近にアクセス
されたかを示し、前記複数の記憶域のうちの少くとも第
2のものが、前記所与のインデックス行の前記部分のう
ちのどれが2番目に最近にアクセスされたかを示し、前
記複数の記憶域のうちの最後のものが、前記所与のイン
デックス行の前記部分のうちのどれが最も以前にアクセ
スされたかを示す、第3手段と、 前記複数の記憶域のそれぞれに結合された書込み入力を
有する複数のマルチプレクサ手段を含む、前記第3手段
に記憶されていた前記データを更新するための第4手段
とを備え、 前記マルチプレクサ手段の各々が、それぞれ前記複数の
記憶域のうちの先行する記憶域に記憶されていたデータ
を第1入力として受け取り、前記複数の記憶域のうちそ
の書込み入力が結合されている前記それぞれの記憶域に
記憶されていたデータを第2入力として受け取り、前記
第1入力と第2入力が同じとき、前記複数のマルチプレ
クサ手段のうちの所与のものが、前記第2入力をその出
力側で提供し、前記第1入力と第2入力が異なるときは
前記第1入力をその出力側で提供することを特徴とする
プロセッサ・システム。 - 【請求項26】前記データ・ワードが、前記主メモリか
ら前記キャッシュの前記所与のインデックス行の前記最
も以前に使用された部分に書き込まれたとき、 前記第4手段が、前記最終記憶域からのデータで前記第
1記憶域を更新することを特徴とする、請求項25に記
載のプロセッサ・システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US6077693A | 1993-05-11 | 1993-05-11 | |
US60776 | 1993-05-11 | ||
US060776 | 1993-05-11 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28379797A Division JP3277145B2 (ja) | 1993-05-11 | 1997-10-16 | メモリ・アレイ |
JP9283617A Division JPH10232836A (ja) | 1993-05-11 | 1997-10-16 | 完全統合型キャッシュ・アーキテクチャ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06332801A true JPH06332801A (ja) | 1994-12-02 |
JP2837804B2 JP2837804B2 (ja) | 1998-12-16 |
Family
ID=22031681
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6065905A Expired - Fee Related JP2837804B2 (ja) | 1993-05-11 | 1994-04-04 | 完全統合型キャッシュ・アーキテクチャ |
JP28379797A Expired - Fee Related JP3277145B2 (ja) | 1993-05-11 | 1997-10-16 | メモリ・アレイ |
JP9283617A Pending JPH10232836A (ja) | 1993-05-11 | 1997-10-16 | 完全統合型キャッシュ・アーキテクチャ |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28379797A Expired - Fee Related JP3277145B2 (ja) | 1993-05-11 | 1997-10-16 | メモリ・アレイ |
JP9283617A Pending JPH10232836A (ja) | 1993-05-11 | 1997-10-16 | 完全統合型キャッシュ・アーキテクチャ |
Country Status (5)
Country | Link |
---|---|
US (3) | US5727180A (ja) |
EP (1) | EP0624844A2 (ja) |
JP (3) | JP2837804B2 (ja) |
KR (1) | KR960016403B1 (ja) |
CN (1) | CN1089474C (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007097028A1 (ja) * | 2006-02-27 | 2007-08-30 | Fujitsu Limited | Lru制御装置、lru制御方法およびlru制御プログラム |
JP2015504216A (ja) * | 2012-01-09 | 2015-02-05 | フェントン システムズ リミテッドFenton Systems Ltd | デジタル回路用クロック信号発生器 |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
GB2282248B (en) * | 1993-09-27 | 1997-10-15 | Advanced Risc Mach Ltd | Data memory |
US6735683B2 (en) | 1994-09-14 | 2004-05-11 | Hitachi, Ltd. | Single-chip microcomputer with hierarchical internal bus structure having data and address signal lines coupling CPU with other processing elements |
US5530932A (en) * | 1994-12-23 | 1996-06-25 | Intel Corporation | Cache coherent multiprocessing computer system with reduced power operating features |
US5659712A (en) * | 1995-05-26 | 1997-08-19 | National Semiconductor Corporation | Pipelined microprocessor that prevents the cache from being read when the contents of the cache are invalid |
US5860127A (en) | 1995-06-01 | 1999-01-12 | Hitachi, Ltd. | Cache memory employing dynamically controlled data array start timing and a microcomputer using the same |
US5860106A (en) * | 1995-07-13 | 1999-01-12 | Intel Corporation | Method and apparatus for dynamically adjusting power/performance characteristics of a memory subsystem |
US5897655A (en) * | 1996-12-10 | 1999-04-27 | International Business Machines Corporation | System and method for cache replacement within a cache set based on valid, modified or least recently used status in order of preference |
CA2227500C (en) * | 1997-02-06 | 2001-08-14 | Northern Telecom Limited | Content addressable memory |
US6091090A (en) * | 1997-09-19 | 2000-07-18 | In-Chip Systems, Inc. | Power and signal routing technique for gate array design |
US5981987A (en) | 1997-12-02 | 1999-11-09 | Nurlogic Design, Inc. | Power ground metallization routing in a semiconductor device |
US6516386B1 (en) * | 1997-12-31 | 2003-02-04 | Intel Corporation | Method and apparatus for indexing a cache |
US6122710A (en) * | 1998-02-17 | 2000-09-19 | International Business Machines Corporation | Dynamic word line driver for cache |
US6654854B1 (en) * | 1999-06-25 | 2003-11-25 | Hewlett-Packard Development Company, L.P. | Caching method using cache tag and cache data stored in dynamic RAM embedded in logic chip |
US6838713B1 (en) | 1999-07-12 | 2005-01-04 | Virage Logic Corporation | Dual-height cell with variable width power rail architecture |
US7089360B1 (en) | 2000-03-22 | 2006-08-08 | Intel Corporation | Shared cache wordline decoder for redundant and regular addresses |
US6507531B1 (en) | 2000-03-29 | 2003-01-14 | Intel Corporation | Cache column multiplexing using redundant form addresses |
US6549986B1 (en) * | 2000-06-20 | 2003-04-15 | Conexant Systems, Inc. | Low power instruction cache |
US6707752B2 (en) | 2001-06-22 | 2004-03-16 | Intel Corporation | Tag design for cache access with redundant-form address |
US6909150B2 (en) | 2001-07-23 | 2005-06-21 | Agere Systems Inc. | Mixed signal integrated circuit with improved isolation |
US7535913B2 (en) * | 2002-03-06 | 2009-05-19 | Nvidia Corporation | Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols |
EP1345234A1 (en) * | 2002-03-11 | 2003-09-17 | STMicroelectronics S.r.l. | Semiconductor memory with self-refresh capability |
US7353350B2 (en) * | 2002-07-23 | 2008-04-01 | Research In Motion Limited | Data store management system and method for wireless devices |
JP4689933B2 (ja) * | 2002-08-30 | 2011-06-01 | 富士通セミコンダクター株式会社 | スタティック型半導体記憶装置およびその制御方法 |
US6760240B2 (en) * | 2002-11-22 | 2004-07-06 | International Business Machines Corporation | CAM cell with interdigitated search and bit lines |
KR100511164B1 (ko) * | 2002-12-10 | 2005-08-31 | 정보통신연구진흥원 | 웹 검색엔진에서의 실시간 사용자 질의 분석에 기반한and 연산용 색인데이터의 캐슁 방법 |
EP1642370B1 (en) * | 2003-06-30 | 2009-09-23 | Nxp B.V. | Protection circuit for an integrated circuit device |
US20050013181A1 (en) * | 2003-07-17 | 2005-01-20 | Adelmann Todd C. | Assisted memory device with integrated cache |
EP1505506A1 (en) * | 2003-08-05 | 2005-02-09 | Sap Ag | A method of data caching |
US20050182903A1 (en) * | 2004-02-12 | 2005-08-18 | Mips Technologies, Inc. | Apparatus and method for preventing duplicate matching entries in a translation lookaside buffer |
US7149142B1 (en) | 2004-05-28 | 2006-12-12 | Virage Logic Corporation | Methods and apparatuses for memory array leakage reduction using internal voltage biasing circuitry |
KR100630733B1 (ko) * | 2005-01-12 | 2006-10-02 | 삼성전자주식회사 | 전력소모를 감소시킬 수 있는 워드라인 인에이블 신호라인 배치 구조를 갖는 반도체 메모리장치 및 이의워드라인 인에이블 신호 라인 배치방법 |
JP2006333438A (ja) * | 2005-04-28 | 2006-12-07 | Fujitsu Ten Ltd | ゲートウェイ装置及びルーティング方法 |
US7616036B1 (en) | 2005-09-12 | 2009-11-10 | Virage Logic Corporation | Programmable strobe and clock generator |
JP2007128633A (ja) * | 2005-10-07 | 2007-05-24 | Matsushita Electric Ind Co Ltd | 半導体記憶装置及びこれを備えた送受信システム |
US7606057B2 (en) * | 2006-05-31 | 2009-10-20 | Arm Limited | Metal line layout in a memory cell |
US7805590B2 (en) * | 2006-06-27 | 2010-09-28 | Freescale Semiconductor, Inc. | Coprocessor receiving target address to process a function and to send data transfer instructions to main processor for execution to preserve cache coherence |
US20070300042A1 (en) * | 2006-06-27 | 2007-12-27 | Moyer William C | Method and apparatus for interfacing a processor and coprocessor |
US7925862B2 (en) * | 2006-06-27 | 2011-04-12 | Freescale Semiconductor, Inc. | Coprocessor forwarding load and store instructions with displacement to main processor for cache coherent execution when program counter value falls within predetermined ranges |
US8495272B2 (en) * | 2006-11-29 | 2013-07-23 | International Business Machines Corporation | Method to save bus switching power and reduce noise in an engineered bus |
US8271728B2 (en) * | 2008-11-13 | 2012-09-18 | International Business Machines Corporation | Spiral cache power management, adaptive sizing and interface operations |
US8543768B2 (en) | 2008-11-13 | 2013-09-24 | International Business Machines Corporation | Memory system including a spiral cache |
US8527726B2 (en) | 2008-11-13 | 2013-09-03 | International Business Machines Corporation | Tiled storage array with systolic move-to-front reorganization |
US8689027B2 (en) * | 2008-11-13 | 2014-04-01 | International Business Machines Corporation | Tiled memory power management |
US8549208B2 (en) * | 2008-12-08 | 2013-10-01 | Teleputers, Llc | Cache memory having enhanced performance and security features |
KR101989860B1 (ko) * | 2012-12-21 | 2019-06-17 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
US20190303037A1 (en) * | 2018-03-30 | 2019-10-03 | Ca, Inc. | Using sequential read intention to increase data buffer reuse |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04328656A (ja) * | 1991-04-30 | 1992-11-17 | Toshiba Corp | キャッシュメモリ |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4714990A (en) * | 1982-09-18 | 1987-12-22 | International Computers Limited | Data storage apparatus |
US4719568A (en) * | 1982-12-30 | 1988-01-12 | International Business Machines Corporation | Hierarchical memory system including separate cache memories for storing data and instructions |
DE3380678D1 (en) * | 1983-05-25 | 1989-11-09 | Ibm Deutschland | Semiconductor memory |
JPS6010492A (ja) * | 1983-06-29 | 1985-01-19 | Fujitsu Ltd | 半導体記憶装置 |
US4907150A (en) * | 1986-01-17 | 1990-03-06 | International Business Machines Corporation | Apparatus and method for suspending and resuming software applications on a computer |
US5237671A (en) * | 1986-05-02 | 1993-08-17 | Silicon Graphics, Inc. | Translation lookaside buffer shutdown scheme |
US4914582A (en) * | 1986-06-27 | 1990-04-03 | Hewlett-Packard Company | Cache tag lookaside |
US4811209A (en) * | 1986-07-31 | 1989-03-07 | Hewlett-Packard Company | Cache memory with multiple valid bits for each data indication the validity within different contents |
EP0259967B1 (en) * | 1986-08-01 | 1994-03-23 | Fujitsu Limited | Directory memory |
US5019971A (en) * | 1987-04-13 | 1991-05-28 | Prime Computer, Inc. | High availability cache organization |
US4910656A (en) * | 1987-09-21 | 1990-03-20 | Motorola, Inc. | Bus master having selective burst initiation |
JPH01154261A (ja) * | 1987-12-11 | 1989-06-16 | Toshiba Corp | 情報処理装置 |
US5113510A (en) * | 1987-12-22 | 1992-05-12 | Thinking Machines Corporation | Method and apparatus for operating a cache memory in a multi-processor |
NL8800158A (nl) * | 1988-01-25 | 1989-08-16 | Philips Nv | Computersysteem voorzien van een hierarchisch georganiseerd geheugen. |
JPH0239255A (ja) * | 1988-07-28 | 1990-02-08 | Toshiba Corp | キャッシュメモリ |
JPH0786847B2 (ja) * | 1988-08-09 | 1995-09-20 | 松下電器産業株式会社 | キャッシュメモリ |
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 |
US5060136A (en) * | 1989-01-06 | 1991-10-22 | International Business Machines Corp. | Four-way associative cache with dlat and separately addressable arrays used for updating certain bits without reading them out first |
US5067078A (en) * | 1989-04-17 | 1991-11-19 | Motorola, Inc. | Cache which provides status information |
US5155824A (en) * | 1989-05-15 | 1992-10-13 | Motorola, Inc. | System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address |
US5091851A (en) * | 1989-07-19 | 1992-02-25 | Hewlett-Packard Company | Fast multiple-word accesses from a multi-way set-associative cache memory |
US5233702A (en) * | 1989-08-07 | 1993-08-03 | International Business Machines Corporation | Cache miss facility with stored sequences for data fetching |
US4969122A (en) * | 1989-08-21 | 1990-11-06 | Sun Microsystems, Inc. | Apparatus for page tagging in a computer system |
US5206941A (en) * | 1990-01-22 | 1993-04-27 | International Business Machines Corporation | Fast store-through cache memory |
JPH0625984B2 (ja) * | 1990-02-20 | 1994-04-06 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | マルチプロセツサ・システム |
JP3024687B2 (ja) * | 1990-06-05 | 2000-03-21 | 三菱電機株式会社 | 半導体記憶装置 |
US5175833A (en) * | 1990-06-07 | 1992-12-29 | Intel Corporation | Apparatus for determining relative position of a cache memory in a cache memory array |
US5210842A (en) * | 1991-02-04 | 1993-05-11 | Motorola, Inc. | Data processor having instruction varied set associative cache boundary accessing |
GB2260628A (en) * | 1991-10-11 | 1993-04-21 | Intel Corp | Line buffer for cache memory |
US5255224A (en) * | 1991-12-18 | 1993-10-19 | International Business Machines Corporation | Boosted drive system for master/local word line memory architecture |
JP2728819B2 (ja) * | 1991-12-18 | 1998-03-18 | 川崎製鉄株式会社 | 半導体集積回路 |
US5367653A (en) * | 1991-12-26 | 1994-11-22 | International Business Machines Corporation | Reconfigurable multi-way associative cache memory |
JP3183699B2 (ja) * | 1992-03-13 | 2001-07-09 | 沖電気工業株式会社 | 半導体記憶装置 |
JPH05282898A (ja) * | 1992-03-30 | 1993-10-29 | Hitachi Ltd | 半導体記憶装置 |
US5524233A (en) * | 1993-03-31 | 1996-06-04 | Intel Corporation | Method and apparatus for controlling an external cache memory wherein the cache controller is responsive to an interagent communication for performing cache control operations |
US5502683A (en) * | 1993-04-20 | 1996-03-26 | International Business Machines Corporation | Dual ported memory with word line access control |
-
1994
- 1994-03-14 EP EP94103887A patent/EP0624844A2/en not_active Withdrawn
- 1994-04-04 JP JP6065905A patent/JP2837804B2/ja not_active Expired - Fee Related
- 1994-04-19 KR KR1019940008379A patent/KR960016403B1/ko not_active IP Right Cessation
- 1994-04-19 CN CN94104365A patent/CN1089474C/zh not_active Expired - Fee Related
-
1995
- 1995-06-07 US US08/473,159 patent/US5727180A/en not_active Expired - Fee Related
- 1995-06-07 US US08/473,158 patent/US5717648A/en not_active Expired - Fee Related
-
1996
- 1996-03-11 US US08/662,890 patent/US5640339A/en not_active Expired - Fee Related
-
1997
- 1997-10-16 JP JP28379797A patent/JP3277145B2/ja not_active Expired - Fee Related
- 1997-10-16 JP JP9283617A patent/JPH10232836A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04328656A (ja) * | 1991-04-30 | 1992-11-17 | Toshiba Corp | キャッシュメモリ |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007097028A1 (ja) * | 2006-02-27 | 2007-08-30 | Fujitsu Limited | Lru制御装置、lru制御方法およびlru制御プログラム |
EP1990732A4 (en) * | 2006-02-27 | 2009-09-02 | Fujitsu Ltd | DEVICE, METHOD AND LRU CONTROL PROGRAM |
US8065496B2 (en) | 2006-02-27 | 2011-11-22 | Fujitsu Limited | Method for updating information used for selecting candidate in LRU control |
JP2015504216A (ja) * | 2012-01-09 | 2015-02-05 | フェントン システムズ リミテッドFenton Systems Ltd | デジタル回路用クロック信号発生器 |
Also Published As
Publication number | Publication date |
---|---|
KR960016403B1 (ko) | 1996-12-11 |
EP0624844A2 (en) | 1994-11-17 |
JPH10232836A (ja) | 1998-09-02 |
EP0624844A3 (ja) | 1994-12-14 |
JP2837804B2 (ja) | 1998-12-16 |
US5717648A (en) | 1998-02-10 |
CN1089474C (zh) | 2002-08-21 |
JP3277145B2 (ja) | 2002-04-22 |
CN1106951A (zh) | 1995-08-16 |
JPH10232837A (ja) | 1998-09-02 |
US5727180A (en) | 1998-03-10 |
US5640339A (en) | 1997-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3277145B2 (ja) | メモリ・アレイ | |
US6594728B1 (en) | Cache memory with dual-way arrays and multiplexed parallel output | |
US5014195A (en) | Configurable set associative cache with decoded data element enable lines | |
US5826052A (en) | Method and apparatus for concurrent access to multiple physical caches | |
US5848428A (en) | Sense amplifier decoding in a memory device to reduce power consumption | |
US5414824A (en) | Apparatus and method for accessing a split line in a high speed cache | |
US6678815B1 (en) | Apparatus and method for reducing power consumption due to cache and TLB accesses in a processor front-end | |
US6356990B1 (en) | Set-associative cache memory having a built-in set prediction array | |
US5913223A (en) | Low power set associative cache memory | |
JPH10133947A (ja) | 統合されたプロセッサ・メモリ装置 | |
EP0817066A2 (en) | Integrated processor/memory device with full width cache | |
JP4445081B2 (ja) | キャッシュ・メモリ | |
US5737569A (en) | Multiport high speed memory having contention arbitration capability without standby delay | |
US7984229B2 (en) | Pipelined tag and information array access with speculative retrieval of tag that corresponds to information access | |
US5682515A (en) | Low power set associative cache memory with status inhibit of cache data output | |
JPH07295889A (ja) | アドレス変換回路 | |
US5367655A (en) | Memory and associated method including an operating mode for simultaneously selecting multiple rows of cells | |
US6510506B2 (en) | Error detection in cache tag array using valid vector | |
US5802586A (en) | Cache memory having a read-modify-write operation and simultaneous burst read and write operations and a method therefor | |
JPH07182238A (ja) | 欠陥データ無効化回路及び方法 | |
JP3431878B2 (ja) | マルチスレッド・プロセッサの命令キャッシュ | |
EP0535701A1 (en) | Architecture and method for combining static cache memory and dynamic main memory on the same chip (CDRAM) | |
US5434990A (en) | Method for serially or concurrently addressing n individually addressable memories each having an address latch and data latch | |
US6003119A (en) | Memory circuit for reordering selected data in parallel with selection of the data from the memory circuit | |
US7254746B1 (en) | Method and apparatus for using a fault tolerant memory in processor testing and design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |