(12)发明专利申请
(10)申请公布号 CN 110399034 A(43)申请公布日 2019.11.01
(21)申请号 201910600213.0(22)申请日 2019.07.04
(71)申请人 福州瑞芯微电子股份有限公司
地址 350000 福建省福州市鼓楼区软件大
道号18号楼(72)发明人 谢修鑫
(74)专利代理机构 福州市博深专利事务所(普
通合伙) 35214
代理人 张明 颜丽蓉(51)Int.Cl.
G06F 1/324(2019.01)G06F 1/3234(2019.01)
权利要求书3页 说明书7页 附图3页
()发明名称
一种SoC系统的功耗优化方法及终端(57)摘要
本发明公开一种SoC系统的功耗优化方法及终端,监测SoC系统中的CPU是否进入空闲状态或者等待事件状态,若是,降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率;否则,监测SoC系统中的CPU是否通过第一总线路径进行数据访问,若否,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率;所述第一总线路径包括所述CPU访问所述SoC系统中内部的寄存器时对应的访问路径;无论CPU是否处于空闲状态或等待事件状态,都能够进一步降低与CPU有关联的其他功耗,从而有效地降低SoC系统的功耗。CN 110399034 ACN 110399034 A
权 利 要 求 书
1/3页
1.一种SoC系统的功耗优化方法,其特征在于,包括:
监测SoC系统中的CPU是否进入空闲状态或者等待事件状态,若是,降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率;
否则,监测SoC系统中的CPU是否通过第一总线路径进行数据访问,若否,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率;
所述第一总线路径包括所述CPU访问所述SoC系统中内部的寄存器时对应的访问路径。2.根据权利要求1所述的一种SoC系统的功耗优化方法,其特征在于,若所述SoC系统中的CPU包含多个,并且所述多个CPU共用一个时钟源或共同关联一个模块,则当监测到SoC系统中的每一个CPU都进入空闲状态或者等待事件状态时,降低每一个CPU的时钟源和与每一个CPU关联的模块的时钟源的时钟频率。
3.根据权利要求1或2所述的一种SoC系统的功耗优化方法,其特征在于,所述降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率之后还包括:
降低所述SoC系统对应的电压管理芯片的电压。
4.根据权利要求3所述的一种SoC系统的功耗优化方法,其特征在于,所述降低所述SoC系统对应的电压管理芯片的电压包括:
判断所述SoC系统的当前负载是否小于一负载阈值或者当前时间距离下一次时钟唤醒时间是否大于一时间阈值,若是,则降低所述SoC系统对应的电压管理芯片的电压,否则,不降低所述SoC系统对应的电压管理芯片的电压。
5.根据权利要求3所述的一种SoC系统的功耗优化方法,其特征在于,在降低所述SoC系统对应的电压管理芯片的电压之后,还包括:
监测到有中断或事件通知到CPU时,则将所述电压管理芯片的电压恢复到正常电压;待所述电压管理芯片的电压恢复正常后,将所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率恢复到正常时钟频率。
6.根据权利要求1所述的一种SoC系统的功耗优化方法,其特征在于,所述监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率包括:
监测到所述CPU未通过第一总线路径进行访问并且所述第一总线路径上的各个其它Master模块未进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率。
7.根据权利要求6所述的一种SoC系统的功耗优化方法,其特征在于,所述监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率还包括:
监测到所述CPU的第一总线路径上的总线未进行数据交换时,降低所述总线以及所述总线上的各个模块的时钟源的时钟频率。
8.根据权利要求6或7所述的一种SoC系统的功耗优化方法,其特征在于,监测到所述CPU或所述SoC系统中的其它Master模块通过所述第一总线路径发起访问时,将与所述第一总线路径对应的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率;
或者监测到所述第一总线路径上有总线接收到数据收发请求时,将所述总线以及总线上的各个模块的时钟源的时钟频率恢复到正常时钟频率;
2
CN 110399034 A
权 利 要 求 书
2/3页
或者监测到所述SoC系统的FIFO的存储空间为空或者为满时,则将所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率。
9.一种SoC系统的功耗优化终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
监测SoC系统中的CPU是否进入空闲状态或者等待事件状态,若是,降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率;
否则,监测到SoC系统中的CPU是否通过第一总线路径进行数据访问,若是,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率;
所述第一总线路径包括所述CPU访问所述SoC系统中内部的寄存器时对应的访问路径。10.根据权利要求9所述的一种SoC系统的功耗优化终端,其特征在于,若所述SoC系统中的CPU包含多个,并且所述多个CPU共用一个时钟源或共同关联一个模块,则当监测到SoC系统中的每一个CPU都进入空闲状态或者等待事件状态时,降低每一个CPU的时钟源和与每一个CPU关联的模块的时钟源的时钟频率。
11.根据权利要求9或10所述的一种SoC系统的功耗优化终端,其特征在于,所述降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率之后还包括:
降低所述SoC系统对应的电压管理芯片的电压。
12.根据权利要求11所述的一种SoC系统的功耗优化终端,其特征在于,所述降低所述SoC系统对应的电压管理芯片的电压包括:
判断所述SoC系统的当前负载是否小于一负载阈值或者当前时间距离下一次时钟唤醒时间是否大于一时间阈值,若是,则降低所述SoC系统对应的电压管理芯片的电压,否则,不降低所述SoC系统对应的电压管理芯片的电压。
13.根据权利要求11所述的一种SoC系统的功耗优化终端,其特征在于,在降低所述SoC系统对应的电压管理芯片的电压之后,还包括:
监测到有中断或事件通知到CPU时,则将所述电压管理芯片的电压恢复到正常电压;待所述电压管理芯片的电压恢复正常后,将所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率恢复到正常时钟频率。
14.根据权利要求9所述的一种SoC系统的功耗优化终端,其特征在于,所述监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率包括:
监测到所述CPU未通过第一总线路径进行访问并且所述第一总线路径上的各个其它Master模块未进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率;
所述第一总线路径包括所述CPU访问所述SoC系统中的各个外设模块的寄存器对应的各条访问路径。
15.根据权利要求14所述的一种SoC系统的功耗优化终端,其特征在于,所述监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率还包括:
监测到所述CPU的第一总线路径上的总线未进行数据交换时,降低所述总线以及所述总线上的各个模块的时钟源的时钟频率。
3
CN 110399034 A
权 利 要 求 书
3/3页
16.根据权利要求14或15所述的一种SoC系统的功耗优化终端,其特征在于,监测到所述CPU或所述SoC系统中的其它Master模块通过所述第一总线路径发起访问时,将与所述第一总线路径对应的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率;
或者监测到所述第一总线路径上有总线接收到数据收发请求时,将所述总线以及总线上的各个模块的时钟源的时钟频率恢复到正常时钟频率;
或者监测到所述SoC系统的FIFO的存储空间为空或者为满时,则将所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率。
4
CN 110399034 A
说 明 书
一种SoC系统的功耗优化方法及终端
1/7页
技术领域
[0001]本发明涉及功耗优化领域,尤其涉及一种SoC系统的功耗优化方法及终端。背景技术
[0002]SoC称为系统级芯片,也称片上系统,即System on Chip,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。目前SoC芯片针对多核CPU系统的功耗优化方法都是基于CPU本身的处理,比如SoC没有任务给CPU,CPU进入idle空闲状态进而改善功耗;或者CPU在等待事件时(如:等待CPU间资源互锁释放),CPU会进入等待事件状态进而改善功耗。[0003]但是,上述改善功耗的方法中CPU进入idle状态或等待事件状态时仅仅是CPU的核心处理单元进入低功耗状态,SoC系统中仍然存在很多产生功耗的地方。所以,上述改善功耗的方法并不能有效地降低SoC系统的功耗。[0004]另外,CPU进行数据读写时,涉及两个路径,一个是对DDR MEM的访问,一个是对SOC内部模块寄存器的访问,由于CPU执行的代码及对应的数据主要在DDR MEM中,所以CPU大部分时间在访问DDR MEM,对SOC内部模块的访问较少,但是,CPU不访问SOC内部模块的时候,SOC内部模块对应的总线及模块逻辑都在高频运行,不利于功耗改善。发明内容
[0005]本发明所要解决的技术问题是:提供一种SoC系统的功耗优化方法和终端,能够有效地降低SoC系统的功耗。
[0006]为了解决上述技术问题,本发明采用的一种技术方案为:[0007]一种SoC系统的功耗优化方法,包括:
[0008]监测到SoC系统中的CPU是否进入空闲状态或者等待事件状态,若是,降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率;[0009]否则,监测SoC系统中的CPU是否通过第一总线路径进行数据访问,若否,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率;
[0010]所述第一总线路径包括所述CPU访问所述SoC系统中内部的寄存器时对应的访问路径。
[0011]进一步的,若所述SoC系统中的CPU包含多个,并且所述多个CPU共用一个时钟源或共同关联一个模块,则当监测到SoC系统中的每一个CPU都进入空闲状态或者等待事件状态时,降低每一个CPU的时钟源和与每一个CPU关联的模块的时钟源的时钟频率。[0012]进一步的,所述降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率之后还包括:
[0013]降低所述SoC系统对应的电压管理芯片的电压。[0014]进一步的,所述降低所述SoC系统对应的电压管理芯片的电压包括:[0015]判断所述SoC系统的当前负载是否小于一负载阈值或者当前时间距离下一次时钟
5
CN 110399034 A
说 明 书
2/7页
唤醒时间是否大于一时间阈值,若是,则降低所述SoC系统对应的电压管理芯片的电压,否则,不降低所述SoC系统对应的电压管理芯片的电压。[0016]进一步的,在降低所述SoC系统对应的电压管理芯片的电压之后,还包括:[0017]监测到有中断或事件通知到CPU时,则将所述电压管理芯片的电压恢复到正常电压;
[0018]待所述电压管理芯片的电压恢复正常后,将所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率恢复到正常时钟频率。[0019]进一步的,所述监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率包括:
[0020]监测到所述CPU未通过第一总线路径进行访问并且所述第一总线路径上的各个其它Master模块未进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率。[0021]进一步的,所述监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率还包括:[0022]监测到所述CPU的第一总线路径上的总线未进行数据交换时,降低所述总线以及所述总线上的各个模块的时钟源的时钟频率。[0023]进一步的,监测到所述CPU或所述SoC系统中的其它Master模块通过所述第一总线路径发起访问时,将与所述第一总线路径对应的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率;
[0024]或者监测到所述第一总线路径上有总线接收到数据收发请求时,将所述总线以及总线上的各个模块的时钟源的时钟频率恢复到正常时钟频率;
[0025]或者监测到所述SoC系统的FIFO的存储空间为空或者为满时,则将所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率。[0026]为了解决上述技术问题,本发明采用的另一种技术方案为:[0027]一种SoC系统的功耗优化终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:[0028]监测SoC系统中的CPU是否进入空闲状态或者等待事件状态,若是,降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率;[0029]否则,监测SoC系统中的CPU是否通过第一总线路径进行数据访问,若否,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率;
[0030]所述第一总线路径包括所述CPU访问所述SoC系统中内部的寄存器时对应的访问路径。
[0031]进一步的,若所述SoC系统中的CPU包含多个,并且所述多个CPU共用一个时钟源或共同关联一个模块,则当监测到SoC系统中的每一个CPU都进入空闲状态或者等待事件状态时,降低每一个CPU的时钟源和与每一个CPU关联的模块的时钟源的时钟频率。[0032]进一步的,所述降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率之后还包括:
[0033]降低所述SoC系统对应的电压管理芯片的电压。[0034]进一步的,所述降低所述SoC系统对应的电压管理芯片的电压包括:
6
CN 110399034 A[0035]
说 明 书
3/7页
判断所述SoC系统的当前负载是否小于一负载阈值或者当前时间距离下一次时钟
唤醒时间是否大于一时间阈值,若是,则降低所述SoC系统对应的电压管理芯片的电压,否则,不降低所述SoC系统对应的电压管理芯片的电压。[0036]进一步的,在降低所述SoC系统中的电压管理芯片的电压之后,还包括:[0037]监测到有中断或事件通知到CPU时,则将所述电压管理芯片的电压恢复到正常电压;
[0038]待所述电压管理芯片的电压恢复正常后,将所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率恢复到正常时钟频率。[0039]进一步的,所述监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率包括:
[0040]监测到所述CPU未通过第一总线路径进行访问并且所述第一总线路径上的各个其它Master模块未进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率。[0041]进一步的,所述监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率还包括:[0042]监测到所述CPU的第一总线路径上的总线未进行数据交换时,降低所述总线以及所述总线上的各个模块的时钟源的时钟频率。[0043]进一步的,监测到所述CPU或所述SoC系统中的其它Master模块通过所述第一总线路径发起访问时,将与所述第一总线路径对应的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率;
[0044]或者监测到所述第一总线路径上有总线接收到数据收发请求时,将所述总线以及总线上的各个模块的时钟源的时钟频率恢复到正常时钟频率;
[0045]或者监测到所述SoC系统的FIFO的存储空间为空或者为满时,则将所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率。[0046]本发明的有益效果在于:由于当CPU进入空闲状态或者等待事件状态时,仅仅是CPU的核心处理单元进入低功耗状态,为CPU提供时钟树的模块的功耗还在,与CPU关联的各个模块的功耗也还在,同时尽管CPU没有访问任务了,但是其电压、时钟频率都没有改变,还运行在高频率、高电压的状态,而当CPU没有进入空闲状态或等待事件状态时,其大部分时间是访问DDR MEM,因此,当监测到CPU进入空闲状态或者等待事件状态时,一并降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率,当监测到SoC系统中的CPU没有通过访问SoC系统内部的寄存器的访问路径进行数据访问时,降低访问SoC系统内部的寄存器的访问路径上的各级总线以及各个模块的时钟源的时钟频率,无论CPU是否处于空闲状态或等待事件状态,都能够进一步降低与CPU有关联的其他功耗,从而有效地降低SoC系统的功耗。
附图说明
[0047]图1为本发明实施例的一种SoC系统的功耗优化方法的一步骤流程图;[0048]图2为本发明实施例的一种SoC系统的功耗优化终端的结构示意图;[0049]图3为本发明实施例的SoC系统的结构示意图;
7
CN 110399034 A[0050][0051][0052][0053]
说 明 书
4/7页
图4为本发明实施例的一种SoC系统的功耗优化方法的另一步骤流程图;
图5为本发明实施例的SoC系统中包含各种模块以及各种总线路径的结构示意图;标号说明:1、一种SoC系统的功耗优化终端;2、存储器;3、处理器。
具体实施方式
[00]为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。[0055]名词解释:[0056]Master模块:具有可以主动发起数据访问操作行为功能的SoC逻辑单元,比如DMA、CPU等;
[0057]外设模块:SoC系统中用于完成与外部设备的数据交互及相关数据处理的模块,比如UART模块、I2C模块、GPIO模块等。
[0058]本发明提出的SoC系统的功耗优化方法及终端能够适用于各种型号的SoC系统的功耗优化,下面结合具体的应用场景来说明。[0059]请参照图1,一种SoC系统的功耗优化方法,包括:
[0060]监测SoC系统中的CPU是否进入空闲状态或者等待事件状态,若是,降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率;[0061]否则,监测SoC系统中的CPU是否通过第一总线路径进行数据访问,若否,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率;
[0062]所述第一总线路径包括所述CPU访问所述SoC系统中内部的寄存器时对应的访问路径;
[0063]具体的,通过SoC系统内部的IC逻辑监测到CPU进入idle状态或者等待事件状态时,控制CPU的时钟源及与CPU相关联的模块的时钟源切块到一个更低的时钟频率,即降低后的时钟频率比正常工作的时钟频率低;[00]与CPU相关联的模块包括CACHE、BUS、CPU核间通信模块(CPU核间数据同步、一致性单元)及其它相关单元,具体的结构示意图如图3所示;[0065]在另一个可选的实施例中,在多CPU系统中,即若所述SoC系统中的CPU包含多个,并且所述多个CPU共用一个时钟源或共同关联一个模块,则需要监测到SoC系统中的每一个CPU都进入空闲状态或者等待事件状态时,才降低每一个CPU的时钟源和与每一个CPU关联的模块的时钟源的时钟频率,由此保证降低SoC系统能耗的同时又保证其正常工作;[0066]在另一个可选的实施例中,所述降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率之后还包括:
[0067]降低所述SoC系统对应的电压管理芯片的电压;[0068]具体的,通知PMIC电压管理芯片切换到一个更低的电压,即降低后的电压比正常工作电压低;
[0069]通过控制CPU及与其相关联的模块进入低频率低电压模式后,能够最大限度地降低SoC系统的功耗;
[0070]在另一个可选的实施例中,CPU及与其相关联的模块进入低频率低电压模式后,
8
CN 110399034 A
说 明 书
5/7页
SoC内部监测是否有中断或事件通知到CPU,若是,则通知PMIC电压管理芯片恢复到正常工作电压,待所述电压管理芯片的电压恢复正常后,将所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率恢复到正常时钟频率;[0071]在另一个可选的实施例中,在降低所述SoC系统中的电压管理芯片的电压时,先判断所述SoC系统的当前负载是否小于一负载阈值或者当前时间距离下一次时钟唤醒时间是否大于一时间阈值,若是,则降低所述SoC系统对应的电压管理芯片的电压,否则,不降低所述SoC系统对应的电压管理芯片的电压,其具体的流程图如图4所示;[0072]由于恢复电压需要微秒级时间,但是,恢复时钟频率需要几个时钟周期,所以可以根据系统的状态,选择时钟频率降低后是否还进一步降低电压,通过电压降低选择策略,在性能和功能间达到平衡;
[0073]在另一个可选的实施例中,SoC系统中,CPU对外的访问路径有两种:[0074]一种是对DDR内存单元的访问路径,本实施例将其表示为BUS_PATH_DDR,另一种即上述第一总线路径,包括对SoC内部各个模块(如GPIO、I2S等)对应寄存器的访问路径,还包括对SoC内部MEM的访问路径,如SRAM,本实施例表示为BUS_PATH_PERI,此外,SoC系统中,内部Master模块(比如DMA、UART模块(UART模块自身可以作为Master模块))主动发起数据传输经过的访问路径也属于BUS_PATH_PERI,其具体结构示意图如图5所示;[0075]监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率包括:
[0076]监测到所述CPU未通过第一总线路径BUS_PATH_PERI进行访问并且所述第一总线路径BUS_PATH_PERI上的各个其它Master模块未进行数据访问时,降低所述第一总线路径上的各级总线以及挂在总线上的各个模块(比如外设模块)的时钟源的时钟频率,优选的,可以进一步降低电压以进一步降低功耗;[0077]具体地,可是设置一个最小时钟频率,所述最小时钟频率小于正常时钟工作频率,当满足上述条件时,将所述第一总线路径上的各级总线以及各个模块(比如外设模块)的时钟源的时钟频率设置为最小时钟频率;
[0078]所述最小时钟频率保证不影响外设模块的正常工作,比如以UART模块为例,如果外设接口的传输数据速率为100k,那么对于SoC的UART外设模块的时钟频率不论在24M还是100M,外设模块UART均能够完成正常的工作;[0079]在另一个可选的实施例中,监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率还包括:
[0080]监测到所述CPU的第一总线路径BUS_PATH_PERI上的总线未进行数据交换时,降低所述总线以及所述总线上的各个模块的时钟源的时钟频率;[0081]也就是说,CPU的BUS_PATH_PERI包括有各级总线,其中有一条或几条进行数据交互,当监测到其中有几条总线没有进行数据交互时,则降低所述几条没有进行数据交换的总线以及挂在对应总线上的各个模块(比如外设模块)的时钟源的时钟频率,优选的,可以进一步降低电压以进一步降低功耗;
[0082]由于SoC系统中软件系统的代码、数据大部分存放在DDR内存单元中,所以CPU主要访问路径为BUS_PATH_DDR,CPU只有少部分的时间访问BUS_PATH_PERI,现有技术中CPU即使
9
CN 110399034 A
说 明 书
6/7页
没有访问BUS_PATH_PERI,BUS_PATH_PERI路径上各级总线以及总线上面挂载的各个模块控制器对应的时钟运行频率都维持在较高频率,从而消耗了SoC内部的功耗;需要维持高频的原因是CPU需要访问各个模块控制器的寄存器单元或缓存单元,由于CPU的频率很高,如果BUS_PATH_PERI各级总线及总线上面挂载的各个模块控制器的频率太低,会导致CPU效率下降,CPU长时间等待数据响应,功耗增加,如下面两种情况说明:[0083]说明1:对于GPIO模块,如果不论输入模式还是输出模块,很多情况下不需要运行在高频率下,但是如果CPU要对GPIO进行控制相关操作时,GPIO对应的总线要运行在高频率,否则由于CPU运行速度和GPIO对应的总线频率不匹配,导致CPU效率降低,功耗增大。[0084]说明2:在UART发送数据给外设时,如果FIFO快空的阈值到了,需要通过CPU或其它Master向SoC内部内存请求数据,在UART从外设接收数据时,如果FIFO快满的阈值到了,需要通过CPU或其它Master向UART FIFO发送数据,所以只有FIFO快空或快满时才需要对FIFO进行数据收发,此时才需要较高的时钟频率,否则时钟频率可以在较低值;[0085]因此,通过上述条件的判断,并适时地将CPU对应的第一总线路径上的各级总线以及各个模块(比如外设模块)的时钟源的时钟频率设置为最小时钟频率,能够可靠有效地降低SoC的功耗;
[0086]在另一个可选的实施例中,监测到所述CPU或所述SoC系统中的其它Master模块通过所述第一总线路径发起访问时,将与所述第一总线路径对应的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率;
[0087]或者监测到所述第一总线路径上有总线接收到数据收发请求时,将所述总线以及总线上的各个模块的时钟源的时钟频率恢复到正常时钟频率;
[0088]或者监测到所述SoC系统的FIFO的存储空间为空或者为满时,则将所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率,具体的,可以设置第一空间阈值和第二空间阈值,当FIFO的存储空间小于第一空间阈值时,判断FIFO的存储空间为空,当FIFO的存储空间大于第二空间阈值时,判断FIFO的存储空间为满;[00]或者如果总线上的模块,比如外设模块接收到中断请求,则将所述模块对应的总线的时钟源的时钟频率恢复到正常时钟频率。[0090]请参照图2,一种SoC系统的功耗优化终端1,包括存储器2、处理器3及存储在存储器2上并可在所述处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时分别实现上述各个方法实施例的各个步骤。[0091]综上所述,本发明提供的一种SoC系统的功耗优化方法及终端,当监测到SoC系统中的CPU进入空闲状态或者等待事件状态时,降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率,监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率,并且在判断SoC系统满足预设条件时,进一步降低SoC系统对应的电压管理芯片的电压,无论CPU是否处于空闲状态或等待事件状态,都能够进一步降低与CPU有关联的其他功耗,从而有效地降低SoC系统的功耗;同时不仅能够充分地降低SoC系统的功耗,而且能够保证SoC系统性能的稳定性,在SoC系统的功耗和性能之间达到一个平衡,实现了对SoC系统功耗的可靠优化。[0092]以上所述仅为本发明的实施例,并非因此本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括
10
CN 110399034 A
说 明 书
7/7页
在本发明的专利保护范围内。
11
CN 110399034 A
说 明 书 附 图
1/3页
图1
图2
12
CN 110399034 A
说 明 书 附 图
2/3页
图3
图4
13
CN 110399034 A
说 明 书 附 图
图5
14
3/3页
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuoyibo.net 版权所有 湘ICP备2023021910号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务