CN111221403B - 一种可调配休眠模式控制的SoC***及方法 - Google Patents
一种可调配休眠模式控制的SoC***及方法 Download PDFInfo
- Publication number
- CN111221403B CN111221403B CN201911381315.4A CN201911381315A CN111221403B CN 111221403 B CN111221403 B CN 111221403B CN 201911381315 A CN201911381315 A CN 201911381315A CN 111221403 B CN111221403 B CN 111221403B
- Authority
- CN
- China
- Prior art keywords
- module
- shallow
- response signal
- sleep mode
- instruction
- 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.)
- Expired - Fee Related
Links
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/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
Abstract
本发明实施例提供的可调配休眠模式控制的SoC***及方法,包括执行模块、浅度休眠模块、任务派遣模块和取指模块;执行模块执行休眠指令时,发送休眠驱动信号;浅度休眠模块根据休眠驱动信号和任务清空响应信号,生成浅度休眠响应信号;取指模块在接收浅度休眠响应信号之后,停止取指动作;执行模块在接收浅度休眠响应信号之后,执行完当前指令后停止执行动作,以使SoC***进入浅度休眠模式。本发明实施例提供的SoC***及方法,通过在处理器内核中添加任务派遣模块与浅度休眠模块来确保处理器当前所有指令是否已经执行完毕,使处理器内核能安全进入浅度休眠模式,在保证处理器内核正确工作的同时,有效减少动态功耗与静态功耗。
Description
技术领域
本发明涉及集成电路技术领域,尤其涉及一种可调配休眠模式控制的SoC***及方法。
背景技术
微处理器芯片被广泛应用于各种各样的应用场景,例如:集成芯片是物联网***采集信息、网络通信核心部件,也是区块链中实现数据加密传输的重要器件等。无论是利用数据服务特点的领域或是保证数据安全传输的领域,微处理器芯片在特定单元中均发挥着主导性的作用。
作为信息化社会发展的核心设备之一,随着制造工艺的进步与结构的改进,处理器芯片的性能取得了长足的进步,但是芯片在功耗方面一直面临着巨大的挑战。由于多方面原因,单核处理器的性能在经历约十年的高速增长后逐渐放缓,其中功耗成为影响并制约处理器发展的主要因素之一。功耗过高会造成多方面的问题:高功耗会带来高成本、影响设备的便携性、影响处理器的可靠性等,同时,低功耗也是环保的需要。在一些特定的应用场景中,为了延长芯片的工作时间,保证***安全、稳定、高效运行,必须尽可能地降低功耗。
目前,芯片低功耗设计的方法多种多样,其中在架构层次采用休眠模式是降低功耗的一种十分有效的方法,即当处理器空闲时则进入休眠模式。但是该方法存在以下缺陷:一方面,可能会出现在指令未运行完毕的时候,强行进入休眠状态,从而造成处理器功能错误的情况发生;另一方面,采用上述降低功耗的方法,需要用大量的寄存器来保存进入休眠模式之前的信息从而使芯片的面积增大;最后,在上述方法中,虽然内核进入了休眠模式减少了动态功耗,但还存在着静态功耗,而在90nm以下的工艺,静态功耗在某些设计中已经占整个电路功耗的42%以上。
有鉴于此,亟需提供一种芯片低功耗设计的方法,在确定当前指令运行完毕的情况下,方才使得在处理器进入休眠模式,以防止处理器功能错误的情况发生。
发明内容
本发明实施例提供一种可调配休眠模式控制的SoC***及方法,用以解决目前在芯片低功耗设计上所存在的诸多不足。
第一方面,本发明实施例提供一种可调配休眠模式控制的SoC***,包括:执行模块、浅度休眠模块、任务派遣模块和取指模块,其中:
执行模块用于在其所执行的调取***操作指令为休眠指令时,向浅度休眠模块发送休眠驱动信号;浅度休眠模块用于根据休眠驱动信号和任务派遣模块发送的任务清空响应信号,生成浅度休眠响应信号,并将浅度休眠响应信号发送至取指模块和所述执行模块;取指模块用于在接收到浅度休眠响应信号之后,停止取指动作;执行模块还用于在接收浅度休眠响应信号之后,执行完当前指令后停止执行动作,以使SoC***进入浅度休眠模式。
进一步地,上述任务派遣模块还用于在执行模块执行完当前指令后停止执行动作之后,生成任务清空响应信号。
进一步地,SoC***还包括设置于高频时钟区域的可编程中断控制器;该可编程中断控制器用于生成第一触发信号,控制SoC***退出浅度休眠模式。
进一步地,上述SoC***还包括设置于低频时钟区域的电源管理单元;该电源管理单元用于接收浅度休眠响应信号;若SoC***的运行状态为空闲,则根据浅度休眠响应信号关断高频时钟区域的电源,以使SoC***进入深度休眠模式。
进一步地,上述SoC***还包括设置于低频时钟区域的实时计时器;该实时计时器用于生成第二触发信号,控制电源管理单元运行,使SoC***退出深度休眠模式。
进一步地,上述SoC***还包括设置于高频时钟区域的高频时钟产生模块,该高频时钟产生模块用于生成第一时钟信号;将第一时钟信号与浅度休眠响应信号作为第一与门的输入,将该第一与门的输出发送至取指模块,用于控制取指模块在接收浅度休眠响应信号之后,停止取指动作。
进一步地,上述高频时钟产生模块还用于生成第二时钟信号;将该第二时钟信号作为第二与门的第一输入;将浅度休眠模块输出的浅度休眠响应信号与任务派遣模块输出的任务清空响应信号作为或门的输入,将该或门的输出作为第二与门的第二输入;将所述第二与门的输出发送至执行模块,用于控制执行模块执行完当前指令后停止执行动作,以使SoC***进入浅度休眠模式。
进一步地,上述任务派遣模块包括FIFO存储器。
第二方面,本发明实施例提供一种可调配休眠模式控制的方法,包括:执行模块在其所执行的调取***操作指令为休眠指令时,向浅度休眠模块发送休眠驱动信号;该浅度休眠模块根据休眠驱动信号和任务派遣模块发送的任务清空响应信号,生成浅度休眠响应信号,并将浅度休眠响应信号发送至取指模块和执行模块;取指模块在接收到浅度休眠响应信号之后,停止取指动作;执行模块在接收浅度休眠响应信号之后,执行完当前指令后停止执行动作,以使SoC***进入浅度休眠模式。
进一步地,若SoC***的运行状态为空闲,设置于低频时钟区域的电源管理单元接收浅度休眠响应信号,并根据浅度休眠响应信号关断高频时钟区域的电源,以使SoC***进入深度休眠模式。
本发明实施例提供的可调配休眠模式控制的SoC***及方法,通过在处理器内核中添加任务派遣模块与浅度休眠模块来确保处理器当前所有指令是否已经执行完毕,使处理器内核能安全进入浅度休眠模式,在保证处理器内核正确工作的同时,有效减少动态功耗与静态功耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种可调配休眠模式控制的SoC***的构架示意图;
图2为本发明实施例提供的一种可调配休眠模式控制的SoC***的硬件结构示意图;
图3为本发明实施例提供的一种可调配休眠模式控制的SoC***中,任务派遣模块的工作原理示意图;
图4为本发明实施例提供的一种可调配休眠模式控制方法流程示意图;
图5本发明实施例提供的一种可调配休眠模式控制的SoC***进入浅度休眠模式的原理示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种可调配休眠模式控制的SoC***,包括但不限于:执行模块1、浅度休眠模块2、任务派遣模块3和取指模块4,其中:执行模块1用于在其所执行的调取***操作指令为休眠指令时,向浅度休眠模块2发送休眠驱动信号;浅度休眠模块2用于根据休眠驱动信号和任务派遣模块3发送的任务清空响应信号,生成浅度休眠响应信号,并将浅度休眠响应信号发送至取指模块4和所述执行模块1。
进一步地,取指模块4用于在接收浅度休眠响应信号之后,停止取指动作;执行模块1还用于在接收浅度休眠响应信号之后,执行完当前指令后停止执行动作,以使SoC***进入浅度休眠模式。
具体地,如图2所示,在本发明实施例所提供的可调配休眠模式控制的SoC***中,整体上可划分为高频时钟区域(高频时钟区域内包括处理器内核)以及低频时钟区域。其中,处理器内核部分可以包括内部数据存储器、内部指令存储器、译码模块、写回模块、IR寄存器,PC寄存器以及寄存器组等常规单元,同时还包括执行模块1、浅度休眠模块2、任务派遣模块3和取指模块4。而外设部分主要包括:位于高频时钟区域的高频时钟产生模块(HCLKGEN)、通用串口控制器(UART)、可编程中断控制器(PIC)、脉冲宽度调制(PWM)、模拟数字转换器(ADC)、通用I/O口(GPIO)、串行外设接口(SPI)、外部存储器(ROM)、JTAG接口、外部Flash,以及位于低频时钟区域的低频时钟产生模块(LCLKGEN)、电源管理单元(PMU)、实时计时器(RTC)、看门狗(Watchdog)等组成。
其中,取指模块1的作用主要用于从内部指令存储器中读取指令。
译码模块主要用于对取指模块1发送的指令进行转译,获取指令信息;并从寄存器组内调取相应的数据并发送至任务派遣模块3与执行模块1。
执行模块1主要用于接收从译码模块传送过来的数据进行运算操作,同时将生成的执行信息发送至浅度休眠模块2,以及将对应的运算结果发送至写回模块。
当译码模块每次译码出一条指令便算一次派遣任务,即在任务派遣模块3依次生成派遣任务指令,当执行模块1执行完对应的一条指令则表示交付任务成功。在交付完该条任务以后,该任务就算完成了。
浅度休眠模块2主要用于在执行模块1执行完一条休眠指令的时候,将休眠驱动信号传到该浅度休眠模块2。该浅度休眠模块2再将休眠响应信号反馈到取指模块4与执行模块1。同时接收来自任务派遣模块3的任务清空信号,最后从内核输出反馈信号(即休眠响应信号)。写回模块主要用于将数据结果写回到寄存器组。
具体地,在本发明实施例中提供的SoC***实现可调配休眠模式控制的主要步骤包括:任务派遣过程以及浅度休眠控制过程。
其中,任务派遣过程描述如下:当处理器的执行模块1执行调取***操作指令的过程中,执行到休眠指令时,执行模块1便将休眠驱动信号发送到浅度休眠模块2中。
浅度休眠控制过程描述如下:当浅度休眠模块2接收到该休眠驱动信号时,同时检测并判断任务派遣模块是否有发送任务清空响应信号;若已接收到任务清空响应信号,则可以确定没有未运行完毕的指令,此时,浅度休眠模块则生成休眠响应信号。
一方面,通过休眠响应信号控制取指模块4停止取指新的指令;另一方面,通过该任务清空响应信号控制执行模块1在执行完成任务派遣模块中所有任务指令后停止工作,最终实现整个SoC***进入浅度休眠模式。同时,浅度休眠模块2还将生成的休眠响应信号作为处理器内核的输出,表明SoC***已进入浅度休眠模式。
本发明实施例提供的可调配休眠模式控制的SoC***,通过在处理器内核中添加任务派遣模块与浅度休眠模块来确保处理器的任务派遣模块3中的当前所有指令是否已经执行完毕,使处理器内核能安全进入浅度休眠模式,在保证处理器内核正确工作的同时,有效减少动态功耗与静态功耗。
基于上述实施例的内容,作为一种可选实施例,上述任务派遣模块3还用于在执行模块执行完当前指令后停止执行动作之后,生成任务清空响应信号。
具体地,在本发明实施例中,任务清空相应信号主要是用于表征执行模块已经执行完任务派遣模块3中的当前指令,并停止了下一步执行动作。
本发明实施例提供的SoC***,通过增设任务派遣模块对当前指令的运行状态进行监控,并及时的将监控结果反馈至浅度休眠模块,以通过浅度休眠模块实现对于SoC***的可调配休眠模式控制。
基于上述实施例的内容,作为一种可选实施例,如图2所示,SoC***还包括设置于高频时钟区域的可编程中断控制器(简称:PIC);PIC用于生成第一触发信号,控制所述SoC***退出浅度休眠模式。即:在处理器内核停止工作以后,浅度休眠模块输出浅度休眠响应信号。如果需要唤醒处理器重新开始工作,可以通过配置外设于高频时钟区域的PIC生成触发信号(为区别此处将该触发信号命名为:第一触发信号)中断浅度休眠模式,使处理器内核再次恢复工作状态。
本发明实施例提供的可调配休眠模式控制的SoC***,通过设置PIC可以根据实际进程需要,实时对SoC***的浅度休眠模式进行中止,有效的提高了***的适应性和可控性。
基于上述实施例的内容,作为一种可选实施例,如图2所示,SoC***还包括设置于低频时钟区域的电源管理单元(简称:PMU);PMU用于接收浅度休眠响应信号;若SoC***的运行状态为空闲,则根据浅度休眠响应信号关断高频时钟区域的电源,以使SoC***进入深度休眠模式。
其中,关断高频时钟区域的电源的方法可以是,利用相关软件通过写一个值到PMU模块的特定寄存器,以触发PMU模块在执行休眠指令的序列时,实现切断关断高频时钟区域的电源之一操作,使得SoC***进入深度休眠模式。其中,对于SoC***的运行状态的判断可以是基于现有技术中任一手段进行了,在此不作赘述。
本发明实施例提供的SoC***,通过对PMU模块的控制实现高频时钟区域的开关,以达到控制SoC***进入深度休眠模式这一目的。
基于上述实施例的内容,作为一种可选实施例,SoC***还包括设置于低频时钟区域的实时计时器(RTC);RTC用于生成第二触发信号,控制PMU运行,使SoC***退出所述深度休眠模式。
具体地在本发明实施例中,基于可调配休眠模式的具体控制过程是通过如下步骤来实现:
步骤1、将SoC***分为高频时钟区域与低频时钟区域。其中高频时钟区域是提供SoC***正常工作所需的时钟频率,低频时钟区域是提供维持低功耗模式(即浅度休眠模式和深度休眠模式)的频率;
步骤2、SoC***接收到内核输出的浅度休眠驱动信号;
步骤3、若SoC***正在工作,但其中的处理器内核不工作时,即维持浅度休眠模式;
步骤4、如若SoC***空闲,可以配置低频时钟的PMU外设模块来关断整个高频时钟区域的所有模块,此时便进入了深度休眠模式。不仅可以降低动态功耗,同时也可以阻止静态功耗的产生;
步骤5、整个SoC***通过低频时钟区域的RTC来进行监控,若SoC***需要重新进入工作状态,可以通过配置PMU,利用RTC的中断(即第二触发信号)作为深度休眠模式的唤醒条件。
本发明实施例提供的SoC***,通过利用RTC的中断实现对于PMU的调控,实现了对于整个SoC***退出深度休眠模式的控制,增强了整个***的可控性以及适应性。
基于上述实施例的内容,作为一种可选实施例,SoC***还包括设置于高频时钟区域的高频时钟产生模块(简称:HCLKGEN),HCLKGEN主要用于生成第一时钟信号;并将第一时钟信号与浅度休眠响应信号作为第一与门的输入,将第一与门的输出发送至取指模块4,用于控制取指模块4在接收浅度休眠响应信号之后,停止取指动作。
在本发明实施例中,通过增设第一与门构建一个门控时钟,实现当休眠相应信号到来(置为0)时,时钟将无法进入到取指模块中,此时便停止了取指操作。
基于上述实施例的内容,作为一种可选实施例,HCLKGEN还用于生成第二时钟信号;并将第二时钟信号作为第二与门的第一输入;将浅度休眠模块输出的浅度休眠响应信号与任务派遣模块输出的任务清空响应信号作为或门的输入,将或门的输出作为所述第二与门的第二输入;将第二与门的输出发送至执行模块,用于控制执行模块执行完当前指令后停止执行动作,以使SoC***进入浅度休眠模式。
在本发明实施例中,为了防止处理器中还有未执行的指令,在需进入至浅度休眠状态时,不能立马将执行模块1停止下来,只有当任务派遣模块3中所有的任务完成即任务清空,才可以将执行模块1关闭。
具体地,如图2所示,在任务派遣模块3中所有的任务清空后,生成任务清空响应信号,同时与限度休眠模块产生的休眠响应信号通过一个或门后对第二式中信号进行门控制。即将或门的输出与第二时钟信号作为第二与门的输入,只有当休眠信号置为0,同时任务清空信号置为0时,同样通过第二门控时钟(第二与门)来关闭执行模块,使处理器便进入浅度休眠模式。浅度休眠模块在同时接收到休眠驱动信号与任务清空响应信号之后,便将处理器已经进入浅度休眠的信号输出。
进一步地,在本发明实施例中任务派遣模块3可以包括FIFO存储器。如图3所示,FIFO(First-In and First-Out)存储器是是先入先出存储器,FIFO存储器分为写入专用区和读取专用区。读操作与写操作可以异步进行,写入区上写入的数据按照写入的顺序从读取端的区中读出,类似于吸收写入端与读出端速度差的一种缓冲器。
由此,处理器内核具体执行过程可以是通过如下步骤来实现:
步骤1、取指模块4从内部指令存储器连续不断取指令,并将当前指令存放在IR寄存器中,将当前地址存放在PC寄存器中;
步骤2、译码模块对IR寄存器中的指令进行译码,从寄存器组中读取所需要的操作数,送到执行模块1;同时把每次译码一条指令视为派遣一个任务;
步骤3、任务派遣模块3由FIFO存储器与一些组合逻辑组成,每次接收一个任务信息便将该任务信息压入FIFO存储器中;
步骤4、执行模块1接收任务派遣模块3所指派的运算任务,同时将每次执行一条指令完毕,视为交付一次任务,并发送出一个任务交付信号至任务派遣模块3;
步骤5、任务派遣模块3每次接收到一个任务交付信号便将对应的任务信息从FIFO存储器中除去;
步骤6、写回模块将执行完毕的结果写回到寄存器组。
本实施例中采用的该任务派遣机制可以确保处理器功能的正确性,同时可以减少用来保存信息的寄存器,大大减小了面积。
本发明实施例提供一种可调配休眠模式控制的方法,如图4所示,包括但不限于以下步骤:
步骤S1、执行模块1在其所执行的调取***操作指令为休眠指令时,向浅度休眠模块2发送休眠驱动信号;
步骤S2、浅度休眠模块2根据休眠驱动信号和任务派遣模块3发送的任务清空响应信号,生成浅度休眠响应信号,并将浅度休眠响应信号发送至取指模块4和执行模块1;
步骤S3、取指模块4在接收浅度休眠响应信号之后,停止取指动作;
步骤S4、执行模块1在接收浅度休眠响应信号之后,执行完当前指令后停止执行动作,以使SoC***进入浅度休眠模式。
进一步地,若SoC***的运行状态为空闲,设置于低频时钟区域的电源管理单元接收所述浅度休眠响应信号,并根据浅度休眠响应信号关断高频时钟区域的电源,以使SoC***进入深度休眠模式。
具体地,如图5所示,在上述实施例的基础上,本发明实施例提供的基于任务调度的机制,处理器内核进入浅度休眠模式的具体过程可以通过如下步骤来实现:
步骤1、执行模块1在执行完一条休眠指令之后,将休眠驱动信号(0信号)发送至浅度休眠模块2中;
步骤2、浅度休眠模块2将生成的休眠响应信号分别发送至取指模块4与执行模块1;
步骤3、取指模块4的第一门控时钟与休眠响应信号门控,即当休眠响应信号为0信号时,时钟无法进入到取指模块4,使得取指模块4停止取指动作;
步骤4、取指模块4停止工作后,不再进行取指令操作即不再派遣任务;
步骤5、为了防止处理器还有未执行的指令,执行模块1继续执行即继续交付任务。
步骤6、执行模块1执行完毕任务派遣模块3中的所有指令,即将所有任务都交付;
步骤7、任务派遣模块3输出任务清空响应信号(0信号)至浅度休眠模块2。
步骤8、同时输出的任务清空响应信号与一个休眠响应信号经过一个或门输出,输出信号为0(在休眠响应信号为0信号以及任务清空响应信号为0信号时);
步骤9、执行模块1的第二时钟信号与经过或门输出的信号门控,输入至第二门控模块,第二门控模块的输出信号为0,此时,时钟无法进入到执行模块1;
步骤10、执行模块1停止工作,处理器内核的其它模块也相继停止工作,大大减小了处理器内核的动态功耗;
步骤11、处理器内核停止工作以后,浅度休眠模块输出浅度休眠响应信号。进一步地,如果需要唤醒处理器重新工作,可以通过配置外设PIC来触发中断进入工作状态。
进一步地,本发明实施例还提供一种基于可调配休眠模式控制SoC***进入深度休眠模式的方法,其具体过程可以通过如下步骤来实现:
步骤1、将SoC***设置为高频时钟区域与低频时钟区域,其中高频时钟区域提供正常工作所需的时钟频率,低频时钟区域提供维持低功耗模式的频率;
步骤2、SoC***接收到处理器内核输出的浅度休眠响应信号;
步骤3、若SoC***工作时(非空闲),处理器内核不工作时,依旧维持浅度休眠模式;
步骤4、如若SoC***空闲时,可以配置低频时钟的PMU外设模块来关断整个高频时钟区域的所有模块,此时便进入了深度休眠模式。不仅可以降低动态功耗,同时也可以阻止静态功耗的产生;
步骤5、整个SoC***由低频时钟区域的RTC来监控;如果想要重新进入工作状态,可以配置PMU使用RTC的中断作为唤醒条件。
本发明实施例提供的可调配休眠模式控制的SoC方法,通过在处理器内核中添加任务派遣模块与浅度休眠模块来确保处理器当前所有指令是否已经执行完毕,使处理器内核能安全进入浅度休眠模式,在保证处理器内核正确工作的同时,有效减少动态功耗与静态功耗。并进一步地,还可根据需求来调配芯片进入浅度休眠模式或是深度休眠模式,在保证处理器安全性的同时进一步地降低了功耗。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种可调配休眠模式控制的SoC***,其特征在于,包括:执行模块、浅度休眠模块、任务派遣模块和取指模块;
所述执行模块用于在其所执行的调取***操作指令为休眠指令时,向所述浅度休眠模块发送休眠驱动信号;
所述浅度休眠模块用于根据所述休眠驱动信号和所述任务派遣模块发送的任务清空响应信号,生成浅度休眠响应信号,并将所述浅度休眠响应信号发送至所述取指模块和所述执行模块;
所述取指模块用于在接收所述浅度休眠响应信号之后,停止取指动作;
所述执行模块还用于在接收所述浅度休眠响应信号之后,执行完当前指令后停止执行动作,以使所述SoC***进入浅度休眠模式。
2.根据权利要求1所述的可调配休眠模式控制的SoC***,其特征在于,所述任务派遣模块还用于在所述执行模块执行完当前指令后停止执行动作之后,生成所述任务清空响应信号。
3.根据权利要求1所述的可调配休眠模式控制的SoC***,其特征在于,所述SoC***还包括设置于高频时钟区域的可编程中断控制器;
所述可编程中断控制器用于生成第一触发信号,控制所述SoC***退出所述浅度休眠模式。
4.根据权利要求1所述的可调配休眠模式控制的SoC***,其特征在于,所述SoC***还包括设置于低频时钟区域的电源管理单元;
所述电源管理单元用于接收所述浅度休眠响应信号;
若所述SoC***的运行状态为空闲,则根据所述浅度休眠响应信号关断高频时钟区域的电源,以使所述SoC***进入深度休眠模式。
5.根据权利要求4所述的可调配休眠模式控制的SoC***,其特征在于,所述SoC***还包括设置于低频时钟区域的实时计时器;
所述实时计时器用于生成第二触发信号,控制所述电源管理单元运行,使所述SoC***退出所述深度休眠模式。
6.根据权利要求1所述的可调配休眠模式控制的SoC***,其特征在于,所述SoC***还包括设置于高频时钟区域的高频时钟产生模块,所述高频时钟产生模块用于生成第一时钟信号;
将所述第一时钟信号与所述浅度休眠响应信号作为第一与门的输入,将所述第一与门的输出发送至所述取指模块,用于控制所述取指模块在接收所述浅度休眠响应信号之后,停止取指动作。
7.根据权利要求6所述的可调配休眠模式控制的SoC***,其特征在于,所述高频时钟产生模块还用于生成第二时钟信号;
将所述第二时钟信号作为第二与门的第一输入;
将所述浅度休眠模块输出的浅度休眠响应信号与所述任务派遣模块输出的任务清空响应信号作为或门的输入,将所述或门的输出作为所述第二与门的第二输入;
将所述第二与门的输出发送至所述执行模块,用于控制所述执行模块执行完当前指令后停止执行动作,以使所述SoC***进入浅度休眠模式。
8.根据权利要求1所述的可调配休眠模式控制的SoC***,其特征在于,所述任务派遣模块包括FIFO存储器。
9.一种可调配休眠模式控制的方法,其特征在于,包括:
执行模块在其所执行的调取***操作指令为休眠指令时,向浅度休眠模块发送休眠驱动信号;
所述浅度休眠模块根据所述休眠驱动信号和任务派遣模块发送的任务清空响应信号,生成浅度休眠响应信号,并将所述浅度休眠响应信号发送至取指模块和执行模块;
所述取指模块在接收所述浅度休眠响应信号之后,停止取指动作;
所述执行模块在接收所述浅度休眠响应信号之后,执行完当前指令后停止执行动作,以使SoC***进入浅度休眠模式。
10.根据权利要求9所述的可调配休眠模式控制的方法,其特征在于,
若所述SoC***的运行状态为空闲,设置于低频时钟区域的电源管理单元接收所述浅度休眠响应信号,并根据所述浅度休眠响应信号关断高频时钟区域的电源,以使所述SoC***进入深度休眠模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911381315.4A CN111221403B (zh) | 2019-12-27 | 2019-12-27 | 一种可调配休眠模式控制的SoC***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911381315.4A CN111221403B (zh) | 2019-12-27 | 2019-12-27 | 一种可调配休眠模式控制的SoC***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111221403A CN111221403A (zh) | 2020-06-02 |
CN111221403B true CN111221403B (zh) | 2021-05-04 |
Family
ID=70806125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911381315.4A Expired - Fee Related CN111221403B (zh) | 2019-12-27 | 2019-12-27 | 一种可调配休眠模式控制的SoC***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221403B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346789A (zh) * | 2020-11-06 | 2021-02-09 | 中国电子信息产业集团有限公司 | 双***休眠及唤醒方法、装置、设备及存储介质 |
CN113590205B (zh) * | 2021-07-22 | 2024-01-19 | 北京经纬恒润科技股份有限公司 | Soc的休眠控制方法及装置 |
CN114356416B (zh) * | 2021-12-31 | 2023-04-07 | 海光信息技术股份有限公司 | 处理器及其控制方法、装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1877494A (zh) * | 2006-07-19 | 2006-12-13 | 北京天碁科技有限公司 | 片上***芯片及其功耗控制方法 |
CN201315054Y (zh) * | 2007-01-03 | 2009-09-23 | 苹果公司 | 触摸表面装置、多触摸子***和移动电话 |
CN106063304A (zh) * | 2014-03-11 | 2016-10-26 | 华为技术有限公司 | 用于基于消息的细粒度片上***功率门控的***和方法 |
CN106354243A (zh) * | 2016-09-12 | 2017-01-25 | 深圳市博巨兴实业发展有限公司 | 一种微控制器芯片的低功耗管理方法 |
CN106873954A (zh) * | 2015-12-14 | 2017-06-20 | 财团法人工业技术研究院 | 初始化周边装置的方法与使用此方法的电子装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252720B (zh) * | 2007-06-25 | 2011-08-03 | 浙江华立通信集团有限公司 | 3g和4g终端休眠模式控制方法和装置 |
US20150074436A1 (en) * | 2013-09-10 | 2015-03-12 | Nvidia Corporation | In-Kernel CPU Clock Boosting on Input Event |
-
2019
- 2019-12-27 CN CN201911381315.4A patent/CN111221403B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1877494A (zh) * | 2006-07-19 | 2006-12-13 | 北京天碁科技有限公司 | 片上***芯片及其功耗控制方法 |
CN201315054Y (zh) * | 2007-01-03 | 2009-09-23 | 苹果公司 | 触摸表面装置、多触摸子***和移动电话 |
CN106063304A (zh) * | 2014-03-11 | 2016-10-26 | 华为技术有限公司 | 用于基于消息的细粒度片上***功率门控的***和方法 |
CN106873954A (zh) * | 2015-12-14 | 2017-06-20 | 财团法人工业技术研究院 | 初始化周边装置的方法与使用此方法的电子装置 |
CN106354243A (zh) * | 2016-09-12 | 2017-01-25 | 深圳市博巨兴实业发展有限公司 | 一种微控制器芯片的低功耗管理方法 |
Non-Patent Citations (2)
Title |
---|
Dynamic power management for embedded systems [SOC design];B. Brock、K. Rajamani;《IEEE International [Systems-on-Chip] SOC Conference, 2003. Proceedings.》;20031103;全文 * |
应用于低功耗嵌入式处理器的功耗动态管理策略设计;孙大鹰,徐申,徐玉珉等;《东南大学学报(自然科学版)》;20130830;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111221403A (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10664039B2 (en) | Power efficient processor architecture | |
CN111221403B (zh) | 一种可调配休眠模式控制的SoC***及方法 | |
US9600283B2 (en) | Single instruction for specifying a subset of registers to save prior to entering low-power mode, and for specifying a pointer to a function executed after exiting low-power mode | |
US4851987A (en) | System for reducing processor power consumption by stopping processor clock supply if a desired event does not occur | |
CN105183128B (zh) | 强制处理器进入低功率状态 | |
US7689838B2 (en) | Method and apparatus for providing for detecting processor state transitions | |
TWI494850B (zh) | 通透地提供給作業系統之非對稱多核心處理器系統 | |
US8762759B2 (en) | Responding to interrupts while in a reduced power state | |
US8327173B2 (en) | Integrated circuit device core power down independent of peripheral device operation | |
US5737615A (en) | Microprocessor power control in a multiprocessor computer system | |
US8209559B2 (en) | Low power polling techniques | |
EP3140729B1 (en) | Thread waiting in a multithreaded processor architecture | |
US6343363B1 (en) | Method of invoking a low power mode in a computer system using a halt instruction | |
US20090204837A1 (en) | Power control system and method | |
US20040243868A1 (en) | Method and apparatus for power mode transition in a multi-thread processor | |
US10089263B2 (en) | Synchronization of interrupt processing to reduce power consumption | |
EP2761394B1 (en) | Constrained boot techniques in multi-core platforms | |
Swaminathan et al. | Pruning-based, energy-optimal, deterministic I/O device scheduling for hard real-time systems | |
CN112987903A (zh) | SOC芯片内Flash存储器的低功耗控制装置及方法 | |
US20230185623A1 (en) | Method of task transition between heterogenous processors | |
GB2506169A (en) | Limiting task context restore if a flag indicates task processing is disabled | |
US11226828B2 (en) | Wakeup interrupt controller | |
Drótos et al. | Interrupt driven parallel processing |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210504 Termination date: 20211227 |
|
CF01 | Termination of patent right due to non-payment of annual fee |