软件性能、能耗与大小的优化策略
1. 软件性能优化
1.1 模拟程序执行
在开始模拟过程时,我们使用特殊编译器编译测试程序。例如:
% arm-linux-gcc firtest.c
这会生成一个可执行程序(默认是 a.out),我们用它来模拟程序运行:
% arm-outorder a.out
SimpleScalar 会生成一个包含大量程序执行信息的输出文件。对于简单示例,最有用的数据是执行程序所需的模拟时钟周期总数,例如:
sim_cycle
25854 # total simulation time in cycles
为了排除程序开销的影响,我们对 FIR 滤波器的不同 N 值进行多次执行并比较,结果如下表所示:
| N | 总模拟周期数 | 单次滤波器执行时间 |
| — | — | — |
| 100 | 25854 | 259 |
| 1000 | 155759 | 156 |
| 10000 | 1451840 | 145 |
由于 FIR 滤波器简单且执行周期少,需要多次执行以消除其他程序执行开销。1000 和 10000 次滤波器执行时间相差在 10% 以内,这些值接近 FIR 滤波器实际执行时间。
超级会员免费看
订阅专栏 解锁全文
1274

被折叠的 条评论
为什么被折叠?



