JP3069585B2 - データ処理装置における目標指定リセット法 - Google Patents
データ処理装置における目標指定リセット法Info
- Publication number
- JP3069585B2 JP3069585B2 JP2203805A JP20380590A JP3069585B2 JP 3069585 B2 JP3069585 B2 JP 3069585B2 JP 2203805 A JP2203805 A JP 2203805A JP 20380590 A JP20380590 A JP 20380590A JP 3069585 B2 JP3069585 B2 JP 3069585B2
- Authority
- JP
- Japan
- Prior art keywords
- reset
- data
- signal
- memory
- data processing
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1633—Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/165—Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Hardware Redundancy (AREA)
- Retry When Errors Occur (AREA)
- Multi Processors (AREA)
- Electronic Switches (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データ処理装置のリセットに関連し、特に
データ処理装置における異なった種類のリセットの管理
の分野に関連する。
データ処理装置における異なった種類のリセットの管理
の分野に関連する。
データ処理システムにおいては、電源を入れる際或い
は特定の種類のエラーが発生した場合等に、特定の状況
下におけるリセットの機能が必要とされる。リセットな
しには、データ処理システムを初期化ルーチン或いはエ
ラー回復ルーチンを開始する所定の状態に設定する方法
はない。
は特定の種類のエラーが発生した場合等に、特定の状況
下におけるリセットの機能が必要とされる。リセットな
しには、データ処理システムを初期化ルーチン或いはエ
ラー回復ルーチンを開始する所定の状態に設定する方法
はない。
リセットについての問題点は、それが広範な影響を及
ぼすことにある。一般に、リセットは、命令実行の通常
のフローを壊し、データや情報の損失を招くことがあ
る。場合によっては、より深刻な問題を防ぐためにこの
ような非常手段が必要となるが、リセットの影響がリセ
ットを起こさせた状態よりもひどいものであることがし
ばしばである。
ぼすことにある。一般に、リセットは、命令実行の通常
のフローを壊し、データや情報の損失を招くことがあ
る。場合によっては、より深刻な問題を防ぐためにこの
ような非常手段が必要となるが、リセットの影響がリセ
ットを起こさせた状態よりもひどいものであることがし
ばしばである。
従来の機器におけるリセットの別の問題はそれを局所
化できないことにある。すなわち一部分だけをリセット
する必要がある場合にデータ処理システム全体をリセッ
トすることになる。このことは、多重プロセッサを例え
ば故障許容業務のため等に用いるシステムにおいて特に
問題となる。このようなシステムにおいては各プロセッ
サの一つにおけるエラーが他のプロセッサに伝播し、シ
ステム全体を止めてしまうことが有り得る。
化できないことにある。すなわち一部分だけをリセット
する必要がある場合にデータ処理システム全体をリセッ
トすることになる。このことは、多重プロセッサを例え
ば故障許容業務のため等に用いるシステムにおいて特に
問題となる。このようなシステムにおいては各プロセッ
サの一つにおけるエラーが他のプロセッサに伝播し、シ
ステム全体を止めてしまうことが有り得る。
もし発信側のプロセッサがリセット信号を生成するに
際して誤りを犯すと、この影響によって実行中に不必要
な停止を引き起すことになる。
際して誤りを犯すと、この影響によって実行中に不必要
な停止を引き起すことになる。
したがって、リセットがリセットを生じた状態と一致
するシステムを設計すれば有効である。
するシステムを設計すれば有効である。
また、このようなシステムが効果の異なる数種類のリ
セットを備えていれば効果的である。
セットを備えていれば効果的である。
さらに、多重プロセッサデータ処理システムにおいて
各プロセッサの一つでのリセットが自動的には他のプロ
セッサに伝播しなければ効果的である。
各プロセッサの一つでのリセットが自動的には他のプロ
セッサに伝播しなければ効果的である。
この発明のその他の効果は、以下の説明によってその
一部が明示され、その他はその説明から明らかとなるか
或いはこの発明を実施することによって知ることができ
る。これらの効果は、添付の特許請求の範囲において特
に示す方法および装置によって理解され得るものであ
る。
一部が明示され、その他はその説明から明らかとなるか
或いはこの発明を実施することによって知ることができ
る。これらの効果は、添付の特許請求の範囲において特
に示す方法および装置によって理解され得るものであ
る。
本発明は、命令の通常の実行をなすハードリセットと
命令操作に対して一般に透明なソフトリセットとを区別
することによって、従来技術における問題点を解決して
上述した目的を達成する。加えて、リセットはシステム
全体に及ぶものおよび局部的なものの両方で有り得る。
そして、多重ゾーン処理システムにおける各ゾーンはそ
れのみのためのリセットを生成し、1つのゾーンで起こ
されたリセットが他のゾーンに自動的には伝播されない
ようにしている。
命令操作に対して一般に透明なソフトリセットとを区別
することによって、従来技術における問題点を解決して
上述した目的を達成する。加えて、リセットはシステム
全体に及ぶものおよび局部的なものの両方で有り得る。
そして、多重ゾーン処理システムにおける各ゾーンはそ
れのみのためのリセットを生成し、1つのゾーンで起こ
されたリセットが他のゾーンに自動的には伝播されない
ようにしている。
この発明の目的にしたがって実施された本明細書にお
いて詳細に説明される命令実行のシーケンスを変更する
ことなしにデータ処理装置をリセットする方法は、デー
タ処理システムによって実行される幾つかの段階によっ
て構成されている。このデータ処理システムはデータ経
路を介して複数の構成要素に接続する中央処理装置を有
している。これらの構成要素は、リセット可能な素子を
含み、中央処理装置は、データ経路に沿って送られる一
連のトランザクションを起こす命令シーケンスを実行す
る。
いて詳細に説明される命令実行のシーケンスを変更する
ことなしにデータ処理装置をリセットする方法は、デー
タ処理システムによって実行される幾つかの段階によっ
て構成されている。このデータ処理システムはデータ経
路を介して複数の構成要素に接続する中央処理装置を有
している。これらの構成要素は、リセット可能な素子を
含み、中央処理装置は、データ経路に沿って送られる一
連のトランザクションを起こす命令シーケンスを実行す
る。
これらの段階には、データ経路上を現在送られている
トランザクションを格納する段階と、リセットが指示さ
れているデータ処理シーケンスの状態を探知する段階
と、リセットの状態が探知された場合に、複数の構成要
素のうちの選択されたものにデータ経路に沿ってリセッ
ト信号を送信してこのリセット信号によってこれらの選
択された構成要素にそれらの要素の部分をリセットさせ
る段階と、データ経路に沿って格納した現行のトランザ
クションを再送する段階とを含む。
トランザクションを格納する段階と、リセットが指示さ
れているデータ処理シーケンスの状態を探知する段階
と、リセットの状態が探知された場合に、複数の構成要
素のうちの選択されたものにデータ経路に沿ってリセッ
ト信号を送信してこのリセット信号によってこれらの選
択された構成要素にそれらの要素の部分をリセットさせ
る段階と、データ経路に沿って格納した現行のトランザ
クションを再送する段階とを含む。
(実施例) 本発明の好適な実施例を詳細に参照するが、この実施
例の具体例は添付図に示されている。
例の具体例は添付図に示されている。
A.システムの説明 第1図は本発明による故障許容コンピュータ・システ
ム10のブロック図である。この故障許容コンピュータ・
システム10はゾーンと呼ぶ重複システムを有している。
通常のモードの場合、2つのゾーン11と11′が同時に動
作している。この重複によって、1つの素子の故障によ
ってシステム全体が故障してしまうことがなく、ゾーン
11または11′の1つにエラーまたは故障が発生しても、
これによってコンピュータ・システム10が動作不能にな
らないことが保証される。さらに、こうした故障は、こ
れを発生させた装置または素子を動作不能にするまたは
無視することによって取り除くことができる。第1図に
示すゾーン11と11′は、それぞれ重複処理装置20と20′
を有している。しかし、これらが重複して設けられてい
ることによって、処理装置以上のことを行うことができ
る。
ム10のブロック図である。この故障許容コンピュータ・
システム10はゾーンと呼ぶ重複システムを有している。
通常のモードの場合、2つのゾーン11と11′が同時に動
作している。この重複によって、1つの素子の故障によ
ってシステム全体が故障してしまうことがなく、ゾーン
11または11′の1つにエラーまたは故障が発生しても、
これによってコンピュータ・システム10が動作不能にな
らないことが保証される。さらに、こうした故障は、こ
れを発生させた装置または素子を動作不能にするまたは
無視することによって取り除くことができる。第1図に
示すゾーン11と11′は、それぞれ重複処理装置20と20′
を有している。しかし、これらが重複して設けられてい
ることによって、処理装置以上のことを行うことができ
る。
第2図は、故障許容コンピュータ・システム10の物理
的ハードウェアを示し、システムが重複して設けられて
いることを図によって示す。各ゾーン11と11′は、別の
キャビネット11と12′にそれぞれ内蔵されている。キャ
ビネット12は、バッテリ13、電源調整装置14、冷却ファ
ン16およびAC入力17を有する。キャビネット12′はキャ
ビネット12の素子13、14、16および17に対応する別の素
子を有する。
的ハードウェアを示し、システムが重複して設けられて
いることを図によって示す。各ゾーン11と11′は、別の
キャビネット11と12′にそれぞれ内蔵されている。キャ
ビネット12は、バッテリ13、電源調整装置14、冷却ファ
ン16およびAC入力17を有する。キャビネット12′はキャ
ビネット12の素子13、14、16および17に対応する別の素
子を有する。
以下で詳細に説明するように、処理装置20および20′
は背面板によって相互に接続された幾つかのモジュール
を有する。もし1つのモジュールに故障またはエラーが
あれば、このモジュールは、コンピュータ・システム10
を動作不能にすることなく、取り外して取り替えること
ができる。これは、処理装置20と20′が物理的に分離さ
れ、モジュールがプラグによって挿入されている別の背
面板を有し、相互に独立して動作することができるため
である。従って、これらのモジュールは、一方の処理装
置が動作を継続している間に、他方の処理装置の背面板
から取り外しまたはその背面板にプラグによって挿入す
ることができる。
は背面板によって相互に接続された幾つかのモジュール
を有する。もし1つのモジュールに故障またはエラーが
あれば、このモジュールは、コンピュータ・システム10
を動作不能にすることなく、取り外して取り替えること
ができる。これは、処理装置20と20′が物理的に分離さ
れ、モジュールがプラグによって挿入されている別の背
面板を有し、相互に独立して動作することができるため
である。従って、これらのモジュールは、一方の処理装
置が動作を継続している間に、他方の処理装置の背面板
から取り外しまたはその背面板にプラグによって挿入す
ることができる。
好適な実施例の場合、重複処理装置20および20′は同
一のものであり、同一のモジュールを内蔵している。し
たがって、処理装置20′は同じ動作をすると理解して、
処理装置20のみを完全に説明する。
一のものであり、同一のモジュールを内蔵している。し
たがって、処理装置20′は同じ動作をすると理解して、
処理装置20のみを完全に説明する。
処理装置20は第3図および第4図に詳細に示すCPUモ
ジュール30を有している。CPUモジュール30は、以下で
詳細に説明するクロスリンク経路25によって処理装置2
0′のCPUモジュール30′と相互に接続されている。クロ
スリンク経路25によって、処理装置20と20′との間にデ
ータ転送経路が設けられ、処理装置20と20′が同期して
動作することを保証するためにタイミング信号が搬送さ
れる。
ジュール30を有している。CPUモジュール30は、以下で
詳細に説明するクロスリンク経路25によって処理装置2
0′のCPUモジュール30′と相互に接続されている。クロ
スリンク経路25によって、処理装置20と20′との間にデ
ータ転送経路が設けられ、処理装置20と20′が同期して
動作することを保証するためにタイミング信号が搬送さ
れる。
処理装置20はまたI/Oモジュール100、100、および120
を有する。I/Oモジュール100、110、120、100′、110′
および120′は独立した装置である。第1図、第4図お
よび第17図はI/Oモジュール100を詳細に示す。複数のI/
Oモジュールを図示するが、これらの重複したモジュー
ルはこのシステムによって要求されるものではない。し
かし、このような重複がなければ、ある程度の補償許容
度が失われる。
を有する。I/Oモジュール100、110、120、100′、110′
および120′は独立した装置である。第1図、第4図お
よび第17図はI/Oモジュール100を詳細に示す。複数のI/
Oモジュールを図示するが、これらの重複したモジュー
ルはこのシステムによって要求されるものではない。し
かし、このような重複がなければ、ある程度の補償許容
度が失われる。
I/Oモジュール100、110、120の各々は、デュアル・レ
ール・モジュール相互接続部130および132によってCPU
モジュール30に接続される。モジュール相互接続部130
と132はI/O相互接続部として機能し、背面板を介して処
理装置20に接続されている。この用途に使用するため、
CPU40、メモリ・コントローラ70、クロスリンク90およ
びモジュール相互接続部130を有するデータ経路が一方
のレールと考えられ、CPU50、メモリ・コントローラ7
5、クロスリンク95、およびモジュール相互接続部132を
有するデータ経路が他方のレールと考えられる。動作が
正しく行われている間は、両方のレールのデータは同じ
である。
ール・モジュール相互接続部130および132によってCPU
モジュール30に接続される。モジュール相互接続部130
と132はI/O相互接続部として機能し、背面板を介して処
理装置20に接続されている。この用途に使用するため、
CPU40、メモリ・コントローラ70、クロスリンク90およ
びモジュール相互接続部130を有するデータ経路が一方
のレールと考えられ、CPU50、メモリ・コントローラ7
5、クロスリンク95、およびモジュール相互接続部132を
有するデータ経路が他方のレールと考えられる。動作が
正しく行われている間は、両方のレールのデータは同じ
である。
B.故障操作システムの原理 故障許容コンピュータ・システム10では、各素子が重
複して設けられているため、1つの素子の故障によって
システム全体が故障してしまうことはない。処理装置20
と20′は、それぞれ故障停止処理装置であり、このこと
は、これらのシステムがサブシステム内の故障またはエ
ラーを検出し、これらの故障またはエラーが他のサブシ
ステムに制御されない状態で広がることを防止すること
ができる。しかし、これらの処理装置では、各処理装置
内の素子が重複して設けられていないため、1つの素子
の故障によってシステム全体が故障してしまう。
複して設けられているため、1つの素子の故障によって
システム全体が故障してしまうことはない。処理装置20
と20′は、それぞれ故障停止処理装置であり、このこと
は、これらのシステムがサブシステム内の故障またはエ
ラーを検出し、これらの故障またはエラーが他のサブシ
ステムに制御されない状態で広がることを防止すること
ができる。しかし、これらの処理装置では、各処理装置
内の素子が重複して設けられていないため、1つの素子
の故障によってシステム全体が故障してしまう。
2つの故障停止処理装置20と20′は、所定の方法で動
作するある種の素子によって相互に接続され、フェール
・セーフ・システムを形成する。故障許容コンピュータ
・システム10として具体化されているフェール・セーフ
・システムの場合、たとえ故障停止処理装置20および2
0′の一方が故障しても、コンピュータ・システムは全
体として処理を継続することができる。
作するある種の素子によって相互に接続され、フェール
・セーフ・システムを形成する。故障許容コンピュータ
・システム10として具体化されているフェール・セーフ
・システムの場合、たとえ故障停止処理装置20および2
0′の一方が故障しても、コンピュータ・システムは全
体として処理を継続することができる。
2つの故障停止処理装置20と20′はロックステップ同
期で動作すると考えられるが、その理由は、CPU40、5
0、40′および50′がこのような同期で動作するからで
ある。この場合、3つの重要な例外が存在する。第1の
例外は、ブートストラッピング技術によって両方のプロ
セッサを同期させる初期化の時に発生する。第2の例外
は、処理装置20と20′が2つの異なった作業負荷で独立
して(非同期の状態で)動作する場合に発生する。第3
の例外は、ある種のエラーが処理装置20と20′に発生す
る場合に起こる。この最後の例外の場合、これらの処理
装置の内の一方のCPUとメモリ素子を動作不能にし、こ
れによって同期動作を終了する。
期で動作すると考えられるが、その理由は、CPU40、5
0、40′および50′がこのような同期で動作するからで
ある。この場合、3つの重要な例外が存在する。第1の
例外は、ブートストラッピング技術によって両方のプロ
セッサを同期させる初期化の時に発生する。第2の例外
は、処理装置20と20′が2つの異なった作業負荷で独立
して(非同期の状態で)動作する場合に発生する。第3
の例外は、ある種のエラーが処理装置20と20′に発生す
る場合に起こる。この最後の例外の場合、これらの処理
装置の内の一方のCPUとメモリ素子を動作不能にし、こ
れによって同期動作を終了する。
システムがロックステップI/Oで動作している場合、
いずれの1つの時間にも、1つのI/O装置のみしかアク
セスすることができない。しかし、4つのCPU40、50、4
0′および50′は全て実質的に同じ時間に同じデータを
このI/O装置から受け取る。以下の議論では、これらの
処理装置のロックステップ同期とは、1つのI/Oモジュ
ールのみがアクセスされていることを意味すると理解で
きる。
いずれの1つの時間にも、1つのI/O装置のみしかアク
セスすることができない。しかし、4つのCPU40、50、4
0′および50′は全て実質的に同じ時間に同じデータを
このI/O装置から受け取る。以下の議論では、これらの
処理装置のロックステップ同期とは、1つのI/Oモジュ
ールのみがアクセスされていることを意味すると理解で
きる。
重複して設けられた処理装置20および20′の同期は、
各システムを決定性を有する機械として取り扱うことに
よって実行され、この場合、これらのシステムは、同じ
入力を受けて同じ既知の状態でスタートし、常に同じ機
械状態に入り、エラーのない場合には、同じ結果を発生
する。処理装置20と20′は同じ構成を有し、同じ入力を
受取、従って、同じ状態を通過する。従って、両方の処
理装置が同期して動作する限り、これらは同じ結果を発
生すると共に同じ状態に入る。もしこれらの処理装置が
同じ状態でなく、または異なった結果を発生すれば、こ
れらの処理装置20と20′の一方が故障していると考えら
れる。そこで修正動作を行うためには、故障しているモ
ジュールを動作不能にする等によって、故障の原因を取
り除かなければならない。
各システムを決定性を有する機械として取り扱うことに
よって実行され、この場合、これらのシステムは、同じ
入力を受けて同じ既知の状態でスタートし、常に同じ機
械状態に入り、エラーのない場合には、同じ結果を発生
する。処理装置20と20′は同じ構成を有し、同じ入力を
受取、従って、同じ状態を通過する。従って、両方の処
理装置が同期して動作する限り、これらは同じ結果を発
生すると共に同じ状態に入る。もしこれらの処理装置が
同じ状態でなく、または異なった結果を発生すれば、こ
れらの処理装置20と20′の一方が故障していると考えら
れる。そこで修正動作を行うためには、故障しているモ
ジュールを動作不能にする等によって、故障の原因を取
り除かなければならない。
エラーの検出は、一般的に別の処理時間または論理の
形でのオーバヘッドを含む。このようなオーバヘッドを
最小にするため、システムは故障許容動作と調和しなが
ら、エラー・チェックをできるだけ少ない回数行わなけ
ればならない。少なくとも、エラーのチェックはデータ
がCPU30と30′から出力される前に行われなければなら
ない。そうでなければ、内部処理のエラーによって、原
子炉のような外部システムに正しくない動作が発生する
が、これは故障許容システムの設計によって防止しよう
としている状態である。
形でのオーバヘッドを含む。このようなオーバヘッドを
最小にするため、システムは故障許容動作と調和しなが
ら、エラー・チェックをできるだけ少ない回数行わなけ
ればならない。少なくとも、エラーのチェックはデータ
がCPU30と30′から出力される前に行われなければなら
ない。そうでなければ、内部処理のエラーによって、原
子炉のような外部システムに正しくない動作が発生する
が、これは故障許容システムの設計によって防止しよう
としている状態である。
これ以外にエラーのチェックを行う理由が存在する。
例えば、故障またはエラーを除去するためには、記憶ま
たは使用する前に、CPUモジュール30および30′の受け
取ったデータをチェックすることが望ましい。そうでな
ければ、記憶されているエラーのあるデータを後にアク
セスされ、その結果、別のエラーが発生すると、特にこ
のエラーのあるデータが一定期間記憶された場合には、
これらのエラーの最初の原因を見出だすことが困難また
は不可能になる。時間が経過することとこれらのエラー
のあるデータがその後処理されることによって、エラー
の原因を追跡することができなくなる可能性がある。
例えば、故障またはエラーを除去するためには、記憶ま
たは使用する前に、CPUモジュール30および30′の受け
取ったデータをチェックすることが望ましい。そうでな
ければ、記憶されているエラーのあるデータを後にアク
セスされ、その結果、別のエラーが発生すると、特にこ
のエラーのあるデータが一定期間記憶された場合には、
これらのエラーの最初の原因を見出だすことが困難また
は不可能になる。時間が経過することとこれらのエラー
のあるデータがその後処理されることによって、エラー
の原因を追跡することができなくなる可能性がある。
検出される前にエラーが記憶されていた時間を指す
「エラーの潜伏時間」によって、同様に後で問題が発生
する可能性がある。例えば、コンピュータ・システムが
以前に発生したエラーによって小さくなったキャパシテ
ィで既に動作している場合に、滅多に使わないルーチン
によって潜在するエラーの見付かる場合がある。コンピ
ュータのキャパシティが減少している場合、潜在するエ
ラーによってシステムが破壊される場合がある。
「エラーの潜伏時間」によって、同様に後で問題が発生
する可能性がある。例えば、コンピュータ・システムが
以前に発生したエラーによって小さくなったキャパシテ
ィで既に動作している場合に、滅多に使わないルーチン
によって潜在するエラーの見付かる場合がある。コンピ
ュータのキャパシティが減少している場合、潜在するエ
ラーによってシステムが破壊される場合がある。
更に、処理装置20および20′がデュアル・レール・シ
ステムになっている場合、データをメモリのような共有
の資源である1つのレール・システムに転送するのに先
立って、エラーをチェックすることが望ましい。この理
由は、このような転送を行った後には最早2つの独立す
るデータのソースが存在しないためであり、もしシング
ル・レール・システムで後になって何らかのエラーが検
出された場合、このエラーを追跡することは、不可能で
ないにしても困難になる。
ステムになっている場合、データをメモリのような共有
の資源である1つのレール・システムに転送するのに先
立って、エラーをチェックすることが望ましい。この理
由は、このような転送を行った後には最早2つの独立す
るデータのソースが存在しないためであり、もしシング
ル・レール・システムで後になって何らかのエラーが検
出された場合、このエラーを追跡することは、不可能で
ないにしても困難になる。
C.モジュールの説明 1.CPUモジュール 第1図に示すCPUモジュール30の素子を第3図および
第4図により詳細に示す。第3図はCPUモジュールのブ
ロック図であり、第4図はCPUモジュール30とI/Oモジュ
ール100並びにこれらの相互接続部のブロック図であ
る。CPUモジュール30および30′の動作およびこれらに
含まれる素子は一般的に同じであるため、CPU30のみを
説明する。
第4図により詳細に示す。第3図はCPUモジュールのブ
ロック図であり、第4図はCPUモジュール30とI/Oモジュ
ール100並びにこれらの相互接続部のブロック図であ
る。CPUモジュール30および30′の動作およびこれらに
含まれる素子は一般的に同じであるため、CPU30のみを
説明する。
CPUモジュールは、デュアルCPU40と50を内蔵する。CP
U40と50は当業者に周知の標準的な中央処理装置であ
る。好適な実施例の場合、CPU40と50は本出願の譲受人
であるディジタル・エクイップメント会社によって製造
されたVAXマイクロプロセッサである。
U40と50は当業者に周知の標準的な中央処理装置であ
る。好適な実施例の場合、CPU40と50は本出願の譲受人
であるディジタル・エクイップメント会社によって製造
されたVAXマイクロプロセッサである。
CPU40と50に関連するのはそれぞれキャッシュ・メモ
リ42と52であり、これらはCPUに対して十分なメモリの
サイズを有する標準のキャッシュRAMである。好適な実
施例の場合、キャッシュRAMは4K×64ビットである。し
かし、本発明がキャッシュRAMを有する必要はない。
リ42と52であり、これらはCPUに対して十分なメモリの
サイズを有する標準のキャッシュRAMである。好適な実
施例の場合、キャッシュRAMは4K×64ビットである。し
かし、本発明がキャッシュRAMを有する必要はない。
2.メモリ・モジュール CPU40と50は、最高4つのメモリ・モジュール60を共
有できることが望ましい。第5図はCPUモジュール30に
接続して示した1つのメモリ・モジュール60のブロック
図である。
有できることが望ましい。第5図はCPUモジュール30に
接続して示した1つのメモリ・モジュール60のブロック
図である。
メモリ転送サイクル、状態レジスタ転送サイクルおよ
びEEPROM転送サイクルの期間中、各メモリ・モジュール
60は双方向データ・バス85を介してプライマリ・メモリ
・コントローラ70にデータを転送すると共にこれからデ
ータの転送を受ける。各メモリモジュール60は、またそ
れぞれバス80および82を介してメモリ・コントローラ70
と75からアドレス信号、制御信号、タイミング信号およ
びECC信号を受け取る。バス80および82のアドレス信号
は、ボード信号、バンク信号、および行アドレス信号の
列アドレス信号を含み、これらによってデータ転送に含
まれるメモリ・ボード・アドレス、バンク・アドレス、
および行および列アドレスが識別される。
びEEPROM転送サイクルの期間中、各メモリ・モジュール
60は双方向データ・バス85を介してプライマリ・メモリ
・コントローラ70にデータを転送すると共にこれからデ
ータの転送を受ける。各メモリモジュール60は、またそ
れぞれバス80および82を介してメモリ・コントローラ70
と75からアドレス信号、制御信号、タイミング信号およ
びECC信号を受け取る。バス80および82のアドレス信号
は、ボード信号、バンク信号、および行アドレス信号の
列アドレス信号を含み、これらによってデータ転送に含
まれるメモリ・ボード・アドレス、バンク・アドレス、
および行および列アドレスが識別される。
第5図に示すように、各メモリ・モジュール60はメモ
リ・アレイ600を有する。各メモリ・アレイ600はDRAMが
8バンクのメモリに組織されている標準RAMである。好
適な実施例の場合、高速ページ・モード型のDRAMが使用
される。
リ・アレイ600を有する。各メモリ・アレイ600はDRAMが
8バンクのメモリに組織されている標準RAMである。好
適な実施例の場合、高速ページ・モード型のDRAMが使用
される。
メモリ・モジュール60には、また制御ロジック610、
データ・トランシーバ/レジスタ620、メモリ・ドライ
バ630、およびEEPROM640が含まれる。データ・トランシ
ーバ/レジスタ620によってメモリ・アレイ600とデータ
・バス85の双方向データ線と間でデータを転送するため
のデータ・バスとデータ・インタフェースが設けられ
る。メモリ・ドライバ630は、制御ロジック610からメモ
リ・アレイ600の各バンクに対して行および列アドレス
信号と制御信号を分配し、ロングワードのデータとその
対応するECC信号をメモリ・ボード信号とバンク・アド
レス信号によって選択されたメモリ・バンクに対して転
送すると共にこれらがそこから転送されることを可能に
する。
データ・トランシーバ/レジスタ620、メモリ・ドライ
バ630、およびEEPROM640が含まれる。データ・トランシ
ーバ/レジスタ620によってメモリ・アレイ600とデータ
・バス85の双方向データ線と間でデータを転送するため
のデータ・バスとデータ・インタフェースが設けられ
る。メモリ・ドライバ630は、制御ロジック610からメモ
リ・アレイ600の各バンクに対して行および列アドレス
信号と制御信号を分配し、ロングワードのデータとその
対応するECC信号をメモリ・ボード信号とバンク・アド
レス信号によって選択されたメモリ・バンクに対して転
送すると共にこれらがそこから転送されることを可能に
する。
いずれのタイプのNVRAM(不揮発性RAM)であってもよ
いEEPROM640によって、オフ・ライン修理用のメモリ・
エラー・データとモジュールのサイズのような構成デー
タが記憶される。故障の発生後メモリ・モジュールが取
り外された場合、故障の原因を判定するため、記憶され
ているデータがEEPROM640から取り出される。EEPROM640
は、ドライバ630からの行アドレス線を介して、制御ロ
ジック610からのEEPROM制御信号によってアドレスされ
る。EEPROM640は、32ビットの内部メモリ・データ・バ
ス645に対して8ビットのデータを転送し、ここからの
データを受け取る。
いEEPROM640によって、オフ・ライン修理用のメモリ・
エラー・データとモジュールのサイズのような構成デー
タが記憶される。故障の発生後メモリ・モジュールが取
り外された場合、故障の原因を判定するため、記憶され
ているデータがEEPROM640から取り出される。EEPROM640
は、ドライバ630からの行アドレス線を介して、制御ロ
ジック610からのEEPROM制御信号によってアドレスされ
る。EEPROM640は、32ビットの内部メモリ・データ・バ
ス645に対して8ビットのデータを転送し、ここからの
データを受け取る。
制御ロジック610は、メモリ・モジュール60の素子に
対してアドレス信号を転送すると共に内部タイミングと
制御信号を発生する。第6図に詳細に示すように、制御
ロジック612はプライマリ/ミラー(PRI/MIR)指定回路
612を有する。
対してアドレス信号を転送すると共に内部タイミングと
制御信号を発生する。第6図に詳細に示すように、制御
ロジック612はプライマリ/ミラー(PRI/MIR)指定回路
612を有する。
プライマリ/ミラー指定回路612は、バス80と82でメ
モリ・コントローラ70と75から2組のメモリ・ボード・
アドレス・バンク・アドレス、行および列アドレス、サ
イクル・タイプ・サイクル・タイミング信号を受け取
り、またバス80と82でメモリ・コントローラに対して2
組のECC信号を転送すると共にここからこれを受け取
る。指定装置612のトランシーバ/レジスタによって、
これらの信号をバス80と82との間で授受するバッファと
インタフェースが設けられる。状態レジスタ618に記憶
されているプライマリ/ミラー・マルチプレクサのビッ
トによって、メモリ・コントローラ70と75のいずれがプ
ライマリ・メモリ・コントローラとして指定され、いず
れがミラー・メモリ・コントローラとして指定されたか
が指示され、プライマリ/ミラー・マルチプレクサ信号
が状態レジスタ618から指定装置612に加えられる。
モリ・コントローラ70と75から2組のメモリ・ボード・
アドレス・バンク・アドレス、行および列アドレス、サ
イクル・タイプ・サイクル・タイミング信号を受け取
り、またバス80と82でメモリ・コントローラに対して2
組のECC信号を転送すると共にここからこれを受け取
る。指定装置612のトランシーバ/レジスタによって、
これらの信号をバス80と82との間で授受するバッファと
インタフェースが設けられる。状態レジスタ618に記憶
されているプライマリ/ミラー・マルチプレクサのビッ
トによって、メモリ・コントローラ70と75のいずれがプ
ライマリ・メモリ・コントローラとして指定され、いず
れがミラー・メモリ・コントローラとして指定されたか
が指示され、プライマリ/ミラー・マルチプレクサ信号
が状態レジスタ618から指定装置612に加えられる。
プライマリ/ミラー指定装置612によって、制御ロジ
ック610に分配する2組の信号が与えられる。1組の信
号は指定されたプライマリ・メモリ・ボード・アドレ
ス、バンク・アドレス、行および列アドレス、サイクル
・タイプ、サイクル・タイミングおよびECC信号を含
む。他方の組の信号は、指定されたミラー・メモリ・ボ
ード・アドレス信号、バンク・アドレス信号、列および
行アドレス信号、サイクル・タイプ信号、サイクル・タ
イミング信号、およびECC信号を含む。プライマリ/ミ
ラー・マルチプレクサ信号は、バス80と82の信号がそれ
ぞれ指定されたプライマリ信号を搬送する線および指定
されたミラー信号を搬送する線に向けられるか、または
その逆であるかを選択するために指定装置612によって
使用される。
ック610に分配する2組の信号が与えられる。1組の信
号は指定されたプライマリ・メモリ・ボード・アドレ
ス、バンク・アドレス、行および列アドレス、サイクル
・タイプ、サイクル・タイミングおよびECC信号を含
む。他方の組の信号は、指定されたミラー・メモリ・ボ
ード・アドレス信号、バンク・アドレス信号、列および
行アドレス信号、サイクル・タイプ信号、サイクル・タ
イミング信号、およびECC信号を含む。プライマリ/ミ
ラー・マルチプレクサ信号は、バス80と82の信号がそれ
ぞれ指定されたプライマリ信号を搬送する線および指定
されたミラー信号を搬送する線に向けられるか、または
その逆であるかを選択するために指定装置612によって
使用される。
バス80と82には多数の時分割多重双方向線が含まれて
いる。メモリ転送サイクル、状態レジスタ転送サイク
ル、およびEEPROM転送サイクルの開始後一定の時間に、
データ・バス75のデータに対応するECC信号がこれらの
時分割多重双方向線に載置される。もしこの転送サイク
ルが書き込みサイクルであれば、メモリモジュール60は
メモリ・コントローラからデータとECC信号を受け取
る。もしこの転送サイクルが読み出しサイクルであれ
ば、メモリ・モジュール60はデータとECC信号をメモリ
・モジュールに転送する。転送サイクルの他の時間に、
アドレス信号、制御信号およびタイミング信号は時分割
多重双方向線でメモリ・モジュール60によって受け取ら
れる。メモリ転送サイクル、状態レジスタ転送サイク
ル、およびEEPROM転送サイクルの始めに、メモリ・コン
トローラ70と75がメモリ・ボード・アドレス、バンク・
アドレス、およびサイクル・タイプ信号をこれらの時間
共有線で各メモリ・モジュール60に転送することが望ま
しい。
いる。メモリ転送サイクル、状態レジスタ転送サイク
ル、およびEEPROM転送サイクルの開始後一定の時間に、
データ・バス75のデータに対応するECC信号がこれらの
時分割多重双方向線に載置される。もしこの転送サイク
ルが書き込みサイクルであれば、メモリモジュール60は
メモリ・コントローラからデータとECC信号を受け取
る。もしこの転送サイクルが読み出しサイクルであれ
ば、メモリ・モジュール60はデータとECC信号をメモリ
・モジュールに転送する。転送サイクルの他の時間に、
アドレス信号、制御信号およびタイミング信号は時分割
多重双方向線でメモリ・モジュール60によって受け取ら
れる。メモリ転送サイクル、状態レジスタ転送サイク
ル、およびEEPROM転送サイクルの始めに、メモリ・コン
トローラ70と75がメモリ・ボード・アドレス、バンク・
アドレス、およびサイクル・タイプ信号をこれらの時間
共有線で各メモリ・モジュール60に転送することが望ま
しい。
行アドレス信号と列アドレス信号は同じ転送サイクル
中に同じ行および列アドレス線で多重化されることが望
ましい。先ず、行アドレスがメモリ・コントローラによ
ってメモリ・モジュール60に加えられ、約60ナノ秒後に
列アドレスが加えられる。
中に同じ行および列アドレス線で多重化されることが望
ましい。先ず、行アドレスがメモリ・コントローラによ
ってメモリ・モジュール60に加えられ、約60ナノ秒後に
列アドレスが加えられる。
シーケンサ616は、システム・クロック信号とリセッ
ト信号をCPUモジュール30から入力として受け取り、指
定されたプライマリ・サイクル・タイミング信号、指定
されたプライマリ・サイクル・タイプ信号、指定された
ミラー・サイクル・タイミング信号、および指定された
ミラー・サイクル・タイプ信号を指定装置612のトラン
シーバ/レジスタから受け取る。
ト信号をCPUモジュール30から入力として受け取り、指
定されたプライマリ・サイクル・タイミング信号、指定
されたプライマリ・サイクル・タイプ信号、指定された
ミラー・サイクル・タイミング信号、および指定された
ミラー・サイクル・タイプ信号を指定装置612のトラン
シーバ/レジスタから受け取る。
シーケンサ616は、種々のタイプのサイクルを実行す
るために必要な多数の制御およびシーケンス・タイミン
グ信号を発生し、これらをメモリ・モジュールに対して
分配する関連したステアリング(steering)論理を有す
るリング・カウンタである。制御およびシーケンス・タ
イミング信号は、システム・クロック信号、指定された
プライマリ・サイクル・タイミング信号、および指定さ
れたプライマリ・サイクル・タイプ信号から発生され
る。
るために必要な多数の制御およびシーケンス・タイミン
グ信号を発生し、これらをメモリ・モジュールに対して
分配する関連したステアリング(steering)論理を有す
るリング・カウンタである。制御およびシーケンス・タ
イミング信号は、システム・クロック信号、指定された
プライマリ・サイクル・タイミング信号、および指定さ
れたプライマリ・サイクル・タイプ信号から発生され
る。
シーケンサ616は、またシステム・クロック信号、指
定されたミラー・サイクル・タイミング信号、および指
定されたミラー・サイクル・タイプ信号から重複した組
のシーケンス・タイミング信号を発生する。これらの重
複したシーケンス・タイミング信号は、エラーのチェッ
クのために使用される。高速ページモードで多重のロン
グワードのデータをメモリ・モジュール60との間で授受
するためには、各組の列アドレスは第1の組でスタート
し、127秒遅れて次の列アドレス120がこれに続き、各々
のロングワードのデータは前のロングワードのデータの
後で120ナノ秒遅れてバス85を横切って移動される。
定されたミラー・サイクル・タイミング信号、および指
定されたミラー・サイクル・タイプ信号から重複した組
のシーケンス・タイミング信号を発生する。これらの重
複したシーケンス・タイミング信号は、エラーのチェッ
クのために使用される。高速ページモードで多重のロン
グワードのデータをメモリ・モジュール60との間で授受
するためには、各組の列アドレスは第1の組でスタート
し、127秒遅れて次の列アドレス120がこれに続き、各々
のロングワードのデータは前のロングワードのデータの
後で120ナノ秒遅れてバス85を横切って移動される。
シーケンサ616は、またtx/rxレジスタ制御信号を発生
する。tx/rxレジスタ制御信号は、トランシーバ/レジ
スタ620の動作と指定装置612のトランシーバ/レジスタ
を制御するために発生される。データの流れの方向は、
シーケンサ616のステアリングロジックによって決定さ
れ、このシーケンサ616はtx/rx制御信号とシーケンス・
タイミング信号を発生することによって、指定されたプ
ライマリ・サイクル・タイプ信号に応答し、データとEC
C信号がメモリ・モジュール60のトランシーバ/レジス
タに対して書き込まれるべきであるかまたはここから読
み出されるべきであるか、およびそれらが何時行われる
べきであるか示す。メモリ書き込みサイクル中、状態レ
ジスタ書き込みサイクル中、および書き込みサイクル
中、データおよびECC信号はバス80、82、および85から
トランシーバ/レジスタにラッチされ、一方メモリ読み
出しサイクル中、状態レジスタ読み出しサイクル中、お
よびEEPROM6読み出しサイクル中、データおよびECC信号
は、メモリ・アレイ600、状態レジスタ618、またはEEPR
OM640からトランシーバ/レジスタにラッチされて、CPU
モジュール30に出力される。
する。tx/rxレジスタ制御信号は、トランシーバ/レジ
スタ620の動作と指定装置612のトランシーバ/レジスタ
を制御するために発生される。データの流れの方向は、
シーケンサ616のステアリングロジックによって決定さ
れ、このシーケンサ616はtx/rx制御信号とシーケンス・
タイミング信号を発生することによって、指定されたプ
ライマリ・サイクル・タイプ信号に応答し、データとEC
C信号がメモリ・モジュール60のトランシーバ/レジス
タに対して書き込まれるべきであるかまたはここから読
み出されるべきであるか、およびそれらが何時行われる
べきであるか示す。メモリ書き込みサイクル中、状態レ
ジスタ書き込みサイクル中、および書き込みサイクル
中、データおよびECC信号はバス80、82、および85から
トランシーバ/レジスタにラッチされ、一方メモリ読み
出しサイクル中、状態レジスタ読み出しサイクル中、お
よびEEPROM6読み出しサイクル中、データおよびECC信号
は、メモリ・アレイ600、状態レジスタ618、またはEEPR
OM640からトランシーバ/レジスタにラッチされて、CPU
モジュール30に出力される。
シーケンサ616は、またEEPROM制御信号を発生して、E
EPROM640の動作を制御する。
EPROM640の動作を制御する。
メモリ・モジュール60に存在するタイミング関係はシ
ステム・クロック信号の立ち上がり時間を参考にして決
められるが、このシステム・クロック信号は30ナノ秒の
間隔を有している。全ての状態レジスタ読み出しおよび
書き込みサイクルと1つのロングワードの全てのメモリ
読み出しおよび書き込みサイクルは、10システム・クロ
ックの時間内、すなわち300ナノ秒内に実行される。メ
モリ読み出しおよび書き込み転送サイクルは、多重化さ
れたロングワードの転送によって構成されることができ
る。別のロングワードが転送される毎に、メモリ転送サ
イクルは4システム・クロックの期間だけさらに延長さ
れる。メモリ・リフレッシュ・サイクルとEEPROM書き込
みサイクルを実行するには少なくとも12システム・クロ
ックの間隔が必要であり、EEPROM読み出しサイクルは、
少なくとも20システム・クロックの間隔を必要とする。
ステム・クロック信号の立ち上がり時間を参考にして決
められるが、このシステム・クロック信号は30ナノ秒の
間隔を有している。全ての状態レジスタ読み出しおよび
書き込みサイクルと1つのロングワードの全てのメモリ
読み出しおよび書き込みサイクルは、10システム・クロ
ックの時間内、すなわち300ナノ秒内に実行される。メ
モリ読み出しおよび書き込み転送サイクルは、多重化さ
れたロングワードの転送によって構成されることができ
る。別のロングワードが転送される毎に、メモリ転送サ
イクルは4システム・クロックの期間だけさらに延長さ
れる。メモリ・リフレッシュ・サイクルとEEPROM書き込
みサイクルを実行するには少なくとも12システム・クロ
ックの間隔が必要であり、EEPROM読み出しサイクルは、
少なくとも20システム・クロックの間隔を必要とする。
指定されたプライマリ・サイクル、タイミング信号に
よって、シーケンサ616はシーケンス・タイミング信号
と制御信号との発生を開始し、これらの信号によって、
メモリ・ボート・アドレス信号によって選択されたメモ
リ・モジュールが要求されたサイクルを実行することが
可能になる。指定されたプライマリ・サイクル・タイミ
ング信号が活性状態に遷移すると、サイクルが開始され
る。指定されたプライマリ・サイクル・タイミング信号
が不活性状態に戻ると、サイクルは終了する。
よって、シーケンサ616はシーケンス・タイミング信号
と制御信号との発生を開始し、これらの信号によって、
メモリ・ボート・アドレス信号によって選択されたメモ
リ・モジュールが要求されたサイクルを実行することが
可能になる。指定されたプライマリ・サイクル・タイミ
ング信号が活性状態に遷移すると、サイクルが開始され
る。指定されたプライマリ・サイクル・タイミング信号
が不活性状態に戻ると、サイクルは終了する。
CPUモジュール30によって要求されたサイクルが実行
されるに従って、シーケンサ616によって発生されたシ
ーケンス・タイミング信号はシーケンサの入力した異な
った状態と関連する。これらの異なった状態の間のタイ
ミング関係(およびこれらの状態の各々に対応するシー
ケンス・タイミング信号の間のタイミング関係)を決め
るため、シーケンサ616によって入力することのできる
個別の状態がSEQ IDLEおよびSEQ1ないしSEQ19と識別さ
れる。各状態は、1システム・クロックの問題(30ナノ
秒)の間持続する。シーケンサ616の行う各々の異なっ
た状態に対する入力は、システム・クロック信号の立ち
上がり区間によってトリガされる。シーケンサ616に状
態SEQ IDLEおよびSEQ1ないしSEQ19を入力させるシステ
ム・クロック信号の立ち上がり区間は、これらをシーケ
ンサ616の状態と関連させるために遷移TIDLEおよびT1な
いし19として表される。すなわち、TNはシーケンサ616
に状態SEQ Nを入力させるシステム・クロック信号の
立ち上がり区間である。
されるに従って、シーケンサ616によって発生されたシ
ーケンス・タイミング信号はシーケンサの入力した異な
った状態と関連する。これらの異なった状態の間のタイ
ミング関係(およびこれらの状態の各々に対応するシー
ケンス・タイミング信号の間のタイミング関係)を決め
るため、シーケンサ616によって入力することのできる
個別の状態がSEQ IDLEおよびSEQ1ないしSEQ19と識別さ
れる。各状態は、1システム・クロックの問題(30ナノ
秒)の間持続する。シーケンサ616の行う各々の異なっ
た状態に対する入力は、システム・クロック信号の立ち
上がり区間によってトリガされる。シーケンサ616に状
態SEQ IDLEおよびSEQ1ないしSEQ19を入力させるシステ
ム・クロック信号の立ち上がり区間は、これらをシーケ
ンサ616の状態と関連させるために遷移TIDLEおよびT1な
いし19として表される。すなわち、TNはシーケンサ616
に状態SEQ Nを入力させるシステム・クロック信号の
立ち上がり区間である。
CPUモジュール30がメモリ・モジュール60にサイクル
を実行させていない場合、指定されたプライマリ・サイ
クル・タイミング信号は表明されず、シーケンサはSEQ
IDLEの状態のままである。もし制御ロジック610とシ
ーケンサ616がこれもまたバス80でメモリ・コントロー
ラ70から転送されたメモリ・ボード・アドレスによって
選択されたメモリ・モジュールに位置しているならば、
シーケンサはメモリ・コントローラ70によるバス80のサ
イクル・タイミング信号の表明に応答してスタートされ
る(状態SEQ1を入力する)。指定されたプライマリ・サ
イクルの活性信号の表明に続く第1システム・クロック
信号の立ち上がり区間は、遷移T1に対応する。
を実行させていない場合、指定されたプライマリ・サイ
クル・タイミング信号は表明されず、シーケンサはSEQ
IDLEの状態のままである。もし制御ロジック610とシ
ーケンサ616がこれもまたバス80でメモリ・コントロー
ラ70から転送されたメモリ・ボード・アドレスによって
選択されたメモリ・モジュールに位置しているならば、
シーケンサはメモリ・コントローラ70によるバス80のサ
イクル・タイミング信号の表明に応答してスタートされ
る(状態SEQ1を入力する)。指定されたプライマリ・サ
イクルの活性信号の表明に続く第1システム・クロック
信号の立ち上がり区間は、遷移T1に対応する。
前に述べたように、メモリ・アレイ600に対して1つ
のロングワードを授受する場合、そのサイクルは10シス
テム・クロックの間隔で実行される。シーケンサはSEQ
IDLEから状態SEQ1ないしSEQ9に進み、SEQ IDLEに戻
る。
のロングワードを授受する場合、そのサイクルは10シス
テム・クロックの間隔で実行される。シーケンサはSEQ
IDLEから状態SEQ1ないしSEQ9に進み、SEQ IDLEに戻
る。
しかし、別のロングワードを転送するためにメモリ読
み出しおよび書き込みサイクルを延長することができ
る。メモリ・アレイ600は、「高速ページ・モード」DRA
Mを使用することが望ましい。多重化されたロングワー
ドの読み出しおよび書き込みを行う期間中、最初のロン
グワードの転送の後に行われるメモリ・アレイとのデー
タの授受は、列アドレスを繰り返して更新し、CAS(列
アドレス・ストローブ)信号を再び発生することによっ
て行われる。
み出しおよび書き込みサイクルを延長することができ
る。メモリ・アレイ600は、「高速ページ・モード」DRA
Mを使用することが望ましい。多重化されたロングワー
ドの読み出しおよび書き込みを行う期間中、最初のロン
グワードの転送の後に行われるメモリ・アレイとのデー
タの授受は、列アドレスを繰り返して更新し、CAS(列
アドレス・ストローブ)信号を再び発生することによっ
て行われる。
多重化されたロングワードの転送サイクルの期間中、
これらの列アドレスのこれらの更新を実行することが可
能であるが、その理由は、全てのロングワードが転送さ
れるまでシステム616は、SEQ4からSEQ7を繰り返して循
環するからである。例えば、もし3つのロングワードが
メモリ・アレイ600から読み出され、またはこれに書き
込まれているならば、シーケンサは状態SEQ IDLE、SEQ
1、SEQ2、SEQ3、SEQ4、SEQ5、SEQ6、SEQ7、SEQ4、SEQ
5、SEQ6、SEQ7、SEQ4、SEQ5、SEQ6、SEQ7、SEQ8、SEQ
9、およびSEQ IDLEを入力する。
これらの列アドレスのこれらの更新を実行することが可
能であるが、その理由は、全てのロングワードが転送さ
れるまでシステム616は、SEQ4からSEQ7を繰り返して循
環するからである。例えば、もし3つのロングワードが
メモリ・アレイ600から読み出され、またはこれに書き
込まれているならば、シーケンサは状態SEQ IDLE、SEQ
1、SEQ2、SEQ3、SEQ4、SEQ5、SEQ6、SEQ7、SEQ4、SEQ
5、SEQ6、SEQ7、SEQ4、SEQ5、SEQ6、SEQ7、SEQ8、SEQ
9、およびSEQ IDLEを入力する。
メモリ転送サイクルの期間中、指定されたプライマリ
・サイクル・タイミング信号は、遷移T6の間のシーケン
サ616によって監視され、少なくとも1つの別のロング
ワードを転送するため、メモリ読み出しまたは書き込み
サイクルを延長するべきかどうかを決定する。指定され
たプライマリ・サイクル・タイミング信号が遷移T6中に
表明された場合、状態SEQ7にあるシーケンサは状態SEQ8
を入力する代わりに状態SEQ4を入力することによって、
次のシステム・クロック信号に応答する。
・サイクル・タイミング信号は、遷移T6の間のシーケン
サ616によって監視され、少なくとも1つの別のロング
ワードを転送するため、メモリ読み出しまたは書き込み
サイクルを延長するべきかどうかを決定する。指定され
たプライマリ・サイクル・タイミング信号が遷移T6中に
表明された場合、状態SEQ7にあるシーケンサは状態SEQ8
を入力する代わりに状態SEQ4を入力することによって、
次のシステム・クロック信号に応答する。
多重ロングワードの転送の場合、指定されたプライマ
リ・サイクル・タイミング信号は、少なくとも第1T6の
遷移の15ナノ秒前に表明され、最後のロングワードが転
送される迄、表明されたままである。最後のロングワー
ドが転送されてしまった後でメモリ転送サイクルを終了
するため、指定されたプライマリ・サイクル・タイミン
グ信号が最後のT6の遷移の少なくとも15ナノ秒前に表明
を解かれ、最後のT6の伝送の後、少なくとも10ナノ秒間
表明を解かれたままになる。
リ・サイクル・タイミング信号は、少なくとも第1T6の
遷移の15ナノ秒前に表明され、最後のロングワードが転
送される迄、表明されたままである。最後のロングワー
ドが転送されてしまった後でメモリ転送サイクルを終了
するため、指定されたプライマリ・サイクル・タイミン
グ信号が最後のT6の遷移の少なくとも15ナノ秒前に表明
を解かれ、最後のT6の伝送の後、少なくとも10ナノ秒間
表明を解かれたままになる。
メモリ転送サイクルの期間中、指定されたプライマリ
行アドレス信号と指定されたプライマリ列アドレス信号
は、制御ロジック610内の指定装置612によって別の時間
に1組の間分割多重線上でメモリ・ドライバ630に与え
られる。ドライバ630の出力はメモリ・アレイ600のDRAM
のアドレス入力に加えられ、また指定されたミラー行お
よび列アドレス信号と比較するため制御ロジック610に
戻されてエラーをチェックする。状態レジスタ転送サイ
クルとEEPROM転送サイクルの期間中、列アドレス信号は
指定の記憶場所を選択するために必要ではない。
行アドレス信号と指定されたプライマリ列アドレス信号
は、制御ロジック610内の指定装置612によって別の時間
に1組の間分割多重線上でメモリ・ドライバ630に与え
られる。ドライバ630の出力はメモリ・アレイ600のDRAM
のアドレス入力に加えられ、また指定されたミラー行お
よび列アドレス信号と比較するため制御ロジック610に
戻されてエラーをチェックする。状態レジスタ転送サイ
クルとEEPROM転送サイクルの期間中、列アドレス信号は
指定の記憶場所を選択するために必要ではない。
メモリ転送サイクルの期間中、行アドレス信号はバス
80と82の時間を共有する行および列アドレスに与えられ
た最初の信号である。状態SEQ IDLEの期間中、行アド
レス信号は、メモリ・コントローラによって行および列
アドレス線で転送され、列アドレスはT1の遷移の少なく
とも15ナノ秒前からT1の遷移後の10ナノ秒まで安定した
状態にある。次に、列アドレス信号はメモリ・コントロ
ーラによって行および列アドレス線で転送され、列アド
レスは、T3の遷移の10ナノ秒前からT4の遷移の後15ナノ
秒まで安定した状態にある。メモリ転送サイクルの期間
中に多重ロングワードの転送を行う場合、続いて発生す
る列アドレス信号は、次に行および列アドレス線で転送
され、これらの続いて発生する列アドレスはT6の遷移の
10ナノ秒前からT7の遷移の後15ナノ秒まで安定した状態
にある。
80と82の時間を共有する行および列アドレスに与えられ
た最初の信号である。状態SEQ IDLEの期間中、行アド
レス信号は、メモリ・コントローラによって行および列
アドレス線で転送され、列アドレスはT1の遷移の少なく
とも15ナノ秒前からT1の遷移後の10ナノ秒まで安定した
状態にある。次に、列アドレス信号はメモリ・コントロ
ーラによって行および列アドレス線で転送され、列アド
レスは、T3の遷移の10ナノ秒前からT4の遷移の後15ナノ
秒まで安定した状態にある。メモリ転送サイクルの期間
中に多重ロングワードの転送を行う場合、続いて発生す
る列アドレス信号は、次に行および列アドレス線で転送
され、これらの続いて発生する列アドレスはT6の遷移の
10ナノ秒前からT7の遷移の後15ナノ秒まで安定した状態
にある。
発生器/チェッカー617はシーケンサ616によって発生
された2組のシーケンス・タイミング信号を受け取る。
更に、指定されたプライマリ・サイクル・タイプ信号と
バンク・アドレス信号および指定されたミラー・サイク
ル・タイプ信号とバンク・アドレス信号が指定装置612
によって発生器/チェッカー617に転送される。発生器
/チェッカーでは、多数のプライマリ制御信号、すなわ
ちRAS(行アドレス信号)、CAS(列アドレス・ストロー
ブ)およびWE(書き込みイネーブル)が発生され、プラ
イマリ・シーケンス・タイミング信号と指定されたプラ
イマリ・サイクル・タイプ信号およびバンク・アドレス
信号を使用してドライバ630に分配される。これらの制
御信号の重複した組が発生器/チェッカー617によって
重複(ミラー)シーケンス・タイミング信号と指定され
たミラー・サイクル・タイプ信号およびバンク・アドレ
ス信号から発生される。これらのミラーRAS、CAS、およ
び書き込みイネーブル信号はエラーのチェックのために
使用される。
された2組のシーケンス・タイミング信号を受け取る。
更に、指定されたプライマリ・サイクル・タイプ信号と
バンク・アドレス信号および指定されたミラー・サイク
ル・タイプ信号とバンク・アドレス信号が指定装置612
によって発生器/チェッカー617に転送される。発生器
/チェッカーでは、多数のプライマリ制御信号、すなわ
ちRAS(行アドレス信号)、CAS(列アドレス・ストロー
ブ)およびWE(書き込みイネーブル)が発生され、プラ
イマリ・シーケンス・タイミング信号と指定されたプラ
イマリ・サイクル・タイプ信号およびバンク・アドレス
信号を使用してドライバ630に分配される。これらの制
御信号の重複した組が発生器/チェッカー617によって
重複(ミラー)シーケンス・タイミング信号と指定され
たミラー・サイクル・タイプ信号およびバンク・アドレ
ス信号から発生される。これらのミラーRAS、CAS、およ
び書き込みイネーブル信号はエラーのチェックのために
使用される。
プライマリ・サイクル・タンプ信号がメモリ転送サイ
クルが実行中であることを示す場合、プライマリ・バン
ク・アドレス信号はメモリ・アレイ600内のDRAMの1つ
の選択されたバンクを識別する。メモリ・ドライバ630
はメモリ・アレイ600内のDRAMの各バンクに対して別々
のRASドライバを有している。発生器/チェッカー617に
おいてプライマリRAS信号は、メモリ転送サイクル中に
発生され、発生器/チェッカーをRASドライバに接続す
る線の1つに非多重化される。その結果、選択されたDR
AMバンクに対応するRASドライバのみがメモリ転送サイ
クル中に表明されたRAS信号を受け取る。リフレッシュ
・サイクルの期間中、プライマリRASは非多重化され
ず、表明されたRAS信号が各RASドライバによって受け取
られる。状態レジスタ転送サイクルとEEPROM転送サイク
ルの期間中、バンク・アレイ信号は不要である。
クルが実行中であることを示す場合、プライマリ・バン
ク・アドレス信号はメモリ・アレイ600内のDRAMの1つ
の選択されたバンクを識別する。メモリ・ドライバ630
はメモリ・アレイ600内のDRAMの各バンクに対して別々
のRASドライバを有している。発生器/チェッカー617に
おいてプライマリRAS信号は、メモリ転送サイクル中に
発生され、発生器/チェッカーをRASドライバに接続す
る線の1つに非多重化される。その結果、選択されたDR
AMバンクに対応するRASドライバのみがメモリ転送サイ
クル中に表明されたRAS信号を受け取る。リフレッシュ
・サイクルの期間中、プライマリRASは非多重化され
ず、表明されたRAS信号が各RASドライバによって受け取
られる。状態レジスタ転送サイクルとEEPROM転送サイク
ルの期間中、バンク・アレイ信号は不要である。
メモリ・ドライバ630はまたCASドライバを有する。発
生器/チェッカー617において、プライマリCAS信号はメ
モリ転送サイクルとリフレッシュ・サイクルの期間中、
に発生される。プライマリCAS信号は、非多重化され
ず、表明されたCAS信号は各CASドライバによって受け取
られる。
生器/チェッカー617において、プライマリCAS信号はメ
モリ転送サイクルとリフレッシュ・サイクルの期間中、
に発生される。プライマリCAS信号は、非多重化され
ず、表明されたCAS信号は各CASドライバによって受け取
られる。
メモリ書き込みサイクルの期間中、プライマリWE信号
は発生器/チェッカー617によって発生される。表明さ
れたWE信号は、ドライバ630によってメモリ・アレイ600
内の各DRAMバンクに加えられる。しかし、書き込みは選
択されたDRAMバンクによってのみ実行することが可能で
あり、このDRAMバンクはまた表面されたRASおよびCAS信
号を受け取る。
は発生器/チェッカー617によって発生される。表明さ
れたWE信号は、ドライバ630によってメモリ・アレイ600
内の各DRAMバンクに加えられる。しかし、書き込みは選
択されたDRAMバンクによってのみ実行することが可能で
あり、このDRAMバンクはまた表面されたRASおよびCAS信
号を受け取る。
本発明の好適な実施例の場合、メモリ転送サイクルの
期間中、プライマリRAS信号はT2の遷移の期間中表明さ
れ、T3の遷移の少なくとも10ナノ秒前から安定し、最後
のT7の遷移の期間中表明を解かれる。プライマリCAS信
号は、各T4の遷移の前15ナノ秒間表明され、各T7の遷移
の期間中表明を解かれる。メモリ書き込みサイクルの期
間中、プライマリWEは、T3の遷移の期間中表明され、最
初のT4の遷移の少なくとも10ナノ秒前から安定し、最後
のT7の遷移に期間中表面を解かれる。
期間中、プライマリRAS信号はT2の遷移の期間中表明さ
れ、T3の遷移の少なくとも10ナノ秒前から安定し、最後
のT7の遷移の期間中表明を解かれる。プライマリCAS信
号は、各T4の遷移の前15ナノ秒間表明され、各T7の遷移
の期間中表明を解かれる。メモリ書き込みサイクルの期
間中、プライマリWEは、T3の遷移の期間中表明され、最
初のT4の遷移の少なくとも10ナノ秒前から安定し、最後
のT7の遷移に期間中表面を解かれる。
プライマリ・サイクル・タイプ信号がメモリ・リフレ
ッシュ・サイクルが実行中であることを示す場合、メモ
リ・アレイ600はシーケンサ616によって与えられるプラ
イマリ・シーケンス・タイミング信号に応答して、発生
器/チェッカー617によってメモリ・リフレッシュ動作
を実行される。これらのリフレッシュ動作の期間中、RA
S信号およびCAS信号が逆の順序で発生器/チェッカーに
よって発生されて分配される。このリフレッシュ・モー
ドはバンク、行または列に対する外部アドレスを必要と
しない。
ッシュ・サイクルが実行中であることを示す場合、メモ
リ・アレイ600はシーケンサ616によって与えられるプラ
イマリ・シーケンス・タイミング信号に応答して、発生
器/チェッカー617によってメモリ・リフレッシュ動作
を実行される。これらのリフレッシュ動作の期間中、RA
S信号およびCAS信号が逆の順序で発生器/チェッカーに
よって発生されて分配される。このリフレッシュ・モー
ドはバンク、行または列に対する外部アドレスを必要と
しない。
転送サイクルの期間中、データがバス85に転送されて
いる時間に、ECC信号はバス80と82の時分割多重双方向
線で転送される。しかし、これらの同じ線は転送サイク
ル中の他の時間に制御信号(例えば、サイクル・タイ
プ)およびアドレス信号(例えば、メモリ・ボード・ア
ドレスおよびバンク・アドレス)信号を転送するために
使用される。
いる時間に、ECC信号はバス80と82の時分割多重双方向
線で転送される。しかし、これらの同じ線は転送サイク
ル中の他の時間に制御信号(例えば、サイクル・タイ
プ)およびアドレス信号(例えば、メモリ・ボード・ア
ドレスおよびバンク・アドレス)信号を転送するために
使用される。
プライマリ/ミラー指定装置612内のトランシーバ/
レジスタはシーケンサ616によって加えられるシーケン
ス・タイミング信号ともtx/rxレジスタ制御信号に応答
する受信機と発信機を有する。シーケンス・タイミング
信号とtx/rxレジスタ制御信号は、バス80と82の時分割
多重双方向線でECC信号とアドレス信号および制御信号
を多重化することを可能にする。
レジスタはシーケンサ616によって加えられるシーケン
ス・タイミング信号ともtx/rxレジスタ制御信号に応答
する受信機と発信機を有する。シーケンス・タイミング
信号とtx/rxレジスタ制御信号は、バス80と82の時分割
多重双方向線でECC信号とアドレス信号および制御信号
を多重化することを可能にする。
サイクル・タイプ信号、メモリ・ボード・アドレス信
号およびバンク・アドレス信号のような制御信号とアド
レス信号はメモリ・コントローラ70と75によって転送さ
れ、単一の転送サイクルまたは多重ロングワード転送サ
イクルのいずれかの開始時にバス80と82の時間を共有し
た線に与えられることが望ましい。これらの信号はサイ
クル・タイミング信号の活性化と同時に遷移を開始し
(シーケンサはSEQ IDLE状態にあるが)、T2の間安定
状態にしる。従って、指定装置612のトランシーバ/レ
ジスタにおいて、受信機は起動され、送信機は少なくと
も状態SEQ2の終わり迄そのトリステート・モードにセッ
トされる。
号およびバンク・アドレス信号のような制御信号とアド
レス信号はメモリ・コントローラ70と75によって転送さ
れ、単一の転送サイクルまたは多重ロングワード転送サ
イクルのいずれかの開始時にバス80と82の時間を共有し
た線に与えられることが望ましい。これらの信号はサイ
クル・タイミング信号の活性化と同時に遷移を開始し
(シーケンサはSEQ IDLE状態にあるが)、T2の間安定
状態にしる。従って、指定装置612のトランシーバ/レ
ジスタにおいて、受信機は起動され、送信機は少なくと
も状態SEQ2の終わり迄そのトリステート・モードにセッ
トされる。
サイクル・タイプ信号は、下記にリストアップした機
能、すなわちメモリの読み出し、メモリの書き込み、状
態レジスタの読み出し、状態レジスタの書き込み、EEPR
OMの読み出し、EEPROMの書き込み、およびリフレッシュ
のいずれがサイクル期間中にメモリ・アレイ60によって
実行されるかを識別する。指定装置612によって受け取
られた指定されたプライマリ・サイクル・タイプ信号
は、シーケンサ616に加えられ、tx/rx制御信号とシーケ
ンス・タイミング信号を発生する場合に使用される。例
えば、データ・トランシーバ/レジスタ620および指定
装置612のトランシーバ/レジスタにおいて、受信機は
起動され、送信機は書き込みサイクル全体を通してシー
ケンサ616によってトリステート・モードにセットされ
る。しかし、読み出し期間中のデータ・トランシーバ/
レジスタ620および指定装置612のトランシーバ/レジス
タの場合、受信機はトリステート・モードにセットさ
れ、送信機はサイクル・タイプ信号、メモリ・ボード・
アドレス信号およびバンク・アドレス信号がこのサイク
ルの開始時点で受け取られた後シーケンサ616によって
起動される。
能、すなわちメモリの読み出し、メモリの書き込み、状
態レジスタの読み出し、状態レジスタの書き込み、EEPR
OMの読み出し、EEPROMの書き込み、およびリフレッシュ
のいずれがサイクル期間中にメモリ・アレイ60によって
実行されるかを識別する。指定装置612によって受け取
られた指定されたプライマリ・サイクル・タイプ信号
は、シーケンサ616に加えられ、tx/rx制御信号とシーケ
ンス・タイミング信号を発生する場合に使用される。例
えば、データ・トランシーバ/レジスタ620および指定
装置612のトランシーバ/レジスタにおいて、受信機は
起動され、送信機は書き込みサイクル全体を通してシー
ケンサ616によってトリステート・モードにセットされ
る。しかし、読み出し期間中のデータ・トランシーバ/
レジスタ620および指定装置612のトランシーバ/レジス
タの場合、受信機はトリステート・モードにセットさ
れ、送信機はサイクル・タイプ信号、メモリ・ボード・
アドレス信号およびバンク・アドレス信号がこのサイク
ルの開始時点で受け取られた後シーケンサ616によって
起動される。
適切な実施例の場合、メモリ・アレイ600に対して授
受されたデータはエラー検出コード(EDC)を使用して
各メモリ・モジュール60内でチェックされることが望ま
しく、このエラー検出コードはメモリ・コントローラ70
と75によって必要とされるコードと同じであることが望
ましい。好適なコードは1ビット修正、2ビット検出の
エラー修正コード(ECC)であることが望ましい。
受されたデータはエラー検出コード(EDC)を使用して
各メモリ・モジュール60内でチェックされることが望ま
しく、このエラー検出コードはメモリ・コントローラ70
と75によって必要とされるコードと同じであることが望
ましい。好適なコードは1ビット修正、2ビット検出の
エラー修正コード(ECC)であることが望ましい。
メモリ書き込みサイクルの期間中、メモリ・コントロ
ーラ70は少なくとも1つのロングワードのデータをデー
タ・バス85で転送し、同時に対応する組のECC信号をバ
ス80で転送する。一方、メモリ・コントローラ75は第2
組のECC信号を転送し、これらの信号はバス82のデータ
・バス85のロングワードとまた対応する。
ーラ70は少なくとも1つのロングワードのデータをデー
タ・バス85で転送し、同時に対応する組のECC信号をバ
ス80で転送する。一方、メモリ・コントローラ75は第2
組のECC信号を転送し、これらの信号はバス82のデータ
・バス85のロングワードとまた対応する。
ここで実施されているように、メモリ書き込みサイク
ルの期間中、各ロングワードに対するデータとECC信号
がデータ・トランシーバ/レジスタ620の受信機に与え
られると共に指定装置612のトランシーバ/レジスタの
受信機に与えられる。データおよびECC信号はT4の遷移
の少なくとも10ナノ秒前に安定しており、T6の遷移後15
ナノ秒後迄安定した状態にあり、これらのトランシーバ
/レジスタにラッチされる。この時間の間、メモリ・コ
ントローラ70と75はバス80と82の時間を共有した線にア
ドレス信号と制御信号を加えない。
ルの期間中、各ロングワードに対するデータとECC信号
がデータ・トランシーバ/レジスタ620の受信機に与え
られると共に指定装置612のトランシーバ/レジスタの
受信機に与えられる。データおよびECC信号はT4の遷移
の少なくとも10ナノ秒前に安定しており、T6の遷移後15
ナノ秒後迄安定した状態にあり、これらのトランシーバ
/レジスタにラッチされる。この時間の間、メモリ・コ
ントローラ70と75はバス80と82の時間を共有した線にア
ドレス信号と制御信号を加えない。
メモリ書き込みサイクルの期間中に指定装置612によ
って受け取られた指定されたプライマリECC信号とトラ
ンシーバ/レジスタ620によって受け取られたロングワ
ードのデータは、メモリ・アレイ600の8つのバンクの
各々に於けるDRAMのデータ入力とECC発生器623に加えら
れる。発生されたECCは比較器625によって指定されたプ
ライマリECCと比較される。指定されたプライマリECC信
号は、また指定されたミラーECC信号と共にECC比較器62
5に加えられる。
って受け取られた指定されたプライマリECC信号とトラ
ンシーバ/レジスタ620によって受け取られたロングワ
ードのデータは、メモリ・アレイ600の8つのバンクの
各々に於けるDRAMのデータ入力とECC発生器623に加えら
れる。発生されたECCは比較器625によって指定されたプ
ライマリECCと比較される。指定されたプライマリECC信
号は、また指定されたミラーECC信号と共にECC比較器62
5に加えられる。
ここで実施例されているように、メモリ読み出しサイ
クルの期間中、少なくとも1つのロングワードのデータ
と対応する組のECC信号がメモリ・アレイ600から読み出
され、データ・トランシーバ/レジスタ620と指定装置6
12のトランシーバ/レジスタにそれぞれ向けられる。メ
モリ読み出しサイクルの遷移T7の期間中、各ロングワー
ドに対するデータとECC信号はメモリ・アレイ600から入
手可能であり、これらのトランシーバ/レジスタにラッ
チされる。このデータはECC発生器623に与えられ、その
出力はメモリから読み出されたECCと比較される。
クルの期間中、少なくとも1つのロングワードのデータ
と対応する組のECC信号がメモリ・アレイ600から読み出
され、データ・トランシーバ/レジスタ620と指定装置6
12のトランシーバ/レジスタにそれぞれ向けられる。メ
モリ読み出しサイクルの遷移T7の期間中、各ロングワー
ドに対するデータとECC信号はメモリ・アレイ600から入
手可能であり、これらのトランシーバ/レジスタにラッ
チされる。このデータはECC発生器623に与えられ、その
出力はメモリから読み出されたECCと比較される。
ラッチの後、データおよびECC信号は、データ・トラ
ンシーバ/レジスタ620の送信機と指定装置612のトラン
シーバ/レジスタの送信機によってデータ・バス85とバ
ス80および82に与えられる。同じECC信号は、指定装置6
12のトランシーバ/レジスタからメモリ・コントローラ
70とメモリ・コントローラ75に転送される。データバス
85とバス80および82で転送されたデータとECC信号は、T
7の遷移の15秒後からこれに続くT6の遷移の5ナノ秒前
迄(多重ロングワード転送の場合)またはこれに続くT
IDLE遷移の5ナノ秒前迄(単一のロングワードの転送
または多重ロングワード転送の最後のロングワードの場
合)安定した状態にある。この時間間隔の間、メモリ・
コントローラ70と75は、バス80と82の時間を共有したア
ドレス信号と制御信号を加えない。データ・トランシー
バ/レジスタ620の送信機と指定装置612のトランシーバ
/レジスタの送信機は、これに続くT IDLE遷移の期間
中、トリステート・モードにセットされる。
ンシーバ/レジスタ620の送信機と指定装置612のトラン
シーバ/レジスタの送信機によってデータ・バス85とバ
ス80および82に与えられる。同じECC信号は、指定装置6
12のトランシーバ/レジスタからメモリ・コントローラ
70とメモリ・コントローラ75に転送される。データバス
85とバス80および82で転送されたデータとECC信号は、T
7の遷移の15秒後からこれに続くT6の遷移の5ナノ秒前
迄(多重ロングワード転送の場合)またはこれに続くT
IDLE遷移の5ナノ秒前迄(単一のロングワードの転送
または多重ロングワード転送の最後のロングワードの場
合)安定した状態にある。この時間間隔の間、メモリ・
コントローラ70と75は、バス80と82の時間を共有したア
ドレス信号と制御信号を加えない。データ・トランシー
バ/レジスタ620の送信機と指定装置612のトランシーバ
/レジスタの送信機は、これに続くT IDLE遷移の期間
中、トリステート・モードにセットされる。
比較器614は、コントローラ70から発生するアドレス
信号、制御信号およびタイミング信号をコントローラ75
から発生するこれらに対応するアドレス信号、制御信号
およびタイミング信号と比較するために設けられる。指
定されたプライマリ・サイクル・タイミング信号、サイ
クル・タイプ信号、メモリ・ボード・アドレス信号、お
よびバンク・アドレス信号は、指定されたミラー・サイ
クル・タイミング信号、サイクル・タイプ信号、メモリ
・ボードアドレス信号、バンク・アドレス信号、行アド
レス信号、および列アドレス信号と共に指定装置612か
ら比較器614に加えられる。指定されたプライマリ行ア
ドレス信号および列アドレス信号はドライバ630の出力
から比較器614に加えられる。そこで両方の組の信号が
比較される。
信号、制御信号およびタイミング信号をコントローラ75
から発生するこれらに対応するアドレス信号、制御信号
およびタイミング信号と比較するために設けられる。指
定されたプライマリ・サイクル・タイミング信号、サイ
クル・タイプ信号、メモリ・ボード・アドレス信号、お
よびバンク・アドレス信号は、指定されたミラー・サイ
クル・タイミング信号、サイクル・タイプ信号、メモリ
・ボードアドレス信号、バンク・アドレス信号、行アド
レス信号、および列アドレス信号と共に指定装置612か
ら比較器614に加えられる。指定されたプライマリ行ア
ドレス信号および列アドレス信号はドライバ630の出力
から比較器614に加えられる。そこで両方の組の信号が
比較される。
もし、メモリ・コントローラから発生するアドレス信
号、制御信号、およびタイミング信号の間で比較のミス
があれば、比較器614は適当なエラー信号を発生する。
第6図に示すように、ボード・アドレス・エラー信号、
バンク・アドレス・エラー信号、行アドレス、エラー信
号、行アドレス・エラー信号、サイクル・タイプ・アド
レス・エラー信号、およびサイクル・タイミング・エラ
ー信号は比較器から発生することができる。
号、制御信号、およびタイミング信号の間で比較のミス
があれば、比較器614は適当なエラー信号を発生する。
第6図に示すように、ボード・アドレス・エラー信号、
バンク・アドレス・エラー信号、行アドレス、エラー信
号、行アドレス・エラー信号、サイクル・タイプ・アド
レス・エラー信号、およびサイクル・タイミング・エラ
ー信号は比較器から発生することができる。
発生器/チェッカー617は、指定されたプライマリ・
バンク・アドレス信号、サイクル・タイプ信号およびサ
イクル・タイミング信号を使用してシーケンサ616およ
び発生器/チェッカー617によって発生されたプライマ
リ制御信号およびタイミング信号を、指定されたミラー
・バンク・アドレス信号、サイクル・タイプ信号および
サイクル・タイミング信号を使用して、発生されたミラ
ー制御信号およびタイミング信号と比較する。2組のシ
ーケンス・タイミング信号は、シーケンサ616によって
発生器/チェッカー617に加えられる。プライマリRAS信
号、CAS信号、およびWE信号は、ドライバ630の出力から
発生器/チェッカー617に加えられる。前に説明したよ
うに、ミラーRAS信号、CAS信号およびWE信号は発生器/
チェッカーによって内部的に発生される。発生器/チェ
ッカー617は、プライマリRAS信号、CAS信号、WE信号お
よびシーケンス・タイミング信号をミラーRAS信号、CAS
信号、WE信号、およびシーケンス・タイミング信号と比
較する。
バンク・アドレス信号、サイクル・タイプ信号およびサ
イクル・タイミング信号を使用してシーケンサ616およ
び発生器/チェッカー617によって発生されたプライマ
リ制御信号およびタイミング信号を、指定されたミラー
・バンク・アドレス信号、サイクル・タイプ信号および
サイクル・タイミング信号を使用して、発生されたミラ
ー制御信号およびタイミング信号と比較する。2組のシ
ーケンス・タイミング信号は、シーケンサ616によって
発生器/チェッカー617に加えられる。プライマリRAS信
号、CAS信号、およびWE信号は、ドライバ630の出力から
発生器/チェッカー617に加えられる。前に説明したよ
うに、ミラーRAS信号、CAS信号およびWE信号は発生器/
チェッカーによって内部的に発生される。発生器/チェ
ッカー617は、プライマリRAS信号、CAS信号、WE信号お
よびシーケンス・タイミング信号をミラーRAS信号、CAS
信号、WE信号、およびシーケンス・タイミング信号と比
較する。
もし、シーケンサ616また発生器/チェッカー617から
発生する制御信号およびタイミング信号のいずれかの間
に比較のミスがあれば、発生器/チェッカーは適当なエ
ラー信号を発生する。第6図に示すように、シーケンサ
・エラー信号、RASエラー信号、CASエラー信号、および
WEエラー信号は発生器/チェッカー617によって発生す
ることができる。
発生する制御信号およびタイミング信号のいずれかの間
に比較のミスがあれば、発生器/チェッカーは適当なエ
ラー信号を発生する。第6図に示すように、シーケンサ
・エラー信号、RASエラー信号、CASエラー信号、および
WEエラー信号は発生器/チェッカー617によって発生す
ることができる。
エラー信号は、比較器614および発生器/チェッカー6
17からアドレス/制御エラー・ロジック621に加えられ
る。比較器614または発生器/チェッカー617から受け取
ったエラー信号に応答して、アドレス/制御エラー・ロ
ジック621はアドレス/制御エラー信号をCPUモジュール
30に転送し、アドレス信号・制御信号、またはタイミン
グ信号のいずれかの間で比較のミスが発生したことによ
る故障を検出したことを示す。アドレス/制御エラー信
号は、エラーを処理するためにメモリ・コントローラ70
と75のエラー・ロジックに送られる。アドレス/制御エ
ラー信号をCPUモジュール30にすることによって、CPU/M
EM故障が発生するが、これは他のセクションで詳細に論
じる。
17からアドレス/制御エラー・ロジック621に加えられ
る。比較器614または発生器/チェッカー617から受け取
ったエラー信号に応答して、アドレス/制御エラー・ロ
ジック621はアドレス/制御エラー信号をCPUモジュール
30に転送し、アドレス信号・制御信号、またはタイミン
グ信号のいずれかの間で比較のミスが発生したことによ
る故障を検出したことを示す。アドレス/制御エラー信
号は、エラーを処理するためにメモリ・コントローラ70
と75のエラー・ロジックに送られる。アドレス/制御エ
ラー信号をCPUモジュール30にすることによって、CPU/M
EM故障が発生するが、これは他のセクションで詳細に論
じる。
比較器614および発生器/チェッカー617からのエラー
信号は、また状態レジスタ618に加えられる。エラー信
号および故障に関連するアドレス信号、制御信号、タイ
ミング信号、データ信号およびECC信号の全ては、一時
的に状態レジスタに記憶され、エラーの診断と修復を可
能にする。
信号は、また状態レジスタ618に加えられる。エラー信
号および故障に関連するアドレス信号、制御信号、タイ
ミング信号、データ信号およびECC信号の全ては、一時
的に状態レジスタに記憶され、エラーの診断と修復を可
能にする。
本発明の1つの特徴によれば、32ビットのデータ・バ
ス85が1本だけCPUモジュール30とメモリ・モジュール6
0との間に設けられる。従って、メモリ・モジュール60
はメモリ・コントローラ70と75からの2組のデータを比
較することができない。しかし、メモリ・コントローラ
70と75によって、メモリ・モジュール60に転送された2
つの独立した組のECC信号をチェックすることによっ
て、ビットのデータ線の重複した組を使用することな
く、データの健全性がメモリ・モジュール60によって検
証される。
ス85が1本だけCPUモジュール30とメモリ・モジュール6
0との間に設けられる。従って、メモリ・モジュール60
はメモリ・コントローラ70と75からの2組のデータを比
較することができない。しかし、メモリ・コントローラ
70と75によって、メモリ・モジュール60に転送された2
つの独立した組のECC信号をチェックすることによっ
て、ビットのデータ線の重複した組を使用することな
く、データの健全性がメモリ・モジュール60によって検
証される。
第6図に示すように、制御ロジック610はECC発生器62
3とECC比較器625を有する。指定されたプライマリおよ
びミラーECC信号は、指定装置712によってECC比較器に
加えられる。メモリー書き込みサイクルの期間中、指定
されたプライマリECC信号は、指定されたミラーECC信号
と比較される。その結果、メモリ・モジュール60は、メ
モリ・コントローラ70と75が一致しているかどうかを検
証すると共にメモリー書き込みサイクルの期間中にメモ
イ・アレイ600のDRAMに記憶されている指定されたプラ
イマリECC信号が正しいかどうかを検証する。更に、メ
モリー書き込みサイクルの期間中にDRAMのデータ入力に
与えられたデータは、ECC発生器623に加えられる。ECC
発生器623は、このデータに応ずる1組の発生されたECC
信号を発生し、この発生されたECC信号をECC比較器625
に加える。指定されたプライマリECC信号は発生されたE
CC信号と比較され、メモリ・コントローラ70によってデ
ータ・バス85に転送されたデータがメモリ・アレイ600
のDRAMに記憶されているデータと同じであるかどうかを
検証する。
3とECC比較器625を有する。指定されたプライマリおよ
びミラーECC信号は、指定装置712によってECC比較器に
加えられる。メモリー書き込みサイクルの期間中、指定
されたプライマリECC信号は、指定されたミラーECC信号
と比較される。その結果、メモリ・モジュール60は、メ
モリ・コントローラ70と75が一致しているかどうかを検
証すると共にメモリー書き込みサイクルの期間中にメモ
イ・アレイ600のDRAMに記憶されている指定されたプラ
イマリECC信号が正しいかどうかを検証する。更に、メ
モリー書き込みサイクルの期間中にDRAMのデータ入力に
与えられたデータは、ECC発生器623に加えられる。ECC
発生器623は、このデータに応ずる1組の発生されたECC
信号を発生し、この発生されたECC信号をECC比較器625
に加える。指定されたプライマリECC信号は発生されたE
CC信号と比較され、メモリ・コントローラ70によってデ
ータ・バス85に転送されたデータがメモリ・アレイ600
のDRAMに記憶されているデータと同じであるかどうかを
検証する。
メモリ読み出しサイクルの期間中、DRAMの選択された
バンクから読み出されたデータはECC発生器に与えられ
る。発生されたECC信号はそこでECC比較器に加えられ、
このECC比較器は、またDRAMの選択されたバンクから読
み出されて記憶されているECC信号を受け取る。発生さ
れ記憶さているECC信号は、ECC比較器625によって比較
される。
バンクから読み出されたデータはECC発生器に与えられ
る。発生されたECC信号はそこでECC比較器に加えられ、
このECC比較器は、またDRAMの選択されたバンクから読
み出されて記憶されているECC信号を受け取る。発生さ
れ記憶さているECC信号は、ECC比較器625によって比較
される。
もしECC比較器625によって監視されているECC信号の
いずれかの対の間に比較のミスがあれば、ECC比較器は
適当なエラー信号を発生する。第6図に示すように、プ
ライラリ/ミラーECCエラー信号、プライマリ/発生さ
れたECC信号エラーおよびメモリ/発生されたECCエラー
信号はECC比較器によって発生することができる。
いずれかの対の間に比較のミスがあれば、ECC比較器は
適当なエラー信号を発生する。第6図に示すように、プ
ライラリ/ミラーECCエラー信号、プライマリ/発生さ
れたECC信号エラーおよびメモリ/発生されたECCエラー
信号はECC比較器によって発生することができる。
ECC比較器625からのこれらのECCエラー信号は状態レ
ジスタ618に加えられる。ECCエラー信号の各々およびEC
C故障に関連するアドレス信号、制御信号、タイミング
信号、データ信号、およびECC信号の全ては一時的に状
態レジスタに記憶され、エラーの診断と修復を可能にす
る。
ジスタ618に加えられる。ECCエラー信号の各々およびEC
C故障に関連するアドレス信号、制御信号、タイミング
信号、データ信号、およびECC信号の全ては一時的に状
態レジスタに記憶され、エラーの診断と修復を可能にす
る。
ECCエラー信号はECCエラー線上でECC比較器625によっ
て表明され、CPUモジュール30に転送され、比較のミス
によって発生したECCの故障を検出したことを示す。こ
の比較のミスはメモリ書き込みサイクルの期間中に行わ
れる2つのECCのチェックの期間中またはメモリ読み出
しサイクル行われる1つのECCのチェックの期間中のい
ずれかで発生する可能性がある。
て表明され、CPUモジュール30に転送され、比較のミス
によって発生したECCの故障を検出したことを示す。こ
の比較のミスはメモリ書き込みサイクルの期間中に行わ
れる2つのECCのチェックの期間中またはメモリ読み出
しサイクル行われる1つのECCのチェックの期間中のい
ずれかで発生する可能性がある。
第6図に示すように、ボード選択ロジック627はメモ
リの背面板からスロット信号を受け取る。これらのスロ
ット信号によって、各メモリモジュール60に対してユニ
ークなスロット・ロケーションが指定される。ボード選
択ロジック627は、そこでこれらのスロット信号を指定
回路612を介してメモリ・コントローラの1から転送さ
れ指定されたプライマリ・ボード・アドレス信号と比較
する。もしこのスロット信号が指定されたプライマリ・
ボード・アドレス信号と同じであれば、ボード選択信号
がボード選択ロジック627によって発生され、これによ
って制御ロジック610内の他の回路を動作させる。
リの背面板からスロット信号を受け取る。これらのスロ
ット信号によって、各メモリモジュール60に対してユニ
ークなスロット・ロケーションが指定される。ボード選
択ロジック627は、そこでこれらのスロット信号を指定
回路612を介してメモリ・コントローラの1から転送さ
れ指定されたプライマリ・ボード・アドレス信号と比較
する。もしこのスロット信号が指定されたプライマリ・
ボード・アドレス信号と同じであれば、ボード選択信号
がボード選択ロジック627によって発生され、これによ
って制御ロジック610内の他の回路を動作させる。
2.メモリ・コントローラ メモリ・コントローラ70と75は、CPU40と50のメモリ
・モジュール60および補助メモリ素子に対するアクセス
をそれぞれ制御好適な実施例の場合、ある種のエラー処
理動作を実行する。メモリ・コントローラ72に接続され
た補助メモリ素子はシステムROM43、EEPROM44、および
スクラッチ・パッドRAM45を有する。ROM43は、診断コー
ド、コンソール・ドライバ・コード、およびブートスト
ラップ・コードの一部のようなある種の標準コードを保
持している。EEPROM44は、CPU40の動作中に検出された
エラー情報のような情報を保持するのに使用されるが、
この情報は変更を行う必要があるが、電源を切った場合
に失われるべきではない。スクラッチ・パッドRAM45
は、CPU40によって実行されるある種の動作のために使
用されると共に、レール・ユニーク情報(例えば、ただ
1つのCPU40または50に使用することのできる1つのレ
ールの条件に特有の情報)をゾーン情報(CPU40と50の
両方がアクセスすることのできる情報)に変換するため
に使用される。
・モジュール60および補助メモリ素子に対するアクセス
をそれぞれ制御好適な実施例の場合、ある種のエラー処
理動作を実行する。メモリ・コントローラ72に接続され
た補助メモリ素子はシステムROM43、EEPROM44、および
スクラッチ・パッドRAM45を有する。ROM43は、診断コー
ド、コンソール・ドライバ・コード、およびブートスト
ラップ・コードの一部のようなある種の標準コードを保
持している。EEPROM44は、CPU40の動作中に検出された
エラー情報のような情報を保持するのに使用されるが、
この情報は変更を行う必要があるが、電源を切った場合
に失われるべきではない。スクラッチ・パッドRAM45
は、CPU40によって実行されるある種の動作のために使
用されると共に、レール・ユニーク情報(例えば、ただ
1つのCPU40または50に使用することのできる1つのレ
ールの条件に特有の情報)をゾーン情報(CPU40と50の
両方がアクセスすることのできる情報)に変換するため
に使用される。
等価な素子53、54および55がメモリ・コントローラ75
に接続される。システムROM53、EEPROM54およびスクラ
ッチ・パッドRAM55は、システムROM43、EEPROM44、およ
びスクラッチ・パッドRAM45とそれぞれ同じであり、同
じ機能を実行する。
に接続される。システムROM53、EEPROM54およびスクラ
ッチ・パッドRAM55は、システムROM43、EEPROM44、およ
びスクラッチ・パッドRAM45とそれぞれ同じであり、同
じ機能を実行する。
第7図ないし第9図は、プライマリ・メモリ・コント
ローラ70の好適な実施例の詳細を示す。ミラー・メモリ
・コントローラ75は、第7図ないし第9図に示す素子と
同じ素子を有しているが、動作は若干異なっている。従
って、メモリ・コントローラ75の動作と異なっている部
分を除いて、プライマリ・メモリ・コントローラ70の動
作のみを説明する。処理装置20′内のメモリ・コントロ
ーラ70′と75′は同じ素子を有し、それぞれメモリ・コ
ントローラ70と75と同じように動作する。
ローラ70の好適な実施例の詳細を示す。ミラー・メモリ
・コントローラ75は、第7図ないし第9図に示す素子と
同じ素子を有しているが、動作は若干異なっている。従
って、メモリ・コントローラ75の動作と異なっている部
分を除いて、プライマリ・メモリ・コントローラ70の動
作のみを説明する。処理装置20′内のメモリ・コントロ
ーラ70′と75′は同じ素子を有し、それぞれメモリ・コ
ントローラ70と75と同じように動作する。
第7図に示す素子は、プライマリ・メモリ・コントロ
ーラ70を介してデータの流れ、アドレスおよび信号を制
御する。制御ロジック700は、メモリ・コントローラ70
の受け取った信号および制御ロジック700に記憶されて
いるそのメモリ・コントローラのステート・エンジンに
従って第7図の種々の素子の状態を制御する。マルチプ
レクサ702は、これらのソースの1つからアドレスを選
択する。これらのアドレスは、受信機705を介してCPU30
から得ることもできるし、第8図を参照して以下に説明
するDMAエンジン800から得ることもできるし、また再同
期化動作の期間中に1つのゾーンから他のゾーンにある
種のバンク・メモリを転送する間に人口的リフレッシュ
を発生するのに使用されるリフレッシュ再同期化アドレ
スから得ることもできる。
ーラ70を介してデータの流れ、アドレスおよび信号を制
御する。制御ロジック700は、メモリ・コントローラ70
の受け取った信号および制御ロジック700に記憶されて
いるそのメモリ・コントローラのステート・エンジンに
従って第7図の種々の素子の状態を制御する。マルチプ
レクサ702は、これらのソースの1つからアドレスを選
択する。これらのアドレスは、受信機705を介してCPU30
から得ることもできるし、第8図を参照して以下に説明
するDMAエンジン800から得ることもできるし、また再同
期化動作の期間中に1つのゾーンから他のゾーンにある
種のバンク・メモリを転送する間に人口的リフレッシュ
を発生するのに使用されるリフレッシュ再同期化アドレ
スから得ることもできる。
CPU30からのデータは、受信機705を介して受け取られ
DMAからのデータはエンジン800を介して受け取られるの
で、マルチプレクサ702の出力はマルチプレクサ710の入
力である。マルチプレクサ710の出力は、メモリ相互接
続部85とドライバ715を介してメモリ・モジュール60に
データを与える。ドライバ715はミラー・メモリ制御モ
ジュール75と75′に対して動作不能にされるが、その理
由は、メモリ・データの1つの組のみが、それぞれメモ
リ・モジュール60と60′に送られるからである。
DMAからのデータはエンジン800を介して受け取られるの
で、マルチプレクサ702の出力はマルチプレクサ710の入
力である。マルチプレクサ710の出力は、メモリ相互接
続部85とドライバ715を介してメモリ・モジュール60に
データを与える。ドライバ715はミラー・メモリ制御モ
ジュール75と75′に対して動作不能にされるが、その理
由は、メモリ・データの1つの組のみが、それぞれメモ
リ・モジュール60と60′に送られるからである。
メモリ相互接続部85に送られるデータは、CPU30から
メモリ・モジュール60に記憶されるべきデータまたはDM
Aエンジン800からメモリ・モジュール60に記憶されるべ
きデータのいずれかを含んでいる。CPU30からのデータ
とマルチプレクサ702からのデータはまたこの経路また
受信機745とECC修正装置750を介してDMAエンジン800に
送られる。
メモリ・モジュール60に記憶されるべきデータまたはDM
Aエンジン800からメモリ・モジュール60に記憶されるべ
きデータのいずれかを含んでいる。CPU30からのデータ
とマルチプレクサ702からのデータはまたこの経路また
受信機745とECC修正装置750を介してDMAエンジン800に
送られる。
マルチプレクサ702からのアドレスは、デマルチプレ
クサ720の入力にまた加えられ、このデマルチプレクサ7
20はこれらのアドレスを行/列アドレス部、ボード/バ
ンク・アドレス部分およびシングル・ボード・ビットに
分割する。行/列アドレスの22ビットが11本の線に多重
化される。好適な実施例の場合、22ビットの行/列アド
レスがドライバ21を介してメモリ・モジュール60に送ら
れる。シングル・ボード・ビットはドライバ722を介し
てメモリ・モジュール60に送られることが望ましく、他
のボード/バンク・アドレスビットはECC信号と多重化
される。
クサ720の入力にまた加えられ、このデマルチプレクサ7
20はこれらのアドレスを行/列アドレス部、ボード/バ
ンク・アドレス部分およびシングル・ボード・ビットに
分割する。行/列アドレスの22ビットが11本の線に多重
化される。好適な実施例の場合、22ビットの行/列アド
レスがドライバ21を介してメモリ・モジュール60に送ら
れる。シングル・ボード・ビットはドライバ722を介し
てメモリ・モジュール60に送られることが望ましく、他
のボード/バンク・アドレスビットはECC信号と多重化
される。
マルチプレクサ725は、メモリ・コントローラ70に対
する通常のリフレッシュ命令とCPU30からのサイクル・
タイプ情報(すなわち読み出し、書き込み等)およびDM
Aサイクル・タイプ情報とを結合する。通常のリフレッ
シュ命令とリフレッシュ再同期アドレスの両方によっ
て、メモリ・モジュール60がメモリ・リフレッシュ動作
を開始する。
する通常のリフレッシュ命令とCPU30からのサイクル・
タイプ情報(すなわち読み出し、書き込み等)およびDM
Aサイクル・タイプ情報とを結合する。通常のリフレッ
シュ命令とリフレッシュ再同期アドレスの両方によっ
て、メモリ・モジュール60がメモリ・リフレッシュ動作
を開始する。
マルチプレクサ725の出力は、デマルチプレクサ720か
らのボード/バンク・アドレスと共にマルチプレクサ73
0に対する入力である。マルチプレクサ730に対する他の
入力は、ECC発生器/チェッカー735の出力である。マル
チプレクサ730は、入力の1つを選択し、これをメモリ
・モジュール60に対する時分割多重ECC/アドレス線に載
置する。マルチプレクサ730は、これらの時分割多重線
がボード/バンク・アドレスと別の制御情報ならびにEC
C情報を、異なった時間に、搬送することを可能にす
る。
らのボード/バンク・アドレスと共にマルチプレクサ73
0に対する入力である。マルチプレクサ730に対する他の
入力は、ECC発生器/チェッカー735の出力である。マル
チプレクサ730は、入力の1つを選択し、これをメモリ
・モジュール60に対する時分割多重ECC/アドレス線に載
置する。マルチプレクサ730は、これらの時分割多重線
がボード/バンク・アドレスと別の制御情報ならびにEC
C情報を、異なった時間に、搬送することを可能にす
る。
ECC情報は、受信機734を介してメモリ・モジュール60
から受け取られ、入力としてECC発生器/チェッカー735
に加えられ、メモリ・モジュール60によって発生された
ECCをメモリ・コントローラ70によって発生されたECCと
比較する。
から受け取られ、入力としてECC発生器/チェッカー735
に加えられ、メモリ・モジュール60によって発生された
ECCをメモリ・コントローラ70によって発生されたECCと
比較する。
ECC発生器/チェッカー735に対する他の入力は、マル
チプレクサ740からの出力である。メモリ・トランザク
ションが書き込みトランザクションであるか読み出しト
ランザクションであるかによって、マルチプレクサ740
はマルチプレクサ710からメモリ・モジュール60に送ら
れたメモリ・データを入力として受け取るか、または受
信機745を介してメモリ・モジュール60から受け取られ
たメモリ・データを入力として受け取る。マルチプレク
サ740は、ECC発生器/チェッカー735に対する入力であ
るこれらのメモリ・データの組の1つを選択する。発生
器/チェッカー735は、次に適当なECCコードを発生し、
このコードは、マルチプレクサ730に送られる以外に、
またECC修正装置750にも送られる。好適な実施例の場
合、ECC修正装置750はメモリ・モジュール60から受け取
られたメモリ・データ内の全てのシングル・ビットエラ
ーを修正する。
チプレクサ740からの出力である。メモリ・トランザク
ションが書き込みトランザクションであるか読み出しト
ランザクションであるかによって、マルチプレクサ740
はマルチプレクサ710からメモリ・モジュール60に送ら
れたメモリ・データを入力として受け取るか、または受
信機745を介してメモリ・モジュール60から受け取られ
たメモリ・データを入力として受け取る。マルチプレク
サ740は、ECC発生器/チェッカー735に対する入力であ
るこれらのメモリ・データの組の1つを選択する。発生
器/チェッカー735は、次に適当なECCコードを発生し、
このコードは、マルチプレクサ730に送られる以外に、
またECC修正装置750にも送られる。好適な実施例の場
合、ECC修正装置750はメモリ・モジュール60から受け取
られたメモリ・データ内の全てのシングル・ビットエラ
ーを修正する。
ECCチェッカ750から修正されたメモリ・データは、次
に第8図に示すDMAエンジンに送られると共にマルチプ
レクサ752に送られる。マルチプレクサ752に対する他の
入力は、第9図と関連して以下で説明するエラー処理ロ
ジックからのエラー情報である。マルチプレクサ752の
出力は、ドライバ753を介してCPU30に送られる。
に第8図に示すDMAエンジンに送られると共にマルチプ
レクサ752に送られる。マルチプレクサ752に対する他の
入力は、第9図と関連して以下で説明するエラー処理ロ
ジックからのエラー情報である。マルチプレクサ752の
出力は、ドライバ753を介してCPU30に送られる。
比較器755は、マルチプレクサ710からメモリ・モジュ
ール60に送られたデータをこのデータがドライバ715と
受信機745を通過した後、このデータのコピーと比較す
る。チェックによって、ドライバ715と受信機745が正し
く動作してるかどうかを判定する。比較器755からの出
力はCMPエラー信号であり、この信号はこのような比較
エラーがあるか無いかを示す。第9図においてCMPエラ
ー・ロジックに供給される。
ール60に送られたデータをこのデータがドライバ715と
受信機745を通過した後、このデータのコピーと比較す
る。チェックによって、ドライバ715と受信機745が正し
く動作してるかどうかを判定する。比較器755からの出
力はCMPエラー信号であり、この信号はこのような比較
エラーがあるか無いかを示す。第9図においてCMPエラ
ー・ロジックに供給される。
第7図の他の2つの素子によって、異なった種類のエ
ラー検出が行われる。素子760はパリティ発生器であ
る。メモリ・コントローラ70によってメモリ・モジュー
ル60に記憶されるべきデータに発生されたかまたはメモ
リ・モジュール60によってメモリ・モジュール60から読
み出されたデータに発生されたECCデータは、パリティ
発生器70に送られる。発生器760からのパリティ信号
は、ドライバ762を介して、比較器765に送られる。比較
器765は、発生器760からECCパリティ信号をコントロー
ラ75′によって発生された等価のECCパリティ信号と比
較する。
ラー検出が行われる。素子760はパリティ発生器であ
る。メモリ・コントローラ70によってメモリ・モジュー
ル60に記憶されるべきデータに発生されたかまたはメモ
リ・モジュール60によってメモリ・モジュール60から読
み出されたデータに発生されたECCデータは、パリティ
発生器70に送られる。発生器760からのパリティ信号
は、ドライバ762を介して、比較器765に送られる。比較
器765は、発生器760からECCパリティ信号をコントロー
ラ75′によって発生された等価のECCパリティ信号と比
較する。
パリティ発生器770は、デマルチプレクサ720から受け
取られた行/列アドレス信号とシングル・ビット・ボー
ド・アドレス信号とについて同じ種類のチェックを実行
する。パリティ発生器770からのアドレス・パリティ信
号はドライバ772によって比較器775に送られ、この比較
器775はコントローラ75からまたアドレス・パリティ信
号を受け取る。比較器765と775の出力はパリティ・エラ
ー信号であり、これらの信号は第9図のエラー・ロジッ
クに供給される。
取られた行/列アドレス信号とシングル・ビット・ボー
ド・アドレス信号とについて同じ種類のチェックを実行
する。パリティ発生器770からのアドレス・パリティ信
号はドライバ772によって比較器775に送られ、この比較
器775はコントローラ75からまたアドレス・パリティ信
号を受け取る。比較器765と775の出力はパリティ・エラ
ー信号であり、これらの信号は第9図のエラー・ロジッ
クに供給される。
第8図はDMAエンジン800の基礎を示す。好適な実施例
の場合、DMAエンジン800はメモリ・コントローラ70内に
位置するが、この場所にある必要はない。第8図に示す
ように、DMAエンジン800はデータ・ルータ(router)81
0、DMAコントローラ820、およびDMAレジスタ830を有す
る。ドライバ815と受信機816によって、メモリ・コント
ローラ70とクロスリンク90との間にインタフェースが設
けられる。
の場合、DMAエンジン800はメモリ・コントローラ70内に
位置するが、この場所にある必要はない。第8図に示す
ように、DMAエンジン800はデータ・ルータ(router)81
0、DMAコントローラ820、およびDMAレジスタ830を有す
る。ドライバ815と受信機816によって、メモリ・コント
ローラ70とクロスリンク90との間にインタフェースが設
けられる。
DMAコントローラ820は、制御ロジック700から内部制
御信号を受け取り、これに応答して、制御信号を送って
データ・ルータ810を適当に構成する。コントローラ820
によって、データ・ルータ810が第7図に示すクロスリ
ンク90からのデータと制御信号をメモリ制御70回路に送
るように、その構成がまた設定される。データ・ルータ
は、その状態信号をDMAコントローラ820に送り、このDM
Aコントローラはこの信号を他のDMA情報と共に第9図の
エラー・ロジックに伝える。
御信号を受け取り、これに応答して、制御信号を送って
データ・ルータ810を適当に構成する。コントローラ820
によって、データ・ルータ810が第7図に示すクロスリ
ンク90からのデータと制御信号をメモリ制御70回路に送
るように、その構成がまた設定される。データ・ルータ
は、その状態信号をDMAコントローラ820に送り、このDM
Aコントローラはこの信号を他のDMA情報と共に第9図の
エラー・ロジックに伝える。
レジスタ830はDMAバイト・カウンタ・レジスタ832とD
MAアドレス・レジスタ836を有する。これらのレジスタ
は、ルータ810を介してCPU40によって初期値にセットさ
れる。次に、DMAサイクルの期間中、コントローラ820は
ルータ810を介してカウンタ・レジスタ832をインクリメ
ントさせアドレス・レジスタ836をデクリメントさせ
る。コントローラ820によって、アドレス・サイクル836
の内容がDMA動作の期間中ルータ810と第7図の回路を介
してまたメモリ・モジュール60に送られる。
MAアドレス・レジスタ836を有する。これらのレジスタ
は、ルータ810を介してCPU40によって初期値にセットさ
れる。次に、DMAサイクルの期間中、コントローラ820は
ルータ810を介してカウンタ・レジスタ832をインクリメ
ントさせアドレス・レジスタ836をデクリメントさせ
る。コントローラ820によって、アドレス・サイクル836
の内容がDMA動作の期間中ルータ810と第7図の回路を介
してまたメモリ・モジュール60に送られる。
上に説明したように、本発明の好適な実施例の場合、
メモリ・コントローラ70、75、70′、および75′は、ま
たある種の基本的なエラー動作を実行する。第9図は、
このようなエラー動作を実行するハードウェアの好適な
実施例の一例を示す。
メモリ・コントローラ70、75、70′、および75′は、ま
たある種の基本的なエラー動作を実行する。第9図は、
このようなエラー動作を実行するハードウェアの好適な
実施例の一例を示す。
第9図に示すように、タイムアウト信号、ECCエラー
信号およびバスのミス比較信号のようなある種のメモリ
・コントローラ内部信号は、レール(rail)・エラー信
号、ファイアウォールのミス比較信号およびアドレス/
制御エラー信号のようなある種の外部信号と同様に、診
断エラー・ロジック870に対する入力である。好適な実
施例の場合、診断エラー・ロジック870はクロスリンク9
0と95を介してシステム10の他の素子からエラー信号を
受け取る。
信号およびバスのミス比較信号のようなある種のメモリ
・コントローラ内部信号は、レール(rail)・エラー信
号、ファイアウォールのミス比較信号およびアドレス/
制御エラー信号のようなある種の外部信号と同様に、診
断エラー・ロジック870に対する入力である。好適な実
施例の場合、診断エラー・ロジック870はクロスリンク9
0と95を介してシステム10の他の素子からエラー信号を
受け取る。
診断エラーロジック870は、エラー信号とメモリ・コ
ントローラ70のベーシック・タイミングから発生された
制御パルス信号からエラー・パルスを形成する。診断エ
ラー・ロジック870によって発生されたエラー・パルス
は、ある種のタイミング信号に従って診断エラー・レジ
スタ880の適当なロケーションに記憶されているある種
のエラー情報を含む。システム故障エラー・アドレス・
レジスタ65は、エラーが発生した場合、CPU40と50が通
信を行っていたメモリ・モジュール60内にアドレスを記
憶する。
ントローラ70のベーシック・タイミングから発生された
制御パルス信号からエラー・パルスを形成する。診断エ
ラー・ロジック870によって発生されたエラー・パルス
は、ある種のタイミング信号に従って診断エラー・レジ
スタ880の適当なロケーションに記憶されているある種
のエラー情報を含む。システム故障エラー・アドレス・
レジスタ65は、エラーが発生した場合、CPU40と50が通
信を行っていたメモリ・モジュール60内にアドレスを記
憶する。
診断エラー・ロジック870からのエラー・パルスはま
たエラー・カテゴリー化ロジック850に送られ、このエ
ラー・カテゴリー化ロジック850はまたサイクル・タイ
プ(例えば読み出し、書き込み等)を示す情報をCPU30
から受け取る。この情報およびエラー・パルスから、エ
ラー・カテゴリー化ロジック850はCPU/IOエラー、DMAエ
ラー、またはCPU/MEM故障の存在を判定する。
たエラー・カテゴリー化ロジック850に送られ、このエ
ラー・カテゴリー化ロジック850はまたサイクル・タイ
プ(例えば読み出し、書き込み等)を示す情報をCPU30
から受け取る。この情報およびエラー・パルスから、エ
ラー・カテゴリー化ロジック850はCPU/IOエラー、DMAエ
ラー、またはCPU/MEM故障の存在を判定する。
CPU/IOエラーは、バス46のCPU/IOサイクルに直接帰す
るべき動作上のエラーであり、リセットに関して以下で
説明するように、ハードウェアによって修復することが
可能である。DMAエラーは、DMAサイクルの期間中に発生
するエラーであり、好適な実施例の場合、主としてソフ
トウェアによって処理される。CPU/MEM故障は、CPUの正
しい動作またはメモリの内容を保障することのできない
エラーである。
るべき動作上のエラーであり、リセットに関して以下で
説明するように、ハードウェアによって修復することが
可能である。DMAエラーは、DMAサイクルの期間中に発生
するエラーであり、好適な実施例の場合、主としてソフ
トウェアによって処理される。CPU/MEM故障は、CPUの正
しい動作またはメモリの内容を保障することのできない
エラーである。
エラー・カテゴリー化ロジック850からの出力は、エ
ンコーダ855に送られ、このエンコーダ855は特定のエラ
ー・コードを形成する。このエラー・コードは、エラー
・ディスエーブル信号が存在する場合、次にANDゲート8
56を介してクロスリンク90と95に送られる。
ンコーダ855に送られ、このエンコーダ855は特定のエラ
ー・コードを形成する。このエラー・コードは、エラー
・ディスエーブル信号が存在する場合、次にANDゲート8
56を介してクロスリンク90と95に送られる。
エラー・コードを受け取った後、クロスリンク90、9
5、90′、95′はメモリ・コントローラにリトライ要求
信号を送る。第9図に示すように、メモリ・コントロー
ラ70のエンコーダ895はサイクル・タイプ情報とエラー
信号〔サイクル修飾子として纒めて示される〕と共にリ
トライ要求信号を受け取る。エンコーダ895は、次にシ
ステム故障エラー・レジスタ898に記憶するための適当
なエラー・コードを発生する。
5、90′、95′はメモリ・コントローラにリトライ要求
信号を送る。第9図に示すように、メモリ・コントロー
ラ70のエンコーダ895はサイクル・タイプ情報とエラー
信号〔サイクル修飾子として纒めて示される〕と共にリ
トライ要求信号を受け取る。エンコーダ895は、次にシ
ステム故障エラー・レジスタ898に記憶するための適当
なエラー・コードを発生する。
システム故障エラー・レジスタ898は、診断エラー・
レジスタ880と同じ情報は格納しない。システム故障エ
ラー・レジスタ898とは違って、診断エラー・レジスタ8
80はクロスリンク・レールからの1つの入力のエラーの
ようなレール・ユニーク情報およびメモリ・モジュール
60内の修正不可能なECCエラーのようなゾーン・ユニー
ク・データのみを含んでいる。
レジスタ880と同じ情報は格納しない。システム故障エ
ラー・レジスタ898とは違って、診断エラー・レジスタ8
80はクロスリンク・レールからの1つの入力のエラーの
ようなレール・ユニーク情報およびメモリ・モジュール
60内の修正不可能なECCエラーのようなゾーン・ユニー
ク・データのみを含んでいる。
診断エラー・レジスタ898は、またエラーの処理に使
用される幾つかのビットを含んでいる。これらのビット
は、所望のメモリ・ロケーションが見当たらないことを
示すNXNビット、所望にI/Oロケーションが見当たらない
ことを示すNXIOビット、ソリッド故障ビットおよび過渡
的ビットを含んでいる。過渡的ビットソリッド・ビット
はいずれも故障のレベルを示す。過渡的ビットによっ
て、またシステム故障エラー・アドレス・レジスタ865
が凍結される。
用される幾つかのビットを含んでいる。これらのビット
は、所望のメモリ・ロケーションが見当たらないことを
示すNXNビット、所望にI/Oロケーションが見当たらない
ことを示すNXIOビット、ソリッド故障ビットおよび過渡
的ビットを含んでいる。過渡的ビットソリッド・ビット
はいずれも故障のレベルを示す。過渡的ビットによっ
て、またシステム故障エラー・アドレス・レジスタ865
が凍結される。
第9図は、メモリ・コントローラ状態レジスタ875を
示すが、これは技術的にはエラー・ロジックの一部では
ない。レジスタ875は、DMA比率部(レシオ)877のDMA比
率コード・エラー・ディスエーブル部878のエラー・デ
ィスエーブル・コード、およびミラー・バス・ドライバ
・イネーブル部876のミラー・バス・ドライバ・イネー
ブル・コードのようなある種の状態情報を記憶する。DM
A比率コードは、DMAに割り当てることのできるメモリ帯
域幅の部分を特定する。エラー・ディスエーブル・コー
ドによって、ANDゲート856および従ってエラー・コード
を動作不能にする信号が与えられる。ミラー・バス・ド
ライバ・イネーブル・コードによって、ある種のトラン
ザクションに対してミラー・バス・ドライバを動作させ
る信号を与えられる。
示すが、これは技術的にはエラー・ロジックの一部では
ない。レジスタ875は、DMA比率部(レシオ)877のDMA比
率コード・エラー・ディスエーブル部878のエラー・デ
ィスエーブル・コード、およびミラー・バス・ドライバ
・イネーブル部876のミラー・バス・ドライバ・イネー
ブル・コードのようなある種の状態情報を記憶する。DM
A比率コードは、DMAに割り当てることのできるメモリ帯
域幅の部分を特定する。エラー・ディスエーブル・コー
ドによって、ANDゲート856および従ってエラー・コード
を動作不能にする信号が与えられる。ミラー・バス・ド
ライバ・イネーブル・コードによって、ある種のトラン
ザクションに対してミラー・バス・ドライバを動作させ
る信号を与えられる。
4.クロスリンク メモリ再同期、DMAおよび1/O動作用のデータは、クロ
スリンク90と95を通過する。一般的に、クロスリンク90
および95によって、CPUモジュール30、CPUモジュール3
0′、I/Oモジュール100、110、120、およびI/Oモジュー
ル110′、110′、120′、との間の通信が行われる。
(第1図参照) クロスリンク90と95は、第10図に示すように、パラレ
ル(並列)・レジスタ910とシリアル(直列)・レジス
タ920の両方を含む。両方のタイプのレジスタは、本発
明の好適な実施例でプロセッサ間の通信を行うために使
用される。通常の動作の期間中、処理装置20と20′は同
期され、データはそれぞれクロスリンク90/95と90′/9
5′のパラレル・レジスタ910を使用して、処理装置20と
20′との間で交換され、処理装置20と20′が同期されて
いない場合、ブートストラッピングの期間中に最も顕著
に現れるように、データはシリアル・レジスタ902によ
ってクロスリンクの間で交換される。
スリンク90と95を通過する。一般的に、クロスリンク90
および95によって、CPUモジュール30、CPUモジュール3
0′、I/Oモジュール100、110、120、およびI/Oモジュー
ル110′、110′、120′、との間の通信が行われる。
(第1図参照) クロスリンク90と95は、第10図に示すように、パラレ
ル(並列)・レジスタ910とシリアル(直列)・レジス
タ920の両方を含む。両方のタイプのレジスタは、本発
明の好適な実施例でプロセッサ間の通信を行うために使
用される。通常の動作の期間中、処理装置20と20′は同
期され、データはそれぞれクロスリンク90/95と90′/9
5′のパラレル・レジスタ910を使用して、処理装置20と
20′との間で交換され、処理装置20と20′が同期されて
いない場合、ブートストラッピングの期間中に最も顕著
に現れるように、データはシリアル・レジスタ902によ
ってクロスリンクの間で交換される。
パラレル・レジスタのアドレスは、メモリ・スペース
と違ってI/Oスペースである。メモリ・スペースとはメ
モリモジュール60内のロケーションのことである。I/O
スペースとは、I/Oおよび内部システム・レジスタのよ
うなロケーションのことであり、これらはメモリ・モジ
ュール60内には存在しない。
と違ってI/Oスペースである。メモリ・スペースとはメ
モリモジュール60内のロケーションのことである。I/O
スペースとは、I/Oおよび内部システム・レジスタのよ
うなロケーションのことであり、これらはメモリ・モジ
ュール60内には存在しない。
I/Oスペース内では、アドレスはシステム・アドレス
・スペース内に存在するか、ゾーン・アドレス・スペー
ス内に存在するかのいずれかである。「システム・アド
レス・スペース」という用語は、システム10全体を通し
てアクセスすることのできるアドレス、すなわち処理装
置20と20′の両方によってアクセスすることのできるア
ドレスのことである。「ゾーン・アドレス・スペース」
という用語は、特定のクロスリンクを含むゾーンによっ
てのみアクセス可能であるアドレスのことである。
・スペース内に存在するか、ゾーン・アドレス・スペー
ス内に存在するかのいずれかである。「システム・アド
レス・スペース」という用語は、システム10全体を通し
てアクセスすることのできるアドレス、すなわち処理装
置20と20′の両方によってアクセスすることのできるア
ドレスのことである。「ゾーン・アドレス・スペース」
という用語は、特定のクロスリンクを含むゾーンによっ
てのみアクセス可能であるアドレスのことである。
第10図に示すパラレル・レジスタは、通信レジスタ90
6とI/Oリセット・レジスタ908を有する。通信レジスタ9
06は、ゾーン間で交換される独特のデータを含む。この
ようなデータは、メモリ・ソフト・エラーのような通常
ゾーンに特有のデータである(メモリモジュール60と6
0′が同じエラーを同時に独立して経験するということ
は確率の領域外の出来事である)。
6とI/Oリセット・レジスタ908を有する。通信レジスタ9
06は、ゾーン間で交換される独特のデータを含む。この
ようなデータは、メモリ・ソフト・エラーのような通常
ゾーンに特有のデータである(メモリモジュール60と6
0′が同じエラーを同時に独立して経験するということ
は確率の領域外の出来事である)。
レジスタ906に記憶されるべきデータはユニークなも
のであるため、書き込みの目的のための通信レジスタ90
6のアドレスは、ゾーン・アドレス・スペースになけれ
ばならない。もしそうでなければ、処理装置20と20′
は、ロックステップ同期状態にあり同じ一連の命令を略
同時に実行しているため、ゾーン・ユニーク・データを
ゾーン11内の通信レジスタ906のみに記憶することはで
きず、これらはこの同じデータをゾーン11′内の通信レ
ジスタ906′(図示せず)にも記憶しなければならな
い。
のであるため、書き込みの目的のための通信レジスタ90
6のアドレスは、ゾーン・アドレス・スペースになけれ
ばならない。もしそうでなければ、処理装置20と20′
は、ロックステップ同期状態にあり同じ一連の命令を略
同時に実行しているため、ゾーン・ユニーク・データを
ゾーン11内の通信レジスタ906のみに記憶することはで
きず、これらはこの同じデータをゾーン11′内の通信レ
ジスタ906′(図示せず)にも記憶しなければならな
い。
しかし、読み出しのための通信レジスタ906のアドレ
スは、システム・アドレス・スペース内に存在する。し
たがって、同期動作の期間中、両方のゾーンは同時に1
つのゾーンから通信レジスタを読み出すことができ、次
に他のゾーンから通信レジスタを同時に読み出すことが
できる。
スは、システム・アドレス・スペース内に存在する。し
たがって、同期動作の期間中、両方のゾーンは同時に1
つのゾーンから通信レジスタを読み出すことができ、次
に他のゾーンから通信レジスタを同時に読み出すことが
できる。
I/Oリセット・レジスタ908は、システム・アドレス・
スペース内に存在する。このI/Oリセット・レジスタ
は、対応するモジュールがリセット状態にあるかどうか
を示すため、1つのI/Oモジュールに対して1ビットを
有する。I/Oモジュールがリセット状態にある場合、こ
れは効果的にディスエーブルされる。
スペース内に存在する。このI/Oリセット・レジスタ
は、対応するモジュールがリセット状態にあるかどうか
を示すため、1つのI/Oモジュールに対して1ビットを
有する。I/Oモジュールがリセット状態にある場合、こ
れは効果的にディスエーブルされる。
パラレル・レジスタ910もまた他のレジスタを有する
が、これらの他のレジスタの理解は本発明を理解するた
めに必要ではない。
が、これらの他のレジスタの理解は本発明を理解するた
めに必要ではない。
パラレル・クロスリンク・レジスタ920は全てゾーン
の固有のスペース内に存在するが、その理由は、これら
が非同期通信に使用されるか、ゾーンに固有の情報のみ
を有しているかのいずれかであるからである。パラレル
・クロスリンク・レジスタとパラレル・クロスリンクの
目的は、プロセッサ20と20′が例えばロック・ステップ
同期状態(例えば、位相ロック状態およびこれと同じ状
態)で動作していなくても、これらのプロセッサ20と2
0′に通信を行なわせることである。好適な実施例の場
合、幾つかのパラレル・レジスタがあるが、本発明を理
解するためにこれらを説明する必要はない。
の固有のスペース内に存在するが、その理由は、これら
が非同期通信に使用されるか、ゾーンに固有の情報のみ
を有しているかのいずれかであるからである。パラレル
・クロスリンク・レジスタとパラレル・クロスリンクの
目的は、プロセッサ20と20′が例えばロック・ステップ
同期状態(例えば、位相ロック状態およびこれと同じ状
態)で動作していなくても、これらのプロセッサ20と2
0′に通信を行なわせることである。好適な実施例の場
合、幾つかのパラレル・レジスタがあるが、本発明を理
解するためにこれらを説明する必要はない。
制御および状態レジスタ912は、状態および制御フラ
グを含むシリアル・レジスタである。これらのフラグの
1つはOSRビット913であり、これはブーストラッピング
のために使用され、対応するゾーンの処理装置がブース
トラップ・プロセスが既に終了しているかまたはこのシ
ステムが再同期を行ったかのいずれかの理由のために、
この処理装置が既にそのブーストラップ・プロセスを開
始したかどうか、またはそのゾーンに対する動作システ
ムが現在動作中であるかどうかを示す。
グを含むシリアル・レジスタである。これらのフラグの
1つはOSRビット913であり、これはブーストラッピング
のために使用され、対応するゾーンの処理装置がブース
トラップ・プロセスが既に終了しているかまたはこのシ
ステムが再同期を行ったかのいずれかの理由のために、
この処理装置が既にそのブーストラップ・プロセスを開
始したかどうか、またはそのゾーンに対する動作システ
ムが現在動作中であるかどうかを示す。
制御および状態レジスタ912は、またクロスリンク90
の現在のモードおよび従って処理装置20の現在のモード
を識別するためのモード・ビット914を有する。モード
・ビットは、再同期モード・ビット915とクロスリンク
・モード・ビット916を含むことが望ましい。再同期モ
ード・ビット915は、クロスリンク90を再同期スレーブ
・モードまたは再同期マスター・モードのいずれかにあ
るものとして識別する。クロスリンク・モード・ビット
916は、クロスリンク90をクロスリンク・オフ・モー
ド、デュプレックス・モード、クロスリンク・マスター
・モード、またはクロスリンク・スレーブ・モードのい
ずれかにあるものとして識別する。
の現在のモードおよび従って処理装置20の現在のモード
を識別するためのモード・ビット914を有する。モード
・ビットは、再同期モード・ビット915とクロスリンク
・モード・ビット916を含むことが望ましい。再同期モ
ード・ビット915は、クロスリンク90を再同期スレーブ
・モードまたは再同期マスター・モードのいずれかにあ
るものとして識別する。クロスリンク・モード・ビット
916は、クロスリンク90をクロスリンク・オフ・モー
ド、デュプレックス・モード、クロスリンク・マスター
・モード、またはクロスリンク・スレーブ・モードのい
ずれかにあるものとして識別する。
パラレル・レジスタの用途の1つは、状態読み出し動
作であり、この動作によって、1つのゾーンのクロスリ
ンクが他のゾーンのクロスリンクの状態を読み出すこと
ができる。状態読み出し要求フラグ918をシリアル制御
状態レジスタ912に立てることによって、状態情報に対
する要求がクロスリンク90′に送られる。このメッセー
ジを受け取ると、クロスリンク90′は、そのシリアル制
御および状態レジスタ912′の内容をクロスリンク90に
送り返す。
作であり、この動作によって、1つのゾーンのクロスリ
ンクが他のゾーンのクロスリンクの状態を読み出すこと
ができる。状態読み出し要求フラグ918をシリアル制御
状態レジスタ912に立てることによって、状態情報に対
する要求がクロスリンク90′に送られる。このメッセー
ジを受け取ると、クロスリンク90′は、そのシリアル制
御および状態レジスタ912′の内容をクロスリンク90に
送り返す。
第11図は、プライマリ・クロスリンク90およびミラー
・クロスリンク95内のルート制御および状態信号(「制
御コード」と呼ぶ)用の素子の幾つかを示す。対応する
クロスリンクの素子は、好適な実施例では、クロスリン
ク90′および95′内に存在する。これらのコードは、メ
モリ・コントローラ70と75およびモジュール相互接続部
130、132、130′および132′との間に送られる。
・クロスリンク95内のルート制御および状態信号(「制
御コード」と呼ぶ)用の素子の幾つかを示す。対応する
クロスリンクの素子は、好適な実施例では、クロスリン
ク90′および95′内に存在する。これらのコードは、メ
モリ・コントローラ70と75およびモジュール相互接続部
130、132、130′および132′との間に送られる。
第12図は、ルート・データおよびアドレス信号を送る
のに使用される好適な実施例のプライマリ・クロスリン
ク90の素子を示す。対応するクロスリンクの素子は、ク
ロスリンク95、90′および95′内に存在する。
のに使用される好適な実施例のプライマリ・クロスリン
ク90の素子を示す。対応するクロスリンクの素子は、ク
ロスリンク95、90′および95′内に存在する。
第11図は、プライマリ・クロスリンク90とミラー・ク
ロスリンク95の両方に対する素子を示すが、これらの素
子の間には重要な相互接続部があるため、ハードウェア
は同じである。プライマリ・クロスリンク90の素子と同
じミラー・クロスリンク95の回路の素子は同じ番号で示
すが、ミラー・コントローラの場合には番号の次に
「m」の文字を付ける。
ロスリンク95の両方に対する素子を示すが、これらの素
子の間には重要な相互接続部があるため、ハードウェア
は同じである。プライマリ・クロスリンク90の素子と同
じミラー・クロスリンク95の回路の素子は同じ番号で示
すが、ミラー・コントローラの場合には番号の次に
「m」の文字を付ける。
第11図および第12図を参照して、これらの素子はラッ
チ、マルチプレクサ、ドライバおよび受信機を含む。ラ
ッチ933および933mのような一部のラッチは遅延素子と
して動作し、クロスリンクの正しいタイミングを保証
し、これによって同期を維持する。第11図に示すよう
に、メモリ・コントローラ70からの制御コードは、バス
88を介してラッチ931に送られ、次にラッチ932に送られ
る。このようなラッチを行う理由は、適当な、遅れを与
えてメモリ・コントローラ70からのデータがメモリ・コ
ントローラ70′からのデータと同時にクロスリンク90を
通過することを保証することである。
チ、マルチプレクサ、ドライバおよび受信機を含む。ラ
ッチ933および933mのような一部のラッチは遅延素子と
して動作し、クロスリンクの正しいタイミングを保証
し、これによって同期を維持する。第11図に示すよう
に、メモリ・コントローラ70からの制御コードは、バス
88を介してラッチ931に送られ、次にラッチ932に送られ
る。このようなラッチを行う理由は、適当な、遅れを与
えてメモリ・コントローラ70からのデータがメモリ・コ
ントローラ70′からのデータと同時にクロスリンク90を
通過することを保証することである。
もしメモリ・コントローラ70からのコードがクロスリ
ンク90′を介して処理装置20′に送られるべきであれ
ば、ドライバ937が起動される。メモリ・コントローラ7
0からの制御コードは、またラッチ933を通過してマルチ
プレクサCSMUXA935に入る。もし制御コードがクロスリ
ンク90′からプライマリ・クロスリンク90に受け取られ
れば、これらの経路は受信装置936を通ってラッチ938お
よまたマルチプレクサ935に至る。
ンク90′を介して処理装置20′に送られるべきであれ
ば、ドライバ937が起動される。メモリ・コントローラ7
0からの制御コードは、またラッチ933を通過してマルチ
プレクサCSMUXA935に入る。もし制御コードがクロスリ
ンク90′からプライマリ・クロスリンク90に受け取られ
れば、これらの経路は受信装置936を通ってラッチ938お
よまたマルチプレクサ935に至る。
マルチプレクサ935に対する制御コードによって、デ
ータのソースが決定される、すなわちこれがメモリ・コ
ントローラ70からきたものであるかまたはメモリ・コン
トローラ70′からきたものであるかが決定され、これら
のコードはマルチプレクサ935の出力に加えられる。こ
の出力は、再び正しい遅延目的のため、ラッチ939に記
憶され、もしこれらのコードがモジュール相互接続部13
0に送られるべきであれば、ドライバ940が起動される。
ータのソースが決定される、すなわちこれがメモリ・コ
ントローラ70からきたものであるかまたはメモリ・コン
トローラ70′からきたものであるかが決定され、これら
のコードはマルチプレクサ935の出力に加えられる。こ
の出力は、再び正しい遅延目的のため、ラッチ939に記
憶され、もしこれらのコードがモジュール相互接続部13
0に送られるべきであれば、ドライバ940が起動される。
データおよびアドレス信号の経路は、第12図に示すよ
うに、第11図に示す制御信号の経路の若干類似してい
る。これらの相違点は、いずれの1つのトランザクショ
ンの期間中においてもデータおよびアドレスはクロスリ
ンク90と95を介して1つの方向のみに流れるが、制御信
号はそのトランザクションの期間中に双方向に流れると
いう事実を反映している。これと同じ理由のため、バス
88と89のデータ線は双方向であるが、制御方向は双方向
ではない。
うに、第11図に示す制御信号の経路の若干類似してい
る。これらの相違点は、いずれの1つのトランザクショ
ンの期間中においてもデータおよびアドレスはクロスリ
ンク90と95を介して1つの方向のみに流れるが、制御信
号はそのトランザクションの期間中に双方向に流れると
いう事実を反映している。これと同じ理由のため、バス
88と89のデータ線は双方向であるが、制御方向は双方向
ではない。
バス88を介してメモリ・コントローラ70から供給され
るデータとアドレスはラッチ961に入り、次いでラッチ9
62に入り、次いでラッチ964に入る。第11図の場合と同
様に、第12図のラッチによって同期を維持するための正
しいタイミングが与えられる。メモリ・コントローラ7
0′から出力されるデータは受信装置986によってバッフ
ァされ、ラッチ988に記憶され、次にマルチプレクサMUX
A966の入力に向かう。マルチプレクサ966の出力は、ラ
ッチ986に記憶され、もしドライバ969が起動されれば、
モジュール相互接続部130に送られる。
るデータとアドレスはラッチ961に入り、次いでラッチ9
62に入り、次いでラッチ964に入る。第11図の場合と同
様に、第12図のラッチによって同期を維持するための正
しいタイミングが与えられる。メモリ・コントローラ7
0′から出力されるデータは受信装置986によってバッフ
ァされ、ラッチ988に記憶され、次にマルチプレクサMUX
A966の入力に向かう。マルチプレクサ966の出力は、ラ
ッチ986に記憶され、もしドライバ969が起動されれば、
モジュール相互接続部130に送られる。
第11図はメモリ・コントローラ72に送られるべき制御
コードの経路を示す。モジュール相互接続部130からの
コードは、先ずラッチ941に記憶され、次にマルチプレ
クサCSMUXC942に与えられる。マルチプレクサ942は、ま
たパラレル・クロスリンク・レジスタ910から制御コー
ドを受け取り、ラッチ943に転送するためパラレル・レ
ジスタ・コードまたはラッチ941からのコードのいずれ
かを選択する。もしこれらの制御コードがクロスリンク
90′に転送されるべきであれば、ドライバ946が起動さ
れる。クロスリンク90′からのコード(および従ってメ
モリ・コントローラ70′からの制御コード)は受信機94
7によってバッファされ、ラッチ948に記憶され、入力と
してマルチプレクサCSMUXD945に加えられる。マルチプ
レクサCSMUXD945は、またラッチ943の内容を記憶してい
るラッチ944の出力を入力として受け取る。
コードの経路を示す。モジュール相互接続部130からの
コードは、先ずラッチ941に記憶され、次にマルチプレ
クサCSMUXC942に与えられる。マルチプレクサ942は、ま
たパラレル・クロスリンク・レジスタ910から制御コー
ドを受け取り、ラッチ943に転送するためパラレル・レ
ジスタ・コードまたはラッチ941からのコードのいずれ
かを選択する。もしこれらの制御コードがクロスリンク
90′に転送されるべきであれば、ドライバ946が起動さ
れる。クロスリンク90′からのコード(および従ってメ
モリ・コントローラ70′からの制御コード)は受信機94
7によってバッファされ、ラッチ948に記憶され、入力と
してマルチプレクサCSMUXD945に加えられる。マルチプ
レクサCSMUXD945は、またラッチ943の内容を記憶してい
るラッチ944の出力を入力として受け取る。
マルチプレクサ945は、モジュール相互接続部130から
のコードまたはクロスリンク90′からのコードのいずれ
かを選択し、これらの信号を入力としてマルチプレクサ
CSMUXE949に加える。マルチプレクサ949は、またデコー
ド・ロジック970からのコード(再同期の期間中に発生
するバルク・メモリの転送のために)、シリアル・クロ
スリンク・レジスタ920からのコード、または所定のエ
ラー・コードERRを入力として受け取る。マルチプレク
サ949は、次に適当に制限されてこれらの入力の幾つか
を選択してラッチ950に記憶する。もしこれらのコード
がメモリ・コントローラ70に送られるべきであれば、次
にドライバ951が起動される。
のコードまたはクロスリンク90′からのコードのいずれ
かを選択し、これらの信号を入力としてマルチプレクサ
CSMUXE949に加える。マルチプレクサ949は、またデコー
ド・ロジック970からのコード(再同期の期間中に発生
するバルク・メモリの転送のために)、シリアル・クロ
スリンク・レジスタ920からのコード、または所定のエ
ラー・コードERRを入力として受け取る。マルチプレク
サ949は、次に適当に制限されてこれらの入力の幾つか
を選択してラッチ950に記憶する。もしこれらのコード
がメモリ・コントローラ70に送られるべきであれば、次
にドライバ951が起動される。
マルチプレクサ949に対する入力であるエラー・コー
ドERRの目的は、レールの1つのエラーによって、レー
ルとしての同じゾーン内のCPUが異なった情報を処理し
ないことを保証することである。もしこのようなことが
発生すれば、CPUモジュール30は故障を検出し、これに
よってドラスチックだが恐らく必要のない動作が発生す
る。このことを回避するため、クロスリンク90はEXCLUS
IVE ORゲート960を有し、このゲートによってマルチプ
レクサ945と945mの出力が比較される。もしこれらの出
力が異なっていれば、ゲート960によってマルチプレク
サ949はERRコードを選択する。EXCLUSIVE ORゲート960
mは、同様にマルチプレクサ949mにまたERRコードを選択
させる。このコードは、エラーが発生しているがCPUモ
ジュールにエラーの発生することは回避されていること
をメモリ・コントローラ70と75に示す。メモリ・モジュ
ール60に対するシングル・レール・インターフェスはデ
ータとアドレスに対して同じ結果を達成する。
ドERRの目的は、レールの1つのエラーによって、レー
ルとしての同じゾーン内のCPUが異なった情報を処理し
ないことを保証することである。もしこのようなことが
発生すれば、CPUモジュール30は故障を検出し、これに
よってドラスチックだが恐らく必要のない動作が発生す
る。このことを回避するため、クロスリンク90はEXCLUS
IVE ORゲート960を有し、このゲートによってマルチプ
レクサ945と945mの出力が比較される。もしこれらの出
力が異なっていれば、ゲート960によってマルチプレク
サ949はERRコードを選択する。EXCLUSIVE ORゲート960
mは、同様にマルチプレクサ949mにまたERRコードを選択
させる。このコードは、エラーが発生しているがCPUモ
ジュールにエラーの発生することは回避されていること
をメモリ・コントローラ70と75に示す。メモリ・モジュ
ール60に対するシングル・レール・インターフェスはデ
ータとアドレスに対して同じ結果を達成する。
第12図に示すデータとアドレスの流れは第11図の制御
信号の流れと同じである。モジュール相互接続部130か
らのデータとアドレスは、ラッチ972に記憶され、次に
入力としてマルチプレクサMUXB974に入力として加えら
れる。パラレル・レジスタ910からのデータによって別
の入力がマルチプレクサ974に加えられる。マルチプレ
クサ974の出力は、マルチプレクサMUXC976に対する入力
であり、このマルチプレクサMUXC976は、またもともと
メモリ・コントローラ70から送られてラッチ961に記憶
されているデータとアドレスを受け取る。マルチプレク
サ976は、次にこれらの入力の1つを選択してラッチ798
に記憶する。もしモジュール相互接続部130から入力さ
れたものであれ、メモリ・コントローラ70から入力され
たものであれ、もしデータとアドレスがクロスリンク9
0′に送られるべきであれば、ドライバ984が起動され
る。
信号の流れと同じである。モジュール相互接続部130か
らのデータとアドレスは、ラッチ972に記憶され、次に
入力としてマルチプレクサMUXB974に入力として加えら
れる。パラレル・レジスタ910からのデータによって別
の入力がマルチプレクサ974に加えられる。マルチプレ
クサ974の出力は、マルチプレクサMUXC976に対する入力
であり、このマルチプレクサMUXC976は、またもともと
メモリ・コントローラ70から送られてラッチ961に記憶
されているデータとアドレスを受け取る。マルチプレク
サ976は、次にこれらの入力の1つを選択してラッチ798
に記憶する。もしモジュール相互接続部130から入力さ
れたものであれ、メモリ・コントローラ70から入力され
たものであれ、もしデータとアドレスがクロスリンク9
0′に送られるべきであれば、ドライバ984が起動され
る。
クロスリンク90′から入力されたデータは受信装置98
6によってバッファされラッチ988に記憶されるが、この
ラッチ988によってまたマルチプレクサMUXD982に対する
入力が与えられる。マルチプレクサMUXD982の他方の入
力はラッチ980の出力であり、このラッチ988はラッチ97
8から入力されたデータとアドレスを有している。マル
チプレクサ982は次にその入力の1つを選択し、これら
は次にラッチ900に記憶される。もしデータまたはアド
レスがメモリ・コントローラ70に送られるべきであれ
ば、ドライバ922が起動される。シリアル・レジスタ920
からのデータはドライバ944を介してメモリ・コントロ
ーラ70に送られる。
6によってバッファされラッチ988に記憶されるが、この
ラッチ988によってまたマルチプレクサMUXD982に対する
入力が与えられる。マルチプレクサMUXD982の他方の入
力はラッチ980の出力であり、このラッチ988はラッチ97
8から入力されたデータとアドレスを有している。マル
チプレクサ982は次にその入力の1つを選択し、これら
は次にラッチ900に記憶される。もしデータまたはアド
レスがメモリ・コントローラ70に送られるべきであれ
ば、ドライバ922が起動される。シリアル・レジスタ920
からのデータはドライバ944を介してメモリ・コントロ
ーラ70に送られる。
クロスリンク90を通るデータ、特に第11図および第12
図の両方のエクソンレオール(xonreol)素子を通るデ
ータは、デコード・ロジック970、デコード・ロジック9
71、デコード・ロジック996、およびデコード・ロジッ
ク998によって発生される幾つかの信号によって制御さ
れる。適当な入力ソースを選択するため、このロジック
によって、適当な入力ソースを選択するために、マルチ
プレクサ935、942、945、949、966、974、976、および9
82を制御する信号が与えられる。更に、このデコード・
ロジックは、またドライバ940、946、951、969、984、9
92、および994を制御する。
図の両方のエクソンレオール(xonreol)素子を通るデ
ータは、デコード・ロジック970、デコード・ロジック9
71、デコード・ロジック996、およびデコード・ロジッ
ク998によって発生される幾つかの信号によって制御さ
れる。適当な入力ソースを選択するため、このロジック
によって、適当な入力ソースを選択するために、マルチ
プレクサ935、942、945、949、966、974、976、および9
82を制御する信号が与えられる。更に、このデコード・
ロジックは、またドライバ940、946、951、969、984、9
92、および994を制御する。
制御信号の大部分は、デコード・ロジック998によっ
て発生されるが、これらの一部はデコード・ロジック97
0、971、970m、971m、および996によって発生される。
デコード、・ロジック998、970および970mは、データと
コードがそれ自身のゾーンから受け取られるか他のゾー
ンから受け取られるかを制御するのに必要なデータとコ
ードをこのロジックが受け取ることを保証する位置に接
続される。
て発生されるが、これらの一部はデコード・ロジック97
0、971、970m、971m、および996によって発生される。
デコード、・ロジック998、970および970mは、データと
コードがそれ自身のゾーンから受け取られるか他のゾー
ンから受け取られるかを制御するのに必要なデータとコ
ードをこのロジックが受け取ることを保証する位置に接
続される。
デコード・ロジック971、971mおよび966の目的は、ド
ライバ937、937mおよび984が適切な状態にセットされる
ことを保証することである。この「初期デコード」によ
って、データ・アドレスとコードが全てのケースで適切
なクロスリンクに送られることを確認する。このような
初期デコード・ロジックがなければ、クロスリンクは全
てそれらのドライバが不能にされた状態におかれる可能
性がある。メモリ・コントローラのドライバがまた不能
にされれば、そのクロスリンクは決してアドレス、デー
タおよび制御コードを受け取らず、そのクロスリンクに
接続されているI/Oモジュールの全てを効率的に不能に
する。
ライバ937、937mおよび984が適切な状態にセットされる
ことを保証することである。この「初期デコード」によ
って、データ・アドレスとコードが全てのケースで適切
なクロスリンクに送られることを確認する。このような
初期デコード・ロジックがなければ、クロスリンクは全
てそれらのドライバが不能にされた状態におかれる可能
性がある。メモリ・コントローラのドライバがまた不能
にされれば、そのクロスリンクは決してアドレス、デー
タおよび制御コードを受け取らず、そのクロスリンクに
接続されているI/Oモジュールの全てを効率的に不能に
する。
デコード・ロジック970、971、970m、971m、および99
8によって発生されたドライバ制御信号を説明する前
に、これらのゾーン、従ってクロスリンク90と95がとる
ことのできる異なったモードを理解する必要がある。第
13図は、異なった状態AないしFおよび各モードに対応
するこれらの状態を説明する表である。
8によって発生されたドライバ制御信号を説明する前
に、これらのゾーン、従ってクロスリンク90と95がとる
ことのできる異なったモードを理解する必要がある。第
13図は、異なった状態AないしFおよび各モードに対応
するこれらの状態を説明する表である。
開始時およびその他の場合、両方のゾーンは状態Aに
あり、この状態Aはこれら両方のゾーンに対するOFFモ
ードとして知られる。このモードの場合、両方のゾーン
のコンピュータ・システムは独立して動作している。こ
れらのゾーンの1つの動作システムが他方のゾーンのI/
Oと通信を行う能力を要求し、その要求が受け入れられ
た後、これらのゾーンは状態BとCとして示されるマス
ター/スレーブ・モードに入る。このようなモードの場
合、マスターであるゾーンは動作しているCPUを有し、
そのゾーンおよび他方のゾーンのI/Oモジュールを制御
する。
あり、この状態Aはこれら両方のゾーンに対するOFFモ
ードとして知られる。このモードの場合、両方のゾーン
のコンピュータ・システムは独立して動作している。こ
れらのゾーンの1つの動作システムが他方のゾーンのI/
Oと通信を行う能力を要求し、その要求が受け入れられ
た後、これらのゾーンは状態BとCとして示されるマス
ター/スレーブ・モードに入る。このようなモードの場
合、マスターであるゾーンは動作しているCPUを有し、
そのゾーンおよび他方のゾーンのI/Oモジュールを制御
する。
再同期を開始すると、コンピュータ・システムは状態
BまたはCのいずれかのマスター/スレーブ・モードを
離脱し、状態EおよびFとして示される再同期スレーブ
/再同期マスター・モードに入る。これらのモードの場
合、マスター・ゾーンであったゾーンが他方のゾーンの
CPUをオン・ラインにする役割を果たす。もし再同期に
失敗すれば、これらのゾーンは前に再同期しようとした
のと同じマスター/スレーブ・モードに戻る。
BまたはCのいずれかのマスター/スレーブ・モードを
離脱し、状態EおよびFとして示される再同期スレーブ
/再同期マスター・モードに入る。これらのモードの場
合、マスター・ゾーンであったゾーンが他方のゾーンの
CPUをオン・ラインにする役割を果たす。もし再同期に
失敗すれば、これらのゾーンは前に再同期しようとした
のと同じマスター/スレーブ・モードに戻る。
しかし、もし再同期が成功すれば、これらのゾーンは
状態Dに入り、この状態Dは完全デュプレクス(二重)
・モードである。このモードの場合、両方のモードはロ
ックステップ同期状態で共に動作する。動作は、CPM/ME
Mの故障が発生する迄、このモードで継続され、この場
合、システムは2つのマスター・スレーブ・モードの1
つに入る。スレーブはそのプロセッサがCPM/MEM故障を
経験したゾーンである。
状態Dに入り、この状態Dは完全デュプレクス(二重)
・モードである。このモードの場合、両方のモードはロ
ックステップ同期状態で共に動作する。動作は、CPM/ME
Mの故障が発生する迄、このモードで継続され、この場
合、システムは2つのマスター・スレーブ・モードの1
つに入る。スレーブはそのプロセッサがCPM/MEM故障を
経験したゾーンである。
状態D、すなわち完全デュプレックス・モードで作動
している場合、最も顕著なのはクロック位相エラーであ
るが、ある種のエラーが発生すると、システムを2つの
独立した処理装置に分割する必要が生ずる。これによっ
てシステム状態Aに戻る。
している場合、最も顕著なのはクロック位相エラーであ
るが、ある種のエラーが発生すると、システムを2つの
独立した処理装置に分割する必要が生ずる。これによっ
てシステム状態Aに戻る。
第11図および第12図に示すデコード・ロジック970、9
70m、971、971m、998(まとめてクロスリンク・制御ロ
ジックと称する)は、クロスリンク・ドライバとマルチ
プレクサをどのようにして適切な状態にセットするかを
決定するため、第10図に示す再同期モード・ビット915
とクロスリンク・モード・ビット916にアクセスする、
更に、このクロスリンク・デコード・ロジックは、また
データ・トランザクションの期間中にメモリ・コントロ
ーラ70と75から送られたアドレスの一部を受け取って分
析し、クロスリンク・マルチプレクサとドライバの状態
をどのようにして設定するかをクロスリンク・デコード
・ロジックに対して更に指示するアドレス情報を取り出
す。
70m、971、971m、998(まとめてクロスリンク・制御ロ
ジックと称する)は、クロスリンク・ドライバとマルチ
プレクサをどのようにして適切な状態にセットするかを
決定するため、第10図に示す再同期モード・ビット915
とクロスリンク・モード・ビット916にアクセスする、
更に、このクロスリンク・デコード・ロジックは、また
データ・トランザクションの期間中にメモリ・コントロ
ーラ70と75から送られたアドレスの一部を受け取って分
析し、クロスリンク・マルチプレクサとドライバの状態
をどのようにして設定するかをクロスリンク・デコード
・ロジックに対して更に指示するアドレス情報を取り出
す。
マルチプレクサの状態を設定するのに必要な情報は、
一度異なったモードとトランザクションを理解すると、
かなりはっきりする。行うべき唯一の判断はデータのソ
ースである。従って、クロスリンク90と95がスレーブ・
モードにある場合、マルチプレクサ935、935m、および9
66はゾーン11からデータ・アドレスとコードを選択す
る。もしクロスリンク90と95が完全にデュプレックス・
モードにあり、I/Oの命令のアドレスがゾーン11のI/Oに
接続された装置に対するものであり、影響を受けたマル
プレクサとのクロスリンクがクロスオーバ・モードにあ
れば、これらのマルチプレクサはまた他方のゾーンから
データ、アドレスおよびコードを選択する。クロスオー
バ・モードの場合、モジュール相互接続部に送られるべ
きデータはチェックのため他方のゾーンから受けられる
べきである。好適な実施例の場合、モジュール相互接続
部130はゾーン11のプライマリ・レールからデータ、ア
ドレスおよびコードを受け取り、モジュール接続部は、
ゾーン11′のミラー・レールからデータ、アドレスおよ
びコードを受け取る。または、モジュール相互接続部13
2はゾーン11′のプライマリ・レールからデータ、アド
レスおよびコードを受け取ることができ、これによっ
て、一方のゾーンのプライマリ・レールを他方のゾーン
のミラー・レールと比較することが可能になる。
一度異なったモードとトランザクションを理解すると、
かなりはっきりする。行うべき唯一の判断はデータのソ
ースである。従って、クロスリンク90と95がスレーブ・
モードにある場合、マルチプレクサ935、935m、および9
66はゾーン11からデータ・アドレスとコードを選択す
る。もしクロスリンク90と95が完全にデュプレックス・
モードにあり、I/Oの命令のアドレスがゾーン11のI/Oに
接続された装置に対するものであり、影響を受けたマル
プレクサとのクロスリンクがクロスオーバ・モードにあ
れば、これらのマルチプレクサはまた他方のゾーンから
データ、アドレスおよびコードを選択する。クロスオー
バ・モードの場合、モジュール相互接続部に送られるべ
きデータはチェックのため他方のゾーンから受けられる
べきである。好適な実施例の場合、モジュール相互接続
部130はゾーン11のプライマリ・レールからデータ、ア
ドレスおよびコードを受け取り、モジュール接続部は、
ゾーン11′のミラー・レールからデータ、アドレスおよ
びコードを受け取る。または、モジュール相互接続部13
2はゾーン11′のプライマリ・レールからデータ、アド
レスおよびコードを受け取ることができ、これによっ
て、一方のゾーンのプライマリ・レールを他方のゾーン
のミラー・レールと比較することが可能になる。
マルチプレクサ945、945m、982は、データのソースで
あるいずれかのゾーンからデータ、アドレスおよびコー
ドを受け入れるようにセットされる。このことは、全て
のクロスリンクが完全にデュプレックス・モードにあ
り、データ、アドレスおよびコードがI/Oモジュールか
ら受け取られる場合と、クロスリンクが再同期スレーブ
・モードであり、データ、アドレスおよびコードが他方
のゾーンのメモリ・コントローラから受け取られる場合
の両方について、真実である。
あるいずれかのゾーンからデータ、アドレスおよびコー
ドを受け入れるようにセットされる。このことは、全て
のクロスリンクが完全にデュプレックス・モードにあ
り、データ、アドレスおよびコードがI/Oモジュールか
ら受け取られる場合と、クロスリンクが再同期スレーブ
・モードであり、データ、アドレスおよびコードが他方
のゾーンのメモリ・コントローラから受け取られる場合
の両方について、真実である。
もしメモリ・コントローラ70および75からのアドレス
情報が、応答データとコードのソースがクロスリンク自
身のパラレル・レジスタ910であることを示せば、マル
チプレクサ942、942m、および974はこれらのレジスタか
らデータとコードを選択するようにセットされる。同様
に、もしメモリ・コントローラ70および75からのアドレ
ス情報が応答データのソースはクロスリンク自身のシリ
アル・レジスタ920であることを示せば、マルチプレク
サ949と949mはデータとコードをこれらのレジスタから
選択するようにセットされる。
情報が、応答データとコードのソースがクロスリンク自
身のパラレル・レジスタ910であることを示せば、マル
チプレクサ942、942m、および974はこれらのレジスタか
らデータとコードを選択するようにセットされる。同様
に、もしメモリ・コントローラ70および75からのアドレ
ス情報が応答データのソースはクロスリンク自身のシリ
アル・レジスタ920であることを示せば、マルチプレク
サ949と949mはデータとコードをこれらのレジスタから
選択するようにセットされる。
もしこの情報がメモリ再同期動作期間中の制御コード
であれば、マルチプレクサ949と949mはデコード・ロジ
ック970と970mからデータを選択するようにまたセット
され、もしEXCLUSIVE ORゲート960と960mがクロスリン
ク90と95を介して転送されたデータの間で比較のミスを
識別すれば、ERRコードを選択するようにセットされ
る。この後者の場合、マルチプレクサ949と949mの制御
は、クロスリンク・ロジックからではなくてEXCLUSIVE
ORゲート960と960mから行われる。マルチプレクサ949
と949mは、クロスリンク・レジスタ910が要求された場
合には、これらのレジスタからコードをまた選択し、こ
れらのコードが要求された場合には、マルチプレクサ94
5と945mの出力をまた選択する。マルチプレクサ945と94
5mは、それぞれマルチプレクサ942と942mからの出力か
またはそれぞれクロスリンク90′と95′からのI/Oコー
ドかのいずれかを選択する。
であれば、マルチプレクサ949と949mはデコード・ロジ
ック970と970mからデータを選択するようにまたセット
され、もしEXCLUSIVE ORゲート960と960mがクロスリン
ク90と95を介して転送されたデータの間で比較のミスを
識別すれば、ERRコードを選択するようにセットされ
る。この後者の場合、マルチプレクサ949と949mの制御
は、クロスリンク・ロジックからではなくてEXCLUSIVE
ORゲート960と960mから行われる。マルチプレクサ949
と949mは、クロスリンク・レジスタ910が要求された場
合には、これらのレジスタからコードをまた選択し、こ
れらのコードが要求された場合には、マルチプレクサ94
5と945mの出力をまた選択する。マルチプレクサ945と94
5mは、それぞれマルチプレクサ942と942mからの出力か
またはそれぞれクロスリンク90′と95′からのI/Oコー
ドかのいずれかを選択する。
マルチプレクサ976は、I/Oモジュールとのトランザク
ションの場合には、モジュール相互接続部139からデー
タとアドレスを選択するか、またはデータとアドレスが
I/Oに対してかまたはメモリの再同期の期間中かのいず
れかにクロスリンク90′に送られるべきである場合、メ
モリ・コントローラ90からのデータとアドレスを選択す
るかのいずれかである。
ションの場合には、モジュール相互接続部139からデー
タとアドレスを選択するか、またはデータとアドレスが
I/Oに対してかまたはメモリの再同期の期間中かのいず
れかにクロスリンク90′に送られるべきである場合、メ
モリ・コントローラ90からのデータとアドレスを選択す
るかのいずれかである。
ドライバ937と937mは、クロスリンク90と95がデュプ
レックス・モード、マスター・モードまたは再同期マス
ター・モードにある場合、動作される。ドライバ940と9
40mは、ゾーン11のI/Oトランザクションの場合に動作さ
れる。ドライバ946と946mは、クロスリンク90と95がデ
ュプレックス・モードまたはスレーブ・モードの場合に
動作される。ドライバ951と951mは常に動作されてい
る。
レックス・モード、マスター・モードまたは再同期マス
ター・モードにある場合、動作される。ドライバ940と9
40mは、ゾーン11のI/Oトランザクションの場合に動作さ
れる。ドライバ946と946mは、クロスリンク90と95がデ
ュプレックス・モードまたはスレーブ・モードの場合に
動作される。ドライバ951と951mは常に動作されてい
る。
ドライバ969はゾーン11に対するI/O書き込み期間中に
動作される。ドライバ984は、クロスリンク90がデータ
とアドレスをゾーン11′のI/Oに送っている場合、また
はクロスリンク90が再同期マスター・モードにある場合
に動作される。受信機986はクロスリンク90′からデー
タを受け取る。ドライバ992と994は、データがメモリ・
コントローラ70に送られている場合に動作される。ドラ
イバ994は、シリアル・クロスリンク・レジスタ910の内
容が読み出されている場合に動作され、ドライバ992は
全ての他の読み出し期間中に動作される。
動作される。ドライバ984は、クロスリンク90がデータ
とアドレスをゾーン11′のI/Oに送っている場合、また
はクロスリンク90が再同期マスター・モードにある場合
に動作される。受信機986はクロスリンク90′からデー
タを受け取る。ドライバ992と994は、データがメモリ・
コントローラ70に送られている場合に動作される。ドラ
イバ994は、シリアル・クロスリンク・レジスタ910の内
容が読み出されている場合に動作され、ドライバ992は
全ての他の読み出し期間中に動作される。
5.発信器 両方の処理装置20と20′が各々同じ機能を完全デュプ
レックス・モードで実行している場合、CPUモジュール3
0と30′が同じ速度で動作を実行することは避けられな
い、もしそうでなければ、処理時間の大部分は、I′O
およびインタープロセッサのエラーのチェックのために
処理装置の20と20′を再同期させることに消費されてし
まう。処理装置20と20′の好適な実施例の場合、これら
のシステムの基本的なクロック信号は相互に同期されて
位相ロックされている。故障許容コンピュータ・システ
ム10は、処理装置20と20′に対するクロック信号の周波
数を制御し、各処理装置に対するクロック信号の間の位
相差を最小にするために、タイミング・システムを有し
ている。
レックス・モードで実行している場合、CPUモジュール3
0と30′が同じ速度で動作を実行することは避けられな
い、もしそうでなければ、処理時間の大部分は、I′O
およびインタープロセッサのエラーのチェックのために
処理装置の20と20′を再同期させることに消費されてし
まう。処理装置20と20′の好適な実施例の場合、これら
のシステムの基本的なクロック信号は相互に同期されて
位相ロックされている。故障許容コンピュータ・システ
ム10は、処理装置20と20′に対するクロック信号の周波
数を制御し、各処理装置に対するクロック信号の間の位
相差を最小にするために、タイミング・システムを有し
ている。
第14図は、処理装置20と20′で実施される本発明のタ
イミング・システムのブロック図を示す。このタイミン
グ・システムは、処理装置20のCPUモジュール30の発信
器システム200と処理相違20′のCPUモジュール30′の発
振器システム200′によって構成される。発振器200′の
素子は発振器200の素子と同じであり、両方の発振器シ
ステムの動作は同じである。従って、発振器システム20
0と200′の動作が異なっている場合を除いて、発振器シ
ステム200の素子と動作のみを説明する。
イミング・システムのブロック図を示す。このタイミン
グ・システムは、処理装置20のCPUモジュール30の発信
器システム200と処理相違20′のCPUモジュール30′の発
振器システム200′によって構成される。発振器200′の
素子は発振器200の素子と同じであり、両方の発振器シ
ステムの動作は同じである。従って、発振器システム20
0と200′の動作が異なっている場合を除いて、発振器シ
ステム200の素子と動作のみを説明する。
第14図に示すように、発振器システム200の大部分、
特にディジタル・ロジックはクロスリンク95内部に位置
しているが、この位置は本発明にとって必要なものでは
ない。発振器システム200は電圧制御水晶発振器(VCX)
205を有し、これは好ましくは、66.66Mhzの基本発振器
信号を発生する。VCXO205の周波数は入力の電圧レベル
によって調整することができる。
特にディジタル・ロジックはクロスリンク95内部に位置
しているが、この位置は本発明にとって必要なものでは
ない。発振器システム200は電圧制御水晶発振器(VCX)
205を有し、これは好ましくは、66.66Mhzの基本発振器
信号を発生する。VCXO205の周波数は入力の電圧レベル
によって調整することができる。
クロック分配チップ210は基本発振器信号を分周し、
全て同じ周波数を有する4つの一次クロックを発生する
ことが望ましい。プライマリCPU40の場合、これらのク
ロックはPCLK LおよびPCLK Hであり、これらは相互
に論理が反転しているものである。ミラーCPU50の場
合、クロック分配チップ210はクロック信号MCLK LとM
CLK Hを発生し、これらはまた相互に論理が反転して
いるものである。第15図は、これらのクロック信号のタ
イミングと位相の関係を示す。クロック信号CLK L、P
CLK H、MCLK M、およびMCLK Hは約33.33Mhzであ
ることが望ましい。クロック・チップ210は、また第15
図に示す16.66Mhzの位相ロック・ループ信号CLKC Hを
また発生する。この位相ロック・ループ信号は、この信
号をバッファするクロック・ロジック220に送られる。
全て同じ周波数を有する4つの一次クロックを発生する
ことが望ましい。プライマリCPU40の場合、これらのク
ロックはPCLK LおよびPCLK Hであり、これらは相互
に論理が反転しているものである。ミラーCPU50の場
合、クロック分配チップ210はクロック信号MCLK LとM
CLK Hを発生し、これらはまた相互に論理が反転して
いるものである。第15図は、これらのクロック信号のタ
イミングと位相の関係を示す。クロック信号CLK L、P
CLK H、MCLK M、およびMCLK Hは約33.33Mhzであ
ることが望ましい。クロック・チップ210は、また第15
図に示す16.66Mhzの位相ロック・ループ信号CLKC Hを
また発生する。この位相ロック・ループ信号は、この信
号をバッファするクロック・ロジック220に送られる。
クロック・ロジック・バッファ220は、同期に使用す
るため、CLKC H信号を発振器200′に送る。発振器20
0′のクロック・ロジック・バッファ220′は、それ自身
のバッファされた位相ロック・ループ信号CLKC′ Hを
発振器200の位相検出器230に送る。位相検出器230は、
遅延素子225を介してクロック・ロジック220から位相ロ
ック・ループ信号CLKC Hをまた受け取る。遅延素子22
5は、クロック・ロジック・バッファ220′からのケーブ
ル・ラン(cable run)による遅延を概算する。
るため、CLKC H信号を発振器200′に送る。発振器20
0′のクロック・ロジック・バッファ220′は、それ自身
のバッファされた位相ロック・ループ信号CLKC′ Hを
発振器200の位相検出器230に送る。位相検出器230は、
遅延素子225を介してクロック・ロジック220から位相ロ
ック・ループ信号CLKC Hをまた受け取る。遅延素子22
5は、クロック・ロジック・バッファ220′からのケーブ
ル・ラン(cable run)による遅延を概算する。
位相検出器230は、その入力位相ロック・ループ信号
を比較して2つの出力を発生する。これらの信号の1つ
は位相差異信号235であり、これはループ増幅器240を介
してVCXO205の電圧入力に送られる。位相差異信号235に
よって、増幅器240は信号を発生し、この位相差異を補
償するためにVCXO205の周波数を変換する。
を比較して2つの出力を発生する。これらの信号の1つ
は位相差異信号235であり、これはループ増幅器240を介
してVCXO205の電圧入力に送られる。位相差異信号235に
よって、増幅器240は信号を発生し、この位相差異を補
償するためにVCXO205の周波数を変換する。
位相検出器230の他方の出力は、位相エラー信号236で
あり、これは可能性のある同期の故障を示す。
あり、これは可能性のある同期の故障を示す。
第16図は、位相検出器230の詳細図である。位相検出
器230は位相比較器232と電圧比較器234を有する。位相
比較器232は、遅延素子225からクロック信号(CLKC
H)を受け取ると共に検出器200′から位相ロック・ル
ープ・クロック信号(CLKC′H)を受け取り、これらの
信号の位相差を表す電圧差として位相差号235を発生す
る。
器230は位相比較器232と電圧比較器234を有する。位相
比較器232は、遅延素子225からクロック信号(CLKC
H)を受け取ると共に検出器200′から位相ロック・ル
ープ・クロック信号(CLKC′H)を受け取り、これらの
信号の位相差を表す電圧差として位相差号235を発生す
る。
もしクロックを同期させる目的のために処理装置20が
「スレーブ」であれば、スイッチ245は「SLAVE」の位置
(すなわち閉)にあり、電圧水準235は、ループ増幅器2
40によって増幅された後、VCXO205の周波数を制御す
る。もし両方のスイッチ245と245′が「マスター」の位
置にあれば、処理装置20と20′は位相ロックされず、非
同期の状態で(独立して)動作する。
「スレーブ」であれば、スイッチ245は「SLAVE」の位置
(すなわち閉)にあり、電圧水準235は、ループ増幅器2
40によって増幅された後、VCXO205の周波数を制御す
る。もし両方のスイッチ245と245′が「マスター」の位
置にあれば、処理装置20と20′は位相ロックされず、非
同期の状態で(独立して)動作する。
位相差信号235の電圧水準は、また電圧比較器234に対
する入力であり、これらの位相差は位相の進みと遅れの
許容範囲を表す電圧Vref1およびVref2である。もしこの
位相差が許容範囲であれば、PHASE ERROR信号は活性化
されない。もしこの位相差が許容範囲以外であれば、PH
ASH ERROR信号236は活性化され、クロック・デコーダ2
20を介してクロスリンク95に送られる。
する入力であり、これらの位相差は位相の進みと遅れの
許容範囲を表す電圧Vref1およびVref2である。もしこの
位相差が許容範囲であれば、PHASE ERROR信号は活性化
されない。もしこの位相差が許容範囲以外であれば、PH
ASH ERROR信号236は活性化され、クロック・デコーダ2
20を介してクロスリンク95に送られる。
6.I/Oモジュール 第17図はI/Oモジュール100の好適な実施例を示す。こ
のI/Oモジュール100の動作の原理は、他のI/Oモジュー
ルにも同様に適応することができる。
のI/Oモジュール100の動作の原理は、他のI/Oモジュー
ルにも同様に適応することができる。
第18図はファイアウォール1000の好適な実施例の素子
を示す。ファイアウォール1000は、第17図に示すモジュ
ール相互接続部130を対する16ビットのバス・インタフ
ェース1810とバス1020に接続するための32ビットのバス
・インタフェース1820を有する。インタフェース1810と
1820は内部ファイアウォール・バス1815によって接続さ
れ、このファイアウォール・バス1815はまたファイアウ
ォール1000の他の素子とも相互に接続される。バス1815
は16または35ビット幅のパラレル・バスであることが望
ましい。
を示す。ファイアウォール1000は、第17図に示すモジュ
ール相互接続部130を対する16ビットのバス・インタフ
ェース1810とバス1020に接続するための32ビットのバス
・インタフェース1820を有する。インタフェース1810と
1820は内部ファイアウォール・バス1815によって接続さ
れ、このファイアウォール・バス1815はまたファイアウ
ォール1000の他の素子とも相互に接続される。バス1815
は16または35ビット幅のパラレル・バスであることが望
ましい。
I/Oモジュール100はデュアル・レール・モジュール相
互接続部130と132によってCPUモジュール30に接続され
る。モジュール相互接続部の各々は、それぞれファイア
ウォール1000と1010に接続される。通常はファイアウォ
ール1000であるが必ずしもこれではない一方のファイア
ウォールは、モジュール相互接続部130からバス1020に
データを書き込む。この場合にはファイアウォール1010
である他方のファアウォールは、第18図に示すファイア
ウォール比較回路1840を使用して、そのデータをモジュ
ール相互接続部132から受け取った自分自身のコピーと
チェックする。このチェックは有効であるが、その理由
は、CPUモジュール30と30′からI/Oモジュールに対して
書き込まれたデータを実質的に同時にファイアウォール
1000と1010で入手可能にしているこれらのCPUモジュー
ル30と30′がロックステップ同期の状態にあるからであ
る。
互接続部130と132によってCPUモジュール30に接続され
る。モジュール相互接続部の各々は、それぞれファイア
ウォール1000と1010に接続される。通常はファイアウォ
ール1000であるが必ずしもこれではない一方のファイア
ウォールは、モジュール相互接続部130からバス1020に
データを書き込む。この場合にはファイアウォール1010
である他方のファアウォールは、第18図に示すファイア
ウォール比較回路1840を使用して、そのデータをモジュ
ール相互接続部132から受け取った自分自身のコピーと
チェックする。このチェックは有効であるが、その理由
は、CPUモジュール30と30′からI/Oモジュールに対して
書き込まれたデータを実質的に同時にファイアウォール
1000と1010で入手可能にしているこれらのCPUモジュー
ル30と30′がロックステップ同期の状態にあるからであ
る。
ファイアウォール比較回路1840は、CPUモジュール30
と30′から受取ったデータのみをチェックするだけであ
る。I/O装置からCPUモジュール30と30′に送られたデー
タは、共通の供給元を有し、従ってチェックを必要とし
ない。その代わり、I/O装置から受取られCPUモジュール
30と30′に送られるデータは、EDC/CRC発生器1850によ
って実行される周期的冗長性チェック(CRC)コードの
ようなエラー検出コード(EDC)によってチェックされ
る。EDC/CRC発生器1850は、また内部ファアウォール・
バス1815に接続される。
と30′から受取ったデータのみをチェックするだけであ
る。I/O装置からCPUモジュール30と30′に送られたデー
タは、共通の供給元を有し、従ってチェックを必要とし
ない。その代わり、I/O装置から受取られCPUモジュール
30と30′に送られるデータは、EDC/CRC発生器1850によ
って実行される周期的冗長性チェック(CRC)コードの
ようなエラー検出コード(EDC)によってチェックされ
る。EDC/CRC発生器1850は、また内部ファアウォール・
バス1815に接続される。
EDC/CRC発生器1850は、I/O装置によって使用されるの
と同じEDC/CRCコードを発生してチェックを行う。I/Oモ
ジュール100は2つのEDCを発生することが望ましい。一
方のEDCはまたEDC/CRCでもよく、これはモジュール100
が接続されているイーサネット・パケット・ネットワー
クのようなネットワークに対するインタフェースに使用
される(第17図の素子108参照)。他方のEDCは第17図の
ディスク・インタフェース1072のようなディスク・イン
タフェースに使用される。
と同じEDC/CRCコードを発生してチェックを行う。I/Oモ
ジュール100は2つのEDCを発生することが望ましい。一
方のEDCはまたEDC/CRCでもよく、これはモジュール100
が接続されているイーサネット・パケット・ネットワー
クのようなネットワークに対するインタフェースに使用
される(第17図の素子108参照)。他方のEDCは第17図の
ディスク・インタフェース1072のようなディスク・イン
タフェースに使用される。
CPUモジュール30とI/Oモジュール100との間でEDC/CRC
を適応することは必要でないが、その理由は、モジュー
ルの相互接続部が二重になっているからである。例えば
CPUモジュール30の場合、クロスリンク90はモジュール
相互接続部30を介してファイアウォール1000と通信を行
い、クロスリンク95はモジュール相互接続部132を介し
てファアウォール1000と通信を行う。
を適応することは必要でないが、その理由は、モジュー
ルの相互接続部が二重になっているからである。例えば
CPUモジュール30の場合、クロスリンク90はモジュール
相互接続部30を介してファイアウォール1000と通信を行
い、クロスリンク95はモジュール相互接続部132を介し
てファアウォール1000と通信を行う。
イーサネット・ネットワーク1082から受け取られたメ
ッセージは、第17図に示すネットワーク・コントローラ
1080によってEDC/CRCの有効性をチェックされる。EDC/C
RCが完全であるデータは、これもまた第17図に示すロー
カルRAM1060に書き込まれる。ローカルRAM1060内の全て
のデータは、DMAを使用してメモリ・モジュール60に転
送される。DMAコントローラ1890は転送の調整を行い、E
DC/CRC発生器に転送中のEDC/CRCによって符号化された
データの有効性をチェックさせる。
ッセージは、第17図に示すネットワーク・コントローラ
1080によってEDC/CRCの有効性をチェックされる。EDC/C
RCが完全であるデータは、これもまた第17図に示すロー
カルRAM1060に書き込まれる。ローカルRAM1060内の全て
のデータは、DMAを使用してメモリ・モジュール60に転
送される。DMAコントローラ1890は転送の調整を行い、E
DC/CRC発生器に転送中のEDC/CRCによって符号化された
データの有効性をチェックさせる。
I/O装置との大部分のデータの転送はDMAによって行わ
れる。データはメイン・メモリとI/Oバッファ・メモリ
との間を移動する。データがメイン・メモリからI/Oバ
ッファ・メモリに移動する場合、EDC/CRCを付加しても
よい。データがI/Oバッファ・メモリからメイン・メモ
リに移動する場合、EDC/CRCはチェックを受けてメイン
・メモリに移動してもよく、または取り除かれてもよ
い。データがI/Oバッファメモリからディスクまたはイ
ーサネット・アダプタのような外部装置を介して移動さ
れる場合、EDC/CRCは局部的または離れた位置にある受
信ノードでチェックされてもよく、またはその両方でチ
ェックされてもよい。メモリ・データ・パケットは遠く
の位置にあるノードまたはI/Oモジュールのローカル・
インタフェースによって発生されたそれらのEDC/CRCを
有していてもよい。
れる。データはメイン・メモリとI/Oバッファ・メモリ
との間を移動する。データがメイン・メモリからI/Oバ
ッファ・メモリに移動する場合、EDC/CRCを付加しても
よい。データがI/Oバッファ・メモリからメイン・メモ
リに移動する場合、EDC/CRCはチェックを受けてメイン
・メモリに移動してもよく、または取り除かれてもよ
い。データがI/Oバッファメモリからディスクまたはイ
ーサネット・アダプタのような外部装置を介して移動さ
れる場合、EDC/CRCは局部的または離れた位置にある受
信ノードでチェックされてもよく、またはその両方でチ
ェックされてもよい。メモリ・データ・パケットは遠く
の位置にあるノードまたはI/Oモジュールのローカル・
インタフェースによって発生されたそれらのEDC/CRCを
有していてもよい。
この動作によって、I/Oモジュール100のようなシング
ル・レール・システムに存在する、またはこれを介して
転送中のデータがエラー検出コードによってカバーされ
ることが保証され、このエラー検出コードはこのデータ
が最終的に通過する通信メディアと少なくとも同じくら
い信頼性のあることが望ましい。例えば、同期プロトコ
ールを処理するような異なったI/Oモジュールは、適当
なプロトコールのEDC/CRCコードを発生してチェックす
るEDC/CRC発生器を有することが望ましい。
ル・レール・システムに存在する、またはこれを介して
転送中のデータがエラー検出コードによってカバーされ
ることが保証され、このエラー検出コードはこのデータ
が最終的に通過する通信メディアと少なくとも同じくら
い信頼性のあることが望ましい。例えば、同期プロトコ
ールを処理するような異なったI/Oモジュールは、適当
なプロトコールのEDC/CRCコードを発生してチェックす
るEDC/CRC発生器を有することが望ましい。
一般的に、DMAコントローラ1890はアドレスされてい
る共有のメモリ・コントローラ105とローカルRAM1060に
特有のDMAの動作の部分を取扱う。32ビット・バス1020
は2つの異なったモードで駆動される。DMAのセットア
ップの期間中、DMAコントローラ1890は標準非同期マイ
クロプロセッサ・バスとしてバス1020を使用する。DMA
の動作が発生するローカルRAM1060のアドレスは共有の
メモリ・コントローラ1050とDMAコントローラ1890に供
給される。実際のDMAの転送の期間中、DMAコントローラ
1890はDMA制御線1895に非同期の状態でバス1020を駆動
させる。共有のメモリ・コントローラ1050はバス・サイ
クル毎に32ビットのデータ・ワードをバス1020に転送
し、DMAコントローラ1090はどれくらの数のワードの転
送が残っているかについての情報を得る。共有のメモリ
・コントローラ1050は、またローカルRAM1060を制御し
て次のDMAアドレスを発生する。
る共有のメモリ・コントローラ105とローカルRAM1060に
特有のDMAの動作の部分を取扱う。32ビット・バス1020
は2つの異なったモードで駆動される。DMAのセットア
ップの期間中、DMAコントローラ1890は標準非同期マイ
クロプロセッサ・バスとしてバス1020を使用する。DMA
の動作が発生するローカルRAM1060のアドレスは共有の
メモリ・コントローラ1050とDMAコントローラ1890に供
給される。実際のDMAの転送の期間中、DMAコントローラ
1890はDMA制御線1895に非同期の状態でバス1020を駆動
させる。共有のメモリ・コントローラ1050はバス・サイ
クル毎に32ビットのデータ・ワードをバス1020に転送
し、DMAコントローラ1090はどれくらの数のワードの転
送が残っているかについての情報を得る。共有のメモリ
・コントローラ1050は、またローカルRAM1060を制御し
て次のDMAアドレスを発生する。
I/Oモジュール(100、110、120)はそれら自身のロー
カルRAM1060に対する読み出し/書込み動作を制御する
責任を負う。CPUモジュール30はメモリ・アレイ60との
転送動作を制御する責任を負う。メモリ・コントローラ
70と75のDMAエンジン800(第8図に示す)は、CPUモジ
ュール30に対するDMAの動作を管理する。このような作
業の分割によって、いずれかのモジュールのDMAロジッ
クの故障がゾーン11または11′のいずれかの他のモジュ
ールのデータの健在性を低下させることを防止する。
カルRAM1060に対する読み出し/書込み動作を制御する
責任を負う。CPUモジュール30はメモリ・アレイ60との
転送動作を制御する責任を負う。メモリ・コントローラ
70と75のDMAエンジン800(第8図に示す)は、CPUモジ
ュール30に対するDMAの動作を管理する。このような作
業の分割によって、いずれかのモジュールのDMAロジッ
クの故障がゾーン11または11′のいずれかの他のモジュ
ールのデータの健在性を低下させることを防止する。
トレースRAM1872はトレースRAMコントローラ1870の機
能を以下で詳細に説明する。簡単に言えば、故障が検出
され、CPU40、40′、50および50′とCPUモジュール30お
よび30′がそのことを通知されると、コンピュータ・シ
ステム10全体の種々のトレースRAMが以下で説明するあ
る種の機能を実行する。トレースRAMとの通信はトレー
ス・バス1095で行われる。トレースRAMコントローラ187
0は、トレース・バス1095からの信号に応答して、トレ
ースRAM1872に記憶を停止させるかその内容をトレース
・バス1095放出させる。
能を以下で詳細に説明する。簡単に言えば、故障が検出
され、CPU40、40′、50および50′とCPUモジュール30お
よび30′がそのことを通知されると、コンピュータ・シ
ステム10全体の種々のトレースRAMが以下で説明するあ
る種の機能を実行する。トレースRAMとの通信はトレー
ス・バス1095で行われる。トレースRAMコントローラ187
0は、トレース・バス1095からの信号に応答して、トレ
ースRAM1872に記憶を停止させるかその内容をトレース
・バス1095放出させる。
32ビットのパラレル・バスであることが望ましいI/O
モジュール・バス1020は、ファイアウォール1000および
1010に接続されると共にI/Oモジュール100の他の素子に
も接続される。共有のメモリ・コントローラ1050は、I/
Oモジュール100のI/Oモジュール・バス1020にもまた接
続される。共有のメモリ・コントローラ1050は共有のメ
モリ・バス1065によってローカル・メモリ1060に接続さ
れ、この共有のメモリ・バス1065は32ビットのデータを
搬送することが望ましい。ローカル・メモリ1060は256
キロバイトのメモリを有するRAMであることが望ましい
が、このRAM1060は任意のサイズでよい。共有のメモリ
・コントローラ1050とローカルRAM1060によって、I/Oモ
ジュール100に対する記憶能力が与えられる。
モジュール・バス1020は、ファイアウォール1000および
1010に接続されると共にI/Oモジュール100の他の素子に
も接続される。共有のメモリ・コントローラ1050は、I/
Oモジュール100のI/Oモジュール・バス1020にもまた接
続される。共有のメモリ・コントローラ1050は共有のメ
モリ・バス1065によってローカル・メモリ1060に接続さ
れ、この共有のメモリ・バス1065は32ビットのデータを
搬送することが望ましい。ローカル・メモリ1060は256
キロバイトのメモリを有するRAMであることが望ましい
が、このRAM1060は任意のサイズでよい。共有のメモリ
・コントローラ1050とローカルRAM1060によって、I/Oモ
ジュール100に対する記憶能力が与えられる。
ディスク・コントローラ1070によって、第1図のディ
スク1075および1075′のようなディスクに対して標準の
インタフェースが設けられる。ディスク・コントローラ
1070は、ローカルRAM1060に使用するためまたはI/Oモジ
ュール・バス1020との通信を行うために共有のメモリ・
コントローラ1050にまた接続される。
スク1075および1075′のようなディスクに対して標準の
インタフェースが設けられる。ディスク・コントローラ
1070は、ローカルRAM1060に使用するためまたはI/Oモジ
ュール・バス1020との通信を行うために共有のメモリ・
コントローラ1050にまた接続される。
ネットワーク・コントローラ1080はネットワーク・イ
ンタフェース1082によってイーサネット・ネットワーク
のような標準ネットワークに対してインタフェースを与
える。ネットワーク・コントローラ1080は、ローカルRA
M1060とI/Oモジュール・バス1020の両方に対してインタ
フェースとして機能する共有のメモリ・コントローラ10
50にまた接続される。しかし、I/Oモジュール・バス102
0の特定の組織または構造について何等の要求も存在し
ない。
ンタフェース1082によってイーサネット・ネットワーク
のような標準ネットワークに対してインタフェースを与
える。ネットワーク・コントローラ1080は、ローカルRA
M1060とI/Oモジュール・バス1020の両方に対してインタ
フェースとして機能する共有のメモリ・コントローラ10
50にまた接続される。しかし、I/Oモジュール・バス102
0の特定の組織または構造について何等の要求も存在し
ない。
PCIM(電源および冷却用インタフェース・モジュー
ル)サポート素子1030は、I/Oモジュール・バス1020に
接続されると共にASCIIインタフェース103に接続され
る。PCIMサポート素子1030によって、処理装置20は電源
システムの状態(すなわちバッテリ・レギュレータ等)
と冷却システム(すなわちファン)を監視してこれらの
適切な動作を保証することが可能になる。PCIMサポート
素子1030は、バッテリの電圧が許容できない程度に低い
等のある種の故障または潜在的な故障の徴候が存在する
場合のみ、メッセージを受け取ることが望ましい。全て
の電源および冷却サブシステムを周期的に監視するため
に、CPIMサポート素子1030を使用することもまた可能で
ある。または、PCIMサポート素子1030は、直接ファイア
ウォール1000と1010に接続されてもよい。
ル)サポート素子1030は、I/Oモジュール・バス1020に
接続されると共にASCIIインタフェース103に接続され
る。PCIMサポート素子1030によって、処理装置20は電源
システムの状態(すなわちバッテリ・レギュレータ等)
と冷却システム(すなわちファン)を監視してこれらの
適切な動作を保証することが可能になる。PCIMサポート
素子1030は、バッテリの電圧が許容できない程度に低い
等のある種の故障または潜在的な故障の徴候が存在する
場合のみ、メッセージを受け取ることが望ましい。全て
の電源および冷却サブシステムを周期的に監視するため
に、CPIMサポート素子1030を使用することもまた可能で
ある。または、PCIMサポート素子1030は、直接ファイア
ウォール1000と1010に接続されてもよい。
診断マイクロプロセッサ1100が、またI/Oモジュール
・バス1020に接続される。一般に、診断マイクロプロセ
ッサ1100は、故障が検出された場合、トレースRAM1872
のようなトレースRAMからエラー・チェック情報を集め
るために使用される。このデータは、それぞれファイア
ウォール1000と1010を介してトレース・バス1095と1096
に集められると共にモジュール・バス1020を介してマイ
クロプロセッサ1100に集められる。
・バス1020に接続される。一般に、診断マイクロプロセ
ッサ1100は、故障が検出された場合、トレースRAM1872
のようなトレースRAMからエラー・チェック情報を集め
るために使用される。このデータは、それぞれファイア
ウォール1000と1010を介してトレース・バス1095と1096
に集められると共にモジュール・バス1020を介してマイ
クロプロセッサ1100に集められる。
D.インタープロセッサとインターモジュールの通信 1.データ経路 コンピュータ・システム10の素子は、それら自身によ
って故障許容システムを構成するものではない。正常な
動作の期間中および故障の検出と修正の動作の期間中に
通信を可能にする通信経路とプロトコールが必要であ
る。このような通信に対するキーは、クロスリンク経路
25である。クロスリンク経路25は、パラレル・リンク、
シリアル・リンク、および既に説明したクロック信号に
よって構成される。これらは19図に示される。パラレル
・リンクは、2組の同じデータおよびアドレス線、制御
線、割り込み線、符号化エラー線、および1本のソフト
・リセット要求線を有する。データおよびアドレス線と
制御線は、モジュール相互接続分130と132(または13
0′と132′)またはメモリ・モジュール60(60′)から
CPUモジュールの間で交換される情報を有している。
って故障許容システムを構成するものではない。正常な
動作の期間中および故障の検出と修正の動作の期間中に
通信を可能にする通信経路とプロトコールが必要であ
る。このような通信に対するキーは、クロスリンク経路
25である。クロスリンク経路25は、パラレル・リンク、
シリアル・リンク、および既に説明したクロック信号に
よって構成される。これらは19図に示される。パラレル
・リンクは、2組の同じデータおよびアドレス線、制御
線、割り込み線、符号化エラー線、および1本のソフト
・リセット要求線を有する。データおよびアドレス線と
制御線は、モジュール相互接続分130と132(または13
0′と132′)またはメモリ・モジュール60(60′)から
CPUモジュールの間で交換される情報を有している。
割り込み線は、I/Oサブシステム(モジュール100、11
0、120、100′、110′および120′)で使用可能な割り
込み水準の各々に対し1本の線を有することが望まし
い。これらの線はクロスリンク90、95、90′、および9
5′によって共有される。
0、120、100′、110′および120′)で使用可能な割り
込み水準の各々に対し1本の線を有することが望まし
い。これらの線はクロスリンク90、95、90′、および9
5′によって共有される。
符号化エラー線CEL90、CEL95、CEL90′、CEL95′は、
両方のゾーンに対するコンソール「HALT」要求を同期さ
せる複数のコードを有することが好ましく、これらの複
数のコードの1つは両方のゾーンに対してCPUエラーを
同期させるコード、1つは他方のゾーンに対してCPU/メ
モリの故障の発生を示すコード、1つは両方のゾーンに
対しDMAエラーを同期させるコード、および1つはクロ
ック位相エラーを示すコードである。各ゾーン11または
11′からのエラー線は、ゾーン11に対するORゲート1990
またはゾーン11′に対するORゲート1990′のようなORゲ
ートに対する入力である。各ORゲート2の出力によっ
て、他方のゾーンのクロスリンクに対する入力が与えら
れる。
両方のゾーンに対するコンソール「HALT」要求を同期さ
せる複数のコードを有することが好ましく、これらの複
数のコードの1つは両方のゾーンに対してCPUエラーを
同期させるコード、1つは他方のゾーンに対してCPU/メ
モリの故障の発生を示すコード、1つは両方のゾーンに
対しDMAエラーを同期させるコード、および1つはクロ
ック位相エラーを示すコードである。各ゾーン11または
11′からのエラー線は、ゾーン11に対するORゲート1990
またはゾーン11′に対するORゲート1990′のようなORゲ
ートに対する入力である。各ORゲート2の出力によっ
て、他方のゾーンのクロスリンクに対する入力が与えら
れる。
欠陥許容処理装置10は、過渡的な故障に関係なくデュ
アル・レール・システムとして動作を継続するように設
計されている。I/Oサブシステム(モジュール100、11
0、120、100′、110′、120′)は、また過渡的なエラ
ーまたは故障を経験しても動作を継続することができ
る。好適な実施例の場合、ファイアウォール比較回路18
40の検出したエラーによって、同期化されたエラー・レ
ポートがCPUの管理する動作に関して経路25を介して行
われる。CPU30と30′のハードウェアは経路25を介して
同期化されたソフト・リセットを行い、故障のある動作
をもう一度行う。DMAの管理する動作の場合、同じエラ
ーの検出によって、同期割り込みが経路235を介して行
われ、CPU40、50、40′、および50′のソフトウェアはD
MAの動作を再び開始する。
アル・レール・システムとして動作を継続するように設
計されている。I/Oサブシステム(モジュール100、11
0、120、100′、110′、120′)は、また過渡的なエラ
ーまたは故障を経験しても動作を継続することができ
る。好適な実施例の場合、ファイアウォール比較回路18
40の検出したエラーによって、同期化されたエラー・レ
ポートがCPUの管理する動作に関して経路25を介して行
われる。CPU30と30′のハードウェアは経路25を介して
同期化されたソフト・リセットを行い、故障のある動作
をもう一度行う。DMAの管理する動作の場合、同じエラ
ーの検出によって、同期割り込みが経路235を介して行
われ、CPU40、50、40′、および50′のソフトウェアはD
MAの動作を再び開始する。
ある種の過渡的なエラーは、動作を完全デュプレック
スの同期形態で継続するように直ちに修復されるもので
はない、例えば、メモリ・モジュール60に制御エラーが
発生すると、その結果メモリ・モジュール60に未知のデ
ータが生じる。この場合、CPUとメモリ素子は最早フェ
ール・セーフ・システムの一部として信頼性のある機能
は果たすことはできず、従ってこれらを取り外さなけれ
ばならない。メモリ・アレー60はそこで、CPUとメモリ
素子が再びメモリに取り付けられる前に、メモリの再同
期を行わなければならない。経路25の符号化エラー線の
CPUメモリ故障コードは、CPU30のCPUとメモリ素子が故
障していることをCPU30′に知らせる。
スの同期形態で継続するように直ちに修復されるもので
はない、例えば、メモリ・モジュール60に制御エラーが
発生すると、その結果メモリ・モジュール60に未知のデ
ータが生じる。この場合、CPUとメモリ素子は最早フェ
ール・セーフ・システムの一部として信頼性のある機能
は果たすことはできず、従ってこれらを取り外さなけれ
ばならない。メモリ・アレー60はそこで、CPUとメモリ
素子が再びメモリに取り付けられる前に、メモリの再同
期を行わなければならない。経路25の符号化エラー線の
CPUメモリ故障コードは、CPU30のCPUとメモリ素子が故
障していることをCPU30′に知らせる。
サイクル・タイプ、エラー・タイプおよび準備完了状
態の組み合わせを示す制御線によって、CPUモジュール
(30および30′)とI/Oモジュールとの間にハンドシェ
ーキングが行われる。上で説明したように、実行されて
いるバス動作のタイプがサイクル・タイプによって決め
られる。すなわち、これらは、CPU I/Oの読み出、DMA
の転送、DMAのセットアップまたは割り込みベクトルの
要求である。エラー・タイプによってファイアウォール
の比較ミスまたはCRCのエラーが決められる。「準備完
了」のメッセージはCPUとI/Oモジュールとの間に送られ
て要求された動作の完了を示す。
態の組み合わせを示す制御線によって、CPUモジュール
(30および30′)とI/Oモジュールとの間にハンドシェ
ーキングが行われる。上で説明したように、実行されて
いるバス動作のタイプがサイクル・タイプによって決め
られる。すなわち、これらは、CPU I/Oの読み出、DMA
の転送、DMAのセットアップまたは割り込みベクトルの
要求である。エラー・タイプによってファイアウォール
の比較ミスまたはCRCのエラーが決められる。「準備完
了」のメッセージはCPUとI/Oモジュールとの間に送られ
て要求された動作の完了を示す。
シリアル・クロスリンクは状態読み出しのためのシリ
アル・データの転送、ループバック、およびデーアの転
送を行うために2本の線を2組有している。
アル・データの転送、ループバック、およびデーアの転
送を行うために2本の線を2組有している。
交換されるクロック信号は、位相ロック・クロック信
号CLKC HとCLCK′ H(遅延した)。である。
号CLKC HとCLCK′ H(遅延した)。である。
第20A図乃至第20D図は、異なった動作期間中にデータ
が通過するCPUモジュール30および30′とI/Oモジュール
100および100′の素子のブロックを示す。これらの素子
の各々は前に説明したものである。
が通過するCPUモジュール30および30′とI/Oモジュール
100および100′の素子のブロックを示す。これらの素子
の各々は前に説明したものである。
第20A図は、共有のメモリ・コントローラ1050(105
0′)からのレジスタ・データのCPUのI/Oレジスタによ
る読み出し動作のようなI/Oモジュール100からのデータ
の一般的なCPU I/Oによるデータ読み出し動作のための
データ経路を示す。このような動作はローカル・データ
の読み出しと呼び、これをローカル・メモリ1060からの
DMAによるデータの読み出しと区別し、このローカル・
メモリ1060は通常内部装置のコントローラからのデータ
を有している。ローカル・データは共有のメモリ・コン
トローラ1050(1050′)を介して転送されるようにロー
カルRAM1060(1060′)に記憶されているものと仮定す
る。経路が1つの場合、データはファイアウォール100
0、モジュール相互接続部130を介してクロスリンク90に
流れる。第12図、第14図および第20A図から分かるよう
に、クロスリンク90はファイアウォール1000からメモリ
・コントローラ90に流れるデータを遅延させ、その結
果、クロスリンク90′に対するデータは、データがメモ
リ・コントローラ70に加えられるのと同時に、このメモ
リ・コントローラ70に加えられ、従って、処理装置20と
20′が同期状態のままであることが可能になる。このデ
ータは、次に内部バス46と40′によってメモリ・コント
ローラ70および70′からCPU40および40′に進む。
0′)からのレジスタ・データのCPUのI/Oレジスタによ
る読み出し動作のようなI/Oモジュール100からのデータ
の一般的なCPU I/Oによるデータ読み出し動作のための
データ経路を示す。このような動作はローカル・データ
の読み出しと呼び、これをローカル・メモリ1060からの
DMAによるデータの読み出しと区別し、このローカル・
メモリ1060は通常内部装置のコントローラからのデータ
を有している。ローカル・データは共有のメモリ・コン
トローラ1050(1050′)を介して転送されるようにロー
カルRAM1060(1060′)に記憶されているものと仮定す
る。経路が1つの場合、データはファイアウォール100
0、モジュール相互接続部130を介してクロスリンク90に
流れる。第12図、第14図および第20A図から分かるよう
に、クロスリンク90はファイアウォール1000からメモリ
・コントローラ90に流れるデータを遅延させ、その結
果、クロスリンク90′に対するデータは、データがメモ
リ・コントローラ70に加えられるのと同時に、このメモ
リ・コントローラ70に加えられ、従って、処理装置20と
20′が同期状態のままであることが可能になる。このデ
ータは、次に内部バス46と40′によってメモリ・コント
ローラ70および70′からCPU40および40′に進む。
同じ経路を使用してCPU50と50′にデータを読み込
む。共有のメモリ・コントローラ1050からのデータはフ
ァイアウォール1010を介してクロスリンク95に進む。こ
の時、データはクロスリンク95′と遅延装置を介してク
ロスリンク95の内部の両方に流れる。
む。共有のメモリ・コントローラ1050からのデータはフ
ァイアウォール1010を介してクロスリンク95に進む。こ
の時、データはクロスリンク95′と遅延装置を介してク
ロスリンク95の内部の両方に流れる。
CPU I/O読み出し動作は、また共有のメモリ・コント
ローラ1050′とI/O装置100′のローカルRAMを介して処
理装置20′のI/O処置から受け取られたデータに対して
もまた実行されることができる。
ローラ1050′とI/O装置100′のローカルRAMを介して処
理装置20′のI/O処置から受け取られたデータに対して
もまた実行されることができる。
I/Oモジュール100、110、および120は同じものであ
り、それぞれI/Oモジュール100′、110′、120′に対応
するが、対応するI/Oモジュールはロックステップ同期
状態にはない。CPU I/O読み出しのためメモリ・コント
ローラ1050′とローカルRAM1060′を使用して、データ
は先ずクロスリンク90′と95′に進む。残りのデータ経
路はメモリ・コントローラ1050からの経路と同じであ
る。データはクロスリンク90′と95′からメモリ・コン
トローラ70′と75′を経由して最終的にそれぞれCPU4
0′と50′に進む。同時に、データはそれぞれクロスリ
ンク90と95を横切って進み、次に遅延素子を経由しない
でそれぞれCPU40と50に進み続ける。
り、それぞれI/Oモジュール100′、110′、120′に対応
するが、対応するI/Oモジュールはロックステップ同期
状態にはない。CPU I/O読み出しのためメモリ・コント
ローラ1050′とローカルRAM1060′を使用して、データ
は先ずクロスリンク90′と95′に進む。残りのデータ経
路はメモリ・コントローラ1050からの経路と同じであ
る。データはクロスリンク90′と95′からメモリ・コン
トローラ70′と75′を経由して最終的にそれぞれCPU4
0′と50′に進む。同時に、データはそれぞれクロスリ
ンク90と95を横切って進み、次に遅延素子を経由しない
でそれぞれCPU40と50に進み続ける。
第20B図は、ローカル・データのCPU I/O書き込み動
作を示す。このようなローカル・データはCPU40、50、4
0′および50′からI/Oモジュール100のようなI/Oモジュ
ールに転送される。このような動作の1つの例は、共有
のメモリ・コントローラ1050におけるレジスタAに対す
る書き込みである。CPU40によって転送されるデータは
同じ経路に沿って進むが、その方向はCPU I/Oの読み出
し期間中のデータの方向と逆の方向である。特に、この
ようなデータはバス46、メモリ・コントローラ70、種々
のラッチ(同期を行うため)、ファイアウォール1000、
およびメモリ・コントローラ1050を通過する。CPU50′
からのデータは、またCPU I/Oの読み出しの経路を逆の
方向に流れる。特に、このようなデータは、バス56′、
メモリ・コントローラ75′クロスリンク95′クロスリン
ク95を経由し(ファイアウォール1010に行く。上で述べ
たように、ファイアウォール1000と1010はI/Oの書き込
み動作の期間中にデータをチェックして記憶する前にエ
ラーを調べる。
作を示す。このようなローカル・データはCPU40、50、4
0′および50′からI/Oモジュール100のようなI/Oモジュ
ールに転送される。このような動作の1つの例は、共有
のメモリ・コントローラ1050におけるレジスタAに対す
る書き込みである。CPU40によって転送されるデータは
同じ経路に沿って進むが、その方向はCPU I/Oの読み出
し期間中のデータの方向と逆の方向である。特に、この
ようなデータはバス46、メモリ・コントローラ70、種々
のラッチ(同期を行うため)、ファイアウォール1000、
およびメモリ・コントローラ1050を通過する。CPU50′
からのデータは、またCPU I/Oの読み出しの経路を逆の
方向に流れる。特に、このようなデータは、バス56′、
メモリ・コントローラ75′クロスリンク95′クロスリン
ク95を経由し(ファイアウォール1010に行く。上で述べ
たように、ファイアウォール1000と1010はI/Oの書き込
み動作の期間中にデータをチェックして記憶する前にエ
ラーを調べる。
書き込みが他方のゾーンのI/Oモジュールに対して行
われる場合、同じ動作が行われる。しかし、CPU50と4
0′からのデータがCPU50′と40からのデータの代わりに
使用される。
われる場合、同じ動作が行われる。しかし、CPU50と4
0′からのデータがCPU50′と40からのデータの代わりに
使用される。
CPU50と40′からのデータは対称の経路を介して共有
のメモリ・コントローラ1050′に転送される。CPU50と4
0′からのデータはファイアウォール1000′と1010′に
よって比較される。I/O書き込みデータに対してサービ
スを行うために異なったCPUの対が使用される理由は、
完全デュプレックス・システムで正常に使用している期
間中に全てのデータ経路をチェックするためである。各
ゾーンに対するインターレール・チェックはメモリ・コ
ントローラ70、75、70′および75′で前に実行された。
のメモリ・コントローラ1050′に転送される。CPU50と4
0′からのデータはファイアウォール1000′と1010′に
よって比較される。I/O書き込みデータに対してサービ
スを行うために異なったCPUの対が使用される理由は、
完全デュプレックス・システムで正常に使用している期
間中に全てのデータ経路をチェックするためである。各
ゾーンに対するインターレール・チェックはメモリ・コ
ントローラ70、75、70′および75′で前に実行された。
第20C図は、DMA読取り動作に対するデータ経路を示
す。メモリ・アレイ600からのデータは、同時にメモリ
・コントローラ70と75に入り、次いでクロスリンク90と
95に入る。クロスリンク90はファイアウォール1000に転
送されたデータを遅延させ、その結果、クロスリンク90
と95′からのデータは実質的に同じ時間にファイアウォ
ール1000と1010に到着する。
す。メモリ・アレイ600からのデータは、同時にメモリ
・コントローラ70と75に入り、次いでクロスリンク90と
95に入る。クロスリンク90はファイアウォール1000に転
送されたデータを遅延させ、その結果、クロスリンク90
と95′からのデータは実質的に同じ時間にファイアウォ
ール1000と1010に到着する。
CPU I/O書き込み動作と同様に、種々のクロスリンク
に対するデータの4つのデータ/コピーが存在する。フ
ァイアウォールでは2つのコピーのみが受け取られる。
ゾーン11に対する読み出しを実行する場合には、異なっ
た対のデータが使用される。DMAの書き込み動作に対す
るデータ経路は第20D図に示され、これらはCPU I/Oの
読み出しに対するデータと同じである。特に、共有のメ
モリ・コントローラ1050′からのデータは、ファイアウ
ォール1000′、クロスリンク90′(遅延を伴う)、メモ
リ・コントローラ70′を経由してメモリ・アレイ600′
に進む。同時に、このデータは、ファイアウォール101
0′、クロスリンク95′(遅延を伴う)およびメモリ・
コントローラ75′を通過し、この時これはインターレー
ル・エラー・チェックの期間中にメモリ・コントローラ
70′からのデータと比較される。CPU I/Oの読み出しの
場合のように、DMA書き込み動作中のデータは、共有の
メモリ・コントローラ1050を介して交互に同じ動作に入
ってもよい。
に対するデータの4つのデータ/コピーが存在する。フ
ァイアウォールでは2つのコピーのみが受け取られる。
ゾーン11に対する読み出しを実行する場合には、異なっ
た対のデータが使用される。DMAの書き込み動作に対す
るデータ経路は第20D図に示され、これらはCPU I/Oの
読み出しに対するデータと同じである。特に、共有のメ
モリ・コントローラ1050′からのデータは、ファイアウ
ォール1000′、クロスリンク90′(遅延を伴う)、メモ
リ・コントローラ70′を経由してメモリ・アレイ600′
に進む。同時に、このデータは、ファイアウォール101
0′、クロスリンク95′(遅延を伴う)およびメモリ・
コントローラ75′を通過し、この時これはインターレー
ル・エラー・チェックの期間中にメモリ・コントローラ
70′からのデータと比較される。CPU I/Oの読み出しの
場合のように、DMA書き込み動作中のデータは、共有の
メモリ・コントローラ1050を介して交互に同じ動作に入
ってもよい。
クロスリンク90′からのデータは、またクロスリンク
90とメモリ・コントローラ70を通過してメモリ・アレイ
600に行く。クロスリンク95′からのデータは、クロス
リンク95とメモリ・コントローラ75を通過し、この時こ
れは同時に行われるインターレール・チェックの期間中
にメモリ・コントローラ70′からのデータと比較され
る。
90とメモリ・コントローラ70を通過してメモリ・アレイ
600に行く。クロスリンク95′からのデータは、クロス
リンク95とメモリ・コントローラ75を通過し、この時こ
れは同時に行われるインターレール・チェックの期間中
にメモリ・コントローラ70′からのデータと比較され
る。
第20E図は、メモリ再同期(resync)動作のためのデ
ータ経路を示す。この動作の場合、メモリ・アレイ60と
60′の両方の内容は、相互に同じように設定されなけれ
ばならない。メモリの再同期の場合、メモリ・アレイ60
0′からのデータは、DMAに制御されてメモリ・コントロ
ーラ70′と75′を通過し、次にそれぞれクロスリンク9
0′と95′を通過する。このデータは、次にメモリ600ア
レイに記憶される前に、それぞれメモリ・コントローラ
70と75に入る。
ータ経路を示す。この動作の場合、メモリ・アレイ60と
60′の両方の内容は、相互に同じように設定されなけれ
ばならない。メモリの再同期の場合、メモリ・アレイ60
0′からのデータは、DMAに制御されてメモリ・コントロ
ーラ70′と75′を通過し、次にそれぞれクロスリンク9
0′と95′を通過する。このデータは、次にメモリ600ア
レイに記憶される前に、それぞれメモリ・コントローラ
70と75に入る。
2.リセット システム10に関する上記の議論は、リセットに関する
多くの異なった必要性を考慮して行われた。議論しなか
ったある種の場合には、リセットは、電源が最初にシス
テム10に印加される場合等の標準的な機能のために行わ
れる。多くのシステムは1つのリセットを有し、このリ
セットは常にプロセッサをある所定の状態または最初の
状態にセットし、従ってプロセッサの命令の流れを中断
する。しかし、大部分の他のシステムと異なって、シス
テム10のリセットは、もし絶対的に必要でなければ、CP
U40、40′、50および50′による命令の実行の流れに影
響を及ぼさない。更に、システム10のリセットは、正常
な動作を回復するためにリセットされる必要のある部分
のみに影響を及ぼす。
多くの異なった必要性を考慮して行われた。議論しなか
ったある種の場合には、リセットは、電源が最初にシス
テム10に印加される場合等の標準的な機能のために行わ
れる。多くのシステムは1つのリセットを有し、このリ
セットは常にプロセッサをある所定の状態または最初の
状態にセットし、従ってプロセッサの命令の流れを中断
する。しかし、大部分の他のシステムと異なって、シス
テム10のリセットは、もし絶対的に必要でなければ、CP
U40、40′、50および50′による命令の実行の流れに影
響を及ぼさない。更に、システム10のリセットは、正常
な動作を回復するためにリセットされる必要のある部分
のみに影響を及ぼす。
システム10のリセットの他の特徴は、これらのリセッ
トの抑制である。故障許容システムの最も重要な考慮す
べき事項の1つは、もしある機能が故障しても、その機
能はシステムの動作を停止してはならないことである。
この理由のため、システムのいかなる1つのリセット
も、ゾーン11と11′が直接に協力しないなら、ゾーン11
と11′の両方の素子を制御することはできない。従っ
て、完全デュプレックス・モードで動作している場合、
ゾーン11内の全てのリセットはゾーン11′内のリセット
とは独立している。しかし、システム10がマスター/ス
レーブ・モードにある場合、スレーブゾーンはマスター
ゾーンのリセットを使用する。更に、システム10内にい
かなるリセットもメモリ・チップの内容に影響を及ぼさ
ない。従って、キャッシュ・メモリ42及び52、スクラッ
チ・パッド・メモリ45および55またはメモリ・モジュー
ル60のいずれもリセットによっていかなるデータも失う
ことはない。
トの抑制である。故障許容システムの最も重要な考慮す
べき事項の1つは、もしある機能が故障しても、その機
能はシステムの動作を停止してはならないことである。
この理由のため、システムのいかなる1つのリセット
も、ゾーン11と11′が直接に協力しないなら、ゾーン11
と11′の両方の素子を制御することはできない。従っ
て、完全デュプレックス・モードで動作している場合、
ゾーン11内の全てのリセットはゾーン11′内のリセット
とは独立している。しかし、システム10がマスター/ス
レーブ・モードにある場合、スレーブゾーンはマスター
ゾーンのリセットを使用する。更に、システム10内にい
かなるリセットもメモリ・チップの内容に影響を及ぼさ
ない。従って、キャッシュ・メモリ42及び52、スクラッ
チ・パッド・メモリ45および55またはメモリ・モジュー
ル60のいずれもリセットによっていかなるデータも失う
ことはない。
システム12は3つのクラスのリセット、すなわち、
「クロック・リセット」「ハード・リセット」、および
「ソフト・リセット」があることが望ましい。クロック
・リセットはゾーン内の全てのクロック位相発生器を再
編成する。ゾーン11内のクロック・リセットはまたCPU4
0と50、およびメモリ・モジュール60を初期化する。ク
ロック・リセットは、これらのモジュールのクロック位
相発生器を再編成する以外にモジュール相互接続部130
と132に影響を及ぼさない。システム10がマスター/ス
レーブ・モードにある場合でさえ、スレーブ・ゾーンで
クロック・リセットを行っても、これはマスターゾーン
のモジュール相互接続部からスレーブ・ゾーンのモジュ
ール相互接続部に対するデータの転送を妨げない。しか
し、ゾーン11′でクロック・リセットを行うと、ゾーン
11′内の対応する素子が初期化される。
「クロック・リセット」「ハード・リセット」、および
「ソフト・リセット」があることが望ましい。クロック
・リセットはゾーン内の全てのクロック位相発生器を再
編成する。ゾーン11内のクロック・リセットはまたCPU4
0と50、およびメモリ・モジュール60を初期化する。ク
ロック・リセットは、これらのモジュールのクロック位
相発生器を再編成する以外にモジュール相互接続部130
と132に影響を及ぼさない。システム10がマスター/ス
レーブ・モードにある場合でさえ、スレーブ・ゾーンで
クロック・リセットを行っても、これはマスターゾーン
のモジュール相互接続部からスレーブ・ゾーンのモジュ
ール相互接続部に対するデータの転送を妨げない。しか
し、ゾーン11′でクロック・リセットを行うと、ゾーン
11′内の対応する素子が初期化される。
一般的に、ハード・リセットを行うと、全ての状態デ
バイスとレジスタはある所定の状態または最初の状態に
戻る。ソフト・リセットを行うと、状態エンジンと一時
的に記憶を行うレジスタのみがそれらの所定の状態また
は最初の状態に戻るだけである。1つのモジュール内の
状態エンジンはそのモジュールの状態を決める回路であ
る。エラー情報と構成データを有するレジスタはソフト
・リセットによって影響を与えられない。更に、システ
ム10は、処理を接続するために、再び初期化される必要
のある素子のみをリセットするために同時にハード・リ
セットとソフト・リセットの両方を選択的に行う。尚、
便宜上、ハード・リセットを生じさせるような状態を
「クリティカル・リセット状態」と、また、ソフト・リ
セットを生じさせるような状態を「ノンクリティカル・
リセット状態」と、それぞれ呼ぶことにする。
バイスとレジスタはある所定の状態または最初の状態に
戻る。ソフト・リセットを行うと、状態エンジンと一時
的に記憶を行うレジスタのみがそれらの所定の状態また
は最初の状態に戻るだけである。1つのモジュール内の
状態エンジンはそのモジュールの状態を決める回路であ
る。エラー情報と構成データを有するレジスタはソフト
・リセットによって影響を与えられない。更に、システ
ム10は、処理を接続するために、再び初期化される必要
のある素子のみをリセットするために同時にハード・リ
セットとソフト・リセットの両方を選択的に行う。尚、
便宜上、ハード・リセットを生じさせるような状態を
「クリティカル・リセット状態」と、また、ソフト・リ
セットを生じさせるような状態を「ノンクリティカル・
リセット状態」と、それぞれ呼ぶことにする。
クリティカル・リセット状態のときに生じるハード・
リセットはシステム10をクリアし、従来のシステムと同
様に、システム10を既知の構成に戻す。ハード・リセッ
トは、ゾーンが同期されるべき場合またはI/Oモジュー
ルを初期化または不能にするべき場合に、電源を印加し
た後、使用される。システム10の場合、4つのハード・
リセット、すなわち、「パワーアップ・リセット」、
「CPUハード・リセット」、「モジュール・リセッ
ト」、及び「デバイス・リセット」があることが望まし
い。ハード・リセットは更にローカル・ハード・リセッ
トとシステム・ハード・リセットに分けることができ
る。ローカル・ハード・リセットは、CPUがスレーブ・
モードにある場合に応答するロジックのみに影響を及ぼ
す。システム・ハード・リセットは、クロスリンク・ケ
ーブル25とモジュール相互接続部130及び132に接続され
ているロジックのみに限定される。
リセットはシステム10をクリアし、従来のシステムと同
様に、システム10を既知の構成に戻す。ハード・リセッ
トは、ゾーンが同期されるべき場合またはI/Oモジュー
ルを初期化または不能にするべき場合に、電源を印加し
た後、使用される。システム10の場合、4つのハード・
リセット、すなわち、「パワーアップ・リセット」、
「CPUハード・リセット」、「モジュール・リセッ
ト」、及び「デバイス・リセット」があることが望まし
い。ハード・リセットは更にローカル・ハード・リセッ
トとシステム・ハード・リセットに分けることができ
る。ローカル・ハード・リセットは、CPUがスレーブ・
モードにある場合に応答するロジックのみに影響を及ぼ
す。システム・ハード・リセットは、クロスリンク・ケ
ーブル25とモジュール相互接続部130及び132に接続され
ているロジックのみに限定される。
パワーアップ・リセットは、電源が印加された直後
に、ゾーン11と11′を初期化するために使用される。パ
ワーアップ・リセットによって、ゾーンの全ての部分に
対して強制的にリセットが行われる。パワーアップ・リ
セットはシステム11のゾーンの間では決して接続されな
いが、その理由は、各ゾーンがそれ自身の電源を有し、
従って異なった長さの「電源投入」イベントを経験する
からである。パワーアップ・リセットは全てのハード・
リセットとクロック・リセットをゾーン11または11′に
行うことによって実行される。
に、ゾーン11と11′を初期化するために使用される。パ
ワーアップ・リセットによって、ゾーンの全ての部分に
対して強制的にリセットが行われる。パワーアップ・リ
セットはシステム11のゾーンの間では決して接続されな
いが、その理由は、各ゾーンがそれ自身の電源を有し、
従って異なった長さの「電源投入」イベントを経験する
からである。パワーアップ・リセットは全てのハード・
リセットとクロック・リセットをゾーン11または11′に
行うことによって実行される。
CPUハード・リセットは、CPUモジュールを既知の状態
に戻すため診断目的に使用される。CPUハード・リセッ
トは影響の与えられたゾーン内にあるCPU、メモリ・コ
ントローラ、およびメモリ・モジュール、状態レジスタ
の全ての情報をクリアする。キュッシュ・メモリとメモ
リ・モジュールは不能にされるが、スクラッチ・パッド
RAM45および55の内容とメモリ・モジュール60の内容は
変化されない。更に、パワーアップ・リセットと違っ
て、CPUハード・リセットはクロスリンクのゾーン識別
またはクロック・マスターシップを変更しない。CPUハ
ード・リセットは、CPUモジュールとクロック・リセッ
トに加えることのできる全てのローカル・ハード・リセ
ットの合計である。
に戻すため診断目的に使用される。CPUハード・リセッ
トは影響の与えられたゾーン内にあるCPU、メモリ・コ
ントローラ、およびメモリ・モジュール、状態レジスタ
の全ての情報をクリアする。キュッシュ・メモリとメモ
リ・モジュールは不能にされるが、スクラッチ・パッド
RAM45および55の内容とメモリ・モジュール60の内容は
変化されない。更に、パワーアップ・リセットと違っ
て、CPUハード・リセットはクロスリンクのゾーン識別
またはクロック・マスターシップを変更しない。CPUハ
ード・リセットは、CPUモジュールとクロック・リセッ
トに加えることのできる全てのローカル・ハード・リセ
ットの合計である。
モジュール・ハード・リセットは、ブートスラッピン
グ中のような既知の状態にI/Oモジュールをセットする
ために使用され、また故障したI/Oモジュールをシステ
ムから取り除くためにも使用される。I/Oモジュール・
ハード・リセットはモジュール上の全てのものをクリア
し、ファイアウォールを診断モードのままとし、ドライ
バを動作不能にする。
グ中のような既知の状態にI/Oモジュールをセットする
ために使用され、また故障したI/Oモジュールをシステ
ムから取り除くためにも使用される。I/Oモジュール・
ハード・リセットはモジュール上の全てのものをクリア
し、ファイアウォールを診断モードのままとし、ドライ
バを動作不能にする。
デバイス・リセットは、I/Oモジュールに接続されたI
/Oデバイスをリセットするために使用される。これらの
リセットは装置に依存し、装置が接続されているI/Oモ
ジュールによって与えられる。
/Oデバイスをリセットするために使用される。これらの
リセットは装置に依存し、装置が接続されているI/Oモ
ジュールによって与えられる。
他のクラスのリセットはソフト・リセットである。こ
のソフト・リセットは、ノンクリティカル・リセット状
態のときに生じる。上で説明したように、ソフト・リセ
ットは、システム10内の状態エンジンと一時的レジスタ
をクリアするが、これらはクロスリンク内のモード・ビ
ットのような構成情報を変化させない。更に、ソフト・
リセットは、またモジュール内のエラー処理機構をクリ
アするが、これらはシステム・エラー・レジスタ898お
よびシステム故障アドレス・レジスタ865のようなエラ
ー・レジスタを変化させない。
のソフト・リセットは、ノンクリティカル・リセット状
態のときに生じる。上で説明したように、ソフト・リセ
ットは、システム10内の状態エンジンと一時的レジスタ
をクリアするが、これらはクロスリンク内のモード・ビ
ットのような構成情報を変化させない。更に、ソフト・
リセットは、またモジュール内のエラー処理機構をクリ
アするが、これらはシステム・エラー・レジスタ898お
よびシステム故障アドレス・レジスタ865のようなエラ
ー・レジスタを変化させない。
ソフト・リセットには目標が定まっているので、その
結果、システムの必要な部分のみがリセットされる。例
えば、モジュール相互接続部130がリセットされる必要
があれば、CPU40はリセットされず、またI/Oモジュール
110に接続されている装置もリセットされない。
結果、システムの必要な部分のみがリセットされる。例
えば、モジュール相互接続部130がリセットされる必要
があれば、CPU40はリセットされず、またI/Oモジュール
110に接続されている装置もリセットされない。
ソフト・リセットには3つのユニークな特徴がある。
1つは各ゾーンがそれ自身のリセットの発生に対して責
任を負っていることである。1つのゾーン内の故障エラ
ーまたはリセット・ロジックは、従って故障の発生して
いないゾーンでリセットを行うことを防止される。
1つは各ゾーンがそれ自身のリセットの発生に対して責
任を負っていることである。1つのゾーン内の故障エラ
ーまたはリセット・ロジックは、従って故障の発生して
いないゾーンでリセットを行うことを防止される。
第2の特徴は、ソフト・リセットが命令実行のシーケ
ンスを乱さないことである。CPU40、40′、50、および5
0′は、クロック・リセットとハード・リセットの組み
合わせのみによってリセットされる。更に、メモリ・コ
ントロール70、75、70′、および75′はハード・リセッ
トに付随するCPU命令にサービスを行うのに必要なそれ
らの状態エンジンとレジスタを組み入れている。従っ
て、ソフト・リセットはソフトウェアの実行を妨害しな
い。
ンスを乱さないことである。CPU40、40′、50、および5
0′は、クロック・リセットとハード・リセットの組み
合わせのみによってリセットされる。更に、メモリ・コ
ントロール70、75、70′、および75′はハード・リセッ
トに付随するCPU命令にサービスを行うのに必要なそれ
らの状態エンジンとレジスタを組み入れている。従っ
て、ソフト・リセットはソフトウェアの実行を妨害しな
い。
第3の特徴は、ソフト・リセットの範囲、すなわちソ
フト・リセットによって影響を与えられるシステム10内
の素子の数がシステム10のモードと最初のリセットに対
する要求によって決まるということである。完全デュプ
レックス・モジュールの場合、CPUモジュール30で開始
されるソフト・リセットに対する要求によって、ソフト
・リセットがCPUモジュールの全ての素子およびモジュ
ール相互接続部130と132に取り付けられた全てのファイ
アウォール1000と1010に対して行われる。従って、モジ
ュール相互接続部130と132によってサービスを受ける全
てのモジュールはそれらの状態エンジンと一時的レジス
タのリセットを有している。これによって、過渡的なエ
ラーによって発生される全ての問題のシステム・パイプ
ラインがクリアされる。システム10は、デュプレックス
・モードにあるので、ゾーン11′はゾーン11の行ってい
る全ての事柄を行う。従って、CPUモジュール30′は、C
PUモジュール30と同時に、ソフト・リセットに対する要
求を出す。ゾーン11′内のソフト・リセットは、ゾーン
11内のソフト・リセットと同じ効果を有している。
フト・リセットによって影響を与えられるシステム10内
の素子の数がシステム10のモードと最初のリセットに対
する要求によって決まるということである。完全デュプ
レックス・モジュールの場合、CPUモジュール30で開始
されるソフト・リセットに対する要求によって、ソフト
・リセットがCPUモジュールの全ての素子およびモジュ
ール相互接続部130と132に取り付けられた全てのファイ
アウォール1000と1010に対して行われる。従って、モジ
ュール相互接続部130と132によってサービスを受ける全
てのモジュールはそれらの状態エンジンと一時的レジス
タのリセットを有している。これによって、過渡的なエ
ラーによって発生される全ての問題のシステム・パイプ
ラインがクリアされる。システム10は、デュプレックス
・モードにあるので、ゾーン11′はゾーン11の行ってい
る全ての事柄を行う。従って、CPUモジュール30′は、C
PUモジュール30と同時に、ソフト・リセットに対する要
求を出す。ゾーン11′内のソフト・リセットは、ゾーン
11内のソフト・リセットと同じ効果を有している。
しかし、システム10がマスター/スレーブ・モードに
ありCPUモジュール30′がスレーブ・モードにある場
合、CPUモジュール30で始まるソフト・リセットに対す
る要求は、予期できるように、CPUモジュール30の全て
の素子とモジュール相互接続部130と132に取り付けられ
た全てのファイアウォール1000と1010に対してソフト・
リセットを出す。更に、ソフト・リセットに対する要求
は、クロスリンク90と90′、クロスリンク・ケーブル25
およびクロスリンク90′と95′を介してCPUモジュール3
0′に出される。一部のモジュール相互接続部130と132
はソフト・リセットを受け取る。この同じ構成の場合、
CPUモジュール30′から開始されるソフト・リセットに
対する要求は、メモリ・コントローラ70′と75′および
クロスリンク90′と95′に一部のみリセットする。
ありCPUモジュール30′がスレーブ・モードにある場
合、CPUモジュール30で始まるソフト・リセットに対す
る要求は、予期できるように、CPUモジュール30の全て
の素子とモジュール相互接続部130と132に取り付けられ
た全てのファイアウォール1000と1010に対してソフト・
リセットを出す。更に、ソフト・リセットに対する要求
は、クロスリンク90と90′、クロスリンク・ケーブル25
およびクロスリンク90′と95′を介してCPUモジュール3
0′に出される。一部のモジュール相互接続部130と132
はソフト・リセットを受け取る。この同じ構成の場合、
CPUモジュール30′から開始されるソフト・リセットに
対する要求は、メモリ・コントローラ70′と75′および
クロスリンク90′と95′に一部のみリセットする。
ソフト・リセットは、「CPUソフト・リセット」と
「システム・ソフト・リセット」を有する。CPUソフト
・リセットは、要求を最初に出したCPUモジュールの状
態エンジンに影響を及ぼすソフト・リセットである。シ
ステム・ソフト・リセットは、モジュール相互接続部と
これに直接取付けられた素子に対するソフト・リセット
である。CPUモジュールは、常にCPUソフト・リセットを
要求することができる。システム・ソフト・リセット
は、CPUを要求するクロスリンクがデュプレックス・モ
ード・マスター/スレーブ・モード、またはオフ・モー
ドにある場合にのみ、要求することができる。スレーブ
・モードにあるクロスリンクは、他方のゾーンからシス
テム・ソフト・リセットを与えられ、それ自身のモジュ
ール相互接続部に対してシステム・ソフト・リセットを
発生する。
「システム・ソフト・リセット」を有する。CPUソフト
・リセットは、要求を最初に出したCPUモジュールの状
態エンジンに影響を及ぼすソフト・リセットである。シ
ステム・ソフト・リセットは、モジュール相互接続部と
これに直接取付けられた素子に対するソフト・リセット
である。CPUモジュールは、常にCPUソフト・リセットを
要求することができる。システム・ソフト・リセット
は、CPUを要求するクロスリンクがデュプレックス・モ
ード・マスター/スレーブ・モード、またはオフ・モー
ドにある場合にのみ、要求することができる。スレーブ
・モードにあるクロスリンクは、他方のゾーンからシス
テム・ソフト・リセットを与えられ、それ自身のモジュ
ール相互接続部に対してシステム・ソフト・リセットを
発生する。
CPUソフト・リセットは、エラーの状態に続いていてC
PUのパイプラインをクリアする。CPUパイプラインは、
メモリ相互接続部80と82、メモリ・コントローラ75およ
び75内のラッチ(図示せず)、DMAエンジン800およびク
ロスリンク90と95を有する。CPUソフト・リセットは、
またDMAまたはI/Oのタイムアウトに続いて発生すること
もできる。DMAまたはI/Oのタイムアウトは、I/Oデバイ
スが特定の時間間隔内にDMAまたはI/Oの要求に対して対
応しない場合に発生する。
PUのパイプラインをクリアする。CPUパイプラインは、
メモリ相互接続部80と82、メモリ・コントローラ75およ
び75内のラッチ(図示せず)、DMAエンジン800およびク
ロスリンク90と95を有する。CPUソフト・リセットは、
またDMAまたはI/Oのタイムアウトに続いて発生すること
もできる。DMAまたはI/Oのタイムアウトは、I/Oデバイ
スが特定の時間間隔内にDMAまたはI/Oの要求に対して対
応しない場合に発生する。
第21図は、CPUモジュール30および300′からI/Oモジ
ュール100、110、100′、および110′とメモリ・モジュ
ール60および60′に対するリセット線を示す。CUPモジ
ュール30は、何時電源が印加されたかを示すDCOK信号を
受け取る。リセットを初期化するのはこの信号である。
CPUモジュール30′は、その電源から同じ信号を受取
る。
ュール100、110、100′、および110′とメモリ・モジュ
ール60および60′に対するリセット線を示す。CUPモジ
ュール30は、何時電源が印加されたかを示すDCOK信号を
受け取る。リセットを初期化するのはこの信号である。
CPUモジュール30′は、その電源から同じ信号を受取
る。
1つのシステム・ハード・リセット線は、各I/Oモジ
ュールに送られ、1つのシステム・ソフト・リセットは
3つのI/Oモジュールの全てに送られる。1つのハード
・リセットが各モジュールに対して必要である理由は、
システム・ハード・リセット線がシステム10から個々の
I/Oモジュールを取除くのに使用されるからである。各
システム・ソフト・リセットに対してI/Oモジュールを
3つに制限しているのは、単にローディング(主記憶装
置への転送)を考慮しているからに過ぎない。更に、1
つのクロック・リセット線が全てのI/Oモジュールとメ
モリ・モジュールに送られる。1つのモジュールについ
て1つの線を使用する理由は、負荷を制御することによ
ってスキューを制限するためである。
ュールに送られ、1つのシステム・ソフト・リセットは
3つのI/Oモジュールの全てに送られる。1つのハード
・リセットが各モジュールに対して必要である理由は、
システム・ハード・リセット線がシステム10から個々の
I/Oモジュールを取除くのに使用されるからである。各
システム・ソフト・リセットに対してI/Oモジュールを
3つに制限しているのは、単にローディング(主記憶装
置への転送)を考慮しているからに過ぎない。更に、1
つのクロック・リセット線が全てのI/Oモジュールとメ
モリ・モジュールに送られる。1つのモジュールについ
て1つの線を使用する理由は、負荷を制御することによ
ってスキューを制限するためである。
第22図は、リセットに関連するCPUモジュール30の素
子を示す。CPU40と50は、それぞれクロック発生器2210
と2211を有している。メモリ・コントローラ70と75は、
それぞれクロック発生器2220と2221を有し、クロスリン
ク90と95は、それぞれクロック発生器2260と2261を有す
る。クロック発生器は、システム・クロック信号を個々
のモジュールによって使用するために分割する。
子を示す。CPU40と50は、それぞれクロック発生器2210
と2211を有している。メモリ・コントローラ70と75は、
それぞれクロック発生器2220と2221を有し、クロスリン
ク90と95は、それぞれクロック発生器2260と2261を有す
る。クロック発生器は、システム・クロック信号を個々
のモジュールによって使用するために分割する。
メモリ・コントローラ70は、リセット制御回路2230と
ソフト・リセット要求レジスタ2235を有する。メモリ・
コントローラ75は、リセット制御回路2231ととソフト・
リセット要求レジスタ2236を有する。
ソフト・リセット要求レジスタ2235を有する。メモリ・
コントローラ75は、リセット制御回路2231ととソフト・
リセット要求レジスタ2236を有する。
クロスリンク90は、ローカル・リセット発生器2240と
システム・リセット発生器2250の両方を有している。ク
ロスリンク95は、ローカル・リセット発生器2241とシス
テム・リセット発生器2251を有している。クロスリンク
の「ローカル」部分は、このクロスリンクがスレーブ・
モードにある場合に、CPUモジュールと共に残っている
このクロスリンクの部分であり、従って、シリアル・レ
ジスタ、および幾つかのパラレル・レジスタを有してい
る。クロスリンクの「システム」部分は、モジュール相
互接続部130と132(または130′と132′)とクロスリン
ク・ケーブル25にアクセスするために必要であるクロス
リンクのその部分である。
システム・リセット発生器2250の両方を有している。ク
ロスリンク95は、ローカル・リセット発生器2241とシス
テム・リセット発生器2251を有している。クロスリンク
の「ローカル」部分は、このクロスリンクがスレーブ・
モードにある場合に、CPUモジュールと共に残っている
このクロスリンクの部分であり、従って、シリアル・レ
ジスタ、および幾つかのパラレル・レジスタを有してい
る。クロスリンクの「システム」部分は、モジュール相
互接続部130と132(または130′と132′)とクロスリン
ク・ケーブル25にアクセスするために必要であるクロス
リンクのその部分である。
ローカル・リセット発生器3340と2241は、それぞれク
ロスリンク90と95のローカル・リセット制御回路2245と
2246にハードおよびソフト・リセット信号を送ると共
に、それぞれメモリ・コントローラ70と75のリセット制
御回路2230と2231にハードおよびソフト・リセット信号
を送ることによって、CPUモジュール30に対してリセッ
トを発生する。ローカル・クロスリンク・リセット制御
回路2245と2246は、それらの状態エンジン、転送するべ
きデータを記憶しているラッチおよびそれらのエラー・
レジスタをリセットすることによって、ソフト・リセッ
ト信号に応答する。これらの回路は、ソフト・リセット
に対して行うのと同じ動作を行い、またエラー・レジス
タと構成レジスタをリセットすることによって、ハード
・リセット信号に応答する。リセット制御回路2230と22
31は、同じ方法でハードおよびソフト・リセット信号に
応答する。
ロスリンク90と95のローカル・リセット制御回路2245と
2246にハードおよびソフト・リセット信号を送ると共
に、それぞれメモリ・コントローラ70と75のリセット制
御回路2230と2231にハードおよびソフト・リセット信号
を送ることによって、CPUモジュール30に対してリセッ
トを発生する。ローカル・クロスリンク・リセット制御
回路2245と2246は、それらの状態エンジン、転送するべ
きデータを記憶しているラッチおよびそれらのエラー・
レジスタをリセットすることによって、ソフト・リセッ
ト信号に応答する。これらの回路は、ソフト・リセット
に対して行うのと同じ動作を行い、またエラー・レジス
タと構成レジスタをリセットすることによって、ハード
・リセット信号に応答する。リセット制御回路2230と22
31は、同じ方法でハードおよびソフト・リセット信号に
応答する。
更に、ローカル・リセット発生器2240は、モジュール
相互接続部130と132を介して、I/Oモジュール100、110
および120にクロック・リセット信号を送る。I/Oモジュ
ール100、110、および120は、以下で述べる方法でそれ
らのクロックをリセットするため、クロック・リセット
信号を使用する。ソフト・リセット要求レジスタ2235と
2236は、それぞれローカル・リセット発生器2240と2241
にソフト要求信号を送る。
相互接続部130と132を介して、I/Oモジュール100、110
および120にクロック・リセット信号を送る。I/Oモジュ
ール100、110、および120は、以下で述べる方法でそれ
らのクロックをリセットするため、クロック・リセット
信号を使用する。ソフト・リセット要求レジスタ2235と
2236は、それぞれローカル・リセット発生器2240と2241
にソフト要求信号を送る。
クロスリンク90と95のシステム、リセット発生器2450
と2251は、それぞれモジュール相互接続部130と132を介
してI/Oモジュール100、110、および120にそれぞれシス
テム・ハード・リセット信号とシステム・ソフト・リセ
ット信号を送る。I/Oモジュール100、110、および120
は、CUPデータまたは命令に依存する全てのレジスタを
リセットすることによってソフト・リセット信号に応答
する。これらのモジュールは、ソフト・リセットが行な
うのと同じレジスタをリセットし、また全ての構成レジ
スタをリセットすることによって、ハード・リセット信
号に応答する。
と2251は、それぞれモジュール相互接続部130と132を介
してI/Oモジュール100、110、および120にそれぞれシス
テム・ハード・リセット信号とシステム・ソフト・リセ
ット信号を送る。I/Oモジュール100、110、および120
は、CUPデータまたは命令に依存する全てのレジスタを
リセットすることによってソフト・リセット信号に応答
する。これらのモジュールは、ソフト・リセットが行な
うのと同じレジスタをリセットし、また全ての構成レジ
スタをリセットすることによって、ハード・リセット信
号に応答する。
更に、システム・リセット発生器2250と2251は、また
システム・ソフトおよびシステム・ハード・リセット信
号を各クロスリンクのシステム・リセット制御回路2255
と2256に送る。システム・リセット制御回路2255と2256
は、ローカル・ソフトおよびローカル・ハード・リセッ
ト信号に対するローカル・リセット制御回路の応答と同
じ方法でシステム・ソフト・リセット信号とシステム・
ハード・リセット信号に応答する。
システム・ソフトおよびシステム・ハード・リセット信
号を各クロスリンクのシステム・リセット制御回路2255
と2256に送る。システム・リセット制御回路2255と2256
は、ローカル・ソフトおよびローカル・ハード・リセッ
ト信号に対するローカル・リセット制御回路の応答と同
じ方法でシステム・ソフト・リセット信号とシステム・
ハード・リセット信号に応答する。
メモリ・コントローラ70と75は、CPU40と50がそれぞ
れ適当なコードをソフト・リセット要求レジスタ2235と
2236にそれぞれ書込む場合に、クロスリンク90と95にそ
れぞれソフト・リセットを発生させる。ソフト・リセッ
ト要求レジスタ2235と2236は、ソフト・リセット要求信
号をローカル・リセット発生器2240と2241に送る。符号
化エラー信号は、メモリ・コントローラ70からローカル
・リセット発生器2240と2241に送られる。
れ適当なコードをソフト・リセット要求レジスタ2235と
2236にそれぞれ書込む場合に、クロスリンク90と95にそ
れぞれソフト・リセットを発生させる。ソフト・リセッ
ト要求レジスタ2235と2236は、ソフト・リセット要求信
号をローカル・リセット発生器2240と2241に送る。符号
化エラー信号は、メモリ・コントローラ70からローカル
・リセット発生器2240と2241に送られる。
システム・ソフト・リセットは、データと制御信号が
送られるのと同じデータ経路に沿ってゾーンの間に送ら
れる。従って、データとアドレスに対するのと同じ遅延
を等しくする原理が使用され、リセットはほぼ同時に2
つのゾーンの全ての素子に到達する。
送られるのと同じデータ経路に沿ってゾーンの間に送ら
れる。従って、データとアドレスに対するのと同じ遅延
を等しくする原理が使用され、リセットはほぼ同時に2
つのゾーンの全ての素子に到達する。
ハード・リセットは、適当なコードをローカル・ハー
ド・リセット・レジスタ2243に書き込むCPU40と50また
はDC OK信号によって発生されるパワーアップ・リセッ
トに対する要求によって発生される。
ド・リセット・レジスタ2243に書き込むCPU40と50また
はDC OK信号によって発生されるパワーアップ・リセッ
トに対する要求によって発生される。
クロスリンク90の同期回路2270は、DC OK信号が同時
にローカルおよびリセット発生器2240、2250、2241およ
び2251の全てに行き渡ることを保証するため、適当な遅
延要求を有している。
にローカルおよびリセット発生器2240、2250、2241およ
び2251の全てに行き渡ることを保証するため、適当な遅
延要求を有している。
事実、リセットの同期は、システム10では非常に重要
である。これは、リセット信号がクロスリンクで始まる
からである。このようにして、リセットはほぼ同期して
異なったモジュールとこれらのモジュール内の異なった
素子に到達するように送られることができる。
である。これは、リセット信号がクロスリンクで始まる
からである。このようにして、リセットはほぼ同期して
異なったモジュールとこれらのモジュール内の異なった
素子に到達するように送られることができる。
第21図と第22図の構造を理解することによって、異な
ったハード・リセットの実行をよりよく理解することが
できる。パワーアップ・リセットはシステム・ハード・
リセットとローカル・ハード・リセットおよびクロック
・リセットの両方を発生する。一般的に、クロスリンク
90、95、90′および95′は最初はクロスリンク・オフモ
ードと再同期オフ・モードの両方の状態にあり、両方の
ゾーンはクロック・マスターシップを表明する。
ったハード・リセットの実行をよりよく理解することが
できる。パワーアップ・リセットはシステム・ハード・
リセットとローカル・ハード・リセットおよびクロック
・リセットの両方を発生する。一般的に、クロスリンク
90、95、90′および95′は最初はクロスリンク・オフモ
ードと再同期オフ・モードの両方の状態にあり、両方の
ゾーンはクロック・マスターシップを表明する。
CPU/MEM故障リセットは、メモリ・コントロール70、7
5、70′および75′がCPM/MEMの故障を検出する時は何時
でも自動的に動作される。符号化エラー・ロジックはエ
ラー・ロジック2237と2238から両方のクロスリンク90と
95に送られる。故障が発生したCPUモジュールは、その
クロスリンクをスレーブ状態にセットし、他方のCPUモ
ジュールのクロスリンクをマスター状態にセットするこ
とによって、システム10から取り除かれる。しかし、故
障が発生していないCPUモジュールは、リセットを経験
しない。その代わり、これはシリアル・クロスリンク・
エラー・レジスタ(図示せず)内のコードを介して、他
方のモジュールの故障を知らされる。CPU/MEM故障リセ
ットは、故障したCPUモジュールを有するゾーンに対す
るクロック信号とそのモジュールに対するローカル・ソ
フト・リセットによって構成される。
5、70′および75′がCPM/MEMの故障を検出する時は何時
でも自動的に動作される。符号化エラー・ロジックはエ
ラー・ロジック2237と2238から両方のクロスリンク90と
95に送られる。故障が発生したCPUモジュールは、その
クロスリンクをスレーブ状態にセットし、他方のCPUモ
ジュールのクロスリンクをマスター状態にセットするこ
とによって、システム10から取り除かれる。しかし、故
障が発生していないCPUモジュールは、リセットを経験
しない。その代わり、これはシリアル・クロスリンク・
エラー・レジスタ(図示せず)内のコードを介して、他
方のモジュールの故障を知らされる。CPU/MEM故障リセ
ットは、故障したCPUモジュールを有するゾーンに対す
るクロック信号とそのモジュールに対するローカル・ソ
フト・リセットによって構成される。
再同期リセットは、基本的にはローカル・ハード・リ
セットとクロック・リセットを有するシステム・ソフト
・リセットである。この再同期リセットは、2つのゾー
ンをロックステップ同期の状態にするために使用され
る。ゾーン11と11′が同期されていなかった一定の期間
の後、もしCPUレジスタの記憶された状態を含むメモリ
・モジュール60と60′の内容が相互に等しくセットされ
れば、これらのゾーンがデュプレックス・モードを再び
開始することができるように、再同期リセットが使用さ
れてこれらのゾーンを互換性のある構成にする。
セットとクロック・リセットを有するシステム・ソフト
・リセットである。この再同期リセットは、2つのゾー
ンをロックステップ同期の状態にするために使用され
る。ゾーン11と11′が同期されていなかった一定の期間
の後、もしCPUレジスタの記憶された状態を含むメモリ
・モジュール60と60′の内容が相互に等しくセットされ
れば、これらのゾーンがデュプレックス・モードを再び
開始することができるように、再同期リセットが使用さ
れてこれらのゾーンを互換性のある構成にする。
再同期リセットは、基本的にはCPUハード・リセット
とクロック・リセットである。再同期リセットは、再同
期リセット・アドレスをパラレル・クロスリンク・レジ
スタの1つに書込むソフトウェアによって動作される。
この時、一方のゾーンは、クロスリンク・マスター/再
同期マスター・モードでなければならず、他方のゾーン
は、クロスリンク・スレーブ/再同期スレーブ・モード
でなければならない。そこでリセットが両方のゾーンで
同時に行われ、これは、とりわけ4つのクロスリンク全
てをデュプレックス・モードにセットする。再同期リセ
ットは、システム・ソフト・リセットではないため、I/
Oモジュールはリセットを受取らない。
とクロック・リセットである。再同期リセットは、再同
期リセット・アドレスをパラレル・クロスリンク・レジ
スタの1つに書込むソフトウェアによって動作される。
この時、一方のゾーンは、クロスリンク・マスター/再
同期マスター・モードでなければならず、他方のゾーン
は、クロスリンク・スレーブ/再同期スレーブ・モード
でなければならない。そこでリセットが両方のゾーンで
同時に行われ、これは、とりわけ4つのクロスリンク全
てをデュプレックス・モードにセットする。再同期リセ
ットは、システム・ソフト・リセットではないため、I/
Oモジュールはリセットを受取らない。
システム10の好適な実施例は、またクロックリセット
信号がコンフォーミング(cotforming)クロックをリセ
ットせず、非コンフォーミング・クロックのみをリセッ
トすることを保証する。この理由は、クロックがリセッ
トされる場合はいつでも、これはクロックのタイミング
を変更し、このタイミングはこんどはこのようなクロッ
クでモジュールの動作に影響を及ぼすからである。もし
モジュールが正しく実行され、このクロックが正しい位
相であれば、その動作を変更することは不必要であるば
かりでなく無駄なことである。
信号がコンフォーミング(cotforming)クロックをリセ
ットせず、非コンフォーミング・クロックのみをリセッ
トすることを保証する。この理由は、クロックがリセッ
トされる場合はいつでも、これはクロックのタイミング
を変更し、このタイミングはこんどはこのようなクロッ
クでモジュールの動作に影響を及ぼすからである。もし
モジュールが正しく実行され、このクロックが正しい位
相であれば、その動作を変更することは不必要であるば
かりでなく無駄なことである。
第23図は、ノンコンフォーミング・クロックのみがリ
セットされることを保証する回路の好適な実施例であ
る。第23図に示す回路は、第22図に示す対応するモジュ
ールのクロック発生器2210、2211、2220、2221、2260、
および2261内に位置することが望ましい。
セットされることを保証する回路の好適な実施例であ
る。第23図に示す回路は、第22図に示す対応するモジュ
ールのクロック発生器2210、2211、2220、2221、2260、
および2261内に位置することが望ましい。
好適な実施例の場合、異なったクロック発生器2210、
2211、2220、2221、2260、および2261は立上がり区間検
出器2300、と位相発生器2310を有している。立上がり区
間検出器2300は、クロスリンク90と95からクロック・リ
セット信号を受取り、クロック・リセット信号の立上が
り区間と同時に既知の持続期間を有するパルスを発生す
る。このパルスは、特定のモジュールに対する内部クロ
ック信号と同様に位相発生器2310に対する入力である。
そのモジュールに対する内部クロック信号は、発振器シ
ステム200と200′から分配されたシステム・クロック信
号から取出されたクロック信号である。位相発生器2310
は、クロック信号に対する異なった位相を形成する下方
分割回路であることが望ましい。再循環シフト・レジス
タのような位相発生器2310に対する別の設計をまた使用
することもできる。
2211、2220、2221、2260、および2261は立上がり区間検
出器2300、と位相発生器2310を有している。立上がり区
間検出器2300は、クロスリンク90と95からクロック・リ
セット信号を受取り、クロック・リセット信号の立上が
り区間と同時に既知の持続期間を有するパルスを発生す
る。このパルスは、特定のモジュールに対する内部クロ
ック信号と同様に位相発生器2310に対する入力である。
そのモジュールに対する内部クロック信号は、発振器シ
ステム200と200′から分配されたシステム・クロック信
号から取出されたクロック信号である。位相発生器2310
は、クロック信号に対する異なった位相を形成する下方
分割回路であることが望ましい。再循環シフト・レジス
タのような位相発生器2310に対する別の設計をまた使用
することもできる。
立上がり区間検出器2300からの立上がり区間パルスに
よって、位相発生器2310は予め選択された位相を出力す
ることが望ましい。従って、例えばもし位相発生器2310
が幾つかのステージを有する下方分割回路であれば、ク
ロック・リセットの立上がり区間パルスは、そのステー
ジに対して設定された入力であり、このステージは全て
の他のステージに対して予め選択された位相とリセット
入力を発生する。もし位相発生器2310が既にこの位相を
発生していれば、同期化クロック・リセット信号の存在
は基本的に透明である。
よって、位相発生器2310は予め選択された位相を出力す
ることが望ましい。従って、例えばもし位相発生器2310
が幾つかのステージを有する下方分割回路であれば、ク
ロック・リセットの立上がり区間パルスは、そのステー
ジに対して設定された入力であり、このステージは全て
の他のステージに対して予め選択された位相とリセット
入力を発生する。もし位相発生器2310が既にこの位相を
発生していれば、同期化クロック・リセット信号の存在
は基本的に透明である。
このようにして組織されたリセットは、システム10の
通常の実行に対して混乱を最小限に止めるように設計さ
れ、ドラスチックな動作が必要とされる場合には、この
ドラスチックな動作は命令実行の通常のシーケンスに割
込みをかけることに止まる。このことは、従来のリセッ
トが引起こす再同期化の問題のためにデュアルまたは多
重ゾーンの環境では特に重要である。従って、システム
10で行っているようにハード・リセットの数を最小にす
ることが望ましい。
通常の実行に対して混乱を最小限に止めるように設計さ
れ、ドラスチックな動作が必要とされる場合には、この
ドラスチックな動作は命令実行の通常のシーケンスに割
込みをかけることに止まる。このことは、従来のリセッ
トが引起こす再同期化の問題のためにデュアルまたは多
重ゾーンの環境では特に重要である。従って、システム
10で行っているようにハード・リセットの数を最小にす
ることが望ましい。
第1図は、本発明を実施する故障許容コンピュータ・シ
ステムの好適な実施例のブロック図である。 第2図は、第1図の故障許容コンピュータ・システムを
有する物理的ハードウェアを示す。 第3図は、第1図の故障許容コンピュータ・システムに
示すCPUモジュールのブロック図である。 第4図は、第1図に示すコンピュータ・システムの相互
に接続されたCPUモジュールとI/Oモジュールのブロック
図を示す。 第5図は、第1図に示す故障許容コンピュータ・システ
ムのメモリ・モジュールのブロック図を示す。 第6図は、第5図に示すメモリ・モジュールの制御ロジ
ックの素子の詳細図である。 第7図は、第3図に示すCPUモジュールのプライマリ・
メモリ・コントローラの部分ブロック図を示す。 第8図は、第3図のCPUモジュールのプライマリ・メモ
リ・コントローラのDMAエンジンのブロック図である。 第9図は、第3図のCPUモジュールのプライマリ・メモ
リ・コントローラのエラー処理回路図である。 第10図は、第3図に示すCPUモジュールのクロスリンク
の幾つかのレジスタの図である。 第11図は、第3図に示すCPUモジュールのクロスリンク
に制御信号を流す素子のブロック図である。 第12図は、第3図に示すCPUモジュールのプライマリ・
クロスリンクにデータとアドレス信号を流す素子のブロ
ック図である。 第13図は、第3図に示すCPUモジュールのクロスリンク
の状態を示す状態図である。 第14図は、第1図の故障許容コンピュータ・システムの
タイミング・システムのブロック図である。 第15図は、第14図のタイミング・システムによって発生
されるクロック信号のタイミング図である。 第16図は、第14図に示すタイミング・システムの位相検
出器の詳細図である。 第17図は、第1図のコンピュータ・システムのI/Oモジ
ュールのブロック図である。 第18図は、第17図に示すI/Oモジュールのファイアウォ
ールの素子のブロック図である。 第19図は、第1図のコンピュータ・システムのクロスリ
ンク経路の素子の詳細図である。 第20A図ないし第20E図は第1図のコンピュータ・システ
ムのデータ・フロー図である。 第21図は、リセット信号の流れを示すゾーン20のブロッ
ク図である。 第22図は、第3図に示すCPUモジュールのリセットに含
まれる素子のブロック図である。 第23図は、クロック・リセット回路の図である。
ステムの好適な実施例のブロック図である。 第2図は、第1図の故障許容コンピュータ・システムを
有する物理的ハードウェアを示す。 第3図は、第1図の故障許容コンピュータ・システムに
示すCPUモジュールのブロック図である。 第4図は、第1図に示すコンピュータ・システムの相互
に接続されたCPUモジュールとI/Oモジュールのブロック
図を示す。 第5図は、第1図に示す故障許容コンピュータ・システ
ムのメモリ・モジュールのブロック図を示す。 第6図は、第5図に示すメモリ・モジュールの制御ロジ
ックの素子の詳細図である。 第7図は、第3図に示すCPUモジュールのプライマリ・
メモリ・コントローラの部分ブロック図を示す。 第8図は、第3図のCPUモジュールのプライマリ・メモ
リ・コントローラのDMAエンジンのブロック図である。 第9図は、第3図のCPUモジュールのプライマリ・メモ
リ・コントローラのエラー処理回路図である。 第10図は、第3図に示すCPUモジュールのクロスリンク
の幾つかのレジスタの図である。 第11図は、第3図に示すCPUモジュールのクロスリンク
に制御信号を流す素子のブロック図である。 第12図は、第3図に示すCPUモジュールのプライマリ・
クロスリンクにデータとアドレス信号を流す素子のブロ
ック図である。 第13図は、第3図に示すCPUモジュールのクロスリンク
の状態を示す状態図である。 第14図は、第1図の故障許容コンピュータ・システムの
タイミング・システムのブロック図である。 第15図は、第14図のタイミング・システムによって発生
されるクロック信号のタイミング図である。 第16図は、第14図に示すタイミング・システムの位相検
出器の詳細図である。 第17図は、第1図のコンピュータ・システムのI/Oモジ
ュールのブロック図である。 第18図は、第17図に示すI/Oモジュールのファイアウォ
ールの素子のブロック図である。 第19図は、第1図のコンピュータ・システムのクロスリ
ンク経路の素子の詳細図である。 第20A図ないし第20E図は第1図のコンピュータ・システ
ムのデータ・フロー図である。 第21図は、リセット信号の流れを示すゾーン20のブロッ
ク図である。 第22図は、第3図に示すCPUモジュールのリセットに含
まれる素子のブロック図である。 第23図は、クロック・リセット回路の図である。
フロントページの続き (72)発明者 ディヴィッド コヴァルシン アメリカ合衆国 マサチューセッツ州 01519 グラフトン シェリル ドライ ヴ 8 (72)発明者 トーマス ディー ビセット アメリカ合衆国 ニューハンプシャー州 03038 デリー オルセン ロード 21 (72)発明者 ジョン マンザー アメリカ合衆国 マサチューセッツ州 02146 ブルックライン ケント スト リート 131 (72)発明者 ミッチェル ノークロス アメリカ合衆国 ニューハンプシャー州 03062 ナシュア ブルック ヴィレ ッジ ロード 210‐8 (58)調査した分野(Int.Cl.7,DB名) G06F 1/24
Claims (8)
- 【請求項1】互いに同期して実行される予定の2つのデ
ータ処理ゾーン(30、30′)を有するデータ処理システ
ム(10)を、命令実行のシーケンスを変更することなく
リセットする方法であって、各データ処理ゾーンは、デ
ータ経路(130、132、90、95、25)を介して複数の構成
要素(60、100、110、120)に接続された中央処理装置
(40、40′、50、50′)を有しており、前記構成要素
は、リセット可能な素子を有しており、前記中央処理装
置は各々、一連のトランザクションをデータ経路に沿っ
て送らせる命令のシーケンスを実行するものである、前
記方法において、 前記データ経路に沿って送られている一連のトランザク
ションを順次記憶するステップと、 リセットが指示されたことについてのデータ処理システ
ムの状態を検出するステップと、 リセットが指示されたことについてのデータ処理システ
ムの状態が、クリティカル或いはノンクリティカル・リ
セット状態のいずれであるかを判定するステップと、 リセットが指示されたことについての前記状態がクリテ
ィカル・リセット状態である場合には、前記データ処理
ゾーン(30、30′)双方の複数の構成要素へハード・リ
セット信号を送信するステップであって、ハード・リセ
ット信号の前記送信によって、双方の前記データ処理ゾ
ーンにおけるリセット可能な素子をリセットし、且つ、
データ処理システム(10)を所定の状態にエンターさ
せ、これにより命令実行のシーケンスを中断させる、前
記ステップと、 リセットが指示されたことについての前記状態がノンク
リティカル・リセット状態である場合には、前記データ
処理ゾーン(30、30′)の複数の構成要素のうちの所定
の構成要素へソフト・リセット信号を送信するステップ
であって、リセット可能な所定の素子によるソフト・リ
セット信号の受信によって所定の素子をリセットし、デ
ータ処理システムの命令実行のシーケンスの変更を回避
する、前記ステップと、 現在記憶されているトランザクションをソフト・リセッ
ト信号の送信後にデータ経路に沿って再び送るステップ
と、 を備えることを特徴とする方法。 - 【請求項2】前記複数の構成要素のうちの所定の構成要
素各々のリセット可能な素子は、エラー情報を含んだ少
なくとも1つのエラー回路を有しており、リセット信号
を送信する前記ステップは、前記複数の構成要素のうち
の所定の構成要素各々の少なくとも1つのエラー回路を
リセットするサブステップを有する、請求項1記載の方
法。 - 【請求項3】指示されたリセットがクリティカル或いは
ノンクリティカル・リセット状態のいずれであるかを判
定する前記ステップは、 電力がデータ処理システムに最近与えられたことを示す
パワーアップ信号をデータ処理システムが受け取った場
合には、リセットが指示されたことについての前記状態
はクリティカル・リセット状態であると判定するサブス
テップを有する、請求項1記載の方法。 - 【請求項4】指示されたリセットがクリティカル或いは
ノンクリティカル・リセット状態のいずれであるかを判
定する前記ステップは、 前記データ処理システムから構成要素を取り除く要求を
受け取った場合には、指示されたリセットはクリティカ
ル状態であると判定するサブステップを有する、請求項
1記載の方法。 - 【請求項5】指示されたリセットがクリティカル或いは
ノンクリティカル・リセット状態のいずれであるかを判
定する前記ステップは、 前記デュアル処理システムを同期させる要求を受け取っ
た場合には、指示されたリセットはクリティカル・リセ
ット状態であると判定するサブステップを有する、請求
項1記載の方法。 - 【請求項6】ソフト・リセット信号を送信する前記ステ
ップは、各ゾーンについてソフト・リセット信号を発生
し、各ゾーンについて発生されたこのソフト・リセット
信号を、同じゾーンの複数の構成要素のうちの所定の構
成要素へ送るサブステップを有する、請求項1記載の方
法。 - 【請求項7】リセットが指示されたことについてのデー
タ処理システムの状態を検出する前記ステップは、前記
ゾーンのうちの1つで検出を行なうサブステップを有
し;リセットが指示されたことについての状態が、クリ
ティカル或いはノンクリティカル・リセット状態のいず
れであるかを判定する前記ステップは、前記状態が検出
された同じゾーンでそのような判定を行なうサブステッ
プを有し;ソフト・リセット信号を送信する前記ステッ
プは、リセット状態が検出された一方のゾーンから他方
のゾーンへソフト・リセット開始信号を送るサブステッ
プを有する、請求項1記載の方法。 - 【請求項8】互いに同期して実行される予定の2つのデ
ータ処理ゾーン(30、30′)を有するデータ処理システ
ム(10)において、該データ処理システムは、 データ経路を介して複数の構成要素(60、100、110、12
0)に接続された各データ処理ゾーンの中央処理装置(4
0、40′、50、50′)であって、前記構成要素はリセッ
ト可能な素子を有しており、各ゾーンの前記中央処理装
置は、一連のトランザクションをデータ経路に沿って送
らせる命令のシーケンスを実行するものである、前記中
央処理装置と、 命令実行のシーケンスを変更することなくデータ処理シ
ステムを自動的にリセットする手段と、 前記データ経路に沿って送られている一連のトランザク
ションを順次記憶する手段と、 リセットが指示されたことについてのデータ処理システ
ムの前記状態を検出する手段と、 リセットが指示されたことについてのデータ処理システ
ムの前記状態が、クリティカル或いはノンクリティカル
・リセット状態のいずれであるかを判定する手段と、 リセットが指示されたことについての前記状態がクリテ
ィカル・リセット状態である場合には、前記データ処理
ゾーン(30、30′)双方の複数の構成要素へハード・リ
セット信号を送信する手段であって、ハード・リセット
信号の前記送信によって、双方の前記データ処理ゾーン
におけるリセット可能な素子をリセットし、且つ、デー
タ処理システム(10)を所定の状態にエンターさせ、こ
れにより命令実行のシーケンスを中断させる、前記手段
と、 リセットが指示されたことについての前記状態がノンク
リティカル・リセット状態である場合には、前記データ
処理ゾーン(30、30′)の複数の構成要素のうちの所定
の構成要素へソフト・リセット信号を送信する手段であ
って、リセット可能な所定の素子によるソフト・リセッ
ト信号の受信によって、所定の素子をリセットし、デー
タ処理システムの命令実行のシーケンスの変更を回避す
る、前記手段と、 リセットが指示されたことについての前記状態が検出さ
れた場合には、前記複数の構成要素のうちの所定の構成
要素へ前記データ経路を介してリセット信号を送信する
手段であって、前記リセット信号は、前記複数の構成要
素のうちの所定の構成要素にそれらの素子の一部をリセ
ットさせる、前記手段と、 現在記憶されているトランザクションをソフト・リセッ
ト信号の送信後にデータ経路に沿って再び送る手段と、 を備えることを特徴とする装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US38808789A | 1989-08-01 | 1989-08-01 | |
US388087 | 1995-02-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03184109A JPH03184109A (ja) | 1991-08-12 |
JP3069585B2 true JP3069585B2 (ja) | 2000-07-24 |
Family
ID=23532621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2203805A Expired - Lifetime JP3069585B2 (ja) | 1989-08-01 | 1990-07-31 | データ処理装置における目標指定リセット法 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP0416732B1 (ja) |
JP (1) | JP3069585B2 (ja) |
AT (1) | ATE175282T1 (ja) |
CA (1) | CA2022210A1 (ja) |
DE (1) | DE69032865T2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU622626B2 (en) * | 1987-06-03 | 1992-04-16 | Sony Corporation | Method of processing data |
GB9214198D0 (en) * | 1992-07-03 | 1992-08-12 | Texas Instruments Ltd | Method of resetting coupled modules and a system using the method |
DE19835610A1 (de) | 1998-08-06 | 2000-02-10 | Siemens Ag | Programmgesteuerte Einheit und Verfahren zum Debuggen derselben |
AU2001291069A1 (en) * | 2000-09-18 | 2002-03-26 | Tenor Networks, Inc. | System resource availability manager |
US7222268B2 (en) | 2000-09-18 | 2007-05-22 | Enterasys Networks, Inc. | System resource availability manager |
US6862642B1 (en) * | 2001-05-15 | 2005-03-01 | Adaptec, Inc. | Expander device and method for resetting bus segments in I/O subsystem segmented with expanders |
US7428633B2 (en) * | 2002-02-05 | 2008-09-23 | Samsung Electronics Co., Ltd. | Embedded device and method of initializing the same |
CN111274064A (zh) * | 2020-01-15 | 2020-06-12 | 武汉兴图新科电子股份有限公司 | 一种双cpu系统及其协同软复位方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4453215A (en) * | 1981-10-01 | 1984-06-05 | Stratus Computer, Inc. | Central processing apparatus for fault-tolerant computing |
US4580232A (en) * | 1982-09-21 | 1986-04-01 | Xerox Corporation | Single point microprocessor reset |
US4757442A (en) * | 1985-06-17 | 1988-07-12 | Nec Corporation | Re-synchronization system using common memory bus to transfer restart data from non-faulty processor to failed processor |
EP0306244B1 (en) * | 1987-09-04 | 1995-06-21 | Digital Equipment Corporation | Fault tolerant computer system with fault isolation |
-
1990
- 1990-07-20 EP EP90308007A patent/EP0416732B1/en not_active Expired - Lifetime
- 1990-07-20 AT AT90308007T patent/ATE175282T1/de active
- 1990-07-20 DE DE69032865T patent/DE69032865T2/de not_active Expired - Fee Related
- 1990-07-30 CA CA002022210A patent/CA2022210A1/en not_active Abandoned
- 1990-07-31 JP JP2203805A patent/JP3069585B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0416732A3 (ja) | 1994-03-23 |
EP0416732A2 (en) | 1991-03-13 |
JPH03184109A (ja) | 1991-08-12 |
EP0416732B1 (en) | 1998-12-30 |
DE69032865T2 (de) | 1999-08-05 |
DE69032865D1 (de) | 1999-02-11 |
CA2022210A1 (en) | 1991-02-02 |
ATE175282T1 (de) | 1999-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5185877A (en) | Protocol for transfer of DMA data | |
US5068780A (en) | Method and apparatus for controlling initiation of bootstrap loading of an operating system in a computer system having first and second discrete computing zones | |
US5153881A (en) | Method of handling errors in software | |
US5068851A (en) | Apparatus and method for documenting faults in computing modules | |
US5005174A (en) | Dual zone, fault tolerant computer system with error checking in I/O writes | |
EP0306209B1 (en) | Dual rail processors with error checking at single rail interfaces | |
US4916704A (en) | Interface of non-fault tolerant components to fault tolerant system | |
US5249187A (en) | Dual rail processors with error checking on I/O reads | |
EP0415545B1 (en) | Method of handling errors in software | |
EP0306244B1 (en) | Fault tolerant computer system with fault isolation | |
US5251227A (en) | Targeted resets in a data processor including a trace memory to store transactions | |
US5163138A (en) | Protocol for read write transfers via switching logic by transmitting and retransmitting an address | |
US5048022A (en) | Memory device with transfer of ECC signals on time division multiplexed bidirectional lines | |
US5065312A (en) | Method of converting unique data to system data | |
JP2002515146A (ja) | 3連モジュール冗長コンピュータシステム | |
EP0411805B1 (en) | Bulk memory transfer during resync | |
JP3069585B2 (ja) | データ処理装置における目標指定リセット法 | |
JPH03184155A (ja) | 非存在メモリエラー処理の方法 | |
JPS63113641A (ja) | パイプライン結合されたメモリサイクルをもつデイジタルデ−タ処理装置 |