KR102261009B1 - 멀티 코어 시스템 및 그 방법 - Google Patents

멀티 코어 시스템 및 그 방법 Download PDF

Info

Publication number
KR102261009B1
KR102261009B1 KR1020190077169A KR20190077169A KR102261009B1 KR 102261009 B1 KR102261009 B1 KR 102261009B1 KR 1020190077169 A KR1020190077169 A KR 1020190077169A KR 20190077169 A KR20190077169 A KR 20190077169A KR 102261009 B1 KR102261009 B1 KR 102261009B1
Authority
KR
South Korea
Prior art keywords
touch input
screen
core processor
input signal
touch
Prior art date
Application number
KR1020190077169A
Other languages
English (en)
Other versions
KR20210001288A (ko
Inventor
이진욱
임영현
Original Assignee
주식회사 텔레칩스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 텔레칩스 filed Critical 주식회사 텔레칩스
Priority to KR1020190077169A priority Critical patent/KR102261009B1/ko
Publication of KR20210001288A publication Critical patent/KR20210001288A/ko
Application granted granted Critical
Publication of KR102261009B1 publication Critical patent/KR102261009B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K35/00Arrangement of adaptations of instruments
    • B60K35/10
    • B60K35/22
    • B60K35/81
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • B60K2360/21
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K2370/00Details of arrangements or adaptations of instruments specially adapted for vehicles, not covered by groups B60K35/00, B60K37/00
    • B60K2370/10Input devices or features thereof
    • B60K2370/11Graphical user interfaces or menu aspects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K2370/00Details of arrangements or adaptations of instruments specially adapted for vehicles, not covered by groups B60K35/00, B60K37/00
    • B60K2370/10Input devices or features thereof
    • B60K2370/12Input devices or input features
    • B60K2370/143Touch sensitive input devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K2370/00Details of arrangements or adaptations of instruments specially adapted for vehicles, not covered by groups B60K35/00, B60K37/00
    • B60K2370/15Output devices or features thereof
    • B60K2370/152Displays
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K2370/00Details of arrangements or adaptations of instruments specially adapted for vehicles, not covered by groups B60K35/00, B60K37/00
    • B60K2370/20Optical features of instruments
    • B60K2370/21Optical features of instruments using cameras
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K2370/00Details of arrangements or adaptations of instruments specially adapted for vehicles, not covered by groups B60K35/00, B60K37/00
    • B60K2370/50Control arrangements; Data network features
    • B60K2370/52Control of displays

Abstract

멀티코어 시스템 및 그 방법이 제공된다. 이 시스템은 터치 스크린 화면의 사용자 인터페이스를 제어하는 화면 제어 프로그램 및 제1 커널 프로그램을 실행하는 제1 코어 프로세서, 상기 터치 스크린 화면의 일부 영역을 사용하는 어플리케이션 및 제2 커널 프로그램을 실행하고 상기 제1 코어 프로세서와 독립된 제2 코어 프로세서, 그리고 상기 제1 코어 프로세서와 상기 제2 코어 프로세서 간의 데이터 교환을 수행하는 프로세서간 통신부(IPC, Inter Process Communication)를 포함하고, 상기 제1 커널 프로그램은, 상기 터치 스크린 화면에서 감지된 터치 입력 신호를 상기 프로세서간 통신부로 바이패스(Bypass)하는 명령어들(Instructions)을 포함하고, 상기 제2 커널 프로그램은, 상기 프로세서간 통신부를 통해 상기 제1 커널 프로그램으로부터 바이패스된 터치 입력 신호를 수신하여 상기 어플리케이션으로 전달하는 명령어들을 포함한다.

Description

멀티 코어 시스템 및 그 방법{MULTI CORE SYSTEM AND METHOD THEREOF}
본 발명은 멀티 코어 시스템 및 그 방법에 관한 것으로서, 터치 스크린을 공유하는 멀티 코어 시스템에 관한 것이다.
멀티 코어 시스템은 두개 이상의 독립 코어를 단일 집적 회로로 이루어진 하나의 패키지로 통합한 것이다. 멀티 코어 시스템은 적어도 두개의 코어 프로세서를 포함한다.
멀티 코어 시스템에서는 하나의 코어 프로세서가 하드웨어 터치 UI(User Interface) 장치와 연결된다. 터치 UI 장치와 연결된 코어 프로세서가 대신 UI를 화면에 출력하고, 터치 입력이 발생하면, 이를 다른 코어 프로세서에게 알려주어 두개의 코어 프로세서가 하나의 터치 UI 장치를 공유한다.
기본적인 터치 입력 공유 방법은 제1 코어 프로세서가 하드웨어 화면 출력/입력 장치인 Touch/LCD(liquid crystal display)를 가지고 있고 제1 코어 프로세서에서 터치 입력이 제1 코어 프로세서의 영역인지 제2 코어 프로세서의 영역인지 구분한 후, 제2 코어 프로세서의 영역이면 터치 입력을 제2 코어 프로세서로 전달한다. 이러한 방식은 제1 코어 프로세서가 완전히 부팅하여 동작할때까지 제2 코어 프로세서는 이미 동작 준비가 되어 있더라도, 사용자는 제2 코어 프로세서를 컨트롤할 수 없다.
예를들어, 제1 코어 프로세서가 안드로이드(Android) OS(operating system)를 사용하는 경우, 부팅하는데만 수 분(miniute)이 사용된다. 그러면, 제2 코어 프로세서는 수 분 동안 대기 상태로 머물러야 한다.
또한, 제2 코어 프로세서가 가진 UI 기능을 변경하려면 제1 코어 프로세서가 제2 코어 프로세서의 UI를 제어하므로, 제1 코어 프로세서도 함께 변경해야 하므로, 개발 및 관리 비용이 크게 발생한다.
또한, 제2 코어 프로세서에 아무 문제가 없더라도 제1 코어 프로세서에 문제가 발생하면, 사용자는 제2 코어 프로세서의 기능을 사용할 수 없다.
이처럼, 제1 코어 프로세서와 제2 코어 프로세서는 서로 독립된 기능을 구현함에도 제1 코어 프로세서가 제2 코어 프로세서의 UI 기능까지 관장함에 따라 실질적으로는 제2 코어 프로세서는 제1 코어 프로세서에 종속되어 있다. 예를들어, 차량 전장을 총괄하는 제1 코어 프로세서와 후방 카메라 기능을 제어하는 제2 코어 프로세서가 있을 경우, 후방 카메라 기능은 사용자가 후진 기어를 입력후 바로 사용해야 하지만, 제1 코어 프로세서가 부팅되기 전에는 사용이 어렵다. 이로 인해, 후방 카메라 품질에 문제가 발생한다.
본 발명이 해결하고자 하는 과제는 물리적으로 하나의 터치 입력 장치를 독립된 프로세서들이 공유하는 멀티 코어 시스템 및 그 방법을 제공하는 것이다.
본 발명의 한 특징에 따르면, 멀티 코어 시스템은 터치 스크린 화면의 사용자 인터페이스를 제어하는 화면 제어 프로그램 및 제1 커널 프로그램을 실행하는 제1 코어 프로세서, 상기 터치 스크린 화면의 일부 영역을 사용하는 어플리케이션 및 제2 커널 프로그램을 실행하고 상기 제1 코어 프로세서와 독립된 제2 코어 프로세서, 그리고 상기 제1 코어 프로세서와 상기 제2 코어 프로세서 간의 데이터 교환을 수행하는 프로세서간 통신부(IPC, Inter Process Communication)를 포함하고, 상기 제1 커널 프로그램은, 상기 터치 스크린 화면에서 감지된 터치 입력 신호를 상기 프로세서간 통신부로 바이패스(Bypass)하는 명령어들(Instructions)을 포함하고, 상기 제2 커널 프로그램은, 상기 프로세서간 통신부를 통해 상기 제1 커널 프로그램으로부터 바이패스된 터치 입력 신호를 수신하여 상기 어플리케이션으로 전달하는 명령어들을 포함한다.
상기 멀티 코어 시스템은, 화면에 정보를 표시하는 표시 패널, 그리고 상기 제1 코어 프로세서와 연결되고, 상기 표시 패널로부터 감지한 터치 입력 신호를 상기 제1 코어 프로세서로 출력하는 터치 입력 감지 장치를 더 포함하고, 상기 제1 커널 프로그램은, 상기 터치 입력 신호를 상기 화면 제어 프로그램 및 상기 프로세서간 통신부로 출력하는 명령어들을 포함할 수 있다.
상기 제1 커널 프로그램은, 상기 제1 커널 프로그램에 장치명이 등록된 상기 터치 입력 감지 장치의 터치 입력 신호를 상기 프로세서간 통신부로 출력하는 명령어들을 포함하고, 상기 제2 커널 프로그램은, 상기 프로세서간 통신부로부터 상기 터치 입력 신호를 수신하고, 상기 터치 입력 신호를 상기 제2 커널 프로그램에 등록된 장치명 및 터치 좌표를 포함하는 터치 입력 신호로 변환하여 어플리케이션으로 전달하는 명령어들을 포함할 수 있다.
상기 제1 커널 프로그램은, 상기 화면 제어 프로그램의 부팅 전에 수신되는 터치 입력 신호를 상기 프로세서간 통신부로 바이패스하고, 상기 화면 제어 프로그램의 부팅 후에 수신되는 터치 입력 신호를 상기 프로세서간 통신부 및 상기 화면 제어 프로그램으로 각각 출력하는 명령어들을 포함할 수 있다.
상기 멀티 코어 시스템은, 상기 표시 패널의 출력을 제어하는 표시 제어부를 더 포함하고, 상기 표시 패널이 출력하는 화면은, 상기 제1 코어 프로세서가 관리하는 제1 영역과 상기 제2 코어 프로세서가 관리하는 제2 영역을 포함하고, 상기 표시 제어부는, 상기 제1 코어 프로세서 및 상기 제2 코어 프로세서와 각각 연결되고, 상기 제1 커널 프로그램으로부터 수신되는 화면 제어 신호에 따라 상기 제1 영역을 제어하고, 상기 제2 커널 프로그램으로부터 수신되는 화면 제어 신호에 따라 상기 제2 영역을 제어하며, 상기 화면 제어 프로그램은, 상기 제1 커널 프로그램으로부터 수신한 터치 입력 신호를 해석하여 산출된 터치 입력 좌표가 상기 제1 영역에 포함되지 않으면, 수신한 터치 입력 신호를 무시하는 명령어들을 포함할 수 있다.
상기 어플리케이션은, 상기 제2 커널 프로그램으로부터 수신한 터치 입력 신호를 해석하여 터치 입력 좌표를 계산하고, 상기 터치 입력 좌표가 상기 제1 영역에 포함되면 상기 터치 입력 신호를 무시하고, 상기 터치 입력 좌표가 상기 제2 영역에 포함되면 상기 터치 입력 좌표에 정의된 화면 제어 신호를 생성하여 상기 제2 커널 프로그램으로 출력하는 명령어들을 포함할 수 있다.
상기 어플리케이션은, 상기 제2 영역에 터치 입력 인터페이스를 출력하는 화면 제어 신호를 생성하고, 상기 터치 입력 좌표가 상기 터치 입력 인터페이스에 포함되면, 상기 터치 입력 좌표에 정의된 어플리케이션 기능을 실행하는 명령어들을 포함할 수 있다.
상기 제1 코어 프로세서는, 차량의 IVI(In-Vehicle Infotainment) 시스템을 실행하고, 상기 제2 코어 프로세서는, 상기 IVI 시스템과 독립된 차량 내 부가 시스템을 실행할 수 있다.
상기 부가 시스템은, 후방 카메라와 연결되어 차량 부가 기능을 제공하는 시스템을 포함할 수 있다.
본 발명의 다른 특징에 따르면, 차량 전장용 멀티 코어 시스템으로서, 하나의 화면에 IVI(In-Vehicle Infotainment) 시스템 화면 및 부가 시스템 화면을 구분하여 출력하는 터치 스크린 장치, 상기 IVI 시스템 화면 및 상기 터치 스크린 장치의 입력 인터페이스를 제어하는 화면 제어 프로그램 및 제1 커널 프로그램을 실행하는 제1 코어 프로세서, 상기 부가 시스템 화면을 제어하는 어플리케이션 및 제2 커널 프로그램을 실행하고 상기 제1 코어 프로세서와 독립된 제2 코어 프로세서, 그리고 상기 제1 코어 프로세서와 상기 제2 코어 프로세서 간의 데이터 교환을 수행하는 프로세서간 통신부(IPC, Inter Process Communication)를 포함하고, 상기 제1 커널 프로그램은, 상기 터치 스크린 장치로부터 수신되는 터치 입력 신호를 상기 프로세서간 통신부로 바이패스(Bypass)하는 명령어들(Instructions)을 포함하고, 상기 제2 커널 프로그램은, 상기 프로세서간 통신부를 통해 상기 제1 커널 프로그램으로부터 바이패스된 터치 입력 신호를 상기 어플리케이션으로 전달하는 명령어들을 포함한다.
상기 터치 스크린 장치는, 화면에 정보를 표시하는 표시 패널, 상기 제1 코어 프로세서와 연결되고, 상기 표시 패널로부터 감지한 터치 입력 신호를 상기 제1 코어 프로세서로 출력하는 터치 입력 감지 장치, 그리고 상기 제1 코어 프로세서 및 상기 제2 코어 프로세서와 각각 연결되고, 상기 제1 커널 프로그램으로부터 수신되는 화면 제어 신호 및 상기 제2 커널 프로그램으로부터 수신되는 화면 제어 신호에 따라 상기 표시 패널의 출력을 제어하는 표시 제어부를 더 포함하고, 상기 제1 커널 프로그램은, 상기 터치 입력 감지 장치로부터 수신된 터치 입력 신호를 상기 프로세서간 통신부로 바이패스하는 명령어들을 포함할 수 있다.
상기 제1 커널 프로그램은, 상기 제1 커널 프로그램에 등록된 상기 터치 입력 감지 장치의 터치 입력 신호를 상기 프로세서간 통신부를 통하여 상기 제2 커널 프로그램으로 출력하는 명령어들을 포함하고, 상기 제2 커널 프로그램은, 상기 프로세서간 통신부로부터 수신한 터치 입력 신호를 상기 제2 커널 프로그램에 등록된 상기 터치 입력 감지 장치의 장치명을 포함하는 터치 입력 신호로 변환하고, 변환된 터치 입력 신호를 상기 제2 커널 프로그램에 등록된 어플리케이션으로 전달하는 명령어들을 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 동일한 화면의 분리된 영역을 제어하고 서로 독립된 제1 코어 프로세서와 제2 코어 프로세서가 프로세서간 통신(IPC, Inter Process Communication)을 통해 연동하는 멀티 코어 시스템에서, 상기 제1 코어 프로세서의 동작 방법으로서, 터치 스크린 장치로부터 터치 입력 신호를 감지하는 단계, 그리고 상기 프로세서간 통신을 통하여 상기 터치 입력 신호를 상기 제2 코어 프로세서로 바이패스하는 단계를 포함하고, 상기 제2 코어 프로세서는, 상기 터치 입력 신호를 해석하고 터치 입력 좌표가 자신이 관리하는 영역에 포함되면, 상기 터치 입력 좌표에 대응하는 동작을 실행하거나 또는 화면 제어 신호를 생성하여 상기 터치 스크린 장치로 출력한다.
상기 제1 코어 프로세서는, 상기 터치 스크린 장치의 입력 인터페이스 및 출력 인터페이스와 모두 연결되고, 상기 제2 코어 프로세서는, 상기 터치 스크린 장치의 출력 인터페이스와 연결되며, 상기 터치 입력 신호를 상기 제1 코어 프로세서로부터 상기 프로세서간 통신을 통해 수신할 수 있다.
상기 제1 코어 프로세서가 상기 터치 스크린 장치로부터 수신하는 터치 입력 신호는, 상기 제1 코어 프로세서의 제1 커널 프로그램에 등록된 상기 터치 스크린 장치의 장치명을 포함하고, 상기 제2 코어 프로세서는, 상기 프로세서간 통신을 통해 수신한 터치 입력 신호의 장치명을 상기 제2 커널 프로그램에 등록된 터치 스크린 장치의 장치명으로 변환하여, 상기 터치 입력 신호를 상기 터치 스크린 장치로부터 직접 수신한 것으로 인식할 수 있다.
본 발명의 실시예에 따르면, 각각의 운영 체제로 동작하는 서로 독립된 멀티 코어 프로세서가 물리적으로 하나의 터치 입력 장치를 마치 각각의 코어 프로세서에 독립된 터치 입력 장치가 있는 것과 유사한 환경을 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 멀티 코어 시스템의 구성을 나타낸 블록도이다.
도 2는 본 발명의 실시예에 따른 터치 스크린 화면의 예시이다.
도 3은 본 발명의 실시예를 설명하기 위한 종래의 터치 입력 전달 과정을 나타낸다.
도 4는 본 발명의 실시예를 설명하기 위한 터치 스크린 화면의 예시이다.
도 5는 본 발명의 실시예에 따른 터치 입력 전달 과정을 나타낸다.
도 6은 본 발명의 실시예에 따른 터치 좌표 연산을 설명하는 도면이다.
도 7은 본 발명의 실시예에 따른 메일 박스 데이터를 설명하는 도면이다.
도 8은 본 발명의 다른 실시예에 따른 터치 스크린 화면의 예시이다.
도 9는 본 발명의 또 다른 실시예에 따른 터치 스크린 화면의 예시이다.
도 10은 본 발명의 한 실시예에 따른 터치 입력 전달에 따른 화면 제어 방법을 나타낸 흐름도이다.
도 11은 본 발명의 다른 실시예에 따른 터치 입력 전달에 따른 화면 제어 방법을 나타낸 흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 발명에서 설명하는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도면들을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다.
본 명세서에서 "전송 또는 제공" 은 직접적인 전송 또는 제공하는 것 뿐만 아니라 다른 장치를 통해 또는 우회 경로를 이용하여 간접적으로 전송 또는 제공도 포함할 수 있다.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
본 명세서에서 도면에 관계없이 동일한 도면번호는 동일한 구성요소를 지칭하며, "및/또는" 은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함한다.
도면을 참고하여, 본 발명의 실시예에 따른 멀티 코어 시스템 및 그 방법에 대하여 설명한다.
도 1은 본 발명의 실시예에 따른 멀티 코어 시스템의 구성을 나타낸 블록도이고, 도 2는 본 발명의 실시예에 따른 터치 스크린 화면의 예시이다.
도 1을 참조하면, 멀티 코어 시스템은 제1 코어 프로세서(100), 제2 코어 프로세서(200), 프로세서간 통신(Inter Process Communication, 이하, 'IPC'라 통칭함) 디바이스(300) 및 터치 스크린 장치(400)를 포함한다.
제1 코어 프로세서(100)는 제1 커널(101) 및 화면 UI(User Interface) 제어부(103)를 실행한다. 제1 커널(101)은 터치 스크린 화면에서 감지된 터치 입력 신호를 IPC 디바이스(300)의 메일 박스(Mailbox)(301)로 바이패스(Bypass)한다.
화면 UI 제어부(103)는 터치 스크린 화면의 사용자 인터페이스를 제어한다.
제2 코어 프로세서(200)는 제2 커널(201) 및 어플리케이션(203)을 실행한다. 제2 커널(201)은 IPC 디바이스(300)의 메일 박스(301)로부터 바이패스된 터치 입력 신호를 수신하여 어플리케이션(203)으로 전달한다.
어플리케이션(203)은 터치 스크린 화면의 일부 영역을 사용하여 소정의 기능을 실행한다.
제1 코어 프로세서(100), 제2 코어 프로세서(200)는 서로 독립된 운영 체제(OS)를 사용한다. 이때, 제1 코어 프로세서(100)가 메인 프로세서이고, 제2 코어 프로세서(200)는 서브 프로세서일 수 있다. 그러나, 여기서 메인과 서브는 종속된 구조를 의미하는 것은 아니며, 주된 기능의 실행 여부를 나타낸다.
제1 코어 프로세서(100), 제2 코어 프로세서(200)는 IPC 디바이스(300)를 통해 상호 정보를 교환한다.
터치 스크린 장치(400)는 표시 패널(401), 터치 입력 감지부(403) 및 표시 제어부(405)를 포함한다. 표시 패널(401)은 화면에 정보를 표시한다. 여기서, 화면은 도 2와 같이 제1 코어 프로세서(100)가 관리하는 제1 영역(A)과 제2 코어 프로세서(200)가 관리하는 제2 영역(B)을 포함한다.
터치 입력 감지부(403)는 제1 코어 프로세서(100)와 연결되고, 표시 패널(401)로부터 감지한 터치 입력 신호를 제1 코어 프로세서(100)로 출력한다. 이때, 터치 입력 감지부(403)는 제1 코어 프로세서(100)에만 연결되어 있다.
표시 제어부(405)는 표시 패널(401)의 출력을 제어한다. 이때, 표시 제어부(405)는 제1 코어 프로세서(100) 및 제2 코어 프로세서(200)와 각각 연결된다. 표시 제어부(405)는 제1 커널(101)로부터 수신되는 화면 제어 신호에 따라 제1 영역(A)을 제어한다. 표시 제어부(405)는 제2 커널(201)로부터 수신되는 화면 제어 신호에 따라 제2 영역(B)을 제어한다.
여기서, 터치 입력 감지부(403)와 표시 제어부(405)는 별개의 하드웨어로 구성된다. 따라서, 터치 입력 감지부(403)는 제1 코어 프로세서(100)에만 연결되어 있다. 제1 코어 프로세서(100)와 제2 코어 프로세서(200)가 사용하는 화면 영역이 A와 B로 서로 다름에도, B 영역에서 발생한 터치 입력도 제1 코어 프로세서(100)로로 전달이 된다. 이에 대해 보다 자세히 설명하면 다음과 같다.
도 3은 본 발명의 실시예를 설명하기 위한 종래의 터치 입력 전달 과정을 나타내고, 도 4는 본 발명의 실시예를 설명하기 위한 터치 스크린 화면의 예시이다.
도 3을 참조하면, 터치 입력 감지부(403)가 제2 영역(B)에서 터치 입력을 감지하면, 터치 입력 감지부(403)는 터치 입력(B)을 제1 커널(101)로 출력한다. 제1 커널(101)은 터치 입력(B)을 화면 UI 제어부(103)로 전달한다.
화면 UI 제어부(103)는 터치 입력(B)을 해석하여, 터치 입력 좌표를 계산한다. 이때, 터치 입력 좌표가 자신이 관리하는 제1 영역(A)이 아닌 제2 영역(B)이므로, 이를 다시 제1 커널(101)로 반환한다.
제1 커널(101)은 터치 입력(B)을 메일 박스(301)로 전달한다. 메일 박스(301)는 제1 프로세서(100)와 제2 프로세서(200) 사이에서 전송되는 데이터 패킷들이 저장되는 공유 저장 영역 및 제1 프로세서(100)와 제2 프로세서(200) 사이에서 전송되는 메시지를 저장하는 영역이다.
제2 커널(201)은 메일 박스(301)로부터 터치 입력(B)을 수신하여 어플리케이션(203)에 전달한다. 어플리케이션(203)은 터치 입력(B)을 해석하여, 터치 입력 좌표를 계산한다. 그리고 터치 입력 좌표에 상응하는 화면 제어 신호를 표시 제어부(405)로 출력하거나 또는 어플리케이션 기능을 실행한다.
이처럼, 터치 입력(B)은 일단 제1 커널(101)을 거쳐 화면 UI 제어부(103)로 전달된다. 그리고 화면 UI 제어부(103)에 의해 그 터치 입력(B)이 제2 프로세서(200)로 가야하는지가 판단된다. 만약, 화면 UI 제어부(103)가 동작하지 않으면, 제2 프로세서(200) 역시 화면을 제어할 수 없다.
이때, 제2 코어 프로세서(200)의 어플리케이션(203)은 부팅 시간이 화면 UI 제어부(103)에 상대적으로 매우 작은 규모의 프로그램으로서, 부팅시간이 짧고 사용자에게 1~2초안에 서비스를 해야하는 어플리케이션이거나 또는 하드웨어와 바로 연동하는 어플리케이션일 수 있다. 예를들어, 자동차 시동을 켠 후 바로 작동해야 하는 후방 카메라 어플리케이션일 수 있다. 그러나, 이러한 내용으로 국한되는 것은 아니다.
따라서, 도 4와 같이, 제1 영역(A)은 부팅이 완료되지 않은 검은 화면이 나타나고, 제2 영역(B)만 정상 상태가 될 수 있다. 이런 경우, 제2 영역(B)이 정상 상태로 표시되었음에도, 터치 입력은 제1 코어 프로세서(100)에서 관장함으로, 제2 영역(B)의 터치 입력은 정상적으로 수행될 수 없다.
이러한 문제를 해결하기 위해서, 본 발명의 실시예에서는 도 5와 같이 터치 입력을 전달한다.
도 5는 본 발명의 실시예에 따른 터치 입력 전달 과정을 나타내고, 도 6은 본 발명의 실시예에 따른 터치 좌표 연산을 설명하는 도면이고, 도 7은 본 발명의 실시예에 따른 메일 박스 데이터를 설명하는 도면이며, 도 8은 본 발명의 다른 실시예에 따른 터치 스크린 화면의 예시이며, 도 9는 본 발명의 또 다른 실시예에 따른 터치 스크린 화면의 예시이다.
먼저, 도 5를 참조하면, 터치 입력 감지부(403)는 터치 입력(B)이 발생하면, 이를 제1 커널(101)로 출력한다. 제1 커널(101)은 터치 입력(B)을 메일 박스(301)로 바로 바이패스한다. 물론, 이때, 터치 입력(B)을 화면 UI 제어부(103)에도 전달한다.
제2 커널(201)은 메일 박스(301)로부터 터치 입력(B)을 수신하여 어플리케이션(203)으로 전달한다.
터치 입력 감지부(403)가 제1 커널(101)로 출력하는 터치 입력(B)은 로(RAW) 데이터이므로, 이를 화면 UI 제어부(103)에 바로 전달하면, 화면 UI 제어부(103)가 사용할 수 없다. 로 데이터는 터치 입력 감지(403)의 제조사마다 데이터 형식 또는 데이터 타입이 다르기 때문이다.
도 6을 참조하면, 터치 스크린의 예시로서, LCD(liquid crystal display)를 나타내었다. LCD의 픽셀 크기가 1024(가로=X)×768(세로=Y)이면, 터치 좌표(X, Y)는 (0,0) ~ (1024, 768)이어야 화면 UI 제어부(103), 어플리케이션(203)에서 터치 좌표(X, Y)를 사용할 수 있다.
응용 어플리케이션인 화면 UI 제어부(103), 어플리케이션(203)은 터치 좌표(X, Y)와 눌림(Press)에 대한 정보만 필요하다. 여기서, 눌림(Press) 정보는 2개이상의 멀티 터치를 구별하는 고유값을 포함할 수 있다. 고유값은 사용자가 터치한 죄표값과 1 이상의 터치 ID값으로서, 터치할때마다 증가한다. 즉, 같은 지점을 터치하면 좌표값은 동일하고 터치 ID값은 1에서 2로 증가한다.
그런데, 터치 입력 감지부(403)가 제1 커널(101)에 전달하는 터치 입력은 로(RAW) 값으로 제조사 별로 정의된 포맷의 8비트(bit)의 단위의 데이터로 되어 있다. 따라서, 제1 커널(101)은 이러한 터치 입력을 윈도우 장치 디바이스 드라이버와 같이 리눅스 기능을 이용하여 범용적인 포맷으로 변환한다. 여기서, 범용적인 포맷은 응용 어플리케이션(103)에서 사용할 수 있도록 터치 좌표(X, Y)와 눌림(Press)에 대한 정보(도 7의 터치 데이터)로 구성된 것이라 할 수 있다.
이처럼, 변환된 터치 입력을 제1 커널(101)은 메일 박스(301)로 전달한다. 그러면, 메일 박스(301)가 이를 제2 커널(201)로 전달한다. 그런데, 도 7에 도시한 바와 같이, 메일 박스(301)로부터 제2 커널(201)로 출력되는 터치 데이터의 형태가 변형된다. 즉, 메일 박스 데이터는 응용 어플리케이션(203)에서 사용할 수 있는 터치 데이터(X, Y, Press)에, 헤더, 제로값들과 같은 메일박스 고유 데이터가 추가된 다. 따라서, 제2 커널(201)은 메일 박스 데이터에서 터치 데이터(X, Y, Press)만 추출하여, 이를 기초로 터치 입력을 생성하여 어플리케이션(203)으로 출력한다.
이와 같이, 제1 커널(101)은 로 데이터를 리눅스 표준 포맷의 터치 입력(B)으로 변환한다. 변환된 터치 입력(B)은 리눅스 표준에 따른 장치명과 터치 좌표를 포함한다.
여기서, 장치명은 "/dev/input/touchscreen"과 같을 수 있다.
제1 커널(101)은 리눅스 표준 포맷으로 변환된 터치 입력(B)을 메일박스(301)로 바이패스한다. 이때, 터치 입력(B)은 메일박스(301)로 바이패스되면서, 데이터의 변조가 발생한다. 제2 커널(201)은 메일박스(301)로부터 터치 입력(B)을 수신한다. 그러나 메일박스(301)에 전달시 터치 입력(B)이 변조되었으므로, 이를 어플리케이션(203)에서 바로 사용할 수는 없다. 따라서, 제2 커널(201)은 터치 입력(B)을 제1 커널(101)과 마찬가지로 리눅스 표준에 따른 장치명과 터치 좌표를 포함하는 포맷으로 변환한다. 이때, 장치명은 "/dev/input/touchscreen"과 같으며, 제1 커널(101)에 등록된 장치명과 동일할 수도 있지만, 다를 수도 있다.
제2 커널(201)은 이처럼 리눅스 표준 포맷으로 변환한 터치 입력(B)을 어플리케이션(203)으로 출력한다. 그러면, 어플리케이션(203)은 이 터치 입력(B)이 터치 입력 감지부(403)로부터 직접 수신된 것으로 인식한다. 즉, 물리적으로 직접 연결된 것으로 인식하므로, 마치 가상의 터치 입력 장치가 연결된 것과 같은 효과를 제공한다.
어플리케이션(203)은 터치 입력(B)에 대응하는 UI 출력(B)을 제2 커널(201)로 출력한다. 제2 커널(201)은 UI 출력(B)을 표시 제어부(405)로 출력한다. 따라서, 제1 코어 프로세서(100)가 부팅이 되기 전이라도, 이에 상관없이 제2 코어 프로세서(200)는 터치 스크린의 터치 입력 및 화면 제어 기능을 사용할 수 있게 된다.
본 발명의 한 실시예에 따르면, 이상 설명한 멀티 코어 시스템을 차량의 전장 코어 시스템에 적용할 수 있다. 이때, 제1 코어 프로세서(100)는 차량 전장을 총괄하는 메인 프로세서이고, 제2 코어 프로세서(200)는 후방 카메라와 같은 부가 시스템을 실행하는 서브 프로세서일 수 있다.
이때, 터치 스크린은 도 8과 같이, IVI(In-Vehicle Infotainment) 시스템 화면과 후방 카메라 화면을 출력할 수 있다. 즉, 하나의 화면을 구획하여, 한 영역은 IVI 시스템 화면(A)을 출력하고, 다른 영역은 후방 카메라 화면(B)을 출력할 수 있다.
이때, 후방 카메라 화면(B)에는 터치 입력 UI(C)를 표시할 수 있다. 만약, 터치 입력 UI(C)에서 터치 입력이 발생하면, 이 터치 입력은 제1 커널(101) → 메일 박스(301) → 제2 커널(201)을 거쳐 어플리케이션(203)으로 전달된다. 어플리케이션(203)은 터치 입력에 해당하는 좌표를 계산하여, 그 좌표에 정의된 기능을 실행할 수 있다. 따라서, 후방 카메라 화면에 IVI 시스템 화면과 별개의 가상의 터치 UI도 구현할 수가 있다.
또한, 도 9와 같이, 제1 코어 프로세서(100)가 부팅되기 전에 A 영역은 검은 화면이 표출되더라도, B 영역은 정상적으로 동작하므로, 후진 기어를 넣자마자 바로 후방 카메라 기능을 사용할 수가 있게 된다.
도 10은 본 발명의 한 실시예에 따른 터치 입력 전달에 따른 화면 제어 방법을 나타낸 흐름도로서, 도 1 내지 도 9에서 설명한 내용을 기초로 하며 동일한 구성에 대한 설명은 동일한 도면 부호를 사용한다.
이때, 도 10은 제1 코어 프로세서(100)가 완전히 부팅이 되기 전에 터치 입력 신호가 바이패스되는 경우를 실시예로 설명한다. 이 경우, 화면 UI 제어부(103)가 부팅 되기 전이므로, 터치 입력 신호는 IPC 디바이스(300)로만 바이패스된다.
도 10을 참조하면, 터치 입력 감지부(403)는 표시 패널(401)로부터 터치 입력 신호가 감지(S101)되면, 터치 입력 신호를 제1 커널(101)로 출력한다(S103).
제1 커널(101)은 터치 입력 신호를 IPC 디바이스(300)로 바이패스한다(S105). IPC 디바이스(300)로 바이패스된 터치 입력 신호는 제2 커널(301)로 전달된다(S107).
제2 커널(301)은 터치 입력 신호를 어플리케이션(203)으로 출력한다(S109).
어플리케이션(203)은 터치 입력 신호를 해석(S111)하고, 해석 결과에 따른 화면 제어 신호를 생성(S113)하여 제2 커널(201)로 출력한다(S115).
제2 커널(201)은 화면 제어 신호를 표시 제어부(405)로 출력한다(S117).
표시 제어부(405)는 화면 제어 신호에 따라 화면 UI를 표시 패널(401)에 출력한다(S119).
도 11은 본 발명의 다른 실시예에 따른 터치 입력 전달에 따른 화면 제어 방법을 나타낸 흐름도로서, 도 1 내지 도 9에서 설명한 내용을 기초로 하며 동일한 구성에 대한 설명은 동일한 도면 부호를 사용한다.
이때, 도 11은 제1 코어 프로세서(100)가 완전히 부팅 된 이후의 동작이다. 따라서, 터치 입력 신호는 IPC 디바이스(300)로 바이패스되고, 동시에 화면 UI 제어부(103)로도 출력된다.
도 11을 참조하면, 터치 입력 감지부(103)는 표시 패널(401)로부터 터치 입력 신호가 감지(S201)되면, 터치 입력 신호를 제1 커널(101)로 출력한다(S203).
제1 커널(101)은 터치 입력 신호를 IPC 디바이스(300)로 바이패스(S205)하고, 더불어 화면 UI 제어부(103)로 출력한다(S207).
바이패스(S205)된 터치 입력 신호는 제2 커널(201)로 전달된다(S209). 제2 커널(201)은 터치 입력 신호를 어플리케이션(203)으로 전달한다(S211).
어플리케이션(203)은 터치 입력 신호를 해석(S213)하여, 터치 입력 좌표가 자신이 관리하는 B 영역에 해당하는지 판단한다(S215).
B 영역에 해당되면, 터치 입력 좌표에 상응하는 기능을 실행하거나 또는 화면 제어 신호(B)를 출력한다(S217). 화면 제어 신호(B)가 출력되면, 이는 제2 커널(201)을 통해 표시 제어부(405)로 전달된다(S219, S221).
만약, B 영역에 해당되지 않으면, 어플리케이션(203)은 터치 입력 신호를 무시한다(S223).
또한, 화면 UI 제어부(103)는 터치 입력 신호를 해석(S225)하여, 터치 입력 좌표가 자신이 관리하는 A 영역인지 판단한다(S227). 이때, A 영역에 해당되면, 터치 입력 좌표에 상응하는 기능을 실행하거나 화면 제어 신호(A)를 출력한다(S229).
화면 UI 제어부(103)가 출력하는 화면 제어 신호(A)는 제1 커널(101)을 거쳐 표시 제어부(405)로 전달된다(S231, S233).
반면, A 영역에 해당되지 않으면, 터치 입력 신호를 무시한다(S235). 이는 종래에는 A 영역에 해당되지 않으면, 터치 입력 신호를 제2 커널로 전달하였던것과 달라진 구성이다.
화면 UI 제어부(103)는 S233 단계에서 수신된 화면 제어 신호(A) 또는/및 S221 단계에서 수신된 화면 제어 신호(B)에 따라 각 영역에 화면 UI를 출력한다(S237).
이상 기술한 바에 따르면, 물리적으로 터치 스크린 장치(400)는 하나이지만, 코어 프로세서들(100, 200)은 각각 독립된 터치 스크린 장치(400)가 연결된 것으로 인식하게 된다. 특히, 제2 코어 프로세서(200)의 경우, 실제로는 터치 스크린 장치(400), 즉, 터치 입력 감지부(403)와 연결되지 않았음에도, 터치 입력 신호를 제1 커널(101)을 통해 직접 수신하므로, 가상의 터치 스크린이 있는 것처럼 동작하게 된다. 따라서, 제1 코어 프로세서(100)의 어플리케이션이 작동하지 않아도 제2 코어 프로세서(200)에서 동작하는 어플리케이션은 전혀 영향을 받지 않는다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (15)

  1. 터치 스크린 화면의 사용자 인터페이스를 제어하는 화면 제어 프로그램 및 제1 커널 프로그램을 실행하는 제1 코어 프로세서,
    상기 터치 스크린 화면의 일부 영역을 사용하는 어플리케이션 및 제2 커널 프로그램을 실행하고 상기 제1 코어 프로세서와 독립된 제2 코어 프로세서, 그리고
    상기 제1 코어 프로세서와 상기 제2 코어 프로세서 간의 데이터 교환을 수행하는 프로세서간 통신부(IPC, Inter Process Communication)를 포함하고,
    상기 제1 커널 프로그램은,
    상기 화면 제어 프로그램의 부팅 전에 상기 터치 스크린 화면에서 감지된 터치 입력 신호를 상기 프로세서간 통신부로 바이패스(Bypass)하는 명령어들(Instructions)을 포함하고,
    상기 제2 커널 프로그램은,
    상기 화면 제어 프로그램의 부팅 전에 상기 프로세서간 통신부를 통해 상기 제1 커널 프로그램으로부터 바이패스된 터치 입력 신호를 수신하여 상기 어플리케이션으로 전달하는 명령어들을 포함하는, 멀티 코어 시스템.
  2. 제1항에서,
    화면에 정보를 표시하는 표시 패널, 그리고
    상기 제1 코어 프로세서와 연결되고, 상기 표시 패널로부터 감지한 터치 입력 신호를 상기 제1 코어 프로세서로 출력하는 터치 입력 감지 장치를 더 포함하고,
    상기 제1 커널 프로그램은,
    상기 터치 입력 신호를 상기 화면 제어 프로그램 및 상기 프로세서간 통신부로 출력하는 명령어들을 포함하는, 멀티 코어 시스템.
  3. 제2항에서,
    상기 제1 커널 프로그램은,
    상기 제1 커널 프로그램에 장치명이 등록된 상기 터치 입력 감지 장치의 터치 입력 신호를 상기 프로세서간 통신부로 출력하는 명령어들을 포함하고,
    상기 제2 커널 프로그램은,
    상기 프로세서간 통신부로부터 상기 터치 입력 신호를 수신하고, 상기 터치 입력 신호를 상기 제2 커널 프로그램에 등록된 장치명 및 터치 좌표를 포함하는 터치 입력 신호로 변환하여 어플리케이션으로 전달하는 명령어들을 포함하는, 멀티 코어 시스템.
  4. 제2항에서,
    상기 제1 커널 프로그램은,
    상기 화면 제어 프로그램의 부팅 후에 수신되는 터치 입력 신호를 상기 프로세서간 통신부 및 상기 화면 제어 프로그램으로 각각 출력하는 명령어들을 포함하는, 멀티 코어 시스템.
  5. 제4항에서,
    상기 표시 패널의 출력을 제어하는 표시 제어부를 더 포함하고,
    상기 표시 패널이 출력하는 화면은,
    상기 제1 코어 프로세서가 관리하는 제1 영역과 상기 제2 코어 프로세서가 관리하는 제2 영역을 포함하고,
    상기 표시 제어부는,
    상기 제1 코어 프로세서 및 상기 제2 코어 프로세서와 각각 연결되고, 상기 제1 커널 프로그램으로부터 수신되는 화면 제어 신호에 따라 상기 제1 영역을 제어하고, 상기 제2 커널 프로그램으로부터 수신되는 화면 제어 신호에 따라 상기 제2 영역을 제어하며,
    상기 화면 제어 프로그램은,
    상기 제1 커널 프로그램으로부터 수신한 터치 입력 신호를 해석하여 산출된 터치 입력 좌표가 상기 제1 영역에 포함되지 않으면, 수신한 터치 입력 신호를 무시하는 명령어들을 포함하는, 멀티 코어 시스템.
  6. 제5항에서,
    상기 어플리케이션은,
    상기 제2 커널 프로그램으로부터 수신한 터치 입력 신호를 해석하여 터치 입력 좌표를 계산하고, 상기 터치 입력 좌표가 상기 제1 영역에 포함되면 상기 터치 입력 신호를 무시하고, 상기 터치 입력 좌표가 상기 제2 영역에 포함되면 상기 터치 입력 좌표에 정의된 화면 제어 신호를 생성하여 상기 제2 커널 프로그램으로 출력하는 명령어들을 포함하는, 멀티 코어 시스템.
  7. 제6항에서,
    상기 어플리케이션은,
    상기 제2 영역에 터치 입력 인터페이스를 출력하는 화면 제어 신호를 생성하고, 상기 터치 입력 좌표가 상기 터치 입력 인터페이스에 포함되면, 상기 터치 입력 좌표에 정의된 어플리케이션 기능을 실행하는 명령어들을 포함하는, 멀티 코어 시스템.
  8. 제5항에서,
    상기 제1 코어 프로세서는, 차량의 IVI(In-Vehicle Infotainment) 시스템을 실행하고,
    상기 제2 코어 프로세서는, 상기 IVI 시스템과 독립된 차량 내 부가 시스템을 실행하는, 멀티 코어 시스템.
  9. 제8항에서,
    상기 부가 시스템은,
    후방 카메라와 연결되어 차량 부가 기능을 제공하는 시스템을 포함하는, 멀티 코어 시스템.
  10. 차량 전장용 멀티 코어 시스템으로서,
    하나의 화면에 IVI(In-Vehicle Infotainment) 시스템 화면 및 부가 시스템 화면을 구분하여 출력하는 터치 스크린 장치,
    상기 IVI 시스템 화면 및 상기 터치 스크린 장치의 입력 인터페이스를 제어하는 화면 제어 프로그램 및 제1 커널 프로그램을 실행하는 제1 코어 프로세서,
    상기 부가 시스템 화면을 제어하는 어플리케이션 및 제2 커널 프로그램을 실행하고 상기 제1 코어 프로세서와 독립된 제2 코어 프로세서, 그리고
    상기 제1 코어 프로세서와 상기 제2 코어 프로세서 간의 데이터 교환을 수행하는 프로세서간 통신부(IPC, Inter Process Communication)를 포함하고,
    상기 제1 커널 프로그램은,
    상기 화면 제어 프로그램의 부팅 전에 상기 터치 스크린 장치로부터 수신되는 터치 입력 신호를 상기 프로세서간 통신부로 바이패스(Bypass)하는 명령어들(Instructions)을 포함하고,
    상기 제2 커널 프로그램은,
    상기 화면 제어 프로그램의 부팅 전에 상기 프로세서간 통신부를 통해 상기 제1 커널 프로그램으로부터 바이패스된 터치 입력 신호를 상기 어플리케이션으로 전달하는 명령어들을 포함하는, 차량 전장용 멀티 코어 시스템.
  11. 제10항에서,
    상기 터치 스크린 장치는,
    화면에 정보를 표시하는 표시 패널,
    상기 제1 코어 프로세서와 연결되고, 상기 표시 패널로부터 감지한 터치 입력 신호를 상기 제1 코어 프로세서로 출력하는 터치 입력 감지 장치, 그리고
    상기 제1 코어 프로세서 및 상기 제2 코어 프로세서와 각각 연결되고, 상기 제1 커널 프로그램으로부터 수신되는 화면 제어 신호 및 상기 제2 커널 프로그램으로부터 수신되는 화면 제어 신호에 따라 상기 표시 패널의 출력을 제어하는 표시 제어부를 더 포함하고,
    상기 제1 커널 프로그램은,
    상기 터치 입력 감지 장치로부터 수신된 터치 입력 신호를 상기 프로세서간 통신부로 바이패스하는 명령어들을 포함하는, 차량 전장용 멀티 코어 시스템.
  12. 제11항에서,
    상기 제1 커널 프로그램은,
    상기 제1 커널 프로그램에 등록된 상기 터치 입력 감지 장치의 터치 입력 신호를 상기 프로세서간 통신부를 통하여 상기 제2 커널 프로그램으로 출력하는 명령어들을 포함하고,
    상기 제2 커널 프로그램은,
    상기 프로세서간 통신부로부터 수신한 터치 입력 신호를 상기 제2 커널 프로그램에 등록된 상기 터치 입력 감지 장치의 장치명을 포함하는 터치 입력 신호로 변환하고, 변환된 터치 입력 신호를 상기 제2 커널 프로그램에 등록된 어플리케이션으로 전달하는 명령어들을 포함하는, 차량 전장용 멀티 코어 시스템.
  13. 동일한 화면의 분리된 영역을 제어하고 서로 독립된 제1 코어 프로세서와 제2 코어 프로세서가 프로세서간 통신(IPC, Inter Process Communication)을 통해 연동하는 멀티 코어 시스템에서, 상기 제1 코어 프로세서의 동작 방법으로서,
    화면 제어 프로그램의 부팅 전에 터치 스크린 장치로부터 터치 입력 신호를 감지하는 단계, 그리고
    상기 프로세서간 통신을 통하여 상기 터치 입력 신호를 상기 제2 코어 프로세서로 바이패스하는 단계를 포함하고,
    상기 제2 코어 프로세서는,
    상기 터치 입력 신호를 해석하고 터치 입력 좌표가 자신이 관리하는 영역에 포함되면, 상기 터치 입력 좌표에 대응하는 동작을 실행하거나 또는 화면 제어 신호를 생성하여 상기 터치 스크린 장치로 출력하고,
    상기 터치 스크린 장치는,
    상기 제1 코어 프로세서에 단독으로 연결되고,
    상기 화면 제어 프로그램은,
    터치 스크린 화면의 사용자 인터페이스를 제어하고 상기 제1 코어 프로세서에서 실행되는, 방법.
  14. 제13항에서,
    상기 제1 코어 프로세서는,
    상기 터치 스크린 장치의 입력 인터페이스 및 출력 인터페이스와 모두 연결되고,
    상기 제2 코어 프로세서는,
    상기 터치 스크린 장치의 출력 인터페이스와 연결되며, 상기 터치 입력 신호를 상기 제1 코어 프로세서로부터 상기 프로세서간 통신을 통해 수신하는, 방법.
  15. 제13항에서,
    상기 제1 코어 프로세서가 상기 터치 스크린 장치로부터 수신하는 터치 입력 신호는,
    상기 제1 코어 프로세서의 제1 커널 프로그램에 등록된 상기 터치 스크린 장치의 장치명을 포함하고,
    상기 제2 코어 프로세서는,
    상기 프로세서간 통신을 통해 수신한 터치 입력 신호의 장치명을 제2 커널 프로그램에 등록된 터치 스크린 장치의 장치명으로 변환하여, 상기 터치 입력 신호를 상기 터치 스크린 장치로부터 직접 수신한 것으로 인식하는, 방법.
KR1020190077169A 2019-06-27 2019-06-27 멀티 코어 시스템 및 그 방법 KR102261009B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190077169A KR102261009B1 (ko) 2019-06-27 2019-06-27 멀티 코어 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190077169A KR102261009B1 (ko) 2019-06-27 2019-06-27 멀티 코어 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20210001288A KR20210001288A (ko) 2021-01-07
KR102261009B1 true KR102261009B1 (ko) 2021-06-04

Family

ID=74126834

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190077169A KR102261009B1 (ko) 2019-06-27 2019-06-27 멀티 코어 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR102261009B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116414209A (zh) * 2021-12-29 2023-07-11 Oppo广东移动通信有限公司 显示方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101095667B1 (ko) * 2009-07-10 2011-12-19 사운드그래프 독립적인 터치입력이 가능한 보조터치모니터 시스템 및 보조터치모니터의 독립적인 터치 입력 방법
KR101077832B1 (ko) * 2009-12-17 2011-10-28 주식회사 텔레칩스 보조 프로세서의 내장 ui 구현 방법
KR102343990B1 (ko) * 2015-06-15 2021-12-28 삼성전자주식회사 디스플레이의 서로 다른 영역을 독립적으로 제어하는 전자 장치 및 방법
KR101984564B1 (ko) * 2018-03-21 2019-09-03 인포뱅크 주식회사 프로그램 운영 방법 및 장치와 이를 위한 기록매체

Also Published As

Publication number Publication date
KR20210001288A (ko) 2021-01-07

Similar Documents

Publication Publication Date Title
EP3413163B1 (en) Method for processing data collected by touch panel, and terminal device
KR101952226B1 (ko) 보안 인터렉션 방법 및 장치
US9507617B1 (en) Inter-virtual machine communication using pseudo devices
US20140368653A1 (en) Method and system for improving responsiveness in a vehicle computing platform
CN111416756B (zh) 协议测试方法、装置、计算机设备及存储介质
KR102406839B1 (ko) 주차 처리 방법, 시스템, 장치 및 차량 제어 장치
US20180101392A1 (en) Auto-configurable host pluggable computing
EP3803585B1 (en) Electronic device for executing multiple operating systems and method of controlling same
CN112078487A (zh) 车机系统中倒车影像显示方法及装置、存储介质、终端
KR102261009B1 (ko) 멀티 코어 시스템 및 그 방법
KR102513752B1 (ko) 전자 장치 및 전자 장치의 제어 방법
KR101138547B1 (ko) 동기화 가능한 이중 그래픽 프로세서 모듈을 가진 임무 컴퓨터 시스템 및 그 이중 그래픽 프로세서 모듈 간의 동기화 방법
US10637827B2 (en) Security network system and data processing method therefor
CN113469360B (zh) 推理方法及装置
KR20120054739A (ko) 사용자 인식을 통한 차량 유저인터페이스 제공 시스템
US10592265B2 (en) Application execution apparatus equipped with virtual machine controlling installed application, control method therefor, and storage medium storing control program therefor
EP4238829A1 (en) Display control method and terminal device
KR102618386B1 (ko) 보안 요소를 통해 보안이 필요한 서비스를 제공하는 전자 장치 및 그 전자 장치를 제어하는 방법
CN104978173B (zh) 感测数据读取装置与其读取方法
CN112764615A (zh) 悬浮球控制方法及装置
JP7277423B2 (ja) アプリケーション実行装置及びその制御方法、並びにプログラム
CN115396478B (zh) 用户域与设备的通信方法、装置以及汽车
EP3340010B1 (en) Printing apparatus and method for controlling the same
JPH10289190A (ja) 情報処理装置
JP2001256072A (ja) システムエミュレータ

Legal Events

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