基于自适应时钟的频率控制方法、电路及芯片与流程

allin2024-03-22  71



1.本文件涉及集成电路技术领域,尤其涉及一种基于自适应时钟的频率控制方法、电路及芯片。


背景技术:

2.芯片作为各类电子设备的核心部件,其需求和应用正在不断扩展。尤其针对例如risc-v 架构指令集为基础(也包括arm架构、x86架构)的、包括人工智能物联网芯片在内的各类芯片应用越来越广泛。
3.随着芯片制程的不断缩小,芯片集成的密度越来越大,芯片的性能也在不断变高。同时,芯片中的高性能模块在频率和负载的快速切换中会更容易致使芯片产生电压瞬时跌落的问题,导致高性能模块中的电路时序无法得到保障,引发工作异常。
4.目前大多采用自适应时钟电路降频的方式来保护高性能模块,但是,现有的降频方案过于粗暴且可能增加功耗和集成面积,给高性能模块带来性能损失。


技术实现要素:

5.本说明书一个或多个实施例的目的是提供一种基于自适应时钟的频率控制方法、电路及芯片,以对目标处理单元的不同压降进行精准降频,减少或避免目标处理单元由于压降导致的性能损失。
6.为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
7.第一方面,提出了一种基于自适应时钟的频率控制方法,应用于自适应时钟控制电路,所述自适应时钟控制电路包括:压降监测模块、时钟控制模块、时钟生成模块以及时钟输出模块;所述频率控制方法包括:
8.所述压降监测模块监测目标处理单元的电压,并在监测到电压瞬时跌落且在有效监测时段产生的压降达到设定阈值集合中至少一个阈值时,触发所述至少一个阈值中每个阈值对应的阈值信号;
9.所述时钟控制模块接收至少一个阈值信号,基于降频约束条件从中选择一个阈值信号作为目标阈值信号,并从所述目标处理单元获取性能信号;基于所述性能信号和所述目标阈值信号确定目标降频策略,并发送给所述时钟输出模块;其中,所述性能信号用于表征该目标处理单元当前负载变化和/或负载状态,所述目标降频策略至少包含降频幅度;
10.所述时钟输出模块从所述时钟生成模块生成的时钟信号集合中选择与所述目标降频策略对应的降频时钟信号,并输出给所述目标处理单元。
11.第二方面,提出了一种基于自适应时钟的频率控制电路,包括:压降监测模块、时钟控制模块、时钟输出模块以及时钟生成模块;所述压降监测模块中预设有多个压降阈值,每个压降阈值对应一个阈值信号;
12.所述压降监测模块,监测目标处理单元的电压,并在监测到电压瞬时跌落且在有效监测时段产生的压降达到设定阈值集合中至少一个阈值时,触发所述至少一个阈值中每
个阈值对应的阈值信号;
13.所述时钟控制模块,接收至少一个阈值信号,基于降频约束条件从中选择一个阈值信号作为目标阈值信号,并从所述目标处理单元获取性能信号;基于所述性能信号和所述目标阈值信号确定目标降频策略,并发送给所述时钟输出模块;其中,所述性能信号用于表征该目标处理单元当前负载变化和/或负载状态,所述目标降频策略至少包含降频幅度;
14.所述时钟输出模块,从所述时钟生成模块生成的时钟信号集合中选择与所述目标降频策略对应的降频时钟信号,并输出给所述目标处理单元。
15.第三方面,提出了一种片上系统,包括:
16.目标处理单元,执行高性能处理操作;
17.以及,第二方面所述的自适应时钟的频率控制电路,与所述目标处理单元信号连接,监测所述目标处理单元的压降,以及向所述目标处理单元反馈自适应调整后的时钟信号。
18.第四方面,提出了一种芯片,包括:
19.第三方面所述的片上系统;
20.片外总线;
21.通过片外总线与所述片上系统连接的存储器、电源管理电路。
22.由以上本说明书一个或多个实施例提供的技术方案可见,在压降监测模块中部署多个压降阈值,每个压降阈值对应一个阈值信号;当压降监测模块监测到目标处理单元有电压瞬时跌落且在有效监测时段产生的压降达到设定阈值集合中至少一个阈值时,可以触发产生一个或多个阈值信号,从而,可以根据压降的不同,触发不同的阈值信号。接下来,时钟控制模块选择满足降频约束条件的阈值信号作为目标阈值信号,并以该目标阈值信号和从目标处理单元获取的性能信号,综合确定与当前电压瞬时跌落事件匹配的目标降频策略。之后,发送给时钟输出模块,由时钟输出模块从时钟生成模块发送的降频时钟信号集合中选择与目标降频策略相符的降频时钟信号。最后,输出给目标处理单元进行精准降频,以减少或避免目标处理单元由于压降导致的性能损失。
附图说明
23.为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对一个或多个实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
24.图1是本说明书实施例提供的基于自适应时钟的频率控制方案的电路结构示意图。
25.图2是本说明书实施例提供的一种基于自适应时钟的频率控制方法的步骤示意图。
26.图3是本说明书实施例提供的以状态指针形式构建的预测逻辑原理示意图。
27.图4是本说明书实施例提供的结合负载状态信号配置的降频幅度确定目标降频策略的逻辑原理示意图。
28.图5是本说明书实施例提供的确定以及调整降频时长的原理示意图。
29.图6是本说明书实施例提供的基于自适应时钟进行降频控制的原理流程图。
30.图7是本说明书的一个实施例提供的计算机系统的结构示意图。
具体实施方式
31.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的一个或多个实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
32.考虑到芯片制程复杂以及体积的不断缩小,芯片集成的密度越来越大,芯片的性能也不断提高。这就导致在频率和负载的快速切换下,更容易发生芯片的电源网络无法及时提供足够的电流给高性能模块所在区域,导致该电压域的电压瞬时跌落,高性能模块中的电路时序无法得到保障,芯片可能进入不可预知的失控状态,导致工作异常。目前许多商用的高性能处理器都选择自适应时钟的电路方案来及时降频保障高性能模块内部时序,例如通过二分频或多路锁相环(phase locked loop,pll)的方式降频,但是,现有的这些降频方式无法对压降进行针对性降频,虽然多路pll可以实现多路时钟输出,但是,其实现需要牺牲较大的功耗和面积,不符合当前集成密度大的趋势。
33.为了解决上述技术问题,本说明书实施例提出了一种改进的自适应时钟的降频控制方案,主要思路是:在压降监测模块中部署包含多个阈值的设定阈值集合,每个阈值对应一个阈值信号;当压降监测模块监测到目标处理单元有电压瞬时跌落且在有效监测时段产生的压降达到设定阈值集合中至少一个阈值时,可以触发产生一个或多个阈值信号,从而,可以根据压降的不同,触发不同的阈值信号。接下来,时钟控制模块选择满足降频约束条件的阈值信号作为目标阈值信号,并以该目标阈值信号和从目标处理单元获取的性能信号,综合确定与当前电压瞬时跌落事件匹配的目标降频策略。之后,发送给时钟输出模块,由时钟输出模块从时钟生成模块发送的降频时钟信号集合中选择与目标降频策略相符的降频时钟信号。最后,输出给目标处理单元进行精准降频,以减少或避免目标处理单元由于压降导致的性能损失。
34.下面通过具体的实施例的对本说明书技术方案进行详述。
35.参照图1所示,为本说明书实施例提供的基于自适应时钟的频率控制方案的电路结构示意图。
36.该电路分为两大组成部分:自适应时钟单元102和目标处理单元104;其中,目标处理单元104是可能发生压降问题而亟需被实施降频处理的高性能模块,例如,cpu、gpu等处理器;自适应时钟单元102是本说明书方案的核心电路部分,通过自适应时钟配合,为不同压降提供针对性精准降频策略,以保证高性能模块的正常运转。其中,自适应时钟单元 102和目标处理单元104可以处于同一个电压域,由供电电压dvdd供电。
37.在图1中,该自适应时钟单元102还包括:压降监测模块1022,时钟控制模块1024,时钟生成模块1026以及时钟输出模块1028。其中,压降监测模块1022一端与目标处理单元104信号连接,以监测目标处理单元104的电压情况。同时,压降监测模块1022的另一端与时钟控制模块1024信号连接,以向时钟控制模块1024传输被触发的阈值信号。同时,时钟控制
模块1024还与目标处理单元104连接,用以获取目标处理单元104产生的性能信号。时钟控制模块1024还与时钟输出模块1028连接,以发送其确定的目标降频策略给时钟输出模块1028,便于时钟输出模块1028匹配出对应的降频时钟信号aclk_out。
38.其实,该电路中还包括:一路锁相环电路pll,用以向自适应时钟单元102发送没有压降发生时目标处理单元104所需的全频时钟信号。该全频时钟信号通过一路pll_out直接连接时钟输出模块1028,另一路连接时钟生成模块1026。当有压降发生且触发阈值信号时,关闭pll_out那一路时钟信号,开启时钟生成模块1026所在这一路进行降频处理。反之,当没有压降产生,或有压降产生但不足以触发阈值信号时,保持pll_out那一路时钟信号开启,关闭时钟生成模块1026所在这一路。
39.应理解,为了配合不同压降进行针对性降频处理,可以根据当前目标处理单元104的电压和/或频率的档位,通过pre-silicon流片前仿真和post-silicon流片后仿真的测试数据分析该目标处理单元104有可能发生的压降范围,例如,可能降低5%-18%。那么,就基于该压降范围划分为不同的压降阈值。在压降监测模块1022中配置有多个压降阈值,并为每个压降阈值分配一个阈值信号,当监测到压降,且该压降达到设定阈值集合中某个阈值时,则触发该该压降所达到的阈值以及小于该阈值的其它阈值的阈值信号。需要说明的是,不同压降阈值对应的阈值信号不同,可选地,当多个阈值信号被触发时,在尽可能准确识别有效信号的情况下,可以采用one-hot一位有效编码形式读取阈值信号。
40.同时,还需要根据在压降监测模块1022中配置阈值以及为每个阈值分配阈值信号,相应地,在时钟生成模块中提前部署对应不同降频幅度的多个降频时钟,且每个降频时钟的降频幅度可调。
41.在本说明书实施例中,时钟控制模块1024可以根据确定的目标阈值信号和从目标处理单元104获取的性能信号,综合考虑为当前产生的压降确定目标降频策略,以避免单独考虑目标阈值信号而造成确定降频策略的不精准,从多维度分析可提升控制的全面性以及稳定性。其实,在实际的电路控制过程中,还可能会产生其它可配置信号,也同样可以作为参考因素列入综合考虑的范畴,即时钟控制模块1024可根据确定的目标阈值信号、从目标处理单元104获取的性能信号以及其它可配置信号,为当前产生的压降确定目标降频策略。
42.一种可选地实现方式,可以在时钟控制模块1024中提前部署预设的阈值信号与降频策略映射关系。具体可以是以查找表的形式存在,其实也并不对该映射关系的具体形式进行限定。每个阈值信号对应有一个降频策略,每个降频策略至少包含降频幅度,例如,降频幅度为10%。根据性能信号的不同,每个降频策略又可以包含不同的降频子策略。例如,每个降频策略进一步可以包含:未修正的第一降频子策略,基于第一信号正向修正的第二降频子策略,基于第一信号反向修正的第三降频子策略。此外,还可以包含:基于第二信号正向修正的第四降频子策略和基于第二信号反向修正的第五降频子策略。
43.其中,第一降频子策略,可以是根据触发阈值信号的压降所确定的降频幅度,由于该第一降频子策略中的降频幅度只和阈值信号相关,因此,此处确定的降频幅度不需要做任何修正。
44.第二降频子策略,可以是基于触发阈值信号的压降所确定的降频幅度调小修正的降频幅度,该第二降频子策略中的降频幅度和阈值信号以及第一信号相关,因此,在基于阈值信号确定的降频幅度基础上,使用第一信号基于预测逻辑确定的降频趋势,对阈值信号
确定的降频幅度进行正向修正,第二降频子策略中降频幅度比第一降频子策略中降频幅度小,具体的小多少可以根据设计的预测逻辑进行灵活调整。
45.第三降频子策略,可以是基于触发阈值信号的压降所确定的降频幅度调大修正的降频幅度,该第三降频子策略中的降频幅度同样与阈值信号以及第一信号相关,因此,在基于阈值信号确定的降频幅度基础上,使用第一信号基于预测逻辑确定的降频策略,对阈值信号确定的降频幅度进行反向修正,第三降频子策略中降频幅度比第一降频子策略中降频幅度大,具体大多少可以根据设计的预测逻辑进行灵活调整。
46.第四降频子策略,可以是基于触发阈值信号的压降所确定的降频幅度调小修正的降频幅度,该第四降频子策略中的降频幅度与阈值信号以及第二信号相关,因此,在基于阈值信号确定的降频幅度基础上,使用第二信号通过控制寄存器预配置的降频策略,对阈值信号确定的降频幅度进行正向修正,第四降频子策略中降频幅度比第一降频子策略中降频幅度小,具体小多少可以根据设计的控制寄存器进行灵活调整。
47.第五降频子策略,可以是基于触发阈值信号的压降所确定的降频幅度调大修正的降频幅度,该第五降频子策略中的降频幅度同样与阈值信号以及第二信号相关,因此,在基于阈值信号确定的降频幅度基础上,使用第二信号通过控制寄存器预配置的降频策略,对阈值信号确定的降频幅度进行反向修正,第五降频子策略中降频幅度比第一降频子策略中降频幅度大,具体大多少可以根据设计的控制寄存器进行灵活调整。
48.由此,在为触发阈值信号的压降确定降频策略时,可综合考虑目标阈值信号和性能信号;如果分析性能信号不足以引发压降,则可以根据目标阈值信号选择相匹配的第一降频子策略,即采用未修正的降频幅度进行降频处理;如果分析性能信号可以引发压降,则在选择与目标阈值信号相匹配的降频子策略时,还要考虑性能信号的大小对当前压降的影响,选择正向修正的降频子策略,例如:第二降频子策略或第四降频子策略;或者,选择反向修正的降频子策略,例如:第三降频子策略或第五降频子策略。
49.应理解,在本说明书实施例中,以上降频子策略的设计仅是一个可行的实施例,并不对该方案的实现范围进行限定,具体还可以通过对不同阈值信号和性能信号综合考虑时所产生的降频需求,进行多次实验验证,设计不同的降频子策略,以实现更为精准的匹配。
50.相应地,在时钟生成模块1026中,按照不同的降频子策略,分别部署不同降频幅度的降频时钟。例如,时钟生成模块1026产生从全频到二分频之间若干个频率,具体可以通过延迟锁相环dll或者数字门控的方式实现。本说明书并不对此进行限定。其实,本说明书实施例中降频范围可以在全频至最低频之间的任意区间,该最低频可以是大于0小于全频的可行频率。
51.通过图1所示的电路结构,可以实现对不同压降的精准降频,而且该降频控制方案中增加的数字控制逻辑对功耗和占用面积相比目前可能采用的多路降频方案要小,也不会改变触发降频的响应时间。
52.下面结合图2,对本说明书实施例提供的一种基于自适应时钟的频率控制方法进行详述。该自适应时钟的频率控制方法可以包括以下步骤:
53.步骤202:压降监测模块监测目标处理单元的电压,并在监测到电压瞬时跌落且在有效监测时段产生的压降达到设定阈值集合中至少一个阈值时,触发所述至少一个阈值中每个阈值对应的阈值信号。
54.根据压降监测机制,阈值信号可能会出现亚稳态的情况而需要多等待一些时间,而且从压降开始到最低点会有几纳秒,因此,在这里设置有效监测时段来保证触发阈值信号的都是有效压降。其中,该有效监测时段可以根据仿真或测试结果人为部署或是由处理器计算并自动设定。
55.在本说明书实施例中,如果所述压降监测模块在监测到电压瞬时跌落且在有效监测时段产生的压降达到设定阈值集合中最小阈值,则触发所述最小阈值对应的阈值信号;如果所述压降监测模块在监测到电压瞬时跌落且在有效监测时段产生的压降依次达到设定阈值集合中多个阈值,则按照阈值由小到大的顺序依次触发所述多个阈值中每个阈值对应的阈值信号。
56.参照表1所示,压降监测模块内的阈值个数可根据需求灵活配置,此处为描述方便将个数定义为三个。阈值1为压降最小阈值,阈值3为压降最大阈值。阈值本身也可以根据当前的电压和频率档位来调整。例如在高压高频下,压降的幅度更有可能变大,故可将三个阈值设的更分散,范围更广,比如5%,10%,15%。如果在低压低频下,压降的幅度不会很大,故可将三个阈值设的更紧凑一些,比如5%,7%,10%。压降监测比较典型的数字实现方式是:模拟关键路径,或者选取和复制真实的关键路径。由于是数字实现,因此可以在功耗面积可控的情况下通过复制关键路径来增加相应的阈值个数。
57.可选地,本说明书中多个压降阈值可根据所述目标处理电路当前的电压和/或频率进行调整。所述压降监测模块中压降阈值的个数可通过复制关键路径的方式增加。
58.阈值3阈值2阈值1说明无无无无压降无无触发触发最小压降阈值无触发x触发中等压降阈值触发xx触发最大压降阈值
59.表1
60.结合表1分析可知,当监测到压降达到阈值1,由于该阈值1是最小值,因此,仅触发阈值1对应的阈值信号。当监测到压降达到阈值2,由于压降也同时达到了阈值1,因此,触发阈值2对应的阈值信号,同时,也可以触发阈值1对应的阈值信号,且触发过程是依次的,先触发阈值1对应的阈值信号,再保持阈值1对应的阈值信号被触发的同时,触发阈值2对应的阈值信号。同理,当监测到压降达到阈值3,会依次触发阈值1对应的阈值信号、阈值2对应的阈值信号和阈值3对应的阈值信号。
61.应理解,在本说明书实施例中,压降监测模块仅监测并触发阈值信号,而不涉及对目标阈值信号的确定操作,目标阈值信号的确定由时钟控制模块处理。其实,也可以将目标阈值信号的确定操作转移到压降监测模块执行,即将时钟控制模块的相应功能转接到压降监测模块实现。本说明书实施例并不对此进行限定,以上仅为示例说明。
62.需要说明的是,虽然阈值信号有可能在不断增加,但只要有一路阈值信号被触发,时钟控制模块就会关掉pll_out那一路的原频率时钟。而且,时钟门控机制的触发信号和阈值信号相同,故该方案并不会影响自适应时钟的压降处理响应时间。
63.步骤204:时钟控制模块接收至少一个阈值信号,基于降频约束条件从中选择一个阈值信号作为目标阈值信号,并从所述目标处理单元获取性能信号;基于所述性能信号和
所述目标阈值信号确定目标降频策略,并发送给所述时钟输出模块;其中,所述性能信号用于表征该目标处理单元当前负载变化和/或负载状态,所述目标降频策略至少包含降频幅度。
64.在本说明书实施例中,所述降频约束条件可以是根据当前场景需求进行选择设定。例如,针对需要降频反应迅速的场景而言,时钟控制模块可以从所述至少一个阈值信号中选择取值最大的阈值对应的阈值信号作为目标阈值信号。针对需要降频精准且稳定的场景而言,时钟控制模块可以从所述至少一个阈值信号中选择持续稳定触发的取值最大的阈值对应的阈值信号作为目标阈值信号。
65.一种可实现的方案,时钟控制模块可以基于对所述性能信号的分析结果,从预设的阈值信号与降频策略映射关系中选择与所述目标阈值信号匹配的目标降频策略。这里,可以将性能信号作为辅助参考协同阈值信号共同决定降频幅度,即目标降频策略。
66.其中,该性能信号可以是高性能处理单元准备切换负载的第一信号。时钟控制模块可以通过简单的预测逻辑来分析该负载变化是否会引发压降,参照图3所示,如果预测偏向引发,则当该负载切换信号置高,时钟控制可选择主动小幅降低时钟频率若干时间长度。这里可以理解为第一信号置高时,可引发压降;其实,也可以设置当第一信号置低时引发压降。该第一信号对降频幅度的影响可在后续主动降频控制方案中详述。
67.性能信号也可以是高性能处理单元在某高负载下的状态信号,即第二信号,其实,该第二性能信号还可以包含在高负载状态下的物理状态信号,例如温度状态所反映出的状态信号。如该第二信号置高,则当压降低于阈值而不足以触发目标阈值信号时,时钟控制模块可按照控制寄存器提前配置好的方式选择相应的降频策略。反之,如第二信号置低,目标阈值信号触发时,如果压降偏小,则更有可能是电源网络上的扰动,自适应时钟不需要大幅度降频;如果压降偏大,则更有可能是高性能处理单元未知的负载或者自适应时钟自身发生的工作异常引发,此时需要更大幅度的降频。因此,第二信号的大小以及触发产生目标阈值信号的压降决定了目标降频策略中降频幅度。
68.当结合阈值信号和性能信号一起确定目标降频策略时,可根据性能信号的类型分为以下两种实现方式:
69.方式一:所述预设的阈值信号与降频策略映射关系中:每个阈值信号对应的降频策略至少包含:未修正的第一降频子策略、基于第一信号正向修正的第二降频子策略以及基于第一信号反向修正的第三降频子策略;所述时钟控制模块识别到所述性能信号为所述目标处理单元准备切换负载的第一信号,则基于预测逻辑判断所述第一信号是否能够引发压降;如果判断所述第一信号能够引发压降,则基于所述第一信号的大小从预设的阈值信号与降频策略映射关系中,选择与所述阈值信号对应的第二降频子策略或第三降频子策略作为目标降频策略;如果判断所述第一信号不足以引发压降,则从阈值信号与降频策略映射关系中,选择与所述阈值信号对应的第一降频子策略作为目标降频策略。
70.方式二:所述预设的阈值信号与降频策略映射关系中:每个阈值信号对应的降频策略包含:未修正的第一降频子策略、基于第二信号正向修正的第四降频子策略和基于第二信号反向修正的第五降频子策略;所述时钟控制模块识别到所述性能信号为所述目标处理单元在特定负载下的第二信号,则基于所述第二信号的大小判断该第二信号是否能够引发压降;如果判断所述第二信号能够引发压降,则基于所述第二信号的大小以及触发产生
所述目标阈值信号的压降,从预设的阈值信号与降频策略映射关系中,选择与所述阈值信号对应的第四降频子策略或第五降频子策略作为目标降频策略;如果判断所述第二信号不足以引发压降,则从阈值信号与降频策略映射关系中,选择与所述阈值信号对应的第一降频子策略作为目标降频策略。
71.以上方式一和方式二仅是本方案的两个示例,并不作为必要方案对本说明书实施例进行限定。除了方式一和方式二以外,还可以单独以阈值信号与降频策略预先建立阈值信号与降频策略映射关系,该映射关系中与阈值信号对应的降频策略可以只有一个,而不存在多个不同子降频策略;在根据阈值信号和性能信号确定目标降频策略时,可以先根据阈值信号从阈值信号与降频策略映射关系中选择与阈值信号对应的降频策略,然后,再基于性能信号对降频策略中降频幅度进行正向修正或反向修正,或者不修正,得到目标降频策略。例如,根据阈值信号和性能信号结合分析,确定每种结合情况下对应的降频幅度,并在时钟生成模块中部署不同的降频时钟。这样,当有阈值信号传来时,时钟控制模块即可结合阈值信号和性能信号结合确定出匹配的目标降频策略。
72.参照图4所示,以性能信号为负载状态信号为例,触发阈值1对应的阈值信号1后,如果负载状态信号置低,则选择默认的降频策略1,如果负载状态信号置高,则选择依据负载状态信号配置的降频策略3;触发阈值2对应的阈值信号2后,如果负载状态信号置低,则选择默认的降频策略2,如果负载状态信号置高,则选择依据负载状态信号配置的降频策略4。这里仅以两个分支为例,其实还可以有阈值3-阈值n的分支,在此并未一一列出。
73.可见,本说明书实施例中目标降频策略中降频幅度,可以基于预先设置的映射关系直接选择匹配出目标降频策略,或者,基于预先设置的映射关系确定出降频策略,再根据性能信号对该降频策略中降频幅度进行修正,以得到目标降频策略。总之,无论采用何种具体的确定方式,都可以根据目标阈值信号性能信号为当前产生的压降匹配出较为精准合适的目标降频策略。
74.步骤206:时钟输出模块从所述时钟生成模块生成的时钟信号集合中选择与所述目标降频策略对应的降频时钟信号,并输出给所述目标处理单元。
75.如前所述,时钟生成模块中事先部署有多种降频时钟,并生成多种降频时钟信号;当时钟输出模块接收到目标降频策略后,可以根据该目标降频策略中的降频幅度,选择对应的降频时钟信号,并输出给目标处理单元。
76.以上频率控制方案,是在有压降产生的情况下所实施的被动降频操作,从由压降触发的阈值信号中,基于降频约束条件确定目标阈值信号,然后基于目标阈值信号和性能信号确定目标降频策略,最后基于该目标降频策略中降频幅度从时钟生成模块产生的降频时钟信号中选择对应的降频时钟信号,输入目标处理单元进行降频处理。从而,基于阈值信号和性能信号,为不同压降匹配出不同的目标降频策略,实现精准灵活降频,减少或避免目标处理单元由于压降导致的性能损失。
77.除了上述被动模式下的降频处理,本说明书实施例还提供了一种基于自适应时钟的主动降频控制方案。在基于被动降频方案的步骤202对目标处理单元进行电压监测时,如果所述压降监测模块监测到目标处理单元的电压变化未触发任何阈值信号,则所述时钟控制模块从所述目标处理单元获取性能信号。基于对所述性能信号的分析结果,从预设的性能信号与降频策略映射关系中选择与所述性能信号匹配的目标降频策略,并发送给所述时
钟输出模块;其中,所述性能信号用于表征该目标处理单元当前负载变化和/或负载状态。
78.可选地,如果时钟控制模块根据所述性能信号的分析结果确定该性能信号能够引发压降,则根据所述性能信号的大小从所述预设的性能信号与降频策略映射关系中,选择与该性能信号的取值相匹配的降频策略作为目标降频策略;如果时钟控制模块确定所述性能信号不足以引发压降,则不做处理。
79.在所述时钟控制模块根据所述性能信号的大小从所述预设的性能信号与降频策略映射关系中,选择与该性能信号的取值相匹配的降频策略作为目标降频策略时,一种具体的实现方式为:所述时钟控制模块根据所述性能信号的大小所对应的状态指针,从所述预设的性能信号与降频策略映射关系中,选择与该信号指针匹配的降频幅度,或者降频幅度及降频时长作为目标降频策略。
80.可参照图3所示,以性能信号为负载变化时切换信号,假设当该切换信号置高时可引发压降,则可以根据切换信号的不同大小取值设置不同的状态指针,例如,状态指针为00,对应降频策略为:不主动降频;状态指针为01,对应降频策略为:小幅降频,降频时长为 a;状态指针为10,对应降频策略为:小幅降频,降频时长为b;状态指针为11,对应降频策略为:大幅降频,降频时长为c。应理解,该图3仅作为示例出现,并不对方案可实现范围进行限定。其中降频幅度和降频时长可根据历史仿真和测试数据确定。
81.考虑到在实际的频率控制方案中,有些压降并不是负载或频率变化导致,这些压降持续时长或大小不稳定。例如,非负载和非频率变化所导致的压降波动,可能来源于阈值设置不合理,或者是电源网络或者芯片上其他噪声所产生的极短的故障或者周期性的波动。
82.如果是阈值设置不合理导致的压降波动,则可能会导致压降监测模块更容易经常触发阈值,使得时钟输出模块长时间输出降频时钟信号。因此,针对这种情况可在设计之初,反复测验阈值设置合理性,以尽量避免产生这类压降波动。
83.如果是电源网络或者芯片上其他噪声所产生压降波动,其持续的时间和发生的频率都不会很久,可能当时钟输出模块准备输出降频时钟信号的时候压降已经消失。此时,正常处理可能会直接恢复到全频,但是,由于目前已经同步了降频时钟,若恢复回全频时钟,必然需要重新同步全频时钟,显然,时钟切换时的同步过程会减少输出时钟。尤其针对这类持续时长和发生频率不稳定的情况,可能会反复切换时钟,减少更多输出时钟。为了应对这些特殊情况,可以在所述时钟输出模块将所述降频时钟信号输出给所述目标处理单元之后,当压降消失时,仍以当前降频时钟信号输出给所述目标处理单元,并持续设定时长,从而降低因时钟切换而导致的输出时钟减少的可能。其中,所述设定时长根据历史压降的波动频率确定,例如,根据时钟控制信号恢复到全频后是否短时间内重复触发压降阈值而调整。
84.应理解,在本说明书实施例中,目标降频策略中可以仅包含降频幅度,基于该降频幅度匹配出待输出的降频时钟信号,该降频时钟信号的输出可在压降消失时或是由压降触发的阈值信号消失时停止。即在输出降频时钟信号过程中,压降监测模块还时刻监测压降变化,以在压降消失或阈值信号消失时,通知时钟控制模块停止降频输出,而恢复为输出全频时钟信号。
85.其实,目标降频策略中除了包含降频幅度外,还可以进一步包含降频时长。参照图
5 所示,该降频时长的初始值可以基于历史仿真或测试数据确定,并在后续频率控制方案中不断循环修正。例如,在基于目标阈值信号发起降频策略后,输出降频时钟信号,输出降频时长可调,具体可参照以下规则进行调整:短时间内触发阈值信号,下次输出降频时长增加;短时间内未触发阈值信号,下次输出降频时长不变。在压降消失后,恢复全频时钟信号。
86.需要说明的是,上述设定时长可以视为目标降频策略中的降频时长。因此,设定时长的确定方案也可以参照图5方式处理得到。
87.综上,本说明书实施例通过核心模块时钟控制模块,根据阈值信号,性能信号,以及其他可配置信号来控制选择最终输出的降频时钟信号。按照降频触发的模式可分为主动保护和被动保护。参照图6所示,其中,在输出全频时钟信号的过程中,实时监测目标处理单元是否有压降产生且触发阈值信号,如果有阈值信号被触发,则选择被动保护模式确定目标降频策略,否则,选择主动保护模式预判接下来短时间可能会有压降而主动确定目标降频策略。主动保护可以增加电源网络的稳定性,被动保护是自适应时钟降频控制方案的核心,可以实现对不同压降的精准降频,减少或避免目标处理单元由于压降导致的性能损失。
88.应理解,目标降频策略中降频幅度和降频时长,在主动保护模式下主要是通过配置来实现,例如预测逻辑下的状态指针或配置的映射关系。在被动保护模式下,则是和压降大小以及由当前负载切换或负载状态引发的性能信号相关,具体实现方式可参照上述方式一和方式二的相关上下文描述,在此不做赘述。
89.本说明书实施例还提供一种片上系统,包括:目标处理单元,执行高性能处理操作;以及,上述实施例所述的自适应时钟的频率控制电路,与所述目标处理单元信号连接,监测所述目标处理单元的压降,以及向所述目标处理单元反馈自适应调整后的时钟信号。
90.同时,本说明书实施例还提出了一种芯片,包括:上述实施例中片上系统;片外总线;通过片外总线与所述片上系统连接的存储器、电源管理电路。
91.随着人工智能物联网aiot的兴起,risc-v指令集架构因其独有的开放性和灵活性,受到越来越多的关注和支持,并有望成为下一代广泛应用的cpu架构。采用该架构可以设计出相应的覆盖从低功耗到高性能的各类应用场景的cpu。当设计的芯片关注性能时,使用本说明书实施例中的自适应时钟的降频控制系统可以让cpu在更高的电压下超频工作。当更关注功耗时,使用自适应时钟的降频控制系统可以有效减少额外预留的电压,从而降低cpu 的功耗。
92.例如,为了降低功耗,我们可能会让cpu在低负载的情况下位于一个低频低压的档位,但是由于工艺的复杂程度,往往在流片前无法完全验证收敛所有的电压频率组合,因此,为了保证cpu可以位于该频率下,会往电压上加更多的余量。如果配合了本说明书实施例中的自适应时钟的降频控制方案,即使余量没有加够,也可以通过降频保证cpu的正常工作。
93.再如,如果我们想推一下芯片的极限性能,比如在1.1v尝试让芯片跑在2.5ghz,这个也是在流片前无法确保的,只有部分芯片可以跑到,需要筛片。但如果使用自适应时钟的降频控制方案,能用的芯片会多一些,因为虽然有些cpu还是不能在所有情况下跑到2.5ghz,但如果是由于瞬时压降的原因导致的,就可以用自适应时钟解决,使得cpu可尝试更高的频率。
94.由此,通过本说明书实施例自适应时钟的降频控制方案可以实现芯片上cpu的低
功耗以及高频率尝试。
95.图7示出了本说明书实施例可以应用于的通用计算机体系结构。如图7所示,计算机系统700可以包括一个或多个处理器702,以及存储器704。在一些实施例中,上述自适应时钟的频率控制电路可用在该计算机体系结构以提供时钟信号,在另一些实施例中,可直接使用片上系统作为本实施例中的处理器702。计算机系统700中的存储器704可以主存储器(简称为主存或内存)。用于存储由数据信号表示的指令信息和/或数据信息,例如存放处理器702提供的数据(例如为运算结果),也可以用于实现处理器702与外部存储设备 706(或称为辅助存储器或外部存储器)之间的数据交换。在一些情形下,处理器702可能需要访问存储器704,以获取存储器704中的数据或对存储器704中的数据进行修改。基于此,处理器702可以包括指令执行单元7022、内存管理单元7024等部分。此外,计算机系统700还可以包括存显示设备708、音频设备710、鼠标/键盘712等输入/输出设备。显示设备708例如经相应的显卡与总线耦合,用于根据总线提供的显示信号进行显示。计算机系统700通常还包括通信设备714,因此可以通过各种方式与网络或其他设备通信。不同的计算机系统根据主板、操作系统和指令集架构的不同,其结构也可能有所变化。例如目前很多计算机系统设置有连接在总线和各个输入/输出设备之间的输入/输出控制中心,且该输入/输出控制中心可以集成于处理器702之内或独立于处理器702。
96.在一些实施例中,上述基于自适应时钟的频率控制电路可用在本嵌入式系统以提供时钟信号,在另一些实施例中,可直接使用片上系统作为本实施例中的处理器。随着超大规模集成电路(very large scale integration)和半导体工艺的迅速发展,上述的嵌入式系统的部分或者全部可实现在一个硅片上,即为嵌入式片上系统。
97.应理解,本说明书实施例中所涉及的自适应时钟的频率控制电路可应用于包括片上系统、芯片的任意电子设备中。电子设备可以是例如数据中心数量庞大的云服务器,还可以是日常生活中使用的各类电子设备。
98.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
99.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。

技术特征:
1.一种基于自适应时钟的频率控制方法,应用于自适应时钟控制电路,所述自适应时钟控制电路包括:压降监测模块、时钟控制模块、时钟生成模块以及时钟输出模块;所述频率控制方法包括:所述压降监测模块监测目标处理单元的电压,并在监测到电压瞬时跌落且在有效监测时段产生的压降达到设定阈值集合中至少一个阈值时,触发所述至少一个阈值中每个阈值对应的阈值信号;所述时钟控制模块接收至少一个阈值信号,基于降频约束条件从中选择一个阈值信号作为目标阈值信号,并从所述目标处理单元获取性能信号;基于所述性能信号和所述目标阈值信号确定目标降频策略,并发送给所述时钟输出模块;其中,所述性能信号用于表征该目标处理单元当前负载变化和/或负载状态,所述目标降频策略至少包含降频幅度;所述时钟输出模块从所述时钟生成模块生成的时钟信号集合中选择与所述目标降频策略对应的降频时钟信号,并输出给所述目标处理单元。2.如权利要求1所述的基于自适应时钟的频率控制方法,所述压降监测模块在监测到电压瞬时跌落且在有效监测时段产生的压降达到设定阈值集合中至少一个阈值时,触发所述至少一个阈值中每个阈值对应的阈值信号,包括:如果所述压降监测模块在监测到电压瞬时跌落且在有效监测时段产生的压降达到设定阈值集合中最小阈值,则触发所述最小阈值对应的阈值信号;如果所述压降监测模块在监测到电压瞬时跌落且在有效监测时段产生的压降依次达到设定阈值集合中多个阈值,则按照阈值由小到大的顺序依次触发所述多个阈值中每个阈值对应的阈值信号。3.如权利要求2所述的基于自适应时钟的频率控制方法,所述时钟控制模块基于降频约束条件从中选择一个阈值信号作为目标阈值信号,包括:所述时钟控制模块从所述至少一个阈值信号中选择取值最大的阈值对应的阈值信号作为目标阈值信号;或者,所述时钟控制模块从所述至少一个阈值信号中选择持续稳定触发的取值最大的阈值对应的阈值信号作为目标阈值信号。4.如权利要求1-3任一项所述的基于自适应时钟的频率控制方法,所述时钟控制模块基于所述性能信号和所述目标阈值信号确定目标降频策略,包括:所述时钟控制模块基于对所述性能信号的分析结果,从预设的阈值信号与降频策略映射关系中选择与所述目标阈值信号匹配的目标降频策略。5.如权利要求4所述的基于自适应时钟的频率控制方法,所述预设的阈值信号与降频策略映射关系中:每个阈值信号对应的降频策略至少包含:未修正的第一降频子策略、基于第一信号正向修正的第二降频子策略以及基于第一信号反向修正的第三降频子策略;所述时钟控制模块基于对所述性能信号的分析结果,从预设的阈值信号与降频策略映射关系中选择与所述目标阈值信号匹配的目标降频策略,包括:所述时钟控制模块识别到所述性能信号为所述目标处理单元准备切换负载的第一信号,则基于预测逻辑判断所述第一信号是否能够引发压降;如果判断所述第一信号能够引发压降,则基于所述第一信号的大小从预设的阈值信号
与降频策略映射关系中,选择与所述阈值信号对应的第二降频子策略或第三降频子策略作为目标降频策略;如果判断所述第一信号不足以引发压降,则从阈值信号与降频策略映射关系中,选择与所述阈值信号对应的第一降频子策略作为目标降频策略。6.如权利要求4所述的基于自适应时钟的频率控制方法,所述预设的阈值信号与降频策略映射关系中:每个阈值信号对应的降频策略还包含:基于第二信号正向修正的第四降频子策略和基于第二信号反向修正的第五降频子策略;所述时钟控制模块基于对所述性能信号的分析结果,从预设的阈值信号与降频策略映射关系中选择与所述目标阈值信号匹配的目标降频策略,包括:所述时钟控制模块识别到所述性能信号为所述目标处理单元在特定负载下的第二信号,则基于所述第二信号的大小判断该第二信号是否能够引发压降;如果判断所述第二信号能够引发压降,则基于所述第二信号的大小以及触发产生所述目标阈值信号的压降,从预设的阈值信号与降频策略映射关系中,选择与所述阈值信号对应的第四降频子策略或第五降频子策略作为目标降频策略;如果判断所述第二信号不足以引发压降,则从阈值信号与降频策略映射关系中,选择与所述阈值信号对应的第一降频子策略作为目标降频策略。7.如权利要求1所述的基于自适应时钟的频率控制方法,如果所述压降监测模块监测到目标处理单元的电压变化未触发任何阈值信号,则所述方法还包括:所述时钟控制模块从所述目标处理单元获取性能信号;基于对所述性能信号的分析结果,从预设的性能信号与降频策略映射关系中选择与所述性能信号匹配的目标降频策略,并发送给所述时钟输出模块;其中,所述性能信号用于表征该目标处理单元当前负载变化和/或负载状态。8.如权利要求7所述的基于自适应时钟的频率控制方法,所述时钟控制模块基于对所述性能信号的分析结果,从预设的性能信号与降频策略映射关系中选择与所述性能信号匹配的目标降频策略,包括:如果根据所述性能信号的分析结果确定该性能信号能够引发压降,则根据所述性能信号的大小从所述预设的性能信号与降频策略映射关系中,选择与该性能信号的取值相匹配的降频策略作为目标降频策略;如果所述性能信号不足以引发压降,则不做处理。9.如权利要求8所述的基于自适应时钟的频率控制方法,所述时钟控制模块根据所述性能信号的大小从所述预设的性能信号与降频策略映射关系中,选择与该性能信号的取值相匹配的降频策略作为目标降频策略,包括:所述时钟控制模块根据所述性能信号的大小所对应的信号指针,从所述预设的性能信号与降频策略映射关系中,选择与该信号指针匹配的降频幅度,或者降频幅度及降频时长作为目标降频策略。10.如权利要求1-3或7-9任一项所述的基于自适应时钟的频率控制方法,如果根据所述性能信号的分析结果确定当前或预计产生的压降为所述目标处理单元中非负载或非频率变化引发的波动压降;则在所述时钟输出模块将所述降频时钟信号输出给所述目标处理单元之后,所述方法还包括:
当压降消失时,所述时钟输出模块仍以所述降频时钟信号输出给所述目标处理单元,并持续设定时长;其中,所述设定时长根据历史压降的波动频率确定。11.一种基于自适应时钟的频率控制电路,包括:压降监测模块、时钟控制模块、时钟输出模块以及时钟生成模块;所述压降监测模块中预设有多个压降阈值,每个压降阈值对应一个阈值信号;所述压降监测模块,监测目标处理单元的电压,并在监测到电压瞬时跌落且在有效监测时段产生的压降达到设定阈值集合中至少一个阈值时,触发所述至少一个阈值中每个阈值对应的阈值信号;所述时钟控制模块,至少一个阈值信号,基于降频约束条件从中选择一个阈值信号作为目标阈值信号,并从所述目标处理单元获取性能信号;基于所述性能信号和所述目标阈值信号确定目标降频策略,并发送给所述时钟输出模块;其中,所述性能信号用于表征该目标处理单元当前负载变化和/或负载状态,所述目标降频策略至少包含降频幅度;所述时钟输出模块,从所述时钟生成模块生成的时钟信号集合中选择与所述目标降频策略对应的降频时钟信号,并输出给所述目标处理单元。12.如权利要求11所述的自适应时钟的频率控制电路,如果所述压降监测模块监测到目标处理单元的电压变化未触发任何阈值信号,则所述时钟控制模块,还从所述目标处理单元获取性能信号;基于对所述性能信号的分析结果,从预设的性能信号与降频策略映射关系中选择与所述性能信号匹配的目标降频策略,并发送给所述时钟输出模块;其中,所述性能信号用于表征该目标处理单元当前负载变化和/或负载状态。13.一种片上系统,包括:目标处理单元,执行高性能处理操作;以及,权利要求11或12任一项所述的自适应时钟的频率控制电路,与所述目标处理单元信号连接,监测所述目标处理单元的压降,以及向所述目标处理单元反馈自适应调整后的时钟信号。14.一种芯片,包括:权利要求13所述的片上系统;片外总线;通过所述片外总线与所述片上系统连接的存储器、电源管理电路。

技术总结
本说明书公开了一种基于自适应时钟的频率控制方法、电路及芯片,尤其适用于如RISC-V架构指令集为基础(或ARM架构、X86架构)、包括人工智能物联网芯片在内的广泛应用的各类芯片;当压降监测模块监测到目标处理单元有电压瞬时跌落且在有效监测时段产生的压降达到设定阈值集合中至少一个阈值时,触发产生至少一个阈值信号,时钟控制模块选择满足降频约束条件的阈值信号为目标阈值信号,以目标阈值信号和从目标处理单元获取的性能信号确定目标降频策略,并发送给时钟输出模块,由时钟输出模块从降频时钟信号集合中选择与目标降频策略相符的降频时钟信号,输出给目标处理单元进行精准降频,以减少目标处理单元由压降导致的性能损失。能损失。能损失。


技术研发人员:寇博华 王彤 江鹏 陆启乐 蒲宇 石欢
受保护的技术使用者:杭州中天微系统有限公司
技术研发日:2022.03.28
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-12614.html

最新回复(0)