KR20220040376A - 프로세서 피크 전류 제어 장치 및 방법 - Google Patents

프로세서 피크 전류 제어 장치 및 방법 Download PDF

Info

Publication number
KR20220040376A
KR20220040376A KR1020210110977A KR20210110977A KR20220040376A KR 20220040376 A KR20220040376 A KR 20220040376A KR 1020210110977 A KR1020210110977 A KR 1020210110977A KR 20210110977 A KR20210110977 A KR 20210110977A KR 20220040376 A KR20220040376 A KR 20220040376A
Authority
KR
South Korea
Prior art keywords
peak power
processor
power limit
voltage
battery
Prior art date
Application number
KR1020210110977A
Other languages
English (en)
Inventor
치 림 응게
알렉산더 우안-조-리
중성 왕
제임스 2세 허머딩
카렌 마기
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 인텔 코포레이션
Publication of KR20220040376A publication Critical patent/KR20220040376A/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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3212Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/007Regulation of charging or discharging current or voltage
    • H02J7/0071Regulation of charging or discharging current or voltage with a programmable schedule
    • 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
    • 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
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/165Indicating that current or voltage is either above or below a predetermined value or within or outside a predetermined range of values
    • 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/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • 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/325Power saving in peripheral device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/00032Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries characterised by data exchange
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0063Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries with circuits adapted for supplying loads from the battery
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J2207/00Indexing scheme relating to details of circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J2207/50Charging of capacitors, supercapacitors, ultra-capacitors or double layer capacitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Charge And Discharge Circuits For Batteries Or The Like (AREA)
  • Secondary Cells (AREA)

Abstract

배터리 모드에서 시스템-온-칩(SoC)의 성능을 향상시키는 드라이버(예를 들어, 펌웨어 또는 소프트웨어)가 개시된다. 이 드라이버는 배터리 모드에서 급격히 더 높은 SoC 피크 전력 한계 레벨들(및 따라서 더 높은 터보 성능)을 허용하는 피크 전력 관리자(PPM)이다. PPM은 시스템의 예기치 않은 셧다운(또는 블랙 스크리닝)을 방지하는 방식으로 Vth 임계 전압(플랫폼이 SoC를 스로틀링할 전압 레벨)을 설정한다. PPM은 임계 전압(Vth)에 따라 Psoc,pk SoC 피크 전력 한계(예를 들어, PL4)를 계산한다. 이들은 2개의 종속 파라미터이고, 하나가 설정되면, 다른 하나가 계산될 수 있다. PPM에 의한 스킴은 시스템 파라미터들 및 동작 이력에 기초하여 하나의 파라미터(Vth)를 최적으로 설정하기 위해 사용된다.

Description

프로세서 피크 전류 제어 장치 및 방법{PROCESSOR PEAK CURRENT CONTROL APPARATUS AND METHOD}
각각의 SoC(System-on-Chip) 생성에 의해, SoC에 대한 피크 전력이 증가하고 있다. SoC의 최대 전력(Pmax)은 SoC에서의 공급 전압이 최소 허용가능 임계값 아래로 떨어지게 하는 IR 강하에 의해 제한된다. Pmax는 SoC의 프로세서 코어들의 최대 주파수를 설정하고 SoC의 성능에 직접 영향을 준다. 주어진 최소 시스템 전압에 대한 피크 전력을 보고하는 연료 게이지와 함께 배터리 충전 상태에 기초하여 2s 배터리(및 1s 배터리)를 사용하여 플랫폼 레벨 전력 상태(예를 들어, PL4 상태)를 변경하는 것은 도전 과제이다. 배터리 마모(battery wear-out), 온도 변화 및 충전 상태가 고려될 때, 배터리 모드에서 SoC의 성능을 유지하는 것(또는 그의 큰 감소를 방지하는 것)은 추가로 도전 과제이다.
본 개시내용의 실시예들은 아래에 주어지는 상세한 설명으로부터 그리고 본 개시내용의 다양한 실시예들의 첨부 도면들로부터 더 충분히 이해될 것이지만, 본 개시내용을 특정 실시예들로 제한하는 것으로 간주되어서는 안 되며, 단지 설명 및 이해를 위한 것이다.
도 1은 일부 실시예들에 따른, 시스템 전압(Vsys) 최소 레벨(Vsys,min)을 위반하지 않고 SoC 피크 전력 한계(Psoc,pk)가 배터리 지속 피크 용량을 초과할 수 있게 하는 방식의 하이-레벨 아키텍처를 예시한다.
도 2a는 일부 실시예들에 따른, 배터리의 충전 상태의 함수로서 배터리 무부하 전압 및 충전기 임계 전압을 도시하는 플롯을 예시한다.
도 2b는 일부 실시예들에 따른, 스킴에 의해 허용가능한 총 배터리 피크 전력, 및 충전기가 스로틀링할 전력 레벨을 도시하는 플롯을 예시한다.
도 3은 일부 실시예들에 따른, 시스템 전압(Vsys) 최소 레벨(Vsys,min)을 위반하지 않고 SoC 피크 전력 한계(Psoc,pk)가 배터리 지속 피크 용량을 초과할 수 있게 하는 방법의 흐름도를 예시한다.
도 4는 일부 실시예들에 따른, 시스템 전압(Vsys) 최소 레벨(Vsys,min)을 위반하지 않고 SoC 피크 전력 한계(Psoc,pk)가 배터리 지속 피크 용량을 초과할 수 있게 하는 스킴을 실행하는 스마트 디바이스 또는 컴퓨터 시스템 또는 SoC(System-on-Chip)를 예시한다.
일부 실시예들은 배터리 모드에서 SoC의 성능을 향상시키는 드라이버(예를 들어, 펌웨어 또는 소프트웨어)를 설명한다. 일부 실시예들에 따르면, 드라이버는 배터리 모드에서 급격히 더 높은 SoC 피크 전력 한계 레벨들(및 따라서 더 높은 터보(Turbo) 성능)을 허용하는 피크 전력 관리자(Peak Power Manager, PPM)이다. 일부 실시예들에서, 드라이버는 전력 스로틀링(power throttling)을 구현하고 인텔의 동적 튜닝 기술(Dynamic Tuning Technology, DTT)의 일부이다. 다양한 실시예들에서, 피크 전력 한계는 PL4로 지칭된다. 그러나, 실시예들은 다른 피크 전력 한계들에 적용가능하다.
일부 실시예들에서, 피크 전력 관리자는 시스템이 예기치 않은 셧다운(또는 블랙 스크리닝)을 방지하는 방식으로 Vth 임계 전압(플랫폼이 SoC를 스로틀링할 전압 레벨)을 설정한다. 일부 실시예들에서, 피크 전력 관리자는 임계 전압(Vth)에 따라 Psoc,pk SoC 피크 전력 한계(예를 들어, PL4)를 계산한다. 이들은 2개의 종속 파라미터이고, 하나가 설정되면, 다른 하나가 계산될 수 있다. 다양한 실시예들의 스킴은 시스템 파라미터들 및 동작 이력에 기초하여 하나의 파라미터(Vth)를 최적으로 설정하기 위해 사용된다.
일부 실시예들에서, 머신 실행가능 명령어들을 포함하는 머신 판독가능 저장 매체가 제공되고, 머신 실행가능 명령어들은 실행될 때 하나 이상의 머신으로 하여금 방법을 수행하게 하며, 이 방법은 배터리 무부하 전압(battery no-load voltage), 최대 임계 전압, 및 배터리 무부하 전압과 이전 임계 전압 사이의 전압 갭의 함수로서 현재 임계 전압을 계산하는 단계를 포함한다. 이 방법은, 결국 현재 임계 전압의 함수인 시스템 피크 전력 한계로서 프로세서 피크 전력 한계를 계산하는 단계를 추가로 포함한다. 이 방법은 현재 임계 전압을 임계 회로에 전송하는 단계; 및 프로세서 피크 전력 한계를 프로세서에 전송하는 단계를 추가로 포함하고, 현재 임계 전압은 프로세서의 피크 전력을 관리하기 위해 프로세서의 스로틀링을 트리거하도록 임계 전압을 설정한다. 일부 실시예들에서, 프로세서 피크 전력 한계를 계산하는 방법은 현재 임계 전압, 배터리 무부하 전압, 시스템 전력 레일 커패시턴스, 시스템 전압이 현재 임계 전압 아래로 강하하는 것과 시스템이 피크 전력을 감소시키는 것 사이의 시간, 배터리 저항, 및 시스템 전력 레일의 최소 전압 레벨의 함수로서 시스템 피크 전력을 계산하는 단계를 포함한다. 일부 실시예들에서, 프로세서 피크 전력 한계를 계산하는 방법은 시스템 피크 전력과 플랫폼의 나머지에 의한 전력 사이의 차이를 스케일링하는 단계를 포함한다. 일부 실시예들에서, 차이를 스케일링하는 방법은 전압 조절기의 전력 변환 손실을 고려하는 단계를 포함한다.
일부 실시예들에서, 이 방법은 프로세서 피크 전력 한계를 최대 전력 피크 전력 한계와 비교하는 단계; 및 프로세서 피크 전력 한계가 최대 전력 피크 전력 한계보다 크면 프로세서 피크 전력 한계를 최대 프로세서 피크 전력 한계로 설정하는 단계를 추가로 포함한다. 일부 실시예들에서, 이 방법은: 프로세서 피크 전력 한계를 최소 전력 피크 전력 한계와 비교하는 단계; 및 프로세서 피크 전력 한계가 최소 전력 피크 전력 한계보다 작으면 프로세서 피크 전력 한계를 최소 프로세서 피크 전력 한계로 설정하는 단계를 추가로 포함한다. 일부 실시예들에서, 프로세서 피크 전력 한계는 프로세서가 스로틀링되기 전에 시스템 전력 레일의 커패시터들 및 배터리에 의해 제공될 수 있는 순간 피크 전력의 상한이다. 일부 실시예들에서, 이 방법은 배터리의 연료 게이지로부터 배터리 무부하 전압을 판독하는 단계를 추가로 포함하고, 배터리 무부하 전압은 런타임 변수이다. 일부 실시예들에서, 이 방법은 프로세서 전력 한계가 프로세서의 피크 전력을 넘을 때 프로세서가 스로틀링하지 않는다고 결정되면 현재 임계 전압을 낮추는 단계를 추가로 포함한다.
오늘날, SoC는 최저 동작 주파수로 스로틀링된다. 일부 실시예들은 (천천히 변화하는) 이용가능한 배터리 전력에 기초하여 스로틀링 레벨(Psoc,th)을 동적으로 계산하고 SoC 스로틀링 피크 전력(Psoc,th)을 설정하는 스킴을 제공한다. 일부 실시예들에서, SoC의 전력 관리 유닛 펌웨어(FW)는 피크 전력 관리자에 의해 제공되는 Psoc,th에 기초하여 주파수들 및 전압들을 결정한다. 이 경우, 스로틀링 이벤트들은 SoC 성능에 덜 부정적인 영향을 미친다. 오늘날 어떤 SoC도 블랙 스크리닝의 위험 없이 시스템의 총 피크 전력이 배터리 피크 전력 용량을 초과하는 것을 허용하지 않는다. 다양한 실시예들은 Pmax 프레임워크가 동작할 수 있게 하는 스킴을 제공한다. 다양한 도면들 및 실시예들로부터 다른 기술적 효과들이 명백해질 것이다.
이하의 설명에서는, 본 개시내용의 실시예들의 더 철저한 설명을 제공하기 위해 다수의 세부사항이 논의된다. 그러나, 본 기술분야의 통상의 기술자에게는, 본 개시내용의 실시예들이 이러한 구체적인 세부사항들 없이도 실시될 수 있다는 점이 명백할 것이다. 다른 경우들에서는, 본 개시내용의 실시예들을 불명료하게 하는 것을 회피하기 위해서, 잘 알려진 구조들 및 디바이스들이, 상세하게 도시되기보다는, 블록도 형태로 도시된다.
실시예들의 대응 도면들에서, 신호들은 라인들로 표현된다는 점을 유의한다. 일부 라인들은, 더 많은 구성 신호 경로들을 표시하기 위해 더 두꺼울 수 있으며, 및/또는 주 정보 흐름 방향을 표시하기 위해 하나 이상의 단부에서 화살표들을 가질 수 있다. 이러한 표시들은 제한하려는 것이 아니다. 오히려, 라인들은 회로 또는 논리 유닛의 더 쉬운 이해를 촉진하기 위해 하나 이상의 예시적인 실시예와 관련하여 사용된다. 설계 요구들 또는 선호도들에 의해 지시되는 바와 같이, 임의의 표현된 신호는 어느 한 방향으로 이동할 수 있고 임의의 적합한 타입의 신호 체계로 구현될 수 있는 하나 이상의 신호를 실제로 포함할 수 있다.
본 명세서 전체에 걸쳐 그리고 청구항들에서, "접속된(connected)"이라는 용어는, 임의의 중간 디바이스들 없이, 접속되는 사물들 사이의 전기적, 기계적, 또는 자기적 접속과 같은 직접 접속을 의미한다.
"결합된(coupled)"이라는 용어는, 접속되는 사물들 사이의 직접적인 전기적, 기계적, 또는 자기적 접속 또는 하나 이상의 수동 또는 능동 중간 디바이스들을 통한 간접적인 접속과 같은, 직접 또는 간접 접속을 의미한다.
여기서 "인접한(adjacent)"이라는 용어는 일반적으로 사물이 다른 사물 옆에 있거나(예를 들어, 바로 옆에 있거나 그 사이에 하나 이상의 사물이 있으면서 가까이에 있거나) 또는 다른 사물에 붙어 있는(예를 들어, 그에 맞닿아 있는) 위치를 지칭한다.
"회로" 또는 "모듈"이라는 용어는, 원하는 기능을 제공하기 위해 서로 협력하도록 배열되는 하나 이상의 수동 및/또는 능동 컴포넌트를 지칭할 수 있다.
"신호"라는 용어는 적어도 하나의 전류 신호, 전압 신호, 자기 신호, 또는 데이터/클록 신호를 지칭할 수 있다. 단수 표현("a", "an" 및 "the")의 의미는 복수 참조를 포함한다. "에서(in)"의 의미는 "내에(in)" 및 "상에(on)"를 포함한다.
"아날로그 신호"라는 용어는 신호의 시변 피처(변수)가 일부 다른 시변 수량의 표현인, 즉, 다른 시변 신호와 유사한, 임의의 연속 신호이다.
"디지털 신호"라는 용어는 이산 값들의 시퀀스(정량화된 이산-시간 신호), 예를 들어, 임의의 비트 스트림, 또는 디지털화된(샘플링되고 아날로그-대-디지털 변환된) 아날로그 신호의 표현인 물리적 신호이다.
"스케일링(scaling)"이라는 용어는 일반적으로 하나의 프로세스 기술로부터 다른 프로세스 기술로 설계(배선도 및 레이아웃)를 변환하는 것을 지칭하며, 후속하여 레이아웃 면적이 감소될 수 있다. 일부 경우들에서, 스케일링은 또한 하나의 프로세스 기술로부터 다른 프로세스 기술로 설계를 업사이징(upsizing)하는 것을 지칭하며, 후속하여 레이아웃 면적을 증가시킬 수 있다. "스케일링"이라는 용어는 일반적으로 동일한 기술 노드 내에서 레이아웃 및 디바이스들을 다운사이징(downsizing) 또는 업사이징하는 것을 또한 지칭한다. "스케일링"이라는 용어는 다른 파라미터, 예를 들어, 전력 공급 레벨에 대한 신호 주파수의 조정(예를 들어, 감속 또는 가속 - 즉, 각각 스케일링 다운 또는 스케일링 업)을 또한 지칭할 수 있다.
"실질적으로(substantially)", "가까운(close)", "대략(approximately)", "근처의(near)", 및 "약(about)"이라는 용어들은 일반적으로 목표 값의 +/- 10% 내에 있는 것을 지칭한다.
달리 명시되지 않는 한, 공통 대상을 설명하기 위해 서수 형용사들 "제1(first)", "제2(second)", 및 "제3(third)" 등을 사용하는 것은, 유사한 물체들의 상이한 사례들이 지칭되는 것임을 표시할 뿐이며, 그렇게 설명된 물체들이 시간적으로, 공간적으로, 순위로, 또는 임의의 다른 방식으로, 주어진 시퀀스로 있어야 함을 암시하도록 의도되지 않는다.
본 개시내용의 목적을 위해, 구문 "A 및/또는 B"와 "A 또는 B"는 (A), (B), 또는 (A 및 B)를 의미한다. 본 개시내용의 목적을 위해, 구문 "A, B, 및/또는 C"는 (A), (B), (C), (A 및 B), (A 및 C), (B 및 C), 또는 (A, B 및 C)를 의미한다.
상세한 설명과 청구항들에서 "좌측", "우측", "정면", "후면", "상단(top)", "하단(bottom)", "위에", "아래에" 등의 용어들은, 있다면, 설명의 목적들로 사용되며 반드시 영구적인 상대 위치들을 설명하기 위한 것은 아니다.
임의의 다른 도면의 요소들과 동일한 참조 번호들(또는 명칭들)을 갖는 도면들의 요소들은 설명된 것과 유사한 임의의 방식으로 동작하거나 기능할 수 있지만, 이에 제한되지 않는다는 점을 주목한다.
실시예들의 목적들을 위해, 여기에 설명된 다양한 회로들 및 로직 블록들 내의 트랜지스터들은 금속 산화물 반도체(metal oxide semiconductor, MOS) 트랜지스터들 또는 그것들의 파생물들이고, MOS 트랜지스터들은 드레인, 소스, 게이트, 및 벌크 단자들을 포함한다. 트랜지스터들 및/또는 MOS 트랜지스터 파생물들은 트라이-게이트(Tri-Gate) 및 FinFET 트랜지스터들, 게이트 올 어라운드 원통형 트랜지스터들(Gate All Around Cylindrical Transistors), TFET(Tunneling FET), 사각형 와이어(Square Wire), 또는 직사각형 리본(Rectangular Ribbon) 트랜지스터들, FeFET(ferroelectric FET), 또는 탄소 나노튜브(carbon nanotube)들이나 스핀트로닉 디바이스(spintronic device)들과 같이 트랜지스터 기능성을 구현하는 다른 디바이스들을 또한 포함한다. MOSFET 대칭 소스 및 드레인 단자들은 동일한 단자들이며, 여기서는 교체가능하게 사용된다. 반면, TFET 디바이스는 비대칭 소스 및 드레인 단자들을 갖는다. 본 기술분야의 통상의 기술자들은 다른 트랜지스터들, 예를 들어, 양극성 접합 트랜지스터들(BJT PNP/NPN), BiCMOS, CMOS 등이 본 개시내용의 범위를 벗어나지 않고 사용될 수 있다는 점을 이해할 것이다.
도 1은 일부 실시예들에 따른, 시스템 전압(Vsys) 최소 레벨(Vsys,min)을 위반하지 않고 SoC 피크 전력 한계(Psoc,pk)가 배터리 지속 피크 용량을 초과할 수 있게 하는 방식의 하이-레벨 아키텍처(100)를 예시한다. 아키텍처(100)는 소프트웨어(SW) 또는 펌웨어(FW)(101) 및 하드웨어(HW)(102) 컴포넌트들을 포함한다. 다양한 실시예들에서, FW(101)는 시스템 부하(106)의 피크 전력 성능을 관리하는 피크 전력 관리자(PPM)(103)를 포함한다. 이러한 단순화된 아키텍처에서, HW(102)는 배터리 팩(104), 임계 회로(105), 시스템 부하(106), 스토리지(107), 시스템 저항(Rsys), 및 시스템 커패시턴스(Csys)를 포함한다. 일부 실시예들에서, 배터리 팩(104)은 배터리 연료 게이지(104a) 및 하나 이상의 배터리 셀(104b)을 포함한다. 여기서, 하나 이상의 배터리 셀은 배터리 저항(Rbat), 전압원(Voc), 및 저항기(Rtr)와 커패시터(Ctr)를 포함하는 RC 회로를 갖는 테브난 등가 회로(Thevenin equivalent circuit)로서 모델링된다. 임계 회로(105)는 임계값 Vth를 저장하는 레지스터(105a)(또는 비휘발성 메모리) 및 비교기(105b)를 포함한다. 시스템 부하(106)는 SoC(106a)(예를 들어, 도 4의 SoC) 및 다른 시스템 컴포넌트들(106b)을 포함한다. 스토리지(107)는 하드 디스크, 비휘발성 메모리, 또는 휘발성 메모리일 수 있다.
일부 실시예들에서, 배터리 연료 게이지(104a)는 배터리 무부하 전압(Vbat,nl) 및 Rbat(배터리 경로 상의 팩측 임피던스)를 PPM(103)에 보고한다. 일부 실시예들에서, 배터리 연료 게이지(104a)는 배터리 팩(104)의 전압 및 전류를 측정하여 Rbat 및 Vbat,nl의 런타임 값들을 추정한다. 연료 게이지(104a)는 배터리 셀(104b)의 1차 테브난 등가 모델(first order Thevenin equivalent model)의 파라미터들을 보고한다는 점에 유의한다. 여기서, Vbat,nl은 부하가 없을 때의 배터리 순간 전압이고, Rbat는 셀(104b) 및 격리 MOSFET와 같은 배터리 경로를 따르는 컴포넌트들의 옴 저항(Ohmic resistance)이다. 일부 예에서, 일시적 거동을 나타내는 분극 RC 회로들(Rtr 및 Ctr)은 연료 게이지(104a)에 의해 보고되지 않는데, 그 이유는 이들이 피크 전력 관리자(103)가 행하는 계산들에 의해 사용되지 않을 수 있기 때문이다.
일부 실시예들에서, 피크 전력 관리자(103)는 Psoc,pk(SoC 피크 전력 한계) 및 Vth(스로틀링 신호를 트리거하기 위한 임계 전압)를 계산하는 소프트웨어이다. Vsys(시스템 전압)가 (시스템 부하에 의해 인출되는 높은 전력으로 인해) Vth 아래로 내려가면, (스로틀링 하드웨어 회로(105) 내의) 비교기(105b)는 SoC의 피크 전력을 감소시키기 위해 스로틀링 신호를 어써트(assert)한다.
일부 실시예들에서, 스토리지 디바이스(107)는 Csys(시스템 레일에서의 총 커패시턴스); Rsys(시스템 측의 배터리 경로 임피던스, 즉, 비-팩 저항); Vsys,min(시스템 레일 최소 전압); Vth,max(스로틀링 신호를 트리거하기 위한 임계 전압의 최대 레벨); Prop(나머지-플랫폼 피크 전력(rest-of-platform peak power)); Vth,gap(Vbat,nl과 Vth 사이의 델타); Δt(스로틀링 신호 어써션으로 인한 시스템 전압이 Vth 아래로 강하하는 것과 SoC가 피크 전력을 감소시키는 것 사이의 시간); 및 ηVR(전압 조절기 VR 전력 변환 손실)과 같은(그러나 이에 제한되지 않음) 시스템 종속 파라미터들을 제공한다.
다양한 실시예들에서, PPM(103)은 Psoc,pk(SoC 피크 전력 한계) 및 Vth(스로틀링 신호를 트리거하기 위한 임계 전압)를 선택하여 HW(102)에 제공한다. 더 높은 Psoc,pk 레벨은 더 높은 Vth 레벨을 의미할 것이고, 그 반대도 가능하다. 더 높은 Vth 레벨은 스로틀링을 트리거하기 위한 더 높은 임계값을 의미한다. 일부 실시예들에서, 피크 전력 관리자(103)는 Vbat,nl(배터리 무부하 전압)과 Vth(SoC의 스로틀링 신호를 트리거하기 위한 임계 전압) 사이의 델타(차이)를 설정하는 데 사용되는 파라미터 Vth,gap를 사용하는 알고리즘을 포함한다. PPM(103)은 시스템 설계자가 상이한 배터리 충전 상태들 및 상이한 응용들 및 벤치마크들에 대한 성능을 최적화하기 위해 하나의 파라미터(예를 들어, Vth,gap)를 튜닝할 수 있게 한다.
일부 실시예들에서, Vth,gap는 또한 스로틀링 이벤트들의 수에 기초하여 피크 전력 관리자(103) 또는 다른 SW 드라이버에 의해 자동으로 추가로 튜닝될 수 있다. 예를 들어, SoC(106a)가 결코 스로틀링하지 않는 경우, Vth,gap가 너무 높게 설정되었고, Vth,gap가 더 낮게 설정될 수 있다는 명확한 표시이며, 이는 낮은 인가 비율(low application ratio), RoP(플랫폼의 나머지 또는 다른 시스템 컴포넌트들)(106b)가 저전력을 소비 또는 일부 시스템 파라미터들이 초기에 예상한 것보다 더 양호한 것의 결과일 수 있다.
SoC 피크 전력 한계 값(Psoc,pk)은 다음과 같이 주어지는 Vth 설정의 상한에 의해 제약된다고 고려한다:
Figure pat00001
여기서 Vth,max는 플랫폼 스로틀링 회로(105)에 의해 설정될 수 있는 최대 Vth 값이고, Vbat,nl은 배터리 순간 무부하 전압이고, Vth,gap는 Vth와 Vbat,nl 사이의 전압 마진이다.
일부 실시예들에서, Vth,max는 스토리지(107)에 의해 제공되는 정적 변수이다. 다른 실시예들에서, Vth,max는 스토리지(107)에 의해 제공되는 프로그램가능 변수이다. 일부 실시예들에서, Vbat,nl은 플랫폼 배터리 연료 게이지(104a)에 의해 제공되는 런타임 변수이다. 일부 실시예들에서, Vth,gap는 스토리지(107)에 의해 제공되는 정적 변수이다. 일부 실시예들에서, Vth,gap는 성능 최적화를 위해 런타임에서 오버라이드(override)될 수 있다. 일부 실시예들에서, Vth,gap는 프로그램가능 변수이다.
Vth 설정의 주어진 상한에 대해, PPM(103)은 스로틀링 신호 어써션 이전에 시스템 레일 커패시터들 및 배터리에 의해 제공될 수 있는 시스템 순간 피크 전력 Psys,pk의 상한을 결정한다. 일부 실시예들에서, PPM(103)은 Psys,pk를 다음과 같이 결정한다:
Figure pat00002
여기서, Vth는 식 1에서 주어진 바와 같은 설정이고; Vsys,min은 시스템 레일의 최소 전압 레벨이고; Δt는 (스로틀링 신호 어써션으로 인한) 시스템 전압이 Vth 아래로 강하하는 것과 SoC가 피크 전력을 감소시키는 것 사이의 시간이고, Csys는 시스템 레일 상의 총 커패시턴스들이고, Rbat는 배터리 옴 저항이다. 일부 실시예들에서, Vsys,min은 스토리지(107)에 의해 제공되는 정적 또는 프로그램가능 변수이다. 일부 실시예들에서, Δt는 스토리지(107)에 의해 제공되는 정적 또는 프로그램가능 변수이다. 일부 실시예들에서, Csys는 스토리지(107)에 의해 제공되는 정적 또는 프로그램가능 변수이다. 일부 실시예들에서, Rbat는 플랫폼 연료 게이지(104a)에 의해 제공되는 런타임 변수이다.
일부 실시예들에서, PPM(103)은 다음 식과 같이 시스템 전력으로부터 나머지-플랫폼 전력을 감산함으로써 SoC 피크 전력 한계 Psoc,pk(HW/SW 인터페이스를 통해 SoC에 기입된 값)를 결정한다:
Figure pat00003
여기서 Psys,pk는 식 2에 주어진 바와 같이 스로틀링 신호 어써션 이전에 시스템 레일 커패시터들 및 배터리(104)에 의해 제공될 수 있는 순간 피크 전력의 상한이고, Prop는 나머지-플랫폼 전력(rest-of-platform power)이고, ηVR은 스케일링 인자(전형적으로 전압 조절기 VR 전력 변환 손실을 설명하기 위해 사용됨)이다. 일부 실시예들에서, Prop는 스토리지에 의해 제공되는 정적 또는 프로그램가능 변수이다. 일부 실시예들에서, ηVR은 스토리지에 의해 제공되는 정적 또는 프로그램가능 변수이다.
일부 실시예들에서, 일단 Psoc,pk 값이 식 3을 사용하여 계산되면, 피크 전력 관리자(103)는 Psoc,pk 값을 상한값 Psoc,pk,max 및 하한값 Psoc,pk,min과 비교하여 클리핑한다. Psoc,pk 값이 한계들(Psoc,pk,max 및 Psoc,pk,min)로 클리핑되면, Vth 값이 재계산될 수 있다. 일부 실시예들에서, Psys,pk, 즉 순간 피크 전력은 재평가되고, Psys,pk는 다음 식을 사용하여 고속 PROCHOT# 어써션 이전에 시스템 레일 커패시터들 Csys 및 배터리(104)에 의해 제공될 수 있다:
Figure pat00004
여기서 Psoc,pk는 한계들(Psoc,pk,max 및 Psoc,pk,min)로 클리핑된 SoC 피크 전력 한계이고; ηVR은 스케일링 인자(전형적으로 전압 조절기 VR 전력 변환 손실을 설명하기 위해 사용됨)이고, 스토리지(107)에 의해 제공되는 정적 또는 프로그램가능 변수이다.
시스템 피크 전력 Psys,pk를 사용하여, 다음과 같이 Vth 설정을 획득할 수 있다:
Figure pat00005
여기서 Psys,pk는 식 4에 주어진 바와 같이 스로틀링 신호 어써션 이전에 시스템 레일 커패시터들 Csys 및 배터리에 의해 제공될 수 있는 순간 피크 전력의 상한이다.
도 2a는 일부 실시예들에 따른, 배터리(104)의 충전 상태의 함수로서 배터리 무부하 전압(곡선(201)) 및 충전기 임계 전압(곡선(202))을 도시하는 플롯(200)을 예시한다. 이 예에서, 배터리 무부하 전압과 임계 전압 사이의 최소 차이는 0.5V이다.
도 2b는 일부 실시예들에 따른, 스킴에 의해 허용가능한 총 배터리 피크 전력(곡선(221)), 및 충전기가 스로틀링할 전력 레벨(곡선(222))을 도시하는 플롯(220)을 예시한다. 여기서, 약 40% 충전 상태까지, CPU는 완전한(full) 성능일 것이다. 다양한 실시예들에서, 무부하 배터리 전압과 임계 전압 사이의 전압 델타는 스로틀링 이벤트들의 수에 기초하여 동적으로 조정된다. 이와 같이, 더 낮은 충전 상태에 있을 때, CPU가 스로틀링될 수 있다.
도 3은 일부 실시예들에 따른, 시스템 전압(Vsys) 최소 레벨(Vsys,min)을 위반하지 않고 SoC 피크 전력 한계(Psoc,pk)가 배터리 지속 피크 용량을 초과할 수 있게 하는 방법의 흐름도(300)를 예시한다. 다양한 블록들이 특정 순서로 도시되지만, 그 순서는 수정될 수 있다. 예를 들어, 일부 실시예들에서, 일부 블록들은 다른 블록들 전에 수행될 수 있으며, 일부 블록들은 병렬로 또는 동시에 수행될 수 있다. 다양한 실시예들에서, 여기에 예시된 블록들은 PPM(103)에 의해 수행된다. 예를 들어, 프로세서(예를 들어, SoC)에 의해 실행될 때 PPM(103)으로 하여금 흐름도(300)의 방법을 수행하게 하는 머신 판독가능 명령어들이 제공된다. 동작들의 상세사항들은 도 1을 참조하여 설명된다.
블록(301)에서, Vbat,nl, Vth,gap, 및 Vth,max의 함수로서 Vth를 결정하기 위해 식 1이 산출된다. 블록(302)에서, Vth; Vbat,nl; Csys; 델타 T(Δt); Rbat; Vsys,min의 함수로서 Psys,pk를 계산하기 위해 식 2가 산출된다. 블록(303)에서, Psys,pk; Prop; 및 ηVR의 함수로서 Psoc,pk를 계산하기 위해 식 3이 산출된다. 블록(304)에서, Psoc,pk가 Psoc,pk,max보다 큰지에 대한 결정이 이루어진다. Psoc,pk가 Psoc,pk,max보다 크면, 프로세스는 블록(305)으로 진행하여 Psoc,pk가 Psoc,pk,max로 설정되고, 프로세스는 블록(308)으로 진행한다. Psoc,pk가 Psoc,pk,max 이하이면, 프로세스는 블록(306)으로 진행한다. 블록(306)에서, Psoc,pk가 Psoc,pk,min보다 작은지에 대한 결정이 이루어진다. Psoc,pk가 Psoc,pk,min보다 작으면, 프로세스는 블록(307)으로 진행하여 Psoc,pk가 Psoc,pk,min로 설정되고, 프로세스는 블록(308)으로 진행한다. Psoc,pk가 Psoc,pk,max 이하이면, 프로세스는 블록(310)으로 진행한다.
블록(308)에서, Psoc; Prop; 및 ηVR의 함수로서 Psys,pk를 계산하기 위해 식 4가 산출된다. 블록(309)에서, Psys,pk; Vbat,nl; Csys; ΔT; Rbat; 및 Vsys,min의 함수로서 Vth를 계산하기 위해 식 5가 산출된다. 블록(310)에서, PPM(103)은 계산된 Vth를 스로틀링 HW 회로(105)에 전송한다. 블록(311)에서, PPM(103)은 계산된 Psoc,pk를 SoC에 전송한다. 따라서, 시스템은 Vth 및 Psoc,pk를 동적으로 조정함으로써 예기치 않은 셧다운(또는 블랙 스크리닝)이 방지된다.
도 4는 일부 실시예들에 따른, 시스템 전압(Vsys) 최소 레벨(Vsys,min)을 위반하지 않고 SoC 피크 전력 한계(Psoc,pk)가 배터리 지속 피크 용량을 초과할 수 있게 하는 스킴을 실행하는 스마트 디바이스 또는 컴퓨터 시스템 또는 SoC(System-on-Chip)를 예시한다. 일부 실시예들에서, 디바이스(2400)는 컴퓨팅 태블릿, 모바일폰 또는 스마트폰, 랩톱, 데스크톱, 사물 인터넷(Internet-of-Things, IOT) 디바이스, 서버, 웨어러블 디바이스, 셋톱 박스, 무선-가능 이-리더(wireless-enabled e-reader) 등과 같은 적절한 컴퓨팅 디바이스를 대표한다. 특정 컴포넌트들은 일반적으로 도시되고, 이러한 디바이스의 모든 컴포넌트들이 디바이스(2400)에 도시되는 것은 아니라는 점이 이해될 것이다.
일 예에서, 디바이스(2400)는 SoC(System-on-Chip)(2401)를 포함한다. SoC(2401)의 예시적인 경계는 도 4에서 점선들을 사용하여 도시되며, 일부 예시적인 컴포넌트들은 SoC(2401) 내에 포함되는 것으로 도시된다 - 그러나, SoC(2401)는 디바이스(2400)의 임의의 적절한 컴포넌트들을 포함할 수 있다.
일부 실시예들에서, 디바이스(2400)는 프로세서(2404)를 포함한다. 프로세서(2404)는 마이크로프로세서들, 애플리케이션 프로세서들, 마이크로컨트롤러들, 프로그램가능 로직 디바이스들, 처리 코어들, 또는 다른 처리 수단과 같은 하나 이상의 물리 디바이스를 포함할 수 있다. 프로세서(2404)에 의해 수행되는 처리 동작들은 애플리케이션들 및/또는 디바이스 기능들이 실행되는 운영 체제 또는 운영 플랫폼의 실행을 포함한다. 처리 동작들은 인간 사용자 또는 다른 디바이스들과의 I/O(입력/출력)에 관련된 동작들, 전력 관리에 관련된 동작들, 컴퓨팅 디바이스(2400)를 다른 디바이스에 접속하는 것에 관련된 동작들, 및/또는 그와 유사한 것을 포함한다. 처리 동작들은 또한 오디오 I/O 및/또는 디스플레이 I/O에 관련된 동작들을 포함할 수 있다.
일부 실시예들에서, 프로세서(2404)는 다수의 처리 코어들(코어들로도 지칭됨)(2408a, 2408b, 2408c)을 포함한다. 단지 3개의 코어(2408a, 2408b, 및 2408c)가 도 4에 도시되어 있지만, 프로세서(2404)는 임의의 다른 적절한 수의 처리 코어들, 예를 들어, 수십, 또는 심지어 수백개의 처리 코어들을 포함할 수 있다. 처리 코어들(2408a, 2408b, 2408c)은 단일 집적 회로(IC) 칩 상에 구현될 수 있다. 더욱이, 칩은 하나 이상의 공유 및/또는 전용 캐시, 버스 또는 인터커넥션, 그래픽 및/또는 메모리 컨트롤러, 또는 다른 컴포넌트를 포함할 수 있다.
일부 실시예들에서, 프로세서(2404)는 캐시(2406)를 포함한다. 일 예에서, 캐시(2406)의 섹션들은 개별적인 코어들(2408)에 전용될 수 있다(예를 들어, 캐시(2406)의 제1 섹션은 코어(2408a)에 전용될 수 있고, 캐시(2406)의 제2 섹션은 코어(2408b)에 전용될 수 있고, 기타등등일 수 있다). 일 예에서, 캐시(2406)의 하나 이상의 섹션은 코어들(2408) 중 2개 이상 사이에서 공유될 수 있다. 캐시(2406)는 상이한 레벨들, 예를 들어, 레벨 1(L1) 캐시, 레벨 2(L2) 캐시, 레벨 3(L3) 캐시 등으로 분할될 수 있다.
일부 실시예들에서, 프로세서 코어(2404)는 코어(2404)에 의한 실행을 위해 명령어들(조건부 분기들을 갖는 명령어들을 포함함)을 페치하기 위한 페치 유닛(fetch unit)을 포함할 수 있다. 명령어들은 메모리(2430)와 같은 임의의 스토리지 디바이스들로부터 페치될 수 있다. 프로세서 코어(2404)는 페치된 명령어를 디코딩하는 디코드 유닛을 또한 포함할 수 있다. 예를 들어, 디코드 유닛은 페치된 명령어를 복수의 마이크로-연산들(micro-operations)로 디코딩할 수 있다. 프로세서 코어(2404)는 디코딩된 명령어들을 저장하는 것과 연관된 다양한 연산들을 수행하는 스케줄 유닛을 포함할 수 있다. 예를 들어, 스케줄 유닛은, 명령어들이 디스패치(dispatch)될 준비가 될 때까지, 예를 들어, 디코딩된 명령어의 모든 소스 값들이 이용가능해질 때까지, 디코드 유닛으로부터의 데이터를 유지(hold)할 수 있다. 일 실시예에서, 스케줄 유닛은 실행을 위해 실행 유닛에 디코딩된 명령어들을 스케줄링 및/또는 발행(또는 디스패치)할 수 있다.
실행 유닛은, 그것들이 디코딩(예를 들어, 디코드 유닛에 의해) 및 디스패치(예를 들어, 스케줄 유닛에 의해)된 후에 디스패치된 명령어들을 실행할 수 있다. 일 실시예에서, 실행 유닛은 하나보다 많은 실행 유닛(예컨대, 이미징 산출 유닛, 그래픽 산출 유닛, 범용 산출 유닛 등)을 포함할 수 있다. 실행 유닛은 또한 덧셈, 뺄셈, 곱셈, 및/또는 나눗셈과 같은 다양한 산술 연산들을 수행할 수 있고, 하나 이상의 산술 논리 유닛(arithmetic logic unit, ALU)을 포함할 수 있다. 일 실시예에서, 코-프로세서(도시되지 않음)가 실행 유닛과 함께 다양한 산술 연산들을 수행할 수 있다.
또한, 실행 유닛은 명령어들을 비순차적으로(out-of-order) 실행할 수 있다. 따라서, 프로세서 코어(2404)는 일 실시예에서 비순차적 프로세서 코어일 수 있다. 프로세서 코어(2404)는 또한 리타이어먼트 유닛(retirement unit)을 포함할 수 있다. 리타이어먼트 유닛은 실행된 명령어들이 커밋(commit)된 후에 실행된 명령어들을 리타이어(retire)할 수 있다. 일 실시예에서, 실행된 명령어들의 리타이어먼트는 프로세서 상태가 명령어들의 실행으로부터 커밋되는 것, 명령어들에 의해 사용된 물리 레지스터들이 할당-해제되는 것 등을 초래할 수 있다. 프로세서 코어(2404)는 또한 하나 이상의 버스를 통해 프로세서 코어(2404)의 컴포넌트들과 다른 컴포넌트들 사이의 통신을 가능하게 하는 버스 유닛을 포함할 수 있다. 프로세서 코어(2404)는 (할당된 앱 우선순위들 및/또는 서브시스템 상태들(모드들) 연관과 관련된 값들과 같은) 코어(2404)의 다양한 컴포넌트들에 의해 액세스되는 데이터를 저장하는 하나 이상의 레지스터를 또한 포함할 수 있다.
일부 실시예들에서, 디바이스(2400)는 접속성 회로들(connectivity circuitries)(2431)을 포함한다. 예를 들어, 접속성 회로들(2431)은, 예를 들어, 디바이스(2400)가 외부 디바이스들과 통신할 수 있게 하기 위해 하드웨어 디바이스들(예를 들어, 무선 및/또는 유선 커넥터들 및 통신 하드웨어) 및/또는 소프트웨어 컴포넌트들(예를 들어, 드라이버들, 프로토콜 스택들)을 포함한다. 디바이스(2400)는 다른 컴퓨팅 디바이스들, 무선 액세스 포인트들 또는 기지국들 등과 같은 외부 디바이스들로부터 분리될 수 있다.
일 예에서, 접속성 회로들(2431)은 다수의 상이한 타입들의 접속성을 포함할 수 있다. 일반화하기 위해, 접속성 회로들(2431)은 셀룰러 접속성 회로, 무선 접속성 회로 등을 포함할 수 있다. 접속성 회로들(2431)의 셀룰러 접속성 회로들은 GSM(global system for mobile communications) 또는 변형들 또는 파생물들, CDMA(code division multiple access) 또는 변형들 또는 파생물들, TDM(time division multiplexing) 또는 변형들 또는 파생물들, 3GPP(3rd Generation Partnership Project) UMTS(Universal Mobile Telecommunications Systems) 시스템 또는 변형들 또는 파생물들, 3GPP LTE(Long-Term Evolution) 시스템 또는 변형들 또는 파생물들, 3GPP LTE-A(LTE-Advanced) 시스템 또는 변형들 또는 파생물들, 5G(Fifth Generation) 무선 시스템 또는 변형들 또는 파생물들, 5G 모바일 네트워크 시스템 또는 변형들 또는 파생물들, 5G NR(New Radio) 시스템 또는 변형들 또는 파생물들, 또는 다른 셀룰러 서비스 표준들을 통해 제공되는 바와 같은, 무선 캐리어들에 의해 제공되는 셀룰러 네트워크 접속성(cellular network connectivity)을 일반적으로 지칭한다. 접속성 회로들(2431)의 무선 접속성 회로들(또는 무선 인터페이스)은 셀룰러가 아닌 무선 접속성을 지칭하고, 개인 영역 네트워크들(예컨대, 블루투스, 근접장(Near Field) 등), 로컬 영역 네트워크들(예컨대, Wi-Fi), 및/또는 광역 네트워크들(예컨대, WiMax), 및/또는 다른 무선 통신을 포함할 수 있다. 일 예에서, 접속성 회로들(2431)은, 예를 들어, 시스템 실시예가 무선 디바이스, 예를 들어, 셀폰 또는 개인용 디지털 보조기기 내로 통합될 수 있도록, 유선 또는 무선 인터페이스와 같은 네트워크 인터페이스를 포함할 수 있다.
일부 실시예들에서, 디바이스(2400)는 하나 이상의 I/O 디바이스와의 상호작용에 관련된 하드웨어 디바이스들 및/또는 소프트웨어 컴포넌트들을 대표하는 제어 허브(2432)를 포함한다. 예를 들어, 프로세서(2404)는 제어 허브(2432)를 통해 디스플레이(2422), 하나 이상의 주변 디바이스(2424), 스토리지 디바이스(2428), 하나 이상의 다른 외부 디바이스(2429) 등과 통신할 수 있다. 제어 허브(2432)는 칩셋, 플랫폼 제어 허브(Platform Control Hub, PCH), 및/또는 이와 유사한 것일 수 있다.
예를 들어, 제어 허브(2432)는, 예를 들어, 사용자가 시스템과 상호작용할 수 있는 디바이스(2400)에 접속하는 추가적인 디바이스들에 대한 하나 이상의 접속 포인트를 예시한다. 예를 들어, 디바이스(2400)에 부착될 수 있는 디바이스들(예를 들어, 디바이스들(2429))은 마이크로폰 디바이스들, 스피커 또는 스테레오 시스템들, 오디오 디바이스들, 비디오 시스템들 또는 다른 디스플레이 디바이스들, 키보드 또는 키패드 디바이스들, 또는 카드 판독기들 또는 다른 디바이스들과 같은 특정 애플리케이션들과 함께 사용하기 위한 다른 I/O 디바이스들을 포함한다.
위에서 언급된 바와 같이, 제어 허브(2432)는 오디오 디바이스들, 디스플레이(2422) 등과 상호작용할 수 있다. 예를 들어, 마이크로폰 또는 다른 오디오 디바이스를 통한 입력은 디바이스(2400)의 하나 이상의 애플리케이션 또는 기능에 대한 입력 또는 커맨드들을 제공할 수 있다. 추가적으로, 오디오 출력이 디스플레이 출력 대신에 또는 디스플레이 출력에 추가하여 제공될 수 있다. 다른 예에서, 디스플레이(2422)가 터치 스크린을 포함하는 경우, 디스플레이(2422)는 또한, 제어 허브(2432)에 의해 적어도 부분적으로 관리될 수 있는 입력 디바이스로서 작용한다. 제어 허브(2432)에 의해 관리되는 I/O 기능들을 제공하기 위한 추가적인 버튼들 또는 스위치들이 컴퓨팅 디바이스(2400) 상에 또한 존재할 수 있다. 일 실시예에서, 제어 허브(2432)는 가속도계들, 카메라들, 광 센서들 또는 다른 환경 센서들, 또는 디바이스(2400)에 포함될 수 있는 다른 하드웨어와 같은 디바이스들을 관리한다. 입력은 직접적 사용자 상호작용뿐만 아니라 시스템의 동작에 영향을 주는 환경적 입력을 시스템에 제공하는 것(예컨대, 잡음 필터링, 휘도 검출을 위한 디스플레이 조정, 카메라 플래시 적용, 또는 다른 특징들)의 일부일 수 있다.
일부 실시예들에서, 제어 허브(2432)는 임의의 적절한 통신 프로토콜, 예를 들어, PCIe(Peripheral Component Interconnect Express), USB(Universal Serial Bus), 선더볼트(Thunderbolt), HDMI(High Definition Multimedia Interface), 파이어와이어(Firewire) 등을 사용하여 다양한 디바이스들에 결합될 수 있다.
일부 실시예들에서, 디스플레이(2422)는 사용자가 디바이스(2400)와 상호작용하기 위한 시각적 및/또는 촉각적 디스플레이를 제공하는 하드웨어(예를 들어, 디스플레이 디바이스들) 및 소프트웨어(예를 들어, 드라이버들) 컴포넌트들을 나타낸다. 디스플레이(2422)는 디스플레이를 사용자에게 제공하기 위해 사용되는 디스플레이 인터페이스, 디스플레이 스크린, 및/또는 하드웨어 디바이스를 포함할 수 있다. 일부 실시예들에서, 디스플레이(2422)는 사용자에게 출력과 입력 둘 다를 제공하는 터치 스크린(또는 터치 패드) 디바이스를 포함한다. 일 예에서, 디스플레이(2422)는 프로세서(2404)와 직접 통신할 수 있다. 디스플레이(2422)는 모바일 전자 디바이스 또는 랩톱 디바이스에서와 같은 내부 디스플레이 디바이스, 또는 디스플레이 인터페이스(예를 들어, DisplayPort 등)를 통해 부착된 외부 디스플레이 디바이스 중 하나 이상일 수 있다. 일 실시예에서, 디스플레이(2422)는 가상 현실(VR) 애플리케이션들 또는 증강 현실(AR) 애플리케이션들에서 사용하기 위한 입체 디스플레이 디바이스(stereoscopic display device)와 같은 헤드 장착형 디스플레이(head mounted display, HMD)일 수 있다.
일부 실시예들에서, 그리고, 도면에 도시되지는 않았지만, 프로세서(2404)에 추가하여(또는 그 대신에), 디바이스(2400)는, 디스플레이(2422) 상에 콘텐츠를 디스플레이하는 하나 이상의 양태를 제어할 수 있는 하나 이상의 그래픽 처리 코어를 포함하는 그래픽 처리 유닛(GPU)을 포함할 수 있다.
제어 허브(2432)(또는 플랫폼 컨트롤러 허브)는 예를 들어 주변 디바이스들(2424)에 대한 주변장치 접속들을 이루기 위한 소프트웨어 컴포넌트들(예를 들어, 드라이버들, 프로토콜 스택들)뿐만 아니라, 하드웨어 인터페이스들 및 커넥터들을 포함할 수 있다.
디바이스(2400)는 다른 컴퓨팅 디바이스들에 대한 주변 디바이스일 수 있을 뿐만 아니라 그에 접속된 주변 디바이스들을 가질 수 있다는 점이 이해될 것이다. 디바이스(2400)는 디바이스(2400) 상의 콘텐츠의 관리(예를 들어, 다운로딩 및/또는 업로딩, 변경, 동기화)와 같은 목적들을 위해 다른 컴퓨팅 디바이스들에 접속하기 위한 "도킹(docking)" 커넥터를 가질 수 있다. 추가적으로, 도킹 커넥터는 컴퓨팅 디바이스(2400)가 콘텐츠 출력을 제어할 수 있게 하는 특정 주변장치들에, 예를 들어, 시청각 시스템들 및/또는 다른 시스템들에, 디바이스(2400)가 접속할 수 있게 할 수 있다.
사유 도킹 커넥터(proprietary docking connector) 또는 다른 사유 접속 하드웨어에 추가하여, 디바이스(2400)는 공통 또는 표준 기반 커넥터들을 통해 주변장치 접속들을 이룰 수 있다. 공통 타입들은 USB(Universal Serial Bus) 커넥터(이는 다수의 상이한 하드웨어 인터페이스들 중 임의의 것을 포함할 수 있음), MDP(MiniDisplayPort)를 포함하는 DisplayPort, HDMI(High Definition Multimedia Interface), 파이어와이어(Firewire), 또는 다른 타입들을 포함할 수 있다.
일부 실시예들에서, 접속성 회로들(2431)은 예를 들어 프로세서(2404)에 직접 결합되는 것에 부가하여, 또는 그 대신에, 제어 허브(2432)에 결합될 수 있다. 일부 실시예들에서, 디스플레이(2422)는 예를 들어 프로세서(2404)에 직접 결합되는 것에 부가하여, 또는 그 대신에, 제어 허브(2432)에 결합될 수 있다.
일부 실시예들에서, 디바이스(2400)는 메모리 인터페이스(2434)를 통해 프로세서(2404)에 결합된 메모리(2430)를 포함한다. 메모리(2430)는 디바이스(2400)에 정보를 저장하기 위한 메모리 디바이스들을 포함한다.
일부 실시예들에서, 메모리(2430)는 다양한 실시예들을 참조하여 설명된 바와 같이 안정된 클록킹을 유지하기 위한 장치를 포함한다. 메모리는 비휘발성(메모리 디바이스에의 전력이 중단되는 경우 상태가 변경되지 않음) 및/또는 휘발성(메모리 디바이스에의 전력이 중단되는 경우 상태가 불확정적이 됨) 메모리 디바이스들을 포함할 수 있다. 메모리 디바이스(2430)는 DRAM(dynamic random-access memory) 디바이스, SRAM(static random-access memory) 디바이스, 플래시 메모리 디바이스, 상 변화 메모리 디바이스, 또는 프로세스 메모리로서 역할을 하기에 적합한 성능을 갖는 일부 다른 메모리 디바이스일 수 있다. 일 실시예에서, 메모리(2430)는, 하나 이상의 프로세서(2404)가 애플리케이션 또는 프로세스를 실행할 때 사용하기 위한 데이터 및 명령어들을 저장하기 위해, 디바이스(2400)에 대한 시스템 메모리로서 동작할 수 있다. 메모리(2430)는 애플리케이션 데이터, 사용자 데이터, 음악, 사진들, 문서들, 또는 다른 데이터와, 디바이스(2400)의 애플리케이션들 및 기능들의 실행과 관련된 시스템 데이터(장기적이든지 또는 일시적이든지)를 저장할 수 있다.
다양한 실시예들 및 예들의 요소들은 또한 컴퓨터 실행가능 명령어들(예를 들어, 본 명세서에서 논의되는 임의의 다른 프로세스들을 구현하기 위한 명령어들)을 저장하기 위한 머신 판독가능 매체(예를 들어, 메모리(2430))로서 제공된다. 머신 판독가능 매체(예를 들어, 메모리(2430))는, 플래시 메모리, 광학 디스크들, CD-ROM들, DVD ROM들, RAM들, EPROM들, EEPROM들, 자기 또는 광학 카드들, 상 변화 메모리(phase change memory, PCM), 또는 전자적 또는 컴퓨터 실행가능 명령어들을 저장하기에 적합한 다른 타입들의 머신 판독가능 매체를 포함할 수 있으며, 이에 제한되지 않는다. 예를 들어, 본 개시내용의 실시예들은 원격 컴퓨터(예를 들어, 서버)로부터 요청 컴퓨터(예를 들어, 클라이언트)에게 통신 링크(예를 들어, 모뎀 또는 네트워크 접속)를 통해 데이터 신호들에 의해 전송될 수 있는 컴퓨터 프로그램(예를 들어, BIOS)으로서 다운로드될 수 있다.
일부 실시예들에서, 디바이스(2400)는, 예를 들어, 디바이스(2400)의 다양한 컴포넌트들의 온도를 측정하기 위한 온도 측정 회로들(2440)을 포함한다. 일 예에서, 온도 측정 회로들(2440)은, 온도가 측정되고 모니터링되는 다양한 컴포넌트들에 내장되거나, 결합되거나 부착될 수 있다. 예를 들어, 온도 측정 회로들(2440)은 코어들(2408a, 2408b, 2408c), 전압 조절기(2414), 메모리(2430), SoC(2401)의 마더보드, 및/또는 디바이스(2400)의 임의의 다른 적절한 컴포넌트 중 하나 이상의(또는 그 내의) 온도를 측정할 수 있다.
일부 실시예들에서, 디바이스(2400)는, 예를 들어, 디바이스(2400)의 하나 이상의 컴포넌트에 의해 소비되는 전력을 측정하기 위한 전력 측정 회로들(2442)을 포함한다. 일 예에서, 전력을 측정하는 것에 부가하여 또는 그 대신에, 전력 측정 회로들(2442)은 전압 및/또는 전류를 측정할 수 있다. 일 예에서, 전력 측정 회로들(2442)은 전력, 전압, 및/또는 전류 소비가 측정되고 모니터링되는 다양한 컴포넌트들에 내장, 결합, 또는 부착될 수 있다. 예를 들어, 전력 측정 회로들(2442)은 하나 이상의 전압 조절기(2414)에 의해 공급되는 전력, 전류 및/또는 전압, SoC(2401)에 공급되는 전력, 디바이스(2400)에 공급되는 전력, 디바이스(2400)의 프로세서(2404)(또는 임의의 다른 컴포넌트)에 의해 소비되는 전력 등을 측정할 수 있다.
일부 실시예들에서, 디바이스(2400)는 전압 조절기(VR)(2414)로 일반적으로 지칭되는 하나 이상의 전압 조절기 회로를 포함한다. VR(2414)은 적절한 전압 레벨들에서 신호들을 생성하며, 이 신호들은 디바이스(2400)의 임의의 적절한 컴포넌트들을 동작시키기 위해 공급될 수 있다. 단지 예로서, VR(2414)은 디바이스(2400)의 프로세서(2404)에 신호를 공급하는 것으로 도시되어 있다. 일부 실시예들에서, VR(2414)은 하나 이상의 전압 식별(Voltage Identification, VID) 신호를 수신하고, VID 신호들에 기초하여 적절한 레벨들에서 전압 신호를 생성한다. 다양한 타입의 VR들이 VR(2414)에 대해 활용될 수 있다. 예를 들어, VR(2414)은 "벅(buck)" VR, "부스트" VR, 벅 및 부스트 VR들의 조합, LDO(low dropout) 조절기들, 스위칭 DC-DC 조절기들, 일정한-온-타임 컨트롤러 기반 DC-DC 조절기(constant-on-time controller based DC-DC regulator) 등을 포함할 수 있다. 벅 VR은 1보다 작은 비율로 입력 전압이 출력 전압으로 변환될 필요가 있는 전력 전달 애플리케이션들(power delivery applications)에서 일반적으로 사용된다. 부스트 VR은 1보다 큰 비율로 입력 전압이 출력 전압으로 변환될 필요가 있는 전력 전달 애플리케이션들에서 일반적으로 사용된다. 일부 실시예들에서, 각각의 프로세서 코어는, PCU(2410a/b) 및/또는 PMIC(2412)에 의해 제어되는, 그 자신의 VR을 갖는다. 일부 실시예들에서, 각각의 코어는 전력 관리를 위한 효율적인 제어를 제공하기 위해 분산된 LDO들의 네트워크를 갖는다. LDO들은 디지털, 아날로그, 또는 디지털 또는 아날로그 LDO들의 조합일 수 있다. 일부 실시예들에서, VR(2414)은 전력 공급 레일(들)을 통한 전류를 측정하는 전류 추적 장치를 포함한다.
일부 실시예들에서, VR(2414)은 비례-적분-미분(proportional-integral-derivative, PID) 필터(디지털 타입-III 보상기라고도 알려짐)의 상태들을 관리하는 디지털 제어 스킴을 포함한다. 디지털 제어 스킴은, 적분기 및 그 내부 상태들(이전 값들 또는 메모리)이 현재 공칭 듀티 사이클 플러스 deltaD의 합인 듀티 사이클로 설정되는 동안 PID의 비례 및 미분 항들이 0으로 설정되는 듀티 사이클을 포화시키는 비선형 제어를 구현하도록 PID 필터의 적분기를 제어한다. deltaD는 전압 조절기를 ICCmin으로부터 ICCmax로 조절하기 위해 사용되는 최대 듀티 사이클 증분이고, 포스트 실리콘(post silicon)으로 설정될 수 있는 구성 레지스터이다. 상태 머신은 (출력 전압 Vout을 다시 조절 윈도우(regulation window)로 가져오는) 비선형 전부 온 상태로부터, 출력 전압을 요구되는 기준 전압 Vref보다 약간 더 높게 유지하는 개방 루프 듀티 사이클로 이동한다. 커맨드된 듀티 사이클에서 이 개방 루프 상태의 특정 기간 후에, 상태 머신은 출력 전압이 커맨드된 Vref에 근접할 때까지 개방 루프 듀티 사이클 값을 램프 다운(ramp down)한다. 이와 같이, VR(2414)로부터의 출력 공급 상의 출력 채터(output chatter)가 완전히 제거(또는 실질적으로 제거)되고, 이용가능한 출력 디커플링 커패시턴스와 부하의 di/dt 및 비교기 지연에 기초하여 보장된 Vmin으로 이어질 수 있는 단일 언더슈트 전이(single undershoot transition)만이 존재한다.
일부 실시예들에서, 디바이스(2400)는 클록 생성기(2416)로 일반적으로 지칭되는 하나 이상의 클록 생성기 회로를 포함한다. 클록 생성기(2416)는 적절한 주파수 레벨들에서 클록 신호들을 생성하고, 이 클록 신호들은 디바이스(2400)의 임의의 적절한 컴포넌트들에 공급될 수 있다. 단지 예로서, 클록 생성기(2416)는 디바이스(2400)의 프로세서(2404)에 클록 신호들을 공급하는 것으로 도시되어 있다. 일부 실시예들에서, 클록 생성기(2416)는 하나 이상의 주파수 식별(Frequency Identification, FID) 신호를 수신하고, FID 신호들에 기초하여, 적절한 주파수에서 클록 신호들을 생성한다.
일부 실시예들에서, 디바이스(2400)는 디바이스(2400)의 다양한 컴포넌트들에 전력을 공급하는 배터리(2418)를 포함한다. 단지 예로서, 배터리(2418)는 프로세서(2404)에 전력을 공급하는 것으로 도시되어 있다. 도면들에 도시되지 않았지만, 디바이스(2400)는 예를 들어 교류(AC) 어댑터로부터 수신된 AC 전원에 기초하여 배터리를 재충전하기 위한 충전 회로를 포함할 수 있다. 일부 실시예들에서, 배터리(2418)는 배터리 제어 및 드라이버 MOS(DrMOS) 블록을 포함하는 배터리 서브시스템을 포함한다.
일부 실시예들에서, 충전 회로(예를 들어, 2418)는 벅-부스트 컨버터(buck-boost converter)를 포함한다. 이 벅-부스트 컨버터는 전통적인 벅-부스트 컨버터들을 위한 하프-브리지들(half-bridges) 대신에 사용되는 DrMOS 또는 DrGaN 디바이스들을 포함한다. 다양한 실시예들은 여기서 DrMOS를 참조하여 설명된다. 그러나, 실시예들은 DrGaN에 적용가능하다. DrMOS 디바이스들은 감소된 기생 및 최적화된 MOSFET 패키징으로 인해 전력 변환에 있어서 더 나은 효율을 허용한다. 데드-타임 관리가 DrMOS의 내부에 있기 때문에, 데드-타임 관리는 종래의 벅-부스트 컨버터들에 대한 것보다 더 정확하여 변환에 있어서 더 높은 효율로 이어진다. 더 높은 동작 주파수는 더 작은 인덕터 크기를 허용하고, 이는 결국 DrMOS 기반 벅-부스트 컨버터를 포함하는 충전기의 z-높이를 감소시킨다. 다양한 실시예들의 벅-부스트 컨버터는 DrMOS 디바이스들을 위한 이중-접이식 부트스트랩(dual-folded bootstrap)을 포함한다. 일부 실시예들에서, 전통적인 부트스트랩 커패시터들 외에도, 인덕터 노드들을 두 세트의 DrMOS 스위치들에 교차-결합(cross-couple)하는 접이식 부트스트랩 커패시터들이 추가된다.
일부 실시예들에서, 디바이스(2400)는 전력 제어 유닛(PCU)(2410)(전력 관리 유닛(PMU), 전력 컨트롤러 등으로도 지칭됨)을 포함한다. 일 예에서, PCU(2410)의 일부 섹션들은 하나 이상의 처리 코어(2408)에 의해 구현될 수 있고, PCU(2410)의 이 섹션들은 PCU(2410a)로 라벨링되어 있고 점선 상자를 사용하여 상징적으로 도시되어 있다. 일 예에서, PCU(2410)의 일부 다른 섹션들은 처리 코어들(2408)의 외부에 구현될 수 있고, PCU(2410)의 이 섹션들은 PCU(2410b)로 라벨링되어 있고 점선 상자를 사용하여 상징적으로 도시되어 있다. PCU(2410)는 디바이스(2400)에 대한 다양한 전력 관리 동작들을 구현할 수 있다. PCU(2410)는 디바이스(2400)에 대한 다양한 전력 관리 동작들을 구현하기 위해 하드웨어 인터페이스들, 하드웨어 회로들, 커넥터들, 레지스터들 등뿐만 아니라, 소프트웨어 컴포넌트들(예를 들어, 드라이버들, 프로토콜 스택들)을 포함할 수 있다.
일부 실시예들에서, 디바이스(2400)는 예를 들어 디바이스(2400)에 대한 다양한 전력 관리 동작들을 구현하기 위해 전력 관리 집적 회로(PMIC)(2412)를 포함한다. 일부 실시예들에서, PMIC(2412)는 재구성가능 전력 관리 IC(Reconfigurable Power Management IC, RPMIC) 및/또는 IMVP(Intel® Mobile Voltage Positioning)이다. 일 예에서, PMIC는 프로세서(2404)로부터 분리된 IC 칩 내에 있다. 이는 디바이스(2400)에 대한 다양한 전력 관리 동작들을 구현할 수 있다. PMIC(2412)는 디바이스(2400)에 대한 다양한 전력 관리 동작들을 구현하기 위해 하드웨어 인터페이스들, 하드웨어 회로들, 커넥터들, 레지스터들 등뿐만 아니라, 소프트웨어 컴포넌트들(예를 들어, 드라이버들, 프로토콜 스택들)을 포함할 수 있다.
일 예에서, 디바이스(2400)는 PCU(2410) 또는 PMIC(2412) 중 하나 또는 둘 다를 포함한다. 일 예에서, PCU(2410) 또는 PMIC(2412) 중 어느 하나는 디바이스(2400)에 없을 수 있고, 따라서 이들 컴포넌트들은 점선을 사용하여 도시되어 있다.
디바이스(2400)의 다양한 전력 관리 동작들은 PCU(2410)에 의해, PMIC(2412)에 의해, 또는 PCU(2410)와 PMIC(2412)의 조합에 의해 수행될 수 있다. 예를 들어, PCU(2410) 및/또는 PMIC(2412)는 디바이스(2400)의 다양한 컴포넌트들에 대한 전력 상태(예를 들어, P-상태)를 선택할 수 있다. 예를 들어, PCU(2410) 및/또는 PMIC(2412)는 디바이스(2400)의 다양한 컴포넌트들에 대한 (예를 들어, ACPI(Advanced Configuration and Power Interface) 사양에 따른) 전력 상태를 선택할 수 있다. 단지 예로서, PCU(2410) 및/또는 PMIC(2412)는 디바이스(2400)의 다양한 컴포넌트들이 슬립 상태, 활성 상태, 적절한 C 상태(예를 들어, ACPI 사양에 따른 C0 상태, 또는 다른 적절한 C 상태) 등으로 전이하게 할 수 있다. 일 예에서, PCU(2410) 및/또는 PMIC(2412)는 VR(2414)에 의해 출력되는 전압 및/또는 클록 생성기에 의해 출력되는 클록 신호의 주파수를, 예를 들어, 각각 VID 신호 및/또는 FID 신호를 출력함으로써 제어할 수 있다. 일 예에서, PCU(2410) 및/또는 PMIC(2412)는 배터리 전력 사용, 배터리(2418)의 충전, 및 전력 절감 동작에 관련된 특징들을 제어할 수 있다.
클록 생성기(2416)는 위상 고정 루프(phase locked loop, PLL), 주파수 고정 루프(frequency locked loop, FLL), 또는 임의의 적절한 클록 소스를 포함할 수 있다. 일부 실시예들에서, 프로세서(2404)의 각각의 코어는 그 자신의 클록 소스를 갖는다. 이와 같이, 각각의 코어는 다른 코어의 동작 주파수와 무관한 주파수에서 동작할 수 있다. 일부 실시예들에서, PCU(2410) 및/또는 PMIC(2412)는 적응적 또는 동적 주파수 스케일링 또는 조정을 수행한다. 예를 들어, 프로세서 코어의 클록 주파수는, 코어가 그것의 최대 전력 소비 임계 또는 한계에서 동작하고 있지 않다면 증가될 수 있다. 일부 실시예들에서, PCU(2410) 및/또는 PMIC(2412)는 프로세서의 각각의 코어의 동작 조건을 결정하고, PCU(2410) 및/또는 PMIC(2412)가 코어가 타겟 성능 레벨 아래로 동작하고 있다고 결정할 때 코어 클록킹 소스(core clocking source)(예를 들어, 그 코어의 PLL)가 잠금 손실 없이 그 코어의 주파수 및/또는 전력 공급 전압을 기회주의적으로 조정한다. 예를 들어, 코어가 그 코어 또는 프로세서(2404)에 대해 할당되는 총 전류보다 적은 전력 공급 레일(power supply rail)로부터 전류를 인출하고 있다면, PCU(2410) 및/또는 PMIC(2412)는, (예를 들어, 클록 주파수 및/또는 전력 공급 전압 레벨을 증가시킴으로써) 그 코어 또는 프로세서(2404)에 대한 전력 인출을 일시적으로 증가시킬 수 있어 코어 또는 프로세서(2404)가 더 높은 성능 레벨로 수행할 수 있다. 이와 같이, 전압 및/또는 주파수는 제품 신뢰성을 위반하지 않고 프로세서(2404)에 대해 일시적으로 증가될 수 있다.
일 예에서, PCU(2410) 및/또는 PMIC(2412)는, 예를 들어, 전력 측정 회로들(2442), 온도 측정 회로들(2440)로부터의 측정들, 배터리(2418)의 충전 레벨, 및/또는 전력 관리를 위해 사용될 수 있는 임의의 다른 적절한 정보를 수신하는 것에 적어도 부분적으로 기초하여 전력 관리 동작들을 수행할 수 있다. 그 목적을 위해, PMIC(2412)는 시스템/플랫폼의 전력/열적 거동에 영향을 미치는 하나 이상의 팩터의 다양한 값들/변동들을 감지/검출하기 위해 하나 이상의 센서에 통신가능하게 결합된다. 하나 이상의 팩터의 예는 전류, 전압 드룹(voltage droop), 온도, 동작 주파수, 동작 전압, 전력 소비, 코어-간 통신 활동 등을 포함한다. 이러한 센서들 중 하나 이상은 컴퓨팅 시스템의 하나 이상의 컴포넌트 또는 로직/IP 블록과 물리적으로 근접하게(및/또는 열적으로 접촉/결합되게) 제공될 수 있다. 추가적으로, 센서(들)는 PCU(2410) 및/또는 PMIC(2412)가 센서들 중 하나 이상에 의해 검출된 값(들)에 적어도 부분적으로 기초하여 프로세서 코어 에너지를 관리할 수 있게 하기 위해 적어도 일 실시예에서 PCU(2410) 및/또는 PMIC(2412)에 직접 결합될 수 있다.
(소프트웨어 스택의 모든 요소가 도시되지는 않지만) 디바이스(2400)의 예시적인 소프트웨어 스택이 또한 도시된다. 단지 예로서, 프로세서들(2404)은 애플리케이션 프로그램들(2450), 운영 체제(2452), 하나 이상의 전력 관리(PM) 특정 애플리케이션 프로그램(예를 들어, 일반적으로 PM 애플리케이션(2458)이라고 지칭됨), 및/또는 이와 유사한 것을 실행할 수 있다. PM 애플리케이션들(2458)은 PCU(2410) 및/또는 PMIC(2412)에 의해 또한 실행될 수 있다. OS(2452)는 또한 하나 이상의 PM 애플리케이션(2456a, 2456b, 2456c)을 포함할 수 있다. OS(2452)는 또한 다양한 드라이버들(2454a, 2454b, 2454c) 등을 포함할 수 있으며, 그 중 일부는 전력 관리 목적들을 위해 특정될 수 있다. 일부 실시예들에서, 디바이스(2400)는 BIOS(Basic Input/output System)(2420)를 추가로 포함할 수 있다. BIOS(2420)는 OS(2452)와 (예를 들어, 하나 이상의 드라이버(2454)를 통해) 통신할 수 있고, 프로세서들(2404)과 통신할 수 있고, 기타등등일 수 있다.
예를 들어, PM 애플리케이션들(2458, 2456), 드라이버들(2454), BIOS(2420) 등 중 하나 이상은 전력 관리 특정 태스크들을 구현하기 위해, 예를 들어, 디바이스(2400)의 다양한 컴포넌트들의 전압 및/또는 주파수를 제어하고, 웨이크-업 상태, 슬립 상태, 및/또는 디바이스(2400)의 다양한 컴포넌트들의 임의의 다른 적절한 전력 상태를 제어하고, 배터리 전력 사용, 배터리(2418)의 충전, 전력 절감 동작에 관련된 특징들 등을 제어하기 위해 사용될 수 있다.
일부 실시예들에서, 배터리(2418)는 배터리에 대한 균일한 압력을 허용하는 압력 챔버를 갖는 Li-금속 배터리이다. 압력 챔버는 배터리에 균일한 압력을 제공하기 위해 사용되는 금속 플레이트들(예컨대 압력 등화 플레이트(pressure equalization plate))에 의해 지지된다. 압력 챔버는 가압 가스, 탄성 재료, 스프링 플레이트 등을 포함할 수 있다. 압력 챔버의 외부 스킨은 자유롭게 휘어지고 그의 에지에서 (금속) 스킨에 의해 구속되지만, 여전히 배터리 셀을 압축하고 있는 플레이트에 균일한 압력을 가한다. 압력 챔버는 배터리에 균일한 압력을 주며, 이는, 예를 들어, 20% 더 많은 배터리 수명을 갖는 고에너지 밀도 배터리를 가능하게 하는데 사용된다.
일부 실시예들에서, PCU(2410a/b) 상에서 실행되는 pCode는 pCode의 런타임 지원을 위한 여분의 산출 및 원격측정 리소스들을 가능하게 하는 능력을 갖는다. 여기서 pCode는 SoC(2401)의 성능을 관리하기 위해 PCU(2410a/b)에 의해 실행되는 펌웨어를 지칭한다. 예를 들어, pCode는 프로세서에 대한 주파수들 및 적절한 전압들을 설정할 수 있다. pCode의 일부는 OS(2452)를 통해 액세스가능하다. 다양한 실시예들에서, 작업부하들, 사용자 거동, 및/또는 시스템 조건들에 기초하여 에너지 성능 선호도(Energy Performance Preference, EPP) 값을 동적으로 변경하는 메커니즘들 및 방법들이 제공된다. OS(2452)와 pCode 사이에 잘 정의된 인터페이스가 있을 수 있다. 인터페이스는 몇몇 파라미터들의 소프트웨어 구성을 허용하거나 용이하게 할 수 있고 및/또는 pCode에 힌트를 제공할 수 있다. 예로서, EPP 파라미터는 성능이 더 중요한지 또는 배터리 수명이 더 중요한지에 관해 pCode 알고리즘에 알릴 수 있다.
이러한 지원은, OS(2452)의 일부로서 머신 러닝 지원을 포함시키고 OS가 머신 러닝 예측에 의해 하드웨어(예를 들어, SoC(2401)의 다양한 컴포넌트들)에 힌트를 주는 EPP 값을 튜닝하거나 또는 동적 튜닝 기술(DTT) 드라이버에 의해 행해지는 것과 유사한 방식으로 머신 러닝 예측을 pCode에 전달함으로써 OS(2452)에 의해서도 행해질 수 있다. 이 모델에서, OS(2452)는 DTT에 이용가능한 것과 동일한 세트의 원격측정들에 대한 가시성을 가질 수 있다. DTT 머신 러닝 힌트 설정의 결과로서, pCode는 활성화 타입의 머신 러닝 예측에 따라 최적의 전력 및 성능 결과들을 달성하기 위해 그의 내부 알고리즘들을 튜닝할 수 있다. 예로서 pCode는 사용자 활동에 대한 빠른 응답을 가능하게 하기 위해 프로세서 이용 변화에 대한 책임을 증가시킬 수 있거나, 또는 프로세서 이용에 대한 책임을 감소시킴으로써 또는 더 많은 전력을 절약하고 에너지 절약 최적화를 튜닝함으로써 손실된 성능을 증가시킴으로써 에너지 절약에 대한 바이어스를 증가시킬 수 있다. 이 접근법은, 인에이블된 활동들의 타입들이 시스템이 인에이블할 수 있는 것보다 성능 레벨이 약간 떨어지는 경우에 더 많은 배터리 수명을 절약하는 것을 용이하게 할 수 있다. pCode는 OS(2452)에서 하나와 DTT와 같은 소프트웨어로부터 하나인 2개의 입력을 취할 수 있는 동적 EPP에 대한 알고리즘을 포함할 수 있고, 더 높은 성능 및/또는 응답성을 제공하도록 선택적으로 선택할 수 있다. 이 방법의 일부로서, pCode는 DTT에서 상이한 타입들의 활동을 위해 DTT에 대한 그의 반응을 튜닝하는 옵션을 가능하게 할 수 있다.
일부 실시예들에서, pCode는 배터리 모드에서 SoC의 성능을 향상시킨다. 일부 실시예들에서, pCode는 배터리 모드에서 급격히 더 높은 SoC 피크 전력 한계 레벨들(및 따라서 더 높은 터보 성능)을 허용한다. 일부 실시예들에서, pCode는 전력 스로틀링을 구현하고 인텔의 동적 튜닝 기술(DTT)의 일부이다. 다양한 실시예들에서, 피크 전력 한계는 PL4로 지칭된다. 그러나, 실시예들은 다른 피크 전력 한계들에 적용가능하다. 일부 실시예들에서, pCode는 시스템이 예기치 않은 셧다운(또는 블랙 스크리닝)을 방지하는 방식으로 Vth 임계 전압(플랫폼이 SoC를 스로틀링할 전압 레벨)을 설정한다. 일부 실시예들에서, pCode는 임계 전압(Vth)에 따라 Psoc,pk SoC 피크 전력 한계(예를 들어, PL4)를 계산한다. 이들은 2개의 종속 파라미터이고, 하나가 설정되면, 다른 하나가 계산될 수 있다. pCode는 시스템 파라미터들 및 동작 이력에 기초하여 하나의 파라미터(Vth)를 최적으로 설정하기 위해 사용된다. 일부 실시예들에서, pCode는 (천천히 변화하는) 이용가능한 배터리 전력에 기초하여 스로틀링 레벨(Psoc,th)을 동적으로 계산하고 SoC 스로틀링 피크 전력(Psoc,th)을 설정하는 스킴을 제공한다. 일부 실시예들에서, pCode는 Psoc,th에 기초하여 주파수들 및 전압들을 결정한다. 이 경우, 스로틀링 이벤트들은 SoC 성능에 덜 부정적인 영향을 미친다. 다양한 실시예들은 최대 성능(Pmax) 프레임워크가 동작할 수 있게 하는 스킴을 제공한다.
일부 실시예들에서, VR(2414)은 VR(2414)의 하이-사이드 스위치(high-side switch)를 통해 전류를 감지 및/또는 측정하는 전류 센서를 포함한다. 일부 실시예들에서, 전류 센서는 피드백에서 용량성 결합된 입력들을 갖는 증폭기를 사용하여 증폭기의 입력 오프셋을 감지하며, 이는 측정 동안 보상될 수 있다. 일부 실시예들에서, 피드백에서 용량성 결합된 입력들을 갖는 증폭기는 입력 공통-모드 사양들이 완화되는 영역에서 증폭기를 동작시키는데 사용되므로, 피드백 루프 이득 및/또는 대역폭이 더 높아진다. 일부 실시예들에서, 피드백에서 용량성 결합된 입력들을 갖는 증폭기는 높은-PSRR(power supply rejection ratio) 조절기들을 이용하여 국부적인 깨끗한 공급 전압을 생성함으로써 컨버터 입력 전압으로부터 센서를 동작시키는데 사용되어, 스위치 영역에서 전력 그리드에 대한 더 적은 중단을 야기한다. 일부 실시예들에서, 설계의 변형은 입력 전압과 컨트롤러 공급 사이의 차이를 샘플링하고, 전력 및 복제 스위치들의 드레인 전압들 사이의 차이를 재생성하기 위해 사용될 수 있다. 이것은 센서가 전력 공급 전압에 노출되지 않게 한다. 일부 실시예들에서, 피드백에서 용량성 결합된 입력들을 갖는 증폭기는 전류 감지 동안 입력 전압에서의 전력 전달 네트워크 관련(PDN-관련) 변화들을 보상하기 위해 사용된다.
본 명세서에서 "실시예", "일 실시예", "일부 실시예들", 또는 "다른 실시예들"이라는 언급은, 실시예들과 관련하여 설명된 특정한 특징, 구조, 또는 특성이, 반드시 모든 실시예가 아니라, 적어도 일부 실시예들에 포함된다는 것을 의미한다. "실시예, "일 실시예", 또는 "일부 실시예들"의 다양한 등장들은 모두가 반드시 동일한 실시예들을 지칭하는 것일 필요는 없다. 명세서에서 컴포넌트, 특징, 구조, 또는 특성이 "포함될 수도(may, might)", 또는 "포함될 수(could)" 있다고 진술하는 경우에, 그 특정 컴포넌트, 특징, 구조, 또는 특성이 포함되도록 요구되는 것은 아니다. 본 명세서 또는 청구항이 단수("a" 또는 "an") 요소를 언급하는 경우에, 그것이 요소들 중 단지 하나만이 존재한다는 것을 의미하는 것은 아니다. 명세서 또는 청구항들에서, "추가적인" 요소를 언급하는 경우에, 그것이 하나보다 많은 추가적인 요소들이 존재한다는 것을 배제하는 것은 아니다.
게다가, 특정 특징들, 구조들, 기능들, 또는 특성들이 하나 이상의 실시예에서 임의의 적당한 방식으로 조합될 수 있다. 예를 들어, 2개의 실시예와 연관된 특정한 특징들, 구조들, 기능들, 또는 특성들이 상호 배타적이지 않은 어디에서든 제1 실시예는 제2 실시예와 조합될 수 있다.
본 개시내용은 그 구체적인 실시예들과 함께 설명되었지만, 이러한 실시예들의 많은 대안들, 수정들, 및 변형들은 전술한 설명에 비추어 본 기술분야의 통상의 기술자에게 명백할 것이다. 본 개시내용의 실시예들은 첨부된 청구항들의 폭넓은 범위 내에 들어가는 것으로 이러한 모든 대안, 수정, 및 변형을 포괄하도록 의도된다.
또한, 집적 회로(IC) 칩들 및 다른 컴포넌트들로의 잘 알려진 전력/접지 접속들은, 설명 및 논의를 간단히 하고 개시내용을 불명료하게 하지 않기 위해, 제시된 도면들 내에 도시될 수 있거나 또는 도시되지 않을 수 있다. 또한, 배열들은 본 개시내용을 불명료하게 하는 것을 회피하기 위해 블록도 형태로 도시될 수 있고, 또한 이러한 블록도 배열들의 구현과 관련한 구체사항들이 본 개시내용이 구현될 플랫폼에 크게 종속된다(즉, 이러한 구체사항들이 본 기술분야의 통상의 기술자의 시야 내에서 양호해야 한다)는 사실을 고려하여 도시될 수 있다. 본 개시내용의 예시적인 실시예들을 설명하기 위해 구체적인 세부사항들(예를 들어, 회로들)이 제시되어 있지만, 본 기술분야의 통상의 기술자에게는 본 개시내용이 이러한 구체적인 세부사항들 없이, 또는 이러한 구체적인 세부사항들을 변경하여 실시될 수 있다는 점이 명백해야 한다. 따라서, 설명은 제한적인 것 대신에 예시적인 것으로 간주되어야 한다.
다음의 예들은 추가의 실시예들과 관련된다. 이 예들에서의 구체사항들은 하나 이상의 실시예에서 어디에서든 사용될 수 있다. 본 명세서에 설명된 장치의 모든 선택적 특징들은 방법 또는 프로세스와 관련하여 또한 구현될 수 있다. 예들은 임의의 조합들로 조합될 수 있다. 예를 들어, 예 4는 예 2와 조합될 수 있다.
예 1: 머신 실행가능 명령어들을 포함하는 머신 판독가능 저장 매체로서, 상기 머신 실행가능 명령어들은 실행될 때 하나 이상의 머신으로 하여금 방법을 수행하게 하며, 상기 방법은: 배터리 무부하 전압, 최대 임계 전압, 및 상기 배터리 무부하 전압과 이전 임계 전압 사이의 전압 갭의 함수로서 현재 임계 전압을 계산하는 단계; 결국 상기 현재 임계 전압의 함수인 시스템 피크 전력 한계로서 프로세서 피크 전력 한계를 계산하는 단계; 상기 현재 임계 전압을 임계 회로에 전송하는 단계; 및 상기 프로세서 피크 전력 한계를 상기 프로세서에 전송하는 단계를 포함하고, 상기 현재 임계 전압은 상기 프로세서의 피크 전력을 관리하기 위해 상기 프로세서의 스로틀링을 트리거하도록 임계 전압을 설정하는, 머신 판독가능 저장 매체.
예 2: 예 1에 있어서, 상기 프로세서 피크 전력 한계를 계산하는 단계는: 상기 현재 임계 전압, 배터리 무부하 전압, 시스템 전력 레일 커패시턴스, 시스템 전압이 상기 현재 임계 전압 아래로 강하하는 것과 상기 시스템이 피크 전력을 감소시키는 것 사이의 시간, 배터리 저항, 및 상기 시스템 전력 레일의 최소 전압 레벨의 함수로서 시스템 피크 전력을 계산하는 단계를 포함하는, 머신 판독가능 저장 매체.
예 3: 예 2에 있어서, 상기 프로세서 피크 전력 한계를 계산하는 단계는: 상기 시스템 피크 전력과 플랫폼의 나머지에 의한 전력 사이의 차이를 스케일링하는 단계를 포함하는, 머신 판독가능 저장 매체.
예 4: 예 3에 있어서, 상기 차이를 스케일링하는 단계는 전압 조절기의 전력 변환 손실을 고려하는 단계를 포함하는, 머신 판독가능 저장 매체.
예 5: 예 1에 있어서, 실행될 때 상기 하나 이상의 머신으로 하여금: 상기 프로세서 피크 전력 한계를 최대 전력 피크 전력 한계와 비교하는 단계; 및 상기 프로세서 피크 전력 한계가 상기 최대 전력 피크 전력 한계보다 크면 상기 프로세서 피크 전력 한계를 최대 프로세서 피크 전력 한계로 설정하는 단계를 포함하는 상기 방법을 수행하게 하는 머신 실행가능 명령어들을 포함하는, 머신 판독가능 저장 매체.
예 6: 예 5에 있어서, 실행될 때 상기 하나 이상의 머신으로 하여금: 상기 프로세서 피크 전력 한계를 최소 전력 피크 전력 한계와 비교하는 단계; 및 상기 프로세서 피크 전력 한계가 상기 최소 전력 피크 전력 한계보다 작으면 상기 프로세서 피크 전력 한계를 최소 프로세서 피크 전력 한계로 설정하는 단계를 포함하는 상기 방법을 수행하게 하는 머신 실행가능 명령어들을 포함하는, 머신 판독가능 저장 매체.
예 7: 예 1에 있어서, 상기 프로세서 피크 전력 한계는 상기 프로세서가 스로틀링되기 전에 시스템 전력 레일의 커패시터들 및 배터리에 의해 제공될 수 있는 순간 피크 전력의 상한인, 머신 판독가능 저장 매체.
예 8: 예 1에 있어서, 실행될 때 상기 하나 이상의 머신으로 하여금: 배터리의 연료 게이지로부터 상기 배터리 무부하 전압을 판독하는 단계 - 상기 배터리 무부하 전압은 런타임 변수임 - 를 포함하는 상기 방법을 수행하게 하는 머신 실행가능 명령어들을 포함하는, 머신 판독가능 저장 매체.
예 9: 예 1에 있어서, 실행될 때 하나 이상의 머신으로 하여금: 상기 프로세서 전력 한계가 상기 프로세서의 피크 전력을 넘을 때 상기 프로세서가 스로틀링하지 않는다고 결정되면 상기 현재 임계 전압을 낮추는 단계를 포함하는 방법을 수행하게 하는 머신 실행가능 명령어들을 포함하는, 머신 판독가능 저장 매체.
예 10: 시스템으로서, 시스템-온-칩(system-on-chip)을 포함하는 시스템 부하; 배터리 무부하 전압을 제공하기 위한 연료 게이지를 갖는 배터리; 임계값에 따라 상기 시스템-온-칩을 스로틀링하는 임계 회로; 최대 임계 전압, 및 상기 배터리 무부하 전압과 이전 임계 전압 사이의 전압 갭을 저장하는 메모리; 전력 관리자를 포함하고, 상기 전력 관리자는: 상기 배터리 무부하 전압, 상기 최대 임계 전압, 상기 전압 갭의 함수로서 현재 임계 전압을 계산하고; 결국 상기 현재 임계 전압의 함수인 시스템 피크 전력 한계로서 프로세서 피크 전력 한계를 계산하고; 상기 현재 임계 전압을 상기 임계 회로에 전송하고; 상기 프로세서 피크 전력 한계를 상기 시스템-온-칩에 전송하며, 상기 현재 임계 전압은 상기 시스템 부하의 피크 전력을 관리하기 위해 상기 시스템 부하의 스로틀링을 트리거하도록 임계 전압을 설정하는, 시스템.
예 11: 예 10에 있어서, 상기 전력 관리자는 상기 현재 임계 전압, 상기 배터리 무부하 전압, 시스템 전력 레일 커패시턴스, 시스템 전압이 상기 현재 임계 전압 아래로 강하하는 것과 상기 시스템이 피크 전력을 감소시키는 것 사이의 시간, 배터리 저항, 및 상기 시스템 전력 레일의 최소 전압 레벨의 함수로서 시스템 피크 전력을 계산하는, 시스템.
예 12: 예 11에 있어서, 상기 메모리는 상기 시스템 전력 레일 커패시턴스, 및 시스템 전압이 상기 현재 임계 전압 아래로 강하하는 것과 상기 시스템이 피크 전력을 감소시키는 것 사이의 시간을 저장하는, 시스템.
예 13: 예 11에 있어서, 상기 연료 게이지는 상기 배터리 저항을 제공하는, 시스템.
예 14: 예 11에 있어서, 상기 전력 관리자는 상기 시스템 피크 전력과 플랫폼의 나머지에 의한 전력 사이의 차이를 스케일링하며, 상기 플랫폼의 나머지에 의한 전력은 상기 시스템 부하의 일부인, 시스템.
예 15: 예 15에 있어서, 상기 전력 관리자는 상기 차이를 스케일링하기 위해 전압 조절기의 전력 변환 손실을 고려하는, 시스템.
예 16: 예 14에 있어서, 상기 전력 관리자는: 상기 프로세서 피크 전력 한계를 최대 전력 피크 전력 한계와 비교하고; 상기 프로세서 피크 전력 한계가 상기 최대 전력 피크 전력 한계보다 크면 상기 프로세서 피크 전력 한계를 최대 프로세서 피크 전력 한계로 설정하는, 시스템.
예 17: 예 14에 있어서, 상기 전력 관리자는: 상기 프로세서 피크 전력 한계를 최소 전력 피크 전력 한계와 비교하고; 상기 프로세서 피크 전력 한계가 상기 최소 전력 피크 전력 한계보다 작으면 상기 프로세서 피크 전력 한계를 최소 프로세서 피크 전력 한계로 설정하는, 시스템.
예 18: 장치로서, 프로세서; 및 상기 프로세서에 결합되어, 상기 프로세서를 스로틀링할 때를 결정하는 임계 전압을 동적으로 조정하고, 상기 프로세서에 대한 피크 전력 한계를 결정하여 상기 프로세서의 성능을 증가시키는 전력 관리자를 포함하는, 장치.
예 19: 예 18에 있어서, 상기 전력 관리자는 배터리 연료 게이지로부터 배터리 무부하 전압 및 배터리 임피던스를 판독하여 상기 임계 전압을 결정하는, 장치.
예 20: 예 18에 있어서, 상기 전력 관리자는: 상기 피크 전력 한계를 최대 전력 피크 전력 한계와 비교하고; 상기 피크 전력 한계가 상기 최대 전력 피크 전력 한계보다 크면 상기 피크 전력 한계를 최대 피크 전력 한계로 설정하는, 장치.
독자가 본 기술적 개시내용의 속성 및 요점을 확인할 수 있게 할 요약서가 제공된다. 이 요약서는 청구항들의 범위나 의미를 한정하는 데 사용되지 않을 것이라는 이해와 함께 제출된다. 다음의 청구항들은 이로써 상세한 설명에 포함되며, 각각의 청구항은 별개의 실시예로서 자립한다.

Claims (21)

  1. 방법으로서,
    배터리 무부하 전압(battery no-load voltage), 최대 임계 전압, 및 상기 배터리 무부하 전압과 이전 임계 전압 사이의 전압 갭의 함수로서 현재 임계 전압을 계산하는 단계;
    결국 상기 현재 임계 전압의 함수인 시스템 피크 전력 한계로서 프로세서 피크 전력 한계를 계산하는 단계;
    상기 현재 임계 전압을 임계 회로에 전송하는 단계; 및
    상기 프로세서 피크 전력 한계를 상기 프로세서에 전송하는 단계
    를 포함하고, 상기 현재 임계 전압은 상기 프로세서의 피크 전력을 관리하기 위해 상기 프로세서의 스로틀링을 트리거하도록 임계 전압을 설정하는, 방법.
  2. 제1항에 있어서, 상기 프로세서 피크 전력 한계를 계산하는 단계는:
    상기 현재 임계 전압, 배터리 무부하 전압, 시스템 전력 레일 커패시턴스, 시스템 전압이 상기 현재 임계 전압 아래로 강하하는 것과 상기 시스템이 피크 전력을 감소시키는 것 사이의 시간, 배터리 저항, 및 상기 시스템 전력 레일의 최소 전압 레벨의 함수로서 시스템 피크 전력을 계산하는 단계를 포함하는, 방법.
  3. 제2항에 있어서, 상기 프로세서 피크 전력 한계를 계산하는 단계는:
    상기 시스템 피크 전력과 플랫폼의 나머지에 의한 전력 사이의 차이를 스케일링하는 단계를 포함하는, 방법.
  4. 제3항에 있어서, 상기 차이를 스케일링하는 단계는 전압 조절기의 전력 변환 손실을 고려하는 단계를 포함하는, 방법.
  5. 제1항에 있어서,
    상기 프로세서 피크 전력 한계를 최대 전력 피크 전력 한계와 비교하는 단계; 및
    상기 프로세서 피크 전력 한계가 상기 최대 전력 피크 전력 한계보다 크면 상기 프로세서 피크 전력 한계를 최대 프로세서 피크 전력 한계로 설정하는 단계
    를 포함하는 방법.
  6. 제5항에 있어서,
    상기 프로세서 피크 전력 한계를 최소 전력 피크 전력 한계와 비교하는 단계; 및
    상기 프로세서 피크 전력 한계가 상기 최소 전력 피크 전력 한계보다 작으면 상기 프로세서 피크 전력 한계를 최소 프로세서 피크 전력 한계로 설정하는 단계
    를 포함하는 방법.
  7. 제1항에 있어서, 상기 프로세서 피크 전력 한계는 상기 프로세서가 스로틀링되기 전에 시스템 전력 레일의 커패시터들 및 배터리에 의해 제공될 수 있는 순간 피크 전력의 상한인, 방법.
  8. 제1항에 있어서,
    배터리의 연료 게이지로부터 상기 배터리 무부하 전압을 판독하는 단계 - 상기 배터리 무부하 전압은 런타임 변수임 -
    를 포함하는 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 프로세서 전력 한계가 상기 프로세서의 피크 전력을 넘을 때 상기 프로세서가 스로틀링하지 않는다고 결정되면 상기 현재 임계 전압을 낮추는 단계
    를 포함하는 방법.
  10. 시스템으로서,
    시스템-온-칩(system-on-chip)을 포함하는 시스템 부하;
    배터리 무부하 전압을 제공하기 위한 연료 게이지를 갖는 배터리;
    임계값에 따라 상기 시스템-온-칩을 스로틀링하는 임계 회로;
    최대 임계 전압, 및 상기 배터리 무부하 전압과 이전 임계 전압 사이의 전압 갭을 저장하는 메모리; 및
    전력 관리자
    를 포함하고, 상기 전력 관리자는:
    상기 배터리 무부하 전압, 상기 최대 임계 전압, 상기 전압 갭의 함수로서 현재 임계 전압을 계산하고;
    결국 상기 현재 임계 전압의 함수인 시스템 피크 전력 한계로서 프로세서 피크 전력 한계를 계산하고;
    상기 현재 임계 전압을 상기 임계 회로에 전송하고;
    상기 프로세서 피크 전력 한계를 상기 시스템-온-칩에 전송하며, 상기 현재 임계 전압은 상기 시스템 부하의 피크 전력을 관리하기 위해 상기 시스템 부하의 스로틀링을 트리거하도록 임계 전압을 설정하는, 시스템.
  11. 제10항에 있어서, 상기 전력 관리자는 상기 현재 임계 전압, 상기 배터리 무부하 전압, 시스템 전력 레일 커패시턴스, 시스템 전압이 상기 현재 임계 전압 아래로 강하하는 것과 상기 시스템이 피크 전력을 감소시키는 것 사이의 시간, 배터리 저항, 및 상기 시스템 전력 레일의 최소 전압 레벨의 함수로서 시스템 피크 전력을 계산하는, 시스템.
  12. 제11항에 있어서, 상기 메모리는 상기 시스템 전력 레일 커패시턴스, 및 시스템 전압이 상기 현재 임계 전압 아래로 강하하는 것과 상기 시스템이 피크 전력을 감소시키는 것 사이의 시간을 저장하는, 시스템.
  13. 제11항에 있어서, 상기 연료 게이지는 상기 배터리 저항을 제공하는, 시스템.
  14. 제11항에 있어서, 상기 전력 관리자는 상기 시스템 피크 전력과 플랫폼의 나머지에 의한 전력 사이의 차이를 스케일링하며, 상기 플랫폼의 나머지에 의한 전력은 상기 시스템 부하의 일부인, 시스템.
  15. 제14항에 있어서, 상기 전력 관리자는 상기 차이를 스케일링하기 위해 전압 조절기의 전력 변환 손실을 고려하는, 시스템.
  16. 제14항에 있어서, 상기 전력 관리자는:
    상기 프로세서 피크 전력 한계를 최대 전력 피크 전력 한계와 비교하고;
    상기 프로세서 피크 전력 한계가 상기 최대 전력 피크 전력 한계보다 크면 상기 프로세서 피크 전력 한계를 최대 프로세서 피크 전력 한계로 설정하는, 시스템.
  17. 제14항에 있어서, 상기 전력 관리자는:
    상기 프로세서 피크 전력 한계를 최소 전력 피크 전력 한계와 비교하고;
    상기 프로세서 피크 전력 한계가 상기 최소 전력 피크 전력 한계보다 작으면 상기 프로세서 피크 전력 한계를 최소 프로세서 피크 전력 한계로 설정하는, 시스템.
  18. 장치로서,
    프로세서; 및
    상기 프로세서에 결합되어, 상기 프로세서를 스로틀링할 때를 결정하는 임계 전압을 동적으로 조정하고, 상기 프로세서에 대한 피크 전력 한계를 결정하여 상기 프로세서의 성능을 증가시키는 전력 관리자
    를 포함하는, 장치.
  19. 제18항에 있어서, 상기 전력 관리자는 배터리 연료 게이지로부터 배터리 무부하 전압 및 배터리 임피던스를 판독하여 상기 임계 전압을 결정하는, 장치.
  20. 제18항 또는 제19항에 있어서, 상기 전력 관리자는:
    상기 피크 전력 한계를 최대 전력 피크 전력 한계와 비교하고;
    상기 피크 전력 한계가 상기 최대 전력 피크 전력 한계보다 크면 상기 피크 전력 한계를 최대 피크 전력 한계로 설정하는, 장치.
  21. 실행되는 경우 하나 이상의 머신으로 하여금 제1항 내지 제8항 중 어느 한 항에 따른 방법을 수행하게 하는 머신 저장가능 명령어들이 저장된 머신 판독가능 매체.
KR1020210110977A 2020-09-23 2021-08-23 프로세서 피크 전류 제어 장치 및 방법 KR20220040376A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/030,175 US20220091656A1 (en) 2020-09-23 2020-09-23 Processor peak current control apparatus and method
US17/030,175 2020-09-23

Publications (1)

Publication Number Publication Date
KR20220040376A true KR20220040376A (ko) 2022-03-30

Family

ID=80473984

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210110977A KR20220040376A (ko) 2020-09-23 2021-08-23 프로세서 피크 전류 제어 장치 및 방법

Country Status (4)

Country Link
US (1) US20220091656A1 (ko)
KR (1) KR20220040376A (ko)
CN (1) CN114253902A (ko)
DE (1) DE102021121216A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240028095A1 (en) * 2022-07-19 2024-01-25 International Business Machines Corporation Dynamic guard band with timing protection and with performance protection
US11953982B2 (en) 2022-07-19 2024-04-09 International Business Machines Corporation Dynamic guard band with timing protection and with performance protection

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012175144A1 (en) * 2011-06-24 2012-12-27 Fujitsu Technology Solutions Intellectual Property Gmbh Blade server system and method for power management
US10094880B2 (en) * 2015-04-14 2018-10-09 Semiconductor Components Industries, Llc Determining battery state of charge using an open circuit voltage measured prior to a device operation stage
CN111164538A (zh) * 2017-12-15 2020-05-15 英特尔公司 处理单元的功率管理
US10739844B2 (en) * 2018-05-02 2020-08-11 Intel Corporation System, apparatus and method for optimized throttling of a processor

Also Published As

Publication number Publication date
CN114253902A (zh) 2022-03-29
US20220091656A1 (en) 2022-03-24
DE102021121216A1 (de) 2022-03-24

Similar Documents

Publication Publication Date Title
US20210124404A1 (en) Workload aware power limiting and multiple-input multiple-output control
US20220197519A1 (en) Multi-level memory system power management apparatus and method
US11742754B2 (en) Enhanced constant-on-time buck intellectual property apparatus and method
US11323026B2 (en) Hybrid digital linear and switched capacitor voltage regulator
CN114204810A (zh) 无缝非线性电压调节控制到线性控制的装置和方法
CN114090227A (zh) 高能效核心电压选择装置和方法
KR20220040376A (ko) 프로세서 피크 전류 제어 장치 및 방법
EP4092896A1 (en) Computational current sensor
WO2022060503A1 (en) Dual-folded boot-strap based buck-boost converter
CN114253336A (zh) 低功率混合反向带隙基准和数字温度传感器
US11336270B2 (en) Fuse-less self-start controller
US20210132123A1 (en) Per-part real-time load-line measurement apparatus and method
CN114253382A (zh) 统一保留和唤醒夹钳装置和方法
CN113835517A (zh) 快速动态电容、频率、和/或电压节流装置和方法
EP4092864A1 (en) Power delivery architecture for high power portable devices
CN115441867A (zh) 锁相环辅助的快速启动装置和方法
US11429172B2 (en) Digital linear regulator clamping method and apparatus
CN114662075A (zh) 安全设备加电装置和方法
CN116547633A (zh) 利用多个电池的峰值功率削减及用于混合能量源的控制机制
CN116547635A (zh) 触觉呈现面板、触觉呈现触摸面板以及触觉呈现触摸显示器
US20220300051A1 (en) Battery heat balancing apparatus and method during peak mode
US11954501B2 (en) Apparatus and method for restoring a password-protected endpoint device to an operational state from a low power state
US20210208668A1 (en) Apparatus and method to reduce standby power for systems in battery mode with a connected bus powered device
CN115514036A (zh) 自适应突发功率和快速电池充电装置和方法
CN115373505A (zh) 用于处理器的功率优化定时器模块