一种计算架构及控制方法
【技术领域】
[0001]本发明涉及一种计算架构及控制方法,具体涉及一种功耗和性能软件可控的计算架构及控制方法。
【背景技术】
[0002]传统的计算架构包括核心计算单元及固定电源阵列和固定时钟阵列三部分,如图1所示。固定电源阵列和固定时钟阵列分别为核心计算单元各部分提供各自固定的电源和各自固定的时钟信号,也就是说核心计算单元部分的功耗和性能基本是固定的。
[0003]在固定电源阵列和固定时钟阵列的现有技术条件下,程序代码对核心计算单元的电源阵列和时钟阵列无法进行控制,因此对核心计算单元的功耗和性能也就无法进行控制,即核心计算单元的功耗和性能独立于程序之外,如图2所示。
【发明内容】
[0004]本发明提供一种计算架构及控制方法,以实现计算架构的功耗和性能为软件可控,从而在需要时实现高性能或在需要时实现低功耗。
[0005]为实现上述目的,本发明提供了如下技术方案:
[0006]—种计算架构,包括:核心计算单元、电源阵列、时钟阵列、以及控制寄存器堆;所述电源阵列和/或所述时钟阵列是可控的,所述电源阵列为所述核心计算单元提供电源电压;所述时钟阵列为所述核心计算单元提供时钟信号;所述控制寄存器堆存放有逻辑值,所述控制寄存器堆根据所述逻辑值控制所述电源阵列输出电源电压,和/或所述控制寄存器堆根据所述逻辑值控制所述时钟阵列输出时钟信号,以使所述核心计算单元的功耗与性能可控。
[0007]优选地,所述逻辑值由所述核心计算单元写入所述控制寄存器堆。
[0008]优选地,所述逻辑值由所述核心计算单元的外围程序代码决定。
[0009]优选地,所述外围程序代码包括一对或多对控制功耗与性能的代码片段对。
[0010]优选地,所述多对控制功耗与性能的代码片段对,其内部嵌套多对同类的代码片段对;或者
[0011]所述多对控制功耗与性能的代码片段对,其层次化嵌套多对同类的代码片段对。
[0012]优选地,所述电源阵列包括若干个并行的电源子阵列,每个电源子阵列包括:电源控制电路,与所述电源控制电路连接的电压调节电路,所述电源控制电路根据电源控制信号,控制所述电压调节电路,以使所述电压调节电路向所述核心计算单元输出电源电压。
[0013]优选地,所述时钟阵列包括若干个并行的时钟子阵列,每个时钟子阵列包括:频率控制电路,与所述频率控制电路连接的频率调节电路,所述频率控制电路根据时钟控制信号,控制所述频率调节电路,以使所述频率调节电路向所述核心计算单元输出时钟信号。
[0014]一种计算架构控制方法,所述方法包括:
[0015]核心计算单元根据外围程序代码向控制寄存器堆写入逻辑值;
[0016]控制寄存器堆根据所述逻辑值向电源阵列输出电源控制信号,和/或控制寄存器堆根据所述逻辑值向时钟阵列输出时钟控制信号;
[0017]所述电源阵列根据所述电源控制信号向所述核心计算单元输出电源电压;
[0018]所述时钟阵列根据所述时钟控制信号向所述核心计算单元输出时钟信号。
[0019]优选地,所述外围程序代码中包括一对或多对控制功耗与性能的代码片段对。
[0020]优选地,所述多对控制功耗与性能的代码片段对,其内部嵌套多对同类的代码片段对;或者
[0021]所述多对控制功耗与性能的代码片段对,其层次化嵌套多对同类的代码片段对。
[0022]本发明的有益效果在于:
[0023]本发明提供的计算架构及控制方法,电源阵列和/或所述时钟阵列是可控的,控制寄存器堆存放有逻辑值,控制寄存器堆根据所述逻辑值控制电源阵列输出电源控制信号,和/或控制时钟阵列输出时钟控制信号,电源阵列根据电源控制信号向所述核心计算单元输出电源电压,时钟阵列根据时钟控制信号向所述核心计算单元输出时钟信号,达到计算架构的功耗和性能为软件可控。
【附图说明】
[0024]图1为传统的计算架构的结构示意图。
[0025]图2为现有技术中含程序代码的计算架构的结构示意图。
[0026]图3-1为本发明实施例计算架构的一种结构示意图。
[0027]图3-2为本发明实施例计算架构的另一种结构示意图。
[0028]图3-3为本发明实施例计算架构的第三种结构示意图。
[0029]图4为本发明实施例含外围程序代码的计算架构的一种结构示意图。
[0030]图5-1为本发明实施中第N层函数的代码片断A第一部分动作的结构示意图。
[0031]图5-2为本发明实施中第N层函数的代码片断A第二部分动作的结构示意图。
[0032]图6-1为本发明实施中第N层函数的代码片断B第一部分动作的结构示意图。
[0033]图6-2为本发明实施中第N层函数的代码片断B第二部分动作的结构示意图。
[0034]图7为本发明实施例含外围程序代码的计算架构的另一种结构示意图。
[0035]图8为本发明实施例含外围程序代码的计算架构的第三种结构示意图。
[0036]图9为本发明实施中电源阵列的一种结构示意图。
[0037]图10为本发明实施中时钟阵列的一种结构示意图。
[0038]图11为本发明实施例的计算架构控制方法的一种流程图。
[0039]图12为本发明实施例的计算架构控制方法的另一种流程图。
[0040]图13为本发明实施例的计算架构控制方法的第三种流程图。
【具体实施方式】
[0041]为了使本领域技术人员能更进一步了解本发明的特征及技术内容,下面结合附图和实施方式对本发明实施例作详细说明。
[0042]针对现有计算架构的不足,本发明实施例提供了一种计算架构及控制方法,通过本发明,实现计算架构的功耗和性能为软件可控。该计算架构包括:核心计算单元、电源阵列、时钟阵列、以及控制寄存器堆;所述电源阵列和/或所述时钟阵列是可控的,所述电源阵列为所述核心计算单元提供电源电压;所述时钟阵列为所述核心计算单元提供时钟信号;所述控制寄存器堆存放有逻辑值,所述控制寄存器堆根据所述逻辑值控制所述电源阵列输出电源电压和/或控制所述时钟阵列输出时钟信号,以使所述核心计算单元的功耗与性能可控。本发明实施例的计算架构具体可以有如图3-1至图3-3的三种情况,下面分别根据图示进行说明。
[0043]如图3-1所示,是本发明实施例计算架构的一种结构示意图,包括:核心计算单元、电源阵列、时钟阵列、以及控制寄存器堆;所述电源阵列和所述时钟阵列是可控的,所述电源阵列为所述核心计算单元提供电源电压;所述时钟阵列为所述核心计算单元提供时钟信号;所述控制寄存器堆存放有逻辑值,所述控制寄存器堆根据所述逻辑值控制所述电源阵列输出电源电压,所述控制寄存器堆根据所述逻辑值控制所述时钟阵列输出时钟信号,以使所述核心计算单元的功耗与性能可控。
[0044]如图3-2所示,是本发明实施例计算架构的另一种结构示意图,包括:
[0045]核心计算单元、电源阵列、时钟阵列、以及控制寄存器堆;所述电源阵列是可控的,所述时钟阵列是固定的,所述电源阵列为所述核心计算单元提供电源电压;所述时钟阵列为所述核心计算单元提供时钟信号;所述控制寄存器堆存放有逻辑值,所述控制寄存器堆根据所述逻辑值控制所述电源阵列输出电源电压,以使所述核心计算单元的功耗与性能可控。
[0046]进一步地,所述时钟阵列是固定的也就是说,时钟阵列不受控制寄存器堆的控制,仅在核心计算单元需要时输出固定的时钟信号。
[0047]如图3-3所示,是本发明实施例计算架构的第三种结构示意图,包括:
[0048]核心计算单元、电源阵列、时钟阵列、以及控制寄存器堆;所述时钟阵列是可控的,所述电源阵列是固定的,所述电源阵列为所述核心