Chinaunix首页 | 论坛 | 博客
  • 博客访问: 974090
  • 博文数量: 109
  • 博客积分: 1751
  • 博客等级: 上尉
  • 技术积分: 1817
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-31 22:37
文章分类

全部博文(109)

文章存档

2014年(9)

2013年(21)

2012年(48)

2011年(31)

分类: Android平台

2013-02-06 14:47:09

ARM处理器有个Shadow Register的概念,查了很多资料,语焉不详,究竟是什么意思呢?

这其实是个和硬件有关的概念。

有些register是2层的,第一层是供CPU访问,第二层供Hw访问。


CPU访问

Hw访问



其中Hw访问的这层register称之为Shadow Register
CPU在写Register的时候,会先写在上层的Shadow Register,随后硬件update之后才会在下层供Hw访问的Register开始执行。

这是同一个Register,不是2个Register,只不过分了2层。形象的讲上层是下层的Shadow。

因为真正生效的执行Hw动作的是下面这层,而上面这层只是将CPU(也就是将软件)的信息获取到,等下个硬件周期才会执行。

 

那么这有什么用呢?哪里用到了这点呢?

这样做可以加快程序的相应和信息的处理。

其中ARM的FIQ有用到,也就是fast interrupt,快速中断的意思。

因为FIQ是有Shadow Register的,所以你在使用它或者是设置它的时候,指令可以先存在Shadow Register里面,等到下一个硬件周期就会立即执行。

而没有Shadow Register的IRQ(interrupt),就要等Register里面的数据执行完毕后才能写入,那样就稍慢一些。

这也就是FIQ比IRQ快的一个原因。

阅读(3422) | 评论(0) | 转发(0) |
0

上一篇:DDC及EDID 的定义

下一篇:assertive display

给主人留下些什么吧!~~