JPH0744460A - スヌープ処理方式 - Google Patents

スヌープ処理方式

Info

Publication number
JPH0744460A
JPH0744460A JP5193313A JP19331393A JPH0744460A JP H0744460 A JPH0744460 A JP H0744460A JP 5193313 A JP5193313 A JP 5193313A JP 19331393 A JP19331393 A JP 19331393A JP H0744460 A JPH0744460 A JP H0744460A
Authority
JP
Japan
Prior art keywords
snoop
processing
signal
access
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.)
Pending
Application number
JP5193313A
Other languages
English (en)
Inventor
Yasuhiro Hida
庸博 飛田
Yukihiro Seki
行宏 関
Ryuichi Hattori
隆一 服部
Toshiyuki Hosoda
敏幸 細田
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.)
Hitachi Ltd
Hitachi Asahi Electronics Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Asahi Electronics Co 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 Hitachi Ltd, Hitachi Asahi Electronics Co Ltd filed Critical Hitachi Ltd
Priority to JP5193313A priority Critical patent/JPH0744460A/ja
Publication of JPH0744460A publication Critical patent/JPH0744460A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 (修正有) 【目的】キャッシュメモリを具備する中央処理装置と主
記憶装置とバスマスタやI/Oコントローラなどの処理装
置とが共通バスに接続されるシステムにおいて、周辺装
置が主記憶装置へのバースト転送を開始すると、そのア
クセスアドレスに該当するキャッシュメモリ内のブロッ
ク領域を含めたキャッシュメモリ内の連続するNブロッ
ク分のアドレス領域(Nは2以上の任意の整数)をまとめて
あるいは連続でスヌープする処理を行なうことにより、
断続的なスヌープ処理によるバースト転送の中断を回避
する効率のよい周辺装置のアクセスを実現する。 【構成】スヌープフィルタのアドレス比較用レジスタの
アドレス情報をキャッシュメモリのブロックサイズ分増
加できる構成にし、周辺装置から主記憶装置へのバース
ト転送が発生した場合にアクセスアドレスのスヌープ処
理とそのアドレスにブロックサイズを加算したアドレス
のスヌープ処理を連続で実行してから周辺装置のバース
ト転送を開始する論理を制御回路に具備する。

Description

【発明の詳細な説明】
【0001】
【産業上の分野】本発明は情報処理システムに関し、特
に中央処理装置(以下CPUと呼ぶ)に付加されたキャッシ
ュメモリへのスヌープ方式に関する。
【0002】
【従来の技術】パーソナルコンピュータなどの情報機器
においては、CPUから主記憶装置へのリードあるいはラ
イトアクセスを高速化する手段としてキャッシュメモリ
が広く利用されている。図3はCPU1、キャッシュメモリ
2、主記憶装置3、周辺装置4等で構成されるシステムの
概略図である。図3ではCPU1とキャッシュメモリ2を1つ
にまとめたモジュールとして扱い、これをCPUモジュー
ル10としている。以下本明細書ではCPUモジュール10と
して扱う。キャッシュメモリを備えるシステムの問題点
として、周辺装置4が主記憶装置3へのアクセスを行う場
合に、アクセスを行おうとする主記憶装置3のアドレス
に相当するデータがキャッシュメモリ2内にある場合
は、キャッシュメモリ2がライトスルー方式ならば該当
するデータ領域を無効化する必要がある。同様にキャッ
シュメモリ2がライトバック方式であり該当するキャッ
シュメモリ内の領域がCPU1により更新されている場合
は、キャッシュメモリ2内の該当する更新されたデータ
を主記憶装置3へ書き戻してから周辺装置4から主記憶装
置3へのアクセスを行わせる必要がある。このように周
辺装置4が主記憶装置3へアクセスを行なう際にアクセス
アドレスに該当するキャッシュメモリ2内の領域をチェ
ックする処理を一般的にスヌープ処理と呼んでいる。本
明細書でも以下上記チェック処理をスヌープ処理と呼ぶ
ことにする。図3のシステムにおいて、周辺装置4が主記
憶装置3へのアクセスを開始する際、周辺装置4はスヌー
プ要求信号11を出力し、周辺装置4から主記憶装置3への
アクセス要求アドレスに相当するヌープ処理を開始す
る。このスヌープ処理がキャッシュメモリ2内に該当す
るブロックがない場合(ミスヒット)はスヌープ完了信
号12を出力する。キャッシュメモリ2がライトスルー方
式の場合は、周辺装置4はスヌープ完了信号12を待たず
して主記憶装置3へのデータのアクセスを開始する。キ
ャッシュメモリ2がライトバック方式の場合はスヌープ
完了信号12を認識してから周辺装置4の主記憶装置3への
アクセスが開始される。ライトバックキャッシュ方式で
スヌープ処理によりキャッシュメモリ2内に該当するブ
ロックがある場合(ヒット)はCPUモジュール10はキャッ
シュメモリ2内の該当する領域の無効化や該当するブロ
ックデータの主記憶装置3への書き戻しを行ない、それ
らの処理が完了するとスヌープ完了信号12を出力する。
このようなシステムで用いられるキャッシュメモリ2
は、一般的に16、32バイトなどのブロックを一つの記憶
単位としている。従って周辺装置4の主記憶装置3へのア
クセスがキャッシュメモリ2の1つの記憶単位であるブロ
ックサイズ内で連続する場合は、1回目のスヌープ処理
を実行すれば、2回目以降のスヌープ処理は不用であ
る。この不用なスヌープ処理は、キャッシュメモリ2やC
PU1、周辺装置4の処理を待たせることになり、効率低下
になる。本明細書ではこの記憶単位のサイズを以下ブロ
ックサイズという言葉で統一する。図4は上記不用なス
ヌープ処理を省略する方式の実施例を示す。図4におい
て、周辺装置4から主記憶装置3へのアクセスが開始され
る際、まずスヌープ要求信号A51を出力する。制御回路6
はスヌープ要求信号A51を認識すると、スヌープ要求信
号B52をCPUモジュール10へ出力し、周辺装置4から主記
憶装置3へのアクセスアドレスをレジスタ7にラッチす
る。周辺装置4はスヌープ完了信号12を認識すると、主
記憶装置3へのアクセスを開始する。周辺装置4から主記
憶装置3へのアクセスが連続する場合は、制御装置6はそ
のアクセスアドレスと前回のアクセスアドレスを比較器
5で比較し、両者がキャッシュメモリ2内のブロックサイ
ズ内である場合は周辺装置4からのスヌープ要求信号A51
に対し、CPUモジュール10へのスヌープ要求信号B52を省
略する。従って周辺装置4はスヌープ要求信号A51に対す
るスヌープ完了信号12は最初から出力されていることを
認識するため、スヌープ処理により中断することなく主
記憶装置3へのアクセスを継続する。同様にブロックサ
イズを越えている場合は、制御回路6はスヌープ要求信
号B52を出力すると同時にレジスタ7に周辺装置4から主
記憶装置3へのアクセスアドレスをラッチする。スヌー
プ完了信号12が出力されると、周辺装置4から主記憶装
置3へのアクセスが再開される。これらスヌープ技術の
実施例は、特公平5-8459号公報、特開昭57-186282号公
報、特開昭57-195375号公報に記載されている。この技
術を本明細書では以下スヌープフィルタと呼ぶことにす
る。
【0003】
【発明が解決しようとする課題】上述したシステムにお
いて、周辺装置4と主記憶装置3間が連続アドレスのバー
スト転送を行なう場合、たとえスヌープフィルタが有効
に動作してもアクセスアドレスがキャッシュメモリ2の
ブロックサイズを越える場合はバースト転送は一旦中断
してスヌープサイクルが挿入される。バースト転送の場
合は連続するアドレスのデータのアクセスであるため、
後続するキャッシュメモリのブロックサイズを越えるア
ドレスのスヌープ処理はある程度予測できる。例えば図
3のシステムにおいて周辺装置4から主記憶装置3へのア
クセスがアドレス00000000H番地からバースト転送で開
始される場合、キャッシュメモリ2のブロックサイズが1
6バイトであるならば、まずアクセスアドレスが0000000
0H番地の際にスヌープ処理が行なわれ、次は00000010H
番地のアクセスの際にスヌープ処理が開始される。この
場合は00000000H番地から開始されるバースト転送は000
00010Hのデータが転送される前に一旦中断し、00000010
H番地のスヌープ処理が完了してから00000010H番地から
のバースト転送が再開される。ここで00000010H番地の
スヌープ処理を前もって予測し、00000000H番地のスヌ
ープ処理と00000010H番地のスヌープ処理をあらかじめ
連続して行なってしまえば、00000000H番地から始まる
バースト転送は00000010番地で中断することなく連続で
行なえる。
【0004】本発明の目的は、周辺装置4から主記憶装
置3へのアクセスが連続するアドレスの転送の場合に後
続するスヌープ処理を予測して周辺装置4と主記憶装置3
間の転送が始まる前に行なってしまうことで効率のよい
周辺装置4、主記憶装置3間の連続する転送を実現するこ
とである。
【0005】
【課題を解決するための手段】上記目的を達成するため
に、図5に示すようなシステムを提供した。図5のシステ
ムは、図4のシステムにバス100からCPUモジュール10へ
のアドレスの入力を制御するバッファ20、レジスタ7に
保持されているアドレスのCPUモジュール10への入力を
制御するバッファ21、バッファ20、21の出力制御信号1
6、レジスタ7のアドレス情報をキャッシュメモリ2のブ
ロックサイズ分増加させる制御信号17を付加したもので
ある。図5において、周辺装置4から主記憶装置3へのバ
ーストアクセスが開始される場合、制御装置6はバース
ト転送の最初のアクセスアドレスに相当するスヌープ要
求信号A51を認識すると、スヌープ要求信号B52を出力し
CPUモジュール10へのスヌープ処理を開始すると同時にアクセ
スアドレスをレジスタ7にラッチする。その際のCPUモジ
ュール10に入力されるスヌープアドレスはバス100から
入力されるように出力制御信号16で制御されている。制
御回路6はCPUモジュール10からのスヌープ完了信号B121
を認識すると即座にスヌープ要求信号B52をCPUモジュー
ル10へ入力し2回目のスヌープ処理を開始する。その2回
目のスヌープ処理におけるCPUモジュール10への入力ア
ドレスは加算信号17によりレジスタ7の保持アドレス情
報をキャッシュメモリ2のブロックサイズ分増加させた
アドレス値であり、信号16によりバッファ21を介してCP
Uモジュール10に入力されている。制御回路6は2回目の
スヌープ処理に対するスヌープ完了信号B121を認識する
と、バス100へのスヌープ完了信号A122を出力し、周辺
装置4と主記憶装置3間のデータの転送か開始される。
【0006】
【作用】上記システムでは、CPUモジュールへのスヌー
プ処理を予測し、ある程度連続させて実行することによ
り、スヌープ処理の効率を上げると同時に、スヌープ処
理による周辺装置と主記憶装置間のデータの転送の中断
回数を削減できるため、転送効率が向上する。
【0007】
【実施例】図1にブロック数Nを2とした請求項1記載のス
ヌープ方式を実現する実施例の概略図を示す。図1にお
いて1はCPU、2はライトバック方式のキャッシュメモ
リ、3は主記憶装置、4はバス100上に接続された周辺装
置、10はCPU1、キャッシュメモリ2をひとまとめにしたC
PUモジュール、6は制御装置、7はアドレス情報を保持す
るレジスタ、20、21はCPUモジュール10へ入力するアド
レス信号を切り換えるバッファ、5は比較器、11はCPUモ
ジュール10へのスヌープ要求信号、12はCPUモジュール1
0がスヌープ処理を完了したことを示す信号、13は周辺
装置4から主記憶装置3へのアクセスを停止させる信号、
14は比較器5の演算結果を示す信号、15はバス100からの
アドレス情報をレジスタ7へラッチする信号、17はレジ
スタ7内のアドレス情報にキャッシュメモリ2のブロック
サイズ分を加算する処理を行なわせる信号、16はバッフ
ァ20、21の出力制御信号、31は主記憶装置3へのアクセ
ス開始を示すアドレスストレージ信号(MADS)、32は主記
憶装置3や周辺装置4がバースト転送データの受取りを完
了したことを示す信号(MBRDY)である。図1において周辺
装置4が主記憶装置3へのバースト転送アクセスを開始す
ると、制御回路6はアクセス停止信号13をバス100を経由
して周辺装置4へ出力し、同時にスヌープ要求信号11をC
PUモジュール10へ出力する。その際出力制御信号16によ
りバッファ20を介して周辺装置4のアクセスアドレスがC
PUモジュール10へ入力されている。また、同時に制御回
路6は周辺装置4からのアクセスアドレスをレジスタ7へ
ラッチする。制御回路6はスヌープ完了信号12を認識す
ると加算信号17によりレジスタ7のアドレス情報をキャ
ッシュメモリ2のブロックサイズ分増加させ、そのアド
レス信号を出力制御信号16によりバッファ21を介してCP
Uモジュール10へ入力し、2回目のスヌープ要求信号11を
出力する。2回目のスヌープ処理に対するスヌープ完了
信号12を認識すると、制御回路6はアクセス停止信号13
を解除する。周辺装置4はアクセス停止信号13解除を認
識すると、アドレスストレージ信号31(MADS)とデータ転
送完了信号32(MBRDY)とでデータの転送を開始する。制
御回路6は周辺装置4からの次のアクセスアドレスをレジ
スタ7内のアドレス情報と比較し、アクセスアドレスが
レジスタ7内のアドレス情報±(キャッシュメモリ2のブ
ロックサイズ)を越えない場合はアクセス停止信号13と
スヌープ要求信号11を出力しないため、周辺装置4は主
記憶装置3へのアクセスを停止することなく連続で行な
う。逆にブロックサイズを越えることを比較器の出力信
号信号14により認識した場合は、制御回路6はアクセス
停止信号13とスヌープ要求信号11を出力する。その際の
CPUモジュール10への入力アドレスは出力制御信号16に
よりバス100からバッファ20を介して入力されるアドレ
スである。制御回路6は以降同様に2回にわたるスヌープ
処理を行ない、それらが完了してから周辺装置4から主
記憶装置3へのデータのアクセスが開始される。図5は上
述した制御回路6の処理フローを示す状態遷移図と各状
態における信号の制御パターンである。
【0008】図6は請求項3を実現するシステムの実施例
を示す図である。図4のシステムでは、CPUモジュール10
とスヌープフィルタ論理を一つのCPUボード300上に治
め、CPUボード300とシステムボード400がコネクタ500で
接続される構成になっている。このような構成にするこ
とにより、異なるCPUやキャッシュメモリに交換する場
合はCPUボード300のみを変更して差し替えることにより
システムボードを変更せず済む。また、図6において
は、スイッチSW1とレジスタ8の情報でスヌープフィルタ
の機能を有効、無効に切り換える手段を付加することに
より請求項4、請求項5に記載する機能を実現している。
図6においてスイッチSW1を閉じることによりレジスタ6
の内容に関わらずフィルタOFF信号18は負論理になる構
成になっている。同様にスイッチSW1を開いた場合はレ
ジスタ8の内容によりフィルタOFF信号18を正、負論理い
ずれかに切り換えられる構成になっている。このような
構成により、スイッチSW1あるいはレジスタ8の設定によ
りスヌープフィルタの機能の有効、無効を切り換えられ
る。図6ではフィルタOFF信号18が負論理の際にスヌープ
フィルタの機能を無効にするように制御回路は作動す
る。
【0009】図7はキャッシュメモリのブロックサイズ
が32バイトのCPUモジュール1と同様にブロックサイズが
16バイトのCPUモジュール2を有するデュアルプロセッサ
システムにおける請求項2に記載するスヌープ処理方式
の実施例である。図10は図7の実施例における制御回路6
の処理フローを示す状態遷移図である。図10において、
制御回路6が周辺装置4から主記憶装置3へのアクセス発
生を認識すると(STATE5)、CPUモジュール1 201へのス
ヌープ要求信号B1 521、CPUモジュール2 202へのスヌー
プ要求信号B2 522をそれぞれ出力し、アクセスアドレス
情報をラッチ信号15によりレジスタ71(A31〜A5)、72(A
4)にラッチする(STATE6)。STEP6において周辺装置4から
主記憶装置3へのアクセスが終了すると、STATE5に戻
り、周辺装置4から主記憶装置3への次のアクセス待ち状
態となる。STEP6において連続する次の転送が発生した
場合に判定信号A、Bの両方を認識すると、制御回路6は
何も実行しないアイドル状態となる(STEP7)。STEP7にお
いて周辺装置4から主記憶装置3へのアクセスが終了する
と、STATE5に戻り、周辺装置4から主記憶装置3への次の
アクセス待ち状態となる。STEP7において連続する次の
転送が発生した場合に判定信号A 141のみを認識した場
合は、STEP9に進みCPUモジュール2 202へのスヌープ要
求信号B2 522を出力する。STEP7において連続する次の
転送が発生した場合に判定信号A 141が解除されている
のを認識した場合はSTEP6に戻る。STEP9において周辺装
置4から主記憶装置3へのアクセスが終了した場合はSTEP
5にもどり、STEP9において連続する次の転送が発生した
場合に判定信号A 141が解除されているのを認識するとS
TEP6に戻る。STEP9において前述したいずれでもない場
合は何の処理も行なわないSTEP10に進む。STEP10におい
て周辺装置4から主記憶装置3へのアクセスが終了した場
合はSTATE5に戻り、連続する次の転送が発生した場合に
ヒット判定信号A 141が解除されていることを認識する
とSTATE6に戻る。STATE10において前述したいずれでも
ない場合はSTATE10を継続する。STATE6において連続す
る次の転送が発生した場合にヒット判定信号A 141のみ
を認識した場合はSTATE8に進み、CPUモジュール2 202へ
のスヌープ要求信号B2 522を出力する。STATE8において
連続する次の転送が発生しヒット判定信号A 141が解除
されている場合はSTATE6に戻り、STEP8において周辺装
置4から主記憶装置3へのアクセスが終了した場合はSTEP
5に戻る。STEP8において前述したいずれでもない場合は
STATE10に進む。STEP6において周辺装置4から主記憶装
置3へのアクセスが終了した場合あるいは連続する次の
転送が発生しヒット判定信号A 141を認識した場合のい
ずれでもない場合はSTATE6を継続する。なお、図10にお
けるスヌープ要求信号B1 521、B2 522の出力は周辺装置
4から主記憶装置3への転送が発生してそれぞれの状態に
遷移あるいは継続した際に1回のみ出力するものとす
る。
【0010】図8は請求項6、7記載のスヌープフィルタ
のブロックサイズを64バイト、32バイト、16バイトの3
通りに設定できる構成にした請求項6、7を実現するスヌ
ープフィルタヒット判定信号生成手段の実施例である。
図8においてスイッチSW2を開いた場合にはレジスタ75の
出力に関わらずTTL93の出力は正論理となり、TTL91の出
力結果すなわちA5アドレス線112に関する比較結果は無
効となる。一方スイッチSW2を閉じた場合にはレジスタ7
5からTTL93への入力信号が正論理の場合はTTL91の出力
結果すなわちA5アドレス線112に関する比較結果は無効
となる。同様にスイッチSW2を閉じた場合でレジスタ75
からTTL93への入力信号が負論理の場合はTTL91の出力結
果すなわちA5アドレス線112に関する比較結果は有効と
なる。以上のようにスイッチSW2、SW3とレジスタの内容
によりレジスタ75からTTL93、94への入力信号を切り換
えることにより、TTL91、92の出力結果を両方とも無効
にした場合はブロックサイズが64バイトのキャッシュメ
モリ用スヌープフィルタヒット判定信号生成論理とな
る。同様にTTL92の出力結果のみを無効にした場合はブ
ロックサイズが32バイトのキャッシュメモリ用スヌープ
フィルタヒット判定信号生成論理となる。さらに同様に
TTL91、92の両方とも有効にした場合はブロックサイズ
が16バイトのキャッシュメモリ用スヌープフィルタヒッ
ト判定信号生成論理となる。
【0011】図7の実施例においては、CPUモジュール1
201に対しては連続するアクセスアドレスが32バイトの
ブロックサイズを越えた場合のみ、そしてCPUモジュー
ル2 202に対しては16バイトのブロックサイズを越えた
場合のみスヌープ処理が実行されるため、それぞれのキ
ャッシュメモリのブロックサイズに適した無駄のないス
ヌープ処理が実現できる。
【0012】図8の実施例においては、スイッチSW2、SW
3の切り換えあるいはI/Oアクセスなどのソフトウェア処
理によるレジスタ75の設定のいずれかで簡単にスヌープ
フィルタのブロックサイズの設定を行なうことができ
る。
【0013】図9の(b)は、図1の実施例において、周辺
装置4から主記憶装置3の00H番地から1FH番地まで4バイ
トづつバースト転送(読込み処理)を行なった場合の各信
号のタイミング図である。なお図9においてはキャッシ
ュメモリ2のブロックサイズは16バイトと想定してい
る。参考までに従来の方式で同様な転送を行なった場合
のタイミング図を上半分に示した。図9(a)の従来方式に
おいては、10H番地のスヌープ処理によるCPUモジュール
10からの主記憶装置3への該当ブロックデータの書き戻
し(スヌープライトバック処理)がバースト転送間に入っ
ている。一方本発明の方式においては始めに00H番地の
スヌープ処理とブロックサイズを越えた10H番地のスヌ
ープ処理をまとめて連続で行なってしまい、10H番地の
スヌープライトバック処理が完了してから00Hから1FH番
地までの周辺装置4から主記憶装置3へのバースト転送
(読込み処理)を連続で行なうことにより、転送効率が向
上している。
【0014】図6の実施例においては、同一のシステム
ボードに接続するCPUボード300を交換するだけでさまざ
まなブロックサイズのキャッシュメモリ2に対応したス
ヌープフィルタ搭載システムを構築することができる。
また、図6においてはスイッチSW1あるいはI/Oアクセス
などのソフトウェア処理によるレジスタ8の設定のいず
れかで簡単にスヌープフィルタのON、OFFを設定でき
る。
【0015】図7の実施例においては、CPUモジュール1
201に対しては連続するアクセスアドレスが32バイトの
ブロックサイズを越えた場合のみ、そしてCPUモジュー
ル2 202に対しては16バイトのブロックサイズを越えた
場合のみスヌープ処理が実行されるため、それぞれのキ
ャッシュメモリのブロックサイズに適した無駄のないス
ヌープ処理が実現できる。
【0016】図8の実施例においては、スイッチSW2、SW
3の切り換えあるいはI/Oアクセスなどのソフトウェア処
理によるレジスタ75の設定のいずれかで簡単にスヌープ
フィルタのブロックサイズの設定を行なうことができ
る。
【0017】
【発明の効果】本発明のスヌープ処理方式によれば、周
辺装置と主記憶装置間での連続したデータ転送を効率よ
く実行できるという効果がある。
【図面の簡単な説明】
【図1】本発明の第一の実施例を示す概略図である。
【図2】図1の制御回路6の処理フローを示す状態遷移
図である。
【図3】スヌープ処理を説明する図である。
【図4】スヌープフィルタに関する従来の技術を示す図
である。
【図5】本発明を実現する手段を示す図である。
【図6】本発明の第二の実施例を示す概略図である。
【図7】本発明の第三の実施例を示す概略図である。
【図8】本発明の第四の実施例を示す概略図である。
【図9】図1の実施例の効果を示すタイミング図であ
る。
【図10】図7の制御回路6の処理フローを示す状態遷
移図である。
【符号の説明】
1…CPU、 2…キャッシュメモリ、 3…主記憶装置、 4…周辺装置、 5、61、62…比較器、 6…制御回路、 7、8、71、72、73、74、75、76…レジスタ、 10…CPUモジュール、 11…スヌープ要求信号、 12…スヌープ完了信号、 13…アクセス停止信号、 14…スヌープフィルタヒット判定信号、 15…アドレスラッチ信号、 16…バッファ出力制御信号、 17…加算信号、 18…フィルタOFF信号、 20、21…バッファ、 31…アドレスストレージ信号(MADS)、 32…バースト転送データ受取り完了信号(MBRDY)、 51…スヌープ要求信号A、 52…スヌープ要求信号B、 91、92…EX-NOR型TTL、 93、94、97…OR型TTL、 95、96…NOR型TTL、 100…バス、 111…アドレスA31〜A6信号線、 112…アドレスA5信号線、 113…アドレスA4信号線、 121…スヌープ完了信号B、 122…スヌープ完了信号A、 141…ヒット判定信号A、 142…ヒット判定信号B、 201…キャッシュブロックサイズが32バイトのCPUモジュ
ール1、 202…キャッシュブロックサイズが16バイトのCPUモジュ
ール2、 300…CPUボード、 400…システムボード、 500…コネクタ、 521…スヌープ完了信号B1、 522…スヌープ完了信号B2、 SW1、SW2、SW3…スイッチ、 STATE0…アクセス停止信号をONにし、周辺装置4からの
バーストアクセスを待っている状態を示す、 STATE1…バッファ20の出力のみをONにし、スヌープ要求
信号11とアクセス停止信号13を出力し、アクセスアドレ
スをレジスタ7へラッチする状態を示す、 STATE2…レジスタ7内のアドレス値をブロックサイズ分
増加させ、アクセス停止信号を停止させる状態を示す、 STATE3…バッファ21の出力のみをONにし、スヌープ要求
信号11、アクセス停止信号13を出力する状態を示す、 STATE4…アクセス停止信号を解除する状態を示す、 STATE5…制御回路6が周辺装置4から主記憶装置3へのア
クセス待ち状態であることを示す、 STATE6…スヌープ要求信号B1 521、スヌープ要求信号B2
522、ラッチ信号15を出力する状態を示す、 STATE7…アイドル状態を示す、 STATE8…スヌープ要求信号B2 522のみを出力する状態を
示す、 STATE9…スヌープ要求信号B2 522のみを出力する状態を
示す、 STATE10…アイドル状態を示す。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 関 行宏 神奈川県横浜市戸塚区戸塚町5030番地株式 会社日立製作所ソフトウェア開発本部内 (72)発明者 服部 隆一 神奈川県横浜市戸塚区吉田町292番地株式 会社日立製作所マイクロエレクトロニクス 機器開発研究所内 (72)発明者 細田 敏幸 愛知県尾張旭市晴丘町池上1番地 日立旭 エレクトロニクス株式会社内

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】中央処理装置と主記憶装置とバスマスタや
    I/Oコントローラなどの処理装置(以下これを周辺装置と
    呼ぶ)とが共通バスに接続され、前記中央処理装置は、
    ブロック単位でメインメモリ情報を保持すると共に、主
    記憶装置から取り込んだあるいは更新した共通バス上の
    アドレスに対応するブロックが存在するか否かをチェッ
    クし、存在する場合はその該当ブロックに関する情報を
    無効化するかあるいはその該当ブロックのデータを主記
    憶装置の該当するアドレス領域に書き込む処理(これら
    の処理を以下スヌープ処理と呼ぶ)を行なうキャッシュ
    メモリ制御部を供えたキャッシュメモリと、演算部とキ
    ャッシュメモリ制御部を供え、周辺装置から主記憶装置
    へのバスサイクルがキャッシュメモリのブロックサイズ
    の範囲内で連続する際は一回目のアクセス時にスヌープ
    処理を行なうのみで2回目以降のブロックサイズの範囲
    内でのスヌープ処理を省略する方式(これを以下スヌー
    プフィルタと呼ぶ)を有するスヌープ処理制御部を有す
    る情報処理システムのスヌープ処理方式において、周辺
    装置が主記憶装置へのバスサイクルを開始すると、その
    アクセスアレスに該当するキャッシュメモリ内のブロッ
    ク領域を含めたキャッシュメモリ内の連続するNブロッ
    ク分のアドレス領域(Nは2以上の任意の整数)をまとめて
    あるいは連続でスヌープすることを特徴としたスヌープ
    処理方式。
  2. 【請求項2】ブロックサイズの異なるN個(Nは2以上の整
    数)の請求項1記載の中央処理装置と請求項1記載の主
    記憶装置と請求項1記載の周辺装置とが共通バスに接続
    される情報処理システムのスヌープ処理方式において、
    おのおののN個の中央処理装置に対応するスヌープ処理
    起動信号を具備し、周辺装置から主記憶装置へのアクセ
    スの際におのおのの上記スヌープ処理起動信号は、アク
    セスアドレスが対応するおのおのの中央処理装置のキャ
    ッシュメモリのブロックサイズの範囲内で連続する場合
    は一回目のアクセス時に出力し、2回目以降のブロック
    サイズの範囲内でのスヌープ処理を省略する制御手段を
    有することを特徴としたスヌープ処理方式。
  3. 【請求項3】請求項1記載の中央処理装置を搭載するボ
    ード(以下中央処理装置ボードと呼ぶ)と請求項1記載の
    主記憶装置と請求項1記載の周辺装置が搭載されたボー
    ド(以下システムボードと呼ぶ)がコネクタで接続される
    構成の情報処理システムにおいて、請求項1記載のスヌ
    ープフィルタを実現する手段を上記中央処理装置ボード
    上に搭載することを特徴とした情報処理システム。
  4. 【請求項4】請求項1記載のスヌープフィルタの有効、
    無効を切り換えるスイッチを有することを特徴とした請
    求項1記載の情報処理システム。
  5. 【請求項5】I/Oアクセスなどのソフトウェア処理によ
    り請求項1記載のスヌープフィルタの有効、無効を切り
    換えるレジスタを有することを特徴とした請求項1記載
    の情報処理システム。
  6. 【請求項6】請求項1記載のスヌープフィルタにおい
    て、請求項1記載のブロックサイズをスイッチで任意に
    設定できる手段を有することを特徴とした請求項1記載
    の情報処理システム。
  7. 【請求項7】請求項1記載のスヌープフィルタにおい
    て、I/Oアクセスなどのソフトウェア処理により請求項
    1記載のブロックサイズを任意に設定するためのレジス
    タを有することを特徴とした請求項1記載の情報処理装
    置。
JP5193313A 1993-08-04 1993-08-04 スヌープ処理方式 Pending JPH0744460A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5193313A JPH0744460A (ja) 1993-08-04 1993-08-04 スヌープ処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5193313A JPH0744460A (ja) 1993-08-04 1993-08-04 スヌープ処理方式

Publications (1)

Publication Number Publication Date
JPH0744460A true JPH0744460A (ja) 1995-02-14

Family

ID=16305832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5193313A Pending JPH0744460A (ja) 1993-08-04 1993-08-04 スヌープ処理方式

Country Status (1)

Country Link
JP (1) JPH0744460A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5900017A (en) * 1997-05-14 1999-05-04 International Business Machines Corporation Snooping a variable number of cache addresses in a multiple processor system by a single snoop request
US5923898A (en) * 1997-05-14 1999-07-13 International Business Machines Corporation System for executing I/O request when an I/O request queue entry matches a snoop table entry or executing snoop when not matched
US6405291B1 (en) 1995-07-07 2002-06-11 Opti Inc. Predictive snooping of cache memory for master-initiated accesses

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6405291B1 (en) 1995-07-07 2002-06-11 Opti Inc. Predictive snooping of cache memory for master-initiated accesses
US5900017A (en) * 1997-05-14 1999-05-04 International Business Machines Corporation Snooping a variable number of cache addresses in a multiple processor system by a single snoop request
US5923898A (en) * 1997-05-14 1999-07-13 International Business Machines Corporation System for executing I/O request when an I/O request queue entry matches a snoop table entry or executing snoop when not matched

Similar Documents

Publication Publication Date Title
US5893153A (en) Method and apparatus for preventing a race condition and maintaining cache coherency in a processor with integrated cache memory and input/output control
US4851991A (en) Central processor unit for digital data processing system including write buffer management mechanism
JP3218773B2 (ja) キャッシュ・コントローラ
US4831581A (en) Central processor unit for digital data processing system including cache management mechanism
JPH0724045B2 (ja) メモリ制御サブシステム
US6035376A (en) System and method for changing the states of directory-based caches and memories from read/write to read-only
US5829035A (en) System and method for preventing stale data in multiple processor computer systems
JP2000242556A (ja) 仮想インデックス仮想タグデータキャッシュ用に最適化されたハードウエアクリーニング機能
WO1997004392A1 (en) Shared cache memory device
US6321299B1 (en) Computer circuits, systems, and methods using partial cache cleaning
US5813030A (en) Cache memory system with simultaneous access of cache and main memories
US5895496A (en) System for an method of efficiently controlling memory accesses in a multiprocessor computer system
EP0602805B1 (en) Cache memory systems
JPH0744460A (ja) スヌープ処理方式
JPH07121443A (ja) 情報処理システム及びその動作方法
US5276892A (en) Destination control logic for arithmetic and logic unit for digital data processor
JPH08249175A (ja) スーパースカラ・プロセッサ装置内の非アーキテクト命令を選択的にサポートする方法及び装置
JP3425421B2 (ja) マルチプロセッサシステム
JPH04211880A (ja) ワンチップ・マイクロプロセッサ及びそのバスシステム
EP0302926B1 (en) Control signal generation circuit for arithmetic and logic unit for digital processor
JPS61237145A (ja) ストアバツフアの制御方式
KR950012510B1 (ko) 다중 프로세서간 시스템 버스 사용 제어 방법
JPH02307123A (ja) 計算機
JPH0573415A (ja) 階層化キヤツシユ方式
JPS61239339A (ja) ペ−ジ・デ−タ転送制御方式