JP2003501744A - キャッシュ・メモリ用状態ビット - Google Patents

キャッシュ・メモリ用状態ビット

Info

Publication number
JP2003501744A
JP2003501744A JP2001501990A JP2001501990A JP2003501744A JP 2003501744 A JP2003501744 A JP 2003501744A JP 2001501990 A JP2001501990 A JP 2001501990A JP 2001501990 A JP2001501990 A JP 2001501990A JP 2003501744 A JP2003501744 A JP 2003501744A
Authority
JP
Japan
Prior art keywords
status
bit
level
state
bits
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.)
Pending
Application number
JP2001501990A
Other languages
English (en)
Inventor
ワット、サイモン、チャールズ
Original Assignee
エイアールエム リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エイアールエム リミテッド filed Critical エイアールエム リミテッド
Publication of JP2003501744A publication Critical patent/JP2003501744A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital 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/04Digital 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

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)【要約】 複数のデータワードを記憶するように動作するメモリであって、各データワードが、前記データワードの状態に関する情報を与える少なくとも1つの状態ビットを伴っているメモリ;階層構造中で前記状態ビットを記憶するように動作する状態ビット記憶装置であって、前記階層構造の第1レベルにある複数の第1レベル状態ビットに関連する組合せ状態が、前記階層構造で前記第1レベルよりも上位のレベルである第2レベルにある第2レベル状態ビットによって表示されるようになった状態ビット記憶装置;および前記メモリ中の1個のデータワードの状態を決めるように動作する状態検査論理であって、前記階層構造の最上位レベルから始めて前記階層構造を下方へ前記状態ビット記憶装置内の状態ビットを調べていって、前記階層構造中にそれよりも下位のすべての状態ビットとは無関係に前記データワードの前記状態を示す状態ビットに到達するまで検査作業を行う状態検査論理;を含むように提供されるデータ処理装置。このように、状態ビットに対する広域的なまたは大規模な変更が、階層構造中の比較的少数の上位レベルの状態ビットを修正することによって行われ、それに従って、特殊な目的のハードウエアを必要とする程度を減らして、高速の変更を実現できる。

Description

【発明の詳細な説明】
【0001】 本発明はデータ処理システムに関する。更に詳細には、本発明は、キャッシュ
・メモリ中の各データワードに付随して少なくとも1つの状態ビットを採用する
キャッシュ・メモリを使用したデータ処理システムに関する。
【0002】 添付図面の図1に示すように、キャッシュRAMメモリ4中のデータ・ライン
に対するアドレスTAGを含む記憶装置2を含むキャッシュ・メモリを提供する
ことは知られている。キャッシュRAMメモリ4は複数個のキャッシュ・ライン
6を含み、各キャッシュ・ライン6は4個のデータワードを記憶する。各キャッ
シュ・ライン6には複数個の有効および汚染(dirty)ビット8が付随する。一
般的な状態ビットのタイプは有効ビット10と汚染ビット12とである。有効ビ
ット10はそのキャッシュ・ラインが有効なデータを記憶しているかどうかを示
す。例えば、起動時には各キャッシュ・ライン6は無効データを記憶していると
マークされなければならない。汚染ビット12は、ライトバック(write back)
式キャッシュ・アーキテクチャに関連して、そのキャッシュ・ライン6の少なく
とも1個のデータワードがメイン・メモリから読み出された後で変更されており
、従ってそのキャッシュ・ライン6を消去したり、キャッシュ内で置換したりす
る場合にはメイン・メモリへライトバックする必要があることを示す。回路面積
と状態ビット8で達成できる細かい制御の程度との間の妥協点として、各キャッ
シュ・ライン6はそれに付随する1個の有効ビット10と、それに付随する1個
の汚染ビット12とを含む(これは大多数のキャッシュ構築で採用されている構
成である)ことが理解されよう。こうすると、1個のキャッシュ・ライン6中の
4個のデータワードがこれらの状態ビット8を共有することになる。
【0003】 特定の動作環境では、キャッシュ・システムの全キャッシュ・ライン6の状態
ビット8に対して広域的な変更を加えることが望ましい。例えば、システムの起
動時に、MMUの変更やコンテキスト・スイッチの後で、各キャッシュ・ライン
6の有効ビット10をすべて無効であるとマークすることによって、キャッシュ
の全内容を消去する必要がしばしばある。このことを行う1つの方法は、有効ビ
ット10の各々に逐次的にアクセスしてそれを無効と書き換えるものである。数
千個のキャッシュ・ライン6を含むキャッシュ・システムでは、この操作は数千
ものプロセス・サイクルを消費し、システム性能に大きな影響を与える。状態ビ
ット8の各々を逐次的および個別的に変更する方法に代わる別の方法は、状態ビ
ットを並列的に変更できる特別な目的のハードウエアを使用して、広域的な変更
を施すものである。この方法は高速な操作を可能とするものの、この特別な目的
のハードウエア用として回路面積を消費するという欠点を有し、そのハードウエ
アはより一般的なシステム設計の個々の実施に際して特別注文の設計を必要とす
るのが普通である。
【0004】 本発明は、高速で、可能ならばプロセス・サイクル1個分ほどの速度で、また
すべての状態ビットに並列的にアクセスするための特注のハードウエアを必要と
せずに、状態ビットを変更するための機構を提供することに関連する。
【0005】 1つの態様から見ると、本発明はデータ処理のための装置を提供し、前記装置
は: 複数のデータワードを記憶するように動作するメモリであって、各データワー
ドが、前記データワードの状態に関する情報を与える少なくとも1つの状態ビッ
トを伴っているメモリ; 階層構造中で前記状態ビットを記憶するように動作する状態ビット記憶装置で
あって、前記階層構造の第1レベルにある複数の第1レベル状態ビットに関連す
る組合せ状態が、前記階層構造で前記第1レベルよりも上位のレベルである第2
レベルにある第2レベル状態ビットによって表示されるようになった状態ビット
記憶装置;および 前記メモリ中の1個のデータワードの状態を決めるように動作する状態検査論
理であって、前記階層構造の最上位レベルから始めて前記階層構造を下方へ前記
状態ビット記憶装置内の状態ビットを調べていって、前記階層構造中にそれより
も下位のすべての状態ビットとは無関係に前記データワードの前記状態を示す状
態ビットに到達するまで検査作業を行う状態検査論理; を含んでいる。
【0006】 本発明は階層構造(少なくとも2つのレベルを含む)に配置された状態ビット
を提供するので、メモリ内の複数のデータワードの状態に対する広域的あるいは
大規模な変更を、階層構造の最上位にあるかあるいは最上位に近い比較的少数の
状態ビットを変更するだけで、状態を変更しようとする各データワードに関連す
るすべての状態ビットを個別に変更する必要なしに行うことができる。従って、
状態ビットに対する広域的あるいは大規模な変更を行うために要する時間は、す
べての状態ビットを並列的に大規模に変更するための特注のハードウエアを提供
せずに、劇的に短縮される。明らかなように、多くのデータワードが状態ビット
を共有する。いくつかの実施の形態では、階層は有効ビットについてのものとさ
れ、それらが関連するデータワードには、TAG値、データワード、汚染ビット
、およびその他の状態ビットが含まれる。
【0007】 状態ビットは、それらに関連するデータワードの多様な異なる特性を表すこと
ができる。しかし、本発明は、メモリに記憶されるデータワードの有効性を状態
ビットが表すようになった実施の形態に特に適している。
【0008】 有効ビットはしばしば広域的あるいは大規模な変更の対象となるが、本発明は
それらの作業をより迅速に、またハードウエアのコストを下げて可能とするので
特に有用である。
【0009】 階層構造の最下位レベルでは、データワードごとに1つの個別的な状態ビット
が設けられることを理解されよう。従って、そのメモリがキャッシュ・メモリで
あって、1個のキャッシュ・ラインが4個のデータワードを記憶する場合には、
そのキャッシュ・ラインに対して4個の別々の有効ビットを割り当てて、個々の
データワードの有効性を表示させるようにすることができる。しかし、本発明の
好適な実施の形態では、最下位レベルの状態ビットは複数のデータワードに関連
する。これによって、達成できる細かい制御の粒度と状態ビットを提供するため
に要するハードウエア資源との間で満足できる妥協を図ることができる。
【0010】 更に詳細には、キャッシュ・メモリの1個のキャッシュ行のすべてのデータワ
ードに対して最下位レベルの1個の状態ビットを付随させるのが非常に便利であ
る。いくつかの実施の形態では、1個のキャッシュ行がそれに付随するTAG値
および汚染ビットを含むようにされる。
【0011】 この構成が効率的に機能することが分かった。それは、メイン・メモリとの間
でのキャッシュ・アクセスはキャッシュ行ごとに発生するのが普通であるため、
実用上最も多いメモリ・アクセスに関する時間的および場所的局在性のためにキ
ャッシュ行のレベルより下方の状態情報は滅多に必要でないためである。
【0012】 本発明は、状態ビット記憶装置が、複数の状態ビットを含む状態ビットワード
を記憶するRAMメモリを含む実施の形態に適している。それらの状態ビットと
状態検査論理との間の階層構造的な関係は、階層構造中でより下方のレベルでの
状態ビットは性能に大きな影響を与えることなくRAMメモリに記憶でき、従っ
て特注のラッチやレジスタと比べて、RAMメモリの記憶密度の利点を実現でき
るものとなっている。
【0013】 RAMメモリに状態ビットを記憶することによって、それらはRAMメモリか
らアクセスできる状態ビットワードとして便利に操作できるようになる。
【0014】 状態ビットワードの操作における典型的な動作は、多くのシステムで既存のデ
ータ処理構造によって容易にサポートされている読出し−修正−書込み動作であ
る。別々の読出しおよび書込み動作もまた必要であり、いくつかのRAMメモリ
では、読出しおよび書込み動作のみがサポートされよう。
【0015】 状態ビット記憶装置内の最下位レベルで高密度なRAMメモリを使用するのと
は対照的に、好適な実施の形態では、階層構造の少なくとも最上位レベルがレジ
スタ・ビット回路(Dタイプ)を使用して状態ビットを記憶する。ラッチ回路は
、予め定義された入力や状態、例えば、起動時、MMU変更、コンテキスト・ス
イッチ等に応答して非常に高速にアクセスおよび変更でき、従って、比較的わず
かなハードウエアで、あるいは特注のハードウエアなしで、高速の広域的あるい
は大規模な状態変更を提供する。
【0016】 ラッチに記憶された状態ビットは、ワードごとにアクセスおよび操作されるR
AMに記憶された状態ビットと比べて、個別的にアクセスおよび操作できるのが
普通である。
【0017】 いくつかの実施の形態では、階層構造の最上位レベルには1個だけの状態ビッ
トが含まれる。そのような環境では、キャッシュ・メモリのデータワード全体の
状態は、最上位レベルにあるこの1個の状態ビットを変更するだけで変更できる
【0018】 本発明の状態ビット記憶装置および状態検査論理の本質的な特徴を実現するた
めには、メモリ全体に対する広域的変更が、階層構造の最上位レベルのみの修正
によって行い得るよう、また十分なハードウエアのサポートを与えて、そのよう
な広域的変更がプロセス・サイクル1個分の中で実行されるように構成すること
が非常に望ましい。このことはキャッシュ・メモリに関して特に有利である。
【0019】 理解されるように、状態ビットの広域的な変更はそのような階層構造中の数少
ないビットを変更することによって行うことができるものの、最下位レベルから
始まる個々の状態ビットの設定は、それらの変更が階層構造全体を通して上方へ
向かって反映されるべきであることから、より長時間を要するものとなるであろ
う。しかし、本発明は、キャッシュ・メモリに関して、キャッシュ・フィル(fi
ll)動作は比較的低速で行われるため、キャッシュ・フィルに伴う多くの状態ビ
ットの変更のために利用できる時間が実際には十分あって、動作全体の速度に影
響を与えることなく階層構造内の必要な状態ビット変更すべてを許容できると考
えている。効率を更に改善するためには、状態ビットを並列的に変更してもよい
【0020】 別の態様から見ると、本発明はデータ処理の方法を提供しており、前記方法は
: 1つのメモリに複数のデータワードを記憶する工程であって、各データワード
が前記データワードの状態に関する情報を与える少なくとも1個の状態ビットを
伴っている工程; 階層構造中に前記状態ビットを記憶する工程であって、前記階層構造中の第1
レベルにある複数の第1レベル状態ビットに関連する組合せ状態が、前記階層構
造で前記第1レベルよりも上位の第2レベルにある第2レベル状態ビットによっ
て表される工程;および 前記メモリの1つのデータワードの状態を決定する工程であって、前記階層構
造の最上位レベルから始めて前記階層構造を下方へ前記状態ビット記憶装置内の
状態ビットを調べていって、前記階層構造中にそれよりも下位のすべての状態ビ
ットとは無関係に前記データワードの前記状態を示す状態ビットに到達するまで
検査作業を行う工程; を含んでいる。
【0021】 本発明の実施の形態について、ここで一例として添付図面を参照しながら説明
することにする。
【0022】 図2は、各々が4個のデータワードを記憶する複数のキャッシュ・ライン16
を含むキャッシュ・データワード・メモリ14を示す。各キャッシュ・ライン1
6には1個の有効ビット18が付随する。8個の連続したキャッシュ・ライン1
6に対する有効ビットは、状態ビットRAMメモリに記憶された1個の状態ビッ
トワード20に記憶される。状態ビットワード20は状態ビットを記憶する階層
構造内の最下位レベルを含む。
【0023】 各状態ビットワード20には1個の状態ビット22が付随し、それは階層構造
のより上位のレベルに記憶されていて、状態ワード20内の状態ビット18すべ
ての組合せ状態を示している。このように、8個の状態ワード20の状態は階層
構造の次に上位のレベルにある1個の状態ワードの8ビット22によって表示で
きる。その次に高いレベルは状態ビットRAMメモリ中に、あるいは階層構造の
最上位へ向かったどこかのレベルに設けることができ、専用の論理回路を使用し
て比較的高速に変更のできるラッチ(レジスタ・ビット)を使用して状態ビット
記憶を提供することがより効率的になる。
【0024】 図3は、キャッシュ行のTAG値および付随する状態ビットを記憶するための
キャッシュ・メモリ・システムの一部分を示す。キャッシュが256個のキャッ
シュ行を有する場合は、各キャッシュ行に対して付随するTAG値を記憶するた
めに256個の行TAG記憶装置24が設けられる。各キャッシュ行が1個だけ
の状態ビット(例えば、有効ビット)を有すると仮定すれば、これら256個の
キャッシュ行に関する状態は状態ビットRAMメモリ26に含まれる32ビット
のワード8個に記憶できる。32ビットのワードは状態ビットを記憶する階層構
造中の最下位レベルを表す。この階層構造の次に上位のレベル(およびこの例で
は最上位レベル)は1個の8ビット・レジスタ28によって提供されており、レ
ジスタ28の各ビットは状態ビットRAMメモリ26中の32ビットの状態ビッ
トワードの1つのワードの組合せ状態を表す。
【0025】 キャッシュ・コントローラ30が、TAGメモリ24、状態ビットRAMメモ
リ26、および状態ビット・レジスタ28へつながれている。キャッシュ・コン
トローラ30は、キャッシュ・メモリ内のデータワードに対してアクセスがなさ
れた場合は状態検査論理として機能し、またその他の機能も有する。データワー
ドに対するアクセス要求があった場合は、キャッシュ・コントローラ30は、状
態ビット・レジスタ28および状態ビットRAMメモリ26中に記憶されている
状態ビットを調べる。もしも最上位レベルにおいて、その特別なデータワードに
対応する状態ビット・レジスタ28中のビットが、そのデータワードが有効であ
ることを示していれば、キャッシュ・コントローラ30は次に進んで状態ビット
RAMメモリ26内のそのデータワード(キャッシュ行)に対する個々のビット
を調べる。もしも状態ビット・レジスタ28中のそのビットが無効を表示してい
れば、状態ビットRAMメモリ26をチェックする必要はない(実際には並列的
にチェックが行われる)。これは最上位レベルでの無効という表示は下位レベル
でのどんな評価にも優先するからである。
【0026】 キャッシュ・コントローラ30は状態ビット・レジスタ28中の状態ビットに
対して高速にアクセスできるため、この状態ビット・レジスタ28中のすべての
ビットを、例えば高速のキャッシュ消去で要求されるように、1サイクルで無効
性を示すように設定できる。状態ビットRAMメモリ26中の状態ビットワード
は、階層構造中のこの最下位レベルにある状態ビットに対する細かい変更を行う
ために要求されるように、読出し−修正−書込み動作によってアクセスできる。
あるいは、別々になった読出しおよび書込み動作を実行することもできる。
【0027】 図4は、ライン当たり4個のデータワードを有し、ダイレクト・マッピングさ
れた128kBのキャッシュ内で、データワードのアドレスが状態ビットおよび
その他の制御データとどのように関連付けられるかの例を示す。
【0028】 アドレス32の上位部分はTAG値を構成し、それはTAGメモリ24中に記
憶されているTAG値と比較されて、その特別なデータがキャッシュされている
かどうかが判断される。キャッシュがダイレクト・マッピングされているので、
アドレスの中位部分はキャッシュへのインデックスを与え、そのデータがキャッ
シュに存在している場合にはTAG値を記憶するTAGメモリ位置を指示する。
アドレスの下位端では、ワード・ビットWおよびバイト・ビットBが、キャッシ
ュ行中のどのワード位置がアドレッシングされるかを示し、またバイト・アドレ
ッシングが許可される場合はデータワード中のバイト位置を示す。
【0029】 このキャッシュ・メモリに関連する状態ビット情報は3レベルの階層中に記憶
される。状態ビットは各キャッシュ行について記憶されるので、各インデックス
値に付随して1つの状態ビットがある。これらのインデックス値の状態ビットは
コンパイルRAMメモリを含む256*16のアレイに記憶できる。第3レベル
にあるアレイの各行は、それ自身が16*16のアレイ中に記憶される階層構造
第2レベルの中に、対応する状態ビットを有する。この16*16のアレイもま
た、コンパイルRAMメモリ中に記憶されよう。階層構造中の最上位レベル(第
1レベル)は16個のレジスタ・ビットで提供され、レジスタ・ビット1個が第
2レベルの各アレイ行に対応する。
【0030】 図5は、一例として別のキャッシュ・メモリの構造を示す。この例では、TA
G値を記憶するために1024行のTAGメモリ36が提供される。TAGメモ
リ36の各行は1つのキャッシュ行に対応し、それに関連する1つの状態ビット
を有する。従って、1024個のキャッシュ行に対応する状態ビットは、状態ビ
ット記憶装置40の一部分を構成する32*32のビットワードRAM38に記
憶できる。この状態ビットRAM38は階層構造中の最下位レベルである。階層
構造中の最上位レベルは32個のレジスタ・ビット42で提供され、1個のレジ
スタ・ビットが状態ビットRAMメモリ38中の各32ビットワードに対応する
【0031】 別の例示として、階層構造の状態ビットを採用するキャッシュ・メモリ・シス
テムに記憶されているデータワードを操作する各種動作に含まれる工程は:
【0032】 状態チェック: *階層のすべてのレベルから適当なビットを読み出す *次の下位の各レベルが有効であることを階層の下方へチェックしてゆく *もしどれかのレベルが、それより下層レベルが無効であることを示せば、デフ
ォルト(リセット)値を返す *そうでなければ、最下位レベルの有効記憶装置からフェッチされる値を返す。
【0033】 状態ビットは2つの状態を有する。有効ビットの場合は、無効であるリセット
状態と有効状態とがある。どれかが有効であるとマークするためには、階層のす
べてのレベルをマークしなければならない。リセット状態は強い状態であると考
えることができ、それは上位レベルのビットによって示すことができ、また他方
の状態は弱い状態と考えることができ、それに対して階層のすべてのビットは一
致しなければならない。
【0034】 ロケーション当たりに複数の状態ビットを記憶するシステムでは、階層のより
上位のレベルは階層中のそれより下位レベルの有効性を示すために1つのビット
だけを含めばよい。
【0035】 状態書込み: *階層を下方に向かって、次の下方レベルが有効であることを示すようにビット
を適当に設定するように作業する *以前に無効であった新しい行(階層中の任意のレベルにおいて)が有効である
とマークされた場合は、書き込まれる値を除いて、行全体をリセット値で初期化
する必要がある *1つの行が前に有効であった場合には、適当なビットのみを更新するために読
出し−修正−書込み動作が必要である *階層の最下位レベルにおいて適当なデータが書き込まれるべきであり、もしも
必要であれば、その他の状態ビットがそれらのリセット値に書き込まれる。
【0036】 状態リセット: *階層全体が無効であるとマークするために、状態ビットの最上位レベルをリセ
ットすべきである。
【0037】 キャッシュ方式のシステムでは、読出し−修正−書込み動作は数サイクルに亘
ることがある。これによって引き起こされるいくつかの興味あるオプションは:
*あなたが維持する必要があるのは有効ビットの階層だけであり、最下位レベル
にある状態ビットの数(例えば、4個の有効ビット+汚染+その他の状態ビット
)には関係ない。すなわち、階層中の異なるレベルは異なる状態ビットを記憶で
きる。 *もしもあなたがそうするのであれば、アレイを読み出す論理回路は、無効場所
へのアクセスが行われた場合、“リセット”状態を返す必要がある。 *有効ビット階層のみを維持する代わりに、階層を通してその他の状態を追跡す
るほうが有益であるかもしれない。例えば、有効と汚染の両階層を維持するとか
。そうすれば、汚染されたキャッシュ場所の検索をより高速に行うことができる
【図面の簡単な説明】
【図1】 各キャッシュ・ラインに対して個別の状態ビットを備える既知のキャッシュ・
システムを示す図。
【図2】 階層構造になったキャッシュ状態ビット記憶装置およびそれに付随する状態ビ
ットを示す図。
【図3】 キャッシュ・ラインのTAG値および状態ビットを操作するためのキャッシュ
・システムの一部分の模式図。
【図4】 1個のデータワードのアドレス・ビットとそのデータワードに対する状態ビッ
トとの、状態ビット階層構造内での関係を示す例示的キャッシュ・アーキテクチ
ャを示す図。
【図5】 キャッシュ・メモリ・システムの一部分の別の実施の形態を示す図。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成13年3月31日(2001.3.31)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
請求項1】 データ処理のための装置であって: 複数のデータワードを記憶するように動作するメモリ(14)であって、各デ
ータワードが、前記データワードの状態に関する情報を与える少なくとも1つの
状態ビット(18)を伴っているメモリ(14); 階層構造中で前記状態ビットを記憶するように動作する状態ビット記憶装置 26,28,40) であって、前記階層構造の第1レベルにある複数の第1レベ
ル状態ビットに関連する組合せ状態が、前記階層構造で前記第1レベルよりも上
位のレベルである第2レベルにある第2レベル状態ビット(22)によって表示
されるようになった状態ビット記憶装置(26,28,40); 前記メモリ中の1個のデータワードの状態を決めるように動作する状態検査論
(30)であって、前記階層構造の最上位レベルから始めて前記階層構造を下
方へ前記状態ビット記憶装置内の状態ビットを調べていって、前記階層構造中に
それよりも下位のすべての状態ビットとは無関係に前記データワードの前記状態
を示す状態ビットに到達するまで検査作業を行う状態検査論理(30); を含み、更に、 前記装置が、前記階層構造の最上位レベルにあるそれらの状態ビットのみを修 正することによって、前記メモリに記憶されているすべてのデータワードの状態 の広域的な変更を表示するように動作すること; を特徴とする装置
請求項2】 請求項1に記載の装置であって、前記状態ビットが、前記メ
モリ(14)中に記憶されているデータワードの有効性を示す有効ビットである
装置。
請求項3】 請求項1および2のうちの任意の項に記載の装置であって、
前記階層構造中の最下位レベルにおいて、最下位レベルの状態ビットが前記メモ
(14)中に記憶されている複数のデータワードに付随している装置。
請求項4】 請求項1、2、および3のうちの任意の項記載の装置であっ
て、前記メモリがキャッシュ・メモリ(14)である装置。
請求項5】 請求項4に記載の装置であって、前記キャッシュ・メモリ 14) が複数のキャッシュ行を含んでおり、各キャッシュ行が複数個のデータワ
ードを記憶しており、また最下位レベルの1つの状態ビットが前記キャッシュ・
メモリの1個のキャッシュ行のすべてのデータワードに関連している装置。
請求項6】 先行の任意の項に記載の装置であって、前記状態ビット記憶
装置(26,28,40)が、複数個の状態ビットを含む状態ビットワード(2 0) を記憶するRAMメモリ(26,38)を含んでいる装置。
請求項7】 請求項6に記載の装置であって、前記状態ビットワード(2 0) 中の状態ビット(18)が、前記状態ビットワードの一部としてアクセスお
よび操作される装置。
請求項8】 請求項7に記載の装置であって、1個の状態ビット(18) が、前記RAMメモリ(26,38)に対する状態ワード(20)の読出し−修
正−書込み動作によって操作される装置。
請求項9】 先行の任意の項に記載の装置であって、前記状態ビット記憶
装置が、1個の状態ビットを記憶するように動作する少なくとも1個のレジスタ ・ビット回路(28,42)を含む前記階層構造中に少なくとも最上位レベルを 含んでいる装置
請求項12請求項4ないし11に記載の装置であって、前記状態ビッ
ト記憶装置が、前記キャッシュ・メモリのすべてのデータワードの状態の広域的
な変更が、前記階層構造の最上位レベルにある状態ビットに対する変更によって
プロセス・サイクル1個分の間に提供できるように動作する装置。
請求項13】 請求項4に記載の装置であって、前記キャッシュ・メモリ
のすべてのデータワードの状態の広域的な変更が: (i)キャッシュ・メモリ消去動作; (ii)前記データワードへのアクセスを制御するメモリ管理ユニットの構成変更
;および (iii)前記装置上のソフトウエア動作を制御するオペレーティング・システム
のコンテキスト・スイッチ; のいずれかに応答して行われる装置。
請求項14】 請求項4に記載の装置であって、前記キャッシュ・メモリ
へのデータワードの記憶がキャッシュ・フィル動作を利用してプロセス・サイク
ル複数個分の間に行われ、また前記状態ビット記憶装置が前記プロセス・サイク
ル複数個分の間に、前記キャッシュ・メモリに記憶されている前記データワード
に関連する状態ビットを修正するように動作する装置。
請求項15】 先行の任意の項に記載の装置であって、前記階層構造が3
またはそれ以上の数のレベルを含んでいる装置。
請求項16】 先行の任意の項に記載の装置であって、前記階層構造中の
異なるレベルが異なる状態ビットを記憶している装置。
請求項17】 データ処理の方法であって: 1つのメモリに複数のデータワードを記憶する工程であって、各データワード
が前記データワードの状態に関する情報を与える少なくとも1個の状態ビットを
伴っている工程; 階層構造中に前記状態ビットを記憶する工程であって、前記階層構造中の第1
レベルにある複数の第1レベル状態ビットに関連する組合せ状態が、前記階層構
造で前記第1レベルよりも上位の第2レベルにある第2レベル状態ビットによっ
て表される工程; 前記メモリの1つのデータワードの状態を決定する工程であって、前記階層構
造の最上位レベルから始めて前記階層構造を下方へ前記状態ビット記憶装置内の
状態ビットを調べていって、前記階層構造中にそれよりも下位のすべての状態ビ
ットとは無関係に前記データワードの前記状態を示す状態ビットに到達するまで
検査作業を行う工程;を含み、更に 前記階層構造の最上位レベルにあるそれらの状態ビットのみを修正することに よって、前記メモリに記憶されているすべてのデータワードの状態の広域的な変 更を表示する工程; を特徴とする方法。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0003
【補正方法】変更
【補正の内容】
0003】 特定の動作環境では、キャッシュ・システムの全キャッシュ・ライン6の状態
ビット8に対して広域的な変更を加えることが望ましい。例えば、システムの起
動時に、MMUの変更やコンテキスト・スイッチの後で、各キャッシュ・ライン
6の有効ビット10をすべて無効であるとマークすることによって、キャッシュ
の全内容を消去する必要がしばしばある。このことを行う1つの方法は、有効ビ
ット10の各々に逐次的にアクセスしてそれを無効と書き換えるものである。数
千個のキャッシュ・ライン6を含むキャッシュ・システムでは、この操作は数千
ものプロセス・サイクルを消費し、システム性能に大きな影響を与える。状態ビ
ット8の各々を逐次的および個別的に変更する方法に代わる別の方法は、状態ビ
ットを並列的に変更できる特別な目的のハードウエアを使用して、広域的な変更
を施すものである。この方法は高速な操作を可能とするものの、この特別な目的
のハードウエア用として回路面積を消費するという欠点を有し、そのハードウエ
アはより一般的なシステム設計の個々の実施に際して特別注文の設計を必要とす
るのが普通である。 米国特許第5475849号は、各々がそれ自身用にバッファ記憶装置または キャッシュを有するほかに、メイン・メモリを共有するようになった複数のプロ セッサを備える多重処理システムのためのメモリ制御装置を開示している。この システムは個々のバッファ記憶装置とメイン・メモリとの間の整合した制御を行 うためにフロント・アドレス・アレイ(FAA)を使用する。FAA取り出すの ための待ち時間を過度に増やすことなく、必要なFAAの数を制限するために、 このシステムは、メイン・メモリ中の各メモリ場所に対してエントリを有するブ ロック有効メモリ(BVM)と、各バッファ記憶装置に付随するメモリ場所の1 群に対してエントリを有するブロック・グループ有効テーブル(BGVT)とを 有する。記憶装置の要求時には、BGVTがまずアクセスされて、要求された場 所を含むブロックの一部または全体がこのBGVTに付随するバッファ記憶装置 中に存在すれば、有効信号が生成される。これに続いて、対応するBVMがアク セスされて、もしもこれが有効信号を生成すればそのメモリ場所がバッファ中に 存在し、そのFAAがアクセスされる。いずれかが無効信号を生成すれば、その 要求は無視され、FAAに送信されることはない。 米国特許第5539894号は、ブロック有効ビットおよびサブブロック有効 ビットを備えたキャッシュ・タグを有するキャッシュを開示している。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0005
【補正方法】変更
【補正の内容】
0005】 1つの態様から見ると、本発明はデータ処理のための装置を提供し、前記装置
は: 複数のデータワードを記憶するように動作するメモリであって、各データワー
ドが、前記データワードの状態に関する情報を与える少なくとも1つの状態ビッ
トを伴っているメモリ; 階層構造中で前記状態ビットを記憶するように動作する状態ビット記憶装置で
あって、前記階層構造の第1レベルにある複数の第1レベル状態ビットに関連す
る組合せ状態が、前記階層構造で前記第1レベルよりも上位のレベルである第2
レベルにある第2レベル状態ビットによって表示されるようになった状態ビット
記憶装置; 前記メモリ中の1個のデータワードの状態を決めるように動作する状態検査論
理であって、前記階層構造の最上位レベルから始めて前記階層構造を下方へ前記
状態ビット記憶装置内の状態ビットを調べていって、前記階層構造中にそれより
も下位のすべての状態ビットとは無関係に前記データワードの前記状態を示す状
態ビットに到達するまで検査作業を行う状態検査論理;を含み、更に 前記装置が、前記階層構造の最上位レベルにあるそれらの状態ビットのみを修 正することによって、前記メモリに記憶されているすべてのデータワードの状態 の広域的な変更を表示するように動作すること; を特徴とする。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0020
【補正方法】変更
【補正の内容】
0020】 別の態様から見ると、本発明はデータ処理の方法を提供しており、前記方法は
: 1つのメモリに複数のデータワードを記憶する工程であって、各データワード
が前記データワードの状態に関する情報を与える少なくとも1個の状態ビットを
伴っている工程; 階層構造中に前記状態ビットを記憶する工程であって、前記階層構造中の第1
レベルにある複数の第1レベル状態ビットに関連する組合せ状態が、前記階層構
造で前記第1レベルよりも上位の第2レベルにある第2レベル状態ビットによっ
て表される工程; 前記メモリの1つのデータワードの状態を決定する工程であって、前記階層構
造の最上位レベルから始めて前記階層構造を下方へ前記状態ビット記憶装置内の
状態ビットを調べていって、前記階層構造中にそれよりも下位のすべての状態ビ
ットとは無関係に前記データワードの前記状態を示す状態ビットに到達するまで
検査作業を行う工程;を含み、更に、 前記階層構造の最上位レベルにあるそれらの状態ビットのみを修正することに よって、前記メモリに記憶されているすべてのデータワードの状態の広域的な変 更を表示する工程; を特徴とする。
───────────────────────────────────────────────────── 【要約の続き】 を修正することによって行われ、それに従って、特殊な 目的のハードウエアを必要とする程度を減らして、高速 の変更を実現できる。

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 データ処理のための装置であって: 複数のデータワードを記憶するように動作するメモリであって、各データワー
    ドが、前記データワードの状態に関する情報を与える少なくとも1つの状態ビッ
    トを伴っているメモリ; 階層構造中で前記状態ビットを記憶するように動作する状態ビット記憶装置で
    あって、前記階層構造の第1レベルにある複数の第1レベル状態ビットに関連す
    る組合せ状態が、前記階層構造で前記第1レベルよりも上位のレベルである第2
    レベルにある第2レベル状態ビットによって表示されるようになった状態ビット
    記憶装置;および 前記メモリ中の1個のデータワードの状態を決めるように動作する状態検査論
    理であって、前記階層構造の最上位レベルから始めて前記階層構造を下方へ前記
    状態ビット記憶装置内の状態ビットを調べていって、前記階層構造中にそれより
    も下位のすべての状態ビットとは無関係に前記データワードの前記状態を示す状
    態ビットに到達するまで検査作業を行う状態検査論理; を含む装置。
  2. 【請求項2】 請求項1に記載の装置であって、前記状態ビットが、前記メ
    モリ中に記憶されているデータワードの有効性を示す有効ビットである装置。
  3. 【請求項3】 請求項1および2のうちの任意の項に記載の装置であって、
    前記階層構造中の最下位レベルにおいて、最下位レベルの状態ビットが前記メモ
    リ中に記憶されている複数のデータワードに付随している装置。
  4. 【請求項4】 請求項1、2、および3のうちの任意の項記載の装置であっ
    て、前記メモリがキャッシュ・メモリである装置。
  5. 【請求項5】 請求項4に記載の装置であって、前記キャッシュ・メモリが
    複数のキャッシュ行を含んでおり、各キャッシュ行が複数個のデータワードを記
    憶しており、また最下位レベルの1つの状態ビットが前記キャッシュ・メモリの
    1個のキャッシュ行のすべてのデータワードに関連している装置。
  6. 【請求項6】 先行の任意の項に記載の装置であって、前記状態ビット記憶
    装置が、複数個の状態ビットを含む状態ビットワードを記憶するRAMメモリを
    含んでいる装置。
  7. 【請求項7】 請求項6に記載の装置であって、前記状態ビットワード中の
    状態ビットが、前記状態ビットワードの一部としてアクセスおよび操作される装
    置。
  8. 【請求項8】 請求項7に記載の装置であって、1個の状態ビットが、前記
    RAMメモリに対する状態ワードの読出し−修正−書込み動作によって操作され
    る装置。
  9. 【請求項9】 先行の任意の項に記載の装置であって、前記状態ビット記憶
    装置が前記階層構造中に少なくとも最上位レベルを含み、1個の状態ビットを記
    憶するように動作する少なくとも1個のレジスタ・ビット回路を含んでいる装置
  10. 【請求項10】 請求項9に記載の装置であって、レジスタ・ビット中に記
    憶されている1個の状態ビットが個別的にアクセスおよび操作される装置。
  11. 【請求項11】 先行の任意の項に記載の装置であって、前記階層構造中の
    最上位レベルが状態ビットを1個だけ含んでいる装置。
  12. 【請求項12】 先行の任意の項に記載の装置であって、前記メモリに記憶
    されているすべてのデータワードの状態の広域的な変更が、前記階層構造の最上
    位レベルにある状態ビットのみの修正によって表示できる装置。
  13. 【請求項13】 先行の任意の項に記載の装置であって、前記状態ビット記
    憶装置が、前記キャッシュ・メモリのすべてのデータワードの状態の広域的な変
    更が、前記階層構造の最上位レベルにある状態ビットに対する変更によってプロ
    セス・サイクル1個分の間に提供できるように動作する装置。
  14. 【請求項14】 請求項4に記載の装置であって、前記キャッシュ・メモリ
    のすべてのデータワードの状態の広域的な変更が: (i)キャッシュ・メモリ消去動作; (ii)前記データワードへのアクセスを制御するメモリ管理ユニットの構成変更
    ;および (iii)前記装置上のソフトウエア動作を制御するオペレーティング・システム
    のコンテキスト・スイッチ; のいずれかに応答して行われる装置。
  15. 【請求項15】 請求項4に記載の装置であって、前記キャッシュ・メモリ
    へのデータワードの記憶がキャッシュ・フィル動作を利用してプロセス・サイク
    ル複数個分の間に行われ、また前記状態ビット記憶装置が前記プロセス・サイク
    ル複数個分の間に、前記キャッシュ・メモリに記憶されている前記データワード
    に関連する状態ビットを修正するように動作する装置。
  16. 【請求項16】 先行の任意の項に記載の装置であって、前記階層構造が3
    またはそれ以上の数のレベルを含んでいる装置。
  17. 【請求項17】 先行の任意の項に記載の装置であって、前記階層構造中の
    異なるレベルが異なる状態ビットを記憶している装置。
  18. 【請求項18】 データ処理の方法であって: 1つのメモリに複数のデータワードを記憶する工程であって、各データワード
    が前記データワードの状態に関する情報を与える少なくとも1個の状態ビットを
    伴っている工程; 階層構造中に前記状態ビットを記憶する工程であって、前記階層構造中の第1
    レベルにある複数の第1レベル状態ビットに関連する組合せ状態が、前記階層構
    造で前記第1レベルよりも上位の第2レベルにある第2レベル状態ビットによっ
    て表される工程;および 前記メモリの1つのデータワードの状態を決定する工程であって、前記階層構
    造の最上位レベルから始めて前記階層構造を下方へ前記状態ビット記憶装置内の
    状態ビットを調べていって、前記階層構造中にそれよりも下位のすべての状態ビ
    ットとは無関係に前記データワードの前記状態を示す状態ビットに到達するまで
    検査作業を行う工程; を含む方法。
JP2001501990A 1999-06-08 2000-02-04 キャッシュ・メモリ用状態ビット Pending JP2003501744A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9913348.0 1999-06-08
GB9913348A GB2350910A (en) 1999-06-08 1999-06-08 Status bits for cache memory
PCT/GB2000/000335 WO2000075785A1 (en) 1999-06-08 2000-02-04 Status bits for cache memory

Publications (1)

Publication Number Publication Date
JP2003501744A true JP2003501744A (ja) 2003-01-14

Family

ID=10854970

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001501990A Pending JP2003501744A (ja) 1999-06-08 2000-02-04 キャッシュ・メモリ用状態ビット

Country Status (12)

Country Link
US (1) US6272033B1 (ja)
EP (1) EP1190325B1 (ja)
JP (1) JP2003501744A (ja)
KR (1) KR100606873B1 (ja)
CN (1) CN1145887C (ja)
DE (1) DE60003426T2 (ja)
GB (1) GB2350910A (ja)
IL (2) IL145651A0 (ja)
MY (1) MY120377A (ja)
RU (1) RU2237278C2 (ja)
TW (1) TW507124B (ja)
WO (1) WO2000075785A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2369690B (en) * 2000-11-29 2002-10-16 Sun Microsystems Inc Enhanced protection for memory modification tracking
GB2369694B (en) * 2000-11-29 2002-10-16 Sun Microsystems Inc Efficient memory modification tracking
GB2369691B (en) * 2000-11-29 2003-06-04 Sun Microsystems Inc Control logic for memory modification tracking
US6965970B2 (en) * 2001-09-27 2005-11-15 Intel Corporation List based method and apparatus for selective and rapid cache flushes
JP4434534B2 (ja) * 2001-09-27 2010-03-17 株式会社東芝 プロセッサ・システム
US7412433B2 (en) * 2002-11-19 2008-08-12 International Business Machines Corporation Hierarchical storage management using dynamic tables of contents and sets of tables of contents
US20040199723A1 (en) * 2003-04-03 2004-10-07 Shelor Charles F. Low-power cache and method for operating same
US7674671B2 (en) * 2004-12-13 2010-03-09 Optomec Design Company Aerodynamic jetting of aerosolized fluids for fabrication of passive structures
CN101021858A (zh) * 2007-01-29 2007-08-22 华为技术有限公司 一种数据存储方法及装置及数据查找、添加、删除方法
US7685181B2 (en) * 2007-02-26 2010-03-23 International Business Machines Corporation Method and system for utilizing a hierarchical bitmap structure to provide a fast and reliable mechanism to represent large deleted data sets in relational databases
JP2008234074A (ja) * 2007-03-16 2008-10-02 Fujitsu Ltd キャッシュ装置
US8347029B2 (en) * 2007-12-28 2013-01-01 Intel Corporation Systems and methods for fast state modification of at least a portion of non-volatile memory
US20090300293A1 (en) * 2008-05-30 2009-12-03 Advanced Micro Devices, Inc. Dynamically Partitionable Cache
CN102571569B (zh) * 2011-12-28 2015-04-01 方正国际软件有限公司 一种报文预知方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4426682A (en) * 1981-05-22 1984-01-17 Harris Corporation Fast cache flush mechanism
DE3919802C2 (de) * 1988-06-17 1997-01-30 Hitachi Ltd Speichersteuersystem für ein Multiprozessorsystem
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
US5568416A (en) * 1994-03-24 1996-10-22 Kawasaki Steel Corporation Associative memory
DE19516949A1 (de) * 1994-05-11 1996-02-15 Gmd Gmbh Speichervorrichtung zum Speichern von Daten
US6046923A (en) * 1999-01-13 2000-04-04 Lucent Technologies Inc. Content-addressable memory architecture with column muxing

Also Published As

Publication number Publication date
IL145651A (en) 2006-10-05
US6272033B1 (en) 2001-08-07
GB2350910A (en) 2000-12-13
EP1190325A1 (en) 2002-03-27
EP1190325B1 (en) 2003-06-18
TW507124B (en) 2002-10-21
RU2237278C2 (ru) 2004-09-27
IL145651A0 (en) 2002-06-30
WO2000075785A1 (en) 2000-12-14
DE60003426T2 (de) 2004-05-19
CN1355901A (zh) 2002-06-26
MY120377A (en) 2005-10-31
KR20020010922A (ko) 2002-02-06
CN1145887C (zh) 2004-04-14
KR100606873B1 (ko) 2006-07-31
GB9913348D0 (en) 1999-08-11
DE60003426D1 (de) 2003-07-24

Similar Documents

Publication Publication Date Title
US5630097A (en) Enhanced cache operation with remapping of pages for optimizing data relocation from addresses causing cache misses
US5003459A (en) Cache memory system
US6532528B1 (en) Data processor and data processor system having multiple modes of address indexing and operation
US4825412A (en) Lockout registers
JP3281893B2 (ja) キャッシュ・メモリ階層内で利用するキャッシュ・コヒーレンシ機構を実施するための方法およびシステム
US5442571A (en) Method and apparatus for cache miss reduction by simulating cache associativity
US20070094450A1 (en) Multi-level cache architecture having a selective victim cache
JPH0628262A (ja) ルックアサイドバッファおよび仮想から物理的へアドレスを高速に翻訳する方法
JPH07200399A (ja) マイクロプロセッサ、およびマイクロプロセッサにおいてメモリにアクセスするための方法
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
JPH10232839A (ja) キャッシュシステムおよびキャッシュメモリの作動方法
JP2003501744A (ja) キャッシュ・メモリ用状態ビット
JPH11509356A (ja) キャッシュシステム
US5675763A (en) Cache memory system and method for selectively removing stale aliased entries
US6751700B2 (en) Date processor and storage system including a set associative cache with memory aliasing
US6240487B1 (en) Integrated cache buffers
US7949833B1 (en) Transparent level 2 cache controller
KR20070049677A (ko) 가상 어드레스 캐시 및 고유 태스크 식별자를 이용하는데이터를 공유하기 위한 방법
JP3971807B2 (ja) キャッシュ記憶装置および方法
JPH03232034A (ja) キャッシュ制御装置
US6493792B1 (en) Mechanism for broadside reads of CAM structures
US6785775B1 (en) Use of a cache coherency mechanism as a doorbell indicator for input/output hardware queues
JPH1185613A (ja) キャッシュメモリ
JPH02171944A (ja) バッファ記憶装置
JP2978706B2 (ja) 制御記憶キャッシング方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080620

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081114