大家好,
我在A15上编写汇编,发现A8 和A9 Technical Reference Manual 中有一章是将Instruction Cycle Timing,但是在A15的Technical Reference Manual 中没有找到,想问下A8,A9,A15 的ARM指令集的 Instruction Cycle Timing 是一样的吗?
另外,关于neon的 Instruction Cycle Timing 我也只在A8手册Technical Reference Manual 中看到,A8,A9,A15 的neon 指令集的Instruction Cycle Timing也是一样的吗?
A9与A15两种架人有很多不同,不能说A9是out of order并且给出timing就推出A15也应该有这样的timing。
在优化时,Read after Write依赖是需要消除的。但是根据我的经验,在A15上调整指令的顺序并不会带来性能上的较大的变化。因为A15的性能比较强,即使有RAW依赖,也可以通过其内部的Out of Order,mult-issue来避免性能降低,更不用说WAW,WAR依赖了。你可以试试你看到的文章中的例子在A15的表现,指令调整前后性能应该不会有太大的变化。
根据的你解答,A15的性能很强,做NEON汇编优化时,如果想提升NEON优化效率,有没有什么技巧点需要注意的,因为你说这片文章ARM NEON optimization 中提到的几点对A15 效果不大。
>因为你说这片文章ARM NEON optimization 中提到的几点对A15 效果不大。
我只是说“A15上调整指令的顺序并不会带来性能上的较大的变化”
关于优化方法,我建议在熟悉你要优化的cpu微架构的同时参考neon programmer guide第5章,另外也可以参考csapp第5章。