[go: up one dir, main page]

JPH077360B2 - キヤツシユメモリを具えた情報処理装置 - Google Patents

キヤツシユメモリを具えた情報処理装置

Info

Publication number
JPH077360B2
JPH077360B2 JP61151296A JP15129686A JPH077360B2 JP H077360 B2 JPH077360 B2 JP H077360B2 JP 61151296 A JP61151296 A JP 61151296A JP 15129686 A JP15129686 A JP 15129686A JP H077360 B2 JPH077360 B2 JP H077360B2
Authority
JP
Japan
Prior art keywords
instruction
cache memory
data
cache
memory
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.)
Expired - Lifetime
Application number
JP61151296A
Other languages
English (en)
Other versions
JPS6263350A (ja
Inventor
ダブリユー・エス・ウアーレイ・ジユニア
ウイリアム・アール・ブリグ
アレン・バウム
Original Assignee
横河・ヒユ−レツト・パツカ−ド株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 横河・ヒユ−レツト・パツカ−ド株式会社 filed Critical 横河・ヒユ−レツト・パツカ−ド株式会社
Publication of JPS6263350A publication Critical patent/JPS6263350A/ja
Publication of JPH077360B2 publication Critical patent/JPH077360B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3812Instruction prefetching with instruction modification, e.g. store into instruction stream
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0837Cache consistency protocols with software control, e.g. non-cacheable data
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query 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)

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明はキャッシュメモリを具えた情報処理装置に係
り、特にキャッシュメモリ中の情報とメモリ中にまたは
そこから転送される情報との統一性を保証する装置に関
する。
〔従来技術とその問題点〕
現代の大抵のコンピュータシステムは、中央処理装置
(CPU)と主記憶装置とを包んでいる。データを処理す
るための命令を解読し実行することができるCPUの速度
は、命令およびオペランドが主記憶装置からCPUに転送
され得る速度を越えていた。この不適合性により引き起
こされる問題を少くするための1つの試みとして、多く
のコンピュータはCPUと主記憶装置との間にキャッシュ
メモリまたはバッファを使用している。
キャッシュメモリは、小さな、高速のバッファメモリで
あり、CPUによって現在使用中と考えられる主記憶装置
の内容の一部分を一時的に保持するために使用される。
キャッシュメモリの主要な目的は、データまたは命令取
り込みのためのメモリアクセスに必要な実行時間を短縮
することである。キャッシュメモリ内に位置された情報
は、主記憶装置内に位置する情報よりもずっと少ない時
間でアクセスされうる。従って、キャッシュメモリを備
えたCPUにおいては、命令およびオペランドの取り込み
および/またはストアに要する時間を小さくする必要が
ある。そのような装置に対して、キャッシュメモリは、
正に実質的な実行速度の増加をもたらす。
キャッシュメモリはデータの1つまたはそれ以上のワー
ドをもつ多くのブロックから作られており、各データ
は、そのデータが主記憶装置のどのブロックのコピーで
あるかを独特に特定するアドレスタグと関連する。プロ
セッサがメモリ参照を行うたびに、キャッシュメモリは
要求されたデータのコピーを有するかどうかをチェック
する。もしそれを有するならば、キャッシュメモリはそ
のデータを供給し、もし無ければ主記憶装置から該当ブ
ロックを受け取り、キャッシュメモリ中にストアされて
いるブロックのうちの1つと置換え、そしてそのデータ
をプロセッサに供給する。
キャッシュメモリを最適に設計するには次の事を考慮す
る必要がある。
(1) キャッシュメモリ中のメモリ参照対象を見つけ
出す可能性(ヒット率)を最大にすること、 (2) キャッシュメモリ内に実際にある情報をアクセ
スするための時間(アクセスタイム)を最小にするこ
と、 (3) ミスによる遅れを最小にすること、 (4) 主記憶装置を更新するオーバーヘッドを最小に
し、そして、多重キャッシュメモリの無矛盾性を維持す
ること、 の4つである。これらの目的の全ては、費用とパラメー
タ間の相互関係とを考慮して成し遂げられねばならな
い。
CPUが現在のアドレス空間の内容を変更する命令を実行
するとき、それらの変更は最終的に主記憶装置内に反映
されなければならず、キャッシュメモリは単に一時的な
バッファーであるべきである。主記憶装置を更新するた
めには2つの一般的なアプローチがある。即ち、第1の
方法においては、貯蔵物は主記憶装置に直接伝達されう
る(ライト・スルー(write-through)またはストア・
スルー(store-through)と呼ばれる)。第2の方法に
おいては、貯蔵物はキャッシュメモリ内に貯蔵されてい
るデータを初めに変更し、その後主記憶装置内に反映さ
れうる(コピー・バック(copy-back)またはライト・
トゥー(write-to)と呼ばれる)。ライト・スルーとコ
ピー・バックとの間の選択は、密結合された多重プロセ
ッサシステムにおける多重キャッシュメモリ間の無矛盾
性(統一性)を維持するための方法の選択と密接な関係
を有する。
ライト・スルー法の主な欠点は、ライト・スルーが各ス
トア動作に対して主記憶装置へのアクセスを要求すると
いうことである。これは、プロセッサの実行速度を遅く
する比較的遅い主記憶装置のトラフィック負荷に重大な
影響を与える。しかしながら、ライト・スルーが使用さ
れていないときには、主記憶装置がシステムにおける全
ての情報の最新のコピーを常時含んではいないためキャ
ッシュメモリとの無矛盾性の問題が発生する。
主記憶装置と周辺装置との間の入力および出力動作は主
記憶装置中の情報を参照する追加的な参照源であり、こ
の参照源はキャッシュメモリの動作と調和しなければな
らない。転送される情報に対して、最新の値を、出力が
参照の流れに要求することは重要である。同様に、入力
データが記憶装置中のラインの全てのコピーにおいて直
ちに反映されることがまた重要である。
この問題を解決するために、いくつかの方法がなされて
きた。1つはI/Oの流れをキャッシュメモリそれ自身を
通して導くことである。しかし、この方法は、単一のプ
ロセッサシステムに限定される。さらに、この方法は、
プロセッサがキャッシュメモリを必要とするときキャッ
シュメモリを動作中に維持することと、プロセッサによ
って現在使用されている情報ブロックをI/Oストリーム
のブロックと置き換えることとの両方によって、プロセ
ッサによりキャッシュメモリの使用に重大に干渉する。
したがって、この方法は、キャッシュメモリアクセスタ
イムとヒット率との両方を低下させる。他の方法は、ラ
イト・スルー方法を使用し、そして全ての書き込みを一
斉に行ない、よってどこであっても見出された目的ライ
ンを更新するかまたは無効にすることである。この方法
はキャッシュメモリの代りに主記憶装置にアクセスする
けれども、それは上述したライト・スルー方法の欠点を
考える。加えて、このハードウェア集約的な解決は、実
行するためには費用がかかりまた、キャッシュメモリに
無効化チェックを要求するので、キャッシュメモリアク
セスサイクル時間を増加させる。これは多重プロセッサ
システムにおいて特に不利である。なぜならば、システ
ム中のプロセッサがストア動作を実行するとき常に、シ
ステムにおける全てのキャッシュメモリは、サイクルを
無効ルックアップに引き渡すように強制されるからであ
る。
他の方法は、登録簿(索引)を使用し、各データブロッ
クの全てのコピーの状態と位置との軌跡を維持すること
でる。登録簿は、主記憶装置内に中心化されるかまたは
キャッシュメモリ、I/Oチャネルおよび主記憶装置間に
分配される。このシステムは、ある時点において、ただ
1つのプロセッサまたはI/Oチャネルのみがあるデータ
のプロセッサを変更できることを保証する。このこと
は、AFPIS Proc.,N.C.C.,Vol.45,ページ749-53(1976)
に述べられている。登録制御システムの主な欠点は、そ
れが要求する追加的ハードウェアの経費と複雑さであ
る。
最後に、もし例えば停電のためにプロセッサが役に立た
なくなったとき、メモリシステムは、復帰が容易になさ
れるように、情報の最新のコピーが主記憶装置に貯蔵さ
れていることを保証しなければならない。
〔発明の効果〕
本発明の目的は、キャッシュメモリを有するコンピュー
タシステムにおけるメモリの保全性と無矛盾性(統一
性)を維持するためのシステムを提供し、保全性を維持
する負担をソフトウェアに置き、そのハードウェアを比
較的に簡単、且つ安価、迅速であるようにすることであ
る。
本発明の他の目的は、キャッシュメモリの動作上の保全
性と無矛盾性とを維持するためのオーバーヘッドを最小
限にし、もってキャッシュアクセスタイムおよびミス比
率を最小限にすることである。
〔発明の概要〕
本発明のこれらの目的は、キャッシュメモリ中における
データブロックの除去または無効化を制御する明示的命
令を含む命令セットを有するコンピュータにおいて成し
遂げられる。キャッシュメモリ中の貯蔵(記憶)された
各データブロックは、2個の1ビットステータスフラ
グ、即ちそのブロックが最新の情報を包含しているかど
うかを示すための有効ビットと、ブロック中のデータが
キャッシュメモリに入つた後、プロセッサによつて記憶
されたかどうかを示すターティビット(dirty bit)と
を有する。前記命令セットは、特定のアドレスを持つブ
ロックをキャッシュメモリから除去するそしてもし必要
ならばそれを主記憶装置に書き戻すための命令と、主記
憶装置に書き戻すことなしにブロックを除去するための
命令と、動作中のキャッシュメモリ動作が成し遂げられ
るまで命令の実行を停止するための命令とプロセッサの
動作不良の場合に、キャッシュメモリ中の全ての「ダー
ティー」ブロックを効率的に除去しそして主記憶装置に
書き戻すための命令とを含む。オペレーティングシステ
ムソフトウェアは、これらの命令を、キャッシュメモリ
中に矛盾や古いデータが生じる事になるかもしれない状
態になったときに呼び出す。
〔実施例〕
第1図は本発明を使用できるコンピュータシステムのブ
ロック図である。プロセッサ11は、しばしばCPUと呼ば
れ、メモリバス17を経由して主記憶装置13および入力/
出力チャネル15に連絡する。プロセッサ11は、プロセッ
サ19を含み、これはデータを処理するために命令を取り
込み、解読しそして実行する。データおよび命令は主記
憶装置13に貯蔵され、プログラムまたはルーチンの実行
中にこれらデータおよび命令が要求されたときプロセッ
サ19に転送され、そして前記プログラムまたはルーチン
が完了した後に主記憶装置13に戻される。
主記憶装置13へのアクセスは、プロセッサ19の動作と較
べて比較的遅い。もし、命令またはデータが必要とされ
る都度、主記憶装置のアクセスが完了するまでプロセッ
サ19が待機しなければならないならばプロセッサ19の実
行速度は非常に低下する。プロセッサが必要とするもの
にもっと良くマッチするアクセスタイムを提供するた
め、バッファメモリとも呼ばれるキャッシュメモリ21
は、限定された個数の命令およびデータを貯蔵する。キ
ャッシュメモリ21は主記憶装置13よりもずっと小さいた
め、それはより高いアクセス速度を有するように経済的
に作られ得る。
構成要素ユニットのハードウエアではなくコンピュータ
のオペレーティングシステムソフトウエアがメモリの保
全性及び無矛盾性に対する責任を負っている。これを成
し遂るために、オペレーティッグシステムは、コンピュ
ータの命令セット中に包含された明示的な制御命令を呼
出す。
本発明のシステムをより完全に説明するためには、キャ
ッシュメモリ21の構造の理解が必要である。キャッシュ
メモリ21におけるエントリ配列が第2図に示されてい
る。キャッシュメモリ21にはインデクス31でラベル付け
されたエントリの配列が設けられている。各エントリは
データ33とこのデータのコピーの主記憶中でのロケーシ
ョンの物理ページ番号に対応する物理ページダグ35をス
トアする。
キャッシュメモリ中に貯蔵されたデータ33および35に加
えて、それぞれのブロックはそれと関連して「有効」お
よび「ダーティー」の2個の1ビットステータスフラグ
を有する。もしそのブロックが有効データすなわち最新
のデータを有するときまたそのときに限って、有効ビッ
ト37がセットされる。
もしデータがキャッシュメモリ中に持ち込まれた後、プ
ロセッサがそのアドレスへの記憶を行うならば、ダーテ
ィー・ビット39がセットされる。プロセッサ19がストア
する都度主記憶装置13を更新する(つまりライトスルー
方式)のでないのならば、ブロックに対し、キャッシュ
メモリは主記憶装置が有するよりも最新のデータを有す
る。ダーティー・ビット39は、ブロックがキャッシュメ
モリからスワップアウトされるとき、キャッシュメモリ
21におけるそのブロックのデータを主記憶装置13に戻し
て書き込むことによって主記憶装置13が更新されなけれ
ばならないことを示す働きをする。
キャッシュメモリ21はまた、第3図に示すように、一方
がデータ用で他方が命令用の2つの領域に分割すること
もできる。多くのコンピュータアーキテクチャではこの
分割キャッシュメモリは性能上有利である。命令キャッ
シュメモリ41とデータキャッシュメモリ51との両方は、
上に述べられた一体のキャッシュメモリの構造と同様な
構造を有する。命令キャッシュメモリ41はインデクス43
でラベル付けされたロケーションの配列を有する。各ロ
ケーションは物理ページタグ45と命令46と有効ビット47
が入っているエントリをストアする。データキャッシュ
51はインデクス53でラベル付けされたロケーションの配
列を有する。各ロケーションは物理タグ55とデータのブ
ロック56と有効ビット57とダーティビット58が入ってい
るエントリをストアする。このキャッシュ構成はある種
の利点を考えるが、一方では制御命令を追加する必要も
ある。具体的に言えば、命令は書換えられる事もあるし
また同じ命令の写がキャッシュの2つの区域の両方に現
れる事もある。従って、オペレーティングシステムは無
矛盾性を保証するために命令キャッシュ41とデータキャ
ッシュ51からブロックを主記憶装置13へフラッシュ(fl
ush)つまり掃き出さなければならない。
オペレーティングシステムは以下の6つの命令を使用し
て必要なメモリメンテナンス機能を実行する。これらの
命令は、データキャッシュ・フラッシュ、キャッシュ・
パージ(purge)、命令キャッシュ・フラッシュ、デー
タキャッシュエントリ・フラッシュ、命令キャッシュエ
ントリ・フラッシュ、およびキャッシュメモリ同期の6
つである。
データキャッシュ・フラッシュ(FDC)命令は、そのデ
ータアドレスによってデータキャッシュ中でヒットが起
こった場合、そのアドレスされたデータキャッシュの有
効ビットを「無効」にセットする。与えられたアドレス
のデータブロックは除去され、またダーティビットがセ
ットされているならば主記憶装置に書き戻される。
データキャッキュ・パージは(PDC)命令は、そのデー
タアドレスによってデータキャッシュ中でビットが起こ
った場合、アドレスされたデータキャッシュの有効ビッ
トを「無効」にセットする。与えられたアドレスのデー
タのブロックはキャッシュから除去され、書き戻しは実
行されない。
命令キャッシュ・フラッシュ(FIC)命令は、そのアド
レスによって命令キャッシュでヒットが起こった場合、
アドレスされた命令キャッシュの有効ビットを「無効」
にセットする。与えられたアドレスの命令はキャッシュ
から除去される。
データキャッシュエントリ・フラッシュ(FDCE)命令は
特殊なフラッシュ命令であり、たとえば、プロセッサの
動作不良の場合などにキャッシュメモリ全体をフラッシ
ュさせるためにルーチン中において使用され得る。この
ルーチンはプロセッサの具体的な実現の態様によって変
わる。多数セットキャッシュメモリに対して、該ルーチ
ンは、各セットにつき1度ずつキャッシュメモリのイン
デクス範囲を走査して処理を進める。FDCE命令は、キャ
ッシュインデクスでヒットが起ころうと起こるまいと、
データブロックをフラッシュし、そして指定されたデー
タキャッシュメモリの有効ビットを「無効」にセットす
る。すなわち、当該ブロックが有効かつダーティである
場合またその場合に限ってキャッシュタグを要求された
アドレスに比較することなく、該ブロックは主記憶装置
に書き戻される。
命令キャッシュエントリ・フラッシュ(FICE)命令は、
FDCE命令がデータキャッシュメモリにおいて成したと同
じ機能を命令キャッシュメモリにおいて行う。
キャッシュメモリ同期(SYNC)命令は、命令キャッシュ
メモリおよびデータキャッシュメモリの全ての動作が完
了するまでプロセッサによる命令の実行を停止する。こ
れにより、データの保全性を保証するために要求される
キャッシュメモリ動作の完了まで、データのあらゆる参
照動作が待機されることを保証する。
本システムの動作は、次の具体的によって説明される。
オペーレーティイングシステムは、プロセッサおよびI/
Oチャネル15に取り付けられた周辺装置による主記憶装
置へのアクセスを制御する。
データが外部装置からI/Oチャネル15を介して主記憶装
置13に読み込まれるべきとき、オペレーティングシステ
ムは、そこへまたはそこからデータが転送されるアドレ
スがデータキャッシュメモリまたは命令キャッシュメモ
リ中に写像された区域に重ならないことを保証しなけれ
ばならない。I/Oが実行される前に、キャッシュメモリ
からあらゆる新鮮でないデータをクリアするために、オ
ペレーティングシステムは、それぞれのキャッシュメモ
リに対して、入力データが写像されないようとしている
アドレス範囲にわたってFDC命令およびFIC命令を一斉に
与える。
データが主記憶装置からI/Oチャネル15を介して外部装
置に読み込まれるべきとき、オペレーティングシステム
は最も最新のデータが転送されるように、そこからデー
タが転送されるアドレスがデータキャッシュメモリ中に
写像されている区域に重らないことを保証しなければな
らない。プロセッサにより変更されたキャッシュメモリ
中におけるデータによって主記憶装置を更新するため
に、オペーレーティングシステムは、それぞれのキャッ
シュメモリに対して、そこから出力データが読出される
べきアドレス範囲にわたって、FDC命令を一斉に与え
る。FDC命令は、キャッシュメモリに対し、どのような
ダーティブロックも主記憶装置に書き戻すようにさせ
る。
仮想メモリシステムにおいて、あるページまたはセグメ
ントが主記憶装置13からI/Oチャネル15に連結された周
辺メモリ(たとえばディスクメモリー)に移動されると
きは必ず、そのページまたはセグメントからのデータは
全てのキャッシュメモリからのフラッシュされなければ
ならない。オペレーティングシステムは、キャッシュメ
モリに対して、これらページまたはセグメントに包含さ
れたアドレスの範囲にわたって、FDC命令およびFIC命令
を一斉に与える。たとえばプログラム終了などのために
ページまたはセグメントが破壊されるとき、そのデータ
は貯蔵される必要はなく、キャッシュメモリから除去さ
れなければならない。この場合、オペレーティングシス
テムはPDC命令およびFIC命令を使用するページまたはセ
グメントが作り出されるかまたは周辺メモリから持ち込
まれるときには、一切のフラッシュまたはパージ動作は
必要ではない。なぜならば、そのページまたはセグメン
トがマッピングされるアドレスは、新たなページまたは
セグメントのための場所を確保するために以前のページ
またはセグメントを除去する過程ですでにフラッシュま
たはパージされているからである。
自己修飾コードを持つプログラムに対処するためには、
オペレーティングシステムは変更された命令の変更前の
もののコピーを全てキャッシュメモリから除去し、変更
後の新しい命令だけが実行されることを保証しなければ
ならない。命令の置換えがデータキャッシュ51上で行わ
れた後、オペレーティングシステムは、FDC命令を使用
して書換えられたコピーを主記憶装置に送り込み、FIC
命令を使用して、命令キャッシュ41にこの命令の書換前
のコピーがあればそれを皆除去し、次にSYNC命令を使用
して、FDC命令及びFIC命令が完了するまでは書換えられ
た命令が実行されない事を保証する。
たとえば停電によって、プロセッサが動作不良となった
場合には、キャッシュメモリ中に残留する変更されたデ
ータブロックは、主記憶装置に書き戻されなければなら
ない。オペレーティングシステムは、FDCE命令およびFI
CE命令を使用し、最小の時間で上記の事を成し遂げるこ
とができる。FDCE命令およびFICE命令を使用するルーチ
ンはキャッシュメモリを迅速にフラッシュする。なぜな
らば、ずっと大きなアドレス空間を使用するのではな
く、キャッシュのインデクス範囲内を走査して処理を進
めるからである。このルーチンがキャッシュ内を走査し
ていくとき、有効かつダーティなブロックだけが主記憶
装置13へ書き戻される。
〔発明の効果〕
以上の説明より明らかなように、本発明によれば、複雑
なハードウェアを使用することなく、キャッシュメモリ
と主記憶装置間の無矛盾性(統一性)を保つことができ
る。
【図面の簡単な説明】
第1図は本発明を使用できるコンピュータシステムのブ
ロック図、第2図は本発明によるキャッシュメモリを具
えた情報処理装置のキャッシュメモリの説明図、第3図
は本発明の他の実施例によるキャッシュメモリを具えた
情報処理装置のキャッシュメモリの説明図である。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】以下の(a)ないし(c)を設けたことを
    特徴とするキャッシュメモリを具えた情報処理装置: (a) 複数の階層を有し、前記階層はキャッシュメモ
    リと主記憶装置とを含み、前記主記憶装置には入出力装
    置からのデータ書き込み/データ読出しが行われるメモ
    リシステム; (b) 前記複数の階層間でのブロック転送を制御する
    命令セットを実行することのできるプロセッサ; (c) 入出力装置からのデータ書き込みに先立って、
    当該データの書き込みが行われるアドレス範囲の前記主
    記憶装置のコピーを前記キャッシュメモリから除去する
    命令を実行するオペレーティングシステム。
  2. 【請求項2】前記キャッシュメモリはコピー・バック方
    式で動作し、 前記オペレーティングシステムは、前記入出力装置によ
    るデータの読出しに先立って、当該データの読出しが行
    われるアドレス範囲を前記キャッシュメモリから前記主
    記憶装置に書き戻させる命令を実行する ことを特徴とする特許請求の範囲第1項記載の情報処理
    装置。
  3. 【請求項3】前記キャッシュメモリは命令キャッシュと
    データキャッシュに分けられ、 前記データキャッシュ中に取込まれた命令が書換えられ
    た場合には、前記オペレーティングシステムは前記書換
    えられた命令が含まれているブロックを前記主記憶装置
    へ書戻す命令と、前記命令キャッシュに当該命令を含む
    ブロックが記憶されていればそれを除去する命令を実行
    する ことを特徴とする特許請求の範囲第2項記載の情報処理
    装置。
  4. 【請求項4】前記キャッシュメモリはコピー・バック方
    式で動作し、 前記プロセッサの異常時には、前記オペレーティングシ
    ステムは前記キャッシュメモリの前記主記憶装置への書
    戻しを行なう命令を実行する ことを特徴とする特許請求の範囲第1項記載の情報処理
    装置。
JP61151296A 1985-06-28 1986-06-27 キヤツシユメモリを具えた情報処理装置 Expired - Lifetime JPH077360B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/750,381 US4713755A (en) 1985-06-28 1985-06-28 Cache memory consistency control with explicit software instructions
US750381 1985-06-28

Publications (2)

Publication Number Publication Date
JPS6263350A JPS6263350A (ja) 1987-03-20
JPH077360B2 true 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)

Families Citing this family (122)

* Cited by examiner, † Cited by third party
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
US4814981A (en) * 1986-09-18 1989-03-21 Digital Equipment Corporation Cache invalidate protocol for digital data processing system
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
DE68917326T2 (de) * 1988-01-20 1995-03-02 Advanced Micro Devices Inc Organisation eines integrierten Cachespeichers zur flexiblen Anwendung zur Unterstützung von Multiprozessor-Operationen.
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
US5446849A (en) * 1990-11-30 1995-08-29 Kabushiki Kaisha Toshiba Electronic computer which executes squash branching
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
US5414827A (en) * 1991-12-19 1995-05-09 Opti, Inc. Automatic cache flush
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
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 株式会社日立製作所 並列計算機
US5664149A (en) * 1992-11-13 1997-09-02 Cyrix Corporation Coherency for write-back cache in a system designed for write-through cache using an export/invalidate protocol
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
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
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
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
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
US7979382B2 (en) 1999-05-04 2011-07-12 Accenture Global Services Limited Component based information linking during claim processing
US7617240B2 (en) 1999-05-04 2009-11-10 Accenture Llp Component based task handling 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
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
US20040133745A1 (en) * 2002-10-28 2004-07-08 Quicksilver Technology, Inc. Adaptable datapath for a digital processing system
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
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
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
US8412915B2 (en) 2001-11-30 2013-04-02 Altera Corporation Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous 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
US7660984B1 (en) 2003-05-13 2010-02-09 Quicksilver Technology Method and system for achieving individualized protected space in an operating system
US7328414B1 (en) 2003-05-13 2008-02-05 Qst Holdings, Llc Method and system for creating and programming an adaptive computing engine
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
US9015181B2 (en) 2008-09-26 2015-04-21 Commvault Systems, Inc. Systems and methods for managing single instancing data
WO2010036754A1 (en) 2008-09-26 2010-04-01 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 スビラル・インコーポレーテッド ストリームに基づく演算を実装するための汎用複数コアシステムのための方法および装置
US8935492B2 (en) 2010-09-30 2015-01-13 Commvault Systems, Inc. Archiving data objects using secondary copies
CN103946811B (zh) 2011-09-30 2017-08-11 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
US9342453B2 (en) 2011-09-30 2016-05-17 Intel Corporation Memory channel that supports near memory and far memory access
CN103946812B (zh) 2011-09-30 2017-06-09 英特尔公司 用于实现多级别存储器分级体系的设备和方法
EP2761480A4 (en) 2011-09-30 2015-06-24 Intel Corp APPARATUS AND METHOD FOR IMPLEMENTING MULTINIVE MEMORY HIERARCHY ON COMMON MEMORY CHANNELS
WO2013084315A1 (ja) * 2011-12-07 2013-06-13 富士通株式会社 演算処理装置、及び、演算処理装置の制御方法
WO2013084314A1 (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

Family Cites Families (6)

* Cited by examiner, † Cited by third party
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
JPS57162168A (en) * 1981-03-30 1982-10-05 Fujitsu Ltd Memory access control system
JPS60124754A (ja) * 1983-12-09 1985-07-03 Fujitsu Ltd バッファ記憶制御装置

Also Published As

Publication number Publication date
DE3681985D1 (de) 1991-11-21
EP0210384A1 (en) 1987-02-04
EP0210384B1 (en) 1991-10-16
HK66392A (en) 1992-09-11
US4713755A (en) 1987-12-15
JPS6263350A (ja) 1987-03-20
SG72392G (en) 1992-10-02
CA1270579A (en) 1990-06-19

Similar Documents

Publication Publication Date Title
JPH077360B2 (ja) キヤツシユメモリを具えた情報処理装置
US5029070A (en) Coherent cache structures and methods
US5155824A (en) System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
US5119485A (en) Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
US6631447B1 (en) Multiprocessor system having controller for controlling the number of processors for which cache coherency must be guaranteed
US5802572A (en) Write-back cache having sub-line size coherency granularity and method for maintaining coherency within a write-back cache
JP3067112B2 (ja) 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法
CN1617113B (zh) 分配虚拟内存的方法、存储控制器和计算机系统
US5450563A (en) Storage protection keys in two level cache system
US6418515B1 (en) Cache flush unit
JPH03217963A (ja) マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法
KR19980079433A (ko) 비포함 캐쉬 메모리 계층 구조에서 사용하기 위한 캐쉬 일관성 메카니즘 구현 방법 및 시스템
JPH05210585A (ja) キャッシュ管理システム
JPH0364893B2 (ja)
JPH0997214A (ja) 補助プロセッサのためのアドレス変換を含む情報処理システム
JPH09114665A (ja) 記憶装置と補助プロセッサ間のコマンド及びデータ転送方法及び情報処理システム
US5909697A (en) Reducing cache misses by snarfing writebacks in non-inclusive memory systems
JPH0340046A (ja) キャッシュメモリ制御方式および情報処理装置
US5761724A (en) Write-invalidate cache system for a split transaction bus based shared memory multiprocessor
JP3295436B2 (ja) マイクロプロセッサキャッシュの一貫性
US5926841A (en) Segment descriptor cache for a processor
JPH0467242A (ja) プロセッサおよびそのキャッシュメモリ制御方法
US6256710B1 (en) Cache management during cache inhibited transactions for increasing cache efficiency
US5895486A (en) Method and system for selectively invalidating cache lines during multiple word store operations for memory coherence
JP2001249846A (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