我正在寻找一种复制42个32位连续内存位置的有效方法 注意:快照数组将复制到日志数组中。
我使用LDMIA和STMIA对(每条指令10个寄存器):
LDMIA R0!, {R2-R12} ; Read 10 array slots\n
STMIA R1!, {R2-R12} ; Write 10 array slots\n
我的问题:
LDM
指令,ARM是否锁定数据总线并将所有数据加载到寄存器中,还是仅为每次32位传输锁定数据总线? 代码在ARM Cortex A8(Texas Instruments am3358)上运行。
中没有看到任何硬件详细信息答案 0 :(得分:0)
您应该从ARM查看Cortex-A series programming guide。我现在没有在这里引用,但AFAIR在高效的内存处理主题上花了很多时间,如果没有特别关注总线锁定这样的低级细节(你可能需要看看AHB / AXI)这方面的文档,但我不认为这里真的有必要)。