Chinaunix首页 | 论坛 | 博客
  • 博客访问: 529262
  • 博文数量: 81
  • 博客积分: 1438
  • 博客等级: 上尉
  • 技术积分: 866
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-12 11:32
文章分类

全部博文(81)

文章存档

2014年(1)

2013年(1)

2012年(33)

2011年(46)

分类: 嵌入式

2011-06-22 18:06:35

上述图片摘自《嵌入式+Arm嵌入式系统开发:软件设计与优化》第二章
 
 
ARM处理器使用流水线来增加处理器指令流的速度,这样可使几个操作同时进行,并使处理与存储器系统之间的操作更加流畅,连续,能提供0.9MIPS/MHZ的指令执行速度。 PC代表程序计数器,流水线使用三个阶段,因此指令分为三个阶段执行:
1.取指(从存储器装载一条指令);
2.译码(识别将要被执行的指令);
3.执行(处理指令并将结果写回寄存器)。
而R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或正在“译码”的指令。一般来说,人们习惯性约定将“正在执行的指令作为参考点”,称之为当前第一条指令,因此PC总是指向第三条指令。当ARM状态时,每条指令为4字节长,所以PC始终指向该指令地址加8字节的地址,即:PC值=当前程序执行位置+8;
        周期1        周期2        周期3        周期4        周期5        周期6
PC-8    取指         译码         执行
PC-4                 取指         译码         执行
PC                                取指         译码         执行

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/atower_boy/archive/2011/03/31/6291081.aspx
阅读(1083) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~