ARM7和ARM9流水对PC的影响
来源:互联网 发布:阿曼达.诺克斯 知乎 编辑:程序博客网 时间:2024/06/05 14:12
ARM7和ARM9流水对PC的影响
“PC=PC+1”,这不完全正确,PC自增一的情况指出现在无流水(non-pipeline)的情况下,这个时候取指,译码,执指都是顺序执行的。
而在有流水的情况下就比较复杂了这里用arm7和arm9为例。
arm7是3级流水。arm9是5级流水。PC在执行过程中是每次加8的。原因如下:
为便于说明问题,我们假设当前正在执行0地址处的指令,从下面的两幅图中可以清楚地得到结论。
ARM7是三级流水线,AMR7的三级流水线如下:
ARM9是五级流水线,ARM9的五级流水线如下:
可见,ARM9和ARM7中都是PC=当前执行指令地址+8的根本的原因是,两者的流水线设计中,指令的执行阶段都是处于流水线的第三级
R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或正在“译码”的指令。一般来说,人们习惯性约定将“正在执行的指令作为参考点”,称之为当前第一条指令,因此PC总是指向第三条指令。当ARM状态时,每条指令为4字节长,所以PC始终指向该指令地址加8字节的地址,即:PC值=当前程序执行位置+8;
注意:ADS中PC确实是指向即将执行的指令,这个是软件处理后的结果,主要是为了用户调试程序方便。
- ARM7和ARM9流水对PC的影响
- arm7和arm9对pc的影响
- 关于ARM9和ARM7中都是PC=当前执行指令地址+8的解释
- ARM7、ARM9和ARM11的区别
- ARM7 ARM9的区别
- ARM7、ARM9和ARM11的区别 ARM处理器解析
- ARM7、ARM9和ARM11的区别 ARM处理器解析
- arm7与arm9的区别
- ARM7与ARM9的区别
- ARM9与ARM7的比较及优化
- ARM7与ARM9内核的区别
- ARM7与ARM9的区别(转)
- ARM7与ARM9的区别于联系
- ARM9与ARM7的比较及优化
- ARM7与ARM9的区别以及ARM,FPGA,DSP的特点和区别是什么?
- ARM7.ARM9,ARM11
- arm7与arm9区别
- ARM7与ARM9区别
- Myeclipse8.0优化,为Myeclipse加速
- 使用VC连接Access数据库的两种方法
- 移动MM学院Android在线证书考试
- 恢复vs2005的默认设置
- [C#]获取某年指定周的开始日期和结束日期的通用方法
- ARM7和ARM9流水对PC的影响
- 如果不是你想要的生活,那请写下...
- eclipse 3.6 Helios 最新插件 “工具类总结”
- COM接口
- 对于C++中宏的使用的一些看法
- Three20 NetWork 源码详细解析
- 中介者模式
- gtest测私有成员
- java中的final, finally, finalize的区别