JPH0850570A - コンピュータシステム、インテグレーテッドプロセッサ、キャッシュベースのコンピュータシステムのためのスヌープ制御方法 - Google Patents
コンピュータシステム、インテグレーテッドプロセッサ、キャッシュベースのコンピュータシステムのためのスヌープ制御方法Info
- Publication number
- JPH0850570A JPH0850570A JP7119486A JP11948695A JPH0850570A JP H0850570 A JPH0850570 A JP H0850570A JP 7119486 A JP7119486 A JP 7119486A JP 11948695 A JP11948695 A JP 11948695A JP H0850570 A JPH0850570 A JP H0850570A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cache
- line
- data
- dirty
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0835—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0879—Burst mode
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)
- Memory System (AREA)
Abstract
システムメモリの物理的アドレスの進路を追うキャッシ
ュコントローラを含むインテグレーテッドプロセッサを
提供する。 【構成】 アドレスタグおよび状態論理回路(130)
は各ライン内の各倍長語に割当てられたダーティビット
および各ラインに割当てられた有効ビットから成る状態
情報を含む。ダーティビットは倍長語がダーティである
かクリーンであるかを示し、有効ビットはラインが有効
であるか無効であるかを示す。キャッシュコントローラ
(108)は、メモリサイクルが局部バス(112)の
代替バスマスタ(122)によって実行されたかどうか
を判断すべく局部バスをモニタするスヌープライトバッ
ク制御回路(134)を含む。メモリサイクルの間、コ
ンパレータ回路(132)はキャッシュヒットが生じた
かどうかを判断する。
Description
し、より特定的には、キャッシュメモリサブシステムを
使用するコンピュータシステムに関する。この発明はま
たコンピュータシステム内で使用されるインテグレーテ
ッドプロセッサおよびバス転送機構に関する。
ーキテクチャは、典型的にはキャッシュメモリの効率の
よい使用を支持しかつデータコヒーレンシを維持するよ
うに、専用のバス転送機構を伴なう。キャッシュメモリ
は、実効メモリ転送速度を改良し、それに応じてシステ
ム性能を改良すべく、より遅いシステムメモリとプロセ
ッサとの間にコンピュータシステムのメモリ階層に介挿
された高速メモリユニットである。この名前は小さなキ
ャッシュメモリユニットは本質的にはユーザには見え
ず、透明であり、ユーザはより大きなシステムメモリし
か認識しないという事実に言及する。キャッシュはたい
ていはプロセッサの速度に匹敵する速度を有する半導体
記憶装置によって実現される一方、システムメモリはコ
ストの低いより遅い速度の技術を利用する。キャッシュ
概念は、システムメモリの選択されたデータのマイクロ
プロセッサによる起こり得る再使用を、その選択された
データの複写をキャッシュメモリに記憶することによっ
て予想する。
リセクションを含み、各メモリセクションは2つまたは
それ以上の語のデータのブロックまたは「ライン」を記
憶する。特に普及しているモデル80486マイクロプ
ロセッシングに基づいたシステムでは、1ラインは4つ
の「倍長語」から成る(各倍長語は4つの8ビットバイ
トを含む)。各ラインには、それがシステムメモリのど
のラインの複写かを一意に識別するアドレスタグが結び
つく。新語(もしくは新倍長語または新バイト)の読出
し要求がプロセッサで始まると、それがデータであろう
と命令であろうと、要求された語の複写がキャッシュメ
モリのラインにあるかどうかを判断するためにアドレス
タグ比較がなされる。もしあれば、データは直接キャッ
シュから使用される。この事象はキャッシュリード「ヒ
ット」と呼ばれる。もしなければ、要求された語を含む
ラインはシステムメモリから検索されキャッシュメモリ
に記憶される。要求された語は同時にプロセッサに与え
られる。この事象はキャッシュリード「ミス」と呼ばれ
る。
を使用することに加えて、プロセッサはまた、システム
メモリの代わりにキャッシュメモリに直接データを書込
み得る。プロセッサがデータをメモリに書込むことを望
めば、データが書込まれるべきラインがキャッシュメモ
リにあるかどうかを判断するためにアドレスタグ比較が
なされる。もしそのラインがキャッシュメモリにあれ
ば、データは直接ラインに書込まれる。この事象はキャ
ッシュ書込「ヒット」と呼ばれる。以下で詳細に説明さ
れるが、多くのシステムにおいてラインのデータ「ダー
ティビット」はその後設定される。ダーティビットはラ
イン内に記憶されたデータがダーティである(つまり、
修正された)ことを示しており、このためラインがキャ
ッシュメモリから削除されるまたは重ね書きされる前
に、修正されたデータはシステムメモリに書込まれなけ
ればならない。
ュメモリになければ、ラインはデータがキャッシュに書
込まれるのを可能にするためにシステムメモリからキャ
ッシュメモリに取出されるか、またはデータが直接シス
テムメモリに書込まれるかいずれかになる。この事象は
キャッシュ書込「ミス」と呼ばれる。新データがキャッ
シュメモリに記憶されるときキャッシュメモリから複写
されるまたは重ね書きされるラインは犠牲ブロックまた
は犠牲ラインと呼ばれる。
従って最適化され得る。システム性能および設計複雑性
に影響を及ぼす1局面には、プロセッサまたは代替バス
マスタによって起動される書込みの処理がある。前述し
たように、特定の1つのデータまたは命令コードの2つ
の複写があり、1つはシステムメモリに、二重複写はキ
ャッシュにあるので、システムメモリまたはキャッシュ
メモリいずれかへの書込みの結果2つの記憶ユニット間
でインコヒーレンスになり得る。たとえば、同じデータ
が最初に予め定められたアドレスでキャッシュメモリお
よびシステムメモリ両方に記憶される場合を考慮された
い。プロセッサはそれに続いて書込サイクルを開始し、
新しいデータアイテムを予め定められたアドレスで記憶
すると、キャッシュライト「ヒット」が生じ、プロセッ
サは続けて新しいデータをキャッシュメモリに予め定め
られたアドレスで書込む。データはキャッシュメモリで
修正されるがシステムメモリでは修正されないので、キ
ャッシュメモリおよびシステムメモリはインコヒーレン
トになる。同様に、代替バスマスタを備えるシステムに
おいては、代替バスマスタによるシステムメモリへの書
込サイクルはシステムメモリでデータを修正するがキャ
ッシュメモリでは修正されない。ここでもまたキャッシ
ュメモリおよびシステムメモリはインコヒーレントにな
る。
およびシステムメモリ間のインコヒーレンスはいくつか
の一般的に使用される技術の1つを実施することによっ
て防がれるまたは処理され得る。第1の技術では、「ラ
イトスルー」キャッシュが、キャッシュメモリおよびシ
ステムメモリ両方に同じデータを書込むことによってキ
ャッシュメモリとシステムメモリとの間の一貫性を保証
する。キャッシュメモリおよびシステムメモリの内容は
常に同一であって、このため2つの記憶システムが常に
コヒーレントである。第2の技術では、「ライトバッ
ク」キャッシュが、キャッシュメモリだけに書込み「ダ
ーティ」ビットを設定し、プロセッサによって変更され
たキャッシュエントリを示すことによってプロセッサ書
込みを処理する。「ダーティ」または変更されたキャッ
シュエントリが後に「キャッシュ置換え」の間に置き換
えられるとき、修正されたデータはシステムメモリにラ
イトバックされる。
ッシュメモリとシステムメモリとの間のインコヒーレン
スはいくぶん異なって処理される。ライトバックキャッ
シングを使用するシステムでは、代替バスマスタがデー
タをシステムメモリに書込もうとするとき、キャッシュ
メモリ内のデータのあるラインが無効にされるべきかシ
ステムメモリにライトバックされるべきかを判断するた
めにさまざまなバスモニタリングまたは「スヌーピン
グ」技術の1つが実現され得る。特に普及している「M
ESI」プロトコルによって特定される1つのそのよう
な技術では、代替バスマスタがデータをシステムメモリ
に書込もうとするとき、キャッシュコントローラはデー
タの対応のラインがキャッシュメモリ内に含まれている
かどうかを判断する。もし対応のラインがキャッシュメ
モリには含まれていなければ、キャッシュコントローラ
によってどんな付加的な動作もなされず、代替バスマス
タによって起動された書込サイクルの完了が可能にな
る。一方、データの対応のラインがキャッシュメモリに
含まれているならば、キャッシュコントローラはデータ
のそのラインがダーティかクリーンかどうかを判断す
る。ラインがクリーンであるならば、ラインはキャッシ
ュコントローラによって無効であると示され、代替バス
マスタからシステムメモリへのデータの転送の完了が可
能になる。修正された(このため最も最新の)データは
今やシステムメモリ内だけに含まれているので(代替バ
スマスタによる書込サイクルの完了後)、データのライ
ンは無効であると示されなければならない。その代わり
にデータのラインがダーティであるならば、スヌープラ
イトバックサイクルがキャッシュコントローラによって
起動され、それは代替バスマスタがシステムバスのマス
タ権を「バックオフ」しかつ解放することを引起こす。
キャッシュコントローラはその後、キャッシュメモリ内
のダーティデータのライン全体がシステムメモリにライ
トバックされることを引起こす。スヌープライトバック
サイクルは、システムメモリにバーストライトサイクル
を実行することによって達成され得る。当業者には周知
であるように、バーストサイクルのデータ位相の間は、
新語(または倍長語)は、アドレス位相を干渉すること
なくいくつかの連続クロックサイクルの各々の間システ
ムメモリに書込まれ得る。(待機状態のない)最も速い
バーストサイクルは第1の語に2つのクロックサイクル
(アドレスに1クロック、対応の語に1クロック)を必
要とし、それに続く語は各連続クロックサイクルで順次
アドレスから戻される。
後、代替バスマスタはシステムバスのマスタ権を再び得
て、代替バスマスタによる書込サイクルが再び実行され
る。この点で、新データはシステムメモリに書込まれる
ことが可能になる。たとえ代替バスマスタからのデータ
の書込みが全キャッシュライン全体を含まなくてもスヌ
ープライトバックサイクルにより確実にデータコヒーレ
ンシは維持されることに注目されたい。
ッシュメモリとシステムメモリとの間のインコヒーレン
スは同様に処理される。代替バスマスタはシステムメモ
リからデータを読取ろうとするとき、キャッシュコント
ローラはデータの対応のラインがキャッシュメモリ内に
含まれているかどうかを判断する。対応のラインがキャ
ッシュメモリによって含まれるならば、さらに対応のラ
インがダーティであるならば、スヌープライトバックサ
イクルはキャッシュコントローラによって起動され、そ
れは代替バスマスタがシステムバスのマスタ権をバック
オフしかつ解放することを引起こす。キャッシュコント
ローラはその後キャッシュメモリ内のダーティデータの
全ラインがシステムメモリにライトバックされることを
引起こす。ライトバックサイクルが完了した後、代替バ
スマスタはシステムバスのマスタ権を再び得て、代替バ
スマスタによる読取サイクルが再び起動される。この点
で、システムメモリ内のデータは読取られることが可能
になる。
の間にデータコヒーレンシを維持すべく前述されたよう
なスヌープライトバックサイクルが実行されるとき、代
替バスマスタはその所望のデータ転送を実行する前にラ
イトバックサイクルが完了するのを待たなければならな
いのでシステムバスの帯域幅は劣化する。ダーティでな
い語(または倍長語)では、このライトバック動作は不
必要である。ゆえに、代替バスマスタによるメモリサイ
クルの実行に先立ってキャッシュメモリとシステムメモ
リとの間のインコヒーレンスが存在するデータの完全性
を維持するときスヌープライトバック技術が一般的に成
功であるにもかかわらず、システムバスが不必要なバス
トラフィックで占有されているのでコンピュータシステ
ムの帯域幅は制限されるようになる。結果として、全シ
ステム機能は劣化し得る。
たキャッシュされたダーティデータをバーストする機構
を使用するインテグレーテッドプロセッサによって大部
分解決される。一実施例では、CPUコア、キャッシュ
メモリ、および局部バスインタフェースを介して局部バ
スに結合されたキャッシュコントローラを含むインテグ
レーテッドプロセッサが提供される。インテグレーテッ
ドプロセッサはさらには、システムメモリを局部バスに
結合するためのメモリコントローラ、および外部周辺装
置を局部バスに結合するためのバスインタフェースユニ
ットを含む。キャッシュコントローラは、キャッシュメ
モリ内の各エントリに対応するシステムメモリの物理的
アドレスの進路を追うアドレスタグおよび状態論理回路
を含む。アドレスタグおよび状態論理回路はさらに、各
ラインおよび内の各倍長語(または語)に割当られたダ
ーティビットおよび各ラインに割当てられた有効ビット
から成る状態情報を含む。各倍長語に割当られたダーテ
ィビットは、倍長語がダーティであるかクリーンである
かを示し、各ラインに割当てられた有効ビットはライン
が有効であるか無効であるかを示す。キャッシュコント
ローラはさらには、メモリサイクルが代替バスマスタに
よって局部バスで実行されたかどうかを判断するために
局部バスをモニタするスヌープライトバック制御回路を
含む。代替バスマスタのメモリサイクルの間には、コン
パレータ回路はキャッシュヒットが生じたかどうかを判
断する。キャッシュヒットが生じ1つまたはそれ以上の
ダーティ倍長語が対応のライン内に含まれると、スヌー
プライトバック制御回路は、ダーティと示されるライン
内のそれらの倍長語のみをライトバックするようにスヌ
ープライトバック回路を起動する。ヒットキャッシュラ
イン内に2つまたはそれ以上の倍長語がダーティである
と示されると、スヌープライトバック制御回路は、局部
バスでバースト書込サイクルを実行することによってダ
ーティデータのライトバックを行なう。スヌープライト
バック制御回路は、ダーティ倍長語がたとえ順次的でな
くても指定されたバーストサイクルの間にライン内のど
のダーティ倍長語もライトバックするように構成され
る。インテグレーテッドプロセッサに従えば、スヌープ
ライトバックサイクルが実行されるとき特定のキャッシ
ュライン内のダーティであるそれらの倍長語のみがシス
テムメモリにライトバックされ、順次的でないダーティ
データのライトバックは単一バーストサイクルの間に与
えられる。結果として、インテグレーテッドプロセッサ
は局部バスのトラフィックを低減しそれによってコンピ
ュータシステムの全帯域幅を改良するという効果を奏す
る。
的に結合されたキャッシュメモリ、キャッシュメモリに
結合された処理ユニット、システムメモリ、およびバス
とシステムメモリとに作動的に結合されシステムメモリ
内の記憶および検索を制御するためのシステムメモリコ
ントローラを含むコンピュータシステムを企図する。コ
ンピュータシステムはさらにはバスに結合された代替バ
スマスタデバイスを含み、代替バスマスタデバイスはバ
ス上でメモリサイクルを実行することができる。キャッ
シュコントローラはキャッシュメモリとバスとに作動的
に結合されキャッシュメモリ内のデータの記憶および検
索を制御する。キャッシュコントローラは、キャッシュ
メモリ内に記憶された複数のラインのデータを示す複数
のラインアドレスを記憶することができかつ各ラインに
関連の複数のダーティビットを記憶することができるタ
グ論理回路を含む。別々のダーティビットが各ライン内
のデータの別々の倍長語に対応する。キャッシュコント
ローラはさらには、キャッシュメモリ内に記憶されたダ
ーティデータのシステムメモリへのライトバックを制御
するためのスヌープ制御回路を含み、そのスヌープ制御
回路は、複数のダーティビットの状態に基づいて所与の
ラインのダーティである選択された倍長語をライトバッ
クすることができる。
作動的に結合されたキャッシュメモリ、バスに作動的に
結合されシステムメモリ内のデータの記憶および検索を
制御するためのシステムメモリコントローラ、およびバ
スに結合された代替バスマスタデバイスを含むインテグ
レーテッドプロセッサを企図する。代替バスマスタデバ
イスはバス上でメモリサイクルを実行することができ
る。キャッシュコントローラは、キャッシュメモリとバ
スとに作動的に結合され、キャッシュメモリ内のデータ
の記憶および検索を制御する。キャッシュコントローラ
は、キャッシュメモリ内に記憶された複数のラインのデ
ータを示す複数のラインアドレスを記憶することができ
かつ各ラインに関連の複数のダーティビットを記憶する
ことができるタグ論理回路を含む。別々のダーティビッ
トは各ライン内のデータの別々の倍長語に対応する。キ
ャッシュコントローラはさらには、キャッシュメモリ内
に記憶されたダーティデータのシステムメモリへのライ
トバックを制御するためにスヌープ制御回路を含み、ス
ヌープ制御回路は、複数のダーティビットの状態に基づ
いて所与のラインのダーティである選択された倍長語を
ライトバックすることができる。
のコンピュータシステムのためのスヌープ制御方法を企
図し、この方法はキャッシュメモリ内の複数のラインの
データを示す複数のラインアドレスを記憶するステップ
と、各ラインに関連の複数のダーティビットを記憶する
ステップとを含み、別々のダーティビットが各ライン内
のデータの各倍長語に対応し、さらにメモリサイクルを
起動し代替バスマスタからシステムメモリにデータを転
送するステップを含む。その方法は、さらにはキャッシ
ュコントローラ内のメモリサイクルを検出するステップ
と、対応のラインがキャッシュメモリ内にあるかどうか
を判断するステップと、対応のライン内の1つまたはそ
れ以上のダーティ倍長語をシステムメモリにライトバッ
クするステップとを含む。
詳しい説明および添付図面を参照すると明らかになるで
あろう。
態の余地があるが、その特定の実施例は、図面において
一例として示されており、ここに詳しく説明される。し
かしながら、図面およびその説明はこの発明を開示され
た特定の形態に限定することを意図されておらず、この
発明は前掲の特許請求の範囲によって規定されるこの発
明の精神および範囲内にあるすべての修正、均等物およ
び変更を含むことが意図されることを理解されたい。
明が適合されたコンピュータシステム100のブロック
図である。インテグレーテッドプロセッサ101は、キ
ャッシュメモリ106とキャッシュコントローラ108
とに結合されたCPUコア102を含む。CPUコア1
02、キャッシュメモリ106、およびキャッシュコン
トローラ108は、局部バスインタフェース109を介
して局部バス112に結合される。インテグレーテッド
プロセッサ101はさらには、バスインタフェースユニ
ット110、インテグレーテッド周辺装置111、およ
び局部バス112と局部バスインタフェース109とを
介してCPUコア102に結合されたメモリコントロー
ラ116を含む。バスインタフェースユニット110は
外部システムバス120と局部バス112との間にイン
タフェースを提供する。外部システムメモリ114は、
メモリコントローラ116を介して局部バス112に結
合される。代替バスマスタ122は最終的にシステムバ
ス120に結合されて示されている。
テム100は、単一プロセッサ、単一キャッシュアーキ
テクチャを実現する。しかしながら、この発明はマルチ
プロセッサおよび/またはマルチキャッシュシステムに
適合され得ることを理解されたい。さまざまな他の装置
がシステムバス120に結合され得ることをさらに理解
されたい。
ットおよびローカルエリアネットワーク(LAN)装置
などの周辺装置をインテグレーテッドプロセッサ101
の内部構成要素に結合するためのどんな適切なバスであ
ってもよい。例示の周辺バス規格は、ISA(工業規格
アーキテクチャ)バス、EISA(拡張工業規格)バス
およびPCI(周辺接続インタフェース)バスを含む。
バスインタフェースユニット110は、システムバス1
20と局部バス112との間のインタフェースを提供す
る。
セットを実現するデータ処理ユニットである。例示の処
理ユニットは、モデル80386および80486のマ
イクロプロセッサを含む。
ニット102とキャッシュメモリ106と局部バス11
2との間のデータの転送を統制しかつ管理する。好まし
い形態では、処理ユニット102、キャッシュメモリ1
06、およびキャッシュコントローラ108は、コンピ
ュータシステム100において最大持続性能を提供する
ように同時に動作する。
幅を有し、インテグレーテッドプロセッサの1次バスで
ある。システムメモリ114は、予め定められた大きさ
の物理的メモリであってDRAM(ダイナミックランダ
ムアクセスメモリ)とともに実現され得る。メモリコン
トローラ116は、局部バス112とシステムメモリ1
14との間で通信するデータ、アドレス、および制御信
号の転送を制御しかつ統制する。
ンテグレーテッドプロセッサ101の一体部分として組
込まれたさまざまな考えられる周辺装置を示す。典型的
な周辺装置は、DMAコントローラ、割込コントロー
ラ、およびタイマを含む。
タデバイスを示す。典型的な代替バスマスタは、ディス
クドライブ、CD ROMユニット、およびローカルエ
リアネットワーク(LAN)デバイスを含む。
メモリ106の各ラインと関連する。アドレスタグはキ
ャッシュメモリ106内の各エントリに対応するシステ
ムメモリ114の物理的アドレスを示す。この実施例で
はキャッシュメモリ106内の各エントリはデータのラ
インを記憶することができる。データのラインは4つの
倍長語から成る(各倍長語は32ビットを含む)。しか
しながら、ラインはシステムに依存していかなる数の語
または倍長語をも含み得ることが理解される。さらに倍
長語はいかなる数のビットからも成り得ることが理解さ
れる。
ィビットを含む。別々のダーティビットは各ライン内の
各倍長語に割当てられる。有効ビットは予め定められた
キャッシュラインが有効キャッシュデータを含むかどう
かを示す一方、ダーティビットは各キャッシュライン内
の各倍長語の書込状態を識別する。無効の状態では、対
応のキャッシュメモリエントリに有効データはない。有
効かつクリーンな状態では、キャッシュメモリエントリ
はシステムメモリ114と一致するデータを含む。有効
かつダーティな状態では、キャッシュメモリエントリは
システムメモリ114とは一致しない有効データを含
む。典型的には、ダーティな状態はキャッシュメモリエ
ントリが書込動作によって変更されるときに結果として
生じる。
スタグおよび状態情報を含みかつ管理するアドレスタグ
および状態論理回路130、キャッシュヒットが生じた
かどうかを判断するためのコンパレータ回路132、な
らびにキャッシュメモリ106内のダーティデータのラ
イトバックを制御するスヌープライトバック回路134
を含む。キャッシュコントローラ108はさまざまな読
取り、書込み、更新、無効化、コピーバック、およびフ
ラッシュ動作などの周知のキャッシング機能を制御する
ために付加的な従来の回路を含み得ることは当業者によ
って理解されるであろう。そのような回路はさまざまな
特定の回路構成を使用して実現され得る。そのような特
定の回路構成の例示は、1992年2月25日にルービ
ンフェルド(Rubinfeld)に与えられた米国特
許第5,091,875号、および1992年2月25
日にサックス(Sachs)らに与えられた米国特許第
5,091,876号を含む既知の先行技術の多くの刊
行物に見出される。
のデータの各ラインはデータの4つの倍長語を伴なう。
アドレスタグおよび状態論理回路130は、キャッシュ
メモリ106内の各ラインエントリに対応するシステム
メモリ114の物理的アドレスを示し、さらにデータの
各ラインに関連の1組のダーティビットおよび有効ビッ
トを記憶する。別々のダーティビットは各ライン内のデ
ータの各倍長語に与えられる。以下からよりよく理解さ
れるように、スヌープライトバック制御回路134は、
代替バスマスタにより局部バス112上で実行するサイ
クルをモニタしかつメモリサイクル(すなわち、読取ま
たは書込サイクル)の起動を検出する。そのようなサイ
クルは代替バスマスタ122によってまたはインテグレ
ーテッド周辺装置111によって(すなわち、DMAコ
ントローラとして構成された場合)起動され得ることに
注目されたい。代替バスマスタによって起動されたメモ
リサイクルが局部バス112上で検出されると、さらに
対応の有効ラインがキャッシュメモリ106内に存在す
ると、スヌープライトバック制御回路134はキャッシ
ュメモリ106の対応のライン内のダーティ倍長語のラ
イトバックを引起こす。データのライン全体のライトバ
ックではなく、スヌープライトバック制御回路134は
ダーティであるライン内のそれらの倍長語のみがシステ
ムメモリ114にライトバックされることを引起こすこ
とに注目されたい。好ましい実施例では、特定のライン
内のダーティ倍長語が誤整列されているとしても、スヌ
ープライトバック制御回路134はバーストライトサイ
クルをシステムメモリ114に実行し、順次的でないダ
ーティ倍長語をシステムメモリ114にバーストする。
これは以下からよりよく理解され得る。
書込動作が生じる(すなわち、代替バスマスタ120か
らシステムメモリ114にまたはその逆でデータを転送
する)ときのコンピュータシステム100内のデータの
流れを示すブロック図である。データの流れはインテグ
レーテッド周辺装置111がバスマスタデバイスである
場合と同様であることに注目されたい。以下で詳しく述
べられるように、そのような動作の間に生じる特定のデ
ータ転送は、キャッシュメモリ106内のデータの状態
(すなわち、クリーン、ダーティ、無効)に依存する。
キャッシュメモリの特定のライン内のある倍長語はダー
ティであり、かつキャッシュヒットが生じると、ダーテ
ィであるライン内の倍長語のみがシステムメモリ114
にライトバックされる。
データのライン400をシステムメモリ114のメモリ
領域410に書込むことを望む状況の書込動作が示され
ている。この例では、ライン400は4つの倍長語
「A」、「B」、「C」および「D」からなり、メモリ
領域410は4つのアドレス位置「W」、「X」、
「Y」、および「Z」から成る。書込動作が起動される
と、サイクルはスヌープライトバック制御回路134に
よって検出され、キャッシュメモリ106はライン40
0が書込まれるべきメモリ領域410に対応のデータの
ラインを含むかどうかを判断するように(すなわち、局
部バス112上のラインアドレスをアドレスタグおよび
状態論理回路130内のアドレスタグと比較することに
よって)比較回路132によってアドレスタグ比較が行
なわれる。キャッシュメモリ106が対応のラインを含
まないならば、キャッシュミスが生じ、データのライン
400はシステムメモリ114に転送される。このデー
タ転送は典型的には、システムバス112上で単一バー
スト書込サイクルを実行し、倍長語「A」、「B」、
「C」、および「D」をアドレス位置「W」、「X」、
「Y」、および「Z」それぞれに書込むことによって達
成される。しかしながら、別々に倍長語を転送するよう
に別々の書込サイクルが実行され得ることに注目された
い。この状況のキャッシュメモリ106はメモリ領域4
10に対応のラインを含まないので、データインコヒー
レンシはデータの転送の実行の前、またはその完了後に
存在しない。ゆえに、キャッシュメモリ106内でデー
タの状態を変更するまたはデータをライトバックする必
要はない。代替バスマスタ122が単一の倍長語をシス
テムメモリ114に書込むと同様の動作が生じることに
注目されたい。
ャッシュ「ヒット」がDMA書込動作の間にキャッシュ
メモリ106内で生じるときに行なわれる同様のデータ
転送を示す。代替バスマスタ122はライン400内の
単一倍長語またはライン400内のいくつかの倍長語
(すなわち、倍長語「A」、「B」、「C」、および
「D」の任意の1つまたはそれ以上)を転送するように
サイクルを実行し得ることに注目されたい。前述のよう
に、キャッシュメモリ106が代替バスマスタ122が
データを転送するシステムメモリ114のメモリ領域4
10に対応の関連のライン420を含むとき、キャッシ
ュ「ヒット」が生じる。「ヒット」ライン420はシス
テムメモリ114のメモリ領域410内に記憶された対
応のデータと同一のデータを含むならばそれはクリーン
である。すなわち、その構成要素倍長語「E」、
「F」、「G」、および「H」がアドレス位置「W」、
「X」、「Y」、および「Z」それぞれ内に記憶された
倍長語にすべて等しいならば、ライン420はクリーン
である。図面に示されているように、そのようなDMA
書込みがキャッシュのクリーンなデータで生じると、対
応してバスインタフェースユニット110を介して局部
バス112に転送されるシステムバス120上での書込
サイクル(すなわち、単一書込みまたはバースト書込
み)の実行にによって、ライン400はメモリ領域41
0に書込まれる。前述の図2の転送と同様に、選択され
た倍長語「A」、「B」、「C」、および/または
「D」は対応のアドレス位置「W」、「X」、「Y」、
および「Z」それぞれに書込まれる。しかしながら、こ
の場合には、キャッシュメモリ106内にあるライン4
20はもはや最も最新の情報を含めない(すなわちメモ
リ領域410に転送されたの倍長語「A」、「B」、
「C」、および「D」の1つまたはそれ以上は新しい有
効データになっている)。結果として、アドレスタグお
よび状態論理回路130はライン420を無効にする。
「G」、および「H」の1つまたはそれ以上がアドレス
タグおよび状態論理回路130によってダーティである
と示される場合のコンピュータシステム100の動作が
次で考慮される。当業者には理解されるように、システ
ムメモリ114を更新することなく倍長語がCPUコア
102からキャッシュメモリ106に書込まれると、ラ
イン420内の倍長語はアドレスタグおよび状態論理回
路130によってダーティであると以前に示されていて
もよい。
ライン400(またはその選択された倍長語)をシステ
ムメモリ114に書込もうと試みキャッシュ「ヒット」
がキャッシュメモリ106内の対応の「ダーティ」デー
タを伴って生じるときに行なわれるデータ転送を示す。
そのような状況が生じると、スヌープライトバック制御
回路140は代替バスマスタ120が局部バス112の
マスタ権を(すなわち、バスインタフェースユニット1
10を介して)「バックオフ」しかつ解放することを引
起こす。スヌープライトバック制御回路140はその後
ダーティと示されているキャッシュメモリ106のライ
ン420内の倍長語「E」、「F」、「G」、および
「H」のいずれかが、システムメモリ114のメモリ領
域410の対応の位置にライトバックされることを引起
こす。もし1つより多い倍長語がダーティであると示さ
れれば、ライン420のダーティな倍長語のシステムメ
モリ114へのライトバックは好ましくはバースト転送
サイクルを実行することによって達成される。以下で詳
しく述べられるように、ライン420のダーティな倍長
語が誤整列されるか順次的でなくてもそのようなバース
トサイクルは実行される。システムメモリ114へのラ
イトバックに続いて、キャッシュメモリ106内のライ
ン420が無効であると示され、代替バスマスタ120
はその所望のデータ転送を行なうことが可能となる。ス
ヌープライトバックサイクルに従って、データコヒーレ
ンシは維持される。図5は、キャッシュコントローラ1
08の動作を示すフロー図である。ステップ302の間
に局部バス112のサイクルがスヌープライトバック制
御回路134によって検出されると、ステップ304の
間にキャッシュタグ比較動作が行なわれる。ステップ3
06によって判断されるように、有効ラインへのキャッ
シュヒットが生じると、いずれかのダーティな倍長語が
ヒットライン内に存在するかどうかが判断される(ステ
ップ308)。もしヒットキャッシュライン内にダーテ
ィな倍長語が存在しなければ、ステップ310の間にラ
インは無効にされる。一方では、1つまたはそれ以上の
ダーティな倍長語がライン内に存在すれば、ステップ3
12の間に個々のダーティな倍長語はシステムメモリ1
14に書込まれる。それに続いて、ステップ310の間
にキャッシュラインは無効にされる。キャッシュコント
ローラ108は、局部バス112で実行するサイクルが
書込サイクルであるときだけステップ310の間に特定
のヒットキャッシュラインを無効にするように構成され
得る(すなわち、代替バスマスタによって実行される局
部バスサイクルが読取サイクルであればヒットキャッシ
ュラインは必ずしも無効にされ得ない)ことに注目され
たい。
的でないダーティな倍長語のライトバック動作の間にア
サートされる、局部バス112上の、さまざまな信号を
示すタイミング図である。たとえばもし倍長語「E」お
よび「G」をシステムメモリ114にライトバックする
ようにスヌープライトバック動作が実行されれば(すな
わち図4)、バーストサイクルがスヌープライトバック
制御回路134によって実行される。アドレスストロー
ブ信号ADS♯のアサーション時に、バーストライトサ
イクルが起動される。最初に、局部バースト112のア
ドレッシングラインは倍長語「E」のアドレスに対応す
る値で駆動される。メモリコントローラ116は倍長語
「E」を受取ったとき、それはBRDY♯信号をアサー
トする。それに続いて、スヌープライトバック制御回路
134は倍長語「G」のアドレスに対応する値で局部バ
ス112のアドレッシングラインを駆動し、同時にBL
AST♯信号をアサートし倍長語「G」の転送が行なわ
れるときメモリコントローラ116にサイクルが完了す
ることを知らせる。メモリコントローラ116は倍長語
を受取ると再びBRDY♯信号をアサートする。メモリ
コントローラ116は、信号BRDY♯をアサートする
に先立って局部バス112のアドレスラインをリサンプ
リングしまたは検出し、倍長語アドレスが変化したかど
うかを判断し、順次的でない倍長語を特定するように、
構成されなければならないことに注目されたい。一実施
例では、メモリコントローラ116は順次的でない倍長
語がライトバックされているかどうかを判断するために
所与のバーストライトバックサイクルの起動後アドレッ
シングラインの2つの下位オーダビットをリサンプリン
グすればよい。メモリコントローラ116は、アドレス
信号が所与のバーストサイクルの間に変化しないなら
ば、通常のバースト順序付けをとるようにさらに構成さ
れ得る。
ュータ補助の設計具を使用することによって、順次的な
論理回路に低減され得る。典型的なコンピュータ補助の
設計具は、行動言語ベリログ(Verilog)および
VHSICハードウェア記述言語を含む。
よび代替のシステム構成に関連して実現され得ることに
注目されたい。たとえば、この発明は非パイプライン技
術またはパイプライン技術いずれかを使用するシステム
と関連して実現され得る。同様には、この発明はマルチ
プロセッサシステムおよび/またはマルチキャッシュシ
ステム内で実現され得る。
ざまな変形および修正が当業者には明らかになるであろ
う。たとえば、キャッシュメモリ内に予め規定されたラ
インを含む語の数は、この発明の精神および範囲から離
れることなしに変更され得る。前掲の特許請求の範囲は
すべてのそのような変形および修正が組込まれ得ること
が意図されている。
用するインテグレーテッドプロセッサを含むコンピュー
タシステムのブロック図である。
きの図1のコンピュータシステム内のデータの流れを示
すブロック図である。
きの図1のコンピュータシステム内のデータの流れを示
すブロック図である。
きの図1のコンピュータシステム内のデータの流れを示
すブロック図である。
ロー図である。
をシステムメモリにバーストするようにスヌープライト
バック制御回路によって実行されるバーストサイクルを
示すタイミング図である。
Claims (17)
- 【請求項1】 コンピュータシステムであって、 データ信号を転送することができるバスと、 前記バスに作動的に結合されたキャッシュメモリと、 前記キャッシュメモリに結合された処理ユニットと、 システムメモリと、 前記バスと前記システムメモリとに作動的に結合され、
前記システムメモリ内の記憶および検索を制御するため
のシステムメモリコントローラと、 前記バスに結合された代替バスマスタデバイスとを含
み、前記代替バスマスタデバイスは前記バス上でメモリ
サイクルを実行することができ、さらに、 前記キャッシュメモリと前記バスとに作動的に結合さ
れ、前記キャッシュメモリ内のデータの記憶および検索
を制御するためのキャッシュコントローラを含み、前記
キャッシュコントローラは、 前記キャッシュメモリ内に記憶された複数のラインのデ
ータを示す複数のラインアドレスを記憶することができ
かつ各ラインに関連の複数のダーティビットを記憶する
ことができるタグ論理回路を含み、別々のダーティビッ
トが各ライン内のデータの別々の倍長語に対応し、さら
に、 前記キャッシュメモリ内に記憶されたダーティデータの
前記システムメモリへのライトバックを制御するための
スヌープ制御回路を含み、前記スヌープ制御回路は前記
複数のダーティビットの状態に基づいて所与のラインの
ダーティである選択された倍長語をライトバックするこ
とができる、コンピュータシステム。 - 【請求項2】 前記代替バスマスタデバイスは、DMA
コントローラである、請求項1に記載のコンピュータシ
ステム。 - 【請求項3】 前記代替バスマスタデバイスはバスブリ
ッジである、請求項1に記載のコンピュータシステム。 - 【請求項4】 前記スヌープ制御回路は、前記代替バス
マスタの前記メモリサイクルに応答して前記キャッシュ
メモリ内に記憶されたデータのヒットラインを無効にす
る、請求項1に記載のコンピュータシステム。 - 【請求項5】 前記キャッシュメモリ内に記憶された前
記ダーティデータの前記システムメモリへの前記ライト
バックは、選択されたデータが前記所与のバーストサイ
クルの間に前記代替バスマスタから前記システムメモリ
に転送された後に生じる、請求項1に記載のコンピュー
タシステム。 - 【請求項6】 前記キャッシュメモリ内に記憶された前
記ダーティデータの前記システムメモリへのライトバッ
クは、前記システムメモリへのバースト書込サイクルの
間に完了する、請求項1に記載のコンピュータシステ
ム。 - 【請求項7】 前記キャッシュコントローラは前記所与
のライン内の順次的でない倍長語を選択的にライトバッ
クするように構成される、請求項1に記載のコンピュー
タシステム。 - 【請求項8】 インテグレーテッドプロセッサであっ
て、 CPUコアと、 前記CPUコアに作動的に結合され、データ信号を転送
することができるバスと、 前記バスに作動的に結合されたキャッシュメモリと、 前記バスに作動的に結合され、システムメモリ内のデー
タの記憶および検索を制御するためのシステムメモリコ
ントローラと、 前記バスに結合された代替バスマスタデバイスとを含
み、前記代替バスマスタデバイスは前記バス上でメモリ
サイクルを実行することができ、さらに、 前記キャッシュメモリと前記バスとに作動的に結合さ
れ、前記キャッシュメモリ内のデータおよび記憶および
検索を制御するためのキャッシュコントローラを含み、
前記キャッシュコントローラは、 前記キャッシュメモリ内に記憶された複数のラインのデ
ータを示す複数のラインアドレスを記憶することができ
かつ各ラインに関連の複数のダーティビットを記憶する
ことができるタグ論理回路を含み、別々のダーティビッ
トは各ライン内のデータの別々の倍長語に対応し、さら
に、 前記キャッシュメモリ内に記憶されたダーティデータの
前記システムメモリへのライトバックを制御するための
スヌープ制御回路を含み、前記スヌープ制御回路は前記
複数のダーティビットの状態に基づいて所与のラインの
ダーティである選択された倍長語をライトバックするこ
とができる、インテグレーテッドプロセッサ。 - 【請求項9】 前記代替バスマスタデバイスは、DMA
コントローラである、請求項8に記載のインテグレーテ
ッドプロセッサ。 - 【請求項10】 前記代替バスマスタデバイスはバスブ
リッジである、請求項8に記載のインテグレーテッドプ
ロセッサ。 - 【請求項11】 前記スヌープ制御回路は、前記代替バ
スマスタの前記メモリサイクルに応答して前記キャッシ
ュメモリ内に記憶されたデータのヒットラインを無効に
する、請求項8に記載のインテグレーテッドプロセッ
サ。 - 【請求項12】 前記キャッシュメモリ内に記憶された
前記ダーティデータの前記システムメモリへの前記ライ
トバックは、選択されたデータが前記所与のバーストサ
イクルの間に前記代替バスマスタデバイスから前記シス
テムメモリに転送された後に生じる、請求項8に記載の
インテグレーテッドプロセッサ。 - 【請求項13】 前記キャッシュメモリ内に記憶された
前記ダーティデータの前記システムメモリへのライトバ
ックは、前記システムメモリへのバースト書込サイクル
の間に完了する、請求項8に記載のインテグレーテッド
プロセッサ。 - 【請求項14】 前記キャッシュコントローラは、前記
所与のライン内の順次的でない倍長語を選択的にライト
バックするように構成される、請求項8に記載のインテ
グレーテッドプロセッサ。 - 【請求項15】 キャッシュベースのコンピュータシス
テムのためのスヌープ制御方法であって、 キャッシュメモリ内の複数のラインのデータを示す複数
のラインアドレスを記憶するステップと、 各ラインに関連の複数のダーティビットを記憶するステ
ップとを含み、別々のダーティビットは各ライン内のデ
ータの各倍長語に対応し、さらに、 メモリサイクルを起動し、データを代替バスマスタから
システムメモリに転送するステップと、 キャッシュコントローラ内の前記メモリサイクルを検出
するステップと、 対応するラインが前記キャッシュメモリ内にあるかどう
かを判断するステップと、 前記対応のライン内の1つまたはそれ以上のダーティ倍
長語を前記システムメモリに選択的にライトバックする
ステップとを含む、キャッシュベースのコンピュータシ
ステムのためのスヌープ制御方法。 - 【請求項16】 選択的にライトバックする前記ステッ
プは、順次的でないダーティ倍長語をライトバックする
ステップを含む、請求項15に記載のスヌープ制御方
法。 - 【請求項17】 前記対応のラインを無効にするステッ
プをさらに含む、請求項15に記載のスヌープ制御方
法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US24683894A | 1994-05-20 | 1994-05-20 | |
| US246838 | 1994-05-20 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0850570A true JPH0850570A (ja) | 1996-02-20 |
| JP3771603B2 JP3771603B2 (ja) | 2006-04-26 |
Family
ID=22932444
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11948695A Expired - Lifetime JP3771603B2 (ja) | 1994-05-20 | 1995-05-18 | コンピュータシステム、インテグレーテッドプロセッサ、キャッシュベースのコンピュータシステムのためのスヌープ制御方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5802559A (ja) |
| EP (1) | EP0683457A1 (ja) |
| JP (1) | JP3771603B2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006023792A (ja) * | 2004-07-06 | 2006-01-26 | Fujitsu Ltd | 情報処理装置 |
| JP2009534767A (ja) * | 2006-04-25 | 2009-09-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 入出力装置によるアクセスを受けるデータの移動 |
| JP2016524251A (ja) * | 2013-06-29 | 2016-08-12 | 華為技術有限公司Huawei Technologies Co.,Ltd. | データ書き込み方法及びメモリシステム |
Families Citing this family (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5822720A (en) | 1994-02-16 | 1998-10-13 | Sentius Corporation | System amd method for linking streams of multimedia data for reference material for display |
| US5710906A (en) | 1995-07-07 | 1998-01-20 | Opti Inc. | Predictive snooping of cache memory for master-initiated accesses |
| EP0825538A1 (en) * | 1996-08-16 | 1998-02-25 | Lsi Logic Corporation | Cache memory system |
| US5978379A (en) | 1997-01-23 | 1999-11-02 | Gadzoox Networks, Inc. | Fiber channel learning bridge, learning half bridge, and protocol |
| US6119205A (en) * | 1997-12-22 | 2000-09-12 | Sun Microsystems, Inc. | Speculative cache line write backs to avoid hotspots |
| JPH11203049A (ja) * | 1998-01-14 | 1999-07-30 | Hitachi Ltd | ドライブ接続システムおよび光情報記録媒体のドライブ接続システム |
| US6092074A (en) | 1998-02-10 | 2000-07-18 | Connect Innovations, Inc. | Dynamic insertion and updating of hypertext links for internet servers |
| US7430171B2 (en) | 1998-11-19 | 2008-09-30 | Broadcom Corporation | Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost |
| WO2000039686A1 (en) * | 1998-12-23 | 2000-07-06 | Sun Microsystems, Inc. | Speculative cache line write backs to avoid hotspots |
| US6487640B1 (en) * | 1999-01-19 | 2002-11-26 | International Business Machines Corporation | Memory access request reordering to reduce memory access latency |
| US6330635B1 (en) | 1999-04-16 | 2001-12-11 | Intel Corporation | Multiple user interfaces for an integrated flash device |
| US6446169B1 (en) | 1999-08-31 | 2002-09-03 | Micron Technology, Inc. | SRAM with tag and data arrays for private external microprocessor bus |
| US6859399B1 (en) | 2000-05-17 | 2005-02-22 | Marvell International, Ltd. | Memory architecture and system and multiport interface protocol |
| US6725341B1 (en) * | 2000-06-28 | 2004-04-20 | Intel Corporation | Cache line pre-load and pre-own based on cache coherence speculation |
| US6904505B1 (en) * | 2000-10-12 | 2005-06-07 | Emulex Design & Manufacturing Corporation | Method for determining valid bytes for multiple-byte burst memories |
| KR20020060419A (ko) * | 2001-01-11 | 2002-07-18 | 최웅림 | 메모리 접근 방법 |
| US7409703B2 (en) * | 2001-04-05 | 2008-08-05 | The Directv Group, Inc. | Method and system for efficient storage of data in a set top box |
| US6766389B2 (en) * | 2001-05-18 | 2004-07-20 | Broadcom Corporation | System on a chip for networking |
| US7130861B2 (en) | 2001-08-16 | 2006-10-31 | Sentius International Corporation | Automated creation and delivery of database content |
| JP4434534B2 (ja) * | 2001-09-27 | 2010-03-17 | 株式会社東芝 | プロセッサ・システム |
| EP1396792B1 (en) * | 2002-09-06 | 2005-06-15 | Sun Microsystems, Inc. | Memory copy command specifying source and destination of data executed in the memory controller |
| US7523276B1 (en) * | 2003-06-30 | 2009-04-21 | Veritas Software Corporation | Synchronization of selected data from snapshots stored on different storage volumes |
| US7260686B2 (en) * | 2004-08-17 | 2007-08-21 | Nvidia Corporation | System, apparatus and method for performing look-ahead lookup on predictive information in a cache memory |
| TWI344085B (en) * | 2007-11-15 | 2011-06-21 | Genesys Logic Inc | Storage system for improving efficiency in accessing flash memory and method for the same |
| WO2010004455A2 (en) * | 2008-06-16 | 2010-01-14 | Nxp B.V. | A switched-capacitor pipeline adc stage |
| EP2304572A1 (en) * | 2008-06-17 | 2011-04-06 | Nxp B.V. | Processing circuit with cache circuit and detection of runs of updated addresses in cache lines |
| US8041899B2 (en) * | 2008-07-29 | 2011-10-18 | Freescale Semiconductor, Inc. | System and method for fetching information to a cache module using a write back allocate algorithm |
| US8732409B2 (en) * | 2008-11-17 | 2014-05-20 | Entropic Communications, Inc. | Cache management policy and corresponding device |
| WO2012117451A1 (en) * | 2011-03-03 | 2012-09-07 | Hitachi, Ltd. | Storage controller and method of controlling storage controller |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0680499B2 (ja) * | 1989-01-13 | 1994-10-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムのキャッシュ制御システムおよび方法 |
| 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 |
| US5197144A (en) * | 1990-02-26 | 1993-03-23 | Motorola, Inc. | Data processor for reloading deferred pushes in a copy-back data cache |
| US5488709A (en) * | 1990-06-27 | 1996-01-30 | Mos Electronics, Corp. | Cache including decoupling register circuits |
| DE69127936T2 (de) * | 1990-06-29 | 1998-05-07 | Digital Equipment Corp | Busprotokoll für Prozessor mit write-back cache |
| US5195089A (en) * | 1990-12-31 | 1993-03-16 | Sun Microsystems, Inc. | Apparatus and method for a synchronous, high speed, packet-switched bus |
| GB2256512B (en) * | 1991-06-04 | 1995-03-15 | Intel Corp | Second level cache controller unit and system |
| US5353423A (en) * | 1991-06-21 | 1994-10-04 | Compaq Computer Corporation | Memory controller for use with write-back cache system and multiple bus masters coupled to multiple buses |
| US5325504A (en) * | 1991-08-30 | 1994-06-28 | Compaq Computer Corporation | Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system |
| US5426765A (en) * | 1991-08-30 | 1995-06-20 | Compaq Computer Corporation | Multiprocessor cache abitration |
| US5359723A (en) * | 1991-12-16 | 1994-10-25 | Intel Corporation | Cache memory hierarchy having a large write through first level that allocates for CPU read misses only and a small write back second level that allocates for CPU write misses only |
| US5428761A (en) * | 1992-03-12 | 1995-06-27 | Digital Equipment Corporation | System for achieving atomic non-sequential multi-word operations in shared memory |
| JPH05282208A (ja) * | 1992-04-03 | 1993-10-29 | Hitachi Ltd | キャッシュメモリ制御方式 |
| US5483640A (en) * | 1993-02-26 | 1996-01-09 | 3Com Corporation | System for managing data flow among devices by storing data and structures needed by the devices and transferring configuration information from processor to the devices |
| JPH06290582A (ja) * | 1993-04-02 | 1994-10-18 | Nec Corp | 半導体記憶装置 |
| US5594765A (en) * | 1995-01-03 | 1997-01-14 | Hyundai Electronics America | Interleaved and sequential counter |
-
1995
- 1995-05-12 EP EP95303214A patent/EP0683457A1/en not_active Withdrawn
- 1995-05-18 JP JP11948695A patent/JP3771603B2/ja not_active Expired - Lifetime
-
1996
- 1996-11-04 US US08/743,393 patent/US5802559A/en not_active Expired - Lifetime
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006023792A (ja) * | 2004-07-06 | 2006-01-26 | Fujitsu Ltd | 情報処理装置 |
| JP2009534767A (ja) * | 2006-04-25 | 2009-09-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 入出力装置によるアクセスを受けるデータの移動 |
| JP2016524251A (ja) * | 2013-06-29 | 2016-08-12 | 華為技術有限公司Huawei Technologies Co.,Ltd. | データ書き込み方法及びメモリシステム |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0683457A1 (en) | 1995-11-22 |
| JP3771603B2 (ja) | 2006-04-26 |
| US5802559A (en) | 1998-09-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3771603B2 (ja) | コンピュータシステム、インテグレーテッドプロセッサ、キャッシュベースのコンピュータシステムのためのスヌープ制御方法 | |
| US5557769A (en) | Mechanism and protocol for maintaining cache coherency within an integrated processor | |
| US5903911A (en) | Cache-based computer system employing memory control circuit and method for write allocation and data prefetch | |
| US5623633A (en) | Cache-based computer system employing a snoop control circuit with write-back suppression | |
| US5119485A (en) | Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation | |
| US6434672B1 (en) | Methods and apparatus for improving system performance with a shared cache memory | |
| US5913224A (en) | Programmable cache including a non-lockable data way and a lockable data way configured to lock real-time data | |
| US5761725A (en) | Cache-based computer system employing a peripheral bus interface unit with cache write-back suppression and processor-peripheral communication suppression for data coherency | |
| US6272602B1 (en) | Multiprocessing system employing pending tags to maintain cache coherence | |
| US20030140200A1 (en) | Methods and apparatus for transferring cache block ownership | |
| JP3989457B2 (ja) | 局所的なキャッシュ・ブロック・フラッシュ命令 | |
| JPH07168763A (ja) | ライトスルーキャシュ設計のシステムでのライトバックキャシュのコヒーレンシ | |
| JPH0659976A (ja) | 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法 | |
| JP2000305842A (ja) | ダイレクト・メモリ・アクセスおよびキャッシュ性能を改善する方法および装置 | |
| EP0870236A1 (en) | System and apparatus for partially flushing cache memory | |
| JPH09114665A (ja) | 記憶装置と補助プロセッサ間のコマンド及びデータ転送方法及び情報処理システム | |
| US5926830A (en) | Data processing system and method for maintaining coherency between high and low level caches using inclusive states | |
| CN121478674A (zh) | 高速缓冲存储器大小改变 | |
| US7657667B2 (en) | Method to provide cache management commands for a DMA controller | |
| JPH0628263A (ja) | データ・キャッシュのための制御器において最近に用いられたデータを更新する方法および装置 | |
| US6321302B1 (en) | Stream read buffer for efficient interface with block oriented devices | |
| JPH0721085A (ja) | メモリとi/o装置の間で転送されるデータをキャッシュするためのストリーミングキャッシュおよびその方法 | |
| US5920891A (en) | Architecture and method for controlling a cache memory | |
| JP3007870B2 (ja) | アーキテクチャ操作を管理する方法及び装置 | |
| US5367659A (en) | Tag initialization in a controller for two-way set associative cache |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051104 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051108 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060106 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060131 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060210 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100217 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100217 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110217 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120217 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130217 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140217 Year of fee payment: 8 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |