JPS6263350A - キヤツシユメモリを具えた情報処理装置 - Google Patents
キヤツシユメモリを具えた情報処理装置Info
- Publication number
- JPS6263350A JPS6263350A JP61151296A JP15129686A JPS6263350A JP S6263350 A JPS6263350 A JP S6263350A JP 61151296 A JP61151296 A JP 61151296A JP 15129686 A JP15129686 A JP 15129686A JP S6263350 A JPS6263350 A JP S6263350A
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- data
- memory
- cache
- instructions
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 181
- 238000000034 method Methods 0.000 claims description 16
- 230000010365 information processing Effects 0.000 claims description 6
- 239000000872 buffer Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000010926 purge Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 101100148933 Caenorhabditis elegans sdhb-1 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3812—Instruction prefetching with instruction modification, e.g. store into instruction stream
-
- 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/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; 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0837—Cache consistency protocols with software control, e.g. non-cacheable data
-
- 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明はキャッシュメモリを具えた情報処理装置に係り
、特にキャッシュメモリ中の情報とメモリ中にまたはそ
こから転送される情報との統一性を保証する装置に関す
る。
、特にキャッシュメモリ中の情報とメモリ中にまたはそ
こから転送される情報との統一性を保証する装置に関す
る。
現代の大抵のコンピュータシステムは、中央処理装置(
CPU)と主記憶装置とを包んでいる。データを処理す
るための命令を解読し実行することができるCPUの速
度は、命令およびオペランドが主記憶装置からCPUに
転送され得る速度を越えていた。
CPU)と主記憶装置とを包んでいる。データを処理す
るための命令を解読し実行することができるCPUの速
度は、命令およびオペランドが主記憶装置からCPUに
転送され得る速度を越えていた。
この不適合性により引き起こされる問題を少くするため
の1つの試みとして、多くのコンピュータはCPUと主
記憶装置との間にキャッシュメモリまたはバッファを使
用している。
の1つの試みとして、多くのコンピュータはCPUと主
記憶装置との間にキャッシュメモリまたはバッファを使
用している。
キャッシュメモリは、小さな、高速のバッファメモリで
あり、CPUによって現在使用中と考えられる主記憶装
置の内容の一部分を一時的に保持するために使用される
。キャッシュメモリの主要な目的は、データまたは命令
取り込みのためのメモリアクセスに必要な実行時間を短
縮することである。キャッシュメモリ内に位置された情
報は、主記憶装置内に位置する情報よりもずっと少ない
時間でアクセスされうる。従って、キャッシュメモリを
備えたCPUにおいては、命令およびオペランドの取り
込みおよび/またはストアに要する時間を小さくする必
要がある。そのような装置に対して、キャッシュメモリ
は、正に実質的な実行速度の増加をもたらす。
あり、CPUによって現在使用中と考えられる主記憶装
置の内容の一部分を一時的に保持するために使用される
。キャッシュメモリの主要な目的は、データまたは命令
取り込みのためのメモリアクセスに必要な実行時間を短
縮することである。キャッシュメモリ内に位置された情
報は、主記憶装置内に位置する情報よりもずっと少ない
時間でアクセスされうる。従って、キャッシュメモリを
備えたCPUにおいては、命令およびオペランドの取り
込みおよび/またはストアに要する時間を小さくする必
要がある。そのような装置に対して、キャッシュメモリ
は、正に実質的な実行速度の増加をもたらす。
キャッシュメモリはデータの1つまたはそれ以上のワー
ドをもつ多くのブロックから作られており、各データは
、そのデータが主記憶装置のどのブロックのコピーであ
るかを独特に特定するアドレスタグと関連する。プロセ
ッサがメモリ参照を行うたびに、キャッシュメモリは要
求されたデータのコピーを有するかどうかをチェックす
る。もしそれを有するならば、キャッシュメモリはその
データを供給し、もし無ければ主記憶装置から該当ブロ
ックを受は取り、キャッシュメモリ中にストアされてい
るブロックのうちの1つと置換え、そしてそのデータを
プロセッサに供給する。
ドをもつ多くのブロックから作られており、各データは
、そのデータが主記憶装置のどのブロックのコピーであ
るかを独特に特定するアドレスタグと関連する。プロセ
ッサがメモリ参照を行うたびに、キャッシュメモリは要
求されたデータのコピーを有するかどうかをチェックす
る。もしそれを有するならば、キャッシュメモリはその
データを供給し、もし無ければ主記憶装置から該当ブロ
ックを受は取り、キャッシュメモリ中にストアされてい
るブロックのうちの1つと置換え、そしてそのデータを
プロセッサに供給する。
キャッシュメモリを最適に設計するには次の事を考慮す
る必要がある。
る必要がある。
(1)キャッシュメモリ中のメモリ参照対果を見っけ出
す可能性(ヒツト率)を最大にすること、(2) キ
ャッシュメモリ内に実際にある情報をアクセスするため
の時間(アクセスタイム)を最小にすること、 (3) ミスによる遅れを最小にすること、(4)主
記憶装置を更新するオーバーヘッドを最小にし、そして
、多重キャッシュメモリの無矛盾性を維持すること、 の4つである。これらの目的の全ては、費用とパラメー
タ間の相互関係とを考慮して成し遂げられねばならない
。
す可能性(ヒツト率)を最大にすること、(2) キ
ャッシュメモリ内に実際にある情報をアクセスするため
の時間(アクセスタイム)を最小にすること、 (3) ミスによる遅れを最小にすること、(4)主
記憶装置を更新するオーバーヘッドを最小にし、そして
、多重キャッシュメモリの無矛盾性を維持すること、 の4つである。これらの目的の全ては、費用とパラメー
タ間の相互関係とを考慮して成し遂げられねばならない
。
CPUが現在のアドレス空間の内容を変更する命令を実
行するとき、それらの変更は最終的に主記憶装置内に反
映されなければならず、キャッシュメモリは単に一時的
なバッファーであるべきである。主記憶装置を更新する
ためには2つの一般的なアプローチがある。即ち、第1
の方法においては、貯蔵物は主記憶装置に直接伝達され
うる(ライト・スルー(write−through)
またはストア・スルー(store−through)
と呼ばれる)。
行するとき、それらの変更は最終的に主記憶装置内に反
映されなければならず、キャッシュメモリは単に一時的
なバッファーであるべきである。主記憶装置を更新する
ためには2つの一般的なアプローチがある。即ち、第1
の方法においては、貯蔵物は主記憶装置に直接伝達され
うる(ライト・スルー(write−through)
またはストア・スルー(store−through)
と呼ばれる)。
第2の方法においては、貯蔵物はキャッシュメモリ内に
貯蔵されているデータを初めに変更し、その後に主記憶
装置内に反映されうる(コピー・バック(c o p
y −b a c k)またはライト・トウー(wri
te−to)と呼ばれる)。ライト・スルーとコピー・
バックとの間の選択は、密結合された多重プロセッサシ
ステムにおける多重キャッシュメモリ間の無矛盾性(統
一性)を維持するため′の方法の選択と密接な関係を有
する。
貯蔵されているデータを初めに変更し、その後に主記憶
装置内に反映されうる(コピー・バック(c o p
y −b a c k)またはライト・トウー(wri
te−to)と呼ばれる)。ライト・スルーとコピー・
バックとの間の選択は、密結合された多重プロセッサシ
ステムにおける多重キャッシュメモリ間の無矛盾性(統
一性)を維持するため′の方法の選択と密接な関係を有
する。
ライト・スルー法の主な欠点は、ライト・スルーが各ス
トア動作に対して主記憶装置へのアクセスを要求すると
いうことである。これは、プロセッサの実行速度を遅く
する比較的遅い主記憶装置のトラフィック負荷に重大な
影響を与える。しかしながら、ライト・スルーが使用さ
れないときには、主記憶装置がシステムにおける全ての
情報の最新のコピーを常時含んではいないためキャッシ
ュメモリとの無矛盾性の問題が発生する。
トア動作に対して主記憶装置へのアクセスを要求すると
いうことである。これは、プロセッサの実行速度を遅く
する比較的遅い主記憶装置のトラフィック負荷に重大な
影響を与える。しかしながら、ライト・スルーが使用さ
れないときには、主記憶装置がシステムにおける全ての
情報の最新のコピーを常時含んではいないためキャッシ
ュメモリとの無矛盾性の問題が発生する。
主記憶装置と周辺装置との間の入力および出力動作は主
記憶装置中の情報を参照する追加的な参照源であり、こ
の参照源はキャッシュメモリの動作と調和しなければな
らない。転送される情報に対して一最新の値を、出力が
参照の流れに要求することは重要である。同様に、入力
データが記憶装置中のラインの全てのコピーにおいて直
ちに反映されることがまた重要である。
記憶装置中の情報を参照する追加的な参照源であり、こ
の参照源はキャッシュメモリの動作と調和しなければな
らない。転送される情報に対して一最新の値を、出力が
参照の流れに要求することは重要である。同様に、入力
データが記憶装置中のラインの全てのコピーにおいて直
ちに反映されることがまた重要である。
この問題を解決するために、いくつかの方法がなされて
きた。1つはIloの流れをキャッシュメモリそれ自身
を通して導くことである。しかし、この方法は、単一の
プロセッサシステムに限定される。
きた。1つはIloの流れをキャッシュメモリそれ自身
を通して導くことである。しかし、この方法は、単一の
プロセッサシステムに限定される。
さらに、この方法は、プロセッサがキャッシュメモリを
必要とするときキャッシュメモリを動作中に維持するこ
とと、プロセッサによって現在使用されている情報ブロ
ックをI10ストリームのブロックと置き換えることと
の両方によって、プロセッサによるキャッシュメモリの
使用に重大に干渉する。したがって、この方法は、キャ
ッシュメモリアクセスタイムとヒツト率との両方を低下
させる。他の方法は、ライト・スル一方法を使用し、そ
して全ての書き込みを一斉に行ない、よってどこであっ
ても見出された目的ラインを更新するかまたは無効にす
ることである。この方法はキャッシュメモリの代りに主
記憶装置にアクセスするけれども、それは上述したライ
ト・スル一方法の欠点を与える。加えて、このハードウ
ェア集約的な解決は、実行するためには費用がかかりま
た、キャッシュメモリに無効化チェックを要求するので
、キャッシュメモリアクセスサイクル時間を増加させる
。これは多重プロセッサシステムにおいて特に不利であ
る。なぜならば、システム中のプロセッサがストア動作
を実行するとき常に、システムにおける全てのキャッシ
ュメモリは、サイクルを無効ルックアップに引き渡すよ
うに強制されるからである。
必要とするときキャッシュメモリを動作中に維持するこ
とと、プロセッサによって現在使用されている情報ブロ
ックをI10ストリームのブロックと置き換えることと
の両方によって、プロセッサによるキャッシュメモリの
使用に重大に干渉する。したがって、この方法は、キャ
ッシュメモリアクセスタイムとヒツト率との両方を低下
させる。他の方法は、ライト・スル一方法を使用し、そ
して全ての書き込みを一斉に行ない、よってどこであっ
ても見出された目的ラインを更新するかまたは無効にす
ることである。この方法はキャッシュメモリの代りに主
記憶装置にアクセスするけれども、それは上述したライ
ト・スル一方法の欠点を与える。加えて、このハードウ
ェア集約的な解決は、実行するためには費用がかかりま
た、キャッシュメモリに無効化チェックを要求するので
、キャッシュメモリアクセスサイクル時間を増加させる
。これは多重プロセッサシステムにおいて特に不利であ
る。なぜならば、システム中のプロセッサがストア動作
を実行するとき常に、システムにおける全てのキャッシ
ュメモリは、サイクルを無効ルックアップに引き渡すよ
うに強制されるからである。
他の方法は、登録簿(索引)を使用し、各データブロッ
クの全てのコピーの状態と位置との軌跡を維持すること
である。登録簿は、主記憶装置内に中心化されるかまた
はキャッシュメモリ、I10チャネルおよび主記憶装置
間に分配される。このシステムは、ある時点において、
ただ1つのプロセッサまたはI10チャネルのみがある
データのブロックを変更できることを保証する。このこ
とは、AFP I 5Proc、、N、C,C,、Vo
1.45.ページ749−53 (1976)に述べ
られている。登録簿制御システムの主な欠点は、それが
要求する追加的ハードウェアの経費と複雑さである。
クの全てのコピーの状態と位置との軌跡を維持すること
である。登録簿は、主記憶装置内に中心化されるかまた
はキャッシュメモリ、I10チャネルおよび主記憶装置
間に分配される。このシステムは、ある時点において、
ただ1つのプロセッサまたはI10チャネルのみがある
データのブロックを変更できることを保証する。このこ
とは、AFP I 5Proc、、N、C,C,、Vo
1.45.ページ749−53 (1976)に述べ
られている。登録簿制御システムの主な欠点は、それが
要求する追加的ハードウェアの経費と複雑さである。
最後に、もし例えば停電のためにプロセッサが役に立た
なくなったとき、メモリシステムは、復帰が容易になさ
れるように、情報の最新のコピーが主記憶装置に貯蔵さ
れていることを保証しなければならない。
なくなったとき、メモリシステムは、復帰が容易になさ
れるように、情報の最新のコピーが主記憶装置に貯蔵さ
れていることを保証しなければならない。
本発明の目的は、キャッシュメモリを有するコンピュー
タシステムにおけるメモリの保全性と無矛盾性(統一性
)を維持するためのシステムを提供し、保全性を維持す
る負担をソフトウェアに置き、そのハードウェアを比較
的に簡単、且つ安価、迅速であるようにすることである
。
タシステムにおけるメモリの保全性と無矛盾性(統一性
)を維持するためのシステムを提供し、保全性を維持す
る負担をソフトウェアに置き、そのハードウェアを比較
的に簡単、且つ安価、迅速であるようにすることである
。
本発明の他の目的は、キャッシュメモリの動作上の保全
性と無矛盾性とを維持するためのオーバーヘッドを最小
限にし、もってキャッシュアクセスタイムおよびミス比
率を最小限にすることである。
性と無矛盾性とを維持するためのオーバーヘッドを最小
限にし、もってキャッシュアクセスタイムおよびミス比
率を最小限にすることである。
本発明のこれらの目的は、キャッシュメモリ中における
データブロックの除去または無効化を制御する明示的命
令を含む命令セットを有するコンピュータにおいて成し
遂げられる。キャッシュメモリ中の貯蔵(記憶)された
各データブロックは、211の1ビツトステータスフラ
グ、既ちそのブロックが最新のth報を包含しているか
どうかを示すための有効なビットと、ブロック中のデー
タがキャッシュメモリに入った後、プロセッサによって
記憶されたかどうかを示すダーティピット(dirty
bit)とを有する。#1記命令セットは、特定の
アドレスを持つブロックをキャッシュメモリから取り出
しそしてもし必要ならばそれを主記憶装置に戻して書き
込むための命令と、主記憶装置に戻して書き込むことな
しにブロックを取り出すための命令と、動作中のキャッ
シュメモリ動作が成し遂げられるまで命令の実行を停止
するための命令とプロセッサの動作不能の場合に、キャ
ッシュメモリ中の全ての「ダーティ−」ブロックを効率
的に取出しそして主記憶装置に戻して書き込むための命
令とを含む。オペレーティングシステムソフトウェアは
、これらの命令を、キャッシュメモリ中に矛盾や古いデ
ータが生じた状態において呼出す。
データブロックの除去または無効化を制御する明示的命
令を含む命令セットを有するコンピュータにおいて成し
遂げられる。キャッシュメモリ中の貯蔵(記憶)された
各データブロックは、211の1ビツトステータスフラ
グ、既ちそのブロックが最新のth報を包含しているか
どうかを示すための有効なビットと、ブロック中のデー
タがキャッシュメモリに入った後、プロセッサによって
記憶されたかどうかを示すダーティピット(dirty
bit)とを有する。#1記命令セットは、特定の
アドレスを持つブロックをキャッシュメモリから取り出
しそしてもし必要ならばそれを主記憶装置に戻して書き
込むための命令と、主記憶装置に戻して書き込むことな
しにブロックを取り出すための命令と、動作中のキャッ
シュメモリ動作が成し遂げられるまで命令の実行を停止
するための命令とプロセッサの動作不能の場合に、キャ
ッシュメモリ中の全ての「ダーティ−」ブロックを効率
的に取出しそして主記憶装置に戻して書き込むための命
令とを含む。オペレーティングシステムソフトウェアは
、これらの命令を、キャッシュメモリ中に矛盾や古いデ
ータが生じた状態において呼出す。
第1図は本発明を使用できるコンピュータシステムのブ
ロック図である。プロセッサ11は、しばしばCPUと
呼ばれ、メモリバス17を経由して主記憶装置13およ
び入力/出力チャネル15に連絡する。
ロック図である。プロセッサ11は、しばしばCPUと
呼ばれ、メモリバス17を経由して主記憶装置13およ
び入力/出力チャネル15に連絡する。
プロセッサ11は、プロセッサ19を含み、これはデー
タを処理するために命令を取り込み、解読しそして実行
する。データおよび命令は主記憶装置13に貯蔵され、
プログラムまたはルーチンの実行中にこれらデータおよ
び命令が要求されたときプロセッサ19に転送され、そ
して前記プログラムまたはルーチンが完成された後に主
記憶装置13に戻される6主記憶装置13へのアクセス
は、プロセッサ19の動作と較べて比較的遅い。もし、
命令またはデータが必要とれる都度、主記憶装置のアク
セスが完了するまでプロセッサ19の動作を待機せねば
ならないならばプロセッサ19の実行速度は非常に低下
する。プロセッサにおける必要性に非常にマツチするア
クセスタイムを提供するためには、バッファメモリとも
呼ばれるキャッシュメモリ21は、限定された個数の命
令およびデータを貯蔵する。キャッシュメ“モリ21は
主記憶装置13よりもずっと小さいため、それはより高
いアクセス速度を有するように経済的に作られ得る。
タを処理するために命令を取り込み、解読しそして実行
する。データおよび命令は主記憶装置13に貯蔵され、
プログラムまたはルーチンの実行中にこれらデータおよ
び命令が要求されたときプロセッサ19に転送され、そ
して前記プログラムまたはルーチンが完成された後に主
記憶装置13に戻される6主記憶装置13へのアクセス
は、プロセッサ19の動作と較べて比較的遅い。もし、
命令またはデータが必要とれる都度、主記憶装置のアク
セスが完了するまでプロセッサ19の動作を待機せねば
ならないならばプロセッサ19の実行速度は非常に低下
する。プロセッサにおける必要性に非常にマツチするア
クセスタイムを提供するためには、バッファメモリとも
呼ばれるキャッシュメモリ21は、限定された個数の命
令およびデータを貯蔵する。キャッシュメ“モリ21は
主記憶装置13よりもずっと小さいため、それはより高
いアクセス速度を有するように経済的に作られ得る。
コンピュータのためのオペレーティングシステムソフト
ウェアは、構成要素ユニットのハードウェアよりむしろ
、メモリの保全性および無矛盾性を維持する責を負う。
ウェアは、構成要素ユニットのハードウェアよりむしろ
、メモリの保全性および無矛盾性を維持する責を負う。
これを成し遂るために、オペレーティングシステムは、
コンピュータの命令セット中に包含された明示的な制御
命令を呼出す。
コンピュータの命令セット中に包含された明示的な制御
命令を呼出す。
本発明のシステムをより完全に説明するためには、キャ
ッシュメモリ21の構造の理解が必要である。
ッシュメモリ21の構造の理解が必要である。
キャッシュメモリ21におけるエントリ配列が第2図に
示されている。キャッシュメモリ21は、配列されたエ
ントリ位置31を有する。このエントリ位置には、デー
タ33と物理的ページタグ35とを包む。
示されている。キャッシュメモリ21は、配列されたエ
ントリ位置31を有する。このエントリ位置には、デー
タ33と物理的ページタグ35とを包む。
物理的ページタグ35は、主記憶装置中のデータのコピ
ーの位置の物理的ページ番号に対応する。
ーの位置の物理的ページ番号に対応する。
キャッシュメモリ中に貯蔵されたデータ33および35
に加えて、それぞれのブロックはそれと関連して「有効
」および「ダーティ−」の2gの1ビツトステータスフ
ラグを有する。もしそのブロックが有効データすなわち
最新のデータを有しおよび有するときだけ、有効ビット
37がセットされる。
に加えて、それぞれのブロックはそれと関連して「有効
」および「ダーティ−」の2gの1ビツトステータスフ
ラグを有する。もしそのブロックが有効データすなわち
最新のデータを有しおよび有するときだけ、有効ビット
37がセットされる。
もしデータがキャッシュメモリ中に持ち込まれた後、プ
ロセッサがそのアドレスへの記憶を行うならば、ダーテ
ィ−・ビット39がセットされる。もしプロセッサ19
が貯蔵動作〔ライト・スルー〕を行う都度、キャッシュ
メモリ21が主記憶装置13を更新しないならば、ブロ
ックに対し、キャッシュメモリは主記憶装置が有するよ
りも最新のデータを有する。ダーティ−・ビット39は
、ブロックがキャッシュメモリから交換されるとき、キ
ャッシュメモリ21におけるそのブロックのデータを主
記憶装置13に戻して書き込むことによって主記憶装置
13が更新されなければならないことを示すために働く
。キャッシュメモリ21はまた、第3図に示すように、
データのためと命令のためとの2つの区域に命令キャッ
シュメモリ41とデータキャッシュメモリ51との両方
は、上に述べられた一体のキャッシュメモリの構造と同
様な構造を有する。命令キャッシュメモリ41は、位置
配列43を有する。各位置配列は、物理的ページタグ4
5と命令46と有効ビット47とから構成されるエント
リを貯蔵する。データキャッシュメモリ51は、位置配
列53を有し、〃u 各位置配云は物理的タグ55とデータブロック56と有
効ビット57とダーティ−ビット58とから構成される
エントリを貯蔵する。このキャッシュメモリ構成はある
利益を提供するが、それは別の制御命令をも要求する。
ロセッサがそのアドレスへの記憶を行うならば、ダーテ
ィ−・ビット39がセットされる。もしプロセッサ19
が貯蔵動作〔ライト・スルー〕を行う都度、キャッシュ
メモリ21が主記憶装置13を更新しないならば、ブロ
ックに対し、キャッシュメモリは主記憶装置が有するよ
りも最新のデータを有する。ダーティ−・ビット39は
、ブロックがキャッシュメモリから交換されるとき、キ
ャッシュメモリ21におけるそのブロックのデータを主
記憶装置13に戻して書き込むことによって主記憶装置
13が更新されなければならないことを示すために働く
。キャッシュメモリ21はまた、第3図に示すように、
データのためと命令のためとの2つの区域に命令キャッ
シュメモリ41とデータキャッシュメモリ51との両方
は、上に述べられた一体のキャッシュメモリの構造と同
様な構造を有する。命令キャッシュメモリ41は、位置
配列43を有する。各位置配列は、物理的ページタグ4
5と命令46と有効ビット47とから構成されるエント
リを貯蔵する。データキャッシュメモリ51は、位置配
列53を有し、〃u 各位置配云は物理的タグ55とデータブロック56と有
効ビット57とダーティ−ビット58とから構成される
エントリを貯蔵する。このキャッシュメモリ構成はある
利益を提供するが、それは別の制御命令をも要求する。
特に、命令は変更されても良く、またコピーは次にキャ
ッシュメモリの両方の区域に現れても良い。よって、オ
ペレーティングシステムは無矛盾性を保証するために、
命令キャッシュメモリ41からまたデータキャッシュメ
モリ51がらブロックを主記憶装置1,3に戻し てフラッシュ(filush)させなければならない。
ッシュメモリの両方の区域に現れても良い。よって、オ
ペレーティングシステムは無矛盾性を保証するために、
命令キャッシュメモリ41からまたデータキャッシュメ
モリ51がらブロックを主記憶装置1,3に戻し てフラッシュ(filush)させなければならない。
オペレーティングシステムは以下の6つの命令を使用し
て必要なメモリメンテナンス機能を実行する。
て必要なメモリメンテナンス機能を実行する。
これら命令は、データキャッシュ・フラッシュ、キャッ
シュ・パージ(purge)、命令キャッシュ・フラッ
シュ、データキャッシュエントリ・フランシュ、命令キ
ャッシュエントリ・フラッシュ、およびキャッシュメモ
リ同期の6つである。
シュ・パージ(purge)、命令キャッシュ・フラッ
シュ、データキャッシュエントリ・フランシュ、命令キ
ャッシュエントリ・フラッシュ、およびキャッシュメモ
リ同期の6つである。
データキャッシュ・フラッシュ(FDC)命令は、
′データアドレスがデータキャッシュメモリをヒツト
するとき、その指定されたデータキャッシュメモリの有
効ビットを「無効」にセットする。与えられたアドレス
におけるデータブロックは、もしダーティ−ビットがセ
ットされているならば、キャッシュメモリから取出され
そして、主記憶装置に戻して書き込まれる。
′データアドレスがデータキャッシュメモリをヒツト
するとき、その指定されたデータキャッシュメモリの有
効ビットを「無効」にセットする。与えられたアドレス
におけるデータブロックは、もしダーティ−ビットがセ
ットされているならば、キャッシュメモリから取出され
そして、主記憶装置に戻して書き込まれる。
データキャッシュ・パージは(PDC)命令は。
データアドレスがキャッシュメモリをヒツトするとき、
その指定されたデータキャッシュメモリの有効ビットを
「無効」にセットする。指定されたアドレスにおけるデ
ータブロックはキャッシュメモリから取り出され、主記
憶装置への書き戻しは一切実行されない。
その指定されたデータキャッシュメモリの有効ビットを
「無効」にセットする。指定されたアドレスにおけるデ
ータブロックはキャッシュメモリから取り出され、主記
憶装置への書き戻しは一切実行されない。
命令キャッシュ・フラッシュ(F I C)命令は、ア
ドレスがキャッシュメモリをセットするとき、指定され
た命令キャッシュメモリの有効ビットを「無効」にセッ
トする。その指定されたアドレスにおける命令は、キャ
ッシュメモリから取り出される。
ドレスがキャッシュメモリをセットするとき、指定され
た命令キャッシュメモリの有効ビットを「無効」にセッ
トする。その指定されたアドレスにおける命令は、キャ
ッシュメモリから取り出される。
データキャッシュエントリ・フラッシュ(FDCE)命
令は特殊なフラッシュ命令であり、たとえば、プロセッ
サの動作不能の場合などにキャッシュメモリをフラッシ
ュさせるためにルーチン中において使用され得る。この
ルーチンは、実行従属である。多数セットキャッシュメ
モリに対して、該ルーチンは、それぞれのセットのため
に一度ずつ、キャッシュメ人 そりのインデッタi囲を通して進む。FDCE命令は、
キャッシュインデックスにおけるビットがあろうとなか
ろうと、データブロックをフラッシュし、そして指定さ
れたデータキャッシュメモリの有効ビットを「無効」に
セットする。すなわち、もし該当ブロックが有効および
ダーティ−であるときだけ、キャッシュタグを要求され
たアドレスに比較することなく、該ブロックは主記憶装
置に戻して書き込まれる。
令は特殊なフラッシュ命令であり、たとえば、プロセッ
サの動作不能の場合などにキャッシュメモリをフラッシ
ュさせるためにルーチン中において使用され得る。この
ルーチンは、実行従属である。多数セットキャッシュメ
モリに対して、該ルーチンは、それぞれのセットのため
に一度ずつ、キャッシュメ人 そりのインデッタi囲を通して進む。FDCE命令は、
キャッシュインデックスにおけるビットがあろうとなか
ろうと、データブロックをフラッシュし、そして指定さ
れたデータキャッシュメモリの有効ビットを「無効」に
セットする。すなわち、もし該当ブロックが有効および
ダーティ−であるときだけ、キャッシュタグを要求され
たアドレスに比較することなく、該ブロックは主記憶装
置に戻して書き込まれる。
命令キャッシュエントリ・フラッシュ(FICE)命令
は、FDCE命令がデータキャッシュメモリにおいて成
したと同じmvgを命令キャッシュメモリにおいて行う
。
は、FDCE命令がデータキャッシュメモリにおいて成
したと同じmvgを命令キャッシュメモリにおいて行う
。
キャッシュメモリ同期(SYNC)命令は、命令キャッ
シュメモリおよびデータキャッシュメモリの全ての動作
が完了するまでプロセッサによる命令の実行を停止する
。これにより、データの保全性を保証するために要求さ
れるキャッシュメモリ動作の完了まで、データのあらゆ
る参照動作が待機されることを保証する。
シュメモリおよびデータキャッシュメモリの全ての動作
が完了するまでプロセッサによる命令の実行を停止する
。これにより、データの保全性を保証するために要求さ
れるキャッシュメモリ動作の完了まで、データのあらゆ
る参照動作が待機されることを保証する。
本システムの動作は、次の具体例によって説明される。
オペ−レーティングシステムは、プロセッサおよびI1
0チャネル15に取り付けられた周辺装置による主記憶
装置へのアクセスを制御する。
0チャネル15に取り付けられた周辺装置による主記憶
装置へのアクセスを制御する。
データが外部装置からI10チャネル15を介して主記
憶装置13に読み込まれるべきとき、オペレーティング
システムは、そこへまたはそこからデータが転送される
アドレスがデータキャッシュメモリまたは命令キャッシ
ュメモリ中に写像された区゛域に重ならないことを保証
しなければならない。Iloが実行される前に、キャッ
シュメモリからあらゆる新鮮でないデータをクリアする
ために、オペレーティングシステムは、それぞれのキャ
ッシュメモリに対して、入力データが写像されようとし
ているアドレス範囲にわたってFDC命令およびFIC
命令を一斉に与える。
憶装置13に読み込まれるべきとき、オペレーティング
システムは、そこへまたはそこからデータが転送される
アドレスがデータキャッシュメモリまたは命令キャッシ
ュメモリ中に写像された区゛域に重ならないことを保証
しなければならない。Iloが実行される前に、キャッ
シュメモリからあらゆる新鮮でないデータをクリアする
ために、オペレーティングシステムは、それぞれのキャ
ッシュメモリに対して、入力データが写像されようとし
ているアドレス範囲にわたってFDC命令およびFIC
命令を一斉に与える。
データが主記憶装置からI10チャネル15を介しt外
部装置に読み込まれるべきとき、オペレーティングシス
テムは最も最新のデータが転送されるように、そこから
データが転送されるアドレスがデータキャッシュメモリ
中に写像されている区域に重らないことを保証しなけれ
ばならない。プロセッサにより変更されたキャッシュメ
モリ中におけるデータによって主記憶装置を東新するた
めに、オペーレーレス範囲にわたって、FDC命令を一
斉に与える。
部装置に読み込まれるべきとき、オペレーティングシス
テムは最も最新のデータが転送されるように、そこから
データが転送されるアドレスがデータキャッシュメモリ
中に写像されている区域に重らないことを保証しなけれ
ばならない。プロセッサにより変更されたキャッシュメ
モリ中におけるデータによって主記憶装置を東新するた
めに、オペーレーレス範囲にわたって、FDC命令を一
斉に与える。
FDC命令は、キャッシュメモリに対し、どのようなダ
ーティ−ブロックも主記憶装置に戻して書き込むように
させる。
ーティ−ブロックも主記憶装置に戻して書き込むように
させる。
仮想メモリシステムにおいて、ページまたはセグメント
が主記憶装置13からI10チャネル15に連結された
周辺メモリ(たとえばディスクメモリー)に移動される
ときは必ず、ページまたはセグメントからのデータは全
てのキャッシュメモリからフラッシュされなければなら
ない。オペレーティングシステムは、キャッシュメモリ
に対して、これらページまたはセグメントに包含された
アドレスの範囲にわたって、FDC命令およびFIC命
令を一斉に与える。たとえばプログラム終了などのため
にページまたはセグメントが破壊されるとき、そのデー
タは貯蔵される必要はなく、キャッシュメモリから除去
されなければならない。この場合、オペレーティングシ
ステムはPDC命令およびFIC命令を使用する。
が主記憶装置13からI10チャネル15に連結された
周辺メモリ(たとえばディスクメモリー)に移動される
ときは必ず、ページまたはセグメントからのデータは全
てのキャッシュメモリからフラッシュされなければなら
ない。オペレーティングシステムは、キャッシュメモリ
に対して、これらページまたはセグメントに包含された
アドレスの範囲にわたって、FDC命令およびFIC命
令を一斉に与える。たとえばプログラム終了などのため
にページまたはセグメントが破壊されるとき、そのデー
タは貯蔵される必要はなく、キャッシュメモリから除去
されなければならない。この場合、オペレーティングシ
ステムはPDC命令およびFIC命令を使用する。
ページまたはセグメントが作り出されるかまたは周辺メ
モリから持ち込まれるときには、−切のフラッシュまた
はパージ動作は必要ではない。なぜならば、新しいペー
ジまたはセグメントのための部屋を作るための以前のペ
ージまたはセグメント除去動作期間中に、その中に写像
されるアドレスは、フラッシュまたはパージされている
からである。
モリから持ち込まれるときには、−切のフラッシュまた
はパージ動作は必要ではない。なぜならば、新しいペー
ジまたはセグメントのための部屋を作るための以前のペ
ージまたはセグメント除去動作期間中に、その中に写像
されるアドレスは、フラッシュまたはパージされている
からである。
自己修飾符号をもつプログラムに適応させるために、オ
ペレーティングシステムは、変更された命令昏 のかなる新鮮でないコピーをキャッシュメモリから除去
し、新い命令だけが、実行されるよう保証しなければな
らない。命令の変更がデータキャッシュメモリ51にお
いて成された後に、オペレーティングシステムは、FD
C命令を使用し、変更されたコピーを主記憶装置に押し
やり、FIC命令を使用して、命令キャッシュメモリ4
1から命令のいかなる新鮮でないコピーを除去し、そし
て次に5YNC命令を使用し、FDC命令およびFIC
命令が完了されるまでは変更された命令が呼出されない
ことを保証する。
ペレーティングシステムは、変更された命令昏 のかなる新鮮でないコピーをキャッシュメモリから除去
し、新い命令だけが、実行されるよう保証しなければな
らない。命令の変更がデータキャッシュメモリ51にお
いて成された後に、オペレーティングシステムは、FD
C命令を使用し、変更されたコピーを主記憶装置に押し
やり、FIC命令を使用して、命令キャッシュメモリ4
1から命令のいかなる新鮮でないコピーを除去し、そし
て次に5YNC命令を使用し、FDC命令およびFIC
命令が完了されるまでは変更された命令が呼出されない
ことを保証する。
たとえば停電によって、プロセッサが動作不能となった
場合には、キャッシュメモリ中に残留する変更されたデ
ータブロックは、主記憶装置に戻して書き込まれなけれ
ばならない。オペレーティングシステムは、FDCE命
令およびFrCE命令を使用し、最小の時間で上記の事
を成し遂げることができる。
場合には、キャッシュメモリ中に残留する変更されたデ
ータブロックは、主記憶装置に戻して書き込まれなけれ
ばならない。オペレーティングシステムは、FDCE命
令およびFrCE命令を使用し、最小の時間で上記の事
を成し遂げることができる。
FDCE命令およびFICE命令を使用するルーチンは
キャッシュメモリを迅速にフラッシュする。なぜならば
、ずっと大きなアドレス空間を使用するのではなく、キ
ャッシュメモリのインデックス範囲を通して進むからで
ある。ルーチンがキャッシュメモリを通して進むとき、
有効およびダーティ−であるブロックだけが主記憶装置
13に戻して書き込まわる。
キャッシュメモリを迅速にフラッシュする。なぜならば
、ずっと大きなアドレス空間を使用するのではなく、キ
ャッシュメモリのインデックス範囲を通して進むからで
ある。ルーチンがキャッシュメモリを通して進むとき、
有効およびダーティ−であるブロックだけが主記憶装置
13に戻して書き込まわる。
以上の説明より明らかなように、本発明によれば、複雑
なハードウェアを使用することなく、キャッシュメモリ
と主記憶装置間の無矛盾性(統一性)を保つことができ
る。
なハードウェアを使用することなく、キャッシュメモリ
と主記憶装置間の無矛盾性(統一性)を保つことができ
る。
第1図は本発明を使用できるコンピュータシステムのブ
ロック図、第2図は本発明によるキャッシュメモリを具
えた情報処理装置のキャッシュメモリの説明図、第3図
は本発明の他の実施例によるキャッシュメモリを具えた
情報処理装置のキャッシュメモリの説明図である。 出願人 横河・ヒユーレット・パッカード株式会社代理
人 弁理士 長谷用 次 男 手続補正帯動式〕 昭和61年1033日 1、事件の表示 昭和61年 特許 願第 1
51296 号2、発明の名称 キャッシュ
メモリを具えた情報処理装置3、補正をする者 事件との関係 特 許 出 覇 人4、代理
人 住所 東京都 杉並区 高井戸東 3丁目2
9番21号7、補正の内容 (1)明細書第1頁下から第4目行の次に下記の文を挿
入する。 「3、発明の詳細な説明」
ロック図、第2図は本発明によるキャッシュメモリを具
えた情報処理装置のキャッシュメモリの説明図、第3図
は本発明の他の実施例によるキャッシュメモリを具えた
情報処理装置のキャッシュメモリの説明図である。 出願人 横河・ヒユーレット・パッカード株式会社代理
人 弁理士 長谷用 次 男 手続補正帯動式〕 昭和61年1033日 1、事件の表示 昭和61年 特許 願第 1
51296 号2、発明の名称 キャッシュ
メモリを具えた情報処理装置3、補正をする者 事件との関係 特 許 出 覇 人4、代理
人 住所 東京都 杉並区 高井戸東 3丁目2
9番21号7、補正の内容 (1)明細書第1頁下から第4目行の次に下記の文を挿
入する。 「3、発明の詳細な説明」
Claims (1)
- 命令を実行しデータを処理するプロセッサと、命令およ
びデータを記憶するメモリと、前記メモリに接続され前
記メモリとデータおよび命令の転送を行う入出力チャン
ネルと、前記プロセッサと前記メモリ間に接続され、有
効ステータスフラグとダーテイステータスフラグとを有
するキャッシュメモリと、前記キャッシュメモリからの
データブロックの取り出しを制御するための命令セット
と、前記命令セットを実行するオペレーティングシステ
ムとより成り、前記キャッシュメモリ中に記憶された情
報と前記メモリ中に記憶された情報との統一性を保証す
るようにしたキャッシュメモリを具えた情報処理装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US750381 | 1985-06-28 | ||
US06/750,381 US4713755A (en) | 1985-06-28 | 1985-06-28 | Cache memory consistency control with explicit software instructions |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6263350A true JPS6263350A (ja) | 1987-03-20 |
JPH077360B2 JPH077360B2 (ja) | 1995-01-30 |
Family
ID=25017637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61151296A Expired - Lifetime JPH077360B2 (ja) | 1985-06-28 | 1986-06-27 | キヤツシユメモリを具えた情報処理装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US4713755A (ja) |
EP (1) | EP0210384B1 (ja) |
JP (1) | JPH077360B2 (ja) |
CA (1) | CA1270579A (ja) |
DE (1) | DE3681985D1 (ja) |
HK (1) | HK66392A (ja) |
SG (1) | SG72392G (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63163940A (ja) * | 1986-09-18 | 1988-07-07 | ディジタル イクイプメント コーポレーション | デジタルデータ処理システム |
Families Citing this family (121)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2539357B2 (ja) | 1985-03-15 | 1996-10-02 | 株式会社日立製作所 | デ−タ処理装置 |
US5349672A (en) * | 1986-03-17 | 1994-09-20 | Hitachi, Ltd. | Data processor having logical address memories and purge capabilities |
US5045996A (en) * | 1986-11-12 | 1991-09-03 | Xerox Corporation | Multiprocessor cache memory housekeeping |
US4897781A (en) * | 1987-02-13 | 1990-01-30 | International Business Machines Corporation | System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment |
US4851991A (en) * | 1987-02-24 | 1989-07-25 | Digital Equipment Corporation | Central processor unit for digital data processing system including write buffer management mechanism |
EP0309994A3 (en) * | 1987-09-28 | 1990-08-22 | Compaq Computer Corporation | Method and apparatus for implementing memory coherency |
JPS6488844A (en) * | 1987-09-30 | 1989-04-03 | Takeshi Sakamura | Data processor |
GB2210480B (en) * | 1987-10-02 | 1992-01-29 | Sun Microsystems Inc | Flush support |
EP0325421B1 (en) * | 1988-01-20 | 1994-08-10 | Advanced Micro Devices, Inc. | Organization of an integrated cache unit for flexible usage in supporting multiprocessor operations |
NL8800158A (nl) * | 1988-01-25 | 1989-08-16 | Philips Nv | Computersysteem voorzien van een hierarchisch georganiseerd geheugen. |
US5214770A (en) * | 1988-04-01 | 1993-05-25 | Digital Equipment Corporation | System for flushing instruction-cache only when instruction-cache address and data-cache address are matched and the execution of a return-from-exception-or-interrupt command |
GB8814077D0 (en) * | 1988-06-14 | 1988-07-20 | Int Computers Ltd | Data memory system |
EP0348628A3 (en) * | 1988-06-28 | 1991-01-02 | International Business Machines Corporation | Cache storage system |
US5097409A (en) * | 1988-06-30 | 1992-03-17 | Wang Laboratories, Inc. | Multi-processor system with cache memories |
US5204952A (en) * | 1988-07-18 | 1993-04-20 | Northern Telecom Limited | Duplex processor arrangement for a switching system |
US4928225A (en) * | 1988-08-25 | 1990-05-22 | Edgcore Technology, Inc. | Coherent cache structures and methods |
US6092153A (en) * | 1988-11-14 | 2000-07-18 | Lass; Stanley Edwin | Subsettable top level cache |
US5187793A (en) * | 1989-01-09 | 1993-02-16 | Intel Corporation | Processor with hierarchal memory and using meta-instructions for software control of loading, unloading and execution of machine instructions stored in the cache |
US5097532A (en) * | 1989-03-03 | 1992-03-17 | Compaq Computer Corporation | Circuit for enabling a cache using a flush input to circumvent a late noncachable address input |
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 |
US5197146A (en) * | 1989-06-21 | 1993-03-23 | Hewlett-Packard Company | Method for maintaining cache coherence in a multiprocessor computer system |
US5155832A (en) * | 1989-07-05 | 1992-10-13 | Hewlett-Packard Company | Method to increase performance in a multi-level cache system by the use of forced cache misses |
US5283886A (en) * | 1989-08-11 | 1994-02-01 | Hitachi, Ltd. | Multiprocessor cache system having three states for generating invalidating signals upon write accesses |
WO1991004536A1 (en) * | 1989-09-20 | 1991-04-04 | Dolphin Server Technology A/S | Instruction cache architecture for parallel issuing of multiple instructions |
JP2695017B2 (ja) * | 1989-11-08 | 1997-12-24 | 富士通株式会社 | データ転送方式 |
US5307477A (en) * | 1989-12-01 | 1994-04-26 | Mips Computer Systems, Inc. | Two-level cache memory system |
JPH0748190B2 (ja) * | 1990-01-22 | 1995-05-24 | 株式会社東芝 | キャッシュメモリ内蔵マイクロプロセッサ |
US5467460A (en) * | 1990-02-14 | 1995-11-14 | Intel Corporation | M&A for minimizing data transfer to main memory from a writeback cache during a cache miss |
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 |
EP0488819B1 (en) * | 1990-11-30 | 1999-01-13 | Kabushiki Kaisha Toshiba | Conditional branch instructions execution apparatus |
US5339322A (en) * | 1991-03-29 | 1994-08-16 | Sgs-Thomson Microelectronics, Inc. | Cache tag parity detect circuit |
US5319768A (en) * | 1991-05-01 | 1994-06-07 | Sgs-Thomson Microelectronics, Inc. | Control circuit for resetting a snoop valid bit in a dual port cache tag memory |
US5469555A (en) * | 1991-12-19 | 1995-11-21 | Opti, Inc. | Adaptive write-back method and apparatus wherein the cache system operates in a combination of write-back and write-through modes for a cache-based microprocessor system |
US5414827A (en) * | 1991-12-19 | 1995-05-09 | Opti, Inc. | Automatic cache flush |
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 |
US5675763A (en) * | 1992-07-15 | 1997-10-07 | Digital Equipment Corporation | Cache memory system and method for selectively removing stale aliased entries |
JP3409866B2 (ja) * | 1992-09-18 | 2003-05-26 | 株式会社日立製作所 | 並列計算機 |
EP0600626A1 (en) * | 1992-11-13 | 1994-06-08 | Cyrix Corporation | Coherency for write-back cache in a system designed for write-through cache |
US5524225A (en) * | 1992-12-18 | 1996-06-04 | Advanced Micro Devices Inc. | Cache system and method for providing software controlled writeback |
US5689680A (en) * | 1993-07-15 | 1997-11-18 | Unisys Corp. | Cache memory system and method for accessing a coincident cache with a bit-sliced architecture |
GB2282471B (en) * | 1993-09-29 | 1997-11-05 | Advanced Risc Mach Ltd | Cache storage |
US5537575A (en) * | 1994-06-30 | 1996-07-16 | Foley; Denis | 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 |
CN1049750C (zh) * | 1994-07-28 | 2000-02-23 | 联华电子股份有限公司 | 共用超高速缓冲存贮器子***的计算机索引存贮器装置 |
US5566318A (en) * | 1994-08-02 | 1996-10-15 | Ramtron International Corporation | Circuit with a single address register that augments a memory controller by enabling cache reads and page-mode writes |
JP3266470B2 (ja) * | 1994-10-03 | 2002-03-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム |
US5835949A (en) * | 1994-12-27 | 1998-11-10 | National Semiconductor Corporation | Method of identifying and self-modifying code |
US5713017A (en) * | 1995-06-07 | 1998-01-27 | International Business Machines Corporation | Dual counter consistency control for fault tolerant network file servers |
US5594863A (en) * | 1995-06-26 | 1997-01-14 | Novell, Inc. | Method and apparatus for network file recovery |
US5787472A (en) * | 1995-07-31 | 1998-07-28 | Ibm Corporation | Disk caching system for selectively providing interval caching or segment caching of vided data |
US5778431A (en) * | 1995-12-19 | 1998-07-07 | Advanced Micro Devices, Inc. | System and apparatus for partially flushing cache memory |
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 |
US5956754A (en) * | 1997-03-03 | 1999-09-21 | Data General Corporation | Dynamic shared user-mode mapping of shared memory |
GB9704542D0 (en) * | 1997-03-05 | 1997-04-23 | Sgs Thomson Microelectronics | A cache coherency mechanism |
US6026470A (en) * | 1997-04-14 | 2000-02-15 | International Business Machines Corporation | Software-managed programmable associativity caching mechanism monitoring cache misses to selectively implement multiple associativity levels |
US5978888A (en) * | 1997-04-14 | 1999-11-02 | International Business Machines Corporation | Hardware-managed programmable associativity caching mechanism monitoring cache misses to selectively implement multiple associativity levels |
US6058456A (en) * | 1997-04-14 | 2000-05-02 | International Business Machines Corporation | Software-managed programmable unified/split caching mechanism for instructions and data |
US5974507A (en) * | 1997-04-14 | 1999-10-26 | International Business Machines Corporation | Optimizing a cache eviction mechanism by selectively introducing different levels of randomness into a replacement algorithm |
GB2357873B (en) * | 1998-07-24 | 2002-01-09 | Intel Corp | A method and apparatus for performing cache segment flush operations |
US6978357B1 (en) * | 1998-07-24 | 2005-12-20 | Intel Corporation | Method and apparatus for performing cache segment flush and cache segment invalidation operations |
US7013284B2 (en) * | 1999-05-04 | 2006-03-14 | Accenture Llp | Component based interface to handle tasks during claim processing |
US7617240B2 (en) | 1999-05-04 | 2009-11-10 | Accenture Llp | Component based task handling during claim processing |
US7979382B2 (en) | 1999-05-04 | 2011-07-12 | Accenture Global Services Limited | Component based information linking during claim processing |
US6546462B1 (en) * | 1999-12-30 | 2003-04-08 | Intel Corporation | CLFLUSH micro-architectural implementation method and system |
GB2401227B (en) * | 1999-12-30 | 2005-03-16 | Intel Corp | Cache line flush micro-architectural implementation method and system |
JP2001282764A (ja) | 2000-03-30 | 2001-10-12 | Hitachi Ltd | マルチプロセッサシステム |
US7099998B1 (en) * | 2000-03-31 | 2006-08-29 | Intel Corporation | Method for reducing an importance level of a cache line |
US7360028B1 (en) * | 2000-05-05 | 2008-04-15 | Sun Microsystems, Inc. | Explicit store-to-instruction-space instruction for self-modifying code and ensuring memory coherence between instruction cache and shared memory using a no-snoop protocol |
US20020083150A1 (en) * | 2000-12-27 | 2002-06-27 | Linden Minnick | Accessing information from memory |
US7653710B2 (en) | 2002-06-25 | 2010-01-26 | Qst Holdings, Llc. | Hardware task manager |
US7489779B2 (en) | 2001-03-22 | 2009-02-10 | Qstholdings, Llc | Hardware implementation of the secure hash standard |
US6836839B2 (en) | 2001-03-22 | 2004-12-28 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US7962716B2 (en) | 2001-03-22 | 2011-06-14 | Qst Holdings, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US7752419B1 (en) | 2001-03-22 | 2010-07-06 | Qst Holdings, Llc | Method and system for managing hardware resources to implement system functions using an adaptive computing architecture |
US7400668B2 (en) | 2001-03-22 | 2008-07-15 | Qst Holdings, Llc | Method and system for implementing a system acquisition function for use with a communication device |
US7249242B2 (en) * | 2002-10-28 | 2007-07-24 | Nvidia Corporation | Input pipeline registers for a node in an adaptive computing engine |
US6577678B2 (en) | 2001-05-08 | 2003-06-10 | Quicksilver Technology | Method and system for reconfigurable channel coding |
US6920533B2 (en) | 2001-06-27 | 2005-07-19 | Intel Corporation | System boot time reduction method |
US7275135B2 (en) | 2001-08-31 | 2007-09-25 | Intel Corporation | Hardware updated metadata for non-volatile mass storage cache |
US7046635B2 (en) | 2001-11-28 | 2006-05-16 | Quicksilver Technology, Inc. | System for authorizing functionality in adaptable hardware devices |
US8412915B2 (en) | 2001-11-30 | 2013-04-02 | Altera Corporation | Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements |
US6986021B2 (en) | 2001-11-30 | 2006-01-10 | Quick Silver Technology, Inc. | Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements |
US7602740B2 (en) | 2001-12-10 | 2009-10-13 | Qst Holdings, Inc. | System for adapting device standards after manufacture |
US7215701B2 (en) | 2001-12-12 | 2007-05-08 | Sharad Sambhwani | Low I/O bandwidth method and system for implementing detection and identification of scrambling codes |
US6839812B2 (en) | 2001-12-21 | 2005-01-04 | Intel Corporation | Method and system to cache metadata |
US7403981B2 (en) | 2002-01-04 | 2008-07-22 | Quicksilver Technology, Inc. | Apparatus and method for adaptive multimedia reception and transmission in communication environments |
US7493375B2 (en) | 2002-04-29 | 2009-02-17 | Qst Holding, Llc | Storage and delivery of device features |
US7328414B1 (en) | 2003-05-13 | 2008-02-05 | Qst Holdings, Llc | Method and system for creating and programming an adaptive computing engine |
US7660984B1 (en) | 2003-05-13 | 2010-02-09 | Quicksilver Technology | Method and system for achieving individualized protected space in an operating system |
US6854038B2 (en) * | 2002-06-06 | 2005-02-08 | International Business Machines Corporation | Global status journaling in NVS |
US8108656B2 (en) | 2002-08-29 | 2012-01-31 | Qst Holdings, Llc | Task definition for specifying resource requirements |
US7937591B1 (en) | 2002-10-25 | 2011-05-03 | Qst Holdings, Llc | Method and system for providing a device which can be adapted on an ongoing basis |
US7478031B2 (en) | 2002-11-07 | 2009-01-13 | Qst Holdings, Llc | Method, system and program for developing and scheduling adaptive integrated circuity and corresponding control or configuration information |
US8276135B2 (en) | 2002-11-07 | 2012-09-25 | Qst Holdings Llc | Profiling of software and circuit designs utilizing data operation analyses |
US7225301B2 (en) | 2002-11-22 | 2007-05-29 | Quicksilver Technologies | External memory controller node |
US8126742B2 (en) | 2003-05-09 | 2012-02-28 | Accenture Global Services Limited | Automated assignment of insurable events |
US7609297B2 (en) | 2003-06-25 | 2009-10-27 | Qst Holdings, Inc. | Configurable hardware based digital imaging apparatus |
ATE458222T1 (de) * | 2004-06-08 | 2010-03-15 | Freescale Semiconductor Inc | Aufrechterhaltung der cachespeicherkoherenz zum direkten zugriff (dma), abschluss einer aufgabe, zur synchronisierung |
US7933786B2 (en) | 2005-11-01 | 2011-04-26 | Accenture Global Services Limited | Collaborative intelligent task processor for insurance claims |
US7840537B2 (en) | 2006-12-22 | 2010-11-23 | Commvault Systems, Inc. | System and method for storing redundant information |
US8239351B2 (en) * | 2007-06-07 | 2012-08-07 | Apple Inc. | Methods and systems for managing permissions data |
US8515786B2 (en) | 2008-02-22 | 2013-08-20 | Accenture Global Services Gmbh | Rule generation system adapted for an insurance claim processing system |
US8478769B2 (en) | 2008-02-22 | 2013-07-02 | Accenture Global Services Limited | Conversational question generation system adapted for an insurance claim processing system |
WO2010036754A1 (en) | 2008-09-26 | 2010-04-01 | Commvault Systems, Inc. | Systems and methods for managing single instancing data |
US9015181B2 (en) | 2008-09-26 | 2015-04-21 | Commvault Systems, Inc. | Systems and methods for managing single instancing data |
US8412677B2 (en) | 2008-11-26 | 2013-04-02 | Commvault Systems, Inc. | Systems and methods for byte-level or quasi byte-level single instancing |
US8401996B2 (en) | 2009-03-30 | 2013-03-19 | Commvault Systems, Inc. | Storing a variable number of instances of data objects |
US8578120B2 (en) | 2009-05-22 | 2013-11-05 | Commvault Systems, Inc. | Block-level single instancing |
US20100306234A1 (en) * | 2009-05-28 | 2010-12-02 | Microsoft Corporation | Cache synchronization |
JP5990466B2 (ja) | 2010-01-21 | 2016-09-14 | スビラル・インコーポレーテッド | ストリームに基づく演算を実装するための汎用複数コアシステムのための方法および装置 |
WO2012045023A2 (en) | 2010-09-30 | 2012-04-05 | Commvault Systems, Inc. | Archiving data objects using secondary copies |
WO2013048493A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Memory channel that supports near memory and far memory access |
EP2761466B1 (en) | 2011-09-30 | 2020-08-05 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy |
CN107608910B (zh) | 2011-09-30 | 2021-07-02 | 英特尔公司 | 用于实现具有不同操作模式的多级存储器分级结构的设备和方法 |
CN103946826B (zh) | 2011-09-30 | 2019-05-31 | 英特尔公司 | 用于在公共存储器通道上实现多级存储器层级的设备和方法 |
WO2013084314A1 (ja) * | 2011-12-07 | 2013-06-13 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
WO2013084315A1 (ja) * | 2011-12-07 | 2013-06-13 | 富士通株式会社 | 演算処理装置、及び、演算処理装置の制御方法 |
US9020890B2 (en) | 2012-03-30 | 2015-04-28 | Commvault Systems, Inc. | Smart archiving and data previewing for mobile devices |
US9063864B2 (en) * | 2012-07-16 | 2015-06-23 | Hewlett-Packard Development Company, L.P. | Storing data in presistent hybrid memory |
US9633022B2 (en) | 2012-12-28 | 2017-04-25 | Commvault Systems, Inc. | Backup and restoration for a deduplicated file system |
US10324897B2 (en) | 2014-01-27 | 2019-06-18 | Commvault Systems, Inc. | Techniques for serving archived electronic mail |
US10324914B2 (en) | 2015-05-20 | 2019-06-18 | Commvalut Systems, Inc. | Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57162168A (en) * | 1981-03-30 | 1982-10-05 | Fujitsu Ltd | Memory access control system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3771137A (en) * | 1971-09-10 | 1973-11-06 | Ibm | Memory control in a multipurpose system utilizing a broadcast |
US3845474A (en) * | 1973-11-05 | 1974-10-29 | Honeywell Inf Systems | Cache store clearing operation for multiprocessor mode |
US4156906A (en) * | 1977-11-22 | 1979-05-29 | Honeywell Information Systems Inc. | Buffer store including control apparatus which facilitates the concurrent processing of a plurality of commands |
US4481573A (en) * | 1980-11-17 | 1984-11-06 | Hitachi, Ltd. | Shared virtual address translation unit for a multiprocessor system |
JPS60124754A (ja) * | 1983-12-09 | 1985-07-03 | Fujitsu Ltd | バッファ記憶制御装置 |
-
1985
- 1985-06-28 US US06/750,381 patent/US4713755A/en not_active Expired - Lifetime
-
1986
- 1986-06-06 DE DE8686107713T patent/DE3681985D1/de not_active Expired - Lifetime
- 1986-06-06 EP EP86107713A patent/EP0210384B1/en not_active Expired
- 1986-06-19 CA CA000511962A patent/CA1270579A/en not_active Expired
- 1986-06-27 JP JP61151296A patent/JPH077360B2/ja not_active Expired - Lifetime
-
1992
- 1992-07-15 SG SG723/92A patent/SG72392G/en unknown
- 1992-09-03 HK HK663/92A patent/HK66392A/xx not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57162168A (en) * | 1981-03-30 | 1982-10-05 | Fujitsu Ltd | Memory access control system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63163940A (ja) * | 1986-09-18 | 1988-07-07 | ディジタル イクイプメント コーポレーション | デジタルデータ処理システム |
Also Published As
Publication number | Publication date |
---|---|
US4713755A (en) | 1987-12-15 |
DE3681985D1 (de) | 1991-11-21 |
JPH077360B2 (ja) | 1995-01-30 |
EP0210384A1 (en) | 1987-02-04 |
SG72392G (en) | 1992-10-02 |
EP0210384B1 (en) | 1991-10-16 |
CA1270579A (en) | 1990-06-19 |
HK66392A (en) | 1992-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6263350A (ja) | キヤツシユメモリを具えた情報処理装置 | |
US5809522A (en) | Microprocessor system with process identification tag entries to reduce cache flushing after a context switch | |
US5185694A (en) | Data processing system utilizes block move instruction for burst transferring blocks of data entries where width of data blocks varies | |
US5903911A (en) | Cache-based computer system employing memory control circuit and method for write allocation and data prefetch | |
RU2212704C2 (ru) | Структура совместно используемого кэша для временных и невременных команд | |
US5119485A (en) | Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation | |
JP3239218B2 (ja) | キャッシュ管理システム | |
US5715428A (en) | Apparatus for maintaining multilevel cache hierarchy coherency in a multiprocessor computer system | |
US5603004A (en) | Method for decreasing time penalty resulting from a cache miss in a multi-level cache system | |
EP0762288B1 (en) | Prefetching data cache | |
JP3016575B2 (ja) | 複数キャッシュ・メモリ・アクセス方法 | |
TWI431472B (zh) | 微處理器之可組態快取 | |
US5802574A (en) | Method and apparatus for quickly modifying cache state | |
EP0612013A1 (en) | Combination prefetch buffer and instruction cache cross references to related applications | |
TWI442227B (zh) | 微處理器之可組態快取 | |
JPH0997230A (ja) | データ転送方法及びシステム | |
JP2737820B2 (ja) | メモリアクセス方法およびシステム | |
KR20010062174A (ko) | 다수의 채움 모드를 구비한 캐시 | |
US5926841A (en) | Segment descriptor cache for a processor | |
EP0173909B1 (en) | Look-aside buffer least recently used marker controller | |
WO1997034229A9 (en) | Segment descriptor cache for a processor | |
JPH0743671B2 (ja) | キャッシュ・メモリ制御方式 | |
US7373458B2 (en) | Cache memory system with multiple ports cache memories capable of receiving tagged and untagged requests | |
JPH07121443A (ja) | 情報処理システム及びその動作方法 | |
JPH01288940A (ja) | 論理アドレスキャッシュ制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |