JP2006260568A - アクティブ及び非アクティブ実行コアを有するマルチコアプロセッサ - Google Patents

アクティブ及び非アクティブ実行コアを有するマルチコアプロセッサ Download PDF

Info

Publication number
JP2006260568A
JP2006260568A JP2006069720A JP2006069720A JP2006260568A JP 2006260568 A JP2006260568 A JP 2006260568A JP 2006069720 A JP2006069720 A JP 2006069720A JP 2006069720 A JP2006069720 A JP 2006069720A JP 2006260568 A JP2006260568 A JP 2006260568A
Authority
JP
Japan
Prior art keywords
core
active
processor
execution cores
execution
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.)
Pending
Application number
JP2006069720A
Other languages
English (en)
Inventor
Tryggve Fossum
フォッサム トリグヴ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2006260568A publication Critical patent/JP2006260568A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Microcomputers (AREA)

Abstract

【課題】
アクティブ及び非アクティブ実行コアを有するマルチコアプロセッサを提供する。
【解決手段】
一実施形態に係る装置は、複数の実行コアを単一の集積回路に備えるプロセッサ、及び複数のコア識別レジスタであって、各々のコア識別レジスタが前記複数の実行コアの1つに対応し、前記複数の実行コアの前記対応する1つがアクティブか否かを識別する、複数のコア識別レジスタを有する。
【選択図】図1

Description

本発明はデータ処理分野、特に、データ処理装置の冗長性の分野に関する。
一般に、データ処理装置の冗長性は耐障害性、信頼性及び製造歩留まりを改善するために用いられてきた。コンピュータは、ハードウェア障害の場合であってもデータロスが起こらないように、データ記憶ディスク等の冗長な要素とともに構築されてきた。また、コンピュータはプロセッサチップ等の冗長な要素とともに構築されてきた。それは、使用中に故障した要素の自動置換を実現するため、或いは命令を“ロックステップ”で実行すること、すなわち命令を重複して実行すること、により誤り検出を実現するためである。メモリー等の配列状に配置される回路を含むコンピュータチップは、製造上の欠陥を有する列、又は使用の結果として機能しなくなった列を置換するために用いられ得る冗長な列とともに構築されてきた。しかしながら、プロセッサチップ内で冗長性を用いることは、プロセッサのトランジスタ配置の高密度で不規則な性質によって制限されてきた。
本発明の目的は、アクティブ実行コア及び非アクティブ実行コアを有するマルチコアプロセッサを提供することである。
一実施形態に係る装置は、複数の実行コアを単一の集積回路に備えるプロセッサ、及び
複数のコア識別レジスタであって、各々のコア識別レジスタが前記複数の実行コアの1つに対応し、前記複数の実行コアの前記対応する1つがアクティブか否かを識別する、複数のコア識別レジスタを有する。
以下、アクティブ及び非アクティブ実行コアを有するマルチコアプロセッサを含むデータ処理装置、方法、及びシステムの実施形態について述べる。以下の記載では、発明のより完全な理解のため、構成要素及びシステム構成等の多くの具体的詳細事項が説明される。しかしながら、本発明がこのような具体的詳細事項をなくしても実行可能であることは当業者に認識されるであろう。さらに、幾つかの周知の構造、回路、技術及びそれらに類するものについては、不必要に本発明を不明瞭としないために省略することとする。
図1は本発明の実施形態に従ったマルチコアプロセッサ100を例示している。通常、マルチコアプロセッサは1より多い実行コアを有する単一の集積回路である。1つの実行コアは実行命令の論理を有する。マルチコアプロセッサは本発明の範囲内で、実行コアに加えて専用資源又は共有資源の任意の組み合わせを有してもよい。専用資源は、専用1次キャッシュ等の単一のコアに専用の資源でもよいし、コアの任意のサブセットに専用の資源であってもよい。共有資源は、共有2次キャッシュ、又はマルチコアプロセッサと他の構成要素との間のインターフェースを支援する共有外部バスユニット等の、全コアに共有される資源でもよいし、コアの任意のサブセットに共有される資源でもよい。
マルチコアプロセッサ100は5つの実行コア110、120、130、140及び150、並びに5つのコア識別(ID)レジスタ111、121、131、141及び151を有する。マルチコアプロセッサ100はまた、キャッシュ160及び外部バスユニット170を有し、これらは内部バス180を介してコア110、120、130、140及び150に共有される。
実行コア110、120、130、140及び150は相等しく設計される。各々はマルチコアプロセッサ100に適合する命令を独立して実行することが可能である。しかし本実施形態では、マルチコアプロセッサ100は3つのみの実行コアを備えるシステム環境に向けて設計されている。マルチコアプロセッサ100の5つの実行コアの2つは、後述されるように、耐障害性、信頼性、製造歩留まり又はその他のパラメータを改善するために備えられている。故に、コア識別レジスタ111、121、131、141及び151はコア110、120、130、140及び150の何れがアクティブであるかを識別し得る。
例えば、システム環境でマルチコアプロセッサ100内に備えられることが期待される3つの実行コアが、残りのチップ、その他のハードウェア又はソフトウェアによってアドレス“0”、“1”及び“2”を有する実行コアとして識別可能な実施形態において、コアアドレス“0”がコア識別レジスタ111に記憶され、コアアドレス“1”がコア識別レジスタ121に記憶され、そしてコアアドレス“2”がコア識別レジスタ141に記憶され得る。故に、この場合には、コア識別レジスタ111はコア110をアクティブとして識別し、コア識別レジスタ121はコア120をアクティブとして識別し、そしてコア識別レジスタ141はコア140をアクティブとして識別する。コア識別レジスタ111、121、131、141及び151は、コアアドレス“0”、コアアドレス“1”及びコアアドレス“2”の各々が任意のコア識別レジスタに記憶され得るようにプログラム可能である。こうして、マルチコアプロセッサ100の5つのコアの各々及び任意のものがアクティブコアとして識別され得る。アクティブでないコアは、デフォルト設定により非アクティブとして識別され得る、或いはその代わりに、対応するコア識別レジスタの“ダミー”値によって非アクティブとして識別され得る。
他の例として、システム上でマルチコアプロセッサ100を用いて作動するように設計された、オペレーションシステム(“OS”)又は仮想計算機モニター(“VMM”)等のソフトウェアがプログラム若しくは命令を起動する予定を決めること、又は、計算機若しくはその内部のモデルスペシフィックレジスタ(“MSR”)にアクセスすることが可能な実施形態における、コアを識別するパラメータ、オペランド又はアドレスを含む命令又はコマンドを備える特定のコアである。その場合、そのパラメータ又はオペランドに対応する情報が特定のコアのコア識別レジスタに記憶され、それによってそのコアをアクティブとして識別し得る。これに代わる実施形態では、ソフトウェアと実行コアとの間に、マイクロコード又はプロセッサアブストラクションレイヤー(“PAL”)等の、不揮発性メモリーに記憶されたファームウェア又はその他コードのレイヤーが存在してもよい。それらは、コアを識別するパラメータ、オペランド又はアドレスを、アクティブコアのコア識別レジスタに記憶された情報に対応する他のパラメータ、オペランド又はアドレスに言い換え又はマッピングする。さらにこれに代わる実施形態において、ソフトウェアが特定コアの予定を決めること又はそのコアにアクセスすることができない場合には、代わりにPALが特定コアの予定決め、設定及びその他のアクセスを、それらのコア識別レジスタの内容に基づいてアクティブコアにアドレスすることにより実行し得る。
他の実施形態において、ソフトウェア、PAL、又はその他のファームウェアによる特定コアへのアクセス性の共有又は分割の任意の組み合わせがあり得る。例えば、MSR内の特有のビットがコアをOS又はPALに確認してもよいが、プログラム可能設定レジスタの書き込み又は読み取りによってPALがMSRアドレスを異なるコアにマッピング又は言い換えを行ってもよい。図1の実施形態において、コア130内のMSRの内容はコア130をそのダイ上の位置に基づいてコア130として識別し、コア140内のMSRの内容はコア140をコア140として同様に識別する。しかしながら、コアアドレス130へのアクセスをコア140へのアクセスに再配置するように、PALが設定レジスタ、この場合コア識別レジスタ131をプログラムしてもよい。これにより、PALによって、その後のコア130へアドレスする命令がコア130の代わりにコア140へアクセスする命令に言い換えられる結果となる。このようにして、コア130は非アクティブコアとして識別され、コア140はアクティブコアとして識別される。
先述の各々の実施形態において、アクティブコアとは少なくともある特定の時点に命令を実行している或いは実行するために利用可能なコアであり、非アクティブ、すなわち予備の、すなわち冗長なコアとは、ある特定の時点に命令を実行していない或いは実行するために利用可能でないコアである。アクティブコアは対応するコア識別レジスタの内容に基づいて、非アクティブコアと区別可能であり、或いは、命令を実行するために利用可能にされる。
図1の実施形態では、コア識別レジスタ111、121、131、141及び151はプログラム可能である。故に、PAL又は他のファームウェアが、1以上のコア識別レジスタの内容を変更することによってマルチコアプロセッサ100を再設定する。この再設定は本発明の範囲内で、如何なるときにも、すなわちマルチコアプロセッサ100が販売され或いはシステムに組み込まれる前後に拘わらず、為され得る。もし、再設定がプログラム又はプロセスが起動されている最中のアクティブコアを含む場合には、PALは古いアクティブコアから新しいアクティブコアへとコンテキストスイッチをエミュレートしてもよい。あるいは、PALは古いアクティブコアから新しいアクティブコアへとコンテキストスイッチを実行するようにOSに要求してもよい。
マルチコアプロセッサ100において、実行コアを非アクティブからアクティブに再設定すること及び同様に逆に再設定することは、単独又は組み合わせで実現され得る多数の利点をもたらし、マルチコアプロセッサ100を多数のアプリケーションに望ましいものにし得る。
第1にマルチコアプロセッサ100の製造業者は、製造上の欠陥に対して各々のコアを検査し、不具合のある如何なるコアをも非アクティブとして構成することにより、製造歩留まりを改善し得る。PALにアクセス可能なオンパッケージのフラッシュメモリー等の不揮発性メモリーが、何れのコアが動作しないかどうかを示す状態ビットを記憶するために使用され得る。不揮発性メモリーは本発明の範囲内のPALを含むことも含まないこともあり得る。ダイ当たりのトランジスタ総数が増加し、単一のダイ上に置かれるコア、キャッシュ、及びその他の資源をより多く許容するにつれて、この利点はますます有益となる。非アクティブコアを追加することの相対コストは減少し、増大するトランジスタ密度及びダイサイズから見込まれる製造歩留まり低下を相殺するために用いられ得る。
第2に、マルチコアプロセッサ100で構築されたシステムの信頼性、可用性及び有用性が向上され得る。この向上は、現場で不良となるアクティブコアを動作する非アクティブコアで自動的に置換するように整えることにより為される。コアの不良、又はコア不良が差し迫っていることを示す高い誤り率を自動的に検査する、或いはその報告を受け、かつ、不良が検出又は予測される場合にマルチコアプロセッサ100を自動的に再設定するPAL又はその他のファームウェアを用いることによって、この置換はユーザに見える形で為されてもよい。マルチコアプロセッサ100の製造業者は、製造業者が初期不良を減少させるために実施する“通電試験(バーンイン)”工程の時間、温度、電圧又はその他のストレスを軽減するために、この利点を利用し得る。このようなバーンインにおける軽減は、トランジスタの大きさ及び動作電圧が現場における製品寿命を有意に縮めない程度まで減少するにつれて有益となる。
第3に、マルチコアプロセッサの販売業者は、アプリケーション毎に異なる数のコアをアクティブにすることによって、単一部品から製品ラインアップを構築し得る。例えば、製品ラインアップは3つのアクティブコアを備える高価な高性能版のマルチコアプロセッサ100、及び、1つのアクティブコアを備える安価な低性能版を含み得る。
第4に、マルチコアプロセッサ100で構築されたシステムは、アクティブにさせるコア数をユーザに動的に選択させることによって“要求に応じた能力”に対応し得る。例えば、顧客の追加コアの購入に、暗号化されたPAL構成ファイルをシステムに送信することによって対応し得る。
第5に、マルチコアプロセッサ100へのPALコードは、任意の公知技術に従ってロックステップで動作する2つのコアを構成してもよい。ロックステップのコードの極めて重要な部分を選択的に実行するために利用可能な非アクティブコアを有することは、耐障害性の改善をもたらし得る。このように選択的に実行するとき、ロックステップでコードを連続して実行する場合にパワー及び性能にもたらされる影響と比較して、小さな影響しか及ぼさない。
第6に、マルチコアプロセッサ100がサーバシステムで用いられるとき、非アクティブコアはサービスプロセッサとしてアクティブにして用い得る。このサービスプロセッサは、システム動作を監視し、並びに、起動、初期化、検査、エラー、再設定、システムのパーティション設定及びユーザ間での資源の割り振りを扱うためのサービス管理を行い得る。マルチコアプロセッサ100の予備のコアの1つを使用することにより、別個のチップ上の追加プロセッサを用いるときと比較して、アクティブコア、及びマルチコアプロセッサ100のその他資源の動作への、より大きな視認性がもたらされる。
これらの利点及びアプリケーション、又は如何なる他の利点、アプリケーション若しくは要因が、本発明の実施形態におけるアクティブコア及び非アクティブコアの数を選択するために考慮されてもよい。図1の実施形態は3つのアクティブコア及び2つの非アクティブコアを有しているものの、任意の数のコア、任意の数のアクティブコア、及び任意の数の非アクティブコアが本発明の範囲内で可能である。例えば、他の実施形態は8つのアクティブコア及び1つの非アクティブコアを有する。
さらに、本発明の実施形態は冗長で、非アクティブな、又は選択的若しくは動的にアクティブな回路若しくは特徴に関連する公知技術を含んでもよい。例えば、ある実施形態では、非アクティブコアへのクロック又は電力をゲートでオフにするために公知の電力管理技術が用いられてもよい。
図2は本発明の実施形態に従って予備のコアをアクティブにするようにマルチコアプロセッサを再設定することを含む方法を例示している。ブロック210にて、マルチコアプロセッサの実行コアの機能性を検査するテストルーチンが初期化される。テストルーチンは、マルチコアプロセッサ内の若しくはマルチコアプロセッサにアクセス可能な、テスターメモリー、PAL若しくはマイクロコード等の不揮発性メモリー、又は任意の他のメモリーからロードされてもよいし、起動されてもよい。ブロック211にて、第1の実行コアの不良が検出される。ブロック212にて、第1の実行コアが不良であることを示すために、ある値が不揮発性メモリーに書き込まれる。ブロック213にてテストルーチンが終了する。
ブロック220にて、マルチコアプロセッサのアクティブ及び非アクティブコアを設定するために設定ルーチンが開始される。設定ルーチンはマルチコアプロセッサに適合するPAL、OS、又はその他のファームウェア若しくはソフトウェアのルーチンであってもよい。ブロック221にて、第1のコアが不良であることを決定するために不揮発性メモリーが読み取られる。ブロック222にて、第1の実行コアが非アクティブに設定される。例えば非アクティブコアのアドレスに対応する値を第1のコア識別レジスタに書き込むことによって、ブロック222は実行される。ブロック223にて、第2の実行コアがアクティブに設定される。例えばアクティブコアのアドレスに対応する値を第2のコア識別レジスタに書き込むことによって、ブロック223が実行される。ブロック224にて、第3の実行コアが非アクティブに設定される。例えば、非アクティブコアのアドレスに対応する値を第3のコア識別レジスタに書き込むことによって、ブロック224は実行される。ブロック225にて設定ルーチンが終了する。
ブロック230にて、アクセスがマルチコアプロセッサのアクティブコアに対して初期化される。ここで、アクセスとは、OS、VMM、PAL又は任意の他のソフトウェア若しくはファームウェアにより実行されるプログラム若しくはプロセス、MSRの読み取り若しくは書き込み、又は任意の他の型のアクセスの予定を決めることである。ブロック231にて、アクセスが第2のコアに命令される。ブロック231は、例えば、第2のコア識別レジスタの内容に従って第2のコアをアドレスすることによって果たされる。ブロック232にて、例えば、第2のコアに予定が決められたプログラムを第2のコア上で実行することによって、アクセスが完了する。
ブロック240にて、OS、VMM、PAL又は他のソフトウェア若しくはファームウェアが、マルチコアプロセッサ上で実行されるべき命令がロックステップで実行されることを要求又は決定する。ブロック241にて、第3の実行コアがアクティブに設定される。例えば、アクティブコアのアドレスに対応する値を第3のコア識別レジスタに書き込むPAL又は他のファームウェアによって、ブロック241が実行される。ブロック242にて、マルチコアプロセッサが第2及び第3の実行コアをロックステップで起動するように設定される。ブロック243にて、命令が第2及び第3の実行コアにてロックステップで起動される。ブロック244にて、第3の実行コアが非アクティブに設定される。例えば、非アクティブコアのアドレスに対応する値を第3のコア識別レジスタに書き込むPAL又は他のファームウェアによって、ブロック244が実行される。
ブロック250にて、プログラム又はプロセスが第2のコアで初期化される。このプログラム又はプロセスは、マルチコアプロセッサ上で起動されるように設計された、コアの機能性をテストするPALテストルーチンを含む任意のプログラム又はプロセスである。ブロック251にて、プログラム又はプロセスにエラーが発生する。ブロック252にて、エラーがPAL又は他のファームウェアに報告される。
ブロック260にて、PAL又は他のファームウェアが第3のコアがアクティブにされるべきことを決定する。この決定はブロック252のように第2のコアでのエラー報告を受信したPAL、第2のコアでのエラー報告の度合いを監視するPAL、第2コアでの過渡的エラー数が所定の閾値を超えたことを決定するPAL、第2のコアでのエラー若しくは閾値を超えるエラーをその他の方法で検出するPAL、第2のコア若しくは他の任意のアクティブコアが非アクティブにされるべきことを決定する任意のハードウェア、ファームウェア、ソフトウェア、若しくはユーザ、追加のコアがアクティブにされるべきことを決定する任意のハードウェア、ファームウェア、ソフトウェア、若しくはユーザ、又はその他の任意の要因に基づく。ブロック261にて、第2の実行コアで起動している如何なるプログラム、プロセス又は命令ストリームもが停止され、第2の実行コアの状態が抽出されてメモリーに保存され、かつ、第2の実行コアが非アクティブに設定される。ブロック261は、例えば、PAL又は他のファームウェアによって非アクティブコアのアドレスに対応する値を第2のコア識別レジスタに書き込むことを含んでもよいし、第2の実行コアが不良であることの表示を不揮発性メモリーに記憶することを含んでもよい。ブロック262にて、第3の実行コアがアクティブに設定される。ブロック262は、例えば、PAL又は他のファームウェアによってアクティブコアのアドレスに対応する値を第3のコア識別レジスタに書き込むことを含んでもよい。例えば、ブロック262にて第3のコア識別レジスタに書き込まれる値は、ブロック223にて第2のコア識別レジスタに書き込まれた値と同一でもよい。言い換えれば、或いは任意の他の手法では、第3の実行コアはそれまで第2の実行コアに関連していた識別性が与えられる。その代わりに、第3のコア識別レジスタに書き込まれる値は、第2のコアのアドレスに関連していた値以外の任意の他の値、又は、アクティブコアに関連する任意の他の値でもよい。ブロック262はまた、保存された状態を第2の実行コアから第3の実行コアにロードすることを含んでもよい。
ブロック270にて、アクセスはマルチコアプロセッサのアクティブコアに初期化される。アクセスとは、OS、VMM、PAL又は任意の他のソフトウェア若しくはファームウェアにより実行されるプログラム若しくはプロセス、MSRの読み取り若しくは書き込み、又は任意の他の型のアクセスの予定を決めることである。特に、アクセスは、ブロック230で予定が決められたコアと同じコアでプログラムを実行する予定を決めるOS、ブロック230でアクセスされたコアと同じMSRにアクセスするPAL、又はブロック230と同じコアへの他の任意のアクセス等の、ブロック230でのアクセスと同一のものでもよい。代わりの方法として、アクセスは特定コアの識別性を参照することを含まなくてもよい。ブロック271にて、アクセスは第3のコアに向けられる。ブロック271は、例えば、第3のコア識別レジスタの内容に従って第3のコアをアドレスすることによって実行される。あるいは、又は共同して、PAL又は他のファームウェアが、第2のコア識別レジスタの内容を読み取ること、第2のコアが非アクティブであることを決定すること、アクセスに関連するアドレスを第2のコアから第3のコアに変換すること、第3のコアへのアクセスを再マッピングすること、又は、これらの処置の任意の組み合わせによって、ブロック271は実行されてもよい。ブロック272にて、例えば、第2のコアに向けて予定を決められたプログラムを第3のコアで実行することによって、アクセスが完了する。
本発明の範囲内で、図2に例示された方法は、異なる順番で、例示された工程を省略して、追加工程を付加して、あるいは再順序付け、省略若しくは追加の工程を組み合わせて実行され得る。
図3は本発明の実施形態に従ったアクティブ及び非アクティブコアを有するマルチコアプロセッサ100を含むシステム300を例示している。システム300はまた、バス若しくはバス群を介して、メモリー制御器若しくはシステム論理等の任意の他の構成要素を介して、又は直接接続、バス群若しくは構成要素の任意の組み合わせを介して、マルチコアプロセッサ100と直接結合し得る不揮発性メモリー310及びシステムメモリー320を有する。
不揮発性メモリー310は、半導体を基礎とするプログラム可能読み出し専用メモリー又はフラッシュメモリー等の任意の形式の不揮発性又は持続性記憶装置でよい。不揮発性メモリーは、システム300の電源が入っていない期間にも保存されるべきPAL、実行コアが不良か否かを示す状態レジスタ、及び任意の他の命令若しくは情報を記憶するために用いられ得る。
システムメモリー320は、スタティック若しくはダイナミックなランダムアクセスメモリー(RAM)又は磁気式若しくは光学式のディスクメモリー等の任意の形式の記憶装置でよい。システムメモリー320は、マルチコアプロセッサ100によって実行されるべき命令若しくは操作されるべきデータ、又は、OSのソフトウェア、アプリケーションソフトウェア若しくはユーザデータ等の任意の形態のこのような情報を記憶するために用いられ得る。
システム300はまた、プロセッサ100、不揮発性メモリー310及びシステムメモリー320に加えて、周辺バス等の任意のその他のバス群、又は入力/出力デバイス等の構成要素を有してもよい。
本発明の実施形態に従って設計されたプロセッサ100、又は任意のその他の構成要素若しくは構成要素の部分は、シミュレーションのための創作から製造まで様々な段階で設計され得る。設計を表すデータは多数の方法でその設計を表し得る。先ず、シミュレーションで便利なように、ハードウェアはハードウェア記述言語又は他の機能的記述言語を用いて表されてもよい。加えて、又は代わりに、論理及び/又はトランジスタゲートを用いた回路レベルのモデルが設計過程のある段階で作成されてもよい。さらに、ある段階において、大抵の設計が様々なデバイスの物理配置を表すデータでモデル化され得る水準に達する。従来からの半導体製造技術が用いられる場合、デバイス配置モデルを表すデータは、集積回路を作成するためのマスクの異なるマスクレイヤー上に、様々な特徴部が存在すること又は存在しないことを特定するデータであってもよい。
如何なる設計表現であっても、データは機械読み取り可能媒体の任意の形態で記憶され得る。そのような情報を伝達するために変調され、或いはその他の方法で生成された光学的若しくは電気的な波形、メモリー、又はディスク等の磁気式若しくは光学式の記憶媒体は機械読み取り可能媒体であり得る。これらの媒体の如何なるものも設計、又はエラー修復ルーチンにおける命令等の本発明の実施形態において用いられるその他の情報を運び得るし、指し示し得る。情報を指し示している或いは運んでいる電気的搬送波が伝達されるとき、その電気信号の複製、バッファリング、再伝達が実行される範囲において、新しい複製が作成される。故に、通信プロバイダー又はネットワークプロバイダーの行為は、例えば搬送波等の物件の複製を作成する行為であり、本発明に係る技術を具現化する行為である。
このように、アクティブ実行コア及び非アクティブ実行コアを有するマルチコアプロセッサが開示された。ここでは、ある特定の実施形態が記述され、添付の図面に示されてきたが、これらの実施形態は本発明の範囲を単に例示するものであり、限定するものでない。また、この開示を受けた当業者には様々な変形が思い付くものであり、本発明は示され記述された具体的な構造及び配置に限定されるものではない。このような成長が早く、さらなる進歩が容易に予見できない技術分野においては、開示された実施形態は、ここで開示された原理又は添付の請求項の範囲を逸脱することなく、可能となる技術進歩によって促進されるように、容易に配置及び詳細の変更が可能である。
本発明の実施形態に従ったアクティブ及び非アクティブ実行コアを有するマルチコアプロセッサを例示する図である。 本発明の実施形態に従って予備のコアをアクティブにするようにマルチコアプロセッサを再設定することを含む方法を例示する図である。 本発明の実施形態に従ったアクティブ及び非アクティブ実行コアを有するマルチコアプロセッサを有するシステムを例示する図である。
符号の説明
100 マルチコアプロセッサ
110、120、130、140、150 実行コア
111、121、131、141、151 コア識別レジスタ
160 キャッシュ
170 外部バスユニット
180 内部バス
300 システム
310 不揮発性メモリー
320 システムメモリー

Claims (20)

  1. 複数の実行コアを単一の集積回路に備えるプロセッサ;及び
    複数のコア識別レジスタであって、各々のコア識別レジスタが前記複数の実行コアの1つに対応し、前記複数の実行コアの前記対応する1つがアクティブか否かを識別する、複数のコア識別レジスタ;
    を有する装置。
  2. 請求項1に記載の装置であって、前記複数の実行コアが複数の相等しい実行コアである、ところの装置。
  3. 請求項1に記載の装置であって、前記複数の実行コアの1つが非アクティブに設定される、ところの装置。
  4. 請求項3に記載の装置であって、前記プロセッサによって実行されるとき前記複数の実行コアの1つをアクティブに再設定する命令を記憶するための不揮発性メモリーをさらに有する装置。
  5. 請求項1に記載の装置であって、前記複数のコア識別レジスタの第1の1つが前記複数の実行コアの第1の1つを非アクティブからアクティブにプログラム可能である、ところの装置。
  6. 請求項5に記載の装置であって、前記複数のコア識別レジスタの第2の1つが前記複数の実行コアの第2の1つをアクティブから非アクティブにプログラム可能である、ところの装置。
  7. マルチコアプロセッサの予備のコアがアクティブにされるべきことを決定する工程;及び
    前記予備のコアをアクティブにするように前記マルチコアプロセッサを設定する工程;
    を有する方法。
  8. 請求項7に記載の方法であって、前記予備のコアがアクティブにされるべきことを決定する工程が、マルチコアプロセッサのアクティブコアが置換されるべきことを決定することを有する、ところの方法。
  9. 請求項8に記載の方法であって、前記アクティブコアを非アクティブにするように前記マルチコアプロセッサを設定する工程をさらに有する方法。
  10. 請求項9に記載の方法であって、前記アクティブコアを不良品としてラベリングする工程をさらに有する方法。
  11. 請求項9に記載の方法であって、前記アクティブコアの状態を保存する工程をさらに有する方法。
  12. 請求項11に記載の方法であって、前記アクティブコアの状態を前記予備のコアにロードする工程をさらに有する方法。
  13. 請求項7に記載の方法であって、前記予備のコアがアクティブにされるべきことを決定する工程が、マルチコアプロセッサのアクティブコアが前記予備のコアとロックステップで実行することを決定することを有する、ところの方法。
  14. 請求項13に記載の方法であって、前記予備のコアをアクティブにするように前記マルチコアプロセッサを設定する工程が、前記アクティブコア及び前記予備のコアをロックステップで実行するように設定することを有する、ところの方法。
  15. 請求項7に記載の方法であって、前記予備のコアをアクティブにするように前記マルチコアプロセッサを設定する工程が、前記予備のコアに対応するコア識別レジスタの内容を変更することを有する、ところの方法。
  16. 第1のプログラムをマルチコアプロセッサの第1のコア上で実行するように予定を決める工程;
    前記第1のプログラムを前記第1のコア上で実行する工程;
    前記第1のコアの識別表示を第2のコアにマッピングするようにマルチコアプロセッサを再設定する工程;
    第2のプログラムをマルチコアプロセッサの前記第1のコア上で実行するように予定を決める工程;及び
    前記第2のプログラムを前記第2のコア上で実行する工程;
    を有する方法。
  17. 請求項16に記載の方法であって、前記第1のコアの識別表示を第2のコアにマッピングするようにマルチコアプロセッサを再設定する工程が、前記第2のコアに対応するコア識別レジスタの内容を変更することを有する、ところの方法。
  18. 請求項16に記載の方法であって、前記第1のコアが置換されるべきことを決定する工程をさらに有する方法。
  19. 請求項18に記載の方法であって、前記第1のコアが置換されるべきことを決定する工程が、前記第1のプログラムの実行においてエラーを検出することを有する、ところの方法。
  20. ダイナミックRAM;
    複数の実行コアを単一の集積回路に備えるプロセッサ;及び
    複数のコア識別レジスタであって、各々のコア識別レジスタが前記複数の実行コアの1つに対応し、前記複数の実行コアの前記対応する1つがアクティブか否かを識別する、複数のコア識別レジスタ;
    を有するシステム。
JP2006069720A 2005-03-15 2006-03-14 アクティブ及び非アクティブ実行コアを有するマルチコアプロセッサ Pending JP2006260568A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/081,306 US20060212677A1 (en) 2005-03-15 2005-03-15 Multicore processor having active and inactive execution cores

Publications (1)

Publication Number Publication Date
JP2006260568A true JP2006260568A (ja) 2006-09-28

Family

ID=37002698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006069720A Pending JP2006260568A (ja) 2005-03-15 2006-03-14 アクティブ及び非アクティブ実行コアを有するマルチコアプロセッサ

Country Status (3)

Country Link
US (1) US20060212677A1 (ja)
JP (1) JP2006260568A (ja)
CN (2) CN103294557B (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008108055A (ja) * 2006-10-25 2008-05-08 Sony Corp 半導体チップ
JP2008123031A (ja) * 2006-11-08 2008-05-29 Toyota Motor Corp 共有メモリ管理装置及び該装置を備えたマルチプロセッサシステム
JP2008135018A (ja) * 2006-10-31 2008-06-12 Semiconductor Energy Lab Co Ltd 半導体装置
JP2010126012A (ja) * 2008-11-28 2010-06-10 Hitachi Automotive Systems Ltd 車両制御用マルチコアシステムまたは内燃機関の制御装置
US7937615B2 (en) 2006-12-19 2011-05-03 Hitachi, Ltd. Method for improving reliability of multi-core processor computer
JP2012146234A (ja) * 2011-01-14 2012-08-02 Nec Corp 制御装置、及びファームウェア更新方法とそのプログラム
US8396425B2 (en) 2006-10-31 2013-03-12 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US10394675B2 (en) 2015-01-21 2019-08-27 Hitachi Automotive Systems, Ltd. Vehicle control device

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2894709A1 (fr) * 2005-12-13 2007-06-15 Gemplus Sa "detecteur de destruction anormale de secteur memoire"
CN101390067B (zh) * 2006-02-28 2012-12-05 英特尔公司 增强众核处理器的可靠性
US8412981B2 (en) * 2006-12-29 2013-04-02 Intel Corporation Core sparing on multi-core platforms
CN101236515B (zh) * 2007-01-31 2010-05-19 迈普通信技术股份有限公司 多核***单核异常的恢复方法
US20080228971A1 (en) * 2007-03-13 2008-09-18 Rothman Michael A Device modeling in a multi-core environment
US8055822B2 (en) * 2007-08-21 2011-11-08 International Business Machines Corporation Multicore processor having storage for core-specific operational data
US8544006B2 (en) * 2007-12-19 2013-09-24 International Business Machines Corporation Resolving conflicts by restarting execution of failed discretely executable subcomponent using register and memory values generated by main component after the occurrence of a conflict
US8495636B2 (en) * 2007-12-19 2013-07-23 International Business Machines Corporation Parallelizing single threaded programs by performing look ahead operation on the single threaded program to identify plurality of instruction threads prior to execution
WO2009081736A1 (ja) * 2007-12-26 2009-07-02 Nec Corporation 冗長構成管理システムおよび方法
US7802042B2 (en) 2007-12-28 2010-09-21 Intel Corporation Method and system for handling a management interrupt event in a multi-processor computing device
US20090172232A1 (en) * 2007-12-28 2009-07-02 Zimmer Vincent J Method and system for handling a management interrupt event
CN101217467B (zh) * 2007-12-28 2010-10-27 杭州华三通信技术有限公司 核间负载分发装置及方法
US7962771B2 (en) * 2007-12-31 2011-06-14 Intel Corporation Method, system, and apparatus for rerouting interrupts in a multi-core processor
US20090187735A1 (en) * 2008-01-22 2009-07-23 Sonix Technology Co., Ltd. Microcontroller having dual-core architecture
US8010822B2 (en) 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors
US8037350B1 (en) * 2008-04-30 2011-10-11 Hewlett-Packard Development Company, L.P. Altering a degree of redundancy used during execution of an application
US7941698B1 (en) * 2008-04-30 2011-05-10 Hewlett-Packard Development Company, L.P. Selective availability in processor systems
US20090309243A1 (en) * 2008-06-11 2009-12-17 Nvidia Corporation Multi-core integrated circuits having asymmetric performance between cores
US8296773B2 (en) * 2008-06-30 2012-10-23 International Business Machines Corporation Systems and methods for thread assignment and core turn-off for integrated circuit energy efficiency and high-performance
US8327114B1 (en) 2008-07-07 2012-12-04 Ovics Matrix processor proxy systems and methods
US8145880B1 (en) 2008-07-07 2012-03-27 Ovics Matrix processor data switch routing systems and methods
US7870365B1 (en) 2008-07-07 2011-01-11 Ovics Matrix of processors with data stream instruction execution pipeline coupled to data switch linking to neighbor units by non-contentious command channel / data channel
US7958341B1 (en) 2008-07-07 2011-06-07 Ovics Processing stream instruction in IC of mesh connected matrix of processors containing pipeline coupled switch transferring messages over consecutive cycles from one link to another link or memory
US8131975B1 (en) 2008-07-07 2012-03-06 Ovics Matrix processor initialization systems and methods
US8140825B2 (en) * 2008-08-05 2012-03-20 International Business Machines Corporation Systems and methods for selectively closing pages in a memory
CN101403982B (zh) * 2008-11-03 2011-07-20 华为技术有限公司 一种多核处理器的任务分配方法和***
US8122269B2 (en) * 2009-01-07 2012-02-21 International Business Machines Corporation Regulating power consumption in a multi-core processor by dynamically distributing power and processing requests by a managing core to a configuration of processing cores
US8539155B1 (en) * 2009-09-21 2013-09-17 Tilera Corporation Managing home cache assignment
US8381004B2 (en) * 2010-05-26 2013-02-19 International Business Machines Corporation Optimizing energy consumption and application performance in a multi-core multi-threaded processor system
US20110320766A1 (en) * 2010-06-29 2011-12-29 Youfeng Wu Apparatus, method, and system for improving power, performance efficiency by coupling a first core type with a second core type
US9268611B2 (en) 2010-09-25 2016-02-23 Intel Corporation Application scheduling in heterogeneous multiprocessor computing platform based on a ratio of predicted performance of processor cores
US8479042B1 (en) * 2010-11-01 2013-07-02 Xilinx, Inc. Transaction-level lockstep
CN101996087B (zh) * 2010-12-02 2013-12-04 北京星河亮点技术股份有限公司 多核处理器阵列程序的动态加载方法
US8443230B1 (en) * 2010-12-15 2013-05-14 Xilinx, Inc. Methods and systems with transaction-level lockstep
WO2012092268A1 (en) * 2010-12-29 2012-07-05 Citrix Systems, Inc. Systems and methods for scalable n-core statistics aggregation
US8683243B2 (en) * 2011-03-11 2014-03-25 Intel Corporation Dynamic core selection for heterogeneous multi-core systems
US8799693B2 (en) 2011-09-20 2014-08-05 Qualcomm Incorporated Dynamic power optimization for computing devices
US9098309B2 (en) 2011-09-23 2015-08-04 Qualcomm Incorporated Power consumption optimized translation of object code partitioned for hardware component based on identified operations
US20140325183A1 (en) * 2011-11-28 2014-10-30 Freescale Semiconductor, Inc. Integrated circuit device, asymmetric multi-core processing module, electronic device and method of managing execution of computer program code therefor
CN104137072A (zh) * 2011-12-30 2014-11-05 英特尔公司 在多核心环境中管理硬件错误的方法和装置
DE102012201185A1 (de) * 2012-01-27 2013-08-01 Siemens Aktiengesellschaft Verfahren zum Betreiben mindestens zweier Datenverarbeitungseinheiten mit hoher Verfügbarkeit, insbesondere in einem Fahrzeug, und Vorrichtung zum Betreiben einer Maschine
US8782466B2 (en) * 2012-02-03 2014-07-15 Hewlett-Packard Development Company, L.P. Multiple processing elements
US20140359350A1 (en) * 2012-02-24 2014-12-04 Jeffrey A PLANK Wear-leveling cores of a multi-core processor
WO2013162523A1 (en) * 2012-04-24 2013-10-31 Intel Corporation Dynamic interrupt reconfiguration for effective power management
CN103376877B (zh) * 2012-04-26 2017-12-01 深圳市中兴微电子技术有限公司 一种多核处理器时钟控制装置及控制方法
US8799710B2 (en) * 2012-06-28 2014-08-05 International Business Machines Corporation 3-D stacked multiprocessor structures and methods to enable reliable operation of processors at speeds above specified limits
US10581763B2 (en) 2012-09-21 2020-03-03 Avago Technologies International Sales Pte. Limited High availability application messaging layer
US9967106B2 (en) 2012-09-24 2018-05-08 Brocade Communications Systems LLC Role based multicast messaging infrastructure
US8949659B2 (en) * 2012-10-18 2015-02-03 International Business Machines Corporation Scheduling workloads based on detected hardware errors
DE102012219176A1 (de) * 2012-10-22 2014-04-24 Siemens Aktiengesellschaft Kommunikationsnetzwerk und Verfahren zum Betreiben eines Kommunikationsnetzwerkes
US9135126B2 (en) * 2013-02-07 2015-09-15 International Business Machines Corporation Multi-core re-initialization failure control system
US9952579B2 (en) * 2013-02-15 2018-04-24 Mitsubishi Electric Corporation Control device
CN105210038B (zh) * 2013-05-15 2018-10-30 英派尔科技开发有限公司 核亲和性位掩码变换
JP6399916B2 (ja) * 2014-01-20 2018-10-03 キヤノン株式会社 情報処理装置およびその制御方法
KR102033434B1 (ko) * 2014-01-28 2019-10-17 한국전자통신연구원 동적 컨텍스트 스위칭 기반 멀티코어 에뮬레이션 장치 및 방법
US9395797B2 (en) 2014-07-02 2016-07-19 Freescale Semiconductor, Inc. Microcontroller with multiple power modes
WO2016007140A1 (en) * 2014-07-08 2016-01-14 Intel Corporation Techniques to achieve area reduction through co-optimizing logic core blocks and memory redundancies
US9190989B1 (en) 2014-10-07 2015-11-17 Freescale Semiconductor, Inc. Integrated circuit power management
US9619349B2 (en) * 2014-10-14 2017-04-11 Brocade Communications Systems, Inc. Biasing active-standby determination
US9710273B2 (en) 2014-11-21 2017-07-18 Oracle International Corporation Method for migrating CPU state from an inoperable core to a spare core
US10761925B2 (en) * 2015-03-24 2020-09-01 Nxp Usa, Inc. Multi-channel network-on-a-chip
US20170052799A1 (en) * 2015-08-21 2017-02-23 Microchip Technology Incorporated Integrated Circuit Device With Selectable Processor Core
US10372493B2 (en) * 2015-12-22 2019-08-06 Intel Corporation Thread and/or virtual machine scheduling for cores with diverse capabilities
US10552270B2 (en) * 2016-12-22 2020-02-04 Intel Corporation Systems and methods for in-field core failover
US11042681B1 (en) * 2017-03-24 2021-06-22 Ansys, Inc. Integrated circuit composite test generation
US10509692B2 (en) * 2017-05-31 2019-12-17 2236008 Ontario Inc. Loosely-coupled lock-step chaining
EP3428748B1 (de) * 2017-07-13 2020-08-26 Siemens Aktiengesellschaft Verfahren und anordnung zum betrieb von zwei redundanten systemen
US11010330B2 (en) * 2018-03-07 2021-05-18 Microsoft Technology Licensing, Llc Integrated circuit operation adjustment using redundant elements
US20190042351A1 (en) * 2018-04-02 2019-02-07 Intel Corporation Self-healing in a computing system using embedded non-volatile memory
CN109508260B (zh) * 2018-10-31 2021-11-12 西北工业大学 一种自修复处理器对锁步***的可靠性建模与分析方法
US11573830B2 (en) * 2019-09-27 2023-02-07 Intel Corporation Software defined silicon implementation and management
WO2021062243A2 (en) * 2019-09-27 2021-04-01 Intel Corporation Systems, methods, and apparatus for software defined silicon security
US11977612B2 (en) 2020-07-07 2024-05-07 Intel Corporation Software defined silicon guardianship
US20220206875A1 (en) * 2020-12-24 2022-06-30 Intel Corporation Software visible and controllable lock-stepping with configurable logical processor granularities

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4191996A (en) * 1977-07-22 1980-03-04 Chesley Gilman D Self-configurable computer and memory system
US5179715A (en) * 1987-03-11 1993-01-12 Toyo Communication Co., Ltd. Multiprocessor computer system with process execution allocated by process managers in a ring configuration
US4800302A (en) * 1987-07-17 1989-01-24 Trw Inc. Redundancy system with distributed mapping
US5903717A (en) * 1997-04-02 1999-05-11 General Dynamics Information Systems, Inc. Fault tolerant computer system
JP2000181890A (ja) * 1998-12-15 2000-06-30 Fujitsu Ltd マルチプロセッサ交換機及びその主プロセッサ切替方法
US6653859B2 (en) * 2001-06-11 2003-11-25 Lsi Logic Corporation Heterogeneous integrated circuit with reconfigurable logic cores
US6779065B2 (en) * 2001-08-31 2004-08-17 Intel Corporation Mechanism for interrupt handling in computer systems that support concurrent execution of multiple threads
JP3982353B2 (ja) * 2002-07-12 2007-09-26 日本電気株式会社 フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
US7676655B2 (en) * 2004-06-30 2010-03-09 Sun Microsystems, Inc. Single bit control of threads in a multithreaded multicore processor
US7606995B2 (en) * 2004-07-23 2009-10-20 Hewlett-Packard Development Company, L.P. Allocating resources to partitions in a partitionable computer

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008108055A (ja) * 2006-10-25 2008-05-08 Sony Corp 半導体チップ
JP2008135018A (ja) * 2006-10-31 2008-06-12 Semiconductor Energy Lab Co Ltd 半導体装置
US8396425B2 (en) 2006-10-31 2013-03-12 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US9362984B2 (en) 2006-10-31 2016-06-07 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
JP2008123031A (ja) * 2006-11-08 2008-05-29 Toyota Motor Corp 共有メモリ管理装置及び該装置を備えたマルチプロセッサシステム
US7937615B2 (en) 2006-12-19 2011-05-03 Hitachi, Ltd. Method for improving reliability of multi-core processor computer
JP2010126012A (ja) * 2008-11-28 2010-06-10 Hitachi Automotive Systems Ltd 車両制御用マルチコアシステムまたは内燃機関の制御装置
JP4709268B2 (ja) * 2008-11-28 2011-06-22 日立オートモティブシステムズ株式会社 車両制御用マルチコアシステムまたは内燃機関の制御装置
US8417990B2 (en) 2008-11-28 2013-04-09 Hitachi Automotive Systems, Ltd. Multi-core processing system for vehicle control or an internal combustion engine controller
JP2012146234A (ja) * 2011-01-14 2012-08-02 Nec Corp 制御装置、及びファームウェア更新方法とそのプログラム
US10394675B2 (en) 2015-01-21 2019-08-27 Hitachi Automotive Systems, Ltd. Vehicle control device

Also Published As

Publication number Publication date
CN103294557A (zh) 2013-09-11
US20060212677A1 (en) 2006-09-21
CN103294557B (zh) 2018-04-27
CN1834950A (zh) 2006-09-20
CN1834950B (zh) 2013-03-27

Similar Documents

Publication Publication Date Title
JP2006260568A (ja) アクティブ及び非アクティブ実行コアを有するマルチコアプロセッサ
US10180866B2 (en) Physical memory fault mitigation in a computing environment
CN103119554B (zh) 提供平台无关的存储器逻辑
US8782469B2 (en) Request processing system provided with multi-core processor
CN101369247B (zh) 创建存储器缺陷映射表并使用该映射表优化性能的方法
CN112667445B (zh) 封装后的内存修复方法及装置、存储介质、电子设备
US7665005B2 (en) In situ processor margin testing
WO2022247139A1 (zh) 一种服务器的日志输出方法、***及相关装置
KR20090081405A (ko) 파티션 유닛을 교체하는 방법 및 컴퓨터 판독가능 매체
WO2008082455A1 (en) Reconfiguring a secure system
CN102479121A (zh) 独立磁盘冗余阵列实现及测试方法
CN103164316B (zh) 硬件监视器
US7607038B2 (en) Systems and methods for CPU repair
CN113672430A (zh) 运行虚拟机的***、操作其的方法、介质和存储器件
US9250942B2 (en) Hardware emulation using on-the-fly virtualization
US6625728B1 (en) Method and apparatus for locating and displaying a defective component in a data processing system during a system startup using location and progress codes associated with the component
US7694175B2 (en) Methods and systems for conducting processor health-checks
US7607040B2 (en) Methods and systems for conducting processor health-checks
US20200371694A1 (en) System and Method for Persistent Memory Rotation Based on Remaining Write Endurance
US7353328B2 (en) Memory testing
US20230097344A1 (en) Dynamic repartition of memory physical address mapping
US7533293B2 (en) Systems and methods for CPU repair
US10922023B2 (en) Method for accessing code SRAM and electronic device
US8661289B2 (en) Systems and methods for CPU repair
Clarke et al. IBM System z10 design for RAS

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080729

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081029

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090127