KR20220083985A - multi-processor - Google Patents

multi-processor Download PDF

Info

Publication number
KR20220083985A
KR20220083985A KR1020220067620A KR20220067620A KR20220083985A KR 20220083985 A KR20220083985 A KR 20220083985A KR 1020220067620 A KR1020220067620 A KR 1020220067620A KR 20220067620 A KR20220067620 A KR 20220067620A KR 20220083985 A KR20220083985 A KR 20220083985A
Authority
KR
South Korea
Prior art keywords
processor
state information
information
present
processors
Prior art date
Application number
KR1020220067620A
Other languages
Korean (ko)
Inventor
김화수
Original Assignee
주식회사 넷아스
김화수
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 넷아스, 김화수 filed Critical 주식회사 넷아스
Publication of KR20220083985A publication Critical patent/KR20220083985A/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5012Processor sets
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

본 발명은 장치의 프로세서(제어부, 제어장치)에 관한 것이다.
또한 본 발명은 멀티 프로세서의 동작 방법 및 제어 시스템에 관한 것이다.
The present invention relates to a processor (control unit, control unit) of a device.
The present invention also relates to a method and a control system for operating a multi-processor.

Description

멀티 프로세서 {multi-processor}multi-processor {multi-processor}

본 발명은 장치의 프로세서(제어부, 제어장치)에 관한 것이다.The present invention relates to a processor (control unit, control unit) of a device.

또한 본 발명은 멀티 프로세서의 동작 방법 및 제어 시스템에 관한 것이다.The present invention also relates to a method and a control system for operating a multi-processor.

일반적으로 마이크로 프로세서를 사용하는 시스템에서 프로그램 처리를 신속히 하기 위하여 마이크로 프로세서(이하 "CPU"라 칭함)를 복수로 구성된 멀티프로세서(CPU 2개이상)에 의해 기능별 프로그램을 따로 나누어 처리해 왔었다.In general, in order to speed up program processing in a system using a microprocessor, programs for each function have been separately processed by a multiprocessor (two or more CPUs) composed of a plurality of microprocessors (hereinafter referred to as "CPU").

상기 다중화된 멀티 프로세서를 사용한 시스템에서는 현재 운용 중이던 마스터 프로세서(시스템)가 다운되거나 현재 운용중이던 작업을 로컬 프로세서로 처리를 넘겨줄 때 대기중이던 로컬 프로세서에 인터럽트를 걸어서 로컬 프로세서의 액티브된 것이 인식되면 처리를 넘겨주고, 원래의 마스터 프로세서는 대기상태로 들어가게 된다.In the system using the multiplexed multi-processor, when the currently operating master processor (system) is down or when the currently operating task is transferred to the local processor, an interrupt is applied to the waiting local processor to process when the local processor is recognized as active , and the original master processor enters the standby state.

상기 구체적인 종래의 실시예를 도 1을 참조하여 설명하면, 어떠한 동작을 실행하다가 마스터 프로세서(M CPU)에서 로컬 프로세서(S CPU)를 이용할 필요가 있다고 할 때 마스터 프로세서(M CPU)의 출력포트(P12)에서 로컬 프로세서(S CPU)로 넘어가게 되고, 로컬 프로세서(S CPU)는 필요한 동작을 수행하게 된다. 상기 로컬 프로세서(S CPU)의 출력 포트(P22)에서 마스터 프로세서(M CPU)의 입력포트(P11)로 동작수행이 끝났음을 알려주게 된다.1, the output port of the master processor (M CPU) when it is necessary to use the local processor (S CPU) in the master processor (M CPU) while executing any operation P12) is transferred to the local processor (S CPU), and the local processor (S CPU) performs a necessary operation. The completion of operation is notified from the output port P22 of the local processor (S CPU) to the input port (P11) of the master processor (M CPU).

상기와 같은 원리로 로컬 프로세서(S CPU)에서 어떠한 일로 마스터 프로세서(M CPU)를 호출할 경우가 발생하면 로컬 프로세서(S CPU)의 출력포트(P21)에서 마스터 프로세서(M CPU)에 인터럽트(INT)를 건다. 이 경우에 제어하는 마스터 프로세서(M CPU)로 넘어가게 되고, 필요한 동작을 수행한 다음에 마스터 프로세서(M CPU)의 출력포트(P13)에서 로컬 프로세서(S CPU)의 입력포트(P23)로 필요한 동작수행이 끝났음을 알려주게 된다.With the same principle as above, if the master processor (M CPU) is called for any reason from the local processor (S CPU), an interrupt (INT) is sent to the master processor (M CPU) from the output port (P21) of the local processor (S CPU). ) to hang In this case, it goes to the controlling master processor (M CPU), and after performing the necessary operation, the output port (P13) of the master processor (M CPU) goes to the input port (P23) of the local processor (S CPU) It indicates that the operation has been completed.

상술한 두 경우 모두가 상대편 프로세서의 출력포트로부터 인터럽트 서비스가 끝났다는 신호를 받은 다음에 다시 출력포트로 신호를 내보내어 인터럽트 상태를 해제시키게 된다.In both cases described above, after receiving a signal that the interrupt service is over from the output port of the other processor, the signal is sent back to the output port to cancel the interrupt state.

상기한 종래의 방법으로 인터럽트를 수행하게 되면 상대편 프로세서 인터럽트 수행이 끝났음을 알려주는 신호를 받은 후에 다시 출력포트로 신호를 내보내어 인터럽트 신호를 해제시켜 주어야 하기 때문에 상기와 같은 동작을 하는 동안 소프트웨어는 계속 기다려야 한다. 이로 인하여 시간낭비가 많아 전체처리에 있어 처리시간이 길어지는 문제점이 있었다.When the interrupt is performed in the conventional manner, the software continues during the above operation because the interrupt signal must be released by sending a signal to the output port again after receiving a signal indicating that the other processor has completed the interrupt execution. have to wait Due to this, there was a problem in that the processing time was long in the overall processing because there was a lot of time wasted.

국내등록실용신안 제20-0060266호 (1991.11.04)Domestic Registered Utility Model No. 20-0060266 (January 4, 1991) 국내등록특허 제10-0145925호 (1998.05.06)Domestic Registered Patent No. 10-0145925 (1998.005.06) 국내등록특허 제10-0390403호 (2003.06.25)Domestic Registered Patent No. 10-0390403 (June 25, 2003) 국내등록특허 제10-0097307호 (1996.03.22)Domestic Registered Patent No. 10-0097307 (1996.03.22) 국내공개특허 제10-2000-0020328호 (2000.04.15)Domestic Patent Publication No. 10-2000-0020328 (April 15, 2000) 국내공개특허 제10-2000-0044392호 (2000.07.15)Domestic Patent Publication No. 10-2000-0044392 (July 15, 2000) 국내공개특허 제10-1988-0008188호 (1988.08.30)Domestic Patent Publication No. 10-1988-0008188 (08.08.30) 국내공개특허 제10-2003-0089734호 (2003.11.28)Domestic Patent Publication No. 10-2003-0089734 (2003.11.28) 국내공개특허 제10-1999-0047715호 (1999.07.05)Domestic Patent Publication No. 10-1999-0047715 (July 5, 1999)

본 발명의 일 실시예는 멀티 프로세서의 동작 방법 및 제어 시스템을 제공하는데 그 목적이 있다.An embodiment of the present invention provides an operating method and control system of a multi-processor.

본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those of ordinary skill in the art to which the present invention belongs from the description below. will be able

본 발명은 멀티 프로세서의 동작 방법 및 제어 시스템을 제안한다.The present invention proposes a method for operating a multi-processor and a control system.

본 발명의 일 실시예는, 복수의 프로세서를 포함하는 멀티 프로세서(multi-processor)와 상기 복수의 프로세서를 제어하는 프로세서 관리부를 포함하는 제어 장치; 를 포함하고, 상기 프로세서 관리부는: 상기 복수의 프로세서에 대한 상태 정보를 수집하고, 상기 복수의 프로세서에 대한 상태 정보에 기반하여 재설정 정보를 생성하거나 멀티 프로세서 모드를 설정하고, 상기 재설정 정보 또는 상기 멀티 프로세서 모드에 따라 상기 복수의 프로세서를 제어할 수 있다.An embodiment of the present invention, a control device including a multi-processor (multi-processor) including a plurality of processors and a processor manager for controlling the plurality of processors; including, wherein the processor management unit: collects state information on the plurality of processors, generates reset information or sets a multi-processor mode based on the state information on the plurality of processors, and sets the reset information or the multi-processor mode The plurality of processors may be controlled according to a processor mode.

상기 프로세서 관리부는: 상기 복수의 프로세서에 대한 상태 정보를 소정의 주기(period)마다 수집하고, 상기 소정의 주기는 상기 복수의 프로세서에 대한 상태 정보에 기반하여 재설정될 수 있다.The processor manager may: collect state information on the plurality of processors at every predetermined period, and the predetermined period may be reset based on the state information on the plurality of processors.

상기 프로세서 관리부는: 상기 복수의 프로세서에 대한 상태 정보에 기반하여 상기 재설정 정보를 생성하고, 상기 복수의 프로세서에 대한 상태 정보에 기반하여 상기 멀티 프로세서 모드를 설정하고, 상기 재설정 정보 및 상기 멀티 프로세서 모드에 따라 상기 복수의 프로세서 각각의 온오프(ON/OFF)를 제어할 수 있다.The processor management unit: generates the reset information based on the state information on the plurality of processors, sets the multi-processor mode based on the state information on the plurality of processors, the reset information and the multi-processor mode Accordingly, on/off of each of the plurality of processors may be controlled.

상기 프로세서 관리부는: 상기 재설정 정보 및 상기 멀티 프로세서 모드에 따라 상기 복수의 프로세서 각각의 온오프(ON/OFF)를 제어한 후에 상기 복수의 프로세서에 대한 제2 상태 정보를 더 수집하고, 상기 복수의 프로세서에 대한 제2 상태 정보에 기반하여 상기 복수의 프로세서에 대한 제2 재설정 정보를 생성하고, 상기 복수의 프로세서에 대한 제2 상태 정보에 기반하여 제2 멀티 프로세서 모드를 설정하고, 상기 제2 재설정 정보 및 상기 제2 멀티 프로세서 모드에 따라 상기 복수의 프로세서 각각의 온오프(ON/OFF)를 더 제어할 수 있다.The processor manager further collects second state information for the plurality of processors after controlling ON/OFF of each of the plurality of processors according to the reset information and the multi-processor mode, Generates second reset information for the plurality of processors based on second state information about the processors, sets a second multi-processor mode based on the second state information on the plurality of processors, and the second reset On/off of each of the plurality of processors may be further controlled according to information and the second multi-processor mode.

상기 시스템은, 사용자 단말; 또는 관리 서버; 중 적어도 어느 하나를 더 포함하고, 상기 제어 장치는, 상기 복수의 프로세서에 대한 상태 정보를 상기 사용자 단말 또는 상기 관리 서버 중 적어도 어느 하나에게 공유할 수 있다.The system includes: a user terminal; or management server; and at least one of the following, wherein the control device may share state information on the plurality of processors to at least one of the user terminal and the management server.

본 발명의 일 실시예는 개선된(enhanced) 멀티 프로세서의 동작 방법 및 제어 시스템을 제공할 수 있다.An embodiment of the present invention may provide an improved (enhanced) multi-processor operating method and control system.

본 발명의 일 실시예는 복수의 프로세서 각각의 상태를 고려하여 적응적으로 설정 정보의 생성 및/또는 모드 결정을 가능케 할 수 있다.An embodiment of the present invention may enable generation of configuration information and/or mode determination adaptively in consideration of the state of each of a plurality of processors.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present invention are not limited to the above-mentioned effects, and other effects not mentioned may be clearly understood by those of ordinary skill in the art to which the present invention belongs from the following description. will be.

본 발명의 특정한 바람직한 실시예들의 상기에서 설명한 바와 같은 또한 다른 측면들과, 특징들 및 이득들은 첨부 도면들과 함께 처리되는 하기의 설명으로부터 보다 명백하게 될 것이다.
도 1은 종래의 멀티 프로세서를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 멀티 프로세서 제어 시스템을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 제어장치를 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법을 나타내는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법을 나타내는 흐름도이다.
도 6 내지 도 8은 본 발명의 일 실시예에 따른 전자 장치를 나타내는 블록도이다.
도 9는 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법을 나타내는 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법을 나타내는 흐름도이다.
상기 도면들을 통해, 유사 참조 번호들은 동일한 혹은 유사한 엘리먼트들과, 특징들 및 구조들을 도시하기 위해 사용된다는 것에 유의해야만 한다.
Other aspects, features and benefits as set forth above of certain preferred embodiments of the invention will become more apparent from the following description taken in conjunction with the accompanying drawings.
1 is a diagram illustrating a conventional multi-processor.
2 is a diagram illustrating a multi-processor control system according to an embodiment of the present invention.
3 is a block diagram illustrating a control device according to an embodiment of the present invention.
4 is a flowchart illustrating a method of controlling a multi-processor according to an embodiment of the present invention.
5 is a flowchart illustrating a method of controlling a multi-processor according to an embodiment of the present invention.
6 to 8 are block diagrams illustrating an electronic device according to an embodiment of the present invention.
9 is a flowchart illustrating a method for controlling a multi-processor according to an embodiment of the present invention.
10 is a flowchart illustrating a method of controlling a multi-processor according to an embodiment of the present invention.
It should be noted that throughout the drawings, like reference numerals are used to denote the same or similar elements, features, and structures.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.In describing the embodiments, descriptions of technical contents that are well known in the technical field to which the present invention pertains and are not directly related to the present invention will be omitted. This is to more clearly convey the gist of the present invention without obscuring the gist of the present invention by omitting unnecessary description.

마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.For the same reason, some components are exaggerated, omitted, or schematically illustrated in the accompanying drawings. In addition, the size of each component does not fully reflect the actual size. In each figure, the same or corresponding elements are assigned the same reference numerals.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention, and a method for achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments allow the disclosure of the present invention to be complete, and common knowledge in the technical field to which the present invention belongs It is provided to fully inform the possessor of the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.

이때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.At this time, it will be understood that each block of the flowchart diagrams and combinations of the flowchart diagrams may be performed by computer program instructions. These computer program instructions may be embodied in a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, such that the instructions performed by the processor of the computer or other programmable data processing equipment are not described in the flowchart block(s). It creates a means to perform functions. These computer program instructions may also be stored in a computer-usable or computer-readable memory that may direct a computer or other programmable data processing equipment to implement a function in a particular manner, and thus the computer-usable or computer-readable memory. It is also possible that the instructions stored in the flow chart block(s) produce an article of manufacture containing instruction means for performing the function described in the flowchart block(s). The computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operational steps are performed on the computer or other programmable data processing equipment to create a computer-executed process to create a computer or other programmable data processing equipment. It is also possible that instructions for performing the processing equipment provide steps for performing the functions described in the flowchart block(s).

또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). It should also be noted that in some alternative implementations it is also possible for the functions recited in blocks to occur out of order. For example, two blocks shown one after another may be performed substantially simultaneously, or the blocks may sometimes be performed in the reverse order according to a corresponding function.

이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field-Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.In this case, the term '~ unit' used in this embodiment means software or hardware components such as field-programmable gate array (FPGA) or ASIC (Application Specific Integrated Circuit), and '~ unit' refers to what role carry out the However, '-part' is not limited to software or hardware. '~' may be configured to reside on an addressable storage medium or may be configured to refresh one or more processors. Accordingly, as an example, '~' indicates components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, and procedures. , subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functions provided in the components and '~ units' may be combined into a smaller number of components and '~ units' or further separated into additional components and '~ units'. In addition, components and '~ units' may be implemented to play one or more CPUs in a device or secure multimedia card.

본 발명의 실시예들을 구체적으로 설명함에 있어서, 특정 시스템의 예를 주된 대상으로 할 것이지만, 본 명세서에서 청구하고자 하는 주요한 요지는 유사한 기술적 배경을 가지는 여타의 통신 시스템 및 서비스에도 본 명세서에 개시된 범위를 크게 벗어나지 아니하는 범위에서 적용 가능하며, 이는 당해 기술분야에서 숙련된 기술적 지식을 가진 자의 판단으로 가능할 것이다.In describing embodiments of the present invention in detail, an example of a specific system will be the main subject, but the main subject matter of the present specification is to extend the scope disclosed herein to other communication systems and services having a similar technical background. It can be applied within a range that does not deviate significantly, and this will be possible at the discretion of a person with technical knowledge skilled in the art.

도 2는 본 발명의 일 실시예에 따른 멀티 프로세서 제어 시스템을 나타내는 도면이고, 도 3은 본 발명의 일 실시예에 따른 제어장치를 나타내는 도면이다.2 is a diagram illustrating a multi-processor control system according to an embodiment of the present invention, and FIG. 3 is a diagram illustrating a control apparatus according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예는 제어장치(110)를 포함하는 제1 단말(120) 및/또는 제2 단말(130)을 포함하며, 선택적으로 관리서버(140) 및/또는 외부서버(150)를 더 포함하는 멀티 프로세서 제어 시스템(100)을 제안한다.Referring to FIG. 2 , an embodiment of the present invention includes a first terminal 120 and/or a second terminal 130 including a control device 110 , and optionally a management server 140 and/or We propose a multi-processor control system 100 that further includes an external server 150 .

한편, 상기 제1 단말(120) 및/또는 제2 단말(130)은 전자 장치로 대체될 수 있으며, 상기 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.Meanwhile, the first terminal 120 and/or the second terminal 130 may be replaced with an electronic device, and the electronic device is, for example, a smart phone, a tablet PC, a mobile phone, a video phone, and an e-book. It may include at least one of a reader, a desktop PC, a laptop PC, a netbook computer, a workstation, a server, a PDA, a portable multimedia player (PMP), an MP3 player, a medical device, a camera, and a wearable device. A wearable device may be an accessory (e.g., watch, ring, bracelet, anklet, necklace, eyewear, contact lens, or head-mounted-device (HMD)), a textile or clothing integral (e.g. electronic garment); It may include at least one of a body mountable (eg skin pad or tattoo) or bioimplantable circuit In some embodiments, the electronic device may include, for example, a television, a digital video disk (DVD) player; Audio, refrigerator, air conditioner, vacuum cleaner, oven, microwave oven, washing machine, air purifier, set-top box, home automation control panel, security control panel, media box (eg Samsung HomeSyncTM, Apple TVTM, or Google TVTM), game console (eg, XboxTM, PlayStationTM), an electronic dictionary, an electronic key, a camcorder, or an electronic picture frame.

도 3을 참조하면, 본 발명의 일 실시예에 따른 제어장치(110)는 멀티 프로세서(200), 모니터링부(250), 및/또는 프로세서 제어부(260)를 포함한다.Referring to FIG. 3 , the control device 110 according to an embodiment of the present invention includes a multi-processor 200 , a monitoring unit 250 , and/or a processor control unit 260 .

멀티 프로세서(200)는 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230) 및/또는 제4 프로세서(240)를 포함할 수 있으며, 멀티 프로세서(200)에 포함되는 프로세서의 개수는 도 3에서 도시된 예시에 제한되지 않는다. 예를 들면, 멀티 프로세서(200)는 N개의 프로세서(미도시)를 포함할 수 있으며, N은 4, 8, 16, 32, 64, 128 등의 자연수로 가능하다. 일 예로, 멀티 프로세서(200)가 8개의 프로세서, 즉 제1 프로세서 내지 제8 프로세서를 포함하는 경우, 상기 멀티 프로세서(200)는 옥타코어(octa-core), 8코어에 상응할 수 있으며, 멀티 프로세서(200)에 대한 상태 정보는 제1 프로세서 상태 정보 내지 제8 프로세서 상태 정보를 포함할 수 있다. 일 예로, 멀티 프로세서(200)가 16개의 프로세서, 즉 제1 프로세서 내지 제16 프로세서를 포함하는 경우, 상기 멀티 프로세서(200)는 16코어에 상응할 수 있으며, 멀티 프로세서(200)에 대한 상태 정보는 제1 프로세서 상태 정보 내지 제16 프로세서 상태 정보를 포함할 수 있다. 또한 본 발명에서 제1 프로세서(210) 내지 제4 프로세서(240)를 전제로 설명되는 특징들은 N개의 프로세서에서도 적용될 수 있을 것이다.The multi-processor 200 may include a first processor 210 , a second processor 220 , a third processor 230 , and/or a fourth processor 240 , and a processor included in the multi-processor 200 . The number of is not limited to the example shown in FIG. 3 . For example, the multi-processor 200 may include N processors (not shown), and N may be a natural number such as 4, 8, 16, 32, 64, 128, or the like. For example, when the multi-processor 200 includes eight processors, that is, the first to eighth processors, the multi-processor 200 may correspond to an octa-core or 8 cores, The state information about the processor 200 may include first to eighth processor state information. For example, when the multi-processor 200 includes 16 processors, that is, the first to sixteenth processors, the multi-processor 200 may correspond to 16 cores, and state information on the multi-processor 200 . may include first processor state information to sixteenth processor state information. In addition, features described on the assumption that the first processor 210 to the fourth processor 240 in the present invention may be applied to N processors.

제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230) 및/또는 제4 프로세서(240) 각각은 적어도 하나의 중앙 처리 유닛(CPU, central processing unit) 및/또는 적어도 하나의 그래픽 처리 디바이스(GPU, graphic processing unit)를 포함할 수 있다.Each of the first processor 210 , the second processor 220 , the third processor 230 and/or the fourth processor 240 is at least one central processing unit (CPU) and/or at least one It may include a graphic processing unit (GPU).

또한 본 발명의 일 실시예에 따른 제어장치(110)는 멀티 프로세서(200)는 제어장치 관리부(250)를 더 포함할 수 있다. 제어장치 관리부(250)는 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230) 및/또는 제4 프로세서(240)에 관한 상태 정보를 수집하거나(예; 모니터링 역할), 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230) 및/또는 제4 프로세서(240)를 제어하기 위한 제어 정보를 생성할 수 있다(예; 관리 역할, ON/OFF 제어, 모드 설정).In addition, the control device 110 according to an embodiment of the present invention, the multi-processor 200 may further include a control device manager 250 . The control device manager 250 collects status information about the first processor 210 , the second processor 220 , the third processor 230 , and/or the fourth processor 240 (eg, a monitoring role); It is possible to generate control information for controlling the first processor 210 , the second processor 220 , the third processor 230 , and/or the fourth processor 240 (eg, management role, ON/OFF control). , mode setting).

도 2 및 도 3을 참조하면, 본 발명의 일 실시예에 따른 단말(120, 130)은 제어장치(110) 뿐만 아니라, 송수신기(transceiver), 입력 인터페이스(input interface), 출력 인터페이스(output interface), 및/또는 메모리(memory)를 포함할 수 있다.2 and 3 , the terminals 120 and 130 according to an embodiment of the present invention include a transceiver, an input interface, and an output interface as well as the control device 110 . , and/or memory.

또한 서버(140, 150)는, 프로세서(processor), 송수신기(transceiver), 입력 인터페이스(input interface), 출력 인터페이스(output interface), 및/또는 메모리(memory)를 포함할 수 있다.In addition, the servers 140 and 150 may include a processor, a transceiver, an input interface, an output interface, and/or a memory.

한편, 실시예에 따라 서버(140, 150)의 경우에도, 일반적인 프로세서 대신 전술한 제어장치(110)를 포함할 수 있다.Meanwhile, even in the case of the servers 140 and 150 according to an embodiment, the control device 110 described above may be included instead of a general processor.

제어장치(110) 및/또는 프로세서는 본 발명의 일 실시예에 따른 동작/단계/과정을 구현할 수 있도록 본 발명의 단말(120, 130) 및/또는 서버(140, 150)을 직/간접적으로 제어할 수 있다. The control device 110 and/or the processor directly/indirectly controls the terminals 120 and 130 and/or the servers 140 and 150 of the present invention to implement the operations/steps/processes according to an embodiment of the present invention. can be controlled

송수신기는 본 발명의 단말(120, 130) 및/또는 서버(140, 150) 등과 각종 데이터, 신호, 정보를 송수신할 수 있다. 또한, 송수신기는 무선 통신 모듈(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 또한, 송수신기는 제1 네트워크(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제2 네트워크(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다.The transceiver may transmit/receive various data, signals, and information to and from the terminals 120 and 130 and/or the servers 140 and 150 of the present invention. In addition, the transceiver may be a wireless communication module (eg, a cellular communication module, a near field communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (eg, a local area network (LAN) communication module, or a power line communication module). ) may be included. In addition, the transceiver may be connected to a first network (eg, a short-range communication network such as Bluetooth, WiFi direct, or infrared data association (IrDA)) or a second network (eg, a cellular network, the Internet, or a computer network such as a LAN or WAN). It can communicate with an external electronic device through a telecommunication network). These various types of communication modules may be integrated into one component (eg, a single chip) or may be implemented as a plurality of components (eg, multiple chips) separate from each other.

입력 인터페이스는 본 발명의 단말(120, 130) 및/또는 서버(140, 150)의 구성요소(예: 제어장치(110) 및/또는 프로세서 등)에 사용될 명령 또는 데이터를 본 발명의 단말(120, 130) 및/또는 서버(140, 150)의 사용자로부터 수신할 수 있다. 또한, 입력 인터페이스는 터치인식가능 디스플레이, 터치패드, 버튼형 인식 모듈, 음성인식센서, 마이크, 마우스, 또는 키보드 등을 포함할 수 있다. 여기서 터치인식가능 디스플레이, 터치패드, 버튼형 인식 모듈은 감압식 및/또는 정전식 방식을 통하여 사용자의 신체(예; 손가락)를 통한 터치를 인식할 수 있다.The input interface transmits commands or data to the terminals 120 and 130 of the present invention and/or components of the servers 140 and 150 (eg, the control device 110 and/or the processor, etc.) to the terminal 120 of the present invention. , 130 ) and/or from a user of the servers 140 , 150 . In addition, the input interface may include a touch recognition capable display, a touch pad, a button type recognition module, a voice recognition sensor, a microphone, a mouse, or a keyboard. Here, the touch recognition capable display, touch pad, and button type recognition module may recognize a touch through the user's body (eg, finger) through a pressure-sensitive and/or capacitive method.

출력 인터페이스는 본 발명의 단말(120, 130) 및/또는 서버(140, 150)의 제어장치(110) 및/또는 프로세서에 의해 생성되거나 송수신기를 통하여 획득된 신호(예; 음성 신호), 정보, 데이터, 이미지, 및/또는 각종 객체(object) 등을 표시하는 모듈이다. 또한 출력 인터페이스는 디스플레이, 스크린, 표시부(displaying unit), 스피커 및/또는 발광장치(예; LED 램프) 등을 포함할 수도 있다.The output interface is a signal (eg, voice signal), information, generated by the controller 110 and/or the processor of the terminals 120 and 130 and/or the servers 140 and 150 of the present invention or acquired through a transceiver; A module that displays data, images, and/or various objects. Also, the output interface may include a display, a screen, a displaying unit, a speaker, and/or a light emitting device (eg, an LED lamp).

메모리는 본 발명의 단말(120, 130) 및/또는 서버(140, 150)의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 또한, 저장 모듈은 플래시 메모리 타입(Flash Memory Type), 하드 디스크 타입(Hard Disk Type), 멀티미디어 카드 마이크로 타입(Multimedia Card Micro Type), 카드 타입의 메모리(예를 들면, SD 또는 XD 메모리 등), 자기 메모리, 자기 디스크, 광디스크, 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), PROM(Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory) 중 적어도 하나의 저장매체를 포함할 수 있다.The memory stores data such as basic programs, application programs, and setting information for the operation of the terminals 120 and 130 and/or the servers 140 and 150 of the present invention. In addition, the storage module is a flash memory type (Flash Memory Type), a hard disk type (Hard Disk Type), a multimedia card micro type (Multimedia Card Micro Type), a card type memory (eg, SD or XD memory, etc.), Magnetic Memory, Magnetic Disk, Optical Disk, Random Access Memory (RAM), Static Random Access Memory (SRAM), Read-Only Memory, ROM, Programmable Read-Only Memory (PROM), Electrically Erasable Programmable Read (EEPROM) -Only Memory) may include at least one storage medium.

또한, 상기 저장 모듈은 본 발명의 단말(120, 130) 및/또는 서버(140, 150)를 사용하는 사용자의 개인정보를 포함할 수 있다. 여기서 개인정보는 이름, 아이디(ID; identifier), 패스워드, 주민등록번호, 도로명 주소, 전화 번호, 휴대폰 번호, 및/또는 이메일 주소 등을 포함할 수 있다. 또한, 제어장치(110) 및/또는 프로세서는 저장 모듈에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.In addition, the storage module may include personal information of a user who uses the terminals 120 and 130 and/or the servers 140 and 150 of the present invention. Here, the personal information may include a name, ID (identifier), password, resident registration number, street name address, phone number, mobile phone number, and/or e-mail address. In addition, the control device 110 and/or the processor may perform various operations using various programs, contents, data, etc. stored in the storage module.

도 4는 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법을 나타내는 흐름도이다.4 is a flowchart illustrating a method of controlling a multi-processor according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시예에 따른 방법은 복수의 프로세서에 대한 상태 정보를 수집하는 단계(S310)를 포함할 수 있다.Referring to FIG. 4 , the method according to an embodiment of the present invention may include collecting state information on a plurality of processors ( S310 ).

예를 들면, 프로세서 관리부(250)는 멀티 프로세서(200)에 대한 상태 정보를 생성할 수 있다. 일 예로, 프로세서 관리부(250)는 멀티 프로세서(200) 내에 포함되는 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230), 제4 프로세서(240) 중 적어도 어느 하나에 대한 상태 정보를 측정, 생성 및/또는 수집할 수 있다. 이때 멀티 프로세서(200)에 대한 상태 정보는 제1 프로세서(210)에 대한 제1 프로세서 상태 정보, 제2 프로세서(220)에 대한 제2 프로세서 상태 정보, 제3 프로세서(230)에 대한 제3 프로세서 상태 정보, 제4 프로세서(240)에 대한 제4 프로세서 상태 정보를 포함할 수 있다.For example, the processor manager 250 may generate state information for the multi-processor 200 . For example, the processor management unit 250 may be configured for at least one of the first processor 210 , the second processor 220 , the third processor 230 , and the fourth processor 240 included in the multi-processor 200 . State information may be measured, generated, and/or collected. At this time, the state information on the multi-processor 200 includes the first processor state information on the first processor 210 , the second processor state information on the second processor 220 , and the third processor on the third processor 230 . It may include state information and fourth processor state information for the fourth processor 240 .

예를 들면, 각 프로세서 상태 정보는 멀티 프로세서(200)의 프로세서들 각각에서의 소음(sound)[dB], 온도(temperature)[°C, °F], 진동수(frequency)[Hz] 등을 나타내는 정보를 포함할 수 있다. 이를 위해 멀티 프로세서(200)의 프로세서들 각각에는 소리 감지 센서, 마이크, 온도 감지 센서, 적외선 센서, 진동 감지 센서 등이 내장되거나 설치될 수 있다. 이때 소리 감지 센서, 마이크는 프로세서들 각각에서 발생하는 소음, 소리를 측정하기 위한 것이고, 온도 감지 센서, 적외선 센서는 프로세서들 각각의 온도, 프로세서들 각각에서 발생하는 열을 측정하기 위한 것일 수 있다.For example, each processor state information represents a sound [dB], temperature [°C, °F], frequency [Hz], etc. in each of the processors of the multi-processor 200 . may contain information. To this end, a sound sensor, a microphone, a temperature sensor, an infrared sensor, a vibration sensor, etc. may be built-in or installed in each of the processors of the multi-processor 200 . In this case, the sound sensor and the microphone may be for measuring noise and sound generated by each of the processors, and the temperature sensor and the infrared sensor may be for measuring the temperature of each of the processors and heat generated from each of the processors.

또한 프로세서 관리부(250)는 소정의 주기(period)마다 멀티 프로세서(200)에 대한 상태 정보(즉, 프로세서 상태 정보)를 생성할 수 있다. 일 예로, 상기 소정의 주기는 프로세서 관리부(250), 관리서버(140), 및/또는 외부서버(150)에 의해 설정될 수 있다. 일 예로, 상기 소정의 주기는 프로세서 관리부(250), 관리서버(140), 및/또는 외부서버(150)에 의해 제1 프로세서 상태 정보, 제2 프로세서 상태 정보, 제3 프로세서 상태 정보, 제4 프로세서 상태 정보 중 적어도 어느 하나에 기반하여 설정될 수 있다.In addition, the processor manager 250 may generate state information (ie, processor state information) for the multi-processor 200 every predetermined period. For example, the predetermined period may be set by the processor management unit 250 , the management server 140 , and/or the external server 150 . For example, the predetermined cycle is performed by the processor management unit 250 , the management server 140 , and/or the external server 150 for the first processor state information, the second processor state information, the third processor state information, and the fourth It may be set based on at least one of processor state information.

예를 들면, 상태 정보는, 각 프로세서 상태 정보는 멀티 프로세서(200)의 프로세서들 각각의 소정의 주기(period) 동안의 온도(temperature), 진동수(frequency) 등에 대한 통계, 멀티 프로세서(200)의 프로세서들 각각의 소정의 주기(period) 동안의 평균 온도, 평균 진동수, 최고 온도, 최고 진동수, 최저 온도, 최저 진동수 등을 나타내는 정보를 포함할 수 있다.For example, the state information, each processor state information, statistics about the temperature, frequency, etc., during a predetermined period of each of the processors of the multi-processor 200, the multi-processor 200 Information indicating an average temperature, an average frequency, a highest temperature, a highest frequency, a lowest temperature, a lowest frequency, and the like for a predetermined period of each of the processors.

또한 본 발명의 일 실시예에 따른 방법은 복수의 프로세서에 대한 상태 정보에 기반하여 재설정 정보를 생성하는 단계(S320)를 더 포함할 수 있다.Also, the method according to an embodiment of the present invention may further include generating reconfiguration information based on the state information on the plurality of processors ( S320 ).

예를 들면, 프로세서 관리부(250)는 제1 프로세서 상태 정보, 제2 프로세서 상태 정보, 제3 프로세서 상태 정보, 제4 프로세서 상태 정보 중 적어도 어느 하나에 기반하여 재설정 정보를 생성할 수 있다.For example, the processor manager 250 may generate reset information based on at least one of first processor state information, second processor state information, third processor state information, and fourth processor state information.

예를 들면, 재설정 정보는 멀티 프로세서(200)에 대한 설정(예; 세팅, 설정 값, 옵션, 모드)의 수정 및/또는 변경을 요청하는 명령어를 포함할 수 있다. 일 예로, 재설정 정보는 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230), 제4 프로세서(240) 중 적어도 어느 하나에 대한 설정(예; 세팅(setting), 설정 값, 옵션(option), 모드(mode))의 수정 및/또는 변경을 요청하는 명령어를 포함할 수 있다.For example, the reset information may include a command for requesting modification and/or change of settings (eg, settings, setting values, options, and modes) for the multi-processor 200 . For example, the reset information may include a setting (eg, setting, setting value) for at least one of the first processor 210 , the second processor 220 , the third processor 230 , and the fourth processor 240 . , an option (option), mode (mode)) may include a command to request a modification and / or change.

또한 본 발명의 일 실시예에 따른 방법은 복수의 프로세서에 대한 상태 정보에 기반하여 멀티 프로세서 모드를 결정하는 단계(S330)를 더 포함할 수 있다.In addition, the method according to an embodiment of the present invention may further include determining a multi-processor mode based on state information on a plurality of processors ( S330 ).

예를 들면, 프로세서 관리부(250)는 제1 프로세서 상태 정보, 제2 프로세서 상태 정보, 제3 프로세서 상태 정보, 제4 프로세서 상태 정보 중 적어도 어느 하나에 기반하여 멀티 프로세서 모드를 결정할 수 있다.For example, the processor manager 250 may determine the multi-processor mode based on at least one of the first processor state information, the second processor state information, the third processor state information, and the fourth processor state information.

또한 본 발명의 일 실시예에 따른 방법은 재설정 정보 및 멀티 프로세서 모드에 기반하여 복수의 프로세서를 제어하는 단계(S340)를 더 포함할 수 있다.In addition, the method according to an embodiment of the present invention may further include controlling the plurality of processors based on the reset information and the multi-processor mode ( S340 ).

예를 들면, 프로세서 관리부(250)는 전술한 바와 같이 결정(및/또는 설정, 생성)되는 재설정 정보 및/또는 멀티 프로세서 모드에 따라 상기 멀티 프로세서를 제어할 수 있다. 일 예로, 프로세서 관리부(250)는 전술한 바와 같이 결정(및/또는 설정, 생성)되는 재설정 정보에 기반하여 멀티 프로세서(200)를 제어하거나 및/또는 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230), 제4 프로세서(240) 중 적어도 어느 하나를 제어할 수 있다. 일 예로, 프로세서 관리부(250)는 전술한 바와 같이 결정(및/또는 설정, 생성)되는 멀티 프로세서 모드에 기반하여 멀티 프로세서(200)를 제어하거나 및/또는 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230), 제4 프로세서(240) 중 적어도 어느 하나를 제어할 수 있다.For example, the processor manager 250 may control the multi-processor according to the reset information determined (and/or set, and generated) as described above and/or the multi-processor mode. For example, the processor management unit 250 controls the multi-processor 200 based on the reset information determined (and/or set, and generated) as described above and/or the first processor 210, the second processor ( 220 ), the third processor 230 , and the fourth processor 240 may be controlled. For example, the processor management unit 250 controls the multi-processor 200 based on the multi-processor mode determined (and/or set, and generated) as described above and/or the first processor 210 and the second processor. At least one of 220 , the third processor 230 , and the fourth processor 240 may be controlled.

본 발명의 일 실시예에 따른 방법은, 일 예에 따라 상기 S310 내지 S340 중 일부만을 포함할 수도 있으며, 다른 예에 따라 상기 S310 내지 S340의 순서는 변경될 수 있다.The method according to an embodiment of the present invention may include only a part of S310 to S340 according to an example, and the order of S310 to S340 may be changed according to another example.

예를 들면, 프로세서 관리부(250)는 제1 프로세서 상태 정보, 제2 프로세서 상태 정보, 제3 프로세서 상태 정보, 제4 프로세서 상태 정보 중 적어도 어느 하나에 기반하여, i) 재설정 정보를 생성하거나, 또는 ii) 멀티 프로세서 모드를 결정할 수 있다(즉 S320, S330 중 어느 하나의 동작만이 구현될 수도 있다).For example, the processor management unit 250 may i) generate reset information based on at least one of the first processor state information, the second processor state information, the third processor state information, and the fourth processor state information, or ii) It is possible to determine the multi-processor mode (that is, only one operation of S320 and S330 may be implemented).

또한 본 발명의 일 실시예는 다음과 같은 특징을 더 포함할 수도 있다.In addition, an embodiment of the present invention may further include the following features.

예를 들면, 프로세서 관리부(250)는 멀티 프로세서(200)를 통하여 처리할 처리 대상 정보(information to be processed)에 영상(video)가 포함되어 있는지 여부, 이미지(image)가 포함되어 있는지 여부, 및/또는 텍스트(text)가 포함되어 있는지 여부에 기반하여 i) 재설정 정보를 생성하거나, 및/또는 ii) 멀티 프로세서 모드를 결정할 수 있다.For example, the processor manager 250 determines whether information to be processed to be processed through the multi-processor 200 includes a video, whether an image is included, and / or based on whether text is included, i) generate reset information, and/or ii) determine a multi-processor mode.

예를 들면, 프로세서 관리부(250)는 멀티 프로세서(200)를 통하여 처리할 처리 대상 정보(information to be processed)에 포함되는 영상(video)의 개수(number, amount), 용량(capacity, volume), 해상도(resolution) 및/또는 이미지(image)의 개수, 용량, 해상도 및/또는 텍스트(text)의 개수, 용량에 기반하여 i) 재설정 정보를 생성하거나, 및/또는 ii) 멀티 프로세서 모드를 결정할 수 있다.For example, the processor management unit 250 may include the number (number, amount), capacity ( volume), based on the resolution and/or number of images, capacity, resolution and/or number, capacity of text i) generate reset information, and/or ii) determine a multi-processor mode; have.

예를 들면, 프로세서 관리부(250)는 상기 처리 대상 정보를 멀티 프로세서(200)를 통하여 처리하는 것이, 제어장치(110) 및/또는 멀티 프로세서(200)가 온(ON) 상태인 동안 처리되어야 하는 것인지, 아니면 무인 모드로 진행되어도 되는 것인지 여부에 따라, i) 재설정 정보를 생성하거나, 및/또는 ii) 멀티 프로세서 모드를 결정할 수 있다.For example, in the processor management unit 250 , processing the processing target information through the multi-processor 200 is to be processed while the control device 110 and/or the multi-processor 200 is in an ON state. Depending on whether or not it is possible to proceed in an unattended mode, it is possible to i) generate reset information, and/or ii) determine a multi-processor mode.

이때 무인 모드(unmanned mode)라 함은 사용자가 제어장치(110)를 제어하지 않고, 밤새 켜두는 상태에 상응할 수 있다. 또한 상기 무인 모드는 소정의 기간 동안 설정되는 모드일 수도 있으며, 처리 대상 정보 각각에 따라 상이하게 설정되는 모드일 수도 있다.In this case, the unmanned mode may correspond to a state in which the user does not control the control device 110 and turns it on overnight. In addition, the unattended mode may be a mode set for a predetermined period, or may be a mode set differently according to each processing target information.

예를 들면, 프로세서 관리부(250)는 반복성을 추정하거나 및/또는 상기 반복성을 유추하기 위한 값을 산출할 수 있다. 또한 프로세서 관리부(250)는 상기 반복성에 기반하여 상기 처리 대상 정보를 멀티 프로세서(200)를 통하여 처리하는 것이, 제어장치(110) 및/또는 멀티 프로세서(200)가 온(ON) 상태인 동안 처리되어야 하는 것인지, 아니면 무인 모드로 진행되어도 되는 것인지 여부를 판단할 수 있다.For example, the processor manager 250 may estimate the repeatability and/or calculate a value for inferring the repeatability. In addition, the processor management unit 250 processes the processing target information through the multi-processor 200 based on the repeatability while the control device 110 and/or the multi-processor 200 is in an ON state. It can be determined whether it should be, or whether it is possible to proceed in an unattended mode.

일 예로, 프로세서 관리부(250)는 제어장치(110)가 포함되는 단말(120, 130) 등에서 실행되는 프로그램/소프트웨어 등에 로그인한 계정, 사용 이력 등을 고려하여 상기 반복성을 추정하거나, 및/또는 상기 반복성을 유추하기 위한 값을 산출할 수 있다.As an example, the processor management unit 250 estimates the repeatability in consideration of an account logged into programs/software, etc. executed in the terminals 120 and 130 including the control device 110 , and a history of use, and/or the A value for inferring repeatability can be calculated.

또한 본 발명의 일 실시예는 다음과 같은 특징을 더 포함할 수도 있다.In addition, an embodiment of the present invention may further include the following features.

프로세서 관리부(250)는 멀티 프로세서(200)에 포함되는 프로세서들 각각에 대한 프로세서 판단 지수(PRI, Processor Rating Index)를 아래의 수학식들을 이용하여 산출할 수 있다.The processor manager 250 may calculate a processor rating index (PRI) for each of the processors included in the multi-processor 200 using the following equations.

[수학식 1][Equation 1]

Figure pat00001
Figure pat00001

상기 수학식 1은, 해당 프로세서가 테스트 데이터를 처리하는데 소요되는 시간(Time)[sec, min], 해당 프로세서가 테스트 데이터의 용량(Volume)[kb, mb]에 기반하여 산출될 수 있다.Equation 1 may be calculated based on the time required for the processor to process the test data (Time) [sec, min] and the capacity of the processor to process the test data (Volume) [kb, mb].

[수학식 2][Equation 2]

Figure pat00002
Figure pat00002

상기 수학식 2는, 해당 프로세서가 테스트 데이터를 처리하는데 발생하는 평균 소음(PSound, Processing Sound)[dB], 제어장치, 단말 및/또는 서버의 전원이 오프(off)된 상태에서 측정되는 평균 소음(USound, Usual Sound)[dB], 해당 프로세서가 테스트 데이터를 처리하는데 발생하는 평균 진동(Vib, Vibration)[Hz]을 더 고려하여 산출될 수 있다. 나머지 파라미터는 수학식 1과 동일할 수 있다.Equation 2 is the average noise (PSound, Processing Sound) [dB] generated when the processor processes the test data, and the average noise measured when the power of the control device, the terminal, and/or the server is turned off. (USound, Usual Sound) [dB], it can be calculated by further considering the average vibration (Vib, Vibration) [Hz] generated when the processor processes the test data. The remaining parameters may be the same as in Equation 1.

[수학식 3][Equation 3]

Figure pat00003
Figure pat00003

이때 PTemp(Processing Temperature)는 해당 프로세서가 테스트 데이터를 처리하는 동안의 평균 온도를 나타내고, UTemp(Usual Temperature)는 제어장치, 단말 및/또는 서버의 전원이 오프(off)된 상태에서 측정되는 평균 온도를 나타낸다. 나머지 파라미터들은 수학식 1, 2와 동일하게 적용될 수 있다.At this time, PTemp (Processing Temperature) represents the average temperature while the processor processes the test data, and UTemp (Usual Temperature) is the average temperature measured when the power of the controller, terminal and/or server is turned off. indicates The remaining parameters may be applied in the same way as Equations 1 and 2.

[수학식 3][Equation 3]

Figure pat00004
Figure pat00004

수학식 3의 파라미터들은 수학식 1 내지 3과 동일하게 적용될 수 있다.The parameters of Equation 3 may be applied in the same way as Equations 1 to 3.

또한 수학식 1 내지 수학식 4에서 활용되는 파라미터들의 값은 해당 프로세서에 대한 프로세서 상태 정보로부터 확인(및/또는 식별)될 수 있다.In addition, values of parameters utilized in Equations 1 to 4 may be confirmed (and/or identified) from processor state information for a corresponding processor.

프로세서 관리부(250)는 전술한 수학식 1을 활용하여, 테스트 데이터에 포함되는 테스트 영상을 이용한 제1-1 프로세서 판단 지수(PRI1-1), 테스트 데이터에 포함되는 테스트 이미지를 이용한 제2-1 프로세서 판단 지수(PRI2-1), 테스트 데이터에 포함되는 테스트 텍스트를 이용한 제3-1 프로세서 판단 지수(PRI3-1)를 멀티 프로세서(200)에 포함되는 프로세서들 각각에 대하여 산출할 수 있다.The processor management unit 250 utilizes Equation 1 described above, the 1-1 processor determination index (PRI 1-1 ) using the test image included in the test data, and the second-second using the test image included in the test data. 1 processor determination index (PRI 2-1 ), a 3-1 processor determination index (PRI 3-1 ) using the test text included in the test data can be calculated for each of the processors included in the multi-processor 200 have.

프로세서 관리부(250)는 전술한 수학식 2를 활용하여, 테스트 데이터에 포함되는 테스트 영상을 이용한 제1-2 프로세서 판단 지수(PRI1-2), 테스트 데이터에 포함되는 테스트 이미지를 이용한 제2-2 프로세서 판단 지수(PRI2-2), 테스트 데이터에 포함되는 테스트 텍스트를 이용한 제3-2 프로세서 판단 지수(PRI3-2)를 멀티 프로세서(200)에 포함되는 프로세서들 각각에 대하여 산출할 수 있다.The processor management unit 250 utilizes Equation 2 above, the 1-2 processor determination index (PRI 1-2 ) using the test image included in the test data, and the second-second using the test image included in the test data. 2 processor determination index (PRI 2-2 ), a 3-2 processor determination index (PRI 3-2 ) using the test text included in the test data can be calculated for each of the processors included in the multi-processor 200 have.

프로세서 관리부(250)는 전술한 수학식 3을 활용하여, 테스트 데이터에 포함되는 테스트 영상을 이용한 제1-3 프로세서 판단 지수(PRI1-3), 테스트 데이터에 포함되는 테스트 이미지를 이용한 제2-3 프로세서 판단 지수(PRI2-3), 테스트 데이터에 포함되는 테스트 텍스트를 이용한 제3-3 프로세서 판단 지수(PRI3-3)를 멀티 프로세서(200)에 포함되는 프로세서들 각각에 대하여 산출할 수 있다.The processor management unit 250 utilizes Equation 3 described above, the 1-3 processor determination index (PRI 1-3 ) using the test image included in the test data, and the second-second using the test image included in the test data. 3 processor determination index (PRI 2-3 ), a 3-3 processor determination index (PRI 3-3 ) using the test text included in the test data can be calculated for each of the processors included in the multi-processor 200 . have.

프로세서 관리부(250)는 전술한 수학식 4를 활용하여, 테스트 데이터에 포함되는 테스트 영상을 이용한 제1-4 프로세서 판단 지수(PRI1-4), 테스트 데이터에 포함되는 테스트 이미지를 이용한 제2-4 프로세서 판단 지수(PRI2-4), 테스트 데이터에 포함되는 테스트 텍스트를 이용한 제3-4 프로세서 판단 지수(PRI3-4)를 멀티 프로세서(200)에 포함되는 프로세서들 각각에 대하여 산출할 수 있다.The processor management unit 250 utilizes Equation 4 described above, the 1-4 processor determination index (PRI 1-4 ) using the test image included in the test data, and the second-second using the test image included in the test data. 4 The processor determination index (PRI 2-4 ), the 3-4th processor determination index (PRI 3-4 ) using the test text included in the test data can be calculated for each of the processors included in the multi-processor 200 . have.

또한 프로세서 관리부(250)는 멀티 프로세서(200)에 포함되는 프로세서들 각각에 대한 제1-1 프로세서 판단 지수(PRI1-1), 제1-2 프로세서 판단 지수(PRI1-2), 제1-3 프로세서 판단 지수(PRI1-3), 제1-4 프로세서 판단 지수(PRI1-4)의 평균을 토대로 제1 프로세서 판단 지수(PRI1)를 산출할 수 있다. 이때 제1 프로세서 판단 지수는 테스트 영상에 관한 값으로 취급될 수 있다.In addition, the processor management unit 250 for each of the processors included in the multi-processor 200 1-1 processor determination index (PRI 1-1 ), 1-2 processor determination index (PRI 1-2 ), the first The first processor determination index (PRI 1 ) may be calculated based on the average of the -3 processor determination index (PRI 1-3 ) and the 1-4 processor determination index (PRI 1-4 ). In this case, the first processor determination index may be treated as a value related to the test image.

또한 프로세서 관리부(250)는 멀티 프로세서(200)에 포함되는 프로세서들 각각에 대한 제2-1 프로세서 판단 지수(PRI2-1), 제2-2 프로세서 판단 지수(PRI2-2), 제2-3 프로세서 판단 지수(PRI2-3), 제2-4 프로세서 판단 지수(PRI2-4)의 평균을 토대로 제2 프로세서 판단 지수(PRI2)를 산출할 수 있다. 이때 제2 프로세서 판단 지수는 테스트 이미지에 관한 값으로 취급될 수 있다.In addition, the processor management unit 250 for each of the processors included in the multi-processor 200 2-1 processor determination index (PRI 2-1 ), 2-2 processor determination index (PRI 2-2 ), the second The second processor determination index (PRI 2 ) may be calculated based on the average of the -3 processor determination index (PRI 2-3 ) and the 2-4 processor determination index (PRI 2-4 ). In this case, the second processor determination index may be treated as a value related to the test image.

또한 프로세서 관리부(250)는 멀티 프로세서(200)에 포함되는 프로세서들 각각에 대한 제3-1 프로세서 판단 지수(PRI3-1), 제3-2 프로세서 판단 지수(PRI3-2), 제3-3 프로세서 판단 지수(PRI3-3), 제3-4 프로세서 판단 지수(PRI3-4)의 평균을 토대로 제3 프로세서 판단 지수(PRI3)를 산출할 수 있다. 이때 제3 프로세서 판단 지수는 테스트 텍스트에 관한 값으로 취급될 수 있다.In addition, the processor management unit 250 is a 3-1 processor determination index (PRI 3-1 ), a 3-2 processor determination index (PRI 3-2 ), the third for each of the processors included in the multi-processor 200. The third processor determination index (PRI 3 ) may be calculated based on the average of the -3 processor determination index (PRI 3-3 ) and the 3-4th processor determination index (PRI 3-4 ). In this case, the third processor determination index may be treated as a value related to the test text.

또한 프로세서 관리부(250)는 멀티 프로세서(200)에 포함되는 프로세서들 각각에 대한 제1-1 프로세서 판단 지수(PRI1-1), 제2-1 프로세서 판단 지수(PRI2-1), 제3-1 프로세서 판단 지수(PRI3-1)의 평균을 토대로 제4 프로세서 판단 지수(PRI4)를 산출할 수 있다. 이때 제4 프로세서 판단 지수는 전술한 수학식 1에 관한 값으로 취급될 수 있다.In addition, the processor management unit 250 for each of the processors included in the multi-processor 200 1-1 processor determination index (PRI 1-1 ), 2-1 processor determination index (PRI 2-1 ), the third Based on the average of the -1 processor determination index (PRI 3-1 ), the fourth processor determination index (PRI 4 ) may be calculated. In this case, the fourth processor determination index may be treated as a value related to Equation 1 described above.

또한 프로세서 관리부(250)는 멀티 프로세서(200)에 포함되는 프로세서들 각각에 대한 제1-2 프로세서 판단 지수(PRI1-2), 제2-2 프로세서 판단 지수(PRI2-2), 제3-2 프로세서 판단 지수(PRI3-2)의 평균을 토대로 제5 프로세서 판단 지수(PRI5)를 산출할 수 있다. 이때 제5 프로세서 판단 지수는 전술한 수학식 2에 관한 값으로 취급될 수 있다.In addition, the processor management unit 250 for each of the processors included in the multi-processor 200, the second processor determination index (PRI 1-2 ), 2-2 processor determination index (PRI 2-2 ), the third Based on the average of the -2 processor determination index (PRI 3-2 ), the fifth processor determination index (PRI 5 ) may be calculated. In this case, the fifth processor determination index may be treated as a value related to Equation 2 described above.

또한 프로세서 관리부(250)는 멀티 프로세서(200)에 포함되는 프로세서들 각각에 대한 제1-3 프로세서 판단 지수(PRI1-3), 제2-3 프로세서 판단 지수(PRI2-3), 제3-3 프로세서 판단 지수(PRI3-3)의 평균을 토대로 제6 프로세서 판단 지수(PRI6)를 산출할 수 있다. 이때 제6 프로세서 판단 지수는 전술한 수학식 3에 관한 값으로 취급될 수 있다.In addition, the processor management unit 250 for each of the processors included in the multi-processor 200 1-3 processor determination index (PRI 1-3 ), 2-3 processor determination index (PRI 2-3 ), the third Based on the average of the -3 processor determination index (PRI 3-3 ), the sixth processor determination index (PRI 6 ) may be calculated. In this case, the sixth processor determination index may be treated as a value related to Equation 3 above.

또한 프로세서 관리부(250)는 멀티 프로세서(200)에 포함되는 프로세서들 각각에 대한 제1-4 프로세서 판단 지수(PRI1-4), 제2-4 프로세서 판단 지수(PRI2-4), 제3-4 프로세서 판단 지수(PRI3-4)의 평균을 토대로 제7 프로세서 판단 지수(PRI7)를 산출할 수 있다. 이때 제7 프로세서 판단 지수는 전술한 수학식 4에 관한 값으로 취급될 수 있다.In addition, the processor management unit 250 for each of the processors included in the multi-processor 200 1-4 processor determination index (PRI 1-4 ), 2-4 processor determination index (PRI 2-4 ), the third Based on the average of the -4 processor determination index (PRI 3-4 ), the seventh processor determination index (PRI 7 ) may be calculated. In this case, the seventh processor determination index may be treated as a value related to Equation 4 described above.

프로세서 관리부(250)는, 전술한 제1 프로세서 판단 지수(PRI1) 내지 제7 프로세서 판단 지수(PRI7) 중 적어도 어느 하나를 고려하여, 멀티 프로세서(200)에 포함되는 프로세서들(예; 제1 프로세서 내지 제N 프로세서 또는 제1 프로세서 내지 제16 프로세서) 각각을 제1 프로세서 그룹 내지 제4 프로세서 그룹 중 적어도 어느 하나에 할당(및/또는 분류)할 수 있다. 한편 하나의 프로세서가 복수의 프로세서 그룹에 속할 수도 있다.The processor management unit 250 considers at least any one of the above-described first processor determination index (PRI 1 ) to the seventh processor determination index (PRI 7 ), and includes the processors (eg; th Each of the first to Nth processors or the first to 16th processors) may be assigned (and/or classified) to at least one of the first to fourth processor groups. Meanwhile, one processor may belong to a plurality of processor groups.

또한 프로세서 관리부(250)는, 전술한 제1 프로세서 판단 지수(PRI1) 내지 제7 프로세서 판단 지수(PRI7) 중 적어도 어느 하나를 고려하여, 비디오 시청 모드, 일반 모드 또는 무인 모드에서 처리 대상 정보를 처리하는데 이용할 프로세서를 멀티 프로세서(200)에 포함되는 프로세서들(예; 제1 프로세서 내지 제N 프로세서 또는 제1 프로세서 내지 제16 프로세서) 중에서 적어도 어느 하나를 선택할 수 있다.In addition, the processor management unit 250, in consideration of at least any one of the above-described first processor determination index (PRI 1 ) to the seventh processor determination index (PRI 7 ), processing target information in video viewing mode, normal mode or unattended mode At least one of processors (eg, first to Nth processors or first to 16th processors) included in the multi-processor 200 may be selected as a processor to be used for processing.

또한, 프로세서 관리부(250)는 멀티 프로세서(200)를 통하여 처리할 처리 대상 정보(information to be processed)에 영상(video)가 포함되어 있는지 여부, 이미지(image)가 포함되어 있는지 여부, 및/또는 텍스트(text)가 포함되어 있는지 여부에 기반하여 i) 재설정 정보를 생성하거나, 및/또는 ii) 멀티 프로세서 모드를 결정할 수 있다.In addition, the processor manager 250 determines whether information to be processed through the multi-processor 200 includes a video, whether an image is included, and/or Based on whether text is included, it is possible to i) generate reset information, and/or ii) determine a multiprocessor mode.

또한, 프로세서 관리부(250)는 처리 대상 정보(information to be processed)에 영상(video)이 포함되어 있는지 여부, 영상의 개수 및 용량, 이미지(image)가 포함되어 있는지 여부, 이미지의 개수 및 용량, 텍스트(text)가 포함되어 있는지 여부, 텍스트의 개수 및 용량을 고려하여 소정의 판단 지표를 산출할 수 있으며, 상기 산출되는 소정의 판단 지표를 이용하여 멀티 프로세서 모드를 결정할 수 있다.In addition, the processor management unit 250 determines whether a video is included in the information to be processed, the number and capacity of the image, whether an image is included, the number and capacity of the image, A predetermined determination index may be calculated in consideration of whether text is included, the number and capacity of text, and the multiprocessor mode may be determined using the calculated predetermined determination index.

예를 들면, 프로세서 관리부(250)는 멀티 프로세서(200)에 포함되는 프로세서들의 조합을 설정할 수 있다. 일 예로, 프로세서 관리부(250)는 프로세서들을 다양하게 조합하여 제1 프로세서 그룹, 제2 프로세서 그룹, 제3 프로세서 그룹, 제4 프로세서 그룹을 설정할 수 있다.For example, the processor manager 250 may set a combination of processors included in the multi-processor 200 . For example, the processor manager 250 may set the first processor group, the second processor group, the third processor group, and the fourth processor group by various combinations of processors.

예를 들면, 프로세서 관리부(250)는 소정의 기간 동안 테스트를 위해 임의로 설정해놓은 테스트 영상(test video), 테스트 이미지(test image), 테스트 텍스트(test text) 중 적어도 어느 하나를 멀티 프로세서(200)에 포함되는 프로세서들 중 적어도 어느 하나를 선택하여 처리(processing)하여 소요되는 시간과, 상기 소정의 기간 동안 상기 선택된 프로세서에서 발생되는 열, 소음, 진동을 고려하여 복수의 프로세서 그룹 중에서 어느 하나를 매칭시킬 수 있다. 일 예로, 테스트 영상(test video)은 제어장치(110)(및/또는 단말(120, 130), 서버(140, 150))의 메모리(및/또는 저장부)에 저장된 복수의 영상 중에서 소정의 기준에 따라 또는 기 설정된(pre-determined) 영상 중 어느 하나일 수 있다. 일 예로, 테스트 이미지(test image)는 제어장치(110)(및/또는 단말(120, 130), 서버(140, 150))의 메모리(및/또는 저장부)에 저장된 복수의 이미지 중에서 소정의 기준에 따라 또는 기 설정된(pre-determined) 이미지 중 어느 하나일 수 있다. 일 예로, 테스트 텍스트(test text)는 제어장치(110)(및/또는 단말(120, 130), 서버(140, 150))의 메모리(및/또는 저장부)에 저장된 복수의 텍스트 중에서 소정의 기준에 따라 또는 기 설정된(pre-determined) 텍스트 중 어느 하나일 수 있다.For example, the processor management unit 250 multiprocesses at least one of a test video, a test image, and a test text arbitrarily set for a test for a predetermined period of time. Matching any one of a plurality of processor groups in consideration of the time required for selecting and processing at least one of the processors included in can do it For example, a test video may be a predetermined image among a plurality of images stored in the memory (and/or storage unit) of the control device 110 (and/or the terminals 120 and 130 and the servers 140 and 150). It may be any one of a standard or a pre-determined image. As an example, the test image may be selected from among a plurality of images stored in the memory (and/or storage unit) of the control device 110 (and/or the terminals 120 and 130 and the servers 140 and 150). It may be any one of a standard or a pre-determined image. For example, the test text may be a predetermined text among a plurality of texts stored in the memory (and/or storage unit) of the control device 110 (and/or the terminals 120 and 130 and the servers 140 and 150). It may be any one of pre-determined text or a standard.

또한 테스트 영상은 멀티 프로세서(200) 및/또는 상기 멀티 프로세서(200) 내에 포함되는 프로세서들 중 적어도 어느 하나를 통해 처리(processing)가 완료된 적어도 하나의 영상 중에서 선택(및/또는 설정)될 수 있으며, 테스트 이미지는 멀티 프로세서(200) 및/또는 상기 멀티 프로세서(200) 내에 포함되는 프로세서들 중 적어도 어느 하나를 통해 처리(processing)가 완료된 적어도 하나의 이미지 중에서 선택(및/또는 설정)될 수 있으며, 테스트 텍스트는 멀티 프로세서(200) 및/또는 상기 멀티 프로세서(200) 내에 포함되는 프로세서들 중 적어도 어느 하나를 통해 처리(processing)가 완료된 적어도 하나의 영상 중에서 선택(및/또는 설정)될 수 있다.In addition, the test image may be selected (and/or set) from at least one image that has been processed through the multi-processor 200 and/or at least one of the processors included in the multi-processor 200, , the test image may be selected (and/or set) from at least one image that has been processed through the multi-processor 200 and/or at least one of the processors included in the multi-processor 200, , the test text may be selected (and/or set) from among at least one image that has been processed through the multi-processor 200 and/or at least one of the processors included in the multi-processor 200. .

또한 본 발명에서 영상은 avi, mp4 등의 확장자를 갖는 비디오 파일을 포함하고, 이미지는 jpg, gif 등의 확장자를 갖는 이미지 파일을 포함하고, 텍스트는 txt, doc, docx, xls, xlsx, ppt, pptx 등의 확장자를 갖는 문서 파일을 포함할 수 있다.In addition, in the present invention, an image includes video files with extensions such as avi and mp4, images include image files with extensions such as jpg and gif, and text includes txt, doc, docx, xls, xlsx, ppt, A document file having an extension such as pptx may be included.

또한 본 발명에서 영상, 이미지, 텍스트가 처리(processing)된다는 것은 영상, 이미지, 텍스트에 상응하는 화면이 상기 멀티 프로세서(200)가 탑재된(및/또는 내장된, 설치된) 단말(120, 130) 및/또는 전자 장치에서 표시(display)되기 위한 과정(및/또는 절차)이 완료되었음을 나타낼 수 있다.In addition, in the present invention, that the image, image, and text are processed means that the screen corresponding to the image, image, and text is loaded with the multi-processor 200 (and/or built-in, installed) terminals 120 and 130 and/or may indicate that a process (and/or process) to be displayed in the electronic device has been completed.

전술한 멀티 프로세서 모드는 비디오 시청 모드, 일반 모드(normal mode), 무인 모드(unmanned mode, manless mode)를 포함할 수 있다. 설정된 멀티 프로세서 모드가 비디오 시청 모드인지, 또는 일반 모드인지, 또는 무인 모드인지에 따라 해당 처리 대상 정보를 처리(processing)할 제1 프로세서 그룹, 제2 프로세서 그룹, 제3 프로세서 그룹, 제4 프로세서 그룹이 상이하게 선택될 수 있다. 한편 제1 프로세서 그룹, 제2 프로세서 그룹, 제3 프로세서 그룹, 제4 프로세서 그룹 각각에 속하는 프로세스는 적어도 어느 하나가 중복될 수도 있다.The aforementioned multi-processor mode may include a video viewing mode, a normal mode, and an unmanned mode, a manless mode. A first processor group, a second processor group, a third processor group, and a fourth processor group to process the corresponding processing target information according to whether the set multi-processor mode is a video viewing mode, a normal mode, or an unattended mode These may be chosen differently. Meanwhile, at least one of the processes belonging to each of the first processor group, the second processor group, the third processor group, and the fourth processor group may be duplicated.

설정된 멀티 프로세서 모드가 비디오 시청 모드인 경우에는 처리 대상 정보의 처리(processing)에 제1 프로세서 그룹 및 제2 프로세서 그룹 중 적어도 어느 하나를 이용할 수 있으며, 설정된 멀티 프로세서 모드가 비디오 시청 모드인 경우에는 처리 대상 정보의 처리(processing)에 제2 프로세서 그룹 및 제3 프로세서 그룹 중 적어도 어느 하나를 이용할 수 있으며, 설정된 멀티 프로세서 모드가 비디오 시청 모드인 경우에는 처리 대상 정보의 처리(processing)에 제3 프로세서 그룹 및 제4 프로세서 그룹 중 적어도 어느 하나를 이용할 수 있다.When the set multi-processor mode is the video viewing mode, at least one of the first processor group and the second processor group may be used for processing target information, and when the set multi-processor mode is the video viewing mode, processing At least one of the second processor group and the third processor group may be used for processing target information, and when the set multi-processor mode is a video viewing mode, a third processor group is used for processing target information and at least one of the fourth processor group.

본 발명에서 비디오 시청 모드는 소정의 시간 길이를 넘는 시간 길이를 갖거나 및/또는 소정의 용량을 초과하는 용량을 갖는 영상에 대하여 처리를 필요로 하는 모드에 해당되고, 무인 모드는 소정의 시간(예; 사용자가 설정한 수면 시간, 사용자의 웨어러블 디바이스를 통해 식별되는 사용자의 평균 수면 시간, 사용자에 의해 임의로 설정된 시간)에 해당되면서 비디오 시청 모드의 조건을 만족하지 않는 경우를 위한 모드에 해당되고, 일반 모드는 상기 비디오 시청 모드의 조건과 무인 모드의 조건에 모두 만족되지 않는 경우를 나타낼 수 있다. 프로세서 관리부(250)는 전술한 조건의 만족 여부를 판단함으로써, 비디오 시청 모드를 선택할지 또는 일반 모드를 선택할지 또는 무인 모드를 선택할지를 결정할 수 있다.In the present invention, the video viewing mode corresponds to a mode that requires processing for an image having a time length exceeding a predetermined time length and/or a capacity exceeding a predetermined capacity, and the unattended mode is a predetermined time ( Example: This mode corresponds to a case in which the conditions of the video viewing mode are not satisfied while corresponding to the sleep time set by the user, the average sleep time of the user identified through the user's wearable device, the time arbitrarily set by the user), The normal mode may indicate a case in which neither the conditions of the video viewing mode nor the conditions of the unattended mode are satisfied. The processor manager 250 may determine whether to select a video viewing mode, a normal mode, or an unattended mode by determining whether the above-described condition is satisfied.

프로세서 관리부(250)는 멀티 프로세서(200)에 포함되는 복수의 프로세서들 중에서, 전술한 제1 프로세서 판단 지수(PRI1)가 소정의 제1 기준치를 초과하고, 전술한 제6 프로세서 판단 지수(PRI6)가 소정의 제6 기준치를 초과하고, 전술한 제7 프로세서 판단 지수(PRI7)가 소정의 제7 기준치를 초과하는 적어도 하나의 프로세서를 제1 프로세서 그룹으로 설정할 수 있다. 또한 프로세서 관리부(250)는 멀티 프로세서(200)에 포함되는 복수의 프로세서들 중에서, 전술한 제1 프로세서 판단 지수(PRI1)가 소정의 제1 기준치를 초과하고, 제2 프로세서 판단 지수(PRI2)가 소정의 제2 기준치를 초과하고, 제3 프로세서 판단 지수(PRI1)가 소정의 제3 기준치를 초과하는 적어도 하나의 프로세서를 제2 프로세서 그룹으로 설정할 수 있다. 또한 프로세서 관리부(250)는 멀티 프로세서(200)에 포함되는 복수의 프로세서들 중에서, 전술한 제4 프로세서 판단 지수(PRI4)가 소정의 제4 기준치를 초과하고, 전술한 제5 프로세서 판단 지수(PRI5)가 소정의 제5 기준치를 초과하고, 전술한 제6 프로세서 판단 지수(PRI6)가 소정의 제6 기준치를 초과하고, 전술한 제7 프로세서 판단 지수(PRI7)가 소정의 제7 기준치를 초과하는 적어도 하나의 프로세서를 제3 프로세서 그룹으로 설정할 수 있다. 또한 프로세서 관리부(250)는 멀티 프로세서(200)에 포함되는 복수의 프로세서들 중에서, 전술한 제4 프로세서 판단 지수(PRI4)가 소정의 제4 기준치를 초과하는 적어도 하나의 프로세서를 제4 프로세서 그룹으로 설정할 수 있다.The processor management unit 250, among a plurality of processors included in the multi-processor 200, the above-described first processor determination index (PRI 1 ) exceeds a predetermined first reference value, the above-described sixth processor determination index (PRI) 6 ) exceeds a predetermined sixth reference value and the above-described seventh processor determination index PRI 7 may set at least one processor exceeding a predetermined seventh reference value as the first processor group. In addition, the processor management unit 250, among a plurality of processors included in the multi-processor 200, the above-described first processor determination index (PRI 1 ) exceeds a predetermined first reference value, the second processor determination index (PRI 2 ) ) exceeds a second predetermined reference value and the third processor determination index PRI 1 may set at least one processor exceeding the predetermined third reference value as the second processor group. In addition, the processor management unit 250, among the plurality of processors included in the multi-processor 200, the above-described fourth processor determination index (PRI 4 ) exceeds a predetermined fourth reference value, the above-described fifth processor determination index ( PRI 5 ) exceeds a predetermined fifth reference value, the above-described sixth processor determination index (PRI 6 ) exceeds a predetermined sixth reference value, and the aforementioned seventh processor determination index (PRI 7 ) exceeds a predetermined seventh reference value At least one processor exceeding the reference value may be set as the third processor group. In addition, the processor management unit 250 selects at least one processor whose fourth processor determination index (PRI 4 ) exceeds a predetermined fourth reference value from among the plurality of processors included in the multi-processor 200 to the fourth processor group. can be set to

도 5는 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법을 나타내는 흐름도이다.5 is a flowchart illustrating a method for controlling a multi-processor according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 일 실시예에 따른 방법은 재설정 정보 및 멀티 프로세서 모드에 기반하여 복수의 프로세서 중 적어도 어느 하나의 ON/OFF를 제어하는 단계(S410)를 포함할 수 있다.Referring to FIG. 5 , the method according to an embodiment of the present invention may include controlling ON/OFF of at least one of a plurality of processors based on reset information and a multi-processor mode ( S410 ).

예를 들면, 프로세서 관리부(250)는 전술한 바와 같이 결정(및/또는 설정, 생성)되는 재설정 정보 및/또는 멀티 프로세서 모드에 따라 멀티 프로세서(200)의 온오프(ON/OFF)를 제어할 수 있다. 일 예로, 프로세서 관리부(250)는 전술한 바와 같이 결정(및/또는 설정, 생성)되는 재설정 정보에 기반하여 멀티 프로세서(200)의 온오프(ON/OFF)를 제어하거나 및/또는 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230), 제4 프로세서(240) 중 적어도 어느 하나의 온오프(ON/OFF)를 제어할 수 있다. 일 예로, 프로세서 관리부(250)는 전술한 바와 같이 결정(및/또는 설정, 생성)되는 멀티 프로세서 모드에 기반하여 멀티 프로세서(200)의 온오프(ON/OFF)를 제어하거나 및/또는 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230), 제4 프로세서(240) 중 적어도 어느 하나의 온오프(ON/OFF)를 제어할 수 있다.For example, the processor manager 250 may control ON/OFF of the multi-processor 200 according to the reset information and/or the multi-processor mode determined (and/or set, and generated) as described above. can For example, the processor manager 250 controls the on/off of the multi-processor 200 based on the reset information determined (and/or set, and generated) as described above and/or the first processor 210 , the second processor 220 , the third processor 230 , and the fourth processor 240 may control ON/OFF of at least one of the plurality of processors. For example, the processor manager 250 controls the on/off of the multi-processor 200 based on the multi-processor mode determined (and/or set, and generated) as described above and/or and/or the first It is possible to control ON/OFF of at least one of the processor 210 , the second processor 220 , the third processor 230 , and the fourth processor 240 .

본 발명의 일 실시예에 따른 방법은 복수의 프로세서에 대한 상태 정보에 더 수집하는 단계(S420)를 더 포함할 수 있다.The method according to an embodiment of the present invention may further include a step (S420) of further collecting state information for a plurality of processors.

예를 들면, 프로세서 관리부(250)는 멀티 프로세서(200)에 대한 추가 상태 정보(또는 "제2 상태 정보"라고 칭할 수 있다)를 생성할 수 있다. 일 예로, 프로세서 관리부(250)는 멀티 프로세서(200) 내에 포함되는 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230), 제4 프로세서(240) 중 적어도 어느 하나에 대한 추가 상태 정보(또는 "제2 상태 정보"라고 칭할 수 있다)를 측정, 생성 및/또는 수집할 수 있다. 이때 멀티 프로세서(200)에 대한 추가 상태 정보(또는 "제2 상태 정보"라고 칭할 수 있다)는 제1 프로세서(210)에 대한 제1-2 프로세서 상태 정보, 제2 프로세서(220)에 대한 제2-2 프로세서 상태 정보, 제3 프로세서(230)에 대한 제3-2 프로세서 상태 정보, 제4 프로세서(240)에 대한 제4-2 프로세서 상태 정보를 포함할 수 있다. 한편 S410 단계 또는 S320, S330, S340 단계 이전에 생성된 멀티 프로세서(200)에 대한 상태 정보(또는 "제1 상태 정보"라고 칭할 수 있다)는 제1 프로세서(210)에 대한 제1-1 프로세서 상태 정보, 제2 프로세서(220)에 대한 제2-1 프로세서 상태 정보, 제3 프로세서(230)에 대한 제3-1 프로세서 상태 정보, 제4 프로세서(240)에 대한 제4-1 프로세서 상태 정보를 포함할 수 있다.For example, the processor manager 250 may generate additional state information (or may be referred to as “second state information”) for the multi-processor 200 . For example, the processor management unit 250 may be configured for at least one of the first processor 210 , the second processor 220 , the third processor 230 , and the fourth processor 240 included in the multi-processor 200 . Additional state information (or may be referred to as “second state information”) may be measured, generated, and/or collected. In this case, the additional state information for the multi-processor 200 (or may be referred to as “second state information”) includes the 1-2 processor state information for the first processor 210 and the second processor state information for the second processor 220 . 2-2 processor state information, 3-2 processor state information on the third processor 230, and 4-2 processor state information on the fourth processor 240 may be included. On the other hand, the state information (or may be referred to as "first state information") on the multi-processor 200 generated before the step S410 or steps S320, S330, and S340 is the 1-1 processor for the first processor 210 . State information, 2-1 processor state information on the second processor 220, 3-1 processor state information on the third processor 230, and 4-1 processor state information on the fourth processor 240 may include

또한 프로세서 관리부(250)는 소정의 주기(period)마다 멀티 프로세서(200)에 대한 추가 상태 정보를 생성할 수 있다. 일 예로, 상기 소정의 주기는 프로세서 관리부(250), 관리서버(140), 및/또는 외부서버(150)에 의해 설정될 수 있다. 일 예로, 상기 소정의 주기는 프로세서 관리부(250), 관리서버(140), 및/또는 외부서버(150)에 의해 제1-1 프로세서 상태 정보, 제1-2 프로세서 상태 정보, 제2-1 프로세서 상태 정보, 제2-2 프로세서 상태 정보, 제3-1 프로세서 상태 정보, 제3-2 프로세서 상태 정보, 제4-1 프로세서 상태 정보, 제4-2 프로세서 상태 정보 중 적어도 어느 하나에 기반하여 설정될 수 있다.In addition, the processor manager 250 may generate additional state information for the multi-processor 200 every predetermined period. For example, the predetermined period may be set by the processor management unit 250 , the management server 140 , and/or the external server 150 . As an example, the predetermined cycle is performed by the processor management unit 250 , the management server 140 , and/or the external server 150 for 1-1 processor state information, 1-2 processor state information, and 2-1 Based on at least one of the processor state information, the 2-2 processor state information, the 3-1 processor state information, the 3-2 processor state information, the 4-1 processor state information, and the 4-2 processor state information can be set.

본 발명의 일 실시예에 따른 방법은 더 수집된 복수의 프로세서에 대한 상태 정보에 기반하여 멀티 프로세서 모드를 재설정하는 단계(S430)를 더 포함할 수 있다.The method according to an embodiment of the present invention may further include resetting the multi-processor mode based on the collected state information on the plurality of processors ( S430 ).

예를 들면, 프로세서 관리부(250)는 제2 재설정 정보를 생성하거나 및/또는 제2 멀티 프로세서 모드를 결정(및/또는 설정)할 수 있다. 일 예로, 제1-2 프로세서 상태 정보, 제2-2 프로세서 상태 정보, 제3-2 프로세서 상태 정보, 제4-2 프로세서 상태 정보 중 적어도 어느 하나에 기반하여 제2 재설정 정보를 생성하거나 및/또는 제2 멀티 프로세서 모드를 결정(및/또는 설정)할 수 있다. 일 예로, 제1-1 프로세서 상태 정보, 제1-2 프로세서 상태 정보, 제2-1 프로세서 상태 정보, 제2-2 프로세서 상태 정보, 제3-1 프로세서 상태 정보, 제3-2 프로세서 상태 정보, 제4-1 프로세서 상태 정보, 제4-2 프로세서 상태 정보 중 적어도 어느 하나에 기반하여 제2 재설정 정보를 생성하거나 및/또는 제2 멀티 프로세서 모드를 결정(및/또는 설정)할 수 있다.For example, the processor manager 250 may generate second reset information and/or determine (and/or set) the second multi-processor mode. For example, generating second reset information based on at least one of 1-2 processor state information, 2-2 processor state information, 3-2 processor state information, and 4-2 processor state information, and/or Alternatively, the second multi-processor mode may be determined (and/or set). For example, 1-1 processor state information, 1-2 processor state information, 2-1 processor state information, 2-2 processor state information, 3-1 processor state information, 3-2 processor state information , may generate second reset information and/or determine (and/or set) a second multi-processor mode based on at least one of 4-1 processor state information and 4-2 processor state information.

예를 들면, 제2 재설정 정보는 멀티 프로세서(200)에 대한 설정(예; 세팅, 설정 값, 옵션, 모드)의 수정 및/또는 변경을 요청하는 명령어를 포함할 수 있다. 일 예로, 제2 재설정 정보는 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230), 제4 프로세서(240) 중 적어도 어느 하나에 대한 설정(예; 세팅, 설정 값, 옵션, 모드)의 수정 및/또는 변경을 요청하는 명령어를 포함할 수 있다.For example, the second reset information may include a command for requesting to modify and/or change settings (eg, settings, setting values, options, and modes) for the multi-processor 200 . For example, the second reset information may include a setting (eg, setting, setting value, options and modes) may include a command to request modification and/or change.

예를 들면, 프로세서 관리부(250)는 전술한 바와 같이 결정(및/또는 설정, 생성)되는 제2 재설정 정보 및/또는 제2 멀티 프로세서 모드에 따라 상기 멀티 프로세서(200)를 제어할 수 있다. 일 예로, 프로세서 관리부(250)는 전술한 바와 같이 결정(및/또는 설정, 생성)되는 제2 재설정 정보에 기반하여 멀티 프로세서(200)를 제어하거나 및/또는 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230), 제4 프로세서(240) 중 적어도 어느 하나를 제어할 수 있다. 일 예로, 프로세서 관리부(250)는 전술한 바와 같이 결정(및/또는 설정, 생성)되는 제2 멀티 프로세서 모드에 기반하여 멀티 프로세서(200)를 제어하거나 및/또는 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230), 제4 프로세서(240) 중 적어도 어느 하나를 제어할 수 있다.For example, the processor manager 250 may control the multi-processor 200 according to the second reset information and/or the second multi-processor mode determined (and/or set, and generated) as described above. For example, the processor manager 250 controls the multi-processor 200 and/or the first processor 210 and the second based on the second reset information determined (and/or set, and generated) as described above. At least one of the processor 220 , the third processor 230 , and the fourth processor 240 may be controlled. For example, the processor management unit 250 controls the multi-processor 200 based on the second multi-processor mode determined (and/or set, and generated) as described above and/or the first processor 210, the second At least one of the second processor 220 , the third processor 230 , and the fourth processor 240 may be controlled.

예를 들면, 프로세서 관리부(250)는 전술한 바와 같이 결정(및/또는 설정, 생성)되는 제2 재설정 정보 및/또는 제2 멀티 프로세서 모드에 따라 멀티 프로세서(200)의 온오프(ON/OFF)를 제어할 수 있다. 일 예로, 프로세서 관리부(250)는 전술한 바와 같이 결정(및/또는 설정, 생성)되는 제2 재설정 정보에 기반하여 멀티 프로세서(200)의 온오프(ON/OFF)를 제어하거나 및/또는 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230), 제4 프로세서(240) 중 적어도 어느 하나의 온오프(ON/OFF)를 제어할 수 있다. 일 예로, 프로세서 관리부(250)는 전술한 바와 같이 결정(및/또는 설정, 생성)되는 제2 멀티 프로세서 모드에 기반하여 멀티 프로세서(200)의 온오프(ON/OFF)를 제어하거나 및/또는 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230), 제4 프로세서(240) 중 적어도 어느 하나의 온오프(ON/OFF)를 제어할 수 있다.For example, the processor manager 250 turns on/off the multi-processor 200 according to the second reset information and/or the second multi-processor mode determined (and/or set, and generated) as described above. ) can be controlled. As an example, the processor management unit 250 controls the on/off (ON/OFF) of the multi-processor 200 based on the second reset information determined (and/or set, generated) as described above and/or ON/OFF of at least one of the first processor 210 , the second processor 220 , the third processor 230 , and the fourth processor 240 may be controlled. For example, the processor manager 250 controls the on/off of the multi-processor 200 based on the second multi-processor mode determined (and/or set, and generated) as described above and/or The ON/OFF of at least one of the first processor 210 , the second processor 220 , the third processor 230 , and the fourth processor 240 may be controlled.

본 발명의 일 실시예에 따른 방법은, 일 예에 따라 상기 S410 내지 S430 중 일부만을 포함할 수도 있으며, 다른 예에 따라 상기 S410 내지 S430의 순서는 변경될 수 있다.The method according to an embodiment of the present invention may include only some of S410 to S430 according to an example, and the order of S410 to S430 may be changed according to another example.

또한 본 발명의 일 실시예는 다음과 같은 특징을 더 포함할 수 있다.In addition, an embodiment of the present invention may further include the following features.

예를 들면, 프로세서 관리부(250)는 멀티 프로세서(200) 중에서 적어도 하나의 프로세서는 '독립 프로세서(independent processor)'로 설정하고, 나머지 적어도 하나의 프로세서는 '종속 프로세서(dependent processor)'로 설정할 수 있다.For example, the processor manager 250 may set at least one processor among the multi-processors 200 as an 'independent processor' and set the remaining at least one processor as a 'dependent processor'. have.

예를 들면, 프로세서 관리부(250)는 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230), 제4 프로세서(240) 중 적어도 어느 하나에 대한 상태 정보에 기반하여 상기 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230), 제4 프로세서(240) 중에서 적어도 어느 하나를 독립 프로세서로써 설정하고, 나머지를 종속 프로세서로써 설정할 수 있다. 일 예로, 프로세서 관리부(250)는 제1 프로세서(210)에 대한 제1-1 상태 정보 및/또는 제1-2 상태 정보, 제2 프로세서(220)에 대한 제2-1 상태 정보 및/또는 제2-2 상태 정보, 제3 프로세서(230)에 대한 제3-1 상태 정보 및/또는 제3-2 상태 정보, 제4 프로세서(240)에 대한 제4-1 상태 정보 및/또는 제4-2 상태 정보 중 적어도 어느 하나에 기반하여 결정되는 값을 소정의 임계치와 비교한 결과에 따라 상기 제1 프로세서(210), 제2 프로세서(220), 제3 프로세서(230), 제4 프로세서(240) 중에서 적어도 어느 하나를 독립 프로세서로써 설정하고, 나머지를 종속 프로세서로써 설정할 수 있다.For example, the processor management unit 250 may be configured based on the state information on at least one of the first processor 210 , the second processor 220 , the third processor 230 , and the fourth processor 240 . At least one of the first processor 210 , the second processor 220 , the third processor 230 , and the fourth processor 240 may be set as an independent processor, and the rest may be set as a subordinate processor. For example, the processor management unit 250 may include 1-1 state information and/or 1-2 state information on the first processor 210 , 2-1 state information on the second processor 220 and/or 2-2 status information, 3-1 status information and/or 3-2 status information for the third processor 230, 4-1 status information and/or 4th status information for the fourth processor 240 -2 The first processor 210, the second processor 220, the third processor 230, and the fourth processor ( 240), at least one may be set as an independent processor, and the rest may be set as a subordinate processor.

예를 들면, 프로세서 관리부(250)는 멀티 프로세서(200)에 포함되는 복수의 프로세서 중에서 둘 이상의 독립 프로세서와 둘 이상의 종속 프로세서를 설정할 수 있다. 이때 상기 복수의 프로세서 각각은 독립 프로세서 또는 종속 프로세서 중 어느 하나로써만 설정될 수 있다.For example, the processor manager 250 may set two or more independent processors and two or more subordinate processors among a plurality of processors included in the multi-processor 200 . In this case, each of the plurality of processors may be configured as either an independent processor or a subordinate processor.

또한 프로세서 관리부(250)는 상기 둘 이상의 독립 프로세서 각각을 상기 둘 이상의 종속 프로세서 각각에 매칭시킬 수 있다.Also, the processor manager 250 may match each of the two or more independent processors to each of the two or more subordinate processors.

또한 프로세서 관리부(250)는 멀티미디어 데이터로부터 분할된 복수개의 데이터 유닛들 중에서, 할당된 제1 데이터 유닛에 관한 연산 작업을 수행하고; 상기 할당된 제1 데이터 유닛에 관한 연산 작업의 수행 완료 여부와 독립적으로, 상기 복수의 프로세서 중에서 기 설정된 적어도 하나의 프로세서로부터 상기 복수개의 데이터 유닛들 중에서 적어도 하나의 제2 데이터 유닛에 수행되는 연산 작업의 작업 완료 정보를 획득하고; 상기 적어도 하나의 프로세서 각각으로부터 획득한 작업 완료 정보를 상기 제어장치(110)가 포함되는(및/또는 내장되는) 단말(120, 130) 및/또는 서버(140, 150)의 메모리에 저장하도록 제어할 수 있다.In addition, the processor management unit 250 performs an arithmetic operation on the allocated first data unit among the plurality of data units divided from the multimedia data; A calculation operation performed on at least one second data unit among the plurality of data units by at least one preset processor among the plurality of processors independently of whether the operation of the allocated first data unit is completed obtain information about the completion of the task; Control to store the job completion information obtained from each of the at least one processor in the memory of the terminals 120 and 130 and/or the servers 140 and 150 in which the control device 110 is included (and/or built-in) can do.

또한 프로세서 관리부(250)는 상기 적어도 하나의 프로세서로부터 획득되어 저장된 작업 완료 정보 및 상기 할당된 제1 데이터 유닛에 관한 연산 작업에 기초하여, 상기 멀티미디어 데이터에 관한 연산 작업의 완료 여부를 판단할 수 있다.In addition, the processor management unit 250 may determine whether the computational task on the multimedia data is completed based on the stored task completion information obtained from the at least one processor and the computational task on the allocated first data unit. .

또한 프로세서 관리부(250)는 제어장치(110) 및/또는 멀티 프로세서(200)에서 애플리케이션(APP, application)을 실행하기 위한 요청을 외부(예; 단말(120, 130) 및/또는 서버(140, 150)로부터 수신하고; 상기 애플리케이션과 연관된 속성(property)을 식별하고(상기 속성은 상기 멀티 프로세서(200) 내에서 상기 애플리케이션을 실행하기 위해 이용할 프로세서(예; 제1 프로세서(210) 내지 제4 프로세서(240) 중에서 적어도 어느 하나를 직접 특정하기 보다 상기 애플리케이션의 수용가능한 성능 레벨을 달성하기 위한 최소 전력 요구조건을 식별함); 상기 식별된 속성에 기반하여 결정된 프로세서를 통한 실행을 위해 상기 애플리케이션을 스케줄링하고; 상기 결정된 프로세서를 이용하여 상기 애플리케이션을 실행하도록 제어할 수 있다.In addition, the processor manager 250 transmits a request for executing an application (APP, application) in the control device 110 and/or the multi-processor 200 externally (eg, the terminals 120 and 130 and/or the server 140, 150); identify a property (property) associated with the application (the property is a processor (eg, the first processor 210 to the fourth processor) to be used to execute the application in the multi-processor 200 (identifying a minimum power requirement to achieve an acceptable performance level of the application rather than directly specifying at least any one of 240); scheduling the application for execution on a processor determined based on the identified attribute and; control to execute the application using the determined processor.

또한 프로세서 관리부(250)는 제어장치(110) 및/또는 멀티 프로세서(200)에서의 애플리케이션의 실행을 위한 요청을 외부(예; 단말(120, 130) 및/또는 서버(140, 150)로부터 수신할 수 있다. 예를 들면, 프로세서 관리부(250)는 시스템 호출 등을 통해 애플리케이션을 실행하라는 명령을 수신할 수 있다.In addition, the processor manager 250 receives a request for execution of an application in the control device 110 and/or the multi-processor 200 from the outside (eg, the terminals 120 and 130 and/or the servers 140 and 150 ). For example, the processor manager 250 may receive a command to execute an application through a system call or the like.

또한 프로세서 관리부(250)는 애플리케이션과 관련된 속성을 식별할 수 있다. 이때 애플리케이션과 관련된 속성은 제어장치(110) 내에서 어떤 프로세서가 애플리케이션을 실행할지를 결정하는데 사용되는 정보를 제공한다. 일 예로, 애플리케이션과 관련된 속성은 제어장치(110)의 성분에 의해 판단(및/또는 결정)된다.Also, the processor manager 250 may identify an application-related attribute. In this case, the application-related attribute provides information used to determine which processor in the control device 110 will execute the application. For example, an application-related attribute is determined (and/or determined) by a component of the control device 110 .

또한 프로세서 관리부(250)는 상기 판단(및/또는 결정) 속성을 기초로 지정된 프로세서, 즉 제1 프로세서(210) 내지 제4 프로세서(240) 중 적어도 어느 하나를 통한 실행을 위해 애플리케이션 스케줄링을 제어할 수 있다. 예를 들면, 프로세서 관리부(250)는 특정된(및/또는 지정된) 프로세서가 현재 애플리케이션의 실행을 지원하기 위해 수용가능한 이용에서 동작하고 있는지를 판단할 수 있다. 일 예로, 프로세서 관리부(250)는 애플리케이션을 실행하기 위한 절차(프로세스)를 생성한 다음, 특정된(및/또는 지정된) 프로세서에서의 실행을 위해 해당 프로세스를 스케줄링한다.In addition, the processor management unit 250 controls application scheduling for execution through at least one of the designated processor, that is, the first processor 210 to the fourth processor 240 based on the determination (and/or determination) attribute. can For example, processor manager 250 may determine whether a specified (and/or designated) processor is currently operating in acceptable usage to support execution of an application. For example, the processor manager 250 creates a procedure (process) for executing an application, and then schedules the corresponding process for execution in a specified (and/or designated) processor.

또한 프로세서 관리부(250)는 애플리케이션의 스케줄링에 응답하여 애플리케이션 로딩을 수행(및/또는 제어)할 수 있다. 예를 들면, 로딩될 애플리케이션을 스케줄링하는 스케줄러에 응답하여 애플리케이션을 상기 제어장치(110)가 포함되는(및/또는 내장되는) 단말(120, 130) 및/또는 서버(140, 150)의 메모리로부터 출력(및/또는 로딩)할 수 있다.In addition, the processor manager 250 may perform (and/or control) application loading in response to application scheduling. For example, in response to a scheduler that schedules an application to be loaded, the application from the memory of the terminals 120 and 130 and/or the servers 140 and 150 in which the control device 110 is included (and/or built-in) It can output (and/or load) it.

또한 프로세서 관리부(250)는 특정된(및/또는 지정된) 프로세서를 이용하여 애플리케이션을 실행한다.In addition, the processor manager 250 executes an application using a specified (and/or designated) processor.

도 6 내지 도 8은 본 발명의 일 실시예에 따른 전자 장치를 나타내는 블록도이다.6 to 8 are block diagrams illustrating an electronic device according to an embodiment of the present invention.

본 문서의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.The electronic device according to various embodiments of the present disclosure may include, for example, a smartphone, a tablet PC, a mobile phone, a video phone, an e-book reader, a desktop PC, a laptop PC, a netbook computer, a workstation, a server, a PDA, and a PMP. It may include at least one of a portable multimedia player, an MP3 player, a medical device, a camera, and a wearable device. A wearable device may be an accessory (e.g., watch, ring, bracelet, anklet, necklace, eyewear, contact lens, or head-mounted-device (HMD)), a textile or clothing integral (e.g. electronic garment); It may include at least one of a body mountable (eg skin pad or tattoo) or bioimplantable circuit In some embodiments, the electronic device may include, for example, a television, a digital video disk (DVD) player; Audio, refrigerator, air conditioner, vacuum cleaner, oven, microwave oven, washing machine, air purifier, set-top box, home automation control panel, security control panel, media box (eg Samsung HomeSyncTM, Apple TVTM, or Google TVTM), game console (eg, XboxTM, PlayStationTM), an electronic dictionary, an electronic key, a camcorder, or an electronic picture frame.

다른 실시예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다. 어떤 실시예에 따르면, 전자 장치는 가구, 건물/구조물 또는 자동차의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터, 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에서, 전자 장치는 플렉서블하거나, 또는 전술한 다양한 장치들 중 둘 이상의 조합일 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다. In another embodiment, the electronic device may include various medical devices (eg, various portable medical measuring devices (eg, a blood glucose monitor, a heart rate monitor, a blood pressure monitor, or a body temperature monitor), magnetic resonance angiography (MRA), magnetic resonance imaging (MRI), CT (computed tomography), imager, or ultrasound machine, etc.), navigation device, global navigation satellite system (GNSS), event data recorder (EDR), flight data recorder (FDR), automotive infotainment device, marine electronic equipment (e.g. navigation devices for ships, gyro compasses, etc.), avionics, security devices, head units for vehicles, industrial or household robots, drones, ATMs in financial institutions, point of sale (POS) in stores of sales) or IoT devices (eg, light bulbs, various sensors, sprinkler devices, fire alarms, thermostats, street lights, toasters, exercise equipment, hot water tanks, heaters, boilers, etc.). According to some embodiments, the electronic device is a piece of furniture, building/structure or automobile, an electronic board, an electronic signature receiving device, a projector, or various measuring devices (eg, water, electricity, gas, or a radio wave measuring device). In various embodiments, the electronic device may be flexible or a combination of two or more of the various devices described above. The electronic device according to the embodiment of the present document is not limited to the above-described devices. In this document, the term user may refer to a person who uses an electronic device or a device (eg, an artificial intelligence electronic device) using the electronic device.

또한 전자 장치는 버스, 프로세서, 메모리, 입출력 인터페이스, 디스플레이, 및 통신 인터페이스를 포함할 수 있다. 어떤 실시예에서는, 전자 장치는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다. 버스는 구성요소들을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 또는 데이터)을 전달하는 회로를 포함할 수 있다. 프로세서는, 중앙처리장치, 어플리케이션 프로세서, 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.In addition, the electronic device may include a bus, a processor, a memory, an input/output interface, a display, and a communication interface. In some embodiments, the electronic device may omit at least one of the components or may additionally include other components. A bus may include circuitry that connects components to each other and transmits communications (eg, control messages or data) between components. The processor may include one or more of a central processing unit, an application processor, and a communication processor (CP). The processor may, for example, execute an operation or data processing related to control and/or communication of at least one other component of the electronic device.

메모리는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시예에 따르면, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API), 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다. 커널, 미들웨어, 또는 API의 적어도 일부는, 운영 시스템으로 지칭될 수 있다. 커널은, 예를 들면, 다른 프로그램들(예: 미들웨어, API, 또는 어플리케이션 프로그램)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스, 프로세서, 또는 메모리 등)을 제어 또는 관리할 수 있다. 또한, 커널은 미들웨어, API, 또는 어플리케이션 프로그램에서 전자 장치의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다. Memory may include volatile and/or non-volatile memory. The memory may store, for example, commands or data related to at least one other component of the electronic device. According to one embodiment, the memory may store software and/or programs. A program may include, for example, a kernel, middleware, an application programming interface (API), and/or an application program (or "application"), and the like. At least a portion of the kernel, middleware, or API may be referred to as an operating system. The kernel controls or controls system resources (eg, bus, processor, or memory, etc.) used to execute an operation or function implemented in, for example, other programs (eg, middleware, API, or application program). can manage In addition, the kernel may provide an interface capable of controlling or managing system resources by accessing individual components of the electronic device from middleware, API, or application programs.

미들웨어는, 예를 들면, API 또는 어플리케이션 프로그램이 커널과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 미들웨어는 어플리케이션 프로그램으로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어는 어플리케이션 프로그램 중 적어도 하나에 전자 장치의 시스템 리소스(예: 버스, 프로세서, 또는 메모리 등)를 사용할 수 있는 우선 순위를 부여하고, 상기 하나 이상의 작업 요청들을 처리할 수 있다. API는 어플리케이션이 커널 또는 미들웨어에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다. 입출력 인터페이스는, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치의 다른 구성요소(들)에 전달하거나, 또는 전자 장치의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다. The middleware may, for example, play an intermediary role so that an API or an application program can communicate with the kernel to send and receive data. In addition, the middleware may process one or more work requests received from the application program according to priority. For example, the middleware may give priority to at least one of the application programs to use a system resource (eg, a bus, a processor, a memory, etc.) of the electronic device, and process the one or more work requests. API is an interface for an application to control functions provided by the kernel or middleware, and includes at least one interface or function (eg, command) for, for example, file control, window control, image processing, or character control. can do. The input/output interface, for example, transmits commands or data input from a user or other external device to other component(s) of the electronic device, or receives commands or data received from other component(s) of the electronic device It can be output to the user or other external device.

디스플레이는, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템(MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이는, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 및/또는 심볼 등)을 표시할 수 있다. 디스플레이는, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다. 통신 인터페이스는, 예를 들면, 전자 장치와 외부 장치(예: 제1 외부 전자 장치, 제2 외부 전자 장치, 또는 서버) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스는 무선 통신 또는 유선 통신을 통해서 네트워크에 연결되어 외부 장치(예: 제2 외부 전자 장치 또는 서버)와 통신할 수 있다.The display may include, for example, a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, or a microelectromechanical system (MEMS) display, or an electronic paper display. have. The display may, for example, present various content (eg, text, images, video, icons, and/or symbols, etc.) to the user. The display may include a touch screen, and may receive, for example, a touch input using an electronic pen or a part of the user's body, a gesture, a proximity, or a hovering input. The communication interface, for example, may establish communication between the electronic device and an external device (eg, a first external electronic device, a second external electronic device, or a server). For example, the communication interface may be connected to a network through wireless communication or wired communication to communicate with an external device (eg, a second external electronic device or a server).

무선 통신은, 예를 들면, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신을 포함할 수 있다. 한 실시예에 따르면, 무선 통신은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(Magnetic Secure Transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 한실시예에 따르면, 무선 통신은 GNSS를 포함할 수 있다. GNSS는, 예를 들면, GPS(Global Positioning System), Glonass(Global Navigation Satellite System), Beidou Navigation Satellite System(이하 "Beidou") 또는 Galileo, the European global satellite-based navigation system일 수 있다. 이하, 본 문서에서는, "GPS"는 "GNSS"와 상호 호환적으로 사용될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.Wireless communication is, for example, LTE, LTE Advance (LTE-A), CDMA (code division multiple access), WCDMA (wideband CDMA), UMTS (universal mobile telecommunications system), WiBro (Wireless Broadband), or GSM (Global System for Mobile Communications) and the like may include cellular communication using at least one. According to one embodiment, wireless communication is, for example, wireless fidelity (WiFi), Bluetooth, Bluetooth low energy (BLE), Zigbee (Zigbee), near field communication (NFC), magnetic secure transmission (Magnetic Secure Transmission), radio It may include at least one of a frequency (RF) or a body area network (BAN). According to one embodiment, the wireless communication may include GNSS. The GNSS may be, for example, a Global Positioning System (GPS), a Global Navigation Satellite System (Glonass), a Beidou Navigation Satellite System (hereinafter, “Beidou”) or Galileo, the European global satellite-based navigation system. Hereinafter, in this document, "GPS" may be used interchangeably with "GNSS". Wired communication may include, for example, at least one of universal serial bus (USB), high definition multimedia interface (HDMI), recommended standard232 (RS-232), power line communication, or plain old telephone service (POTS). have. The network may include at least one of a telecommunications network, for example, a computer network (eg, a LAN or WAN), the Internet, or a telephone network.

제1 및 제2 외부 전자 장치 각각은 전자 장치와 동일한 또는 다른 종류의 장치일 수 있다. 다양한 실시예에 따르면, 전자 장치에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치, 또는 서버에서 실행될 수 있다. 한 실시예에 따르면, 전자 장치가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치, 또는 서버)에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치, 또는 서버)는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치로 전달할 수 있다. 전자 장치는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.Each of the first and second external electronic devices may be the same or a different type of electronic device. According to various embodiments, all or a part of operations executed by the electronic device may be executed by one or a plurality of other electronic devices (eg, electronic devices or servers. According to one embodiment, the electronic device may perform a certain function or service to be performed automatically or upon request, the electronic device may request from another device (eg, an electronic device or a server) for at least some functions related thereto, instead of or in addition to executing the function or service itself. Another electronic device (eg, an electronic device or a server) may execute the requested function or additional function and transmit the result to the electronic device The electronic device may process the received result as it is or additionally to perform the requested function For this purpose, for example, cloud computing, distributed computing, or client-server computing technology may be used.

전자 장치는 하나 이상의 프로세서(예: AP), 통신 모듈, (가입자 식별 모듈, 메모리, 센서 모듈, 입력 장치, 디스플레이, 인터페이스, 오디오 모듈, 카메라 모듈, 전력 관리 모듈, 배터리, 인디케이터, 및 모터를 포함할 수 있다. 프로세서는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서는, 예를 들면, SoC(system on chip)로 구현될 수 있다. 한 실시예에 따르면, 프로세서는 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서를 더 포함할 수 있다. 프로세서는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드)하여 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.The electronic device includes one or more processors (eg, AP), communication modules, (subscriber identification module, memory, sensor module, input device, display, interface, audio module, camera module, power management module, battery, indicator, and motor) The processor may, for example, run an operating system or an application program to control a plurality of hardware or software components connected to the processor, and may perform various data processing and operations. For example, it may be implemented as a system on chip (SoC). According to an embodiment, the processor may further include a graphic processing unit (GPU) and/or an image signal processor. The processor may include other components (eg, : A command or data received from at least one of the non-volatile memory) may be loaded into the volatile memory for processing, and the result data may be stored in the non-volatile memory.

통신 모듈(예: 통신 인터페이스)와 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈은, 예를 들면, 셀룰러 모듈, WiFi 모듈, 블루투스 모듈, GNSS 모듈, NFC 모듈 및 RF 모듈을 포함할 수 있다. 셀룰러 모듈은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시예에 따르면, 셀룰러 모듈은 가입자 식별 모듈(예: SIM 카드)을 이용하여 통신 네트워크 내에서 전자 장치의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈은 프로세서가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈은 커뮤니케이션 프로세서(CP)를 포함할 수 있다. 어떤 실시예에 따르면, 셀룰러 모듈, WiFi 모듈, 블루투스 모듈, GNSS 모듈 또는 NFC 모듈 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. RF 모듈은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈은, 예를 들면, 트랜시버, PAM(power amp module), 주파수 필터, LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시예에 따르면, 셀룰러 모듈, WiFi 모듈, 블루투스 모듈, GNSS 모듈 또는 NFC 모듈 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다. 가입자 식별 모듈은, 예를 들면, 가입자 식별 모듈을 포함하는 카드 또는 임베디드 SIM을 포함할 수 있으며, 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다. It may have the same or similar configuration to a communication module (eg, a communication interface). The communication module may include, for example, a cellular module, a WiFi module, a Bluetooth module, a GNSS module, an NFC module, and an RF module. The cellular module may provide, for example, a voice call, a video call, a text service, or an Internet service through a communication network. According to an embodiment, the cellular module may perform identification and authentication of an electronic device within a communication network using a subscriber identification module (eg, a SIM card). According to an embodiment, the cellular module may perform at least some of the functions that the processor may provide. According to one embodiment, the cellular module may include a communication processor (CP). According to some embodiments, at least some (eg, two or more) of a cellular module, a WiFi module, a Bluetooth module, a GNSS module, or an NFC module may be included in one integrated chip (IC) or an IC package. The RF module may, for example, transmit/receive a communication signal (eg, an RF signal). The RF module may include, for example, a transceiver, a power amp module (PAM), a frequency filter, a low noise amplifier (LNA), or an antenna. According to another embodiment, at least one of a cellular module, a WiFi module, a Bluetooth module, a GNSS module, or an NFC module may transmit/receive an RF signal through a separate RF module. The subscriber identification module may include, for example, a card including a subscriber identification module or an embedded SIM, and may include unique identification information (eg, integrated circuit card identifier (ICCID)) or subscriber information (eg, international mobile (IMSI)). subscriber identity)).

메모리(예: 메모리)는, 예를 들면, 내장 메모리 또는 외장 메모리를 포함할 수 있다. 내장 메모리는, 예를 들면, 휘발성 메모리(예: DRAM, SRAM, 또는 SDRAM 등), 비휘발성 메모리(예: OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, 플래시 메모리, 하드 드라이브, 또는 솔리드 스테이트 드라이브(SSD) 중 적어도 하나를 포함할 수 있다. 외장 메모리는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱 등을 포함할 수 있다. 외장 메모리는 다양한 인터페이스를 통하여 전자 장치와 기능적으로 또는 물리적으로 연결될 수 있다.The memory (eg, memory) may include, for example, an internal memory or an external memory. Built-in memory includes, for example, volatile memory (such as DRAM, SRAM, or SDRAM), non-volatile memory (such as one time programmable ROM (OTPROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, flash memory). , a hard drive, or a solid state drive (SSD), the external memory may include a flash drive, for example, a compact flash (CF), secure digital (SD), Micro-SD, It may include a Mini-SD, extreme digital (xD), a multi-media card (MMC), a memory stick, etc. The external memory may be functionally or physically connected to an electronic device through various interfaces.

센서 모듈은, 예를 들면, 물리량을 계측하거나 전자 장치의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러(color) 센서(예: RGB(red, green, blue) 센서), 생체 센서, 온/습도 센서, 조도 센서, 또는 UV(ultra violet) 센서 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 센서 모듈은, 예를 들면, 후각(e-nose) 센서, 일렉트로마이오그라피(EMG) 센서, 일렉트로엔씨팔로그램(EEG) 센서, 일렉트로카디오그램(ECG) 센서, IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시예에서는, 전자 장치는 프로세서의 일부로서 또는 별도로, 센서 모듈을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서가 슬립(sleep) 상태에 있는 동안, 센서 모듈을 제어할 수 있다.The sensor module, for example, may measure a physical quantity or sense an operating state of an electronic device, and may convert the measured or sensed information into an electrical signal. The sensor module may include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor (eg, an RGB (red, green, blue) sensor), a biometric sensor , it may include at least one of a temperature/humidity sensor, an illuminance sensor, and an ultra violet (UV) sensor. Additionally or alternatively, the sensor module may include, for example, an olfactory (e-nose) sensor, an electromyography (EMG) sensor, an electroencephalogram (EEG) sensor, an electrocardiogram (ECG) sensor, an infrared (IR) sensor. ) sensor, an iris sensor and/or a fingerprint sensor. The sensor module may further include a control circuit for controlling at least one or more sensors included therein. In some embodiments, the electronic device may further include a processor configured to control the sensor module, as part of the processor or separately, to control the sensor module while the processor is in a sleep state.

입력 장치는, 예를 들면, 터치 패널, (디지털) 펜 센서, 키, 또는 초음파 입력 장치를 포함할 수 있다. 터치 패널은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널은 제어 회로를 더 포함할 수도 있다. 터치 패널은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다. (디지털) 펜 센서는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키는, 예를 들면, 하드웨어 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치는 마이크를 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.The input device may include, for example, a touch panel, a (digital) pen sensor, a key, or an ultrasonic input device. The touch panel may use, for example, at least one of a capacitive type, a pressure-sensitive type, an infrared type, and an ultrasonic type. In addition, the touch panel may further include a control circuit. The touch panel may further include a tactile layer to provide a tactile response to the user. The (digital) pen sensor may be, for example, a part of a touch panel or may include a separate recognition sheet. The key may include, for example, a hardware button, an optical key, or a keypad. The ultrasound input device may detect the ultrasound generated by the input tool through the microphone, and check data corresponding to the sensed ultrasound.

디스플레이는 패널, 홀로그램 장치, 프로젝터, 및/또는 이들을 제어하기 위한 제어 회로를 포함할 수 있다. 패널은, 예를 들면, 유연하게, 투명하게, 또는 착용할 수 있게 구현될 수 있다. 패널은 터치 패널과 하나 이상의 모듈로 구성될 수 있다. 한 실시예에 따르면, 패널은 사용자의 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서(또는 포스 센서)를 포함할 수 있다. 상기 압력 센서는 터치 패널과 일체형으로 구현되거나, 또는 터치 패널과는 별도의 하나 이상의 센서로 구현될 수 있다. 홀로그램 장치는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치의 내부 또는 외부에 위치할 수 있다. 인터페이스는, 예를 들면, HDMI, USB, 광 인터페이스(optical interface), 또는 D-sub(D-subminiature)(278)를 포함할 수 있다. 추가적으로 또는 대체적으로, 인터페이스는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다. The display may include a panel, a holographic device, a projector, and/or control circuitry for controlling them. The panel may be implemented, for example, to be flexible, transparent, or wearable. The panel may be composed of a touch panel and one or more modules. According to an embodiment, the panel may include a pressure sensor (or a force sensor) capable of measuring the intensity of the user's touch. The pressure sensor may be implemented integrally with the touch panel, or may be implemented as one or more sensors separate from the touch panel. The holographic device may display a three-dimensional image in the air using interference of light. A projector can display an image by projecting light onto a screen. The screen may be located inside or outside the electronic device, for example. The interface may include, for example, HDMI, USB, an optical interface, or a D-subminiature (D-sub) 278 . Additionally or alternatively, the interface may include, for example, a mobile high-definition link (MHL) interface, an SD card/multi-media card (MMC) interface, or an infrared data association (IrDA) standard interface.

오디오 모듈은, 예를 들면, 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈은, 예를 들면, 스피커, 리시버, 이어폰, 또는 마이크 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다. 카메라 모듈은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, 이미지 시그널 프로세서(ISP), 또는 플래시(예: LED 또는 xenon lamp 등)를 포함할 수 있다. 전력 관리 모듈은, 예를 들면, 전자 장치의 전력을 관리할 수 있다. 한 실시예에 따르면, 전력 관리 모듈은 PMIC(power management integrated circuit), 충전 IC, 또는 배터리 또는 연료 게이지를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리는, 예를 들면, 충전식 전지 및/또는 태양 전지를 포함할 수 있다. The audio module may, for example, convert a sound and an electrical signal interactively. The audio module may process sound information input or output through, for example, a speaker, a receiver, an earphone, or a microphone. The camera module is, for example, a device capable of capturing still images and moving pictures, and according to one embodiment, one or more image sensors (eg, a front sensor or a rear sensor), a lens, an image signal processor (ISP), or a flash (eg, LED or xenon lamp, etc.). The power management module may manage power of the electronic device, for example. According to one embodiment, the power management module may include a power management integrated circuit (PMIC), a charger IC, or a battery or fuel gauge. The PMIC may have a wired and/or wireless charging method. The wireless charging method includes, for example, a magnetic resonance method, a magnetic induction method or an electromagnetic wave method, and may further include an additional circuit for wireless charging, for example, a coil loop, a resonance circuit, or a rectifier. have. The battery gauge may measure, for example, the remaining amount of the battery, voltage, current, or temperature during charging. Batteries may include, for example, rechargeable cells and/or solar cells.

인디케이터는 전자 장치 또는 그 일부(예: 프로세서)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동, 또는 햅틱 효과 등을 발생시킬 수 있다. 전자 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어플로(mediaFloTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있는 모바일 TV 지원 장치(예: GPU)를 포함할 수 있다. 본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시예에서, 전자 장치(예: 전자 장치)는 일부 구성요소가 생략되거나, 추가적인 구성요소를 더 포함하거나, 또는, 구성요소들 중 일부가 결합되어 하나의 개체로 구성되되, 결합 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.The indicator may display a specific state of the electronic device or a part thereof (eg, a processor), for example, a booting state, a message state, or a charging state. The motor may convert an electrical signal into mechanical vibration, and may generate vibration, a haptic effect, or the like. The electronic device includes, for example, a mobile TV support device (eg, GPU) capable of processing media data according to standards such as digital multimedia broadcasting (DMB), digital video broadcasting (DVB), or mediaFloTM. may include Each of the components described in this document may be composed of one or more components, and the name of the component may vary depending on the type of the electronic device. In various embodiments, an electronic device (eg, an electronic device) has some components omitted, additional components are further included, or some of the components are combined to form a single entity, but the corresponding components before the combination The functions of the components may be performed identically.

본 발명의 다양한 실시예에서, 전자 장치(또는, 전자 장치)는, 전면, 후면 및 상기 전면과 상기 후면 사이의 공간을 둘러싸는 측면을 포함하는 하우징을 포함할 수도 있다. 터치스크린 디스플레이(예: 디스플레이)는, 상기 하우징 안에 배치되며, 상기 전면을 통하여 노출될 수 있다. 마이크는, 상기 하우징 안에 배치되며, 상기 하우징의 부분을 통하여 노출될 수 있다. 적어도 하나의 스피커는, 상기 하우징 안에 배치되며, 상기 하우징의 다른 부분을 통하여 노출될 수 있다. 하드웨어 버튼(예: 키)는, 상기 하우징의 또 다른 부분에 배치되거나 또는 상기 터치스크린 디스플레이 상에 표시하도록 설정될 수 있다. 무선 통신 회로(예: 통신 모듈)은, 상기 하우징 안에 위치할 수 있다. 상기 프로세서(또는, 프로세서)는, 상기 하우징 안에 위치하며, 상기 터치스크린 디스플레이, 상기 마이크, 상기 스피커 및 상기 무선 통신 회로에 전기적으로 연결될 수 있다. 상기 메모리(또는, 메모리)는, 상기 하우징 안에 위치하며, 상기 프로세서에 전기적으로 연결될 수 있다.In various embodiments of the present disclosure, the electronic device (or electronic device) may include a housing including a front surface, a rear surface, and side surfaces surrounding a space between the front surface and the rear surface. A touch screen display (eg, a display) may be disposed in the housing and exposed through the front surface. A microphone is disposed within the housing and may be exposed through a portion of the housing. At least one speaker is disposed in the housing and may be exposed through another portion of the housing. A hardware button (eg, a key) may be disposed on another part of the housing or configured to be displayed on the touchscreen display. A wireless communication circuit (eg, a communication module) may be located in the housing. The processor (or processor) may be located in the housing and may be electrically connected to the touch screen display, the microphone, the speaker, and the wireless communication circuit. The memory (or memory) may be located in the housing and may be electrically connected to the processor.

본 발명의 다양한 실시예에서, 상기 메모리는, 텍스트 입력을 수신하기 위한 제1 사용자 인터페이스를 포함하는 제1 어플리케이션 프로그램을 저장하도록 설정되고, 상기 메모리는, 실행 시에, 상기 프로세서가, 제1 동작과 제2 동작을 수행하도록 야기하는 인스트럭션들을 저장하고, 상기 제1 동작은, 상기 제1 사용자 인터페이스가 상기 터치스크린 디스플레이 상에 표시되지 않는 도중에, 상기 버튼을 통하여 제1 타입의 사용자 입력을 수신하고, 상기 제1 타입의 사용자 입력을 수신한 이후에, 상기 마이크를 통하여 제1 사용자 발화를 수신하고, 자동 스피치 인식(ASR: automatic speech recognition) 및 지능 시스템(intelligence system)을 포함하는 외부 서버로 상기 제1 사용자 발화에 대한 제1 데이터를 제공하고, 상기 제1 데이터를 제공한 이후에, 상기 외부 서버로부터 상기 제1 사용자 발화에 응답하여 상기 지능 시스템에 의하여 생성되는 태스크를 수행하도록 하는 적어도 하나의 명령을 수신하고, 상기 제2 동작은, 상기 터치스크린 디스플레이 상에 상기 제1 사용자 인터페이스가 표시되는 도중에 상기 버튼을 통하여 상기 제1 사용자 입력을 수신하고, 상기 제1 타입의 사용자 입력을 수신한 이후에, 상기 마이크를 통하여 제2 사용자 발화를 수신하고, 상기 외부 서버로 상기 제2 사용자 발화에 대한 제2 데이터를 제공하고, 상기 제2 데이터를 제공한 이후에, 상기 서버로부터, 상기 제2 사용자 발화로부터 상기 자동 스피치 인식에 의하여 생성된 텍스트에 대한 데이터를 수신하지만, 상기 지능 시스템에 의하여 생성되는 명령은 수신하지 않고, 상기 제1 사용자 인터페이스에 상기 텍스트를 입력할 수 있다.In various embodiments of the present disclosure, the memory is configured to store a first application program including a first user interface for receiving a text input, and the memory, when executed, causes the processor to perform a first operation and instructions for causing a second operation to be performed, wherein the first operation comprises: receiving a first type of user input through the button while the first user interface is not displayed on the touch screen display; , after receiving the first type of user input, receive a first user utterance through the microphone, and send to an external server including an automatic speech recognition (ASR) and an intelligence system. at least one providing first data for a first user utterance, and after providing the first data, performing a task generated by the intelligent system in response to the first user utterance from the external server Receiving a command, the second operation is performed after receiving the first user input through the button while the first user interface is displayed on the touch screen display and receiving the first type of user input , receive a second user's utterance through the microphone, provide second data for the second user's utterance to the external server, and after providing the second data, from the server, the second user receiving data about the text generated by the automatic speech recognition from an utterance, but not receiving a command generated by the intelligent system, and inputting the text into the first user interface.

본 발명의 다양한 실시예에서, 상기 버튼은, 상기 하우징의 상기 측면에 위치하는 물리적인 키를 포함할 수 있다.In various embodiments of the present disclosure, the button may include a physical key located on the side surface of the housing.

본 발명의 다양한 실시예에서, 상기 제1 타입의 사용자 입력은, 상기 버튼에 대한 1회 누름, 상기 버튼에 대한 2회 누름, 상기 버튼에 대한 3회 누름, 상기 버튼에 대한 1회 누른 이후에 누름 유지, 또는 상기 버튼에 대한 2회 누름 및 누름 유지 중 하나일 수 있다.In various embodiments of the present disclosure, the first type of user input may be performed after pressing the button once, pressing the button twice, pressing the button 3 times, and pressing the button once. It can be one of a press and hold, or a double press and hold down on the button.

본 발명의 다양한 실시예에서, 상기 인스트럭션들은, 상기 프로세서가 상기 제1 사용자 인터페이스를 가상 키보드와 함께 표시하도록 더 야기할 수 있다. 상기 버튼은, 상기 가상 키보드의 일부가 아닐 수 있다.In various embodiments of the present disclosure, the instructions may further cause the processor to display the first user interface together with a virtual keyboard. The button may not be a part of the virtual keyboard.

본 발명의 다양한 실시예에서, 상기 인스트럭션들은, 상기 프로세서가, 상기 외부 서버로부터, 상기 제1 동작 내에서의 상기 제1 사용자 발화로부터 ASR에 의하여 생성되는 텍스트에 대한 데이터를 수신하도록 더 야기할 수 있다.In various embodiments of the present disclosure, the instructions may further cause the processor to receive, from the external server, data for text generated by an ASR from the first user utterance within the first operation. have.

본 발명의 다양한 실시예에서, 상기 제1 어플리케이션 프로그램은, 노트 어플리케이션 프로그램, 이메일 어플리케이션 프로그램, 웹 브라우저 어플리케이션 프로그램 또는 달력 어플리케이션 프로그램 중 적어도 하나를 포함할 수 있다.In various embodiments of the present disclosure, the first application program may include at least one of a note application program, an email application program, a web browser application program, and a calendar application program.

본 발명의 다양한 실시예에서, 상기 제1 어플리케이션 프로그램은, 메시지 어플리케이션을 포함하고, 상기 인스트럭션들은, 상기 프로세서가, 상기 텍스트를 입력한 이후에 선택된 시간 기간이 초과하면, 상기 무선 통신 회로를 통하여 자동으로 입력된 텍스트를 송신하도록 더 야기할 수 있다.In various embodiments of the present disclosure, the first application program includes a message application, and the instructions are automatically executed via the wireless communication circuit when the processor, by the processor, exceeds a selected time period after inputting the text. may further cause the inputted text to be transmitted.

본 발명의 다양한 실시예에서, 상기 인스트럭션들은, 상기 프로세서가, 제3 동작을 수행하도록 더 야기하고, 상기 제3 동작은, 상기 터치스크린 디스플레이 상에 상기 제1 사용자 인터페이스를 표시하는 도중에, 상기 버튼을 통하여 제2 타입의 사용자 입력을 수신하고, 상기 제2 타입의 사용자 입력을 수신한 이후에, 상기 마이크를 통하여 제3 사용자 발화를 수신하고, 상기 외부 서버로 상기 제3 사용자 발화에 대한 제3 데이터를 제공하고, 상기 제3 데이터를 제공한 이후에, 상기 제3 사용자 발화에 응답하여 상기 지능 시스템에 의하여 생성된 태스크를 수행하기 위한 적어도 하나의 명령을 상기 외부 서버로부터 수신할 수 있다.In various embodiments of the present disclosure, the instructions further cause the processor to perform a third operation, wherein the third operation includes: while displaying the first user interface on the touch screen display, the button Receives a second type of user input through , and after receiving the second type of user input, receives a third user utterance through the microphone, and sends a third response to the third user utterance to the external server After providing data and providing the third data, at least one command for performing a task generated by the intelligent system in response to the third user utterance may be received from the external server.

본 발명의 다양한 실시예에서, 상기 인스트럭션들은, 상기 프로세서가, 제4 동작을 수행하도록 더 야기하고, 상기 제4 동작은, 상기 터치스크린 디스플레이 상에 상기 제1 사용자 인터페이스가 표시되지 않는 도중에, 상기 버튼을 통하여 상기 제2 타입의 사용자 입력을 수신하고, 상기 제2 타입의 사용자 입력을 수신한 이후에, 상기 마이크를 통하여 제4 사용자 발화를 수신하고, 상기 제4 사용자 발화에 대한 제4 데이터를 상기 외부 서버로 제공하고, 상기 제4 데이터를 제공한 이후에, 상기 제4 사용자 발화에 응답하여, 상기 지능 시스템에 의하여 생성된 태스크를 수행하기 위한 적어도 하나의 명령을 상기 외부 서버로부터 수신하고, 상기 마이크를 통하여 제5 사용자 발화를 수신하고, 상기 외부 서버로, 상기 제5 사용자 발화에 대한 제5 데이터를 제공하고, 및 상기 제5 데이터를 제공한 이후에, 상기 제5 사용자 발화에 응답하여 상기 지능 시스템에 의하여 생성된 태스크를 수행하기 위한 적어도 하나의 명령을 상기 외부 서버로부터 수신할 수 있다.In various embodiments of the present disclosure, the instructions further cause the processor to perform a fourth operation, wherein the fourth operation is performed while the first user interface is not displayed on the touch screen display. Receives the second type of user input through a button, and after receiving the second type of user input, receives a fourth user utterance through the microphone, and receives fourth data for the fourth user utterance After providing to the external server and providing the fourth data, in response to the fourth user utterance, receiving at least one command for performing a task generated by the intelligent system from the external server, receiving a fifth user utterance through the microphone, providing fifth data on the fifth user utterance to the external server, and after providing the fifth data, in response to the fifth user utterance At least one command for performing the task generated by the intelligent system may be received from the external server.

본 발명의 다양한 실시예에서, 상기 제1 타입의 사용자 입력 및 상기 제2 타입의 사용자 입력은 서로 다르며, 상기 버튼에 대한 1회 누름, 상기 버튼에 대한 2회 누름, 상기 버튼에 대한 3회 누름, 상기 버튼에 대한 1회 누른 이후에 누름 유지, 또는 상기 버튼에 대한 2회 누름 및 누름 유지 중 하나로부터 선택될 수 있다.In various embodiments of the present invention, the first type of user input and the second type of user input are different from each other, and a single press of the button, two presses of the button, three presses of the button , one of pressing and holding the button after pressing it once, or pressing and holding the press twice on the button.

본 발명의 다양한 실시예에서, 상기 메모리는, 텍스트 입력을 수신하기 위한 제2 사용자 인터페이스를 포함하는 제2 어플리케이션 프로그램을 저장하도록 더 설정되며, 상기 인스트럭션들은, 실행 시에, 상기 프로세서가, 제3 동작을 수행하도록 더 야기하고, 상기 제3 동작은, 상기 제2 사용자 인터페이스를 표시하는 도중에 상기 버튼을 통하여 상기 제1 타입의 사용자 입력을 수신하고, 상기 제1 타입의 사용자 입력이 수신된 이후에, 상기 마이크를 통하여 제3 사용자 발화를 수신하고, 상기 외부 서버로, 상기 제3 사용자 발화에 대한 제3 데이터를 제공하고, 상기 제3 데이터를 제공한 이후에, 상기 외부 서버로부터, 상기 제3 사용자 발화로부터 ASR에 의하여 생성된 텍스트에 대한 데이터를 수신하면서, 상기 지능 시스템에 의하여 생성되는 명령은 수신하지 않고, 상기 제2 사용자 인터페이스에 상기 텍스트를 입력하고, 및 상기 텍스트를 입력하고, 선택된 시간 기간이 초과하면, 상기 무선 통신 회로를 통하여 상기 입력된 텍스트를 자동으로 송신할 수 있다.In various embodiments of the present disclosure, the memory is further configured to store a second application program including a second user interface for receiving a text input, wherein the instructions, when executed, cause the processor to: further cause to perform an operation, wherein the third operation includes: receiving the first type of user input through the button while displaying the second user interface; After the first type of user input is received, a third user utterance is received through the microphone, and third data for the third user utterance is provided to the external server, and the third data is provided. After receiving the data for the text generated by the ASR from the third user utterance from the external server, the command generated by the intelligent system is not received, and the text is displayed on the second user interface. input, and input the text, and automatically transmit the entered text through the wireless communication circuit when the selected time period is exceeded.

본 발명의 다양한 실시예에서, 상기 메모리는, 텍스트 입력을 수신하기 위한 제1 사용자 인터페이스를 포함하는 제1 어플리케이션 프로그램을 저장하도록 설정되고, 상기 메모리는, 실행 시에, 상기 프로세서가, 제1 동작과 제2 동작을 수행하도록 야기하는 인스트럭션들을 저장하고, 상기 제1 동작은, 상기 버튼을 통하여 제1 타입의 사용자 입력을 수신하고, 상기 제1 타입의 사용자 입력을 수신한 이후에, 상기 마이크를 통하여 제1 사용자 발화를 수신하고, 자동 스피치 인식(ASR: automatic speech recognition) 및 지능 시스템(intelligence system)을 포함하는 외부 서버로, 상기 제1 사용자 발화에 대한 제1 데이터를 제공하고, 및 상기 제1 데이터를 제공한 이후에, 상기 제1 사용자 발화에 응답하여 상기 지능 시스템에 의하여 생성된 태스크를 수행하기 위한 적어도 하나의 명령을 상기 외부 서버로부터 수신하고, 상기 제2 동작은, 상기 버튼을 통하여 제2 타입의 사용자 입력을 수신하고, 상기 제2 타입의 사용자 입력을 수신한 이후에, 상기 마이크를 통하여 제2 사용자 발화를 수신하고, 상기 외부 서버로 상기 제2 사용자 발화에 대한 제2 데이터를 제공하고, 상기 제2 데이터를 제공한 이후에, 상기 서버로부터, 상기 제2 사용자 발화로부터 ASR에 의하여 생성된 텍스트에 대한 데이터를 수신하면서, 상기 지능 시스템에 의하여 생성되는 명령은 수신하지 않으며, 상기 제1 사용자 인터페이스에 상기 텍스트를 입력할 수 있다.In various embodiments of the present disclosure, the memory is configured to store a first application program including a first user interface for receiving a text input, and the memory, when executed, causes the processor to perform a first operation and instructions for causing to perform a second operation, wherein the first operation receives a first type of user input through the button, and after receiving the first type of user input, the microphone is Receive a first user utterance through an external server including automatic speech recognition (ASR) and an intelligence system, and provide first data for the first user utterance, and After providing 1 data, at least one command for performing a task generated by the intelligent system in response to the first user utterance is received from the external server, and the second operation is performed through the button Receives a second type of user input, and after receiving the second type of user input, receives a second user utterance through the microphone, and transmits second data for the second user utterance to the external server and after providing the second data, receiving from the server data for the text generated by the ASR from the second user utterance, but not receiving the command generated by the intelligent system, The text may be entered into the first user interface.

본 발명의 다양한 실시예에서, 상기 인스트럭션들은, 상기 프로세서가 상기 제1 사용자 인터페이스를 가상 키보드와 함께 표시하도록 더 야기할 수 있으며, 상기 버튼은, 상기 가상 키보드의 일부가 아닐 수 있다.In various embodiments of the present disclosure, the instructions may further cause the processor to display the first user interface together with a virtual keyboard, wherein the button may not be part of the virtual keyboard.

본 발명의 다양한 실시예에서, 상기 인스트럭션들은, 상기 프로세서가, 상기 외부 서버로부터 상기 제1 동작 내에서 상기 제1 사용자 발화로부터 상기 ASR에 의하여 생성되는 텍스트에 대한 데이터를 수신하도록 더 야기할 수 있다.In various embodiments of the present disclosure, the instructions may further cause the processor to receive, from the external server, data for the text generated by the ASR from the first user utterance within the first operation. .

본 발명의 다양한 실시예에서, 상기 제1 어플리케이션 프로그램은, 노트 어플리케이션 프로그램, 이메일 어플리케이션 프로그램, 웹 브라우저 어플리케이션 프로그램 또는 달력 어플리케이션 프로그램 중 적어도 하나를 포함할 수 있다.In various embodiments of the present disclosure, the first application program may include at least one of a note application program, an email application program, a web browser application program, and a calendar application program.

본 발명의 다양한 실시예에서, 상기 제1 어플리케이션 프로그램은, 메시지 어플리케이션을 포함하고, 상기 인스트럭션들은, 상기 프로세서가, 상기 텍스트를 입력한 이후에 선택된 시간 기간이 초과하면, 상기 무선 통신 회로를 통하여 자동으로 입력된 텍스트를 송신하도록 더 야기할 수 있다.In various embodiments of the present disclosure, the first application program includes a message application, and the instructions are automatically executed via the wireless communication circuit when the processor, by the processor, exceeds a selected time period after inputting the text. may further cause the inputted text to be transmitted.

본 발명의 다양한 실시예에서, 상기 인스트럭션들은, 상기 프로세서가 상기 제1 사용자 인터페이스의 상기 디스플레이 상에 표시와 독립적으로 상기 제1 동작을 수행하도록 더 야기할 수 있다.In various embodiments of the present disclosure, the instructions may further cause the processor to perform the first operation independently of displaying on the display of the first user interface.

본 발명의 다양한 실시예에서, 상기 인스트럭션들은, 상기 프로세서가, 상기 전자 장치가 잠금 상태에 있거나 또는 상기 터치스크린 디스플레이가 턴 오프된 것 중 적어도 하나인 경우에, 상기 제2 동작을 수행하도록 더 야기할 수 있다.In various embodiments of the present disclosure, the instructions further cause the processor to perform the second operation when at least one of the electronic device is in a locked state or the touchscreen display is turned off can do.

본 발명의 다양한 실시예에서, 상기 인스트럭션들은, 상기 프로세서가, 상기 터치스크린 디스플레이 상에 상기 제1 사용자 인터페이스를 표시하는 도중에, 상기 제2 동작을 수행하도록 더 야기할 수 있다.In various embodiments of the present disclosure, the instructions may further cause the processor to perform the second operation while displaying the first user interface on the touch screen display.

본 발명의 다양한 실시예에서, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 마이크를 통하여 사용자 발화를 수신하고, 자동 스피치 인식(automatic speech recognition: ASR) 또는 자연어 이해(natural language understanding: NLU) 중 적어도 하나를 수행하는 외부 서버로, 상기 사용자 발화에 대한 데이터와 함께, 상기 사용자 발화에 대한 데이터에 대하여 상기 ASR을 수행하여 획득된 텍스트에 대하여 상기 자연어 이해를 수행할지 여부와 연관된 정보를 송신하고, 상기 정보가 상기 자연어 이해를 수행하지 않을 것을 나타내면, 상기 외부 서버로부터 상기 사용자 발화에 대한 데이터에 대한 상기 텍스트를 수신하고, 상기 정보가 상기 자연어 이해를 수행할 것을 나타내면, 상기 외부 서버로부터 상기 텍스트에 대한 상기 자연어 이해 수행 결과 획득된 명령을 수신하도록 야기하는 인스트럭션을 저장할 수 있다.In various embodiments of the present invention, the memory, when executed, causes the processor to receive a user utterance through the microphone, and perform automatic speech recognition (ASR) or natural language understanding (NLU) To an external server that performs at least one of, transmits information related to whether to perform the natural language understanding on the text obtained by performing the ASR on the data on the user utterance together with the data on the user utterance, , receive the text for data about the user utterance from the external server if the information indicates not to perform the natural language understanding, and if the information indicates to perform the natural language understanding, the text from the external server An instruction for causing to receive a command obtained as a result of performing the natural language understanding may be stored.

한 실시예에 따르면, 프로그램 모듈(예: 프로그램)은 전자 장치(예: 전자 장치)에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램)을 포함할 수 있다. 운영 체제는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다. 프로그램 모듈은 커널(예: 커널), 미들웨어(예: 미들웨어), (API(예: API), 및/또는 어플리케이션(예: 어플리케이션 프로그램)을 포함할 수 있다. 프로그램 모듈의 적어도 일부는 전자 장치 상에 프리로드 되거나, 외부 전자 장치(예: 전자 장치, 서버 등)로부터 다운로드 가능하다.According to an embodiment, a program module (eg, a program) may include an operating system that controls resources related to an electronic device (eg, electronic device) and/or various applications (eg, application programs) running on the operating system. have. The operating system may include, for example, Android™, iOS™, Windows™, Symbian™, Tizen™, or Bada™. A program module may include a kernel (eg, a kernel), middleware (eg, middleware), an API (eg, an API), and/or an application (eg, an application program). At least a part of the program module is located on the electronic device. It can be preloaded on the computer or downloaded from an external electronic device (eg, electronic device, server, etc.).

커널은, 예를 들면, 시스템 리소스 매니저 및/또는 디바이스 드라이버를 포함할 수 있다. 시스템 리소스 매니저는 시스템 리소스의 제어, 할당, 또는 회수를 수행할 수 있다. 한 실시예에 따르면, 시스템 리소스 매니저는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부를 포함할 수 있다. 디바이스 드라이버는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다. 미들웨어는, 예를 들면, 어플리케이션이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션이 전자 장치 내부의 제한된 시스템 자원을 사용할 수 있도록 API를 통해 다양한 기능들을 어플리케이션으로 제공할 수 있다. 한 실시예에 따르면, 미들웨어는 런타임 라이브러리, 어플리케이션 매니저, 윈도우 매니저, 멀티미디어 매니저, 리소스 매니저, 파워 매니저, 데이터베이스 매니저, 패키지 매니저, 커넥티비티 매니저, 노티피케이션 매니저, 로케이션 매니저, 그래픽 매니저, 또는 시큐리티 매니저 중 적어도 하나를 포함할 수 있다.The kernel may include, for example, a system resource manager and/or device driver. The system resource manager may control, allocate, or reclaim system resources. According to an embodiment, the system resource manager may include a process manager, a memory manager, or a file system manager. The device driver may include, for example, a display driver, a camera driver, a Bluetooth driver, a shared memory driver, a USB driver, a keypad driver, a WiFi driver, an audio driver, or an inter-process communication (IPC) driver. For example, the middleware may provide functions commonly required by applications or provide various functions to applications through APIs so that applications can use limited system resources inside the electronic device. According to an embodiment, the middleware is one of a runtime library, an application manager, a window manager, a multimedia manager, a resource manager, a power manager, a database manager, a package manager, a connectivity manager, a notification manager, a location manager, a graphics manager, or a security manager. It may include at least one.

런타임 라이브러리는, 예를 들면, 어플리케이션이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리는 입출력 관리, 메모리 관리, 또는 산술 함수 처리를 수행할 수 있다. 어플리케이션 매니저는, 예를 들면, 어플리케이션의 생명 주기를 관리할 수 있다. 윈도우 매니저는 화면에서 사용되는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저는 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱을 이용하여 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저는 어플리케이션의 소스 코드 또는 메모리의 공간을 관리할 수 있다. 파워 매니저는, 예를 들면, 배터리의 용량 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보를 제공할 수 있다. 한 실시예에 따르면, 파워 매니저는 바이오스(BIOS: basic input/output system)와 연동할 수 있다. 데이터베이스 매니저는, 예를 들면, 어플리케이션에서 사용될 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신을 관리할 수 있다. The runtime library may include, for example, a library module used by the compiler to add a new function through a programming language while an application is running. The runtime library may perform I/O management, memory management, or arithmetic function processing. The application manager may, for example, manage the life cycle of the application. The window manager can manage GUI resources used in the screen. The multimedia manager may identify a format required to reproduce the media files, and may encode or decode the media files using a codec suitable for the format. The resource manager may manage the space of an application's source code or memory. The power manager may, for example, manage a capacity or power of a battery and provide power information required for an operation of an electronic device. According to an embodiment, the power manager may interwork with a basic input/output system (BIOS). The database manager may, for example, create, retrieve, or change a database to be used in an application. The package manager may manage installation or update of an application distributed in the form of a package file.

커넥티비티 매니저는, 예를 들면, 무선 연결을 관리할 수 있다. 노티피케이션 매니저는, 예를 들면, 도착 메시지, 약속, 근접성 알림 등의 이벤트를 사용자에게 제공할 수 있다. 로케이션 매니저는, 예를 들면, 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저는, 예를 들면, 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저는, 예를 들면, 시스템 보안 또는 사용자 인증을 제공할 수 있다. 한 실시예에 따르면, 미들웨어는 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화(telephony) 매니저 또는 전술된 구성요소들의 기능들의 조합을 형성할 수 있는 하는 미들웨어 모듈을 포함할 수 있다. 한 실시예에 따르면, 미들웨어는 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 미들웨어는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. API는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.The connectivity manager may, for example, manage wireless connections. The notification manager may provide, for example, an event such as an arrival message, an appointment, and a proximity notification to the user. The location manager may manage location information of the electronic device, for example. The graphic manager may manage a graphic effect to be provided to a user or a user interface related thereto, for example. A security manager may provide, for example, system security or user authentication. According to an embodiment, the middleware may include a telephony manager for managing a voice or video call function of the electronic device or a middleware module capable of forming a combination of functions of the aforementioned components. According to an embodiment, the middleware may provide a specialized module for each type of operating system. Middleware can dynamically delete some existing components or add new ones. The API may be provided in a different configuration depending on the operating system, for example, as a set of API programming functions. For example, in the case of Android or iOS, one API set may be provided for each platform, and in the case of Tizen, two or more API sets may be provided for each platform.

어플리케이션은, 예를 들면, 홈, 다이얼러, SMS/MMS, IM(instant message), 브라우저, 카메라, 알람, 컨택트, 음성 다이얼, 이메일, 달력, 미디어 플레이어, 앨범, 와치, 헬스 케어(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보(예: 기압, 습도, 또는 온도 정보) 제공 어플리케이션을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션은 전자 장치와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 노티피케이션 릴레이 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리 어플리케이션을 포함할 수 있다. 예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션에서 발생된 알림 정보를 외부 전자 장치로 전달하거나, 또는 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치의 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 또는 외부 전자 장치에서 동작하는 어플리케이션을 설치, 삭제, 또는 갱신할 수 있다. 한 실시예에 따르면, 어플리케이션은 외부 전자 장치의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션은 외부 전자 장치로부터 수신된 어플리케이션을 포함할 수 있다. 프로그램 모듈의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어(예: 프로세서), 또는 이들 중 적어도 둘 이상의 조합으로 구현(예: 실행)될 수 있으며, 하나 이상의 기능을 수행하기 위한 모듈, 프로그램, 루틴, 명령어 세트 또는 프로세스를 포함할 수 있다.Applications can be, for example, home, dialer, SMS/MMS, instant message (IM), browser, camera, alarm, contacts, voice dial, email, calendar, media player, album, watch, health care (eg exercise or measuring blood sugar) or environment information (eg, barometric pressure, humidity, or temperature information) providing application. According to an embodiment, the application may include an information exchange application capable of supporting information exchange between the electronic device and the external electronic device. The information exchange application may include, for example, a notification relay application for transmitting specific information to an external electronic device, or a device management application for managing the external electronic device. For example, the notification delivery application may transmit notification information generated by another application of the electronic device to the external electronic device or may receive notification information from the external electronic device and provide it to the user. The device management application may be, for example, a function of the external electronic device communicating with the electronic device (eg, turning on/off the external electronic device itself (or some component) or the brightness (or resolution) of the display. adjustment), or an application running in an external electronic device may be installed, deleted, or updated. According to an embodiment, the application may include an application designated according to a property of the external electronic device (eg, a health management application of a mobile medical device). According to an embodiment, the application may include an application received from an external electronic device. At least some of the program modules may be implemented (eg, executed) in software, firmware, hardware (eg, a processor), or a combination of at least two or more thereof, and a module, program, routine, set of instructions for performing one or more functions. or processes.

도 9는 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법을 나타내는 흐름도이다.9 is a flowchart illustrating a method for controlling a multi-processor according to an embodiment of the present invention.

도 9를 참조하면, 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법은, 멀티 프로세서에 대한 정보를 수집하는 단계(S910)를 포함할 수 있다.Referring to FIG. 9 , the method for controlling a multi-processor according to an embodiment of the present invention may include collecting information on the multi-processor ( S910 ).

또한 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법은, 멀티 프로세서에 대한 정보에 기반하여 제1 방열 모드 또는 제2 방열 모드를 선택하는 단계(S920)를 포함할 수 있다.In addition, the method of controlling a multiprocessor according to an embodiment of the present invention may include selecting the first heat dissipation mode or the second heat dissipation mode based on information on the multiprocessor ( S920 ).

또한 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법은, 제1 방열 모드를 실행하는 단계(S930)를 포함할 수 있다.Also, the method of controlling a multiprocessor according to an embodiment of the present invention may include executing the first heat dissipation mode ( S930 ).

또한 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법은, 제2 방열 모드를 실행하는 단계(S940)를 포함할 수 있다.Also, the method of controlling a multiprocessor according to an embodiment of the present invention may include executing the second heat dissipation mode ( S940 ).

또한 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법은, 긴급 정지 모드를 실행하는 단계(S950)를 포함할 수 있다.Also, the method of controlling a multiprocessor according to an embodiment of the present invention may include executing an emergency stop mode ( S950 ).

본 발명의 일 실시예에 따른 방법은, 일 예에 따라 상기 S910 내지 S950 중 일부만을 포함할 수도 있으며, 다른 예에 따라 상기 S910 내지 S950의 순서는 변경될 수 있다.The method according to an embodiment of the present invention may include only a part of S910 to S950, and according to another example, the order of S910 to S950 may be changed.

도 10은 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법을 나타내는 흐름도이다.10 is a flowchart illustrating a method of controlling a multi-processor according to an embodiment of the present invention.

도 10을 참조하면, 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법은, 멀티 프로세서에 대한 정보를 수집하는 단계(S1010)를 포함할 수 있다.Referring to FIG. 10 , the method of controlling a multi-processor according to an embodiment of the present invention may include collecting information on the multi-processor ( S1010 ).

또한 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법은, 멀티 프로세서에 대한 정보에 기반하여 단독 모드 또는 공유 모드를 선택하는 단계(S1020)를 포함할 수 있다.Also, the method for controlling a multi-processor according to an embodiment of the present invention may include selecting a single mode or a shared mode based on information about the multi-processor ( S1020 ).

또한 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법은, 공유 모드가 선택됨에 기반하여 외부 요청 메시지를 단말 또는 서버에게 전송하는 단계(S1030)를 포함할 수 있다.Also, the method of controlling a multiprocessor according to an embodiment of the present invention may include transmitting an external request message to the terminal or the server based on selection of the sharing mode (S1030).

또한 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법은, 외부 처리 정보를 단말 또는 서버로부터 수신하는 단계(S1040)를 포함할 수 있다.Also, the method of controlling a multiprocessor according to an embodiment of the present invention may include receiving external processing information from a terminal or a server (S1040).

또한 본 발명의 일 실시예에 따른 멀티 프로세서를 제어하는 방법은, 외부 처리 정보를 내부 처리 정보와 결합하는 단계(S1050)를 포함할 수 있다.In addition, the method of controlling a multi-processor according to an embodiment of the present invention may include combining external processing information with internal processing information ( S1050 ).

본 발명의 일 실시예에 따른 방법은, 일 예에 따라 상기 S1010 내지 S1050 중 일부만을 포함할 수도 있으며, 다른 예에 따라 상기 S1010 내지 S1050의 순서는 변경될 수 있다.The method according to an embodiment of the present invention may include only a part of S1010 to S1050, and according to another example, the order of S1010 to S1050 may be changed.

본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 즉 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명의 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한 상기 각각의 실시예는 필요에 따라 서로 조합되어 운용할 수 있다. 예컨대, 본 발명의 모든 실시예는 일부분들이 서로 조합되어 본 발명의 시스템(100), 단말(120, 130) 및/또는 서버(140, 150)에 의해 구현될 수 있다.The embodiments of the present invention disclosed in the present specification and drawings are merely provided for specific examples in order to easily explain the technical contents of the present invention and help the understanding of the present invention, and are not intended to limit the scope of the present invention. That is, it will be apparent to those of ordinary skill in the art to which the present invention pertains that other modifications can be implemented based on the technical idea of the present invention. In addition, each of the above embodiments may be operated in combination with each other as needed. For example, all embodiments of the present invention may be implemented by the system 100 , the terminals 120 , 130 and/or the servers 140 , 150 of the present invention in parts in combination with each other.

또한, 본 발명의 시스템(100), 단말(120, 130) 및/또는 서버(140, 150)를 제어하는 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.In addition, the method of controlling the system 100, the terminals 120, 130, and/or the servers 140, 150 of the present invention is implemented in the form of a program command that can be executed through various computer means and is stored in a computer-readable medium. can be recorded.

이와 같이, 본 발명의 다양한 실시예들은 특정 관점에서 컴퓨터 리드 가능 기록 매체(computer readable recording medium)에서 컴퓨터 리드 가능 코드(computer readable code)로서 구현될 수 있다. 컴퓨터 리드 가능 기록 매체는 컴퓨터 시스템에 의해 리드될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이다. 컴퓨터 리드 가능 기록 매체의 예들은 읽기 전용 메모리(read only memory: ROM)와, 랜덤-접속 메모리(random access memory: RAM)와, 컴팩트 디스크- 리드 온니 메모리(compact disk-read only memory: CD-ROM)들과, 마그네틱 테이프(magnetic tape)들과, 플로피 디스크(floppy disk)들과, 광 데이터 저장 디바이스들, 및 캐리어 웨이브(carrier wave)들(인터넷을 통한 데이터 송신 등)을 포함할 수 있다. 컴퓨터 리드 가능 기록 매체는 또한 네트워크 연결된 컴퓨터 시스템들을 통해 분산될 수 있고, 따라서 컴퓨터 리드 가능 코드는 분산 방식으로 저장 및 실행된다. 또한, 본 발명의 다양한 실시예들을 성취하기 위한 기능적 프로그램들, 코드, 및 코드 세그먼트(segment)들은 본 발명이 적용되는 분야에서 숙련된 프로그래머들에 의해 쉽게 해석될 수 있다.As such, various embodiments of the present invention may be embodied as computer readable code on a computer readable recording medium in a particular aspect. A computer readable recording medium is any data storage device capable of storing data that can be read by a computer system. Examples of computer readable recording media include read only memory (ROM), random access memory (RAM), and compact disk-read only memory (CD-ROM). ), magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission over the Internet). The computer readable recording medium may also be distributed over network coupled computer systems, so that the computer readable code is stored and executed in a distributed fashion. In addition, functional programs, codes, and code segments for achieving various embodiments of the present invention may be easily interpreted by programmers skilled in the field to which the present invention is applied.

또한 본 발명의 다양한 실시예들에 따른 장치 및 방법은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 소프트웨어는 예를 들어, 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 콤팩트 디스크(compact disk: CD), DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 본 발명의 다양한 실시예들에 따른 방법은 제어장치, 제어부 및/또는 메모리를 포함하는 컴퓨터 또는 휴대 단말에 의해 구현될 수 있고, 이러한 메모리는 본 발명의 실시예들을 구현하는 명령들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다. In addition, it will be appreciated that the apparatus and method according to various embodiments of the present invention can be realized in the form of hardware, software, or a combination of hardware and software. Such software may include, for example, a volatile or non-volatile storage device, such as a ROM, or a memory, such as, for example, RAM, a memory chip, device or integrated circuit, whether erasable or rewritable, or For example, the storage medium may be stored in an optically or magnetically recordable storage medium such as a compact disk (CD), a DVD, a magnetic disk, or a magnetic tape, and a machine (eg, computer) readable storage medium. The method according to various embodiments of the present invention may be implemented by a computer or portable terminal including a control device, a control unit and/or a memory, and the memory is a program including instructions for implementing the embodiments of the present invention or It will be appreciated that this is an example of a machine-readable storage medium suitable for storing programs.

따라서, 본 발명은 본 명세서의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다.Accordingly, the present invention includes a program including code for implementing the apparatus or method described in the claims of the present specification, and a machine (computer, etc.) readable storage medium storing such a program. Also, such a program may be transmitted electronically through any medium such as a communication signal transmitted through a wired or wireless connection, and the present invention suitably includes the equivalent thereof.

본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고, 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 또한 앞서 설명된 본 발명에 따른 실시예들은 예시적인 것에 불과하며, 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 특허청구범위에 의해서 정해져야 할 것이다.The embodiments of the present invention disclosed in the present specification and drawings are merely provided for specific examples to easily explain the technical content of the present invention and help the understanding of the present invention, and are not intended to limit the scope of the present invention. In addition, the above-described embodiments according to the present invention are merely exemplary, and it will be understood by those skilled in the art that various modifications and equivalent ranges of embodiments are possible therefrom. Accordingly, the true technical protection scope of the present invention should be defined by the following claims.

Claims (1)

멀티 프로세서 시스템.multiprocessor system.
KR1020220067620A 2022-02-14 2022-06-02 multi-processor KR20220083985A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR20220019024 2022-02-14
KR1020220019024 2022-02-14
KR1020220019361 2022-02-15
KR20220019361 2022-02-15
KR1020220020985A KR102406483B1 (en) 2022-02-14 2022-02-17 method of operation and control system of multi-processor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020220020985A Division KR102406483B1 (en) 2022-02-14 2022-02-17 method of operation and control system of multi-processor

Publications (1)

Publication Number Publication Date
KR20220083985A true KR20220083985A (en) 2022-06-21

Family

ID=81986294

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020220020985A KR102406483B1 (en) 2022-02-14 2022-02-17 method of operation and control system of multi-processor
KR1020220067620A KR20220083985A (en) 2022-02-14 2022-06-02 multi-processor
KR1020220067619A KR20220083984A (en) 2022-02-14 2022-06-02 system of multi-processor

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020220020985A KR102406483B1 (en) 2022-02-14 2022-02-17 method of operation and control system of multi-processor

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220067619A KR20220083984A (en) 2022-02-14 2022-06-02 system of multi-processor

Country Status (1)

Country Link
KR (3) KR102406483B1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR880008188A (en) 1986-12-22 1988-08-30 엘리 와이스 Signal Conditioning Devices and Methods for Multiprocessor Systems
KR0145925B1 (en) 1995-01-27 1998-09-15 박성규 Interrupt control apparatus of computer
KR19990047715A (en) 1997-12-05 1999-07-05 유기범 User Program Loading Method of Standby Processor in Electronic Switching System
KR20000020328A (en) 1998-09-19 2000-04-15 윤종용 Electronic device having multiprocessor and method for debugging slave processor through master processor
KR20000044392A (en) 1998-12-30 2000-07-15 윤종용 Processors interface device
KR100390403B1 (en) 1999-10-21 2003-07-07 엘지전자 주식회사 Method for activating software processor in dual processor
KR20030089734A (en) 2002-05-18 2003-11-28 엘지전자 주식회사 A device and a method of duplicated processor board

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010094293A (en) * 2000-04-06 2001-10-31 윤종용 Managing method of the state of processors
KR100901286B1 (en) * 2008-12-23 2009-06-09 어울림정보기술주식회사 Running and dynamically process real located system and method by changing load of individual core at the multi-core processor
JP2010231511A (en) * 2009-03-27 2010-10-14 Panasonic Corp Information processor and information processing method
KR102189115B1 (en) * 2013-11-11 2020-12-09 삼성전자주식회사 System on-chip having a symmetric multi-processor, and method of determining a maximum operating clock frequency for the same

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR880008188A (en) 1986-12-22 1988-08-30 엘리 와이스 Signal Conditioning Devices and Methods for Multiprocessor Systems
KR0145925B1 (en) 1995-01-27 1998-09-15 박성규 Interrupt control apparatus of computer
KR19990047715A (en) 1997-12-05 1999-07-05 유기범 User Program Loading Method of Standby Processor in Electronic Switching System
KR20000020328A (en) 1998-09-19 2000-04-15 윤종용 Electronic device having multiprocessor and method for debugging slave processor through master processor
KR20000044392A (en) 1998-12-30 2000-07-15 윤종용 Processors interface device
KR100390403B1 (en) 1999-10-21 2003-07-07 엘지전자 주식회사 Method for activating software processor in dual processor
KR20030089734A (en) 2002-05-18 2003-11-28 엘지전자 주식회사 A device and a method of duplicated processor board

Also Published As

Publication number Publication date
KR102406483B1 (en) 2022-06-10
KR20220083984A (en) 2022-06-21

Similar Documents

Publication Publication Date Title
KR102319803B1 (en) Electronic device, operating method thereof and recording medium
KR102449533B1 (en) Electronic device and method for controlling an execution of application in electronic device
KR20180042725A (en) Electronic device and method for playing multimedia content in the electronic device
KR102465543B1 (en) Method and electronic device controlling applications and components
KR20170046958A (en) Electronic apparatus and Method for executing function using speech recognition thereof
KR102387157B1 (en) Method for Managing Device and Electronic Device supporting the same
US10795720B2 (en) Electronic device for controlling application and operation method thereof
KR20160105242A (en) Apparatus and method for providing of screen mirroring service
KR20170092966A (en) Electronic device and method for establishing a connection with a external electronic device
KR20160101600A (en) Method and apparatus for providing of screen mirroring service
KR102416549B1 (en) A method for managing an application and an electronic device therefor
KR20160114930A (en) Module recognition method and electronic device performing thereof
KR102473790B1 (en) method for display time information in low power state and electronic device including the same
KR102358849B1 (en) Electronic device for providing information related to a smart watch and method for operating the same
KR20170050702A (en) Method for detecting gesture and electronic device implementing the same
KR20170007051A (en) Apparatus and Method for Providing Memo Function
KR20170081903A (en) Electronic device and method for operating thereof
KR20160104965A (en) Electronic device, operating method thereof and recording medium
KR20170109401A (en) Electronic device and controlling method thereof
KR20170017590A (en) Electric apparatus and method for performing connection between electric apparatuses
KR20170105262A (en) electronic device and method for acquiring biometric information thereof
KR20170105863A (en) Electronic device and method for controlling display thereof
KR20160112236A (en) Electronic device and method for controlling power
KR20180090484A (en) Electronic device and method for preventing current consumption in electronic device
KR20180089803A (en) Electronic apparatus and method for processing authentication

Legal Events

Date Code Title Description
A107 Divisional application of patent