JPH06222992A - キャッシュシステムおよびキャッシュコントローラを制御するための方法 - Google Patents

キャッシュシステムおよびキャッシュコントローラを制御するための方法

Info

Publication number
JPH06222992A
JPH06222992A JP5317729A JP31772993A JPH06222992A JP H06222992 A JPH06222992 A JP H06222992A JP 5317729 A JP5317729 A JP 5317729A JP 31772993 A JP31772993 A JP 31772993A JP H06222992 A JPH06222992 A JP H06222992A
Authority
JP
Japan
Prior art keywords
cache
memory
bus
data
control signal
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
JP5317729A
Other languages
English (en)
Inventor
Uwe Kranich
ウーベ・クランニッヒ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JPH06222992A publication Critical patent/JPH06222992A/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
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating

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)【要約】 【目的】 組込型キャッシュメモリのシステムメモリを
キャッシュするためのシステムおよび方法を提供する。 【構成】 システムメモリ(12)とキャッシュメモリ
(14)との間のデータ転送を制御するための方法およ
びメカニズムが提供される。このメカニズムは、バスに
結合される物理アドレスレジスタ(100)を備えるキ
ャッシュコントローラ(16)を含む。ソフトウエア
は、バスを介して制御信号を物理アドレスレジスタ(1
00)に送ることによって、キャッシュコントローラ
(16)の動作を変更し、キャッシュメモリ(14)の
ブロックがシステムメモリ(12)にライトバックされ
るように強制し得る。

Description

【発明の詳細な説明】
【0001】
【発明の分野】この発明は、キャッシュの動作を制御す
るためのシステムおよび方法に関し、より特定的には、
組込型キャッシュメモリのシステムメモリをキャッシュ
するためのシステムおよび方法に関する。
【0002】
【発明の背景】コンピュータシステムの性能を向上する
ための1つの方法は、システムで使用されるメモリのデ
ータ転送速度を増加することである。しかしながら、メ
モリのコストは、メモリが高速になるに従って非常に高
くなる。したがって、特に大量のメモリを必要とするシ
ステムで、利用できる最高速メモリを使用することが実
際的であることは滅多にない。したがって、比較的小さ
いバンクの比較的高速のメモリ(「キャッシュメモ
リ」)を大きいバンクの低速メモリ(「システムメモ
リ」)のためのバッファとして使用することによって、
システムの性能をかなり向上できることが発見された。
たとえば、「ハードディスク」等の磁気媒体は、ランダ
ムアクセスメモリ(「RAM」)に比べてコストははる
かに低いが、記憶ははるかに低速である。RAMの比較
的わずかな部分をハードディスクとマイクロプロセッサ
との間のキャッシュメモリとして機能するように割り当
てることによって、ハードディスクに記憶されたデータ
にアクセスする動作にかかる時間をかなり減らすことが
できる。
【0003】システムメモリとキャッシュメモリとの間
のデータ転送は、キャッシュコントローラによって制御
される。キャッシュコントローラは、マイクロプロセッ
サの必要に基づいてキャッシュメモリを管理する。たと
えば、マイクロプロセッサが、キャッシュメモリに現在
記憶されていない情報を必要とすれば、データをマイク
ロプロセッサによってアクセスされる前に低速システム
メモリからキャッシュメモリに転送しなければならな
い。キャッシュメモリのブロックがすべて割り当てられ
れば、キャッシュコントローラは、新しいメモリのため
の記憶空間を与えるようにキャッシュメモリのどのデー
タをシステムメモリに戻して記憶させるべきかを判断し
なければならない。
【0004】キャッシュコントローラは、一般にハード
ウエアまたはソフトウエアに実現され得る。ソフトウエ
アに実現されるキャッシュコントローラの不都合な点
は、それらが一般に高価なリソースを必要とすることで
ある。たとえば、ソフトウエアに実現されるハードディ
スクキャッシュは典型的には、キャッシュバッファのた
めのRAM、キャッシュコントローラの命令のためのR
AM、およびコントローラの命令を実行するための処理
時間を必要とする。そうでなければ、キャッシュメモリ
およびコントローラの命令のために使用されるRAM
を、アプリケーションによる使用に利用できたであろ
う。同様に、そうでなければ、キャッシュコントローラ
の処理時間は、アプリケーションの実行に利用できたで
あろう。ソフトウエアキャッシュコントローラおよびア
プリケーションは同じリソースに対して競合しなければ
ならないため、システム全体の性能は低下する。
【0005】したがって、組込キャッシュメモリおよび
キャッシュコントローラハードウエアを含むマイクロプ
ロセッサが開発された。キャッシュメモリおよび制御ハ
ードウエアを直接マイクロプロセッサに組込むことによ
って、ユーザーは、ソフトウエアにキャッシュ制御コー
ドを加える必要なくキャッシュによって向上した性能を
得ることができる。実際に、キャッシュメモリ制御はす
べて組込ハードウエアによって行なわれるため、キャッ
シュ動作は事実上ユーザにトランスペアレントである。
さらに、ハードウエアのキャッシュ制御はシステムの処
理および記憶リソースに対してアプリケーションと競合
しない。
【0006】しかしながら、いくつかのアプリケーショ
ンに関しては、アプリケーションの性能を向上させるた
めにハードウエアキャッシュコントローラの動作をカス
タマイズすることが望ましいであろう。たとえば、グラ
フィックス装置等の特別な装置に関連するデータのキャ
ッシングは、ハードウエアキャッシュコントローラによ
る一般のキャッシングを使用して行なうことはできな
い。現在の組込ハードウエアキャッシュコントローラは
ソフトウエアから独立しておりかつソフトウエアにアク
セス不可能であるため、アプリケーション固有にそのよ
うなキャッシュ制御をカスタマイズすることは不可能で
ある。したがって、ユーザにトランスペアレントに動作
できるが、さらにユーザがキャッシュ制御動作を変更す
るまたはそれに影響を与えることができるハードウエア
キャッシュコントローラを提供することが明らかに望ま
しい。特別な装置に関連するデータをキャッシュできる
キャッシュコントローラを提供することはさらに望まし
い。
【0007】
【発明の概要】この発明は、一般にシステムメモリ、シ
ステムメモリに結合されるキャッシュメモリ、キャッシ
ュコントローラ、およびキャッシュメモリとキャッシュ
コントローラとに結合されるバスを含むキャッシュシス
テムを提供する。キャッシュコントローラは、システム
メモリとキャッシュメモリとの間のデータ転送を制御
し、かつソフトウエア起動制御信号に応答してキャッシ
ュメモリのデータがシステムメモリにライトバックされ
るようにするための制御手段を含む。
【0008】この発明はさらに、マイクロプロセッサに
組込まれるキャッシュコントローラを提供する。キャッ
シュコントローラは、バスとキャッシュメモリとに結合
される物理アドレスレジスタ、物理アドレスレジスタと
キャッシュメモリとに結合されるソフトウエア/ハード
ウエア制御ライトバックキャッシュコントローラ(「S
HWCC」)、およびSHWCCとキャッシュメモリと
に結合されるキャッシュアロケーション回路を含む。ソ
フトウエアは、処理装置から物理アドレスレジスタに伝
送される制御信号を介してSHWCCを制御できる。
【0009】この発明はさらに、キャッシュコントロー
ラを制御するための方法を提供する。この方法は、処理
装置に、システムメモリのブロックに対応する物理アド
レスを含む制御信号を起動させるステップと、制御信号
を物理アドレスレジスタに伝送するステップとを含む。
この方法は、SHWCCに制御信号の物理アドレスレジ
スタへの到達を感知させるステップと、制御信号の到達
が感知されると物理アドレスによって示されるシステム
メモリのブロックで生じたキャッシュメモリの中のデー
タをシステムメモリにライトバックするステップとをさ
らに含む。
【0010】新規であると考えられるこの発明の特徴
は、前掲の特許請求の範囲に詳細に述べられている。こ
の発明は、この発明のさらなる目的および利点ととも
に、添付の図面を考慮に入れて以下の説明を参照すれば
最良に理解されるであろう。図面の中には、同じ参照符
号が同じ要素を示しているものもある。
【0011】
【好ましい実施例の詳細な説明】図1を参照すると、こ
れはこの発明を実施するキャッシュシステム10をブロ
ック図で示している。キャッシュシステム10は一般
に、外部アドレスバス17および外部データバス19を
介してプロセッサ11に結合されるシステムメモリ12
を含む。
【0012】プロセッサ11は一般に、キャッシュメモ
リ14、キャッシュコントローラ16、処理装置18、
およびバスインタフェース装置21を含む。キャッシュ
メモリ14は、内部アドレスバス27および内部データ
バス22によって処理装置18に結合される。キャッシ
ュメモリ14はさらに、内部アドレスバス27およびデ
ータバス25によってバスインタフェース装置21に結
合される。さらに、キャッシュメモリ14は、複数のバ
ス112,114,116,118および120によっ
てキャッシュコントローラ16に結合される。
【0013】キャッシュコントローラ16は、バス23
によって内部データバス22に結合され、かつバス31
によってバスインタフェース装置21に結合される。キ
ャッシュコントローラ16はさらに、バス24によって
処理装置18に結合される。バスインタフェース装置2
1は、外部バス17および19によってシステムメモリ
12に結合される。
【0014】処理装置18は一般に、プログラムされた
命令を実行しかつデータを処理する、プロセッサ11の
構成要素を表わす。キャッシュメモリ14はシステムメ
モリ12と処理装置18との間に配置され、処理装置1
8のデータへのアクセスをより高速にする。
【0015】バスインタフェース装置21は、プロセッ
サ11とシステムメモリ12等の外部構成要素との間の
通信のためにデータおよびアドレスのバッファリングを
扱う。キャッシュコントローラ16はバスインタフェー
ス装置21を制御し、したがってバス31を介してバス
インタフェース装置21に送られるデータ転送信号によ
って、システムメモリ12とキャッシュメモリ14との
間のデータの転送を制御する。データ転送信号は、処理
装置18のデータニーズおよびキャッシュメモリ14の
状態に応答する。すなわち、処理装置18が現在キャッ
シュメモリ14に記憶されていないデータを必要とする
とき、キャッシュコントローラ16はキャッシュメモリ
14にデータのために利用できる空間があるかどうかを
判断し、もしなければ、キャッシュメモリ14に、必要
とされるデータのために利用できる空間を作るためにキ
ャッシュメモリ14のどのデータをシステムメモリ12
にライトバックすべきかを判断する。
【0016】効率的なキャッシュ制御を行なうために、
キャッシュコントローラ16はキャッシュメモリ14の
ブロック内のデータの状態を常に記録しておかなければ
ならない。たとえば、キャッシュコントローラ16は、
キャッシュメモリ14の一部分(タグアレイ等)にキャ
ッシュメモリのデータのブロックの各々の状態の情報を
維持できる。各々のキャッシュデータブロックの状態の
情報には、典型的には、ブロックが新しいデータを受け
るために利用できるかどうか(「有効状態」)、ブロッ
ク内のデータが変更されたかどうか(「変更状態」)、
ブロック内のデータが共有されているか共有されていな
いか(「共有状態」)、どれだけ最近にブロック内のデ
ータが処理装置18によってアクセスされたか(「アク
セス状態」)、およびシステムメモリ12のどのブロッ
クがキャッシュブロックに含まれるデータのソースであ
ったか(「ソース情報」)がある。
【0017】所与の組のデータを発生するシステムメモ
リ12のブロックは、ここではそのデータの「ソースブ
ロック」と呼ばれる。さらに、ソースブロックからのデ
ータをバッファリングするために使用されているキャッ
シュメモリ14のブロックは、ここではそのデータの
「ホストブロック」と呼ばれる。
【0018】キャッシュコントローラ16は一般に、物
理アドレスレジスタ100、ソフトウエア/ハードウエ
ア制御ライトバックキャッシュコントローラ(「SHW
CC」)102、およびキャッシュアロケーション回路
108を含む。SHWCC102は、バス106によっ
て物理アドレスレジスタ100に、バス110によって
キャッシュアロケーション回路108に、バス112お
よび114によってキャッシュメモリ14に、ならびに
バス31によってバスインタフェース装置21に結合さ
れる。
【0019】物理アドレスレジスタ100は、バス11
6によってキャッシュメモリ14に、バス23によって
内部データバス22に、およびバス24によって処理装
置18に結合される。キャッシュアロケーション回路1
08は、バス118および120によってキャッシュメ
モリ14に結合される。
【0020】キャッシュコントローラ16はこのように
構成され、2つのモードのうちの1つで動作できる。第
1のモードでは、SHWCC102は、アドレスバス2
7を介して、処理装置18によって発生されるデータリ
クエストに応答して、キャッシュアロケーション回路1
08によって制御される。第2のモードでは、SHWC
C102は、データバス22およびバス24を介して処
理装置18によって送られるソフトウエア起動制御信号
に応答して、物理アドレスレジスタ100によって制御
される。ソフトウエア起動制御信号がないときには、キ
ャッシュコントローラ16は第1のモードで動作する。
しかしながら、ソフトウエア起動制御信号を検出する
と、キャッシュコントローラ16は第2のモードに入
る。第1および第2のモードは、キャッシュコントロー
ラ16で実現されるように、図2および図3をそれぞれ
参照して以下により詳細に説明される。
【0021】図2は、第1のモードのキャッシュコント
ローラ16を実現できる態様を示すフロー図である。ス
テップ140で、処理装置18は、処理装置18によっ
て必要とされるデータ(「必要なデータ」)のアドレス
を内部アドレスバス27を介してキャッシュメモリ14
およびバスインタフェース装置21に伝送する。ステッ
プ142で、キャッシュメモリ14は、処理装置18に
よってリクエストされたデータが現在キャッシュメモリ
14にあるかどうかを判断する。この判断は、内部アド
レスバス27を介して処理装置18からキャッシュメモ
リ14によって受取られたアドレスを、キャッシュのデ
ータのブロックの現在のソース情報と比較することによ
ってなされる。データがキャッシュメモリ14にあれ
ば、ステップ154で、データは内部データバス22を
介して処理装置18に伝送される。ステップ158で、
キャッシュメモリ14は必要なデータのホストブロック
のキャッシュの状態の情報を更新する。すなわち、処理
装置18に伝送されるデータのホストブロックのアクセ
ス状態は、ホストブロック内のデータが最近アクセスさ
れたことを示すように更新され、ホストブロックの変更
状態は、ホストブロック内のデータが変更されたことを
示すように更新される。
【0022】必要なデータがそのときキャッシュメモリ
14になければ、ステップ144で、検索リクエスト信
号がキャッシュメモリ14からバス118を介してキャ
ッシュアロケーション回路108に伝送される。検索リ
クエストに応答して、ステップ162で、キャッシュア
ロケーション回路108はバス118を介してキャッシ
ュメモリ14内の種々のブロックの有効状態を調べ、利
用できるメモリブロックがあるかどうかを判断する。キ
ャッシュメモリ14のブロックは、それがその現在の内
容をバッファリングするためにもはや使用されていなけ
れば、利用できる。
【0023】キャッシュメモリ14内に利用できるメモ
リブロックがあれば、ステップ144で、キャッシュア
ロケーション回路108は制御信号をバス110を介し
てSHWCC102に伝送する。それに応答して、SH
WCC102はデータ転送信号をバスインタフェース装
置21に伝送して、バスインタフェース装置21に、外
部データバス19を介して必要なデータをシステムメモ
リ12から検索させ、かつステップ164で、必要なデ
ータをバス25を介してキャッシュメモリ14に転送さ
せる。バスインタフェース装置21は、ソースブロック
のアドレスを外部アドレスバス17を介してシステムメ
モリ12に伝送することによって、必要なデータをシス
テムメモリ12から検索する。一旦必要なデータがキャ
ッシュメモリ14に記憶されると、ステップ154で、
キャッシュメモリ14は必要なデータを内部データバス
22を介して処理装置18に与える。ステップ158
で、キャッシュメモリ14は必要なデータを現在含んで
いるホストブロックの状態の情報を更新して、データの
新しいソースブロックに、ホストブロックが利用できな
いことおよびデータが最近アクセスされかつ変更された
ことを示す。
【0024】しかしながら、キャッシュメモリ14に利
用できるブロックがなければ、キャッシュブロックを、
必要なデータを収容するために利用できるようにしなけ
ればならない。ブロックを利用できるようにするために
は、ブロックの現在の内容を処理しなければならない。
したがって、ステップ166で、キャッシュアロケーシ
ョン回路108は、キャッシュメモリ14のどのブロッ
クに、処理装置18が近いうちに必要とする可能性が最
も低いデータ(「古いデータ」)があるかを判断する。
古いデータの決定は、バス118を介して読出されたと
きのキャッシュメモリ14のブロックのアクセス状態に
基づいてキャッシュアロケーション回路108によって
行なわれる。たとえば、キャッシュアロケーション回路
108は最も古くアクセスされたデータが古いデータで
あると考え得る。
【0025】一旦キャッシュアロケーション回路108
がキャッシュメモリ14のどのブロックが古いデータを
含むかを判断すると、次にステップ168で、キャッシ
ュアロケーション回路108は古いデータのホストブロ
ックの変更状態を調べて処理装置18によって古いデー
タが変更されたかどうかを判断する。
【0026】古いデータが変更されていなければ、ステ
ップ170で、キャッシュアロケーション回路108は
バス120を介して制御信号をキャッシュメモリ14に
送り、キャッシュメモリ14にホストブロックの現在の
内容に関する必要なデータを書込ませる。そうでなけれ
ば、ステップ172で、キャッシュアロケーション回路
108は古いデータをシステムメモリ12にライトバッ
クする。これは、バス110を介して制御信号をSHW
CC102に伝送し、SHWCC102にバス31を介
してデータ転送信号をバスインタフェース装置21に送
らせることによって行なわれる。データ転送信号に応答
して、バスインタフェース装置21は古いデータをキャ
ッシュメモリ14から、それが発生したシステムメモリ
12のブロックに転送する。この転送は、バス25およ
び外部データバス19を介して行なわれる。古いデータ
のソースブロックのアドレスはまた、外部アドレスバス
17を介してバスインタフェース装置によって与えられ
る。
【0027】一旦古いデータがシステムメモリにライト
バックされると、古いデータを含んでいたキャッシュの
ブロックは、必要なデータを記憶するために利用でき
る。すなわち、制御がステップ144に進み、上述のよ
うに、必要なデータを処理装置18に与えるプロセスを
始める。
【0028】キャッシュアロケーション回路108は、
ソフトウエア起動制御信号がキャッシュコントローラ1
6によって受取られない限りおよび受取られるまで、図
2に示されるプロセスに従って、絶えずキャッシュメモ
リ14内の古いデータを必要なデータと置換える。ソフ
トウエア起動制御信号がキャッシュコントローラ16に
よって受取られると、以下に図3を参照して説明するよ
うに、キャッシュコントローラは第2のモードに入る。
【0029】図3を参照すると、これは第2のモードの
キャッシュコントローラ16がこの発明に従って実現さ
れ得る態様を示すフロー図である。
【0030】処理装置18は、図1に示されるように構
成され、ソフトウエアの命令の実行に従って、データバ
ス22を介してバス23によって、およびバス24を介
して物理アドレスレジスタ100にアクセスする。すな
わち、ソフトウエアは、処理装置18に、システムメモ
リ12のソースブロックを示すアドレスをデータバス2
2を介して物理アドレスレジスタ100に明確に書込ま
せながら、制御信号をバス24を介して物理アドレスレ
ジスタ100に送らせることができる。
【0031】ステップ200では、キャッシュコントロ
ーラ16は第1のモードであり、システムメモリ12の
ブロックに対応する物理アドレスがバス23を介して物
理アドレスレジスタ100で受取られるまで、およびソ
フトウエア起動制御信号がバス24を介して物理アドレ
スレジスタ100によって受取られるまで、上述のよう
にキャッシュ制御を行なう。物理アドレスレジスタ10
0がソフトウエア起動制御信号を受取ると、キャッシュ
コントローラ16は第2のモードに入り、かつ制御はス
テップ201に進む。
【0032】ステップ201で、システムメモリ12の
ソースブロックのアドレスは、バス106を介してSH
WCC102に、およびバス116を介してキャッシュ
メモリ14に伝送される。アドレスがバス116を介し
て受取られると、ステップ202で、キャッシュメモリ
14は、もしそのようなデータがキャッシュメモリ14
にあれば、アドレスで示されるソースブロックに対応す
るデータをバスインタフェース装置21に伝送する。S
HWCC102は、バス106を介してアドレスを受取
ると、ステップ203で、バス114を介してキャッシ
ュメモリのブロックのソース情報を検査することによっ
て、受取られたアドレスで示されるソースメモリブロッ
クからのデータのホストブロックがあればそれを判断す
る。データがキャッシュメモリ14になければ、ライト
バックは要求されずかつ制御はステップ200に戻る。
【0033】データがキャッシュメモリ14にあれば、
制御はステップ204に進み、ここでSHWCC102
はバス31を介してデータ転送信号をバスインタフェー
ス装置21に伝送する。これにより、バスインタフェー
ス装置21に転送されたデータは外部データバス19を
介してシステムメモリ12にライトバックされ、かつソ
ースブロックのアドレスは外部アドレスバス17に与え
られる。特定のデータがそのソースブロックにライトバ
ックされた後、ステップ208で、SHWCC102
は、バス112を介して伝送される制御信号によってホ
ストブロックの有効状態または変更状態を更新し、ホス
トブロックに有効であるか変更されていないかの印をつ
ける。
【0034】ソフトウエアでライトバックを起動するこ
とにより、アプリケーションでキャッシュコントローラ
の全体の動作をかなり変更できる。たとえば、キャッシ
ュアロケーション回路108によってデータがまだ「古
い」と考えられていないときに、アプリケーションによ
ってシステムメモリ12からのデータをキャッシュメモ
リ14のホストブロックからシステムメモリ12のその
ソースブロックにライトバックすることができる。いく
つかのアプリケーションに関しては、キャッシュのライ
トバックを強制するこの能力は非常に重要であるだろ
う。たとえば、グラフィックス装置はスクリーンを更新
するためにある特定の画素情報を必要とし得る。画素情
報を含むデータがキャッシュにロードされていれば、そ
れは変更されているかもしれない。したがって、画素情
報を含むシステムメモリ12のブロックの現在の内容
は、スクリーンを更新するために使用するべきではな
い。しかしながら、グラフィックス装置が、キャッシュ
コントローラ16がキャッシュコントローラ16の第1
のモードの制御の流れに従ってデータをライトバックす
るのを待っていれば、グラフィックス装置の動作はかな
り低速になるだろう。グラフィックス装置は、キャッシ
ュアロケーション回路108がライトバックを起動する
のを待つよりもむしろ、ソフトウエア制御信号を発生し
て上述のように必要なデータの即時のライトバックを強
制することができる。
【0035】この発明の特定の実施例を示し説明した
が、変更を加えてもよい。したがって、前掲の特許請求
の範囲に、この発明の真の意図および範囲内にものであ
るそのような変更および修正がすべて含まれることが意
図される。
【図面の簡単な説明】
【図1】この発明の一実施例に従って構成されるキャッ
シュシステムのブロック図である。
【図2】この発明に従った、ソフトウエア起動制御信号
がないときのキャッシュコントローラの動作を示す制御
フロー図である。
【図3】この発明に従った、ソフトウエア起動制御信号
を受取ったときのキャッシュコントローラの動作を示す
制御フロー図である。
【符号の説明】
11 プロセッサ 12 システムメモリ 14 キャッシュメモリ 17 外部アドレスバス 18 処理装置 21 バスインタフェース装置 22 内部データバス 27 アドレスバス 100 物理アドレスレジスタ 102 SHWCC 108 キャッシュアロケーション回路

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 システムメモリと、 前記システムメモリに結合されるキャッシュメモリと、 前記キャッシュメモリに結合されるキャッシュコントロ
    ーラとを含み、 前記キャッシュコントローラは、ソフトウエア起動制御
    信号に応答して前記キャッシュメモリのデータを前記シ
    ステムメモリにライトバックさせるための制御手段を含
    む、キャッシュシステム。
  2. 【請求項2】 バスインタフェース装置をさらに含み、
    前記キャッシュメモリは前記バスインタフェース装置を
    介して前記システムメモリに結合され、前記バスインタ
    フェース装置はさらに前記キャッシュコントローラに結
    合され、前記バスインタフェース装置は前記キャッシュ
    コントローラによって発生されるデータ転送信号に応答
    して前記キャッシュメモリと前記システムメモリとの間
    でデータを転送する、請求項1に記載のキャッシュシス
    テム。
  3. 【請求項3】 第1のバスによって前記バスインタフェ
    ース装置と前記キャッシュメモリとに、および第2のバ
    スによって前記キャッシュコントローラに結合される処
    理装置をさらに含み、前記処理装置は、前記第2のバス
    を介して前記キャッシュコントローラに前記ソフトウエ
    ア起動制御信号を発生する、請求項2に記載のキャッシ
    ュシステム。
  4. 【請求項4】 前記ソフトウエア起動制御信号は処理装
    置によってバスを介して発生され、前記制御手段は、 前記バスおよび前記キャッシュメモリに結合される物理
    アドレスレジスタと、 前記物理アドレスレジスタおよび前記キャッシュメモリ
    に結合されるソフトウエア/ハードウエア制御ライトバ
    ックキャッシュコントローラとを含む、請求項1に記載
    のキャッシュシステム。
  5. 【請求項5】 前記制御信号は前記システムメモリのメ
    モリブロックの物理アドレスを含み、前記制御信号は前
    記物理アドレスレジスタに与えられ、前記ソフトウエア
    /ハードウエア制御ライトバックキャッシュコントロー
    ラは制御信号がいつ前記物理アドレスレジスタに与えら
    れるかを検出し、前記ソフトウエア/ハードウエア制御
    ライトバックキャッシュコントローラは、受取られた制
    御信号によって示されるシステムメモリのブロックで生
    じた前記キャッシュメモリのデータが前記システムメモ
    リにライトバックされるようにする、請求項4に記載の
    キャッシュシステム。
  6. 【請求項6】 前記キャッシュメモリおよび前記キャッ
    シュコントローラはマイクロプロセッサに組込まれる、
    請求項1に記載のキャッシュシステム。
  7. 【請求項7】 マイクロプロセッサに組込まれるキャッ
    シュコントローラであって、 バスおよびキャッシュメモリに結合される物理アドレス
    レジスタと、 前記物理アドレスレジスタおよび前記キャッシュメモリ
    に結合されるソフトウエア/ハードウエア制御ライトバ
    ックキャッシュコントローラと、 前記ソフトウエア/ハードウエア制御ライトバックキャ
    ッシュコントローラおよび前記キャッシュメモリに結合
    されるキャッシュアロケーション回路とを含み、 ソフトウエアは、前記バスを介して前記物理アドレスレ
    ジスタに伝送される制御信号によって前記ソフトウエア
    /ハードウエア制御ライトバックキャッシュコントロー
    ラを制御し得る、キャッシュコントローラ。
  8. 【請求項8】 前記キャッシュメモリは複数のホストブ
    ロックを含み、前記ホストブロックはシステムメモリの
    複数のソースブロックから生じたデータを含み、前記制
    御信号は前記ソースブロックに対応する物理メモリアド
    レスを含み、前記ソフトウエア/ハードウエア制御ライ
    トバックキャッシュコントローラは、前記制御信号に含
    まれる物理メモリアドレスによって表されるソースブロ
    ックに対応するデータを前記ホストブロックからライト
    バックする、請求項7に記載のキャッシュコントロー
    ラ。
  9. 【請求項9】 キャッシュコントローラを制御するため
    の方法であって、 処理装置に、システムメモリのブロックに対応する物理
    アドレスを含む制御信号を起動させるステップと、 バスを介して制御信号を物理アドレスレジスタに伝送す
    るステップと、 ソフトウエア/ハードウエア制御ライトバックキャッシ
    ュコントローラに、前記制御信号の前記物理アドレスレ
    ジスタへの到達を感知させるステップと、 前記制御信号の到達が感知されると、前記物理アドレス
    によって示される前記システムメモリのブロックで生じ
    た前記キャッシュメモリのデータを前記システムメモリ
    にライトバックするステップとを含む、方法。
  10. 【請求項10】 前記データを保持した前記キャッシュ
    メモリ内のブロックを有効として記すステップをさらに
    含む、請求項9に記載の方法。
  11. 【請求項11】 前記データを保持した前記キャッシュ
    メモリ内のブロックを変更されていないとして記すステ
    ップをさらに含む、請求項9に記載の方法。
JP5317729A 1992-12-18 1993-12-17 キャッシュシステムおよびキャッシュコントローラを制御するための方法 Pending JPH06222992A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/993,095 US5524225A (en) 1992-12-18 1992-12-18 Cache system and method for providing software controlled writeback
US993095 1992-12-18

Publications (1)

Publication Number Publication Date
JPH06222992A true JPH06222992A (ja) 1994-08-12

Family

ID=25539082

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5317729A Pending JPH06222992A (ja) 1992-12-18 1993-12-17 キャッシュシステムおよびキャッシュコントローラを制御するための方法

Country Status (3)

Country Link
US (1) US5524225A (ja)
EP (1) EP0602808A3 (ja)
JP (1) JPH06222992A (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5493687A (en) 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
EP0636256B1 (en) 1992-03-31 1997-06-04 Seiko Epson Corporation Superscalar risc processor instruction scheduling
DE69308548T2 (de) 1992-05-01 1997-06-12 Seiko Epson Corp Vorrichtung und verfahren zum befehlsabschluss in einem superskalaren prozessor.
EP1107111A3 (en) 1992-12-31 2002-02-06 Seiko Epson Corporation System and method for register renaming
US5628021A (en) 1992-12-31 1997-05-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor
US5761709A (en) * 1995-06-05 1998-06-02 Advanced Micro Devices, Inc. Write cache for servicing write requests within a predetermined address range
US5848254A (en) * 1996-07-01 1998-12-08 Sun Microsystems, Inc. Multiprocessing system using an access to a second memory space to initiate software controlled data prefetch into a first address space
US6629187B1 (en) * 2000-02-18 2003-09-30 Texas Instruments Incorporated Cache memory controlled by system address properties
JP4225749B2 (ja) * 2002-08-07 2009-02-18 株式会社ルネサステクノロジ 半導体記憶装置
CN101151600B (zh) * 2005-04-08 2012-02-22 松下电器产业株式会社 高速缓冲存储器***及其控制方法
US7822911B2 (en) * 2007-08-15 2010-10-26 Micron Technology, Inc. Memory device and method with on-board cache system for facilitating interface with multiple processors, and computer system using same
US8055852B2 (en) 2007-08-15 2011-11-08 Micron Technology, Inc. Memory device and method having on-board processing logic for facilitating interface with multiple processors, and computer system using same
US8291174B2 (en) 2007-08-15 2012-10-16 Micron Technology, Inc. Memory device and method having on-board address protection system for facilitating interface with multiple processors, and computer system using same
US10026458B2 (en) 2010-10-21 2018-07-17 Micron Technology, Inc. Memories and methods for performing vector atomic memory operations with mask control and variable data length and data unit size
CN104536939A (zh) * 2014-12-10 2015-04-22 中南林业科技大学 一种多核嵌入式高速缓冲存储器可配置节能调度的方法
US11556477B2 (en) * 2018-06-15 2023-01-17 Arteris, Inc. System and method for configurable cache IP with flushable address range
CN116185499B (zh) * 2023-04-27 2023-07-25 深圳鲲云信息科技有限公司 寄存器数据传输方法、寄存器缓存模块、智能设备和介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4819154A (en) * 1982-12-09 1989-04-04 Sequoia Systems, Inc. Memory back up system with one cache memory and two physically separated main memories
US4713755A (en) * 1985-06-28 1987-12-15 Hewlett-Packard Company Cache memory consistency control with explicit software instructions
US5045996A (en) * 1986-11-12 1991-09-03 Xerox Corporation Multiprocessor cache memory housekeeping
US5307477A (en) * 1989-12-01 1994-04-26 Mips Computer Systems, Inc. Two-level cache memory system
US5247648A (en) * 1990-04-12 1993-09-21 Sun Microsystems, Inc. Maintaining data coherency between a central cache, an I/O cache and a memory
US5263142A (en) * 1990-04-12 1993-11-16 Sun Microsystems, Inc. Input/output cache with mapped pages allocated for caching direct (virtual) memory access input/output data based on type of I/O devices
US5375216A (en) * 1992-02-28 1994-12-20 Motorola, Inc. Apparatus and method for optimizing performance of a cache memory in a data processing system

Also Published As

Publication number Publication date
EP0602808A2 (en) 1994-06-22
EP0602808A3 (en) 1996-11-13
US5524225A (en) 1996-06-04

Similar Documents

Publication Publication Date Title
US5537575A (en) System for handling cache memory victim data which transfers data from cache to the interface while CPU performs a cache lookup using cache status information
KR100252570B1 (ko) 축소된요구블로킹을갖는캐시메모리
JPH06222992A (ja) キャッシュシステムおよびキャッシュコントローラを制御するための方法
EP0803817B1 (en) A computer system having cache prefetching capability based on CPU request types
US5265236A (en) Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode
US5251310A (en) Method and apparatus for exchanging blocks of information between a cache memory and a main memory
US11500797B2 (en) Computer memory expansion device and method of operation
JPH06318177A (ja) キャッシュ・ミス・ペナルティを減少させる方法、装置及びコンピュータ・システム
JPH1031625A (ja) マルチ・プロセッサ・システムにおける改良されたコピーバック性能のためのライトバック・バッファ
JPH09167116A (ja) コンピュータキャッシュシステム
JPH08185355A (ja) データメモリおよびその動作方法
US6345320B1 (en) DMA address buffer and cache-memory control system
US5678025A (en) Cache coherency maintenance of non-cache supporting buses
JPH10501914A (ja) 共用キャッシュ・メモリ装置
JPH1091521A (ja) 二重ディレクトリー仮想キャッシュ及びその制御方法
KR960007833B1 (ko) 고속 페이지 모드 선택을 위한 방법 및 장치
JPH10105461A (ja) 処理装置及びルックアサイド・キャッシュをスヌープする改善された装置及び方法
JPH0784879A (ja) キャッシュメモリ装置
EP0631236B1 (en) A bus-master computer system and method
JPH0628258A (ja) マイクロプロセッサ
JP2001265653A (ja) データ処理装置
US7840757B2 (en) Method and apparatus for providing high speed memory for a processing unit
JPH0553912A (ja) キヤツシユメモリの制御方法
JP2001229074A (ja) メモリ制御装置と情報処理装置及びメモリ制御チップ
JP3299147B2 (ja) キャッシュ制御回路

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040406