JPS5927994B2 - コンピユ−タシステム - Google Patents

コンピユ−タシステム

Info

Publication number
JPS5927994B2
JPS5927994B2 JP52069648A JP6964877A JPS5927994B2 JP S5927994 B2 JPS5927994 B2 JP S5927994B2 JP 52069648 A JP52069648 A JP 52069648A JP 6964877 A JP6964877 A JP 6964877A JP S5927994 B2 JPS5927994 B2 JP S5927994B2
Authority
JP
Japan
Prior art keywords
cache
address
store
main memory
data
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
Application number
JP52069648A
Other languages
English (en)
Other versions
JPS544543A (en
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.)
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 JP52069648A priority Critical patent/JPS5927994B2/ja
Publication of JPS544543A publication Critical patent/JPS544543A/ja
Publication of JPS5927994B2 publication Critical patent/JPS5927994B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 この発明は複数の中央処理装置(以下CPUという)そ
れぞれに高速メモリ(以下キャッシュ(Cache)と
いう)を備えたコンピュータシステムの改良に係る。
第1図にコンピュータシステムのブロック構成を示す。
1および2はCPUであり、それぞれキャッシュ3、4
を有する。
なお上記キャッシュ3および4の制御は対応するCPU
が行う。5は主メモリ、6、Tは入出力制御装置(以下
IOPという)であり、図示していない入出力装置と主
メモリ5との間のデータ転送の制御を行う。
8はCPU1および2と主メモリ5との間のデータ転送
あるいはIOP6および7と主メモリ5との間のデータ
転送に供されるメモリバス、9はCPUI、2およびI
OP6、Tのうちいずれかがメモリバス8を占有して使
用することを許すためのバス制御装置(以下BCUとい
う)、10はキャッシュ3、4のデータを無効化するた
めのキャッシュ無効化要求線である。
このようなシステム構成においてキャッシュ3または4
の詳細を第2図を用いて説明する。
第2図においてキヤツシユ3(または4)はCPUl(
または2)のキヤツシユであり、連続するアドレスの数
ワードごとに分割してプロツク「0」からプロツク「n
」に分けてある。11は、キヤツシユ3(または4)の
各プロツクを管理するためのデータを記憶する回路と、
制御する回路とを有するアドレスアレーであり、このア
ドレスアレーは対応するCPU内にある。
上記アドレスアレー11の中のデータを記憶する回路は
キヤツシユと同様にプロツク「0」からプロツク「n」
に分けてあり、これらのプロツクは、キヤツシユのプロ
ツクと1対1の関係にある。12はアクセス指示線であ
り、キヤツシユ3(または4)およびアドレスアレー1
1が遂行すべき動作指示の信号およびアドレス信号を送
るものである。
13はアクセスプロック指示線であり、キヤツシユ3(
または4)に対してストアサイクル、フエツチサイクル
を行う場合に、使用するキヤツシユのプロツクを指示、
および動作指示を行うためのものである。
14はキャツシユ3(または4)にストアデータを送る
ためのストアデータ線、15はキャツシユ3(または4
)からフエツチしたデータを送るフエツチデータ線であ
る。
なお上記各線はCPUの論理回路につながれていること
はいうまでもない。第3図はアドレスアレー11の各プ
ロツクが記憶しているデータのフイールド分割を示して
おり、16は複数のキヤツシユプロツクを識別する識別
ビツトであり、主メモリ5からキヤツシユプロツクにデ
ータを転送した際のアドレスを保持する。17は有効ビ
ツトであり、キャツシユプロツクに記憶しているデータ
、あるいは識別ビツト16が有効であるか否かを示すも
ので、例えば論理的ゞ 1″の場合を有効とし、″O″
の場合を無効であるとする。
18は修正ビツトであり、主メモリ5からキャツシユへ
転送したのちにデータを修正したか否かを示すもので、
例えば論理的ゞ 1″の場合を修正とし、ゞ0/′の場
合を未修正とする。
19はその他のビツトであり必要に応じて有する。
ところでキヤツシユ3(または4)と主メモリ5を備え
たコンピユータシステムにおいてキヤツシユ3(または
4)と主メモリ5に対するデータストアが生じた場合、
その扱い方には2つの方式がある。
その1つはストアスルー(StOreThrOugtl
)方式であり、他の1つはノンストアスルー(NOnS
tOreThrOugh)方式である。ストアスルー方
式では、キヤツシユ3(または4)と主メモリ5のデー
タを常に一致させる方式である。例えばCPUlからの
ストアサイクルが発生した場合、主メモリ5の内容を書
換えると同時に、キヤツシユ3に該当アドレスのデータ
があれば、そのデータの書換え(即ち修正)を行う。ノ
ンストアスルー方式では、最新のデータがキヤツシユ3
(または4)にのみ存在することを許す方式である。例
えばCPUlからのストアサイクルが発生した場合、キ
ヤツシユ3に該当アドレスのデータがあれば、そのデー
タのみを書換え(即ち修正)し、主メモリ5の内容は前
のままにしておき、キヤツシユ3に該当アドレスのデー
タがなければ、主メモリ5の内容を書換えを行う。スト
アスルー方式、ノンストアスルー方式のいずれにおいて
も、システム統轄プログラムにより、主メモリ5の内容
に関しページ追出しが発生した場合、システム統轄プロ
グラムは、そのページの内容を直ちに破棄するか、ある
いはそのページの内容をデイスクに戻した後に破棄する
かを判断する。判断の結果直ちに破棄となつた場合、シ
ステム統轄プログラムはアドレスアレー11の各プロツ
クが記憶しているデータの中で、該当するページの範囲
を無効とする(即ち有効ビツト17を″0″とする)手
続きを行う。判断の結果そのページの内容をデイスクに
戻した後に破棄すると判断した場合、ストアスルー方式
では、主メモリ5の内容を直ちにデイスクを戻す手続を
、ノンストアスルー方式では、キヤツシユ3および4の
データの中から該当するページの範囲で、書換えのあつ
たデータを主メモリ5に戻す手続きをしてから、主メモ
リ5のそのページの内容をデイスクに戻す手続きを、シ
ステム統轄プログラムは行う。その後システム統轄プロ
グラムは、アドレスアレー11の各プロツクが記憶して
いるデータの中で、該当するページの範囲を無効とする
手続きを行う。以上のストアスルー方式、ノンストアス
ルー方式において、いずれの場合においてもデータスト
アを行う場合にはメモリバス8およびキャツシユ無効化
要求線10を使用し、必要に応じてキャツシユプロツク
のデータの無効化を図る。データの無効化はメモリバス
8上の無効化のためのアドレスとキヤツシユ無効化要求
線10による無効化要求を受けたCPUがアクセス指示
線12にその信号を送り、無効化のためのアドレスと一
致する識別ビツト16があればその有効ビツト17を論
理的ゞO″にセツトすることにより行う。キヤツシユ無
効化要求を受けたCPUは常にそれまでのデータ処理を
中断し、キヤツシユ無効化要求に対する処理のために時
間を費やさなければならない。
従来は第4図に示す条件の成立するときにキヤツシユ無
効化要求を出していたためキヤツシユ無効化要求の発生
頻度が多く、CPUにおける本来のデータ処理時間が短
くなつていた。この発明はこのような従来の欠点をなく
し、キャツシユ無効化要求の発生頻度を減少させCPU
における本来のデータ処理時間を長くし、処理能力を向
上させたコンピユータシステムを提供することにある。
以下この発明を説明するが説明の便宜上次のようなコン
ピユータシステムであるとする。
すなわちメモリバス8、ストアデータ線14、フエツチ
データ線15におけるストア.フエツチデータの転送は
1回に8バイト(ダブルワード)で行う。キヤツシユ3
(または4)における各キャツシユプロツクの記憶容量
は32バイトで、アドレスは連続している。論理アドレ
スあるいは翻訳後の実アドレスをビツト「8」からビツ
ト「3Uで表示する。これを第5図に示す。第5図の2
0はダブルワード内のバイトを表示する。21はダブル
ワード単位によるアドレス表示をする。
22は1つのキヤツシユプロツクに記憶されるアドレス
の範囲であり、23はアドレスアレー11をアクセスす
る時に使用するアドレスの範囲である。
第6図にこの発明に関する論理回路を示す。第6図の回
路はキヤツシユ無効化要求の発生頻度を少なくすること
を実現する回路の主要部であり、第6図の回路はIOP
6,7あるいはCPUl,2の中に設けてある。第6図
の24はアドレスレジスタまたはゲートであり、メモリ
をアクセスしようとする際のアドレスを出力する。25
は24の全ビツトのアドレス信号線である。
26は24のビツト[8」からビツト「26」までのア
ドレス信号線である。
27はアドレスレジスタであり、次の28による信号で
その時のアドレスを保持する。
28はメモリをアクセスするサイクルがストアサイクル
であるときセツト信号を出すストア時セツト信号線であ
る。
29は26と27の出力を比較する比較器である。
30は29における比較の結果の一致、不一致を示す出
力信号線である。
31は1ビツトからなるフリツプフロツプ(以後FFと
いう)である。
32は31のセツト.りセツトを行わせる信号線である
33は31のセツト.りセツト状態を示す出力信号線で
ある。
第6図の回路をIOP6に備えたときの説明を次に行う
。この説明は第1図における他のIOPに対しても全く
同様である。IOP6が主メモリ5に連続する「A」ア
ドレスから「B」アドレスまでストアする命令を実行す
るものとする。IOP6は最初の「A」アドレスのスト
アサイクル終了後FF3lをセツトし、最後の[B」ア
ドレスのストアサイクル終了後FF3lをりセツトする
。10P6はメモリバス8を占有してストアサイクルを
実行するときメモリバス8のアドレス信号線にアドレス
信号線25の信号を送る。
IOP6はさらにストア時セツト信号線28を使用して
アドレスレジスタ27にストアサイクルにおけるアドレ
スをセツトする。IOPはさらに次の条件(イ)の成立
するサイクルでキヤツシユ無効化要求線10に要求信号
を送る。条件(ホ):条件(ロ)かつ条件(ト)である
条伴卜):(比較器29で26の信号と27の出力信号
が一致しない)あるいは(FF3lがりセツトである)
以上の事柄を第5図で説明すると次のようになる。
最初のストアサイクルでキヤツシユ無効化要求を、一回
送つた後23の範囲が同じ限り以後のストアサイクルで
キヤツシユ無効化要求を送らない。い。既ち同一のキヤ
ツシユプロツクの範囲に対しては1回のみキヤツシユ無
効化要求を送るわけである。この方式によれば主メモリ
5に連続する「A」アドレスから「B」アドレスまでス
トアする際に、キャツシユ無効化要求の発生頻度は従来
の約4分の1に減少する。第6図の回路をCPUlに備
えたときの説明を次に行う。
この説明は第1図における他のCPUに対しても全く同
様である。CPUlはメモリに対してフエツチサイクル
とストアサイクルを不規則に要求するものとする。CP
Ulがキャツシユ3あるいは主メモリ5をアクセスする
時アドレスとしてアドレス信号線25の信号を送る。C
PUlはアドレスレジスタ27にストア時セツト信号線
28を使用し,て、ストアサイクルにおけるアドレスを
セツトする。CPUlはFF3lのセツト、りセツトを
、CPUlにおける機械語命令あるいはさらに細かいレ
ベルのマイクロ命令等の制御により行う。CPUlはさ
らに次の条件(7)の成立する時にキャツシユ無効化要
求線10に要求信号を送る。条件(7):条件イ)かつ
条件(ト)であるなおFF3lを最初のストアサイクル
終了時でセツトした後できるだけセツトのままに置きキ
ヤツシユ無効化要求の発生頻度を減少させるが、必要に
応じてFF3lのりセツトを行い(例えば、CPU2の
主メモリ5からのフエツチサイクル時メモリバス8上の
アドレスとCPUl内のレジスタ・27出力を比較し、
一致すればFF3lをりセツトする。
この比較は、CPUlからのストアサイクル、フエツチ
サイクルと同時に行うことができるため、CPUlの処
理を止めることによる性能低下はない。)、システムに
おける記憶データの予盾が生ずることを防ぐ。このよう
にしてCPUlにおけるキヤツシユ無効化要求の発生頻
度を従来のものより減少させる。このようにしてキヤツ
シユ無効化要求の発生頻度を減少させCPUにおける本
来のデータ処理時間を長くしたコンピユータシステムを
得ることができる。
今までの説明ではストア.フエツチのデータ転送は1回
に8バイト、キヤツシユにおける各プロツクは32バイ
ト、アドレス表示をビツト「8」からビツト「31]で
行うとしたが、適宜変更してもよいことはいうまでもな
い。
第6図のFF3lは独立なFFとして扱つたが、FF3
lのかわりにアドレスレジスタ27にlビツトを付加さ
せ、28によるアドレスのセツトと同時に付加した1ビ
ツトのセツトを行い、必要に応じてアドレスと付加した
1ビツトを同時にりセツトしても今までの説明と同じ結
果を得ることができる。
さらにアドレスレジスタ27とFF3lのかわりに小容
量なメモリを使用し、ストアサイクルのときにその小容
量メモリから読出してキャツシユ無効化要求を送る否か
の判断を行つても今までの説明の同じ結果を得ることが
できる。第1図の構成においてCPUを1台とした場合
、CPUを3台以上とした場合、IOPを1台とした場
合、IOPを3台以上とした場合、メモリバス8を複数
本のメモリバスとした場合などの構成にしても、この発
明を同様に使用できることは容易にわかる。この発明は
第7図に示す構成においても使用できる。
第7図の5から10までの役割はすでに述べたものと同
じである。34から37は中央処理装置CPUである。
38,39はキャツシユおよび制御回路である。
CPU34,35はキヤツシユおよび制御回路38を共
用しており、CPU36,37はキヤツシユおよび制御
回路39を共用している。この構成において第6図にお
ける回路をCPU34からCPU37の中に備えるか、
あるいはキャツシユおよび制御回路38,39の中に備
えることにより、この発明による効果を得ることができ
る。第7図においてキャツシユおよび制御回路を1台と
した場合、キヤツシユおよび制御回路を3台以上とした
場合、1台のキヤツシユおよび制御回路に対して1台あ
るいは3台以上のCPUを接続した場合、IOPを1台
あるいは3台以上とした場合、メモリバス8を複数本の
メモリバスとした場合などの構成にしてもこの発明を同
様に使用できることは明らかである。
【図面の簡単な説明】
第1図はコンピユータシステムの構成図、第2図はキャ
ツシユの使用法を説明する図、第3図はアドレスアレー
プロツクで記憶しているデータのフイールド分割を示す
図、第4図はキヤツシユ無効化要求を出す条件を示す図
、第5図はシステムの論理アドレスあるいは実アドレス
の分割を示す図、第6図はこの発明のために使用する論
理回路の図、第7図はこの発明の他の実施例を示す図で
あり、1,2,34〜37はCPU、3,4はキヤツシ
ユ、5は主メモリ、6,7はIOP、8はメモリバス、
9はバス制御装置、10はキヤツシユ無効化要求線、1
1はアドレスアレー、12はアクセス指示線、13はア
クセスプロツク指示線、14はストアデータ線、15は
フエツチデータ線、24はアドレスレジスタまたはアド
レスゲート、27はアドレスレジスタ、29は比較器、
31はフリツプフロツプである。

Claims (1)

  1. 【特許請求の範囲】 1 主メモリにつながり、かつキャッシュ(Cache
    )を備えた所定台数の中央処理装置と、上記主メモリを
    アクセスすることができる所定台数の入出力制御装置と
    からなるコンピュータシステムにおいて、上記のキャッ
    シュのデータ管理のためにストアスルー方式あるいはノ
    ンストアスルー方式を採用するとともに、論理回路を、
    ストア時のアドレスを記憶する手段、及びこのアドレス
    記憶手段から得たアドレスと今回のストア時のアドレス
    とを比較する手段を有し、この比較手段により、今回の
    ストア時のアドレスが前回のストア時と同一のキャッシ
    ュブロックに対するものかどうかを判別し、同一キャッ
    シュブロックに対しては1回のキャッシュ無効化要求を
    出すことができるよう構成し、上記論理回路を、上記中
    央処理装置あるいは入出力制御装置に具備せしめたこと
    を特徴とするコンピュータシステム。 2 キャッシュを備えた所定数の回路と、上記のキャッ
    シュを備えた回路を共用できる所定数の中央処理装置と
    、キャッシュを備えた回路につながる主メモリと、上記
    主メモリをアクセスすることができる所定数の入出力制
    御装置からなるコンピュータシステムにおいてキャッシ
    ュのデータ管理のためにストアスルー方式あるいはノン
    ストアスルー方式を採用するとともに、論理回路を、ス
    トア時のアドレスを記憶する手段、及びこのアドレス記
    憶手段から得たアドレスと今回のストア時のアドレスと
    を比較する手段を有し、この比較手段により、今回のス
    トア時のアドレスが前回のストア時と同一のキャッシュ
    ブロックに対するものかどうかを判別し、同一キャッシ
    ュブロックに対しては1回のキャッシュ無効化要求を出
    すことができるよう構成し、上記論理回路を、上記中央
    処理装置、入出力制御装置あるいはキャッシュを備えた
    上記回路に具備せしめたことを特徴とするコンピュータ
    システム。
JP52069648A 1977-06-13 1977-06-13 コンピユ−タシステム Expired JPS5927994B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP52069648A JPS5927994B2 (ja) 1977-06-13 1977-06-13 コンピユ−タシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP52069648A JPS5927994B2 (ja) 1977-06-13 1977-06-13 コンピユ−タシステム

Publications (2)

Publication Number Publication Date
JPS544543A JPS544543A (en) 1979-01-13
JPS5927994B2 true JPS5927994B2 (ja) 1984-07-10

Family

ID=13408864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52069648A Expired JPS5927994B2 (ja) 1977-06-13 1977-06-13 コンピユ−タシステム

Country Status (1)

Country Link
JP (1) JPS5927994B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55122284A (en) * 1979-03-08 1980-09-19 Nec Corp Cash memory control unit
JPS6158060A (ja) * 1984-07-27 1986-03-25 Fujitsu Ltd 逐次化制御方式
JPH071487B2 (ja) * 1985-03-05 1995-01-11 富士通株式会社 バッファメモリ無効化アドレス生成方式

Also Published As

Publication number Publication date
JPS544543A (en) 1979-01-13

Similar Documents

Publication Publication Date Title
JP3067112B2 (ja) 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法
US5148533A (en) Apparatus and method for data group coherency in a tightly coupled data processing system with plural execution and data cache units
US9665486B2 (en) Hierarchical cache structure and handling thereof
US5490261A (en) Interlock for controlling processor ownership of pipelined data for a store in cache
US4445174A (en) Multiprocessing system including a shared cache
US6366984B1 (en) Write combining buffer that supports snoop request
KR0154533B1 (ko) 데이타 프로세서
JP3927556B2 (ja) マルチプロセッサ・データ処理システム、変換索引バッファ無効化インストラクション(tlbi)のハンドリングを行うための方法、およびプロセッサ
EP0422113B1 (en) Multi-processor system with cache memories
JP2022534892A (ja) 書き込みミスエントリのドレインをサポートする犠牲キャッシュ
US4394731A (en) Cache storage line shareability control for a multiprocessor system
US5097409A (en) Multi-processor system with cache memories
EP0303661B1 (en) Central processor unit for digital data processing system including write buffer management mechanism
JPH0345407B2 (ja)
EP0303648B1 (en) Central processor unit for digital data processing system including cache management mechanism
US7620954B2 (en) Mechanism for handling load lock/store conditional primitives in directory-based distributed shared memory multiprocessors
JPH11506852A (ja) 多数のバスマスタと共用レベル2キャッシュとを備える多レベルキャッシュシステムでのキャッシュスヌーピングオーバーヘッドの低減
JPH0997214A (ja) 補助プロセッサのためのアドレス変換を含む情報処理システム
US5263144A (en) Method and apparatus for sharing data between processors in a computer system
US5987544A (en) System interface protocol with optional module cache
JPH0532775B2 (ja)
KR100322223B1 (ko) 대기행렬및스누프테이블을갖는메모리제어기
KR100380674B1 (ko) 멀티프로세서 시스템에서의 기록-통과 기억 동작동안 캐시코히어런스를 유지하는 방법 및 시스템
JPS5927994B2 (ja) コンピユ−タシステム
US9558119B2 (en) Main memory operations in a symmetric multiprocessing computer