【发明内容】
本发明要解决的技术问题之一,在于提供一种基于不同制造工艺实现的低功耗多核SOC。
本发明通过以下技术方案解决上述技术问题一:
基于不同制造工艺实现的低功耗多核SOC,包括至少一个高性能CPU和至少一个低功耗CPU,每一CPU均连接一性能负载监视器,且每一CPU还通过一电源开关连接一电压可控电源,所述电源开关控制其对应的CPU的电源开关状态,所述性能负载监视器均连接至一功耗控制电路,所述功耗控制电路还分别连接各电源开关和各电源可控电源;其工作原理是:
所述性能负载监视器负责实时监视其对应CPU的实时性能负载值,并将其对应CPU的实时性能负载值送往所述功耗控制电路;
所述电压可控电源负责向其对应的CPU电压域供电,所述电压可控电源的输出电压由所述功耗控制电路控制;
所述电源开关负责控制其对应CPU的电源的开启和关闭状态,所述电源开关的开启和关闭状态由所述功耗控制电路控制;
所述功耗控制电路首先对各CPU的实时性能负载值进行累加,得到总体性能负载值,再将所述总体性能负载值与高性能和低功耗的负载门限进行比较,得到比较结果:保持高性能CPU工作或转变为低功耗CPU工作,所述功耗控制电路根据比较结果控制各电源开关的开启或关闭,接着所述功耗控制电路通过一性能负载与频率的映射表查询正在工作的CPU要达到所需的总体性能负载值所对应需要的工作频率,然后通过一DVFS表查询到正在工作的CPU在该工作频率下对应的电压值,最后所述功耗控制电路控制所述电压可控电源输出查询到该电压值,从而实现了低功耗和高性能之间的平衡;所述性能负载与频率的映射表中存储着各CPU要达到某一总体性能负载能力所对应需要的工作频率,供所述功耗控制电路查询;所述DVFS表中存储着各CPU要达到某一工作频率所对应需要的电压值,供所述功耗控制电路查询。
进一步地,每一CPU均通过电平转换电路连接所述性能负载监视器,所述电平转换电路避免不同电压域通信时产生错误。
本发明要解决的技术问题之二,在于提供一种基于不同制造工艺实现的低功耗多核SOC设计方法。
本发明通过以下技术方案解决上述技术问题二:
基于不同制造工艺实现的低功耗多核SOC设计方法,所述低功耗多核SOC内设有高性能CPU、低功耗CPU、性能负载监视器、电源开关、电压可控电源以及功耗控制电路,所述低功耗多核SOC设计方法具体包括如下步骤:
步骤1、移动设备开始工作时,SOC内只有高性能CPU处于开启状态;
步骤2、各所述性能负载监视器将其对应的CPU的实时性能负载值送往所述功耗控制电路;
步骤3、所述功耗控制电路对各CPU的实时性能负载值进行累加,得到总体性能负载值;
步骤4、所述功耗控制电路将所述总体性能负载值与高性能和低功耗的负载门限进行比较,得到比较结果:保持高性能CPU工作或转变为低功耗CPU工作,所述功耗控制电路根据比较结果控制各电源开关的开启或关闭;
步骤5、所述功耗控制电路先通过一性能负载与频率的映射表查询正在工作的CPU要达到所需的总体性能负载值所对应需要的工作频率,再通过一DVFS表查询到正在工作的CPU在该工作频率下对应的电压值,所述功耗控制电路控制所述电压可控电源输出查询到该电压值,从而实现了低功耗和高性能之间的平衡;所述性能负载与频率的映射表中存储着各CPU要达到某一总体性能负载能力所对应需要的工作频率,供所述功耗控制电路查询;所述DVFS表中存储着各CPU要达到某一工作频率所对应需要的电压值,供所述功耗控制电路查询。
进一步地,每一CPU均通过电平转换电路连接所述性能负载监视器,所述电平转换电路避免不同电压域通信时产生错误。
本发明具有如下优点:
1、同时采用高性能CPU和低功耗CPU,并通过功率控制电路对各CPU的工作状态及工作电压进行控制,能够同时满足高性能和低功耗的要求,动态适应各种应用场景,达到功耗和性能的最佳动态平衡;
2、对于不同CPU电压域,通过对应的电压可控电源单独供电,能进一步优化平衡性能和功耗;
3、采用工艺制造不同但指令集相同的CPU,CPU使用同样的指令集,相同的代码在高性能CPU和低功耗CPU上都可以运行,指令兼容性最佳。
【具体实施方式】
请参阅图1,对本发明实施例进行详细阐述。图中的虚线箭头是供电的电源线,实线箭头为数据信号线和控制信号线。
基于不同制造工艺实现的低功耗多核SOC,包括至少一个高性能CPU和至少一个低功耗CPU,每一CPU均连接一性能负载监视器,在本实施例中,每一CPU均通过电平转换电路连接所述性能负载监视器,所述电平转换电路避免不同电压域通信时产生错误。每一CPU还通过一电源开关连接一电压可控电源,所述电源开关控制其对应的CPU的电源开关状态,所述性能负载监视器均连接至一功耗控制电路,所述功耗控制电路还分别连接各电源开关和各电源可控电源;其工作原理是:
所述性能负载监视器负责实时监视其对应CPU的实时性能负载值,并将其对应CPU的实时性能负载值送往所述功耗控制电路;所述实时性能负载值是指:统计得到的单位时间内执行机器指令的个数,比如在1ms内统计执行了1000条指令,换算为秒为单位则是1000x1000条指令每秒;
所述电压可控电源负责向其对应的CPU电压域供电,所述电压可控电源的输出电压由所述功耗控制电路控制;
所述电源开关负责控制其对应CPU的电源的开启和关闭状态,所述电源开关的开启和关闭状态由所述功耗控制电路控制;每一CPU均通过电平转换电路连接所述性能负载监视器,所述电平转换电路避免不同电压域通信时产生错误。
所述功耗控制电路首先对各CPU的实时性能负载值进行累加,得到总体性能负载值,再将所述总体性能负载值与高性能和低功耗的负载门限进行比较,得到比较结果:保持高性能CPU工作或转变为低功耗CPU工作,所述功耗控制电路根据比较结果控制各电源开关的开启或关闭,接着所述功耗控制电路通过一性能负载与频率的映射表查询正在工作的CPU要达到所需的总体性能负载值所对应需要的工作频率,然后通过一DVFS表(DVFS全称:DynamicVoltageAndFrequencyScaling,中文:动态电压和频率调节)查询到正在工作的CPU在该工作频率下对应的电压值,最后所述功耗控制电路控制所述电压可控电源输出查询到该电压值,从而实现了低功耗和高性能之间的平衡;所述性能负载与频率的映射表中存储着各CPU要达到某一总体性能负载能力所对应需要的工作频率,供所述功耗控制电路查询;所述DVFS表中存储着各CPU要达到某一工作频率所对应需要的电压值,供所述功耗控制电路查询。所述负载门限是用于判断使用高性能CPU工作还是使用低功耗CPU工作的一个判决值,例如,负载门限值是10000条指令每秒,当检测得到当前运行的CPU的总体性能负载值超过10000条指令每秒,则当前运行的CPU必须切换为高性能CPU,所述功耗控制电路关闭低功耗CPU的电源开关;当检测得到当前运行的CPU的总体性能负载值低于10000条指令每秒,则当前运行的CPU必须切换为低功耗CPU,所述功耗控制电路关闭高性能CPU的电源开关。
需要说明的是:
所述高性能CPU是使用Foundry(晶圆代工厂)提供的高性能库综合rtl代码产生的高性能CPU,在综合高性能CPU时,使用高频率约束和性能优先的综合策略,使其达到该类型CPU的最高性能,而不关心其面积和功耗;
所述低功耗CPU是使用Foundry(晶圆代工厂)提供的低功耗库综合rtl代码产生低功耗CPU,在综合低功耗CPU时,使用较低频率约束和节省面积优先的综合策略,使其在实现中优先使用面积较小功耗较低的电路器件,最终达到节省面积和功耗的目的,而不考虑其最高性能。
请参阅图1,基于不同制造工艺实现的低功耗多核SOC设计方法,所述低功耗多核SOC内设有高性能CPU、低功耗CPU、性能负载监视器、电源开关、电压可控电源以及功耗控制电路,在本实施例中,每一CPU均通过电平转换电路连接所述性能负载监视器,所述电平转换电路用以避免不同电压域通信时产生错误。
所述低功耗多核SOC设计方法具体包括如下步骤:
步骤1、移动设备开始工作时,SOC内只有高性能CPU处于开启状态;
步骤2、各所述性能负载监视器将其对应的CPU的实时性能负载值送往所述功耗控制电路;所述实时性能负载值是指:统计得到的单位时间内执行机器指令的个数,比如在1ms内统计执行了1000条指令,换算为秒为单位则是1000x1000条指令每秒;
步骤3、所述功耗控制电路对各CPU的实时性能负载值进行累加,得到总体性能负载值;
步骤4、所述功耗控制电路将所述总体性能负载值与高性能和低功耗的负载门限进行比较,得到比较结果:保持高性能CPU工作或转变为低功耗CPU工作,所述功耗控制电路根据比较结果控制各电源开关的开启或关闭;所述负载门限是用于判断使用高性能CPU工作还是使用低功耗CPU工作的一个判决值,例如,负载门限值是10000条指令每秒,当检测得到当前运行的CPU的总体性能负载值超过10000条指令每秒,则当前运行的CPU必须切换为高性能CPU,所述功耗控制电路关闭低功耗CPU的电源开关;当检测得到当前运行的CPU的总体性能负载值低于10000条指令每秒,则当前运行的CPU必须切换为低功耗CPU,所述功耗控制电路关闭高性能CPU的电源开关;
步骤5、所述功耗控制电路先通过一性能负载与频率的映射表查询正在工作的CPU要达到所需的总体性能负载值所对应需要的工作频率,再通过一DVFS表(DVFS全称:DynamicVoltageAndFrequencyScaling,中文:动态电压和频率调节)查询到正在工作的CPU在该工作频率下对应的电压值,所述功耗控制电路控制所述电压可控电源输出查询到该电压值,从而实现了低功耗和高性能之间的平衡;所述性能负载与频率的映射表中存储着各CPU要达到某一总体性能负载能力所对应需要的工作频率,供所述功耗控制电路查询;所述DVFS表中存储着各CPU要达到某一工作频率所对应需要的电压值,供所述功耗控制电路查询。所述()
需要说明的是:
所述高性能CPU是使用Foundry(晶圆代工厂)提供的高性能库综合rtl代码产生的高性能CPU,在综合高性能CPU时,使用高频率约束和性能优先的综合策略,使其达到该类型CPU的最高性能,而不关心其面积和功耗;
所述低功耗CPU是使用Foundry(晶圆代工厂)提供的低功耗库综合rtl代码产生低功耗CPU,在综合低功耗CPU时,使用较低频率约束和节省面积优先的综合策略使其在实现中优先使用面积较小功耗较低的电路器件,最终达到节省面积和功耗的目的,而不考虑其最高性能。
本发明同时采用高性能CPU和低功耗CPU,并通过功率控制电路对各CPU的工作状态及工作电压进行控制,能够同时满足高性能和低功耗的要求,动态适应各种应用场景,达到功耗和性能的最佳动态平衡;同时对于不同CPU电压域,通过对应的电压可控电源单独供电,能进一步优化平衡性能和功耗。除此之外,相同电路可以使指令兼容性最佳
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。