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 PDFInfo
- 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
Links
- 230000002093 peripheral effect Effects 0.000 title claims abstract description 154
- 238000000034 method Methods 0.000 title claims description 26
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 7
- 238000003745 diagnosis Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend 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
본 개시는 멀티코어 프로세서를 이용한 주변 장치 공유 방법 및 이를 이용하는 전자 장치에 관한 것으로, 구체적으로 어플리케이션 모드별로 각 코어 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
메모리(110)는 전자 장치(100)에 관한 적어도 하나의 인스트럭션(instruction)이 저장될 수 있다. 구체적으로, 메모리(110)에는 본 개시의 다양한 실시 예에 따라 전자 장치(100)가 동작하기 위한 각종 프로그램(또는 소프트웨어) 등이 저장될 수 있다. The
이러한 메모리(110)는 RAM이나 ROM, 플래시 메모리, HDD, 외장 메모리, 메모리 카드 등과 같은 다양한 형태로 구현될 수 있으며, 어느 하나로 한정되는 것은 아니다. The
그리고 메모리(110)는 현재 어플리케이션 모드에 대한 정보(이하, 모드 정보), 복수의 어플리케이션 모드별 복수의 코어 CPU에 할당되는 주변 장치의 정보(이하, 주변 장치 정보)를 저장할 수 있다. The
여기서 모드 정보는 현재 전자 장치의 어플리케이션 모드(또는 상태)를 나타내는 정보이다. 그리고 어플리케이션 모드는 노멀 모드, 진단 모드, 업그레이드 모드 등이 있을 수 있다. 여기서 노멀 모드, 진단 모드, 업그레이드 모드라는 용어는 예시에 불가하며, 각 코어 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
한편, 본 개시에서는 주변 장치의 예로 통신망만을 들었지만, 구현시에는 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)는 두 개 이상의 독립 코어(또는 코어 CPU)를 하나의 패키지로 통합한 것이다. 즉, 이러한 코어 CPU 각각은 서로 독립적인 연산 처리 또는 제어 동작을 수행하는 것이 가능하다. The
멀티 코어 프로세서(130)는 초기 부팅시에 메모리(110)에 저장된 인스트럭션을 기초로 부팅 동작을 수행할 수 있으며, 부팅 동작시에 메모리(110)에 저장된 모드 정보, 주변 장치 정보를 이용하여 각 코어 CPU에 할당될 주변 장치를 할당할 수 있다. The
구체적으로, 멀티 코어 프로세서(130)는 부팅시에 메모리(110)에 저장된 모드 정보에 기초하여 현재 어플리케이션 모드를 확인하고, 주변 장치 정보와 확인된 어플리케이션 모드에 기초하여 각 코어 CPU에 할당될 주변 장치를 확인하여 주변 장치를 할당할 수 있다. Specifically, the
한편, 이와 같은 할당 동작은 멀티 코어 프로세서(130) 내의 코어 CPU와 구분되는 별도의 컨트롤러에서 수행될 수 있으며, 복수의 코어 CPU 중 하나가 수행하거나, 복수의 코어 CPU 각각이 개별적으로 수행할 수 있다. Meanwhile, such an assignment operation may be performed in a separate controller separate from the core CPU in the
예를 들어, 복수의 코어 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
주변 장치의 할당이 완료되면, 각 코어 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
예를 들어, 복수의 코어 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
이와 같이 메모리(110)의 모드 정보가 변경되면, 각 코어 CPU는 초기 부팅과정도 동일하게 현재 동작 모드를 확인하고, 각 동작 모드 및 자신에게 할당된 주변 장치를 이용하기 위한 초기화 동작을 수행할 수 있다. 예를 들어, 제2 코어 CPU가 노멀 모드시에 제1 주변장치만을 이용하나, 진단 모드시에 제1 및 제2 주변 장치를 이용하는 것으로 주변 장치 정보가 저장되어 있는 경우, 제2 코어 CPU는 기존에 사용하는 제1 주변장치에 대한 초기화 동작을 수행하지 않고, 제2 주변 장치에 대해서만 자신이 이용하는 것으로 초기화 동작을 수행할 수 있다. 한편, 구현시에는 상술한 기존에 사용하는 주변 장치와 상관없이 모든 주변 장치에 대한 초기화 동작을 수행할 수도 있다. When the mode information of the
또한, 구현시에는 상술한 바와 같은 주변 장치에 대한 초기화 동작 대신에 어플리케이션 모드의 전환이 필요한 경우, 재부팅 동작이 수행될 수도 있다. 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
도 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
도 2의 전자 장치(100)가 일반적인 상태로 동작할 때를 의미하며, 예를 들어, 전자 장치(100)가 차량에 탑재되어 있는 경우, 차량 운행 상태일 수 있다. This refers to a time when the
이와 같은 일반 모드 상태에서는 제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
따라서, 초기 부팅시에 메모리(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
도 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
진단 모드는 전자 장치의 상태를 점검하는 경우의 모드를 의미하며, 예를 들어, 전자 장치(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
예를 들어, 제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
따라서, 초기 부팅시에 메모리(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
이하에서는 도 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
이와 같은 전환 동작에 따라 제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
도 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.
상기 복수의 코어 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.
상기 복수의 코어 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.
상기 복수의 코어 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.
상기 제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.
상기 주변 장치는,
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 각각이 할당된 주변 장치를 초기화하는 단계;를 포함하는 주변 장치 공유 방법.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.
상기 복수의 코어 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.
상기 복수의 코어 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.
상기 초기화를 수행하는 단계는,
상기 복수의 코어 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
전환될 어플리케이션 모드에 대한 정보가 메모리에 저장되면, 상기 제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.
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)
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 |
-
2021
- 2021-12-28 KR KR1020210189764A patent/KR102608939B1/en active IP Right Grant
Patent Citations (3)
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 |