JPH0778786B2 - 記憶制御方式 - Google Patents

記憶制御方式

Info

Publication number
JPH0778786B2
JPH0778786B2 JP1116291A JP11629189A JPH0778786B2 JP H0778786 B2 JPH0778786 B2 JP H0778786B2 JP 1116291 A JP1116291 A JP 1116291A JP 11629189 A JP11629189 A JP 11629189A JP H0778786 B2 JPH0778786 B2 JP H0778786B2
Authority
JP
Japan
Prior art keywords
address
search
storage device
extracted
faa
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 - Lifetime
Application number
JP1116291A
Other languages
English (en)
Other versions
JPH02294866A (ja
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.)
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
Priority to JP1116291A priority Critical patent/JPH0778786B2/ja
Priority to DE19904014733 priority patent/DE4014733A1/de
Publication of JPH02294866A publication Critical patent/JPH02294866A/ja
Publication of JPH0778786B2 publication Critical patent/JPH0778786B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/0806Multiuser, multiprocessor or multiprocessing cache systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は記憶制御方式に関し、特にマルチプロセッサシ
ステムにおける共有記憶装置とバッファ記憶装置の一致
制御方式に関する。
〔従来技術〕
近年の計算機システムでは、主記憶装置(Main Strage,
以下MSと略記する)の内容をMSよりも高速の素子で構成
したバッファ(又はキャッシュ)記憶装置(Buffer Str
age,以下BSと略記する)に格納しておき、処理装置から
の高速なアクセスを可能にしている。
最近、各々にBSを備えた複数の命令プロセッサによって
MSが共有される、いわゆるマルチプロセッサシステムが
注目されているが、このようなマルチプロセッサシステ
ムでは、他の命令プロセッサからMSに対してストア動作
が行われた際に、MSとBSとの一致保証制御が必要とな
る。かかる技術について記載されている例としては、特
公昭54−40182号公報がある。
上記公報に記載された方式によれば、BSにMS内のアドレ
スを登録しておく管理テーブル(Buffer Address Arra
y,以下BAAと略記する)を設けるとともに、これとは別
個に独立して第2の管理テーブル(Front Address Arra
y,以下FAAと略記する)を設けている。このFAAは、他の
命令プロセッサから参照されるストアアドレスチェック
のための管理テーブルであって、MSとBS間の一致制御を
高速に処理するものである。
さらに最近では科学技術計算を高速に処理するために、
ベクトル処理装置(Vector Processor,以下VPと略記す
る)が用いられるようになってきている。このVPは、ベ
クトルデータを保持するベクトルレジスタ(Vector Reg
ister,以下VRと略記する)と、上記ベクトルデータを演
算する演算器とをそれぞれ複数個備えている。このよう
なVPにおける制御方式としては、一つのベクトル命令の
ベクトルデータを複数グループの要素に分割し、各グル
ープ毎に並列に演算を実行する要素並列処理方式を採用
しているものが多い。この場合には、VPからMSをアクセ
スする際に、分割された要素単位に並列に複数のアクセ
ス要求制御装置(リクエスタ)に割当てて処理を行う。
このようなVPとBSとを備えたスカラ処理装置(Scalar P
rocessor,以下SPと略記する)を各々1台ずつ備えたMS
共有型システムにおいて、VPからMSへのストア動作の処
理に必要なFAAのハードウエア量を削減するための方式
として、特願昭63−3800号に記載されたものがある。
〔発明が解決しようとする課題〕
ところが、上記従来技術では、前述のような複数のVPと
複数のSPとからなるマルチプロセッサシステムに関して
は何ら考慮されていなかった。すなわち、1台のVPが発
行したストアリクエストに対しては、全SPのBSに対応す
るFAAを検索する必要があり、そのために各リクエスト
に対応した数だけのFAAを設けるようにすると、(VP台
数)×(SP台数)分のFAAが必要となり、ハードウエア
量が極端に増大して、事実上、システムの実現が不可能
になってしまう。
一方、FAAの数を少なくすると、FAA検索待ちのための無
駄な時間が大量に発生し、システムの性能が大幅に低下
してしまうといった不都合があった。
本発明の目的は上記課題を解決し、複数のストアリクエ
スタを備えた複数のVPと、各々BSを備えた複数のSPと、
これらのVPおよびSPにより共有されるMSから構成される
マルチプロセッサシステムにおいて、小数のFAAで効率
的にMSとBSとの間の一致制御を行うことが可能な記憶制
御方式を提供することにある。
〔課題を解決するための手段〕
本発明の記憶制御方式は、主記憶装置と、主記憶装置を
共有する2以上のプロセッサとからなり各プロセッサは
上記主記憶装置の情報の一部の写しを保持するバッファ
記憶装置を備えているマルチプロセッサシステムにおい
て、所定の期間内に発行されるリクエストが複数個あ
り、かつ少なくとも二つのリクエストの相互間において
該リクエストきアドレスが互いに異なり、一つのプロセ
ッサが所定の期間内に主記憶装置に対して発行した複数
の書込みリクエストのアドレスのうち、該複数の書込み
リクエストのアドレスのビット相互間でビット変化がな
かったビット位置とこのビット位置の値を抽出して、上
記一つのプロセッサが所定の期間内に書き換えた主記憶
装置の記憶領域を示すアドレスを抽出し、該領域内の情
報が他のプロセッサのバッファ記憶装置に取り込まれて
いるか否かを検索するとともに、取り込まれていた場合
にはこのバッファ記憶領域中の該当情報を無効化するよ
うに制御するものである。
すなわち、プロセッサから発行される複数のストアリク
エストのアドレスのうち、少なくとも二つは互いに異な
る複数のストアリクエストのアドレスから共通のビット
位置と値とを検出することにより、ストアした領域を示
すアドレスを抽出する機構と、該抽出したアドレス領域
の情報が各SP内BSに取り込まれているか否かを判断する
ためにBSの管理テーブルを順次検索する機構と、取り込
まれていた場合には当該情報を無効化する機構を備える
ものである。
また、上記アドレス領域の検索を高速に処理するため、
検索専用に管理テーブル(FAA)を備えるものである。
さらに、抽出したアドレスでFAAの検索を行うよりも個
別のストアリクエストのアドレスでFAAを検索する方が
短時間に終了するか、もしくは効率的な無効化処理が行
える(過剰な無効化処理を低減できる)と判断される場
合のために、ストアリクエストを発行するVPからの指示
により、上記二つの検索手段を切り換えて処理する機構
を備えるものである。
〔作用〕
上記した手段によれば、VPが発行した複数個のストアリ
クエストを少なくとも一つの抽出アドレスに縮退させて
各SPに対応するFAAを検索する。これによって、MS上の
ある領域が各SPのBSに取り込まれているか否かを判断で
きるため、ストアリクエスタ対応にFAAを設ける場合よ
りも小数のFAAで検索処理を正常に行うことができる。
また、VPが発行する一連のストアリクエストの数が少な
くて、アドレス抽出によるFAA検索が、個別のストアリ
クエストによりFAA検索よりも長時間必要になると判断
される場合や、VPが発行する複数個のストアリクエスト
のアドレスが主記憶上の広範囲な領域に分散しており、
アドレス抽出処理によるFAA検索では過剰にBSの無効化
処理が行われると判断される場合には、個別のストアリ
クエストによるFAA検索処理に切り換えるよう制御す
る。これによって、アドレス抽出処理によるFAA検索に
ともなう特定ケースでの処理時間の増大、過剰な無効化
処理の削減(システム性能の向上)を実現することがで
きる。
〔実施例〕
まず、本発明の実施例を第2図に関して説明する。
第2図は本発明の一実施例を示すベクトル処理装置のマ
ルチプロセッサシステムの主要部の構成を示すブロック
図である。
同図において、1はMSであり、該MS1は複数(ここでは
2台)のSP3,4および複数のVP5,6によって共有されてい
る。2はMS1に対するSP3,4およびVP5,6からのリクエス
トを制御する記憶制御装置(Storage Controller,以下S
Cと略記する)である。
SP3は、BS31とこのBS31のMS1内のアドレスを登録してお
くためのBAA30を備えている。またVP5は一対のVR51Aと5
1Bとを有しており、これらに対応したストアリクエスタ
50A,50Bを備えている。上記VR51A,51BはMS1上のデータ
(ベクトルデータ)の写しを保持するためのものであ
り、上記SP3におけるBS31と同様の機能を有している。
ただし、各VR51A,51Bはレジスタであり、ソフトウエア
により管理され、BSのようなハードウエアによるMS1と
の情報の一致保証制御は行わない点が特徴である。
SP4およびVP6も上記に説明したSP3,VP6と同種の構成と
なっている。すなわち、SP4はBAA40,BS41を備え、VP6は
VR61A,VR61Bおよびストアリクエスタ60A,60Bを備えてお
り、これらの機能は上記SP3およびVP5で説明したものと
同様である。
本実施例において、上記VP5,6は、要素並列方式で演算
を実行する。たとえば、VP5でVR51A,51BのデータをMS1
のある領域に格納するストア命令が発行されると、VR51
A,51Bのデータを要素単位に2分割して、第1要素はリ
クエスタ50A、第2要素はリクエスタ50Bのように、二つ
のリクエスタに分割して割り当てる。リクエスタ50A,50
Bは、各々MS1に対してストアリクエストを発行する。以
上の処理は、VP6においても同様である。
SC2は、BAA30および40の写しであるFAA23および24と、V
P5,6が発行するストア命令の対象領域が各SP内BSに取り
込まれているか否かを検索するための検索機構25,26(R
eference Unit,以下REF25,26と略記する)を備えてい
る。このREF25,26には、各々のVP5,6に対応するストア
リクエスタ50A,50B,60A,60Bから送られてくる複数個の
ストアアドレスのうち、少なくとも二つは互いに異なる
複数個のストアアドレスからストアしている領域アドレ
スを抽出する機構と、その抽出アドレスを基に、BS31,4
1に該領域が取り込まれているか否かを順次FAA内を検索
する機構および各BAA対応の検索専用FAAを備えている。
まず、VP5から一つのベクトルストア命令が発行された
場合について全体的な動作を説明する。
VP5で一つのベクトルストア命令が起動されると、要素
並列方式によりベクトルストアデータを複数個のストア
リクエスタ50A,50Bに分割して割り当てる。複数個のス
トアリクエスタ50A,50Bから発行されるストアリクエス
トアドレスは、信号線5a,5bを介してSC2に送られてREF2
5において順次送られてくる複数個のアドレスの共通ビ
ットを抽出する「領域アドレス抽出処理」が行われる。
ここで求められる抽出アドレスは、該ベクトルストア命
令が書き換えるMS1の領域を示すものである。この抽出
アドレスを基に、REF25内に設けられた検索専用の二つ
のFAA(FAA23,26に各々対応する機構)をサーチする。
ここで、本システムのバッファ管理は、セットアソシア
ティブ方式を採用しているものとして、検索ではFAAの
カラムアドレスを順次変化させて必要なエントリを調査
する。なお、この検索で通常の個別リクエストアドレス
によるFAA検索と異なることは、個別リクエストによる
検索が各カラムに登録されているアドレス全ビットとの
比較を行うのに対して、抽出アドレスによる検索では、
複数個のリクエストアドレスの中で、この複数個のアド
レスのビット相互間で変化がなかったビットだけを比較
の対象とすることである。これによって効率的な検索が
可能となる。
上記FAA検索をしている間に、抽出アドレスと一致した
カラムが検出されると、BS内に取り込まれているデータ
を無効化するために、FAA23または24(もしくは両方)
に対して該カラムの無効化処理要求が送出される。FAA2
3,24では、この要求を受け取ると、自身の管理テーブル
内の該当カラムを無効化するとともに、REF25,26内のFA
AおよびBAA30,40に該当カラムの無効化要求を送出す
る。BAA30,40およびREF25,26内のFAAがこの要求を受け
取ると、各管理テーブル内の該当カラムを無効化する。
ここで、REF25,26内で検索した結果、無効化処理が必要
となった場合でも、直接REF25,26内のFAAを無効化せず
に、一旦FAA23または24を介して無効化処理を行うの
は、FAA23,24に対するSP3,4からのFAA登録処理との時間
差によるFAA23,24とREF25,26内のFAAとの内容の不一致
を防ぐためである。
第8図(a)には、本実施例で採用しているBAA(FAA)
の構造を示している。本実施例におけるBS管理方式で
は、セットアソシアティブ方式として、たとえばロウ数
は2、カラム数は16とする。上記BSへのデータ登録単位
は64バイトのブロックであり、テーブル内の各エントリ
の登録アドレスは、21ビットである。第8図(b)に
は、実アドレスの各ビットと、バイトアドレス,ブロッ
ク内アドレス,カラムアドレス,上位アドレスとの対応
を示している。
第1図は、SC2におけるFAA,REF関連の詳細構造を示した
ものである。
SP0,SP1より信号線3a,3bを介して送られてくるFAAへの
登録要求(各SPのBS31,41への取り込みにともなう)や
無効化要求(MSへの書き込みにともなう他SP内BSデータ
の無効化)を選択回路27が受け付け、目的のFAA(FAA23
またはFAA24)に対する処理を行う。ここでSP0,SP1から
の登録要求であれば、各々FAA0(23),FAA1(24)に対
して登録の動作を行い、SP0,SP1からの書き込みにとも
なう無効化要求に対しては、各々FAA1(24),FAA0(2
3)で各書込アドレスが登録されているか否かを検査
し、登録されていた場合には、該エントリを無効化す
る。このようなFAA23,24に対する処理は、同様の要求が
信号線3a,3bを介してREF25内のFAA25A,25BおよびREF26
内のFAAに対して送られて実行される。
一方、VP0,VP1から送られてくるストアリクエストアド
レスは、VP0の場合、信号線5a,5bを介してアドレス抽出
機構250に入力される。ここで複数個のアドレスから共
通ビット(値が同一のビット)を抜き出した領域アドレ
スを抽出し、FAA検索制御機構251に送出する。このFAA
検索制御機構251によって上記抽出アドレスが各FAA25A,
25B内で検索される。この検索処理で一致するエントリ
を検出した場合には、該エントリの無効化要求を信号線
25a,25bを介して目的のFAA0(23)またはFAA1(24)に
対して送出する。選択回路27は、この要求を受け取る
と、FAA内の当該エントリの無効化処理を行い、その
後、BAA30,40およびREF25,26内FAAと同様の無効化処理
要求を送出する。
以上の処理によってVP0から発行されたベクトルストア
要求にともなうSP0,SP1内BS31,41の無効化動作が完了
し、MSと各BS内のデータの一致性が保証されることにな
る。なお、以上の処理はVP1からのベクトルストア要求
に対してもREF26を使用して同様に処理される。
第3図は、上記アドレス抽出機構250の詳細を示したも
のである。なお、アドレス抽出機構260についても同様
である。
信号線5a,5bを介して送られるVP0(5)からの要求は、
一旦先入先出型のスタック70,71に入力される。なお本
実施例ではスタック70,71に対して同時に入力される検
索要求は、抽出アドレス検索要求と個別リクエスト検索
要求とが混在することのないように、ストアリクエスタ
50A,50B,60A,60Bを制御している。このスタック70,71に
入力された要求は上記のように入力順に順次取り出さ
れ、以降の論理に供給される。ここでスタックの出力で
ある70a,71aはFAA検索アドレスであり、70b,71bはFAA検
索要求、70c,71cは個別リクエスト検索要求、70d,71dは
アドレス抽出開始指示、70e,71eはアドレス抽出終了指
示である。
アドレス抽出処理は、個別リクエスト検索要求70c,71c
がともに“0"である時に、スタック70,71の要求を同時
に処理することにより進められる。検索アドレスは、選
択回路75で70aが選択されてレジスタ76に入力される。
これと同時に、アドレス70aと71aとが比較回路72でビッ
ト毎に比較され、一致しているビットを“1"、不一致の
ビットを“0"としてバリッドビットレジスタ77に対して
抽出バリッドビット情報としてセットする。他の要求信
号は、スタック70,71の出力70b,71b,70c,71c,70d,71d,7
0e,71eを各々ORゲート746〜749で論理和をとり、各々フ
リップフロップ770〜773にセットする。アドレス抽出処
理であることをORゲート74の負極抽出が“1"になること
で検出すると、ORゲート742,743,ANDゲート744,745を介
して各スタック70,71に対して出力ポインタの更新を指
示する。
次に、レジスタ76,77およびフリップフロップ770〜773
に対してスタック70,71から取り出された要求は、これ
がアドレス抽出処理の開始指示付きのものであれば、こ
の条件をANDゲート775で検出し、抽出バリッドビット情
報をレジスタ77の出力を選択するように選択回路79を制
御してレジスタ781にセットする。ここで検索アドレス
については毎回レジスタ76の値がレジスタ780にセット
される。一旦抽出処理が開始されると、順次送られて来
る検索アドレスを比較回路78で前回のアドレスとビット
単位に比較する。その比較結果が一致している場合には
“1"、不一致の場合には“0"となる。この比較回路78の
出力と、レジスタ77の出力である新たな抽出バリッドビ
ット情報と、前回の抽出バリッドビット情報であるレジ
スタ781の出力とをビット毎にANDゲート784で論理積を
とり、抽出バリッドビット情報としてレジスタ781にセ
ットする。この処理をアドレス抽出終了指示付要求が現
れるまで順次繰り返す。ANDゲート776で、アドレス抽出
終了指示を検出すると、フリップフロップ783を経由し
て抽出アドレス検索要求250bとしてFAA検索機構251に送
出する。この時、レジスタ780,781の値が、各々抽出ア
ドレス250a,抽出バリッドビット情報250vとして同時に
送出される。
一方、個別リクエスト検索要求を処理する場合は、スタ
ック70,71の要求を交互に取り出して以降の論理に供給
する。検索アドレス70a,71aの選択回路75における選択
は、1ビットカウンタを構成するフリップフロップ73の
出力によって制御される。フリップフロップ73の出力が
“0"ならばアドレス70aが、また“1"ならばアドレス71a
が選択される。検索要求が選択されると、フリップフロ
ップ73の出力が“0"の場合は、インバータ回路730→AND
ゲート740→ORゲート742→ANDゲート744を経由してスタ
ック70の出力ポインタの更新を指示する。一方、フリッ
プフロップ73の出力が“1"の場合には、ANDゲート741→
ORゲート743→ANDゲート745を介してスタック71の出力
ポインタの更新を指示する。
さらに個別リクエスト検索要求の処理中は、ORゲート7
4,746とANDゲート739を介して、1ビットカウンタ(フ
リップフロップ73)を更新する。
次に、個別リクエスト検索要求がレジスタ76,フリップ
フロップ770,771に取り出されると、フリップフロップ7
70,771の出力をANDゲート774を介してフリップフロップ
782にセットし、FAA検索機構251に対して個別リクエス
ト検索要求信号250cを送出する。この際、検索アドレス
250aも、レジスタ76,780を経由してFAA検索機構251に送
出される。なお、ここではバリッドビット情報は意味を
持たない。
第4図は、FAA検索機構251とFAA25A,25Bの詳細を示して
いる。
まず、抽出アドレス検索の場合について、その動作を説
明する。アドレス抽出機構250から抽出アドレス検索要
求250bを受け取ると、検索処理中を示すフリップフロッ
プ806をセットするとともに、検索アドレス250aをレジ
スタ800,801に、抽出バリッドビット情報をレジスタ802
にそれぞれセットする。なお、レジスタ802に入力する
抽出バリッドビット情報は変換回路813を介して一部変
換を施す。この変換回路813の詳細を示したのが第5図
である。当該回路では、カラムアドレスの4ビットに対
応するバリッドビット(上位からv0,v1,v2,v3)に対し
て、“0000",“1000",“1100",“1110",“1111"のビッ
ト列パターンに変換するものであり、上位ビットから
“1"が連続する場合についてのみ対象ビットを“1"とす
るものである。すなわち、ANDゲート8132で、変換前の
4ビットすべてが“1"であることを検出した時のみに、
変換後の全ビットを“1"とし、ANDゲート8131で変換前
の上位3ビットが“1"のときに変換後の上位3ビットだ
けを“1"とし、さらにANDゲート8130で変換前の上位2
ビットが“1"のときに、変換後の上位2ビットだけを
“1"とし、変換前の上位1ビットが“1"のときに、変換
後の上位1ビットだけを“1"とする。つまり、この処理
は変換前のビット列中に“1"の間に“0"があった場合に
“0"のビット位置以下のビットを“0"に変換するもので
ある。
また、レジスタ801に入力するカラムアドレスは、変換
後の抽出バリッドビット情報と、信号線250aを介して送
られて来る検索アドレス中のカラムアドレスとゲート81
2で論理積をとり、さらに選択回路803で選択して作成さ
れる。ここで、選択回路803は、抽出アドレス検索要求2
50bを受け付ける時にのみ該ゲート812の出力信号を選択
するよう制御する。
抽出アドレス検索に必要な情報が設定されると、直ちに
FAAの検索が開始される。ここでFAA23,24からのFAA25A,
25Bへの登録/キャンセル要求がなければ、カラムアド
レス・上位アドレスが選択回路822〜825を介してFAA25
A,25Bに送られて管理テーブルを参照する。ここで、指
示されるカラムアドレスに対応する管理テーブルのエン
トリを読み出して、レジスタ802の抽出バリッドビット
情報を基に、アドレス比較回路25A0,25A1,25B0,25B1で
上位アドレスと比較する。
第6図は、アドレス比較回路25A0〜25B1の詳細を示した
ものである。レジスタ800(第4図参照)からの上位ア
ドレスと、FAAの管理テーブルから読み出したアドレス
をビット毎に排他的論理和ゲート900〜902で比較し、各
ゲートの出力と、ビット対応の抽出バリッドビット情報
と、ANDゲート910〜912で論理積をとり、その出力をNOR
ゲート920でまとめ、さらに検索処理中であることを示
すフリップフロップ806の出力をANDゲート807、ORゲー
ト810を介した信号とANDゲート930で論理積をとってこ
れを一致信号とする。
この第6図に示す比較回路の機能は、抽出バリッドビッ
トが“1"の位置のアドレスビットについてのみ比較対象
として一致/不一致の判定を下すというものである。該
比較回路25A0〜25B1で一致を検出すると、該エントリを
無効化するために信号線25a,25bを介してFAA23,24に無
効化要求を送出する。
一つのカラムアドレスの検索が終了すると、カラムアド
レスを加算回路804において“1"だけ増加させて、再度
カラムアドレスレジスタ801にセットする。この際、選
択回路803は、加算回路804の出力を選択するように制御
する。またレジスタ801へのセット指示は、フリップフ
ロップ806の出力をANDゲート807およびORゲート814を介
して生成する。なお、ここでこのセット指示はFAA23,24
からの登録/キャンセル要求がある場合に、ANDゲート8
07において抑止される。
以上のようにして、カラムアドレスは順次“1"ずつ増加
させられ、それに伴ってFAAの管理テーブル内が検索さ
れていく。このようなカラムアドレスの増加は、レジス
タ802にセットされた抽出バリッドビット情報のカラム
アドレスに対応するビットにおいて、該ビット値が“0"
のビットのカラムアドレスのすべての組み合わせが計算
された時点で終了する。つまり、“1"である最下位の抽
出バリッドビット位置に対して加算回路804内で桁上げ
が生じた段階でカラムアドレスの増加が停止され、FAA
検索が終了する。このときの条件は、加算回路804の各
桁の桁上げ信号と、抽出バリッドビット中のカラムアド
レスに対応する情報により形成され、これによってフリ
ップフロップ806をリセットしてFAA検索処理を終了させ
る。
第7図には上記終了条件検出回路の詳細を示す。抽出バ
リッドビット(カラムアドレスに対応する。上位からv
0,v1,v2,v3)と加算回路804の桁上げ信号(上位からc1,
c2,c3)との論理積をANDゲート8050〜8052でとり、さら
にこれをORゲート8053でまとめることによって終了条件
を検出する。
以上に説明した一連の処理によって、抽出アドレス検索
の処理が行われる。
次に個別リクエスト検索処理の動作について説明する。
第4図において、個別リクエスト検索要求250cを受け取
ると、抽出バリッドビットを変換回路813およびORゲー
ト815で強制的に全ビット“1"の状態とし、これをレジ
スタ802にセットする。これと同時に検索アドレスにつ
いても、レジスタ800および801にセットする。このとき
に選択回路803は、検索アドレス250aを選択するよう、O
Rゲート808を介して制御される。また個別リクエスト検
索要求250cは、フリップフロップ809,ORゲート810を経
由してアドレス比較回路25A0〜25B1に送られる。ここで
レジスタ800,801にセットされたアドレスは、選択回路8
22〜825を介してFAAの管理テーブルに供給され、アドレ
ス比較回路での一致/不一致が判定され、ここで一致を
検出するとFAA23,24に対して無効化要求を送出する。こ
こで個別リクエスト検索要求250cでは、カラムアドレス
の更新は不要であるため、該処理は以上で終了する。
また、FAA23,24からの管理テーブルへの登録/キャンセ
ル要求が信号線3b,4bを介して送られて来る場合には、
該要求を各々レジスタ820,821にセットし、後続の選択
回路822〜825をレジスタ820,821の出力を選択するよう
に制御して、FAAの管理テーブルをアクセスするととも
に、該要求をORゲート830を介してANDゲート807に送出
して抽出アドレス検索処理を中断させるよう制御する。
以上説明した動作によってVP5,6からのベクトルストア
命令の実行にともなうBSとMSとの一致保証制御を行うこ
とができる。
なお、以上述べたように、本実施例におけるFAA検索で
は抽出アドレス検索と個別リクエスト検索との二つのモ
ードが用意されている。個別リクエスト検索は、たとえ
ば抽出アドレス検索では検索に時間がかかり過ぎるか、
あるいはBSをきわめて過剰に無効化してしまうような可
能性のある場合に使用する。このような個別リクエスト
検索での利点が生かせられる具体例について以下に分類
分けけして説明する。
一つのベクトルストア命令で処理する要素数が少な
く、抽出アドレス検索ではオーバヘッドが大きい場合、 一つのベクトルストア命令のオペランドアドレスの増
分値が大きく、抽出アドレスの領域が大きくなる場合、 対象となるベクトルストア命令の種類がリストベクト
ルストアであり、抽出アドレスの領域が大きくなる場
合、 等である。本条件は、ストアリクエスタ50A〜51Bにおい
て、図示しない判定回路を用いることによってベクトル
長、アドレス増分値、命令種等を識別していずれの検索
モードが適切であるかを決定する。この決定は、個別リ
クエスト検索要求信号250cに反映され、REF25,26におい
て、該信号に基づいた効率的なFAA検索が実行される。
また、本実施例では、VPからみた各SPのBSは対等の関係
にあるものとしたが、SP0とVP0,SP1とVP1が各々密接な
関係で処理を進めているのであれば、VP0からのストア
ではSP0用FAA0の検索を個別リクエスト検索で、SP1用FA
A1の検索を抽出アドレス検索で行い、VP1からのストア
では、SP0用FAA0の検索を抽出アドレス検索で、SP1用FA
A1の検索を個別リクエスト検索で行うようにして、過剰
なBS無効化処理を抑えてシステム性能の向上を図るよう
に制御してもよい。
また、アドレス抽出機構250は、SC2内でなくプロセッサ
側に設けてもよい。この場合には、BSとMSとの一致保証
制御に絡むプロセッサとSC間のインターフェース(量)
を削減することができ、さらにこれに絡むハードウエア
量を削減することができる。
また、検索アドレスの抽出、参照の処理は、アドレスの
ビット単位に行われなくてもよく、複数ビットの単位で
一致/不一致を制御するようにしてもよい。
さらに、本実施例では、ベクトル処理機構を備えたプロ
セッサに関して説明したが、該機構を備えていないマル
チプロセッサシステムにおいても本発明は有効である。
また、マルチプロセッサの構成法(プロセッサと記憶装
置の接続形態)にかかわらず、本発明は有効である。
以上、本実施例によれば検索用FAAの面数をVPのストア
リクエスタ毎に設ける必要がなく、半分の面数のFAAで
効率的な検索処理を行えるため、ハードウェア量削減に
大きな効果がある。
〔発明の効果〕
本発明によれば、キャッシュ(BS)と共有記憶装置(M
S)との一致保証制御を行うためのキャッシュの登録ア
ドレス管理テーブルの面数を性能を維持した状態のまま
従来技術の半分以下に削減することができ、少ないハー
ドウエア量で効率的な記憶制御が可能となる。
また、上記一致制御のためのアドレス情報を、従来の複
数個のアドレスから一つに縮退(抽出)したアドレスに
変換できるので、該情報伝達のためのハードウエア量、
インターフェース量を上記縮退の度合に応じて削減する
ことが可能となる。
【図面の簡単な説明】
第1図は本発明による一実施例の記憶制御装置(SC)に
おける第2の管理テーブル(FAA)および検索機構(RE
F)の詳細構造を示したブロック図、 第2図は実施例のベクトル処理装置のマルチプロセッサ
システムの主要部の構成を示すブロック図、 第3図はアドレス抽出機構の詳細を示したブロック図、 第4図はFAA検索機構と第2の管理テーブル(FAA)の詳
細を示したブロック図、 第5図は変換回路を示すブロック図、 第6図はアドレス比較回路の詳細を示したブロック図、 第7図は終了条件検出回路の詳細を示すブロック図、 第8図(a)はBAA(FAA)の構造を示すブロック図、 第8図(b)は実アドレスの各ビットと、バイトアドレ
ス、ブロック内アドレス、カラムアドレス、上位アドレ
スとの対応を示した説明図である。 1……主記憶装置(MS)、2……記憶制御装置(SC)、
3,4……スカラ処理装置(SP)、3a……信号線、3b……
信号線、5,6……ベクトル処理装置、5a,5b……信号線、
23,24……第2の管理テーブル(FAA)、25,26……検索
機構(REF)、25A,25B……第2の管理テーブル(FA
A)、25A0,25A1……アドレス比較回路、25a,25b……信
号線、27……選択回路、30,31……バッファ記憶装置(B
S)、50A,50B……ストアリクエスタ、60A,60B……スト
アリクエスタ、70……スタック、70a……検索アドレ
ス、70b……出力、70c……個別リクエスト検索要求、71
……スタック、71a……アドレス、72……比較回路、73
……フリップフロップ、74……ORゲート、75……選択回
路、76……レジスタ、77……バリッドビットレジスタ、
78……レジスタ、78……比較回路、79……選択回路、25
0……アドレス抽出機構、250a……アドレス、250b……
アドレス検索要求、250c……個別リクエスト検索要求、
250v……抽出バリッドビット情報、251……FAA検索機
構、251……FAA検索制御機構、260……アドレス抽出機
構、730……インバータ回路、739〜741……ANDゲート、
742,743……ORゲート、744,745……ANDゲート、746……
ORゲート、770……フリップフロップ、774〜776……AND
ゲート、780,781……レジスタ、782,783……フリップフ
ロップ、784……ANDゲート、800,801……レジスタ、801
……カラムアドレスレジスタ、802……レジスタ、803…
…選択回路、804……加算回路、806……フリップフロッ
プ、807……ANDゲート、808……ORゲート、809……フリ
ップフロップ、810……ORゲート、812……ゲート、813
……変換回路、814,815……ORゲート、820……レジス
タ、822……選択回路、830……ORゲート、900……排他
的論理和ゲート、903……ANDゲート、910……ANDゲー
ト、920……NORゲート、8050……ANDゲート、8053……O
Rゲート、8130……ANDゲート、8131……ANDゲート、813
2……ANDゲート。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭57−97168(JP,A) 特開 昭63−45652(JP,A) 特開 昭63−8848(JP,A) 特開 昭62−285157(JP,A) 特開 平2−77858(JP,A)

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】主記憶装置と、主記憶装置を共有する2以
    上のプロセッサとからなり各プロセッサは上記主記憶装
    置の情報の一部の写しを保持するバッファ記憶装置を備
    えているマルチプロセッサシステムにおいて、所定の期
    間内に発行されるリクエストが複数個あり、かつ少なく
    とも二つのリクエストの相互間において該リクエストの
    アドレスが互いに異なり、一つのプロセッサが所定の期
    間内に主記憶装置に対して発行した複数の書込みリクエ
    ストのアドレスのうち、該複数の書込みリクエストのア
    ドレスのビット相互間でビット変化がなかったビット位
    置とこのビット位置の値とを抽出して、上記一つのプロ
    セッサが所定の期間内に書き換えた主記憶装置の記憶領
    域を示すアドレスを抽出し、各プロセッサが有している
    バッファ記憶装置の登録情報アドレスの管理テーブル
    を、前記抽出したアドレスに基づいて必要なエントリに
    対して順次検索し、前記抽出アドレスが示す領域内の情
    報が他のプロセッサのバッファ記憶装置に取り込まれて
    いるか否かを判定するとともに、取り込まれていた場合
    にはこのバッファ記憶領域中の該当情報を無効化するよ
    うに制御することを特徴とする記憶制御方式。
  2. 【請求項2】上記で抽出されたアドレスは、複数ビット
    の単位でブロック毎に抽出され検索に用いられることを
    特徴とする請求項1記載の記憶制御方式。
  3. 【請求項3】主記憶装置に対して各々ストアリクエスタ
    を備えた複数のベクトル処理装置と、主記憶装置の写し
    を記憶し、かつ記憶している写しの主記憶内アドレスを
    登録している管理テーブルを付加したバッファ記憶装置
    を各々備えた複数のスカラ処理装置とで構成されるマル
    チプロセッサシステムにおいて、上記ベクトル処理装置
    から発行される複数のストアリクエストのアドレスのう
    ち、少なくとも二つは互いに異なる複数のストアリクエ
    ストのアドレスから共通のビット位置とこの共通のビッ
    ト位置の値とを検出することにより、ストアした領域を
    示すアドレスを抽出する手段と、該抽出したアドレス領
    域の情報が各スカラ処理装置内のバッファ記憶装置に取
    り込まれているか否かを判断するためにバッファ記憶装
    置の管理テーブルを前記抽出したアドレスに基づいて順
    次検索する手段と、取り込まれていた場合には当該情報
    を無効化する手段とを有することを特徴とする記憶制御
    方式。
  4. 【請求項4】ベクトル処理装置から主記憶装置に対する
    複数個のストアリクエストが対象とする主記憶領域を示
    すアドレスを抽出して各スカラ処理装置内のバッファ記
    憶装置に対応する管理テーブルを検索する第1の検索手
    段と、ベクトル処理装置から主記憶装置に対する個別の
    ストアリクエストのアドレスを用いて上記管理テーブル
    を検索する第2の検索手段とを備え、ベクトル処理装置
    から発行されるストアリクエストに対応するベクトル命
    令の諸条件によって第1または第2の検索手段を採用す
    る選択手段を備えていることを特徴とする請求項3記載
    の記憶制御方式。
JP1116291A 1989-05-10 1989-05-10 記憶制御方式 Expired - Lifetime JPH0778786B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1116291A JPH0778786B2 (ja) 1989-05-10 1989-05-10 記憶制御方式
DE19904014733 DE4014733A1 (de) 1989-05-10 1990-05-08 Verfahren und vorrichtung zur steuerung eines pufferspeichers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1116291A JPH0778786B2 (ja) 1989-05-10 1989-05-10 記憶制御方式

Publications (2)

Publication Number Publication Date
JPH02294866A JPH02294866A (ja) 1990-12-05
JPH0778786B2 true JPH0778786B2 (ja) 1995-08-23

Family

ID=14683407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1116291A Expired - Lifetime JPH0778786B2 (ja) 1989-05-10 1989-05-10 記憶制御方式

Country Status (2)

Country Link
JP (1) JPH0778786B2 (ja)
DE (1) DE4014733A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3176255B2 (ja) * 1995-06-09 2001-06-11 日本電気株式会社 キャッシュメモリ装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6059621B2 (ja) * 1980-12-06 1985-12-26 富士通株式会社 バッファ無効化制御方式
JPS6079467A (ja) * 1983-10-07 1985-05-07 Nec Corp 情報処理システム
JPS6093563A (ja) * 1983-10-27 1985-05-25 Hitachi Ltd バツフア記憶制御方式
JPS62285157A (ja) * 1986-06-04 1987-12-11 Hitachi Ltd 記憶制御方式
US4914582A (en) * 1986-06-27 1990-04-03 Hewlett-Packard Company Cache tag lookaside
JPS6345652A (ja) * 1986-08-13 1988-02-26 Nec Corp 情報処理装置の無効化処理方式
DE3919802C2 (de) * 1988-06-17 1997-01-30 Hitachi Ltd Speichersteuersystem für ein Multiprozessorsystem

Also Published As

Publication number Publication date
JPH02294866A (ja) 1990-12-05
DE4014733A1 (de) 1990-11-15

Similar Documents

Publication Publication Date Title
US6631447B1 (en) Multiprocessor system having controller for controlling the number of processors for which cache coherency must be guaranteed
US4747043A (en) Multiprocessor cache coherence system
US3967247A (en) Storage interface unit
EP0349122B1 (en) Method and apparatus for filtering invalidate requests
EP0343567A2 (en) Multi-processing system and cache apparatus for use in the same
EP0139407B1 (en) Data select match
JPS60142451A (ja) アドレス変換制御方式
JPH0997214A (ja) 補助プロセッサのためのアドレス変換を含む情報処理システム
JP2714952B2 (ja) 計算機システム
CN1226023A (zh) 加载/加载检测和重定序方法
US4658356A (en) Control system for updating a change bit
US5475849A (en) Memory control device with vector processors and a scalar processor
JPH03225542A (ja) データ記憶方法及びビットエンコードデータの処理回路
EP0468804A2 (en) Hierarchical memory control system
JPH0551937B2 (ja)
US5619673A (en) Virtual access cache protection bits handling method and apparatus
EP0153109B1 (en) Cache coherence system
JPH0778786B2 (ja) 記憶制御方式
JPH0756808A (ja) データキャッシュバッファ及び記憶方法
JPH0760411B2 (ja) バッファ記憶制御装置
US5426749A (en) Buffer control system using synonymic line address to retrieve second tag portion for fetch and store accesses while first tag portion is invalidated
JPS644214B2 (ja)
JPH06103477B2 (ja) 並列キャッシュメモリ
JPH0552539B2 (ja)
JPH05342101A (ja) 階層キャッシュ・メモリ