JP2521738B2 - 障害回復デ―タ処理システム - Google Patents

障害回復デ―タ処理システム

Info

Publication number
JP2521738B2
JP2521738B2 JP61503460A JP50346086A JP2521738B2 JP 2521738 B2 JP2521738 B2 JP 2521738B2 JP 61503460 A JP61503460 A JP 61503460A JP 50346086 A JP50346086 A JP 50346086A JP 2521738 B2 JP2521738 B2 JP 2521738B2
Authority
JP
Japan
Prior art keywords
address
bus
data
processor
module
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
JP61503460A
Other languages
English (en)
Other versions
JPS63500129A (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.)
NCR Voyix Corp
Original Assignee
NCR Corp
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 NCR Corp filed Critical NCR Corp
Publication of JPS63500129A publication Critical patent/JPS63500129A/ja
Application granted granted Critical
Publication of JP2521738B2 publication Critical patent/JP2521738B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 operation
    • 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、データを処理するコマンド(命令)を同
時に実行する1対のプロセッサと、メモリーと、プロセ
ッサーがメモリーからデータを読み/書きするためにメ
モリーとプロセッサとの間に接続されているデータ伝送
手段とを含む耐故障型データ処理システムに関する。
さらにこの発明は、耐故障型データ処理システムの動
作を制御する方法に関する。
〔従来技術〕
この種の耐故障型データ処理システムは米国特許第4,
453,215号から知ることができる。このシステムでは、
情報処理部が2重に設けられている。エラー検知部はシ
ステム・バスの動作及び各システム・ユニットの動作を
チェックして、故障情報用バスを使用して情報を耐故障
ユニットに送信している。
〔発明の目的〕
この発明は、上記従来技術と異なり、システム・コマ
ンドの実行中もデータの完全性を維持することのできる
耐故障型データ処理システム及びその制御方法を提供す
ることを目的とする。
〔目的を達成するための手段〕
この発明は、耐故障型データ処理システム内に、同時
に同じ命令(コマンド)を実行する2つのプロセッサ
と、該2つのプロセッサーによって読み出されたり書き
込まれたりするデータを相互に比較する比較手段と、該
比較手段によって不一致状態を検出した場合に、実行中
のコマンドの開始部分にプロセッサの動作を戻して再実
行(リラン)する再実行手段と、再実行のために各命令
の開始時に初期状態を記憶する記憶手段とを設けること
により上記目的を達成した。
さらにこの発明は、1対のプロセッサとメモリーを有
する耐故障型システムにおいて、前記2つのプロセッサ
でコマンドを同時に実行し、前記メモリーからデータを
読み出したり書き込んだりする際に読み出しまたは書き
込まれるデータを継続的に比較し、不一致状態が発生し
た場合には実行中のコマンドの開始部分に前記プロセッ
サの動作を戻してリランするようにした耐故障型データ
処理システムの動作制御方法により上記上記目的を達成
した。
図面の簡単な説明 次に、下記の添付図面を参照してその例によりこの発
明の一実施例を説明する。
第1図は、この発明を含む汎用データ処理システムの
ブロック図である。
第2図は、第1図の基本プロセッサ・サブシステム・
モジュールの1つを示すブロック図である。
第3図は、第2図のNEAT補助チップのブロック図であ
る。
第4図は、書込制御ストア・モジュールの1つのブロ
ック図である。
第5図は、一次データと二次データとを比較する第1
図のデータ完全化モジュールの1部のブロック図であ
る。
第6図は、一次アドレスと二次アドレスとを比較する
第1図のデータ完全化モジュールの他の部分のブロック
図である。
第7図は、インストラクション記憶ユニットのアドレ
スとマイクロインストラクションとを比較する第1図の
更に他の部分のデータ完全化モジュールのブロック図で
ある。
第8A図及び第8B図は、a−a線で接続される第1図の
バーチャル・コマンド・リラン・モジュールのクロック
分配回路の配線図である。
第9図は、バーチャル・コマンド・リラン・モジュー
ル用の入力信号を受信するレジスタの配線図である。
第10図は、バーチャル・コマンド・リラン・モジュー
ルの制御回路の一部の回路図である。
第11図は、バーチャル・コマンド・リラン・モジュー
ルの制御回路の他の部分の回路図である。
第12A図及び第12B図は、b−b線に沿って接続される
バーチャル・コマンド・リラン・モジュールの制御回路
の他の部分の配線図である。
第13図は、共に接続されてバーチャル・コマンド・リ
ラン・モジュールのステータス・レジスタの回路図を示
す第13A図,第13B図,第13C図の関係を表わす図であ
る。
第14A図及び第14B図は、c−c線に沿って接続される
バーチャル・コマンド・リラン・モジュールのデータ入
力レジスタの配線図である。
第15図は、バーチャル・コマンド・リラン・モジュー
ルの制御回路の一部のインバータを示すブロック図であ
る。
第16図は、共に接続されてバーチャル・コマンド・リ
ラン・モジュールのデータ出力レジスタの配線図を形成
する第16A図,第16B図,第16C図及び第16D図の関係を表
わす図である。
第17図は、バーチャル・コマンド・リラン・モジュー
ルの制御回路の一部であるナンド・ゲートのブロック図
である。
第18図は、バーチャル・コマンド・リラン・モジュー
ルのフェッチ・ログのマルチプレクサの回路図である。
第19図は、バーチャル・コマンド・リラン・モジュー
ルのフェッチ・ログの比較器の配線図である。
第20A図及び第20B図は、d−d線に沿って接続される
バーチャル・コマンド・リラン・モジュールのフェッチ
・ログのカウンタの一部の配線図である。
第21A図及び第21B図は、e−e線で接続される第20A
図及び第20B図のカウンタの他の部分の配線図である。
第22図は、バーチャル・コマンド・リラン・モジュー
ルのフェッチ・ログのメモリーの一部の配線図である。
第23図は、第22図のメモリーの他の部分の配線図であ
る。
第24図は、第22図のメモリーの他の部分の配線図であ
る。
第25図は、第22図のメモリーの他の部分の配線図であ
る。
第26図は、第22図のメモリーの他の部分の配線図であ
る。
第27図は、バーチャル・コマンド・リラン・モジュー
ルの制御回路の一部の配線図である。
第28A図及び第28B図は、f−f線に沿って接続される
バーチャル・コマンド・リラン・モジュールのインデッ
クス・レジスタ・ログで使用するためのアドレスをデコ
ードするデコーダ回路の配線図である。
第29A図及び第29B図は、g−g線に沿って接続される
バーチャル・コマンド・リラン・モジュールのインデッ
クス・レジスタ・ログの有効ビット及び変更ビット・フ
リップ・フロップの一部の配線図である。
第30A図及び第30B図は、h−h線に沿って接続される
第29A図及び第29B図のフリップ・フロップの他の部分の
配線図を表わす。
第31図は、バーチャル・コマンド・リラン・モジュー
ルのインデックス・レジスタ・ログのメモリーの一部の
配線図である。
第32図は、第31図のメモリーの他の部分の配線図であ
る。
第33図は、第31図のメモリーの他の部分の配線図であ
る。
第34図は、第31図のメモリーの他の部分の配線図であ
る。
第35図は、第31図のメモリーの他の部分の配線図であ
る。
第36A図及び第36B図は、i−i線で接続されるバーチ
ャル・コマンド・リラン・モジュールの制御回路の他の
部分の配線図である。
第37図は、バーチャル・コマンド・リラン・モジュー
ルの制御回路の抵抗アレイを示す図である。
第38A図及び第38B図は、j−j線で接続されるバーチ
ャル・コマンド・リラン・モジュールのトレース・ログ
のカウンタの配線図である。
第39図は、バーチャル・コマンド・リラン・モジュー
ルのトレース・ログのメモリーの一部の配線図である。
第40図は、第39図のメモリーの他の部分の配線図であ
る。
第41A図及び第41B図は、k−k線で接続されるバーチ
ャル・コマンド・リラン・モジュールのトレース・ログ
のドライバの配線図である。
第42図は、バーチャル・コマンドをセットアップし、
エミュレートするために第2図の中央処理チップに対す
るプログラミングを行う流れ図である。
第43図は、バーチャル・コマンドをセットアップし、
エミュレートするために第2図のNEAT支援チップに対す
るプログラミングを行うための流れ図である。
第44A図及び第44B図は、コネクタA及びBで接続され
るリラン動作を完成するための流れ図である。
〔実施例〕
第1図は、この発明を用いた汎用データ処理システム
のブロック図である。第1図のシステムは、バーチャル
・コマンド・プロセッサ・サブシステム10と、I/Oサブ
システム12と、メモリー・サブシステム14とを有してい
る。サブシステム10、12、14は更にいくつかのモジュー
ルに分割され、そのうちのいくつかのモジュールは、デ
ータ処理システムにおけるデータの完全性を保証すると
ともにコマンド・リトライ能力を付与するために同じ物
を重複して設けてある。その他に、システム・クロック
・モジュール(SCLM)16も設けられている。このシステ
ムの基本タイミングは、図示しない単一水晶発信器によ
り発生されるX0,X1出力を有する2位相クロックにより
維持される。SCLMモジュール16は、図示しないシステム
・バス・クロックも出力する。クロック信号の発生、供
給及び利用法については公知技術であるから、これ以上
説明しない。
バーチャル・コマンド・プロセッサ・サブシステム10
は1対の基本プロセッサ・サブシステム・モジュール
(BPSM)18,20を含み、その1つ18は一次モジュール(B
PSMP)であり、他方の20は二次モジュール(BPSMS)で
ある。モジュール18,20の各各は、部品番号ST−2104−2
3の名でColorado Springs,ColoradoのNCR Microelectro
nics Division,VLSI Processor Productsから購入しう
るNCR/32General Information Publicationに説明され
ているようなNCR32ビット・チップ・セットからの超LSI
(VLSI)チップを含む。
第2図のBPSMモジュール18,20の各々は上記のNCR/32G
eneral Information Publicationに十分説明してあるよ
うに、中央処理チップ(CPC)22とアドレス翻訳チップ
(ATC)24とを含むことができる。CPU22はインストラク
ション記憶ユニット(ISU)バス26とプロセッサ−メモ
リー(PM)バス28とに接続される。CPU22はクロックSCL
M16のX0でISUバス26のインストラクション・アドレスを
ISUメモリー30に入力し、クロックSCLM16のX1でISUメモ
リー30からインストラクションの返送を受ける。メモリ
ー動作のアドレスもPMバス28のアドレス部に出力され、
データが与えられたアドレスの主メモリー32からフェッ
チ又は読出され、そこに書込まれる。第1図のシステム
のメモリー・サブシステム14は第2図の主メモリー32を
含むということがわかる。
BPSMPモジュール18及びBPSMSモジュール20は、又フロ
ーティング・ポイント計算用の特別なハードウエアを供
給する第2図の拡大計算チップ(EAC)34及びNEATコマ
ンドのサブセットを実行する内蔵ファームウエア・オン
チップ・プロセッサを供給するNEAT支援チップ(NAC)3
6のような特殊ハードウエア強化チップを含む。第2図
のNAC36は、第3図のブロック図に示すNCR9000シリーズ
NEAT支援チップである。NAC36なしに、CPC22はATC24及
びEAC34に対し下位の動作をする主要素である。例え
ば、NEATコマンドをエミュレートするときにCPC22はISU
メモリー30のルーチンをアクセスすることによってNEAT
コマンドを翻訳し、実行する。NAC36があるときは、そ
れがマスタとなる。実行するべきNEATバーチャル・コマ
ンドはNAC36によって第2図の主メモリー32からフェッ
チされ、コマンド・セットアップを実行して後、NAC36
が特別なコマンドの実行を支援しない場合にのち、CPC2
2に通過するよう制御される。NAC36があるときに、CPC2
2のみがNAC36の要求によりATC24又はEAC34の使用を実行
する。NAC36はバーチャルNEATコマンドを実行する間、C
PCはNAC36が実行している動作と同時にI/O割込及びタイ
ム・オブ・デイ割込をサービスすることができる。
第3図のNAC36はチップ外制御記憶を使用しない。NAC
36に支援されるバーチャルNEATコマンドを実行するに必
要なすべての記憶は制御用読出専用メモリー(ROM)70
で行われる。NAC36のマイクロインストラクションは翻
訳及び実行段を有する2段パイプライン内で実行され
る。翻訳段では、その開始は第2図の導体37の信号NVCS
U′で表わされ、バーチャルNEATコマンドをエミュレー
トするための開始マイクロインストラクション用のROM
アドレスが決定され、バーチャル・インストラクション
によって影響されるバイトの数はタリイ72に記憶され
る。第2図の主メモリー32の最初の15インデックス・レ
ジスタの複製又はコピーがインデックス・レジスタ・ユ
ニット(IRU)74に保持される。それはインデックス・
レジスタ・マッチ・ロジック76によってPMバス28(第2
図をみよ)をモニタすることによって行われ、それは主
メモリー32の最初の15バーチャル・アドレスに対するPM
バス28の適当なインストラクションでフェッチされ、又
は変更された最初の15インデックス・レジスタのいずれ
かの内容をIRU74に記憶させる。NAC36の翻訳及び実行段
中、主メモリー32から最初の15レジスタのどれをもフェ
ッチすることなく、NAC36のIRU74に直接アクセスが行わ
れる。
実行段において、ROM70はエミュレートされているNEA
Tコマンドの開始マイクロインストラクションのために
アドレスされ、IRU74の適切なインデックス・レジス
タ、又はNAC36の他のいずれかのレジスタ又は適当であ
ることができるようなPMバス28に取付けられたこのシス
テムの他の装置がアクセスされて、マイクロインストラ
クションを実行する。タリイ72のカウントはバーチャル
・コマンドによって影響された各バイトが処理されると
カウントダウンされる。実行中、インデックス・レジス
タの内容は変更することができる。そのような変更はPM
バス28を介しNAC36によって主メモリー32のインデック
ス・レジスタに対して成される。第3図のインデックス
・マッチ・ロジック76は最初の15バーチャル・インデッ
クス・レジスタに対する書込及びIRU74の変更されるイ
ンデックス・レジスタのNAC36の複製を監視する。その
ため、IRU74のインデックス・レジスタは常に電流が維
持される。故に、NEATコマンドのエミュレーション中、
NAC36による第2図の主メモリー32の最初の15インデッ
クス・レジスタのいずれかの変更はNAC36のISU74の変更
されたインデックス・レジスタの複数をも変更するであ
ろう。NAC36のマイクロインストラクションの約98%が
それらのレジスタのみを使用するということが確認され
ているので、最初の15インデックス・レジスタのみをIS
U74に維持する。
NAC36は、又フェッチされるべき次のバーチャル・コ
マンドのアドレスが記憶されているバーチャル・インス
トラクション・アドレス・レジスタ(VIAR)180を含
み、NAC36によって最後にフェッチされるバーチャル・
コマンドが記憶されているバーチャル・インストラクシ
ョン・レジスタ181(VIR)を含む。NAC36は、又実際に
は4つの32ビットERUレジスタであり、そのすべてはPM
バス28に直接接続されるステート・スタック182を含
む。ステート・スタック182に対応するアクセスは公知
の方法でERUデコード回路183を用いて制御される。
最初のステート・スタック・レジスタ(SSR1)182はN
AC36がCPC22に対して制御を通している理由に従って、
2つの異なる情報ワードの1つを含んでいる。制御が不
支援コマンドの故に転送される場合、182のSSR1はビッ
ト25〜32にはCPC22で実行されるべきバーチャル動作コ
ード(Op−Code)を含む制御転送ワードと、ビット17〜
24にはオペランドの長さを規定するバーチャル・タリイ
・フィールドと、エミュレートされているコマンドが要
求するようなバーチャル・コマンドの実行中NAC36によ
ってセット及びリセットされるバーチャル素子ビット1
〜8とを含む。NAC36が処理できない状態の故に制御を
転送する場合、182のSSR1は例外状態ワードを含む。ス
テート・スタックの第2のレジスタ(SSR2)はセットア
ップ中にNAC36によって変更されているビット26のINBフ
ラグを含むNEATコマンドのエミュレーションにおけるNA
C36の動作のための各種コード及びフラッグを含み、NAC
が2ワードNEATコマンドの第1ワードのセットアップ中
であるのか第2ワードをセットアップ中であるのかとい
うことに反映する。ステート・スタック(SSR3)の第3
のレジスタは各種内部インジケータ,トラップ・リンク
・レジスタ及びリトライ・リンク・レジスタを含む。ス
テート・スタックの第4のレジスタ(SSR4)はセットア
ップ時間中、SSR1に負荷されたようなSSR1からのバーチ
ャル・インジケータのコピー又は複写(古いコピー)を
含む。
NAC36はシステムのみの強化を与え、この発明を利用
するデータ処理システムは第2図及び第3図で説明した
NAC36なしに動作することができるということを理解す
るべきである。
BPSMP18とBPSMS20とのプロセッサ(CPC22又はNAC36)
は主メモリーからのデータのフェッチングと、ISUメモ
リー又はNACの制御ROMのどちらかからのインストラクシ
ョンに従ってデータを操作し、その操作したデータを主
メモリーに再び記憶することとを含み、コマンドを平行
して実行するよう同期がとられる。各プロセッサの動作
は常に比較され、以下説明するように、不合致の場合、
プロセッサは比較が希望に合うまで又は固定したエラー
が発生したということが確認されるまで、最後のバーチ
ャル・コマンドを再実行するよう指令される。
第1図に戻り、1対の書込制御記憶モジュール(WCS
M)34,36を提供する。各WCSMはパワーアップ,ブーツ及
びスタートオブデイ・プログラムを提供する8kバイトの
読出専用メモリー(ROM)と、ISUメモリー(第2図の3
0)のために使用される64kバイト(32kワード)の各ラ
ンダム・アクセス・メモリー(RAM)とを含む。ROMのプ
ログラミングはデータの形のインストラクションがシス
テムの主メモリーからフェッチすることができ、WCSM負
荷プログラムのRAM装置に記憶することができるという
ことを提供する。ここで、ISUインストラクションの32k
ワードはWCSM34に記憶され、32kワードはWCSM36に記憶
されるということがわかる。BPSMPモジュール18はISUバ
ス38と延長バス40とによってWCSMモジュール34,36に接
続される。BPSMSモジュール20はISUチェック(ISUCHK)
バス42,44によってWCSMモジュール34,36に接続され、IS
UCHKバス42の延長48によって後述するデータ完全化モジ
ュール(DINM)46に接続される。
第2図で説明したバス28と同じPMバス50はBPSMPモジ
ュール18とメモリー・サブシステム14との間に接続さ
れ、一次プロセッサ・データ(PBDAT)のためのデータ
部52と、一次プロセッサ・アドレス(PAD)のためのア
ドレス部54とを含む。第2のPMバス56はBPSMSモジュー
ル20とDINMモジュール46との間に接続され、二次プロセ
ッサ・データ(SBDAT)のためのデータ部58と、二次ア
ドレスのためのアドレス部(SAD)60とを含む。DINMモ
ジュール46はPBDATバス52及びPADバス54にも接続され
る。
後述するように、WCSMモジュール34,36に対するISUア
ドレスとWCSMモジュール34,36からのISUインストラクシ
ョンとは、WCSMモジュール34,36とDINMモジュール46と
の間に接続されているラッチドISUバス(LISU)62にラ
ッチされる。DINM46の作用間はCPC22か又はBPSMモジュ
ール18及び20の両方のNAC36のどちらかによるデータの
操作の後、計算した結果の比較である。モジュール18と
20からの結果が同一でない場合、バーチャル・コマンド
を実行中のプロセッサ(CPC22又はNAC36のどちらか)は
エラーが生じた最後のバーチャル・コマンドをリトライ
するようリランする。リトライ動作中、最初の実行でフ
ェッチされた原データは実行しているプロセッサに再供
給される。バーチャル・コマンド・リラン・モジュール
(VCRM)64はすべてのフェッチされたデータと、フェッ
チ・ログと称するメモリー・サブシステム14からの対応
するエラー修正コード(ECC)チェック・ビットとが供
給される。それを行うため、VCRM64はPBDATバス52に接
続され、2kのフェッチされたデータ・エントリを記憶す
るに十分なRAMを持つようにする。
第3図において、NAC36は最初の15インデックス・レ
ジスタの自己のコピーを保持し、これら最初の15インデ
ックス・レジスタのいずれかに対するバーチャル・コマ
ンドのエミュレーション中に行われるべきいかなるフェ
ッチもNAC36の内部バス71(第3図を見よ)を介してIRU
74のレジスタのNACのコピーに対して行われるであろ
う。故に、NACバーチャル・コマンド・エミュレーショ
ン中の最初の15インデックス・レジスタからのいかなる
フェッチもフェッチ・ログには現われないであろう。イ
ンストラクションの実行中、インデックス・レジスタは
変更することができるから、NAC36のIRU74のインデック
ス・レジスタの内容はコマンドが最初にトライされたと
きと同一ではないかもしれない。故に、VCRM64は、又イ
ンストラクションの段階中に変更されたかもしれない最
初の15インデックス・レジスタの第2の又は変更された
コピーと、現在のバーチャル・コマンドのためのNAC36
の翻訳段に現われたインデックス・レジスタのような第
2図の主メモリー32の最初の15インデックス・レジスタ
の原コピーを含むインデックス・レジスタ・ログ(IRロ
グ)を含むであろう。バーチャル・コマンドが連続的に
実行されると、IRログの変更コピーはその後のバーチャ
ル・コマンドのための原コピーとなり、その原コピーは
前述のその後のコマンドの実行中、変更を記録するのに
使用される。バーチャル・コマンドの実行が成功しなか
った場合、ファームウエアはIRログの原コピーの内容を
主メモリー32に記憶し、同時に第3図のIRマッチ・ロジ
ック76によってIRU74に記憶される。NAC36はそこでその
翻訳段に戻され、バーチャル・コマンドの実行が再びト
ライされる。今、説明したIRログは最初の15インデック
ス・レジスタが、この場合、データ・フェッチ・ログに
現われるだろうから、CPCバーチャル・コマンドの実行
の場合には必要がない。
VCRM64は、バス・エクステンション75によってLISUバ
ス62にも接続される。VCRM64は診断のためにファームウ
エアで使用することができるトレース・ログのBPSMP18
によって与えられたISUアドレスを記憶するRAMを含む。
トレース・ログRAMはトレースが可能化されている間、2
kまでのISUアドレス・エントリを記憶する。トレース・
ログは、又希望により、CPCパイプラインをバックアッ
プするためにも使用することができる。
前述のNCR/32General Information Publicationで説
明したように、第2図のCPC22は、他のものの間に外部
レジスタ(ERU)を使用し、プロセッサ・モジュール18
と20の32ビット・チップ・セット装置間の通信を行い、
CPC22によってセットされ、監視される使用者規定の制
御信号を供給する。32ビット・チップ・セットの他の装
置,ATC24,EAC34,NAC36及びシステムの各種モジュールは
同様なERU能力を有する。システム依存作用モジュール
(SDFM)78は第1図のデータ処理システムの動作及び制
御のために使用者によって選ばれたERUの個々のビット
を受入れ、変更し、ディスプレイするERUレジスタ(図
に示していない)を含む。
第1図のI/Oサブシステム12は一次I/Oデータ(PIODA
T)部82と一次アドレス(PIOADR)部84とを有する一次I
/Oバス80を含む。1対の基本I/Oモジュール(BIOM)86,
88が用意され、その1つは一次モジュール(BIOMP)で
あり、他方は二次(BIOMS)モジュールである。各BIOM
モジュール86,88は第4図のATC24と同じATCチップと、
“少くとも一方のサブシステムはローカル・メモリーと
ヘッダ情報を記憶するためにそのローカラ・メモリー内
にあるメールボックス・メモリーとを有するデータ処理
システム”と称する1983年6月7日にKocolほかに発行
された米国特許第4,387,441号(この出願の出願人が所
有している)に記載されている2つのNCR/32−500シス
テム・インタフェース・コントローラ(SIC)チップと
を含む。BIOMSモジュール88はI/Oデータ(SIODAT)部91
とI/Oアドレス(SIOADR)バス92とを有する第2のI/Oバ
ス90を持つ。プロセッサ・サブシステム10のDINMモジュ
ール46に類似のDINMモジュール94は一次I/Oバス80と二
次I/Oバス90との間に接続され、I/Oサブシステム12のデ
ータ完全化チェックを提供する。各種I/O個別モジュー
ル93はBIOMP86に接続することができ、選ばれたシステ
ム・ツー・システム又は各種バンド幅の周辺インタフェ
ース・チャンネルを提供し、各種プロトコルを使用す
る。
主メモリー・サブシステム14は複数のメモリー・アレ
イ100と,デュアル・ポート・メモリー制御(DMCM)102
とを含む。各メモリー・アレイ100はデータ部(CPMDA
T)104及びアドレス部(CPMADR)106を有する中央プロ
セッサ路と、データ部(IOMDAT)108及びアドレス部(I
OMADR)110を有するI/O路とを有する。故に、DMCM102は
BPSMモジュール18又は20の1つが1つのメモリー・アレ
イ100をアクセスすることができ、BIOMモジュール86又
は88が他のメモリー・アレイ100をアクセスすることが
できる。DMCM102は又プリフェッチ回路を含む。
第4図は、第1図のWCSMモジュール34又は36の1つの
ブロック図である。WCSMモジュール34と36とは同じもの
である。双方向BISUバス120はWCSMモジュール34の内部
であり,ここで説明する各種要素の間の通信を行う。第
1図に示すISUバス38はBISUバス120に接続されているト
ランシーバ122に接続される。又、ISUCHKバス42(第1
図)はBISUバス120にも接続されているトランシーバ124
に接続される。トランシーバ122,124はFairchild製の74
F245装置でよい。複数のアドレス・ラッチ126,127,128
及び129はBISUバス120に接続された入力を有する。アド
レス・ラッチ126〜129の各々はFairchildの74F373装置
で構成することができる。アドレス・ラッチ126の出力
は第1図のLISUバス62に接続され,アドレス・ラッチ12
7の出力はデータ・パリティ発生器130,PROM132及びデー
タ・ラッチ133に接続され,データ・ラッチ133の出力は
1対のメモリー・バンク134,135のデータ入力に接続さ
れる。アドレス・ラッチ128の出力はメモリー・バンク1
34のアドレス入力に接続され、アドレス・ラッチ129の
出力はメモリー・バンク135のアドレス入力に接続され
る。第1比較器136はLISUバス62のアドレス・ラッチ126
の出力とアドレス・ラッチ127の出力とを比較する。比
較の結果が等しくないと、その出力137にエラー信号(A
DRERR2)を発生する。第2比較器138はアドレス・ラッ
チ128の出力とアドレス・ラッチ129の出力とを比較す
る。比較が等しくないと、その出力139にエラー信号(A
DRERR1)を発生する。パリティ発生器130はFairchildの
74S280装置で構成することができ、データ・ラッチ133
はFairchildの74F374装置で構成することができ、ブー
ツPROM132はFairchildの82S191装置によってブーツ・ル
ーチンを含む16k×16ビット・プログラマブル読出専用
メモリーを構成することができる。比較器136,138はFai
rchildの74F521装置で構成することができ、各メモリー
・バンク134,135はMitsubishiの16383装置によって16k
×18ビット・メモリー・バンクを構成することができ
る。PROM132のデータ出力はデータ・バッファ140に接続
され、メモリー・バンク134,135の出力は夫々データ・
バッファ142,143に接続される。データ・バッファ140,1
42,143の出力はBISUバス120に接続され、Fairchildの74
F244装置で構成することができる。
PROM132が公知の方法でプログラムされた後、第2図
のCPC22はISUバス38にPROMアドレスを出力することによ
ってPROM132からのブーツ・プログラムを実行すること
ができる。トランシーバ122はラッチ126,127にラッチさ
れているBISUバス120にPROMアドレスを出力する。そこ
で、PROMアドレスはPROM132に向けられ、実行されるべ
きマイクロインストラクションはPROM132からBISUバス1
20にマイクロインストラクションを出力するバッファ14
0に出力される。トランシーバ122は第2図のCPC22で実
行するマイクロインストラクションをISUバス38に出力
する。PROM132のブーツ・ルーチン中、ISUバンク134,13
5に記憶されるべきマイクロインストラクションはCPC22
によって主メモリー32からフェッチされ,第1図及び第
4図のISUバス38に出力される。そこで、マイクロイン
ストラクション・データは第4図のトランシーバ122に
よってBISUバス120に出力され、ラッチ126,127にラッチ
される。パリティ発生器130はメモリー・バンク134又は
135の1つに入力されるべきデータ・ラッチ133に記憶さ
れているマイクロインストラクション・データにパリテ
ィ・ビットを加える。マイクロインストラクションのア
ドレスは第1図のCPC22によってISUバス38に出力され、
トランシーバ122によってBISUバス120に出力され、ラッ
チ128,129にラッチされる。ラッチ128,129の出力はメモ
リー・バンク134,135にアドレスされ、メモリー・バン
クのアドレスは出力されたアドレスのデータ・ラッチ13
3のデータを記憶する。ラッチ126,127から出力されたPR
OMアドレスも、ラッチ126,127から出力されたマイクロ
インストラクションのもどちらも同じでないということ
を比較器136が不合致を出力して示した場合、導体137に
エラー信号が出され、データ完全化エラーが存在すると
いうことを示す。比較器138はラッチ128,129から出力さ
れたメモリー・バンク・アドレスを比較して、不合致が
発見されると、導体139にデータ・エラーが発生して、I
SUメモリー・アドレスにデータ完全化エラーが存在する
ということを示す。第2図のCPC22がバーチャル・コマ
ンドをエミュレートし、マイクロインストラクションの
アドレスが第4図のISUバス38に出力されると、トラン
シーバ122はアドレス・ラッチ128,129にラッチされるべ
きアドレスをBISUバス120に出力する。アドレス・メモ
リー・バンク134又は135はバッファ142又は143のいずれ
かに入力されるマイクロインストラクションを夫々の出
力に出力し、BISUバス120に出力してトランシーバ122に
よりISUバス38を介してCPC22に返送される。もし、ラッ
チ128か129のいずれかに動作の誤りがあり、エラーが発
生すると、比較器138による比較の結果は等しくなら
ず、導体139にデータ完全化エラー状態を発生する。二
次BPSMSモジュール20のCPCの動作も、ISUCHKバス42及び
トランシーバ124が前述のISUバス38及びトランシーバ12
2の代りに使用されて、同じように行うことができる。
第5図、第6図及び第7図は第1図のDINMモジュール
46の各成分のブロック図である。第5図はデータ比較を
行うDINM46の回路のブロック図である。第1図のPMバス
50のPBDATバス52はトランシーバ150に接続され、その出
力はラッチ151及びドライバ回路152の入力に接続され
る。ラッチ151の出力は比較回路153の1入力に接続され
る。第1図の二次PMバス56のSBDATバス58はトランシー
バ154に接続され、その出力は比較回路153の第2の入力
に接続される。ドライバ回路152の出力はバス155を介し
てトランシーバ回路154に接続される。バーチャル・コ
マンド・プロセッサ・サブシステム10(第1図)からメ
モリー・サブシステム14に対してデータを送るべき場
合、データはBPSMPモジュール18からPBDATバス52に出力
され、同じデータがBPSMSモジュール20からSBDATバス58
に出力される。第5図のトランシーバ150はPBDATバス52
からデータを受取り、それをラッチ151及び比較回路153
の1入力に出力する。トランシーバ154はSBDATバス58か
らデータを受取り、比較回路153の他方の入力に出力す
る。比較不満足の場合、比較回路153の出力156にエラー
信号DATACMP′が出力される。バーチャル・コマンド・
プロセッサ・サブシステム10によって、第1図のメモリ
ー・サブシステム14からデータがフェッチされたとき、
実際には、そのデータは一次PMバス50のPBDATバス52を
介してフェッチされる。ドライバ152は第5図の回路に
含まれ,PBDATバス52からトランシーバ150が受信したデ
ータを受取り、それをバス155を介してトランシーバ154
に出力し、SBDATバス58に送信する。それによって、プ
ロセッサ・サブシステム・モジュールBPSMP18及びBPSMS
20両方共同一データを受信する。その場合、両プロセッ
サ・モジュール18,20は、例えば、主メモリーに対する
フェッチ・コマンドを発行し、主メモリーからデータを
受信する。すなわち、それは実際には、モジュール18の
プロセッサからのフェッチ・コマンドがメモリー・サブ
システム14からデータをフェッチしただけであっても、
プロセッサ・モジュール18,20はそれらの実行を続ける
ことができるようにするためである。トランシーバ150,
154はFairchildの74F245で構成することができ、ラッチ
151はFairchildの74F534でよく、ドライバ152はFairchi
ldの74F244でよく、比較回路153はFairchildの74F521で
構成することができる。
第6図は、BPSMPモジュール18から出力されたアドレ
スと第1図のBPSMSモジュール20から出力されたアドレ
スとを比較する回路のブロック図である。一次PMバス50
のPADバス54は比較器160の1入力に接続された最初の8
ビットと、第2の比較器162の1入力に接続されたビッ
ト9〜24とを有する。二次PMバス56のSADバス60は比較
器160の他方の入力に接続された最初の8ビットと、比
較器162の他方の入力に接続されたビット9〜24を有す
る。比較器160の出力は外部レジスタ・ユニット(ERU)
に向けられるPMバス50及び56のアドレスのための比較信
号を提供する。アンド・ゲート163はその入力が比較回
路160及び162に接続され、出力は第1図のメモリー・サ
ブシステム14に向けられたアドレスのための比較信号ME
MADRCMP′を供給する。比較回路160,162はFairchildの7
4F521装置で構成することができる。
第7図は、プロセッサ・サブシステム・モジュールBP
SMP18及びBPSMS20からWCSMモジュール34,36のインスト
ラクション記憶ユニットに対して送信するアドレスの比
較を与える回路のブロック図である。第1図のLISUバス
62は比較回路165の1入力に接続され、第1図のISUCHK
バス48はラッチ166,167の両入力に接続される。ラッチ1
66の出力は比較回路165の他方の入力に接続される。第
4図をみると、ISUバス38に出力されたアドレスはラッ
チ126を介してLISUバス62に送信されるということがわ
かる。第1図において、BPSMSモジュール20によってISU
CHKバス42に出力されたアドレスはバス48を介してDINM
モジュール46に向けられる。第7図に戻り、一次ISUア
ドレスはバス62を介して比較回路165に入力され、二次I
SUアドレスはバス48を介し、ラッチ166を通して比較器1
65に入力される。比較回路165における不合致は導体168
にトラップ信号TRAP′を出力して両プロセッサ・モジュ
ール18,20をトラップさせる。ISUCHKバス48はラッチ167
にも接続され、その出力はパリティ・エラー・チェック
回路170に接続される。回路170がパリティ・エラーを発
見すると、導体171にパリティ・エラー信号PERR′を発
生する。故に、第7図の回路はISUアドレス・エラー及
びISUアドレス内のパリティ・エラーを検出する。比較
回路165はFairchildの74F521装置で構成することがで
き、ラッチ166,167はFairchildの74F373装置で構成する
ことができ、パリティ・エラー検知回路170はFairchild
の74S200装置で構成することができる。
第5図には、第5図,第6図及び第7図の比較器から
の比較信号を受信するERUレジスタ175が設けられる。ER
U175は第2図のCPC22によって質問され、修正エラー回
復ルーチンを決定して発見した不合致に従ってそれを実
行する。ラッチ151はトランシーバ157によって受信され
たPBDATバス52からのデータか、又はPBDATバス52に出力
されるべきERUレジスタ175からのデータのどちらかをラ
ッチすることができるというように接続されるというこ
とに注意しよう。ERUレジスタ175はFairchildの74F240
装置で構成することができる。
類似する比較回路を第1図のPMバス50,56の制御部分
(図に示していない)に接続して、不合致とプロセッサ
・サブシステム・モジュールPBSMP18とPBSMS20からの制
御信号とを検出させることができる。又、PBDATバス52
とSBDATバス58の選ばれたビットを別々に比較してERU書
込データの不合致を確認することができるが、第5図の
比較回路がERUデータ不合致を検出することができる。
第5図,第6図及び第7図について説明した不合致信号
のすべてはBPSMPモジュール18及びBPSMSモジュール20の
プロセッサに対する割込みを生じさせ、不合致信号は、
割込されたプロセッサが割込信号を質問することができ
るように、ERUレジスタに出力される。BPSMPモジュール
18及びBPSMSモジュール20の両プロセッサは割込され、
平行に適切な割込ルーチンを実行し、検出された不合致
を修正する。前述の如く,第1図のDINM94はI/Oサブシ
ステム12の不合致を検出するDINMモジュール46と類似す
る。しかし、第7図のISU比較はDINMモジュール94に使
用されず、I/OデータとI/Oアドレスのみが比較される。
第8A図乃至第41は第1図のVCRMモジュール64の回路図
を形成する。第8A図乃至第41B図の入力ライン及び出力
ラインのすべてはそれらの正しい接続を助けるようにラ
ベルされている。各要素はピン第号を含み、標準記号を
使用し、標準部品番号に従ってラベルされ、表わしてあ
る。2状態のための記号はInstitute of Electrical an
d Electronic Engineers(N.Y10017,New York,East47th
Street345)によって出販された“ロジック図用IEEE標
準図形記号(2状態装置)”(IEEE91〜1973,ANSI Y32.
14−1973)からとられたものである。
第13図に示すように組合わされた第13A図〜第13C図は
ステータス・レジスタERU78INとして使用されるERUレジ
スタの回路図である。ステータス・レジスタERU78INはV
CRMモジュール64のステータスを受信するようERU通信能
力を有するすべてのモジュール又はVLSIチップから質問
することができる。c−c線に沿って接続された第14A
図及び第14B図は第1図のPBDATバス52からデータを受信
する入力ラッチ(CPDAT01〜CPDAT32)の配線図を形成す
る。第16図のように組立てられた第16A図乃至第16D図は
PBDATバス52のデータを出力するドライバ回路の配線図
である。
第22〜26図はVCRM64の前述のフェッチ・ログを形成す
るRAMチップの配線図である。第22〜26図に見られるよ
うに、フェッチ・ログのためのアドレスは信号A0〜A10
で構成される。第18図は信号ALPTR0〜ALPTR10か又はARB
PTR0〜ARBPTR10ののどちらかを信号A0〜A10に多重化す
るマルチプレクサの回路図である。信号ALPTR0〜ALPTR1
0は不合致が発見されるまでフェッチ・ログ・アドレス
を形成するために使用される。そこで、VCRMモジュール
64のロジックはアドレスのための信号ARBPTR0〜ARBPTR1
0を使用してフェッチ・ログのアドレスをリランする。A
RBPTRアドレスがALPTRアドレスに達するまで増加すると
(第19図の比較器で確認され、他のエラーが発生しなか
った場合)、そのリランは完了し、プロセッサはそのリ
ラン前に行っていたように継続する。第20A図及び第20B
図はd−d線で接続され、ARBPTRアドレスをカウントす
るカウンタの回路図を示す。第21A図及び第21B図はe−
e線で接続され、ALPTRアドレスをカウントするカウン
タの回路図を表わす。
第31図乃至第35図は、VCRMモジュール64の前述のイン
デックス・レジスタ・ログを形成するRAMチップの回路
図である。これるRAMチップは夫々32ビット×4パリテ
ィ・ビット幅の2組の15レジスタを記憶するメモリーを
提供する。前述したように、その1組のレジスタはバー
チャル・コマンドの開始における原インデックス・レジ
スタのコピーを記憶するためのものであり、もう1組の
レジスタはバーチャル・コマンドの実行中に変更される
すべてのインデックス・レジスタのコピーを記憶するた
めのものである。第31図乃至第35図のRAMチップのため
のアドレスはIRA0〜IRA4信号で形成されるということに
注意しよう。IRA0ビットはIRログの各位置における2つ
のインデックス・レジスタのどちらか1つが原か又は有
効インデックス・レジスタであり、どちらの1つがイン
デックス・レジスタの変更コピーであるかを決定する。
f−f線で接続された第28A図及び第28B図は第1図の
PADアドレス・バス54のアドレスをデコードするデコー
ド回路の回路図である。第28B図の回路は、インデック
ス・レジスタがCPDATバス52からIRログに記憶されるべ
きであるか、又はインデックス・レジスタがNAC36(第
3図)のIRU74に転送するためにCPDATバス5に出力され
るべきであるかを決定する。インデックス・レジスタが
IRログに記憶されるべきであると、信号IRSTORE′は
“0"であり、第28A図のマルチプレクサ300はPADバス56
からの信号CPAD03′〜CPAD06′(インデックス・レジス
タの番号)をアドレス信号IRA1〜IRA4として多重化す
る。IRログのインデックス・レジスタがCPDATバス52に
出力されるべきであると、IRSTORE′信号は“1"であ
り、第28A図のカウンタ302は第31図〜第35図のIRログRA
Mに対するアドレスIRA1〜IRA4として多重化されるべき
アドレスをマルチプレクサ300に供給する。1対のデコ
ーダ304,306はアドレスIRA1〜IRA4をIRA1〜IRA4アドレ
スの数値に従って単一ビットDEC1〜DEC15にデコードす
る。h−h線に沿って接続された第30A図及び第30B図
と、g−g線に沿って接続された第29A図及び第29B図は
1対の列のフリップ・フロップを形成し、その第1の列
は変更ビット出力(MB01〜MB15)を有し、第2の列は有
効ビット出力(VB01〜VB15)を有する。リラン中、例え
ば、レジスタ1のための第30A図のフリップ・フロップ3
08のような有効ビット・フリップ・フロップは、インデ
ックス・レジスタ1のためにRAMチップ31〜35に記憶さ
れた2つのインデックス・レジスタのどちらがPBDATバ
ス52に出力されるべき原レジスタか又は有効レジスタか
を表示するだろう。それは第30A図のマルチプレクサ312
及び第29A図のマルチプレクサ314の作用によって行わ
れ、共にアドレスされたレジスタのために適切な有効ビ
ットを選択し、この有効ビットを使用して、第30B図の
排他的オア・ゲート316を通してIRA0を形成する。フリ
ップ・フロップ308の出力が“0"であると、IRログのIRA
1〜IRA4によって形成されたアドレスの2つのインデッ
クス・レジスタの第1のものが使用され、フリップ・フ
ロップ308の出力が“1"であると、第2のものが使用さ
れる。
レジスタ1のための第30A図のフリップ・フロップ310
の変更ビットは、現在のバーチャル・コマンドの実行中
にインデックス・レジスタ1が変更されたかどうかを表
示する。“0"は“ノー”を示し、“1"は“イエス”を示
す。バーチャル・コマンドの実行が成功して完了する
と、ターンオンされた変更ビットを有するすべての有効
ビットはトグルされ(変更されたインデックス・レジス
タを新たな原レジスタにする)、変更ビットはターンオ
フする。
第39図及び第40図は前述のトレース・ログを記憶する
RAMチップの回路図である。j−j線で接続された第38A
図及び第38B図はトレース・ログ・アドレス(TLA0〜TLA
10)を形成するカウンタの配線図である。k−k線に沿
って接続された第41A図及び第41B図は、トレース・ログ
のためのVCRM64(第1図)に対するLISUバスのエクステ
ンション75からの入力バッファの配線図である。
VCRMモジュール64のための制御信号を下記に示す。
PMRST′,CDPVTL′,CPMEMDIE,CPMAEL,CPMDEE,及びEBAV
信号は夫々信号名PMRST′,PVT′,DIE′,MAE′,MDEE′及
びBAV信号のもとに前述のNCR/32General Information P
ublicationに十分説明してある。
VCRMモジュール64に対する制御レジスタ(XOUT78)の
ビット入力を下記に表わす。
第42図は、NAC36が存在しないか、又は実行されるNEA
TコマンドがNAC36によって支援されない場合にNEATコマ
ンドをセットアップし、実行するための第2図のCPC22
用のプログラミングの流れ図である。CPCによってエミ
ュレートされるべきNEATコマンドはストック番号57−94
81−47としてNCR Corporation(オハイオ45479,デイト
ン市)から購入できるNEATVSマニュアルに十分記載さ
れ、ストック番号ST−9781−46のもとにNCR Corporatio
nから購入できるNEATVS,VRX−3マニュアルから知るこ
とができる。これは350から開始するバーチャル・コマ
ンド・セットアップと、355から開始するバーチャル・
コマンドの実行という2段の処理で行われる。351で
は、CPC22は、説明するように、VCRMのコマンド・レジ
スタXOUT78への信号によってVCRMログをリセットし、又
ビット15がフェッチ・ログ・ポインタをリセットし、ビ
ット2がフェッチ・ログを可能化することができる。35
2において、CPC22はリランの場合におけるセットアップ
段中、CPCが必要であるかもしれない場合、ERU17(図に
示していない)からのバーチャル・インジケータをセー
ブする。353において、CPCはメモリー・サブシステム14
の第1図のメモリー・アレイ100から成る主記憶ユニッ
ト(MSU)からエミュレートされるべき次のNEATバーチ
ャル・コマンドをフェッチする。354において、CPCはそ
のタイプのNEATインストラクションをデコードし、オペ
ランド・インデックス・レジスタの内容をフェッチし、
インデックス・レジスタの内容にオペランド・パーシャ
ル・アドレスを加えることによって、ソース及びディス
テネーション・オペランドの有効アドレスを計算する。
それらは上記のNEATVSマニュアルに記載されている。又
CPCはCPCのバーチャル制御レジスタ(VCR)(図に示し
ていない)の内容であり、フェッチされるべき次のバー
チャル・コマンドを表示するコンベニエント・ワーク・
レジスタの可変LOCWORKをセーブする。可変LOCWORKは後
に第44A図及び第44B図で説明するリラン動作で使用す
る。
355において、CPCはバーチャル・コマンドの実行を開
始する。それはWCSMモジュール35,36をアクセスし、NEA
Tコマンドをエミュレートするために適当なマイクロイ
ンストラクションをISUからフェッチすることによって3
56において行われる。
第43図はNEATバーチャル・コマンドをセットアップ
し、実行するために第2図のNAC36のプログラミングの
ための流れ図である。NEATバーチャル・コマンドは360
において開始をセットアップし、361においてNVCSU信号
(第2図のライン37)で第1図のVCRMモジュール64をNA
C36が信号してVCRMのログ・ポインタをリセットする。3
62において、NAC36はメモリー・サブセクション14のMSU
からの次のNEATバーチャル・コマンドをフェッチする。
363において、NAC36は第42図のブロック354で説明した
ものと類似するソース及びディステネーション・オペラ
ンドの有効アドレスを計算する。364において、バーチ
ャル・コマンドの実行フェーズを開始する。365におい
て、NAC36はNACが特定のNEATコマンドのエミュレーショ
ンを支援するかどうかを確認する。NACかNEATコマンド
のエミュレーションを支援する場合、NEATコマンドをエ
ミュレーションするためのマイクロインストラクション
はNAC ROM70(第3図)からフェッチされ、NEATバーチ
ャル・コマンドは366において実行される。
NACが特定のNEATインストラクションのエミュレーシ
ョンを支援しない場合、367でNACはそのビジィ(図に示
していない)ラインを落とす。CPCはそのビジィ・ライ
ンが落ちたのを知り、第3図のステート・スタック182
のSSR1のNACステータスを質問し、NEATバーチャル・コ
マンドの実行を確認し、SSR1の32〜35ビットからのNEAT
バーチャル・コマンドのコピーを取得する。368におい
て、CPC22は第42図のブロック356について説明したよう
なNEATバーチャル・コマンドを実行する。
コネクタA及びBで接続された第44A図及び第44B図は
リラン動作を実行するCPC22及び第2図のNAC36のプログ
ラミングのための流れ図である。ブロック370割込みの
場合、CPC22は割込ルーチンの実行を開始する。371にお
いて、CPC22は信号XOUT78を有するビット10をターンオ
フすることによって、その制御レジスタを通し、VCRMモ
ジュール64のログ・エネーブル(LE)フラグをターンオ
フする。372において、CPC22はDINMモジュール46(第5
図)のERU175の割込ビットによって表示されるように各
種サービス・ルーチンを誘導する。割込みがDINM46から
のものである場合、プログラムは373に行き、そこでフ
ァームウエアは、VCRMモジュール64を使用するバーチャ
ル・コマンドのリランを呼出すべきであるかどうかを決
定する。割込みがバーチャル・コマンドのリランを要求
するものである場合、プログラムは374に行き、CPC22は
NAC36がそのシステムにあるかどうかを確認する。376で
は、NAC36があるシステムのために、CPC22は制御レジス
タERU(XOUT78)のビット5をセットし、バーチャルIR
ログ・アドレスを“0"にセットする。377で、CPC22はス
テータス・レジスタ(XIN78)を介してVCRM64のIRログ
に最初のエントリを読出す。378において、CPC22は、前
述したように、NAC36のインデックス・レジスタに最初
のIRログ・エントリを書込む。そこで、アドレスはVCRM
64のIRログの次のインデックス・レジスタ・エントリを
アドレスするために4だけ加算される。379では、15イ
ンデックス・レジスタがすべてIRログから読出されたか
どうかを表示するためのアドレスが40H以上であるかど
うかのテストを行う。まだである場合、プログラムはブ
ロック377に戻り、次のIRログ・エントリを得る。
すべてのインデックス・レジスタがNAC36に復帰した
ときに、380において、CPC22は制御レジスタXOUT78のビ
ット13をセットし、IRログをリセットする。
381で、CPC22はINBフラグを得るために、NAC36のステ
ート・スタック・レジスタ2(SSR2)を読出す。INBフ
ラグがツルーであれば、それは、割込みのときにエミュ
レートされたNEATコマンドは2ワード・コマンドの第2
ワードのセットアップ段にあったことを表示する。
NACによってフェッチされるべき次のコマンドのバー
チャル・アドレスを含む第3図のVIARレジスタ180とCPC
22のバーチャル制御レジスタとの内容は、既に説明した
ように、それらの初期状態に復帰されるにちがいない。
それはCPC22がNAC VIARレジスタ180の内容をCPCのVCRレ
ジスタに移動し、そのVCRアドレスから4を減じること
によって初期のVCRバーチャル・コマンド・アドレスに
到達するようにするブロック382で行われる。INBフラグ
が383でツルーの場合、NAC36は割込が発生したときに
は、2ワード・コマンドの第2ワードにあった。そして
CPCのVCRから更に4を減じて初期のVCRアドレスに戻さ
なければならない。385において(第44B図)、CPC22は
ブロック382〜384で決定されVCRアドレスをNAC VIARレ
ジスタ180に書戻す。385において、CPC22は第3図のス
テート・スタック182のSSR4を読出し、バーチャル・イ
ンジケータ・フラグの旧コピーを得る。378において、
旧コピー・フラグはSSR1の現コピーに書込まれ、SSR1の
バーチャル・インジケータをそれらの原未変更状態に戻
す。CPC22及びNAC36は今それらの初期状態に復帰され
た。プログラムは、そこで395に行き、そこでVCRMモジ
ュール64の制御レジスタがターンオンされ、リランを開
始する。
374でNAC36が存在しない場合(又はNEATコマンドがNA
C36で支援されない)、プログラムは第44B図の388に行
き、そこでCPC22はそのセットアップ・レジスタ1(SUR
1)(図に示していない)から現バーチャル・オペレー
ション・コード(OPCODE)を得る。389において、SUR1
のビット16は、割込発生時に、2ワードか2重段コマン
ドが実行されていたかどうかの確認のためにチェックさ
れる。そうでない場合、プログラムは393に行く。イエ
スの場合、レストア・ファーストイン・ファーストアウ
ト(RFIFO)スタック(RF1F0)(図に示していない)が
チェックされ、割込がセットアップで発生したかどうか
確認される。そうでない場合、プログラムは392に行
く。割込がセットアップ中に発生していた場合、CPC VC
Rレジスタの内容はLOCWORKの値(第42図の354で記憶さ
れた)と比較され、割込発生時に、コマンドの両ワード
がフェッチされたかどうかが確認される。そうでない場
合、プログラムは393に行く。イエスの場合、第2のワ
ードがフェッチされ、392において、CPC VCRのアドレス
から4が減じられてコマンドの最初のワードに戻る。39
3で、すべての場合にCPC VCRのアドレスから4が減じら
れると初期のVCRアドレスに戻る。394で、CPCは第42図
のブロック352に記憶されている原バーチャル・インジ
ケータ・フラグを得、それらを原バーチャル・インジケ
ータとしてERU17(図に示していない)に復帰し、ブロ
ック395で、前述のように、リランを開始する。ERU17の
バーチャル・インジケータ,VCR,SUR1及びNCR32ビットCP
C22のRFIFOなどは前述のNCR/32General Information Pu
blicationで十分説明されており、良く理解することが
できる。
〔発明の効果〕
以上説明したように本願発明は、耐故障型データ処理
システムにおいて、各命令の開始時にプロセッサの初期
状態を記憶する記憶手段と、2つのプロセッサーで処理
したデータが不一致であった場合に前記記憶手段の記憶
情報に基づき実行中の命令を再度実行する再実行手段と
を設けて、システム・コマンドの実行中もデータの完全
性を維持することができるようになった。
フロントページの続き (72)発明者 コール,ヴイクター フランク アメリカ合衆国 92071 カリフオルニ ア サンテイー,ラムソン ドライブ 8750 (72)発明者 パテル,チーマン リバブハイ アメリカ合衆国 92026 カリフオルニ ア エスコンデイド,ビーチ プレイス 1428 (56)参考文献 特開 昭59−57351(JP,A) 特開 昭53−115151(JP,A) 特開 昭60−65346(JP,A) 特開 昭58−114253(JP,A) 米国特許4030074(US,A) 米国特許3533082(US,A)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】データ処理のための命令を実行する第1の
    プロセッサー(18)と、前記プロセッサー(18)がアク
    セスするメモリー装置(14)と、前記メモリー装置(1
    4)と第1の前記プロセッサー(18)とを接続してアド
    レスとデータを伝送する第1の伝送バス(50)とを有す
    るデータ処理システムにあって、 前記第1の伝送バス(50)に並列に接続された比較手段
    (46)と、 前記比較手段(46)と第2の伝送バス(56)によって接
    続され、前記第1のプロセッサ(18)と前記命令を同時
    に実行する第2のプロセッサー(20)と、 前記第1の伝送バス(50)に並列に接続された再実行手
    段(64)と、からなり、 前記比較手段(46)は、 前記第1のプロセッサ(18)が前記メモリー装置(14)
    から読み込むデータを前記第2の伝送バス(56)に伝送
    させ、且つ前記第2のプロセッサ(20)が前記第2の伝
    送バス(56)に送出するアドレス及びデータを前記第1
    の伝送バス(50)に伝送するのを阻止するドライバ手段
    (図5)と、 前記第1のプロセッサ(18)が前記第1の伝送バス(5
    0)に送出するアドレス及びデータと前記第2のプロセ
    ッサ(20)が前記第2の伝送バス(56)に送出するアド
    レス及びデータとを比較する手段(図5、図6)と、を
    有し、 前記再実行手段(64)は、 命令実行中前記第1のプロセッサ(18)によって前記メ
    モリー装置(14)から読み出された全てのデータを記憶
    するフェッチ・ログ・ストア(第22図乃至第26図)と、 前記フェッチ・ログ・ストアに対する書き込みを制御す
    る第1のカウンタ(第21A−B図)と、前記比較手段に
    おいてアドレス又はデータの不一致が検知されたとき再
    実行動作を可能とするために前記命令の再実行中前記フ
    ェッチ・ログ・ストアからの読み出しを制御する第2の
    カウンタ(第20A−B図)と、前記第2のカウンタ(第2
    0A−B図)のカウントが前記第1のカウンタ(第21A−
    B図)のカウントに等しいときに前記第1及び第2のプ
    ロセッサ(18、20)の再実行を完了し継続した命令の実
    行を制御する比較器(第19図)とからなるフェッチ・ロ
    グ制御手段と、を有し、 一方のプロセッサの動作を監視し、該プロセッサの動作
    不良を検知して命令の再実行をおこない該プロセッサの
    回復を図ることができる障害回復データ処理システム。
JP61503460A 1985-06-24 1986-06-11 障害回復デ―タ処理システム Expired - Lifetime JP2521738B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/748,361 US4751639A (en) 1985-06-24 1985-06-24 Virtual command rollback in a fault tolerant data processing system
US748361 1985-06-24

Publications (2)

Publication Number Publication Date
JPS63500129A JPS63500129A (ja) 1988-01-14
JP2521738B2 true JP2521738B2 (ja) 1996-08-07

Family

ID=25009138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61503460A Expired - Lifetime JP2521738B2 (ja) 1985-06-24 1986-06-11 障害回復デ―タ処理システム

Country Status (6)

Country Link
US (1) US4751639A (ja)
EP (2) EP0440312B1 (ja)
JP (1) JP2521738B2 (ja)
CA (1) CA1255008A (ja)
DE (3) DE227749T1 (ja)
WO (1) WO1987000316A2 (ja)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE454730B (sv) * 1986-09-19 1988-05-24 Asea Ab Forfarande och datorutrustning for stotfri omkoppling av funktionen fran aktiva enheter till beredskapsenheter i en centralenhet
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
CA2003338A1 (en) * 1987-11-09 1990-06-09 Richard W. Cutts, Jr. Synchronization of fault-tolerant computer system having multiple processors
US5247628A (en) * 1987-11-30 1993-09-21 International Business Machines Corporation Parallel processor instruction dispatch apparatus with interrupt handler
US4959836A (en) * 1987-12-09 1990-09-25 Siemens Transmission Systems, Inc. Register robustness improvement circuit and method
US4945474A (en) * 1988-04-08 1990-07-31 Internatinal Business Machines Corporation Method for restoring a database after I/O error employing write-ahead logging protocols
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5210865A (en) * 1989-06-30 1993-05-11 Digital Equipment Corporation Transferring data between storage media while maintaining host processor access for I/O operations
EP0405859B1 (en) * 1989-06-30 1997-09-17 Digital Equipment Corporation Method and apparatus for managing a shadow set of storage media
US5247618A (en) * 1989-06-30 1993-09-21 Digital Equipment Corporation Transferring data in a digital data processing system
US5239637A (en) * 1989-06-30 1993-08-24 Digital Equipment Corporation Digital data management system for maintaining consistency of data in a shadow set
EP0409808A3 (en) * 1989-07-19 1991-11-27 International Business Machines Corporation Method for ensuring map integrity in a system-managed store of a computer
US5613106A (en) * 1989-09-15 1997-03-18 Motorola, Inc. Method for processing and storing a transaction in a distributed database system
US5193162A (en) * 1989-11-06 1993-03-09 Unisys Corporation Cache memory with data compaction for use in the audit trail of a data processing system having record locking capabilities
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5203004A (en) * 1990-01-08 1993-04-13 Tandem Computers Incorporated Multi-board system having electronic keying and preventing power to improperly connected plug-in board with improperly configured diode connections
US5442772A (en) * 1991-03-29 1995-08-15 International Business Machines Corporation Common breakpoint in virtual time logic simulation for parallel processors
US5313625A (en) * 1991-07-30 1994-05-17 Honeywell Inc. Fault recoverable computer system
GB9121540D0 (en) * 1991-10-10 1991-11-27 Smiths Industries Plc Computing systems and methods
US5664195A (en) * 1993-04-07 1997-09-02 Sequoia Systems, Inc. Method and apparatus for dynamic installation of a driver on a computer system
GB2281644A (en) * 1993-09-02 1995-03-08 Ibm Fault tolerant transaction-oriented data processing.
US5812757A (en) * 1993-10-08 1998-09-22 Mitsubishi Denki Kabushiki Kaisha Processing board, a computer, and a fault recovery method for the computer
JPH10506483A (ja) * 1994-06-10 1998-06-23 テキサス・マイクロ・インコーポレーテッド フォールト・トレラントなコンピュータ・システムのためのメイン・メモリ・システム及びチェックポイント用プロトコル
JP3086779B2 (ja) * 1995-06-19 2000-09-11 株式会社東芝 メモリ状態復元装置
US5737514A (en) * 1995-11-29 1998-04-07 Texas Micro, Inc. Remote checkpoint memory system and protocol for fault-tolerant computer system
US5745672A (en) * 1995-11-29 1998-04-28 Texas Micro, Inc. Main memory system and checkpointing protocol for a fault-tolerant computer system using a read buffer
US5864657A (en) * 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US5751939A (en) * 1995-11-29 1998-05-12 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory
TW379298B (en) * 1996-09-30 2000-01-11 Toshiba Corp Memory updating history saving device and memory updating history saving method
US5923830A (en) * 1997-05-07 1999-07-13 General Dynamics Information Systems, Inc. Non-interrupting power control for fault tolerant computer systems
US7035880B1 (en) 1999-07-14 2006-04-25 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US7395282B1 (en) 1999-07-15 2008-07-01 Commvault Systems, Inc. Hierarchical backup and retrieval system
FR2803057B1 (fr) * 1999-12-22 2002-11-29 Centre Nat Etd Spatiales Systeme informatique tolerant aux erreurs transitoires et procede de gestion dans un tel systeme
US6721767B2 (en) * 2000-01-31 2004-04-13 Commvault Systems, Inc. Application specific rollback in a computer system
US6658436B2 (en) * 2000-01-31 2003-12-02 Commvault Systems, Inc. Logical view and access to data managed by a modular data and storage management system
US7155481B2 (en) 2000-01-31 2006-12-26 Commvault Systems, Inc. Email attachment management in a computer system
US7003641B2 (en) 2000-01-31 2006-02-21 Commvault Systems, Inc. Logical view with granular access to exchange data managed by a modular data and storage management system
US7454569B2 (en) 2003-06-25 2008-11-18 Commvault Systems, Inc. Hierarchical system and method for performing storage operations in a computer network
US7546324B2 (en) 2003-11-13 2009-06-09 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
US7774558B2 (en) 2005-08-29 2010-08-10 The Invention Science Fund I, Inc Multiprocessor resource optimization
US20070050604A1 (en) * 2005-08-29 2007-03-01 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Fetch rerouting in response to an execution-based optimization profile
US7877584B2 (en) * 2005-08-29 2011-01-25 The Invention Science Fund I, Llc Predictive processor resource management
US7627739B2 (en) * 2005-08-29 2009-12-01 Searete, Llc Optimization of a hardware resource shared by a multiprocessor
US7779213B2 (en) * 2005-08-29 2010-08-17 The Invention Science Fund I, Inc Optimization of instruction group execution through hardware resource management policies
US7725693B2 (en) * 2005-08-29 2010-05-25 Searete, Llc Execution optimization using a processor resource management policy saved in an association with an instruction group
US8375247B2 (en) * 2005-08-29 2013-02-12 The Invention Science Fund I, Llc Handling processor computational errors
US7653834B2 (en) * 2005-08-29 2010-01-26 Searete, Llc Power sparing synchronous apparatus
US8423824B2 (en) 2005-08-29 2013-04-16 The Invention Science Fund I, Llc Power sparing synchronous apparatus
US8255745B2 (en) * 2005-08-29 2012-08-28 The Invention Science Fund I, Llc Hardware-error tolerant computing
US8209524B2 (en) 2005-08-29 2012-06-26 The Invention Science Fund I, Llc Cross-architecture optimization
US8181004B2 (en) * 2005-08-29 2012-05-15 The Invention Science Fund I, Llc Selecting a resource management policy for a resource available to a processor
US8516300B2 (en) * 2005-08-29 2013-08-20 The Invention Science Fund I, Llc Multi-votage synchronous systems
US8214191B2 (en) * 2005-08-29 2012-07-03 The Invention Science Fund I, Llc Cross-architecture execution optimization
US7739524B2 (en) * 2005-08-29 2010-06-15 The Invention Science Fund I, Inc Power consumption management
US7647487B2 (en) * 2005-08-29 2010-01-12 Searete, Llc Instruction-associated processor resource optimization
US20070050605A1 (en) * 2005-08-29 2007-03-01 Bran Ferren Freeze-dried ghost pages
US8719809B2 (en) 2006-12-22 2014-05-06 Commvault Systems, Inc. Point in time rollback and un-installation of software
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3533082A (en) 1968-01-15 1970-10-06 Ibm Instruction retry apparatus including means for restoring the original contents of altered source operands
US4030074A (en) 1974-06-03 1977-06-14 Centro Studi E Laboratori Telecomunicazioni System for checking two data processors operating in parallel

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3564506A (en) * 1968-01-17 1971-02-16 Ibm Instruction retry byte counter
US3736566A (en) * 1971-08-18 1973-05-29 Ibm Central processing unit with hardware controlled checkpoint and retry facilities
FR2269148B1 (ja) * 1974-04-25 1978-01-20 Honeywell Bull Soc Ind
DE2523795C3 (de) * 1975-05-28 1979-11-22 Siemens Ag, 1000 Berlin Und 8000 Muenchen Verfahren zum wiederholten Ausführen von Maschinenbefehlen durch eine festverdrahtete Steuerung in einer Verarbeitungseinheit einer Datenverarbeitungsanlage
US4044337A (en) * 1975-12-23 1977-08-23 International Business Machines Corporation Instruction retry mechanism for a data processing system
US4199810A (en) * 1977-01-07 1980-04-22 Rockwell International Corporation Radiation hardened register file
US4456952A (en) * 1977-03-17 1984-06-26 Honeywell Information Systems Inc. Data processing system having redundant control processors for fault detection
JPS589976B2 (ja) * 1977-03-17 1983-02-23 株式会社東芝 演算制御装置
US4270168A (en) * 1978-08-31 1981-05-26 United Technologies Corporation Selective disablement in fail-operational, fail-safe multi-computer control system
NL7909178A (nl) * 1979-12-20 1981-07-16 Philips Nv Rekenmachine met verspreide redundantie welke is verdeeld over verschillende isolatiegebieden voor fouten.
US4315313A (en) * 1979-12-27 1982-02-09 Ncr Corporation Diagnostic circuitry in a data processor
US4387441A (en) 1981-04-16 1983-06-07 Ncr Corporation Data processing system wherein at least one subsystem has a local memory and a mailbox memory within the local memory for storing header information
US4453215A (en) 1981-10-01 1984-06-05 Stratus Computer, Inc. Central processing apparatus for fault-tolerant computing
JPS5957351A (ja) * 1982-09-28 1984-04-02 Nec Corp デ−タ処理システム
JPS5958547A (ja) * 1982-09-28 1984-04-04 Fujitsu Ltd マイクロプログラム制御装置のエラ−処理方式
US4493035A (en) * 1982-12-07 1985-01-08 Motorola, Inc. Data processor version validation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3533082A (en) 1968-01-15 1970-10-06 Ibm Instruction retry apparatus including means for restoring the original contents of altered source operands
US4030074A (en) 1974-06-03 1977-06-14 Centro Studi E Laboratori Telecomunicazioni System for checking two data processors operating in parallel

Also Published As

Publication number Publication date
DE227749T1 (de) 1988-02-04
DE3682039D1 (de) 1991-11-21
CA1255008A (en) 1989-05-30
EP0440312B1 (en) 1997-10-22
WO1987000316A2 (en) 1987-01-15
WO1987000316A3 (en) 1987-02-26
EP0440312A2 (en) 1991-08-07
DE3650651T2 (de) 1998-04-09
JPS63500129A (ja) 1988-01-14
DE3650651D1 (de) 1997-11-27
US4751639A (en) 1988-06-14
EP0227749B1 (en) 1991-10-16
EP0227749A1 (en) 1987-07-08
EP0440312A3 (en) 1991-10-30

Similar Documents

Publication Publication Date Title
JP2521738B2 (ja) 障害回復デ―タ処理システム
EP0204832B1 (en) Error detection and correction system
EP0260584B1 (en) Fault tolerant computer achitecture
US5491793A (en) Debug support in a processor chip
US5317726A (en) Multiple-processor computer system with asynchronous execution of identical code streams
EP0528585B1 (en) Data processing system with internal instruction cache
EP0461792B1 (en) Master/slave checking system
US4805095A (en) Circuit and a method for the selection of original data from a register log containing original and modified data
JPH05197582A (ja) 動的再構成が可能な多数決システムを有するフォールト・トレラント処理装置
US5146564A (en) Interface between a system control unit and a service processing unit of a digital computer
US4722047A (en) Prefetch circuit and associated method for operation with a virtual command emulator
US4231089A (en) Data processing system with apparatus for correcting microinstruction errors
US4486834A (en) Multi-computer system having dual common memory
JPH06242977A (ja) 1チップマイクロプロセッサ
JPH1083305A (ja) 自己整合スタック・ポインタを有するデータ処理システムおよびその方法
US9231618B2 (en) Early data tag to allow data CRC bypass via a speculative memory data return protocol
Rolund et al. The 3B20D Processor & DMERT Operating System: 3B20D Central Processing Unit
JPS6113626B2 (ja)
EP0476262B1 (en) Error handling in a VLSI central processor unit employing a pipelined address and execution module
CN115421945A (zh) 一种满足功能安全需求的处理方法及系统
JPS58166454A (ja) デ−タ処理装置
JPS61139836A (ja) パイプライン計算機の命令制御方式
IE901513A1 (en) Interface between a system control unit and a service¹processing unit of a digital computer
JPH0472266B2 (ja)
JPH01102663A (ja) 制御記憶装置