JP6312550B2 - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP6312550B2 JP6312550B2 JP2014157653A JP2014157653A JP6312550B2 JP 6312550 B2 JP6312550 B2 JP 6312550B2 JP 2014157653 A JP2014157653 A JP 2014157653A JP 2014157653 A JP2014157653 A JP 2014157653A JP 6312550 B2 JP6312550 B2 JP 6312550B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- data
- cpu core
- arithmetic unit
- output
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/165—Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
- G06F11/1645—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components and the comparison itself uses redundant hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1695—Error detection or correction of the data by redundancy in hardware which are operating with time diversity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
Description
なお、共有メモリ14と同様に周辺回路群15においても遅延書込が行われる。そのため、周辺回路群15においても、共有メモリ14と同様にキャンセル信号Wcancelによって誤ったデータの書き込みをキャンセルすることができる。
実施の形態2では、演算部10として、ディレイドロックステップ(Delayed lock step)動作を行う演算部50を利用するものである。ディレイドロックステップ動作では、一方のCPUコアで処理した命令と同じ命令を、他方のCPUコアが数クロックサイクル遅れて処理する。そのため、ディレイドロックステップ動作では、厳密には同一のクロックサイクルで同じ命令が処理されるわけではないが、同じ命令を異なるCPUコアで処理する点でロックステップ動作の一態様となるものである。このディレイドロックステップ動作では、片方のCPUコアに命令を伝達する経路に命令を遅延させる遅延回路が設けられるためクリティカルパスの制約を緩和でき、演算部10の動作を高速化させることができる。なお、以下では、2つのCPUコアが2クロックサイクルの差でロックステップ動作を行うディレイドロックステップ動作を行うが、2つのCPUコアの間のクロックサイクルの差は2クロックサイクルに限られるものではない。
10、50 演算部
11、51 第1のCPUコア
12、52 第2のCPUコア
13、53 データ論理回路
13a、13b、53a、53b セレクタ
13c、13d、53c、53d 比較器
14 共有メモリ
14a 命令キャッシュ
14b データキャッシュ
14c 高速RAM
14d マルチサイクルRAM
14e フラッシュメモリ
15 周辺回路群
15a 割り込み回路
15b UARTインタフェース
15c CANインタフェース
15d アナログデジタル変換器
15e デジタルアナログ変換器
15f タイマ
15g ウォッチドッグタイマ
15h GPIOインタフェース
16 シーケンス制御回路
16a 最大診断時間レジスタ
17 クロック生成回路
21 バスインタフェース
22 命令バス
22a パリティ診断回路
23 命令フェッチ部
23a、24a 組み合わせ論理回路
23b、24b、25b レプリカ診断回路
23c アドレス演算器
23d 診断回路
24 デコード部
25 実行部
25a 制御論理回路
25c 演算器
25d 診断回路
26 レジスタ
26a、27a パリティ診断回路
27 データバス
30 命令デコーダ
31 レプリカデコーダ
32 フリップフロップ
33 チェックサム回路
34 フリップフロップ
35 比較回路
41 グループデコーダ群
42 フリップフロップ群
43 個別論理モジュールデコーダ群
44 フリップフロップ群
45 個別モジュール
46 ステートマシーン
51a、52a REGSPC
51b BUSSPC
53e、53g、53i、53j 遅延回路
53f、53h セレクタ
101、102、111、112、121、122 フリップフロップ
131、132、141、142、151、152 フリップフロップ
171〜174 フリップフロップ
104、114、124、134、144、154、176 セレクタ
105、115、125、135、145、155、177 リードセレクタ
103 命令キャッシュタグメモリ
113 命令キャッシュデータメモリ
123 データキャッシュタグメモリ
133 データキャッシュデータメモリ
143 高速RAM
153 マルチサイクルRAM
161 フラッシュメモリ
175 マルチサイクルRAM
SEL 選択信号
ERR1、ERR2 エラー信号
Wcancel キャンセル信号
CC クロック制御信号
DIAG1、DIAG2 診断情報
Claims (5)
- 同じ処理を多重化して実行するロックステップ動作を行い、それぞれが内部の論理回路で生じた故障の有無を示す診断情報を出力する第1の演算器及び第2の演算器と、
前記第1の演算器及び前記第2の演算器に共通して用いられる共有リソースと、
前記第1の演算器の出力データと前記第2の演算器の出力データとのいずれか一方を選択信号に基づき選択して前記共有リソースに出力するセレクタと、
前記診断情報に基づき故障が発生したと判断された演算器に代えて正常な演算器の出力データを前記セレクタに選択させるように前記選択信号を出力するシーケンス制御回路と、
前記第1の演算器が出力する出力データと前記第2の演算器が出力する出力データとを比較して、2つの出力データの不一致となったことに応じてエラー信号を出力する比較器と、
前記第2の演算器が前記共有リソースから取得する入力データの入力タイミングを前記第1の演算器に対して遅延させる第1の遅延回路と、
前記第1の演算器の出力データが前記比較器に入力されるタイミングを前記第2の演算器の出力データが前記比較器に入力されるタイミングよりも遅延させる第2の遅延回路と、
を有し、
前記第1の遅延回路による遅延量と、前記第2の遅延回路による遅延量は同じ遅延量であり、
前記シーケンス制御回路は、前記エラー信号が入力された後に入力される前記診断情報を参照して前記第1の演算器及び前記第2の演算器の故障を判断する半導体装置。 - 前記共有リソースは、共有メモリと、周辺回路と、を少なくとも含み、
前記共有メモリは、前記セレクタから出力された出力データを一時的に保持するストアバッファを有し、
前記周辺回路は、前記セレクタから出力された出力データに関する処理をキャンセルするキャンセル回路を有し、
前記シーケンス制御回路は、
前記診断情報に基づき、前記セレクタが選択している演算器に故障が発生したと判断されたことに応じて、前記ストアバッファ上のデータのキャンセル及び前記キャンセル回路へのキャンセル指示を行う請求項1に記載の半導体装置。 - 前記シーケンス制御回路は、故障が発生した演算器に対して動作の停止を指示すると共に、故障が発生したことにより失われた出力データを回復する回復処理を正常な演算器に指示する請求項1に記載の半導体装置。
- 前記第1の演算器及び前記第2の演算器は、内部の論理回路の故障を診断する診断回路をそれぞれ有する請求項1に記載の半導体装置。
- 前記診断回路は、内部のデータパスに伝搬するデータをパリティにより論理回路の故障を判断するパリティ回路、データパスに伝搬するデータと当該データのレプリカデータとに基づき論理回路の故障を判断するレプリカ診断回路、データパスを多重化した回路の出力に基づき論理回路の故障を判断する二重化構成回路、の少なくとも1つを含む請求項4に記載の半導体装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014157653A JP6312550B2 (ja) | 2014-08-01 | 2014-08-01 | 半導体装置 |
US14/801,825 US9734023B2 (en) | 2014-08-01 | 2015-07-17 | Semiconductor device with output data selection of lockstepped computing elements based on diagnostic information |
US15/645,002 US10365979B2 (en) | 2014-08-01 | 2017-07-10 | Lockstepped CPU selection based on failure status |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014157653A JP6312550B2 (ja) | 2014-08-01 | 2014-08-01 | 半導体装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016035626A JP2016035626A (ja) | 2016-03-17 |
JP6312550B2 true JP6312550B2 (ja) | 2018-04-18 |
Family
ID=55180157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014157653A Active JP6312550B2 (ja) | 2014-08-01 | 2014-08-01 | 半導体装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9734023B2 (ja) |
JP (1) | JP6312550B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10002056B2 (en) * | 2015-09-15 | 2018-06-19 | Texas Instruments Incorporated | Integrated circuit chip with cores asymmetrically oriented with respect to each other |
JP6645467B2 (ja) * | 2017-03-28 | 2020-02-14 | 株式会社デンソー | マイクロコンピュータ |
JP6853162B2 (ja) | 2017-11-20 | 2021-03-31 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
CN108958987B (zh) * | 2018-06-13 | 2021-10-29 | 武汉市聚芯微电子有限责任公司 | 一种低轨小卫星容错系统及方法 |
CN112424753A (zh) | 2018-07-18 | 2021-02-26 | 三垦电气株式会社 | 多核系统 |
US11249839B1 (en) | 2020-08-14 | 2022-02-15 | Rockwell Automation Technologies, Inc. | Method and apparatus for memory error detection |
JP2023035739A (ja) * | 2021-09-01 | 2023-03-13 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
DE102021211709A1 (de) * | 2021-10-18 | 2023-04-20 | Robert Bosch Gesellschaft mit beschränkter Haftung | Datenverarbeitungsnetzwerk zur Datenverarbeitung |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6948092B2 (en) * | 1998-12-10 | 2005-09-20 | Hewlett-Packard Development Company, L.P. | System recovery from errors for processor and associated components |
US7065672B2 (en) * | 2001-03-28 | 2006-06-20 | Stratus Technologies Bermuda Ltd. | Apparatus and methods for fault-tolerant computing using a switching fabric |
US7290169B2 (en) * | 2004-04-06 | 2007-10-30 | Hewlett-Packard Development Company, L.P. | Core-level processor lockstepping |
US7328371B1 (en) * | 2004-10-15 | 2008-02-05 | Advanced Micro Devices, Inc. | Core redundancy in a chip multiprocessor for highly reliable systems |
US20080244305A1 (en) | 2007-03-30 | 2008-10-02 | Texas Instruments Deutschland, Gmbh | Delayed lock-step cpu compare |
EP2294581B1 (en) * | 2008-06-20 | 2013-01-09 | Freescale Semiconductor, Inc. | A system for distributing available memory resource |
EP2550598A1 (de) * | 2010-03-23 | 2013-01-30 | Continental Teves AG & Co. oHG | Redundante zwei-prozessor-steuerung und steuerungsverfahren |
JP2012073828A (ja) | 2010-09-29 | 2012-04-12 | Nec Corp | 情報処理装置、情報処理方法 |
JP6098778B2 (ja) * | 2012-03-29 | 2017-03-22 | 日本電気株式会社 | 冗長化システム、冗長化方法、冗長化システムの可用性向上方法、及びプログラム |
-
2014
- 2014-08-01 JP JP2014157653A patent/JP6312550B2/ja active Active
-
2015
- 2015-07-17 US US14/801,825 patent/US9734023B2/en active Active
-
2017
- 2017-07-10 US US15/645,002 patent/US10365979B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20160034368A1 (en) | 2016-02-04 |
US9734023B2 (en) | 2017-08-15 |
US10365979B2 (en) | 2019-07-30 |
US20170308445A1 (en) | 2017-10-26 |
JP2016035626A (ja) | 2016-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6312550B2 (ja) | 半導体装置 | |
JP6496562B2 (ja) | 半導体装置、診断テスト方法及び診断テスト回路 | |
US8095825B2 (en) | Error correction method with instruction level rollback | |
JP5014899B2 (ja) | 再構成可能デバイス | |
US20120304024A1 (en) | Data processing method, data processor and apparatus including a data processor | |
US9063907B2 (en) | Comparison for redundant threads | |
US20090044048A1 (en) | Method and device for generating a signal in a computer system having a plurality of components | |
EP2503453A1 (en) | Processor core with data error detection, and method for instruction execution in the same, with error avoidance | |
US20090119540A1 (en) | Device and method for performing switchover operations in a computer system having at least two execution units | |
JP6247816B2 (ja) | 高完全性処理を提供する方法 | |
JP4865016B2 (ja) | プロセッサ | |
JPWO2008053709A1 (ja) | 半導体集積回路選別試験装置および方法 | |
US20080313384A1 (en) | Method and Device for Separating the Processing of Program Code in a Computer System Having at Least Two Execution Units | |
JP2013257640A (ja) | コンフィグレーション制御装置、コンフィグレーション制御方法及びコンフィグレーション制御プログラム | |
US8516303B2 (en) | Arithmetic device for concurrently processing a plurality of threads | |
US8209565B2 (en) | Data processing device and bus access control method therein | |
JP2007304972A (ja) | マイクロプロセッサシステム | |
JP5843804B2 (ja) | 演算装置およびエラー処理方法 | |
US20110320907A1 (en) | Data processing circuit and data processing method | |
US9542266B2 (en) | Semiconductor integrated circuit and method of processing in semiconductor integrated circuit | |
US11768735B2 (en) | Checkpointing | |
CN110462603B (zh) | 微型计算机 | |
JP2019012319A (ja) | 半導体装置 | |
WO2023022035A1 (ja) | プロセッサ | |
JP6358122B2 (ja) | マイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171205 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180131 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180227 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180320 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6312550 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |