KR20180076631A - 반도체 장치의 성능 부스팅 방법 및 시스템 - Google Patents

반도체 장치의 성능 부스팅 방법 및 시스템 Download PDF

Info

Publication number
KR20180076631A
KR20180076631A KR1020160180998A KR20160180998A KR20180076631A KR 20180076631 A KR20180076631 A KR 20180076631A KR 1020160180998 A KR1020160180998 A KR 1020160180998A KR 20160180998 A KR20160180998 A KR 20160180998A KR 20180076631 A KR20180076631 A KR 20180076631A
Authority
KR
South Korea
Prior art keywords
boosting
user
information
performance
input
Prior art date
Application number
KR1020160180998A
Other languages
English (en)
Inventor
박종래
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020160180998A priority Critical patent/KR20180076631A/ko
Priority to US15/652,588 priority patent/US10539995B2/en
Publication of KR20180076631A publication Critical patent/KR20180076631A/ko

Links

Images

Classifications

    • 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
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • Y02D10/122

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Sources (AREA)

Abstract

반도체 장치의 성능 부스팅 방법 및 시스템이 제공된다. 반도체 장치의 성능 부스팅 방법은, 사용자의 입력 및 시스템 사용량을 모니터링하고, 이벤트가 발생한 경우, 상기 사용자의 입력에 대한 정보와 상기 시스템 사용량을 포함하는 사용자 시스템 정보를 생성하고, 상기 사용자 시스템 정보에 기초하여 성능 부스팅 목표 값을 적응적으로(adaptively) 결정하고, 상기 성능 부스팅 목표 값에 따라 동작 주파수를 부스트하는 것을 포함한다.

Description

반도체 장치의 성능 부스팅 방법 및 시스템{METHOD AND SYSTEM FOR PERFORMANCE BOOSTING FOR SEMICONDUCTOR DEVICE}
본 발명은 반도체 장치의 성능 부스팅 방법 및 시스템에 관한 것이다.
스마트 폰을 비롯한 모바일 장치들은 일반적으로 배터리에 의해 동작한다. 배터리와 같은 한정된 자원만이 제공되는 동작 환경에서 그 동작 효율을 증대시키기 위해서는 구체적인 상황에 따라 모바일 장치들의 성능을 적절히 관리하는 것이 필요하다.
모바일 장치들은 대부분 터치 스크린을 입력 수단으로 사용할 수 있다. 터치 스크린은 사용자로부터 제스처(gesture) 동작을 입력 받고, 해당 동작이 발생된 위치 정보나 해당 동작에 대한 속성 정보를 모바일 장치에 제공한다.
모바일 장치들의 성능 관리를 위해 터치 스크린을 통해 제공되는 입력 정보가 활용될 수 있다. 예를 들어, 터치 스크린에 아무런 입력이 없는 경우보다 사용자로부터 입력이 있는 경우에 모바일 장치의 성능을 부스팅(boosting)할 수 있다. 그런데 성능 부스팅은 불필요한 상황에서 사용될 경우 배터리의 전력을 낭비할 수도 있기 때문에, 성능 부스팅을 정교하게 수행하기 위한 방안이 요구된다.
본 발명이 해결하고자 하는 기술적 과제는 사용자의 입력 패턴과 시스템 사용량에 따라 적응적으로(adaptively) 조절될 수 있는, 반도체 장치의 성능 부스팅 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 사용자의 입력 패턴과 시스템 사용량에 따라 적응적으로 조절될 수 있는, 반도체 장치의 성능 부스팅 시스템을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 해당 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 방법은, 사용자의 입력 및 시스템 사용량을 모니터링하고, 이벤트가 발생한 경우, 사용자의 입력에 대한 정보와 시스템 사용량을 포함하는 사용자 시스템 정보를 생성하고, 사용자 시스템 정보에 기초하여 성능 부스팅 목표 값을 적응적으로(adaptively) 결정하고, 성능 부스팅 목표 값에 따라 동작 주파수를 부스트하는 것을 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 시스템은, 사용자의 입력 및 시스템 사용량을 모니터링하고, 이벤트가 발생한 경우, 사용자의 입력에 대한 정보와 시스템 사용량을 포함하는 사용자 시스템 정보를 생성하는 모니터링 유닛; 및 사용자 시스템 정보에 기초하여 성능 부스팅 목표 값을 적응적으로(adaptively) 결정하고, 성능 부스팅 목표 값에 따라 동작 주파수를 부스트하는 적응적 부스팅 유닛을 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 시스템을 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 시스템을 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 시스템의 모니터링 유닛을 설명하기 위한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 시스템의 적응적 부스팅 유닛을 설명하기 위한 블록도이다.
도 5는 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 방법 및 시스템의 일 동작례를 설명하기 위한 타이밍도이다.
도 6는 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 방법 및 시스템의 다른 동작례를 설명하기 위한 타이밍도이다.
도 7은 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 시스템을 설명하기 위한 블록도이다.
도 8은 본 발명의 일 실시예에 따른 반도체 장치의 HMP 코어를 설명하기 위한 블록도이다.
도 9는 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 시스템을 설명하기 위한 블록도이다.
도 10은 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 시스템의 적응적 부스팅 유닛을 설명하기 위한 블록도이다.
도 11은 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 방법 및 시스템의 일 동작례를 설명하기 위한 타이밍도이다.
도 12는 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 방법 및 시스템의 다른 동작례를 설명하기 위한 타이밍도이다.
도 1은 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 시스템을 설명하기 위한 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 반도체 장치(1)는 프로세서(10), 메모리(20), 터치 스크린(30), 전력 관리 유닛(Power Management Unit, PMU)(40) 및 클럭 관리 유닛(Clock Management Unit, CMU)(50)을 포함할 수 있다. 프로세서(10), 메모리(20), 터치 스크린(30), PMU(40) 및 CMU(50)는 버스(70)에 의해 전기적으로 연결되어 서로 데이터를 주고 받을 수 있다.
본 발명의 다양한 실시예에서 설명되는 성능 부스팅 기술은 하드웨어로 구현되거나, 소프트웨어로 구현되거나, 또는 하드웨어 및 소프트웨어로 구현될 수 있다. 상기 성능 부스팅 기술이 하드웨어로 구현되는 경우, 반도체 장치(1)는 전기 회로로 구현된 부스트 관리부(60)를 더 포함할 수 있다. 이와 다르게 상기 성능 부스팅 기술이 소프트웨어로 구현되는 경우, 반도체 장치(1)의 프로세서(10)는 메모리(20)에 로드된 성능 부스팅 소프트웨어를 실행시킬 수 있다. 본 명세서에서는 하드웨어 및/또는 소프트웨어로 구현되는 성능 부스팅 요소를 성능 부스팅 시스템이라고 표현하도록 한다.
반도체 장치(1)는 예컨대, 스마트 폰, 태블릿 컴퓨터, 노트북 컴퓨터를 비롯한 모바일 장치 또는 휴대용 장치일 수 있다. 그러나 본 발명의 범위는 이에 제한되지 않고, 데스크톱 컴퓨터, 서버 컴퓨터 등을 비롯한 다양한 컴퓨팅 장치에까지 미칠 수 있다.
프로세서(10)는 반도체 장치(1)의 다른 구성 요소들을 제어하고, 동작에 필요한 여러 가지 연산들을 처리한다. 프로세서(10)는 예컨대, CPU(Central Processing Unit), GPU(Graphic Processing Unit), AP(Application Processor) 및 CP(Communication Processor) 중 적어도 하나를 포함할 수 있으나, 본 발명의 범위가 이에 제한되는 것은 아니다.
메모리(20)는 성능 부스팅 소프트웨어를 저장하고, 프로세서(10)가 성능 부스팅 소프트웨어를 실행시킬 수 있도록 한다. 메모리(20)는 DRAM(Dynamic Random Access Memory)를 비롯한 휘발성 메모리를 포함하거나, 플래시 메모리를 비롯한 비휘발성 메모리를 포함할 수도 있다.
터치 스크린(30)은 사용자로부터 제스처 동작을 입력 받고, 해당 동작이 발생된 위치 정보나 해당 동작에 대한 속성 정보를 반도체 장치(1)에 제공한다. 터치 스크린(30)은 저항막 방식, 정전 용량 방식, 적외선 방식, 초음파 방식 등으로 구현될 수 있나, 본 발명의 범위가 이에 제한되는 것은 아니다.
PMU(40)는 반도체 장치(1)에 대한 전력을 관리한다. 구체적으로 PMU(40)는 반도체 장치(1)의 부팅 동작을 제어할 수도 있고, 반도체 장치(1)를 저 전력 모드 또는 슬립 모드로 동작시켜 소모 전력을 낮출 수도 있다.
CMU(50)는 반도체 장치(1)에 탑재된 요소들에 대해 제공되는 클럭 신호를 관리한다. 예를 들어, CMU(50)는 프로세서(10)와 같은 다른 요소들을 동작시키기 위한 클럭 신호를 생성하고, 상황에 따라 클럭 신호의 주파수를 변경하거나, 필요에 따라 클럭 게이팅을 수행하기도 한다.
본 실시예에서는 설명의 편의를 위해 반도체 장치(1)의 구성 요소로 프로세서(10), 메모리(20), 터치 스크린(30), PMU(40), CMU(50) 및 부스팅 관리부(60)만을 도시하였으나, 이것은 예시적인 구성일 뿐이며 본 발명의 범위는 이에 제한되지 않고 임의의 컴퓨팅 요소들을 포함할 수 있음은 해당 기술 분야의 통상의 기술자에게 자명하다.
도 2는 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 시스템을 설명하기 위한 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 시스템은 메모리(20) 상의 소프트웨어로 구현될 수 있다.
메모리(20)는 논리적으로 크게 커널(200), 플랫폼(210) 및 어플리케이션(220)이 탑재되는 영역들로 구분될 수 있다.
커널(200)은 플랫폼(210) 또는 어플리케이션(220)이 실행되기 위해 사용되는 시스템 자원들을 제어하고 관리한다. 예를 들어, 커널(200)은 사용자 입력 드라이버(202), 전력 관리 모듈(204) 및 후술할 주파수 제어부(206)를 통해 디스플레이에 장착된 터치 스크린(30), PMU(40) 및 CMU(50)과 같은 시스템 자원들을 제어 및 관리할 수 있다. 본 발명의 몇몇의 실시예에서, 커널(200)은 예컨대 리눅스 커널일 수 있으나, 본 발명의 범위는 이에 제한되지 않는다.
플랫폼(210)은 커널(200)을 근간으로 하여 어플리케이션(220)이 실행될 수 있는 동작 환경을 제공한다. 예를 들어, 플랫폼(210)은 커널(200)로부터 제공되는 사용자 입력 드라이버(202), 전력 관리 모듈(204) 및 후술할 주파수 제어부(206)를 활용하면서 어플리케이션(220)이 사용할 수 있는 다양한 기능들을 제공한다. 본 발명의 몇몇의 실시예에서, 플랫폼(210)은 예컨대 아파치 플랫폼일 수 있으나, 본 발명의 범위는 이에 제한되지 않는다.
어플리케이션(220)은 사용자로부터 요청을 수신하고, 플랫폼(210) 상에서 커널(200)을 통해 시스템 자원을 이용하여 상기 요청을 처리한 후, 그 결과를 사용자에게 제공할 수 있다.
본 실시예에서, 본 발명의 다양한 실시예에 따른 성능 부스팅 소프트웨어는 플랫폼(210)에 구현된 것으로 나타냈으나, 본 발명의 범위는 이에 제한되지 않고 어플리케이션(220) 또는 커널(200) 수준에서 구현이 될 수도 있다.
플랫폼(210)에 구현된 본 발명의 다양한 실시예에 따른 성능 부스팅 소프트웨어는 모니터링 유닛(212) 및 적응적 부스팅 유닛(214)을 포함한다.
모니터링 유닛(212)은 사용자의 입력 및 시스템 사용량을 모니터링하고, 적응적 부스팅 유닛(214)은 모니터링 유닛(212)이 파악한 사용자의 입력 및 시스템 사용량에 기초하여 적응적으로 성능 부스팅을 수행한다.
구체적으로, 모니터링 유닛(212)은, 예컨대 터치 스크린(30)을 통해 수신된 사용자의 입력과, PMU(40)로부터 제공 받은 시스템 사용량을 모니터링하고, 어떤 이벤트가 발생한 경우, 사용자의 입력에 대한 정보와 시스템 사용량을 포함하는 사용자 시스템 정보(80)를 생성한다.
여기서 이벤트는 터치 프레스 이벤트, 터치 릴리즈 이벤트, 어플리케이션 런치 이벤트 등을 포함할 수 있다.
적응적 부스팅 유닛(214)은 사용자 시스템(80) 정보에 기초하여 성능 부스팅 목표 값을 적응적으로 결정하고, 결정된 성능 부스팅 목표 값에 따라 예컨대 주파수 제어부(206)를 통해 CMU(50)를 제어하여 클럭 신호의 주파수를 조정함으로써 프로세서(10)의 동작 주파수를 부스트할 수 있다.
이제 도 3 및 도 4를 참조하며, 모니터링 유닛(212)과 적응적 부스팅 유닛(214)에 대해 상세히 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 시스템의 모니터링 유닛을 설명하기 위한 블록도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 모니터링 유닛(212)은 타임 스탬프 생성 모듈(2122), 제스처 모니터링 모듈(2124), 시스템 사용량 모니터링 모듈(2126) 및 사용자 시스템 정보 생성 모듈(2128)을 포함한다.
타임 스탬프 생성 모듈(2122)은 이벤트가 발생한 시간 정보에 해당하는 타임 스탬프 정보를 생성한다. 타임 스탬프 정보는 사용자 시스템 정보(80)에 포함되어, 적응적 부스팅 유닛(214)에 의해 추후 사용자의 입력에 대한 속도 또는 가속도를 연산하기 위해 사용될 수 있다.
제스처 모니터링 모듈(2124)은 터치 스크린(30)을 통해 입력된 제스처 입력을 모니터링한다. 제스처 모니터링 모듈(2124)은 제스처 입력으로부터 제스처가 발생한 위치를 나타내는 좌표 정보 및 제스처의 속성을 나타내는 프레스/릴리즈(press/release) 정보 등을 획득할 수 있다.
시스템 사용량 모니터링 모듈(2126)은 PMU(40)를 통해 제공받는 시스템 사용량을 모니터링한다. 예를 들어, 시스템 사용량 모니터링 모듈(2126)은 PMU(40)를 통해 실시간으로 시스템 사용량을 백분율(%)의 형태로 제공 받을 수 있다. 본 발명의 몇몇의 실시예에서, 시스템 사용량은 CPU 사용율(CPU ratio)를 포함할 수 있다.
사용자 시스템 정보 생성 모듈(2128)은 제스처 모니터링 모듈(2124)이 획득한 제스처의 좌표 정보 및 프레스/릴리즈 정보와, 시스템 사용량 모니터링 모듈(2126)이 PMU(40)로부터 제공 받은 시스템 사용량을 포함하는 사용자 시스템 정보(80)를 생성한다. 사용자 시스템 정보(80)는 타임 스탬프 생성 모듈(2122)에서 생성된 타임 스탬프 정보를 더 포함할 수 있다.
모니터링 유닛(212)은 이와 같이 생성된 사용자 시스템 정보(80)를 적응적 부스팅 유닛(214)에 전송한다.
도 4는 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 시스템의 적응적 부스팅 유닛을 설명하기 위한 블록도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 적응적 부스팅 유닛(214)은 제스처 부스팅 모듈(2142), 시스템 부스팅 모듈(2144) 및 부스팅 명령 생성 모듈(2146)을 포함한다. 그리고 적응적 부스팅 유닛(214)은 모니터링 유닛(212)으로부터 사용자 시스템 정보(80)를 수신한다.
제스처 부스팅 모듈(2142)은 사용자 시스템 정보(80)에 포함된 제스처에 관한 정보, 예컨대 제스처의 좌표 정보 및 프레스/릴리즈 정보를 이용하여 사용자의 입력에 대한 속도, 가속도 등을 연산하거나, 프레스/릴리즈 패턴을 인지한다.
시스템 부스팅 모듈(2144)은 사용자 시스템 정보(80)에 포함된 시스템 사용량을 이용하여, 시스템 사용량의 변화량을 연산하거나, 시스템 사용량의 변화 추이를 파악한다.
부스팅 명령 생성 모듈(2146)은 제스처 부스팅 모듈(2142)과 시스템 부스팅 모듈(2144)에 의해 연산된 정보들을 이용하여, 예컨대 CMU(50)를 제어하여 클럭 신호의 주파수를 조정함으로써 프로세서(10)의 동작 주파수를 부스트하기 위한 주파수 제어부(206)에 부스팅 명령을 제공한다.
본 발명의 몇몇의 실시예에서, 부스팅 명령 생성 모듈(2146)은 제스처 부스팅 모듈(2142)에 의해 제스처의 좌표 정보로부터 연산된 사용자의 입력에 대한 속도(이동 속도)와, 시스템 부스팅 모듈(2144)로부터 제공 받은 시스템 사용량에 기초하여 동작 주파수의 값을 결정할 수 있다.
예를 들어, 부스팅 명령 생성 모듈(2146)은 속도가 커지면 동작 주파수의 값을 상향 조정할 수 있다. 그 이유는 일반적으로 사용자 입력의 속도가 커진다는 것은 그 만큼 단위 시간 당 처리해야 할 작업이 많아짐을 의미할 수 있기 때문이다. 같은 이유로 부스팅 명령 생성 모듈(2146)은 속도가 작아지면 동작 주파수의 값을 하향 조정할 수 있다. 한편, 부스팅 명령 생성 모듈(2146)은 속도가 크더라도 시스템 사용량이 현저하게 적은 상황에서는 동작 주파수의 값을 증가시키지 않을 수도 있다.
한편, 본 발명의 다른 몇몇의 실시예에서, 부스팅 명령 생성 모듈(2146)은 제스처 부스팅 모듈(2142)에 의해 제스처의 좌표 정보로부터 연산된 사용자의 입력에 대한 가속도와, 시스템 부스팅 모듈(2144)로부터 제공 받은 시스템 사용량의 변화량에 기초하여 동작 주파수를 부스트하는 시간의 길이를 결정할 수 있다.
예를 들어, 부스팅 명령 생성 모듈(2146)은 가속도가 커지면 동작 주파수를 부스트하는 시간의 길이를 상향 조정할 수 있다. 그 이유는 일반적으로 사용자 입력의 가속도가 커진다는 것은 터치 릴리즈 이후 단위 시간 당 처리해야 할 작업이 많아짐을 의미할 수 있기 때문이다. 같은 이유로 부스팅 명령 생성 모듈(2146)은 가속도가 작아지면 동작 주파수를 부스트하는 시간의 길이를 하향 조정할 수 있다. 한편, 부스팅 명령 생성 모듈(2146)은 시스템 사용량의 변화량이 큰 경우, 이후의 시스템 상황이 일정하지 않고 다양하게 변화할 수 있다고 판단하여 이 현저하게 적은 상황에서는 동작 주파수를 부스트하는 시간의 길이를 증가시킬 수도 있다.
지금까지 설명한 바와 같은 모니터링 유닛(212) 및 적응정 부스팅 유닛(214)을 포함하는 성능 부스팅 시스템에 의해, 성능 부스팅을 사용자의 입력 패턴과 시스템 사용량에 따라 적응적으로 조절할 수 있게 된다. 따라서 반도체 장치(1)에 대한 최적의 성능 부스팅을 제공함과 동시에 전력이 낭비되는 것을 방지할 수 있다.
도 5는 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 방법 및 시스템의 일 동작례를 설명하기 위한 타이밍도이다.
도 5를 참조하면, 실선으로 표시된 것은 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 방법 및 시스템에 따라 부스팅된 동작 주파수이고, 일점 쇄선으로 표시된 것은 기존의 전력 관리 방식(예컨대 DVFS(dynamic voltage and frequency switching) 방식)에 의해 부스팅된 동작 주파수이다.
시점(t0)에서 터치 프레스 이벤트가 처음으로 발생한 경우, 단위 시간 당 처리해야 할 작업의 양은 급격히 많아질 것으로 예상되므로, (예컨대 프로세서(10)에 제공되는) 클럭 신호의 주파수는 시간 구간(T1) 동안 미리 설정된 동작 주파수(F1)로 증가한다.
이후 시점(t1)에서 터치 프레스 이벤트 발생 후 일정 시간이 경과한 경우, 단위 시간 당 처리해야 할 작업의 양은 다소 감소할 것이므로, 클럭 신호의 주파수는 주파수(F1)에서 주파수(F2) 감소하고 시간 구간(T2) 동안 지속된다.
이후 터치 릴리즈 이벤트가 발생할 것이 예상되는 시점(t6)이나, 터치 릴리즈 이벤트가 발생한 시점(t7)에서, 다시 단위 시간 당 처리해야 할 작업의 양은 급격히 많아질 것으로 예상되므로, 클럭 신호의 주파수는 다시 동작 주파수(F2)로 증가할 수 있다.
이와 같은 방식으로 성능 부스팅을 사용자의 입력 패턴과 시스템 사용량에 따라 적응적으로 조절할 수 있으며, 이에 따라 반도체 장치(1)에 대한 최적의 성능 부스팅을 제공함과 동시에 전력이 낭비되는 것을 방지할 수 있다.
도 6는 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 방법 및 시스템의 다른 동작례를 설명하기 위한 타이밍도이다.
도 6을 참조하면, 본 동작례는, 예를 들어 키보드를 사용하여 문서 작성을 하는 경우와 같이, 터치 프레스 이벤트와 터치 릴리즈 이벤트가 반복적으로 입력되는 경우를 나타낸 것이다.
본 실시예에서, 부스팅 명령 생성 모듈(2146)은 제스처 부스팅 모듈(2142)에 의해 프레스/릴리즈 정보로부터 도출된 프레스/릴리즈 패턴을 고려하여 동작 주파수의 값을 결정할 수 있다.
시점(t0, t1)에 터치 프레스 이벤트 및 터치 릴리즈 이벤트가 1차로 발생되었고, 시점(t3, t4)에 터치 프레스 이벤트 및 터치 릴리즈 이벤트가 2차로 발생되었다.
시점(t0, t1)의 경우는 단위 시간 당 처리해야 할 작업의 양은 급격히 많아질 것으로 예상되므로, 클럭 신호의 주파수는 시간 구간(T1) 동안 미리 설정된 동작 주파수(F1)로 증가한다.
이후 시점(t3, t4)의 경우는 2차로 1차와 동일한 동작이 입력된 경우로, 클럭 신호의 주파수는 시간 구간(T2) 동안 주파수(F1)보다는 낮은 동작 주파수(F2)로 증가한다.
이후 시점(t6, t7)에 터치 프레스 이벤트 및 터치 릴리즈 이벤트가 3차로 발생되었고, 시점(t9, t10)에 터치 프레스 이벤트 및 터치 릴리즈 이벤트가 4차로 발생되었다.
이제부터는 터치 프레스 이벤트와 터치 릴리즈 이벤트가 반복적으로 입력되는 특수한 상황이라는 점을 인식할 수 있고, 이와 같은 상황에서는 어플리케이션(220)(예컨대 키보드 어플리케이션)의 명령이나 데이터가 캐싱되어 단위 시간 당 처리해야 할 작업의 양이 시점(t0, t1) 또는 시점(t3, t4)의 경우 보다는 적을 것으로 예상되므로, 이에 따라 부스팅 정도를 완화하여, 클럭 신호의 주파수는 시간 구간(T3, T4) 동안 주파수(F1, F2)보다 낮은 동작 주파수(F3)로 증가한다.
이와 같은 방식으로 성능 부스팅을 사용자의 입력 패턴과 시스템 사용량에 따라 적응적으로 조절할 수 있으며, 이에 따라 반도체 장치(1)에 대한 최적의 성능 부스팅을 제공함과 동시에 전력이 낭비되는 것을 방지할 수 있다.
도 7은 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 시스템을 설명하기 위한 블록도이다.
도 7을 참조하면, 도 1의 실시예와 다른 점은, 본 발명의 일 실시예에 따른 반도체 장치(2)가 프로세서(10) 대신 HMP(Heterogeneous Multi-Processing) 코어(12)를 포함한다는 점이다. 이에 따라 반도체 장치(2)는 HMP 코어(12), 메모리(20), 터치 스크린(30), PMU(40) 및 CMU(50)를 포함할 수 있고, 이들은 버스(70)에 의해 전기적으로 연결되어 서로 데이터를 주고 받을 수 있다.
도 1에서 설명한 것과 마찬가지로, 성능 부스팅 기술이 하드웨어로 구현되는 경우, 반도체 장치(2)는 전기 회로로 구현된 부스트 관리부(60)를 더 포함할 수 있다. 이와 다르게 상기 성능 부스팅 기술이 소프트웨어로 구현되는 경우, 반도체 장치(2)의 HMP 코어(20)는 메모리(20)에 로드된 성능 부스팅 소프트웨어를 실행시킬 수 있다.
본 실시예에서는 설명의 편의를 위해 반도체 장치(2)의 구성 요소로 HMP 코어(20), 메모리(20), 터치 스크린(30), PMU(40), CMU(50) 및 부스팅 관리부(60)만을 도시하였으나, 이것은 예시적인 구성일 뿐이며 본 발명의 범위는 이에 제한되지 않고 임의의 컴퓨팅 요소들을 포함할 수 있음은 해당 기술 분야의 통상의 기술자에게 자명하다.
도 8은 본 발명의 일 실시예에 따른 반도체 장치의 HMP 코어를 설명하기 위한 블록도이다.
도 8을 참조하면, HMP 코어(20)는 복수의 빅 코어(BC1 내지 BC4)와, 복수의 스몰 코어(SC1 내지 SC4)를 포함할 수 있다. 본 발명의 몇몇의 실시예에서, HMP 코어(20)는 ARM 사의 빅리틀(big.LITTLE) 아키텍처일 수 있으나, 본 발명의 범위는 이에 제한되지 않는다.
복수의 빅 코어(BC1 내지 BC4)는 상대적으로 전력 소모가 많은 고 성능 코어이고, 복수의 스몰 코어(SC1 내지 SC4)는 상대적으로 전력 소모가 적은 저 성능 코어를 말한다. 일반적으로 두 종류의 코어들 중 한 쪽만이 활성화되어 작동하며, 코어들이 동일한 메모리 영역을 사용하므로 상황에 따라 작업이 복수의 빅 코어(BC1 내지 BC4)와 복수의 스몰 코어(SC1 내지 SC4) 사이에서 동적으로 할당된다. 이러한 구조의 목적은 멀티코어 환경에서 그때 그때 필요한 계산량에 따라 동적으로 코어를 할당함으로써 단순히 클럭을 조절하는 것보다 더 높은 수준의 전력소모 절감을 달성하는 것이다.
스케쥴러(208)는 이기종 간 다중 처리(heterogeneous multi-processing)를 지원하기 위해 전역 태스크 스케쥴링을 수행할 수 있다. 스케쥴러(208)는 커널(200) 수준에서 구현되는 것이 일반적이나, 본 발명의 범위가 이에 제한되는 것은 아니다.
도 9는 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 시스템을 설명하기 위한 블록도이다.
도 9를 참조하면, 모니터링 유닛(212)은 사용자의 입력 및 시스템 사용량을 모니터링하고, 적응적 부스팅 유닛(214)은 모니터링 유닛(212)이 파악한 사용자의 입력 및 시스템 사용량에 기초하여 적응적으로 성능 부스팅을 수행한다.
구체적으로, 모니터링 유닛(212)은, 예컨대 터치 스크린(30)을 통해 수신된 사용자의 입력과, PMU(40)로부터 제공 받은 시스템 사용량을 모니터링하고, 어떤 이벤트가 발생한 경우, 사용자의 입력에 대한 정보와 시스템 사용량을 포함하는 사용자 시스템 정보(80)를 생성한다.
여기서 이벤트는 터치 프레스 이벤트, 터치 릴리즈 이벤트, 어플리케이션 런치 이벤트 등을 포함할 수 있다.
적응적 부스팅 유닛(214)은 사용자 시스템(80) 정보에 기초하여 성능 부스팅 목표 값을 적응적으로 결정하고, 결정된 성능 부스팅 목표 값에 따라 예컨대 주파수 제어부(206)를 통해 CMU(50)를 제어하여 클럭 신호의 주파수를 조정함으로써 프로세서(10)의 동작 주파수를 부스트할 수 있다.
도 2의 실시예와 달리, 적응적 부스팅 유닛(214)은 결정된 성능 부스팅 목표 값에 따라 스케쥴러(208)를 제어하여 HMP 부스트를 추가적으로 설정할 수 있다. 즉, 단위 시간 당 처리해야 할 작업의 양이 많아질 것으로 예상되는 구간에서는 HMP 코어(12) 중 빅 코어(BC1 내지 BC4)를 활성화할 수 있다.
도 10은 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 시스템의 적응적 부스팅 유닛을 설명하기 위한 블록도이다.
도 10을 참조하면, 본 발명의 일 실시예에 따른 적응적 부스팅 유닛(214)은 제스처 부스팅 모듈(2142), 시스템 부스팅 모듈(2144) 및 부스팅 명령 생성 모듈(2146)을 포함한다. 그리고 적응적 부스팅 유닛(214)은 모니터링 유닛(212)으로부터 사용자 시스템 정보(80)를 수신한다.
부스팅 명령 생성 모듈(2146)은 제스처 부스팅 모듈(2142)과 시스템 부스팅 모듈(2144)에 의해 연산된 정보들을 이용하여, 예컨대 CMU(50)를 제어하여 클럭 신호의 주파수를 조정함으로써 프로세서(10)의 동작 주파수를 부스트하기 위한 주파수 제어부(206)에 부스팅 명령을 제공한다. 나아가 스케쥴러(208)에도 부스팅 명령을 제공하여 HMP 부스트를 추가적으로 설정할 수 있다.
본 발명의 몇몇의 실시예에서, 부스팅 명령 생성 모듈(2146)은 제스처 부스팅 모듈(2142)에 의해 제스처의 좌표 정보로부터 연산된 사용자의 입력에 대한 속도(이동 속도)와, 시스템 부스팅 모듈(2144)로부터 제공 받은 시스템 사용량에 기초하여 동작 주파수의 값을 결정할 수 있다.
한편, 본 발명의 다른 몇몇의 실시예에서, 부스팅 명령 생성 모듈(2146)은 제스처 부스팅 모듈(2142)에 의해 제스처의 좌표 정보로부터 연산된 사용자의 입력에 대한 가속도와, 시스템 부스팅 모듈(2144)로부터 제공 받은 시스템 사용량의 변화량에 기초하여 동작 주파수를 부스트하는 시간의 길이를 결정할 수 있다.
또한, 본 발명의 다른 몇몇의 실시예에서, 부스팅 명령 생성 모듈(2146)은 제스처 부스팅 모듈(2142)에 의해 제스처의 좌표 정보로부터 연산된 사용자의 입력에 대한 가속도와, 시스템 부스팅 모듈(2144)로부터 제공 받은 시스템 사용량의 변화량에 기초하여 HMP 부스트를 설정할 수 있다.
예를 들어, 부스팅 명령 생성 모듈(2146)은 가속도가 커지면 HMP 코어(12) 중 빅 코어(BC1 내지 BC4)를 활성화할 수 있다. 그 이유는 일반적으로 사용자 입력의 가속도가 커진다는 것은 터치 릴리즈 이후 단위 시간 당 처리해야 할 작업이 많아짐을 의미할 수 있기 때문이다. 같은 이유로 부스팅 명령 생성 모듈(2146)은 가속도가 작아지면 HMP 코어(12) 중 스몰 코어(SC1 내지 SC4)를 활성화할 수 있다. 한편, 부스팅 명령 생성 모듈(2146)은 시스템 사용량의 변화량이 큰 경우, 이후의 시스템 상황이 일정하지 않고 다양하게 변화할 수 있다고 판단하여 이 현저하게 적은 상황에서는 HMP 코어(12) 중 빅 코어(BC1 내지 BC4)를 활성화할 수도 있다.
지금까지 설명한 바와 같은 모니터링 유닛(212) 및 적응정 부스팅 유닛(214)을 포함하는 성능 부스팅 시스템에 의해, 성능 부스팅을 사용자의 입력 패턴과 시스템 사용량에 따라 적응적으로 조절할 수 있게 된다. 따라서 반도체 장치(1)에 대한 최적의 성능 부스팅을 제공함과 동시에 전력이 낭비되는 것을 방지할 수 있다.
도 11은 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 방법 및 시스템의 일 동작례를 설명하기 위한 타이밍도이다.
도 11을 참조하면, 실선으로 표시된 것은 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 방법 및 시스템에 따라 부스팅된 동작 주파수이고, 점선으로 표시된 것은 HMP 부스트가 설정되었는지 여부를 나타내는 것이고, 일점 쇄선으로 표시된 것은 기존의 전력 관리 방식(예컨대 DVFS 방식)에 의해 부스팅된 동작 주파수이다.
시점(t0)에서 터치 프레스 이벤트가 처음으로 발생한 경우, 단위 시간 당 처리해야 할 작업의 양은 급격히 많아질 것으로 예상되므로, (예컨대 프로세서(10)에 제공되는) 클럭 신호의 주파수는 시간 구간(T1) 동안 미리 설정된 동작 주파수(F1)로 증가한다.
이후 시점(t1)에서 터치 프레스 이벤트 발생 후 일정 시간이 경과한 경우, 단위 시간 당 처리해야 할 작업의 양은 다소 감소할 것이므로, 클럭 신호의 주파수는 주파수(F1)에서 주파수(F2) 감소하고 시간 구간(T2) 동안 지속된다.
이와 함께 시간 구간(T1, T2) 동안 HMP 코어(12) 중 빅 코어(BC1 내지 BC4)가 활성화되어 동작한다.
이후 터치 릴리즈 이벤트가 발생할 것이 예상되는 시점(t6)이나, 터치 릴리즈 이벤트가 발생한 시점(t7)에서, 다시 단위 시간 당 처리해야 할 작업의 양은 급격히 많아질 것으로 예상되므로, 클럭 신호의 주파수는 다시 동작 주파수(F2)로 증가할 수 있다.
이와 함께 터치 릴리즈 이벤트가 발생한 시점(t7)부터 시간 구간(T5) 동안 HMP 코어(12) 중 빅 코어(BC1 내지 BC4)가 활성화되어 동작할 수 있다.
이와 같은 방식으로 성능 부스팅을 사용자의 입력 패턴과 시스템 사용량에 따라 적응적으로 조절할 수 있으며, 이에 따라 반도체 장치(1)에 대한 최적의 성능 부스팅을 제공함과 동시에 전력이 낭비되는 것을 방지할 수 있다.
도 12는 본 발명의 일 실시예에 따른 반도체 장치의 성능 부스팅 방법 및 시스템의 다른 동작례를 설명하기 위한 타이밍도이다.
도 12를 참조하면, 본 동작례는, 예를 들어 키보드를 사용하여 문서 작성을 하는 경우와 같이, 터치 프레스 이벤트와 터치 릴리즈 이벤트가 반복적으로 입력되는 경우를 나타낸 것이다.
본 실시예에서, 부스팅 명령 생성 모듈(2146)은 제스처 부스팅 모듈(2142)에 의해 프레스/릴리즈 정보로부터 도출된 프레스/릴리즈 패턴을 고려하여 동작 주파수의 값을 결정할 수 있다.
시점(t0, t1)에 터치 프레스 이벤트 및 터치 릴리즈 이벤트가 1차로 발생되었고, 시점(t3, t4)에 터치 프레스 이벤트 및 터치 릴리즈 이벤트가 2차로 발생되었다.
시점(t0, t1)의 경우는 단위 시간 당 처리해야 할 작업의 양은 급격히 많아질 것으로 예상되므로, 클럭 신호의 주파수는 시간 구간(T1) 동안 미리 설정된 동작 주파수(F1)로 증가한다.
이와 함께 시간 구간(T1) 동안 HMP 코어(12) 중 빅 코어(BC1 내지 BC4)가 활성화되어 동작한다.
이후 시점(t3, t4)의 경우는 2차로 1차와 동일한 동작이 입력된 경우로, 클럭 신호의 주파수는 시간 구간(T2) 동안 주파수(F1)보다는 낮은 동작 주파수(F2)로 증가한다.
이와 함께 시간 구간(T2) 동안 HMP 코어(12) 중 빅 코어(BC1 내지 BC4)가 활성화되어 동작한다.
이후 시점(t6, t7)에 터치 프레스 이벤트 및 터치 릴리즈 이벤트가 3차로 발생되었고, 시점(t9, t10)에 터치 프레스 이벤트 및 터치 릴리즈 이벤트가 4차로 발생되었다.
이제부터는 터치 프레스 이벤트와 터치 릴리즈 이벤트가 반복적으로 입력되는 특수한 상황이라는 점을 인식할 수 있고, 이와 같은 상황에서는 어플리케이션(220)(예컨대 키보드 어플리케이션)의 명령이나 데이터가 캐싱되어 단위 시간 당 처리해야 할 작업의 양이 시점(t0, t1) 또는 시점(t3, t4)의 경우 보다는 적을 것으로 예상되므로, 이에 따라 부스팅 정도를 완화하여, 클럭 신호의 주파수는 시간 구간(T3, T4) 동안 주파수(F1, F2)보다 낮은 동작 주파수(F3)로 증가한다.
이와 함께 시간 구간(T3, T4) 동안에는 HMP 코어(12) 중 빅 코어(BC1 내지 BC4)가 활성화되지 않는다.
이와 같은 방식으로 성능 부스팅을 사용자의 입력 패턴과 시스템 사용량에 따라 적응적으로 조절할 수 있으며, 이에 따라 반도체 장치(1)에 대한 최적의 성능 부스팅을 제공함과 동시에 전력이 낭비되는 것을 방지할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
1, 2: 반도체 장치
10: 프로세서 12: HMP 코어
20: 메모리 30: 터치 스크린
40: PMU 50: CMU
60: 부스트 매니저 70: 버스
80: 사용자 시스템 정보 200: 커널
202: 사용자 입력 드라이버 204: 전력 관리 모듈
206: 주파수 제어부 210: 플랫폼
212: 모니터링 유닛 2122: 타임 스탬프 생성 모듈
2124: 제스처 모니터링 모듈 2126: 시스템 사용량 모니터링 모듈
2128: 사용자 시스템 정보 생성 모듈
214: 적응정 부스팅 유닛 2142: 제스처 부스팅 모듈
2144: 시스템 부스팅 모듈 2146: 부스팅 명령 생성 모듈
220: 어플리케이션

Claims (10)

  1. 사용자의 입력 및 시스템 사용량을 모니터링하고,
    이벤트가 발생한 경우, 상기 사용자의 입력에 대한 정보와 상기 시스템 사용량을 포함하는 사용자 시스템 정보를 생성하고,
    상기 사용자 시스템 정보에 기초하여 성능 부스팅 목표 값을 적응적으로(adaptively) 결정하고.
    상기 성능 부스팅 목표 값에 따라 동작 주파수를 부스트하는 것을 포함하는 반도체 장치의 성능 부스팅 방법.
  2. 제1항에 있어서,
    상기 사용자 시스템 정보는, 상기 사용자의 입력에 대한 정보로부터 획득한 좌표 정보 및 프레스/릴리즈(press/release) 정보와, 상기 시스템 사용량을 포함하는 반도체 장치의 성능 부스팅 방법.
  3. 제2항에 있어서,
    상기 성능 부스팅 목표 값을 적응적으로 결정하는 것은,
    상기 좌표 정보로부터 상기 사용자의 입력에 대한 속도를 연산하고,
    상기 속도 및 상기 시스템 사용량에 기초하여 상기 동작 주파수의 값을 결정하는 것을 포함하는 반도체 장치의 성능 부스팅 방법.
  4. 제2항에 있어서,
    상기 성능 부스팅 목표 값을 적응적으로 결정하는 것은,
    상기 좌표 정보로부터 상기 사용자의 입력에 대한 가속도를 연산하고,
    상기 시스템 사용량의 변화량을 연산하고,
    상기 가속도 정보 및 상기 시스템 사용량의 변화량에 기초하여 상기 동작 주파수를 부스트하는 시간의 길이를 결정하는 것을 포함하는 반도체 장치의 성능 부스팅 방법.
  5. 제2항에 있어서,
    상기 성능 부스팅 목표 값에 따라 HMP(Heterogeneous Multi-Processing) 부스트를 설정하는 것을 더 포함하는 반도체 장치의 성능 부스팅 방법.
  6. 사용자의 입력 및 시스템 사용량을 모니터링하고, 이벤트가 발생한 경우, 상기 사용자의 입력에 대한 정보와 상기 시스템 사용량을 포함하는 사용자 시스템 정보를 생성하는 모니터링 유닛; 및
    상기 사용자 시스템 정보에 기초하여 성능 부스팅 목표 값을 적응적으로(adaptively) 결정하고, 상기 성능 부스팅 목표 값에 따라 동작 주파수를 부스트하는 적응적 부스팅 유닛을 포함하는 반도체 장치의 성능 부스팅 시스템.
  7. 제6항에 있어서,
    상기 사용자 시스템 정보는, 상기 사용자의 입력에 대한 정보로부터 획득한 좌표 정보 및 프레스/릴리즈(press/release) 정보와, 상기 시스템 사용량을 포함하는 반도체 장치의 성능 부스팅 시스템.
  8. 제7항에 있어서,
    상기 적응적 부스팅 유닛은,
    상기 좌표 정보로부터 상기 사용자의 입력에 대한 속도를 연산하고,
    상기 속도 및 상기 시스템 사용량에 기초하여 상기 동작 주파수의 값을 결정하는 것을 포함하는 반도체 장치의 성능 부스팅 시스템.
  9. 제7항에 있어서,
    상기 적응적 부스팅 유닛은,
    상기 좌표 정보로부터 상기 사용자의 입력에 대한 가속도를 연산하고,
    상기 시스템 사용량의 변화량을 연산하고,
    상기 가속도 정보 및 상기 시스템 사용량의 변화량에 기초하여 상기 동작 주파수를 부스트하는 시간의 길이를 결정하는 반도체 장치의 성능 부스팅 시스템.
  10. 제7항에 있어서,
    상기 적응적 부스팅 유닛은,
    상기 성능 부스팅 목표 값에 따라 HMP(Heterogeneous Multi-Processing) 부스트를 설정하는 반도체 장치의 성능 부스팅 시스템.
KR1020160180998A 2016-12-28 2016-12-28 반도체 장치의 성능 부스팅 방법 및 시스템 KR20180076631A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160180998A KR20180076631A (ko) 2016-12-28 2016-12-28 반도체 장치의 성능 부스팅 방법 및 시스템
US15/652,588 US10539995B2 (en) 2016-12-28 2017-07-18 Performance boosting method and system of semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160180998A KR20180076631A (ko) 2016-12-28 2016-12-28 반도체 장치의 성능 부스팅 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20180076631A true KR20180076631A (ko) 2018-07-06

Family

ID=62630588

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160180998A KR20180076631A (ko) 2016-12-28 2016-12-28 반도체 장치의 성능 부스팅 방법 및 시스템

Country Status (2)

Country Link
US (1) US10539995B2 (ko)
KR (1) KR20180076631A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11467642B2 (en) 2018-12-11 2022-10-11 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020082757A1 (en) * 2018-10-26 2020-04-30 Huawei Technologies Co., Ltd. Energy efficiency adjustments for cpu governor
KR102692869B1 (ko) * 2019-08-05 2024-08-08 삼성전자주식회사 프로세서의 주파수를 제어하는 전자 장치와 이의 동작 방법
KR20210022850A (ko) * 2019-08-21 2021-03-04 삼성전자주식회사 반도체 장치의 성능 부스팅 제어 방법 및 이를 수행하는 반도체 장치

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2444218A (en) 1941-08-11 1948-06-29 Zenith Radio Corp Frequency-modulated radio-phonograph combination
US3899713A (en) 1972-01-06 1975-08-12 Hall Barkan Instr Inc Touch lamp, latching AC solid state touch switch usable with such lamp, and circuits for the same
US5027391A (en) 1989-08-17 1991-06-25 Call Management Products, Inc. Call management system
US8487653B2 (en) 2006-08-05 2013-07-16 Tang System SDOC with FPHA and FPXC: system design on chip with field programmable hybrid array of FPAA, FPGA, FPLA, FPMA, FPRA, FPTA and frequency programmable xtaless clockchip with trimless/trimfree self-adaptive bandgap reference xtaless clockchip
US8527796B2 (en) 2009-08-24 2013-09-03 Intel Corporation Providing adaptive frequency control for a processor using utilization information
US8510582B2 (en) 2010-07-21 2013-08-13 Advanced Micro Devices, Inc. Managing current and power in a computing system
TW201222346A (en) * 2010-11-22 2012-06-01 Chunghwa Picture Tubes Ltd Touch controlled system capable of refreshing an operating frequency of a processor and method thereof
US8862918B2 (en) 2011-07-01 2014-10-14 Intel Corporation Efficient frequency boost operation
US9526091B2 (en) 2012-03-16 2016-12-20 Intel Corporation Method and apparatus for coordination of self-optimization functions in a wireless network
GB201208852D0 (en) 2012-05-18 2012-07-04 Hiwave Technologies Uk Ltd Vibratory panel devices and methods for controlling vibratory panel devices
WO2014166518A1 (en) * 2013-04-08 2014-10-16 Rohde & Schwarz Gmbh & Co. Kg Multitouch gestures for a measurement system
KR102276911B1 (ko) 2015-01-14 2021-07-13 삼성전자주식회사 터치 컨트롤러, 터치 센싱 장치 및 터치 센싱 방법
KR102303217B1 (ko) 2015-02-03 2021-09-17 삼성전자주식회사 터치 스크린을 제어하는 방법과 이를 지원하는 전자 장치
KR102322030B1 (ko) 2015-02-13 2021-11-04 삼성전자주식회사 사용자의 사용 패턴에 기초하여 배터리 소모를 줄이는 방법 및 이를 위한 장치
KR102375925B1 (ko) * 2015-08-31 2022-03-17 삼성전자주식회사 Cpu의 작동 방법과 상기 cpu를 포함하는 시스템의 작동 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11467642B2 (en) 2018-12-11 2022-10-11 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof

Also Published As

Publication number Publication date
US10539995B2 (en) 2020-01-21
US20180181188A1 (en) 2018-06-28

Similar Documents

Publication Publication Date Title
EP3137965B1 (en) Cpu/gpu dcvs co-optimization for reducing power consumption in graphics frame processing
JP5734505B2 (ja) ポータブルコンピューティングデバイスのマルチコアプロセッサにおける複数のコアへの電力を動的に制御するための方法およびシステム
US20160320998A1 (en) Control device, control method, computer program product, and electronic device
US10444819B2 (en) Techniques to control computational resources for an electronic device
KR20180076631A (ko) 반도체 장치의 성능 부스팅 방법 및 시스템
JP5982588B2 (ja) 保証された過渡期限とともに中央処理装置の電力を制御するためのシステムおよび方法
US10359833B2 (en) Active-core-based performance boost
CN105940375B (zh) 针对多操作系统设备的动态再分配
US20170212581A1 (en) Systems and methods for providing power efficiency via memory latency control
EP2972826B1 (en) Multi-core binary translation task processing
US8788851B2 (en) Electric device power control optimized to device operational load state
WO2014092889A1 (en) System and methods for dimm-targeted power saving for hypervisor systems
US10275007B2 (en) Performance management for a multiple-CPU platform
US9781679B2 (en) Electronic systems and method of operating electronic systems
US20160071480A1 (en) Low-power operation method and associated electronic device
KR20140026308A (ko) 멀티 코어 시스템의 전력 관리 장치 및 방법
WO2015176422A1 (zh) 一种基于安卓系统的应用管理方法及其装置
CN107357654B (zh) 一种cpu超频工作状态控制方法及装置
JP5930504B2 (ja) 保証された過渡期限とともに中央処理装置の電力を制御するためのシステムおよび方法
WO2020133408A1 (zh) 应用程序的优先级调整方法、装置、存储介质及电子设备
CN108958829B (zh) 预加载的资源控制方法、装置、存储介质及终端
CN106020404A (zh) 电源管理方法及电源供应系统
CN113625859A (zh) 智能预测处理器空闲时间的装置及方法
US11442522B2 (en) Method of controlling performance boosting of semiconductor device based on at least user input and feedback from previous boosting policies and semiconductor device performing the method
US20230342200A1 (en) System and method for resource management in dynamic systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal