KR20210074155A - Electronic device and control method thereof - Google Patents
Electronic device and control method thereof Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0796—Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
Abstract
Description
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로서, 더욱 상세하게는 코어에서 실행되는 인스트럭션을 모니터링하여 안전 기능을 수행할 때 결함이 존재하는지 여부를 식별하는 전자 장치 및 이의 제어 방법에 관한 것이다.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
한편, 안전 기능은 전자 장치(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
안전 상태는 전자 장치(100)가 일반 기능 및 안전 기능을 수행하지 않고 기정의된 동작을 수행하는 상태를 의미한다. 예를 들어, 안전 상태로 동작하는 경우, 전자 장치(100)는 현재 수행하고 있는 일반 기능 및 안전 기능을 정지하거나, 전자 장치(100)의 전원을 차단하거나, 사용자에게 안전 기능이 정상적으로 동작하지 않을 수 있다는 메시지를 제공할 수 있다. 전자 장치(100)가 일반 상태에서 안전 상태로 동작 상태를 전환하기 위한 조건 및 전자 장치(100)가 안전 상태에서 수행하는 동작과 관련된 실시예는 후술하는 부분에서 구체적으로 설명하도록 한다.The safe state refers to a state in which the
도 1의 전자 장치(100)의 프로세서(120)에는 복수의 코어(core)를 포함할 수 있으며, 복수의 코어 중 적어도 하나는 안전 기능에 대응되는 인스트럭션만을 실행하도록 설정된 전용 코어일 수 있다. 그리고, 전자 장치(100)는 전용 코어에서 안전 기능과 상이한 기능의 인스트럭션이 실행되는지 여부를 모니터링할 수 있다. 전용 코어에서 안전 기능과 상이한 기능에 대응되는 인스트럭션을 실행하고 있는 것으로 식별되면, 전자 장치(100)는 동작 상태를 일반 상태에서 안전 상태로 전환할 수 있다.The
한편, 본 개시의 전자 장치(100)는 이동 로봇으로 구현될 수 있으며, 이동 로봇의 전반적인 동작을 제어할 수 있는 제어 시스템으로도 구현될 수 있다. 다만, 이는 일 실시예에 불과하며, 전자 장치(100)는 운송 장치에 장착되어 운송 장치의 동작을 제어할 수 있는 장치로 구현될 수 있다. 예를 들어, 전자 장치(100)가 운송 기기를 제어하는 운송 기기의 일부인 경우, 전자 장치(100)는, 예로, ADAS(Advanced Driver Assist System)와 같은 첨단 운전 보조 시스템일 수도 있고, 시스템의 일부일 수도 있다. 또는, 전자 장치(100)는, 예로, 운송 장치의 운행과 관련된 다양한 기능 등을 전자적으로 제어하는 ECU(Electronic Control Unit)와 같은 전자 제어 장치일 수도 있고, 상기 장치 일부일 수도 있다.Meanwhile, the
또 다른 실시예로, 전자 장치(100)가 운송 장치에 장착되는 외부 장치인 경우, 전자 장치(100)는 예로, 차량용 커넥터(예: OBD 단자 또는 OBD 커넥터 등)에 연결되는 자기 진단 기기(on board diagnostics, OBD), 네비게이션 등과 같은 운전 보조 장치가 될 수 있으며, 또는 이들의 일부가 될 수도 있다. 한편, 본 개시에서, 운송 장치는 사람이 탑승하거나 또는 화물이 적재되어 이동할 수 있는 장치가 될 수 있으며, 예로, 차량, 비행기, 오토바이, 선박 또는 기차 등을 포함할 수 있다.In another embodiment, when the
그리고, 또 다른 실시예로, 전자 장치(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
이하에서는, 도 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
메모리(110)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 그리고, 메모리(110)는 프로세서(120)에 의해 액세스되며, 프로세서(120)에 의한 데이터의 판독(readout)/기록/삭제/갱신 등이 수행될 수 있다. The
특히, 메모리(110)는 프로세서(120)에 포함된 복수의 코어(core)에서 실행될 복수의 인스트럭션 집합(instruction set) 및 학습된 신경망 모델(20)을 저장할 수 있다. 비휘발성 메모리에 저장되어 있는 복수의 인스트럭션 집합 및 학습된 신경망 모델(20)은 프로세서(120) 제어에 의해 휘발성 메모리로 로딩될 수 있다. 그리고, 프로세서(120)에 포함된 코어는 휘발성 메모리로 로딩된 복수의 인스트럭션을 실행할 수 있다. 그리고, 휘발성 메모리(120)로 로딩된 학습된 신경망 모델(120)은 전용 코어에서 실행되는 인스트럭션을 모니터링할 수 있다. 한편, 로딩(loading)이란 프로세서(120)가 액세스할 수 있도록 비휘발성 메모리에 저장된 데이터를 휘발성 메모리에 불러들여 저장하는 동작을 의미한다.In particular, the
한편, 인스트럭션은 프로그램 작성 언어에서 프로세서(120)가 직접 실행할 수 있는 하나의 동작 문장(action statement)을 의미하며, 프로그램의 실행 또는 동작에 대한 최소 단위이다. 인스트럭션은 명령 코드(또는, 연산자)(opcode) 및 피연산자(또는, 인자)(operand)로 구성되어 있다. 명령 코드는 인스트럭션에 대응되는 동작의 유형을 나타낼 수 있으며 피연산자는 명령 코드의 연산 대상이 되는 대상으로 데이터 또는 데이터가 저장되어 있는 메모리(110) 또는 레지스터(register)의 주소(address)에 대한 정보로 구성될 수 있다.Meanwhile, an instruction means one action statement that the
메모리(110)에 저장되어 있는 복수의 인스트럭션 집합에는 복수의 안전 기능에 대응되는 인스트럭션과 안전 기능과 상이한 일반 기능에 대응되는 인스트럭션이 포함될 수 있다. The plurality of instruction sets stored in the
학습된 신경망 모델(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
그리고, 도 1에는 학습된 신경망 모델(20)이 한 개로 구현되어 있으나 이는 일 실시예에 불과하며, 전용 코어 개수에 따라 학습된 신경망 모델(20)의 개수도 결정될 수 있다. 예를 들어, 전용 코어가 2개인 경우, 학습된 신경망 모델은 각 전용 코어에서 실행되는 인스트럭션을 모니터링할 수 있도록 2개로 구성될 수 있다. 즉, 도 1에 도시된 바와 같이, 하나의 학습된 신경망 모델(20)이 복수의 전용 코어(10-1, 10-2)에서 실행되는 인스트럭션을 동시에 모니터링할 수 있으나, 복수의 학습된 신경망 모델이 복수의 전용 코어를 하나씩 전담하여 각 전용 코에서 실행되는 인스트럭션을 모니터링할 수 있다.In addition, although one trained
학습된 신경망 모델(20)은 비휘발성 메모리에 저장되어 있다가 프로세서(120) 제어에 의해 휘발성 메모리에 로딩될 수 있다. 일 실시예로, 전자 장치(100)의 전원이 온(on)되면, 신경망 모델(20)은 프로세서(120) 제어에 의해 전원이 오프(off)될 때까지 휘발성 메모리에 로딩되어 있을 수 있다. 즉, 전자 장치(100)의 전원이 온 되어 있을 때는 항상 학습된 신경망 모델(20)이 휘발성 메모리에 로딩되어 있을 수 있다. The learned
또 다른 실시예로, 전자 장치(100)가 기정의된 동작을 수행하는 경우, 프로세서(120)는 신경망 모델(20)을 휘발성 메모리에 로딩할 수 있다. 즉, 전자 장치(100)가 기정의된 동작을 수행하는 경우에만 프로세서(120)가 신경망 모델을 휘발성 메모리로 로딩함으로써, 프로세서(120)의 사용률(usage)을 감소시킬 수 있다. 신경망 모델(20)을 휘발성 메모리에 로딩할 수 있는 동작은 전자 장치(100)의 사용자 명령에 의해 정의될 수 있다. 즉, 프로세서(120)는 특정 동작을 수행할 때, 신경망 모델(20)을 휘발성 메모리로 로딩하라는 사용자 명령을 키보드, 터치 센서, 마이크 등으로 구현된 입력부를 통해 입력받을 수 있다. 따라서, 전자 장치(100)가 사용자 명령에 의해 정의된 동작을 수행하는 경우, 프로세서(120)는 신경망 모델(20)을 휘발성 메모리에 로딩할 수 있다.As another embodiment, when the
예를 들어, 프로세서(120)는 사용자로부터 전자 장치(100)가 정지해있다가 이동하는 동작을 수행할 때, 신경망 모델(20)을 휘발성 메모리로 로딩하라는 명령을 키보드 또는 터치 센서를 통해 입력받을 수 있다. 그 후, 전자 장치(100)가 정지해있다가 이동하는 동작을 수행하면, 프로세서(120)는 비휘발성 메모리에 저장되어 있는 학습된 신경망 모델(20)을 휘발성 메모리에 로딩할 수 있다. 그리고, 프로세서(120)가 다양한 장치로 구현될 수 있는 입력부를 통해 입력받는 사용자 명령에 의해 기정의된 동작은 추가/삭제/수정될 수 있음은 물론이다.For example, the
한편, 비휘발성 메모리는 전력 공급이 중단되더라도 저장된 정보를 유지할 수 있는 메모리(예를 들어, 플래시 메모리(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
도 1은 휘발성 메모리가 프로세서(120)의 일 구성요소로 프로세서(120)에 포함된 실시예를 도시한 것이나, 휘발성 메모리는 프로세서(120)와 별개의 구성 요소로도 구현될 수 있다. 즉, 본 개시를 설명함에 있어서는 휘발성 메모리를 프로세서(120)의 일 구성 요소로 프로세서(120)에 포함된 형태인 경우를 전제로 설명할 것이지만, 이는 본 개시에 따른 전자 장치(100)의 동작을 명확하게 설명하기 위한 것일 뿐이며, 본 개시에 따른 휘발성 메모리는 프로세서(120)와 별개의 구성 요소로 구현될 수 있음은 물론이다.1 illustrates an embodiment in which the volatile memory is included in the
프로세서(120)는 메모리(120)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작을 제어할 수 있다. 본 개시를 설명함에 있어, 프로세서(120)는 하나 또는 복수의 프로세서로 구성될 수 있으며, CPU(Central Processing unit)과 같은 범용 프로세서로 구현될 수 있다. 다만, 이는 일 실시예에 불과하며, 프로세서(120)는 GPU(graphics-processing Unit), VPU (Visual Processing Unit) 등과 같은 그래픽 전용 프로세서 또는 NPU(Neural Processing Unit)와 같은 인공지능 전용 프로세서로 구현될 수 있음은 물론이다.The
특히, 프로세서(120)는 복수의 코어(10-1,10-2,10-3,10-4)를 포함할 수 있다. 구체적으로, 복수의 코어는 프로세서(120) 내의 다이(die)(10) 상에 포함될 수 있다. 코어는 프로세서(120) 내에서 인스트럭션의 실행 등 각종 연산을 수행하는 핵심 처리 회로를 포함하는 구성 요소일 수 있다. 도 1에는 하나의 다이(10)에 복수의 코어가 포함된 것으로 도시되어 있으나 이는 일 실시예에 불과하며 다이는 복수 개 존재할 수 있다. 그리고, 다이가 복수개 존재할 경우, 각 다이에 기설정된 개수의 코어가 포함될 수 있음은 물론이다.In particular, the
한편, 도 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
전자 장치(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
한편, 프로세서(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
한편, 학습된 신경망 모델(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
일 실시예로, 획득된 확률 값이 임계 범위 이하인 경우, 프로세서(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
한편, 프로세서(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
그리고, 프로세서(120)는 식별 결과에 기초하여 전자 장치(100)의 동작 상태를 안전 상태 또는 일반 상태 중 하나로 결정할 수 있다. 구체적으로, 적어도 하나의 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션이라고 식별되면, 프로세서(120)는 전자 장치(100)의 동작 상태를 일반 상태에서 안전 상태(safe state)로 전환할 수 있다. 전자 장치(100)의 상태가 안전 상태로 전환되면, 프로세서(120)는 적어도 하나의 코어에 안전 기능과 상이한 일반 기능에 대응되는 인스트럭션이 식별되었음을 나타내는 메시지를 제공할 수 있다. 예를 들어, 프로세서(120)는 메모리(110)에 기등록된 사용자의 단말 장치로 일반 기능에 대응되는 인스트럭션이 식별되었다는 메시지를 전송하도록 통신부를 제어할 수 있다. 또 다른 예로, 프로세서(120)는 일반 기능에 대응되는 인스트럭션이 식별되었다는 메시지를 표시하도록 디스플레이를 제어하거나, 메시지를 음성 형태로 출력할 수 있다.In addition, the
또 다른 예로, 전자 장치(100)의 동작 상태가 안전 상태로 전환되면, 프로세서(120)는 전자 장치(100)가 수행하는 일반 동작을 중지하거나 전자 장치(100)의 전원을 차단할 수 있다. 예를 들어, 전용 코어(10-1, 10-2)에서 안전 기능과 상이한 일반 기능에 대응되는 인스트럭션을 실행함으로써 전자 장치(100)가 일반 동작을 수행하게 된 경우, 프로세서(120)는 현재 전자 장치(100)가 수행하는 일반 동작을 중지시키거나 전원을 차단할 수 있다.As another example, when the operating state of the
한편, 전자 장치(100)의 상태가 안전 상태로 전환되는 경우, 프로세서(120)가 수행하도록 제어할 동작은 안전 무결성 기준에 의해 결정될 수 있다. 예를 들어, 전용 코어(10-1, 10-2)에서 실행될 안전 기능의 안전 무결성 기준 등급이 기설정된 등급 이하인 경우, 동작 상태가 안전 상태로 전환되면, 프로세서(120)는 일반 기능에 대응되는 인스트럭션이 식별되었다는 메시지만 제공하고, 일반 기능의 동작을 중지하거나 전자 장치(100)의 전원은 차단하는 동작은 수행하지 않도록 제어할 수 있다. 그리고, 전용 코어(10-1, 10-2)에서 실행될 안전 기능의 안전 무결성 기준이 기설정된 등급을 초과한 경우, 안전 상태로 전환되면, 프로세서(120)는 일반 기능에 대응되는 인스트럭션을 식별하였다는 메시지를 제공함과 동시에 전자 장치(100)가 수행하고 있는 일반 기능을 중지시키거나 전원을 차단하도록 제어할 수 있다. 다만, 이는 일 실시예에 불과하며, 안전 상태로 전환된 경우의 동작은 다양하게 구현될 수 있으며 사용자 명령에 의해 변경/추가/수정될 수 있음은 물론이다.Meanwhile, when the state of the
한편, 패키지 업데이트 등을 통해 전자 장치(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
그리고, 메모리(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
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 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
그리고, 전자 장치(100)는 전용 코어에서 실행되는 인스트럭션이 안전 기능에 대응되는 인스트럭션일 확률을 획득할 수 있다(S220). 구체적으로, 전자 장치(100)는 전용 코어에서 실행되는 인스트럭션을 학습된 신경망 모델에 입력할 수 있다. 학습된 신경망 모델은 입력된 인스트럭션이 전용 코어에서 실행되기로 설정된 안전 기능에 대응되는 인스트럭션인지 여부를 확률 값을 통해 식별할 수 있다.Then, the
한편, 전자 장치(100)는 전용 코어에서 실행될 적어도 하나의 안전 기능에 대응되는 복수의 인스트럭션에 대한 정보를 바탕으로 신경망 모델을 학습시킬 수 있다. 이 때, 복수의 인스트럭션에 대한 정보(또는, 복수의 인스트럭션에 대한 컨텍스트 정보)는 복수의 인스트럭션 각각의 명령 코드, 명령 코드의 인자 및 복수의 인스트럭션 각각에 대응되는 레지스터에 대한 정보 등을 포함할 수 있다. 그리고, 전자 장치(100)에 의해 학습된 신경망 모델은 전용 코어에서 실행되는 인스트럭션 중 안전 기능에 대응되는 인스트럭션이 존재할 확률을 출력할 수 있다. 예를 들어, 현재 전용 코어에서 실행되는 인스트럭션의 패턴이 안전 기능에 대응되는 인스트럭션의 패턴과 상이할수록, 신경망 모델은 낮은 확률 값을 출력할 수 있다.Meanwhile, the
그리고, 전자 장치(100)는 학습된 신경망 모델이 출력한 확률 값이 임계 범위를 이하인지 여부를 식별할 수 있다(S230). 이 때, 전자 장치(100)는 ANSI/ISA-S84.01과 IEC 61508에서 사용되는 안전 무결성 기준에 따라 임계 범위를 결정할 수 있다. 예를 들어, 전용 코어(10-1, 10-2)에 의해 실행될 인스트럭션에 대응되는 안전 기능의 안전 무결성 기준이 높은 등급일수록, 전자 장치(100)는 임계 범위를 높은 값으로 결정할 수 있다. 따라서, 전용 코어(10-1, 10-2)가 인스트럭션을 실행함으로써 수행될 안전 기능의 안전 무결성 기준이 높을수록 임계 범위를 높힘으로써, 전자 장치(100)는 일반 기능에 대응되는 인스트럭션을 안전 기능에 대응되는 인스트럭션으로 잘못 판단할 확률을 감소시킬 수 있다.Then, the
일 실시예로, 확률 값이 임계 범위를 초과한다는 것은 전용 코어에서 실행되는 인스트럭션이 안전 기능에 대응되는 인스트럭션일 확률이 높다는 것을 의미할 수 있다. 따라서, 신경망 모델이 출력한 확률 값이 임계 범위를 초과한 경우, 전자 장치(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
또 다른 실시예로, 확률 값이 임계 범위 이하라는 것은 전용 코어에서 실행되는 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션일 확률이 높다는 것을 의미할 수 있다. 따라서, 신경망 모델이 출력한 확률 값이 임계 범위 이하인 경우, 전자 장치(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
도 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
본 개시의 일 실시예로, 전자 장치(100)는 안전 기능만을 수행하도록 설정된 적어도 하나의 코어 중 제1 코어에서 실행되는 인스트럭션 집합(instruction set)(300)을 학습된 신경망 모델(20)에 입력할 수 있다. 학습된 신경망 모델(20)은 입력된 인스트럭션 집합에 포함된 인스트럭션의 패턴과 제1 코어에서 실행되기로 설정된 안전 기능에 대응되는 인스트럭션의 패턴을 비교할 수 있다. 그리고, 학습된 신경망 모델(20)은 인스트럭션 집합에 포함된 인스트럭션의 패턴과 안전 기능에 대응되는 인스트럭션의 패턴이 상이한지 여부를 바탕으로 확률 값을 출력할 수 있다. 이 때, 확률 값은 제1 코어에서 실행되는 인스트럭션 중 일부가 안전 기능에 대응되는 인스트럭션일 확률 값일 수 있다.As an embodiment of the present disclosure, the
예를 들어, 도 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
한편, 또 다른 실시예로, 전자 장치(100)는 감지한 이상 패턴에 대한 정보를 전자 장치(100)를 관리하는 서버 또는 관리자의 장치에 전송할 수 있다. 그리고, 서버 또는 관리자의 장치로부터 전자 장치(100)가 감지한 이상 패턴이 문제없다는 신호를 수신하면, 전자 장치(100)는 동작 상태를 안전 상태에서 일반 상태로 전환할 수 있다. 또 다른 예로, 서버 또는 관리자의 장치로부터 감지한 이상 패턴과 관련된 문제를 해결할 수 있는 정보를 수신하면, 전자 장치(100)는 수신된 정보를 바탕으로 전용 코어에서 실행되는 인스트럭션이 안전 기능에 대응되는 인스트럭션이 되도록 메모리(110)에 저장된 복수의 인스트럭션 중 일부를 수정할 수 있다. 예를 들어, 전자 장치(100)는 이상 패턴을 감지하게 한 두 개의 인스트럭션(IMM R3, 0X4 및 STORE R0, R2)을 삭제 또는 수정할 수 있다.Meanwhile, as another embodiment, the
도 4는 본 개시의 일 실시예에 따른, 전자 장치(100)의 동작을 설명하기 위한 도면이다. 도 4는 전자 장치(100)가 리테일 봇으로 구현된 경우를 도시하였으나 이는 일 실시예에 불과하며 다양한 장치로 구현될 수 있음은 물론이다.4 is a diagram for explaining an operation of the
리테일 봇으로 구현된 전자 장치(100)는 일반 상태로 동작하는 경우, 고객을 응대하는 메시지(400) 등을 제공하는 동시에 기정의된 일반 기능 및 안전 기능을 수행할 수 있다. 예를 들어, 일반 상태로 동작하는 동안, 전자 장치(100)가 수행하는 일반 기능은 전자 장치(100)의 속도를 조절하는 기능일 수 있다. 그리고, 전자 장치(100)의 속도를 조절하는 기능을 모니터링 또는 제어할 수 있는 안전 기능은 최고 속도 위반 모니터링 기능일 수 있다. 따라서, 전자 장치(100)는 이동 속도에 대응되는 일반 기능 및 안전 기능을 수행하면서 손님을 응대하는 메시지 또는 동작을 수행할 수 있다.When the
한편, 외부 장치(예를 들어, 외부 서버, 기록 매체 등) 또는 사용자로부터 각종 기능을 업데이트하기 위한 명령 또는 신호가 수신되면, 전자 장치(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
따라서, 전자 장치(100)는 복수의 코어 중 안전 기능만을 수행하도록 설정된 전용 코어에서 실행될 인스트럭션을 모니터링할 수 있다. 구체적으로, 전자 장치(100)는 전용 코어에서 실행될 인스트럭션이 안전 기능에 대응되는 인스트럭션인지 여부를 식별할 수 있다. 예를 들어, 전자 장치(100)는 전용 코어에서 실행될 인스트럭션의 패턴과 안전 기능에 대응되는 인스트럭션의 패턴을 비교함으로써 확률 값을 획득할 수 있다. 이 때, 확률 값은 전용 코어에서 실행되는 인스트럭션이 안전 기능에 대응되는 인스트럭션일 확률 값일 수 있다. 획득한 확률 값이 임계 범위 이하인 경우, 전자 장치(100)는 전용 코어에서 실행될 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션이라고 식별할 수 있다.Accordingly, the
전용 코어에서 실행될 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션이라고 식별된 경우, 전자 장치(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
따라서, 전자 장치(100)는 안전 상태로 동작하여 전용 코어에서 안전 기능과 상이한 기능에 대응되는 인스트럭션이 실행되었다는 메시지(430)(예를 들어, '안전 상태로 전환합니다.' 등)를 제공할 수 있다. 메시지는 도 4에 도시된 바와 같이 음성 형태로 출력될 수 있으나 이는 일 실시예에 불과하며 디스플레이에 표시할 수 있다. 또 다른 예로, 전자 장치(100)는 전원을 차단하거나 현재 수행 중인 일반 기능 또는 안전 기능의 동작을 중지할 수 있다. 예를 들어, 전자 장치(100)는 이동하면서 손님에게 응대 메시지를 제공하는 동작을 중지하고 현재 위치에서 안전 기능과 관련된 문제가 발생하였다는 메시지를 제공할 수 있다. Accordingly, the
또 다른 예로, 동작 상태가 안전 상태로 전환되면, 전자 장치(100)는 전용 코어에서 실행되었다고 식별된 안전 기능과 상이한 기능에 대응되는 인스트럭션과 관련된 정보를 전자 장치(100)를 관리하는 서버 또는 관리자의 장치로 전송할 수 있다. 그리고, 전자 장치(100)는 서버 또는 관리자의 장치로부터 수신된 인스트럭션에 대한 정보를 바탕으로 동작 상태를 결정할 수 있다. 예를 들어, 서버 또는 관리자의 장치로부터 전용 코어에서 실행된 인스트럭션이 안전 기능에 대응되는 인스트럭션이라는 정보를 수신한 경우, 전자 장치(100)는 동작 상태를 안정 상태에서 다시 일반 상태로 전환할 수 있다. 그리고 또 다른 예로, 서버 또는 관리자의 장치로부터 인스트럭션을 삭제 또는 수정하라는 정보를 수신하면, 전자 장치(100)는 수신한 정보를 바탕으로 메모리(110)에 저장된 복수의 인스트럭션 중 일부를 수정하여 전용 코어에서 안전 기능에 대응되는 인스트럭션만을 실행하도록 제어할 수 있다. 그리고, 전자 장치(100)는 동작 상태를 안전 상태에서 일반 상태로 전환할 수 있다.As another example, when the operating state is switched to the safe state, the
도 5는 본 개시의 일 실시예에 따른, 전자 장치(100)와 서버(200)간의 동작을 설명하기 위한 시퀀스도이다. 도 5는 서버(200)에 전자 장치(100)의 전용 코어에서 실행되는 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션인지 여부를 식별할 수 있는 학습된 신경망 모델이 저장된 경우를 설명하기 위한 시퀀스도이다.5 is a sequence diagram illustrating an operation between the
우선, 전자 장치(100)는 적어도 하나의 코어에서 실행되는 인스트럭션을 학습된 신경망 모델을 포함하는 서버(200)에 전송할 수 있다(S510). 이 때, 적어도 하나의 코어는 안전 기능에 대응되는 인스트럭션만을 실행하도록 설정된 전용 코어일 수 있다. 서버(200)는 학습된 신경망 모델을 통해 수신된 인스트럭션과 관련된 정보를 획득할 수 있다(S520). 서버(200)가 획득한 인스트럭션과 관련된 정보는 전자 장치(100)로부터 수신된 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션일 확률 값, 수신된 인스트럭션 상에서 감지된 이상 패턴에 대한 정보, 감지된 이상 패턴을 해결하기 위한 수정 정보 등을 포함할 수 있다. 그리고, 서버(200)는 획득된 인스트럭션에 대한 정보를 전자 장치(100)에 전송할 수 있다(S530). First, the
그리고, 전자 장치(100)는 서버(200)로부터 수신된 인스트럭션에 대한 정보를 바탕으로 동작 상태를 결정할 수 있다(S540). 일 실시예로, 전용 코어에서 실행된 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션일 확률이 임계 범위 이하라는 정보를 서버(200)로부터 수신된 경우, 전자 장치(100)는 동작 상태를 일반 상태에서 안전 상태로 전환할 수 있다. 그리고, 안전 상태로 동작하는 동안, 전자 장치(100)는 서버(200)로부터 수신된 이상 패턴을 해결하기 위한 수정 정보를 바탕으로 메모리(110)에 저장된 복수의 인스트럭션을 수정할 수 있다.Then, the
또 다른 예로, 전용 코어에서 실행된 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션일 확률이 임계 범위를 초과한다는 정보를 서버(200)로부터 수신된 경우, 전자 장치(100)는 일반 상태로 동작하면서 일반 기능 및 안전 기능을 수행할 수 있다.As another example, when information is received from the
도 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
통신부(130)는 회로를 포함하며, 서버(미도시) 또는 외부 장치(미도시)와의 통신을 수행할 수 있다. 구체적으로, 프로세서(120)는 통신부(130)를 통해 연결된 서버(미도시) 또는 외부 장치(미도시)로부터 각종 데이터 또는 정보를 수신 및 전송할 수 있다. 그리고, 전자 장치(100)가 일반 상태로 동작하는 동안, 통신부(130)는 학습된 신경망 모델을 포함하는 서버로 전송할 수 있다. 즉, 전용 코어에서 실행되는 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션인지 여부를 식별할 수 있는 신경망 모델이 외부 서버에 저장된 경우, 통신부(130)는 프로세서(120) 제어에 의해 전용 코어에서 실행되는 인스트럭션을 외부 서버에 전송할 수 있다. 그리고, 통신부(130)는 신경망 모델을 포함하는 서버로부터 전용 코어에서 실행된 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션인지 여부와 관련된 정보를 수신할 수 있다. 따라서, 프로세서(120)는 통신부(130)를 통해 수신된 정보를 통해 동작 상태를 안전 상태로 전환할지 여부를 결정할 수 있다. The
그리고, 통신부(130)는 외부 서버로부터 메모리(120)에 저장된 신경망 모델을 학습시킬 수 있는 학습 데이터를 수신할 수 있다. 학습 데이터는 복수의 인스트럭션 각각의 명령 코드, 명령 코드의 인자 및 복수의 인스트럭션 각각에 대응되는 레지스터에 대한 정보를 포함할 수 있다.In addition, the
한편, 통신부(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
디스플레이(140)는 LCD(Liquid Crystal Display Panel), OLED(Organic Light Emitting Diodes) 등으로 구현될 수 있으며, 경우에 따라 플렉서블 디스플레이, 투명 디스플레이 등으로 구현되는 것도 가능하다. 그리고, 디스플레이(140)는 터치 패널과 함께 터치 스크린으로도 구현될 수 있다. 그러나 상술한 구현으로 한정되는 것은 아니며, 디스플레이(140)는 전자 장치(100)의 유형에 따라 다르게 구현될 수 있다.The
그리고, 디스플레이(140)는 프로세서(120) 제어에 의해 다양한 정보를 표시할 수 있다. 특히, 디스플레이(140)는 전용 코어에서 안전 기능과 상이한 기능에 대응되는 인스트럭션이 식별되었다는 메시지 또는 인디케이터를 표시할 수 있다.In addition, the
입력부(150)는 회로를 포함하며, 프로세서(120)는 입력부(150)를 통해 전자 장치(100)의 동작을 제어하기 위한 사용자 명령을 수신할 수 있다. 입력부(150)는 터치 센서, (디지털) 펜 센서, 압력 센서, 키, 또는 마이크를 포함할 수 있다. 터치 센서는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다.The
특히, 입력부(150)를 통해 새로운 기능을 업데이트할 수 있는 명령을 입력받을 수 있다. 그리고, 입력부(150)는 비휘발성 메모리에 저장된 신경망 모델을 휘발성 메모리에 로딩하도록 하는 동작과 관련된 동작을 입력받을 수 있다. 또한, 입력부(150)는 전자 장치의 동작 상태를 전환시킬 수 있는 사용자 명령을 입력받을 수 있다.In particular, a command for updating a new function may be input through the
주행부(160)는 전자 장치(100)를 이동시킬 수 있는 구성이며, 모터 및 복수 개의 바퀴를 포함할 수 있다. 구체적으로, 주행부(160)는 프로세서(120) 제어에 의해 전자 장치(100)의 이동 방향 및 이동 속도를 변경할 수 있다. 그리고, 안전 상태로 전환되면, 주행부(160)는 프로세서(120) 제어에 의해 전자 장치(100)의 동작을 중지시킬 수 있다.The driving
스피커(170)는 오디오 처리부(미도시)에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 출력하는 구성이다. 특히, 스피커(170)는 전용 코어에서 실행되는 인스트럭션이 안전 기능과 상이한 기능에 대응되는 인스트럭션으로 식별되었다는 메시지를 음성 형태로 출력하거나 알림음을 출력할 수 있다.The
센서(180)는 전자 장치(100)의 다양한 상태 정보를 감지할 수 있다. 예로, 센서(180)는 전자 장치(100)의 움직임 정보를 감지할 수 있는 움직임 센서(예로, 자이로 센서, 가속도 센서 등)를 포함할 수 있으며, 위치 정보를 감지할 수 있는 센서(예로, GPS(Global Positioning System) 센서), 전자 장치(100) 주위의 환경 정보를 감지할 수 있는 센서(예로, 온도 센서, 습도 센서, 기압 센서 등), 전자 장치(100)의 사용자 정보를 감지할 수 있는 센서(예로, 혈압 센서, 혈당 센서, 맥박수 센서 등), 사용자의 존재를 감지할 수 있는 센서(예로, 카메라, UWB 센서, IR 센서, 근접 센서, 광센서 등) 등을 포함할 수 있다. 그 밖에, 센서(180)는 전자 장치(100)의 외부를 촬영하기 위한 이미지 센서 등을 더 포함할 수 있다.The
도 7은 본 개시의 일 실시예에 따른, 전자 장치(100)의 제어 방법을 설명하기 위한 순서도이다.7 is a flowchart illustrating a method of controlling the
우선, 일반 상태로 동작하는 동안 적어도 하나의 코어에서 적어도 하나의 인스트럭션이 실행되면, 전자 장치(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
식별결과에 기초하여, 전자 장치(100)는 동작 상태를 일반 상태 또는 안전 상태 중 하나로 결정할 수 있다(S720). 구체적으로, 학습된 신경망 모델을 통해 획득된 확률 값이 임계 범위 이하인 경우, 전자 장치(100)는 전용 코어에서 안전 기능과 상이한 기능에 대응되는 인스트럭션이 실행되고 있음을 식별할 수 있다. 이 때, 전자 장치(100)는 동작 상태를 안전 상태로 전환할 수 있다. 그리고, 전자 장치(100)는 동작 상태를 안전 상태로 전환하여 전원을 차단하거나 현재 수행중인 일반 기능 등을 중지할 수 있다. 또 다른 예로, 전자 장치(100)는 안전 상태로 전환하면서 전용 코어에서 안전 기능과 상이한 기능에 대응되는 인스트럭션이 실행되고 있음을 나타내는 메시지를 제공할 수 있다.Based on the identification result, the
한편, 학습된 신경망을 통해 획득된 확률 값이 임계 범위를 초과한 경우, 전자 장치(100)는 전용 코어에서 안전 기능에 대응되는 인스트럭션이 실행되는 것으로 식별할 수 있다. 이 때, 전자 장치(100)는 동작 상태를 일반 상태로 유지할 수 있다.Meanwhile, when the probability value obtained through the learned neural network exceeds the threshold range, the
한편, 본 개시에 첨부된 도면은 본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시예의 다양한 변경(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.
상기 프로세서는,
상기 적어도 하나의 코어는 상기 안전 기능에 대응되는 인스트럭션만을 실행하는 전용 코어인 것을 특징으로 하는 전자 장치.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.
상기 신경망 모델은 상기 안전 기능에 대응되는 인스트럭션에 대한 정보를 바탕으로 학습된 모델이며,
상기 복수의 인스트럭션에 대한 정보는,
상기 복수의 인스트럭션 각각의 명령 코드(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.
상기 프로세서는,
상기 신경망 모델을 통해 상기 적어도 하나의 코어에서 실행되는 적어도 하나의 인스트럭션이 상기 안전 기능에 대응되는 인스트럭션일 확률을 획득하고,
상기 획득된 확률이 임계 범위 이하인 경우, 상기 적어도 하나의 인스트럭션은 상기 안전 기능과 상이한 기능에 대응되는 인스트럭션으로 식별하는 전자 장치.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.
상기 임계 범위는,
상기 안전 기능의 안전 무결성 레벨(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.
상기 프로세서는,
상기 적어도 하나의 인스트럭션이 상기 안전 기능에 대응되는 인스트럭션이라고 식별되면, 상기 전자 장치의 동작 상태를 상기 제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.
상기 프로세서는,
상기 복수의 코어 중 상기 적어도 하나의 코어를 제외한 나머지 코어에서 수행될 일반 기능에 대응되는 인스트럭션이 업데이트되면, 상기 신경망 모델을 이용하여 상기 메모리에 저장된 상기 적어도 하나의 코어에서 실행될 인스트럭션 중 상기 안전 기능과 상이한 기능에 대응되는 인스트럭션이 존재하는지 여부를 식별하는 전자 장치.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.
상기 프로세서는,
상기 전자 장치의 동작 상태가 상기 제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.
상기 프로세서는,
상기 전자 장치의 동작 상태가 상기 제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 상태로 동작하는 동안, 상기 적어도 하나의 코어에서 실행되는 적어도 하나의 인스트럭션을 학습된 신경망을 포함하는 서버로 전송하도록 상기 통신부를 제어하고,
상기 서버로부터 상기 적어도 하나의 인스트럭션이 상기 안전 기능과 상이한 기능에 대응되는 인스트럭션인지 여부에 대한 정보를 상기 통신부를 통해 수신한 전자 장치.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.
상기 적어도 하나의 코어는 상기 안전 기능에 대응되는 인스트럭션만을 실행하는 전용 코어인 것을 특징으로 하는 제어 방법.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.
상기 신경망 모델은 상기 안전 기능에 대응되는 인스트럭션에 대한 정보를 바탕으로 학습된 모델이며,
상기 복수의 인스트럭션에 대한 정보는,
상기 복수의 인스트럭션 각각의 명령 코드(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.
상기 식별하는 단계는,
상기 신경망 모델을 통해 상기 적어도 하나의 코어에서 실행되는 적어도 하나의 인스트럭션이 상기 안전 기능에 대응되는 인스트럭션일 확률을 획득하는 단계; 및
상기 획득된 확률이 임계 범위 이하인 경우, 상기 적어도 하나의 인스트럭션은 상기 안전 기능과 상이한 기능에 대응되는 인스트럭션으로 식별하는 단계;를 포함하는 제어 방법.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.
상기 임계 범위는,
상기 안전 기능의 안전 무결성 레벨(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.
상기 결정하는 단계는,
상기 적어도 하나의 인스트럭션이 상기 안전 기능에 대응되는 인스트럭션이라고 식별되면, 상기 전자 장치의 동작 상태를 상기 제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.
상기 식별하는 단계는,
상기 복수의 코어 중 상기 적어도 하나의 코어를 제외한 나머지 코어에서 수행될 일반 기능에 대응되는 인스트럭션이 업데이트되면, 상기 신경망 모델을 이용하여 상기 전자 장치의 메모리에 저장된 상기 적어도 하나의 코어에서 실행될 인스트럭션 중 상기 안전 기능과 상이한 기능에 대응되는 인스트럭션이 존재하는지 여부를 식별하는 단계;를 포함하는 제어 방법.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.
상기 전환하는 단계는,
상기 전자 장치의 동작 상태가 상기 제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.
상기 전환하는 단계는,
상기 전자 장치의 동작 상태가 상기 제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.
상기 전자 상태가 상기 제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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023063556A1 (en) * | 2021-10-12 | 2023-04-20 | 삼성전자주식회사 | Electronic apparatus and method for controlling thereof |
-
2020
- 2020-03-23 KR KR1020200035283A patent/KR20210074155A/en active Search and Examination
Cited By (1)
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 |