CN115079809A - 降低待机功率的装置和方法 - Google Patents
降低待机功率的装置和方法 Download PDFInfo
- Publication number
- CN115079809A CN115079809A CN202210096186.XA CN202210096186A CN115079809A CN 115079809 A CN115079809 A CN 115079809A CN 202210096186 A CN202210096186 A CN 202210096186A CN 115079809 A CN115079809 A CN 115079809A
- Authority
- CN
- China
- Prior art keywords
- power
- standby
- wake
- processor
- port
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000015654 memory Effects 0.000 claims description 40
- 238000003860 storage Methods 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 25
- 230000000977 initiatory effect Effects 0.000 claims description 15
- 230000002093 peripheral effect Effects 0.000 abstract description 13
- 238000005192 partition Methods 0.000 abstract description 4
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 abstract description 4
- 238000007726 management method Methods 0.000 description 47
- 238000004891 communication Methods 0.000 description 34
- 230000006870 function Effects 0.000 description 26
- 238000012545 processing Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000005259 measurement Methods 0.000 description 9
- 230000001413 cellular effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000009529 body temperature measurement Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 101000805129 Homo sapiens Protein DPCD Proteins 0.000 description 4
- 102100037836 Protein DPCD Human genes 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 208000030963 borderline personality disease Diseases 0.000 description 3
- 206010006475 bronchopulmonary dysplasia Diseases 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000003071 parasitic effect Effects 0.000 description 3
- 230000004043 responsiveness Effects 0.000 description 3
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 2
- 108700025151 PD protocol Proteins 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 229910001416 lithium ion Inorganic materials 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000013011 mating Effects 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000002041 carbon nanotube Substances 0.000 description 1
- 229910021393 carbon nanotube Inorganic materials 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 239000013536 elastomeric material Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/266—Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3253—Power saving in bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Power Sources (AREA)
Abstract
本公开总体涉及降低待机功率的装置和方法。一种电力节省装置和方法,用于让主机系统在总线供电外围设备连接到系统的Type C端口时,主动决定节省电力并且增大电池寿命。主机(或主机系统)基于相应的通用串行总线(USB)3.2、雷电3(TBT3)、USB4、显示端口(DP)协议的唤醒策略,决定总线供电设备(BPD)、集线器或外围设备是否需要应用服务,或者设备发起的唤醒。此后,主机基于S0、低功率系统待机进入‑唤醒时间时延要求以及Type‑C IO协议策略,决定触发系统电力输送(PD)控制器来移除到BPD的电力。为了节省电力,主机系统唤醒逻辑电力分区也被断电。
Description
技术领域
本公开总体涉及降低待机功率的装置和方法。
背景技术
计算机和电子手持设备具有通用串行总线(Universal Serial Bus,USB)Type-C端口,这种端口带有电力输送(power delivery,PD)控制器和组件,来为系统供电并且为电池充电。这种状况中的系统被称为信宿(sink)或消费者模式设备。类似地,该系统可以为连接在其Type C端口的设备供电,以枚举功能。这种操作模式被称为系统的信源(source)或提供者角色。在仅由电池供电的系统中,保持总线供电设备(bus powered device,BPD)或集线器连接在系统端口上是以牺牲系统电池寿命为代价的。
发明内容
根据本公开的第一实施例,提供了一种机器可读存储介质,其上存储有机器可读指令,所述指令在被执行时,使得一个或多个处理器执行一种降低待机功率的方法,所述方法包括:检测连接到端口的设备;启用到所述设备的电力;确定连接到所述端口的所述设备不活跃;通过向电力输送控制器发送待机指示来发起待机模式;响应于所述待机指示而指示电压调节器减小到所述设备的电力;以及减小到所述设备的电力。
根据本公开的第二实施例,提供了一种降低待机功率的系统,所述系统包括:处理器;电力输送控制器,与所述处理器耦合;端口,与所述电力输送控制器耦合;嵌入式控制器,与所述电力输送控制器和所述处理器耦合;以及电压调节器,与所述端口耦合,其中,所述处理器用于:检测连接到所述端口的设备;启用到所述设备的电力;确定连接到所述端口的所述设备不活跃;通过经由所述嵌入式控制器向所述电力输送控制器发送待机指示来发起待机模式;以及响应于所述待机指示而指示所述电压调节器减小到所述设备的电力。
根据本公开的第三实施例,提供了一种降低待机功率的装置,所述装置包括:用于存储指令的存储器;以及与所述存储器耦合的处理器,其中,所述处理器用于执行所述指令,所述指令包括:检测连接到端口的设备;启用到所述设备的电力;确定连接到所述端口的所述设备不活跃;通过向电力输送控制器发送待机指示来发起待机模式;响应于所述待机指示而指示电压调节器减小到所述设备的电力;以及减小到所述设备的电力。
附图说明
通过以下给出的详细描述并且通过本公开的各种实施例的附图,将更充分理解本公开的实施例,然而,详细描述和附图不应当被理解为将本公开限制到特定实施例,而只是用于说明和理解的目的。
图1图示了根据一些实施例的一种系统,示出了经由Type-C端口连接的主机和信宿设备,具有带内或GPIO通信来用于向PD控制器进行待机指示。
图2图示了根据一些实施例的针对低时延退出设备唤醒要求的从片上系统(SoC)到总线供电设备(BPD)的待机序列的流程图。
图3图示了根据一些实施例的一种系统,示出了经由Type-C端口连接的主机和信宿设备,具有待机通信,其中有来自SoC的VBUS通/断。
图4图示了根据一些实施例的没有设备唤醒要求的高级电力和通信接口(ACPI)待机序列的流程图。
图5图示了根据一些实施例的其中移除了VBUS并且没有设备唤醒要求的ACPI Sx序列的流程图。
图6图示了根据一些实施例的具有用于降低带有连接的总线供电设备的系统在电池模式中的待机功率的装置和方法的智能设备或计算机SoC。
具体实施方式
如本文所述,在仅由电池供电的系统中,保持总线供电设备(BPD)或集线器连接在系统端口上是以牺牲系统电池寿命为代价的。在这种情况下,当不需要来自设备的服务时,系统有机会完全切断对BPD的电力输送。当系统处于运转状态(例如,系统处于S0状态中),同时没有使用附接的BPD来活跃地运行应用或者为任何潜在的设备发起的唤醒服务时,这种系统电力节省特征是可用的。当设备不需要来自BPD设备的针对潜在的设备发起的唤醒的任何活跃服务时,即使在系统处于睡眠状态(例如,系统Sx或低功率状态S0ix状态)时,这种电力节省也是适用的。
当前,没有已知的解决方案,来让处于活跃S0模式中以及处于ACPI待机Sx模式中的系统主机在其不需要来自连接设备的任何应用或唤醒服务时,主动切断到总线供电设备或集线器的电力。另外,当系统处于待机模式中时,在连接了BPD或集线器的情况下,如果端口伙伴不需要设备发起的唤醒,则当前还没有已知的解决方案来移除主机系统的内部唤醒逻辑电力平面上的电力。
一些实施例提供了一种电力节省装置和方法,以便主机系统在总线供电外围设备连接到系统的Type C端口时,主动决定节省电力并且增大电池寿命。在一些实施例中,主机(或主机系统)基于相应的USB 3.2、雷电3(TBT3)、USB4、显示端口(Display Port,DP)协议的唤醒策略,决定BPD、集线器或外围设备是否需要应用服务,或者设备发起的唤醒。在一些实施例中,此后,主机基于S0、低功率系统待机进入-唤醒时间时延要求以及Type-C IO协议策略,决定触发系统电力输送(PD)控制器来移除到BPD的电力。在一些实施例中,为了节省电力,主机系统唤醒逻辑电力分区也被断电。
各种实施例有许多技术效果。例如,电力节省装置和/或方法延长了系统在每个充电周期的电池寿命,使得用户能够有更长的基于电池的计算机访问时间。各种实施例的装置和方法在连接有BPD的系统上的多个端口间节省能量。各种实施例的装置和方法避免了当用户忘记并且留下从电池供电系统连接的BPD或HUB时出现的电池耗尽场景。其他技术效果将从各种实施例和附图中清楚显现。
在接下来的描述中,论述了许多细节以提供对本公开的实施例的更透彻说明。然而,本领域技术人员将会清楚,没有这些具体细节也可以实现本公开的实施例。在其他情况下,以框图形式而不是详细示出公知的结构和设备,以避免模糊本公开的实施例。
注意,在实施例的相应附图中,以线条来表示信号。一些线条可能更粗,以指示更多的构成信号路径,和/或在一端或多端具有箭头,以指示主信息流方向。这种指示并不打算是限制性的。更确切地说,这些线条与一个或多个示例性实施例被联合使用来帮助更容易理解电路或逻辑单元。由设计需要或偏好决定的任何所表示的信号可实际上包括可在任一方向上行进并且可利用任何适当类型的信号方案来实现的一个或多个信号。
USB Type-C连接器支持三种主要的IO链路:USB 3.2、USB 4和显示端口(DP)。这些协议定义了当IO链路不处于工作状态以及当系统处于睡眠或待机状况时的低功率IO链路状态。USB 4和DP具有用于命令控制的边带链路,以带起主链路训练,而USB 3.2是带内的。每个IO协议具有用于远程设备发起的唤醒的策略。以下部分概述了USB 3.2、USB 4和DP的IO协议和/或策略。
对于USB 3.2(USB3.2),当连接到主机的上游链路进入U3时,附接的设备或集线器可以进入挂起状态。设备可以通过带内LFPS[低频率周期性信令]通信从挂起状态退出到链接状态,以向处于活跃S0状态中的主机提供服务。如果主机处于低功率ACPI挂起状态[S3、S4、S5]中,则发起LFPS的附接设备将触发主机系统退出低功率状态,然后带起USB链路。为了在低功率状态中为这种唤醒提供服务,许多系统和设备内部唤醒电力平面必须被供电,从而导致电池耗竭。在大多数实际应用中,这种设备发起的唤醒在USB BPD设备中很少发生。在系统活跃和低功率状态中,连接的BPD或集线器和系统唤醒逻辑电力平面一起消耗来自系统电池的电力。将这样的设备一整夜连接到只有电池供电的系统,可能会耗费电池,导致电池耗尽状况。
在一些实施例中,各种实施例的装置和方法使用用户偏好应用编程接口(Application Programming Interface,API)来启用和禁用电力节省特征。API接口实现了一种软件开关,以在电池供电的系统状况期间,为设备发起的唤醒服务要求开启或关闭唤醒电力平面。对于不需要设备发起的唤醒的BPD或集线器(这取决于系统或主机发起的唤醒),主机可以将包括(一个或多个)主机系统唤醒逻辑电力平面的连接设备断电。由于主机能够完全控制唤醒序列,所以它可以在发起枚举过程之前先为BPD或集线器加电。当用户留下了连接到Type-C端口的BPD或集线器时,这个过程节省电力。
BPD或集线器端口伙伴的加电序列被管理以满足低功率链路退出时延。本公开中不考虑U1和U2链路状态,因为基于时延容差限制,它们有非常低的时延退出时间。对于U3退出,当系统处于活跃S0模式中时,带起链路的10ms时延是适用的。对于USB U3唤醒的10ms的严格时间要求在由USB链路带起时间所限制的系统活跃S0模式中是适用的。注意,USB规范定义了四个链路功率状态,称为U状态,从U0到U3。活跃链路处于U0状态中。
如果USB控制器进入了D3状态,那么时延容差是无限的,并且对唤醒时间不那么严格。当主机处于系统待机模式中,并且唤醒被USB设备触发时,带起USB链路的时延受到系统待机唤醒时延容差的限制,该容差高于10ms。当系统处于ACPI Sx模式中时,这个退出时延容差会进一步放松,在这种情况下它受到操作系统(OS)和/或驱动器启动时间的限制。注意,设备状态D0-D3是依赖于设备的状态,并且由ACPI规范来定义。D0或全开是工作状态,D1和D2状态是中间功率状态,其定义因设备而异,D3状态被进一步划分成D3热(有辅助电力)和D3冷(不提供电力),其中,在D3热中,设备可以断言功率管理请求,以转变到更高的功率状态,而在D3冷或关闭中,设备被断电并且对其总线没有响应。对于所有上述三种系统状况,即S0活跃、待机和ACPI Sx,主机系统发起的唤醒(注意设备一般不具备唤醒能力)提供了决定切断到BPD的电力的机会。
USB 3.2规范,通过主机标准设备请求定义/描述符和随后的标准特征选择器,用“DEVICE_REMOTE_WAKEUP”标志来定义设备是否具有远程唤醒能力。各种实施例将此标志用作主机系统功率管理软件方案中的决策指标,以决定在系统低功率模式期间是保持系统唤醒逻辑电力平面、BPD和集线器通电还是断电。
对于USB 4(USB4),USB4链路待机条目由USB4连接管理器(Connection Manager,CM)通过经由其边带SB链路与BPD或集线器端口伙伴进行协商来加以管理。接下来,主机可以通过PD协议来减小与BPD端口伙伴的电力合约。当从低功率模式恢复时,在链路带起之前,建立带有对BPD的所需电力输送的PD合约。与USB 3.2唤醒协议一样,设备唤醒延迟时延受约束于PD电力合约和满足USB4唤醒时延时间要求的时间。如果它是基于主机的唤醒或来自系统ACPI Sx状态的唤醒,就没有时延约束了。在Sx退出的情况下,在完全启动到OS之后,主机能够控制USB4链路带起。基于USB 3.2应用类比,可以提供用户偏好API接口,来在电池供电的系统状况期间,对于不需要或需要的设备发起的唤醒服务,分别关断或开启附接设备电力和主机唤醒电力平面。对于不需要设备发起的唤醒的BPD或集线器(这取决于系统或主机发起的唤醒),主机可以将连接的设备及其系统唤醒逻辑电力平面断电。由于主机能够完全控制唤醒序列,所以主机可以在发起枚举过程之前先为BPD或集线器加电。当用户留下了连接到Type-C端口的BPD或集线器时,这节省了电力。
USB4规范,通过路由器配置空间基本属性与“在PCIe、USB3、DP定义上启用唤醒”,定义了对于设备远程唤醒的要求。各种实施例将这个特征用作主机系统软件方案中的决策指标,以决定在系统低功率模式期间是保持系统唤醒逻辑电力平面、BPD和集线器通电还是断电。
对于显示端口(DP),显示唤醒是从信源控制的,而不是从信宿控制的。此外,DP信宿是自供电的。在Type-C到显示电子狗(Dongle)的情况下,系统决定为电子狗供电。为USB3.2和USB4主机基础唤醒列出的概念也适用于DP电子狗使用的情况。对于不需要设备发起的唤醒的BPD或集线器(这取决于系统或主机发起的唤醒),主机可以将连接的设备及其系统唤醒逻辑电力平面断电。由于主机能够完全控制唤醒序列,所以主机可以在发起枚举过程之前先为BPD或集线器加电。当用户留下了连接到Type C端口的BPD DP电子狗时,这节省了电力。
DP规范描述了唤醒总是由主机唤醒发起的。主机DP信源通过写入到DPCD SETPower和SET_DP_PWR_VOLTAGE寄存器来进行控制。从主机系统进入到低功率ACPI Sc状态之时起,不支持从面板的HPD_IRQ唤醒。主机知晓发起低功率到DP面板链路端口伙伴和相应总线供电的DP电子狗。各种实施例将这个DPCD特征用于主机系统软件方案,以决定在系统低功率模式期间是保持系统唤醒逻辑电力平面、BPD和集线器通电还是断电。
图1图示了根据一些实施例的系统100,示出了经由Type-C端口连接的主机和信宿设备,具有带内或GPIO通信来用于向PD控制器进行待机指示。系统100包括具有USB-C多路复用器管理器101a和I2C及其他替换端口(Alt端口)101b的SoC 101(例如,图6的SoC),具有I2C和Alt端口102a和102b的主机PD控制器102,具有I2C和Alt端口103a的嵌入式控制器(embedded controller,EC)103,电压调节器(voltage regulator,VR)104,主机Type-C端口接口105,设备Type-C端口106,具有I2C和Alt端口107a的设备PD 107,以及设备信宿108。SoC 101经由I2C总线与主机PD控制器进行通信。SoC 101经由e-SPI(增强型串行外设接口)与EC 103进行通信。主机PD控制器102分别经由I2C接口102b和103a与EC 103进行通信。主机Type-C端口经由通信通道(communication channel,CC)与主机PD 102进行通信。主机Type-C端口经由CC与设备Type-C端口进行通信。设备Type-C端口经由CC与设备PD控制器107进行通信。设备PD控制器107经由I2C与设备信宿108进行通信。VR 104向主机Type-C端口105、设备Type-C端口106、设备PD控制器107和设备信宿108提供电力供应VBUS。在各种实施例中,电力节省方案在SoC 101上被实现为硬件、软件和/或其组合。本文论述的各种流程图可以在SoC 101上被实现为硬件、软件和/或其组合。
图2图示了根据一些实施例的针对低时延退出设备唤醒要求的从片上系统(SoC)到总线供电设备(BPD)的待机序列的流程图200。虽然按特定顺序示出了各块,但顺序是可被修改的。例如,一些块可被并行执行,而一些块可在其他块之前被执行。各种块可由软件、硬件或者其组合来执行。流程图200描述了主机系统针对设备发起的唤醒要求,通过指示端口伙伴PD进入待机模式(例如,25mW或125mW模式)而进入浅(低)时延的进入/退出待机。注意,25mW用于常规消费者设备,而125mW用于基于集线器的设备。
在这种情况下,主机SoC 101发现设备发起唤醒是必要的。由于低时延唤醒退出标准,主机SoC 101可以使用I2C带内或硬线通信到其PD控制器102。主机SoC 101使用接口来设置“RDO无USB挂起”以驱动BPD/集线器(即,伙伴设备107/108)到待机模式,从而降低功率消耗到分别指定为25mW/125mW的功率耗用限制的PD。退出时延取决于主机PD控制器102通过更新先前的电力合约。这个序列由图1-图2来图示。
主机PD 102首先意识到伙伴设备108被连接到Type-C端口105。此后,在SoC 101和伙伴设备108之间订立PD合约,如伙伴设备108、VR 104、主机PD 102和SoC 101之间的一组握手所图示。这组握手由一组操作201指示。在该组操作201中,主机PD 102指示VR 104在VBUS上启用5V电力。然后,VR 104在VBUS上提供经调节的5V电力给信宿设备或伙伴设备108。一旦伙伴设备108被供电,主机PD控制器102就通知SoC 101,在SoC 101和伙伴设备108之间建立了USB连接。在主机PD控制器102和伙伴设备107/108之间建立了电力输送合约(PD合约)。在此合约中,由主机PD控制器102在PDO中设置支持USB挂起。主机PD控制器102然后评估请求数据对象(request data object,RDO)并且保存“无USB挂起”和“归还(GiveBack)”比特。然后,主机PD控制器102确定RDO“无USB挂起”比特是否为1,并且如果是,则主机PD控制器102取消设置PDO中的“支持USB挂起”比特,并且将这个通知给伙伴设备107/108。
在完成该组操作201之后,SoC 101确定Type-C端口105上是否有任何活动,或者平台是否处于待机状态,如操作202所示。然后,SoC 101将Type-C端口待机指示发送给EC103,如操作203所示。在操作204中,EC 103将Type-C端口待机指示发送给主机PD控制器102。然后,主机PD控制器102确定该命令是否为待机,并且确定RDO无USB挂起比特被设置为0,并且如果是这样,则主机PD控制器102指示VR 104相应地输出电力到消费者类型设备,如操作205所示。例如,伙伴设备108是常规设备,VR 104提供25mW输出功率,而如果伙伴设备108是集线器连接器,则VR 104提供125mW输出功率。
在退出待机时,SoC 101通知EC 103关于待机的结束,如操作206所示。然后,EC103通知主机PD控制器102关于待机退出,如操作207所示。主机PD控制器102通过CC引脚审查该命令。如果该命令是待机退出,那么主机PD控制器102将电流输入限制(current inputlimit,ILIM)设置为RDO功率,如操作208所示。
在主机系统S0活跃状况中,如果与到端口的斜坡功率相比,平台唤醒时延不受USB链路退出时延容差(例如,对于USB3链路,从U3是10ms)的限制,那么各种实施例的主机端口电力节省方案可以通过PD控制器102发起“RDO无USB挂起”,以对于BPD和集线器分别将功率水平降低到25mW/125mW。
在主机系统待机状况中,如果与到端口的斜坡功率相比,退出时延不受系统退出时延容差的限制,那么各种实施例的主机端口电力节省方案可以通过PD控制器102发起“RDO无USB挂起”,以对于BPD和集线器分别将功率水平降低到25mW/125mW。
在系统ACPI Sx待机(例如,S3状态)状况中,如果与到端口的斜坡功率相比,退出时延不受系统Sx退出时延容差的限制,那么各种实施例的主机端口电力节省方案可以通过PD控制器102发起“RDO无USB挂起”,以对于BPD和集线器分别将功率水平耗用降低到25mW/125mW。
在这些状况下,分别以待机25mW/125mW功率来维持BPD或集线器。待机功率为伙伴设备108提供了发起唤醒触发的能力。如果从待机(例如,25mW/125mW)到操作功率的到端口伙伴108的功率斜坡受到USB退出时延时间的限制,那么上述三种状况(主机系统S0活跃状况、主机系统待机状况和系统ACPI Sx待机(例如,S3状态)状况)在该场景中可能不被执行。在这种情况下,可能会继续从主机系统电池发生功率泄漏/耗用。因此,在必须有设备发起的唤醒的要求中,SoC 101可以通过与BPD和集线器PD控制器107协商以降低功率水平来支持潜在的唤醒要求,从而进一步节省电力。
图3图示了根据一些实施例的系统300,示出了经由Type-C端口连接的主机和信宿设备,具有待机通信,其中有来自SoC的VBUS通/断。系统300与系统100类似。这里,SoC 101被重标记为SoC 301,因为它包括提供给PD控制器302(它是从PD控制器102重标记的)的VBUS通/断控制。VR 104被重标记为VR 304,以指示出VBUS通/断切换控制的能力。
如本文所论述的,当各种实施例的主机端口电力节省方案发现没有设备发起的唤醒要求,但依赖于主机发起的从系统睡眠-待机的唤醒时,则存在一个很好的机会来切断对BPD、集线器的全部电力,同时也将平台和SoC唤醒电力平面断电。主机端口电力节省方案可以得出低时延退出约束,并且决定关断对BPD和集线器的全部电力以节省电力。本文中列出的USB 3.2、USB4和DP协议设备远程唤醒属性被各种实施例的主机方案用来触发其PD控制器302关断到BPD和集线器的电力(例如,源开关)。因此,当主机在睡眠和待机模式中由电池供电时,甚至BPD或集线器待机功率(例如,25mW/125mW)或泄漏功率也被节省了。各种实施例的主机算法通过到PD控制器302的带内I2C总线或GPIO线向PD控制器302传达这个信息。这个序列由图2和图3描述。
在系统S0活跃状况中,如果与到端口105的斜坡功率相比,退出时延不受信源(例如,SoC 301)发起的链路退出时延的限制,则各种实施例的主机端口电力节省方案可以通过PD控制器102/302发起“VBUS关断”。
在系统待机状况中,如果与到端口105的斜坡功率相比,退出时延不受系统退出时延容差的限制,那么各种实施例的主机端口电力节省方案可以通过PD控制器102/302发起“VBUS关断”。
在系统ACPI Sx待机状况中,如果与到端口105的斜坡功率相比,退出时延不受系统Sx退出时延容差的限制,那么各种实施例的主机端口电力节省方案可以通过PD控制器102/302避免发起“VBUS关断”。
在不需要设备发起的唤醒,而唤醒是从主机系统301触发的要求中,SoC 301通过关断到BPD和集线器以及其他系统唤醒电力平面的电力来节省电力。对于可能不支持唤醒并且是电池操作的设备,各种实施例的方案可以确保从主机系统301提供最低功率,以避免设备上的电池耗尽。根据一些实施例,主机301可以考虑其自身的电池水平和连接设备的电池水平来决定最低功率。
图4图示了根据一些实施例的没有设备唤醒要求的高级电力和通信接口(ACPI)待机序列的流程图400。虽然按特定顺序示出了各块,但顺序是可被修改的。例如,一些块可被并行执行,而一些块可在其他块之前被执行。各种块可由软件、硬件或者其组合来执行。为了简洁起见,论述了流程图400和流程图200之间的差异。在一些实施例中,主机301决定基于针对设备发起的唤醒要求的ACPI定义的待机来限制外设功率,该唤醒要求包括不受从待机的功率斜坡所限制的退出时延。在各种实施例中,PD控制器302基于边带接口(例如,有线SLP_S0、Sx信号,用于快速反应以保持低时延,或者通过I2C,以实现低时延)检测来自主机301的待机。PD控制器302的策略决定通过流程图400和500来限制伙伴设备108的功率。
在操作204之后,如参考流程图200/400所论述的,主机PD控制器102/302检查Type-C端口是否处于待机并且RDO归还比特是否被设置为0,如操作401所示。如果Type-C端口处于待机并且RDO归还比特被设置为0,则主机PD控制器302/102与伙伴设备108建立具有0A的新电力输送合约,如操作402所示。待机退出流程与参考流程图200论述的流程相同。
当伙伴设备或信宿设备108具备PD通信能力时,各种实施例的主机PD方案利用PD规范、“请求设备对象”(RDO)中的“无USB挂起标志”,来协商并且存储较低的功率模式能力。在第一种选项中,如果USB挂起被在早期电力合约阶段操作201处协商的设备所支持,则主机/信源PD控制器302指示板载VR 304降低功率(例如,提高电压到5V)。这降低了设备待机功率25mW/125mW(例如,基于DEVICE_REMOTE_WAKE的截止功率)。在第二种选项中,当第一种选项不可用时,PD规范“归还”比特被主机PD控制器302用来协商并且建立0A下的5V的合约(待机功率)。对于不具备PD能力的设备(例如,USB随身碟),主机PD控制器302使用专用通信通道更新VBUS VR 304,以降低功率,来实现25mW/125mW待机。因此,如果不需要唤醒,则切断电力。
图5图示了根据一些实施例的其中移除了VBUS并且没有设备唤醒要求的ACPI Sx序列的流程图500。虽然按特定顺序示出了各块,但顺序是可被修改的。例如,一些块可被并行执行,而一些块可在其他块之前被执行。各种块可由软件、硬件或者其组合来执行。
为了简洁起见,论述了流程图500和流程图200之间的差异。在执行该组操作之后,SoC 301通知EC 103关于ACPI Sx睡眠状态,如操作501所示。然后,EC 103通知主机PD控制器302关于ACPI Sx状态,如操作502所示。替换地,或者额外地,在一些实施例中,SoC 301/101可以经由主机PD控制器302的GPIO的边带(例如,有线Sx)直接通知PD 302/102。在操作503中,主机PD控制器302指示VR 304移除VBUS。然后,VR 304从伙伴设备108移除VBUS,如操作504所示。此后,睡眠退出流程由SoC 301和EC 103之间以及EC 103和SoC 301之间的通信所指示,如操作505和506分别所示。然后,该过程前进到操作201,如操作507所示。本文论述的各种流程图可以由在SoC 101或301上执行的操作系统、驱动器、软件、固件(例如,功率管理单元中的pCode)来执行。
在检测到来自主机PD控制器302的GPIO的边带的睡眠(Sx)或S0ix时,可以操作VBUS VR 304上的开关关断,以在没有EC 103的情况下节约更多的电力。在一些实施例中,在检测到来自主机PD控制器302的GPIO的边带的睡眠(Sx)或S0ix时,可以使VBUS恢复并且将设备108移动到操作状态。
实施例的元素也是以用于存储计算机可执行指令(例如,实现本文论述的任何其他过程的指令)的机器可读介质(例如,存储器)的形式来提供的。在一些实施例中,计算平台包括存储器、处理器、机器可读存储介质(也称为有形机器可读介质)、通信接口(例如,无线或有线接口)、以及耦合它们的网络总线。
在一些实施例中,处理器是实现简单的有限状态机来执行各种实施例的方法等等的数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、通用中央处理单元(Central Processing Unit,CPU)、或者低功率逻辑。
在一些实施例中,系统的各种逻辑块经由网络总线耦合在一起。可以使用任何适当的协议来实现网络总线。在一些实施例中,机器可读存储介质包括用于如参考各种实施例和流程图所描述的处理器空闲时间的智能预测的指令(也称为程序软件代码/指令)。
与(一个或多个)流程图(和/或各种实施例)相关联并且被执行来实现所公开的主题的实施例的程序软件代码/指令可被实现为操作系统或特定应用、组件、程序、对象、模块、例程或者其他指令序列或者指令序列的组织的一部分,其被称为“程序软件代码/指令”、“操作系统程序软件代码/指令”、“应用程序软件代码/指令”或者简称为“软件”或嵌入在处理器中的固件。在一些实施例中,与流程图500(和/或各种实施例)相关联的程序软件代码/指令被计算机系统执行。
在一些实施例中,与流程图500(和/或各种实施例)相关联的程序软件代码/指令被存储在计算机可执行存储介质中并且被处理器执行。这里,计算机可执行存储介质是可用于存储程序软件代码/指令和数据的有形机器可读介质,该程序软件代码/指令和数据在被计算设备执行时,使得一个或多个处理器执行可在针对所公开的主题的一个或多个所附权利要求中记载的(一个或多个)方法。
有形机器可读介质可包括可执行软件程序代码/指令和数据在各种有形位置中的存储,例如包括ROM、易失性RAM、非易失性存储器、和/或缓存、和/或本申请中引用的其他有形存储器。此程序软件代码/指令和/或数据的一些部分可被存储在这些存储装置和存储器设备中的任何一者中。另外,程序软件代码/指令可以是从其他存储装置获得的,包括例如通过集中式服务器或对等网络等等获得,包括互联网。可在不同的时间和在不同的通信会话中或者在同一通信会话中获得软件程序代码/指令和数据的不同部分。
(与流程图500和其他实施例相关联的)软件程序代码/指令以及数据可在各个软件程序或应用被计算设备执行之前被完全获得。或者,可以在执行需要时动态地(例如,刚好及时地)获得软件程序代码/指令和数据的一些部分。或者,通过示例的方式,获得软件程序代码/指令和数据的这些方式的某种组合可发生,例如,对于不同的应用、组件、程序、对象、模块、例程或者其他指令序列或指令序列的组织。因此,不要求数据和指令在特定的时刻全部在有形机器可读介质上。
有形计算机可读介质的示例包括但不限于可记录和不可记录类型的介质,例如易失性和非易失性存储器设备、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、闪存设备、磁随机存取存储器、铁电存储器、软盘和其他可移除盘、磁存储介质、光存储介质(例如,光盘只读存储器(Compact Disk Read-OnlyMemory,CD ROM)、数字多功能盘(Digital Versatile Disk,DVD)等等),等等。软件程序代码/指令可被临时存储在数字有形通信链路中,同时通过这种有形通信链路来实现电的、光的、声学的或者其他形式的传播信号,例如载波、红外信号、数字信号,等等。
一般而言,有形机器可读介质包括以机器(即,计算设备)可访问的形式提供信息(即,以数字形式存储和/或发送信息,例如数据分组)的任何有形机制,其可被包括在例如通信设备、计算设备、网络设备、个人数字助理、制造工具、移动通信设备(无论其是否能够从通信网络(例如互联网)下载和运行应用和补贴应用,例如 、等等)或者包括计算设备的任何其他设备中。在一个实施例中,基于处理器的系统采取如下形式或者被包括在如下项内:PDA(个人数字助理)、蜂窝电话、笔记本计算机、平板设备、游戏机、机顶盒、嵌入式系统、TV(电视机)、个人桌面计算机,等等。或者,在所公开的主题的一些实施例中可以使用传统的通信应用和(一个或多个)补贴应用。
在一些实施例中,一种机器可读存储介质具有存储在其上的机器可读指令,所述指令在被执行时使得一个或多个处理器执行一种方法,该方法包括:检测连接到端口的设备;启用到所述设备的电力;确定连接到所述端口的所述设备不活跃;通过向电力输送控制器发送待机指示来发起待机模式;响应于所述待机指示而指示电压调节器减小到所述设备的电力;并且减小到所述设备的电力。在一些实施例中,所述机器可读存储介质具有存储在其上的机器可读指令,所述指令在被执行时使得所述一个或多个处理器执行进一步的方法,该进一步的方法包括:向嵌入式控制器发送待机退出指示;并且响应于所述待机退出指示而为所述电压调节器设置电流限制。在一些实施例中,所述端口是USB Type-C端口。在一些实施例中,所述设备是总线供电设备或者是集线器连接系统。在一些实施例中,减小到所述设备的电力包括切断到唤醒逻辑电力平面的电力。在一些实施例中,所述设备不使用设备发起的唤醒。在一些实施例中,所述机器可读存储介质具有存储在其上的机器可读指令,所述指令在被执行时使得所述一个或多个处理器执行进一步的方法,该进一步的方法包括:经由API接口发送消息来减小或关断到所述设备的电力;以及读取标志来确定当减小到所述设备的电力时是否保持系统唤醒逻辑电力平面被通电。在一些实施例中,当所述设备是USB 3.2设备时,所述标志是DEVICE_REMOTE_WAKEUP标志。在一些实施例中,当所述设备是USB 4设备时,所述标志是路由器配置空间基本属性(Router Configuration SpaceBasic Attribute)。
图6图示了根据一些实施例的具有用于降低带有连接的总线供电设备的系统在电池模式中的待机功率的装置和方法的智能设备或计算机SoC。要指出的是,图6中具有与任何其他图中的元素相同的附图标记(或名称)的那些元素可按与所描述的相似的任何方式进行操作或工作,但不限于此。该智能设备中的任何块可具有用于降低带有连接的总线供电设备的系统在电池模式中的待机功率的装置和方法。
在一些实施例中,由各种实施例的主机端口电力节省方案实现的设备发起的唤醒要求的发现是根据基于协议的驱动器/FW特征状态和退出时延容限数字的。例如,对于USB3.2规范,主机标准设备请求和随后的带有“DEVICE_REMOTE_WAKEUP”的标准特征选择器被用于设备发起的唤醒要求的发现。对于USB4规范,PCIe、USB3、DP上的带有“启用唤醒”的路由器配置空间基本属性被用于设备发起的唤醒要求的发现。对于DP规范,DPCD设置电力(DPCD SET Power)和SET_DP_PWR_VOLTAGE寄存器被用于设备发起的唤醒要求的发现。
如果要求Type C设备发起的唤醒要求,而对时延容差没有限制,那么SoC到PD I2C带内通信或来自SoC的挂起(SUSPEND)引脚被用来配置BPD或集线器进入/退出低泄漏25mW/125mW模式。如果要求Type C设备发起的唤醒要求,而对时延容差没有限制,那么各种实施例的主机端口电力节省方案经由到PD控制器的I2C接口来触发挂起。在一些实施例中,也可以利用SoC到PD控制器的GPIO引脚来减小进入/退出时延。如果要求Type C设备发起的唤醒要求,而对时延容差没有限制,那么PD协议“RDO无USB挂起”、UFP VDO2、USB3/4最低功率、归还、GOTO MIN、0A被用来协商将到BPD和集线器的功率降低到25mW/125mW。当设备发起的唤醒发生时,SoC可以通过I2C或GPIO引脚触发PD控制器来向BPD或集线器提供操作电力。
对于Type-C主机,发起的唤醒只需要推断出没有严格的时延容差要求,主机端口电力节省方案经由到PD控制器的I2C接口来预先切断电力。在一些实施例中,SoC GPIO引脚和SLP_S0、Sx引脚、eSPI虚拟线信令也可以被利用来触发PD控制器关断到BPD或集线器设备的电力,同时SoC系统也可以关断其唤醒电力平面。在有来自SOC SLP_S0、SX引脚的唤醒通知时,可以触发到PD的eSPI虚拟线,以再次为BPD或集线器设备供电。
在一些实施例中,设备5500表示适当的计算设备,例如计算平板、移动电话或智能电话、膝上型电脑、桌面型电脑、物联网(Internet-of-Things,IOT)设备、服务器、可穿戴设备、机顶盒、具备无线能力的电子阅读器,等等。将会理解,某些组件被概括示出,并且在设备5500中没有示出这种设备的所有组件。
在一示例中,设备5500包括SoC(片上系统)5501。SoC 5501的示例边界在图6中利用虚线来图示,其中一些示例组件被图示为包括在SoC 5501内——然而,SoC 5501可包括设备5500的任何适当组件。
在一些实施例中,设备5500包括处理器5504。处理器5504可包括一个或多个物理设备,例如微处理器、应用处理器、微控制器、可编程逻辑器件、处理核心,或者其他处理实现方式,例如多个计算、图形、加速器、I/O和/或其他处理芯片的分解组合。由处理器5504执行的处理操作包括对其上执行应用和/或设备功能的操作平台或操作系统的执行。处理操作包括关于与人类用户或与其他设备的I/O(输入/输出)的操作、关于功率管理的操作、关于将计算设备5500连接到另一设备的操作,等等。处理操作还可包括与音频I/O和/或显示I/O有关的操作。
在一些实施例中,处理器5504包括多个处理核心(也称为核心)5508a、5508b、5508c。虽然在图6中只图示了三个核心5508a、5508b、5508c,但处理器5504可包括任何其他适当数目的处理核心,例如数十个或者甚至数百个处理核心。处理器核心5508a、5508b、5508c可被实现在单个集成电路(IC)芯片上。此外,芯片可包括一个或多个共享的和/或私有的缓存、总线或互连、图形和/或存储器控制器,或者其他组件。
在一些实施例中,处理器5504包括缓存5506。在一示例中,缓存5506的一些部分可专用于个体核心5508(例如,缓存5506的第一部分专用于核心5508a,缓存5506的第二部分专用于核心5508b,等等)。在一示例中,缓存5506的一个或多个部分可以是在两个或更多个核心5508之间共享的。缓存5506可被分割成不同的级别,例如第1级(L1)缓存、第2级(L2)缓存、第3级(L3)缓存,等等。
在一些实施例中,处理器核心5504可包括取得单元来取得指令(包括带有条件分支的指令)以供核心5504执行。可以从诸如存储器5530之类的任何存储设备取得指令。处理器核心5504也可包括解码单元来对取得的指令解码。例如,解码单元可以将取得的指令解码成多个微操作。处理器核心5504可包括调度单元来执行与存储经解码的指令相关联的各种操作。例如,调度单元可保存来自解码单元的数据,直到指令准备好调谴为止,例如,直到解码的指令的所有源值变得可用为止。在一个实施例中,调度单元可调度和/或发出(或调谴)解码的指令到执行单元以供执行。
执行单元可在调谴的指令被解码(例如,被解码单元解码)和派谴(例如,被调度单元调谴)之后执行这些指令。在一实施例中,执行单元可包括多于一个执行单元(例如,成像计算单元、图形计算单元、通用计算单元,等等)。执行单元也可以执行各种算术操作,例如加法、减法、乘法和/或除法,并且可包括一个或多个算术逻辑单元(arithmetic logicunit,ALU)。在一实施例中,协处理器(未示出)可联合执行单元来执行各种算术操作。
另外,执行单元可无序地执行指令。因此,在一个实施例中,处理器核心5504可以是无序处理器核心。处理器核心5504也可包括引退单元。引退单元可以在执行的指令被提交之后引退这些指令。在一实施例中,执行的指令的引退可导致处理器状态被从指令的执行提交、指令所使用的物理寄存器被解除分配,等等。处理器核心5504也可包括总线单元来使能处理器核心5504的组件和其他组件之间经由一个或多个总线的通信。处理器核心5504也可包括一个或多个寄存器来存储被核心5504的各种组件访问的数据(例如,与指派的应用优先级和/或子系统状态(模式)关联有关的值)。
在一些实施例中,设备5500包括连通性电路5531。例如,连通性电路5531包括硬件设备(例如,无线和/或有线连接器和通信硬件)和/或软件组件(例如,驱动器、协议栈),来例如使得设备5500能够与外部设备通信。设备5500可与诸如其他计算设备、无线接入点或基站等等之类的外部设备分离。
在一示例中,连通性电路5531可包括多种不同类型的连通性。概括来说,连通性电路5531可包括蜂窝连通性电路、无线连通性电路,等等。连通性电路5531的蜂窝连通性电路一般指的是由无线运营商提供的蜂窝网络连通性,例如经由以下所列项来提供的蜂窝网络连通性:GSM(global system for mobile communications,全球移动通信系统)或者变体或衍生物,CDMA(code division multiple access,码分多址接入)或者变体或衍生物,TDM(time division multiplexing,时分复用)或者变体或衍生物,第3代合作伙伴计划(3rdGeneration Partnership Project,3GPP)通用移动电信系统(Universal MobileTelecommunications Systems,UMTS)系统或者变体或衍生物,3GPP长期演进(Long-TermEvolution,LTE)系统或者变体或衍生物,3GPP LTE高级版(LTE-Advanced,LTE-A)系统或者变体或衍生物,第五代(5G)无线系统或者变体或衍生物,5G移动网络系统或者变体或衍生物,5G新无线电(New Radio,NR)系统或者变体或衍生物,或者其他蜂窝服务标准。连通性电路5531的无线连通性电路(或无线接口)指的是非蜂窝的无线连通性,并且可包括个人区域网(例如蓝牙、近场等等)、局域网(例如Wi-Fi)和/或广域网(例如WiMax),和/或其他无线通信。在一示例中,连通性电路5531可包括网络接口,例如有线或无线接口,例如,使得系统实施例可被包含到无线设备中,例如,蜂窝电话或个人数字助理。
在一些实施例中,设备5500包括控制中枢5532,该控制中枢表示关于与一个或多个I/O设备的交互的硬件设备和/或软件组件。例如,处理器5504可经由控制中枢5532与显示器5522、一个或多个外围设备5524、存储设备5528、一个或多个其他外部设备5529等等中的一个或多个进行通信。控制中枢5532可以是芯片组、平台控制中枢(Platform ControlHub,PCH),等等。
例如,控制中枢5532说明了连接到设备5500的附加设备的一个或多个连接点,例如,通过这些附加设备用户可与系统交互。例如,可附接到设备5500的设备(例如,设备5529)包括麦克风设备、扬声器或立体声系统、音频设备、视频系统或其他显示设备、键盘或小键盘设备、或者用于特定应用的其他I/O设备,例如读卡器或其他设备。
如上所述,控制中枢5532可与音频设备、显示器5522等等交互。例如,通过麦克风或其他音频设备的输入可为设备5500的一个或多个应用或功能提供输入或命令。此外,取代显示输出,或者除了显示输出以外,还可提供音频输出。在另一示例中,如果显示器5522包括触摸屏,则显示器5522也充当输入设备,该输入设备可至少部分由控制中枢5532来管理。在计算设备5500上也可以有额外的按钮或开关来提供由控制中枢5532管理的I/O功能。在一个实施例中,控制中枢5532管理诸如加速度计、相机、光传感器或其他环境传感器之类的设备,或者可被包括在设备5500中的其他硬件。输入可以是直接用户交互的一部分,以及向系统提供环境输入以影响其操作(例如对噪声进行过滤,调整显示器以进行亮度检测,对相机应用闪光灯,或者其他特征)。
在一些实施例中,控制中枢5532可利用任何适当的通信协议耦合到各种设备,例如PCIe(Peripheral Component Interconnect Express,快速外围组件互连)、USB(Universal Serial Bus,通用串行总线)、雷电(Thunderbolt)、高清晰度多媒体接口(HighDefinition Multimedia Interface,HDMI)、火线(Firewire),等等。
在一些实施例中,显示器5522表示提供视觉和/或触觉显示来供用户与设备5500交互的硬件(例如,显示设备)和软件(例如,驱动器)组件。显示器5522可包括显示接口、显示屏、和/或用于向用户提供显示器的硬件设备。在一些实施例中,显示器5522包括向用户提供输出和输入两者的触摸屏(或触摸板)设备。在一示例中,显示器5522可以直接与处理器5504进行通信。显示器5522可以是像在移动电子设备或膝上型电脑设备中那样的内部显示设备或者经由显示接口(例如,DisplayPort等等)附接的外部显示设备中的一个或多个。在一个实施例中,显示器5522可以是头戴式显示器(head mounted display,HMD),例如立体显示设备,来用于虚拟现实(virtual reality,VR)应用或增强现实(augmentedreality,AR)应用中。
在一些实施例中,虽然在附图中没有图示,但除了处理器5504以外(或者取代处理器5504),设备5500还可包括图形处理单元(Graphics Processing Unit,GPU),该图形处理单元包括一个或多个图形处理核心,其可控制在显示器5522上显示内容的一个或多个方面。
控制中枢5532(或者平台控制器中枢)可包括硬件接口和连接器,以及软件组件(例如,驱动器、协议栈),来进行例如到外围设备5524的外围连接。
将会理解,设备5500既可以是其他计算设备的外围设备,也可以有外围设备连接到它。设备5500可具有“坞接”连接器来连接到其他计算设备,以便例如管理设备5500上的内容(例如,下载和/或上传、改变、同步)。此外,坞接连接器可允许设备5500连接到某些外设,这些外设允许计算设备5500控制例如到视听或其他系统的内容输出。
除了专属坞接连接器或其他专属连接硬件以外,设备5500还可经由常见的或者基于标准的连接器来进行外围连接。常见类型可包括通用串行总线(Universal Serial Bus,USB)连接器(其可包括若干种不同硬件接口中的任何一种)、包括MiniDisplayPort(MDP)的显示端口,高清晰度多媒体接口(High Definition Multimedia Interface,HDMI)、火线、或者其他类型。
在一些实施例中,连通性电路5531可耦合到控制中枢5532,例如除了直接耦合到处理器5504以外或者取代直接耦合到处理器5504。在一些实施例中,显示器5522可耦合到控制中枢5532,例如除了直接耦合到处理器5504以外或者取代直接耦合到处理器5504。
在一些实施例中,设备5500包括存储器5530,其经由存储器接口5534耦合到处理器5504。存储器5530包括用于存储设备5500中的信息的存储器设备。
在一些实施例中,存储器5530包括装置来维持稳定的钟控,如参考各种实施例所描述的。存储器可包括非易失性存储器设备(如果到存储器设备的电力中断,状态不会改变)和/或易失性存储器设备(如果到存储器设备的电力中断,则状态不确定)。存储器设备5530可以是动态随机存取存储器(dynamic random-access memory,DRAM)设备、静态随机存取存储器(static random-access memory,SRAM)设备、闪存设备、相变存储器设备或者具有适当的性能来用作进程存储器的某种其他存储器设备。在一个实施例中,存储器5530可充当设备5500的系统存储器,以存储数据和指令来在一个或多个处理器5504执行应用或进程时使用。存储器5530可存储应用数据、用户数据、音乐、照片、文档或其他数据,以及与设备5500的应用和功能的执行有关的系统数据(无论是长期的还是暂时的)。
各种实施例和示例的元素也可以以用于存储计算机可执行指令(例如,用于实现本文论述的任何其他过程的指令)的机器可读介质(例如,存储器5530)的形式来提供。机器可读介质(例如,存储器5530)可包括但不限于闪存、光盘、CD-ROM、DVD ROM、RAM、EPROM、EEPROM、磁卡或光卡、相变存储器(phase change memory,PCM)、或者适合用于存储电子或计算机可执行指令的其他类型的机器可读介质。例如,本公开的实施例可以作为计算机程序(例如,BIOS)被下载,该计算机程序可经由通信链路(例如,调制解调器或网络连接)借由数据信号被从远程计算机(例如,服务器)传送到作出请求的计算机(例如,客户端)。
在一些实施例中,设备5500包括温度测量电路5540,例如用于测量设备5500的各种组件的温度。在一示例中,温度测量电路5540可以被嵌入,或者耦合或附接到其温度要被测量和监视的各种组件。例如,温度测量电路5540可测量核心5508a、5508b、5508c、电压调节器5514、存储器5530、SoC 5501的主板和/或设备5500的任何适当组件中的一个或多个的温度(或者其内的温度)。在一些实施例中,温度测量电路5540包括低功率混合反向(lowpower hybrid reverse,LPHR)带隙基准(bandgap reference,BGR)和数字温度传感器(digital temperature sensor,DTS),它利用亚阈值金属氧化物半导体(metal oxidesemiconductor,MOS)晶体管和PNP寄生双极结型晶体管(Bi-polar Junction Transistor,BJT)器件来形成作为可配置BGR或DTS操作模式的基础的反向BGR。LPHR体系结构使用低成本MOS晶体管和标准的寄生PNP器件。基于反向带隙电压,LPHR可作为可配置的BGR工作。通过比较可配置的BGR与经缩放的基极-发射极电压,该电路也可作为具有线性传递函数的DTS来运转,并具有单温度修整以获得高准确度。
在一些实施例中,设备5500包括功率测量电路5542,例如用于测量设备5500的一个或多个组件消耗的功率。在一示例中,除了测量功率以外,或者取代测量功率,功率测量电路5542还可以测量电压和/或电流。在一示例中,功率测量电路5542可以被嵌入,或者耦合或附接到其功率、电压和/或电流消耗要被测量和监视的各种组件。例如,功率测量电路5542可测量由一个或多个电压调节器5514供应的功率、电流和/或电压、供应到SoC 5501的功率、供应到设备5500的功率、由设备5500的处理器5504(或任何其他组件)消耗的功率,等等。
在一些实施例中,设备5500包括一个或多个电压调节器电路,一般称为电压调节器(voltage regulato,VR)5514。VR 5514按适当的电压水平生成信号,这些信号可被供应来操作设备5500的任何适当组件。仅作为示例,VR 5514被图示为向设备5500的处理器5504供应信号。在一些实施例中,VR 5514接收一个或多个电压标识(Voltage Identification,VID)信号,并且基于VID信号来生成处于适当水平的电压信号。对于VR 5514可以利用各种类型的VR。例如,VR 5514可包括“降压”VR、“升压”VR、降压和升压VR的组合、低压差(lowdropout,LDO)调节器、开关DC-DC调节器、基于恒定导通时间控制器的DC-DC调节器,等等。降压VR一般被用于其中输入电压需要被以小于单位一的比率变换成输出电压的电力输送应用中。升压VR一般被用于其中输入电压需要被以大于单位一的比率变换成输出电压的电力输送应用中。在一些实施例中,每个处理器核心具有其自己的VR,该VR被PCU 5510a/b和/或PMIC 5512所控制。在一些实施例中,每个核心具有分布式LDO的网络,来提供对功率管理的高效控制。LDO可以是数字的、模拟的或者是数字或模拟LDO的组合。在一些实施例中,VR5514包括电流跟踪装置来测量通过(一个或多个)电力供应轨的电流。
在一些实施例中,VR 5514包括数字控制方案,来管理比例-积分-微分(proportional-integral-derivative,PID)滤波器(也被称为数字III型补偿器)的状态。数字控制方案控制PID滤波器的积分器实现使占空比饱和的非线性控制,在此期间PID的比例和微分项被设置为0,而积分器及其内部状态(先前值或存储器)被设置为作为当前标称占空比加上deltaD之和的占空比。deltaD是用于将电压调节器从ICCmin调节到ICCmax的最大占空比增量,并且是可以在流片后设置的配置寄存器。状态机从非线性全开状态(这使输出电压Vout回到调节窗口)转移到维持输出电压略高于所需参考电压Vref的开环占空比。在所命令的占空比下处于这个开环状态中一段时间之后,状态机于是使得开环占空比值斜坡下降,直到输出电压接近所命令的Vref为止。这样,来自VR 5514的输出供应上的输出颤动被完全消除(或基本消除),并且只有一个单一的欠冲过渡,这可导致基于比较器延迟和负载的di/dt与可用输出解耦电容的保证Vmin。
在一些实施例中,VR 5514包括单独的自启动控制器,它在没有熔丝和/或修整信息的情况下发挥作用。自启动控制器保护VR 5514免受大的浪涌电流和电压过冲的影响,同时能够遵循系统施加的可变VID(电压标识)参考斜坡。在一些实施例中,自启动控制器使用内置到控制器中的松弛振荡器来设置降压转换器的开关频率。可以利用时钟或电流参考来将该振荡器初始化到接近期望的操作频率。VR 5514的输出与振荡器弱耦合,以设置闭环操作的占空比。该控制器是自然偏置的,从而输出电压总是略高于设置点,消除了对于任何工艺、电压和/或温度(process,voltage,and/or temperature,PVT)施加的修整的需要。
在一些实施例中,设备5500包括一个或多个时钟生成器电路,统称为时钟生成器5516。时钟生成器5516在适当的频率水平下生成时钟信号,这些信号可被供应给设备5500的任何适当组件。仅作为示例,时钟生成器5516被图示为向设备5500的处理器5504供应时钟信号。在一些实施例中,时钟生成器5516接收一个或多个频率标识(FrequencyIdentification,FID)信号,并且基于FID信号在适当的频率下生成时钟信号。
在一些实施例中,设备5500包括向设备5500的各种组件供应电力的电池5518。仅作为示例,电池5518被图示为向处理器5504供应电力。虽然在附图中没有图示,但设备5500可包括充电电路,例如用于基于从交流电(Alternating Current,AC)适配器接收的AC电力供应来对电池进行再充电。
在一些实施例中,电池5518周期性地检查实际电池容量或能量,并且充电到预设的电压(例如,4.1V)。电池随后决定电池容量或能量。如果容量或能量不足,那么电池中的装置或者与电池相关联的装置就会将充电电压略微增大到容量充足的点(例如,从4.1V到4.11V)。周期性检查并且略微增大充电电压的过程被执行,直到充电电压达到规格限制(例如4.2V)为止。本文描述的方案具有益处,例如可以延长电池寿命,可以降低能量储备不足的风险,可以尽可能地使用突发功率,和/或甚至可以使用更高的突发功率。
在一些实施例中,电池5518是多电池系统,具有取决于工作负载的负载共享机制。该机制是一种能量管理系统,它在三种模式中操作——能量节省模式、平衡器模式和极速模式。能量节省模式是一种正常模式,在这种模式下多个电池(总体示为电池5518)以最小的电阻耗散向其自己的一组负载提供电力。在平衡模式中,电池通过在活跃模式中操作的开关而被连接,使得共享的电流与相应的电池充电状态成反比。在极速模式中,两个电池都通过开关(例如,接通开关)并联连接,以向处理器或负载提供最大电力。在一些实施例中,电池5518是混合电池,它包括快速充电电池和高能量密度电池。快速充电电池(fastcharging,FC)是指能够比高能量密度电池(high energy,HE)更快充电的电池。FC可以是当今的锂离子电池,因为它能够比HE更快地充电。在一些实施例中,控制器(电池5518的一部分)优化混合电池的序列和充电速率,以最大化电池的充电电流和充电速度两者,同时使得电池寿命能够更长。
在一些实施例中,充电电路(例如,5518)包括降压-升压转换器。这个降压-升压转换器包括DrMOS或者DrGaN器件,用于替代传统的降压-升压转换器的半桥。这里的各种实施例是参考DrMOS来描述的。然而,实施例也适用于DrGaN。DrMOS器件由于降低了寄生性和优化了MOSFET封装,因此允许更好的功率转换效率。由于死区时间管理是在DrMOS内部的,因此死区时间管理比传统的降压-升压转换器更准确,从而带来了更高的转换效率。更高的操作频率允许了更小的电感器尺寸,这进而又减小了包括基于DrMOS的降压-升压转换器的充电器的z高度。各种实施例的降压-升压转换器包括用于DrMOS器件的双折叠式自举(dual-folded bootstrap)。在一些实施例中,除了传统的自举电容器以外,还添加了折叠式自举电容器,这些折叠式自举电容器将电感器节点交叉耦合到两组DrMOS开关。
在一些实施例中,设备5500包括功率控制单元(Power Control Unit,PCU)5510(也称为功率管理单元(Power Management Unit,PMU)、功率管理控制器(PowerManagement Controller,PMC)、功率单元(p单元),等等)。在一示例中,PCU 5510的一些部分可以由一个或多个处理核心5508实现,并且PCU 5510的这些部分被利用虚线框来象征性图示并且被标注为PCU 5510a。在一示例中,PCU 5510的一些其他部分可被实现在处理核心5508的外部,并且PCU 5510的这些部分被利用虚线框来象征性图示并且被标注为PCU5510b。PCU 5510可为设备5500实现各种功率管理操作。PCU 5510可包括硬件接口、硬件电路、连接器、寄存器等等,以及软件组件(例如,驱动器、协议栈),来为设备5500实现各种功率管理操作。
p单元5510可包括电路,该电路包括硬件、软件和/或固件来执行功率管理操作。在一些实施例中,p单元5510经由接口向处理器系统的电压调节器提供控制信息以使得电压调节器生成适当的调节电压。在一些实施例中,p单元5510经由另一接口向核心5508的电压调节器提供控制信息以控制所生成的操作电压(或者使得相应的电压调节器在低功率模式中被禁用)。在一些实施例中,p单元5510可包括多种功率管理逻辑单元来执行基于硬件的功率管理。这种功率管理可以是完全处理器控制的(例如,由各种处理器硬件控制,并且可由工作负载和/或功率约束、热约束或其他处理器约束所触发),和/或功率管理可响应于外部信源(例如,平台或功率管理信源或系统软件)而被执行。在一些实施例中,p单元5510被实现为微控制器。该微控制器可以是嵌入式微控制器,它是专用控制器或者作为通用控制器。在一些实施例中,p单元5510被实现为控制逻辑,该控制逻辑被配置为执行其自己的专用功率管理代码,这里称为pCode。在一些实施例中,p单元5510要执行的功率管理操作可在处理器5501的外部实现,例如通过单独的功率管理集成电路(power managementintegrated circuit,PMIC)或者处理器系统5501外部的其他组件来实现。在另外的其他实施例中,p单元5510要执行的功率管理操作可在BIOS或其他系统软件内实现。在一些实施例中,p单元5510可承担监督者或者被监督者的角色。
在各种实施例中,PCU或者PMU 5510是以层次化方式组织的,形成层次化功率管理(hierarchical power management,HPM)。各种实施例的HPM构建了一种能力和基础设施,其允许对平台的封装级管理,同时仍然迎合可能存在于封装件中的构成管芯之间的自治岛屿。HPM并不假定物理分区到域的预定映射。HPM域可与集成在小管芯内部的功能对齐,与小管芯边界对齐,与一个或多个小管芯对齐,与配套管芯对齐,甚至与分立的CXL器件对齐。HPM解决了同一管芯的多个实例的集成,与集成在同一管芯或者单独管芯上的专有功能或者第三方功能相混合,甚至是经由CXL(例如,Flexbus)连接的加速器,这些加速器可能在封装件内部,或者以分立的外形参数存在。
HPM使设计者能够满足可缩放性、模块化和后期绑定的目标。HPM还允许利用可能已经存在于其他管芯上的PMU功能,而不是在平坦方案中被禁用。HPM使得能够管理任何任意的功能集合,而与它们的集成水平无关。各种实施例的HPM是可缩放的、模块化的,可与对称的多芯片处理器(multi-chip processor,MCP)一起工作,也可与非对称的MCP一起工作。例如,HPM不需要信号PM控制器和封装基础设施,就能增长到超出合理的缩放限制。HPM使得能够在封装件中后期添加管芯,而不需要改变基础管芯基础设施。HPM解决了不同工艺技术节点的管芯在单个封装件中耦合的分解解决方案的需求。HPM还解决了封装件内和封装件外的配套管芯集成解决方案的需求。
在各种实施例中,每个管芯(或者小管芯)包括功率管理单元(PMU)或者p单元。例如,处理器管芯可具有监督者p单元,被监督者p单元,或者双重角色的监督者/被监督者p单元。在一些实施例中,I/O管芯具有其自己的双重角色p单元,例如监督者和/或被监督者p单元。每个管芯中的p单元可以是通用p单元的实例。在一个这样的示例中,所有的p单元具有相同的能力和电路,但被(动态地或者静态地)配置为扮演监督者、被监督者和/或两者的角色。在一些实施例中,用于计算管芯的p单元是计算p单元的实例,而用于IO管芯的p单元是不同于计算p单元的IO p单元的实例。取决于角色,p单元获取特定的责任来管理多芯片模块和/或计算平台的功率。虽然各种p单元被描述为多芯片模块或者片上系统中的管芯,但p单元也可以是外部设备的一部分,例如I/O设备的一部分。
这里,各种p单元不一定要是相同的。HPM体系结构可以操作非常不同类型的p单元。p单元的一个共同特征是,它们被预期接收HPM消息,并且被预期能够理解这些消息。在一些实施例中,IO管芯的p单元可能与计算管芯的p单元不同。例如,IO p单元中的每一类寄存器的寄存器实例的数目与计算管芯的p单元中的不同。IO管芯有能力成为CXL连接器件的HPM监督者,但计算管芯可能不需要有这种能力。IO管芯和计算管芯也具有不同的固件流程,以及可能具有不同的固件镜像。这些都是实现方式可以做出的选择。HPM体系结构可选择具有一个超集固件镜像,并且选择性地执行与固件所关联的管芯类型相关的流程。或者,对于每个p单元类型,可以有一个客户固件;它可允许每个p单元类型的固件存储要求的大小更加精简。
每个管芯中的p单元可被配置为监督者p单元、被监督者p单元或者具有监督者/被监督者的双重角色。这样,p单元可以为各种域执行监督者或被监督者的角色。在各种实施例中,p单元的每个实例能够自主地管理本地专用资源,并且包含用于聚合数据和在实例之间进行通信的结构,以使得被配置为共享资源监督者的实例能够进行共享资源管理。提供了一种基于消息和导线的基础设施,它可被复制并且被配置为促进多个p单元之间的管理和流动。
在一些实施例中,功率和热阈值由监督者p单元传达给被监督者p单元。例如,监督者p单元了解每个管芯的工作负载(当前和未来)、每个管芯的功率测量值以及其他参数(例如,平台级功率边界),并且为每个管芯确定新的功率限制。这些功率限制随后由监督者p单元经由一个或多个互连和架构传达给被监督者p单元。在一些实施例中,架构指的是一组架构和互连,其中包括第一架构、第二架构和快速响应互连。在一些实施例中,第一架构被用于监督者p单元和被监督者p单元之间的共同通信。这些共同通信包括基于若干个因素(例如,未来的工作负载、用户行为,等等)规划的管芯的电压、频率和/或功率状态的变化。在一些实施例中,第二架构被用于监督者p单元和被监督者p单元之间的更高优先级的通信。更高优先级的通信的示例包括由于可能的热失控条件、可靠性问题等等而要扼制的消息。在一些实施例中,快速响应互连被用于传达所有管芯的快速或者硬扼制。在此情况下,例如,监督者p单元可向所有其他p单元发送快速扼制消息。在一些实施例中,快速响应互连是传统的互连,其功能可由第二架构来执行。
各种实施例的HPM体系结构实现了对称和/或非对称管芯的可缩放性、模块化和后期绑定。这里,对称管芯是相同大小、类型和/或功能的管芯,而非对称管芯是不同大小、类型和/或功能的管芯。层次化方法还允许利用可能已经存在于其他管芯上的PMU功能,而不是在传统的平坦功率管理方案中被禁用。HPM并不假定物理分区到域的预定映射。HPM域可与集成在小管芯内部的功能对齐,与小管芯边界对齐,与一个或多个小管芯对齐,与配套管芯对齐,甚至与分立的CXL器件对齐。HPM使得能够管理任何任意的功能集合,与它们的集成水平无关。在一些实施例中,基于一个或多个因素宣布p单元为监督者p单元。这些因素包括存储器大小、物理约束(例如,引脚输出数目)、以及传感器的位置(例如,温度、功率消耗,等等),以确定处理器的物理限制。
各种实施例的HPM体系结构提供了一种缩放功率管理的手段,使得单个p单元实例不需要意识到整个处理器。这使得功率管理的粒度能够更小,并且改善了响应时间和有效性。层次化结构维持了对用户的单片视图。例如,在操作系统(OS)级别,HPM体系结构给予OS单一的PMU视图,即使PMU在物理上是分布在一个或多个监督者-被监督者配置中的。
在一些实施例中,HPM体系结构是集中式的,其中一个监督者控制所有被监督者。在一些实施例中,HPM体系结构是分散的,其中各种管芯中的各种p单元通过对等通信来控制整体功率管理。在一些实施例中,HPM体系结构是分布式的,其中对于不同的域,有不同的监督者。分布式体系结构的一个示例是树状体系结构。
在一些实施例中,设备5500包括功率管理集成电路(Power ManagementIntegrated Circuit,PMIC)5512,用于例如为设备5500实现各种功率管理操作。在一些实施例中,PMIC 5512是可重配置功率管理IC(Reconfigurable Power Management IC,RPMIC)和/或IMVP(Mobile Voltage Positioning,移动电压定位)。在一示例中,PMIC在与处理器5504分离的IC管芯内。这可为设备5500实现各种功率管理操作。PMIC5512可包括硬件接口、硬件电路、连接器、寄存器,等等,以及软件组件(例如,驱动器、协议栈),来为设备5500实现各种功率管理操作。
在一示例中,设备5500包括PCU 5510或PMIC 5512中的一者或两者。在一示例中,PCU 5510或者PMIC 5512中的任何一者可以不存在于设备5500中,因此这些组件是利用虚线来图示的。
设备5500的各种功率管理操作可以由PCU 5510、由PMIC 5512或者由PCU 5510和PMIC 5512的组合来执行。例如,PCU 5510和/或PMIC 5512可以为设备5500的各种组件选择功率状态(例如,P状态)。例如,PCU 5510和/或PMIC 5512可以为设备5500的各种组件选择功率状态(例如,根据ACPI(Advanced Configuration and Power Interface,高级配置和电力接口)规范)。仅作为示例,PCU 5510和/或PMIC 5512可以使得设备5500的各种组件转变到睡眠状态、转变到活跃状态、转变到适当的C状态(例如,C0状态,或者另一适当的C状态,根据ACPI规范),等等。在一示例中,PCU 5510和/或PMIC 5512可以控制由VR 5514输出的电压和/或由时钟生成器输出的时钟信号的频率,例如分别通过输出VID信号和/或FID信号。在一示例中,PCU 5510和/或PMIC 5512可以控制电池电力使用、电池5518的充电以及与功率节省操作有关的特征。
时钟生成器5516可包括锁相环(phase locked loop,PLL)、锁频环(frequencylocked loop,FLL)、或者任何适当的时钟源。在一些实施例中,处理器5504的每个核心具有其自己的时钟源。这样,每个核心可在独立于其他核心的操作频率的频率下操作。在一些实施例中,PCU 5510和/或PMIC 5512执行自适应或者动态频率缩放或调整。例如,如果核心没有在其最大功率消耗阈值或限度下操作,则可增大该处理器核心的时钟频率。在一些实施例中,PCU 5510和/或PMIC 5512确定处理器的每个核心的操作状况,并且当PCU 5510和/或PMIC 5512确定核心在低于目标性能水平下操作时,在核心钟控源(例如,该核心的PLL)不会失去锁定的情况下,适时地调整该核心的频率和/或电力供应电压。例如,如果核心从电力供应轨汲取的电流小于为该核心或处理器5504分配的总电流,则PCU 5510和/或PMIC5512可临时增大对于该核心或处理器5504的电力汲取(例如,通过增大时钟频率和/或电力供应电压水平),使得该核心或处理器5504可以以更高的性能水平来运转。这样,可以在不违反产品可靠性的情况下,为处理器5504临时地增大电压和/或频率。
在一示例中,PCU 5510和/或PMIC 5512可例如至少部分地基于从功率测量电路5542、温度测量电路5540接收测量、接收电池5518的充电水平、和/或接收可用于功率管理的任何其他适当的信息,来执行功率管理操作。为此,PMIC 5512通信地耦合到一个或多个传感器,来感测/检测对于系统/平台的功率/热行为有影响的一个或多个因素中的各种值/变化。一个或多个因素的示例包括电流、电压下降、温度、操作频率、操作电压、功率消耗、核心间通信活动,等等。这些传感器中的一个或多个可被设置为与计算系统的一个或多个组件或者逻辑/IP块物理地接近(和/或与其热接触/耦合)。此外,在至少一个实施例中,(一个或多个)传感器可直接耦合到PCU 5510和/或PMIC 5512,以允许PCU 5510和/或PMIC 5512至少部分地基于由这些传感器中的一个或多个检测到的(一个或多个)值来管理处理器核心能量。
还图示了设备5500的示例软件栈(虽然没有图示该软件栈的所有元素)。仅作为示例,处理器5504可以执行应用程序5550、操作系统5552、一个或多个功率管理(PowerManagement,PM)特定应用程序(例如,通常称为PM应用5558),等等。PM应用5558也可以被PCU 5510和/或PMIC 5512执行。OS 5552也可包括一个或多个PM应用5556a、5556b、5556c。OS 5552也可包括各种驱动器5554a、5554b、5554c等等,其中一些可以专用于功率管理目的。在一些实施例中,设备5500还可包括基本输入/输出系统(Basic Input/outputSystem,BIOS)5520。BIOS 5520可以与OS 5552通信(例如,经由一个或多个驱动器5554),与处理器5504通信,等等。
例如,PM应用5558、5556,驱动器5554,BIOS 5520等等中的一个或多个可用于实现功率管理特定任务,例如用于控制设备5500的各种组件的电压和/或频率,控制设备5500的各种组件的唤醒状态、睡眠状态和/或任何其他适当的功率状态,控制电池功率使用、电池5518的充电、与功率节省操作有关的特征,等等。
在一些实施例中,电池5518是锂金属电池,具有压力室,以允许电池上的压力均匀。压力室由金属板(例如,压力平衡板)支撑,用于为电池提供均匀的压力。压力室可包括受压气体、弹性材料、弹簧板,等等。压力室的外皮可以自由弯曲,其边缘受到(金属)皮肤的约束,但仍在压缩电池单元的板上施加均匀的压力。压力室为电池提供均匀的压力,这用于实现高能量密度的电池,例如,电池寿命增加20%。
在一些实施例中,电池5518包括混合技术。例如,(一个或多个)高能量密度电荷(例如,锂离子电池)携带设备和低能量密度电荷携带设备(例如,超级电容器)的混合被用作电池或者存储设备。在一些实施例中,控制器(例如,硬件、软件或者它们的组合)被用于分析峰值功率模式,并且使得对基于高能量密度电荷携带设备的电池单元的整体寿命的影响最小化,同时使得峰值功率削匀特征的服务时间最大化。该控制器可以是电池5518的一部分或者是p单元5510b的一部分。
在一些实施例中,在PCU 5510a/b上执行的pCode具有为pCode的运行时支持使能额外的计算和遥测资源的能力。这里,pCode指的是由PCU 5510a/b执行以管理SoC 5501的性能的固件。例如,pCode可以为处理器设置频率和适当的电压。pCode的一部分是可经由OS5552来访问的。在各种实施例中,提供了机制和方法,这些机制和方法基于工作负载、用户行为和/或系统条件来动态地改变能量性能偏好(Energy Performance Preference,EPP)值。在OS 5552和pCode之间可以有定义明确的接口。该接口可以允许或者促进几个参数的软件配置和/或可以向pCode提供提示。作为示例,EPP参数可以告知pCode算法是性能还是电池寿命更为重要。
这种支持也可由OS 5552完成,其方式是将机器学习支持包括为OS 5552的一部分,并且通过机器学习预测来调节OS提示给硬件(例如,SoC 5501的各种组件)的EPP值,或者通过以与动态调整技术(Dynamic Tuning Technology,DTT)驱动器所做的类似的方式将机器学习预测递送给pCode。在这种模型中,OS 5552可以看到与DTT可用的相同的遥测集合。作为DTT机器学习提示设置的结果,pCode可调整其内部算法,以实现激活类型的机器学习预测之后的最优功率和性能结果。作为示例,pCode可以增大对处理器利用率变化的责任,以使能对用户活动的快速响应,或者可通过减小对处理器利用率的责任或者通过调整能量节省优化以节省更多的功率和增大性能损失来增大对于能量节省的偏向。这种方案可以促进节省更多的电池寿命,以防使能的活动的类型相对于系统能够使能的失去一些性能水平。pCode可包括用于动态EPP的算法,该算法可取得两个输入,一个来自OS 5552,另一个来自软件,例如DTT,并且可以选择性地选择提供更高的性能和/或响应能力。作为此方法的一部分,pCode可在DTT中使能一个选项来对于不同类型的活动为DTT调整其反应。
在一些实施例中,pCode改善了SoC在电池模式中的性能。在一些实施例中,pCode允许电池模式中的大幅提高的SoC峰值功率限制水平(从而允许更高的极速性能)。在一些实施例中,pCode实现了功率扼制,并且是英特尔的动态调整技术(DTT)的一部分。在各种实施例中,峰值功率限制被称为PL4。然而,实施例适用于其他峰值功率限制。在一些实施例中,pCode以防止系统意外关机(或者黑屏)的方式来设置Vth阈值电压(平台将对SoC进行扼制的电压水平)。在一些实施例中,pCode根据阈值电压(Vth)来计算Psoc,pk SoC峰值功率限制(例如,PL4)。这是两个相关参数,如果一个被设置,则另一个可以被计算出来。pCode被用于基于系统参数,以及操作的历史,来最优地设置一个参数(Vth)。在一些实施例中,pCode提供了一种用于基于可用电池功率(变化缓慢)来动态地计算扼制水平(Psoc,th)并且设置SoC扼制峰值功率(Psoc,th)的方案。在一些实施例中,pCode基于Psoc,th来决定频率和电压。在这种情况下,扼制事件对SoC性能的负面影响较小。各种实施例提供了一种允许最大性能(Pmax)框架进行操作的方案。
在一些实施例中,VR 5514包括电流传感器,用于感测和/或测量通过VR 5514的高侧开关的电流。在一些实施例中,电流传感器使用在反馈中带有电容耦合输入的放大器,来感测放大器的输入偏移,该偏移可在测量期间进行补偿。在一些实施例中,在反馈中带有电容耦合输入的放大器被用来在输入共模规格被放松的区域中操作放大器,从而使得反馈环增益和/或带宽更高。在一些实施例中,在反馈中带有电容耦合输入的放大器被用来根据转换器输入电压操作传感器,其方式是通过采用高PSRR(电力供应抑制比)调节器来创造一个局部、干净的供应电压,对开关区域中的电力网格带来更少的干扰。在一些实施例中,该设计的一个变体可用于对输入电压和控制器供应之间的差异进行采样,并将其重创建于电源的漏极电压和复制开关之间。这允许了传感器不被暴露于电力供应电压。在一些实施例中,在反馈中带有电容耦合输入的放大器被用来补偿电流感测期间输入电压中与电力输送网络相关(PDN相关)的变化。
一些实施例使用三个组件以基于USB TYPE-C设备5529的状态来调整SoC 5501的峰值功率。这些组件包括OS峰值功率管理器(OS 5552的一部分)、USB TYPE-C连接器管理器(OS 5552的一部分)、以及USB TYPE-C协议设备驱动器(例如,驱动器5554a、5554b、5554c之一)。在一些实施例中,当USB TYPE-C电力信宿设备附接到SoC 5501或者与SoC 5501脱离时,USB TYPE-C连接器管理器向OS峰值功率管理器发送同步请求,并且当电力信宿转变设备状态时,USB TYPE-C协议设备驱动器向峰值功率管理器发送同步请求。在一些实施例中,当USB TYPE-C连接器附接到电力信宿并且处于活跃状态(例如,高功率设备状态)时,峰值功率管理器从CPU取得功率预算。在一些实施例中,当USB TYPE-C连接器脱离或者附接并且电力信宿设备处于空闲状态(最低设备状态)时,峰值功率管理器将功率预算归还给CPU以获得性能。
在一些实施例中,提供了一种逻辑以为BIOS加电流程和睡眠退出流程(例如,S3、S4和/或S5)动态地挑选最佳操作处理核心。对引导处理器(bootstrap processor,BSP)的选择被转移到早期加电时间,而不是在任何时间的固定硬件选择。为了获得最大的启动性能,该逻辑在早期加电时间选择最快的胜任核心作为BSP。此外,为了实现最大的功率节省,该逻辑选择功率效率最高的核心作为BSP。用于选择BSP的处理器或切换发生在启动以及加电流程(例如,S3、S4和/或S5流程)期间。
在一些实施例中,本文的存储器被组织为多级别存储器体系结构,并且其性能由分散方案来支配。该分散方案包括p单元5510和存储器控制器。在一些实施例中,该方案基于应用如何使用远离处理器核心的存储器级别,对于平台5500中逐渐远离处理器的存储器级别,来动态地平衡若干个参数,例如功率、热能、成本、时延和性能。在一些示例中,对远端存储器(far memory,FM)的状态作出的决策是分散的。例如,处理器功率管理单元(p单元)、近端存储器控制器(NMC)和/或远端存储器主机控制器(FMHC)在其各自的级别上对FM的功率和/或性能状态作出决策。这些决策被协调起来,以便对于给定的时间,提供FM的最优功率和/或性能状态。存储器的功率和/或性能状态自适应地变化,以适应变化中的工作负载和其他参数,即使当(一个或多个)处理器处于特定功率状态下时。
在一些实施例中,实现了硬件和软件协调的处理器功率状态策略(例如,C状态的策略),该策略通过考虑到在进入空闲的核心上预期调度的线程的性能和/或响应性需求,提供最优的功率状态选择,以为运行用户关键任务的核心实现改善的每周期指令(instructions per cycle,IPC)和性能。该方案提供了为在片上系统上运行的重要和/或用户关键的线程提供响应性增益的能力。耦合到多个处理核心的p单元5510接收来自操作系统5552的提示,该提示指示出基于情境切换中的线程的优先级,对于多个处理核心中的至少一个处理核心的功率状态或性能状态的偏向。
这里,术语“管芯”(die)一般是指一块连续的半导体材料(例如硅),其中晶体管或者构成处理器核心的其他组件可位于其中。多核心处理器可在单个管芯上具有两个或更多个处理器,但另一种情况是,可在两个或更多个相应的管芯上提供两个或更多个处理器。每个管芯具有专用的功率控制器或者功率控制单元(p单元),该功率控制器或者功率控制单元(p单元)可动态或者静态地被配置为监督者或者被监督者。在一些示例中,管芯具有相同的尺寸和功能,即,对称的核心。然而,管芯也可以是不对称的。例如,一些管芯的尺寸和/或功能与其他管芯不同。每个处理器103也可以是小管芯或者小芯片。这里的术语“小管芯(dielet)”或者“小芯片(chiplet)”一般是指物理上分立的半导体管芯,通常以如下方式与相邻的管芯连接:使跨管芯边界的架构像单个架构那样运作,而不是作为两个分立的架构运作。因此,至少一些管芯可以是小管芯。每个小管芯可包括一个或多个p单元,它们可动态或静态地被配置为监督者、被监督者或者两者。
这里,术语“处理器核心”一般是指独立的执行单元,它可在某个时间与其他核心并行地运行一个程序线程。处理器核心可包括专用的功率控制器或者功率控制单元(p单元),其可被动态地或者静态地配置为监督者或者被监督者。在一些示例中,这个专用p单元也被称为自主p单元。在一些示例中,所有的处理器核心都具有相同的大小和功能,即,对称的核心。然而,处理器核心也可以是不对称的。例如,一些处理器核心的大小和/或功能与其他处理器核心不同。处理器核心可以是虚拟处理器核心或者物理处理器核心。
这里,术语“域(domain)”一般是指具有类似属性(例如,供应电压、操作频率、电路或逻辑的类型、和/或工作负载类型)和/或由特定代理控制的逻辑或者物理周界。例如,域可以是由特定监督者控制的一组逻辑单元或者功能单元。域也可被称为自主周界(Autonomous Perimeter,AP)。域可以是整个片上系统(SoC)或者是SoC的一部分,并且由P单元管理。
这里,术语“架构(fabric)”一般是指具有已知的一组源、目的地、路由规则、拓扑和其他属性的通信机制。源和目的地可以是任何类型的数据处理功能单元,例如功率管理单元。架构可以是沿着管芯的x-y平面的二维跨越和/或沿着垂直和水平放置的管芯的堆叠的x-y-z平面的三维(3D)跨越。单个架构可跨越多个管芯。架构可采取任何拓扑,例如网状拓扑、星形拓扑、菊链状拓扑。架构可以是具有多个代理的片上网络(network-on-chip,NoC)的一部分。这些代理可以是任何功能单元。
这里,术语“互连”是指两个或更多个点或节点之间的通信链路,或者通道。它可包括一个或多个单独的传导路径,例如导线、过孔、波导、无源组件和/或有源组件。它也可包括架构。
这里,术语“接口”一般是指用于与互连进行通信的软件和/或硬件。接口可包括逻辑和I/O驱动器/接收器,以通过互连或者一条或多条导线来发送和接收数据。
这里,术语“监督者”(supervisor)一般是指功率控制器或者功率管理单元(“p单元”),其单独地或者与一个或多个其他p单元合作地,监视和管理一个或多个关联的电力域的功率和性能相关参数。功率/性能相关参数可包括但不限于域功率、平台功率、电压、电压域电流、管芯电流、负载线、温度、设备时延、利用率、时钟频率、处理效率、当前/未来工作负载信息、以及其他参数。它可以为一个或多个域确定新的功率或性能参数(限制、平均操作,等等)。这些参数随后可经由一个或多个架构和/或互连,被传达给被监督者p单元,或者直接传达给被控制或者监视的实体,例如VR或者时钟扼制控制寄存器。监督者了解一个或多个管芯的工作负载(当前和未来)、一个或多个管芯的功率测量值和其他参数(例如,平台级功率边界),并且确定一个或多个管芯的新的功率限制。这些功率限制随后由监督者p单元经由一个或多个架构和/或互连传达给被监督者p单元。在一个管芯有一个p单元的示例中,监督者(Svor)p单元也被称为监督者管芯。
这里,术语“被监督者(supervisee)”一般是指功率控制器或者功率管理单元(“p单元”),其单独地或者与一个或多个其他p单元合作地,监视和管理一个或多个关联的电力域的功率和性能相关参数,并且接收来自监督者的指令,以为其关联的电力域来设置功率和/或性能参数(例如,供应电压、操作频率、最大电流、扼制阈值,等等)。在一个管芯有一个p单元的示例中,被监督者(Svee)p单元也可被称为被监督者管芯。注意,p单元可以用作Svor、Svee或者同时作为Svor/Svee p单元。
说明书中提及“一实施例”、“一个实施例”、“一些实施例”或者“其他实施例”的意思是结合这些实施例描述的特定特征、结构或特性被包括在至少一些实施例中,但不一定包括在所有实施例中。“一实施例”、“一个实施例”或者“一些实施例”的各种出现不一定全都指的是相同的实施例。如果说明书陈述了“可”、“可能”或者“可以”包括某一组件、特征、结构或特性,那么并不是必须要包括该特定组件、特征、结构或特性。如果说明书或权利要求书提及“一”或“一个”元素,那么并不意味着只有一个该元素。如果说明书或权利要求书提及“一额外”元素,那么并不排除有多于一个的该额外元素。
在整个说明书中,以及在权利要求书中,术语“连接”的意思是直接连接,例如连接的事物之间的电连接、机械连接或磁连接,而没有任何中间设备。
术语“耦合”的意思是直接或间接连接,例如连接的事物之间的直接电连接、机械连接或磁连接,或者通过一个或多个无源或有源中间设备的间接连接。
这里的术语“邻近”一般指的是一事物的位置与另一事物挨着(例如,紧挨着或者接近并且其间有一个或多个事物)或者毗邻另一事物(例如,与其邻接)。
术语“电路”或“模块”可以指被布置为与彼此合作来提供期望的功能的一个或多个无源和/或有源组件。
术语“信号”可以指至少一个电流信号、电压信号、磁信号、或者数据/时钟信号。“一”、“一个”和“该”的含义包括复数引用。“在…中”的含义包括“在…中”和“在…上”。
术语“模拟信号”是任何这样的连续信号:对于该连续信号,该信号的时变特征(变量)是某个其他时变量的表示,即,类似于另一时变信号。
术语“数字信号”是这样的物理信号:它是例如任意比特流的或者经数字化的(经采样并且模数转换的)模拟信号的离散值(量化离散时间信号)的序列的表示。
术语“缩放”一般是指将某个设计(图解和布局)从一种工艺技术转换为另一种工艺技术并且可随后减小布局面积。在一些情况下,缩放也指从一种工艺技术到另一种工艺技术扩大设计的规模并且可随后增大布局面积。术语“缩放”一般也指在同一技术节点内缩小或扩大布局和器件的规模。术语“缩放”还可以指相对于另一参数(例如,电力供应水平)对信号频率进行的调整(例如,减慢或加速——即分别是缩小或放大)。
术语“基本上”、“接近”、“大致”、“近似”和“大约”一般是指在目标值的+/-10%之内。
除非另有说明,否则使用序数形容词“第一”、“第二”和“第三”等等来描述共同对象只是表明相似对象的不同实例被引用,而并不旨在暗示这样描述的对象必须在时间上、空间上、排名上或者以任何其他方式处于给定的序列中。
对于本公开而言,短语“A和/或B”和“A或B”的意思是(A)、(B)或者(A和B)。对于本公开而言,短语“A、B和/或C”的意思是(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或者(A、B和C)。
说明书中和权利要求书中的术语“左”、“右”、“前”、“后”、“顶部”、“底部”、“之上”、“下方”等等(如果存在的话)是用于描述性目的的,而并不一定用于描述永久的相对位置。
要指出的是,附图中具有与任何其他附图的元素相同的附图标记(或名称)的那些元素可以按与所描述的相似的任何方式来操作或工作,但不限于此。
对于实施例而言,这里描述的各种电路和逻辑块中的晶体管是金属氧化物半导体(metal oxide semiconductor,MOS)晶体管或其衍生物,其中MOS晶体管包括漏极、源极、栅极和体端子。晶体管和/或MOS晶体管衍生物也包括三栅极和FinFET晶体管、栅极全环绕圆柱体晶体管、隧穿FET(Tunneling FET,TFET)、方形线晶体管、或者矩形带状晶体管、铁电FET(ferroelectric FET,FeFET)、或者像碳纳米管或自旋器件之类的实现晶体管功能的其他器件。MOSFET对称源极和漏极端子是相同的端子并且在这里可被互换使用。另一方面,TFET器件具有非对称源极和漏极端子。本领域技术人员将会明白,在不脱离本公开的范围的情况下,可以使用其他晶体管,例如双极结型晶体管(BJT PNP/NPN)、BiCMOS、CMOS,等等。
此外,在一个或多个实施例中可以以任何适当的方式来组合特定的特征、结构、功能或特性。例如,在与第一实施例和第二实施例相关联的特定特征、结构、功能或特性不互斥的任何地方,可将两个实施例相组合。
虽然已经结合其特定实施例描述了本公开,但本领域普通技术人员根据前述描述,将会清楚这种实施例的许多替换、修改和变化。本公开的实施例旨在包含落在所附权利要求的宽广范围内的所有这样的替换、修改和变化。
此外,为了图示和论述的简单起见,并且为了不模糊本公开,在给出的附图内可能示出或者不示出到集成电路(IC)芯片和其他组件的公知电力/接地连接。另外,可能以框图形式示出了布置以避免模糊本公开,并且同时也考虑到了如下事实:关于这种框图布置的实现方式的具体细节是高度取决于要在其内实现本公开的平台的(即,这种具体细节应当完全在本领域技术人员的认知内)。在阐述具体细节(例如,电路)以便描述本公开的示例实施例的情况下,本领域技术人员应当清楚,没有这些具体细节,或者利用这些具体细节的变体,也可实现本公开。因此,说明书应当被认为是说明性的,而不是限制性的。
描述了各种实施例作为示例。可以以任何适当方式来组合这些示例。例如,示例5可以与示例3和/或示例7相组合。
示例1:一种机器可读存储介质,其上存储有机器可读指令,所述指令在被执行时,使得一个或多个处理器执行一种方法,该方法包括:检测连接到端口的设备;启用到所述设备的电力;确定连接到所述端口的所述设备不活跃;通过向电力输送控制器发送待机指示来发起待机模式;响应于所述待机指示而指示电压调节器减小到所述设备的电力;以及减小到所述设备的电力。
示例2:如示例1所述的机器可读存储介质,其上存储有机器可读指令,所述指令在被执行时,使得所述一个或多个处理器执行进一步的方法,所述进一步的方法包括:向嵌入式控制器或PD控制器发送待机退出指示;以及响应于所述待机退出指示而为所述电压调节器设置电流限制。
示例3:如示例1所述的机器可读存储介质,其中,所述端口是USB Type-C端口。
示例4:如示例1所述的机器可读存储介质,其中,所述设备是总线供电设备或者是集线器连接系统。
示例5:如示例1所述的机器可读存储介质,其中,减小到所述设备的电力包括切断到唤醒逻辑电力平面的电力。
示例6:如示例1所述的机器可读存储介质,其中,所述设备不使用设备发起的唤醒。
示例7:如示例1所述的机器可读存储介质,其上存储有机器可读指令,所述指令在被执行时,使得所述一个或多个处理器执行进一步的方法,所述进一步的方法包括:经由API接口发送消息来减小或关断到所述设备的电力。
示例8:如示例1所述的机器可读存储介质,其上存储有机器可读指令,所述指令在被执行时,使得所述一个或多个处理器执行进一步的方法,所述进一步的方法包括:读取标志来确定当减小到所述设备的电力时是否保持系统唤醒逻辑电力平面被通电。
示例9:如示例8所述的机器可读存储介质,其中,当所述设备是USB 3.2设备时,所述标志是DEVICE_REMOTE_WAKEUP标志。
示例10:如权利要求8所述的机器可读存储介质,其中,当所述设备是USB 4设备时,所述标志是路由器配置空间基本属性。
示例11:一种系统,包括:处理器;与所述处理器耦合的电力输送控制器;与所述电力输送控制器耦合的端口;与所述电力输送控制器和所述处理器耦合的嵌入式控制器;以及与所述端口耦合的电压调节器,其中所述处理器用于:检测连接到所述端口的设备;启用到所述设备的电力;确定连接到所述端口的所述设备不活跃;通过经由所述嵌入式控制器向所述电力输送控制器发送待机指示来发起待机模式;以及响应于所述待机指示而指示所述电压调节器减小到所述设备的电力。
示例12:如示例11所述的系统,其中,所述处理器用于:向所述嵌入式控制器或PD控制器发送待机退出指示;以及响应于所述待机退出指示而为所述电压调节器设置电流限制。
示例13:如示例11所述的系统,其中,所述端口是USB Type-C端口。
示例14:如示例11所述的系统,其中,所述设备是总线供电设备或者是集线器连接系统。
示例15:如示例11所述的系统,其中,所述处理器用于切断到唤醒逻辑电力平面的电力。
示例16:如示例11所述的系统,其中,所述处理器用于读取标志来确定当所述处理器要减小到所述设备的电力时是否保持系统唤醒逻辑电力平面被通电。
示例17:如示例16所述的系统,其中,当所述设备是USB 3.2设备时,所述标志是DEVICE_REMOTE_WAKEUP标志,或者其中,当所述设备是USB 4设备时,所述标志是路由器配置空间基本属性。
示例18:一种装置,包括:用于存储指令的存储器;以及与所述存储器耦合的处理器,其中所述处理器用于执行所述指令,所述指令包括:检测连接到端口的设备;启用到所述设备的电力;确定连接到所述端口的所述设备不活跃;通过向电力输送控制器发送待机指示来发起待机模式;响应于所述待机指示而指示电压调节器减小到所述设备的电力;并且减小到所述设备的电力。
示例19:如示例18所述的装置,其中,所述指令包括:向嵌入式控制器发送待机退出指示;响应于所述待机退出指示而为所述电压调节器设置电流限制;以及读取标志来确定当所述处理器要减小到所述设备的电力时是否保持系统唤醒逻辑电力平面被通电。
示例20:如示例18所述的装置,其中,当所述设备是USB 3.2设备时,所述标志是DEVICE_REMOTE_WAKEUP标志,或者其中,当所述设备是USB 4设备时,所述标志是路由器配置空间基本属性。
提供了摘要,它将允许读者确定本技术公开内容的性质和主旨。摘要是带着如下理解提交的:它不会被用于限制权利要求的范围或含义。特此将所附权利要求纳入到详细描述中,其中每个权利要求独立作为一个单独的实施例。
Claims (20)
1.一种机器可读存储介质,其上存储有机器可读指令,所述指令在被执行时,使得一个或多个处理器执行一种降低待机功率的方法,所述方法包括:
检测连接到端口的设备;
启用到所述设备的电力;
确定连接到所述端口的所述设备不活跃;
通过向电力输送控制器发送待机指示来发起待机模式;
响应于所述待机指示而指示电压调节器减小到所述设备的电力;以及
减小到所述设备的电力。
2.如权利要求1所述的机器可读存储介质,其上存储有机器可读指令,所述指令在被执行时,使得所述一个或多个处理器执行进一步的方法,所述进一步的方法包括:
向嵌入式控制器或PD控制器发送待机退出指示;以及
响应于所述待机退出指示而为所述电压调节器设置电流限制。
3.如权利要求1所述的机器可读存储介质,其中,所述端口是USB Type-C端口。
4.如权利要求1所述的机器可读存储介质,其中,所述设备是总线供电设备或者是集线器连接系统。
5.如权利要求1所述的机器可读存储介质,其中,减小到所述设备的电力包括切断到唤醒逻辑电力平面的电力。
6.如权利要求1所述的机器可读存储介质,其中,所述设备不使用设备发起的唤醒。
7.如权利要求1所述的机器可读存储介质,其上存储有机器可读指令,所述指令在被执行时,使得所述一个或多个处理器执行进一步的方法,所述进一步的方法包括:
经由API接口发送消息来减小或关断到所述设备的电力。
8.如权利要求1至7中任一项所述的机器可读存储介质,其上存储有机器可读指令,所述指令在被执行时,使得所述一个或多个处理器执行进一步的方法,所述进一步的方法包括:
读取标志来确定当减小到所述设备的电力时是否保持系统唤醒逻辑电力平面被通电。
9.如权利要求8所述的机器可读存储介质,其中,当所述设备是USB3.2设备时,所述标志是DEVICE_REMOTE_WAKEUP标志。
10.如权利要求8所述的机器可读存储介质,其中,当所述设备是USB 4设备时,所述标志是路由器配置空间基本属性。
11.一种降低待机功率的系统,所述系统包括:
处理器;
电力输送控制器,与所述处理器耦合;
端口,与所述电力输送控制器耦合;
嵌入式控制器,与所述电力输送控制器和所述处理器耦合;以及
电压调节器,与所述端口耦合,其中,所述处理器用于:
检测连接到所述端口的设备;
启用到所述设备的电力;
确定连接到所述端口的所述设备不活跃;
通过经由所述嵌入式控制器向所述电力输送控制器发送待机指示来发起待机模式;以及
响应于所述待机指示而指示所述电压调节器减小到所述设备的电力。
12.如权利要求11所述的系统,其中,所述处理器用于:
向所述嵌入式控制器或PD控制器发送待机退出指示;以及
响应于所述待机退出指示而为所述电压调节器设置电流限制。
13.如权利要求11所述的系统,其中,所述端口是USB Type-C端口。
14.如权利要求11所述的系统,其中,所述设备是总线供电设备或者是集线器连接系统。
15.如权利要求11所述的系统,其中,所述处理器用于切断到唤醒逻辑电力平面的电力。
16.如权利要求11至15中任一项所述的系统,其中,所述处理器用于读取标志来确定当所述处理器要减小到所述设备的电力时是否保持系统唤醒逻辑电力平面被通电。
17.如权利要求16所述的系统,其中,当所述设备是USB 3.2设备时,所述标志是DEVICE_REMOTE_WAKEUP标志,或者其中,当所述设备是USB 4设备时,所述标志是路由器配置空间基本属性。
18.一种降低待机功率的装置,所述装置包括:
用于存储指令的存储器;以及
与所述存储器耦合的处理器,其中,所述处理器用于执行所述指令,所述指令包括:
检测连接到端口的设备;
启用到所述设备的电力;
确定连接到所述端口的所述设备不活跃;
通过向电力输送控制器发送待机指示来发起待机模式;
响应于所述待机指示而指示电压调节器减小到所述设备的电力;以及
减小到所述设备的电力。
19.如权利要求18所述的装置,其中,所述指令包括:
向嵌入式控制器发送待机退出指示;
响应于所述待机退出指示而为所述电压调节器设置电流限制;以及
读取标志来确定当所述处理器要减小到所述设备的电力时是否保持系统唤醒逻辑电力平面被通电。
20.如权利要求19所述的装置,其中,当所述设备是USB 3.2设备时,所述标志是DEVICE_REMOTE_WAKEUP标志,或者其中,当所述设备是USB 4设备时,所述标志是路由器配置空间基本属性。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/203,561 US20210208668A1 (en) | 2021-03-16 | 2021-03-16 | Apparatus and method to reduce standby power for systems in battery mode with a connected bus powered device |
US17/203,561 | 2021-03-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115079809A true CN115079809A (zh) | 2022-09-20 |
Family
ID=76654351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210096186.XA Pending CN115079809A (zh) | 2021-03-16 | 2022-01-26 | 降低待机功率的装置和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210208668A1 (zh) |
EP (1) | EP4075237A3 (zh) |
CN (1) | CN115079809A (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030110403A1 (en) * | 2001-12-10 | 2003-06-12 | Intel Corporation | System for shared power supply in computer peripheral devices |
JP3654274B2 (ja) * | 2002-08-30 | 2005-06-02 | セイコーエプソン株式会社 | データ転送制御装置、電子機器及び電源切替方法 |
JP2007047909A (ja) * | 2005-08-08 | 2007-02-22 | Toshiba Tec Corp | Usbデバイス及びそのスタンバイ状態回避方法 |
US8452995B1 (en) * | 2009-12-29 | 2013-05-28 | Amazon Technologies, Inc. | Universal serial bus low power idle mode |
JP2016139376A (ja) * | 2015-01-29 | 2016-08-04 | Necプラットフォームズ株式会社 | Usbバス制御システム及びusbバス制御方法、usbバス制御装置 |
JP6725842B2 (ja) * | 2017-01-13 | 2020-07-22 | 富士通クライアントコンピューティング株式会社 | 情報処理装置、受給電制御回路及び受給電制御方法 |
-
2021
- 2021-03-16 US US17/203,561 patent/US20210208668A1/en active Pending
-
2022
- 2022-01-26 CN CN202210096186.XA patent/CN115079809A/zh active Pending
- 2022-02-10 EP EP22156160.8A patent/EP4075237A3/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210208668A1 (en) | 2021-07-08 |
EP4075237A3 (en) | 2023-05-24 |
EP4075237A2 (en) | 2022-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220197519A1 (en) | Multi-level memory system power management apparatus and method | |
US11842202B2 (en) | Apparatus and method for dynamic selection of an optimal processor core for power-up and/or sleep modes | |
US20210135478A1 (en) | Workload dependent load-sharing mechanism in multi-battery system, and adaptive charging and discharging for a hybrid battery | |
US11940855B2 (en) | Apparatus and method for dynamic reallocation of processor power by throttling processor to allow an external device to operate | |
US20220058029A1 (en) | Energy-efficient core voltage selection apparatus and method | |
US20220407337A1 (en) | Predictable battery power management apparatus and method | |
KR20220051159A (ko) | 디지털 방식으로 조정된 동적으로 적응가능한 클록 및 전압 공급 장치 및 방법 | |
CN115378253A (zh) | 计算型电流传感器 | |
KR20220040376A (ko) | 프로세서 피크 전류 제어 장치 및 방법 | |
WO2022132276A1 (en) | Hardware and software coordinated cost-aware low power state selection | |
EP4099130A1 (en) | Power management of a processor and a platform in active state and low power state | |
EP4020126A1 (en) | Secure device power-up apparatus and method | |
US20220197842A1 (en) | Dynamic usb-c mode selection ospm policy method and apparatus | |
CN115441867A (zh) | 锁相环辅助的快速启动装置和方法 | |
JP2022177797A (ja) | 高出力ポータブル装置向けの電源供給アーキテクチャ | |
US20210208659A1 (en) | Apparatus and method to detect power supply security attack and risk mitigation | |
CN114253382A (zh) | 统一保留和唤醒夹钳装置和方法 | |
WO2022133643A1 (en) | Peak power shaving with multiple batteries, and control mechanism for hybrid energy sources | |
EP4075237A2 (en) | Apparatus and method to reduce standby power for systems in battery mode with a connected bus powered device | |
US11954501B2 (en) | Apparatus and method for restoring a password-protected endpoint device to an operational state from a low power state | |
US20220197364A1 (en) | Power management for universal serial bus (usb) type-c port | |
US12007823B2 (en) | Power management of a processor and a platform in active state and low power state | |
US20220407317A1 (en) | Adaptive burst power and fast battery charging apparatus and method | |
US12009687B2 (en) | Apparatus and method to provide dynamic battery charging voltage | |
CN115373505A (zh) | 用于处理器的功率优化定时器模块 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |