JPH04135257A - キャッシュメモリ制御装置 - Google Patents

キャッシュメモリ制御装置

Info

Publication number
JPH04135257A
JPH04135257A JP2209663A JP20966390A JPH04135257A JP H04135257 A JPH04135257 A JP H04135257A JP 2209663 A JP2209663 A JP 2209663A JP 20966390 A JP20966390 A JP 20966390A JP H04135257 A JPH04135257 A JP H04135257A
Authority
JP
Japan
Prior art keywords
data
memory
cache
invalidation
address
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
JP2209663A
Other languages
English (en)
Other versions
JP2708943B2 (ja
Inventor
Hisaaki Suzuki
鈴木 壽明
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2209663A priority Critical patent/JP2708943B2/ja
Priority to EP91113151A priority patent/EP0470561B1/en
Priority to DE69131761T priority patent/DE69131761T2/de
Priority to CA002048473A priority patent/CA2048473C/en
Publication of JPH04135257A publication Critical patent/JPH04135257A/ja
Priority to US08/323,501 priority patent/US5623629A/en
Application granted granted Critical
Publication of JP2708943B2 publication Critical patent/JP2708943B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • 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/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0835Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野) この発明はキャッシュメモリを有するデータ処理装置に
関し、特に主記憶装置の格納データとキャッシュメモリ
データのコヒーレンジ確保方式%式% (従来の技術) 第3図は、従来のキャッシュメモリを有するデータ処理
装置におけるメモリデータのコヒーレンジ確保動作を説
明するシステム構成図Iであり、図において、(ID[
]) はデータ処理を行うブロセッサ、(101) は
主メモリ、(102) は主メモリ(101)をプロセ
ッサ(100)  と共有してデータ処理を行うプロセ
ッサA、(103)はプロセッサ(100)に内蔵され
た主メモリ(101)の内容の写しを自己のデータ処理
の為にストアスル一方式で保持するキャッシュメモリ、
(104a)はプロセッサ(100) と主メモリ(1
01)  とを結ぶメモリバスA 、  (104b)
は他プロセツサA (102)  と主メモリ(101
)  とを結ぶメモリバスB 、 (105)はプロセ
ッサA (102)が主メモリ(101)へのストア操
作を行う時にキャッシュメモリ(103)の無効化を要
求するキャッシュ無効化要求信号、(106)はブロモ
・ンサ(100)がキャッシュ無効化操作を完了したこ
とを通知するキャッシュ無効化完了信号である。
第5図は従来のストアスルーキャッシュを有するデータ
処理装置で、無効化処理を受動的に行う時の論理図であ
り、図において、(1)はキャッシュメモリ(103)
のデータアレイを含みブロモ・ンサ(100)内でのキ
ャッシュメモリアクセスや、キャッシュメモリ無効化要
求を処理するキャッシュメモリ制御部、(2)はキャッ
シュメモリ制御部(1)内のデータアレイに保持されて
いるメモリデータの登録状況をキャッシュブロック単位
で管理する為に、アドレス部(以下A部と称す)と、該
当A部に対応するメモリデータがキャッシュメモリに存
在することを示す有効表示部(以下V部と称す)とから
構成されるタグメモリ、(3)はプロセッサA (10
2)からの主メモリ(101) に対するデータストア
要求時に、キャッシュ無効化要求信号(tos) を受
取るインバリデーション人力レジスタ、(4)はキャッ
シュ無効化要求信号(105)をインバリデーション入
力レジスタ(3)に受取るタイミングで同時にメモリバ
スA (104a)からキャッシュメモリ無効化要求ア
ドレスを受取るインバリデーションアドレスレジスタ、
(5)はインバリデーションアドレスレジスタ(4)の
内容のうちタグメモリ(2)を読出す為に使われるアド
レス部分とキャッシュブロック内アドレス部を除く部分
と、タグメモリ(2)から読出されたA部の内容とを比
較し、一致したかどうかを検出するインバリデーション
アドレス比較器、(6) 、 (10) 、 (12)
は論理ANDゲート、(9)は論理NANDゲート、(
7) 、 (11)は論理ORケート、(8)はキャッ
シュメモリ制御部(1) に対して、インバリデーショ
ンアドレスレジスタ(4)に保持されているキャッシュ
メモリ無効化要求アドレスがキャッシュメモリ(103
) に存在することから無効化要求を出す為のインバリ
デーションリクエストレジスタである。
第4図は従来のキャッシュメモリを有するデータ処理装
置におけるメモリデータのコヒーレンジ確保動作を説明
するシステム構成図I+であり、図において、(100
)はプロセッサ、(101)は主メモリ、(102)は
プロセッサA、(103)はキャッシュメモリ、(10
4)は主メモリ(101)へのアクセスの為にプロセッ
サ(100) とプロセッサA (102)が共用する
共通メモリバスである。第6図は第4図に示したシステ
ム構成においてプロセッサ(100)内でのストアスル
一方式のキャッシュメモリ(103)無効化処理を自発
的に行う時の論理図であり、図において、(1)はキャ
ッシュメモリ制御部、(2)はタグメモリ、(3)はイ
ンバリデーション人力レジスタ、(4)はインバリデー
ションアドレスレジスタ、(5)はインバリデーション
アドレス比較器、(6) 、 (12)及び(21)は
論理ANDゲート、(7)は論理ORゲート、(8)は
インバリデーションリクエストレジスタである。
次に、第3図、第5図を用いてシステム構成lを有する
データ処理装置におけるメモリデータのコヒーレンジ確
保動作を説明する。プロセッサA(102)が主メモリ
(101)へのストア要求をメモリバスB (104b
)経由で行うと、主メモリ(101)は該ストア要求に
より、内容を更新する。更新に件ってプロセッサ(10
0)内のキャッシュ(103)中に更新されるメモリデ
ータを含む主メモリ(101)の写しを保持している場
合には、更新以降にプロセッサ(100)が更新前の古
いデータを使って処理を行なわないように、データのコ
ヒーレンジ(整合性)を確保する必要がある。その為に
、主メモリ(101)はプロセッサ(100) に向け
てキャッシュメモリ(103)内にプロセッサA (1
02)が出したストア要求に該当するメモリデータの写
しを無効化するように、メモリバスA (104a)に
キャッシュ無効化要求アドレスを、そしてキャッシュ無
効化要求信号(105)をドライブする。プロセッサ(
100)においては、キャッシュ無効化要求アドレスを
メモリバスA (104a)からインバリデーションア
ドレスレジスタ(4) に、キャッシュ無効化要求信号
(105)をインバリデーション人力レジスタ(3)に
各々受取る。次に、インバリデーションアドレスレジス
タ(4)の出力により、タグメモリ(2)を弓き、該当
するキャッシュブロックに関する登録状況を示すA部と
7部を読出す。読出されたA部はインバリデーションア
ドレス比較器(5)に入力され、インバリデーションア
ドレスレジスタ(4)中のタグメモリ(4)を読出す為
に使われるアドレス部分とキャッシュブロック内アドレ
ス部を除く部分と比較される。もし、上記比較において
A部とインバリデーションアドレスレジスタ内のアドレ
ス部分が一致した場合には、インバリデーションアドレ
ス比較器(5)は1を出力し、不一致の時には0を出力
する。又、タグメモリ(2)から読出されたインバリデ
ーションアドレスレジスタ(2)に該当するキャッシュ
ブロックのデータが有効に登録されているかどうかを示
す7部は、登録時には1を、未登録時には0となる。今
、インバリデーション入力レジスタ(3)が1、即ちキ
ャッシュ無効化要求が存在し、且つインバリデーション
アドレス比較器(5)の出力が1、即ちインバリデーシ
ョンアドレスと、キャッシュメモリ(103)のキャッ
シュブロックが持っているメモリアドレスが一致し、且
つタグメモリ(2)から読出された7部の値が1、即ち
キャッシュメモリ(103)が主メモリ(101)の写
しを保持している時の3条件が成立した時には、論理A
NDゲート(6)が開ぎ、1を出力し、続いて論理OR
ゲート(7)が開いて1を出力することでインバリデー
ションリクエストレジスタ(8)をセットする。一方、
論理ANDゲート(6)が開く条件では、論理NAND
ゲート(9)の出力はOとなり、論理ANDゲート(1
0)を閉める為に、キャッシュ無効化完了信号(106
)を生成する論理ORケート(11)は開かない。もし
ここで、インバリデーション人力レジスタ(3)がセッ
トされている時に、キャッシュメモリ(103)内に写
しが存在しない場合、即ちインバリデーションアドレス
比較器(5)が不一致により0を出力した時や、タグメ
モリ(2)から読出されたv部が未登録を示す0であフ
た場合には、論理ANDゲート(6)は開かず、論理O
Rゲート(7)を通してインバリデーションリクエスト
レジスタ(8)へのセットは発生しない。
一方、論理NANDゲート(9)は開き1を出力する為
論理ANDゲート(10)が開き論理ORゲート(11
)を通して、キャッシュ無効化完了信号(10B)が出
力される。
続いて、インバリデーションリクエストレジスタ(8)
にセットされたキャッシュメモリ(103)のデータ無
効化要求と、インバリデーションアドレスレジスタ(4
)に保持されるキャッシュ無効化アドレスは、キャッシ
ュメモリ制御部(1)に人力される。キャッシュメモリ
制御部(1)では、インバリデーションリクエストレジ
スタ(8)からのりクエストを受取ると、内部において
、キャッシュメモリ(103)へのアクセスリクエスト
間のプライオリティを取り、他にキャッシュメモリ無効
化要求よりプライオリティの高いリクエストがない時に
は、インバリデーションリクエストレジスタ(8)のリ
クエストを受付け、タグメモリ(2)に対して、インバ
リデーションアドレスレジスタ(4)の内容を以って7
部をOとする即ち未登録状態にする書込みを行うと共に
、無効化完了通知を出力する。キャッシュメモリ制御部
(1)から出力された無効化完了通知により、論理OR
ゲート(11)が開き、キャッシュ無効化完了信号(1
06)を出力する。又、無効化完了通知により、論理A
NDゲート(12)は閉ざされて0を出力することでイ
ンバリデーションリクエストレジスタをクリアする。
キャッシュ無効化完了信号(106)を受取った主メモ
リ(101)は、プロセッサA (102)からのスト
ア要求データを該当アドレスへの書込み処理を完了する
尚、プロセッサA (102)が主メモリ(101)か
らのデータ読比しをメモリバスB (104b)を介し
て行う時には、プロセッサ(100) に対するキャッ
シュメモリ(103)のキャッシュ無効化要求信号(1
05)はアサートされないので、プロセッサ(100)
 に於いては、何等キャッシュ無効化動作も生じない。
これは以下の動作説明において共通であるので記述を省
略する。
次に、システム構成■を有するデータ処理装置における
メモリデータのコヒーレンジ確保動作を説明する。プロ
セッサA (102)が主メモリ(101)に対して、
ストア要求を共通メモリハス(104)上に乗せる。こ
の時、同時に共通メモリバス(104)に付随して存在
するデータ転向方向即ちストアかフェッチかを示すW/
R#信号で、1即ちストアがフロセッサA(102,)
 によりドライブされる。次に、ストア要求におけるメ
モリアドレス情報を共通メモリバス(to4) に乗せ
て、主メモリ(101)に伝達する為にプロセッサA 
(102) は、アドレスストローブ信号をアサートす
る。主メモリ(101)  は、このアドレスストロー
ブ信号がアサートされた時に、共通メモリバス(104
)上の情報をストアアドレスとして受取る。この時プロ
セッサ(100)は、III/R#信号が1であり、且
つ、アドレスストローブ信号がアサートされて1である
こと、且つキャッシュメモリ制御部(1)から自分が現
在共通メモリバス(104)を使用してない事をOで示
す信号が出ているために、論理ANDゲート(21)が
開き、1を出力する。論理ANDゲート(21)から出
力された1は、インバリデーション人力レジスタ(3)
にセットされると共に、インバリデーションアドレスレ
ジスタ(4)に共通メモリハス(104)上のプロセッ
サA (102)からのストアアドレスをサンプルする
これから後の動作、即ちインハリデージョンアドレスレ
ジスタ(4)にサンプルしたアドレスに相当する主メモ
リ(101)のデータの写しをキャッシュメモリ(10
3)が保持しているかどうかをタグメモリ(2)を引い
てインバリデーションアドレス比較器(5)と論理A 
N Dケート(6)とで判定し、もしキャッシュメモリ
(103)  に写しがある時にはキャッシュメモリ制
御部(1)か無効化操作を行う部分は前記の中で説明し
たのでここでは省略する。
但し、第6図が第5図の動作と異なる部分は、キャッシ
ュ無効化完了の報告を主メモリ(101)に対して行な
わないことである。つまり、第6図におけるキャッシュ
無効化動作は、プロセッサA(102)のストア要求が
共通メモリバス(104)上を通る時に、プロセッサ(
100)はそのトラフィックを監視することで自己完結
させるために無効化完了報告は不要になる。
(発明が解決しようとする課題) 従来のデータ処理装置は以上のように構成されているの
で、システム構成が異なると、キャッシュメモリのコヒ
ーレンジ確保操作も異なる為に別々の論理構成をとって
いたのでプロセッサの共通利用が図れず、新規開発を余
儀なくされる等のシステム構成変化への対応性が欠如し
ていた。
又、第2図で示すような2階層キャッシュを持つシステ
ム構成をとる場合には、共通メモリバス(104)のト
ラフィック全てをプロセッサバス(108)に伝える必
要があることから、システムの性能低下を招く恐れがあ
る。
この発明は、上記のような問題点を解消するためになさ
れたもので、キャッシュメモリを内蔵するデータ処理装
置におけるメモリデータのコヒーレンジ確保方式をシス
テム構成の変化に柔軟に対応できると共に、コヒーレン
ジ確保動作によるシステム性能低下への影響度を小さく
抑えることができるデータ処理装置を得ることを目的と
する。
(課題を解決するための手段) この発明に係るデータ処理装置は、主記憶装置と該主記
憶装置を共通にアクセスする複数のプロセッサをバスを
介して接続すると共に、プロセッサにキャッシュメモリ
と他のプロセッサが上記主記憶装置の所定のアドレスに
データストア時に、該アドレスに対応するキャッシュメ
モリのアドレスに記憶されたデータを無効とし、メモリ
データのコヒーレンジを確保するキャッシュメモリ制御
部と、上記プロセッサに、他のプロセッサが主記検装置
にデータストア検知時に、データストアアドレスに対応
するキャッシュメモリのアドレスに有効データを保持し
ているか否かを能動的にモニタし、データの保持時に保
持データを無効としメモリデータのコヒーレンジを確保
する第1の手段と、他のプロセッサが主記憶装置にデー
タストア時に、主記憶装置より出力されるキャッシュ無
効化信号受信時に、データストアアドレスを受け取り、
該アドレスに対応するキャッシュメモリのアドレスに有
効データを保持しているか否かを受動的に調へ、データ
保持時に保持データを無効とし、メモリデータのコヒー
レンジを確保する第2の手段と、上記第1の手段を作動
させるか、第2の手段を作動させるか、或は第1及び第
2の手段の双方を作動させるか選択する選択手段とを備
えたものである。
(作用) この発明におけるデータ処理装置は、メモリデータのコ
ヒーレンジ確保を行う3種の動作モートを選択して実現
することにより、論理を変更しなくでも選択手段に動作
モートを設定するだけで、コヒーレンジ確保動作を切り
換えられることから、多様なシステム構成、例えばこの
データ処理装置を1個のLSIで構成したような場合に
適用できると共に、コヒーレンジ確保に関して最適な動
作モードを選択することでシステム性能の低下を最小限
に抑えることができる。
〔実施例〕
以下この発明の一実施例を図に基づいて説明する。第2
図は本発明のキャッシュメモリを有するデータ処理装置
におけるメモリデータのコヒーレンジ確保動作を説明す
るシステム構成図IIIであり、図において、(100
)はプロセッサ、(101)は主メモリ、(102)は
プロセッサA、 (103)はストアスル一方式のキャ
ッシュメモリ、(104)は共通メモリバス、(105
)はキャッシュ無効化要求信号、(106)はキャッシ
ュ無効化完了信号、(107)は主メモリ(101)を
プロセッサ(100)及びプロセッサA (102) 
 と共有してデータ処理を行うプロセッサB、 (10
8)はプロセッサ(100)及びプロセッサB (10
7)が主メモリ(101)をアクセスする時のメモリア
ドレスやデータの転送及びキャッシュメモリ(103)
の無効化要求時のメモリアドレス情報の伝送に用いられ
るプロセッサバス、(109)はプロセッサ(100)
及びプロセッサB(107) によって使用され、主メ
モリ(101)の写しを保持するストアスル一方式の外
部キャッシュメモリ、  (110)はメモリバス(1
04) において、プロセッサA (102)からの主
メモリ(101)のアクセスを監視し、ストア要求が発
生した時にはプロセッサ(100) に対して、キャッ
シュ無効化要求信号(105)及び無効化要求アドレス
をプロセッサバス(108)経由で伝達するメモリバス
スヌーパである。
第1図は本発明のプロセッサ(100)内におけるスト
アスル一方式のキャッシュメモリ(103)の無効化処
理を行う論理図であり、図において、(1)はキャッシ
ュメモリ制御部、(2)はタグメモリ、(3)はインバ
リデーション入力レジスタ、(4)はインバリデーショ
ンアドレスレジスタ、(5)はインバリデーションアド
レス比較器、(6) 、 (10a) 。
(12) 、 (21) 、 (25) 、 (28)
 、 (29)は論理ANDゲート、(7) 、 (1
1) 、 (22) 、 (26)は論理ORゲート、
(8)はインバリデーションリクエストレジスタ、(9
)は論理NANDゲート、(20)はキャッシュメモリ
内のメモリデータコヒーレンジ確保動作モードを制御す
るコヒーレンジ動作モードフラグ(以下FLAGと称す
)、(23)はFLAG (20)の内容に基づいて、
キャッシュメモリ(103)への無効化要求の入力種類
を選択するセレクタ、(24)はFLAG (20)の
内容に基づいて、キャッシュ無効化完了信号(106)
への出力を制御するキャッシュ無効化完了制御人力レジ
スタ、(27)はキャッシュ無効化完了制御人力レジス
タ(24)の内容に基づいて、キャッシュメモリ(10
3)が無効化される条件時に、キャッシュメモリ制御部
(1)から出力されるキャッシュ無効化動作完了時に、
キャッシュ無効化完了信号(106)の出力を制御する
無効化完了制御レジスタ、(105)はキャッシュ無効
化要求信号、(106)はキャッシュ無効化完了信号、
(108)はプロセッサバスである。
次に、動作について説明する。第1図に示したプロセッ
サ(100)内部の論理構成例は、FLAG(20)の
内容により、第2図のシステム構成例IIIのみならず
、第3図のシステム構成例I、更に第4図のシステム構
成例IIにも通用可能である。
■第3図のシステム構成例■における動作説明従来技術
の動作説明中、■′s3図、第5図での動作説明と概ね
重複することから、従来技術との差異部分について説明
する。又、この時、第1図中のメモリバス(108)は
、第3図中のシステムバスA (104a)と同じであ
る。
システム動作の開始に先立ってFLAG(20)に、第
3図のシステム構成例Iに対応する動作モートが設定さ
れる。設定される内容はセレクタ(23)の出力として
キャッシュ無効化要求信号(to5)を選択すると共に
、キャッシュ無効化完了制御人力レジスタ(24)にも
キャッシュ無効化要求信号(105)を入力する状態と
する値である。
この状態においてシステム動作が開始された後に、フロ
セッサA (102)が主メモリ(101)に対して、
ストア要求をメモリバスB (104b)経由で行うと
、主メモリ(101)  は該ストア要求によりデータ
を更新する。更新に伴って主メモリ(101)はプロセ
ッサ(100)  に対してメモリバスA (104a
)にキャッシュメモリ(103)の無効化要求アドレス
を、そしてキャッシュ無効化要求信号(105)を1に
ドライブする。プロセッサ(100) においては、セ
レクタ(23)を通してキャッシュ無効化要求信号(1
05)をインバリデーション人力レジスタ(3)に、又
、キャッシュ無効化完了制御人力レジスタ(24)にも
キャッシュ無効化要求信号(105)を各々セットする
。同時に、メモリバスA (104a)上の無効化要求
アドレスをインバリデーションアドレスレジスタ(4)
にセットする。ここから後の動作、即ちインバリデーシ
ョンアドレスレジスタ(4)にサンプルしたアドレスに
相当する主メモリ(101)のデータの写しをキャッシ
ュメモリ(103)が保持しているかどうかをタグメモ
リ(2)を引いてインバリデーションアドレス比較器(
5)と論理ANDゲート(6)とで判定し、もしキャッ
シュアドレスメモリ(103) に写しが存在する時に
は、インバリデーションリクエストレジスタ(8)への
セットによりキャッシュメモリ制御部(1)か無効化操
作を行う部分は従来技術の動作説明と同じである。もし
、インバリデーション入力レジスタ(3)がセットされ
た時タグメモリ(2)を読出して、キャッシュメモリ(
103)中にデータの写しがあるか否かを判定した結果
、存在しない場合には、論理ANDゲート(9)が開く
。一方この時キャッシュ無効化入力制御入力レジスタ(
24)がFLAG(20)の制御によりキャッシュ無効
化要求信号(105)をセットし、1を出力しているの
で、論理ANDゲート(loa)は開ぎ、1を圧力する
。その結果、論理ORケート(If)を介してキャッシ
ュ無効化完了信号(106)が出力され、主メモリ(1
01)に無効化処理の完了が伝えられる。
また、キャッシュメモリ(103) に無効化すべきメ
モリデータの写しが存在した時の完了報告は、次の様に
なる。即ち、論理ゲート(6)の出力が1にセットされ
ると、論理(IRゲート(7)を通してインバリデーシ
ョンリクエストレジスタ(8)が1にセットされる。同
時に、キャッシュ無効化完了制御人力レジスタ(24)
が1にセットされているので、論理ANDゲート(25
)は開き1を出力し、論理ORゲート(26)を通って
無効化完了制御レジスタ(27)に1がセットされる。
−たん1にセットされた無効化完了制御レジスタ(27
)は、論理ANDゲート(28)及び論理ORゲート(
26)によってキャッシュメモリ制御部(1)がキャッ
シュメモリ(103)の無効化処理を完了するまでの間
ホールトされる。
キャッシュメモリ制御部(1)においてインバリデーシ
ョンリクエストレジスタ(8)からの無効化要求を受付
け、無効化処理を行う時には論理ANDゲート(29)
が開くことから1に出力され、論理ORゲート(11)
を介して主メモリ(102) に向けてキャッシュ無効
化完了信号(1(16)がドライブされると同時に論理
ANDゲート(12)、  (28)が閉じられてイン
バリデーションリクエストレジスタ(8)及び無効化完
了制御レジスタ(27)はクリアされる。
■第4図のシステム構成例IIにおける動作説明従来技
術の動作説明中、■第4図、第5図での動作説明、及び
本発明の動作説明中、■第3図のシステム構成例工にお
ける動作説明と重複する部分の説明は省略する。尚、第
4図におけるメモリバス(104)は第1図中のメモリ
バス(108)  と同じになる。
システム動作の開始に先立ってFLAG (20)に第
4図のシステム構成例IIに対応する動作モードが設定
される。設定される内容は、セレクタ(23)の出力と
して論理ANDゲート(21)の出力を選択すると共に
、キャッシュ無効化完了制御人力レジスタ(24)へ、
キャッシュ無効化要求信号(106)を受取らない状態
とする値である。上記のFLAG (20)の設定によ
り、キャッシュ無効化完了制御人力レジスタ(24)に
は常にOがセットされることから、論理ANDケート(
25)は常に閉ざされ、従って論理ORケート(26)
を通して無効化完了制御レジスタ(27)は常に0にセ
ットされる。キャッシュ無効化完了制御人力レジスタ(
24)か掌に0であることから、論理ANDゲート(1
0a)は常時閉ざされOを出力すること、且つ無効化完
了制御レジスタ(27)が常に0であることから、論理
ANDゲート(29)は常に閉ざされ0を出力すること
から、論理ORゲート(11)を通して出力されるキャ
ッシュ無効化完了信号(106) は常に0となる。
このFLAG (20)の設定後にシステム動作が開始
される。プロセッサA (102)が主メモリ(101
) に対してストア要求アドレスを共通メモリバス(1
04)に乗せ、W/R#(g号を1にセットする。次に
ストア要求を主メモリ(101) にサンプルする為に
プロセッサA (102) はアドレスストローブ信号
を1にドライブする。この時、主メモリ(101)はス
トア要求アドレスとW/R#信号とをメモリバス(10
4)から受取り、ストア動作処理を開始する。同時にプ
ロセッサ(ioo)においては、論理ANDゲート(2
1)が開き、1を出力し、FLAG (20)の値によ
ってセレクタ(23)を通過してインバリデーション人
力レジスタ(3)に1がセットされると共にインバリデ
ーションアドレスレジスタ(4)に無効化要求アドレス
かセットされる。この後に続くキャッシュメモリ(10
3) に対する無効化要求アドレスに該当するメモリデ
ータの写しの登録有無判定及びもし登録されている場合
の無効化操作は前述の通りである。但し、上記の如< 
FLAG(20)が、キャッシュ無効化完了信号(10
6)をドライブしない様に設定されている点が異なる。
■第2図のシステム構成例IIIにおける動作説明シス
テム動作の開始に先立って、 FLAG(20)に第2
図のシステム構成例II+に対応する動作モードが設定
される。設定される内容はセレクタ(23)の出力とし
て論理ORゲート(22)の出力を選択すると共に、キ
ャッシュ無効化完了制御人力レジスタ(24)にもキャ
ッシュ無効化要求信号(105)を人力する状態とする
値である。
この状態においてシステム動作が開始された後のフロセ
ッサ(100) におけるキャッシュメモリ(103)
のコヒーレンジ動作は次の通りである。
■−1.プロセッサA (102) (7)主メモリ(
101) 7クセスに関する動作説明 フロセッサA (102)が共通メモリバス(104)
を介して主メモリ(101)にストア要求を出した場合
には、外部キャッシュメモリ(109)  とメモリバ
ススヌーパ(110)  とが同時にメモリバス(10
4)上のストア要求を独立に監視し、外部キャッシュメ
モリ(109)は、自分でもし主メモリ(101)のデ
ータの写しを保持している場合には無効化処理を行い、
メモリバススヌーバ(110)は、プロセッサバス(1
08)  に割り込みを入れて、プロセッサA(102
)からのストア要求に対応するメモリアドレスをキャッ
シュ無効化要求アドレスとしてプロセッサバス(108
) に出力すると共に、キャッシュ無効化要求信号(1
05)を1にセットする。プロセッサ(100)はキャ
ッシュ無効化要求信号(105)が1より論理ORゲー
ト(22)が開き1にセットされた出力はFLAG(2
0)による動作モードの設定値から、セレクタ(23)
を通過してインバリデーション入力レジスタ(3)をセ
ットする一方で、インバリデーションアドレスレジスタ
(4)にメモリバス(108)から、キャッシュ無効化
要求アドレスを受取る。又、キャッシュ無効化完了制御
入力レジスタ(24)にも、FLAG (20)の設定
値の制御の元にキャッシュ無効化要求信号(105)を
人力して1をセットする。この後のキャッシュメモリ(
103)の無効化動作及びキャッシュ無効化完了信号(
10B)の出力動作は、前記本発明の動作説明中、■第
3図のシステム構成例Iにおける動作説明と同一である
のでここでは省略する。
■−2.プロセッサB (107)の主メモリ(101
)アクセスに関する動作説明 プロセッサB (107)が主メモリ(101)アクセ
スの為にプロセッサバス(108)を介して外部キャッ
シュメモリ(109)に対するストア要求を出力すると
、プロセッサ(100)は本発明の動作説明中■第4図
のシステム構成例IIにおける動作説明環で述べた時と
同じ動作により論理ANDゲート(21)か開くことで
、論理ORゲート(22)の出力は、セレクタ(23)
を通してインバリデーション入力レジスタ(3)をセッ
トすると共に、インバリデーションアドレスレジスタ(
4)にキヤ・ソシュ無効化要求アドレスの意味でストア
アドレスを受取る。これ以降の動作は本発明の動作説明
中2項と全く同一になる。又、キャッシュ無効化完了信
号(106)は出力されない。
又、■−1と■−2にて述べた動作については、プロセ
ッサバス(108)の使用権が排他的に取られることか
ら、シリアライズされて、プロセッサ(100)におい
て競合することはない、よって、第3図の如きシステム
構成においても、メモリデータのコヒーレンジ確保が正
しく行なわれることになる。
なお、上記実施例では、プロセッサ(100)内のキャ
ッシュメモリ(103)及び外部キャッシュメモリ(1
09)を説明の簡単化の為にストアスルーキャッシュと
したが、ストアインキャッシュとして構成した場合にお
いても上記実施例と同様の効果を奏する。
更に、キャッシュメモリを使用したデータ処理装置とし
て、従来、「特開平]−233537号」に示すものか
あるが、この装置は、キャッシュメモリの使用用途(デ
ータ用と命令用)を選択的に設定/解除する手段を設け
ることが請求の目的であり、本発明のようにキャッシュ
メモリにおけるメモリデータのコピー(データ及び命令
を問わず)と主記憶内のメモリデータとの間の整合性を
確保する動作(技術的にはバッファ無効化或はデータコ
ヒーレンジ確保という)のモードを複数設けると共に、
動作モードを選択的に或は組合せて指定/解除するもの
とは作用効果は異なる。
また、他に「特開昭59−217283号」に示すもの
があるが、このものは、複数のアクセス要求装置(例え
ばcpu )に共有されるストアイン方式キャッシュメ
モリにおいて、メモリ格納動作(ストア)の処理モート
を設定/解除する手段を設けることによりメモリ系の構
成変更を可能にすることでシステムの可用性を高めるこ
とを目的としており、上記にて示した本発明とは目的、
実現手段及び効果も異なる。
〔発明の効果〕
以上のようにこの発明によれば、メモリデータのコヒー
レンジを確保する第1の手段と、第2の手段と、前記第
1の手段或は第2の手段、或は第1と第2の手段を同時
に作動させるかを指示する選択手段を備えたので、一種
類のデータ処理装置によって、複数種類のシステム構成
を実現でき、データ処理装置の可用度を非常に高めるこ
とができる。
【図面の簡単な説明】
第1図はこの発明の一実施例によるデータ処理装置内に
おけるストアスル一方式のキャッシュメモリの無効化処
理を行う論理図、第2図は本発明のキャッシュメモリを
有するデータ処)里におけるメモリデータのコヒーレン
ジ確保動作を説明するシステム構成図III 、第3図
は従来のキャッシュメモリを有するデータ処理装置にお
けるメモリデータのコヒーレンジ確保動作を説明するシ
ステム構成図■、第4図は従来のキャッシュメモリを有
するデータ処理装置におけるメモリデータのコヒーレン
ジ確保動作を説明するシステム構成図I+、第5図は従
来の第3図におけるシステム構成図Iでストアスルーキ
ャッシュを有するデータ処理装置において、無効化処理
を受動的に行う時の論理図、第6図は従来の第4図にお
けるシステム構成図IIで、ストアスルーキャッシュを
有するデータ処理装置において無効化処理を自発的に行
う時の論理図である。 図において、(1)はキャッシュメモリ制御部、(2)
はタグメモリ、(3)はインバリデーション入力レジス
タ、(4)はインバリデーションアドレスレジスタ、(
5)は比較器、(20)はコヒーレンジ動作モードフラ
グ、(23)はセレクタ、(27)は無効化完了制御レ
ジスタ、(100) はプロセッサ、(101)は主メ
モリ、(102)はプロセッサA、 (103)はキャ
ッシュメモリ、(104)は共通メモリバス、(105
)はキャッシュ無効化要求信号、(1,07)はプロセ
ッサB、(108)はプロセッサハス。 なお、各図中、同一符号は同一または相当部分を示す。 手 続 補 正 書(自発) 補正の内容 平成 年 10 月29 日 明細書第21頁第11行の 「入力制御」 という記載 を 「完了制御」 と補正する。 以 上 1、事件の表示 特願平2−209663号 2゜ 発明の名称 データ処理装置 3゜ 補正をする者 事件との関係 特許出願人 住 所   東京都千代田区丸の内二丁目2番3号名 
称(601)三菱電機株式会社 代表者志岐守哉 4、代理人 住所 東京都中央区日本橋本町1丁目9番13号中山ビル4階 手続補正書(IN) 平成3年8月2日 1、事件の表示 特願平2−209663号 2、発明の名称 データ処理装置 3、M正をする者 事件との関係 特許出願人 住 所   東京都千代田区丸の内二丁目2番3号名 
称(601)三菱電機株式会社 代表者志岐守哉 4代理人 住 所   東京都中央区日本橋本町1丁目9番13号
中山ビル4階 6 補正の内容 (1)明細、iF第14頁第12行ないし第15頁第1
6行の「この発明・・・ものである。」という記載を以
下の如く補正する。 「この発明に係るデータ処理装置は、主記憶装置と該主
記憶装置を共通にアクセスする複数のプロセッサをバス
を介して接続すると共に、プロセッサ中に、キャッシュ
メモリと、他のプロセッサが上記主記憶装置の所定のア
ドレスにデータをストアする時に該アドレスに対応する
キャッシュメモリに置かれたデータを無効化してメモリ
データのコヒーレンジを確保するキャッシュメモリ制御
部とを設け、このキャッシュメモリ制御部には、次の手
段を備えたものである。 a、他のプロセッサによる主記憶装置へのデータストア
の検知時に、データストアアドレスに対応するキャッシ
ュメモリのアドレスに有効データを保持しているか否か
を能動的にモニタし、データの保持時に保持データを無
効としメモリデータのコヒーレンジを確保する第1の手
段。 b 他のプロセッサが主記憶装置にデータストアしたこ
とにより主記憶装置から出力されるキャッシュ無効化信
号受信時に、データストアアドレスを受け取り、該アド
レスに対応するキャッシュメモリのアドレスに有効デー
タを保持しているか否かを受動的に調べ、データ保持時
に保持データを無効とし、メモリデータのコヒーレンジ
を確保する第2の手段。 C上記第1の手段を作動させるか、第2の手段を作動さ
せるか、或は第1及び第2の手段の双方を作動させるか
選択する選択手段。」 (2)図面中第2図を別紙の如く補正する。 7 添付書類の目録 補正図面              1通以  上 第 図

Claims (1)

    【特許請求の範囲】
  1. 主記憶装置と該主記憶装置を共通にアクセスする複数の
    プロセッサをバスを介して接続すると共に、プロセッサ
    にキャッシュメモリと他のプロセッサが上記主記憶装置
    の所定のアドレスにデータストア時に、該アドレスに対
    応するキャッシュメモリのアドレスに記憶されたデータ
    を無効とし、メモリデータのコヒーレンジを確保するキ
    ャッシュメモリ制御部を備えたものにおいて、上記プロ
    セッサに、他のプロセッサが主記憶装置にデータストア
    検知時に、データストアアドレスに対応するキャッシュ
    メモリのアドレスに有効データを保持しているか否かを
    能動的にモニタし、データの保持時に保持データを無効
    としメモリデータのコヒーレンジを確保する第1の手段
    と、他のプロセッサが主記憶装置にデータストア時に、
    主記憶装置より出力されるキャッシュ無効化信号受信時
    に、データストアアドレスを受け取り、該アドレスに対
    応するキャッシュメモリのアドレスに有効データを保持
    しているか否かを受動的に調べ、テータ保持時に保持デ
    ータを無効とし、メモリデータのコヒーレンジを確保す
    る第2の手段と、上記第1の手段を作動させるか、第2
    の手段を作動させるか、或は第1及び第2の手段の双方
    を作動させるか選択する選択手段とを備えたことを特徴
    とするデータ処理装置。
JP2209663A 1990-08-08 1990-08-08 キャッシュメモリ制御装置 Expired - Fee Related JP2708943B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2209663A JP2708943B2 (ja) 1990-08-08 1990-08-08 キャッシュメモリ制御装置
EP91113151A EP0470561B1 (en) 1990-08-08 1991-08-05 Data processor for maintaining coherency of cache memory data
DE69131761T DE69131761T2 (de) 1990-08-08 1991-08-05 Datenverarbeitung zur Kohärenzaufrechterhaltung von Cache-Speicherdaten
CA002048473A CA2048473C (en) 1990-08-08 1991-08-06 Data processor for maintaining coherency of cache memory data
US08/323,501 US5623629A (en) 1990-08-08 1994-10-14 Apparatus for maintaining coherency of cache memory data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2209663A JP2708943B2 (ja) 1990-08-08 1990-08-08 キャッシュメモリ制御装置

Publications (2)

Publication Number Publication Date
JPH04135257A true JPH04135257A (ja) 1992-05-08
JP2708943B2 JP2708943B2 (ja) 1998-02-04

Family

ID=16576545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2209663A Expired - Fee Related JP2708943B2 (ja) 1990-08-08 1990-08-08 キャッシュメモリ制御装置

Country Status (5)

Country Link
US (1) US5623629A (ja)
EP (1) EP0470561B1 (ja)
JP (1) JP2708943B2 (ja)
CA (1) CA2048473C (ja)
DE (1) DE69131761T2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0533373A3 (en) * 1991-09-18 1993-04-21 Ncr International Inc. Computer system having cache memory
US5724549A (en) * 1992-04-06 1998-03-03 Cyrix Corporation Cache coherency without bus master arbitration signals
US5809532A (en) * 1993-12-06 1998-09-15 Motorola Inc. Data processor with cache and method of operation
US5900020A (en) * 1996-06-27 1999-05-04 Sequent Computer Systems, Inc. Method and apparatus for maintaining an order of write operations by processors in a multiprocessor computer to maintain memory consistency
US5809514A (en) * 1997-02-26 1998-09-15 Texas Instruments Incorporated Microprocessor burst mode data transfer ordering circuitry and method
US6952741B1 (en) * 1999-06-30 2005-10-04 Computer Sciences Corporation System and method for synchronizing copies of data in a computer system
US7693844B1 (en) 1999-10-29 2010-04-06 Computer Sciences Corporation Configuring processing relationships among entities of an organization
US6493809B1 (en) 2000-01-28 2002-12-10 International Business Machines Corporation Maintaining order of write operations in a multiprocessor for memory consistency
US7143246B2 (en) * 2004-01-16 2006-11-28 International Business Machines Corporation Method for supporting improved burst transfers on a coherent bus
JP4376692B2 (ja) * 2004-04-30 2009-12-02 富士通株式会社 情報処理装置、プロセッサ、プロセッサの制御方法、情報処理装置の制御方法、キャッシュメモリ
WO2007096980A1 (ja) * 2006-02-24 2007-08-30 Fujitsu Limited 記録制御装置および記録制御方法
US8806138B1 (en) * 2007-02-20 2014-08-12 Pixar Dynamic dependencies and parameterizations for execution and caching
US10740105B2 (en) * 2014-04-04 2020-08-11 Texas Instruments Incorporated Processor subroutine cache
US10025531B2 (en) 2015-09-10 2018-07-17 HoneycombData Inc. Reducing read command latency in storage devices

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4755930A (en) * 1985-06-27 1988-07-05 Encore Computer Corporation Hierarchical cache memory system and method
US4802085A (en) * 1987-01-22 1989-01-31 National Semiconductor Corporation Apparatus and method for detecting and handling memory-mapped I/O by a pipelined microprocessor
US5136691A (en) * 1988-01-20 1992-08-04 Advanced Micro Devices, Inc. Methods and apparatus for caching interlock variables in an integrated cache memory
US5150469A (en) * 1988-12-12 1992-09-22 Digital Equipment Corporation System and method for processor pipeline control by selective signal deassertion
US5214767A (en) * 1989-02-07 1993-05-25 Compaq Computer Corp. Full address and odd boundary direct memory access controller which determines address size by counting the input address bytes
US5072369A (en) * 1989-04-07 1991-12-10 Tektronix, Inc. Interface between buses attached with cached modules providing address space mapped cache coherent memory access with SNOOP hit memory updates
US5067078A (en) * 1989-04-17 1991-11-19 Motorola, Inc. Cache which provides status information
US5136700A (en) * 1989-12-22 1992-08-04 Digital Equipment Corporation Apparatus and method for reducing interference in two-level cache memories
US5195089A (en) * 1990-12-31 1993-03-16 Sun Microsystems, Inc. Apparatus and method for a synchronous, high speed, packet-switched bus

Also Published As

Publication number Publication date
DE69131761T2 (de) 2000-06-08
US5623629A (en) 1997-04-22
JP2708943B2 (ja) 1998-02-04
DE69131761D1 (de) 1999-12-09
CA2048473A1 (en) 1992-02-09
EP0470561A2 (en) 1992-02-12
EP0470561B1 (en) 1999-11-03
EP0470561A3 (en) 1992-06-10
CA2048473C (en) 1998-05-05

Similar Documents

Publication Publication Date Title
JPH04135257A (ja) キャッシュメモリ制御装置
US5263142A (en) Input/output cache with mapped pages allocated for caching direct (virtual) memory access input/output data based on type of I/O devices
US5247648A (en) Maintaining data coherency between a central cache, an I/O cache and a memory
US5740400A (en) Reducing cache snooping overhead in a multilevel cache system with multiple bus masters and a shared level two cache by using an inclusion field
JP3348367B2 (ja) 多重アクセス方法および多重アクセスキャッシュメモリ装置
US6711650B1 (en) Method and apparatus for accelerating input/output processing using cache injections
JPH08185359A (ja) メモリサブシステム
JPH01239663A (ja) 集積回路、コンピュータシステム、および集積回路内のキャッシュにおけるキャッシュブロックステータスを更新する方法
JPH0680499B2 (ja) マルチプロセッサ・システムのキャッシュ制御システムおよび方法
JPS62145340A (ja) キヤツシユメモリ制御方式
JPH0950400A (ja) マルチプロセッサシステム
US5761724A (en) Write-invalidate cache system for a split transaction bus based shared memory multiprocessor
JPH04230549A (ja) 多重レベル・キャッシュ
US5727179A (en) Memory access method using intermediate addresses
JPH02165250A (ja) データ処理装置
US5822611A (en) Method for cycle request with quick termination without waiting for the cycle to reach the destination by storing information in queue
KR100258883B1 (ko) 멀티 프로세서 시스템의 캐시 메모리 제어방법 및 장치
JP2001043204A (ja) キャッシュ・メモリ制御装置
JPH09185547A (ja) マルチプロセッサの制御方法及びその装置
JP2593222B2 (ja) マルチプロセッサシステムのインタロック方式
JP2506975B2 (ja) 情報処理装置のバッファ無効化処理方式
JPH0535697A (ja) マルチプロセツサシステム
JP2689899B2 (ja) 情報処理装置
JP2507544B2 (ja) 記憶制御装置
CA2036372C (en) An input/output cache for caching direct (virtual) memory access data

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071017

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081017

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091017

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees