发明内容
未解决上述问题,本发明提供一种中央处理器系统性能测试方法及装置,实现在电路设计阶段就可以针对性能运行软件仿真,并得到具体而真实的性能数据。
本发明提供一种中央处理器系统性能测试方法,一种中央处理器系统验证装置,所述装置包括低功耗处理器组与高性能处理器组,所述装置还包括:任务判定单元,用于根据当前设备的运算任务负担判定所述低功耗处理器组在单独工作、所述高性能处理器组在单独工作、还是所述低功耗处理器组与所述高性能处理器组同时工作;处理器开关控制单元,用于根据所述任务判定单元的判定结果关闭未工作的处理器组的电源;功耗分析单元,用于记录所述低功耗处理器组和所述高性能处理器组的运行频率和指令运行负担;任务判定监视单元,用于根据所述功耗分析单元的记录结果输出相应的记录结果文件以验证所述低功耗处理器组与所述高性能处理器组的切换行为是否正确;cache使用率统计单元,用于在所述高性能处理器组单独工作时、所述低功耗处理器组单独工作时、或者所述低功耗处理器组与所述高性能处理器组同时工作时,得到cache的使用情况;cache一致性检查单元,用于监控所述低功耗处理器组和所述高性能处理器组在所述存储器中相同地址的数据是否一致,以验证不同存储器中的一致性是否出错;DDR效率监视单元,用于分析所述高性能处理器组单独工作时、所述低功耗处理器组单独工作时、或者所述低功耗处理器组与所述高性能处理器组同时工作时,获得DDR的运行效率。
优选地,所述装置的存储单元被划分为低功耗处理器验证程序区间以及高性能处理器验证程序区间,用于对应地存储所述低功耗处理器程序与所述高性能处理器程序,通过将所述低功耗处理器程序和所述高性能处理器程序的初始化以使所述低功耗处理器组和所述高性能处理器组的运行代码分别放在不同的地址空间。
优选地,所述cache使用率统计单元还用于监控cache中每条line的使用情况,输出cache中的line有效使用,以得到所述高性能处理器组单独工作时、所述低功耗处理器组单独工作时、或者所述低功耗处理器组与所述高性能处理器组同时工作时,cache的使用情况。
优选地,所述装置还包括:低功耗处理器cache,为所述低功耗处理器组中的处理器所使用的cache电路,用于缓存所述低功耗处理器组最近访问过的数据和命令;高性能处理器cache,为所述高性能处理器组中的处理器所使用的cache电路,用于所述缓存高性能处理器组最近访问过的数据和命令。
优选地,所述装置还包括:ACE总线,用于支持所述低功耗处理器cache与所述高性能处理器cache与所述存储器的多cache数据的一致性交互。
本发明还提供一种中央处理器系统验证方法,所述方法包括:将存储的低功耗处理器组程序与高性能处理器程序进行初始化,以将低功耗处理器组与高性能处理器组的运行代码分别放在不同的地址;启动所述低功耗处理器组和所述高性能处理器组,并根据当前的任务负担判定是所述低功耗处理器组在单独工作、所述高性能处理器组在单独工作、或所述低功耗处理器组与所述高性能处理器组同时工作;根据判定结果关闭不工作的处理器组的电源;记录处于工作状态的处理器组的运行频率和指令运行负担;输出记录的结果以验证所述低功耗处理器组与所述高性能处理器组的切换行为是否正确;监控存储器以得到所述存储器的有效使用率,以得到所述高性能处理器组单独工作时、所述低功耗处理器组单独工作时、或者所述低功耗处理器组和所述高性能处理器组同时工作时,所述存储器的使用情况;监控所述低功耗处理器组和所述高性能处理器组在所述存储器中相同地址的数据是否一致,以验证不同存储器中的一致性是否出错;分析所述高性能处理器组单独工作时、所述低功耗处理器组单独工作时、或者所述低功耗处理器组和所述高性能处理器组同时工作时,DDR的运行效率。
优选地,所述监控存储器以得到所述存储器的有效使用率的步骤具体为:监控cache中每条line的使用情况以输出cache中的line有效使用率。
优选地,所述低功耗处理器组由低功耗低性能电路单元搭建,用于处理小任务;所述高性能处理器组由高性能且功耗较大的电路单元搭建,用于处理高性能任务。
本发明提供的一种中央处理器系统性能测试方法及装置,通过将低功耗处理器组与高性能处理器组的运行代码分别放在不同地址,以根据当前设备的任务负担判断是哪个处理器组在工作,并根据判断结果关闭未工作的处理器组的电源,验证当前工作的处理器组的存储器的使用情况和DDR的运行效率,从而实现验证具有异质多核处理器的电路,并减少工程师人工的工作量,自动化程度高,并且验证全面。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
ACE总线协议:ACE协议是ARM公司AMBA 4总线的一致性扩展协议(ACE),可以实现在多个多个CPU处理器之间实现数据完全一致,可以更好地利用高速缓存并简化软件开发。
Cache:高速缓冲存储器(cache)是存在于主存与CPU之间的存储器,由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多,接近于CPU的速度。
请同时参阅图1、2,为本发明实施方式中的CPU系统验证装置的结构示意图,该装置10包括CPU系统电路20与验证模块21。
其中,该CPU系统电路20包括低功耗处理器组201、高性能处理器组202、任务判定单元203、处理器开关控制单元204、低功耗处理器cache 205、高性能处理器cache 206以及ACE总线207。
该低功耗处理器组201由低功耗低性能电路单元搭建,是用于处理小任务的处理器组。该高性能处理器组202由高性能且功耗较大的电路单元搭建,是用于处理高性能任务的处理器组。
该任务判定单元203用于根据当前外部设备218的运算任务负担来判定是低功耗处理器组201在单独工作、高性能处理器组202在单独工作、还是低功耗处理器组201与高性能处理器组202两组处理器组在一起工作。
该处理器开关控制单元204用于根据该任务判定单元203的判定结果将不工作的处理器组的电源关断。
该低功耗处理器cache 205为低功耗处理器组201中的处理器所使用的cache电路,用于缓存低功耗处理器组201最近访问过的数据和命令。
该高性能处理器cache 206为高性能处理器组202中的处理器所使用的cache电路,用于缓存高性能处理器组202最近访问过的数据和命令。
该ACE总线207为一种高性能总线,可以支持多cache数据一致性交互。
该验证模块21包括任务判定监视单元211、cache使用率统计单元212、cache一致性检查单元213、DDR效率监视单元214、功耗分析单元215以及ROM单元216。其中,该任务判定监视单元211用于输出log,以快速验证该任务判定单元203是否正确工作。
该cache使用率统计单元212用于在只有高性能处理器组202单独工作的情况下、低功耗处理器组201单独工作的情况下、或者低功耗处理器组201与高性能处理器组202两组处理器组同时工作情况下,快速得到cache的使用情况。
该cache一致性检查单元213用于验证不同cache中的一致性是否出错。
该DDR效率监视单元214用于分析在只有高性能处理器组202单独工作的情况下、只有低功耗处理器组201单独工作的情况下、或者低功耗处理器组201与高性能处理器组202两组处理器组同时工作的情况下,获得DDR单元217的运行效率。
该功耗分析单元215用于在每个时间段中分别记录低功耗处理器组201和高性能处理器组202的运行频率和指令运行负担,以分析功耗数据。
该ROM单元216被划分为低功耗处理器验证程序区间以及高性能处理器验证程序区间,分别用于对应地存储低功耗处理器程序与高性能处理器程序,其用于对该低功耗处理器组201和高性能处理器组202的运行程序进行初始化,以使两组处理器的运行代码分别放在不同的地址空间。
当该多核电路设计完毕后既可以开始搭建验证平台,验证平台的各种监视单元和统计分析单元与设计电路连接,连接完成后即可开始进行验证。以下将详细叙述验证工作原理。
运行存储低功耗处理器程序与高性能处理器程序以将该ROM单元216进行低功耗处理器组201和高性能处理器组202进行初始化,以降两组处理器的运行代码分别放在不同的地址。然后开启电路仿真并启动两组处理器,该任务判定单元203根据当前的任务负担判定是哪个处理器组工作在运行,同时将另一个不工作的处理器组被处理器开关控制单元204关闭电源。
该功耗分析单元215实时记录处理器组的运行频率和指令运行负担以用于功耗数据分析。该任务判定监视单元211输出log文件,以验证低功耗处理器组201和高性能处理器组202的切换行为是否符合预期,以此判断该任务判定监视单元211是否正确工作。该cache使用率统计单元212监控cache中每条line的使用情况,输出cache中的line有效使用率,以最终得出只有高性能处理器组202工作的情况下、只有低功耗处理器组201工作的情况下,或者低功耗处理器组201和高性能处理器组202同时工作情况下,cache的使用情况报告。该cache一致性检查单元213监控两个处理器组的cache中相同地址的数据是否一致,如果不一致则报告一致性错误,以验证不同cache中的一致性是否出错。该DDR效率监视单元214用于分析只有高性能处理器组202同时工作的情况下、只有低功耗处理器组201工作的情况下、或者低功耗处理器组201和高性能处理器组202同时工作的情况下,该DDR单元217的运行效率。
请参阅图3,为本发明实施方式中的CPU系统验证方法的流程示意图。如图2所示,该流程包括以下步骤:
步骤S30,将ROM单元217中的低功耗处理器组程序与高性能处理器程序进行初始化,以将低功耗处理器组201与高性能处理器组202的运行代码分别放在不同的地址。
其中,该低功耗处理器组201由低功耗低性能电路单元搭建,是用于处理小任务的处理器组。该高性能处理器组202由高性能且功耗较大的电路单元搭建,是用于处理高性能任务的处理器组。
步骤S31,启动该低功耗处理器组201和高性能处理器组202,并由任务判定单元203根据当前的任务负担判定是该低功耗处理器组201在单独工作、该高性能处理器组202在单独工作、或低功耗处理器组201与高性能处理器组202两组处理器组同时工作。
步骤S32,该处理器开关控制单元并根据判定结果关闭不工作的处理器组的电源。
步骤S33,该功耗分析单元215实时记录处于工作状态的处理器组的运行频率和指令运行负担,以进行功耗数据分析。
步骤S34,该任务判定监视单元211根据所述功耗分析单元215的记录结果输出log文件,以验证低功耗处理器组201与高性能处理器组202的切换行为是否正确。
步骤S35,该cache使用率统计单元212监控cache中每条line的使用情况以输出cache中的line有效使用率,从而得到只有高性能处理器组202工作的情况下、只有低功耗处理器组201工作的情况下、或者低功耗处理器组201和高性能处理器组202同时工作的情况下,cache的使用情况报告。
步骤S36,该cache一致性检查单元213监控低功耗处理器组201和高性能处理器组202的cache中相同地址的数据是否一致,以验证不同cache中的一致性是否出错。
步骤S37,该DDR效率监视单元214分析只有高性能处理器组202工作的情况下、只有低功耗处理器组201工作的情况下、或者低功耗处理器组201和高性能处理器组202同时工作的情况下,DDR的运行效率。
本发明提供的一种中央处理器系统性能测试方法及装置,通过将低功耗处理器组与高性能处理器组的运行代码分别放在不同地址,以根据当前设备的任务负担判断是哪个处理器组在工作,并根据判断结果关闭未工作的处理器组的电源,验证当前工作的处理器组的存储器的使用情况和DDR的运行效率,从而实现验证具有异质多核处理器的电路,并减少工程师人工的工作量,自动化程度高,并且验证全面。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。