JP3141948B2 - 計算機システム - Google Patents

計算機システム

Info

Publication number
JP3141948B2
JP3141948B2 JP03515017A JP51501791A JP3141948B2 JP 3141948 B2 JP3141948 B2 JP 3141948B2 JP 03515017 A JP03515017 A JP 03515017A JP 51501791 A JP51501791 A JP 51501791A JP 3141948 B2 JP3141948 B2 JP 3141948B2
Authority
JP
Japan
Prior art keywords
access
shared memory
state
instruction
write
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
JP03515017A
Other languages
English (en)
Other versions
JPWO1992005489A1 (ja
Inventor
章 河部本
敏男 小川
政司 城谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO1992005489A1 publication Critical patent/JPWO1992005489A1/ja
Application granted granted Critical
Publication of JP3141948B2 publication Critical patent/JP3141948B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】 技術分野 本発明は、複数のプロセッサモジュールと共有メモリ
モジュールがシステムバスを介して接続されたマルチプ
ロセッサシステムの共有メモリの非同期アクセス方式に
関する。
背景技術 マルチプロセッサシステムのプロセッサは共有メモリ
を物理アドレスで直接アクセスすることから、システム
バスによるデータ転送は1アクセス命令に同期して1ワ
ード単位で行われ、多数のプロセッサを搭載した場合に
はシステムバスのアクセス頻度が増加する。そのためプ
ロセッサのシステム搭載台数が制限され、結果としてシ
ステム性能が制限される。従って、共有メモリのアクセ
スの高速化と、システムバスのオーバーヘッドの低減に
よ負荷低減が望まれる。
従来のマルチプロセッサシステムは、複数のプロセッ
サモジュールと複数の共有メモリモジュールが、情報転
送のためのシステムバスを介して接続され、マルチプロ
セッサシステムとして知られた計算機システムを構築し
ている。
このような従来のマルチプロセッサシステムにあって
は、各プロセッサモジュールの中央処理ユニットは、自
己の物理アドレス空間に存在す共有メモリモジュールを
システムバスを介して物理アドレスにより直接アクセス
する同期アクセス方式を採用している。
発明の開示 しかしながら、同期アクセス方式におけるプロセッサ
モジュールによるシステムバスを使用した共有メモリへ
のアクセスには、プロセッサモジュール内のメインメモ
リへのアクセスに比べ非常に大きな時間を必要とすると
いう問題があった。
本発明は、このような従来の問題点に鑑みてなされた
もので、共有メモリのアクセスの高速化と、システムバ
スのオーバヘッド低減による負荷の低減を図るようにし
た共有メモリの非同期アクセス方式を提供することを目
的とする。
更に詳しくは、プロセッサモジュールのシステムバス
に対する接続ユニットをキャッシュメモリのように使う
ことで、アクセスの高速化を図るようにした共有メモリ
の非同期アクセス方式を提供することを目的とする。
またプログラムモード(同期アクセス)では1アクセ
スにおいてバス上でコマンド、アドレス、データ、ステ
ータス(C,A,D,S)の4ワードが必要であるが、たとえ
ばプログラムモードの4アクセス分の16ワードを1ブロ
ックにブロック化してDMA形式でアクセスすると、コマ
ンド、アドレス、4データ、ステータス(C,A,D,D,D,D,
S)の7ワードで済み、プログラムモードに比べ半分以
下のワード数で済み、これによりオーバヘッドを低減し
てシステムバスの効率化を図ることのできる共有メモリ
の非同期アクセス方式を提供することを目的とする。
また、プログラムモードのアクセスをブロック化する
ことにより、このブロックの実際の書き込み動作は、プ
ロセッサモジュールのプロセッサの命令処理と非同期と
なるため、ブロック書き込みにおいてエラーが生じた場
合に、どの命令に対応してエラーが生じたかが分からな
くなる。従って、本発明では、上記ブロック化の他に、
ブロック書き込みの際に生じたエラーのリカバリを行う
ためのシリアライズ命令を設け、ブロック書き込みにお
いてエラーのリカバリを可能とすることを更なる目的と
する。
第1A図及び第1B図は本発明の原理説明図である。
第1A図に示すように、本発明は、少なくともメインメ
モリ20、中央処理ユニット18及びシステムバス16への接
続ユニット22を備えた複数の処理モジュール(プロセッ
サモジュール)10と、少なくとも共有メモリユニット26
及びシステムバス16への接続ユニット28を備えた複数の
共有メモリモジュール12とを備えた計算機システムを対
象とする。
このような計算機システムを対象とした共有メモリの
非同期アクセス方式として本発明は第1B図に示すよう
に、処理モジュール10の接続ユニット22が中央処理ユニ
ット18による共有メモリモジュール12への書込命令また
は読出命令のアクセスアドレスの連続を認識した際に、
システムバス(16)を介して共有メモリモジュール12に
ブロックアクセスを要求することを特徴とする。
処理モジュール10からのブロック読出要求に対し共有
メモリモジュール12の接続ユニット28は、共有メモリユ
ニット26からアクセスアドレスに続く所定ワード数でな
る1ブロック分のデータを読出して処理モジュール10へ
送信する。
共有メモリモジュール12からのブロック読出要求の応
答は、処理モジュール10の接続ユニット22で受信され、
接続ユニット22の内部バッファにブロック読出による所
定ワード数でなる1ブロック分のデータを格納し、格納
後に中央処理ユニット18からの次の読出命令に対し内部
バッファに格納した対応する読出データを送出する。
また処理モジュール10の接続ユニット22が、中央処理
ユニット18からのアクセスアドレスの連続する書込命令
を受けた際には、中央処理ユニット18からの書込データ
を内部バッファに格納し、格納データが所定ワード数で
なる1ブロック分に達したバッファフル時に共有メモリ
モジュール12に対しブロック書込要求を行う。
一方、本発明の共有メモリの非同期アクセス方式は、
処理モジュール10の接続ユニット22によりアクセス対象
となった共有メモリモジュール12を示す相手先IDコード
(DID)、発信元を示す発信元IDコード(SID)、アクセ
スの種類を示すオペランド、及びアクセスデータ容量
(BCT)で構成される起動転送コマンド(SC)を作成
し、この起動転送コマンド(SC)を相手先共有メモリモ
ジュール12のアクセスアドレス(A)と共に前記システ
ムバス16に送信する。
すなわち、読出アクセス時に接続ユニット22は起動転
送コマンド(SC)及びアクセスアドレス(A)を送信
し、書込アクセス時には起動転送コマンド(SC)、アク
セスアドレス(A)及び書込データ(D)を送信する。
これに対し共有メモリモジュール12の接続ユニット28
は、アクセスバス16を監視して前記起動転送コマンド
(SC)の相手先IDコードと自己のユニットIDとの一致を
判別した時に該起動転送コマンド(SC)の受信動作を行
う。
続いて共有メモリモジュール12の接続ユニット28は、
受信動作により取り込んだ起動転送コマンド(SC)に基
づいて共有メモリユニット26のアクセスを終了した時に
は、相手先処理モジュール10を示すIDコード(DID)、
発信元を示す発信元IDコード(SID)および終結コード
を含む応答転送コマンド(EC)を作成してシステムバス
16に送信する。
この応答送信に対し処理モジュール10の接続ユニット
22は、システムバス16を監視し、応答転送コマンド(E
C)の相手先IDコード(DID)と自己のユニットIDとの一
致を判別した時に、該応答転送コマンド(EC)の受信動
作を行う。
このような構成を備えた本発明による共有メモリの非
同期アクセス方式によれば、同期アクセスによるアクセ
スアドレスの連続するアクセス命令については、一命令
に対し所定ワード数となるブロック単位でのデータ転送
をシステムバス上で行うことから、このブロック化によ
りシステムバスに対するアクセスの高速化と、システム
バスのオーバーヘッドの低減により負荷を低減し、シス
テムバスを高能率化してシステム性能を向上することが
できる。
また、シリアライズ命令を設けたことにより、ブロッ
ク化してアクセスした場合にエラーが生じてもリカバリ
処理を正常に行うことが出来るので、本発明で導入する
ブロック化アクセス方式を実際のシステムにおいて有効
に実現可能とすることができる。
図面の簡単な説明 第1A図及び第1B図は本発明の原理説明図、 第2図は本発明のマルチプロセッサシステム構成図、 第3図は本発明のプロセッサモジュール構成図、 第4図は本発明の共有メモリモジュール構成図、 第5図は本発明のプロセッサモジュール内蔵の接続ユ
ニット構成図、 第6図は本発明の共有メモリモジュール内蔵の接続ユ
ニット構成図、 第7図は本発明のシステムバス上の転送コマンド説明
図、 第8図は本発明の書込転送動作説明図、 第9図は本発明の読出転送動作説明図、 第10図は本発明のアドレス空間マップ説明図、 第11図は本発明の拡張SSU空間説明図、 第12図は本発明の第1制御レジスタによるSSM構成定
義の説明図、 第13図は本発明の第2制御レジスタによるSSM構成定
義の説明図、 第14図は第12図及び第13図の構成定義に対応する共有
メモリモジュールの実装説明図、 第15A図及び第15B図は本発明のプログラムモードアク
セスのフローチャート、 第16A図及び第16B図は本発明のDMAモードアクセスの
フローチャート、 第17図は本発明のDMAモードアクセスで用いるディス
クリプタ説明図、 第18図は本発明の非同期プログラムモードにおけるSS
M読出動作説明図、 第19図は本発明の非同期プログラムモードにおけるSS
M書込動作説明図、 第20A図及び第20B図は従来の動作を示すタイミング
図、 第21A図は本発明において、シリアライズ命令を受信
して状態制御を行うプロセッサ側の接続ユニットの構成
図、 第21B図は前記接続ユニット内の状態制御部の状態遷
移図、 第21C図は状態遷移回路の回路図、 第22A図及び第22B図は本発明の動作を示すタイミング
図、 第22C図はシリアライズ命令に対する割込みハンドラ
の処理を説明する図である。
発明を実施するための最良の形態 [装置の構成] 第2図は本発明の共有メモリ構成方式が適用されるマ
ルチプロセッサシステムの一部を示したシステム構成図
である。
第2図において、マルチプロセッサシステムは、複数
個のプロセッサモジュール(PM)10と、複数個の共有メ
モリモジュール(SSM)12を有し、各プロセッサモジュ
ール10と各共有メモリモジュール12は、スプリットバス
である共有システムバス(SS−BUS)16に接続ユニット
(SSBC−P)22を通して接続される。共有システムバス
16は共有システムバスハンドラ(SSBH)14により制御さ
れ、共有システムバス16のアービトレーションは共有シ
ステムバスハンドラ14が集中管理する。
#0〜2のプロセッサモジュール10には、それぞれユ
ニットIDとして、 PM#0;UID=1000000 PM#1;UID=1000001 PM#2;UID=1000010 が付けられ、また#0〜#2の共有メモリモジュール12
には、それぞれユニットIDとして SSM#0;UID=0000000 SSM#1;UID=0000001 SSM#2;UID=0000010 が付けられる。
各々のプロセッサモジュール10および共有メモリモジ
ュール12は、フォールトトレラントを目的として二重化
した#0及び#1の共有システムバス16による制御され
ているが、より多くの共有システムバス16に接続しても
良い。
第3図は第2図に示したプロセッサモジュール10の実
施例構成図である。
第3図において、プロセッサモジュール10内には、中
央処理ユニット(μP)18、ローカルなメインメモリユ
ニット(LSU)20、および2本の共有システムバス16に
対する2つの接続ユニット(SSBC−P)22が内部バス24
を介して設けられる。
このプロセッサモジュール10内には、中央処理ユニッ
ト18及びメインメモリ20上で動作するソフトウェア(O
S)が走行し、第2図に示した各プロセッサモジュール1
0内のソフトウェアは、相互に協調して一連の動作を行
う分散OSを構成する。またプロセッサモジュール10内の
中央処理ユニット18は、自己のプロセッサモジュール10
内のメインメモリ20からのみ命令コードをフェッチする
ようにしている。
第4図は第2図に示した共有メモリモジュール12の実
施例構成図である。
第4図において、共有メモリモジュール12内には、共
有メモリユニット(SSU)24及び2本の共有システムバ
ス16に対する2つの接続ユニット(SSBC−S)28が内部
バス30を介して設けられる。共有メモリユニット26には
第2図に示した複数のプロセッサモジュール10で共有化
が必要なデータが格納される。
第5図は第3図のプロセッサモジュール10に設けた接
続ユニット(SSBC−P)22の実施例構成図である。
第5図において、接続ユニット22は共有システムバス
16を介して第2図の共有メモリモジュール12に対し、 プログラムモード DMAモード の2モードによるアクセスを行う。更に、プログラムモ
ードは1アクセス命令につき1ワード単位で行う同期ア
クセス方式と、1アクセス命令につき複数ワードでなる
ブロック単位で行う非同期アクセス方式とに分かれる。
接続ユニット22は、これらプログラムモードとDMAモ
ードとの2つのアクセスモードに対応してプログラムモ
ード・アクセス制御回路32及びDMAモード・アクセス制
御回路34、共有システムバス16との送受信回路36及びバ
ッファとして機能するデュアルポートRAM38によって構
成される。ここでプログラムモード・アクセス制御回路
32には、アドレスデコーダ40、タイミング制御回路42、
構成定義レジスタ44が設けられ、またDMAモード・アク
セス制御回路34には、アドレス発生器46、タイミング制
御回路48及びDMA制御レジスタ50が設けられる。
第6図は第4図に示した共有メモリモジュール12に設
けた接続ユニット(SSBC−S)28の実施例構成図であ
る。
第6図において、接続ユニット28には、内部バス30を
制御する内部バス制御回路74,アドレス発生器70及びタ
イミング制御回路72を備えたDMA制御回路52、第4図の
ように共有メモリモジュール12に複数の接続ユニット28
が搭載された場合に内部バス30のアービトレーションを
行う内部バスアービタ回路54、共有システムバス16に対
する送受信回路56、及びバッファ機能を有するデュアル
ポートRAM58によって構成される。
第3図及び第4図に示したプロセッサモジュール10と
共有メモリモジュール12間を共有システムバス16を介し
て接続する接続ユニット22,28は、1回のアクセスを起
動転送、応答転送に分離して行うスプリット転送方式を
採用している。
このスプリット転送方式のバス制御においては、各モ
ジュールごとにユニットIDを割り付け、ユニットIDをバ
ス上のモジュール識別子とする。
第7図に接続ユニット22,28で使用する起動転送コマ
ンドSCと応答転送コマンドECの例を示す。
第7図の起動転送コマンドSCにおいて、DID(Destina
tion ID)は受信先モジュールのユニットIDであり、SID
(Source ID)は送信元モジュールユニットIDである。
またオペランドはアクセス種類を示す。アクセス種類と
しては、共有メモリモジュール12に対するメモリアクセ
スの他に、共有メモリモジュール12や他のプロセッサモ
ジュール10に対するホルト指示、或いはリセット指示な
どの制御レジスタのアクセス等がある。更にBCT(Byte
Count)は、共有メモリモジュール12のアクセスにおけ
るデータ容量を示す。
一方、応答転送コマンドECにおけるDID、SIDは起動転
送コマンドSCと同じであるが、終結コードはアクセス先
における終結状態、即ち正常終結と異常終結をコード化
したものである。
第8図は共有システムバス16によりプロセッサモジュ
ール10から共有メモリモジュール12にデータを転送して
書き込む書込アクセス(ストアアクセス)の動作説明図
である。
まずアクセス元のプロセッサモジュール10は、起動転
送コマンドSCを作成する。即ち、自己のユニットIDを示
すSID、アクセス先の共有メモリモジュール12のユニッ
トIDを示すDID、メモリ書込アクセスを示すオペラン
ド、アクセス容量を示すBCTによって転送起動コマンドS
Cを作成する。共有システムバス16上には転送起動コマ
ンドSCに続いて、アクセス先の共有メモリモジュール12
上のアクセスアドレスA及び書き込むべきデータDを送
信する。
受信側の共有システムモジュール12は共有システムバ
ス16上を監視し、起動転送コマンドSCに含まれる受信先
を示すDIDと自己のユニットIDを比較し、両者一致した
場合に受信動作を行う。受信動作を行った共有メモリモ
ジュール12は、共有メモリモジュール12内に設けた共有
メモリユニット26(第4図参照)に書込アクセスを行
い、書込アクセスの終結コードを含め、転送方向が起動
転送と応答転送では逆のためDISとSIDを交換した応答転
送コマンドECを作成してアクセス元のプロセッサモジュ
ール10に対して送信する。
アクセス元のプロセッサモジュール10は、共有システ
ムバス16上を監視し、応答転送コマンドEC中の相手先を
示すDIDが自己のユニットIDと一致した場合に受信動作
を行い、1回のアクセスを終了する。
この起動転送コマンドSCの送信終了後から応答転送コ
マンドECの送信の開始までの間の空き時間については、
他のアクセスにおける起動転送コマンドSCあるいは応答
転送コマンドECの転送に共有システムバス16を使用して
も良い。
第9図は共有メモリモジュール12からプロセッサモジ
ュール10にデータを読み出す読出アクセス(フェッチア
クセス)の動作説明図である。
まずアクセス元のプロセッサモジュール10は、起動転
送コマンドSCを作成する。即ち、自己のユニットIDを示
すSID、アクセス先の共有メモリモジュール12のユニッ
トIDを示すDID、メモリ読出アクセスのオペランド、ア
クセス容量を示すBCTによって転送起動コマンドSCを作
成する。共有システムバス16上には転送起動コマンドSC
に続いて、アクセス先の共有メモリモジュール12上のア
クセスアドレスAを送信する。
受信側の共有メモリモジュール12は共有システムバス
16上を監視し、転送コマンドSCに含まれる受信先を示す
DIDと自己のユニットIDを比較し、一致した場合に受信
動作を行う。受信動作を行った共有メモリモジュール12
は、共有メモリモジュール12内の共有メモリユニット26
(第4図参照)に読出アクセスを行い、読出アクセスの
終結コードを含め、転送方向が起動転送と応答転送では
逆のためDIDとSIDを交換した応答転送コマンドEC及び読
出データDをアクセス元のプロセッサモジュール10に対
して送信する。
アクセス元のプロセッサモジュール10は、共有システ
ムバス16上を監視し、応答転送コマンドEC中の相手先を
示すDIDが自己のユニットIDと一致した場合に受信動作
を行い、1回の読出アクセスが終了する。
この読出アクセスには、プログラムモードとDMAモー
ドの2モードがあるが、いずれのアクセスにおいても共
有システムバス16上での動作は同じである。
[アドレス空間] 第10図に本発明の実施例におけるアドレス空間のマッ
プ説明図を示す。
第10図において、各プロセッサモジュール10の物理ア
ドレス空間は共有メモリモジュール空間(以下「SSU空
間」という)と、プロセッサモジュール固有空間(以下
「PM固有空間」という)に大別される。
PM固有空間は各プロセッサモジュール10のハードウェ
アリソース固有の空間であり、各プロセッサモジュール
10ごとに存在し、システムにおけるプロセッサモジュー
ル10の搭載台数分の多重アドレス空間となる。この実施
例ではPM固有空間を2GBとしている。
一方、SSU空間は、全てのプロセッサモジュール10に
共通な空間である。すなわち、SSU空間は複数の共有メ
モリモジュール12によって構成され、システム搭載プロ
セッサモジュール12から見て共通の空間となり、しかも
プロセッサモジュール10の物理アドレスによって直接ア
クセスすることができる。従って、SSU空間には、全て
のプロセッサモジュール10で共通に必要なデータのみが
格納される。
この実施例では2GBのSSU空間を例にとっており、SSU
空間は右側に取り出して示すように更に256MB単位の8
つの部分SSU空間#0〜#7に分割される。この部分SSU
空間#0〜#7の1つ1つが本発明の共有メモリモジュ
ール12で構成される。
更に、各プロセッサモジュール10のPM固有空間はLSU
空間と制御空間に分けられる。PM固有空間の一部である
LSU空間には、各プロセッサモジュール10が必要とする
オペランド、各プロセッサモジュール10固有のデータが
格納される。このLSU空間の存在により各プロセッサモ
ジュール10は共有メモリモジュール12で構成されるSSU
空間に対するアクセス回数を削減することができる。
また中央処理ユニット18によるアクセスアドレスがLS
U空間を指している場合には、そのプロセッサモジュー
ル10内での閉じたアクセスとなる。
一方、中央処理ユニット18によるアクセスアドレス
(物理アドレス)がSSU空間を指している場合には、プ
ロセッサモジュール10の接続ユニット22がSSU空間アク
セスであることを認識し、該当する共有メモリモジュー
ル12に対し共有システムバス16を介してアクセスを行
う。
このように、SSU空間及びLSU空間がプロセッサモジュ
ール10上の物理アドレス空間にマッピングされているこ
とにより、ソフトウェアは空間切り替え等を行う必要な
しに、SSU空間及びLSU空間のアクセスが可能となる。
複数の共有メモリモジュール12で構成されるSSU空間
へのアクセス法としては、第10図のようにSSU空間が各
プロセッサモジュール10の物理アドレス空間に直接マッ
プされていることから、 ソフトウェアに基づく中央処理ユニット18の命令によ
り物理アドレスで直接アクセスするプログラムモード
と、 アクセスすべき共有メモリモジュール12を選択し、ア
クセスアドレスと転送長を指定してプロセッサモジュー
ル10と共有メモリモジュール12間のデータ転送を起動す
るDMAモード の2種類のアクセスモードがある。
この2種類のアクセスモードによって、アクセス可能
なSSU空間は異なる。この実施例においては、プログラ
ムモードによってアクセス可能なSSU空間は、各プロセ
ッサモジュール10の物理アドレス空間に直接マップされ
た2GBのみである。しかし、DMAモードにおいてはアクセ
ス先の共有メモリモジュール12をユニットIDで指定する
ことにより、さらに大きなSSU空間、すなわち拡張SSU空
間に対するアクセスが可能である。
DMAモードアクセスでは、第8,9図に示した起動転送コ
マンドSC中のDIDによってアクセス先の共有メモリモジ
ュール10のユニットIDを指定し、続くアドレスAで共有
メモリモジュール10内のアドレスを指定する。従って、
理論上は、 拡張SSU空間容量=2n (但し、nは中央処理ユニット18のアドレスビット幅に
ユニットIDのビット幅を加える) となる拡張SSU空間に対してアクセス可能となる。即
ち、拡張SSU空間は、ユニットIDを識別子として区別さ
れる拡張空間となる。
第11図はプロセッサモジュール10の物理アドレス空間
にマッピングされたSSU空間と、DMAモードでのみアクセ
ス可能な拡張SSU空間を示したマップ説明図である。
第11図において、拡張SSU空間を構成する複数の共有
メモリモジュール12のユニットIDのビット数は7ビット
であり、0000000〜0111111の64個のユニットIDを共有メ
モリモジュール12に割り当てる。
ここでユニットIDの内の0000000〜0000111までの8個
のユニットIDは、プログラムモード及びDMAモードの両
方によるアクセスが可能であり、更に後述する二重化共
有メモリを構成する共有メモリモジュール12の構成定義
用に使用するため、物理アドレス空間の2GBに割り当て
る。また、残りの56個のユニットIDを4GB単位に割りつ
ける。その結果、合計226GBの拡張SSU空間に対してDMA
モードによるアクセスが可能である。
勿論、ユニットIDは第11図の8つのユニットIDに限定
されず、全二重化の共有メモリ空間(拡張でない2GBの
空間)を16の共有メモリモジュール12を使って例えば00
00000〜0001111で作ることも可能である。
また、第11図に限定されず、更にユニットIDのビット
数の増加、あるいはユニットIDの共有メモリモジュール
12に対する割り当て率の増加によって、DMAモードアク
セスによる拡張SSU空間は拡大可能である。
物理アドレスでアクセスできる本発明のSSU空間は、
複数の共有メモリモジュール12によって構成されるが、
SSU空間分の全てのメモリを実装する必要はなく、未実
装領域があってもかまわない。また、フォールトトレラ
ントを目的としてSSU空間の一部分を二重構成とするこ
とが可能である。
これらの未実装領域や二重構成は、第10図のプロセッ
サモジュール10のSSU空間に示すように、プロセッサモ
ジュール10のSSU空間を複数個の部分SSU空間に分割し、
その分割された部分SSU空間ごとに共有メモリモジュー
ル12との関係、即ち、第11図に示した拡張SSU空間を構
成するユニットID=0000000〜0000111をもつ共有メモリ
モジュール12との関係を定義する構成制御によって実現
される。
第10図の実施例では、2GBのSSU空間を256単位に8空
間に分割し、それぞれの分割された部分SSU空間#0〜
#7ごとに共有メモリモジュール12との対応関係を示す
構成定義をしている。
この共有メモリモジュール12の構成定義は、各プロセ
ッサモジュール10に搭載された第5図に示した接続ユニ
ット22内の構成定義レジスタ44を操作することにより実
現される。この構成定義レジスタ44は、第12図に示す第
1レジスタ60と第13図に示す第2制御レジスタ62−1,62
−2で構成される。
第12図の第1制御レジスタ60は、第10図のように256M
B単位に8分割されたSSU空間に対応する共有メモリモジ
ュール12の存在の有無、すなわち共有メモリモジュール
12が実装されているか、未実装であるかを指定する。こ
の実施例では第12図は第1制御レジスタ60のビット1で
示すI0,I1,I2,I4,I7に対応した部分SSU空間#0,#1,#
2,#4,#7の5つが実装されており、ビット0で示すI
3,I5,I6に対応した部分SSU空間#3,#5,#6の3つが未
実装であることを示している。
第13図に示す第2制御レジスタ62−1、2は、第1制
御レジスタ60において実装が指定された部分SSU空間に
どの共有メモリモジュール12が対応するか、一重/二重
構成の指定、及び二重構成が指定された場合のアクセス
順序を指定している。
この実施例では、部分SSU空間#0,#1,#2,#4,#7
に対するビットD0,D1,D2,D4,D7のみ有効であり、対応す
る共有メモリモジュール12の構成及びアクセス形態を指
定している。即ち、ビットD0,D1,D7は0であり、部分SS
U空間#0,#1,#7が一重構成であることを指定してい
る。この一重構成の部分SSU空間#0,#1,#7に対して
アクセスが行われた場合、ユニットID=0,1,7で指定さ
れた共有メモリモジュール12に対するアクセスを行う。
一方、ビットD2,D4は1となって二重構成を指定して
いる。この二重構成の部分SSU空間#2,#4に対しアク
セスが行われると、ユニットID2,ユニットID4で指定さ
れた片方の共有メモリモジュール12から読み出しを行
う。
これに対し二重構成の共有メモリモジュール12への書
き込みは、1回目は第2制御レジスタ62−1,2のユニッ
トIDで指定された共有メモリモジュール12に対して書き
込みを行った後、2回目は最初のユニットIDの特定ビッ
ト、例えば最下位ビットを反転したユニットIDをもつ他
の共有メモリモジュール12に対して書き込みを行う。
この第2制御レジスタ62−1,2で二重構成を指定でき
る共有メモリモジュール12のペアは、例えば ユニットID=0000100 ユニットID=0000101 のように最下位ビットのみが反転しているユニットIDを
有する共有メモリモジュール12となる。
第13図の実施例では、部分SSU空間#2と#4の2つ
がビットD2,D4=1により二重構成の指定を受けてお
り、部分SSU空間#2については、 [部分SSU空間] [ユニットID] #2 0000010 #3 0000011 となるペアか設定され、また部分SSU空間#4について
は、 [部分SSU空間] [ユニットID] #4 0000100 #5 0000101 となるペアが設定される。
第14図は、第12図,第13図の制御レジスタの指定に基
づく共有メモリモジュール12の実装状態及び構成定義を
示した説明図である。
第14図において、プロセッサモジュール10のSSU空間
#0〜#7に対応して8つの共有メモリモジュール12が
設けられるが、SSU空間#6に対応した共有メモリモジ
ュールは未実装である。またSSU空間#3と#5につい
ては、二重構成によりSSU空間#2と#4の共有メモリ
モジュール12に対し二重化されるため、SSU空間#3,#
5に対応する共有メモリモジュール12は存在しないこと
になる。残りの#0,#1,#7のSSU空間についてはて一
重構成であることから1対1に共有メモリモジュール12
が対応している。
このようにプロセッサモジュール10の物理アドレスで
アクセスできるSSU空間を分割して構成定義を行うこと
により、システム運用中においても、分割されたSSU空
間単位に共有メモリモジュールの有効/無効あるいは、
一重/二重構成の指定が可能となる。
この実施例にあっては、ソフトウェアに基づき中央処
理ユニット18の命令により物理アドレス空間で直接SSU
空間をアクセスするプログラムモードにおいては、32ビ
ットのSSU空間アドレスのビットb0〜b3の4ビットが共
有メモリモジュール12の選択子として機能し、残りビッ
トb4〜b31の28ビットが共有メモリモジュール12内のア
ドレスとして機能する。
共有メモリモジュール12に搭載されるメモリ容量が25
6MBを越える場合、共有メモリモジュール12を選択する
選択子の意味に変わりはないが、共有メモリモジュール
12の内部アドレスは、共有メモリモジュール12に搭載さ
れるメモリ容量に対応させる。例えばメモリ容量が2倍
の512MBの場合、アドレス情報のビットb3〜b31の29ビッ
トが共有メモリモジュール12の内部アドレスの指定に使
用される。また1GBの場合は、ビットb2〜b31の30ビット
が共有メモリモジュール12の内部アドレスの指定に使用
され、さらに2GBまで拡張された場合は、31ビット全て
が共有メモリモジュール12の内部アドレスに使用され
る。このように共有メモリモジュール12のメモリ容量が
256MBを越える場合には、共有メモリモジュールを選択
する選択子のビット数が減少することから、256MB単位
に分割された複数の部分SSU空間に対して実装容量に対
応した同一のユニットIDを指定することになる。
[アクセスモード] 本発明において、プログラムモードによるアクセスは
第15A図,第15B図のフローチャートに示す手順となる。
第15A図において、まずステップS1(以下「ステッ
プ」は省略)でソフトウェアが中央処理ユニット18の命
令としてSSU空間をアドレッシングするアクセスを行う
と、S2に進んで接続ユニット22は中央処理ユニット18か
らのアドレスビットb0〜b3の4ビットと共有メモリモジ
ュール12の構成定義を行う第2制御レジスタ62−1,2の
内容から、どのユニットIDを持つ共有メモリモジュール
12がアドレッシングされたSSU空間を有するかを判断す
る。更に第1制御レジスタ60の内容から指定された共有
メモリモジュール12が未実装か否かを判定し、未実装で
あればS4に進んで異常終了とする。
S3で実装が判別されるとS5に進んで接続ユニット22は
中央処理ユニット18に対してリトライ信号を返し、中央
処理ユニット18をウェイト状態とする。
次にS6に進んで中央処理ユニット18からの命令が共有
メモリモジュール12からデータを読み出すフェッチ命令
か、共有メモリモジュール12にデータを書き込むストア
命令かを判別する。
中央処理ユニット18の命令がフェッチ命令であれば、
S7に進んで第2制御レジスタ62−1,2の内容から相手先
の共有メモリモジュールのユニットIDをDIDとして起動
転送コマンドSCを作成し、S8で共有システムバス16のバ
ス権を獲得した後、起動転送コマンドSC及びアドレスA
を共有システムバス16に送信する。
一方、S3でストア命令が判別されるとS14に進んで、
同様に第2制御レジスタ62−1,2の内容から相手先の共
有メモリモジュールのユニットIDをDIDとして起動転送
コマンドSCを作成し、S14で共有システムバス16のバス
権を獲得した後、起動転送コマンドSC、アドレスA、更
に書込用のデータDを共有システムバス16に送信する。
これに対し共有メモリモジュール12側にあっては第15
B図のフローチャートに示すように、接続ユニット28がS
1で共有システムバス16を監視し、S2で起動転送コマン
ド中のDIDと自己のユニットIDとの一致を判別すると、S
3に進んで内蔵したジュアルポートRAM56に受信データを
書き込む。
続いてS4でフェッチ命令かストア命令かを判別する。
S4でフェッチ命令が判別された場合には、S5で接続ユ
ニット28は内部バス30に対するバス権を獲得した後に、
内部バス制御回路64の制御のもとにデュアルポートRAM5
6と共有メモリユニット26の間でデータ転送を行う。S5
で共有メモリモジュール12内でのデータ転送終了後、接
続ユニット28はアクセス元のプロセッサモジュール10に
対し応答を行う。
即ち、S6に進んで終結コードを含んだ応答転送コマン
ドECを作成し、続いてS7で共有システムバス16に対する
バス権を獲得し、最終的にS8で応答転送コマンドEC、読
み出されたデータDを共有システムバス16に送信する。
一方、S4でストア命令が判別された場合には、S9で接
続ユニット28は内部バス30に対するバス権を獲得した後
に、内部バス制御回路64の制御のもとにデュアルポート
RAM56と共有メモリユニット26との間のデータ転送によ
りデータ書込を行う。S9で共有メモリモジュール12内で
のデータ転送(データ書込)が終了すると、接続ユニッ
ト28はアクセス元のプロセッサモジュール10に対し応答
を行う。
即ち、S10に進んで終結コードを含んだ応答転送コマ
ンドECを作成し、続いてS11で共有システムバス16に対
するバス権を獲得し、最終的にS12で応答転送コマンドE
Cを共有システムバス16に送信する。
再び第15A図のプロセッサモジュール10側を説明する
と、プロセッサモジュール10の接続ユニット22は、S9又
はS16に示すように共有システムバス16を監視してお
り、応答転送コマンドECのDIDと自己のユニットIDとの
一致をS10,S17で判別すると、フェッチ命令の際にはS11
に進んで応答転送コマンドECとデータDを受信し、スト
ア命令の場合はS18に進んで応答転送コマンドECを受信
する。
続いてS12,S20に示すように、中央処理ユニット18に
対し発行しているリトライ信号を取り下げ、中央処理ユ
ニット18のウェイト状態を解除する。そしてフェッチ命
令であればS13で中央処理ユニット18に内部バス24の終
結信号DCを受信したデータDと共に返し、またストア命
令であればS20で中央処理ユニット18に内部バス24の終
結信号DCを返す。
以上でプログラムモードによる1アクセスが終了す
る。
尚、第15A図のS19及びS22〜S28の二重書込処理につい
ては後の説明で明らかにする。
次に第16A、16B図のフローチャートを参照して本発明
におけるDMAモードによるアクセスを説明する。
DMAモードによるアクセスに際して中央処理ユニット1
8は、まずS1で予めプロセッサモジュール10のメインメ
モリ20上に第17図に示す相手先の共有メモリモジュール
12のユニットID、アクセスアドレス、転送長等の制御内
容を含んだディスクリプタを配置する。
即ち、第17図のディスクプリタにおいて、BCT(Byte
Count)は転送バイト数を指定し、バッファアドレスBUF
Aはメインメモリ20上に置かれるデータバッファの先頭
物理アドレスを指定し、DIDはアクセス対象となる共有
メモリモジュール12のユニットIDを指定する。更にSSUA
はアクセス対象となった共有メモリモジュール12内の相
対アドレス(DIDで指定された共有メモリモジュール12
内の内部アドレス)を指定するもので、プログラムモー
ドにおけるSSU空間の物理アドレスとは異なる。
S1でディスクプリタを配置した後、S2に進んで接続ユ
ニット22に設けたDMAモード制御回路34内のDMA制御レジ
スタ50に転送方向、共有メモリモジュール12への二重化
書込指定、メインメモリ20上のディスクプリタのアドレ
ス等の制御指示を行い、DMAモードアクセスを起動す
る。
S2でDMAモードアクセスが起動されると、接続ユニッ
ト22がプロセッサモジュール10の内部バス24のバス権を
獲得してバスマスタとなり、DMA制御回路34の制御もと
にメインメモリ20を直接アクセスし、メインメモリ20上
のディスクリプタを読み出し、メインメモリ20から接続
ユニット22内のデュアルポートRAM38へのデータ転送を
行う。
接続ユニット22内のデュアルポートRAM38へのデータ
転送終了後、S4でデータの転送方向を判別する。共有メ
モリモジュール12からメインメモリ20へ読出データを転
送する転送方向(以下「SSU→LSU)方向」という)であ
ればS5に進んで送受信回路36で第7図に示した共有メモ
リモジュール12のユニットID、転送長を含んだ起動転送
コマンドSCを作成する。一方、メインメモリ20から共有
メモリモジュール12へ書込データを転送する転送方向
(以下「SSU→LSU)方向」という)であればS13に進ん
で送受信回路36で同様に転送起動コマンドSCを作成す
る。
続いてS6,S14に進んで送受信回路36は共有システムバ
ス16のバス権を獲得する。
転送方向が(SSU→LSU)方向の場合にはS6からS7に進
み、起動転送コマンドSC、アドレスAを共有システムバ
ス16に送信する。また(LSU→SSU)方向の場合にはS15
からS16に進み、起動転送コマンドSC、アドレスA及び
データDを共有システムバス16に送信する。
一方、共有メモリモジュール12側の接続ユニット28
は、第16B図のS1で共有システムバス16を監視してお
り、起動転送コマンドSC中のDIDと自己のユニットIDと
の一致をS2で判別するとS3に進み、接続ユニット28内の
デュアルポートRAM56に受信データを書き込む。
次にS4で転送方向が(LSU→SSU)方向か(SSU→LSU)
方向かを判別し、(LSU→SSU)方向であればS5に進み、
また(SSU→LSU)方向であればS9に進む。S5,S9では、
接続ユニット28に設けたDMA制御回路52の内部バス制御
回路64が内部バス30のバス権を獲得し、デュアルポート
RAM56と共有メモリユニット26との間でデータ転送を行
い、S5では共有メモリユニット26からのデータ読み出し
を行い、またS9では共有メモリユニット26に対するデー
タ書込を行う。
S5またはS9でDMAによるメモリアクセスが終了する
と、S6,S10で第7図に示した終結コードを含んだ応答転
送コマンドECを作成し、S7,S11で共有システムバス16の
バス権利を獲得してS8,S12に進む。即ち、(LSU→SSU)
方向となるS8では、応答転送コマンドECに読み出したデ
ータDを付加して共有システムバス16に送信する。また
(SSU→LSU)となるS12では応答転送コマンドECを共有
システムバス16に送信する。
再び第16A図のプロセッサモジュール10側を説明する
と、プロセッサモジュール10の接続ユニット22は、S8ま
たはS17に示すように共有システムバス16を監視してお
り、応答転送コマンドのDIDと自己のユニットIDとの一
致をS9,S18で判別すると、S10,S19に進んで受信動作を
行い、受信データを接続ユニット22内のデュアルポート
RAM38に格納する。
続いて(SSU→LSU)方向の場合にはS11に進んで内部
バス42のバス権を獲得し、DMA制御によりデュアルポー
トRAM38の受信データDをメインメモリ20に転送し、最
終的にS12でDMA制御レジスタ50に終結コードをセット
し、中央処理ユニット18に割り込み上げて終了を通知す
る。
また(LSU→SSU)方向の場合にはS20を介してS21に進
み、DMA制御レジスタ50に終結コードをセットし、中央
処理ユニット18に割り込みを上げて終了を通知する。
以上でDMAモードによる1アクセスが終了する。
尚、第16A図のS20及びS22〜S27の二重書込処理につい
ては後の説明で明らかにする。
[二重化アクセス] 本発明のSSU空間を構成する複数の共有メモリモジュ
ール12は、フォールトトレラントを目的として二重化す
ることが可能である。二重化された共有メモリモジュー
ル12をアクセスした際の書込動作は、二重化された両方
の共有メモリモジュール12に行われ、一方、読出動作は
片方の共有メモリモジュール12より行われる。
二重化された共有メモリモジュール12の書き込みは、
ソフトウェアに基づく中央処理ユニット18からの1回の
アクセス指示で、接続ユニット22のハードウェア制御に
よって二重化された共有メモリモジュール12へのアクセ
スが実行される。このハードウェア制御による二重化さ
れた共有メモリモジュール12への書込アクセスは、ハー
ドウェア制御上、同時に行われるのではなく、まず片方
の共有メモリモジュール12へ書き込みを行い、その動作
が完了すれば、もう一方の共有メモリモジュール12への
書込動作に入る。具体的な二重化アクセス方法は、プロ
グラムモードとDMAモードのアクセスによって異なる。
プログラムモードの二重化アクセス方法は第15A図のS
19,S22〜S28の処理となる。
即ち、1回目のストアアクセスについては一重構成の
場合と同じに処理され、S18で1回目の共有メモリモジ
ュール12に対する書込アクセスが終了して正常終了を示
す応答確認コマンドECを受領すると、S19に進んで共有
メモリモジュール12の構成を定義している第13図に示し
た第2制御レジスタ62−1,2を参照する。
第2制御レジスタ62−1,2には、共有メモリモジュー
ル12の二重化構成の指定、二重構成を指定した時の読出
し側の共有メモリモジュールのユニットID、更に先に書
き込む共有メモリモジュールのユニットIDが指定されて
いる。
第2制御レジスタ62−1,2を参照した時に、アクセス
アドレスに対応する共有メモリモジュール12が一重構成
の指定であれば、S20に進んで接続ユニット22はアクセ
ス対象となった共有メモリモジュール12に対する1回の
書込アクセスで終了する。
これに対し二重構成が指定されていた場合にはS22に
進み、既にアクセスが終了した第2制御レジスタ62−1,
2で最初に指定された共有メモリモジュール12のユニッ
トIDの最下位ビットを反転したユニットIDをDIDとする
ストア用の転送起動コマンドSCを作成する。次にS23で
共有システムバス16のバス権を獲得して起動転送コマン
ドSC、アドレスA及び1回目と同じデータDを共有シス
テムバス16に送信し、二重化された他方の共有メモリモ
ジュール12に対してアクセスを行う。
この2回目のアクセスに対しても1回目と同様、第15
B図のS1〜S4,S9〜S12の処理が共有メモリモジュール12
側で行われ、最終的に終結コードを含む応答転送コマン
ドECを共有システムバス16に送信してくる。
そこで第15A図のS24で共有システムモジュール12から
の転送データを監視し、S25でDIDと自己のユニットIDの
一致を判別するとS26で応答転送コマンドECの受信動作
を行い、S12,S13の場合と同様にして二重構成の共有メ
モリモジュールに対する一連のストアアクセスを終了す
る。
このように第2制御レジスタ62−1,2によって共有メ
モリモジュール12の構成定義を行っておけば、ソフトウ
ェアに基づき中央処理ユニット18でプログラムモードで
共有メモリモジュール12の物理アドレスをアクセスした
際(SSU空間のアクセス)に、プロセッサモジュール10
側の接続ユニット22がハードウェア制御によって共有メ
モリユニット12が一重構成か二重構成か判断し、二重構
成であれば、1回目のアクセス終了で自動的にユニット
IDを変えて2回目のアクセスを行うことができる。
またアクセスアドレスに対応する第2制御レジスタ62
−1,2で指定された共有メモリモジュール12の構成定義
が二重構成であっても、二重化された片方の共有メモリ
モジュール12が障害によりアクセスが不可能となる場合
があり得る。このような一時的に縮退運転を行わざるを
得ない状況においては、アクセス終了で得られた応答確
認コマンドECの異常終結コードを判別した際に、第2制
御レジスタ62−1,2の動作モードを二重化モードから一
重化モードへ変更することによって対応可能となる。
更に二重化モードのアクセス時に、共有メモリモジュ
ール12へのアクセスが異常終結した場合は、異常が検出
された共有メモリモジュール12のユニットIDと、第2制
御レジスタ62−1,2の内容によるアクセス順序と合わせ
て、二重化されている2つの共有メモリモジュールの内
容の等価性の有無の判定も可能である。特に、プログラ
ムモードにおいては、基本的にアクセスの成功、失敗が
ワード単位で認識できるので、二重化された共有メモリ
モジュール12間でデータ等価性が失われた場合も、不一
致が生じたワードとアクセスに失敗した共有メモリモジ
ュール12側を考慮してリカバリ処理を行えば良い。
次にDMAモードの二重化アクセス方法は第16A図のS20S
22〜S27の処理となる。
即ち、データの転送方向が(LSU→SSU)方向となる1
回目のDMAアクセスについては一重構成の場合と同じに
処理され、S19で1回目の共有メモリモジュール12に対
する書込アクセスが終了して正常終了を示す応答確認コ
マンドECを受領すると、S20に進んで二重化書込みの有
無を判定する。
DMAモードのアクセスは、目的とする共有メモリモジ
ュール12を選択し、共有メモリモジュール12上のアクセ
スアドレスと転送長を指定して起動するが、その転送方
向、共有メモリモジュール12への書込み時の一重/二重
構成の指定等の動作モードは、起動する単位で接続ユニ
ット22のDMA制御レジスタ50で指定されている。
このためS20では共有メモリモジュール12の構成を定
義しているDMA制御レジスタ50を参照して二重化書込み
の有無を判定する。
DMA制御レジスタ50を参照した時に、アクセスアドレ
スに対応する共有メモリモジュール12が一重構成の指定
であれば、S21に進んで接続ユニット22はアクセス対象
となった共有メモリモジュール12に対する1回目の書込
アクセスで終了する。
これに対し二重構成が指定されていた場合にはS22に
進み、既にアクセスが終了したDMA制御レジスタ50で最
初に指定された共有メモリモジュール12のユニットIDの
最下位ビットを反転したユニットIDをDIDとする書込用
の転送起動コマンドSCを作成する。次にS23で共有シス
テムバス16のバス権を獲得して起動転送コマンドSC、ア
ドレスA及び1回目と同じデータDを共有システムバス
16に送信し、二重化された他方の共有メモリモジュール
12に対してDMAアクセスによる書き込みを行う。
この2回目のDMAアクセスに対しても1回目と同様、
第16B図のS1〜S4,S9〜S12の処理が共有メモリモジュー
ル12側で行われ、最終的に終結コードを含む応答転送コ
マンドECを共有システムバス16に送信してくる。
そこで第16A図のS24で共有メモリモジュール12からの
転送データを監視し、S25でDIDと自己のユニットIDの一
致を判別するとS26で応答転送コマンドECの受信動作を
行い、S11,S12の場合と同様にしてS26,S27を経て二重構
成の共有メモリモジュール12に対するDMAアクセスによ
る書き込みを終了する。
このようにDMAモードにおいても、プログラムモード
における二重化書込同様、動作モードを指定しておけ
ば、ハードウェアによる二重化書込が自動的に行われ
る。
また二重化された共有メモリモジュール12のDMAアク
セス中に異常終結した場合、アクセス中のユニットID
と、1回目のアクセス時に指定された共有メモリモジュ
ール12のユニットIDの最下位ビットによるアクセス順序
と合わせて、二重化された2つの共有メモリモジュール
12間のデータ等価性の有無も判定可能である。
尚、第2図の実施例では複数のプロセッサモジュール
10を示しているが、プロセッサモジュール10を1台とし
たシステム構成でもよい。
[プログラムモードの非同期化] 本発明のSSU空間に対しアクセスを行うプログラムモ
ードにあっては、第15A図に示したように、書込み/読
出しの完了が命令の実行完了と同期する同期型アクセス
となっている。そこでアクセスをブロック化すること
で、アクセスに対する応答を高速化することができる。
また、共有システムバス16の使用率の低減も可能であ
り、システム性能を向上できる。SSU空間に対するアク
セスをブロック化した場合、書込みの完了は命令の実行
完了と非同期となる。
第18図はブロックアクセスとしての非同期プログラム
モードによる共有メモリモジュール12の読み出し動作を
行った場合の動作説明図である。
第18図において、ソフトウェアに基づいてプロセッサ
モジュール10の中央処理ユニット(μP)18より発行さ
れた1ワードの共有メモリモジュー 12に対する読出要
求(a−R)に対して、接続ユニット22は、アドレスn
を先頭とするブロック読出要求(B1k−R)を共有シス
テムバス16を介して共有メモリユニット12に発行する。
この実施例では、アドレスn,n+1,n+2,n+3でなる4
ワードのブロック読み出し要求(B1k−R)を発行して
いる。
共有メモリユニット12側の接続ユニット28は、共有シ
ステムバス16に送信されたブロック読み出し要求(B1k
−R)を受信し、プロセッサモジュール10の接続ユニッ
ト22に対し共有メモリユニット26から読み出したアドレ
スn,n+1,n+2,n+3の4ワードのデータ(B1k−D)を
送信する。
プロセッサモジュール10の接続ユニット22は、データ
(B1k−D)を受信して接続ユニット22内のバッファ
(デュアルポートRAM38)に格納し、中央処理ユニット1
8へは共有メモリモジュール12の読み出しアドレスnに
対応したデータ(a−D)を返す。
引き続くアクセス要求が連続領域(b−R),(c−
R),(d−R)である場合は、先のブロックアクセス
により既に接続ユニット22内のバッファ内に得られてい
るため、接続ユニット22のバッファよりデータ(b−
D),(c−D)及び(d−D)の高速応答を行うこと
ができる。
接続ユニット22内のバッファに格納してあるデータの
無効化は、物理アドレスn+4に示すように、次のアク
セス要求がバッファ内に格納されていない領域である場
合(INV−OV)か、或いは物理アドレスn+6に示すよ
うに、連続アドレスでない場合(INV−NG)に行う。こ
れらの場合は1ワード単位のプログラムモードによって
共有メモリモジュール12に対しプロアクセスを行い、読
み出されたブロックデータの中の対応するアドレスのデ
ータのみを中央処理ユニット18に返す。
第19図は本発明のブロックアクセスとしての非同期プ
ログラムモードによるSSU書込動作を示す。
第19図において、プログラムモジュール(PM)10の中
央処理ユニット(μP)19からソフトウェアに基づいて
発行された共有メモリモジュール12に対する物理アドレ
スnの書き込み要求(a−W)及びデータは、接続ユニ
ット22内のバッファ(デュアルポートRAM38)へ格納さ
れる。接続ユニット22内のバッファに対しては物理アド
レスn+1,n+2,n+3に示すように、4ワードの連続し
たアドレスの書込要求(b−W),(c−W),(d−
W)が続き、バッファがフルになれば、接続ユニット22
は共有システムバス16を介して共有メモリモジュール12
に対してブロック書き込み要求(B1k−W)を発行し、
ブロック書き込みが行われる。
また、物理アドレスn+4に示すように、アクセスア
ドレスが連続でないという書込要求(e−W)の条件が
検出された場合には、共有メモリモジュール12に対し、
ワード単位のプログラムモードによる書込要求(E−
W)を発行してワード単位の書き込みを行う。
本発明のブロック書き込みは命令非同期動作となるの
で、命令終結後に検出される例外(例えばSSMの非実装
領域へアクセスしたとか、システムバス上でハードエラ
ーが発生した)の処理が問題となる。ここで、命令非同
期動作とは、書き込み命令実行完了と実際の書き込み完
了とが非同期に行われることである。命令同期動作の場
合に例外が検出されると、該命令に同期して例外割り込
みを発生させれば、ソフトウェアはどの命令が失敗した
かが、スタックに格納される情報から従来のように簡単
に認識できる。しかし本発明では、例えばブロック書き
込みのように命令非同期動作を採用しているのでどの命
令が失敗したかは一般には認識できない。そこで、例外
すなわちハードウェアによる実際の書き込みが失敗した
場合に、命令非同期動作すなわち書き込み突き離しにお
けるリカバリ処理が必要となる。
そこで、本発明においてはソフトウェアのリカバリ処
理を簡易に実現する為に、書き込み完了を保証する書き
込みシリアライズ命令を用意し、書き込み命令の後続に
付加する。書き込みシリアライズ命令が発行されると、
ハードウェアはその時点でバッファに格納されている書
き込み要求を実行した後に、該シリアライズ命令の実行
を完了する。シリアライズ命令は書き込み完了をもって
終結し、書き込み中に例外が発生すると、該命令に同期
して例外割り込みを発生させる。従って特定の書き込み
単位(極端には書き込み命令単位)に対して必ず後続に
シリアライズ命令を付加すれば、ハードウェアの書き込
みと、命令実行の同期を確立することができる。すなわ
ち、シリアライズ命令が実行されるということは、ハー
ドウェアによる実際の書き込みが完了したことになる。
書き込みには、アクセスアドレスが連続していない、
つまり1ワード書き込みの場合とアクセスアドレスが連
続しているブロック書き込みとがある。
第19図の物理アドレスn+4に継続してn−6のアク
セスが実行され、アクセスアドレスが連続でないという
書き込み要求(e−w)の条件が検出された場合か、あ
るいは上記シリアライズ命令が発行されると、共有メモ
リモジュール12に対し、書き込み要求を(E−W)発行
してその時点でバッファに格納されているデータの書き
込みを行う。
共有メモリに対するブロック転送を行った場合、読出
し動作については読出しデータがCPUに到達する時点に
同期して、命令の実行が完了するので特に問題は無い
が、書き込み動作についてはCPUの命令実行完了後、メ
モリへの書き込みが行われる為、メモリ書き込み時の例
外(バス上で検出されるパリティエラー等やプログラム
例外)発生時の処理が問題となる。
従来は、第20A図及び第20B図のタイミング図に示すよ
うに、SSM書き込み命令に同期してメモリへの書き込み
を行う場合は、SSM書き込み命令のみが、CPU命令として
発行されると、SSBC−Pからコマンド(SC)、アドレス
(A)及び書き込みデータ(D)がSSMに出力され、書
き込みが正常であると、第20A図に示すように、正常で
あることを示す終結コマンド(EC)がSSBC−Pを介して
CPU側に返される。しかし、書き込みが異常である場合
には、第20B図に示すように、異常を示す終結コマンド
(EC)がSSBC−Pを介してCPU側に返される。CPUの具備
する命令同期割り込み機構を使用して、該書き込み命令
に同期して上記同期割り込みを発生させる。そして、CP
Uはスタック等にアクセスアドレスやストアデータを格
納した後に、割り込み処理ルーチンへの分岐を行う。割
り込みハンドラは、リトライ等の適切なリカバリ処理に
必要な情報は全てスタック情報から取得することができ
る。そして、SSM書き込みに対するリトライが実行さ
れ、正常であればそのECをかえす。このような同期書き
込みによる従来法では、SSM書き込みの実行中に、CPUは
他の命令を実行できず、命令の実行を全体として考えた
時に、時間がかかるという問題があった。
一方、本発明の動作(書き込みの突き放し)を行った
場合はCPUの命令自体は先に進んでおり、書き込みの高
速化がはかれる。ところが、例外が検出された時点で
は、書き込みアドレスやストアデータ等はその後の命令
によって更新されていることもあり、従ってCPUが具備
する従来型の同期割り込み機能だけではリカバリ処理が
実施できない。すなわち、本発明のように書き込み突き
離しを行い、そして従来の機能のみを使った場合の問題
点は、例外の検出時点がCPU命令と非同期であり、単
純な命令同期割り込みを使用することはできない。例
外の検出時点では、リカバリ処理に必要な情報が残存し
ておらずリカバリ処理ができない。
上述の問題点を解決する為に、本発明では、以下のよ
うなアーキテクチャを構築した。
(1)書き込み用シリアライズ命令 共有メモリ書き込み用のシリアライズ命令を新設し
た。本命令はPM固有空間への特定アドレスへのアクセス
とて実行される。本命令の実行完了は、その時点で滞留
している共有メモリへの書き込み実行完了に同期する。
(2)CPUへの例外通知 CPUへの例外通知は命令同期割り込み機構を使用する
が、割り込み契機は共有メモリへのアクセスかあるいは
(1)の書き込み用シリアライズ命令の実行に同期させ
る。シリアライズ命令の実行に同期して割り込みが発生
した場合、直前の書き込みに失敗したことを意味する。
一方共有メモリへのアクセスに同期して割り込みが発生
した場合、該割り込みが発生した原因は、直接割り込み
を発生させた共有メモリへのアクセス命令か、すなわち
書き込み或いは読み出し命令の後に続くシリアライズ命
令か或いは1つ前の共有メモリへの書き込み命令かが不
明であるが、SSBC−P内の制御レジスタに、直前の書き
込みを発生させたアクセス命令か、あるいは1つ前の割
り込みを発生させた書き込み命令かを判別する為のフラ
グを用意し、該フラグをSSBC−P内部の制御レジスタと
して読み出すことにより判定可能とする。
(3)リカバリ処理 (1),(2)によりアクセスに失敗した命令を限定
することができるが、依然としてリカバリ処理(リトラ
イ処理)に必要な情報は不完全である。本問題を解決す
る為、SSBC−Pはアクセスに失敗したブロック書き込み
の情報を全て保留しておく。更にCPUより保留している
アクセスの再試行指示があれば、該保留アクセスの再試
行を行う機能を設けた。本機構により割り込みハンドラ
は何ら例外発生の情報を取得・解析することなくリカバ
リ処理を実行することができる。
(4)再試行のキャンセル 例外発生の原因が純粋にソフトウェアの問題であった
場合、上記機構を使用して何回再試行を行っても例外発
生を繰り返すだけである。このような場合の対策として
SSBC−Pが保留している再試行をキャンセルする必要が
ある。保留中の再試行をキャンセルする制御レジスタが
SSBC−P内部に設けられ、割り込みハンドラは再試行不
能と判定した場合、本レジスタをアクセスすることで保
留中の再試行はキャンセルされる。
第21A図はプロセッサ側の接続ユニット22(SSBC−
P)の構成を示す。接続ユニット22は書き込み用バッフ
ァ381と読み出し用バッファ382とSS−BUS制御を行う送
受信回路36とからなり、更に書き込み用シリアライズ命
令に対応して状態の制御を行う状態制御部80を有する。
状態制御部80は共有メモリへのアクセスが失敗して、例
外が検出された場合には、例外検出信号を入力し再試行
を行う(リカバリ処理)、さらにはCPUに対して同期割
込み要求を行う。
上記アーキテクチャをを実現する為に、共有メモリへ
の書き込み制御を行う接続ユニット22(SSBC−P)内に
設けられた状態制御部80内にある第21C図に示す状態遷
移回路の動作状態の遷移を第21B図を参照して説明す
る。下記説明において、〜は状態遷移図(第21B
図)と状態遷移回路(第21C図)における各番号に対応
している。そして、状態としては次のものがある。
A状態(Available):何ら保留状態を持たず、新たな
アクセスの受付けが可能な状態。
B状態(Busy) :共有メモリへのアクセスを開始し
てから、アクセスが終了する迄の状態。
EP状態(Exception Pending) :共有メモリへのアクセスが異常
終了し、例外発生(割り込み発生)の保留状態。
RP状態(Retry Pending) :直前に失敗した共有メモリへの
アクセスの再試行の保留状態。
次に各状態の遷移を、乃至の番号を参照して説明
する。
PMの初期化により遷移する。すなわち、フリップフ
ロップ801と802のRST(リセット信号)を0にしてフリ
ップフロップ801と802の出力Q,をそれぞれ0,1にす
る。このときアンド回路812,813,814,815の出力である
A,B,EP,RPの状態は(A,B,EP,RP)=(1,0,0,0)とな
り、状態Aとなる。
共有メモリへの書き込みの受付け開始により遷移す
る。すなわちA=1でライトアクセプト(WRITE ACCEP
T)信号(WT ACPT)が1となると、アンド回路806の出
力が1となりオア回路810を介してフリップフロップ8
02のセット入力Sを1にし、B=0,RT=0でアンド回路
803,807,808の出力が0であるからオア回路811の出力は
0である。従って、S=1,R=0となってフリップフロ
ップ802は、リセットからセットに移行する。すなわち
出力Q=1,=0なる。このときフリップフロップ801
はまだリセット状態であるから、そのは1であるので
アンド回路813の出力が0から1となり、すなわちB=
1となる。またフリップフロップ802の=0によって
Aは1から0となる。フリップフロップ801の出力Qは
まだQ=0であるから、アンド回路814,815の出力EPとR
Pはまだ0である。従って、(A,B,EP,RP)=(0,1,0,
0)となり、状態Bとなる。
共有メモリへの書き込みが正常終了すると遷移す
る。すなわちA=0,EP=0であるから、アンド回路806
及び807の出力及びオア回路810の出力が1になると、ア
ンド回路808の出力が1となり、オア回路811の出力が1
となってフリップフロップ802の状態はリセット状態に
戻る。従って、フリップフロップ801と802もリセット状
態であるので(A,B,EP,RP)=(1,0,0,0)となり、状態
Aに戻る。
共有メモリへのアクセスに例外が検出された場合に
遷移する。すなわちアクセスエクセプション(ACCESS
EXCEPTION)信号(ACEXC)を受けると、B=1であるか
ら、アンド回路803の出力が1で、この時RP=0である
から、アンド回路804、805そしてオア回路806の出力は
0であるので、フリップフロップ801のセット端子Sと
リセット端子Rはそれぞれ1,0となってセット状態とな
る。フリップフロップ801はセット状態すなわちQ=
であり、フリップフロップ802はリセット状態すなわち
Q=0、Q=であるので、(A,B,EP,RP)=(0,0,1,
0)となってEP状態となる。
EP状態において新たな共有メモリへのアクセスがシ
リアライズ命令が実行されると、CPUに同期割り込みを
発生させると同時にRP状態へ遷移し、再試行保留状態と
なる。すなわち、EP=1のときニューアクセス(NEW A
CCESS)信号(NEW・ACCS)が1であるとアンド回路807
の出力が1となり、オア回路810と811の出力はそれぞれ
1,0となる。ここでオア回路811を0にする条件はB=
0、従ってアンド回路803とアンド回路808の出力は0お
よびRP=0すなわちアンド回路805の出力は0である。
従ってフリップフロップ802もセット状態となる。すな
わちフリップフロップ801も802もセット状態となる。こ
のとき(A,B,EP,RP)=(0,0,0,1)となる。なお、第21
A図において、状態制御部80への例外検出信号の入力は
に相当し、同期割込要求の出力はに相当する。
RP状態において新たな共有メモリへのアクセスかシ
リアライズ命令が実行されると、新たなアクセスは待機
させ、保留している再試行を実行する為にB状態へ遷移
する。すなわちRP=1で、ニューアクセス(NEW ACCES
S)信号が1であると、アンド回路806の出力が1となっ
て、A=0,B=0,RP=1であるからアンド回路803が0な
ので、フリップフロップ801がリセット状態となり、ま
たアンド回路803,805,808は0であるからフリップフロ
ップ802はリセットされず、フリップフロップ802はセッ
ト状態を保持する。すなわちフリップフロップ801はリ
セット、フリップフロップ802はセットであるから(A,
B,EP,RP)=(0,1,0,0)となる。
保留中の再試行の取消し指示を受領すると、再試行
をキャンセルしA状態に復帰する。すなわちRP=1でキ
ャンセルアクセプト(CANCEL ACCEPT)信号(CAN・ACP
T信号)が1であると、アンド回路805の出力が1とな
り、オア回路809,811の出力が0となりフリップフロッ
プ801と802は共にリセット状態となり、(A,B,EP,RP)
=(1,0,0,0)となる。
第22A図,第22B図は本発明の書き込み制御のタイミン
グ図である。第22A図においてCPUからSSM書き込み命令
が発行されると本発明では書き込み突き離しとなるの
で、CPUの命令とは非同期にコマンド(SC)とアドレス
(A)および書き込みデータ(D)はバッファを介し
て、SS−BUSに出力される。この時書き込み状態を制御
する状態遷移回路は、状態Aから状態Bに移っている。
そしてCPUでは書き込み命令に続いてシリアライズ命令
が発行されている。共有メモリへの書き込みが正常終了
すると、正常を示す終結コマンド(EC)をCPUに返し、
状態遷移回路は状態BからAに遷移する。次にSSM書き
込みがあれば、同じ動作を行うこととなる。CPUは書き
込み命令の後に、他の命令を実行することができる。
ところが、第22B図に示すように、書き込みに対して
共有メモリへのアクセスに例外が検出されると、Bの状
態からEP状態となり、異常を示す同期割り込みがCPUに
発せられて状態遷移回路は更にRP状態となる。この状態
でCPUはその割り込み処理ルーチンが実行される。状態
遷移回路は、RP状態において新たな共有メモリへのアク
セスのため、リトライとしてのシリアライズ命令が実行
されると、再度SS−BUSにバッファに既に保持されてい
る前回と同じコマンド(SC)アドレス(A)及びデータ
(D)が伝送され、共有メモリ側にわたされる。この時
新たなアクセスは待機させ、その保留している再試行
(リトライ)を実行するため、状態遷移回路はRPからB
状態遷移する。このリトライが正常に実行されれば、正
常を示す終結コードECがかえされ、状態遷移回路は再び
A状態になる。そして、次の書き込みが同様に実行され
る。
第22C図は割り込みハンドラの処理を示す。命令列
R,Rはレジスタからレジスタへのデータ書き込み、R,S
SMはレジスタからSSMへのデータ転送、R,LSUレジスタ
からLSUへのデータ転送、LSU,LSUはLSUからLSUへのデ
ータ転送を行う転送命令である。R,SSRはシリアライ
ズ命令である。
まず、の命令によりSSMへの書き込み受付けを行
う。
SSMへの書き込みで例外発生すれば、動作状態はEP状
態へ遷移する。でシリアライズ命令(あるいは新たな
SSMアクセス命令)の発行の際に書き込みが失敗し、例
外検出信号が状態制御部80に入力すると、CPUへ同期割
り込みを発生させると同時にEP状態はRP状態へ遷移す
る。そして、割り込みハンドラはリトライの可否を判定
する。リトライ可なら再試行の為に元のプログラムに復
帰する。リトライ不可なら再試行取消し命令を発行して
動作状態をA状態に戻した後復帰する。が再実行さ
れ、RP状態であれば保留中の再試行を行った後、の命
令を実行する。A状態であれば直ちにの命令を実行す
る。
産業上の利用可能性 以上説明したように本発明によれば、アクセスアドレ
スが連続する場合には複数ワードを1ブロックとしたブ
ロックアクセスによるデータ転送が行われ、システムバ
スのアクセス高速化とオーバヘッドの低減による負荷低
減を実現し、システムバスの高効率化によってシステム
性能を向上することができる。また、ブロック転送で書
き込みを突き離して行うことにより動作を高速化した場
合において、各書き込み命令のあとにシリアライズ命令
を付加して、その書き込み動作が正しく行われるか否か
チェックし、書き込み異常のときにCPUに同期割り込み
をかけて、書き込みの再試行を行うことにより、ブロッ
ク転送においても書き込み異常のリカバリ処理を可能と
し、システムの信頼性を高めるという効果を有する。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 城谷 政司 広島県安芸郡海田町南昭和町12―13― 207 (56)参考文献 特開 平1−119849(JP,A) 特開 昭63−126047(JP,A)

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】少なくともメインメモリ、中央処理ユニッ
    ト及びシステムバスへの接続ユニットを備えた1又は複
    数の処理モジュールと、少なくとも共有メモリユニット
    及び前記システムバスへの接続ユニットを備えた1又は
    複数の共有メモリモジュールとを備えた計算機システム
    において、 前記処理モジュールの接続ユニットが前記中央処理ユニ
    ットによる共有メモリモジュールへの書き込み命令また
    は読み出し命令のアクセスアドレスの連続を認識した際
    に、前記システムバスを介して前記共有メモリモジュー
    ルに前記連続したアクセスアドレスへのブロックアクセ
    スを要求する手段と、 前記処理モジュールに設けられた、書き込み命令の後に
    書き込み命令に対するエラーが発生したときのリカバリ
    を実施するためのシリアライズ命令を発行する手段と、 書き込み中に例外が発生し、かつ、シリアライズ命令が
    検出されると、例外割り込みを発生する手段とを具備
    し、エラーが発生した書き込み処理に対応する書き込み
    命令の判別を可能としたことを特徴とする計算機システ
    ム。
  2. 【請求項2】請求項1記載の計算機システムにおいて、 前記接続ユニットは、更に、直前の割り込みを発生させ
    た書き込み命令か1つ前の割り込みを発生させた書き込
    み命令かを示す情報を記憶するレジスタを有し、 前記書き込み制御手段は新たな割り込みが可能なA状態
    と、共有メモリへのアクセスを開始してから、アクセス
    が終了するまでのB状態と、共有メモリへのアクセスが
    異常終了し、例外発生の保留を行っているEP状態と、直
    前に失敗した共有メモリへのアクセスの再試行の保留を
    行っているRP状態とを有し、 共有メモリへのアクセスに例外が検出された時にB状態
    からEP状態に遷移し、EP状態において新たな共有メモリ
    へのアクセスかシリアライズ命令が実行されると、CPU
    に同期割り込みを発生させると共に再試行保留状態とな
    ることを特徴とする計算機システム。
  3. 【請求項3】請求項2記載の計算機システムにおいて、 前記書き込み制御手段は、更に、中央処理ユニットの初
    期化によりA状態に遷移し、また、共有メモリへの書き
    込み受け付けによりB状態に遷移し、共有メモリへの書
    き込みが正常終了するとA状態に遷移し、RP状態におい
    て新たな共有メモリへのアクセスがシリアライズ命令が
    実行されると、新たなアクセスを待機させ、保留してい
    る再試行を実行するためB状態に遷移し、保留中の再試
    行の取り消し指示を受領すると、再試行をキャンセルし
    てA状態に遷移することを特徴とする計算機システム。
  4. 【請求項4】中央処理ユニットと、該中央処理ユニット
    による書き換え可能なメモリと、前記中央処理ユニット
    とメモリ間に設けられ、該メモリの書き込み制御する手
    段からなり、 前記中央処理ユニットから該メモリへの書き込み命令ま
    たは読み出し命令のアクセスアドレスの連続を認識した
    際に、該連続したアクセスアドレスへのブロックアクセ
    スを要求する手段と、 書き込み中に例外が発生し、かつ、シリアライズ命令が
    検出されると、例外割り込みを発生する手段とを具備
    し、エラーが発生した書き込み処理に対応する書き込み
    命令の判別を可能としたことを特徴とする計算機システ
    ム。
  5. 【請求項5】前記中央処理ユニットは複数個設けられ、
    前記メモリは前記中央処理ユニットによりアクセスされ
    る共有メモリであることを特徴とする請求項4記載の計
    算機システム。
  6. 【請求項6】更に、直前の割り込みを発生させた書き込
    み命令か1つ前の割り込みを発生させた書き込み命令か
    を示す情報を記憶するレジスタを有し、 前記書き込み制御手段は新たな受付けが可能なA状態
    と、メモリへのアクセスを開始してから、アクセスが終
    了するまでのB状態と、メモリへのアクセスが異常終了
    し、例外発生の保留を行っているEP状態と、直前に失敗
    したメモリへのアクセスの再試行の保留を行っているRP
    状態とを有し、 メモリへのアクセスに例外が検出された時にB状態から
    EP状態に遷移し、EP状態において新たな共有メモリへの
    アクセスかシリアライズ命令が実行されると、CPUに同
    期割り込みを発生させると同時に再試行保留状態となる
    ことを特徴とする請求項4記載の計算機システム。
  7. 【請求項7】前記書き込み制御手段は、更に中央処理ユ
    ニットの初期化によりA状態に遷移し、またメモリへの
    書き込み受け付けによりB状態に遷移し、メモリへの書
    き込みが正常終了するとA状態に遷移し、RP状態におい
    て新たなメモリへのアクセスかシリアライズ命令が実行
    されると、新たなアクセスは待機させ、保留している再
    試行を実行するためのB状態に遷移し、保留中の再試行
    の取り消し指示を受領すると再試行をキャンセルしてA
    状態に遷移することを特徴とする請求項6記載の計算機
    システム。
  8. 【請求項8】前記メモリは共有メモリであることを特徴
    とする請求項7記載の計算機システム。
JP03515017A 1990-09-18 1991-09-18 計算機システム Expired - Lifetime JP3141948B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2-248205 1990-09-18
JP24820590 1990-09-18
PCT/JP1991/001238 WO1992005489A1 (fr) 1990-09-18 1991-09-18 Procede d'acces non synchrone a une memoire partagee

Publications (2)

Publication Number Publication Date
JPWO1992005489A1 JPWO1992005489A1 (ja) 1993-02-04
JP3141948B2 true JP3141948B2 (ja) 2001-03-07

Family

ID=17174757

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03515017A Expired - Lifetime JP3141948B2 (ja) 1990-09-18 1991-09-18 計算機システム

Country Status (4)

Country Link
EP (1) EP0500967B1 (ja)
JP (1) JP3141948B2 (ja)
DE (1) DE69132670T2 (ja)
WO (1) WO1992005489A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2006030650A1 (ja) * 2004-09-16 2008-05-15 日本電気株式会社 複数の処理ユニットでリソースを共有する情報処理装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201015579A (en) * 2008-09-18 2010-04-16 Panasonic Corp Buffer memory device, memory system, and data readout method
TW201015321A (en) * 2008-09-25 2010-04-16 Panasonic Corp Buffer memory device, memory system and data trnsfer method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53135232A (en) * 1977-04-30 1978-11-25 Hitachi Ltd Main memory control system
JPS56156978A (en) * 1980-04-30 1981-12-03 Toshiba Corp Memory control system
JPS6252663A (ja) * 1985-09-02 1987-03-07 Hitachi Ltd 情報処理方法及び装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5941215B2 (ja) * 1979-10-09 1984-10-05 富士通株式会社 主記憶装置書込み制御方式
JPS5725053A (en) * 1980-07-22 1982-02-09 Nec Corp Memory device
JPS57211628A (en) * 1981-06-22 1982-12-25 Hitachi Ltd Controller for shared input and output loop bus of multicomputer system
US4539637A (en) * 1982-08-26 1985-09-03 At&T Bell Laboratories Method and apparatus for handling interprocessor calls in a multiprocessor system
JPS59116866A (ja) * 1982-12-23 1984-07-05 Toshiba Corp 計算機システムの記憶装置
JPS61165170A (ja) * 1984-12-19 1986-07-25 Fujitsu Ltd バス制御方式
JPH02103656A (ja) * 1988-10-12 1990-04-16 Fujitsu Ltd 主記憶参照の遂次化制御方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53135232A (en) * 1977-04-30 1978-11-25 Hitachi Ltd Main memory control system
JPS56156978A (en) * 1980-04-30 1981-12-03 Toshiba Corp Memory control system
JPS6252663A (ja) * 1985-09-02 1987-03-07 Hitachi Ltd 情報処理方法及び装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2006030650A1 (ja) * 2004-09-16 2008-05-15 日本電気株式会社 複数の処理ユニットでリソースを共有する情報処理装置
JP4737438B2 (ja) * 2004-09-16 2011-08-03 日本電気株式会社 複数の処理ユニットでリソースを共有する情報処理装置

Also Published As

Publication number Publication date
WO1992005489A1 (fr) 1992-04-02
EP0500967A4 (ja) 1995-04-26
DE69132670T2 (de) 2001-11-15
EP0500967A1 (en) 1992-09-02
EP0500967B1 (en) 2001-07-25
DE69132670D1 (de) 2001-08-30

Similar Documents

Publication Publication Date Title
US5963976A (en) System for configuring a duplex shared storage
JP3645281B2 (ja) 共用メモリを有するマルチプロセッサ・システム
KR970001919B1 (ko) 다수의 버스간의 정보 전송 시스템 및 방법
JP3204961B2 (ja) I/oバス対システムバス・インタフェース
JP2602599B2 (ja) 多重プロセッサ・データ処理システム及びその動作方法
US4939643A (en) Fault tolerant digital data processor with improved bus protocol
JP2641819B2 (ja) キャッシュ・コントローラ並びにフォールト・トレラント・コンピュータ及びそのデータ転送方式
JPS63208963A (ja) デジタルデータ処理システム
JPH07282025A (ja) クロック回路
JPH05250293A (ja) 通信装置及び通信装置を使用する方法
US5410650A (en) Message control system for data communication system
US20050050244A1 (en) Method for controlling data transfer unit, data transfer unit, channel control unit, and storage device control unit
US6108755A (en) Asynchronous access system to a shared storage
US5761728A (en) Asynchronous access system controlling processing modules making requests to a shared system memory
JP3141948B2 (ja) 計算機システム
KR0153487B1 (ko) 장치간의 통신 수행 방법 및 통신 수행 시스템
US20020174282A1 (en) Multiprocessor system
JP2936036B2 (ja) メモリアクセス装置
JPS63208151A (ja) デジタルデータ処理システムのプロセッサと特殊命令プロセッサの間のインターフェイス
WO1998009221A1 (en) Method and apparatus for supporting multiple overlapping address spaces on a shared bus
KR960005395B1 (ko) 최소 경합 프로세서 및 시스템 버스 시스템
JPWO1992005489A1 (ja) 計算機システム
JP3112280B2 (ja) 計算機システム
JPS6035698B2 (ja) デ−タ処理システム
JP3246736B2 (ja) 計算機システム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071222

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081222

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091222

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091222

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101222

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 11