KR101998469B1 - Multi-core mcu and operating method thereof - Google Patents
Multi-core mcu and operating method thereof Download PDFInfo
- Publication number
- KR101998469B1 KR101998469B1 KR1020170098148A KR20170098148A KR101998469B1 KR 101998469 B1 KR101998469 B1 KR 101998469B1 KR 1020170098148 A KR1020170098148 A KR 1020170098148A KR 20170098148 A KR20170098148 A KR 20170098148A KR 101998469 B1 KR101998469 B1 KR 101998469B1
- Authority
- KR
- South Korea
- Prior art keywords
- sub
- core
- response data
- main core
- cores
- Prior art date
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/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/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
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
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
본 발명은 멀티 코어 MCU 및 그 동작 방법에 관한 것으로, 보다 상세하게는 메인 코어가 워치독으로부터 정상 동작 여부를 확인하기 위한 질문을 수신하는 단계, 상기 메인 코어가 상기 질문을 복수의 서브 코어에 전달하는 단계, 상기 복수의 서브 코어로부터 상기 질문에 대한 서브 코어 응답 데이터를 수신하는 단계, 상기 메인 코어가 상기 질문에 대한 메인 코어 응답 데이터를 생성하는 단계 및 상기 메인 코어가 상기 메인 코어 응답 데이터와 상기 서브 코어 응답 데이터를 기초로 상기 서브 코어의 동작 상태를 판단하는 단계를 포함한다. 전술한 바와 같은 본 발명에 의하면, 메인 코어를 통해 워치독 타이머의 동작 감시 대상이 아닌 서브 코어의 동작 상태를 판단함으로써, 소프트웨어 동작의 신뢰성을 높일 수 있는 멀티 코어 MCU 및 그 동작 방법을 제공할 수 있는 장점이 있다.The present invention relates to a multi-core MCU and a method of operating the same, and more particularly, to a multi-core MCU and a method of operating the same, Receiving the sub-core response data for the query from the plurality of sub-cores; generating main core response data for the query by the main core; And determining an operation state of the sub-core based on the sub-core response data. According to the present invention as described above, it is possible to provide a multi-core MCU and an operation method thereof that can improve the reliability of software operation by determining the operation state of a sub-core that is not an object of monitoring the operation of the watchdog timer through the main core There is an advantage.
Description
본 발명은 멀티 코어 MCU 및 그 동작 방법에 관한 것으로, 상세하게는 워치독 타이머에 의해 모니터링 되고 있는 메인 코어를 통해 서브 코어의 동작 상태를 판단하는 멀티 코어 MCU 및 그 동작 방법에 관한 것이다.The present invention relates to a multicore MCU and a method of operating the same, and more particularly, to a multicore MCU and a method of operating the same, which determine the operation state of a sub-core through a main core being monitored by a watchdog timer.
임베디드 시스템은 제어를 수행하기 위한 MCU(Micro Controller Unit) 및 MCU의 동작을 감시하는 워치독 타이머(Watchdog Timer, WDT)를 포함하는 것이 일반적이다. 워치독 타이머는 컴퓨터 또는 임베디드 시스템의 오작동을 탐지하고 복구하기 위해 쓰이는 전자 타이머이다. The embedded system generally includes an MCU (Micro Controller Unit) for performing control and a watchdog timer (WDT) for monitoring the operation of the MCU. A watchdog timer is an electronic timer used to detect and recover from a malfunction of a computer or embedded system.
정상 작동 중인 시스템은 워치독 타이머의 에러 카운트 증가로 인한 타임 아웃이 발생하는 것을 막기 위해 미리 설정된 주기에 따라 워치독 타이머를 리셋시킨다. 즉, 의도치 않은 오류로 인해 시스템이 비정상적으로 동작할 경우, 워치독 타이머의 카운트는 리셋되지 않고 미리 설정된 카운트에 도달하여 타임 아웃이 발생하게 된다. 이때 워치독 타이머는 시스템의 오작동이 발생한 것으로 판단하여 해당 시스템을 정지시키거나 리셋(Reset) 시킬 수 있다. In normal operation, the system resets the watchdog timer according to a preset period to prevent a timeout due to an increase in the error count of the watchdog timer. That is, if the system operates abnormally due to an unintended error, the count of the watchdog timer is not reset but reaches a predetermined count and a timeout occurs. At this time, the watchdog timer can determine that a malfunction of the system has occurred and can stop or reset the corresponding system.
도 1은 질문/응답 방식을 사용하는 기존의 워치독 타이머의 감시 동작 과정을 나타낸 것이다. FIG. 1 shows a monitoring operation process of a conventional watchdog timer using a question / answer method.
도 1을 참조하면, 질문/응답 방식을 사용하는 기존의 워치독 타이머(12)는 에러 카운트를 초기화한 후(101), 질문(Query)을 순차적으로 생성한다(102). 이때 질문은 질문에 대한 응답과 서로 대응되며, 워치독 타이머(12)는 질문에 대한 MCU(10)의 응답의 정답 여부를 판단하여 MCU의 정상 동작 여부를 확인할 수 있다. Referring to FIG. 1, a
워치독 타이머(12)는 생성한 질문을 MCU(10)에게 전송한다(103). MCU(10)는 워치독 타이머(12)로부터 제1 질문을 수신한뒤(104), 제1 질문에 대한 제1 응답을 생성한다(105). 이와 같은 제1 응답 생성은 MCU에 미리 포함된 질문/응답 시스템을 통해 이루어질 수 있다. MCU(10)는 생성한 제1 응답을 워치독 타이머(12)에게 전송한다(106). The
MCU(10)로부터 제1 응답을 수신(107)한 워치독 타이머(12)는 제1 응답의 정답 여부를 확인한다(108). 확인(108) 결과, 제1 응답이 정답인 경우 워치독 타이머(12)는 다음 질문을 위한 제2 질문을 생성한다(110). 확인(108) 결과, 만약 제1 응답이 정답이 아닌 경우 워치독 타이머(12)의 에러 카운트는 증가한다(109). 이처럼 질문/응답 방식을 사용하는 기존의 워치독 타이머(12)는 질문에 대한 응답의 정답 여부를 확인하여 에러 카운트의 증가 여부를 결정한다.The
최근 높은 성능을 가지는 임베디드 시스템에 대한 요구에 따라 두 개 이상의 독립 코어를 포함하는 멀티 코어 MCU의 개발 및 사용이 증가하고 있다. 이와 같은 멀티 코어 MCU의 통신 채널은 통신 채널과 연결된 하나의 코어에 의해 제어되므로, 멀티 코어 MCU에 포함된 코어 중 워치독 타이머와 연결된 하나의 코어만이 워치독 타이머에 의해 감시된다. 즉, 워치독 타이머는 통신 채널과 연결된 하나의 코어와 질문/응답을 주고 받으며 연결되지 않은 나머지 코어는 와치독 타이머에 의한 감시의 대상에서 제외된다. Recently, the development and use of multi-core MCU including two or more independent cores is increasing according to the demand for a high-performance embedded system. Since the communication channel of the multicore MCU is controlled by one core connected to the communication channel, only one core connected to the watchdog timer among the cores included in the multicore MCU is monitored by the watchdog timer. That is, the watchdog timer exchanges questions / responses with one core connected to the communication channel, and the remaining cores that are not connected are excluded from being monitored by the watchdog timer.
보통 멀티 코어 MCU는 각 코어에 소프트웨어를 파티셔닝(partitioning)하여 사용하므로, 어느 하나의 코어의 동작에 문제가 발생하면 전체 소프트웨어의 동작에 문제가 생긴다. 즉, 멀티 코어 MCU는 높은 연산 처리 능력을 가질 수 있으나, 워치독 타이머가 모든 코어의 동작을 감시하지 못하므로 소프트웨어 동작의 신뢰성이 떨어지는 문제가 있다.In general, multicore MCUs are used by partitioning software on each core, so if there is a problem in the operation of any one core, the operation of the entire software becomes problematic. That is, although the multicore MCU can have high computation processing capability, the watchdog timer can not monitor the operation of all the cores, so that the reliability of the software operation is low.
본 발명은 메인 코어를 통해 워치독 타이머의 동작 감시 대상이 아닌 서브 코어의 동작 상태를 판단함으로써, 소프트웨어 동작의 신뢰성을 높일 수 있는 멀티 코어 MCU 및 그 동작 방법을 제공하는 것을 목적으로 한다.An object of the present invention is to provide a multi-core MCU and an operation method thereof that can improve reliability of a software operation by determining the operation state of a sub-core that is not an operation monitoring target of a watchdog timer through a main core.
또한 본 발명은 워치독 타이머의 질문에 대한 메인 코어의 응답 및 서브 코어의 응답에 대한 논리 연산을 수행함으로써, 서브 코어의 이상 발생 여부를 간단히 검출할 수 있는 멀티 코어 MCU 및 그 동작 방법을 제공하는 것을 목적으로 한다. Also, the present invention provides a multi-core MCU and an operation method thereof that can easily detect whether or not an abnormality has occurred in a sub-core by performing a logic operation on a response of a main core and a response of a sub-core to a question of a watchdog timer .
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects and advantages of the present invention which are not mentioned can be understood by the following description and more clearly understood by the embodiments of the present invention. It will also be readily apparent that the objects and advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.
이러한 목적을 달성하기 위한 본 발명의 일 측면은, 메인 코어가 워치독 타이머로부터 정상 동작 여부를 확인하기 위한 질문을 수신하는 단계, 상기 메인 코어가 상기 질문을 복수의 서브 코어에 전달하는 단계, 상기 복수의 서브 코어로부터 상기 질문에 대한 서브 코어 응답 데이터를 수신하는 단계, 상기 메인 코어가 상기 질문에 대한 메인 코어 응답 데이터를 생성하는 단계 및 상기 메인 코어가 상기 메인 코어 응답 데이터와 상기 서브 코어 응답 데이터를 기초로 상기 서브 코어의 동작 상태를 판단하는 단계를 포함하는 멀티 코어 MCU의 동작 방법을 제공할 수 있다.According to an aspect of the present invention, there is provided a method for controlling a main core, the method comprising: receiving a question from a watchdog timer to confirm whether the main core operates normally; Receiving sub-core response data for a query from a plurality of sub-cores; generating main core response data for the query by the main core; and transmitting the main core response data to the sub- Core MCU based on the operating state of the sub-core.
상기 멀티 코어 MCU의 동작 방법은 상기 복수의 서브 코어가 상기 서브 코어 응답 데이터를 미리 설정된 비트 수만큼 시프트 시키는 단계 및 상기 복수의 서브 코어가 상기 서브 코어 응답 데이터를 상기 메인 코어로 송신하는 단계를 더 포함할 수 있다.The method of operating the multi-core MCU may further include shifting the sub-core response data by a predetermined number of bits in the plurality of sub-cores, and transmitting the sub-core response data to the main core .
상기 서브 코어의 동작 상태를 판단하는 단계는 상기 메인 코어 응답 데이터의 n번째 비트 열에 저장된 데이터 및 상기 복수의 서브 코어로부터 수신된 서브 코어 응답 데이터의 n번째 비트 열에 저장된 데이터에 대하여 논리 연산을 수행하는 단계 및 상기 논리 연산의 결과에 기초하여 상기 서브 코어의 동작 상태를 판단하는 단계를 포함할 수 있다. The determining of the operating state of the sub-core may include performing logical operations on data stored in an n-th bit stream of the main core response data and data stored in an n-th bit stream of sub-core response data received from the plurality of sub- And determining the operation state of the sub-core based on the result of the logical operation.
상기 논리 연산은 배타적 논리합 연산일 수 있다. The logic operation may be an exclusive-OR operation.
상기 논리 연산 결과에 기초하여 상기 서브 코어의 동작 상태를 판단하는 단계는 상기 논리 연산 결과가 제1 비트값일 경우 상기 복수의 서브 코어 중 어느 하나에 이상이 발생한 것으로 판단하는 단계 및 상기 논리 연산 결과가 제2 비트값일 경우 상기 복수의 서브 코어가 정상인 것으로 판단하는 단계를 포함할 수 있다.Wherein the step of determining the operation state of the sub-core based on the logical operation result includes: determining that an abnormality has occurred in any one of the plurality of sub-cores when the logical operation result is a first bit value; And determining that the plurality of sub-cores are normal when the first bit value is the second bit value.
상기 멀티 코어 MCU의 동작 방법은 상기 서브 코어의 동작 상태를 판단한 결과 상기 서브 코어 중 어느 하나에 이상이 발생한 것으로 판단되면 상기 메인 코어 응답 데이터와 상기 서브 코어 응답 데이터를 비교하여 이상이 발생한 서브 코어를 검출하는 단계를 더 포함할 수 있다.The method of operating the multi-core MCU may further include comparing the main core response data with the sub-core response data when it is determined that an abnormality has occurred in any of the sub-cores as a result of determining the operating state of the sub-core, The method may further include the step of detecting.
한편, 이러한 목적을 달성하기 위한 본 발명의 다른 측면은, 워치독 타이머로부터 정상 동작 여부를 확인하기 위한 질문을 수신하여 메인 코어에 전달하는 통신부 및 상기 질문을 복수의 서브 코어에 전달하고 상기 복수의 서브 코어로부터 상기 질문에 대한 서브 코어 응답 데이터를 수신하며, 상기 질문에 대한 메인 코어 응답 데이터를 생성하고 상기 메인 코어 응답 데이터와 상기 서브 코어 응답 데이터를 기초로 상기 서브 코어의 동작 상태를 판단하는 메인 코어를 포함하는 멀티 코어 MCU를 제공할 수 있다. According to another aspect of the present invention, there is provided a mobile communication system including a communication unit for receiving a question from a watchdog timer to confirm whether a normal operation is performed, and transmitting the received question to a main core, Core response data for the inquiry from the sub-core, generate main core response data for the inquiry, and determine an operating state of the sub-core based on the main core response data and the sub- A multi-core MCU including a core can be provided.
상기 멀티 코어 MCU는 상기 서브 코어 응답 데이터를 미리 설정된 비트 수만큼 시프트 시키고, 상기 서브 코어 응답 데이터를 상기 메인 코어로 송신하는 서브 코어를 더 포함할 수 있다.The multi-core MCU may further include a sub-core for shifting the sub-core response data by a predetermined number of bits and transmitting the sub-core response data to the main core.
상기 메인 코어는 상기 메인 코어 응답 데이터의 n번째 비트 열에 저장된 데이터 및 상기 복수의 서브 코어로부터 수신된 서브 코어 응답 데이터의 n번째 비트 열에 저장된 데이터에 대하여 논리 연산을 수행하고, 상기 논리 연산의 결과에 기초하여 상기 서브 코어의 동작 상태를 판단할 수 있다.The main core performs a logical operation on data stored in an n-th bit stream of the main core response data and data stored in an n-th bit stream of sub-core response data received from the plurality of sub cores, The operating state of the sub-core can be determined based on the operating state of the sub-core.
상기 논리 연산은 배타적 논리합 연산일 수 있다.The logic operation may be an exclusive-OR operation.
상기 메인 코어는 상기 논리 연산 결과가 제1 비트값일 경우 상기 복수의 서브 코어 중 어느 하나에 이상이 발생한 것으로 판단하고, 상기 논리 연산 결과가 제2 비트값일 경우 상기 복수의 서브 코어가 정상인 것으로 판단할 수 있다.The main core determines that an abnormality has occurred in any one of the plurality of sub-cores when the logical operation result is a first bit value, and determines that the plurality of sub-cores are normal when the logical operation result is a second bit value .
상기 메인 코어는 상기 서브 코어의 동작 상태를 판단한 결과 상기 서브 코어 중 어느 하나에 이상이 발생한 것으로 판단되면 상기 메인 코어 응답 데이터와 상기 서브 코어 응답 데이터를 비교하여 이상이 발생한 서브 코어를 검출할 수 있다. The main core may detect an abnormality by comparing the main core response data with the sub core response data when it is determined that an abnormality has occurred in one of the sub cores as a result of determining the operation state of the sub core .
전술한 바와 같은 본 발명에 의하면, 메인 코어를 통해 워치독 타이머의 동작 감시 대상이 아닌 서브 코어의 동작 상태를 판단함으로써, 소프트웨어 동작의 신뢰성을 높일 수 있는 멀티 코어 MCU 및 그 동작 방법을 제공할 수 있는 장점이 있다. According to the present invention as described above, it is possible to provide a multi-core MCU and an operation method thereof that can improve the reliability of software operation by determining the operation state of a sub-core that is not an object of monitoring the operation of the watchdog timer through the main core There is an advantage.
또한 본 발명에 의하면, 워치독 타이머의 질문에 대한 메인 코어의 응답 및 서브 코어의 응답에 대한 논리 연산을 수행함으로써, 서브 코어의 이상 발생 여부를 간단히 검출할 수 있는 멀티 코어 MCU 및 그 동작 방법을 제공할 수 있는 장점이 있다.According to the present invention, there is provided a multi-core MCU capable of easily detecting whether an abnormality has occurred in a sub-core by performing a logic operation on a response of a main core and a response of a sub-core to a question of a watchdog timer, There is an advantage that can be provided.
도 1은 질문/응답 방식을 사용하는 기존의 워치독 타이머의 감시 동작 과정을 나타낸 것이다.
도 2는 본 발명의 일 실시예에 따른 멀티 코어 MCU의 구성을 개략적으로 나타낸 개념도이다.
도 3은 본 발명의 일 실시예에 따른 멀티 코어 MCU의 동작 방법의 흐름도를 나타낸 것이다.
도 4는 본 발명의 일 실시예에 따른 메인 코어 응답 데이터 및 복수의 서브 코어 응답 데이터에 대한 논리 연산을 나타낸 것이다.
도 5는 본 발명의 일 실시예에 따른 메인 코어 응답 데이터 및 복수의 서브 코어 응답 데이터에 대한 논리 연산 결과의 진리표를 나타낸 것이다.
도 6은 복수의 서브코어가 정상 동작할 경우 메인 코어 응답 데이터(M) 및 복수의 서브 코어 응답 데이터에 대한 논리 연산 결과를 나타낸 것이다.
도 7은 복수의 서브 코어 중 어느 하나에 이상이 발생한 경우 메인 코어 응답 데이터 및 복수의 서브 코어 응답 데이터에 대한 논리 연산 결과를 나타낸 것이다.FIG. 1 shows a monitoring operation process of a conventional watchdog timer using a question / answer method.
2 is a conceptual diagram schematically showing a configuration of a multicore MCU according to an embodiment of the present invention.
3 is a flowchart illustrating a method of operating a multicore MCU according to an embodiment of the present invention.
FIG. 4 illustrates logic operations on main core response data and a plurality of sub-core response data according to an embodiment of the present invention.
5 is a truth table of logical operation results of main core response data and a plurality of sub-core response data according to an embodiment of the present invention.
FIG. 6 shows a result of logic operation on main core response data M and a plurality of sub-core response data when a plurality of sub-cores operate normally.
FIG. 7 shows a logical operation result of main core response data and a plurality of sub-core response data when an abnormality occurs in any one of a plurality of sub-cores.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.The above and other objects, features, and advantages of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings, which are not intended to limit the scope of the present invention. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the drawings, the same reference numerals are used to denote the same or similar elements.
도 2는 본 발명의 일 실시예에 따른 멀티 코어 MCU의 구성을 개략적으로 나타낸 개념도이다.2 is a conceptual diagram schematically showing a configuration of a multicore MCU according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 일 실시예에 따른 멀티 코어 MCU(2)는 통신부(22), 메인 코어(24) 및 서브 코어(26)를 포함할 수 있다.Referring to FIG. 2, the
통신부(22)는 워치독 타이머로부터 정상 동작 여부를 확인하기 위한 질문을 수신하여 메인 코어(24)에 전달한다.The
본 발명의 일 실시예에서, 워치독 타이머는 메인 코어(24)의 동작 상태를 감시할 수 있다. 즉, 워치독 타이머는 질문/응답 방식을 통해 본 발명의 멀티 코어 MCU(2)에 포함된 메인 코어(24)의 동작 상태를 감시할 수 있다. 워치독 타이머와 메인 코어(24)의 질문/응답 송수신은 통신부(22)를 통해 이루어질 수 있으며, 통신부(22)는 메인 코어(24)에 의해 제어될 수 있다. In one embodiment of the present invention, the watchdog timer can monitor the operating state of the
메인 코어(24)는 워치독으로부터 수신한 질문에 대한 메인 코어 응답 데이터를 생성한다.The
본 발명의 일 실시예에서, 메인 코어(24)는 미리 설정된 알고리즘을 사용하여 워치독 타이머의 질문에 대한 메인 코어 응답 데이터를 생성할 수 있다. 이때 미리 설정된 알고리즘은 후술할 서브 코어(26)의 서브 코어 응답 데이터의 생성에 동일하게 사용될 수 있다. In one embodiment of the present invention, the
본 발명의 일 실시예에서, 메인 코어(24)는 워치독 타이머로부터 수신한 질문에 대한 메인 코어 응답 데이터를 생성하여 다시 워치독 타이머에게 전송할 수 있다. 즉, 워치독 타이머는 질문에 대한 메인 코어 응답 데이터의 정답 여부를 판단하여 메인 코어(24)의 정상 동작 여부를 확인할 수 있다. In one embodiment of the present invention, the
본 발명의 일 실시예에서, 메인 코어(24)는 서브 코어(26)의 동작 상태와 무관하게 워치독 타이머의 동작 감시 대상이 될 수 있다. In one embodiment of the present invention, the
메인 코어(24)는 워치독 타이머로부터 수신한 질문을 복수의 서브 코어(26)에 전달한다.The
본 발명의 일 실시예에서, 메인 코어(24)는 워치독 타이머로부터 수신한 질문을 복수의 서브 코어(26) 각각에 전달할 수 있으며, 각 서브 코어(26)는 메인 코어(24)로부터 전달받은 워치독 타이머의 질문에 대한 서브 코어 응답 데이터를 생성할 수 있다.In one embodiment of the present invention, the
메인 코어(24)는 복수의 서브 코어(26)로부터 서브 코어 응답 데이터를 수신한다.The
본 발명의 일 실시예에서, 메인 코어(24)는 워치독 타이머의 감시 대상이 되지 못하는 서브 코어(26)에게 메인 코어(24)가 전송받은 워치독 타이머의 질문을 전달할 수 있다. 서브 코어(26)가 워치독 타이머의 질문에 대한 서브 코어 응답 데이터를 생성하면, 메인 코어(24)는 서브 코어(26)로부터 서브 코어 응답 데이터를 수신할 수 있다. In an embodiment of the present invention, the
메인 코어(24)는 메인 코어 응답 데이터와 서브 코어 응답 데이터를 기초로 서브 코어(26)의 동작 상태를 판단한다.The
본 발명의 일 실시예에서, 메인 코어(24)는 메인 코어 응답 데이터와 복수의 서브 코어 응답 데이터를 기초로 서브 코어(26)의 동작 상태를 판단할 수 있다.In one embodiment of the present invention, the
이처럼 본 발명의 멀티 코어 MCU는 워치독 타이머에 의해 모니터링 되고 있는 메인 코어를 통해 서브 코어의 동작 상태를 판단함으로써, 워치독 타이머의 동작 감시 대상이 아닌 복수의 서브 코어에 대한 모니터링을 수행할 수 있다.As described above, the multi-core MCU of the present invention can monitor the plurality of sub-cores that are not subject to the operation monitoring of the watchdog timer by determining the operation state of the sub-core through the main core being monitored by the watchdog timer .
본 발명의 일 실시예에서, 메인 코어(24)는 서브 코어(26)의 동작 상태를 판단하기 위해 메인 코어 응답 데이터의 n번째 비트 열에 저장된 데이터 및 복수의 서브 코어(26)로부터 수신된 서브 코어 응답 데이터의 n번째 비트 열에 저장된 데이터에 대하여 논리 연산을 수행할 수 있다. 여기서 메인 코어(24)가 수행하는 논리 연산은 배타적 논리합 연산(Exclusive OR operation)으로 이루어질 수 있다. In an embodiment of the present invention, the
본 발명의 일 실시예에서, 메인 코어(24)는 서브 코어 응답 데이터와 메인 코어 응답 데이터를 사용하여 복수의 서브 코어(26) 중 어느 하나에 이상이 발생했는지 여부를 판단할 수 있다. In one embodiment of the present invention, the
메인 코어(24)는 메인 코어 응답 데이터의 n번째 비트 열에 저장된 데이터 및 복수의 서브 코어(26)로부터 수신된 서브 코어 응답 데이터의 n번째 비트 열에 저장된 데이터에 대한 논리 연산을 수행할 수 있다.The
논리 연산의 결과가 제1 비트값일 경우, 복수의 서브 코어(26) 중 어느 하나에 이상이 발생한 것으로 판단할 수 있다. 반대로 논리 연산 결과가 제2 비트값일 경우, 메인 코어(24)는 복수의 서브 코어(26)가 정상인 것으로 판단할 수 있다.When the result of the logical operation is the first bit value, it can be determined that an abnormality has occurred in any one of the plurality of sub-cores. Conversely, when the logical operation result is the second bit value, the
이때 제1 비트값 및 제2 비트값은 각각 참(1) 또는 거짓(0)의 서로 다른 비트값으로 이루어질 수 있다. Here, the first bit value and the second bit value may be different bit values of true (1) or false (0), respectively.
*예를 들어, 제1 비트값이 참(1)으로 설정될 경우 제2 비트값은 거짓(0)으로 설정될 수 있으며, 반대로 제1 비트값이 거짓(0)으로 설정될 경우 제2 비트값은 참(1)으로 설정될 수 있다.For example, when the first bit value is set to true (1), the second bit value may be set to false, and conversely, when the first bit value is set to false (0) The value may be set to true (1).
본 발명의 일 실시예에서, 제1 비트값 및 제2 비트값은 메인 코어(24)가 사용하는 논리 연산식, 서브 코어(26)의 개수, 워치독 타이머의 질문 및 메인 코어(24)와 서브 코어(26)가 응답을 생성하기 위해 사용하는 알고리즘에 따라 달라질 수 있다. In one embodiment of the present invention, the first bit value and the second bit value are determined by a logical expression used by the
본 발명의 일 실시예에서, 메인 코어(24)가 수행하는 논리 연산은 배타적 논리합 연산으로 이루어질 수 있다. In one embodiment of the present invention, the logical operation performed by the
배타적 논리 회로 게이트는 두 입력 중 하나가 참(1)이고 다른 하나가 거짓(0)인 경우에만 참(1)을 출력하고, 두 입력이 모두 참(1)이거나 모두 거짓(0)인 경우, 거짓(0)을 출력한다.The exclusive logic gate outputs true (1) only if either of the inputs is true and the other is false, and if both inputs are true (1) or false (0) And outputs a false (0).
이와 같은 배타적 논리합 연산을 사용하여 메인 코어(24)가 메인 코어 응답 데이터 및 복수의 서브 코어 응답 데이터에 대한 논리 연산을 수행하는 과정은 도 4 및 도 5를 통해 상세히 설명한다. The process of the
메인 코어(24)는 서브 코어(26)의 동작 상태를 판단한 결과 서브 코어(26) 중 어느 하나에 이상이 발생한 것으로 판단되면, 메인 코어 응답 데이터와 서브 코어 응답 데이터를 비교하여 이상이 발생한 서브 코어(26)를 검출한다.The
이처럼 본 발명은 워치독 타이머의 질문에 대한 메인 코어의 응답 및 서브 코어의 응답에 대한 논리 연산을 수행함으로써, 서브 코어의 이상 발생 여부를 간단히 검출할 수 있는 멀티 코어 MCU 및 그 동작 방법을 제공할 수 있는 장점이 있다. As described above, the present invention provides a multicore MCU and an operation method thereof that can easily detect whether an abnormality has occurred in a sub-core by performing a logic operation on a response of a main core and a response of a sub-core to a question of a watchdog timer There are advantages to be able to.
서브 코어(26)는 메인 코어(24)로부터 전달받은 워치독 타이머 질문을 기초로 서브 코어 응답 데이터를 생성한다. The sub-core 26 generates sub-core response data based on the watchdog timer query received from the
전술한 것과 같이, 메인 코어(24)는 워치독 타이머로부터 수신한 질문을 복수의 서브 코어(26) 각각에 전달할 수 있으며, 각 서브 코어(26)는 메인 코어(24)로부터 전달 받은 워치독 타이머의 질문에 대한 서브 코어 응답 데이터를 생성할 수 있다.As described above, the
본 발명의 일 실시예에서, 서브 코어(26)는 미리 설정된 알고리즘을 사용하여 서브 코어 응답 데이터를 생성할 수 있다. 이때 서브 코어(26)에서 사용되는 미리 설정된 알고리즘은 메인 코어(24)가 메인 코어 응답 데이터를 생성하는 과정에서 동일하게 사용될 수 있다.In one embodiment of the present invention, the sub-core 26 may generate sub-core response data using a predetermined algorithm. At this time, the predetermined algorithm used in the sub-core 26 can be used equally in the process of the
서브 코어(26)는 서브 코어 응답 데이터를 미리 설정된 비트 수만큼 시프트 시킨다. 즉, 서브 코어(26)는 메인 코어(24)로부터 전달받은 워치독 타이머 질문을 기초로 서브 코어 응답 데이터를 생성하고, 생성된 서브 코어 응답 데이터를 메인 코어(24)에 전송하기 전에 미리 설정된 비트 수만큼 시프트 시킨다. The sub-core 26 shifts the sub-core response data by a predetermined number of bits. That is, the sub-core 26 generates sub-core response data on the basis of the watchdog timer query transmitted from the
본 발명의 일 실시예에서, 서브 코어(26)는 미리 설정된 시프트 연산자에 따라 서브 코어 응답 데이터를 시프트 시킬 수 있다. 이때 미리 설정된 시프트 연산자는 서브 코어 응답 데이터를 미리 설정된 방향으로 미리 설정된 비트 수만큼 시프트 시킬 수 있다.In one embodiment of the present invention, the sub-core 26 may shift the sub-core response data according to a preset shift operator. At this time, the preset shift operator can shift the sub-core response data by a predetermined number of bits in a predetermined direction.
본 발명의 일 실시예에서, 복수의 서브 코어(26)가 서브 코어 응답 데이터를 시프트하기 위해 사용하는 미리 설정된 시프트 연산자는 각 서브 코어(26)에 따라 다르게 설정될 수 있다.In one embodiment of the present invention, the predetermined shift operator that a plurality of
도 3은 본 발명의 일 실시예에 따른 멀티 코어 MCU의 동작 방법의 흐름도를 나타낸 것이다.3 is a flowchart illustrating a method of operating a multicore MCU according to an embodiment of the present invention.
도 3을 참조하면, 먼저 메인 코어(24)는 워치독 타이머로부터 질문을 수신한다(301). 메인 코어(24)는 워치독 타이머로부터 수신한 질문을 복수의 서브 코어(26)에 전달한다(302). Referring to FIG. 3, the
메인 코어(24)로부터 질문을 전달받은 서브 코어(26)는 전달받은 질문에 대한 서브 코어 응답 데이터를 생성한다(303).The sub-core 26 receiving the inquiry from the
본 발명의 일 실시예에서, 서브 코어(26)는 미리 설정된 알고리즘을 사용하여 서브 코어 응답 데이터를 생성할 수 있다. 이때 서브 코어(26)에서 사용되는 미리 설정된 알고리즘은 메인 코어(24)가 메인 코어 응답 데이터를 생성하는 과정에서 사용될 수 있다.In one embodiment of the present invention, the sub-core 26 may generate sub-core response data using a predetermined algorithm. At this time, the predetermined algorithm used in the sub-core 26 may be used in the process of the
즉, 메인 코어(24)는 워치독 타이머로부터 수신한 질문을 서브 코어(26)에 전달하고, 메인 코어(24) 및 서브 코어(26)는 각각 동일한 질문에 대해 미리 설정된 동일한 알고리즘을 사용하여 메인 코어 응답 데이터 및 서브 코어 응답 데이터를 생성할 수 있다. That is, the
다음으로, 서브 코어(26)는 서브 코어 응답 데이터를 미리 설정된 비트 수만큼 시프트 시킨다(304). Next, the sub-core 26 shifts the sub-core response data by a predetermined number of bits (304).
본 발명의 일 실시예에서, 서브 코어(26)는 미리 설정된 시프트 연산자에 따라 서브 코어 응답 데이터를 시프트 시킬 수 있다. In one embodiment of the present invention, the sub-core 26 may shift the sub-core response data according to a preset shift operator.
본 발명의 일 실시예에서, 복수의 서브 코어(26)가 서브 코어 응답 데이터를 시프트하기 위해 사용하는 미리 설정된 시프트 연산자는 각 서브 코어(26)에 따라 다르게 설정될 수 있다.In one embodiment of the present invention, the predetermined shift operator that a plurality of
각 서브 코어(26)가 각 서브 코어 응답 데이터에 대해 미리 설정된 비트 수만큼 시프트를 수행하는 과정은 도 6을 통해 후술한다. The process in which each sub-core 26 shifts by a predetermined number of bits for each sub-core response data will be described later with reference to FIG.
이후, 메인 코어(24)는 서브 코어(26)로부터 서브 코어 응답 데이터를 수신한다(305).Subsequently, the
본 발명의 일 실시예에서, 메인 코어(24)는 복수의 서브 코어(26)로부터 서브 코어 응답 데이터를 수신할 수 있다. 메인 코어(24)가 수신하는 각 서브 코어 응답 데이터는 각 서브 코어(26)에서 미리 설정된 비트 수만큼 시프트가 수행된 서브 코어 데이터로 이루어질 수 있다.In one embodiment of the present invention, the
다음으로, 메인 코어(24)는 워치독 타이머로부터 수신한 질문에 대한 메인 코어 응답 데이터를 생성한다(306).Next, the
마지막으로, 메인 코어(24)는 메인 코어 응답 데이터와 서브 코어 응답 데이터를 기초로 서브 코어(26)의 동작 상태를 판단한다(307).Finally, the
본 발명의 일 실시예에서, 메인 코어(24)는 메인 코어 응답 데이터와 복수의 서브 코어 응답 데이터를 기초로 서브 코어(26)의 동작 상태를 판단할 수 있다.In one embodiment of the present invention, the
즉, 발명의 멀티 코어 MCU는 워치독 타이머에 의해 모니터링 되고 있는 메인 코어를 통해 서브 코어의 동작 상태를 판단함으로써, 워치독 타이머의 동작 감시 대상이 아닌 복수의 서브 코어에 대한 모니터링을 수행할 수 있다. That is, the multicore MCU of the present invention can monitor a plurality of sub-cores that are not monitored for operation of the watchdog timer by determining the operation state of the sub-core through the main core being monitored by the watchdog timer .
따라서, 본 발명에 의하면 메인 코어를 통해 복수의 서브 코어의 동작 상태를 감시함으로써 멀티 코어 MCU에서 구동되는 소프트웨어의 동작 신뢰성을 높일 수 있는 멀티 코어 MCU 및 그 동작 방법을 제공할 수 있는 장점이 있다.Therefore, according to the present invention, it is possible to provide a multicore MCU and an operation method thereof, which can increase the operational reliability of software driven in a multicore MCU by monitoring the operation states of a plurality of sub-cores through the main core.
본 발명의 일 실시예에서, 메인 코어(24)는 서브 코어(26)의 동작 상태를 판단하기 위해 메인 코어 응답 데이터의 n번째 비트 열에 저장된 데이터 및 복수의 서브 코어(26)로부터 수신된 서브 코어 응답 데이터의 n번째 비트 열에 저장된 데이터에 대하여 논리 연산을 수행할 수 있다. 여기서 메인 코어(24)가 수행하는 논리 연산은 배타적 논리합 연산으로 이루어질 수 있다.In an embodiment of the present invention, the
본 발명의 일 실시예에서, 메인 코어(24)는 서브 코어 응답 데이터와 메인 코어 응답 데이터를 사용하여 복수의 서브 코어(26) 중 어느 하나에 이상이 발생했는지 여부를 판단할 수 있다.In one embodiment of the present invention, the
이처럼 본 발명은 워치독 타이머의 질문에 대한 메인 코어의 응답 및 서브 코어의 응답에 대한 논리 연산을 수행함으로써, 서브 코어의 이상 발생 여부를 간단히 검출할 수 있는 멀티 코어 MCU 및 그 동작 방법을 제공할 수 있는 장점이 있다. As described above, the present invention provides a multicore MCU and an operation method thereof that can easily detect whether an abnormality has occurred in a sub-core by performing a logic operation on a response of a main core and a response of a sub-core to a question of a watchdog timer There are advantages to be able to.
메인 코어(24)는 메인 코어 응답 데이터의 n번째 비트 열에 저장된 데이터 및 복수의 서브 코어(26)로부터 수신된 서브 코어 응답 데이터의 n번째 비트 열에 저장된 데이터에 대한 논리 연산 결과가 제1 비트값일 경우 복수의 서브 코어(26) 중 어느 하나에 이상이 발생한 것으로 판단할 수 있다. 반대로, 메인 코어(24)는 논리 연산 결과가 제2 비트값일 경우 복수의 서브 코어(26)가 정상인 것으로 판단할 수 있다. When the logical operation result of the data stored in the n-th bit stream of the main core response data and the data stored in the n-th bit stream of the sub-core response data received from the plurality of sub-cores 26 is the first bit value It can be determined that an abnormality has occurred in any one of the plurality of sub cores. On the contrary, the
본 발명의 일 실시예에서, 제1 비트값 및 제2 비트값은 메인 코어(24)가 사용하는 논리 연산식, 서브 코어(26)의 개수, 워치독 타이머의 질문 및 메인 코어(24)와 복수의 서브 코어(26)가 응답을 생성하기 위해 사용하는 미리 설정된 알고리즘에 따라 달라질 수 있다.In one embodiment of the present invention, the first bit value and the second bit value are determined by a logical expression used by the
이하에서는 도 4 및 도 5를 통해, 메인 코어가 배타적 논리합 연산을 통해 메인 코어 응답 데이터 및 복수의 서브 코어 응답 데이터에 대한 논리 연산을 수행하는 과정을 상세히 설명한다. Hereinafter, a process of performing logical operations on the main core response data and the plurality of sub-core response data through the exclusive-OR operation of the main core will be described in detail with reference to FIGS. 4 and 5. FIG.
도 4는 본 발명의 일 실시예에 따른 메인 코어 응답 데이터 및 복수의 서브 코어 응답 데이터에 대한 논리 연산을 나타낸 것이다. FIG. 4 illustrates logic operations on main core response data and a plurality of sub-core response data according to an embodiment of the present invention.
본 발명의 일 실시예에서, 메인 코어는 메인 코어 응답 데이터 및 서브 코어 응답 데이터에 대한 배타적 논리합 연산을 수행할 수 있다.In one embodiment of the present invention, the main core may perform an exclusive-OR operation on the main core response data and the sub-core response data.
도 4를 참조하면, 메인 코어는 3개의 배타적 논리합 게이트(41, 42, 43)를 사용하여 메인 코어 응답 데이터(M) 및 제1 서브 코어 응답 데이터(S1) 내지 제3 서브 코어 응답 데이터(S3)에 대한 배타적 논리합 연산을 수행할 수 있다.4, the main core uses three exclusive OR
제1 배타적 논리합 게이트(41)는 메인 코어 응답 데이터(M) 및 제1 서브 코어 응답 데이터(S1)에 대한 논리 연산을 수행하며, 메인 코어 응답 데이터(M) 및 제1 서브 코어 응답 데이터(S1) 중 하나가 참(1)이고 다른 하나가 거짓(0)인 경우에만 참(1)을 출력하고, 두 데이터가 모두 참(1)이거나 모두 거짓(0)인 경우 거짓(0)을 출력한다.The first exclusive OR
*마찬가지로, 제2 배타적 논리합 게이트(42)는 제2 서브 코어 응답 데이터(S2) 및 제3 서브 코어 응답 데이터(S3)에 대한 논리 연산을 수행하며, 제2 서브 코어 응답 데이터(S2) 및 제3 서브 코어 응답 데이터(S3) 중 어느 하나가 참(1)이고 다른 하나가 거짓(0)인 경우에만 참(1)을 출력하고, 두 데이터가 모두 참(1)이거나 모두 거짓(0)인 경우 거짓(0)을 출력한다.Similarly, the second exclusive OR
다시 도 4를 참조하면, 제3 배타적 논리합 게이트(43)는 제1 배타적 논리합 게이트(41) 및 제2 배타적 논리합 게이트(42)의 출력에 대해 논리 연산을 수행하며, 제3 배타적 논리합 게이트(43)의 출력은 논리식 R=(MS1)(S2S3)의 결과값으로 표현될 수 있다(45).4 again, the third exclusive OR
도 5는 본 발명의 일 실시예에 따른 메인 코어 응답 데이터 및 복수의 서브 코어 응답 데이터에 대한 논리 연산 결과의 진리표를 나타낸 것이다. 5 is a truth table of logical operation results of main core response data and a plurality of sub-core response data according to an embodiment of the present invention.
도 5를 참조하면, 제1 배타적 논리합 게이트(41)가 수행한 메인 코어 응답 데이터(M) 및 제1 서브 코어 응답 데이터(S1)의 배타적 논리합 연산 결과(52), 제2 배타적 논리합 게이트(42)가 수행한 제2 서브 코어 응답 데이터(S2)와 제3 서브 코어 응답 데이터(S3)의 배타적 논리합 연산 결과(53) 및 제3 배타적 논리합 게이트(43)가 수행한 제1 배타적 논리합 게이트 출력 및 제2 배타적 논리합 게이트 출력의 배타적 논리합 연산 결과(56)가 나타나있다.5, the exclusive OR operation result 52 of the main core response data M and the first sub-core response data Sl performed by the first exclusive OR
제3 배타적 논리합 게이트(43)가 수행한 배타적 논리합 연산 결과를 참조하면, 메인 코어 응답 데이터(M) 및 제1 서브 코어 응답 데이터(S1) 내지 제3 서브 코어 응답 데이터(S3)에 포함된 참(1)의 개수가 홀수인 경우 제3 배타적 논리합 게이트(43)의 출력은 참(1)이 된다. Referring to the exclusive OR operation result performed by the third exclusive OR
반대로, 메인 코어 응답 데이터(M) 및 제1 서브 코어 응답 데이터(S1) 내지 제3 서브 코어 응답 데이터(S3)에 포함된 참(1)의 개수가 0개 이거나 짝수인 경우 제3 배타적 논리합 게이트(43)의 출력은 거짓(0)이 된다.On the other hand, when the number of true 1's included in the main core response data M and the first sub-core response data S1 to the third sub-core response data S3 is zero or even, the third exclusive- (43) becomes false (0).
즉, 메인 코어는 메인 코어 응답 데이터(M) 및 복수의 서브 코어 응답 데이터에 대한 배타적 논리합 연산을 수행하여 코어 응답 데이터 및 복수의 서브 코어 응답 데이터 중 참(1)의 비트 값을 가지는 데이터의 수가 홀수인지 또는 짝수인지 여부를 판단할 수 있다.That is, the main core performs an exclusive-OR operation on the main core response data M and the plurality of sub-core response data to obtain the core response data and the number of data having a bit value of true (1) among the plurality of sub- Whether it is an odd number or an even number.
이하에서는 도 6 및 도 7을 통해 메인 코어가 메인 코어 응답 데이터 및 복수의 서브 코어 데이터를 사용하여 배타적 논리합 연산을 통해 복수의 서브 코어의 동작 상태를 감시하는 과정을 상세히 설명한다.Hereinafter, a process of monitoring the operation states of a plurality of sub-cores by exclusive-OR operation using the main core response data and the plurality of sub-core data will be described in detail with reference to FIGS. 6 and 7. FIG.
도 6은 복수의 서브코어가 정상 동작할 경우 메인 코어 응답 데이터(M) 및 복수의 서브 코어 응답 데이터에 대한 논리 연산 결과를 나타낸 것이다.FIG. 6 shows a result of logic operation on main core response data M and a plurality of sub-core response data when a plurality of sub-cores operate normally.
도 6을 참조하면, 메인 코어 응답 데이터(M) 및 제1 서브 코어 응답 데이터(S1) 내지 제3 서브 코어 응답 데이터(S3)는 각각 32비트 데이터로 이루어질 수 있다. Referring to FIG. 6, the main core response data M and the first sub-core response data S1 to the third sub-core response data S3 may be 32-bit data.
즉, 메인 코어는 미리 설정된 알고리즘을 사용하여 워치독 타이머의 질문에 대해 32비트의 데이터로 구성되는 메인 코어 응답 데이터(M)를 생성할 수 있다. 도 6에 도시된 것과 같이, 메인 코어 응답 데이터(M)는 1111 1111 0000 1111 1111 0000 0000 0000의 비트 행으로 구성될 수 있다. That is, the main core can generate main core response data M composed of 32 bits of data for the question of the watchdog timer using a preset algorithm. As shown in FIG. 6, the main core response data M may be composed of a bit row of 1111 1111 0000 1111 1111 0000 0000 0000.
서브 코어는 메인 코어로부터 전달받은 워치독 타이머의 질문에 대한 서브 코어 응답 데이터를 생성할 수 있다. The sub-core may generate sub-core response data for a query of the watchdog timer that is received from the main core.
서브 코어가 서브 코어 응답 데이터를 생성하기 위해 사용하는 알고리즘은 메인 코어가 메인 코어 응답 데이터(M)를 생성하기 위해 사용하는 알고리즘과 동일하다. The algorithm that the sub-core uses to generate the sub-core response data is the same as the algorithm that the main core uses to generate the main core response data (M).
전술한 것과 같이, 서브 코어는 서브 코어 응답 데이터를 미리 설정된 비트 수만큼 시프트할 수 있다.As described above, the sub-core can shift the sub-core response data by a predetermined number of bits.
예를 들어, 메인 코어 응답 데이터(M)가 1111 1111 0000 1111 1111 0000 0000 0000의 비트 행으로 이루어질 경우, 제1 서브 코어가 처음 생성한 제1 서브 코어 응답 데이터는 1111 1111 0000 1111 1111 0000 0000 0000의 비트 행으로 이루어질 수 있다. For example, when the main core response data M is composed of a bit row of 1111 1111 0000 1111 1111 0000 0000 0000, the first sub-core response data first generated by the first sub-core is 1111 1111 0000 1111 1111 0000 0000 0000 Lt; / RTI >
이때 제1 서브 코어는 제1 서브 코어 응답 데이터를 좌측으로 8비트만큼 시프트 시킬 수 있다. 제1 서브 코어의 데이터 시프트 수행으로 인해 제1 서브 코어 응답 데이터(S1)는 0000 1111 1111 0000 0000 0000 1111 1111의 비트 행으로 이루어질 수 있다.At this time, the first sub-core may shift the first sub-core response data to the left by 8 bits. Due to the data shift of the first sub-core, the first sub-core response data S1 may consist of a bit line of 0000 1111 1111 0000 0000 0000 1111 1111.
이와 유사하게, 제2 서브 코어는 제2 서브 코어 응답 데이터를 좌측으로 16비트 만큼 시프트 시킬 수 있으며, 제3 서브 코어는 제3 서브 코어 응답 데이터를 좌측으로 24비트 만큼 시프트 시킬 수 있다.Similarly, the second sub-core may shift the second sub-core response data to the left by 16 bits, and the third sub-core may shift the third sub-core response data by 24 bits to the left.
다시 도 6을 참조하면, 제2 서브 코어 및 제3 서브 코어가 데이터 시프트를 수행한 결과, 제2 서브 코어 응답 데이터(S2)는 1111 0000 0000 0000 1111 1111 0000 1111의 비트 행으로 이루어질 수 있으며, 제3 서브 코어 응답 데이터(S3)는 0000 0000 1111 1111 0000 1111 1111 0000의 비트 행으로 이루어질 수 있다.Referring again to FIG. 6, as a result of performing the data shift of the second sub-core and the third sub-core, the second sub-core response data S2 may be a bit line of 1111 0000 0000 0011 1111 1111 0000 1111, The third sub-core response data S3 may be composed of a bit line of 0000 0000 1111 1111 0000 1111 1111 0000.
메인 코어는 메인 코어 응답 데이터(M) 및 서브 코어 응답 데이터(S1, S2, S3)에 대한 배타적 논리합 연산을 수행할 수 있다.The main core can perform an exclusive-OR operation on the main core response data M and the sub-core response data S1, S2, and S3.
다시 도 6을 참조하면, 메인 코어 응답 데이터(M)의 n번째 비트 열에 저장된 데이터 및 복수의 서브 코어로부터 수신된 서브 코어 응답 데이터(S1, S2, S3)의 n번째 비트 열에 저장된 데이터에 대하여 논리 연산 수행 결과가 나타나있다.6, data stored in the n-th bit stream of the main core response data M and data stored in the n-th bit stream of the sub-core response data S1, S2, S3 received from the plurality of sub- The result of the operation is shown.
예를 들어, 모든 서브 코어가 정상 동작할 경우 메인 코어 응답 데이터(M) 및 제2 서브 코어 응답 데이터(S2)의 24번째 비트 열에 저장된 데이터는 거짓(0)이 될 수 있으며, 제1 서브 코어 응답 데이터(S1) 및 제3 서브 코어 응답 데이터(S3)의 24번째 비트 열에 저장된 데이터는 참(1)이 될 수 있다. For example, when all the sub-cores are operating normally, the data stored in the 24th bit string of the main core response data M and the second sub-core response data S2 may be false (0) The data stored in the 24th bit string of the response data S1 and the third sub-core response data S3 may be true (1).
이때 메인 코어 응답 데이터(M) 및 제1 서브 코어 응답 데이터(S1) 내지 제3 서브 코어 응답 데이터(S3)의 24번째 비트 열에 저장된 데이터에 대한 배타적 논리합 연산 결과는 거짓(0)이 될 수 있다. At this time, the exclusive OR operation result on the data stored in the 24th bit string of the main core response data M and the first sub-core response data S1 to the third sub-core response data S3 may be a false (0) .
도 6에 도시된 것과 같이, 모든 서브 코어가 정상 동작할 경우 메인 코어 응답 데이터(M)의 모든 비트 열에 저장된 데이터 및 복수의 서브 코어로부터 수신된 서브 코어 응답 데이터의 모든 비트 열에 저장된 데이터에 대한 배타적 논리합 연산 결과는 모두 거짓(0)이 될 수 있다. As shown in FIG. 6, when all of the sub-cores are operating normally, data stored in all bit strings of the main core response data M and data stored in all bit strings of the sub-core response data received from the plurality of sub- The result of the OR operation can be all false (0).
도 7은 복수의 서브 코어 중 어느 하나에 이상이 발생한 경우 메인 코어 응답 데이터 및 복수의 서브 코어 응답 데이터에 대한 논리 연산 결과를 나타낸 것이다.FIG. 7 shows a logical operation result of main core response data and a plurality of sub-core response data when an abnormality occurs in any one of a plurality of sub-cores.
전술한 것과 같이, 메인 코어는 메인 코어 응답 데이터의 n번째 비트 열에 저장된 데이터 및 복수의 서브 코어로부터 수신된 서브 코어 응답 데이터의 n번째 비트 열에 저장된 데이터에 대한 논리 연산 결과가 제1 비트값일 경우 복수의 서브 코어 중 어느 하나에 이상이 발생한 것으로 판단하고, 반대로 논리 연산 결과가 제2 비트값일 경우 복수의 서브 코어가 정상인 것으로 판단할 수 있다.As described above, when the logical operation result of the data stored in the n-th bit stream of the main core response data and the data stored in the n-th bit stream of the sub-core response data received from the plurality of sub-cores is a first bit value, It is determined that an abnormality has occurred in any of the sub-cores of the plurality of sub-cores. On the contrary, if the logical operation result is the second bit value, it can be determined that the plurality of sub-cores are normal.
도 7을 참조하면, 이상이 발생한 제1 서브 코어의 제1 서브 코어 응답 데이터(S1)는 도 6의 제1 서브 코어 응답 데이터(S1)와 달리 21번째 내지 24번째 비트 열 데이터가 거짓(0)으로 이루어질 수 있다. Referring to FIG. 7, the first sub-core response data S1 of the first sub-core in which the abnormality occurs is different from the first sub-core response data S1 of FIG. 6 in that the 21st to 24th bit string data is false ).
이때 메인 코어 응답 데이터(M)의 21번째 내지 24번째 비트 열에 저장된 데이터 및 복수의 서브 코어로부터 수신된 서브 코어 응답 데이터의 21번째 내지 24번째 비트 열에 저장된 데이터(7)에 대한 배타적 논리합 연산 결과는 참(1)이 될 수 있다.The result of the exclusive OR operation on the data stored in the 21st to 24th bit strings of the main core response data M and the
즉, 모든 서브 코어가 정상 동작할 경우 메인 코어가 수행한 메인 코어 응답 데이터(M) 및 서브 코어 응답 데이터에 대한 배타적 논리합 연산 결과는 모든 비트 열에 대해 거짓(0)이 될 수 있다. That is, when all the sub-cores operate normally, the result of the exclusive-OR operation on the main core response data M and the sub-core response data performed by the main core may be 0 (zero) for all bit strings.
반면, 복수의 서브 코어 중 어느 하나에 이상이 발생한 경우 메인 코어가 수행한 메인 코어 응답 데이터(M) 및 서브 코어 응답 데이터에 대한 배타적 논리합 연산 결과는 일부 비트 열에 대해 참(1)이 될 수 있고, 나머지 비트 열에 대해 거짓(0)이 될 수 있다.On the other hand, if an error occurs in any one of the plurality of sub-cores, the result of the exclusive OR operation on the main core response data M and the sub-core response data performed by the main core may be true (1) , And false (0) for the remaining bit string.
본 발명의 일 실시예에서, 메인 코어가 사용하는 배타적 논리합 연산의 제1 비트값이 참(1), 제2 비트값이 거짓(0)으로 설정될 수 있다. 이때 메인 코어가 메인 코어 응답 데이터 및 서브 코어 응답 데이터의 모든 비트 열에 대해 논리 연산을 수행한 결과 모든 비트 열 중에서 제1 비트값에 해당하는 배타적 논리합 연산 결과를 가지는 비트 열이 검출될 경우, 메인 코어는 제1 서브 코어 내지 제3 서브 코어 중 어느 하나에 이상이 발생한 것으로 판단할 수 있다.In one embodiment of the present invention, the first bit value of the exclusive-OR operation used by the main core may be set to true (1), and the second bit value may be set to false (0). At this time, when the main core performs a logical operation on all the bit strings of the main core response data and the sub core response data, if a bit string having the exclusive OR operation result corresponding to the first bit value is detected from all the bit strings, Core to the third sub-core, it is possible to determine that an abnormality has occurred in any one of the first sub-core to the third sub-core.
다시 도 7을 참조하면, 메인 코어가 사용하는 배타적 논리합 연산의 제1 비트값은 참(1)으로 설정되며, 메인 코어가 수행한 메인 코어 응답 데이터(M) 및 복수의 서브 코어로부터 수신된 서브 코어 응답 데이터(S1, S2, S3)에 대한 배타적 논리합 연산 결과의 일부 비트 열이 참(1)이다. 따라서 메인 코어는 제1 서브 코어 내지 제3 서브 코어 중 어느 하나에 이상이 발생한 것으로 판단할 수 있다.Referring back to FIG. 7, the first bit value of the exclusive-OR operation used by the main core is set to true (1), and the main core response data M performed by the main core and the sub- Some bits of the result of the exclusive-OR operation on the core response data S1, S2, and S3 are true (1). Therefore, the main core can determine that an abnormality has occurred in any one of the first sub-core to the third sub-core.
이처럼 본 발명의 멀티 코어 MCU는 메인 코어를 통해 메인 코어의 응답 및 복수의 서브 코어의 응답에 대한 논리 연산을 수행함으로써, 복수의 서브 코어 중 어느 하나의 서브 코어에 이상이 발생하였는지 여부를 신속하고 간단하게 판단할 수 있는 장점이 있다.As described above, the multi-core MCU of the present invention performs a logical operation on the response of the main core and the responses of the plurality of sub-cores through the main core, thereby determining whether any one of the sub- There is an advantage that it can be judged simply.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, But the present invention is not limited thereto.
2: 멀티 코어 MCU
22: 통신부
24: 메인 코어
26: 서브 코어2: Multicore MCU
22:
24: main core
26: Subcore
Claims (12)
상기 메인 코어가 상기 질문을 복수의 서브 코어에 전달하는 단계;
상기 복수의 서브 코어가 상기 질문에 대한 서브 코어 응답 데이터를 생성하는 단계;
상기 서브 코어가 상기 서브 코어 응답 데이터를 미리 설정된 비트 수만큼 시프트 시키는 단계;
상기 메인 코어가 복수의 서브 코어로부터 상기 서브 코어 응답 데이터를 수신하는 단계;
상기 메인 코어가 상기 질문에 대한 메인 코어 응답 데이터를 생성하는 단계; 및
상기 메인 코어가 상기 메인 코어 응답 데이터와 상기 서브 코어 응답 데이터를 기초로 논리 연산을 수행하여 상기 서브 코어의 동작 상태를 판단하는 단계를 포함하는
멀티 코어 MCU의 동작 방법.
Receiving a query from the watchdog timer to confirm whether the main core is operating normally;
The main core transmitting the query to a plurality of sub-cores;
The plurality of subcores generating subcore response data for the query;
Shifting the sub-core response data by a predetermined number of bits;
The main core receiving the sub-core response data from a plurality of sub-cores;
The main core generating main core response data for the question; And
And the main core performs a logical operation based on the main core response data and the sub core response data to determine an operation state of the sub core
How to operate the multicore MCU.
상기 메인 코어가 상기 서브 코어의 동작 상태를 판단하는 단계는
상기 메인 코어가 상기 메인 코어 응답 데이터의 n번째 비트 열에 저장된 데이터 및 상기 복수의 서브 코어로부터 수신된 서브 코어 응답 데이터의 n번째 비트 열에 저장된 데이터에 대하여 논리 연산을 수행하는 단계; 및
상기 메인 코어가 상기 논리 연산의 결과에 기초하여 상기 서브 코어의 동작 상태를 판단하는 단계를 포함하는
멀티 코어 MCU의 동작 방법.
The method according to claim 1,
Wherein the step of determining the operating state of the sub core
Performing a logical operation on data stored in an n-th bit stream of the main core response data and data stored in an n-th bit stream of sub-core response data received from the plurality of sub cores; And
And the main core judging an operation state of the sub-core based on a result of the logic operation
How to operate the multicore MCU.
상기 논리 연산은
배타적 논리합 연산인
멀티 코어 MCU의 동작 방법.
The method of claim 3,
The logical operation
Exclusive OR operation
How to operate the multicore MCU.
상기 논리 연산 결과에 기초하여 상기 메인 코어가 상기 서브 코어의 동작 상태를 판단하는 단계는
상기 논리 연산 결과가 제1 비트값일 경우 상기 복수의 서브 코어 중 어느 하나에 이상이 발생한 것으로 판단하는 단계; 및
상기 논리 연산 결과가 제2 비트값일 경우 상기 복수의 서브 코어가 정상인 것으로 판단하는 단계를 포함하는
멀티 코어 MCU의 동작 방법.
The method of claim 3,
And the step of the main core determining the operation state of the sub-core based on the logic operation result
Determining that an abnormality has occurred in one of the plurality of sub-cores when the logical operation result is a first bit value; And
And determining that the plurality of sub-cores are normal if the logical operation result is a second bit value
How to operate the multicore MCU.
상기 메인 코어가 상기 서브 코어의 동작 상태를 판단한 결과 상기 서브 코어 중 어느 하나에 이상이 발생한 것으로 판단되면 상기 메인 코어 응답 데이터와 상기 서브 코어 응답 데이터를 비교하여 이상이 발생한 서브 코어를 검출하는 단계를 더 포함하는
멀티 코어 MCU의 동작 방법.
The method according to claim 1,
Core core response data and the sub-core response data when the main core determines that an abnormality has occurred in any one of the sub-cores as a result of determining the operation state of the sub-core, More included
How to operate the multicore MCU.
상기 질문을 복수의 서브 코어에 전달하는 메인 코어; 및
상기 질문에 대한 서브 코어 응답 데이터를 생성하고, 상기 서브 코어 응답 데이터를 미리 설정된 비트 수만큼 시프트 시키는 서브 코어를 포함하고,
상기 메인 코어는 상기 복수의 서브 코어로부터 상기 서브 코어 응답 데이터를 수신하며, 상기 질문에 대한 메인 코어 응답 데이터를 생성하고, 상기 메인 코어 응답 데이터와 상기 서브 코어 응답 데이터를 기초로 논리 연산을 수행하여 상기 서브 코어의 동작 상태를 판단하는
멀티 코어 MCU.
A communication unit for receiving a question from the watchdog timer to confirm whether or not the watchdog timer operates normally and delivering the received question to the main core;
A main core for transmitting the query to a plurality of sub-cores; And
And a sub-core for generating sub-core response data for the query and shifting the sub-core response data by a predetermined number of bits,
The main core receives the sub-core response data from the plurality of sub-cores, generates main core response data for the question, performs logical operation based on the main core response data and the sub-core response data And determines the operation state of the sub-core
Multicore MCU.
상기 메인 코어는
상기 메인 코어 응답 데이터의 n번째 비트 열에 저장된 데이터 및 상기 복수의 서브 코어로부터 수신된 서브 코어 응답 데이터의 n번째 비트 열에 저장된 데이터에 대하여 논리 연산을 수행하고, 상기 논리 연산의 결과에 기초하여 상기 서브 코어의 동작 상태를 판단하는
멀티 코어 MCU.
8. The method of claim 7,
The main core
Performing a logical operation on data stored in an n-th bit stream of the main core response data and data stored in an n-th bit stream of sub-core response data received from the plurality of sub cores, Judging the operation state of the core
Multicore MCU.
상기 논리 연산은
배타적 논리합 연산인
멀티 코어 MCU.
10. The method of claim 9,
The logical operation
Exclusive OR operation
Multicore MCU.
상기 메인 코어는
상기 논리 연산 결과가 제1 비트값일 경우 상기 복수의 서브 코어 중 어느 하나에 이상이 발생한 것으로 판단하고, 상기 논리 연산 결과가 제2 비트값일 경우 상기 복수의 서브 코어가 정상인 것으로 판단하는
멀티 코어 MCU.
10. The method of claim 9,
The main core
Determines that an abnormality has occurred in any of the plurality of sub-cores when the logical operation result is a first bit value, and determines that the plurality of sub-cores are normal when the logical operation result is a second bit value
Multicore MCU.
상기 메인 코어는
상기 서브 코어의 동작 상태를 판단한 결과 상기 서브 코어 중 어느 하나에 이상이 발생한 것으로 판단되면 상기 메인 코어 응답 데이터와 상기 서브 코어 응답 데이터를 비교하여 이상이 발생한 서브 코어를 검출하는
멀티 코어 MCU.8. The method of claim 7,
The main core
If it is determined that an abnormality has occurred in any one of the sub-cores as a result of the determination of the operation state of the sub-core, the main core response data and the sub-core response data are compared to detect an abnormal sub-
Multicore MCU.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170098148A KR101998469B1 (en) | 2017-08-02 | 2017-08-02 | Multi-core mcu and operating method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170098148A KR101998469B1 (en) | 2017-08-02 | 2017-08-02 | Multi-core mcu and operating method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190014388A KR20190014388A (en) | 2019-02-12 |
KR101998469B1 true KR101998469B1 (en) | 2019-07-09 |
Family
ID=65369229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170098148A KR101998469B1 (en) | 2017-08-02 | 2017-08-02 | Multi-core mcu and operating method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101998469B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102219432B1 (en) * | 2019-12-12 | 2021-02-26 | 현대모비스 주식회사 | Watchdog apparatus and control method thereof |
KR102252315B1 (en) * | 2019-12-30 | 2021-05-13 | 현대오트론 주식회사 | Vehicular electronic control unit and monitoring method thereof |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100648490B1 (en) * | 2005-10-17 | 2006-11-27 | 삼성전자주식회사 | Circuit and method of testing semiconductor memory devices and semiconductor memory device including the same |
JP2011159136A (en) | 2010-02-02 | 2011-08-18 | Seiko Epson Corp | Control device, failure detection and recovery method thereof, and electronic apparatus |
JP2015103052A (en) * | 2013-11-26 | 2015-06-04 | 日立オートモティブシステムズ株式会社 | On-vehicle electronic control device |
KR101534974B1 (en) * | 2013-12-19 | 2015-07-08 | 현대자동차주식회사 | Micro core monitoring apparatus and method thereof |
-
2017
- 2017-08-02 KR KR1020170098148A patent/KR101998469B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100648490B1 (en) * | 2005-10-17 | 2006-11-27 | 삼성전자주식회사 | Circuit and method of testing semiconductor memory devices and semiconductor memory device including the same |
JP2011159136A (en) | 2010-02-02 | 2011-08-18 | Seiko Epson Corp | Control device, failure detection and recovery method thereof, and electronic apparatus |
JP2015103052A (en) * | 2013-11-26 | 2015-06-04 | 日立オートモティブシステムズ株式会社 | On-vehicle electronic control device |
KR101534974B1 (en) * | 2013-12-19 | 2015-07-08 | 현대자동차주식회사 | Micro core monitoring apparatus and method thereof |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102219432B1 (en) * | 2019-12-12 | 2021-02-26 | 현대모비스 주식회사 | Watchdog apparatus and control method thereof |
KR102252315B1 (en) * | 2019-12-30 | 2021-05-13 | 현대오트론 주식회사 | Vehicular electronic control unit and monitoring method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20190014388A (en) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101998469B1 (en) | Multi-core mcu and operating method thereof | |
KR101543702B1 (en) | Semiconductor device and method for testing the same | |
US8209594B2 (en) | Sending device, receiving device, communication control device, communication system, and communication control method | |
US10721022B2 (en) | Communication apparatus, communication method, program, and communication system | |
US8041993B2 (en) | Distributed control system | |
US7853824B2 (en) | Dual computer for system backup and being fault-tolerant | |
KR20130009086A (en) | Advanced watchdog apparatus and method thereof | |
KR101448013B1 (en) | Fault-tolerant apparatus and method in multi-computer for Unmanned Aerial Vehicle | |
US20190146939A1 (en) | Communication device, communication method, program, and communication system | |
US20050066258A1 (en) | Error decoding circuit, data bus control method and data bus system | |
KR20220004319A (en) | Multi-core mcu | |
JP2009159636A (en) | Data transmission method | |
US20110191648A1 (en) | Information processing apparatus, information transmitting method, and information receiving method | |
US7366952B2 (en) | Interconnect condition detection using test pattern in idle packets | |
KR102619941B1 (en) | Method and apparatus of multi-connecting diagnostic device for target system in embedded system | |
CN108028530B (en) | ESD detection device, integrated circuit and method applied to digital integrated electronic circuit | |
KR20190059683A (en) | Multi-Processors error detection system and method thereof | |
KR101584210B1 (en) | System and method for monitoring MCU | |
JP2022061792A (en) | Information processing device control program, information processing device control method and information processing device | |
US10574514B2 (en) | Duplex control device and duplex system | |
WO2019239676A1 (en) | Assembled battery monitoring device | |
KR20230078839A (en) | Motion control device including diagnosis based on EtherCAT Network | |
CN116662064A (en) | Method, device and system for realizing register write detection and state monitoring mechanism | |
JP6626049B2 (en) | Control device, control method, and program | |
JP2016091480A (en) | Duplex control system |
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 |