JP2912738B2 - シリアライズ制御方法 - Google Patents

シリアライズ制御方法

Info

Publication number
JP2912738B2
JP2912738B2 JP20925791A JP20925791A JP2912738B2 JP 2912738 B2 JP2912738 B2 JP 2912738B2 JP 20925791 A JP20925791 A JP 20925791A JP 20925791 A JP20925791 A JP 20925791A JP 2912738 B2 JP2912738 B2 JP 2912738B2
Authority
JP
Japan
Prior art keywords
serialization
request
unit
scalar
vector
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 - Fee Related
Application number
JP20925791A
Other languages
English (en)
Other versions
JPH0546653A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP20925791A priority Critical patent/JP2912738B2/ja
Publication of JPH0546653A publication Critical patent/JPH0546653A/ja
Application granted granted Critical
Publication of JP2912738B2 publication Critical patent/JP2912738B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ベクトルユニット、ス
カラユニット、主記憶制御装置及び主記憶装置を少なく
とも2系統備えたマルチプロセッサ構成をとるベクトル
計算機のシリアライズ制御方法に関する。ベクトル計算
機にあっては、スカラ命令とベクトル命令、或いはベク
トル命令とベクトル命令間で命令の先行制御や並列実行
が行われることがあるため、所定の命令間での主記憶参
照順序が保証されないことがある。従って、主記憶参照
順序を保証するためにはシリアライズ制御を行う必要が
ある。
【0002】シリアライズ制御とは、それ以前に実行中
にある先行命令が生ずる主記憶オペランドアクセスを、
それよりも後に実行すべき後続命令の主記憶オペランド
アクセスを生ずる前に終了させることである。このシリ
アライズ制御は、ベクトル命令同志及びベクトル命令と
スカラ命令の主記憶オペランドアクセス間において意味
をもち、スカラ命令間ではもともと順序関係が保証され
ているために意味を持たない。
【0003】ベクトル計算機におけるシリアライズ処理
は、ベクトルユニットからのシリアライズ要求とスカラ
ユニットからのシリアライズ要求に分けられる。ベクト
ルユニットからシリアライズ要求があると、主記憶制御
装置内にあるベクトルユニットからのバッファ無効化リ
クエストを全てのスカラユニットに送出した後、要求元
ベクトルユニットにシリアライズ終了通知を行う。
【0004】またスカラユニットからシリアライズ要求
があると、主記憶制御装置内にあるスカラ系統ユニット
からのバッファ無効化リクエストを全てのスカラユニッ
トに送出した後、要求元スカラユニットにシリアライズ
終了通知を行う。更に近年にあっては、処理の高速化を
狙ってマルチプロセッサ構成のベクトル計算機の開発が
進められており、例えばベクトルユニット、スカラユニ
ット、主記憶制御装置及び主記憶装置を2系統備えてい
る。
【0005】このようなマルチプロセッサ構成のベクト
ル計算機では、新たにベクトルユニットから他系統のス
カラユニットへのシリアライズという処理が加わってく
る。即ち、ベクトルユニットからシリアライズ要求を受
けると、要求元ベクトルユニットからのバッファ無効化
リクエストを自系統のスカラユニットだけでなく、他系
統のスカラユニットにも送出した後に、要求元ベクトル
ユニットにシリアライズ終了通知を行う。
【0006】しかし、ベクトルユニットから自系統のス
カラユニットに対してのみシリアライズを行えばよいよ
うな場合にも、他系統のスカラユニットに対しバッファ
無効化リクエストの送出を終了しなければシリアライズ
終了通知が得られず、処理性能を向上するためには、こ
の点の改善が望まれる。
【0007】
【従来の技術】まず汎用計算機の主記憶制御装置におけ
るシリアライズ制御を説明する。汎用計算機の主記憶制
御装置がシリアライズ要求を受付けると、メモリアクセ
スリクエストのプライオリティ取得を禁止し、その時点
で主記憶制御装置内にある全てバッファ無効化リクエス
トを全てのCPUへ送出した後、シリアライズ要求元に
シリアライズ終了を通知するという方法をとる。
【0008】また他のシリアライズ制御としては、シリ
アライズ要求を受付けると、主記憶制御装置内にあるバ
ッファ無効化リクエストにフラグを付け、フラグ付きの
バッファ無効化リクエストを全てのCPUに送出した後
(フラグを付けるかわりにその時のバッファ無効化リク
エスト数を記憶し、その数だけ送出した後でもよい)、
シリアライズ要求元にシリアライズ終了を通知するとい
う方法をとるのが一般的であった。
【0009】尚、シリアライズ要求元は、シリアライズ
終了通知を受取るまでの間、キャッシュも含めてメモリ
アクセスを禁止することになる。次に通常のベクトル計
算機の主記憶制御装置におけるシリアライズ制御を図6
を参照して説明する。図6において、主記憶制御装置
(MCU)16はベクトルユニット(VU)10からの
シリアライズ要求と、スカラユニットや入出力プロセッ
サ等のスカラ系ユニット12からのからのシリアライズ
要求の2種類のシリアライズ処理を行う。
【0010】ベクトルユニット10からのシリアライズ
要求は、ベクトルユニット10とスカラ系ユニット12
との間のシリアライズを行うもので、シリアライズ要求
を受取った時点で主記憶制御装置16内にあるベクトル
ユニットからのバッファ無効化リクエストをスカラ系ユ
ニット12に送出した後、シリアライズ終了通知を要求
元のベクトルユニット10に送出する。
【0011】スカラ系ユニット12からのシリアライズ
要求は、スカラ系ユニット12間、例えば入出力プロセ
ッサとスカラユニットのシリアライズを行うもので、要
求を受取った時点で主記憶制御装置12内にあるスカラ
系ユニット12からのバッファ無効化リクエストを全て
のスカラ系ユニット12に送出した後、シリアライズ終
了通知をシリアライズ要求元のスカラ系ユニット12に
送出する。
【0012】尚、ベクトルユニット10からのバッファ
無効化リクエストとスカラ系ユニット12からのバッフ
ァ無効化リクエストを別々のバッファ無効化リクエスト
キューに保持すると、汎用計算機の主記憶制御装置と同
様な方法でシリアライズ終了通知を送出することができ
る。次に図7を参照してマルチプロセッサ構成のベクト
ル計算機におけるシリアライズ制御を説明する。
【0013】マルチプロセッサ構成のベクトル計算機で
は、図6のシングルプロセッサ構成の場合のシリアライ
ズ以外に、ベクトルユニットからのシリアライズ要求に
対し、自系統のスカラ系統ユニットのシリアライズに加
え、他系統のスカラユニットへのシリアライズという処
理が必要になってくる。プログラム上は、ベクトルユニ
ット10から自系統スカラ系ユニット12へのシリアラ
イズ命令(Post/Wait命令など)の後に、スカ
ラユニット間のシリアライズ命令(SIGP,CS,S
VC命令など)を置くことで実現される。
【0014】これを図6のシングルプロセッサ構成の場
合と同じ方法で実現すると、例えばA系統の主記憶制御
装置16−1は、ベクトルユニット10−1からのシリ
アライズ要求時に、要求元ベクトルユニット10−1か
らのバッファ無効化リクエストを自系統のスカラ系ユニ
ット12だけでなく、他系統のスカラ系ユニット12−
2を含む全てのスカラ系ユニットへ送出した後、要求元
のベクトルユニット10−1にシリアライズ終了通知を
送出すればよいことになる。
【0015】このようにすれば、後にスカラ系ユニット
12−1からシリアライズ要求が来た時には、ベクトル
ユニット10−1からのバッファ無効化リクエストはA
系統及びB系統の全てのスカラ系ユニット12−1,1
2−2に送出か完了しているため、スカラ系ユニット1
2−1からのバッファ無効化リクエストだけを全てのス
カラユニットに送出した後、シリアライズ終了通知を要
求元のスカラ系ユニット12−1に送出すればよいこと
になる。
【0016】
【発明が解決しようとする課題】しかしながら、ベクト
ルユニットからのシリアライズ要求に対し、ベクトルユ
ニットからのバッファ無効化リクエストを自系統及び他
系統の全てのスカラ系統ユニットに送出するシリアライ
ズ制御にあっては、ベクトルユニットから自系統のスカ
ラユニットに対してのみシリアライズを行えばよいよう
なケースでも、ベクトルユニットからのバッファ無効化
リクエストを全てのスカラユニットへ送出するまでの間
シリアライズが終了しないことになる。
【0017】一般的に、ベクトル計算機の主記憶制御装
置は、スカラ系ユニットのキャッシュのディレクトリの
コピーを持ち、不要なバッファ無効化リクエストをスカ
ラ系ユニットに送出しないようになっているため、各ス
カラユニット毎に保持しているバッファ無効化リクエス
ト数が異なることになる。このためシリアライズする必
要のない他系統のスカラ系ユニット12−2のバッファ
無効化リクエスト数が、シリアライズを必要する自系統
のスカラユニット12−1のバッファ無効化リクエスト
数以上ある場合には、このリクエスト数の差分だけシリ
アライズの必要がない他系統のスカラ系ユニット12−
2に対するバッファ無効化リクエストの送出に時間がか
かり、必要のないインターロックがかかることによって
シリアライズ処理時間が増大し、性能の低下を招くとい
う問題があった。
【0018】本発明は、このような従来の問題点に鑑み
てなされたもので、マルチプロセッサ構成のベクトル計
算機において、ベクトルユニットからのシリアライズ要
求で自系統のスカラ系ユニットに対してのみシリアライ
ズを行う場合の処理時間を短縮して処理性能を向上する
ようにしたシリアライズ制御方式を提供することを目的
とする。
【0019】
【課題を解決するための手段】図1は本発明の原理説明
図である。まず本発明は、ベクトルユニット10、1又
は複数のスカラ系ユニット12、主記憶制御装置16及
び主記憶装置18を少なくともA系統とB系統の2系統
備えたマルチプロセッサ構成をとるベクトル計算機のシ
リアライズ制御方法を対象とする。
【0020】このようなマルチプロセッサ構成をとるベ
クトル計算機のシリアライズ制御方法として本発明にあ
っては、主記憶制御装置16にシリアライズ制御部50
を設け、シリアライズ制御部50が自系統のベクトルユ
ニット10からシリアライズ要求を受けた場合には、ベ
クトルユニット10からのバッファ無効化リクエストの
内、自系統のスカラ系ユニット12に対するバッファ無
効化リクエストの送出を終了した後に、シリアライズ終
了通知を要求元のベクトルユニット10に送出すること
を特徴とする。
【0021】またシリアライズ制御部50がスカラ系ユ
ニット12からのシリアライズ要求を受けた場合には、
要求元に対応するベクトルユニット10からのバッファ
無効化リクエスト及び要求元からのバッファ無効化リク
エストを自系統および他系統の全てのスカラ系ユニット
12に対し送出した後に、シリアライズ終了通知を要求
元のスカラ系ユニット12に送出することを特徴とす
る。
【0022】具体的には次の第1及び第2シリアライズ
制御方式となる。 [第1シリアライズ制御方式]シリアライズ制御部50
が自系統のベクトルユニット10からシリアライズ要求
を受けた場合には、要求元ベクトルユニット10からの
バッファ無効化リクエストにシリアライズフラグを付け
て自系統のスカラ系ユニット12に対する送出を終了し
た後に、シリアライズ終了通知を要求元のベクトルユニ
ット10に送出する。同時にベクトルユニット10から
のシリアライズ要求を他系統のシリアライズ制御部50
に通知して要求元ベクトルユニット10から他系統のス
カラ系ユニット12に対するバッファ無効化リクエスト
にもシリアライズフラグを付けさせる。
【0023】一方、シリアライズ制御部50がスカラ系
ユニット12からのシリアライズ要求を受けた場合に
は、要求元に対応するベクトルユニット10からのバッ
ファ無効化リクエスト及び要求元からのバッファ無効化
リスクエトを自系統の全てのスカラユニット12に送出
し、他系統についてはシリアライズ要求を送出して他系
統のシリアライズ制御部50により要求元に対応するベ
クトルユニット10からのバッファ無効化リクエスト及
び要求元からのバッファ無効化リスクエトを他系統の全
てのスカラユニット12に送出してシリアライズ終了を
通知させ、その後に、他系統からシリアライズ終了通知
を受取った時に要求元のスカラ系統ユニット12にシリ
アライズ終了通知を送出する。 [第2シリアライズ制御方式] シリアライズ制御部50が自系統のベクトルユニット1
0からシリアライズ要求を受けた場合には、要求元ベク
トルユニット10からのバッファ無効化リクエストにの
みシリアライズフラグを付けて自系統のスカラ系ユニッ
ト12に対する送出を終了した後に、シリアライズ終了
通知を要求元のベクトルユニット10に送出する。他系
統のシリアライズ制御部50に対するシリアライズ要求
の通知は行わない。
【0024】一方、シリアライズ制御部50が自系統又
は他系統のスカラ系ユニット12からシリアライズ要求
を受けた場合には、 他系統のベクトルユニット10に対応するスカラ系ユ
ニット12へバッファ無効化リクエスト、 自系統及び他系統のスカラユニット12からのバッフ
ァ無効化リクエスト、の各々にシリアライズフラグを付
けて自系統および他系統の全てのスカラ系ユニット12
に送出した後に、シリアライズ終了通知を要求元のスカ
ラ系ユニット12に送出することを特徴とする。
【0025】
【作用】このような構成を備えた本発明のシリアライズ
制御方式、例えば第1シリアライズ制御方式によれは、
例えばA系統の主記憶制御装置16に設けたシリアライ
ズ制御部50が自系のベクトルユニット10からのシリ
アライズ要求を受付けると、要求元ベクトルユニット1
0からのバッファ無効化リクエストにシリアライズフラ
グを付け、自系統スカラ系ユニット12に対するバッフ
ァ無効化リクエストの送出が終了した時、シリアライズ
終了通知を要求元に送出する。
【0026】このとき、A系統の主記憶制御装置16か
らB系統の主記憶制御装置16−2に設けたシリアライ
ズ制御部50にもベクトルユニット10からのシリアラ
イズ要求を伝え、B系統のスカラ系ユニット12−2に
対するバッファ無効化リクエストにもシリアライズフラ
グを付けておく。一方、A系統の主記憶制御装置16−
1設けたシリアライズ制御部50が例えば自系統のスカ
ラ系ユニット12からのシリアライズ要求を受付けた時
は、要求元スカラ系ユニット12からのバッファ無効化
リクエストにシリアライズフラグを付け、このフラグ付
きリクエストとそれ以前にB系統のベクトルユニット1
0−2がシリアライズ要求を行った際に作成されたクラ
グ付きのバッファ無効化リクエストをA系統の全てのス
カラ系ユニット12へ送出し、B系統についてはシリア
ライズ要求を送出してシリアライズフラグ付きのバッフ
ァ無効化リクエストを同様にB系統の全てのスカラ系ユ
ニット12へ送出してA系統にシリアライズ終了を通知
させ、このB系統からのシリアライズ終了通知を受けた
時に、要求元のスカラ系ユニット12にシリアライズ終
了通知を送出する。
【0027】これにより、ベクトルユニット10から自
系統のスカラ系ユニット12へだけシリアライズ要求を
を行えばよい場合には、他系統に対するバッファ無効化
リクエストの送出の終了を待つという不要なインターロ
ックの発生しなくなり、性能の低下を防ぐことができ
る。本発明の第2シリアライズ制御方式は、例えばA系
統のベクトルユニット10からのシリアライズ要求を受
付けたときに、自系統のスカラ系ユニット12に対する
バッファ無効化リクエストにだけシリアライズフラグを
付けて送出し、この送出でシリアライズ終了通知を要求
元に送出するようにしたものである。
【0028】このためA系統のスカラ系ユニット12か
らシリアライズ要求を受けた時には、A系統の主記憶制
御装置16内にあるB系統のベクトルユニット10のシ
リアライズ要求によるB系統のスカラ系ユニット12へ
のバッファ無効化リクエストをA系統のスカラ系ユニッ
ト12に送出した後で、且つ、A系統の主記憶制御装置
16−1にあるスカラ系ユニットからのバッファ無効化
リクエストをA系統およびB系統の全てのスカラユニッ
ト12へ送出した後、シリアライズ終了通知を要求元へ
送出する。
【0029】この場合にもベクトルユニット10−1か
ら自系のスカラユニット12−1へだけシリアライズ要
求をを行えばよい場合には、他系のバッファ無効化リク
エストの終了を待つという不要なインターロックが発生
しなくなり、性能の低下を防ぐことができる。
【0030】
【実施例】図2は本発明のシリアライズ制御方式が適用
されるマルチプロセッサ構成のベクトル計算機の実施例
構成図である。図2において、ベクトル計算機はA系統
とB系統に分けられる。A系統には、ベクトルユニット
(VU)10−1、スカラユニット(SU)12−1、
入出力プロセッサ(IOP)14−1、主記憶制御装置
(MCU)16−1及び主記憶装置(MSU)18−1
が設けられる。
【0031】B系統にも同様に、ベクトルユニット(V
U)10−2、スカラユニット(SU)12−2、入出
力プロセッサ(IOP)14−2、主記憶制御装置(M
CU)16−2及び主記憶装置(MSU)18−2が設
けられる。ここでスカラユニット12−1,12−2及
び入出力プロセッサ14−1,14−2はスカラ系ユニ
ットを構成する。
【0032】図3は図2のA系統の主記憶制御装置16
−1に設けたシリアライズ制御部の実施例構成図であ
る。図3において、20,22,24は自系統のベクト
ルユニット10−1、スカラユニット12−1及び出力
プロセッサ14−1からのメモリアクセスリクエストを
受け付けるリクエストキューである。26はメモリアク
セスのプライオリティ制御回路(PRIO)である。
【0033】28はベクトルユニット10−1のメモリ
アクセスを制御するパイプライン、30はスカラユニッ
ト12−1及び入出力プロセッサ14−1のメモリアク
セスを制御するパイプラインである。32、34もパイ
プラインであり、B系統の主記憶制御装置16−2に接
続されるベクトルユニット10−2、スカラユニット1
2−2及び入出力プロセッサ14−2からのメモリアク
セスを制御するパイプライン(B系の主記憶制御装置1
6−2内にあるもの)のコピーであり、バッファ無効化
リクエストの制御を行う。
【0034】36,38,40及び42はバッファ無効
化リクエストキュー(BQ)であり、パイプライン2
8,30,32及び34に対応して設けられる。更に4
4はバッファ無効化リクエスト制御回路(BIC)であ
り、シリアライズの制御もここで行われる。このような
マクルチプロセッサ構成のベクトル計算機について、ベ
クトルユニットからのシリアライズ要求時に、 他系統のスカラユニットに対するバッファ無効化リク
エストにフラグを付けてシリアライズ制御するものを第
1シリアライズ制御方式、 他系統のスカラユニットに対するバッファ無効化リク
エストにフラグ付けずにシリアライズ制御する方式を第
2シリアライズ制御方式、として以下に説明する。[シ
リアライズを行わない通常動作]第1及び第2シリアラ
イズ制御方式のどちらにあっても、シリアライズを行わ
ない通常動作の場合は、同じ動作になる。 (1)自系統のベクトルユニットからのメモリアクセス ベクトルユニット10−1からのメモリアクセスリクエ
ストは一度、リクエストキュー20に蓄えられ、プライ
オリティ制御回路26及びB系統の主記憶制御装置16
−2にある同等回路に送られる。A系統及びB系統のプ
ライオリティ制御回路26及び同等回路でメモリアクセ
スのプライオリティが取得されると、リクエストはパイ
プライン28及びB系統の主記憶制御装置16−2にあ
るパイプライン28の同等回路へ送出される。ここで説
明を簡単にするため、2つの主記憶制御装置16−1,
16−2のプライオリティ制御回路には同一の情報を持
ち、同期して同じように動作するものとする。
【0035】パイプライン28は主記憶制御装置18−
1又は18−2にするメモリアクセスを制御すると共
に、ストアアクセスの場合にはスカラユニット12−1
へのバッファ無効化リクエストを生成する。尚、一般的
にはパイプライン28にスカラユニット12−1のキャ
ッシュディレクトリのコピーを持ち、不要なバッファ無
効化リクエストは生成しないようにする。
【0036】パイプライン28からのバッファ無効化リ
クエストはバッファ無効化リクエストキュー36へ送出
され、バッファ無効化リクエスト制御回路44によりバ
ッファ無効化リクエストのプライオリティが取得される
と、スカラユニット12−1へバッファ無効化リクエス
トが送出される。B系統の主記憶制御装置16−2にあ
るパイプライ32の同等回路は、スカラユニット12−
2へのバッファ無効化リクエストを生成する。このパイ
プライン32にも、パイプライン28と同様にスカラユ
ニット12−2のキャッシュディレクトリのコピーを持
ち、不要なバッファ無効化リクエストは生成しないのが
一般的である。
【0037】バッファ無効化リクエスト制御回路44で
生成されたバッファ無効化リクエストは、B系統の主記
憶制御装置16−2にあるバッファ無効化リクエストキ
ュー40及びバッファ無効化リクエスト制御回路44の
同等回路を通してスカラユニット12−2へ送出され
る。 (2)自系統の入出プロセッサからのメモリアクセス 入出力プロセッサ14−1からのメモリアクセスリクエ
ストは、リクエストキュー24、パイプライン30,バ
ッファ無効化リクエストキュー38を通ることを除き、
前記(1)のベクトルユニット10−1からのリクエス
トと同様である。 (3)自系統のスカラユニットからのメモリアクセス スカラユニット12−1からのメモリアクセスリクエス
トは、パイプライン30においてスカラユニット12−
1に対するバッファ無効化リクエストが生成されること
がないことと、メモリアクセスがブロックフェッチの時
にパイプライン30から各パイプラインのキャッシュデ
ィレクトリのコピーに対する書込みがあること、更にメ
モリリクエストがリクエストキュー22に蓄えられるこ
とを除き、前記(2)の入出力プロセッサ14−1から
のアクセスと同様である。
【0038】[第1シリアライズ制御方式] 他系統のスカラユニットに対するバッファ無効化リクエ
ストにフラグを付けてシリアライズ制御する第1シリア
ライズ制御方式の場合の処理は次の6つに分かれる。 (1)自系統のベクトルユニットからのシリアライズ要
求 ベクトルユニット10−1からのシリアライズ要求をバ
ッファ無効化リクエスト制御回路44が受付けると、バ
ッファ無効化リクエスト制御回路44はバッファ無効化
リクエストキュー36にあるバッファ無効化リクエスト
にシリアライズフラグを付けると共に、シリアライズ要
求をB系統の主記憶制御装置16−に設けたバッファ
無効化リクエスト制御回路44の同等回路へ送出し、他
系統となるB系統のスカラユニット12−2に対するベ
クトルユニット10−1からのバッファ無効化リクエス
トにもシリアライズフラグを付けておく。
【0039】続いてバッファ無効化リクエストキュー3
6にある対応するシリアライズフラク付きリクエストを
全てスカラユニット12−1へ送出し、送出後にリアラ
イズ終了通知を要求元のベクトルユニット10−1に送
出する。尚、ベクトルユニット0−1とスカラユニット
12−1が1対1に対応していて(複数のスカラユニッ
トが1つのベクトルユニットを共有するような構成でな
い)且つ、シリアライズ終了通知までの間にメモリアク
セスリクエストを発信しないような制御をするならば、
バッファ無効化リクエストキュー36にあるバッファ無
効化リクエストにシリアライズフラグを付ける必要はな
く、バッファ無効化リクエストキュー36が空になるの
を待って、ベクトルユニット10−1へシリアライズ終
了通知を送出すればよい。
【0040】また、シリアライズ終了通知を送出するま
でバッファ無効化リクエストキュー36からのメモリア
クセスリクエストのプライオリティ取得を禁止する場合
も、バッファ無効化リクエストキュー36にあるバッフ
ァ無効化リクエストにフラグを付ける必要はなく、バッ
ファ無効化リクエストキュー36が空になるのを待てば
よい。 (2)他系統のベクトルユニットからのシリアライズ要
求 B系統の主記憶制御装置16−2からB系統に設けたベ
クトルユニット10−2のシリアライズ要求をA系統の
主記憶制御装置16−1で受取ると、バッファ無効化リ
クエスト制御回路44はバッファ無効化リクエストキュ
ー40にあるバッファ無効化リクエストにシリアライズ
フラグを付けるだけで、他には何もしない。 (3)自系統の入出力プロセッサからのシリアライズ要
求 スカラ系ユニットに属する入出力プロセッサ14−1か
らのシリアライズ要求を受付けると、バッファ無効化リ
クエスト制御回路44はバッファ無効化リクエストキュ
ー38のバッファ無効化リクエストにシリアライズフラ
グを付けると共に、B系統の主記憶制御装置16−2へ
シリアライズ要求を送出する。
【0041】続いて、バッファ無効化リクエストキュー
38にあるシリアライズフラグ付きのバッファ無効化リ
クエストを全てスカラユニット12−1に送出し、且
つ、B系統の主記憶制御装置16−2からのシリアライ
ズ終了通知を受取ったら、入出力プロセッサ14−1に
対してシリアライズ終了通知を送出する。 (4)他系統の入出力プロセッサからのシリアライズ要
求 B系統の主記憶制御装置16−2より入出力プロセッサ
14−2のシリアライズ要求を受取ると、バッファ無効
化リクエスト制御回路44はバッファ無効化リクエスト
キュー42にあるバッファ無効化リクエストにシリアラ
イズフラグを付ける。続いて、バッファ無効化リクエス
トキュー42のバッファ無効化リクエストを全てスカラ
ユニット12−1に送出した時、シリアライズ終了通知
をB系統の主記憶制御装置16−2へ送出する。 (5)自系統のスカラユニットからのシリアライズ要求 スカラユニット12−1からのシリアライズ要求を受付
けると、バッファ無効化リクエスト制御回路44はバッ
ファ無効化リクエストキュー38及びバッファ無効化リ
クエストキュー42のバッファ無効化リクエストにシリ
アライズフラグを付けると共に、B系統の主記憶制御装
置16−2へシリアライズ要求を送出する。
【0042】続いて、バッファ無効化リクエストキュー
38及びバッファ無効化リクエストキュー42のシリア
ライズフラグ付きのリクエストを全てスカラユニット1
2−1へ送出し、且つ、B系統の主記憶制御装置16−
12からのシリアライズ終了通知を受取ったら、シリア
ライズ終了通知を要求元のスカラユニット12−1へ送
出する。
【0043】尚、バッファ無効化リクエストキュー42
のバッファ無効化リクエストも処理するのは、主記憶装
置18−1,18−2のキャッシュの一致性をスカラ系
装置間で保証するためである。 (6)他系統のスカラユニットからのシリアライズ要求 B系統の主記憶制御装置16−2よりスカラユニット1
2−2からのシリアライズ要求を受取ると、バッファ無
効化リクエスト制御回路44はバッファ無効化リクエス
トキュー38及びバッファ無効化リクエストキュー42
のバッファ無効化リクエストにシリアライズフラグを付
ける。
【0044】続いてバッファ無効化リクエストキュー3
8及びバッファ無効化リクエストキュー42のシリアラ
イズフラグ付きのリクエストを全てスカラユニット12
−1へ送出した後、バッファ無効化リクエストキュー4
0にシリアライズフラグ付きリクエストがあるかどうか
調べる。バッファ無効化リクエストキュー40にシリア
ライズフラグ付きリクエストがあれば、そのバッファ無
効化リクエストを送出完了後に、シリアライズ終了通知
をB系統の主記憶制御装置16−2へ送出する。またバ
ッファ無効化リクエストキュー40にシリアライズフラ
グ付きリクエストがなければ、直ちにシリアライズ終了
通知をB系統の主記憶制御装置16−2へ送出する。
尚、第1シリアライズ制御方式の処理で、シリアライズ
フラグを付ける代わりに、その時点のバッファ無効化リ
クエストキューに残っているバッファ無効化リクエスト
数を記憶し、各バッファ無効化リクエストキューからリ
クエスト数だけのバッファ無効化リクエストの送出を完
了した時にシリアライズ通知を出すことにより、同等の
処理を行うことができる。この点は後述する第2シリア
ライズ制御方式についても同様である。
【0045】[第2シリアラズ制御方式]他系統のスカ
ラユニットに対するバッファ無効化リクエストにフラグ
付けずにシリアライズ制御する第2シリアライズ制御方
式の場合の処理は次のようになる。 (1)自系統のベクトルユニットからのシリアライズ要
求 ベクトルユニット10−1からのシリアライズ要求を受
付けると、バッファ無効化リクエスト制御回路44はバ
ッファ無効化リクエストキュー36にあるバッファ無効
化リクエストにシリアライズフラグを付ける。このと
き、第1シリアラズ制御方式と異なり、B系統の主記憶
制御装置16−2にシリアライズ要求を送出することは
ない。従って、B系統の主記憶制御装置16−2経由で
ベクトルユニット10−2からのシリアライズ要求が来
ることはない。
【0046】続いてバッファ無効化リクエストキュー3
6のシリアライズフラグ付きリクエストを全てスカラユ
ニット12−1に送出するとシリアライズ終了通知をベ
クトルユニット10−1に送出し、この点は第1シリア
ライズ制御方式と同じである。 (2)他系統のベクトルユニットからのシリアライズ要
求 A系統の主記憶制御装置16−1に対してはB系統のベ
クトルユニット10−2からのシリアライズ要求は行わ
れない。 (3)自系統の入出力プロセッサからのシリアライズ要
求 第1シリアライズ制御方式と同じ。 (4)他系統の入出力プロセッサからのシリアライズ要
求 第1シリアライズ制御方式と同じ。 (5)自系統のスカラユニットからのシリアライズ要求 第1シリアライズ制御方式と同じ。 (6)他系統のスカラユニットからのシリアライズ要求 B系統のスカラユニット12−2からのシリアライズ要
求をB系統の主記憶制御装置16−2から受取ると、バ
ッファ無効化リクエスト制御回路44はバッファ無効化
リクエストキュー36、40及び42にあるバッファ無
効化リクエストにシリアライズフラグを付ける。続い
て、バッファ無効化リクエストキュー38,40及び4
2にあるシリアライズフラグ付きリクエストを全てスカ
ラユニット12−1に送出した後、シリアライズ終了通
知をB系統の主記憶制御装置16−2に送出する。
【0047】尚、複数の装置からのシリアライズ処理で
シリアライズフラグが付けられるバッファ無効化キュ
ー、例えばバッファ無効化リクエストキュー36の場
合、シリアライズフラグを共用することが可能である。
ただし、この時は、シリアライズフラグ付きリクエスト
がバッファ無効化リクエストキューに残っているシリア
ライズ処理中に、他装置からのシリアライズ要求がある
と処理時間が増大するが、このようなケースの発生頻度
が低いことから性能上の影響はあまりない。
【0048】図4は第1シリアライズ制御方式を用いた
シリアライズ制御回路の具体的な実施例回路図である。
この図4の実施例では、各装置からのシリアライズ要求
によってバッファ無効化リクエストに付けられるシリア
ライズフラグを1つのフラグで共用した場合の回路を示
している。尚、A系統は自系統であり、B系統が他系統
となる。
【0049】まず入出力の各信号は以下に示す意味を持
つ。 [シリアライズ要求を示す入力信号] SU0 REQ :A系統のスカラユニット1
2−1からのシリアライズ要求 IOP0 REQ :A系統の入出力プロセッサ
14−1からのシリアライズ要求 SU1 REQ R :B系統の主制御制御装置1
6−2から送られてきたB系統のスカラユニット10−
2からのシリアライズ要求 IOP1 REQ R :B系統の主記憶制御装置1
6−2から送られてきたB系統の入出力プロセッサ14
−2からのシリアライズ要求 VU0 REQ :A系統のベクトルユニット
10−1からのシリアライズ要求 VU1 REQ R :B系統の主制御装置16−
2から送られてきたB系統のベクトルユニット10−2
からのシリアライズ要求 [フラグ付きバッファ無効化リクエストキューの有無を
示す入力信号] BCS0=0 :バッファ無効化リクエストキュー38に
シリアライズフラグ付きッファ無効化リクエストがない BCS1=0 :バッファ無効化リクエストキュー42に
シリアライズフラグ付きバッファ無効化リクエストがな
い BCV0=0 :バッファ無効化リクエストキュー36に
シリアライズフラグ付きバッファ無効化リクエストがな
い BCV1=0 :バッファ無効化リクエストキュー40に
シリアライズフラグ付きバッファ無効化リクエストがな
い [シリアライズ処理中を示す出力信号] SU0 PEND :A系統のスカラユニット
12−1のシリアライズ処理中を示す IOP0 PEND :A系統の入出力プロセッ
サ14−1のシリアライズ処理中を示す SU1 PEND R :B系統の主記憶制御装置
16−2へ送るスカラユニット12−1のシリアライズ
処理中を示す IOP1 PEND R :B系統の主記憶制御装置
16−2へ送る入出力プロセッサ14−1のシリアライ
ズが処理中を示す VU0 PEND :A系統のベクトルユニッ
ト10−1のシリアライズ処理中を示す [他系統のシリアライズ処理中を示す入力信号] IOP0 PEND R :B系統の主記憶制御装置
16−2でのA系統の入出力プロセッサ14−2のシリ
アライズ処理中を示す SU0 PEND R :B系統の主記憶制御装置
16−2でのA系統のスカラユニット12−1のシリア
ライズが処理中を示す 図4において、スカラユット12−1のシリアライズ処
理中を示す出力信号SO0 PENDは、ORゲー
ト52、ANDゲート54、RS−FF56及びORゲ
ート58で生成される。即ち、ORゲート52はスカラ
ユニット12−1、入出利力プロセッサ14−1又はB
系統のスカラユニット12−2からのシリアライズ要求
で出力1となり、RS−FF56をセットし、ORゲー
ト58からのスカラユニット12−1のシリアライズ処
理中を示すSU0 PEND信号を1とする。スカ
ラユニット12−1のシリアライズが終了すると、AN
Dゲート54でバッファ無効化リクエストキュー38に
シリアライズフラグ付きのバッファ無効化リクエストが
ないことを条件にRS−FF56をリセットし、ORゲ
ート58からのSU0 PEND信号を1から0に
し、これによってシリアライズ終了通知が行われる。
【0050】またORゲート58からのスカラユニット
12−1のシリアライズ処理中を示す出力信号SU0
PENDは、B系統の主記憶制御装置16−2での
スカラユット12−1のシリアライズ処理中を示す入力
信号SU0 PEND Rとの論理和となる。更にO
Rゲート58からのスカラユニット12−1のシリアラ
イズ処理中SU0 PEND信号は、後に説明すり
RS−FF66の出力との論理和も取っている。
【0051】入出力プロセッサ14−1がシリアライズ
処理中にあることを示す出力信号IOP0 PEN
Dは、ORゲート60から得られる。ORゲート60
は、RS−FF56の出力と、B系統の主記憶制御装置
16−2でA系統の入出力プロセッサ14−1によるシ
リアライズが処理中であることを示す入力信号IOP0
PEND Rとの論理和を取る。
【0052】B系統の主記憶制御装置16−2に送るス
カラユニット12−2がシリアライズ処理中であること
を示す出力信号SU1 PEND Rは、ORゲー
ト62、ANDゲート64、RS−FF66及びORゲ
ート68で生成される。ORゲート62はスカラユニッ
ト12−1、入出力プロセッサ14−1又はB系統の入
出力プロセッサ14−2からのシリアライズ要求で1を
出力する。RS−FF66はORゲート62からのシリ
アライズ要求出力1でセットされ、ORゲート68の出
力を1としてスカラユニット12−2がシリアライズ処
理中にあることをB系統の主記憶制御装置16−2に送
る。
【0053】このときのRS−FF66の出力1は、同
時にB系統の主記憶制御装置16−2に送る入出力プロ
セッサ14−2のシリアライズが処理中であることを示
す信号IOP1 PEND Rともなる。RS−F
F66はANDゲート64でB系統のスカラユニット1
2−2に対応したバッファ無効化リクエストキュー42
にフラグ付きのリクエストがなくなったことを示すBC
S1=0を検出した時にリセットされ、ORゲート68
の出力を1から0としてシリアライズ終了通知を行う。
【0054】ORゲート66は更に、RS−FF56の
出力とRS−FF72の出力との論理和をとる。RS−
FF72はB系統のベクトルユニット10−2からのシ
リアライズ要求信号VU1 REQ Rでセットさ
れ、ANDゲート70でベクトルユニット10−2のバ
ッファ無効化リクエストキュー40でのフラグ付きリク
エストなしを示すBCV1=0を検出した際にリセット
される。
【0055】ベクトルユニット10−1のシリアライズ
処理中を示す出力信号VU0 PENDはANDゲー
ト74とRS−FF76で生成される。RS−FF76
はベクトルユニット10−1のシリアライズ要求信号V
U0 REQ で1にセットされてシリアライズ処
理中を示す。この状態でANDゲート74によりバッフ
ァ無効化リクエストキュー36でフラグ付きリクエスト
がなくなったことがBOCV=1として検出されると、
RS−FF72はリセットされて出力信号VU0
PENDを1から0とし、ベクトルユニット10−1か
らのシリアライズ要求に対しA系統のスカラユニット1
2−1にフラグ付きリクエストを送出し終ったことを検
出して、シリアライズ終了通知を行う。
【0056】図5は第2シリアライズ制御方式の実施例
回路図である。この実施例にあっては、ANDゲート7
0の反転入力に対し図4の実施例ではB系統のベクトル
ユニット10−2からのシリアライズ要求信号VU1
REQ を入力していたが、この実施例ではB
系統のスカラユニット12−2からのシリアライズ要求
信号SU1 REQ Rを入力している点が相違す
る。他の構成は図4の実施例と同じである。
【0057】このように図4又は図5に示す回路による
物量の増加は、シリアライズ制御の回路部分に限られる
ため、主記憶制御装置全体に対する物量の増加はごくわ
ずかである。
【0058】
【発明の効果】以上説明したように本発明によれば、物
量あまり増加することなく、ベクトルユニットから対応
するスカラユニットへだけシリアライズを行えばよいケ
ースでの不要なインターロックの発生を防止して性能低
下を防ぐことができる。
【図面の簡単な説明】
【図1】本発明の原理説明図図
【図2】本発明が適用されるマルチプロセッサ構成のベ
クトル計算機の説明図
【図3】本発明のシリアライズ制御部の実施例構成図
【図4】本発明による第1シリアライズ制御方式の実施
例回路図
【図5】本発明による第2シリアライズ制御方式の実施
例回路図
【図6】従来のシングルプロセッサ構成のベクトル計算
機の説明図
【図7】従来のマルチプロセッサ構成のベクトル計算機
の説明図
【符号の説明】
10,10−1,10−2:ベクトルユニット(VU) 12:スカラ系ユニット 12−1,12−2:スカラユニット(SU) 14−1,14−2:入出力プロセッサ(IOP) 16,16−1,16−2:主記憶制御装置(MCU) 18,18−1,18−2:主記憶装置(MSU) 20,22,24:リクエストキュー 26:プライオリティ制御回路(PRIO) 28,30,32,34:パイプライン 36,38,40,42:バッファ無効化リクエストキ
ュー 44:バッファ無効化リクエスト制御回路(BIC) 50:シリアライズ制御部 52,58,62,68:ORゲート 54,64,70,74:ANDゲート 56,66,72,76:RS−FF

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】ベクトルユニット、1又は複数のスカラ系
    ユニット、主記憶制御装置及び主記憶装置を少なくとも
    2系統備えたマルチプロセッサ構成をとるベクトル計算
    機のシリアライズ制御方法に於いて、 前記主記憶制御装置にシリアライズ制御部を設け、 該シリアライズ制御部が自系統のベクトルユニットから
    シリアライズ要求を受けた場合には、該ベクトルユニッ
    トからのバッファ無効化リクエストの内、自系統のスカ
    ラ系ユニットに対するバッファ無効化リクエストの送出
    を終了した後に、シリアライズ終了通知を要求元のベク
    トルユニットに送出し、 前記シリアライズ制御部がスカラ系ユニットからのシリ
    アライズ要求を受けた場合には、要求元に対応するベク
    トルユニットからのバッファ無効化リクエスト及び要求
    元からのバッファ無効化リスクエトを自系統の全てのス
    カラユニットに送出し、他系統については前記シリアラ
    イズ要求を送出して他系統のシリアライズ制御部により
    要求元に対応するベクトルユニットからのバッファ無効
    化リクエスト及び要求元からのバッファ無効化リスクエ
    トを他系統の全てのスカラユニットに送出してシリアラ
    イズ終了を通知させ、その後、他系統からシリアライズ
    終了通知を受取った時に、要求元のスカラ系統ユニット
    にシリアライズ終了通知を送出することを特徴とするシ
    リアライズ制御方法。
  2. 【請求項2】請求項1記載のシリアライズ制御方法に於
    いて、 前記シリアライズ制御部が自系統のベクトルユニットか
    らシリアライズ要求を受けた場合には、要求元ベクトル
    ユニットからのバッファ無効化リクエストにシリアライ
    ズフラグを付けて自系統のスカラ系ユニットに対する送
    出を終了した後に、シリアライズ終了通知を要求元のベ
    クトルユニットに送出し、且つ前記シリアライズ要求を
    他系統のシリアライズ制御部に通知して要求元ベクトル
    ユニットから他系統のスカラ系ユニットに対するバッフ
    ァ無効化リクエストにもシリアライズフラグを付けさ
    せ、 前記シリアライズ制御部が他系統のスカラ系ユニットか
    らシリアライズ要求を受けた場合には、要求元スカラ系
    ユニットからのバッファ無効化リクエストにリアライズ
    フラグを付けて自系統の全てのスカラ系ユニットに送出
    すると共に、他系統のベクトルユニットからのシリアラ
    イズ要求時にシリアライズフラグが付けられたバッファ
    無効化リクエストを自系統の全てのスカラ系ユニットに
    送出した後に、シリアライズ終了通知を要求元のスカラ
    系ユニットに送出することを特徴とするシリアライズ制
    御方法。
  3. 【請求項3】請求項1記載のシリアライズ制御方法に於
    いて、 前記シリアライズ制御部が自系統のベクトルユニットか
    らシリアライズ要求を受けた場合には、要求元ベクトル
    ユニットからのバッファ無効化リクエストにのみシリア
    ライズフラグを付けて自系のスカラ系ユニットに対する
    送出を終了した後に、シリアライズ終了通知を要求元の
    ベクトルユニットに送出し、 前記シリアライズ制御部が他系統のスカラ系ユニットか
    らシリアライズ要求を受けた場合には、他系統のベクト
    ルユニットに対応するスカラ系ユニットへのバッファ無
    効化リクエスト及び自系統及び他系統のスカラユニット
    からのバッファ無効化リクエストの各々にシリアライズ
    フラグを付けて自系統の全てのスカラ系ユニットに送出
    した後に、シリアライズ終了通知を要求元のスカラ系ユ
    ニットに送出することを特徴とするシリアライズ制御方
    法。
JP20925791A 1991-08-21 1991-08-21 シリアライズ制御方法 Expired - Fee Related JP2912738B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20925791A JP2912738B2 (ja) 1991-08-21 1991-08-21 シリアライズ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20925791A JP2912738B2 (ja) 1991-08-21 1991-08-21 シリアライズ制御方法

Publications (2)

Publication Number Publication Date
JPH0546653A JPH0546653A (ja) 1993-02-26
JP2912738B2 true JP2912738B2 (ja) 1999-06-28

Family

ID=16569961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20925791A Expired - Fee Related JP2912738B2 (ja) 1991-08-21 1991-08-21 シリアライズ制御方法

Country Status (1)

Country Link
JP (1) JP2912738B2 (ja)

Also Published As

Publication number Publication date
JPH0546653A (ja) 1993-02-26

Similar Documents

Publication Publication Date Title
US11868628B2 (en) On-chip atomic transaction engine
US6785776B2 (en) DMA exclusive cache state providing a fully pipelined input/output DMA write mechanism
US5751995A (en) Apparatus and method of maintaining processor ordering in a multiprocessor system which includes one or more processors that execute instructions speculatively
US6351784B1 (en) System for determining whether a subsequent transaction may be allowed or must be allowed or must not be allowed to bypass a preceding transaction
JPS62262160A (ja) 書込みバツフア装置
JPH06131263A (ja) キャッシュメモリ構成体とその使用方法
JPH02166539A (ja) フェッチ方法
JPH0534699B2 (ja)
US5263144A (en) Method and apparatus for sharing data between processors in a computer system
JP4585647B2 (ja) パイプラインメモリシステムにおける複数のターゲットへの複数の未解決要求のサポート
JP3027843B2 (ja) バススヌ−プ方法
US6507880B1 (en) Bus protocol, bus master and bus snooper for execution of global operations utilizing multiple tokens
US6347349B1 (en) System for determining whether a subsequent transaction may be allowed or must be allowed or must not be allowed to bypass a preceding transaction
KR930003444B1 (ko) 주기억 참조의 순차화 제어방식
JPH06243108A (ja) データ・コヒーレンシを維持する方法及びシステム
US6738837B1 (en) Digital system with split transaction memory access
WO2017088456A1 (zh) 多输入多输出处理器流水线数据同步装置及方法
JP2912738B2 (ja) シリアライズ制御方法
JPH0410102B2 (ja)
US6782456B2 (en) Microprocessor system bus protocol providing a fully pipelined input/output DMA write mechanism
EP1936514B1 (en) Apparatus and method for controlling issue of requests to another operation processing device
US7594080B2 (en) Temporary storage of memory line while waiting for cache eviction
US5638538A (en) Turbotable: apparatus for directing address and commands between multiple consumers on a node coupled to a pipelined system bus
JP2813182B2 (ja) マルチプロセッサコンピュータ複合装置
JPH09218859A (ja) マルチプロセッサ制御システム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990323

LAPS Cancellation because of no payment of annual fees