(57)【要約】【課題】プロセッサ・システムの機能ユニットにエラーを注入し、それらの機能ユニットで発生する非注入エラーを観察する方法および装置を提供すること。【解決手段】ローカル・エラー・ハンドラ層が、ローカル・レベルで各種機能ユニットにエラー注入を行う。グローバル障害分離レジスタ（ＦＩＲ）層が、ローカル・エラー・ハンドラ層に結合して、プロセッサ・システムの複数の機能ユニットにおけるローカル・エラーの処理を調整する。ソフトウェア・デバッガ・アプリケーションまたはシステム・ソフトウェアが、グローバルＦＩＲ層と通信してエラー処理を制御する。【選択図】図２
2007200300.tif 000002
【特許請求の範囲】
【請求項１】
複数のローカル機能ユニットを含むプロセッサ・システムにおけるエラー処理の方法であって、
前記ローカル機能ユニットに連結された個々のローカル障害分離レジスタにローカルにエラー情報を格納するステップと、
テスト命令供給元により、前記ローカル機能ユニットに関連するエラーに関するテスト命令を生成するステップと、
前記テスト命令供給元と前記ローカル障害分離レジスタとの間にグローバル障害分離層を提供するステップと
を備える方法。
【請求項２】
前記グローバル障害分離層は、訂正可能エラー障害分離レジスタ、訂正不能エラー障害分離レジスタ、およびマシン・チェック・レジスタの少なくとも１つを含む請求項１に記載の方法。
【請求項３】
前記テスト命令供給元により、訂正可能エラー、訂正不能エラー、およびマシン・チェック・エラーの少なくとも１つを前記テスト命令として選択するステップをさらに備える請求項１に記載の方法。
【請求項４】
前記グローバル障害分離層によって行われるエラー読み取り動作を前記テスト命令供給元によって選択するステップをさらに備える請求項３に記載の方法。
【請求項５】
前記グローバル障害分離層によって行われるエラー注入動作を前記テスト命令供給元によって選択するステップをさらに備える請求項３に記載の方法。
【請求項６】
前記ローカル障害分離レジスタから前記グローバル障害分離層がエラー情報を受け取るステップをさらに備える請求項１に記載の方法。
【請求項７】
前記ローカル障害分離レジスタから受け取られた前記エラー情報を、前記グローバル障害分離層にある少なくとも１つのグローバル障害分離レジスタによって格納するステップをさらに備える請求項６に記載の方法。
【請求項８】
前記テスト命令供給元はデバッガ・ソフトウェアを含む請求項１に記載の方法。
【請求項９】
前記テスト命令供給元はシステム・ソフトウェアを含む請求項１に記載の方法。
【請求項１０】
各自に連結された個々のローカル障害分離レジスタにローカルにエラー情報を格納する複数のローカル機能ユニットと、
前記機能ユニットに関連するエラーに関するテスト命令を提供するテスト命令供給元と、
前記テスト命令供給元を前記ローカル障害分離レジスタに連結するグローバル障害分離層と
を備えるプロセッサ・システム。
【請求項１１】
前記グローバル障害分離層は、訂正可能エラー障害分離レジスタ、訂正不能エラー障害分離レジスタ、およびマシン・チェック・レジスタの少なくとも１つを含む請求項１０に記載のプロセッサ・システム。
【請求項１２】
前記テスト命令供給元は、訂正可能エラー、訂正不能エラー、およびマシン・チェック・エラーの少なくとも１つを前記テスト命令として選択する請求項１０に記載のプロセッサ・システム。
【請求項１３】
前記テスト命令供給元は、前記グローバル障害分離層によって行われるエラー読み取り動作を選択する請求項１２に記載のプロセッサ・システム。
【請求項１４】
前記テスト命令供給元は、前記グローバル障害分離層によって行われるエラー注入動作を選択する請求項１２に記載のプロセッサ・システム。
【請求項１５】
前記グローバル障害分離層は、前記ローカル障害分離レジスタからエラー情報を受け取る請求項１０に記載のプロセッサ・システム。
【請求項１６】
前記グローバル障害分離層にある少なくとも１つのグローバル障害分離レジスタが、前記ローカル障害分離レジスタから受け取られた前記エラー情報を格納する請求項１５に記載のプロセッサ・システム。
【請求項１７】
前記テスト命令供給元はデバッガ・ソフトウェアを含む請求項１０に記載のプロセッサ・システム。
【請求項１８】
前記テスト命令供給元はシステム・ソフトウェアを含む請求項１０に記載のプロセッサ・システム。
【請求項１９】
メモリと、
前記メモリに連結されたプロセッサであって、
各自に連結された個々のローカル障害分離レジスタにローカルにエラー情報を格納する複数のローカル機能ユニット、
前記機能ユニットに関連するエラーに関するテスト命令を提供するテスト命令供給元、および
前記テスト命令供給元を前記ローカル障害分離レジスタに連結するグローバル障害分離層
を含むプロセッサと
を備える情報処理システム（ＩＨＳ）。
【請求項２０】
前記グローバル障害分離層は、訂正可能エラー障害分離レジスタ、訂正不能エラー障害分離レジスタ、およびマシン・チェック・レジスタの少なくとも１つを含む請求項１９に記載のＩＨＳ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にはプロセッサに関し、より詳細には、検査の目的でプロセッサ内にエラーを注入することに関する。
【背景技術】
【０００２】
プロセッサ設計の複雑度は、年々劇的な速度で高まり続けている。そのような複雑化する構造のためのエラー検査とハードウェアの検証も、同様に重要性を増し続けている。エラー検査の手法の１つが、多くのプロセッサと他の集積回路が採用している周知のＪＴＡＧ（Joint Test Action Group）インタフェースである。ＪＴＡＧインタフェースは、検査対象の各チップにシフト・レジスタを組み込むことにより、バウンダリ・スキャン技術を用いて集積回路を検査する。これにより、４本のＩ／Ｏピン、すなわち入力データ・ピン、出力データ・ピン、クロック・ピン、およびモード制御ピンを介して、入力信号をシフトしてチップに入力し、出力信号をシフトしてチップから出力することが可能になる。ＪＴＡＧ方式により、従来の、高価格なカスタマイズされた多探針型（bedof nails）のプローブ検査アレイの必要がなくなった。
【０００３】
典型的なプロセッサ検査のシナリオでは、デバッガ・プログラムあるいはデバッガ・ツールが、集積回路上のＪＴＡＧインタフェースと通信する。デバッガ・プログラムは、その集積回路で行われる検査に関するテスト入力情報でＪＴＡＧインタフェースに指示を出す。集積回路が規定の検査を完了すると、デバッガ・プログラムは、集積回路のＪＴＡＧインタフェースから、得られたテスト出力情報を収集する。
【非特許文献１】IBM Corporation「Cell BroadbandEngine Architecture」Version1.0
【発明の開示】
【発明が解決しようとする課題】
【０００４】
集積回路は、１つの集積回路を構成する各種の機能ブロックあるいは機能ユニットに意図的にエラーを導入するエラー注入回路を含む場合がある。また、集積回路は、集積回路の機能ブロック内で発生するエラーに関する情報を収集する障害分離レジスタ（ＦＩＲ）を含む場合もある。集積回路の大きさと複雑度が増すのに従い、エラー注入の管理とエラー情報の収集が次第に難しくなっている。さらに、種類の異なる集積回路は、しばしば、エラー注入、エラーの収集、およびエラー情報の解釈に大きく異なる手法を用いる。その結果、集積回路の設計プロセスのペースを低下させる傾向がある。
【０００５】
集積回路内でエラー注入を行い、かつ上記の問題に対処する方法および装置が必要とされる。
【課題を解決するための手段】
【０００６】
したがって、一実施形態では、複数のローカル機能ユニットを含むプロセッサ・システムにおけるエラー処理の方法が開示される。この方法は、ローカル機能ユニットに連結された個々のローカル障害分離レジスタにローカルにエラー情報を格納することを含む。この方法は、テスト命令供給元により、ローカル機能ユニットに関連するエラーに関するテスト命令を生成することも含む。この方法はさらに、テスト命令供給元とローカル障害分離レジスタとの間にグローバル障害分離層を提供することを含む。このようにして、デバッガなどのテスト命令供給元のユーザは、ローカル機能ユニットのローカルのエラー処理についての複雑な知識を持つ必要がない。
【０００７】
別の実施形態では、各自に連結された個々のローカルの障害分離レジスタにエラー情報をローカルに格納する複数のローカル機能ユニットを含むプロセッサ・システムが開示される。このプロセッサ・システムは、それら機能ユニットに関連するエラーに関するテスト命令を提供するテスト命令供給元も含む。このプロセッサ・システムはさらに、テスト命令供給元をローカル障害分離レジスタに連結するグローバル障害分離層を含む。ここでも、このようにして、デバッガなどのテスト命令供給元のユーザは、ローカル機能ユニットのローカルのエラー処理についての複雑な知識を持つ必要がない。
【０００８】
添付図面は、本発明の例示的実施形態のみを示し、したがって、本発明の概念は他の同等に有効な実施形態にも適用されるため、本発明の範囲を制限しない。
【発明を実施するための最良の形態】
【０００９】
ここに開示されるプロセッサ・システムは、階層的なエラー検出、エラー注入、およびエラー処理の機能を備える。用語「ＲＡＳ（reliability＝信頼性、availability＝可用性、serviceability＝保守性）は、一般にエラー処理を表す。一実施形態では、ここに開示されるプロセッサ・システムは、システム内の階層的に編成されたＲＡＳ（エラー検出）環境の最上位にあるハードウェアを用いて、最上位レベルでエラーを注入する。
【００１０】
ここに開示されるプロセッサ・システムは、エラーの検出と障害の分析に階層的なＲＡＳ構造を用いる。開示されるプロセッサ・システムの一実施形態では、既存の独立型チップにあるいくつかの機能ブロックをともに１つの共通チップに統合して、いわゆる「ｓｙｓｔｅｍ  ｏｎ  ａ  ｃｈｉｐ」すなわちＳＯＣを形成する。そのような機能ブロックの例には、プロセッサ、コプロセッサ、Ｌ２キャッシュ・メモリ、バス・インタフェース・ユニット、およびその他の機能ユニット等の構造がある。通例、こうした本来は独立したチップはそれぞれ、異なる独自のエラー処理機構を有する。ここに開示されるプロセッサ・システムは、そのような機能ブロックを各自の異なるエラー処理機構とともに１つの共通ＩＣに統合してＳＯＣを形成する。このプロセッサ・システムは、エラー検出と障害分析に階層的な手法を用いる。一実施形態では、このプロセッサ・システムは、個々の機能ブロックが備える既存のハードウェア支援型およびソフトウェア支援型の修復機構を用いることができる。そのような種々の機能ブロックに関連付けられた種々のエラー処理機構は、本プロセッサ・システムのエラー検出と障害分析の階層レベルの上層につながる。本プロセッサ・システムのエラー処理階層は、ＪＴＡＧインタフェース等の標準的なテスト・インタフェースと通信することが可能な上層あるいは最上位の階層レベルを含む。このようにして、ここに開示されるプロセッサは、１つの共通ＳＯＣに、種々のエラー処理および修復の機構を収容することができる。
【００１１】
ここに開示されるプロセッサは、個々の異なる機能ユニットを備える種々のエラー処理および修復の機構を１つのＳＯＣに収容することができるが、この階層的手法は、チップの検証と「立ち上げ（bring-up）」に関しては、得られたＳＯＣの検査の複雑性を増大する。用語「検証」とは、ハードウェアが実際に存在する前、すなわちハードウェアが実際に製造される前に、シミュレーション環境で、ここに開示されるプロセッサ等のハードウェアを検証することを意味する。「立ち上げ」とは、作成され、開発されたシステム・ソフトウェアおよびファームウェアと対話する、例えば各種集積回路チップ、メモリ、ボードを含む、製造され、組み立てられた実際のシステム・ハードウェアの検査である。一実施形態では、ここに開示されるプロセッサの検査機構は、低い階層レベルを効果的にデゲート（degate）することと、エラー処理階層の最上位レベルでのエラー注入のエミュレーションを含む。エラー処理階層の最上位レベルは、デバッガ・ソフトウェア・アプリケーションと通信するＪＡＴＧインタフェースに連結する。この構成により、テストの実施者がシステム全体について包括的な知識を持たずに集積回路チップの検証とbring-upを容易に行うことができる。さらに、テストは、設計工程中に一部の機能ユニットが完成していなくとも、あるいはその他の理由で入手できなくとも開始することができる。ここに開示されるプロセッサは、エラー処理階層の最上位レベルでエラー注入を行い、検査のために階層の低層のレベルから階層の最上位レベルを実質上分離（breakoff）する、ソフトウェア制御のハードウェアを含んでいる。このようにして、ここに開示されるプロセッサの検査を実施する者は、階層の低層レベルにある機能ユニットのエラー注入ロジックを理解する必要が全くない。
【００１２】
上記のように、ＳＯＣで各機能ユニットが独自のエラー検出機構を備える場合には、ローカル・エラー・ハンドラとも呼ばれるそうした複数の異なるエラー源からのエラーを検出する際に困難が生じる可能性がある。この問題に対処するために、ローカル・エラー・ハンドラは、ＳＯＣの個々の機能ユニット用のローカルのエラー注入回路を含む。ローカル・エラー・ハンドラは、個々の機能ユニット用のローカルの障害分離レジスタ（ＦＩＲ）にエラー情報を格納する。ローカル・エラー・ハンドラが例えばＪＴＡＧインタフェース等のハードウェア・テスト・インタフェースと有効に通信できるようにするために、ここに開示されるＳＯＣは、ローカル・エラー・ハンドラとハードウェア・テスト・インタフェースとのインタフェースをとるグローバル・エラー・ハンドラを含む。用語「ローカル・エラー・ハンドラ」は、ローカル障害ハンドラに対応する。同様に、用語「グローバル・エラー・ハンドラ」は、グローバル障害ハンドラに対応する。
【００１３】
図１に、ＳＯＣ１００すなわちシステム１００としての本開示ＳＯＣの一実施形態を示す。システム１００は、ローカル・エラー・ビットのためのローカル障害ハンドラ部１０５Ａと、ローカルの障害分離レジスタ（ＦＩＲ）のためのローカル障害ハンドラ部１０５Ｂとを有するローカル障害ハンドラ１０５を含む。より詳細には、ローカル障害ハンドラ部１０５Ａは、Ｄキャッシュ１１０Ｂに連結するデータ・キャッシュ（Ｄキャッシュ）エラー・ビット・レシーバ１１０Ａと、Ｉキャッシュ１１２Ｂに連結する命令キャッシュ（Ｉキャッシュ）エラー・ビット・レシーバ１１２Ａと、ＡＬＵ１１４Ｂに連結する算術論理ユニット（ＡＬＵ）エラー・ビット・レシーバ１１４Ａとを含む。Ｄキャッシュ１１０Ｂ、Ｉキャッシュ１１２Ｂ、およびＡＬＵ１１４Ｂは、システム１００の主要な機能ユニットを形成する。ローカル障害ハンドラ部１０５Ａは、プロセッサ・ユニット（ＰＰＵ）専用のエラー注入回路１１６を含み、回路１１６は、回路１１６のエラー・ビット・レシーバ、すなわちＤキャッシュ・エラー・ビット・レシーバ１１０Ａ、Ｉキャッシュ・エラー・ビット・レシーバ１１２Ａ、およびＡＬＵエラー・ビット・レシーバ１１４Ａのいずれにも選択的にエラーを注入することができる。
【００１４】
ローカル障害ハンドラ１０５Ｂは、プロセッサ・ユニット（ＰＰＵ）コア障害分離レジスタ（ＦＩＲ）１２０Ａを含み、レジスタ１２０Ａは、システム１００のさらに別の機能ユニットすなわちシステムの主プロセッサであるプロセッサ・ユニット（ＰＰＵ）１２０Ｂに連結する。ローカル障害ハンドラ１０５Ｂはさらに、ローカルＩ／Ｏ  ＦＩＲ１２１Ａ、ローカル・メモリ・インタフェース・ユニット（ＭＩＵ）ＦＩＲ１２２Ａ、ローカルＬ２キャッシュＦＩＲ１２３Ａ、およびローカル・バス・インタフェース（ＢＩＦ）ＦＩＲ１２４Ａを含み、図示するように、ローカルＩ／Ｏ  ＦＩＲ１２１Ａは、Ｉ／Ｏインタフェース１２１ＢとさらにローカルＩ／Ｏインタフェース専用エラー注入回路１２１Ｃに連結し、ローカル・メモリ・インタフェース・ユニット（ＭＩＵ）ＦＩＲ１２２Ａは、メモリ・インタフェース・ユニット１２２Ｂとさらにローカルのメモリ・インタフェース・ユニット専用エラー注入回路１２２Ｃに連結し、ローカルＬ２キャッシュＦＩＲ１２３Ａは、Ｌ２キャッシュ・メモリ１２３ＢとさらにローカルＬ２キャッシュ・インタフェース・エラー注入回路１２３Ｃに連結し、ローカル・バス・インタフェース（ＢＩＦ）ＦＩＲ１２４Ａは、バス・インタフェース１２４Ｂとさらにローカル・バス・インタフェース・エラー注入回路１２４Ｃに連結する。Ｄキャッシュ・エラー・ビット・レシーバ１１０Ａ、Ｉキャッシュ・エラー・ビット・レシーバ１１２Ａ、ＡＬＵエラー・ビット・レシーバ１１４Ａは、図示するように、プロセッサ・ユニット・コアＦＩＲ１２０Ａに連結する。プロセッサ・ユニット・コアＦＩＲ１２０Ａは、システム１００の機能ユニットの１つであるプロセッサ・コア（ＰＰＵ）１２０Ｂに連結する。
【００１５】
図１で、Ｃは訂正可能エラーを表し、ＵＣは訂正不能エラーを表し、ＭＣはマシン・チェックを表す。ローカルＩ／Ｏ  ＦＩＲ１２１Ａ、ローカルＭＩＵ  ＦＩＲ１２２Ａ、ローカルＬ２キャッシュＦＩＲ１２３Ａ、ローカル・プロセッサ・ユニット・コアＦＩＲ  １２０Ａ、およびローカルＢ  ＩＦ  ＦＩＲ１２４Ａはそれぞれ、訂正可能エラー出力（Ｃ）および訂正不能エラー出力（ＵＣ）を含み、訂正可能エラー出力（Ｃ）は、訂正可能エラー・バス１２５に、訂正不能エラー出力（ＵＣ）は、訂正不能エラー・バス１２７に連結する。ローカルＩ／Ｏ  ＦＩＲ１２１Ａ、ローカル・プロセッサ・ユニット・コアＦＩＲ１２０Ａ、ローカルＢ  ＩＦ  ＦＩＲ１２４Ａはそれぞれ、マシン・チェック・バス１２９に連結したマシン・チェック（ＭＣ）出力も含む。
【００１６】
図１に示す特定の実施形態では、システム１００は、６つのシナジスティック（synergistic）・プロセッサ要素（ＳＰＥ）、すなわち、ＳＰＥ−０、ＳＰＥ−１．．．ＳＰＥ−５を示すコプロセッサ・デバイスを含むアーキテクチャを用い、図１にはそのうちＳＰＥ−０とＳＰＥ−５を示す。実際の実施では、システム１００が用いるＳＰＥの数は、これより多くとも少なくともよい。これらのＳＰＥは、共通バス（図示せず）を介して相互に、またＰＰＵ１２０Ｂと通信する。パワー・プロセッサ・ユニット（ＰＰＵ）および複数のＳＰＥを用いるこの特定のアーキテクチャに関する詳細情報は、２００５年８月８日にＩＢＭ社から公開された文献「CellBroadband Engine Architecture」Version1.0から得ることができ、当文献の開示は、参照により本明細書に組み込まれる。このアーキテクチャは、この例示的実施形態を実施することができる可能なプロセッサ・アーキテクチャを例示するものに過ぎず、以下の詳細な説明におけるその説明は、例示的実施形態を実施することが可能なプロセッサ・アーキテクチャのタイプに関して何らの制限を提示あるいは示唆するものではない。一実施形態では、ＰＰＵ  １２０Ｂには汎用プロセッサを用いることができ、ＳＰＥ−０．．．ＳＰＥ−５には、特殊用途あるいは特定用途プロセッサを用いることができる。便宜上、図１ではＳＰＥ−０をデバイス１３０、ＳＰＥ−５をデバイス１３５と示す。
【００１７】
ＳＰＥ−０は、システム１００で用いられるＳＰＥを代表している。ＳＰＥ−０は、シナジスティック・プロセッサ・ユニットＳＰＵ−０、すなわちプロセッサを含み、このプロセッサはローカル・ストアＬＳ−０とメモリ・フロー制御ユニットＭＦＣ−０に連結する。一実施形態では、各ＳＰＥは、ローカルのエラー条件を格納およびロックする障害分離レジスタＦＩＲを含む。ＳＰＥ−０は、ローカル・ストアＬＳ−０に連結されたローカル・ストア障害分離レジスタＬＳ−０  ＦＩＲを含む。ＳＰＥ−０はさらに、メモリ・フロー制御ＭＦＣ−０に連結されたメモリ・フロー制御障害分離レジスタＭＦＣ−０  ＦＩＲを含む。ＳＰＥ−０は、エラー専用のエラー注入回路であるＳＰＥ−０  ＥＲＲＯＲ  ＳＰＥＣＩＦＩＣ  ＥＲＲＯＲ  ＩＮＪＥＣＴも含み、この回路はローカル・ストア障害分離レジスタＬＳ−０に連結してレジスタＬＳ−０にエラーを注入する。ＳＰＥ−２〜ＳＰＥ−５は、上述のＳＰＥ−０と実質的に同じトポロジを示す。ＳＰＥ−０、ＳＰＥ−１、．．．ＳＰＥ−５は各々、訂正可能エラー出力（Ｃ）と訂正不能エラー出力（ＵＣ）を含み、訂正可能エラー出力（Ｃ）は訂正可能エラー・バス１２５に、訂正不能エラー出力（ＵＣ）は訂正不能エラー・バス１２７に連結する。
【００１８】
グローバル障害ハンドラ１４０は、図示するようにローカル障害ハンドラ部１０５Ｂに連結して、訂正可能エラー情報、訂正不能エラー情報、およびマシン・チェック情報をローカル障害ハンドラ部１０５Ｂから受け取る。グローバル障害ハンドラ１４０は、ローカルＦＩＲ１２１Ａ、１２２Ａ、１２３Ａ、１２４Ａからローカル・エラー情報を収集し、またローカル・エラー・ビット・レシーバ１１０Ａ、１１２Ａ、１１４Ａからローカル・エラー・ビット情報を収集するための共通あるいは中央の場所を提供する。さらに、グローバル障害ハンドラ１４０は、ローカル障害ハンドラ１０５と下記のデバッガ・ソフトウェア１７０との間に分離の層を提供する。グローバル障害ハンドラ１４０は、グローバルＦＩＲ部１４１を含む。グローバルＦＩＲ部１４１は、グローバル・マシン・チェックＦＩＲ１４２、グローバル訂正可能エラーＦＩＲ１４３、およびグローバル訂正不能エラーＦＩＲ１４４を含む。グローバル・マシン・チェックＦＩＲ１４２は、マシン・チェック・バス１２９から受け取られるマシン・チェック情報を取り込み、格納する。グローバル訂正可能エラーＦＩＲ１４３は、マルチプレクサ１４５に連結し、マルチプレクサ１４５は、訂正可能エラー・バス１２５に連結する入力と、訂正可能エラー注入ポート１４６に連結する別の入力とを含む。このようにして、グローバル障害ハンドラ１４０は、ローカル障害ハンドラ１０５Ｂからの実際の訂正可能エラー、またはポート１４６からの注入された訂正可能エラーを、訂正可能エラーＦＩＲ１４３に選択的に供給する。
【００１９】
グローバル訂正不能エラーＦＩＲ１４４は、マルチプレクサ１４７に連結し、マルチプレクサ１４７は、訂正不能エラー・バス１２７に連結した入力と、訂正不能エラー注入ポート１４８に連結した別の入力とを含む。このようにして、グローバル障害ハンドラ１４０は、ローカル障害ハンドラ１０５Ｂからの訂正不能エラー、または、ポート１４８からの注入された訂正不能エラーを選択的に訂正不能エラーＦＩＲ１４４に供給する。外部訂正不能エラー・ピン１４９が、システム規模の訂正不能エラーをＳＯＣに報告するために別のポートを提供する。一実施形態では、例えば障害を起こしたメモリ・デバイスがメモリ・コントローラによって検出されるなどのシステム緊急事態が発生した場合に、システム・コントローラがピン１４９に信号を印加して、ＳＯＣ１００内のクロック信号をすべて停止することができる。
【００２０】
グローバル障害ハンドラ１４０は、グローバル・マシン・チェックＦＩＲ１４２、グローバル訂正可能エラーＦＩＲ１４３およびグローバル訂正不能エラーＦＩＲ１４４に連結したグローバル・ロジック１５０も含む。グローバル・ロジック１５０は、マスク・レジスタ機能と論理機能を含む。グローバル・ロジック１５０は、そのマスク・レジスタ機能を用いて、ローカルＦＩＲから報告されたエラーをマスクすることができる。このようなマスクは、デバッグおよび分析の目的に有用である可能性がある。例えばＩ／Ｏ  ＩＦ  ＦＩＲ１２１ＡやＭＩＵ  ＦＩＲ１２２Ａ等のローカルＦＩＲはそれぞれ、エラー・カウンタ（図示せず）を含む。ローカルＦＩＲ内のこのカウンタは、そのＦＩＲに連結したユニットに関連するすべての訂正可能エラーの数を数える。グローバル障害ハンドラ１４０は、この計数動作を制御するグローバル・ロジック１５０を含む。このグローバル・ロジック１５０は、訂正可能エラーの発生とそれに関連するエラー修復に関して、可能なシステム性能の測定を行う。グローバル障害ハンドラ１４０は、下記でより詳細に述べるように様々なエラー・モードに設定することができる。
【００２１】
ＪＴＡＧインタフェース１６０は、グローバル障害ハンドラ１４０に連結する。ＪＴＡＧインタフェース１６０は、ＪＴＡＧインタフェース１６０をグローバル・ロジック１５０に連結する制御ロジックを含む。グローバル・ロジック１５０は、グローバル・ロジック１５０に連結されたＪＴＡＧインタフェース１６０に、すべてのエラーを報告する。ＪＴＡＧインタフェース１６０は、グローバル・ロジック１５０に連結したＪＴＡＧステータス・レジスタ１６２を含む。一実施形態では、ＪＴＡＧインタフェース１６０は、グローバル障害ハンドラ１４０を制御することができる。デバッガ１７０は、ＪＴＡＧインタフェース１６０に連結して、例えば、実行するエラー検査の種類、システム１００のエラー注入回路によって注入するエラーの種類に関して、システム１００に指示を出す。ＪＴＡＧステータス・レジスタ１６２は、複数のビットを含み、各ビットは、異なるエラー発生に対応し、例えば１ビットがマシン・チェック、１ビットが訂正可能エラー、別の１ビットが訂正不能エラーに対応する。一実施形態では、ＪＴＡＧステータス・レジスタ１６２は、マスク可能ビットを含む。デバッガ１７０は、ＪＴＡＧステータス・レジスタ１６２の全ビットの合計、すなわち全ビットの論理和を表す、ＥＸＴ＿ＡＴＴＥＮＴＩＯＮ＿ＰＩＮと示す外部アテンション・ピン１７２を含む。
【００２２】
図２に、システム・ロジック２０２の機能ユニットの各タイプに適用することが可能なローカルＦＩＲ回路２００を示した、ローカル障害ハンドラ１０５Ｂの一部分の模式図を示す。ローカルＦＩＲ回路２００は、ローカルのエラー注入と非注入エラーの処理の両方を可能にする。非注入エラーとは、エラーの注入を行わずに特定の機能ユニットで発生するエラーである。一実施形態では、システム・ロジック２０２は、ＩＯ  ＩＦ１２１Ｂ、ＭＩＵ１２２Ｂ、Ｌ２キャッシュ１２３Ｂ、Ｂ  ＩＦ１２４Ｂ等の機能ユニットを含む。システム・ロジック２０２はさらに、ＰＰＵ１２０ＢおよびコプロセッサＳＰＥ−０、ＳＰＥ−１、．．．、ＳＰＥ−５等の機能ユニットを含む。システム１００は、システム・ロジック２０２の機能ユニットごとに個々のローカルＦＩＲ回路２００を備えてよい。すなわち、個々のローカルＦＩＲ回路２００がそれら機能ユニットそれぞれに連結して、その機能ユニットのエラーを処理する。ただし、例示のために、図２には、Ｉ／Ｏインタフェース（Ｉ／Ｏ  ＩＦ）ローカルＦＩＲ回路として動作するように構成されたローカルＦＩＲ回路２００を代表として示す。この特定の例では、ローカルＦＩＲ回路２００は、システム・ロジック２０２すなわちＩ／Ｏインタフェース１２１Ｂに連結されたローカルＦＩＲ２０４すなわちＩ／Ｏ  ＩＦ  ＦＩＲ  １２１Ａと、エラー注入回路２０６すなわちＩ／Ｏエラー注入回路１２１Ｃとを含む。
【００２３】
システム・ロジック２０２の機能ユニットがＩ／Ｏインタフェース１２１Ｂである図２の例に戻ると、Ｉ／ＯインタフェースＦＩＲ  １２１Ａは、システム・ロジック２０２のＩ／Ｏインタフェース１２１Ｂに連結して、Ｉ／Ｏインタフェース１２１Ｂによって直接生成される非注入エラー情報を収集し、また、Ｉ／Ｏエラー注入回路１２１Ｃ（エラー注入回路２０６）に連結して、注入されたエラーに関連するエラー情報を収集する。エラー・ディテクタ２０８は、システム・ロジック２０２に連結して、システム・ロジック２０２が生成するエラーを検出する。エラー・ディテクタ２０８の出力は、ＯＲゲート２１０の入力の１つに連結し、ＯＲゲート２１０の残りの入力はエラー注入回路２０６に連結する。エラー注入回路２０６は、ＯＲゲート２１０の入力でエラーを注入する。このようにして、システム・ロジック２０２で発生する自然な非注入エラーと、エラー注入回路２０６から注入されたエラーの両方が、ＯＲゲート２１０、ＡＮＤゲート２１２、およびＯＲゲート２１４を介してローカルＦＩＲ１２１Ａに伝搬する。ローカルＦＩＲ回路２００は、チェックストップ・イネーブル構成レジスタ２２０、エラー・マスク構成レジスタ２２２、およびマシン・チェック・イネーブル・レジスタ２２４を含んで、ローカルＦＩＲ回路２００をそれぞれチェックストップ機能、エラー・マスク機能、およびマシン・チェック機能を持つように構成する。図示するように、ローカルＦＩＲ回路２００は、相互およびレジスタ２２０、２２２、２２４に連結されたＡＮＤゲート２３０、２３２、２３４を含む。ローカルＦＩＲ回路２００は、マシン・チェック・イネーブル・レジスタ２２４とＡＮＤゲート２３４とを含むマシン・チェック部２４０を含む。
【００２４】
出力ＵＣにチェックストップ・エラーまたは修復不能エラーを生成するようにＦＩＲ回路２００を構成するには、システム１００は、チェックストップ・イネーブル・レジスタ２２０を論理ｈｉｇｈ、エラー・マスク・レジスタ２２２を論理ｌｏｗでプログラムする。レジスタ２２０にも２２２にも連結されていない残りのＡＮＤゲート２３０の入力は、ローカルＦＩＲ２０４の出力に連結する。ＡＮＤゲート２３０の出力は、２入力のＯＲゲート２５０を介して出力ＵＣに連結する。ＡＮＤゲート２３０に連結されていないＯＲゲート２５０の入力は、ローカルＦＩＲ２０４のチェックストップ・ビット等の他の情報を受け取る。同様に、システム１００は、修復可能エラーを出力Ｃに供給するように構成レジスタ２２０、２２２、２２４を構成することもできる。システム・ロジック２０２は、注入したのではないエラー、すなわち自然発生エラーを提供する。初め、システム１００は、エラーの種類が分からない。エラー・マスク・レジスタ２２２およびマシン・チェック・イネーブル・レジスタ２２４は、システム１００がエラー・タイプを判定するのを助ける。エラー・マスク・レジスタ２２２は、一般的なシステム関与はエラー処理であると判断する。デバッグの目的で、エラー・マスク・レジスタ２２２は、使用可能および使用不可にされることができる。チェックストップ・イネーブル・レジスタ２２０は、システム１００が特定のエラーを訂正不能エラーとして扱うか、訂正可能エラーとして扱うかを決定する。一実施形態では、チェックストップ・イネーブル・レジスタ２２０のデフォルト値は「訂正可能」エラーである。マシン・チェック・イネーブル・レジスタ２２４は、特定のエラーが「マシン・チェック」タイプのエラーとして関与するか、「訂正可能エラー」として関与するかを判定する。「マシン・チェック」タイプのエラーは、システム・ソフトウェアがエラーを処理し、そのエラーが修復によって訂正することができるか、またはシステムを停止する必要があるかを判定するエラー・タイプである。システム１００は、出力Ｍにマシン・チェックを供給するように構成レジスタ２２０、２２２、２２４を構成することもできる。システム１００は、ローカルＦＩＲ２０４のエラー内容を出力Ｃに供給するように構成レジスタ２２０、２２２、２２４を構成することも可能である。図２から分かるように、ローカル障害ハンドラ１０５ＢのローカルＦＩＲ回路２００は、出力Ｍ、Ｃ、ＵＣを介して、グローバル障害ハンドラ１４０に、マシン・チェック、修復可能エラー、およびチェックストップを供給する。ここで図１を参照すると、マシン・チェックＦＩＲ１４２がこのマシン・チェックを収集および格納し、訂正可能エラーＦＩＲ１４３がこの訂正可能エラーを収集および格納し、一方、訂正不能エラーＦＩＲ１４４が訂正不能エラーを収集および格納する。
【００２５】
図３に、どの種のエラーを収集し、どの種のエラーを注入および格納するかを、グローバル障害ハンドラ１４０を用いてシステム１００に指示するデバッガ・ソフトウェア１７０とＪＴＡＧインタフェース１６０をより詳細に示す。デバッガ・ソフトウェア１７０とシステム・ソフトウェア３００はそれぞれ、システム１００のエラー処理階層にアクセスすることができる。デバッガ・ソフトウェア１７０は、間にあるＪＴＡＧインタフェース１６０のＪＴＡＧコントローラ３０５を介してセレクタ３１０の入力の１つと通信する。図示するように、システム・ソフトウェア３００が、セレクタ３０５の別の入力と通信する。一実施形態では、ＲＩＳＣＷａｔｃｈ（商標）デバッガ・ソフトウェアをシステム・アクセス・ソフトウェア３００として用いることができる（ＲＩＳＣＷａｔｃｈはＩＢＭ社の商標）。図２を参照して上述したように、システム・ロジック２０２は、動作中にエラーを自然発生する可能性がある。ただし、システム・ロジック２０２自体がエラーを示さなくとも、システム１００は、エラー注入により、システム・ロジック２０２に強制的にエラーを示させることができる。ここで図３に戻ると、システム・アクセス・ソフトウェア３００は、非注入エラー、すなわち、システム・ロジック２０２が示す、強制されたのではない自然なエラーを観察し、収集するようにグローバル障害ハンドラ１４０に指示することができる。あるいは、システム・アクセス・ソフトウェア３００は、グローバル・エラーＦＩＲ１４３または１４４に直接エラーを注入するように、グローバル障害ハンドラ１４０のグローバル・エラー注入ロジックに指示してもよい。このようなグローバル・エラー注入ロジックには、下記でより詳細に述べる、制御レジスタ３１５、出力デコーダ３２５、およびグローバル入力マルチプレクサ３３０が含まれる。システム・アクセス・ソフトウェア３００は、注入されたエラー、すなわちエラー注入によりシステム・ロジック２０２が示す強制されたエラーを収集および格納するようにグローバル障害ハンドラ１４０に指示することもできる。システム・アクセス・ソフトウェア３００は、どの特定の機能ユニットがどのタイプのエラーを示すべきかを指示することができる。システム・アクセス・ソフトウェア３００は、グローバル障害ハンドラ１４０とローカル障害ハンドラ１０５のその他の動作態様も制御することができる。システム・アクセス・ソフトウェア３００の代わりに、デバッガ・ソフトウェア１７０が、自然発生エラーを収集および格納する、またはエラーを注入し、その結果を格納することをグローバル障害ハンドラ１４０に指示してもよい。
【００２６】
ＪＴＡＧコントローラ３０５およびシステム・ソフトウェア３００は、図示するように、セレクタ３１０の個々の入力に連結し、それにより、それぞれ、セレクタ３１０の出力に連結した制御レジスタ３１５にアクセスすることができる。制御レジスタ３１５は、選択フィールド部３１５Ａと制御フィールド部３１５Ｂを含む。図３の選択フィールド部３１５Ａのレジスタ・ビットは、レジスタ３１５のビット構成を表した図４の選択フィールドのビットに対応する。図３の制御フィールド部３１５Ｂのレジスタ・ビットは、図４の制御フィールドのビットに対応する。図４の選択フィールドで、ビット０は、ＰＰＵ１２０Ｂと示す機能ユニットあるいはブロックに対応し、ビット１はＩ／Ｏ  １２１Ｂに対応し、ビット２は、ＭＩＵ１２２Ｂに対応し、ビット３は、Ｌ２キャッシュ１２３Ｂに対応し、ビット４は、Ｂ  ＩＦ１２４Ｂに対応し、ビット５は、コプロセッサＳＰＥ−０に対応し、ビット６はコプロセッサＳＰＥ−１に対応し、ビットＮはコプロセッサＳＰＥ（５）に対応し、この場合Ｎ＝５である。システム・ソフトウェア３００は、当該機能ユニットあるいはブロックに対応するビットの論理状態をｈｉｇｈに上げることにより、これらの機能ユニットあるいはブロックをいずれもアドレス指定することができる。一実施形態では、制御レジスタ３１５は、本システムの他のアーキテクト（architected）・レジスタと同様に、システム・ソフトウェアからアクセス可能なアーキテクト・レジスタである。制御レジスタ３１５には、例えば、ＪＴＡＧインタフェースを含むＲＩＳＣＷａｔｃｈ（商標）デバッガ等のデバッガ１７０を介してアクセスすることができる。
【００２７】
システム・アクセス・ソフトウェア３００またはデバッガ・ソフトウェア１７０がそのようにしてある機能ユニットをアドレス指定する際、システム・アクセス・ソフトウェアまたはデバッガ・ソフトウェアは、制御フィールド３１５Ｂの該当ビットを指定することにより、その機能ユニットにシステム１００が用いるエラー・タイプも指定することができる。このようにして、システム１００は、現在用いられているエラー・タイプまたはモードを制御する。図４から分かるように、デバッガ・ソフトウェア１７０がビット「Ｉ」をｈｉｇｈに上げると、システム１００は、現在アドレス指定されている機能ユニットにエラーを注入する。デバッガ・ソフトウェア１７０が訂正不能エラー・ビット「ＵＥ」をｈｉｇｈすなわち論理１に設定すると、システム１００は、現在アドレス指定されている機能ユニットに訂正不能エラーを注入あるいはエミュレートする。一方、デバッガ・ソフトウェア１７０が訂正不能エラー・ビット「ＵＥ」をｌｏｗすなわち論理０に設定すると、システム１００は、現在アドレス指定されている機能ユニットに訂正可能エラーを注入あるいはエミュレートする。デバッガ・ソフトウェア３００がリセット・ビット「Ｒ」をｈｉｇｈすなわち論理１に設定すると、システム１００は、リセットの再試行、すなわち以前に行われた動作の試みの反復を試みる。制御およびデコーダ・ロジック３２０は、制御フィールド部３１５Ｂおよび出力デコーダ３２５に連結する。ロジック３２０は、制御フィールドで指定されるエラー処理のタイプに関して出力デコーダ３２５に指示する。選択フィールド部３１５Ａは、出力デコーダ３２５に連結して、システム１００がエラーを注入すべき特定の機能ユニットを出力デコーダ３２５に通知する。この機能ユニット選択情報を制御フィールド部３１５Ａから出力デコーダ３２５に伝達するために、グローバル障害ハンドラ１４０は、ＰＰＵエラー注入線、Ｉ／Ｏ  ＩＦエラー注入線、ＭＩＵエラー注入線、Ｌ２エラー注入線、Ｂ  ＩＦエラー注入線、およびＳＰＥエラー注入（０）線．．．ＳＰＥエラー注入（５）線を含む。
【００２８】
出力デコーダ３２５は、指定された個々の機能ユニットにおいて訂正可能エラーまたは訂正不能エラーを指定する以下の線、すなわちＰＰＵ訂正可能エラー線、Ｉ／Ｏ  ＩＦ訂正可能エラー線、ＭＩＵ訂正可能エラー線、Ｌ２訂正可能エラー線、Ｂ  ＩＦ訂正可能エラー線、ＳＰＥ訂正可能エラー（０）線，．．．，ＳＰＥ訂正可能エラー（５）線、を介して、グローバルＦＩＲ入力マルチプレクサ３３０に連結する。図３に、訂正不能エラーの注入を指定するための、出力デコーダ３２５とグローバルＦＩＲ入力マルチプレクサ３３０との間の同様の線の組を示す。図３には、グローバル訂正可能エラーＦＩＲ１４３とグローバル訂正不能エラーＦＩＲ１４４の両方に連結されたグローバルＦＩＲ入力マルチプレクサ３３０も示す。実際の実施では、システム１００は、以下の要領でグローバル障害ハンドラ１４０を２つに分けることができる。制御／デコーダ・ロジック３２０、出力デコーダ３２５、およびマルチプレクサ３３０からなる１つのセットが、専用的にグローバル訂正可能エラーＦＩＲ１４３に対応することができ、制御／デコーダ・ロジック３２０、出力デコーダ３２５、およびマルチプレクサ３３０からなる別のセットが、専用的にグローバル訂正不能エラーＦＩＲ１４４に対応することができる。したがって、グローバルＦＩＲ入力マルチプレクサ３３０は、図１に示すように、実際には２つの別個のマルチプレクサ、すなわち、訂正可能エラー注入専用のマルチプレクサ１４５と、訂正不能エラー注入専用のマルチプレクサ１４７を含んでいる。
【００２９】
例として、Ｉ／Ｏ  ＩＦ  １２３Ｂと示す機能ユニットに訂正可能エラーを注入するには、デバッガ・ソフトウェア１７０は、セレクタ３１０を起動して、デバッガ１７０を制御レジスタ３１５に接続する。デバッガ・ソフトウェア１７０は次いで、選択フィールド３１５Ａのビット１を１に、制御フィールド３１５ＢのＵＥビットを０に設定する。制御およびデコーダ・ロジック３２０は、制御フィールドを解釈し、デバッガ・ソフトウェア１７０が訂正可能エラーを指定したことを出力デコーダ３２５に通知する。デコーダ３２５は、選択フィールド３１５Ａのビットを解釈して、デバッガ・ソフトウェアがＩ／Ｏ  ＩＦ機能ブロック１２１Ｂでのエラーの注入を指定したと判断する。次いで、グローバルＦＩＲ入力マルチプレクサ３３０は、その指定された特定のエラーをグローバル訂正可能エラーＦＩＲ１４３に通知する。グローバル訂正可能エラーＦＩＲ１４３は、Ｉ／Ｏ  ＩＦ機能ブロック１２１Ｂに対して指定された、指定の注入された訂正可能エラーを受け取り、格納する。ＦＩＲ１４３および１４４は、渡されるエラーを直ちに格納する。グローバル訂正可能エラーＦＩＲ１４３およびグローバル訂正不能エラーＦＩＲ  １４４はそれぞれ、各機能ユニット専用の個別のビットを含む。すべての訂正可能エラー、訂正不能エラー、またはマシン・チェック・エラーは、グローバル・レベルに割り当てられた機能ユニット、すなわちマシン・チェックＦＩＲ１４２、訂正可能エラーＦＩＲ１４３、および訂正不能エラーＦＩＲ１４４それぞれにつき１ビットを有する。図３から分かるように、グローバルＦＩＲ入力マルチプレクサ３３０、グローバル訂正可能エラーＦＩＲ１４３、およびグローバル訂正不能エラーＦＩＲ１４４は、図１のグローバルＦＩＲ１４１の一部を形成している。一実施形態では、ＦＩＲ１４４は読み取り専用レジスタであり、他のすべてのＦＩＲは読み取り／書き込みレジスタである。したがって、図１では、グローバル障害ハンドラ１４０のＦＩＲ１４１とＪＴＡＧインタフェース１６０との間に読み取りの接続を示し、一方、図３には、エラーを注入するための書き込みの構成を示す。
【００３０】
図５に、システム１００の一実施形態における動作の流れを示したフローチャートを示す。デバッガ・ソフトウェア１７０のユーザは、ブロック７００で、所望のエラー・タイプを指定する。例えば、ユーザは、マシン・チェック・エラー、訂正可能エラー、または訂正不能エラーを指定することができる。この特定の例では、ユーザは訂正可能エラーを指定する。あるいは、システム・ソフトウェア３００がエラー・タイプを指定してもよい。ユーザは次いで、ブロック７０５で、デバッガ・ソフトウェアに、特定のエラーを読み取るか、特定のエラーを注入するように指示する。例えば、ユーザはエラーの読み取りを指定することができる。あるいは、システム・ソフトウェア３００が、エラーの読み取り動作またはエラーの注入動作を指定してもよい。そしてユーザは、エラー情報を読み出す、あるいは得る特定の機能ユニットをデバッガ・ソフトウェア１７０に指示する。例えば、ユーザは、Ｌ２キャッシュ機能ユニット１２３Ｂを指定することができる。システム１００は、判定ブロック７１５でテストを行って、エラーを読み取るか、またはエラーを注入するかの選択を決定する。ユーザがエラーの読み取りを選択した場合、処理の流れはブロック７２０に進み、グローバルＦＩＲ１４１が、各自に連結された機能ユニットのＦＩＲからエラー情報を収集する。グローバルＦＩＲは、ユーザが、ローカルの機能ユニットレベルでのエラー収集とエラー処理の内部的な仕組みを理解せずに済むようにすることが望ましい。ユーザがＬ２キャッシュ機能ユニットからの訂正不能エラーの読み取りを選択したため、システムは、グローバルＦＩＲ１４４、すなわち当該機能ユニットの訂正不能エラーの格納専用のグローバルＦＩＲに収集され、格納された訂正不能エラー情報にアクセスする。詳細には、システムは、ブロック７２５で、訂正不能エラー・グローバルＦＩＲ１４４がＬ２キャッシュ機能ユニットから格納した訂正不能エラー情報にアクセスし、その情報を読み取る。ブロック７３０で、グローバルＦＩＲ１４４は、その情報をデバッガ１７０またはシステム・ソフトウェア３００に送る。処理の流れは次いでブロック７００に戻り、ユーザは、エラー処理動作の新規の要求を開始することができる。ユーザがブロック７０５でエラーの読み取りを指定するのではなく、代わりにエラーの注入を指定した場合は、判定ブロック７１５から、処理の流れはブロック７３５に進む。ブロック７３５で、システムは、ブロック７１０でユーザから指定されたＬ２キャッシュ機能ユニットでのエラー処理専用のグローバル訂正不能エラーＦＩＲ１４４の部分にエラーを注入あるいは書き込む。処理の流れは次いでブロック７００に戻る。ユーザは次いで、選択されたグローバルＦＩＲを監視して、注入したエラーの結果を確認するようにシステムに指示する。ユーザまたはプログラマは、システム・ソフトウェア３００を使用して、システム１００に訂正不能エラーを注入することができる。その場合、訂正不能エラーがシステムで発生するとシステム中のクロックがすべて直ちに停止するため、フローチャートの読み取りの分岐、すなわちブロック７２０、７２５、７３０は、機能を停止する。クロックが停止すると、システム・ソフトウェアからシステム・レジスタにアクセスすることができなくなる。その場合、ユーザまたはプログラマは、ＲＩＳＣＷａｔｃｈ（商標）デバッガ・インタフェースを使用してシステム・レジスタにアクセスしてエラー情報を得る。
【００３１】
図６に、プロセッサとしてシステム１００を用いるＩＨＳ（情報処理システム）５００を示す。ＩＨＳ５００はさらに、プロセッサ１００をシステム・メモリ５１５とビデオ・グラフィック・コントローラ５２０に連結するバス５１０を含む。ディスプレイ５２５がビデオ・グラフィック・コントローラ５２０に連結する。ハード・ディスク・ドライブ、ＣＤドライブ、ＤＶＤドライブ、その他の不揮発性記憶などの不揮発性記憶５３０がバス５１０に連結して、ＩＨＳ５００に情報の持続的な記憶を提供する。オペレーティング・システム５３５がメモリ５１５にロードされて、ＩＨＳ５００の動作を制御する。キーボードやマウス・ポインティング・デバイスなどのＩ／Ｏ装置５４０がバス５１０に連結する。ＵＳＢ、ＩＥＥＥ１３９４バス、ＡＴＡ、ＳＡＴＡ、ＰＣＩ、ＰＣＩＥ、その他のバスなどの１つまたは複数の拡張バス５４５がバス５１０に連結して、ＩＨＳ５００への周辺機器および装置の接続を助ける。ネットワーク・アダプタ５５０がバス５１０に連結して、ＩＨＳ５００がネットワークおよび他の情報処理システムに有線または無線で接続することを可能にする。図６にはプロセッサ１００を用いるＩＨＳの一例を示すが、ＩＨＳは多様な形態をとることが可能である。例えば、ＩＨＳ５００は、デスクトップ、サーバ、携帯型、ラップトップ型、ノート型、あるいは他のフォーム・ファクタのコンピュータまたはデータ処理システムの形をとることができる。ＩＨＳ５００は、ゲーム機、ＰＤＡ（携帯情報端末）、携帯電話機、通信機器、あるいはプロセッサおよびメモリを含む他の装置等の他のフォーム・ファクタをとることも可能である。
【００３２】
上記では、ローカル・レベルおよびグローバル・レベルでエラーを注入して、複数の異なる機能ユニットのエラー検査を提供するプロセッサを開示した。
【００３３】
本発明の説明から、当業者には本発明の変更および代替実施形態が明らかになろう。したがって、この説明は、当業者に本発明の実施方法を教示し、例示とのみ解釈されるものとする。本明細書に図示し、記載される本発明の形態は、本発明の実施形態を構成する。当業者は、部分の形状、大きさ、および配置に各種の変更を加えることができる。例えば、当業者は、本明細書に図示し、記載される要素を同等の要素に置き換えることができる。さらに、当業者は、本発明のこの説明の恩恵を得た後に、本発明の範囲から逸脱することなく、他の特徴の使用とは独立して本発明の特定の特徴を使用することができる。
【図面の簡単な説明】
【００３４】
【図１】開示されるプロセッサ・システムのブロック図である。
【図２】図１のシステムにおけるローカル障害ハンドラのブロック図である。
【図３】図１のシステムのグローバル障害ハンドラのブロック図である。
【図４】図３のグローバル障害ハンドラの制御レジスタの選択フィールドと制御フィールドを表す図である。
【図５】開示されるプロセッサ・システムの動作の流れを示すフローチャートである。
【図６】開示されるプロセッサ・システムを用いる情報処理システムの図である。
【符号の説明】
【００３５】
１００  システム
１０５Ａ  ローカル障害ハンドラ部
１０５Ｂ  ローカル障害ハンドラ部
１１０Ａ  Ｄキャッシュ・エラー・ビット・レシーバ
１１０Ｂ  Ｄキャッシュ
１１２Ａ  Ｉキャッシュ・エラー・ビット・レシーバ
１１２Ｂ  Ｉキャッシュ
１１４Ａ  ＡＬＵエラー・ビット・レシーバ
１１４Ｂ  ＡＬＵ
１１６  エラー注入回路
１２０Ａ  ＰＰＵコアＦＩＲ
１２０Ｂ  ＰＰＵ
１２１Ａ  ローカルＩ／Ｏ  ＦＩＲ
１２１Ｂ  Ｉ／Ｏインタフェース
１２１Ｃ  ローカルＩ／Ｏインタフェース専用エラー注入回路
１２２Ａ  ローカルＭＩＵ  ＦＩＲ
１２２Ｂ  メモリ・インタフェース・ユニット
１２２Ｃ  メモリ・インタフェース・ユニット専用注入回路
１２３Ａ  ローカルＬ２キャッシュＦＩＲ
１２３Ｂ  Ｌ２キャッシュ・メモリ
１２３Ｃ  ローカルＬ２キャッシュ・インタフェース・エラー注入回路
１２４Ａ  ローカルＢＩＦ  ＦＩＲ
１２４Ｂ  バス・インタフェース
１２４Ｃ  ローカル・バス・インタフェース・エラー注入回路
１２５  訂正可能エラー・バス
１２７  訂正不能エラー・バス
１２９  マシン・チェック・バス
１３０  デバイス
１３５  デバイス
１４０  グローバル障害ハンドラ
１４１  グローバルＦＩＲ部
１４２  グローバル・マシン・チェックＦＩＲ
１４３  グローバル訂正可能エラーＦＩＲ
１４４  グローバル訂正不能エラーＦＩＲ
１４５  マルチプレクサ
１４６  訂正可能エラー注入ポート
１４７  マルチプレクサ
１４８  訂正不能エラー注入ポート
１４９  外部訂正不能エラー・ピン
１５０  グローバル・ロジック
１６０  ＪＴＡＧインタフェース
１６２  ＪＴＡＧステータス・レジスタ
１７０  デバッガ
１７２  外部アテンション・ピン
２００  ローカルＦＩＲ回路
２０２  システム・ロジック
２０４  ローカルＦＩＲ
２０６  エラー注入回路
２０８  エラー・ディテクタ
２１０  ＯＲゲート
２１２  ＡＮＤゲート
２１４  ＯＲゲート
２２０  チェックストップ・イネーブル構成レジスタ
２２２  エラー・マスク構成レジスタ
２２４  マシン・チェック・イネーブル・レジスタ
２３０  ＡＮＤゲート
２３２  ＡＮＤゲート
２３４  ＡＮＤゲート
２４０  マシン・チェック部
２５０  ＯＲゲート
３００  システム・ソフトウェア
３０５  ＪＴＡＧコントローラ
３１０  セレクタ
３１５  制御レジスタ
３１５Ａ  選択フィールド部
３１５Ｂ  制御フィールド部
３２０  制御／デコーダ・ロジック
３２５  出力デコーダ
３３０  グローバルＦＩＲ入力マルチプレクサ
５００  情報処理システム
５１０  バス
５１５  システム・メモリ
５２０  ビデオ・グラフィック・コントローラ
５３０  不揮発性記憶
５３５  オペレーティング・システム
５４０  Ｉ／Ｏ装置
５４５  拡張バス
５５０  ネットワーク・アダプタ
【図１】
2007200300.tif 000003
【図２】
2007200300.tif 000004
【図３】
2007200300.tif 000005
【図４】
2007200300.tif 000006
【図５】
2007200300.tif 000007
【図６】
2007200300.tif 000008