JPH0564825B2 - - Google Patents

Info

Publication number
JPH0564825B2
JPH0564825B2 JP63256604A JP25660488A JPH0564825B2 JP H0564825 B2 JPH0564825 B2 JP H0564825B2 JP 63256604 A JP63256604 A JP 63256604A JP 25660488 A JP25660488 A JP 25660488A JP H0564825 B2 JPH0564825 B2 JP H0564825B2
Authority
JP
Japan
Prior art keywords
serialization
cpu
notification
cpus
main 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.)
Expired - Fee Related
Application number
JP63256604A
Other languages
English (en)
Other versions
JPH02103656A (ja
Inventor
Aiichiro Inoe
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 CA002000435A priority patent/CA2000435C/en
Priority to DE68926374T priority patent/DE68926374T2/de
Priority to EP89310373A priority patent/EP0364226B1/en
Priority to AU42839/89A priority patent/AU614190B2/en
Priority to US07/420,780 priority patent/US5297267A/en
Priority to KR1019890014644A priority patent/KR930003444B1/ko
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

Landscapes

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

Description

【発明の詳細な説明】 〔概要〕 複数のCPUが主記憶装置を共有する情報処理
装置におけるCPU間での主記憶参照の逐次化制
御方式に関し、 逐次化後の主記憶アクセス開始を可能な限り早
期化して、複数CPUによる並列処理性能を向上
させることを目的とし、 複数のCPUと、これら複数のCPUにより共有
される主記憶装置とからなり、各CPUには高速
小容量のキヤツシユが設けられて主記憶装置とと
もに階層化された記憶装置が構成されている情報
処理装置において、1つのCPUが他の全ての
CPUに対して主記憶参照の逐次化を行う場合、
他の全てのCPUに対しまず逐次化を通知し、他
のCPUから同様な逐次化の通知が無いかあるい
はは自CPUが先に逐次化を行おうとする場合に
は直ちに自CPUの主記憶参照を許すように構成
した。
〔産業上の利用分野〕
本発明は、複数のCPUが主記憶装置を共有す
る情報処理装置におけるCPU間での主記憶参照
の逐次化制御方式に関する。
〔背景〕
一般にCPUから主記憶装置へのフエツチある
いはストアアクセスは、通常、複数並列して行わ
れるが、それらのアクセスは、命令の規定された
順序にしたがい、また1つの命令についてはオペ
ランドの規定された単位と順序にしたがつて行わ
れたのと同じ結果となることが保証される必要が
ある。
また主記憶装置が複数のCPUによつて共有さ
れている情報処理装置では、各CPUが主記憶装
置上の共通領域を用いて連携して処理を行うと
き、あるCPUが行つた複数のストアが、他の
CPUから実行順序にしたがつて観測されるよう
に保証することが規定されている場合がある。
この場合はさらに、いくつかの命令あるいは割
込み処理のある操作が行われたとき、CPUがそ
れに先行して行つた主記憶装置のアクセスを全て
完了してから後続の主記憶装置アクセスを行うよ
うに、他の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−0ないし5−Nで示される命令制御部
があり、パイプラインによる命令の実行制御を行
つている。
これらキヤツシユの制御方法には、ストアイン
とストアスルーがある。ストアインは、ストアを
ストア実行時点ではキヤツシユにだけ反映し、逐
次化を行う時点つまり他のCPUに自CPUのスト
アを全て反映させる時点にまとめて主記憶装置
MSUに反映させる方法である。またストアスル
ーは、常時ストアを主記憶装置MSUまで反映さ
せる方法である。
逐次化処理は、キヤツシユ制御方法がストアイ
ンかストアスルーかで大きく異なつてくる。以
下、それぞれの場合についての例を示す。
ストアインの場合には、しばしばプライベート
パブリツクの別により制御を分けており、パブリ
ツクの領域に対しては、たとえば逐次化時点でキ
ヤツシユの内容を主記憶装置MSUに反映し、そ
の後キヤツシユを無効化してから後続の主記憶ア
クセスを行い、主記憶装置MSU上の最新のデー
タが取り込まれるようにして逐次化を保証する方
法がある。
またストアスルーの場合には、各CPUでのス
トアを常時主記憶装置MSUまで反映させ、同時
に他のCPUのキヤツシユにそのストア領域のデ
ータが保持されていればそれらを無効化する反映
処理を行い、逐次化を行うCPUでは、他のCPU
への反映処理が完了するまで後続の主記憶アクセ
スを遅らせる方法がある。
また逐次化には、逐次化を伴う操作単位の中の
主記憶アクセスと逐次化対象の主記憶アクセスと
の前後関係から、次の2通りのやり方がある。
その1つは、逐次化を伴う操作単位に先行する
主記憶アクセスの完了後に、この操作単位の中の
主記憶アクセスを行うことを保証するプリシリア
ライズであり、他の1つは、逐次化を伴う操作単
位に後続する主記憶アクセスを、この操作単位の
完了後に行うことを保証するポストシリアライズ
である。
第9図はプリシリアライズによる制御の従来
例、第10図はポストシリアライズによる制御の
従来例を、それぞれタイムチヤートで示したもの
である。
第9図のプリシリアライズの従来例において、 の逐次化を伴う命令のパイプラインにおける
実行フローを示し、Dは命令デコード、Aはオペ
ランドのアドレス発生、Tはアドレス変換、Bは
バツフア(キヤツシユ)アクセス、Eは演算、W
は結果書込みの各サイクルを表す。またTサイク
ルおよびBサイクルの下に示されいるLBSはキ
ヤツシユ、EARは有効アドレスレジスタ、OWR
はオペランドワードレジスタである。
は、の逐次化を伴う命令に先行するストア
要求について記憶制御装置MCUが処理中にCPU
へ送出するストアペンデイング信号である。
は、逐次化を伴うCPUがMCUに逐次化要求
を行うために、MCUからのストアペンデイング
信号がOFFになつてから送出する逐次化要求信
号である。
は、MCUが他のCPUに対して逐次化要求を
通知し、他のCPUが本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がキヤツシユの反映処理が完了
したとき、MSUが逐次化を行うCPUへ送出する
逐次化完了信号である。CPUは、この信号によ
り逐次化処理を終了させる。
′は、′のストア命令STの後に実行される
命令の実行シーケンスであり、そのAサイクルで
発生されたアドレスを用いて行うフエツチは、
′のポストシリアライズトリガの発生によりイ
ンタロツクされ、′の逐次化処理の終了まで待
たされて実行される。
′は、′のインタロツク期間である。
以上の第9図および第10図で示した従来例の
動作を、第8図の構成を用いてまとめて説明する
と、 各CPU1−0ないし1−Nの命令制御部5−
0ないし5−Nのいずれかが命令実行に伴うスト
アの操作を行うと、キヤツシユ4−0ないし4−
Nの対応するものと記憶制御装置MCU2との間
のインタフエースに支障がなくなるサイクル、つ
まりストアペンデイング信号がOFFになるサイ
クルまで待つてから逐次化要求信号をMCUに発
信し、その後この信号が他のCPUに届くまで主
記憶アクセスを止めている。
MCU2は、逐次化要求信号を、ストア要求と
同様に先に受けとつたものから順次処理して、他
CPUへ伝える。この結果他CPUでは、それ以前
に受けたキヤツシユの無効化要求の処理が完了す
るまで、自CPUの主記憶アクセスを停止する。
すなわちストアペンデイング信号がOFFにな
つた後に送られた逐次化要求信号がMCUから他
の各CPUへ到達すると、それ以前に行われたス
トアが他CPUのキヤツシユに全て反映される保
証が行われる。
〔発明が解決しようとする課題〕
複数のCPUがそれぞれキヤツシユをそなえ、
主記憶装置を共有する形式の従来の情報処理装置
では、キヤツシユがストアインとストアスルーの
いずれの方法で制御されていても、逐次化時点で
のストア反映処理やキヤツシユ無効化処理などが
完了するまで逐次化後の主記憶アクセスが待たさ
れ、複数CPUによる並列処理性能が低下すると
いう問題があつた。
本発明は、逐次化後の主記憶アクセス開始を可
能な限り早期化して、複数CPUによる並列処理
性能を向上させることを目的とする。
〔課題を解決するための手段〕
本発明は、主記憶装置を共有する複数のCPU
間での逐次化は、各CPUが相互に主記憶アクセ
スの順序を観測できる場合に意味があること、つ
まりあるCPUが逐次化を行つた場合、他のCPU
から観測できるのは、その順序が保証されている
主記憶アクセスと関連する領域を主記憶アクセス
する場合のみであることに着目して、逐次化の後
の主記憶アクセスを待たせる必要がある場合とな
い場合とを区別し、待たせる必要がない場合には
直ちに後続の主記憶アクセスを実行させるように
したものである。
次に具体例で説明する。なおCPU−0とCPU1
の2CPUの情報処理装置の場合を例に説明する。
CPU−0が領域A,Bに順にデータをスト
ア(ST)し、続いてCPU−1が領域B,Aか
ら順にデータをフエツチ(Fch)する場合の命
令シーケンスの例を以下に示す。
(CPU−0) (CPU−1) ST A 〓 ST B 〓 〓 Fch B 〓 Fch A この場合、CPU−1がBをフエツチしたとき
にCPU−0がストアした結果が見えた(つまり
反映されていた)ならば、CPU−1が次にAを
フエツチすると必ずCPU−0が先にストアした
結果が見えるべきである。これは、CPU−0が
行うストアの順序保証によるものである。
CPU−0が領域Aへストア(ST)した後、
逐次化(Serialize)を行い、その後領域Bを
フエツチ(Fch)し、続いてCPU−1は領域B
へストア(ST)した後逐次化(Serialize)を
行い、その後で領域Aをフエツチ(Fch)を行
う場合の命令シーケンスの例を示す。
(CPU−0) (CPU−1) ST A 〓 Serialize 〓 Fch B 〓 〓 ST B 〓 Serialize 〓 Fch A この場合、CPU−0がBをフエツチした結果
には、CPU−1がストアした結果が反映されて
いない。すなわち、CPU−0のBのフエツチが
CPU−1のBのストアよりも先行しているとす
るならば、CPU−0のAへのストアはBのフエ
ツチよりも前に完了しているからCPU−1のB
へのストアよりも先であり、またCPU−1のA
のフエツチよりも必ず先になつている。
したがつて、CPU−0がAにストアした結果
は、CPU−1が行うAからのフエツチに必ず反
映されていなければならない。これは、CPU−
0とCPU−1が、それぞれ逐次化により、前後
のストアとフエツチおよびフエツチとストアを順
序保証していることに基づいている。他方、
CPU−1が逐次化を行つていないならば、Bへ
のストアがAのフエツチよりも先に行われる保証
はないので、CPU−0がBをフエツチしたとき、
BにCPU−1がストアした結果が反映されてい
なかつたとしても、それからCPU−1がAをフ
エツチしたときにCOU−0がストアした結果が
見える(反映されている)とは限らないことにな
る。
ここで挙げた2つの例のうち、の場合の
CPU間における順序保証は、CPUがストアを行
う際に主記憶装置へのストア処理をその都度逐次
的に行い、また他CPUのキヤツシユに同じスト
ア領域のデータをもつものがあればそれを無効化
する処理を逐次的に行うことにより、容易に実現
される。そしてそれによる逐次化後の主記憶アク
セスの遅れは、キヤツシユの無効化された領域へ
のアクセスにより生じる主記憶装置からキヤツシ
ユへのデータの取り込みに要する時間によるもの
だけである。
しかしながらの例におけるCPU間での順序
保証では、逐次化以前のストアが主記憶装置に反
映されかつ他CPUのキヤツシユの該当領域が無
効化されるまで、逐次化後のフエツチを遅らせる
必要があり、そのためには特別な制御を行わなけ
ればならない。
ここで、の例においては、両CPU共逐次化
を行つている場合にのみ相互に順序の保証が必要
となること、および両CPUの実行順序のうち保
証が必要なのは、互いに他CPUから観測される
自CPUの逐次化をはさんだストアとフエツチの
順序であり、両CPU間の実行順序を規制するも
のではないことを理解すべきである。
この点から、の例において、CPU−0が逐
次化を行うことをCPU−1が逐次化を行うまで
に知り得たならば、CPU−0における逐次化の
後のフエツチ(Fch B)を、逐次化以前のスト
ア(ST A)がCPU−1に反映されるまで待た
せるのは無意味であること、一方CPU−1にお
いては、CPU−0が逐次化以前に行つたストア
(ST A)が自CPUの逐次化以後のフエツチ
(Fch A)に反映されるのを待つだけでよいこと
が分かる。
そこで本発明では、各CPUが逐次化を行う際
には他CPUへこれを通知し、さらに他CPUから
の逐次化の通知の有無を調べて、他CPUからの
通知がある場合に限つて、逐次化の後の主記憶ア
クセスを、逐次化を通知したCPUの逐次化以前
に行われたストアの結果が自CPUに反映される
まで遅らせるという逐次化制御方式をとるもので
ある。
それによる本発明の構成は、複数のCPUと、
これら複数のCPUにより共有される主記憶装置
とからなり、各CPUには高速小容量のキヤツシ
ユが設けられて主記憶装置とともに階層化された
記憶装置が構成されている情報処理装置におい
て、複数のCPUの各々はCPU間で主記憶参照の
逐次化を制御するために逐次化通知制御回路を備
え、任意の1つのCPUが他の全てのCPUに対し
て主記憶参照の逐次化を行う場合、当該1つの
CPUの逐次化通知制御回路は、他の全てのCPU
の逐次化通知制御回路に対しまず逐次化を通知
し、他のCPUの逐次化通知制御回路から同様な
逐次化の通知が無いかあるいは有っても優先制御
により自CPUの逐次化が先となる場合には、直
ちに自CPUの主記憶参照を許し、また他のCPU
の逐次化の通知が有つてそれが優先制御により先
になつた場合には、当該他のCPUで行つたスト
アの結果が自CPUのキヤツシユに反映されるま
で、自CPUの逐次化後の主記憶参照を持たせる
ことを特徴とする。
第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
に逐次化通知を行う。
の後、他CPUからの逐次化通知の有無を
調べ、その結果によりあるいはを実行す
る。
で他CPUからの逐次化通知を検出したと
き、自CPUにおける逐次化の後続フエツチの
実行を持たせる。
で検出した逐次化通知の発信元の他CPU
で行つたストアの結果を自CPUのキヤツシユ
に反映させるキヤツシユ無効化が完了、すなわ
ち逐次化処理が完了するのを待つ。
で他CPUの逐次化通知が無い場合、ある
いはで逐次化処理の完了が検出されたとき、
逐次化の後続フエツチを実行する。
〔作用〕
具体例を用いて、本発明の逐次化制御方式の作
用を説明する。
第2図は、CPU−0とCPU−1がそれぞれ逐
次化を含む命令シーケンスを実行する場合の逐次
化制御動作の説明図である。
まずCPU−0が領域Aへのストア要求(ST
A)を発信し、続いて逐次化(Serialize)を起
動する。
この逐次化制御において、CPU−1に逐次化
通知(Serialize Notify CPU−0)を送出する
とともに領域Aへのストア要求(ST A)の完了
を待たずに領域Bからのフエツチ(Fch B)を
実行させる。このフエツチは、キヤツシユにデー
タがあればキヤツシユから行なわれる。
他方CPU−1では、CPU−0からの逐次化通
知(Serialize Notify CPU−0)を受け取る。
その後、領域Bへのストア要求(ST B)を発信
し、次に逐次化(Serialize)を起動する。この
逐次化制御において、CPU−0に逐次化通知を
行うとともに、先に受け取つてあるCPU−0か
らの逐次化通知を認識して、後続の領域Aからの
フエツチ(Fch A)をインタロツクし、実行を
待たせる。
続いてCPU−1では、CPU−0のストア要求
(ST A)に基づくキヤツシユ無効化の完了を待
ち、この無効化が完了すると、主記憶から領域A
の新データをキヤツシユに取り込み、フエツチ要
求(Fch A)を実行する。
このようにして各CPUは、逐次化を行うとき
その時点で他のCPUに逐次化を通知し合うこと
により、逐次化を行うCPUは、他のCPUからの
逐次化通知の有無により後続のフエツチを持たせ
るか否かを切り分ける制御を行う。
〔実施例〕
以下に、本発明の実施例を説明する。
第3図はCPU間で逐次化通知を交換するシス
テム制御インターフエースの実施例構成図であ
り、20はCPU−0、21はCPU−1、22は
CPU−2、23はCPU−3、24はシステム制
御インターフエース、25は任意の1つのCPU
から送出された逐次化通知信号を残りの各CPU
に分配する分配回路、26−0ないし26−3は
それぞれCPU−0ないしCPU−3から送出され
る逐次化通知信号を受け取る入力ポート、27−
0ないし27−3はCPU−0ないしCPU−3の
それぞれに対して残りの3つのCPUから送出さ
れる逐次化通知信号を出力するための出力ポー
ト、28−0ないし28−3は入力ポート26−
0ないし26−3のそれぞれを対応するCPU−
0ないし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に反映される
ことが保証されるまで継続する。
各CPUからの逐次化通知信号は、それぞれシ
ステム制御インターフエース24の入力ポート2
6−0ないし26−3とAND回路28−0ない
し28−3を経由して分配回路25へ入力され、
出力ポート27−0ないし27−3を介して各他
のCPUに分配される。
第4図は、第3図の各CPU内に設けられてい
る逐次化通知制御回路の詳細な構成図である。
第4図において、31はCPUから発信する逐
次化通知信号を設定するラツチ、32はバツフア
ゲート、33は逐次化通知信号が第3図のシステ
ム制御インターフエース24を介して他CPUに
伝達されるまでの遅延時間に見合つたタイミング
をつくるための逐次化通知カウンタ、34は自
CPUからの逐次化通知信号の発信と他CPUから
の逐次化通知信号の到来のいずれが早いかを検出
するプライオリテイ回路である。
ラツチ31は、第3図の命令制御部からの逐次
化通知設定信号によつてセツトされ、MCUから
の逐次化完了信号によつてリセツトされる。ラツ
チ31の出力である逐次化通知信号は、バツフア
ゲート32を介して第3図のシステム制御インタ
フエース24へ送出される。
逐次化通知カウンタ33は、逐次化通知設定信
号によつて初期値を設定され、その後、クロツク
にしたがつて減算カウントを行い、“0”に達す
るまでの間ONで“0”に達したときOFFとなる
逐次化通知カウンタ非零信号を、インタロツク制
御のため命令制御部へ送出すると共に、プライオ
リテイ回路34に、他CPUからの逐次化通知信
号のチエツクタイミングを与える。
プライオリテイ回路34は、第3図のシステム
制御インタフエース24から他CPU逐次化通知
信号を受け取り、逐次化通知カウンタ非零信号が
ONのとき出力の他CPU逐次化優先信号をONに
して、インタロツク制御のため命令制御部に通知
する。
第5図にプリシリアライズによる制御の実施例
をまた第6図にポストシリアライズによる制御の
実施例をそれぞれタイムチヤートで示す。これら
のタイムチヤートは、第9図および第10図に示
す従来例のタイムチヤートに対応するものであ
り、基本的な制御の流れはそれぞれ共通してい
る。
まず第5図のプリシリアライズの実施例につい
て説明する。
は、自CPUの逐次化を伴う命令(ストア要
求をもつ)のパイプラインにおけるフローであ
る。
は、のAサイクルで発生される逐次化通知
設定信号である。
は、の逐次化通知設定信号によつて起動さ
れる逐次化通知カウンタの出力の逐次化通知カウ
ンタ非零信号である。
は、逐次化通知信号である。
は、他CPU(CPU−i、CPU−j、CPU−
kで表す)からの他CPU逐次化通知信号である。
は、MCUからのストアペンデイング信号で
ある。
は、CPUからMCUへ送出する逐次化要求信
号である。
は、他CPUにおけるキヤツシユ無効化のた
めの逐次化処理である。
は、逐次化処理の完了によりMCUから各
CPUに送出される逐次化完了信号である。
は、自CPUが発信した逐次化通知信号が他
CPUに到達されるまでの時間を保証するインタ
ロツク期間である 次に、第6図のポストシリアライズの実施例に
ついて説明する。
′は、逐次化を伴う命令の実行フローである。
′は、′のAサイクルで発生される逐次化通
知設定信号である。
′は、逐次化通知カウンタ非零信号である。
′は、逐次化通知信号である。
′は、他CPU逐次化通知信号である。
′は、MCUからのストアペンデイング信号で
ある。
′は、後続の主記憶アクセスについての逐次
化を要求するポストシリアライズトリガ信号であ
る。
′は、自CPUからMCUへ送出される逐次化
要求信号である。
′は、他CPUにおける逐次化処理の期間であ
る。
′は、MCUから各CPUへ送出される逐次化
完了信号である。
′は、自CPUにおけるフエツチを伴う後続命
令の実行シーケンスである。
′は、逐次化通知が他CPUに到達するまでを
保証インタロツク期間である。
第3図および第4図の実施例構成の全体的な動
作を、第5図および第6図のタイムチヤートを用
いて説明する。
第5図および第6図に示すように、示した逐次
化を行おうとする命令のフローのAサイクルで、
逐次化通知設定信号をONにしてそれにより逐次
化通知信号をONにし、逐次化通知カウンタを起
動する。
この逐次化通知カウンタ33は、逐次化通知信
号がシステム制御インタフエース24を経由して
他CPUに届くまでに経過したサイクル数でカウ
ンタオーバーする。
このカウンタオーバーまでは、第5図のプリシ
リアライズでは自CPU(通常、フエツチが同じフ
ローで行われる)、第6図のポストシリアライズ
では後続の主記憶アクセスのあるフローのそれぞ
れのAサイクルでインタロツクして、主記憶アク
セス要求を遅らせる。
逐次化通知カウンタ33がカウンタオーバーす
るまでの間、他CPUからの逐次化通知があるか
否かをプライオリテイ回路34で調べ、これがな
ければ自CPUだけが逐次化をしているか、もし
くは自CPUの方が先に逐次化を行おうとしたと
判断する。
この逐次化通知カウンタ33がカウンタオーバ
ーした後では、他のいずれかのCPUから逐次化
通知が届いてもプライオリテイ回路34で無視さ
れる。なぜならばこの場合、自CPUからの逐次
化通知が他の各CPUに先に届いている筈だから
である。
また逐次化通知カウンタ33がカウントオーバ
ーするまでの間に、他CPUからの逐次化通知を
受けとつた場合には、そのCPUからの逐次化通
知信号がOFFになるまで、引き続きAサイクル
でインタロツクする。これは、プライオリテイ回
路34の出力の他CPU逐次化優先信号を用いて
制御される。
上記した他CPUからの逐次化通知によるAサ
イクルのインタロツクの有無にかかわりなく、第
9図および第10図に示した従来例と同じ手順で
逐次化要求が行われる。そしてその結果行なわれ
る逐次化処理が完了したときに逐次化通知信号を
OFFに落とせば、自CPUからの逐次化以前のス
トアはすべて化CPUに反映される。
以上述べたように従来例では、逐次化の際に常
に自CPUの逐次化以前に行つたストアが全て他
CPU弐反映されることが保証される逐次化処理
の完了まで後続の主記憶アクセスを持たせていた
のに対し、本発明では実際の逐次化要求よりも先
に逐次化通知を他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……主
記憶装置MCU、14,15……キヤツシユ。

Claims (1)

    【特許請求の範囲】
  1. 1 複数のCPU10,11と、これら複数の
    CPUにより共有される主記憶装置13とからな
    り、各CPUには高速小容量のキヤツシユ14,
    15が設けられて主記憶装置とともに階層化され
    た記憶装置が構成されている情報処理装置におい
    て、複数のCPU10,11の各々はCPU間で主
    記憶参照の逐次化を制御するために逐次化通知制
    御回路を備え、任意の1つのCPUが他の全ての
    CPUに対して主記憶参照の逐次化を行う場合、
    当該1つのCPUの逐次化通知制御回路は、他の
    全てのCPUの逐次化通知制御回路に対しまず逐
    次化を通知し、他のCPUの逐次化通知制御回路
    から同様な逐次化の通知が無いかあるいは有つて
    も優先制御により自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 主記憶参照の遂次化制御方式
CA002000435A CA2000435C (en) 1988-10-12 1989-10-11 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
EP89310373A EP0364226B1 (en) 1988-10-12 1989-10-11 A system for performing a serializing control of a reference to a 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
US07/420,780 US5297267A (en) 1988-10-12 1989-10-12 System and method for serialization control of accesses to a common main storage
KR1019890014644A KR930003444B1 (ko) 1988-10-12 1989-10-12 주기억 참조의 순차화 제어방식

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 JPH02103656A (ja) 1990-04-16
JPH0564825B2 true 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
DE69132670T2 (de) * 1990-09-18 2001-11-15 Fujitsu Ltd Verfahren zum asynchronen zugriff zu einem gemeinsamen speicher
US6108755A (en) * 1990-09-18 2000-08-22 Fujitsu Limited Asynchronous access system to a shared storage
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 ベクトル処理装置
US6513125B1 (en) * 1993-04-22 2003-01-28 Analog Devices, Inc. Multi-phase multi-access pipeline memory system in which the pipeline memory can decode addresses issued by one processor while simultaneously accessing memory array by other processor
TW353732B (en) * 1994-03-31 1999-03-01 Ibm Processing system and method of operation
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
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
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
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
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
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

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
DE68926374D1 (de) 1996-06-05
DE68926374T2 (de) 1996-11-14
AU614190B2 (en) 1991-08-22
US5297267A (en) 1994-03-22
KR930003444B1 (ko) 1993-04-29
CA2000435C (en) 1996-04-09
AU4283989A (en) 1990-07-19
EP0364226B1 (en) 1996-05-01
JPH02103656A (ja) 1990-04-16
KR900006872A (ko) 1990-05-09
CA2000435A1 (en) 1990-04-12
EP0364226A3 (en) 1992-07-08
EP0364226A2 (en) 1990-04-18

Similar Documents

Publication Publication Date Title
US11868628B2 (en) On-chip atomic transaction engine
EP0372201B1 (en) Method for fetching potentially dirty data in multiprocessor systems
JPH0564825B2 (ja)
US5511226A (en) System for generating snoop addresses and conditionally generating source addresses whenever there is no snoop hit, the source addresses lagging behind the corresponding snoop addresses
JPH0285960A (ja) 情報処理システム
WO1996027833A1 (fr) Unite de traitement informatique
CN113900968B (zh) 多副本非原子写的存储序同步操作实现方法与实现装置
JPH0353657B2 (ja)
JP2000181891A (ja) 共有メモリアクセス順序保証方式
EP1835408A2 (en) Arithmetic processing unit and method for operating cache
JPH08249175A (ja) スーパースカラ・プロセッサ装置内の非アーキテクト命令を選択的にサポートする方法及び装置
JPH02110646A (ja) メモリの先行読出し装置
JPH08314803A (ja) ディスクキャッシュ制御装置
JP2507544B2 (ja) 記憶制御装置
JP3078293B2 (ja) 記憶制御装置
JPH04340145A (ja) キャッシュメモリ装置
JPS5927994B2 (ja) コンピユ−タシステム
JPH0512110A (ja) 情報処理装置
JPH0332103B2 (ja)
JPH02294761A (ja) マルチプロセッサシステムの逐次化処理方式
JPH11328013A (ja) メモリ制御装置
JPH06187230A (ja) メモリ監視制御方法
JPS6221130B2 (ja)
JPH10187634A (ja) 同期制御方法および主記憶共有型並列プロセッサ
JPH0675855A (ja) キャッシュ制御方式

Legal Events

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