KR20190048204A - 시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템 - Google Patents

시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템 Download PDF

Info

Publication number
KR20190048204A
KR20190048204A KR1020170142872A KR20170142872A KR20190048204A KR 20190048204 A KR20190048204 A KR 20190048204A KR 1020170142872 A KR1020170142872 A KR 1020170142872A KR 20170142872 A KR20170142872 A KR 20170142872A KR 20190048204 A KR20190048204 A KR 20190048204A
Authority
KR
South Korea
Prior art keywords
power consumption
processor cores
operating frequency
chip
warning signal
Prior art date
Application number
KR1020170142872A
Other languages
English (en)
Other versions
KR102539044B1 (ko
Inventor
한동희
이대영
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020170142872A priority Critical patent/KR102539044B1/ko
Priority to US16/033,830 priority patent/US11126246B2/en
Priority to CN201811268092.6A priority patent/CN110045810A/zh
Publication of KR20190048204A publication Critical patent/KR20190048204A/ko
Priority to US17/461,022 priority patent/US11803225B2/en
Application granted granted Critical
Publication of KR102539044B1 publication Critical patent/KR102539044B1/ko
Priority to US18/482,613 priority patent/US20240036628A1/en

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/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
    • 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/3243Power saving in microcontroller unit
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/18Status alarms
    • G08B21/182Level alarms, e.g. alarms responsive to variables exceeding a threshold
    • 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/126
    • Y02D10/152

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Power Sources (AREA)

Abstract

복수의 프로세서 코어들을 포함하는 시스템 온 칩의 구동 방법에서, 미리 결정된 시스템 온 칩의 허용 전력 소모량 및 복수의 프로세서 코어들의 동작 상태에 기초하여, 복수의 프로세서 코어들의 동작 주파수를 최대 동작 주파수 내에서 제1 동작 주파수로 설정한다. 제1 동작 주파수에 기초하여 복수의 프로세서 코어들 중 적어도 하나가 적어도 하나의 작업을 수행한다. 시스템 온 칩의 현재 전력 소모량이 허용 전력 소모량을 초과하는 경우에, 경고 신호를 활성화한다. 경고 신호가 활성화된 직후에, 현재 전력 소모량을 감소시키기 위한 제1 제어 작업을 수행한다.

Description

시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템{METHOD OF OPERATING SYSTEM ON CHIP, SYSTEM ON CHIP PERFORMING THE SAME AND ELECTRONIC SYSTEM INCLUDING THE SAME}
본 발명은 전력 관리 분야에 관한 것으로서, 더욱 상세하게는 전력 관리를 위한 시스템 온 칩의 구동 방법, 상기 구동 방법을 수행하는 시스템 온 칩 및 상기 시스템 온 칩을 포함하는 전자 시스템에 관한 것이다.
시스템 온 칩(system on chip; SOC)은 컴퓨팅 시스템 또는 다른 전자 시스템을 구현하기 위해 CPU(central processing unit), 메모리, 인터페이스(interface), 디지털 신호 처리 회로, 및 아날로그 신호 처리 회로 등 다양한 기능 블록들을 하나의 반도체 집적 회로에 집적하는 기술 또는 상기 기술에 따라 집적된 하나의 집적 회로(integrated circuit; IC)를 나타낸다. 최근에는 컴퓨팅 시스템 또는 전자 시스템의 성능이 향상됨에 따라, 복수 개의 프로세서 코어들을 포함하는 시스템 온 칩이 개발되고 있으며, 시스템 온 칩에 포함되는 복수 개의 프로세서 코어들의 전력 관리 및 성능을 최적화시킬 수 있는 다양한 방식들이 연구되고 있다.
본 발명의 일 목적은 허용된 전력 소모량 이내에서 성능을 최적화시킬 수 있는 시스템 온 칩의 구동 방법을 제공하는 것이다.
본 발명의 다른 목적은 상기 시스템 온 칩의 구동 방법을 수행하는 시스템 온 칩을 제공하는 것이다.
본 발명의 또 다른 목적은 상기 시스템 온 칩을 포함하는 전자 시스템을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 복수의 프로세서 코어(processor core)들을 포함하는 시스템 온 칩의 구동 방법에서, 미리 결정된 상기 시스템 온 칩의 허용 전력 소모량 및 상기 복수의 프로세서 코어들의 동작 상태에 기초하여, 상기 복수의 프로세서 코어들의 동작 주파수를 최대 동작 주파수 내에서 제1 동작 주파수로 설정한다. 상기 제1 동작 주파수에 기초하여 상기 복수의 프로세서 코어들 중 적어도 하나가 적어도 하나의 작업을 수행한다. 상기 시스템 온 칩의 현재 전력 소모량이 상기 허용 전력 소모량을 초과하는 경우에, 경고 신호를 활성화한다. 상기 경고 신호가 활성화된 직후에, 상기 현재 전력 소모량을 감소시키기 위한 제1 제어 작업을 수행한다.
상기 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 시스템 온 칩은 DVFS(dynamic voltage & frequency scaling) 컨트롤러, 프로세싱 장치 및 제어 로직을 포함한다. 상기 DVFS 컨트롤러는 미리 결정된 허용 전력 소모량 및 복수의 프로세서 코어들의 동작 상태에 기초하여, 상기 복수의 프로세서 코어들의 동작 주파수를 최대 동작 주파수 내에서 제1 동작 주파수로 설정한다. 상기 프로세싱 장치는 상기 복수의 프로세서 코어들을 포함하고, 상기 제1 동작 주파수에 기초하여 적어도 하나의 작업을 수행한다. 상기 제어 로직은 현재 전력 소모량이 상기 허용 전력 소모량을 초과하는 경우에 활성화되는 경고 신호를 수신하며, 상기 경고 신호가 활성화된 직후에 상기 현재 전력 소모량을 감소시키기 위한 제1 제어 작업을 수행한다.
상기 또 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 전자 시스템은 시스템 온 칩 및 전력 관리 집적 회로(power management integrated circuit; PMIC)를 포함한다. 상기 전력 관리 집적 회로는 상기 시스템 온 칩에 공급되는 전원 신호 및 경고 신호를 발생한다. 상기 시스템 온 칩은 DVFS(dynamic voltage & frequency scaling) 컨트롤러, 프로세싱 장치 및 제어 로직을 포함한다. 상기 DVFS 컨트롤러는 미리 결정된 상기 시스템 온 칩의 허용 전력 소모량 및 복수의 프로세서 코어들의 동작 상태에 기초하여, 상기 복수의 프로세서 코어들의 동작 주파수를 최대 동작 주파수 내에서 제1 동작 주파수로 설정한다. 상기 프로세싱 장치는 상기 복수의 프로세서 코어들을 포함하고, 상기 제1 동작 주파수에 기초하여 적어도 하나의 작업을 수행한다. 상기 제어 로직은 상기 시스템 온 칩의 현재 전력 소모량이 상기 허용 전력 소모량을 초과하는 경우에 활성화되는 상기 경고 신호를 수신하며, 상기 경고 신호가 활성화된 직후에 상기 현재 전력 소모량을 감소시키기 위한 제1 제어 작업을 수행한다.
상기와 같은 본 발명의 실시예들에 따른 시스템 온 칩의 구동 방법 및 이를 수행하는 시스템 온 칩에서는, 허용 전력 소모량의 범위 내에서 설정 가능한 가장 높은 동작 주파수까지 사용할 수 있도록, 프로세서 코어들의 동작 주파수를 결정할 수 있다. 또한, 시스템 온 칩에서 소모하는 전력량이 허용 전력 소모량에 다다를 경우에, 전원 신호를 공급해주는 전력 관리 집적 회로에서 경고 신호를 받아 동작 주파수를 낮춤으로써, 전력 소모량을 허용 전력 소모량 이하로 유지할 수 있다. 따라서, 시스템 온 칩은 미리 결정된 전력 소모량 이내에서 가장 높은 동작 주파수를 유지할 수 있게 되고, 결과적으로 시스템 온 칩 및 이를 포함하는 전자 시스템의 성능을 극대화/최적화시킬 수 있다.
도 1은 본 발명의 실시예들에 따른 시스템 온 칩의 구동 방법을 나타내는 순서도이다.
도 2는 본 발명의 실시예들에 따른 시스템 온 칩을 포함하는 전자 시스템을 나타내는 블록도이다.
도 3a, 3b, 4a 및 4b는 본 발명의 실시예들에 따른 시스템 온 칩의 구동 방법에서 최대 동작 주파수를 설정하는데 이용되는 복수의 프로세서 코어들의 동작 상태를 설명하기 위한 도면들이다.
도 5는 도 1의 시스템 온 칩의 구동 방법을 설명하기 위한 타이밍도이다.
도 6은 본 발명의 실시예들에 따른 시스템 온 칩의 구동 방법을 나타내는 순서도이다.
도 7은 본 발명의 실시예들에 따른 시스템 온 칩을 포함하는 전자 시스템을 나타내는 블록도이다.
도 8은 도 6의 시스템 온 칩의 구동 방법을 설명하기 위한 타이밍도이다.
도 9 및 10은 본 발명의 실시예들에 따른 시스템 온 칩의 구동 방법을 나타내는 순서도들이다.
도 11 및 12는 도 9 및 10의 시스템 온 칩의 구동 방법을 설명하기 위한 타이밍도들이다.
도 13 및 14는 본 발명의 실시예들에 따른 시스템 온 칩을 포함하는 전자 시스템을 나타내는 블록도들이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 시스템 온 칩의 구동 방법을 나타내는 순서도이다.
도 1을 참조하면, 본 발명의 실시예들에 따른 시스템 온 칩의 구동 방법에서, 상기 시스템 온 칩(system on chip; SOC)은 복수의 프로세서 코어(processor core)들을 포함하여 구현된다. 상기 시스템 온 칩의 허용 전력 소모량 및 상기 복수의 프로세서 코어들의 동작 상태에 기초하여, 상기 복수의 프로세서 코어들의 동작 주파수를 최대 동작 주파수 내에서 제1 동작 주파수로 설정한다(단계 S100).
상기 허용 전력 소모량은 상기 시스템 온 칩이 정상적으로 동작할 수 있는 범위 내에서 수용 가능한 최대한의 전력 소모량을 나타내며, 상기 시스템 온 칩의 설계 또는 제조 과정에서 결정될 수 있다. 상기 복수의 프로세서 코어들의 동작 상태는 상기 복수의 프로세서 코어들 중 실제로 동작하는 프로세서 코어의 개수, 상기 실제로 동작하는 프로세서 코어가 수행하는 작업에 대한 워크로드(workload) 등을 포함할 수 있으며, 도 3a, 3b, 4a 및 4b를 참조하여 상세하게 후술하도록 한다. 상기 제1 동작 주파수는 상기 최대 동작 주파수보다 작거나 같으며, 각 프로세서 코어가 정상적으로 동작할 수 있는 범위 내에서 상기 허용 전력 소모량 및 상기 복수의 프로세서 코어들의 현재 동작 상태를 고려하여 설정된 최적의 성능을 위한 주파수를 나타낼 수 있다.
상기 제1 동작 주파수에 기초하여 상기 복수의 프로세서 코어들 중 적어도 하나가 적어도 하나의 작업을 수행하며(단계 S200), 상기 적어도 하나의 작업을 수행하는 도중에 상기 시스템 온 칩의 현재 전력 소모량이 상기 허용 전력 소모량을 초과하는지 여부를 판단한다(단계 S310).
상기 현재 전력 소모량이 상기 허용 전력 소모량을 초과하지 않는 경우에(단계 S310: 아니오), 즉 상기 현재 전력 소모량이 상기 허용 전력 소모량보다 작거나 같은 경우에, 상기 복수의 프로세서 코어들 중 적어도 하나가 상기 제1 동작 주파수에 기초하여 상기 적어도 하나의 작업을 계속 수행한다(단계 S200).
상기 현재 전력 소모량이 상기 허용 전력 소모량을 초과하는 경우에(단계 S310: 예), 경고 신호를 활성화한다(단계 S320). 예를 들어, 상기 경고 신호는 상기 시스템 온 칩의 외부에 배치되는 전력 관리 집적 회로(power management integrated circuit; PMIC)로부터 제공될 수 있다.
상기 현재 전력 소모량이 상기 허용 전력 소모량을 초과하는 경우에, 상기 시스템 온 칩에 기준 전류 이상의 과전류가 흘러서 상기 시스템 온 칩이 손상되거나, 상기 시스템 온 칩에서 발생되는 열에 의해 상기 시스템 온 칩을 포함하는 컴퓨팅 시스템 또는 전자 시스템의 온도가 기준 온도 이상으로 올라가는 등, 상기 시스템 온 칩 및/또는 상기 시스템 온 칩을 포함하는 상기 컴퓨팅 시스템 또는 상기 전자 시스템이 정상적으로 동작하지 못할 수 있다. 따라서, 상술한 과전류 및/또는 고온과 같은 비정상 상태를 상기 시스템 온 칩에 알려주기 위해, 상기 경고 신호를 활성화하여 상기 시스템 온 칩에 제공할 수 있다.
상기 경고 신호가 활성화된 직후에, 상기 현재 전력 소모량을 감소시키기 위한 제1 제어 작업을 수행한다(단계 S400). 예를 들어, 상기 제1 제어 작업은 상기 현재 전력 소모량을 상대적으로 긴급하고 빠르게, 그리고 급격하게 감소시킬 수 있는 작업일 수 있으며, 도 5를 참조하여 상세하게 후술하도록 한다.
도 2는 본 발명의 실시예들에 따른 시스템 온 칩을 포함하는 전자 시스템을 나타내는 블록도이다.
도 2를 참조하면, 전자 시스템(10)은 시스템 온 칩(100), 전력 관리 집적 회로(200) 및 메모리 장치(300)를 포함한다.
일 실시예에서, 전자 시스템(10)은 휴대폰(mobile phone), 스마트 폰(smart phone), 태블릿(tablet) PC(personal computer), 개인 정보 단말기(personal digital assistant; PDA), 산업용 정보 단말기(enterprise digital assistant; EDA), 휴대형 멀티미디어 플레이어(portable multimedia player; PMP), 디지털 카메라(digital camera), 음악 재생기(music player), 휴대용 게임 콘솔(portable game console), 네비게이션(navigation) 기기, 웨어러블(wearable) 기기, 사물 인터넷(internet of things; IoT) 기기, 만물 인터넷(internet of everything: IoE) 기기, e-북(e-book), 가상 현실(virtual reality; VR) 기기, 증강 현실(augmented reality; AR) 기기 등과 같은 다양한 컴퓨팅 장치 또는 모바일 장치로 구현될 수 있다.
시스템 온 칩(100)은 도 1을 참조하여 상술한 본 발명의 실시예들에 따른 구동 방법을 수행한다. 시스템 온 칩(100)은 프로세싱 장치(processing unit; PU)(110), DVFS(dynamic voltage & frequency scaling) 컨트롤러(DVFS CONT)(120) 및 제어 로직(130)을 포함한다. 시스템 온 칩(100)은 내부 버스(bus)(101), 클럭 관리 장치(clock management unit; CMU)(140), 전력 관리 장치(power management unit; PMU)(150), 메모리 인터페이스(memory interface, MIF)(160) 및 입출력(input/output, I/O) 인터페이스(I/O IF)(170)를 더 포함할 수 있다.
일 실시예에서, 시스템 온 칩(100)은 어플리케이션 프로세서(application processor; AP) 또는 모바일 AP로 구현될 수 있다.
프로세싱 장치(110)는 특정 계산들 또는 태스크들과 같은 다양한 기능들을 실행하며, 시스템 온 칩(100)의 전반적인 동작을 제어한다. 예를 들어, 프로세싱 장치(110)는 DVFS 컨트롤러(120), 메모리 인터페이스(160) 및 입출력 인터페이스(170)를 제어할 수 있고, 그 밖에 시스템 온 칩(100)에 포함되는 구성요소들을 제어할 수 있다. 프로세싱 장치(110)는 제1 클럭 신호(CLK) 및 제1 전원 신호(PWR)에 기초하여 동작할 수 있다.
프로세싱 장치(110)는 복수의 프로세서 코어들(CORE1, CORE2, CORE3, CORE4)(112, 114, 116, 118)을 포함한다. 다시 말하면, 프로세싱 장치(110)는 멀티 코어(multi-core) 프로세싱 장치일 수 있다. 프로세싱 장치(110)는 복수의 프로세서 코어들(112, 114, 116, 118) 중 적어도 하나를 구동하여 상술한 계산들, 태스크들 및 제어 동작들을 포함하는 다양한 작업들을 수행할 수 있다.
일 실시예에서, 프로세싱 장치(110)는 CPU(central processing unit) 또는 GPU(graphic processing unit)일 수 있다. 다른 실시예에서, 프로세싱 장치(110)는 ISP(image signal processor), DSP(digital signal processor), 디스플레이 프로세서(display processor), 통신 프로세서(communication processor), 멀티미디어 프로세서(multimedia processor) 등과 같은 임의의 프로세싱 장치일 수 있다.
DVFS 컨트롤러(120)는 제1 클럭 신호(CLK) 및 제1 전원 신호(PWR)를 제어할 수 있다. 예를 들어, 시스템 온 칩(100)의 전력 관리를 위해 DVFS 기술이 적용될 수 있으며, DVFS 컨트롤러(120)는 상기 DVFS 기술에 기초하여 제1 클럭 신호(CLK)의 주파수 및/또는 제1 전원 신호(PWR)의 전압 레벨을 제어할 수 있다. DVFS 기술은 동작 주파수(operating frequency) 및 동작 전압(operating voltage)을 동적으로 조절함으로써, 시스템 온 칩(100)의 전력 소모를 감소시킬 수 있는 기술을 나타낸다.
도시하지는 않았지만, 프로세싱 장치(110)는 성능 파라미터들(performance parameters)을 측정(measure)하는 성능 모니터링 장치(performance monitoring unit)를 포함할 수 있다. 예를 들어, 상기 성능 파라미터들은 명령 사이클들(instruction cycles), 워크로드들(workloads), 캐시 히트들(cache hits), 캐시 미스들(cache misses), 브랜치 미스들(branch misses) 등을 포함할 수 있다. 프로세싱 장치(110)는 상기 성능 모니터링 장치의 동작에 따라 인터럽트(interrupt)를 발생할 수 있으며, DVFS 컨트롤러(120)는 프로세싱 장치(110)로부터 제공되는 상기 인터럽트에 기초하여 제1 클럭 신호(CLK)를 제어하기 위한 제1 클럭 제어 신호(CTRC) 및 제1 전원 신호(PWR)를 제어하기 위한 제1 전원 제어 신호(CTRP)를 발생할 수 있다.
제어 로직(130)은 전력 관리 집적 회로(200)로부터 경고 신호(WS)를 수신한다. 도 1을 참조하여 상술한 것처럼, 경고 신호(WS)는 시스템 온 칩(100)의 현재 전력 소모량이 허용 전력 소모량을 초과하는 경우에 활성화되며, 제어 로직(130)은 경고 신호(WS)가 활성화된 직후에 상기 현재 전력 소모량을 긴급하게 감소시키기 위한 제1 제어 작업을 수행하도록 제1 제어 신호(CS1)를 발생할 수 있다.
클럭 관리 장치(140)는 제1 클럭 제어 신호(CTRC)에 기초하여 프로세싱 장치(110)를 위한 제1 클럭 신호(CLK)를 발생할 수 있다. 예를 들어, 클럭 관리 장치(140)는 제1 클럭 제어 신호(CTRC)에 기초하여 제1 클럭 신호(CLK)의 주파수를 증가, 유지 또는 감소시킬 수 있다. 또한, 제1 제어 신호(CS1)에 기초하여 제1 클럭 신호(CLK)의 주파수가 긴급하게 변경될 수도 있다.
전력 관리 장치(150)는 시스템 온 칩(100)의 현재 전력 소모량을 모니터링할 수 있고, 시스템 온 칩(100)의 허용 전력 소모량을 저장할 수 있으며, 상기 현재 전력 소모량과 상기 허용 전력 소모량을 비교할 수 있다. 전력 관리 장치(150)는 제1 전원 제어 신호(CTRP) 및/또는 상기 비교 결과에 기초하여 전력 관리 집적 회로(200)를 제어하기 위한 전력 관리 제어 신호(CTRPM)를 발생할 수 있다.
메모리 인터페이스(160)는 시스템 온 칩(100)과 메모리 장치(300) 사이에서 주고받는 데이터의 전송을 제어(또는 인터페이스)할 수 있다. 예를 들어, 도시하지는 않았지만, 메모리 인터페이스(160)는 제1 클럭 신호(CLK) 및 제1 전원 신호(PWR)와 다른 제2 클럭 신호 및 제2 전원 신호에 기초하여, 그리고 프로세싱 장치(110)의 제어에 따라 메모리 장치(300)에 대한 기입 동작 또는 독출 동작을 제어할 수 있다. 상기 제2 클럭 신호 및 상기 제2 전원 신호는 클럭 관리 장치(140) 및 전력 관리 집적 회로(200)로부터 각각 공급될 수 있다. 예를 들어, 프로세싱 장치(110)는 마스터(master) 장치로서 동작할 수 있고, 메모리 인터페이스(160)는 슬레이브(slave) 장치로서 동작할 수 있다.
메모리 장치(300)는 시스템 온 칩(100)의 외부에 배치되며, 메모리 인터페이스(160)를 통해 시스템 온 칩(100)과 데이터를 주고받을 수 있다. 실시예에 따라서, 메모리 장치(300)는 DRAM(dynamic random access memory), SDRAM(synchronous DRAM), SRAM(static random access memory) 등과 같은 휘발성 메모리, 및 플래시 메모리(flash memory), PRAM(phase change random access memory), RRAM(resistance random access memory), NFGM(nano floating gate memory), PoRAM(polymer random access memory), MRAM(magnetic random access memory), FRAM(ferroelectric random access memory) 등과 같은 비휘발성 메모리 중 적어도 하나를 포함할 수 있다. 또한, 실시예에 따라서, 메모리 장치(300)는 SSD(solid state drive 또는 solid state disk), eSSD(embedded SSD), MMC(multimedia card), eMMC(embedded MMC), UFS(universal flash storage) 등으로 구현될 수도 있다.
입출력 인터페이스(170)는 시스템 온 칩(100)과 외부 시스템 사이에서 주고받는 데이터의 전송을 제어(또는 인터페이스)할 수 있다. 예를 들어, 도시하지는 않았지만, 입출력 인터페이스(170)는 제1 클럭 신호(CLK) 및 제1 전원 신호(PWR)와 다른 제3 클럭 신호 및 제3 전원 신호에 기초하여, 그리고 프로세싱 장치(110)의 제어에 따라 데이터의 입출력 동작을 제어할 수 있다. 상기 제3 클럭 신호 및 상기 제3 전원 신호는 클럭 관리 장치(140) 및 전력 관리 집적 회로(200)로부터 각각 공급될 수 있다. 예를 들어, 프로세싱 장치(110)는 마스터 장치로서 동작할 수 있고, 입출력 인터페이스(170)는 슬레이브 장치로서 동작할 수 있다.
일 실시예에서, 입출력 인터페이스(170)는 SATA(Serial Advanced Technology Attachment), SATAe(SATA express), SAS(serial attached small computer system interface(SCSI)), PCIe(peripheral component interconnect express) 또는 MIPI(Mobile Industry Processor Interface)를 지원할 수 있는 인터페이스로 구현될 수 있다.
프로세싱 장치(110)와 메모리 인터페이스(160) 및/또는 입출력 인터페이스(170)는 버스(101)를 통해 신호 및/또는 데이터를 주고 받을 수 있다. 일 실시예에서, 버스(101)는 AMBA(Advanced Microcontroller Bus Architecture), AHB(Advanced High-performance Bus), APB(Advanced Peripheral Bus), AXI(Advanced eXtensible Interface), ASB(Advanced System Bus) 또는 이들의 결합으로 구현될 수 있다.
전력 관리 집적 회로(200)는 시스템 온 칩(100)의 외부에 배치되며, 전력 관리 제어 신호(CTRPM)에 기초하여 프로세싱 장치(110)를 위한 제1 전원 신호(PWR)를 발생할 수 있다. 예를 들어, 전력 관리 집적 회로(200)는 전력 관리 제어 신호(CTRPM)에 기초하여 제1 전원 신호(PWR)의 전압 레벨을 증가, 유지 또는 감소시킬 수 있다. 또한, 전력 관리 집적 회로(200)는 전력 관리 제어 신호(CTRPM)를 기초로 경고 신호(WS)를 발생하여 제어 로직(130)에 제공할 수 있다.
일 실시예에서, 프로세싱 장치(110) 및 제어 로직(130)은 하드웨어의 형태로 구현될 수 있다. 실시예에 따라서, DVFS 컨트롤러(120), 클럭 관리 장치(140) 및 전력 관리 장치(150)의 일부 또는 전부는 하드웨어의 형태로 구현될 수도 있고, 소프트웨어(즉, 프로그램)의 형태로 구현되어 저장 장치(예를 들어, 메모리 장치(300) 또는 내부 메모리(미도시))에 저장될 수도 있다.
일 실시예에서, 시스템 온 칩(100) 및/또는 메모리 장치(300)는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 패키지들을 이용하여 실장 될 수 있다. 예를 들어, 상술한 PoP의 형태로 구현되는 경우에, 시스템 온 칩(100)은 제1 패키지로 구현될 수 있고, 메모리 장치(300)는 제2 패키지로 구현될 수 있으며, 상기 제2 패키지는 상기 제1 패키지의 위(over)에 적층될 수 있다.
본 발명의 실시예들과 관련하여 시스템 온 칩(100)의 동작을 상세하게 설명하면, 먼저 DVFS 컨트롤러(120)는 미리 결정된 시스템 온 칩(100)의 허용 전력 소모량 및 복수의 프로세서 코어들(112, 114, 116, 118)의 동작 상태에 기초하여, 복수의 프로세서 코어들(112, 114, 116, 118)의 동작 주파수를 최대 동작 주파수 내에서 제1 동작 주파수로 설정한다. 프로세싱 장치(110)는 상기 제1 동작 주파수를 기초로 복수의 프로세서 코어들(112, 114, 116, 118) 중 적어도 하나를 구동하여 적어도 하나의 작업을 수행한다. 이 때, 전력 관리 장치(150)는 시스템 온 칩(100)의 현재 전력 소모량을 모니터링하고, 상기 현재 전력 소모량이 상기 허용 전력 소모량을 초과하는 경우에 전력 관리 제어 신호(CTRPM)를 이용하여 전력 관리 집적 회로(200)에 상기 현재 전력 소모량의 초과 상태를 알리며, 전력 관리 집적 회로(200)는 경고 신호(WS)를 활성화한다. 제어 로직(130)은 경고 신호(WS)가 활성화된 직후에 상기 현재 전력 소모량을 감소시키기 위한 제1 제어 작업을 수행하도록 제1 제어 신호(CS1)를 발생한다.
한편, DVFS 컨트롤러(120)가 복수의 프로세서 코어들(112, 114, 116, 118)의 동작 주파수를 상기 제1 동작 주파수로 설정하는 경우에 기초하여 본 발명의 실시예들을 설명하였으나, 본 발명은 이에 한정되지 않으며, 시스템 온 칩(100) 내에 배치되고 프로세싱 장치(110)와 통신하는 임의의 컨트롤러(미도시)가 상술한 동작을 수행하도록 구현될 수도 있다.
도 3a, 3b, 4a 및 4b는 본 발명의 실시예들에 따른 시스템 온 칩의 구동 방법에서 최대 동작 주파수를 설정하는데 이용되는 복수의 프로세서 코어들의 동작 상태를 설명하기 위한 도면들이다.
도 2, 3a 및 3b를 참조하면, 시스템 온 칩(100)이 한계 전력 소모량(LPL)을 초과하여 전력을 소모하는 경우에, 시스템 온 칩(100)이 손상되거나 비정상적으로 동작할 수 있다. 이에 따라, 한계 전력 소모량(LPL)보다 낮은(즉, 한계 전력 소모량(LPL) 대비 미리 정해진 마진(margin)을 가지는) 허용 전력 소모량(PL)을 결정하고, 시스템 온 칩(100)의 전력 소모량이 허용 전력 소모량(PL)을 초과하는 경우에 시스템 온 칩(100)의 전력 소모량을 감소시킴으로써, 시스템 온 칩(100)의 전력 소모량이 한계 전력 소모량(LPL)을 초과하는 것을 방지할 수 있다.
도 3a의 그래프에서, 수평 축은 시스템 온 칩(100)을 흐르는 전류량(I)을 나타내며, 수직 축은 시스템 온 칩(100)의 동작 전압(V) 또는 동작 주파수(f)를 나타낸다. P=V*I이므로, 일정한 값을 가지는 한계 전력 소모량(LPL) 및 허용 전력 소모량(PL)을 그래프 상에서 대각선으로 도시하였다. 또한, 일반적으로 동작 주파수(f)가 증가할수록 동작 전압(V)이 증가하므로(즉, 동작 주파수(f)와 동작 전압(V)은 비례하므로), 동작 전압(V)과 동작 주파수(f)를 하나의 축에 표현하였다.
도 3b의 그래프에서, 수직 축은 시스템 온 칩(100)의 전력 소모량(P)을 나타내고, CASE1, CASE2, CASE3 및 CASE4는 복수의 프로세서 코어들(112, 114, 116, 118) 중 하나, 두 개, 세 개 및 네 개를 구동하는 경우를 각각 나타낸다.
도 3a 및 3b에 도시된 것처럼, 복수의 프로세서 코어들(112, 114, 116, 118)의 동작 상태는 특정 작업을 수행하는데 이용되는 프로세서 코어의 개수를 포함할 수 있고, 상기 특정 작업을 수행하는데 이용되는 상기 프로세서 코어의 개수가 증가할수록 설정 가능한 최대 동작 주파수는 감소할 수 있다.
구체적으로, 도 3a에 도시된 것처럼, 하나의 프로세서 코어(예를 들어, 112)가 동작하는 경우에는 전류량이 I1이며, 이 때 설정 가능한 최대 동작 전압 또는 최대 동작 주파수는 허용 전력 소모량(PL)을 만족하는 범위 내에서 상대적으로 높은 V1 또는 f1일 수 있다. 두 개의 프로세서 코어들(예를 들어, 112, 114)이 동작하는 경우에는 전류량이 I2로 증가하며, 이 때 설정 가능한 최대 동작 전압 또는 최대 동작 주파수는 허용 전력 소모량(PL)을 만족하는 범위 내에서 V2 또는 f2로 낮아질 수 있다. 이와 유사하게, 세 개의 프로세서 코어들(예를 들어, 112, 114, 116)이 동작하는 경우에는 전류량이 I3으로 더욱 증가하며, 이 때 설정 가능한 최대 동작 전압 또는 최대 동작 주파수는 허용 전력 소모량(PL)을 만족하는 범위 내에서 V3 또는 f3으로 더욱 낮아질 수 있다. 네 개의 프로세서 코어들(예를 들어, 112, 114, 116, 118)이 모두 동작하는 경우에는 전류량이 I4로 더욱 증가하며, 이 때 설정 가능한 최대 동작 전압 또는 최대 동작 주파수는 허용 전력 소모량(PL)을 만족하는 범위 내에서 V4 또는 f4로 더욱 낮아질 수 있다. 한편 도 3a에서, I0은 시스템 온 칩(100)의 파워 온 시의 기본 전류량을 나타낼 수 있다.
또한, 도 3b에 도시된 것처럼, 각 프로세서 코어가 동일한 동작 주파수로 동작하는 경우에, 상기 특정 작업을 수행하는데 이용되는 상기 프로세서 코어의 개수에 따라 전력 소모량이 달라질 수 있다. 예를 들어, 하나의 프로세서 코어가 동작하는 경우(CASE1)보다 두 개의 프로세서 코어들이 동작하는 경우(CASE2)에 전력 소모량이 더 많고, 두 개의 프로세서 코어들이 동작하는 경우(CASE2)보다 세 개의 프로세서 코어들이 동작하는 경우(CASE3)에 전력 소모량이 더 많으며, 세 개의 프로세서 코어들이 동작하는 경우(CASE3)보다 네 개의 프로세서 코어들이 동작하는 경우(CASE4)에 전력 소모량이 더 많을 수 있다. 따라서, 동작하는 프로세스 코어의 개수가 적을수록 동작 주파수를 더 높게 설정할 수 있다.
한편, 도 2에 도시된 것처럼 네 개의 프로세서 코어들(112, 114, 116, 118)을 포함하는 경우에 기초하여, 동작하는 프로세서 코어의 개수에 따른 설정 가능한 최대 동작 주파수 및 전력 소모량을 설명하였으나, 시스템 온 칩의 프로세싱 장치에 포함되는 프로세서 코어의 개수는 실시예에 따라서 다양하게 변경될 수 있다.
도 4a의 그래프에서, 수평 축은 시스템 온 칩(100)에서 수행되는 작업의 워크로드(WL)를 나타내며, 수직 축은 시스템 온 칩(100)의 동작 주파수(f)를 나타낸다. 도 4b의 그래프에서, 수직 축은 시스템 온 칩(100)의 전력 소모량(P)을 나타내고, CASEA는 상대적으로 낮은 워크로드를 가지는 작업을 수행하는 경우를 나타내며, CASEB는 상대적으로 높은 워크로드를 가지는 작업을 수행하는 경우를 나타낸다.
도 2, 4a 및 4b를 참조하면, 복수의 프로세서 코어들(112, 114, 116, 118)의 동작 상태는 프로세서 코어들(112, 114, 116, 118)에 의해 수행되는 특정 작업에 대한 워크로드를 포함할 수 있다. 이 때, 도 4a에 도시된 것처럼, 상기 특정 작업에 대한 워크로드(WL)가 증가할수록 설정 가능한 최대 동작 주파수(f)는 감소할 수 있다.
또한, 도 4b에 도시된 것처럼, 동일한 개수의 프로세서 코어(예를 들어, 두 개)가 동작하는 경우에, 상기 특정 작업의 종류에 따라 전력 소모량이 달라질 수 있다. 예를 들어, 정수(integer) 연산만을 수행하는 경우와 같이 상대적으로 낮은 워크로드를 가지는 작업을 수행하는 경우(CASEA)보다 소수점(floating) 연산을 수행하는 경우와 같이 상대적으로 높은 워크로드를 가지는 작업을 수행하는 경우(CASEB)에 전력 소모량이 더 많을 수 있다. 따라서, 수행되는 작업의 워크로드가 적을수록 동작 주파수를 더 높게 설정할 수 있다.
한편, 실시예에 따라서, 복수의 프로세서 코어들(112, 114, 116, 118)의 동작 상태는 상기 특정 작업을 수행하는데 이용되는 상기 프로세서 코어의 개수 및 상기 특정 작업에 대한 워크로드를 모두 포함할 수도 있다. 다시 말하면, 동작하는 프로세서 코어의 개수 및 워크로드를 모두 고려하여 최대 동작 주파수를 결정할 수 있다. 또한, 실시예에 따라서, 최대 동작 주파수를 결정하는데 있어서, 동작하는 프로세서 코어의 개수 및 워크로드 이외에 다양한 파라미터들 중 적어도 하나 또는 이들의 조합을 고려할 수도 있다.
도 5는 도 1의 시스템 온 칩의 구동 방법을 설명하기 위한 타이밍도이다.
도 1, 2 및 5를 참조하면, 시간 t11에서, 시스템 온 칩(100)의 상기 현재 전력 소모량이 상기 허용 전력 소모량을 초과하며, 이에 따라 전력 관리 집적 회로(200)는 경고 신호(WS)를 활성화한다. 예를 들어, 경고 신호(WS)는 제1 논리 레벨(예를 들어, 논리 로우 레벨)에서 제2 논리 레벨(예를 들어, 논리 하이 레벨)로 천이될 수 있다.
제어 로직(130)은 경고 신호(WS)가 활성화된 직후에 상기 현재 전력 소모량을 감소시키기 위한 제1 제어 작업을 수행한다. 예를 들어, 제어 로직(130)은 경고 신호(WS)의 에지(edge)에 응답하여, 상기 제1 제어 작업을 수행하도록 제1 제어 신호(CS1)를 발생한다.
클럭 관리 장치(140)는 제1 제어 신호(CS1)에 기초하여, 상기 제1 제어 작업을 수행한다. 예를 들어, 클럭 관리 장치(140)는 제1 제어 신호(CS1)에 응답하여, 복수의 프로세서 코어들(112, 114, 116, 118)의 동작 주파수에 대응하는 제1 클럭 신호(CLK)의 주파수(FCLK)를 긴급하게 감소시킬 수 있다. 예를 들어, 제1 클럭 신호(CLK)의 주파수(FCLK)를 제1 동작 주파수(F1)에서 제1 동작 주파수(F1)보다 낮은 주파수(F2)로 제1 단위(FCU1)만큼 1회 감소시킬 수 있다. 도 5의 제1 단위(FCU1)는 도 8을 참조하여 후술할 제2 단위(FCU2)와 비교하였을 때 훨씬 큰 단위일 수 있으며, 예를 들어 제1 클럭 신호(CLK)의 주파수(FCLK)는 상기 제1 제어 작업에 의해 제1 동작 주파수(F1)의 약 절반으로 감소될 수 있다.
상기 제1 제어 작업을 수행한 이후에 일정한 시간이 경과하면(예를 들어, 상기 현재 전력 소모량이 상기 허용 전력 소모량보다 낮아지면), 시간 t12에서 경고 신호(WS)는 비활성화될 수 있다. 경고 신호(WS)가 비활성화되면, 제1 클럭 신호(CLK)의 주파수(FCLK)는 제1 동작 주파수(F1)로 복원될 수 있다.
한편, 도 5를 참조하여 제1 클럭 신호(CLK)의 주파수(FCLK)를 제1 단위(FCU1)만큼 1회 감소시키는 것으로 본 발명의 상기 제1 제어 동작을 설명하였으나, 주파수(FCLK)를 감소시키는 횟수를 2회, 3회, ... 등으로 다르게 설정할 수 있으며, 다만 경고 신호(WS)의 1회 활성화 시에 주파수(FCLK)를 감소시키는 횟수는 상기 현재 전력 소모량과 무관하게 고정될 수 있다.
또한, 제1 클럭 신호(CLK)의 주파수(FCLK)를 감소시키는 것으로 본 발명의 상기 제1 제어 동작을 설명하였으나, 상기 제1 제어 동작은 이에 한정되지 않으며, 예를 들어 제1 전원 신호(PWR)의 전압 레벨을 감소시키는 동작, 프로세서 코어들(112, 114, 116, 118) 중 적어도 하나의 동작을 정지시키는 동작, 복수의 작업들 중 적어도 하나를 중단(stop 또는 skip)하는 동작 등 상기 현재 전력 소모량을 긴급하게 감소시키기 위한 임의의 동작일 수 있다.
도 6은 본 발명의 실시예들에 따른 시스템 온 칩의 구동 방법을 나타내는 순서도이다.
단계 S510 및 S520을 더 포함하는 것을 제외하면, 도 6의 실시예는 도 1의 실시예와 실질적으로 동일할 수 있다. 도 6의 단계 S100, S200, S310, S320 및 S400은 도 1의 단계 S100, S200, S310, S320 및 S400과 각각 실질적으로 동일할 수 있으며, 중복되는 설명은 생략하도록 한다.
도 6을 참조하면, 본 발명의 실시예들에 따른 시스템 온 칩의 구동 방법에서, 상기 현재 전력 소모량을 감소시키기 위한 상기 제1 제어 작업을 수행(단계 S400)한 이후에도, 상기 현재 전력 소모량이 상기 허용 전력 소모량을 초과할 수 있으며, 상기 현재 전력 소모량을 감소시키기 위한 추가적인 조치를 취할 수 있다.
구체적으로, 상기 제1 제어 작업을 수행(단계 S400)한 이후에, 상기 경고 신호의 활성화가 미리 정해진 제1 시간 이상 지속되는지 여부를 판단할 수 있다(단계 S510).
상기 경고 신호의 활성화 시간이 상기 제1 시간보다 긴 경우에(단계 S510: 예), 즉 상기 제1 제어 작업을 수행하였음에도 불구하고 상기 현재 전력 소모량이 상기 허용 전력 소모량을 초과하는 경우에, 상기 현재 전력 소모량을 추가적으로 감소시키기 위한 제2 제어 작업을 수행할 수 있다(단계 S520). 예를 들어, 상기 제1 제어 작업과 다르게, 상기 제2 제어 작업은 상기 현재 전력 소모량을 상대적으로 천천히, 그리고 조금씩 단계적으로 감소시킬 수 있는 작업일 수 있으며, 도 8을 참조하여 상세하게 후술하도록 한다.
한편, 상기 경고 신호의 활성화 시간이 상기 제1 시간보다 짧거나 같은 경우에는(단계 S510: 아니오), 상기 현재 전력 소모량이 상기 허용 전력 소모량보다 낮아진 상태이며, 상기 경고 신호는 이미 비활성화되어 있을 수 있다. 따라서, 추가적인 조치를 수행하지 않고 동작이 완료될 수 있고, 경우에 따라서 남아있는 작업을 수행하거나 모든 작업이 완료된 경우에는 다음 작업을 대기할 수 있다.
도 7은 본 발명의 실시예들에 따른 시스템 온 칩을 포함하는 전자 시스템을 나타내는 블록도이다.
제어 로직(130)이 제2 제어 신호(CS2)를 더 발생하는 것을 제외하면, 도 7의 전자 시스템(10)은 도 2의 전자 시스템(10)과 실질적으로 동일할 수 있다. 도 7의 시스템 온 칩(100), 버스(101), 프로세싱 장치(110), 프로세서 코어들(112, 114, 116, 118), DVFS 컨트롤러(120), 제어 로직(130), 클럭 관리 장치(140), 전력 관리 장치(150), 메모리 인터페이스(160), 입출력 인터페이스(170), 전력 관리 집적 회로(200) 및 메모리 장치(300)는 도 2의 시스템 온 칩(100), 버스(101), 프로세싱 장치(110), 프로세서 코어들(112, 114, 116, 118), DVFS 컨트롤러(120), 제어 로직(130), 클럭 관리 장치(140), 전력 관리 장치(150), 메모리 인터페이스(160), 입출력 인터페이스(170), 전력 관리 집적 회로(200) 및 메모리 장치(300)와 각각 실질적으로 동일할 수 있으며, 중복되는 설명은 생략하도록 한다.
도 7을 참조하면, 제어 로직(130)은 경고 신호(WS)가 활성화된 직후에 상기 현재 전력 소모량을 감소시키기 위한 제1 제어 작업을 수행하도록 제1 제어 신호(CS1)를 발생한다. 또한, 경고 신호(WS)의 활성화가 일정 시간 이상 지속되는 경우에, 즉 경고 신호(WS)의 활성화 시간이 상기 제1 시간보다 긴 경우에, 제어 로직(130)은 상기 현재 전력 소모량을 추가적으로 감소시키기 위한 제2 제어 작업을 수행하도록 제2 제어 신호(CS2)를 발생할 수 있다.
도 8은 도 6의 시스템 온 칩의 구동 방법을 설명하기 위한 타이밍도이다.
도 6, 7 및 8을 참조하면, 시간 t21에서의 동작은 도 5를 참조하여 상술한 시간 t11에서의 동작과 실질적으로 동일할 수 있으며, 중복되는 설명은 생략하도록 한다.
시간 t21 이후에도 시스템 온 칩(100)의 상기 현재 전력 소모량이 상기 허용 전력 소모량을 여전히 초과하며, 이에 따라 전력 관리 집적 회로(200)는 경고 신호(WS)의 활성화를 계속 유지한다.
시간 t22에서 경고 신호(WS)는 비활성화된다. 이 때, 경고 신호(WS)의 활성화가 상기 제1 시간보다 오랫동안 지속된 경우에, 즉 시간 t21에서 시간 t22까지의 시간이 상기 제1 시간보다 긴 경우에, 제어 로직(130)은 상기 현재 전력 소모량을 추가적으로 감소시키기 위한 상기 제2 제어 작업을 수행한다. 예를 들어, 제어 로직(130)은 상기 제2 제어 작업을 수행하도록 제2 제어 신호(CS2)를 발생한다. 예를 들어, 제어 로직(130)은 경고 신호(WS)의 활성화가 상기 제1 시간보다 오랫동안 지속되는지 여부를 판단하기 위해 타이머 또는 카운터를 포함하여 구현될 수 있다.
DVFS 컨트롤러(120) 및 클럭 관리 장치(140)는 제2 제어 신호(CS2)에 기초하여, 상기 제2 제어 작업을 수행한다. 예를 들어, DVFS 컨트롤러(120)는 제2 제어 신호(CS2)에 응답하여 제1 클럭 제어 신호(CTRC)를 제어할 수 있고, 클럭 관리 장치(140)는 제1 클럭 제어 신호(CTRC)의 제어에 따라, 복수의 프로세서 코어들(112, 114, 116, 118)의 동작 주파수에 대응하는 제1 클럭 신호(CLK)의 주파수(FCLK)를 감소시킬 수 있다. 예를 들어, 시간 t22에서 경고 신호(WS)가 비활성화될 때, 제1 클럭 신호(CLK)의 주파수(FCLK)를 시간 t21 이후의 주파수(F2)에서 그보다 높은 주파수(F3)로 증가시킬 수 있다. 이 때, 시간 t22 이후의 주파수(F3)는 제1 동작 주파수(F1)보다 제2 단위(FCU2)만큼 감소된 주파수일 수 있다. 다시 말하면, 경고 신호(WS)가 비활성화되어 제1 클럭 신호(CLK)의 주파수(FCLK)를 복원할 때, 제1 동작 주파수(F1)보다 제2 단위(FCU2)만큼 감소된 주파수(F3)로 복원할 수 있다. 제2 단위(FCU2)는 제1 단위(FCU1)와 비교하였을 때 훨씬 작은 단위일 수 있다.
한편, 도 8을 참조하여 시간 t22 이후에 제1 클럭 신호(CLK)의 주파수(FCLK)를 제2 단위(FCU2)만큼 1회 감소시킨 것으로 본 발명의 상기 제2 제어 동작을 설명하였으나, 도 11 및 12를 참조하여 후술하는 것처럼 상기 제2 제어 동작에서의 상기 감소 횟수는 상기 현재 전력 소모량과 상기 허용 전력 소모량의 차이 및 제2 단위(FCU2)에 따라 다양하게 변경될 수 있다.
또한, 제1 클럭 신호(CLK)의 주파수(FCLK)를 감소시키는 것으로 본 발명의 상기 제2 제어 동작을 설명하였으나, 상기 제2 제어 동작은 이에 한정되지 않으며, 예를 들어 제1 전원 신호(PWR)의 전압 레벨을 감소시키는 동작 등 상기 현재 전력 소모량을 추가적으로 감소시키기 위한 임의의 동작일 수 있다.
도 9 및 10은 본 발명의 실시예들에 따른 시스템 온 칩의 구동 방법을 나타내는 순서도들이다.
단계 S610 및 S640을 더 포함하는 것을 제외하면, 도 9 및 10의 실시예는 도 1 및 6의 실시예와 각각 실질적으로 동일할 수 있으며, 중복되는 설명은 생략하도록 한다.
도 9 및 10을 참조하면, 본 발명의 실시예들에 따른 시스템 온 칩의 구동 방법에서, 상기 현재 전력 소모량을 감소시키기 위한 상기 제1 제어 작업을 수행(단계 S400)한 이후에, 또는 상기 현재 전력 소모량을 추가적으로 감소시키기 위한 제2 제어 작업을 수행(단계 S520)한 이후에, 상기 현재 전력 소모량이 상기 허용 전력 소모량을 초과하는지 여부를 다시 판단할 수 있다(단계 S610).
상기 현재 전력 소모량이 상기 허용 전력 소모량을 초과하는 경우에(단계 S610: 아니오), 상기 경고 신호를 다시 활성화할 수 있고(단계 S320), 이에 따라 단계 S400을 반복 수행하거나, 단계 S400, S510 및 S520을 반복 수행할 수 있다.
상기 현재 전력 소모량이 상기 허용 전력 소모량보다 낮아진 경우에(단계 S610: 예), 도 5 및 8을 참조하여 상술한 것처럼 상기 경고 신호는 비활성화될 수 있으며, 이후에 상기 현재 전력 소모량이 제1 전력 소모량보다 낮은지 여부를 판단할 수 있다(단계 S640).
상기 현재 전력 소모량이 상기 제1 전력 소모량보다 높거나 같은 경우에(단계 S640: 아니오), 단계 S400의 상기 제1 제어 작업에 의해 감소된 동작 주파수 및/또는 단계 S520의 상기 제2 제어 작업에 의해 감소된 동작 주파수에 기초하여 작업을 수행하여도 충분한 상황임을 나타낼 수 있다. 이 경우, 상기 감소된 동작 주파수를 유지한 채로 단계 S200으로 진행할 수 있다. 다시 말하면, 상기 감소된 동작 주파수에 기초하여 남아있는 작업을 수행하거나 모든 작업이 완료된 경우에는 다음 작업을 대기할 수 있다.
상기 현재 전력 소모량이 상기 제1 전력 소모량보다 낮아진 경우에(단계 S640: 예), 상기 감소된 동작 주파수를 계속 유지하면 시스템 온 칩(100)의 성능이 저하되는 상황임을 나타낼 수 있다. 이 경우, 단계 S100으로 진행할 수 있으며, 동작 주파수를 다시 증가시킬 수 있다.
구체적으로, 상기 허용 전력 소모량 및 상기 복수의 프로세서 코어들의 동작 상태에 기초하여 상기 복수의 프로세서 코어들의 동작 주파수를 상기 최대 동작 주파수 내에서 상기 제1 동작 주파수로 설정할 수 있다. 또는, 상기 복수의 프로세서 코어들의 동작 주파수를 상기 제1 동작 주파수와 다른 제2 동작 주파수로 설정할 수도 있다.
도 11 및 12는 도 9 및 10의 시스템 온 칩의 구동 방법을 설명하기 위한 타이밍도들이다.
도 9, 10 및 11을 참조하면, 시간 t31 및 t32에서의 동작은 도 8을 참조하여 상술한 시간 t21 및 t22에서의 동작과 각각 실질적으로 동일할 수 있으며, 중복되는 설명은 생략하도록 한다.
시간 t32에서 경고 신호(WS)가 비활성화된 이후에, 상기 현재 전력 소모량이 상기 허용 전력 소모량을 다시 초과하는 경우에, 시간 t33에서 경고 신호(WS)는 다시 활성화되며, 이에 따라 상기 제1 제어 작업이 다시 수행된다. 예를 들어, 제1 클럭 신호(CLK)의 주파수(FCLK)를 시간 t32 이후의 주파수(F3)에서 그보다 낮은 주파수(F4)로 제1 단위(FCU1)만큼 1회 감소시킬 수 있다.
상기 제1 제어 작업을 수행한 이후에 일정한 시간이 경과하면, 시간 t34에서 경고 신호(WS)는 비활성화된다. 이 때, 경고 신호(WS)의 활성화가 상기 제1 시간보다 오랫동안 지속된 경우에, 즉 시간 t33에서 시간 t34까지의 시간이 상기 제1 시간보다 긴 경우에, 상기 제2 제어 작업이 다시 수행된다. 예를 들어, 시간 t34에서 제1 클럭 신호(CLK)의 주파수(FCLK)를 시간 t33 이후의 주파수(F4)에서 그보다 높은 주파수(F5)로 증가시킬 수 있으며, 이 때 시간 t34 이후의 주파수(F5)는 시간 t32 이후의 주파수(F3)보다 제2 단위(FCU2)만큼 감소된 주파수일 수 있다. 다시 말하면, 상기 제2 제어 동작을 연속적으로 수행하는 경우에, 제1 클럭 신호(CLK)의 주파수(FCLK)를 제2 단위(FCU2)만큼 단계적으로 감소시킬 수 있다.
시간 t34에서 경고 신호(WS)가 비활성화된 이후에, 시간 t35에서 상기 현재 전력 소모량이 제1 전력 소모량보다 낮아진 경우에, 상기 허용 전력 소모량 및 복수의 프로세서 코어들(112, 114, 116, 118)의 동작 상태에 기초하여, 복수의 프로세서 코어들(112, 114, 116, 118)의 동작 주파수에 대응하는 제1 클럭 신호(CLK)의 주파수(FCLK)를 제1 동작 주파수(F1)로 다시 설정할 수 있다.
일 실시예에서, 시간 t31 이전에서의 복수의 프로세서 코어들(112, 114, 116, 118)의 동작 상태와 시간 t35에서의 복수의 프로세서 코어들(112, 114, 116, 118)의 동작 상태가 실질적으로 동일한 경우에, 도 11에 도시된 것처럼 시간 t31 이전 및 시간 t35 이후에서 제1 클럭 신호(CLK)의 주파수(FCLK)는 제1 동작 주파수(F1)로 실질적으로 동일할 수 있다. 다른 실시예에서, 시간 t31 이전에서의 복수의 프로세서 코어들(112, 114, 116, 118)의 동작 상태와 시간 t35에서의 복수의 프로세서 코어들(112, 114, 116, 118)의 동작 상태가 서로 다른 경우에, 도시하지는 않았지만 시간 t31 이전 및 시간 t35 이후에서 제1 클럭 신호(CLK)의 주파수(FCLK)는 서로 다를 수 있다.
도 9, 10 및 12를 참조하면, 시간 t41 및 t42에서의 동작은 도 5를 참조하여 상술한 시간 t11 및 t12에서의 동작과 각각 실질적으로 동일하고, 시간 t43 및 t44에서의 동작은 도 8을 참조하여 상술한 시간 t21 및 t22에서의 동작 및 도 11을 참조하여 상술한 시간 t31 및 t32에서의 동작과 각각 실질적으로 동일하고, 시간 t45, t46 및 t47에서의 동작은 도 11을 참조하여 상술한 시간 t33, t34 및 t35에서의 동작과 각각 실질적으로 동일할 수 있으며, 중복되는 설명은 생략하도록 한다.
한편, 도시하지는 않았지만, 도 11의 시간 t33 이후에, 또는 도 12의 t43 또는 t45 이후에, 경고 신호(WS)의 활성화 시간이 상기 제1 시간보다 짧거나 같은 경우에, 상기 제1 제어 동작만이 수행되고 상기 제2 제어 동작은 생략될 수 있다.
종래의 시스템 온 칩을 포함하는 시스템에서는, 가장 전력 소모가 많은 작업(또는 워크로드)을 수행했을 때 전체 전력 소모량의 한계점을 넘지 않는 최대 주파수를 찾아서 멀티코어의 최대 동작 주파수로 결정하였다. 그러나 이러한 방식은 동시에 동작하는 코어의 개수나 수행되고 있는 작업의 종류와 관계 없이 고정된 하나의 최대 동작 주파수를 사용해야 하는 한계를 가졌다.
예를 들어, 종래의 시스템 온 칩이 사용 가능한 전력 소모량을 약 10W 라고 가정하면, 2개의 코어가 동작할 때와 4개의 코어가 동작할 때는 동일한 주파수에서 동작한다 하더라도 소모되는 전력량이 다르기 때문에, 동작하는 코어의 개수가 적을수록 더 높은 동작 주파수로 설정해줄 수 있으나, 종래 기술과 같이 고정된 하나의 최대 동작 주파수를 사용하는 경우에는 이러한 구현이 불가능하였다. 또한, 동일하게 4개의 코어가 동작 중이라 하더라도, 정수 연산만을 수행할 경우와 소수점 연산을 수행할 경우에는 소모되는 전력량에 차이가 발생하므로, 설정해줄 수 있으나, 종래 기술과 같이 고정된 하나의 최대 동작 주파수를 사용하는 경우에는 이러한 구현이 불가능하였다. 다시 말하면, 종래에는 가장 전력 소모가 많은 작업을 기준으로 최대 동작 주파수를 결정하였기 때문에, 동작하는 코어 개수가 줄어든 경우 또는 전력 소모가 상대적으로 작은 작업을 수행하는 경우에 동작 주파수의 한계로 인해 성능에 제한되는 문제가 있었다.
본 발명의 실시예들에 따른 시스템 온 칩(100)의 구동 방법 및 이를 수행하는 시스템 온 칩(100)에서는, 허용 전력 소모량(PL)의 범위 내에서 설정 가능한 가장 높은 동작 주파수까지 사용할 수 있도록 프로세서 코어들(112, 114, 116, 118)의 동작 주파수를 결정할 수 있다. 또한, 시스템 온 칩(100)에서 소모하는 전력량이 허용 전력 소모량(PL)에 다다를 경우에, 전원 신호(PWR)를 공급해주는 전력 관리 집적 회로(200)에서 경고 신호(WS)를 받아 동작 주파수를 낮춤으로써, 전력 소모량을 허용 전력 소모량(PL) 이하로 유지할 수 있다. 따라서, 시스템 온 칩(100)은 미리 결정된 전력 소모량 이내에서 가장 높은 동작 주파수를 유지할 수 있게 되고, 결과적으로 시스템 온 칩(100) 및 이를 포함하는 전자 시스템(10)의 성능을 극대화/최적화시킬 수 있다.
한편, 프로세서 코어들(112, 114, 116, 118)을 포함하는 프로세싱 장치(110)에 대한 동작 주파수 제어에 기초하여 본 발명의 실시예들을 설명하였으나, 본 발명은 이에 한정되지 않을 수 있다. 예를 들어, 프로세싱 장치(110)가 CPU인 경우에, 상기 CPU를 제외한 비-CPU(non-CPU) IP(intellectual property)에 대해서도 본 발명의 실시예들을 적용할 수 있다.
구체적으로, 상기 비-CPU IP는 고유 특성들(unique features) 및/또는 고유 기능들을 갖는 하드웨어 모듈(hardware module)을 나타낼 수 있다. 예를 들어, 상기 비-CPU IP는 상기 CPU에 대해 슬레이브 장치로서 동작할 수 있으며, 도 2의 메모리 인터페이스(160) 및 입출력 인터페이스(170)를 포함할 수 있다. 상술한 것처럼, 도시하지는 않았지만, 메모리 인터페이스(160)는 상기 제2 클럭 신호 및 상기 제2 전원 신호에 기초하여 동작할 수 있고, 입출력 인터페이스(170)는 상기 제3 클럭 신호 및 상기 제3 전원 신호에 기초하여 동작할 수 있다. 이 때, 본 발명의 실시예들에 따라서, 시스템 온 칩(100)의 허용 전력 소모량 및 메모리 인터페이스(160)의 동작 상태에 기초하여 상기 제2 클럭 신호의 주파수를 최대 주파수 범위 내에서 설정하거나 상기 제3 클럭 신호의 주파수를 최대 주파수 범위 내에서 설정할 수 있다.
이와 유사하게, 프로세싱 장치(110) 및 상기 비-CPU IP 모두에 대해서 본 발명의 실시예들을 적용할 수도 있다.
도 13 및 14는 본 발명의 실시예들에 따른 시스템 온 칩을 포함하는 전자 시스템을 나타내는 블록도들이다.
도 13을 참조하면, 제어 로직(130a)이 프로세싱 장치(110a)에 포함되는 것을 제외하면, 전자 시스템(10a) 및 시스템 온 칩(100a)은 도 2의 전자 시스템(10) 및 시스템 온 칩(100)과 각각 실질적으로 동일할 수 있으며, 중복되는 설명은 생략하도록 한다.
도 14를 참조하면, 제어 로직(130b)이 클럭 관리 장치(140b)에 포함되는 것을 제외하면, 전자 시스템(10b) 및 시스템 온 칩(100b)은 도 2의 전자 시스템(10) 및 시스템 온 칩(100)과 각각 실질적으로 동일할 수 있으며, 중복되는 설명은 생략하도록 한다.
한편, 도 13의 제어 로직(130a) 및 도 14의 제어 로직(130b)은 도 7에 도시된 것처럼 제2 제어 신호(CS2)를 더 발생할 수도 있다.
한편, 본 발명의 실시예들에 따른 시스템 온 칩의 구동 방법은, 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램 코드를 포함하는 제품 등의 형태로 구현될 수도 있다. 상기 컴퓨터로 판독 가능한 프로그램 코드는 다양한 컴퓨터 또는 다른 데이터 처리 장치의 프로세서로 제공될 수 있다. 상기 컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 기록 매체일 수 있다. 상기 컴퓨터로 판독 가능한 기록 매체는 명령어 실행 시스템, 장비 또는 장치 내에 또는 이들과 접속되어 프로그램을 저장하거나 포함할 수 있는 임의의 유형적인 매체일 수 있다.
본 발명은 시스템 온 칩 및 이를 포함하는 다양한 장치 및 시스템에 적용될 수 있다. 따라서, 본 발명은 휴대폰, 스마트 폰, PDA, PMP, 디지털 카메라, 캠코더, PC, 서버 컴퓨터, 워크스테이션, 노트북, 디지털 TV, 셋-탑 박스, 음악 재생기, 휴대용 게임 콘솔, 네비게이션 기기, 웨어러블 기기, IoT 기기, VR 기기, AR 기기 등과 같은 다양한 형태의 전자 기기를 포함하는 시스템에 확대 적용될 수 있을 것이다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (20)

  1. 복수의 프로세서 코어(processor core)들을 포함하는 시스템 온 칩의 구동 방법으로서,
    미리 결정된 상기 시스템 온 칩의 허용 전력 소모량 및 상기 복수의 프로세서 코어들의 동작 상태에 기초하여, 상기 복수의 프로세서 코어들의 동작 주파수를 최대 동작 주파수 내에서 제1 동작 주파수로 설정하는 단계;
    상기 제1 동작 주파수에 기초하여 상기 복수의 프로세서 코어들 중 적어도 하나가 적어도 하나의 작업을 수행하는 단계;
    상기 시스템 온 칩의 현재 전력 소모량이 상기 허용 전력 소모량을 초과하는 경우에, 경고 신호를 활성화하는 단계; 및
    상기 경고 신호가 활성화된 직후에, 상기 현재 전력 소모량을 감소시키기 위한 제1 제어 작업을 수행하는 단계를 포함하는 시스템 온 칩의 구동 방법.
  2. 제 1 항에 있어서, 상기 제1 제어 작업을 수행하는 단계는,
    상기 복수의 프로세서 코어들의 동작 주파수를 제1 단위만큼 1회 감소시키는 단계를 포함하는 것을 특징으로 하는 시스템 온 칩의 구동 방법.
  3. 제 2 항에 있어서,
    상기 경고 신호의 활성화가 미리 정해진 제1 시간 이상 지속되는 경우에, 상기 현재 전력 소모량을 추가적으로 감소시키기 위한 제2 제어 작업을 수행하는 단계를 더 포함하는 것을 특징으로 하는 시스템 온 칩의 구동 방법.
  4. 제 3 항에 있어서, 상기 제2 제어 작업을 수행하는 단계는,
    상기 현재 전력 소모량이 상기 허용 전력 소모량보다 작아질 때까지, 상기 복수의 프로세서 코어들의 동작 주파수를 상기 제1 단위보다 작은 제2 단위만큼 감소시키는 단계를 포함하는 것을 특징으로 하는 시스템 온 칩의 구동 방법.
  5. 제 1 항에 있어서,
    상기 현재 전력 소모량이 상기 허용 전력 소모량보다 낮아진 경우에, 상기 경고 신호를 비활성화하는 단계; 및
    상기 경고 신호가 비활성화된 이후에 상기 현재 전력 소모량이 제1 전력 소모량보다 낮아진 경우에, 상기 허용 전력 소모량 및 상기 복수의 프로세서 코어들의 동작 상태에 기초하여 상기 복수의 프로세서 코어들의 동작 주파수를 상기 제1 동작 주파수로 설정하는 단계를 더 포함하는 것을 특징으로 하는 시스템 온 칩의 구동 방법.
  6. 제 1 항에 있어서, 상기 복수의 프로세서 코어들의 동작 상태는,
    상기 복수의 프로세서 코어들 중 상기 적어도 하나의 작업을 수행하는데 이용되는 프로세서 코어의 개수를 포함하는 것을 특징으로 하는 시스템 온 칩의 구동 방법.
  7. 제 6 항에 있어서,
    상기 적어도 하나의 작업을 수행하는데 이용되는 상기 프로세서 코어의 개수가 증가할수록 상기 최대 동작 주파수는 감소하는 것을 특징으로 하는 시스템 온 칩의 구동 방법.
  8. 제 1 항에 있어서, 상기 복수의 프로세서 코어들의 동작 상태는,
    상기 적어도 하나의 작업에 대한 워크로드(workload)를 포함하는 것을 특징으로 하는 시스템 온 칩의 구동 방법.
  9. 제 8 항에 있어서, 상기 제1 래치 회로는,
    상기 적어도 하나의 작업에 대한 상기 워크로드가 증가할수록 상기 최대 동작 주파수는 감소하는 것을 특징으로 하는 시스템 온 칩의 구동 방법.
  10. 미리 결정된 허용 전력 소모량 및 복수의 프로세서 코어들의 동작 상태에 기초하여, 상기 복수의 프로세서 코어들의 동작 주파수를 최대 동작 주파수 내에서 제1 동작 주파수로 설정하는 DVFS(dynamic voltage & frequency scaling) 컨트롤러;
    상기 복수의 프로세서 코어들을 포함하고, 상기 제1 동작 주파수에 기초하여 적어도 하나의 작업을 수행하는 프로세싱 장치; 및
    현재 전력 소모량이 상기 허용 전력 소모량을 초과하는 경우에 활성화되는 경고 신호를 수신하며, 상기 경고 신호가 활성화된 직후에 상기 현재 전력 소모량을 감소시키기 위한 제1 제어 작업을 수행하는 제어 로직을 포함하는 시스템 온 칩.
  11. 제 10 항에 있어서, 상기 제어 로직은,
    상기 복수의 프로세서 코어들의 동작 주파수를 제1 단위만큼 1회 감소시켜 상기 제1 제어 작업을 수행하는 것을 특징으로 하는 시스템 온 칩.
  12. 제 11 항에 있어서, 상기 DVFS 컨트롤러는,
    상기 경고 신호의 활성화가 미리 정해진 제1 시간 이상 지속되는 경우에, 상기 현재 전력 소모량을 추가적으로 감소시키기 위한 제2 제어 작업을 수행하는 것을 특징으로 하는 시스템 온 칩.
  13. 제 12 항에 있어서, 상기 DVFS 컨트롤러는,
    상기 현재 전력 소모량이 상기 허용 전력 소모량보다 작아질 때까지, 상기 복수의 프로세서 코어들의 동작 주파수를 상기 제1 단위보다 작은 제2 단위만큼 감소시켜 상기 제2 제어 작업을 수행하는 것을 특징으로 하는 시스템 온 칩.
  14. 제 10 항에 있어서,
    상기 제어 로직은 상기 프로세싱 장치에 포함되는 것을 특징으로 하는 시스템 온 칩.
  15. 제 10 항에 있어서,
    제1 제어 신호를 기초로 상기 복수의 프로세서 코어들의 동작 주파수를 제1 단위만큼 1회 감소시켜 상기 제1 제어 작업을 수행하는 CMU(clock management unit)를 더 포함하며,
    상기 제어 로직은 상기 경고 신호가 활성화된 직후에 상기 제1 제어 신호를 발생하는 것을 특징으로 하는 시스템 온 칩.
  16. 제 15 항에 있어서,
    상기 제어 로직은 상기 CMU에 포함되는 것을 특징으로 하는 시스템 온 칩.
  17. 제 10 항에 있어서,
    상기 현재 전력 소모량이 상기 허용 전력 소모량보다 낮아진 경우에, 상기 경고 신호는 비활성화되며,
    상기 DVFS 컨트롤러는,
    상기 경고 신호가 비활성화된 이후에 상기 현재 전력 소모량이 제1 전력 소모량보다 낮아진 경우에, 상기 허용 전력 소모량 및 상기 복수의 프로세서 코어들의 동작 상태에 기초하여 상기 복수의 프로세서 코어들의 동작 주파수를 상기 제1 동작 주파수로 설정하는 것을 특징으로 하는 시스템 온 칩.
  18. 제 10 항에 있어서,
    상기 경고 신호는 전원 신호를 발생하여 공급하는 외부의 전력 관리 집적 회로(power management integrated circuit; PMIC)로부터 제공되는 것을 특징으로 하는 시스템 온 칩.
  19. 제 10 항에 있어서,
    상기 프로세싱 장치는 CPU(central processing unit) 또는 GPU(graphic processing unit)인 것을 특징으로 하는 시스템 온 칩.
  20. 시스템 온 칩; 및
    상기 시스템 온 칩에 공급되는 전원 신호 및 경고 신호를 발생하는 전력 관리 집적 회로(power management integrated circuit; PMIC)를 포함하고,
    상기 시스템 온 칩은,
    미리 결정된 상기 시스템 온 칩의 허용 전력 소모량 및 복수의 프로세서 코어들의 동작 상태에 기초하여, 상기 복수의 프로세서 코어들의 동작 주파수를 최대 동작 주파수 내에서 제1 동작 주파수로 설정하는 DVFS(dynamic voltage & frequency scaling) 컨트롤러;
    상기 복수의 프로세서 코어들을 포함하고, 상기 제1 동작 주파수에 기초하여 적어도 하나의 작업을 수행하는 프로세싱 장치; 및
    상기 시스템 온 칩의 현재 전력 소모량이 상기 허용 전력 소모량을 초과하는 경우에 활성화되는 상기 경고 신호를 수신하며, 상기 경고 신호가 활성화된 직후에 상기 현재 전력 소모량을 감소시키기 위한 제1 제어 작업을 수행하는 제어 로직을 포함하는 전자 시스템.
KR1020170142872A 2017-10-30 2017-10-30 시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템 KR102539044B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020170142872A KR102539044B1 (ko) 2017-10-30 2017-10-30 시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템
US16/033,830 US11126246B2 (en) 2017-10-30 2018-07-12 Apparatus, method, and system for power consumption management of system-on-chip
CN201811268092.6A CN110045810A (zh) 2017-10-30 2018-10-29 系统芯片以及操作系统芯片的方法
US17/461,022 US11803225B2 (en) 2017-10-30 2021-08-30 Apparatus, method, and system for power consumption management of system-on-chip
US18/482,613 US20240036628A1 (en) 2017-10-30 2023-10-06 Apparatus, method, and system for power consumption management of system-on-chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170142872A KR102539044B1 (ko) 2017-10-30 2017-10-30 시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템

Publications (2)

Publication Number Publication Date
KR20190048204A true KR20190048204A (ko) 2019-05-09
KR102539044B1 KR102539044B1 (ko) 2023-06-01

Family

ID=66242909

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170142872A KR102539044B1 (ko) 2017-10-30 2017-10-30 시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템

Country Status (3)

Country Link
US (3) US11126246B2 (ko)
KR (1) KR102539044B1 (ko)
CN (1) CN110045810A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021075706A1 (ko) * 2019-10-17 2021-04-22 삼성전자 주식회사 전력 관리 집적 회로를 포함하는 전자 장치 및 상기 전자 장치의 이상 상태를 회복하기 위한 방법
WO2022004988A1 (ko) * 2020-07-03 2022-01-06 삼성전자 주식회사 전자 장치 및 그 전자 장치의 제어 방법
WO2022240608A1 (en) * 2021-05-12 2022-11-17 Apple Inc. Die-to-die dynamic clock and power gating

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200084987A (ko) 2019-01-03 2020-07-14 삼성전자주식회사 전력을 제어하기 위한 전자 회로
CN112214315B (zh) * 2020-09-23 2024-03-29 深圳云天励飞技术股份有限公司 一种芯片控制方法、装置、人工智能芯片及终端设备
US11754615B2 (en) * 2021-09-21 2023-09-12 International Business Machines Corporation Processor frequency improvement based on antenna optimization
CN113886196B (zh) * 2021-12-07 2022-03-15 上海燧原科技有限公司 片上功耗管理方法、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080097419A (ko) * 2006-01-03 2008-11-05 어드밴스드 마이크로 디바이시즈, 인코포레이티드 독립 주파수 및/또는 전압에서 집적 회로의 컴포넌트를동작시키는 시스템 및 방법
US20130132749A1 (en) * 2000-01-18 2013-05-23 Sameer Halepete Adaptive power control
US20150286262A1 (en) * 2014-04-08 2015-10-08 Qualcomm Incorporated Energy efficiency aware thermal management in a multi-processor system on a chip
US20170031418A1 (en) * 2015-07-31 2017-02-02 International Business Machines Corporation Management of core power state transition in a microprocessor

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090235108A1 (en) * 2008-03-11 2009-09-17 Gold Spencer M Automatic processor overclocking
US8190930B2 (en) * 2009-03-30 2012-05-29 Intel Corporation Methods and apparatuses for controlling thread contention
US9176572B2 (en) 2009-12-16 2015-11-03 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
CN102314213B (zh) * 2010-07-09 2016-03-30 精英电脑股份有限公司 动态调整工作频率的计算机系统
US9600059B2 (en) 2010-09-20 2017-03-21 Apple Inc. Facilitating power management in a multi-core processor
US9261949B2 (en) * 2010-10-29 2016-02-16 Advanced Micro Devices, Inc. Method for adaptive performance optimization of the soc
US20120144215A1 (en) * 2010-12-03 2012-06-07 Advanced Micro Devices, Inc. Maximum current limiting method and apparatus
US9377830B2 (en) * 2011-12-30 2016-06-28 Samsung Electronics Co., Ltd. Data processing device with power management unit and portable device having the same
US9137848B2 (en) 2012-01-31 2015-09-15 Lg Electronics Inc. Mobile terminal, controlling method thereof and recording medium thereof
CN104205087B (zh) * 2012-02-04 2018-01-16 英派尔科技开发有限公司 芯片多处理器中的核心级动态电压和频率调节
KR102005765B1 (ko) 2012-12-17 2019-07-31 삼성전자주식회사 시스템-온 칩과, 이의 동작 방법
KR102002899B1 (ko) 2012-12-18 2019-07-23 삼성전자 주식회사 시스템-온 칩, 이의 동작 방법, 및 이를 포함하는 장치
KR101842016B1 (ko) 2013-12-10 2018-03-28 한국전자통신연구원 멀티 코어 환경에서의 동적 전력 제어방법
US10275010B2 (en) * 2014-02-21 2019-04-30 Mediatek Singapore Pte. Ltd. Fast and Autonomous mechanism for CPU OC protection
KR102164099B1 (ko) * 2014-03-28 2020-10-12 삼성전자 주식회사 시스템 온 칩, 이의 작동 방법, 및 이를 포함하는 장치
US9423859B2 (en) * 2014-04-04 2016-08-23 International Business Machines Corporation Delaying execution in a processor to increase power savings
KR102222752B1 (ko) 2014-08-01 2021-03-04 삼성전자주식회사 프로세서의 동적 전압 주파수 스케일링 방법
US20160054779A1 (en) * 2014-08-22 2016-02-25 Devadatta Bodas Managing power performance of distributed computing systems
KR20160042618A (ko) 2014-10-10 2016-04-20 엘지전자 주식회사 이동 단말기 및 그 제어방법
KR102329473B1 (ko) 2014-11-24 2021-11-19 삼성전자주식회사 프로세서와 이를 포함하는 반도체 장치
EP3238006A4 (en) * 2014-12-23 2018-07-25 Intel Corporation Adjustment of voltage regulator based on power state
US10234930B2 (en) * 2015-02-13 2019-03-19 Intel Corporation Performing power management in a multicore processor
JP6377560B2 (ja) 2015-03-24 2018-08-22 シャープ株式会社 情報処理装置、cpu印加電圧制御装置、情報処理装置の制御方法
KR102352756B1 (ko) 2015-04-29 2022-01-17 삼성전자주식회사 애플리케이션 프로세서, 시스템 온 칩, 및 이를 포함하는 컴퓨팅 장치
US10064141B2 (en) * 2016-12-09 2018-08-28 Qualcomm Incorporated Core frequency/count decision-based thermal mitigation optimization for a multi-core integrated circuit
US10817191B2 (en) * 2017-03-13 2020-10-27 Western Digital Technologies, Inc. Storage system and method for thermal throttling via command arbitration
US10739842B2 (en) * 2017-04-01 2020-08-11 Intel Corporation Power management and protection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130132749A1 (en) * 2000-01-18 2013-05-23 Sameer Halepete Adaptive power control
KR20080097419A (ko) * 2006-01-03 2008-11-05 어드밴스드 마이크로 디바이시즈, 인코포레이티드 독립 주파수 및/또는 전압에서 집적 회로의 컴포넌트를동작시키는 시스템 및 방법
US20150286262A1 (en) * 2014-04-08 2015-10-08 Qualcomm Incorporated Energy efficiency aware thermal management in a multi-processor system on a chip
US20170031418A1 (en) * 2015-07-31 2017-02-02 International Business Machines Corporation Management of core power state transition in a microprocessor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021075706A1 (ko) * 2019-10-17 2021-04-22 삼성전자 주식회사 전력 관리 집적 회로를 포함하는 전자 장치 및 상기 전자 장치의 이상 상태를 회복하기 위한 방법
WO2022004988A1 (ko) * 2020-07-03 2022-01-06 삼성전자 주식회사 전자 장치 및 그 전자 장치의 제어 방법
WO2022240608A1 (en) * 2021-05-12 2022-11-17 Apple Inc. Die-to-die dynamic clock and power gating
US11592889B2 (en) 2021-05-12 2023-02-28 Apple Inc. Die-to-die dynamic clock and power gating

Also Published As

Publication number Publication date
KR102539044B1 (ko) 2023-06-01
US11803225B2 (en) 2023-10-31
US20190129490A1 (en) 2019-05-02
US20210389815A1 (en) 2021-12-16
US20240036628A1 (en) 2024-02-01
CN110045810A (zh) 2019-07-23
US11126246B2 (en) 2021-09-21

Similar Documents

Publication Publication Date Title
KR102539044B1 (ko) 시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템
JP6215630B2 (ja) データトランザクションによって電力供給を制御するSoC、及びその動作方法
US9588915B2 (en) System on chip, method of operating the same, and apparatus including the same
US11079831B2 (en) Control scheme to temporarily raise supply voltage in response to sudden change in current demand
US11693466B2 (en) Application processor and system on chip
TWI463302B (zh) 用於協調效能參數之方法及相關之系統單晶片及邏輯電路
US20140173311A1 (en) Methods and Systems for Operating Multi-Core Processors
US20140215252A1 (en) Low Power Control for Multiple Coherent Masters
TW201135446A (en) Power management states
US9996398B2 (en) Application processor and system on chip
TW201011525A (en) Method and controller for power management
EP3862843A1 (en) Storage device and method of operating the same
WO2018000128A1 (en) Dynamic configuration of compressed virtual memory
KR20150106076A (ko) 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
US10496298B2 (en) Configurable flush of data from volatile memory to non-volatile memory
US20210096624A1 (en) Electronic apparatus and operation information output method
KR20200068635A (ko) 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법
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
US11714442B2 (en) Controlling electrical power consumption for elements in an electronic device based on a platform electrical power limit
US20240036627A1 (en) System on chip and semiconductor device including the same
US20240004448A1 (en) Platform efficiency tracker
US20230266815A1 (en) Dvfs controlling method, semiconductor device and semiconductor system using the dvfs controlling method
US20230280809A1 (en) Method and apparatus to control power supply rails during platform low power events for enhanced usb-c user experience
KR20230127824A (ko) 시스템 온 칩, 그것의 버스 파워 게이팅 방법 및 시스템
KR20240043635A (ko) 전력 관리 칩, 그것을 포함하는 전자 장치, 및 그것의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right