KR102075689B1 - 태스크의 기능 안전을 보장하기 위한 방법 및 장치 - Google Patents

태스크의 기능 안전을 보장하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR102075689B1
KR102075689B1 KR1020180095418A KR20180095418A KR102075689B1 KR 102075689 B1 KR102075689 B1 KR 102075689B1 KR 1020180095418 A KR1020180095418 A KR 1020180095418A KR 20180095418 A KR20180095418 A KR 20180095418A KR 102075689 B1 KR102075689 B1 KR 102075689B1
Authority
KR
South Korea
Prior art keywords
processor
check
task
tasks
current task
Prior art date
Application number
KR1020180095418A
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 KR1020180095418A priority Critical patent/KR102075689B1/ko
Application granted granted Critical
Publication of KR102075689B1 publication Critical patent/KR102075689B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • 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/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/085Error detection or correction by redundancy in data representation, e.g. by using checking codes using codes with inherent redundancy, e.g. n-out-of-m codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

프로세서가 개시된다. 일 실시예는 프로세서의 태스크들 중 현재 태스크를 완료한 경우, 상기 현재 태스크에 대응되는 체크 영역에 데이터를 기록하고, 상기 태스크들이 완료되어 상기 태스크들 각각에 대응되는 체크 영역에 데이터를 기록함으로써 체크 워드를 형성하는 경우, 상기 형성된 체크 워드를 확인하며, 상기 확인 결과를 기초로 상기 프로세서가 정상 동작하였는지 여부를 결정한다.

Description

태스크의 기능 안전을 보장하기 위한 방법 및 장치{METHOD AND APPARATUS OF ENSURING FUNCTIONAL SAFETY OF TASK}
아래 실시예들은 태스크의 기능 안전 보장에 관한 것이다.
최근, ISO26262 기능 안전(functional safety)이 강조되고 있고, 이러한 기능 안전을 구현하기 위한 많은 연구가 진행되고 있다.
관련 선행기술로, 한국 공개특허공보 제10-2014-7027683호(발명의 명칭: 전자 제어 시스템의 기능적 보안성을 향상시키고 이용 가능성을 증대시키는 방법, 및 전자 제어 시스템, 출원인: 콘티넨탈 테베스 아게 운트 코. 오하게 및 콘티 테믹 마이크로일렉트로닉 게엠베하)가 있다. 해당 공개특허공보에는 적어도 하나의 하드웨어 컴포넌트에 의해 제공되는 데이터 암호화 및/또는 하드웨어 컴포넌트의 적어도 하나의 통신 채널의 데이터를 보호하는 데이터 서명이 적어도 하나의 제1 소프트웨어 컴포넌트와 함께 사용되는 내용이 개시된다.
일 측에 따른 프로세서의 동작 방법은 상기 프로세서의 태스크(task)들 중 현재 태스크를 완료한 경우, 상기 현재 태스크에 대응되는 체크 영역에 데이터를 기록하는 단계; 상기 태스크들이 완료되어 상기 태스크들 각각에 대응되는 체크 영역에 데이터를 기록함으로써 체크 워드를 형성하는 경우, 상기 형성된 체크 워드를 확인하는 단계; 및 상기 확인 결과를 기초로 상기 프로세서가 정상 동작하였는지 여부를 결정하는 단계를 포함한다.
상기 결정하는 단계는 상기 형성된 체크 워드가 미리 정해진 시퀀스에 해당하는 경우, 상기 프로세서가 정상 동작한 것으로 결정하는 단계를 포함할 수 있다.
상기 기록하는 단계는 상기 현재 태스크에 대한 체크 비트 및 다른 체크 영역에 기록된 체크 비트를 기초로 연산을 수행하는 단계; 및 상기 연산의 결과를 상기 현재 태스크에 대응되는 체크 영역에 기록하는 단계를 포함할 수 있다.
상기 다른 체크 영역에 기록된 체크 비트는 상기 현재 태스크 이전에 수행된 태스크에 대응되는 체크 영역에 기록된 체크 비트를 나타낼 수 있다.
상기 연산은 논리 연산을 포함할 수 있다.
상기 프로세서의 동작 방법은 상기 현재 태스크에 대응되는 체크 영역에 데이터를 기록하는 경우, 이후 태스크를 수행하는 단계를 더 포함할 수 있다.
다른 일 측에 따른 프로세서의 동작 방법은 상기 프로세서의 태스크(task)들 각각을 완료할 때 마다 완료된 태스크에 대응되는 체크 영역에 데이터를 기록하여, 체크 워드를 형성하는 단계; 상기 형성된 체크 워드와 미리 정해진 시퀀스를 비교하는 단계; 및 상기 비교 결과를 기초로 상기 프로세서가 정상 동작하였는지 여부를 결정하는 단계를 포함한다.
일 측에 따른 프로세서는 상기 프로세서의 태스크(task)들 중 현재 태스크를 완료한 경우, 상기 현재 태스크에 대응되는 체크 영역에 데이터를 기록하고, 상기 태스크들이 완료되어 상기 태스크들 각각에 대응되는 체크 영역에 데이터를 기록함으로써 체크 워드를 형성하는 경우, 상기 형성된 체크 워드를 확인하며, 상기 확인 결과를 기초로 상기 프로세서가 정상 동작하였는지 여부를 결정하는 제어부를 포함한다.
상기 제어부는 상기 형성된 체크 워드가 미리 정해진 시퀀스에 해당하는 경우, 상기 프로세서가 정상 동작한 것으로 결정할 수 있다.
상기 제어부는 상기 현재 태스크에 대한 체크 비트 및 다른 체크 영역에 기록된 체크 비트를 기초로 연산을 수행하고, 상기 연산의 결과를 상기 현재 태스크에 대응되는 체크 영역에 기록할 수 있다.
상기 다른 체크 영역에 기록된 체크 비트는 상기 현재 태스크 이전에 수행된 태스크에 대응되는 체크 영역에 기록된 체크 비트를 나타낼 수 있다.
상기 연산은 논리 연산을 포함할 수 있다.
상기 제어부는 상기 현재 태스크에 대응되는 체크 영역에 데이터를 기록하는 경우, 이후 태스크를 수행할 수 있다.
실시예들은 프로세서의 태스크들(또는 기능들(functions))이 주어진 순서에 따라 정상적으로 작동하였는지 여부를 확인할 수 있어 각 태스크의 기능 안전을 보장할 수 있다. 또한, 실시예들은 프로세서의 신뢰성을 향상시킬 수 있다.
도 1 내지 도 5는 일 실시예에 따른 프로세서의 기능 안전을 보장하는 방법을 설명하기위한 도면이다.
도 6은 일 실시예에 따른 프로세서의 동작의 일례를 설명하기 위한 순서도이다.
도 7은 일 실시예에 따른 프로세서의 동작의 다른 일례를 설명하기 위한 순서도이다.
도 8은 일 실시예에 따른 프로세서를 설명하기 위한 블록도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1 내지 도 5는 일 실시예에 따른 프로세서의 기능 안전을 보장하는 방법을 설명하기위한 도면이다.
도 1을 참조하면, 일 실시예에 따른 프로세서는 태스크들 각각을 완료한 경우, 체크 타임을 갖는다. 프로세서는 는 CPU(Central Processing Unit), MCU(Micro Controller Unit), DSP(Digital Signal Processor) 등의 프로세서에 해당할 수 있다.
일례로, 프로세서가 태스크 0 내지 태스크 n-1을 갖는다고 하자. 다시 말해, 프로세서는 n개의 태스크들을 갖는다고 하자. 프로세서는 태스크 0을 완료한 경우, 체크 타임을 가질 수 있고, 태스크 k를 완료한 경우, 체크 타임을 가질 수 있으며, 마지막 태스크 n-1을 완료한 경우, 체크 타임을 가질 수 있다. 달리 표현하면, 프로세서는 태스크들이 일련의 순서대로 진행되었는지를 확인하기 위해 각 태스크를 완료하면 체크 타임을 가질 수 있다.
체크 타임에서, 프로세서는 완료된 태스크에 대응되는 체크 영역에 valid 데이터를 기록한다. valid 데이터는, 예를 들어, "1"에 해당할 수 있다. 일례로, 프로세서는 태스크 0을 완료한 경우, 완료된 태스크 0에 대응되는 체크 영역에 valid 데이터를 기록한다. 마찬가지로, 프로세서는 태스크 k를 완료한 경우, 완료된 태스크 k에 대응되는 체크 영역에 valid 데이터를 기록한다.
프로세서는 태스크들 각각에 대응되는 체크 영역에 valid 데이터를 기록함으로써 체크 워드를 형성할 수 있고, 형성된 체크 워드를 검사하여 프로세서 또는 프로세서의 태스크들이 정상적으로 동작하였는지 여부를 판단할 수 있다. 이에 따라, 프로세서는 각 태스크의 기능 안전을 보장할 수 있고, 프로세서의 신뢰성을 보다 높일 수 있다. 기능 안전 보장에 대해선 도 2 내지 도 5를 참조하면서 자세히 설명한다.
도 2를 참조하면, 일 실시예에 따른 프로세서는 태스크 k를 수행한다(210). 태스크 k는 프로세서의 k번째 태스크를 나타낼 수 있다.
프로세서는 태스크 k를 완료한 경우, 태스크 k에 대한 valid 데이터를 체크 워드[k]에 기록(write)한다(220). 달리 표현하면, 프로세서는 태스크 k를 완료한 경우, 태스크 k에 대한 체크 비트를 체크 워드[k]에 기록할 수 있다. 체크 워드[k]는 태스크 k에 대응되는 체크 영역을 나타낸다. 일례로, 도 3에 도시된 체크 워드(300)를 참조하면, 체크 워드(300)는 복수의 체크 영역들(310-1 내지 310-n)(달리 표현하면, 비트(bit) 영역들)을 포함한다. 프로세서의 n개 태스크들 각각은 체크 영역들(310-1 내지 310-n) 각각에 대응된다. 다시 말해, 프로세서의 태스크 0은 체크 영역(310-1)(또는 체크 워드[0])에 대응되고, 프로세서의 태스크 1은 체크 영역(310-2)(또는 체크 워드[1])에 대응되며, 태스크 n-1은 체크 영역(310-n)(또는 체크 워드[n-1])에 대응된다.
실시예에 있어서, 체크 워드(300)는 소프트웨어 또는 하드웨어로 구현된 저장소(예를 들어, 레지스터, 메모리, 변수(variable value), 또는 배열(array))에 해당할 수 있다. 이 때, 체크 워드(300)를 구성하는 비트들의 개수는 프로세서의 태스크들에 대응되는 체크영역들을 각각 1 bit으로 구성하여 태스크들의 개수와 동일할 수 도 있고, 경우에 따라서는 태스크들에 대응되는 체크영역들을 각각 1 bit 이 아닌 2bits 이상으로 구성할 수도 있다.
단계(220)에서, 프로세서는 태스크 k를 완료한 경우 태스크 k에 대한 valid 데이터 및 다른 체크 영역에 기록된 valid 데이터를 order valid 블록에 적용할 수 있고, 적용 결과를 체크 워드[k]에 기록할 수 있다. 일례로, 도 4에 도시된 예를 참조하면, 프로세서는 체크 워드[k-1]에 기록된 valid 데이터 "1"과 태스크 k의 valid 데이터를 order valid 블록(410)에 적용할 수 있고, 적용 결과를 체크 워드[k]에 기록할 수 있다.
order valid 블록(410)의 일례가 도 5에 도시된다. 도 5를 참조하면, order valid 블록(410)은 하나 이상의 AND 게이트들을 포함할 수 있다. 도 5에 도시된 예에서, 프로세서는 태스크 k를 완료한 경우, 체크 워드[k-1]에 기록된 valid 데이터 "1" 및 태스크 k의 valid 데이터 "1"을 기초로 AND 논리 연산하고, AND 논리 연산 결과 "1"을 체크 워드[k]에 기록할 수 있다. 도 5에 도시된 order valid 블록(410)의 일례는 예시적인 사항일 뿐, order valid 블록(410)는 도 5에 도시된 사항으로 제한되지 않는다.
지금까지 태스크의 valid 데이터가 1인 예에 대해서 설명하였으나, valid 데이터는 이에 제한되지 않는다. valid 데이터는 order valid 블록(410)이 어떻게 구성되는지 또는 어떤 논리 연산 게이트를 포함하는지에 따라 결정될 수 있다.
도 2로 돌아와서, 프로세서는 모든 태스크들이 완료되었는지 확인한다(230). 모든 태스크들이 완료되지 않았으면, 프로세서는 다음 태스크, 즉, 태스크 k+1을 수행한다(210 및 240).
프로세서는 모든 태스크들을 완료한 경우, 체크 워드가 유효한지 여부를 확인한다(250). 달리 표현하면, 프로세서는 체크 워드와 미리 정해진 시퀀스를 비교한다. 일례로, 프로세서는 체크 워드가 "111 ... 1111"(여기서, 1의 개수는 n개)에 해당하는지 여부를 확인할 수 있다. 여기서, 프로세서는 체크 워드가 "111 ... 1111"에 해당하면 체크 워드가 유효하다고 결정할 수 있고, 체크 워드가 "111 ... 1111"에 해당하지 않으면 체크 워드가 유효하지 않다고 결정할 수 있다. 다시 말해, 프로세서는 체크 워드의 모든 비트값들이 1이 아니면, 체크 워드가 유효하지 않다고 결정할 수 있다. 다른 일례로 도 5와 같이 order valid block(410)을 구성한 경우에는 체크 워드가 유효한지를 결정하기 위해서 마지막 태스크인 태스크 n-1에 해당하는 체크 워드[n-1]의 값만을 확인하여 “1”이면 체크 워드가 유효하다고 결정할 수 있고, “0”이면 유효하지 않다고 결정할 수 있다.
프로세서는 체크 워드가 유효한 경우, 프로세서가 정상 동작하는 것으로 결정한다(260). 달리 표현하면, 프로세서는 체크 워드가 미리 정해진 시퀀스에 해당하는 경우, 프로세서가 정상 동작한 것 또는 태스크들이 순서대로 정상 동작한 것으로 결정할 수 있다.
프로세서는 체크 워드가 유효하지 않은 경우, 프로세서에 이상이 있다고 결정한다(270). 달리 표현하면, 프로세서는 체크 워드가 미리 정해진 시퀀스에 해당하지 않는 경우, 프로세서가 정상 동작하지 않은 것 또는 태스크들이 순서대로 정상 동작하지 않은 것으로 결정할 수 있다.
일 실시예에 따르면, 프로세서는 태스크들을 순서대로 완료함으로써 형성한 체크 워드를 통해 태스크들이 일련의 순서대로 정상 동작하였는지 여부를 결정할 수 있다. 이에 따라, 프로세서는 태스크의 기능 안전을 구현할 수 있고, 프로세서의 신뢰성을 향상시킬 수 있다.
도 6은 일 실시예에 따른 프로세서의 동작의 일례를 설명하기 위한 순서도이다.
도 6을 참조하면, 일 실시예에 따른 프로세서는 태스크(task)들 중 현재 태스크를 완료한 경우, 현재 태스크에 대응되는 체크 영역에 데이터를 기록한다(610). 여기서, 데이터는 상술한 valid 데이터(달리 표현하면, 체크 비트)에 해당할 수 있다. 일 실시예에 있어서, 프로세서는 현재 태스크를 완료한 경우, 현재 태스크에 valid 데이터 및 다른 체크 영역에 기록된 valid 데이터를 기초로 연산을 수행할 수 있고, 연산의 결과를 현재 태스크에 대응되는 체크 영역에 기록할 수 있다. 여기서, 연산은 논리 연산(예를 들어, AND 논리 연산)을 포함할 수 있고, 다른 체크 영역은 현재 태스크 이전에 수행된 태스크에 대응되는 체크 영역을 나타낼 수 있다.
프로세서는 태스크들이 완료되어 태스크들 각각에 대응되는 체크 영역에 데이터를 기록함으로써 체크 워드를 형성하는 경우, 형성된 체크 워드를 확인한다(620). 다시 말해, 프로세서는 형성된 체크 워드가 유효한지 여부를 결정할 수 있다.
프로세서는 단계(620)의 확인 결과를 기초로 프로세서가 정상 동작하였는지 여부를 결정한다(630).
도 1 내지 도 5를 통해 기술된 사항들은 도 6을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
도 7은 일 실시예에 따른 프로세서의 동작의 다른 일례를 설명하기 위한 순서도이다.
도 7을 참조하면, 프로세서는 태스크들 각각을 완료할 때 마다 완료된 태스크에 대응되는 체크 영역에 데이터를 기록하여, 체크 워드를 형성한다(710).
프로세서는 형성된 체크 워드와 미리 정해진 시퀀스를 비교한다(720).
프로세서는 단계(720)의 비교 결과를 기초로 프로세서가 정상 동작하였는지 여부를 결정한다(730).
도 1 내지 도 6을 통해 기술된 사항들은 도 7을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
도 8은 일 실시예에 따른 프로세서를 설명하기 위한 블록도이다.
도 8을 참조하면, 프로세서(800)는 제어부(810)를 포함한다.
제어부(810)는 도 1 내지 도 7을 통해 기술된 프로세서의 동작을 수행하므로, 상세한 설명을 생략한다.
프로세서(800)는 물리적 저장소(예를 들어, 메모리 또는 레지스터 등)를 포함할 수 있고, 상술한 체크 영역들은 해당 메모리 또는 레지스터 내에 존재할 수 있다. 구현에 따라, 제어부(810)는 프로세서(800) 외부에 위치한 물리적 저장소에 각 태스크의 valid 데이터를 기록함으로써 체크 워드를 형성할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (13)

  1. 프로세서의 동작 방법에 있어서,
    상기 프로세서의 태스크(task)들 중 현재 태스크를 완료한 경우, 상기 현재 태스크에 대응되는 체크 영역에 데이터를 기록하는 단계;
    상기 태스크들이 완료되어 상기 태스크들 각각에 대응되는 체크 영역에 데이터를 기록함으로써 체크 워드를 형성하는 경우, 상기 형성된 체크 워드가 유효한지 여부를 확인하는 단계; 및
    상기 확인 결과를 기초로 상기 프로세서가 정상 동작하였는지 여부를 결정하는 단계
    를 포함하고,
    상기 결정하는 단계는,
    상기 형성된 체크 워드가 유효한 경우, 상기 태스크들이 순서대로 정상 동작하였다고 결정하고 상기 프로세서가 정상 동작하였다고 결정하는 단계
    를 포함하는,
    프로세서의 동작 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 기록하는 단계는,
    상기 현재 태스크에 대한 체크 비트 및 다른 체크 영역에 기록된 체크 비트를 기초로 연산을 수행하는 단계; 및
    상기 연산의 결과를 상기 현재 태스크에 대응되는 체크 영역에 기록하는 단계
    를 포함하는,
    프로세서의 동작 방법.
  4. 제3항에 있어서,
    상기 다른 체크 영역에 기록된 체크 비트는 상기 현재 태스크 이전에 수행된 태스크에 대응되는 체크 영역에 기록된 체크 비트를 나타내는,
    프로세서의 동작 방법.
  5. 제3항에 있어서,
    상기 연산은 논리 연산을 포함하는,
    프로세서의 동작 방법.
  6. 제1항에 있어서,
    상기 현재 태스크에 대응되는 체크 영역에 데이터를 기록하는 경우, 이후 태스크를 수행하는 단계
    를 더 포함하는,
    프로세서의 동작 방법.
  7. 프로세서의 동작 방법에 있어서,
    상기 프로세서의 태스크(task)들 각각을 완료할 때 마다 완료된 태스크에 대응되는 체크 영역에 데이터를 기록하여, 체크 워드를 형성하는 단계;
    상기 형성된 체크 워드가 유효한지 여부를 확인하는 단계; 및
    상기 확인 결과를 기초로 상기 프로세서가 정상 동작하였는지 여부를 결정하는 단계
    를 포함하고,
    상기 결정하는 단계는,
    상기 형성된 체크 워드가 유효한 경우, 상기 태스크들이 순서대로 정상 동작하였다고 결정하고 상기 프로세서가 정상 동작하였다고 결정하는 단계
    를 포함하는,
    프로세서의 동작 방법.
  8. 프로세서에 있어서,
    상기 프로세서의 태스크(task)들 중 현재 태스크를 완료한 경우, 상기 현재 태스크에 대응되는 체크 영역에 데이터를 기록하고, 상기 태스크들이 완료되어 상기 태스크들 각각에 대응되는 체크 영역에 데이터를 기록함으로써 체크 워드를 형성하는 경우, 상기 형성된 체크 워드가 유효한지 여부를 확인하며, 상기 확인 결과를 기초로 상기 프로세서가 정상 동작하였는지 여부를 결정하는 제어부
    를 포함하고,
    상기 제어부는,
    상기 형성된 체크 워드가 유효한 경우, 상기 태스크들이 순서대로 정상 동작하였다고 결정하고 상기 프로세서가 정상 동작하였다고 결정하는,
    프로세서.
  9. 삭제
  10. 제8항에 있어서,
    상기 제어부는,
    상기 현재 태스크에 대한 체크 비트 및 다른 체크 영역에 기록된 체크 비트를 기초로 연산을 수행하고, 상기 연산의 결과를 상기 현재 태스크에 대응되는 체크 영역에 기록하는,
    프로세서.
  11. 제10항에 있어서,
    상기 다른 체크 영역에 기록된 체크 비트는 상기 현재 태스크 이전에 수행된 태스크에 대응되는 체크 영역에 기록된 체크 비트를 나타내는,
    프로세서.
  12. 제10항에 있어서,
    상기 연산은 논리 연산을 포함하는,
    프로세서.
  13. 제8항에 있어서,
    상기 제어부는 상기 현재 태스크에 대응되는 체크 영역에 데이터를 기록하는 경우, 이후 태스크를 수행하는,
    프로세서.
KR1020180095418A 2018-08-16 2018-08-16 태스크의 기능 안전을 보장하기 위한 방법 및 장치 KR102075689B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180095418A KR102075689B1 (ko) 2018-08-16 2018-08-16 태스크의 기능 안전을 보장하기 위한 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180095418A KR102075689B1 (ko) 2018-08-16 2018-08-16 태스크의 기능 안전을 보장하기 위한 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102075689B1 true KR102075689B1 (ko) 2020-02-10

Family

ID=69627409

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180095418A KR102075689B1 (ko) 2018-08-16 2018-08-16 태스크의 기능 안전을 보장하기 위한 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102075689B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220084814A (ko) * 2020-12-14 2022-06-21 현대오토에버 주식회사 태스크 모니터링 방법, 그리고 이를 구현하기 위한 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020363A (ja) * 2008-07-08 2010-01-28 Sony Corp 演算処理装置
JP2013042419A (ja) * 2011-08-18 2013-02-28 Ricoh Co Ltd 画像処理装置、画像処理制御方法及び画像処理制御プログラム
KR20160049021A (ko) * 2012-04-16 2016-05-04 인텔 코포레이션 확장성 보안 실행
JP2016539429A (ja) * 2013-09-10 2016-12-15 クアルコム,インコーポレイテッド フラッシュメモリにおけるコマンド完了の確認

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020363A (ja) * 2008-07-08 2010-01-28 Sony Corp 演算処理装置
JP2013042419A (ja) * 2011-08-18 2013-02-28 Ricoh Co Ltd 画像処理装置、画像処理制御方法及び画像処理制御プログラム
KR20160049021A (ko) * 2012-04-16 2016-05-04 인텔 코포레이션 확장성 보안 실행
JP2016539429A (ja) * 2013-09-10 2016-12-15 クアルコム,インコーポレイテッド フラッシュメモリにおけるコマンド完了の確認

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220084814A (ko) * 2020-12-14 2022-06-21 현대오토에버 주식회사 태스크 모니터링 방법, 그리고 이를 구현하기 위한 장치
KR102463847B1 (ko) * 2020-12-14 2022-11-03 현대오토에버 주식회사 태스크 모니터링 방법, 그리고 이를 구현하기 위한 장치
KR20220151146A (ko) * 2020-12-14 2022-11-14 현대오토에버 주식회사 태스크 모니터링 방법, 그리고 이를 구현하기 위한 장치
KR102475840B1 (ko) 2020-12-14 2022-12-07 현대오토에버 주식회사 태스크 모니터링 방법, 그리고 이를 구현하기 위한 장치

Similar Documents

Publication Publication Date Title
US9996696B2 (en) Systems and methods to optimize execution of a software program using a type based self assembling control flow graph
JP7263427B2 (ja) チップを検証する方法、装置、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム
US10223528B2 (en) Technologies for deterministic code flow integrity protection
JP6289778B2 (ja) テストケース生成装置及びテストケース生成プログラム
US10319457B2 (en) Methods and systems of testing interfaces of computer storage for storage vulnerabilities
US10607003B2 (en) Mitigation of code reuse attacks by restricted indirect branch instruction
US10146655B2 (en) Method for determining an intergrity of an execution of a code fragment and a method for providing an abstracted representation of a program code
JP2018514868A5 (ko)
US10209958B2 (en) Reproducible stochastic rounding for out of order processors
TWI758679B (zh) 用於指令執行中之負零控制之電腦程式產品、電腦系統及電腦實作方法
KR102075689B1 (ko) 태스크의 기능 안전을 보장하기 위한 방법 및 장치
US10205732B2 (en) Method, apparatus, system, and non-transitory medium for protecting a file
KR102131689B1 (ko) 예측 불가능성에 기반한 효율적인 소프트웨어 제어흐름 무결성 검증 방법
US20170242716A1 (en) Method and system for enhancing loading speed of intermediate language file
JP5937244B2 (ja) 消去カウンタを処理するための方法および装置
US9658938B2 (en) Iterative test generation based on data source analysis
US9886362B2 (en) Checking the integrity of a program executed by an electronic circuit
US9928135B2 (en) Non-local error detection in processor systems
US9299456B2 (en) Matrix and compression-based error detection
US9274791B2 (en) Verification of a vector execution unit design
US10776249B2 (en) Flexible and in-line register comparison for bug analysis
US20230269104A1 (en) Method of managing data history and device performing the same
KR102024725B1 (ko) 스토리지 정보에 기반한 포맷팅 방법 및 장치
CN115238308A (zh) 一种数据保护方法、装置、电子设备及存储介质
KR20170042093A (ko) 무선 태블릿을 이용하여 금융 서비스를 제공하는 방법

Legal Events

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