KR20230100136A - Method for peripheral device sharing using multi-core processor and electronic apparatus using same - Google Patents

Method for peripheral device sharing using multi-core processor and electronic apparatus using same Download PDF

Info

Publication number
KR20230100136A
KR20230100136A KR1020210189764A KR20210189764A KR20230100136A KR 20230100136 A KR20230100136 A KR 20230100136A KR 1020210189764 A KR1020210189764 A KR 1020210189764A KR 20210189764 A KR20210189764 A KR 20210189764A KR 20230100136 A KR20230100136 A KR 20230100136A
Authority
KR
South Korea
Prior art keywords
core
peripheral device
application mode
information
stored
Prior art date
Application number
KR1020210189764A
Other languages
Korean (ko)
Other versions
KR102608939B1 (en
Inventor
조성래
김장훈
이성훈
이재성
Original Assignee
재단법인대구경북과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 재단법인대구경북과학기술원 filed Critical 재단법인대구경북과학기술원
Priority to KR1020210189764A priority Critical patent/KR102608939B1/en
Publication of KR20230100136A publication Critical patent/KR20230100136A/en
Application granted granted Critical
Publication of KR102608939B1 publication Critical patent/KR102608939B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake

Abstract

전자 장치가 개시된다. 본 전자 장치는 복수의 코어 CPU를 포함하는 멀티코어 프로세서, 멀티코어 프로세서의 제어 명령에 따라 동작하는 복수의 주변장치, 복수의 어플리케이션 모드 중 현재 어플리케이션 모드에 대한 정보 및 복수의 어플리케이션 모드별 복수의 코어 CPU 각각에 할당된 주변 장치의 정보를 저장하는 메모리를 포함하고, 멀티코어 프로세서는, 부팅시에 메모리에 저장된 현재 어플리케이션 모드에 대한 정보에 기초하여 현재 어플리케이션 모드를 결정하고, 저장된 주변 장치의 정보에 기초하여 각 코어 CPU에서 사용할 주변 장치를 할당한다. An electronic device is disclosed. The present electronic device includes a multi-core processor including a multi-core CPU, a plurality of peripheral devices operating according to control commands of the multi-core processor, information on a current application mode among a plurality of application modes, and a plurality of cores for each of a plurality of application modes. A memory for storing information on peripheral devices assigned to each CPU, wherein the multi-core processor determines a current application mode based on information about the current application mode stored in the memory during booting, and determines the current application mode based on the stored peripheral device information. Peripheral devices to be used by each core CPU are allocated based on the

Description

멀티코어 프로세서를 이용한 주변 장치 공유 방법 및 이를 이용하는 전자 장치{METHOD FOR PERIPHERAL DEVICE SHARING USING MULTI-CORE PROCESSOR AND ELECTRONIC APPARATUS USING SAME}Peripheral device sharing method using multi-core processor and electronic device using the same

본 개시는 멀티코어 프로세서를 이용한 주변 장치 공유 방법 및 이를 이용하는 전자 장치에 관한 것으로, 구체적으로 어플리케이션 모드별로 각 코어 CPU에 주변 장치를 동적으로 할당할 수 있는 주변 장치 공유 방법 및 이를 이용하는 전자 장치에 관한 것이다. The present disclosure relates to a method for sharing peripheral devices using a multi-core processor and an electronic device using the same, and more specifically, to a method for sharing peripheral devices capable of dynamically allocating peripheral devices to each core CPU for each application mode and an electronic device using the same. will be.

멀티코어 프로세서는 두개 이상의 코어 CPU를 하나의 패키지로 통합한 것으로, 멀티코어 프로세서 내의 각 코어 CPU는 주변 장치(예를 들어, CAN, CAN-FD, 이더넷 등)를 공유할 수 있으며 코어 CPU의 용도에 따라 각각 주변장치를 사전에 할당하여 사용할 수 있다. A multi-core processor integrates two or more core CPUs into one package. Each core CPU within the multi-core processor can share peripheral devices (eg, CAN, CAN-FD, Ethernet, etc.), and the purpose of the core CPU is According to this, each peripheral device can be allocated in advance and used.

그러나, 기존의 멀티코어 프로세서는 부팅 과정에서 각 코어 CPU가 자신에게 할당된 주변 장치를 소프트웨어를 이용하여 초기화하여 사용하므로, 소프트웨어를 업그레이드하기 전에는 각 코어 CPU에 할당된 주변장치를 변경할 수 없었다. However, in the conventional multi-core processor, since each core CPU initializes and uses the peripheral device assigned to it during the booting process using software, the peripheral device assigned to each core CPU cannot be changed before software is upgraded.

이러한 점에서, 기존에는 멀티코어 프로세서 내의 주변 장치의 활용에 어려움이 있었다. In this respect, conventionally, there has been difficulty in utilizing peripheral devices within a multi-core processor.

따라서 본 개시는 상술한 바와 같은 문제점을 해결하기 위한 고안된 것으로, 어플리케이션 모드별로 각 코어 CPU에 주변 장치를 동적으로 할당할 수 있는 멀티코어 프로세서를 이용한 주변 장치 공유 방법 및 이를 이용하는 전자 장치를 제공하는 데 있다. Therefore, the present disclosure has been conceived to solve the above problems, and to provide a method for sharing peripheral devices using a multi-core processor capable of dynamically allocating peripheral devices to each core CPU for each application mode and an electronic device using the same. there is.

본 개시는 이상과 같은 목적을 달성하기 위한 것으로, 본 전자 장치는 복수의 코어 CPU를 포함하는 멀티코어 프로세서, 상기 멀티코어 프로세서의 제어 명령에 따라 동작하는 복수의 주변장치, 및 복수의 어플리케이션 모드 중 현재 어플리케이션 모드에 대한 정보 및 상기 복수의 어플리케이션 모드별 상기 복수의 코어 CPU 각각에 할당된 주변 장치의 정보를 저장하는 메모리를 포함하고, 상기 멀티코어 프로세서는 부팅시에 상기 메모리에 저장된 현재 어플리케이션 모드에 대한 정보에 기초하여 현재 어플리케이션 모드를 결정하고, 상기 저장된 주변 장치의 정보에 기초하여 각 코어 CPU에서 사용할 주변 장치를 할당한다. The present disclosure is to achieve the above object, and the present electronic device includes a multi-core processor including a plurality of core CPUs, a plurality of peripheral devices operating according to control commands of the multi-core processor, and a plurality of application modes. and a memory for storing information on a current application mode and information on a peripheral device assigned to each of the plurality of core CPUs for each of the plurality of application modes, wherein the multi-core processor accesses the current application mode stored in the memory when booting. A current application mode is determined based on information about the peripheral device, and a peripheral device to be used in each core CPU is allocated based on the stored peripheral device information.

이 경우, 상기 복수의 코어 CPU 중 제1 코어 CPU는 어플리케이션 모드의 전환을 결정하고, 어플리케이션 모드의 전환이 결정되면 다른 코어 CPU에 어플리케이션 모드의 전환을 요청하고, 다른 코어 CPU로부터 어플리케이션 모드의 전환 응답을 수신하면 전환될 어플리케이션 모드에 대한 정보를 상기 메모리에 저장할 수 있다. In this case, a first core CPU among the plurality of core CPUs determines to switch the application mode, and when the decision to switch the application mode is made, requests another core CPU to switch the application mode, and the other core CPU responds to the switch of the application mode. Upon reception of , information on an application mode to be switched may be stored in the memory.

이 경우, 상기 복수의 코어 CPU 각각은 상기 메모리에 저장된 현재 어플리케이션 모드에 대한 정보 및 상기 저장된 주변 장치의 정보에 기초하여 각 코어 CPU에 사용할 주변 장치를 초기화를 수행할 수 있다. In this case, each of the plurality of core CPUs may initialize a peripheral device to be used for each core CPU based on the information about the current application mode stored in the memory and the stored information on the peripheral device.

이 경우, 상기 복수의 코어 CPU 각각은 현재 어플리케이션 모드 및 상기 저장된 주변 장치의 정보에 기초하여 각 코어 CPU에서 사용할 주변 장치를 확인하고, 기존에 사용하지 않던 신규 주변 장치가 할당되면, 상기 신규 주변 장치에 대한 초기화를 수행할 수 있다. In this case, each of the plurality of core CPUs identifies a peripheral device to be used by each core CPU based on the current application mode and the stored peripheral device information, and when a new peripheral device that has not been used before is allocated, the new peripheral device You can perform initialization for .

한편, 상기 제1 코어 CPU는 전환될 어플리케이션 모드에 대한 정보가 메모리에 저장되면, 멀티코어 프로세서의 재시작을 수행할 수 있다. Meanwhile, the first core CPU may restart the multi-core processor when information about an application mode to be switched is stored in a memory.

한편, 상기 주변 장치는 CAN, CAN-FD, 이더넷 중 적어도 하나를 포함할 수 있다. Meanwhile, the peripheral device may include at least one of CAN, CAN-FD, and Ethernet.

한편, 본 개시의 일 실시 예에 따른 복수의 코어 CPU를 포함하는 멀티코어 프로세서에서의 주변 장치 공유 방법은 부팅시에 메모리에 저장된 현재 어플리케이션 모드에 대한 정보에 기초하여 현재 어플리케이션 모드를 결정하는 단계, 상기 메모리에 저장된, 상기 복수의 어플리케이션 모드별 상기 복수의 코어 CPU 각각에 할당된 주변 장치의 정보에 기초하여 각 코어 CPU에서 사용할 주변 장치를 할당하는 단계, 및 복수의 코어 CPU 각각이 할당된 주변 장치를 초기화하는 단계를 포함한다. Meanwhile, a peripheral device sharing method in a multi-core processor including a plurality of core CPUs according to an embodiment of the present disclosure includes determining a current application mode based on information about a current application mode stored in a memory at booting time; Allocating a peripheral device to be used in each core CPU based on information stored in the memory and assigned to each of the plurality of core CPUs for each of the plurality of application modes; and peripheral devices assigned to each of the plurality of core CPUs. Including the step of initializing.

이 경우, 본 주변장치 공유 방법은 상기 복수의 코어 CPU 중 제1 코어 CPU가 어플리케이션 모드의 전환을 결정하는 단계, 상기 제1 코어 CPU가 어플리케이션 모드의 전환이 결정되면 다른 코어 CPU에 어플리케이션 모드의 전환을 요청하는 단계, 다른 코어 CPU로부터 어플리케이션 모드의 전환 응답을 수신하면, 상기 제1 코어 CPU가 전환될 어플리케이션 모드에 대한 정보를 상기 메모리에 저장하는 단계를 더 포함할 수 있다. In this case, the peripheral device sharing method includes the step of determining, by a first core CPU among the plurality of core CPUs, switching of the application mode, and when the first core CPU determines to switch the application mode, switching of the application mode to another core CPU. The method may further include requesting, and storing information on an application mode to be switched by the first core CPU in the memory when receiving an application mode switching response from another core CPU.

이 경우, 본 주변 장치 공유 방법은 상기 복수의 코어 CPU 각각이 상기 메모리에 저장된 현재 어플리케이션 모드에 대한 정보 및 상기 저장된 주변 장치의 정보에 기초하여 각 코어 CPU에 사용할 주변 장치를 초기화를 수행하는 단계를 더 포함할 수 있다. In this case, the peripheral device sharing method includes the step of initializing peripheral devices to be used for each core CPU based on the information about the current application mode stored in the memory and the stored peripheral device information, by each of the plurality of core CPUs. can include more.

이 경우, 상기 초기화를 수행하는 단계는 상기 복수의 코어 CPU 각각이 현재 어플리케이션 모드 및 상기 저장된 주변 장치의 정보에 기초하여 각 코어 CPU에서 사용할 주변 장치를 확인하고, 기존에 사용하지 않던 신규 주변 장치가 추가 할당되면, 상기 신규 주변 장치에 대한 초기화를 수행할 수 있다. In this case, in the initialization step, each of the plurality of core CPUs identifies a peripheral device to be used in each core CPU based on the current application mode and the stored peripheral device information, and a new peripheral device that has not been previously used is selected. When additionally allocated, initialization of the new peripheral device may be performed.

한편, 본 주변 장치 공유 방법은 전환될 어플리케이션 모드에 대한 정보가 메모리에 저장되면, 상기 제1 코어 CPU가 멀티코어 프로세서의 재시작을 수행할 수 있다. Meanwhile, in the peripheral device sharing method, when information on an application mode to be switched is stored in a memory, the first core CPU may restart the multicore processor.

본 개시에 따른 멀티코어 프로세서는 소프트웨어를 업그레이드하지 않고도 멀티코어 프로세서 내의 각 코어 CPU가 어플리케이션 모드별로 주변 장치를 동적으로 할당받아 사용할 수 있게 되어, 멀티코어 프로세서 내의 주변 장치의 활용성을 극대화할 수 있다. In the multi-core processor according to the present disclosure, each core CPU within the multi-core processor can dynamically allocate and use peripheral devices for each application mode without upgrading software, thereby maximizing the utilization of peripheral devices within the multi-core processor. .

도 1은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 도시한 블럭도,
도 2는 본 개시의 일 실시 예에 따른 제1 어플리케이션 모드를 설명하기 위한 도면,
도 3은 본 개시의 일 실시 예에 따른 제2 어플리케이션 모드를 설명하기 위한 도면, 그리고,
도 4는 본 개시의 일 실시 예에 따른 주변장치의 공유 방법을 설명하기 위한 흐름도이다.
1 is a block diagram showing the configuration of an electronic device according to an embodiment of the present disclosure;
2 is a diagram for explaining a first application mode according to an embodiment of the present disclosure;
3 is a diagram for explaining a second application mode according to an embodiment of the present disclosure, and
4 is a flowchart illustrating a method for sharing a peripheral device according to an embodiment of the present disclosure.

이하에서는 첨부 도면을 참조하여 본 개시에 대해서 자세하게 설명한다. 본 개시에서 수행되는 정보(데이터) 전송 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 개시 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 개시에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, 반드시 A로부터 B까지 직접 전송(전달) 또는 수신되는 것만을 표현하는 것은 아니다. Hereinafter, the present disclosure will be described in detail with reference to the accompanying drawings. Encryption/decryption may be applied to the information (data) transmission process performed in the present disclosure, if necessary, and expressions describing the information (data) transmission process in the present disclosure and claims are all encryption/decryption, even if not separately mentioned. It should be interpreted as including the case. In the present disclosure, expressions such as “transmission (delivery) from A to B” or “A receiving from B” include transmission (transmission) or reception with another medium included in the middle, and must be transmitted from A to B. It does not represent only what is directly transmitted (delivered) or received.

본 개시의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉, 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행단계로 설명된 과정보다 앞서서 수행되더라도 개시의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 "A 또는 B"라고 기재한 것은 A와 B 중 어느 하나를 선택적으로 가리키는 것뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 개시에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.In the description of the present disclosure, the order of each step should be understood as non-limiting, unless the preceding step must logically and temporally necessarily precede the succeeding step. In other words, except for the above exceptional cases, even if the process described as the later step is performed before the process described as the preceding step, the nature of the disclosure is not affected, and the scope of rights must also be defined regardless of the order of the steps. And, in this specification, "A or B" is defined to mean not only selectively indicating either one of A and B, but also including both A and B. In addition, in the present disclosure, the term "include" has a meaning encompassing further including other components in addition to the elements listed as included.

본 개시에서는 본 개시의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 개시의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 안 되며 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.In this disclosure, only essential components necessary for the description of the present disclosure are described, and components unrelated to the essence of the present disclosure are not mentioned. In addition, it should not be interpreted as an exclusive meaning that includes only the mentioned components, but should be interpreted as a non-exclusive meaning that may include other components.

이하에서는 첨부된 도면을 이용하여 본 개시의 다양한 실시 예들에 대하여 구체적으로 설명한다. Hereinafter, various embodiments of the present disclosure will be described in detail using the accompanying drawings.

도 1은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 도시한 블럭도이다. 1 is a block diagram showing the configuration of an electronic device according to an embodiment of the present disclosure.

도 1을 참조하면, 전자 장치(100)는 메모리(110), 주변 장치(120), 및 멀티 코어 프로세서(130)를 포함할 수 있다. 이러한 전자 장치는 PC, 노트북, 서버와 같은 장치뿐만 아니라, 차량용 전자 장치 등일 수 있다. Referring to FIG. 1 , an electronic device 100 may include a memory 110 , a peripheral device 120 , and a multi-core processor 130 . Such electronic devices may include devices such as PCs, notebooks, and servers, as well as electronic devices for vehicles.

메모리(110)는 전자 장치(100)에 관한 적어도 하나의 인스트럭션(instruction)이 저장될 수 있다. 구체적으로, 메모리(110)에는 본 개시의 다양한 실시 예에 따라 전자 장치(100)가 동작하기 위한 각종 프로그램(또는 소프트웨어) 등이 저장될 수 있다. The memory 110 may store at least one instruction related to the electronic device 100 . Specifically, various programs (or software) for operating the electronic device 100 according to various embodiments of the present disclosure may be stored in the memory 110 .

이러한 메모리(110)는 RAM이나 ROM, 플래시 메모리, HDD, 외장 메모리, 메모리 카드 등과 같은 다양한 형태로 구현될 수 있으며, 어느 하나로 한정되는 것은 아니다. The memory 110 may be implemented in various forms such as RAM, ROM, flash memory, HDD, external memory, memory card, etc., but is not limited to any one.

그리고 메모리(110)는 현재 어플리케이션 모드에 대한 정보(이하, 모드 정보), 복수의 어플리케이션 모드별 복수의 코어 CPU에 할당되는 주변 장치의 정보(이하, 주변 장치 정보)를 저장할 수 있다. The memory 110 may store information on a current application mode (hereinafter, mode information) and information on peripheral devices allocated to a plurality of core CPUs for each of a plurality of application modes (hereinafter, peripheral device information).

여기서 모드 정보는 현재 전자 장치의 어플리케이션 모드(또는 상태)를 나타내는 정보이다. 그리고 어플리케이션 모드는 노멀 모드, 진단 모드, 업그레이드 모드 등이 있을 수 있다. 여기서 노멀 모드, 진단 모드, 업그레이드 모드라는 용어는 예시에 불가하며, 각 코어 CPU에 할당되어야 하는 주변 장치의 상태에 따른 복수의 모드일 수 있다. 또한, 상술한 3개의 어플리케이션 모두 중 일부만이 사용될 수도 있다. 본 개시에 일 실시 예에 따른 어플리케이션 모드의 성격 및 동작에 대해서는 도 2 및 도 3을 참조하여 후술한다.Here, the mode information is information indicating an application mode (or state) of the current electronic device. In addition, the application mode may include a normal mode, a diagnosis mode, an upgrade mode, and the like. Here, the terms normal mode, diagnosis mode, and upgrade mode cannot be exemplified, and may be a plurality of modes according to the state of peripheral devices to be allocated to each core CPU. Also, only some of the above three applications may be used. Characteristics and operation of an application mode according to an embodiment of the present disclosure will be described later with reference to FIGS. 2 and 3 .

그리고 주변 장치의 모드는 각 어플리케이션 모드별 각 CPU에 할당되는(또는 할당되어야 하는) 주변 장치의 정보를 저장하는 정보이다. 예를 들어, 노멀 모드시에는 제1 코어 CPU가 이더넷을 이용하고, 진단 모드시에는 제2 코어 CPU가 이더넷을 이용하는 경우, 노멀 모드시에 제1 코어에는 이더넷이 할당되고, 진단 모드시에는 제2 코어에 이더넷이 할당되어야 한다는 정보가 저장될 수 있다. 한편, 이상에서는 코어 CPU를 기준으로 할당되는 주변 장치의 정보가 저장되는 것으로 설명하였지만, 구현시에는 주변 장치를 기준으로 코어 CPU 정보가 저장될 수 있다. Also, the peripheral device mode is information storing peripheral device information allocated (or to be assigned) to each CPU for each application mode. For example, when the first core CPU uses Ethernet in normal mode and the second core CPU uses Ethernet in diagnosis mode, Ethernet is assigned to the first core in normal mode, and Ethernet is assigned to the first core in diagnosis mode. Information that Ethernet should be allocated to 2 cores may be stored. Meanwhile, in the above, it has been described that information on peripheral devices assigned based on a core CPU is stored, but in implementation, core CPU information may be stored based on a peripheral device.

주변 장치(120)는 멀티코어 프로세서의 제어 명령에 따라 동작한다. 구체적으로, 주변 장치는 다른 장치와의 통신을 위한 CAN(Controller Area Network), CAN-FD, 이더넷 등일 수 있다. 여기서 CAN은 차량 내의 호스트 컴퓨터 없이 마이크로 컨트롤러나 장치들이 서로 통신하기 위한 통신 규격이고, CAN-FD는 CAN 방식을 유지하면서도 최대 전송률, 최대 정보 크기가 개선된 신규 통신 규격이다. 또한, 상술한 주변 장치들뿐만 아니라, Flexray, 근거리 통신망, 무선 통신(WiFi 802.11a/b/g/n, NFC, Bluetooth), 4G, 5G 등이 이용될 수도 있다. The peripheral device 120 operates according to the control command of the multi-core processor. Specifically, the peripheral device may be a controller area network (CAN), CAN-FD, Ethernet, or the like for communication with other devices. Here, CAN is a communication standard for microcontrollers or devices to communicate with each other without a host computer in the vehicle, and CAN-FD is a new communication standard with improved maximum transmission rate and maximum information size while maintaining the CAN method. In addition, in addition to the aforementioned peripheral devices, Flexray, local area network, wireless communication (WiFi 802.11a/b/g/n, NFC, Bluetooth), 4G, 5G, etc. may be used.

한편, 본 개시에서는 주변 장치의 예로 통신망만을 들었지만, 구현시에는 CAN과 같은 통신 규격을 통하여 연결되는 다른 장치(예를 들어, EMS ECU, TMS ECU, ABS ECU, 음향 장치, 조명 장치 등)가 될 수도 있다. On the other hand, in the present disclosure, only a communication network is cited as an example of a peripheral device, but in implementation, other devices (eg, EMS ECU, TMS ECU, ABS ECU, sound device, lighting device, etc.) connected through a communication standard such as CAN will be may be

멀티 코어 프로세서(130)는 전자 장치(100)의 전반적인 동작을 제어한다. 구체적으로, 프로세서(150)는 메모리(110)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 전자 장치(100)의 동작을 전반적으로 제어할 수 있다. 이러한 프로세서(150)는 CPU(central processing unit), ASIC(application-specific integrated circuit), ECU(electronic control unit)과 같은 단일 장치로 구성될 수 있으며, CPU, GPU(Graphics Processing Unit) 등의 복수의 장치로 구성될 수도 있다. The multi-core processor 130 controls overall operations of the electronic device 100 . Specifically, the processor 150 may overall control the operation of the electronic device 100 by executing at least one instruction stored in the memory 110 . The processor 150 may be configured as a single device such as a central processing unit (CPU), an application-specific integrated circuit (ASIC), or an electronic control unit (ECU), or a plurality of devices such as a CPU, a graphics processing unit (GPU), or the like. It may also consist of a device.

이러한 멀티 코어 프로세서(multi-core processor)(130)는 두 개 이상의 독립 코어(또는 코어 CPU)를 하나의 패키지로 통합한 것이다. 즉, 이러한 코어 CPU 각각은 서로 독립적인 연산 처리 또는 제어 동작을 수행하는 것이 가능하다. The multi-core processor 130 integrates two or more independent cores (or core CPUs) into one package. That is, each of these core CPUs can perform calculation processing or control operations independent of each other.

멀티 코어 프로세서(130)는 초기 부팅시에 메모리(110)에 저장된 인스트럭션을 기초로 부팅 동작을 수행할 수 있으며, 부팅 동작시에 메모리(110)에 저장된 모드 정보, 주변 장치 정보를 이용하여 각 코어 CPU에 할당될 주변 장치를 할당할 수 있다. The multi-core processor 130 may perform a booting operation based on the instructions stored in the memory 110 during initial booting, and during the booting operation, each core may use mode information and peripheral device information stored in the memory 110. You can assign peripherals to be assigned to the CPU.

구체적으로, 멀티 코어 프로세서(130)는 부팅시에 메모리(110)에 저장된 모드 정보에 기초하여 현재 어플리케이션 모드를 확인하고, 주변 장치 정보와 확인된 어플리케이션 모드에 기초하여 각 코어 CPU에 할당될 주변 장치를 확인하여 주변 장치를 할당할 수 있다. Specifically, the multi-core processor 130 checks the current application mode based on the mode information stored in the memory 110 during booting, and peripheral devices to be assigned to each core CPU based on the peripheral device information and the identified application mode. You can assign peripherals by checking .

한편, 이와 같은 할당 동작은 멀티 코어 프로세서(130) 내의 코어 CPU와 구분되는 별도의 컨트롤러에서 수행될 수 있으며, 복수의 코어 CPU 중 하나가 수행하거나, 복수의 코어 CPU 각각이 개별적으로 수행할 수 있다. Meanwhile, such an assignment operation may be performed in a separate controller separate from the core CPU in the multi-core processor 130, and may be performed by one of a plurality of core CPUs or individually by each of a plurality of core CPUs. .

예를 들어, 복수의 코어 CPU가 개별적으로 할당 동작을 수행하는 경우, 각 코어 CPU는 메모리(110)에 저장된 모드 정보에 기초하여 현재 어플리케이션 모드를 확인하고, 확인된 어플리케이션 모드와 저장된 주변 장치 정보를 이용하여 자신이 이용할 주변 장치를 확인할 수 있다. 그리고 각 코어 CPU는 자신이 이용할 주변 장치에 대한 초기화를 수행함으로써 상술한 바와 같은 주변 장치의 할당을 수행할 수 있다.For example, when a plurality of core CPUs individually perform an allocation operation, each core CPU checks the current application mode based on mode information stored in the memory 110, and stores the checked application mode and stored peripheral device information. You can use it to check the peripheral device you want to use. Also, each core CPU may allocate peripheral devices as described above by initializing the peripheral devices to be used.

주변 장치의 할당이 완료되면, 각 코어 CPU는 자신에게 할당된 주변 장치를 초기화를 수행하고, 각 주변 장치를 이용한 동작을 수행할 수 있다. When the peripheral device allocation is completed, each core CPU may initialize the peripheral device assigned to itself and perform an operation using each peripheral device.

그리고 멀티 코어 프로세서(130)는 어플리케이션 모드의 전환이 필요한지 판단하고, 모드 전환이 필요하면, 어플리케이션 모드의 전환을 수행할 수 있다. 이와 같은 동작은 상술한 바와 같이 멀티 코어 프로세서(130) 내의 별도의 컨트롤러가 수행할 수도 있으며, 복수의 코어 CPU 중 어느 하나가 수행할 수 있다. Also, the multi-core processor 130 may determine whether application mode switching is required, and if mode switching is required, the application mode switching may be performed. Such an operation may be performed by a separate controller within the multi-core processor 130 as described above, or may be performed by any one of a plurality of core CPUs.

예를 들어, 복수의 코어 CPU 중 제1 코어 CPU가 에러를 감지하여, 주변 장치 등에 대한 진단이 필요하다고 판단하면, 제1 코어 CPU는 어플리케이션 모드를 진단 모드로 전환하여야 함을 판단할 수 있다. For example, if a first core CPU among the plurality of core CPUs detects an error and determines that a peripheral device needs to be diagnosed, the first core CPU may determine that an application mode should be switched to a diagnosis mode.

이와 같은 판단을 하게 되면, 제1 코어 CPU는 다른 코어 CPU(예를 들어, 제2 코어 CPU)에 어플리케이션 모드의 전환이 필요함을 알리고, 다른 코어 CPU는 이러한 전환 요청이 수신되면, 현재 진행중인 작업을 종료하고 전환이 가능한 상태가 되면, 전환이 가능함을 제1 코어 CPU에 통지할 수 있다. Upon making such a decision, the first core CPU notifies the other core CPUs (eg, the second core CPU) that the application mode needs to be switched, and the other core CPUs, upon receiving such a conversion request, stop the currently ongoing task. When the process ends and the transition becomes possible, the first core CPU may be notified that the transition is possible.

어플리케이션 모드의 전환이 가능하다는 응답을 받은 제1 코어 CPU는 메모리(110)에 저장된 모드 정보를 변경될 어플리케이션 모드(예를 들어, 진단 모드)에 대응되게 수정할 수 있다. Upon receiving a response that the application mode can be switched, the first core CPU may modify mode information stored in the memory 110 to correspond to the application mode to be changed (eg, diagnosis mode).

이와 같이 메모리(110)의 모드 정보가 변경되면, 각 코어 CPU는 초기 부팅과정도 동일하게 현재 동작 모드를 확인하고, 각 동작 모드 및 자신에게 할당된 주변 장치를 이용하기 위한 초기화 동작을 수행할 수 있다. 예를 들어, 제2 코어 CPU가 노멀 모드시에 제1 주변장치만을 이용하나, 진단 모드시에 제1 및 제2 주변 장치를 이용하는 것으로 주변 장치 정보가 저장되어 있는 경우, 제2 코어 CPU는 기존에 사용하는 제1 주변장치에 대한 초기화 동작을 수행하지 않고, 제2 주변 장치에 대해서만 자신이 이용하는 것으로 초기화 동작을 수행할 수 있다. 한편, 구현시에는 상술한 기존에 사용하는 주변 장치와 상관없이 모든 주변 장치에 대한 초기화 동작을 수행할 수도 있다. When the mode information of the memory 110 is changed in this way, each core CPU can check the current operation mode in the same way as in the initial booting process, and perform an initialization operation to use each operation mode and peripheral devices assigned to it. there is. For example, if the second core CPU uses only the first peripheral device in the normal mode but uses the first and second peripheral devices in the diagnostic mode and peripheral device information is stored, the second core CPU uses the existing peripheral device information. It is possible to perform an initialization operation for only the second peripheral device used by the user without performing an initialization operation for the first peripheral device used for the second peripheral device. Meanwhile, upon implementation, the initialization operation may be performed on all peripheral devices regardless of the previously used peripheral devices.

또한, 구현시에는 상술한 바와 같은 주변 장치에 대한 초기화 동작 대신에 어플리케이션 모드의 전환이 필요한 경우, 재부팅 동작이 수행될 수도 있다. Further, in implementation, a rebooting operation may be performed when an application mode conversion is required instead of an initialization operation for a peripheral device as described above.

이상과 같이 본 실시 예에 따른 전자 장치는 소프트웨어를 업그레이드하지 않고도 멀티코어 프로세서 내의 각 코어 CPU가 어플리케이션 모드별로 주변 장치를 동적으로 할당받아 사용할 수 있게 되어, 멀티코어 프로세서 내의 주변 장치의 활용성을 극대화할 수 있다. As described above, in the electronic device according to the present embodiment, each core CPU in a multi-core processor can dynamically allocate and use peripheral devices for each application mode without upgrading software, maximizing the utilization of peripheral devices in the multi-core processor. can do.

한편, 도 1을 도시하고 설명함에 있어서, 전자 장치(100) 내에 메모리(110), 주변 장치(120) 및 멀티코어 프로세서(130)만이 포함되는 것으로 도시하고 설명하였지만, 구현시에는 상술한 구성 이외에 다른 구성이 추가되어 이용될 수 있다. 또한, 도 1에서는 메모리(110)가 멀티코어 프로세서(130) 외부에 존재하는 것으로 도시하고 설명하였지만, 구현시에는 상술한 모드 정보, 주변 장치 정도 등은 멀티코어 프로세서(130) 내부의 캐쉬 등에 저장되어 있을 수도 있다. Meanwhile, in the drawing and description of FIG. 1, the electronic device 100 has been illustrated and described as including only the memory 110, the peripheral device 120, and the multi-core processor 130, but in implementation other than the above-described configuration. Other configurations may be added and used. In addition, although the memory 110 is illustrated and described as existing outside the multi-core processor 130 in FIG. 1, in the implementation, the above-described mode information, the degree of peripheral devices, etc. are stored in the cache inside the multi-core processor 130. may have been

도 2는 본 개시의 일 실시 예에 따른 제1 어플리케이션 모드를 설명하기 위한 도면이다. 구체적으로, 도 2는 노멀 모드시에 동작을 설명하기 위한 도면이다. 2 is a diagram for explaining a first application mode according to an embodiment of the present disclosure. Specifically, FIG. 2 is a diagram for explaining an operation in normal mode.

도 2를 참조하면, 멀티 코어 프로세서(130)는 제1 코어 CPU(130-1) 및 제2 코어 CPU(130-2)를 포함하며, 4개의 주변 장치(120-1, 120-2, 120-3, 120-4)를 이용한다. 한편, 도 2에서는 두개의 코어 CPU(130-1, 130-2)만을 포함하는 것으로 도시하고 설명하나, 이는 예시에 불가하고, 멀티 코어 프로세서(130)는 세 개 이상의 코어 CPU를 포함할 수 있다. 또한, 주변 장치도 4개를 이용하는 것으로 도시하나, 구현시에는 2개 또는 3개일 수 있으며, 5개 이상일 수도 있다. Referring to FIG. 2 , the multi-core processor 130 includes a first core CPU 130-1 and a second core CPU 130-2, and four peripheral devices 120-1, 120-2, and 120 -3, 120-4) is used. Meanwhile, in FIG. 2, it is illustrated and described as including only two core CPUs 130-1 and 130-2, but this is not illustrative, and the multi-core processor 130 may include three or more core CPUs. . In addition, although it is shown that four peripheral devices are used, in implementation, they may be two or three, and may be five or more.

도 2의 전자 장치(100)가 일반적인 상태로 동작할 때를 의미하며, 예를 들어, 전자 장치(100)가 차량에 탑재되어 있는 경우, 차량 운행 상태일 수 있다. This refers to a time when the electronic device 100 of FIG. 2 operates in a general state. For example, when the electronic device 100 is mounted in a vehicle, it may be in a vehicle driving state.

이와 같은 일반 모드 상태에서는 제1 코어 CPU(130-1)에 제1 및 제2 주변 장치(120-1, 120-2)가 할당되며, 제2 코어 CPU(130-2)에는 제3 및 제4 주변 장치(120-3, 120-4)가 할당되어 있을 수 있다. 이와 같은 일반 모드에서의 이용할 주변 장치의 정보는 도시된 바와 같이 메모리(110)에 저장되어 있을 수 있다. In this normal mode state, the first and second peripheral devices 120-1 and 120-2 are allocated to the first core CPU 130-1, and the third and second peripheral devices 120-1 are allocated to the second core CPU 130-2. 4 peripheral devices 120-3 and 120-4 may be allocated. Information on peripheral devices to be used in such a normal mode may be stored in the memory 110 as shown.

따라서, 초기 부팅시에 메모리(110)에 저장된 주변 장치의 정보를 이용하여, 각 코어 CPU(130-1, 130-2)는 현재 노멀 모드 및 자신에게 할당된 주변 장치를 이용하여 할당 동작을 수행할 수 있다. 예를 들어, 제1 코어 CPU(130-1)는 초기 부팅 과정에서 현재 어플리케이션 모드가 노멀 모드임을 확인하고, 주변 장치 정보를 이용하여 노멀 모드시에 자신에게 할당된 제1 주변 장치(120-1)와 제2 주변 장치(120-2)를 확인할 수 있다. 그리고 제1 코어 CPU(130-1)는 제1 주변 장치(120-1)와 제2 주변 장치(120-2)에 대한 초기화를 수행함으로써, 제1 주변 장치(120-1)와 제2 주변 장치(120-2)를 할당받아 이용할 수 있다. 그리고 제2 코어 CPU(130-2) 역시 동일한 형태로 제3 주변 장치(120-3) 및 제4 주변 장치(120-4)에 대한 할당(또는 초기화) 동작을 수행할 수 있다. Therefore, at the time of initial booting, each of the core CPUs 130-1 and 130-2 performs an assignment operation using the current normal mode and the peripheral devices allocated thereto, using the peripheral device information stored in the memory 110. can do. For example, the first core CPU 130-1 confirms that the current application mode is the normal mode in an initial booting process, and uses peripheral device information to determine the first peripheral device 120-1 allocated to the first peripheral device 120-1 in the normal mode. ) and the second peripheral device 120-2. Also, the first core CPU 130-1 performs initialization on the first peripheral device 120-1 and the second peripheral device 120-2, so that the first peripheral device 120-1 and the second peripheral device 120-1 are initialized. The device 120-2 may be allocated and used. Also, the second core CPU 130-2 may perform assignment (or initialization) operations for the third peripheral device 120-3 and the fourth peripheral device 120-4 in the same manner.

도 3은 본 개시의 일 실시 예에 따른 제2 어플리케이션 모드를 설명하기 위한 도면이다. 구체적으로, 도 3은 진단 모드시에 동작을 설명하기 위한 도면이다. 3 is a diagram for explaining a second application mode according to an embodiment of the present disclosure. Specifically, FIG. 3 is a diagram for explaining an operation in a diagnosis mode.

도 3을 참조하면, 멀티 코어 프로세서(130)가 포함하는 코어 CPU(130-1, 130-2)와 주변 장치(120-1, 120-2, 120-3, 120-4)는 도 2와 동일한바 이에 대한 설명은 생략한다. Referring to FIG. 3 , the core CPUs 130-1 and 130-2 and the peripheral devices 120-1, 120-2, 120-3 and 120-4 included in the multi-core processor 130 are shown in FIG. Since it is the same, the description thereof is omitted.

진단 모드는 전자 장치의 상태를 점검하는 경우의 모드를 의미하며, 예를 들어, 전자 장치(100)가 차량에 탑재되어 있는 경우, 차량 진단 모드인 경우일 수 있다. 한편, 이러한 진단 모드라는 용어 및 동작은 일 예에 불가하며, 노멀 모드 시와는 다른 형태로 주변 장치의 할당이 필요한 경우라면 어떠한 명칭 또는 어떠한 용도일 수 있다. The diagnosis mode refers to a mode for checking the state of the electronic device, and may be, for example, a vehicle diagnosis mode when the electronic device 100 is mounted in a vehicle. Meanwhile, the term and operation of the diagnosis mode are not illustrative, and may be any name or purpose if the peripheral device needs to be allocated in a form different from that in the normal mode.

예를 들어, 제2 주변 장치(120-2)가 이더넷인 경우, 노멀 모드시에는 제1 코어 CPU(130-1)가 할당받아 이용하나, 진단 모드시에는 제2 코어 CPU(130-2)가 할당받아 이용하는 경우를 이하에서는 상정한다. For example, when the second peripheral device 120-2 is Ethernet, the first core CPU 130-1 is allocated and used in the normal mode, but the second core CPU 130-2 is used in the diagnosis mode. The case where is allocated and used is assumed below.

이와 같은 진단 모드에서는 제1 코어 CPU(130-1)에 제1 주변 장치가 할당되며, 제2 코어 CPU(130-2)에는 제2, 제3 및 제4 주변 장치(120-2,120-2, 120-3)가 할당되어 있을 수 있다. 이와 같은 일반 모드에서의 이용할 주변 장치의 정보는 도시된 바와 같이 메모리(110)에 저장되어 있을 수 있다. In this diagnosis mode, the first peripheral device is allocated to the first core CPU 130-1, and the second, third, and fourth peripheral devices 120-2, 120-2, 120-3) may be assigned. Information on peripheral devices to be used in such a normal mode may be stored in the memory 110 as shown.

따라서, 초기 부팅시에 메모리(110)에 저장된 주변 장치의 정보를 이용하여, 각 코어 CPU(130-1, 130-2)는 현재 노멀 모드 및 자신에게 할당된 주변 장치를 이용하여 할당 동작을 수행할 수 있다. 예를 들어, 제2 코어 CPU(130-2)는 초기 부팅 과정에서 현재 어플리케이션 모드가 진단 모드임을 확인하고, 주변 장치 정보를 이용하여 진단 모드시에 자신에게 할당된 제2 내지 제4 주변 장치(120-2, 120-3, 120-4)를 확인할 수 있다. 그리고 제2 코어 CPU(130-2)는 제2 내지 제4 주변 장치(120-2, 120-3, 120-4)에 대한 초기화를 수행함으로써, 제2 내지 제4 주변 장치(120-2, 120-3, 120-4)를 할당받아 이용할 수 있다. 그리고 제1 코어 CPU(130-1) 역시 동일한 형태로 제1 주변 장치(120-1)에 대한 할당(또는 초기화) 동작을 수행할 수 있다. Therefore, at the time of initial booting, each of the core CPUs 130-1 and 130-2 performs an assignment operation using the current normal mode and the peripheral devices allocated thereto, using the peripheral device information stored in the memory 110. can do. For example, the second core CPU 130-2 confirms that the current application mode is the diagnosis mode in an initial booting process, and second to fourth peripheral devices assigned to the second core CPU 130-2 in the diagnosis mode using peripheral device information ( 120-2, 120-3, 120-4). Further, the second core CPU 130-2 performs initialization of the second to fourth peripheral devices 120-2, 120-3, and 120-4, so that the second to fourth peripheral devices 120-2, 120-3, 120-4) can be allocated and used. Also, the first core CPU 130-1 may perform an assignment (or initialization) operation for the first peripheral device 120-1 in the same manner.

이하에서는 도 2 및 도 3을 같이 참조하여, 어플리케이션 모드의 전환 과정(예를 들어, 노멀 모드에서 진단 모드로의 전환 동작)에 대해서 설명한다. Hereinafter, with reference to FIGS. 2 and 3 , a process of switching an application mode (eg, a switching operation from a normal mode to a diagnosis mode) will be described.

이하에서는, 일반 모드에서는 제1 코어 CPU(130-1)가 이더넷 장치(120-2)를 할당받아 이용하나, 진단 모드에서는 제2 코어 CPU(130-2)가 이더넷 장치(120-2)를 할당받아 이용하여야 하는 경우를 가정한다. Hereinafter, in the normal mode, the first core CPU 130-1 receives and uses the Ethernet device 120-2, but in the diagnosis mode, the second core CPU 130-2 uses the Ethernet device 120-2. Assume a case in which it must be allocated and used.

제2 코어 CPU(130-2)가 이더넷 장치(120-2)의 이용이 필요한 경우, 제2 코어 CPU는 어플리케이션 모드의 전환이 필요함을 확인할 수 있다. 이러한 전환 필요에 대한 확인은 하나의 코어 CPU가 전담하여 판단할 수도 있고, 각 코어 CPU에서 개별적으로 확인할 수 있다. 이하에서는 제2 코어 CPU(130-2)에서 이러한 필요가 있음을 확인한 경우를 가정한다. When the second core CPU 130-2 needs to use the Ethernet device 120-2, the second core CPU can confirm that the application mode needs to be switched. The need for switching may be determined exclusively by one core CPU, or may be individually confirmed by each core CPU. Hereinafter, it is assumed that the second core CPU 130-2 confirms that there is such a need.

제2 코어 CPU(130-2)는 어플리케이션 모드를 현재 노멀 모드에서 진단 모드로 전환이 필요함을 확인한 경우(예를 들어, 제2 코어 CPU(130-2)가 이더넷 사용이 필요한 상황이나, 현재 이더넷을 할당받지 못하고, 이더넷 사용이 가능한 모드가 진단 모드인 경우), 제2 코어 CPU(130-2)는 제1 코어 CPU(130-1)에 어플리케이션 모드의 전환이 필요함을 알릴 수 있다. 이와 같은 요청을 받는 제1 코어 CPU(130-1)는 어플리케이션 모드의 전환이 가능한 상태가 되면(즉, 현재 작업 중인 동작을 완료 또는 중단), 제2 코어 CPU(130-2)에 전환 응답을 알릴 수 있다. When the second core CPU 130-2 confirms that it is necessary to switch the application mode from the current normal mode to the diagnosis mode (for example, when the second core CPU 130-2 needs to use Ethernet, the current Ethernet is not allocated and the mode in which Ethernet can be used is a diagnosis mode), the second core CPU 130-2 may inform the first core CPU 130-1 that switching of the application mode is necessary. When the first core CPU 130-1 receiving such a request enters a state in which the application mode can be switched (that is, the current operation is completed or stopped), the first core CPU 130-1 transmits a switch response to the second core CPU 130-2. can inform

전환 응답을 수신한 제2 코어 CPU(130-2)는 변경할 어플리케이션 모드를 메모리(110)에 저장할 수 있다. 이와 같이 메모리(110)에 어플리케이션 모드가 변경되어 저장되면, 각 코어 CPU(130-1, 130-2)는 변경된 어플리케이션 모드에 따른 주변 장치의 초기화를 수행할 수 있다. 한편, 이와 같은 전환 동작은 다양하게 수행될 수 있는데, 예를 들어, 각 코어 CPU(130-1, 130-2)는 일정시간 주기 단위로 메모리(110)에 저장된 어플리케이션 모드를 확인하여 주변 장치의 전환을 확인하거나, 상술한 바와 같은 어플리케이션 모드의 전환을 확인한 코어 CPU(130-2)가 다른 코어 CPU(130-1)에 전환 동작을 수행하라는 요청에 따라 수행할 수도 있다. Upon receiving the switch response, the second core CPU 130 - 2 may store the application mode to be changed in the memory 110 . When the application mode is changed and stored in the memory 110 as described above, each of the core CPUs 130-1 and 130-2 may perform initialization of peripheral devices according to the changed application mode. Meanwhile, this conversion operation may be performed in various ways. For example, each of the core CPUs 130-1 and 130-2 checks the application mode stored in the memory 110 at regular time intervals, The core CPU 130-2 confirming the conversion or confirming the conversion of the application mode as described above may perform the conversion operation according to a request to the other core CPU 130-1.

이와 같은 전환 동작에 따라 제2 코어 CPU(130-2)는 이더넷을 추가 할당받아 동작할 수 있으며, 이더넷을 이용한 동작이 완료되면, 즉, 진단 모드에서 노멀 모드로 전환으로 돌아가야 하는 경우, 앞서 설명한 바와 같이 변경할 어플리케이션 모드를 메모리(110)에 저장하는 등의 상술한 과정을 수행할 수 있다. According to this conversion operation, the second core CPU 130-2 can operate by receiving an additional allocation of Ethernet, and when the operation using Ethernet is completed, that is, when it is necessary to return to the conversion from the diagnosis mode to the normal mode, as described above. As described above, the above-described process such as storing the application mode to be changed in the memory 110 may be performed.

도 4는 본 개시의 일 실시 예에 따른 주변장치의 공유 방법을 설명하기 위한 흐름도이다. 4 is a flowchart illustrating a method for sharing a peripheral device according to an embodiment of the present disclosure.

먼저, 부팅시에 메모리에 저장된 현재 어플리케이션 모드에 대한 정보에 기초하여 현재 어플리케이션 모드를 결정한다(S410). First, the current application mode is determined based on information about the current application mode stored in the memory at the time of booting (S410).

그리고 메모리에 저장된, 복수의 어플리케이션 모드별 복수의 코어 CPU 각각에 할당된 주변 장치의 정보에 기초하여 각 코어 CPU에서 사용할 주변 장치를 할당한다(S420). Peripheral devices to be used in each core CPU are allocated based on peripheral device information stored in the memory and allocated to each of the plurality of core CPUs for each of the plurality of application modes (S420).

그리고 복수의 코어 CPU 각각이 할당된 주변 장치를 초기화하여 각 코어 CPU에 할당된 주변 장치를 이용할 수 있다(S430). In addition, the peripheral devices assigned to each of the plurality of core CPUs may be initialized to use the peripheral devices assigned to each core CPU (S430).

한편, 이와 같은 할당 상태에서 어플리케이션 모드의 전환이 필요하면, 구체적으로, 복수의 코어 CPU 중 제1 코어 CPU가 어플리케이션 모드의 전환을 결정할 수 있다. 그리고 제1 코어 CPU가 어플리케이션 모드의 전환이 결정되면 다른 코어 CPU에 어플리케이션 모드의 전환을 요청하고, 다른 코어 CPU로부터 어플리케이션 모드의 전환 응답을 수신하면, 제1 코어 CPU가 전환될 어플리케이션 모드에 대한 정보를 메모리에 저장할 수 있다. On the other hand, if switching of the application mode is required in such an assigned state, specifically, a first core CPU among a plurality of core CPUs may determine switching of the application mode. Further, when the first core CPU determines to switch the application mode, the first core CPU requests another core CPU to switch the application mode, and when receiving an application mode switching response from the other core CPU, information about the application mode to be switched by the first core CPU. can be stored in memory.

그리고 복수의 코어 CPU 각각이 메모리에 저장된 현재 모드 정보 및 저장된 주변 장치의 정보에 기초하여 각 코어 CPU에 사용할 주변 장치를 초기화를 수행할 수 있다. 이때, 초기화는 복수의 코어 CPU 각각이 현재 어플리케이션 모드 및 저장된 주변 장치의 정보에 기초하여 각 코어 CPU에서 사용할 주변 장치를 확인하고, 기존에 사용하지 않던 신규 주변 장치가 추가 할당되면, 신규 주변 장치에 대해서만 초기화를 수행하거나, 모든 주변 장치에 대한 초기화를 수행할 수도 있다. Further, each of the plurality of core CPUs may perform initialization of a peripheral device to be used for each core CPU based on the current mode information stored in the memory and the stored peripheral device information. At this time, in the initialization, each of the plurality of core CPUs checks the peripheral device to be used in each core CPU based on the current application mode and stored peripheral device information, and when a new peripheral device that has not been used before is additionally allocated, the new peripheral device Initialization may be performed only on the device or all peripheral devices may be initialized.

따라서, 상술한 바와 같은 주변 장치 공유 방법은 소프트웨어를 업그레이드하지 않고도 멀티코어 프로세서 내의 각 코어 CPU가 어플리케이션 모드별로 주변 장치를 동적으로 할당받아 사용할 수 있게 되어, 멀티코어 프로세서 내의 주변 장치의 활용성을 극대화할 수 있다. Therefore, the peripheral device sharing method as described above enables each core CPU within a multi-core processor to dynamically allocate and use peripheral devices for each application mode without upgrading software, thereby maximizing the utilization of peripheral devices within the multi-core processor. can do.

또한, 상술한 바와 같은 주변 장치 공유 방법은 각 단계들을 수행하기 위한 프로그램 코드 형태로 구현되어, 기록 매체에 저장되고 배포될 수도 있다. 이 경우, 기록 매체가 탑재된 장치는 상술한 처리 동작들을 수행할 수 있다. Also, the method for sharing a peripheral device as described above may be implemented in the form of program code for performing each step, stored in a recording medium, and distributed. In this case, the device loaded with the recording medium can perform the above-described processing operations.

이러한 기록 매체는, ROM, RAM, 메모리 칩, 메모리 카드, 외장형 하드, 하드, CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 다양한 유형의 컴퓨터 판독 가능 매체가 될 수 있다. Such a recording medium may be various types of computer readable media such as ROM, RAM, memory chip, memory card, external hard drive, hard drive, CD, DVD, magnetic disk or magnetic tape.

이상 첨부 도면을 참고하여 본 개시에 대해서 설명하였지만 본 개시의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시 예 및/또는 도면에 제한되는 것으로 해석되어서는 안 된다. 그리고 특허청구범위에 기재된 개시의, 당업자에게 자명한 개량, 변경 및 수정도 본 개시의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.Although the present disclosure has been described with reference to the accompanying drawings, the scope of the present disclosure is determined by the claims described below and should not be construed as being limited to the foregoing embodiments and/or drawings. And it should be clearly understood that improvements, changes and modifications obvious to those skilled in the art of the disclosure described in the claims are also included in the scope of the present disclosure.

100: 전자 장치 110: 메모리
120: 주변 장치 130: 멀티코어 프로세서
100: electronic device 110: memory
120: peripheral device 130: multi-core processor

Claims (11)

전자 장치에 있어서,
복수의 코어 CPU를 포함하는 멀티코어 프로세서;
상기 멀티코어 프로세서의 제어 명령에 따라 동작하는 복수의 주변장치; 및
복수의 어플리케이션 모드 중 현재 어플리케이션 모드에 대한 정보 및 상기 복수의 어플리케이션 모드별 상기 복수의 코어 CPU 각각에 할당된 주변 장치의 정보를 저장하는 메모리;를 포함하고,
상기 멀티코어 프로세서는,
부팅시에 상기 메모리에 저장된 현재 어플리케이션 모드에 대한 정보에 기초하여 현재 어플리케이션 모드를 결정하고, 상기 저장된 주변 장치의 정보에 기초하여 각 코어 CPU에서 사용할 주변 장치를 할당하는 전자 장치.
In electronic devices,
a multi-core processor including a plurality of core CPUs;
a plurality of peripheral devices operating according to a control command of the multi-core processor; and
A memory for storing information on a current application mode among a plurality of application modes and information on a peripheral device allocated to each of the plurality of core CPUs for each of the plurality of application modes;
The multi-core processor,
An electronic device that determines a current application mode based on information about the current application mode stored in the memory upon booting, and allocates a peripheral device to be used in each core CPU based on the stored peripheral device information.
제1항에 있어서,
상기 복수의 코어 CPU 중 제1 코어 CPU는,
어플리케이션 모드의 전환을 결정하고, 어플리케이션 모드의 전환이 결정되면 다른 코어 CPU에 어플리케이션 모드의 전환을 요청하고, 다른 코어 CPU로부터 어플리케이션 모드의 전환 응답을 수신하면 전환될 어플리케이션 모드에 대한 정보를 상기 메모리에 저장하는 전자 장치.
According to claim 1,
A first core CPU among the plurality of core CPUs,
It is determined to switch the application mode, and if the conversion of the application mode is determined, a request for switching the application mode is made to another core CPU, and upon receiving an application mode switching response from the other core CPU, information on the application mode to be switched is stored in the memory. electronic device for storage.
제2항에 있어서,
상기 복수의 코어 CPU 각각은,
상기 메모리에 저장된 현재 어플리케이션 모드에 대한 정보 및 상기 저장된 주변 장치의 정보에 기초하여 각 코어 CPU에 사용할 주변 장치를 초기화를 수행하는 전자 장치.
According to claim 2,
Each of the plurality of core CPUs,
An electronic device that initializes a peripheral device to be used for each core CPU based on information about a current application mode stored in the memory and information about the peripheral device stored in the memory.
제3항에 있어서,
상기 복수의 코어 CPU 각각은,
현재 어플리케이션 모드 및 상기 저장된 주변 장치의 정보에 기초하여 각 코어 CPU에서 사용할 주변 장치를 확인하고, 기존에 사용하지 않던 신규 주변 장치가 할당되면, 상기 신규 주변 장치에 대한 초기화를 수행하는 전자 장치.
According to claim 3,
Each of the plurality of core CPUs,
An electronic device that identifies a peripheral device to be used in each core CPU based on a current application mode and the stored peripheral device information, and initializes the new peripheral device when a new peripheral device that has not previously been used is allocated.
제2항에 있어서,
상기 제1 코어 CPU는,
전환될 어플리케이션 모드에 대한 정보가 메모리에 저장되면, 멀티코어 프로세서의 재시작을 수행하는 전자 장치.
According to claim 2,
The first core CPU,
An electronic device that restarts a multi-core processor when information about an application mode to be switched is stored in a memory.
제1항에 있어서,
상기 주변 장치는,
CAN, CAN-FD, 이더넷 중 적어도 하나를 포함하는 전자 장치.
According to claim 1,
The peripheral device is
An electronic device that includes at least one of CAN, CAN-FD, and Ethernet.
복수의 코어 CPU를 포함하는 멀티코어 프로세서에서의 주변 장치 공유 방법에 있어서,
부팅시에 메모리에 저장된 현재 어플리케이션 모드에 대한 정보에 기초하여 현재 어플리케이션 모드를 결정하는 단계;
상기 메모리에 저장된, 상기 복수의 어플리케이션 모드별 상기 복수의 코어 CPU 각각에 할당된 주변 장치의 정보에 기초하여 각 코어 CPU에서 사용할 주변 장치를 할당하는 단계; 및
복수의 코어 CPU 각각이 할당된 주변 장치를 초기화하는 단계;를 포함하는 주변 장치 공유 방법.
A peripheral device sharing method in a multi-core processor including a plurality of core CPUs,
determining a current application mode based on information about a current application mode stored in a memory at booting;
allocating a peripheral device to be used by each core CPU based on the peripheral device information stored in the memory and assigned to each of the plurality of core CPUs for each of the plurality of application modes; and
A peripheral device sharing method comprising: initializing a peripheral device to which each of a plurality of core CPUs is assigned.
제7항에 있어서,
상기 복수의 코어 CPU 중 제1 코어 CPU가 어플리케이션 모드의 전환을 결정하는 단계;
상기 제1 코어 CPU가 어플리케이션 모드의 전환이 결정되면 다른 코어 CPU에 어플리케이션 모드의 전환을 요청하는 단계;
다른 코어 CPU로부터 어플리케이션 모드의 전환 응답을 수신하면, 상기 제1 코어 CPU가 전환될 어플리케이션 모드에 대한 정보를 상기 메모리에 저장하는 단계;를 더 포함하는 주변 장치 공유 방법.
According to claim 7,
determining, by a first core CPU among the plurality of core CPUs, switching of an application mode;
requesting, by the first core CPU, to switch the application mode to another core CPU when it is determined that the switch of the application mode is to be performed;
and storing, by the first core CPU, information on the application mode to be switched to in the memory when receiving a response to change the application mode from another core CPU.
제8항에 있어서,
상기 복수의 코어 CPU 각각이 상기 메모리에 저장된 현재 어플리케이션 모드에 대한 정보 및 상기 저장된 주변 장치의 정보에 기초하여 각 코어 CPU에 사용할 주변 장치를 초기화를 수행하는 단계;를 더 포함하는 주변 장치 공유 방법.
According to claim 8,
and performing, by each of the plurality of core CPUs, initialization of a peripheral device to be used for each core CPU based on the information about the current application mode stored in the memory and the stored information on the peripheral device.
제9항에 있어서,
상기 초기화를 수행하는 단계는,
상기 복수의 코어 CPU 각각이 현재 어플리케이션 모드 및 상기 저장된 주변 장치의 정보에 기초하여 각 코어 CPU에서 사용할 주변 장치를 확인하고, 기존에 사용하지 않던 신규 주변 장치가 추가 할당되면, 상기 신규 주변 장치에 대한 초기화를 수행하는 주변 장치 공유 방법
According to claim 9,
Performing the initialization step,
Each of the plurality of core CPUs identifies a peripheral device to be used by each core CPU based on the current application mode and the stored peripheral device information, and if a new peripheral device that has not been previously used is additionally allocated, information on the new peripheral device is determined. Peripheral sharing method to perform initialization
제8항에 있어서,
전환될 어플리케이션 모드에 대한 정보가 메모리에 저장되면, 상기 제1 코어 CPU가 멀티코어 프로세서의 재시작을 수행하는 주변 장치 공유 방법.

According to claim 8,
When information on an application mode to be switched is stored in a memory, the first core CPU restarts the multi-core processor.

KR1020210189764A 2021-12-28 2021-12-28 Method for peripheral device sharing using multi-core processor and electronic apparatus using same KR102608939B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210189764A KR102608939B1 (en) 2021-12-28 2021-12-28 Method for peripheral device sharing using multi-core processor and electronic apparatus using same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210189764A KR102608939B1 (en) 2021-12-28 2021-12-28 Method for peripheral device sharing using multi-core processor and electronic apparatus using same

Publications (2)

Publication Number Publication Date
KR20230100136A true KR20230100136A (en) 2023-07-05
KR102608939B1 KR102608939B1 (en) 2023-12-01

Family

ID=87159266

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210189764A KR102608939B1 (en) 2021-12-28 2021-12-28 Method for peripheral device sharing using multi-core processor and electronic apparatus using same

Country Status (1)

Country Link
KR (1) KR102608939B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008052713A (en) * 2006-07-25 2008-03-06 Ntt Docomo Inc Periperahl swtiching device and peripheral swtiching control device
KR20130105609A (en) * 2010-08-20 2013-09-25 인터내셔널 비지네스 머신즈 코포레이션 Simulation method, system and program
KR20180065882A (en) * 2016-12-08 2018-06-18 한국전자통신연구원 Multi-core processor and operation method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008052713A (en) * 2006-07-25 2008-03-06 Ntt Docomo Inc Periperahl swtiching device and peripheral swtiching control device
KR20130105609A (en) * 2010-08-20 2013-09-25 인터내셔널 비지네스 머신즈 코포레이션 Simulation method, system and program
KR20180065882A (en) * 2016-12-08 2018-06-18 한국전자통신연구원 Multi-core processor and operation method thereof

Also Published As

Publication number Publication date
KR102608939B1 (en) 2023-12-01

Similar Documents

Publication Publication Date Title
CN107690622B (en) Method, equipment and system for realizing hardware acceleration processing
JP4474378B2 (en) Computational processing in both lockstep and freestep processor modes
JP5272709B2 (en) Address assignment method, computer, physical machine, program, and system
US11526440B2 (en) Providing multiple memory modes for a processor including internal memory
US9531668B2 (en) Micro server, method of allocating MAC address, and computer readable recording medium
JP2007026094A (en) Execution device and application program
US20110202790A1 (en) Storage Configuration
JPWO2017199383A1 (en) PLD management method and PLD management system
KR20200000971A (en) Storage device, storage system including storage device, and method of accessing storage device
JP2017130194A (en) Computing system for memory management, method of operation thereof, and medium including instructions for computing system
US20070220217A1 (en) Communication Between Virtual Machines
JP2015517159A (en) Method for controlling the use of hardware resources in a computer system, system and piece of code method
JP2008538834A (en) Configuring devices to use information from the device table
JP4809625B2 (en) Parallel system applications in multimedia consoles
US7464228B2 (en) System and method to conserve conventional memory required to implement serial ATA advanced host controller interface
KR102608939B1 (en) Method for peripheral device sharing using multi-core processor and electronic apparatus using same
US9977730B2 (en) System and method for optimizing system memory and input/output operations memory
JP2011221634A (en) Computer system, logic section management method and logic division processing program
US20130247065A1 (en) Apparatus and method for executing multi-operating systems
US11023139B2 (en) System for speculative block IO aggregation to reduce uneven wearing of SCMs in virtualized compute node by offloading intensive block IOs
KR102436979B1 (en) Data Cache Segmentation for Spectre Mitigation
JP6653786B2 (en) I / O control method and I / O control system
US20160077959A1 (en) System and Method for Sharing a Solid-State Non-Volatile Memory Resource
JP2004152156A (en) Interface conversion device
TWI816106B (en) Controller for a user interface of a motor vehicle, and method for operating a controller for a user interface

Legal Events

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