JPH02103656A - 主記憶参照の遂次化制御方式 - Google Patents

主記憶参照の遂次化制御方式

Info

Publication number
JPH02103656A
JPH02103656A JP63256604A JP25660488A JPH02103656A JP H02103656 A JPH02103656 A JP H02103656A JP 63256604 A JP63256604 A JP 63256604A JP 25660488 A JP25660488 A JP 25660488A JP H02103656 A JPH02103656 A JP H02103656A
Authority
JP
Japan
Prior art keywords
serialization
cpu
cpus
notification
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.)
Granted
Application number
JP63256604A
Other languages
English (en)
Other versions
JPH0564825B2 (ja
Inventor
Aiichiro Inoue
愛一郎 井上
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 JP63256604A priority Critical patent/JPH02103656A/ja
Priority to EP89310373A priority patent/EP0364226B1/en
Priority to DE68926374T priority patent/DE68926374T2/de
Priority to CA002000435A priority patent/CA2000435C/en
Priority to KR1019890014644A priority patent/KR930003444B1/ko
Priority to US07/420,780 priority patent/US5297267A/en
Priority to AU42839/89A priority patent/AU614190B2/en
Publication of JPH02103656A publication Critical patent/JPH02103656A/ja
Publication of JPH0564825B2 publication Critical patent/JPH0564825B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 複数のCPUが主記憶装置を共有する情報処理装置にお
けるCPLI間での主記憶参照の逐次化制御方式に関し
逐次化後の上記t1!アクセス開始を可能な限り早期化
して、複数CPUによる並列処理性能を向上させること
を目的とし 複数のCPUと、これら複数のCPUにより共有される
主記憶装置とからなり、各CPUには高速小容量のキャ
ッシュが設けられて主記憶装置とともに階層化された記
憶装置が構成されている情報処理装置において、1つの
CPUが他の全てのCPUに対して主記憶参照の逐次化
を行う場合。
他の全てのCPUに対しまず逐次化を通知し、他のCP
Uから同様な逐次化の通知が無いかあるいは自CPLI
が先に逐次化を行おうとする場合には直ちに自CPUの
主記憶参照を許すように構成した。
〔産業上の利用分野〕
本発明は、複数のcpuが主記憶装置を共有する情報処
理装置におけるCPU間での主記憶参照の逐次化制御方
式に関する。
〔背景〕
一般にCPUから主記憶装置へのフヱッチあるいはスト
アアクセスは、1ffi常、複数並行して行われるが、
それらのアクセスは、命令の規定された順序にしたがい
、また1つの命令についてはオペランドの規定された単
位と順序にしたがって行われたのと同じ結果となること
が保証される必要がある。
また主記憶装置が複数のCPUによって共有されている
情報処理装置では、各cpuが主起tα装置上の共通領
域を用いて連携して処理を行うとき。
あるCPUが行った複数のストアが、他のCPUから実
行順序にしたがって観測されるように保証することが規
定されている場合がある。
この場合はさらに、いくつかの命令あるいは割込み処理
のある操作が行われたとき、cpuがそれに先行して行
った主記憶装置のアクセスを全て完了してから後続の主
起↑、’!’Jaアクセスを行うように 他のCPUで
観測されることを保証することが通常規定される。この
保証のための処理は。
逐次化と呼ばれる。
このような複数のCPU間における主記憶アクセスの逐
次化処理は、高速に実行できることがCPUの並列処理
性能を高めるために望まれている。
〔従来の技術] 第8図は本発明が対象とするタイプの情報処理装置の従
来例構成を示す。
第8図において、1−0.1−1.・・・・・・、1−
Nは並列に動作するN+1台のCPUである(Nは1よ
り大きい整数)。2は各CPUからのアクセス要求を処
理する記憶制御装置MCU、また3は各CPUにより共
有される主記憶装置MSU。
である。
さらに各CPUには、4−0ないし4−Nで示される高
速小容量バッファのキャンシュが設けられており、それ
ぞれ主記憶装置MSUとともに階層化され記憶装置を構
成している。また各CPUには、5−Oないし5−Nで
示される命令制御部があり、パイプラインによる命令の
実行側j′nを行っている。
これらキャッシュの制御方法には、ストアインとストア
スルーがある。ストアインは、ストアをストア実行時点
ではキャッシュにだけ反映し、逐次化を行う時点つまり
他CPUに自CPIJのストアを全て反映させる時点に
まとめて主記憶装置MSUに反映させる方法である。ま
たストアスルーは、常時ストアを主記憶装置MSUにま
で反映させる方法である。
逐次化処理は、キャッシュ制御方法がストアインかスト
アスルーかで大きく異なってくる。以下。
それぞれの場合についての例を示す。
ストアインの場合には、しばしばプライベートパブリッ
クの別により制御を分けており、パブリックの領域に対
しては、たとえば逐次化時点でキャッシュの内容を上記
tα装置MSUに反映し、その後キヤノンユを無効化し
てから後続の主記憶アクセスを行い、主記憶装置MSU
上の最新のデータが取り込まれるようにして逐次化を保
証する方法がある。
またストアスルーの場合には、各CPUでのストアを常
時主記憶装置MSUまで反映させ、同時に他CPUのキ
ャッシュにそのストア領域のデータが保持されていれば
それらを無効化する反映処理を行い、逐次化を行うCP
Uでは、他cpuへの反映処理が完了するまで後続の主
記憶アクセスを遅らせる方法がある。
また逐次化には、逐次化を伴う操作単位の中の主記憶ア
クセスと逐次化対象の主記憶アクセスとの前後関係から
2次の2通りのやり方がある。
その1つは、逐次化を伴う操作単位に先行する主記憶ア
クセスの完了後に、この操作単位の中の主記憶アクセス
を行うことを保証するブリシリアライズであり、他の1
つは、逐次化を伴う操作単位に後続する主記憶アクセス
を、この操作単位の完了後に行うことを保証するポスト
ンリアライズである。
第9図はブリシリアライズによる制御の従来例。
第10図はポストシリアライズによる制御の従来例を、
それぞれタイムチャートで示したものである。
第9図のブリシリアライズの従来例において■は逐次化
を伴う命令のパイプラインにおける実行フローを示し、
Dは命令デコード、Aはオペランドのアドレス発生、T
はアドレス変換、Bはバッファ(キャッシュ)アクセス
、Eは演算、Wは結果書込みの各サイクルを表す、また
TサイクルおよびBサイクルの下に示されているLBS
はキャッシュ、EARは有効アドレスレジスタ5゜WR
はオペランドワードレジスタである。
■は、■の逐次化を伴う命令に先行するストア要求につ
いて記憶制御装置MCUが処理中にCPUへ送出するス
トアベンディング信号である。
■は、逐次化を行うCPUがMCUに逐次化要求を行う
ために、MCUからのストアベンディング信号がOFF
になってから送出する逐次化要求信号である。
■は、MCUが他のCPUに対して逐次化要求を通知し
、他CPtJが本CPUからの先行するストアの結果を
キャッシュに反映(キャッシュ無効化)させる逐次化処
理の期間である。また、この期間、他CPUは、主記憶
アクセスを停止している。
■は、■の逐次化処理の完了により、MCUが逐次化を
行うcpuへ送出する逐次化完了信号である。CPUは
この信号により逐次化処理を終了させる。
■は、■の命令実行がブリシリアライズにより遅らされ
るインクロック期間である。つまりAサイクルで発生さ
れたアドレスを用いたオペランドのフェッチは、このイ
ンタロック期間中時たされ逐次化完了によりインクロッ
クが解除された後のBサイクルで、LBSを介して実行
される。
次に第10図のポストシリアライズの従来例について説
明する。
■′は、CPUにおけるストア要求をもつ命令の実行フ
ローである。
■′ は、先行するストア要求の実行によりMCUから
CPUへ送出されるストアベンディング信号である。
■′は、■′のBサイクルでキャッシュへのデータ書込
みを行ったことによりMSUへのストア反映のために、
CPU内に生じるポストシリアライズトリガ信号である
■′は、■′のストアベンディング信号がOFFになっ
たとき■′の結果としてCPUからMCUへ送出される
逐次化要求信号である。
■′は、CPUが■′の逐次化要求信号をMCUへ送出
した後、MCUが他CPUにそれを通知し、他CPUが
先行する零CPUからのストアの結果をキャッシュに反
映(キャッシュ無効化)させる逐次化処理の期間である
。またこの期間、他CPUは主記憶アクセスを停止して
いる。
■′は、他CPUのキャッシュへの反映処理が完了した
とき、MCUが逐次化を行うCPUへ送出する逐次化完
了信号である。CPUは、この信号により逐次化・処理
を終了させる。
■′は、■′のストア命令STの後に実行される命令の
実行シーケンスであり、その人サイクルで発生されたア
ドレスを用いて行うフェッチは。
■′のポストシリアライズトリガの発生によりインクロ
ックされ、■′の逐次化処理の終了まで待たされて実行
される。
■′ は、■′のインクロック期間である。
以上の第9図および第10図で示した従来例の動作を、
第8図の構成を用いてまとめて説明すると。
各CPUl−0ないし1−Nの命令制御部5−0ないし
5−Nのいずれかが命令実行に伴うストアの操作を行う
と、キャッシュ4−0ないし4−Nの対応するものと記
憶制御装置MCU2との間のインタフェースに支障がな
くなるサイクル、つまりストアベンディング信号がOF
Fになるサイクルまで待ってから逐次化要求信号をMC
Uに発信し、その後この信号が他のCPUに届くまで主
記憶アクセスを止めている。
MCU2は、逐次化要求信号を、ストア要求と同様に先
に受けとったものから順次処理して、他CPUへ伝える
。この結果他CPUでは、それ以前に受けたキャンシュ
の無効化要求の処理が完了するまで、自CPUの主記憶
アクセスを停止する。
すなわちストアベンディング信号がOFFになった後に
送られた逐次化要求信号がMCUから他の各CPUへ到
達すると、それ以前に行われたストアが他CPUのキャ
ッシュに全て反映される保証が行われる。
〔発明が解決しようとする課題〕
複数のCPUがそれぞれキャッシュをそなえ主記憶装置
を共有する形式の従来の情報処理装置では、キャッシュ
がストアインとストアスルーのいずれの方法で制御され
ていても、逐次化時点でのストア反映処理やキャンシュ
無効化処理などが完了するまで逐次化後の主記憶アクセ
スが待たされ、複数CPUによる並列処理性能が低下す
るという問題があった。
本発明は、逐次化後の主記憶アクセス開始を可能な限り
早期化して、複数CPUによる並列処理性能を向上させ
ることを目的とする。
〔課題を解決するための手段〕
本発明は、主記憶装置を共有する複数のCPU間での逐
次化は、各CPUが相互に主起1.αアクセスの順序を
観測できる場合に意味があること、つまりあるCPUが
逐次化を行った場合、他のCPUから観測できるのは、
その順序が保証されている主記憶アクセスと関連する領
域を主記憶アクセスする場合のみであることに着目して
、逐次化の後の主記憶アクセスを待たせる必要がある場
合とない場合とを区別し、待たせる必要がない場合には
直ちに後続の主記憶アクセスを実行させるようにしたも
のである。
次に具体例で説明する。なおCPU−0とCPU−1の
2CPUの情報処理装置の場合を例に説明する。
■ cpu−oが領域A、Bに順にデータをストア(S
T)L、、続いてCPU−1が領域B、 Aから順にデ
ータをフェッチ(Fch )する場合の命令シーケンス
の例を以下に示す。
(CPU−0)     (CPU−1)ST  A ST  B Fch   B Fch   A この場合、CPU−1がBをフェッチしたときにcpu
−oがストアした結果が見えた(つまり反映されていた
)ならば、CPU−1が次にAをフェッチすると必ずC
PU−0が先にストアした結果が見えるべきである。こ
れは、Cpu−oが行うストアの順序保証によるもので
ある。
■ CPU−0が領域Aヘスドア(ST)した後。
逐次化(Serialize)を行い、その後領域Bを
フェッチ(Fch ) シ、続いてCPU−1は領域B
ヘスドア(ST)した後逐次化(Serialize)
を行い、その後で領域Aをフj−’7チ(Fch )う
場合の命令シーケンスの例を次に示す。
(CPU−0)     (CPLI−1)ST  A Serialize Fch  B を行 ST   B Serialize Fch   A この場合、CPU−0がBをフェッチした結果には、C
PU−1がBにスI・アした結果が反映されていない。
すなわち、CPU−0のBのフェッチがCPU−1のB
のストアよりも先行しているとするならば、CPU−0
のAへのストアはBのフェッチよりも前に完了している
からcpu−1のBへのストアよりも先であり、またC
P[J−1のAのフェッチよりも必ず先となっている。
したがって、CPU−0がAにストアした結果は、CP
U−1が行うAからのフェッチに必ず反映されていなけ
ればならない。これは、  CPIJ0とCPU−1が
、それぞれ逐次化により1前後のストアとフェッチおよ
びフェッチとストアを順序保証していることに基づいて
いる。他方、CPU−1が逐次化を行っていないならば
、BへのストアがAのフェッチよりも先に行われる保証
はないので、cpu−oがBをフェッチしたとき、Bに
cpu−tがストアした結果が反映されていなかったと
しても それからCPU−1がAをフェッチしたときに
CPU−0がストアした結果が見える(反映されている
)とは限らないことになる。
ここで挙げた2つの例のうち、■の場合のCPU間にお
ける順序保証は、CPUがストアを行う際に主記憶装置
へのストア処理をその都度逐次的に行い、また他CPU
のキャンツユに同しストア領域のデータをもつものがあ
ればそれを無効化する処理を逐次的に行うことにより、
容易に実現される。そしてそれによる逐次化後の上記↑
、αアクセスの遅れは、キャッシュの無効化された領域
へのアクセスにより生じる主起憶装ごから→ヤ、シェヘ
のデータの取り込みに要する時間によるものだけである
しかしながら■の例におけるCPU間での順序保証では
、逐次化以前のストアが主記憶装置に反映されかつ他C
PUのキャッシュの該当領域が無効化されるまで、逐次
化後のフエ’7チを遅らせる必要があり、そのためには
特別な制御を行わなければならない。
ここで、■の例においては1両CPU共逐次化を行って
いる場合にのみ相互に順序の保証が必要となること、お
よび両CPUの実行順序のうち保証が必要なのは、互い
に他CPUから観測される自CPUの逐次化をはさんだ
ストアとフェッチの順序であり2両CPU間の実行順序
を規制するものではないことを理解すべきである。
この点から、■の例において、CPU−0が逐次化を行
うことをCPU−1が逐次化を行うまでに知り得たなら
ば、cpu−oにおける逐次化の後のフェッチ(Fch
B)を、逐次化以前のストア(ST  A)がCPU−
1に反映されるまで待たせるのは無意味であること、一
方CPU−1においては、cpu−oが逐次化以前に行
ったストア(ST  A)が自CPUの逐次化以後のフ
ェッチ(Fch A)に反映されるのを待つだけでよい
ことが分かる。
そこで本発明では、各CPUが逐次化を行う際には他C
PUへこれを通知し、さらに他CPUからの逐次化の通
知の有無を調べて、他CPUからの通知がある場合に限
って、逐次化の後の主記憶アクセスを、逐次化を通知し
たCPUの逐次化以前に行われたストアの結果が自CP
Uに反映されるまで遅らせるという逐次化制御方式をと
るものである。
第1図は1本発明の原理説明図である。
第1図において、10はCPU−0,11はCPU−1
,12は記憶制御装置MCU、13は主記憶装置MSU
、14と15はそれぞれcpu−0−とCPU−1内に
設けられたキャッシュである。
CPU−0およびCPU−1の各ブロック内に。
本発明による逐次化制御のアルゴリズムをフロー形式で
示しである。
また図では簡単化のために2台のCPUのみが示されて
いるが、−船釣に2台以上の任意へ数であってよい。そ
の場合各CPUは、逐次化制御に関して同し機能を備え
ているものとされる。
次に図示されているフローのステップ■ないし■にした
がって各CPUの逐次化制御のアルゴリズムを説明する
■:各CPUは、それぞれの命令シーケンスを実行し、
逐次化要求を検出する。
■:■で逐次化要求を検出したとき 他のcPUに逐次
化通知を行う。
■:■の後5他CPUからの逐次化通知の有無を調べ、
その結果により■あるいはΦを実行する。
■:■で他CPUからの逐次化通知を検出したとき、自
CPUにおける逐次化の後続フェッチの実行を待たせる
■:■で検出した逐次化通知の発信元の他CPUで行っ
たストアの結果を自CPtJのキャンツユに反映させる
キャンシュ無効化が完了、すなわち逐次化処理が完了す
るのを待つ。
■:■で他CPUからの逐次化通知が無い場合あるいは
■で逐次化処理の完了が検出されたとき、逐次化の後続
フェッチを実行する。
(作用〕 具体例を用いて9本発明の逐次化制御方式の作用を説明
する。
第2図は、cpu−oとCPtJ−1がそれぞれ逐次化
を含む命令シーケンスを実行する場合の逐次他制J1t
l動作の説明図である。
まずCPU−0が領域Aへのストア要求(STA)を発
信し、続いて逐次化(Serialize)を起動する
この逐次化制御において、CPU−1に逐次化通知(S
erialize Notify  CP U −0)
を送出するとともに領域Aへのストア要求(ST  A
)の完了を待たずに領域Bからのフエ’7チ(FchB
)を実行させる。このフェッチは、キャッシュにデータ
があればキャッシュから行われる。
他方cpu−iでは、CPU−0からの逐次化通知(S
erialize Notify  CP U  O)
を受は取る。その後、領域Bへのストア要求(ST  
B)を発信し5次に逐次化(Serialize)を起
動する。
この逐次化制御において、cpu−oに逐次化通知を行
うとともに、先に受は取っであるCPIJOからの逐次
化通知を認識して、後続の領域Aからのフェッチ(Fc
h A)をインクロックし、実行を待たせる。
続いてCPIJ−1では、CPLJ−0のストア要求(
ST  A)に基づくキャソンユ無効化の完了を待ち、
この無効化が完了すると、主記憶から領域への新データ
をキャンシュに取り込み、フェッチ要求(Fch A)
を実行する。
このようにして各CPUは、逐次化を行うときその時点
で他のCPUに逐次化を通知し合うことにより7逐次化
を行うCPUは、他のCPUからの逐次化通知の有無に
より後続のフェッチを待たせるか否かを切り分ける制御
を行う。
〔実施例〕
以下に2本発明の詳細な説明する。
第3図はCPU間で逐次化通知を交換するシステム制御
インタフェースの実施例構成図であり。
20はCPU−021はCPU−1,22はCPU−2
,23はCPU−3,24はシステム制御インタフェー
ス、25は任意の1つのCPUから送出された逐次化通
知信号を残りの各CPUに分配する分配回路、26−0
ないし26−3はそれぞれCPU−0ないしCPU−3
から送出される逐次化通知信号を受は取る入力ポート2
70ないし27−3はCPU−0ないしCPU−3のそ
れぞれに対して残りの3つのCPUから送出される逐次
化通知信号を出力するための出力ポート 28−0ない
し28−3は人力ポート260ないし26−3のそれぞ
れを対応するCPU0ないしCPU−3が有効なときに
だけ分配回路25に結合するAND回路、29−0ない
し29−3は命令制御部、30−0ないし30−3は逐
次化通知制御回路である。
各CPU20ないし23では、その命令制御部29−0
ないし29−3が命令または割込みによって逐次化が必
要であることを認識した時点で。
逐次化通知制御回路30−0ないし30−3により逐次
化通知信号をONにし、その後、自CPUからの逐次化
以前のストアが他CPUに反映されることが保証される
までmMする。
各CPUからの逐次化通知信号は、それぞれシステム制
御インタフェース24の入力ポート260ないし26−
3とAND回路28−0ないし28−3を経由して分配
回路25へ入力され、出力ポート27−0ないし27−
3を介して各他のcpuに分配される。
第4図は、第3図の各CPU内に設けられている逐次化
通知制御回路の詳細な構成図である。
第4図において、31はCPtJから発信する逐次化通
知信号を設定するラッチ、32はバッファゲート 33
は逐次化通知信号が第3図のシステム制御インタフェー
ス24を介して他CP LJに伝達されるまでの遅延時
間に見合ったタイミングをつくるための逐次化通知カウ
ンタ、34は自CPUからの逐次化通知信号の発信と他
CPUからの逐次化通知信号の到来のいずれが早いかを
検出するプライオリティ回路である。
ランチ31は、第3図の命令制御部からの逐次化通知設
定信号によってセットされ、MCUからの逐次化完了信
号によってリセットされる。ランチ31の出力である逐
次化通知信号は、バッファゲート32を介して第3図の
システム制御キインタフェース24へ送出される。
逐次化通知カウンタ33は、逐次化通知設定信号によっ
て初期値を設定され、その後、クロックにしたがって減
算カウントを行い、 °0°゛に達するまでの間ONで
“°0゛に達したときOFFとなる逐次化通知カウンタ
非零信号を1 インクロック制御のため命令制御部へ送
出すると共に、プライオリティ回路34に、他CPUか
らの逐次化通知信号のチェンクタイミングを与える。
プライオリティ回路34は、第3図のシステム制御イン
タフェース24から他CPU逐次化通知信号を受は取り
、逐次化通知カウンタ非零信号がONのとき出力の他C
PU逐次化優先信号をONにして インクロック制御の
ため命令制御部に通知する。
第5図にブリシリアライズによる制御の実施例をまた第
6図にポストンリアライズによる制御の実施例をそれぞ
れタイムチャートで示す。これらのタイムチャートは、
第9図および第1O図に示す従来例のタイムチャートに
対応するものであり基本的な制御の流れはそれぞれ共通
している。
まず第5図のブリシリアライズの実施例について説明す
る。
■は、自CPUの逐次化を伴う命令(ストア要求をもつ
)のパイプラインにおけるフローである。
■は、■のAサイクルで発生される逐次化通知設定信号
である。
■は、■の逐次化通知カウンタによって卸動される逐次
化通知カウンタの出力の逐次化通知カウンタ非零1言号
である。
■は、逐次化通知信号である。
■は、他CPU (CPU−4,CPU−j、CPU−
にで表す)からの他CPU逐次化通知信号である。
■は、MCUからのストアベンディング信号である。
■は、CPUからMCUへ送出する逐次化要求信号であ
る。
■は、他CPUにおけるキャッシュ無効化のだめの逐次
化処理である。
■は、逐次化処理の完了によりMC1Jから各CPUに
送出される逐次化完了信号である。
[相]は、自CPUが発信した逐次化通知信号が他CP
Uに到達されるまでの時間を保証するインクロック期間
である。
次に、第6図のポストシリアライズの実施例について説
明する。
■′は、逐次化を伴う命令の実行フローである。
■′は、■′のAサイクルで発生される逐次化通知設定
信号である。
■′は、逐次化通知カウンタ非零信号である。
■′は、逐次化通知信号である。
■′は1lhcPU逐次化通知信号である。
■′ は、MUCからのストアベンディング信号である
■′は、後続の上記↑、αアクセスについての逐次化を
要求するポストシリアライズトリガ信号である。
■′は、自CPUからMCUへ送出される逐次化要求信
号である。
■′ は、他CPIJにおける逐次化処理の期間である
[相]′は、MCUから各CPUへ送出される逐次化完
了信号である。
■′は、自CPUにおけるフェッチを伴う後続命令の実
行シーケンスである。
@′は、逐次化通知が他CPIJに到達するまでを保証
するインクロック期間である。
第3図および第4図の実施例構成の全体的な動作を、第
5図および第6図のタイムチャートを用いて説明する。
第5図および第6図に示すように、示した逐次化を行お
うとする命令のフローのAサイクルで。
逐次化通知設定信号をONにしてそれにより逐次化通知
信号をONにし、逐次化通知カウンタを起動する。
この逐次化通知カウンタ33は、逐次化通知信号がシス
テム制御インタフェース24を経由して他CPUに届く
までに経過したサイクル数でカウントオーバーする。
このカウントオーバーまでは、第5図のブリシリアライ
ズでは自フロー(通常、フェッチが同じフローで行われ
る)、第6図のポストシリアライズでは後続の主記憶ア
クセスのあるフローのそれぞれのAサイクルでインクロ
ックして、主記憶アクセス要求を遅らせる。
逐次化通知カウンタ33がカウントオーバーするまでの
間、他CPUからの逐次化通知があるか否かをプライオ
リティ回路34で調べ、これがなければ自CPUだけが
逐次化をしているか、もしくは自CPUの方が先に逐次
化を行おうとしたと判l!7iする。
この逐次化通知カウンタ33がカウントオーバーした後
では、他のいずれかのCPUから逐次化通知が届いても
プライオリティ回路34で無視される。なぜならばこの
場合、自CPUからの逐次化通知が他の各CPUに先に
届いている筈だからである。
また逐次化通知カウンタ33がカウントオーバーするま
での間に、他CPUからの逐次化通知を受けとった場合
には、そのCPUからの逐次化通知信号がOFFになる
まで、引き続きAサイクルでインクロックする。これは
、プライオリティ回路34の出力の他CPU逐次化優先
信号を用いて制御される。
上記した他CPUからの逐次化通知によるAサイクルの
インタロックの有無にかかわりなく、第9図および第1
0図に示した従来例と同し手順で逐次化要求が行われる
。そしてその結果行われる逐次化処理が完了したときに
逐次化通知信号をOFFに落とせば、自CPUからの逐
次他辺n1のストアはすべて他CPUに反映される。
以上述べたように従来例では、逐次化の際に常に自CP
Uの逐次化以前に行ったストアが全て他CPUに反映さ
れることが保証される逐次化処理の完了まで後続の主記
憶アクセスを待たせていたのに対し5本発明では実際の
逐次化要求よりも先に逐次化通知を他CPUに直接伝え
ることによって、その伝送時間に見合うだけの少しのイ
ンタロックをかけるのみで十分となる。
特に、この逐次化通知の伝送時間に対応するインクロッ
ク期間は、固定でよく、他のインクロック要因によって
は影響を受けないため、他の避けられないインクロック
要因がある場合には、それに重なって、観測されないこ
とが多い。たとえば第7図に示すように、先行する命令
のフローでフェンチFchに伴うインクロックが発生し
た場合。
これはEサイクルのインクロックとなるため、逐次化を
行うフローでは、すてにAサイクルのインクロックを抜
けており、Eサイクルのインタロック中に逐次化通知は
十分病(ので、逐次化通知によるインクロックは何ら損
失とならない。
〔発明の効果〕
本発明によれば、あるCPUが逐次化を行う場合、他の
CPUがらの逐次化通知が先行しているか否かを調べ、
他CPUからの逐次化通知が先行していない場合には自
CPUがらの逐次化通知が他CPUに到達するまでの時
間だけ待って後続の主記憶参照を可能にするため、逐次
化に伴う待ち時間が削減され、CPUの処理性能を著し
く向上させることができる。
【図面の簡単な説明】
第1図は本発明の原理的構成図、第2閏は本発明による
逐次化制御動作の説明図、第3図は本発明の1実施例に
よるシステム制御インタフェースの構成図、第4図は第
3図の実施例中の逐次化通知制御回路の詳細構成図、第
5図はブリシリアライズ制御の実施例のタイムチャート
を示す図、第6図はポストシリアライズ制御の実施例の
タイムチャートを示す図、第7図は本発明による逐次化
のインクロックと他のインタロックが重なる例のタイム
チャートを示す図、第8図は複数のCPUが主記憶装置
を共有する従来の情報処理装置の構成図、第9図はブリ
シリアライズ制御の従来例のタイムチャートを示す図、
第10図はポストシリアライズ制御の従来例のタイムチ
ャートを示す図である。 第1図中 10 : CPU−0 11: CPU−1 12:記憶制御装置MCU 13:主記憶装置MSU t4.is:キャッシュ

Claims (1)

    【特許請求の範囲】
  1. 複数のCPU(10、11)と、これら複数のCPUに
    より共有される主記憶装置(13)とからなり、各CP
    Uには高速小容量のキャッシュ(14、15)が設けら
    れて主記憶装置とともに階層化された記憶装置が構成さ
    れている情報処理装置において、1つのCPUが他の全
    てのCPUに対して主記憶参照の逐次化を行う場合、他
    の全てのCPUに対しまず逐次化を通知し、他のCPU
    から同様な逐次化の通知が無いかあるいは自CPUが先
    に逐次化を行おうとする場合には直ちに自CPUの主記
    憶参照を許すことを特徴とする主記憶参照の逐次化制御
    方式。
JP63256604A 1988-10-12 1988-10-12 主記憶参照の遂次化制御方式 Granted JPH02103656A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP63256604A JPH02103656A (ja) 1988-10-12 1988-10-12 主記憶参照の遂次化制御方式
EP89310373A EP0364226B1 (en) 1988-10-12 1989-10-11 A system for performing a serializing control of a reference to a main storage
DE68926374T DE68926374T2 (de) 1988-10-12 1989-10-11 Seriellumsetzungssteuerungssystem für Hauptspeicherreferenz
CA002000435A CA2000435C (en) 1988-10-12 1989-10-11 System for performing a serializing control of a reference to a main storage
KR1019890014644A KR930003444B1 (ko) 1988-10-12 1989-10-12 주기억 참조의 순차화 제어방식
US07/420,780 US5297267A (en) 1988-10-12 1989-10-12 System and method for serialization control of accesses to a common main storage
AU42839/89A AU614190B2 (en) 1988-10-12 1989-10-12 A system for performing a serializing control of a reference to a main storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63256604A JPH02103656A (ja) 1988-10-12 1988-10-12 主記憶参照の遂次化制御方式

Publications (2)

Publication Number Publication Date
JPH02103656A true JPH02103656A (ja) 1990-04-16
JPH0564825B2 JPH0564825B2 (ja) 1993-09-16

Family

ID=17294939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63256604A Granted JPH02103656A (ja) 1988-10-12 1988-10-12 主記憶参照の遂次化制御方式

Country Status (7)

Country Link
US (1) US5297267A (ja)
EP (1) EP0364226B1 (ja)
JP (1) JPH02103656A (ja)
KR (1) KR930003444B1 (ja)
AU (1) AU614190B2 (ja)
CA (1) CA2000435C (ja)
DE (1) DE68926374T2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108755A (en) * 1990-09-18 2000-08-22 Fujitsu Limited Asynchronous access system to a shared storage
WO1992005489A1 (en) * 1990-09-18 1992-04-02 Fujitsu Limited Method of nonsynchronous access to shared memory
FR2678400B1 (fr) * 1991-06-27 1995-08-04 Texas Instruments France Processeur de protocole destine a l'execution d'un ensemble d'instructions en un nombre reduit d'operation.
JPH06168263A (ja) * 1992-11-30 1994-06-14 Fujitsu Ltd ベクトル処理装置
US5787488A (en) * 1993-04-22 1998-07-28 Analog Devices, Inc. Multi-phase multi-access pipeline memory system
TW353732B (en) * 1994-03-31 1999-03-01 Ibm Processing system and method of operation
US5729726A (en) * 1995-10-02 1998-03-17 International Business Machines Corporation Method and system for performance monitoring efficiency of branch unit operation in a processing system
US5751945A (en) * 1995-10-02 1998-05-12 International Business Machines Corporation Method and system for performance monitoring stalls to identify pipeline bottlenecks and stalls in a processing system
US5748855A (en) * 1995-10-02 1998-05-05 Iinternational Business Machines Corporation Method and system for performance monitoring of misaligned memory accesses in a processing system
US5797019A (en) * 1995-10-02 1998-08-18 International Business Machines Corporation Method and system for performance monitoring time lengths of disabled interrupts in a processing system
US5752062A (en) * 1995-10-02 1998-05-12 International Business Machines Corporation Method and system for performance monitoring through monitoring an order of processor events during execution in a processing system
US5949971A (en) * 1995-10-02 1999-09-07 International Business Machines Corporation Method and system for performance monitoring through identification of frequency and length of time of execution of serialization instructions in a processing system
US5691920A (en) * 1995-10-02 1997-11-25 International Business Machines Corporation Method and system for performance monitoring of dispatch unit efficiency in a processing system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62298866A (ja) * 1986-06-18 1987-12-25 Fujitsu Ltd 処理装置間ロツク制御方式

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4152764A (en) * 1977-03-16 1979-05-01 International Business Machines Corporation Floating-priority storage control for processors in a multi-processor system
FR2474201B1 (fr) * 1980-01-22 1986-05-16 Bull Sa Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d'un systeme de traitement numerique de l'information comprenant au moins deux processus possedant chacun un cache
US4587609A (en) * 1983-07-01 1986-05-06 Honeywell Information Systems Inc. Lockout operation among asynchronous accessers of a shared computer system resource
JPS6079460A (ja) * 1983-10-07 1985-05-07 Nec Corp 密結合多重演算装置における制御方式
US4745548A (en) * 1984-02-17 1988-05-17 American Telephone And Telegraph Company, At&T Bell Laboratories Decentralized bus arbitration using distributed arbiters having circuitry for latching lockout signals gated from higher priority arbiters
US4754398A (en) * 1985-06-28 1988-06-28 Cray Research, Inc. System for multiprocessor communication using local and common semaphore and information registers
US4794521A (en) * 1985-07-22 1988-12-27 Alliant Computer Systems Corporation Digital computer with cache capable of concurrently handling multiple accesses from parallel processors
US4775955A (en) * 1985-10-30 1988-10-04 International Business Machines Corporation Cache coherence mechanism based on locking
US4991090A (en) * 1987-05-18 1991-02-05 International Business Machines Corporation Posting out-of-sequence fetches
US4984153A (en) * 1988-04-27 1991-01-08 Unisys Corporation Storage locking control for a plurality of processors which share a common storage unit
US5043886A (en) * 1988-09-16 1991-08-27 Digital Equipment Corporation Load/store with write-intent for write-back caches
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62298866A (ja) * 1986-06-18 1987-12-25 Fujitsu Ltd 処理装置間ロツク制御方式

Also Published As

Publication number Publication date
EP0364226A2 (en) 1990-04-18
DE68926374T2 (de) 1996-11-14
CA2000435C (en) 1996-04-09
CA2000435A1 (en) 1990-04-12
KR930003444B1 (ko) 1993-04-29
EP0364226A3 (en) 1992-07-08
EP0364226B1 (en) 1996-05-01
US5297267A (en) 1994-03-22
JPH0564825B2 (ja) 1993-09-16
AU4283989A (en) 1990-07-19
KR900006872A (ko) 1990-05-09
DE68926374D1 (de) 1996-06-05
AU614190B2 (en) 1991-08-22

Similar Documents

Publication Publication Date Title
JP6969853B2 (ja) ノンブロッキング高性能トランザクションクレジットシステムを備えるマルチコアバスアーキテクチャ
US6983350B1 (en) SDRAM controller for parallel processor architecture
KR100243964B1 (ko) 여러개의 뱅크로 분할된공유메모리를 갖는 멀티프로세서시스템
US6466988B1 (en) Multiprocessor synchronization and coherency control system
KR100360064B1 (ko) 고도로파이프라인된버스구조
US6606704B1 (en) Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode
EP1236094B1 (en) Branch instruction for multithreaded processor
KR100308677B1 (ko) 복수l1캐쉬라인의파이프라인형스누핑
US20070234009A1 (en) Processor having a dedicated hash unit integrated within
JPH1196124A (ja) 並列プロセッサシステム
JPH02103656A (ja) 主記憶参照の遂次化制御方式
JP3400458B2 (ja) 情報処理装置
US6738837B1 (en) Digital system with split transaction memory access
JP4131789B2 (ja) キャッシュ制御装置および方法
US4149245A (en) High speed store request processing control
US5913231A (en) Method and system for high speed memory address forwarding mechanism
US5623685A (en) Vector register validity indication to handle out-of-order element arrival for a vector computer with variable memory latency
CN113900968B (zh) 多副本非原子写的存储序同步操作实现方法与实现装置
Baer Modelling architectural features with petrinets
JPH0353657B2 (ja)
JPH02110646A (ja) メモリの先行読出し装置
JP2559165B2 (ja) マルチプロセッサシステム
JP2677706B2 (ja) メモリアクセス制御回路
JP3287239B2 (ja) 階層キャッシュメモリとそのステート遷移制御方法
CA2181704C (en) Highly pipelined bus architecture

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees