WO2023195559A1 - 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치 - Google Patents

신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치 Download PDF

Info

Publication number
WO2023195559A1
WO2023195559A1 PCT/KR2022/005098 KR2022005098W WO2023195559A1 WO 2023195559 A1 WO2023195559 A1 WO 2023195559A1 KR 2022005098 W KR2022005098 W KR 2022005098W WO 2023195559 A1 WO2023195559 A1 WO 2023195559A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal processing
virtual machines
processing device
processor
machine
Prior art date
Application number
PCT/KR2022/005098
Other languages
English (en)
French (fr)
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 PCT/KR2022/005098 priority Critical patent/WO2023195559A1/ko
Publication of WO2023195559A1 publication Critical patent/WO2023195559A1/ko

Links

Images

Classifications

    • 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/00Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Definitions

  • the present invention relates to a signal processing device and a vehicle display device equipped with the same, and more specifically, to a signal processing device capable of monitoring and efficiently utilizing resource usage information of a plurality of virtual machines within a hypervisor, and a display device equipped with the same. This relates to a vehicle display device.
  • a vehicle is a device that moves the user in the desired direction.
  • a representative example is a car.
  • a vehicle display device is installed inside the vehicle.
  • a display is arranged in a cluster etc. to display various types of information.
  • various displays such as AVN (Audio Video Navigation) displays, to be installed in vehicles, separately from the cluster.
  • AVN Audio Video Navigation
  • Korean Patent No. 10-1072807 (hereinafter referred to as 'prior document') discloses a virtual machine monitor system.
  • the virtual machine monitor system in the prior literature discloses allocating memory from a plurality of guest operating systems to virtual machines that require memory.
  • the purpose of the present invention is to provide a signal processing device that can monitor and efficiently utilize resource usage information of a plurality of virtual machines within a hypervisor, and a vehicle display device equipped with the same.
  • another object of the present invention is to provide a signal processing device that can efficiently utilize a plurality of processor cores, and a vehicle display device including the same.
  • another object of the present invention is to provide a signal processing device that can efficiently utilize a processor core, non-volatile memory, volatile memory, network, or input/output interface, and a vehicle display device including the same.
  • a signal processing device for achieving the above object includes a processor that performs signal processing for a display mounted on a vehicle, and the processor operates a plurality of virtualization machines on a hypervisor within the processor.
  • the hypervisor within the processor monitors resource usage information of the plurality of virtual machines and allocates or reallocates resources of the plurality of virtual machines.
  • the hypervisor in the processor monitors resource usage information of a plurality of virtual machines based on the resource management request of the first virtual machine among the plurality of virtual machines, and executes allocation or reallocation of resources of the plurality of virtual machines. You can.
  • the hypervisor in the processor monitors resource usage information of a guest virtual machine among a plurality of virtual machines based on a resource management request from a first virtual machine among the plurality of virtual machines, and reallocates resources of the plurality of virtual machines or You can perform a reset.
  • the second virtualization machine operates for the first display
  • the third virtualization machine operates for the second display
  • the hypervisor in the processor operates based on the resource management request of the first virtualization machine.
  • resource usage information of the second virtual machine and the third virtual machine can be monitored, and resources of a plurality of virtual machines can be reallocated or reset.
  • resource usage information of each virtualization machine collected from the hypervisor may be transmitted to the first virtualization machine among the plurality of virtualization machines.
  • the resource usage information may include at least one of a processor core usage rate, a non-volatile memory usage rate, a volatile memory usage rate, a network usage rate, or an input/output interface usage rate within the signal processing device.
  • the signal processing device further includes a plurality of processor cores, and the plurality of processor cores are divided into a shared processor core shared by the plurality of virtual machines and a dedicated processor core for each of the plurality of virtual machines, and the hypervisor It is possible to control a virtualization machine whose utilization rate of a dedicated processor core among a plurality of virtual machines is not overloaded so that it does not use the shared processor core.
  • the signal processing device further includes a plurality of processor cores, and the plurality of processor cores are divided into a shared processor core shared by the plurality of virtual machines and a dedicated processor core for each of the plurality of virtual machines, and the hypervisor
  • a virtualization machine whose utilization rate of the dedicated processor core among the plurality of virtualization machines is overloaded uses the shared processor core exclusively or shares the shared processor core.
  • the utilization rate of processor cores can be controlled to increase.
  • the signal processing device further includes a plurality of processor cores, and the plurality of processor cores are divided into a shared processor core shared by the plurality of virtual machines and a dedicated processor core for each of the plurality of virtual machines, and the hypervisor It is possible to control the second virtualization machine and the third virtualization machine among the plurality of virtualization machines in which the utilization rate of the dedicated processor core is not overloaded so that they do not use the shared processor core.
  • the hypervisor may control the shared processor core to be used only by the fourth virtual machine among the plurality of virtual machines, where the utilization rate of the dedicated processor core is overloaded.
  • the signal processing device further includes a plurality of processor cores, and the plurality of processor cores are divided into a shared processor core shared by the plurality of virtual machines and a dedicated processor core for each of the plurality of virtual machines, and the hypervisor Based on the utilization rate of the dedicated processor core or the shared processor core, control may be made to convert some of the dedicated processor cores to shared processor cores or to convert some of the shared processor cores to dedicated processor cores.
  • the signal processing device further includes a plurality of processor cores, and the plurality of processor cores are divided into a shared processor core shared by the plurality of virtual machines and a dedicated processor core for each of the plurality of virtual machines, and the hypervisor
  • the utilization rate of each dedicated processor core of a plurality of virtual machines is overloaded, load balancing can be controlled, and when the overload is resolved, load balancing can be controlled to end.
  • the signal processing device further includes a plurality of processor cores, and the hypervisor checks the idle time of the processor cores of the plurality of virtual machines and, based on the idle time, determines the number required for the plurality of virtual machines. You can control the allocation of dedicated processor cores and shared processor cores.
  • the hypervisor may control the use of shared processor cores to be turned off in order of the lowest utilization of each dedicated processor core of the plurality of virtual machines.
  • a first virtual machine among the plurality of virtualization machines is equipped with a resource monitor that monitors resource usage information
  • the hypervisor in the processor includes a load balancing manager that controls load balancing for the processor cores of the plurality of virtualization machines
  • a resource provider that allocates or reallocates resources of a plurality of virtual machines may be provided.
  • the first virtual machine in the processor is controlled to execute a camera manager that controls the transmission of camera data, a location information manager that controls the transmission of location information data, and an input manager that controls the transmission of touch input data. You can.
  • the first virtual machine in the processor can control the settings of hyperfizer-based shared memory for each camera manager, location information manager, and input manager.
  • the first virtual machine in the processor is controlled to execute a camera manager that controls the transmission of camera data, a location information manager that controls the transmission of location information data, and an input manager that controls the transmission of touch input data. You can. Accordingly, various external data can be shared efficiently.
  • the first virtual machine in the processor can control the settings of hyperfizer-based shared memory for each camera manager, location information manager, and input manager. Accordingly, data for each manager can be shared using each shared memory.
  • a vehicle display device includes a signal processing device including a first display and a second display disposed in a vehicle, and a processor that performs signal processing for the first display and the second display.
  • the signal processing device includes a processor that performs signal processing for a display mounted on the vehicle, the processor executes a plurality of virtual machines on a hypervisor within the processor, and the hypervisor within the processor includes a plurality of virtualization machines. Monitors resource usage information of virtual machines and allocates or reallocates resources of multiple virtual machines.
  • the signal processing device may control the display of the second image on the second display while displaying the first image on the first display, based on resource monitoring and load balancing.
  • a signal processing device includes a processor that performs signal processing for a display mounted on a vehicle, and the processor executes a plurality of virtualization machines on a hypervisor within the processor, and the hypervisor within the processor
  • the visor monitors resource usage information of a plurality of virtual machines and allocates or reallocates resources of the plurality of virtual machines. Accordingly, it is possible to monitor and efficiently utilize resource usage information of multiple virtual machines within the hypervisor.
  • the hypervisor in the processor monitors resource usage information of a plurality of virtual machines based on the resource management request of the first virtual machine among the plurality of virtual machines, and executes allocation or reallocation of resources of the plurality of virtual machines. You can. Accordingly, it is possible to monitor and efficiently utilize resource usage information of multiple virtual machines within the hypervisor.
  • the hypervisor in the processor monitors resource usage information of a guest virtual machine among a plurality of virtual machines based on a resource management request from a first virtual machine among the plurality of virtual machines, and reallocates resources of the plurality of virtual machines or You can perform a reset. Accordingly, it is possible to monitor and efficiently utilize resource usage information of multiple virtual machines within the hypervisor.
  • the second virtualization machine operates for the first display
  • the third virtualization machine operates for the second display
  • the hypervisor in the processor operates based on the resource management request of the first virtualization machine.
  • resource usage information of each virtualization machine collected from the hypervisor may be transmitted to the first virtualization machine among the plurality of virtualization machines. Accordingly, the first virtual machine can collect resource usage information.
  • the resource usage information may include at least one of a processor core usage rate, a non-volatile memory usage rate, a volatile memory usage rate, a network usage rate, or an input/output interface usage rate within the signal processing device. Accordingly, it is possible to efficiently utilize the processor core, non-volatile memory, volatile memory, network, or input/output interface within the signal processing device.
  • the signal processing device further includes a plurality of processor cores, and the plurality of processor cores are divided into a shared processor core shared by the plurality of virtual machines and a dedicated processor core for each of the plurality of virtual machines, and the hypervisor It is possible to control a virtualization machine whose utilization rate of a dedicated processor core among a plurality of virtual machines is not overloaded so that it does not use the shared processor core. Accordingly, it is possible to efficiently utilize a plurality of processor cores within the signal processing device.
  • the signal processing device further includes a plurality of processor cores, and the plurality of processor cores are divided into a shared processor core shared by the plurality of virtual machines and a dedicated processor core for each of the plurality of virtual machines, and the hypervisor
  • a virtualization machine whose utilization rate of the dedicated processor core among the plurality of virtualization machines is overloaded uses the shared processor core exclusively or shares the shared processor core.
  • the utilization rate of processor cores can be controlled to increase. Accordingly, it is possible to efficiently utilize a plurality of processor cores within the signal processing device.
  • the signal processing device further includes a plurality of processor cores, and the plurality of processor cores are divided into a shared processor core shared by the plurality of virtual machines and a dedicated processor core for each of the plurality of virtual machines, and the hypervisor It is possible to control the second virtualization machine and the third virtualization machine among the plurality of virtualization machines in which the utilization rate of the dedicated processor core is not overloaded so that they do not use the shared processor core. Accordingly, it is possible to efficiently utilize a plurality of processor cores within the signal processing device.
  • the hypervisor may control the shared processor core to be used only by the fourth virtual machine among the plurality of virtual machines, where the utilization rate of the dedicated processor core is overloaded. Accordingly, it is possible to efficiently utilize a plurality of processor cores within the signal processing device.
  • the signal processing device further includes a plurality of processor cores, and the plurality of processor cores are divided into a shared processor core shared by the plurality of virtual machines and a dedicated processor core for each of the plurality of virtual machines, and the hypervisor Based on the utilization rate of the dedicated processor core or the shared processor core, control may be made to convert some of the dedicated processor cores to shared processor cores or to convert some of the shared processor cores to dedicated processor cores.
  • the signal processing device further includes a plurality of processor cores, and the plurality of processor cores are divided into a shared processor core shared by the plurality of virtual machines and a dedicated processor core for each of the plurality of virtual machines, and the hypervisor
  • load balancing can be controlled, and when the overload is resolved, load balancing can be controlled to end. Accordingly, load balancing within the signal processing device can be performed efficiently.
  • the signal processing device further includes a plurality of processor cores
  • the hypervisor checks the idle time of the processor cores of the plurality of virtual machines and, based on the idle time, determines the number required for the plurality of virtual machines. You can control the allocation of dedicated processor cores and shared processor cores. Accordingly, it is possible to efficiently utilize a plurality of processor cores within the signal processing device.
  • the hypervisor may control the use of shared processor cores to be turned off in order of the lowest utilization of each dedicated processor core of the plurality of virtual machines. Accordingly, it is possible to efficiently utilize a plurality of processor cores within the signal processing device.
  • a first virtual machine among the plurality of virtualization machines is equipped with a resource monitor that monitors resource usage information
  • the hypervisor in the processor includes a load balancing manager that controls load balancing for the processor cores of the plurality of virtualization machines
  • a resource provider that allocates or reallocates resources of a plurality of virtual machines may be provided.
  • a vehicle display device includes a signal processing device including a first display and a second display disposed in a vehicle, and a processor that performs signal processing for the first display and the second display.
  • the signal processing device includes a processor that performs signal processing for a display mounted on the vehicle, the processor executes a plurality of virtual machines on a hypervisor within the processor, and the hypervisor within the processor includes a plurality of virtualization machines. Monitors resource usage information of virtual machines and allocates or reallocates resources of multiple virtual machines. Accordingly, it is possible to monitor and efficiently utilize resource usage information of multiple virtual machines within the hypervisor.
  • the signal processing device may control the display of the second image on the second display while displaying the first image on the first display, based on resource monitoring and load balancing. Accordingly, while displaying the first image on the first display, the second image can be stably displayed on the second display without interruption.
  • 1A is a diagram showing an example of the exterior and interior of a vehicle.
  • FIG. 1B is a diagram illustrating another example of the interior of a vehicle.
  • Figure 2 is a diagram showing the appearance of a vehicle display device according to an embodiment of the present invention.
  • FIG. 3 illustrates an example of an internal block diagram of the vehicle display device of FIG. 2.
  • Figure 4 is a diagram showing a system driven by a signal processing device related to the present invention.
  • Figure 5 is a diagram showing an example of a system driven by the signal processing device of the present invention.
  • Figure 6 is a diagram showing another example of a system driven by the signal processing device of the present invention.
  • Figure 7 is a diagram showing another example of a system driven by the signal processing device of the present invention.
  • FIGS 8 to 9b are drawings referenced in the description of Figure 5.
  • Figure 10 is a diagram showing another example of a system driven by the signal processing device of the present invention.
  • 11A to 11B show various examples of systems driven by a signal processing device related to the present invention.
  • Figure 12 illustrates an example of a system running on a signal processing device according to an embodiment of the present invention.
  • Figure 13 illustrates another example of a system running on a signal processing device according to an embodiment of the present invention.
  • Figure 14 illustrates another example of a system running on a signal processing device according to an embodiment of the present invention.
  • FIGS. 15 to 17B are diagrams referenced in the description of the operation of FIG. 12 or FIG. 13 .
  • module and “part” for components used in the following description are simply given in consideration of the ease of writing this specification, and do not in themselves give any particularly important meaning or role. Accordingly, the terms “module” and “unit” may be used interchangeably.
  • 1A is a diagram showing an example of the exterior and interior of a vehicle.
  • the vehicle 200 is operated by a plurality of wheels 103FR, 103FL, 103RL, etc. rotated by a power source and a steering wheel 150 to control the moving direction of the vehicle 200. .
  • the vehicle 200 may be further equipped with a camera 195 for acquiring images in front of the vehicle.
  • the vehicle 200 may be equipped with a plurality of displays 180a and 180b inside for displaying images, information, etc.
  • a cluster display 180a and an Audio Video Navigation (AVN) display 180b are illustrated as a plurality of displays 180a and 180b.
  • AVB Audio Video Navigation
  • HUD Head Up Display
  • the AVN (Audio Video Navigation) display 180b may also be called a center information display.
  • An embodiment of the present invention presents a method of monitoring and efficiently utilizing resource usage information in a vehicle display device 100 having a plurality of displays 180a and 180b. This will be described with reference to FIG. 12 and below.
  • the vehicle 200 described in this specification may be a concept that includes all vehicles including an engine as a power source, a hybrid vehicle having an engine and an electric motor as a power source, and an electric vehicle having an electric motor as a power source. there is.
  • FIG. 1B is a diagram illustrating another example of the interior of a vehicle.
  • cluster display 180a
  • AVN Audio Video Navigation
  • Rear Seat Entertainment display 180c, 180d
  • room mirror display not shown
  • An embodiment of the present invention presents a method for monitoring and efficiently utilizing resource usage information of a plurality of virtual machines within a hypervisor in a vehicle display device 100 having a plurality of displays 180a to 180d. . This will be described with reference to FIG. 5 and below.
  • Figure 2 is a diagram showing the appearance of a vehicle display device according to an embodiment of the present invention.
  • a vehicle display device 100 includes a plurality of displays 180a to 180b, and a signal processing device that performs signal processing to display images, information, etc. on the plurality of displays 180a to 180b. (170) can be provided.
  • the first display (180a) is a cluster display (180a) for displaying driving status, operation information, etc.
  • the second display (180b) is a cluster display (180a) for displaying vehicle operation information, navigation maps, and various other displays. It may be an AVN (Audio Video Navigation) display 180b for displaying entertainment information or images.
  • AVN Audio Video Navigation
  • the signal processing device 170 has a processor 175 therein, and can execute first to third virtual machines 520 to 540 on a hypervisor 505 within the processor 175.
  • the second virtualization machine 530 may operate for the first display 180a, and the third virtualization machine 540 may operate for the second display 180b.
  • the first virtualization machine 520 in the processor 175, the shared memory 508 based on the hypervisor 505, to transmit the same data to the second virtualization machine 530 and the third virtualization machine 540. ) can be controlled to be set. Accordingly, the same information or the same image can be displayed in synchronization on the first display 180a and the second display 180b within the vehicle.
  • the first virtual machine 520 in the processor 175 shares at least part of the data with the second virtual machine 530 and the third virtual machine 540 for data sharing processing. Accordingly, data can be shared and processed by multiple virtual machines for multiple displays within the vehicle.
  • the first virtual machine 520 in the processor 175 receives and processes wheel speed sensor data of the vehicle, and processes the data into at least one of the second virtual machine 530 and the third virtual machine 540. Wheel speed sensor data can be transmitted. Accordingly, it is possible to share the vehicle's wheel speed sensor data with at least one virtual machine, etc.
  • the vehicle display device 100 further includes a rear seat entertainment display 180c for displaying driving status information, simple navigation information, and various entertainment information or images. It can be provided.
  • the signal processing device 170 executes a fourth virtualization machine (not shown) in addition to the first to third virtualization machines 520 to 540 on the hypervisor 505 in the processor 175, and performs RSE
  • the display 180c can be controlled.
  • some of the plurality of displays 180a to 180c may operate based on Linux OS, and others may operate based on web OS.
  • the signal processing device 170 has a touch input (Touch) on any one of a plurality of displays (180a to 180b or 180a to 180c) operating under various operating systems (OS).
  • touch input processing can be controlled to be performed quickly and accurately.
  • the vehicle speed indicator 212a and the vehicle internal temperature indicator 213a are displayed on the first display 180a, and a plurality of applications and the vehicle speed indicator 212b are displayed on the second display 180b.
  • a home screen 222 including a vehicle interior temperature indicator 213b is displayed, and a second home screen 222b including a plurality of applications and a vehicle interior temperature indicator 213c is displayed on the third display 180c. Example of what is displayed.
  • Figure 3 illustrates an example of an internal block diagram of a vehicle display device according to an embodiment of the present invention.
  • a vehicle display device 100 includes an input unit 110, a communication unit 120, an interface 130, a memory 140, a signal processing device 170, and a plurality of displays. (180a to 180c), an audio output unit 185, and a power supply unit 190 may be provided.
  • the input unit 110 may be equipped with physical buttons, pads, etc. for button input, touch input, etc.
  • the input unit 110 may be provided with a touch sensor (not shown) for sensing touch input from the displays 180a, 180b, and 180c.
  • the input unit 110 may be equipped with a microphone (not shown) for user voice input.
  • the communication unit 120 can exchange data with the mobile terminal 800 or the server 900 in a wireless manner.
  • the communication unit 120 can exchange data wirelessly with the vehicle driver's mobile terminal.
  • various data communication methods such as Bluetooth, WiFi, WiFi Direct, and APiX are possible.
  • the communication unit 120 may receive weather information, road traffic situation information, for example, Transport Protocol Expert Group (TPEG) information, from the mobile terminal 800 or the server 900.
  • TPEG Transport Protocol Expert Group
  • the communication unit 120 may be equipped with a mobile communication module (not shown).
  • the interface 130 may receive sensor information, etc. from the ECU 770 or the sensor device 760, and transmit the received information to the signal processing device 170.
  • sensor information includes vehicle direction information, vehicle location information (GPS information), vehicle angle information, vehicle speed information, vehicle acceleration information, vehicle tilt information, vehicle forward/backward information, battery information, fuel information, tire information, and vehicle It may include at least one of lamp information, vehicle interior temperature information, and vehicle interior humidity information.
  • This sensor information includes heading sensor, yaw sensor, gyro sensor, position module, vehicle forward/reverse sensor, wheel sensor, vehicle speed sensor, It can be obtained from a vehicle body tilt sensor, battery sensor, fuel sensor, tire sensor, steering sensor by steering wheel rotation, vehicle interior temperature sensor, vehicle interior humidity sensor, etc.
  • the position module may include a GPS module for receiving GPS information.
  • the interface 130 receives vehicle front image data, vehicle side image data, vehicle rear image data, obstacle distance information around the vehicle, etc. from the camera 195 or lidar (not shown), and sends the received information as a signal. It can be transmitted to the processing device 170.
  • the memory 140 may store various data for the overall operation of the vehicle display device 100, such as a program for processing or controlling the signal processing device 170.
  • the memory 140 may store data related to a hypervisor and first to third virtualization machines for execution in the processor 175.
  • the audio output unit 185 converts the electrical signal from the signal processing device 170 into an audio signal and outputs it. For this purpose, speakers, etc. may be provided.
  • the power supply unit 190 can supply power required for the operation of each component under the control of the signal processing device 170.
  • the power supply unit 190 may receive power from a battery inside the vehicle.
  • the signal processing device 170 controls the overall operation of each unit within the vehicle display device 100.
  • it may include a processor 175 that performs signal processing for vehicle displays 180a and 180b.
  • the processor 175 may execute first to third virtual machines 520 to 540 on a hypervisor (505 in FIG. 5) within the processor 175.
  • the processor 175 may further execute a legacy virtualization machine that receives and processes Ethernet data.
  • the legacy virtualization machine may be executed in the first virtualization machine 520 within the processor 175, as shown in FIG. 5 .
  • the first virtual machine 520 may be called a server virtual machine (Server Virtual maschine), and the second to third virtual machines (530 ⁇ 540) can be named Guest Virtual maschine.
  • Server Virtual maschine the server virtual machine
  • Guest Virtual maschine the second to third virtual machines
  • the second virtualization machine 530 may operate for the first display 180a, and the third virtualization machine 540 may operate for the second display 180b.
  • the first virtual machine 520 in the processor 175 may receive vehicle sensor data, location information data, camera image data, audio data, or touch input data, process or process them, and output them.
  • vehicle sensor data location information data
  • camera image data e.g., portrait
  • audio data e.g., touch
  • process or process them e.g., touch input data
  • the first virtual machine 520 directly receives and processes CAN communication data, audio data, radio data, USB data, and wireless communication data for the second to third virtual machines 530 to 540. can do.
  • the first virtualization machine 520 may transmit the processed data to the second to third virtualization machines 530 to 540.
  • the first virtual machine 520 receives communication data and external input data and performs signal processing, thereby processing signals in other virtual machines.
  • the burden is reduced, 1:N data communication becomes possible, and synchronization when sharing data becomes possible.
  • the first virtual machine 520 records part of the data in the first shared memory (not shown) to be transmitted to the second virtual machine 530, and another part of the data is transmitted to the third virtual machine 530.
  • the second virtualization machine 530 and the third virtualization machine 540 each process the received data, and the processed data is recorded in the second shared memory (not shown). Control as much as possible. Accordingly, it is possible to monitor and efficiently utilize resource usage information of multiple virtual machines within the hypervisor.
  • the data at this time may be any one of video data, audio data, navigation data, or voice recognition data.
  • the first virtual machine 520 may process another part of the data and control the processed data to be recorded in the second shared memory (not shown). That is, in addition to the second virtualization machine 530 and the third virtualization machine, the first virtualization machine 520 may perform data processing.
  • the fourth virtualization machine 550 operating for the third display 180c is executed in the processor 175, the first virtualization machine 520 stores another part of the data in the first shared memory (not shown). The fourth virtualization machine 550 processes each received data and controls the processed data to be recorded in a second shared memory (not shown).
  • the first virtual machine 520 may generate each command queue for distributed processing of data in the second to third virtual machines 530 and 540. Accordingly, data can be shared and processed across multiple virtual machines.
  • the first virtual machine 520 in the processor 175 may generate one identical command queue when the second to third virtual machines 530 and 540 share the same data. Accordingly, the same data can be synchronized and shared.
  • the first virtual machine 520 may generate a command queue corresponding to the number of virtual machines for distributed processing of data.
  • the first virtual machine 520 may control at least part of the data to be transmitted to at least one of the second virtual machine 530 and the third virtual machine 540 for data distribution processing.
  • the first virtual machine 520 allocates a first shared memory (not shown) to transmit at least part of the data to at least one of the second virtual machine 530 and the third virtual machine 540.
  • image data processed in the second virtualization machine 530 or the third virtualization machine 540 may be recorded in a second shared memory (not shown).
  • the first virtualization machine 520 may record data in the shared memory 508 and control the second virtualization machine 530 and the third virtualization machine 540 to share the same data.
  • the first virtual machine 520 records radio data or wireless communication data in the shared memory 508 to share the same data with the second virtual machine 530 and the third virtual machine 540. You can control it. Accordingly, sharing of data in a 1:N manner becomes possible.
  • the first virtualization machine 520 in the processor 175, the shared memory 508 based on the hypervisor 505, to transmit the same data to the second virtualization machine 530 and the third virtualization machine 540. ) can be controlled to be set.
  • the first virtualization machine 520 in the processor 175 uses the shared memory 508 based on the hypervisor 505 to connect the second virtualization machine 530 and the third virtualization machine 540 to the same Data can be synchronized and transmitted. Accordingly, the same image can be displayed in synchronization on a plurality of displays 180a to 180b within the vehicle.
  • the signal processing device 170 can process various signals, such as audio signals, video signals, and data signals.
  • the signal processing device 170 may be implemented in the form of a system on chip (SOC).
  • Figure 4 is a diagram showing a system driven by a signal processing device related to the present invention.
  • FIG. 4 is a diagram illustrating a virtualization machine being used for the cluster display 180a and the AVN display 180b, respectively.
  • the system 400 running on the signal processing device of FIG. 4 illustrates that the cluster virtualization machine 430 and the AVN virtualization machine 440 are executed on the hypervisor 405 within the processor 175.
  • system 400 running on the signal processing device of FIG. 4 illustrates that a legacy virtualization machine 410 is also executed on the hypervisor 405 within the processor 175.
  • the legacy virtualization machine 410 includes an interface 412 for data communication with the memory 140 and an interface 413 for Ethernet communication.
  • the cluster virtualization machine 430 includes an interface 431 for CAN communication, an interface 432 for communication with the interface 412 of the legacy virtualization machine 410, and a legacy virtualization machine 410. ) may be provided with an interface 433 for communication with the interface 413.
  • the AVN virtualization machine 440 includes an interface 441 for input and output of audio data, radio data, USB data, and wireless communication data, and an interface for communication with the interface 412 of the legacy virtualization machine 410. (442), an interface 443 for communication with the interface 413 of the legacy virtualization machine 410 may be provided.
  • CAN communication data is input and output only from the cluster virtualization machine 430, so the AVN virtualization machine 440 has the disadvantage of not being able to utilize CAN communication data.
  • audio data, radio data, USB data, and wireless communication data are input and output only from the AVN virtualization machine 440, so the cluster virtualization machine 430 cannot utilize such data. There is.
  • the disadvantage is that the cluster virtualization machine 430 and the cluster virtualization machine 430 must each be equipped with separate interfaces (431, 432, 441, and 442) for memory data and Ethernet communication data input and output from the legacy virtualization machine 410. there is.
  • the present invention proposes a method for improving the system of FIG. 4. That is, unlike FIG. 4, the virtualization machine is divided into a server virtualization machine and a guest virtualization machine, and various memory data, communication data, etc. are input and output from the server virtualization machine, not from the guest virtualization machine. This will be described with reference to Figure 5 and below.
  • Figure 5 is a diagram showing an example of a system driven by the signal processing device of the present invention.
  • the system 500 of FIG. 5 includes a first virtualization machine 520, which is a server virtualization machine, and a second virtualization machine, on the hypervisor 505 within the processor 175 within the signal processing device 170.
  • the second virtualization machine 530 and the guest virtualization machine illustrate that the third virtualization machine 540 is running.
  • the second virtualization machine 530 may be a virtualization machine for the cluster display 180a
  • the third virtualization machine 540 may be a virtualization machine for the AVN display 180b.
  • the second virtualization machine 530 and the third virtualization machine 540 may operate for image rendering of the cluster display 180a and the AVN display 180b, respectively.
  • system 500 running on the signal processing device 170 of FIG. 5 illustrates that a legacy virtualization machine 510 is also executed on the hypervisor 505 within the processor 175.
  • the legacy virtualization machine 510 is provided with an interface 511 for data communication with the memory 140 and Ethernet communication.
  • the interface 511 is illustrated as a physical device driver, but various modifications are possible.
  • the legacy virtual machine 510 may further include an interface (virtio-backend interface) 512 for data communication with the second to third virtual machines 530 and 540.
  • an interface virtual-backend interface
  • the first virtual machine 520 may be provided with an interface 521 for input/output of audio data, radio data, USB data, and wireless communication data, and an input/output server interface 522 for data communication with the guest virtual machine. .
  • the first virtualization machine 520 which is a server virtualization machine, processes I/Os that are difficult to virtualize by standard virtualization technology (VirtIO) with a plurality of guest virtualization machines, for example, second to third virtualization machines 530 and 540. etc. can be provided.
  • VirtualIO virtualization technology
  • the first virtual machine 520 which is a server virtualization machine, controls radio data, audio data, etc. at the supervisor level, and a plurality of guest virtual machines, for example, second to third virtual machines ( 530,540), etc.
  • the first virtual machine 520 which is a server virtualization machine, processes vehicle data, sensor data, vehicle surrounding information, etc., and transfers the processed data or information to a plurality of guest virtualization machines, for example, second to second virtual machines. 3 It can be provided to virtual machines (530,540), etc.
  • the first virtual machine 520 may provide services (Supervisory Services), such as processing vehicle data and managing audio routing.
  • Supervisory Services such as processing vehicle data and managing audio routing.
  • the second virtual machine 530 may be provided with an input/output client interface 532 for data communication with the first virtual machine 520 and APIs 533 for controlling the input/output client interface 532. .
  • the second virtual machine 530 may be provided with an interface (virtio-backend interface) for data communication with the legacy virtual machine 510.
  • the second virtual machine 530 receives memory data through communication with the memory 140 from the interface 512 of the legacy virtual machine 510 through an interface virtio-backend interface.
  • Ethernet data, etc. can be received through Ethernet communication.
  • the third virtual machine 540 may be provided with an input/output client interface 542 for data communication with the first virtual machine 520 and APIs 543 for controlling the input/output client interface 542.
  • the third virtual machine 540 may be provided with an interface (virtio-backend interface) for data communication with the legacy virtual machine 510.
  • the third virtual machine 540 receives memory data through communication with the memory 140 from the interface 512 of the legacy virtual machine 510 through an interface virtio-backend interface.
  • Ethernet data, etc. can be received through Ethernet communication.
  • the legacy virtualization machine 510 can also be provided in the first virtualization machine 520.
  • CAN communication data is input and output only from the first virtual machine 520, but through data processing in the first virtual machine 520, it can be transmitted to a plurality of guest virtual machines, for example, a second virtual machine. It may be provided to third virtual machines 530 and 540, etc. Accordingly, 1:N data communication through processing of the first virtual machine 520 is possible.
  • audio data, radio data, USB data, and wireless communication data are input and output only from the first virtual machine 520, but are input and output through data processing in the first virtual machine 520.
  • the touch input to the first display 180a or the second display 180b is input only to the first virtual machine 520, and to the second to third It is not input to the virtualization machines 530 and 540.
  • Information about the touch input is transmitted to the second virtualization machine 530 or the third virtualization machine 540.
  • touch input processing can be performed quickly and accurately.
  • the second to third virtualization machines 530 and 540 may operate based on different OSs.
  • the second virtual machine 540 may operate based on Linux OS, and the third virtual machine 540 may operate based on web OS.
  • the shared memory 508 based on the hypervisor 505 can be set to share data. Accordingly, even if the second to third virtual machines 530 and 540 operate under different operating systems (OS), they can synchronize and share the same data or the same image. Ultimately, the same data or the same image can be displayed in synchronization on the plurality of displays 180a and 180b.
  • OS operating systems
  • the first virtual machine 520 transmits information about touch input to the second virtual machine 530 or the third virtual machine 530 or the third virtual machine 530 even though the second to third virtual machines 530 and 540 operate under different OS. Transmit to machine 540. Accordingly, even if the second to third virtual machines 530 and 540 operate under different operating systems (OS), they can quickly and accurately process touch input.
  • OS operating systems
  • the first virtual machine 520 has a display manager 527 for controlling the overlay displayed on the first display 180a and the second display 180b through the second to third virtual machines 530 and 540.
  • a display layer server 529 and a virtual overlay generator 523 that generate a virtual overlay may be provided.
  • the display layer server 529 may receive a first overlay provided by the second virtualization machine 530 and a second overlay provided by the third virtualization machine 540.
  • the display layer server 529 may transmit a virtual overlay generated by the virtual overlay generator 523 to at least one of the second virtual machine 530 and the third virtual machine 540.
  • the display manager 527 in the first virtual machine 520 uses the first overlay provided by the second virtual machine 530 and the second overlay provided by the third virtual machine 540 as a display layer server. You can receive it through (529).
  • the display manager 527 in the first virtual machine 520 provides a virtual overlay separate from the first overlay or the second overlay through the display layer server 529 to the second virtual machine 530. ) or can be controlled to transmit to at least one of the third virtual machine 540.
  • the second virtual machine 530 can control the first overlay and the virtual overlay to be displayed on the first display 180a.
  • the third virtual machine 540 may synthesize the second overlay and the virtual overlay and control the display to be displayed on the second display 180b.
  • the first virtual machine 520 may be provided with an input manager 524 that receives input signals from the outside.
  • the input signal at this time may be an input signal from a certain button (start button, etc.) in the vehicle, a touch input signal, or a voice input signal.
  • the input manager 524 in the first virtual machine 520 may receive a touch input from the first display 180a or the second display 180b.
  • the first virtual machine 520 transmits information about the touch input (Touch) related to the touch input from the first display 180a or the second display 180b to the second virtualization machine 530 or the third virtualization machine. It may be provided with a touch server 528 that transmits data to the machine 540.
  • the touch server 528 in the first virtual machine 520 sends information about the touch input (Touch) to the second virtual machine 530. ) can be transmitted.
  • the touch server 528 in the first virtual machine 520 may receive a touch input from the first display 180a or the second display 180b.
  • Figure 6 is a diagram showing another example of a system driven by the signal processing device of the present invention.
  • the processor 175 in the signal processing device 170 is a hypervisor ( 505), the first to third virtual machines 520 to 540 are executed, and the first virtual machine 520 in the processor 175 includes the second virtual machine 530 and the third virtual machine 540. ), the shared memory 508 based on the hypervisor 505 is controlled to be set for data transmission.
  • data may include information about touch input (Touch). Accordingly, information about the touch input (Touch) is transmitted to the second virtual machine 530 or the third virtual machine 540, and ultimately, the touch input to the first display 180a or the second display 180b (Touch) processing can be performed quickly and accurately. Additionally, even if the number of running virtual machines increases, touch input processing can be performed quickly and accurately.
  • touch input can be performed quickly and accurately.
  • image data may be exemplified as data. Accordingly, an image can be displayed on the first display 180a or the second display 180b.
  • the same image data when shared in the shared memory 508, the same image can be displayed in synchronization on a plurality of displays 180a to 180b in the vehicle.
  • data may include CAN communication data, audio data, radio data, USB data, wireless communication data, location information data, etc. Accordingly, information about the corresponding data can be displayed on the first display 180a or the second display 180b.
  • the legacy virtualization machine 510 uses memory data from the memory 140, or Ethernet data through Ethernet communication, and the shared memory 508 based on the hypervisor 505. , can be transmitted to the second virtualization machine 530 and the third virtualization machine 540. Accordingly, information corresponding to memory data or Ethernet data can be displayed on the first display 180a or the second display 180b.
  • the first virtualization machine 520 in the system 500b of FIG. 6, similar to the first virtualization machine in the system 500 of FIG. 5, includes a display manager 527, a display layer server 529, and a virtual machine.
  • An overlay generator 523, an input manager 524, and a touch server 528 may be provided.
  • the input/output server interface 522 in the first virtual machine 520 in the system 500b of FIG. 6 may include a display layer server 529 and a touch server 528, unlike FIG. 5 .
  • the first virtual machine 520 in FIG. 6 has a system manager for overall system control, a vehicle information manager for vehicle information management, and an audio manager for audio control. , a radio manager for radio control, etc. may be further provided.
  • the input/output server interface 522 in the first virtual machine 520 in the system 500b of FIG. 6 includes a GNSS server for input/output of GPS information, a Bluetooth server for Bluetooth input/output, a Wi-Fi server for Wi-Fi input/output, and a camera. It may further include a camera server for data input and output.
  • Figure 7 is a diagram showing another example of a system driven by the signal processing device of the present invention.
  • system 500c running on the processor 175 in the signal processing device 170 of FIG. 7 is substantially similar to the system 500b of FIG. 6.
  • the processor 175 of FIG. 7 executes the first to third virtualization machines 520 to 540 on the hypervisor 505 within the processor 175.
  • the display layer server 529 and the touch server 528 may be provided and executed within the first virtual machine 520 outside of the input/output server interface 522.
  • a GNSS server for input/output of GPS information a Bluetooth server for Bluetooth input/output, a Wi-Fi server for Wi-Fi input/output, a camera server for input/output of camera data, etc. are located outside the input/output server interface 522. It may be provided and executed within the first virtual machine 520.
  • a display manager 527 a display layer server 529, a virtual overlay generator 523, an input manager 524, and a touch server 528 may be provided and executed.
  • FIGS 8 to 9b are drawings referenced in the description of Figure 5.
  • Figure 8 shows that the first to third virtual machines 520 to 540 are executed on the hypervisor 505 in the processor 175 in the system 500 according to an embodiment of the present invention, and the processor ( 175)
  • the shared memory 508 based on the hypervisor 505 is set so that the first virtual machine 520 in the second virtual machine 530 and the third virtual machine 540 transmit the same data. Illustrates control.
  • the same image can be displayed in synchronization on a plurality of displays 180a to 180b in the vehicle.
  • high-speed data communication between a plurality of virtual machines can be performed. Furthermore, high-speed data communication can be performed even if multiple virtual machines are driven by different operating systems.
  • the first virtual machine 520 in the processor 175 does not allocate a number of memory corresponding to the number of virtual machines.
  • one shared memory 508 can be used. Accordingly, instead of 1:1 data communication between virtual machines, 1:N data communication is possible using the shared memory 508.
  • the first virtual machine 520 in the processor 175 may include an input/output server interface 522 and a security manager 526.
  • the second virtual machine 530 and the third virtual machine 540 may include input/output client interfaces 532 and 542, respectively. Accordingly, high-speed data communication between a plurality of virtual machines can be performed using the input/output server interface 522 and the input/output client interfaces 532 and 542.
  • the input/output server interface 522 in the first virtual machine 520 receives the same data transmission request from each of the input/output client interfaces 532 and 542 in the second virtual machine 530 and the third virtual machine 540, Based on this, shared data can be transmitted to the shared memory 508 through the security manager 526.
  • Figure 9A illustrates a more detailed diagram of shared data transfer.
  • the input/output server interface 522 in the first virtual machine 520 transmits an allocation request for the shared memory 508 to the security manager 526 (S1).
  • the security manager 526 can allocate the shared memory 508 using the hypervisor 505 (S2) and record shared data in the shared memory 508.
  • the input/output client interfaces 532 and 542 may transmit a connection request to the input/output server interface 522 after allocating the shared memory 508 (S3).
  • the input/output server interface 522 transmits information about the shared memory 508 including key data to the input/output client interfaces 532 and 542 (S4).
  • the key data at this time may be private key data.
  • the first virtual machine 520 in the processor 175 sends information about the shared memory 508 to the second virtual machine 530 and the third virtual machine ( 540).
  • the input/output server interface 522 in the first virtual machine 520 is controlled to create a command queue for command or event processing, separate from data, for distributed processing control between virtual machines. (S5).
  • the figure illustrates that a command queue is created in the command queue buffer 504 in the hypervisor 505 under control of the input/output server interface 522.
  • a command queue is created in the command queue buffer 504 in the hypervisor 505 under control of the input/output server interface 522.
  • it is not limited to this, and can also be created within the first virtual machine 520 rather than within the hypervisor 505 by controlling the input/output server interface 522.
  • each input/output client interface 532 and 542 accesses the command queue buffer 504 to receive the generated command queue or information about the command queue (S6).
  • the generated command queues may be the same.
  • each input/output client interface 532, 542 accesses the shared memory 508 based on the received key data (S5), and stores the shared data in the shared memory 508. It can be copied or read from (S7).
  • the input/output client interface 532, 542 accesses the shared memory 508 based on the same command queue and the same key data (S5) ), shared data can be copied or read from the shared memory 508.
  • the second virtual machine 530 and the third virtual machine 540 can access the shared memory 508 and ultimately share shared data.
  • the shared data is image data
  • the image data is shared in the second virtualization machine 530 and the third virtualization machine 540, and ultimately, the same sharing is performed on the plurality of displays 180a to 180b in the vehicle. Videos can be displayed in synchronization.
  • FIG. 9B shows that, by the system 500 of FIG. 9A, the second virtualization machine 530 displays image data received through the shared memory 508 on the first display 180a, and the third virtualization machine 540 ) illustrates displaying image data received through the shared memory 508 on the second display 180b.
  • the image 905a displayed on the first display 180a and the image 905b displayed on the second display 180b are synchronized, so that the same images 905a and 905b are displayed at time T1, respectively. exemplifies what is happening.
  • the image data processed in the first virtualization machine 520 in the processor 175 is transmitted to the second virtualization machine 530 and the third virtualization machine 540 through the shared memory 508, and the image data Based on this, the first image 905a displayed on the first display 180a and the second image 905b displayed on the second display 180b may be the same. Accordingly, the same image can be displayed in synchronization on a plurality of displays 180a to 180b within the vehicle.
  • Figure 10 is a diagram showing another example of a system driven by the signal processing device of the present invention.
  • the system 500m running on the signal processing device 170 includes first to third virtualization machines 520 on the hypervisor 505 within the processor 175. ⁇ 540).
  • the second virtualization machine 530 operates for the first display 180a
  • the third virtualization machine 540 operates for the second display 180b.
  • the first virtual machine 520 in the processor 175 includes a camera manager (CMA) that controls the transmission of camera data to the second virtual machine 530 or the third virtual machine 540, and a second virtual machine (530) or a location information manager (GSA) that controls the transmission of location information data to the third virtual machine 540, and transmits touch input data to the second virtual machine 530 or the third virtual machine 540.
  • CMA camera manager
  • GSA location information manager
  • IMA controlling input manager
  • the first virtual machine 520 in the processor 175 further includes a sensor manager (VMA) that controls the transmission of sensor data to the second virtual machine 530 or the third virtual machine 540, and a An audio manager (AMA) that controls the transmission of audio data to the second virtual machine 530 or the third virtual machine 540 may be further executed. Accordingly, various external data can be shared efficiently.
  • VMA sensor manager
  • AMA An audio manager
  • the first virtual machine 520 in the processor 175 receives camera data from an external camera device, and the first virtual machine 520 executes a camera manager (CMA) and shares memory ( Transmission of camera data to the second virtual machine 530 or the third virtual machine 540 can be controlled using 508).
  • CMA camera manager
  • the first virtual machine 520 in the processor 175 receives location information data from an external GPS device, and the first virtual machine 520 executes a location information manager (GSA) and has a shared memory Using 508, transmission of location information data to the second virtual machine 530 or the third virtual machine 540 can be controlled.
  • GSA location information manager
  • first virtual machine 520 in processor 175 receives touch input data, and first virtual machine 520 executes an input manager (IMA) and uses shared memory 508.
  • IMA input manager
  • transmission of touch input data to the second virtual machine 530 or the third virtual machine 540 can be controlled.
  • the first virtual machine 520 in the processor 175 receives sensor data from an external sensor device or microcomputer, and the first virtual machine 520 executes a sensor manager (VMA) and shares Transmission of sensor data to the second virtual machine 530 or the third virtual machine 540 can be controlled using the memory 508.
  • VMA sensor manager
  • the first virtual machine 520 in the processor 175 receives audio data from an external network or an external audio device, and the first virtual machine 520 runs an audio manager (AMA) and , transmission of audio data to the second virtual machine 530 or the third virtual machine 540 can be controlled using the shared memory 508.
  • AMA audio manager
  • the first virtual machine 520 in the processor 175 may further execute a display manager (DMA) for controlling the overlay displayed on the first display 180a or the second display 180b.
  • the display manager (DMA) at this time may correspond to the display manager 527 in FIG. 5.
  • the first virtual machine 520 in the processor 175 may further execute a microcomputer manager (MMA) that controls the microcomputer in the vehicle.
  • MMA microcomputer manager
  • the camera manager (CMA), location information manager (GSA), input manager (IMA), sensor manager (VMA), audio manager (AMA), display manager (DMA), and microcomputer manager (MMA), etc. may be controlled by the system manager (SMA).
  • the first virtual machine 520 in the processor 175 executes the system manager (SMA), and the system manager (SMA) includes a camera manager (CMA), a location information manager (GSA), and an input manager ( IMA), sensor manager (VMA), audio manager (AMA), display manager (DMA), or microcontroller manager (MMA) can be selectively executed.
  • SMA system manager
  • CMA camera manager
  • GSA location information manager
  • IMA input manager
  • VMA sensor manager
  • AMA audio manager
  • DMA display manager
  • MMA microcontroller manager
  • the first virtual machine 520 in the processor 175 may run a system supervisor.
  • HMO Health Monitor
  • RPO Resource Profile
  • PSM Power Management
  • the first virtual machine 520 in the processor 175 may run AUTOSAR.
  • the first virtual machine 520 in the processor 175 may execute the input/output server interface 522 to share data with the second virtual machine 530 or the third virtual machine 540.
  • the drawing illustrates that input/output virtualization (IVS) and an interface backend (IFE) are executed or provided within the input/output server interface 522. However, in contrast, only the interface backend (IFE) is executed within the input/output server interface 522. Alternatively, it is also possible to have it provided.
  • IVS input/output virtualization
  • IFE interface backend
  • the interface backend (IFE) in the input/output server interface 522 may write data from the system manager (SMA) to the shared memory 508 based on the hypervisor 505.
  • the second virtualization machine 530 or the third virtualization machine 540 can read data recorded in the shared memory 508. Accordingly, data received from the outside can be efficiently shared with the second virtual machine 530 or the third virtual machine 540, which is a guest virtual machine.
  • the first virtual machine 520 in the processor 175 has a shared memory 508 based on the hyperfizer 505 for each camera manager (CMA), location information manager (GSA), and input manager (IMA). ) can be controlled to set each. Accordingly, data for each manager can be shared using each shared memory.
  • CMA camera manager
  • GSA location information manager
  • IMA input manager
  • the first virtual machine 520 in the processor 175 controls camera data from the camera manager (CMA) to be stored in the first shared memory, and stores location information from the location information manager (GSA). 2 Controlled to save in shared memory, and controlled to save input data or touch input data from the input manager (IMA) to a third shared memory. Accordingly, data for each manager can be shared using each shared memory.
  • CMA camera manager
  • GSA location information manager
  • IMA input manager
  • the shared memory 508 based on the hyperfizer 505 can be controlled to be set for each AMA), display manager (DMA), and microcontroller manager (MMA). Accordingly, data for each manager can be shared using each shared memory.
  • 11A to 11B show various examples of systems driven by a signal processing device related to the present invention.
  • Figure 11a shows an example of a system driven by a signal processing device related to the present invention.
  • a system 500x running on a signal processing device related to the present invention executes a hypervisor 505x within the signal processing device 170, and a plurality of virtual machines 530x on the hypervisor 505x. ,540x,550x) can be executed.
  • each virtual machine (530x, 540x, and 550x) may run a resource manager (RMax, RMbx, RMnx) that monitors the utilization rate of the processor core within the signal processing device 170.
  • RMax resource manager
  • RMbx resource manager
  • RMnx resource manager
  • a separate monitor 502 is required, as shown in the figure.
  • this monitor 502 operates independently of the plurality of virtual machines 530x, 540x, and 550x, and operates outside the plurality of virtual machines 530x, 540x, and 550x, particularly outside the hypervisor 505x. Since the resource utilization of virtual machines (530x, 540x, 550x) is monitored, it is difficult to determine which of the virtual machines (530x, 540x, 550x) has sufficient resources and which virtual machines have free resources. There is. Therefore, dynamic allocation of resources and load balancing control become difficult.
  • Figure 11b shows another example of a system running on a signal processing device related to the present invention.
  • a system 500y running on a signal processing device related to the present invention runs a hypervisor 505y within the signal processing device 170, and a plurality of virtual machines 530y on the hypervisor 505y. ,540y,550y) can be executed.
  • each virtual machine (530y, 540y, and 550y) may run a resource manager (R May, RMby, RMny) that monitors the utilization rate of the processor core within the signal processing device 170.
  • a resource manager (R May, RMby, RMny) that monitors the utilization rate of the processor core within the signal processing device 170.
  • each resource manager (R May, RMby, RMny) in FIG. 11B, unlike each resource manager (RMax, RMbx, RMnx) in FIG. 11A, in addition to the utilization rate of the processor core, the utilization rate of non-volatile memory and the utilization rate of volatile memory. You can monitor utilization, network utilization, or input/output interface utilization.
  • a separate monitor 502 is required, as shown in the figure.
  • this monitor 502 operates separately from the plurality of virtualization machines 530y, 540y, and 550y, and operates outside the plurality of virtualization machines 530y, 540y, and 550y, especially outside the hypervisor 505y, respectively. Since the resource utilization of virtualization machines (530y, 540y, 550y) is monitored, it is difficult to determine which of the virtualization machines (530y, 540y, 550y) has sufficient resources and which virtualization machine has free resources. There is. Therefore, dynamic allocation of resources and load balancing control become difficult.
  • the present invention proposes a method for monitoring and efficiently utilizing resource usage information of multiple virtual machines within a hypervisor.
  • Figure 12 illustrates an example of a system running on a signal processing device according to an embodiment of the present invention.
  • the system 500m running in the signal processing device 170 is a server virtualization machine on the hypervisor 505 in the processor 175 in the signal processing device 170.
  • the second virtualization machine 530 is a virtualization machine for the cluster display 180a
  • the third virtualization machine 540 is a virtualization machine for the AVN display 180b
  • the fourth virtualization machine 550 is a RSE display. It may be a virtualization machine for (180c).
  • the first virtual machine 520 which is a server virtualization machine, has an interface 521 for input and output of audio data, radio data, USB data, and wireless communication data, and an input/output server interface 522 for data communication with the guest virtual machine. ) can be provided.
  • the second virtual machine 530, the third virtual machine 540, and the fourth virtual machine 550 which are guest virtual machines, are each used for data communication with the first virtual machine 520, which is a server virtual machine. It may be provided with input/output client interfaces (532, 542, and 552).
  • the signal processing device 170 includes a plurality of processor cores (175a1 to 175a4), a cache (LCA), a plurality of memories (140a1 to 140a4), a location information driver (GS) for receiving or processing location information data, A touch driver (TU) for receiving or processing touch input data and a camera driver (CA) for receiving or processing camera image data may be provided.
  • processor cores (175a1 to 175a4)
  • cache cache
  • 140a1 to 140a4 a plurality of memories
  • GS location information driver
  • TU touch driver
  • CA camera driver
  • some of the plurality of memories 140a1 to 140a4 may be non-volatile memories, and others may be volatile memories.
  • the signal processing device 170 may further include a neural network processor (NPa) for a neural network processing process, a graphics processor (GPa) for a graphics processing processor, and a high-speed interface (HSI) for high-speed data transmission.
  • NPa neural network processor
  • GPa graphics processor
  • HSA high-speed interface
  • the high-speed interface (HSI) may support PCIe, CCIX, or CXL.
  • each virtual machine 520 to 550 may run a resource manager (RMo, RMa, RMb, RMn) to manage resources related to each virtual machine.
  • RMo resource manager
  • RMa resource manager
  • RMb resource manager
  • Each resource manager (RMo, RMa, RMb, RMn) has a utilization rate of the processor cores (175a1 to 175a4), a cache (LCA) utilization rate, a non-volatile memory utilization rate, a volatile memory utilization rate, a network utilization rate, Alternatively, at least one of the usage rates of the input/output interface (HSI) may be monitored.
  • the hypervisor 505 in the processor 175 monitors resource usage information of the plurality of virtual machines 520 to 550, and monitors the resource usage information of the plurality of virtual machines 520 to 550. Perform allocation or reallocation. Accordingly, it is possible to monitor and efficiently utilize resource usage information of a plurality of virtual machines (520 to 550) within the hypervisor 505.
  • resource usage information of each virtual machine 520 to 550 monitored by the hypervisor 505 in the processor 175 may be transmitted to each resource manager (RMo, RMa, RMb, RMn). .
  • the hypervisor 505 in the processor 175 controls the resources of the plurality of virtual machines 520 to 550 based on the resource management request of the first virtual machine 520 among the plurality of virtual machines 520 to 550. Usage information can be monitored, and resources of a plurality of virtual machines 520 to 550 can be allocated or reallocated. Accordingly, it is possible to monitor and efficiently utilize resource usage information of a plurality of virtual machines (520 to 550) within the hypervisor 505.
  • the hypervisor 505 in the processor 175 operates as a guest among the plurality of virtual machines 520 to 550 based on the resource management request of the first virtual machine 520 among the plurality of virtual machines 520 to 550.
  • Resource usage information of virtual machines (530, 540, and 550) can be monitored, and resources of a plurality of virtual machines (520 to 550) can be reallocated or reset. Accordingly, it is possible to monitor and efficiently utilize resource usage information of a plurality of virtual machines (520 to 550) within the hypervisor 505.
  • the hypervisor 505 in the processor 175 operates the second virtualization machine based on the resource management request of the first virtual machine 520.
  • Resource usage information of the machine 530 and the third virtual machine 540 can be monitored, and resources of the plurality of virtual machines 520 to 550 can be reallocated or reset. Accordingly, it is possible to monitor and efficiently utilize resource usage information of a plurality of virtual machines (520 to 550) within the hypervisor 505.
  • the resource usage information of each virtualization machine collected by the hypervisor 505 may be transmitted to the first virtualization machine 520 among the plurality of virtualization machines 520 to 550. Accordingly, the first virtual machine 520 can collect resource usage information.
  • the resource usage information may include at least one of a processor core usage rate, a non-volatile memory usage rate, a volatile memory usage rate, a network usage rate, or an input/output interface usage rate within the signal processing device 170. Accordingly, it is possible to efficiently utilize the processor core, non-volatile memory, volatile memory, network, or input/output interface within the signal processing device 170.
  • Figure 13 illustrates another example of a system running on a signal processing device according to an embodiment of the present invention.
  • the system 500ma running in the signal processing device 170 is, similar to the system 500m of FIG. 12, within the processor 175 in the signal processing device 170.
  • a first virtualization machine 520 is a server virtualization machine
  • a second virtualization machine 530 is a first guest virtualization machine
  • a third virtualization machine 540 is a second guest virtualization machine
  • a third guest is executed.
  • the difference between the system 500ma running on the signal processing device 170 of FIG. 13 is that it includes a resource provider 1310 and a load balancing manager 1320 in the hypervisor 505. Therefore, the description of the same operation as in FIG. 12 will be omitted and the description will focus on the differences.
  • each resource manager (RMa to RMc) in the plurality of guest virtual machines 530 to 550 respectively executes a plurality of virtualization processor cores (VCR1a to VCRna, VCR1b to VCRnb, and VCR1n to VCRnn), through which, This example illustrates monitoring or managing the utilization of a plurality of processor cores.
  • the hypervisor 505 in the processor 175 includes a load balancing manager 1320 that controls load balancing for processor cores of a plurality of virtual machines 520 to 550, and a plurality of virtual machines 520 to 550. It may be provided with a resource provider 1310 that performs allocation or reallocation of resources.
  • the resource provider 1310 may monitor resource usage information of the plurality of virtual machines 520 to 550 and allocate or reallocate resources of the plurality of virtual machines 520 to 550.
  • the resource provider 1310 provides resource usage information of the plurality of virtual machines 520 to 550 based on the resource management request of the first virtual machine 520 among the plurality of virtual machines 520 to 550. It is possible to monitor and allocate or reallocate resources of a plurality of virtual machines (520 to 550).
  • the resource provider 1310 selects the resources of the guest virtual machine among the plurality of virtual machines 520 to 550 based on the resource management request of the first virtual machine 520 among the plurality of virtual machines 520 to 550. Usage information can be monitored and resource reallocation or reset of a plurality of virtual machines (520 to 550) can be performed.
  • the resource provider 1310 monitors resource usage information of the second virtual machine 530 and the third virtual machine 540 based on the resource management request of the first virtual machine 520, and provides a plurality of Resource reallocation or reset of virtual machines (520 to 550) can be performed.
  • the resource provider 1310 may transmit the collected resource usage information of each virtual machine to the first virtual machine 520 among the plurality of virtual machines 520 to 550.
  • the resource usage information may include the utilization rate of the processor core within the signal processing device 170.
  • the load balancing manager 1320 may control only the fourth virtual machine 550, whose dedicated processor core usage rate is overloaded, among the plurality of virtual machines 520 to 550 to use the shared processor core. Accordingly, the plurality of processor cores 175a1 to 175a4 within the signal processing device 170 can be efficiently utilized.
  • the load balancing manager 1320 controls to convert some of the dedicated processor cores to shared processor cores or convert some of the shared processor cores to dedicated processor cores, based on the utilization rate of the dedicated processor cores or shared processor cores. You can. Accordingly, the plurality of processor cores 175a1 to 175a4 within the signal processing device 170 can be efficiently utilized.
  • the load balancing manager 1320 controls load balancing to be performed when the usage rate of each dedicated processor core of the plurality of virtual machines 520 to 550 is overloaded, and when the overload is resolved, load balancing is performed. You can control it to end. Accordingly, the plurality of processor cores 175a1 to 175a4 within the signal processing device 170 can be efficiently utilized.
  • the load balancing manager 1320 checks the idle time of the processor cores of the plurality of virtual machines 520 to 550, and based on the idle time, determines the number required for the plurality of virtual machines 520 to 550. You can control the allocation of dedicated processor cores and shared processor cores. Accordingly, the plurality of processor cores 175a1 to 175a4 within the signal processing device 170 can be efficiently utilized.
  • the load balancing manager 1320 may control the use of shared processor cores to be turned off in the order in which the utilization rate of each dedicated processor core of the plurality of virtual machines 520 to 550 is low. Accordingly, the plurality of processor cores 175a1 to 175a4 within the signal processing device 170 can be efficiently utilized.
  • Figure 14 illustrates another example of a system running on a signal processing device according to an embodiment of the present invention.
  • the system 500mb running in the signal processing device 170 is similar to the system 500ma of FIG. 13, within the processor 175 in the signal processing device 170.
  • a first virtualization machine 520 is a server virtualization machine
  • a second virtualization machine 530 is a first guest virtualization machine
  • a third virtualization machine 540 is a second guest virtualization machine
  • a third guest is executed.
  • system 500mb running on the signal processing device 170 of FIG. 14 includes a resource provider 1310 and a load balancing manager 1320 within the hypervisor 505, similar to FIG. 13.
  • each resource manager (RMa to RMc) in the plurality of guest virtual machines 530 to 550 has a plurality of virtualized processor cores (VCR1a to VCRna, VCR1b to VCRnb, VCR1n to VCRnn) and virtualized volatile memory (VRAa to VCRnn), respectively.
  • VRAn virtualized non-volatile memory
  • VRNa ⁇ VRNn virtualized network and input/output interface
  • the hypervisor 505 in the system 500ma running on the signal processing device 170 of FIG. 13 allocates or reallocates resources or performs load balancing based on the utilization rate of a plurality of processor cores.
  • the hypervisor 505 in the processor 175 includes a load balancing manager 1320 that controls load balancing for processor cores of a plurality of virtual machines 520 to 550, and a plurality of virtual machines 520 to 550. It may be provided with a resource provider 1310 that performs allocation or reallocation of resources.
  • the resource provider 1310 monitors resource usage information of the second virtual machine 530 and the third virtual machine 540 based on the resource management request of the first virtual machine 520, and provides a plurality of Resource reallocation or reset of virtual machines (520 to 550) can be performed.
  • the resource usage information may include at least one of a processor core usage rate, a non-volatile memory usage rate, a volatile memory usage rate, a network usage rate, or an input/output interface usage rate within the signal processing device 170.
  • the resource provider 1310 monitors at least one of processor core usage, non-volatile memory usage, volatile memory usage, network usage, and input/output interface usage, and monitors a plurality of virtual machines 520. ⁇ 550) may perform resource reallocation or reconfiguration related to each processor core, non-volatile memory, volatile memory, network, or input/output interface.
  • the load balancing manager 1320 may control only virtual machines with overloaded non-volatile memory utilization among the plurality of virtual machines 520 to 550 to use non-volatile memory. Accordingly, the non-volatile memory within the signal processing device 170 can be efficiently utilized.
  • the load balancing manager 1320 may control so that only virtual machines with overloaded volatile memory utilization among the plurality of virtual machines 520 to 550 use volatile memory. Accordingly, the volatile memory within the signal processing device 170 can be efficiently utilized.
  • the load balancing manager 1320 may control the network to be used only by virtual machines whose network utilization is overloaded among the plurality of virtual machines 520 to 550. Accordingly, the network within the signal processing device 170 can be utilized efficiently.
  • the load balancing manager 1320 can control the input/output interface to be used only by virtual machines whose usage rate of the input/output interface is overloaded among the plurality of virtual machines 520 to 550. Accordingly, the input/output interface within the signal processing device 170 can be utilized efficiently.
  • the load balancing manager 1320 when at least one of the utilization of a plurality of processor cores, the utilization of volatile memory, the utilization of the network, or the utilization of the input/output interface of the plurality of virtual machines 520 to 550 is overloaded, Load balancing can be controlled to be performed, and when overload is resolved, load balancing can be controlled to end. Accordingly, at least one of a plurality of processor cores, volatile memory, network, or input/output interface within the signal processing device 170 can be efficiently utilized.
  • the load balancing manager 1320 determines at least one idle time among the utilization rate of a plurality of processor cores of the plurality of virtual machines 520 to 550, the utilization rate of volatile memory, the utilization rate of the network, or the utilization rate of the input/output interface. can be checked and controlled to allocate at least one of the required number of processor cores, volatile memory, network, or input/output interface to the plurality of virtual machines 520 to 550 based on the idle time. Accordingly, at least one of a plurality of processor cores, volatile memory, network, or input/output interface within the signal processing device 170 can be efficiently utilized.
  • the load balancing manager 1320 stores a plurality of processor cores, volatile memory, and volatile memory in the order of lowest utilization of at least one of the plurality of processor cores, volatile memory, network, or input/output interface of the plurality of virtual machines 520 to 550. , the use of at least one of the network, or the input/output interface can be controlled to be turned off. Accordingly, at least one of a plurality of processor cores, volatile memory, network, or input/output interface within the signal processing device 170 can be efficiently utilized.
  • FIGS. 15 to 17B are diagrams referenced in the description of the operation of FIG. 12 or FIG. 13 .
  • Figure 15 is a diagram showing a method of operating a signal processing device according to an embodiment of the present invention.
  • the hypervisor 505 in the signal processing device 170 monitors resource usage information of a plurality of virtual machines 520 to 550 (S1510).
  • the resource usage information may include at least one of the usage rate of the processor core in the signal processing device 170, the usage rate of the non-volatile memory, the usage rate of the volatile memory, the network usage rate, and the input/output interface usage rate.
  • the hypervisor 505 in the signal processing device 170 selects an operating virtualization machine among the plurality of virtualization machines 520 to 550 (S1520).
  • the second virtualization machine 530 which is the first guest virtualization machine
  • the fourth virtualization machine 550 which is the third guest virtualization machine
  • the hypervisor 505 in the signal processing device 170 may select the second virtualization machine 530 as a spare virtualization machine and the fourth virtualization machine 550 as an overload virtualization machine.
  • the hypervisor 505 in the signal processing device 170 checks the overload resources of the overload virtual machine (S1532) and checks the free resources of the spare virtual machine (S1533).
  • the hypervisor 505 in the signal processing device 170 may reallocate or reset resources for the overload virtualization machine and the spare virtual machine (S1534).
  • the hypervisor 505 in the signal processing device 170 allocates the reallocated resources to the overload virtualization machine (S1536) and controls to release the spare resources from the spare virtual machines (S1537).
  • the hypervisor 505 in the signal processing device 170 reallocates resources so that only the fourth virtualization machine 550, which is an overload virtualization machine, uses a shared processor core, and the second virtualization machine 550, which is a spare virtualization machine, reallocates resources to use the shared processor core.
  • the virtualization machine 520 may release resources so as not to use the shared processor core. Accordingly, it is possible to monitor and efficiently utilize resource usage information of a plurality of virtual machines (520 to 550) within the hypervisor 505.
  • FIGS. 16A to 16C are diagrams referenced in the description of the operation of FIG. 15.
  • FIG. 16A illustrates a system 500mc running on the signal processing device 170 according to an embodiment of the present invention.
  • the processor 175 in the signal processing device 170 includes a first virtualization machine 520, which is a server virtualization machine, and a first guest virtualization machine on the hypervisor 505.
  • the second virtualization machine 530, the third virtualization machine 540, which is the second guest virtualization machine, and the fourth virtualization machine 550, which is the third guest virtualization machine, can be executed.
  • system 500mc running on the signal processing device 170 of FIG. 16A may include a resource provider 1310 and a load balancing manager 1320 within the hypervisor 505, similar to FIG. 13. there is.
  • a plurality of guest virtual machines 530 to 550 in the system 500mc running on the signal processing device 170 of FIG. 16A may execute each resource manager (RMa to RMc), similar to FIG. 13.
  • the first virtual machine 520 in the system 500mc running on the signal processing device 170 of FIG. 16A uses the resources of the first virtual machine 520 and the plurality of guest virtual machines 530 to 550.
  • a resource monitor 1330 that monitors information may be provided.
  • the second virtualization machine 530 which is the first guest virtualization machine, may execute or use a plurality of virtualization dedicated processor cores (VCR1a, VCR2a) and a plurality of virtualization shared processor cores (VCR7a, VCR8a).
  • VCR1a, VCR2a virtualization dedicated processor cores
  • VCR7a, VCR8a virtualization shared processor cores
  • the third virtualization machine 540 which is the second guest virtualization machine, may execute or use a plurality of virtualization dedicated processor cores (VCR3a, VCR4a) and a plurality of virtualization shared processor cores (VCR7a, VCR8a).
  • VCR3a, VCR4a virtualization dedicated processor cores
  • VCR7a, VCR8a virtualization shared processor cores
  • the fourth virtualization machine 550 which is the third guest virtualization machine, may execute or use a plurality of virtualization-only processor cores (VCR5a and VCR6a) and a plurality of virtualization shared processor cores (VCR7a and VCR8a).
  • VCR5a and VCR6a virtualization-only processor cores
  • VCR7a and VCR8a virtualization shared processor cores
  • the signal processing device 170 of FIG. 16A includes a plurality of processor cores (PCR1 to PCR8).
  • the signal processing device 170 of FIG. 16A includes, in addition to a plurality of processor cores (PCR1 to PCR8), a plurality of memories (140a1 to 140a4), a neural network processor (NPa), a graphics processor (GPa) for a graphics processing processor, A high-speed interface (HSI) for high-speed data transmission may be further provided.
  • PCR1 to PCR8 a plurality of processor cores
  • 140a1 to 140a4 a plurality of memories
  • NPa neural network processor
  • GPa graphics processor
  • a high-speed interface (HSI) for high-speed data transmission may be further provided.
  • the plurality of processor cores include shared processor cores (PCR7 and PCR8) shared by the plurality of virtual machines (520 to 550) and dedicated processor cores for each of the plurality of virtual machines (520 to 550). It can be divided into (PCR1 ⁇ PCR6).
  • the hypervisor 505 prevents virtual machines in which the utilization rates of dedicated processor cores (PCR1 to PCR6) among the plurality of virtual machines (520 to 550) are not overloaded from using the shared processor cores (PCR7, PCR8). You can control it. Accordingly, a plurality of processor cores (PCR1 to PCR8) within the signal processing device 170 can be efficiently utilized.
  • the hypervisor 505 is dedicated to the plurality of virtualization machines 520 to 550 in a state where some of the virtualization machines among the plurality of virtualization machines 520 to 550 do not use the shared processor cores (PCR7, PCR8).
  • a virtualization machine in which the utilization of processor cores (PCR1 to PCR6) is overloaded can be controlled to use the shared processor cores (PCR7, PCR8) exclusively, or to increase the utilization of the shared processor cores (PCR7, PCR8). Accordingly, a plurality of processor cores (PCR1 to PCR8) within the signal processing device 170 can be efficiently utilized.
  • the hypervisor 505 controls load balancing to be performed when the utilization rates of each dedicated processor core (PCR1 to PCR6) of the plurality of virtual machines 520 to 550 are overloaded, and when the overload is resolved, the hypervisor 505 controls load balancing to be performed. , load balancing can be controlled to end. Accordingly, load balancing within the signal processing device 170 can be performed efficiently.
  • FIG. 16B shows dedicated processor cores (PCR1 to PCR1) of the second virtualization machine 530, which is the first guest virtualization machine, and the third virtual machine 540, which is the second guest virtualization machine, among the plurality of guest virtualization machines 530 to 550.
  • the usage rate of PCR4 is not overloaded and is sufficient
  • the usage rate of the dedicated processor cores (PCR5 to PCR6) of the fourth virtual machine 550 is overloaded.
  • the hypervisor 505 operates a second virtualization machine 530 and a third virtualization machine in which the utilization rate of the dedicated processor cores (PCR1 to PCR4) among the plurality of virtualization machines 520 to 550 is not overloaded.
  • the machine 540 can be controlled not to use the shared processor cores (PCR7 and PCR8). Accordingly, a plurality of processor cores (PCR1 to PCR8) within the signal processing device 170 can be efficiently utilized.
  • the hypervisor 505 operates only the fourth virtualization machine 550, where the utilization rate of the dedicated processor cores (PCR1 to PCR6) among the plurality of virtualization machines 520 to 550 is overloaded, and the shared processor core (PCR7). , PCR8) can be controlled to use. Accordingly, a plurality of processor cores (PCR1 to PCR8) within the signal processing device 170 can be efficiently utilized.
  • 16C shows that among the plurality of guest virtualization machines 530 to 550, the second virtualization machine 530, which is the first guest virtualization machine, and the third virtualization machine 540, which is the second guest virtualization machine, are spare virtualization machines, This illustrates that the fourth virtualization machine 550 is an overloaded virtualization machine.
  • the second virtualization machine 530 which is the first guest virtualization machine, executes or uses a plurality of virtualization dedicated processor cores (VCR1a, VCR2a) and a plurality of virtualization shared processor cores (VCR7a, VCR8a), and 2
  • the third virtual machine 540 which is a guest virtualization machine, executes or uses a plurality of virtualization dedicated processor cores (VCR3a, VCR4a) and a plurality of virtualization shared processor cores (VCR7a, VCR8a), and the third virtualization machine 540, which is a third guest virtualization machine, 4
  • the virtualization machine 550 may execute or use a plurality of virtualization dedicated processor cores (VCR5a, VCR6a) and a plurality of virtualization shared processor cores (VCR7a and VCR8a).
  • the load balancing manager 1320 in the hypervisor 505 checks the idle time of the processor cores of the plurality of virtualization machines 520 to 550 (S1710) and, based on the idle time, configures the plurality of virtualization machines. It can be controlled to allocate the required number of dedicated processor cores (PCR1 to PCR6) and shared processor cores (PCR7, PCR8) to the machines (520 to 550).
  • the hypervisor 505 may control the use of shared processor cores (PCR7, PCR8) to be turned off for some virtualization machines.
  • shared processor cores PCR7, PCR8
  • the hypervisor 505 may control the use of the shared processor cores (PCR7 and PCR8) to be turned off for the second virtual machine 530 and the third virtual machine. Accordingly, a plurality of processor cores (PCR1 to PCR8) within the signal processing device 170 can be efficiently utilized.
  • the hypervisor 505 controls the use of the shared processor cores (PCR7 and PCR8) to be turned off in order of the lowest utilization of each dedicated processor core (PCR1 to PCR6) of the plurality of virtual machines (520 to 550). (S1730). Accordingly, a plurality of processor cores (PCR1 to PCR8) within the signal processing device 170 can be efficiently utilized.
  • the hypervisor 505 selects some of the dedicated processor cores (PCR1 to PCR6) based on the utilization rate of the dedicated processor cores (PCR1 to PCR6) or the shared processor cores (PCR7 and PCR8) to the shared processor cores (PCR7 and PCR8). ), or control to convert part of the shared processor cores (PCR7, PCR8) into dedicated processor cores (PCR1 to PCR6).
  • 17A illustrates that images are displayed on the second display 180b and the third display 180c in the vehicle 200 when dynamic allocation of resources and load balancing control are difficult, as shown in FIGS. 11A and 11B. do.
  • FIG. 17B shows images displayed on the second display 180b and the third display 180c in the vehicle 200 when dynamic allocation of resources and load balancing control are difficult, according to an embodiment of the present invention. Illustrate.
  • the signal processing device 170 displays a stable first image 1810 and a second image on the second display 180b and the third display 180c in the vehicle 200 based on resource monitoring and load balancing. (1830) can now be displayed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치에 관한 것이다. 본 발명의 일 실시예에 따른 따른 신호 처리 장치는, 차량에 장착되는 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하고, 프로세서는, 프로세서 내의 하이퍼바이저 상에서, 복수의 가상화 머신을 실행하며, 프로세서 내의 하이퍼바이저는, 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신의 리소스의 할당 또는 재할당을 실행한다. 이에 의해, 하이퍼바이저 내에서 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고 효율적으로 활용할 수 있게 된다.

Description

신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
본 발명은 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치에 관한 것이며, 더욱 상세하게는 하이퍼바이저 내에서 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고 효율적으로 활용할 수 있는 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치에 관한 것이다.
차량은 탑승하는 사용자가 원하는 방향으로 이동시키는 장치이다. 대표적으로 자동차를 예를 들 수 있다.
한편, 차량을 이용하는 사용자의 편의를 위해, 차량 내부에 차량용 디스플레이 장치가 탑재되고 있다.
예를 들어, 클러스터 등에 디스플레이가 배치되어, 각 종 정보를 표시한다. 한편, 차량 주행 정보 등의 표시를 위해, 클러스터와 별도로, AVN(Audio Video Navigation) 디스플레이 등 다양한 디스플레이가 차량에 장착되는 추세이다.
한편, 한국등록특허번호 제10-1072807호(이하 '선행 문헌'이라 함)는, 가상 머신 모니터 시스템을 개시한다.
선행 문헌의 가상 머신 모니터 시스템은, 복수의 게스트 운영체제에서, 메모리를 필요로 하는 가상 머신으로 메모리를 할당하는 것이 개시된다.
그러나 선행 문헌에 의하면, 메모리를 순차 패턴과 비순차 패턴으로 나누어, 메모리를 할당하는 것으로, 신호 처리 장치 내의 프로세서 코어에 대한 로드 밸런싱을 수행할 수 없다는 단점이 있다.
본 발명의 목적은, 하이퍼바이저 내에서 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고 효율적으로 활용할 수 있는 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치를 제공함에 있다.
한편, 본 발명의 다른 목적은, 복수의 프로세서 코어를 효율적으로 활용할 수 있는 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치를 제공함에 있다.
한편, 본 발명의 또 다른 목적은, 프로세서 코어, 비휘발성 메모리, 휘발성 메모리, 네트워크, 또는 입출력 인터페이스를 효율적으로 활용할 수 있는 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 신호 처리 장치는, 차량에 장착되는 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하고, 프로세서는, 프로세서 내의 하이퍼바이저 상에서, 복수의 가상화 머신을 실행하며, 프로세서 내의 하이퍼바이저는, 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신의 리소스의 할당 또는 재할당을 실행한다.
한편, 프로세서 내의 하이퍼바이저는, 복수의 가상화 머신 중 제1 가상화 머신의 리소스 관리 요청에 기초하여, 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신의 리소스의 할당 또는 재할당을 실행할 수 있다.
한편, 프로세서 내의 하이퍼바이저는, 복수의 가상화 머신 중 제1 가상화 머신의 리소스 관리 요청에 기초하여, 복수의 가상화 머신 중 게스트 가상화 머신의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신의 리소스 재할당 또는 재설정을 실행할 수 있다.
한편, 복수의 가상화 머신 중 제2 가상화 머신은 제1 디스플레이를 위해 동작하며, 제3 가상화 머신은, 제2 디스플레이를 위해 동작하며, 프로세서 내의 하이퍼바이저는, 제1 가상화 머신의 리소스 관리 요청에 기초하여, 제2 가상화 머신과 제3 가상화 머신의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신의 리소스 재할당 또는 재설정을 실행할 수 있다.
한편, 하이퍼바이저에서 수집된 각 가상화 머신의 리소스 사용 정보는, 복수의 가상화 머신 중 제1 가상화 머신으로 전달될 수 있다.
한편, 리소스 사용 정보는, 신호 처리 장치 내의 프로세서 코어의 사용률, 비휘발성 메모리의 사용률, 휘발성 메모리의 사용률, 네트워크의 사용률, 또는 입출력 인터페이스의 사용률 중 적어도 하나를 포함할 수 있다.
한편, 신호 처리 장치는, 복수의 프로세서 코어를 더 포함하고, 복수의 프로세서 코어는, 복수의 가상화 머신에 공유되는 공유 프로세서 코어와, 복수의 가상화 머신 각각을 위한 전용 프로세서 코어로 구분되고, 하이퍼바이저는, 복수의 가상화 머신 중 전용 프로세서 코어의 사용률이 오버로드되지 않는 가상화 머신이, 공유 프로세서 코어를 사용하지 않도록 제어할 수 있다.
한편, 신호 처리 장치는, 복수의 프로세서 코어를 더 포함하고, 복수의 프로세서 코어는, 복수의 가상화 머신에 공유되는 공유 프로세서 코어와, 복수의 가상화 머신 각각을 위한 전용 프로세서 코어로 구분되고, 하이퍼바이저는, 복수의 가상화 머신 중 일부 가상화 머신이, 공유 프로세서 코어를 사용하지 않는 상태에서, 복수의 가상화 머신 중 전용 프로세서 코어의 사용률이 오버로드되는 가상화 머신이, 공유 프로세서 코어를 전용으로 사용하거나, 공유 프로세서 코어의 사용률이 증가하도록 제어할 수 있다.
한편, 신호 처리 장치는, 복수의 프로세서 코어를 더 포함하고, 복수의 프로세서 코어는, 복수의 가상화 머신에 공유되는 공유 프로세서 코어와, 복수의 가상화 머신 각각을 위한 전용 프로세서 코어로 구분되고, 하이퍼바이저는, 복수의 가상화 머신 중 전용 프로세서 코어의 사용률이 오버로드되지 않는 제2 가상화 머신 및 제3 가상화 머신이, 공유 프로세서 코어를 사용하지 않도록 제어할 수 있다.
한편, 하이퍼바이저는, 복수의 가상화 머신 중 전용 프로세서 코어의 사용률이 오버로드되는 제4 가상화 머신만 공유 프로세서 코어를 사용하도록 제어할 수 있다.
한편, 신호 처리 장치는, 복수의 프로세서 코어를 더 포함하고, 복수의 프로세서 코어는, 복수의 가상화 머신에 공유되는 공유 프로세서 코어와, 복수의 가상화 머신 각각을 위한 전용 프로세서 코어로 구분되고, 하이퍼바이저는, 전용 프로세서 코어 또는 공유 프로세서 코어의 사용률에 기초하여, 전용 프로세서 코어 중 일부를 공유 프로세서 코어로 전환하거나, 공유 프로세서 코어의 일부를 전용 프로세서 코어로 전환하도록 제어할 수 있다.
한편, 신호 처리 장치는, 복수의 프로세서 코어를 더 포함하고, 복수의 프로세서 코어는, 복수의 가상화 머신에 공유되는 공유 프로세서 코어와, 복수의 가상화 머신 각각을 위한 전용 프로세서 코어로 구분되고, 하이퍼바이저는, 복수의 가상화 머신의 각 전용 프로세서 코어의 사용률이 오버로드되는 경우, 로드 밸런싱이 수행되도록 제어하며, 오버로드가 해소되는 경우, 로드 밸런싱이 종료되도록 제어할 수 있다.
한편, 신호 처리 장치는, 복수의 프로세서 코어를 더 포함하고, 하이퍼바이저는, 복수의 가상화 머신의 프로세서 코어의 아이들(idle) 시간을 확인하고, 아이들 시간에 기초하여, 복수의 가상화 머신에 필요한 개수의 전용 프로세서 코어와 공유 프로세서 코어를 할당하도록 제어할 수 있다.
한편, 하이퍼바이저는, 복수의 가상화 머신의 각 전용 프로세서 코어의 사용률이 낮은 순서대로, 공유 프로세서 코어의 사용이 오프되도록 제어할 수 있다.
한편, 복수의 가상화 머신 중 제1 가상화 머신은, 리소스 사용 정보를 모니터링하는 리소스 모니터를 구비하고, 프로세서 내의 하이퍼바이저는, 복수의 가상화 머신의 프로세서 코어에 대한 로드 밸런싱을 제어하는 로드 밸런싱 매니저와, 복수의 가상화 머신의 리소스의 할당 또는 재할당을 실행하는 리소스 프로바이더를 구비할 수 있다.
한편, 프로세서 내의 제1 가상화 머신은, 카메라 데이터의 전송을 제어하는 카메라 매니저와, 위치 정보 데이터의 전송을 제어하는 위치 정보 매니저와, 터치 입력 데이터의 전송을 제어하하는 입력 매니저를 실행하도록 제어할 수 있다.
한편, 프로세서 내의 제1 가상화 머신은, 카메라 매니저와, 위치 정보 매니저와, 입력 매니저 별로, 하이버파이저 기반의 공유 메모리를 각각 설정하도록 제어할 수 있다.
한편, 프로세서 내의 제1 가상화 머신은, 카메라 데이터의 전송을 제어하는 카메라 매니저와, 위치 정보 데이터의 전송을 제어하는 위치 정보 매니저와, 터치 입력 데이터의 전송을 제어하하는 입력 매니저를 실행하도록 제어할 수 있다. 이에 따라, 각종 외부 데이터를 효율적으로 공유할 수 있게 된다.
한편, 프로세서 내의 제1 가상화 머신은, 카메라 매니저와, 위치 정보 매니저와, 입력 매니저 별로, 하이버파이저 기반의 공유 메모리를 각각 설정하도록 제어할 수 있다. 이에 따라, 각 매니저 별 데이터를 각 공유 메모리를 이용하여 공유할 수 있게 된다.
한편, 본 발명의 일 실시예에 따른 차량용 디스플레이 장치는, 차량 내에 배치되는 제1 디스플레이와 제2 디스플레이와, 제1 디스플레이와 제2 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하는 신호 처리 장치를 구비하고, 신호 처리 장치는, 차량에 장착되는 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하고, 프로세서는, 프로세서 내의 하이퍼바이저 상에서, 복수의 가상화 머신을 실행하며, 프로세서 내의 하이퍼바이저는, 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신의 리소스의 할당 또는 재할당을 실행한다.
한편, 신호 처리 장치는, 리소스 모니터링 및 로드 밸런싱에 기초하여, 제1 디스플레이에, 제1 영상을 표시하는 중에, 제2 디스플레이에 제2 영상을 표시하도록 제어할 수 있다.
본 발명의 일 실시예에 따른 신호 처리 장치는, 차량에 장착되는 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하고, 프로세서는, 프로세서 내의 하이퍼바이저 상에서, 복수의 가상화 머신을 실행하며, 프로세서 내의 하이퍼바이저는, 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신의 리소스의 할당 또는 재할당을 실행한다. 이에 따라, 하이퍼바이저 내에서 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고 효율적으로 활용할 수 있게 된다.
한편, 프로세서 내의 하이퍼바이저는, 복수의 가상화 머신 중 제1 가상화 머신의 리소스 관리 요청에 기초하여, 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신의 리소스의 할당 또는 재할당을 실행할 수 있다. 이에 따라, 하이퍼바이저 내에서 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고 효율적으로 활용할 수 있게 된다.
한편, 프로세서 내의 하이퍼바이저는, 복수의 가상화 머신 중 제1 가상화 머신의 리소스 관리 요청에 기초하여, 복수의 가상화 머신 중 게스트 가상화 머신의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신의 리소스 재할당 또는 재설정을 실행할 수 있다. 이에 따라, 하이퍼바이저 내에서 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고 효율적으로 활용할 수 있게 된다.
한편, 복수의 가상화 머신 중 제2 가상화 머신은 제1 디스플레이를 위해 동작하며, 제3 가상화 머신은, 제2 디스플레이를 위해 동작하며, 프로세서 내의 하이퍼바이저는, 제1 가상화 머신의 리소스 관리 요청에 기초하여, 제2 가상화 머신과 제3 가상화 머신의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신의 리소스 재할당 또는 재설정을 실행할 수 있다. 이에 따라, 하이퍼바이저 내에서 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고 효율적으로 활용할 수 있게 된다.
한편, 하이퍼바이저에서 수집된 각 가상화 머신의 리소스 사용 정보는, 복수의 가상화 머신 중 제1 가상화 머신으로 전달될 수 있다. 이에 따라, 제1 가상화 머신은 리소스 사용 정보를 수집할 수 있게 된다.
한편, 리소스 사용 정보는, 신호 처리 장치 내의 프로세서 코어의 사용률, 비휘발성 메모리의 사용률, 휘발성 메모리의 사용률, 네트워크의 사용률, 또는 입출력 인터페이스의 사용률 중 적어도 하나를 포함할 수 있다. 이에 따라, 신호 처리 장치 내의 프로세서 코어, 비휘발성 메모리, 휘발성 메모리, 네트워크, 또는 입출력 인터페이스를 효율적으로 활용할 수 있게 된다.
한편, 신호 처리 장치는, 복수의 프로세서 코어를 더 포함하고, 복수의 프로세서 코어는, 복수의 가상화 머신에 공유되는 공유 프로세서 코어와, 복수의 가상화 머신 각각을 위한 전용 프로세서 코어로 구분되고, 하이퍼바이저는, 복수의 가상화 머신 중 전용 프로세서 코어의 사용률이 오버로드되지 않는 가상화 머신이, 공유 프로세서 코어를 사용하지 않도록 제어할 수 있다. 이에 따라, 신호 처리 장치 내의 복수의 프로세서 코어를 효율적으로 활용할 수 있게 된다.
한편, 신호 처리 장치는, 복수의 프로세서 코어를 더 포함하고, 복수의 프로세서 코어는, 복수의 가상화 머신에 공유되는 공유 프로세서 코어와, 복수의 가상화 머신 각각을 위한 전용 프로세서 코어로 구분되고, 하이퍼바이저는, 복수의 가상화 머신 중 일부 가상화 머신이, 공유 프로세서 코어를 사용하지 않는 상태에서, 복수의 가상화 머신 중 전용 프로세서 코어의 사용률이 오버로드되는 가상화 머신이, 공유 프로세서 코어를 전용으로 사용하거나, 공유 프로세서 코어의 사용률이 증가하도록 제어할 수 있다. 이에 따라, 신호 처리 장치 내의 복수의 프로세서 코어를 효율적으로 활용할 수 있게 된다.
한편, 신호 처리 장치는, 복수의 프로세서 코어를 더 포함하고, 복수의 프로세서 코어는, 복수의 가상화 머신에 공유되는 공유 프로세서 코어와, 복수의 가상화 머신 각각을 위한 전용 프로세서 코어로 구분되고, 하이퍼바이저는, 복수의 가상화 머신 중 전용 프로세서 코어의 사용률이 오버로드되지 않는 제2 가상화 머신 및 제3 가상화 머신이, 공유 프로세서 코어를 사용하지 않도록 제어할 수 있다. 이에 따라, 신호 처리 장치 내의 복수의 프로세서 코어를 효율적으로 활용할 수 있게 된다.
한편, 하이퍼바이저는, 복수의 가상화 머신 중 전용 프로세서 코어의 사용률이 오버로드되는 제4 가상화 머신만 공유 프로세서 코어를 사용하도록 제어할 수 있다. 이에 따라, 신호 처리 장치 내의 복수의 프로세서 코어를 효율적으로 활용할 수 있게 된다.
한편, 신호 처리 장치는, 복수의 프로세서 코어를 더 포함하고, 복수의 프로세서 코어는, 복수의 가상화 머신에 공유되는 공유 프로세서 코어와, 복수의 가상화 머신 각각을 위한 전용 프로세서 코어로 구분되고, 하이퍼바이저는, 전용 프로세서 코어 또는 공유 프로세서 코어의 사용률에 기초하여, 전용 프로세서 코어 중 일부를 공유 프로세서 코어로 전환하거나, 공유 프로세서 코어의 일부를 전용 프로세서 코어로 전환하도록 제어할 수 있다.
한편, 신호 처리 장치는, 복수의 프로세서 코어를 더 포함하고, 복수의 프로세서 코어는, 복수의 가상화 머신에 공유되는 공유 프로세서 코어와, 복수의 가상화 머신 각각을 위한 전용 프로세서 코어로 구분되고, 하이퍼바이저는, 복수의 가상화 머신의 각 전용 프로세서 코어의 사용률이 오버로드되는 경우, 로드 밸런싱이 수행되도록 제어하며, 오버로드가 해소되는 경우, 로드 밸런싱이 종료되도록 제어할 수 있다. 이에 따라, 신호 처리 장치 내의 로드 밸런싱을 효율적으로 수행할 수 있게 된다.
한편, 신호 처리 장치는, 복수의 프로세서 코어를 더 포함하고, 하이퍼바이저는, 복수의 가상화 머신의 프로세서 코어의 아이들(idle) 시간을 확인하고, 아이들 시간에 기초하여, 복수의 가상화 머신에 필요한 개수의 전용 프로세서 코어와 공유 프로세서 코어를 할당하도록 제어할 수 있다. 이에 따라, 신호 처리 장치 내의 복수의 프로세서 코어를 효율적으로 활용할 수 있게 된다.
한편, 하이퍼바이저는, 복수의 가상화 머신의 각 전용 프로세서 코어의 사용률이 낮은 순서대로, 공유 프로세서 코어의 사용이 오프되도록 제어할 수 있다. 이에 따라, 신호 처리 장치 내의 복수의 프로세서 코어를 효율적으로 활용할 수 있게 된다.
한편, 복수의 가상화 머신 중 제1 가상화 머신은, 리소스 사용 정보를 모니터링하는 리소스 모니터를 구비하고, 프로세서 내의 하이퍼바이저는, 복수의 가상화 머신의 프로세서 코어에 대한 로드 밸런싱을 제어하는 로드 밸런싱 매니저와, 복수의 가상화 머신의 리소스의 할당 또는 재할당을 실행하는 리소스 프로바이더를 구비할 수 있다.
한편, 본 발명의 일 실시예에 따른 차량용 디스플레이 장치는, 차량 내에 배치되는 제1 디스플레이와 제2 디스플레이와, 제1 디스플레이와 제2 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하는 신호 처리 장치를 구비하고, 신호 처리 장치는, 차량에 장착되는 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하고, 프로세서는, 프로세서 내의 하이퍼바이저 상에서, 복수의 가상화 머신을 실행하며, 프로세서 내의 하이퍼바이저는, 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신의 리소스의 할당 또는 재할당을 실행한다. 이에 따라, 하이퍼바이저 내에서 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고 효율적으로 활용할 수 있게 된다.
한편, 신호 처리 장치는, 리소스 모니터링 및 로드 밸런싱에 기초하여, 제1 디스플레이에, 제1 영상을 표시하는 중에, 제2 디스플레이에 제2 영상을 표시하도록 제어할 수 있다. 이에 따라, 제1 디스플레이에, 제1 영상을 표시하는 중에, 끊김없이 제2 영상을 제2 디스플레이에 안정적으로 표시할 수 있게 된다.
도 1a는 차량 외부 및 차량 내부의 일예를 도시한 도면이다.
도 1b는 차량 내부의 다른 예를 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 차량용 디스플레이 장치의 외관을 도시한 도면이다.
도 3은 도 2의 차량용 디스플레이 장치의 내부 블록도의 일예를 예시한다.
도 4는 본 발명와 관련한 신호 처리 장치에서 구동되는 시스템을 도시한 도면이다.
도 5는 본 발명의 신호 처리 장치에서 구동되는 시스템의 일예를 도시한 도면이다.
도 6은 본 발명의 신호 처리 장치에서 구동되는 시스템의 다른 예를 도시한 도면이다.
도 7은 본 발명의 신호 처리 장치에서 구동되는 시스템의 또 다른 예를 도시한 도면이다.
도 8 내지 도 9b는 도 5의 설명에 참조되는 도면이다.
도 10은 본 발명의 신호 처리 장치에서 구동되는 시스템의 또 다른 예를 도시한 도면이다.
도 11a 내지 도 11b는 본 발명과 관련한 신호 처리 장치에서 구동되는 시스템의 다양한 예를 도시한다.
도 12는 본 발명의 실시예에 따른 신호 처리 장치에서 구동되는 시스템의 일예를 예시한다.
도 13은 본 발명의 실시예에 따른 신호 처리 장치에서 구동되는 시스템의 다른 예를 예시한다.
도 14는 본 발명의 실시예에 따른 신호 처리 장치에서 구동되는 시스템의 또 다른 예를 예시한다.
도 15 내지 도 17b는 도 12 또는 도 13의 동작 설명에 참조되는 도면이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.
도 1a는 차량 외부 및 차량 내부의 일예를 도시한 도면이다.
도면을 참조하면, 차량(200)은, 동력원에 의해 회전하는 복수의 바퀴(103FR,103FL,103RL,..), 차량(200)의 진행 방향을 조절하기 위한 스티어링휠(150)에 의해 동작한다.
한편, 차량(200)은, 차량 전방의 영상 획득을 위한 카메라(195) 등을 더 구비할 수 있다.
한편, 차량(200)은, 내부에 영상, 정보 등의 표시를 위한 복수의 디스플레이(180a,180b)를 구비할 수 있다.
도 1a에서는, 복수의 디스플레이(180a,180b)로, 클러스터 디스플레이(180a), AVN(Audio Video Navigation) 디스플레이(180b)를 예시한다. 그 외, HUD(Head Up Display) 등도 가능하다.
한편, AVN(Audio Video Navigation) 디스플레이(180b)는, 센터 정보 디스플레이(Center Information Dislpay)라 명명할 수도 있다.
본 발명의 실시예는, 복수의 디스플레이(180a,180b)를 구비하는 차량용 디스플레이 장치(100)에서, 리소스 사용 정보를 모니터링하고 효율적으로 활용하는 방안을 제시한다. 이에 대해서는, 도 12 이하를 참조하여 기술한다.
한편, 본 명세서에서 기술되는 차량(200)은, 동력원으로서 엔진을 구비하는 차량, 동력원으로서 엔진과 전기 모터를 구비하는 하이브리드 차량, 동력원으로서 전기 모터를 구비하는 전기 차량 등을 모두 포함하는 개념일 수 있다.
도 1b는 차량 내부의 다른 예를 도시한 도면이다.
도면을 참조하면, 차량 내부에는, 클러스터 디스플레이(180a), AVN(Audio Video Navigation) 디스플레이(180b), 뒷 좌석 엔터네인먼트(Rear Seat Entertainment) 디스플레이(180c,180d), 룸미러 디스플레이(미도시) 등이 장착될 수 있다.
본 발명의 실시예는, 복수의 디스플레이(180a~180d)를 구비하는 차량용 디스플레이 장치(100)에서, 하이퍼바이저 내에서 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고 효율적으로 활용할 수 있는 방안을 제시한다. 이에 대해서는, 도 5 이하를 참조하여 기술한다.
도 2는 본 발명의 실시예에 따른 차량용 디스플레이 장치의 외관을 도시한 도면이다.
본 발명의 실시예에 따른 차량용 디스플레이 장치(100)는, 복수의 디스플레이(180a~180b), 및 복수의 디스플레이(180a~180b)에 영상, 정보 등을 표시하기 위한 신호 처리를 수행하는 신호 처리 장치(170)를 구비할 수 있다.
복수의 디스플레이(180a~180b) 중 제1 디스플레이(180a)는, 주행 상태, 동작 정보 등의 표시를 위한 클러스터 디스플레이(180a)이고, 제2 디스플레이(180b)는, 챠량 운행 정보, 네비게이션 지도, 다양한 엔테테인먼트 정보 또는 영상의 표시를 위한 AVN(Audio Video Navigation) 디스플레이(180b)일 수 있다.
신호 처리 장치(170)는, 내부에 프로세서(175)를 구비하며, 프로세서(175) 내의 하이퍼바이저(505) 상에서, 제1 가상화 머신 내지 제3 가상화 머신(520~540)을 실행할 수 있다.
제2 가상화 머신(530)은 제1 디스플레이(180a)를 위해 동작하며, 제3 가상화 머신(540)은, 제2 디스플레이(180b)를 위해 동작할 수 있다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로, 동일한 데이터 전송을 위해, 하이퍼바이저(505) 기반의 공유 메모리(508)가 설정되도록 제어할 수 있다. 이에 따라, 차량 내의 제1 디스플레이(180a)와 제2 디스플레이(180b)에 동일한 정보 또는 동일한 영상을 동기화하여 표시할 수 있게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 데이터 분담 처리를 위해, 제2 가상화 머신(530)과 제3 가상화 머신(540)에 데이터의 적어도 일부를 공유한다. 이에 따라, 차량 내의 복수의 디스플레이를 위한 복수의 가상화 머신에서 데이터를 분담하여 처리할 수 있게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 차량의 휠 속도 센서 데이터를 수신하고, 처리하여, 제2 가상화 머신(530) 또는 제3 가상화 머신(540) 중 적어도 하나로, 처리된 휠 속도 센서 데이터를 전송할 수 있다. 이에 따라, 차량의 휠 속도 센서 데이터를, 적어도 하나의 가상화 머신 등에 공유할 수 있게 된다.
한편, 본 발명의 실시예에 따른 차량용 디스플레이 장치(100)는, 주행 상태 정보, 간이 네비게이션 정보, 다양한 엔테테인먼트 정보 또는 영상의 표시를 위한 뒷 좌석 엔터네인먼트(Rear Seat Entertainment) 디스플레이(180c)를 더 구비할 수 있다.
신호 처리 장치(170)는, 프로세서(175) 내의 하이퍼바이저(505) 상에서, 제1 가상화 머신 내지 제3 가상화 머신(520~540) 외에 추가로 제4 가상화 머신(미도시)를 실행하여, RSE 디스플레이(180c)를 제어할 수 있다.
이에 따라, 하나의 신호 처리 장치(170)를 이용하여, 다양한 디스플레이(180a~180c)를 제어할 수 있게 된다.
한편, 복수의 디스플레이(180a~180c) 중 일부는, 리눅스 OS 기반 하에 동작하며, 다른 일부는 웹 OS 기반 하에 동작할 수 있다.
본 발명의 실시예에 따른 신호 처리 장치(170)는, 다양한 운영 체제(Operating system;OS) 하에 동작하는 복수의 디스플레이(180a~180b 또는 180a~180c) 중 어느 하나에서 터치 입력(Touch)이 있는 경우, 터치 입력에 대한 처리를 신속하고 정확하게 수행하도록 제어할 수 있다.
한편, 도 2에서는, 제1 디스플레이(180a)에, 차량 속도 인디케이터(212a), 차량 내부 온도 인디케이터(213a)가 표시되고, 제2 디스플레이(180b)에, 복수의 애플리케이션과 차량 속도 인디케이터(212b)와 차량 내부 온도 인디케이터(213b)를 포함하는 홈 화면(222)이 표시되고, 제3 디스플레이(180c)에, 복수의 애플리케이션과 차량 내부 온도 인디케이터(213c)를 포함하는 제2 홈 화면(222b)이 표시되는 것을 예시한다.
도 3은 본 발명의 실시예에 따른 차량용 디스플레이 장치의 내부 블록도의 일예를 예시한다.
도면을 참조하면, 본 발명의 실시예에 따른 차량용 디스플레이 장치(100)는, 입력부(110), 통신부(120), 인터페이스(130), 메모리(140), 신호 처리 장치(170), 복수의 디스플레이(180a~180c), 오디오 출력부(185), 전원 공급부(190)를 구비할 수 있다.
입력부(110)는, 버튼 입력, 터치 입력 등을 위한 물리적인 버튼, 패드 등을 구비할 수 있다.
한편, 입력부(110)는, 디스플레이(180a,180b,180c)의 터치 입력을 센싱하기 위한 터치 센서(미도시)를 구비할 수 있다.
한편, 입력부(110)는, 사용자 음성 입력을 위한 마이크(미도시)를 구비할 수 있다.
통신부(120)는, 이동 단말기(800) 또는 서버(900)와 무선(wireless) 방식으로, 데이터를 교환할 수 있다.
특히, 통신부(120)는, 차량 운전자의 이동 단말기와, 무선으로 데이터를 교환할 수 있다. 무선 데이터 통신 방식으로는, 블루투스(Bluetooth), WiFi, WiFi Direct, APiX 등 다양한 데이터 통신 방식이 가능하다.
통신부(120)는, 이동 단말기(800) 또는 서버(900)로부터, 날씨 정보, 도로의 교통 상황 정보, 예를 들어, TPEG(Transport Protocol Expert Group) 정보를 수신할 수 있다. 이를 위해, 통신부(120)는, 이동 통신 모듈(미도시)를 구비할 수 있다.
인터페이스(130)는, ECU(770) 또는 센서 장치(760)로부터, 센서 정보 등을 수신하고, 수신한 정보를 신호 처리 장치(170)로 전송할 수 있다.
여기서, 센서 정보는, 차량 방향 정보, 차량 위치 정보(GPS 정보), 차량 각도 정보, 차량 속도 정보, 차량 가속도 정보, 차량 기울기 정보, 차량 전진/후진 정보, 배터리 정보, 연료 정보, 타이어 정보, 차량 램프 정보, 차량 내부 온도 정보, 차량 내부 습도 정보 중 적어도 하나를 포함할 수 있다.
이러한 센서 정보는, 헤딩 센서(heading sensor), 요 센서(yaw sensor), 자이로 센서(gyro sensor), 포지션 모듈(position module), 차량 전진/후진 센서, 휠 센서(wheel sensor), 차량 속도 센서, 차체 경사 감지센서, 배터리 센서, 연료 센서, 타이어 센서, 핸들 회전에 의한 스티어링 센서, 차량 내부 온도 센서, 차량 내부 습도 센서 등으로부터 획득될 수 있다. 한편, 포지션 모듈은, GPS 정보 수신을 위한 GPS 모듈을 포함할 수 있다.
한편, 인터페이스(130)는, 카메라(195) 또는 라이더(미도시) 등으로부터 차량 전방 영상 데이터, 차량 측방 영상 데이터, 차량 후방 영상 데이터, 차량 주변 장애물 거리 정보 등을 수신하고, 수신한 정보를 신호 처리 장치(170)로 전송할 수 있다.
메모리(140)는, 신호 처리 장치(170)의 처리 또는 제어를 위한 프로그램 등, 차량용 디스플레이 장치(100) 전반의 동작을 위한 다양한 데이터를 저장할 수 있다.
예를 들어, 메모리(140)는, 프로세서(175) 내에서 실행하기 위한, 하이퍼바이저, 제1 가상화 머신 내지 제3 가상화 머신에 관한 데이터를 저장할 수 있다.
오디오 출력부(185)는, 신호 처리 장치(170)로부터의 전기 신호를 오디오 신호로 변환하여 출력한다. 이를 위해, 스피커 등을 구비할 수 있다.
전원 공급부(190)는, 신호 처리 장치(170)의 제어에 의해, 각 구성요소들의 동작에 필요한 전원을 공급할 수 있다. 특히, 전원 공급부(190)는, 차량 내부의 배터리 등으로부터 전원을 공급받을 수 있다.
신호 처리 장치(170)는, 차량용 디스플레이 장치(100) 내의 각 유닛의 전반적인 동작을 제어한다.
예를 들어, 차량용 디스플레이(180a,180b)를 위한 신호 처리를 수행하는 프로세서(175)를 포함할 수 있다.
프로세서(175)는, 프로세서(175) 내의 하이퍼바이저(도 5의 505) 상에서, 제1 가상화 머신 내지 제3 가상화 머신(520~540)을 실행할 수 있다.
한편, 프로세서(175)는, 이더넷 데이터를 수신하고 처리하는 레가시 가상화 머신을 더 실행할 수 있다. 예를 들어, 레가시 가상화 머신은, 도 5와 같이, 프로세서(175) 내의 제1 가상화 머신(520)에서 실행될 수 있다.
제1 가상화 머신 내지 제3 가상화 머신(도 5의 520~540) 중 제1 가상화 머신(520)은, 서버 가상화 머신(Server Virtual Maschine)이라 명명할 수 있으며, 제2 가상화 머신 내지 제3 가상화 머신(530~540)은 게스트 가상화 머신(Guest Virtual Maschine)이라 명명할 수 있다.
이때, 제2 가상화 머신(530)은 제1 디스플레이(180a)를 위해 동작하며, 제3 가상화 머신(540)은, 제2 디스플레이(180b)를 위해 동작할 수 있다.
예를 들어, 프로세서(175) 내의 제1 가상화 머신(520)은, 차량 센서 데이터, 위치 정보 데이터, 카메라 영상 데이터, 오디오 데이터 또는 터치 입력 데이터를 수신하고, 처리 또는 가공하여 출력할 수 있다. 레가시 가상화 머신에서만 처리하는 데이터와, 제1 가상화 머신(520)에서 처리되는 데이터를 구분함으로써, 데이터 처리를 효율적으로 수행할 수 있게 된다. 특히, 제1 가상화 머신(520)에서 대부분의 데이터 처리를 수행함으로써, 1:N 방식의 데이터의 공유가 가능하게 된다.
다른 예로, 제1 가상화 머신(520)은, 제2 가상화 머신 내지 제3 가상화 머신(530~540)을 위해, CAN 통신 데이터, 오디오 데이터, 라디오 데이터, USB 데이터, 무선 통신 데이터를 직접 수신하고 처리할 수 있다.
그리고, 제1 가상화 머신(520)은, 처리된 데이터를 제2 가상화 머신 내지 제3 가상화 머신(530~540)으로 전송할 수 있다.
이에 따라, 제1 가상화 머신 내지 제3 가상화 머신(520~540) 중 제1 가상화 머신(520)만, 통신 데이터, 외부 입력 데이터를 수신하여, 신호 처리를 수행함으로써, 다른 가상화 머신에서의 신호 처리 부담이 경감되며, 1:N 데이터 통신이 가능하게 되어, 데이터 공유시의 동기화가 가능하게 된다.
한편, 제1 가상화 머신(520)은, 데이터의 일부를 제2 가상화 머신(530)으로 전달되도록 제1 공유 메모리(미도시)에 기록하고, 데이터의 다른 일부를 제3 가상화 머신으로 전달되도록 제1 공유 메모리(미도시)에 기록하며, 제2 가상화 머신(530)과 제3 가상화 머신(540)은, 각각 전달받은 데이터를 처리하여, 처리된 데이터가 제2 공유 메모리(미도시)에 기록되도록 제어한다. 이에 따라, 하이퍼바이저 내에서 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고 효율적으로 활용할 수 있게 된다.
이때의 데이터는, 영상 데이터, 오디오 데이터, 네비게이션 데이터, 또는 음성 인식 데이터 중 어느 하나일 수 있다.
한편, 제1 가상화 머신(520)은, 데이터의 또 다른 일부를 처리하여, 제2 공유 메모리(미도시)에 처리된 데이터가 기록되도록 제어할 수 있다. 즉, 제2 가상화 머신(530)과 제3 가상화 머신 외에 추가로 제1 가상화 머신(520)이 데이터 처리를 수행할 수 있다.
한편, 프로세서(175) 내에 제3 디스플레이(180c)를 위해 동작하는 제4 가상화 머신(550)이 실행되는 경우, 제1 가상화 머신(520)은, 데이터의 또 다른 일부를 제1 공유 메모리(미도시)에 기록하며, 제4 가상화 머신(550)은, 각각 전달받은 데이터를 처리하여, 처리된 데이터가 제2 공유 메모리(미도시)에 기록되도록 제어할 수 있다.
한편, 제1 가상화 머신(520)은, 제2 가상화 머신 내지 제3 가상화 머신(530,540)에서의 데이터의 분산 처리를 위한 각각의 커맨드 큐를 생성할 수 있다. 이에 따라, 복수의 가상화 머신에서 데이터를 분담하여 처리할 수 있게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 제2 가상화 머신 내지 제3 가상화 머신(530,540)에서 동일한 데이터를 공유하는 경우, 1개의 동일한 커맨드 큐를 생성할 수 있다. 이에 따라, 동일한 데이터를 동기화하여 공유할 수 있게 된다.
한편, 제1 가상화 머신(520)은, 데이터의 분산 처리를 위한 가상화 머신의 개수에 대응하는 커맨드 큐를 생성할 수 있다.
한편, 제1 가상화 머신(520)은, 데이터 분산 처리를 위해, 데이터의 적어도 일부를, 제2 가상화 머신(530) 또는 제3 가상화 머신(540) 중 적어도 하나로 전송되도록 제어할 수 있다.
예를 들어, 제1 가상화 머신(520)은, 데이터의 적어도 일부를, 제2 가상화 머신(530) 또는 제3 가상화 머신(540) 중 적어도 하나로 전송하기 위한 제1 공유 메모리(미도시)를 할당하고, 제2 가상화 머신(530) 또는 제3 가상화 머신(540)에서 처리된 영상 데이터는 제2 공유 메모리(미도시)에 기록될 수 있다.
한편, 제1 가상화 머신(520)은, 데이터를 공유 메모리(508)에 기록하여, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로 동일한 데이터를 공유하도록 제어할 수 있다.
예를 들어, 제1 가상화 머신(520)은, 라디오 데이터 또는 무선 통신 데이터를 공유 메모리(508)에 기록하여, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로 동일한 데이터를 공유하도록 제어할 수 있다. 이에 따라, 1:N 방식의 데이터의 공유가 가능하게 된다.
결국, 제1 가상화 머신(520)에서 대부분의 데이터 처리를 수행함으로써, 1:N 방식의 데이터의 공유가 가능하게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로, 동일한 데이터 전송을 위해, 하이퍼바이저(505) 기반의 공유 메모리(508)가 설정되도록 제어할 수 있다.
즉, 프로세서(175) 내의 제1 가상화 머신(520)은, 하이퍼바이저(505) 기반의 공유 메모리(508)를 이용하여, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로, 동일한 데이터를 동기화하여 전송할 수 있다. 이에 따라, 차량 내의 복수의 디스플레이(180a~180b)에서 동일한 영상을 동기화하여 표시할 수 있게 된다.
한편, 신호 처리 장치(170)는, 오디오 신호, 영상 신호, 데이터 신호 등 다양한 신호를 처리할 수 있다. 이를 위해, 신호 처리 장치(170)는, 시스템 온 칩(System On Chip,SOC)의 형태로 구현될 수 있다.
도 4는 본 발명와 관련한 신호 처리 장치에서 구동되는 시스템을 도시한 도면이다.
도면을 참조하면, 도 4는 클러스터 디스플레이(180a)와 AVN 디스플레이(180b)를 위해, 가상화 머신이 각각 사용되는 것을 예시하는 도면이다.
도 4의 신호 처리 장치에서 구동되는 시스템(400)은, 프로세서(175) 내의 하이퍼바이저(405) 상에서, 클러스터 가상화 머신(430), AVN 가상화 머신(440)이 실행되는 것을 예시한다.
한편, 도 4의 신호 처리 장치에서 구동되는 시스템(400)은, 프로세서(175) 내의 하이퍼바이저(405) 상에서, 레가시(legacy) 가상화 머신(410)도 실행되는 것을 예시한다.
레가시(legacy) 가상화 머신(410)은, 메모리(140)와의 데이터 통신을 위한 인터페이스(412), 이더넷 통신을 위한 인터페이스(413)을 구비한다.
한편, 클러스터 가상화 머신(430)은, CAN 통신을 위한 인터페이스(431), 레가시(legacy) 가상화 머신(410)의 인터페이스(412)와의 통신을 위한 인터페이스(432), 레가시(legacy) 가상화 머신(410)의 인터페이스(413)와의 통신을 위한 인터페이스(433)를 구비할 수 있다.
한편, AVN 가상화 머신(440)은, 오디오 데이터, 라디오 데이터, USB 데이터, 무선 통신 데이터의 입출력을 위한 인터페이스(441), 레가시(legacy) 가상화 머신(410)의 인터페이스(412)와의 통신을 위한 인터페이스(442), 레가시(legacy) 가상화 머신(410)의 인터페이스(413)와의 통신을 위한 인터페이스(443)를 구비할 수 있다.
이러한 시스템(400)에 의하면, CAN 통신 데이터는, 클러스터 가상화 머신(430)에서만 입출력되므로, AVN 가상화 머신(440)에서는 CAN 통신 데이터를 활용하지 못하는 단점이 있다.
또한, 도 4의 시스템(400)에 의하면, 오디오 데이터, 라디오 데이터, USB 데이터, 무선 통신 데이터는, AVN 가상화 머신(440)에서만 입출력되므로, 클러스터 가상화 머신(430)에서는 이러한 데이터를 활용하지 못하는 단점이 있다.
한편, 레가시(legacy) 가상화 머신(410)에서 입출력되는 메모리 데이터, 이더넷 통신 데이터를 위해, 클러스터 가상화 머신(430)과 클러스터 가상화 머신(430)가 각각 별도의 인터페이스(431,432,441,442)를 구비해야 하는 단점이 있다.
이에 본 발명에서는, 도 4의 시스템을 개선하기 위한 방안을 제시한다. 즉, 도 4와 달리, 가상화 머신을 서버 가상화 머신과 게스트 가상화 머신으로 구분하고, 각종 메모리 데이터, 통신 데이터 등을 게스트 가상화 머신에서 입출력되지 않고, 서버 가상화 머신에서 입출력되도록 한다. 이에 대해서는 도 5 이하를 참조하여 기술한다.
도 5는 본 발명의 신호 처리 장치에서 구동되는 시스템의 일예를 도시한 도면이다.
도면을 참조하면, 도 5의 시스템(500)은, 신호 처리 장치(170) 내의 프로세서(175) 내의 하이퍼바이저(505) 상에서, 서버 가상화 머신인 제1 가상화 머신(520), 게스트 가상화 머신인 제2 가상화 머신(530), 게스트 가상화 머신은 제3 가상화 머신(540)이 실행되는 것을 예시한다.
제2 가상화 머신(530)은, 클러스터 디스플레이(180a)를 위한 가상화 머신이고, 제3 가상화 머신(540)은 AVN 디스플레이(180b)를 위한 가상화 머신일 수 있다.
즉, 제2 가상화 머신(530)과, 제3 가상화 머신(540)은, 각각 클러스터 디스플레이(180a)과 AVN 디스플레이(180b)의 영상 렌더링을 위해 동작할 수 있다.
한편, 도 5의 신호 처리 장치(170)에서 구동되는 시스템(500)은, 프로세서(175) 내의 하이퍼바이저(505) 상에서, 레가시(legacy) 가상화 머신(510)도 실행되는 것을 예시한다.
레가시(legacy) 가상화 머신(510)은, 메모리(140)와의 데이터 통신, 및 이더넷 통신을 위한 인터페이스(511)을 구비한다.
도면에서는, 인터페이스(511)가, 피지컬 디바이스 드라이버(physical device driver)인 것을 예시하나, 다양한 변형이 가능하다.
한편, 레가시(legacy) 가상화 머신(510)은, 제2 내지 제3 가상화 머신(530,540)과의 데이터 통신을 위한 인터페이스(virtio-backend interface)(512)를 더 구비할 수 있다.
제1 가상화 머신(520)은, 오디오 데이터, 라디오 데이터, USB 데이터, 무선 통신 데이터의 입출력을 위한 인터페이스(521), 게스트 가상화 머신과의 데이터 통신을 위한 입출력 서버 인터페이스(522)를 구비할 수 있다.
즉, 서버 가상화 머신인 제1 가상화 머신(520)은, 표준가상화기술(VirtIO)에 의해 가상화되기 힘든 I/O 들을 다수의 게스트 가상화 머신, 예를 들어, 제2 내지 제3 가상화 머신(530,540) 등에 제공할 수 있다.
한편, 서버 가상화 머신인 제1 가상화 머신(520)은, 라디오 데이터, 오디오 데이터 등을 슈퍼바이저(Supervisor) 수준에서 제어하고, 다수의 게스트 가상화 머신, 예를 들어, 제2 내지 제3 가상화 머신(530,540) 등에 제공할 수 있다.
한편, 서버 가상화 머신인 제1 가상화 머신(520)은, 차량 데이터, 센서 데이터, 차량 주변 정보 등을 처리하고, 처리된 데이터 또는 정보 등을 다수의 게스트 가상화 머신, 예를 들어, 제2 내지 제3 가상화 머신(530,540) 등에 제공할 수 있다.
한편, 제1 가상화 머신(520)은, 차량 데이터(vehicle data)의 처리, 오디오 라우팅(Audio routing) 관리 등과 같은, 서비스(Supervisory Services)를 제공할 수 있다.
다음, 제2 가상화 머신(530)은, 제1 가상화 머신(520)과의 데이터 통신을 위한 입출력 클라이언트 인터페이스(532)와, 입출력 클라이언트 인터페이스(532)를 제어하는 APIs(533)를 구비할 수 있다.
또한, 제2 가상화 머신(530)은, 레가시 가상화 머신(510)과의 데이터 통신을 위한 인터페이스(virtio-backend interface)를 구비할 수 있다.
제2 가상화 머신(530)은, 인터페이스(virtio-backend interface)를 통해, 레가시(legacy) 가상화 머신(510)의 인터페이스(virtio-backend interface)(512)로부터 메모리(140)와의 통신에 의한 메모리 데이터 또는 이더넷 통신에 의한 이더넷 데이터 등을 수신할 수 있다.
다음, 제3 가상화 머신(540)은, 제1 가상화 머신(520)과의 데이터 통신을 위한 입출력 클라이언트 인터페이스(542)와 입출력 클라이언트 인터페이스(542)를 제어하는 APIs(543)를 구비할 수 있다.
또한, 제3 가상화 머신(540)은, 레가시 가상화 머신(510)과의 데이터 통신을 위한 인터페이스(virtio-backend interface)를 구비할 수 있다.
제3 가상화 머신(540)은, 인터페이스(virtio-backend interface)를 통해, 레가시(legacy) 가상화 머신(510)의 인터페이스(virtio-backend interface)(512)로부터 메모리(140)와의 통신에 의한 메모리 데이터 또는 이더넷 통신에 의한 이더넷 데이터 등을 수신할 수 있다.
한편, 레가시(legacy) 가상화 머신(510)은, 도 5와 달리, 제1 가상화 머신(520) 내에 구비되는 것도 가능하다.
이러한 시스템(500)에 의하면, CAN 통신 데이터는, 제1 가상화 머신(520)에서만 입출력되나, 제1 가상화 머신(520)에서의 데이터 처리를 통해, 다수의 게스트 가상화 머신, 예를 들어, 제2 내지 제3 가상화 머신(530,540) 등에 제공될 수 있다. 따라서, 제1 가상화 머신(520)의 처리에 의한 1:N 데이터 통신이 가능하게 된다.
또한, 도 5의 시스템(500)에 의하면, 오디오 데이터, 라디오 데이터, USB 데이터, 무선 통신 데이터는, 제1 가상화 머신(520)에서만 입출력되나, 제1 가상화 머신(520)에서의 데이터 처리를 통해, 다수의 게스트 가상화 머신, 예를 들어, 제2 내지 제3 가상화 머신(530,540) 등에 제공될 수 있다. 따라서, 제1 가상화 머신(520)의 처리에 의한 1:N 데이터 통신이 가능하게 된다.
또한, 도 5의 시스템(500)에 의하면, 제1 디스플레이(180a) 또는 제2 디스플레이(180b)에 대한 터치 입력(Touch)은, 제1 가상화 머신(520)에만 입력되고, 제2 내지 제3 가상화 머신(530,540)에는 입력되지 않는다. 터치 입력(Touch)에 대한 정보를 제2 가상화 머신(530) 또는 제3 가상화 머신(540)으로 전송한다.
이에 따라, 터치 입력(Touch)에 대한 처리를 신속하고 정확하게 수행할 수 있게 된다. 또한, 구동되는 가상화 머신의 개수가 증가되더라도, 터치 입력(Touch)에 대한 처리를 신속하고 정확하게 수행할 수 있게 된다.
한편, 도 5의 시스템(500)에서 제2 내지 제3 가상화 머신(530,540)은 서로 다른 OS 기반으로 동작할 수 있다.
예를 들어, 제2 가상화 머신(540)은 리눅스 OS 기반 하에 동작하며, 제3 가상화 머신(540)은 웹 OS 기반 하에 동작할 수 있다.
제1 가상화 머신(520)은, 제2 내지 제3 가상화 머신(530,540)은 서로 다른 OS 기반 하에 동작하더라도, 데이터 공유를 위해, 하이퍼바이저(505) 기반의 공유 메모리(508)가 설정할 수 있다. 이에 따라, 제2 내지 제3 가상화 머신(530,540)이, 서로 다른 운영 체제(Operating system;OS) 하에 동작하더라도, 동일한 데이터 또는 동일한 영상을 동기화하여 공유할 수 있게 된다. 결국, 복수의 디스플레이(180a,180b)에 동일한 데이터 또는 동일한 영상을 동기화하여 표시할 수 있게된다.
한편, 제1 가상화 머신(520)은, 제2 내지 제3 가상화 머신(530,540)은 서로 다른 OS 기반 하에 동작하더라도, 터치 입력(Touch)에 대한 정보를 제2 가상화 머신(530) 또는 제3 가상화 머신(540)으로 전송한다. 이에 따라, 제2 내지 제3 가상화 머신(530,540)이, 서로 다른 운영 체제(Operating system;OS) 하에 동작하더라도, 터치 입력(Touch)에 대한 처리를 신속하고 정확하게 수행할 수 있게 된다.
한편, 제1 가상화 머신(520)은, 제2 내지 제3 가상화 머신(530,540)을 통해, 제1 디스플레이(180a)와 제2 디스플레이(180b)에 표시되는 오버레이의 제어를 위한 디스플레이 매니저(527)와, 디스플레이 레이어 서버(529)와, 버츄얼 오버레이(virtual overlay)를 생성하는 버츄얼 오버레이 생성기(523)를 구비할 수 있다.
디스플레이 레이어 서버(529)는, 제2 가상화 머신(530)이 제공하는 제1 오버레이와, 제3 가상화 머신(540)이 제공하는 제2 오버레이를 수신할 수 있다.
한편, 디스플레이 레이어 서버(529)는, 버츄얼 오버레이 생성기(523)에서 생성된 버츄얼 오버레이(virtual overlay)를, 제2 가상화 머신(530) 또는 제3 가상화 머신(540) 중 적어도 하나에 전송할 수 있다.
한편, 제1 가상화 머신(520) 내의 디스플레이 매니저(527)는, 제2 가상화 머신(530)이 제공하는 제1 오버레이와, 제3 가상화 머신(540)이 제공하는 제2 오버레이를, 디스플레이 레이어 서버(529)를 통해 수신할 수 있다.
그리고, 제1 가상화 머신(520) 내의 디스플레이 매니저(527)는, 제1 오버레이 또는 제2 오버레이와 별도의 버츄얼 오버레이(virtual overlay)를, 디스플레이 레이어 서버(529)를 통해, 제2 가상화 머신(530) 또는 제3 가상화 머신(540) 중 적어도 하나에 전송하도록 제어할 수 있다.
이에 대응하여, 제2 가상화 머신(530)은, 제1 오버레이와 버츄얼 오버레이(virtual overlay)를 합성하여, 제1 디스플레이(180a)에 표시되도록 제어할 수 있다.
또한, 제3 가상화 머신(540)은, 제2 오버레이와 버츄얼 오버레이(virtual overlay)를 합성하여, 제2 디스플레이(180b)에 표시되도록 제어할 수 있다.
한편, 제1 가상화 머신(520)은, 외부로부터의 입력 신호를 수신하는 입력 매니저(524)를 구비할 수 있다. 이때의 입력 신호는, 차량 내의 소정 버튼(시동 버튼 등)의 입력 신호, 터치 입력 신호, 또는 음성 입력 신호 등일 수 있다.
예를 들어, 제1 가상화 머신(520) 내의 입력 매니저(524)는, 제1 디스플레이(180a) 또는 제2 디스플레이(180b)로부터의 터치 입력을 수신할 수 있다.
한편, 제1 가상화 머신(520)은, 제1 디스플레이(180a) 또는 제2 디스플레이(180b)로부터의 터치 입력과 관련한 터치 입력(Touch)에 대한 정보를 제2 가상화 머신(530) 또는 제3 가상화 머신(540)으로 전송하는 터치 서버(528)를 구비할 수 있다.
예를 들어, 제1 가상화 머신(520) 내의 터치 서버(528)는, 제1 디스플레이(180a)에 대응하는 터치 입력이 있는 경우, 터치 입력(Touch)에 대한 정보를, 제2 가상화 머신(530)으로 전송할 수 있다.
한편, 제1 가상화 머신(520) 내의 터치 서버(528)는, 제1 디스플레이(180a) 또는 제2 디스플레이(180b)로부터의 터치 입력을 수신할 수도 있다.
도 6은 본 발명의 신호 처리 장치에서 구동되는 시스템의 다른 예를 도시한 도면이다.
도면을 참조하면, 도 6의 신호 처리 장치(170) 내의 프로세서(175)에서 구동되는 시스템(500b)에 의하면, 신호 처리 장치(170) 내의 프로세서(175)는, 프로세서(175) 내의 하이퍼바이저(505) 상에서, 제1 가상화 머신 내지 제3 가상화 머신(520~540)을 실행하며, 프로세서(175) 내의 제1 가상화 머신(520)은, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로, 데이터 전송을 위해, 하이퍼바이저(505) 기반의 공유 메모리(508)가 설정되도록 제어한다.
예를 들어, 데이터로, 터치 입력(Touch)에 대한 정보가 예시될 수 있다. 이에 따라, 터치 입력(Touch)에 대한 정보를 제2 가상화 머신(530) 또는 제3 가상화 머신(540)으로 전송되며, 결국, 제1 디스플레이(180a) 또는 제2 디스플레이(180b)에 대한 터치 입력(Touch)에 대한 처리를 신속하고 정확하게 수행할 수 있게 된다. 또한, 구동되는 가상화 머신의 개수가 증가되더라도, 터치 입력(Touch)에 대한 처리를 신속하고 정확하게 수행할 수 있게 된다.
다른 예로, 데이터로, 영상 데이터가 예시될 수 있다. 이에 따라, 제1 디스플레이(180a) 또는 제2 디스플레이(180b)에 영상을 표시할 수 있게 된다.
한편, 공유 메모리(508)에 동일한 영상 데이터가 공유되는 경우, 차량 내의 복수의 디스플레이(180a~180b)에서 동일한 영상을 동기화하여 표시할 수도 있게 된다.
또 다른 예로, 데이터로, CAN 통신 데이터, 오디오 데이터, 라디오 데이터, USB 데이터, 무선 통신 데이터, 위치 정보 데이터 등이 예시될 수 있다. 이에 따라, 제1 디스플레이(180a) 또는 제2 디스플레이(180b)에, 해당하는 데이터에 대한 정보를 표시할 수 있게 된다.
한편, 도 6에는 표시되지 않았지만, 레가시 가상화 머신(510)은, 메모리(140)로부터의 메모리 데이터, 또는 이더넷 통신에 의해 이더넷 데이터를, 하이퍼바이저(505) 기반의 공유 메모리(508)를 이용하여, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로, 전송할 수 있다. 이에 따라, 메모리 데이터 또는 이더넷 데이터에 대응하는 정보가, 제1 디스플레이(180a) 또는 제2 디스플레이(180b)에 표시될 수 있게 된다.
한편, 도 6의 시스템(500b) 내의 제1 가상화 머신(520)은, 도 5의 시스템(500) 내의 제1 가상화 머신과 유사하게, 디스플레이 매니저(527)와, 디스플레이 레이어 서버(529), 버츄얼 오버레이 생성기(523), 입력 매니저(524), 터치 서버(528)를 구비할 수 있다.
한편, 도 6의 시스템(500b) 내의 제1 가상화 머신(520) 내의 입출력 서버 인터페이스(522)는, 도 5와 달리, 디스플레이 레이어 서버(529)와, 터치 서버(528)를 구비할 수 있다.
디스플레이 매니저(527)와, 디스플레이 레이어 서버(529), 입력 매니저(524), 버츄얼 오버레이 생성기(523), 터치 서버(528)의 동작은, 도 5와 동일하므로 그 설명을 생략한다.
한편, 도 6의 제1 가상화 머신(520)은, 전체 시스템 제어를 위한 시스템 매니저(system manager), 차량 정보 관리를 위한 차량 정보 매니저(vehicle information manager), 오디오 제어를 위한 오디오 매니저(audio manager), 라디오 제어를 위한 라디오 매니저(radio manager) 등을 더 구비할 수 있다.
한편, 도 6의 시스템(500b) 내의 제1 가상화 머신(520) 내의 입출력 서버 인터페이스(522)는, GPS 정보의 입출력을 위한 GNSS 서버, 블루투스 입출력을 위한 블루투스 서버, 와이파이 입출력을 위한 와이파이 서버, 카메라 데이터 입출력을 위한 카메라 서버 등을 더 포함할 수 있다.
도 7은 본 발명의 신호 처리 장치에서 구동되는 시스템의 또 다른 예를 도시한 도면이다.
도면을 참조하면, 도 7의 신호 처리 장치(170) 내의 프로세서(175)에서 구동되는 시스템(500c)은, 도 6의 시스템(500b)과 거의 유사하다.
즉, 도 6과 같이, 도 7의 프로세서(175)는, 프로세서(175) 내의 하이퍼바이저(505) 상에서, 제1 가상화 머신 내지 제3 가상화 머신(520~540)을 실행한다.
다만, 도 7에서는 도 6과 달리, 디스플레이 레이어 서버(529)와, 터치 서버(528)가, 입출력 서버 인터페이스(522)의 외부에, 제1 가상화 머신(520) 내에서 구비되어 실행될 수 있다.
또한, 도 6과 달리, GPS 정보의 입출력을 위한 GNSS 서버, 블루투스 입출력을 위한 블루투스 서버, 와이파이 입출력을 위한 와이파이 서버, 카메라 데이터 입출력을 위한 카메라 서버 등이, 입출력 서버 인터페이스(522)의 외부에, 제1 가상화 머신(520) 내에서 구비되어 실행될 수 있다.
즉, 제1 가상화 머신(520) 내에, 디스플레이 매니저(527)와, 디스플레이 레이어 서버(529), 버츄얼 오버레이 생성기(523), 입력 매니저(524), 터치 서버(528)가 구비되어 실행될 수 있다.
디스플레이 매니저(527)와, 디스플레이 레이어 서버(529), 버츄얼 오버레이 생성기(523), 입력 매니저(524), 터치 서버(528)의 동작은, 도 5와 동일하므로 그 설명을 생략한다.
도 8 내지 도 9b는 도 5의 설명에 참조되는 도면이다.
먼저, 도 8은, 본 발명의 실시예에 따른 시스템(500) 내의 프로세서(175) 내의 하이퍼바이저(505) 상에서, 제1 가상화 머신 내지 제3 가상화 머신(520~540)을 실행하며, 프로세서(175) 내의 제1 가상화 머신(520)이, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로, 동일한 데이터 전송을 위해, 하이퍼바이저(505) 기반의 공유 메모리(508)가 설정되도록 제어하는 것을 예시한다.
이에 따라, 차량 내의 복수의 디스플레이(180a~180b)에서 동일한 영상을 동기화하여 표시할 수 있게 된다.
한편, 복수의 가상화 머신 사이의 고속의 데이터 통신을 수행할 수 있게 된다. 나아가, 복수의 가상화 머신이 서로 다른 운영체제에 의해 구동되더라도 고속의 데이터 통신을 수행할 수 있게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 제1 가상화 머신(520)에서 처리된 데이터를, 다른 가상화 머신으로 전송하는 경우, 가상화 머신의 개수에 대응하는 개수의 메모리 할당이 아닌, 하나의 공유 메모리(508)를 이용할 수 있다. 이에 따라, 가상화 머신들 사이에서의 1:1 방식의 데이터 통신이 아니라, 공유 메모리(508)를 이용하여, 1:N 방식의 데이터 통신이 가능하게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 입출력 서버 인터페이스(522)와 보안 매니저(526)를 포함할 수 있다.
한편, 제2 가상화 머신(530) 및 제3 가상화 머신(540)은, 각각 입출력 클라이언트 인터페이스(532, 542)를 포함할 수 있다. 이에 따라, 입출력 서버 인터페이스(522)와, 입출력 클라이언트 인터페이스(532, 542)를 이용하여, 복수의 가상화 머신 사이의 고속의 데이터 통신을 수행할 수 있게 된다.
제1 가상화 머신(520) 내의 입출력 서버 인터페이스(522)는, 제2 가상화 머신(530) 및 제3 가상화 머신(540) 내의 각 입출력 클라이언트 인터페이스(532, 542)로부터 동일 데이터 전송 요청을 수신하고, 이에 기초하여, 공유 데이터를 보안 매니저(526)를 통해, 공유 메모리(508)로 전송할 수 있다.
도 9a는 공유 데이터 전송에 대한 보다 상세한 도면을 예시한다.
도면을 참조하면, 공유 데이터 전송을 위해, 제1 가상화 머신(520) 내의 입출력 서버 인터페이스(522)는, 보안 매니저(526)로 공유 메모리(508)의 할당 요청을 전송한다(S1).
다음, 보안 매니저(526)는, 하이퍼바이저(505)를 이용하여 공유 메모리(508)를 할당하고(S2), 공유 메모리(508)에 공유 데이터를 기록할 수 있다.
한편, 입출력 클라이언트 인터페이스(532, 542)는, 공유 메모리(508) 할당 이후, 입출력 서버 인터페이스(522)로 연결 요청을 전송할 수 있다(S3).
한편, 입출력 서버 인터페이스(522)는, 공유 메모리(508) 할당 이후, 입출력 클라이언트 인터페이스(532, 542)로, 키 데이터를 포함하는 공유 메모리(508)에 대한 정보를 전송한다(S4). 이때의 키 데이터는, private key 데이터일 수 있다.
즉, 한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 공유 메모리(508)의 설정 이후, 공유 메모리(508)에 대한 정보를, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로 전송할 수 있다.
다음, 제1 가상화 머신(520) 내의 입출력 서버 인터페이스(522)는, 가상화 머신 사이의 분산 처리 제어를 위해, 데이터와 별도의, 커맨드 또는 이벤트 처리를 위한 커맨드 큐(command queue)를 생성하도록 제어한다(S5).
도면에서는, 입출력 서버 인터페이스(522)의 제어에 의해, 하이퍼바이저(505) 내의 커맨드 큐 버퍼(504)에서, 커맨드 큐가 생성되는 것을 예시한다. 그러나, 이에 한정되지 않으며, 입출력 서버 인터페이스(522)의 제어에 의해, 하이퍼바이저(505) 내가 아닌, 제1 가상화 머신(520) 내에서 생성되는 것도 가능하다.
다음, 각 입출력 클라이언트 인터페이스(532, 542)는, 커맨드 큐 버퍼(504)에 억세스 하여, 생성된 커맨드 큐 또는 커맨드 큐에 대한 정보를 수신한다(S6).
예를 들어, 각 입출력 클라이언트 인터페이스(532, 542)로의 커맨드가 동일한 경우, 생성된 커맨드 큐는 동일할 수 있다.
다른 예로, 각 입출력 클라이언트 인터페이스(532, 542)로의 커맨드가 서로 다른 경우, 서로 다른 커맨드 큐가, 각 입출력 클라이언트 인터페이스(532, 542)로 전달될 수 있다.
다음, 각 입출력 클라이언트 인터페이스(532, 542)는, 입출력 클라이언트 인터페이스(532, 542)는, 수신한 키 데이터에 기초하여 공유 메모리(508)에 접근하고(S5), 공유 데이터를 공유 메모리(508)로부터 카피(copy) 또는 독출할 수 있다(S7).
특히, 각 입출력 클라이언트 인터페이스(532, 542)가 동일한 공유 데이터를 전달받는 경우, 입출력 클라이언트 인터페이스(532, 542)는, 동일한 커맨드 큐 및 동일한 키 데이터에 기초하여 공유 메모리(508)에 접근하고(S5), 공유 데이터를 공유 메모리(508)로부터 카피(copy) 또는 독출할 수 있다.
이에 따라, 제2 가상화 머신(530) 및 제3 가상화 머신(540)에서 공유 메모리(508)에 억세스 가능하게 되며, 결국, 공유 데이터를 공유할 수 있게 된다.
예를 들어, 공유 데이터가, 영상 데이터인 경우, 제2 가상화 머신(530) 및 제3 가상화 머신(540)에서 영상 데이터를 공유하게 되며, 결국 차량 내의 복수의 디스플레이(180a~180b)에서 동일한 공유 영상을 동기화하여 표시할 수 있게 된다.
도 9b는, 도 9a의 시스템(500)에 의해, 제2 가상화 머신(530)이 공유 메모리(508)를 통해 수신된 영상 데이터를 제1 디스플레이(180a)에 표시하고, 제3 가상화 머신(540)이 공유 메모리(508)를 통해 수신된 영상 데이터를 제2 디스플레이(180b)에 표시하는 것을 예시한다.
도 9b에서는, 제1 디스플레이(180a)에 표시되는 영상(905a)과 제2 디스플레이(180b)에 표시되는 영상(905b)의 동기화 수행되어, T1 시점에, 동일한 영상(905a,905b)이 각각 표시되는 것을 예시한다.
즉, 프로세서(175) 내의 제1 가상화 머신(520)에서 처리된 영상 데이터는, 공유 메모리(508)를 통해, 제2 가상화 머신(530) 및 제3 가상화 머신(540)으로 전송되며, 영상 데이터에 기초하여, 제1 디스플레이(180a)에 표시되는 제1 영상(905a)과, 제2 디스플레이(180b)에 표시되는 제2 영상(905b)은 서로 동일할 수 있다. 이에 따라, 차량 내의 복수의 디스플레이(180a~180b)에서 동일한 영상을 동기화하여 표시할 수 있게 된다.
도 10은 본 발명의 신호 처리 장치에서 구동되는 시스템의 또 다른 예를 도시한 도면이다.
도면을 참조하면, 본 발명의 실시예에 따른 신호 처리 장치(170)에서 구동되는 시스템(500m)은, 프로세서(175) 내의 하이퍼바이저(505) 상에서, 제1 가상화 머신 내지 제3 가상화 머신(520~540)을 실행한다.
한편, 제2 가상화 머신(530)은 제1 디스플레이(180a)를 위해 동작하며, 제3 가상화 머신(540)은, 제2 디스플레이(180b)를 위해 동작한다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 제2 가상화 머신(530) 또는 제3 가상화 머신(540)으로 카메라 데이터의 전송을 제어하는 카메라 매니저(CMA)와, 제2 가상화 머신(530) 또는 제3 가상화 머신(540)으로 위치 정보 데이터의 전송을 제어하는 위치 정보 매니저(GSA)와, 제2 가상화 머신(530) 또는 제3 가상화 머신(540)으로 터치 입력 데이터의 전송을 제어하는 입력 매니저(IMA)를 실행하도록 제어할 수 있다. 이에 따라, 각종 외부 데이터를 효율적으로 공유할 수 있게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 추가로, 제2 가상화 머신(530) 또는 제3 가상화 머신(540)으로 센서 데이터의 전송을 제어하는 센서 매니저(VMA)와, 제2 가상화 머신(530) 또는 제3 가상화 머신(540)으로 오디오 데이터의 전송을 제어하는 오디오 매니저(AMA)를 더 실행할 수 있다. 이에 따라, 각종 외부 데이터를 효율적으로 공유할 수 있게 된다.
예를 들어, 프로세서(175) 내의 제1 가상화 머신(520)은, 외부의 카메라 장치로부터 카메라 데이터를 수신하며, 제1 가상화 머신(520)은, 카메라 매니저(CMA)를 실행하고, 공유 메모리(508)를 이용하여, 제2 가상화 머신(530) 또는 제3 가상화 머신(540)으로 카메라 데이터의 전송을 제어할 수 있다.
다른 예로, 프로세서(175) 내의 제1 가상화 머신(520)은, 외부의 GPS 장치로부터 위치 정보 데이터를 수신하며, 제1 가상화 머신(520)은, 위치 정보 매니저(GSA)를 실행하고, 공유 메모리(508)를 이용하여, 제2 가상화 머신(530) 또는 제3 가상화 머신(540)으로 위치 정보 데이터의 전송을 제어할 수 있다.
또 다른 예로, 프로세서(175) 내의 제1 가상화 머신(520)은, 터치 입력 데이터를 수신하며, 제1 가상화 머신(520)은, 입력 매니저(IMA)를 실행하고, 공유 메모리(508)를 이용하여, 제2 가상화 머신(530) 또는 제3 가상화 머신(540)으로 터치 입력 데이터의 전송을 제어할 수 있다.
또 다른 예로, 프로세서(175) 내의 제1 가상화 머신(520)은, 외부의 센서 장치 또는 마이컴으로부터 센서 데이터를 수신하며, 제1 가상화 머신(520)은, 센서 매니저(VMA)를 실행하고, 공유 메모리(508)를 이용하여, 제2 가상화 머신(530) 또는 제3 가상화 머신(540)으로 센서 데이터의 전송을 제어할 수 있다.
또 다른 예로, 프로세서(175) 내의 제1 가상화 머신(520)은, 외부의 네트워크 또는 외부의 오디오 장치로부터 오디오 데이터를 수신하며, 제1 가상화 머신(520)은, 오디오 매니저(AMA)를 실행하고, 공유 메모리(508)를 이용하여, 제2 가상화 머신(530) 또는 제3 가상화 머신(540)으로 오디오 데이터의 전송을 제어할 수 있다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 제1 디스플레이(180a)또는 제2 디스플레이(180b)에 표시되는 오버레이의 제어를 위한 디스플레이 매니저(DMA)를 더 실행할 수 있다. 이때의 디스플레이 매니저(DMA)는, 도 5의 디스플레이 매니저(527)에 대응할 수 있다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 차량 내 마이컴을 제어하는 마이컴 매니저(MMA)를 더 실행할 수 있다.
한편, 도면에서의 카메라 매니저(CMA)와, 위치 정보 매니저(GSA)와, 입력 매니저(IMA)와, 센서 매니저(VMA)와, 오디오 매니저(AMA)와, 디스플레이 매니저(DMA)와, 마이컴 매니저(MMA) 등은, 시스템 매니저(SMA)에 의해 제어될 수도 있다.
즉, 프로세서(175) 내의 제1 가상화 머신(520)은, 시스템 매니저(SMA)를 실행시키고, 시스템 매니저(SMA)는, 카메라 매니저(CMA)와, 위치 정보 매니저(GSA)와, 입력 매니저(IMA)와, 센서 매니저(VMA)와, 오디오 매니저(AMA)와, 디스플레이 매니저(DMA)와, 또는 마이컴 매니저(MMA) 등을 선택적으로 실행시킬 수 있다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 시스템 슈퍼바이저(System Supervisor)를 실행시킬 수 있다.
그리고, 시스템 슈퍼바이저(System Supervisor)는, 신체 정보 모니터링을 위한 헬쓰 모니터(HMO), 리소스 프로파일링을 위한 리소프 프로파일(RPO), 파워 상태 또는 부트 모드를 위한 파워 관리(PSM) 등을 실행시킬 수 있다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 오토사(AUTOSAR)를 실행시킬 수 있다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 제2 가상화 머신(530) 또는 제3 가상화 머신(540)으로의 데이터 공유를 위해, 입출력 서버 인터페이스(522)를 실행시킬 수 있다.
도면에서는, 입출력 서버 인터페이스(522) 내에, 입출력 가상화(IVS)와, 인터페이스 백엔드(IFE)가 실행 또는 구비되는 것을 예시하나, 이와 달리, 입출력 서버 인터페이스(522) 내에, 인터페이스 백엔드(IFE)만 실행 또는 구비되는 것도 가능하다.
입출력 서버 인터페이스(522) 내의 인터페이스 백엔드(IFE)는, 시스템 매니저(SMA)로부터의 데이터를 하이퍼바이저(505) 기반의 공유 메모리(508)에 기록할 수 있다.
그리고, 제2 가상화 머신(530) 또는 제3 가상화 머신(540)은, 공유 메모리(508)에 기록된 데이터를 독출할 수 있다. 이에 따라, 이에 따라, 외부로부터 수신되는 데이터를, 게스트 가상화 머신인 제2 가상화 머신(530) 또는 제3 가상화 머신(540) 등으로, 효율적으로 공유할 수 있게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 카메라 매니저(CMA)와, 위치 정보 매니저(GSA)와, 입력 매니저(IMA) 별로, 하이버파이저(505) 기반의 공유 메모리(508)를 각각 설정하도록 제어할 수 있다. 이에 따라, 각 매니저 별 데이터를 각 공유 메모리를 이용하여 공유할 수 있게 된다.
예를 들어, 프로세서(175) 내의 제1 가상화 머신(520)은, 카메라 매니저(CMA)로부터의 카메라 데이터를 제1 공유 메모리에 저장하도록 제어하고, 위치 정보 매니저(GSA)로부터의 위치 정보르 제2 공유 메모리에 저장하도록 제어하고, 입력 매니저(IMA)로부터의 입력 데이터 또는 터치 입력 데이터를 제3 공유 메모리에 저장하도록 제어할 수 있다. 이에 따라, 각 매니저 별 데이터를 각 공유 메모리를 이용하여 공유할 수 있게 된다.
한편, 프로세서(175) 내의 제1 가상화 머신(520)은, 카메라 매니저(CMA)와, 위치 정보 매니저(GSA)와, 입력 매니저(IMA) 외에, 추가로 센서 매니저(VMA)와, 오디오 매니저(AMA)와, 디스플레이 매니저(DMA)와, 마이컴 매니저(MMA) 별로 하이버파이저(505) 기반의 공유 메모리(508)를 각각 설정하도록 제어할 수 있다. 이에 따라, 각 매니저 별 데이터를 각 공유 메모리를 이용하여 공유할 수 있게 된다.
도 11a 내지 도 11b는 본 발명과 관련한 신호 처리 장치에서 구동되는 시스템의 다양한 예를 도시한다.
도 11a는 본 발명과 관련한 신호 처리 장치에서 구동되는 시스템의 일예를 도시한다.
도면을 참조하면, 본 발명과 관련한 신호 처리 장치에서 구동되는 시스템(500x)은, 신호 처리 장치(170) 내에 하이퍼바이저(505x)를 실행하고, 하이퍼바이저(505x) 상에 복수의 가상화 머신(530x,540x,550x)을 실행할 수 있다.
한편, 각 가상화 머신(530x,540x,550x)은, 신호 처리 장치(170) 내의 프로세서 코어의 사용률 등을 모니터링하는 리소스 매니저(RMax,RMbx,RMnx)를 실행할 수 있다.
한편, 도 11a의 시스템(500x)에서, 각 가상화 머신(530x,540x,550x)의 리소스 활용도 등을 종합적으로 모니터링하기 위해서는, 도면과 같이, 별도의 모니터(502)가 필요하다.
그러나, 이러한 모니터(502)는, 복수의 가상화 머신(530x,540x,550x)과 별개로 동작하며, 복수의 가상화 머신(530x,540x,550x) 외부에서 특히, 하이퍼바이저(505x) 외부에서, 각 가상화 머신(530x,540x,550x)의 리소스 활용도 등을 모니터링하므로, 각 가상화 머신(530x,540x,550x) 중 어느 가상화 머신에서 리소스가 보족하고, 어느 가상화 머신에서 리소스가 여유 있는지 파악하기가 어렵다는 단점이 있다. 따라서, 리소스의 동적 할당 및 로드 밸런싱 제어가 어렵게 된다.
도 11b는 본 발명과 관련한 신호 처리 장치에서 구동되는 시스템의 다른 예를 도시한다.
도면을 참조하면, 본 발명과 관련한 신호 처리 장치에서 구동되는 시스템(500y)은, 신호 처리 장치(170) 내에 하이퍼바이저(505y)를 실행하고, 하이퍼바이저(505y) 상에 복수의 가상화 머신(530y,540y,550y)을 실행할 수 있다.
한편, 각 가상화 머신(530y,540y,550y)은, 신호 처리 장치(170) 내의 프로세서 코어의 사용률 등을 모니터링하는 리소스 매니저(RMay,RMby,RMny)를 실행할 수 있다.
한편, 도 11b의 각 리소스 매니저(RMay,RMby,RMny)는, 도 11a의 각 리소스 매니저(RMax,RMbx,RMnx)와 달리, 프로세서 코어의 사용률 외에 추가로, 비휘발성 메모리의 사용률, 휘발성 메모리의 사용률, 네트워크의 사용률, 또는 입출력 인터페이스의 사용률 등을 모니터링할 수 있다.
한편, 도 11b의 시스템(500y)에서, 각 가상화 머신(530y,540y,550y)의 리소스 활용도 등을 종합적으로 모니터링하기 위해서는, 도면과 같이, 별도의 모니터(502)가 필요하다.
그러나, 이러한 모니터(502)는, 복수의 가상화 머신(530y,540y,550y)과 별개로 동작하며, 복수의 가상화 머신(530y,540y,550y) 외부에서 특히, 하이퍼바이저(505y) 외부에서, 각 가상화 머신(530y,540y,550y)의 리소스 활용도 등을 모니터링하므로, 각 가상화 머신(530y,540y,550y) 중 어느 가상화 머신에서 리소스가 보족하고, 어느 가상화 머신에서 리소스가 여유 있는지 파악하기가 어렵다는 단점이 있다. 따라서, 리소스의 동적 할당 및 로드 밸런싱 제어가 어렵게 된다.
이에 본 발명에서는, 하이퍼바이저 내에서 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고 효율적으로 활용하는 방안을 제시한다. 특히, 리소스의 동적 할당 또는 재할당과 로드 밸런싱을 수행하는 방안을 제시한다. 이에 대해서는 도 12 이하를 참조하여 기술한다.
도 12는 본 발명의 실시예에 따른 신호 처리 장치에서 구동되는 시스템의 일예를 예시한다.
도면을 참조하면, 본 발명의 실시예에 따른 신호 처리 장치(170)에서 구동되는 시스템(500m)은, 신호 처리 장치(170) 내의 프로세서(175) 내의 하이퍼바이저(505) 상에서, 서버 가상화 머신인 제1 가상화 머신(520), 제1 게스트 가상화 머신인 제2 가상화 머신(530), 제2 게스트 가상화 머신인 제3 가상화 머신(540), 제3 게스트 가상화 머신인 제4 가상화 머신(550) 등이 실행되는 것을 예시한다.
제2 가상화 머신(530)은, 클러스터 디스플레이(180a)를 위한 가상화 머신이고, 제3 가상화 머신(540)은 AVN 디스플레이(180b)를 위한 가상화 머신이고, 제4 가상화 머신(550)은, RSE 디스플레이(180c)를 위한 가상화 머신일 수 있다.
한편, 서버 가상화 머신인 제1 가상화 머신(520)은, 오디오 데이터, 라디오 데이터, USB 데이터, 무선 통신 데이터의 입출력을 위한 인터페이스(521), 게스트 가상화 머신과의 데이터 통신을 위한 입출력 서버 인터페이스(522)를 구비할 수 있다.
한편, 게스트 가상화 머신인 제2 가상화 머신(530), 제3 가상화 머신(540), 제4 가상화 머신(550)은, 각각, 서버 가상화 머신인 제1 가상화 머신(520)과의 데이터 통신을 위한 입출력 클라이언트 인터페이스(532,542,552)를 구비할 수 있다.
한편, 신호 처리 장치(170)는, 복수의 프로세서 코어(175a1~175a4), 캐쉬(LCA), 복수의 메모리(140a1~140a4), 위치 정보 데이터의 수신 또는 처리를 위한 위치 정보 드라이버(GS), 터치 입력 데이터의 수신 또는 처리를 위한 터치 드라이버(TU), 카메라 영상 데이터의 수신 또는 처리를 위한 카메라 드라이버(CA)를 구비할 수 있다.
한편, 복수의 메모리(140a1~140a4) 중 일부는 비휘발성 메모리이고, 다른 일부는 휘발성 메모리일 수 있다.
한편, 신호 처리 장치(170)는, 신경망 처리 프로세스를 위한 신경망 프로세서(NPa), 그래픽 처리 프로세서를 위한 그래픽 프로세서(GPa), 고속 데이터 전송을 위한 고속 인터페이스(HSI)를 더 구비할 수 있다. 이때의 고속 인터페이스(HSI)는, PCIe, CCIX, 또는 CXL 등을 지원할 수 있다.
한편, 각 가상화 머신(520~550)는, 각 가상화 머신과 관련한 리소스를 관리하하기 위한 리소스 매니저(resource manager)(RMo,RMa,RMb,RMn)를 실행할 수 있다.
각 리소스 매니저(resource manager)(RMo,RMa,RMb,RMn)는, 프로세서 코어(175a1~175a4)의 사용률, 캐쉬(LCA)의 사용률, 비휘발성 메모리의 사용률, 휘발성 메모리의 사용률, 네트워크의 사용률, 또는 입출력 인터페이스(HSI)의 사용률 중 적어도 하나를 모니터링할 수 있다.
한편, 본 발명의 실시예에 따른 프로세서(175) 내의 하이퍼바이저(505)는, 복수의 가상화 머신(520~550)의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신(520~550)의 리소스의 할당 또는 재할당을 실행한다. 이에 따라, 하이퍼바이저(505) 내에서 복수의 가상화 머신(520~550)의 리소스 사용 정보를 모니터링하고 효율적으로 활용할 수 있게 된다.
한편, 프로세서(175) 내의 하이퍼바이저(505)에서 모니터링된 각 가상화 머신(520~550)의 리소스 사용 정보는, 각 리소스 매니저(resource manager)(RMo,RMa,RMb,RMn)로 전달될 수 있다.
한편, 프로세서(175) 내의 하이퍼바이저(505)는, 복수의 가상화 머신(520~550) 중 제1 가상화 머신(520)의 리소스 관리 요청에 기초하여, 복수의 가상화 머신(520~550)의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신(520~550)의 리소스의 할당 또는 재할당을 실행할 수 있다. 이에 따라, 하이퍼바이저(505) 내에서 복수의 가상화 머신(520~550)의 리소스 사용 정보를 모니터링하고 효율적으로 활용할 수 있게 된다.
한편, 프로세서(175) 내의 하이퍼바이저(505)는, 복수의 가상화 머신(520~550) 중 제1 가상화 머신(520)의 리소스 관리 요청에 기초하여, 복수의 가상화 머신(520~550) 중 게스트 가상화 머신(530,540,550)의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신(520~550)의 리소스 재할당 또는 재설정을 실행할 수 있다. 이에 따라, 하이퍼바이저(505) 내에서 복수의 가상화 머신(520~550)의 리소스 사용 정보를 모니터링하고 효율적으로 활용할 수 있게 된다.
한편, 프로세서(175) 내의 하이퍼바이저(505)는, 제1 디스플레이(180a)와 제2 디스플레이(180b)가 동작하는 경우, 제1 가상화 머신(520)의 리소스 관리 요청에 기초하여, 제2 가상화 머신(530)과 제3 가상화 머신(540)의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신(520~550)의 리소스 재할당 또는 재설정을 실행할 수 있다. 이에 따라, 하이퍼바이저(505) 내에서 복수의 가상화 머신(520~550)의 리소스 사용 정보를 모니터링하고 효율적으로 활용할 수 있게 된다.
한편, 하이퍼바이저(505)에서 수집된 각 가상화 머신의 리소스 사용 정보는, 복수의 가상화 머신(520~550) 중 제1 가상화 머신(520)으로 전달될 수 있다. 이에 따라, 제1 가상화 머신(520)은 리소스 사용 정보를 수집할 수 있게 된다.
한편, 리소스 사용 정보는, 신호 처리 장치(170) 내의 프로세서 코어의 사용률, 비휘발성 메모리의 사용률, 휘발성 메모리의 사용률, 네트워크의 사용률, 또는 입출력 인터페이스의 사용률 중 적어도 하나를 포함할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 프로세서 코어, 비휘발성 메모리, 휘발성 메모리, 네트워크, 또는 입출력 인터페이스를 효율적으로 활용할 수 있게 된다.
도 13은 본 발명의 실시예에 따른 신호 처리 장치에서 구동되는 시스템의 다른 예를 예시한다.
도면을 참조하면, 본 발명의 실시예에 따른 신호 처리 장치(170)에서 구동되는 시스템(500ma)은, 도 12의 시스템(500m)과 유사하게, 신호 처리 장치(170) 내의 프로세서(175) 내의 하이퍼바이저(505) 상에서, 서버 가상화 머신인 제1 가상화 머신(520), 제1 게스트 가상화 머신인 제2 가상화 머신(530), 제2 게스트 가상화 머신인 제3 가상화 머신(540), 제3 게스트 가상화 머신인 제4 가상화 머신(550) 등이 실행되는 것을 예시한다.
도 12와 비교하여, 도 13의 신호 처리 장치(170)에서 구동되는 시스템(500ma)은, 하이퍼바이저(505) 내에, 리소스 프로바이더(1310)와 로드 밸런싱 매니저(1320)를 구비하는 것에 그 차이가 있으며, 이에 도 12와 동일한 동작 설명은 생략하고, 차이 위주로 기술한다.
도면에서는, 복수의 게스트 가상화 머신(530~550) 내의 각 리소스 매니저(RMa~RMc)가, 각각 복수의 가상화 프로세서 코어(VCR1a~VCRna,VCR1b~VCRnb,VCR1n~VCRnn)를 실행하고, 이를 통해, 복수의 프로세서 코어의 사용률을 모니터링 또는 관리하는 것을 예시한다.
한편, 프로세서(175) 내의 하이퍼바이저(505)는, 복수의 가상화 머신(520~550)의 프로세서 코어에 대한 로드 밸런싱을 제어하는 로드 밸런싱 매니저(1320)와, 복수의 가상화 머신(520~550)의 리소스의 할당 또는 재할당을 실행하는 리소스 프로바이더(1310)를 구비할 수 있다.
예를 들어, 리소스 프로바이더(1310)는, 복수의 가상화 머신(520~550)의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신(520~550)의 리소스의 할당 또는 재할당을 실행할 수 있다.
구체적으로, 리소스 프로바이더(1310)는, 복수의 가상화 머신(520~550) 중 제1 가상화 머신(520)의 리소스 관리 요청에 기초하여, 복수의 가상화 머신(520~550)의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신(520~550)의 리소스의 할당 또는 재할당을 실행할 수 있다.
한편, 리소스 프로바이더(1310)는, 복수의 가상화 머신(520~550) 중 제1 가상화 머신(520)의 리소스 관리 요청에 기초하여, 복수의 가상화 머신(520~550) 중 게스트 가상화 머신의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신(520~550)의 리소스 재할당 또는 재설정을 실행할 수 있다.
한편, 리소스 프로바이더(1310)는, 제1 가상화 머신(520)의 리소스 관리 요청에 기초하여, 제2 가상화 머신(530)과 제3 가상화 머신(540)의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신(520~550)의 리소스 재할당 또는 재설정을 실행할 수 있다.
한편, 리소스 프로바이더(1310)는, 수집된 각 가상화 머신의 리소스 사용 정보를 복수의 가상화 머신(520~550) 중 제1 가상화 머신(520)으로 전달할 수 있다.
한편, 리소스 사용 정보는, 신호 처리 장치(170) 내의 프로세서 코어의 사용률을 포함할 수 있다.
한편, 로드 밸런싱 매니저(1320)는, 복수의 가상화 머신(520~550) 중 전용 프로세서 코어의 사용률이 오버로드되는 제4 가상화 머신(550)만 공유 프로세서 코어를 사용하도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 복수의 프로세서 코어(175a1~175a4)를 효율적으로 활용할 수 있게 된다.
한편, 로드 밸런싱 매니저(1320)는, 전용 프로세서 코어 또는 공유 프로세서 코어의 사용률에 기초하여, 전용 프로세서 코어 중 일부를 공유 프로세서 코어로 전환하거나, 공유 프로세서 코어의 일부를 전용 프로세서 코어로 전환하도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 복수의 프로세서 코어(175a1~175a4)를 효율적으로 활용할 수 있게 된다.
한편, 로드 밸런싱 매니저(1320)는, 복수의 가상화 머신(520~550)의 각 전용 프로세서 코어의 사용률이 오버로드되는 경우, 로드 밸런싱이 수행되도록 제어하며, 오버로드가 해소되는 경우, 로드 밸런싱이 종료되도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 복수의 프로세서 코어(175a1~175a4)를 효율적으로 활용할 수 있게 된다.
한편, 로드 밸런싱 매니저(1320)는, 복수의 가상화 머신(520~550)의 프로세서 코어의 아이들(idle) 시간을 확인하고, 아이들 시간에 기초하여, 복수의 가상화 머신(520~550)에 필요한 개수의 전용 프로세서 코어와 공유 프로세서 코어를 할당하도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 복수의 프로세서 코어(175a1~175a4)를 효율적으로 활용할 수 있게 된다.
한편, 로드 밸런싱 매니저(1320)는, 복수의 가상화 머신(520~550)의 각 전용 프로세서 코어의 사용률이 낮은 순서대로, 공유 프로세서 코어의 사용이 오프되도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 복수의 프로세서 코어(175a1~175a4)를 효율적으로 활용할 수 있게 된다.
도 14는 본 발명의 실시예에 따른 신호 처리 장치에서 구동되는 시스템의 또 다른 예를 예시한다.
도면을 참조하면, 본 발명의 실시예에 따른 신호 처리 장치(170)에서 구동되는 시스템(500mb)은, 도 13의 시스템(500ma)과 유사하게, 신호 처리 장치(170) 내의 프로세서(175) 내의 하이퍼바이저(505) 상에서, 서버 가상화 머신인 제1 가상화 머신(520), 제1 게스트 가상화 머신인 제2 가상화 머신(530), 제2 게스트 가상화 머신인 제3 가상화 머신(540), 제3 게스트 가상화 머신인 제4 가상화 머신(550) 등이 실행되는 것을 예시한다.
한편, 도 14의 신호 처리 장치(170)에서 구동되는 시스템(500mb)은, 도 13과 유사하게, 하이퍼바이저(505) 내에, 리소스 프로바이더(1310)와 로드 밸런싱 매니저(1320)를 구비한다.
도면에서는, 복수의 게스트 가상화 머신(530~550) 내의 각 리소스 매니저(RMa~RMc)가, 각각 복수의 가상화 프로세서 코어(VCR1a~VCRna,VCR1b~VCRnb,VCR1n~VCRnn), 가상화 휘발성 메모리(VRAa~VRAn), 가상화 비휘발성 메모리(VROa~VROn), 가상화 네트워크 및 입출력 인터페이스(VRNa~VRNn)를 실행하고, 이를 통해, 복수의 프로세서 코어의 사용률 외에, 추가로, 비휘발성 메모리의 사용률, 휘발성 메모리의 사용률, 네트워크의 사용률, 또는 입출력 인터페이스의 사용률을 모니터링 또는 관리하는 것을 예시한다.
한편, 도 13의 신호 처리 장치(170)에서 구동되는 시스템(500ma) 내의 하이퍼바이저(505)는, 복수의 프로세서 코어의 사용률에 기초하여, 리소스의 할당 또는 재할당하거나, 로드 밸런싱을 수행하였으나, 도 14의 신호 처리 장치(170)에서 구동되는 시스템(500mb)내의 하이퍼바이저(505)는, 복수의 프로세서 코어의 사용률 외에, 추가로, 비휘발성 메모리의 사용률, 휘발성 메모리의 사용률, 네트워크의 사용률, 또는 입출력 인터페이스의 사용률 중 적어도 하나에 더 기초하여, 리소스의 할당 또는 재할당하거나, 로드 밸런싱을 수행하는 것에 그 차이가 있다. 이에 도 13과 동일한 동작 설명은 생략하고, 차이 위주로 기술한다.
한편, 프로세서(175) 내의 하이퍼바이저(505)는, 복수의 가상화 머신(520~550)의 프로세서 코어에 대한 로드 밸런싱을 제어하는 로드 밸런싱 매니저(1320)와, 복수의 가상화 머신(520~550)의 리소스의 할당 또는 재할당을 실행하는 리소스 프로바이더(1310)를 구비할 수 있다.
한편, 리소스 프로바이더(1310)는, 제1 가상화 머신(520)의 리소스 관리 요청에 기초하여, 제2 가상화 머신(530)과 제3 가상화 머신(540)의 리소스 사용 정보를 모니터링하고, 복수의 가상화 머신(520~550)의 리소스 재할당 또는 재설정을 실행할 수 있다.
한편, 리소스 사용 정보는, 신호 처리 장치(170) 내의 프로세서 코어의 사용률, 비휘발성 메모리의 사용률, 휘발성 메모리의 사용률, 네트워크의 사용률, 또는 입출력 인터페이스의 사용률 중 적어도 하나를 포함할 수 있다.
예를 들어, 리소스 프로바이더(1310)는, 프로세서 코어의 사용률, 비휘발성 메모리의 사용률, 휘발성 메모리의 사용률, 네트워크의 사용률, 또는 입출력 인터페이스의 사용률 중 적어도 하나를 모니터링하고, 복수의 가상화 머신(520~550) 각각의 프로세서 코어, 비휘발성 메모리, 휘발성 메모리, 네트워크, 또는 입출력 인터페이스와 관련한 리소스 재할당 또는 재설정을 실행할 수 있다.
한편, 로드 밸런싱 매니저(1320)는, 복수의 가상화 머신(520~550) 중 비휘발성 메모리의 사용률이 오버로드되는 가상화 머신만 비휘발성 메모리를 사용하도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 비휘발성 메모리를 효율적으로 활용할 수 있게 된다.
한편, 로드 밸런싱 매니저(1320)는, 복수의 가상화 머신(520~550) 중 휘발성 메모리의 사용률이 오버로드되는 가상화 머신만 휘발성 메모리를 사용하도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 휘발성 메모리를 효율적으로 활용할 수 있게 된다.
한편, 로드 밸런싱 매니저(1320)는, 복수의 가상화 머신(520~550) 중 네트워크의 사용률이 오버로드되는 가상화 머신만 네트워크를 사용하도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 네트워크를 효율적으로 활용할 수 있게 된다.
한편, 로드 밸런싱 매니저(1320)는, 복수의 가상화 머신(520~550) 중 입출력 인터페이스의 사용률이 오버로드되는 가상화 머신만 입출력 인터페이스를 사용하도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 입출력 인터페이스를 효율적으로 활용할 수 있게 된다.
한편, 로드 밸런싱 매니저(1320)는, 복수의 가상화 머신(520~550)의 복수의 프로세서 코어의 사용률, 휘발성 메모리의 사용률, 네트워크의 사용률, 또는 입출력 인터페이스의 사용률 중 적어도 하나가 오버로드되는 경우, 로드 밸런싱이 수행되도록 제어하며, 오버로드가 해소되는 경우, 로드 밸런싱이 종료되도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 복수의 프로세서 코어, 휘발성 메모리, 네트워크, 또는 입출력 인터페이스 중 적어도 하나를 효율적으로 활용할 수 있게 된다.
한편, 로드 밸런싱 매니저(1320)는, 복수의 가상화 머신(520~550)의 복수의 프로세서 코어의 사용률, 휘발성 메모리의 사용률, 네트워크의 사용률, 또는 입출력 인터페이스의 사용률 중 적어도 하나의 아이들(idle) 시간을 확인하고, 아이들 시간에 기초하여, 복수의 가상화 머신(520~550)에 필요한 개수의 복수의 프로세서 코어, 휘발성 메모리, 네트워크, 또는 입출력 인터페이스 중 적어도 하나를 할당하도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 복수의 프로세서 코어, 휘발성 메모리, 네트워크, 또는 입출력 인터페이스 중 적어도 하나를 효율적으로 활용할 수 있게 된다.
한편, 로드 밸런싱 매니저(1320)는, 복수의 가상화 머신(520~550)의 복수의 프로세서 코어, 휘발성 메모리, 네트워크, 또는 입출력 인터페이스 중 적어도 하나의 사용률이 낮은 순서대로, 복수의 프로세서 코어, 휘발성 메모리, 네트워크, 또는 입출력 인터페이스 중 적어도 하나의 사용이 오프되도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 복수의 프로세서 코어, 휘발성 메모리, 네트워크, 또는 입출력 인터페이스 중 적어도 하나를 효율적으로 활용할 수 있게 된다.
도 15 내지 도 17b는 도 12 또는 도 13의 동작 설명에 참조되는 도면이다.
도 15는 본 발명의 실시예에 따른 신호 처리 장치의 동작 방법을 나타내는 도면이다.
도면을 참조하면, 신호 처리 장치(170) 내의 하이퍼바이저(505)는, 복수의 가상화 머신(520~550)의 리소스 사용 정보를 모니터링한다(S1510).
이때의 리소스 사용 정보는 신호 처리 장치(170) 내의 프로세서 코어의 사용률, 비휘발성 메모리의 사용률, 휘발성 메모리의 사용률, 네트워크의 사용률, 또는 입출력 인터페이스의 사용률 중 적어도 하나를 포함할 수 있다.
다음, 신호 처리 장치(170) 내의 하이퍼바이저(505)는, 복수의 가상화 머신(520~550) 중 동작하는 가상화 머신을 선택한다(S1520).
예를 들어, 도 16a 또는 도 16의 시스템(500mc) 내에서, 제1 게스트 가상화 머신인 제2 가상화 머신(530)이 여유가 있으며, 제3 게스트 가상화 머신인 제4 가상화 머신(550)이 오버로드되는 경우, 신호 처리 장치(170) 내의 하이퍼바이저(505)는, 여유 가상화 머신으로, 제2 가상화 머신(530)을 선택하고, 오버로드 가상화 머신으로 제4 가상화 머신(550)을 선택할 수 있다.
다음, 신호 처리 장치(170) 내의 하이퍼바이저(505)는, 오버로드 가상화 머신의 오버로드 리소스를 체크하고(S1532), 여유 가상화 머신의 여유 리소스를 체크한다(S1533).
다음, 신호 처리 장치(170) 내의 하이퍼바이저(505)는, 오버로드 가상화 머신과 여유 가상화 머신에 대한 리소스를 재할당 또는 재설정할 수 있다.(S1534).
그리고, 신호 처리 장치(170) 내의 하이퍼바이저(505)는, 재할당 리소스를 오버로드 가상화 머신에 할당하고(S1536), 여유 가상화 머신에서의 여유 리소스를 해제하도록 제어한다(S1537).
예를 들어, 신호 처리 장치(170) 내의 하이퍼바이저(505)는, 오버로드 가상화 머신인 제4 가상화 머신(550)만이, 공유 프로세서 코어를 사용하도록 리소스를 재할당하고, 여유 가상화 머신인 제2 가상화 머신(520)은, 공유 프로세서 코어를 사용하지 않도록 리소스를 해제할 수 있다. 이에 따라, 하이퍼바이저(505) 내에서 복수의 가상화 머신(520~550)의 리소스 사용 정보를 모니터링하고 효율적으로 활용할 수 있게 된다.
도 16a 내지 도 16c는 도 15의 동작 설명에 참조되는 도면이다.
먼저, 도 16a는 본 발명의 실시예에 따른 신호 처리 장치(170)에서 구동되는 시스템(500mc)을 예시한다.
도면을 참조하면, 본 발명의 실시예에 따른 신호 처리 장치(170) 내의 내의 프로세서(175)는, 하이퍼바이저(505) 상에서, 서버 가상화 머신인 제1 가상화 머신(520), 제1 게스트 가상화 머신인 제2 가상화 머신(530), 제2 게스트 가상화 머신인 제3 가상화 머신(540), 제3 게스트 가상화 머신인 제4 가상화 머신(550) 등을 실행할 수 있다.
한편, 도 16a의 신호 처리 장치(170)에서 구동되는 시스템(500mc)은, 도 13과 유사하게, 하이퍼바이저(505) 내에, 리소스 프로바이더(1310)와 로드 밸런싱 매니저(1320)를 구비할 수 있다.
한편, 도 16a의 신호 처리 장치(170)에서 구동되는 시스템(500mc) 내의 복수의 게스트 가상화 머신(530~550)은, 도 13과 유사하게, 각 리소스 매니저(RMa~RMc)를 실행할 수 있다.
한편, 도 16a의 신호 처리 장치(170)에서 구동되는 시스템(500mc) 내의 제1 가상화 머신(520)은, 제1 가상화 머신(520)과, 복수의 게스트 가상화 머신(530~550)의 리소스 사용 정보를 모니터링하는 리소스 모니터(1330)를 구비할 수 있다.
한편, 제1 게스트 가상화 머신인 제2 가상화 머신(530)은, 복수의 가상화 전용 프로세서 코어(VCR1a, VCR2a)와 복수의 가상화 공유 프로세서 코어(VCR7a, VCR8a)를 실행 또는 사용할 수 있다.
한편, 제2 게스트 가상화 머신인 제3 가상화 머신(540)은, 복수의 가상화 전용 프로세서 코어(VCR3a, VCR4a)와 복수의 가상화 공유 프로세서 코어(VCR7a, VCR8a)를 실행 또는 사용할 수 있다.
한편, 제3 게스트 가상화 머신인 제4 가상화 머신(550)은, 복수의 가상화 전용 프로세서 코어(VCR5a, VCR6a)와 복수의 가상화 공유 프로세서 코어(VCR7a VCR8a)를 실행 또는 사용할 수 있다.
한편, 도 16a의 신호 처리 장치(170)는, 복수의 프로세서 코어(PCR1~PCR8)를 포함한다.
한편, 도 16a의 신호 처리 장치(170)는, 복수의 프로세서 코어(PCR1~PCR8) 외에, 복수의 메모리(140a1~140a4), 신경망 프로세서(NPa), 그래픽 처리 프로세서를 위한 그래픽 프로세서(GPa), 고속 데이터 전송을 위한 고속 인터페이스(HSI)를 더 구비할 수 있다.
한편, 복수의 프로세서 코어(PCR1~PCR8)는, 복수의 가상화 머신(520~550)에 공유되는 공유 프로세서 코어(PCR7, PCR8)와, 복수의 가상화 머신(520~550) 각각을 위한 전용 프로세서 코어(PCR1~PCR6)로 구분될 수 있다.
한편, 하이퍼바이저(505)는, 복수의 가상화 머신(520~550) 중 전용 프로세서 코어(PCR1~PCR6)의 사용률이 오버로드되지 않는 가상화 머신이, 공유 프로세서 코어(PCR7, PCR8)를 사용하지 않도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 복수의 프로세서 코어(PCR1~PCR8)를 효율적으로 활용할 수 있게 된다.
한편, 하이퍼바이저(505)는, 복수의 가상화 머신(520~550) 중 일부 가상화 머신이, 공유 프로세서 코어(PCR7, PCR8)를 사용하지 않는 상태에서, 복수의 가상화 머신(520~550) 중 전용 프로세서 코어(PCR1~PCR6)의 사용률이 오버로드되는 가상화 머신이, 공유 프로세서 코어(PCR7, PCR8)를 전용으로 사용하거나, 공유 프로세서 코어(PCR7, PCR8)의 사용률이 증가하도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 복수의 프로세서 코어(PCR1~PCR8)를 효율적으로 활용할 수 있게 된다.
한편, 하이퍼바이저(505)는, 복수의 가상화 머신(520~550)의 각 전용 프로세서 코어(PCR1~PCR6)의 사용률이 오버로드되는 경우, 로드 밸런싱이 수행되도록 제어하며, 오버로드가 해소되는 경우, 로드 밸런싱이 종료되도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 로드 밸런싱을 효율적으로 수행할 수 있게 된다.
도 16b는, 복수의 게스트 가상화 머신(530~550) 중 제1 게스트 가상화 머신인 제2 가상화 머신(530)과, 제2 게스트 가상화 머신인 제3 가상화 머신(540)의 전용 프로세서 코어(PCR1~PCR4)의 사용률이 오버로되지 않고 여유 있으며, 제3 게스트 가상화 머신인 제4 가상화 머신(550)의 전용 프로세서 코어(PCR5~PCR6)의 사용률이 오버로드된 것을 예시한다.
이에 따라, 하이퍼바이저(505)는, 도면과 같이, 복수의 가상화 머신(520~550) 중 전용 프로세서 코어(PCR1~PCR4)의 사용률이 오버로드되지 않는 제2 가상화 머신(530) 및 제3 가상화 머신(540)이, 공유 프로세서 코어(PCR7, PCR8)를 사용하지 않도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 복수의 프로세서 코어(PCR1~PCR8)를 효율적으로 활용할 수 있게 된다.
한편, 하이퍼바이저(505)는, 도면과 같이, 복수의 가상화 머신(520~550) 중 전용 프로세서 코어(PCR1~PCR6)의 사용률이 오버로드되는 제4 가상화 머신(550)만 공유 프로세서 코어(PCR7, PCR8)를 사용하도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 복수의 프로세서 코어(PCR1~PCR8)를 효율적으로 활용할 수 있게 된다.
도 16c는, 복수의 게스트 가상화 머신(530~550) 중 제1 게스트 가상화 머신인 제2 가상화 머신(530)과, 제2 게스트 가상화 머신인 제3 가상화 머신(540)이 여유의 가상화 머신이고, 제4 가상화 머신(550)이 오버로드된 가상화 머신인 것을 예시한다.
도면을 참조하면, 제1 게스트 가상화 머신인 제2 가상화 머신(530)은, 복수의 가상화 전용 프로세서 코어(VCR1a, VCR2a)와 복수의 가상화 공유 프로세서 코어(VCR7a, VCR8a)를 실행 또는 사용하고, 제2 게스트 가상화 머신인 제3 가상화 머신(540)은, 복수의 가상화 전용 프로세서 코어(VCR3a, VCR4a)와 복수의 가상화 공유 프로세서 코어(VCR7a, VCR8a)를 실행 또는 사용하고, 제3 게스트 가상화 머신인 제4 가상화 머신(550)은, 복수의 가상화 전용 프로세서 코어(VCR5a, VCR6a)와 복수의 가상화 공유 프로세서 코어(VCR7a VCR8a)를 실행 또는 사용할 수 있다.
한편, 하이퍼바이저(505) 내의 로드 밸런싱 매니저(1320)는, 복수의 가상화 머신(520~550)의 프로세서 코어의 아이들(idle) 시간을 확인하고(S1710), 아이들 시간에 기초하여, 복수의 가상화 머신(520~550)에 필요한 개수의 전용 프로세서 코어(PCR1~PCR6)와 공유 프로세서 코어(PCR7, PCR8)를 할당하도록 제어할 수 있다.
예를 들어, 하이퍼바이저(505)는, 일부 가상화 머신에 대해, 공유 프로세서 코어(PCR7, PCR8)의 사용이 오프되도록 제어할 수 있다,
구체적으로, 하이퍼바이저(505)는, 제2 가상화 머신(530)과 제3 가상화 머신에 대해, 공유 프로세서 코어(PCR7, PCR8)의 사용이 오프되도록 제어할 수 있다. 이에 따라, 신호 처리 장치(170) 내의 복수의 프로세서 코어(PCR1~PCR8)를 효율적으로 활용할 수 있게 된다.
한편, 하이퍼바이저(505)는, 복수의 가상화 머신(520~550)의 각 전용 프로세서 코어(PCR1~PCR6)의 사용률이 낮은 순서대로, 공유 프로세서 코어(PCR7, PCR8)의 사용이 오프되도록 제어할 수 있다(S1730). 이에 따라, 신호 처리 장치(170) 내의 복수의 프로세서 코어(PCR1~PCR8)를 효율적으로 활용할 수 있게 된다.
한편, 하이퍼바이저(505)는, 전용 프로세서 코어(PCR1~PCR6) 또는 공유 프로세서 코어(PCR7, PCR8)의 사용률에 기초하여, 전용 프로세서 코어(PCR1~PCR6) 중 일부를 공유 프로세서 코어(PCR7, PCR8)로 전환하거나, 공유 프로세서 코어(PCR7, PCR8)의 일부를 전용 프로세서 코어(PCR1~PCR6)로 전환하도록 제어할 수 있다.
도 17a는 도 11a 내지 도 11b와 같이, 리소스의 동적 할당 및 로드 밸런싱 제어가 어려운 경우의, 차량(200) 내의 제2 디스플레이(180b)와 제3 디스플레이(180c)에 각각 영상이 표시되는 것을 예시한다.
예를 들어, 제2 디스플레이(180b)에 네비게이션 맵 영상(1810)이 표시되며, 제3 디스플레이(180c)에 컨텐츠 영상 또는 게임 영상(1820)이 동시에 표시되는 경우, 도 11a 내지 도 11b와 같이, 리소스의 동적 할당 및 로드 밸런싱 제어가 어려울 수 있다.
도면에서는, 복수의 프로세서 코어의 사용률이 오버로드되는 게임 영상(1820)이 원활히 처리되지 못하여, 일부 지연되거나 중간에 짤린 영상이 표시되는 것을 예시한다.
한편, 도 12 내지 16c와 같이 본 발명의 실시예에 따르면, 리소스의 동적 할당 및 로드 밸런싱 제어가 가능하게 된다.
도 17b는, 본 발명의 실시예에 따르면, 리소스의 동적 할당 및 로드 밸런싱 제어가 어려운 경우의, 차량(200) 내의 제2 디스플레이(180b)와 제3 디스플레이(180c)에 각각 영상이 표시되는 것을 예시한다.
도면을 참조하면, 제2 디스플레이(180b)에 네비게이션 맵 영상(1810)이 표시되며, 제3 디스플레이(180c)에 컨텐츠 영상 또는 게임 영상(1830)이 동시에 표시되는 경우, 리소스의 동적 할당 및 로드 밸런싱 제어가 가능하게 된다.
도면에서는, 복수의 프로세서 코어의 사용률이 오버로드되는 게임 영상(1830)이라도 원활히 처리되어, 일부 지연이 발생하지 않으며, 중간에 짤린 영상이 아닌 전체 영상표시되는 것을 예시한다.
결국, 신호 처리 장치(170)는, 차량(200) 내의 제2 디스플레이(180b)와 제3 디스플레이(180c)에, 리소스 모니터링 및 로드 밸런싱에 기초하여, 안정적인 제1 영상(1810)과 제2 영상(1830)을 표시할 수 있게 된다.
한편, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (19)

  1. 차량에 장착되는 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하는 신호 처리 장치에 있어서,
    상기 프로세서는,
    상기 프로세서 내의 하이퍼바이저 상에서, 복수의 가상화 머신을 실행하며,
    상기 프로세서 내의 상기 하이퍼바이저는,
    상기 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고, 상기 복수의 가상화 머신의 리소스의 할당 또는 재할당을 실행하는 것을 특징으로 하는 신호 처리 장치.
  2. 제1항에 있어서,
    상기 프로세서 내의 상기 하이퍼바이저는,
    상기 복수의 가상화 머신 중 제1 가상화 머신의 리소스 관리 요청에 기초하여, 상기 복수의 가상화 머신의 리소스 사용 정보를 모니터링하고, 상기 복수의 가상화 머신의 리소스의 할당 또는 재할당을 실행하는 것을 특징으로 하는 신호 처리 장치.
  3. 제1항에 있어서,
    상기 프로세서 내의 상기 하이퍼바이저는,
    상기 복수의 가상화 머신 중 제1 가상화 머신의 리소스 관리 요청에 기초하여, 상기 복수의 가상화 머신 중 게스트 가상화 머신의 리소스 사용 정보를 모니터링하고, 상기 복수의 가상화 머신의 리소스 재할당 또는 재설정을 실행하는 것을 특징으로 하는 신호 처리 장치.
  4. 제1항에 있어서,
    상기 복수의 가상화 머신 중 제2 가상화 머신은 제1 디스플레이를 위해 동작하며, 상기 제3 가상화 머신은, 제2 디스플레이를 위해 동작하며,
    상기 프로세서 내의 상기 하이퍼바이저는,
    상기 제1 가상화 머신의 리소스 관리 요청에 기초하여, 상기 제2 가상화 머신과 상기 제3 가상화 머신의 리소스 사용 정보를 모니터링하고, 상기 복수의 가상화 머신의 리소스 재할당 또는 재설정을 실행하는 것을 특징으로 하는 신호 처리 장치.
  5. 제1항에 있어서,
    상기 하이퍼바이저에서 수집된 각 가상화 머신의 리소스 사용 정보는,
    상기 복수의 가상화 머신 중 제1 가상화 머신으로 전달되는 것을 특징으로 하는 신호 처리 장치.
  6. 제5항에 있어서,
    상기 리소스 사용 정보는,
    상기 신호 처리 장치 내의 프로세서 코어의 사용률, 비휘발성 메모리의 사용률, 휘발성 메모리의 사용률, 네트워크의 사용률, 또는 입출력 인터페이스의 사용률 중 적어도 하나를 포함하는 것을 특징으로 하는 신호 처리 장치.
  7. 제1항에 있어서,
    복수의 프로세서 코어를 더 포함하고,
    상기 복수의 프로세서 코어는,
    상기 복수의 가상화 머신에 공유되는 공유 프로세서 코어와, 상기 복수의 가상화 머신 각각을 위한 전용 프로세서 코어로 구분되고,
    상기 하이퍼바이저는,
    상기 복수의 가상화 머신 중 전용 프로세서 코어의 사용률이 오버로드되지 않는 가상화 머신이, 상기 공유 프로세서 코어를 사용하지 않도록 제어하는 것을 특징으로 하는 신호 처리 장치.
  8. 제1항에 있어서,
    복수의 프로세서 코어를 더 포함하고,
    상기 복수의 프로세서 코어는,
    상기 복수의 가상화 머신에 공유되는 공유 프로세서 코어와, 상기 복수의 가상화 머신 각각을 위한 전용 프로세서 코어로 구분되고,
    상기 하이퍼바이저는,
    상기 복수의 가상화 머신 중 일부 가상화 머신이, 상기 공유 프로세서 코어를 사용하지 않는 상태에서, 상기 복수의 가상화 머신 중 전용 프로세서 코어의 사용률이 오버로드되는 가상화 머신이, 상기 공유 프로세서 코어를 전용으로 사용하거나, 상기 공유 프로세서 코어의 사용률이 증가하도록 제어하는 것을 특징으로 하는 신호 처리 장치.
  9. 제1항에 있어서,
    복수의 프로세서 코어를 더 포함하고,
    상기 복수의 프로세서 코어는,
    상기 복수의 가상화 머신에 공유되는 공유 프로세서 코어와, 상기 복수의 가상화 머신 각각을 위한 전용 프로세서 코어로 구분되고,
    상기 하이퍼바이저는,
    상기 복수의 가상화 머신 중 전용 프로세서 코어의 사용률이 오버로드되지 않는 제2 가상화 머신 및 제3 가상화 머신이, 상기 공유 프로세서 코어를 사용하지 않도록 제어하는 것을 특징으로 하는 신호 처리 장치.
  10. 제9항에 있어서,
    상기 하이퍼바이저는,
    상기 복수의 가상화 머신 중 전용 프로세서 코어의 사용률이 오버로드되는 제4 가상화 머신만 상기 공유 프로세서 코어를 사용하도록 제어하는 것을 특징으로 하는 신호 처리 장치.
  11. 제1항에 있어서,
    복수의 프로세서 코어를 더 포함하고,
    상기 복수의 프로세서 코어는,
    상기 복수의 가상화 머신에 공유되는 공유 프로세서 코어와, 상기 복수의 가상화 머신 각각을 위한 전용 프로세서 코어로 구분되고,
    상기 하이퍼바이저는,
    상기 전용 프로세서 코어 또는 상기 공유 프로세서 코어의 사용률에 기초하여, 상기 전용 프로세서 코어 중 일부를 상기 공유 프로세서 코어로 전환하거나, 상기 공유 프로세서 코어의 일부를 상기 전용 프로세서 코어로 전환하도록 제어하는 것을 특징으로 하는 신호 처리 장치.
  12. 제1항에 있어서,
    복수의 프로세서 코어를 더 포함하고,
    상기 복수의 프로세서 코어는,
    상기 복수의 가상화 머신에 공유되는 공유 프로세서 코어와, 상기 복수의 가상화 머신 각각을 위한 전용 프로세서 코어로 구분되고,
    상기 하이퍼바이저는,
    상기 복수의 가상화 머신의 각 전용 프로세서 코어의 사용률이 오버로드되는 경우, 로드 밸런싱이 수행되도록 제어하며,
    상기 오버로드가 해소되는 경우, 상기 로드 밸런싱이 종료되도록 제어하는 것을 특징으로 하는 신호 처리 장치.
  13. 제1항에 있어서,
    복수의 프로세서 코어를 더 포함하고,
    상기 하이퍼바이저는,
    상기 복수의 가상화 머신의 프로세서 코어의 아이들(idle) 시간을 확인하고, 상기 아이들 시간에 기초하여, 상기 복수의 가상화 머신에 필요한 개수의 전용 프로세서 코어와 공유 프로세서 코어를 할당하도록 제어하는 것을 특징으로 하는 신호 처리 장치.
  14. 제13항에 있어서,
    상기 하이퍼바이저는,
    상기 복수의 가상화 머신의 각 전용 프로세서 코어의 사용률이 낮은 순서대로, 상기 공유 프로세서 코어의 사용이 오프되도록 제어하는 것을 특징으로 하는 신호 처리 장치.
  15. 제1항에 있어서,
    상기 복수의 가상화 머신 중 제1 가상화 머신은, 리소스 사용 정보를 모니터링하는 리소스 모니터를 구비하고,
    상기 프로세서 내의 상기 하이퍼바이저는,
    상기 복수의 가상화 머신의 프로세서 코어에 대한 로드 밸런싱을 제어하는 로드 밸런싱 매니저와,
    상기 복수의 가상화 머신의 리소스의 할당 또는 재할당을 실행하는 리소스 프로바이더를 구비하는 것을 특징으로 하는 신호 처리 장치.
  16. 제1항에 있어서,
    상기 프로세서 내의 제1 가상화 머신은,
    카메라 데이터의 전송을 제어하는 카메라 매니저와, 위치 정보 데이터의 전송을 제어하는 위치 정보 매니저와, 터치 입력 데이터의 전송을 제어하하는 입력 매니저를 실행하도록 제어하는 것을 특징으로 하는 신호 처리 장치.
  17. 제16항에 있어서,
    상기 프로세서 내의 제1 가상화 머신은,
    상기 카메라 매니저와, 상기 위치 정보 매니저와, 상기 입력 매니저 별로, 상기 하이버파이저 기반의 공유 메모리를 각각 설정하도록 제어하는 것을 특징으로 하는 신호 처리 장치.
  18. 차량 내에 배치되는 제1 디스플레이와 제2 디스플레이;
    상기 제1 디스플레이와 제2 디스플레이를 위한 신호 처리를 수행하는 프로세서를 포함하는 신호 처리 장치;를 구비하고,
    상기 신호 처리 장치는,
    제1항 내지 제17항 중 어느 한 항의 신호 처리 장치를 포함하는 것을 특징으로 하는 차량용 디스플레이 장치.
  19. 제18항에 있어서,
    상기 신호 처리 장치는,
    리소스 모니터링 및 로드 밸런싱에 기초하여, 상기 제1 디스플레이에, 제1 영상을 표시하는 중에, 상기 제2 디스플레이에 제2 영상을 표시하도록 제어하는 것을 특징으로 하는 차량용 디스플레이 장치.
PCT/KR2022/005098 2022-04-08 2022-04-08 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치 WO2023195559A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/005098 WO2023195559A1 (ko) 2022-04-08 2022-04-08 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/005098 WO2023195559A1 (ko) 2022-04-08 2022-04-08 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치

Publications (1)

Publication Number Publication Date
WO2023195559A1 true WO2023195559A1 (ko) 2023-10-12

Family

ID=88243154

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/005098 WO2023195559A1 (ko) 2022-04-08 2022-04-08 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치

Country Status (1)

Country Link
WO (1) WO2023195559A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100073959A (ko) * 2008-12-22 2010-07-01 한국전자통신연구원 가상화 기반 자원 관리 장치 및 방법과 가상화 기반 자원 관리가 가능한 컴퓨팅 시스템
JP2015007942A (ja) * 2013-06-26 2015-01-15 富士通株式会社 プログラム、仮想マシン管理方法および情報処理装置
JP2016001278A (ja) * 2014-06-12 2016-01-07 三菱電機株式会社 マルチ画面表示システム、マルチ画面表示方法、及びプログラム
JP6523298B2 (ja) * 2014-01-06 2019-05-29 ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company コンピュータシステムと車両インターフェースシステム
KR20200097579A (ko) * 2019-02-08 2020-08-19 삼성전자주식회사 프로세스 스케줄링을 위한 전자 장치, 저장 매체 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100073959A (ko) * 2008-12-22 2010-07-01 한국전자통신연구원 가상화 기반 자원 관리 장치 및 방법과 가상화 기반 자원 관리가 가능한 컴퓨팅 시스템
JP2015007942A (ja) * 2013-06-26 2015-01-15 富士通株式会社 プログラム、仮想マシン管理方法および情報処理装置
JP6523298B2 (ja) * 2014-01-06 2019-05-29 ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company コンピュータシステムと車両インターフェースシステム
JP2016001278A (ja) * 2014-06-12 2016-01-07 三菱電機株式会社 マルチ画面表示システム、マルチ画面表示方法、及びプログラム
KR20200097579A (ko) * 2019-02-08 2020-08-19 삼성전자주식회사 프로세스 스케줄링을 위한 전자 장치, 저장 매체 및 방법

Similar Documents

Publication Publication Date Title
WO2022182103A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2020246712A1 (en) Method and apparatus for measuring location of multiple electronic devices based on time scheduling information in connection with ultra-wide band communication
WO2020231083A1 (ko) 열전달 구조를 포함하는 전자 장치
WO2016047887A1 (ko) 이동단말기의 운용 체제 전환장치 및 방법, 차량 및 그 차량의 운용 체제 전송장치 및 방법
WO2019045271A1 (en) BATTERY SUPPORT STRUCTURE AND ELECTRONIC DEVICE HAVING THE SAME
WO2021162320A1 (en) Electronic device and method for operating high speed screen of electronic device
WO2019031708A1 (en) ELECTRONIC DEVICE AND METHOD FOR PROCESSING INFORMATION RELATING TO DRIVING
EP3991018A1 (en) Electronic device for processing wheel input and operation method thereof
WO2019194428A1 (ko) 외부 전자 장치의 키를 공유하는 전자 장치 및 전자 장치의 동작 방법
WO2023195559A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
CN107111426A (zh) 调参方法、调参装置、调参系统及调参存储器
WO2024034709A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2024034708A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2023113078A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2022103093A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2023113079A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2023136376A1 (ko) 차량용 디스플레이 장치
WO2024085283A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2023136374A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2023136369A1 (ko) 차량용 디스플레이 장치
WO2024071476A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2023101070A1 (ko) 차량용 통신 장치 및 이를 구비하는 차량용 디스플레이 장치
WO2024034752A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 증강현실 장치
WO2023136373A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2023191195A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22936613

Country of ref document: EP

Kind code of ref document: A1