自动切换处理器时钟的控制系统及芯片的制作方法

文档序号:33321445发布日期:2023-03-03 20:52阅读:31来源:国知局
自动切换处理器时钟的控制系统及芯片的制作方法

1.本发明涉及计算机技术领域,特别是自动切换处理器时钟的控制系统及芯片。


背景技术:

2.随着科技的发展,处理器需要处理更多数据,若需要控制代码空间内缓存的高算力的算法程序运行,例如在工作频率比较低的处理器需控制代码空间内缓存的高算力的算法程序运行的状态下,需要调节处理器进入较高的时钟频率下工作;然而,为了应用软件能够正常(无过大延时误差)响应各个切换指令以适应当前软件环境下所需执行的高算力的固件程序,处理器在现有技术的应用环境下需要通过软件配置相关的时钟寄存器,则会增加较多的指令操作运行时间,导致处理器在不同工作频率切换过程中耗费较多时间,对应产生较高的功耗,处理器所在的系统设备就消耗大量的电能,进而缩减处理器的工作寿命,影响处理器的工作性能。


技术实现要素:

3.本技术公开自动切换处理器时钟的控制系统及芯片,具体的技术方案如下:自动切换处理器时钟的控制系统,该控制系统包括切换控制单元、cpu单元以及通路选择器;切换控制单元与每个代码分区连接,切换控制单元也与cpu单元连接;切换控制单元,用于检测cpu单元当前访问的代码分区,再依据cpu单元当前访问的代码分区向通路选择器发送选择信号;通路选择器的输入端与时钟源连接,通路选择器的输出端与cpu单元连接,通路选择器的选择端与切换控制单元连接;通路选择器用于在接收到所述选择信号后,将输出给所述cpu单元的时钟信号切换为所述cpu单元当前访问代码分区所需的时钟信号。
4.进一步地,控制系统还包括至少两个代码分区,和/或控制系统的外部设置有至少两个代码分区;控制系统还包括时钟源,和/或控制系统的外部设置有时钟源;其中,时钟源包括至少两个时钟信号;其中,时钟源所包括的时钟信号当中,存在cpu单元访问每个代码分区所需的时钟信号。
5.进一步地,所述时钟源包括第一工作时钟信号和第二工作时钟信号,其中,第一工作时钟信号的时钟频率高于第二工作时钟信号的时钟频率;控制系统的内部存在第一代码分区和第二代码分区,或者控制系统的外部存在第一代码分区和第二代码分区;第一工作时钟信号是cpu单元访问第一代码分区所需的时钟信号,第二工作时钟信号是cpu单元访问第二代码分区所需的时钟信号,其中,第一代码分区内存储的代码对应匹配的算力高于第二代码分区内存储的代码对应匹配的算力;第一代码分区内存储的代码运行所需的时钟频率高于第二代码分区内存储的代码运行所需的时钟频率。
6.进一步地,所述选择信号包括第一选择信号和第二选择信号;所述切换控制单元,用于检测到cpu单元当前访问的代码分区由第一代码分区变为第二代码分区时,确定cpu单元当前访问第二代码分区所需的时钟信号是第二工作时钟信号,并向通路选择器发送第一
选择信号;所述通路选择器,用于接收到第一选择信号后,将第一工作时钟信号切换为第二工作时钟信号,再将第二工作时钟信号输出给所述cpu单元,以使所述cpu单元的工作频率由第一工作时钟信号的时钟频率降低为第二工作时钟信号的时钟频率;所述切换控制单元,用于检测到cpu单元当前访问的代码分区由第二代码分区变为第一代码分区时,确定cpu单元当前访问第一代码分区所需的时钟信号是第一工作时钟信号,并向通路选择器发送第二选择信号;所述通路选择器,用于接收到第二选择信号后,将第二工作时钟信号切换为第一工作时钟信号,再将第一工作时钟信号输出给所述cpu单元,以使所述cpu单元的工作频率由第二工作时钟信号的时钟频率增大为第一工作时钟信号的时钟频率。
7.进一步地,所述第一代码分区是设置在只读存储器内,所述第二代码分区是设置在擦除读写存储器内;只读存储器内部固化有第一系统软件环境和第一固化时钟信号,只读存储器内部存储的代码在第一固化时钟信号的驱动作用下运行于第一系统软件环境内,以减少只读存储器外部的软件配置信息的干预;第一代码分区内存储的代码允许所述cpu单元在第一工作时钟信号下进行访问;擦除读写存储器内部固化有第二系统软件环境和第二固化时钟信号,擦除读写存储器内部存储的代码在第二固化时钟信号的驱动作用下运行于第二系统软件环境内,以减少擦除读写存储器外部的软件配置信息的干预;第二代码分区内存储的代码允许所述cpu单元在第二工作时钟信号下进行访问;其中,第一固化时钟信号的时钟频率高于第二固化时钟信号的时钟频率。
8.进一步地,所述cpu单元处于低功耗状态时,cpu单元访问所述第二代码分区,且所述第二代码分区的内部存储的代码处于运行状态;当所述cpu单元的内部或所述cpu单元的外部通过硬件中断的方式来中止所述cpu单元访问所述第二代码分区后,所述cpu单元被触发为开始访问所述第一代码分区,再由所述切换控制单元控制所述通路选择器将输出给所述cpu单元的时钟信号切换为所述第一工作时钟信号;其中,所述控制系统的内部设置有用于触发中断信号的定时器,定时器计数产生中断信号以通知所述cpu单元,形成硬件中断的触发方式。
9.进一步地,所述cpu单元,用于在休眠状态下被唤醒后,通过硬件中断的方式来触发所述切换控制单元向所述通路选择器发送所述第二选择信号,以使所述通路选择器输出给所述cpu单元的时钟信号切换为第一工作时钟信号,并将cpu单元所需访问的代码分区切换为所述第一代码分区,并引导所述第一代码分区的内部存储的代码由挂起状态恢复为运行状态但不改变所述第一代码分区的内部存储的代码运行所需的时钟信号的时钟频率;其中,所述cpu单元处于休眠状态下,硬件中断的入口地址是设置在第一代码分区内;休眠状态是属于一种所述低功耗状态。
10.进一步地,所述cpu单元通过所述总线访问对应的代码分区以获取对应的代码分区内存储的代码;所述切换控制单元通过所述总线与每个代码分区建立通信联系,以获取每个代码分区内的存储地址,并监视代码分区被所述cpu单元访问的情况;所述切换控制单元还通过所述总线与所述cpu单元建立通信联系,以确定所述cpu单元当前所需访问的代码分区。
11.进一步地,每个代码分区都是从同一个代码空间分配出来,每个代码分区都挂载在同一总线上并将对应的存储地址缓存到同一总线上;所述cpu单元、所述切换控制单元以及每个代码分区都通过同一总线建立通信联系。
12.进一步地,所述时钟源包括第一时钟单元和第二时钟单元;所述第一时钟单元与所述通路选择器连接;所述通路选择器用于在接收到第二选择信号后,将所述第一时钟单元的输出端接通至所述cpu单元,让所述第一时钟单元为所述cpu单元提供第一工作时钟信号;或者,所述第一时钟单元通过第一分频器与所述通路选择器连接,第一分频器将所述第一时钟单元输出的时钟信号分频处理为第一工作时钟信号;所述通路选择器用于在接收到第二选择信号后,将所述第一分频器的输出端接通至所述cpu单元,让所述第一分频器为所述cpu单元提供第一工作时钟信号;所述第二时钟单元与所述通路选择器连接,所述通路选择器用于在接收到第一选择信号后,将所述第二时钟单元的输出端接通至所述cpu单元,让所述第二时钟单元为所述cpu单元提供第二工作时钟信号;或者,所述第二时钟单元通过第二分频器与所述通路选择器连接,第二分频器将所述第二时钟单元输出的时钟信号分频处理为第二工作时钟信号,所述通路选择器用于在接收到第一选择信号后,将所述第二分频器的输出端接通至所述cpu单元,让所述第二分频器为所述cpu单元提供第二工作时钟信号。
13.一种芯片,该芯片集成所述的自动切换处理器时钟的控制系统。
14.本技术公开的技术方案的技术效果在于:本技术是基于切换控制单元、cpu单元以及通路选择器组成自动切换处理器时钟的控制系统,该控制系统的内外可以设置代码分区和时钟源,以供所述控制系统根据当前访问的代码分区内运行代码所处的时钟频率的高低情况,自动选择时钟源所能提供的时钟信号输出给所述cpu单元,通过硬件上的选择器自动对输入cpu单元的不同时钟信号进行切换,从而基于需要访问的代码分区来对cpu单元的工作频率进行自适应调整;相对于现有技术的时钟源切换操作,减少调用过多的时钟寄存器进行分频处理,即可以在不使用分频器的前提下,对cpu单元的工作频率进行升降频;也不需要在专门的配置单元中对处理器在时钟信号切换过程中的动作进行配置,不要求cpu单元频繁执行用于时钟信号切换的指令代码,减少处理器内置的相关操作系统中的软件指令干预力度,从而减少整个时钟信号在切换过程中的耗时,降低cpu单元在时钟信号切换过程中产生的功耗,进而降低整个控制系统的功耗。
15.其中,切换控制单元通过检测cpu单元访问代码分区的情况,来控制通路选择器自动切换输入cpu单元的时钟信号,以实现对cpu单元的工作频率的自适应调整。防止低时钟频率下运行代码的代码分区被处于较高工作频率状态下的cpu单元访问,减少cpu单元产生的功耗;具体地,低时钟频率下运行代码的代码分区需要被cpu单元访问时,cpu单元适当降低工作频率,此时,高时钟频率下运行代码的代码分区可能处于闲置状态,可以降低cpu单元的功耗。也防止高时钟频率下运行代码的代码分区被处于较低工作频率状态下的cpu单元访问,以维持系统的正常运行,进一步地,在减少软件指令干预的前提下,即使cpu单元的工作频率需要提升为过高的工作频率,cpu单元也不会因为频率差值过大的时钟信号切换而产生过大的功耗。
16.本技术公开的所述控制系统还可以根据cpu单元当前所处的功耗工作状态(比如休眠状态),通过硬件中断的方式来触发cpu单元的工作频率往高频率变化,即cpu处于休眠状态时,一经外部硬件触发唤醒,进入到硬件中断引导的在第一代码分区内的入口地址,使得cpu单元启动后切换到高频时钟域,由于减少了应用软件的配置,cpu单元在唤醒后可以直接从中断入口地址开始访问高频率的时钟域,减少了时钟信号切换的指令操作带来的能
量消耗,实现更合理的功耗调整,从而在不产生过多功耗的前提下,cpu单元在唤醒后能够工作在更高的工作频率,提升cpu单元的工作性能。
附图说明
17.图1是本发明的一种实施例公开的自动切换处理器时钟的控制系统的框架示意图。
具体实施方式
18.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
19.在本技术的相关描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
20.在本技术的描述中,除非另有明确的限定,设置、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本技术中的具体含义。
21.计算机内部架构决定计算机内部指令和计算机数据的传输走向,对计算机系统的性能和工作方式有决定性的影响。目前,计算机的内部构包括处理器(cpu)、存储器桥和输入/输出(i/o)桥。其中,处理器(cpu)负责计算机数据的处理和给存储器桥发出指令;存储器桥负责与存储器、显卡和i/0桥的连接,接收cpu发送的指令,将该指令转发到相应的存储器、显卡或i/o桥;i/o桥负责与外部设备的连接,将所接收到的指令发送给相应的外部设备,由外部设备执行。
22.提到处理器(cpu),又称之为中央处理器(central processing unit;cpu),中央处理器是一个电子电路的集成电路(circuit integrated;ic),同时是一种信息处理系统内进行处理、控制和储存的电路,也是信息处理系统硬件的核心,在信息处理系统中的各种运算、输入输出与连接储存器都是由中央处理器执行与控制,中央处理器对应为本技术公开的cpu单元。当中央处理器负担各种的运算工作或采用超频的方式以提高cpu的性能时,中央处理器的工作频率需要切换为较高的时钟频率,可能高达几个ghz甚至数十ghz;然后,当高频时钟域内运行的应用软件变为闲置状态时,中央处理器的工作频率需要切换为较低的时钟频率,比如几个mhz或数十khz。
23.在中央处理器切换到不同工作频率的过程中,中央处理器会应对各个切换作用的软件、进程任务,则会消耗大量指令操作时间,并增大工作功耗,为了降低系统在处理器切换工作频率过程中所产生的运行功耗,本实施例公开自动切换处理器时钟的控制系统。所述控制系统包括切换控制单元、cpu单元以及通路选择器,能够基于切换控制单元、cpu单元以及通路选择器构成一种具有时钟信号切换功能的控制系统,以通过硬件开关的方式来改变cpu单元所接入的时钟信号,具体是切换cpu单元的工作频率,以适应cpu单元的运行状
态,例如需要访问某个高速时钟域(该高速时钟域内运行代码所需的工作频率比较高,可以高达几个ghz),则切换cpu单元所接入的时钟信号为高频时钟信号。cpu单元通过切换控制单元连接到每个代码分区,每个代码分区所需的工作频率可以是不同,则cpu单元访问每个代码分区所需的时钟信号的时钟频率也是不同。参阅图1可知,所述切换控制单元与每个代码分区连接,所述切换控制单元也与cpu单元连接。在一些实施例中,所述cpu单元通过切换控制单元连接到每个代码分区;或所述cpu单元通过系统总线与每个代码分区进行指令数据交互,所述切换控制单元也与该系统总线存在指令数据交互关系,以形成所述cpu单元、所述切换控制单元与每个代码分区之间的通信联系。所述切换控制单元,用于检测cpu单元当前访问的代码分区,再依据cpu单元当前访问的代码分区向通路选择器发送选择信号sel,具体是在确定cpu单元当前访问的代码分区的地址信息之后,将该地址信息映射为预先配置好的选择信号sel以选通外部输入的对应时钟频率的时钟信号给所述cpu单元,例如当前访问的代码分区运行代码所需的时钟频率较高时,选通的时钟信号不能太低。所述通路选择器的输入端与所述时钟源连接,其中,所述通路选择器的一个数据输入端接入所述时钟源所提供的一种时钟频率的时钟信号,且受所述通路选择器的选择端的控制;所述通路选择器的输出端与所述cpu单元连接,具体是所述通路选择器的选择输出端与所述cpu单元的时钟端连接;所述通路选择器的选择端与所述切换控制单元连接,具体可以是所述通路选择器的选择端接入所述切换控制单元输出的所述选择信号sel,其中,所述通路选择器是一种多路选择器;所述通路选择器用于在接收到所述选择信号sel后,将输出给所述cpu单元的时钟信号切换为所述cpu单元当前访问代码分区所需的时钟信号,即切换所述cpu单元当前所需的时钟信号输出给cpu单元,即从所述时钟源中切换所述cpu单元当前所需的时钟信号clk_out并通过通路选择器内部选择的开关通路输出给所述cpu单元的时钟端,以使cpu单元的工作频率被配置为等于通路选择器传输给cpu单元的时钟信号的时钟频率;在所述通路选择器中,在所述选择信号sel的选通作用下,所述cpu单元当前所需的时钟信号是通路选择器传输给cpu单元的时钟信号,也是所述时钟源当前提供给所述cpu单元的时钟信号。
24.在一些实施方式中,所述控制系统还包括至少两个代码分区,或者所述控制系统的外部设置有至少两个代码分区;所述控制系统还包括时钟源,或者控制系统的外部设置有时钟源;其中,时钟源包括至少两个时钟信号,每个时钟信号的时钟频率可以是互不相同,以适应所述cpu单元所需访问的代码分区的工作频率高低要求;所述时钟源所包括的时钟信号当中,存在cpu单元访问每个代码分区所需的时钟信号。
25.综上,在本实施例中,所述控制系统的内外可以设置代码分区和时钟源,以供所述控制系统根据当前访问的代码分区内运行代码所处的时钟频率的高低情况,自动选择时钟源所能提供的时钟信号输出给所述cpu单元,通过硬件上的选择器自动对输入cpu单元的时钟信号进行切换,从而基于需要访问的代码分区来对cpu单元的工作频率进行自适应调整;相对于现有技术的时钟源切换操作,减少调用过多的时钟寄存器进行分频处理,即可以在不使用分频器的前提下,对cpu单元的工作频率进行升降频;也不需要在专门的配置单元中对处理器在时钟信号切换过程中的动作进行配置,也不要求cpu单元频繁执行用于时钟信号切换的指令代码,减少处理器内置的相关操作系统中的软件指令干预力度,从而减少整个时钟信号在切换过程中的耗时,降低cpu单元在时钟信号切换过程中产生的功耗,进而降
低整个控制系统的功耗。
26.需要说明的是,本实施例所涉及到的各单元模块可以均为基于verilog硬件编程语言在eda工具下映射生成的逻辑电路模块,包括本实施例公开的切换控制单元、cpu单元以及通路选择器。其中,verilog是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图以及逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。在实际应用中,一个逻辑电路模块可以是一个逻辑电路单元,也可以是一个逻辑电路单元的一部分,还可以以多个逻辑电路单元的组合实现。此外,为了突出本发明的创新部分,本发明实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的逻辑电路模块引入,但这并不表明本发明实施方式中不存在其它的模块。
27.作为一种实施例,参阅图1可知,所述时钟源包括第一工作时钟信号hclk和第二工作时钟信号lclk;所述时钟源还可以包括与第一工作时钟信号hclk的时钟频率不同的时钟信号,或者,所述时钟源还可以包括与第二工作时钟信号lclk的时钟频率不同的时钟信号。其中,第一工作时钟信号hclk的时钟频率高于第二工作时钟信号lclk的时钟频率,例如,第一工作时钟信号hclk的时钟频率达到1.5ghz时,第二工作时钟信号lclk的时钟频率设置为1.2mhz。对应地,至少存在第一代码分区和第二代码分区,即所述控制系统的内部存在第一代码分区和第二代码分区,或者所述控制系统的外部存在第一代码分区和第二代码分区;第一工作时钟信号hclk是cpu单元访问第一代码分区所需的时钟信号,但不是第一代码分区内运行代码所需的时钟信号;第二工作时钟信号lclk是cpu单元访问第二代码分区所需的时钟信号,但不是第二代码分区内运行代码所需的时钟信号;其中,第一代码分区内存储的代码对应匹配的算力高于第二代码分区内存储的代码对应匹配的算力,第一代码分区内存储的代码运行所需的时钟频率高于第二代码分区内存储的代码运行所需的时钟频率,优选地,第一代码分区的运行空间容量大于第二代码分区的运行空间容量,以确保在第一代码分区内运行功能代码量较大的代码(可以理解为在第一代码分区内部振荡产生的时钟信号的驱动作用下进行),且确保在第二代码分区内运行功能代码量较小的代码(可以理解为在第二代码分区内部振荡产生的时钟信号的驱动作用下进行);还存在其它容量的代码分区,该容量的代码分区内存储的代码运行所需的时钟频率不同于第一代码分区内存储的代码运行所需的时钟频率,也不同于第二代码分区内存储的代码运行所需的时钟频率。
28.在一些实施例中,所述cpu单元会先根据加载请求,从其内部设置的预设内存中读取相应的可执行文件,再加载到第一代码分区的运行空间内,并在第一代码分区的运行空间内运行,则在所述cpu单元接入第一工作时钟信号hclk后,所述第一代码分区内存储有预先加载的代码以及其它数据,对应的存储量越大,则对应运行的算法功能所能支持的算力越大。同理地,所述cpu单元也会先根据加载请求,从其内部设置的预设内存中读取相应的可执行文件,再加载到第二代码分区的运行空间内,并在第二代码分区的运行空间内运行,则在所述cpu单元接入第二工作时钟信号lclk后,所述第二代码分区内存储有预先加载的代码以及其它数据,对应的存储量越小,则对应运行的算法功能所能支持的算力越小。
29.需要说明的是,前述可执行文件是按照一定时钟周期加载形成,而且是属于由预先存储的算法对应的代码编译出的可执行文件。前述的cpu单元是属于处理器,可以是一个多核处理器当中的单核单元;关于算力是衡量在一定的通信时间下cpu单核计算处理数据的度量单位,与处理器的工作频率、计算位宽等相关联,算力的大小代表着所述cpu单元对
二进制信息计算速度的快慢,在本实施例中与可执行文件在运行过程中单位时间内所能处理的数据量关联。
30.在一些实施例中,第二代码分区是低功耗区域且支持低速运行代码,第一代码分区是高速区域。当第一代码分区是配置为运行在多媒体时钟域、摄像头连接时钟域或以太网时钟域下时,支持运行算力较大的固件算法;则第二代码分区是配置为运行在基本输入输出模组下,满足基本的系统启动引导或简单的指令数据读写。例如,在嵌入式mcu系统里面,配置为第一代码分区的只读存储器rom里面可以固化高算力的代码,在配置为第二代码分区的擦除读写存储器flash中放置普通代码,rom内运行代码的速度比嵌入式flash内运行代码的速度快。
31.作为一种实施例,为了减少软件的干预,例如减少cpu单元内置的操作系统中的指令操作的频繁执行,需设计额外的硬件切换电路来达成控制所述cpu单元的工作频率,对应地,在本实施例中,所述选择信号sel包括第一选择信号和第二选择信号,是根据cpu单元访问每个代码分区所需的时钟信号而设置,以切换所述通路选择器的选择通路。
32.在本实施例中,所述切换控制单元,用于检测到cpu单元当前访问的代码分区由第一代码分区变为第二代码分区时,即检测到cpu单元当前请求访问的地址是位于第二代码分区内可能实际上还没开始访问第二代码分区内的数据,cpu单元仍在访问第一代码分区内的数据时,确定cpu单元当前访问第二代码分区所需的时钟信号是第二工作时钟信号lclk,并向通路选择器发送第一选择信号以将cpu单元的时钟端切换到接入所述第二工作时钟信号,这里的第二工作时钟信号是外部的时钟源输入给所述通路选择器中的时钟信号,在本实施例中通过硬件选择器的方式进行选择输入给所述cpu单元。在此基础上,所述通路选择器,用于在接收到第一选择信号后,将第一工作时钟信号切换为第二工作时钟信号,即将选择通路由接通所述第一工作时钟信号切换为接通第二工作时钟信号,形成用于连通所述cpu单元的时钟端的选择支路的切换,再将第二工作时钟信号输出给所述cpu单元,此时图1中的clk_out是第二工作时钟信号lclk,以使所述cpu单元的工作频率由第一工作时钟信号的时钟频率降低为第二工作时钟信号的时钟频率,具体地,低时钟频率下运行代码的代码分区需要被cpu单元访问时,cpu单元适当降低工作频率,此时,高时钟频率下运行代码的代码分区可能处于闲置状态,可以降低cpu单元的功耗。相对于现有技术,在整个时钟信号切换的过程中,通过选择器进行切换的方式来减少代码指令上的频繁切换操作,整体上降低系统的功耗;也防止低时钟频率下运行代码的代码分区被处于较高工作频率状态下的cpu单元访问,减少cpu单元工作产生的功耗。
33.所述切换控制单元,用于检测到cpu单元当前访问的代码分区由第二代码分区变为第一代码分区时,即检测到cpu单元当前请求访问的地址是位于第一代码分区内可能实际上还没开始访问第一代码分区内的数据,cpu单元仍在访问第二代码分区内的数据时,确定cpu单元当前访问第一代码分区所需的时钟信号是第一工作时钟信号hclk,并向通路选择器发送第二选择信号以将cpu单元的时钟端切换到接入所述第一工作时钟信号hclk,这里的第一工作时钟信号是外部的时钟源输入给所述通路选择器中的时钟信号,在本实施例中通过硬件选择器的方式进行选择输入给所述cpu单元。在此基础上,所述通路选择器,用于接收到第二选择信号后,将第二工作时钟信号切换为第一工作时钟信号,即将选择通路由接通所述第二工作时钟信号切换为接通第一工作时钟信号,形成用于连通所述cpu单元
的时钟端的选择支路的切换,再将第一工作时钟信号输出给所述cpu单元,此时图1中的clk_out是第一工作时钟信号hclk,以使所述cpu单元的工作频率由第二工作时钟信号的时钟频率增大为第一工作时钟信号的时钟频率。防止高时钟频率下运行代码的代码分区被处于较低工作频率状态下的cpu单元访问,以维持系统的正常运行,进一步地,在减少软件指令干预的前提下,即使cpu单元的工作频率需要提升为过高的工作频率,cpu单元也不会因为频率差值过大的时钟信号的切换而消耗过大的功耗。相对于现有技术,在整个时钟信号切换的过程中,通过选择器进行切换的方式来减少代码指令上的频繁切换操作(涉及到在软件指令上循环配置时钟源的切换和切回),从而降低cpu单元在切换时钟信号过程中产生的功耗。
34.综上,所述切换控制单元通过检测cpu单元访问代码分区的情况,来控制通路选择器自动切换输入cpu单元的时钟信号,以实现对cpu单元的工作频率的自适应调整,整体上降低所述控制系统的功耗。
35.在一些实施例中,所述第一代码分区是设置在只读存储器(rom)内,所述第二代码分区是设置在擦除读写存储器(flash)内;只读存储器内部固化有第一系统软件环境和第一固化时钟信号,只读存储器内部存储的代码在第一固化时钟信号的驱动作用下运行于第一系统软件环境内,以减少只读存储器外部的软件配置信息的干预;第一代码分区内存储的代码不在第一工作时钟信号hclk的控制下运行,但允许所述cpu单元在第一工作时钟信号下进行访问,第一代码分区内存储的代码在第一固化时钟信号的控制下运行。
36.需要说明的是,只读存储器的特点是只能读出而不能写入信息,通常rom里面固化一个基本输入/输出系统,称为bios(基本输入输出系统)。其主要作用是完成对系统的加电自检、系统中各功能模块的初始化、系统的基本输入/输出的驱动程序及引导操作系统。则第一代码分区内存储的代码在第一固化时钟信号的控制下运行的前提下,软件不需要进行时钟的切换操作。
37.由于rom具有断电后信息不丢失的特性,因而可用于算法固件启动用的bios芯片,可以用来存放一些硬件的驱动程序,还可以是操作系统中的软件应用层、硬件驱动层、以及一些公共函数库。
38.所述擦除读写存储器内部固化有第二系统软件环境和第二固化时钟信号,擦除读写存储器内部存储的代码在第二固化时钟信号的驱动作用下运行于第二系统软件环境内,以减少擦除读写存储器外部的软件配置信息的干预;第二代码分区内存储的代码不在所述第二工作时钟信号lclk的控制下运行,但允许所述cpu单元在第二工作时钟信号下进行访问,第二代码分区内存储的代码在第二固化时钟信号的控制下运行。
39.第一固化时钟信号的时钟频率高于第二固化时钟信号的时钟频率。当程序在rom中运行时,cpu单元是在所述第一工作时钟信号hclk的驱动下自动运行在高速状态,而rom不需要进行软件上的时钟信号切换操作的指令配置;当cpu单元切换为访问所述擦除读写存储器flash时,所述擦除读写存储器flash内部运行代码,cpu单元当前所需的时钟信号的时钟频率自动降低下来。值得注意的是,只读存储器和擦除读写存储器内部存储的代码的运行不受所述切换控制单元切换输出的时钟信号的影响,即不受cpu单元的工作频率的影响。
40.在前述实施例的基础上中,第一固化时钟信号所处的时钟域和第二固化时钟信号
所处的时钟域是相对独立的两个时钟域;第一工作时钟信号所处的时钟域和第二工作时钟信号所处的时钟域也是相对独立的两个时钟域;第一固化时钟信号所处的时钟域、第二固化时钟信号所处的时钟域、第一工作时钟信号所处的时钟域和第二工作时钟信号所处的时钟域当中,彼此之间是相互独立的时钟域。可以满足不同代码分区的工作频率需求,实现高速代码分区和低速代码分区所需的时钟信号分离,也实现所述通路选择器所输入的第一工作时钟信号、第二工作时钟信号以及其它可供选择的输入时钟信号分离,有利于降低不同时钟域的占用面积和实现难度。
41.作为一种实施例,所述cpu单元处于低功耗状态时,cpu单元访问所述第二代码分区,且所述第二代码分区的内部存储的代码处于运行状态,cpu单元的工作频率等于第二工作时钟的时钟频率,长时间保存在第二工作时钟的时钟频率下工作,甚至会进入休眠状态,会产生较抵的功耗,至少低于cpu单元的工作频率等于第一工作时钟的时钟频率时所产生的功耗,对应为所述cpu单元处于低功耗状态。当所述cpu单元的内部或所述cpu单元的外部通过硬件中断的方式来中止所述cpu单元访问所述第二代码分区后,所述cpu单元被触发为开始访问所述第一代码分区,再由所述切换控制单元控制所述通路选择器将输出给所述cpu单元的时钟信号切换为所述第一工作时钟信号。在本实施例中,所述控制系统的内部设置有用于触发中断信号的定时器,定时器计数产生中断信号以通知所述cpu单元,形成硬件中断的触发方式,相对于现有技术设置过多的时钟寄存器依次进行时钟分频处理来达到时钟信号切换的效果,本实施例通过硬件中断的触发方式来触发所述通路选择器改变输入的时钟信号以满足所述cpu单元当前访问第一代码分区的需求,防止在时钟切换(cpu单元的工作频率切换)的过程中耗费过多的功耗。
42.另外,所述cpu单元处于高功耗状态时,cpu单元访问所述第一代码分区,且所述第一代码分区的内部存储的代码处于运行状态,其中,cpu单元的工作频率等于第一工作时钟的时钟频率,长时间保存在第一工作时钟的时钟频率下工作,持续进行高速缓存读写操作,会产生较高的功耗,至少高于cpu单元的工作频率等于第二工作时钟的时钟频率时所产生的功耗,对应为所述cpu单元处于高功耗状态,其中,第一工作时钟信号的时钟频率可以视为远高于第二工作时钟信号的时钟频率;当所述cpu单元的内部或所述cpu单元的外部通过硬件中断的方式来中止所述cpu单元访问所述第一代码分区后,所述cpu单元被触发为开始访问所述第二代码分区,再由所述切换控制单元控制所述通路选择器将输出给所述cpu单元的时钟信号切换为所述第二工作时钟信号,使得所述cpu单元的工作频率降低为第二工作时钟信号的时钟频率,则可以降低所述cpu单元在时钟信号切换的过程中产生的功耗。
43.需要说明的是,所述cpu单元被触发为开始访问对应的代码分区时,需要预先将中断入口地址设置在对应的代码分区中,即中断函数(入口函数)执行的第一条指令的地址称为函数的入口地址,通过这个地址可以找到接口函数;所述cpu单元访问的代码分区所需要的接口函数是来源于同一个可执行文件和/或不同的可执行文件。所述cpu单元访问的代码分区当中,每个函数被配置为对应一种功能,具体是一种运算功能,一个函数被编译后就成为一系列的指令,记录在所述可执行文件中,当相应的函数被被调用时,函数指令代码(二进制数据)在代码分区的运行空间中占据一片存储单元。则所述控制系统基于硬件电路切换机制,选择以相适应的cpu单元的工作频率水平和内存资源相适应的代码分区,来在相应的代码分区的运行空间中运行相关算法函数,从而利用合理内存空间和合理的工作频率来
降低所述控制系统的工作功耗。
44.在上述实施例的基础上,所述cpu单元,用于在休眠状态下被唤醒后,通过硬件中断的方式来触发所述切换控制单元向所述通路选择器发送所述第二选择信号,以使所述通路选择器输出给所述cpu单元的时钟信号切换为第一工作时钟信号,并将cpu单元所需访问的代码分区切换为所述第一代码分区,并引导所述第一代码分区的内部存储的代码由挂起状态恢复为运行状态但不改变所述第一代码分区的内部存储的代码运行所需的时钟信号的时钟频率;其中,所述cpu单元处于休眠状态下,硬件中断的入口地址是设置在第一代码分区内;休眠状态是属于一种所述低功耗状态。因此,所述控制系统可以根据cpu单元当前所处的功耗工作状态(比如休眠状态),通过硬件中断的方式来触发cpu单元的工作频率往高频率进行切换,即cpu处于休眠状态时,一经外部硬件触发唤醒,进入到硬件中断引导的在第一代码分区内的入口地址,使得cpu单元启动后切换到高频时钟域,由于减少了软件的配置,减少了软件操作这一阶段内形成的能量消耗,实现所述控制系统做到更好的cpu 单元工作功耗调整,从而在不产生过多功耗的前提下,cpu单元在唤醒后能够工作在更高的工作频率,提升cpu单元的工作性能。
45.需要补充的是,硬件触发的唤醒可以唤醒cpu单元中挂起的线程/进程/任务,恢复所述cpu单元在休眠之前形成的现场信息,实现将cpu单元、片上外设和片外外设(包括切换控制单元、时钟源、通路选择器以及代码分区)恢复到休眠前的运行状态,然后本实施例会将cpu单元所需访问的代码分区切换为所述第一代码分区,对应地将所述cpu单元接入的时钟信号也切换为第一工作时钟信号,则可以触发第一代码分区内存储的代码进行运行状态(第一代码分区内存储的代码可能已经提前进入运行状态)。
46.作为一种实施例,所述cpu单元通过所述总线访问对应的代码分区以获取对应的代码分区内存储的代码,能够起到调用所需执行的指令代码的作用;所述切换控制单元通过所述总线与每个代码分区建立通信联系,包括指令命令的请求响应、以及数据交互传输,以获取每个代码分区内的存储地址,并监视代码分区被所述cpu单元访问的情况。所述切换控制单元还通过所述总线与所述cpu单元建立通信联系,包括指令命令的请求响应、以及数据交互传输;以确定所述cpu单元当前所需访问的代码分区。具体地,在所述cpu单元当前访问的代码分区内,被调用的函数注册到具有全局变量和全局函数的结构体上,形成指定的链接信息,具体在发生函数调用时,会加载可执行文件的名字、函数在可执行文件中的编号、cpu单元的处理核号、以及函数参数一同传递到总线中,再解析,能够在所述cpu单元和所述切换控制单元之间共享。
47.在上述实施例中,每个代码分区都是从同一个代码空间分配出来,每个代码分区都挂载在同一总线上并将对应的存储地址缓存到同一总线上,所述cpu单元和所述切换控制单元都挂载在同一总线上并建立起与总线的握手通信同步;因而,所述cpu单元、所述切换控制单元以及每个代码分区都通过同一总线建立通信联系,包括指令命令请求响应和数据传输,可以达到握手通信同步的效果,以便于所述切换控制单元检测到所述cpu单元所需访问的代码分区的地址信息,进而分享所述cpu单元对接入的时钟信号自动切换的结果,适应各种工作频率环境下的数据指令交互需求。
48.本实施例提及的总线包括但不限于ahb(advanced high performance bus,高级高性能总线)、apb(advanced peripheral bus,外围总线)、以及扩展总线(external bus);
总线的时钟信号可以是由cpu单元提供的,则需要cpu单元的工作频率与代码分区内运行代码所需的时钟频率相适应,以便于所述cpu单元、所述切换控制单元以及每个代码分区都通过同一总线建立同步通信联系,减少额外的时钟信号切换指令操作时间。
49.作为一种实施例,所述时钟源包括第一时钟单元和第二时钟单元;其中,第一时钟单元可以直接产生第一工作时钟信号或通过额外的分频器来产生第一工作时钟信号;第二时钟单元可以直接产生第二工作时钟信号或通过额外的分频器来产生第二工作时钟信号。第一时钟单元和第二时钟单元可以由锁相环时钟电路(pll时钟电路)来实现,优选地,第一时钟单元和第二时钟单元都可以包括振荡器,以产生第一工作时钟信号和/或第二工作时钟信号。
50.在一种实施方式中,所述第一时钟单元与所述通路选择器连接,所述第一时钟单元的输出端与所述通路选择器的一个输入端连接;所述通路选择器用于在接收到所述第二选择信号后,将所述第一时钟单元的输出端接通至所述cpu单元,让所述第一时钟单元通过所述通路选择器的选通作用来为所述cpu单元提供第一工作时钟信号hclk。或者,所述第一时钟单元通过第一分频器与所述通路选择器连接,第一分频器将所述第一时钟单元输出的时钟信号分频处理为第一工作时钟信号hclk;所述通路选择器用于在接收到第二选择信号后,将所述第一分频器的输出端接通至所述cpu单元,让所述第一分频器通过所述通路选择器的选通作用来为所述cpu单元提供第一工作时钟信号hclk。
51.在另一种实施方式中,所述第二时钟单元与所述通路选择器连接,所述第二时钟单元的输出端与所述通路选择器的另一个输入端连接;所述通路选择器用于在接收到第一选择信号后,将所述第二时钟单元的输出端接通至所述cpu单元,让所述第二时钟单元通过所述通路选择器的选通作用为所述cpu单元提供第二工作时钟信号lclk。或者,所述第二时钟单元通过第二分频器与所述通路选择器连接,第二分频器将所述第二时钟单元输出的时钟信号分频处理为第二工作时钟信号lclk,所述通路选择器用于在接收到第一选择信号后,将所述第二分频器的输出端接通至所述cpu单元,让所述第二分频器通过所述通路选择器的选通作用来为所述cpu单元提供第二工作时钟信号lclk。
52.优选地,无论所述第一时钟单元是否通过分频器连接到所述通路选择器,所述第二时钟单元是否通过分频器连接到所述通路选择器,本优选例中的通路选择器的输出端通过第三分频器与cpu单元连接,即通路选择器选择输出的第一工作时钟信号或第二工作时钟信号都会被第三分频器分频处理为能够被cpu单元正常使用的工作时钟信号,实现对cpu单元的自动切换到预先配置好的工作频率中。
53.基于前述实施例,还公开一种芯片,该芯片集成所述的自动切换处理器时钟的控制系统;优选地,在该芯片中,代码分区是该芯片的片内存储单元或该芯片的外设存储单元,所述时钟源是该芯片的片内时钟单元或该芯片的外设时钟单元,丰富该芯片的片内集成的控制系统的应用场景,提高时钟信号切换(处理器的工作频率切换)的通用性。在该芯片内,可以通过硬件中断方式来通知所述cpu单元有加载请求,也直接通过选择器来切换外部输入的时钟信号,减少指令等软件逻辑流程上的等待时间,其中,加载请求的类型是与预先配置的通信协议或待运行的固件算法关联。
54.在本实施例中,所述代码分区至少包括低速内存空间和高速内存空间,低速内存空间存储的代码所需的运行速度低于所述高速内存空间存储的代码所需的运行速度,所述
代码分区与其内部存储的代码所需的运行速度相匹配,所述时钟源设置的时钟信号的频率更是配置cpu单元进入所需访问的代码分区相适应的时钟域内,以满足代码分区在规定的时间内执行对应函数所达到的功能效果。进一步地,在不同时钟信号之间切换的实时性和低功耗性,例如,所述cpu单元的工作时间仅需微秒级别就能在相应的运行空间内完成可执行文件的加载甚至是触发运行空间内的代码进入运行状态,在消耗较低功耗成本的前提下也能满足代码分区在规定的时间内执行对应函数所达到的功能效果。
55.在本技术所提供的实施例中,应该理解到,所揭露单元和系统,可以通过其它的方式实现。例如,以上所描述的控制系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
56.上述以逻辑功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述逻辑功能单元存储在一个存储介质中,包括若干指令用以使得芯片、终端、设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述控制系统的部分单元。而前述的代码分区所在的存储介质,可以包括:u盘、移动硬盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储代码的介质。
57.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1