KR20180059263A - 멀티 코어 시스템 및 이의 구동 방법 - Google Patents

멀티 코어 시스템 및 이의 구동 방법 Download PDF

Info

Publication number
KR20180059263A
KR20180059263A KR1020160158614A KR20160158614A KR20180059263A KR 20180059263 A KR20180059263 A KR 20180059263A KR 1020160158614 A KR1020160158614 A KR 1020160158614A KR 20160158614 A KR20160158614 A KR 20160158614A KR 20180059263 A KR20180059263 A KR 20180059263A
Authority
KR
South Korea
Prior art keywords
value
time
task
input
core
Prior art date
Application number
KR1020160158614A
Other languages
English (en)
Other versions
KR101956992B1 (ko
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 KR1020160158614A priority Critical patent/KR101956992B1/ko
Publication of KR20180059263A publication Critical patent/KR20180059263A/ko
Application granted granted Critical
Publication of KR101956992B1 publication Critical patent/KR101956992B1/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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp

Abstract

본 발명은 멀티 코어 시스템에 관한 것으로, 보다 상세하게는 기준 시간값을 카운트하는 타이머부, 제1 태스크를 처리하여 변수값을 갱신하고, 변수값이 갱신된 시점에 제1 타임 스탬프를 갱신하는 제1 코어부 및 기준 시간값과 제1 타임 스탬프의 시간값 간의 시간 차이값에 기초하여 변수값을 제2 태스크의 입력값으로 입력받을지 여부를 결정하는 제2 코어부를 포함하는 것을 특징으로 한다.

Description

멀티 코어 시스템 및 이의 구동 방법{Multi core system and method of driving the same}
본 발명은 멀티 코어 시스템 및 이의 구동 방법에 관한 것으로, 보다 상세하게는 제1 코어부가 제1 태스크를 처리시 갱신되는 변수값에 대한 제1 타임 스탬프의 시간값과 기준 시간값 간의 시간 차이값에 기초하여 제2 코어부로부터 처리되는 제2 태스크의 입력값으로 변수값을 입력받을지 여부를 결정하는 멀티 코어 시스템 및 이의 구동 방법에 관한 것이다.
최근 단일 코어 시스템의 성능 향상 및 저전력 설계의 한계로 인하여 복수의 코어를 하나의 시스템에서 구동시키는 멀티 코어 시스템의 점유율이 증가하고 있다.
이러한, 멀티 코어 시스템은 동일한 태스크를 다수의 코어가 동시에 처리하는 병렬 처리 방식과 다수의 코어 중 어느 하나의 코어의 태스크 처리에 따라 갱신된 변수값을 다른 코어에서 입력받아 태스크를 처리하는 직렬 처리 방식 등이 있다.
도 1은 직렬 처리 방식으로 태스크를 처리하는 종래의 멀티 코어 시스템의 구동 방법을 도시한 순서도이다.
도 1을 참조하면, 종래의 멀티 코어 시스템은 제1 코어가 제1 태스크를 처리하고(S101), 제1 태스크의 처리에 따라 변수값이 갱신된다(S102). 이때, 변수값은 제1 코어와 제2 코어가 공유하는 공유 메모리에 저장된다.
이후, 제1 코어가 제1 태스크의 처리를 완료하면 제2 코어가 갱신된 변수값을 입력값으로 입력받는다(S103). 제2 코어는 변수값을 사용하여 제2 태스크를 처리한다(S104).
여기서, 종래의 멀티 코어 시스템은 제1 코어 및 제2 코어 모두 각각 서로 다른 주기로 제1 태스크 및 제2 태스크를 처리하고, 제1 코어의 제1 태스크 처리에 따른 변수값은 제2 코어의 제2 태스크 처리에 사용된다.
예를 들어, 제1 코어의 제1 태스크 처리에 따라 첫번째 주기에 갱신된 변수값은 첫번째 주기에 처리되는 제2 태스크의 입력값으로 사용된다.
하지만, 첫번째 주기 이후 두번째 주기에 제1 코어에 이상이 발생하여 변수값이 갱신되지 않는 경우, 제2 코어는 갱신되지 않은 변수값을 제2 태스크 처리에 이용함으로써 제2 태스크를 오처리하는 문제점이 있다.
즉, 종래의 멀티 코어 시스템은 제1 코어에 이상이 발생하더라도 갱신되지 않은 변수값을 이용하여 제2 코어가 제2 태스크를 처리함으로써 제1 코어의 이상을 감지하지 못한 상태로 제2 태스크를 오처리하는 문제점이 있다.
본 발명은 제1 코어부가 제1 태스크를 처리하여 변수값을 갱신하며 변수값이 갱신된 시점에 제1 타임 스탬프를 갱신하고, 제2 코어부가 기준 시간값과 제1 타임 스탬프의 시간값 간의 시간 차이값에 기초하여 변수값을 제2 태스크의 입력값으로 입력받을지 여부를 결정함으로써, 제1 코어부의 이상으로 변수값이 유효하지 않은 경우 제2 코어부의 제2 태스크 처리를 중지하여 오처리를 방지할 수 있는 멀티 코어 시스템 및 이의 구동 방법을 제공하는 것을 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상술된 목적을 달성하기 위한 본 발명의 일 실시예에 따른 멀티 코어 시스템은 기준 시간값을 카운트하는 타이머부, 제1 태스크를 처리하여 변수값을 갱신하고, 변수값이 갱신된 시점에 제1 타임 스탬프를 갱신하는 제1 코어부 및 기준 시간값과 제1 타임 스탬프의 시간값 간의 시간 차이값에 기초하여 변수값을 제2 태스크의 입력값으로 입력받을지 여부를 결정하는 제2 코어부를 포함하는 것을 특징으로 한다.
일 실시예에서, 제2 코어부는 변수값을 이용하여 제2 태스크를 처리할 수 있다.
일 실시예에서, 제2 코어부는 기준 시간값과 제1 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제1 초과 시간값 미만이면 변수값을 제2 태스크의 입력값으로 입력받고, 기준 시간값과 제1 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제1 초과 시간값 이상이면 변수값을 제2 태스크의 입력값으로 입력받지 않을 수 있다
일 실시예에서, 제2 코어부는 변수값이 제2 태스크의 입력값으로 입력된 시점에 제2 타임 스탬프를 갱신할 수 있다.
일 실시예에서, 제1 코어부는 기준 시간값과 제2 타임 스탬프의 시간값 간의 시간 차이값에 기초하여 제1 태스크의 처리 여부를 결정할 수 있다.
일 실시예에서, 제1 코어부는 기준 시간값과 제2 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제2 초과 시간값 미만이면 제1 태스크를 처리하고, 기준 시간값과 제2 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제2 초과 시간값 이상이면 제1 태스크를 처리하지 않을 수 있다.
상술된 목적을 달성하기 위한 본 발명의 일 실시예에 따른 멀티 코어 시스템의 구동 방법은 타이머부가 기준 시간값을 카운트하는 단계, 제1 코어부가 제1 태스크를 처리하여 변수값을 갱신하고, 변수값이 갱신된 시점에 제1 타임 스탬프를 갱신하는 단계, 제2 코어부가 기준 시간값과 제1 타임 스탬프의 시간값 간의 시간 차이값에 기초하여 변수값을 제2 태스크의 입력값으로 입력받을지 여부를 결정하는 단계 및 제2 코어부가 변수값을 이용하여 제2 태스크를 처리하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에서, 변수값을 제2 태스크의 입력값으로 입력받을지 여부를 결정하는 단계는 제2 코어부가 기준 시간값과 제1 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제1 초과 시간값 미만이면 변수값을 제2 태스크의 입력값으로 입력받는 단계 및 제2 코어부가 기준 시간값과 제1 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제1 초과 시간값 이상이면 변수값을 제2 태스크의 입력값으로 입력받지 않는 단계를 포함할 수 있다.
일 실시예에서, 멀티 코어 시스템의 구동 방법은 제2 코어부가 변수값이 제2 태스크의 입력값으로 입력된 시점에 제2 타임 스탬프를 갱신하는 단계를 더 포함할 수 있다.
일 실시예에서, 멀티 코어 시스템의 구동 방법은 제1 코어부가 기준 시간값과 제2 타임 스탬프의 시간값 간의 시간 차이값에 기초하여 제1 태스크의 처리 여부를 결정하는 단계를 더 포함할 수 있다.
일 실시예에서, 제1 태스크의 처리 여부를 결정하는 단계는 제1 코어부가 기준 시간값과 제2 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제2 초과 시간값 미만이면 제1 태스크를 처리하는 단계 및 제1 코어부가 기준 시간값과 제2 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제2 초과 시간값 이상이면 제1 태스크를 처리하지 않는 단계를 포함할 수 있다.
전술한 바와 같은 본 발명에 의하면 제1 코어부가 제1 태스크를 처리하여 변수값을 갱신하며 변수값이 갱신된 시점에 제1 타임 스탬프를 갱신하고, 제2 코어부가 기준 시간값과 제1 타임 스탬프의 시간값 간의 시간 차이값에 기초하여 변수값을 제2 태스크의 입력값으로 입력받을지 여부를 결정함으로써, 제1 코어부의 이상으로 변수값이 유효하지 않은 경우 제2 코어부의 제2 태스크 처리를 중지하여 오처리를 방지할 수 있는 효과가 있다.
도 1은 종래의 멀티 코어 시스템의 구동 방법을 도시한 순서도.
도 2는 본 발명의 일 실시예에 따른 멀티 코어 시스템의 구성을 도시한 도면.
도 3은 본 발명의 일 실시예에 따른 멀티 코어 시스템의 구동 방법 중에서 제1 코어부가 최초로 구동하는 경우 구동 방법을 도시한 순서도.
도 4는 본 발명의 일 실시예에 따른 멀티 코어 시스템의 구동 방법 중에서 제2 코어부의 구동 방법을 도시한 순서도.
도 5는 본 발명의 일 실시예에 따른 멀티 코어 시스템의 구동 방법 중에서 제1 코어부의 최초 구동 이후의 구동 방법을 도시한 순서도.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 감지되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
도 2는 본 발명의 일 실시예에 따른 멀티 코어 시스템의 구성을 도시한 도면이다.
도 2을 참조하면, 본 발명의 일 실시예에 따른 멀티 코어 시스템(100)은 타이머부(110), 제1 코어부(120), 공유 메모리부(130) 및 제2 코어부(140)를 포함하여 구성될 수 있다. 도 2에 도시된 멀티 코어 시스템(100)은 일 실시예에 따른 것이고, 그 구성요소들이 도 2에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 일부 구성요소가 부가, 변경 또는 삭제될 수 있다.
타이머부(110)는 기준 시간값을 카운트하는 역할을 수행할 수 있다. 여기서, 기준 시간값은 멀티 코어 시스템(100)의 시스템 시간값인 절대 시간값일 수 있다. 보다 구체적으로, 기준 시간값은 멀티 코어 시스템(100)의 구동 시작 시점과 관계없이 항상 카운트되는 시간값일 수 있다.
다른 실시예에 따른 타이머부(110)는 멀티 코어 시스템(100)의 구동이 시작된 시점부터 기준 시간값을 카운트할 수 있다. 이에 따라, 다른 실시예에 따른 타이머부(110)는 멀티 코어 시스템(100)이 정지된 후 재구동되면 기준 시간값을 리셋하여 카운트할 수 있다.
즉, 다른 실시예에 따른 타이머부(110)가 카운트하는 기준 시간값은 멀티 코어 시스템(100)의 구동이 시작된 시점부터 카운트되는 상대 시간값일 수 있다.
한편, 타이머부(110)는 기준 시간값을 카운트하여 제1 코어부(120)와 제2 코어부(140)로 출력할 수 있다.
다음으로, 제1 코어부(120)가 최초로 구동하는 경우 제1 코어부(120)의 작동에 대해 설명하도록 한다.
제1 코어부(120)는 최초로 구동 시 별도의 단계를 거치지 않고 제1 태스크를 우선 처리하는 역할을 수행할 수 있다.
보다 구체적으로, 제1 코어부(120)는 미리 설정된 제1 주기 동안 제1 태스크를 처리하여 변수값을 갱신하는 역할을 수행할 수 있다. 여기서, 변수값은 제1 태스크의 처리 과정에서 할당된 어드레스에 해당하는 공유 메모리부(130)의 위치에 저장될 수 있다.
이때, 제1 코어부(120)는 변수값이 갱신된 시점에 제1 타임 스탬프를 갱신하는 역할을 수행할 수 있다.
보다 구체적으로, 제1 코어부(120)는 변수값이 갱신된 시점에 타이머부(110)로부터 기준 시간값을 출력받고 출력받은 기준 시간값을 제1 타임 스탬프의 시간값으로 갱신할 수 있다.
즉, 제1 타임 스탬프의 시간값은 변수값이 갱신된 시점의 기준 시간값일 수 있다.
상술한 바와 같이, 공유 메모리부(130)는 제1 코어부(120)가 제1 태스크를 처리하여 갱신하는 변수값을 저장하는 역할을 수행할 수 있다.
또한, 공유 메모리부(130)는 변수값이 갱신되는 시점에 제1 코어부(120)가 갱신한 제1 타임 스탬프를 저장하는 역할을 수행할 수 있다.
공유 메모리부(130)는 저장된 변수값과 제1 타임 스탬프를 제2 코어부(140)로 출력할 수 있다.
다음으로, 제2 코어부(140)의 작동에 대해 설명하도록 한다.
제2 코어부(140)는 기준 시간값과 제1 타임 스탬프의 시간값 간의 시간 차이값에 기초하여 변수값을 제2 태스크의 입력값으로 입력받을지 여부를 결정하는 역할을 수행할 수 있다.
여기서, 제2 태스크는 변수값을 입력값으로 입력받아 제2 코어부(140)로부터 처리되는 태스크일 수 있다.
보다 구체적으로, 제2 코어부(140)는 제2 태스크를 수행하기 전에 타이머부(120)로부터 카운트된 현재의 기준 시간값과 제1 타임 스탬프의 시간값 간의 시간 차이값을 산출할 수 있다.
이후, 제2 코어부(140)는 기준 시간값과 제1 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제1 초과 시간값 미만이면 변수값을 제2 태스크의 입력값으로 입력받을 수 있다.
여기서, 미리 설정된 제1 초과 시간값은 변수값의 유효성 여부를 판단하는데 기준이 되는 시간값일 수 있다. 예를 들어, 미리 설정된 제1 초과 시간값은 10msec일 수 있다.
이를 위하여, 제2 코어부(140)는 변수값을 제2 태스크의 입력값으로 입력받는 것으로 결정하면 공유 메모리부(130)로부터 변수값을 출력받을 수 있다.
이때, 제2 코어부(140)는 변수값이 제2 태스크의 입력값으로 입력된 시점에 제2 타임 스태프를 갱신하는 역할을 수행할 수 있다.
보다 구체적으로, 제2 코어부(140)는 변수값이 제2 태스크의 입력값으로 입력된 시점에 타이머부(110)로부터 기준 시간값을 출력받고 출력받은 기준 시간값을 제2 타임 스탬프의 시간값으로 갱신할 수 있다.
즉, 제2 타임 스탬프의 시간값은 변수값이 제2 태스크의 입력값으로 입력된 시점의 기준 시간값일 수 있다.
공유 메모리부(130)는 제2 태스크의 입력값으로 입력된 시점에 제2 코어부(140)가 갱신한 제2 타임 스탬프를 저장하는 역할을 수행할 수 있다.
공유 메모리부(130)는 저장된 제2 타임 스탬프를 제1 코어부(140)로 출력할 수 있다.
이후, 제2 코어부(140)는 입력된 변수값을 이용하여 제2 태스크를 처리하는 역할을 수행할 수 있다. 이를 위하여, 제2 코어부(140)는 공유 메모리부(130)로부터 변수값을 출력받을 수 있다.
한편, 제2 코어부(140)는 기준 시간값과 제1 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제1 초과 시간값 이상이면 변수값을 제2 태스크의 입력값으로 입력받지 않을 수 있다.
또한, 제2 코어부(140)는 기준 시간값과 제1 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제1 초과 시간값 이상이면 변수값의 유효성 이상을 알리는 알림 신호를 출력할 수 있다.
이를 통해, 제2 코어부(140)는 제1 코어부(120)의 제1 태스크 처리에 따라 갱신되는 변수값의 유효성 이상을 모니터링할 수 있으며 변수값의 유효성이 없는 경우, 해당 변수값을 제2 태스크의 입력값으로 입력받지 않음으로써 제2 태스크의 오처리를 방지할 수 있다.
나아가, 제2 코어부(140)는 변수값의 유효성 이상을 모니터링함으로써 변수값을 갱신하는 제1 코어부(120)의 정상 동작 여부를 모니터링할 수 있다.
다음으로, 제1 코어부(120)가 최초 구동 이후의 작동에 대해 설명하도록 한다.
제1 코어부(120)는 최초로 구동되는 경우, 별도의 작동없이 제1 태스크를 우선 처리할 수 있다. 하지만, 제1 코어부(120)는 최초 구동 이후, 제1 태스크를 처리하기 전에 기준 시간값과 제2 타임 스탬프의 시간값 간의 시간 차이값에 기초하여 제1 태스크의 처리 여부를 결정하는 역할을 수행할 수 있다.
보다 구체적으로, 제1 코어부(120)는 제1 태스크를 수행하기 전에 타이머부(120)로부터 카운트된 현재의 기준 시간값과 제2 타임 스탬프의 시간값 간의 시간 차이값을 산출할 수 있다.
이후, 제1 코어부(120)는 기준 시간값과 제2 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제2 초과 시간값 미만이면 제1 태스크를 처리할 수 있다.
여기서, 미리 설정된 제2 초과 시간값은 제2 태스크가 처리된 시점으로부터 현재 시간까지의 경과 시간에 대한 유효성 여부를 판단하는데 기준이 되는 시간값일 수 있다. 예를 들어, 미리 설정된 제2 초과 시간값은 10msec일 수 있다.
이후, 제1 코어부(120)는 최초 구동시와 동일하게 제1 코어부(120)는 미리 설정된 제1 주기 동안 제1 태스크를 처리하여 변수값을 갱신하고, 변수값이 갱신된 시점에 제1 타임 스탬프를 갱신하는 역할을 수행할 수 있다.
반대로, 제1 코어부(120)는 기준 시간값과 제2 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제2 초과 시간값 이상이면 제1 태스크를 처리하지 않을 수 있다.
또한, 제1 코어부(120)는 기준 시간값과 제2 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제2 초과 시간값 이상이면 상술된 제2 태스크가 처리된 시점으로부터 현재 시간까지의 경과 시간에 대한 유효성 이상을 알리는 알림 신호를 출력할 수 있다.
이를 통해, 제1 코어부(120)는 제2 코어부(140)가 제2 태스크를 처리한 시점으로부터 현재 시간까지의 경과 시간이 오랜 시간을 경과하면 제1 태스크를 처리하지 않음으로써 제1 태스크의 오처리를 방지할 수 있다.
도 3은 본 발명의 일 실시예에 따른 멀티 코어 시스템의 구동 방법 중에서 제1 코어부가 최초로 구동하는 경우 구동 방법을 도시한 순서도이다.
도 3을 참조하면, 제1 코어부는 최초로 구동하는 경우 제1 태스크를 우선 처리하게 된다(S301). 이때, 제1 코어부는 제1 태스크의 처리 이전에 별도의 동작을 수행하지 않을 수 있다.
이후, 제1 코어부는 제1 태스크 처리에 따른 변수값을 갱신하게 된다(S302). 이때, 변수값은 제1 태스크의 처리 과정에서 할당된 어드레스에 해당하는 공유 메모리부의 위치에 저장될 수 있다.
다음으로, 제1 코어부는 변수값을 갱신하는 시점에 제1 타임 스탬프를 갱신하게 된다(S303). 보다 구체적으로, 제1 코어부는 변수값을 갱신하는 시점에 타이머부로부터 기준 시간값을 출력받아 제1 타임 스탬프의 시간값으로 갱신할 수 있다.
한편, 제1 코어부로부터 갱신된 변수값과 제1 타임 스탬프는 제1 코어부와 제2 코어부가 모두 입출력이 가능한 공유 메모리에 저장될 수 있다.
도 4는 본 발명의 일 실시예에 따른 멀티 코어 시스템의 구동 방법 중에서 제2 코어부의 구동 방법을 도시한 순서도이다.
도 4를 참조하면 제2 코어부는 기준 시간값과 제1 타임 스탬프의 시간값 간의 시간 차이값에 기초하여 변수값을 제2 태스크의 입력값으로 입력받을지 여부를 결정하게 된다(S401). 이때, 제2 코어부는 제1 코어부로부터 갱신된 제1 타임 스탬프를 공유 메모리부로부터 출력받을 수 있다.
보다 구체적으로, 제2 코어부는 기준 시간값과 제1 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제1 초과 시간값 미만이면 변수값을 제2 태스크의 입력값으로 입력받게 된다(S402).
이후, 제2 코어부는 변수값이 제2 태스크의 입력값으로 입력된 시점에 제2 타임 스태프를 갱신하게 된다(S403). 즉, 제2 코어부는 변수값이 제2 태스크의 입력값으로 입력된 시점에 타이머부로부터 기준 시간값을 출력받고 출력받은 기준 시간값을 제2 타임 스탬프의 시간값으로 갱신할 수 있다.
이때, 제2 코어부로부터 갱신된 제2 타임 스탬프는 공유 메모리부에 저장되고, 도 5에 도시된 바와 같이, 제1 코어부가 제1 태스크의 처리 여부를 결정하는데 사용될 수 있다.
이어서, 제2 코어부는 입력된 변수값을 이용하여 제2 태스크를 처리하게 된다(S404). 이를 위하여, 제2 코어부는 공유 메모리부로부터 변수값을 출력받을 수 있다.
반대로, 제2 코어부는 기준 시간값과 제1 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제1 초과 시간값 이상이면 변수값을 제2 태스크의 입력값으로 입력받지 않고, 변수값의 유효성 이상을 알리는 알림 신호를 출력하게 된다(S405).
이를 통해, 제2 코어부는 제1 코어부의 제1 태스크 처리에 따라 갱신되는 변수값의 유효성 이상을 모니터링할 수 있으며 변수값의 유효성이 없는 경우, 해당 변수값을 제2 태스크의 입력값으로 입력받지 않음으로써 제2 태스크의 오처리를 방지할 수 있다.
나아가, 제2 코어부는 변수값의 유효성 이상을 모니터링함으로써 변수값을 갱신하는 제1 코어부의 정상 동작 여부를 모니터링할 수 있다.
도 5는 본 발명의 일 실시예에 따른 멀티 코어 시스템의 구동 방법 중에서 제1 코어부의 최초 구동 이후의 구동 방법을 도시한 순서도이다.
도 5를 참조하면, 제1 코어부가 최초 구동 이후, 제1 태스크를 처리하기 전에 기준 시간값과 제2 타임 스탬프의 시간값 간의 시간 차이값에 기초하여 제1 태스크의 처리 여부를 결정하게 된다(S501). 이때, 제1 코어부는 제2 코어부로부터 갱신된 제2 타임 스탬프를 공유 메모리부로부터 출력받을 수 있다.
보다 구체적으로, 제1 코어부는 기준 시간값과 제2 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제2 초과 시간값 미만이면 제1 태스크를 처리하게 된다(S502).
이후, 제1 코어부는 제1 태스크의 처리에 따라 변수값을 갱신하게 되고(S503), 변수값이 갱신된 시점에 제1 타임 스태프를 갱신하게 된다(S504). 이때, 제1 코어부로부터 갱신된 제1 타임 스탬프는 공유 메모리부에 저장되고, 도 4에 도시된 바와 같이, 제2 코어부가 변수값을 제2 태스크의 입력값으로 입력받을지 여부를 결정하는데 사용될 수 있다.
반대로, 제1 코어부는 기준 시간값과 제2 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제2 초과 시간값 이상이면 제1 태스크를 처리하지 않고, 제2 코어부에 의해 제2 태스크가 처리된 시점으로부터 현재 시간까지의 경과 시간에 대한 유효성 이상을 알리는 알림 신호를 출력하게 된다(S505).
이를 통해, 제1 코어부는 제2 코어부가 제2 태스크를 처리한 시점으로부터 현재 시간까지의 경과 시간이 오랜 시간을 경과하면 제1 태스크를 처리하지 않음으로써 제1 태스크의 오처리를 방지할 수 있다.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
100 : 멀티 코어 시스템
110 : 타이머부
120 : 제1 코어부
130 : 공유 메모리부
140 : 제2 코어부

Claims (10)

  1. 기준 시간값을 카운트하는 타이머부;
    제1 태스크를 처리하여 변수값을 갱신하고, 상기 변수값이 갱신된 시점에 제1 타임 스탬프를 갱신하는 제1 코어부; 및
    상기 기준 시간값과 상기 제1 타임 스탬프의 시간값 간의 시간 차이값에 기초하여 상기 변수값을 제2 태스크의 입력값으로 입력받을지 여부를 결정하는 제2 코어부를 포함하고,
    상기 제2 코어부는
    상기 변수값을 이용하여 제2 태스크를 처리하는 멀티 코어 시스템.
  2. 제1항에 있어서,
    상기 제2 코어부는
    상기 기준 시간값과 상기 제1 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제1 초과 시간값 미만이면 상기 변수값을 제2 태스크의 입력값으로 입력받고, 상기 기준 시간값과 상기 제1 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제1 초과 시간값 이상이면 상기 변수값을 제2 태스크의 입력값으로 입력받지 않는 멀티 코어 시스템.

  3. 제1항에 있어서,
    상기 제2 코어부는
    상기 변수값이 제2 태스크의 입력값으로 입력된 시점에 제2 타임 스탬프를 갱신하는 멀티 코어 시스템.
  4. 제3항에 있어서,
    상기 제1 코어부는
    상기 기준 시간값과 상기 제2 타임 스탬프의 시간값 간의 시간 차이값에 기초하여 상기 제1 태스크의 처리 여부를 결정하는 멀티 코어 시스템.
  5. 제4항에 있어서,
    상기 제1 코어부는
    상기 기준 시간값과 상기 제2 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제2 초과 시간값 미만이면 상기 제1 태스크를 처리하고, 상기 기준 시간값과 상기 제2 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제2 초과 시간값 이상이면 상기 제1 태스크를 처리하지 않는 멀티 코어 시스템.
  6. 타이머부가 기준 시간값을 카운트하는 단계;
    제1 코어부가 제1 태스크를 처리하여 변수값을 갱신하고, 상기 변수값이 갱신된 시점에 제1 타임 스탬프를 갱신하는 단계;
    제2 코어부가 상기 기준 시간값과 상기 제1 타임 스탬프의 시간값 간의 시간 차이값에 기초하여 상기 변수값을 제2 태스크의 입력값으로 입력받을지 여부를 결정하는 단계; 및
    상기 제2 코어부가 상기 변수값을 이용하여 제2 태스크를 처리하는 단계를 포함하는 멀티 코어 시스템의 구동 방법.
  7. 제6항에 있어서,
    상기 변수값을 제2 태스크의 입력값으로 입력받을지 여부를 결정하는 단계는
    상기 제2 코어부가 상기 기준 시간값과 상기 제1 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제1 초과 시간값 미만이면 상기 변수값을 제2 태스크의 입력값으로 입력받는 단계; 및
    상기 제2 코어부가 상기 기준 시간값과 상기 제1 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제1 초과 시간값 이상이면 상기 변수값을 제2 태스크의 입력값으로 입력받지 않는 단계를 포함하는 멀티 코어 시스템의 구동 방법.
  8. 제6항에 있어서,
    상기 제2 코어부가 상기 변수값이 제2 태스크의 입력값으로 입력된 시점에 제2 타임 스탬프를 갱신하는 단계를 더 포함하는 멀티 코어 시스템의 구동 방법.
  9. 제8항에 있어서,
    상기 제1 코어부가 상기 기준 시간값과 상기 제2 타임 스탬프의 시간값 간의 시간 차이값에 기초하여 상기 제1 태스크의 처리 여부를 결정하는 단계를 더 포함하는 멀티 코어 시스템의 구동 방법.
  10. 제9항에 있어서,
    상기 제1 태스크의 처리 여부를 결정하는 단계는
    상기 제1 코어부가 상기 기준 시간값과 상기 제2 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제2 초과 시간값 미만이면 상기 제1 태스크를 처리하는 단계; 및
    상기 제1 코어부가 상기 기준 시간값과 상기 제1 타임 스탬프의 시간값 간의 시간 차이값이 미리 설정된 제2 초과 시간값 이상이면 상기 제1 태스크를 처리하지 않는 단계를 포함하는 멀티 코어 시스템의 구동 방법.
KR1020160158614A 2016-11-25 2016-11-25 멀티 코어 시스템 및 이의 구동 방법 KR101956992B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160158614A KR101956992B1 (ko) 2016-11-25 2016-11-25 멀티 코어 시스템 및 이의 구동 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160158614A KR101956992B1 (ko) 2016-11-25 2016-11-25 멀티 코어 시스템 및 이의 구동 방법

Publications (2)

Publication Number Publication Date
KR20180059263A true KR20180059263A (ko) 2018-06-04
KR101956992B1 KR101956992B1 (ko) 2019-06-27

Family

ID=62628313

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160158614A KR101956992B1 (ko) 2016-11-25 2016-11-25 멀티 코어 시스템 및 이의 구동 방법

Country Status (1)

Country Link
KR (1) KR101956992B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220085579A (ko) 2020-12-15 2022-06-22 현대오토에버 주식회사 멀티 코어 환경에서 태스크 수행 타이밍 동기화 시스템 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080068468A (ko) * 2007-01-19 2008-07-23 삼성전자주식회사 멀티 프로세서 시스템 온 칩에서의 메모리 관리 방법
JP2012038219A (ja) * 2010-08-10 2012-02-23 Toshiba Corp プログラム変換装置、およびそのプログラム
JP2015501056A (ja) * 2011-12-20 2015-01-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のハードウェア・スレッドにわたる仮想スレッドの細粒化並列処理のための低遅延変数伝達ネットワークを利用する回路装置、集積回路デバイス、プログラム製品および方法(複数のハードウェア・スレッドにわたる仮想スレッドの細粒化並列処理のための低遅延変数伝達ネットワーク)

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080068468A (ko) * 2007-01-19 2008-07-23 삼성전자주식회사 멀티 프로세서 시스템 온 칩에서의 메모리 관리 방법
JP2012038219A (ja) * 2010-08-10 2012-02-23 Toshiba Corp プログラム変換装置、およびそのプログラム
JP2015501056A (ja) * 2011-12-20 2015-01-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のハードウェア・スレッドにわたる仮想スレッドの細粒化並列処理のための低遅延変数伝達ネットワークを利用する回路装置、集積回路デバイス、プログラム製品および方法(複数のハードウェア・スレッドにわたる仮想スレッドの細粒化並列処理のための低遅延変数伝達ネットワーク)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220085579A (ko) 2020-12-15 2022-06-22 현대오토에버 주식회사 멀티 코어 환경에서 태스크 수행 타이밍 동기화 시스템 및 방법

Also Published As

Publication number Publication date
KR101956992B1 (ko) 2019-06-27

Similar Documents

Publication Publication Date Title
EP3806406B1 (en) Method and apparatus for obtaining information of forwarding path of data packet in segment routing
JP2012058879A (ja) オペレーティングシステム起動管理装置
KR101956992B1 (ko) 멀티 코어 시스템 및 이의 구동 방법
CN111970339A (zh) 请求控制方法、装置及电子设备
CN111092865A (zh) 一种安全事件分析方法及系统
CN108388108B (zh) 一种多重冗余控制系统中同步数据的方法及装置
JP5960632B2 (ja) 車両用電子制御装置
US10891180B2 (en) Multiple-processor error detection system and method thereof
JP5930256B1 (ja) 立体観察装置のための制御装置、立体観察システム及び立体観察装置の制御方法
JP5010314B2 (ja) 情報処理装置、情報処理方法、及びプログラム
EP3905045B1 (en) Watchdog system, watchdog method, and battery management system comprising watchdog system
KR20220085365A (ko) 태스크 실행 시간 모니터링 장치 및 노드의 동작 방법
KR102343543B1 (ko) 마이컴 감시 장치 및 그 제어 방법
JP2014165804A (ja) 制御システム
JP2008262557A (ja) 制御装置のタスク管理装置、及び、制御装置のタスク管理方法
JP2016167107A (ja) 制御装置、バス回路、方法、及び、プログラム
US20140089381A1 (en) Rebuild system for a storage network
JPWO2019207791A1 (ja) プログラマブル表示システム及びプログラマブル表示器
JP2002351855A (ja) 計算機異常処理システムおよび、計算機異常処理方法および、計算機で動作する計算機異常処理プログラムおよび、コンピュータにより読み取り可能な記録媒体に記録された計算機異常処置プログラム
JP5915560B2 (ja) 分析装置
JP5371123B2 (ja) 障害検出方法、制御装置、マルチプロセッサシステム
CN112148514B (zh) 看门狗复位的方法、装置、存储介质和电子设备
KR102277110B1 (ko) 사용자 단말의 정보 수신 방법 및 장치
JP5835245B2 (ja) 時刻供給装置、時刻供給方法およびプログラム
KR102019378B1 (ko) 마이크로 프로세서 유닛을 감시하는 감시 장치, 그것의 포함하는 시스템 및 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant