本发明涉及片上系统技术领域,尤其涉及一种片上系统及其控制方法。
背景技术:
所有的电子系统和集成电路领域,几乎都会用到时钟信号进行时序的控制。随着soc(systemonchip,系统级芯片或片上系统)设计的复杂度日益增加,其内部时钟设计也越来越复杂,soc芯片一般基于某种总线架构,在总线上集成有微处理器、存储器、i/o接口模块和其他专门功能处理模块等。soc芯片内部通常存在若干个时钟域,以满足不同功能模块的需求。
随着soc芯片的集成密度和工作频率的提高,功耗也随之变大。当soc芯片消耗大量功率时,soc芯片的温度会升高,会导致soc芯片发生故障等。故如何降低soc芯片的功耗至关重要。在消费电子产品领域,功耗过大会导致产品续航能力下降。
技术实现要素:
本发明实施例提供一种片上系统及其控制方法,以实现对多层次结构的片上系统的时钟进行控制,实现多层次低功耗设计。
第一方面,本发明实施例提供了一种片上系统的控制方法,片上系统包括:至少一个片上单元,任一片上单元包括:锁相环、至少一个第一子系统,以及与第一子系统一一对应设置的电源;任一第一子系统包括至少两个第一功能模块,任一片上单元还包括:与第一功能模块对应设置的时钟门控和/或分频器;不同的第一功能模块对应的分频器不同;不同的第一功能模块对应的时钟门控不同;任一第一功能模块经对应的时钟门控,或,经对应的分频器,或,经对应的时钟门控和分频器与锁相环的输出端电连接;
片上系统的控制方法包括:
全局锁相环级闭环控制,包括:根据片上单元中的全部第一子系统的工作状态,反向控制片上单元中的全部第一子系统的同一上级锁相环的开关状态,和/或,反向控制片上单元中的全部第一子系统的同一上级锁相环的输出信号的频率;
第一子系统级闭环控制,包括:根据第一子系统的工作状态,反向控制与第一子系统对应的电源的开关状态;
模块级闭环控制,包括:根据第一功能模块的工作状态,反向控制与第一功能模块对应的上级时钟门控的开关状态,和/或,对应的上级分频器的输出信号的频率。
进一步地,根据片上单元中的全部第一子系统的工作状态,反向控制片上单元中的全部第一子系统的同一上级锁相环的开关状态包括:
若片上单元中的全部第一子系统中的全部第一功能模块为非运行状态,则控制片上单元中的全部第一子系统的同一上级锁相环下电;
根据片上单元中的全部第一子系统的工作状态,反向控制片上单元中的全部第一子系统的同一上级锁相环的输出信号的频率包括:
若片上单元中的运行的全部第一子系统中的全部第一功能模块满足由高频运行状态转为低频运行状态条件,则将与片上单元中的运行的全部第一子系统的同一上级锁相环的输出信号的频率降低。
进一步地,根据第一功能模块的工作状态,反向控制与第一功能模块对应的上级时钟门控的开关状态包括:
若第一功能模块为非运行状态,则反向控制与第一功能模块对应的上级时钟门控关闭;
若第一功能模块为运行状态,则反向控制与第一功能模块对应的上级时钟门控打开。
进一步地,根据第一功能模块的工作状态,反向控制与第一功能模块对应的上级分频器的输出信号的频率包括:
若第一功能模块满足由高频运行状态转为低频运行状态条件,则将与第一功能模块对应的上级分频器的输出信号的频率降低。
进一步地,根据第一子系统的工作状态,反向控制与第一子系统对应的电源的开关状态包括:
若第一子系统中的全部第一功能模块为非运行状态,则关闭与第一子系统对应的电源。
进一步地,片上系统还包括:低频时钟信号输入端、高频时钟信号输入端、选择器和第二子系统,第二子系统包括至少两个第二功能模块,第二子系统经选择器与低频时钟信号输入端和高频时钟信号输入端电连接;
片上系统的控制方法还包括:
第二子系统级闭环控制,包括:根据第二子系统的工作状态,反向控制第二子系统的上级选择器选择的时钟信号。
进一步地,根据第二子系统的工作状态,反向控制第二子系统的上级选择器选择的时钟信号包括:
若第二子系统满足由高频运行状态转为低频运行状态条件,则第二子系统的上级选择器选择低频时钟信号输入端输入的时钟信号;
若第二子系统满足由低频运行状态转为高频运行状态条件,则第二子系统的上级选择器选择高频时钟信号输入端输入的时钟信号。
进一步地,全局锁相环级闭环控制的优先级高于第一子系统级闭环控制的优先级;第一子系统级闭环控制的优先级高于模块级闭环控制的优先级;第二子系统级闭环控制的优先级高于全局锁相环级闭环控制的优先级;
第二子系统用于检测片上系统的全部第一子系统和全部第一功能模块的工作状态。
进一步地,锁相环的输入端与高频时钟信号输入端电连接,
至少两个第一功能模块包括下述至少两种类型:中央处理器、直接存储访问控制器、片上总线、随机存储器、定时器、通用输入输出模块、通用异步收发传输器和内部集成电路总线;
至少两个第二功能模块包括下述至少两种类型:中央处理器、直接存储访问控制器、片上总线、随机存储器、定时器、通用输入输出模块、通用异步收发传输器和内部集成电路总线。
第二方面,本发明实施例还提供了一种片上系统,包括:
至少一个片上单元,任一片上单元包括:锁相环和至少一个第一子系统;任一第一子系统包括至少两个第一功能模块,任一片上单元还包括:与第一功能模块对应设置的时钟门控和/或分频器;不同的第一功能模块对应的分频器不同;不同的第一功能模块对应的时钟门控不同;任一第一功能模块经对应的时钟门控,或,经对应的分频器,或,经对应的时钟门控和分频器与锁相环的输出端电连接;
全局锁相环级闭环控制管理单元,用于根据片上单元中的全部第一子系统的工作状态,反向控制片上单元中的全部第一子系统的同一上级锁相环的开关状态,和/或,反向控制片上单元中的全部第一子系统的同一上级锁相环的输出信号的频率;
第一子系统级闭环控制管理单元,用于根据第一子系统的工作状态,反向控制与第一子系统对应的电源的开关状态;
模块级闭环控制管理单元,用于根据第一功能模块的工作状态需求,控制与第一功能模块对应的上级时钟门控的开关状态,和/或,对应的上级分频器的输出信号的频率。
本发明实施例的技术方案中,全局锁相环级闭环控制包括:根据片上单元中的全部第一子系统的工作状态,反向控制片上单元中的全部第一子系统的同一上级锁相环的开关状态,和/或,反向控制片上单元中的全部第一子系统的同一上级锁相环的输出信号的频率;第一子系统级闭环控制包括:根据第一子系统的工作状态,反向控制与第一子系统对应的电源的开关状态;模块级闭环控制包括:根据第一功能模块的工作状态,反向控制与第一功能模块对应的上级时钟门控的开关状态,和/或,对应的上级分频器的输出信号的频率,以实现对多层次结构的片上系统的时钟进行控制,实现多层次低功耗设计。
附图说明
图1为本发明实施例提供的一种片上系统的控制方法的流程图;
图2为本发明实施例提供的一种片上系统的结构示意图;
图3为本发明实施例提供的又一种片上系统的控制方法的流程图;
图4为本发明实施例提供的又一种片上系统的结构示意图;
图5为本发明实施例提供的又一种片上系统的控制方法的流程图;
图6为本发明实施例提供的又一种片上系统的结构示意图;
图7为本发明实施例提供的又一种片上系统的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
本发明实施例提供一种片上系统的控制方法。图1为本发明实施例提供的一种片上系统的控制方法的流程图。该片上系统的控制方法基于本发明实施例提供的片上系统实现,该片上系统的控制方法可以由管理单元来执行,该管理单元可以由软件和/或硬件的方式实现,该管理单元可以集成在片上系统中。该片上系统的控制方法具体包括如下步骤:
步骤110、全局锁相环级闭环控制:根据片上单元中的全部第一子系统的工作状态,反向控制片上单元中的全部第一子系统的同一上级锁相环的开关状态,和/或,反向控制片上单元中的全部第一子系统的同一上级锁相环的输出信号的频率。
其中,图2为本发明实施例提供的一种片上系统的结构示意图。片上系统包括:至少一个片上单元10,任一片上单元10包括:锁相环11、至少一个第一子系统12,以及与第一子系统12一一对应设置的电源15;任一第一子系统12包括至少两个第一功能模块121,任一片上单元12还包括:与第一功能模块121对应设置的时钟门控13和/或分频器14;不同的第一功能模块121对应的分频器14不同;不同的第一功能模块121对应的时钟门控13不同;任一第一功能模块121经对应的时钟门控13,或,经对应的分频器14,或,经对应的时钟门控13和分频器14与锁相环11的输出端电连接。任一第一功能模块121经对应的时钟门控13和分频器14与锁相环11的输出端电连接包括:任一第一功能模块121可依次经对应的时钟门控13和分频器14与锁相环11的输出端电连接,或者,任一第一功能模块121可依次经对应的分频器14和时钟门控13与锁相环11的输出端电连接。可选的,锁相环11的输入端与片上系统的一时钟信号输入端电连接。可选的,片上系统可包括:多个片上单元10。可选的,任一片上单元10可包括:锁相环11和多个第一子系统12。一个片上单元10设置一个锁相环11。锁相环11在上电后,基于参考时钟和默认配置,输出高频时钟,在送给各个第一子系统及第一子系统内部的第一功能模块之前,经过分频器,得到能够适配第一子系统及其内部第一功能模块工作频率的时钟。其中,电源15为对应的第一子系统12供电。不同的第一子系统12对应的电源15不同。
其中,第一子系统12的工作状态可包括非运行状态或运行状态等。非运行状态可包括待机(或称空闲)状态或停机状态等。锁相环11具有倍频作用,锁相环11可将其输入端输入的信号的频率提高,并输出至其输出端。通过调增锁相环11的倍频系数,以调整锁相环的输出信号的频率。对于任一片上单元10,可在片上单元10中的全部第一子系统12为待机状态时,则控制片上单元中的锁相环11下电(又称掉电,即关闭状态),以使片上单元的全部第一子系统12停止工作(即停机状态),以节省功耗。锁相环11正常模式的功耗高达毫安(ma)级,而掉电模式下为微安(ua)级,节省功耗比较可观。不同片上单元10的锁相环11的输出信号的频率可不同,以满足不同片上单元10的频率需求。可通过设置第一掉电开关来控制锁相环的开关状态。通过控制锁相环11,以实现系统级的功耗设计。第一子系统12为待机状态指的是:第一子系统12中的全部第一功能模块121为待机状态。第一子系统为运行状态指的是:第一子系统12中的至少部分第一功能模块121为运行状态。第一子系统12为非运行状态指的是:第一子系统12中的全部第一功能模块121为非运行状态。
锁相环11可包括前向通路和反馈通路。其中,前向通路可包括依次连接的鉴相器(phasedetector,简称pd)、滤波器(loopfilter,简称lf)和压控振荡器(voltagecontrolledoscillator,简称vco)。反馈通路可包括第二分频器。锁相环11相比于分频器14的结构复杂,所占面积较大,价格较贵。
可选的,根据片上单元中的全部第一子系统的工作状态,反向控制片上单元中的全部第一子系统的同一上级锁相环的开关状态包括:若片上单元中的全部第一子系统中的全部第一功能模块为非运行状态,则控制片上单元中的全部第一子系统的同一上级锁相环下电。之后,可无需再执行步骤120,无需再逐一关闭片上单元中的时钟门控。非运行状态可包括待机状态或停机状态等。可选的,根据片上单元中的全部第一子系统的工作状态,控制片上单元中的锁相环的开关状态包括:若片上单元中的至少部分第一子系统为运行状态,则控制片上单元中的锁相环上电,之后,可执行步骤120。
可选的,根据片上单元中的全部第一子系统的工作状态,反向控制片上单元中的全部第一子系统的同一上级锁相环的输出信号的频率包括:若片上单元中的运行的全部第一子系统中的全部第一功能模块满足由高频运行状态转为低频运行状态条件,则将与片上单元中的运行的全部第一子系统的同一上级锁相环的输出信号的频率降低,以使运行的全部第一子系统中的全部第一功能模块低频运行,以降低功耗,无需一一调节分频器,此时分频器的输入时钟信号的频率降低,分频器的分频系数不变,分频器的输出时钟信号降低。可通过减小锁相环的倍频系数,以使锁相环的输出信号的频率降低,从而使片上单元中的运行的全部第一子系统中的全部第一功能模块低频运行。可选的,根据片上单元中的全部第一子系统的工作状态,反向控制片上单元中的全部第一子系统的同一上级锁相环的输出信号的频率还包括:若片上单元中的运行的全部第一子系统中的全部第一功能模块满足由低频运行状态转为高频运行状态条件,则将与片上单元中的运行的全部第一子系统的同一上级锁相环的输出信号的频率提高,以使运行的全部第一子系统中的全部第一功能模块高频运行,无需一一调节分频器,此时分频器的输入时钟信号的频率提高,分频器的分频系数不变,分频器的输出时钟信号提高。可通过增大锁相环的倍频系数,以使锁相环的输出信号的频率提高,从而使片上单元中的运行的全部第一子系统中的全部第一功能模块高频运行。
步骤120、第一子系统级闭环控制:根据第一子系统的工作状态,反向控制与第一子系统对应的电源的开关状态。
其中,可在第一子系统为待机状态时,关闭与第一子系统对应的电源,以节省功耗。
可选的,根据第一子系统的工作状态,反向控制与第一子系统对应的电源的开关状态包括:若第一子系统中的全部第一功能模块为非运行状态,则关闭与第一子系统对应的电源,以降低功耗。可选的,根据第一子系统的工作状态,反向控制与第一子系统对应的电源的开关状态包括:若第一子系统中的至少部分第一功能模块为运行状态,则开启与第一子系统对应的电源。
步骤130、模块级闭环控制:根据第一功能模块的工作状态,反向控制与第一功能模块对应的上级时钟门控的开关状态,和/或,对应的上级分频器的输出信号的频率。
其中,第一功能模块121的工作状态可包括非运行状态或运行状态等。非运行状态可包括待机(或称空闲)状态或停机状态等。时钟门控13可包括开关器件等。可在第一功能模块121为待机状态时,可以关闭与第一功能模块121对应的时钟门控13,以使第一功能模块121停止工作(即停机状态),以节省功耗。可在第一功能模块121满足由高频运行状态转为低频运行状态条件时,可以降低与第一功能模块121对应的分频器14的频率,以使第一功能模块121的工作频率降低,以使第一功能模块121工作在低性能状态,以节省功耗。通过控制与第一功能模块对应的时钟门控和/或分频器,以实现模块级的功耗设计。
可选的,至少两个第一功能模块121包括下述至少两种类型:中央处理器(centralprocessingunitprocessor,简称cpu)、直接存储访问控制器(directmemoryaccess,简称dma)、片上总线(on-chipbus,简称ocb)、随机存储器(randomaccessmemory,简称ram)、定时器(timer)、通用输入输出模块(general-purposeinput/output,简称gpio)、通用异步收发传输器(universalasynchronousreceiver/transmitter,简称uart)和内部集成电路总线(inter-integratedcircuitbus,简称i2c)等。分频器14(又称除频器)可将其输入端输入的信号的频率降低,并输出至其输出端。同一子系统12中的不同第一功能模块121对应的分频器13的输出信号的频率可不同,以满足不同第一功能模块121的频率需求。可选的,根据第一功能模块的工作状态,控制与第一功能模块对应的时钟门控的开关状态包括:若片上单元中的至少部分第一子系统为运行状态,则根据第一功能模块的工作状态,控制与第一功能模块对应的时钟门控的开关状态。
可选的,根据第一功能模块的工作状态,反向控制与第一功能模块对应的上级时钟门控的开关状态包括:若第一功能模块为非运行状态,则反向控制与第一功能模块对应的上级时钟门控关闭。其中,可根据第一功能模块的输出端的输出信号,判断第一功能模块的工作状态。若第一功能模块的输出端无输出信号,则第一功能模块为待机状态。若片上单元中的一部分第一子系统为运行状态,另一部分第一子系统为待机状态,则将处于待机状态的第一子系统中的第一功能模块对应的时钟门控关闭,并判断处于运行状态的第一子系统中的第一功能模块的工作状态;若处于运行状态的第一子系统中的第一功能模块为待机状态,则控制与该第一功能模块对应的时钟门控关闭。若片上单元中的全部第一子系统为运行状态,判断处于运行状态的第一子系统中的第一功能模块的工作状态,若处于运行状态的第一子系统中的第一功能模块为待机状态,则控制与该第一功能模块对应的时钟门控关闭。
可选的,根据第一功能模块的工作状态,反向控制与第一功能模块对应的上级时钟门控的开关状态还包括:若第一功能模块为运行状态,则反向控制与第一功能模块对应的上级时钟门控打开。其中,可根据第一功能模块的输出端的输出信号,判断第一功能模块是否为运行状态。若第一功能模块的输出端有输出信号,则第一功能模块为运行状态。若片上单元中的至少部分第一子系统为运行状态,则判断处于运行状态的第一子系统中的第一功能模块的工作状态,若处于运行状态的第一子系统中的第一功能模块为运行状态,则控制与该第一功能模块对应的时钟门控打开。
可选的,根据第一功能模块的工作状态,反向控制与第一功能模块对应的上级分频器的输出信号的频率包括:若第一功能模块满足由高频运行状态转为低频运行状态条件,则将与第一功能模块对应的上级分频器的输出信号的频率降低,例如可以提高分频器的分频系数,以使第一功能模块低频运行,以降低功耗。在性能要求较低的场合,可以工作在较低的工作频率。可选的,根据第一功能模块的工作状态,反向控制与第一功能模块对应的上级分频器的输出信号的频率包括:若第一功能模块满足由低频运行状态转为高频运行状态条件,则将与第一功能模块对应的分频器的输出信号的频率提高,例如可以降低分频器的分频系数,以使第一功能模块高频运行。
本实施例的技术方案中,全局锁相环级闭环控制包括:根据片上单元中的全部第一子系统的工作状态,反向控制片上单元中的全部第一子系统的同一上级锁相环的开关状态,和/或,反向控制片上单元中的全部第一子系统的同一上级锁相环的输出信号的频率;第一子系统级闭环控制包括:根据第一子系统的工作状态,反向控制与第一子系统对应的电源的开关状态;模块级闭环控制包括:根据第一功能模块的工作状态,反向控制与第一功能模块对应的上级时钟门控的开关状态,和/或,对应的上级分频器的输出信号的频率,以实现对多层次结构的片上系统的时钟进行控制,实现多层次低功耗设计。
本发明实施例提供又一种片上系统的控制方法。图3为本发明实施例提供的又一种片上系统的控制方法的流程图。在上述实施例的基础上,该片上系统的控制方法包括:
步骤310、第二子系统级闭环控制:根据第二子系统的工作状态,反向控制第二子系统的上级选择器选择的时钟信号。
其中,第二子系统可为不掉电子系统。选择器可用于对其多个输入端进行选择,选择一个输入端与其输出端连通,以将与其输出端连通的输入端的信号输出。第二子系统会一直处于上电状态,可用于检测各第一子系统的工作状态,通过收集各第一子系统的工作状态,再结合自身工作状态,当存在对性能没有要求或者要求很低的状态,在这种状态下,可以反向选择第二子系统的工作时钟频率为低频时钟信号输入端的信号频率,例如可以是32khz,形成系统级的节省功耗的第一个闭环。
可选的,在上述实施例的基础上,图4为本发明实施例提供的又一种片上系统的结构示意图,片上系统还包括:低频时钟信号输入端ck2、高频时钟信号输入端ck1、选择器20和第二子系统30,第二子系统30包括至少两个第二功能模块31,第二子系统30经选择器20与低频时钟信号输入端ck2和高频时钟信号输入端ck1电连接。
可选的,根据第二子系统的工作状态,反向控制第二子系统的上级选择器选择的时钟信包括:若第二子系统满足由高频运行状态转为低频运行状态条件,则第二子系统的上级选择器选择低频时钟信号输入端输入的时钟信号,以节省功耗。第二子系统满足由高频运行状态转为低频运行状态条件可包括第二子系统的全部第二功能模块满足由高频运行状态转为低频运行状态条件。
可选的,根据第二子系统的工作状态,反向控制第二子系统的上级选择器选择的时钟信还包括:若第二子系统满足由低频运行状态转为高频运行状态条件,则第二子系统的上级选择器选择高频时钟信号输入端输入的时钟信号。第二子系统满足由低频运行状态转为高频运行状态条件可包括第二子系统的全部第二功能模块满足由低频运行状态转为高频运行状态条件。
可选的,锁相环11的输入端与高频时钟信号输入端ck1电连接。
可选的,至少两个第二功能模块31包括下述至少两种类型:中央处理器、直接存储访问控制器、片上总线、随机存储器、定时器、通用输入输出模块、通用异步收发传输器和内部集成电路总线。
步骤320、全局锁相环级闭环控制:根据片上单元中的全部第一子系统的工作状态,反向控制片上单元中的全部第一子系统的同一上级锁相环的开关状态,和/或,反向控制片上单元中的全部第一子系统的同一上级锁相环的输出信号的频率。
其中,通过获取片上单元中的全部第一子系统的工作状态,反向选择是否需要关闭片上单元中的锁相环的电源,反向选择锁相环的倍频系数,形成子系统及全局pll级的节省功耗的第二个闭环。
步骤330、第一子系统级闭环控制:根据第一子系统的工作状态,反向控制与第一子系统对应的电源的开关状态。
其中,通过收集第一子系统中的全部第一功能模块的工作状态的信号,反向选择是否需要第一子系统工作,如果不需要,则可关闭整个第一子系统时钟或电源,形成模块和子系统级的节省功耗的第三个闭环。
步骤340、模块级闭环控制:根据第一功能模块的工作状态,反向控制与第一功能模块对应的上级时钟门控的开关状态,和/或,对应的上级分频器的输出信号的频率。
其中,依据第一功能模块的工作状态可反向选择关闭时钟输入需要经过的时钟门控,各个第一功能模块有其独立的时钟门控,各个第一功能模块可独立控制,形成模块级的节省功耗的第四个闭环。在第一功能模块需要工作,但是对性能要求较低,可以工作在较低的工作频率上,在这种状态下,可通过收集第一功能模块工作状态的信号,反向选择对应的分频器的除频系数(或称分频系数),在从子系统到子系统内模块的传输路径上,降低时钟频率以节省功耗,形成模块及子系统级的节省功耗的第五个闭环。任一片上单元的锁相环接收到参考时钟后,依据应用要求,经过分频器,可输出多种层次的时钟频率给不同的第一功能模块使用,如图1所示。因为各个第一功能模块的工作频率并不相同,相对于只输出最高频率的时钟,再给各个第一功能模块使用时进行分频的方法,输出多种层级的频率的方法只要有一个模块的频率低于最高频率,就能节省功耗。
可选的,全局锁相环级闭环控制的优先级高于第一子系统级闭环控制的优先级;第一子系统级闭环控制的优先级高于模块级闭环控制的优先级;第二子系统级闭环控制的优先级高于全局锁相环级闭环控制的优先级。
可选的,第二子系统用于检测片上系统的全部第一子系统和全部第一功能模块的工作状态。
本发明实施例提供又一种片上系统的控制方法。图5为本发明实施例提供的又一种片上系统的控制方法的流程图。在上述实施例的基础上,该片上系统的控制方法包括:
步骤410、第二子系统级闭环控制:根据第二子系统的工作状态,反向控制第二子系统的上级选择器选择的时钟信号。
步骤420、对于任一片上单元,获取片上单元中的全部第一子系统的工作状态。
步骤430、若片上单元中的全部第一子系统中的全部第一功能模块为非运行状态,则控制片上单元中的全部第一子系统的同一上级锁相环下电。
步骤440、若片上单元中的运行的全部第一子系统中的全部第一功能模块满足由高频运行状态转为低频运行状态条件,则将与片上单元中的运行的全部第一子系统的同一上级锁相环的输出信号的频率降低。
步骤450、若片上单元中的至少部分第一子系统为运行状态,则控制片上单元中的锁相环上电。
步骤460、若第一功能模块为非运行状态,则反向控制与第一功能模块对应的时钟门控关闭。
步骤470、若第一功能模块为运行状态,则反向控制与第一功能模块对应的时钟门控打开。
步骤480、若第一功能模块满足由高频运行状态转为低频运行状态条件,则将与第一功能模块对应的上级分频器的输出信号的频率降低。
其中,可逐一对每个片上单元执行步骤420至步骤480的操作。
本发明实施例提供一种片上系统。图6为本发明实施例提供的又一种片上系统的结构示意图。该片上系统的管理单元可用于执行本发明任意实施例提供的片上系统的控制方法。在上述实施例的基础上,该片上系统包括:管理单元和至少一个片上单元。
其中,任一片上单元10包括:锁相环11和至少一个第一子系统12;任一第一子系统12包括至少两个第一功能模块121,任一片上单元10还包括:与第一功能模块121对应设置的时钟门控13和/或分频器14;不同的第一功能模块121对应的分频器14不同;不同的第一功能模块121对应的时钟门控13不同;任一第一功能模块121经对应的时钟门控13,或,经对应的分频器14,或,经对应的时钟门控13和分频器14与锁相环11的输出端电连接。
可选的,管理单元可包括全局锁相环级闭环控制管理单元,全局锁相环级闭环控制管理单元可包括第一全局锁相环级闭环控制管理子单元411和/或第二全局锁相环级闭环控制管理子单元412。
可选的,第一全局锁相环级闭环控制管理子单元411用于根据片上单元中的全部第一子系统的工作状态,反向控制片上单元中的全部第一子系统的同一上级锁相环的开关状态。可选的,第二全局锁相环级闭环控制管理子单元412用于根据片上单元中的全部第一子系统的工作状态,反向控制片上单元中的全部第一子系统的同一上级锁相环的输出信号的频率。
可选的,管理单元40还可包括模块级闭环控制管理单元,模块级闭环控制管理单元包括:第一模块级闭环控制管理子单元42和/或第二模块级闭环控制管理子单元43。
其中,第一模块级闭环控制管理子单元42用于根据第一功能模块的工作状态需求,控制与第一功能模块对应的上级时钟门控的开关状态。
第二模块级闭环控制管理子单元43用于根据第一功能模块的工作状态需求,控制与第一功能模块对应的上级分频器的输出信号的频率。
本发明实施例提供的片上系统的管理单元可用于执行本发明任意实施例提供的片上系统的控制方法,因此本发明实施例提供的片上系统也具备上述实施例中所描述的有益效果,此处不再赘述。
图6示例性的画出一个片上单元10包括一个第一子系统12的情况。
可选的,第一全局锁相环级闭环控制管理子单元411用于若片上单元中的全部第一子系统中的全部第一功能模块为非运行状态,则控制片上单元中的全部第一子系统的同一上级锁相环下电。
可选的,第一全局锁相环级闭环控制管理子单元411还用于若片上单元中的全部第一子系统中的至少部分第一功能模块为运行状态,则控制片上单元中的全部第一子系统的同一上级锁相环上电。
可选的,第二全局锁相环级闭环控制管理子单元412用于若片上单元中的运行的全部第一子系统中的全部第一功能模块满足由高频运行状态转为低频运行状态条件,则将与片上单元中的运行的全部第一子系统的同一上级锁相环的输出信号的频率降低。
可选的,第二全局锁相环级闭环控制管理子单元412还用于若片上单元中的运行的全部第一子系统中的全部第一功能模块满足由低频运行状态转为高频运行状态条件,则将与片上单元中的运行的全部第一子系统的同一上级锁相环的输出信号的频率提高。
其中,可设置与锁相环对应的第一掉电开关,第一全局锁相环级闭环控制管理子单元411通过控制对应的第一掉电开关的开关状态,以控制锁相环的掉电或上电。第一掉电开关可设置于对应的锁相环的输入端和锁相环的电源之间。
可选的,第一模块级闭环控制管理子单元42用于若第一功能模块为非运行状态,则反向控制与第一功能模块对应的上级时钟门控关闭。可选的,第一模块级闭环控制管理子单元42还用于若第一功能模块为运行状态,则反向控制与第一功能模块对应的上级时钟门控打开。
可选的,第二模块级闭环控制管理子单元43用于若第一功能模块满足由高频运行状态转为低频运行状态条件,则将与第一功能模块对应的上级分频器的输出信号的频率降低。可选的,第二模块级闭环控制管理子单元43还用于若第一功能模块满足由低频运行状态转为高频运行状态条件,则将与第一功能模块对应的上级分频器的输出信号的频率提高。
可选的,在上述实施例的基础上,继续参见图6,任一片上单元还包括:与第一子系统一一对应设置的电源15。管理单元还包括:第一子系统级闭环控制管理单元44,用于根据第一子系统的工作状态,反向控制与第一子系统对应的电源的开关状态。
可选的,在上述实施例的基础上,第一子系统级闭环控制管理单元44用于若第一子系统中的全部第一功能模块为非运行状态,则关闭与第一子系统对应的电源。可选的,第一子系统级闭环控制管理单元44还用于若第一子系统中的至少部分第一功能模块为运行状态,则开启与第一子系统对应的电源。
其中,可设置与电源对应的第二掉电开关,第一子系统级闭环控制管理单元44通过控制对应的第二掉电开关的开关状态,以控制电源的关闭和开启。第二掉电开关可设置于第一子系统对应的电源与第一子系统之间。
可选的,在上述实施例的基础上,图7为本发明实施例提供的又一种片上系统的结构示意图,片上系统还包括:低频时钟信号输入端ck2、高频时钟信号输入端ck1、选择器20和第二子系统30,第二子系统30包括至少两个第二功能模块31,第二子系统30经选择器20与低频时钟信号输入端ck2和高频时钟信号输入端ck1电连接。
可选的,管理单元可还包括第二子系统级闭环控制管理单元45,用于根据第二子系统的工作状态,反向控制第二子系统的上级选择器选择的时钟信号。
可选的,第二子系统级闭环控制管理单元45用于若第二子系统满足由高频运行状态转为低频运行状态条件,则第二子系统的上级选择器选择低频时钟信号输入端输入的时钟信号。可选的,第二子系统级闭环控制管理单元45还用于若第二子系统满足由低频运行状态转为高频运行状态条件,则第二子系统的上级选择器选择低频时钟信号输入端输入的时钟信号。
可选的,全局锁相环级闭环控制管理单元的优先级高于第一子系统级闭环控制管理单元44的优先级;第一子系统级闭环控制管理单元44的优先级高于模块级闭环控制管理单元的优先级;第二子系统级闭环控制管理单元45的优先级高于全局锁相环级闭环控制管理单元的优先级。
可选的,第二子系统用于检测片上系统的全部第一子系统和全部第一功能模块的工作状态。
可选的,锁相环11的输入端与高频时钟信号输入端ck1电连接。
可选的,至少两个第一功能模块121包括下述至少两种类型:中央处理器、直接存储访问控制器、片上总线、随机存储器、定时器、通用输入输出模块、通用异步收发传输器和内部集成电路总线。
可选的,至少两个第二功能模块31包括下述至少两种类型:中央处理器、直接存储访问控制器、片上总线、随机存储器、定时器、通用输入输出模块、通用异步收发传输器和内部集成电路总线。
可选的,管理单元可设置于第二子系统中。
上述管理单元可执行本发明任意实施例所提供的片上系统的控制方法,具备执行方法相应的功能模块和有益效果。
需要说明的是,片上系统的总功耗包括internal功耗,switching功耗,leakage功耗,其中,internal功耗和switching功耗统称为动态功耗,leakage功耗为静态功耗。总功耗p=pinternal+pswitching+pleakage,其中,pinternal为internal功耗,pswitching为switching功耗,pleakage为leakage功耗。internal功耗pinternal=tsc*vdd*ipeak*f0-1,tsc为信号翻转时间,vdd为晶体管工作电压,ipeak为最大工作电流,f0-1为工作频率。switching功耗pswitching=cl*vdd2*f0-1,cl为晶体管负载电容,vdd为晶体管工作电压,f0-1为工作频率。leakage功耗pleakage=vdd*ileakage,vdd为晶体管工作电压,ileakage为晶体管漏电流,从计算公式可以知道,pleakage和工作频率无关。
示例性的,如图4所示,低频时钟信号输入端ck2输入的时钟信号频率可为32khz,高频时钟信号输入端ck1输入的时钟信号频率可为24mhz。判断第二子系统是否可以进入待机状态,如果第二子系统能进入待机状态,则输出使能信号,将系统待机阶段通过选择器20选择的时钟为32khz。动态功耗的大小和时钟的频率成正比,降低时钟频率能有效的减小功耗。依据上述描述的功耗的计算公式,internal功耗和switching功耗与时钟频率成线性关系,当工作时钟频率降低时,internal功耗和switching功耗都会成倍降低。假如24mhz的时钟频率下,internal功耗、switching功耗、leakage功耗分别为4mw,4mw,2mw,则在32khz的时钟频率下,pinternal=4*(32k/24m)=0.0053mw,pswitching=4*(32k/24m)=0.0053mw,leakage保持不变。总体上降低79.9%。
整个系统的低功耗设计方法,构成了模块级、子系统级、全局pll级、系统级多层次的功耗设计,且相互之间形成闭环控制,在系统运行时,依据各个pll、子系统、模块等各自的工作状态,可以降低时钟频率、关闭时钟频率、关闭电源等,在最大程度上节省功耗。
可选的,任一第一功能模块121依次经对应的时钟门控13和分频器14与锁相环11的输出端电连接。可选的,任一片上单元中的时钟门控可与第一子系统为同一电源域,即任一片上单元中的时钟门控可与第一子系统共用同一电源。可选的,任一片上单元中的第一子系统与锁相环可为不同电源域,即任一片上单元中的第一子系统与锁相环不共用电源,各自有独立的电源。可选的,任一片上单元中的分频器与锁相环可为同一电源域,从而无需在任一片上单元中的分频器与锁相环之间设置隔离电路,以减小任一片上单元中的分频器与锁相环之间的连线长度,以节省功耗。可选的,不同片上单元可为不同电源域,即不同片上单元所用的电源不同,以实现不同片上单元的独立控制。
可选的,任一片上单元中的分频器与第一子系统可为不同电源域,即任一片上单元中的分频器与第一子系统不共用电源,各自有独立的电源。分频器的位置,在物理实现时,相对于锁相环输出后的时钟经过一段时钟树走线后达到第一子系统及各个第一功能模块再进行分频的方式,对锁相环输出后的时钟立即进行分频的方式,在传输的过程中是以较低频率进行的,能达到节省动态功耗的目的。示例性的,如图6所示,锁相环11输出的时钟频率为1ghz,第一功能模块121-1正常运行时的工作频率为1ghz,第一功能模块121-2正常运行时的工作频率为500mhz,从锁相环11到第一子系统12的传输距离为0.1mm,分频器14-1把锁相环11输出1ghz的频率进行分频分别得到1ghz(1分频,相当于不分频),分频器14-2把锁相环11输出1ghz的频率进行分频分别得到500mhz时钟,再把1ghz时钟输送给第一功能模块121-1,500mhz时钟输送给第一功能模块121-2,则在0.1mm的传输路径上。若将分频器与第一子系统设置为同一电源域时,分频器14-2与锁相环之间的连线的长度为l1,分频器14-2与第一子系统12之间的连线的长度为l2,则l1+l2=0.1mm;若将分频器与第一子系统设置为不同电源域时,分频器14-2与锁相环之间的连线的长度为l3,分频器14-2与第一子系统12之间的连线的长度为l4,则l3+l4=0.1mm,由于分频器14-2与第一子系统12之间的需要设置隔离电路,故l4大于l2,l3小于l1,依据internal功耗pinternal=tsc*vdd*ipeak*f0-1和switching功耗pswitching=cl*vdd2*f0-1,可以得知动态功耗和频率成正比,在其它影响功耗的因子不变的前提下,将分频器与第一子系统设置为不同电源域,相对于将分频器与第一子系统设置为同一电源域的方式,传输1ghz高频时钟信号的分频器14-2与锁相环之间的连线变短,传输500mhz时钟信号的分频器14-2与第一子系统12之间的连线变长,故可以节省功耗,示例性的,若l3减小至l1的一半,可以节省功耗((1-0.5)/(1+1)*100%)=25%。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整、相互结合和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。