支持多时钟域多电压域耦合的电压频率调节方法及系统与流程

摘要: 本发明涉及电压调节,尤其涉及一种支持多时钟域多电压域耦合的电压频率调节方法及系统。背景技术:1、随着移动设备与嵌入式系统性能需求持续提升,多核处理器已成为主流架...
支持多时钟域多电压域耦合的电压频率调节方法及系统与流程

本发明涉及电压调节,尤其涉及一种支持多时钟域多电压域耦合的电压频率调节方法及系统。

背景技术:

1、随着移动设备与嵌入式系统性能需求持续提升,多核处理器已成为主流架构。随着12nm及更先进制造工艺的广泛应用,也让芯片逐步采用多时钟域、多电压域以及域耦合的精细化设计,实现分区功耗的精准管控。现阶段行业主要依托dvfs与avs技术完成电压、频率的动态调节,主流实现方式分为纯软件与传统硬件两类:纯软件方案,依靠反复读写寄存器完成调控,存在调节时延高、占用cpu资源、附加功耗大等缺陷,同时受软件锁约束无法实现多通道并发调压,从而在面对时钟域与电压域耦合场景时调压实现难度陡增,极易造成系统卡顿;而传统硬件方案,则多为单通道架构、功能局限性较强,不仅无法适配单时钟域划分多电压域、异步模块共用同一电压域的应用场景,且调压步长固定、响应速度慢,难以保障调压的实时性与精细度。因此,提出一种在复杂场景下兼具高速调压能力的自适应电压频率调节方法及系统,具有十分重要的现实意义。

技术实现思路

1、本发明提供了一种支持多时钟域多电压域耦合的电压频率调节方法及系统,提高了模块调压灵活性和可靠性,进而提高了模块调压稳定性,以确保电路的稳定运行。

2、为了解决上述技术问题,本发明第一方面公开了一种支持多时钟域多电压域耦合的电压频率调节方法,所述方法包括:

3、当接收到处理器的调压指令时,确定所述处理器的调压场景类型;所述调压场景类型包括多时钟域单电压域调压场景类型,或者单时钟域多电压域调压场景类型;

4、当所述调压场景类型包括多时钟域单电压域调压场景类型时,实时获取所述处理器的每个同电压域模块的最低电压需求参数,并根据所有所述同电压域模块的最低电压需求参数,对所有所述同电压域模块进行基于电压投票下的调压操作;

5、当所述调压场景类型包括单时钟域多电压域调压场景类型时,获取所述处理器的目标同时钟域模块的当前电压档位,并根据所述目标同时钟域模块的当前电压档位,对所述目标同时钟域模块进行基于中间电压档位插入判定下的调压操作。

6、作为一种可选的实施方式,在本发明第一方面中,所述根据所有所述同电压域模块的最低电压需求参数,对所有所述同电压域模块进行基于电压投票下的调压操作,包括:

7、根据所有所述同电压域模块的最低电压需求参数,对所有所述同电压域模块进行最大电压档位投票操作,得到所有所述最低电压需求参数中的最大电压档位;

8、获取所有所述同电压域模块的当前电压档位,并对于每一所述同电压域模块,判断所述同电压域模块的当前电压档位是否小于所述最大电压档位;

9、当判断出所述同电压域模块的当前电压档位小于所述最大电压档位时,对所述同电压域模块进行目标调压操作,并在完成所述目标调压操作以后,对所述同电压域模块进行时钟调频操作;

10、当判断出所述同电压域模块的当前电压档位大于或等于所述最大电压档位时,对所述同电压域模块进行时钟调频操作,并在完成所述时钟调频操作以后,对所述同电压域模块进行目标调压操作。

11、作为一种可选的实施方式,在本发明第一方面中,所述对所述同电压域模块进行目标调压操作,包括:

12、获取所述同电压域模块的调压稳定需求参数,并根据所述调压稳定需求参数,确定所述同电压域模块的调压需求类型;所述调压需求类型包括二分法调压需求类型或者公式法调压需求类型;

13、当所述调压需求类型包括所述二分法调压需求类型时,判断所述同电压域模块的当前电压档位是否等于所述最大电压档位;

14、当判断出所述同电压域模块的当前电压档位等于所述最大电压档位时,结束对所述同电压域模块的目标调压操作;

15、当判断出所述同电压域模块的当前电压档位不等于所述最大电压档位时,判断所述最大电压档位与所述同电压域模块的当前电压档位之间的档位差值是否为1;

16、当判断出所述档位差值为1时,将所述同电压域模块的当前电压档位调至所述最大电压档位,以更新所述同电压域模块的当前电压档位,并触发执行所述的判断所述同电压域模块的当前电压档位是否等于所述最大电压档位的操作。

17、作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:

18、当判断出所述档位差值不为1时,判断所述档位差值除以2的余数是否为0;

19、当判断出所述余数为0时,根据所述同电压域模块的当前电压档位以及所述最大电压档位,计算第一目标调压档位,并将所述同电压域模块的当前电压档位调至所述第一目标调压档位,以更新所述同电压域模块的当前电压档位,并触发执行所述的判断所述同电压域模块的当前电压档位是否等于所述最大电压档位的操作;

20、当判断出所述余数不为0时,根据所述同电压域模块的当前电压档位以及所述最大电压档位,计算第二目标调压档位,并将所述同电压域模块的当前电压档位调至所述第二目标调压档位,以更新所述同电压域模块的当前电压档位,并触发执行所述的判断所述同电压域模块的当前电压档位是否等于所述最大电压档位的操作;

21、其中,所述第一目标调压档位为:

22、v1档位= vcur档位+(vtar档位- vcur档位)/2;

23、所述第二目标调压档位为:

24、v2档位= vcur档位+(vtar档位- vcur档位+ 1)/2;

25、vcur档位为所述同电压域模块的当前电压档位,vtar档位为所述最大电压档位。

26、作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:

27、当所述调压需求类型包括所述公式法调压需求类型时,获取所述同电压域模块的当前性能参数、目标性能参数、目标线性关系参数以及调压步长参数;所述目标线性关系参数为在芯片制造分级后所述同电压域模块的性能变化量与供电电压变化量之间的线性关系参数;

28、根据所述同电压域模块的当前性能参数、目标性能参数、目标线性关系参数、调压步长参数以及当前电压档位,确定所述同电压域模块的第三目标调压档位,并将所述同电压域模块的当前电压档位调至所述第三目标调压档位;

29、其中,所述第三目标调压档位为:

30、;

31、ptar为所述同电压域模块的目标性能参数,pcur为所述同电压域模块的当前性能参数,k为所述目标线性关系参数,b为所述调压步长参数。

32、作为一种可选的实施方式,在本发明第一方面中,所述根据所述目标同时钟域模块的当前电压档位,对所述目标同时钟域模块进行基于中间电压档位插入判定下的调压操作,包括:

33、获取所述目标同时钟域模块的目标电压档位,并判断所述目标同时钟域模块的当前电压档位是否与所述目标电压档位相匹配;

34、当判断出不相匹配时,计算所述目标电压档位与所述处理器的其他同时钟域模块的当前电压档位之间的档位偏离值;

35、根据预设的所述目标同时钟域模块与所述处理器的其他同时钟域模块之间的电压档位差值需求范围,确定所述目标同时钟域模块的档位偏离阈值;

36、判断所述档位偏离值是否小于或等于预设的档位偏离阈值;

37、当判断出所述档位偏离值小于或等于所述档位偏离阈值时,将所述目标同时钟域模块的当前电压档位调至所述目标电压档位。

38、作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:

39、当判断出所述档位偏离值大于所述档位偏离阈值时,根据所述档位偏离阈值、所述目标同时钟域模块的当前电压档位以及所述目标电压档位,确定所述目标同时钟域模块的当前电压档位与所述目标电压档位之间的第一中间电压档位;

40、根据所述档位偏离阈值、所述其他同时钟域模块的当前电压档位以及所述目标电压档位,确定所述其他同时钟域模块的当前电压档位与所述目标电压档位之间的第二中间电压档位;

41、将所述目标同时钟域模块的当前电压档位调至所述第一中间电压档位,并将所述其他同时钟域模块的当前电压档位调至所述第二中间电压档位,以更新所述目标同时钟域模块的当前电压档位以及所述其他同时钟域模块的当前电压档位,并触发执行所述的判断所述目标同时钟域模块的当前电压档位是否与所述目标电压档位相匹配的操作。

42、本发明第二方面公开了一种支持多时钟域多电压域耦合的电压频率调节系统,所述系统包括:

43、确定模块,用于当接收到处理器的调压指令时,确定所述处理器的调压场景类型;所述调压场景类型包括多时钟域单电压域调压场景类型,或者单时钟域多电压域调压场景类型;

44、第一调压模块,用于当所述调压场景类型包括多时钟域单电压域调压场景类型时,实时获取所述处理器的每个同电压域模块的最低电压需求参数,并根据所有所述同电压域模块的最低电压需求参数,对所有所述同电压域模块进行基于电压投票下的调压操作;

45、第二调压模块,用于当所述调压场景类型包括单时钟域多电压域调压场景类型时,获取所述处理器的目标同时钟域模块的当前电压档位,并根据所述目标同时钟域模块的当前电压档位,对所述目标同时钟域模块进行基于中间电压档位插入判定下的调压操作。

46、作为一种可选的实施方式,在本发明第二方面中,所述第一调压模块根据所有所述同电压域模块的最低电压需求参数,对所有所述同电压域模块进行基于电压投票下的调压操作的方式具体包括:

47、根据所有所述同电压域模块的最低电压需求参数,对所有所述同电压域模块进行最大电压档位投票操作,得到所有所述最低电压需求参数中的最大电压档位;

48、获取所有所述同电压域模块的当前电压档位,并对于每一所述同电压域模块,判断所述同电压域模块的当前电压档位是否小于所述最大电压档位;

49、当判断出所述同电压域模块的当前电压档位小于所述最大电压档位时,对所述同电压域模块进行目标调压操作,并在完成所述目标调压操作以后,对所述同电压域模块进行时钟调频操作;

50、当判断出所述同电压域模块的当前电压档位大于或等于所述最大电压档位时,对所述同电压域模块进行时钟调频操作,并在完成所述时钟调频操作以后,对所述同电压域模块进行目标调压操作。

51、作为一种可选的实施方式,在本发明第二方面中,所述第一调压模块对所述同电压域模块进行目标调压操作的方式具体包括:

52、获取所述同电压域模块的调压稳定需求参数,并根据所述调压稳定需求参数,确定所述同电压域模块的调压需求类型;所述调压需求类型包括二分法调压需求类型或者公式法调压需求类型;

53、当所述调压需求类型包括所述二分法调压需求类型时,判断所述同电压域模块的当前电压档位是否等于所述最大电压档位;

54、当判断出所述同电压域模块的当前电压档位等于所述最大电压档位时,结束对所述同电压域模块的目标调压操作;

55、当判断出所述同电压域模块的当前电压档位不等于所述最大电压档位时,判断所述最大电压档位与所述同电压域模块的当前电压档位之间的档位差值是否为1;

56、当判断出所述档位差值为1时,将所述同电压域模块的当前电压档位调至所述最大电压档位,以更新所述同电压域模块的当前电压档位,并触发执行所述的判断所述同电压域模块的当前电压档位是否等于所述最大电压档位的操作。

57、作为一种可选的实施方式,在本发明第二方面中,所述第一调压模块对所述同电压域模块进行目标调压操作的方式具体还包括:

58、当判断出所述档位差值不为1时,判断所述档位差值除以2的余数是否为0;

59、当判断出所述余数为0时,根据所述同电压域模块的当前电压档位以及所述最大电压档位,计算第一目标调压档位,并将所述同电压域模块的当前电压档位调至所述第一目标调压档位,以更新所述同电压域模块的当前电压档位,并触发执行所述的判断所述同电压域模块的当前电压档位是否等于所述最大电压档位的操作;

60、当判断出所述余数不为0时,根据所述同电压域模块的当前电压档位以及所述最大电压档位,计算第二目标调压档位,并将所述同电压域模块的当前电压档位调至所述第二目标调压档位,以更新所述同电压域模块的当前电压档位,并触发执行所述的判断所述同电压域模块的当前电压档位是否等于所述最大电压档位的操作;

61、其中,所述第一目标调压档位为:

62、v1档位= vcur档位+(vtar档位- vcur档位)/2;

63、所述第二目标调压档位为:

64、v2档位= vcur档位+(vtar档位- vcur档位+ 1)/2;

65、vcur档位为所述同电压域模块的当前电压档位,vtar档位为所述最大电压档位。

66、作为一种可选的实施方式,在本发明第二方面中,所述第一调压模块对所述同电压域模块进行目标调压操作的方式具体还包括:

67、当所述调压需求类型包括所述公式法调压需求类型时,获取所述同电压域模块的当前性能参数、目标性能参数、目标线性关系参数以及调压步长参数;所述目标线性关系参数为在芯片制造分级后所述同电压域模块的性能变化量与供电电压变化量之间的线性关系参数;

68、根据所述同电压域模块的当前性能参数、目标性能参数、目标线性关系参数、调压步长参数以及当前电压档位,确定所述同电压域模块的第三目标调压档位,并将所述同电压域模块的当前电压档位调至所述第三目标调压档位;

69、其中,所述第三目标调压档位为:

70、;

71、ptar为所述同电压域模块的目标性能参数,pcur为所述同电压域模块的当前性能参数,k为所述目标线性关系参数,b为所述调压步长参数。

72、作为一种可选的实施方式,在本发明第二方面中,所述第二调压模块根据所述目标同时钟域模块的当前电压档位,对所述目标同时钟域模块进行基于中间电压档位插入判定下的调压操作的方式具体包括:

73、获取所述目标同时钟域模块的目标电压档位,并判断所述目标同时钟域模块的当前电压档位是否与所述目标电压档位相匹配;

74、当判断出不相匹配时,计算所述目标电压档位与所述处理器的其他同时钟域模块的当前电压档位之间的档位偏离值;

75、根据预设的所述目标同时钟域模块与所述处理器的其他同时钟域模块之间的电压档位差值需求范围,确定所述目标同时钟域模块的档位偏离阈值;

76、判断所述档位偏离值是否小于或等于预设的档位偏离阈值;

77、当判断出所述档位偏离值小于或等于所述档位偏离阈值时,将所述目标同时钟域模块的当前电压档位调至所述目标电压档位。

78、作为一种可选的实施方式,在本发明第二方面中,所述第二调压模块根据所述目标同时钟域模块的当前电压档位,对所述目标同时钟域模块进行基于中间电压档位插入判定下的调压操作的方式具体还包括:

79、当判断出所述档位偏离值大于所述档位偏离阈值时,根据所述档位偏离阈值、所述目标同时钟域模块的当前电压档位以及所述目标电压档位,确定所述目标同时钟域模块的当前电压档位与所述目标电压档位之间的第一中间电压档位;

80、根据所述档位偏离阈值、所述其他同时钟域模块的当前电压档位以及所述目标电压档位,确定所述其他同时钟域模块的当前电压档位与所述目标电压档位之间的第二中间电压档位;

81、将所述目标同时钟域模块的当前电压档位调至所述第一中间电压档位,并将所述其他同时钟域模块的当前电压档位调至所述第二中间电压档位,以更新所述目标同时钟域模块的当前电压档位以及所述其他同时钟域模块的当前电压档位,并触发执行所述的判断所述目标同时钟域模块的当前电压档位是否与所述目标电压档位相匹配的操作。

82、本发明第三方面公开了另一种支持多时钟域多电压域耦合的电压频率调节系统,所述系统包括:

83、存储有可执行程序代码的存储器;

84、与所述存储器耦合的处理器;

85、所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的支持多时钟域多电压域耦合的电压频率调节方法。

86、本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的支持多时钟域多电压域耦合的电压频率调节方法。

87、与现有技术相比,本发明实施例具有以下有益效果:

88、本发明实施例中,当接收到处理器的调压指令时,确定处理器的调压场景类型;当调压场景类型包括多时钟域单电压域调压场景类型时,根据获取到的处理器的所有同电压域模块的最低电压需求参数,对所有同电压域模块进行基于电压投票下的调压操作;当调压场景类型包括单时钟域多电压域调压场景类型时,根据获取到的处理器的目标同时钟域模块的当前电压档位,对目标同时钟域模块进行基于中间电压档位插入判定下的调压操作,这样,能够对多时钟域、多电压域下的模块进行智能调压,提高了模块调压灵活性和可靠性,进而提高了模块调压稳定性,以确保电路的稳定运行。