CN110399034B - 一种SoC系统的功耗优化方法及终端 - Google Patents
一种SoC系统的功耗优化方法及终端 Download PDFInfo
- Publication number
- CN110399034B CN110399034B CN201910600213.0A CN201910600213A CN110399034B CN 110399034 B CN110399034 B CN 110399034B CN 201910600213 A CN201910600213 A CN 201910600213A CN 110399034 B CN110399034 B CN 110399034B
- Authority
- CN
- China
- Prior art keywords
- cpu
- bus
- soc system
- clock
- module
- 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
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
- 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/3243—Power 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
本发明公开一种SoC系统的功耗优化方法及终端,监测SoC系统中的CPU是否进入空闲状态或者等待事件状态,若是,降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率;否则,监测SoC系统中的CPU是否通过第一总线路径进行数据访问,若否,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率;所述第一总线路径包括所述CPU访问所述SoC系统中内部的寄存器时对应的访问路径;无论CPU是否处于空闲状态或等待事件状态,都能够进一步降低与CPU有关联的其他功耗,从而有效地降低SoC系统的功耗。
Description
技术领域
本发明涉及功耗优化领域,尤其涉及一种SoC系统的功耗优化方法及终端。
背景技术
SoC称为系统级芯片,也称片上系统,即System on Chip,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。目前SoC芯片针对多核CPU系统的功耗优化方法都是基于CPU本身的处理,比如SoC没有任务给CPU,CPU进入idle空闲状态进而改善功耗;或者CPU在等待事件时(如:等待CPU间资源互锁释放),CPU会进入等待事件状态进而改善功耗。
但是,上述改善功耗的方法中CPU进入idle状态或等待事件状态时仅仅是CPU的核心处理单元进入低功耗状态,SoC系统中仍然存在很多产生功耗的地方。所以,上述改善功耗的方法并不能有效地降低SoC系统的功耗。
另外,CPU进行数据读写时,涉及两个路径,一个是对DDR MEM的访问,一个是对SOC内部模块寄存器的访问,由于CPU执行的代码及对应的数据主要在DDR MEM中,所以CPU大部分时间在访问DDR MEM,对SOC内部模块的访问较少,但是,CPU不访问SOC内部模块的时候,SOC内部模块对应的总线及模块逻辑都在高频运行,不利于功耗改善。
发明内容
本发明所要解决的技术问题是:提供一种SoC系统的功耗优化方法和终端,能够有效地降低SoC系统的功耗。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种SoC系统的功耗优化方法,包括:
监测到SoC系统中的CPU是否进入空闲状态或者等待事件状态,若是,降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率;
否则,监测SoC系统中的CPU是否通过第一总线路径进行数据访问,若否,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率;
所述第一总线路径包括所述CPU访问所述SoC系统中内部的寄存器时对应的访问路径。
进一步的,若所述SoC系统中的CPU包含多个,并且所述多个CPU共用一个时钟源或共同关联一个模块,则当监测到SoC系统中的每一个CPU都进入空闲状态或者等待事件状态时,降低每一个CPU的时钟源和与每一个CPU关联的模块的时钟源的时钟频率。
进一步的,所述降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率之后还包括:
降低所述SoC系统对应的电压管理芯片的电压。
进一步的,所述降低所述SoC系统对应的电压管理芯片的电压包括:
判断所述SoC系统的当前负载是否小于一负载阈值或者当前时间距离下一次时钟唤醒时间是否大于一时间阈值,若是,则降低所述SoC系统对应的电压管理芯片的电压,否则,不降低所述SoC系统对应的电压管理芯片的电压。
进一步的,在降低所述SoC系统对应的电压管理芯片的电压之后,还包括:
监测到有中断或事件通知到CPU时,则将所述电压管理芯片的电压恢复到正常电压;
待所述电压管理芯片的电压恢复正常后,将所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率恢复到正常时钟频率。
进一步的,所述监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率包括:
监测到所述CPU未通过第一总线路径进行访问并且所述第一总线路径上的各个其它Master模块未进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率。
进一步的,所述监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率还包括:
监测到所述CPU的第一总线路径上的总线未进行数据交换时,降低所述总线以及所述总线上的各个模块的时钟源的时钟频率。
进一步的,监测到所述CPU或所述SoC系统中的其它Master模块通过所述第一总线路径发起访问时,将与所述第一总线路径对应的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率;
或者监测到所述第一总线路径上有总线接收到数据收发请求时,将所述总线以及总线上的各个模块的时钟源的时钟频率恢复到正常时钟频率;
或者监测到所述SoC系统的FIFO的存储空间为空或者为满时,则将所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种SoC系统的功耗优化终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
监测SoC系统中的CPU是否进入空闲状态或者等待事件状态,若是,降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率;
否则,监测SoC系统中的CPU是否通过第一总线路径进行数据访问,若否,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率;
所述第一总线路径包括所述CPU访问所述SoC系统中内部的寄存器时对应的访问路径。
进一步的,若所述SoC系统中的CPU包含多个,并且所述多个CPU共用一个时钟源或共同关联一个模块,则当监测到SoC系统中的每一个CPU都进入空闲状态或者等待事件状态时,降低每一个CPU的时钟源和与每一个CPU关联的模块的时钟源的时钟频率。
进一步的,所述降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率之后还包括:
降低所述SoC系统对应的电压管理芯片的电压。
进一步的,所述降低所述SoC系统对应的电压管理芯片的电压包括:
判断所述SoC系统的当前负载是否小于一负载阈值或者当前时间距离下一次时钟唤醒时间是否大于一时间阈值,若是,则降低所述SoC系统对应的电压管理芯片的电压,否则,不降低所述SoC系统对应的电压管理芯片的电压。
进一步的,在降低所述SoC系统中的电压管理芯片的电压之后,还包括:
监测到有中断或事件通知到CPU时,则将所述电压管理芯片的电压恢复到正常电压;
待所述电压管理芯片的电压恢复正常后,将所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率恢复到正常时钟频率。
进一步的,所述监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率包括:
监测到所述CPU未通过第一总线路径进行访问并且所述第一总线路径上的各个其它Master模块未进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率。
进一步的,所述监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率还包括:
监测到所述CPU的第一总线路径上的总线未进行数据交换时,降低所述总线以及所述总线上的各个模块的时钟源的时钟频率。
进一步的,监测到所述CPU或所述SoC系统中的其它Master模块通过所述第一总线路径发起访问时,将与所述第一总线路径对应的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率;
或者监测到所述第一总线路径上有总线接收到数据收发请求时,将所述总线以及总线上的各个模块的时钟源的时钟频率恢复到正常时钟频率;
或者监测到所述SoC系统的FIFO的存储空间为空或者为满时,则将所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率。
本发明的有益效果在于:由于当CPU进入空闲状态或者等待事件状态时,仅仅是CPU的核心处理单元进入低功耗状态,为CPU提供时钟树的模块的功耗还在,与CPU关联的各个模块的功耗也还在,同时尽管CPU没有访问任务了,但是其电压、时钟频率都没有改变,还运行在高频率、高电压的状态,而当CPU没有进入空闲状态或等待事件状态时,其大部分时间是访问DDR MEM,因此,当监测到CPU进入空闲状态或者等待事件状态时,一并降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率,当监测到SoC系统中的CPU没有通过访问SoC系统内部的寄存器的访问路径进行数据访问时,降低访问SoC系统内部的寄存器的访问路径上的各级总线以及各个模块的时钟源的时钟频率,无论CPU是否处于空闲状态或等待事件状态,都能够进一步降低与CPU有关联的其他功耗,从而有效地降低SoC系统的功耗。
附图说明
图1为本发明实施例的一种SoC系统的功耗优化方法的一步骤流程图;
图2为本发明实施例的一种SoC系统的功耗优化终端的结构示意图;
图3为本发明实施例的SoC系统的结构示意图;
图4为本发明实施例的一种SoC系统的功耗优化方法的另一步骤流程图;
图5为本发明实施例的SoC系统中包含各种模块以及各种总线路径的结构示意图;
标号说明:
1、一种SoC系统的功耗优化终端;2、存储器;3、处理器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
名词解释:
Master模块:具有可以主动发起数据访问操作行为功能的SoC逻辑单元,比如DMA、CPU等;
外设模块:SoC系统中用于完成与外部设备的数据交互及相关数据处理的模块,比如UART模块、I2C模块、GPIO模块等。
本发明提出的SoC系统的功耗优化方法及终端能够适用于各种型号的SoC系统的功耗优化,下面结合具体的应用场景来说明。
请参照图1,一种SoC系统的功耗优化方法,包括:
监测SoC系统中的CPU是否进入空闲状态或者等待事件状态,若是,降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率;
否则,监测SoC系统中的CPU是否通过第一总线路径进行数据访问,若否,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率;
所述第一总线路径包括所述CPU访问所述SoC系统中内部的寄存器时对应的访问路径;
具体的,通过SoC系统内部的IC逻辑监测到CPU进入idle状态或者等待事件状态时,控制CPU的时钟源及与CPU相关联的模块的时钟源切块到一个更低的时钟频率,即降低后的时钟频率比正常工作的时钟频率低;
与CPU相关联的模块包括CACHE、BUS、CPU核间通信模块(CPU核间数据同步、一致性单元)及其它相关单元,具体的结构示意图如图3所示;
在另一个可选的实施例中,在多CPU系统中,即若所述SoC系统中的CPU包含多个,并且所述多个CPU共用一个时钟源或共同关联一个模块,则需要监测到SoC系统中的每一个CPU都进入空闲状态或者等待事件状态时,才降低每一个CPU的时钟源和与每一个CPU关联的模块的时钟源的时钟频率,由此保证降低SoC系统能耗的同时又保证其正常工作;
在另一个可选的实施例中,所述降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率之后还包括:
降低所述SoC系统对应的电压管理芯片的电压;
具体的,通知PMIC电压管理芯片切换到一个更低的电压,即降低后的电压比正常工作电压低;
通过控制CPU及与其相关联的模块进入低频率低电压模式后,能够最大限度地降低SoC系统的功耗;
在另一个可选的实施例中,CPU及与其相关联的模块进入低频率低电压模式后,SoC内部监测是否有中断或事件通知到CPU,若是,则通知PMIC电压管理芯片恢复到正常工作电压,待所述电压管理芯片的电压恢复正常后,将所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率恢复到正常时钟频率;
在另一个可选的实施例中,在降低所述SoC系统中的电压管理芯片的电压时,先判断所述SoC系统的当前负载是否小于一负载阈值或者当前时间距离下一次时钟唤醒时间是否大于一时间阈值,若是,则降低所述SoC系统对应的电压管理芯片的电压,否则,不降低所述SoC系统对应的电压管理芯片的电压,其具体的流程图如图4所示;
由于恢复电压需要微秒级时间,但是,恢复时钟频率需要几个时钟周期,所以可以根据系统的状态,选择时钟频率降低后是否还进一步降低电压,通过电压降低选择策略,在性能和功能间达到平衡;
在另一个可选的实施例中,SoC系统中,CPU对外的访问路径有两种:
一种是对DDR内存单元的访问路径,本实施例将其表示为BUS_PATH_DDR,另一种即上述第一总线路径,包括对SoC内部各个模块(如GPIO、I2S等)对应寄存器的访问路径,还包括对SoC内部MEM的访问路径,如SRAM,本实施例表示为BUS_PATH_PERI,此外,SoC系统中,内部Master模块(比如DMA、UART模块(UART模块自身可以作为Master模块))主动发起数据传输经过的访问路径也属于BUS_PATH_PERI,其具体结构示意图如图5所示;
监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率包括:
监测到所述CPU未通过第一总线路径BUS_PATH_PERI进行访问并且所述第一总线路径BUS_PATH_PERI上的各个其它Master模块未进行数据访问时,降低所述第一总线路径上的各级总线以及挂在总线上的各个模块(比如外设模块)的时钟源的时钟频率,优选的,可以进一步降低电压以进一步降低功耗;
具体地,可是设置一个最小时钟频率,所述最小时钟频率小于正常时钟工作频率,当满足上述条件时,将所述第一总线路径上的各级总线以及各个模块(比如外设模块)的时钟源的时钟频率设置为最小时钟频率;
所述最小时钟频率保证不影响外设模块的正常工作,比如以UART模块为例,如果外设接口的传输数据速率为100k,那么对于SoC的UART外设模块的时钟频率不论在24M还是100M,外设模块UART均能够完成正常的工作;
在另一个可选的实施例中,监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率还包括:
监测到所述CPU的第一总线路径BUS_PATH_PERI上的总线未进行数据交换时,降低所述总线以及所述总线上的各个模块的时钟源的时钟频率;
也就是说,CPU的BUS_PATH_PERI包括有各级总线,其中有一条或几条进行数据交互,当监测到其中有几条总线没有进行数据交互时,则降低所述几条没有进行数据交换的总线以及挂在对应总线上的各个模块(比如外设模块)的时钟源的时钟频率,优选的,可以进一步降低电压以进一步降低功耗;
由于SoC系统中软件系统的代码、数据大部分存放在DDR内存单元中,所以CPU主要访问路径为BUS_PATH_DDR,CPU只有少部分的时间访问BUS_PATH_PERI,现有技术中CPU即使没有访问BUS_PATH_PERI,BUS_PATH_PERI路径上各级总线以及总线上面挂载的各个模块控制器对应的时钟运行频率都维持在较高频率,从而消耗了SoC内部的功耗;需要维持高频的原因是CPU需要访问各个模块控制器的寄存器单元或缓存单元,由于CPU的频率很高,如果BUS_PATH_PERI各级总线及总线上面挂载的各个模块控制器的频率太低,会导致CPU效率下降,CPU长时间等待数据响应,功耗增加,如下面两种情况说明:
说明1:对于GPIO模块,如果不论输入模式还是输出模块,很多情况下不需要运行在高频率下,但是如果CPU要对GPIO进行控制相关操作时,GPIO对应的总线要运行在高频率,否则由于CPU运行速度和GPIO对应的总线频率不匹配,导致CPU效率降低,功耗增大。
说明2:在UART发送数据给外设时,如果FIFO快空的阈值到了,需要通过CPU或其它Master向SoC内部内存请求数据,在UART从外设接收数据时,如果FIFO快满的阈值到了,需要通过CPU或其它Master向UART FIFO发送数据,所以只有FIFO快空或快满时才需要对FIFO进行数据收发,此时才需要较高的时钟频率,否则时钟频率可以在较低值;
因此,通过上述条件的判断,并适时地将CPU对应的第一总线路径上的各级总线以及各个模块(比如外设模块)的时钟源的时钟频率设置为最小时钟频率,能够可靠有效地降低SoC的功耗;
在另一个可选的实施例中,监测到所述CPU或所述SoC系统中的其它Master模块通过所述第一总线路径发起访问时,将与所述第一总线路径对应的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率;
或者监测到所述第一总线路径上有总线接收到数据收发请求时,将所述总线以及总线上的各个模块的时钟源的时钟频率恢复到正常时钟频率;
或者监测到所述SoC系统的FIFO的存储空间为空或者为满时,则将所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率,具体的,可以设置第一空间阈值和第二空间阈值,当FIFO的存储空间小于第一空间阈值时,判断FIFO的存储空间为空,当FIFO的存储空间大于第二空间阈值时,判断FIFO的存储空间为满;
或者如果总线上的模块,比如外设模块接收到中断请求,则将所述模块对应的总线的时钟源的时钟频率恢复到正常时钟频率。
请参照图2,一种SoC系统的功耗优化终端1,包括存储器2、处理器3及存储在存储器2上并可在所述处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时分别实现上述各个方法实施例的各个步骤。
综上所述,本发明提供的一种SoC系统的功耗优化方法及终端,当监测到SoC系统中的CPU进入空闲状态或者等待事件状态时,降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率,监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率,并且在判断SoC系统满足预设条件时,进一步降低SoC系统对应的电压管理芯片的电压,无论CPU是否处于空闲状态或等待事件状态,都能够进一步降低与CPU有关联的其他功耗,从而有效地降低SoC系统的功耗;同时不仅能够充分地降低SoC系统的功耗,而且能够保证SoC系统性能的稳定性,在SoC系统的功耗和性能之间达到一个平衡,实现了对SoC系统功耗的可靠优化。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种SoC系统的功耗优化方法,其特征在于,包括:
监测SoC系统中的CPU是否进入空闲状态或者等待事件状态,若是,降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率;
否则,监测SoC系统中的CPU是否通过第一总线路径进行数据访问,若否,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率;
所述第一总线路径包括所述CPU访问所述SoC系统中内部的寄存器时对应的访问路径;
当监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率包括:
当监测到所述CPU未通过第一总线路径进行访问并且所述第一总线路径上的各个其它Master模块未进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率;
当监测到所述CPU或所述SoC系统中的其它Master模块通过所述第一总线路径发起访问时,将与所述第一总线路径对应的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率;
或者监测到所述第一总线路径上有总线接收到数据收发请求时,将所述总线以及总线上的各个模块的时钟源的时钟频率恢复到正常时钟频率;
或者监测到所述SoC系统的FIFO的存储空间为空或者为满时,则将所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率。
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的第一总线路径上的总线未进行数据交换时,降低所述总线以及所述总线上的各个模块的时钟源的时钟频率。
7.一种SoC系统的功耗优化终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
监测SoC系统中的CPU是否进入空闲状态或者等待事件状态,若是,降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率;
否则,监测到SoC系统中的CPU是否通过第一总线路径进行数据访问,若是,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率;
所述第一总线路径包括所述CPU访问所述SoC系统中内部的寄存器时对应的访问路径;
当监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率包括:
当监测到所述CPU未通过第一总线路径进行访问并且所述第一总线路径上的各个其它Master模块未进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率;
当监测到所述CPU或所述SoC系统中的其它Master模块通过所述第一总线路径发起访问时,将与所述第一总线路径对应的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率;
或者监测到所述第一总线路径上有总线接收到数据收发请求时,将所述总线以及总线上的各个模块的时钟源的时钟频率恢复到正常时钟频率;
或者监测到所述SoC系统的FIFO的存储空间为空或者为满时,则将所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率恢复到正常时钟频率。
8.根据权利要求7所述的一种SoC系统的功耗优化终端,其特征在于,若所述SoC系统中的CPU包含多个,并且所述多个CPU共用一个时钟源或共同关联一个模块,则当监测到SoC系统中的每一个CPU都进入空闲状态或者等待事件状态时,降低每一个CPU的时钟源和与每一个CPU关联的模块的时钟源的时钟频率。
9.根据权利要求7或8所述的一种SoC系统的功耗优化终端,其特征在于,所述降低所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率之后还包括:
降低所述SoC系统对应的电压管理芯片的电压。
10.根据权利要求9所述的一种SoC系统的功耗优化终端,其特征在于,所述降低所述SoC系统对应的电压管理芯片的电压包括:
判断所述SoC系统的当前负载是否小于一负载阈值或者当前时间距离下一次时钟唤醒时间是否大于一时间阈值,若是,则降低所述SoC系统对应的电压管理芯片的电压,否则,不降低所述SoC系统对应的电压管理芯片的电压。
11.根据权利要求9所述的一种SoC系统的功耗优化终端,其特征在于,在降低所述SoC系统对应的电压管理芯片的电压之后,还包括:
监测到有中断或事件通知到CPU时,则将所述电压管理芯片的电压恢复到正常电压;
待所述电压管理芯片的电压恢复正常后,将所述CPU的时钟源和与所述CPU关联的模块的时钟源的时钟频率恢复到正常时钟频率。
12.根据权利要求7所述的一种SoC系统的功耗优化终端,其特征在于,所述监测到SoC系统中的CPU没有通过第一总线路径进行数据访问时,降低所述第一总线路径上的各级总线以及各个模块的时钟源的时钟频率还包括:
监测到所述CPU的第一总线路径上的总线未进行数据交换时,降低所述总线以及所述总线上的各个模块的时钟源的时钟频率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910600213.0A CN110399034B (zh) | 2019-07-04 | 2019-07-04 | 一种SoC系统的功耗优化方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910600213.0A CN110399034B (zh) | 2019-07-04 | 2019-07-04 | 一种SoC系统的功耗优化方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110399034A CN110399034A (zh) | 2019-11-01 |
CN110399034B true CN110399034B (zh) | 2021-08-17 |
Family
ID=68323851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910600213.0A Active CN110399034B (zh) | 2019-07-04 | 2019-07-04 | 一种SoC系统的功耗优化方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110399034B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112312527A (zh) * | 2020-08-07 | 2021-02-02 | 神州融安科技(北京)有限公司 | 降低u盾功耗的方法及装置 |
CN112131175B (zh) * | 2020-08-28 | 2022-06-17 | 山东云海国创云计算装备产业创新中心有限公司 | 一种SoC芯片、功耗控制方法及可读存储介质 |
CN111966205B (zh) * | 2020-09-08 | 2023-03-24 | 苏州浪潮智能科技有限公司 | 一种支持pfr的服务器cpld的省电方法及装置 |
CN112835842B (zh) * | 2021-03-05 | 2024-04-30 | 深圳市汇顶科技股份有限公司 | 端序处理方法、电路、芯片以及电子终端 |
CN117608388B (zh) * | 2024-01-15 | 2024-06-21 | 珠海全志科技股份有限公司 | 应用于SoC系统的功耗控制方法及装置、SoC系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1629773A (zh) * | 2003-12-15 | 2005-06-22 | 仁宝电脑工业股份有限公司 | 动态调整中央处理器频率的方法 |
CN1764887A (zh) * | 2003-03-24 | 2006-04-26 | 英特尔公司 | 在节能模式下运行时减少cpu和总线功率 |
CN101477398A (zh) * | 2008-12-25 | 2009-07-08 | 深圳华为通信技术有限公司 | 一种终端功耗控制方法及装置 |
CN109219787A (zh) * | 2016-03-28 | 2019-01-15 | 高通股份有限公司 | 处理器频率和总线带宽的基于作用和停滞循环的动态缩放 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7051227B2 (en) * | 2002-09-30 | 2006-05-23 | Intel Corporation | Method and apparatus for reducing clock frequency during low workload periods |
CN100361040C (zh) * | 2004-02-24 | 2008-01-09 | 中国科学院计算技术研究所 | 一种soc架构下的处理器核动态变频装置和方法 |
CN1661576B (zh) * | 2004-02-25 | 2010-04-28 | 中国科学院计算技术研究所 | Soc架构下的高速总线动态变频装置和处理器核接口 |
KR100716730B1 (ko) * | 2004-06-11 | 2007-05-14 | 삼성전자주식회사 | 중앙 처리 장치의 아이들 상태에서의 시스템 전력 소모절감을 위한 방법 및 그 방법을 적용한 모바일 장치 |
CN100568993C (zh) * | 2007-09-18 | 2009-12-09 | 中兴通讯股份有限公司 | 一种多模移动终端的电源管理方法及多模移动终端 |
CN102566655B (zh) * | 2010-12-14 | 2015-01-07 | 联芯科技有限公司 | 片外存储器的总线动态调频方法及其系统 |
US9436254B2 (en) * | 2012-03-13 | 2016-09-06 | Intel Corporation | Method and apparatus for per core performance states |
CN105573408A (zh) * | 2014-10-16 | 2016-05-11 | 飞思卡尔半导体公司 | 集成电路以及低功率操作方法 |
CN105843370A (zh) * | 2016-05-31 | 2016-08-10 | 合肥联宝信息技术有限公司 | 一种电子设备及其省电控制方法 |
-
2019
- 2019-07-04 CN CN201910600213.0A patent/CN110399034B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1764887A (zh) * | 2003-03-24 | 2006-04-26 | 英特尔公司 | 在节能模式下运行时减少cpu和总线功率 |
CN1629773A (zh) * | 2003-12-15 | 2005-06-22 | 仁宝电脑工业股份有限公司 | 动态调整中央处理器频率的方法 |
CN101477398A (zh) * | 2008-12-25 | 2009-07-08 | 深圳华为通信技术有限公司 | 一种终端功耗控制方法及装置 |
CN109219787A (zh) * | 2016-03-28 | 2019-01-15 | 高通股份有限公司 | 处理器频率和总线带宽的基于作用和停滞循环的动态缩放 |
Non-Patent Citations (1)
Title |
---|
"基于多核环境的节能调度策略研究";葛宇翔;《中国优秀硕士学位论文全文数据库信息科技辑》;中国学术期刊(光盘版)电子杂志社;20190215;I137-40 * |
Also Published As
Publication number | Publication date |
---|---|
CN110399034A (zh) | 2019-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110399034B (zh) | 一种SoC系统的功耗优化方法及终端 | |
US9740645B2 (en) | Reducing latency in a peripheral component interconnect express link | |
US10877766B2 (en) | Embedded scheduling of hardware resources for hardware acceleration | |
JP6197196B2 (ja) | 電力効率の優れたプロセッサアーキテクチャ | |
CN101320289A (zh) | 提高多内核处理器性能的方法、系统和装置 | |
JP2011233158A (ja) | Pcuにプロセッサアーキテクチャイベントをファクタリングすることによる電力使用の最適化 | |
JPWO2008152790A1 (ja) | マルチプロセッサ制御装置、マルチプロセッサ制御方法及びマルチプロセッサ制御回路 | |
CN102057344A (zh) | 睡眠处理器 | |
CN111512266A (zh) | 用于低功率状态转换的握手协议的系统、装置和方法 | |
US9541987B2 (en) | Generic host-based controller latency method and appartus | |
CN101251834B (zh) | 主总线参数调整方法、计算机系统 | |
CN111684391B (zh) | 全系统低功率管理 | |
US20130311699A1 (en) | Operations using direct memory access | |
CN113946537A (zh) | 一种加速装置及服务器 | |
WO2014031384A1 (en) | Power management of multiple compute units sharing a cache | |
US20150067385A1 (en) | Information processing system and method for processing failure | |
KR101672357B1 (ko) | 응답 타이밍 최적화에 기초하는 멀티프로세서 시스템에서의 주파수 조정 수행 | |
US10127076B1 (en) | Low latency thread context caching | |
US9043507B2 (en) | Information processing system | |
US20240004454A1 (en) | Control of power state in computer processor | |
CN114153303B (zh) | 一种功耗控制系统和功耗控制方法、装置、介质 | |
TWI823655B (zh) | 適用於智慧處理器的任務處理系統與任務處理方法 | |
JPH04229354A (ja) | 電力消費節減のためにインタラプト待ち状態のマイクロプロセッサのウェイクアップフェーズ間にdmaモードでのデータトランスファー | |
WO2024073193A1 (en) | Selecting between basic and global persistent flush modes | |
CN118467441A (zh) | 多种从机数据处理的网络系统和方法 |
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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: 350000 building 18, 89 software Avenue, Gulou District, Fuzhou City, Fujian Province Patentee after: Ruixin Microelectronics Co.,Ltd. Address before: 350000 building 18, 89 software Avenue, Gulou District, Fuzhou City, Fujian Province Patentee before: FUZHOU ROCKCHIP ELECTRONICS Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |