商铺名称:厦门光沃自动化设备有限公司
联系人:吴(先生)
联系手机:
固定电话:
企业邮箱:1878187406@qq.com
联系地址:厦门市海沧区沧湖东一里海景奥斯卡
邮编:361000
联系我时,请说是在泵阀网上看到的,谢谢!
YASKAWA JANCD-GSC02
YASKAWA JANCD-GSC02 在LEON软核系统上移植成功Linux后,通过特定测试程序验证LEON在数学运算上的性能,以确定是否满足项目开发的需求。测试中对比ARM9 SC32410,分析LEON以及其集成FPU配置的性能,并根据测试结果对软硬件配置进一步优化。由于LEON硬件配置十分灵活,因此在测试中采用了多种平台,编译程序的选项也有对应的设置。中断响应、功耗等虽然也是处理器性能的重要方面,但本文尚未涉及。
2.1 测试平台
(1)硬件测试平台
硬件测试平台如表1所列。
TSIM仿真器通过主机的浮点机制来进行浮点运算仿真,因此仿真器的浮点精度与主机平台相关。仿真器的时间精度与MeikoFPU相同,集成FPU的LEON3相当于集成MeikoFPU的LEON3。
(2)软件测试平台
①LEON2和LEON3在Linux 2.6.11下运行。
②直接使用gcc编译生成程序加载到LEON上并运行,无操作系统。
③SamsungS3C2410在Linux 2.4.18下运行。
(3)不同硬件测试平台上测试程序说明
不同的硬件平台和软件平台的搭配需在编译程序过程中特定选项(通过Makefile管理):
①一msoft-float选项。LEON平台上若未集成FPU,则进行浮点运算必须该选项,此时所有浮点运算转化为软件模拟实现,代价是运行时间大大增加,优势是能够节省硬件资源(加入FPU后LEON的LE的使用率是无FPU情况下的近2倍)。
②-mv8选项。LEON平台上配置硬件整数乘除法构件时需要该选项。
③sparc-linux-gcc和sparc-elf-gcc编译器。对于LEON平台,若在Linux系统上运行测试程序,则需用sparc-linux-gcc进行编译,程序使用动态链接库完成链接;若直接在LEON硬件上加载运行,则需用sparc-elf-gcc:进行编译,程序使用静态链接库完成链接。
④arm-linux-gcc:编译器。ARM9的S3C2410编译器为arm-linux-gcc。
⑤-O3优化选项。LEON和ARM的微处理器通过该选项进行程序算法优化。
2.2测试项目及说明
测试项目1:整型数组与浮点数组的加法、乘法及乘加运算。每种类型的运算都循环50 000次,以验证LEON各种平台和ARM9的MCU在数学运算上的性能,并分析加入Linux系统后程序运行性能的变化。
测试项目2:单次滤波算法,程序每一次运行包含12 791次浮点乘法和13 595次浮点加法,以验证在导航系统的滤波算法中LEON在多种配置下的性能。
测试程序采用clock()系统调用获取算法开始运行和结束运行的时间,并以算法的运行时间作为衡量系统效能的唯一标准。
2.3测试总结
LEON平台灵活的软硬件配置在多项测试中表现优异,总结如下:
①与主流ARM9微处理器在数学运算上性能相当。
②嵌入式Linux操作系统平台相对于无系统平台有一定资源开销,根据具体应用合理选择软件平台是否需要嵌入式Linux系统。
③-mv8和-03选项后程序性能提升显著,根据具体应用合理选择是否配置整数硬件乘除法器。
④LEON硬件配置FPU后浮点运算性能提高一个数量级,代价是综合需要的逻辑资源增长一倍,在权衡性能和可编程器件资源后合理选择配置方案。
结合导航系统SoC芯片高速数据处理的需求,设计方案定型为LEON+FPU,在测试中能够满足系统的运算吞吐量指标要求。
可配置FPU对LEON数学运算性能的提升极为有效,特别是在运算密集型的SoC设计中。LEON3的GRFPU相对于其他常见微处理器的FPU有较大优势。表2为若干处理器核FPU单元完成浮点运算指令需要的处理(延迟)时钟周期数对比情况口。
时钟周期数说明:括号外数字是指令处理周期数,即硬件流水线中完成该指令的周期;括号内数字是指令延迟周期数,即该指令进入流水线至从流水线中输出结果所需要的时钟周期数。
YASKAWA JANCD-GSC02