KR101658828B1 - 씨피유 코어의 기능복구를 위한 장치 및 방법 - Google Patents

씨피유 코어의 기능복구를 위한 장치 및 방법 Download PDF

Info

Publication number
KR101658828B1
KR101658828B1 KR1020150039969A KR20150039969A KR101658828B1 KR 101658828 B1 KR101658828 B1 KR 101658828B1 KR 1020150039969 A KR1020150039969 A KR 1020150039969A KR 20150039969 A KR20150039969 A KR 20150039969A KR 101658828 B1 KR101658828 B1 KR 101658828B1
Authority
KR
South Korea
Prior art keywords
function recovery
sub
register
function
value
Prior art date
Application number
KR1020150039969A
Other languages
English (en)
Inventor
권영수
Original Assignee
한국전자통신연구원
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 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020150039969A priority Critical patent/KR101658828B1/ko
Priority to US15/008,188 priority patent/US10127098B2/en
Application granted granted Critical
Publication of KR101658828B1 publication Critical patent/KR101658828B1/ko

Links

Images

Classifications

    • 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/0703Error 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/0793Remedial or corrective actions
    • 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/0703Error 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/0706Error 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/0721Error 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]

Abstract

CPU 코어 동작 시 전압, 전류, 온도 등 외부의 여하한 요인에 의하여 발생할 수 있는 코어 내 회로의 동작오류에 의하여 고장이 발생하여 이를 감지하였을 때, CPU 코어 내의 레지스터 파일을 이전의 안전한 상태로 기능복구를 하기 위한 장치 및 방법을 제시한다. 제시된 장치는 라이트 쓰기 동작에 따라 레지스터 저장부에 저장될 값을 일시 저장하는 기능 복구 버퍼, 및 외부로부터 고장이 감지되었음을 알리는 신호를 입력받음에 따라 기능 복구 버퍼를 제어하여 기능 복구를 수행하는 기능 복구 모듈부를 포함한다.

Description

씨피유 코어의 기능복구를 위한 장치 및 방법{Apparatus and method for function recovery of CPU core}
본 발명은 씨피유 코어의 기능복구를 위한 장치 및 방법에 관한 것으로, 보다 상세하게는 CPU 코어 동작 시 전압, 전류, 온도 등 외부의 여하한 요인에 의하여 CPU 코어 내부에 기능고장(Failure)이 발생했을 때 CPU 코어를 안전한 상태로 복구하기 위한 장치 및 방법에 관한 것이다.
CPU 코어는 메모리 또는 디스크에 저장된 저장장치(Storage)에 보관된 명령어를 읽어 들여 명령어에 인코딩된 동작에 따라 피연산자(Operand)에 특정 연산을 행하고 결과를 다시 저장한다. 이에, CPU 코어는 특정 응용 영역(Application)을 위한 알고리즘을 실행하는 하드웨어 또는 IP라고 할 수 있다.
CPU의 응용 영역은 시스템 반도체의 모든 분야에 걸쳐서 광대하게 적용되고 있다. CPU 코어(CPU Core; Processor Core)의 응용 영역은 비디오 데이터 압축 및 해제, 오디오 데이터 압축 및 해제, 오디오 데이터 변형 및 음향효과와 같은 대용량의 멀티미디어 데이터를 위한 고성능 미디어 데이터 처리, 유무선 통신용 모뎀, 보이스 코덱 알고리즘, 네트워크 데이터 처리, 터치스크린, 가전기기용 콘트롤러, 모터제어와 같은 최소성능 마이크로 콘트롤러 플랫폼, 무선 센서 네트워크(Wireless Sensor Network) 또는 초소형 전자장치(Electronics Dust)와 같은 안정적인 전원공급이 불가능하거나 외부로부터의 전원공급이 불가능한 장치에 이르기까지 다양한 응용영역으로 그 사용처를 확대하고 있다.
CPU 코어는 기본적으로 코어(Core), TLB(Translation Lookaside Buffer), 및 캐시(Cache)로 이루어져 있다. CPU 코어가 수행할 작업은 다수의 명령어 (Instruction)의 조합으로 규정된다. 즉, 명령어가 메모리에 저장되어 있고, CPU 코어에 이 명령어들이 순차적으로(Sequentially) 입력되어 매 클럭 사이클마다 CPU 코어가 특정 연산을 행하게 된다. TLB는 운영체제 기반의 어플리케이션 구동을 위하여 가상 어드레스를 물리 어드레스로 변환하는 기능을 한다. 캐시는 외부 메모리에 저장되어 있는 명령어를 칩 내부에 잠시 저장함으로써 CPU 코어의 속도를 증대시키는 역할을 한다 .
최근의 자동차 시스템 등에서는 ADAS(Advanced Driver Assistance System)와 같은 고도의 지능과 정밀성을 보유한 운전자 보조 시스템의 개발이 활발히 이루어 지면서 전장시스템의 중요성이 높아지고 있다.
특히, 운전자 대신 차량 외부의 환경을 인식하기 위한 장치로서 기존의 50MHz~100MHz 보다 고성능의 코어, 즉 500MHz 이상의 CPU 코어가 자동차 시스템에 응용되는 어플리케이션이 점차 큰 폭으로 많아질 것으로 예상된다.
이러한 어플리케이션은 스마트 블랙박스에서의 동작인식(Motion detection), 차량 운행 중의 보행자 인식(Pedestrian recognition), 운전자의 운전 패턴 또는 졸음 인식, 차선인식을 통한 운행 보조(Lane detection and driving assistance) 등을 포함한다.
외부 환경의 인식 및 인식된 영상, 음성 또는 센서의 입력을 분석하여 자동차 운행에 직간접적으로 관여하기 위해서는 고성능의 CPU 코어를 이용하여 대량의 데이터를 실시간으로 분석하여 보행자를 인식하는 등의 결과를 추출하기 위한 기능이 요구된다. 특히, 차선인식 기반 운행 보조의 경우 인식한 결과를 바탕으로 자동차 운행시 조향장치 등에 직접적인 영향을 가할 수 있다. 자동차 조향장치 등에 직접적인 영향을 가하는 방식은 차선인식 결과를 운전자에게 알려주는 방안으로서 핸들에 진동을 주는 방법 또는 핸들 회전각을 제한하는 방법 등이 있을 수 있다 .
CPU 코어의 신뢰성(Reliability), 즉 CPU 코어가 정상적으로 작동하지 않는 경우를 알아내는 기능은 차량 외부의 데이터를 인식하여 자동차 조향장치에 직접적인 영향을 줄 수 있는 어플리케이션의 경우에 특히 그 중요성이 부각된다. 고성능의 인식 결과가 조향장치에 직접적인 영향을 줄 수 있는 경우에는 반도체가 전압, 전류, 온도 등의 요인에 의하여 오동작하면 운전자의 생명에 직접적인 영향을 줄 수 있기 때문이다. 이러한 고성능의 CPU 코어에서도 CPU 코어의 연산 결과가 조향에 영향을 줄 수 있으므로 그 안전성(Reliability), 즉 CPU 코어가 의도한 기능에 따라 동작하고 있음을 보장하는 것이 매우 중요하다고 할 수 있다 .
반도체 회로의 기능안전성(Functional Safety)을 지원한다는 것은 외부의 여하한 요인에 의하여 회로가 회로 설계시 의도하지 않은 오류(Fault)가 발생하였을 경우 고장이 일어난 것을 감지(Detection)하고, 기능 복구(Recovery)가 가능하다는 것을 의미한다. ISO 26262는 ISO TC22/SC3/WG16에서 정의한 자동차 전장시스템의 기능안전성 설계를 위한 표준으로서 자동차용 반도체 회로에서 발생하는 고장을 관리할 수 있는 회로 특성에 따라 ASIL(Automotive Safety Integrity Level) 등급을 부여한다.
회로의 동작 중 의도하지 않은 오류(Fault)라고 하는 것은 외부의 요인, 즉, 우주선(Cosmic ray), 뉴턴(Newton), 뮤온(Muon)과 같은 파티클(Particle)이 반도체 회로 내에 누적됨으로써 불특정한 시간에 비트 플립(Bit-Flip)을 일으키는 현상을 가리킨다. 비트 플립(Bit-Flip)의 유지시간(Lifetime)은 일반적으로 100ps ~ 5ns 수준으로 알려져 있어서 일정 시간이 지나면 정상 상태로 돌아온다. 그러나, 만약 오류(Fault)가 저장소자, 즉, 레지스터 파일(Register File) 또는 메모리 엘리먼트(Memory elementMemory)에 발생하면 이 값은 지속적으로 유지되어 회로의 고장(Failure)을 일으킨다. 고장은 회로의 특성 및 발생한 부위에 따라 시스템 전체의 고장으로 이어져 인명사고를 일으키는 위험요인으로 작용한다.
본 발명과 관련되는 선행기술로는, 미국 공개특허 제2005-0102565호(FAULT-TOLERANT MULTI-CORE MICROPROCESSING), 미국 공개특허 제2005-0015659호(TARGETED FAULT TOLERANCE BY SPECIAL CPU INSTRUCTIONS)가 있다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, CPU 코어 동작 시 전압, 전류, 온도 등 외부의 여하한 요인에 의하여 발생할 수 있는 코어 내 회로의 동작오류에 의하여 고장이 발생하여 이를 감지하였을 때, CPU 코어 내의 레지스터 파일을 이전의 안전한 상태로 기능복구를 하기 위한 장치 및 방법을 제공함에 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시양태에 따른 씨피유 코어의 기능복구를 위한 장치는, 라이트 쓰기 동작에 따라 레지스터 저장부에 저장될 값을 일시 저장하는 기능 복구 버퍼; 및 외부로부터 고장이 감지되었음을 알리는 신호를 입력받음에 따라 상기 기능 복구 버퍼를 제어하여 기능 복구를 수행하는 기능 복구 모듈부;를 포함한다.
상기 기능 복구 버퍼는 상호 일렬로 연결된 다수개의 기능 복구 버퍼 엘리먼트를 포함할 수 있다.
상기 다수개의 기능 복구 버퍼 엘리먼트는 상기 레지스터 쓰기 동작이 일어날 때마다 FIFO 방식으로 동작할 수 있다.
상기 다수개의 기능 복구 버퍼 엘리먼트의 각각은, 해당 기능 복구 버퍼 엘리먼트가 유효한지를 나타내는 제 1 서브 엘리먼트; 상기 레지스터 쓰기 동작을 행한 명령어가 위치한 메모리 주소를 저장하는 제 2 서브 엘리먼트; 상기 레지스터 쓰기 동작 시 쓰기 동작을 행하고자 하는 목적 레지스터의 ID를 저장하는 제 3 서브 엘리먼트; 상기 레지스터 쓰기 동작 시 레지스터의 값을 저장하는 제 4 서브 엘리먼트; 및 상기 레지스터 쓰기 동작 시 레지스터의 값에 대하여 ECC 생성부의 출력을 저장하는 제 5 서브 엘리먼트;를 포함할 수 있다.
상기 기능 복구 모듈부는, 상기 외부로부터 고장이 감지되었음을 알리는 신호를 입력받으면 기능 복구가 진행됨을 알리는 신호를 출력할 수 있고, 상기 다수개의 기능 복구 버퍼 엘리먼트에서 가장 마지막 엘리먼트의 제 2 서브 엘리먼트의 값을 출력할 수 있고, 상기 기능 복구를 수행하기 위해 상기 다수개의 기능 복구 버퍼 엘리먼트를 무효 상태로 만들 수 있고, 상기 기능 복구가 완료됨에 따라 기능 복구가 완료되었음을 알리는 신호를 출력할 수 있다.
상기 기능 복구 모듈부는, 상기 다수개의 기능 복구 버퍼 엘리먼트에서 가장 마지막 엘리먼트의 제 2 서브 엘리먼트의 값이 "1"이 아닐 경우에는 순차적으로 바로 이전의 기능 복구 버퍼 엘리먼트의 제 2 서브 엘리먼트를 검색하여 "1"로 되어 있는 제 2 서브 엘리먼트의 값을 출력할 수 있다.
상기 출력되는 제 2 서브 엘리먼트의 값은 CPU 코어가 기능 복구 이후 실행할 프로그램 시퀀스의 시작 주소가 될 수 있다.
상기 기능 복구 모듈부는, 상기 다수개의 기능 복구 버퍼 엘리먼트 모두의 제 1 서브 엘리먼트를 "0"으로 세팅하여 상기 다수개의 기능 복구 버퍼 엘리먼트를 무효 상태로 만들 수 있다.
상기 다수개의 기능 복구 버퍼 엘리먼트의 출력 및 상기 레지스터 저장부 내의 모든 레지스터 엘리먼트의 출력을 입력으로 하여 이 중에서 읽기를 원하는 값을 선택하는 레지스터 읽기 모듈부;를 추가로 포함할 수 있다.
상기 레지스터 읽기 모듈부는, 읽기를 원하는 레지스터의 ID가 상기 다수개의 기능 복구 버퍼 엘리먼트 중에서 어느 하나의 기능 복구 버퍼 엘리먼트와 상기 모든 레지스터 엘리먼트 중에서 어느 하나의 레지스터 엘리먼트에 모두 존재한다면 상기 어느 하나의 기능 복구 버퍼 엘리먼트의 값을 우선하여 선택할 수 있다.
상기 레지스터 읽기 모듈부는, 상기 선택한 기능 복구 엘리먼트의 제 4 서브 엘리먼트로부터 생성된 에러 정정 코드값과 상기 선택한 기능 복구 엘리먼트의 제 5 서브 엘리먼트의 값을 비교하여 고장 여부를 외부에 알리는 ECC 생성 및 비교부를 포함할 수 있다.
한편, 본 발명의 바람직한 실시양태에 따른 씨피유 코어의 기능복구를 위한 방법은, 기능 복구 모듈부가, 외부로부터 고장이 감지되었음을 알리는 신호를 입력받는 단계; 및 상기 기능 복구 모듈부가, 라이트 쓰기 동작에 따라 레지스터 저장부에 저장될 값을 일시 저장하는 기능 복구 버퍼를 제어하여 기능 복구를 수행하는 단계;를 포함한다.
상기 기능 복구 버퍼는 해당 기능 복구 버퍼 엘리먼트가 유효한지를 나타내는 제 1 서브 엘리먼트, 및 상기 레지스터 쓰기 동작을 행한 명령어가 위치한 메모리 주소를 저장하는 제 2 서브 엘리먼트를 포함하는 다수개의 기능 복구 버퍼 엘리먼트를 포함할 수 있고,
상기 기능 복구를 수행하는 단계는, 상기 다수개의 기능 복구 버퍼 엘리먼트에서 가장 마지막 엘리먼트의 제 2 서브 엘리먼트의 값을 출력하는 단계; 상기 기능 복구를 수행하기 위해 상기 다수개의 기능 복구 버퍼 엘리먼트를 무효 상태로 만드는 단계; 및 상기 기능 복구가 완료됨에 따라 기능 복구가 완료되었음을 알리는 신호를 출력하는 단계;를 포함할 수 있다.
상기 다수개의 기능 복구 버퍼 엘리먼트에서 가장 마지막 엘리먼트의 제 2 서브 엘리먼트의 값을 출력하는 단계는, 상기 다수개의 기능 복구 버퍼 엘리먼트에서 가장 마지막 엘리먼트의 제 2 서브 엘리먼트의 값이 "1"이 아닐 경우에는 순차적으로 바로 이전의 기능 복구 버퍼 엘리먼트의 제 2 서브 엘리먼트를 검색하여 "1"로 되어 있는 제 2 서브 엘리먼트의 값을 출력할 수 있다.
상기 기능 복구를 수행하기 위해 상기 다수개의 기능 복구 버퍼 엘리먼트를 무효 상태로 만드는 단계는, 상기 다수개의 기능 복구 버퍼 엘리먼트 모두의 제 1 서브 엘리먼트를 "0"으로 세팅하여 상기 다수개의 기능 복구 버퍼 엘리먼트를 무효 상태로 만들 수 있다.
이러한 구성의 본 발명에 따르면, CPU 코어에서 전압, 전류, 온도 등 여하한 요인에 의하여 전기적인 오류가 발생한 것을 두 개의 코어를 이용하여 감지하였을 때 고장을 복구할 수 있고, 고장 복구 기능 중에 다시 고장이 발생할 확률을 최소화할 수 있다.
특히, CPU 코어에서 고장이 감지되었을 때, 레지스터 파일의 기능 복구를 위하여 기능 복구 버퍼를 구현하고, 이를 통하여 고장이 발생하더라도 레지스터 파일의 무고장(Failure -Free) 상태로 복구할 수 있다.
도 1은 본 발명의 실시예에 따른 씨피유 코어의 기능복구를 위한 장치의 구성도이다.
도 2는 본 발명의 실시예에 따른 씨피유 코어의 기능복구를 위한 장치의 동작 흐름도이다.
도 3은 본 발명의 실시예가 구현된 컴퓨터 시스템을 나타낸 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
통상적으로, CPU 코어는 각 명령어의 기능을 실행하는 파이프라인 부분과 명령어 연산 결과(피연산자의 값)를 읽는 레지스터 파일(레지스터 엘리먼트들의 집합)을 포함한다. CPU 코어 내의 파이프라인 부분(즉, 명령어의 기능을 실행하는 로직)에 명령어가 입력되면 정해진 클럭 사이클 이후에 레지스터 파일에 그 결과값을 저장한다. 명령어는 순차적으로 지속 입력되기 때문에 매 클럭 사이클마다 레지스터 파일에 값을 쓰는 동작이 지속적으로 행해진다.
이하의 본 발명에서는 레지스터 파일의 기능 복구를 위하여 기능 복구 버퍼를 구현하고, CPU 코어에서 고장이 감지되었을 때 기능 복구 버퍼를 통하여 고장이 발생하더라도 레지스터 파일을 이전의 안전한 상태로 기능 복구할 수 있도록 하는 장치 및 방법에 대해 설명한다.
도 1은 본 발명의 실시예에 따른 씨피유 코어의 기능복구를 위한 장치의 구성도이다.
본 발명의 실시예에 따른 씨피유 코어의 기능복구를 위한 장치는, 기능 복구 버퍼(100), 레지스터 저장부(200), 레지스터 읽기 모듈부(300), 및 기능 복구 모듈부(400)를 포함한다.
기능 복구 버퍼(100)는 CPU 코어 내의 파이프라인 상에서 오류가 발생했을 때 기능 복구 모듈부(400)의 제어에 의해 오류가 발생한 값이 레지스터 저장부(200)의 레지스터 엘리먼트에 저장되는 것을 방지한다.
기능 복구 버퍼(100)는 다수의 기능 복구 버퍼 엘리먼트(101, 102, 103, 104)를 포함한다. 각각의 기능 복구 버퍼 엘리먼트(101, 102, 103, 104)는 일렬로 연결되어 있다. 레지스터 쓰기 동작이 일어날 때마다 FIFO(First -In, First-Out) 방식으로 기능 복구 버퍼 엘리먼트의 값은 이동한다. 예를 들어, 레지스터 쓰기(Register Write)가 발생할 때마다 첫번째 기능 복구 버퍼 엘리먼트(101)의 값은 두번째 기능 복구 버퍼 엘리먼트(102)로 이동하고, 두번째 기능 복구 버퍼 엘리먼트(102)의 값은 세번째 기능 복구 버퍼 엘리먼트(103)로 이동하고, 세번째 기능 복구 버퍼 엘리먼트(103)의 값은 네번째 기능 복구 버퍼 엘리먼트(104)로 이동한다.
레지스터 쓰기(Register Write)는 첫 번째 기능 복구 버퍼 엘리먼트(101)에서 처리한다. 기능 복구 버퍼 엘리먼트(101)의 서브 엘리먼트 BE0(110)는 해당 기능 복구 버퍼 엘리먼트(101)가 유효(Valid), 즉, 데이터가 저장되어 있음을 나타내는 플립플롭(Flip -Flop)이다. 기능 복구 버퍼 엘리먼트(101)의 서브 엘리먼트 BPC0(111)는 레지스터 쓰기 동작을 행한 명령어가 위치한 메모리 주소(예컨대, 프로그램 카운터(Program Counter, PC))를 저장한다. 기능 복구 버퍼 엘리먼트(101)의 서브 엘리먼트 BID0(112)는 레지스터 쓰기 동작 시 쓰기 동작을 행하고자 하는 레지스터(즉, 목적 레지스터(Destination Register))의 ID(Identification Number)를 저장한다. 기능 복구 버퍼 엘리먼트(101)의 서브 엘리먼트 BD0(113)는 레지스터 쓰기 동작 시 레지스터의 값을 저장한다. 기능 복구 버퍼 엘리먼트(101)의 서브 엘리먼트 BEC0(114)는 레지스터 쓰기 동작 시 레지스터의 값에 대하여 ECC(Error Correction Code; 에러 정정 코드)를 생성하는 ECC 생성부(115)의 출력을 저장한다.
기능 복구 버퍼(100)내의 다른 기능 복구 버퍼 엘리먼트(102, 103, 104)도 상술한 기능 복구 버퍼 엘리먼트(101)와 같은 서브 엘리먼트들을 포함한다.
기능 복구 버퍼(100)내의 마지막 기능 복구 버퍼 엘리먼트(104)는 레지스터 쓰기 동작이 일어나면 해당 기능 복구 버퍼 엘리먼트에 저장된 값을 레지스터 저장부(200)의 레지스터 엘리먼트(즉, 레지스터 파일)에 커밋(Commit; 할당)한다.
레지스터 저장부(200)는 기능 복구 버퍼(100)에서의 레지스터 쓰기 동작의 결과를 저장한다.
레지스터 저장부(200)는 쓰기 디코더(230) 및 다수의 레지스터 엘리먼트(210, 211, 212, 213, 214, 215, 216, 217)를 포함한다. 각각의 레지스터 엘리먼트(210, 211, 212, 213, 214, 215, 216, 217)는 레지스터 데이터(220) 및 레지스터 ECC(221)를 포함한다.
쓰기 디코더(230)는 기능 복구 버퍼(100)의 마지막 기능 복구 버퍼 엘리먼트(104)에 저장된 값을 근거로 다수의 레지스터 엘리먼트(210, 211, 212, 213, 214, 215, 216, 217) 중 어느 하나를 활성화시키고 쓰기 동작을 행한다. 예를 들어, 쓰기 디코더(230)는 기능 복구 버퍼 엘리먼트(104)의 서브 엘리먼트 BE3(121)가 "1" 이면 레지스터 파일에 쓸 값이 있다는 뜻이므로, 서브 엘리먼트 BE3(121)이 "1"일 때 쓰기 동작을 행한다. 쓰기 디코더(230)는 서브 엘리먼트 BID3(122)의 값을 근거로 어느 레지스터에 쓸 것인지를 확인한 다음 다수의 레지스터 엘리먼트(210, 211, 212, 213, 214, 215, 216, 217) 중 해당하는 하나의 레지스터 엘리먼트를 활성화(Enable)한다. 그리고, 쓰기 디코더(230)는 서브 엘리먼트 BD3(123) 및 서브 엘리먼트 BEC3(124)의 값을 활성화된 레지스터 엘리먼트에 저장시킨다.
레지스터 읽기 모듈부(300)는 ECC(Error Correction Code; 에러 정정 코드) 생성 및 비교부(330)를 포함한다.
레지스터 읽기 모듈부(300)는 기능 복구 버퍼(100) 내의 모든 기능 복구 버퍼 엘리먼트(101, 102, 103, 104)의 출력(310, 311) 및 레지스터 저장부(200) 내의 모든 레지스터 엘리먼트(210, 211, 212, 213, 214, 215, 216, 217)의 출력(320, 321)을 입력으로 하여 이 중에서 읽기를 원하는 값을 선택한다. 도 1에서, 레지스터 읽기 모듈부(300)는 두 개의 레지스터를 동시에 읽어낼 수 있다.
레지스터 읽기 모듈부(300)는 읽기를 원하는 레지스터의 ID가 기능 복구 버퍼 엘리먼트(즉, 다수개의 기능 복구 버퍼 엘리먼트 중에서 어느 하나)와 레지스터 엘리먼트(즉, 다수개의 레지스터 엘리먼트 중에서 어느 하나)에 모두 존재한다면 기능 복구 버퍼 엘리먼트의 값을 우선하여 선택할 수 있다. 예를 들어, 레지스터 읽기 모듈부(300)에서 읽고자 하는 레지스터가 ID=3 번이고 BD1=3 일 때 레지스터 읽기 모듈부(300)는 BD1을 읽어낸 값으로 선택한다. 이때, BD1의 값은 ECC 생성 및 비교부(330)에 입력된다 .
ECC 생성 및 비교부(330)는 BD1으로부터 생성된 ECC 값과 BEC1의 값을 비교한다. 만일, 비교한 값이 상이하다면 ECC 생성 및 비교부(330)는 RDATA0_FAIL(341)을 "1"로 하여 기능 복구 버퍼 엘리먼트에 저장된 데이터에 고장이 생겼음을 외부에 알린다. 반대로, 비교한 값이 동일하다면 ECC 생성 및 비교부(330)는 BD1의 값을 RDATA0(340)로 출력한다.
기능 복구 모듈부(400)는 외부에서 고장이 감지(Failure Detection)되었음을 알리는 신호(FAULT_DETECT)(420)가 입력되면 기능 복구가 진행됨을 알리는 신호 출력(RECOVERY_OP)(421)을 "1"로 셋팅한다.
기능 복구 모듈부(400)는 기능 복구를 진행하기 바로 전에 기능 복구 버퍼(100)내의 가장 마지막 엘리먼트(104)의 서브 엘리먼트 BPC3(130)의 값을 RECOVERY_PC(422)로 출력한다. 만약, 기능 복구 버퍼(100)내의 가장 마지막 엘리먼트(104)의 서브 엘리먼트 BE3(121)의 값이 "1"이 아닐 경우에는 기능 복구 모듈부(400)는 서브 엘리먼트 BE2, BE1, BE0의 순서로 검색하여 "1"로 되어 있는 기능 복구 버퍼 엘리먼트의 BPC의 값을 RECOVERY_PC(422)로 출력한다. 여기서, 출력되는 기능 복구 버퍼 엘리먼트의 가장 마지막 PC의 값(예컨대, 서브 엘리먼트 BPC3(130)의 값)은 CPU 코어가 기능 복구 이후 실행할 프로그램 시퀀스의 시작 주소가 된다.
그리고, 기능 복구 모듈부(400)는 모든 기능 복구 버퍼 엘리먼트의 BE를 "0"으로 세팅하는 것으로 기능 복구를 수행한다. 즉, 기능 복구가 수행되는 동안에는 모든 기능 복구 버퍼 엘리먼트(101, 102, 103, 104)는 "Invalid" 상태가 된다.
기능 복구가 완료되면 기능 복구 모듈부(400)는 RECOVERY_OP(421)를 "0"으로 세팅한다.
고장의 감지(Detection)는 고장이 발생하는 즉시 이루어지지 않으며, 일반적으로 오류(Fault)가 발생한 이후 이것이 고장(Failure)으로 전환되어 감지되기까지 최대 N 사이클의 시간이 소요된다. 도 1에서는 기능 복구 버퍼 엘리먼트(101, 102, 103, 104)의 개수가 N = 4인 경우를 예시하였다.
기능 복구 버퍼 엘리먼트의 존재로 인해, 레지스터 쓰기 동작에 대하여 쓰기 동작의 결과를 레지스터 저장부(200)에 즉시 입력(Commit)하지 않고, 기능 복구 버퍼 엘리먼트에 임시로 저장한다.
그리고, 만일 오류가 발생하면 기능 복구 버퍼 엘리먼트들은 기능 복구 모듈부(400)에 의해 모두 "Invalid" 상태가 된다. 이와 같이 오류가 발생됨에 따라 기능 복구 버퍼 엘리먼트들을 모두 "Invalid" 상태로 만드는 것을 기능 복구라고 한다. 보다 상세하게는, 기능 복구를 수행하기 위해서 기능 복구 모듈부(400)는 기능 복구 버퍼 엘리먼트의 모든 BE0 ~ BE3을 "0"으로 셋팅한다. 이와 같이 하면 기능 복구가 수행된 것이고, 이에 의해 레지스터 저장부(200)는 고장이 없는 것으로 판명된 상태를 유지하게 된다.
도 1에서 미설명 부호 410은 외부에서 기능 복구 모듈부(400)로 입력되는 복구 요청 신호(RECOVERY_REQ)이다. 따라서, 기능 복구 모듈부(400)는 외부에서 고장이 감지(Failure Detection)되었음을 알리는 신호(FAULT_DETECT)(420) 또는 복구 요청 신호(RECOVERY_REQ)(410)가 입력되면 기능 복구가 진행됨을 알리는 신호 출력(RECOVERY_OP)(421)을 "1"로 셋팅할 수 있다.
결국, 도 1에서, 기능 복구 버퍼(100)는 라이트 쓰기 동작에 따라 레지스터 저장부(200)에 저장될 값을 일시 저장하는 것으로 이해할 수 있고, 기능 복구 모듈부(400)는 외부로부터 고장이 감지되었음을 알리는 신호를 입력받음에 따라 기능 복구 버퍼(100)를 제어하여 기능 복구를 수행하는 것으로 이해할 수 있다.
도 2는 본 발명의 실시예에 따른 씨피유 코어의 기능복구를 위한 장치의 동작 흐름도이다.
예를 들어, CPU 코어가 "0x2000_003c: ADD %g1, %g2, %g3 ; g1=0x0000_0012, g2=0x0000_011f"와 같은 명령어를 실행할 경우를 가정해 본다.
기능 복구 버퍼(100)의 첫번째 기능 복구 버퍼 엘리먼트(101)의 서브 엘리먼트 BE0(110)은 "1"이 되고, 서브 엘리먼트 BPC0(111)은 "0x2000_003c"이 되고, 서브 엘리먼트 BID0(112)는 "3(g3에 쓰기 동작을 행함)"이 되고, 서브 엘리먼트 BD0(113)은 "0x0000_0131"이 된다. 서브 엘리먼트 BEC0(114)는 ECC의 구현 복잡도에 따라 BD0를 ECC 인코딩한 값이 저장된다.
이후, 레지스터 쓰기 동작이 일어날 때마다 기능 복구 버퍼 엘리먼트(101) 에 저장되어 있던 값은 기능 복구 버퍼 엘리먼트(102)로 이동하고, 기능 복구 버퍼 엘리먼트(102)에 저장된 값은 기능 복구 버퍼 엘리먼트(103)로 이동하고, 기능 복구 버퍼 엘리먼트(103)에 저장된 값은 기능 복구 버퍼 엘리먼트(104)로 이동한다.
고장의 감지(Detection)는 고장이 발생하는 즉시 이루어지지 않으며, 일반적으로 오류(Fault)가 발생한 이후 이것이 고장(Failure)으로 전환되어 감지되기까지 최대 N 사이클의 시간이 소요된다. 도 1에서는 기능 복구 버퍼 엘리먼트(101, 102, 103, 104)의 개수가 N = 4인 경우를 예시하였다.
상술한 바와 같이 기능 복구 버퍼 엘리먼트(101, 102, 103, 104)의 존재로 인해, 레지스터 쓰기 동작에 대하여 쓰기 동작의 결과는 레지스터 저장부(200)에 즉시 입력(Commit)되지 않고, 기능 복구 버퍼 엘리먼트(101, 102, 103, 104)에 순차적으로 임시로 저장된다.
이와 같은 레지스터 쓰기 동작 중에, 외부에서 고장이 감지(Failure Detection)되었음을 알리는 신호(FAULT_DETECT)(420)가 기능 복구 모듈부(400)에 입력되면(S10에서 "Yes") 기능 복구 모듈부(400)는 기능 복구가 진행됨을 알리는 신호 출력(RECOVERY_OP)(421)을 "1"로 셋팅한다(S20).
그리고 나서, 기능 복구 모듈부(400)는 기능 복구를 수행하기 바로 전에 가장 마지막 기능 복구 버퍼 엘리먼트(104)의 서브 엘리먼트 BPC3(130)의 값(프로그램 카운터)을 RECOVERY_PC(422)로 출력한다(S30). 만약, 서브 엘리먼트 BE3(121)의 값이 "1"이 아닐 경우에는 서브 엘리먼트 BE2, BE1, BE0의 순서로 검색하여 "1"로 되어 있는 기능 복구 버퍼 엘리먼트의 BPC의 값을 RECOVERY_PC(422)로 출력한다. 여기서, 기능 복구 버퍼 엘리먼트의 가장 마지막 PC의 값(예컨대, 서브 엘리먼트 BPC3(130)의 값)을 RECOVERY_PC(422)로 출력하는 이유는 CPU 코어가 기능 복구 이후에 실행할 프로그램 시퀀스의 시작 주소를 기능 복구 버퍼 엘리먼트의 가장 마지막 PC의 값으로 하기 위함이다. CPU 코어가 해당 PC 값부터 연산을 다시 실행하면 기능 복구가 완료될 것이다.
그리고, 기능 복구 모듈부(400)는 기능 복구를 수행하기 위해서 모든 기능 복구 버퍼 엘리먼트의 BE0 ~ BE3을 "0"으로 세팅한다(S40). 즉, 모든 기능 복구 버퍼 엘리먼트를 "Invalid" 상태로 한다.
기능 복구가 완료되면 기능 복구 모듈부(400)는 기능 복구가 완료되었음을 알리는 신호를 출력한다(S50). 즉, 기능 복구 모듈부(400)는 기능 복구가 완료되면 RECOVERY_OP(421)를 "0"으로 셋팅한다.
한편, 상술한 본 발명의 실시예는 컴퓨터 시스템에서 구현될 수 있다. 도 3에 도시된 바와 같이, 컴퓨터 시스템(500)은 버스(502)를 통하여 서로 통신하는 하나 이상의 프로세서(501), 메모리(503), 사용자 인터페이스 입력 장치(506), 사용자 인터페이스 출력 장치(507) 및 스토리지(508)를 포함할 수 있다. 또한, 컴퓨터 시스템(500)은 네트워크(510)에 연결되는 하나 이상의 네트워크 인터페이스(509)를 더 포함할 수 있다. 프로세서(501)는 중앙 처리 장치 또는 메모리(503) 또는 스토리지(508)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(503) 및 스토리지(508)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리(503)는 ROM(504)이나 RAM(505)을 포함할 수 있다.
그리고, IoT 시대를 대비하여 컴퓨터 시스템(500)을 소형의 컴퓨팅 디바이스로 구현시킨 경우, 컴퓨팅 디바이스에 이더넷(Ethernet) 케이블을 연결하면 무선 공유기처럼 동작해서 모바일 디바이스가 무선으로 게이트웨이에 붙어서 암복호화 기능을 할 수 있으므로, 이를 위해 컴퓨터 시스템(500)은 무선 통신 칩(와이파이 칩)(512)을 추가로 포함할 수 있다.
따라서, 본 발명의 실시예는 컴퓨터로 구현된 방법이나 컴퓨터에서 실행가능한 명령어들이 기록된 비일시적인 컴퓨터에서 읽을 수 있는 매체로 구현될 수 있다. 컴퓨터에서 읽을 수 있는 명령어들이 프로세서에 의해서 수행될 때, 컴퓨터에서 읽을 수 있는 명령어들은 본 발명의 적어도 한 가지 태양에 따른 방법을 수행할 수 있다.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100 : 기능 복구 버퍼 200 : 레지스터 저장부
300 : 레지스터 읽기 모듈부 400 : 기능 복구 모듈부

Claims (16)

  1. 라이트 쓰기 동작에 따라 레지스터 저장부에 저장될 값을 일시 저장하는 기능 복구 버퍼; 및
    외부로부터 고장이 감지되었음을 알리는 신호를 입력받음에 따라 상기 기능 복구 버퍼를 제어하여 기능 복구를 수행하는 기능 복구 모듈부;를 포함하고,
    상기 기능 복구 버퍼는 해당 기능 복구 버퍼 엘리먼트가 유효한지를 나타내는 제 1 서브 엘리먼트, 및 상기 레지스터 쓰기 동작을 행한 명령어가 위치한 메모리 주소를 저장하는 제 2 서브 엘리먼트를 포함하는 다수개의 기능 복구 버퍼 엘리먼트를 포함하고,
    상기 기능 복구 모듈부는,
    상기 외부로부터 고장이 감지되었음을 알리는 신호를 입력받으면 기능 복구가 진행됨을 알리는 신호를 출력하고, 상기 다수개의 기능 복구 버퍼 엘리먼트에서 가장 마지막 엘리먼트의 제 2 서브 엘리먼트의 값을 출력하고, 상기 기능 복구를 수행하기 위해 상기 다수개의 기능 복구 버퍼 엘리먼트를 무효 상태로 만들고, 상기 기능 복구가 완료됨에 따라 기능 복구가 완료되었음을 알리는 신호를 출력하는 것을 특징으로 하는 씨피유 코어의 기능복구를 위한 장치.
  2. 청구항 1에 있어서,
    상기 기능 복구 버퍼는 상호 일렬로 연결된 다수개의 기능 복구 버퍼 엘리먼트를 포함하는 것을 특징으로 하는 씨피유 코어의 기능복구를 위한 장치.
  3. 청구항 2에 있어서,
    상기 다수개의 기능 복구 버퍼 엘리먼트는 상기 레지스터 쓰기 동작이 일어날 때마다 FIFO 방식으로 동작하는 것을 특징으로 하는 씨피유 코어의 기능복구를 위한 장치.
  4. 청구항 2에 있어서,
    상기 다수개의 기능 복구 버퍼 엘리먼트의 각각은,
    해당 기능 복구 버퍼 엘리먼트가 유효한지를 나타내는 제 1 서브 엘리먼트;
    상기 레지스터 쓰기 동작을 행한 명령어가 위치한 메모리 주소를 저장하는 제 2 서브 엘리먼트;
    상기 레지스터 쓰기 동작 시 쓰기 동작을 행하고자 하는 목적 레지스터의 ID를 저장하는 제 3 서브 엘리먼트;
    상기 레지스터 쓰기 동작 시 레지스터의 값을 저장하는 제 4 서브 엘리먼트; 및
    상기 레지스터 쓰기 동작 시 레지스터의 값에 대하여 ECC 생성부의 출력을 저장하는 제 5 서브 엘리먼트;를 포함하는 것을 특징으로 하는 씨피유 코어의 기능복구를 위한 장치.
  5. 삭제
  6. 청구항 4에 있어서,
    상기 기능 복구 모듈부는,
    상기 다수개의 기능 복구 버퍼 엘리먼트에서 가장 마지막 엘리먼트의 제 2 서브 엘리먼트의 값이 "1"이 아닐 경우에는 순차적으로 바로 이전의 기능 복구 버퍼 엘리먼트의 제 2 서브 엘리먼트를 검색하여 "1"로 되어 있는 제 2 서브 엘리먼트의 값을 출력하는 것을 특징으로 하는 씨피유 코어의 기능복구를 위한 장치.
  7. 청구항 6에 있어서,
    상기 출력되는 제 2 서브 엘리먼트의 값은 CPU 코어가 기능 복구 이후 실행할 프로그램 시퀀스의 시작 주소가 되는 것을 특징으로 하는 씨피유 코어의 기능복구를 위한 장치.
  8. 청구항 4에 있어서,
    상기 기능 복구 모듈부는,
    상기 다수개의 기능 복구 버퍼 엘리먼트 모두의 제 1 서브 엘리먼트를 "0"으로 세팅하여 상기 다수개의 기능 복구 버퍼 엘리먼트를 무효 상태로 만드는 것을 특징으로 하는 씨피유 코어의 기능복구를 위한 장치.
  9. 청구항 2에 있어서,
    상기 다수개의 기능 복구 버퍼 엘리먼트의 출력 및 상기 레지스터 저장부 내의 모든 레지스터 엘리먼트의 출력을 입력으로 하여 이 중에서 읽기를 원하는 값을 선택하는 레지스터 읽기 모듈부;를 추가로 포함하는 것을 특징으로 하는 씨피유 코어의 기능복구를 위한 장치.
  10. 청구항 9에 있어서,
    상기 레지스터 읽기 모듈부는,
    읽기를 원하는 레지스터의 ID가 상기 다수개의 기능 복구 버퍼 엘리먼트 중에서 어느 하나의 기능 복구 버퍼 엘리먼트와 상기 모든 레지스터 엘리먼트 중에서 어느 하나의 레지스터 엘리먼트에 모두 존재한다면 상기 어느 하나의 기능 복구 버퍼 엘리먼트의 값을 우선하여 선택하는 것을 특징으로 하는 씨피유 코어의 기능복구를 위한 장치.
  11. 청구항 10에 있어서,
    상기 레지스터 읽기 모듈부는,
    상기 선택한 기능 복구 엘리먼트의 제 4 서브 엘리먼트로부터 생성된 에러 정정 코드값과 상기 선택한 기능 복구 엘리먼트의 제 5 서브 엘리먼트의 값을 비교하여 고장 여부를 외부에 알리는 ECC 생성 및 비교부를 포함하는 것을 특징으로 하는 씨피유 코어의 기능복구를 위한 장치.
  12. 기능 복구 모듈부가, 외부로부터 고장이 감지되었음을 알리는 신호를 입력받는 단계; 및
    상기 기능 복구 모듈부가, 라이트 쓰기 동작에 따라 레지스터 저장부에 저장될 값을 일시 저장하는 기능 복구 버퍼를 제어하여 기능 복구를 수행하는 단계;를 포함하고,
    상기 기능 복구 버퍼는 해당 기능 복구 버퍼 엘리먼트가 유효한지를 나타내는 제 1 서브 엘리먼트, 및 상기 레지스터 쓰기 동작을 행한 명령어가 위치한 메모리 주소를 저장하는 제 2 서브 엘리먼트를 포함하는 다수개의 기능 복구 버퍼 엘리먼트를 포함하고,
    상기 기능 복구를 수행하는 단계는,
    상기 다수개의 기능 복구 버퍼 엘리먼트에서 가장 마지막 엘리먼트의 제 2 서브 엘리먼트의 값을 출력하는 단계;
    상기 기능 복구를 수행하기 위해 상기 다수개의 기능 복구 버퍼 엘리먼트를 무효 상태로 만드는 단계; 및
    상기 기능 복구가 완료됨에 따라 기능 복구가 완료되었음을 알리는 신호를 출력하는 단계;를 포함하는 것을 특징으로 하는 씨피유 코어의 기능복구를 위한 방법.
  13. 삭제
  14. 청구항 12에 있어서,
    상기 다수개의 기능 복구 버퍼 엘리먼트에서 가장 마지막 엘리먼트의 제 2 서브 엘리먼트의 값을 출력하는 단계는,
    상기 다수개의 기능 복구 버퍼 엘리먼트에서 가장 마지막 엘리먼트의 제 2 서브 엘리먼트의 값이 "1"이 아닐 경우에는 순차적으로 바로 이전의 기능 복구 버퍼 엘리먼트의 제 2 서브 엘리먼트를 검색하여 "1"로 되어 있는 제 2 서브 엘리먼트의 값을 출력하는 것을 특징으로 하는 씨피유 코어의 기능복구를 위한 방법.
  15. 청구항 14에 있어서,
    상기 출력되는 제 2 서브 엘리먼트의 값은 CPU 코어가 기능 복구 이후 실행할 프로그램 시퀀스의 시작 주소가 되는 것을 특징으로 하는 씨피유 코어의 기능복구를 위한 방법.
  16. 청구항 12에 있어서,
    상기 기능 복구를 수행하기 위해 상기 다수개의 기능 복구 버퍼 엘리먼트를 무효 상태로 만드는 단계는,
    상기 다수개의 기능 복구 버퍼 엘리먼트 모두의 제 1 서브 엘리먼트를 "0"으로 세팅하여 상기 다수개의 기능 복구 버퍼 엘리먼트를 무효 상태로 만드는 것을 특징으로 하는 씨피유 코어의 기능복구를 위한 방법.
KR1020150039969A 2015-03-23 2015-03-23 씨피유 코어의 기능복구를 위한 장치 및 방법 KR101658828B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150039969A KR101658828B1 (ko) 2015-03-23 2015-03-23 씨피유 코어의 기능복구를 위한 장치 및 방법
US15/008,188 US10127098B2 (en) 2015-03-23 2016-01-27 Apparatus and method for recovering functionality of central processing unit core

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150039969A KR101658828B1 (ko) 2015-03-23 2015-03-23 씨피유 코어의 기능복구를 위한 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101658828B1 true KR101658828B1 (ko) 2016-09-22

Family

ID=56974211

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150039969A KR101658828B1 (ko) 2015-03-23 2015-03-23 씨피유 코어의 기능복구를 위한 장치 및 방법

Country Status (2)

Country Link
US (1) US10127098B2 (ko)
KR (1) KR101658828B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671464B2 (en) 2016-12-29 2020-06-02 Samsung Electronics Co., Ltd. Memory device comprising status circuit and operating method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH039433A (ja) * 1989-06-06 1991-01-17 Nec Software Ltd 情報処理装置
KR950003975A (ko) * 1993-07-23 1995-02-17 윌리암 티. 엘리스 씨피유(cpu) 상태 보존 방법 및 복원 방법
KR20080068710A (ko) * 2005-11-18 2008-07-23 로베르트 보쉬 게엠베하 레지스터를 포함하는 적어도 2개의 실행 유닛을 구비한시스템에서 오류를 제거하기 위한 장치 및 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950003975B1 (ko) 1991-12-18 1995-04-21 제일합섬주식회사 제도용 매트필름의 제조방법
US5574849A (en) * 1992-12-17 1996-11-12 Tandem Computers Incorporated Synchronized data transmission between elements of a processing system
US5625789A (en) * 1994-10-24 1997-04-29 International Business Machines Corporation Apparatus for source operand dependendency analyses register renaming and rapid pipeline recovery in a microprocessor that issues and executes multiple instructions out-of-order in a single cycle
US5905857A (en) * 1996-12-03 1999-05-18 Bull Hn Information Systems Inc. Safestore procedure for efficient recovery following a fault during execution of an iterative execution instruction
US7146530B2 (en) 2003-07-18 2006-12-05 Hewlett-Packard Development Company, L.P. Targeted fault tolerance by special CPU instructions
US7206966B2 (en) 2003-10-22 2007-04-17 Hewlett-Packard Development Company, L.P. Fault-tolerant multi-core microprocessing
US7467325B2 (en) * 2005-02-10 2008-12-16 International Business Machines Corporation Processor instruction retry recovery
US8108714B2 (en) * 2007-03-12 2012-01-31 International Business Machines Corporation Method and system for soft error recovery during processor execution
KR101978984B1 (ko) 2013-05-14 2019-05-17 한국전자통신연구원 프로세서의 오류를 검출하는 장치 및 방법
KR20140134376A (ko) 2013-05-14 2014-11-24 한국전자통신연구원 오류감지가 가능한 프로세서 및 이를 이용한 프로세서 코어 오류 감지 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH039433A (ja) * 1989-06-06 1991-01-17 Nec Software Ltd 情報処理装置
KR950003975A (ko) * 1993-07-23 1995-02-17 윌리암 티. 엘리스 씨피유(cpu) 상태 보존 방법 및 복원 방법
KR20080068710A (ko) * 2005-11-18 2008-07-23 로베르트 보쉬 게엠베하 레지스터를 포함하는 적어도 2개의 실행 유닛을 구비한시스템에서 오류를 제거하기 위한 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671464B2 (en) 2016-12-29 2020-06-02 Samsung Electronics Co., Ltd. Memory device comprising status circuit and operating method thereof

Also Published As

Publication number Publication date
US20160283315A1 (en) 2016-09-29
US10127098B2 (en) 2018-11-13

Similar Documents

Publication Publication Date Title
JP5232018B2 (ja) エラー処理方法およびエラー処理装置
TWI553650B (zh) 以記憶體控制器來處理資料錯誤事件之方法、設備及系統
JP2022534739A (ja) 画像誤分類のためのセーフティモニタ
US11544192B2 (en) Semiconductor device, control system, and control method of semiconductor device
US8667372B2 (en) Memory controller and method of controlling memory
JP7351933B2 (ja) エラーリカバリ方法及び装置
JP2016170786A (ja) セーフティクリティカルなエラーを処理するための方法と装置
US9619318B2 (en) Memory circuits, method for accessing a memory and method for repairing a memory
US20150286544A1 (en) Fault tolerance in a multi-core circuit
CN112506690A (zh) 控制处理器的方法及装置
KR101658828B1 (ko) 씨피유 코어의 기능복구를 위한 장치 및 방법
US9575852B2 (en) Failure recovery apparatus of digital logic circuit and method thereof
US9043655B2 (en) Apparatus and control method
CN109976939B (zh) 一种数据处理方法及装置
CN111061591B (zh) 基于存储器完整性检查控制器实现数据完整性检查的系统和方法
US20130055017A1 (en) Device and method for restoring information in a main storage unit
CN108829417B (zh) 一种cpld的升级装置、方法、设备及存储介质
KR20210116342A (ko) 데이터 처리 디바이스 및 데이터 처리 방법
CN110825017A (zh) 包括安全逻辑的装置和操作该装置的方法
JP2010061258A (ja) デュプレックスプロセッサシステム及びプロセッサ二重化方法
US11831337B2 (en) Semiconductor device and error detection methods
US20230064905A1 (en) Semiconductor device
KR20180116122A (ko) 디지털 집적회로에 적용되는 esd 검출 장치, 방법 및 집적회로
CN115482875A (zh) 存储器安全接口配置
JP2015001774A (ja) 半導体集積回路及びその処理方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190826

Year of fee payment: 4