• Shadow Register 是什么?


    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快的一个原因。

  • 相关阅读:
    7.Mongodb安全性流程
    6.Mongodb索引
    5.Mongodb聚合
    8-进程管理
    7-安装包管理
    6-文件系统
    5-权限用户组
    27-ATM+购物车程序
    26.本章小结
    名词解释
  • 原文地址:https://www.cnblogs.com/biglucky/p/4121407.html
Copyright © 2020-2023  润新知