大家好,
本人第一次发帖,之前做过TI DSP汇编,最近研究ARM cortexA系列汇编,遇到一些问题,需要大家的帮助谢谢。
cortexA8 是顺序执行的,cortexA9,A15都是乱序执行的,对cortexA8汇编优化,需要根据各种指令,手动的去排流水,减少流水线内部的bubble,
但是对cortexA9,A15而言,因为他们是乱序执行的,这个时候是否还需要人为手动的去排流水?如果不需要手动拍流水,编写汇编时,如何安排各个汇编指令的先后顺序?(NEON汇编和ARM汇编)
谢谢
你好。
就像你所说的那样,对于汇编的优化,这个和每个处理器的microarchitecture有关,因此通常来讲这部分的内容是confidential的。如果已经license了ARM的产品,可以发邮件给support,我们可以提供进一步的帮助。
对于Cortex-A系列的处理器,大部分的程序会用C来写。对于C的优化,很大部分的工作会由编译器来完成。我们也有一篇 Programmer’s Guide提供一些general的guide,可以参考。
对于NEON的优化,可以参考NEON Programmer’s Guide。
上面的文档都需要在我们的网站上注册才可以下载。