哪些是不同的变量循环ARM指令?

时间:2012-10-27 05:52:00

标签: arm instruction-set

我正在读Elsevier的这本书“ARM系统开发者指南”,我发现了这个:

  

ARM指令集在几个方面与纯RISC定义不同   适用于嵌入式应用程序的ARM指令集:

     

某些指令的可变周期执行 - 并非每个ARM指令都在一个周期内执行。例如,加载 - 存储 - 多个指令的执行周期数会有所不同,具体取决于传输的寄存器数量。该   传输可以发生在顺序存储器地址上,从而提高了性能   顺序存储器访问通常比随机访问更快。代码密度也是   因为多个寄存器传输是开始和结束时的常见操作,所以改进了   功能。

你们可以指出哪些其他ARM指令可以执行变量周期?

1 个答案:

答案 0 :(得分:2)

周期时序与微架构有关,因此您需要检查特定实现的技术参考手册(TRM)。例如,对于Cortex-A9,它被描述为相当复杂。

  
    

Cortex-A9处理器的复杂性使得无法手动计算精确的定时信息。指令的时序通常受到其他并发指令,存储器系统活动以及指令流之外的其他事件的影响。

  

然而,在同一文档中,有精确的数据处理,加载和存储,乘法时序以及有关分支和序列化指令的一些信息。

例如,在同一文档中,您可以看到是否涉及shifting AND指令可能需要1-2个周期,具体取决于移位源,这可能是嵌入指令中的常量或从中读取登记册。

关于加载 - 存储 - 倍数的书籍附注也可能因所涉及的寄存器数量而异,如果地址对齐或不对齐,它们也会有所不同。

相关问题