JPH03105546A - 多重化共有メモリ制御方法、多重化共有メモリシステムおよび共有メモリ拡張方法 - Google Patents

多重化共有メモリ制御方法、多重化共有メモリシステムおよび共有メモリ拡張方法

Info

Publication number
JPH03105546A
JPH03105546A JP1243617A JP24361789A JPH03105546A JP H03105546 A JPH03105546 A JP H03105546A JP 1243617 A JP1243617 A JP 1243617A JP 24361789 A JP24361789 A JP 24361789A JP H03105546 A JPH03105546 A JP H03105546A
Authority
JP
Japan
Prior art keywords
shared memory
cpu
shared
built
multiplexed
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
JP1243617A
Other languages
English (en)
Other versions
JPH0697449B2 (ja
Inventor
Yoshihiro Miyazaki
義弘 宮崎
Yoshiaki Takahashi
義明 高橋
Manabu Araoka
荒岡 学
Soichi Takatani
高谷 壮一
Hiroaki Fukumaru
広昭 福丸
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 JP1243617A priority Critical patent/JPH0697449B2/ja
Priority to DE4029861A priority patent/DE4029861C2/de
Publication of JPH03105546A publication Critical patent/JPH03105546A/ja
Priority to US08/121,449 priority patent/US5551007A/en
Publication of JPH0697449B2 publication Critical patent/JPH0697449B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Memory System (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、複数の処理装置間で共有され、かつ、高信頼
化のために多重化された記憶装置(多重化共有メモリ)
の制御方式に関する。
[従来の技術] 共有メモリの基本構或方式には、特開昭58−1636
2号(以下,公知例1という)に開示される如く、処理
装置N台に対し共有メモリ2台という、二重化共有メモ
リ方式がある。
また、別の方式として、特開昭57−189257号(
以下、公知例2という)に開示される如く、処理装置N
台に対し共有メモリN台という多重化共有メモリ方式が
ある。
[発明が解決しようとする課題] 上記従来の共有メモリの基本構戊方式は以下のような欠
点を有する。
すなわち、公知例1の方式では、複数の処理装置の読出
しが各メモリ装置に集中するため、処理装置(CPU)
が待たされ処理能力が低下する。
また、処理装置の台数が増加すると共有メモリとの物理
的距離が大きくなるため,読出し時間が長いという欠点
がある。
公知例2の方式では、全ての処理装置が共有メモリを持
つためコストが高くなる。また、複数の処理装置中の一
部の処理装置が、入出力専用のフロントエンドプロセッ
サである場合、あるいは従来からの機種である場合、こ
れらの処理装置にも全て同一容量の共有メモリを持たせ
ることは、コスト及び実装スペース及び互換性の関係で
困難であることが多い。
一方、共有メモリのアドレス方式としては、公知例1及
び公知例2共、複数処理装置間で共通のアドレスを用い
ている。このような方式では、プログラムの機能拡張を
行う場合、共有メモリ内の一部のテーブルの容量が増加
すると、そのテーブルより後ろのアドレスにあるテーブ
ルは全てアドレスがずれてしまうため、機能拡張の際に
は、全ての処理装置を同時に停止させて各CPUのプロ
グラムを同時に改造する必要があった。そのため、共有
メモリを使用するシステムではオンライン(ノンストッ
プ)での機能拡張が困難であるという欠点があった。
本発明の目的は、共有メモリの基本構成方式に関し、従
来技術の欠点をカバーし,性能,コスト,異種モデルC
PUとの接続性に優れた高信頼多重化共有メモリ制御方
式を提供することにある。
本発明の他の目的は、アドレス方式に関し,従来技術の
欠点をカバーし、オンライン拡張性に優れた高信頼多重
化共有メモリ制御方式を提供することにある。
[課題を解決するための手段コ 上記目的を達或するために、本発明による多重化共有メ
モリ制御方式は、同一内容を記憶する少なくとも2個の
共有メモリを少なくとも3台のcpuで共有する多重化
共有メモリ制御方式であって、前記少なくとも3台のC
PUのうちの第1および第2のCPUは前記少なくとも
2個の共有メモリの一つをそれぞれ内蔵し,共有メモリ
読みだし要求時は自CPU内蔵の共有メモリをアクセス
し、前記少なくとも3台のCPUのうちの第3のCPU
は、共有メモリを有さず、共有メモリ読みだし要求時は
前記第1および第2のCPUが内蔵する共有メモリの少
なくとも一方をアクセスするようにしたものである。
前記第3のCPUは、前記第工および第2のCPUが内
蔵する共有メモリの一部のアドレス範囲のデータを記憶
する共有メモリを有してもよく,この場合には、共有メ
モリ読みだし要求時,当該一部のアドレス範囲内のデー
タについては自CPU内蔵のメモリをアクセスし、アド
レス範囲外のデータについては前記第1または第2のC
PU内蔵の共有メモリの少なくとも一方をアクセスする
前記共有メモリへの書き込みアクセスは、共有メモリを
内蔵するすべてのCPUの該当するアドレスに対して行
う。
好ましくは、前記第3のCPUは、自CPU内蔵の共有
メモリのアドレス範囲を変更する際、アドレス範囲を再
設定した後、該再設定されたアドレス範囲のデータを前
記第1または第2のCPU内蔵の共有メモリから自CP
U内蔵の共有メモリにコピーする。
本発明による多重化共有メモリシステムは,複数の共有
メモリを複数のCPUで共有する多重化共有メモリシス
テムにおいて、前記共有メモリを、CPUに内蔵する実
メモリにより構成し、共有メモリを内蔵するCPUには
、CPU間で共通な共有メモリアドレスを自CPU内蔵
の実メモリのアドレスへ変換するアドレス変換機構を設
けたものである. 前記アドレス変換機構は自CPUに内蔵する共有メモリ
を当該CPUの主メモリ上に割り当てることもでき、こ
の場合、当該CPUによる自CPU内共有メモリへのア
クセスは前記アドレス変換機構を介して行う。
本発明による他の多重化共有メモリシステムは、複数の
共有メモリを複数のCPUで共有する多重化共有メモリ
システムにおいて、前記共有メモリを、CPUに内蔵す
る実メモリにより構戊し,共有メモリを内蔵するCPU
には、CPU間で共通な仮想共有メモリアドレスを自C
PUの実メモリアドレスへ変換するアドレス変換機構を
設け、共有メモリ内の拡張の対象となるテーブル類を、
予め共有メモリアドレス空間内に間隔を空けて配置して
おくものである。
本発明による共有メモリ拡張方式は、この多重化共有メ
モリシステムにおける共有メモリ拡張方式であって、l
台のCPUに内蔵の共有メモリのアクセスを停止し、当
該メモリのアドレス変換機構の対応関係を再設定した後
、他のオンライン運転中の共有メモリから該当する内容
を前記l台のCPUの実メモリにコピーすることにより
、当該共有メモリをオンライン運転に組み入れるように
するものである。
本発明によるさらに他の多重化共有メモリシステムは、
同一内容を記憶する少なくとも2個の共有メモリを少な
くとも3台のCPUで共有する多重化共有メモリシステ
ムであって、前記少なくとも3台のCPUのうち、第1
および第2のCPUは前記少なくとも2個の共有メモリ
の一つをそれぞれ内蔵し、第3のCPUからの読みだし
要求に応じて内蔵共有メモリの読みだしデータを当該第
3のCPUに送出する手段を有し、前記第3のCPUは
前記第1または第2CPUに対して当該共有メモリから
のデータの読みだしを要求し、該送出されたデータを読
み込む手段を有するものである。
このシステムにおいて、前記第3のCPUは前記第1お
よび第2のCPUに内蔵の共有メモリの双方からデータ
を読みだしうろことが好ましい。
また、前記第3のCPUは、前記第lおよび第2のCP
Uの各々からデータを読みだすためのデータパスを有す
ることが好ましい。
前記第1および第2のCPUは、自CPUの共有メモリ
の読みだしデータを送出するデータパスを特定する手段
を有してもよい。
さらに、前記第3のCPUは、前記第1および第2のC
PUに内蔵の共有メモリの一部のアドレス範囲を自CP
U内蔵のメモリに割り付けるアドレス割付手段を有する
ことが好ましい。このアドレス割付手段は、当該第3の
CPUに割り付けるアドレス範囲をプログラムで設定可
能とすることができる。
なお、本明細書において、rCPUに内蔵」とは、CP
Uと同一筐体内に内包されることを意味する。r内蔵』
の好ましいMA様としては、共有メモリは、CPUと同
一ボード上に実装され、あるいはマザーボード等を介し
て接続されるメモリボード上に実装される。
[作 用コ 本発明によれば、共有メモリの全範囲は少なくとも二重
化、部分的には多重化された不均等多重化共有メモリシ
ステムが実現される。
全範囲の共有メモリを有さないCPUは、全範囲の共有
メモリを有するCPUから、必要な共有メモリデータを
読みだすことができるので、全てのCPUが同一の容量
の共有メモリを保有する必要がなくなり、極端なケース
は共有メモリを全く持たないCPUも接続できるため,
性能、コストのバランスをフレキシブルにとることがで
きる。
共有メモリのデータ読みだし時に、読みだし要求アドレ
スが自CPU内蔵の共有メモリのアドレス範囲内であれ
ば、内蔵共有メモリからデータを読みだすことができる
ので、共有メモリへの読出しが集中することがなく読み
だし時間が短縮される。
したがって、高速な共有メモリデータの読出しが必要な
CPUについては、共有メモリの全部または一部を自C
PUに内蔵させることにより読みだし時間を短縮し、ま
た、共有メモリの実装スペース、コスト、互換性等の事
情により、共有メモリを持たないCPUもシステムに内
包することができる。
さらに、共有メモリアドレスを全CPUに共通にしてお
き、各CPU内蔵の実メモリアクセス時に共有メモリア
ドレスから実メモリアドレスへのアドレス変換を行う構
或により,共有メモリアドレスを共通にしたまま実アド
レスの変更が可能になる。すなわち,全CPUに共通な
共有メモリのアドレスが仮想アドレスになるため、各テ
ーブル毎にあらかじめ大きな仮想アドレスを設定してお
き、実際に使用する部分だけ実メモリに対応させておけ
ば拡張時には多重化された各々のメモリに対し順次実メ
モリを拡張しアドレス変換機構を再設定することにより
、オンラインでの共有メモリ拡張が可能となる。
なお、全範囲の共有メモリを内蔵するCPUは前記第1
および第2のCPUとして少なくとも2台用意し、かつ
、全範囲の共有メモリを有さない第3のCPUは、第工
および第2のいずれからも共有メモリをアクセスできる
ので,一方の全範囲共有メモリの障害発生時にも,他方
の全範囲共有メモリを使用することができ、高信頼性の
システムを構築することができる。
(以下、余白) [実施例] 以下、本発明の実施例を図面により詳細に説明する。
第1図(a)はシステムの全体の概略構成を示し、同図
(b)はGMP 1 ’内の要部構或を示したものであ
る。
複数のCPUは,二重化された共有メモリバス3A,3
B(G−BUS  A,B)を介して相互に接続される
.各CPUは、共有メモリバスとの接続機構1 (GM
P:Global Memory Port) .各C
PUに内蔵の分散共有メモリ8 ( G M : Gl
obalMemory) .基本演算部5 (B PU
: BasicProcessor Unit)、主メ
モリ4 (M S :MainStorage)から構
戊される。原則として,GMPは,共有メモリ読出しは
自CPUの内蔵のGMから行い、共有メモリ書込みは、
二重化されたG−BUSを利用して全CPUに分散され
たGM全てに対して行う。
共有メモリ全エリアを有する少なくとも1台のCPU(
この例ではCPUI)のGMPはG−BUSAに対して
GMリードデータを送出する手段を持ち、同じく共用メ
モリ全エリアを有する他の少なくとも王台のCPU(こ
の例ではCPU2)のGMPはG−BUS  Bに対し
てGMリードデータを送出する手段を持つ。
また,他のCPUのGMPにはCPUI,2の共有メモ
リのアドレス範囲の中で、自CPUの内蔵のGMのアド
レス範囲を設定するアドレス割付手段としてのマッピン
グ手段24 (GMAP)と,範囲外であればG−BU
Sを介して、前記リードデータ送出手段を有するCPU
I,2からデータを読出す手段を有する.さらに、全C
PUで共通なG−BUS上のアドレス(共通仮想アドレ
ス)を自CPUのGMの物理アドレスに変換するアドレ
ス変換機構1 8 (GMMU: Global Me
moryManagement Unit)をGMP内
に有する。
以下、本発明の実施例の詳細を説明する。
第2図は、CPUの内部の構成例を示す。システムバス
2 (SYSBUS)には,共有メモリバス接続機構1
 (GMP).主メモリ4 (MS)、共有メモリ8 
(GM) 、基本演算部5 (BPU)、入出力バスア
ダプタ6 (IOA)が接続される。
GMPは二重化された共有バス3A,3B (G−BU
S  A,B)と接続される。MSとGMとは別々のメ
モリボードに実装してもよいが本実施例では同一のメモ
リボード内に実装され、アドレスによりMSとGMに分
けられている.(もちろん、GMをGMPの内部に実装
する例もあり得る。
)BPUは共有メモリをアクセスする場合,GMPに対
して起動(アドレス、書込みデータを含む)を発行し,
GMPはSYSBUSを経由して自CPUのGMをアク
セスあるいはG−BUSを経由して他CPUのGMをア
クセス後、応答(読出しデータを含む)をBPUに返す
第3図は、共有メモリバス接統機構1 (GMP)の内
部構成を示す。システムバススレーブインタフェース部
(SYSBUS SLAVE) 1 1はシステムバス
2からのアクセスを受付ける。起動制御部(REQCT
L) 1 2はこのアクセスの内容を判定し、アクセス
先を決定する。共有メモリバスマスターインタフェース
部(G−BUS MASTER) 1 3は前記起動制
御部工2の要求を受け,二重化された共有メモリバス3
A,3Bへのアクセスを支援する。共有メモリバススレ
ーブインタフェース部(G−BUSSLAVE) 1 
4は、共有メモリバス3A,3Bからのアクセスを受け
付け、処理すべきかどうかの判定を行う.システムバス
マスターインタフェース部(SYSBUS MASTE
R) 1 9は、ローカルバス(LOCALBus) 
2 2を介して前記起動制御部l2または共有メモリバ
ススレーブインタフェース部14からの処理要求を受け
,システムバス2を介して自CPU内のGMへの読出し
/書込み処理を行う。
第4図は、第3図に示した共有メモリ接続機構(GMP
)内のシステムバススレーブインタフェース部1lの内
部構或を示す。システムバス2から起動情報(アドレス
(A) 1 0 1、書込みデータ(VD)102、起
動信号(MREQ) 1 0 5、リザーブ信号(MR
SV) 1 0 4 )を受取り、アドLzX101が
GMPに割当てられた範囲の場合のみこれを受付け、起
動制御部12とのインタフェース20に起動情報(アド
レス108、書込みデータ109、起動信号112、リ
ザーブ信号111)を出力する。また,同インタフェー
ス20から応答情報(読出しデータ(RD) 1 1 
0、応答信号(MACK)113,エラー(MERR)
信号1l4)を受取り、システムバス2に応答情報(読
出しデータ103、応答信号106、エラー信号107
)を出力する。
第5図は,第3図に示した共有メモリ接続機構(GMP
)内の起動制御部12の内部構成を示す。
システムバススレーブインタフェース部11とのインタ
フェース20から、起動情報を受取り、後述の条件に従
って、アクセス先を決定し、共有メモリバスへアクセス
すべき場合はインタフェース2lに対して、内蔵共有メ
モリにアクセスすべき場合はインタフェース22に起動
情報を出力し、応答情報を受取り,インタフェース20
に応答情報を出力する.マッピング機構(MAP)i3
1は本発明の特徴部であり、アドレス108によってマ
ップを索引し、その内容をヒット信号133に出力する
.同信号が′1′の場合は、そのアドレスに対応する共
有メモリが内蔵共有メモリ上に存在することを意味し、
同信号が″O′の場合は、そのアドレスに対応する共有
メモリが内蔵共有メモリ上に存在しないことを意味する
。マップの設定はCPUのシステムプログラムが行う。
設定タイミングはそのCPUのイニシャライズ時、ある
いはそのCPUの業務に従ってダイナミックに行うこと
ができる。
第6図は、第5図に示した起動制御部12内の制御部1
32のアクセス先決定論理を示す。ヒット信号が10′
のときは共有メモリバスを介し外部の共有メモリにアク
セスする.ヒット信号が′1′かつ非リザーブアクセス
のとき、内蔵共有メモリにアクセスし,ライトの場合は
コヒーレンス保証のため外部の共有メモリにもライトす
る。
ヒット信号が′1′かつリザーブアクセスのとき、コヒ
ーレンス一致のため、リード/ライト共に、共有メモリ
バスをリザーブし、外部共有メモリと内蔵共有メモリに
アクセスする。
第7図は、第3図に示した共有メモリ接続機構(GMP
)内の共有メモリバスマスターインタフェース部13の
内部構或を示す。起動制御部12ともインタフェース2
1から起動情報を受取り、二重化制御部(DIAL C
TL) 1 4 0は、まず一方の共有メモリバス3A
にインタフェース部26Aを介してアクセスし、正常応
答(メモリエラー信号138がI O +で、メモリ応
答信号137がアサートされる応答)の場合、リードデ
ータ143Aを含む応答情報をインタフェース21に出
力する。
もし、異常応答(メモリエラー信号138が゛1′で、
メモリ応答信号137がアサートされる応答)の場合、
インタフェース部26Bを介して共有メモリバス3Bに
アクセスする。もし、この後者のアクセスが正常応答で
あれば、インタフェース21に正常応答(信号121が
′O′で信号120をアサート)を出力する(このとき
セレクタ141はリードデータ143Bを選択)。しか
し,この後者のアクセスも異常応答であれば,インタフ
ェース21に異常応答(信号121が′1′で信号12
0をアサート)を出力する。
共有メモリバス制御142は共有メモリバスの占有及び
転送を制御する。バス占有要求償号139はCPUI台
毎に対応して1本準備されている。なお、アドレス/デ
ータ(AD)信号134はアドレス/書込みデータ/リ
ードデータを時分割に転送するバスである. 第8図に、共有メモリバスの占有及び転送のタイムチャ
ートを示す。CPUiのバス占有要求BREQiがアサ
ートされると,時間Tエ経過後,各CPUは新たなパス
占有要求を出さないHOLDモードになり、T2経過後
、占有要求をアサートしているCPUの中で最も優先順
位の高いCPUがバスを占有し、アドレスをバス134
にオンバスし、起動信号136をアサートし転送を開始
する。応答信号137がアサートされると、転送を終了
し、次のバス占有制御に移る。
第9図に、リザーブアクセスの場合の共有メモリバスの
占有及び転送のタイムチャートを示す。
通常の動作(第8図)との差は、リザーブ信号135が
アサートされるため,l回目のアクセス(リードアクセ
ス)の応答時はバス占有はホールド状態のままとなるこ
とである。2回目のアクセス(ライトアクセス)の応答
時は、前記リザーブ信号135がネゲートされているた
め、次のバス占有制御に移る。
第10図は、第3図に示した共有メモリ接続機構(GM
P)内の共有メモリバススレーブインタフェース部14
の内部構成を示す。共有メモリバス3Aのアドレス/デ
ータパス134上のアドレスはレジスタ163に、書込
みデータはレジスタ164に受信される.受信情報はチ
ェック機構159でチェックされ、エラー時は受信エラ
ー信号165がアサー卜される。制御部1 5 7 (
157a,157bを総称)は後述の条件に従って、受
信情報をローカルバス22に起動情報として出力し、同
バスからの応答情報を、これも後述の条件に従って、共
有メモリバス3Aに応答情報として出力する。
セレクタ160,161,162は、共有メモリバス3
Aと3Bの選択を行う.ローカルバス22の占有制御は
,バス占有要求信号151A/151B及びバス占有許
可信号152A/152Bによって制御される。サーバ
ーフラグ156A/156Bは、本発明の特徴の一つで
あり、このスレーブインタフェース部14が共有メモリ
パスのサーバーであることを指定するフラグである.設
定はシステムプログラムによってシステムのイニシャラ
イズ時に行われる。あるいはハードウェアで固定的に設
定される。
第11図に、前記スレーブインタフェース部14内の制
御部157の動作仕様(特にサーバーフラグ156A,
156Bとの関係)を示す。非サーバー(前記サーバー
フラグ=OFF)の場合は、応答信号137 (MAC
K)はオフのままである.エラー信号138 (MER
R)は受信エラ−(165)がオンのときアサー卜され
る。エラー信号138 (MERR)は共有メモリバス
上でワイヤードオアされており、そのバス上で少なくと
も1台で受信エラーが検出されるとアサー卜されること
になる.コヒーレンス保持のため,ライト時は内蔵共有
メモリにライトアクセスが行われる.これに対し,サー
バー(前記サーバーフラグ=ON)の場合は,応答信号
137 (MACK)は、アサー卜される。また、サー
バーの場合はリードアクセスに対し、内蔵共有メモリを
リードし、リードデータをバス134に出力する。ライ
トアクセスに対しては、応答信号137がアサートされ
る以外,非サーバーの場合と同じである.サーバーフラ
グ156A,156Bの設定例を第12図に示す。設定
規則は、システムの中で1台の共有メモリ接続機構(G
MP)のサーバーフラグ156Aがオン,他の1台の共
有メモリ接続機構(GMP)のサーバーフラグ156B
がオン,他の全てのサーバーフラグはオフとする。即ち
,バスAに対するサーバーl台、バスBに対するサーバ
ー1台,他は非サーバーとする。システムプログラムは
、例えば立上げ時に自CPUの番号(プリント板上のス
イッチあるいはシステムファイル上に設定)をチェック
し、その内容によりサーバーフラグを設定、例えば、C
PU番号1ならばフラグ156Aをオン、CPU番号2
ならばフラグ156Bをオンするという固定的な設定方
式が考えられる.また,変形例として立上がった順序に
よる半固定的な設定方式でもよい。また、業務の変化に
よりダイナミックに変更する方式も可能である。あるい
は、サーバーフラグを書換え可能なフラグではなくハー
ドウェアで固定とし,CPUIにはバスA用サーバー機
能付GMPを、CPUにはバスB用サーバー機能付GM
Pを、CPU3〜Nにはサーバー機能不付GMPを使用
する方式でもよい。なお、いずれにせよ、サーバーとす
るGMPのCPUは、全エリアの共有メモリを有するも
のであることが望ましい。
第13図は、第3図に示した共有メモリ接続機構(GM
P)内のシステムバスマスターインタフェース部19の
内部構或を示す。ロー力ルバスアービタ174は、ロー
カルバスの占有要求151A,151B,128を優先
判定し、ローカルバスの占有許可152A,152B,
129のいずれかをアサー卜する.ローカルバスからの
アドレス122は、まずマッピング機構171により判
定される。本マッピング機構171は本発明の特徴の一
つであり、アドレスによってマップを索引し、その内容
をヒット信号175に出力する.同信号が′1′の場合
は、そのアドレスに対応する共有メモリが内蔵共有メモ
リ上に存在することを意味し、同信号が′O″の場合は
そのアドレスに対応する共有メモリが内蔵共有メモリに
存在しないことを意味する.本機構171は、第5@中
の起動制御部l2内のマッピング機構131と同一の機
能を有し、マップの設定方法や設定タイミングもこれに
類する。なお、全範囲の共有メモリを有するCPU、あ
るいは全く共有メモリを有さないCPUについては、必
ずしもマッピング機構131,171は必要ない(常に
ヒット、または常にミスヒットだから)が、汎用性を考
慮して具備しておいてもよい. アドレス122は、メモリ管理機構(MMU)172に
入力され、ここでアドレス変換が実施される.変換後ア
ドレスはCPU内システムパス2上のアドレス108と
して出力され、内蔵共有メモリのアクセスに使用される
。また,制御部173はローカルバス22からの起動を
受付け、後述の条件に従ってシステムバス2へのアクセ
ス可否を判定し、アクセスすべき場合はシステムバス2
にアクセスし,最終的に応答をローカルバス22に返す
. 第14図に、前記マスターインタフェース部19の制御
部173のシステムバス2へのアクセス可否判定条件を
示す.ヒット信号がt O Iのときはシステムバス2
へのアクセスは行わず、即応答を返す.同信号が′1′
のときはシステムバス2へのアクセスを行い、システム
バス2からの応答を待ってローカルバス22への応答を
返す。
第15図は、GMP内マッピング機構131(第5図)
及び171(第13図)の設定例を示す。設定例aは全
CPUに共有メモリ全エリアを持たせた例で、これは前
記公知例2と同一になる。
設定例bは2台のCPUに共有メモリ全エリアを持たせ
、他のCPUは共有メモリを持たない例で、前記公知例
lと類似である。しかし、本発明の場合は読出しは必ず
CPUに固定的に属した共有メモリ、具体的にはCPU
内蔵′共有メモリから読出すので,公知例1に比べ、読
出し時間が小さい利点がある。設定例Cは、4台のCP
Uに共有メモリ全エリアを持たせ高速処理を行わせると
共に,残り2台のCPUには共有メモリを内蔵させず、
CPUIまたはCPU2の共有メモリを使用させる例で
ある,この例は、CPU5、CPU6の用途が入出力専
用であって内蔵共有メモリを持つと、コストパフォーマ
ンスの点で不利になるケースや、CPU5、CPU6が
異機種で内蔵共有メモリを持つことができないケースな
どに採用される.設定例dはCPUI及びCPU2に共
有メモリ全エリアを持たせ、他のCPUには業務上高速
読出しが必要なエリアのみ、内蔵共有メモリとして割当
て、他のエリアは、CPUIまたはCPU2の共有メモ
リを読出すようにした例である。この設定は業務内容に
よりダイナミックに変更できる。ただし、ダイナミック
な変更を行う場合は,以下の手順が必要である。
第16図は、内蔵共有メモリのエリアをダイナミックに
変更する際のシステムプログラムの手順を示す。まず,
ステップ1010にてマスターマップ(マッピング機構
131)をクリアする。これにより、以後、そのCPU
のプログラムは、内蔵共有メモリを使用しなくなる。ス
テップ1020でスレーブマップ(マッピング機構17
1)をクリアする。これにより、内蔵共有メモリは共有
メモリバスから完全に切離される。ステップ1030で
スレーブマップを再設定する。
これにより内蔵共有メモリは再び共有メモリバスに接続
される。ステップ1040で、共有メモリ全エリアまた
は新規設定されたアドレス範囲のコピーを行うことによ
り、内蔵共有メモリの内容を、サーバーとなっているC
PUの共有メモリの内容に一致させる。ステップ105
0でマスターマップの再設定を行い、そのCPUのプロ
グラムは内蔵共有メモリを使用できるようになる。
第17図は,共有メモリのコピーの手順を示す。
コピー要求元(受信側)は共有メモリバス3A(または
B)を介してサーバーA(またはB)のCPUに送信要
求を発行してコピーを要求する(ステップ1041).
要求を受けたサーバーCPUは、まず、コピーアドレス
を初期化し(ステップ1042)、共有メモリバスをリ
ザーブし,エアドレス分内蔵共有メモリを読みだして共
有メモリバスヘ送出する(ステップ1045)。受信側
では、このデータを自身の内蔵共有メモリに活気込む(
ステップ1044)。次に,コピーアドレスを更新して
(ステップ1045),共有メモリ前エリアのコピーが
終了するまで(ステップ1046).前記ステップ10
43〜1045を繰り返す。コピー終了後、その旨共有
メモリバスに送出し(ステップ1047).受信側はコ
ピー終了を確認する(ステップ1048)。このように
して,共有メモリの全エリアの内容を順にコピーする。
コピーの間、正規のアクセスも混在するが,l回のコピ
ーアクセス毎に共有メモリバスをリザーブするため、不
一致は発生しない。また,1回のコピーアクセス完了毎
にリザーブを解除するため、正規のアクセスが待たされ
る時間は短くて済む。共有メモリの全エリアの一部をコ
ピーする場合には,送信側で全エリアのデータを送信し
、受信側で該当するアドレスのデータのみを自共有メモ
リに書き込む。この代わりに、一部のエリアのデータの
み送信側で送信するようにすることも可能である。
次に、第18図及び第19図により、GMP内メモリ管
理機構172(第13図)におけるアドレス変換の概念
を説明する。共有メモリ接続機構(GMP)がシステム
バスから受取ったアドレス181は、そのまま共有メモ
リバスアドレス182となる.共有メモリアドレスは、
メモリ管理機構172本によってアドレス変換される。
変換後アドレス184本はシステムバス上のアドレスで
あり、CPU内蔵共有メモリのアドレス185本である
。この中で、記号′*′ を付したものは、多重化され
た共有メモリ毎に独立である。
即ち、共有メモリバスアドレスは多重化された共有メモ
リに共通のアドレスであるが,前記メモリ管理機構17
2は、多重化された共有メモリ毎に設けられ、この機構
により実メモリアドレスが生威される。これは本発明の
特徴の一つであり、こうすることにより、各CPUのプ
ログラムが共通に利用する共有メモリアドレスを仮想化
すると共に、実メモリとの対応を多重化されたメモリ毎
に独立に設定できる。このため、オンライン拡張が可能
である。
第20図に、オンライン拡張時のアドレス変換の対応を
示す。共有メモリ上のテーブルA,B,Cは,共有メモ
リバスアドレス即ち仮想アドレス上は、将来の拡張性を
考えあーらかじめ間隔を空けて配置し、アドレス変換機
能により実メモリ上には詰めて配置する。
今、例えばサポートする入出力機器数が増えたこと等の
理由で,テーブルAを拡張したいとした場合、CPUi
をオンライン運転より切離した後、メモリボードを追加
しテーブルAをテーブルA′に拡張し、アドレス変換の
対応を再設定する.その後、オンライン運転続行中の他
CPUの共有メモリより内容をコピーし、オンライン運
転に組入れる。コピーの際CPU間で渡されるアドレス
はCPU間共通の仮想アドレスである。実メモリ上は、
テーブルB,Cのアドレスは変化しても、他CPUとの
共通アドレスは変化しないため、他CPUのプログラム
は処理続行できる,次に、順次、他のCPUについてア
ドレス変換の対応を再設定し、テーブルA′の内容を前
記CPUiの共有メモリからコピーする.このようにし
て、多重化された共有メモリを順次拡張する.全ての共
有メモリを拡張後、前記拡張されたテーブルA′を使用
し、機能拡張されたプログラムを、各CPUに順次ロー
ドする。こうすることにより,多重化共有メモリのオン
ライン拡張を行うことができる。
なお、上記実施例において、共通メモリバスG一BUS
はケーブルを使用する他、バスユニット内に収納し、バ
スユニット内の基板上に形或する構或としてもよい。ま
た、バス型伝送路を示したが、リング型,一対一接続型
等、他の型の伝送路を採用してもよい。さらに、マツピ
ング機構13l,171は、変更が必要ない場合には,
ハードウエアにより固定的に設定してもよい。
[発明の効果] 以上のように、本発明によれば、多重化共有メモリにお
いて全てのCPUが同一の容量の共有メモリを保有する
必要がなくなり、性能,コストのバランスが最適でしか
も、互換性にも優れた、多重化共有メモリシステムを実
現することがはまできる.また、全CPUに共通な共有
メモリアドレスを仮想化し、かつ、実メモリとの対応を
実メモリ毎に独立再設定可能とすることにより、オンラ
イン(ノンストップ)での拡張を実現することができる
【図面の簡単な説明】
第1図は本発明によるシステムの全体構成を示すブロッ
ク図、第2図は第1図のCPUの内部の構成例を示すブ
ロック図、第3図は共有メモリバス接続機構(GMP)
の内部構或を示すブロック図、第4図はGMP内システ
ムパススレーブインタフェース部の内部構成を示すブロ
ック図、第5図はGMP内起動制御部の内部構戊を示す
ブロック図,第6図は前記制御部のアクセス先決定論理
の説明図、第7図はGMP内共有メモリバスマスターイ
ンタフェース部の内部構成を示すブロック図、第8図は
共有メモリバスのタイムチャート、第9図はリザーブア
クセスの場合の共有メモリバスのタイムチャート,第1
0図はGMP内共有メモリバススレーブインタフェース
部内部構或を示すブロック図、第11図は前記スレーブ
インタフェース部の制御部の動作仕様の説明図、第12
図は前記スレーブインタフェース部のサーバーフラグの
設定例の説明図、第13図はGMP内システムバスマス
ターインタフェース部内部構戊を示すブロック図、第1
4図は前記マスターインタフェース部の制御部の動作条
件の説明図、第15図はGMP内マッピング機構の設定
例の説明図、第16図は内蔵共有メモリのエリアを変更
する際のシステムプログラムの手順のフローチャート、
第17図は共有メモリのコピーの手順のフローチャート
、第18図及び第19図はGMP内メモリ管理機構の概
念の説明図、第20図はオンライン拡張時のアドレス変
換による変換前後のアドレスの対応関係の説明図である
。 1・・・共有メモリバス接続機構(GMP)、2・・・
システムバス(3A , 3B)・・・二重化された共
有メモリバス(G−BUS A,B)、4・・・主メモ
リ(MS)、5・・・基本演算部(BPU)、8・・・
共有メモリ(GM)、11・・・システムバススレーブ
インタフェース部(SYSBUS SLAVE)、12
 −・・起動制御部(REQCTL)、13・・・バス
マスターインタフェース部(G−BUS MASTER
). 14・・・共有メモリバススレーブインタフェー
ス部CG−BUS SLAVE)、18・7トレス変換
機fa (GMMU)、19・・・システムバスマスタ
ーインタフェース部(SYSBUS MASTER).
 24・・・マツピング手段(GMAP).

Claims (1)

  1. 【特許請求の範囲】 1、同一内容を記憶する少なくとも2個の共有メモリを
    少なくとも3台のCPUで共有する多重化共有メモリ制
    御方式であって、 前記少なくとも3台のCPUのうちの第1および第2の
    CPUは前記少なくとも2個の共有メモリの一つをそれ
    ぞれ内蔵し、共有メモリ読みだし要求時は自CPU内蔵
    の共有メモリをアクセスし、 前記少なくとも3台のCPUのうちの第3のCPUは、
    共有メモリを有さず、共有メモリ読みだし要求時は前記
    第1および第2のCPUが内蔵する共有メモリの少なく
    とも一方をアクセスすることを特徴とする多重化共有メ
    モリ制御方式。 2、前記第3のCPUは、前記第1および第2のCPU
    が内蔵する共有メモリの一部のアドレス範囲のデータを
    記憶する共有メモリを有し、共有メモリ読みだし要求時
    、当該一部のアドレス範囲内のデータについては自CP
    U内蔵のメモリをアクセスし、アドレス範囲外のデータ
    については前記第1または第2のCPU内蔵の共有メモ
    リの少なくとも一方をアクセスすることを特徴とする請
    求項1記載の多重化共有メモリ制御方式。 3、前記共有メモリへの書き込みアクセスは、共有メモ
    リを内蔵するすべてのCPUの該当するアドレスに対し
    て行うことを特徴とする請求項2または3記載の多重化
    共有メモリ制御方式。 4、前記第3のCPUは、自CPU内蔵の共有メモリの
    アドレス範囲を変更する際、アドレス範囲を再設定した
    後、該再設定されたアドレス範囲のデータを前記第1ま
    たは第2のCPU内蔵の共有メモリから自CPU内蔵の
    共有メモリにコピーすることを特徴とする請求項3記載
    の多重化共有メモリ制御方式。 5、複数の共有メモリを複数のCPUで共有する多重化
    共有メモリシステムにおいて、 前記共有メモリを、CPUに内蔵する実メモリにより構
    成し、共有メモリを内蔵するCPUには、CPU間で共
    通な共有メモリアドレスを自CPU内蔵の実メモリのア
    ドレスへ変換するアドレス変換機構を設けたことを特徴
    とする多重化共有メモリシステム。 6、前記アドレス変換機構は自CPUに内蔵する共有メ
    モリを当該CPUの主メモリ上に割り当て、当該CPU
    による自CPU内共有メモリへのアクセスは前記アドレ
    ス変換機構を介して行うことを特徴とする請求項5記載
    の多重化共有メモリシステム。 7、複数の共有メモリを複数のCPUで共有する多重化
    共有メモリシステムにおいて、 前記共有メモリを、CPUに内蔵する実メモリにより構
    成し、共有メモリを内蔵するCPUには、CPU間で共
    通な仮想共有メモリアドレスを自CPUの実メモリアド
    レスへ変換するアドレス変換機構を設け、共有メモリ内
    の拡張の対象となるテーブル類を、予め共有メモリアド
    レス空間内に間隔を空けて配置しておくことを特徴とす
    る共有メモリ拡張方式。 8、請求項7記載の多重化共有メモリシステムにおける
    共有メモリ拡張方式であって、 1台のCPUに内蔵の共有メモリのアクセスを停止し、
    当該メモリのアドレス変換機構の対応関係を再設定した
    後、他のオンライン運転中の共有メモリから該当する内
    容を前記1台のCPUの実メモリにコピーすることによ
    り、当該共有メモリをオンライン運転に組み入れること
    を特徴とする共有メモリ拡張方式。 9、同一内容を記憶する少なくとも2個の共有メモリを
    少なくとも3台のCPUで共有する多重化共有メモリシ
    ステムであって、 前記少なくとも3台のCPUのうち、第1および第2の
    CPUは前記少なくとも2個の共有メモリの一つをそれ
    ぞれ内蔵し、第3のCPUからの読みだし要求に応じて
    内蔵共有メモリの読みだしデータを当該第3のCPUに
    送出する手段を有し、 前記第3のCPUは前記第1または第 2CPUに対して当該共有メモリからのデータの読みだ
    しを要求し、該送出されたデータを読み込む手段を有す
    る ことを特徴とする多重化共有メモリシステム。 10、前記第3のCPUは前記第1および第2のCPU
    に内蔵の共有メモリの双方からデータを読みだしうるこ
    とを特徴とする請求項9記載の多重化共有メモリシステ
    ム。 11、前記第3のCPUは、前記第1および第2のCP
    Uの各々からデータを読みだすためのデータパスを有す
    ることを特徴とする請求項9または10記載の多重化共
    有メモリシステム。 12、前記第1および第2のCPUは、自CPUの共有
    メモリの読みだしデータを送出するデータパスを特定す
    る手段を有することを特徴とする請求項11記載の多重
    化共有メモリシステム。 13、前記第3のCPUは、前記第1および第2のCP
    Uに内蔵の共有メモリの一部のアドレス範囲を自CPU
    内蔵のメモリに割り付けるアドレス割付手段を有するこ
    とを特徴とする請求項12記載の多重化共有メモリシス
    テム。 14、前記アドレス割付手段は、当該第3のCPUに割
    り付けるアドレス範囲をプログラムで設定可能であるこ
    とを特徴とする請求項13記載の多重化メモリシステム
JP1243617A 1989-09-20 1989-09-20 多重化共有メモリ制御方法、多重化共有メモリシステムおよび共有メモリ拡張方法 Expired - Lifetime JPH0697449B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP1243617A JPH0697449B2 (ja) 1989-09-20 1989-09-20 多重化共有メモリ制御方法、多重化共有メモリシステムおよび共有メモリ拡張方法
DE4029861A DE4029861C2 (de) 1989-09-20 1990-09-20 Mehrprozessorsystem und Speichersteuerverfahren dafür
US08/121,449 US5551007A (en) 1989-09-20 1993-09-16 Method for controlling multiple common memories and multiple common memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1243617A JPH0697449B2 (ja) 1989-09-20 1989-09-20 多重化共有メモリ制御方法、多重化共有メモリシステムおよび共有メモリ拡張方法

Publications (2)

Publication Number Publication Date
JPH03105546A true JPH03105546A (ja) 1991-05-02
JPH0697449B2 JPH0697449B2 (ja) 1994-11-30

Family

ID=17106486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1243617A Expired - Lifetime JPH0697449B2 (ja) 1989-09-20 1989-09-20 多重化共有メモリ制御方法、多重化共有メモリシステムおよび共有メモリ拡張方法

Country Status (3)

Country Link
US (1) US5551007A (ja)
JP (1) JPH0697449B2 (ja)
DE (1) DE4029861C2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5895495A (en) * 1997-03-13 1999-04-20 International Business Machines Corporation Demand-based larx-reserve protocol for SMP system buses
US6618777B1 (en) * 1999-01-21 2003-09-09 Analog Devices, Inc. Method and apparatus for communicating between multiple functional units in a computer environment
WO2000045520A1 (en) * 1999-01-29 2000-08-03 Koninklijke Philips Electronics N.V. Apparatus which is electronically switched on and off
US20020062415A1 (en) * 2000-09-29 2002-05-23 Zarlink Semiconductor N.V. Inc. Slotted memory access method
US20020161452A1 (en) * 2001-04-25 2002-10-31 Peltier Michael G. Hierarchical collective memory architecture for multiple processors and method therefor
US7996517B2 (en) * 2002-01-23 2011-08-09 Novell, Inc. Transparent network connection takeover
US7337258B1 (en) * 2004-04-12 2008-02-26 Apple Inc. Dynamically allocating devices to buses
TWI277877B (en) * 2005-03-08 2007-04-01 Via Tech Inc Method and related apparatus for monitoring system bus
GB2493340A (en) * 2011-07-28 2013-02-06 St Microelectronics Res & Dev Address mapping of boot transactions between dies in a system in package

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS619738A (ja) * 1984-06-26 1986-01-17 Fuji Electric Co Ltd アドレスマツピング方式
JPS62100858A (ja) * 1985-10-28 1987-05-11 Panafacom Ltd 共有メモリ制御方式

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4240143A (en) * 1978-12-22 1980-12-16 Burroughs Corporation Hierarchical multi-processor network for memory sharing
US4622631B1 (en) * 1983-12-30 1996-04-09 Recognition Int Inc Data processing system having a data coherence solution
US4823259A (en) * 1984-06-29 1989-04-18 International Business Machines Corporation High speed buffer store arrangement for quick wide transfer of data
US4991081A (en) * 1984-10-31 1991-02-05 Texas Instruments Incorporated Cache memory addressable by both physical and virtual addresses
DE3610155A1 (de) * 1986-03-26 1987-10-08 Joachim Bauer Mehrprozessorsystem fuer paralleles schreiben und lesen von informationen
US4885680A (en) * 1986-07-25 1989-12-05 International Business Machines Corporation Method and apparatus for efficiently handling temporarily cacheable data
US4811216A (en) * 1986-12-22 1989-03-07 American Telephone And Telegraph Company Multiprocessor memory management method
US4959777A (en) * 1987-07-27 1990-09-25 Motorola Computer X Write-shared cache circuit for multiprocessor system
DE3736169A1 (de) * 1987-10-26 1989-05-03 Philips Patentverwaltung Verfahren und schaltungsanordnung zur kopplung von master- und slaveprozessoren zu einem multiprozessorsystem
GB8728494D0 (en) * 1987-12-05 1988-01-13 Int Computers Ltd Multi-cache data storage system
KR920006617B1 (ko) * 1988-06-07 1992-08-10 가부시기가이샤 히다찌세이사꾸쇼 멀티프로세서시스템
US5029070A (en) * 1988-08-25 1991-07-02 Edge Computer Corporation Coherent cache structures and methods
US5043886A (en) * 1988-09-16 1991-08-27 Digital Equipment Corporation Load/store with write-intent for write-back caches
IT1227360B (it) * 1988-11-18 1991-04-08 Honeywell Bull Spa Sistema multiprocessore di elaborazione dati con replicazione di dati globali.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS619738A (ja) * 1984-06-26 1986-01-17 Fuji Electric Co Ltd アドレスマツピング方式
JPS62100858A (ja) * 1985-10-28 1987-05-11 Panafacom Ltd 共有メモリ制御方式

Also Published As

Publication number Publication date
DE4029861C2 (de) 1995-04-27
DE4029861A1 (de) 1991-03-28
US5551007A (en) 1996-08-27
JPH0697449B2 (ja) 1994-11-30

Similar Documents

Publication Publication Date Title
CN112540941B (zh) 一种数据转发芯片及服务器
KR100496116B1 (ko) 멀티프로세서 장치
US5247673A (en) Multiprocessor system having distributed shared resources and dynamic global data replication
US6986005B2 (en) Low latency lock for multiprocessor computer system
US20050235068A1 (en) Computer system sharing an I/O device between logical partitions
JPWO2010097925A1 (ja) 情報処理装置
JPH03105546A (ja) 多重化共有メモリ制御方法、多重化共有メモリシステムおよび共有メモリ拡張方法
JP5439808B2 (ja) 複数バスを有するシステムlsi
US20030229721A1 (en) Address virtualization of a multi-partitionable machine
JPH01298457A (ja) コンピュータシステム
US8074033B1 (en) Cooperating memory controllers that share data bus terminals for accessing wide external devices
JP3080552B2 (ja) 複合計算機システムのメモリ装置
JP2813182B2 (ja) マルチプロセッサコンピュータ複合装置
JP2002229848A (ja) 共有メモリを備えたプロセッサシステム
JP2009110032A (ja) ブリッジ、情報処理装置、情報処理システムおよびグローバルアドレス管理方法
JPS60173655A (ja) マルチプロセツサのメモリ方式
CN120872882B (zh) 一种基于核间松耦合架构的跨簇高可靠数据交互方法
JPH04281548A (ja) バス拡張システム
JP3661531B2 (ja) マルチプロセッサシステム及びそのアドレス解決方法
EP0464637B1 (en) Expanded memory unit
JP2503059B2 (ja) 異種バス間接続装置
JP2001273191A (ja) コンピュータシステム
CN117609107A (zh) 多核处理器高速访问控制方法、装置、存储模块及芯片
JP2001034571A (ja) 情報処理装置
JPH1145209A (ja) プログラム転送システム