CN118020041A - 用于在降低的电源状态之间进行两阶段转换的设备和方法 - Google Patents

用于在降低的电源状态之间进行两阶段转换的设备和方法 Download PDF

Info

Publication number
CN118020041A
CN118020041A CN202280063901.8A CN202280063901A CN118020041A CN 118020041 A CN118020041 A CN 118020041A CN 202280063901 A CN202280063901 A CN 202280063901A CN 118020041 A CN118020041 A CN 118020041A
Authority
CN
China
Prior art keywords
qos
component
qos component
components
power state
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
Application number
CN202280063901.8A
Other languages
English (en)
Inventor
本杰明·特西恩
亚历山大·J·布拉诺维尔
因德拉尼·保罗
克里斯多夫·T·韦弗
托马斯·J·吉布尼
斯蒂芬·V·科索诺基
约翰·P·佩特里
米希尔·沙雷斯布哈·多科特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN118020041A publication Critical patent/CN118020041A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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/3215Monitoring of peripheral devices
    • G06F1/3218Monitoring of peripheral devices of display devices
    • 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
    • G06F1/3265Power saving in display device
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

提供了用于高速缓存预取的设备和方法。提供一种设备,该设备包括:服务质量(QOS)组件,该服务质量(QOS)组件具有用于存储数据以执行程序的第一所分配的寄存器;多个非QOS组件,该多个非QOS组件具有用于存储数据以执行程序的第二所分配的寄存器;以及电源管理控制器,该电源管理控制器与该QOS组件及该非QOS组件通信。该电源管理控制器被配置为:当确定该非QOS组件中的一个或多个非QOS组件空闲时,发布针对该非QOS组件的阻隔;当针对该非QOS组件的该阻隔完成时,发布针对该QOS组件的阻隔;以及当针对该非QOS组件的该阻隔和针对该QOS组件的该阻隔完成时,进入降低的电源状态。

Description

用于在降低的电源状态之间进行两阶段转换的设备和方法
相关申请的交叉引用
本申请要求2021年9月23日提交的美国非临时申请号17/483,702的权益,该申请以引用方式并入,如同在本文完整阐述一样。
背景技术
计算系统越来越多地将大量不同类型的组件集成在单个芯片上或多芯片模块上。系统的复杂性和功耗随着不同类型的组件的数量而增加。电源管理是集成电路的设计和操作的重要方面,尤其是集成在通常依赖于电池供电的设备(诸如移动设备)内的电路。降低这些设备的集成电路中的功耗可增加电池的寿命以及减少由集成电路产生的热量。
附图说明
可以从以下描述中获得更详细的理解,通过示例结合附图给出,其中:
图1是可实现本公开的一个或多个特征的示例设备的框图;
图2是例示用于实现本公开的一个或多个特征的包括电源管理控制器的示例组件的框图;
图3是以附加细节例示图2中示出的电源管理控制器的框图;
图4是例示用于实现本公开的一个或多个特征的中间系统管理单元的组件的框图;
图5是例示可实现本公开的一个或多个特征的示例设备的不同电源域的框图;
图6是例示根据本公开的特征的电源状态转换的示例方法的流程图;
图7是例示根据本公开的特征的在活动的电源状态与降低的电源状态之间的两阶段转换过程的时序图;并且
图8是例示根据本公开的特征的中止进入降低的电源状态的示例的时序图。
具体实施方式
一些常规设备通过进入降低的电源状态(即,电源门控状态)来降低功耗,该降低的电源状态是设备或该设备的一个或多个组件在比另一操作模式消耗更少的电的模式下操作的状态。例如,在一些具体实施中,从一个或多个组件中移除将通常用于保持当前电源状态的电源,以进入该降低的电源状态并且消耗更少的电。例如,通过关闭或移除组件的电源,或者可替换地,降低电源电压和/或降低提供给组件的时钟频率,来进入该降低的电源状态。
在进入降低的电源状态之前,将配置寄存器状态保存到存储器(例如,动态随机存取存储器(DRAM))中。配置寄存器状态是指存储在分配给设备的组件的多个配置寄存器中的值,该值标识该组件、定义该组件的各种特征、并且允许系统软件与该组件交互和/或控制该组件的操作。分配给组件的寄存器包括任何数目和类型的寄存器,例如路由表、地址映射、配置数据、缓冲器分配信息(包括流控制信用(例如,当第一组件在初始化期间将其缓冲器计数传送到第二组件时,使得该第二组件具有可发送到该第一组件而无需暂停和等待缓冲器被释放的多个包的指示))、性能寄存器和调试相关寄存器。
操作系统、设备驱动器和诊断软件通常在组件的操作期间访问该配置寄存器状态。在退出该降低的电源状态时,恢复该配置寄存器状态。保存和恢复该组件的该配置寄存器状态保证该组件在电源被移除之前和电源被恢复之后以相同方式操作,并且防止由于在执行期间存储不正确的数据而导致的计算错误的发生。然而,每当系统进入该降低的电源状态时将该配置寄存器状态保存到存储器导致了延迟,这减少了在该降低的电源状态中花费的总时间量。而且,将该配置寄存器状态写入存储器招致了电源使用损失。
在较浅的降低的电源状态(例如电源状态Z0-Z8)中,向一个或多个组件供电。在电源状态Z8期间,将电源(例如,电压)供应到一些组件,但使用降低的电压。在转换到较浅的降低的电源状态和从较浅的降低的电源状态转换期间,每个组件的配置寄存器状态被保存和恢复。
然而,在更深的降低的电源状态(例如,电源状态Z9和Z10)中,不为组件供电。例如,在电源状态Z9期间,为显示器(例如,显示器控制器)供电,但不为其他组件(例如,CPU、GPU和存储器控制器)供电。在电源状态Z10期间,不为该显示器控制器或该设备的这些其他组件供电。因此,这些组件不能起作用并且在彼此之间传递数据。
在该设备的操作期间,这些组件可以在短时间间隔内变为空闲。例如,当用户正在观看显示器但该设备在短时间段(例如,键击之间的时间段)内未接收任何用户输入时,组件(例如,CPU、GPU和存储器控制器)在这些短时间段期间变为空闲。在这些短的空闲时间段期间,可通过转变到电源状态Z9且移除对这些组件的供电来降低该设备的功耗。
常规系统经由软件检测组件的空闲(即,空闲或非空闲),且直到自该组件变为活动(即,不再空闲)起的多个毫秒(ms)之后才能够恢复电源且退出该降低的电源状态。因此,这些常规系统不能够针对这些短空闲时间段(例如,键击之间的时间段)在这些降低的电源状态之间高效地转换。
本公开的特征经由电源管理控制器(PMC)的唯一硬件提供不同水平的降低的电源状态之间的高效转换,该唯一硬件识别(例如,经由唤醒信号)一个或多个组件的空闲且实现与该组件的握手过程(例如,阻隔请求和阻隔确认)以在电源状态之间高效地转换。
在转换到电源状态Z9以及从电源状态Z9转换期间,配置寄存器状态的一部分(即,对应于从其移除电源的组件的寄存器)不被保存和恢复,因为这些组件在电源状态Z9期间不活动,而寄存器(例如,对应于该显示器控制器的寄存器)的一部分被保存和恢复。然而,在电源状态Z10下,对应于在电源状态Z9下被断电的组件的寄存器和对应于该显示器控制器的寄存器均未被保存,因为这些组件在电源状态Z10期间均不活动。
一些组件(例如,显示器控制器)具有服务质量(QOS)约束(例如,用于进入和退出降低的电源状态的更严格的延迟周期容差),而其他组件(例如,CPU、GPU、IO组件)不具有这些QOS约束。例如,电源状态Z9还支持显示卡顿模式,其中该显示器控制器连续地从其数据缓冲器向显示器输出数据。当显示器缓冲器填满时,该设备进入降低的电源状态。该显示器缓冲器保持排空以向该显示器提供数据。当该显示器缓冲器变得低于数据阈值时,该设备退出该降低的电源状态并且恢复对存储器的访问以填充该显示器缓冲器。然后,该设备再次进入该降低的电源状态并且重复该过程。因此,最好允许该显示器控制器能够尽可能长时间地继续访问存储器,以在移除电源之前完成其任务。因此,用于进入和退出电源状态Z9的延迟周期具有比用于电源状态Z10的延迟周期更严格的容差,以高效地实现该显示卡顿模式。因为当显示器断电或处于面板自刷新(PSR)中时开启电源状态Z10,所以容许较长的退出时延以换取较低的功率。
然而,一些非QOS组件被阻隔且可用于低功率进入而所导致的时间量可导致低效执行或功能错误。例如,由于从缓冲器(例如,显示器缓冲器)被填充的时间到组件进入降低的电源状态的时间的时间量而效率低。如果QOS组件(例如,显示器控制器)与非QOS组件并行地进行阻隔,所述非QOS组件花费长时间量来变为被阻隔且变为可用于低电源进入(即,不满足QOS组件进入降低的电源状态的延迟容忍),那么防止该QOS组件在转换到降低的电源状态期间产生请求。即,当显示器控制器填满显示器缓冲器并且被阻隔而慢的非QOS组件由于其配置寄存器状态被保存或者由于防止该组件允许该组件转换到降低的电源状态的另一条件而不能完成其阻隔时,可能会效率低。同时,该显示器缓冲器中继续被提供给显示器的数据被清空,并且该显示器缓冲器在转换到降低的电源状态期间不能访问存储器以获得要提供给显示器的附加数据。另外,(例如)当组件具有不允许其被阻隔的条件并且显示器缓冲器欠载运行时,产生功能错误。
本公开的特征通过利用PMC来实现用于向和从降低的电源状态Z9和Z10转换的两阶段IP组件/PMC接口协议来提供向降低的电源状态和从降低的电源状态的高效转换。在第一阶段中,移除电源的阻隔请求首先被发送到非QOS组件(例如,CPU、GPU和IO组件),然后,在第二阶段中,阻隔请求被发送到QOS组件(例如,显示器控制器)。因此,非QOS组件首先完成它们的阻隔并且将它们的配置寄存器状态保存到PMC中的存储器(例如,缓冲器)而不干扰由QOS组件生成的数据流量。然后,在该设备进入降低的电源状态之前,QOS组件完成它们的阻隔并将它们的配置寄存器状态保存到PMC中的存储器中。即,因为一些非QOS组件可通过花费太长时间来完成其阻隔并保存其配置寄存器状态而导致了低效率和错误,所以在两个单独的阶段中阻隔该非QOS组件之后阻隔该QOS组件。
提供一种处理设备,其包括:QOS组件,该QOS组件具有用于存储数据以执行程序的第一所分配的寄存器;多个非QOS组件,该多个非QOS组件具有用于存储数据以执行程序的第二所分配的寄存器;以及电源管理控制器,该电源管理控制器与该QOS组件及该非QOS组件通信。该电源管理控制器被配置为:当确定该非QOS组件中的一个或多个非QOS组件空闲时,发布针对该非QOS组件的阻隔;当针对该非QOS组件的该阻隔完成时,发布针对该QOS组件的阻隔;以及当针对该非QOS组件的该阻隔和针对该QOS组件的该阻隔完成时,进入降低的电源状态。
提供了一种电源状态转换的方法,该方法包括:当确定非QOS组件中的一个或多个非QOS组件空闲时,发布针对该非QOS组件的阻隔;当针对该非QOS组件的该阻隔完成时,发布针对该QOS组件的阻隔;以及当针对该非QOS组件的该阻隔和针对该QOS组件的该阻隔完成时,进入降低的电源状态。
提供了一种非暂态计算机可读介质,其包括用于使计算机执行电源状态转换的方法的指令。该指令包括:当确定非QOS组件中的一个或多个非QOS组件空闲时,发布针对该非QOS组件的阻隔;当针对该非QOS组件的该阻隔完成时,发布针对该QOS组件的阻隔;以及当针对该非QOS组件的该阻隔和针对该QOS组件的该阻隔完成时,进入降低的电源状态。
图1是可实现本公开的一个或多个特征的示例设备100的框图。设备100可包括例如计算机、游戏设备、手持设备、机顶盒、电视、移动电话或平板计算机。设备100包括处理器102、存储器104、存储装置106、一个或多个输入设备108以及一个或多个输出设备110。设备100还可任选地包括输入驱动器112和输出驱动器114。应当理解,设备100可包括图1中未示出的另外组件。
在各种另选方案中,处理器102包含中央处理单元(CPU)、图形处理单元(GPU)、位于同一管芯上的CPU和GPU、一个或多个处理器核心(其中每一处理器核心可为CPU或GPU),或用以管理设备100的不同电源状态(例如,当设备100或设备100的组件在比正常操作模式消耗更少的电的模式下操作时的降低的电源状态)的电源管理控制器(PMC)。在各种另选方案中,存储器104位于与处理器102相同的管芯上或与处理器102分开定位。存储器104包括易失性或非易失性存储器,例如随机存取存储器(RAM)、动态RAM(DRAM)或高速缓存。
存储装置106包括固定或可移动存储装置,例如硬盘驱动器、固态驱动器、光盘或闪存驱动器。输入设备108包括但不限于键盘、小键盘、触摸屏、触控板、检测器、麦克风、加速度计、陀螺仪、生物扫描仪或网络连接(例如,用于发射和/或接收无线IEEE 802信号的无线局域网卡)。输出设备110包括但不限于显示器、扬声器、打印机、触觉反馈设备、一个或多个灯、天线或网络连接(例如,用于发射和/或接收无线IEEE 802信号的无线局域网卡)。
输入驱动器112与处理器102和输入设备108通信,并且允许处理器102从输入设备108接收输入。输出驱动器114与处理器102和输出设备110通信,并且允许处理器102向输出设备110发送输出。应注意,输入驱动器112和输出驱动器114是任选的组件,并且如果输入驱动器112和输出驱动器114不存在,则设备100将以相同方式操作。
图2是例示用于实现本公开的一个或多个特征的包括PMC 260的设备200的示例组件的框图。示例设备200的组件包括数据结构205,其表示用于在设备的知识产权(IP)组件(本文中称为“IP组件”)之间传送数据的任何类型的通信结构、总线和/或其他控制和接口逻辑。IP组件包含(例如)用以执行程序或应用程序的各种部分的核、硬件块、存储器单元和逻辑。数据结构205包括数据路径、交换机、路由器和用于在诸如CPU 210、GPU 220、多媒体处理单元230、显示器240(经由图3所示的显示器控制器240)、I/O集线器250和存储器控制器270之类的各种IP之间传送数据的其他逻辑。数据结构205可以是基于总线的,包括共享总线配置、交叉开关配置以及具有桥的分层总线。数据结构205还可以是基于分组的,并且可以是具有网桥、交叉开关、点对点或其他互连的分层结构。图2中的箭头示出了设备的IP组件之间的数据流。DF 205是负责QOS和非QOS功能的IP组件。DF 205的非QOS功能包括经由非QOS组件所使用的数据路径生成或服务非QOS业务,并且DF 205的QOS功能包括经由QOS组件所使用的数据路径生成或服务QOS业务。
图2中所示的设备200的组件还包括各种I/O组件280,诸如通用串行总线(USB)端口、高速外围组件互连(PCIe)总线、NVMe控制器、通用输入/输出(GPIO)控制器和传感器融合I/O组件。
如以下关于图3更详细描述的,PMC 260包括硬件和固件的组合并且经由该IP组件控制接口和寄存器总线接口(不同于用于在IP组件之间传送数据的数据结构接口)与IP组件(例如,CPU 210、GPU 220、多媒体处理单元230、显示器240、I/O集线器250和存储器控制器270)进行交互,以管理设备的不同电源状态之间的转换(例如,进入和退出)。
图3是例示与多个IP组件308通信的PMC 260的组件的框图。如图3所示,PMC 260包括PMC硬件(HW)逻辑302、IP存储/恢复中间系统管理单元(MSMU)304和主MSMU 306。PMC HW逻辑302是根据IP/PMC接口协议与IP组件308(在如图5所示的电源域P1和P2中)进行交互的硬件块(即,逻辑电路)。例如,PMC HW逻辑302接收IP组件308中的一个或多个组件是空闲还是非空闲(例如,唤醒事件)的空闲指示,并执行握手(例如,向一个或多个IP组件308发送阻隔请求并从一个或多个IP组件308接收阻隔确认)。
图4是例示图3所示的MSMU 304和306的组件的框图。如图4所示,MSMU 304和306包括指令存储器402、数据存储器404、寄存器和定时器406、指令处理器408和MSMU总线410。IP地址保存/恢复MSMU 304并行操作以将对应的IP地址组件308的寄存器数据保存在它们的数据存储器404中,并将该寄存器数据从它们的数据存储器404恢复到对应的IP地址组件308中。
每一MSMU处理器408执行其指令存储器402中的固件指令以保存并恢复其对应IP组件308的寄存器数据。指令存储器402包括有限的一组固件指令(例如,16个指令),其用于高效地实现寄存器保存-恢复流量(例如,满足一个或多个IP组件308变为活动(即,非空闲)的时间与将设备200的一个或多个IP组件308恢复到活动状态的时间之间的目标等待时延周期)。数据存储器404包括动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM),其用于存储由对应IP组件308使用以执行程序的一部分的数据。当退出设备200的电源状态时,将该数据从分配给IP组件308的配置寄存器保存到数据存储器404,且当进入设备200的电源状态时,将该数据恢复(例如,重新加载)到该配置寄存器中。
主MSMU 306经由PMC总线310与IP保存/恢复MSMU 304和PMC HW逻辑302通信,并且包括用于管理IP保存/恢复MSMU 304以及协调IP保存/恢复MSMU 304与其对应的IP组件308之间的寄存器保存-恢复流量的实现的固件指令。
图5是例示示例设备200的不同电源域的框图。如图5中所示,第一电源域(P1)中的IP组件包括CPU 210、GPU 220和其他IP组件502,例如多媒体处理单元230、I/O集线器250和存储器控制器270。第二电源域(P2)包括显示器控制器240。第三电源域(P3)包括PMC 260。第四电源域包括设备200的其他组件,例如I/O组件280。
设备200的电源状态包括(例如)Z0(也称为状态S0)到Z10的11个状态。然而,可针对任何目标数量的电源状态来实现本公开的特征。在电源状态S0/Z0期间,向这些域中的每一个域供电(例如,每一电源轨道都打开)。在状态Z1至Z7期间,一个或多个IP组件但不是每个IP组件是空闲的。在电源状态Z8和Z9期间,CPU 210、GPU 220和IP组件502是空闲的。在电源状态Z8期间,减少供应到电源域P1的电源(例如,电压)以用于有限功能(例如,显示卡顿)。在状态Z9期间,不向电源域P1供电(即,电源关闭)。在状态Z10期间,不向电源域P1和P2供电。
图6是例示根据本公开的特征的使用两阶段方法向和从降低的电源状态转换的示例方法600的流程图。方法600示出了成功进入降低的电源状态。进入降低的电源状态还可以被中止,如以下关于图8更详细描述的。
还参考图7描述方法600。图7是例示根据本公开的特征的在活动的电源状态与降低的电源状态之间的两阶段转换过程的时序图。图7所示的示例包括从活动的电源状态(例如,电源状态S0或电源状态Z0)向降低的电源状态Z9的转换或降低的电源状态Z10以及从降低的电源状态Z9或Z10转换回活动的电源状态(即,电源状态S0或电源状态Z0)。
PMC 260接收用于实现电源状态之间的转换的多个不同指示。例如,PMC 260从非QOS组件中的每一者处接收单独的指示。(例如,图3中的IP组件308)关于每个对应的非QOS组件308的空闲(空闲或非空闲)。非QOS组件308包括数据结构(DF)205,其既是阶段1组件又是阶段2组件,如下文更详细描述的。然而,为了简化的目的,在图7中示出了单个空闲指示信号(即,DF_PMC_idle)以表示针对阶段1的非QOS IP组件308的组合空闲。即,当DF_PMC_idle指示为高时,非QOS组件308中的每一者为空闲。当DF_PMC_idle指示为低时,非QOS组件308中的一者或多者不空闲(即,活动)。
PMC 260还实现IP组件308之间的握手过程。例如,PMC 260向非QOS组件308中的每一者发送阻隔请求,并从非QOS组件308中的每一者处接收阻隔确认。然而,为了简化的目的,在图7中示出了单个阶段1阻隔请求(例如,PMC_DF_fence_req)以表示发送到针对阶段1的非QOS组件308中的每一者(包括数据结构(DF)205)的阻隔请求。另外,图7中示出了单个阻隔确认(例如,DF_PMC_fence_ack)以表示发送给针对阶段1的非QOS组件308中的每一者的阻隔确认。
PMC 260还被配置为接收唤醒信号。例如,当阻隔请求被发送到每个IP组件时,一些IP组件(例如,数字控制器集线器)在降低的电源状态期间不被断电。未被断电的这些IP组件中的一个或多个IP组件在降低的电源状态期间向PMC 260发送唤醒信号。例如,当数字控制器集线器接收到新业务(例如,数据)时,该数字控制器集线器发送唤醒信号(即,IP_PMC_wake),该唤醒信号指示一个或多个IP组件不再空闲并且该设备应当退出该降低的电源状态。
如图6的框602处所示,方法600包括接收包括数据结构(DF)205的设备的非QOS组件中的每一者都空闲的指示。例如,PMC 260的硬件逻辑302接收图3所示的非QOS IP组件308中的每一者都空闲的指示,这开始了进入降低的电源状态的进入过程。
在时间t1,IP_ZSC_idle变高。即,PMC 260接收非QOS组件308(包括CPU、GPU、IO组件和数据结构(DF)205)中的每一者都空闲的指示,并且PMC 260开始进入降低的电源状态的进入过程。
如框604处所示,方法600包括向该设备的非QOS IP组件发送移除电源的请求。例如,在时间t2,PMC 260向非QOS IP组件308中的每一者发送阻隔请求(PMC_DF_fence_req),请求允许移除IP组件308的电源。该阻隔请求还向非QOSIP组件308中的每一者提供它们应当停止向其他组件发送通信的指示。
如框606处所示,方法600包括接收该阻隔请求的确认。例如,在时间t3,PMC 260从非QOS IP组件308中的每一者处接收确认(DF_PMC_fence_ack),允许PMC 260从非QOS IP组件308移除电源。如上所述,DF 205既是阶段1组件又是阶段2组件。DF 205是负责QOS和非QOS功能的组件。在完成阶段1握手时(即,当PMC 260从非QOS IP组件308中的每一者处接收到确认(DF_PMC_fence_ack)时),DF 205的非QOS功能被阻隔。为了满足QOS组件进入降低的电源状态的延迟容忍(如上所述),经由PMC_DF_fence_req阻隔该DF生成或服务非QOS业务,这包括阻隔由非QOS组件使用的数据路径、阻隔到非QOS客户端(例如,CPU 210、GPU 220)的中断生成以及将其寄存器状态的一部分保存到DRAM。
当组件接收到该阻隔请求时,该组件的数据被保存到DRAM(例如,存储器290)。该组件确认该阻隔请求,然后将该组件的剩余数据(即,配置寄存器状态)保存到对应的MSMU304的SRAM,使得在退出降低的电源状态时,可以实现相反的顺序来重新建立对DRAM的访问。将数据保存到DRAM被认为是满足第一阶段握手的非QOS组件动作。
然后,PMC 260转换到阶段2,并且PMC_DF_stage2_start在时间t4被激活(变高)(并且当实现如下所述的显示卡顿模式时,向显示器控制器240发送显示卡顿请求)。在PMC260转换到阶段2之后,DF 205不服务非QOS组件(例如,CPU、GPU和IO组件),但服务QOS组件(例如,显示器控制器和DF 205的QOS服务逻辑)直到非QOS组件被阻隔。即,DF 205的QOS功能保持可操作直到阶段2握手完成(即,当PMC 260接收到确认(DF_PMC_stage2_ack)时)。
如框608处所示,PMC 260接收QOS组件(例如,显示器控制器240和DF 205的QOS服务逻辑)空闲的指示。例如,在时间t5,PMC 260接收显示器控制器204空闲的指示。即,显示器控制器204填充其缓冲器并指示其空闲。
在框610处,PMC 260向QOS组件(例如,显示器控制器204和DF 205的QOS服务逻辑)发送移除电源的请求。例如,在时间t6,PMC 260向显示器控制器204和DF 205的QOS服务逻辑发送阻隔请求(PMC_DF_stage2_req),向显示器控制器204和DF 205的QOS服务逻辑请求移除电源的许可。
在框612处,PMC 260接收对阻隔请求的确认(PMC_DF_stage2_req)。例如,在时间t7,PMC 260从显示器控制器204和DF 205的QOS服务逻辑接收确认(DF_PMC_stage2_ack),从而允许PMC 260从显示器控制器204和DF 205的QOS服务逻辑移除电源。在完成阶段2握手时(即,当PMC 260接收到确认(DF_PMC_stage2_ack))时,DF 205停止服务QOS组件。在该示例中,阻隔请求被发送到两个QOS组件、显示器控制器和DF 205的QOS服务逻辑。然而,可以通过向DF 205的QOS服务逻辑发送任何数量的不同QOS组件的请求并且从DF 205的QOS服务逻辑和任何数量的不同QOS组件接收确认来实现本公开的特征。
如框614处所示,方法600包括移除电源并进入降低的电源状态。例如,PMC 260使用电源复位信号(即,reset)来对每个组件的电源进行复位。如图7中的示例所示,复位在时间t8从低变为高,并且然后从每个组件(包括非QOS组件308和QOS组件(例如,显示器控制器204和DF 205的QOS服务逻辑))移除电源(图7中的关闭)。
如判定框616处所示,方法600包括接收唤醒信号IP_PMC_wake。例如,当组件(例如,数字控制器集线器)之一检测到新的业务(例如,数据)时,该数字控制器集线器在时间t9向PMC 260发送唤醒信号(即,IP_PMC_wake),指示IP组件308中的一个或多个IP组件不再空闲并且该设备应当退出降低的电源状态。
如判定框618处所示,恢复电源并且该设备退出降低的电源状态。例如,如图7所示,在时刻t10恢复电源。复位在时间t11从高变低。即,PMC 260解除复位,并指示MSMU 304将寄存器数据从其数据存储器404恢复到相应的IP组件308。在时间t12,MSMU 304完成恢复并向PMC 260指示该完成,PMC 260解除两个阶段请求。
在时间t12和t13之间,DF_ZSC_ack和DF_ZSC_stage2_ack被解除。卡顿路径DRAM被恢复并且该设备退出显示卡顿模式。在时间t13,IP_PMC_wake被解除。
如上所述,方法600示出了成功进入降低的电源状态,但是也可以中止进入降低的电源状态。例如,在图7所示的示例中,PMC经由唤醒信号(IP_PMC_wake)接收一个或多个组件在时间t7从每个QOS组件处接收确认之后不再空闲的指示。然而,当(例如,经由唤醒信号)确定QOS组件或非QOS组件中的一者或多者在时间t7从所述QOS组件中的每一者处接收确认之前不再空闲时,中止进入降低的电源状态。即,PMC 260不保存IP组件308的寄存器数据并且不进入降低的电源状态。
图8是例示根据本公开的特征的中止进入降低的电源状态的示例的时序图。如图8所示,PMC经由唤醒信号(IP_PMC_wake)接收一个或多个组件在时间t7从每个QOS组件处接收确认之后在时间t3处不再空闲的指示。因此,如图8所示,中止进入降低的电源状态并且电源保持接通,复位保持为低并且该设备不进入降低的电源状态。
如上所述,电源状态Z9还支持显示卡顿模式,其中该显示器控制器连续地从其数据缓冲器向显示器输出数据。当显示器缓冲器填满时,该设备进入降低的电源状态。该显示器缓冲器保持排空以向该显示器提供数据。当该显示器缓冲器变得低于数据阈值时,该设备退出该降低的电源状态并且恢复对存储器的访问以填充该显示器缓冲器。然后,该设备再次进入该降低的电源状态并且重复该过程。即,卡顿是为了QOS客户端的利益而重复阶段2握手,同时保持非QOS客户端被阻隔,这避免了低效率的功耗。例如,非QOS客户端可以在卡顿期间保持在降低的电源模式中,避免了非QOS客户端的低效率恢复,并且避免了重复阶段1空闲检测和用于退出和重新进入的握手过程所招致的时间。如图7所示,阻隔请求(PMC_DF_fence_req)和阶段2的起始(PMC_DF_stage2_start)在时间t12被解除(即,变低)。然而,当实现显示卡顿模式时,PMC_DF_fence_req和PMC_DF_stage2_start在时间t12保持被激活以指示卡顿,使得当QOS客户端完成卡顿时,从t5开始并跳过图7中t5之前的步骤而重复进入降低的电源状态。
附图中例示和/或本文所述的各种功能单元(包括但不限于处理器102、输入驱动器112、输入设备108、输出设备110、输出驱动器114、数据结构205、CPU 210、GPU 220、存储器控制器270和PMC 260)可被实现为通用计算机、处理器或处理器核,或者实现为存储在非暂态计算机可读介质或另一介质中的能够由通用计算机、处理器或处理器核执行的程序、软件或固件。所提供的方法可以在通用计算机、处理器或处理器核心中实现。举例来说,合适的处理器包括通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、多个微处理器、与DSP核心相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)电路,任何其他类型的集成电路(IC)和/或状态机。可以通过使用处理的硬件描述语言(HDL)指令和包括网表的其他中间数据(能够存储在计算机可读介质上的此类指令)的结果来配置制造过程而制造此类处理器。此类处理的结果可以是掩码,然后在半导体制造过程中使用这些掩码来制造实现本公开的特征的处理器。
本文提供的方法或流程图可以在并入非暂态计算机可读存储介质中的计算机程序、软件或固件中实现,以供通用计算机或处理器执行。非暂态计算机可读存储介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、寄存器、高速缓存存储器、半导体存储器设备、磁性介质(诸如内部硬盘和可移动磁盘)、磁光介质和光学介质(诸如CD-ROM磁盘)以及数字多功能磁盘(DVD)。
***

Claims (20)

1.一种处理设备,包括:
服务质量(QOS)组件,所述服务质量(QOS)组件具有用于存储数据以执行程序的第一所分配的寄存器;
多个非QOS组件,所述多个非QOS组件具有用于存储数据以执行所述程序的第二所分配的寄存器;以及
电源管理控制器,所述电源管理控制器与所述QOS组件和所述非QOS组件通信,并且被配置为:
当确定所述非QOS组件中的一个或多个非QOS组件空闲时,发布针对所述非QOS组件的阻隔;
当针对所述非QOS组件的所述阻隔完成时,发布针对所述QOS组件的阻隔;以及
当针对所述非QOS组件的所述阻隔和针对所述QOS组件的所述阻隔完成时,进入降低的电源状态。
2.根据权利要求1所述的处理设备,还包括数据结构,所述数据结构包括:
作为所述非QOS组件之一的非QOS服务逻辑,所述非QOS服务逻辑被配置为服务其他非QOS组件的数据;以及
作为附加QOS组件的QOS服务逻辑,所述QOS服务逻辑被配置为服务所述QOS组件的数据,
其中所述电源管理控制器被配置为:
向包括所述非QOS服务逻辑的所述非QOS组件发送阻隔请求以移除所述非QOS组件的电源;
当接收到针对所述非QOS组件的所述阻隔请求的确认时,发布针对所述非QOS组件的所述阻隔;以及
当针对所述非QOS组件的所述阻隔完成时,向所述QOS组件和所述附加QOS组件发送阻隔请求。
3.根据权利要求2所述的处理设备,其中所述电源管理控制器被配置为:
在从所述QOS组件处接收所述确认之前,确定所述QOS组件、所述附加QOS组件和所述非QOS组件中的一者或多者是否不再空闲;
当在从所述QOS组件和所述附加QOS组件处接收所述确认之前确定所述QOS组件、所述附加QOS组件或所述非QOS组件中的一者或多者不再空闲时,中止进入所述降低的电源状态;以及
当在从所述QOS组件和所述附加QOS组件处接收所述确认之后确定所述QOS组件、所述附加QOS组件或所述非QOS组件中的一者或多者不再空闲时,进入所述降低的电源状态。
4.根据权利要求1所述的处理设备,其中所述电源管理控制器被配置为:通过从未被断电的另一组件处接收唤醒事件的指示,来确定所述QOS组件和所述非QOS组件中的一者或多者不再空闲。
5.根据权利要求1所述的处理设备,其中所述电源管理控制器被配置为:当所述非QOS组件中的一个或多个非QOS组件被指示为活动时,执行恢复所述组件的电源的过程。
6.根据权利要求1所述的处理设备,还包括多个QOS组件,并且
所述电源管理控制器被配置为当确定所述非QOS组件空闲时向所述多个QOS组件发布阻隔。
7.根据权利要求1所述的处理设备,还包括显示器,其中所述QOS组件是被配置为向所述显示器提供所述第二所分配的寄存器中的数据的显示器控制器。
8.根据权利要求1所述的处理设备,其中所述降低的电源状态是从所述非QOS组件和所述QOS组件中移除电源的状态。
9.根据权利要求1所述的处理设备,其中所述降低的电源状态是第二降低的电源状态,在所述第二降低的电源状态中,从所述非QOS组件和所述QOS组件中移除电源,并且所述电源管理控制器被配置为在第一降低的电源状态和所述第二降低的电源状态之间来回转换,在所述第一降低的电源状态中,从所述非QOS组件中移除电源并且所述第一降低的电源状态支持显示卡顿模式。
10.一种电源状态转换的方法,包括:
当确定非QOS组件中的一个或多个非QOS组件空闲时,发布针对所述非QOS组件的阻隔;
当针对所述非QOS组件的所述阻隔完成时,发布针对QOS组件的阻隔;以及
当针对所述非QOS组件的所述阻隔和针对所述QOS组件的所述阻隔完成时,进入处理设备的降低的电源状态。
11.根据权利要求10所述的方法,还包括:
向包括数据结构的非QOS服务逻辑的所述非QOS组件发送阻隔请求以移除所述非QOS组件的电源;
当接收到针对所述非QOS组件的所述阻隔请求的确认时,发布针对所述非QOS组件的所述阻隔;以及
当针对所述非QOS组件的所述阻隔完成时,向所述QOS组件和作为附加QOS组件的QOS服务逻辑发送阻隔请求。
12.根据权利要求11所述的方法,还包括:
在从所述QOS组件处接收所述确认之前,确定所述QOS组件、所述附加QOS组件和所述非QOS组件中的一者或多者是否不再空闲;
当在从所述QOS组件和所述附加QOS组件处接收所述确认之前确定所述QOS组件、所述附加QOS组件或所述非QOS组件中的一者或多者不再空闲时,中止进入所述降低的电源状态;以及
当在从所述QOS组件和所述附加QOS组件处接收所述确认之后确定所述QOS组件、所述附加QOS组件或所述非QOS组件中的一者或多者不再空闲时,进入所述降低的电源状态。
13.根据权利要求12所述的方法,还包括:通过从未被断电的另一组件处接收唤醒事件的指示,来确定所述QOS组件和所述非QOS组件中的一者或多者不再空闲。
14.根据权利要求10所述的方法,还包括:当所述非QOS组件中的一个或多个非QOS组件被指示为活动时,执行恢复所述组件的电源的过程。
15.根据权利要求10所述的方法,还包括:当确定所述非QOS组件空闲时向多个QOS组件发布阻隔。
16.根据权利要求10所述的方法,其中所述降低的电源状态是从所述非QOS组件和所述QOS组件中移除电源的状态。
17.根据权利要求10所述的方法,其中所述降低的电源状态是第二降低的电源状态,在所述第二降低的电源状态中,从所述非QOS组件和所述QOS组件中移除电源,并且所述设备在第一降低的电源状态和所述第二降低的电源状态之间来回转换,在所述第一降低的电源状态中,从所述非QOS组件中移除电源并且所述第一降低的电源状态支持显示卡顿模式。
18.一种非暂态计算机可读介质,所述非暂态计算机可读介质包括用于使计算机执行电源状态转换方法的指令,所述指令包括:
当确定非QOS组件中的一个或多个非QOS组件空闲时,发布针对所述非QOS组件的阻隔;
当针对所述非QOS组件的所述阻隔完成时,发布针对QOS组件的阻隔;以及
当针对所述非QOS组件的所述阻隔和针对所述QOS组件的所述阻隔完成时,进入降低的电源状态。
19.根据权利要求18所述的非暂态计算机可读介质,其中所述指令还包括:
向包括数据结构的非QOS服务逻辑的所述非QOS组件发送阻隔请求以移除所述非QOS组件的电源;
当接收到针对所述非QOS组件的所述阻隔请求的确认时,发布针对所述非QOS组件的所述阻隔;以及
当针对所述非QOS组件的所述阻隔完成时,向所述QOS组件和作为附加QOS组件的QOS服务逻辑发送阻隔请求。
20.根据权利要求19所述的非暂态计算机可读介质,还包括:
在从所述QOS组件处接收所述确认之前,确定所述QOS组件、所述附加QOS组件和所述非QOS组件中的一者或多者是否不再空闲;
当在从所述QOS组件和所述附加QOS组件处接收所述确认之前确定所述QOS组件、所述附加QOS组件或所述非QOS组件中的一者或多者不再空闲时,中止进入所述降低的电源状态;以及当在从所述QOS组件和所述附加QOS组件处接收所述确认之后确定所述QOS组件、所述附加QOS组件或所述非QOS组件中的一者或多者不再空闲时,进入所述降低的电源状态。
CN202280063901.8A 2021-09-23 2022-07-27 用于在降低的电源状态之间进行两阶段转换的设备和方法 Pending CN118020041A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/483,702 US20230090567A1 (en) 2021-09-23 2021-09-23 Device and method for two-stage transitioning between reduced power states
US17/483,702 2021-09-23
PCT/US2022/038552 WO2023048819A1 (en) 2021-09-23 2022-07-27 Device and method for two-stage transitioning between reduced power states

Publications (1)

Publication Number Publication Date
CN118020041A true CN118020041A (zh) 2024-05-10

Family

ID=85571505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280063901.8A Pending CN118020041A (zh) 2021-09-23 2022-07-27 用于在降低的电源状态之间进行两阶段转换的设备和方法

Country Status (4)

Country Link
US (1) US20230090567A1 (zh)
KR (1) KR20240063978A (zh)
CN (1) CN118020041A (zh)
WO (1) WO2023048819A1 (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814329B1 (en) * 2006-04-07 2010-10-12 Marvell International Ltd. MACSec implementation
US8930733B2 (en) * 2009-06-12 2015-01-06 Taiwan Semiconductor Manufacturing Company, Ltd. Separating power domains of central processing units
US8437808B2 (en) * 2010-05-03 2013-05-07 Hewlett-Packard Development Company, L.P. Apparatus and methods for power management on mobile devices
KR20130021169A (ko) * 2011-08-22 2013-03-05 삼성전자주식회사 컴퓨팅 장치 및 그것의 하이버네이션 방법
US10320703B2 (en) * 2015-09-30 2019-06-11 Veritas Technologies Llc Preventing data corruption due to pre-existing split brain
TWI569129B (zh) * 2015-12-01 2017-02-01 財團法人工業技術研究院 系統暫停方法、系統回復方法及應用其之電腦系統
US10861504B2 (en) * 2017-10-05 2020-12-08 Advanced Micro Devices, Inc. Dynamic control of multi-region fabric
KR102042495B1 (ko) * 2018-11-30 2019-11-08 아주대학교산학협력단 멀티 코어 시스템의 저전력 운영을 위한 데이터 흐름 최적화 장치 및 방법

Also Published As

Publication number Publication date
WO2023048819A1 (en) 2023-03-30
KR20240063978A (ko) 2024-05-10
US20230090567A1 (en) 2023-03-23

Similar Documents

Publication Publication Date Title
US8566628B2 (en) North-bridge to south-bridge protocol for placing processor in low power state
KR101442791B1 (ko) 통신 포트에 대한 가변 클록 게이팅 히스테리시스를 채용하는 장치 및 방법들
US11289131B2 (en) Dynamic control of multi-region fabric
KR100329344B1 (ko) 전원관리장치및방법
WO2016130241A1 (en) Independent power collapse methodology
US20070038829A1 (en) Wait aware memory arbiter
TW200422819A (en) Method and apparatus for controlling a data processing system during debug
US9015510B2 (en) Optimizing energy efficiency using device idle duration information and latency tolerance based on a pre-wake configuration of a platform associated to the device
US20100318822A1 (en) Energy saving in systems-on-chip
JP3665030B2 (ja) バス制御方法及び情報処理装置
CN111052037B (zh) 复位隔离桥
US10304506B1 (en) Dynamic clock control to increase stutter efficiency in the memory subsystem
US20230031388A1 (en) On-demand ip initialization within power states
CN118020041A (zh) 用于在降低的电源状态之间进行两阶段转换的设备和方法
US8867304B2 (en) Command throttling for multi-channel duty-cycle based memory power management
JP5783348B2 (ja) 制御装置、制御プログラム、画像形成装置
US11703937B2 (en) Device and method for efficient transitioning to and from reduced power state
US12001265B2 (en) Device and method for reducing save-restore latency using address linearization
KR20080047792A (ko) 수면 모드를 지원하는 멀티 코어 시스템 온 칩
KR20090046841A (ko) 마스터 및 슬레이브를 갖는 데이터 처리장치에서의 전력 관리
KR20240041971A (ko) 다양한 전력 상태를 갖는 디바이스에 대한 계층적 상태 저장 및 복원
CN117716321A (zh) 用于低功率设备的降低功率时钟发生器
KR20060033126A (ko) 시스템온칩의 절전을 위한 효율적인 하드웨어적 제어방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication