(57)【要約】    【課題】チップマルチプロセッサのバウンダリスキャンを拡張したエラー情報収集をチップシングルプロセッサとのピン互換を損なうことなく実現する。    【解決手段】ＬＳＩチップ１０上に形成されたＣＰＵコア１４−１、１４−２に内蔵された複数のエラー保持用ラッチを一本のエラー収集用スキャンチェーン４８に接続構成し、エラー収集用スキャンチェーン４８の中をＣＰＵコア１４−１、１４−２に対応したＣＰＵラッチ群５６−１、５６−２に分け、テスト動作時に２つのＣＰＵコアの内の縮退したＣＰＵコアに対応したエラー保持用ラッチ群のラッチ内容をマスクさせるマスク回路５８−１、５８−２を設け、エラー発生時にエラー収集用スキャンチェーン４８をスキャンアウトしてエラー情報を収集する    【選択図】      図１
2006153538.tif 000002
【特許請求の範囲】
【請求項１】
１つのチップ上に形成された複数のＣＰＵコアと、
前記複数のＣＰＵコアに内蔵された複数のエラー保持用ラッチを一本のスキャンチェーンに接続構成するスキャンチェーン回路と、
前記スキャンチェーンの中を前記複数のＣＰＵコアに対応したエラー保持用ラッチ群に分け、前記複数のＣＰＵコアの内の縮退したＣＰＵコアに対応したエラー保持用ラッチ群のラッチ内容をマスクさせる複数のマスク回路と、
エラー発生時に前記スキャンチェーン回路をスキャンアウトしてエラー情報を出力して収集させるスキャン制御回路と、
を備えたことを特徴とするプロセッサ。
【請求項２】
請求項１記載のプロセッサに於いて、前記スキャン制御回路は、命令レジスタによる前記スキャンチェーンの指定に基づきエラー情報をスキャンアウトさせることを特徴とするプロセッサ。
【請求項３】
請求項１記載のプロセッサに於いて、
前記チップ上に更に２次キャッシュを形成し、
前記スキャンチェーン回路は、前記複数のＣＰＵコア及び２次キャッシュに内蔵された複数のエラー保持用ラッチを、エラー解析時に一本のスキャンチェーンに接続構成し、
前記複数のマスク回路は、前記スキャンチェーンの中の前記複数のＣＰＵコア及び２次キャッシュに対応したエラー保持用ラッチ群毎に設けられ、前記複数のＣＰＵコア又は前記２次キャッシュの内の縮退した部分に対応したエラー保持用ラッチ群のラッチ内容をマスクさせることを特徴とするプロセッサ。
【請求項４】
請求項１記載のプロセッサに於いて、
前記スキャンチェーン回路は、前記複数のＣＰＵコアに内蔵された複数のエラー保持用ラッチを、エラーレベル毎に分けて一本のスキャンチェーンに接続構成し、
前記複数のマスク回路は、前記エラーレベルに分けて接続構成したスキャンチェーンの中の前記複数のＣＰＵコアに対応したエラー保持用ラッチ群毎に設けられ、前記複数のＣＰＵコアの内の縮退したＣＰＵコアに対応した各エラーレベルのエラー保持用ラッチ群のラッチ内容をマスクさせることを特徴とするプロセッサ。
【請求項５】
請求項１記載のプロセッサに於いて、前記複数のエラー保持用ラッチを高レベルエラーと低レベルエラーとに分け、２つのエラーレベル毎に前記スキャンチェーン回路及び前記マスク回路を設けたことを特徴とするプロセッサ。
【請求項６】
請求項１記載のプロセッサに於いて、
前記エラー保持用ラッチは、データ入力端子、リセット入力端子、クロック端子、データ出力端子、シフト入力端子、シフト出力端子及びシフトクロック端子を備え、
前記マスク回路は、コア切り離し信号の入力により前記クロック端子に対するクロック入力を禁止すると共に前記リセット端子にリセット信号を固定入力してラッチ内容をマスクすることを特徴とするプロセッサ。
【請求項７】
請求項１記載のプロセッサに於いて、
前記エラー保持用ラッチは、データ入力端子、リセット入力端子、クロック端子、データ出力端子、シフト入力端子、シフト出力端子及びシフトクロック端子を備え、
前記マスク回路は、コア切り離し信号の入力により前記データ入力端子に対するデータ入力を禁止してラッチ内容をマスクすることを特徴とするプロセッサ。
【請求項８】
１つのチップ上に複数のＣＰＵコアを形成したプロセッサのエラー解析方法に於いて、
前記複数のＣＰＵコアに内蔵された複数のエラー保持用ラッチを一本のスキャンチェーンに接続構成するスキャンチェーン構成ステップと、
前記スキャンチェーンの中を前記複数のＣＰＵコアに対応したエラー保持用ラッチ群に分け、前記複数のＣＰＵコアの内の縮退したＣＰＵコアに対応したエラー保持用ラッチ群のラッチ内容をマスクさせるマスクステップと、
エラー発生時に前記スキャンチェーンをスキャンアウトさせてエラー情報を収集するエラー情報収集ステップと、
を備えたことを特徴とするプロセッサのエラー解析方法。
【請求項９】
請求項８記載のプロセッサのエラー解析方法に於いて、
前記チップ上に更に２次キャッシュを形成し、
前記スキャンチェーン構成ステップは、前記複数のＣＰＵコア及び２次キャッシュに内蔵された複数のエラー保持用ラッチを、エラー解析時に一本のスキャンチェーンに接続構成し、
前記マスクステップは、前記スキャンチェーンの中の前記複数のＣＰＵコア及び２次キャッシュに対応したエラー保持用ラッチ群毎に、前記複数のＣＰＵコア又は前記２次キャッシュの内の縮退した部分に対応したエラー保持用ラッチ群のラッチ内容をマスクさせることを特徴とするプロセッサのエラー解析方法。
【請求項１０】
１つのチップ上に複数のＣＰＵコアを形成したプロセッサに設けたテストアクセス回路のコンピュータに、
前記複数のＣＰＵコアに内蔵された複数のエラー保持用ラッチを一本のスキャンチェーンに接続構成するスキャンチェーン構成ステップと、
前記スキャンチェーンの中を前記複数のＣＰＵコアに対応したエラー保持用ラッチ群に分け、前記複数のＣＰＵコアの内の縮退したＣＰＵコアに対応したエラー保持用ラッチ群のラッチ内容をマスクさせるマスクステップと、
エラー発生時に前記スキャンチェーンをスキャンアウトさせてエラー情報を収集するエラー情報収集ステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つのチップ上に複数のＣＰＵコアを形成したプロセッサ、そのエラー解析方法及びプログラムに関し、特に、複数のＣＰＵコアに内蔵された複数のエラー保持用ラッチを接続したスキャンチェーンをスキャンアウトしてエラー情報を収集解析するプロセッサ、そのエラー解析方法及びプログラムに関する。
【背景技術】
【０００２】
従来のプロセッサにあっては、図１３のように、ＬＳＩチップ１００に１つのＣＰＵコア１０２を例えば２次キャッシュ１０４と共に実装しているが、単体のＣＰＵの性能向上が困難になり、システム全体の性能向上のために、図１４のように、ＬＳＩチップ１００に複数のＣＰＵコア、例えば２つのＣＰＵコア１０２−１、１０２−２を実装して動作させるチップマルチプロセッサ（ＣＭＰ：Ｃｈｉｐ  Ｍｕｌｔｉ  Ｐｒｏｃｅｓｓｏｒ）とすることでシステム全体の性能向上を図っている。
【０００３】
このようなチップマルチプロセッサによれば、より集積度の上がったＬＳＩを有効に使用し、またＬＳＩチップ当りの性能向上を実現している。特にＬＳＩチップのピン互換のままチップマルチプロセッサを構築した場合は、システム全体の変更なく、マルチチッププロセッサを実装したＬＳＩチップの交換だけで大幅な性能向上が実現できコストパフォーマンスの観点で大きく期待されている。
【０００４】
ところで、チップマルチプロセッサ構成とした場合でも、従来のチップシングルプロセッサで使用しているエラー保持用ラッチのスキャンチェーンを用いたエラーの収集解析を必要とする。
【０００５】
図１５は、図１３のチップシングルプロセッサにおけるエラー収集のためのＪＴＡＧ（Ｊｏｉｎｔ  Ｅｕｒｏｐｉａｎ  ＴｅｓｔＡｃｔｉｏｎ  Ｇｒｏｕｐ）回路である。ＪＴＡＧはＩＥＥＥ１１４９．１で提供され、ＬＳＩの全ての外部入出力ピンを順次操作するようにテストデータの入出力を行う方法である。
【０００６】
図１５のチップシングルプロセッサを対象としたＪＴＡＧ回路は、命令レジスタ１０６、バイパスレジスタ１０８、一般制御ラッチ１１０で接続構成した一般制御用スキャンチェーン１１２−１〜１１２−３、及びエラー保持用ラッチ１１４で接続構成したエラー収集用スキャンチェーン１１６を備えている。
【０００７】
即ち、図１５のエラー情報収集回路は、システム運用時にもエラーの収集解析が行えるように、ＪＴＡＧ回路として知られたバウンダリ・スキャン機能を拡張し、ユーザが使用可能な命令レジスタ番号にチップ中の一般制御用ラッチ１１０を割り当てて部分的に一般制御用スキャンチェーン１１２−１〜１１２−３を構築し、命令レジスタ１０６による一般制御用スキャンチェーン１１２−１〜１１２−３の指定でチェーン上のラッチ群に対するスキャンインとスキャンアウトを実現可能にしている。
【０００８】
このようなスキャンチェーンにつき、命令レジスタ１０６で指定可能なスキャンチェーンの１つとして、エラー保持用ラッチ１１４を接続構成したエラー収集用スキャンチェーン１１６を割り当て、各種のエラーが発生した要因を保持させている。
【０００９】
エラー発生した場合には、エラー収集用スキャンチェーン１１６をスキャンアウトさせ、外部のエラー解析装置でエラー情報を収集し、その中でエラー発生を示しているビットを抽出し、エラーの発生の最も源流のものを探し出し、適切な自動縮退や部品交換指示をファームウェアのプログラムで行っている。
【００１０】
エラー解析において、エラーの発生の最も源流のものを探し出す処理は、データベースに依存関係を記載することで実現する。具体的にはあるエラーが発生した時に、伝播する可能性のあるエラーを記述しておき、複数のエラー要因がある場合にはデータベースと照合することで、より上流のエラー要因を見つけるように構成されている。
【特許文献１】特開２００２−１６９７８７
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、図１４に示したチップマルチプロセッサについてＪＴＡＧ回路を設けてエラー情報を収集する場合、ＬＳＩチップ１００上の２つのＣＰＵコア１０２−１、１０２−２のそれぞれについて図１５に示したＪＴＡＧ回路を設けた場合、ＪＴＡＧ用のピン数が２倍となり、また２次キャッシュ１０４といった共通部分のラッチをＣＰＵコア１０２−１、１０２−２のラッチで構成されるスキャンチェーンに対しどのように割り当てるかという問題があり、ＣＰＵコア１０２−１、１０２−２に対しＪＴＡＧ回路を２回路実装するという手法は論理的にも効率的にも都合が悪い。
【００１２】
また、チップマルチプロセッサにあっては、従来のチップシングルプロセッサとの互換によりシステム性能の向上を意図しており、このために従来のチップシングルプロセッサとの間でピン互換が必要とするが、ＪＴＡＧ回路を２回路実装する手法では、このピン互換が崩れてしまう。なお、ピン互換は、ＬＳＩレベルではなくても、カードモジュールレベルでのピン互換でもよい。
【００１３】
更に、チップマルチプロセッサは、製造歩留りによりＣＰＵコア１０２−１、１０２−２の何れか一方を縮退させた場合には、チップシングルプロセッサとして使用することを前提としており、このために従来のチップシングルプロセッサとの間でピン互換を必要とするが、ＪＴＡＧ回路を２回路実装する手法では、この場合のピン互換も崩れてしまう問題がある。
【００１４】
本発明は、バウンダリスキャンを拡張したエラー情報収集をチップシングルプロセッサとのピン互換を損なうことなく実現するチップマルチ構成のプロセッサ、その解析方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
図１は本発明の原理説明図である。本発明は、プロセッサを提供するものであり、
１つのチップ上に形成された複数のＣＰＵコア１４−１、１４−２と、
複数のＣＰＵコア１４−１、１４−２に内蔵された複数のエラー保持用ラッチ５０、５２を一本のスキャンチェーンに接続構成するスキャンチェーン回路（エラー収集用スキャンチェーン４８）と、
スキャンチェーンの中を複数のＣＰＵコアに対応したエラー保持用ラッチ群（ＣＰＵラッチ群５６−１、５６−２）に分け、テスト動作時に複数のＣＰＵコアの内の縮退したＣＰＵコアに対応したエラー保持用ラッチ群のラッチ内容をマスクさせる複数のマスク回路５８−１、５８−２と、
エラー発生時に前記スキャンチェーン回路をスキャンアウトしてエラー情報を出力して収集させるスキャン制御回路（テストアクセスポートコントローラ２４）と、
を備えたことを特徴とする。
【００１６】
ここでスキャン制御回路２４は、命令レジスタ２０によるスキャンチェーンの指定に基づきエラー情報をスキャンアウトさせる。
【００１７】
更に本発明のプロセッサは、チップ上に更に２次キャッシュ１６を形成し、この場合、
スキャンチェーン回路は、複数のＣＰＵコア及び２次キャッシュに内蔵された複数のエラー保持用ラッチを、一本のスキャンチェーンに接続構成し、
複数のマスク回路は、スキャンチェーンの中の複数のＣＰＵコア及び２次キャッシュに対応したエラー保持用ラッチ群毎に設けられ、テスト動作時に複数のＣＰＵコア又は２次キャッシュの内の縮退した部分に対応したエラー保持用ラッチ群のラッチ内容をマスクさせる。
【００１８】
また本発明のプロセッサとして、
スキャンチェーン回路は、複数のＣＰＵコアに内蔵された複数のエラー保持用ラッチを、エラー情報収集時にエラーレベル毎に分けて一本のスキャンチェーンに接続構成し、
複数のマスク回路は、エラーレベルに分けて接続構成したスキャンチェーンの中の複数のＣＰＵコアに対応したエラー保持用ラッチ群毎に設けられ、複数のＣＰＵコアの内の縮退したＣＰＵコアに対応した各エラーレベルのエラー保持用ラッチ群のラッチ内容をマスクさせる。
【００１９】
例えば、複数のエラー保持用ラッチを高レベルエラーと低レベルエラーとに分け、２つのエラーレベル毎にスキャンチェーン回路及びマスク回路を設ける。
【００２０】
エラー保持用ラッチは、データ入力端子、リセット入力端子、クロック端子、データ出力端子、シフト入力端子、シフト出力端子及びシフトクロック端子を備え、マスク回路はコア切り離し信号の入力によりクロック端子に対するクロック入力を禁止すると共にリセット端子にリセット信号を固定入力してラッチ内容をマスクする。
【００２１】
またエラー保持用ラッチは、データ入力端子、リセット入力端子、クロック端子、データ出力端子、シフト入力端子、シフト出力端子及びシフトクロック端子を備え、マスク回路はコア切り離し信号の入力によりデータ入力端子に対するデータ入力を禁止してラッチ内容をマスクするようにしても良い。
【００２２】
本発明は、１つのチップ上に複数のＣＰＵコアを形成したプロセッサのエラー解析方法を提供する。この本発明によるプロセッサのエラー解析方法は、
複数のＣＰＵコアに内蔵された複数のエラー保持用ラッチを一本のスキャンチェーンに接続構成するスキャンチェーン構成ステップと、
スキャンチェーンの中を複数のＣＰＵコアに対応したエラー保持用ラッチ群に分け、テスト動作時に複数のＣＰＵコアの内の縮退したＣＰＵコアに対応したエラー保持用ラッチ群のラッチ内容をマスクさせるマスクステップと、
エラー発生時に前記スキャンチェーンをスキャンアウトさせてエラー情報を収集するエラー情報収集ステップと、
を備えたことを特徴とする。
【００２３】
本発明は、１つのチップ上に複数のＣＰＵコアを形成したプロセッサのエラー解析装置を構成するコンピュータにより実行されるプログラムを提供する。この本発明によるプログラムは、コンピュータに、
複数のＣＰＵコアに内蔵された複数のエラー保持用ラッチを一本のスキャンチェーンに接続構成するスキャンチェーン構成ステップと、
スキャンチェーンの中を複数のＣＰＵコアに対応したエラー保持用ラッチ群に分け、テスト動作時に複数のＣＰＵコアの内の縮退したＣＰＵコアに対応したエラー保持用ラッチ群のラッチ内容をマスクさせるマスクステップと、
エラー発生時にスキャンチェーンをスキャンアウトさせてエラー情報を収集するエラー情報収集ステップと、
を実行させることを特徴とする。
【００２４】
なお、本発明によるエラー解析方法及びプログラムの詳細は、本発明によるプロセッサの場合と基本的に同じになる。
【発明の効果】
【００２５】
本発明によれば、ＬＳＩチップ上に複数のＣＰＵコアを形成したプロセッサであっても、複数のＣＰＵコア内のエラー保持用ラッチについて１本のスキャンチェーンを接続構成してエラー発生時にスキャンアウトするようにしたことで、ＪＴＡＧによるエラー収集機能を実装しても従来のチップシングルプロセッサとのピン互換が維持でき、システムを変更することなくプロセッサ交換のみでシステム全体の性能向上が達成でき、且つ従来と同じ分解能で複数のＣＰＵコアのエラー解析ができる。
【００２６】
また複数のＣＰＵコアの一部が縮退により切り離された場合には、縮退したＣＰＵコアに対応したエラー収集用のスキャンチェーンの部分に設けたマスク回路をＣＰＵコア切り離し信号により動作させることで、縮退した部分のエラー保持用ラッチがエラー内容を示すビット１とならないようにマスクされ、縮退した部分のラッチをエラー収集用スキャンチェーンに含んでいても、縮退部分のビットはマスク処理により全て正常ビットとしており、スキャンチェーンをスキャンアウトして収集されたエラー情報につき、縮退部分のエラーを除外するような特別な処理は必要なく、従来のエラー解析をそのまま適用できる。
【００２７】
更に、ＣＰＵコアを縮退して使用する場合と縮退しないで使用する場合とで、バイパスレジスタを使用してエラー収集用のスキャンチェーンのスキャン長を変化させるようにすると、エラー発生時のスキャンアウトのためのシステム変更が必要になるが、本発明にあっては、ＣＰＵコアを縮退して使用する場合と縮退しないで使用する場合とでスキャン長が変化しないため、スキャンアウトによりエラー情報を収集解析するシステムを変更する必要がない。
【発明を実施するための最良の形態】
【００２８】
図２は本発明のチップマルチプロセッサＣＭＰを実装したＬＳＩチップの実施形態を、テスト及びエラー解析を行うホストと共に示した説明図である。図２において、ＬＳＩチップ１０には内部回路１２が設けられ、内部回路１２にはＣＰＵコア１４−１、１４−２及び２次キャッシュ１６が実装され、チップマルチプロセッサ構成をとっている。
【００２９】
ＬＳＩチップ１０には、内部回路１２を外部接続するためのピン１１−１〜１１−８が設けられ、ピン１１−１〜１１−８は内部回路１２に接続されている。なお、ピン１１−１〜１１−８は説明を簡単にするために８ピンとして示しているが、実際のＬＳＩチップ１０にあっては、それ以上の適宜の数のピンが設けられている。
【００３０】
このＬＳＩチップ１０にはＩＥＥＥ１１４９．１によるＪＴＡＧ対応のバウンダリスキャンテスト機能が実装されている。ＬＳＩチップ１０におけるＪＴＡＧ対応の回路部は、バウンダリスキャンレジスタ１８、命令レジスタ２０、バイパスレジスタ２２、テストアクセスポートコントローラ（ＴＡＰＣ）２４で構成される。
【００３１】
またＪＴＡＧによるバウンダリスキャンテストのためのピンとして、テストデータ入力ピン（ＴＤＩピン）２５、テストデータ出力ピン（ＴＤＯピン）２６、テストモードセレクトピン（ＴＭＳピン）２８、テストクロックピン（ＴＣＫピン）３０及びテストリセットピン（ＴＲＳＴピン）３２を設けている。
【００３２】
バウンダリスキャンレジスタ１８は、内部回路１２とピン１１−１〜１１−８との接続ラインの間に設けたラッチ１８−１〜１８−８を、一筆書きチェーン（デイジーチェーン）に接続してテストデータ入力ピン２５とテストデータ出力ピン２６の間に接続しており、バウンダリスキャンレジスタ１８はラッチ１８−１〜１８−８から構成されたシフトレジスタとして動作する。
【００３３】
このバウンダリスキャンレジスタ１８のラッチ１８−１〜１８−８に適当なデータを入力することで、対応するピン１１−１〜１１−８の任意の出力ピンからデータを出力したり、入力ピンの状態をモニタすることができる。
【００３４】
命令レジスタ２０は命令レジスタ番号を読み込んでデコードするもので、内部回路１２に各種の機能を実行させることができる。また命令レジスタ２０には、ユーザが使用可能な命令レジスタ番号が割り当てられており、この命令レジスタ番号を内部回路１２に設けた複数のラッチを１本に接続したスキャンチェーンに割り当てることで、特定のスキャンチェーンを指定してスキャンインまたはスキャンアウトすることができる。
【００３５】
本発明にあっては後の説明で明らかにするように、内部回路１２に設けているエラー保持用ラッチを１本のスキャンチェーンに接続して構成したエラー収集用スキャンチェーンについて、命令レジスタ２０においてユーザが使用可能な特定の命令レジスタ番号を割り当て、外部からのエラー情報収集指示によって内部回路１２のエラー情報をスキャンアウトして収集できるようにしている。
【００３６】
バイパスレジスタ２２は、テストデータ入力ピン２５から入力されるデータを最短経路でテストデータ出力ピン２６にバイパスするための経路を提供する。このバイパスレジスタ２２の使い方としては、ＬＳＩチップ１０の内部回路１２に複数の回路が実装されている場合、バウンダリスキャンレジスタ１８は複数の回路についてラッチ１８−１〜１８−８を１本のチェーンとして接続しているため、テスト不要回路部のバウンダリスキャンレジスタ１８のラッチ部分をバイパスする際等に使用する。
【００３７】
テストアクセスポートコントローラ２４は、テストモードセレクトピン２８からの信号とテストクロックピン３０からの信号によって各レジスタを制御するステートマシンを構成している。
【００３８】
ここでＪＴＡＧ用の各ピンに対する信号を説明すると次のようになる。データ入力ピン２５に対するテストデータ入力信号は、テスト対象となる内部回路１２に対し命令やデータをシリアルに入力する信号であり、テストクロックピン３０に対するテストクロックの立ち上がりエッジでサンプリングされる。
【００３９】
テストデータ出力ピン２６からのテストデータ出力信号は、テスト対象となっている内部回路１２からのデータをシリアル出力する信号であり、この出力値の変更はテストクロックピン３０に対するテストクロック信号の立ち下がりエッジで行われる。テストクロックピン３０はテスト対象となる内部回路１２にクロックを供給し、内部回路１２固有のシステムクロックと独立して使用できるようにする専用入力となる。
【００４０】
テストモードセレクトピン２８に対する信号はテスト動作を制御する信号であり、テストクロックの立ち上がりエッジでサンプリングされ、この信号はテストアクセスポートコントローラ２４がデコードする。
【００４１】
テストリセットピン３２に対する信号は、テストアクセスポートコントローラ２４を非同期に初期化する負論理信号であり、オプションとして用いられている。
【００４２】
このようなＬＳＩチップ１０に実装されたバウンダリスキャンテストを目的としたＪＴＡＧの５本のピンからの信号線はホスト３４に接続され、ホスト３４からの指示によりテスト動作及びエラー発生時のエラー収集とエラー解析を実行する。ホスト３４には、テスト処理部３６、エラー情報収集部３８、エラー情報解析部４０及びエラー解析用データベース４２が設けられている。
【００４３】
テスト処理部３６は、ＬＳＩチップ１０の内部回路１２を対象に予め定められたテスト処理を実行する。エラー情報収集部３８は、内部回路１２のテスト動作の際にエラーが発生した場合、後の説明で明らかにするエラー収集用スキャンチェーンのスキャンアウト動作を、命令レジスタ２０に対し予め割り当てられた命令レジスタ番号の出力で指定し、エラー収集用スキャンチェーンのスキャンアウト動作により、チェーンを構成している各エラー保持用ラッチに保持されたビット情報をエラー情報として収集する。
【００４４】
エラー情報解析部４０は、エラー情報収集部３８で収集されたエラー情報から、エラーを発生しているビットを抽出し、エラー解析用データベース４２の参照でエラー発生の最も源流となる要因を探索し、適切な自動縮退処理や部品交換指示などを行う。
【００４５】
図３は図２のチップマルチプロセッサ構成をとる内部回路１２を対象としたエラー収集用のスキャンチェーンを含む回路ブロック図である。
【００４６】
図３において、ＪＴＡＧに対応した命令レジスタ２０及びバイパスレジスタ２２と並列に、図２の内部回路１２内に設けた複数のラッチを１本のチェーンに接続構成することにより、この実施形態にあっては、３本の一般制御用スキャンチェーン４４−１、４４−２、４４−３を設け、更にエラー収集用スキャンチェーン４８を設けている。
【００４７】
一般制御用スキャンチェーン４４−１〜４４−３及びエラー収集用スキャンチェーン４８に対しては、ユーザが使用可能な命令レジスタ番号が割り当てられており、各スキャンチェーンに固有な命令レジスタ番号を命令レジスタ２０にセットすることで、命令レジスタ２０のデコードにより指定された命令レジスタ番号に対応するスキャンチェーンが選択されて、スキャンインあるいはスキャンアウトを行うことができる。
【００４８】
例えばユーザが使用可能な命令レジスタ番号として命令レジスタ番号ＩＲ０１〜ＩＲ０４が存在したとすると、一般制御用スキャンチェーン４４−１〜４４−３に対して、それぞれ命令レジスタ番号ＩＲ０１〜ＩＲ０３が割り当てられ、エラー収集用スキャンチェーン４８に対しては命令レジスタ番号ＩＲ０４が割り当てられている。
【００４９】
一般制御用スキャンチェーン４４−１〜４４−３のそれぞれは、内部回路１２のＣＰＵコア１４−１、１４−２及び２次キャッシュ１６に設けているテストあるいは検証のためのラッチを１本のチェーンに接続して、シフトレジスタを構成している。
【００５０】
一方、エラー収集用スキャンチェーン４８にあっては、図２のＣＰＵコア１４−１にエラー保持用ラッチ５０−１〜５０−ｎを設け、ＣＰＵコア１４−２にエラー保持用ラッチ５２−１〜５２−ｎを設け、更に２次キャッシュ１６にエラー保持用ラッチ５４−１〜５４−ｎを設けており、これらＣＰＵコア１４−１、１４−２及び２次キャッシュ１６に設けているエラー保持用ラッチ５０−１〜５４−ｎの全てを１本のチェーンに接続することで、エラー収集用スキャンチェーン４８を構成している。
【００５１】
このためエラー収集用スキャンチェーン４８は、ＣＰＵコア１４−１に対応したＣＰＵラッチ群５６−１、ＣＰＵコア１４−２に対応したＣＰＵラッチ群５６−２、及び２次キャッシュ１６に対応した２次キャッシュラッチ群５６−３に分けられる。
【００５２】
更にエラー収集用スキャンチェーン４８に対しては、マスク回路５８−１、５８−２、５８−３が設けられている。マスク回路５８−１〜５８−３に対してはコア切り離し信号Ｅ１、Ｅ２、Ｅ３が、縮退対象となった際に供給される。
【００５３】
例えば、図２のＣＰＵコア１４−１がＬＳＩチップ１０の製造後のテスト動作で正常に機能せず、縮退対象となった場合には、マスク回路５８−１に対するコア切り離し信号Ｅ１が有効となる。マスク回路５８−１は、エラー保持用ラッチ５０−１〜５０−ｎで構成されるＣＰＵラッチ群５６−１に対し、エラービット１の保持を強制的に解除して常に正常ビット０に固定するマスク処理を行う。
【００５４】
エラー保持用ラッチ５０−１〜５０−ｎに対するマスク処理の具体例として、本発明の実施形態にあっては
（１）ラッチのクロックオフ制御とリセット制御
（２）エラー入力のマスク制御
のいずれかを行う。
【００５５】
図２のＣＰＵコア１４−２に対応して設けたエラー保持用ラッチ５２−１〜５２−ｎを含むＣＰＵラッチ群５６−２に対するマスク回路５８−２も、ＣＰＵコア１４−２が縮退対象となったときにコア切り離し信号Ｅ２が有効となって、エラー保持用ラッチ５２−１〜５２−ｎによるエラー保持機能を解除するマスク処理が行われる。
【００５６】
更に、２次キャッシュ１６に設けているエラー保持用ラッチ５４−１〜５４−ｎを含む２次キャッシュラッチ群５６−３のマスク回路５８−３についても同様に、２次キャッシュ１６が縮退対象となったときのコア切り離し信号Ｅ３が有効となることで、エラー保持用ラッチ５４−１〜５４−ｎによるエラー保持機能を解除するマスク処理が行われる。
【００５７】
図４は、図２の内部回路におけるエラー保持用ラッチの説明図である。図４において、例えば図２のＣＰＵコア１４−１を例にとると、一般回路６０−１、６０−２、６０−３の出力段にエラー保持用ラッチ５０−１、５０−２、５０−３が設けられている。
【００５８】
エラー保持用ラッチ５０−１〜５０−３のそれぞれは、データ入力Ｄ、データ出力Ｑ、シフト入力ＳＩ及びシフト出力ＳＯを備え、通常動作時にあっては、一般回路６０−１からのデータビットをデータ入力Ｄとしてラッチした後、クロックに同期してデータ出力Ｑとして後段の回路に出力している。
【００５９】
このような一般回路６０−１〜６０−３の動作中にエラーが発生したとすると、エラー保持用ラッチ５０−１〜５０−３にエラーを示すビット情報が、あるタイミングでラッチされる。このようなエラー保持状態において、図３に示したように命令レジスタ２０に対するエラー収集用スキャンチェーン４８のスキャンアウトを実現するための命令レジスタ番号をセットしてスキャンアウト動作が指示されると、図４におけるエラー保持用ラッチ５０−１〜５０−３は、データ入力Ｄとデータ出力Ｑを切り離し、シフト入力ＳＩとシフト出力ＳＯを相互に接続することで、スキャンチェーンとなるシフトレジスタを構成し、スキャンアウト動作（シフト動作）によりエラー保持用ラッチ５０−１〜５０−３に保持しているエラービットを外部に読み出し、図２のホスト３４にエラー情報を収集することが可能となる。
【００６０】
図５は、図２のＣＰＵコア１４−１、１４−２に一般回路として設けているレジスタファイルの構造を示した説明図である。レジスタファイル６２は、メモリ素子６４を並べてアレイ構造としたメモリアレイ６６に対し、ライト用アドレスデコーダ回路６８、リード出用アドレスデコーダ回路７６及びセレクト回路７８を付加することで実現されている。
【００６１】
ここでレジスタファイル６２に使用するメモリ素子６４としては、スキャン回路を作り込むためにマスタスレーブ構造のフリップフロップを通常使用している。メモリ素子６４に組み込むスキャン回路は、レジスタファイル６２を構成するメモリ素子６４を通常の動作とは異なる経路で直列に接続し、スキャンチェーンとなるシフトレジスタを構成するもので、テスト時だけに動作する。
【００６２】
図６は通常時のレジスタファイルであり、説明を簡単にするため（アドレス方向）×（データ方向）を（３×４）＝１２メモリ素子でメモリアレイ６６を構成した場合を例にとっている。メモリアレイ６６に対するデータ書込みは、図５のライト用アドレスデコーダ回路６８によるライトアドレスの解読で特定のレジスタのデータ方向の４つのメモリ素子６４を選択し、４ビットデータを並列的に書き込む。
【００６３】
またメモリアレイ６６からのデータの読出しは、図５のリード用アドレスデコーダ回路７６によるリードアドレスの解読で特定のレジスタの４つのメモリ素子６４から読出内容をまとめた読出バスを読出用セレクタ回路７８で選択し、４ビットデータを並列的に読み出す。
【００６４】
図７はマスタスレーブ構造のフリップフロップをメモリ素子６４とした場合のテスト時のスキャン回路によって形成されたシフトレジスタとしてのスキャンチェーンであり、メモリアレイ６６のメモリ素子６４を図６の通常動作とは異なる経路で直列に接続し、シフトレジスタを構成している。
【００６５】
なお、レジスタファイル６２の場合には全てのメモリ素子６４をエラー保持用ラッチとしてエラー収集用スキャンチェーンを構成しているが、必要に応じて任意のメモリ素子をエラー保持用ラッチとしてエラー収集用スキャンチェーンを構成しても良い。
【００６６】
このようにＣＰＵコア１４−１、１４−２及び２次キャッシュ１６の内部の任意の位置にエラー保持用ラッチを配置し、エラー検出時に全てのエラー保持用ラッチにつき、シフト入力とシフト出力を順次接続して１本のチェーンに接続構成することで、図３に示すエラー収集用スキャンチェーン４８が構成され、スキャンアウトによりエラー情報を収集することが可能となる。またエラー収集用スキャンチェーン４８を構成するエラー保持用ラッチ５０−１〜５４−ｎの総数としては、例えば数百点といった規模のラッチ数が１つのチェーンに含まれることになる。
【００６７】
図８は図３のエラー収集用スキャンチェーンに用いるエラー保持用ラッチとシフト回路の実施形態の回路ブロック図であり、この実施形態にあっては、エラー保持用ラッチのクロックオフ制御により、エラービット１を保持することなく、ラッチ内容を常に正常ビット０とするようにしたことを特徴とする。
【００６８】
図８において、エラー保持用ラッチ５０は、データ入力Ｄに対応してデータ出力Ｑを備えており、データのラッチ動作のためにクロックＣＫ及びリセットＲＳを備えている。また、エラー検出時のスキャンアウトのためにシフト入力ＳＩとシフト出力ＳＯ、更にシフトクロックＳＣＫを備えている。
【００６９】
このようなエラー保持用ラッチ５０に対し、クロックＣＫに対するクロック信号Ｅ２の供給ラインにマスク回路８２を設けている。マスク回路８２はＡＮＤゲート８４とＯＲゲート８５で構成され、ＡＮＤゲート８４の一方の入力にクロック信号Ｅ２を加え、他方の反転入力にコア切り離し信号Ｅ１を加えている。またＯＲゲート８５の一方にリセット信号Ｅ３を入力すると共に、ＯＲゲート８５の他方にコア切り離し信号Ｅ１を入力している。
【００７０】
このようなマスク回路８２を設けることにより、対象となるコアが縮退されることで、コア切り離し信号Ｅ１がビット「１」になると、マスク回路８２のＡＮＤゲート８４が禁止状態となり、エラー保持用ラッチ５０のクロック入力ＣＫに対するクロック信号Ｅ２の供給が停止する。同時に、コア切り離し信号Ｅ１はＯＲゲート８５を通してリセット入力ＲＳに対するリセット信号を「１」とし、エラー保持用ラッチ５０をリセットする。
【００７１】
このようなクロックオフ制御とリセット制御により、エラー保持用ラッチ５０に対しエラー入力信号（エラービット「１」）Ｅ４がデータ入力端子Ｄに与えられたとしても、エラー入力信号Ｅ４がエラー保持用ラッチ５０にラッチされることはなく、ラッチ内容は常時正常ビット「０」に固定される。
【００７２】
このためデータ入力Ｄとデータ出力Ｑを切り離してシフト入力ＳＩとシフト出力ＳＯに切り替えられ、シフトクロック信号Ｅ６によるシフトクロック入力に対する供給で行われるスキャンアウト動作により読み出されるエラー保持用ラッチ５０の保持ビットは正常ビット「０」であり、エラービット「1」としてスキャンアウトされることを阻止できる。
【００７３】
なお図８の実施形態にあっては、マスク回路８２のＯＲゲート８５により、コア切り離し信号Ｅ１によって強制的にリセット信号を有効としているが、別途、コア切り離し信号の入力に同期してリセット信号Ｅ３をビット「１」とするようにしてもよい。
【００７４】
図９は、図３のエラー収集用スキャンチェーンに用いるエラー保持用レジスタとシフト回路の他の実施形態の回路ブロック図であり、この実施形態にあってはエラー保持用ラッチに入力するエラー信号を直接マスクするようにしたことを特徴とする。
【００７５】
図９において、エラー保持用ラッチ５０に対するエラー信号Ｅ４が入力するデータ入力Ｄに対するラインにはマスク回路８６が設けられている。マスク回路８６はＡＮＤゲート８８で構成されており、ＡＮＤゲート８８の一方の入力にエラー信号Ｅ４を供給し、他方の反転入力にコア切り離し信号Ｅ１を入力している。
【００７６】
このようなマスク回路８６を設けることで、コアの縮退によりコア切り離し信号Ｅ１がビット「１」になると、ＡＮＤゲート８８が、その反転入力でビット「０」となって禁止状態となり、エラー保持用ラッチ５０に対するエラー信号Ｅ４の入力が禁止され、結果としてエラー保持用ラッチ５０におけるデータ入力Ｄとデータ出力Ｑを切り離してシフト入力ＳＩとシフト出力ＳＯに切り替えるスキャンアウトの際に、エラー保持用ラッチ５０からは常に正常ビット「０」がスキャンアウトされることになる。
【００７７】
図１０は、図２のホスト３４によるエラー情報収集処理のフローチャートである。図１０において、ホスト３４に設けたエラー情報収集部３８は、ステップＳ１でエラー発生を監視している。このエラー発生の監視は、テスト処理部３６によるテスト動作中あるいはＬＳＩチップ１０の運用中のいずれであってもよい。
【００７８】
ステップＳ１でエラー発生が判別されると、ステップＳ２に進んで内部回路１２の動作停止を指示し、エラー発生時の状態を固定させる。続いて、ステップＳ３でＬＳＩチップ１０の内部回路１２上に縮退コアがあるか否かチェックする。もし縮退コアがあった場合には、ステップＳ４で図３に示したエラー収集用スキャンチェーン４８に対応して設けている縮退対象となるマスク回路５８−１〜５８−３のいずれかに対し縮退コアの切り離し指示を行う。
【００７９】
これによりいずれかの切り離し信号Ｅ１〜Ｅ３が有効となり、ＣＰＵラッチ群５６−１、５６−２または２次キャッシュラッチ群５６−３のいずれかの縮退対象となったコアにおけるエラー保持用ラッチのマスク処理が行われる。一方、ステップＳ３で縮退コアがなかった場合には、ステップＳ４の処理はスキップする。
【００８０】
次にステップＳ５でエラー収集用スキャンチェーン４８の命令レジスタ番号を指定してスキャンアウトを指示する。この命令レジスタ番号は図３の命令レジスタ２０に送られて解読され、解読結果に基づきエラー収集用スキャンチェーン４８が選択されてスキャン動作が行われる。このときステップＳ４で縮退コアに対応したマスク回路に対する切り離し指示があれば、縮退したコアに対応するエラー保持用ラッチのラッチ内容は正常ビット「０」に固定されており、スキャンアウトの際のエラー情報は、縮退した部分のラッチについて全て正常を示すことになり、エラーデータ収集の段階でエラー対象から除外できる。
【００８１】
続いてステップＳ６でスキャンアウトによるエラー情報の収集を行い、ステップＳ７で収集終了を判別して一連の処理を終了する。このエラー情報収集処理が終了した後には、収集したエラー情報を図２のホスト３４に設けているエラー情報解析部４０に引き渡し、エラー情報の中からエラービットを抽出し、エラー解析用データベース４２の参照によりエラー発生の最も源流となる原因を探し出し、適切な自動縮退や部品交換指示などを行うことになる。
【００８２】
図１１は、図２の２つのＣＰＵコア１４−１、１４−２に対応してエラー収集用スキャンチェーンを構成した本発明の他の実施形態の回路ブロック図である。図１１において、命令レジスタ２０、バイパスレジスタ２２及び一般制御用スキャンチェーン４４−１〜４４−３は、図３の実施形態と同じであるが、エラー収集用スキャンチェーン４８として、この実施形態にあってはＣＰＵコア１４−１に対応したＣＰＵラッチ群５６−１のエラー保持用ラッチ５０−１〜５０−ｎと、ＣＰＵコア１４−２に対応したＣＰＵラッチ群５６−２のエラー保持用ラッチ５２−１〜５２−ｎについて、１本のチェーンに接続構成している。
【００８３】
この場合にも、ＣＰＵラッチ群５６−１、５６−２に対応してマスク回路５８−１、５８−２が設けられ、縮退対象となるコアに対するコア切り離し信号Ｅ１、Ｅ２のいずれかを有効とすることで、切り離し対象となったエラー保持用ラッチにエラービット「１」を保持させずに常に正常ビット「０」を固定保持させるマスク処理を行っている。このマスク回路５８−１、５８−２の具体的な構成は、図８または図９のいずれかとする。
【００８４】
図１２はエラーレベルに分けてＣＰＵコアのエラー収集用スキャンチェーンを構成した本発明の他の実施形態の回路ブロック図である。図１２において、命令レジスタ２０、バイパスレジスタ２２及び一般制御用スキャンチェーン４４−１〜４４−３の構成は図３の実施形態と同じであるが、エラー収集用スキャンチェーンにつき、この実施形態にあっては、高レベルエラー収集用スキャンチェーン４８−１と低レベルエラー収集用スキャンチェーン４８−２に分けてスキャンチェーンを構成している。
【００８５】
高レベルエラー収集用スキャンチェーン４８−１には、図２のＣＰＵコア１４−１に対応してＣＰＵラッチ群５６−１１としてラッチ５０−１１〜５０−１ｎが設けられ、またＣＰＵコア１４−２に対応したＣＰＵラッチ群５６−１２としてエラー保持用ラッチ５２−１１〜５２−１ｎを設けている。またＣＰＵラッチ群５６−１１及び５６−１２のそれぞれに対してはマスク回路５８−１１、５６−１２が設けられ、コア縮退に対応してコア切り離し信号Ｅ１１、Ｅ１２が入力されている。
【００８６】
この点は低レベルエラー収集用スキャンチェーン４８−２についても基本的に同じであり、ＣＰＵコア１４−１に対応したＣＰＵラッチ群５６−２１としてエラー保持用ラッチ５０−２１〜５０−２ｎが設けられ、ＣＰＵコア１４−２に対応したＣＰＵラッチ群５６−２２としてエラー保持用ラッチ５２−２１〜５２−２ｎが設けられ、更にＣＰＵラッチ群５６−２１、５６−２２に対応してマスク回路５８−２１、５８−２２が設けられ、それぞれに縮退対象となった際にコア切り離し信号Ｅ２１、Ｅ２２が供給されることになる。
【００８７】
図１２の実施形態にあっては、エラー収集用スキャンチェーンとして高レベルエラーと低レベルエラーに分けてスキャンチェーンを構成していることで、エラー発生時のスキャンチェーンのスキャンアウトが高レベルエラー収集用スキャンチェーン４８−１と低レベルエラー収集用スキャンチェーン４８−２について別々に行われ、エラー収集の段階でスキャンチェーンに依存してエラー内容が高低に分類されていることで、図２のホスト３４におけるエラー情報解析部４０におけるエラー解析処理をより効率的に行うことができる。
【００８８】
また図１２の実施形態にあっては、エラー収集用スキャンチェーンを高レベルエラーと低レベルエラーの２つに分けてスキャンチェーンを構成した場合を例にとっているが、更にエラーレベル数を３以上のレベルに分割して、それぞれ固有のスキャンチェーンを構成してスキャンアウトするようにしてもよい。
【００８９】
また図１２のエラーレベルに応じてエラー収集用スキャンチェーンを構成する実施形態は、図３に示したＣＰＵコア１４−１、１４−２に加えて、２次キャッシュ１６のエラー保持用ラッチ５４−１〜５４−ｎを加えたエラー収集用スキャンチェーン４８につき、同様に低レベルと高レベルに分けたスキャンチェーンを構成してもよい。
【００９０】
また本発明は、図２のホスト３４でＬＳＩチップ１０のＪＴＡＧの実装回路を対象にエラー収集用スキャンチェーンを駆動してエラー情報を収集するためのプログラムを提供しており、このプログラムは図１０のフローチャートに示した手順を実行することになる。
【００９１】
なお本発明は、その目的と利点を損なうことのない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。
【００９２】
ここで本発明の特徴をまとめて列挙すると次の付記のようになる。
（付記）
（付記１）
１つのチップ上に形成された複数のＣＰＵコアと、
前記複数のＣＰＵコアに内蔵された複数のエラー保持用ラッチを一本のスキャンチェーンに接続構成するスキャンチェーン回路と、
前記スキャンチェーンの中を前記複数のＣＰＵコアに対応したエラー保持用ラッチ群に分け、前記複数のＣＰＵコアの内の縮退したＣＰＵコアに対応したエラー保持用ラッチ群のラッチ内容をマスクさせる複数のマスク回路と、
エラー発生時に前記スキャンチェーン回路をスキャンアウトしてエラー情報を出力して収集させるスキャン制御回路と、
を備えたことを特徴とするチップマルチプロセッサ。（１）
【００９３】
（付記２）
付記１記載のプロセッサに於いて、前記スキャン制御回路は、命令レジスタによる前記スキャンチェーンの指定に基づきエラー情報をスキャンアウトさせることを特徴とするプロセッサ。（２）
【００９４】
（付記３）
付記１記載のプロセッサに於いて、
前記チップ上に更に２次キャッシュを形成し、
前記スキャンチェーン回路は、前記複数のＣＰＵコア及び２次キャッシュに内蔵された複数のエラー保持用ラッチを、エラー解析時に一本のスキャンチェーンに接続構成し、
前記複数のマスク回路は、前記スキャンチェーンの中の前記複数のＣＰＵコア及び２次キャッシュに対応したエラー保持用ラッチ群毎に設けられ、前記複数のＣＰＵコア又は前記２次キャッシュの内の縮退した部分に対応したエラー保持用ラッチ群のラッチ内容をマスクさせることを特徴とするプロセッサ。（３）
【００９５】
（付記４）
付記１記載のプロセッサに於いて、
前記スキャンチェーン回路は、前記複数のＣＰＵコアに内蔵された複数のエラー保持用ラッチを、エラーレベル毎に分けて一本のスキャンチェーンに接続構成し、
前記複数のマスク回路は、前記エラーレベルに分けて接続構成したスキャンチェーンの中の前記複数のＣＰＵコアに対応したエラー保持用ラッチ群毎に設けられ、前記複数のＣＰＵコアの内の縮退したＣＰＵコアに対応した各エラーレベルのエラー保持用ラッチ群のラッチ内容をマスクさせることを特徴とするプロセッサ。（４）
【００９６】
（付記５）
付記１記載のプロセッサに於いて、前記複数のエラー保持用ラッチを高レベルエラーと低レベルエラーとに分け、２つのエラーレベル毎に前記スキャンチェーン回路及び前記マスク回路を設けたことを特徴とするプロセッサ。（５）
【００９７】
（付記６）
付記１記載のプロセッサに於いて、
前記エラー保持用ラッチは、データ入力端子、リセット入力端子、クロック端子、データ出力端子、シフト入力端子、シフト出力端子及びシフトクロック端子を備え、
前記マスク回路は、コア切り離し信号の入力により前記クロック端子に対するクロック入力を禁止すると共に前記リセット端子にリセット信号を固定入力してラッチ内容をマスクすることを特徴とするプロセッサ。（６）
【００９８】
（付記７）
付記１記載のプロセッサに於いて、
前記エラー保持用ラッチは、データ入力端子、リセット入力端子、クロック端子、データ出力端子、シフト入力端子、シフト出力端子及びシフトクロック端子を備え、
前記マスク回路は、コア切り離し信号の入力により前記データ入力端子に対するデータ入力を禁止してラッチ内容をマスクすることを特徴とするプロセッサ。（７）
【００９９】
（付記８）
１つのチップ上に複数のＣＰＵコアを形成したプロセッサのエラー解析方法に於いて、
前記複数のＣＰＵコアに内蔵された複数のエラー保持用ラッチを一本のスキャンチェーンに接続構成するスキャンチェーン構成ステップと、
前記スキャンチェーンの中を前記複数のＣＰＵコアに対応したエラー保持用ラッチ群に分け、前記複数のＣＰＵコアの内の縮退したＣＰＵコアに対応したエラー保持用ラッチ群のラッチ内容をマスクさせるマスクステップと、
エラー発生時に前記スキャンチェーンをスキャンアウトさせてエラー情報を収集するエラー情報収集ステップと、
を備えたことを特徴とするプロセッサのエラー解析方法。（８）
【０１００】
（付記９）
付記８記載のプロセッサのエラー解析方法に於いて、前記エラー情報収集ステップは、命令レジスタによる前記スキャンチェーンの指定に基づきエラー情報をスキャンアウトさせることを特徴とするプロセッサのエラー解析方法。
【０１０１】
（付記１０）
付記８記載のプロセッサのエラー解析方法に於いて、
前記チップ上に更に２次キャッシュを形成し、
前記スキャンチェーン構成ステップは、前記複数のＣＰＵコア及び２次キャッシュに内蔵された複数のエラー保持用ラッチを、エラー解析時に一本のスキャンチェーンに接続構成し、
前記マスクステップは、前記スキャンチェーンの中の前記複数のＣＰＵコア及び２次キャッシュに対応したエラー保持用ラッチ群毎に、前記複数のＣＰＵコア又は前記２次キャッシュの内の縮退した部分に対応したエラー保持用ラッチ群のラッチ内容をマスクさせることを特徴とするプロセッサのエラー解析方法。（９）
【０１０２】
（付記１１）
付記８記載のプロセッサのエラー解析方法に於いて、
前記スキャンチェーン構成ステップは、前記複数のＣＰＵコアに内蔵された複数のエラー保持用ラッチを、エラー情報収集時にエラーレベル毎に分けて一本のスキャンチェーンに接続構成し、
前記マスクステップは、前記エラーレベルに分けて接続構成したスキャンチェーンの中の前記複数のＣＰＵコアに対応したエラー保持用ラッチ群毎に、前記複数のＣＰＵコアの内の縮退したＣＰＵコアに対応した各エラーレベルのエラー保持用ラッチ群のラッチ内容をマスクさせることを特徴とするプロセッサのエラー解析方法。
【０１０３】
（付記１２）
付記８記載のプロセッサのエラー解析方法に於いて、前記複数のエラー保持用ラッチを高レベルエラーと低レベルエラーとに分け、２つのエラーレベル毎に前記スキャンチェーン構成ステップ、前記マスクステップ及び前記エラー情報収集ステップを行うことを特徴とするプロセッサのエラー解析方法。
【０１０４】
（付記１３）
付記８記載のプロセッサの解析方法に於いて、前記エラー保持用ラッチは、データ入力端子、リセット入力端子、クロック端子、データ出力端子、シフト入力端子、シフト出力端子及びシフトクロック端子を備え、
前記マスクステップは、コア切り離し信号の入力により前記クロック端子に対するクロック入力を禁止すると共に前記リセット端子にリセット信号を固定入力してラッチ内容をマスクすることを特徴とするプロセッサの解析方法。
【０１０５】
（付記１４）
付記８記載のプロセッサのエラー解析方法に於いて、前記エラー保持用ラッチは、データ入力端子、リセット入力端子、クロック端子、データ出力端子、シフト入力端子、シフト出力端子及びシフトクロック端子を備え、
前記マスクステップは、コア切り離し信号の入力により前記データ入力端子に対するデータ入力を禁止してラッチ内容をマスクすることを特徴とするプロセッサのエラー解析方法。
【０１０６】
（付記１５）
１つのチップ上に複数のＣＰＵコアを形成したプロセッサに設けたテストアクセス回路のコンピュータに、
前記複数のＣＰＵコアに内蔵された複数のエラー保持用ラッチを一本のスキャンチェーンに接続構成するスキャンチェーン構成ステップと、
前記スキャンチェーンの中を前記複数のＣＰＵコアに対応したエラー保持用ラッチ群に分け、前記複数のＣＰＵコアの内の縮退したＣＰＵコアに対応したエラー保持用ラッチ群のラッチ内容をマスクさせるマスクステップと、
エラー発生時に前記スキャンチェーンをスキャンアウトさせてエラー情報を収集するエラー情報収集ステップと、
を実行させることを特徴とするプログラム。（１０）
【０１０７】
（付記１６）
付記１５記載のプログラムに於いて、前記エラー情報収集ステップは、エラー情報収集用の命令レジスタによる前記スキャンチェーンの指定に基づきエラー情報をスキャンアウトさせることを特徴とするプログラム。
【０１０８】
（付記１７）
付記１５記載のプログラムに於いて、
前記チップ上に更に２次キャッシュを形成し、
前記スキャンチェーン構成ステップは、前記複数のＣＰＵコア及び２次キャッシュに内蔵された複数のエラー保持用ラッチを、エラー解析時に一本のスキャンチェーンに接続構成し、
前記マスクステップは、前記スキャンチェーンの中の前記複数のＣＰＵコア及び２次キャッシュに対応したエラー保持用ラッチ群毎に、前記複数のＣＰＵコア又は前記２次キャッシュの内の縮退した部分に対応したエラー保持用ラッチ群のラッチ内容をマスクさせることを特徴とするプログラム。
【０１０９】
（付記１８）
付記１５記載のプログラムに於いて、
前記スキャンチェーン構成ステップは、前記複数のＣＰＵコアに内蔵された複数のエラー保持用ラッチを、エラーレベル毎に分けて一本のスキャンチェーンに接続構成し、
前記マスクステップは、前記エラーレベルに分けて接続構成したスキャンチェーンの中の前記複数のＣＰＵコアに対応したエラー保持用ラッチ群毎に、前記複数のＣＰＵコアの内の縮退したＣＰＵコアに対応した各エラーレベルのエラー保持用ラッチ群のラッチ内容をマスクさせることを特徴とするプログラム。
【０１１０】
（付記１９）
付記１５記載のプログラムに於いて、前記複数のエラー保持用ラッチを高レベルエラーと低レベルエラーとに分け、２つのエラーレベル毎に前記スキャンチェーン構成ステップ、前記マスクステップ及び前記エラー情報収集ステップを実行させることを特徴とするプログラム。
【０１１１】
（付記２０）
付記１５記載のプログラムに於いて、
前記エラー保持用ラッチは、データ入力端子、リセット入力端子、クロック端子、データ出力端子、シフト入力端子、シフト出力端子及びシフトクロック端子を備え、
前記マスクステップは、コア切り離し信号の入力により前記クロック端子に対するクロック入力を禁止すると共に前記リセット端子にリセット信号を固定入力してラッチ内容をマスクさせることを特徴とするプログラム。
【０１１２】
（付記２１）
付記１５記載のプログラムに於いて、
前記エラー保持用ラッチは、データ入力端子、リセット入力端子、クロック端子、データ出力端子、シフト入力端子、シフト出力端子及びシフトクロック端子を備え、
前記マスクステップは、コア切り離し信号の入力により前記データ入力端子に対するデータ入力を禁止してラッチ内容をマスクさせることを特徴とするプログラム。
【図面の簡単な説明】
【０１１３】
【図１】本発明の原理説明図
【図２】本発明のプロセッサを実装したＬＳＩチップの実施形態をホストと共に示した説明図
【図３】図２の内部回路を対象としたエラー収集用スキャンチェーンの回路ブロック図
【図４】図２の内部回路におけるエラー保持用ラッチの説明図
【図５】図２のＣＰＵに設けているレジスタファイルの説明図
【図６】通常使用時におけるレジスタファイルの説明図
【図７】テスト時におけるスキャンチェーンの構成とスキャンアウトの説明図
【図８】図３のエラー収集用スキャンチェーンに用いるエラー保持用ラッチとシフト回路の実施形態の回路ブロック図
【図９】図３のエラー収集用スキャンチェーンに用いるエラー保持用レジスタとシフト回路の他の実施形態の回路ブロック図
【図１０】図２のホストによるエラー情報収集処理のフローチャート
【図１１】図２の２つのＣＰＵに対応してエラー収集用スキャンチェーンを構成した実施形態の回路ブロック図
【図１２】図２のエラーレベルに分けてＣＰＵのエラー収集用スキャンチェーンを構成した実施形態の回路ブロック図
【図１３】単一のＣＰＵコアを実装した従来のプロセッサの説明図
【図１４】２台のＣＰＵコアを実装した従来のチップマルチプロセッサの説明図
【図１５】図１３のプロセッサを対象とした従来のエラー収集用スキャンチェーンの回路ブロック図
【符号の説明】
【０１１４】
１０：ＬＳＩチップ
１１−１〜１１−８：ピン
１２：内部回路
１４−１、１４−２：ＣＰＵコア
１６： ２次キャッシュ
１８：バウンダリスキャンレジスタ
１８−１〜１８−８：ラッチ
２０：命令レジスタ
２２：バイパスレジスタ
２４：テストアクセスポートコントローラ（ＴＡＰＣ）
２５：テストデータ入力ピン（ＴＤＩ）
２６：テストデータ出力ピン（ＴＤＯ）
２８：テストモードセレクトピン（ＴＭＳ）
３０：テストクロックピン（ＴＣＫ）
３２：テストリセットピン（ＴＲＳＴ）
３４：ホスト
３６：テスト処理部
３８：エラー情報収集部
４０：エラー情報解析部
４２：エラー解析用データベース
４４−１〜４４−３：一般制御用スキャンチェーン
４６：一般制御用ラッチ
４８：エラー収集用スキャンチェーン
４８−１：高レベルエラー収集用スキャンチェーン
４８−２：低レベルエラー収集用スキャンチェーン
５０，５０−１〜５０−ｎ、５０−１１〜５０−１ｎ、５０−２１〜５０−２ｎ、５２，５２−１〜５２−ｎ、５２−１１〜５２−１ｎ、５２−２１〜５２−２ｎ、５４−１〜５４−ｎ、５４−１１〜５４−１ｎ、５４−２１〜５４−２ｎ：エラー保持用ラッチ
５６−１、５６−２、５６−１１、５６−１２、５６−２１、５６−２２：ＣＰＵラッチ群
５６−３：２次キャッシュラッチ群
５８−１〜５８−３，８２、８６：マスク回路
６０−１〜６０−３：一般回路
６２：レジスタファイル
６４：メモリ素子（データ保持用ラッチ）
６６：メモリアレイ
６８：ライトアドレスデコーダ回路
７６：リードアドレスデコーダ回路
７８：セレクト回路
８４、８８：ＡＮＤゲート
８５：ＯＲゲート
【図１】
2006153538.tif 000003
【図２】
2006153538.tif 000004
【図３】
2006153538.tif 000005
【図４】
2006153538.tif 000006
【図５】
2006153538.tif 000007
【図６】
2006153538.tif 000008
【図７】
2006153538.tif 000009
【図８】
2006153538.tif 000010
【図９】
2006153538.tif 000011
【図１０】
2006153538.tif 000012
【図１１】
2006153538.tif 000013
【図１２】
2006153538.tif 000014
【図１３】
2006153538.tif 000015
【図１４】
2006153538.tif 000016
【図１５】
2006153538.tif 000017