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

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

Info

Publication number
JPH0697449B2
JPH0697449B2 JP1243617A JP24361789A JPH0697449B2 JP H0697449 B2 JPH0697449 B2 JP H0697449B2 JP 1243617 A JP1243617 A JP 1243617A JP 24361789 A JP24361789 A JP 24361789A JP H0697449 B2 JPH0697449 B2 JP H0697449B2
Authority
JP
Japan
Prior art keywords
shared memory
cpu
shared
memory
cpus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP1243617A
Other languages
English (en)
Other versions
JPH03105546A (ja
Inventor
義弘 宮崎
義明 高橋
学 荒岡
壮一 高谷
広昭 福丸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to 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; CALCULATING OR 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; 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/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)

Description

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

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】同一内容を記憶する少なくとも2個の共有
    メモリを少なくとも3台のCPUで共有する多重化共有メ
    モリ制御方法であって、 前記少なくとも3台のCPUのうちの第1および第2のCPU
    には、前記少なくとも2個の共有メモリの一つをそれぞ
    れ内蔵させるとともに、共有メモリ読みだし要求時は自
    CPU内蔵の共有メモリをアクセスさせ、 前記少なくとも3台のCPUのうち第3のCPUには、共有メ
    モリを内蔵させず、共有メモリ読みだし要求時は前記第
    1および第2のCPUが内蔵する共有メモリの少なくとも
    一方をアクセスさせることを特徴とする多重化共有メモ
    リ制御方法。
  2. 【請求項2】同一内容を記憶する少なくとも2個の共有
    メモリを少なくとも3台のCPUで共有する多重化共有メ
    モリ制御方法であって、 前記少なくとも3台のCPUのうちの第1および第2のCPU
    には、前記少なくとも2個の共有メモリの一つをそれぞ
    れ内蔵させるとともに、共有メモリ読みだし要求時は自
    CPU内蔵の共有メモリをアクセスさせ、 前記少なくとも3台のCPUのうちの第3のCPUには、前記
    第1および第2のCPUが内蔵する共有メモリの一部のア
    ドレス範囲のデータを記憶する共有メモリを内蔵させ、
    共有メモリ読みだし要求時、当該一部のアドレス範囲内
    のデータについては自CPU内蔵のメモリをアクセスさ
    せ、アドレス範囲外のデータについては前記第1または
    第2のCPU内蔵の共有メモリの少なくとも一方をアクセ
    スさせることを特徴とする多重化共有メモリ制御方法。
  3. 【請求項3】前記共有メモリへの書き込みアクセスは、
    共有メモリを内蔵するすべてのCPUの該当するアドレス
    に対して行うことを特徴とする請求項1または2記載の
    多重化共有メモリ制御方法。
  4. 【請求項4】前記第3のCPUは、自CPU内蔵の共有メモリ
    のアドレス範囲を変更する際、アドレス範囲を再設定し
    た後、該再設定されたアドレス範囲のデータを前記第1
    または第2のCPU内蔵の共有メモリから自CPU内蔵の共有
    メモリにコピーすることを特徴とする請求項2記載の多
    重化共有メモリ制御方法。
  5. 【請求項5】複数の共有メモリを複数のCPUで共有する
    多重化共有メモリシステムにおける共有メモリ拡張方法
    であって、 前記共有メモリを、CPUに内蔵する実メモリにより構成
    し、共有メモリを内蔵するCPUには、CPU間で共通な仮想
    共有メモリアドレスを自CPUの実メモリアドレスへ交換
    するアドレス変換機構を設け、共有メモリ内の拡張の対
    象となるテーブル類を、予め共有メモリアドレス空間内
    に間隔を空けて配置しておき、 共有メモリの拡張に際し、1台のCPUに内蔵の共有メモ
    リのアクセスを停止し、当該メモリのアドレス変換機構
    の対応関係を再設定した後、他のオンライン運転中の共
    有メモリから該当する内容を前記1台のCPUの実メモリ
    にコピーすることにより、当該共有メモリをオンライン
    運転に組み入れることを特徴とする共有メモリ拡張方
    法。
  6. 【請求項6】同一内容を記憶する少なくとも2個の共有
    メモリを少なくとも3台のCPUで共有する多重化共有メ
    モリシステムであって、 前記少なくとも3台のCPUのうち、第1および第2のCPU
    は前記少なくとも2個の共有メモリの一つをそれぞれ内
    蔵し、第3のCPUからの読みだし要求に応じて内蔵共有
    メモリの読みだしデータを当該第3のCPUに送出する手
    段を有し、 前記第3のCPUは前記第1または第2CPUに対して当該共
    有メモリからのデータの読みだしを要求し、該送出され
    たデータを読み込む手段を有する ことを特徴とする多重化共有メモリシステム。
  7. 【請求項7】前記第3のCPUは前記第1および第2のCPU
    に内蔵の共有メモリの双方からデータを読みだしうるこ
    とを特徴とする請求項6記載の多重化共有メモリシステ
    ム。
  8. 【請求項8】前記第3のCPUは、前記第1および第2のC
    PUの各々からデータを読みだすためのデータパスを有す
    ることを特徴とする請求項6または7記載の多重化共有
    メモリシステム。
  9. 【請求項9】前記第1および第2のCPUは、自CPUの共有
    メモリの読みだしデータを送出するデータパスを特定す
    る手段を有することを特徴とする請求項8記載の多重化
    共有メモリシステム。
  10. 【請求項10】前記第3のCPUは、前記第1および第2
    のCPUに内蔵の共有メモリの一部のアドレス範囲を自CPU
    内蔵のメモリに割り付けるアドレス割付手段を有するこ
    とを特徴とする請求項9記載の多重化共有メモリシステ
    ム。
  11. 【請求項11】前記アドレス割付手段は、当該第3のCP
    Uに割り付けるアドレス範囲をプログラムで設定可能で
    あることを特徴とする請求項10記載の多重化メモリシス
    ステム。
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 JPH03105546A (ja) 1991-05-02
JPH0697449B2 true 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
KR20010042241A (ko) * 1999-01-29 2001-05-25 요트.게.아. 롤페즈 전자적으로 스위칭 온 및 오프되는 장치
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

Family Cites Families (16)

* 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
JPS619738A (ja) * 1984-06-26 1986-01-17 Fuji Electric Co Ltd アドレスマツピング方式
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
JPS62100858A (ja) * 1985-10-28 1987-05-11 Panafacom Ltd 共有メモリ制御方式
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.

Also Published As

Publication number Publication date
JPH03105546A (ja) 1991-05-02
DE4029861C2 (de) 1995-04-27
US5551007A (en) 1996-08-27
DE4029861A1 (de) 1991-03-28

Similar Documents

Publication Publication Date Title
US5682512A (en) Use of deferred bus access for address translation in a shared memory clustered computer system
EP1399826B1 (en) Virtual pci device apparatus and method
US6826653B2 (en) Block data mover adapted to contain faults in a partitioned multiprocessor system
US5247673A (en) Multiprocessor system having distributed shared resources and dynamic global data replication
US6148356A (en) Scalable computer system
US4769768A (en) Method and apparatus for requesting service of interrupts by selected number of processors
US6986005B2 (en) Low latency lock for multiprocessor computer system
JP4447892B2 (ja) マルチコア通信モジュールを組み入れたデータ通信システム及び方法
KR100271203B1 (ko) 데이타처리시스템및버스상호접속방법
JPS5837585B2 (ja) ケイサンキソウチ
EP0140751A2 (en) Cache invalidation mechanism for multiprocessor systems
KR20010006887A (ko) 컴퓨터 시스템
US4695948A (en) Bus to bus converter using a RAM for multiple address mapping
CN112540941A (zh) 一种数据转发芯片及服务器
KR20180071967A (ko) 데이터 처리
US7007126B2 (en) Accessing a primary bus messaging unit from a secondary bus through a PCI bridge
JPH0697449B2 (ja) 多重化共有メモリ制御方法、多重化共有メモリシステムおよび共有メモリ拡張方法
US6351798B1 (en) Address resolution unit and address resolution method for a multiprocessor system
CA1303229C (en) Bus adapter unit for digital data processing system
EP0139568A2 (en) Message oriented interrupt mechanism for multiprocessor systems
CN116483259A (zh) 一种数据处理方法以及相关装置
JPH0212361A (ja) 階層化バスによる並列計算機システム
JPS60173655A (ja) マルチプロセツサのメモリ方式
JP3661531B2 (ja) マルチプロセッサシステム及びそのアドレス解決方法
EP0391537A2 (en) Lock converting bus-to-bus interface system