Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18692
  • 博文数量: 11
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-28 15:24
个人简介

为了美好生活,加油!

文章分类
文章存档

2015年(11)

我的朋友

分类: 嵌入式

2015-01-30 14:10:29

1.为何ARM7中PC=PC+8

此处解释为何ARM7中,CPU地址,即PC,为何有PC=PC+8这一说法:

众所周知,AMR7,是三级流水线,其细节见图:

图表 23 AMR7三级流水线




首先,对于ARM7对应的流水线的执行情况,如下面这个图所示:


ARM7

图表 24 ARM7三级流水线状态




然后对于三级流水线举例如下:

图表 25 ARM7三级流水线示例




从上图,其实很容易看出,第一条指令:

add r0, r1,$5

执行的时候,此时PC已经指向第三条指令:

cmp r2,#3

的地址了,所以,是PC=PC+8.

阅读(213) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~