CN116400795A - 电源门控方法及系统级芯片 - Google Patents
电源门控方法及系统级芯片 Download PDFInfo
- Publication number
- CN116400795A CN116400795A CN202310683467.XA CN202310683467A CN116400795A CN 116400795 A CN116400795 A CN 116400795A CN 202310683467 A CN202310683467 A CN 202310683467A CN 116400795 A CN116400795 A CN 116400795A
- Authority
- CN
- China
- Prior art keywords
- processor
- signal
- management module
- power
- power consumption
- 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 55
- 238000002360 preparation method Methods 0.000 claims abstract description 43
- 238000003860 storage Methods 0.000 claims abstract description 16
- 238000004321 preservation Methods 0.000 claims abstract description 4
- 238000002955 isolation Methods 0.000 claims description 28
- 238000011084 recovery Methods 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 17
- 238000013461 design Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000000295 complement effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000005070 sampling Methods 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/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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- 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/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- 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/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- 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)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Power Sources (AREA)
Abstract
一种电源门控方法及系统级芯片,用以在对处理器进行电源门控时,可以快速保存和恢复处理器的状态信息。该方法包括:功耗管理模块向第一处理器发送电源门控请求信号;所述电源门控请求信号用于指示所述第一处理器进行电源门控准备工作;所述功耗管理模块接收所述第一处理器发送的准备完成GNT信号后,向所述第一处理器发送状态保存信号;所述GNT信号用于表征所述第一处理器已完成电源门控准备工作;所述功耗管理模块在所述第一处理器基于所述状态保存信号完成寄存器中的信息保存后,停止对所述第一处理器的供电。
Description
技术领域
本申请涉及电源门控技术领域,尤其涉及电源门控方法及系统级芯片。
背景技术
随着互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)工艺技术的更新,芯片的漏电功耗也随之增长。这种漏电功耗会对电池供电或便携式产品构成严重挑战,日益成为服务器、路由器和机顶盒等设备必须解决的问题。为了降低芯片的整体漏电功耗 ,关闭芯片上未使用处理器的电源的技术称为电源门控技术。
当处理器掉电时处理器中的信息都会丢失,如果使处理器在上电后能继续执行掉电之前的工作,需要对一些处理器关键的状态和信息进行保存,并在处理器上电后恢复。目前,通过软件保存和恢复处理器状态及信息的方式为:在处理器掉电前,等待处理器进入稳定态,将处理器中高速缓冲存储器Cache排空,然后将相关状态寄存器读出来存放到内存中,当处理器上电后,处理器从内存中读出状态信息恢复处理器状态,从掉电的PC 值处继续执行,整个流程类似中断处理流程。
但是上述方式的缺点是:处理器在保存状态信息时带来的总线交互增加了处理器掉电和上电所需的时间,并且总线冲突使信息保存/恢复所需的时间变得不确定,从而难以确定处理器的电源何时可以关闭。
因此,目前亟需一种方案,用以在对处理器进行电源门控时,可以快速保存和恢复处理器的状态信息。
发明内容
本申请提供电源门控方法及系统级芯片,用以在对处理器进行电源门控时,可以快速保存和恢复处理器的状态信息。
第一方面,本申请提供一种电源门控方法,该方法包括:功耗管理模块向第一处理器发送电源门控请求信号;所述电源门控请求信号用于指示所述第一处理器进行电源门控准备工作;所述功耗管理模块接收所述第一处理器发送的准备完成GNT信号后,向所述第一处理器发送状态保存信号;所述GNT信号用于表征所述第一处理器已完成电源门控准备工作 ;所述功耗管理模块使所述第一处理器基于所述状态保存信号完成寄存器中的信息保存后,停止对所述第一处理器的供电 。
上述技术方案中,功耗管理模块对芯片上处于不活跃状态的处理器进行电源门控处理,可以极大地减小整个芯片的漏电功耗。在关闭处理器电源前,保存程序计数器和通用寄存器中的信息,可以使处理器在重新上电时,继续执行掉电之前的工作,又不会增加过多的芯片面积。
在一种可能的设计中,所述功耗管理模块使所述第一处理器基于所述状态保存信号完成寄存器中的信息保存,包括:所述功耗管理模块使所述第一处理器基于所述状态保存信号,对程序计数器和通用寄存器的信息进行保存。
上述技术方案中,当处理器掉电时,选择保存程序计数器和通用寄存器的信息,这样既可以实现处理器的安全断电,使处理器在重新上电后可以继续执行掉电之前的工作,又不会增加过多的芯片面积。
在一种可能的设计中,所述程序计数器和所述通用寄存器为保持寄存器;所述保持寄存器包括主寄存器和影子寄存器;所述影子寄存器在所述处理器掉电期间保持上电状态;所述功耗管理模块使所述第一处理器对程序计数器和通用寄存器的信息进行保存,包括:所述功耗管理模块向所述第一处理器发送状态保存信号,使所述第一处理器将所述程序计数器的主寄存器中的第一值加载至对应的影子寄存器中,并将所述通用寄存器的主寄存器中的第二值加载至对应的影子寄存器中;所述第一值为下一条指令的地址。
上述技术方案中,程序计数器和通用寄存器使用保持寄存器替换标准的寄存器,由于保持寄存器中的影子寄存器在处理器掉电期间可以保持上电状态,所以程序计数器和通用寄存器中的信息得以保存,进而在处理器上电后可以从上次因电源门控而中断的PC处继续运行。相比于处理器上电后从上电启动或复位时的固定的PC处运行,避免了类似中断服务程序的保留恢复流程,可以节省程序运行的时间,提高了程序运行的效率。并且基于保持寄存器来保存程序计数器值和通用寄存器值的方式,可以在芯片设计早期阶段进行验证。
在一种可能的设计中,所述功耗管理模块接收所述第一处理器发送的准备完成GNT信号之前,还包括:所述功耗管理模块接收所述第一处理器发送的确收响应信号;所述确收响应信号是所述第一处理器将所述程序计数器中的值加一保存后发送的。
在一种可能的设计中,所述功耗管理模块接收所述第一处理器发送的准备完成GNT信号之后,功耗管理模块使所述第一处理器基于所述状态保存信号完成寄存器中的信息保存之前,还包括:所述功耗管理模块向所述第一处理器发送时钟门控请求信号,所述时钟门控请求信号用于指示时钟管理模块停止所述第一处理器的时钟供应;所述功耗管理模块向所述第一处理器发送处理器信号隔离信号,所述处理器信号隔离信号用于指示对所述第一处理器的信号输出进行隔离。
在一种可能的设计中,功耗管理模块使所述第一处理器基于所述状态保存信号完成寄存器中的信息保存后,停止对所述第一处理器的供电之前,还包括:所述功耗管理模块向所述第一处理器发送复位信号,所述复位信号用于指示所述第一处理器进入复位态。
在一种可能的设计中,所述方法还包括:所述功耗管理模块向处于断电状态的第二处理器进行供电;所述功耗管理模块向所述第二处理器发送状态恢复信号,所述状态恢复信号用于指示恢复所述第二处理器的寄存器的信息;所述功耗管理模块向所述第二处理器发送处理器运行使能信号,所述处理器运行使能信号用于指示所述第二处理器以所述寄存器恢复的信息运行。
在一种可能的设计中,所述功耗管理模块向所述第二处理器发送状态恢复信号之前,还包括:所述功耗管理模块向所述第二处理器发送复位恢复信号,所述复位恢复信号用于指示撤销所述第二处理器的复位态;所述功耗管理模块向所述第二处理器发送状态恢复信号之后,所述功耗管理模块向所述第二处理器发送处理器运行使能信号之前,还包括:所述功耗管理模块向所述第二处理器发送撤销处理器信号隔离信号,所述撤销处理器信号隔离信号用于指示撤销对所述第二处理器的信号输出的隔离;所述功耗管理模块向所述第二处理器发送时钟恢复信号,所述时钟恢复信号用于指示时钟管理模块恢复所述第二处理器的时钟供应。
第二方面,本申请实施例提供另一种电源门控方法,该方法包括:第一处理器接收功耗管理模块发送的电源门控请求信号后,进行电源门控准备工作;所述第一处理器在电源门控准备工作完成后,向所述功耗管理模块发送准备完成GNT信号;所述GNT信号用于表征所述第一处理器已完成电源门控准备工作;所述第一处理器基于所述功耗管理模块发送的状态保存信号,对寄存器中的信息进行保存。
在一种可能的设计中,所述第一处理器基于所述功耗管理模块发送的状态保存信号,对寄存器中的信息进行保存,包括:所述第一处理器基于所述功耗管理模块发送的状态保存信号,将程序计数器的主寄存器中的第一值加载至对应的影子寄存器中,并将所述通用寄存器的主寄存器中的第二值加载至对应的影子寄存器中;所述第一值为下一条指令的地址。
在一种可能的设计中,向所述功耗管理模块发送准备完成GNT信号之后,对寄存器中的信息进行保存之前,还包括:所述第一处理器接收所述功耗管理模块发送的时钟门控请求信号,所述时钟门控请求信号用于指示时钟管理模块停止所述第一处理器的时钟供应;所述第一处理器接收所述功耗管理模块发送的处理器信号隔离信号,所述处理器信号隔离信号用于指示对所述第一处理器的信号输出进行隔离。
第三方面,本申请实施例提供一种系统级芯片,该系统级芯片包括:
所述芯片包括功耗管理模块和至少一个处理器;
功耗管理模块,被配置为向第一处理器发送电源门控请求信号; 所述第一处理器为所述至少一个处理器中处于上电状态的处理器;
第一处理器,被配置为接收到所述电源门控请求信号后,进行电源门控准备工作,并在所述电源门控准备工作完成后向所述功耗管理模块发送准备完成GNT信号;
所述功耗管理模块,还被配置为接收到所述准备完成GNT信号后,向所述第一处理器发送状态保存信号;
所述第一处理器,还被配置为接收到所述状态保存信号后,对寄存器中的信息进行保存;
所述功耗管理模块,还被配置为在所述第一处理器完成寄存器中的信息保存后,停止对所述第一处理器的供电。
在一种可能的设计中,所述功耗管理模块,还被配置为第二处理器进行供电;所述第二处理器为所述至少一个处理器中处于断电状态的处理器;
所述功耗管理模块,还被配置为向所述第二处理器发送状态恢复信号;
所述第二处理器,被配置为基于所述状态恢复信号,恢复寄存器中的信息;
所述功耗管理模块,还被配置为向所述第二处理器发送处理器运行使能信号;
所述第二处理器,还被配置为基于所述处理器运行使能信号,以所述寄存器恢复的信息运行。
第四方面,本申请实施例还提供一种计算机可读存储介质,其中存储有计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得上述第一方面和第二方面的任一种可能的设计中所述的方法实现。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种电源门控方法的流程示意图;
图2为两种类型的保持寄存器的结构示意图;
图3为扫描链的结构示意图;
图4为本申请实施例提供的另一种电源门控方法的流程示意图;
图5为本申请实施例提供的一种电源门控方法的整体流程示意图;
图6为本申请实施例提供的另一种电源门控方法的整体流程示意图;
图7为本申请实施例提供的系统级芯片的结构示意图。
实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请的实施例中,多个是指两个或两个以上。“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
下面以功耗管理模块与第一处理器交互的方式介绍本申请的技术方案,图1示例性地示出了本申请实施例提供的一种电源门控方法的流程示意图,该方法适用于处理器的掉电过程,如图1所示,该方法包括以下步骤:
步骤101、功耗管理模块向第一处理器发送电源门控请求信号。
本申请实施例中,功耗管理模块(power management unit,PMU)用于管理芯片的电源门控相关工作。通常芯片上设置有至少一个处理器,而每个处理器并非时刻都处于工作状态,当处理器处于不活跃状态时,对关闭该处理器的电源,可以降低芯片的整体漏电功耗。特别是对于嵌入式系统的处理器子系统由于应用场景的关系,一些处理器通常可以长时间处于休眠模式,非常适合使用电源门控技术。
当系统检测到芯片的第一处理器处于不活跃状态,可以关闭第一处理器的电源时,会向功耗管理模块发送对第一处理器进行电源门控的指令,功耗管理模块接收到该指令后,向第一处理器发送电源门控请求信号,该电源门控请求信号用于指示第一处理器进行电源门控准备工作。
步骤102、第一处理器进行电源门控准备工作。
第一处理器接收到功耗管理模块发送的电源门控请求信号后,进行电源门控准备工作,比如第一处理器等待电源门控请求之前已经开始执行的指令完成执行,完成结构状态寄存器回写,并启动指令缓存(ICache)和数据缓存(DCache)的刷新排空,将脏数据回写,Cache行状态置为无效等工作。
步骤103、第一处理器在电源门控准备工作完成后,向功耗管理模块发送准备完成GNT信号。
第一处理器在电源门控准备工作完成后,处于流水线停顿状态,其总线操作和其它外部操作也会停止,然后第一处理器向功耗管理模块发送准备完成GNT信号,该GNT信号用于表征第一处理器已完成电源门控准备工作,功耗管理模块可以对第一处理器进行电源门控操作。
步骤104、功耗管理模块接收第一处理器发送的准备完成GNT信号后,向第一处理器发送状态保存信号。
步骤105、第一处理器基于功耗管理模块发送的状态保存信号,对寄存器中的信息进行保存。
具体地,第一处理器基于功耗管理模块发送的状态保存信号,对程序计数器和通用寄存器的信息进行保存。
处理器的架构中包括,指令存储器、数据存储器、程序计数器(PC)、通用寄存器、指令缓存和数据缓存。其中,指令存储器和数据存储器不属于处理器电源域的一部分,在处理器掉电时指令存储器和数据存储器不会掉电。程序计数器、通用寄存器、指令缓存和数据缓存属于处理器电源域的一部分,当关闭处理器的电源域时,这些处理器也会掉电,其中的状态信息都会丢失,如果想要处理器在重新上电后能继续掉电之前的工作,则需要对处理器的状态和信息进行保存,并在上电后恢复。若将处理器的全部状态和信息进行保存,则可以得到一个最稳健和最易于验证的设计,但这样芯片会增加太多额外的面积。本申请实施例选择保存程序计数器和通用寄存器的信息,这样既可以实现处理器的安全断电,使处理器在重新上电后可以继续执行掉电之前的工作,又不会增加过多的芯片面积。
在一种可能的实施方式中,在对程序计数器和通用寄存器的信息进行保存时,程序计数器和通用寄存器使用保持寄存器,保持寄存器的结构如图2所示,保持寄存器包括主寄存器和影子寄存器,其中,主寄存器在处理器掉电期间也处于掉电状态,影子寄存器在处理器掉电期间保持上电状态。
图2示出了两种类型的保持寄存器,图2(a)的保持寄存器有两个控制信号SAVE信号和RESTORE信号,SAVE信号和RESTORE信号是对电平敏感的信号。当SAVE信号有效时,将主寄存器的值加载到影子寄存器,当RESTORE信号有效时,将影子寄存器的值恢复到主寄存器中。图2(b)的保持寄存器只有一个RETAIN控制信号,RETAIN信号对边沿敏感。在RETAIN信号的上升沿,将主寄存器的值加载到影子寄存器中,在RETAIN信号的下降沿,将影子寄存器的值恢复到主寄存器中。本申请对程序计数器和通用寄存器使用的保持寄存器的类型不做具体限定。
第一处理器在对程序计数器和通用寄存器的信息进行保存时,将程序计数器的主寄存器中的第一值加载至对应的影子寄存器中,第一值为下一条指令的地址,并将通用寄存器的主寄存器中的第二值加载至对应的影子寄存器中。
上述技术方案中,程序计数器和通用寄存器使用保持寄存器替换标准的寄存器,由于保持寄存器中的影子寄存器在处理器掉电期间可以保持上电状态,所以程序计数器和通用寄存器中的信息得以保存,进而在处理器上电后可以从上次因电源门控而中断的PC处继续运行。相比于处理器上电后从上电启动或复位时的固定的PC处运行,避免了类似中断服务程序的保留恢复流程,可以节省程序运行的时间,提高了程序运行的效率。并且基于保持寄存器来保存程序计数器值和通用寄存器值的方式,可以在芯片设计早期阶段进行验证。
在另一种可能的实施方式中,在对程序计数器和通用寄存器的信息进行保存时,程序计数器和所述通用寄存器使用标准寄存器,将程序计数器和通用寄存器中的值通过扫描链加载至内存中,该内存在处理器掉电期间保持上电状态。在处理器上电过程中,再将内存中保存的程序计数器和通用寄存器中的值通过扫描链移回到程序计数器和通用寄存器中。
扫描链为测试芯片时使用的扫描链,扫描链的结构如图3所示,为了快速保存和恢复程序计数器和通用寄存器中的值,需要使用多条扫描链,结合寄存器和内存的位宽,一般使用8或者8n条扫描链,并要求这些扫描链的长度一致,对于较短的扫描链,应该添加额外的寄存器来补齐,如图3中有一条较短的扫描链使用了额外的寄存器来补齐。
上述技术方案中,当程序计数器和通用寄存器中的值加载至内存后,便可以关闭处理器所处电源域的电源,由于使用的扫描链是复用测试时的扫描链,所以该方法几乎不会有芯片面积上的额外开销。对于长期掉电的处理器来说,通过扫描链保存和恢复程序计数器和通用寄存器的状态,可以使处理器在上电后不需要从复位状态开始工作,并且可以明显节省功耗。
步骤106、功耗管理模块使第一处理器基于状态保存信号完成寄存器中的信息保存后,停止对第一处理器的供电。
第一处理器基于状态保存信号完成寄存器中的信息保存后,功耗模块便可以关闭第一处理器所处电源域的电源,以减少漏电功耗。
上述技术方案中,功耗管理模块对芯片上处于不活跃状态的处理器进行电源门控处理,可以极大地减小整个芯片的漏电功耗。在关闭处理器电源前,保存程序计数器和通用寄存器中的信息,可以使处理器在重新上电时,继续执行掉电之前的工作,又不会增加过多的芯片面积。
图4示例性地示出了本申请实施例提供的另一种电源门控方法的流程示意图,该方法适用于处理器的上电过程,如图4所示,该方法包括以下步骤:
步骤401、功耗管理模块向处于断电状态的第二处理器进行供电。
在第二处理器需要进行工作时,系统会向功耗管理模块发送对处于断电状态的第二处理器进行上电的指令,功耗管理模块接收到该指令后,打开第二处理器所处电源域的电源,使处理器重新上电。
步骤402、功耗管理模块向第二处理器发送状态恢复信号。
其中,状态恢复信号用于指示恢复第二处理器的寄存器的信息。
步骤403、第二处理器恢复寄存器的信息。
具体地,第二处理器接收到状态恢复信号时,恢复程序计数器和通用寄存器的信息,以便第二处理器可以从断点处继续执行掉电之前的工作。
在一种可能的实施方式中,若第二处理器在掉电时是基于保持寄存器来保存寄存器的信息,则在处理器重新上电后,第二处理器在对程序计数器和通用寄存器的信息进行恢复时,将程序计数器的影子寄存器中的值加载至对应的主寄存器中,并将通用寄存器的影子寄存器中的值加载至对应的主寄存器中。
在另一种可能的实施方式中,若第二处理器在掉电时是基于扫描链来保存寄存器的信息,则在处理器重新上电后,将内存中保存的程序计数器和通用寄存器的值通过扫描链移回到程序计数器和通用寄存器中。
步骤404、功耗管理模块向第二处理器发送处理器运行使能信号。
其中,处理器运行使能信号用于指示第二处理器以寄存器恢复的信息运行。
步骤405、第二处理器恢复运行。
第二处理器收到处理器运行使能信号后,以步骤403中程序计数器和通用寄存器恢复的信息运行。即在第二处理器上电后可以从上次因电源门控而中断的PC处继续运行。
图5示例性地示出了本申请实施例提供的一种电源门控方法的整体流程示意图,该流程适用于处理器的掉电过程,如图5所示,包括以下步骤:
步骤501、功耗管理模块向第一处理器发送电源门控请求信号。
其中,电源门控请求信号用于指示第一处理器进行电源门控准备工作。
步骤502,第一处理器接收到功耗管理模块发送的电源门控请求信号后,将程序计数器中的值加一并保存。
步骤503、第一处理器向功耗管理模块发送针对电源门控请求信号的确收响应信号。
其中,确收响应信号用于告知功耗管理模块接收到该电源门控请求信号。
步骤504、第一处理器进行电源门控准备工作。
第一处理器接收到功耗管理模块发送的电源门控请求信号后,进行电源门控准备工作,准备工作的具体内容参见上述步骤102。
步骤505、第一处理器在电源门控准备工作完成后,向功耗管理模块发送准备完成GNT信号。
其中,GNT信号用于表征第一处理器已完成电源门控准备工作,功耗管理模块可以对第一处理器进行电源门控操作。
步骤506、功耗管理模块向第一处理器发送时钟门控请求信号。
其中,时钟门控请求信号用于指示时钟管理模块停止第一处理器的时钟供应。
步骤507、第一处理器停止时钟供应。
步骤508、功耗管理模块向第一处理器发送处理器信号隔离信号。
其中,处理器信号隔离信号用于指示对第一处理器的信号输出进行隔离。
步骤509、第一处理器将输出信号钳位到无效状态。
具体地,第一处理器接收到处理器信号隔离信号后,可以通过隔离单元将第一处理器的输出信号钳位到无效状态,避免第一处理器掉电后,由于输出变得不确定而带来的干扰。其中,无效状态可以用0或1表示,隔离单元可以使用与/或门的形式。
步骤510、功耗管理模向第一处理器发送状态保存信号。
步骤511、第一处理器基于功耗管理模块发送的状态保存信号,对寄存器中的信息进行保存。
具体地,第一处理器可以基于保持寄存器的方式或基于扫描链的方式,对程序计数器和通用寄存器的信息进行保存,具体方式参考上述步骤105。
步骤512、功耗管理模块向第一处理器发送复位信号。
其中,复位信号用于指示第一处理器进入复位态。
步骤513、第一处理器进入复位态。
步骤514、功耗管理模块关闭第一处理器的电源。
图6示例性地示出了本申请实施例提供的另一种电源门控方法的整体流程示意图,该流程适用于处理器的上电过程,如图6所示,包括以下步骤:
步骤601、功耗管理模块向处于断电状态的第二处理器进行供电。
步骤602、功耗管理模块向第二处理器发送复位恢复信号。
其中,复位恢复信号用于指示撤销第二处理器的复位态。
步骤603、第二处理器退出复位态。
步骤604、功耗管理模块向第二处理器发送撤销处理器信号隔离信号。
其中,撤销处理器信号隔离信号用于指示撤销对第二处理器的信号输出的隔离。
步骤605、第二处理器撤销对信号输出的隔离。
步骤606、功耗管理模块向第二处理器发送时钟恢复信号。
其中,时钟恢复信号用于指示时钟管理模块恢复第二处理器的时钟供应。
步骤607、第二处理器恢复时钟供应。
步骤608、功耗管理模块向第二处理器发送状态恢复信号。
其中,状态恢复信号用于指示恢复第二处理器的寄存器的信息。
步骤609、第二处理器恢复寄存器中的信息。
具体地,第二处理器可以基于保持寄存器的方式或基于扫描链的方式,恢复程序计数器和通用寄存器中的信息,具体方式参考上述步骤403。
步骤610、功耗管理模块向第二处理器发送处理器运行使能信号。
其中,处理器运行使能信号用于指示所述第二处理器以寄存器恢复的信息运行。
步骤611、第二处理器恢复运行。
基于相同的技术构思,图7例性地示出了本申请实施例提供的一种系统级芯片,该系统级芯片700包括功耗管理模块710和至少一个处理器720。
功耗管理模块710支持系统控制某电源域开关的功能,系统向功耗管理模块发起对某处理器所处电源域的开、关操作,功耗管理模块会通过低功耗接口控制信号向某处理器发起复位/解复位、时钟开/关、信号隔离开/关等操作,然后功耗管理模块经由电源控制系统状态机控制相应电源域的工作电源的开或关。
处理器720用于完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,负责系统级芯片片上系统的运算和控制等功能。
具体地,功耗管理模块710,被配置为向第一处理器发送电源门控请求信号,其中,第一处理器为至少一个处理器中处于上电状态的处理器。
第一处理器,被配置为接收到电源门控请求信号后,进行电源门控准备工作,并在电源门控准备工作完成后向功耗管理模块发送准备完成GNT信号。
功耗管理模块710,还被配置为接收到准备完成GNT信号后,向第一处理器发送状态保存信号。
第一处理器,还被配置为接收到状态保存信号后,对寄存器中的信息进行保存。
功耗管理模块710,还被配置为在第一处理器完成寄存器中的信息保存后,停止对第一处理器的供电。
在一种可能的设计中,功耗管理模块710,还被配置为第二处理器进行供电。其中,第二处理器为至少一个处理器中处于断电状态的处理器。
功耗管理模块710,还被配置为向第二处理器发送状态恢复信号。
第二处理器,被配置为基于状态恢复信号,恢复寄存器中的信息。
功耗管理模块710,还被配置为向第二处理器发送处理器运行使能信号。
第二处理器,还被配置为基于处理器运行使能信号,以寄存器恢复的信息运行。
此外,该系统级芯片还可以包括传感器730、模拟前端740、A/D转换器750、网络接口760以及D/A转换器770。
其中,传感器用于感受被测量的信息,并能感受到的信息按一定规律转换成为电信号。
模拟前端(AFE)是传感器电路的基本系统构建块,用于处理信号源给出的模拟信号,并对其进行数字化及分析处理。
A/D转换器用于将模拟信号转换成数字信号的电路。A/D转换的作用是将时间连续、幅值也连续的模拟量转换为时间离散、幅值也离散的数字信号,因此,A/D转换一般要经过取样、保持、量化及编码4个过程。
网络接口是指网络设备的各种接口,包括有线或无线接口。
D/A转换器:用于把数字量转变成模拟量的部件,D/A转换器由4个部分组成,即权电阻网络、运算放大器、基准电源和模拟开关。
基于相同的技术构思,本申请实施例还提供一种计算机可读存储介质,其中存储有计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得上述任一种可能的设计中的电源门控方法实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种电源门控方法,其特征在于,所述方法包括:
功耗管理模块向第一处理器发送电源门控请求信号;所述电源门控请求信号用于指示所述第一处理器进行电源门控准备工作;
所述功耗管理模块接收所述第一处理器发送的准备完成GNT信号后,向所述第一处理器发送状态保存信号;所述GNT信号用于表征所述第一处理器已完成电源门控准备工作;
所述功耗管理模块使所述第一处理器基于所述状态保存信号,对程序计数器和通用寄存器的信息进行保存后,停止对所述第一处理器的供电;
所述程序计数器和所述通用寄存器为保持寄存器;所述保持寄存器包括主寄存器和影子寄存器;所述影子寄存器在所述处理器掉电期间保持上电状态;
所述功耗管理模块使所述第一处理器基于所述状态保存信号,对程序计数器和通用寄存器的信息进行保存,包括:
所述功耗管理模块向所述第一处理器发送状态保存信号,使所述第一处理器将所述程序计数器的主寄存器中的第一值加载至对应的影子寄存器中,并将所述通用寄存器的主寄存器中的第二值加载至对应的影子寄存器中;所述第一值为下一条指令的地址。
2.根据权利要求1所述的方法,其特征在于,所述功耗管理模块接收所述第一处理器发送的准备完成GNT信号之前,还包括:
所述功耗管理模块接收所述第一处理器发送的确收响应信号;所述确收响应信号是所述第一处理器将所述程序计数器中的值加一保存后发送的。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述功耗管理模块接收所述第一处理器发送的准备完成GNT信号之后,所述功耗管理模块使所述第一处理器基于所述状态保存信号,对程序计数器和通用寄存器的信息进行保存之前,还包括:
所述功耗管理模块向所述第一处理器发送时钟门控请求信号,所述时钟门控请求信号用于指示时钟管理模块停止所述第一处理器的时钟供应;
所述功耗管理模块向所述第一处理器发送处理器信号隔离信号,所述处理器信号隔离信号用于指示对所述第一处理器的信号输出进行隔离。
4.根据权利要求3所述的方法,其特征在于,所述功耗管理模块使所述第一处理器基于所述状态保存信号,对程序计数器和通用寄存器的信息进行保存后,停止对所述第一处理器的供电之前,还包括:
所述功耗管理模块向所述第一处理器发送复位信号,所述复位信号用于指示所述第一处理器进入复位态。
5.根据权利要求1-2任一项所述的方法,其特征在于,所述方法还包括:
所述功耗管理模块向处于断电状态的第二处理器进行供电;
所述功耗管理模块向所述第二处理器发送状态恢复信号,所述状态恢复信号用于指示恢复所述第二处理器的寄存器的信息;
所述功耗管理模块向所述第二处理器发送处理器运行使能信号,所述处理器运行使能信号用于指示所述第二处理器以所述寄存器恢复的信息运行。
6.根据权利要求5所述的方法,其特征在于,所述功耗管理模块向所述第二处理器发送状态恢复信号之前,还包括:
所述功耗管理模块向所述第二处理器发送复位恢复信号,所述复位恢复信号用于指示撤销所述第二处理器的复位态;
所述功耗管理模块向所述第二处理器发送状态恢复信号之后,所述功耗管理模块向所述第二处理器发送处理器运行使能信号之前,还包括:
所述功耗管理模块向所述第二处理器发送撤销处理器信号隔离信号,所述撤销处理器信号隔离信号用于指示撤销对所述第二处理器的信号输出的隔离;
所述功耗管理模块向所述第二处理器发送时钟恢复信号,所述时钟恢复信号用于指示时钟管理模块恢复所述第二处理器的时钟供应。
7.一种电源门控方法,其特征在于,所述方法包括:
第一处理器接收功耗管理模块发送的电源门控请求信号后,进行电源门控准备工作;
所述第一处理器在电源门控准备工作完成后,向所述功耗管理模块发送准备完成GNT信号;所述GNT信号用于表征所述第一处理器已完成电源门控准备工作;
所述第一处理器基于所述功耗管理模块发送的状态保存信号,将程序计数器的主寄存器中的第一值加载至对应的影子寄存器中,并将通用寄存器的主寄存器中的第二值加载至对应的影子寄存器中;所述第一值为下一条指令的地址。
8.根据权利要求7所述的方法,其特征在于,向所述功耗管理模块发送准备完成GNT信号之后,对寄存器中的信息进行保存之前,还包括:
所述第一处理器接收所述功耗管理模块发送的时钟门控请求信号,所述时钟门控请求信号用于指示时钟管理模块停止所述第一处理器的时钟供应;
所述第一处理器接收所述功耗管理模块发送的处理器信号隔离信号,所述处理器信号隔离信号用于指示对所述第一处理器的信号输出进行隔离。
9.一种系统级芯片,其特征在于,所述芯片包括功耗管理模块和至少一个处理器;
功耗管理模块,被配置为向第一处理器发送电源门控请求信号;所述第一处理器为所述至少一个处理器中处于上电状态的处理器;
第一处理器,被配置为接收到所述电源门控请求信号后,进行电源门控准备工作,并在所述电源门控准备工作完成后向所述功耗管理模块发送准备完成GNT信号;
所述功耗管理模块,还被配置为接收到所述准备完成GNT信号后,向所述第一处理器发送状态保存信号;
所述第一处理器,还被配置为接收到所述状态保存信号后,将程序计数器的主寄存器中的第一值加载至对应的影子寄存器中,并将通用寄存器的主寄存器中的第二值加载至对应的影子寄存器中;所述第一值为下一条指令的地址;所述程序计数器和所述通用寄存器为保持寄存器;所述保持寄存器包括主寄存器和影子寄存器;所述影子寄存器在所述处理器掉电期间保持上电状态;
所述功耗管理模块,还被配置为在所述第一处理器完成寄存器中的信息保存后,停止对所述第一处理器的供电。
10.根据权利要求9所述的系统级芯片,其特征在于,所述功耗管理模块,还被配置为第二处理器进行供电;所述第二处理器为所述至少一个处理器中处于断电状态的处理器;
所述功耗管理模块,还被配置为向所述第二处理器发送状态恢复信号;
所述第二处理器,被配置为基于所述状态恢复信号,恢复寄存器中的信息;
所述功耗管理模块,还被配置为向所述第二处理器发送处理器运行使能信号;
所述第二处理器,还被配置为基于所述处理器运行使能信号,以所述寄存器恢复的信息运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310683467.XA CN116400795A (zh) | 2023-06-09 | 2023-06-09 | 电源门控方法及系统级芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310683467.XA CN116400795A (zh) | 2023-06-09 | 2023-06-09 | 电源门控方法及系统级芯片 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116400795A true CN116400795A (zh) | 2023-07-07 |
Family
ID=87012804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310683467.XA Pending CN116400795A (zh) | 2023-06-09 | 2023-06-09 | 电源门控方法及系统级芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116400795A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5327566A (en) * | 1991-07-12 | 1994-07-05 | Hewlett Packard Company | Stage saving and restoring hardware mechanism |
CN1344982A (zh) * | 2000-10-02 | 2002-04-17 | 国际商业机器公司 | 中止和恢复计算机系统操作的方法与设备 |
US20020162037A1 (en) * | 2001-04-26 | 2002-10-31 | Woods Paul Richard | Scan-based state save and restore method and system for inactive state power reduction |
CN1599893A (zh) * | 2001-09-19 | 2005-03-23 | 飞思卡尔半导体公司 | Cpu断电的方法及其装置 |
CN1979434A (zh) * | 2005-12-08 | 2007-06-13 | 恩益禧电子股份有限公司 | 半导体集成电路及其控制方法 |
CN101162258A (zh) * | 2006-10-13 | 2008-04-16 | 恩益禧电子股份有限公司 | 半导体集成电路及其控制方法 |
CN103443769A (zh) * | 2011-03-11 | 2013-12-11 | 英特尔公司 | 用于异构多核心系统的动态核心选择 |
US20150213846A1 (en) * | 2014-01-24 | 2015-07-30 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
CN105912481A (zh) * | 2015-02-25 | 2016-08-31 | 德州仪器公司 | 用于具有非易失性逻辑存储器的处理装置的电力损失中计算方法 |
CN106933324A (zh) * | 2015-12-29 | 2017-07-07 | 德克萨斯仪器股份有限公司 | 具有非易失性逻辑存储器的处理设备的通过功率损耗硬件方法的计算 |
-
2023
- 2023-06-09 CN CN202310683467.XA patent/CN116400795A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5327566A (en) * | 1991-07-12 | 1994-07-05 | Hewlett Packard Company | Stage saving and restoring hardware mechanism |
CN1344982A (zh) * | 2000-10-02 | 2002-04-17 | 国际商业机器公司 | 中止和恢复计算机系统操作的方法与设备 |
US20020162037A1 (en) * | 2001-04-26 | 2002-10-31 | Woods Paul Richard | Scan-based state save and restore method and system for inactive state power reduction |
CN1599893A (zh) * | 2001-09-19 | 2005-03-23 | 飞思卡尔半导体公司 | Cpu断电的方法及其装置 |
CN1979434A (zh) * | 2005-12-08 | 2007-06-13 | 恩益禧电子股份有限公司 | 半导体集成电路及其控制方法 |
CN101162258A (zh) * | 2006-10-13 | 2008-04-16 | 恩益禧电子股份有限公司 | 半导体集成电路及其控制方法 |
CN103443769A (zh) * | 2011-03-11 | 2013-12-11 | 英特尔公司 | 用于异构多核心系统的动态核心选择 |
US20150213846A1 (en) * | 2014-01-24 | 2015-07-30 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
CN105912481A (zh) * | 2015-02-25 | 2016-08-31 | 德州仪器公司 | 用于具有非易失性逻辑存储器的处理装置的电力损失中计算方法 |
CN106933324A (zh) * | 2015-12-29 | 2017-07-07 | 德克萨斯仪器股份有限公司 | 具有非易失性逻辑存储器的处理设备的通过功率损耗硬件方法的计算 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200159279A1 (en) | Low power autonomous peripheral management | |
US6981163B2 (en) | Method and apparatus for power mode transition in a multi-thread processor | |
US8898495B2 (en) | Method and apparatus for switching an operating system by determining whether a boot-up mode is a general mode or a switch mode | |
KR101429674B1 (ko) | 시스템 온 칩에서 전력 소모를 감소시키기 위한 장치 및방법 | |
EP3332306B1 (en) | System and method for cache aware low power mode control in a portable computing device | |
CN103959234A (zh) | 计算系统的快速平台休眠与恢复 | |
JP2002543728A (ja) | スレーブ装置のスリープモード起動 | |
US20130290757A1 (en) | Embedded controller with an internal timer | |
CN112462920B (zh) | 一种电源控制的方法、装置、服务器及存储介质 | |
CN102736928B (zh) | 快速唤醒计算机系统方法与计算机系统 | |
JP2002182803A (ja) | コンピュータ・システムの動作のサスペンドとレジュームを行う方法および装置 | |
JP4488676B2 (ja) | プロセッサのアイドル状態 | |
US6567931B1 (en) | Preventing false remote system wake events following AC power loss | |
TWI517033B (zh) | 用於降低功耗之轉換方法與其運算裝置 | |
CN116400795A (zh) | 电源门控方法及系统级芯片 | |
KR20090095500A (ko) | 다수의 클록 도메인 사이의 결정을 촉진하는 장치, 시스템,방법 및 머신 판독 가능한 매체 | |
KR950009649A (ko) | 스탠바이 모드에서 플로피 디스크 드라이버의 상태 변화를 검출할 수 있는 플로피 디스크 콘트롤러 | |
US11861781B2 (en) | Graphics processing units with power management and latency reduction | |
US7263564B2 (en) | Inquiring apparatus and method thereof | |
CN112631872A (zh) | 一种多核系统的异常处理方法及装置 | |
CN111176409B (zh) | 一种通用可在线编程的功耗控制电路、系统与方法 | |
EP2581850B1 (en) | Increased flexibility of security framework during low power modes management | |
Rush | Application of Suspend Mode to Automotive ECUs | |
US10387190B2 (en) | System and method of executing a plurality of threads using thread switching on execution time-out using instruction re-write | |
CN112416104A (zh) | 一种实现通用服务器电源last state的装置及恢复方法 |
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 |