JP2023042054A - プロセッサ - Google Patents
プロセッサ Download PDFInfo
- Publication number
- JP2023042054A JP2023042054A JP2021149131A JP2021149131A JP2023042054A JP 2023042054 A JP2023042054 A JP 2023042054A JP 2021149131 A JP2021149131 A JP 2021149131A JP 2021149131 A JP2021149131 A JP 2021149131A JP 2023042054 A JP2023042054 A JP 2023042054A
- Authority
- JP
- Japan
- Prior art keywords
- mode
- core
- processor
- dual
- cores
- 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
Links
- 238000003745 diagnosis Methods 0.000 claims abstract description 43
- 230000006870 function Effects 0.000 claims abstract description 18
- 238000000034 method Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 17
- 238000006243 chemical reaction Methods 0.000 description 8
- 230000005856 abnormality Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Hardware Redundancy (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
【課題】マルチコアモードでの処理を高速化し、性能と機能安全の要求を両立させるプロセッサを提供する。【解決手段】デュアルコアロックステップ機構を備えるプロセッサにおいて、コアの故障診断方法は、デュアルコアロックステップモードで実行し、故障診断以外の機能はマルチコアモードで実行するように切り替える動的切替モードを有する。動的切替モードでは、所定の実行周期の中で、デュアルコアロックステップモードとマルチコアモードの切替えを行う。【選択図】図6
Description
本発明は、複数のコアを有するプロセッサに関する。
従来から、故障検出機構(デュアルコアロックステップ)を備えたプロセッサシステムが知られている(特許文献1)。デュアルコアロックステップでは、2つのコアに全く同じ演算を実行させ、出力を比較してプロセッサの故障を検出するため、実際の性能はシングルコアと同等になる。
このため、機能安全の要求レベルに応じて、ディアルコアロックステップモードとマルチコアモードとを動的に切り替えられるプロセッサも開発されている。こうしたプロセッサでは、例えば、Automotive Safety Integrity Level(自動車安全水準:以下「ASIL」という。)におけるC、Dなどの厳しい安全要求が求められるアプリケーションの実行時はデュアルコアロックステップモードで動作し、ASIL B以下の安全要求の場合は、マルチコアモードで動作するように制御することができる。
マルチコアモードの動作時にプロセッサの故障を検出するには、それぞれのプロセッサでソフトウェア診断(プロセッサで診断用の演算を実施する)を行う必要があるが、診断実行時間が増加し、マルチコアモードの恩恵が得られ難いという問題がある。さらに、診断のためには演算結果の期待値データを予めROMやRAMに格納しておく必要があるため、メモリリソースを圧迫するという課題もある。
そこで、本発明は、マルチコアモードでの処理を高速化し、性能と機能安全の要求を両立させるプロセッサを提供することを目的とする。
本発明は上記課題を解決するために以下の技術的手段を採用する。
本発明のプロセッサは、デュアルコアロックステップ機構を備えるプロセッサであって、コアの故障診断はデュアルコアロックステップモードで実行し、故障診断以外の機能はマルチコアモードで実行するように切り替える動的切替モードを有する。
本発明のプロセッサは、デュアルコアロックステップ機構を備えるプロセッサであって、コアの故障診断はデュアルコアロックステップモードで実行し、故障診断以外の機能はマルチコアモードで実行するように切り替える動的切替モードを有する。
また、本発明の他の態様のプロセッサは、複数のコアを備えるプロセッサであって、複数のコアの演算結果を比較する比較器と、コアの故障診断は、複数のコアで同じ演算を実行させてその演算結果を比較し、故障診断以外の機能は、複数のコアで別の演算を並列実行させる制御部とを備える。
本発明の構成により、コアの故障診断時間を短縮できるので、安全性を確保しつつ、マルチコアでの実行時間を増やすことができる。
以下、本発明の実施の形態のプロセッサについて図面を参照しつつ説明する。
図1は、実施の形態のプロセッサの構成を示す図である。プロセッサは、演算ユニットである第1のコア1および第2のコア2と、第1のコア1と第2のコア2の出力を比較する比較器3と、プロセッサの実行モードを変更するためのマルチプレクサMUX(Multiplexer)4と、ゲート5と、モードの切替えを制御する制御部6とを備えている。第1のコア1と第2のコア2は同じ構成を備えており、同じデータが入力されると同じ演算結果を出力する。プロセッサは、第1のコア1と第2のコア2の演算結果を比較することで、故障を検出するデュアルコアロックステップ機構を有している。
図1は、実施の形態のプロセッサの構成を示す図である。プロセッサは、演算ユニットである第1のコア1および第2のコア2と、第1のコア1と第2のコア2の出力を比較する比較器3と、プロセッサの実行モードを変更するためのマルチプレクサMUX(Multiplexer)4と、ゲート5と、モードの切替えを制御する制御部6とを備えている。第1のコア1と第2のコア2は同じ構成を備えており、同じデータが入力されると同じ演算結果を出力する。プロセッサは、第1のコア1と第2のコア2の演算結果を比較することで、故障を検出するデュアルコアロックステップ機構を有している。
プロセッサは、第1のコア1へのデータを入力する第1のラインL1と、第2のコア2へのデータを入力する第2のラインL2を有している。第1のラインL1は分岐され、一方が第1のコア1に接続され、他方がマルチプレクサ4に接続されている。第2のラインL2はマルチプレクサ4に接続されている。また、プロセッサは、モード切替信号を入力する第3のラインL3を有している。第3のラインL3は、制御部6に接続されている。
制御部6は、モード切替信号に基づいて、プロセッサをデュアルコアロックステップ(以下「DCLS」という)モードで動作させるか、マルチコアモードで動作させるかを切り替える。制御部6は、モード切替信号に基づいて、第1のコア1、第2のコア2、比較器3、マルチプレクサ4及びゲート5を制御する。具体的には、制御部6は、第1のコア1、第2のコア2に対してモード切替時の同期制御を行う。また、制御部6は、DCLSモードのときに比較器3を有効化する制御を行う。
制御部6は、マルチプレクサ4に対して、第2のコア2への入力データの切替制御を行う。DCLSモードのときには、マルチプレクサ4が第1のラインL1から入力されたデータを第2のコア2へ入力するように制御する。これにより、第1のコアと第2のコアには同じデータが入力され、第1のコア1と第2のコア2は同じ演算を行う。そして、第1のコア1と第2のコア2の出力を比較器3で比較し、両者が一致している場合には異常はないと判定し、出力が一致しない場合には異常ありと判定してエラーを出力する。また、制御部6は、DCLSモードのときには、第2のコア2からの出力を停止するようにゲート5を制御する。
モード切替信号がマルチコアモードを指定する信号である場合には、制御部6は、マルチプレクサ4が第2のラインL2から入力されたデータを第2のコア2へ入力するように制御する。これにより、第1のコア1と第2のコア2には異なるデータが入力され、第1のコア1と第2のコア2は独立に演算を行う。この場合、比較器3は比較動作を無効にし、エラー出力を停止する。また、制御部6は、マルチコアモードを指定する信号である場合、第2のコア2からの出力を外部に出力するようにゲート5を制御する。
モード切替信号が動的切替モードを指定する信号である場合、制御部6は、コアの故障診断はDCLSモードで実行し、故障診断以外の主機能はマルチコアモードで実行するように切替えを行う。この動作については、図6を参照して後述する。
以上のように、第2のコア2は、DCLSモードにおいては、比較のために第1のコア1と同じ演算を行うので、第1のコア1は「マスター」、第2のコア2は「チェッカー」と呼ばれることもある。
ここまでの説明では、制御部6は外部からのモード切替信号に従ってプロセッサのモードを切り替える「外部コントロール型」の例について説明したが、制御部6は、モードの切替を自己完結してもよい。図2(a)は外部コントロール型のプロセッサの例を示す模式図、図2(b)は自己完結型のプロセッサの例を示す模式図である。外部コントロール型では、外部ホストや外部のCPU7からモード切替信号を与えることにより、プロセッサの動作モードを切り替える。これに対し、自己完結型では、制御部6は、マスターコア(第1のコア1)の指示により、DCLSモードとマルチコアモードを切り替える。自己完結型の切替機構は、所定の実行周期の中で、DCLSモードとマルチコアモードの切替えを行う動的切替えに適している。
次に、第1のコア1および第2のコア2の構成について説明する。図3は、コア1,2の具体例を示す図である。図3に示すように、コア1,2は、CPUは、制御レジスタと、ステータスレジスタと、GPR(General Purpose Register)と、PC(Program Counter)とを備えたCPU(Central Processing Unit)、ALU(Arithmetic and Logic Unit)、FPU(Floating Point Unit)、DSP(Digital Signal Processor)、VPU(Vector Processing Unit)、GPU(Graphics Processing Unit)、AIプロセッサのいずれでもよく、また、これらの構成を備えた複合体としてもよい。なお、図3に示す構成は一例であり、コア1,2は、用途に応じて様々な形態で実装することができる。このようにコア1,2は、CPUに限定されるものではなく、広義の演算器であってよい。
図4は、実施の形態のプロセッサの実行モードについて説明するための図である。表の右欄はプロセッサが実行可能な3つのモードを記載しており、左欄は当該実行モードが用いられる安全要求レベルの例を示している。
プロセッサは、DCLSモードと、動的切替えモードと、マルチコアモードの3つのモードを有している。DCLSモードは、ペアになるコアが常時同じ演算を実行し、出力を比較してプロセッサの故障検出するモードである。DCLSモードは、例えば、ASIL C、Dなどの厳しい安全要求が求められるアプリケーションの実行時に用いられる。
マルチコアモードは、2つのコアが別の演算を実行するモードであり、演算結果を比較しての故障検出を行わない。マルチコアモードは、ASILは割り当てられていないが、適切な品質管理の仕組みに基づいた対応を行う必要があるQM(Quality Management)レベルのアプリケーションの実行時に用いられる。
動的切替えモードは、コアの故障診断はDCLSモードで実行し、故障診断以外の機能はマルチコアモードで実行するように切り替える。動的切替えモードは、DCLSモードとマルチコアモードの切替えを、所定の実行周期の中で行う。動的切替えモードは、ASIL A、Bなどの安全要求が求められるアプリケーションの実行時に用いられる。
図5は、本実施の形態のプロセッサの実行モードの決定の仕方を示すフローチャートである。まず、アプリケーションで求められる安全要求レベルがASIL C以上であるか否かを判定する(S10)。求められる安全要求レベルがASIL C以上の場合(S10でYES)には、DCLSモードを選択する(S12)。ここで選択されるDCLSモードは、常時DCLSモードで実行するモードであり、主機能も故障診断もDCLSモードで実行する。DCLSモードでは、故障診断はハードウェアで行うため、ソフトウェアによる故障診断は必要ない。
求められる安全要求レベルがASIL C以上でない場合には(S10でNO)、求められる安全要求レベルがASIL A以上であるか否かを判定する(S11)。求められる安全要求レベルがASIL A以上である場合には(S11でYES)、動的切替えモードを選択する(S13)。求められる安全要求レベルがASIL A以上でない場合には(S11でNO)、マルチコアモードを選択する(S14)。ここで選択されるマルチコアモードは、常時マルチコアモードで実行するモードであり、主機能も故障診断もマルチコアモードで実行する。
図6は、動的切替えモードにおけるモードの切替えを示すフローチャートである。プロセッサは、マルチコアモードにて、故障診断以外の主機能を実行する(S20)。プロセッサは、主機能の実行中に診断時刻が到来したか否かを判定する(S21)。診断時刻は、所定の実行周期の中で少なくとも1回到来するように設定されている。
診断時刻が到来していない場合には(S21でNO)、診断時刻が到来するまで主機能を実行する(S20)。診断時刻が到来した場合には(S21でYES)、プロセッサは、マルチコアモードからDCLSモードへの切替えを行い(S22)、診断対象のプロセッサで診断用コードを実行する(S23)。具体的には、ペアのコアで同じ演算を実行させ、その演算結果が一致しているかどうかで故障が発生しているか否かを判定する(S24)。
故障ありと判定された場合には(S24でYES)、プロセッサはDCLSエラーの故障通知を行い、プロセッサは異常終了する(S27)。故障判定の結果、故障なしと判定された場合には(S24でNO)、正常判定がなされ(S25)、プロセッサはDCLSモードからマルチコアモードへ切替えを行い(S26)、主機能を実行する(S20)。
以上のように、本実施の形態では、マルチコアモードで主機能を実行しておき、診断時刻が到来したときにDCLSモードに切り替えて故障診断を行うことにより、安全性を確保しつつ、マルチコアでの実行時間を増やすことができる。
図7は、従来の故障診断処理と本実施の形態の故障診断処理の違いを説明する図である。図7(a)は従来の故障診断処理を示し、図7(b)は本実施の形態の故障診断処理を示す。従来は、主機能をマルチコアモードで実行する場合には、故障診断もマルチコアモードで行われていた。図7(a)に示すように、診断用命令を実行し(S30)、診断用命令の実行結果を期待値と比較し(S31)、コアが正常か異常かを判定する(S32)。このため、期待値をメモリに格納しておく必要がある上、比較処理を実行する必要があった。
本実施の形態では、主機能はマルチコアモードで実行するが、故障診断を行う際には、DCLSモードに切り替え(S40)、2つのコアで同じ診断用命令を実行し(S41)、故障診断を行う。期待値との比較が不要であり、もし異常がある場合にはDCLSで検出できる。このため、メモリリソースが不要で、かつ、診断を高速に行える。
図8は、従来技術と本実施の形態の故障診断の処理時間を比較した模式図である。図8に示すように、本実施の形態では、DCLSモードで故障診断を行うことにより、診断時間を短縮し、主機能の実行に割り当てられる時間を増やすことができる。
以上、本発明の実施の形態のプロセッサについて説明したが、本発明のプロセッサは上記した実施の形態に限定されるものではない。上記した実施の形態では、DCLSモードを行う機構を備えたプロセッサを例として説明したが、一般的なホモマルチコア構成にコアの出力を比較するハードウェア比較器を搭載することで、故障診断時間を大幅に短縮することも可能である。
図9は、ホモマルチコア構成のFPUを備えたプロセッサの例を示す図である。図9(a)に示すように、通常時は、32bit×4の128bitの演算器として動作し、比較器は無効とされている。故障診断時には、図9(b)に示すように、上位ビットと下位ビットに同じデータを入力する。FPUには32bit×2の同じデータを入力し、64bit演算を行って、上位と下位の演算結果を比較器によって比較し、エラー検出を行う。
図10は、2つのAD変換ユニットを備えたプロセッサの例を示す図である。AD変換ユニットとレジスタの組合せがコアを構成している。図10(a)に示すように、通常時は、異なる入力信号が入力され、各AD変換ユニットでAD変換され、変換結果がレジスタに記憶される。比較器は無効とされている。故障診断時には、図10(b)に示すように、2つのAD変換ユニットに同じ入力信号が入力され、各AD変換ユニットでの変換結果がレジスタに記憶される。この場合、比較器が有効とされており、比較器はレジスタのデータを読み出して比較し、エラー検出を行う。
以上に例を示したとおり、本発明のプロセッサは、複数のコアを備えるプロセッサであって、複数のコアの演算結果を比較する比較器と、コアの故障診断は、複数のコアで同じ演算を実行させてその演算結果を比較し、故障診断以外の機能は、複数のコアで別の演算を並列実行させる制御部とを備えてもよい。
1・・・第1のコア、 2・・・第2のコア、 3・・・比較器、
4・・・マルチプレクサ、 5・・・ゲート、6・・・制御部、
7・・・外部ホストやCPU。
4・・・マルチプレクサ、 5・・・ゲート、6・・・制御部、
7・・・外部ホストやCPU。
Claims (4)
- デュアルコアロックステップ機構を備えるプロセッサであって、
コアの故障診断はデュアルコアロックステップモードで実行し、故障診断以外の機能はマルチコアモードで実行するように切り替える動的切替モードを有するプロセッサ。 - 前記動的切替モードでは、所定の実行周期の中で、デュアルコアロックステップモードとマルチコアモードの切替えを行う請求項1に記載のプロセッサ。
- 実行するアプリケーションに応じて、または、ユーザからの指示に応じて、常時デュアルコアロックステップモードを実行するモードと、常時マルチコアモードを実行するモードと、前記動的切替モードのうちのいずれのモードで実行される請求項1または2に記載のプロセッサ。
- 複数のコアを備えるプロセッサであって、
複数のコアの演算結果を比較する比較器と、
コアの故障診断は、複数のコアで同じ演算を実行させてその演算結果を比較し、故障診断以外の機能は、複数のコアで別の演算を並列実行させる制御部と、
を備えるプロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021149131A JP2023042054A (ja) | 2021-09-14 | 2021-09-14 | プロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021149131A JP2023042054A (ja) | 2021-09-14 | 2021-09-14 | プロセッサ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023042054A true JP2023042054A (ja) | 2023-03-27 |
Family
ID=85717244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021149131A Pending JP2023042054A (ja) | 2021-09-14 | 2021-09-14 | プロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023042054A (ja) |
-
2021
- 2021-09-14 JP JP2021149131A patent/JP2023042054A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH09190361A (ja) | 内部信号で障害検出を行う情報処理システムおよび論理lsi | |
US8589612B2 (en) | Computer system including an interrupt controller | |
JP2009505186A (ja) | コンピュータシステムの機能監視方法および機能監視装置 | |
JP6266239B2 (ja) | マイクロコンピュータ | |
RU2453903C2 (ru) | Способ и устройство для контроля работоспособности блока управления двигателем внутреннего сгорания | |
JPH0776921B2 (ja) | データ処理方法及び装置 | |
US20140344623A1 (en) | Apparatus and method for detecting fault of processor | |
CN103885920A (zh) | 对用于多处理器系统的初始化的主微处理器的选择 | |
JP2770913B2 (ja) | パリティの置換装置及び方法 | |
JP2023042054A (ja) | プロセッサ | |
JP3897356B2 (ja) | 演算処理装置及びその自己診断方法 | |
TWI434159B (zh) | 雙重系統控制裝置 | |
JP7271973B2 (ja) | 車両制御装置、動作クロック切換方法 | |
JP7023776B2 (ja) | 二重化制御システム | |
WO2020016964A1 (ja) | マルチコアシステム | |
JP2560098B2 (ja) | マシンチェックによるクロックストップ制御方式 | |
US6081886A (en) | Holding mechanism for changing operation modes in a pipelined computer | |
JP7310521B2 (ja) | マイクロコンピュータ | |
JPH07271625A (ja) | 情報処理装置 | |
JP6588068B2 (ja) | マイクロコンピュータ | |
WO2019188173A1 (ja) | 半導体装置 | |
JP2021144426A (ja) | プロセッサ及びエラー検出方法 | |
US9342359B2 (en) | Information processing system and information processing method | |
JP4747028B2 (ja) | マイクロプロセッサ及びこれを用いた情報処理方法並びにプログラム | |
JP2007122547A (ja) | プログラム実行方法および共有メモリ型マルチコアプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20240201 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240307 |