Shadow Register 是什么?

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/19 17:49:52
Shadow Register 是什么?
xNQ_`kb4iIH[o, 0m,/Q@Sy|3#i/g^;B7V_bpt@e}ust_]R=2~Iݼ7٠+YJ݉6L;]Ȭr E4T!]o?|r gthx{MeOEfenrR\uX?L'TiPx,{+lX#\`f>cJE!lDVC0:Bقd\MC<{/Ю>;î7-QdHK3+->uu#{7r \D[gb59dqr fWUNN}"Xn2m' Ckcoz,\S牶sO:heY|l6ˢvOuA97'SQ6P|[Sf=wKDא'bunD Gj5%.rdt9jhf>󬊀̮ځP6]-gi.X3ƣr{dM w:uie5ŽL2~ ߙ vlH](|NW4  /?;ݽ

Shadow Register 是什么?
Shadow Register 是什么?

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里面的数据执行完毕后才能写入,那样就稍慢一些.