KR20210074155A - Electronic device and control method thereof - Google Patents

Electronic device and control method thereof Download PDF

Info

Publication number
KR20210074155A
KR20210074155A KR1020200035283A KR20200035283A KR20210074155A KR 20210074155 A KR20210074155 A KR 20210074155A KR 1020200035283 A KR1020200035283 A KR 1020200035283A KR 20200035283 A KR20200035283 A KR 20200035283A KR 20210074155 A KR20210074155 A KR 20210074155A
Authority
KR
South Korea
Prior art keywords
electronic device
instruction
safety function
state
function
Prior art date
Application number
KR1020200035283A
Other languages
Korean (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 US17/111,691 priority Critical patent/US20210182386A1/en
Priority to EP20898261.1A priority patent/EP4004736A4/en
Priority to PCT/KR2020/018063 priority patent/WO2021118260A1/en
Publication of KR20210074155A publication Critical patent/KR20210074155A/en

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/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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Abstract

Disclosed are an electronic device and a control method thereof. The electronic device according to the present disclosure comprises: a memory; and a processor comprising at least one core which is set so as to execute an instruction corresponding to at least one safety function among a plurality of cores. The processor, while the electronic device operates in a first state, identifies whether or not at least one instruction is an instruction corresponding to a safety function through a learned neural network model when at least one instruction is executed on at least one core, and allows an operating state of the electronic device to be determined as one of a first state and a second state based on an identification result. Therefore, the present invention is capable of efficiently identifying whether or not a safety function is defective.

Description

전자 장치 및 그의 제어 방법{Electronic device and control method thereof} Electronic device and control method thereof

본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로서, 더욱 상세하게는 코어에서 실행되는 인스트럭션을 모니터링하여 안전 기능을 수행할 때 결함이 존재하는지 여부를 식별하는 전자 장치 및 이의 제어 방법에 관한 것이다.The present disclosure relates to an electronic device and a control method thereof, and more particularly, to an electronic device and a control method thereof for monitoring an instruction executed in a core to identify whether a fault exists when performing a safety function.

각종 장치의 안전 기능(safety function)이 국제 안전 규격을 만족하기 위해서는 해당 안전 기능이 일반 기능 대비 FFI(Freedom from Interference)를 만족하는지 여부를 모니터링하여야 한다. 이 때, 안전 기능이 FFI를 만족했다는 것은 안전 기능이 하드웨어 또는 소프트웨어 관점에서 일반 기능으로부터 영향받지 않고 독립적으로 기능을 수행할 수 있다는 것을 의미한다.In order for the safety function of various devices to satisfy international safety standards, it is necessary to monitor whether the corresponding safety function satisfies FFI (Freedom from Interference) compared to general functions. At this time, the fact that the safety function satisfies the FFI means that the safety function can perform its function independently from the general function from the hardware or software point of view.

FFI를 만족하기 위해서는, 안전 기능을 구성하는 소프트웨어 프로그램을 실행 또는 저장하는 CPU 또는 메모리의 독립이 보장되어야 한다. 다만, 장치의 패키지(package) 업데이트 등이 수행되어 새로운 기능이 추가될 경우, 추가된 새로운 기능이 안전 기능을 수행하는 CPU를 간섭하지 않는다는 보장을 할 수 없다. 따라서, 기존에는 기능이 추가되는 업데이트 등이 발생되면, 장치의 안전 기능이 결함 없이 수행되는지 여부를 별도로 검사해야 한다는 한계가 발생하였다. 장치의 안전 기능이 결함 없이 수행되는지 여부를 검사하기 위해서는 추가적인 비용 및 시간이 소요될 수 있다.In order to satisfy the FFI, the independence of the CPU or memory that executes or stores the software program constituting the safety function must be ensured. However, when a new function is added as a package update of the device is performed, it cannot be guaranteed that the added new function does not interfere with the CPU performing the safety function. Therefore, when an update or the like to add a function occurs, there is a limitation in that it is necessary to separately check whether the safety function of the device is performed without a defect. It can be costly and time consuming to check whether a device's safety functions are performing flawlessly.

본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로, 본 개시의 목적은 안전 기능을 수행하도록 설정된 코어에서 실행되는 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션을 실행하는지 모니터링하는 전자 장치 및 이의 제어 방법을 제공함에 있다.The present disclosure has been devised to solve the above-described problems, and an object of the present disclosure is to monitor whether an instruction executed in a core set to perform a safety function executes an instruction corresponding to a function different from the safety function, and control thereof to provide a method.

본 개시의 일 실시예에 따른, 전자 장치는 메모리 및 복수의 코어 중 적어도 하나의 안전 기능에 대응되는 인스트럭션을 실행하도록 설정된 적어도 하나의 코어를 포함하는 프로세서를 포함하고, 상기 프로세서는, 상기 전자 장치가 제1 상태로 동작하는 동안, 상기 적어도 하나의 코어에서 적어도 하나의 인스트럭션이 실행되면, 학습된 신경망 모델을 통해 상기 적어도 하나의 인스트럭션이 상기 안전 기능에 대응되는 인스트럭션인지 여부를 식별하고, 상기 식별 결과에 기초하여, 상기 전자 장치의 동작 상태를 상기 제1 상태 또는 제2 상태 중 하나로 결정할 수 있다.According to an embodiment of the present disclosure, an electronic device includes a processor including a memory and at least one core configured to execute an instruction corresponding to at least one safety function among a plurality of cores, wherein the processor includes the electronic device When at least one instruction is executed in the at least one core while operating in the first state, it is identified whether the at least one instruction is an instruction corresponding to the safety function through a learned neural network model, and the identification Based on the result, the operating state of the electronic device may be determined as one of the first state or the second state.

한편, 본 개시의 일 실시예에 따른, 복수의 코어 중 적어도 하나의 안전 기능에 대응되는 인스트럭션을 실행하도록 설정된 적어도 하나의 코어를 포함하는 프로세서를 포함하는 전자 장치의 제어 방법에 있어서, 상기 전자 장치가 제1 상태로 동작하는 동안, 상기 적어도 하나의 코어에서 적어도 하나의 인스트럭션이 실행되면, 학습된 신경망 모델을 통해 상기 적어도 하나의 인스트럭션이 상기 안전 기능에 대응되는 인스트럭션인지 여부를 식별하는 단계 및 상기 식별 결과에 기초하여, 상기 전자 장치의 동작 상태를 상기 제1 상태 또는 제2 상태 중 하나로 결정하는 단계를 포함할 수 있다.Meanwhile, according to an embodiment of the present disclosure, in the method of controlling an electronic device including a processor including at least one core configured to execute an instruction corresponding to at least one safety function among a plurality of cores, the electronic device If at least one instruction is executed in the at least one core while operating in the first state, identifying whether the at least one instruction is an instruction corresponding to the safety function through a learned neural network model; and The method may include determining the operating state of the electronic device as one of the first state and the second state based on the identification result.

상술한 바와 같이 본 개시의 다양한 실시예에 따라, 전자 장치는 안전 기능을 수행하도록 설정된 코어에서 실행되는 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션을 실행하는지 모니터링함으로써, 사용자는 전자 장치의 각종 기능이 업데이트되더라도 안전 기능이 결함이 있는지 여부를 효율적으로 식별할 수 있다.As described above, according to various embodiments of the present disclosure, the electronic device monitors whether an instruction executed in a core configured to perform a safety function executes an instruction corresponding to a function different from the safety function, thereby allowing a user to perform various functions of the electronic device. Even with this update, it is possible to efficiently identify whether the safety function is faulty.

도 1은 본 개시의 일 실시예에 따른, 전자 장치의 구성 및 동작을 설명하기 위한 도면,
도 2는 본 개시의 일 실시예에 따른, 전자 장치의 동작을 설명하기 위한 순서도,
도 3은 본 개시의 일 실시예에 따른, 전자 장치가 안전 기능과 상이한 기능에 대응되는 인스트럭션을 식별하는 과정을 설명하기 위한 도면,
도 4는 본 개시의 일 실시예에 따른, 전자 장치의 동작을 설명하기 위한 도면,
도 5는 본 개시의 일 실시예에 따른, 전자 장치 및 서버의 동작을 설명하기 위한 시퀀스도,
도 6는 본 개시의 일 실시예에 따른, 전자 장치의 구성을 상세히 도시한 블록도,
도 7은 본 개시의 일 실시예에 따른, 전자 장치의 제어 방법을 설명하기 위한 순서도이다.
1 is a view for explaining the configuration and operation of an electronic device according to an embodiment of the present disclosure;
2 is a flowchart for explaining an operation of an electronic device according to an embodiment of the present disclosure;
3 is a view for explaining a process in which an electronic device identifies an instruction corresponding to a function different from a safety function according to an embodiment of the present disclosure;
4 is a view for explaining an operation of an electronic device according to an embodiment of the present disclosure;
5 is a sequence diagram illustrating operations of an electronic device and a server according to an embodiment of the present disclosure;
6 is a block diagram illustrating in detail the configuration of an electronic device according to an embodiment of the present disclosure;
7 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.

도 1의 전자 장치(100)는 제1 상태 및 제2 상태 중 하나로 선택적으로 동작할 수 있다. 한편, 본 개시를 설명함에 있어서 제1 상태를 일반 상태로 기재하고, 제2 상태를 안전 상태로 표현할 수 있으나 이에 한정되지 않는다. 일반 상태는 전자 장치(100)가 일반 기능 및 안전 기능을 수행하고 있는 상태를 의미한다. 안전 기능은 전자 장치(100)가 일반 기능을 수행하면서 발생할 수 있는 위험 요소를 모니터링 및 제어하는 기능을 포함할 수 있다. 즉, 안전 기능은 전자 장치(100)가 수행하는 일반적인 기능이 정상 범위 내에서 동작하는지 여부를 모니터링하고, 일반적인 기능이 정상 범위 내에서 동작하지 않는다고 식별되면, 수행되고 있는 일반적인 기능의 횟수, 속도, 위치 등을 제한하는 기능을 포함할 수 있다. 예를 들어, 일반 기능이 전자 장치(100)의 속도 조절 기능인 경우, 안전 기능은 전자 장치(100)의 속도가 기설정된 최고 속도를 초과하는지 여부를 모니터링하는 동작 및 전자 장치(100)의 속도가 기설정된 최고 속도를 초과한다고 식별되는 경우, 속도의 크기를 감소시키는 기능일 수 있다. 따라서, 전자 장치(100)는 안전 상태로 동작하면서 일반 기능 및 일반 기능을 모니터링 또는 제어하는 안전 기능을 수행할 수 있다. 이와 관련된 실시예는 도 4를 참조하여 구체적으로 설명하도록 한다.The electronic device 100 of FIG. 1 may selectively operate in one of a first state and a second state. Meanwhile, in describing the present disclosure, the first state may be described as a normal state and the second state may be expressed as a safe state, but the present disclosure is not limited thereto. The normal state means a state in which the electronic device 100 is performing a normal function and a safety function. The safety function may include a function of monitoring and controlling risk factors that may occur while the electronic device 100 performs a general function. That is, the safety function monitors whether a general function performed by the electronic device 100 operates within a normal range, and when it is identified that the general function does not operate within a normal range, the number, speed, It may include a function to limit the location and the like. For example, when the general function is a speed control function of the electronic device 100 , the safety function includes an operation of monitoring whether the speed of the electronic device 100 exceeds a preset maximum speed and the speed of the electronic device 100 . When it is identified that the preset maximum speed is exceeded, it may be a function of reducing the magnitude of the speed. Accordingly, the electronic device 100 may perform a general function and a safety function of monitoring or controlling the general function while operating in a safe state. A related embodiment will be described in detail with reference to FIG. 4 .

한편, 안전 기능은 전자 장치(100) 유형에 따라 국제 표준화 기구(International Organization for Standardization)에서 정한 규격에서 제시하는 안전 기능을 포함할 수 있다. 예를 들어, 전자 장치(100)가 개인 지원 로봇으로 구현된 경우, 안전 기능은 ISO 13482에서 제시하는 따라 비상 정지, 보호 정지, 안전 속력 제어, 위험 충돌 회피, 작업 공간 제한, 안전 출력 제어, 안정성 제어 기능을 포함할 수 있다. 다만, 이는 일 실시예에 불과하며, 일반 기능이 전자 장치의 업데이트에 따라 추가될 경우, 안전 기능 역시 추가된 일반 기능을 모니터링 및 제어하는 기능으로 추가될 수 있으며, 사용자에 의해 새롭게 추가될 수 있음은 물론이다.Meanwhile, the safety function may include a safety function suggested by a standard set by the International Organization for Standardization according to the type of the electronic device 100 . For example, when the electronic device 100 is implemented as a personal assistance robot, the safety functions include emergency stop, protective stop, safe speed control, hazardous collision avoidance, work space limitation, safety output control, stability according to ISO 13482. Control functions may be included. However, this is only an embodiment, and when a general function is added according to an update of the electronic device, the safety function may also be added as a function for monitoring and controlling the added general function, and may be newly added by the user. is of course

안전 상태는 전자 장치(100)가 일반 기능 및 안전 기능을 수행하지 않고 기정의된 동작을 수행하는 상태를 의미한다. 예를 들어, 안전 상태로 동작하는 경우, 전자 장치(100)는 현재 수행하고 있는 일반 기능 및 안전 기능을 정지하거나, 전자 장치(100)의 전원을 차단하거나, 사용자에게 안전 기능이 정상적으로 동작하지 않을 수 있다는 메시지를 제공할 수 있다. 전자 장치(100)가 일반 상태에서 안전 상태로 동작 상태를 전환하기 위한 조건 및 전자 장치(100)가 안전 상태에서 수행하는 동작과 관련된 실시예는 후술하는 부분에서 구체적으로 설명하도록 한다.The safe state refers to a state in which the electronic device 100 performs a predefined operation without performing a general function and a safety function. For example, when operating in a safe state, the electronic device 100 stops the currently performed general function and safety function, cuts off the power of the electronic device 100, or prevents the user from operating the safety function normally. You can provide a message that you can. Embodiments related to the conditions for the electronic device 100 to change the operating state from the normal state to the safe state and the operation performed by the electronic device 100 in the safe state will be described in detail later.

도 1의 전자 장치(100)의 프로세서(120)에는 복수의 코어(core)를 포함할 수 있으며, 복수의 코어 중 적어도 하나는 안전 기능에 대응되는 인스트럭션만을 실행하도록 설정된 전용 코어일 수 있다. 그리고, 전자 장치(100)는 전용 코어에서 안전 기능과 상이한 기능의 인스트럭션이 실행되는지 여부를 모니터링할 수 있다. 전용 코어에서 안전 기능과 상이한 기능에 대응되는 인스트럭션을 실행하고 있는 것으로 식별되면, 전자 장치(100)는 동작 상태를 일반 상태에서 안전 상태로 전환할 수 있다.The processor 120 of the electronic device 100 of FIG. 1 may include a plurality of cores, and at least one of the plurality of cores may be a dedicated core set to execute only an instruction corresponding to a safety function. In addition, the electronic device 100 may monitor whether an instruction having a function different from the safety function is executed in the dedicated core. When it is identified that the dedicated core is executing an instruction corresponding to a function different from the safety function, the electronic device 100 may change the operation state from the normal state to the safe state.

한편, 본 개시의 전자 장치(100)는 이동 로봇으로 구현될 수 있으며, 이동 로봇의 전반적인 동작을 제어할 수 있는 제어 시스템으로도 구현될 수 있다. 다만, 이는 일 실시예에 불과하며, 전자 장치(100)는 운송 장치에 장착되어 운송 장치의 동작을 제어할 수 있는 장치로 구현될 수 있다. 예를 들어, 전자 장치(100)가 운송 기기를 제어하는 운송 기기의 일부인 경우, 전자 장치(100)는, 예로, ADAS(Advanced Driver Assist System)와 같은 첨단 운전 보조 시스템일 수도 있고, 시스템의 일부일 수도 있다. 또는, 전자 장치(100)는, 예로, 운송 장치의 운행과 관련된 다양한 기능 등을 전자적으로 제어하는 ECU(Electronic Control Unit)와 같은 전자 제어 장치일 수도 있고, 상기 장치 일부일 수도 있다.Meanwhile, the electronic device 100 of the present disclosure may be implemented as a mobile robot or a control system capable of controlling the overall operation of the mobile robot. However, this is only an embodiment, and the electronic device 100 may be implemented as a device mounted on a transport device to control the operation of the transport device. For example, when the electronic device 100 is a part of a transport device that controls the transport device, the electronic device 100 may be, for example, an advanced driving assistance system such as an Advanced Driver Assist System (ADAS), or a part of the system. may be Alternatively, the electronic device 100 may be, for example, an electronic control device such as an Electronic Control Unit (ECU) that electronically controls various functions related to the operation of the transportation device, or may be a part of the device.

또 다른 실시예로, 전자 장치(100)가 운송 장치에 장착되는 외부 장치인 경우, 전자 장치(100)는 예로, 차량용 커넥터(예: OBD 단자 또는 OBD 커넥터 등)에 연결되는 자기 진단 기기(on board diagnostics, OBD), 네비게이션 등과 같은 운전 보조 장치가 될 수 있으며, 또는 이들의 일부가 될 수도 있다. 한편, 본 개시에서, 운송 장치는 사람이 탑승하거나 또는 화물이 적재되어 이동할 수 있는 장치가 될 수 있으며, 예로, 차량, 비행기, 오토바이, 선박 또는 기차 등을 포함할 수 있다.In another embodiment, when the electronic device 100 is an external device mounted on a transportation device, the electronic device 100 is, for example, a self-diagnostic device (on) connected to a vehicle connector (eg, an OBD terminal or an OBD connector). board diagnostics, OBD), driving assistance devices such as navigation, etc., or may be part of them. On the other hand, in the present disclosure, the transport device may be a device on which a person is boarded or a cargo is loaded, and may include, for example, a vehicle, an airplane, a motorcycle, a ship or a train.

그리고, 또 다른 실시예로, 전자 장치(100)는 휴대 단말 장치인 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), 모바일 의료기기, 카메라(camera), 사물 인터넷 장치(internet of things) 또는 웨어러블 장치(wearable device)가 될 수 있으며, 이들의 일부가 될 수도 있다.And, as another embodiment, the electronic device 100 is a mobile terminal device such as a smartphone, a tablet personal computer, a mobile phone, a video phone, and an e-book reader. ), desktop personal computer, laptop personal computer, netbook computer, personal digital assistant, mobile medical device, camera, internet of things, or It may be a wearable device, or it may be a part of them.

이하에서는, 도 1의 각 구성을 기준으로 상술한 동작을 도면을 참조하여 보다 구체적으로 설명한다. 도 1은 본 개시의 일 실시예에 따른, 전자 장치(100)의 동작 및 구성을 설명하기 위한 도면이다. 도 1에 도시된 바와 같이, 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함할 수 있다. 다만, 도 1에 도시된 구성은 본 개시의 실시 예들을 구현하기 위한 예시도이며, 통상의 기술자에게 자명한 수준의 적절한 하드웨어 및 소프트웨어 구성들이 전자 장치(100)에 추가로 포함될 수 있다.Hereinafter, the above-described operation based on each configuration of FIG. 1 will be described in more detail with reference to the drawings. 1 is a diagram for describing an operation and configuration of an electronic device 100 according to an embodiment of the present disclosure. 1 , the electronic device 100 may include a memory 110 and a processor 120 . However, the configuration shown in FIG. 1 is an exemplary diagram for implementing embodiments of the present disclosure, and appropriate hardware and software configurations at a level obvious to those skilled in the art may be additionally included in the electronic device 100 .

메모리(110)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 그리고, 메모리(110)는 프로세서(120)에 의해 액세스되며, 프로세서(120)에 의한 데이터의 판독(readout)/기록/삭제/갱신 등이 수행될 수 있다. The memory 110 may store commands or data related to at least one other component of the electronic device 100 . In addition, the memory 110 is accessed by the processor 120 , and data readout/writing/deletion/update by the processor 120 may be performed.

특히, 메모리(110)는 프로세서(120)에 포함된 복수의 코어(core)에서 실행될 복수의 인스트럭션 집합(instruction set) 및 학습된 신경망 모델(20)을 저장할 수 있다. 비휘발성 메모리에 저장되어 있는 복수의 인스트럭션 집합 및 학습된 신경망 모델(20)은 프로세서(120) 제어에 의해 휘발성 메모리로 로딩될 수 있다. 그리고, 프로세서(120)에 포함된 코어는 휘발성 메모리로 로딩된 복수의 인스트럭션을 실행할 수 있다. 그리고, 휘발성 메모리(120)로 로딩된 학습된 신경망 모델(120)은 전용 코어에서 실행되는 인스트럭션을 모니터링할 수 있다. 한편, 로딩(loading)이란 프로세서(120)가 액세스할 수 있도록 비휘발성 메모리에 저장된 데이터를 휘발성 메모리에 불러들여 저장하는 동작을 의미한다.In particular, the memory 110 may store a plurality of instruction sets to be executed by a plurality of cores included in the processor 120 and the learned neural network model 20 . The plurality of instruction sets and the learned neural network model 20 stored in the non-volatile memory may be loaded into the volatile memory under the control of the processor 120 . In addition, the core included in the processor 120 may execute a plurality of instructions loaded into the volatile memory. In addition, the learned neural network model 120 loaded into the volatile memory 120 may monitor instructions executed in the dedicated core. Meanwhile, loading refers to an operation of loading and storing data stored in the non-volatile memory into the volatile memory so that the processor 120 can access it.

한편, 인스트럭션은 프로그램 작성 언어에서 프로세서(120)가 직접 실행할 수 있는 하나의 동작 문장(action statement)을 의미하며, 프로그램의 실행 또는 동작에 대한 최소 단위이다. 인스트럭션은 명령 코드(또는, 연산자)(opcode) 및 피연산자(또는, 인자)(operand)로 구성되어 있다. 명령 코드는 인스트럭션에 대응되는 동작의 유형을 나타낼 수 있으며 피연산자는 명령 코드의 연산 대상이 되는 대상으로 데이터 또는 데이터가 저장되어 있는 메모리(110) 또는 레지스터(register)의 주소(address)에 대한 정보로 구성될 수 있다.Meanwhile, an instruction means one action statement that the processor 120 can directly execute in a program writing language, and is a minimum unit for program execution or operation. An instruction consists of an instruction code (or operator) (opcode) and an operand (or argument) (operand). The command code may indicate the type of operation corresponding to the instruction, and the operand is the target of the operation of the command code, and is information about the address of the memory 110 or register in which data or data is stored. can be configured.

메모리(110)에 저장되어 있는 복수의 인스트럭션 집합에는 복수의 안전 기능에 대응되는 인스트럭션과 안전 기능과 상이한 일반 기능에 대응되는 인스트럭션이 포함될 수 있다. The plurality of instruction sets stored in the memory 110 may include instructions corresponding to a plurality of safety functions and instructions corresponding to general functions different from the safety functions.

학습된 신경망 모델(20)은, 프로세서(120) 제어에 의해, 프로세서(120)에 포함된 복수의 코어 중 안전 기능에 대응되는 인스트럭션만을 실행하기로 설정된 전용 코어에서 실행되는 인스트럭션이 안전 기능에 대응되는 인스트럭션인지 여부를 모니터링 및 식별하도록 학습된 인공 지능 모델이다. 예를 들어, 도 1를 참조할 때, 제1 코어(10-1) 및 제2 코어(10-2)가 안전 기능에 대응되는 인스트럭션만을 실행하기로 설정된 전용 코어인 경우, 학습된 신경망 모델(20)은 전용 코어(10-1, 10-2)에서 실행되고 있는 인스트럭션을 모니터링할 수 있다. 구체적으로, 제1 코어(10-1) 및 제2 코어(10-2)에서 실행되는 인스트럭션이 입력되면, 학습된 신경망 모델(20)은 입력된 인스트럭션이 각 코어에서 실행되기로 설정된 안전 기능에 대응되는 인스트럭션인지 여부를 식별할 수 있다. 학습된 신경망 모델이 전용 코어(10-1, 10-2)에서 실행되는 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션인지 여부를 모니터링하는 과정은 도 3을 참조하여 구체적으로 설명하도록 한다.In the learned neural network model 20, an instruction executed in a dedicated core set to execute only an instruction corresponding to a safety function among a plurality of cores included in the processor 120 by the control of the processor 120 corresponds to the safety function An artificial intelligence model that has been trained to monitor and identify whether an instruction is For example, referring to FIG. 1 , when the first core 10-1 and the second core 10-2 are dedicated cores set to execute only instructions corresponding to the safety function, the trained neural network model ( 20) may monitor instructions being executed in the dedicated cores 10-1 and 10-2. Specifically, when an instruction to be executed in the first core 10-1 and the second core 10-2 is input, the learned neural network model 20 responds to the safety function in which the input instruction is set to be executed in each core. Whether it is a corresponding instruction can be identified. A process in which the learned neural network model monitors whether an instruction executed in the dedicated cores 10-1 and 10-2 is an instruction corresponding to a function different from the safety function will be described in detail with reference to FIG. 3 .

그리고, 도 1에는 학습된 신경망 모델(20)이 한 개로 구현되어 있으나 이는 일 실시예에 불과하며, 전용 코어 개수에 따라 학습된 신경망 모델(20)의 개수도 결정될 수 있다. 예를 들어, 전용 코어가 2개인 경우, 학습된 신경망 모델은 각 전용 코어에서 실행되는 인스트럭션을 모니터링할 수 있도록 2개로 구성될 수 있다. 즉, 도 1에 도시된 바와 같이, 하나의 학습된 신경망 모델(20)이 복수의 전용 코어(10-1, 10-2)에서 실행되는 인스트럭션을 동시에 모니터링할 수 있으나, 복수의 학습된 신경망 모델이 복수의 전용 코어를 하나씩 전담하여 각 전용 코에서 실행되는 인스트럭션을 모니터링할 수 있다.In addition, although one trained neural network model 20 is implemented in FIG. 1 , this is only an example, and the number of learned neural network models 20 may also be determined according to the number of dedicated cores. For example, if there are two dedicated cores, the trained neural network model may be configured with two to monitor the instructions executed on each dedicated core. That is, as shown in FIG. 1 , one trained neural network model 20 can simultaneously monitor instructions executed in a plurality of dedicated cores 10-1 and 10-2, but a plurality of learned neural network models By dedicating these multiple dedicated cores one by one, it is possible to monitor the instructions executed on each dedicated core.

학습된 신경망 모델(20)은 비휘발성 메모리에 저장되어 있다가 프로세서(120) 제어에 의해 휘발성 메모리에 로딩될 수 있다. 일 실시예로, 전자 장치(100)의 전원이 온(on)되면, 신경망 모델(20)은 프로세서(120) 제어에 의해 전원이 오프(off)될 때까지 휘발성 메모리에 로딩되어 있을 수 있다. 즉, 전자 장치(100)의 전원이 온 되어 있을 때는 항상 학습된 신경망 모델(20)이 휘발성 메모리에 로딩되어 있을 수 있다. The learned neural network model 20 may be stored in the non-volatile memory and then loaded into the volatile memory under the control of the processor 120 . As an embodiment, when the power of the electronic device 100 is turned on, the neural network model 20 may be loaded in the volatile memory until the power is turned off by the control of the processor 120 . That is, when the power of the electronic device 100 is turned on, the learned neural network model 20 may be loaded into the volatile memory.

또 다른 실시예로, 전자 장치(100)가 기정의된 동작을 수행하는 경우, 프로세서(120)는 신경망 모델(20)을 휘발성 메모리에 로딩할 수 있다. 즉, 전자 장치(100)가 기정의된 동작을 수행하는 경우에만 프로세서(120)가 신경망 모델을 휘발성 메모리로 로딩함으로써, 프로세서(120)의 사용률(usage)을 감소시킬 수 있다. 신경망 모델(20)을 휘발성 메모리에 로딩할 수 있는 동작은 전자 장치(100)의 사용자 명령에 의해 정의될 수 있다. 즉, 프로세서(120)는 특정 동작을 수행할 때, 신경망 모델(20)을 휘발성 메모리로 로딩하라는 사용자 명령을 키보드, 터치 센서, 마이크 등으로 구현된 입력부를 통해 입력받을 수 있다. 따라서, 전자 장치(100)가 사용자 명령에 의해 정의된 동작을 수행하는 경우, 프로세서(120)는 신경망 모델(20)을 휘발성 메모리에 로딩할 수 있다.As another embodiment, when the electronic device 100 performs a predefined operation, the processor 120 may load the neural network model 20 into the volatile memory. That is, the processor 120 loads the neural network model into the volatile memory only when the electronic device 100 performs a predefined operation, thereby reducing the usage of the processor 120 . An operation for loading the neural network model 20 into the volatile memory may be defined by a user command of the electronic device 100 . That is, when performing a specific operation, the processor 120 may receive a user command to load the neural network model 20 into the volatile memory through an input unit implemented as a keyboard, a touch sensor, a microphone, or the like. Accordingly, when the electronic device 100 performs an operation defined by a user command, the processor 120 may load the neural network model 20 into the volatile memory.

예를 들어, 프로세서(120)는 사용자로부터 전자 장치(100)가 정지해있다가 이동하는 동작을 수행할 때, 신경망 모델(20)을 휘발성 메모리로 로딩하라는 명령을 키보드 또는 터치 센서를 통해 입력받을 수 있다. 그 후, 전자 장치(100)가 정지해있다가 이동하는 동작을 수행하면, 프로세서(120)는 비휘발성 메모리에 저장되어 있는 학습된 신경망 모델(20)을 휘발성 메모리에 로딩할 수 있다. 그리고, 프로세서(120)가 다양한 장치로 구현될 수 있는 입력부를 통해 입력받는 사용자 명령에 의해 기정의된 동작은 추가/삭제/수정될 수 있음은 물론이다.For example, the processor 120 may receive a command to load the neural network model 20 into the volatile memory through a keyboard or a touch sensor when the electronic device 100 is stopped and then moves from the user. can Thereafter, when the electronic device 100 performs an operation of moving after being stopped, the processor 120 may load the learned neural network model 20 stored in the non-volatile memory into the volatile memory. And, it goes without saying that operations defined by a user command received by the processor 120 through an input unit that may be implemented in various devices may be added/deleted/modified.

한편, 비휘발성 메모리는 전력 공급이 중단되더라도 저장된 정보를 유지할 수 있는 메모리(예를 들어, 플래시 메모리(Flash Memory), PROM(Programmable Read-Only Memory), MRAM(Magnetoresistive Random-Access Memory) 및 RRAM(Resistive RAM))를 말한다. 그리고, 휘발성 메모리(110)는 저장된 정보를 유지하기 위해서는 지속적인 전력 공급이 필요한 메모리(예를 들어, DRAM(Dynamic Random-Access Memory) 및 SRAM(Static RAM))를 말한다.On the other hand, non-volatile memory is a memory capable of retaining stored information even when power supply is interrupted (for example, flash memory, programmable read-only memory (PROM), magnetoresistive random-access memory (MRAM), and RRAM ( Resistive RAM)). In addition, the volatile memory 110 refers to a memory (eg, dynamic random-access memory (DRAM) and static RAM (SRAM)) that requires continuous power supply in order to maintain stored information.

도 1은 휘발성 메모리가 프로세서(120)의 일 구성요소로 프로세서(120)에 포함된 실시예를 도시한 것이나, 휘발성 메모리는 프로세서(120)와 별개의 구성 요소로도 구현될 수 있다. 즉, 본 개시를 설명함에 있어서는 휘발성 메모리를 프로세서(120)의 일 구성 요소로 프로세서(120)에 포함된 형태인 경우를 전제로 설명할 것이지만, 이는 본 개시에 따른 전자 장치(100)의 동작을 명확하게 설명하기 위한 것일 뿐이며, 본 개시에 따른 휘발성 메모리는 프로세서(120)와 별개의 구성 요소로 구현될 수 있음은 물론이다.1 illustrates an embodiment in which the volatile memory is included in the processor 120 as one component of the processor 120 , the volatile memory may be implemented as a component separate from the processor 120 . That is, in the description of the present disclosure, it will be described on the assumption that the volatile memory is included in the processor 120 as one component of the processor 120 , but this describes the operation of the electronic device 100 according to the present disclosure. It is for clarity purposes only, and it goes without saying that the volatile memory according to the present disclosure may be implemented as a component separate from the processor 120 .

프로세서(120)는 메모리(120)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작을 제어할 수 있다. 본 개시를 설명함에 있어, 프로세서(120)는 하나 또는 복수의 프로세서로 구성될 수 있으며, CPU(Central Processing unit)과 같은 범용 프로세서로 구현될 수 있다. 다만, 이는 일 실시예에 불과하며, 프로세서(120)는 GPU(graphics-processing Unit), VPU (Visual Processing Unit) 등과 같은 그래픽 전용 프로세서 또는 NPU(Neural Processing Unit)와 같은 인공지능 전용 프로세서로 구현될 수 있음은 물론이다.The processor 120 may be electrically connected to the memory 120 to control the overall operation of the electronic device 100 . In describing the present disclosure, the processor 120 may include one or a plurality of processors, and may be implemented as a general-purpose processor such as a central processing unit (CPU). However, this is only an embodiment, and the processor 120 may be implemented as a graphics-only processor such as a graphics-processing unit (GPU), a visual processing unit (VPU), or an artificial intelligence-only processor such as a neural processing unit (NPU). Of course you can.

특히, 프로세서(120)는 복수의 코어(10-1,10-2,10-3,10-4)를 포함할 수 있다. 구체적으로, 복수의 코어는 프로세서(120) 내의 다이(die)(10) 상에 포함될 수 있다. 코어는 프로세서(120) 내에서 인스트럭션의 실행 등 각종 연산을 수행하는 핵심 처리 회로를 포함하는 구성 요소일 수 있다. 도 1에는 하나의 다이(10)에 복수의 코어가 포함된 것으로 도시되어 있으나 이는 일 실시예에 불과하며 다이는 복수 개 존재할 수 있다. 그리고, 다이가 복수개 존재할 경우, 각 다이에 기설정된 개수의 코어가 포함될 수 있음은 물론이다.In particular, the processor 120 may include a plurality of cores 10 - 1 , 10 - 2 , 10 - 3 and 10 - 4 . Specifically, a plurality of cores may be included on a die 10 in the processor 120 . The core may be a component including a core processing circuit that performs various operations such as execution of instructions in the processor 120 . Although it is illustrated in FIG. 1 that a plurality of cores are included in one die 10 , this is only an exemplary embodiment and a plurality of die may exist. And, of course, when there are a plurality of dies, a predetermined number of cores may be included in each die.

한편, 도 1에 도시된 바와 같이, 프로세서(120) 내에 포함된 복수의 코어 중 제1 코어(10-1) 및 제2 코어(10-2)는 적어도 하나의 안전 기능만을 수행하도록 설정될 수 있다. 즉, 프로세서(120)에 포함된 코어 중 안전 기능만을 수행하도록 설정된 전용 코어인 제1 코어(10-1) 및 제2 코어(10-2)는 메모리(110)에 포함된 인스트럭션 집합 중 안전 기능에 대응되는 인스트럭션만을 실행할 수 있다. 다만, 도 1에 도시된 바와 같이 복수의 코어 중 2개의 코어가 안전 기능에 대응되는 인스트럭션을 실행하도록 설정될 수 있을뿐만 아니라 하나 또는 3개 이상의 코어가 안전 기능만을 수행하도록 설정될 수 있다. 그리고, 프로세서(120)에 포함된 코어가 인스트럭션을 실행하는 과정은 코어가 메모리(110)에 포함된 인스트럭션 집합 중 적어도 하나의 인스트럭션을 인출(fetch)하고, 인출된 인스트럭션을 디코딩(decoding)하는 과정을 포함할 수 있다.Meanwhile, as shown in FIG. 1 , among a plurality of cores included in the processor 120 , the first core 10-1 and the second core 10-2 may be set to perform only at least one safety function. have. That is, the first core 10 - 1 and the second core 10 - 2 , which are dedicated cores set to perform only the safety function among the cores included in the processor 120 , have a safety function among the instruction sets included in the memory 110 . Only instructions corresponding to . However, as shown in FIG. 1 , not only two cores among the plurality of cores may be set to execute an instruction corresponding to a safety function, but also one or three or more cores may be set to perform only a safety function. In addition, the process in which the core included in the processor 120 executes the instruction is a process in which the core fetches at least one instruction among the instruction set included in the memory 110 and decodes the fetched instruction. may include.

전자 장치(100)가 일반 상태(normal state)로 동작하는 동안, 제1 코어(10-1) 및 제2 코어(10-2)에서 적어도 하나의 인스트럭션이 실행되면, 프로세서(120)는 학습된 신경망 모델(20)을 통해 제1 코어(10-1) 및 제2 코어(10-2)에서 실행되는 적어도 하나의 인스트럭션이 안전 기능에 대응되는 인스트럭션인지 여부를 식별할 수 있다. 구체적으로, 전자 장치(100)가 일반 상태로 동작하면, 제1 코어(10-1) 및 제2 코어(10-2)는 메모리(120)에서 로딩된 안전 기능에 대응되는 인스트럭션을 실행할 수 있으며, 전용 코어를 제외한 나머지 코어(10-3, 10-4)에서는 메모리(120)에서 로딩된 일반 기능에 대응되는 인스트럭션을 실행할 수 있다. 이 때, 도 1에 도시된 바와 같이, 학습된 신경망 모델(20)은 제1 코어(10-1) 및 제2 코어(10-2)에서 실행되는 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션을 실행하고 있는지 여부를 모니터링 및 식별할 수 있다.When at least one instruction is executed in the first core 10-1 and the second core 10-2 while the electronic device 100 operates in a normal state, the processor 120 performs the learned Through the neural network model 20 , it may be identified whether at least one instruction executed in the first core 10 - 1 and the second core 10 - 2 is an instruction corresponding to a safety function. Specifically, when the electronic device 100 operates in a normal state, the first core 10-1 and the second core 10-2 may execute an instruction corresponding to the safety function loaded from the memory 120, , and the other cores 10 - 3 and 10 - 4 except for the dedicated core, an instruction corresponding to a general function loaded from the memory 120 may be executed. At this time, as shown in FIG. 1 , the trained neural network model 20 is an instruction in which the instructions executed in the first core 10-1 and the second core 10-2 correspond to a function different from the safety function. You can monitor and identify whether you are running or not.

한편, 프로세서(120)는 제1 코어(10-1) 및 제2 코어(10-2)에서 실행될 적어도 하나의 안전 기능에 대응되는 복수의 인스트럭션에 대한 정보(또는, 복수의 인스트럭션에 대한 컨텍스트(context))를 바탕으로 신경망 모델(20)을 학습시킬 수 있다. 예로, 복수의 인스트럭션에 대한 정보는 복수의 인스트럭션 각각의 명령 코드(opcode), 명령 코드(opcode)의 인자(operand) 및 복수의 인스트럭션 각각에 대응되는 레지스터(register)에 대한 정보 등을 포함할 수 있다. 복수의 인스트럭션 각각에 대응되는 레지스터에 대한 정보는 특정 인스트럭션이 실행되고 그 다음으로 실행될 수 있는 인스트럭션이 저장되어 있는 어드레스(address)를 포함하는 레지스터(program counter), 특정 인스트럭션이 저장되어 있는 레지스터의 값 또는 스택(stack) 정보 등을 포함할 수 있다. 스택은 데이터를 일시적으로 겹쳐 쌓아두었다가 필요할 때 프로세서(120)에 의해 액세스 되어 사용할 수 있도록 메모리(110) 또는 레지스터 일부를 할당하여 사용하는 임시 기억 장치를 의미한다. 한편, 지금까지는 신경망 모델(20)은 프로세서(120)에 의해 학습되는 실시예를 설명하였으나 이는 일 실시예에 불과하다. 즉, 신경망 모델(20)은 외부 장치 또는 외부 시스템을 통해 기학습된 모델일 수 있으며, 프로세서(120)가 외부 서버로부터 통신부를 통해 수신한 학습 데이터를 바탕으로도 학습될 수 있다.On the other hand, the processor 120 provides information on a plurality of instructions corresponding to at least one safety function to be executed in the first core 10-1 and the second core 10-2 (or a context for the plurality of instructions ( context)), the neural network model 20 can be trained. For example, the information about the plurality of instructions may include information about an instruction code (opcode) of each of the plurality of instructions, an operand of the instruction code (opcode), and information about a register corresponding to each of the plurality of instructions. have. The information on the register corresponding to each of the plurality of instructions includes a register including an address where a specific instruction is executed and an instruction that can be executed next is stored (program counter), and a value of a register in which a specific instruction is stored. Alternatively, it may include stack information and the like. The stack refers to a temporary storage device that temporarily stacks data and allocates a part of the memory 110 or registers so that it can be accessed and used by the processor 120 when necessary. Meanwhile, an embodiment in which the neural network model 20 is learned by the processor 120 has been described so far, but this is only an embodiment. That is, the neural network model 20 may be a model previously learned through an external device or an external system, and may also be learned based on the learning data received by the processor 120 from the external server through the communication unit.

한편, 학습된 신경망 모델(20)은, 프로세서(120) 제어에 의해, 안전 기능을 수행하도록 설정된 전용 코어(10-1, 10-2)에서 안전 기능에 대응되는 인스트럭션이 실행되는지 여부를 모니터링 및 식별할 수 있다. 구체적으로, 프로세서(120)는 제1 코어(10-1) 및 제2 코어(10-2)에서 실행되는 인스트럭션을 실시간으로 학습된 신경망 모델(20)에 입력할 수 있다. 그리고, 학습된 신경망 모델(20)은 입력된 인스트럭션이 전용 코어(10-1, 10-2)를 통해 실행될 안전 기능에 대응되는 인스트럭션인지 여부에 대한 정보를 출력할 수 있다. 예를 들어, 신경망 모델(20)은 전용 코어(10-1, 10-2)에서 실행되는 적어도 하나의 인스트럭션이 전용 코어(10-1, 10-2)에서 수행될 안전 기능에 대응되는 인스트럭션일 확률 값을 출력할 수 있다.On the other hand, the learned neural network model 20 monitors whether an instruction corresponding to the safety function is executed in the dedicated cores 10-1 and 10-2 set to perform the safety function under the control of the processor 120, and can be identified. Specifically, the processor 120 may input instructions executed in the first core 10 - 1 and the second core 10 - 2 to the neural network model 20 learned in real time. In addition, the learned neural network model 20 may output information on whether the input instruction is an instruction corresponding to a safety function to be executed through the dedicated cores 10-1 and 10-2. For example, in the neural network model 20, at least one instruction executed in the dedicated cores 10-1 and 10-2 is an instruction corresponding to a safety function to be performed in the dedicated cores 10-1 and 10-2. Probability values can be output.

일 실시예로, 획득된 확률 값이 임계 범위 이하인 경우, 프로세서(120)는 전용 코어(10-1, 10-2)에서 실행되는 인스트럭션은 안전 기능과 상이한 기능에 대응되는 인스트럭션으로 식별할 수 있다. 또 다른 실시예로, 획득된 확률이 임계 범위를 초과하는 경우, 프로세서(120)는 전용 코어(10-1, 10-2)에서 실행되는 인스트럭션은 기존에 학습된 안전 기능에 대응되는 인스트럭션이라고 식별할 수 있다.In one embodiment, when the obtained probability value is less than or equal to the threshold range, the processor 120 may identify the instruction executed in the dedicated cores 10-1 and 10-2 as an instruction corresponding to a function different from the safety function. . In another embodiment, when the obtained probability exceeds the threshold range, the processor 120 identifies that the instruction executed in the dedicated cores 10-1 and 10-2 is an instruction corresponding to the previously learned safety function. can do.

한편, 프로세서(120)는 ANSI/ISA-S84.01과 IEC 61508에서 사용되는 안전 무결성 기준(Safety Integrity Level)에 따라 임계 범위를 결정할 수 있다. 예를 들어, 전용 코어(10-1, 10-2)에 의해 실행될 인스트럭션에 대응되는 안전 기능의 안전 무결성 기준이 높은 등급일수록, 프로세서(120)는 임계 범위를 높은 값으로 결정할 수 있다. 예를 들어, 전용 코어(10-1, 10-2)에서 실행될 인스트럭션에 대응되는 안전 기능 중 안전 무결성 기준 등급이 가장 큰 안전 기능의 등급이 SIL 3인 경우, 프로세서(120)는 안전 기능 중 안전 무결성 기준 등급이 가장 큰 안전 기능의 등급이 SIL 2인 경우보다 임계 범위를 높은 값으로 결정할 수 있다. 따라서, 전용 코어(10-1, 10-2)가 인스트럭션을 실행함으로써 수행될 안전 기능의 안전 무결성 기준이 높을수록 임계 범위를 높힘으로써, 프로세서(120)는 일반 기능에 대응되는 인스트럭션을 안전 기능에 대응되는 인스트럭션으로 잘못 판단할 확률을 감소시킬 수 있다. 다만, 이는 일 실시예에 불과하며, 임계 범위는 전자 장치(100)의 유형에 따라 기설정된 값일 수 있다. 또한, 임계 범위를 사용자 명령에 의해 변경할 수 있음은 물론이다.On the other hand, the processor 120 may determine the critical range according to the safety integrity standard (Safety Integrity Level) used in ANSI/ISA-S84.01 and IEC 61508. For example, as the safety integrity criterion of the safety function corresponding to the instruction to be executed by the dedicated cores 10 - 1 and 10 - 2 is higher, the processor 120 may determine the critical range as a high value. For example, if the safety function with the highest safety integrity standard level among safety functions corresponding to the instruction to be executed in the dedicated cores 10-1 and 10-2 is SIL 3, the processor 120 is a safety function among the safety functions. The critical range can be determined as a higher value than when the safety function with the highest integrity criterion is rated SIL 2. Accordingly, by increasing the critical range as the safety integrity standard of the safety function to be performed by the dedicated cores 10-1 and 10-2 executing the instruction is higher, the processor 120 assigns the instruction corresponding to the general function to the safety function. It is possible to reduce the probability of erroneous judgment with the corresponding instruction. However, this is only an example, and the threshold range may be a preset value according to the type of the electronic device 100 . Also, it goes without saying that the threshold range can be changed by a user command.

그리고, 프로세서(120)는 식별 결과에 기초하여 전자 장치(100)의 동작 상태를 안전 상태 또는 일반 상태 중 하나로 결정할 수 있다. 구체적으로, 적어도 하나의 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션이라고 식별되면, 프로세서(120)는 전자 장치(100)의 동작 상태를 일반 상태에서 안전 상태(safe state)로 전환할 수 있다. 전자 장치(100)의 상태가 안전 상태로 전환되면, 프로세서(120)는 적어도 하나의 코어에 안전 기능과 상이한 일반 기능에 대응되는 인스트럭션이 식별되었음을 나타내는 메시지를 제공할 수 있다. 예를 들어, 프로세서(120)는 메모리(110)에 기등록된 사용자의 단말 장치로 일반 기능에 대응되는 인스트럭션이 식별되었다는 메시지를 전송하도록 통신부를 제어할 수 있다. 또 다른 예로, 프로세서(120)는 일반 기능에 대응되는 인스트럭션이 식별되었다는 메시지를 표시하도록 디스플레이를 제어하거나, 메시지를 음성 형태로 출력할 수 있다.In addition, the processor 120 may determine the operating state of the electronic device 100 as either a safe state or a normal state based on the identification result. Specifically, when it is identified that the at least one instruction is an instruction corresponding to a function different from the safety function, the processor 120 may change the operating state of the electronic device 100 from the normal state to the safe state. When the state of the electronic device 100 is switched to the safe state, the processor 120 may provide a message indicating that an instruction corresponding to a general function different from the safety function is identified to at least one core. For example, the processor 120 may control the communication unit to transmit a message indicating that an instruction corresponding to a general function is identified to the terminal device of the user previously registered in the memory 110 . As another example, the processor 120 may control the display to display a message indicating that an instruction corresponding to a general function is identified, or may output the message in a voice form.

또 다른 예로, 전자 장치(100)의 동작 상태가 안전 상태로 전환되면, 프로세서(120)는 전자 장치(100)가 수행하는 일반 동작을 중지하거나 전자 장치(100)의 전원을 차단할 수 있다. 예를 들어, 전용 코어(10-1, 10-2)에서 안전 기능과 상이한 일반 기능에 대응되는 인스트럭션을 실행함으로써 전자 장치(100)가 일반 동작을 수행하게 된 경우, 프로세서(120)는 현재 전자 장치(100)가 수행하는 일반 동작을 중지시키거나 전원을 차단할 수 있다.As another example, when the operating state of the electronic device 100 is switched to the safe state, the processor 120 may stop a normal operation performed by the electronic device 100 or cut off the power of the electronic device 100 . For example, when the electronic device 100 performs a normal operation by executing an instruction corresponding to a general function different from the safety function in the dedicated cores 10-1 and 10-2, the processor 120 is the current electronic device. A normal operation performed by the device 100 may be stopped or power may be cut off.

한편, 전자 장치(100)의 상태가 안전 상태로 전환되는 경우, 프로세서(120)가 수행하도록 제어할 동작은 안전 무결성 기준에 의해 결정될 수 있다. 예를 들어, 전용 코어(10-1, 10-2)에서 실행될 안전 기능의 안전 무결성 기준 등급이 기설정된 등급 이하인 경우, 동작 상태가 안전 상태로 전환되면, 프로세서(120)는 일반 기능에 대응되는 인스트럭션이 식별되었다는 메시지만 제공하고, 일반 기능의 동작을 중지하거나 전자 장치(100)의 전원은 차단하는 동작은 수행하지 않도록 제어할 수 있다. 그리고, 전용 코어(10-1, 10-2)에서 실행될 안전 기능의 안전 무결성 기준이 기설정된 등급을 초과한 경우, 안전 상태로 전환되면, 프로세서(120)는 일반 기능에 대응되는 인스트럭션을 식별하였다는 메시지를 제공함과 동시에 전자 장치(100)가 수행하고 있는 일반 기능을 중지시키거나 전원을 차단하도록 제어할 수 있다. 다만, 이는 일 실시예에 불과하며, 안전 상태로 전환된 경우의 동작은 다양하게 구현될 수 있으며 사용자 명령에 의해 변경/추가/수정될 수 있음은 물론이다.Meanwhile, when the state of the electronic device 100 is switched to the safe state, an operation to be controlled by the processor 120 may be determined by the safety integrity criterion. For example, when the safety integrity standard level of the safety function to be executed in the dedicated cores 10-1 and 10-2 is less than or equal to a preset level, when the operating state is switched to the safe state, the processor 120 is configured to correspond to the general function. Only a message indicating that the instruction has been identified is provided, and an operation of stopping an operation of a general function or turning off the power of the electronic device 100 may be controlled not to be performed. In addition, when the safety integrity standard of the safety function to be executed in the dedicated cores 10-1 and 10-2 exceeds a preset grade, when the safety state is switched, the processor 120 identifies an instruction corresponding to the general function. may control to stop a general function being performed by the electronic device 100 or cut off power while providing a message. However, this is only an exemplary embodiment, and the operation when the safe state is switched may be implemented in various ways, and of course, may be changed/added/modified by a user command.

한편, 패키지 업데이트 등을 통해 전자 장치(100)의 각종 기능이 업데이트되면, 프로세서(120)는 메모리(110)에 저장된 전용 코어(10-1, 10-2)에서 실행될 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션인지 여부를 학습된 신경망(20)을 통해 식별할 수 있다. 패키지 업데이트 등을 통해 전자 장치(100)의 각종 기능이 업데이트 되면, 메모리(110)에 저장된 복수의 인스트럭션이 추가/수정/삭제될 수 있다. 이 때, 전용 코어(10-1, 10-2)에서 실행되기로 설정된 인스트럭션 중 일부에 안전 기능과 상이한 기능에 대응되는 인스트럭션이 포함될 수 있다. 따라서, 전자 장치의 각종 기능이 업데이트 되면, 프로세서(120)는 메모리(110)에 저장된 인스트럭션 중 전용 코어(10-1, 10-2)에서 실행될 인스트럭션이 안전 기능에 대응되는 인스트럭션인지 여부를 학습된 신경망 모델(20)을 통해 식별할 수 있다. 학습된 신경망 모델(20)을 통해 전용 코어(10-1, 10-2)에서 실행될 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션인지 여부를 식별하는 과정은 전술하였으므로 중복되는 설명은 생략하도록 한다.On the other hand, when various functions of the electronic device 100 are updated through package update or the like, the processor 120 determines that an instruction to be executed in the dedicated cores 10 - 1 and 10 - 2 stored in the memory 110 is different from the safety function. Whether it is an instruction corresponding to can be identified through the learned neural network 20 . When various functions of the electronic device 100 are updated through package update, a plurality of instructions stored in the memory 110 may be added/modified/deleted. In this case, some of the instructions set to be executed by the dedicated cores 10-1 and 10-2 may include instructions corresponding to functions different from the safety function. Accordingly, when various functions of the electronic device are updated, the processor 120 determines whether an instruction to be executed in the dedicated cores 10-1 and 10-2 among the instructions stored in the memory 110 is an instruction corresponding to the safety function. It can be identified through the neural network model 20 . Since the process of identifying whether the instruction to be executed in the dedicated cores 10-1 and 10-2 through the learned neural network model 20 is an instruction corresponding to a function different from the safety function has been described above, the redundant description will be omitted.

그리고, 메모리(110)에 저장된 전용 코어(10-1, 10-2)에서 실행될 인스트럭션 중 일부가 안전 기능과 상이한 기능에 대응되는 인스트럭션이라고 식별되면, 프로세서(120)는 동작 상태를 일반 상태에서 안전 상태로 전환할 수 있다. And, when it is identified that some of the instructions to be executed in the dedicated cores 10-1 and 10-2 stored in the memory 110 are instructions corresponding to a function different from the safety function, the processor 120 changes the operation state from the normal state to the safe state. state can be switched.

본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다. Functions related to artificial intelligence according to the present disclosure are operated through a processor and a memory. The processor may consist of one or a plurality of processors. In this case, one or more processors may be a general-purpose processor such as a CPU, an AP, a digital signal processor (DSP), or the like, a graphics-only processor such as a GPU, a VPU (Vision Processing Unit), or an artificial intelligence-only processor such as an NPU. One or a plurality of processors control to process input data according to a predefined operation rule or artificial intelligence model stored in the memory. Alternatively, when one or more processors are AI-only processors, the AI-only processor may be designed with a hardware structure specialized for processing a specific AI model.

기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다. The predefined action rule or artificial intelligence model is characterized in that it is created through learning. Here, being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created means burden. Such learning may be performed in the device itself on which the artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and/or system. Examples of the learning algorithm include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.

인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다. The artificial intelligence model may be composed of a plurality of neural network layers. Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation is performed through an operation between an operation result of a previous layer and a plurality of weight values. The plurality of weights of the plurality of neural network layers may be optimized by the learning result of the artificial intelligence model. For example, a plurality of weights may be updated so that a loss value or a cost value obtained from the artificial intelligence model during the learning process is reduced or minimized. The artificial neural network may include a deep neural network (DNN), for example, a Convolutional Neural Network (CNN), a Deep Neural Network (DNN), a Recurrent Neural Network (RNN), a Restricted Boltzmann Machine (RBM), There may be a Deep Belief Network (DBN), a Bidirectional Recurrent Deep Neural Network (BRDNN), or a Deep Q-Networks, but is not limited to the above-described example.

도 2는 본 개시의 일 실시예에 따른, 전자 장치(100)의 동작을 설명하기 위한 순서도이다. 우선, 전자 장치(100)가 일반 상태로 동작하는 동안 프로세서(120)에 포함된 적어도 하나의 코어에서 적어도 하나의 인스트럭션이 실행될 수 있다(S210). 이 때, 적어도 하나의 코어는 안전 기능에 대응되는 인스트럭션만을 실행하도록 설정된 전용 코어일 수 있다. 그리고, 전자 장치(100)가 일반 상태로 동작하면, 적어도 하나의 코어에서 안전 기능에 대응되는 인스트럭션이 실행되는 동안 복수의 코어 중 적어도 하나의 코어를 제외한 나머지 코어에서는 일반 기능에 대응되는 인스트럭션을 실행할 수 있다.2 is a flowchart illustrating an operation of the electronic device 100 according to an embodiment of the present disclosure. First, while the electronic device 100 operates in a normal state, at least one instruction may be executed in at least one core included in the processor 120 ( S210 ). In this case, the at least one core may be a dedicated core configured to execute only instructions corresponding to the safety function. And, when the electronic device 100 operates in the normal state, while the instruction corresponding to the safety function is executed in at least one core, the other cores except for at least one core of the plurality of cores execute the instruction corresponding to the general function. can

그리고, 전자 장치(100)는 전용 코어에서 실행되는 인스트럭션이 안전 기능에 대응되는 인스트럭션일 확률을 획득할 수 있다(S220). 구체적으로, 전자 장치(100)는 전용 코어에서 실행되는 인스트럭션을 학습된 신경망 모델에 입력할 수 있다. 학습된 신경망 모델은 입력된 인스트럭션이 전용 코어에서 실행되기로 설정된 안전 기능에 대응되는 인스트럭션인지 여부를 확률 값을 통해 식별할 수 있다.Then, the electronic device 100 may obtain a probability that the instruction executed by the dedicated core is an instruction corresponding to the safety function (S220). Specifically, the electronic device 100 may input an instruction executed by a dedicated core to the learned neural network model. The learned neural network model may identify whether the input instruction is an instruction corresponding to a safety function set to be executed in the dedicated core through a probability value.

한편, 전자 장치(100)는 전용 코어에서 실행될 적어도 하나의 안전 기능에 대응되는 복수의 인스트럭션에 대한 정보를 바탕으로 신경망 모델을 학습시킬 수 있다. 이 때, 복수의 인스트럭션에 대한 정보(또는, 복수의 인스트럭션에 대한 컨텍스트 정보)는 복수의 인스트럭션 각각의 명령 코드, 명령 코드의 인자 및 복수의 인스트럭션 각각에 대응되는 레지스터에 대한 정보 등을 포함할 수 있다. 그리고, 전자 장치(100)에 의해 학습된 신경망 모델은 전용 코어에서 실행되는 인스트럭션 중 안전 기능에 대응되는 인스트럭션이 존재할 확률을 출력할 수 있다. 예를 들어, 현재 전용 코어에서 실행되는 인스트럭션의 패턴이 안전 기능에 대응되는 인스트럭션의 패턴과 상이할수록, 신경망 모델은 낮은 확률 값을 출력할 수 있다.Meanwhile, the electronic device 100 may train the neural network model based on information about a plurality of instructions corresponding to at least one safety function to be executed in the dedicated core. In this case, the information on the plurality of instructions (or context information on the plurality of instructions) may include an instruction code of each of the plurality of instructions, an argument of the instruction code, and information about a register corresponding to each of the plurality of instructions. have. In addition, the neural network model learned by the electronic device 100 may output a probability that an instruction corresponding to a safety function exists among instructions executed in the dedicated core. For example, as the pattern of the instruction currently executed in the dedicated core is different from the pattern of the instruction corresponding to the safety function, the neural network model may output a low probability value.

그리고, 전자 장치(100)는 학습된 신경망 모델이 출력한 확률 값이 임계 범위를 이하인지 여부를 식별할 수 있다(S230). 이 때, 전자 장치(100)는 ANSI/ISA-S84.01과 IEC 61508에서 사용되는 안전 무결성 기준에 따라 임계 범위를 결정할 수 있다. 예를 들어, 전용 코어(10-1, 10-2)에 의해 실행될 인스트럭션에 대응되는 안전 기능의 안전 무결성 기준이 높은 등급일수록, 전자 장치(100)는 임계 범위를 높은 값으로 결정할 수 있다. 따라서, 전용 코어(10-1, 10-2)가 인스트럭션을 실행함으로써 수행될 안전 기능의 안전 무결성 기준이 높을수록 임계 범위를 높힘으로써, 전자 장치(100)는 일반 기능에 대응되는 인스트럭션을 안전 기능에 대응되는 인스트럭션으로 잘못 판단할 확률을 감소시킬 수 있다.Then, the electronic device 100 may identify whether the probability value output by the learned neural network model is less than or equal to a threshold range ( S230 ). In this case, the electronic device 100 may determine the critical range according to the safety integrity standards used in ANSI/ISA-S84.01 and IEC 61508. For example, as the safety integrity standard of the safety function corresponding to the instruction to be executed by the dedicated cores 10 - 1 and 10 - 2 is higher, the electronic device 100 may determine the critical range as a high value. Accordingly, by increasing the critical range as the safety integrity standard of the safety function to be performed by the dedicated cores 10-1 and 10-2 is higher, the electronic device 100 converts the instruction corresponding to the general function to the safety function. It is possible to reduce the probability of erroneous judgment with the instruction corresponding to .

일 실시예로, 확률 값이 임계 범위를 초과한다는 것은 전용 코어에서 실행되는 인스트럭션이 안전 기능에 대응되는 인스트럭션일 확률이 높다는 것을 의미할 수 있다. 따라서, 신경망 모델이 출력한 확률 값이 임계 범위를 초과한 경우, 전자 장치(100)는 일반 상태로 동작함으로써 일반 기능 및 안전 기능을 수행할 수 있다. In one embodiment, the probability value exceeding the threshold range may mean that the instruction executed in the dedicated core has a high probability of being an instruction corresponding to a safety function. Accordingly, when the probability value output by the neural network model exceeds the threshold range, the electronic device 100 operates in a normal state to perform a normal function and a safety function.

또 다른 실시예로, 확률 값이 임계 범위 이하라는 것은 전용 코어에서 실행되는 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션일 확률이 높다는 것을 의미할 수 있다. 따라서, 신경망 모델이 출력한 확률 값이 임계 범위 이하인 경우, 전자 장치(100)는 동작 상태를 일반 상태에서 안전 상태로 전환할 수 있다(S240). 안전 상태로 전환되면, 전자 장치(100)는 현재 수행하고 있는 일반 동작 또는 안전 동작을 중지하거나, 전자 장치(100)의 전원을 차단하도록 제어할 수 있다. 또 다른 예로, 전자 장치(100)는 전용 코어에서 안전 기능과 상이한 기능에 대응되는 인스트럭션이 실행되었다는 메시지를 제공할 수 있다. 이 때, 전자 장치(100)는 메시지를 음성 형태의 메시지로 출력하거나 메시지를 표시할 수 있다. 그리고, 전자 장치(100)는 메시지에 대응되는 알림음을 출력할 수 있다.As another embodiment, if the probability value is less than or equal to the critical range, it may mean that there is a high probability that the instruction executed in the dedicated core is an instruction corresponding to a function different from the safety function. Accordingly, when the probability value output by the neural network model is less than or equal to the threshold range, the electronic device 100 may change the operation state from the normal state to the safe state ( S240 ). When the electronic device 100 is switched to the safe state, the electronic device 100 may control to stop the current normal operation or the safe operation or to cut off the power of the electronic device 100 . As another example, the electronic device 100 may provide a message indicating that an instruction corresponding to a function different from the safety function is executed in the dedicated core. In this case, the electronic device 100 may output the message as a voice message or display the message. In addition, the electronic device 100 may output a notification sound corresponding to the message.

도 3은 본 개시의 일 실시예에 따른, 전자 장치(100)의 학습된 신경망 모델을 통해 전용 코어에서 실행되는 인스트럭션이 안정 기능과 상이한 기능에 대응되는 인스트럭션인지 여부를 식별하는 과정을 설명하기 위한 도면이다.3 is for explaining a process of identifying whether an instruction executed in a dedicated core through a learned neural network model of the electronic device 100 is an instruction corresponding to a function different from a stable function, according to an embodiment of the present disclosure; It is a drawing.

본 개시의 일 실시예로, 전자 장치(100)는 안전 기능만을 수행하도록 설정된 적어도 하나의 코어 중 제1 코어에서 실행되는 인스트럭션 집합(instruction set)(300)을 학습된 신경망 모델(20)에 입력할 수 있다. 학습된 신경망 모델(20)은 입력된 인스트럭션 집합에 포함된 인스트럭션의 패턴과 제1 코어에서 실행되기로 설정된 안전 기능에 대응되는 인스트럭션의 패턴을 비교할 수 있다. 그리고, 학습된 신경망 모델(20)은 인스트럭션 집합에 포함된 인스트럭션의 패턴과 안전 기능에 대응되는 인스트럭션의 패턴이 상이한지 여부를 바탕으로 확률 값을 출력할 수 있다. 이 때, 확률 값은 제1 코어에서 실행되는 인스트럭션 중 일부가 안전 기능에 대응되는 인스트럭션일 확률 값일 수 있다.As an embodiment of the present disclosure, the electronic device 100 inputs an instruction set 300 executed in a first core among at least one core set to only perform a safety function to the learned neural network model 20 . can do. The learned neural network model 20 may compare an instruction pattern included in the input instruction set with an instruction pattern corresponding to a safety function set to be executed in the first core. In addition, the learned neural network model 20 may output a probability value based on whether a pattern of instructions included in the instruction set is different from a pattern of instructions corresponding to a safety function. In this case, the probability value may be a probability value that some of the instructions executed in the first core are instructions corresponding to the safety function.

예를 들어, 도 3에 도시된 바와 같이, 복수의 인스트럭션 집합(300) 중 두 개의 인스트럭션(IMM R3, 0X4 및 STORE R0, R2)이 안전 기능에 대응되는 인스트럭션의 패턴과 상이하다고 식별할 경우, 학습된 신경망 모델(20)은 낮은 확률 값을 출력할 수 있다. 그리고, 확률 값이 임계 범위 이하인 경우, 학습된 신경망 모델(20)은 이상 패턴을 감지했다는 신호(320)를 출력할 수 있다. 이상 패턴을 감지했다는 신호가 출력되면, 전자 장치(100)는 동작 상태를 일반 상태에서 안전 상태로 전환할 수 있다.For example, as shown in FIG. 3 , when it is identified that two instructions (IMM R3, 0X4 and STORE R0, R2) among the plurality of instruction sets 300 are different from the pattern of instructions corresponding to the safety function, The learned neural network model 20 may output a low probability value. And, when the probability value is less than or equal to the threshold range, the learned neural network model 20 may output a signal 320 indicating that an abnormal pattern has been detected. When a signal indicating that the abnormal pattern is detected is output, the electronic device 100 may change the operation state from the normal state to the safe state.

한편, 또 다른 실시예로, 전자 장치(100)는 감지한 이상 패턴에 대한 정보를 전자 장치(100)를 관리하는 서버 또는 관리자의 장치에 전송할 수 있다. 그리고, 서버 또는 관리자의 장치로부터 전자 장치(100)가 감지한 이상 패턴이 문제없다는 신호를 수신하면, 전자 장치(100)는 동작 상태를 안전 상태에서 일반 상태로 전환할 수 있다. 또 다른 예로, 서버 또는 관리자의 장치로부터 감지한 이상 패턴과 관련된 문제를 해결할 수 있는 정보를 수신하면, 전자 장치(100)는 수신된 정보를 바탕으로 전용 코어에서 실행되는 인스트럭션이 안전 기능에 대응되는 인스트럭션이 되도록 메모리(110)에 저장된 복수의 인스트럭션 중 일부를 수정할 수 있다. 예를 들어, 전자 장치(100)는 이상 패턴을 감지하게 한 두 개의 인스트럭션(IMM R3, 0X4 및 STORE R0, R2)을 삭제 또는 수정할 수 있다.Meanwhile, as another embodiment, the electronic device 100 may transmit information on the detected abnormal pattern to a server managing the electronic device 100 or a device of a manager. In addition, when receiving a signal from the server or the manager's device indicating that there is no problem in the abnormal pattern detected by the electronic device 100 , the electronic device 100 may change the operation state from the safe state to the normal state. As another example, upon receiving information capable of resolving a problem related to a detected abnormal pattern from the device of the server or manager, the electronic device 100 determines that an instruction executed in a dedicated core corresponds to a safety function based on the received information. Some of the plurality of instructions stored in the memory 110 may be modified to become the instructions. For example, the electronic device 100 may delete or modify the two instructions (IMM R3, 0X4, and STORE R0, R2) for detecting an abnormal pattern.

도 4는 본 개시의 일 실시예에 따른, 전자 장치(100)의 동작을 설명하기 위한 도면이다. 도 4는 전자 장치(100)가 리테일 봇으로 구현된 경우를 도시하였으나 이는 일 실시예에 불과하며 다양한 장치로 구현될 수 있음은 물론이다.4 is a diagram for explaining an operation of the electronic device 100 according to an embodiment of the present disclosure. Although FIG. 4 illustrates a case in which the electronic device 100 is implemented as a retail bot, this is only an example and may be implemented in various devices.

리테일 봇으로 구현된 전자 장치(100)는 일반 상태로 동작하는 경우, 고객을 응대하는 메시지(400) 등을 제공하는 동시에 기정의된 일반 기능 및 안전 기능을 수행할 수 있다. 예를 들어, 일반 상태로 동작하는 동안, 전자 장치(100)가 수행하는 일반 기능은 전자 장치(100)의 속도를 조절하는 기능일 수 있다. 그리고, 전자 장치(100)의 속도를 조절하는 기능을 모니터링 또는 제어할 수 있는 안전 기능은 최고 속도 위반 모니터링 기능일 수 있다. 따라서, 전자 장치(100)는 이동 속도에 대응되는 일반 기능 및 안전 기능을 수행하면서 손님을 응대하는 메시지 또는 동작을 수행할 수 있다.When the electronic device 100 implemented as a retail bot operates in a normal state, it may provide a message 400 for responding to a customer and simultaneously perform a predefined general function and a safety function. For example, a general function performed by the electronic device 100 while operating in a normal state may be a function of adjusting the speed of the electronic device 100 . In addition, the safety function capable of monitoring or controlling the speed control function of the electronic device 100 may be the highest speed violation monitoring function. Accordingly, the electronic device 100 may perform a message or an operation to respond to a customer while performing a general function and a safety function corresponding to the moving speed.

한편, 외부 장치(예를 들어, 외부 서버, 기록 매체 등) 또는 사용자로부터 각종 기능을 업데이트하기 위한 명령 또는 신호가 수신되면, 전자 장치(100)는 일반 기능 또는 안전 기능을 업데이트할 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 외부 장치로부터 수신된 속도 조절 기능에 대한 업데이트 정보를 수신하면, 전자 장치(100)는 신규 센서를 이용한 속도 조절 기능을 추가(410)할 수 있다. 한편, 각종 일반 기능이 업데이트되더라도 안전 기능에 대응되는 인스트럭션만을 실행하도록 설정된 전용 코어가 실행하는 인스트럭션에는 영향이 미치지 않아야 한다. 즉, 일반 기능에 대한 업데이트가 안전 기능에 영향을 미치지 않은 경우, 전자 장치(100)는 안전 기능을 정상적으로 수행할 수 있다는 것을 보장할 수 있다. Meanwhile, when a command or signal for updating various functions is received from an external device (eg, an external server, a recording medium, etc.) or a user, the electronic device 100 may update a general function or a safety function. For example, as shown in FIG. 4 , upon receiving update information on the speed control function received from the external device, the electronic device 100 may add a speed control function using a new sensor ( 410 ). Meanwhile, even if various general functions are updated, instructions executed by the dedicated core set to execute only instructions corresponding to the safety function should not be affected. That is, when the update of the general function does not affect the safety function, the electronic device 100 may guarantee that the safety function can be normally performed.

따라서, 전자 장치(100)는 복수의 코어 중 안전 기능만을 수행하도록 설정된 전용 코어에서 실행될 인스트럭션을 모니터링할 수 있다. 구체적으로, 전자 장치(100)는 전용 코어에서 실행될 인스트럭션이 안전 기능에 대응되는 인스트럭션인지 여부를 식별할 수 있다. 예를 들어, 전자 장치(100)는 전용 코어에서 실행될 인스트럭션의 패턴과 안전 기능에 대응되는 인스트럭션의 패턴을 비교함으로써 확률 값을 획득할 수 있다. 이 때, 확률 값은 전용 코어에서 실행되는 인스트럭션이 안전 기능에 대응되는 인스트럭션일 확률 값일 수 있다. 획득한 확률 값이 임계 범위 이하인 경우, 전자 장치(100)는 전용 코어에서 실행될 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션이라고 식별할 수 있다.Accordingly, the electronic device 100 may monitor an instruction to be executed in a dedicated core set to perform only a safety function among a plurality of cores. Specifically, the electronic device 100 may identify whether an instruction to be executed by the dedicated core is an instruction corresponding to a safety function. For example, the electronic device 100 may obtain a probability value by comparing a pattern of an instruction to be executed in the dedicated core with a pattern of an instruction corresponding to a safety function. In this case, the probability value may be a probability value that the instruction executed in the dedicated core is an instruction corresponding to the safety function. When the obtained probability value is less than or equal to the threshold range, the electronic device 100 may identify the instruction to be executed by the dedicated core as an instruction corresponding to a function different from the safety function.

전용 코어에서 실행될 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션이라고 식별된 경우, 전자 장치(100)는 안전 기능 상의 문제를 발견(420)하였다고 판단할 수 있다. 즉, 전용 코어에서 실행될 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션이라고 식별된 경우, 전자 장치(100)는 안전 기능을 정상적으로 수행하지 못할 확률이 높다고 식별할 수 있다. 그리고, 전자 장치(100)는 동작 상태를 일반 상태에서 안전 상태로 전환할 수 있다. 안전 기능 상의 문제가 발견되었음에도 전자 장치(100)가 일반 상태로 동작할 경우, 최고 속도 위반 모니터링 기능이 제대로 동작하지 않아 다른 문제가 발생할 수 있다. When it is identified that the instruction to be executed in the dedicated core is an instruction corresponding to a function different from the safety function, the electronic device 100 may determine that a problem in the safety function is found ( 420 ). That is, when it is identified that the instruction to be executed by the dedicated core is an instruction corresponding to a function different from the safety function, the electronic device 100 may identify that there is a high probability that the safety function cannot be normally performed. In addition, the electronic device 100 may change the operating state from the normal state to the safe state. When the electronic device 100 operates in a normal state even though a problem in the safety function is found, the maximum speed violation monitoring function does not operate properly, and other problems may occur.

따라서, 전자 장치(100)는 안전 상태로 동작하여 전용 코어에서 안전 기능과 상이한 기능에 대응되는 인스트럭션이 실행되었다는 메시지(430)(예를 들어, '안전 상태로 전환합니다.' 등)를 제공할 수 있다. 메시지는 도 4에 도시된 바와 같이 음성 형태로 출력될 수 있으나 이는 일 실시예에 불과하며 디스플레이에 표시할 수 있다. 또 다른 예로, 전자 장치(100)는 전원을 차단하거나 현재 수행 중인 일반 기능 또는 안전 기능의 동작을 중지할 수 있다. 예를 들어, 전자 장치(100)는 이동하면서 손님에게 응대 메시지를 제공하는 동작을 중지하고 현재 위치에서 안전 기능과 관련된 문제가 발생하였다는 메시지를 제공할 수 있다. Accordingly, the electronic device 100 operates in the safe state to provide a message 430 indicating that an instruction corresponding to a function different from the safety function has been executed in the dedicated core (eg, 'transition to the safe state', etc.). can The message may be output in voice form as shown in FIG. 4 , but this is only an example and may be displayed on a display. As another example, the electronic device 100 may cut off power or stop an operation of a general function or a safety function currently being performed. For example, the electronic device 100 may stop an operation of providing a response message to a customer while moving and provide a message indicating that a problem related to a safety function has occurred at the current location.

또 다른 예로, 동작 상태가 안전 상태로 전환되면, 전자 장치(100)는 전용 코어에서 실행되었다고 식별된 안전 기능과 상이한 기능에 대응되는 인스트럭션과 관련된 정보를 전자 장치(100)를 관리하는 서버 또는 관리자의 장치로 전송할 수 있다. 그리고, 전자 장치(100)는 서버 또는 관리자의 장치로부터 수신된 인스트럭션에 대한 정보를 바탕으로 동작 상태를 결정할 수 있다. 예를 들어, 서버 또는 관리자의 장치로부터 전용 코어에서 실행된 인스트럭션이 안전 기능에 대응되는 인스트럭션이라는 정보를 수신한 경우, 전자 장치(100)는 동작 상태를 안정 상태에서 다시 일반 상태로 전환할 수 있다. 그리고 또 다른 예로, 서버 또는 관리자의 장치로부터 인스트럭션을 삭제 또는 수정하라는 정보를 수신하면, 전자 장치(100)는 수신한 정보를 바탕으로 메모리(110)에 저장된 복수의 인스트럭션 중 일부를 수정하여 전용 코어에서 안전 기능에 대응되는 인스트럭션만을 실행하도록 제어할 수 있다. 그리고, 전자 장치(100)는 동작 상태를 안전 상태에서 일반 상태로 전환할 수 있다.As another example, when the operating state is switched to the safe state, the electronic device 100 transmits information related to an instruction corresponding to a function different from the safety function identified as being executed in the dedicated core to a server or a manager managing the electronic device 100 . can be transmitted to the device of In addition, the electronic device 100 may determine an operation state based on information about an instruction received from a device of a server or a manager. For example, when receiving information that an instruction executed on a dedicated core corresponds to a safety function from the device of the server or manager, the electronic device 100 may change the operation state from the stable state back to the normal state . And as another example, when receiving information to delete or modify an instruction from the device of the server or administrator, the electronic device 100 modifies some of the plurality of instructions stored in the memory 110 based on the received information to obtain a dedicated core can be controlled to execute only the instruction corresponding to the safety function. In addition, the electronic device 100 may change the operating state from the safe state to the normal state.

도 5는 본 개시의 일 실시예에 따른, 전자 장치(100)와 서버(200)간의 동작을 설명하기 위한 시퀀스도이다. 도 5는 서버(200)에 전자 장치(100)의 전용 코어에서 실행되는 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션인지 여부를 식별할 수 있는 학습된 신경망 모델이 저장된 경우를 설명하기 위한 시퀀스도이다.5 is a sequence diagram illustrating an operation between the electronic device 100 and the server 200 according to an embodiment of the present disclosure. 5 is a sequence diagram for explaining a case in which a learned neural network model capable of identifying whether an instruction executed in a dedicated core of the electronic device 100 is an instruction corresponding to a function different from a safety function is stored in the server 200 to be.

우선, 전자 장치(100)는 적어도 하나의 코어에서 실행되는 인스트럭션을 학습된 신경망 모델을 포함하는 서버(200)에 전송할 수 있다(S510). 이 때, 적어도 하나의 코어는 안전 기능에 대응되는 인스트럭션만을 실행하도록 설정된 전용 코어일 수 있다. 서버(200)는 학습된 신경망 모델을 통해 수신된 인스트럭션과 관련된 정보를 획득할 수 있다(S520). 서버(200)가 획득한 인스트럭션과 관련된 정보는 전자 장치(100)로부터 수신된 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션일 확률 값, 수신된 인스트럭션 상에서 감지된 이상 패턴에 대한 정보, 감지된 이상 패턴을 해결하기 위한 수정 정보 등을 포함할 수 있다. 그리고, 서버(200)는 획득된 인스트럭션에 대한 정보를 전자 장치(100)에 전송할 수 있다(S530). First, the electronic device 100 may transmit an instruction executed in at least one core to the server 200 including the learned neural network model (S510). In this case, the at least one core may be a dedicated core configured to execute only instructions corresponding to the safety function. The server 200 may acquire information related to the received instruction through the learned neural network model (S520). The information related to the instruction obtained by the server 200 includes a probability value that the instruction received from the electronic device 100 is an instruction corresponding to a function different from the safety function, information about an abnormal pattern detected on the received instruction, and detected abnormality. Correction information for resolving the pattern may be included. Then, the server 200 may transmit information on the acquired instruction to the electronic device 100 (S530).

그리고, 전자 장치(100)는 서버(200)로부터 수신된 인스트럭션에 대한 정보를 바탕으로 동작 상태를 결정할 수 있다(S540). 일 실시예로, 전용 코어에서 실행된 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션일 확률이 임계 범위 이하라는 정보를 서버(200)로부터 수신된 경우, 전자 장치(100)는 동작 상태를 일반 상태에서 안전 상태로 전환할 수 있다. 그리고, 안전 상태로 동작하는 동안, 전자 장치(100)는 서버(200)로부터 수신된 이상 패턴을 해결하기 위한 수정 정보를 바탕으로 메모리(110)에 저장된 복수의 인스트럭션을 수정할 수 있다.Then, the electronic device 100 may determine an operation state based on information about the instruction received from the server 200 ( S540 ). In an embodiment, when information is received from the server 200 that the probability that the instruction executed by the dedicated core is an instruction corresponding to a function different from the safety function is less than or equal to a threshold range, the electronic device 100 sets the operation state to the normal state. can be switched to a safe state. And, while operating in the safe state, the electronic device 100 may modify the plurality of instructions stored in the memory 110 based on the correction information for resolving the abnormal pattern received from the server 200 .

또 다른 예로, 전용 코어에서 실행된 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션일 확률이 임계 범위를 초과한다는 정보를 서버(200)로부터 수신된 경우, 전자 장치(100)는 일반 상태로 동작하면서 일반 기능 및 안전 기능을 수행할 수 있다.As another example, when information is received from the server 200 that the probability that the instruction executed by the dedicated core is an instruction corresponding to a function different from the safety function exceeds the threshold range, the electronic device 100 operates in a normal state while It can perform general and safety functions.

도 6는 본 개시의 일 실시예에 따른, 전자 장치(100)의 구성을 상세히 도시한 블록도이다. 도 6에 도시된 바와 같이, 전자 장치(100)는 메모리(110), 프로세서(120), 통신부(130), 디스플레이(140), 입력부(150), 주행부(160), 스피커(170) 및 센서(180)를 포함할 수 있다. 한편, 메모리(110) 및 프로세서(120)는 도 1을 참조하여 구체적으로 설명하였으므로 중복되는 설명은 생략하도록 한다.6 is a block diagram illustrating in detail the configuration of the electronic device 100 according to an embodiment of the present disclosure. 6 , the electronic device 100 includes a memory 110 , a processor 120 , a communication unit 130 , a display 140 , an input unit 150 , a driving unit 160 , a speaker 170 and A sensor 180 may be included. Meanwhile, since the memory 110 and the processor 120 have been described in detail with reference to FIG. 1 , redundant descriptions will be omitted.

통신부(130)는 회로를 포함하며, 서버(미도시) 또는 외부 장치(미도시)와의 통신을 수행할 수 있다. 구체적으로, 프로세서(120)는 통신부(130)를 통해 연결된 서버(미도시) 또는 외부 장치(미도시)로부터 각종 데이터 또는 정보를 수신 및 전송할 수 있다. 그리고, 전자 장치(100)가 일반 상태로 동작하는 동안, 통신부(130)는 학습된 신경망 모델을 포함하는 서버로 전송할 수 있다. 즉, 전용 코어에서 실행되는 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션인지 여부를 식별할 수 있는 신경망 모델이 외부 서버에 저장된 경우, 통신부(130)는 프로세서(120) 제어에 의해 전용 코어에서 실행되는 인스트럭션을 외부 서버에 전송할 수 있다. 그리고, 통신부(130)는 신경망 모델을 포함하는 서버로부터 전용 코어에서 실행된 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션인지 여부와 관련된 정보를 수신할 수 있다. 따라서, 프로세서(120)는 통신부(130)를 통해 수신된 정보를 통해 동작 상태를 안전 상태로 전환할지 여부를 결정할 수 있다. The communication unit 130 includes a circuit and may communicate with a server (not shown) or an external device (not shown). Specifically, the processor 120 may receive and transmit various data or information from a server (not shown) or an external device (not shown) connected through the communication unit 130 . In addition, while the electronic device 100 operates in a normal state, the communication unit 130 may transmit to a server including the learned neural network model. That is, when a neural network model that can identify whether an instruction executed on a dedicated core is an instruction corresponding to a function different from the safety function is stored in an external server, the communication unit 130 executes on the dedicated core under the control of the processor 120 instruction can be transmitted to an external server. In addition, the communication unit 130 may receive information related to whether the instruction executed in the dedicated core corresponds to a function different from the safety function from the server including the neural network model. Accordingly, the processor 120 may determine whether to switch the operating state to the safe state through the information received through the communication unit 130 .

그리고, 통신부(130)는 외부 서버로부터 메모리(120)에 저장된 신경망 모델을 학습시킬 수 있는 학습 데이터를 수신할 수 있다. 학습 데이터는 복수의 인스트럭션 각각의 명령 코드, 명령 코드의 인자 및 복수의 인스트럭션 각각에 대응되는 레지스터에 대한 정보를 포함할 수 있다.In addition, the communication unit 130 may receive training data for learning the neural network model stored in the memory 120 from an external server. The training data may include information about a command code of each of the plurality of instructions, an argument of the command code, and information about a register corresponding to each of the plurality of instructions.

한편, 통신부(130)는 외부 장치와 통신을 수행하기 위해 다양한 통신 모듈을 포함할 수 있다. 일 예로, 통신부(130)는 무선 통신 모듈을 포함할 수 있으며, 예를 들면, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 5G(5th generation) 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신 모듈을 포함할 수 있다. 또 다른 예로, 무선 통신 모듈은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), 중 적어도 하나를 포함할 수 있다.Meanwhile, the communication unit 130 may include various communication modules to communicate with an external device. For example, the communication unit 130 may include a wireless communication module, for example, LTE, LTE Advance (LTE-A), CDMA (code division multiple access), WCDMA (wideband CDMA), UMTS (universal mobile telecommunications) system), a cellular communication module using at least one of Wireless Broadband (WiBro), 5th generation (5G), or Global System for Mobile Communications (GSM). As another example, the wireless communication module may include, for example, at least one of wireless fidelity (WiFi), Bluetooth, Bluetooth low energy (BLE), and Zigbee.

디스플레이(140)는 LCD(Liquid Crystal Display Panel), OLED(Organic Light Emitting Diodes) 등으로 구현될 수 있으며, 경우에 따라 플렉서블 디스플레이, 투명 디스플레이 등으로 구현되는 것도 가능하다. 그리고, 디스플레이(140)는 터치 패널과 함께 터치 스크린으로도 구현될 수 있다. 그러나 상술한 구현으로 한정되는 것은 아니며, 디스플레이(140)는 전자 장치(100)의 유형에 따라 다르게 구현될 수 있다.The display 140 may be implemented as a Liquid Crystal Display Panel (LCD), Organic Light Emitting Diodes (OLED), or the like, and in some cases may be implemented as a flexible display, a transparent display, or the like. Also, the display 140 may be implemented as a touch screen together with a touch panel. However, it is not limited to the above-described implementation, and the display 140 may be implemented differently depending on the type of the electronic device 100 .

그리고, 디스플레이(140)는 프로세서(120) 제어에 의해 다양한 정보를 표시할 수 있다. 특히, 디스플레이(140)는 전용 코어에서 안전 기능과 상이한 기능에 대응되는 인스트럭션이 식별되었다는 메시지 또는 인디케이터를 표시할 수 있다.In addition, the display 140 may display various information under the control of the processor 120 . In particular, the display 140 may display a message or an indicator that an instruction corresponding to a function different from the safety function is identified in the dedicated core.

입력부(150)는 회로를 포함하며, 프로세서(120)는 입력부(150)를 통해 전자 장치(100)의 동작을 제어하기 위한 사용자 명령을 수신할 수 있다. 입력부(150)는 터치 센서, (디지털) 펜 센서, 압력 센서, 키, 또는 마이크를 포함할 수 있다. 터치 센서는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다.The input unit 150 includes a circuit, and the processor 120 may receive a user command for controlling the operation of the electronic device 100 through the input unit 150 . The input unit 150 may include a touch sensor, a (digital) pen sensor, a pressure sensor, a key, or a microphone. The touch sensor may use, for example, at least one of a capacitive type, a pressure sensitive type, an infrared type, and an ultrasonic type.

특히, 입력부(150)를 통해 새로운 기능을 업데이트할 수 있는 명령을 입력받을 수 있다. 그리고, 입력부(150)는 비휘발성 메모리에 저장된 신경망 모델을 휘발성 메모리에 로딩하도록 하는 동작과 관련된 동작을 입력받을 수 있다. 또한, 입력부(150)는 전자 장치의 동작 상태를 전환시킬 수 있는 사용자 명령을 입력받을 수 있다.In particular, a command for updating a new function may be input through the input unit 150 . In addition, the input unit 150 may receive an operation related to an operation of loading the neural network model stored in the non-volatile memory into the volatile memory. In addition, the input unit 150 may receive a user command for changing the operating state of the electronic device.

주행부(160)는 전자 장치(100)를 이동시킬 수 있는 구성이며, 모터 및 복수 개의 바퀴를 포함할 수 있다. 구체적으로, 주행부(160)는 프로세서(120) 제어에 의해 전자 장치(100)의 이동 방향 및 이동 속도를 변경할 수 있다. 그리고, 안전 상태로 전환되면, 주행부(160)는 프로세서(120) 제어에 의해 전자 장치(100)의 동작을 중지시킬 수 있다.The driving unit 160 is configured to move the electronic device 100 and may include a motor and a plurality of wheels. Specifically, the driving unit 160 may change the moving direction and the moving speed of the electronic device 100 under the control of the processor 120 . And, when the safety state is switched, the driving unit 160 may stop the operation of the electronic device 100 under the control of the processor 120 .

스피커(170)는 오디오 처리부(미도시)에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 출력하는 구성이다. 특히, 스피커(170)는 전용 코어에서 실행되는 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션으로 식별되었다는 메시지를 음성 형태로 출력하거나 알림음을 출력할 수 있다.The speaker 170 is configured to output not only various audio data on which various processing operations such as decoding, amplification, and noise filtering have been performed by an audio processing unit (not shown) but also various notification sounds or voice messages. In particular, the speaker 170 may output a message indicating that the instruction executed in the dedicated core is identified as an instruction corresponding to a function different from the safety function in a voice form or may output a notification sound.

센서(180)는 전자 장치(100)의 다양한 상태 정보를 감지할 수 있다. 예로, 센서(180)는 전자 장치(100)의 움직임 정보를 감지할 수 있는 움직임 센서(예로, 자이로 센서, 가속도 센서 등)를 포함할 수 있으며, 위치 정보를 감지할 수 있는 센서(예로, GPS(Global Positioning System) 센서), 전자 장치(100) 주위의 환경 정보를 감지할 수 있는 센서(예로, 온도 센서, 습도 센서, 기압 센서 등), 전자 장치(100)의 사용자 정보를 감지할 수 있는 센서(예로, 혈압 센서, 혈당 센서, 맥박수 센서 등), 사용자의 존재를 감지할 수 있는 센서(예로, 카메라, UWB 센서, IR 센서, 근접 센서, 광센서 등) 등을 포함할 수 있다. 그 밖에, 센서(180)는 전자 장치(100)의 외부를 촬영하기 위한 이미지 센서 등을 더 포함할 수 있다.The sensor 180 may detect various state information of the electronic device 100 . For example, the sensor 180 may include a motion sensor (eg, a gyro sensor, an acceleration sensor, etc.) capable of detecting motion information of the electronic device 100, and a sensor (eg, GPS) capable of detecting location information. (Global Positioning System) sensor), a sensor capable of detecting environmental information around the electronic device 100 (eg, a temperature sensor, a humidity sensor, a barometric pressure sensor, etc.), a sensor capable of detecting user information of the electronic device 100 It may include a sensor (eg, a blood pressure sensor, a blood sugar sensor, a pulse rate sensor, etc.), a sensor capable of detecting the user's presence (eg, a camera, a UWB sensor, an IR sensor, a proximity sensor, an optical sensor, etc.). In addition, the sensor 180 may further include an image sensor for photographing the outside of the electronic device 100 .

도 7은 본 개시의 일 실시예에 따른, 전자 장치(100)의 제어 방법을 설명하기 위한 순서도이다.7 is a flowchart illustrating a method of controlling the electronic device 100 according to an embodiment of the present disclosure.

우선, 일반 상태로 동작하는 동안 적어도 하나의 코어에서 적어도 하나의 인스트럭션이 실행되면, 전자 장치(100)는 학습된 신경망 모델을 통해 적어도 하나의 인스트럭션이 안전 기능에 대응되는 인스트럭션인지 여부를 식별할 수 있다(S710). 이 때, 적어도 하나의 코어는 안전 기능에 대응되는 인스트럭션만을 실행하는 전용 코어 일 수 있다. 즉, 전자 장치(100)는 전용 코어에서 실행되는 인스트럭션이 안전 기능에 대응되는 인스트럭션인지 여부를 식별할 수 있다. 구체적으로, 전자 장치(100)는 학습된 신경 모델을 통해 전용 코어에서 실행되는 인스트럭션의 패턴과 전용 코어에서 실행되기로 설정된 인스트럭션의 패턴을 비교하여 확률 값을 획득할 수 있다. 확률 값은 전용 코어에서 실행된 인스트럭션이 안전 기능에 대응되는 인스트럭션인 확률 값일 수 있다. 그리고, 전자 장치(100)는 신경망 모델을 통해 획득된 확률 값을 바탕으로 전용 코어에서 실행된 적어도 하나의 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션인지 여부를 식별할 수 있다.First, when at least one instruction is executed in at least one core while operating in a normal state, the electronic device 100 may identify whether the at least one instruction is an instruction corresponding to a safety function through the learned neural network model. There is (S710). In this case, the at least one core may be a dedicated core that executes only instructions corresponding to the safety function. That is, the electronic device 100 may identify whether an instruction executed by the dedicated core corresponds to a safety function. Specifically, the electronic device 100 may obtain a probability value by comparing a pattern of instructions executed in the dedicated core with a pattern of instructions set to be executed in the dedicated core through the learned neural model. The probability value may be a probability value that the instruction executed in the dedicated core is an instruction corresponding to a safety function. In addition, the electronic device 100 may identify whether at least one instruction executed by the dedicated core is an instruction corresponding to a function different from the safety function based on the probability value obtained through the neural network model.

식별결과에 기초하여, 전자 장치(100)는 동작 상태를 일반 상태 또는 안전 상태 중 하나로 결정할 수 있다(S720). 구체적으로, 학습된 신경망 모델을 통해 획득된 확률 값이 임계 범위 이하인 경우, 전자 장치(100)는 전용 코어에서 안전 기능과 상이한 기능에 대응되는 인스트럭션이 실행되고 있음을 식별할 수 있다. 이 때, 전자 장치(100)는 동작 상태를 안전 상태로 전환할 수 있다. 그리고, 전자 장치(100)는 동작 상태를 안전 상태로 전환하여 전원을 차단하거나 현재 수행중인 일반 기능 등을 중지할 수 있다. 또 다른 예로, 전자 장치(100)는 안전 상태로 전환하면서 전용 코어에서 안전 기능과 상이한 기능에 대응되는 인스트럭션이 실행되고 있음을 나타내는 메시지를 제공할 수 있다.Based on the identification result, the electronic device 100 may determine the operation state as either a normal state or a safe state (S720). Specifically, when the probability value obtained through the learned neural network model is less than or equal to the threshold range, the electronic device 100 may identify that an instruction corresponding to a function different from the safety function is being executed in the dedicated core. At this time, the electronic device 100 may switch the operating state to the safe state. In addition, the electronic device 100 may switch the operating state to a safe state to cut off power or stop a general function currently being performed. As another example, the electronic device 100 may provide a message indicating that an instruction corresponding to a function different from the safety function is being executed in the dedicated core while transitioning to the safe state.

한편, 학습된 신경망을 통해 획득된 확률 값이 임계 범위를 초과한 경우, 전자 장치(100)는 전용 코어에서 안전 기능에 대응되는 인스트럭션이 실행되는 것으로 식별할 수 있다. 이 때, 전자 장치(100)는 동작 상태를 일반 상태로 유지할 수 있다.Meanwhile, when the probability value obtained through the learned neural network exceeds the threshold range, the electronic device 100 may identify that the instruction corresponding to the safety function is executed in the dedicated core. In this case, the electronic device 100 may maintain an operating state in a normal state.

한편, 본 개시에 첨부된 도면은 본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.On the other hand, the drawings attached to the present disclosure are not intended to limit the technology described in the present disclosure to specific embodiments, and various modifications, equivalents, and/or alternatives of the embodiments of the present disclosure are provided. should be understood as including In connection with the description of the drawings, like reference numerals may be used for like components.

본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.In the present disclosure, expressions such as “have,” “may have,” “include,” or “may include” indicate the presence of a corresponding characteristic (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features.

본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.In this disclosure, expressions such as “A or B,” “at least one of A and/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together. . For example, "A or B," "at least one of A and B," or "at least one of A or B" means (1) includes at least one A, (2) includes at least one B; Or (3) it may refer to all cases including both at least one A and at least one B.

본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. As used in the present disclosure, expressions such as "first," "second," "first," or "second," may modify various elements, regardless of order and/or importance, and refer to one element. It is used only to distinguish it from other components, and does not limit the components.

어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.A component (eg, a first component) is "coupled with/to (operatively or communicatively)" to another component (eg, a second component) When referring to "connected to", it will be understood that the certain element may be directly connected to the other element or may be connected through another element (eg, a third element). On the other hand, when it is said that a component (eg, a first component) is "directly connected" or "directly connected" to another component (eg, a second component), the component and the It may be understood that other components (eg, a third component) do not exist between other components.

본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 부프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.The expression "configured to (or configured to)" as used in this disclosure depends on the context, for example, "suitable for," "having the capacity to" ," "designed to," "adapted to," "made to," or "capable of." The term “configured (or configured to)” may not necessarily mean only “specifically designed to” in hardware. Instead, in some circumstances, the expression “a device configured to” may mean that the device is “capable of” with other devices or parts. For example, the phrase "a coprocessor configured (or configured to perform) A, B, and C" may include a processor dedicated to performing the operations (eg, an embedded processor), or executing one or more software programs stored in a memory device. By doing so, it may mean a generic-purpose processor (eg, a CPU or an application processor) capable of performing corresponding operations.

본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적은 저장매체'는 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.Various embodiments of the present disclosure may be implemented as software including instructions stored in a machine-readable storage media readable by a machine (eg, a computer). As a device that can be called and operated according to the called command, it may include an electronic device (eg, the electronic device 100) according to the disclosed embodiments. When the command is executed by the processor, the processor directly or A function corresponding to the instruction may be performed using other components under the control of the processor. The instruction may include code generated or executed by a compiler or an interpreter. A device-readable storage medium includes: It may be provided in the form of a non-transitory storage medium, where the 'non-transitory storage medium' does not include a signal and means that it is tangible and data is semi-permanent in the storage medium Alternatively, temporary storage is not distinguished, for example, a 'non-transitory storage medium' may include a buffer in which data is temporarily stored.

일 실시 예에 따르면, 본 개시에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예로, 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to an embodiment, the method according to various embodiments disclosed in the present disclosure may be provided by being included in a computer program product. Computer program products may be traded between sellers and buyers as commodities. The computer program product may be distributed in the form of a machine-readable storage medium (eg, compact disc read only memory (CD-ROM)) or online through an application store (eg, Play Store™). In the case of online distribution, at least a portion of the computer program product (eg, a downloadable app) is at least temporarily stored in a storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server, or is temporarily stored can be created with

다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.Each of the components (eg, a module or a program) according to various embodiments may be composed of a singular or a plurality of entities, and some of the above-described sub-components may be omitted, or other sub-components may be various. It may be further included in the embodiment. Alternatively or additionally, some components (eg, a module or a program) may be integrated into a single entity to perform the same or similar functions performed by each corresponding component prior to integration. According to various embodiments, operations performed by a module, program, or other component may be sequentially, parallel, repetitively or heuristically executed, or at least some operations may be executed in a different order, omitted, or other operations may be added. can

Claims (20)

전자 장치에 있어서,
메모리; 및
복수의 코어 중 적어도 하나의 안전 기능(safety function)에 대응되는 인스트럭션을 실행하도록 설정된 적어도 하나의 코어(core)를 포함하는 프로세서;를 포함하고,
상기 프로세서는,
상기 전자 장치가 제1 상태로 동작하는 동안, 상기 적어도 하나의 코어에서 적어도 하나의 인스트럭션(instruction)이 실행되면, 학습된 신경망 모델을 통해 상기 적어도 하나의 인스트럭션이 상기 안전 기능에 대응되는 인스트럭션인지 여부를 식별하고,
상기 식별 결과에 기초하여, 상기 전자 장치의 동작 상태를 상기 제1 상태 또는 제2 상태 중 하나로 결정하는 전자 장치.
In an electronic device,
Memory; and
a processor including at least one core configured to execute an instruction corresponding to at least one safety function among the plurality of cores; and
The processor is
When at least one instruction is executed by the at least one core while the electronic device operates in the first state, whether the at least one instruction is an instruction corresponding to the safety function through a learned neural network model to identify,
An electronic device that determines the operating state of the electronic device as one of the first state and the second state based on the identification result.
제1항에 있어서,
상기 프로세서는,
상기 적어도 하나의 코어는 상기 안전 기능에 대응되는 인스트럭션만을 실행하는 전용 코어인 것을 특징으로 하는 전자 장치.
According to claim 1,
The processor is
The at least one core is an electronic device, characterized in that it is a dedicated core that executes only instructions corresponding to the safety function.
제2항에 있어서,
상기 신경망 모델은 상기 안전 기능에 대응되는 인스트럭션에 대한 정보를 바탕으로 학습된 모델이며,
상기 복수의 인스트럭션에 대한 정보는,
상기 복수의 인스트럭션 각각의 명령 코드(opcode), 상기 명령 코드의 인자(operand) 및 상기 복수의 인스트럭션 각각에 대응되는 레지스터에 대한 정보를 포함하는 것을 특징으로 하는 전자 장치.
3. The method of claim 2,
The neural network model is a model learned based on information about instructions corresponding to the safety function,
Information about the plurality of instructions,
and information on a command code (opcode) of each of the plurality of instructions, an operand of the command code, and a register corresponding to each of the plurality of instructions.
제1항에 있어서,
상기 프로세서는,
상기 신경망 모델을 통해 상기 적어도 하나의 코어에서 실행되는 적어도 하나의 인스트럭션이 상기 안전 기능에 대응되는 인스트럭션일 확률을 획득하고,
상기 획득된 확률이 임계 범위 이하인 경우, 상기 적어도 하나의 인스트럭션은 상기 안전 기능과 상이한 기능에 대응되는 인스트럭션으로 식별하는 전자 장치.
According to claim 1,
The processor is
obtaining a probability that at least one instruction executed in the at least one core is an instruction corresponding to the safety function through the neural network model;
The electronic device identifies the at least one instruction as an instruction corresponding to a function different from the safety function when the obtained probability is less than or equal to a threshold range.
제4항에 있어서,
상기 임계 범위는,
상기 안전 기능의 안전 무결성 레벨(Safety Integrity Level)에 의해 결정되는 것을 특징으로 하는 전자 장치.
5. The method of claim 4,
The critical range is
The electronic device, characterized in that determined by the safety integrity level (Safety Integrity Level) of the safety function.
제4항에 있어서,
상기 프로세서는,
상기 적어도 하나의 인스트럭션이 상기 안전 기능에 대응되는 인스트럭션이라고 식별되면, 상기 전자 장치의 동작 상태를 상기 제2 상태로 유지하고,
상기 적어도 하나의 인스트럭션이 상기 안전 기능과 상이한 기능에 대응되는 인스트럭션이라고 식별되면, 상기 전자 장치의 동작 상태를 상기 제2 상태로 전환하는 전자 장치.
5. The method of claim 4,
The processor is
When the at least one instruction is identified as an instruction corresponding to the safety function, the operation state of the electronic device is maintained in the second state;
If the at least one instruction is identified as an instruction corresponding to a function different from the safety function, the electronic device switches the operating state of the electronic device to the second state.
제1항에 있어서,
상기 프로세서는,
상기 복수의 코어 중 상기 적어도 하나의 코어를 제외한 나머지 코어에서 수행될 일반 기능에 대응되는 인스트럭션이 업데이트되면, 상기 신경망 모델을 이용하여 상기 메모리에 저장된 상기 적어도 하나의 코어에서 실행될 인스트럭션 중 상기 안전 기능과 상이한 기능에 대응되는 인스트럭션이 존재하는지 여부를 식별하는 전자 장치.
According to claim 1,
The processor is
When an instruction corresponding to a general function to be performed in the remaining cores except for the at least one core among the plurality of cores is updated, the safety function among the instructions to be executed in the at least one core stored in the memory using the neural network model; An electronic device for identifying whether instructions corresponding to different functions exist.
제1항에 있어서,
상기 프로세서는,
상기 전자 장치의 동작 상태가 상기 제2 상태로 전환되면, 상기 전자 장치가 수행하는 일반 동작을 중지하거나 상기 전자 장치의 전원을 차단하도록 제어하는 전자 장치.
According to claim 1,
The processor is
When the operating state of the electronic device is switched to the second state, the electronic device controls to stop a normal operation performed by the electronic device or to cut off the power of the electronic device.
제1항에 있어서,
상기 프로세서는,
상기 전자 장치의 동작 상태가 상기 제2 상태로 전환되면, 상기 적어도 하나의 코어에 상기 안전 기능과 상이한 기능에 대응되는 인스트럭션이 식별되었음을 나타내는 메시지를 제공하는 전자 장치.
According to claim 1,
The processor is
When the operating state of the electronic device is switched to the second state, the electronic device provides a message indicating that an instruction corresponding to a function different from the safety function is identified to the at least one core.
제1항에 있어서,
상기 프로세서는,
통신부;를 더 포함하고,
상기 전자 상태가 상기 제1 상태로 동작하는 동안, 상기 적어도 하나의 코어에서 실행되는 적어도 하나의 인스트럭션을 학습된 신경망을 포함하는 서버로 전송하도록 상기 통신부를 제어하고,
상기 서버로부터 상기 적어도 하나의 인스트럭션이 상기 안전 기능과 상이한 기능에 대응되는 인스트럭션인지 여부에 대한 정보를 상기 통신부를 통해 수신한 전자 장치.
According to claim 1,
The processor is
Communication unit; further comprising,
While the electronic state operates in the first state, controlling the communication unit to transmit at least one instruction executed in the at least one core to a server including a learned neural network,
The electronic device that receives, through the communication unit, information on whether the at least one instruction is an instruction corresponding to a function different from the safety function from the server.
복수의 코어 중 적어도 하나의 안전 기능에 대응되는 인스트럭션을 실행하도록 설정된 적어도 하나의 코어를 포함하는 프로세서를 포함하는 전자 장치의 제어 방법에 있어서,
상기 전자 장치가 제1 상태로 동작하는 동안, 상기 적어도 하나의 코어에서 적어도 하나의 인스트럭션이 실행되면, 학습된 신경망 모델을 통해 상기 적어도 하나의 인스트럭션이 상기 안전 기능에 대응되는 인스트럭션인지 여부를 식별하는 단계; 및
상기 식별 결과에 기초하여, 상기 전자 장치의 동작 상태를 상기 제1 상태 또는 제2 상태 중 하나로 결정하는 단계;를 포함하는 제어 방법.
A method of controlling an electronic device including a processor including at least one core configured to execute an instruction corresponding to at least one safety function among a plurality of cores, the method comprising:
When at least one instruction is executed in the at least one core while the electronic device operates in the first state, it is identified whether the at least one instruction is an instruction corresponding to the safety function through a learned neural network model step; and
and determining the operating state of the electronic device as one of the first state and the second state based on the identification result.
제11항에 있어서,
상기 적어도 하나의 코어는 상기 안전 기능에 대응되는 인스트럭션만을 실행하는 전용 코어인 것을 특징으로 하는 제어 방법.
12. The method of claim 11,
The control method, characterized in that the at least one core is a dedicated core that executes only instructions corresponding to the safety function.
제12항에 있어서,
상기 신경망 모델은 상기 안전 기능에 대응되는 인스트럭션에 대한 정보를 바탕으로 학습된 모델이며,
상기 복수의 인스트럭션에 대한 정보는,
상기 복수의 인스트럭션 각각의 명령 코드(opcode), 상기 명령 코드의 인자(operand) 및 상기 복수의 인스트럭션 각각에 대응되는 레지스터에 대한 정보를 포함하는 것을 특징으로 제어 방법.
13. The method of claim 12,
The neural network model is a model learned based on information about instructions corresponding to the safety function,
Information about the plurality of instructions,
and information on an instruction code (opcode) of each of the plurality of instructions, an operand of the instruction code, and information on a register corresponding to each of the plurality of instructions.
제12항에 있어서,
상기 식별하는 단계는,
상기 신경망 모델을 통해 상기 적어도 하나의 코어에서 실행되는 적어도 하나의 인스트럭션이 상기 안전 기능에 대응되는 인스트럭션일 확률을 획득하는 단계; 및
상기 획득된 확률이 임계 범위 이하인 경우, 상기 적어도 하나의 인스트럭션은 상기 안전 기능과 상이한 기능에 대응되는 인스트럭션으로 식별하는 단계;를 포함하는 제어 방법.
13. The method of claim 12,
The identifying step is
obtaining a probability that at least one instruction executed in the at least one core is an instruction corresponding to the safety function through the neural network model; and
and when the obtained probability is less than or equal to a threshold range, identifying the at least one instruction as an instruction corresponding to a function different from the safety function.
제143항에 있어서,
상기 임계 범위는,
상기 안전 기능의 안전 무결성 레벨(Safety Integrity Level)에 의해 결정되는 것을 특징으로 하는 제어 방법.
145. The method of claim 143,
The critical range is
Control method, characterized in that determined by the safety integrity level (Safety Integrity Level) of the safety function.
제14항에 있어서,
상기 결정하는 단계는,
상기 적어도 하나의 인스트럭션이 상기 안전 기능에 대응되는 인스트럭션이라고 식별되면, 상기 전자 장치의 동작 상태를 상기 제2 상태로 유지하고,
상기 적어도 하나의 인스트럭션이 상기 안전 기능과 상이한 기능에 대응되는 인스트럭션이라고 식별되면, 상기 전자 장치의 동작 상태를 상기 제2 상태로 전환하는 단계;를 포함하는 제어 방법.
15. The method of claim 14,
The determining step is
When the at least one instruction is identified as an instruction corresponding to the safety function, the operation state of the electronic device is maintained in the second state;
and switching the operation state of the electronic device to the second state when the at least one instruction is identified as an instruction corresponding to a function different from the safety function.
제11항에 있어서,
상기 식별하는 단계는,
상기 복수의 코어 중 상기 적어도 하나의 코어를 제외한 나머지 코어에서 수행될 일반 기능에 대응되는 인스트럭션이 업데이트되면, 상기 신경망 모델을 이용하여 상기 전자 장치의 메모리에 저장된 상기 적어도 하나의 코어에서 실행될 인스트럭션 중 상기 안전 기능과 상이한 기능에 대응되는 인스트럭션이 존재하는지 여부를 식별하는 단계;를 포함하는 제어 방법.
12. The method of claim 11,
The identifying step is
When an instruction corresponding to a general function to be performed in the remaining cores except for the at least one core among the plurality of cores is updated, among the instructions to be executed in the at least one core stored in the memory of the electronic device using the neural network model, the A control method comprising a; identifying whether an instruction corresponding to a function different from the safety function exists.
제11항에 있어서,
상기 전환하는 단계는,
상기 전자 장치의 동작 상태가 상기 제2 상태로 전환되면, 상기 전자 장치가 수행하는 일반 동작을 중지하거나 상기 전자 장치의 전원을 차단하도록 제어하는 단계;를 포함하는 제어 방법.
12. The method of claim 11,
The conversion step is
and controlling to stop a normal operation performed by the electronic device or cut off power to the electronic device when the operating state of the electronic device is switched to the second state.
제11항에 있어서,
상기 전환하는 단계는,
상기 전자 장치의 동작 상태가 상기 제2 상태로 전환되면, 상기 적어도 하나의 코어에 상기 안전 기능과 상이한 기능에 대응되는 인스트럭션이 식별되었음을 나타내는 메시지를 제공하는 단계;를 포함하는 제어 방법.
12. The method of claim 11,
The conversion step is
and providing a message indicating that an instruction corresponding to a function different from the safety function is identified to the at least one core when the operating state of the electronic device is switched to the second state.
제11항에 있어서,
상기 전자 상태가 상기 제1 상태로 동작하는 동안, 상기 적어도 하나의 코어에서 실행되는 적어도 하나의 인스트럭션을 학습된 신경망을 포함하는 서버로 전송하는 단계; 및
상기 서버로부터 상기 적어도 하나의 인스트럭션이 상기 안전 기능과 상이한 기능에 대응되는 인스트럭션인지 여부에 대한 정보를 수신하는 단계;를 포함하는 제어 방법.
12. The method of claim 11,
while the electronic state operates in the first state, transmitting at least one instruction executed in the at least one core to a server including a learned neural network; and
and receiving, from the server, information on whether the at least one instruction is an instruction corresponding to a function different from the safety function.
KR1020200035283A 2019-12-11 2020-03-23 Electronic device and control method thereof KR20210074155A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/111,691 US20210182386A1 (en) 2019-12-11 2020-12-04 Electronic apparatus that monitors a safety function and a controlling method thereof
EP20898261.1A EP4004736A4 (en) 2019-12-11 2020-12-10 Electronic apparatus that monitors a safety function and a controlling method thereof
PCT/KR2020/018063 WO2021118260A1 (en) 2019-12-11 2020-12-10 Electronic apparatus that monitors a safety function and a controlling method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962946503P 2019-12-11 2019-12-11
US62/946,503 2019-12-11

Publications (1)

Publication Number Publication Date
KR20210074155A true KR20210074155A (en) 2021-06-21

Family

ID=76600111

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200035283A KR20210074155A (en) 2019-12-11 2020-03-23 Electronic device and control method thereof

Country Status (1)

Country Link
KR (1) KR20210074155A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023063556A1 (en) * 2021-10-12 2023-04-20 삼성전자주식회사 Electronic apparatus and method for controlling thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023063556A1 (en) * 2021-10-12 2023-04-20 삼성전자주식회사 Electronic apparatus and method for controlling thereof

Similar Documents

Publication Publication Date Title
US10552803B2 (en) Systems and methods for determining a potential failure or other status of a robotic device
US10217299B2 (en) Vehicular information communication system and vehicular information communication method
US20210191393A1 (en) An automatic driving safety interaction system
US20200159308A1 (en) Mobile terminal, method of controlling doze mode of mobile terminal, and computer-readable non-transitory storage medium
US20210334540A1 (en) Vehicle loss assessment
US11545149B2 (en) Electronic device and method for controlling the electronic device
KR20210074155A (en) Electronic device and control method thereof
US20210182386A1 (en) Electronic apparatus that monitors a safety function and a controlling method thereof
US20230144680A1 (en) Electronic apparatus and method for controlling thereof
US9261602B2 (en) Location change detection based on ambient sensor data
US20230168642A1 (en) Systems and methods for generation of action strategies by an autonomous system
KR20220117802A (en) Electronic device and method for controlling thereof
US20220402121A1 (en) Control and monitoring of a machine arrangement
US20210200627A1 (en) Integrity check device for safety sensitive data and electronic device including the same
KR101422718B1 (en) Method for processing duplication of control logic
KR20220096021A (en) Electronic device and method for controlling thereof
KR20220023212A (en) Server and operating method for updating a model of a terminal
US11688396B2 (en) Electronic device and method for controlling electronic device
US20220269866A1 (en) Electronic device and method for controlling thereof
US11734966B1 (en) Recursive system layer analysis for achieving functional safety
WO2019104189A1 (en) System and method for optimizing resource usage of a robot
US20220237215A1 (en) Electronic device and controlling method of electronic device
KR102624915B1 (en) server device that controls the automatic driving of an automatic guided vehicle
KR20210074974A (en) Electronic device and Method for controlling the electronic device thereof
KR20210096518A (en) Electronic device and control method thereof

Legal Events

Date Code Title Description
A201 Request for examination