CN111176409B - 一种通用可在线编程的功耗控制电路、系统与方法 - Google Patents

一种通用可在线编程的功耗控制电路、系统与方法 Download PDF

Info

Publication number
CN111176409B
CN111176409B CN201911290481.3A CN201911290481A CN111176409B CN 111176409 B CN111176409 B CN 111176409B CN 201911290481 A CN201911290481 A CN 201911290481A CN 111176409 B CN111176409 B CN 111176409B
Authority
CN
China
Prior art keywords
power consumption
instruction
signal
unit
control unit
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.)
Active
Application number
CN201911290481.3A
Other languages
English (en)
Other versions
CN111176409A (zh
Inventor
请求不公布姓名
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.)
Zhuhai Eeasy Electronic Tech Co ltd
Original Assignee
Zhuhai Eeasy Electronic Tech Co ltd
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 Zhuhai Eeasy Electronic Tech Co ltd filed Critical Zhuhai Eeasy Electronic Tech Co ltd
Priority to CN201911290481.3A priority Critical patent/CN111176409B/zh
Publication of CN111176409A publication Critical patent/CN111176409A/zh
Application granted granted Critical
Publication of CN111176409B publication Critical patent/CN111176409B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/24Resetting means
    • 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/3243Power saving in microcontroller unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Abstract

本发明涉及一种通用可在线编程的功耗控制电路、系统与方法,以允许软件配置电路中的指令队列,硬件自动解析执行指令队列中的指令。在执行指令的过程中,功耗控制电路会通过通用输入控制信号来判断当前芯片的状态,并通过通用输出控制信号来控制系统的功耗状态切换。本发明可以更加灵活方便的控制多个硬件模块在更细粒度的功耗状态之间进行切换。

Description

一种通用可在线编程的功耗控制电路、系统与方法
技术领域
本发明涉及一种通用可在线编程的功耗控制电路、系统与方法,属于电子电路,尤其是微电子芯片设计相关技术领域。
背景技术
在芯片设计领域,人们总是希望在满足功能的前提下,尽可能的降低芯片的功耗。为实现这一目标,往往采用多种低功耗策略,主要方式有:对间断性工作的硬件模块实施时钟门控,休眠--唤醒模式,动态电压频率调节等等。
目前实现方法往往需要用到CPU或MCU去执行软件,运行时占用宝贵的CPU、MCU资源,且耗时较长,效率低。而有些硬件实现低功耗控制的方案仅仅是针对单一硬件模块,通用性不够好。
大规模的芯片往往需要独立支持多个硬件模块的低功耗控制。针对单一硬件模块低功耗控制电路往往意味着,需要开发多套低功耗控制电路。如果低功耗控制电路的通用性足够好,则可以避免这种研发负担。
另外多个硬件模块会有多种低功耗方式组合。按照现有单个硬件模块低功耗控制的方式,则两个硬件模块之间低功耗模式切换的衔接必须由软件来完成,效率较低。
如果将支持的多硬件模块低功耗模式组合全部固化成硬件逻辑,将会导致逻辑变得较为复杂,涉及面积较大,同时存在通用性的问题。而现有技术还存在的另外一个问题在于当唤醒处理元件时,必须要所有硬件模块都进行上电,回到正常工作模式。不能从一种低功耗状态切换切换到另一个种功耗相对较高的低功耗功耗模式。
发明内容
本发明提供一种通用可在线编程的功耗控制电路、系统与方法,可以更加灵活方便的控制多个硬件模块在更细粒度的功耗状态之间进行切换。本发明还允许通过软件配置电路中的指令队列,硬件自动解析执行指令队列中的指令。在执行指令的过程中,功耗控制电路会通过通用输入控制信号来判断当前芯片的状态,并通过通用输出控制信号来控制系统的功耗状态切换。本发明至少解决如下技术问题:(1)现有技术不能通用的支持多种硬件模块的功耗控制;(2)现有硬件功耗实现方式往往只针对某个硬件模块进行简单的休眠唤醒,或是多个硬件模块同时休眠唤醒。
本发明的技术方案涉及一种功耗控制电路,其包括:信号元件,用于采集和传输通用输入信号和通用输出信号;
存储器,用于储存指令队列;和
分别与所述信号元件和所述存储器连接的指令执行单元,
其中,当所述的指令队列使能时,该指令执行单元依次执行有效的指令,在执行指令的过程中,指令执行单元通过所述的通用输入信号来监测硬件模块的功耗状态的切换流程,并通过将所述的通用输出信号置高值或低值来控制所述的硬件模块的功耗状态的切换。
在一些方面,所述的硬件模块包括CPU、GPU、总线桥、缓存器或者其他可以做功耗模式切换的硬件单元中的任一个或多个。
在一些方面,所述的指令执行单元包括:取指单元,用于逐条从指令队列中取出指令;指令译码单元,用于根据指令编码解析出指令的类型,然后解析出指令对应的操作;通用输出控制单元;等待指令控制单元;延迟指令控制单元;和功耗管理接口单元;其中,相应的操作通过控制信号的方式分别传送到通用输出控制单元、等待指令控制单元、延迟指令控制单元和功耗管理接口单元。
在一些方面,所述的通用输出控制单元包括第一二选一单元、第二二选一单元以及D触发器,其中:所述的第一二选一单元的输出端连接至所述的第二二选一单元的零位输入端;所述的第二二选一单元的输出端连接至所述的D触发器的D位输入端;所述的D触发器的输出端连接至所述的第一二选一单元的零位输入端,并且用于输出所述的通用输出信号;所述的第一二选一单元的非零位输入端接收指令译码单元发送的SET指令;并且所述的第二二选一单元的非零位输入端接收指令译码单元发送的CLR指令。
在一些方面,所述的指令队列包括:SET指令、CLR指令、WAITH指令和DLY指令的识别字段;与该识别字段关联的通用输入信号或通用输出信号的储存位;与该识别字段关联的保留域或者延迟参数位。
本发明的技术方案还涉及一种功耗控制系统,包括:上述的功耗控制电路;与该功耗控制电路链接的功耗开关;与该功耗控制电路链接的备选的功耗管理接口单元;其中,所述的功耗管理接口单元对接外部的电源管理单元,以对所述的硬件模块进行供电;并且其中,所述的功耗开关在所述的功耗控制电路的触发下,对所述的硬件模块中的至少一个元件执行掉电操作。
在一些方面,所述的功耗控制电路、功耗开关、功耗管理接口单元和多个所述的硬件模块集成在一个片上系统中;
所述的功耗控制电路和功耗管理接口单元工作在常开电源域;
功耗管理接口单元与所述的外部的电源管理单元的接口包括I2C接口或者TWI接口;
功耗管理接口单元配置成将通用输出信号转换成对应的读写寄存器命令,用于读写所述的外部的电源管理单元的寄存器,从而达到开关电源以及调压的效果。
在一些方面,所述的功耗控制电路接收所述的片上系统的状态信号并转换成通用的输入控制信号,其中,该状态信号包括:片上系统的硬件模块处于IDLE状态的信号、功耗切换流程中的中间指示信号。
本发明的技术方案还涉及一种功耗控制方法,包括以下步骤:
步骤S100:等待指令控制单元确定CPU二级缓存休眠信号为一阈值,则执行下一步骤,否则继续等待;
步骤S101:通用输出控制单元将CPU隔离使能信号变为一阈值;
步骤S102:通用输出控制单元发送PMU访问请求到功耗管理接口单元;
步骤S103:等待指令控制单元等待功耗管理接口单元的PMU访问请求结束信号,如果结束信号为一阈值,则执行下一步骤,否则继续等待;
步骤S104:延迟指令控制单元等待供电电压稳定;
步骤S105:通用输出控制单元将三级缓存刷出请求信号置一阈值;
步骤S106:等待指令控制单元等待三级缓存刷出结束信号;
步骤S107:通用输出控制单元将三级缓存和总线桥的隔离使能信号置一阈值,隔离使能信号连接到隔离单元,当隔离使能信号为一阈值时,隔离单元将三级缓存和总线桥的输出信号钳位到一固定值;
步骤S108:通用输出控制单元将三级缓存和总线桥的功耗开关使能信号置一阈值,功耗开关使能信号连接到功耗开关上,使得功耗开关关闭后,三级缓存和总线桥掉电。
在一些方面,所述的方法还包括以下步骤:
步骤S200:等待指令控制单元等待唤醒事件,若中断事件到来则执行下一步骤,否则继续等待;
步骤S201:通用输出控制单元将CPU复位;
步骤S202:通用输出控制单元将三级缓存和总线桥复位;
步骤S203:通用输出控制单元将三级缓存和总线桥的功耗开关使能信号置一基准阈值,功耗开关使能信号连接功耗开关,功耗使能开关使能信号置一基准阈值使得三级缓存和总线桥恢复供电;
步骤S204:通用输出控制单元将三级缓存和总线桥的隔离使能信号置一基准阈值;
步骤S205:通用输出控制单元撤销三级缓存和总线桥的复位;
步骤S206:通用输出控制单元发送PMU访问请求到功耗管理接口单元;
步骤S207:等待指令控制单元等待功耗管理接口单元的PMU访问请求结束信号;
步骤S208:延迟指令控制单元等待供电电压稳定;
步骤S209:通用输出控制单元将CPU的隔离使能信号置一基准阈值;
步骤S210:通用输出控制单元撤销CPU的复位。
本发明的技术方案还涉及一种计算机可读存储介质,其上储存有程序指令,所述程序指令被指令执行单元执行时实施上述的方法。
本发明的有益效果如下。
(1)通过采用本发明提供的功耗控制电路,与软件控制的功耗切换流程相比,可以加快功耗模式的切换,实时性好,效率高。
(2)本发明提供的功耗控制电路是通用型电路,对于不存在低功耗模式相关性的多个硬件模块,可以采用多套本控制电路,只需要配置不同的指令队列即可使用,不需要另外开发。节省研发成本,缩短产品上市时间。
(3)对于存在低功耗模式相关性的多个硬件模块,可以使用一个功耗控制电路,并通过配置指令队列来控制其相关性。节省控制电路。并且因为统一管理,简化流程,效率高。
(4)本发明提供的功耗控制电路,其指令队列支持在线可编程。可以支持在不同使用场景下,多个硬件模块同时或依次进入不同的低功耗模式。功耗控制粒度更加细化,在保持系统高响应速度的同时,可以尽可能节省功耗。
附图说明
图1所示为根据本发明的实施例中的系统框图。
图2所示为根据本发明的实施例中的指令格式的示意图。
图3所示为根据本发明的实施例中的功耗控制电路中的指令执行单元的示意图。
图4所示为根据本发明的实施例中的功耗控制电路中的通用输出控制单元的示意图。
图5所示为根据本发明的实施例中的功耗控制方法的流程图。
图6所示为根据本发明的实施例中指令队列的示意图。
图7所示为根据本发明的实施例中的功耗控制方法的另一流程图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和行业术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
在根据本发明的一些实施例中,提供了一种通用可编程的功耗控制电路,包括通用输入输出控制信号,指令队列和指令执行单元。当指令队列使能时,指令执行单元依次执行有效的指令,在执行指令的过程中,指令执行单元通过通用输入信号来监测功耗状态的切换流程,并通过将通用输出信号置0或置1来控制功耗状态的切换。
在根据本发明的一些实施例中,还提供一种通用可编程的功耗控制方法,具体而言是切换功耗模式的方法,包括如下步骤:当指令队列使能时,指令执行单元执行指令队列中的指令,通过监测通用输入信号的状态和控制通用输出信号来切换到指定的功耗模式。
如图1所示,是本发明一种实施例的片上系统,片上系统包括CPU,总线桥和三级缓存(L3 cache),功耗控制电路(PCU),功耗管理接口单元。电源管理单元(PMU)向CPU,总线桥和L3 cache提供电源。其中CPU由VDD_CPU独立供电;总线桥、三级缓存和PCU都由VDD_SYS供电,总线桥和三级缓存共用一个功耗开关(power switch)。当功耗开关使能时,总线桥和三级缓存同时掉电。
该功耗控制电路包括通用输入输出控制信号,指令队列和指令执行单元。通用输入控制信号对接SOC的各种状态信号,例如硬件模块处于IDLE状态的信号,或是低功耗切换流程中的中间指示信号,如频率切换成功信号。通用输出控制信号用于控制低功耗切换流程。
指令队列可配置于指令寄存器或是SRAM。在切换功耗状态的过程中,指令队列里的指令会依次执行。指令执行单元负责执行指令队列里的指令。执行的结果会导致通用输出控制信号的0,1变化,或是延迟,或是控制PMU上下电,调整电压。本领域的技术人员知晓,当芯片外部由DC-DC供电时,可以不需要功耗管理接口单元,只需要用一个通用输出信号即可实现开关电。
在图1的实施例中,PCU和功耗管理接口单元工作在VDD_SYS电源域;在另外一种实施实例中,PCU和功耗管理接口单元可以工作在常开电源域,总线桥和三级缓存的掉电可以通过关闭VDD_SYS这一路电源来实现。
功耗管理接口单元与外部功耗管理单元的接口可以是I2C接口也可以是TWI接口,或是其它接口。在本实例中,我们以I2C接口为例,功耗管理接口单元可以是一个I2C控制器。功耗管理接口单元将通用输出信号转换成对应的I2C读写寄存器命令,用于读写PMU的寄存器,从而达到开关电以及调压的效果。
在另外一种实施例中,图1的CPU可以替换成图像处理单元(GPU);GPU工作在VDD_GPU电源域。PCU可以通过控制PMU开关GPU的供电,也可以控制GPU进行低功耗模式的切换。
在另外一种实施例中,图1的CPU可以替换成通用串行总线控制器(USB);USB工作在VDD_USB电源域。PCU可以通过控制PMU开关USB的供电,也可以控制GPU进行低功耗模式的切换。
本领域的技术人员知晓,图1中的CPU还可以替换成其它的可以进行功耗模式切换的硬件元件。
如图2所示,是本发明中指令格式一种实施例的示意图。其中SET指令用于将指令中指定的通用输出控制信号置1。CLR指令用于将指令中指定的通用输出控制信号置0。SET指令和CLR指令的通用输出信号选择域用于指定要操作的通用输出控制信号。指令队列包括SET指令、CLR指令、WAITH指令和DLY指令的识别字段,比如4’b0000表示选择第0号通用输出信号(GPO_0);4’b0001表示选择第1号通用输出控制信号(GPO_1),以此类推。WAITH指令用于等待指定的通用输入信号值为1。WAITL指令用于等待指定的通用输入信号值为0。WAITH指令和WAITL指令的通用输入信号选择域用于指定要等待的通用输入信号。4’b0000表示选择第0号通用输入信号(GPI_0);4’b0001表示选择第1号通用输入信号(GPI_1),以此类推。DLY指令用于延迟一段时间再执行下一条指令。继续参照图2,指令队列包括与该识别字段关联的通用输入信号或通用输出信号的储存位(例如图中的信号选择位4bit);与该识别字段关联的保留域或者延迟参数位。
如图3所示,是本发明功耗控制电路更详细的实施例,具体是指令执行单元的原理框图。该指令执行单元包括取指单元10,指令译码单元11,通用输出控制单元12,等待指令控制单元13,延迟指令控制单元14,功耗管理接口单元15。
取指单元逐条从指令队列中取出指令,指令传输给指令译码单元。指令译码单元的操作分为两个阶段,第一阶段根据指令编码解析出指令的类型,第二阶段则解析出指令对应的操作。对应的操作通过控制信号的方式分别送到通用输出控制单元,等待指令控制单元,延迟指令控制单元和功耗管理接口单元。
如图4所示,是本发明功耗控制电路更详细的实施例。具体是通用输出控制单元,该单元主要用于处理SET、CLR指令。包括D触发器100和两个二选一单元101,102。D触发器输出的是通用输出信号GPO_*(*代表通用输出信号的标号)。当指令译码单元送过来的CLR指令请求(图4中的clr_req)为有效时,D触发器输出0,当指令译码单元送过来的SET指令请求(图4中的set_req)有效时,D触发器输出1,这两个请求信号都无效,则输出保持原值。
等待指令控制单元主要用于处理WAITH、WAITL指令。当收到指令解析单元送过来的WAITH指令请求(图3中的wait_req)时,该单元会不停检测指令指定的通用输入信号,当指定信号为高时,则会给指令解析单元返回WAITH指令请求结束信号(图3中的wait_done)。当收到指令解析单元送过来的WAITL指令请求时,该单元会不停检测指令指定的通用输入信号,当指定信号为低时,则会给指令解析单元返回WAITL指令请求结束信号。
延迟指令控制单元用于处理DLY指令。当收到指令解析单元送过来的DLY指令请求(图3中的dly_req)时,延迟指令控制单元会启动计数器,当计数到指令要求的时间时,返回指令处理结束信号(图3中的dly_done)给指令解析单元。
如图5所示,是本发明的功耗控制电路控制方法的一种实施例。具体而言是所述功耗控制电路控制CPU先掉电,然后再控制总线桥和L3 cache掉电的方法,包括如下步骤:
步骤S100:等待指令控制单元等待CPU二级缓存(L2 cache)休眠信号为1;如果二级缓存休眠信号为1,则执行步骤S101;否则继续等待。
步骤S101:通用输出控制单元将CPU隔离使能信号变为1,之后执行步骤S102。隔离使能信号用于使能隔离单元;隔离单元用于隔离掉电域与有电域之间的信号;当隔离使能信号变为1时,隔离单元会将送往有电域的信号钳位到一个固定的值,从而避免掉电域的差态值传递到有电域。这个过程是现有技术,在此不再赘述。
步骤S102:通用输出控制单元发送PMU访问请求到功耗管理接口单元;之后执行步骤S103。功耗管理接口单元将PMU访问请求转换成对应的I2C读写寄存器命令,用于读写PMU的寄存器。这个过程是现有技术,在此不再赘述。
步骤S103:等待指令控制单元等待功耗管理接口单元的PMU访问请求结束信号;如果结束信号为1,则执行步骤S104;否则继续等待。
步骤S104:延迟指令控制单元等待供电电压稳定;即等待电源管理单元掉电结束;之后执行步骤S105。
步骤S105:通用输出控制单元将三级缓存刷出请求信号置1;之后执行步骤S106;三级缓存收到刷出请求后会自动将数据刷出到下级存储中。
步骤S106:等待指令控制单元等待三级缓存刷出结束信号。之后执行步骤S107。
步骤S107:通用输出控制单元将三级缓存和总线桥的隔离使能信号置1;隔离使能信号连接到隔离单元;当隔离使能信号为1时,隔离单元将三级缓存和总线桥的输出信号将钳位到一个固定的值;之后执行步骤S108
步骤S108:通用输出控制单元将三级缓存和总线桥的功耗开关使能信号置1;功耗开关使能信号连接到功耗开关(power switch)上,功耗开关关闭后,三级缓存和总线桥将掉电。
为实现图5的功耗控制方法,可以按如下方式对接功耗控制电路的通用输入输出控制信号。
(1)通用输入信号GPI_0接二级缓存(L2 cache)休眠信号。GPI_*中的*表示通用输入信号的编号。如GPI_0表示编号为0的通用输入信号。
(2)通用输出信号GPO_0定义为隔离使能信号,直接接CPU信号的隔离单元。GPO_*中的*表示通用输出信号的编号。如GPO_0表示编号为0的通用输出信号。
(3)通用输出信号GPO_1定义为PMU访问控制请求,
(4)通用输入信号GPI_1接PMU访问结束信号
(5)通用输出信号GPO_2定义为L3 cache刷出请求,直接连接L3 cache
(6)通用输入信号GPI_2连接L3 cache刷出结束信号
(7)通用输出信号GPO_3定义为隔离使能信号,直接接总线桥和L3 cache的隔离单元。
(8)通用输出信号GPO_4定义为功耗开关使能信号
为实现图5的控制方法,还要将需要执行的指令写入指令队列。需要执行的指令如图6所示。索引0对应图5的步骤S100,索引1对应图5的步骤S101,以此类推。
图6中,指令队列里的指令用伪代码表示。索引0对应的指令表示等待GPI_0信号为高。WAITH表示该指令为WAITH指令,GPI_0表示WAITH指令格式中的通用输入信号选择等于4’b0000。索引1对应的指令表示将通用输出信号0置为1。索引4对应的指令表示等待1ms。
如图7所示,是本发明的功耗控制电路控制方法的一种实施例。具体而言是所述功耗控制电路控制总线桥和L3 cache先上电,然后再控制CPU再上电。包括如下步骤:
步骤S200:等待指令控制单元等待唤醒事件;在本实例中唤醒事件是中断信号与掉电状态作与逻辑后的输出信号;若中断事件到来则执行步骤S201,否则继续等待。
本实施例中,唤醒事件发生后,会恢复到全芯片硬件模块都上电的状态。但是,唤醒事件发生后,本发明的功耗控制方法可以将芯片切换到指令队列指定的任一功耗模式,不一定是全芯片上电的模式。
步骤S201:通用输出控制单元将CPU复位;然后执行步骤S202。
步骤S202:通用输出控制单元将三级缓存和总线桥复位;然后执行步骤S203。
步骤S203:通用输出控制单元将三级缓存和总线桥的功耗开关使能信号置0;功耗开关使能信号连接功耗开关;功耗使能开关使能信号置0会使得三级缓存和总线桥恢复供电。
步骤S204:通用输出控制单元将三级缓存和总线桥的隔离使能信号置0;然后执行步骤S205;隔离使能信号置0将使得隔离单元导通,即三级缓存和总线桥的输出信号能够穿过隔离单元。
步骤S205:通用输出控制单元撤销三级缓存和总线桥的复位;之后执行步骤S206。
步骤S206:通用输出控制单元发送PMU访问请求到功耗管理接口单元;之后执行步骤S207;
步骤S207:等待指令控制单元等待功耗管理接口单元的PMU访问请求结束信号;之后执行步骤S208。
步骤S208:延迟指令控制单元等待供电电压稳定;之后执行步骤S209。
步骤S209:通用输出控制单元将CPU的隔离使能信号置0;之后执行步骤S210。
步骤S210:通用输出控制单元撤销CPU的复位。
为实现图7的控制方法,可以按如下方式对接功耗控制硬件模块的通用输入输出控制信号。
(1)通用输出信号GPI_13接唤醒事件
(2)通用输出信号GPO_8接CPU复位信号。
(3)通用输出信号GPO_9接L3cache和总线桥复位信号。
(4)通用输出信号GPO_10接L3 cache和总线桥的功耗开关(power switch)使能信号。
(5)通用输出信号GPO_11接L3 cache和总线桥的隔离使能信号
(6)通用输出信号GPO_12定义为PMU访问控制请求,
(7)通用输入信号GPI_14接PMU访问控制响应信号
(8)通用输出信号GPO_13接CPU的隔离使能信号
为实现图7的控制方法,还要将需要执行的指令写入指令队列。
综上,在现有技术中,对于多个硬件模块根据不同使用场景,依次进入有关联的多种多样的功耗模式,则无法控制。如当前硬件模块M1和硬件模块M2分别处于低功耗状态L10、L20,一段时间后,M1切换到低功耗状态L11,之后M2切换到L21。而本发明中,可以通过在线编程的指令队列,可以组合出多种硬件模块功耗组合,避免固化所有功耗模式组合带来的芯片面积开销和设计复杂度。
应当认识到,本发明实施例中的方法步骤可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个微处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个微处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

Claims (9)

1.一种功耗控制电路,其特征在于,所述电路包括:
信号元件,用于采集和传输通用输入信号和通用输出信号;
存储器,用于储存指令队列;和
分别与所述信号元件和所述存储器连接的指令执行单元,
其中,当所述的指令队列使能时,该指令执行单元依次执行有效的指令,在执行指令的过程中,指令执行单元通过所述的通用输入信号来监测硬件模块的功耗状态的切换流程,并通过将所述的通用输出信号置高值或低值来控制所述的硬件模块的功耗状态的切换,
并且其中,所述指令执行单元包括通用输出控制单元,所述通用输出控制单元包括第一二选一单元、第二二选一单元以及D触发器,
所述第一二选一单元的输出端连接至所述的第二二选一单元的零位输入端;
所述第二二选一单元的输出端连接至所述的D触发器的D位输入端;
所述D触发器的输出端连接至所述的第一二选一单元的零位输入端,并且用于输出所述的通用输出信号;
所述的第一二选一单元的非零位输入端接收指令译码单元发送的SET指令;并且
所述的第二二选一单元的非零位输入端接收指令译码单元发送的CLR指令。
2.根据权利要求1所述的功耗控制电路,其特征在于,所述的指令执行单元还包括:
取指单元,用于逐条从指令队列中取出指令;
指令译码单元,用于根据指令编码解析出指令的类型,然后解析出指令对应的操作;
等待指令控制单元;延迟指令控制单元;和功耗管理接口单元;
其中,相应的操作通过控制信号的方式分别传送到通用输出控制单元、等待指令控制单元、延迟指令控制单元和功耗管理接口单元。
3.根据权利要求1所述的功耗控制电路,其特征在于,所述的指令队列包括:
SET指令、CLR指令、WAITH指令和DLY指令的识别字段;
与该识别字段关联的通用输入信号或通用输出信号的储存位;
与该识别字段关联的保留域或者延迟参数位。
4.一种功耗控制系统,其特征在于,包括:
如权利要求1至3中任一项所述的功耗控制电路;
与该功耗控制电路连接的功耗开关;
与该功耗控制电路连接的功耗管理接口单元;
其中,所述的功耗管理接口单元对接外部的电源管理单元,以对所述的硬件模块进行供电;并且
其中,所述的功耗开关在所述的功耗控制电路的触发下,对所述的硬件模块中的至少一个元件执行掉电操作。
5.根据权利要求4所述的功耗控制系统,其特征在于:
所述的功耗控制电路、功耗开关、功耗管理接口单元和多个所述的硬件模块集成在一个片上系统中;
所述的功耗控制电路和功耗管理接口单元工作在常开电源域;
功耗管理接口单元与所述的外部的电源管理单元的接口包括I2C接口或者TWI接口;
功耗管理接口单元配置成将通用输出信号转换成对应的读写寄存器命令,用于读写所述的外部的电源管理单元的寄存器,从而达到开关电源以及调压的效果。
6.根据权利要求5所述的功耗控制系统,其特征在于,
所述的功耗控制电路接收所述的片上系统的状态信号并转换成通用的输入控制信号,其中,该状态信号包括:片上系统的硬件模块处于IDLE状态的信号、功耗切换流程中的中间指示信号。
7.一种功耗控制方法,其特征在于,所述方法应用于权利要求1至3中任一项所述的功耗控制电路或权利要求4至6中任一项所述的功耗控制系统,并且包括以下步骤:
步骤S100:等待指令控制单元确定CPU二级缓存休眠信号为一阈值,则执行下一步骤,否则继续等待;
步骤S101:通用输出控制单元将CPU隔离使能信号变为一阈值;
步骤S102:通用输出控制单元发送PMU访问请求到功耗管理接口单元;
步骤S103:等待指令控制单元等待功耗管理接口单元的PMU访问请求结束信号,如果结束信号为一阈值,则执行下一步骤,否则继续等待;
步骤S104:延迟指令控制单元等待供电电压稳定;
步骤S105:通用输出控制单元将三级缓存刷出请求信号置一阈值;
步骤S106:等待指令控制单元等待三级缓存刷出结束信号;
步骤S107:通用输出控制单元将三级缓存和总线桥的隔离使能信号置一阈值,隔离使能信号连接到隔离单元,当隔离使能信号为一阈值时,隔离单元将三级缓存和总线桥的输出信号钳位到一固定值;
步骤S108:通用输出控制单元将三级缓存和总线桥的功耗开关使能信号置一阈值,功耗开关使能信号连接到功耗开关上,使得功耗开关关闭后,三级缓存和总线桥掉电。
8.根据权利要求7所述的方法,其特征在于,还包括以下步骤:
步骤S200:等待指令控制单元等待唤醒事件,若中断事件到来则执行下一步骤,否则继续等待;
步骤S201:通用输出控制单元将CPU复位;
步骤S202:通用输出控制单元将三级缓存和总线桥复位;
步骤S203:通用输出控制单元将三级缓存和总线桥的功耗开关使能信号置一基准阈值,功耗开关使能信号连接功耗开关,功耗使能开关使能信号置一基准阈值使得三级缓存和总线桥恢复供电;
步骤S204:通用输出控制单元将三级缓存和总线桥的隔离使能信号置一基准阈值;
步骤S205:通用输出控制单元撤销三级缓存和总线桥的复位;
步骤S206:通用输出控制单元发送PMU访问请求到功耗管理接口单元;
步骤S207:等待指令控制单元等待功耗管理接口单元的PMU访问请求结束信号;
步骤S208:延迟指令控制单元等待供电电压稳定;
步骤S209:通用输出控制单元将CPU的隔离使能信号置一基准阈值;
步骤S210:通用输出控制单元撤销CPU的复位。
9.一种计算机可读存储介质,其上储存有程序指令,所述程序指令被指令执行单元执行时实施如权利要求7或8所述的方法。
CN201911290481.3A 2019-12-16 2019-12-16 一种通用可在线编程的功耗控制电路、系统与方法 Active CN111176409B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911290481.3A CN111176409B (zh) 2019-12-16 2019-12-16 一种通用可在线编程的功耗控制电路、系统与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911290481.3A CN111176409B (zh) 2019-12-16 2019-12-16 一种通用可在线编程的功耗控制电路、系统与方法

Publications (2)

Publication Number Publication Date
CN111176409A CN111176409A (zh) 2020-05-19
CN111176409B true CN111176409B (zh) 2023-11-21

Family

ID=70648859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911290481.3A Active CN111176409B (zh) 2019-12-16 2019-12-16 一种通用可在线编程的功耗控制电路、系统与方法

Country Status (1)

Country Link
CN (1) CN111176409B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5841998A (en) * 1996-12-31 1998-11-24 Metaflow Technologies, Inc. System and method of processing instructions for a processor
CN106575145A (zh) * 2014-09-26 2017-04-19 英特尔公司 芯片上系统中存储器访问的功率管理
CN107003712A (zh) * 2014-12-27 2017-08-01 英特尔公司 当计算元件活动时启用系统低功率状态
CN107766586A (zh) * 2016-08-16 2018-03-06 合肥科盛微电子科技有限公司 一种多电源域可编程管理的设计方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5841998A (en) * 1996-12-31 1998-11-24 Metaflow Technologies, Inc. System and method of processing instructions for a processor
CN106575145A (zh) * 2014-09-26 2017-04-19 英特尔公司 芯片上系统中存储器访问的功率管理
CN107003712A (zh) * 2014-12-27 2017-08-01 英特尔公司 当计算元件活动时启用系统低功率状态
CN107766586A (zh) * 2016-08-16 2018-03-06 合肥科盛微电子科技有限公司 一种多电源域可编程管理的设计方法

Also Published As

Publication number Publication date
CN111176409A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
US20200159279A1 (en) Low power autonomous peripheral management
TWI622872B (zh) 省電處理器架構
US10365704B2 (en) Discrete power control of components within a computer system
US6775786B2 (en) Method and apparatus for power mode transition in a multi-thread processor
US8977880B2 (en) Method for managing power supply of multi-core processor system involves powering off main and slave cores when master bus is in idle state
CN104024980A (zh) 连接的待机睡眠状态
CN101558366A (zh) 直接存储器存取控制器
US7886177B2 (en) Method and apparatus of collecting timer ticks
CN109613970B (zh) 一种基于fpga和dsp架构的低功耗处理方法
US9377833B2 (en) Electronic device and power management method
US7774629B2 (en) Method for power management of central processing unit and system thereof
KR20150112660A (ko) 시스템 온 칩, 이의 작동 방법, 및 이를 포함하는 장치
CN113835515A (zh) Usb c型子系统功率管理
CN111741518A (zh) 一种WiFi芯片电路及WiFi装置
CN100410911C (zh) 中断控制器、中断信号预处理电路及其中断控制方法
US9448617B2 (en) Systems and methods for messaging-based fine granularity system-on-a-chip power gating
CN202494949U (zh) 一种基于总线从单元接口的时钟管理模块
CN113093899B (zh) 一种跨电源域数据传输方法
CN111176409B (zh) 一种通用可在线编程的功耗控制电路、系统与方法
CN103970253B (zh) 省电操作方法与电子装置
Geier et al. Insert & save: Energy optimization in IP core integration for FPGA-based real-time systems
US7634672B2 (en) Power saving method of central processing unit
JP6409218B2 (ja) 電力効率の優れたプロセッサアーキテクチャ
TWI395096B (zh) 電源管理方法及其相關晶片組及電腦系統
JP2016212907A (ja) 電力効率の優れたプロセッサアーキテクチャ

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