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
Application number
JP61151296A
Other languages
English (en)
Other versions
JPH077360B2 (ja
Inventor
Esu Uaarei Jiyunia Daburiyuu
ダブリユー・エス・ウアーレイ・ジユニア
Aaru Burigu Uiriamu
ウイリアム・アール・ブリグ
Baumu Aren
アレン・バウム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Japan Inc
Original Assignee
Yokogawa Hewlett Packard Ltd
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 Yokogawa Hewlett Packard Ltd filed Critical Yokogawa Hewlett Packard Ltd
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; CALCULATING OR 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, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3812Instruction prefetching with instruction modification, e.g. store into instruction stream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明はキャッシュメモリを具えた情報処理装置に係り
、特にキャッシュメモリ中の情報とメモリ中にまたはそ
こから転送される情報との統一性を保証する装置に関す
る。
〔従来技術とその問題点〕
現代の大抵のコンピュータシステムは、中央処理装置(
CPU)と主記憶装置とを包んでいる。データを処理す
るための命令を解読し実行することができるCPUの速
度は、命令およびオペランドが主記憶装置からCPUに
転送され得る速度を越えていた。
この不適合性により引き起こされる問題を少くするため
の1つの試みとして、多くのコンピュータはCPUと主
記憶装置との間にキャッシュメモリまたはバッファを使
用している。
キャッシュメモリは、小さな、高速のバッファメモリで
あり、CPUによって現在使用中と考えられる主記憶装
置の内容の一部分を一時的に保持するために使用される
。キャッシュメモリの主要な目的は、データまたは命令
取り込みのためのメモリアクセスに必要な実行時間を短
縮することである。キャッシュメモリ内に位置された情
報は、主記憶装置内に位置する情報よりもずっと少ない
時間でアクセスされうる。従って、キャッシュメモリを
備えたCPUにおいては、命令およびオペランドの取り
込みおよび/またはストアに要する時間を小さくする必
要がある。そのような装置に対して、キャッシュメモリ
は、正に実質的な実行速度の増加をもたらす。
キャッシュメモリはデータの1つまたはそれ以上のワー
ドをもつ多くのブロックから作られており、各データは
、そのデータが主記憶装置のどのブロックのコピーであ
るかを独特に特定するアドレスタグと関連する。プロセ
ッサがメモリ参照を行うたびに、キャッシュメモリは要
求されたデータのコピーを有するかどうかをチェックす
る。もしそれを有するならば、キャッシュメモリはその
データを供給し、もし無ければ主記憶装置から該当ブロ
ックを受は取り、キャッシュメモリ中にストアされてい
るブロックのうちの1つと置換え、そしてそのデータを
プロセッサに供給する。
キャッシュメモリを最適に設計するには次の事を考慮す
る必要がある。
(1)キャッシュメモリ中のメモリ参照対果を見っけ出
す可能性(ヒツト率)を最大にすること、(2)  キ
ャッシュメモリ内に実際にある情報をアクセスするため
の時間(アクセスタイム)を最小にすること、 (3)  ミスによる遅れを最小にすること、(4)主
記憶装置を更新するオーバーヘッドを最小にし、そして
、多重キャッシュメモリの無矛盾性を維持すること、 の4つである。これらの目的の全ては、費用とパラメー
タ間の相互関係とを考慮して成し遂げられねばならない
CPUが現在のアドレス空間の内容を変更する命令を実
行するとき、それらの変更は最終的に主記憶装置内に反
映されなければならず、キャッシュメモリは単に一時的
なバッファーであるべきである。主記憶装置を更新する
ためには2つの一般的なアプローチがある。即ち、第1
の方法においては、貯蔵物は主記憶装置に直接伝達され
うる(ライト・スルー(write−through)
またはストア・スルー(store−through)
と呼ばれる)。
第2の方法においては、貯蔵物はキャッシュメモリ内に
貯蔵されているデータを初めに変更し、その後に主記憶
装置内に反映されうる(コピー・バック(c o p 
y −b a c k)またはライト・トウー(wri
te−to)と呼ばれる)。ライト・スルーとコピー・
バックとの間の選択は、密結合された多重プロセッサシ
ステムにおける多重キャッシュメモリ間の無矛盾性(統
一性)を維持するため′の方法の選択と密接な関係を有
する。
ライト・スルー法の主な欠点は、ライト・スルーが各ス
トア動作に対して主記憶装置へのアクセスを要求すると
いうことである。これは、プロセッサの実行速度を遅く
する比較的遅い主記憶装置のトラフィック負荷に重大な
影響を与える。しかしながら、ライト・スルーが使用さ
れないときには、主記憶装置がシステムにおける全ての
情報の最新のコピーを常時含んではいないためキャッシ
ュメモリとの無矛盾性の問題が発生する。
主記憶装置と周辺装置との間の入力および出力動作は主
記憶装置中の情報を参照する追加的な参照源であり、こ
の参照源はキャッシュメモリの動作と調和しなければな
らない。転送される情報に対して一最新の値を、出力が
参照の流れに要求することは重要である。同様に、入力
データが記憶装置中のラインの全てのコピーにおいて直
ちに反映されることがまた重要である。
この問題を解決するために、いくつかの方法がなされて
きた。1つはIloの流れをキャッシュメモリそれ自身
を通して導くことである。しかし、この方法は、単一の
プロセッサシステムに限定される。
さらに、この方法は、プロセッサがキャッシュメモリを
必要とするときキャッシュメモリを動作中に維持するこ
とと、プロセッサによって現在使用されている情報ブロ
ックをI10ストリームのブロックと置き換えることと
の両方によって、プロセッサによるキャッシュメモリの
使用に重大に干渉する。したがって、この方法は、キャ
ッシュメモリアクセスタイムとヒツト率との両方を低下
させる。他の方法は、ライト・スル一方法を使用し、そ
して全ての書き込みを一斉に行ない、よってどこであっ
ても見出された目的ラインを更新するかまたは無効にす
ることである。この方法はキャッシュメモリの代りに主
記憶装置にアクセスするけれども、それは上述したライ
ト・スル一方法の欠点を与える。加えて、このハードウ
ェア集約的な解決は、実行するためには費用がかかりま
た、キャッシュメモリに無効化チェックを要求するので
、キャッシュメモリアクセスサイクル時間を増加させる
。これは多重プロセッサシステムにおいて特に不利であ
る。なぜならば、システム中のプロセッサがストア動作
を実行するとき常に、システムにおける全てのキャッシ
ュメモリは、サイクルを無効ルックアップに引き渡すよ
うに強制されるからである。
他の方法は、登録簿(索引)を使用し、各データブロッ
クの全てのコピーの状態と位置との軌跡を維持すること
である。登録簿は、主記憶装置内に中心化されるかまた
はキャッシュメモリ、I10チャネルおよび主記憶装置
間に分配される。このシステムは、ある時点において、
ただ1つのプロセッサまたはI10チャネルのみがある
データのブロックを変更できることを保証する。このこ
とは、AFP I 5Proc、、N、C,C,、Vo
 1.45.ページ749−53 (1976)に述べ
られている。登録簿制御システムの主な欠点は、それが
要求する追加的ハードウェアの経費と複雑さである。
最後に、もし例えば停電のためにプロセッサが役に立た
なくなったとき、メモリシステムは、復帰が容易になさ
れるように、情報の最新のコピーが主記憶装置に貯蔵さ
れていることを保証しなければならない。
〔発明の目的〕
本発明の目的は、キャッシュメモリを有するコンピュー
タシステムにおけるメモリの保全性と無矛盾性(統一性
)を維持するためのシステムを提供し、保全性を維持す
る負担をソフトウェアに置き、そのハードウェアを比較
的に簡単、且つ安価、迅速であるようにすることである
本発明の他の目的は、キャッシュメモリの動作上の保全
性と無矛盾性とを維持するためのオーバーヘッドを最小
限にし、もってキャッシュアクセスタイムおよびミス比
率を最小限にすることである。
〔発明の概要〕
本発明のこれらの目的は、キャッシュメモリ中における
データブロックの除去または無効化を制御する明示的命
令を含む命令セットを有するコンピュータにおいて成し
遂げられる。キャッシュメモリ中の貯蔵(記憶)された
各データブロックは、211の1ビツトステータスフラ
グ、既ちそのブロックが最新のth報を包含しているか
どうかを示すための有効なビットと、ブロック中のデー
タがキャッシュメモリに入った後、プロセッサによって
記憶されたかどうかを示すダーティピット(dirty
  bit)とを有する。#1記命令セットは、特定の
アドレスを持つブロックをキャッシュメモリから取り出
しそしてもし必要ならばそれを主記憶装置に戻して書き
込むための命令と、主記憶装置に戻して書き込むことな
しにブロックを取り出すための命令と、動作中のキャッ
シュメモリ動作が成し遂げられるまで命令の実行を停止
するための命令とプロセッサの動作不能の場合に、キャ
ッシュメモリ中の全ての「ダーティ−」ブロックを効率
的に取出しそして主記憶装置に戻して書き込むための命
令とを含む。オペレーティングシステムソフトウェアは
、これらの命令を、キャッシュメモリ中に矛盾や古いデ
ータが生じた状態において呼出す。
〔実施例〕
第1図は本発明を使用できるコンピュータシステムのブ
ロック図である。プロセッサ11は、しばしばCPUと
呼ばれ、メモリバス17を経由して主記憶装置13およ
び入力/出力チャネル15に連絡する。
プロセッサ11は、プロセッサ19を含み、これはデー
タを処理するために命令を取り込み、解読しそして実行
する。データおよび命令は主記憶装置13に貯蔵され、
プログラムまたはルーチンの実行中にこれらデータおよ
び命令が要求されたときプロセッサ19に転送され、そ
して前記プログラムまたはルーチンが完成された後に主
記憶装置13に戻される6主記憶装置13へのアクセス
は、プロセッサ19の動作と較べて比較的遅い。もし、
命令またはデータが必要とれる都度、主記憶装置のアク
セスが完了するまでプロセッサ19の動作を待機せねば
ならないならばプロセッサ19の実行速度は非常に低下
する。プロセッサにおける必要性に非常にマツチするア
クセスタイムを提供するためには、バッファメモリとも
呼ばれるキャッシュメモリ21は、限定された個数の命
令およびデータを貯蔵する。キャッシュメ“モリ21は
主記憶装置13よりもずっと小さいため、それはより高
いアクセス速度を有するように経済的に作られ得る。
コンピュータのためのオペレーティングシステムソフト
ウェアは、構成要素ユニットのハードウェアよりむしろ
、メモリの保全性および無矛盾性を維持する責を負う。
これを成し遂るために、オペレーティングシステムは、
コンピュータの命令セット中に包含された明示的な制御
命令を呼出す。
本発明のシステムをより完全に説明するためには、キャ
ッシュメモリ21の構造の理解が必要である。
キャッシュメモリ21におけるエントリ配列が第2図に
示されている。キャッシュメモリ21は、配列されたエ
ントリ位置31を有する。このエントリ位置には、デー
タ33と物理的ページタグ35とを包む。
物理的ページタグ35は、主記憶装置中のデータのコピ
ーの位置の物理的ページ番号に対応する。
キャッシュメモリ中に貯蔵されたデータ33および35
に加えて、それぞれのブロックはそれと関連して「有効
」および「ダーティ−」の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とから構成される
エントリを貯蔵する。このキャッシュメモリ構成はある
利益を提供するが、それは別の制御命令をも要求する。
特に、命令は変更されても良く、またコピーは次にキャ
ッシュメモリの両方の区域に現れても良い。よって、オ
ペレーティングシステムは無矛盾性を保証するために、
命令キャッシュメモリ41からまたデータキャッシュメ
モリ51がらブロックを主記憶装置1,3に戻し てフラッシュ(filush)させなければならない。
オペレーティングシステムは以下の6つの命令を使用し
て必要なメモリメンテナンス機能を実行する。
これら命令は、データキャッシュ・フラッシュ、キャッ
シュ・パージ(purge)、命令キャッシュ・フラッ
シュ、データキャッシュエントリ・フランシュ、命令キ
ャッシュエントリ・フラッシュ、およびキャッシュメモ
リ同期の6つである。
データキャッシュ・フラッシュ(FDC)命令は、  
 ′データアドレスがデータキャッシュメモリをヒツト
するとき、その指定されたデータキャッシュメモリの有
効ビットを「無効」にセットする。与えられたアドレス
におけるデータブロックは、もしダーティ−ビットがセ
ットされているならば、キャッシュメモリから取出され
そして、主記憶装置に戻して書き込まれる。
データキャッシュ・パージは(PDC)命令は。
データアドレスがキャッシュメモリをヒツトするとき、
その指定されたデータキャッシュメモリの有効ビットを
「無効」にセットする。指定されたアドレスにおけるデ
ータブロックはキャッシュメモリから取り出され、主記
憶装置への書き戻しは一切実行されない。
命令キャッシュ・フラッシュ(F I C)命令は、ア
ドレスがキャッシュメモリをセットするとき、指定され
た命令キャッシュメモリの有効ビットを「無効」にセッ
トする。その指定されたアドレスにおける命令は、キャ
ッシュメモリから取り出される。
データキャッシュエントリ・フラッシュ(FDCE)命
令は特殊なフラッシュ命令であり、たとえば、プロセッ
サの動作不能の場合などにキャッシュメモリをフラッシ
ュさせるためにルーチン中において使用され得る。この
ルーチンは、実行従属である。多数セットキャッシュメ
モリに対して、該ルーチンは、それぞれのセットのため
に一度ずつ、キャッシュメ人 そりのインデッタi囲を通して進む。FDCE命令は、
キャッシュインデックスにおけるビットがあろうとなか
ろうと、データブロックをフラッシュし、そして指定さ
れたデータキャッシュメモリの有効ビットを「無効」に
セットする。すなわち、もし該当ブロックが有効および
ダーティ−であるときだけ、キャッシュタグを要求され
たアドレスに比較することなく、該ブロックは主記憶装
置に戻して書き込まれる。
命令キャッシュエントリ・フラッシュ(FICE)命令
は、FDCE命令がデータキャッシュメモリにおいて成
したと同じmvgを命令キャッシュメモリにおいて行う
キャッシュメモリ同期(SYNC)命令は、命令キャッ
シュメモリおよびデータキャッシュメモリの全ての動作
が完了するまでプロセッサによる命令の実行を停止する
。これにより、データの保全性を保証するために要求さ
れるキャッシュメモリ動作の完了まで、データのあらゆ
る参照動作が待機されることを保証する。
本システムの動作は、次の具体例によって説明される。
オペ−レーティングシステムは、プロセッサおよびI1
0チャネル15に取り付けられた周辺装置による主記憶
装置へのアクセスを制御する。
データが外部装置からI10チャネル15を介して主記
憶装置13に読み込まれるべきとき、オペレーティング
システムは、そこへまたはそこからデータが転送される
アドレスがデータキャッシュメモリまたは命令キャッシ
ュメモリ中に写像された区゛域に重ならないことを保証
しなければならない。Iloが実行される前に、キャッ
シュメモリからあらゆる新鮮でないデータをクリアする
ために、オペレーティングシステムは、それぞれのキャ
ッシュメモリに対して、入力データが写像されようとし
ているアドレス範囲にわたってFDC命令およびFIC
命令を一斉に与える。
データが主記憶装置からI10チャネル15を介しt外
部装置に読み込まれるべきとき、オペレーティングシス
テムは最も最新のデータが転送されるように、そこから
データが転送されるアドレスがデータキャッシュメモリ
中に写像されている区域に重らないことを保証しなけれ
ばならない。プロセッサにより変更されたキャッシュメ
モリ中におけるデータによって主記憶装置を東新するた
めに、オペーレーレス範囲にわたって、FDC命令を一
斉に与える。
FDC命令は、キャッシュメモリに対し、どのようなダ
ーティ−ブロックも主記憶装置に戻して書き込むように
させる。
仮想メモリシステムにおいて、ページまたはセグメント
が主記憶装置13からI10チャネル15に連結された
周辺メモリ(たとえばディスクメモリー)に移動される
ときは必ず、ページまたはセグメントからのデータは全
てのキャッシュメモリからフラッシュされなければなら
ない。オペレーティングシステムは、キャッシュメモリ
に対して、これらページまたはセグメントに包含された
アドレスの範囲にわたって、FDC命令およびFIC命
令を一斉に与える。たとえばプログラム終了などのため
にページまたはセグメントが破壊されるとき、そのデー
タは貯蔵される必要はなく、キャッシュメモリから除去
されなければならない。この場合、オペレーティングシ
ステムはPDC命令およびFIC命令を使用する。
ページまたはセグメントが作り出されるかまたは周辺メ
モリから持ち込まれるときには、−切のフラッシュまた
はパージ動作は必要ではない。なぜならば、新しいペー
ジまたはセグメントのための部屋を作るための以前のペ
ージまたはセグメント除去動作期間中に、その中に写像
されるアドレスは、フラッシュまたはパージされている
からである。
自己修飾符号をもつプログラムに適応させるために、オ
ペレーティングシステムは、変更された命令昏 のかなる新鮮でないコピーをキャッシュメモリから除去
し、新い命令だけが、実行されるよう保証しなければな
らない。命令の変更がデータキャッシュメモリ51にお
いて成された後に、オペレーティングシステムは、FD
C命令を使用し、変更されたコピーを主記憶装置に押し
やり、FIC命令を使用して、命令キャッシュメモリ4
1から命令のいかなる新鮮でないコピーを除去し、そし
て次に5YNC命令を使用し、FDC命令およびFIC
命令が完了されるまでは変更された命令が呼出されない
ことを保証する。
たとえば停電によって、プロセッサが動作不能となった
場合には、キャッシュメモリ中に残留する変更されたデ
ータブロックは、主記憶装置に戻して書き込まれなけれ
ばならない。オペレーティングシステムは、FDCE命
令およびFrCE命令を使用し、最小の時間で上記の事
を成し遂げることができる。
FDCE命令およびFICE命令を使用するルーチンは
キャッシュメモリを迅速にフラッシュする。なぜならば
、ずっと大きなアドレス空間を使用するのではなく、キ
ャッシュメモリのインデックス範囲を通して進むからで
ある。ルーチンがキャッシュメモリを通して進むとき、
有効およびダーティ−であるブロックだけが主記憶装置
13に戻して書き込まわる。
〔発明の効果〕
以上の説明より明らかなように、本発明によれば、複雑
なハードウェアを使用することなく、キャッシュメモリ
と主記憶装置間の無矛盾性(統一性)を保つことができ
る。
【図面の簡単な説明】
第1図は本発明を使用できるコンピュータシステムのブ
ロック図、第2図は本発明によるキャッシュメモリを具
えた情報処理装置のキャッシュメモリの説明図、第3図
は本発明の他の実施例によるキャッシュメモリを具えた
情報処理装置のキャッシュメモリの説明図である。 出願人 横河・ヒユーレット・パッカード株式会社代理
人 弁理士 長谷用 次 男 手続補正帯動式〕 昭和61年1033日 1、事件の表示     昭和61年 特許 願第 1
51296  号2、発明の名称     キャッシュ
メモリを具えた情報処理装置3、補正をする者 事件との関係      特 許 出 覇 人4、代理
人 住所      東京都 杉並区 高井戸東 3丁目2
9番21号7、補正の内容 (1)明細書第1頁下から第4目行の次に下記の文を挿
入する。 「3、発明の詳細な説明」

Claims (1)

    【特許請求の範囲】
  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 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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63163940A (ja) * 1986-09-18 1988-07-07 ディジタル イクイプメント コーポレーション デジタルデータ処理システム

Families Citing this family (121)

* 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
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
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
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
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
US6058456A (en) * 1997-04-14 2000-05-02 International Business Machines Corporation Software-managed programmable unified/split caching mechanism for instructions and data
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
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
US7013284B2 (en) * 1999-05-04 2006-03-14 Accenture Llp Component based interface to handle tasks during claim processing
GB2401227B (en) * 1999-12-30 2005-03-16 Intel Corp Cache line flush micro-architectural implementation method and system
US6546462B1 (en) * 1999-12-30 2003-04-08 Intel Corporation CLFLUSH 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
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
US7653710B2 (en) 2002-06-25 2010-01-26 Qst Holdings, Llc. Hardware task manager
US7249242B2 (en) 2002-10-28 2007-07-24 Nvidia Corporation Input pipeline registers for a node in an adaptive computing engine
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
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
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
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
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
DE602004025556D1 (de) * 2004-06-08 2010-04-01 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
US8478769B2 (en) 2008-02-22 2013-07-02 Accenture Global Services Limited Conversational question generation system adapted for an insurance claim processing system
US8515786B2 (en) 2008-02-22 2013-08-20 Accenture Global Services Gmbh Rule generation system adapted for an insurance claim processing system
AU2009296695B2 (en) 2008-09-26 2013-08-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
EP2526494B1 (en) 2010-01-21 2020-01-15 SVIRAL, Inc. A method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations
US8935492B2 (en) 2010-09-30 2015-01-13 Commvault Systems, Inc. Archiving data objects using secondary copies
CN107391397B (zh) 2011-09-30 2021-07-27 英特尔公司 支持近存储器和远存储器访问的存储器通道
EP2761464B1 (en) 2011-09-30 2018-10-24 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy having different operating modes
WO2013048500A1 (en) 2011-09-30 2013-04-04 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy over common memory channels
CN103946812B (zh) 2011-09-30 2017-06-09 英特尔公司 用于实现多级别存储器分级体系的设备和方法
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)

* Cited by examiner, † Cited by third party
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)

* 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
JPS60124754A (ja) * 1983-12-09 1985-07-03 Fujitsu Ltd バッファ記憶制御装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63163940A (ja) * 1986-09-18 1988-07-07 ディジタル イクイプメント コーポレーション デジタルデータ処理システム

Also Published As

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

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
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
US5341485A (en) Multiple virtual address translation per computer cycle
JPH0743671B2 (ja) キャッシュ・メモリ制御方式
US7373458B2 (en) Cache memory system with multiple ports cache memories capable of receiving tagged and untagged requests
JPH07121443A (ja) 情報処理システム及びその動作方法
US20090327614A1 (en) Cache tentative read buffer

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