WO2024019280A1 - Pid 제어기에 기초하여 전자 장치의 발열을 제어하는 방법 및 장치 - Google Patents

Pid 제어기에 기초하여 전자 장치의 발열을 제어하는 방법 및 장치 Download PDF

Info

Publication number
WO2024019280A1
WO2024019280A1 PCT/KR2023/006000 KR2023006000W WO2024019280A1 WO 2024019280 A1 WO2024019280 A1 WO 2024019280A1 KR 2023006000 W KR2023006000 W KR 2023006000W WO 2024019280 A1 WO2024019280 A1 WO 2024019280A1
Authority
WO
WIPO (PCT)
Prior art keywords
clock
limit
cpu
gpu
minimum
Prior art date
Application number
PCT/KR2023/006000
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
Priority claimed from KR1020220108455A external-priority patent/KR20240011588A/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of WO2024019280A1 publication Critical patent/WO2024019280A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/36Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
    • G05B11/42Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential for obtaining a characteristic which is both proportional and time-dependent, e.g. P. I., P. I. D.
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency

Definitions

  • the disclosure below relates to a technology for controlling heat generation in an electronic device based on a PID controller.
  • the heat generation of the electronic device is controlled using a fixed control method for the purpose of protecting the chipset, or the surface temperature of the electronic device is controlled.
  • the heat generation of the electronic device was controlled using a predetermined control method according to .
  • the conventional method for controlling heat generation in electronic devices has a problem in that it cannot automatically respond when an undefined heat generation situation occurs, so additional software work was required.
  • An electronic device includes a memory storing computer-executable instructions, and a processor that accesses the memory and executes the instructions.
  • the processor measures the surface temperature of the electronic device, determines the load of the hardware, and preset events. monitors the occurrence of the electronic device, determines the PID level of the electronic device for heat control based on the surface temperature of the electronic device, and determines the minimum clock of the CPU limit clock and the minimum clock of the GPU limit clock based on the determined PID level and the load of the hardware.
  • the limit clock of the CPU is determined to be higher than the minimum clock of the set CPU limit clock so that the surface temperature of the electronic device converges to the target temperature corresponding to the determined PID level, and the minimum clock of the set GPU limit clock is set.
  • a method performed by a processor includes operations of measuring the surface temperature of an electronic device, monitoring the load of hardware and the occurrence of preset events, and controlling heat generation of the electronic device based on the surface temperature of the electronic device.
  • the operation may include determining the CPU limit clock to be higher than the minimum clock of the set CPU limit clock and determining the GPU limit clock to be higher than the minimum clock of the set GPU limit clock.
  • a computer-readable recording medium includes the operation of measuring the surface temperature of an electronic device, monitoring the load of hardware and the occurrence of preset events, and controlling the electronic device to generate heat based on the surface temperature of the electronic device.
  • One or more computer programs containing instruction(s) for performing a method performed by a processor may be stored.
  • FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments.
  • FIG. 2 is a flowchart schematically explaining an operation of controlling surface temperature by an electronic device according to an embodiment.
  • FIG. 3 is a diagram schematically explaining a process by which an electronic device controls the surface temperature of the electronic device, according to an embodiment.
  • FIG. 4 is a diagram illustrating a process by which a PID controller of an electronic device controls heat generation of the electronic device for each PID level, according to an embodiment.
  • Figure 5 is a table illustrating the types of events preset in the electronic device and the PID level corresponding to each event.
  • FIG. 6 is a diagram illustrating a process in which a PID controller determines the minimum clock of the CPU limit clock according to an embodiment.
  • FIG. 7 is a diagram illustrating a process in which a PID controller determines the minimum clock of the GPU limit clock according to an embodiment.
  • FIG. 8 is a diagram illustrating a process by which a PID controller determines the minimum speed of the TCP speed limit according to an embodiment.
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100, according to various embodiments.
  • the electronic device 101 communicates with the electronic device 102 through a first network 198 (e.g., a short-range wireless communication network) or a second network 199. It is possible to communicate with the electronic device 104 or the server 108 through (e.g., a long-distance wireless communication network). According to one embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108.
  • a first network 198 e.g., a short-range wireless communication network
  • a second network 199 e.g., a second network 199.
  • the electronic device 101 may communicate with the electronic device 104 through the server 108.
  • the electronic device 101 includes a processor 120, a memory 130, an input module 150, an audio output module 155, a display module 160, an audio module 170, and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or may include an antenna module 197.
  • at least one of these components eg, the connection terminal 178) may be omitted or one or more other components may be added to the electronic device 101.
  • some of these components e.g., sensor module 176, camera module 180, or antenna module 197) are integrated into one component (e.g., display module 160). It can be.
  • the processor 120 for example, executes software (e.g., program 140) to operate at least one other component (e.g., hardware or software component) of the electronic device 101 connected to the processor 120. It can be controlled and various data processing or calculations can be performed. According to one embodiment, as at least part of data processing or computation, the processor 120 stores commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132. The commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
  • software e.g., program 140
  • the processor 120 stores commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132.
  • the commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
  • the processor 120 includes a main processor 121 (e.g., a central processing unit or an application processor) or an auxiliary processor 123 that can operate independently or together (e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor).
  • a main processor 121 e.g., a central processing unit or an application processor
  • auxiliary processor 123 e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor.
  • the electronic device 101 includes a main processor 121 and a secondary processor 123
  • the secondary processor 123 may be set to use lower power than the main processor 121 or be specialized for a designated function. You can.
  • the auxiliary processor 123 may be implemented separately from the main processor 121 or as part of it.
  • the auxiliary processor 123 may, for example, act on behalf of the main processor 121 while the main processor 121 is in an inactive (e.g., sleep) state, or while the main processor 121 is in an active (e.g., application execution) state. ), together with the main processor 121, at least one of the components of the electronic device 101 (e.g., the display module 160, the sensor module 176, or the communication module 190) At least some of the functions or states related to can be controlled.
  • co-processor 123 e.g., image signal processor or communication processor
  • may be implemented as part of another functionally related component e.g., camera module 180 or communication module 190. there is.
  • the auxiliary processor 123 may include a hardware structure specialized for processing artificial intelligence models.
  • Artificial intelligence models can be created through machine learning. For example, such learning may be performed in the electronic device 101 itself, where artificial intelligence is performed, or may be performed through a separate server (e.g., server 108).
  • Learning algorithms may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but It is not limited.
  • An artificial intelligence model may include multiple artificial neural network layers.
  • Artificial neural networks include deep neural network (DNN), convolutional neural network (CNN), recurrent neural network (RNN), restricted boltzmann machine (RBM), belief deep network (DBN), bidirectional recurrent deep neural network (BRDNN), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the examples described above.
  • artificial intelligence models may additionally or alternatively include software structures.
  • the memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101. Data may include, for example, input data or output data for software (e.g., program 140) and instructions related thereto.
  • Memory 130 may include volatile memory 132 or non-volatile memory 134.
  • the program 140 may be stored as software in the memory 130 and may include, for example, an operating system 142, middleware 144, or application 146.
  • the input module 150 may receive commands or data to be used in a component of the electronic device 101 (e.g., the processor 120) from outside the electronic device 101 (e.g., a user).
  • the input module 150 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or digital pen (eg, stylus pen).
  • the sound output module 155 may output sound signals to the outside of the electronic device 101.
  • the sound output module 155 may include, for example, a speaker or a receiver. Speakers can be used for general purposes such as multimedia playback or recording playback.
  • the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.
  • the display module 160 can visually provide information to the outside of the electronic device 101 (eg, a user).
  • the display module 160 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling the device.
  • the display module 160 may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of force generated by the touch.
  • the audio module 170 can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device (e.g., directly or wirelessly connected to the electronic device 101). Sound may be output through the electronic device 102 (e.g., speaker or headphone).
  • the electronic device 102 e.g., speaker or headphone
  • the sensor module 176 detects the operating state (e.g., power or temperature) of the electronic device 101 or the external environmental state (e.g., user state) and generates an electrical signal or data value corresponding to the detected state. can do.
  • the sensor module 176 includes, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, humidity sensor, or light sensor.
  • the interface 177 may support one or more designated protocols that can be used to connect the electronic device 101 directly or wirelessly with an external electronic device (eg, the electronic device 102).
  • the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD card interface Secure Digital Card interface
  • audio interface audio interface
  • connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102).
  • the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 179 can convert electrical signals into mechanical stimulation (e.g., vibration or movement) or electrical stimulation that the user can perceive through tactile or kinesthetic senses.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 can capture still images and moving images.
  • the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 188 can manage power supplied to the electronic device 101.
  • the power management module 188 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 may supply power to at least one component of the electronic device 101.
  • the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
  • Communication module 190 is configured to provide a direct (e.g., wired) communication channel or wireless communication channel between electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108). It can support establishment and communication through established communication channels. Communication module 190 operates independently of processor 120 (e.g., an application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication.
  • processor 120 e.g., an application processor
  • the communication module 190 is a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., : LAN (local area network) communication module, or power line communication module) may be included.
  • a wireless communication module 192 e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 194 e.g., : LAN (local area network) communication module, or power line communication module
  • the corresponding communication module is a first network 198 (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (e.g., legacy It may communicate with an external electronic device 104 through a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
  • a telecommunication network such as a cellular network, a 5G network, a next-generation communication network
  • the wireless communication module 192 uses subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199.
  • subscriber information e.g., International Mobile Subscriber Identifier (IMSI)
  • IMSI International Mobile Subscriber Identifier
  • the wireless communication module 192 may support 5G networks after 4G networks and next-generation communication technologies, for example, NR access technology (new radio access technology).
  • NR access technology provides high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and access to multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low latency). -latency communications)) can be supported.
  • the wireless communication module 192 may support high frequency bands (eg, mmWave bands), for example, to achieve high data rates.
  • the wireless communication module 192 uses various technologies to secure performance in high frequency bands, for example, beamforming, massive array multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. It can support technologies such as input/output (FD-MIMO: full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna.
  • the wireless communication module 192 may support various requirements specified in the electronic device 101, an external electronic device (e.g., electronic device 104), or a network system (e.g., second network 199).
  • the wireless communication module 192 supports Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mmTC, or U-plane latency (e.g., 164 dB or less) for realizing URLLC.
  • Peak data rate e.g., 20 Gbps or more
  • loss coverage e.g., 164 dB or less
  • U-plane latency e.g., 164 dB or less
  • the antenna module 197 may transmit or receive signals or power to or from the outside (eg, an external electronic device).
  • the antenna module 197 may include an antenna including a radiator made of a conductor or a conductive pattern formed on a substrate (eg, PCB).
  • the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is connected to the plurality of antennas by, for example, the communication module 190. can be selected Signals or power may be transmitted or received between the communication module 190 and an external electronic device through the at least one selected antenna.
  • other components eg, radio frequency integrated circuit (RFIC) may be additionally formed as part of the antenna module 197.
  • RFIC radio frequency integrated circuit
  • a mmWave antenna module includes: a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band. can do.
  • a first side e.g., bottom side
  • a designated high frequency band e.g., mmWave band
  • a plurality of antennas e.g., array antennas
  • peripheral devices e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • signal e.g. commands or data
  • commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199.
  • Each of the external electronic devices 102 or 104 may be of the same or different type as the electronic device 101.
  • all or part of the operations performed in the electronic device 101 may be executed in one or more of the external electronic devices 102, 104, or 108.
  • the electronic device 101 may perform the function or service instead of executing the function or service on its own.
  • one or more external electronic devices may be requested to perform at least part of the function or service.
  • One or more external electronic devices that have received the request may execute at least part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device 101.
  • the electronic device 101 may process the result as is or additionally and provide it as at least part of a response to the request.
  • cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology can be used.
  • the electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
  • the external electronic device 104 may include an Internet of Things (IoT) device.
  • Server 108 may be an intelligent server using machine learning and/or neural networks.
  • the external electronic device 104 or server 108 may be included in the second network 199.
  • the electronic device 101 may be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
  • FIG. 2 is a flowchart schematically explaining an operation of controlling surface temperature by an electronic device according to an embodiment.
  • An electronic device may include a processor that controls the surface temperature of the electronic device.
  • the processor may include a temperature sensor, a monitoring unit, and a proportional-integral-differential controller (PID controller).
  • PID controller proportional-integral-differential controller
  • Temperature sensors can measure the surface temperature of an electronic device.
  • a temperature sensor may include a thermistor whose electrical resistance value changes depending on temperature, and may measure the surface temperature of an electronic device through the thermistor. The temperature sensor may periodically transmit the measured surface temperature of the electronic device to the PID controller.
  • the monitoring unit may monitor the load of hardware.
  • the monitoring unit may monitor the load of a central processing unit (CPU) and the load of a graphics processing unit (GPU).
  • the monitoring unit can monitor the throughput of data transmission in hotspots and Wi-Fi.
  • the monitoring unit may periodically transmit the monitored hardware load (for example, CPU load or GPU load) to the PID controller.
  • the monitoring unit may monitor the occurrence of preset events.
  • An event may be an operation that increases the load on the hardware, for example, using a third-party camera application, using multi-window mode, charging the battery, etc. there is.
  • each of a plurality of events may occur individually and proceed simultaneously, or no event may occur.
  • the monitoring unit monitors the occurrence of at least one event among preset events, it may transmit information about the occurred event to the PID controller.
  • the PID controller is a feedback control method that measures the output value of the object to be controlled, calculates the error by comparing the output value and the setpoint, and uses the calculated error to calculate the error.
  • the control values required for control can be calculated.
  • the PID controller can calculate the control value by proportionalizing, integrating, and differentiating the error between the output value and the set value.
  • the PID controller can be configured to calculate the control value (MV(t)) by adding three terms (proportional term, integral term, and differential term) as shown in Equation 1 below.
  • Equation 1 the proportional term ( ) acts as a control proportional to the size of the error in the current state, and the integral term ( ) acts to eliminate steady-state errors and converges the output value to the set value, and the differential term ( ) can reduce overshoot and improve stability by applying the brakes to rapid changes in output values.
  • Kp, K i , and k d are PID parameters and can be tuned to achieve the intended control. Below, the operation of the PID controller will be described in more detail.
  • the PID controller may determine the PID level of the electronic device for heat control based on the surface temperature of the electronic device.
  • the PID level may include, but is not limited to, a first level, a second level, a third level, and a fourth level, and the PID level may have more or fewer levels.
  • the PID controller can further limit clock use of the hardware by lowering the minimum clock limit of the hardware (eg, CPU or GPU) as the PID level increases. In the following specification, it is explained that the PID level increases in the order of the first level, the second level, the third level, and the fourth level.
  • the PID controller may set the minimum clock of the CPU limit clock and the minimum clock of the GPU limit clock based on the determined PID level of the electronic device and the load of the hardware.
  • the limit clock may indicate the maximum clock at which specific hardware can operate.
  • the CPU limit clock can indicate the maximum clock at which the CPU can operate
  • the GPU limit clock can indicate the maximum clock at which the GPU can operate.
  • the CPU limit clock is set to A clock
  • the CPU's operating clock may be limited to A clock or less.
  • the GPU limit clock is determined to be the B clock
  • the GPU's operating clock may be limited to B clock or lower.
  • the PID controller can determine the minimum clock range of the CPU limit clock and the minimum clock range of the GPU limit clock for each PID level.
  • the PID controller may determine the minimum clock of the CPU limit clock within the range of the minimum clock of the CPU limit clock according to the PID level of the electronic device.
  • the PID controller may determine the minimum clock of the GPU limit clock within the range of the minimum clock of the GPU limit clock according to the PID level of the electronic device.
  • the minimum clock of the limit clock may represent the lowest clock that can be set as the maximum clock at which specific hardware can operate. Generally, when the minimum clock of the hardware limit clock decreases, the limit clock is set low and the performance of the hardware is limited, and when the minimum clock of the hardware limit clock increases, the limit clock is set high and the performance of the hardware can be guaranteed.
  • the minimum clock range of the limit clock may indicate the range of clocks that can be set as the minimum clock of the limit clock.
  • the PID controller can decrease the minimum clock of the CPU limit clock as the CPU load increases, and can increase the minimum clock of the CPU limit clock as the CPU load decreases.
  • the PID controller can limit the performance of the CPU by reducing the minimum clock of the CPU limit clock as the CPU load increases, and by limiting the performance of the CPU, it can control heat generation in the electronic device.
  • the PID controller can guarantee CPU performance by increasing the minimum CPU limit clock as the CPU load decreases.
  • the PID controller determines that the CPU load has less influence on the heat generation of the electronic device as the CPU load decreases, and can increase the minimum clock of the CPU limit clock so that the CPU can operate at a high operating clock.
  • the PID controller can decrease the minimum clock of the GPU limit clock as the GPU load increases, and can increase the minimum clock of the GPU limit clock as the GPU load decreases.
  • the PID controller determines the CPU limit clock to be higher than the minimum clock of the set CPU limit clock so that the surface temperature of the electronic device converges to the target temperature corresponding to the PID level of the determined electronic device, and the set GPU The GPU limit clock can be determined by exceeding the minimum clock limit clock.
  • the PID controller can use the existing CPU limit clock and existing GPU limit clock as input values for the PID controller.
  • the PID controller can set a target temperature corresponding to the PID level of the electronic device as a setpoint and set the surface temperature of the electronic device measured in real time as an output value.
  • the PID controller can calculate the difference between the target temperature, which is a set value, and the surface temperature of the electronic device, which is an output value, as an error.
  • the PID controller may tune the PID controller parameters (eg, Kp, K i , k d in Equation 1) so that the surface temperature of the electronic device can be controlled to the target temperature.
  • the PID controller can calculate the control value (MV(t)) required for control using the PID controller parameters and errors, and determine the CPU limit clock and the GPU limit clock according to the calculated control value.
  • FIG. 3 is a diagram schematically explaining a process by which an electronic device controls the surface temperature of the electronic device, according to an embodiment.
  • An electronic device (eg, the electronic device 101 of FIG. 1) may include a processor 301 that controls the surface temperature of the electronic device.
  • the processor 301 may include a temperature sensor 311, a monitoring unit 312, and a PID controller 320.
  • the PID controller 320 may receive the surface temperature of the electronic device from the temperature sensor 311.
  • the PID controller 320 may receive information about hardware load and occurred events from the monitoring unit 312.
  • the PID controller 320 may receive status information (eg, data transmission throughput) of the electronic device from the monitoring unit 312.
  • the PID controller 320 may be composed of a PID level determination unit 321, a PID parameter setting unit 322, and a PID control unit 323.
  • the PID level determination unit 321 may determine the PID level of the electronic device based on the surface temperature of the electronic device and an event that occurred in the electronic device.
  • the PID parameter setting unit 322 may set parameters of the PID controller based on the determined PID level of the electronic device and the load of the hardware.
  • the PID parameter setting unit 322 may set the minimum clock of the CPU limit clock and the minimum clock of the GPU limit clock based on the determined PID level of the electronic device and the load of the hardware.
  • the PID parameter setting unit 322 sets the target temperature corresponding to the PID level of the electronic device as a set value and the surface temperature of the electronic device as an output value under the conditions of the minimum clock of the CPU limit clock and the minimum clock of the GPU limit clock. PID controller parameters can be tuned.
  • the PID control unit 323 can determine the CPU limit clock and GPU limit clock through PID control.
  • the PID control unit 323 can control heat generation of the electronic device by limiting the operation clock of the CPU to the determined CPU limit clock and limiting the operation clock of the GPU to the determined GPU limit clock.
  • the PID control unit 323 can control the surface temperature of the electronic device by adjusting the performance of the CPU and GPU.
  • the PID control unit 323 may determine the TCP speed limit through PID control.
  • TCP speed can indicate the speed of transmitting data packets, and the unit is usually bits per second (bps).
  • TCP speed limit may indicate the maximum speed at which data packets can be transmitted.
  • the PID control unit 323 can further control heat generation of the electronic device by limiting the TCP speed to less than the TCP limit speed.
  • the PID control unit 323 can control the surface temperature of the electronic device by limiting the TCP speed of the Wi-Fi network to lower the performance of the Wi-Fi network.
  • FIG. 4 is a diagram illustrating a process by which a PID controller of an electronic device controls heat generation of the electronic device for each PID level, according to an embodiment.
  • the PID controller 320 may determine the PID level of the electronic device differently depending on whether an event occurs.
  • the PID controller 320 may determine the PID level of the electronic device 301 based only on the surface temperature of the electronic device 301. That is, when all preset events do not occur, the PID controller 320 can determine the PID level of the electronic device based only on the surface temperature of the electronic device. According to one embodiment, the PID controller 320 may determine the PID level of the electronic device as the PID level corresponding to the temperature condition to which the surface temperature of the electronic device belongs.
  • the temperature condition corresponding to the first level is a condition below the first surface temperature (e.g., 40°C)
  • the temperature condition corresponding to the second level is a second surface temperature greater than or equal to the first surface temperature (e.g., 40°C).
  • a temperature condition corresponding to the third level a condition of less than the third surface temperature (e.g., 45°C) of the second surface temperature or more
  • a temperature condition corresponding to the fourth level may be a condition of being equal to or higher than the third surface temperature.
  • the PID controller 320 may determine the PID level of the electronic device to be the third level when the surface temperature of the electronic device is measured to be 44°C.
  • the PID controller 320 determines the PID level and the surface temperature of the electronic device indicated by the at least one event.
  • the PID level of the electronic device can be determined by the highest PID level among the corresponding PID levels. For example, when the occurrence of a plurality of events is monitored by the monitoring unit 312, the PID controller 320 selects one of the PID levels indicated by each of the plurality of events and the PID level corresponding to the surface temperature of the electronic device. The highest PID level determines the PID level of the electronic device.
  • Figure 5 is a table illustrating the types of events preset in the electronic device and the PID level corresponding to each event.
  • the electronic device can be set to indicate a high PID level for an event expected to have a relatively high hardware load, and can be set to indicate a low PID level for an event expected to be a relatively low hardware load.
  • the electronic device may set the PID level indicated by the heavy load event 501 to the fourth level.
  • Overload can indicate a CPU utilization rate of 90% or higher or a GPU utilization rate of 90% or higher.
  • the electronic device may set the PID level indicated by the event 502 of an operation using a third-party camera application to the second level.
  • the electronic device may set the PID level indicated by the event 503 of the multi-window operation to the third level.
  • the electronic device may set the PID level indicated by the event 504 of an operation using smartview (eg, screen mirroring operation) to the second level.
  • the PID controller 320 sets a target temperature corresponding to the PID level, a CPU limit clock range, a minimum clock range of the CPU limit clock, a GPU limit clock range, and a minimum clock range of the GPU limit clock. can be set.
  • the target temperature corresponding to the first level is 38°C
  • the CPU limit clock range is 1.6 GHz to 2.9 GHz
  • the minimum CPU limit clock range is 1.6 GHz to 1.8 GHz
  • the GPU limit clock range is 350 MHz. to 818 MHz
  • the minimum clock range of the GPU limit clock can be set to 400 MHz to 818 MHz
  • the minimum clock range of the GPU limit clock can be set to 400 MHz to 800 MHz.
  • the CPU limit clock range may change, and if the minimum clock of the GPU limit clock is set, the GPU limit clock range may change. For example, if the minimum clock of the CPU limit clock is set to 1.7 GHz, the CPU limit clock range changes from 1.7 GHz to 2.9 GHz, and if the minimum clock of the GPU limit clock is set to 600 MHz, the GPU limit clock range changes to 600 MHz. It changes from MHz to 818 MHz.
  • the PID controller 320 may increase the target temperature corresponding to the PID level.
  • the PID controller 320 may include a first target temperature corresponding to the first level (e.g., 38°C), a second target temperature corresponding to the second level (e.g., 40°C), The size of the target temperature can be increased in the order of the third target temperature (e.g., 42°C) corresponding to the third level, and the fourth target temperature (e.g., 44°C) corresponding to the fourth level. there is.
  • the PID controller 320 may decrease the lower limit of the minimum clock range of the CPU limit clock and may reduce the lower limit of the minimum clock range of the GPU limit clock. For example, the PID controller 320 sets the lower limit of the minimum clock range of the CPU limit clock at the first level to 1.6 GHz, and sets the lower limit of the minimum clock range of the CPU limit clock to 1.2 GHz at the second level, At the third level, the lower limit of the minimum clock range of the CPU limit clock can be set to 1.0 GHz.
  • the PID controller 320 can lower the minimum clock of the CPU limit clock by decreasing the lower limit of the minimum clock range of the CPU limit clock, and can limit the CPU operation clock by lowering the minimum clock of the CPU limit clock. You can.
  • the PID controller 320 may decrease the lower limit of the minimum clock range of the GPU limit clock as the PID level increases. For example, the PID controller 320 sets the lower limit of the minimum clock range of the GPU limited clock at the first level to 400 MHz, and sets the lower limit of the minimum clock range of the GPU limited clock to 300 MHz at the second level, At the third level, the minimum clock range of the GPU limit clock can be set to 200 MHz.
  • the PID controller 320 can lower the minimum clock of the GPU limit clock by decreasing the lower limit of the minimum clock range of the GPU limit clock, and can limit the CPU operation clock by lowering the minimum clock of the GPU limit clock. You can. In other words, the PID controller 320 can limit the CPU/GPU operation clock by lowering the CPU/GPU limit clock as the PID level increases, and can effectively limit heat generation in electronic devices by limiting the CPU/GPU operation clock. there is.
  • the PID controller 320 may determine the minimum clock of the CPU limit clock based on the average operating clock of the CPU within the range of the minimum clock of the CPU limit clock corresponding to the PID level.
  • the average operating clock of the CPU may represent the average clock of the CPU operating clock over a certain period of time.
  • the PID controller 320 may calculate the current operating clock of the CPU based on the load of the current CPU received from the monitoring unit 312. For example, the load of the current CPU can be calculated as the ratio of operation time to unit time multiplied by the operation clock of the current CPU.
  • the PID controller 320 may calculate the CPU average operation clock as the average of the CPU operation clocks for a certain period of time prior to the current time. For example, the certain time may be 10 seconds, but is not limited thereto.
  • the PID controller 320 may decrease the minimum clock of the CPU limit clock as the CPU average operation clock increases, and may increase the minimum clock of the CPU limit clock as the CPU average operation clock decreases. there is.
  • the PID controller 320 can effectively control heat generation in the electronic device by strongly limiting the CPU operating clock by decreasing the minimum clock of the CPU limit clock.
  • the PID controller 320 can prevent the CPU operating clock from being strongly limited by increasing the minimum clock of the CPU limit clock, thereby ensuring the performance of the CPU.
  • the PID controller 320 determines the minimum clock of the CPU limit clock based on the average operating clock of the CPU, thereby ensuring not only the heat generation of the electronic device but also the performance of the CPU to a certain extent. there is.
  • the PID controller 320 may decrease the minimum clock of the GPU limit clock as the GPU average operation clock increases, and may increase the minimum clock of the GPU limit clock as the GPU average operation clock decreases.
  • the PID controller 320 can effectively control heat generation in the electronic device by strongly limiting the GPU operating clock by reducing the minimum clock of the GPU limit clock.
  • the PID controller 320 can prevent the GPU operating clock from being strongly limited by increasing the minimum clock of the GPU limit clock, thereby ensuring the performance of the GPU.
  • the PID controller 320 may periodically change the PID level of the electronic device. For example, the PID controller 320 may re-determine the PID level of the electronic device every 10 seconds.
  • the PID controller 320 may change the PID level according to a change in the surface temperature of the electronic device. For example, the PID controller 320 may change the PID level of the electronic device when the surface temperature of the electronic device increases due to PID control and does not meet the temperature condition corresponding to the determined PID level of the electronic device. . After determining the PID level of the electronic device, the PID controller 320 may need to determine the limit clock of the CPU/GPU to be lower than the minimum clock of the CPU/GPU limit clock to control heat generation of the electronic device.
  • the PID controller 320 must set the CPU/GPU limit clock to a clock equal to or higher than the minimum clock of the CPU/GPU limit clock, the PID level of the determined electronic device is low, so the minimum clock of the CPU/GPU limit clock If this is set high, the PID controller 320 cannot effectively control the heat generation of the electronic device, and the surface temperature of the electronic device may actually increase. In this case, as the surface temperature of the electronic device increases, the PID controller 320 can change the PID level of the electronic device to a higher PID level than the existing PID level of the electronic device, and set the minimum clock of the CPU/GPU limit clock to a higher level than before. By setting it low, you can control the heat generation of electronic devices.
  • the PID controller 320 monitors the occurrence of a new event in the electronic device by the monitoring unit 312, and when the PID level indicated by the new event is higher than the PID level of the existing electronic device, the PID controller 320 monitors the occurrence of a new event in the electronic device.
  • the PID level of the electronic device can be changed to the PID level indicated by the new event.
  • FIG. 6 is a diagram illustrating a process in which a PID controller determines the minimum clock of the CPU limit clock according to an embodiment.
  • a PID controller (e.g., PID controller 320 of FIG. 3) of an electronic device (e.g., electronic device 101 of FIG. 1 or electronic device 301 of FIG. 3) according to an embodiment sets a CPU limit clock for each PID level. You can set the CPU critical clock range to determine the minimum clock.
  • the PID controller may correspond to the size of the CPU critical clock range 620 corresponding to the PID level to the size of the minimum clock range 610 of the CPU limit clock set to correspond to the PID level.
  • the PID controller may match the size of the minimum clock range 610 of the CPU limit clock corresponding to the PID level with the size of the CPU critical clock range 620 corresponding to the PID level. For example, when the PID controller sets the minimum clock range of the CPU limit clock to 1.6 GHz to 1.9 GHz in the first level, the size of the CPU critical clock range may be set to 0.3 GHz, which is the size of the minimum clock range of the CPU limit clock. You can.
  • the PID controller may set the CPU critical clock range so that the lower limit of the minimum clock range of the CPU limit clock corresponding to the PID level is greater than the upper limit of the CPU critical clock range corresponding to the PID level.
  • the PID controller determines the difference between the lower limit of the minimum clock range of the CPU limit clock corresponding to the PID level and the upper limit of the CPU critical clock range corresponding to the corresponding PID level (hereinafter described as CPU margin).
  • CPU margin can be set to have the same size at each PID level.
  • the PID controller may set the margin corresponding to each PID level to be equal to 0.2 GHz.
  • the PID controller may set the margin corresponding to the PID level to be proportional to the size of the minimum clock range of the CPU limit clock corresponding to the PID level.
  • the PID controller sets the minimum clock range 610 of the CPU limit clock at the first level to 1.6 GHz to 1.9 GHz, and sets the margin corresponding to the first level to 0.2 GHz.
  • the PID controller may set the upper limit of the CPU critical clock range 620 corresponding to the first level to 1.4 GHz, which is obtained by subtracting 0.2 GHz, which is the margin 630, from 1.6 GHz, which is the lower limit of the minimum clock range of the CPU limit clock. there is.
  • the PID controller sets the size of the CPU threshold clock range 620 corresponding to the first level to the same size as 0.3 GHz, which is the size of the minimum clock range 610 of the CPU limit clock at the first level
  • the CPU threshold The lower limit of the clock range 620 can be set to 1.1 GHz, which is 1.4 GHz - 0.3 GHz.
  • the PID controller may set the minimum clock limit clock of the CPU based on the section in which the average operating clock of the CPU falls in the CPU critical clock range 620 corresponding to the determined PID level of the electronic device.
  • the PID controller may divide the minimum clock range 610 and the CPU threshold clock range 620 of the CPU limit clock corresponding to the PID level into a predetermined number of sections.
  • the PID controller may divide the minimum clock range of the CPU limit clock corresponding to the PID level and the CPU critical clock range corresponding to the PID level into the same number of sections.
  • the predetermined number may be three, but is not limited to this.
  • the minimum clock range of the CPU limit clock corresponding to the PID level and the number of sections into which the CPU critical clock range is divided may be the same or different for each PID level.
  • the PID controller divides the sections 611, 612, and 613 into which the minimum clock range 610 of the CPU limit clock corresponding to the PID level is divided into the CPU critical clock range 620 corresponding to the PID level. can be mapped to the divided sections 621, 622, and 623. According to one embodiment, the PID controller divides the minimum clock range 610 of the CPU limit clock corresponding to the PID level into divided sections 611, 612, and 613 and the CPU critical clock range 620 corresponding to the PID level. The divided sections 621, 622, and 623 can be mapped in reverse order. For example, as shown in FIG.
  • the minimum clock range 610 of the CPU limit clock corresponding to the first level is 1.6 GHz to 1.9 GHz
  • the CPU threshold clock range corresponding to the first level is 1.1 GHz to 1.1 GHz.
  • the PID controller sets the minimum clock range (610) of the CPU limit clock to the first minimum clock range (611) of less than 1.9 GHz and more than 1.8 GHz, the second minimum clock range (612) of less than 1.8 GHz and more than 1.7 GHz, and less than 1.7 GHz and more than 1.6 GHz. It can be divided into the third minimum clock section 613.
  • the PID controller sets the CPU critical clock range 620 to a 1st critical clock range 621 of less than 1.4 GHz and more than 1.3 GHz, a 2nd critical clock range 622 of less than 1.3 GHz and more than 1.2 GHz, and 3 of less than 1.2 GHz and more than 1.1 GHz. It can be divided into the th critical clock section 623.
  • the PID controller can map the 1st critical clock period 621 with the 3rd minimum clock period 613, and map the 2nd critical clock period 622 with the 2nd minimum clock period 612.
  • the third critical clock section 623 can be mapped to the first minimum clock section 611.
  • the PID controller sets the minimum clock of the CPU limit clock to the upper limit of the section of the minimum clock range 610 of the CPU limit clock that is mapped to the section in which the average operating clock of the CPU belongs within the CPU critical clock range 620. can be set. For example, if the average operating clock of the CPU is less than 1.36 GHz and falls within the 1st critical clock section 621 within the CPU critical clock range 620, the PID controller may operate on the 3rd critical clock section 621 mapped to the 1st critical clock section 621.
  • the minimum clock of the CPU limit clock can be set to 1.7 GHz, which is the upper limit of the minimum clock section 613.
  • the PID controller can be set to 1.9 GHz, which is the upper limit of the minimum clock section 611.
  • the PID controller operates at the lower limit of the minimum clock range of the CPU limit clock (e.g., 1.6 GHz). You can set the minimum clock of the CPU limit clock. If the average operating clock of the CPU is less than the lower limit (e.g., 1.0 GHz) of the CPU critical clock range 620, the PID controller operates to the upper limit (e.g., 1.9 GHz) of the minimum clock range 610 of the CPU limit clock. You can set the minimum clock of the CPU limit clock. In other words, the PID controller can reduce the minimum clock of the CPU limit clock as the CPU average operating clock increases.
  • the lower limit e.g., 1.0 GHz
  • the PID controller operates to the upper limit (e.g., 1.9 GHz) of the minimum clock range 610 of the CPU limit clock. You can set the minimum clock of the CPU limit clock. In other words, the PID controller can reduce the minimum clock of the CPU limit clock as the CPU average operating clock increases.
  • the PID controller may set the minimum clock of the CPU limit clock as the lower limit of the section of the minimum clock range of the CPU limit clock mapped to the section in which the CPU's average operation clock falls within the CPU critical clock range.
  • the PID controller may set the minimum clock of the CPU limit clock based on the average operating clock of the CPU and the critical clock range of the CPU without dividing the sections.
  • the PID controller can map clocks within the CPU critical clock range and clocks within the minimum clock range of the CPU limit clock in reverse order, and in the CPU mapping result, the CPU limit clock is mapped to the average operating clock of the CPU.
  • 1.1 GHz clock and 1.9 GHz clock, 1.2 Ghz clock and 1.8 GHz clock, and 1.3 GHz clock and 1.7 GHz clock can be mapped.
  • 1.1 GHz + Clock of 1.9 GHz - The clock can be mapped.
  • the PID controller can set the minimum clock of the CPU limit clock to 1.85 GHz.
  • FIG. 7 is a diagram illustrating a process in which a PID controller determines the minimum clock of the GPU limit clock according to an embodiment.
  • the PID controller may set the minimum clock of the GPU limit clock similarly to the method of setting the minimum clock of the CPU limit clock.
  • the PID controller can set the GPU threshold clock range to determine the minimum GPU limit clock for each PID level.
  • the PID controller may match the size of the GPU critical clock range 720 corresponding to the PID level to the size of the minimum clock range 710 of the GPU limit clock set to correspond to the PID level. For example, as shown in FIG. 7, when the PID controller sets the minimum clock range 710 of the GPU limit clock to 600 MHz to 800 MHz at the first level, the size of the GPU threshold clock range 720 is adjusted. It can be set to 200 MHz, which is the size of the minimum clock range of the GPU limit clock.
  • the PID controller sets the CPU critical clock range such that the lower limit of the minimum clock range 710 of the GPU limit clock corresponding to the PID level is greater than the upper limit 720 of the CPU critical clock range corresponding to the PID level. You can set it.
  • the PID controller may set the GPU margin 730, which is the difference between the lower limit of the minimum clock range of the GPU limit clock corresponding to the PID level and the upper limit of the GPU critical clock range corresponding to the PID level, to have the same size at each PID level. .
  • the PID controller may set the minimum clock limit of the GPU based on the section in which the average operating clock of the GPU falls in the GPU critical clock range 720 corresponding to the determined PID level of the electronic device.
  • the PID controller may divide the minimum clock range 710 and the GPU critical clock range 720 of the GPU limit clock corresponding to the PID level into a predetermined number of sections. In other words, the PID controller may divide the minimum clock range of the GPU limit clock corresponding to the PID level and the GPU critical clock range corresponding to the PID level into the same number of sections.
  • the PID controller divides the sections 711, 712, and 713 into which the minimum clock range 710 of the GPU limit clock corresponding to the PID level is divided into the GPU critical clock range 720 corresponding to the PID level. can be mapped to the divided sections 721, 722, and 723.
  • the PID controller divides the minimum clock range of the GPU limit clock corresponding to the PID level into sections (711, 712, 713) into which the GPU critical clock range corresponding to the PID level is divided into sections (721, 722, 723). can be mapped in reverse order.
  • the PID controller may set the minimum clock of the GPU limit clock as the upper limit of the section of the minimum clock range of the GPU limit clock that is mapped to the section in which the average operating clock of the GPU falls within the GPU critical clock range.
  • the PID controller sets the minimum clock range of the GPU limit clock corresponding to the first level to the first minimum clock range of less than 700 MHz and more than 600 MHz, and the second minimum clock range of less than 600 MHz and more than 500 MHz. It can be divided into clock sections. Additionally, the PID controller may divide the GPU critical clock range into a first critical clock range of less than 400 MHz and more than 300 MHz, and a second critical clock range of less than 300 MHz and more than 200 MHz. In this case, the PID controller may map the first critical clock period to the second minimum clock period, and map the second critical clock period to the first minimum clock period.
  • the PID controller limits the GPU to 700 MHz, which is the upper limit of the 2nd minimum clock section mapped to the 1st critical clock section. You can set the minimum clock clock.
  • FIG. 8 is a diagram illustrating a process by which a PID controller determines the minimum speed of the TCP speed limit according to an embodiment.
  • the PID controller may set the minimum speed of the TCP speed limit. Since the TCP speed limit varies depending on network conditions, the PID controller can set the virtual max speed of the TCP speed to a sufficiently high speed for PID control. Here, the virtual maximum speed may indicate the maximum speed that can be set as the TCP limit speed.
  • the PID controller can set the minimum TCP speed limit for each PID level. According to one embodiment, as the PID level increases, the PID controller may decrease the minimum TCP limit speed corresponding to the PID level. For example, the PID controller sets the minimum TCP limiting rate corresponding to the first level to 250 mbps (821), the minimum TCP limiting rate corresponding to the second level to 200 mbps (822), and the third level.
  • the minimum TCP limiting speed can be set to 150 mpbs (823), and the minimum TCP limiting speed corresponding to the fourth level can be set to 100 mbps (824).
  • the PID controller can limit the TCP speed more efficiently by reducing the minimum TCP speed limit as the PID level increases.
  • the PID controller can further control heat generation of the electronic device by determining the TCP speed limit through PID control at the minimum speed of the TCP limit speed set in response to the determined PID level of the electronic device.
  • An electronic device includes a memory in which computer-executable instructions are stored, and a processor that accesses the memory and executes the instructions.
  • the processor measures the surface temperature of the electronic device, and measures the load and load of the hardware. Monitors the occurrence of preset events, determines the PID level of the electronic device for heat control based on the surface temperature of the electronic device, and determines the minimum clock of the CPU limit clock and the GPU limit clock based on the determined PID level and the load of the hardware.
  • Set the minimum clock of each determine the CPU's limit clock to be higher than the minimum clock of the set CPU limit clock so that the surface temperature of the electronic device converges to the target temperature corresponding to the determined PID level, and set the GPU limit clock.
  • the GPU clock limit can be determined by exceeding the minimum clock of .
  • the processor sets the PID level of the electronic device to the highest PID level among the PID level indicated by the at least one event that occurred and the PID level corresponding to the surface temperature of the electronic device. You can decide the level.
  • the processor sets the target temperature corresponding to the PID level, the minimum clock range of the CPU limit clock, and the minimum clock range of the GPU limit clock for each PID level, and as the PID level increases, the target temperature corresponding to the PID level increases. , the lower limit of the minimum clock range of the CPU limit clock can be reduced, and the lower limit of the minimum clock range of the GPU limit clock can be reduced.
  • the processor determines the minimum clock of the CPU limit clock based on the average operating clock of the CPU within the minimum clock range of the CPU limit clock corresponding to the determined PID level, and determines the minimum clock of the GPU limit clock corresponding to the determined PID level. Within the range, the minimum clock of the GPU limit clock can be determined based on the average operating clock of the GPU.
  • the processor may reduce the minimum clock of the CPU limit clock, and as the average operating clock of the GPU increases, the processor may reduce the minimum clock of the GPU limit clock.
  • the processor sets the CPU critical clock range for determining the minimum clock of the CPU limit clock for each PID level and the GPU critical clock range for determining the minimum clock of the GPU limit clock, and the size of the CPU critical clock range corresponding to the PID level. Matches the size of the minimum clock range of the CPU limit clock corresponding to the corresponding PID level, and the size of the GPU critical clock range corresponding to the corresponding PID level is the size of the range of the minimum clock of the GPU limited clock corresponding to the corresponding PID level. can be matched with
  • the processor sets the CPU critical clock range so that the lower limit of the minimum clock range of the CPU limit clock corresponding to the PID level is greater than the upper limit of the CPU critical clock range corresponding to the PID level, and the minimum clock range of the GPU limit clock corresponding to the PID level is set.
  • the GPU critical clock range can be set so that the lower limit of the minimum clock range is greater than the upper limit of the GPU critical clock range corresponding to the corresponding PID level.
  • the processor divides the minimum clock range of the CPU limit clock corresponding to the PID level into a first number of sections, and divides the minimum clock range of the CPU limit clock into divided sections and the CPU critical clock range.
  • the sections are mapped in reverse order, the minimum clock range of the GPU limit clock and the GPU critical clock range corresponding to the PID level are divided into a second number of sections, and the minimum clock range of the GPU limit clock is divided into divided sections and the GPU.
  • the sections into which the critical clock range is divided can be mapped in reverse order.
  • the processor sets the minimum clock of the CPU limit clock as the upper limit of the section of the minimum clock range of the CPU limit clock mapped to the section in which the average operation clock of the CPU falls within the CPU critical clock range corresponding to the determined PID level, and sets the minimum clock of the CPU limit clock to the upper limit of the section of the minimum clock range of the CPU limit clock that is mapped to the section in which the average operating clock of the CPU belongs within the CPU critical clock range corresponding to the determined PID level.
  • the minimum clock of the GPU limit clock can be set as the upper limit of the section of the minimum clock range of the GPU limit clock that is mapped to the section in which the average operating clock of the GPU falls within the GPU critical clock range corresponding to the level.
  • the processor sets the virtual maximum speed, which is the maximum speed that can be set as the TCP limit speed, and sets the TCP limit speed for each PID level within the set virtual maximum speed. As the PID level increases, the minimum TCP limit speed corresponding to the PID level is set. Speed can be reduced.
  • a method performed by a processor includes operations of measuring the surface temperature of an electronic device, monitoring the load of hardware and the occurrence of preset events, and controlling heat generation of the electronic device based on the surface temperature of the electronic device.
  • the operation of determining the PID level of the electronic device includes, when the occurrence of at least one event among preset events is monitored, the PID level indicated by the at least one event that occurred and the PID level corresponding to the surface temperature of the electronic device.
  • the operation may include determining the PID level of the electronic device at a high PID level.
  • the operation of setting the minimum clock of the CPU limit clock and the minimum clock of the GPU limit clock, respectively, sets the target temperature corresponding to the PID level for each PID level, the minimum clock range of the CPU limit clock, and the minimum clock range of the GPU limit clock.
  • the operation may include, as the PID level increases, increasing the target temperature corresponding to the PID level, decreasing the lower limit of the minimum clock range of the CPU limit clock, and decreasing the lower limit of the minimum clock range of the GPU limit clock. You can.
  • the operation of setting the minimum clock of the CPU limit clock and the minimum clock of the GPU limit clock, respectively, is to set the minimum clock of the CPU limit clock based on the average operating clock of the CPU within the minimum clock range of the CPU limit clock corresponding to the determined PID level.
  • the operation of setting the minimum clock of the CPU limit clock and the minimum clock of the GPU limit clock, respectively, is the CPU threshold clock range for determining the minimum clock of the CPU limit clock for each PID level and the GPU threshold for determining the minimum clock of the GPU limit clock.
  • An operation of setting a clock range, and setting a CPU critical clock range and a GPU critical clock range includes setting the size of the CPU critical clock range corresponding to the PID level to the minimum clock of the CPU limit clock corresponding to the PID level. It may include an operation of matching the size of the range and matching the size of the GPU critical clock range corresponding to the corresponding PID level with the size of the minimum clock range of the GPU limit clock corresponding to the corresponding PID level.
  • the operation of setting the CPU critical clock range and GPU critical clock range is to set the CPU critical clock range so that the lower limit of the minimum clock range of the CPU limit clock corresponding to the PID level is greater than the upper limit of the CPU critical clock range corresponding to that PID level. It may include an operation of setting, and an operation of setting the GPU critical clock range such that the lower limit of the minimum clock range of the GPU limit clock corresponding to the PID level is greater than the upper limit of the GPU critical clock range corresponding to the PID level.
  • the operation of setting the minimum clock of the CPU limit clock and the minimum clock of the GPU limit clock respectively divides the minimum clock range of the CPU limit clock and the CPU threshold clock range corresponding to the PID level into a first number of sections, and the CPU limit clock is divided into a first number of sections.
  • the operation of setting the minimum clock of the CPU limit clock and the minimum clock of the GPU limit clock, respectively, is the minimum clock range of the CPU limit clock that is mapped to the section where the CPU's average operation clock falls within the CPU threshold clock range corresponding to the determined PID level.
  • a method performed by a processor includes setting a virtual maximum speed, which is the maximum speed that can be set as a TCP limit speed, setting a TCP limit speed for each PID level within the set virtual maximum speed, and the PID level. As it increases, an operation of decreasing the minimum speed of the TCP limit rate corresponding to the PID level may be further included.
  • the embodiments described above may be implemented with hardware components, software components, and/or a combination of hardware components and software components.
  • the devices, methods, and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, and a field programmable gate (FPGA).
  • ALU arithmetic logic unit
  • FPGA field programmable gate
  • It may be implemented using a general-purpose computer or a special-purpose computer, such as an array, programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions.
  • the processing device may execute an operating system (OS) and software applications running on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software.
  • OS operating system
  • a processing device may access, store, manipulate, process, and generate data in response to the execution of software.
  • a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include.
  • a processing device may include multiple processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.
  • Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device.
  • Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave.
  • Software may be distributed over networked computer systems and stored or executed in a distributed manner.
  • Software and data may be stored on a computer-readable recording medium.
  • the method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium.
  • a computer-readable medium may store program instructions, data files, data structures, etc., singly or in combination, and the program instructions recorded on the medium may be specially designed and constructed for the embodiment or may be known and available to those skilled in the art of computer software.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks.
  • Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
  • the hardware devices described above may be configured to operate as one or multiple software modules to perform the operations of the embodiments, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)

Abstract

일 실시예에 따른 전자 장치는, 전자 장치의 표면 온도를 측정하는 온도 센서, 하드웨어의 부하 및 미리 설정된 이벤트들의 발생을 모니터링하는 모니터링부, 및 전자 장치의 표면 온도에 기초하여 발열 제어를 위한 전자 장치의 PID 레벨을 결정하고, 결정된 PID 레벨 및 하드웨어의 부하에 기초하여 CPU 제한 클럭의 최소 클럭 및 GPU 제한 클럭의 최소 클럭을 각각 설정하며, 전자 장치의 표면 온도가 결정된 PID 레벨에 대응하는 타겟 온도(target temperature)에 수렴하도록 설정된 CPU 제한 클럭의 최소 클럭 이상으로 CPU의 제한 클럭을 결정하고 설정된 GPU 제한 클럭의 최소 클럭 이상으로 GPU의 제한 클럭을 결정할 수 있다.

Description

PID 제어기에 기초하여 전자 장치의 발열을 제어하는 방법 및 장치
아래의 개시는 PID 제어기에 기초하여 전자 장치의 발열을 제어하는 기술에 관한 것이다.
종래에는 전자 장치의 표면 온도가 하드웨어의 동작에 부정적인 영향을 미칠 수 있는 수준이 되었을 경우에는 칩셋(chipset)을 보호할 목적으로 고정된 제어 방법으로 전자 장치의 발열을 제어하거나, 전자 장치의 표면 온도에 따른 사전에 미리 결정된 제어 방법으로 전자 장치의 발열을 제어하였다. 그러나, 종래의 전자 장치의 발열을 제어하기 위한 방법은, 미리 정의되지 않은 발열 상황이 발생하면 자동으로 대응하지 못한다는 문제점이 있어서 추가적인 소프트웨어 작업이 필요하였다. 또한, 종래의 전자 장치의 발열을 제어하기 위한 방법은, 전자 장치의 표면 온도 변화를 즉각 반영하지 못하였기 때문에, 전자 장치의 표면 온도가 특정 온도 이상이 되면 하드웨어(예를 들어, CPU 또는 GPU)를 특정 클럭 이상으로 사용하지 못해 지속적인 하드웨어의의 성능 하락을 유발시키는 문제점이 발생하였다.
일 실시예에 따른 전자 장치는, 컴퓨터로 실행 가능한 명령어들이 저장된 메모리, 메모리에 억세스하여 명령어들을 실행하는 프로세서를 포함하고, 프로세서는, 전자 장치의 표면 온도를 측정하고, 하드웨어의 부하 및 미리 설정된 이벤트들의 발생을 모니터링하며, 전자 장치의 표면 온도에 기초하여 발열 제어를 위한 전자 장치의 PID 레벨을 결정하고, 결정된 PID 레벨 및 하드웨어의 부하에 기초하여 CPU 제한 클럭의 최소 클럭 및 GPU 제한 클럭의 최소 클럭을 각각 설정하며, 전자 장치의 표면 온도가 결정된 PID 레벨에 대응하는 타겟 온도(target temperature)에 수렴하도록, 설정된 CPU 제한 클럭의 최소 클럭 이상으로 CPU의 제한 클럭을 결정하고 설정된 GPU 제한 클럭의 최소 클럭 이상으로 GPU의 제한 클럭을 결정할 수 있다.
일 실시예에 따른 프로세서에 의해 수행되는 방법은, 전자 장치의 표면 온도를 측정하고, 하드웨어의 부하와 미리 설정된 이벤트들의 발생을 모니터링하는 동작, 전자 장치의 표면 온도에 기초하여 발열 제어를 위한 전자 장치의 PID 레벨을 결정하는 동작, 결정된 PID 레벨 및 하드웨어의 부하에 기초하여 CPU 제한 클럭의 최소 클럭 및 GPU 제한 클럭의 최소 클럭을 각각 설정하는 동작, 및 전자 장치의 표면 온도가 결정된 PID 레벨에 대응하는 타겟 온도에 수렴하도록, 설정된 CPU 제한 클럭의 최소 클럭 이상으로 CPU의 제한 클럭을 결정하고 설정된 GPU 제한 클럭의 최소 클럭 이상으로 GPU의 제한 클럭을 결정하는 동작을 포함할 수 있다.
일 실시예에 따른 컴퓨터 판독 가능 기록 매체는, 전자 장치의 표면 온도를 측정하고, 하드웨어의 부하와 미리 설정된 이벤트들의 발생을 모니터링하는 동작, 상기 전자 장치의 표면 온도에 기초하여 발열 제어를 위한 상기 전자 장치의 PID 레벨을 결정하는 동작, 상기 결정된 PID 레벨 및 상기 하드웨어의 부하에 기초하여 CPU 제한 클럭의 최소 클럭 및 GPU 제한 클럭의 최소 클럭을 각각 설정하는 동작, 및 상기 전자 장치의 표면 온도가 상기 결정된 PID 레벨에 대응하는 타겟 온도에 수렴하도록, 상기 설정된 CPU 제한 클럭의 최소 클럭 이상으로 상기 CPU의 제한 클럭을 결정하고 상기 설정된 GPU 제한 클럭의 최소 클럭 이상으로 상기 GPU의 제한 클럭을 결정하는 동작을 포함하는 프로세서에 의해 수행되는 방법을 수행하기 위한 명령어(들)을 포함하는 하나 이상의 컴퓨터 프로그램을 저장할 수 있다.
도 1은 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 일 실시예에 따른 전자 장치가 표면 온도를 제어하는 동작을 개략적으로 설명하는 흐름도이다.
도 3은 일 실시예에 따른 전자 장치가 전자 장치의 표면 온도를 제어하는 과정을 개략적으로 설명하는 도면이다.
도 4는 일 실시예에 따른 전자 장치의 PID 제어기가 PID 레벨 별로 전자 장치의 발열을 제어하는 과정을 설명하는 도면이다.
도 5는 전자 장치에 미리 설정되는 이벤트들의 종류 및 각 이벤트에 대응하는 PID 레벨을 예시적으로 도시한 표이다.
도 6은 일 실시예에 따른 PID 제어기가 CPU 제한 클럭의 최소 클럭을 결정하는 과정을 설명하는 도면이다.
도 7은 일 실시예에 따른 PID 제어기가 GPU 제한 클럭의 최소 클럭을 결정하는 과정을 설명하는 도면이다.
도 8은 일 실시예에 따른 PID 제어기가 TCP 제한 속도의 최소 속도를 결정하는 과정을 설명하는 도면이다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2는 일 실시예에 따른 전자 장치가 표면 온도를 제어하는 동작을 개략적으로 설명하는 흐름도이다.
일 실시예에 따른 전자 장치는 전자 장치의 표면 온도를 제어하는 프로세서를 포함할 수 있다. 프로세서는, 온도 센서(temperature sensor), 모니터링부(monitoring unit), 및 PID 제어기(proportional-integral-differential controller)를 포함할 수 있다.
온도 센서는 전자 장치의 표면 온도를 측정할 수 있다. 예를 들어, 온도 센서는 온도에 따라 전기적 저항 값이 변하는 써미스터(thermistor)를 포함할 수 있고, 써미스터를 통해 전자 장치의 표면 온도를 측정할 수 있다. 온도 센서는 측정된 전자 장치의 표면 온도를 주기적으로 PID 제어기에 전송할 수 있다.
모니터링부는 하드웨어의 부하를 모니터링할 수 있다. 예를 들어, 모니터링부는 CPU(central processing unit)의 부하 및 GPU(graphics processing unit)의 부하를 모니터링할 수 있다. 이외에도, 모니터링부는 핫스팟(hotspot), 와이파이(wi-fi)에서의 데이터 전송의 스루풋(throughput)을 모니터링할 수 있다. 모니터링부는 모니터링된 하드웨어의 부하(예를 들어, CPU의 부하 또는 GPU의 부하)를 주기적으로 PID 제어기에 전송할 수 있다. 또한, 모니터링부는 미리 설정된 이벤트들의 발생을 모니터링할 수 있다. 이벤트는, 예를 들어, 서드파티(third-party) 카메라 애플리케이션을 사용하는 동작, 멀티 윈도우(multi-window) 모드를 사용하는 동작, 배터리를 충전하는 동작 등과 같이 하드웨어의 부하를 증가시키는 동작일 수 있다. 예를 들어, 복수의 이벤트들 각각이 개별적으로 발생되어 동시에 진행될 수 있고, 어떤 이벤트도 발생하지 않을 수도 있다. 모니터링부는 미리 설정된 이벤트들 중 적어도 하나의 이벤트의 발생을 모니터링한 경우, 발생한 이벤트에 관한 정보를 PID 제어기에 전송할 수 있다.
PID 제어기는 피드백 제어(feedback control)의 방식으로, 제어하고자 하는 대상의 출력값(output)을 측정하고, 출력값과 설정값(setpoint)을 비교하여 오차(error)를 산출하며, 산출된 오차를 이용하여 제어에 필요한 제어값을 계산할 수 있다. PID 제어기는 출력값과 설정값 사이의 오차를 비례, 적분, 미분하여 제어값을 계산할 수 있다. PID 제어기는 아래 수학식 1과 같이 3개의 항(비례항, 적분항, 미분항)을 더하여 제어값(MV(t))을 산출하도록 구성될 수 있다.
[수학식 1]
Figure PCTKR2023006000-appb-img-000001
수학식 1에서, 비례항(
Figure PCTKR2023006000-appb-img-000002
)은 현재 상태에서의 오차의 크기에 비례한 제어작용을 하고, 적분항(
Figure PCTKR2023006000-appb-img-000003
)은 정상상태(steady-state) 오차를 없애는 작용을 하여 설정값으로 출력값을 수렴하도록 하며, 미분항(
Figure PCTKR2023006000-appb-img-000004
)은 출력값의 급격한 변화에 제동을 걸어 오버슛(overshoot)을 줄이고 안정성(stability)을 향상시킬 수 있다. 수학식 1에서, Kp, Ki, kd는 PID 파라미터들이고, 의도된 제어가 될 수 있도록 튜닝될 수 있다. 이하에서는, PID 제어기의 동작을 보다 구체적으로 설명한다.
동작(210)에서 PID 제어기는 전자 장치의 표면 온도에 기초하여 발열 제어를 위한 전자 장치의 PID 레벨을 결정할 수 있다. PID 레벨에는 제1 레벨, 제2 레벨, 제3 레벨, 및 제4 레벨이 있을 수 있으나, 이로 한정하는 것은 아니며, PID 레벨에는 더 많은 레벨이 있거나 더 적은 레벨이 잇을 수 있다. PID 제어기는 PID 레벨이 높아질수록 하드웨어(예를 들어, CPU 또는 GPU)의 제한 클럭의 최소 클럭을 하향시킴으로써 하드웨어의 클럭 사용을 보다 제한할 수 있다. 이하 명세서에서는, 제1 레벨, 제2 레벨, 제3 레벨, 및 제4 레벨 순으로 PID 레벨이 높아지는 것으로 설명한다.
동작(220)에서 PID 제어기는 결정된 전자 장치의 PID 레벨 및 하드웨어의 부하에 기초하여 CPU 제한 클럭의 최소 클럭 및 GPU 제한 클럭의 최소 클럭을 각각 설정할 수 있다.
제한 클럭은 특정 하드웨어가 동작할 수 있는 최대의 클럭을 나타낼 수 있다. 다시 말해, CPU 제한 클럭은 CPU가 동작할 수 있는 최대 클럭, GPU 제한 클럭은 GPU가 동작할 수 있는 최대 클럭을 나타낼 수 있다. 예를 들어, CPU 제한 클럭이 A 클럭으로 설정되는 경우, CPU의 동작 클럭은 A 클럭 이하로 제한될 수 있다. 마찬가지로, GPU 제한 클럭이 B 클럭으로 결정되는 경우, GPU의 동작 클럭은 B 클럭 이하로 제한될 수 있다.
PID 제어기는 PID 레벨 별로 CPU 제한 클럭의 최소 클럭의 범위 및 GPU 제한 클럭의 최소 클럭의 범위를 결정할 수 있다. PID 제어기는 전자 장치의 PID 레벨에 따른 CPU 제한 클럭의 최소 클럭의 범위 내에서, CPU 제한 클럭의 최소 클럭을 결정할 수 있다. PID 제어기는 전자 장치의 PID 레벨에 따른 GPU 제한 클럭의 최소 클럭의 범위 내에서, GPU 제한 클럭의 최소 클럭을 결정할 수 있다. 여기서, 제한 클럭의 최소 클럭은 특정 하드웨어가 동작할 수 있는 최대 클럭으로 설정 가능한 가장 낮은 클럭을 나타낼 수 있다. 일반적으로, 하드웨어의 제한 클럭의 최소 클럭이 감소하면 제한 클럭이 낮게 설정되면서 하드웨어의 성능이 제한되고, 하드웨어의 제한 클럭의 최소 클럭이 증가하면 제한 클럭이 높게 설정되면서 하드웨어의 성능이 보장될 수 있다. 제한 클럭의 최소 클럭 범위는 제한 클럭의 최소 클럭으로 설정 가능한 클럭의 범위를 나타낼 수 있다.
PID 제어기는 CPU의 부하가 증가할수록 CPU 제한 클럭의 최소 클럭을 감소시킬 수 있고, CPU의 부하가 감소할수록 CPU 제한 클럭의 최소 클럭을 증가시킬 수 있다. 다시 말해, PID 제어기는 CPU의 부하가 증가할수록 CPU 제한 클럭의 최소 클럭을 감소시켜 CPU의 성능을 제한할 수 있고, CPU의 성능을 제한함에 따라 전자 장치의 발열을 제어할 수 있다. PID 제어기는 CPU의 부하가 감소할수록 CPU 제한 클럭의 최소 클럭을 증가시켜 CPU의 성능을 보장할 수 있다. PID 제어기는 CPU의 부하가 감소할수록 CPU의 부하가 전자 장치의 발열에 영향을 덜 주는 것으로 판단하여, CPU가 높은 동작 클럭으로 동작할 수 있도록 CPU 제한 클럭의 최소 클럭을 증가시킬 수 있다. 마찬가지로, PID 제어기는 GPU의 부하가 증가할수록 GPU 제한 클럭의 최소 클럭을 감소시킬 수 있고, GPU의 부하가 감소할수록 GPU 제한 클럭의 최소 클럭을 증가시킬 수 있다.
동작(230)에서 PID 제어기는 전자 장치의 표면 온도가 결정된 전자 장치의 PID 레벨에 대응하는 타겟 온도(target temperature)에 수렴하도록, 설정된 CPU 제한 클럭의 최소 클럭 이상으로 CPU 제한 클럭을 결정하고 설정된 GPU 제한 클럭의 최소 클럭 이상으로 GPU 제한 클럭을 결정할 수 있다.
PID 제어기는 기존 CPU 제한 클럭 및 기존 GPU 제한 클럭을 PID 제어기의 입력값으로 사용할 수 있다. PID 제어기는 전자 장치의 PID 레벨에 대응하는 타겟 온도를 설정값(setpoint)으로 설정하고, 실시간으로 측정되는 전자 장치의 표면 온도를 출력값(output)으로 설정할 수 있다. PID 제어기는 설정값인 타겟 온도와 출력값인 전자 장치의 표면 온도 사이의 차이를 오차로 산출할 수 있다. PID 제어기는 전자 장치의 표면 온도가 타겟 온도로 제어될 수 있도록 PID 제어기 파라미터들(예를 들어, 수학식 1의 Kp, Ki, kd)을 튜닝할 수 있다. PID 제어기는 PID 제어기 파라미터들 및 오차를 이용하여 제어에 필요한 제어값(MV(t))을 산출할 수 있고, 산출된 제어값에 따라 CPU의 제한 클럭 및 GPU의 제한 클럭을 결정할 수 있다.
도 3은 일 실시예에 따른 전자 장치가 전자 장치의 표면 온도를 제어하는 과정을 개략적으로 설명하는 도면이다.
일 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101))는 전자 장치의 표면 온도를 제어하는 프로세서(301)를 포함할 수 있다. 프로세서(301)는 온도 센서(311), 모니터링부(312), 및 PID 제어기(320)를 포함할 수 있다. PID 제어기(320)는 온도 센서(311)로부터 전자 장치의 표면 온도를 수신할 수 있다. PID 제어기(320)는 모니터링부(312)로부터 하드웨어의 부하 및 발생한 이벤트에 관한 정보를 수신할 수 있다. 이외에도, PID 제어기(320)는 모니터링부(312)로부터 전자 장치의 상태 정보(예를 들어, 데이터 전송의 스루풋)를 수신할 수 있다. PID 제어기(320)는 PID 레벨 결정부(321), PID 파라미터 설정부(322), PID 제어부(323)로 구성될 수 있다.
PID 레벨 결정부(321)는 전자 장치의 표면 온도 및 전자 장치에서 발생한 이벤트에 기초하여 전자 장치의 PID 레벨을 결정할 수 있다. PID 파라미터 설정부(322)는 결정된 전자 장치의 PID 레벨 및 하드웨어의 부하에 기초하여 PID 제어기의 파라미터들을 설정할 수 있다. PID 파라미터 설정부(322)는 결정된 전자 장치의 PID 레벨 및 하드웨어의 부하에 기초하여 CPU 제한 클럭의 최소 클럭 및 GPU 제한 클럭의 최소 클럭을 설정할 수 있다. PID 파라미터 설정부(322)는 설정된 CPU 제한 클럭의 최소 클럭 및 GPU 제한 클럭의 최소 클럭의 조건 하에서, 전자 장치의 PID 레벨에 대응하는 타겟 온도를 설정값 및 전자 장치의 표면 온도를 출력값으로 설정하여 PID 제어기 파라미터들을 튜닝할 수 있다.
PID 제어부(323)는 PID 제어를 통해 CPU 제한 클럭 및 GPU 제한 클럭을 결정할 수 있다. PID 제어부(323)는 CPU의 동작 클럭을 결정된 CPU 제한 클럭으로 제한하고, GPU의 동작 클럭을 결정된 GPU 제한 클럭으로 제한함으로써 전자 장치의 발열을 제어할 수 있다. 다시 말해, PID 제어부(323)는 CPU 및 GPU의 성능을 조절하여 전자 장치의 표면 온도를 제어할 수 있다. 더 나아가, PID 제어부(323)는 PID 제어를 통해 TCP 제한 속도를 결정할 수도 있다. TCP 속도는 데이터 패킷을 전송하는 속도를 나타낼 수 있으며, 단위로는 초당 비트수(bps)를 주로 사용한다. TCP 제한 속도는 데이터 패킷을 전송할 수 있는 최대 속도를 나타낼 수 있다. PID 제어부(323)는 TCP 속도를 TCP 제한 속도 이하로 제한함으로써 전자 장치의 발열을 추가로 제어할 수 있다. 예를 들어, PID 제어부(323)는 와이파이(wi-fi) 네트워크의 TCP 속도를 제한하여 와이파이 네트워크의 성능을 낮춰 전자 장치의 표면 온도를 제어할 수 있다.
도 4는 일 실시예에 따른 전자 장치의 PID 제어기가 PID 레벨 별로 전자 장치의 발열을 제어하는 과정을 설명하는 도면이다.
일 실시예에 따르면, PID 제어기(320)는 발생한 이벤트가 존재하는지 여부에 따라 전자 장치의 PID 레벨을 다르게 결정할 수 있다.
일 실시예에 따르면, PID 제어기(320)는 미리 설정된 이벤트들이 모두 발생하지 않은 경우, 전자 장치(301)의 표면 온도에만 기초하여 전자 장치의 PID 레벨을 결정할 수 있다. 즉, PID 제어기(320)는 미리 설정된 이벤트들이 모두 발생하지 않는 경우, 전자 장치의 표면 온도에만 의존하여 전자 장치의 PID 레벨을 결정할 수 있다. 일 실시예에 따르면, PID 제어기(320)는 전자 장치의 표면 온도가 속한 온도 조건에 대응하는 PID 레벨로 전자 장치의 PID 레벨을 결정할 수 있다. 예를 들어, 제1 레벨에 대응하는 온도 조건은 제1 표면 온도(예를 들어, 40°C) 미만의 조건, 제2 레벨에 대응하는 온도 조건은 제1 표면 온도 이상 제2 표면 온도(예를 들어, 42°C) 미만의 조건, 제3 레벨에 대응하는 온도 조건은 제2 표면 온도 이상 제3 표면 온도(예를 들어, 45°C) 미만의 조건, 제4 레벨에 대응하는 온도 조건은 제3 표면 온도 이상인 조건일 수 있다. 이러한 경우, PID 제어기(320)는 전자 장치의 표면 온도가 44°C로 측정된 경우, 전자 장치의 PID 레벨을 제3 레벨로 결정할 수 있다.
일 실시예에 따르면, PID 제어기(320)는 모니터링부(312)에 의해 미리 설정된 이벤트들 중 적어도 하나의 이벤트 발생이 모니터링되는 경우, 발생한 적어도 하나의 이벤트가 지시하는 PID 레벨 및 전자 장치의 표면 온도에 대응하는 PID 레벨 중 가장 높은 PID 레벨로 전자 장치의 PID 레벨을 결정할 수 있다. 예를 들어, PID 제어기(320)는 모니터링부(312)에 의해 복수의 이벤트들의 발생이 모니터링되는 경우, 복수의 이벤트들 각각이 지시하는 PID 레벨들과 전자 장치의 표면 온도에 대응하는 PID 레벨 중 가장 높은 PID 레벨로 전자 장치의 PID 레벨을 결정할 수 있다.
도 5는 전자 장치에 미리 설정되는 이벤트들의 종류 및 각 이벤트에 대응하는 PID 레벨을 예시적으로 도시한 표이다. 전자 장치는 상대적으로 높은 하드웨어의 부하가 예상되는 이벤트가 높은 PID 레벨을 지시하도록 설정할 수 있고, 상대적으로 낮은 하드웨어의 부하가 예상되는 이벤트가 낮은 PID 레벨을 지시하도록 설정할 수 있다. 예를 들어, 도 5의 표(500)를 참조하면, 전자 장치는 과부하(heavy load)의 이벤트(501)가 지시하는 PID 레벨을 제4 레벨로 설정할 수 있다. 과부하는 CPU의 사용률이 90% 이상 또는 GPU의 사용률이 90% 이상인 상태를 나타낼 수 있다. 다른 예를 들어, 전자 장치는 서드파티 카메라 애플리케이션을 사용하는 동작의 이벤트(502)가 지시하는 PID 레벨을 제2 레벨로 설정할 수 있다. 또 다른 예를 들어, 전자 장치는 멀티 윈도우를 사용하는 동작의 이벤트(503)가 지시하는 PID 레벨을 제3 레벨로 설정할 수 있다. 또 다른 예를 들어, 전자 장치는 스마트뷰(smartview)를 사용하는 동작(예를 들어, 스크린 미러링 동작)의 이벤트(504)가 지시하는 PID 레벨을 제2 레벨로 설정할 수 있다.
다시 도 4를 참조하면, PID 제어기(320)는 PID 레벨 별로 PID 레벨에 대응하는 타겟 온도, CPU 제한 클럭 범위, CPU 제한 클럭의 최소 클럭 범위, GPU 제한 클럭 범위, 및 GPU 제한 클럭의 최소 클럭 범위를 설정할 수 있다. 예를 들어, 제1 레벨에 대응하는 타겟 온도를 38°C, CPU 제한 클럭 범위를 1.6 GHz 내지 2.9 GHz, CPU 제한 클럭의 최소 클럭의 범위를 1.6 GHz 내지 1.8 GHz, GPU 제한 클럭 범위를 350 MHz 내지 818 MHz, GPU 제한 클럭의 최소 클럭 범위를 400 MHz 내지 818 MHz, GPU 제한 클럭의 최소 클럭 범위를 400 MHz 내지 800 MHz로 설정할 수 있다. 다만, CPU 제한 클럭의 최소 클럭이 설정되면 CPU 제한 클럭 범위가 변경되고, GPU 제한 클럭의 최소 클럭이 설정되면 GPU 제한 클럭 범위가 변경될 수 있다. 예를 들어, CPU 제한 클럭의 최소 클럭이 1.7 GHz로 설정되면, CPU 제한 클럭 범위는 1.7 GHz 내지 2.9 GHz로 변경되고, GPU 제한 클럭의 최소 클럭이 600 MHz로 설정되면, GPU 제한 클럭 범위는 600 MHz 내지 818 MHz로 변경된다.
일 실시예에 따르면, PID 제어기(320)는 PID 레벨이 증가할수록, PID 레벨에 대응하는 타겟 온도를 증가시킬 수 있다. 예를 들어, PID 제어기(320)는 제1 레벨에 대응하는 제1 타겟 온도(예를 들어, 38°C), 제2 레벨에 대응하는 제2 타겟 온도(예를 들어, 40°C), 제3 레벨에 대응하는 제3 타겟 온도(예를 들어, 42°C), 및 제4 레벨에 대응하는 제4 타겟 온도(예를 들어, 44°C) 순으로 타겟 온도의 크기를 증가시킬 수 있다.
일 실시예에 따르면, PID 제어기(320)는 PID 레벨이 증가할수록, CPU 제한 클럭의 최소 클럭의 범위의 하한을 감소시킬 수 있고, GPU 제한 클럭의 최소 클럭의 범위의 하한을 감소시킬 수 있다. 예를 들어, PID 제어기(320)는 제1 레벨에서 CPU 제한 클럭의 최소 클럭 범위의 하한을 1.6 GHz로 설정하고, 제2 레벨에서 CPU 제한 클럭의 최소 클럭 범위의 하한을 1.2 GHz로 설정하며, 제3 레벨에서 CPU 제한 클럭의 최소 클럭 범위의 하한을 1.0 GHz로 설정할 수 있다. PID 제어기(320)는 PID 레벨이 증가할수록 CPU 제한 클럭의 최소 클럭 범위의 하한을 감소시켜 CPU 제한 클럭의 최소 클럭을 하향시킬 수 있고, CPU 제한 클럭의 최소 클럭을 하향시킴으로써 CPU 동작 클럭을 제한할 수 있다. 마찬가지로, PID 제어기(320)는 PID 레벨이 증가할수록 GPU 제한 클럭의 최소 클럭의 범위의 하한을 감소시킬 수 있다. 예를 들어, PID 제어기(320)는 제1 레벨에서 GPU 제한 클럭의 최소 클럭 범위의 하한을 400 MHz로 설정하고, 제2 레벨에서 GPU 제한 클럭의 최소 클럭 범위의 하한을 300 MHz로 설정하며, 제3 레벨에서 GPU 제한 클럭의 최소 클럭 범위를 200 MHz로 설정할 수 있다. PID 제어기(320)는 PID 레벨이 증가할수록 GPU 제한 클럭의 최소 클럭 범위의 하한을 감소시켜GPU 제한 클럭의 최소 클럭을 하향시킬 수 있고, GPU 제한 클럭의 최소 클럭을 하향시킴으로써 CPU 동작 클럭을 제한할 수 있다. 다시 말해, PID 제어기(320)는 PID 레벨이 높을수록 CPU/GPU 제한 클럭을 하향시켜 CPU/GPU 동작 클럭을 제한할 수 있고, CPU/GPU 동작 클럭의 제한으로 전자 장치의 발열을 효과적으로 제한할 수 있다.
일 실시예에 따르면, PID 제어기(320)는 PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭의 범위 내에서, CPU의 평균 동작 클럭에 기초하여 CPU 제한 클럭의 최소 클럭을 결정할 수 있다. 여기서, CPU의 평균 동작 클럭은 일정 시간 동안 CPU 동작 클럭의 평균 클럭(average clock)을 나타낼 수 있다. PID 제어기(320)는 모니터링부(312)로부터 수신된 현재 CPU의 부하에 기초하여 현재 CPU의 동작 클럭을 산출할 수 있다. 예를 들어, 현재 CPU의 부하는 단위 시간(unit time)에 대한 동작 시간의 비에 현재의 CPU의 동작 클럭을 곱한 값으로 산출될 수 있다. PID 제어기(320)는 현재 시점을 기준으로 이전의 일정 시간 동안의 CPU 동작 클럭의 평균으로 CPU 평균 동작 클럭을 산출할 수 있다. 예를 들어, 일정 시간은 10초일 수 있으나, 이로 한정하는 것은 아니다.
일 실시예에 따르면, PID 제어기(320)는 CPU 평균 동작 클럭이 증가함에 따라 CPU 제한 클럭의 최소 클럭을 감소시킬 수 있고, CPU 평균 동작 클럭이 감소함에 따라 CPU 제한 클럭의 최소 클럭을 증가시킬 수 있다. PID 제어기(320)는 CPU의 평균 동작 클럭이 증가하는 경우, CPU 제한 클럭의 최소 클럭을 감소시킴으로써 CPU 동작 클럭을 강하게 제한하여 전자 장치의 발열을 효과적으로 제어할 수 있다. PID 제어기(320)는 CPU 평균 동작 클럭이 감소하는 경우, CPU 제한 클럭의 최소 클럭을 증가시킴으로써 CPU 동작 클럭을 강하게 제한되는 것을 방지하여 CPU의 성능을 보장할 수 있다. 다시 말해, PID 제어기(320)는 전자 장치의 PID 레벨이 결정된 이후, CPU의 평균 동작 클럭에 기초하여 CPU 제한 클럭의 최소 클럭을 결정함으로써 전자 장치의 발열 뿐만 아니라 CPU의 성능 또한 일정 부분 보장할 수 있다.
마찬가지로, PID 제어기(320)는 GPU 평균 동작 클럭이 증가함에 따라 GPU 제한 클럭의 최소 클럭을 감소시킬 수 있고, GPU 평균 동작 클럭이 감소함에 따라 GPU 제한 클럭의 최소 클럭을 증가시킬 수 있다. PID 제어기(320)는 GPU 평균 동작 클럭이 증가하는 경우, GPU 제한 클럭의 최소 클럭을 감소시킴으로써 GPU 동작 클럭을 강하게 제한하여 전자 장치의 발열을 효과적으로 제어할 수 있다. PID 제어기(320)는 GPU 평균 동작 클럭이 감소하는 경우, GPU 제한 클럭의 최소 클럭을 증가시킴으로써 GPU 동작 클럭을 강하게 제한하는 것을 방지하여 GPU의 성능을 보장할 수 있다.
일 실시예에 따르면, PID 제어기(320)는 주기적으로 전자 장치의 PID 레벨을 변경할 수 있다. 예를 들어, PID 제어기(320)는 10초를 주기로 전자 장치의 PID 레벨을 다시 결정할 수 있다.
일 실시예에 따르면, PID 제어기(320)는 전자 장치의 표면 온도 변화에 따라 PID 레벨을 변경할 수 있다. 예를 들어, PID 제어기(320)는 PID 제어에 의해 오히려 전자 장치의 표면 온도가 증가하여 결정된 전자 장치의 PID 레벨에 대응하는 온도 조건에 부합하지 않게 되는 경우에는 전자 장치의 PID 레벨을 변경할 수 있다. PID 제어기(320)는 전자 장치의 PID 레벨을 결정한 이후, 전자 장치의 발열 제어를 위해 CPU/GPU의 제한 클럭을 CPU/GPU 제한 클럭의 최소 클럭 보다 낮은 클럭으로 결정할 필요가 있을 수 있다. 다시 말해, PID 제어기(320)는 CPU/GPU 제한 클럭의 최소 클럭 보다 같거나 높은 클럭으로 CPU/GPU 제한 클럭을 설정해야 하기 때문에, 결정된 전자 장치의 PID 레벨이 낮아서 CPU/GPU 제한 클럭의 최소 클럭이 높게 설정되면 PID 제어기(320)는 전자 장치의 발열을 효과적으로 제어하지 못하고 오히려 전자 장치의 표면 온도는 높아질 수 있다. 이러한 경우, PID 제어기(320)는 전자 장치의 표면 온도가 증가함에 따라 전자 장치의 기존 PID 레벨 보다 높은 PID 레벨로 전자 장치의 PID 레벨을 변경할 수 있고, CPU/GPU 제한 클럭의 최소 클럭을 이전보다 낮게 설정함으로써 전자 장치의 발열을 제어할 수 있다.
다른 일 실시예에 따르면, PID 제어기(320)는 모니터링부(312)에 의해 전자 장치에서 새로운 이벤트의 발생이 모니터링되고, 새로운 이벤트가 지시하는 PID 레벨이 기존의 전자 장치의 PID 레벨 보다 높은 경우에는 새로운 이벤트가 지시하는 PID 레벨로 전자 장치의 PID 레벨을 변경할 수 있다.
도 6은 일 실시예에 따른 PID 제어기가 CPU 제한 클럭의 최소 클럭을 결정하는 과정을 설명하는 도면이다.
일 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101) 또는 도 3의 전자 장치(301))의 PID 제어기(예: 도 3의 PID 제어기(320))는 PID 레벨 별로 CPU 제한 클럭의 최소 클럭을 결정하기 위한 CPU 임계 클럭 범위를 설정할 수 있다.
일 실시예에 따르면, PID 제어기는 PID 레벨에 대응하는 CPU 임계 클럭 범위(620)의 크기를 해당 PID 레벨에 대응하여 설정된 CPU 제한 클럭의 최소 클럭 범위(610)의 크기에 대응시킬 수 있다. 일 실시예에 따르면, PID 제어기는 PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위(610)의 크기와 해당 PID 레벨에 대응하는 CPU 임계 클럭 범위(620)의 크기를 일치시킬 수 있다. 예를 들어, PID 제어기는 제1 레벨에서 CPU 제한 클럭의 최소 클럭 범위를 1.6 GHz 내지 1.9 GHz로 설정하는 경우, CPU 임계 클럭 범위의 크기를 CPU 제한 클럭의 최소 클럭 범위의 크기인 0.3 GHz로 설정할 수 있다.
일 실시예에 따르면, PID 제어기는 PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위의 하한이 해당 PID 레벨에 대응하는 CPU 임계 클럭 범위의 상한 보다 크도록 CPU 임계 클럭 범위를 설정할 수 있다. 일 실시예에 따르면, PID 제어기는 PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위의 하한과 해당 PID 레벨에 대응하는 CPU 임계 클럭 범위의 상한의 차이(이하, CPU 마진(margin)으로 설명함)(630)는 각 PID 레벨에서 동일한 크기를 갖도록 설정할 수 있다. 예를 들어, PID 제어기는 각 PID 레벨에 대응하는 마진을 0.2 GHz로 동일하게 설정할 수 있다. 다른 일 실시예에 따르면, PID 제어기는 PID 레벨에 대응하는 마진을 해당 PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭의 범위의 크기에 비례하도록 설정할 수도 있다.
일 예로, 도 6에 도시된 바와 같이, PID 제어기는 제1 레벨에서 CPU 제한 클럭의 최소 클럭 범위(610)를 1.6 GHz 내지 1.9 GHz로 설정하고, 제1 레벨에 대응하는 마진을 0.2 GHz로 설정한 경우를 가정한다. 이러한 경우, PID 제어기는 제1 레벨에 대응하는 CPU 임계 클럭 범위(620)의 상한을 CPU 제한 클럭의 최소 클럭 범위의 하한인 1.6 GHz에서 마진(630)인 0.2 GHz를 차감한 1.4 GHz로 설정할 수 있다. 또한, PID 제어기는 제1 레벨에서 CPU 제한 클럭의 최소 클럭 범위(610)의 크기인 0.3 GHz와 동일한 크기로 제1 레벨에 대응하는 CPU 임계 클럭 범위(620)의 크기를 설정하는 경우, CPU 임계 클럭 범위(620)의 하한을 1.4 GHz - 0.3 GHz 인 1.1 GHz로 설정할 수 있다.
일 실시예에 따르면, PID 제어기는 결정된 전자 장치의 PID 레벨에 대응하는 CPU 임계 클럭 범위(620)에서 CPU의 평균 동작 클럭이 속하는 구간에 기초하여, CPU의 제한 클럭의 최소 클럭을 설정할 수 있다. 일 실시예에 따르면, PID 제어기는 PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위(610) 및 CPU 임계 클럭 범위(620)를 각각 미리 정한 개수의 구간으로 분할할 수 있다. 다시 말해, PID 제어기는 PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위와 해당 PID 레벨에 대응하는 CPU 임계 클럭 범위를 동일한 개수의 구간으로 분할할 수 있다. 예를 들어, 미리 정한 개수는 3개일 수 있으나, 이로 한정하는 것은 아니다. 일 실시예에 따르면, PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위 및 CPU 임계 클럭 범위가 분할되는 구간의 개수는 PID 레벨 별로 동일하거나 상이할 수 있다.
일 실시예에 따르면, PID 제어기는 PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위(610)가 분할된 구간들(611, 612, 613)을 해당 PID 레벨에 대응하는 CPU 임계 클럭 범위(620)가 분할된 구간들(621, 622, 623)과 매핑시킬 수 있다. 일 실시예에 따르면, PID 제어기는 PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위(610)가 분할된 구간들(611, 612, 613)과 해당 PID 레벨에 대응하는 CPU 임계 클럭 범위(620)가 분할된 구간들(621, 622, 623)을 역순으로 매핑시킬 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 제1 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위(610)가 1.6 GHz 내지 1.9 GHz이고, 제1 레벨에 대응하는 CPU 임계 클럭 범위가 1.1 GHz 내지 1.4 GHz이고, 경우를 가정한다. PID 제어기는 CPU 제한 클럭의 최소 클럭 범위(610)를 1.9 GHz 미만 1.8 GHz 이상의 1번째 최소 클럭 구간(611), 1.8 GHz 미만 1.7 GHz 이상의 2번째 최소 클럭 구간(612), 1.7 GHz 미만 1.6 GHz 이상의 3번째 최소 클럭 구간(613)으로 분할할 수 있다. 또한, PID 제어기는 CPU 임계 클럭 범위(620)를 1.4 GHz 미만 1.3 GHz 이상의 1번째 임계 클럭 구간(621), 1.3 GHz 미만 1.2 GHz 이상의 2번째 임계 클럭 구간(622), 1.2 GHz 미만 1.1 GHz 이상의 3번째 임계 클럭 구간(623)으로 분할할 수 있다. 이러한 경우, PID 제어기는 1번째 임계 클럭 구간(621)을 3번째 최소 클럭 구간(613)과 매핑할 수 있고, 2번째 임계 클럭 구간(622)을 2번째 최소 클럭 구간(612)과 매핑시킬 수 있으며, 3번째 임계 클럭 구간(623)을 1번째 최소 클럭 구간(611)과 매핑시킬 수 있다.
일 실시예에 따르면, PID 제어기는 CPU 임계 클럭 범위(620) 내에서 CPU의 평균 동작 클럭이 속하는 구간과 매핑되는 CPU 제한 클럭의 최소 클럭 범위(610)의 구간의 상한으로 CPU 제한 클럭의 최소 클럭을 설정할 수 있다. 예를 들어, PID 제어기는 CPU의 평균 동작 클럭이 1.36 GHz 미만으로 CPU 임계 클럭 범위(620) 내의 1번째 임계 클럭 구간(621)에 속하는 경우, 1번째 임계 클럭 구간(621)과 매핑된 3번째 최소 클럭 구간(613)의 상한인 1.7 GHz로 CPU 제한 클럭의 최소 클럭을 설정할 수 있다. 다른 예를 들어, PID 제어기는 CPU의 평균 동작 클럭이 1.14 GHz으로 CPU 임계 클럭 범위(620) 내의 3번째 임계 클럭 구간(623)에 속하는 경우, 3번째 임계 클럭 구간(623)과 매핑된 1번째 최소 클럭 구간(611)의 상한인 1.9 GHz로 CPU 제한 클럭의 최소 클럭을 설정할 수 있다.
더 나아가, PID 제어기는 CPU의 평균 동작 클럭이 CPU 임계 클럭 범위(620)의 상한(예를 들어, 1.4 GHz) 이상인 경우, CPU 제한 클럭의 최소 클럭 범위의 하한(예를 들어, 1.6 GHz)으로 CPU 제한 클럭의 최소 클럭을 설정할 수 있다. PID 제어기는 CPU의 평균 동작 클럭이 CPU 임계 클럭 범위(620)의 하한(예를 들어, 1.0 GHz) 미만인 경우, CPU 제한 클럭의 최소 클럭 범위(610)의 상한(예를 들어, 1.9 GHz)으로 CPU 제한 클럭의 최소 클럭을 설정할 수 있다. 다시 말해, PID 제어기는 CPU 평균 동작 클럭이 증가할수록 CPU 제한 클럭의 최소 클럭을 감소시킬 수 있다.
다른 일 실시예에 따르면, PID 제어기는 CPU 임계 클럭 범위 내에서 CPU의 평균 동작 클럭이 속하는 구간과 매핑되는 CPU 제한 클럭의 최소 클럭 범위의 구간의 하한으로 CPU 제한 클럭의 최소 클럭을 설정할 수도 있다.
또 다른 일 실시예에 따르면, PID 제어기는 구간을 분할하지 않고도 CPU의 평균 동작 클럭과 CPU의 임계 클럭 범위에 기초하여 CPU 제한 클럭의 최소 클럭을 설정할 수도 있다. 예를 들어, PID 제어기는 CPU 임계 클럭 범위 내의 클럭들과 CPU 제한 클럭의 최소 클럭 범위 내의 클럭들을 역순으로 매핑시킬 수 있고, CPU 상기 매핑 결과에서 CPU의 평균 동작 클럭과 매핑되는 클럭으로 CPU 제한 클럭의 최소 클럭을 설정할 수 있다. 도 6의 예시에서, 예를 들어, 1.1 GHz 클럭과 1.9 GHz 클럭, 1.2 Ghz 클럭과 1.8 GHz 클럭, 1.3 GHz 클럭과 1.7 GHz 클럭을 매핑시킬 수 있다. 다시 말해, 1.1 GHz +
Figure PCTKR2023006000-appb-img-000005
의 클럭과 1.9 GHz -
Figure PCTKR2023006000-appb-img-000006
의 클럭을 매핑시킬 수 있다. 이때, PID 제어기는 CPU의 평균 동작 클럭이 1.15 GHz인 경우, CPU 제한 클럭의 최소 클럭을 1.85 GHz로 설정할 수 있다.
도 7은 일 실시예에 따른 PID 제어기가 GPU 제한 클럭의 최소 클럭을 결정하는 과정을 설명하는 도면이다.
일 실시예에 따르면, PID 제어기는 CPU 제한 클럭의 최소 클럭을 설정하는 방법과 유사하게 GPU 제한 클럭의 최소 클럭을 설정할 수 있다. PID 제어기는 PID 레벨 별로 GPU 제한 클럭의 최소 클럭을 결정하기 위한 GPU 임계 클럭 범위를 설정할 수 있다.
PID 제어기는 PID 레벨에 대응하는 GPU 임계 클럭 범위(720)의 크기를 해당 PID 레벨에 대응하여 설정된 GPU 제한 클럭의 최소 클럭 범위(710)의 크기에 대응시킬 수 있다. 예를 들어, 도 7에 도시된 바와 같이, PID 제어기는 제1 레벨에서 GPU 제한 클럭의 최소 클럭 범위(710)를 600 MHz 내지 800 MHz로 설정하는 경우, GPU 임계 클럭 범위(720)의 크기를 GPU 제한 클럭의 최소 클럭 범위의 크기인 200 MHz로 설정할 수 있다.
일 실시예에 따르면, PID 제어기는 PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭 범위(710)의 하한이 해당 PID 레벨에 대응하는 CPU 임계 클럭 범위의 상한(720) 보다 크도록 CPU 임계 클럭 범위를 설정할 수 있다. PID 제어기는 PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭 범위의 하한과 해당 PID 레벨에 대응하는 GPU 임계 클럭 범위의 상한의 차이인 GPU 마진(730)은 각 PID 레벨에서 동일한 크기를 갖도록 설정할 수 있다.
일 실시예에 따르면, PID 제어기는 결정된 전자 장치의 PID 레벨에 대응하는 GPU 임계 클럭 범위(720)에서 GPU의 평균 동작 클럭이 속하는 구간에 기초하여, GPU의 제한 클럭의 최소 클럭을 설정할 수 있다. PID 제어기는 PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭 범위(710) 및 GPU 임계 클럭 범위(720)를 각각 미리 정한 개수의 구간으로 분할할 수 있다. 다시 말해, PID 제어기는 PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭 범위와 해당 PID 레벨에 대응하는 GPU 임계 클럭 범위를 동일한 개수의 구간으로 분할할 수 있다.
일 실시예에 따르면, PID 제어기는 PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭 범위(710)가 분할된 구간들(711, 712, 713)을 해당 PID 레벨에 대응하는 GPU 임계 클럭 범위(720)가 분할된 구간들(721, 722, 723)과 매핑시킬 수 있다. PID 제어기는 PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭 범위가 분할된 구간들(711, 712, 713)과 해당 PID 레벨에 대응하는 GPU 임계 클럭 범위가 분할된 구간들(721, 722, 723)을 역순으로 매핑시킬 수 있다. 일 실시예에 따르면, PID 제어기는 GPU 임계 클럭 범위 내에서 GPU의 평균 동작 클럭이 속하는 구간과 매핑되는 GPU 제한 클럭의 최소 클럭 범위의 구간의 상한으로 GPU 제한 클럭의 최소 클럭을 설정할 수 있다.
예를 들어, 도 7에 도시된 바와 같이, PID 제어기는 제1 레벨에 대응하는 GPU 제한 클럭의 최소 클럭 범위를 700 MHz 미만 600 MHz 이상의 1번째 최소 클럭 구간, 600 MHz 미만 500 MHz 이상의 2번째 최소 클럭 구간으로 분할할 수 있다. 또한, PID 제어기는 GPU 임계 클럭 범위를 400 MHz 미만 300 MHz 이상의 1번째 임계 클럭 구간, 300 MHz 미만 200 MHz 이상의 2번째 임계 클럭 구간으로 분할할 수 있다. 이러한 경우, PID 제어기는 1번째 임계 클럭 구간을 2번째 최소 클럭 구간과 매핑시킬 수 있고, 2번째 임계 클럭 구간을 1번째 최소 클럭 구간과 매핑시킬 수 있다. PID 제어기는 GPU 평균 동작 클럭이 300 MHz 미만 200 MHz 미만으로 GPU 임계 클럭 범위 내의 1번째 임계 클럭 구간에 속하는 경우, 1번쨰 임계 클럭 구간과 매핑된 2번째 최소 클럭 구간의 상한인 700 MHz로 GPU 제한 클럭의 최소 클럭을 설정할 수 있다.
도 8은 일 실시예에 따른 PID 제어기가 TCP 제한 속도의 최소 속도를 결정하는 과정을 설명하는 도면이다.
일 실시예에 따른 PID 제어기는 TCP 제한 속도의 최소 속도을 설정할 수 있다. PID 제어기는 TCP 제한 속도가 네트워크 상태에 따라 다르기 때문에, PID 제어를 위하여 충분히 높은 속도로 TCP 속도의 가상 최대 속도(virtual max speed)를 설정할 수 있다. 여기서, 가상 최대 속도는 TCP 제한 속도로 설정 가능한 최대 속도를 나타낼 수 있다. PID 제어기는 PID 레벨 별로 TCP 제한 속도의 최소 속도를 설정할 수 있다. 일 실시예에 따르면, PID 제어기는 PID 레벨이 증가할수록 PID 레벨에 대응하는 TCP 제한 속도의 최소 속도을 감소시킬 수 있다. 예를 들어, PID 제어기는 제1 레벨에 대응하는 TCP 제한 속도의 최소 속도를 250 mbps(821), 제2 레벨에 대응하는 TCP 제한 속도의 최소 속도를 200 mbps(822), 제3 레벨에 대응하는 TCP 제한 속도의 최소 속도를 150 mpbs(823), 제4 레벨에 대응하는 TCP 제한 속도의 최소 속도를 100 mbps(824)로 설정할 수 있다. PID 제어기는 PID 레벨이 증가할수록 TCP 제한 속도의 최소 속도를 감소시켜 TCP 속도를 보다 효율적으로 제한할 수 있다. PID 제어기는 결정된 전자 장치의 PID 레벨에 대응하여 설정된 TCP 제한 속도의 최소 속도에서, PID 제어를 통해 TCP 제한 속도를 결정하여 전자 장치의 발열을 추가로 제어할 수 있다.
일 실시예에 따른 전자 장치는, 컴퓨터로 실행 가능한 명령어들이 저장된 메모리, 메모리에 억세스(access)하여 명령어들을 실행하는 프로세서를 포함하고, 프로세서는, 전자 장치의 표면 온도를 측정하고, 하드웨어의 부하 및 미리 설정된 이벤트들의 발생을 모니터링하며, 전자 장치의 표면 온도에 기초하여 발열 제어를 위한 전자 장치의 PID 레벨을 결정하고, 결정된 PID 레벨 및 하드웨어의 부하에 기초하여 CPU 제한 클럭의 최소 클럭 및 GPU 제한 클럭의 최소 클럭을 각각 설정하며, 전자 장치의 표면 온도가 결정된 PID 레벨에 대응하는 타겟 온도(target temperature)에 수렴하도록, 설정된 CPU 제한 클럭의 최소 클럭 이상으로 CPU의 제한 클럭을 결정하고 설정된 GPU 제한 클럭의 최소 클럭 이상으로 GPU의 제한 클럭을 결정할 수 있다.
프로세서는, 미리 설정된 이벤트들 중 적어도 하나의 이벤트의 발생이 모니터링되는 경우, 발생한 적어도 하나의 이벤트가 지시하는 PID 레벨 및 전자 장치의 표면 온도에 대응하는 PID 레벨 중 가장 높은 PID 레벨로 전자 장치의 PID 레벨을 결정할 수 있다.
프로세서는, PID 레벨 별로 PID 레벨에 대응하는 타겟 온도, CPU 제한 클럭의 최소 클럭 범위, 및 GPU 제한 클럭의 최소 클럭 범위를 설정하고, PID 레벨이 증가할수록, PID 레벨에 대응하는 타겟 온도를 증가시키며, CPU 제한 클럭의 최소 클럭 범위의 하한을 감소시키고, GPU 제한 클럭의 최소 클럭 범위의 하한을 감소시킬 수 있다.
프로세서는, 결정된 PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위 내에서, CPU의 평균 동작 클럭에 기초하여 CPU 제한 클럭의 최소 클럭을 결정하고, 결정된 PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭의 범위 내에서, GPU의 평균 동작 클럭에 기초하여 GPU 제한 클럭의 최소 클럭을 결정할 수 있다.
프로세서는, CPU의 평균 동작 클럭이 증가함에 따라, CPU 제한 클럭의 최소 클럭을 감소시키고, GPU의 평균 동작 클럭이 증가함에 따라, GPU 제한 클럭의 최소 클럭을 감소시킬 수 있다.
프로세서는, PID 레벨 별로 CPU 제한 클럭의 최소 클럭을 결정하기 위한 CPU 임계 클럭 범위 및 GPU 제한 클럭의 최소 클럭을 결정하기 위한 GPU 임계 클럭 범위를 설정하고, PID 레벨에 대응하는 CPU 임계 클럭 범위의 크기를 해당 PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭의 범위의 크기와 일치시키고, 해당 PID 레벨에 대응하는 GPU 임계 클럭 범위의 크기는 해당 PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭의 범위의 크기와 일치시킬 수 있다.
프로세서는, PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위의 하한이 해당 PID 레벨에 대응하는 CPU 임계 클럭 범위의 상한 보다 크도록 CPU 임계 클럭 범위를 설정하고, PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭 범위의 하한이 해당 PID 레벨에 대응하는 GPU 임계 클럭 범위의 상한 보다 크도록 GPU 임계 클럭 범위를 설정할 수 있다.
프로세서는, PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위 및 CPU 임계 클럭 범위를 각각 제1 개수의 구간으로 분할하고, CPU 제한 클럭의 최소 클럭 범위가 분할된 구간들과 CPU 임계 클럭 범위가 분할된 구간들을 역순으로 매핑시키고, PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭 범위 및 GPU 임계 클럭 범위를 각각 제2 개수의 구간으로 분할하고, GPU 제한 클럭의 최소 클럭 범위가 분할된 구간들과 GPU 임계 클럭 범위가 분할된 구간들을 역순으로 매핑시킬 수 있다.
프로세서는, 결정된 PID 레벨에 대응하는 CPU 임계 클럭 범위 내에서 CPU의 평균 동작 클럭이 속하는 구간과 매핑되는 CPU 제한 클럭의 최소 클럭 범위의 구간의 상한으로 CPU 제한 클럭의 최소 클럭을 설정하고, 결정된 PID 레벨에 대응하는 GPU 임계 클럭 범위 내에서 GPU의 평균 동작 클럭이 속하는 구간과 매핑되는 GPU 제한 클럭의 최소 클럭 범위의 구간의 상한으로 GPU 제한 클럭의 최소 클럭을 설정할 수 있다.
프로세서는, TCP 제한 속도로 설정 가능한 최대 속도인 가상 최대 속도를 설정하고, 설정된 가상 최대 속도 내에서 PID 레벨 별로 TCP 제한 속도를 설정하고, PID 레벨이 증가할수록 PID 레벨에 대응하는 TCP 제한 속도의 최소 속도를 감소시킬 수 있다.
일 실시예에 따른 프로세서에 의해 수행되는 방법은, 전자 장치의 표면 온도를 측정하고, 하드웨어의 부하와 미리 설정된 이벤트들의 발생을 모니터링하는 동작, 전자 장치의 표면 온도에 기초하여 발열 제어를 위한 전자 장치의 PID 레벨을 결정하는 동작, 결정된 PID 레벨 및 하드웨어의 부하에 기초하여 CPU 제한 클럭의 최소 클럭 및 GPU 제한 클럭의 최소 클럭을 각각 설정하는 동작, 및 전자 장치의 표면 온도가 결정된 PID 레벨에 대응하는 타겟 온도(target temperature)에 수렴하도록 CPU의 제한 클럭 및 GPU의 제한 클럭을 결정하는 동작을 포함할 수 있다.
전자 장치의 PID 레벨을 결정하는 동작은, 미리 설정된 이벤트들 중 적어도 하나의 이벤트의 발생이 모니터링되는 경우, 발생한 적어도 하나의 이벤트가 지시하는 PID 레벨 및 전자 장치의 표면 온도에 대응하는 PID 레벨 중 가장 높은 PID 레벨로 전자 장치의 PID 레벨을 결정하는 동작을 포함할 수 있다.
CPU 제한 클럭의 최소 클럭 및 GPU 제한 클럭의 최소 클럭을 각각 설정하는 동작은, PID 레벨 별로 PID 레벨에 대응하는 타겟 온도, CPU 제한 클럭의 최소 클럭 범위, 및 GPU 제한 클럭의 최소 클럭 범위를 설정하는 동작, 및 PID 레벨이 증가할수록, PID 레벨에 대응하는 타겟 온도를 증가시키고, CPU 제한 클럭의 최소 클럭 범위의 하한을 감소시키며, GPU 제한 클럭의 최소 클럭의 범위의 하한을 감소시키는 동작을 포함할 수 있다.
CPU 제한 클럭의 최소 클럭 및 GPU 제한 클럭의 최소 클럭을 각각 설정하는 동작은, 결정된 PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위 내에서, CPU의 평균 동작 클럭에 기초하여 CPU 제한 클럭의 최소 클럭을 결정하는 동작, 및 결정된 PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭 범위 내에서, GPU의 평균 동작 클럭에 기초하여 GPU 제한 클럭의 최소 클럭을 결정하는 동작을 포함할 수 있다.
CPU 제한 클럭의 최소 클럭 및 GPU 제한 클럭의 최소 클럭을 각각 설정하는 동작은, CPU의 평균 동작 클럭이 증가함에 따라, CPU 제한 클럭의 최소 클럭을 감소시키는 동작, 및 GPU의 평균 동작 클럭이 증가함에 따라, GPU 제한 클럭의 최소 클럭을 감소시키는 동작을 포함할 수 있다.
CPU 제한 클럭의 최소 클럭 및 GPU 제한 클럭의 최소 클럭을 각각 설정하는 동작은, PID 레벨 별로 CPU 제한 클럭의 최소 클럭을 결정하기 위한 CPU 임계 클럭 범위 및 GPU 제한 클럭의 최소 클럭을 결정하기 위한 GPU 임계 클럭 범위를 설정하는 동작을 포함하고, CPU 임계 클럭 범위 및 GPU 임계 클럭 범위를 설정하는 동작은, PID 레벨에 대응하는 CPU 임계 클럭 범위의 크기를 해당 PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭의 범위의 크기와 일치시키고, 해당 PID 레벨에 대응하는 GPU 임계 클럭 범위의 크기를 해당 PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭의 범위의 크기와 일치시키는 동작을 포함할 수 있다.
CPU 임계 클럭 범위 및 GPU 임계 클럭 범위를 설정하는 동작은, PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위의 하한이 해당 PID 레벨에 대응하는 CPU 임계 클럭 범위의 상한 보다 크도록 CPU 임계 클럭 범위를 설정하는 동작, 및 PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭 범위의 하한이 해당 PID 레벨에 대응하는 GPU 임계 클럭 범위의 상한 보다 크도록 GPU 임계 클럭 범위를 설정하는 동작을 포함할 수 있다.
CPU 제한 클럭의 최소 클럭 및 GPU 제한 클럭의 최소 클럭을 각각 설정하는 동작은, PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위 및 CPU 임계 클럭 범위를 각각 제1 개수의 구간으로 분할하고, CPU 제한 클럭의 최소 클럭 범위가 분할된 구간들과 CPU 임계 클럭 범위가 분할된 구간들을 역순으로 매핑시키는 동작, 및 PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭 범위 및 GPU 임계 클럭 범위를 각각 제2 개수의 구간으로 분할하고, GPU 제한 클럭의 최소 클럭 범위가 분할된 구간들과 GPU 임계 클럭 범위가 분할된 구간들을 역순으로 매핑시키는 동작을 포함할 수 있다.
CPU 제한 클럭의 최소 클럭 및 GPU 제한 클럭의 최소 클럭을 각각 설정하는 동작은, 결정된 PID 레벨에 대응하는 CPU 임계 클럭 범위 내에서 CPU의 평균 동작 클럭이 속하는 구간과 매핑되는 CPU 제한 클럭의 최소 클럭 범위의 구간의 상한으로 CPU 제한 클럭의 최소 클럭을 설정하는 동작, 및 결정된 PID 레벨에 대응하는 GPU 임계 클럭 범위 내에서 GPU의 평균 동작 클럭이 속하는 구간과 매핑되는 GPU 제한 클럭의 최소 클럭 범위의 구간의 상한으로 GPU 제한 클럭의 최소 클럭을 설정하는 동작을 포함할 수 있다.
일 실시예에 따른 프로세서에 의해 수행되는 방법은, TCP 제한 속도로 설정 가능한 최대 속도인 가상 최대 속도를 설정하고, 설정된 가상 최대 속도 내에서 PID 레벨 별로 TCP 제한 속도를 설정하는 동작, 및 PID 레벨이 증가할수록 PID 레벨에 대응하는 TCP 제한 속도의 최소 속도를 감소시키는 동작을 더 포함할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (15)

  1. 전자 장치에 있어서,
    컴퓨터로 실행 가능한 명령어들이 저장된 메모리;
    상기 메모리에 억세스(access)하여 상기 명령어들을 실행하는 프로세서
    를 포함하고,
    상기 프로세서는,
    상기 전자 장치의 표면 온도를 측정하고, 하드웨어의 부하 및 미리 설정된 이벤트들의 발생을 모니터링하며, 상기 전자 장치의 표면 온도에 기초하여 발열 제어를 위한 상기 전자 장치의 PID 레벨을 결정하고, 상기 결정된 PID 레벨 및 상기 하드웨어의 부하에 기초하여 CPU 제한 클럭의 최소 클럭 및 GPU 제한 클럭의 최소 클럭을 각각 설정하며, 상기 전자 장치의 표면 온도가 상기 결정된 PID 레벨에 대응하는 타겟 온도(target temperature)에 수렴하도록, 상기 설정된 CPU 제한 클럭의 최소 클럭 이상으로 상기 CPU의 제한 클럭을 결정하고 상기 설정된 GPU 제한 클럭의 최소 클럭 이상으로 상기 GPU의 제한 클럭을 결정하는,
    전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 미리 설정된 이벤트들 중 적어도 하나의 이벤트의 발생이 모니터링되는 경우, 상기 발생한 적어도 하나의 이벤트가 지시하는 PID 레벨 및 상기 전자 장치의 표면 온도에 대응하는 PID 레벨 중 가장 높은 PID 레벨로 상기 전자 장치의 PID 레벨을 결정하는,
    전자 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    PID 레벨 별로 PID 레벨에 대응하는 타겟 온도, CPU 제한 클럭의 최소 클럭 범위, 및 GPU 제한 클럭의 최소 클럭 범위를 설정하고,
    PID 레벨이 증가할수록, PID 레벨에 대응하는 타겟 온도를 증가시키며, 상기 CPU 제한 클럭의 최소 클럭 범위의 하한을 감소시키고, 상기 GPU 제한 클럭의 최소 클럭 범위의 하한을 감소시키는,
    전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 결정된 PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위 내에서, 상기 CPU의 평균 동작 클럭에 기초하여 상기 CPU 제한 클럭의 최소 클럭을 결정하고,
    상기 결정된 PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭의 범위 내에서, 상기 GPU의 평균 동작 클럭에 기초하여 상기 GPU 제한 클럭의 최소 클럭을 결정하는,
    전자 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 CPU의 평균 동작 클럭이 증가함에 따라, 상기 CPU 제한 클럭의 최소 클럭을 감소시키고,
    상기 GPU의 평균 동작 클럭이 증가함에 따라, 상기 GPU 제한 클럭의 최소 클럭을 감소시키는,
    전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    PID 레벨 별로 CPU 제한 클럭의 최소 클럭을 결정하기 위한 CPU 임계 클럭 범위 및 GPU 제한 클럭의 최소 클럭을 결정하기 위한 GPU 임계 클럭 범위를 설정하고,
    PID 레벨에 대응하는 CPU 임계 클럭 범위의 크기를 해당 PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭의 범위의 크기와 일치시키고, 상기 해당 PID 레벨에 대응하는 GPU 임계 클럭 범위의 크기는 상기 해당 PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭의 범위의 크기와 일치시키는,
    전자 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위의 하한이 해당 PID 레벨에 대응하는 CPU 임계 클럭 범위의 상한 보다 크도록 상기 CPU 임계 클럭 범위를 설정하고,
    PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭 범위의 하한이 해당 PID 레벨에 대응하는 GPU 임계 클럭 범위의 상한 보다 크도록 상기 GPU 임계 클럭 범위를 설정하는,
    전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위 및 CPU 임계 클럭 범위를 각각 제1 개수의 구간으로 분할하고, CPU 제한 클럭의 최소 클럭 범위가 분할된 구간들과 CPU 임계 클럭 범위가 분할된 구간들을 역순으로 매핑시키고,
    PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭 범위 및 GPU 임계 클럭 범위를 각각 제2 개수의 구간으로 분할하고, GPU 제한 클럭의 최소 클럭 범위가 분할된 구간들과 GPU 임계 클럭 범위가 분할된 구간들을 역순으로 매핑시키는,
    전자 장치.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 결정된 PID 레벨에 대응하는 CPU 임계 클럭 범위 내에서 상기 CPU의 평균 동작 클럭이 속하는 구간과 매핑되는 CPU 제한 클럭의 최소 클럭 범위의 구간의 상한으로 상기 CPU 제한 클럭의 최소 클럭을 설정하고,
    상기 결정된 PID 레벨에 대응하는 GPU 임계 클럭 범위 내에서 상기 GPU의 평균 동작 클럭이 속하는 구간과 매핑되는 GPU 제한 클럭의 최소 클럭 범위의 구간의 상한으로 상기 GPU 제한 클럭의 최소 클럭을 설정하는,
    전자 장치.
  10. 제1항에 있어서,
    상기 프로세서는,
    TCP 제한 속도로 설정 가능한 최대 속도인 가상 최대 속도를 설정하고, 상기 설정된 가상 최대 속도 내에서 PID 레벨 별로 TCP 제한 속도를 설정하고,
    PID 레벨이 증가할수록 PID 레벨에 대응하는 TCP 제한 속도의 최소 속도를 감소시키는,
    전자 장치.
  11. 프로세서에 의해 수행되는 방법에 있어서,
    전자 장치의 표면 온도를 측정하고, 하드웨어의 부하와 미리 설정된 이벤트들의 발생을 모니터링하는 동작;
    상기 전자 장치의 표면 온도에 기초하여 발열 제어를 위한 상기 전자 장치의 PID 레벨을 결정하는 동작;
    상기 결정된 PID 레벨 및 상기 하드웨어의 부하에 기초하여 CPU 제한 클럭의 최소 클럭 및 GPU 제한 클럭의 최소 클럭을 각각 설정하는 동작; 및
    상기 전자 장치의 표면 온도가 상기 결정된 PID 레벨에 대응하는 타겟 온도에 수렴하도록, 상기 설정된 CPU 제한 클럭의 최소 클럭 이상으로 상기 CPU의 제한 클럭을 결정하고 상기 설정된 GPU 제한 클럭의 최소 클럭 이상으로 상기 GPU의 제한 클럭을 결정하는 동작
    을 포함하는 방법.
  12. 제11항에 있어서,
    상기 CPU 제한 클럭의 최소 클럭 및 상기 GPU 제한 클럭의 최소 클럭을 각각 설정하는 동작은,
    PID 레벨 별로 PID 레벨에 대응하는 타겟 온도, CPU 제한 클럭의 최소 클럭 범위, 및 GPU 제한 클럭의 최소 클럭 범위를 설정하는 동작; 및
    PID 레벨이 증가할수록, PID 레벨에 대응하는 타겟 온도를 증가시키고, 상기 CPU 제한 클럭의 최소 클럭 범위의 하한을 감소시키며, 상기 GPU 제한 클럭의 최소 클럭의 범위의 하한을 감소시키는 동작
    을 포함하는 방법.
  13. 제11항에 있어서,
    상기 CPU 제한 클럭의 최소 클럭 및 상기 GPU 제한 클럭의 최소 클럭을 각각 설정하는 동작은,
    상기 결정된 PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위 내에서, 상기 CPU의 평균 동작 클럭에 기초하여 상기 CPU 제한 클럭의 최소 클럭을 결정하는 동작; 및
    상기 결정된 PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭 범위 내에서, 상기 GPU의 평균 동작 클럭에 기초하여 상기 GPU 제한 클럭의 최소 클럭을 결정하는 동작
    을 포함하는 방법.
  14. 제11항에 있어서,
    상기 CPU 제한 클럭의 최소 클럭 및 상기 GPU 제한 클럭의 최소 클럭을 각각 설정하는 동작은,
    PID 레벨 별로 CPU 제한 클럭의 최소 클럭을 결정하기 위한 CPU 임계 클럭 범위 및 GPU 제한 클럭의 최소 클럭을 결정하기 위한 GPU 임계 클럭 범위를 설정하는 동작
    을 포함하고,
    상기 CPU 임계 클럭 범위 및 상기 GPU 임계 클럭 범위를 설정하는 동작은,
    PID 레벨에 대응하는 CPU 임계 클럭 범위의 크기를 해당 PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭의 범위의 크기와 일치시키고, 상기 해당 PID 레벨에 대응하는 GPU 임계 클럭 범위의 크기를 상기 해당 PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭의 범위의 크기와 일치시키는 동작;
    PID 레벨에 대응하는 CPU 제한 클럭의 최소 클럭 범위의 하한이 해당 PID 레벨에 대응하는 CPU 임계 클럭 범위의 상한 보다 크도록 상기 CPU 임계 클럭 범위를 설정하는 동작; 및
    PID 레벨에 대응하는 GPU 제한 클럭의 최소 클럭 범위의 하한이 해당 PID 레벨에 대응하는 GPU 임계 클럭 범위의 상한 보다 크도록 상기 GPU 임계 클럭 범위를 설정하는 동작
    을 포함하는 방법.
  15. 제11항의 방법을 수행하기 위한 명령어를 포함하는 하나 이상의 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 기록 매체.
PCT/KR2023/006000 2022-07-19 2023-05-03 Pid 제어기에 기초하여 전자 장치의 발열을 제어하는 방법 및 장치 WO2024019280A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0089205 2022-07-19
KR20220089205 2022-07-19
KR10-2022-0108455 2022-08-29
KR1020220108455A KR20240011588A (ko) 2022-07-19 2022-08-29 Pid 제어기에 기초하여 전자 장치의 발열을 제어하는 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2024019280A1 true WO2024019280A1 (ko) 2024-01-25

Family

ID=89618074

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/006000 WO2024019280A1 (ko) 2022-07-19 2023-05-03 Pid 제어기에 기초하여 전자 장치의 발열을 제어하는 방법 및 장치

Country Status (1)

Country Link
WO (1) WO2024019280A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140010457A (ko) * 2011-06-02 2014-01-24 애플 인크. 전자 장치에서의 다중 레벨 열 관리
KR20140136968A (ko) * 2012-03-02 2014-12-01 애플 인크. 컴퓨터 시스템을 위한 냉각 시스템의 제어
KR20160138479A (ko) * 2014-04-01 2016-12-05 퀄컴 인코포레이티드 열 생성을 완화시키면서 pcd 의 성능을 최적화하기 위한 방법 및 시스템
KR20170019454A (ko) * 2014-08-15 2017-02-21 인텔 코포레이션 프로세서 온도의 균형적 제어
KR20180021831A (ko) * 2015-06-26 2018-03-05 인텔 코포레이션 전자 디바이스들의 열 스로틀링

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140010457A (ko) * 2011-06-02 2014-01-24 애플 인크. 전자 장치에서의 다중 레벨 열 관리
KR20140136968A (ko) * 2012-03-02 2014-12-01 애플 인크. 컴퓨터 시스템을 위한 냉각 시스템의 제어
KR20160138479A (ko) * 2014-04-01 2016-12-05 퀄컴 인코포레이티드 열 생성을 완화시키면서 pcd 의 성능을 최적화하기 위한 방법 및 시스템
KR20170019454A (ko) * 2014-08-15 2017-02-21 인텔 코포레이션 프로세서 온도의 균형적 제어
KR20180021831A (ko) * 2015-06-26 2018-03-05 인텔 코포레이션 전자 디바이스들의 열 스로틀링

Similar Documents

Publication Publication Date Title
WO2024019280A1 (ko) Pid 제어기에 기초하여 전자 장치의 발열을 제어하는 방법 및 장치
WO2022181965A1 (ko) 업사이클링 기능을 제공하기 위한 방법 및 이를 지원하는 전자 장치
WO2022035050A1 (ko) 전자 장치 및 그 제어 방법
WO2022080683A1 (ko) 무선 오디오 출력 장치의 연결 제어 방법 및 장치
WO2024076053A1 (ko) 온도에 기반하여 전자 장치를 제어하는 방법 및 그 전자 장치
WO2022203271A1 (ko) 전자 장치 및 커스터마이즈된 온도 보상 방법
WO2022240050A1 (ko) 입력 전류를 제어하는 방법 및 전자 장치
WO2024014884A1 (ko) Cpu 클럭을 제어하는 전자 장치, 그 동작 방법, 및 저장 매체
WO2024090833A1 (ko) 다수의 배터리들에 대한 충전 전류를 제어하기 위한 전자 장치 및 방법
WO2023163341A1 (ko) 터치 입력의 인식 감도를 조정하는 방법 및 이를 수행하는 전자 장치
KR20240011588A (ko) Pid 제어기에 기초하여 전자 장치의 발열을 제어하는 방법 및 장치
WO2024106699A1 (ko) 스위칭 차저를 포함하는 전자 장치 및 그 동작 방법
WO2024053910A1 (ko) 기계학습 모델에 적합한 가속기를 선택하는 장치 및 방법
WO2024005313A1 (ko) 전자 장치의 학습 모델을 갱신하는 서버 및 그의 동작 방법
WO2022186497A1 (ko) 방사 전력의 조절 방법 및 전자 장치
WO2023195728A1 (ko) 전자 장치 및 소모 전류 개선 방법
WO2024085681A1 (ko) 가비지 컬렉션 수행 방법 및 이를 지원하는 전자 장치
WO2023068734A1 (ko) 웨어러블 장치와 통신하는 전자 장치 및 그 제어 방법
WO2022004988A1 (ko) 전자 장치 및 그 전자 장치의 제어 방법
WO2024029717A1 (ko) 프로세스 관리 장치 및 방법
WO2023063568A1 (ko) 메모리 제어 방법 및 상기 방법을 수행하는 전자 장치
WO2024049131A1 (ko) 멀티 수신 대역폭 특성화 테이블을 이용한 수신 정확도 향상을 위한 캘리브레이션 시스템 및 방법
WO2024090837A1 (ko) 배터리를 충전하는 방법 및 전자 장치
WO2024043464A1 (ko) 프로세서에 포함된 각각의 회로들의 주파수들을 조절하기 위한 전자 장치, 방법, 및 컴퓨터 판독 가능 저장 매체
WO2023008932A1 (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: 23843139

Country of ref document: EP

Kind code of ref document: A1