(57)【要約】【課題】  マルチコアを有するＣＭＰ等のプロセサにおけるプロセサコアに対する設定値のロード／センス制御を効率良く行うこと。【解決手段】  本発明は、マルチコア構成を有するＣＭＰ等のプロセサにおいて、各コアの状態を保持するコア選択フラグレジスタを具備し、そのコア選択フラグレジスタの状態によりプロセサ共有ブロックからコアブロックへの出力を制御し、柔軟なコアの設定方法を提供することにより、マルチコア動作時のシステムブート時間の短縮、柔軟なデバッグ方法、または、半導体製造時の部分コア良品チップの救済による歩留まりの向上を実現することを目的とする。【選択図】図１０
2006003949.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部を含む論理ブロック手段を有するプロセサにおいて、
前記第１乃至第ｎの実行処理部の設定レジスタ手段に対する設定情報を保持するデータレジスタ手段と、
前記第１乃至第ｎの実行処理部の設定レジスタ手段への、前記データレジスタ手段が保持する設定情報のロード制御を行うロード制御手段と、
前記第１乃至第ｎの実行処理部の選択情報を保持するコア選択フラグレジスタ手段と、
前記コア選択フラグレジスタ手段の値により、前記ロード制御手段から前記第１乃至第ｎの実行処理部の設定レジスタ手段へのロード制御信号を遮断する手段とを有することを特徴とするプロセサ。
【請求項２】
それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部を含む論理ブロック手段を有するプロセサにおいて、
前記第１乃至第ｎの実行処理部の設定レジスタ手段からセンスする設定情報を保持するデータレジスタ手段と、
前記第１乃至第ｎの実行処理部の設定レジスタ手段から、前記設定レジスタ手段が保持する設定情報のセンス制御を行うセンス制御手段と、
前記第１乃至第ｎの実行処理部の選択情報を保持するコア選択フラグレジスタ手段と、
前記コア選択フラグレジスタ手段の値により、前記センス制御手段から前記第１乃至第ｎの実行処理部の設定レジスタ手段へのセンス制御信号を遮断する手段とを有することを特徴とするプロセサ。
【請求項３】
それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部を含む論理ブロック手段を有するプロセサにおいて、
前記第１乃至第ｎの実行処理部の設定レジスタ手段に対する設定情報を保持するデータレジスタ手段と、
前記第１乃至第ｎの実行処理部の設定レジスタ手段への、前記データレジスタ手段が保持する設定情報のロード制御を行うロード制御手段と、
前記第１乃至第ｎの実行処理部の選択情報を設定するコア選択ヒューズ手段と、
前記コア選択ヒューズ手段の値により、前記ロード制御手段から前記第１乃至第ｎの実行処理部の設定レジスタ手段へのロード制御信号を遮断する手段とを有することを特徴とするプロセサ。
【請求項４】
それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部を含む論理ブロック手段を有するプロセサにおいて、
前記第１乃至第ｎの実行処理部の設定レジスタ手段からセンスする設定情報を保持するデータレジスタ手段と、
前記第１乃至第ｎの実行処理部の設定レジスタ手段から、前記設定レジスタ手段が保持する設定情報のセンス制御を行うセンス制御手段と、
前記第１乃至第ｎの実行処理部の選択情報を設定するコア選択ヒューズ手段と、
前記コア選択ヒューズ手段の値により、前記センス制御手段から前記第１乃至第ｎの実行処理部の設定レジスタ手段へのセンス制御信号を遮断する手段とを有することを特徴とするプロセサ。
【請求項５】
前記プロセサにおいて、
前記コア選択ヒューズ手段の出力に接続され、スキャン制御を行うＴＡＰコントローラにより新規のコア選択情報がスキャン設定されることにより、前記コア選択ヒューズ手段の内容を上書きするヒューズ上書きスキャンラッチ手段と、
前記コア選択ヒューズ手段の出力及び前記ヒューズ上書きスキャンラッチ手段の出力を入力とするセレクタ手段とを有することを特徴とする請求項３又は４に記載のプロセサ。
【請求項６】
それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部を含む論理ブロック手段を有するプロセサの制御方法において、
コア選択フラグレジスタ手段にコア選択情報の設定を行うことにより、前記第１乃至第ｎの実行処理部のうち、１乃至複数の実行処理部を選択するステップと、
データレジスタに、前記選択された任意の実行処理部への設定情報を設定するステップと、
前記データレジスタに、設定された設定情報を、前記選択された任意の実行処理部の設定レジスタへロードするステップとを有することを特徴とするプロセサの制御方法。
【請求項７】
それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部を含む論理ブロック手段を有するプロセサの制御方法において、
コア選択フラグレジスタ手段にコア選択情報の設定を行うことにより、前記第１乃至第ｎのプロセサコアのうち、１つの実行処理部を選択するステップと、
データレジスタに、前記選択された１つの実行処理部から設定情報をセンスするステップとを有することを特徴とするプロセサの制御方法。
【請求項８】
それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部を含む論理ブロック手段を有するプロセサの制御方法において、
コア選択ヒューズ手段の切断を行うことによりコア選択情報の設定を行い、前記第１乃至第ｎの実行処理部のうち、１乃至複数の実行処理部を選択するステップと、
データレジスタに、前記選択された任意の実行処理部への設定情報を設定するステップと、
前記データレジスタに設定された設定情報を、前記選択された任意の実行処理部の設定レジスタへロードするステップとを有することを特徴とするプロセサの制御方法。
【請求項９】
それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部を含む論理ブロック手段を有するプロセサの制御方法において、
コア選択ヒューズ手段の切断を行うことによりコア選択情報の設定を行い、前記第１乃至第ｎのプロセサコアのうち、１つの実行処理部を選択するステップと、
データレジスタに、前記選択された１つの実行処理部から設定情報をセンスするステップとを有することを特徴とするプロセサの制御方法。
【請求項１０】
前記プロセサの制御方法において、
コア選択ヒューズ手段の切断を行うことによりコア選択情報の設定を行い、前記第１乃至第ｎのプロセサコアのうち、１つの実行処理部を選択するステップの後に、
スキャン制御を行うＴＡＰコントローラにより、前記コア選択ヒューズ手段の出力に接続されたヒューズ上書きスキャンラッチ手段に、新規のコア選択情報がスキャン設定されることにより、前記コア選択ヒューズ手段の内容を上書きするステップを有することを特徴とする請求項８又は９に記載のプロセサの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の実行処理部(以下、単に「コア」若しくは「ＣＯＲＥ」という)を有するＣＰＵ(Central Processing Unit:中央演算処理装置)、ＭＰＵ(Micro Processing Unit:マイクロプロセサ)、ＤＳＰ(Digital Signal Processor:デジタル信号プロセサ)、ＧＰＵ(Graphics Processing Unit:グラフィクスプロセサ、若しくは、画像処理ＬＳＩ、若しくは、ジオメトリ・エンジン)等のプロセサ及び当該プロセサの制御方法に関するものである。
【背景技術】
【０００２】
従来、企業の基幹業務処理など特に高い処理能力を要求されるサーバ等のコンピュータシステムは、クラスタ構成による疎結合、または、ＳＭＰ(Symmetrical Multi-Processor:対称型マルチプロセサ)構成による密結合などの構成をとることにより、複数のプロセサを接続して処理能力の向上を図っていた。
【０００３】
しかし、クラスタ構成による疎結合においては、サーバノード間の通信オーバヘッドが問題となり、ＳＭＰによる蜜結合ではサーバハードウェアの複雑さが問題となり、いずれの場合においても、従来のアーキテクチャでは単一コンピュータシステムにおける性能向上に限界があった。
【０００４】
そこで、ハイエンドプロセサの分野では、１つのプロセサ内に複数のコアを実装するマルチコア構成を採用することにより、性能向上を図ることが可能なＣＭＰ(Chip Multi-Processor:チップマルチプロセサ)等のマルチコア・プロセサが現在主流になりつつある。
【０００５】
しかし、ＣＭＰ等のマルチコア構成の場合、コア数増加による処理性能の向上と引き換えに、複数のコアを実装することによる制御の複雑化、ダイサイズの増大による半導体製造時の歩留まり低下等の問題が発生していた。特にダイサイズの増大による半導体製造時の歩留まり低下は、マルチコアを有するＣＭＰ等のマルチコア・プロセサにとって重要問題である。
【０００６】
図１に従来のシングルコア・プロセサの基本ハードウェア構成を示す。
【０００７】
プロセサ１０１は、ローカルインタコネクト・インタフェース１１１、２次共有キャッシュ１１１から構成される共有ブロック１０２と、１次命令キャッシュ１１２、１次データキャッシュ１１３、命令分岐ユニット１１４、命令発行ユニット１１５、ロードストアユニット１１６、汎用レジスタファイル１１７、整数演算ユニット１１８、整数演算用ユニット１１９、浮動小数点レジスタファイル１２０、浮動小数点演算ユニット１２１、浮動小数点演算完了ユニット１２２から構成されるコアブロック１０３とから構成される。プロセサ１０１はローカルインタコネクト・インタフェース１１０により、他のプロセサおよびメインメモリと接続され、メインメモリからインストラクションおよびデータが供給される。
【０００８】
ローカルインタコネクト・インタフェース１１０から供給されたインストラクションは、２次共有キャッシュ１１１、１次命令キャッシュ１１２、命令分岐ユニット１１４を介して汎用レジスタファイル１１７若しくは浮動小数点レジスタファイル１２０に供給され、整数演算ユニット１１８若しくは浮動小数点演算ユニット１２０にインストラクションを与える。
【０００９】
ローカルインタコネクト・インタフェース１１０から供給されたデータは、２次共有キャッシュ１１１、１次データキャッシュ１１３、ロードストアユニット１１６を介して、汎用レジスタファイル１１７若しくは浮動小数点レジスタファイル１２０に供給されることにより、整数演算ユニット１１８若しくは浮動小数点演算ユニット１２１にデータを与える。
【００１０】
前記整数演算ユニット１１８における演算の対象となるデータおよび整数演算ユニット１１８における演算結果は、整数演算完了ユニット１１９により、汎用レジスタファイル１１７に書き戻され、保持される。浮動小数点演算ユニット１２０における演算の対象となるデータおよび浮動小数点演算ユニット１２０における演算結果は、浮動小数点演算完了ユニット１２２により、浮動小数点レジスタファイル１２１に書き戻され、保持される。
【００１１】
したがって、サーバ等のコンピュータシステムの処理性能を向上させるためには、コンピュータシステム内に含まれる演算部の数を増やす方法がある。
【００１２】
また、図２に従来の対称型マルチプロセサを使用したサーバ構成を示す。プロセサ２０１は、単一のＣＯＲＥブロック２１１及び２次キャッシュブロック２１２から構成される。
また、サーバシステムは、プロセサ・ローカルインタコネクトにより接続される前記複数のプロセサ２０１、プロセサ・ローカルインタコネクト・アービタ２０２及びＩＥＥＥ１１４９。１で規定されるＪＴＡＧインタフェースにより接続されるサービスプロセサ２０３、さらに、システムバックプレーン・クロスバにより接続されるシステムバックプレーン・クロスバ・コントローラ２０６により構成される。プロセサ・ローカルインタコネクト・アービタ２０２は、プロセサ・ローカルインタコネクトに接続される各プロセサ間の調停制御を行う。また、システムバックプレーン・クロスバ・コントローラ２０６は、システムバックプレーン・クロスバに接続される各システムボード間のインタフェース制御を行う。
【００１３】
前記複数のプロセサ２０１内のＣＯＲＥブロック２１１に対しては、サービスプロセサ・プログラム２０４及びサービスプロセサ・ターミナル２０５により、サービスプロセサ２０３を制御することにより、ＪＴＡＧインタフェースを介してスキャンを行うことにより、各ＣＰＵ内部のレジスタやスキャンＦＦ等の設定がなされる。
【００１４】
次に、図３にマルチコア・プロセサの適用の一例として、コアを２つ有する２ＣＭＰのマルチコア・プロセサを使用したサーバシステムの構成を示す。プロセサ３０１は、ＣＯＲＥ−０ブロック３１１、ＣＯＲＥ−１ブロック３１２、ＣＭＰ共有ブロック３１０から構成される。また、サーバシステムは、プロセサ・ローカルインタコネクトにより接続される前記複数のプロセサ３０１及びプロセサ・ローカルインタコネクト・アービタ２０２並びにＪＴＡＧインタフェースにより接続されるサービスプロセサ２０３、さらに、システムバックプレーン・クロスバにより接続されるシステムバックプレーン・クロスバ・コントローラ２０６により構成される。前記複数のプロセサ３０１内のＣＯＲＥ−０ブロック３１１及びＣＯＲＥ−１ブロック３１２に対しては、サービスプロセサ・プログラム２０４及びサービスプロセサ・ターミナル２０５により、サービスプロセサ２０３を制御することにより、ＪＴＡＧインタフェースを介してスキャンを行うことにより、各ＣＰＵ内部のレジスタやスキャンＦＦ等の設定がなされる。
【００１５】
また、図４にマルチコア・プロセサの従来構成その１を示す。プロセサ４０１は、ＣＯＲＥ−０ブロック４１１、ＣＯＲＥ−１ブロック４１２、ＣＭＰ共有ブロック４１０から構成される２コアのマルチコア・プロセサである。また、ＪＴＡＧ制御部は、ＣＭＰ共有ブロック側にそれぞれ、ＴＡＰコントローラ４１３、デコーダ４１５、ロードコントローラ４１６、ロードレジスタ４１７、ＣＯＲＥ−０ブロック側にそれぞれ、ＣＯＲＥ−０レジスタコントローラ４１８、ＣＯＲＥ−０セットアップレジスタ４１９、ＣＯＲＥ−１ブロック側にそれぞれ、ＣＯＲＥ−１レジスタコントローラ４２０、ＣＯＲＥ−１セットアップレジスタ４２１を含む。
【００１６】
ＴＡＰコントローラ４１３は、ロードレジスタ４１７に対してスキャン制御により、コアに対するロードデータ（ｓｃａｎ  ｄａｔａ）の設定を行う。そして、ＴＡＰコントローラ４１３から発行されたＪＴＡＧコマンド４１４は、デコーダ４１５でデコードされ、そのデコード結果により、ロードコントローラ４１６はロードレジスタ４１７にスキャン設定されたロードデータ（ｌｏａｄ  ｄａｔａ）をロード制御信号（ｌｏａｄ  ｖａｌｉｄ）を用いて、ＣＯＲＥ−０レジスタコントローラ４１８及びＣＯＲＥ−１レジスタコントローラ４１９を制御することにより、ＣＯＲＥ−０セットアップレジスタ４１９、および、ＣＯＲＥ−１セットアップレジスタ４２０に対して、同一のロードデータ（ｌｏａｄ  ｄａｔａ）の設定を同時に行う。
【００１７】
本従来構成その１では、ＣＯＲＥ−０セットアップレジスタ４１９およびＣＯＲＥ−１セットアップレジスタ４２０に対して、同一のロードデータしか設定できないため、コア毎の個別設定ができないという問題があった。
【００１８】
次に、図５にマルチコア・プロセサの従来構成その２を示す。プロセサ５０１は、ＣＯＲＥ−０ブロック４１１、ＣＯＲＥ−１ブロック４１２、ＣＭＰ共有ブロック４１０から構成される２コアのマルチコア・プロセサである。また、ＪＴＡＧ制御部は、ＣＭＰ共有ブロック側にそれぞれ、ＴＡＰコントローラ４１３、ＣＯＲＥ−０用デコーダ５１５、ＣＯＲＥ−０用ロードコントローラ５１６、ＣＯＲＥ−０用ロードレジスタ５１７、ＣＯＲＥ−１用デコーダ５１９、ＣＯＲＥ−１用ロードコントローラ５２０、ＣＯＲＥ−１用ロードレジスタ５２１、ＣＯＲＥ−０ブロック側にそれぞれ、ＣＯＲＥ−０レジスタコントローラ４１８、ＣＯＲＥ−０セットアップレジスタ４１９、ＣＯＲＥ−１ブロック側にそれぞれ、ＣＯＲＥ−１レジスタコントローラ４２０、ＣＯＲＥ−１セットアップレジスタ４２１を含む。
【００１９】
ＴＡＰコントローラ４１３は、ＣＯＲＥ−０用ロードレジスタ５１７及びＣＯＲＥ−１用ロードレジスタに対してスキャン制御により、コアに対するロードデータ（ｌｏａｄ  ｄａｔａ）の設定を行う。
【００２０】
まず、ＴＡＰコントローラ４１３から発行されたＪＴＡＧコマンド−０  ５１４は、ＣＯＲＥ−０用デコーダ５１５でデコードされ、そのデコード結果により、ＣＯＲＥ−０用ロードコントローラ５１６はＣＯＲＥ−０用ロードレジスタ５１７にスキャン設定されたロードデータ（ｌｏａｄ  ｄａｔａ）をロード制御信号（ｌｏａｄ  ｖａｌｉｄ）信号を用いて、ＣＯＲＥ−０レジスタコントローラ４１８を制御することにより、ＣＯＲＥ−０セットアップレジスタ４１９に対して、前記ロードデータ（ｌｏａｄ  ｄａｔａ）の設定を行う。
【００２１】
次に、ＴＡＰコントローラ４１３から発行されたＪＴＡＧコマンド−１  ５１８は、ＣＯＲＥ−１用デコーダ５１９でデコードされ、そのデコード結果により、ＣＯＲＥ−１用ロードコントローラ５２０はＣＯＲＥ−１用ロードレジスタ５２１にスキャン設定されたロードデータ（ｌｏａｄ  ｄａｔａ）をロード制御信号（ｌｏａｄ  ｖａｌｉｄ）信号を用いて、ＣＯＲＥ−１レジスタコントローラ４２０を制御することにより、ＣＯＲＥ−１セットアップレジスタ４２１に対して、前記ロードデータ（ｌｏａｄ  ｄａｔａ）の設定を行う。
【００２２】
本従来構成その２では、ＣＯＲＥ−０用デコーダ５１５、ＣＯＲＥ−０用ロードコントローラ５１６、ＣＯＲＥ−０用ロードレジスタ５１７、ＣＯＲＥ−１用デコーダ５１９、ＣＯＲＥ−１用ロードコントローラ５２０、ＣＯＲＥ−１用ロードレジスタ５２１のように、コア制御用のハードウェアをコアの数だけ持たなければならない。そのため、今後主流となりうる大規模マルチコア・プロセサに対しては、マルチコア制御論理が大規模になることにより、適用が難しいという問題があった。
【００２３】
また、図６にマルチコア・プロセサの従来構成その３を示す。プロセサ６０１は、ＣＯＲＥ−０ブロック４１１、ＣＯＲＥ−１ブロック４１２、ＣＭＰ共有ブロック４１０から構成される２コアのマルチコア・プロセサである。また、ＪＴＡＧ制御部は、ＣＭＰ共有ブロック側にそれぞれ、ＴＡＰコントローラ４１３、デコーダ６１６、ロードコントローラ６１７、ロードレジスタ６１８、ＣＯＲＥ−０ブロック側にそれぞれ、ＣＯＲＥ−０レジスタコントローラ４１８、ＣＯＲＥ−０セットアップレジスタ４１９、ＣＯＲＥ−１ブロック側にそれぞれ、ＣＯＲＥ−１レジスタコントローラ４２０、ＣＯＲＥ−１セットアップレジスタ４２１を含む。
【００２４】
まず、ＴＡＰコントローラ４１３は、ロードレジスタ６１８に対してスキャン制御により、ＣＯＲＥ−０に対するロードデータ（ｌｏａｄ  ｄａｔａ）の設定を行う。ＴＡＰコントローラ４１３から発行されたＪＴＡＧコマンド−０  ６１４は、デコーダ６１６でデコードされ、そのデコード結果により、ロードコントローラ６１７はロードレジスタ６１８にスキャン設定されたロードデータ（ｌｏａｄ  ｄａｔａ）をＣＯＲＥ−０用ロード制御信号（ｌｏａｄ  ｖａｌｉｄ−０）信号を用いて、ＣＯＲＥ−０レジスタコントローラ４１８を制御することにより、ＣＯＲＥ−０セットアップレジスタ４１９に対して、前記ロードデータ（ｌｏａｄ  ｄａｔａ）の設定を行う。
【００２５】
次に、ＴＡＰコントローラ４１３は、ロードレジスタ６１８に対してスキャン制御により、ＣＯＲＥ−１に対するロードデータ（ｌｏａｄ  ｄａｔａ）の設定を行う。ＴＡＰコントローラ４１３から発行されたＪＴＡＧコマンド−１  ６１５は、デコーダ６１６でデコードされ、そのデコード結果により、ロードコントローラ６１７はロードレジスタ６１８にスキャン設定されたロードデータ（ｌｏａｄ  ｄａｔａ）をＣＯＲＥ−１用ロード制御信号（ｌｏａｄ  ｖａｌｉｄ−１）信号を用いて、ＣＯＲＥ−１レジスタコントローラ４２０を制御することにより、ＣＯＲＥ−１セットアップレジスタ４２１に対して、前記ロードデータ（ｌｏａｄ  ｄａｔａ）の設定を行う。
【００２６】
本従来構成その３では、ＪＴＡＧコマンド−０  ６１４およびＪＴＡＧコマンド−１  ６１５のように、コアの数だけＪＴＡＧコマンドを用意しなければならない。そのため、今後主流となりうる大規模マルチコア・プロセサに対しては、デコード論理が大規模になってしまうため、適用が難しいという問題があった。
【００２７】
他にもチップマルチプロセサの特許文献としては、以下のようなものがある。
【特許文献１】特開２００１−５１９５７号公報
【発明の開示】
【発明が解決しようとする課題】
【００２８】
以上で述べたように従来の技術では、ＣＭＰ等によるマルチコア構成のプロセサにおいては、複数のコアに対する制御の複雑化、および、ダイサイズの増大による歩留まり低下が問題となっていた。
【００２９】
本発明は、マルチコア構成を有するＣＭＰ等のプロセサにおいて、各コアの状態を保持するコア選択フラグレジスタを具備し、そのコア選択フラグレジスタの状態によりプロセサ共有ブロックからコアブロックへの出力を制御し、柔軟なコアの設定方法を提供することにより、マルチコア動作時のシステムブート時間の短縮、柔軟なデバッグ方法、または、半導体製造時の部分コア良品チップの救済による歩留まりの向上を実現することを目的とする。
【課題を解決するための手段】
【００３０】
上記課題を解決するために本発明は、それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部を含む論理ブロック手段を有するプロセサにおいて、
前記第１乃至第ｎの実行処理部の設定レジスタ手段に対する設定情報を保持するデータレジスタ手段と、
前記第１乃至第ｎの実行処理部の設定レジスタ手段への、前記データレジスタ手段が保持する設定情報のロード制御を行うロード制御手段と、
前記第１乃至第ｎの実行処理部の選択情報を保持するコア選択フラグレジスタ手段と、
前記コア選択フラグレジスタ手段の値により、前記ロード制御手段から前記第１乃至第ｎの実行処理部の設定レジスタ手段へのロード制御信号を遮断する手段とを有することを特徴とする。
【００３１】
また、本発明は、それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部を含む論理ブロック手段を有するプロセサにおいて、
前記第１乃至第ｎの実行処理部の設定レジスタ手段からセンスする設定情報を保持するデータレジスタ手段と、
前記第１乃至第ｎの実行処理部の設定レジスタ手段から、前記設定レジスタ手段が保持する設定情報のセンス制御を行うセンス制御手段と、
前記第１乃至第ｎの実行処理部の選択情報を保持するコア選択フラグレジスタ手段と、
前記コア選択フラグレジスタ手段の値により、前記センス制御手段から前記第１乃至第ｎの実行処理部の設定レジスタ手段へのセンス制御信号を遮断する手段とを有することを特徴とする。
【００３２】
また、本発明は、それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部を含む論理ブロック手段を有するプロセサにおいて、
前記第１乃至第ｎの実行処理部の設定レジスタ手段に対する設定情報を保持するデータレジスタ手段と、
前記第１乃至第ｎの実行処理部の設定レジスタ手段への、前記データレジスタ手段が保持する設定情報のロード制御を行うロード制御手段と、
前記第１乃至第ｎの実行処理部の選択情報を設定するコア選択ヒューズ手段と、
前記コア選択ヒューズ手段の値により、前記ロード制御手段から前記第１乃至第ｎの実行処理部の設定レジスタ手段へのロード制御信号を遮断する手段とを有することを特徴とする。
【００３３】
また、本発明は、それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部を含む論理ブロック手段を有するプロセサにおいて、
前記第１乃至第ｎの実行処理部の設定レジスタ手段からセンスする設定情報を保持するデータレジスタ手段と、
前記第１乃至第ｎの実行処理部の設定レジスタ手段から、前記設定レジスタ手段が保持する設定情報のセンス制御を行うセンス制御手段と、
前記第１乃至第ｎの実行処理部の選択情報を設定するコア選択ヒューズ手段と、
前記コア選択ヒューズ手段の値により、前記センス制御手段から前記第１乃至第ｎの実行処理部の設定レジスタ手段へのセンス制御信号を遮断する手段とを有することを特徴とする。
【００３４】
また、本発明は、前記プロセサにおいて、
前記コア選択ヒューズ手段の出力に接続され、スキャン制御を行うＴＡＰコントローラにより新規のコア選択情報がスキャン設定されることにより、前記コア選択ヒューズ手段の内容を上書きするヒューズ上書きスキャンラッチ手段と、
前記コア選択ヒューズ手段の出力及び前記ヒューズ上書きスキャンラッチ手段の出力を入力とするセレクタ手段とを有することを特徴とする。
【００３５】
また、本発明は、それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部を含む論理ブロック手段を有するプロセサの制御方法において、
コア選択フラグレジスタ手段にコア選択情報の設定を行うことにより、前記第１乃至第ｎの実行処理部のうち、１乃至複数の実行処理部を選択するステップと、
データレジスタに、前記選択された任意の実行処理部への設定情報を設定するステップと、
前記データレジスタに、設定された設定情報を、前記選択された任意の実行処理部の設定レジスタへロードするステップとを有することを特徴とする。
それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部を含む論理ブロック手段を有するプロセサの制御方法において、
コア選択フラグレジスタ手段にコア選択情報の設定を行うことにより、前記第１乃至第ｎのプロセサコアのうち、１つの実行処理部を選択するステップと、
データレジスタに、前記選択された１つの実行処理部から設定情報をセンスするステップとを有することを特徴とする。
また、本発明は、それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部を含む論理ブロック手段を有するプロセサの制御方法において、
コア選択ヒューズ手段の切断を行うことによりコア選択情報の設定を行い、前記第１乃至第ｎの実行処理部のうち、１乃至複数の実行処理部を選択するステップと、
データレジスタに、前記選択された任意の実行処理部への設定情報を設定するステップと、
前記データレジスタに設定された設定情報を、前記選択された任意の実行処理部の設定レジスタへロードするステップとを有することを特徴とする。
また、本発明は、それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部を含む論理ブロック手段を有するプロセサの制御方法において、
コア選択ヒューズ手段の切断を行うことによりコア選択情報の設定を行い、前記第１乃至第ｎのプロセサコアのうち、１つの実行処理部を選択するステップと、
データレジスタに、前記選択された１つの実行処理部から設定情報をセンスするステップとを有することを特徴とする。
また、本発明は、前記プロセサの制御方法において、
コア選択ヒューズ手段の切断を行うことによりコア選択情報の設定を行い、前記第１乃至第ｎのプロセサコアのうち、１つの実行処理部を選択するステップの後に、
スキャン制御を行うＴＡＰコントローラにより、前記コア選択ヒューズ手段の出力に接続されたヒューズ上書きスキャンラッチ手段に、新規のコア選択情報がスキャン設定されることにより、前記コア選択ヒューズ手段の内容を上書きするステップを有することを特徴とする。
【発明の効果】
【００３６】
以上説明したように、本発明によれば、複数のプロセサコアを有するＣＭＰ等のマルチコア・プロセサにおいて、柔軟なコアの設定方法を提供することにより、マルチコア動作時のシステムブート時間の短縮、柔軟なデバッグ方法、または、半導体製造時の部分コア良品チップの救済による歩留まりの向上を実現することができる。
【発明を実施するための最良の形態】
【００３７】
以下、図面を参照しつつ本発明にかかる第１乃至第８の実施の形態について、詳細に説明する。
（第１の実施の形態）
図７は、コア部を２つ有する２ＣＭＰのマルチコア・プロセサにおける本発明の第1の実施の形態を示す図である。
【００３８】
プロセサ７０１は、ＣＯＲＥ−０ブロック４１１、ＣＯＲＥ−１ブロック４１２、ＣＭＰ共有ブロック４１０から構成される２コアのマルチコア・プロセサである。また、ＪＴＡＧ制御部は、ＣＭＰ共有ブロック側にそれぞれ、ＴＡＰコントローラ４１３、ロードコントローラ用デコーダ７１５、ロードコントローラ７１６、ロードレジスタ７１７、フラグコントローラ用デコーダ７１９、フラグコントローラ７２０、ＣＯＲＥ−０フラグレジスタ７２２及びＣＯＲＥ−１フラグレジスタ７２３から構成されるコア選択フラグレジスタ７２１、ＣＯＲＥ−０ＡＮＤ論理ゲート７２４、ＣＯＲＥ−１ＡＮＤ論理ゲート７２５、ＣＯＲＥ−０ブロック側にそれぞれ、ＣＯＲＥ−０レジスタコントローラ４１８、ＣＯＲＥ−０セットアップレジスタ４１９、ＣＯＲＥ−１ブロック側にそれぞれ、ＣＯＲＥ−１レジスタコントローラ４２０、ＣＯＲＥ−１セットアップレジスタ４２１を含む。
【００３９】
まず、ＴＡＰコントローラ４１３から発行されたＪＴＡＧコマンド−０  ７１８は、フラグコントローラ用デコーダ７１９でデコードされ、そのデコード結果により、フラグコントローラ７２０はコア選択フラグレジスタ７２１に対して、ＣＯＲＥ−０フラグレジスタ７２２及びＣＯＲＥ−１フラグレジスタ７２３にデータを設定し、ロードデータ（ｌｏａｄ  ｄａｔａ）を設定する対象となるコアの選択を行う。例えば、ＣＯＲＥ−０のみに設定を行う場合には、ＣＯＲＥ−０フラグレジスタ７２２に“１”を設定し、ＣＯＲＥ−１フラグレジスタ７２３には“０”の設定を行う。つまり、選択対象となるコアのフラグレジスタには“１”を設定し、非選択対象のコアのフラグレジスタには“０”を設定する。
【００４０】
次に、ＴＡＰコントローラ４１３は、ロードレジスタ７１７に対してスキャン制御により、前記選択対象のコアに対するロードデータ（ｌｏａｄ  ｄａｔａ）の設定を行う。そして、ＴＡＰコントローラ４１３から発行されたＪＴＡＧコマンド−１  ７１４は、ロードコントローラ用デコーダ７１５でデコードされ、そのデコード結果により、ロードコントローラ７１６はロード制御信号（ｌｏａｄ  ｖａｌｉｄ）をＣＯＲＥ−０ＡＮＤ論理ゲート７２４及びＣＯＲＥ−１ＡＮＤ論理ゲート７２５に対して出力する。
【００４１】
ここで、前記ＣＯＲＥ−０ＡＮＤ論理ゲート７２４及びＣＯＲＥ−１ＡＮＤ論理ゲート７２５のもう一方の入力はそれぞれ、ＣＯＲＥ−０フラグレジスタ７２２及びＣＯＲＥ−１フラグレジスタ７２３の出力に接続されているため、結果として前記選択対象のコアのみに対してロード制御信号（ｌｏａｄ  ｖａｌｉｄ）の出力がなされる。例えば、それぞれ、ＣＯＲＥ−０フラグレジスタ７２２に“１”、ＣＯＲＥ−１フラグレジスタ７２３に“０”が設定されている場合には、ＣＯＲＥ−０レジスタコントローラ４１８のみに前記ロード制御信号（ｌｏａｄ  ｖａｌｉｄ）が出力され、ＣＯＲＥ−１フラグレジスタ４２０にはＣＯＲＥ−１ＡＮＤ論理ゲート７２５による抑止のため、前記ロード制御信号（ｌｏａｄ  ｖａｌｉｄ）は出力されない。
【００４２】
ＣＯＲＥ−０レジスタコントローラ４１８は、前記ロード制御信号（ｌｏａｄ  ｖａｌｉｄ）を受信すると、ＣＯＲＥ−０セットアップレジスタ４１９に対してロードレジスタ７１７の出力であるロードデータ（ｌｏａｄ  ｄａｔａ）の設定を行う。
【００４３】
以上により、本発明の第1の実施の形態であるコア部を２つ有する２ＣＭＰのマルチコア・プロセサにおいて、ＣＯＲＥ−０のみに対する設定若しくはＣＯＲＥ−１のみに対する設定又はＣＯＲＥ−０／１両方に対する同時設定が可能であることがわかる。
（第２の実施の形態）
図８は、コア部をｎ個（ｎ≧３）有するｎＣＭＰのマルチコア・プロセサにおける本発明の第２の実施の形態を示す図である。
【００４４】
プロセサ８０１は、ＣＯＲＥ−０ブロック８１１、ＣＯＲＥ−１ブロック８１２、・・・、ＣＯＲＥ−ｎブロック８１３、ＣＭＰ共有ブロック４１０から構成されるｎコアのマルチコア・プロセサである。また、ＪＴＡＧ制御部は、ＣＭＰ共有ブロック側にそれぞれ、ＴＡＰコントローラ４１３、ロードコントローラ用デコーダ７１５、ロードコントローラ７１６、ロードレジスタ７１７、フラグコントローラ用デコーダ７１９、フラグコントローラ７２０、ＣＯＲＥ−０フラグレジスタ８２２及びＣＯＲＥ−１フラグレジスタ８２３及び・・・ＣＯＲＥ−ｎフラグレジスタ８２４から構成されるコア選択フラグレジスタ８２１、ＣＯＲＥ−０ＡＮＤ論理ゲート８２５、ＣＯＲＥ−１ＡＮＤ論理ゲート８２６、・・・、ＣＯＲＥ−ｎＡＮＤ論理ゲート８２７、ＣＯＲＥ−０ブロック側にそれぞれ、ＣＯＲＥ−０レジスタコントローラ８１４、ＣＯＲＥ−０セットアップレジスタ８１５、ＣＯＲＥ−１ブロック側にそれぞれ、ＣＯＲＥ−１レジスタコントローラ８１６、ＣＯＲＥ−１セットアップレジスタ８１７、・・・、ＣＯＲＥ−ｎブロック側にそれぞれ、ＣＯＲＥ−ｎレジスタコントローラ８１８、ＣＯＲＥ−ｎセットアップレジスタ８１９を含む。
【００４５】
まず、ＴＡＰコントローラ４１３から発行されたＪＴＡＧコマンド−０  ７１８は、フラグコントローラ用デコーダ７１９でデコードされ、そのデコード結果により、フラグコントローラ７２０はコア選択フラグレジスタ８２１に対して、ＣＯＲＥ−０フラグレジスタ８２２及びＣＯＲＥ−１フラグレジスタ８２３及び・・・ＣＯＲＥ−ｎフラグレジスタ８２４にデータを設定し、ロードデータ（ｌｏａｄ  ｄａｔａ）を設定する対象となるコアの選択を行う。例えば、ＣＯＲＥ−０のみに設定を行う場合には、ＣＯＲＥ−０フラグレジスタ８２２に“１”を設定し、ＣＯＲＥ−１フラグレジスタ８２３、・・・、ＣＯＲＥ−ｎフラグレジスタ８２４には“０”の設定を行う。つまり、選択対象となるコアのフラグレジスタには“１”を設定し、非選択対象のコアのフラグレジスタには“０”を設定する。
【００４６】
次に、ＴＡＰコントローラ４１３は、ロードレジスタ７１７に対してスキャン制御により、前記選択対象のコアに対するロードデータの設定を行う。そして、ＴＡＰコントローラ４１３から発行されたＪＴＡＧコマンド−１  ７１４は、ロードコントローラ用デコーダ７１５でデコードされ、そのデコード結果により、ロードコントローラ７１６はロード制御信号（ｌｏａｄ  ｖａｌｉｄ）をＣＯＲＥ−０ＡＮＤ論理ゲート８２５及びＣＯＲＥ−１ＡＮＤ論理ゲート８２６及び・・・ＣＯＲＥ−ｎＡＮＤ論理ゲート８２７に対して出力する。
【００４７】
ここで、ＣＯＲＥ−０ＡＮＤ論理ゲート８２５及びＣＯＲＥ−１ＡＮＤ論理ゲート８２６及び・・・ＣＯＲＥ−ｎＡＮＤ論理ゲート８２７のもう一方の入力はそれぞれ、ＣＯＲＥ−０フラグレジスタ８２２及びＣＯＲＥ−１フラグレジスタ８２３及び・・・ＣＯＲＥ−ｎフラグレジスタ８２４の出力に接続されているため、結果として前記選択対象のコアのみに対してロード制御信号（ｌｏａｄ  ｖａｌｉｄ）の出力がなされる。例えば、それぞれ、ＣＯＲＥ−０フラグレジスタ８２２に“１”、ＣＯＲＥ−１フラグレジスタ８２３・・・ＣＯＲＥ−ｎフラグレジスタ８２４に“０”が設定されている場合には、ＣＯＲＥ−０レジスタコントローラ８１４のみに前記ロード制御信号（ｌｏａｄ  ｖａｌｉｄ）が出力され、ＣＯＲＥ−１フラグレジスタ８１６・・・ＣＯＲＥ−ｎフラグレジスタ８１８にはＣＯＲＥ−１ＡＮＤ論理ゲート８２６・・・ＣＯＲＥ−ｎＡＮＤ論理ゲート８２７による抑止のため、前記ロード制御信号（ｌｏａｄ  ｖａｌｉｄ）は出力されない。
【００４８】
ＣＯＲＥ−０レジスタコントローラ８１４は、前記ロード制御信号（ｌｏａｄ  ｖａｌｉｄ）を受信すると、ＣＯＲＥ−０セットアップレジスタ８１５に対してロードレジスタ７１７の出力であるロードデータ（ｌｏａｄ  ｄａｔａ）の設定を行う。
【００４９】
以上により、本発明の第1の実施の形態であるコア部をｎ個（ｎ≧３）有するｎＣＭＰのマルチコア・プロセサにおいて、ｎ個のコア部のうち任意に選択したコア部に対する同時設定が可能であることがわかる。
（第３の実施の形態）
図９は、コア部を２つ有する２ＣＭＰのマルチコア・プロセサにおける本発明の第３の実施の形態を示す図である。図７で示した第１の実施の形態との相違点は、２つのコア部のセットアップレジスタに対するロード制御だけでなく、センス制御をも可能にした点である。従って、ロード制御に関しては、図７で示した第１の実施の形態と同様であるため省略し、センス制御についてのみ説明を行う。
【００５０】
プロセサ９０１は、ＣＯＲＥ−０ブロック４１１、ＣＯＲＥ−１ブロック４１２、ＣＭＰ共有ブロック４１０から構成される２コアのマルチコア・プロセサである。また、ＪＴＡＧ制御部は、ＣＭＰ共有ブロック側にそれぞれ、ＴＡＰコントローラ４１３、ロード／センスコントローラ用デコーダ９１５、ロード／センスコントローラ９１６、ロード／センスレジスタ９１７、フラグコントローラ用デコーダ７１９、フラグコントローラ７２０、ＣＯＲＥ−０フラグレジスタ７２２及びＣＯＲＥ−１フラグレジスタ７２３から構成されるコア選択フラグレジスタ７２１、ＣＯＲＥ−０ロード制御用ＡＮＤ論理ゲート９２４、ＣＯＲＥ−０センス制御用ＡＮＤ論理ゲート９２５、ＣＯＲＥ−１ロード制御用ＡＮＤ論理ゲート９２６、ＣＯＲＥ−１センス制御用ＡＮＤ論理ゲート９２７、ＣＯＲＥ−０センスデータ用ＡＮＤ論理ゲート９２８、ＣＯＲＥ−１センスデータ用ＡＮＤ論理ゲート９２９、センスデータ用ＯＲ論理ゲート９３０、ＣＯＲＥ−０ブロック側にそれぞれ、ＣＯＲＥ−０レジスタコントローラ４１８、ＣＯＲＥ−０セットアップレジスタ４１９、ＣＯＲＥ−１ブロック側にそれぞれ、ＣＯＲＥ−１レジスタコントローラ４２０、ＣＯＲＥ−１セットアップレジスタ４２１を含む。
【００５１】
まず、ＴＡＰコントローラ４１３から発行されたＪＴＡＧコマンド−０  ７１８は、フラグコントローラ用デコーダ７１９でデコードされ、そのデコード結果により、フラグコントローラ７２０はコア選択フラグレジスタ７２１に対して、ＣＯＲＥ−０フラグレジスタ７２２及びＣＯＲＥ−１フラグレジスタ７２３にデータを設定し、センスデータ（ｓｅｎｓｅ  ｄａｔａ）の読み出し対象となるコアの選択を行う。例えば、ＣＯＲＥ−０のみの読み出しを行う場合には、ＣＯＲＥ−０フラグレジスタ７２２に“１”を設定し、ＣＯＲＥ−１フラグレジスタ７２３には“０”の設定を行う。つまり、選択対象となるコアのフラグレジスタには“１”を設定し、非選択対象のコアのフラグレジスタには“０”を設定する。
【００５２】
次に、ＴＡＰコントローラ４１３から発行されたＪＴＡＧコマンド−１  ７１４は、ロード／センスコントローラ用デコーダ９１５でデコードされ、そのデコード結果により、ロード／センスコントローラ９１６はセンス制御信号（ｓｅｎｓｅ  ｖａｌｉｄ）をＣＯＲＥ−０センス制御用ＡＮＤ論理ゲート９２５及びＣＯＲＥ−１センス制御用ＡＮＤ論理ゲート９２７に対して出力する。
【００５３】
ここで、前記ＣＯＲＥ−０センス制御用ＡＮＤ論理ゲート９２５及びＣＯＲＥ−１センス制御用ＡＮＤ論理ゲート９２７のもう一方の入力はそれぞれ、ＣＯＲＥ−０フラグレジスタ７２２及びＣＯＲＥ−１フラグレジスタ７２３の出力に接続されているため、結果として前記選択対象のコアのみに対してセンス制御信号（ｓｅｎｓｅ  ｖａｌｉｄ）の出力がなされる。例えば、それぞれ、ＣＯＲＥ−０フラグレジスタ７２２に“１”、ＣＯＲＥ−１フラグレジスタ７２３に“０”が設定されている場合には、ＣＯＲＥ−０レジスタコントローラ４１８のみに前記センス制御信号（ｓｅｎｓｅ  ｖａｌｉｄ）が出力され、ＣＯＲＥ−１レジスタコントローラ４２０にはＣＯＲＥ−１センス制御用ＡＮＤ論理ゲート７２５による抑止のため、前記センス制御信号（ｓｅｎｓｅ  ｖａｌｉｄ）は出力されない。
【００５４】
ＣＯＲＥ−０レジスタコントローラ４１８は、前記センス制御信号（ｓｅｎｓｅ  ｖａｌｉｄ）を受信すると、ＣＯＲＥ−０セットアップレジスタ４１９に対して設定されているデータをセンスデータ（ｓｅｎｓｅ  ｄａｔａ）として出力させる。前記ＣＯＲＥ−０セットアップレジスタ４１９から出力されたセンスデータ（ｓｅｎｓｅ  ｄａｔａ）は、ＣＯＲＥ−０センスデータ用ＡＮＤ論理ゲート９２８に入力されるが、前記センスデータ用ＡＮＤ論理ゲート９２８のもう一方の入力は、ＣＯＲＥ−０フラグレジスタ７２２の出力に接続されているため、結果としてセンスデータ用ＯＲ論理ゲートに入力される。一方、ＣＯＲＥ−１セットアップレジスタ４２１からの出力は、ＣＯＲＥ−１センスデータ用ＡＮＤ論理ゲート９２９に入力されるが、前記ＣＯＲＥ−１センスデータ用ＡＮＤ論理ゲート９２９のもう一方の入力は、ＣＯＲＥ−１フラグレジスタ７２３の出力に接続されているため、出力は抑止される。従って、センスデータ用ＯＲ論理ゲート９３０の出力は、ＣＯＲＥ−０セットアップレジスタ４１９に設定されているデータが、センスデータ（ｓｅｎｓｅ  ｄａｔａ）としてロード／センスレジスタ９１７へ出力される。次に、ＴＡＰコントローラ４１３は、ロード／センスレジスタ９１７に対するスキャン制御により、前記選択対象のコアからのセンスデータの読み出しを行う。
【００５５】
以上により、本発明の第３の実施の形態であるコア部を２つ有する２ＣＭＰのマルチコア・プロセサにおいて、ＣＯＲＥ−０からのセンスデータの読み出し若しくはＣＯＲＥ−１からのセンスデータの読み出しが可能であることがわかる。
（第４の実施の形態）
図１０は、コア部をｎ個（ｎ≧３）有するｎＣＭＰのマルチコア・プロセサにおける本発明の第４の実施の形態を示す図である。図８で示した第２の実施の形態との相違点は、ｎ個のコア部のセットアップレジスタに対するロード制御だけでなく、センス制御をも可能にした点である。従って、ロード制御に関しては、図８で示した第２の実施の形態と同様であるため省略し、センス制御についてのみ説明を行う。
【００５６】
プロセサ１００１は、ＣＯＲＥ−０ブロック８１１、ＣＯＲＥ−１ブロック８１２、・・・、ＣＯＲＥ−ｎブロック８１３、ＣＭＰ共有ブロック４１０から構成されるｎコアのマルチコア・プロセサである。また、ＪＴＡＧ制御部は、ＣＭＰ共有ブロック側にそれぞれ、ＴＡＰコントローラ４１３、ロード／センスコントローラ用デコーダ９１５、ロード／センスコントローラ９１６、ロード／センスレジスタ９１７、フラグコントローラ用デコーダ７１９、フラグコントローラ７２０、ＣＯＲＥ−０フラグレジスタ８２２及びＣＯＲＥ−１フラグレジスタ８２３及び・・・ＣＯＲＥ−ｎフラグレジスタ８２３から構成されるコア選択フラグレジスタ８２１、ＣＯＲＥ−０ロード制御用ＡＮＤ論理ゲート１０２５、ＣＯＲＥ−１ロード制御用ＡＮＤ論理ゲート１０２７、・・・、ＣＯＲＥ−ｎロード制御用ＡＮＤ論理ゲート１０２９、ＣＯＲＥ−０センス制御用ＡＮＤ論理ゲート１０２６、ＣＯＲＥ−１センス制御用ＡＮＤ論理ゲート１０２８、・・・、ＣＯＲＥ−ｎセンス制御用ＡＮＤ論理ゲート１０３０、ＣＯＲＥ−０センスデータ用ＡＮＤ論理ゲート１０３１、ＣＯＲＥ−１センスデータ用ＡＮＤ論理ゲート１０３２、ＣＯＲＥ−ｎセンスデータ用ＡＮＤ論理ゲート１０３３、センスデータ用ＯＲ論理ゲート１０３４、ＣＯＲＥ−０ブロック側にそれぞれ、ＣＯＲＥ−０レジスタコントローラ８１４、ＣＯＲＥ−０セットアップレジスタ８１５、ＣＯＲＥ−１ブロック側にそれぞれ、ＣＯＲＥ−１レジスタコントローラ８１６、ＣＯＲＥ−１セットアップレジスタ８１７、・・・、ＣＯＲＥ−ｎブロック側にそれぞれ、ＣＯＲＥ−ｎレジスタコントローラ８１８、ＣＯＲＥ−ｎセットアップレジスタ８１９を含む。
【００５７】
まず、ＴＡＰコントローラ４１３から発行されたＪＴＡＧコマンド−０  ７１８は、フラグコントローラ用デコーダ７１９でデコードされ、そのデコード結果により、フラグコントローラ７２０はコア選択フラグレジスタ８２１に対して、ＣＯＲＥ−０フラグレジスタ８２２及びＣＯＲＥ−１フラグレジスタ８２３及び・・・ＣＯＲＥ−ｎフラグレジスタ８２４にデータを設定し、センスデータ（ｓｅｎｓｅ  ｄａｔａ）の読み出し対象となるコアの選択を行う。例えば、ＣＯＲＥ−０のみに設定を行う場合には、ＣＯＲＥ−０フラグレジスタ８２２に“１”を設定し、ＣＯＲＥ−１フラグレジスタ８２３、・・・、ＣＯＲＥ−ｎフラグレジスタ８２４には“０”の設定を行う。つまり、選択対象となるコアのフラグレジスタには“１”を設定し、非選択対象のコアのフラグレジスタには“０”を設定する。
【００５８】
次に、ＴＡＰコントローラ４１３から発行されたＪＴＡＧコマンド−１  ７１４は、ロード／センスコントローラ用デコーダ９１５でデコードされ、そのデコード結果により、ロード／センスコントローラ９１６はセンス制御信号（ｓｅｎｓｅ  ｖａｌｉｄ）をＣＯＲＥ−０センス制御用ＡＮＤ論理ゲート１０２５及びＣＯＲＥ−１センス制御用ＡＮＤ論理ゲート１０２７及び・・・ＣＯＲＥ−ｎセンス制御用ＡＮＤ論理ゲート１０２９に対して出力する。
【００５９】
ここで、前記ＣＯＲＥ−０センス制御用ＡＮＤ論理ゲート１０２６及びＣＯＲＥ−１センス制御用ＡＮＤ論理ゲート１０２８及び・・・ＣＯＲＥ−ｎセンス制御用ＡＮＤ論理ゲート１０３０のもう一方の入力はそれぞれ、ＣＯＲＥ−０フラグレジスタ８２２及びＣＯＲＥ−１フラグレジスタ８２３及び・・・ＣＯＲＥ−ｎフラグレジスタ８２４の出力に接続されているため、結果として前記選択対象のコアのみに対してセンス制御信号（ｓｅｎｓｅ  ｖａｌｉｄ）の出力がなされる。例えば、それぞれ、ＣＯＲＥ−０フラグレジスタ８２２に“１”、ＣＯＲＥ−１フラグレジスタ８２３に“０”、・・・、ＣＯＲＥ−ｎフラグレジスタ８２４に“０”が設定されている場合には、ＣＯＲＥ−０レジスタコントローラ８１４のみに前記センス制御信号（ｓｅｎｓｅ  ｖａｌｉｄ）が出力され、ＣＯＲＥ−１レジスタコントローラ８１６、・・・、ＣＯＲＥ−ｎレジスタコントローラ８１８にはＣＯＲＥ−１センス制御用ＡＮＤ論理ゲート１０２８、・・・、ＣＯＲＥ−ｎセンス制御用ＡＮＤ論理ゲート１０３０による抑止のため、前記センス制御信号（ｓｅｎｓｅ  ｖａｌｉｄ）は出力されない。
【００６０】
ＣＯＲＥ−０レジスタコントローラ８１４は、前記センス制御信号（ｓｅｎｓｅ  ｖａｌｉｄ）を受信すると、ＣＯＲＥ−０セットアップレジスタ８１５に対して設定されているデータをセンスデータ（ｓｅｎｓｅ  ｄａｔａ）として出力させる。前記ＣＯＲＥ−０セットアップレジスタ８１５から出力されたセンスデータ（ｓｅｎｓｅ  ｄａｔａ）は、ＣＯＲＥ−０センスデータ用ＡＮＤ論理ゲート１０３１に入力されるが、前記センスデータ用ＡＮＤ論理ゲート１０３１のもう一方の入力は、ＣＯＲＥ−０フラグレジスタ８２２の出力に接続されているため、結果としてセンスデータ用ＯＲ論理ゲートに入力される。一方、それぞれＣＯＲＥ−１セットアップレジスタ８１７、・・・、ＣＯＲＥ−ｎセットアップレジスタ８１９からの出力は、それぞれＣＯＲＥ−１センスデータ用ＡＮＤ論理ゲート１０３２、・・・、ＣＯＲＥ−ｎセンスデータ用ＡＮＤ論理ゲート１０３３に入力されるが、それぞれ前記ＣＯＲＥ−１センスデータ用ＡＮＤ論理ゲート１０３２、・・・、ＣＯＲＥ−ｎセンスデータ用ＡＮＤ論理ゲート１０３３のもう一方の入力は、それぞれＣＯＲＥ−１フラグレジスタ８２３、・・・、ＣＯＲＥ−ｎフラグレジスタ８２４の出力に接続されているため、出力は抑止される。従って、センスデータ用ＯＲ論理ゲート９３０の出力は、ＣＯＲＥ−０セットアップレジスタ８１５に設定されているデータが、センスデータ（ｓｅｎｓｅ  ｄａｔａ）としてロード／センスレジスタ９１７へ出力される。次に、ＴＡＰコントローラ４１３は、ロード／センスレジスタ９１７に対するスキャン制御により、前記選択対象のコアからのセンスデータの読み出しを行う。
【００６１】
以上により、本発明の第４の実施の形態であるコア部をｎ個（ｎ≧３）有するｎＣＭＰのマルチコア・プロセサにおいて、ｎ個のコア部のうち任意に選択したコア部からのセンスデータの読み出しが可能であることがわかる。
（第５の実施の形態）
図１１は、コア部を２つ有する２ＣＭＰのマルチコア・プロセサにおける本発明の第５の実施の形態を示す図である。図９で示した第３の実施の形態との相違点は、コア選択フラグレジスタの代わりにヒューズによるコア選択を行う点である。従って、ロード／センス制御に関しては、図９で示した第３の実施の形態と同様であるため省略し、ヒューズ設定についてのみ説明を行う。
【００６２】
プロセサ１１０１は、コア選択フラグレジスタの代わりにヒューズエリア１１２１を有し、前記ヒューズエリア１１２１はＣＯＲＥ−０用プルアップ抵抗１１２２、ＣＯＲＥ−１用プルアップ抵抗１１２３、ＣＯＲＥ−０用ヒューズ１１２４、ＣＯＲＥ−１用ヒューズ１１２５から構成される。前記ＣＯＲＥ−０用ヒューズ１１２４及びＣＯＲＥ−１用ヒューズ１１２５は、半導体製造時におけるレーザー切断による設定を行うことにより、コア選択レジスタに固定値を設定した場合と同じ効果を有する。
【００６３】
以上により、本発明の第５の実施の形態であるコア部を２つ有する２ＣＭＰのマルチコア・プロセサにおいて、半導体製造時のウェハーテストにて部分コア良品であると判定されたチップの不良コア側のヒューズを切断することにより、良品コア側に対するロード／センス制御を安定して行うことが可能であることがわかる。
（第６の実施の形態）
図１２は、コア部をｎ個（ｎ≧３）有するｎＣＭＰのマルチコア・プロセサにおける本発明の第６の実施の形態を示す図である。図１０で示した第４の実施の形態との相違点は、コア選択フラグレジスタの代わりにヒューズによるコア選択を行う点である。従って、ロード／センス制御に関しては、図１０で示した第４の実施の形態と同様であるため省略し、ヒューズ設定についてのみ説明を行う。
【００６４】
プロセサ１２０１は、コア選択フラグレジスタの代わりにヒューズエリア１２２１を有し、前記ヒューズエリア１２２１はＣＯＲＥ−０用プルアップ抵抗１２２２、ＣＯＲＥ−１用プルアップ抵抗１２２３、・・・、ＣＯＲＥ−ｎ用プルアップ抵抗１２２４、ＣＯＲＥ−０用ヒューズ１２２５、ＣＯＲＥ−１用ヒューズ１２２６、・・・、ＣＯＲＥ−ｎ用ヒューズ１２２７から構成される。前記ＣＯＲＥ−０用ヒューズ１２２５及びＣＯＲＥ−１用ヒューズ１２２６及び・・・ＣＯＲＥ−ｎ用ヒューズ１２２７は、半導体製造時におけるレーザー切断による設定を行うことにより、コア選択レジスタに固定値を設定した場合と同じ効果を有する。
【００６５】
以上により、本発明の第６の実施の形態であるコア部をｎ個（ｎ≧３）有する２ＣＭＰのマルチコア・プロセサにおいて、半導体製造時のウェハーテストにて部分コア良品であると判定されたチップの不良コア側のヒューズを切断することにより、良品コア側に対するロード／センス制御を安定して行うことが可能であることがわかる。
（第７の実施の形態）
図１３は、コア部を２つ有する２ＣＭＰのマルチコア・プロセサにおける本発明の第７の実施の形態を示す図である。図１１で示した第５の実施の形態との相違点は、ヒューズを切断した後においても、ヒューズ上書きスキャンレジスタにコア選択データを設定することによりコア部の選択を自由に行うことができる点である。従って、ロード／センス制御及びヒューズ設定に関しては、図１１で示した第５の実施の形態と同様であるため省略し、ヒューズ上書きスキャンレジスタの設定についてのみ説明を行う。
【００６６】
プロセサ１３０１は、コア選択フラグレジスタの代わりにヒューズエリア１３２１を有し、前記ヒューズエリア１３２１はＣＯＲＥ−０用プルアップ抵抗１３２２、ＣＯＲＥ−１用プルアップ抵抗１３２３、ＣＯＲＥ−０用ヒューズ１３２４、ＣＯＲＥ−１用ヒューズ１３２５、ＣＯＲＥ−０用ヒューズ上書きスキャンレジスタ１３２６、ＣＯＲＥ−１用ヒューズ上書きスキャンレジスタ１３２７、ＣＯＲＥ−０用セレクタ１３２８、ＣＯＲＥ−１用セレクタ１３２９から構成される。前記ＣＯＲＥ−０用ヒューズ１３２４及びＣＯＲＥ−１用ヒューズ１３２５は、半導体製造時におけるレーザー切断による設定を行うことにより、コア選択レジスタに固定値を設定した場合と同じ効果を有する。また、前記ＣＯＲＥ−０用ヒューズ１３２４及びＣＯＲＥ−１用ヒューズ１３２５に対して、ＴＡＰコントローラ４１３によるコア選択データをスキャン制御による設定を行い、それぞれＣＯＲＥ−０用セレクタ１３２８、ＣＯＲＥ−１用セレクタ１３２９のセレクト信号として、ＴＭ（Ｔｅｓｔ  Ｍｏｄｅ）信号などにより外部ピンから選択制御を行うことにより、ヒューズ切断後においてもコア部の線タックを自由に行うことが出来る。
【００６７】
以上により、本発明の第７の実施の形態であるコア部を２つ有する２ＣＭＰのマルチコア・プロセサにおいて、半導体製造時のウェハーテストにて部分コア良品であると判定されたチップの不良コア側のヒューズを切断した後においても、ロード／センス制御の対象となるコア部の選択を自由に行うことが可能であることがわかる。
（第８の実施の形態）
図１４は、コア部をｎ個（ｎ≧３）有するｎＣＭＰのマルチコア・プロセサにおける本発明の第８の実施の形態を示す図である。図１２で示した第６の実施の形態との相違点は、ヒューズを切断した後においても、ヒューズ上書きスキャンレジスタにコア選択データを設定することによりコア部の選択を自由に行うことができる点である。従って、ロード／センス制御及びヒューズ設定に関しては、図１２で示した第６の実施の形態と同様であるため省略し、ヒューズ上書きスキャンレジスタの設定についてのみ説明を行う。
【００６８】
プロセサ１４０１は、コア選択フラグレジスタの代わりにヒューズエリア１４２１を有し、前記ヒューズエリア１４２１はＣＯＲＥ−０用プルアップ抵抗１４２２、ＣＯＲＥ−１用プルアップ抵抗１４２３、・・・、ＣＯＲＥ−ｎ用プルアップ抵抗１４２４、ＣＯＲＥ−０用ヒューズ１４２５、ＣＯＲＥ−１用ヒューズ１４２６、・・・、ＣＯＲＥ−ｎ用ヒューズ１４２７、ＣＯＲＥ−０用ヒューズ上書きスキャンレジスタ１４２８、ＣＯＲＥ−１用ヒューズ上書きスキャンレジスタ１４２９、・・・、ＣＯＲＥ−ｎ用ヒューズ上書きスキャンレジスタ１４３０、ＣＯＲＥ−０用セレクタ１４３１、ＣＯＲＥ−１用セレクタ１４３２、・・・、ＣＯＲＥ−ｎ用セレクタ１４３３から構成される。前記ＣＯＲＥ−０用ヒューズ１４２５及びＣＯＲＥ−１用ヒューズ１４２６及び・・・ＣＯＲＥ−ｎ用ヒューズ１４２７は、半導体製造時におけるレーザー切断による設定を行うことにより、コア選択レジスタに固定値を設定した場合と同じ効果を有する。また、前記ＣＯＲＥ−０用ヒューズ１４２５及びＣＯＲＥ−１用ヒューズ１４２６及び・・・ＣＯＲＥ−ｎ用ヒューズ１４２７に対して、ＴＡＰコントローラ４１３によるコア選択データをスキャン制御による設定を行い、それぞれＣＯＲＥ−０用セレクタ１４３１、ＣＯＲＥ−１用セレクタ１４３２、・・・、ＣＯＲＥ−ｎ用セレクタ１４３３のセレクト信号として、ＴＭ（Ｔｅｓｔ  Ｍｏｄｅ）信号などにより外部ピンから選択制御を行うことにより、ヒューズ切断後においてもコア部の線タックを自由に行うことが出来る。
【００６９】
さらに、図１５に前記ヒューズエリア１４２１と前記ＴＡＰコントローラ４１３との接続の詳細を示す。クロックチョッパ１５０１は、ＣＯＲＥ−０用ヒューズ上書きスキャンレジスタ１４２８、ＣＯＲＥ−１用ヒューズ上書きスキャンレジスタ１４２９、・・・、ＣＯＲＥ−ｎ用ヒューズ上書きスキャンレジスタ１４３０に対して、通常動作時にはシステムクロックを供給し、スキャン動作時にはシステムクロックを停止させる制御を行う。
【００７０】
以上により、本発明の第８の実施の形態であるコア部をｎ個（ｎ≧３）有するｎＣＭＰのマルチコア・プロセサにおいて、半導体製造時のウェハーテストにて部分コア良品であると判定されたチップの不良コア側のヒューズを切断した後においても、ロード／センス制御の対象となるコア部の選択を自由に行うことが可能であることがわかる。
【００７１】
以上、本発明にかかる実施の形態１〜８について図面を参照して説明して詳述してきたが、具体的な構成例はこれら実施の形態１〜８に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【００７２】
（付記１）
複数の論理ブロック手段を有するプロセサであって、
前記複数の論理ブロック手段は少なくとも、それぞれ独立に動作し内部に設定レジスタ手段を有する第１の実行処理部及び第２の実行処理部、並びに前記第１の実行処理部及び前記第２の実行処理部によって共有されるキャッシュ手段を有する共有ブロック部を含むものであるプロセサにおいて、
ＪＴＡＧコマンドの発行を行うことによりプロセサの制御を行うＴＡＰコントローラ手段と、
前記第１の実行処理部及び前記第２の実行処理部の設定レジスタ手段に対する設定情報を保持するデータレジスタ手段と、
前記データレジスタ手段に接続され、前記第１の実行処理部及び前記第２の実行処理部の設定レジスタ手段に対して、前記データレジスタ手段が保持するデータのロード制御を行うロード制御手段と、
前記第１の実行処理部及び前記第２の実行処理部の選択情報を実行処理部毎に保持するコア選択フラグレジスタ手段と、
前記コア選択フラグレジスタ手段に接続され、前記コア選択フラグレジスタ手段への設定制御を行うフラグレジスタ制御手段と、
前記コア選択フラグレジスタ手段の値により、前記ロード制御手段から前記第１の実行処理部及び前記第２の実行処理部の設定レジスタ手段へのロード制御信号を遮断する手段とを有することを特徴とするプロセサ。
【００７３】
（付記２）
複数の論理ブロック手段を有するプロセサであって、
前記複数の論理ブロック手段は少なくとも、それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部、並びに前記第１乃至第ｎの実行処理部によって共有されるキャッシュ手段を有する共有ブロック部を含むものであるプロセサにおいて、
ＪＴＡＧコマンドの発行を行うことによりプロセサの制御を行うＴＡＰコントローラ手段と、
前記第１乃至第ｎの実行処理部の設定レジスタ手段に対する設定情報を保持するデータレジスタ手段と、
前記データレジスタ手段に接続され、前記第１乃至第ｎの実行処理部の設定レジスタ手段に対して、前記データレジスタ手段が保持するデータのロード制御を行うロード制御手段と、
前記第１乃至第ｎの実行処理部の選択情報を実行処理部毎に保持するコア選択フラグレジスタ手段と、
前記コア選択フラグレジスタ手段に接続され、前記コア選択フラグレジスタ手段への設定制御を行うフラグレジスタ制御手段と、
前記コア選択フラグレジスタ手段の値により、前記ロード制御手段から前記第１乃至第ｎの実行処理部の設定レジスタ手段へのロード制御信号を遮断する手段とを有することを特徴とするプロセサ。
【００７４】
（付記３）
複数の論理ブロック手段を有するプロセサであって、
前記複数の論理ブロック手段は少なくとも、それぞれ独立に動作し内部に設定レジスタ手段を有する第１の実行処理部及び第２の実行処理部、並びに前記第１の実行処理部及び前記第２の実行処理部によって共有されるキャッシュ手段を有する共有ブロック部を含むものであるプロセサにおいて、
ＪＴＡＧコマンドの発行を行うことによりプロセサの制御を行うＴＡＰコントローラ手段と、
前記第１の実行処理部及び前記第２の実行処理部の設定レジスタ手段からセンスする設定情報を保持するデータレジスタ手段と、
前記データレジスタ手段に接続され、前記第１の実行処理部及び前記第２の実行処理部の設定レジスタ手段に対して、前記設定レジスタ手段が保持するデータのセンス制御を行うセンス制御手段と、
前記第１の実行処理部及び前記第２の実行処理部の選択情報を実行処理部毎に保持するコア選択フラグレジスタ手段と、
前記コア選択フラグレジスタ手段に接続され、前記コア選択フラグレジスタ手段への設定制御を行うフラグレジスタ制御手段と、
前記コア選択フラグレジスタ手段の値により、前記センス制御手段から前記第１の実行処理部及び前記第２の実行処理部の設定レジスタ手段へのセンス制御信号を遮断する手段とを有することを特徴とするプロセサ。
【００７５】
（付記４）
複数の論理ブロック手段を有するプロセサであって、
前記複数の論理ブロック手段は少なくとも、それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部、並びに前記第１乃至第ｎの実行処理部によって共有されるキャッシュ手段を有する共有ブロック部を含むものであるプロセサにおいて、
ＪＴＡＧコマンドの発行を行うことによりプロセサの制御を行うＴＡＰコントローラ手段と、
前記第１乃至第ｎの実行処理部の設定レジスタ手段からセンスする設定情報を保持するデータレジスタ手段と、
前記データレジスタ手段に接続され、前記第１乃至第ｎの実行処理部の設定レジスタ手段に対して、前記設定レジスタ手段が保持するデータのセンス制御を行うセンス制御手段と、
前記第１乃至第ｎの実行処理部の選択情報を実行処理部毎に保持するコア選択フラグレジスタ手段と、
前記コア選択フラグレジスタ手段に接続され、前記コア選択フラグレジスタ手段への設定制御を行うフラグレジスタ制御手段と、
前記コア選択フラグレジスタ手段の値により、前記センス制御手段から前記第１乃至第ｎの実行処理部の設定レジスタ手段へのセンス制御信号を遮断する手段とを有することを特徴とするプロセサ。
【００７６】
（付記５）
複数の論理ブロック手段を有するプロセサであって、
前記複数の論理ブロック手段は少なくとも、それぞれ独立に動作し内部に設定レジスタ手段を有する第１の実行処理部及び第２の実行処理部、並びに前記第１の実行処理部及び前記第２の実行処理部によって共有されるキャッシュ手段を有する共有ブロック部を含むものであるプロセサにおいて、
ＪＴＡＧコマンドの発行を行うことによりプロセサの制御を行うＴＡＰコントローラ手段と、
前記第１の実行処理部及び前記第２の実行処理部の設定レジスタ手段に対する設定情報を保持するデータレジスタ手段と、
前記データレジスタ手段に接続され、前記第１の実行処理部及び前記第２の実行処理部の設定レジスタ手段に対して前記データレジスタ手段が保持するデータのロード制御を行うロード制御手段と、
前記第１の実行処理部及び前記第２の実行処理部の選択情報を実行処理部毎に設定を行うコア選択ヒューズ手段と、
前記コア選択ヒューズ手段の値により、前記ロード制御手段から前記第１の実行処理部及び前記第２の実行処理部の設定レジスタ手段へのロード制御信号を遮断する手段とを有することを特徴とするプロセサ。
【００７７】
（付記６）
複数の論理ブロック手段を有するプロセサであって、
前記複数の論理ブロック手段は少なくとも、それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部、並びに前記第１乃至第ｎの実行処理部によって共有されるキャッシュ手段を有する共有ブロック部を含むものであるプロセサにおいて、
ＪＴＡＧコマンドの発行を行うことによりプロセサの制御を行うＴＡＰコントローラ手段と、
前記第１乃至第ｎの実行処理部の設定レジスタ手段に対する設定情報を保持するデータレジスタ手段と、
前記データレジスタ手段に接続され、前記第１乃至第ｎの実行処理部の設定レジスタ手段に対して、前記データレジスタ手段が保持するデータのロード制御を行うロード制御手段と、
前記第１乃至第ｎの実行処理部の選択情報を実行処理部毎に設定を行うコア選択ヒューズ手段と、
前記コア選択ヒューズ手段の値により、前記ロード制御手段から前記第１乃至第ｎの実行処理部の設定レジスタ手段へのロード制御信号を遮断する手段とを有することを特徴とするプロセサ。
【００７８】
（付記７）
前記プロセサが、
前記コア選択ヒューズ手段の出力に接続され、前記ＴＡＰコントローラによるスキャン設定によりコア選択情報が設定され、前記コア選択ヒューズ手段の出力を上書きするヒューズ上書きスキャンラッチ手段と、
前記コア選択ヒューズ手段の出力及び前記ヒューズ上書きスキャンラッチ手段の出力を入力とするセレクタ手段を有することを特徴とする請求項５又は請求項６に記載のプロセサ。
【００７９】
（付記８）
複数の論理ブロック手段を有するプロセサの制御方法であって、
前記複数の論理ブロック手段は少なくとも、それぞれ独立に動作し内部に設定レジスタ手段を有する第１の実行処理部及び第２の実行処理部、並びに前記第１の実行処理部及び前記第２の実行処理部によって共有されるキャッシュ手段を有する共有ブロック部を含むものであるプロセサの制御方法において、
ＪＴＡＧコマンドの発行を行うことによりプロセサの制御を行うＴＡＰコントローラ手段と、
前記第１の実行処理部及び前記第２の実行処理部の設定レジスタ手段に対する設定情報を保持するデータレジスタ手段と、
前記データレジスタ手段に接続され、前記第１の実行処理部及び前記第２の実行処理部の設定レジスタ手段に対する前記データレジスタ手段が保持するデータのロード制御を行うロード制御手段と、
前記第１の実行処理部及び前記第２の実行処理部の選択情報を実行処理部毎に保持するコア選択フラグレジスタ手段と、
前記コア選択フラグレジスタ手段に接続され、前記コア選択フラグレジスタ手段への設定制御を行うフラグレジスタ制御手段と、
前記コア選択フラグレジスタ手段の値により、前記ロード制御手段から各実行処理部へのロード制御信号を遮断する手段とを有し、
前記ＴＡＰコントローラ手段から前記フラグ制御手段に対して、第１のＪＴＡＧコマンドを発行することによりコア選択情報の設定を行い、第１の実行処理部又は第２の実行処理部を選択するステップと、
前記ＴＡＰコントローラ手段から前記データレジスタ手段に対して、スキャン設定により第１の実行処理部又は第２の実行処理部に対する設定情報を設定するステップと、
前記ＴＡＰコントローラ手段から前記ロード制御手段に対して、第２のＪＴＡＧコマンドを発行することにより、前記データレジスタの内容を該選択した実行処理部の設定レジスタへロードするステップとを有することを特徴とするプロセサの制御方法。
【００８０】
（付記９）
複数の論理ブロック手段を有するプロセサの制御方法であって、
前記複数の論理ブロック手段は少なくとも、それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部、並びに前記第１乃至第ｎの実行処理部によって共有されるキャッシュ手段を有する共有ブロック部を含むものであるプロセサの制御方法において、
ＪＴＡＧコマンドの発行を行うことによりプロセサの制御を行うＴＡＰコントローラ手段と、
前記第１乃至第ｎの実行処理部の設定レジスタ手段に対する設定情報を保持するデータレジスタ手段と、
前記データレジスタ手段に接続され、前記第１乃至第ｎの実行処理部の設定レジスタ手段に対する前記データレジスタ手段が保持するデータのロード制御を行うロード制御手段と、
前記第１乃至第ｎの実行処理部の選択情報を実行処理部毎に保持するコア選択フラグレジスタ手段と、
前記コア選択フラグレジスタ手段に接続され、前記コア選択フラグレジスタ手段への設定制御を行うフラグレジスタ制御手段と、
前記コア選択フラグレジスタ手段の値により、前記ロード制御手段から各実行処理部の設定レジスタ手段へのロード制御信号を遮断する手段とを有し、
前記ＴＡＰコントローラ手段から前記フラグ制御手段に対して、第１のＪＴＡＧコマンドを発行することによりコア選択情報の設定を行い、第１乃至第ｎの実行処理部を選択するステップと、
前記ＴＡＰコントローラ手段から前記データレジスタ手段に対して、スキャン設定により第１乃至第ｎの実行処理部に対する設定情報を設定するステップと、
前記ＴＡＰコントローラ手段から前記ロード制御手段に対して、第２のＪＴＡＧコマンドを発行することにより、前記データレジスタの内容を該選択した実行処理部の設定レジスタへロードするステップとを有することを特徴とするプロセサの制御方法。
【００８１】
（付記１０）
複数の論理ブロック手段を有するプロセサであって、
前記複数の論理ブロック手段は少なくとも、それぞれ独立に動作し内部に設定レジスタ手段を有する第１の実行処理部及び第２の実行処理部、並びに前記第１の実行処理部及び前記第２の実行処理部によって共有されるキャッシュ手段を有する共有ブロック部を含むものであるプロセサにおいて、
ＪＴＡＧコマンドの発行を行うことによりプロセサの制御を行うＴＡＰコントローラ手段と、
前記第１の実行処理部及び前記第２の実行処理部の設定レジスタ手段からセンスする設定情報を保持するデータレジスタ手段と、
前記データレジスタ手段に接続され、前記第１の実行処理部及び前記第２の実行処理部の設定レジスタ手段に対して、前記設定レジスタ手段が保持するデータのセンス制御を行うセンス制御手段と、
前記第１の実行処理部及び前記第２の実行処理部の選択情報を実行処理部毎に保持するコア選択フラグレジスタ手段と、
前記コア選択フラグレジスタ手段に接続され、前記コア選択フラグレジスタ手段への設定制御を行うフラグレジスタ制御手段と、
前記コア選択フラグレジスタ手段の値により、前記センス制御手段から前記第１乃至第ｎの実行処理部の設定レジスタ手段へのセンス制御信号を遮断する手段とを有し、
前記ＴＡＰコントローラ手段から前記フラグ制御手段に対して、第１のＪＴＡＧコマンドを発行することによりコア選択情報の設定を行い、第１乃至第ｎの実行処理部を選択するステップと、
前記ＴＡＰコントローラ手段から前記センス制御手段に対して、第２のＪＴＡＧコマンドを発行することにより、該選択した実行処理部の設定レジスタの内容を前記データレジスタへセンスするステップとを有することを特徴とするプロセサの制御方法。
【００８２】
（付記１１）
複数の論理ブロック手段を有するプロセサであって、
前記複数の論理ブロック手段は少なくとも、それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部、並びに前記第１乃至第ｎの実行処理部によって共有されるキャッシュ手段を有する共有ブロック部を含むものであるプロセサにおいて、
ＪＴＡＧコマンドの発行を行うことによりプロセサの制御を行うＴＡＰコントローラ手段と、
前記第１乃至第ｎの実行処理部の設定レジスタ手段からセンスする設定情報を保持するデータレジスタ手段と、
前記データレジスタ手段に接続され、前記第１乃至第ｎの実行処理部の設定レジスタ手段に対して、前記設定レジスタ手段が保持するデータのセンス制御を行うセンス制御手段と、
前記第１乃至第ｎの実行処理部の選択情報を実行処理部毎に保持するコア選択フラグレジスタ手段と、
前記コア選択フラグレジスタ手段に接続され、前記コア選択フラグレジスタ手段への設定制御を行うフラグレジスタ制御手段と、
前記コア選択フラグレジスタ手段の値により、前記センス制御手段から前記第１乃至第ｎの実行処理部の設定レジスタ手段へのセンス制御信号を遮断する手段とを有し、
前記ＴＡＰコントローラ手段から前記フラグ制御手段に対して、第１のＪＴＡＧコマンドを発行することによりコア選択情報の設定を行い、第１乃至第ｎの実行処理部を選択するステップと、
前記ＴＡＰコントローラ手段から前記センス制御手段に対して、第２のＪＴＡＧコマンドを発行することにより、該選択した実行処理部の設定レジスタの内容を前記データレジスタへセンスするステップとを有することを特徴とするプロセサの制御方法。
【００８３】
（付記１２）
複数の論理ブロック手段を有するプロセサであって、
前記複数の論理ブロック手段は少なくとも、それぞれ独立に動作し内部に設定レジスタ手段を有する第１の実行処理部及び第２の実行処理部、並びに前記第１の実行処理部及び前記第２の実行処理部によって共有されるキャッシュ手段を有する共有ブロック部を含むものであるプロセサにおいて、
ＪＴＡＧコマンドの発行を行うことによりプロセサの制御を行うＴＡＰコントローラ手段と、
前記第１の実行処理部及び前記第２の実行処理部の設定レジスタ手段に対する設定情報を保持するデータレジスタ手段と、
前記データレジスタ手段に接続され、前記第１の実行処理部及び前記第２の実行処理部の設定レジスタ手段に対して前記データレジスタ手段が保持するデータのロード制御を行うロード制御手段と、
前記第１の実行処理部及び前記第２の実行処理部の選択情報を実行処理部毎に設定を行うコア選択ヒューズ手段と、
前記コア選択ヒューズ手段の値により、前記ロード制御手段から前記第１の実行処理部及び前記第２の実行処理部の設定レジスタ手段へのロード制御信号を遮断する手段とを有し、
前記コア選択ヒューズ手段を切断することによりコア選択情報の設定を行い、第１又は第２の実行処理部を選択するステップと、
前記ＴＡＰコントローラ手段から前記データレジスタ手段に対して、スキャン設定により第１の実行処理部又は第２の実行処理部に対する設定情報を設定するステップと、
前記ＴＡＰコントローラ手段から前記ロード制御手段に対して、ＪＴＡＧコマンドを発行することにより、前記データレジスタの内容を該選択した実行処理部の設定レジスタへロードするステップとを有することを特徴とするプロセサの制御方法。
【００８４】
（付記１３）
複数の論理ブロック手段を有するプロセサであって、
前記複数の論理ブロック手段は少なくとも、それぞれ独立に動作し内部に設定レジスタ手段を有する第１乃至第ｎの実行処理部、並びに前記第１乃至第ｎの実行処理部によって共有されるキャッシュ手段を有する共有ブロック部を含むものであるプロセサにおいて、
ＪＴＡＧコマンドの発行を行うことによりプロセサの制御を行うＴＡＰコントローラ手段と、
前記第１乃至第ｎの実行処理部の設定レジスタ手段に対する設定情報を保持するデータレジスタ手段と、
前記データレジスタ手段に接続され、前記第１乃至第ｎの実行処理部の設定レジスタ手段に対して前記データレジスタ手段が保持するデータのロード制御を行うロード制御手段と、
前記第１乃至第ｎの実行処理部の選択情報を実行処理部毎に設定を行うコア選択ヒューズ手段と、
前記コア選択ヒューズ手段の値により、前記ロード制御手段から前記第１乃至第ｎの実行処理部の設定レジスタ手段へのロード制御信号を遮断する手段とを有し、
前記コア選択ヒューズ手段を切断することによりコア選択情報の設定を行い、第１乃至第ｎの実行処理部を選択するステップと、
前記ＴＡＰコントローラ手段から前記データレジスタ手段に対して、スキャン設定により第１乃至第ｎの実行処理部に対する設定情報を設定するステップと、
前記ＴＡＰコントローラ手段から前記ロード制御手段に対して、ＪＴＡＧコマンドを発行することにより、前記データレジスタの内容を該選択した実行処理部の設定レジスタへロードするステップとを有することを特徴とするプロセサの制御方法。
【００８５】
（付記１４）
前記プロセサが、
前記コア選択ヒューズ手段の出力に接続され、前記ＴＡＰコントローラによるスキャン設定によりコア選択情報が設定され、前記コア選択ヒューズ手段の出力を上書きするヒューズ上書きスキャンラッチ手段と、
前記コア選択ヒューズ手段の出力及び前記ヒューズ上書きスキャンラッチ手段の出力を入力とするセレクタ手段を有し、
前記コア選択ヒューズ手段を切断することによりコア選択情報の設定を行い、第１乃至第ｎの実行処理部を選択するステップの後に、
必要である場合には、
前記ヒューズ上書きスキャンラッチ手段にコア選択情報をスキャン設定するステップと、
前記セレクタ手段において、前記ヒューズ上書きスキャンラッチ手段の出力を選択して出力するステップとを有することを特徴とする請求項１２又は請求項１３に記載のプロセサ。
本発明によれば、複数のプロセサコアを有するCMP等のマルチコア・プロセサにおいて、各コアの内部設定レジスタに対する設定値制御を柔軟に行うことにより、システムブート時におけるプロセサ構成設定の容易化、システム動作時に発生した特定のプロセサコアの縮退機能、プロセサコアの増加に伴う回路規模の増加の最小化、さらに、製造時の部分コア良品の製品化を実現することにより、プロセサの歩留まり向
上や低消費電力化に寄与するマルチコア・プロセサを実現することができる。
【図面の簡単な説明】
【００８６】
【図１】図１はプロセサの基本ハードウェア構成を示す図である。
【図２】図２は従来の対称型マルチプロセサを使用したサーバシステムの構成を示す図である。
【図３】図３はマルチコア・プロセサを使用したサーバシステムの構成を示す図である。
【図４】図４はマルチコア・プロセサの従来構成その１を示す図である。
【図５】図５はマルチコア・プロセサの従来構成その２を示す図である。
【図６】図６はマルチコア・プロセサの従来構成その３を示す図である。
【図７】図７は第１の実施の形態におけるマルチコア・プロセサの構成を示す図である。
【図８】図８は第２の実施の形態におけるマルチコア・プロセサの構成を示す図である。
【図９】図９は第３の実施の形態におけるマルチコア・プロセサの構成を示す図である。
【図１０】図１０は第４の実施の形態におけるマルチコア・プロセサの構成を示す図である。
【図１１】図１１は第５の実施の形態におけるマルチコア・プロセサの構成を示す図である。
【図１２】図１２は第６の実施の形態におけるマルチコア・プロセサの構成を示す図である。
【図１３】図１３は第７の実施の形態におけるマルチコア・プロセサの構成を示す図である。
【図１４】図１４は第８の実施の形態におけるマルチコア・プロセサの構成を示す図である。
【図１５】図１５は第８の実施の形態におけるマルチコア・プロセサのヒューズ部の構成を示す図である。
【符号の説明】
【００８７】
７０１  プロセサ
７１４  ＪＴＡＧコマンド−１
７１５  ロードコントローラ用デコーダ
７１６  ロードコントローラ
７１７  ロードレジスタ
７１８  ＪＴＡＧコマンド−０
７１９  フラグコントローラ用デコーダ
７２０  フラグコントローラ
７２１  コア選択フラグレジスタ
７２２  ＣＯＲＥ−０フラグレジスタ
７２３  ＣＯＲＥ−１フラグレジスタ
７２４  ＣＯＲＥ−０ＡＮＤ論理ゲート
７２５  ＣＯＲＥ−１ＡＮＤ論理ゲート
９０１  プロセサ
９１５  ロード／センスコントローラ用デコーダ
９１６  ロード／センスコントローラ
９１７  ロード／センスレジスタ
９２４  ＣＯＲＥ−０ロード制御用ＡＮＤ論理ゲート
９２５  ＣＯＲＥ−０センス制御用ＡＮＤ論理ゲート
９２６  ＣＯＲＥ−０センスデータ用ＡＮＤ論理ゲート
９２７  ＣＯＲＥ−１ロード制御用ＡＮＤ論理ゲート
９２８  ＣＯＲＥ−１センス制御用ＡＮＤ論理ゲート
９２９  ＣＯＲＥ−１センスデータ用ＡＮＤ論理ゲート
９３０  センスデータ用ＯＲ論理ゲート
１１０１  プロセサ
１１２１  ヒューズエリア
１１２２  ＣＯＲＥ−０用プルアップ抵抗
１１２３  ＣＯＲＥ−１用プルアップ抵抗
１１２４  ＣＯＲＥ−０用ヒューズ
１１２５  ＣＯＲＥ−１用ヒューズ
１３０１  プロセサ
１３２１  ヒューズエリア
１３２２  ＣＯＲＥ−０用プルアップ抵抗
１３２３  ＣＯＲＥ−１用プルアップ抵抗
１３２４  ＣＯＲＥ−０用ヒューズ
１３２５  ＣＯＲＥ−１用ヒューズ
１３２６  ＣＯＲＥ−０用ヒューズ上書きスキャンレジスタ
１３２７  ＣＯＲＥ−１用ヒューズ上書きスキャンレジスタ
１３２８  ＣＯＲＥ−０用セレクタ
１３２９  ＣＯＲＥ−１用セレクタ
１５０１  クロックチョッパ
【図１】
2006003949.tif 000003
【図２】
2006003949.tif 000004
【図３】
2006003949.tif 000005
【図４】
2006003949.tif 000006
【図５】
2006003949.tif 000007
【図６】
2006003949.tif 000008
【図７】
2006003949.tif 000009
【図８】
2006003949.tif 000010
【図９】
2006003949.tif 000011
【図１０】
2006003949.tif 000012
【図１１】
2006003949.tif 000013
【図１２】
2006003949.tif 000014
【図１３】
2006003949.tif 000015
【図１４】
2006003949.tif 000016
【図１５】
2006003949.tif 000017