JPH0277858A - 複数のプロセッサを有する計算機システムの記憶制御装置 - Google Patents

複数のプロセッサを有する計算機システムの記憶制御装置

Info

Publication number
JPH0277858A
JPH0277858A JP1152346A JP15234689A JPH0277858A JP H0277858 A JPH0277858 A JP H0277858A JP 1152346 A JP1152346 A JP 1152346A JP 15234689 A JP15234689 A JP 15234689A JP H0277858 A JPH0277858 A JP H0277858A
Authority
JP
Japan
Prior art keywords
block
valid
request
store
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.)
Granted
Application number
JP1152346A
Other languages
English (en)
Other versions
JPH0754484B2 (ja
Inventor
Toshimitsu Ando
安藤 利光
Tsuguo Matsuura
松浦 嗣夫
Tadaaki Isobe
磯部 忠章
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
Original Assignee
Hitachi 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 filed Critical Hitachi Ltd
Publication of JPH0277858A publication Critical patent/JPH0277858A/ja
Publication of JPH0754484B2 publication Critical patent/JPH0754484B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8061Details on data memory access
    • G06F15/8069Details on data memory access using a cache
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0828Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Complex Calculations (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、記憶制御方式に関し、特にベクトル処理装置
における主記憶装置とバッファ記憶装置の一致制御方式
に関するものである。
〔従来の技術〕
従来より、計算機システムにおいては、主記憶装置(M
ain  S torage、以下、MSと略記する)
の写しを、MSよりも高速の素子で構成されたバッファ
記憶装置(B uffer  S torage又はキ
ャッシュ、以下BSと略記する)に格納することにより
、処理装置から高速にアクセスするようにしている。
各々にBSを備えた複数の命令プロセッサが1つのMS
を共有する、いわゆるマルチプロセッサシステムにおい
て、他の命令プロセッサからMSに対してストア動作が
行われたときのMSと88間の一致制御を行う方式とし
ては、例えば特公昭54−40182号公報(USP 
4056844)に記載されている。この方式において
は、BSに、MS内アドレスを登録しておく管理テーブ
ル(B uffer  A ddress  A rr
ay  以下、BAAと略記する)とは別個に独立して
第2の管理テーブル(F ront  A ddres
s  A rray  以下、FAAと略記する)を設
ける。このFAAは、他の処理装置から参照されるスト
ア・アドレスチエツクのための管理テーブルであって、
MSと88間の一致制御を高速に処理するものである。
〔発明が解決しようとする課題〕
科学技術演算を高速に処理するために、ベクトル処理装
置(Vector  Processor、以下、vp
と略記する)が用いられている。このVPは、ベクトル
・データを保持するベクトルレジスタ(V ector
  Register、以下、VRと略記する)と、上
記ベクトル・データを演算する演算器とをそれぞれ複数
個備え、1つのベクトル命令で処理されるベクトル・デ
ータを複数個のプループに分割して、各グループ毎に並
列に演算を実行する要素並列方式を採用するものが多く
なってきている。
この場合には、VPからMSをアクセスする際に、分割
された要素単位に並列に複数のりクエスタ(MSをアク
セスし、MSとVRの間のデータ転送を行う。)に割り
当てられる。
従来では、このような複数のVPと、BSを備えてスカ
ラ演算およびvPに対するセットアツプ動作等を実行す
る複数のスカラ処理装置(ScalarP roces
sor、以下、spと略記する)と、これらのVPおよ
びSPにより共有されるMSとから構成されたスーパー
コンピュータのマルチプロセッサに対しては、MSと8
8間の一致制御に関し、何も考慮されていなかった。従
って、このようなスーパーコンピュータのマルチプロセ
ッサにおいては、次のような問題が生じていた。
すなわち、VPからMSに対してストア動作が行われた
場合、MSと88間の一致制御を行う方法として、前述
のようなストア・アドレスをチエツクするためのFAA
を設ける方式では、VPが同時に複数のストア・リクエ
ストを発行するために、FAA検索待ちによるストア・
リクエストの大幅なスルー・プツトの低減が避けられな
い。また、vPのストア・リクエスタに対応して複数の
FAAを設けると、大幅なハードウェア物量の増大を招
き、装置内がFAAのみで満杯になってしまうという問
題があった。
本発明の目的は、このような従来の課題を解決し、複数
のストア・リクエスタを備えた複数のVPと、それぞれ
BSを備えた複数のSPと、これらのvPおよびSPに
より共有されるMSから構成されるスーパーコンピュー
タのマルチプロセッサシステムにおいて、少ないFAA
で、効率的にMSと88間の一致制御を行うことが可能
な記憶制御方式を提供することにある。
〔課題を解決するための手段〕
上記目的を達成する為、本発明の記憶制御方式は、主記
憶装置に対して各々ストア・リクエスタを備えた複数の
ベクトル処理装置と、該主記憶装置の写しを記憶し、か
つ記憶している写しの主記憶内アドレスを登録している
管理テーブルを付加したバッファ記憶装置をそれぞれ備
えた複数のスカラ処理装置とで構成されるマルチプロセ
ッサ・システムにおいて、上記主記憶装置を上記バッフ
ァ記憶装置の記憶単位であるブロックに分割し、該主記
憶装置上のブロックが上記バッファ記憶装置内に存在す
るか否かを示すBlock  ValidMemory
 (以下、BVMと略記する)を具備する。
BVMは、ブロック対応に設けられたB 1ockVa
lid  bit (以下、BVと略記)を含んでおり
、各bitは対応するブロックがバッファ装置内に存在
するどきValidとなる。上記ベクトル処理装置から
上記主記憶装置に対してストア動作が行われたときに、
上記管理テーブルを参照する前に、上記BVMを参照す
ることにより、主記憶装置とバッファ記憶装置間の一致
制御を行う。また、上記B V T−1は、その入力側
に複数の連続したストア・アドレスを持つリクエストを
1つのリクエストに間引きする回路を具備する。さらに
、主記憶装置をバッファ記憶装置の記憶単位であるブロ
ックを複数個集めたグループに分割し、各グループ内の
一部ないし全部のブロックがバッファ記憶装置内に存在
するか否かを示すB 1ock  G roup  V
 alidTabl、e (以下、BGVTと略記)を
設ける。BGV1゛は、ブロックグループ対応に設けら
れたB]、ock  Group  Valid  B
j、t (以下、BGVと略記する。)を含んでおり、
各bitは対応するグループブロック内の一部ないし全
部のブロックがバッファ記憶装置内に存在するとき、有
効となる。ベクトル処理装置から主記憶装置に対するス
トア動作が行われる際に、上記BVMを参照する前に、
該BGVTを参照する。
〔作 用〕
本発明においては、MSをBSの記憶単位であるブロッ
クに分割しておき、さらにMS上のこれらのブロックが
BS内に存在するか否かを示すBVMを複数のSPのB
Sに対応して設ける。そして、vPからストア・リクエ
ストが発行されると、F’ A Aをアクセスする前に
BVMでこのストア・アドレスをチエツクし、このスト
ア・アドレスを含むブロックに対応するBVがバリッド
であるときにのみ、FAAをアクセスしてMSの内容と
一致させるのである。これにより、少ないFAAしか設
けなくても、これらのFAA内に必ずストア・アドレス
が存在することを確認してからアクセスするので、無駄
なアクセスがなくなるため、待ち時間を減少させること
ができる。また、BVMを複数のバンクにインタリーフ
して、各々が独立して動作できるようにする。これによ
っても、待ち時間を短縮できる。
さらに、BVMの入力部において、VPの要素並列方向
の複数のストア・リクエストのストア・アドレスを比較
するとともに、VPの時間軸方向の複数のストア・リク
エストのストア・アドレスを比較することにより、BS
の同一ブロック内に対するストア・リクエストか否かを
判定して、同一ブロック内に対するストア・リクエスト
を1つのリクエストにパックする。これによって、アク
セス回数を減少させることができる。
さらに、MSをBSの記憶単位であるブロックを複数個
集合したグループに分割して、MS上のこれらグループ
内の一部ないし全部のブロックがBS内に存在するか否
かを示すBGVTを、VPのストア・リクエスタ対応に
設ける。そして、VPからストア・リクエストが発行さ
れると、BVMをアクセスする前に、このBGVTでス
トア・アドレスをチエツクして、このストア・アドレス
を含むブロック・グループに対応するBGVがバリッド
であるときのみ、BVMをアクセスする。
これにより、BVMのアクセスも減少するので、待時間
が短縮される。
〔実施例〕
以下、本発明の原理および実施例を、図面により詳細に
説明する。
〔第1の実施例〕 第1図において、複数のSP3.4および複数゛16 
゛ のVP5,6に共有されるMSI、入出力処理装置(I
/○ P rocessor、以下、IOPと略記する
)7,8、拡張記憶装置(E xtended  S 
torage、以下、ESと略記する)9、これらのS
P3,4、VP5,6、l0P7.8およびE S 9
7)1ら(71MS1に対するリクエストを制御する記
憶制御装置(Storage  Controller
、 SCと略記する)2が示されている。
SP3.4は、それぞれB531および41と、これら
のB531..41のMSI内アドアドレス録しておく
BAA30および40を備えている。
また、VP5,6は、それぞれVR51A−51D、V
R61A〜61 Dと、それぞれMSIに対するストア
・リクエスタ50A〜50Dと、60A〜60Dを備え
ている。VR51A〜61Dは、MSIのベクトル・デ
ータの写しを記憶するもので、SP3.4におけるB5
31.41と同じ役目を果す。
VP5,6は、要素並列方式で演算を実行し、例えば、
VP5でVR51A(7)データをMSI(7)ある領
域に連続して格納するストア命令が発行されると、VR
51A〜51Dのデータを要素単位に4分割して、第1
の要素はりクエスタ50A、第2要素はりクエスタ50
B、・・・のように、4つのりクエスタに分割して割り
当てる(いわゆる要素並列方式)。リクエスタ50A〜
50Dは、それぞれMSIに対してストア・リクエスト
を発行する。
S02は、B A A 30および40の写しであるF
AA21Aまたは21Bと、MSI上のブロックがB5
31および41内に存在するか否かを示すBVM20A
および20Bと1M5l上のブロック・グループ内の一
部ないし全部のブロックがBS3]または41内に存在
するか否かを示すB G V T 22 A〜22Hが
、VF6,6のストア・リクエスタ50A〜50Dおよ
び60A〜60Dに対応して設けられている。
先ず、VF6のストア命令が発行された際には、要素並
列方式によりベクトル・ストア・データを複数個のスト
ア・リクエスタ50A〜50Dに分割して割り当てる。
複数個のストア・リクエスタ50A〜50Dから発行さ
れるストア・リクエスト・アドレスは、先ずB G V
 1’ 22 A〜22Dでチエツクされる。BGVT
22A〜22Dは、前述のように、B531.41のブ
ロックを複数個集めたグループ、例えばセグメント(1
048576バイト)又、はページ(4096バイト)
単位に1−ビットのBGVを備えたテーブルであって、
そのエントリ数はMSIの容量分である。BGVT22
A〜22Dは、複数個のストア・リクエスタ50A〜5
0Dに対応して複数個(この場合は4個)設けられてお
り、ストア・リクエストが発行されると、それぞれこの
ストア・アドレスに含まれるブロック・グループのBG
Vを調べる。このBGVがバリッドであるとき、っまり
BGV=1であるときには、このストア・リクエストは
BVM20Aと20Bに対しリクエストを発行し、また
インバリッドであるとき、つまりBGV=0であるとき
には、BVM20Aと20Bに対しリフニス匁を発行し
ナイ。
°20 。
複数個のBGVT22A〜22Dから発行されたBVM
リクエストに伴うストア・アドレスは、それぞれBGV
T20A〜20Dに対応した要素並列方向の複数のスト
ア・アドレスを比較する回路(後述)に入力され、B5
31.41の同一ブロック内に対するストア・リクエス
トであるか否かが調べられる。同一ブロック内に対する
BVMリクエストは、1つのBVMリクエストに間引か
れる。これについては、後で第3図を用いて説明する。
次に、それぞれ要素並列方向に間引かれたBGVT22
A〜22Dに対応するBVMリクエストは、さらに時間
軸方向の複数のストア・アドレスを比較する回路(後述
)に入力される。この時間軸方向の比較回路では、要素
並列方向の比較回路と同じように、B531.41の同
一ブロック内に対するBVMリクエストであるか否かが
調べられる。同一ブロック内に対するBVMリクエスト
は、1つのBVMリクエストに間引かれ、BVMt+ノ BVM20A、20Bは、B531.41のブロック単
位に1ビツトのBVを備えたメモリであって、システム
内のB531.41に対応して設けられている。例えば
、B531を有するSF3およびB541を有するSF
3の2台で構成されているシステムでは、2組のBVM
2OA、20Bが設けられる。また、BVM20A、2
0Bの各エントリ数は、MSIの容量分である。BVM
20A、20Bは、それぞれ複数のバンクにインタリー
フされ、BVM2OA、20Bに対するリクエストを連
続して処理することが可能になって、イル。複数組(7
)BVM20A、20Bは、同時に、入力されたBVM
リクエストのストア・アドレスに含まれるブロックのB
Vを調べて、バリッドであるとき、つまりBV=1であ
るときには、そのBVMに対応するFAA21A、21
Bに対してリクエストを発行し、インバリッドであると
き、つまりBV=Oであるときには、そのBVMに対応
スるFAA21A、21Bに対してリクエストを発行し
ない。FAAに発行されたリクエストは、FAA21A
、21Bを検索して、そのストア・アドレスをチエツク
する。そのストア・アドレスがFAA21A、21B内
に存在するとき、つまりVF6または6のストア・リク
エストにより、B531および41のデータを書き替え
るときには、B531.41内のそのブロックを無効化
することにより、MSと88間の一致制御が可能となる
BGVT22A〜22H,BVM20A、20Bのバリ
ッド・ビットの登録、および無効化は、ト”A’A21
A、21Bに対するB531.41のMS内アドレスの
登録、および無効化と同期して。
そのBSにデータが登録されたり、無効化される時点で
行われる。すなわち、B531.41にMSlのデータ
を登録するリクエストが発行されると、そのBSのブロ
ックに対応するFAA21A。
21BのエントリにBSのMS内アドレスを登録すると
同時に、システム内の全BVM20A。
20Bをそのブロックを含むBGVT22A〜22Hの
ブーロック・グループ単位に読み出す。例えば、ブロッ
クが128バイトであるとして、ブロック・グループが
1048576バイトであると、そのブロックを含む8
192エントリのBVを読み出す。
次に、そのBVMのそのブロックに対応するエントリに
対して、バリッド・ビットを登録する。
すなわち、BV=1として、次にそのブロックを含む8
192エントリのBVを調べる。システム内の全BVM
の全てのBVが、BV=Oであるとき、つまりそのFA
A登録リクエスト以前は、そのブロック・グループに対
応するBGVTのBGv=0であったとき、そのブロッ
ク・グループに対応する全BGVTのそのエントリに対
して、バリッド・ビットを登録する。つまり、BGV=
1にする。そのブロックを含む8192エントリのシス
テム内の全BVMのBVのうち、いずれか1つでもBV
=1のエントリがあるとき、つまりそのFAA登録リク
エスト以前に、そのブロック・グループに対応するBG
VTのBGV=1であっめ、BGVTをアクセスしない
。BGVT、BVMのバリッド・ビットの無効化も、登
録と同じように行われる。すなわち、vp’esp等の
他処理装置からMSlに対するストア・リクエストによ
って、B531..41のデータを書き替えたとき、そ
のBSのブロックおよびFAAのそのエントリを無効化
すると同時に、そのBVMのそのブロックに対応するエ
ントリを無効化、つまりBV=0にする。次に、そのブ
ロックを含むシステム内金BVMの8192エントリの
BVを読み出して、システム内金BVMの8192エン
トリのBVを調べ、全てのBV=Oであるとき、つまり
他処理装置からのストア・リクエストにより、そのブロ
ック・グループの全ブロックが無効となったとき、その
ブロック・グループに対応する全BGVTのそのエント
リを無効化、つまりBGV=Oとする。
システム内金BVMの8192エントリのBVのうち、
いずれか1つでもBV=1のエントリがあるとき、BG
VTのそのエントリを無効化する必ようニシテ、FAA
、BVMおよびBGVT(7)−数制御を行うことによ
り、MSIとB531.41間の一致制御が可能となる
第2図は、第1図+71M5I、VF6 (又は6)、
SF3 (又LI:4)BGVT22.BVM20およ
びFAA21のアドレス関係を理解するための概略図で
ある。図においては、説明の簡単化のために、第1図の
すべての構成要素は示していない。
図において、VF6は4byte (31bit)の実
アドレスを発生する。このアドレスはMSI(231ハ
イド(2Gバイトの容量を有する))のアドレスである
。発生された実アドレスの上位11ビツト(0,1−1
,3)は、まずB GVT 22に与えられる。BGV
T22は前述の通り、2x(zli)のBGVを持ち、
そのうちの1つが実アドレスの上位11ビツトにより読
出される。
読出されたBGVが1111+である時、このBGVに
対応するブロックグループの中のブロックが、BS3 
(or4)に登録されている可能性があるので、BVM
20を参照する。
BVM20には、vP5からの実アドレスの上位24ビ
ツト(0,1−3,0)が与られる。BVM20は前述
の通り、16M(224)のBVを持ち、そのうちの1
つが読出される。
読出されたBVが“1”である時、このBVに対応する
ブロックがBS3 (or4)の登録されている。BV
が“1”であればF’AA31を索引するまでもなく、
BS3 (or4)に、このBVに対応するブロックが
登録されていることが分かる。したがって、BVが11
11+となれば、FAA31を索引しないで、B531
のブロックをキャンセルすることができる。しかし乍ら
、BAAに対する無効化のパスが増え、FAA31とB
AA30の一致制御が複雑となる為、BVMから読出さ
れたBVを直接BAA30の無効化には使用せず、FA
A21にvP(5or6)からの実アドレスを与えて、
検索させる為の、セレクタ214A o r Bへの選
択信号としている。セレクタ214AorBには、他の
リクエスト元(IOP等)からのアドレスも与えられて
いる。
FAA21において、一致が検出されると、・ B53
1内のブロックを無効化する為、BAA30内の該ブロ
ックに対応するエントリのValid  bitがII
 Ol+にリセットされる。
第3図は、第1図におけるvPによりストア・リクエス
トが発行されたときのBGVTおよびBVMの動作を説
明する図である。
V P 5およびvP6からストア・リクエスト(スト
アアドレス付)が発行されたときのMSIとB531お
よび32間の一致制御を行う動作を、第3図により説明
する。
vP5およびvP6のストア・リクエスタ50A〜50
Dおよび60A〜60Dから発行されるストア・リクエ
スト200A〜200H(ストアアドレス付)は、SC
2で受は付けられ、それぞれ対応するBGVT22A〜
22Hに入力される。
BGVT22A 〜22Hは、先に示したように220
バイト単位(ブロック・グループ)に1ビツトのBGV
を有するテーブルであって、それぞれ・28− アドレスを含むブロック・グループのFIVVを読み出
す。BGV=1であるとき、つまりそれらのストア・リ
クエストによりBSのデータを書き替える可能性がある
とき、そのストア・リクエストは比較回路202に対す
るリクエスト201A〜201H(ストアアドレス付)
となる。また、BGV二〇であるとき、つまりそれらの
ストア・リクエストによりBSのデータを書き替える可
能性がないとき、そのストア・リクエストは比較回路2
02に対するリクエストを発行することなく終了する。
このとき、これらのストア・リクエストは、BVM2O
Aおよび20Bをアクセスする必要がないというだけで
、当然MSIに対するストア動作は実行する。
比較回路202は、BGvT22A〜22Hから発行さ
れたストア・リクエスト201A〜20IH(ストアア
ドレス付)を、要素並列方向に聞くだめの回路である。
すなわち、比較回路202は、入力されたストア・リク
エスト201A〜201H(ストアアドレス付)のスト
ア・アドレスを比較し、B531の同一ブロックに対す
るリクエストが複数個あれば、1つのリクエストに間引
く。比較回路202で間引かれたリクエスト203(ス
トアアドレス付)は、比較回路206およびブリップフ
ロップ204に入力される。比較回路206とフリップ
フロップ204は、要素並列方向に間引かれたリクエス
ト203を、さらに時間軸方向に間引くための回路であ
る。フリップフロップ204は、リクエスト203(ス
トアアドレス付)を−時保持するためのものである。
リクエスト203(ストアアドレス付)が連続して発行
されると、1回目のリクエストはフリップフロップ20
4に保持されると同時に、比較回路206を通過して、
BVM20Aおよび20Bをアクセスするリクエスト2
07(ストアアドレス付)となる。次に、2回目のリク
エストが、フリップフロップ204に保持されると同時
に、比較回路206に入力されて、フリップフロップ2
04にそれまで保持されていた1回目のリクエストが比
較回路206に対するリクエスト205となる。比較回
路206は、比較回路202と同じように、リクエスト
203および205(ストアアドレス付)のアドレスを
比較して、B531の同一ブロックに対するリクエスト
であれば、1つのリクエストに間引く。3回目のリクエ
スト以降も同じようにして、順次、連続するストア・ア
ドレスを時間軸方向に間引く。以上のようにして、BG
VT22A〜22Hを通過したリクエスト201、 A
〜201H(ストアアドレス付)は、要素並列方向およ
び時間軸方向に間引かれて、BVM20Aおよび20B
に対するリクエスト207(ストアアドレス付)となる
ベクトルプロセッサからのデータストアは、−船釣にス
トア・アドレスが連続する為、このような間引きにより
、BVT20の索引回数を大幅に減らすことができる。
BVM20Aおよび20Bは、BSのブロック単位に1
ビツトのBVを有するメモリであって、先に示したよう
に各々16,777.216エントリから構成されてい
る。BVM20Aは、SF3内のB531に対応するも
のであり、BVM20BはSF3内のB541に対応す
るものであって、各々B531または41内の有効なブ
ロックニ対応したBVM20Aまたは20B(7)BV
は、BV=1である。また、BVM20Aおよび20B
は、各々4つのバンク208A〜208D。
208E〜208Hにインタリーフされている。
BVM20Aおよび20Bに対するリクエスト207(
ストアアドレス付)が発行されると、BVM20Aおよ
び20Bでは、各々それらのストア・アドレスに対応す
るエントリのBVを読み出す。それらのBV=1のとき
、つまりストア・リクエストによりB531又は41の
データを書き替えるとき、それらのBVMに対応するF
AA21Aまたは21Bに対するリクエスト209Aま
たは209B (ストアアドレス付)を発行する。
また、これらのBV=Oのとき、つまりこれらのストア
・リクエストによりBSのデータを書き替えないときに
は、これらのBVMに対応するFAA21Aまたは21
Bに対するリクエスト209Aまたは209Bを発行す
ることなく終了する。
BVM20Aおよび20Bは、BGVT22A−22H
より大容量であるため、BGVT22A〜22Hより高
密度ではあるが、定速なメモリで構成されている(例え
ば4MDRAMのLSI4ケ)。
従って、各々4つのバンク208A〜208Dおよび2
08E〜208Hにインタリーフされ、BVMに対する
リクエストを連続して処理することが可能である。BV
M20Aまたは20Bからのリクエスト209Aまたは
209Bは、BS9からのストア・リクエスト210.
l0P7または8からのストア・リクエスト211Aま
たは211B、およびSF3または4からのストア・リ
クエスト212または213とともに、セレクタ214
Aまたは214Bに入力される。これらのセレクタ21
4A、214Bは、複数のリクエストの優先準位がとら
れ、セレクトされたリクエスト215Aまたは215B
は、FAA2LAまたは21Bをアクセスする。BS9
、l0P7および8のリクエスト210.211Aおよ
び°32 ゛ 211Bは、FAA21Aおよび21Bの両方をアクセ
スする必要があるため、セレクタ214Aおよび214
Bの両方に入力される。一方、SF3のリクエストは、
SF3内のB531にストア動作を行うため、このB5
31に対応するF’ A A2 ]、 Aをアクセスす
る必要はなく、SF3内のB541のデータを書き替え
たか否かのチエツクのみ行えばよいため、このB541
に対応するFAA21Bに対するセレクタ214Bにの
み入力される。同じように、SF3のリクエストは、セ
レクタ214Aのみに入力される。FAA21Aまたは
21Bでは、上記セレクタ214Aまたは214Bでセ
レクトされたストア・リクエストのリクエスト・アドレ
スをチエツクし、このリクエスト・アドレスがB531
または41に登録されているデータのアドレスと一致し
たとき、つまりそのストア・リクエストによりB531
または41のデータを書き替えるときには、SF3また
は4に対して、これらBSのエントリの無効化リフニス
、)216Aまたは216Bを発行する。
第4図は、第1図におけるBVMおよびBGVTの登録
、無効化の動作を説明する図である。
第4図により、BVM20A、20B(7)BVおよび
BGVT22A 〜22HのBGVの登録および無効化
の動作について、詳述する。
SF3からFAA登録リクエスト217A(リクエスト
アドレス付)が発行されると、先ずFAA21Aに対し
て登録動作を行う。次にFAA21AからBVM読み出
しリクエスト218A(リフニス1−アドレス付)を発
行する。このリクエスト218Aは、セレクタ219A
および219Bに入力され、これらのセレクタ219A
219Bでセレクトされたリクエスト220Aおよび2
20Bとなって、BVM20Aおよび20Bに入力され
る。BVM20Aおよび20Bでは、これらの登録リク
エストのリクエスト・アドレスを含むブロック・グルー
プの全エントリを読み出す。本実施例の場合、各々81
92エントリのBVを読み出す。
次犀1.BVM登録リクエスト218Aを発行する。こ
のリクエスト218Aはセレクタ219Aに入力され、
このセレクタ219Aでセレクトされたリクエスト22
0Aは、BVM20Aに入力される。BVM20Aでは
、この登録リクエストのリクエスト・アドレスを含むブ
ロックのエントリに対して、バリッド・ビットを登録、
つまりBV=1とする。
前のBVM20Aおよび20Bからの読み出し動作によ
り、読み出された各々8192エントリのBV221A
および221Bは、OR回路222Aおよび222Bに
入力される。OR回路222Aおよび222Bにおいて
、論理ORがとられた結果の223Aおよび223Bは
、さらにNOR回路224で2つの論理NORがとられ
る。
次に、NOR回路224の出力225が論理値1である
とき、つまりBVM20Aおよび20Bの登録リクエス
ト・アドレスを含むブロック・グループのBVが全部O
であり、今回の登録リクエスト受付は以前のBGVが、
BGV=Oであったと、36 ・ を登録する必要がある。NOR回路224の出力225
は、AND回路226Aに入力され、この出力225が
論理値1であるとき、AND回路226Aは能動化され
て、FAAOからのストアリフニス1−(リクエストア
ドレス付)はB GVT登録リクエスト227A (リ
クエストアドレス)となる。このB G V T ’1
1録リクエスト227Aは、セレクタ228に入力され
、セレクタ228でセレクトされたリクエスト229 
(リクエストアドレス付)は、BGVT22Aないし2
2Hに入力される。そして、これらの登録リクエスト・
アドレスを含むブロック・グループのエントリに対して
、バリッド・ビットを登録、つまりBGV=1にする。
NOR回路224の出力225が論理値Oであるとき、
つまりBVM20Aおよび20Bの登録リクエストのリ
クエスト・アドレスを含むブロック・グループのBVの
いずれかが1であり、今回の登録リクエスト受は付は以
前、既にB GV= 1してBGVを登録する必要がな
い。NOR回路224の出力225が論理値Oであると
、AND回路226Aは能動化されず、BGVT登録リ
クエスト227Aは発行されない。
SF3からFAA登録リクエスト217B、(リクエス
トアドレス付)が発行されたときにも、上述と全く同じ
処理を行う。
次に、SF3からFAA無効化リクエストが発行された
ときの動作を、説明する。
SF3からFAA無効化リクエスト217B(リクエス
トアドレス付)が発行されると、先ずFAA21Bに対
して無効化動作を行う。次に、FAA21B7)”らB
VM無効化リクエスト218B (リクエストアドレス
付)が発行される。このリクエストはセレクタ219B
に入力され、このセレクタ219Bでセレクトされたリ
クエスト220B (リクエストアドレス付)はBVM
20Bに入力される。BVN20Bでは、無効化リクエ
ストのリクエスト・アドレスを含むブロックのエントリ
を無効化、つまりBV=Oとする。次に、BVM読み出
しリクエスト218B (リクエストアドレス付)を発
行することにより、このリクエストはセレクタ219A
および219Bに入力され、このセレクタ219A、2
19Bでセレクトされたリクエスト220A、220B
 (リクエストアドレス付)となってBVM2OAおよ
び20Bに人力される。BVM20Aおよび20Bでは
、無効化リクエスト・アドレスを含むブロック・グルー
プの全エントリを読み出す。読み出された各々8192
エントリのBV221Aおよび221Bは、OR回路2
22Aおよび222Bに入力される。論理OR出力22
3Aおよび223Bは、さらにNOR回路224に入力
され、論理NORがとられる。この論理NOR出力22
5が論理値1であるとき、つまりBVM20Aおよび2
0Bの無効リクエストのリクエスト・アドレスを含むブ
ロック・グループのBVが全部Oであり、今回の無効化
処理により、このブロック・グループ内の全BVM(7
)BV=Oとなったとき、BGVT22A〜22HのB
GV=Oにする必要がある。
NOR回路224の出力225は、AND回路226B
に入力され、出力225はAND回路226Bに入力さ
れ、その出力225の論理値1であるとき、AND回路
226Bは能動化されて、BGVT無効化リクエスト2
27B (リクエストアドレス付)となる。
このBGVT無効化リクエスト227B (リクエスト
アドレス付)は、セレクタ228に入力され、セレクタ
228でセレクトされたリクエスト229 (リクエス
トアドレス付)が、B GVT22A〜22Hに入力さ
れて、無効化リクエストのリクエスト・アドレスを含む
ブロック・グループのエントリを無効化、つまりBGV
=Oとする。
NOR回路224の出力225が論理値0であるとき、
つまりBVM20Aおよび20Bの無効化リクエストの
リクエスト・アドレスを含むブロック・グループのBV
のいずれかが1であり、今回の無効化リクエスト処理後
も、そのブロック・グループのBVMに、BV=1であ
るエントリが存在するときには、BGVT22A 〜2
2H(7)BGV=Oとする必要がない。NOR回路2
24の出力225が論理値Oであるとき、AND回路2
26Bは能動化されず、BGVT無効化リクエスト22
7Bは発行されない。
S P 3からト’ A A無効化リクエスト217A
が発行されたときにも、全く同じような処理が行われる
〔第2の実施例〕 第2の実施例は、第1の実施例において、BVMを複数
のスカラプロセッサ3および4に共用させるものである
本実施例においては、BVMには、各スカラプロセッサ
のFAAの登録状況が−っのBVMに反映される。
本実施例においては、ある■Pからのストア動作の際に
、先述の実施例と同様BGVTおよび必要な場合にBV
Mを検索する。検索結果BVMでヒツトした場合は、各
SP3および4のFAAに対し、検索を実行させる。こ
こにおいて、先の実施例と異なるのは、先の実施例にお
いては、BV、40 。
MとF’ A Aが一対一に対応していたので、BVM
でヒツトした場合は対応するFAAでは必ずヒツトした
ものであって、FAAの検索は装置の構成上の都合によ
り行っていた。−古本実施例では、BVMでヒツトした
としても、いずれのFAAでヒツトするか分らない為、
両方を検索し、いずれのFAAでヒツトするかを求める
ことが必要である。
また、本実施例においては、あるSPからのストア動作
に伴なう他SPのBSの無効化処理を行なう際に、該ス
トアするブロックが、ストア要求を発行したSPのBS
内に取込まれていることを検出すると、他SPのBSを
無効化したとしても、該ブロックが少くとも1台のSP
のBSには取込まれていると判断して、BVM−BGV
Tのリセット(BV、BGV)処理は行なわない。当然
、該ストアを要求したSPのBSに該ブロックが取込ま
れておらず、他SPのBSに取込まれていた場合には、
当該ブロックのBVM−BGVTのリセット処理を起動
する。
更に、あるSPからのブロックのBSへの取込動作に伴
なうFAAへの登録処理を行なう際に、登録によって追
出される旧ブロックおよび追加される新ブロックが、他
SPのBSに取込まれていることを検出すると、該SP
のFAAの登録内容を変更したとしても、該ブロックが
少くとも1台のSPのBSには取込まれていると判断し
て、BVM−BGVTの更新処理を行なわないようにす
る。以上示したような複数のSPに対応するFAAの一
括参照制御によって、複数台のSPのBSがBVMを共
有する構成であっても、BAA (FAA)とBVM−
BGVTの内容の一致性を保証することができる。
また、システムで障害等が発生した場合の後処理として
、あるSPのBSの内容を全て無効化する必要が生じた
場合にも、当該SPのBSのみならず、他SPのBSも
全無効化をするとともに、BVM−BGVT(7)リセ
ット(BV・BVG)を行なうことにより、BAA (
FAA) とBVM−B (i V Tの内容の一致性
を保証することができる。
以下、図面を参照して、第2の実施例を説明する。
第5図において第3図と同一の符号が付いているものは
、同一のものである。
MS、BGVT、BVM、FAA、BAAおよびBSア
ドレス関係についても、第2図において示したのと同じ
である。
第5図に示すとおり、スカラプロセッサが複数であるの
に対しBVMは1つのみ設けられている。
第5図において、vPからストア・リクエスト(ストア
アドレス付)が発行されたとき、BGVT22A−H,
比較回路202.フリップフロップ204および比較回
路206の動作は、第3図に示したものと同じである。
BVM20は先に述したBVM2OA、Bと同様BSの
ブロック単位に1ビツトのBVを有するメモリであって
、ここでは224エントリから構成されている。BVM
20は、SP3内のB531とSP4内のB541に対
応するものであり、B44゜ したBVはBV=1となるよう制御している。また、B
VM20は、BGVT22A−22Hより大容量である
為、BGVT22A〜22Hより大容量・低速のメモリ
で構成される。そこで、BVM20では、四つのバンク
208A〜2080にインタリーフする構成を採り、こ
れによって、BVMに対するリクエストを連続に処理す
ることを可能にしている。BVM20に対するリクエス
ト207(ストアアドレス付)が発行されると、BVM
20では、該リクエスト・アドレスに対応するエントリ
のBVを読出す。該BV=1のとき、つまりストア・リ
クエストによりB531または41のデータを書替える
とき、FAA21Aおよび21Bに対するリクエスト2
09(ストアアドレス付)を発行する。一方、該BV=
Oのとき、つまりこのストア・リクエストによりB53
1または41のデータを書替えないときには、FAA2
1Aおよび21Bに対するリクエスト209を発行する
こと無く終了する。BVM20からのりタエスト209
は、BS9からのストア・リクエスト210.l0P7
・8からのストア・リクエスト211a・211b (
ストアアドレス付)およびSP3・4からのストア・リ
クエスト212・213(ストアアドレス付)とともに
、セレクタ214に入力される。このセレクタ214で
は、複数のリクエスト間の優先順位がとられ、セレクト
されたリクエスト215a、251b (ストアアドレ
ス付)は、FAA21A・21Bをアクセスする。FA
A21A・21Bでは、セレクタ214でセレクトされ
たストア・リクエストのストア・アドレスをチエツクし
、このストア・アドレスがB531または41に登録さ
れているデータのアドレスと一致したとき、つまり該ス
トア・リクエストによりB531または41のデータを
書替えるときには、SP3または4に対して、該BSの
エントリの無効化リクエスト216aまたは216bを
発行する。
第6図は、第5図に於けるBVMおよびBGVTの登録
/無効化の動作を説明する図である。
第6図により、BVM20のBVおよびBGV′r 2
2 A〜22HのBGVの登録および無効化の動作につ
いて詳述する。
SP3からF A A W録すクエスト23j (リク
エストアドレス付)が発行されると、まずFAA21A
に対して登録に伴なって追出される旧ブロックのアドレ
スの読出を行ない、判定回路24から信号線24bを介
してセレクタ214に送る。
次に、)”AA21Aに対しては、登録動作を、FAA
21Bに対しては、信号線24bを介して送られた追出
されるブロックが登録されているか否かの検索を並行し
て行なう。この検索の結果、該登録に伴なって追出され
るブロックがSP4のB541に登録されていなければ
、つまり、該追出しによって該ブロックがB531また
は41のいずれかにも存在しなくなることを検出すると
、BVM20に対して無効化のリクエスト24a (リ
クエストアドレス付)を発行する。
SP4からFAAu録リクエスト23j (リクエスト
アドレス付)が発行されたときの、BVM・20に対す
るリクエスト発行までの処理も、上述と同様の処理を行
なう。
l0P7・8およびES9からのMSIに対するストア
・リクエストに伴なうFAAの無効化要求211a ・
211bおよび210(リクエストアドレス付)が送ら
れると、セレクタ214を介してFAA21A・21B
に送られる。この無効化要求のリクエストアドレスでF
A A 21 A・21Bを検索し、その結果B531
または41に、該リクエストアドレスを含むブロックが
登録されていることを判定回路24で検出すると、FA
Aの該エントリの無効化を行なうとともにBVM20に
対して無効化のリクエスト24a (リクエストアドレ
ス付)を発行する。
また、SP3からのMSIに対するストア・リクエスト
に伴なうFAA21Aの無効化の要求231 (リクエ
ストアドレス付)が送られると、該要求のアドレスでF
AA21A・21Bを検索する。この結果、判定回路に
於て、FAAの無効化要求を発行したSP (SP3)
以外の5P(SP4)のBS (BS41)に、該アド
レスを含むブロックが登録されており、且つFAAの無
効化要求を発行したSP (SP3)のBS (BS3
1)に該アドレスを含むブロックが登録されていないこ
とを検出すると、該FAA21Aの無効化を行なうとと
もに、BVM20に対して無効化のリフニスh24a(
リクエストアドレス付)を発行する。もし、上述の検索
に於て、該無効化要求のリフニス1〜アドレスを含むブ
ロックが、B531およびB541に登録されているこ
とを検出すると、該B541に対応するFAA21Bの
無効化を行なうのみで、BVM20に対するリクエスト
は発行しない。これは、B541に対する無効化を行な
っても、B531には該ブロックが登録されたままにな
り、BVM20の更新は不要になる為である。
尚、SP4からFAAの無効化要求が発行されたときの
、BVM20に対するリクエスト発行までの処理も、」
二連と同様の処理を行なう。
BVM20に登録のリクエスト24a (リクエストア
ドレス付)が発行されると、BVM20に・48 人力され、登録リクエストのリクエスト・アドレスを含
むブロック・グループの全エントリ(213エントリ)
のBVを読出す。その後、該登録リクエストのリクエス
ト・アドレスを含むブロックのエントリに対して、BV
=1とする。この処理と並行して、先の読出動作で読出
した213エントリのB V 20 aは、NOR回路
223に入力される。
NOR回路223で論理NORがとられた結果の223
aが′1′である、つまり、登録リクエスト・アドレス
を含むブロック・グループのBVが全部′0′であり、
今回の登録リクエスト受付は以前のBGVがg Ojで
あるときには、B GVT22A〜22Hに対してBG
Vを登録する必要がある。NOR回路223の出力22
3aは、AND回路226に入力され、この223aが
11′のとき、AND回路226は能動化されて登録リ
クエスト24a (リクエストアドレス付)は、BGV
T登録リクエスト226a (リクエストアドレス付)
になる。このBGVT登録リクエスト22Aないし22
Hに入力される。そして、このリクエストアドレスを含
むブロック・グループのエントリに対して、B G V
を111 にする。また、NOR回路223の出力22
3aが′O1であるとき、つまりBVM20の登録リク
エストのリクエスト・アドレスを含むブロック・グルー
プのBVのいずれかが′1′であり、今回の登録リフニ
ス1−受付は以前に既にBGV= ’1’であったとき
には、BGVT20A〜22Hに対してBGVを登録す
る必要がない。NOR回路223の出力223aが1 
Orであると、AND回路226は能動化されず、BG
VTu録リクエスト226aは発行されない。
一方、BVM20に無効化のリクエスト24 a(リク
エストアドレス付)が発行されると、BVM20に入力
され、無効化リクエストのリフニス1〜・アドレスを含
むブロックのエントリを無効化、つまりBV= ’O’
 とする。次に、無効化アドレスを含むブロック・グル
ープの全エントリをBV−M2Oから読出す。読出され
た213エントリのBV20 aは、NOR回路223
に入力される。このNOR回路223の出力223aが
′1′であるとき、っまりBVM20の無効リクエスト
のリクエスト・アドレスを含むブロック・グループのB
Vが全部′0′であり、今回の無効化処理により、この
ブロック・グループ内のBVがl □ l になるとき
、BGVT22A〜22HのBGVを′0′にする必要
がある。NOR回路223の出力223aは、AND回
路226に人力され、その223aが11′のとき、A
ND回路226は能動化されて、BGVT無効化リクエ
スト226a (リクエストアドレス付)になる。この
BGVT無効化リクエスト226aは、BGVT22A
〜22Hに入力されて、無効化リクエストのリクエスト
・アドレスを含むブロック・グループのエントリを無効
化、つまりBGV= ’O’ にする。
また、NOR回路223の出力223aが10′である
とき、つまりBVM20の無効化リクエストのアドレス
を含むブロック・グループのBVのト処理後も、そのブ
ロック・グループのBVMにBV= ’1’であるエン
トリが存在するときには、BGVT22A〜22HのB
GVをI O+にする必要がない。NOR回路223の
出力223aが10′であると、AND回路226は能
動化されず、BGVT無効化リクエスト226aは発行
されない。
また、マルチプロセッサ・システムに於て、障害が発生
した場合等のときに、あるSPのBSを全て無効化する
必要が生じることがある。この時には、該BSに対応す
るFAAの無効化を行なうだけでなく、BVM−BGV
Tの無効化も行なう必要がある。更に、BVM−BGV
Tを無効化する場合には、BVM−BGVTを共有して
いる他SPのBSも全て無効化する必要がある。初期化
回路25は、S TJ 3・4からのBVM−BGVT
の全無効化要求25j・25J(リクエストアドレス付
)を受は取ると、BVMの第Oエントリから最終エント
リまで、BVをl Or にするりクエ20に発行する
。このリクエスト25aにより、BVM20内は全て無
効化され、これに伴なって、BGVTに対してもBGV
の無効化リクエストが発行されて、BGVTが全て無効
化される。尚、sp間のBSの全無効化指示は、図示し
ないインタフェースにより、SP間で直接送受してB、
Sの全無効化が行なわれる。
この場合には、マルチプロセッサを構成するSPのBS
をグルーピングし、このグループの単位でBVMに対応
させて、制御する。つまり、同一のグループに含まれる
BSのいずれかに、あるブロックが登録されているか否
かで対応するBVMのBVを制御するようにし、グルー
プが異なるBSでのブロックの登録状況には影響を受け
ないように制御するわけである。尚、この場合、BGV
Tは各BVMに対応したテーブルを各々備える必要があ
る。
〔発明の効果〕
以上説明したように、本発明によれば、各々ストア・リ
クエスタを備えた複数の■Pと、各々BSを備えた複数
のSPと、これらの■PおよびSPにより共有されるM
Sから構成されるマルチプロセッサシステムに於ても、
BSとMS間の一致制御を効率的に行なうことができる
【図面の簡単な説明】
第1図は本発明の一実施例を示す記憶制御装置を含むス
ーパーコンピュータのマルチプロセッサシステムの構成
図、第2図は第1図のシステムにおけるMain  S
torage、 BGVT、 BVMおよびFAAのア
ドレス関係を示す図、第3図は第1図において、V P
のストア・リクエストが発行された場合のBGVTとB
VMの動作説明図、第4図は第1図におけるBVMおよ
びBGVTの登録、無効化の動作説明図、第5図は第2
の実施例において、■Pのストア・リクエストが発行さ
れた場合のB G V TとBVMの動作図、第6図は
第2の実施例においてBVMおよびBGVTの登録無効
化の動作説明図である。 20−= +3 V M、22A−22H−RGVT。 21A・21B・・・FAA、24・・・判定回路、5
5・ 202・206・・・比較回路、214・・・セレクタ
、25・・・初期化回路。 ・56・

Claims (1)

  1. 【特許請求の範囲】 1、複数のプロセッサと、該複数プロセッサに共有され
    る共有記憶装置と、各プロセッサに設けられ該共有記憶
    装置のデータの一部写し格納するバッファ記憶とを有す
    る計算機システムの記憶制御装置において、 該共有記憶装置は複数のブロックに分割されており、 各ブロックに対応すると伴に、バッファ記憶内に対応す
    るブロックの写しが記憶されているか否かを表す有効ビ
    ットを複数保持するブロックバリッドメモリと、 あるプロセッサが該共有記憶装置のあるブロックにデー
    タを格納する際、そのあるブロックに対応する有効ビッ
    トが有効であるか否かを検出する手段と、他のプロセッ
    サに属するバッファ記憶内に記憶されたそのあるブロッ
    クの写しを無効化する手段とを有することを特徴とする
    複数プロセッサを有する計算機システムの記憶制御装置
    。 2、上記ブロック・バリッド・メモリは、複数のバンク
    にインタリーフされることを特徴とする特許請求の範囲
    第1項記載の記憶制御方式。 3、上記ブロック・バリッド・メモリは、その入力側に
    複数の連続したストア・アドレスを持つリクエストを1
    つのリクエストに間引く回路を具備することを特徴とす
    る特許請求の範囲第1項記載の記憶制御装置。 4、上記間引き回路は、複数のストアアドレスを持つリ
    クエストのうち、同一のブロックに含まれるストアアド
    レスを持つリクエストが複数あれば、1つのリクエスト
    にする手段を含む特許請求の範囲第3項記載の記憶制御
    方式。 5、上記間引き回路は、連続して発生される複数のスト
    アアドレスを持つリクエストか、同一のブロックに含ま
    れる場合、1つのリクエストにする手段を含む、特許請
    求の範囲第3項記載の記憶制御装置。 6、上記記憶制御装置は、さらにブロックグループバリ
    ッドテーブルを含み、該ブロックグループバリッドメモ
    リは、多数のブロックから成るブロックグループに対し
    て夫々設られ、かつ対応するブロックグループ内に含ま
    れるブロックに対応する有効ビットの一つでも有効であ
    るか否かを示すグループバリッドビットを複数含むもの
    である特許請求の範囲第1項記載の記憶制御装置。 7、上記記憶制御装置は、さらに参照手段と取下げ手段
    とを有し、該参照手段は、あるプロセッサがストアアド
    レスと伴にストアリクエストを発行した際、ブロックバ
    リッドメモリを参照する前に、ブロックグループバリッ
    ドテーブルを参照するものであり、該間引き手段は、該
    ストアアドレスに対応するブロックグループバリッドビ
    ットが無効である場合に、ブロックバリッドメモリの参
    照を取下げるものである特許請求の範囲第6項記載の記
    憶制御装置。 8、上記ブロック・バリッド・メモリは、その入力側に
    複数の連続したストア・アドレスを持つリクエストを1
    つのリクエストに間引く回路を具備することを特徴とす
    る特許請求の範囲第7項記載の記憶制御装置。 9、上記間引き回路は、複数のストアアドレスを持つリ
    クエストのうち、同一のブロックに含まれるストアアド
    レスを持つリクエストが複数あれば、1つのリクエスト
    にする手段を含む、特許請求の範囲第8項記載の記憶制
    御装置。 10、上記間引き回路は、連続して発生される複数のス
    トアアドレスを持つリクエストが、同一のブロックに含
    まれる場合、1つのリクエストにする手段を含む、特許
    請求の範囲第8項記載の記憶制御装置。 11、主記憶装置と、基本プロセッサと、少なくとも一
    つの付加プロセッサとを有する計算機システムの記憶制
    御装置において、 主記憶装置のデータの一部コピーをブロック単位で保持
    するバッファメモリと、 該バッファメモリに保持されたコピーに対応するデータ
    の主記憶装置上のアドレスを保持するバッファアドレス
    アレイと、 該バッファアドレスアレイに接続され、基本プロセッサ
    から発生されたアドレスが、該バッファアドレスアレイ
    に保持されているか否かを検出する第1の検出手段と、 該バッファアドレスアレイの内容の写しを保持するフロ
    ントアドレスアレイと、 該フロントアドレスアレイに接続され、付加プロセッサ
    により発生されたアドレスが、該フロントアドレスアレ
    イに保持されているか否かを検出する第2の検出手段と
    、 バッファメモリ内の、該付加プロセッサが発生したアド
    レスに対応するブロックデータを無効化する手段と、 該バッファメモリ内にブロックデータの写しが格納され
    ているか否かを表わす有効ビットを、主記憶装置の全ブ
    ロックに対応して保持するブロックバリッドメモリと、 該付加プロセッサによる主記憶装置のあるブロックに対
    する書込み要求に応答して、そのブロックに対応する有
    効ビットをブロックバリッドメモリから読出す手段と、 該読出された有効ビットが有効である時のみに、該第2
    の検出手段を起動する手段とを含む複数プロセッサを有
    する計算機システムの記憶制御装置。 12、上記付加プロセッサは、ストアアドレスと伴にス
    トアリクエストを発生する複数のメモリリクエスタを有
    するベクトルプロセッサである特許請求の範囲第11項
    記載の記憶制御装置。 13、上記記憶制御装置はさらに、ブロックグループバ
    リッドテーブルを含み、該ブロックグループバリッドテ
    ーブルは、複数のブロックからなるブロックグループ対
    応に設けられ、ブロックグループ内の少なくとも1つの
    ブロックに対応する有効ビットが有効であるか否かを表
    わすブロックグループバリッドビットを主記憶装置の全
    ブロックグループについて保持する特許請求の範囲第1
    1項記載の記憶制御装置。 14、上記ブロック・バリッド・メモリは、その入力側
    に複数の連続したストア・アドレスを持つリクエストを
    1つのリクエストに間引く回路を具備することを特徴と
    する特許請求の範囲第12項記載の記憶制御方式。 15、主記憶装置と、複数の基本プロセッサと、少なく
    とも一つの付加プロセッサとを有する計算機システムの
    記憶制御装置において、 各基本プロセッサは、主記憶装置のデータの一部コピー
    をブロック単位で保持するバッファメモリと、該バッフ
    ァメモリに保持されたコピーに対応するデータの主記憶
    装置上のアドレスを保持するバッファアドレスアレイと
    、該バッファアドレスアレイに接続され、基本プロセッ
    サから発生されたアドレスが、該バッファアドレスアレ
    イに保持されているか否かを検出する第1の検出手段と
    を含んでおり、 おのおのが対応する基本プロセッサのバッファアドレス
    アレイの内容の写しを保持する複数のフロントアドレス
    アレイと、 おのおのが対応するフロントアドレスアレイに接続され
    、付加プロセッサにより発生されたアドレスが、対応す
    るフロントアドレスアレイに保持されているか否かを検
    出する複数の第2の検出手段と、 複数の基本プロセッサに対して共通に設けられ、ブロッ
    クデータの写しがいずれか一つのバッファメモリに格納
    されている場合に有効となる有効ビットを、主記憶装置
    の全ブロックに対応して保持するブロックバリッドメモ
    リと、該付加プロセッサによる主記憶装置のあるブロッ
    クに対する書込み要求に応答して、そのブロックに対応
    する有効ビットをブロックバリッドメモリから読出す手
    段と、 該読出された有効ビットが有効である時のみに、全ての
    第2の検出手段を起動する手段とを含む、複数プロセッ
    サを有す計算機システムの記憶制御装置。 16、上記記憶制御装置はさらに、ブロックグループバ
    リッドテーブルを含み、該ブロックグループバリッドテ
    ーブルは、複数のブロックからなるブロックグループ対
    応に設けられ、ブロックグループ内の少なくとも1つの
    ブロックに対応する有効ビットが有効であるか否かを表
    わすブロックグループバリッドビットを、主記憶装置の
    全ブロックグループについて保持する特許請求の範囲第
    15項記載の記憶制御装置。 17、複数のストアアドレスを持つリクエストのうち、
    同一のブロックに含まれるストアアドレスを持つリクエ
    ストが複数あれば、1つのリクエストにする手段を含む
    、特許請求の範囲第16項記載の記憶制御装置。 18、上記間引き回路は、連続して発生される複数のス
    トアアドレスを持つリクエストが、同一のブロックに含
    まれる場合、1つのリクエストにする手段を含む、第1
    6項記載の記憶制御方式。 19、あるプロセッサが備えるバッファ記憶装置内の情
    報を全て無効化する必要が生じた場合に、該要求を、ブ
    ロック・バリッド・メモリを有効している他のプロセッ
    サに通知し、該プロセッサのバッファ記憶装置の全情報
    を無効化するとともに、ブロック・バリッド・メモリお
    よびブロック・グループ・バリッド・テーブルを初期化
    するよう制御することを特徴とする特許請求の範囲第1
    5項記載の記憶制御方式。
JP1152346A 1988-06-17 1989-06-16 複数のプロセッサを有する計算機システムの記憶制御装置 Expired - Lifetime JPH0754484B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP14944688 1988-06-17
JP63-149446 1988-06-17

Publications (2)

Publication Number Publication Date
JPH0277858A true JPH0277858A (ja) 1990-03-16
JPH0754484B2 JPH0754484B2 (ja) 1995-06-07

Family

ID=15475297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1152346A Expired - Lifetime JPH0754484B2 (ja) 1988-06-17 1989-06-16 複数のプロセッサを有する計算機システムの記憶制御装置

Country Status (3)

Country Link
US (1) US5475849A (ja)
JP (1) JPH0754484B2 (ja)
DE (1) DE3919802C2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02294866A (ja) * 1989-05-10 1990-12-05 Hitachi Ltd 記憶制御方式
JPH0520190A (ja) * 1991-07-10 1993-01-29 Koufu Nippon Denki Kk キヤツシユ無効化処理回路
JP2000259610A (ja) * 1999-03-04 2000-09-22 Nec Kofu Ltd ベクトルデータ処理装置およびマルチプロセッサ構成におけるベクトルデータ処理装置のメモリクリア方式
JP2008046701A (ja) * 2006-08-11 2008-02-28 Nec Computertechno Ltd マルチプロセッサシステム及びその動作方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2350910A (en) * 1999-06-08 2000-12-13 Advanced Risc Mach Ltd Status bits for cache memory
US8924654B1 (en) * 2003-08-18 2014-12-30 Cray Inc. Multistreamed processor vector packing method and apparatus
US7213103B2 (en) 2004-04-22 2007-05-01 Apple Inc. Accessing data storage systems without waiting for read errors
US8495015B2 (en) 2005-06-21 2013-07-23 Apple Inc. Peer-to-peer syncing in a decentralized environment
US7523146B2 (en) 2005-06-21 2009-04-21 Apple Inc. Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment
US7797670B2 (en) 2006-04-14 2010-09-14 Apple Inc. Mirrored file system
US7860826B2 (en) 2006-08-04 2010-12-28 Apple Inc. Method and system for using global equivalency sets to identify data during peer-to-peer synchronization
US7657769B2 (en) 2007-01-08 2010-02-02 Marcy M Scott N-way synchronization of data
US11663118B2 (en) * 2021-03-10 2023-05-30 Infineon Technologies Ag Address vectors for data storage elements

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62285157A (ja) * 1986-06-04 1987-12-11 Hitachi Ltd 記憶制御方式

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3618041A (en) * 1968-10-31 1971-11-02 Hitachi Ltd Memory control system
US3581291A (en) * 1968-10-31 1971-05-25 Hitachi Ltd Memory control system in multiprocessing system
US3588829A (en) * 1968-11-14 1971-06-28 Ibm Integrated memory system with block transfer to a buffer store
US3735360A (en) * 1971-08-25 1973-05-22 Ibm High speed buffer operation in a multi-processing system
JPS5440182B2 (ja) * 1974-02-26 1979-12-01
US4142234A (en) * 1977-11-28 1979-02-27 International Business Machines Corporation Bias filter memory for filtering out unnecessary interrogations of cache directories in a multiprocessor system
US4819154A (en) * 1982-12-09 1989-04-04 Sequoia Systems, Inc. Memory back up system with one cache memory and two physically separated main memories
JPS6093563A (ja) * 1983-10-27 1985-05-25 Hitachi Ltd バツフア記憶制御方式
US4785398A (en) * 1985-12-19 1988-11-15 Honeywell Bull Inc. Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page
CH670715A5 (ja) * 1986-10-03 1989-06-30 Bbc Brown Boveri & Cie

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62285157A (ja) * 1986-06-04 1987-12-11 Hitachi Ltd 記憶制御方式

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02294866A (ja) * 1989-05-10 1990-12-05 Hitachi Ltd 記憶制御方式
JPH0520190A (ja) * 1991-07-10 1993-01-29 Koufu Nippon Denki Kk キヤツシユ無効化処理回路
JP2000259610A (ja) * 1999-03-04 2000-09-22 Nec Kofu Ltd ベクトルデータ処理装置およびマルチプロセッサ構成におけるベクトルデータ処理装置のメモリクリア方式
JP2008046701A (ja) * 2006-08-11 2008-02-28 Nec Computertechno Ltd マルチプロセッサシステム及びその動作方法

Also Published As

Publication number Publication date
JPH0754484B2 (ja) 1995-06-07
DE3919802C2 (de) 1997-01-30
US5475849A (en) 1995-12-12
DE3919802A1 (de) 1989-12-21

Similar Documents

Publication Publication Date Title
Censier et al. A new solution to coherence problems in multicache systems
US4400770A (en) Cache synonym detection and handling means
JP2662603B2 (ja) 無効要求を選別する方法及び装置
JP6928123B2 (ja) メモリシステム内のページマイグレーションのオーバヘッドを低減するメカニズム
US5404478A (en) Method of managing a virtual storage for a multi-processor system
EP0149355B1 (en) A data processing system having a data coherency solution
US4394731A (en) Cache storage line shareability control for a multiprocessor system
US4219883A (en) Cache memory control system
US6816947B1 (en) System and method for memory arbitration
US4881163A (en) Computer system architecture employing cache data line move-out queue buffer
EP0029517A2 (en) Store-in-cache mode data processing apparatus
US20030023814A1 (en) Method and system for detecting and resolving virtual address synonyms in a two-level cache hierarchy
EP0343567A2 (en) Multi-processing system and cache apparatus for use in the same
EP0347040A1 (en) Data memory system
JPS6133219B2 (ja)
US5168560A (en) Microprocessor system private split cache tag stores with the system tag store having a different validity bit for the same data line
JPH0277858A (ja) 複数のプロセッサを有する計算機システムの記憶制御装置
US7051163B2 (en) Directory structure permitting efficient write-backs in a shared memory computer system
EP0365117B1 (en) Data-processing apparatus including a cache memory
US5675765A (en) Cache memory system with independently accessible subdivided cache tag arrays
EP0212678B1 (en) Cache storage synonym detection and handling means
US5010475A (en) Consistency ensuring system for the contents of a cache memory
US6928524B2 (en) Data processing system with naked cache line write operations
JPS63149745A (ja) 記憶制御方式
JPH02297656A (ja) データ制御方式