JP2015138529A - Cpu故障検出装置 - Google Patents

Cpu故障検出装置 Download PDF

Info

Publication number
JP2015138529A
JP2015138529A JP2014011682A JP2014011682A JP2015138529A JP 2015138529 A JP2015138529 A JP 2015138529A JP 2014011682 A JP2014011682 A JP 2014011682A JP 2014011682 A JP2014011682 A JP 2014011682A JP 2015138529 A JP2015138529 A JP 2015138529A
Authority
JP
Japan
Prior art keywords
cpu
processing result
buffer
master cpu
bus
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
JP2014011682A
Other languages
English (en)
Inventor
侑磨 伊藤
Yuma Ito
侑磨 伊藤
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2014011682A priority Critical patent/JP2015138529A/ja
Publication of JP2015138529A publication Critical patent/JP2015138529A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】CPUの性能低下を抑えつつ、CPU故障を検出する。
【解決手段】マスタCPU11の処理結果を一時保存してチェッカCPU12の処理結果と同期させる第1のバッファ141と、第1のバッファに一時保存されたマスタCPUの処理結果とチェッカCPUの処理結果とを比較してマスタCPUの処理結果の異常を検出する比較器15と、マスタCPUの処理結果をバスに出力する経路を、第1のバッファを経由する第1の経路と、第1のバッファを経由しない第2の経路とで切り替える切替器142と、バスに接続されてマスタCPUの処理結果が出力される第2のバッファ161と、内部メモリに保存されたマスタCPUの処理結果を第2のバッファに待避されたデータに置き換える復元処理を行うデータ復元回路16と、バスの書き込み制御を行う書き込み制御回路13とを備える。
【選択図】図1

Description

本発明は、CPU故障検出装置に関する。
従来、2つのプロセッサを備えたLSDC(Lock Step Dual Core)−CPU(Central Processing Unit)では、2つのプロセッサに同じ動作命令を与えて、2つのプロセッサの処理結果を比較することによりCPUの処理結果の異常を検出する。処理結果は比較のためには、2つのプロセッサの間にバッファ回路を挿入して、処理結果を比較してCPUの異常を検出する(例えば、特許文献1−2を参照)。
特開2006−164277号公報 特開2010−003141号公報
しかし、上記従来技術においては、処理結果を必ずバッファ回路に保存するため、バッファ回路による遅延が発生し、CPUの性能が低下する場合があった。
そこで、本発明は、CPUの性能低下を抑えつつ、安全性の高いCPU故障検出装置を提供することを目的とする。
本発明におけるCPU故障検出装置は、マスタCPUの処理結果を一時保存してチェッカCPUの処理結果と同期させる第1のバッファと、前記第1のバッファに一時保存された前記マスタCPUの処理結果と前記チェッカCPUの処理結果とを比較して前記マスタCPUの処理結果の異常を検出する比較器と、前記マスタCPUの処理結果をバスに出力する経路を、前記第1のバッファを経由する第1の経路と、前記第1のバッファを経由しない第2の経路とで切り替える切替器と、前記バスに接続されて前記マスタCPUの処理結果が出力される、入出力部、および内部メモリと、出力された前記マスタCPUの処理結果が保存される前の前記内部メモリのデータを待避させる第2のバッファと、前記内部メモリに保存された前記マスタCPUの処理結果を前記第2のバッファに待避されたデータに置き換える復元処理を行うデータ復元回路と、前記バスの書き込み制御を行う書き込み制御回路とを備えるCPU故障監視装置であって、前記書き込み制御回路は、前記切替器を前記第1の経路に切り替えて、前記比較器が前記異常を検出しない場合に前記マスタCPUの処理結果を前記入出力部に出力し、前記切替器を前記第2の経路に切り替えて、前記マスタCPUの処理結果を前記内部メモリに出力し、前記比較器が前記異常を検出した場合に前記データ復元回路に対して前記復元処理を指示する。
本発明の実施形態によれば、CPUの性能低下を抑えつつ、安全性の高いCPU故障検出装置を提供することができる。
CPU故障検出装置の構成の一例を示すブロック図
以下、図面に基づいて本発明の一例である実施の形態を説明する。図1は、CPU故障検出装置の構成の一例を示すブロック図である。
図1において、CPU故障検出装置1は、マスタCPU11、チェッカCPU12、書き込み制御回路13、データ出力回路14、比較器(CMP:comparator)15、データ復元回路16、RAM(Random Access Memory)17、I/O(Input Output)部18、バス20を備える。バス20は、データバス21、アドレスバス22、および制御バス23を備える。データ出力回路14は、第1のバッファとしてバッファ141、および切替器(MUX:multiplexer)142を備える。
バス20は、データ復元回路16、内部メモリとしてRAM17、および入出力部としてI/O部18に接続されて、書き込み制御回路13によって書き込み先のアドレスと書き込みのタイミング制御がされる。
マスタCPU11とチェッカCPU12は、LSDC−CPUを構成する。マスタCPU11とチェッカCPU12には同じ動作命令が与えられてロックステップ動作が行われる。本実施形態においては、チェッカCPU12の処理はマスタCPU11の処理に対して所定のクロック数(nクロック)遅延して行われる遅延型ロックステップ動作が行われる。
動作命令に対するマスタCPU11の処理結果は、データバス111を介してデータ出力回路14に出力される。データ出力回路14に入力されたマスタCPU11の処理結果は2つに分岐して、一方は第1の経路としてバッファ141経由で切替器142に入力され、他方は第2の経路としてバッファ141を経由しないで切替器142に入力される。切替器142には上記2つのマスタCPU11の処理結果が入力される。
切替器142は、書き込み制御回路からの出力選択信号線131を経由した出力選択信号によって、第1の経路と第2の経路を切り替えてマスタCPU11の処理結果をデータバス1421を介してデータバス21に出力する。
バッファ141は、FIFO(First In First Out)型のデータバッファであり、データバス111から入力されたマスタCPU11の処理結果をマスタCPU11に対するチェッカCPU12の処理の遅延と同じnクロック遅延させる。nクロック遅延されたマスタCPU11の処理結果は、切替器142と、データバス1411を介して比較器15とに入力される。また、同じ動作命令に対するチェッカCPU12の処理結果はデータバス121を介して比較器15に入力される。したがって、比較器15には、マスタCPU11の処理結果とチェッカCPU12の処理結果が同期されて入力されることになる。
マスタCPU11は、書き込み制御回路13に対して、データバス21に出力されたマスタCPU11の処理結果の書き込み先のアドレスをアドレスバス112を介して指示する。本実施形態では、書き込み先はRAM17またはI/O部18のいずれかのアドレスが指示される。
書き込み制御回路13は、マスタCPU11から指示された書き込み先のアドレスに従い、制御バス132を介してバス20の制御バス23に対して書き込み制御命令を出力する。また、書き込み制御回路13は、アドレスバス133を介してアドレスバス22に対してマスタCPU11の処理結果の書き込み先アドレスを出力する。
比較器15は、ロックステップ動作にてマスタCPU11の処理結果とチェッカCPU12の処理結果を比較して両者に不一致がないか否かを検出する。たとえばCPUの故障等によって両者に不一致がある場合、いずれかのCPUの処理結果に異常があると検出し、CPU故障信号線151にCPU故障信号を出力する。CPU故障信号は書き込み制御回路13に入力される。また、CPU故障信号は、図示しないCPU故障検出装置1の他の装置に入力してもよい。
データ復元回路16は、バス20に接続されて、内部に第2のバッファとしてバッファ161を備える。バッファ161には、マスタCPU11の処理結果が書き込まれるRAM17の、書き込み前のデータが一時保存される。データ復元回路16は、バッファ161に一時保存されるデータの保存元のRAM17のアドレスが記憶される。データ復元回路16は、記憶されたRAM17のアドレスに従い、RAM17に保存されたマスタCPU11の処理結果をバッファ161に保存された書き込み前のデータに置き換える復元処理を行う。
バッファ161はバッファ141と同様に、入力されたデータをnクロック分一時保存するデータ容量を備えるFIFO型データバッファを利用することができる。バッファ161には、ストア命令でマスタCPU11の処理結果が書き込まれる前のRAM17のデータを、ストア命令がある度に入力される。したがって、バッファ161には、nクロック分のRAM17のデータが一時保存されて、RAM17のデータ復元に利用される。
RAM17は、バス20に接続されて、マスタCPU11の処理結果を記憶する。RAM17は、たとえばCPU故障監視検出装置1の主記憶領域として使用される。マスタCPU11は、ストア命令における処理結果のストア先としてRAM17を指定することができる。
I/O部18は、バス20に接続されて、マスタCPU11の処理結果をCPU故障検出装置1の図示しない外部機器へ出力する。I/O部18は、外部機器へ出力するマスタCPU11の処理結果を一時保存するバッファを有してもよい。マスタCPU11は、ストア命令における処理結果のストア先としてI/O部18を指定することができる。またI/O部18は、外部機器からのデータ入力を受け付ける。
なお、図1では、バス20は出力側バスのみを図示しており、説明を簡単にするために入力側バスは図示を省略している。また、チェッカCPU12はデータバス121のみを図示しており、アドレスバスは図示を省略している。さらに比較器15についてもデータバスのみを図示してアドレスバスは図示を省略している。
次に、本実施形態におけるCPU故障監視装置1の具体的な動作を説明する。
[RAMへのストア命令実行時の動作]
マスタCPU11の処理結果をRAM17に保存するRAM17へのストア命令では、処理結果はCPU故障監視装置1の内部に保存される。したがって、もし比較器15によってCPUの処理結果に異常が検出された場合でも異常な処理結果がCPU故障監視装置1の外部には出力されない。
そこで、RAM17へのストア命令では、切替器142において第2の経路に切り替えて、マスタCPU11の処理結果をデータバス21に出力してRAM17に書き込む。第2の経路ではバッファ141を介さないで処理結果を出力するため、バッファ141による遅延が発生せず、ストア命令における書き込み性能を低下させないことができる。
本実施形態においては、マスタCPU11の処理結果が出力されて書き込まれるRAM17のアドレスに記憶されている書き込み前のデータを、たとえば書き込み制御回路13によってデータ復元回路16のバッファ161に待避させる。これにより、CPUの処理結果に異常が検出された場合でもRAM17のデータ復元を可能にする。RAM17へのストア命令では、CPUの処理結果がCPU故障監視装置1の外部には出力されず、復元範囲はRAM17のみであるため、復元を容易にすることが可能となる。
先ず、マスタCPU11は、実行するプログラムに記述されたRAM17へのストア命令に対して、アドレスバス112を介してRAM17のアドレスを出力する。
次に、書き込み制御回路13は、入力されたアドレスがRAM17のアドレスである場合は、切替器142に対して第2の経路に切り替える出力選択信号を出力する。書き込み制御回路13は、入力されたアドレスがRAM17のアドレスである場合は、さらに制御バス132を介して制御バス23に対してRAM17にマスタCPU11の処理結果が書き込み出力されるように設定する。
次に、書き込み制御回路13は、書き込み先のRAM17のアドレスに記憶されているデータをバッファ161に待避させる。
ここで、書き込み先として入力されたアドレスがRAM17のアドレスであるか、またはI/O部18のアドレスであるかの判断は、たとえば、RAM17またはI/O部18に割り当てられたアドレス空間を予め書き込み制御回路13に設定しておくことにより判断できる。アドレス空間の割り当ては、たとえばユーザが任意に設定してもよい。また、マスタCPU11など、CPU故障監視装置1の内部に設定されたアドレス空間の情報を書き込み制御回路13に送信することにより設定してもよい。また、アドレスバス112に、書き込み先のデバイスの種類を指定する信号を含ませてもよい。
次に、マスタCPU11の処理結果は、データバス111、切替器142、データバス142、さらにデータバス21を介して、RAM17に書き込まれる。マスタCPU11の処理結果は、データバス111およびバッファ141を介して比較器15に入力される。一方、チェッカCPU12においても、マスタCPU11と同様にRAM17へのストア命令が実行されて、処理結果が比較器15に入力される。
次に、比較器15は、入力されたマスタCPU11の処理結果とチェッカCPU12の処理結果を比較して、両者に相違があるか否かを検出する。両者に相違がない場合はCPU故障信号を出力しない。一方、両者に相違がある場合はCPU故障信号を出力する。
次に、書き込み制御回路13は、比較器15からCPU故障信号が出力された場合、入力されたCPU故障信号に基づき、制御バス132を介してデータ復元回路16に対して、CPU故障信号が検出されたデータが記憶されたRAM17の復元処理を行う復元指示を出力する。
次に、データ復元回路16は、入力された復元指示に従い、バッファ161に保存された書き込み前のRAM17のデータを、そのデータが記憶されていたRAM17のアドレスに書き込み、RAM17のデータを復元する。
次に、CPU故障監視装置1は、CPU故障信号に基づき、マスタCPU11およびチェッカCPU12をリセットする。
以上の動作により、RAM17へのストア命令においては、バッファ141を介さない第2の経路で処理結果を出力するため、バッファ141による遅延が発生せず、ストア命令における書き込み性能が低下しないという効果を奏することができる。また、CPU故障信号が検出された場合であっても、復元対象がCPU故障監視装置1の内部であるRAM17であり、またCPU以外の装置をリセットする必要がないため、迅速な復帰が可能となる。
[I/O部へのストア命令実行時の動作]
マスタCPU11の処理結果をI/O部18に書き込むI/O部18へのストア命令では、マスタCPU11の処理結果はI/O部18を介してCPU故障監視装置1の外部に出力される。したがって、もし比較器15によってCPUの処理結果に異常が検出された場合は、異常な処理結果をCPU故障監視装置1の外部には出力しないようにする。
そこで、I/O部18へのストア命令では、切替器142において第1の経路に切り替えて、マスタCPU11の処理結果はバッファ141に一時保存されてデータバス21経由でI/O部18に出力される。I/O部18へのデータの出力は、比較器15によってCPUの処理結果に異常が検出されなかった場合のみ、書き込み制御回路13によって許可される。
先ず、マスタCPU11は、実行するプログラムに記述されたI/O部18へのストア命令に対して、アドレスバス112を介してI/O部18のアドレスを出力する。
次に、書き込み制御回路13は、入力されたアドレスがI/O部18のアドレスである場合は、切替器142に対してバッファ141を経由する第1の経路に切り替える出力選択信号を出力する。書き込み制御回路13は、入力されたアドレスがI/O部18のアドレスである場合は、さらに制御バス132を介してデータ書き込み禁止の設定を行う。
次に、マスタCPU11の処理結果は、データバス111、バッファ141を介して比較器15に入力される。また、チェッカCPU12においても、マスタCPU11と同様にI/O部18へのストア命令が実行されて、処理結果が比較器15に入力される。
次に、比較器15は、入力されたマスタCPU11の処理結果とチェッカCPU12の処理結果を比較して、両者に相違があるか否かを検出する。両者に相違がない場合はCPU故障信号を出力しない。一方、両者に相違がある場合はCPU故障信号を出力する。
次に、書き込み制御回路13は、比較器15からCPU故障信号が出力されれなかった場合、制御バス132を介してデータ書き込み禁止を解除して、マスタCPU11の処理結果をI/O部18に出力する。
一方、比較器15からCPU故障信号が出力された場合、制御バス132はデータ書き込み禁止を維持し、I/O部18にはマスタCPU11の処理結果は出力されない。
以上の遅延型ロックステップ動作により、I/O部18へ出力されるマスタCPU11の処理結果の安全性を高めることが可能となる。
また、マスタCPU11の処理結果はバッファ141からは出力されないため、CPU故障監視装置1の復帰処理はマスタCPU11およびチェッカCPU12のリセットのみとなり、迅速な復帰が可能となる。
本実施形態においては、RAM17へのストア命令実行時の動作とI/O部18へのストア命令実行時の動作を切り替えることにより、CPUの性能低下を抑えつつ、安全性の高いCPU故障検出装置を提供することができる。
なお、CPU故障監視装置1の、書き込み制御回路13、データ出力回路14、または比較器15の各機能は、ハードウエアによって実現することができる。また、前記の各機能の一部をソフトウエアによって実行するミドルウエアによって実現することもできる。
以上、本発明を実施するための形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
1 CPU故障監視装置
11 マスタCPU
111 データバス
112 アドレスバス
12 チェッカCPU
121 データバス
13 書き込み制御回路
131 出力選択信号線
132 制御バス
133 データバス
14 データ出力回路
141 バッファ
1411 データバス
142 切替器
1421 データバス
15 比較器
151 CPU故障信号線
16 データ復元回路
161 バッファ
17 RAM
18 I/O部
20 バス
21 データバス
22 アドレスバス
23 制御バス

Claims (1)

  1. マスタCPUの処理結果を一時保存してチェッカCPUの処理結果と同期させる第1のバッファと、
    前記第1のバッファに一時保存された前記マスタCPUの処理結果と前記チェッカCPUの処理結果とを比較して前記マスタCPUの処理結果の異常を検出する比較器と、
    前記マスタCPUの処理結果をバスに出力する経路を、前記第1のバッファを経由する第1の経路と、前記第1のバッファを経由しない第2の経路とで切り替える切替器と、
    前記バスに接続されて前記マスタCPUの処理結果が出力される、入出力部、および内部メモリと、
    出力された前記マスタCPUの処理結果が保存される前の前記内部メモリのデータを待避させる第2のバッファと、
    前記内部メモリに保存された前記マスタCPUの処理結果を前記第2のバッファに待避されたデータに置き換える復元処理を行うデータ復元回路と、
    前記バスの書き込み制御を行う書き込み制御回路と
    を備えるCPU故障監視装置であって、
    前記書き込み制御回路は、
    前記切替器を前記第1の経路に切り替えて、前記比較器が前記異常を検出しない場合に前記マスタCPUの処理結果を前記入出力部に出力し、
    前記切替器を前記第2の経路に切り替えて、前記マスタCPUの処理結果を前記内部メモリに出力し、前記比較器が前記異常を検出した場合に前記データ復元回路に対して前記復元処理を指示する、CPU故障監視装置。
JP2014011682A 2014-01-24 2014-01-24 Cpu故障検出装置 Pending JP2015138529A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014011682A JP2015138529A (ja) 2014-01-24 2014-01-24 Cpu故障検出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014011682A JP2015138529A (ja) 2014-01-24 2014-01-24 Cpu故障検出装置

Publications (1)

Publication Number Publication Date
JP2015138529A true JP2015138529A (ja) 2015-07-30

Family

ID=53769444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014011682A Pending JP2015138529A (ja) 2014-01-24 2014-01-24 Cpu故障検出装置

Country Status (1)

Country Link
JP (1) JP2015138529A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018179753A1 (ja) * 2017-03-28 2018-10-04 株式会社デンソー マイクロコンピュータ

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018179753A1 (ja) * 2017-03-28 2018-10-04 株式会社デンソー マイクロコンピュータ
CN110462603A (zh) * 2017-03-28 2019-11-15 株式会社电装 微型计算机
US10733125B2 (en) 2017-03-28 2020-08-04 Denso Corporation Microcomputer
CN110462603B (zh) * 2017-03-28 2023-09-22 株式会社电装 微型计算机

Similar Documents

Publication Publication Date Title
JP6029737B2 (ja) 制御装置
US10114356B2 (en) Method and apparatus for controlling a physical unit in an automation system
JP6853162B2 (ja) 半導体装置
JP2008269142A (ja) ディスクアレイ装置
US10360115B2 (en) Monitoring device, fault-tolerant system, and control method
JP2015138529A (ja) Cpu故障検出装置
KR101533081B1 (ko) 저전력과 신뢰성을 동시에 확보하기 위한 이중화 대응 장치, 이중화 시스템 및 이중화 구성 설정 방법
JP6218652B2 (ja) 計算機、障害処理方法及びプログラム
JP2010102565A (ja) 二重化制御装置
JP4868012B2 (ja) コンピュータシステム、コンピュータシステムの制御方法、及びプログラム
JP2015191616A (ja) プロセス制御装置、プロセス制御方法及びプロセス制御プログラム
US9952920B2 (en) Information processing device, information processing method, and program
JP2014016925A (ja) 情報処理システム、データ切替方法およびプログラム
JP6090094B2 (ja) 情報処理装置
JP5635815B2 (ja) コンピュータシステム及びその制御方法
JP6710142B2 (ja) 制御システム
JP6645467B2 (ja) マイクロコンピュータ
JP6214476B2 (ja) I/o制御装置
WO2019073565A1 (ja) 分散制御システム
JP2012160149A (ja) 二重化回路、半導体装置およびテスト方法
WO2022249818A1 (ja) 保安装置および保安方法
JPWO2015011792A1 (ja) フィールドプログラマブルゲートアレイおよび制御装置
JP2006260393A (ja) Cpuシステム
JP2017090963A (ja) 伝送装置及び故障診断方法
JP2015114847A (ja) 情報処理装置