JPS6042502B2 - キヤツシユ制御方式 - Google Patents

キヤツシユ制御方式

Info

Publication number
JPS6042502B2
JPS6042502B2 JP57098586A JP9858682A JPS6042502B2 JP S6042502 B2 JPS6042502 B2 JP S6042502B2 JP 57098586 A JP57098586 A JP 57098586A JP 9858682 A JP9858682 A JP 9858682A JP S6042502 B2 JPS6042502 B2 JP S6042502B2
Authority
JP
Japan
Prior art keywords
cache
command
line
main memory
store
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
JP57098586A
Other languages
English (en)
Other versions
JPS57212679A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS57212679A publication Critical patent/JPS57212679A/ja
Publication of JPS6042502B2 publication Critical patent/JPS6042502B2/ja
Expired 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/0893Caches characterised by their organisation or structure

Description

【発明の詳細な説明】 〔開示の概要〕 開示された比較的小容量のローカル記憶は、プロセッ
サに設けられたストア・イン・キャッシュの一部を利用
することによつて、実質的に拡張されうる。
ストア・イン・キャッシュは、所与のラインをローカル
記憶のデータに割当てるために、主記憶中のシステム領
域(これはプログラムではアドレス不能である)にある
ラインのアドレスを含む特別の信号を送る。この特別の
信号は、ストア・イン・キャッシュが要求されたライン
を保持していないときに行われるべき主記憶からの通常
のライン・フエツチ動作を抑止する。このようにして、
ストア・イン、キャッシュ中のライン空間がローカル記
憶のデータに割当てられた後、再び通常のキャッシュ動
作を行うことが可能となるので、このラインを主記憶中
のシステム領域へ吐出すとともに、そこからストア・イ
ン・キヤツシユヘ検索してローカル記憶のデータのため
に使用させることができる。〔発明の分野〕 本発明はキャッシュ制御方式の改良に係り、更に詳細
に説明すればストア・イン・キャッシュがプロセッサ中
のローカル記憶(LS)の拡張部として使用できるよう
にすることに係る。
〔先行技術〕
一般に、先行技術では、プロセッサの命令実行エレメン
トにローカル記憶を設け、このローカル記憶に命令の実
行中に得られる中間結果を一時的にストアするようにし
ている(このようなデータを以下]Sデータョと称する
)。
これに対し、命令の実行は命令実行エレメントの設計に
応じてハードウェア又はマイクロコードによつて制御さ
れる。またローカル記憶には、命令パラメータ及び命令
の実行結果の如きLSデータがストアされるが、これは
命令の実行中にエラー条件を検知したときその再試行を
行いうるようにするためである。一般に、このローカル
記憶はプログラムでアドレス不能なレジスタ・アレイと
して設計されたり、又はプログラムでアドレス可能な汎
用レジスタをその一部に含む小さなレジスタ・アレイと
して設計される。ローカル記憶を利用する命令実行エレ
メントのハードウェアはこれに接近して配置されている
ので、必要な?データを速かにアクセスすることができ
る。市販されている殆んどのプロセッサはその命令実行
エレメントにローカル記憶を設けられており、このよう
な例は特願昭56−12825鏝明細書に開示されてい
る。〔発明の要約〕 命令実行エレメントで利用することができるローカル記
憶の容量は、主記憶からプロセッサのストア●イン●キ
ャッシュにフエツチされるようなオペランドを除くと、
ハードウェア又はマイクロコードによつて殆んどの命令
を実行するに十分であると考えられていた。
しかし、プロセッサのアーキテクチャは益々複雑になつ
てきて、幾つかの命令及び/又はマイクロコード・ルー
チンが比較的大量のデータを生成しうるため、命令実行
エレメントに比較的大容量のローカル記憶を必要とする
ことがある。
従つて、本発明の目的は、命令実行エレメントに比較的
大容量のローカル記憶を設けないで済むように、プロセ
ッサのストア●イン●キャッシュの一部を比較的小容量
のローカル記憶に対するバッキング記憶として利用する
ことにより、該ローカル記憶を実質的に拡張することに
ある。
つまり、使用頻度の高い命令及びマイクロコード機能に
ついてはそのLSデータを命令実行エレメント中の比較
的小容量のローカル記憶に保持させ、そして大容量のロ
ーカル記憶を必要とする任意の命令又はマイクロコード
機能についてはそのLSデータをストア●イン●キャッ
シュの一部を含むようにローカル記憶を拡張することに
よつて保持させるのである。本発明は、通常のストア・
スルー・キャッシュを使用するプロセッサには適用でき
ない場合があることに注意されたい。というのは、現に
参照されたライン(ブロックと同義)がこのようなスト
ア●スルー●キャッシュに存在しない限り、該キャッシ
ュを対象とするストア動作は行われないからである。し
かし、LSデータについてストア・イン動作を行うよう
にストア・スルー・キャッシュを変形すれば、このよう
なキャッシュでも本発明を適用することができる。本発
明の他の目的は、たとえばプロセッサのアーキテクチャ
が変更される場合のように、将来の殆んどすべてのマイ
クロコードイu幾能を処理するに十分な実効容量をロー
カル記憶に与えることにより、マイクロコード化プロセ
ッサの発展を見越した一層大きな融通性を保証すること
にある。本発明の他の目的は、余分の迅データを主記憶
へ直接的にストアするという低速の技法を回避すること
にある。本発明の他の目的は、プログラムでアドレス不
能な主記憶中のシステム領域を、ストア・イン・キャッ
シュの一時的なローカル記憶部分に対するバッキング記
憶として使用することにある。
本発明の他の目的は、オーバーフローしたLSデータに
ついてストア●イン●キャッシュを利用する際に、該キ
ャッシュが主記憶からデータ・ラインをフエツチしない
ようにすることにある。前記目的を達成するために、ス
トア・イン・キャッシュに関連して特別の制御が設けら
れる。この制御の下で、ストア●イン●キャッシュは所
与のラインをLSデータへ割当てるために主記憶のシス
テム領域(これはプログラムではアドレス不能である)
にあるラインのアドレスを送り、そしてこの場合、命令
実行エレメントはキャッシュ●ミスに応じて行われるべ
き主記憶からの通常のライン・フエツチ動作を抑止する
ように動作することができる。このようにして、ストア
・イン◆キャッシュ中のライン空間がLSデータへ割当
てられた後、この?データ・ラインについて通常のキャ
ッシュ動作を行うことが可能となるので、このラインを
主記憶中のシステム領域へ吐出すことができるのである
。以下図面を参照して本発明の実施態様を説明する。
なお以下の記述では、出現頻度の多い用語についてはで
きるだけ略語を使用することとする。これらの略語のう
ち主要な略語の内容は本明細書の末尾に示されているの
で、必要に応じて参照されたい。〔実施態様の説明〕 第1図の多重処理システムは4つの中央プロセッサ(以
下CPと略す)から成り、各CPは命令実行エレメント
(以下1Eと略す)及びバッファ制御エレメント(以下
BCEと略す)を含む。
■疋は以下単にキャッシュとも呼ばれるストア・イン・
キャッシュ及びその関連するキャッシュ・ディレクトリ
を含み、さらに当該CPによつて排他的に使用されるキ
ャッシュ制御を含む(特願昭56−139873号明細
書参照)。IEはフエツチ及びストア・コマンドをBC
Eへ発信するハードウェアを含む。正からそのBCEへ
発信可能な1つのストア●コマンドは、1スクラッチ空
間へストア(StOreintOScratchSpa
ce)Jコマンドと呼ばれ、以下てはRsTssJコマ
ンドと略称される。第2A図に示されているこのSTS
Sコマンドを使用すると、正は、主記憶(以下MSと略
す)からそのBCEへ或るラインを前以て転送しておく
ことなしに、このラインヘデータをストアすることがで
きる。一方、このSTSSコマンドを伴わない正ストア
要求は、キャッシュで実際のストアが行われる前に、該
当するラインを前以つてキヤツーシユへ転送しておかな
ければならない。2つのシステム●コントローラ(以下
SCと略す)の各々はそれぞれ2つのCP及び共有され
たMSへ接続されているので、各CPはMS中の任意の
共有領域をアクセスすることができる。
また各.5Cはチャネル(CH)を共有されたMSへ接
続する。各SCは、特願昭?−134311号明細書及
び特願昭55−78443号明細書に開示された主題を
含むことができる。共有されたMSは複数の基本記憶モ
ジュール・コントローラ(BSC)を含み、その各々は
2つの基本記憶モジュール(BSM)へそれぞれ接続さ
れる。
また各BSCは各SCへそれぞれ接続される。さらに、
各BSCへサービス●プロセッサ(SVP)が接続され
ており、これは各SC及び各■■にもそれぞれ接続され
ている。無効化/相互照会(Invalidate/C
rOsslnterr′0gati0n)バス、即ちI
N■/XIバスは、一方のSCと他方のSCを相互に接
続する。
このバスはSC相互間ですべてのXI要求並びにすべて
の吐出(CastOut:CO)及びINV要求を通信
するが、これは諸ディレクトリにおける必要な吐出及び
無効化動作を調整するためである。洛SCは1対のコピ
ー・ディレクトリをそれぞれ含む。
各コピー・ディレクトリはそれに対応するキャッシュ●
ディレクトリのイメージをそれぞれ保持する。キャッシ
ュ・ディレクトリはそれぞれのSCへ接続された■疋に
設けられる。第3図には、各CPとMSとの間に見出さ
れる記憶階層1ないし■が概念的に示されている。
図示の如く、各CPは記憶階層の最上位レベル、即ちK
疋中のキャッシュと通信する。各BCEはその対応する
コピー・ディレクトリ(CD)とそれぞれ通信する。こ
の記憶階層の最下位レベルは共有されたMSであり、各
CPはこのMSとそれぞれ通信する。各CPと共有され
たMSとの間のデータ転送は、1ライン単位で行われる
。MSに置かれたデータ又は命令のラインについてBC
EからMSへ要求が発信されるのは、CPからの要求が
その■下中のキャッシュで充足されないか又はこのキャ
ッシュが要求されたデータの最新版を保持していない場
合である。コピー・ディレクトリはすべてのXI要求を
処理するので、KT中のキャッシュ・ディレクトリはこ
のXI要求を処理する必要がなく、従つてその関連する
CPに一層良好なサービスを与えることができる。
CO/INVバスは、共有されたMSをアクセスすると
き複数のCP間の衝突が回避されうるように、他のCP
からのCO及び囚■要求を通信する。第4図はCPO中
のIEOを示し、特にSTSSコマンドを発信するため
に使用される[EOの構成を例示する。
他のCP中の正もこれと同様の構成を有する。ここに記
述された各正は、マイクロプログラムを保持する制御記
憶を備えたマイクロプログラム式プロセッサ中のIEと
基本的に同様の構成を有する。第4図の制御記憶(CS
)13には、STSSマイクロ命令と呼ばれる独特のマ
イクロ命令が保持され、該マイクロ命令は共有されたM
S中のシステム領域をアドレスすることによつてスクラ
ッチ空間の獲得を開始するために使用される。STSS
マイクロ命令はマイクロ命令選択兼解読器14を介して
発信される。このことが行われるのは、当該1Eによつ
て実行されているプログラム命令について(当該1Eに
対する)システム領域へLSデータをストアすることが
最初に要求される場合である。S′ISSマイクロ命令
の発信様式は、第4図のマイクロ命令ルーチンに例示さ
れている。S′TSSマイクロ命令を使用しうるプログ
ラム命令は、たとえばIBMシステム/370の1入出
力開始(SIO)J命令が1長移動(MVCL)J命令
等のように複雑な命令であつて、汎用レジスタ選択器1
9を備えたローカル記憶(?)12の領域をかなり必要
とするような命令である。
これらの複雑なプログラム命令については、その実行中
の一時的結果をストアするために、キャッシュ中のスク
ラッチ空間を獲得して該空間てIE中のローカル記憶1
2を実質的に拡張することが必要である。しかし、これ
らのプログラム命令の実行が完了した後は、このような
操作は不要になる。プログラム命令の実行は1命令エン
ドI几マイクロ命令と呼はれる第1マイクロ命令13A
を解読することによつて開始され、該マイクロ命令は当
該プログラム命令によつて遂行さるべき機能の実行を開
始させる。
このプログラム命令の実行中にスクラッチ空間が必要に
なると、S胚Sコマンドを呼出すためにマイクロ命令1
3Bが実行される。この結果、第5図のキャッシュ63
に関連する通常のLRU回路によつて、キャッシュ・デ
ィレクトリ62中で所与のライン・エントリが割当てら
れる。STSSコマンドによつてアドレスされたライン
がキャッシュ63に現に存在しない場合、このSTSS
コマンドはライン●フエツチを伴うことなしに?データ
をキャッシュ63にストアすることができる。STSS
コマンドによつてキャッシュ●ディレクトリ62内でス
クラッチ空間のラインが獲得された後、キャッシュ63
中のスクラッチ空間にある該当ラインに対し、通常のI
Eストア・コマンド13C及びフエツチ・コマンド13
D(特願昭56一139873号明細書参照)を使用し
て後続のストア及び/又はフエツチ動作が行われうる。
かくて、キャッシュ●ディレクトリ62におけるスクラ
ッチ空間の獲得だけが、STSSコマンドによる特別の
ケースとして処理されるのである。通常のストア●コマ
ンド13C及びフエツチ●コマンド13Dは、キャッシ
ュ63におけるそれらのミスに応じてMSからのライン
・フエツチを通常の様式で行わしめる。かくて、もしキ
ャッシュ63中にあるLSデータのラインが吐出される
ならば、これはキャッシュ63から吐出される他のライ
ンと同じ様式で処理され、そしてキャッシュ・ディレク
トリ62によつて指定されたMS中のライン●アドレス
にストアされる。従つて、キャッシュ63からの?デー
タの吐出しはキャッシュ63からMSへの迅データのオ
ーバフローを生ぜしめる。つまり、キャッシュ63のス
ペースが?データを保持するのに適当でなければ、キャ
ッシュ63からオーバフローされた?データを保持する
ためにMSを利用することができるのである。MS中の
システム領域からこの出データをフエツチするには、そ
の必要なライン・アドレスを有し且つキャッシュ・ミス
を生ずるような通常のフエツチ・コマンド(特願昭56
−139873号明細書参照)を使用することかてきる
。キャッシュ63中の該当ラインは不要情報を保持する
ことがあり、従つてIEOはこのラインからフエツチを
行う前に、このラインへ1ダブルワードをストアしなけ
ればならない。
最終的に、当該プログラム命令は0動作終了ョlマイク
ロ命令13Eで以て完了する。
第4図には、このようにして割当てられるスクラッチ空
間のアドレスを発生するための回路が図示されている。
CPOのシステム領域(以下SAと略す)に対する基底
アドレスは、そのSA基底アドレス・レジスタ35に保
持される。SAはMSの一部であつて、ハードウェア(
たとえばマイクロコード)によつてアクセス可能である
が、プログラム命令によつてはアクセス不能てある。各
CPはSAの1セクションを通信用として留保しておノ
リ、そのSA基底アドレス・レジスタ35の内容はこの
ような留保領域の開始点を指定する。マイクロ命令ルー
チンはSA中のダブルワード位置に対するオフセットを
予定しており、そしてこれらのダブルワード・アドレス
は第2A図のSTSSコマンドを与えるようなルーチン
により発信されるS′VSSマイクロ命令によつて使用
される。ゲート31を介してSAオフセット・レジスタ
32に置かれたこのオフセットはSA基底アドレス・レ
ジスタ35中のSA基底アドレスと加算器33で加算さ
れ、その結果はオペランド・アドレス・レジスタ16に
置かれる。PSWキー・レジスタ11は、STSSコマ
ンドがMS中の所与のラインをアクセスするとき、記憶
保護違反が存在しないことを決定できるようにPSW(
プログラム・ステータス・ワード)からの保護キー、即
ちPSWキーを保持するためのものである。IEOによ
つて発信されたS′ISSlストア又はフエツチ・コマ
ンドが完了又は終了すると、K疋0から線83を介して
1成功活動完了(SLlCCeSSfUlActiOn
COmpleted)J信号が受取られる。
以下でRsAcJ信号と略称するこの信号は、第5図の
AND回路78によつてセットされるSACトリガ81
から供給され、これに応じてIEOは次のコマンドを発
信する。また、オペランド・アドレス●レジスタ16へ
の入力ゲートを制御するために、線83上のSAC信号
によつてコマンド・トリガ47がセットされる。STS
Sコマンドが発信されるたびに、マイクロ命令選択兼解
読器14はそのコマンド要求線25を付勢し、これによ
りBCEOの実行のために他のコマンドが利用可能であ
ることをBCEOに通知する。第5図は本発明に関係す
るBCEOの構成を示し、他のK疋もこれと同様の構成
を有する。BCEOはCPOに対するストア・イン型の
キャッシュ63を備えている。CPOのすべての記憶要
求は記憶アクセス●コマンドの形でBCEOへ供給され
、BCEOはこれに応じて要求されたデータが現にキャ
ッシュ63に記憶されているか否かを決定する。IEO
はすべてのプロセッサ●コマンドを発信することができ
る。
発信される殆んどのコマンドは記憶アクセス・コマンド
であるが、これらのコマンドとは異なつた様式で動作す
るS′YSSコマンドの如き特別の記憶アクセス・コマ
ンドも与えられている。STSSコマンドは、解読可能
な最大256種類のコマンドのうちの1つである。
このコマンドが解読されると、第5図に図示された解読
器57からの特定の出力はSTSSトリガ58をセット
する。所与のコマンドを発信する場合、第4図のIEO
はこのコマンドカGTSSコマンドの如き特別の記憶ア
クセス・コマンドであれば線25を付勢し、通常の記憶
アクセス・コマンドであれば線27を付勢する。線25
及び27は■疋優先回路28への要求人力として供給さ
れ、該回路はこれに応じてどちらの要求が現マシン・サ
イクルの間にBCEOによつて受諾されるかということ
を決定ノする。BCEOの内部に関係する他の要求人力
も与えられるが、これら本発明の要旨に関係ないので図
示されていない。また任意のIE記憶要求がキャッシュ
・ミスを生ずる場合、K疋優先回路28の出力は線29
及びゲート60を介してコマンド要求トリガ56をセッ
トし、かくてその出力線69Aを介して第6A図のプロ
セッサ入力レジスタ(以下PIRと略す)優先回路12
9へ要求人力を与えることにより、次のマシン●サイク
ル中にBCEOのコマン”ド/データ・レジスタ55か
ら1つのコマンドが利用可能てあることを指示する。
CP2のBCE2で形成されている同様のコマンドは、
CP2が発信源であることを識別するためのビット、即
ち1CPIDJを該コマンドにセットする。従つて、S
COはコマンド中のCPIDフィールドを使用して該コ
マンドを発信したCPO又はCP2を識別することがで
きる。BCEOがそのIEOからSTSSコマンドを受
取る場合、この要求されたラインがキャッシュ63で排
他的に記憶されているか否かを決定するために、関連す
るキャッシュ●ディレクトリ62がアクセスされる。
もしそうであれば(キャッシュにおけるコマンド・ビッ
ト)、STSSコマンドに伴うLSデータがキャッシュ
63へ通常の様式でストアされる。さもなければ(キャ
ッシュにおけるコマンド・ミス)、コマンド要求トリガ
56を活動化するために、ゲート60によつて要求が発
生される。ゲート61はキャッシュ63に関連する通常
のLRU/吐出/無効化制御64を活動化するためのも
のであるが、このような活動化が生ずるのは、(1)S
′ISSコマンドによつて要求されたラインがキャッシ
ュ63に存在しない場合、及び(2)STSSによつて
要求されたラインが吐出されねばならないようなライン
によつて占有された空間へ割当てられる場合である。S
TSSコマンドの各々はSTSSトリガ58によつて検
出されるときこれらの条件の下で処理され、かくてST
SSコマンド中のSAアドレスが動的アドレス変換機構
52Aによるアドレス変換なしに変換索引緩衝機構52
Bへ記入される。というのは、SAアドレスはMS中の
絶対アドレスとして供給されるからである。STSSコ
マンドがキャッシュ●ミスに遭遇する場合、第2B図に
示すような形式を有する1データ転送の抑止を伴う排他
的フエツチ(FetchExclusivewithS
uppressedDataTrarlSfer)Jコ
マンドが第5図のコマンド/データ・レジスタ55にあ
つて、第6図のSC制御に対し所与のS′VSSコマン
ドがキャッシュでミスしたことを指示する。以下でRF
ESDTョコマンドと略称されるこのコマンドの5つの
部分はこれらを受取る5つのゲートを介してコマンド/
データ・レジスタ55へゲートされる。かくて、その第
1部分にあるPSWキーは、線21を介して第4図のP
SWキー・レジスタ11からゲートされる。第2部分に
あるラインの絶対アドレスはアドレス・レジスタ53か
ら出力され、該レジスタは受取られた正コマンド中の同
じSAアドレスを動的アドレス変換機構52A及ひ変換
索引緩衝機構52Bを有するアドレス変換回路52から
受取る。アドレス変換回路52は、第4図のオペランド
・アドレス・レジスタ16から線22を介して■下アド
レス・レジスタ51に供給される処の論理アドレスを受
取る。このようにして形成されたFESDTコマンドは
、コマンド/データ・レジスタ55から線69を介して
SCOに設けられた第6A図のPIR87へゲートされ
る。BCEOからSCOに与えられるコマンドは、第6
A図のPIR優先回路129によつて許可されるとき、
線69及びゲート70を介してPIR87へ供給される
PIR優先回路129は、BCEO及びBCE2がコマ
ンドを同時に供給しているとき、どちらのコマンドがP
IR87によつて受諾されるかということを決定するた
めのものである。このPIR優先回路129としては、
米国特許第4152764号明細書に記述されている如
き回路を使用することができる。もしかかる競合が存在
しなければ、コマンドは直ちにPIR87へ受取られる
。次いで、このコマンドは相互照会レジスタ(以下XI
Rと略す)91へ供給され、そこから多重処理システム
中のすべてのコピー・ディレクトリを探索するために使
用される。即ち、SCO(ローカルSC)に設けられた
ローカルのコピー●ディレクトリを探索するためにこの
コマンドはXIR9lからゲート132を介してディレ
クトリ・レジスタ131へ転送され、そしてSCl(遠
隔SC)に設けられた遠隔のコピー・ディレクトリを探
索するために線144を介してXIバスへ転送される。
遠μSCであるSClはこれをXIバスから受取り、そ
のXIR優先回路130から優先順位を与えられるとき
、そのディレクトリ・レジスタ131に置く。またPI
R87はゲート71に加わるBCE2からの入力を有す
るが、これはPIR優先回路129の制御下でCP2か
らのコマンドを受取るためである。
PIR87へ受取られたコマンドのデータ転送抑止ビッ
ト(たとえば、FESDTコマンドの0Pコード中の1
ビット)がオンになつていると、ゲート89が禁止され
てMSからの通常のライン・フエツチ動作が抑止される
通常、このゲート89はPIR87からのコマンドを記
憶入力レジスタ90に供給し、該レジスタからアドレス
及び制御ビットをMSへの要求としてMSバス141を
介して送らせるのである。所与のコマンドがローカル又
は遠隔のXIR9lを通過しうる前に、各SC中のXI
R優先回路130からの優先順位が与えられねばならな
い。
XIR優先回路130は、各SCに設けられたすべての
コピー・ディレクトリにおける探索の競合について、優
先順位を決定する。第6B図にはローカルSCであるS
CO中のコピー・ディレクトリ116及び117が図示
されており、遠隔SCであるSClもこれと同様のコピ
ー・ディレクトリをそれぞれ有する。再び第6A図を参
照するに、XIR優先回路130に加わる要求人力には
、ローカル・ビジイ・トリガ134からの出力、PIR
87に置かれたコマンドのオペレーション・コードに応
答してディレクトリ探索に関する衝突の解決が必要であ
ることを決定する如きオペレーション解読器88からの
ローカルのXI要求信号、遠隔SCビジイ信号、INV
/XIバスからの遠隔XIRコマンド信号がある。また
各SC中のXIR優先回路130は、その探索動作を他
のSC中のXFR優先回路130と同期させるために、
XI探索同期バス130Aを介して信号をやりとりする
。XIR優先回路130の出力は、XIR9lから与え
られるローカル・コマンド又は遠隔凶1Rから与えられ
る遠隔コマンドのどちらがゲート132又は133を介
してディレクトリ・レジスタ131へ入力されうるか、
ということを決定する。XIR優先回路130の優先順
位及びXI探索同期バス130A上の信号は、同じ要求
がすべてのローカル及び遠μSC中のコピー●ディレク
トリで同時に探索されるように、定められている。この
ような同期は、XIR優先回路130における優先順位
の選択によつて容易にされている。というのは、XIR
優先回路130に加わるローカル及び遠隔SCビジイ線
は、該当するSCが現マシン・サイクル中にビジイであ
れば、それぞれのコマンドに対する探索を禁止するから
である。前述の内容は以下の表に要約されている。もし
任意のコマンドが選択されたならば、XIR優先回路1
30の出力はゲート132又は133を活動化し、かく
てすべてのコピー●ディレクトリを探索するためのロー
カル又は遠隔コマンド・アドレスを選択する。
またXIR優先回路130の出力は0R回路130Bに
よつて受取られ、該回路はその出力でローカル・ビジイ
・トリガ134をセットすることにより、多重処理シス
テム中のすべてのコピー・ディレクトリがビジイである
ことを指示させる。0R回路130Bの出力によつて活
動化されるタイム●アウト回路129Aは、すべてのコ
ピー・ディレクトリを探索するに要する期間経過後に、
ローカ火・ビジイ・トリガ134にリセット信号を与え
ることにより、該トリガを非ビジイ状態に置く。
ローカル・ビジイ・トリガ134から線134Aに生ぜ
られる非ビジイ信号は、第6B図のバス131Aの内容
をディレクトリ衝突トリガ124及び134へ転送する
。記憶アクセス●コマンドの実行は、FESDTコマン
ドによる記憶保護違反(SPV)が存在しないことを保
証するために、PSWキーの検査動作を含む。こうする
ため、線144上のコマンドはローカルSCの記憶保護
制御92へ供給され、かくてアクセス中の記憶ブロック
に対するローカルSCの記憶キーが選択されて現コマン
ド中のPSWキーど比較される。同様に、線143上の
コマンドは記憶保護制御92へ供給され、そこで遠隔要
求の記憶保護違反を検査される。記憶保護制御92は前
掲の特願昭55−78443号明細書の記述に従つて構
成することが可能であり、記憶保護違反(SPV)が存
在することを決定した場合にはSPVトリガ96をセッ
トするので、該トリガは線75を介して第5図のBCE
OへSPV信号を供給する。このSPV信号に応じて活
動化されるレリース制御93は、レリース・トリガ94
及びステータス・レジスタ95をセットすることによつ
て、当該記憶保護違反を生せしめたコマンドの実行を終
了させる。FESDTコマンドがXIR優先回路130
によつて受諾される場合、該コマンドはディレクトリ・
レジスタ131へ転送され、かくて該レジスタは線13
1AにFESDTアドレスを出力する。
線131A上のFESDTアドレスは第6B図のディレ
クトリ・アドレス・レジスタ/解読器114によつて受
取られ、これに応じてコピー●デイレクトl川16及び
117が同時に探索される。ディレクトリ・アドレス・
レジスタ/解読器114はコピー・ディレクトリ116
及び1−17中のクラス◆アドレスを解読し、セット●
アドレスを該コピー・ディレクトリの出力側にある比較
器118及び119へ転送する。こうすることにより、
要求されたアドレスがセット・アソシアティブ式のコピ
ー・ディレクトリ116又は117に存在するか否かと
いうことを、通常の様式で決定することができる。もし
線131A上のFESDTアドレスがコピー・ディレク
トリ116及び117のいずれかに見出されたならば、
対応する比較器118又は119は、CPOに対応する
無効化要求トリガ123又はCP2に対応する無効化要
求トリガ135をセットする。第6A図を参照するに、
ディレクトリ・レジスタ131からのFESDTコマン
ドによつて生ぜられたコピー・ディレクトリの探索要求
は比較開始トリガ139をセットし、かくて線139A
及び0R回路140を介してレリース制御93を活動化
することにより、レリース・トリガ94及び線68を介
してBCEOヘレリース信号を送るようにする。
第6B図の無効化要求トリガ123がセットされた場合
、CPOに対応する無効化レジスタ120でINV(無
効化)コマンドが形成される。
同様に、無効化要求トリガ135がセットされた場合は
、CP2に対応する無効化レジスタ121がINVコマ
ンドを形成する。第2C図に図示された形式を有するこ
のINVコマンドは、SCOからキャッシュ・ディレク
トリ62に衝突を有するようなそれぞれK下へ転送され
る(各SCからBCEへ与えられるこのINVコマンド
中の吐出ビット、即ちCOビットは本発明の容旨に関係
ないので、詳細に説明しない。)。従つて、無効化レジ
スタ120の内容は、ディレクトリ・アドレス・レジス
タ/解読器114の出力から得られるディレクトリのク
ラス・アドレス、比較器118の出力から得られるセッ
ト・アドレス及び各CPの吐出制御(COCTL)から
得られるCOビットを含む。無効化レジスタ120はI
NVビットを含まないが、このビットは無効化要求トリ
ガ123の出力から線71を介して供給される。無効化
レジスタ121は、INVコマンドをCP2からの情報
に基いて形成する点を除けば、無効化レジスタ120と
同様の様式でこのコマンドを形成する。
IN■コマンドは、SCOから線71及び72を介して
第5図に示したBCEO(又はBCE2)の吐出/無効
化要求トリガ66及び吐出/無効化レジスタ65へ送ら
れる。
吐出/無効化要求トリガ65がセットされる場合、これ
は線172及び175を介して吐出/無効化制御64に
加わる吐出/無効化レジスタ65の出力を活勢し、かく
て該レジスタによつて指示されたクラス及びセットを有
するアドレスをBCEO中のキャッシュ・ディレクトリ
62で探索するように指定する。線29を介して優先順
位が通知される場合、吐出/無効化制御64は直ちにキ
ャッシュ・ディレクトリ62の探索を開始させる。この
探索により要求されたエントリがキャッシュ●ディレク
トリ62に見出された場合、吐出/無効化要求トリガ6
6からの信号は該エントリ中の有効ビットを無効状態へ
セットすることにより、キャッシュ63中の対応するラ
インを無効化する。本発明の実施態様で使用される吐出
及び無効化動作は先行技術のそれと同じであるので、そ
の詳細は省略する。
第6A図のレリース制御93は0R回路140からの信
号によつて活動化され、該回路は線139Aを介して比
較開始トリガ139の出力を受取る。第7A図ないし第
7E図は、第4図、第5図、第6A図及び第6B図に図
示されたハードウェアで生ずる諸動作のシーケンスを示
す。
第7A図ないし第7E図において、SC(1)はSTS
Sコマンドを発信しているCPに関連するSCを表わし
、正(1)はSTSSコマンドを発信しているCP中の
正を表わし、BCE(1)はSTSSコマンドを発信し
ているCP中のBCEを表わし、BCE(R)はそのキ
ャッシュ・ディレクトリに衝突を見出すような遠隔のB
CEであつて、その衝突についてFESDT・コマンド
を発信しなかつたBCEを表わす。また、これらの図面
において、丸印中の数字は諸動作の時間的順序を表わし
、水平線の上にある語句は各動作を表わし、水平線の下
にある語句は各動作の転換又は位置を表わす。第7B図
は、STSSコマンドの最初の発信の時点からSC中の
すべてのコピー・ディレクトリに衝突が存在しないこと
が見出される時点までの、基本的な動作シーケンスを表
わす。
第7C図は、多重処理システムにおけるキャッシュ衝突
が指示された場合の、IE(1)、BCE(■)及びS
C(1)の動作シーケンスを表わす。第7A図は、第7
B図の第5ステップで行われるすべてのコピー●ディレ
クトリの同時的な探索によりキャッシュ衝突が存在しな
いことが決定された場合の、最終的な動作シーケンスを
表わす。
この場合において、受諾トリガ104がセットされ、か
くてBCE(1)はSTSSコマンドによつて指定され
たアドレスに対応するキャッシュ63中のラインヘスト
アを行うとともに、IE(1)に至るSAC線を付勢す
る。殆んどのSTSSコマンド要求はキャッシュ衝突を
見出すことはないが、この場合には第7A図及び第7B
図の動作シーケンスだけが生ずる。
一方、所与の衝突が任意のコピー・ディレクトリで見出
された場合には、第7C図の動作シーケンスが生じ、ま
た任意の遠隔SCがビジイであれば第7D図のシーケン
スが生じ、かくてSC(1)で再送コマンドが再発信さ
れることになる。第7E図は、本発明を採用しない場合
に生ずる,ようなタイミングを表わす。
MSアクセスは第3サイクルで要求され、そしてこのと
き衝突が存在しないものと仮定すると、引続いてMSア
クセスが行われ、要求されたダブルワード(DW)がS
C(1)からBCE(1)へ転送される。IEO)に.
よつて観察される結果的な時間は、本発明に従つた第7
A図のシーケンス(衝突が存在しない場合)のそれより
も著しく長いことに注意されたい。第7A図ないし第7
E図の他の側面は、本発明町の実施態様に係る前述の説
明から明らかであろう。
なお、前述の説明で使用した主要な略語の内容を、アル
ファベット順に以下に示しておく。
BCE:バツフア制御エレメントCD:コピー●ディレ
クトリ CO:吐出 CP:中央プロセッサ FESDT:データ転送の抑止を伴う排他的フエ
ツチIE:命令実行エレメント FSIV:無効化 ひ辷ローカル記憶 MS:主記憶 PIR:プロセツサ入力レジスタ PSW:プログラム●ステータス●ワードSA:システ
ム領域 SAC:成功活動完了 SC:システム●コントローラ SPV:記憶保護違反 STSS:スクラツチ空間へストア XI:相互照会
【図面の簡単な説明】
第1図は本発明を包含する多重処理システムのブロック
図、第2A図ないし第2D図は本発明の実施態様で使用
される種々のコマンドの形式を示す図、第3図はそれぞ
れ専用のキャッシュを有する複数の中央プロセッサ及び
共有された主記憶を備えた多重処理システムにおける重
複的な記憶階層構成を概念的に示す図、第4図は第1図
に図示された複数の中央プロセッサのうち1つの中央プ
ロセッサに備えられた命令実行エレメントの概略構成を
示す図、第5図は各中央プロセッサに備えられたバッフ
ァ制御エレメントの構成を示す図、第6A図及び第6B
図は第1図に図示された各システム・コントローラの概
略構成を示す図、第7A図ないし第7D図は本発明の実
施態様における種々の動作シーケンスを示すタイミング
図、第7E図は本発明を利用しない場合の動作シーケン
スを示すタイミング図である。

Claims (1)

  1. 【特許請求の範囲】 1 任意のプログラム命令を実行するための命令実行エ
    レメントと、主記憶と、前記命令実行エレメントと前記
    主記憶の間に接続されたキャッシュ記憶とを備えたプロ
    セッサにおいて、前記命令実行エレメントに設けられた
    ローカル記憶のデータを前記キャッシュ記憶にストアす
    べきことを指示する信号を供給するように該命令実行エ
    レメントから該キャッシュ記憶の制御手段へ接続された
    非−主記憶データ線と、キャッシュ・ミスが生ずるとき
    前記主記憶へのフエツチ要求を禁止するためのフエツチ
    禁止手段と、前記非−主記憶データ線上の信号を伴う前
    記命令実行エレメントからのストア要求に応答して前記
    フエツチ禁止手段を活勢化するための手段とを備えて成
    る、キャッシュ制御方式。 2 前記主記憶は前記プロセッサによつてアドレス可能
    であり且つプログラム命令によつてはアドレス不能なプ
    ロセッサ指定領域を有し、前記活勢化手段は前記命令実
    行エレメントからのストア要求が前記プロセッサ指定領
    域のアクセスを要求する場合は前記非−主記憶データ線
    上の信号が供給されている間前記フエツチ禁止手段を活
    勢化する特許請求の範囲第1項記載のキャッシュ制御方
    式。
JP57098586A 1981-06-15 1982-06-10 キヤツシユ制御方式 Expired JPS6042502B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US273823 1981-06-15
US06/273,823 US4410946A (en) 1981-06-15 1981-06-15 Cache extension to processor local storage

Publications (2)

Publication Number Publication Date
JPS57212679A JPS57212679A (en) 1982-12-27
JPS6042502B2 true JPS6042502B2 (ja) 1985-09-24

Family

ID=23045545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57098586A Expired JPS6042502B2 (ja) 1981-06-15 1982-06-10 キヤツシユ制御方式

Country Status (4)

Country Link
US (1) US4410946A (ja)
EP (1) EP0067345B1 (ja)
JP (1) JPS6042502B2 (ja)
DE (1) DE3278892D1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4484267A (en) * 1981-12-30 1984-11-20 International Business Machines Corporation Cache sharing control in a multiprocessor
JPS59167761A (ja) * 1983-03-14 1984-09-21 Hitachi Ltd 計算機システム
BR8406089A (pt) * 1983-11-30 1985-09-24 Fujitsu Ltd Processo para controlar memoria intermediaria em aparelho de processamento de dados
US5341483A (en) * 1987-12-22 1994-08-23 Kendall Square Research Corporation Dynamic hierarchial associative memory
US5251308A (en) * 1987-12-22 1993-10-05 Kendall Square Research Corporation Shared memory multiprocessor with data hiding and post-store
US5761413A (en) * 1987-12-22 1998-06-02 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
US5226039A (en) * 1987-12-22 1993-07-06 Kendall Square Research Corporation Packet routing switch
US5335325A (en) * 1987-12-22 1994-08-02 Kendall Square Research Corporation High-speed packet switching apparatus and method
US5055999A (en) * 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
US5032985A (en) * 1988-07-21 1991-07-16 International Business Machines Corporation Multiprocessor system with memory fetch buffer invoked during cross-interrogation
US4928225A (en) * 1988-08-25 1990-05-22 Edgcore Technology, Inc. Coherent cache structures and methods
US5029070A (en) * 1988-08-25 1991-07-02 Edge Computer Corporation Coherent cache structures and methods
US4987543A (en) * 1989-02-21 1991-01-22 American Standard Inc. Wheel spin control system
US5269009A (en) * 1990-09-04 1993-12-07 International Business Machines Corporation Processor system with improved memory transfer means
CA2078312A1 (en) 1991-09-20 1993-03-21 Mark A. Kaufman Digital data processor with improved paging
CA2078310A1 (en) * 1991-09-20 1993-03-21 Mark A. Kaufman Digital processor with distributed memory system
US6116768A (en) * 1993-11-30 2000-09-12 Texas Instruments Incorporated Three input arithmetic logic unit with barrel rotator
US5893920A (en) * 1996-09-30 1999-04-13 International Business Machines Corporation System and method for cache management in mobile user file systems
US6209061B1 (en) * 1998-03-02 2001-03-27 Hewlett-Packard Co. Integrated hierarchical memory overlay having invariant address space span that inactivates a same address space span in main memory
US10331561B1 (en) 2016-06-29 2019-06-25 Emc Corporation Systems and methods for rebuilding a cache index
US10037164B1 (en) 2016-06-29 2018-07-31 EMC IP Holding Company LLC Flash interface for processing datasets
US10089025B1 (en) 2016-06-29 2018-10-02 EMC IP Holding Company LLC Bloom filters in a flash memory
US10146438B1 (en) 2016-06-29 2018-12-04 EMC IP Holding Company LLC Additive library for data structures in a flash memory
US10055351B1 (en) * 2016-06-29 2018-08-21 EMC IP Holding Company LLC Low-overhead index for a flash cache

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3701977A (en) * 1969-10-27 1972-10-31 Delaware Sds Inc General purpose digital computer
US3657705A (en) * 1969-11-12 1972-04-18 Honeywell Inc Instruction translation control with extended address prefix decoding
US4084234A (en) * 1977-02-17 1978-04-11 Honeywell Information Systems Inc. Cache write capacity
US4208716A (en) * 1978-12-11 1980-06-17 Honeywell Information Systems Inc. Cache arrangement for performing simultaneous read/write operations
US4310879A (en) * 1979-03-08 1982-01-12 Pandeya Arun K Parallel processor having central processor memory extension

Also Published As

Publication number Publication date
JPS57212679A (en) 1982-12-27
DE3278892D1 (en) 1988-09-15
EP0067345A3 (en) 1986-05-07
EP0067345B1 (en) 1988-08-10
US4410946A (en) 1983-10-18
EP0067345A2 (en) 1982-12-22

Similar Documents

Publication Publication Date Title
JPS6042502B2 (ja) キヤツシユ制御方式
EP0049387B1 (en) Multiprocessor system with cache
US5119485A (en) Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
JP3927556B2 (ja) マルチプロセッサ・データ処理システム、変換索引バッファ無効化インストラクション(tlbi)のハンドリングを行うための方法、およびプロセッサ
US4400770A (en) Cache synonym detection and handling means
US4394731A (en) Cache storage line shareability control for a multiprocessor system
JP2557174B2 (ja) データのセット位置の予測装置
US6721855B2 (en) Using an L2 directory to facilitate speculative loads in a multiprocessor system
JPS6150342B2 (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
JPH09138779A (ja) スヌープ処理方法
EP1402349A2 (en) Method and apparatus for facilitating speculative stores in a multiprocessor system
US5091845A (en) System for controlling the storage of information in a cache memory
US5426754A (en) Cross-interrogate method and means for combined scaler and vector processing system
US5339397A (en) Hardware primary directory lock
US6044447A (en) Method and apparatus for communicating translation command information in a multithreaded environment
US5226170A (en) Interface between processor and special instruction processor in digital data processing system
JPH02207352A (ja) 中央処理装置を持った多プロセッサーシステムのシステム制御装置をインターフェースする方法及び装置
US5016168A (en) Method for storing into non-exclusive cache lines in multiprocessor systems
EP0051745B1 (en) Cache storage hierarchy for a multiprocessor system
JP3103581B2 (ja) マルチプロセッサシステム
JPH04336641A (ja) 処理システムにおける使用のためのデータキャッシュおよび方法
CA1325289C (en) Scheme for insuring data consistency between a plurality of cache memories and the main memory in a multi-processor computer system
US6928524B2 (en) Data processing system with naked cache line write operations