JPH0916441A - メモリダンプシステム - Google Patents

メモリダンプシステム

Info

Publication number
JPH0916441A
JPH0916441A JP7165020A JP16502095A JPH0916441A JP H0916441 A JPH0916441 A JP H0916441A JP 7165020 A JP7165020 A JP 7165020A JP 16502095 A JP16502095 A JP 16502095A JP H0916441 A JPH0916441 A JP H0916441A
Authority
JP
Japan
Prior art keywords
memory
bus
register
transaction
dump
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.)
Withdrawn
Application number
JP7165020A
Other languages
English (en)
Inventor
Hirokazu Yoshida
啓和 吉田
Yasuo Nakamura
泰雄 中村
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.)
NEC Engineering Ltd
Original Assignee
NEC Engineering 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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP7165020A priority Critical patent/JPH0916441A/ja
Publication of JPH0916441A publication Critical patent/JPH0916441A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 3CPU系の冗長構成で3重化動作中の1つ
のCPU系が障害等により切離された場合、そのCPU
系のメモリ内容を読出すと共に、読出す手段として共通
のグローバルメモリ等を設けることなく、他系へ切離さ
れたCPU系のメモリ内容を転送するメモリダンプを実
行可能とする。 【構成】 各CPU内の入出力制御部において、ダンプ
元開始アドレスレジスタ133 ,ダンプ先開始アドレスレ
ジスタ134 ,ダンプ終了アドレスレジスタ135 を設け、
レジスタ 133に格納されたアドレスに順次+1カウンタ
137 によりカウントアップしつつ自系メモリからデータ
を読出す。このとき、レジスタ134 に格納されたアドレ
スに順次+1カウンタ 141によりカウントアップしつつ
他系メモリへ読出しデータと共に送出する。この処理を
レジスタ135 に格納されたアドレスに達するまで続ける
ことで、メモリダンプが行われる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はメモリダンプシステムに
関し、特にCPU(中央処理装置)を複数設けて冗長構
成とすることによりシステム全体の信頼性を向上するよ
うにした情報処理システムにおけるメモリダンプ方式に
関するものである。
【0002】
【従来の技術】従来のこの種の冗長構成の情報処理シス
テムはいわゆるフォールトトレラントコンピュータ(F
TC)システムとして知られており、例えば特開平2−
202637号公報、特開平3−015946号公報、
特開平3−050916号公報及び特開昭64−046
844号公報等に開示されており、冗長構成のCPU
(情報処理サブシステムとも称されている)の複数出力
の多数決を採り、多数決に合致した出力を選択的に採用
することによってシステム全体の信頼性を向上させる技
術である。
【0003】例えば、特開平2−20637号公報開示
の技術を参照すれば、図8にそのシステム全体構成が示
されており、3つのCPUサブシステム(CPU−a,
b,c)と、2つのグローバルメモリ(グローバルメモ
リ#1,#2)と、複数のI/Oプロセッサ(I/Oプ
ロセッサ#1,#2,#3)と、複数のI/Oコントロ
ーラとから成り立っている。
【0004】各CPUサブシステムは内部に夫々ローカ
ルメモリを有しており各ローカルメモリは他のCPUサ
ブシステムから直接アクセスすることはできないように
なっており、これら3つのCPUサブシステムはローカ
ルメモリ内にOSの核となるプログラムを有しており、
3つのCPUサブシステムは独立したクロックCKによ
り動作するものである。
【0005】本来独立して動作する3つのCPUサブシ
ステムを互いに同期させて同一動作を行わせ、CPUサ
ブシステムの挙動を多数決(Voting)すること
で、フォールトトレラントを実現するものである。
【0006】この多数決のためにグローバルメモリ#
1,#2を設けており、グローバルメモリは3つのCP
Uサブシステムからアクセス可能であり、ローカルメモ
リとの間でページスワッピングが行われる。具体的に
は、ユーザプログラムやユーザプログラムが使用するデ
ータが格納されるものである。3CPUサブシステムか
らグローバルメモリへのアクセスはグローバルメモリで
多数決される。
【0007】2つのグローバルメモリは夫々に複数のI
/Oプロセッサとの間がバスにて接続されており、グロ
ーバルメモリとI/Oプロセッサとの間のバスは二重化
されている。
【0008】周辺装置(I/Oコントローラ配下のディ
スク装置等)のDMA動作は、I/Oプロセッサ及びI
/Oコントローラを介してグローバルメモリに対しての
み行われ、周辺装置からCPUサブシステム内の各ロー
カルメモリへのDMA動作は行われない。
【0009】グローバルメモリ内のレジスタ、I/Oプ
ロセッサ内のレジスタ、I/Oコントローラ内のレジス
タへの各アクセスが行われるが、これらアクセスはグロ
ーバルメモリ内のポート回路にて多数決されるようにな
っている。
【0010】グローバルメモリは二重化されており、各
CPUサブシステムとは1:2接続構成であり、一方が
「プライマリ」、他方が「バックアップ」として定義さ
れている。CPUサブシステムからグローバルメモリへ
のライトは両方へ行われ、グローバルメモリからのリー
ドはプライマリから行われる。リード時、バックアップ
側は内部でリード動作を行うが、リードデータの出力は
行わず、ステータスのみをCPUサブシステムへ返すよ
うになっている。
【0011】I/Oプロセッサからグローバルメモリへ
のライト動作は二重化されたバスを使用してプライマ
リ、バックアップの両方に対して行われる。リード動作
については、両メモリからのデータを受信してプライマ
リ側のデータが用いられる。
【0012】ここで、2つのグローバルメモリ間のメモ
リコピーは2ステップのプロセスで実行される。例とし
て、グローバルメモリ#1から#2へのメモリコピーを
行う場合、第1のステップとしてグローバルメモリ#1
の全てのロケーションをプロセッサがリードし、グロー
バルメモリ#1,#2の両方に対してライトする。グロ
ーバルメモリ#1,#2は通常動作でもプライマリとバ
ックアップとに夫々定義されており、リードはどちらか
一方のプライマリと定義された方からリードされ、ライ
トはプライマリとバックアップとの両方に対して行われ
る。第1のステップでは、IOバスから生じるライトは
全て無視される。
【0013】第2のステップでは、IOバスからのライ
トも実行されることを除いて第1のステップと同一であ
る。この第2のステップがグローバルメモリのアドレス
の最初から最後まで指定された時に、グローバルメモリ
#1と#2とは同一内容となる。この第1と第2のステ
ップは通常の動作が進行中に実行中のタスクに挿入して
行われるようになっている。
【0014】各プロセッサのローカルメモリは、これ等
ローカルメモリ間でメモリコピー機能を有していない。
正常な2つのプロセッサのローカルメモリの内容をグロ
ーバルメモリ#1と#2とにコピーして、その後各プロ
セッサをリセットすることにより、ローカルメモリの内
容はクリアされる。リセット後に、全プロセッサが同期
すると、グローバルメモリ#1,#2にコピーしていた
内容をローカルメモリへコピーして戻すことで、各プロ
セッサのローカルメモリの内容は同一になる。
【0015】
【発明が解決しようとする課題】従来のこの様な構成で
は、多数決論理回路より前段のローカルメモリの内容を
メモリコピーするためには、多数決論理回路以後の段に
3重化モジュールの全てからアクセス可能なグローバル
メモリを設ける必要がある。
【0016】メモリコピーはグローバルメモリに一旦正
常なローカルメモリの内容をコピーし、全てのローカル
メモリの内容をクリアしてしかる後に、全てのローカル
メモリにグローバルメモリにコピーした内容を戻すとい
う作業が必要であるために、1つのローカルメモリの内
容を他のローカルメモリへ移すということは不可能であ
る。
【0017】ここで、本発明が対象とするメモリダンプ
機能は、あるCPUサブシステム系のメモリ内容の一部
を他のCPUサブシステム系のメモリへ転送する機能で
ある。このメモリダンプ機能が必要になるのは、あるC
PUサブシステム系の障害発生時には、そのCPUサブ
システム系はシステムから分離され、そのCPUサブシ
ステム系の障害解析に必要な情報を採取する場合であ
る。
【0018】しかし、通常動作から切り離されているC
PUサブシステム系のメモリ内容を、直接確認すること
はできない。また、周辺制御装置に接続されたファイル
装置等にアクセスして、そのメモリ内容を格納すること
もできない。そこで、通常動作している他系のメモリへ
切り離されているCPUサブシステム系のメモリ内容を
コピーする機能つまり、メモリダンプ機能によって、必
要な情報を採取し、かつファイル装置等に採取したデー
タを格納することが可能になる。
【0019】このメモリダンプ機能は、通常動作から切
り離されている障害CPUサブシステム系から通常動作
しているCPUサブシステム系へメモリデータの一部を
転送するもので、通常は1対2のメモリデータの転送と
なる。
【0020】この様なメモリダンプ動作を行う場合も、
上記従来技術では、1つのCPUサブシステム系のロー
カルメモリの内容を他系のローカルメモリへ直接移すこ
とができないという問題がある。
【0021】本発明の目的は、グローバルメモリを必要
とすることなく簡単な構成で1つのローカルメモリの内
容を他のローカルメモリへ直接移すことが可能な情報処
理装置におけるメモリダンプシステムを提供することで
ある。
【0022】
【課題を解決するための手段】本発明によれば、冗長構
成とされた少なくとも3系統の情報処理サブシステム
と、入出力バスと、この入出力バスに接続された複数の
周辺制御装置と、これ等複数の周辺制御装置に共通に設
けられ前記情報処理サブシステムと前記入出力バスとの
間の接続をなし前記情報処理サブシステムの各々から前
記周辺制御装置への出力の多数決論理を実行するバスイ
ンタフェース装置とを含み、前記情報処理装置サブシス
テムの各系は、演算処理を実行する演算処理部と、プロ
グラムデータを格納するメモリと、前記演算処理部から
前記周辺制御装置をアクセスするトランザクション及び
前記周辺制御装置から前記メモリをアクセスするトラン
ザクションを制御する入出力制御部とを有する情報処理
装置におけるメモリダンプシステムであって、前記入出
力制御部の各々は、自系の前記メモリの内容を他系のメ
モリへ転送するメモリダンプの開始及び終了を指示する
指示手段と、前記メモリダンプの開始指示から終了指示
までの間、自系メモリの内容を順次読出しつつ前記バス
インタフェース装置へ送出するメモリダンプ制御手段と
を有し、前記バスインタフェース装置は、前記入出力制
御部から送出されてきたメモリの内容を前記他系のメモ
リへ順次送出制御する送出制御手段を有することを特徴
とするメモリダンプシステムが得られる。
【0023】そして、前記指示手段は、予め指示された
メモリダンプ元開始アドレスと、メモリダンプ先開始ア
ドレスと、メモリダンプ終了アドレスとを夫々保持する
手段を有し、前記メモリダンプ制御手段は、前記メモリ
タンプ元開始アドレスを前記メモリダンプ終了アドレス
まで順次更新しつつ前記自系メモリからデータを読出す
手段と、前記メモリダンプ先開始アドレスを順次更新す
る手段と、この更新メモリダンプ先アドレスと読出しデ
ータとを前記バスインタフェース装置へ送出する手段と
を有することを特徴としている。
【0024】
【作用】ある1系の情報処理サブシステム内のメモリの
内容を他系のメモリへダンプするとき、当該1系の情報
処理サブシステム内の入出力制御部において、自系のメ
モリ内容を他系メモリへ転送するメモリダンプ開始及び
終了を指示し、このメモリダンプの開始から終了までの
間自系メモリの内容を順次読出しつつバスインタフェー
ス装置へ送出し、当該バスインタフェース装置では、こ
の送出されてきたメモリ内容を他系のメモリへ順次送出
制御することで、メモリ間のデータ転送が直接可能とな
る。
【0025】
【実施例】以下に図面を参照して本発明の実施例を詳細
に説明する。
【0026】図1は本発明の実施例のシステムブロック
図である。図1において、演算処理を実行する演算処理
装置(EPU)100a,100b,100cと、プロ
グラムデータを格納するメモリ101a,101b,1
01cと、EPUから周辺制御装置(PCU)へアクセ
スするたのIOトランザクションとPCUからメモリを
アクセスするためのDMA(ダイレクトメモリアクセ
ス)トランザクションとを制御する入出力制御装置(B
IU)103a,103b,103cとを夫々含んで3
系統の情報処理サブシステム(以下、単にCPUと称す
る)が構成されている。
【0027】これ等各EPU,メモリ,BIUはキャッ
シュコヒーレンシ機能を有するMPバス102a,10
2b,102cにて夫々相互に接続されている。これ等
3系統の冗長構成のCPUは同期クロックにより同期動
作しかつ同一プログラムを実行することにより3重化動
作を行うものである。
【0028】複数のPCUはIOバス108〜111を
夫々介してバスインタフェースアダプタ(BIA)10
4〜107に接続されており、これ等BIA104〜1
07では、3重化された各CPU系からPCUへのアク
セスの多数決論理をとる機能を有している。障害が生じ
ていない限り、各CPU系からのアクセスは一致してい
るが、いずれかのCPU系に障害が生じると、多数決論
理で障害が発見されて他の正常な2つのCPU系と異な
るアクセスのCPU系は故障とみなされる。
【0029】各CPU系からPCUへのアクセスはBI
Aでの多数決論理により1つとなり、PCUをアクセス
する。PCUからのメモリへのアクセスはBIAから全
てのCPU系に対するトランザクションとして実行され
る。各BIAはそのために3つのCPU系への入出力ポ
ートを夫々有してる。
【0030】上記構成において、メモリダンプに関係す
る重要な機能を有するBIU103a,103b,10
3cについて、更に詳述する。BIUは内部に中間バス
であるNAバスを有しており、MPバスとNAバスとの
インタフェース制御はIAC(インタフェースアドレス
コントローラ)及びIDB(インタフェースデータバッ
ファ:IOキャッシュ)により行われる。NAバス配下
には、BIAとのインタフェースとNAバスとのインタ
フェースの制御を行うTIU(トリプルリダンダンシイ
ンタフェースユニット)が複数接続されている。各TI
Uは夫々異なるBIAに接続され、各CPU系のシステ
ム構成として等しいTIUが同じBIAに接続されてい
る。
【0031】本システムでは、CPU系で障害が発生す
るとBIAで検出され、障害の発生したCPU系は切り
離され、残りの2つのCPU系で動作し続ける。障害が
発生したCPU系では、障害の要因が取り除かれた後、
再度システムに組み込まれて3重化運転に戻るようにな
っている。
【0032】本発明のメモリダンプ機能はBIU内のI
ACにあり、このIACについて図2のブロック図を参
照して説明する。NAバススレーブ制御部120はNA
バス121からIACが受信する(つまりTIUからI
ACに発行される)トランザクションの制御を行う。N
Aバスから受信するトランザクションには、DMAリー
ド/ライトトランザクション、IOリードレスポンスト
ランザクション、割込みトランザクションがある。IO
リードレスポンストランザクションまたは割込みトラン
ザクションの場合は、MPバス122にそのトランザク
ションを発行するためのIACの内部要求を行うように
内部要求制御部123に指示を出す。
【0033】DMAリード/ライトトランザクションの
場合は、DMA制御部124に制御が移される。これは
IACでは、メモリアクセスの効率化のためにIOキャ
ッシュを備えているため、DMAトランザクションに対
するキャッシュのヒットチェックを行うためである。D
MA制御部124はIOキャッシュ制御部125にDM
Aトランザクションのヒットチェックを行うよう指示を
出す。
【0034】IOキャッシュ制御部125でDMAトラ
ンザクションがミスヒットした場合は、キャシュに必要
なデータを読込むために、メモリに対してリード要求を
行うためのMPバスのトランザクションを実行する必要
がある。そのために、そのMPバストランザクションを
実行する内部要求を行うように内部要求制御部123に
指示を出す。
【0035】この様に、ミスヒットの場合はキャッシュ
に新しいデータを読込むため、キャッシュのエントリが
全て使用されている(全エントリが有効)場合は、どれ
かのエントリを無効にしなければならない。無効にする
ように選択されたエントリのキャッシュデータが既に変
更されている場合は、そのデータをメモリに書き戻す必
要がある。そのために、上記の場合には選択されたキャ
ッシュのデータを書き戻すためのMPバストランザクシ
ョンを発行する内部要求を行うように内部要求制御部1
23に指示を出す。
【0036】内部要求制御部123では、各内部要求の
調停を行い、その結果選択された内部要求に対するMP
バストランザクションの要求をMPバスマスタ制御部1
26に行う。MPバスマスタ制御部126は内部要求制
御部123から要求されたMPバストランザクションを
MPバス上に発行する。
【0037】IOキャッシュ制御部125でDMAライ
トトランザクションがキュッシュヒットした場合は、ヒ
ットしたキャッシュのエントリにDMAライトデータが
書込まれる。DMAリードトランザクションがキャッシ
ュにヒットした場合はNAバス121にデータレスポン
スを実行する。
【0038】DMAリード/ライトトランザクションで
キャッシュにミスヒットしたトランザクションは、メモ
リからデータがリプライされるのを待つ。MPバススレ
ーブ制御部127でメモリからのデータリプライを受信
すると、IOキャッシュ制御部125に制御を移し、I
Oキャッシュ制御部125はメモリからリプライデータ
をキャッシュに格納する。
【0039】DMAライトトランザクションの場合は、
その後DMAライトデータがリプライデータを格納した
キャッシュのエントリに書込まれ、DMAライトトラン
ザクションは完了する。DMAリードトランザクション
の場合は、DMAレスポンス制御部128にDMAリー
ドトランザクションに対するレスポンスを行うように指
示し、DMAレスポンス制御部128はNAバスマスタ
制御部129にNAバスに対してDMAリードレスポン
ストランザクションを発行するよう指示する。NAバス
マスタ制御部129はDMAリードレスポンストランザ
クションをNAバスに発行して、DMAリードトランザ
クションが終了する。
【0040】MPバススレーブ制御部127がIOリー
ド/ライトトランザクションを受信すると、IO制御部
130に制御を移し、IO制御部130はNAバスマス
タ制御部129にIOトランザクションを実行するよう
指示を出す。IOライトトランザクションの場合は、N
Aバスマスタ制御部129がNAバスにIOライトトラ
ンザクションを発行すると、完了する。
【0041】IOリードトランザクションの場合は、N
AバスにIOリードトランザクションを発行すると、I
Oリードレスポンストランザクションが返ってくるのを
待つ。IOリードレスポンストランザクションをNAバ
ススレーブ制御部120が検出すると、内部要求制御部
123に内部要求を行い、内部要求制御部123はIO
リードレスポンスを行うMPバストランザクションをM
Pバスマスタ制御部126に要求する。MPバスマスタ
制御部126がIOリードに対するレスポンストランザ
クションをMPバス上に発行すると、一連のIOリード
トランザクションは完了する。
【0042】以上がIACの通常の機能の説明である。
以下に、図2のメモリダンプ制御部131の説明を図3
のブロック図を使用して説明する。メモリダンプ制御部
には、ソフトウェアで設定可能なメモリダンプ制御レジ
スタ132,ダンプ元開始アドレスレジスタ133,ダ
ンプ先開始アドレスレジスタ134及びダンプ終了アド
レスレジスタ135がある。
【0043】メモリダンプ制御レジスタ132はメモリ
ダンプの開始及び中止を指示するレジスタである。この
レジスタは上記のソフトウェアで設定可能なレジスタの
中で最後に設定されるものである。
【0044】ダンプ元開始アドレスレジスタ133はダ
ンプ元のメモリダンプを開始するアドレスを示すレジス
タである。IACはIOキャッシュを備えているため、
キャッシュのブロックサイズを考慮してブロックアドレ
スでダンプ元開始アドレスは与えられている。このダン
プ元開始アドレスレジスタ133の出力はダンプ元アド
レスレジスタ136に格納され、メモリダンプ動作を一
度実行する毎に、IOキャッシュブロックサイズ分進め
るように、+1カウンタ137とセレクタ138とによ
り+1カウントアップされる。このカウントアップの制
御はカウンタ制御部139により制御される。これによ
り、ダンプ元のメモリダンプ開始アドレスから連続した
アドレスでメモリダンプが実行されていくことになるの
である。
【0045】ダンプ先開始アドレスレジスタ134はダ
ンプ先のメモリダンプを開始するアドレスを示すレジス
タである。ダンプ元開始アドレスレジスタ133と同様
の理由でダンプ先開始アドレスもブロックアドレスで与
えられている。このダンプ先開始アドレスレジスタの出
力はダンプ先アドレスレジスタ140に格納され、ダン
プ元アドレスレジスタと同様にメモリダンプを一度実行
する毎に、+1カウンタ141とセレクタ142とによ
り+1カウントアップされる。このカウントアップの制
御はカウンタ制御部143により制御される。これによ
りダンプ先のメモリダンプ開始アドレスから連続したア
ドレスでメモリダンプが実行されていくことになるので
ある。
【0046】ダンプ終了アドレスレジスタ135はダン
プ元のメモリダンプを終了するアドレスを示すレジスタ
である。ダンプ開始元アドレスレジスタと同様の理由で
ダンプ終了アドレスもブロックアドレスで与えられてい
る。ここで、メモリダンプ終了動作について説明する。
【0047】ソフトウェアで設定可能なダンプ終了アド
レスレジスタの値と、メモリダンプ動作を一度実行する
毎に+1カウントアップされるダンプ元アドレスレジス
タの値とは、ダンプ終了検出回路144で比較され、一
致することによりメモリダンプの終了が検出されると、
メモリダンプは終了となる。
【0048】以下に、メモリダンプ制御部131より要
求されたメモリダンプのIACにおける概略動作を図2
により説明する。メモリダンプはDMAリードトランザ
クションの制御回路を使用して実行する。メモリダンプ
を実行しているCPU系は障害が発生して停止した系で
あるために、自IAC以外は動作していない。従って、
IACはNAバスにおけるエージェント側からのリクエ
ストは全て禁止し、エージェントにNAバスを解放する
ことはない。
【0049】従って、メモリダンプ制御部131からN
Aバスマスタ制御部129にメモリダンプの要求が指示
されると、NAバスマスタ制御部129はNAバス12
1を獲得する。NAバス121を獲得すると、DMAリ
ードトランザクション受信時と同様にDMA制御部12
4に制御を移す。
【0050】キャッシュミスヒット時のDMAリードと
同様に、IOキャッシュ制御部125より内部要求制御
部123に指示を出し、メモリダンプ元アドレスのデー
タをメモリからリードするために、MPバスマスタ制御
部126よりコヒーレントブロックリード(CR)トラ
ンザクション(各キャッシュの一致を保ちながらリード
する)がMPバス122上に発行される。メモリからデ
ータリプライがあると、この時も、DMAリードトラン
ザクションと同様に実行される。
【0051】但し、実際にNA121バスに発行される
アドレスはダンプ先アドレスレジスタ140の値となる
ので、DMA制御部124でアドレスの付け替えが行わ
れる。このために、DMA制御部124では、MPバス
122に発行したダンプ元アドレスとNAバス121に
発行するダンプ先アドレスとをペアとして保持してい
る。
【0052】また、DMAレスポンス制御部128を通
してNAバスマスタ制御部129よりNAバス121に
実行されるトランザクションは、DMAリードレスポン
ストランザクションではなく、データ長が64バイトの
IOトランザクションとして実行される。これはデータ
長64バイトのIOトランザクションをメモリダンプト
ランザクションとして定義し、NAバス配下のTIU及
びその先のBIAでその他のトランザクションと区別す
るためである。
【0053】IOトランザクションの最大データ長はO
SまたはEPUにより左右されるが、一般に現在は64
ビットアーキテクチャの8バイトが最大である。データ
長64バイトのIOライトトランザクションは実際には
存在しないトランザクションであるために、このトラン
ザクションをメモリダンプトランザクションと定義し
た。
【0054】BIAの動作を図4のブロック図を用いて
説明する。尚、図1のシステム構成図より明らかなよう
に、IACとBIAとの間にはTIUが存在するが、こ
のTIUは単なる中継機能を有するにすぎないので、T
IUは本発明に関連する特別な機能はなく、よってその
動作説明は省略する。
【0055】BIAでは、CPU0系、CPU1系、C
PU2系夫々からのリクエストを受けて、リクエストは
夫々リクエスト0レジスタ145,リクエスト1レジス
タ146,リクエスト2レジスタ147に保持される。
各リクエストレジスタの出力を調停回路148で受け、
調停回路148は各リクエストの調停を行う。
【0056】調停結果レジスタ149では、調停回路1
48の出力に基づきどのCPU系からリクエストがあっ
たかを保持する。最終的にメモリダンプ先はリクエスト
の来なかったCPU系2つとなる。また、通常機能にお
いて、調停結果レジスタの情報はVoting(多数
決)判定にも使用される。
【0057】CPU0系、CPU1系、CPU2系から
のトランザクションデータは夫々ダウンデータ0レジス
タ150、ダウンデータ1レジスタ151、ダウンデー
タ2レジスタ152に保持される。トランザクションデ
ータは各フェーズで意味が異なり、アクセスコード、ア
ドレス、データの順に転送される。
【0058】ダウンデータ0,1,2レジスタの出力は
比較回路153〜155にて夫々の間で比較チェックさ
れ、その結果と調停結果レジスタ149の出力によりV
oting判定回路156により多数決論理が取られ
る。通常、3重化動作時には、調停結果レジスタ149
は全ての3つのCPU系からリクエストがあったことを
示し、ダウンデータ0,1,2レジスタの全ての出力は
有効となる。
【0059】しかし、メモリダンプ時には、調停結果レ
ジスタ149は1つのCPU系からしかリクエストがな
いことを示し、その結果Voting判定回路156で
は、リクエストのあったCPU系のみがVoting対
象となる。Voting判定回路156はVoting
の結果選択されたCPU系のデータを選択するようデー
タ選択回路157に指示する。データ選択回路157は
Voting判定回路156から指示のあったCPU系
のダウンデータレジスタの出力を選択して出力する。
【0060】ダウン制御部158はまずデータ選択回路
157から最初のフェーズで受けるアクセスコードによ
りメモリダンプトランザクションか通常のトランザクシ
ョンかを判断する。メモリダンプトランザクション、つ
まりデータ長64バイトのIOライトトランザクション
である場合は、次のフェーズ以降に続くアドレスとデー
タとを格納するようにデータバッファに対して指示を出
す。また通常のトランザクションである場合は、出力バ
ッファ166に対して次のフェーズ以降に続くアドレス
とデータとを格納するように指示を出す。
【0061】メモリダンプトランザクションの場合は、
メモリダンプ先を判定するようにメモリダンプ先判定回
路159にダウン制御部158から指示を出し、メモリ
ダンプ先判定回路159は調停結果レジスタ149の内
容に基づいてメモリダンプ先を決定する。メモリダンプ
先は調停結果レジスタでリクエストを受けていなかった
CPU系になる。つまり、メモリダンプはデータを出力
したCPU系からデータを出力しなかったCPU系へと
自動的に実行されることになる。メモリダンプ先判定回
路159により決定されたメモリダンプ先は、メモリダ
ンプ先レジスタ160によって保持される。
【0062】データバッファ161はダウン制御部15
8からの指示によりアドレス及びデータを格納し、それ
をアクセスコード変換回路162へ出力する。アクセス
コード変換回路162はメモリダンプトランザクション
が64バイト長のIOライトであったアクセスコード
を、データ長64バイトのDMAライトに変換する。の
DMAライトの実行先CPU系はメモリダンプ先レジス
タ160から指定されるCPU系に対してのみ実行され
る。
【0063】アップデータ0レジスタ163、アップデ
ータ1レジスタ164、アップデータ2レジスタ165
の中で指定されたCPU系のアップデータレジスタに対
して、アクセスコード変換回路162からデータ長64
バイトのDMAライトが実行され、そのCPU系に対す
るメモリへのライトが実行される。その後、DMAライ
トは通常と同じに処理される。
【0064】図5,6のIACのブロック図を参照して
IACの詳細説明を行う。この説明に先立ち図2との対
応関係を以下に示す。但し、図5,6の1つの機能が図
2の1つの機能と一対一で対応しているとは限らず、例
えば、図5のSW(ソフトウェア)ビジブルレジスタ群
20は図2の全ての制御部に対応している。
【0065】 NAバススレーブ制御部 :1〜4,5,6,8,9,20 DMA制御部 :7,9,20,50 IOキャッシュ制御部 :10,11,20,31,32,76 内部要求制御部 :12,13,17,20 MPバスマスタ制御部 :14〜16,20〜26,45 MPバススレーブ制御部 :18〜20,27〜30,33〜44,46 IO制御部 :20,47〜49,54,55 DMAレスポンス制御部 :20,51〜53,65,75 NAバスマスタ制御部 :20,56,58〜64,66〜74 メモリダンプ制御部 :20,57
【0066】レジスタ1はNAバスからのトランザクシ
ョンタイプを格納し、レジスタ2,3はNAバスからア
ドレスを格納するものである。NAバスは36ビットで
あり、レジタ2には上位4ビットが格納され、レジスタ
3には下位32ビットが格納される。レジスタ4にはN
AバスからのリードトランザクションのスプリットID
が格納される。IACの場合は、NAバスからDMAリ
ードに対するレスポンスを受けることはないため、IO
リードに対するレスポンストランザクション時のみにそ
のスプリットIDを格納する。
【0067】各レジスタ1〜4でNAバスから受信した
信号はパリティ等の不正チェックを行って、エラーがな
ければレジスタ5〜8に夫々格納される。ここで、レジ
スタ7にはレジスタ2,3のアドレスが両方結合させて
格納される。またレジスタ7はメモリダンプ実行時には
メモリダンプ元アドレスを格納する。
【0068】レジスタ6はNAバスのアドレスにより転
送される割込みデータを格納する。割込みトランザクシ
ョンではレジスタ3にアドレスが格納された次のサイク
ルには、割込みデータが格納される。この割込みデータ
をレジスタ6は格納する。
【0069】NAバススレーブ制御部9はレジスタ1に
格納されたトランザクションタイプによりNAバスのト
ランザクションが何のトランザクションであるかを判断
し、そのトランザクションに対応するMPバストランザ
クションを開始する要因をセットするように、MPバス
リクエスト要因制御部12に指示を出す。
【0070】例えば、NAバストランザクションが割込
みトランザクションであれば、割込みトランザクション
の要因のセット指示を出し、DMAリードトランザクシ
ョンであれば、コヒーレントブロックリードの要因のセ
ット指示を出す。メモリダンプの場合は、DMAリード
トランザクションと同様にコヒーレントブロックリード
の要因のセット指示を出す。
【0071】レジスタ7に保持されているNAバスから
のアドレスは比較回路76及び10で、バッファ11と
31とに格納されているアドレスとヒットチェックさ
れ、その結果はMPバスリクエスト要因制御部12に通
知される。
【0072】IACには同時に2つのDMAトランザク
ションが存在する場合があり、その管理のためにバッフ
ァ11が存在する。NAバスはスプリット可能なバスで
あり、よって2つのDMAリードトランザクションが登
録されている場合と、DMAリードとDMAライトとの
2つのトランザクションが登録されいる場合がある。
【0073】但し、バッファ11に登録されるDMAト
ランザクションはキャッシュにミスヒットして、メモリ
へデータを要求するMPバストランザクションを実行し
ている場合に登録される。DMAライトトランザクショ
ンがキャッシュにヒットした場合は、ライトを実行して
DMAライトトランザクションを終了し、DMAリード
トランザクションがキャッシュにヒットした場合は、即
座にNAバスへデータレスポンスを行ってDMAリード
トランザクションは終了する。そのために、キャッシュ
にヒットしたDMAトランザクションはバッファ11に
登録されることはない。
【0074】比較回路76でヒットした時は、同じキャ
ッシュブロックアドレスのトランザクションがMPバス
上に既に前DMAトランザクションにより発行されてい
ることを示し、前DMAトランザクションのメモリから
のレスポンスデータに現トランザクションに必要なデー
タ含んでいるため、現トランザクションはキャッシュに
ミスヒットしても、メモリに対してデータを要求するM
Pバストランザクションを発行する必要はない。従っ
て、比較回路76でヒットしたトランザクションはバッ
ファ11に登録されるのみで、MPバスリクエスト要因
制御部12でMPバストランザクションを開始する要因
をセットしない。
【0075】バッファ31はキャッシュのアドレスタグ
であり、バッファ31のアドレスにヒットするというこ
とは、キャッシュにデータが存在することを示す。キャ
ッシュのデータはIDBチップで保持されいる。キャッ
シュは4エントリであるので、バッファ31も4エント
リのアドレスタグである。
【0076】DMAリードトランザクション時に比較回
路10でレジスタ7のアドレスとバッファ31のアドレ
スとが一致すると、DMAリードキャッシュヒット制御
部65にNAバスへのデータレスポンスを開始するよう
に指示を出す。DMAリードキャッシュヒット制御部6
5はDMAリードをスプリットしないでデータレスポン
スをすることを示すNAバスのスプリットIDを出力
し、それが選択回路68で選択されてレジスタ69に格
納される。レジスタ69は格納されたスプリットIDを
NAバス上に出力する。
【0077】MPバスリクエスト要因制御部12はNA
バススレーブ制御部9からの指示に従ってMPバストラ
ンザクションを開始する要因をセットする。但し、DM
Aトランザクションの場合は、比較回路76及び比較回
路10でヒットしなかった場合にのみMPバストランザ
クションを開始する要因がセットされる。
【0078】また、MPバスの調停結果を格納している
レジスタ36により、自IACがMPバスにキャッシュ
にデータをリードするコヒーレントブロックリードまた
はコヒーレントブロックリードエクスクルーシブが発行
成功していると、キャッシュの空きエントリを用意する
ために、キャッシュデータのメモリへの書き戻しが発生
する可能性がある。メモリへの書き戻しがあった場合、
MPバスにブロックライト(BW)トランザクションを
発行する必要がある。
【0079】ブロックライトが必要がどうかはブロック
ライト(BW)チェック回路17でチェックされる。ブ
ロックライトが必要だと判断されると、MPバスリクエ
スト要因制御部12にブロックライトトランザクション
を開始する要因がセットされる。
【0080】更に、MPバスのスレーブトランザクショ
ン(自IAC以外が発行したトランザクション)のアド
レスを格納するレジスタ37のアドレスとキャッシュの
アドレスタグ部のバッファ31のアドレスとを比較回路
30でヒットチェックする。スレーブトランザクション
がコヒーレントリードトランザクション(CR/CE)
の時にヒットした場合は、MPバスに対してブロックデ
ータレスポンスを行う必要がある。そのために、比較回
路30はMPバスリクエスト要因制御部12にブロック
データレスポンスを開始する要因のセットを指示する。
MPバスリクエスト要因制御部12はMPバスリクエス
ト内部要求制御部13にMPバスリクエストのセットを
指示する。
【0081】MPバスリクエスト内部要求制御部13は
MPバスリクエスト要因制御部12に従ってMPバスト
ランザクションの実行を要求するMPバス内部リクエス
トをセットし、MPバス内部調停回路14にMPバス内
部リクエストを出力する。但し、リードトランザクショ
ンの場合、既に発行されていてまだレスポンスのないM
Pバスリードトランザクションと同じアドレスのリード
トランザクションがあった場合は、キャッシュのコヒー
レンシを保つために、既に発行されている同じアドレス
のリードトランザクションのデータレスポンスが完了す
るまで、MPバス上に発行することはできない。
【0082】そのため、MPバスのリードトランザクシ
ョンを管理するバッファ19に登録されているアドレス
とレジスタ7に格納されているアドレスとが比較回路1
8で一致した場合は、MPバスリクエスト内部要求制御
部13はそのリードトランザクションのMPバスリクエ
ストをセットしない。アドレスが一致したMPバスリー
ドトランザクションのデータレスポンスが終了し、バッ
ファ19より削除されるまで待たされる。尚、リードト
ランザクションのMPバス上でのスプリットIDはバッ
ファ19に登録されるエントリ番号に等しい。
【0083】MPバス内部調停部14では、MPバスリ
クエスト内部要求制御部13からのMPバスリクエスト
を調停し、その調停結果はレジスタ15に格納される。
MPバスは図7にあるように、4ステートを1サイクル
とするバスである。最初の4ステートの中で、ステート
Iでリクエストを出力し、ステートIII でアドレスやコ
マンドやスプリットIDを出力する。
【0084】レジスタ15に格納されている調停結果に
基づきリクエスト生成回路23はリクエストを生成し、
選択回路25はリクエスト生成回路23の出力を選択
し、レジスタ26に格納する。そして、レジスタ26は
ステートIでリクエストをMPバスへ出力する。
【0085】IACはMPバスの全ノードのリクエスト
を取り込んでレジスタ33に格納する。レジスタ33に
格納されているリクエストをMPバス調停回路34で調
停し、その調停結果からレジスタ15に格納されている
リクエストのどれかがMPバスを獲得したかを判断し、
その結果をレジスタ35に格納する。
【0086】レジスタ36はレジスタ35に格納されて
いる自IAC発行のトランザクションがMPバス上でリ
トライにならなかった場合に、レジスタ35の出力が格
納される。コマンド生成回路21はレジスタ15の出力
からMPバスコマンドを生成し、レジスタ22はそのM
Pバスコマンドを格納する。
【0087】割込みデータ生成回路16は割込みトラン
ザクション時に、NAバスから受信した割込みデータを
格納するレジスタ6の出力とSWビジブルレジスタ群2
0にあるレジスタからの出力により、MPバスへの割込
みコードを発生して選択回路24に出力する。
【0088】選択回路24は、割込みトランザクション
時は、割込みデータ生成回路16の出力を選択し、キャ
ッシュのリプレースによるブロックライトの場合は、バ
ッファ31からのアドレスを選択し、それ以外の場合は
レジスタ7に格納されているアドレスを選択して選択回
路25へ出力する。選択回路25はリクエスト生成回路
23からのリクエストを選択した後は、選択回路24の
アドレスを選択してレジスタ26に格納する。
【0089】レジスタ22に格納されているコマンドと
レジスタ26に格納されているアドレスとは、レジスタ
35に格納されているMPバスを獲得したトランザクシ
ョンがコヒーレントブロックリードの様なリードトラン
ザクション、またはブロックライトの様なライトトラン
ザクションの場合にのみMPバスへ出力される。
【0090】リードトランザクションに対するレスポン
ストランザクションの場合は、MPバス出力スプリット
ID選択回路45により選択されたスプリットIDがレ
ジスタ42に格納され、ステートIII でスプリットID
が出力される(図7(2)参照)。MPバス出力スプリ
ットID選択回路45はNAバスに対するIOリードト
ランザクションの場合は、レジスタ8に格納されている
NAバスのスプリットIDとバッファ48に格納されて
いるIOリードトランザクションの情報とにより、MP
バスのスプリットIDを選択する。
【0091】MPバスのスレーブリードトランザクショ
ンのキャッシュヒットによるレスポンスの場合は、スレ
ーブリードトランザクションが登録されるバッファ19
のエントリ番号がMPバス上のスプリットIDになるた
めに、登録ID生成回路29でMPバス上のスプリット
IDを生成し、そのスプリットIDがMPバス出力スプ
リットID選択回路45で選択される。
【0092】レジスタ27はどのSWビジブルレジスタ
にライトするかを判別するために、アドレスの下位バイ
トを格納する。レジスタ28はSWビジブルレジスタに
ライトするデータを格納する。SWビジブルレジスタ群
20はSWビジブルなレジスタの集合であり、メモリダ
ンプ機能のSWビジブルレジスタも含まれる。
【0093】レジスタ33はMPバスステートIでリク
エストを取り込み、ステートIII でアドレスを取り込
む。ステートIII で取り込まれたアドレスはアドレス空
間チェック回路38でどのアドレス空間に対するトラン
ザクションかがチェックされる。自IAC配下のIO空
間に対するトランザクションであれば、IOトランザク
ションの開始をIOトランザクション制御部47に対し
て指示する。
【0094】レジスタ39はMPバスステートIII でス
プリットIDを取り込む。レジスタ40はレジスタ39
の出力を取り込む。バッファ11に登録されているメモ
リからデータレスポンス待ちのトランザクションに対す
るレスポンスかどうか、レジスタ40に格納されている
スプリットIDとバッファ11に登録されているスプリ
ットIDとが比較回路41でチェックされる。
【0095】一致した場合は、バッファ11に登録され
ているデータレスポンス待ちのトランザクションのデー
タがリプライされたことを示しており、バッファ11の
データリプライのあったトランザクションの情報はレジ
スタ32に格納される。データがキャッシュに格納され
ると、キャッシュのアドレスタグ部であるバッファ31
にアドレスが登録される。
【0096】DMAリードトランザクションまたはメモ
リダンプの場合に、NAバスに対してトランザクション
を発行する必要がある。選択回路75は通常のDMAリ
ードトランザクションの場合はバッファ32の出力を選
択し、メモリダンプの場合はダンプ元アドレスとダンプ
先アドレスの付け替えを行うために、バッファ11から
の情報を選択する。
【0097】選択回路51は、データがリプライされた
トランザクションがレジスタ32に格納されている場合
は、選択回路75の出力を選択し、バッファ11に登録
されているトランザクションがバッファ11のもう一方
のエントリのトランザクションにヒットしたDMAリー
ドトランザクションでありかつそのヒットしたトランザ
クションのデータレスポンスが確認されている場合は、
バッファ11の出力を選択する。
【0098】選択回路51で選択されたトランザクショ
ンはバッファ52に格納される。バッファ52で、DM
Aリードレスポンストランザクションまたはメモリダン
プの実行を待たされる。バッファ52に実行待ちのトラ
ンザクションがあると、DMAリードレスポンス制御部
53はNAバス内部調停部64にバス獲得要求を出し、
DMAリードレスポンストランザクションまたはメモリ
ダンプによるIOライトトランザクションを開始する。
【0099】レジスタ43はMPバスステートIII でコ
マンドを取り込む。レジスタ44はレジスタ43の出力
を取り込む。レジスタ43に格納されているコマンドは
コマンドデコード回路46でデコードされ、何のトラン
ザクションであるかが判定される。
【0100】シングルリードまたはシングルライトの場
合は、IOトランザクションを発行するためIOトラン
ザクション制御部47に指示を出す。IOトランザクシ
ョン制御部47では、コマンドデコード回路46とアド
レス空間チェック回路38との両方からの指示がある
と、IOトランザクションを開始する。リードトランザ
クションであれば、バッファ48にIOリードトランザ
クションを登録し、ライトトランザクションならば、レ
ジスタ49にライトトランザクションを登録する。
【0101】コマンドデコード回路46が割込みクリア
トランザクションであると判断すると、割込みクリア制
御部56はSWビジブルレジスタ群20の情報に従って
割込みクリアトランザクションを開始する。メモリダン
プ制御部57はSWビジブルレジスタ群20の指示に従
ってメモリダンプを開始する。
【0102】NAバス内部調停回路64は、DMAリー
ドレスポンス制御部53,IOリード/ライト制御部5
5,割込みクリア制御部56,メモリダンプ制御部57
からの夫々のリクエストを調停し、NAバス調停回路6
7にNAバス獲得のためのリクエストを出す。
【0103】NAバス調停回路67はレジスタ74で受
け取っているNAバスの他のノードからのリクエスト
に、NAバス内部調停回路64からの自IACのリクエ
ストを含めて調停し、リクエストを出した何れか1つが
NAバスを獲得する。調停結果はレジスタ73に格納さ
れ、NAバスの各ノードに通知される。
【0104】選択回路58は、DMAリードレスポンス
制御部53とIOリード/ライト制御部55とメモリダ
ンプ制御部57の出力の中から、NAバス内部調停回路
64で選択されたトランザクションのNAバススプリッ
トIDを選択する。
【0105】選択結果はレジスタ61に格納される。選
択回路68はDMAリード時のキャッシュヒットでない
限りレジスタ61の出力を選択し、レジスタ61に格納
されているNAバスのスプリットIDはレジスタ69に
格納される。その後、レジスタ69に格納されているス
プリットIDがNAバスに出力される。
【0106】選択回路59はNAバスのトランザクショ
ンが何のトランザクションであるかを示すトランザクシ
ョンタイプを、DMAリードレスポンス制御部53とI
Oリード/ライト制御部55と割込みクリア制御部56
とメモリダンプ制御部57の出力の中から、NAバス内
部調停回路64で選択されたトランザクションのトラン
ザクションタイプを選択する。
【0107】選択結果はレジスタ62に格納され、次に
レジスタ70に格納された後にNAバスにトランザクシ
ョンタイプが出力される。
【0108】選択回路60は、メモリダンプ時のDMA
リードレスポンス制御部53の出力とIOリード/ライ
ト制御部55の出力と割込みクリア制御部56の出力の
中から、NAバス内部調停回路64で選択されたトラン
ザクションのアドレスを選択する。
【0109】選択結果はレジスタ63に格納される。選
択回路66は割込みトランザクションの時のみレジスタ
63のアドレスを選択した後に割込みクリア制御部から
の割込みをクリアデータを選択してレジスタ71及びレ
ジスタ72に格納する。割込みトランザクション以外の
時はレジスタ63のアドレスを選択する。
【0110】レジスタ71はアドレスの上位4ビットを
格納しNAバスへ出力する。レジスタ72は下位32ビ
ットを格納しNAバスへ出力する。
【0111】実施例でのメモリダンプトランザクション
の動作を説明する。図3のメモリダンプ制御部ブロック
図の各機能が実施例のどの機能に対応するかを示す。
【0112】 メモリダンプ制御機能 :SWビジブルレジスタ機能群20 メモリダンプ制御レジスタ :SWビジブルレジスタ機能群20 ダンプ元開始アドレスレジスタ:SWビジブルレジスタ機能群20 ダンプ先開始アドレスレジスタ:SWビジブルレジスタ機能群20 カウンタ制御 :SWビジブルレジスタ機能群20 ダンプ元アドレスレジスタ :SWビジブルレジスタ機能群20 ダンプ先アドレスレジスタ :SWビジブルレジスタ機能群20 終了アドレスレジスタ :SWビジブルレジスタ機能群20 終了チェック回路 :メモリダンプ制御部57
【0113】SWビジブルレジスタ群20からのメモリ
ダンプ開始指示がメモリダンプ制御部57に出される
と、メモリダンプ制御部57はNAバス内部調停部64
に対してNAバスを獲得するためのリクエストを発行す
る。NAバス内部調停部64でメモリダンプのリクエス
トが選択され、メモリダンプでは自IAC以外は動作し
ていないため、NAバス調停部67でIACがNAバス
を獲得する。SWビジブルレジスタ群20の中のダンプ
元アドレスが選択回路50で選択されてレジスタ7に格
納され、メモリダンプのトランザクションが開始され
る。
【0114】DMAリードトランザクションと同様にM
Pバスリクエスト要因制御部12に指示を出し、最終的
にはMPバスにコヒーレントブロックリードトランザク
ションが発行される。この時にレジスタ7のアドレスは
バッファ11に登録され、データがリプライされるのを
待つ。
【0115】バッファ11にはダンプ元アドレスだけで
なく、そのタンプ元アドレスに対応するダンプ先アドレ
ス、MPバスに発行されたコヒーレントブロックリード
トランザクションのスプリットIDも登録される。スプ
リットIDは、発行したコヒーレントブロックリードが
バッファ19に登録され、登録されたエントリ番号によ
り登録ID生成回路29で生成され、バッファ11に登
録される。
【0116】バッファ11に登録されているスプリット
IDと、データレスポンストランザクションのスプリッ
トIDとの比較回路41でのチェックにおいて、バッフ
ァ11に登録されているトランザクションに対するデー
タレスポンスであると確認すると、バッファ11内のダ
ンプ元アドレスはレジスタ32に格納される。選択回路
75ではバッファ11に登録されているメモリダンプ先
アドレスを選択することにより、メモリダンプ元アドレ
スからメモリダンプ先アドレスへのアドレスの付け換え
が行われる。選択回路75の出力は選択回路51で選択
され、バッファ52に登録されてNAバスにメモリダン
プのデータ長64バイトのIOライトを実行するのを待
つ。
【0117】以上のようにメモリダンプのトランザクシ
ョンは必ずバッファ52に登録されて、NAバスに出力
されるのを待つ。
【0118】バッファ52はDMAリードレスポンス制
御部53にメモリダンプトランザクションであることを
指示し、DMAリードレスポンス制御部53はNAバス
に対するデータ長64バイトのIOライトの実行を開始
する。NAバス内部調停部64にリクエストを出し、N
Aバス内部調停部64の内部調停結果によって選択さ
れ、トランザクションタイプがレジスタ62に格納され
て、アドレスがレジスタ63に格納される。
【0119】メモリダンプでは自IAC以外は動作して
いないため、NAバス調停部67ではIACがNAバス
を獲得する。レジスタ70にトランザクションタイプが
格納され、アドレスがレジスタ71とレジスタ72に格
納されて、NAバスに対するデータ長64バイトのIO
ライト、すなわちメモリダンプが実行される。
【0120】BIAの動作は図4のBIAブロック図を
使用して前述した通りである。メモリダンプ時の動作を
以下に述べる。例としてCPU0系から通常動作してい
るCPU1系とCPU2系へメモリダンプする動作の説
明をする。
【0121】CPU0系からリクエストがきてリクエス
ト0レジスタ145に格納され、調停回路148で調停
される。調停回路148ではCPU0系が選択され、そ
の結果が調停結果レジスタ149に格納される。
【0122】データはダウンデータ0レジスタ150の
みに格納される。Voting判定回路156は単にダ
ウンデータ0レジスタ150の出力を選択するのみであ
る。データ選択回路157はダウンデータ0レジスタ1
50を選択し、ダウン制御部158は最初のフェーズの
アクセスコードでデータ長64バイトのIOライトトラ
ンザクションであればメモリダンプと判断し、次フェー
ズ以降のデータをデータバッファ161に格納するよう
に指示を出す。データバッファ161はダウン制御部1
58の指示に従ってデータを格納する。
【0123】メモリダンプ先判定回路159では調停結
果レジスタより、リクエストのきていないCPU系をメ
モリダンプ先と判断して、結果をメモリダンプ先レジス
タ160に格納する。
【0124】アクセスコード変換回路162ではデータ
長64バイトのIOライトのアクセスコードを、データ
長64バイトのDMAライトのアクセスコードに変換す
る。データ長64バイトのDMAライトは通常のトラン
ザクションであり、メモリダンプのための特別なトラン
ザクションではない。
【0125】アクセスコード変換回路162はメモリダ
ンプ先レジスタ160が示しているCPU1系,CPU
2系に対して、変換したデータ長64バイトのDMAラ
イトを実行する。まず、アップデータ1レジスタ164
とアップデータ2レジスタ165にデータ長64バイト
のDMAライトのアクセスコードを格納し、CPU1
系,CPU2系に送出する。次にデータバッファ161
からメモリダンプデータをアップデータ1レジスタ16
4とアップデータ2レジスタ165に格納し、CPU1
系,CPU2系へデータを送出する。以上によりメモリ
ダンプ動作が完了するのである。
【0126】
【発明の効果】以上述べた如く、本発明によれば、障害
等の要因により切離されたCPU系のメモリ内容を読出
すことが可能となり、また読出すための手段としてグロ
ーバルメモリ等の共通のメモリを特別に設けることな
く、CPU系の各メモリの内容を他系へ直接に転送して
メモリダンプ処理を実行することができるという効果が
ある。
【図面の簡単な説明】
【図1】本発明の実施例が適用されるシステムブロック
図である。
【図2】図1のIACの機能ブロック図である。
【図3】図2のメモリダンプ制御部131の機能ブロッ
ク図である。
【図4】図1のBIAの機能ブロック図である。
【図5】図2のIAC機能ブロックの更に詳細ブロック
の一部を示す図である。
【図6】図2のIAC機能ブロックの更に詳細ブロック
の一部を示す図である。
【図7】MPバストランザクションの処理例を説明する
図である。
【図8】従来の3重化構成の情報処理装置のシステムブ
ロック図である。
【符号の説明】
100a〜100c EPC 101a〜101c メモリ 102a〜102c MPバス 103a〜103c BIU 104〜107 BIA 108〜111 IOバス 120 NAバススレーブ制御部 121 NAバス 122 MPバス 123 内部要求制御部 124 DMA制御部 125 IOキャッシュ制御部 126 MPバスマスタ制御部 127 MPバススレーブ制御部 128 DMAレスポンス制御部 129 NAバスマスタ制御部 130 IO制御部 131 メモリダンプ制御部 132 メモリダンプ制御レジスタ 133 ダンプ元開始アドレスレジスタ 134 ダンプ先開始アドレスレジスタ 135 ダンプ終了アドレスレジスタ 136 ダンプ元アドレスレジスタ 137,141 +1カウンタ 138,142 セレクタ 139,143 カウンタ制御部 140 ダンプ先アドレスレジスタ 144 終了チェック回路

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 冗長構成とされた少なくとも3系統の情
    報処理サブシステムと、入出力バスと、この入出力バス
    に接続された複数の周辺制御装置と、これ等複数の周辺
    制御装置に共通に設けられ前記情報処理サブシステムと
    前記入出力バスとの間の接続をなし前記情報処理サブシ
    ステムの各々から前記周辺制御装置への出力の多数決論
    理を実行するバスインタフェース装置とを含み、 前記情報処理装置サブシステムの各系は、演算処理を実
    行する演算処理部と、プログラムデータを格納するメモ
    リと、前記演算処理部から前記周辺制御装置をアクセス
    するトランザクション及び前記周辺制御装置から前記メ
    モリをアクセスするトランザクションを制御する入出力
    制御部とを有する情報処理装置におけるメモリダンプシ
    ステムであって、 前記入出力制御部の各々は、 自系の前記メモリの内容を他系のメモリへ転送するメモ
    リダンプの開始及び終了を指示する指示手段と、 前記メモリダンプの開始指示から終了指示までの間、自
    系メモリの内容を順次読出しつつ前記バスインタフェー
    ス装置へ送出するメモリダンプ制御手段とを有し、 前記バスインタフェース装置は、 前記入出力制御部から送出されてきたメモリの内容を前
    記他系のメモリへ順次送出制御する送出制御手段を有す
    ることを特徴とするメモリダンプシステム。
  2. 【請求項2】 前記指示手段は、予め指示されたメモリ
    ダンプ元開始アドレスと、メモリダンプ先開始アドレス
    と、メモリダンプ終了アドレスとを夫々保持する手段を
    有し、 前記メモリダンプ制御手段は、前記メモリタンプ元開始
    アドレスを前記メモリダンプ終了アドレスまで順次更新
    しつつ前記自系メモリからデータを読出す手段と、前記
    メモリダンプ先開始アドレスを順次更新する手段と、こ
    の更新メモリダンプ先アドレスと読出しデータとを前記
    バスインタフェース装置へ送出する手段とを有すること
    を特徴とする請求項1記載のメモリダンプシステム。
  3. 【請求項3】 前記送出制御手段は、各CPU系のリク
    エストを調停するリクエスト調停手段と、前記リクエス
    ト調停手段の結果より、リクエストを受けなかったCP
    U系をメモリダンプ先として判断するメモリダンプ先判
    定手段と、前記メモリダンプ先判定手段の指示するCP
    U系のメモリへとライトを実行するダンプデータ送出制
    御手段とを有することを特徴とする請求項1または2記
    載のメモリダンプシステム。
JP7165020A 1995-06-30 1995-06-30 メモリダンプシステム Withdrawn JPH0916441A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7165020A JPH0916441A (ja) 1995-06-30 1995-06-30 メモリダンプシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7165020A JPH0916441A (ja) 1995-06-30 1995-06-30 メモリダンプシステム

Publications (1)

Publication Number Publication Date
JPH0916441A true JPH0916441A (ja) 1997-01-17

Family

ID=15804323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7165020A Withdrawn JPH0916441A (ja) 1995-06-30 1995-06-30 メモリダンプシステム

Country Status (1)

Country Link
JP (1) JPH0916441A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010176345A (ja) * 2009-01-29 2010-08-12 Nec Corp マルチノードシステム、ノード、メモリダンプ処理方法、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010176345A (ja) * 2009-01-29 2010-08-12 Nec Corp マルチノードシステム、ノード、メモリダンプ処理方法、及びプログラム

Similar Documents

Publication Publication Date Title
JP2916420B2 (ja) チェックポイント処理加速装置およびデータ処理方法
JP3123413B2 (ja) コンピュータシステム
US5502728A (en) Large, fault-tolerant, non-volatile, multiported memory
US5682512A (en) Use of deferred bus access for address translation in a shared memory clustered computer system
JP3364572B2 (ja) 多重パスi/o要求機構を有するデータ処理システム及びキュー・ステータス更新方法
US5749091A (en) Cache controller with index stack for coherency fault tolerance
US6148416A (en) Memory update history storing apparatus and method for restoring contents of memory
US20030028746A1 (en) Multiple address translations
JP2002518745A (ja) サイクル終了モニタ付きのバス・コントローラ
JP2002518735A (ja) 異種データ・レジスタを有するプロセッサ・ブリッジ
US6785763B2 (en) Efficient memory modification tracking with hierarchical dirty indicators
JP2002518739A (ja) マルチプロセッサ・システム・ブリッジ
CN111190774A (zh) 一种多核处理器可配置双模冗余结构
US20040111565A1 (en) High speed memory cloner with extended cache coherency protocols and responses
US6961826B2 (en) Processor state reintegration using bridge direct memory access controller
US20020056063A1 (en) Power saving feature during memory self-test
US6950907B2 (en) Enhanced protection for memory modification tracking with redundant dirty indicators
JP2002518737A (ja) 異種データ・アクセスを伴うプロセッサ・ブリッジ
US6785777B2 (en) Control logic for memory modification tracking with hierarchical dirty indicators
JP3424968B2 (ja) 計算機システム及びプロセッサチップ及び障害復旧方法
US20020066049A1 (en) Protection for memory modification tracking
US6915390B2 (en) High speed memory cloning facility via a coherently done mechanism
JP2004185610A (ja) メモリ複製オペレーション時の不正確なキャッシュ・ライン保護機構
JPH0934741A (ja) メモリコピーシステム
JP3531368B2 (ja) コンピュータシステム及びバス間制御回路

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020903