JP2552704B2 - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP2552704B2
JP2552704B2 JP63054369A JP5436988A JP2552704B2 JP 2552704 B2 JP2552704 B2 JP 2552704B2 JP 63054369 A JP63054369 A JP 63054369A JP 5436988 A JP5436988 A JP 5436988A JP 2552704 B2 JP2552704 B2 JP 2552704B2
Authority
JP
Japan
Prior art keywords
memory
cache
contents
data
layer
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 - Fee Related
Application number
JP63054369A
Other languages
English (en)
Other versions
JPH01228035A (ja
Inventor
雅信 湯原
高夫 加藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63054369A priority Critical patent/JP2552704B2/ja
Publication of JPH01228035A publication Critical patent/JPH01228035A/ja
Application granted granted Critical
Publication of JP2552704B2 publication Critical patent/JP2552704B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔目 次〕 概要 産業上の利用分野 従来の技術 (第3〜7図) 発明が解決しようとする問題点 問題点を解決するための手段 作用 実施例 本願発明の一実施例(第1、2図) 発明の効果 〔概 要〕 階層化されたメモリ系を有するデータ処理装置に関
し、 外部キャッシュへのアクセス競合を回避し、しかも、
階層化された各メモリ内容の一貫性問題を解決しながら
システム性能の向上を図ることを目的とし、 最上層、中間層および最下層を備えて階層化された複数
のメモリで一つの系を構成し、各々の階層のメモリ間に
は異なるバスが配置され、該バスを介して最下層のメモ
リの内容を最上層のメモリへと転送し、最上層のメモリ
の内容を各種処理の結果で書き換え、書き換えられた内
容を最下層のメモリに反映させるメモリ系と、他系から
前記バスを介して行われるデータ入力を検知する検知手
段と、前記他系からのデータ入力があったとき、最下層
のメモリを除く各メモリの該データに該当する内容を検
索し、該内容を無効化するとともに、該無効化されたデ
ータを各種処理で使用する際に、最下層のメモリの内容
を逐次最上層に転送して各メモリの内容の一致をとる一
致手段を備え、前記検出手段により前記最下層のメモリ
へのデータ入力を検知して前記中間層のメモリの該デー
タに該当する内容を無効化し、該中間層のメモリの内容
の無効化により前記最上層のメモリに書き込みを行うバ
ス上に該データのアドレスを書き出し、該アドレスによ
り指定された内容の無効化を行うように構成している。
〔産業上の利用分野〕
本発明は、階層化されたメモリ系を有するデータ処理
装置に関し、特に、外部キャッシュへのアクセス競合を
回避するとともに、内部キャッシュ、外部キャッシュお
よび主記憶を含むメモリ系の一貫性問題の解決を意図し
たデータ処理装置に関する。
近時、半導体技術の向上によるLSIの高集積化に伴っ
て、マイクロプロセッサ等の比較的に小型のデータ処理
装置にも高度な各種制御技術が採用されるに至り、一段
と高速化、高性能化が進みつつある。各種制御技術のな
かでもバッファリングは、主記憶のアクセス時間の制約
を受けないといった特長から、高速化を目ざすデータ処
理装置に広く使用されており、近年ではマイクロプロセ
ッサにも内蔵されるようになってきた。
バッファリングは、マイクロプロセッサ等のデータ処
理装置(以下、CPUという)内部にシャッシュと呼ばれ
るメモリを設け、このキャッシュ内に、主記憶から取り
出した命令もしくはデータを一時的に記憶し、それ以後
のその命令もしくはデータへのアクセスを高速化して命
令実行速度の向上に大きく寄与している。
ところで、上記キャッシュの容量が大きい程、必要と
する命令もしくはデータがキャッシュに存在する割合が
高まり、いわゆるキャッシュヒット率が改善されるが、
キャッシュ容量は、当該CPUの集積度からおのずと限界
がある。因に、一般的なマイクロプロセッサの内部のキ
ャッシュ容量は数Kバイトにとどまっている。
そこで、CPUと主記憶の間に大容量の別のキャッシュ
を設けるといった、キャッシュの階層化が行われてい
る。以下、CPU内部のキャッシュを内部キャッシュとい
い、CPU外部のキャッシュを外部キャッシュという。
〔従来の技術〕
第3図は、主記憶、外部キャッシュ、内部キャッシュ
の順に階層化されたデータ処理装置のメモリ系を示す図
である。同図において、主記憶の内容は比較的大きなブ
ロック単位で外部キャッシュに取り込まれ、さらに、所
定のブロック単位で外部キャッシュから内部キャッシュ
へと取り込まれる。CPUは、内部キャッシュの内容を逐
次フェッチして実行し、実行結果に従って必要に応じて
内部キャッシュの内容を更新する。そして、更新された
内部キャッシュの内容に従って、外部キャッシュおよび
主記憶の内容を同時に更新するいわゆるストアスルーを
行ったり、あるいは、内部キャッシュにキャッシュミス
(必要とする内容が内部キャッシュに存在しない)が発
生した時点で、外部キャッシュを更新し、また、外部キ
ャッシュにキャッシュミスが発生した時点で、主記憶を
更新するいわゆるストアバックを行ったりして、メモリ
系の内容の一貫性を保証している。
ところで、主記憶へのアクセスは、上述の内・外部キ
ャッシュを介して行われる場合のほかに、例えば、第4
図に示すようにDMAC(Direct Memory Access Controle
r)を介して直接行われる場合がある。この場合、DMAC
によって書き込みが行われた主記憶の内容が、既に上述
の内・外部キャッシュにバッファリングされていたとき
は、内・外部キャッシュと主記憶の内容が一致しなくな
るといったいわゆる一貫性問題が発生する。
このため、第5図に示すように、DMACから主記憶に書
き込みが発生したとき、書き込みデータのアドレスをモ
ニターして、当該アドレスのデータが外部キャッシュに
存在する場合、外部キャッシュの内容を無効化するいわ
ゆるインバリデーションが行われるが、このインバリデ
ーションは外部キャッシュのみに対して行われるのが一
般的であり、したがって内部キャッシュと主記憶との一
貫性問題は依然として解決されない。
また、第6図に示すように複数のCPUで、一つの主記
憶を共有するいわゆるマルチプロセッサシステムにあっ
ても、インバリデーションが内部キャッシュまで遡行し
て行われないため、同様に一貫性問題が発生する。
このような理由により、従来からマルチプロセッサシ
ステム等で、多層化したメモリ系を使用する場合、第7
図に示すように、外部キャッシュと主記憶を含めた記憶
部を複数のCPUで共有化することが一般的な方法として
行われていた。
〔発明が解決しようとする課題〕
しかしながら、このような外部キャッシュを共有化し
たものにあっては、外部キャッシュへのアクセスが複数
のCPU間で競合し、システムの性能が上がらないといっ
た問題点があった。特に、CPUの数が増した場合では、
アクセス競合が頻繁に起こり、上記問題点の影響は大き
い。
本発明は、このような問題点に鑑みてなされたもの
で、外部キャッシュの共有化をやめて外部キャッシュへ
のアスセス競合を回避し、しかも、階層化された各メモ
リ内容の一貫性問題を解決しながらシステム性能の向上
を図ることを目的としている。
〔課題を解決するための手段〕
本発明では、上記目的を達成するために、最上層、中
間層および最下層を備えて階層化された複数のメモリで
一つの系を構成し、各々の階層のメモリ間に異なるバス
が配置され、該バスを介して最下層のメモリの内容を最
上層のメモリへと転送し、最上層のメモリの内容を各種
処理の結果で書き換え、書き換えられた内容を最下層の
メモリに反映させるメモリ系と、他系から前記バスを介
して行われるデータ入力を検知する検知手段と、前記他
系からのデータの入力があったとき、最下層のメモリを
除く各メモリの該データに該当する内容を検索し、該内
容を無効化するとともに、該無効化されたデータを各種
処理で使用する際に、最下層のメモリの内容を逐次最上
層に転送して各メモリの内容の一致をとる一致手段を備
え、前記検知手段により前記最下層のメモリのデータ入
力を検知して前記中間層のメモリの該データに該当する
内容を無効化し、該中間層のメモリの内容の無効化によ
り前記最上層のメモリに書き込みを行うバス上に該デー
タのアドレスを書き出し、該アドレスにより指定された
内容の無効化を行うように構成している。
〔作 用〕
本発明では、階層化された最下層のメモリ(主記憶)
のみが他の系と共有化され、また、他の系から最下層の
メモリへのデータ入力があった場合、階層化された各メ
モリの内容が更新される。
したがって、主記憶の上層側に位置する外部キャッシ
ュが共有化されないので、アクセス競合が回避されてシ
ステム性能の向上が図られ、しかも、最下層メモリの内
容が書き換えられたときは、各メモリの内容も更新され
るので、一貫性問題の解決が図られる。
〔実施例〕
以下、本発明を図面に基づいて説明する。
第1、2は、本発明に係るデータ処理装置の一実施例
を示す図であり、二つのCPUで主記憶を共有するマルチ
プロセッサシステムに適用した例である。
まず、第1図に示す本実施例の基本的な構成図に従っ
て説明する。
本実施例では、第1のCPU1に内蔵された第1の内部キ
ャッシュ2と、CPU1の外部に設けられ、第1のチップバ
ス3を介して第1の内部キャッシュ2(最上層のメモ
リ)に接続された第1の外部キャッシュ4(中間層のメ
モリ)と、システムバス5を介して第1の外部キャッシ
ュ4に接続された主記憶6(最下層のメモリ)と、から
なる第1のメモリ系7を備え、また、第1のメモリ系7
の主記憶6は第2のメモリ系8と共有されており、第2
のメモリ系8は、上記主記憶6と、システムバス5を介
して主記憶6に接続された第2の外部キャッシュ9と、
第2のCPU10に内蔵された第1の内部キャッシュ11と、
を備えている。なお、第1の内部キャッシュ11および第
2の外部キャッシュ9間は、第2のチップバス12で接続
されている。
すなわち、上記主記憶6、第1の外部キャッシュ4、
第1の内部キャッシュ2は階層化されており、これらの
複数のメモリで一つの系(第1のメモリ系7)を構成し
ている。また、第1の内部キャッシュ2は最上層のメモ
リとして機能し、主記憶6は最下層のメモリとして機能
するとともに、主記憶6は他の系としての第2のメモリ
系8と共有関係にある。
主記憶6の内容は、システムバス5を介して所定のブ
ロック単位で第1の外部キャッシュ4に転送され、ま
た、第1の外部キャッシュ4の内容は、第1のチップバ
ス3を介して上記ブロック単位よりも小さなブロック単
位で第1の内部キャッシュ2に転送される。そして、第
1の内部キャッシュ2の内容はCPU1によりフェッチさ
れ、各種処理を施された後、例えば内容の更新が行われ
る。更新された第1の内部キャッシュ2の内容は、前述
のストアスルーやストアバック、あるいはこれらと類似
の方法によって第1の外部キャッシュ4および主記憶6
に反映され、第1の外部キャッシュ4および主記憶6の
該当する内容が書き換えられて第1の内部のキャッシュ
2、第1の外部キャッシュ4、主記憶6の内容の一貫性
が保たれるようになっている。
ところで、第2のメモリ系8の第2の外部キャッシュ
9から主記憶6へデータの書き込みが発生した場合、こ
の書き込まれた領域が既に第1の外部キャッシュ4や第
1の内部キャッシュ2にバッファリングされていたとす
ると、この場合、一貫性が保たれない。
そこで本実施例では、第1の外部キャッシュ4に検知
手段としての機能を持たせるとともに、第1の外部キャ
ッシュ4および第1の内部キャッシュ2の双方に一致手
段としての機能を持たせている。
すなわち、第1の外部キャッシュ4はシステムバス5
をモニタし、このシステムバス5を介して他の系から主
記憶6への書き込みが行われた場合は、これを検知して
第1の外部キャッシュ4の該当する内容をインバリデー
ションし、さらにインバリデーションを行ったことを第
1の内部キャッシュ2に通知する。第1の内部キャッシ
ュ2はこの通知に従って内容を点検し、該当する内容が
存在する場合にはその内容をインバリデーションする。
その後、CPU1によって第1の内部キャッシュ2に対する
フェッチが行われると、当然のことながら、キャッシュ
ングミス(ミスヒット)が発生し、該当する内容が主記
憶6から順次第1の外部キャッシュ4および第1の内部
キャッシュ2へと転送され、その結果、第1の内部キャ
ッシュ2、第1の外部キャッシュ4、主記憶6の内容が
一致する。
このように、他の系から主記憶6へのデータの書き込
みが発生した場合には、階層化された最下層のメモリ
(主記憶6)を除く、第1の外部キャッシュ4、第1の
内部キャッシュ2の内容に上記データを反映させること
ができ、最下層のメモリと各メモリの内容との一致をと
って一貫性を保証することができる。したがって、第1
の外部キャッシュ4は、その系の専用とすることができ
るので、この第1の外部キャッシュ4へのアクセス競合
を回避することができ、システム性能の向上を図ること
ができる。
第2図は本実施例の具体的な構成を示す図であり、主
記憶を除く一つのメモリ系を具体的に示す図である。
第2図において、20はデータプロセッサ等のCPU、21
は外部キャッシュ部であり、これらCPU20および外部キ
ャッシュ部21の間は、チップバス22で接続されている。
なお、チップバス22は後述のシステムバス23と同様に、
各種制御信号を伝達するコントロールバス、アドレス信
号を伝達するアドレスバス、データを伝達するデータバ
スを有している。
CPU20は、命令制御ユニット20a、実行ユニット20b、
内部キャッシュ20c、内部キャッシュ制御ユニット20dお
よびチップバス制御ユニット20eを含んで構成され、各
構成部の間は、図中点線で示すコントロール線および太
実線で示すアドレス/データ線で接続されている。
命令制御ユニット20aは、図示しな命令キューおよび
命令デコーダを含み、内部キャッシュ20cから命令コー
ドをフェッチして命令キューに入れ、命令コードを命令
デコーダに供給してデコードし、デコード結果を実行ユ
ニット20bに通知する。なお、命令制御ユニット20aは、
命令の流れを制御する。
実行ユニット20bは図示しない論理演算ユニットやレ
ジスタ群を含み、命令制御ユニット20aからの通知に従
って、データ転送、論理演算、算術演算などを実行す
る。なお、これらの実行は、レジスタ群に格納されたオ
ペランドや内部キャッシュ20cからアクセスされたオペ
ランドに対して行われる。
内部キャッシュ20cは、例えば、ストアスルー方式
で、ブロックサイズが16バイト、2ウェイセットアソシ
エィティブ型、入れ替えアルゴリズムはLRU(Least Rec
ently Used)で、キャッシュ容量1Kバイトが用いられ
る。また、1Kバイトのキャッシュ容量は、図示しないキ
ャッシュRAMとTAGRAMの容量からなり、キャッシュRAM
は、主記憶から転送されてきたデータをブロック単位で
格納し、TAGRAMは、キャッシュRAMに格納されているブ
ロックのアドレスを記憶している。
内部キャッシュ制御ユニット20dは、命令制御ユニッ
ト20aからの命令コード要求や、実行ユニット20bからの
オペランドアクセス要求を受けると、内部キャッシュ20
cのTAGRAMを検索し、アクセス対象がキャッシュRAMに存
在するか(キャッシュヒット)、否か(キャッシュミス
ヒット)を調べる。例えば、キャッシュRAMからデータ
を読みだすキャッシュリードの場合にキャッシュヒット
すると、キャッシュRAMからアクセス対象が読み出さ
れ、要求元(命令制御ユニット20aあるいは実行ユニッ
ト20b)に送られる。また、キャッシュミスすると、後
述の外部キャッシュ部21からアクセス対象を含むブロッ
クを読み込み、いわゆるムーブインを行う。このムーブ
インは、ブロック単位(すなわち、本実施例では16バイ
ト)で行われ、具体的には、内部キャッシュ制御ユニッ
ト20dからのムーブイン要求の制御信号と内部キャッシ
ュ20cからのムーブイン要求のブロックアドレスとがチ
ップバス制御ユニット20eに送出されると、これに応答
して外部キャッシュ部21からデータがムーブインされ、
ムーブインされたデータは、チップバス制御ユニット20
eからアドレス/データ線を介して内部キャッシュ20cに
取り込まれ、データはキャッシュRAMに、データのブロ
ックアドレスは、TAGRAMにそれぞれ格納される。
なお、内部キャッシュ20cは、2ウェイセットアソシ
エイティブ型であるから、ムーブインされたデータを2
ウェイの何れのセットに格納するかを決定しなければな
らない。この決定は、内部キャッシュ20cに設けられた
図示しないLRU制御回路が受けもち、最近アクセスされ
ていない方のウェイが選択されるようになっている。そ
して、選択されたウェイに新たなデータが格納される
と、それまで格納されていたデータは消去される。
一方、キャッシュRAMにデータを書き込むキャッシュ
ライトの場合には、キャッシュヒットすると、実行ユニ
ット20bからの書き込みデータをキャッシュRAMの対応す
る部分に書き込む。なお、本実施例ではストアスルー方
式を用いているから、上記書き込みデータはチップバス
制御ユニット20eを介してチップバス22上に書き出さ
れ、後述の外部キャッシュ部21や主記憶のデータ内容の
更新に使用される。
チップバス制御ユニット20eは、内部キャッシュ制御
ユニット20dからのムーブイン要求などのリード/ライ
ト要求信号および内部キャッシュ20cからのアドレス信
号などに従って、チップバス22のアクセスを司る。
また、チップバス制御ユニット20eは、自分以外の何
者かがチップバス22に対してデータの書き込みを行った
場合、これを検出してその旨を内部キャッシュ制御ユニ
ット20dおよび内部キャッシュ20cに通知する。内部キャ
ッシュ制御ユニット20dおよび内部キャッシュ20cでは、
この通知に基づいてTAGRAMを検索し、該当するデータが
存在する場合、そのデータを含むブロックをインバリデ
ーションする。なお、詳細には後述するが、外部キャッ
シュ部21に格納されたデータが、主記憶データ変更の反
映を受けてインバリデーションされた場合、外部キャッ
シュ部21からチップバス22に疑似的にデータが書き出さ
れるようになっている。したがって、チップバス22に書
き出されたアドレスを検出することで、外部キャッシュ
部21のインバリデーションに合わせて内部キャッシュ20
c内のデータをもインバリデーションすることができ
る。
外部キャッシュ部21は、チップバス制御ユニット21
a、外部キャッシュ制御ユニット21b、外部キャッシュ21
cおよびシステムバス制御ユニット21dを含んで構成さ
れ、各構成部の間は、図中点線で示すコントロール線お
よび太線で示すアドレス/データ線で接続されている。
チップバス制御ユニット21aは、外部キャッシュ制御
ユニット21bからの制御信号を受けてチップバス22のア
クセスを司り、外部キャッシュ21c内のデータをチップ
バス22上に書き出したり、また、CPU20のチップバス制
御ユニット20eによってチップバス22上に書き出された
データを取り込んで外部キャッシュ21cに転送する。
外部キャッシュ制御ユニット21bは、チップバス制御
ユニット21aおよびシステムバス制御ユニット21dに対し
てリード/ライト要求のための制御信号を送出するとと
もに、システムバス制御ユニット21dから通知された後
述のアドレスモニター信号を受け、外部キャッシュ21c
内に該当するデータが存在するか否かを調べる。
外部キャッシュ21cは、図示しないキャッシュRAMおよ
びTAGRAMを含んで構成され、例えば、ストアスルー方式
で、ブロックサイズ32バイト、4ウェイセットアソシエ
イティブ型のLRUが用いられる。なお、キャッシュRAMお
よびTAGRAMの容量からなるキャッシュ容量は、256Kバイ
トの大容量のものを有している。外部キャッシュ21c
は、システムバス制御ユニット21dを介して主記憶から
ムーブインされたデータを、キャッシュRAMに格納する
とともに、該データのブロックアドレスをTAGRAMに登録
する。また、チップバス制御ユニット21aを介してチッ
プバス22から取り込まれたデータを対応するキャッシュ
RAMに書き込み内容を更新する。
さらに、前記システムバス上で書き込みが行われた旨
をCPU20に通知することが行われる。具体的には、例え
ば、チップバス制御ユニット21aによってチップバス22
のマスタ権を獲得し、チップバス22上であたかも書き込
み動作が行われたようにチップバス22のコントロールバ
スを操作する。これにより、CPU20のチップバス制御ユ
ニット20eは、自己以外の何者かがチップバス22に書き
込み動作を行ったとして、内部キャッシュ20cをインバ
リデーションすることができる。なお、外部キャッシュ
21c内のデータ内容の変更に伴って、内部キャッシュ20c
にインバリデーションを通知する方法は、チップバス22
上に疑似的な書き込み動作を起こす上述の方法の他に、
例えば、専用の信号線を介してインバリデーションの通
知を行ってもよいし、あるいは、インバリデーション専
用のチップバスアクセスがあってもよい。
システムバス制御ユニット21dは外部キャッシュ21c以
外の図示しないユニットが、主記憶に対する書き込みを
行わないか、システムバス23のアドレスバスをモニター
しており、アドレスモニターの結果が、外部キャッシュ
21cのTAGRAMでキャッシュヒットした場合、外部キャッ
シュ21c内の当該ブロックをインバリデーションする。
このような構成によれば、例えば、システムバス23に
接続された図示しない主記憶に、自系以外の他の系から
書き込みが行われた場合、システムバス制御ユニット21
dによるアドレスモニターによって外部キャッシュ21cの
内容が検索され、該当するブロックアドレスが存在する
とき、当該ブロックはインバリデーションされる。さら
に、このインバリデーションはCPU20にも通知され、内
部キャッシュ20cの内容が検索されて該当するブロック
アドレスが存在すると、当該ブロックもインバリデーシ
ョンされる。すなわち、主記憶の内容が変化すると、こ
れに伴って、外部キャッシュ21cおよび内部キャッシュ2
0cの内容が共にインバリデーションされ、その後、命令
制御ユニット20aからのフェッチによって内部キャッシ
ュ20cにキャッシュミスが発生すると、主記憶から外部
キャッシュ21cおよび内部キャッシュ20cへと順次ムーブ
インされる。その結果、ムーブイン完了の時点で階層化
された主記憶、外部キャッシュ21cおよび内部キャッシ
ュ20cの内容の一致が図られ、一貫性が保証される。し
たがって、外部キャッシュ21cを系の専用とすることが
でき、アクセス競合を回避してシステムの高性能化を図
ることができる。
なお、上述した外部キャッシュ21からCPU20へのイン
バリデーション通知の例は、外部キャッシュ21cとの内
部キャッシュ20cのブロックサイズが等しいものとして
扱ったが、実際には外部キャッシュ21cと内部キャッシ
ュ20cのブロックサイズは異なっているので、以下に、
その場合の対処例を述べる。
(I)外部キャッシュ21側で対処する方法 ハード的あるいはソフト的な設定により外部キャッシ
ュ21がCPU20内の内部キャッシュ20cのブロックサイズを
認識しているようにする方法である。そして、この方法
では、内部キャッシュ20cのブロックサイズに合わせて
インバリデーション通知を複数回行う。例えば、内部キ
ャッシュ20cのブロックサイズが4バイト、外部キャッ
シュ21cのブロックサイズが16バイトと仮定すると、外
部キャッシュ21からCPU20へのインバリデーション通知
は4回(16バイト/4バイト=4回)繰り返して行われ
る。この場合の4回のインバリデーションのアドレス
は、外部キャッシュ21cの1ブロックに相当する内部キ
ャッシュ20cの4ブロック分のアドレスとなる。これに
より、外部キャッシュ21cの1ブロックのインバリデー
ションに対応して内部キャッシュ20cの4ブロックのイ
ンバリデーションが行われる。
(II)CPU20側で対処する方法 上記(I)とは逆に、CPU20が外部キャッシュ21cのブ
ロックサイズを認識しているようにする方法である。CP
U20でのアドレスモニターは、アドレスモニターのブロ
ックサイズを考慮して、モニターされたアドレスが含ま
れる外部キャッシュ21cのブロックサイズに相当する部
分のインバリデーションが行われる。なお、ブロックサ
イズが外部キャッシュ21からCPU20に適宜知らされ方法
も、この(II)の方法に含まれる。
このように本実施例では、外部キャッシュ21がシステ
ムバス23をアドレスモニターし、主記憶への書き込みが
システムバス23を介して行われると、外部キャッシュ21
c内のブロックを検索して、該当する場合、当該ブロッ
クをインバリデーションするとともに、CPU20へインバ
リデーション通知を行い、CPU20はこの通知を受けて内
部キャッシュ20c内のブロックを検索して、該当する場
合、当該ブロックをインバリデーションする。
したがって、その後のムーブインにより、主記憶、外
部キャッシュ21cおよび内部キャッシュ20cの内容の一致
が図られるので、階層化された各メモリ、すなわち、主
記憶、外部キャッシュ21cおよび内部キャッシュ20cの一
貫性を保証できる。さらに、外部キャッシュ21cを他の
系と共有しなくてもよいので、この外部キャッシュ21c
へのアクセス競合を回避することができ、マルチプロセ
ッサシステムにおけるシステム性能の向上を図ることが
できる。
〔発明の効果〕
本発明によれば、階層化された最下層のメモリ(主記
憶)のみを他の系と共有化することができ、また、他の
系から最下層のメモリへのデータ入力があった場合、階
層化された各メモリの内容を更新することができる。
したがって、主記憶の上層側に位置する外部キャッシ
ュが他の系と共有化されないので、アクセス競合を回避
することができ、システム性能の向上を図ることができ
る。
また、最下層メモリの内容が書き換えられたときは、
各メモリの内容も更新されるので、一貫性問題の解決を
も図ることができる。
【図面の簡単な説明】
第1、2図は本発明に係るデータ処理装置の一実施例を
示す図であり、 第1図はその基本的な構成を示す図、 第2図はその具体的な構成を示す図である。 第3〜7図は従来のデータ処理装置を示す図であり、 第3図はその階層化されたメモリ系を示す図、 第4図はその他系からの書き込みがあった場合の一貫性
問題を説明するための図、 第5図はその階層化されたキャッシュにおける一貫性問
題を説明するための図、 第6図はそのマルチプロセッサシステムにおける一貫性
問題を説明するための図、 第7図はその外部キャッシュを他系と共有したメモリ系
を示す図である。 2……第1の内部キャッシュ(最上層のメモリ、一致手
段)、 4……第1の外部キャッシュ(中間層のメモリ、検出手
段、一致手段)、 6……主記憶(最下層のメモリ)、 7……第1のメモリ系(一つの系)、 8……第2のメモリ系(他の系)、 20……CPU(最上層のメモリ、一致手段)、 21……外部キャッシュ部(検知手段、一致手段)。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】最上層、中間層および最下層を備えて階層
    化された複数のメモリで一つの系を構成し、 各々の階層のメモリ間には異なるバスが配置され、 該バスを介して最下層のメモリの内容を最上層のメモリ
    へと転送し、 最上層のメモリの内容を各種処理の結果で書き換え、 書き換えられた内容を最下層のメモリに反映させるメモ
    リ系と、 他系から前記バスを介して行われるデータ入力を検知す
    る検知手段と、 前記他系からのデータの入力があったとき、最下層のメ
    モリを除く各メモリの該データに該当する内容を検索
    し、該内容を無効化するとともに、該無効化されたデー
    タを各種処理で使用する際に、最下層のメモリの内容を
    逐次最上層に転送して各メモリの内容の一致をとる一致
    手段を備え、 前記検知手段により前記最下層のメモリへのデータ入力
    を検知して前記中間層のメモリの該データに該当する内
    容を無効化し、該中間層のメモリの内容の無効化により
    前記最上層のメモリに書き込みを行うバス上に該データ
    のアドレスを書き出し、該アドレスにより指定された内
    容の無効化を行うことを特徴とするデータ処理装置。
JP63054369A 1988-03-08 1988-03-08 データ処理装置 Expired - Fee Related JP2552704B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63054369A JP2552704B2 (ja) 1988-03-08 1988-03-08 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63054369A JP2552704B2 (ja) 1988-03-08 1988-03-08 データ処理装置

Publications (2)

Publication Number Publication Date
JPH01228035A JPH01228035A (ja) 1989-09-12
JP2552704B2 true JP2552704B2 (ja) 1996-11-13

Family

ID=12968747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63054369A Expired - Fee Related JP2552704B2 (ja) 1988-03-08 1988-03-08 データ処理装置

Country Status (1)

Country Link
JP (1) JP2552704B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8230173B2 (en) 2008-03-14 2012-07-24 Fujitsu Semiconductor Limited Cache memory system, data processing apparatus, and storage apparatus

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2707774B1 (fr) * 1993-07-15 1995-08-18 Bull Sa Procédé de gestion cohérente des échanges entre des niveaux d'une hiérarchie de mémoires à au moins trois niveaux.
FR2707776B1 (fr) 1993-07-15 1995-08-18 Bull Sa Procédé de gestion de mémoires d'un système informatique, système informatique mémoire et support d'enregistrement mettant en Óoeuvre le procédé.
US5530832A (en) * 1993-10-14 1996-06-25 International Business Machines Corporation System and method for practicing essential inclusion in a multiprocessor and cache hierarchy
EP0661638A1 (en) * 1993-12-28 1995-07-05 International Business Machines Corporation Method and apparatus for transferring data in a computer

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2609195A1 (fr) * 1986-12-31 1988-07-01 Thomson Csf Procede de gestion d'antememoires associees a des processeurs dans une architecture multiprocesseur a bus unique et systeme de traitement de donnees fonctionnant suivant ce procede

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8230173B2 (en) 2008-03-14 2012-07-24 Fujitsu Semiconductor Limited Cache memory system, data processing apparatus, and storage apparatus

Also Published As

Publication number Publication date
JPH01228035A (ja) 1989-09-12

Similar Documents

Publication Publication Date Title
Censier et al. A new solution to coherence problems in multicache systems
US4928225A (en) Coherent cache structures and methods
US5029070A (en) Coherent cache structures and methods
KR100274327B1 (ko) 캐시가 일관된 다중 처리기 컴퓨터 시스템에서 다중 미결동작을 제공하기 위한 장치 및 그 방법
JP2557174B2 (ja) データのセット位置の予測装置
JPH0668735B2 (ja) キヤツシユメモリ−
JPH0561770A (ja) データ処理システムのコヒーレンス手段
JPH0347540B2 (ja)
US7039768B2 (en) Cache predictor for simultaneous multi-threaded processor system supporting multiple transactions
US7051163B2 (en) Directory structure permitting efficient write-backs in a shared memory computer system
US6332179B1 (en) Allocation for back-to-back misses in a directory based cache
US5161219A (en) Computer system with input/output cache
EP0340668A2 (en) Multi-processor system having a multi-port cache memory
US5987544A (en) System interface protocol with optional module cache
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
JPH04230549A (ja) 多重レベル・キャッシュ
JPH0467242A (ja) プロセッサおよびそのキャッシュメモリ制御方法
JP2552704B2 (ja) データ処理装置
US6477622B1 (en) Simplified writeback handling
US5619673A (en) Virtual access cache protection bits handling method and apparatus
JP3814521B2 (ja) データ処理方法および装置
JP2001249846A (ja) キャッシュメモリ装置及びデータ処理システム
JPH0756808A (ja) データキャッシュバッファ及び記憶方法
JPH0511337B2 (ja)
JPH0529943B2 (ja)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees