JPH0498343A - メモリ制御方式 - Google Patents

メモリ制御方式

Info

Publication number
JPH0498343A
JPH0498343A JP2210392A JP21039290A JPH0498343A JP H0498343 A JPH0498343 A JP H0498343A JP 2210392 A JP2210392 A JP 2210392A JP 21039290 A JP21039290 A JP 21039290A JP H0498343 A JPH0498343 A JP H0498343A
Authority
JP
Japan
Prior art keywords
data
address
storage device
write
processor
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
JP2210392A
Other languages
English (en)
Inventor
Hirosada Tone
利根 廣貞
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 JP2210392A priority Critical patent/JPH0498343A/ja
Publication of JPH0498343A publication Critical patent/JPH0498343A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概  要〕 主記憶装置に対する部分書き込みを全書き込みに変換す
るメモリ制御方式に関し、 複数のバッファ記憶装置間のデータの一致性を保証し、
かつ全ての場合について、部分書き込みを全書き込みに
変換できるようにすることを目的とし、 少なくとも1つの主記憶装置と、複数のプロセッサと、
該複数のプロセッサに対応した複数のバッファ記憶装置
とからなり、主記憶装置とバッファ記憶装置との間がス
トアスルー方式で管理されるメモリ制御方式において、
プロセッサから書き込み要求が発行されたとき、書き込
みアドレスが、当該プロセッサのバッファ記憶装置に専
有状態で存在するときには、該バッファ記憶装置の該当
するアドレスのデータとプロセッサの書き込みデータと
をマージして主記憶装置に全書き込みし、書き込みアド
レスが、複数のプロセッサ間で共有状態で存在するとき
には、書き込み要求を発行したプロセッサのバッファ記
憶装置の該当するアドレスのデータと書き込みデータと
をマージして主記憶装置に全書き込みし、書き込み要求
を発行したプロセッサ以外の他のプロセッサのバッファ
記憶装置の該当するアドレスのデータを無効化し、書き
込みアドレスが、当該プロセッサのバッファ記憶装置に
存在しない場合には、主記憶装置の該当するアドレスの
データを書き込みを行うバッファ記憶装置に転送し、該
転送されたデータとプロセッサの書き込みデータとをマ
ージして主記憶装置に全書き込みし、他のプロセッサの
バッファ記憶装置の該当するアドレスのデータを無効化
するよう構成する。
〔産業上の利用分野] 本発明は、主記憶装置に対する部分書き込みを全書き込
みに変換するメモリ制御方式に関する。
〔従来の技術〕
複数のプロセッサからなる計算機システムのメモリ制御
方式として、ストアスルー方式とストアイン方式が知ら
れている。
ストアスルー方式は、プロセッサからの書き込み要求が
あった場合、主記憶装置とバッファ記憶装置の両方に対
してデータの書き込みを行う方式このストアスルー方式
の特徴は、最新の書き込みデータが常に主記憶装置に書
き込まれるので、バッファ記憶装置に障害が発生しても
、データが確実に保全され信軌性の高いシステムを構成
できることである。
しかしながら、ストアスルー方式では、プロセッサから
の書き込み要求が発生する毎に、主記憶装置に対して書
き込みが行われるので、1台の主記憶装置を複数のプロ
セッサ間で共有するシステムでは、主記憶装置のビジー
時間が長くなり、システムの性能が低下するという欠点
がある。
これに対し、ストアイン方式では、プロセッサから書き
込み要求が発行されたとき、通常はデータの書き込みは
バッファ記憶装置に対してだけ行なわれ、バッファ記憶
装置に記憶されたデータブロックが新たなデータブロッ
クに置き換えられる場合にだけ、置換されるデータが主
記憶装置に書き込まれる。
従って、ストアイン方式では、主記憶装置に対するアク
セス頻度が少なくなるので、主記憶装置のビジー状態が
短くなり、システム性能が低下するのを防止できる。
しかしながら、ストアイン方式では、最新のデータがバ
ッファ記憶装置上にしか存在しないために、バッファ記
憶装置に障害が発生すると、最新のデータが失われてし
まうという欠点がある。
〔発明が解決しようとする課題〕
そこで、上述したストアスルー方式において、主記憶装
置に対するデータの書き込みを行いながら、主記憶装置
のビジーを低く保ことができれば、信輔性が高く且つ効
率の良いシステムを構築することができる。
一般に主記憶装置に対するデータの書き込みは、エラー
訂正(error checking and cor
rection)コードの付加された所定バイト数単位
(これをECC単位と呼ぶ、例えば、8バイト単位)で
行われる。ECC単位より短いプロセッサからのデータ
(例えば、4バイトのデータ)を書き込む場合には、部
分書き込みとなり、先ず主記憶装置からECC単位のデ
ータを読み出し、その読み出したデータにプロセッサの
書き込みデータをマージしてからECCコードを作成し
、作成したECC単位のデータを主記憶装置に対して書
き込むという手順でデータの書き込みが行われる。
すなわち、部分書き込みでは、主記憶装置に対し読み出
し及び書き込みの2回のオペレーション必要となるため
にアクセス回数が増大し、これが主記憶装置のビジー時
間が長くなる原因となっている。
そこで、部分書き込みを全書き込みに変換する方法が種
々提案されており、例えば特開昭50−137440号
には、単一のプロセッサシステムにおいて、部分書き込
みを全書き込みに変換する技術が開示されている。
しかしながら、この提案は、マルチプロセッサシステム
において生じる問題点を解決するものではない。マルチ
プロセッサシステムでは、複数のプロセッサがそれぞれ
のバッファ記憶装置に対してデータの書き込みを行うた
めに、1つのプロセッサの書き込みアドレスが他のプロ
セッサのバッファ記憶装置に保持されていることがある
。そこで、データの書き込みの際に、複数のバッファ記
憶装置間のデータの一致性を確保する必要がある。
例えば、特開昭51−38839号、特開昭55−33
253号には、複数のプロセサッサが主記憶装置を共有
する場合に、部分書き込みを全書き込みに変換する技術
が述べられている。
しかしながら、何れの技術も、複数のバッファ記憶装置
のデータの一致性を保ちながら、全ての場合について部
分書き込みを全書き込みに変換できるものではなかった
本発明の目的は、複数のバッファ記憶装置間のデータの
一致性を保証し、かつ全ての場合について、部分書き込
みを全書き込みに変換できるようにすることを目的とす
る。
〔課題を解決するための手段〕
第1図(a)は、本発明の原理説明図である。また、第
1図ら)は、本発明のメモリ制御方式に基づくマルチプ
ロセッサシステムのシステム構成の−41示す図である
本発明に係るマルチプロセッサシステムは、少なくとも
1つの主記憶装置5(第1図ら)参照、以下同じ)と、
複数のプロセッサ6a、6b、6Cと、それら複数のプ
ロセッサに対応した複数のバッファ記憶装置7a、7b
、7Cとからなり、主記憶装置5とバッファ記憶装置7
a〜7Cとの間はストアスルー方式で管理されている。
また、同図b)に示す記憶制御装置8は、請求項2の発
明に対応したものであり、この記憶制御装置8は、主記
憶装置5に対するデータの書き込み及び読み出しを制御
するものである。この記憶制御装置8には、各バッファ
記憶装置7a〜7cのアドレス情報の一部あるいは全部
の複写情報を記憶するTAG部8aを有している。
プロセッサ6a、6b、又は6cから書き込み要求が発
行されたとき、各バッファ記憶装置7a〜7cに登録さ
れているアドレスの状態として以下の3つの場合がある
(1)書き込みアドレスが当該プロセッサのバッファ記
憶装置に専有状態で存在するとき。
ここで専有状態とは、例えばそのアドレスが、書き込み
を行おうとするバッファ装置7aにプロセッサ6aから
の書き込み又は読み出しアドレスとして存在し、かつ他
のバッファ記憶装置7b、7cには存在しない場合であ
る。この場合、バッファ記憶装置7aの該当するアドレ
スのデータと書き込みデータとをマージして主記憶装置
5に全書き込みする。
(2)書き込みアドレスが複数のバッファ記憶装置間で
共有状態で存在するとき。
ここで共有状態とは、例えばそのアドレスが、書き込み
を行おうとするバッファ記憶装置7aにプロセッサ6a
からの書き込み又は読み出しアドレスとして存在し、他
のバッファ記憶装置f7b、7cに主記憶装置5からの
読み出し又は書き込みアドレスとして存在する場合であ
る。この場合、バッファ記憶装置7aの該当するアドレ
スのデータと、書き込みデータとをマージして主記憶装
置5に全書き込みする。さらに、他のバッファ記憶装置
7b、7cの該当するアドレスのデータを無効化する。
(3)書き込みアドレスが、当該プロセッサのバッファ
記憶装置に存在しない場合。
この場合には、主記憶部W5の該当するアドレスのデー
タを、例えば書き込みを行おうとするバッファ記憶装置
7aに転送し、その転送したデータと書き込みデータと
をマージして主記憶装置5に全書き込みする。さらに、
他のバッファ記憶部f7b、7cの該当するアドレスの
データを無効化する。
〔作  用〕
本発明のメモリ制御方式によれば、書き込みアドレスが
、書き込みを行おうとするバッファ記憶装置に専有状態
で存在するときも、複数のバッファ記憶装置間で共有状
態で存在するときも、あるいはそのバッファ記憶装置に
存在しない場合にも、何れの場合についても、主記憶装
置に対する部分書き込みを全書き込みに変換することが
できる。
例えば、書き込みを行おうとするバッファ記憶装置7a
にそのときの書き込みアドレスが存在せず、他のバッフ
ァ記憶装置7b、7Cにそのアドレスが該当するプロセ
ッサからの書き込みアドレスとして存在する場合がある
この場合には、主記憶装置5に書き込まれているデータ
をバッファ記憶装置に転送し、転送したデータと、その
ときの書き込みデータとマージして主記憶装置に全書き
込みし、さらに他のバッファ記憶装置7b、7Cの該当
するアドレスのデータを無効化することで、複数のバッ
ファ装置間に異なるデータが存在するのを防止できる。
他の場合に付いても同様に部分書き込みを全書き込みに
変換することができ、全ての場合について、データの一
致性を確保しながら、部分書き込みを全書き込みに変換
することができる。
〔実  施  例〕
以下、本発明の実施例を図面を参照しながら説明する。
第2図は、本発明のメモリ制御方式に係るマルチプロセ
ッサシステムのシステム構成図である。
同図に示すシステムは、4個のプロセッサCPtJ11
 a−CPUI 1 dと、2個の主記憶装置(MSU
)12a、12bと、それら主記憶装置12a、12b
を制御する記憶制御装置(MCU)13とで構成されて
いる。
各CPU11a〜11dは、高速、小容量のメモリで構
成されるバッファ記憶部に対する書き込み及び読み出し
を制御するバッファ記憶制御部I4(第3図)を備えて
いる。
第3図は、上記のバッファ記憶制御部14の具体的構成
を示す図である。
本実施例の各CPU11a−1idは、パイプライン制
御により命令が処理されている。第3図には詳しく示し
ていないが、各CPUには、パイプライン全体の制御と
、バッファ記憶部をアクセスするためのアドレス計算を
行うIUユニット15と、データの加減乗除算などの演
算を行う演算制御部EU16とが設けられている。
IU15から出力されるピント1からピント31までの
論理アドレスは、レジスタEAR17にセットされ比較
器22及び23に出力される。
アドレス変換バッファ (TLB)1Bは、後述するB
S DATA部20に登録されているデータの論理アド
レスと、その論理アドレスに対応する実アドレスとを記
憶しているメモリである。このTLB18には、IU1
5から出力される論理アドレスのビット13からビット
19が入力し、そのアドレスに対応するPRIMARY
 、 ALTERNATEの2つのエントリが同時に読
み出される。
レジスタEAR17から出力される論理アドレスは、比
較器22及び23により、上記のアドレス変換バッファ
TLB 18の論理アドレスと比較され、一致するアド
レスの実アドレスが読み出されて、論理アドレスから実
アドレスへの変換が行われる。このとき読み出される実
アドレスは、BSTAG部19及びレジスタRAR26
に出力される。
BS TAGAlB12WAYOからWAY7の8つの
連想レベルで構成されており、8つのWAYには主記憶
上の同じブロック群のアドレス情報が書き込まれる。
BS TAGAlB12WAY f7)出力は、それぞ
れ2×8個の比較器21に入力しており、比較器21に
おいて、TLBI8のREAL部18bから出力される
実アドレスと比較される。この比較器21の比較結果と
、比較器22及び23の比較結果とから、IU−15か
ら出力された論理アドレスがBS TAGAlB12の
WAYに存在するか、あるいは存在しないかが判る。
ここで、IU15がら出力される論理アドレスは、仮想
アドレス方式で4にバイト単位のページアドレス変換が
行われており、アドレスデータのビット1からビット3
1の内、ビット20〜31は論理アドレスと実アドレス
とが一致している。
上記のBS TAGAlB12.1015からピント2
0〜25の論理アドレス(−実アドレス)が入力してお
り、T L B 18 f7) LOGICAL部18
a(7)比較結果を待たずに、REAL部18bと各W
AYのアドレスデータとを比較できるようになっている
。これにより、BS TAGAlB12索が高速化され
る。
本実施例では、BS TAG部I9には、エントリーの
有効、無効を示すVALII) BIT: Vフラグと
ビット1からビットI9からなる実アドレスビットに加
え、BS TAGAlB12録されているアドレスに対
して、プロセッサからの書き込みが行われたか否がを明
示するCHANGE BIT: Cフラグを設けている
。このCフラグは、プロセッサが書き込みを行ったとき
「1」にセットされ、他のプロセッサが同一アドレスに
対して書き込みを行ったとき「o」にリセントされるよ
うになっている。
BS DATA部20は、BS TAGAlB12AY
数に対応した構成を有するデータメモリである。このB
S DATA部20ムこは、BS TAGAlB12し
て1マシンサイクル遅れて、EAR17から論理アドレ
ス(実アドレス)のビット20〜ビツト25が出力され
、そのアドレスで指定されるデータが読み出される。
このBS DATA部20に記憶されるデータの書き換
えは、L RU (Least Recently U
sed)方式で行われており、参照頻度の低いものから
順にBS TAGAlB12BS DATA部20から
追い出される。
BS DATA部20から読み出されるデータは、AL
IGN&5ELECT回路24により、比較器21の比
較結果に基づいて所望のデータWAYが選択され、同時
にWORD REG25のどの方向からデータを格納す
るか、すなわちWORD REG25の先頭からデータ
を格納するか、あるいはWORD REG25の後ろか
らデータを格納す−るかが決定される。
WORD REG25に格納された命令語、オペランド
データ等は、IU15に出力されて命令のデコード、演
算用オペランドデータとして使用される。
TLB I 8において、論理アドレスがら実アドレス
に変換されたアドレスデータ(TLB18の出力B、C
)は、リアルアドレスレジスタ(RAR)26にセット
される。このRAR26にセ・ントされたアドレスデー
タは、主記憶装置(MSU)12a又は12bのアクセ
スタイミングのギャプを吸収するために、−旦レジスタ
5TAR27に記憶される。
CPUの書き込みデータは、EU16がらE−UNIT
 5TORE DATAハスを経てALIGN回路28
に取り込まれる。ALIGN回路28の出力は、BS 
DATAlB28書き込みデータとしてレジスタ5DR
29に出力されると共に、主記憶装置への書き込みデー
タとしてストアバッファ(STB)30にセットされる
ストアアドレスレジスタ(STAR)27及びストアバ
ッファ(STB)30にセットされた書き込みアドレス
及び書き込みデータは、MCUI3が受付可能となった
とき、セレクタ31.32及びレジスタMSAR33及
びMDI34を経て出力される。
また、レジスタBIAR35は、後述するMCU13か
ら出力されるブロック転送アドレス、あるいは無効化す
べきアドレスを記憶する回路である。
上述したバッファ記憶制御部14と同じ構成の回路が各
CPUI I a〜lidに設けられており、それぞれ
のバッファ記憶制御部14のMSAR33及びMD I
 34には、MCU13の状態に関わらずアドレス及び
データがセットされ、それらのデータがパイプライン処
理とは独立にMCU13に出力される。
次に、MCU (記憶制御装置)13の回路構成を第5
図により説明する。
MCU13には、4個のCPU11a 〜lidに対応
して、それぞれのアクセス要求を記憶する4個のボート
41a〜41dが設けられている。
このボート41a〜4]dに記憶されたアクセス要求は
、プライオリティ回路42によりパイプライン使用権の
優先順位が決められ、最も優先度の高いリクエストがタ
イミングレジスタT1に送られる。そして、次のタイミ
ングにタイミングレジスタT2から主記憶装置(MSU
)12a又は12bに出力されると共に、タイミングレ
ジスタT3に出力される。タイミングレジスタT3〜T
7は、読み出し及び書き込みのオペレーションのタイミ
ングを取るためものである。
タイミングレジスタT1から出力されるリクエストが、
CPUからの書き込み要求であったときには、そのとき
の書き込みアドレスと一致するアドレスが他のCPUに
存在するか否かをTAG部43a〜43dを参照して調
べる。ここで、TAG部43a〜43dとは、前述した
バッファ記憶制御部14のBS TAGAlB12ドレ
ス情報のコピーを、CPU毎に記憶している回路である
第6図は、MCU13のTAG部43 a 〜43 d
の構成図である。TAG部43a〜43dは、第4図に
示したバッファ記憶制御部14のBS TAGAlB1
2ぼ同様の構成を有している。 BS TAGAlB1
2なる点は、CHANGE BIT: Cが設けらてい
ないことである。
第5図に戻り、CPUからのリクエストがあると、TA
G部43a〜43dから書き込みアドレスに対応したア
ドレス情報が順次読み出され、比較器44a〜44dに
より、読み出されたアドレスとIU15からの書き込み
又は読み出しアドレスとが比較される。そして、一致す
るアドレスが存在すると、そのアドレス情報が対応する
レジスタBr45a〜45dに出力される。このレジス
タB147a〜47dから出力されるアドレス情報は、
前述した各CPUのバッファ記憶制御部14のレジスタ
BIAR35に出力される。
このとき、CPUからのリクエストがバッファ記憶部に
対する書き込み要求で、他のCPUに同一のアドレスが
存在する場合には、他のCPUに対して該当するアドレ
スを無効化する指示が出される。
レジスタMSRDI46は、主記憶装置(MStJ)1
2a、12bから読み出されるデータを記憶するレジス
タである。このレジスタMSRD 146に記憶された
データは、SYNDROMEチェンク回路(SYD)4
7でECCコードがチエツクされた後、レジスタMSR
DII48に記憶される。
レジスタMSRDII48に記憶されたデータは、Co
RRECT回路(COR)49でエラー訂正がなされた
後、レジスタMSRDI[[50及びMCUDO51を
経て、対象となるCPUに出力される。
ボートDI PORT52は、4個のcpuがら出力さ
れる書き込みデータを記憶する4個のレジスタで構成さ
れており、このDT PORT 52に記憶されたデー
タの中で優先権の与えられたボートに対応するデータが
、ナレツジ53で選択されMSWDr54に記憶される
。MSWD I 54の出力データに対し、GEN部5
5でECCコードが作成され、そのECCコードが付加
されたデータが、MSWDI156を経てMSU12a
又は12bに書き込みデータとして出力される。
次に、主記憶装置(MSU)12a、12bの構成を第
7図により説明する。
本実施例のMSU12a、12bのメモリ61は、同時
に動作可能な複数のバンクで構成されている。これは1
つのメモリアクセスを実行するのに、通常複数のマシン
サイクルを要するので、異なったバンクの別のアドレス
を同時にアクセスできるようにして、主記憶装置のスル
ープットを向上させるためである。
例えば、第7図に示したMSUでは、レジスタADR6
2に記憶されるMCU13からの読み出しアドレスの下
位アドレスを、8バイト単位で変化させることにより、
8個のバンクを同時にアクセスすることができる。これ
ら8個のバンクから読み出された8 X 8 =64ハ
イドのデータは、レジスタDOR63に保持されてMC
U13に出力される。
また、書き込みの場合は、MCU13から出力されたデ
ータがレジスタDIR64に記憶され、そのデータがレ
ジスタADR62のアドレスで指定されるバンクに書き
込まれる。
次に、本発明に係るメモリ制御方式に基づく、データの
読み出し及び書き込み処理の内容を、第8図及び第9図
のフローチャートを参照して説明する。
以下では、CPU11aから読み出し、あるいは書き込
み要求が発行されたときのCPU1i’aのバッファ記
憶制御部I4及びMCUI3の動作を説明する。
先ず、読み出しの場合の動作を第8図のフローチャート
を参照して説明する。
バッファ記憶制御部14は、BS TAG部19のアド
レス情報と、rU15から出力される読み出しアドレス
とを比較し、一致するアドレスが存在するか否かを判断
する(第8図、SL)。
読み出しアドレスと同一のアドレスがBS TAG部1
9に存在する場合には、バッファ記憶制御部14は、そ
のアドレスに対応したデータをBS DATA部20か
ら読み出しWORD REG25にセットして(S2)
、読み出し処理を終了する。
一致するアドレスがBS TAG部19に存在しない場
合には、CPU11aは、MCU13に対しブロック読
み出し要求を発行する(S3)。
CPUからのブロック転送要求を受は付けると、MCU
13は、MSU12a又は12bから該当するアドレス
のブロックデータを読み出す(S4)。
さらに、MCU13の対応するTAG部43a〜43d
に、このときのブロックアドレスを登録し、VAuD 
BIT: Vを「1」にする(S5)。
バッファ記憶制御部I4では、MSUI2a又は12b
から転送されるブロックアドレスを、BSTAG部19
に全19、さらにそのアドレスに付いてはデータの書き
込みとなるので、BS TAG部19のVALID B
ITをV = 1 、CHANGE BITをC=1に
設定するする(S6)。
そして、MSU12a又は12bからフロック転送され
たデータをバイパスさせてIU15に出力する(S7)
次に、cpuiiaから書き込み要求が発行された場合
の動作を、第9図のフローチャートを参照して説明する
先ず、バッファ記憶制御部14は、BS TAG部19
に、IU15からの書き込みアドレスと一致するアドレ
スが存在するか否かを調べる(第9図、S8)。
一致するアドレスがBS TAG部19に存在する場合
には、次にBS TAG部19のCHANGE BTT
 : Cが「1」かどうかを判別する(S9)。
このとき、IU15からの書き込み要求に対して該当す
るアドレスがBS TAG部19に存在し、がつC=1
であれば、CPU11aのバッファ記憶制御部14には
、最新のデータが書き込まれていることを示している。
そこで、BS DATA部2oの該当するアドレスのデ
ータを読み出し、その読み出したデータと書き込みデー
タとを、ストアバンファ(STB)30でマージして、
8バイトのデータとしてMCU13に出力する。さらに
、このときの書き込みデータをBS DATA部2oの
該当するアドレスに書き込む(S9)。
これにより、MCUI3は1回のオペレーションでMS
Uにデータを書き込むことができ、部分書き込みを全書
き込みに変換することができる。
また、IUI5からの書き込み要求に対して該当するア
ドレスがBS TAG部19に存在し、かつC=0であ
れば、BS DATA部20にはMSU12a又は12
bからの読み出しデータが記憶されていることになる。
この場合には、先ずMCU13に対して746部43a
〜43dの検索要求が出力される(Sll)MCU13
では、この検索要求に対応して、そのときの書き込みア
ドレスから746部43a〜43dを検索し、他のCP
Uに一致するアドレスが存在するか否を調べる(S12
)。
746部43a〜43dの何れかに一致するアドレスが
存在したなら、MCU13は、対応するCPUに対して
、自己のBS TAG部19の該当するアドレスを無効
化するように指示する(S13)。
MCUI3から無効化の指示を受は取ると、各CPUは
、例えばBS TAG部19の■フラグを「0」に、C
フラグを「0」して、該当するアドレスを無効化する。
ステップ312の判別で、MCU13の746部43a
〜43dに一致するアドレスが存在しないとき、又はス
テップ313において他のCPUのBS TAG部19
の該当するアドレスが無効化された後には、書き込み要
求を発行したCPUは、自己のBS TAG部19の該
当するアドレスのCフラグにrl、を設定する(S14
)。
その後、上述したステップSIOにおいて、EU16か
らの書き込みデータを、BS DATA部20の該当す
るアドレスに書き込む。
ステップS8の判別において、IU15から出力された
書き込みアドレスが自己のBS TAG部19に存在し
ない場合には、ステップ315に進みMCU13に対し
て排他的ブロック読み出し要求を発行する。
MCU13では、このブロック読み出し要求に対応して
、そのときの読み出しアドレスと一致するアドレスが7
46部43a〜43dに存在するか否かを判別する(S
16)。
一致するアドレスが746部43a〜43dに存在した
なら、対応するCPUにアドレスの無効化を指示する(
S17)。
ステップS16の判別で746部43a〜43dに一致
するアドレスが存在しなかったとき、あるいはステップ
S17で他のCPU0BS TAG部19の該当するア
ドレスを無効化した後には、MSU12a又は12bに
対してブロック転送要求を発行する(318)。
さらに、このとき書き込み要求を発行したCPU1la
に対応するTAG部、例えばTAG部43aにブロック
転送アドレスを登録する(S19)。
CPU11aのバッファ記憶制御部14では、MSU1
2a又は12bからブロック転送されたデータの書き込
みが行われるので、その書き込みアドレスのVフラグに
「1」を設定しアドレスを有効とし、さらにCフラグに
「1」に設定してデータの書き込みが行われたことを記
憶する(S20)。
その後、上述したステップSIOに進み、MSU12a
又は12bから転送されるデータを、BS DATA部
20の該当するアドレスに書き込む。
以上のように上記実施例では、例えば複数のCPUのバ
ッファ記憶部のアドレス情報(BS TAG部19のア
ドレス情報のコピー)を、MCU13の746部43a
〜43dに保持し、書き込みアドレスが複数のCPU間
で共有されているときには、書き込み要求を発行したC
PU以外の他のCPU0BS TAG部19の該当する
アドレスを無効化するようにした。これにより、それぞ
れのCPU0BS DATA部20には、書き込み及び
読み出しの際に常に最新のデータが記憶されることにな
る。
従って、書き込み要求を発行したCPU0BS TAG
部19に書き込みアドレスが存在するときには、BS 
DATA部20に記憶されているデータと、書き込みデ
ータとをマージしたデータを主記憶装置に書き込むこと
で、データの一致性を確保しながら部分書き込みを全書
き込みに変換することができる。また、BS TAG部
19に書き込みアドレスが存在しないときるこけ、その
アドレスのデータを主記憶装置から転送し、その転送し
たデータと書き込みデータをマージして書き込めば良い
二のように、本発明のメモリ制御方式によれば、マルチ
プロセッサシステムにおいて、データの一致性を確保し
ながら、全ての場合について部分書き込みを全書き込み
に変換することができる。これにより、主記憶装置に対
すアクセス回数を減らしシステムの効率を向上させるこ
とができる。
尚、上記実施例では、複数のCPUで構成されるシステ
ムにおいて、部分書き込みを全書き込みに変換する場合
について説明したが、1個のCPUでシステムを構成す
る場合には、従来のメモリ制御方式で充分であるので、
上述したバッファ記憶制御部14内に、本発明のメモリ
制御方式を実現する回路をバイパスさせる手段を設け、
マルチCPUの場合とシングルCPUの場合とで、回路
を切り換えられるようにしても良い。
また、主記憶装置のデータをブロック転送する際に、例
えばBS DATA部20への転送が完了してから、ス
トアバッファ5TB30にそのブロックデータをセット
するのではなく、ブロック転送と並行してストアバソフ
ァ5TB30にデータをセットすることもできる。デー
タ転送と並行してストアバッファにデータをセットする
ことにより、主記憶装置にデータを書き込む際の時間を
さらに短縮することができる。
〔発明の効果〕
本発明によれば、複数のバッファ記憶装置間及びバッフ
ァ記憶装置と主記憶装置間でのデータの一致性を保証し
ながら、全ての場合について部分書き込みを全書き込み
に変換できるので、主記憶装置に対するアクセス回数を
減らし、システムの処理効率をより向上させることがで
きる。
【図面の簡単な説明】
第1図(a)、(ロ)は、本発明の原理説明図、第2図
は、実施例のマルチプロセッサシステムのシステム構成
図、 第3図は、バッファ記憶制御部14の回路構成図、 第4図は、第3図のBS TAG部の構成図、第5図は
、MCUの回路構成図、 第6図は、MCUのTAG部の構成図、第7図は、MS
Uの構成図、 第8図は、データ読み出し時のフローチャート、第9図
は、データ書き込み時のフローチャートである。 5.12a、12b−−・主記憶装置(MSU)、6a
〜6c・・・プロセッサ、 7a〜7c・・・バッファ記憶装置、 11a 〜lid・−−CPU、 13・・・記憶制御装置(MCU)、 14・・・バッファ記憶制御部。

Claims (1)

  1. 【特許請求の範囲】 1)少なくとも1つの主記憶装置と、複数のプロセッサ
    と、該複数のプロセッサに対応した複数のバッファ記憶
    装置とからなり、主記憶装置とバッファ記憶装置との間
    がストアスルー方式で管理されるメモリ制御方式におい
    て、 プロセッサから書き込み要求が発行されたとき、書き込
    みアドレスが、当該プロセッサのバッファ記憶装置に専
    有状態で存在するときには(1a)、該バッファ記憶装
    置の該当する、アドレスのデータとプロセッサの書き込
    みデータとをマージして主記憶装置に全書き込みし(1
    b)、 書き込みアドレスが、複数のプロセッサ間で共有状態で
    存在するときには(2a)、 書き込み要求を発行したプロセッサのバッファ記憶装置
    の該当するアドレスのデータと書き込みデータとをマー
    ジして主記憶装置に全書き込みし(2b)、 書き込み要求を発行したプロセッサ以外の他のプロセッ
    サのバッファ記憶装置の該当するアドレスのデータを無
    効化し(2c)、 書き込みアドレスが、当該プロセッサのバッファ記憶装
    置に存在しない場合には(3a)、主記憶装置の該当す
    るアドレスのデータを書き込みを行うバッファ記憶装置
    に転送し(3b)、該転送されたデータとプロセッサの
    書き込みデータとをマージして主記憶装置に全書き込み
    し(3c)、 他のプロセッサのバッファ記憶装置の該当するアドレス
    のデータを無効化する(3d)ことを特徴とするメモリ
    制御方式。 2)少なくとも1つの主記憶装置と、主記憶装置に対す
    る書き込み及び読み出しを制御する記憶制御装置と、複
    数のプロセッサと、該複数のプロセッサに対応した複数
    のバッファ記憶装置とからなり、主記憶装置とバッファ
    記憶装置との間がストアスルー方式で管理されるメモリ
    制御方式において、 前記記憶制御装置に、前記複数のバッファ記憶装置に記
    憶されているアドレス情報の一部もしくは全部の複写情
    報を記憶するTAG部を設け、プロセッサから書き込み
    要求が発行されたとき、書き込みアドレスが、当該プロ
    セッサのバッファ記憶装置に存在し、かつ前記記憶制御
    装置のTAG部に他のプロセッサの同一アドレスが登録
    されていないときには、 当該プロセッサのバッファ記憶装置の該当するアドレス
    のデータと、書き込みデータとをマージして主記憶装置
    に全書き込みし、 書き込みアドレスが、当該プロセッサのバッファ記憶装
    置に存在し、かつ前記記憶制御装置のTAG部に他のプ
    ロセッサの同一アドレスが登録されているときには、 当該プロセッサのバッファ記憶装置の該当するアドレス
    のデータと、書き込みデータとをマージして主記憶装置
    に全書き込みし、 前記TAG部に書き込みアドレスと同一のアドレスが登
    録されている他のプロセッサに対して、自己のバッファ
    記憶装置の該当するアドレスのデータを無効化する指示
    を与え、 書き込みアドレスが、当該プロセッサのバッファ記憶装
    置に存在しないときには、 主記憶装置上の該当するアドレスのデータを、当該プロ
    セッサのバッファ記憶装置に転送し、該転送されたデー
    タと書き込みデータとをマージして主記憶装置に全書き
    込みし、 前記TAG部に書き込みアドレスと同一のアドレスが登
    録されている他のプロセッサに対して、自己のバッファ
    記憶装置の該当するアドレスのデータを無効化する指示
    を与えることを特徴とするメモリ制御方式。 3)前記バッファ記憶装置に登録されるアドレスに対応
    させ、プロセッサからのデータの書き込みが行われたと
    きセットされ、他のバッファ記憶装置において同一アド
    レスに対してデータの書き込みが行われたときリセット
    されるチェンジフラグを設け、 プロセッサから書き込み要求が発行されたとき、書き込
    みアドレスが、当該プロセッサのバッファ記憶装置に存
    在し、かつ前記記憶制御装置のTAG部に他のプロセッ
    サの同一アドレスが登録されていないときには、 当該プロセッサのバッファ記憶装置の該当するアドレス
    のデータと、書き込みデータとをマージして主記憶装置
    に全書き込みし、 書き込みアドレスが、当該プロセッサのバッファ記憶装
    置に存在し、かつ前記記憶制御装置のTAG部に他のプ
    ロセッサの同一アドレスが登録されているときには、 当該プロセッサのバッファ記憶装置の該当するアドレス
    のデータと、書き込みデータとをマージして主記憶装置
    に全書き込みし、 前記TAG部に書き込みアドレスと同一のアドレスが登
    録されている他のプロセッサに対して、自己のバッファ
    記憶装置の該当するアドレスのチェンジフラグ及びデー
    タを無効化する指示を与え、書き込みアドレスが、当該
    プロセッサのバッファ記憶装置に存在しないときには、 主記憶装置の該当するアドレスのデータを、当該プロセ
    ッサのバッファ記憶装置に転送し、該転送されたデータ
    と書き込みデータとをマージして主記憶装置に全書き込
    みし、 前記TAG部に書き込みアドレスと同一のアドレスが登
    録されている他のプロセッサに対して、自己のバッファ
    記憶装置の該当するアドレスのチェンジフラグ及びデー
    タを無効化する指示を与えることを特徴とする請求項2
    記載のメモリ制御方式。 4)前記主記憶装置の該当するアドレスのデータをバッ
    ファ記憶装置に転送する際、並行して該転送データと書
    き込みデータとをマージしてストアバッファにセットす
    ることを特徴とする請求項1、2又は3記載のメモリ制
    御方式。 5)前記バッファ記憶装置に登録されているアドレスを
    参照して書き込みを行うモードと、参照せずに書き込み
    を行うモードとを選択できるモード選択手段を設けたこ
    とを特徴とする請求項1、2又は3記載のメモリ制御方
    式。
JP2210392A 1990-08-10 1990-08-10 メモリ制御方式 Pending JPH0498343A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2210392A JPH0498343A (ja) 1990-08-10 1990-08-10 メモリ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2210392A JPH0498343A (ja) 1990-08-10 1990-08-10 メモリ制御方式

Publications (1)

Publication Number Publication Date
JPH0498343A true JPH0498343A (ja) 1992-03-31

Family

ID=16588574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2210392A Pending JPH0498343A (ja) 1990-08-10 1990-08-10 メモリ制御方式

Country Status (1)

Country Link
JP (1) JPH0498343A (ja)

Similar Documents

Publication Publication Date Title
US5586294A (en) Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
CA1325290C (en) Write back buffer with error correcting capabilities
US4551799A (en) Verification of real page numbers of stack stored prefetched instructions from instruction cache
US5347636A (en) Data processor which efficiently accesses main memory and input/output devices
US5598550A (en) Cache controller for processing simultaneous cache accesses
US5461718A (en) System for sequential read of memory stream buffer detecting page mode cycles availability fetching data into a selected FIFO, and sending data without aceessing memory
JPH0345407B2 (ja)
US4831581A (en) Central processor unit for digital data processing system including cache management mechanism
EP0159713B1 (en) Apparatus for controlling merging of data parts into a cache unit
US5119484A (en) Selections between alternate control word and current instruction generated control word for alu in respond to alu output and current instruction
US5226170A (en) Interface between processor and special instruction processor in digital data processing system
US5339397A (en) Hardware primary directory lock
US5361342A (en) Tag control system in a hierarchical memory control system
EP0380842A2 (en) Method and apparatus for interfacing a system control unit for a multiprocessor system with the central processing units
US5051894A (en) Apparatus and method for address translation of non-aligned double word virtual addresses
EP0159712A2 (en) Control means in a digital computer
US4737908A (en) Buffer memory control system
US5510973A (en) Buffer storage control system
US5276892A (en) Destination control logic for arithmetic and logic unit for digital data processor
JPS6079446A (ja) 多重仮想記憶デ−タ処理装置
JP2637320B2 (ja) バッファ記憶制御方式
JPH0498343A (ja) メモリ制御方式
JPS59112479A (ja) キヤツシユメモリの高速アクセス方式
JPH0546475A (ja) バツフア記憶制御方式