KR101978984B1 - 프로세서의 오류를 검출하는 장치 및 방법 - Google Patents
프로세서의 오류를 검출하는 장치 및 방법 Download PDFInfo
- Publication number
- KR101978984B1 KR101978984B1 KR1020130054079A KR20130054079A KR101978984B1 KR 101978984 B1 KR101978984 B1 KR 101978984B1 KR 1020130054079 A KR1020130054079 A KR 1020130054079A KR 20130054079 A KR20130054079 A KR 20130054079A KR 101978984 B1 KR101978984 B1 KR 101978984B1
- Authority
- KR
- South Korea
- Prior art keywords
- control unit
- execution
- error control
- error
- instruction
- 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
- 238000000034 method Methods 0.000 title claims abstract description 14
- 238000001514 detection method Methods 0.000 description 8
- 238000012937 correction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
- G06F11/0724—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
Description
도 2는 본 발명의 실시예에 따른 프로세서의 오류를 검출하는 장치의 동작을 설명하는 플로우차트이다.
22 32, 42 : 페치 유닛 24, 34, 44 : 디코딩 유닛
26, 36, 46 : 실행 유닛 28, 38, 48 : 레지스터 파일
50 : 페치 오류 제어부 60 : 디코딩 오류 제어부
70 : 실행 오류 제어부
Claims (10)
- 메모리에 접속된 다수의 프로세서 코어내의 각각의 페치 유닛의 오류를 검출하는 페치 오류 제어부;
상기 메모리에 접속된 상기 다수의 프로세서 코어내의 각각의 디코딩 유닛의 오류를 검출하는 디코딩 오류 제어부; 및
상기 메모리에 접속된 상기 다수의 프로세서 코어내의 각각의 실행 유닛의 오류를 검출하고, 동일한 명령어를 상기 다수의 프로세서 코어에서 실행시켜 오류를 발생한 프로세서 코어를 판별하여 이를 상기 페치 오류 제어부 및 상기 디코딩 오류 제어부에게로 알리는 실행 오류 제어부;를 포함하는 것을 특징으로 하는 프로세서의 오류를 검출하는 장치. - 청구항 1에 있어서,
상기 다수의 프로세서 코어는 세 개이고,
상기 실행 오류 제어부는 상기 세 개의 프로세서 코어중에서 두 개의 프로세서 코어의 실행 결과는 동일하고 다른 하나의 프로세서 코어의 실행 결과가 상기 두 개의 프로세서의 실행 결과와는 다르면 상기 하나의 프로세서 코어를 상기 오류가 발생한 프로세서 코어로 판별하는 것을 특징으로 하는 프로세서의 오류를 검출하는 장치. - 청구항 2에 있어서,
상기 실행 오류 제어부는,
상기 실행 결과가 다른 상기 하나의 프로세서 코어에서 실행한 상기 명령어에 의해 파생된 모든 명령어를 취소시키는 명령 및 정상적인 명령어를 상기 페치 오류 제어부 및 상기 디코딩 오류 제어부에게로 보내는 것을 특징으로 하는 프로세서의 오류를 검출하는 장치. - 청구항 3에 있어서,
상기 페치 오류 제어부는,
상기 실행 오류 제어부로부터의 명령 및 정상적인 명령어를 근거로, 상기 하나의 프로세서 코어에서 해당 명령어를 취소하고 상기 정상적인 명령어로 정정하는 것을 특징으로 하는 프로세서의 오류를 검출하는 장치. - 청구항 3에 있어서,
상기 디코딩 오류 제어부는,
상기 실행 오류 제어부로부터의 명령 및 정상적인 명령어를 근거로, 상기 하나의 프로세서 코어에서 해당 명령어를 취소하고 상기 정상적인 명령어로 정정하는 것을 특징으로 하는 프로세서의 오류를 검출하는 장치. - 청구항 1에 있어서,
상기 다수의 프로세서 코어는 네 개 이상인 것을 특징으로 하는 프로세서의 오류를 검출하는 장치. - 각각의 페치 유닛이 페치 오류 제어부와 접속되고 각각의 디코딩 유닛이 디코딩 오류 제어부와 접속되고 각각의 실행 유닛이 실행 오류 제어부와 접속된 제 1 내지 제 3 프로세서 코어가 메모리와 연결된 멀티 프로세서에서 상기 실행 오류 제어부가, 동일한 명령어를 상기 제 1 및 제 2 프로세서 코어에서 수행시키는 단계;
상기 실행 오류 제어부가, 상기 제 1 및 제 2 프로세서 코어에서의 수행 결과를 비교하는 단계;
상기 실행 오류 제어부가, 상기 제 1 및 제 2 프로세서 코어에서의 수행 결과가 상호 다르면 상기 명령어를 상기 제 3 프로세서 코어에서 수행시키는 단계; 및
상기 실행 오류 제어부가, 상기 세 개의 프로세서 코어중에서 두 개의 프로세서 코어의 실행 결과는 동일하고 다른 하나의 프로세서 코어의 실행 결과가 상기 두 개의 프로세서의 실행 결과와는 다르면 상기 하나의 프로세서 코어를 상기 오류가 발생한 프로세서 코어로 판별하는 단계;를 포함하는 것을 특징으로 하는 프로세서의 오류를 검출하는 방법. - 청구항 7에 있어서,
상기 실행 오류 제어부가, 상기 실행 결과가 다른 상기 하나의 프로세서 코어에서 실행한 상기 명령어에 의해 파생된 모든 명령어를 취소시키는 명령 및 정상적인 명령어를 상기 페치 오류 제어부 및 상기 디코딩 오류 제어부에게로 보내는 단계;를 추가로 포함하는 것을 특징으로 하는 프로세서의 오류를 검출하는 방법. - 청구항 8에 있어서,
상기 페치 오류 제어부가, 상기 실행 오류 제어부로부터의 명령 및 정상적인 명령어를 근거로 상기 하나의 프로세서 코어에서 해당 명령어를 취소하고 상기 정상적인 명령어로 정정하는 단계를 추가로 포함하는 것을 특징으로 하는 프로세서의 오류를 검출하는 방법. - 청구항 8에 있어서,
상기 디코딩 오류 제어부가, 상기 실행 오류 제어부로부터의 명령 및 정상적인 명령어를 근거로 상기 하나의 프로세서 코어에서 해당 명령어를 취소하고 상기 정상적인 명령어로 정정하는 단계를 추가로 포함하는 것을 특징으로 하는 프로세서의 오류를 검출하는 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130054079A KR101978984B1 (ko) | 2013-05-14 | 2013-05-14 | 프로세서의 오류를 검출하는 장치 및 방법 |
US14/255,481 US9348681B2 (en) | 2013-05-14 | 2014-04-17 | Apparatus and method for detecting fault of processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130054079A KR101978984B1 (ko) | 2013-05-14 | 2013-05-14 | 프로세서의 오류를 검출하는 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140134371A KR20140134371A (ko) | 2014-11-24 |
KR101978984B1 true KR101978984B1 (ko) | 2019-05-17 |
Family
ID=51896801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130054079A Active KR101978984B1 (ko) | 2013-05-14 | 2013-05-14 | 프로세서의 오류를 검출하는 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9348681B2 (ko) |
KR (1) | KR101978984B1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101658828B1 (ko) | 2015-03-23 | 2016-09-22 | 한국전자통신연구원 | 씨피유 코어의 기능복구를 위한 장치 및 방법 |
KR102515417B1 (ko) | 2016-03-02 | 2023-03-30 | 한국전자통신연구원 | 캐시 메모리 장치 및 그것의 동작 방법 |
CN107679620B (zh) * | 2017-04-19 | 2020-05-26 | 赛灵思公司 | 人工神经网络处理装置 |
CN107679621B (zh) * | 2017-04-19 | 2020-12-08 | 赛灵思公司 | 人工神经网络处理装置 |
CN107704922B (zh) * | 2017-04-19 | 2020-12-08 | 赛灵思公司 | 人工神经网络处理装置 |
US10922203B1 (en) * | 2018-09-21 | 2021-02-16 | Nvidia Corporation | Fault injection architecture for resilient GPU computing |
US11783026B2 (en) * | 2021-01-05 | 2023-10-10 | Nuvoton Technology Corporation | Processor with in-band fault-injection detection |
WO2023206346A1 (en) * | 2022-04-29 | 2023-11-02 | Nvidia Corporation | Detecting hardware faults in data processing pipelines |
KR102775610B1 (ko) * | 2024-10-10 | 2025-03-05 | (주)자람테크놀로지 | 파이프라인 오류 검증이 가능한 다중 모듈 제어 장치 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110161630A1 (en) | 2009-12-28 | 2011-06-30 | Raasch Steven E | General purpose hardware to replace faulty core components that may also provide additional processor functionality |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4985825A (en) * | 1989-02-03 | 1991-01-15 | Digital Equipment Corporation | System for delaying processing of memory access exceptions until the execution stage of an instruction pipeline of a virtual memory system based digital computer |
US5923830A (en) * | 1997-05-07 | 1999-07-13 | General Dynamics Information Systems, Inc. | Non-interrupting power control for fault tolerant computer systems |
US6732300B1 (en) * | 2000-02-18 | 2004-05-04 | Lev Freydel | Hybrid triple redundant computer system |
US7370243B1 (en) * | 2004-06-30 | 2008-05-06 | Sun Microsystems, Inc. | Precise error handling in a fine grain multithreaded multicore processor |
US7366948B2 (en) * | 2004-10-25 | 2008-04-29 | Hewlett-Packard Development Company, L.P. | System and method for maintaining in a multi-processor system a spare processor that is in lockstep for use in recovering from loss of lockstep for another processor |
US20060168485A1 (en) * | 2005-01-26 | 2006-07-27 | Via Technologies, Inc | Updating instruction fault status register |
WO2007035747A2 (en) | 2005-09-19 | 2007-03-29 | Millennium It (Usa) Inc. | Scalable fault tolerant system |
US8051247B1 (en) | 2005-09-28 | 2011-11-01 | Oracle America, Inc. | Trace based deallocation of entries in a versioning cache circuit |
DE102005054587A1 (de) * | 2005-11-16 | 2007-05-24 | Robert Bosch Gmbh | Programmgesteuerte Einheit und Verfahren zum Betreiben derselbigen |
DE102005055067A1 (de) * | 2005-11-18 | 2007-05-24 | Robert Bosch Gmbh | Vorrichtung und Verfahren zum Beheben von Fehlern bei einem wenigstens zwei Ausführungseinheiten mit Registern aufweisenden System |
US20080177990A1 (en) * | 2007-01-19 | 2008-07-24 | Mips Technologies, Inc. | Synthesized assertions in a self-correcting processor and applications thereof |
JP4433006B2 (ja) | 2007-07-04 | 2010-03-17 | 株式会社デンソー | マルチコアの異常監視装置 |
US20090183035A1 (en) * | 2008-01-10 | 2009-07-16 | Butler Michael G | Processor including hybrid redundancy for logic error protection |
US8095821B2 (en) * | 2009-03-17 | 2012-01-10 | International Business Machines Corporation | Debugging for multiple errors in a microprocessor environment |
US8051323B2 (en) | 2010-01-21 | 2011-11-01 | Arm Limited | Auxiliary circuit structure in a split-lock dual processor system |
US9262292B2 (en) * | 2012-06-11 | 2016-02-16 | New York University | Test access system, method and computer-accessible medium for chips with spare identical cores |
US9529654B2 (en) * | 2013-11-27 | 2016-12-27 | Electronics And Telecommunications Research Institute | Recoverable and fault-tolerant CPU core and control method thereof |
-
2013
- 2013-05-14 KR KR1020130054079A patent/KR101978984B1/ko active Active
-
2014
- 2014-04-17 US US14/255,481 patent/US9348681B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110161630A1 (en) | 2009-12-28 | 2011-06-30 | Raasch Steven E | General purpose hardware to replace faulty core components that may also provide additional processor functionality |
Also Published As
Publication number | Publication date |
---|---|
US9348681B2 (en) | 2016-05-24 |
KR20140134371A (ko) | 2014-11-24 |
US20140344623A1 (en) | 2014-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101978984B1 (ko) | 프로세서의 오류를 검출하는 장치 및 방법 | |
US10379989B2 (en) | Processing apparatus, trace unit and diagnostic apparatus | |
JP6266239B2 (ja) | マイクロコンピュータ | |
US10296312B2 (en) | Methods, apparatuses, and systems for zero silent data corruption (ZDC) compiler technique | |
TW201737066A (zh) | 程式迴圈控制 | |
US20160026166A1 (en) | Method and apparatus for controlling a physical unit in an automation system | |
TW201737060A (zh) | 程式迴圈控制 | |
KR102131230B1 (ko) | 파워트레인 제어기의 램 에러 감지 로직의 자가진단 방법 및 장치 | |
KR101478907B1 (ko) | 신호 처리 회로 및 이를 사용한 시험 장치 | |
US8423834B2 (en) | Computer system and memory system | |
JP2018067047A (ja) | 制御装置 | |
JP2015115727A (ja) | プログラマブルロジックデバイス | |
JP4359632B2 (ja) | プロセッサ動作検査システム及び動作検査回路 | |
TWI710955B (zh) | 偶發載入的抑制 | |
JP2016038599A (ja) | マイクロコンピュータ及びマイクロコンピュータシステム | |
KR20050121729A (ko) | 프로그램 제어식 유닛 및 방법 | |
CN107423029B (zh) | 计算单元 | |
KR102603835B1 (ko) | 프로세서 시스템의 프로그램 카운터 구조를 보호하고 인터럽트 요청의 처리를 모니터링하기 위한 방법 및 장치 | |
US9459977B2 (en) | Data processing system with debug control | |
JP6588068B2 (ja) | マイクロコンピュータ | |
KR102738225B1 (ko) | 신뢰성 검증 기능을 구비한 삼중 모듈 제어 장치 | |
KR102775610B1 (ko) | 파이프라인 오류 검증이 가능한 다중 모듈 제어 장치 | |
JP2011232910A (ja) | メモリ診断方式 | |
JP6891789B2 (ja) | 演算装置 | |
JP6405966B2 (ja) | 電子制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20130514 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20170905 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20130514 Comment text: Patent Application |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20190418 |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20190510 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20190513 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20211125 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20230424 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20231127 Start annual number: 6 End annual number: 6 |