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

时间: 2024-11-10 14:30:03

Shadow Register 是什么?的相关文章

STM32 Timer : Auto-reload register register

Auto-reload register (TIMx_ARR) The auto-reload register is preloaded. Writing to or reading from the auto-reload register accesses the preload register. The content of the preload register are transferred into the shadow register permanently or at e

X86控制寄存器和系统地址寄存器

80386控制寄存器和系统地址寄存器如下表所示.它们用于控制工作方式,控制分段管理机制及分页管理机制的实施. 控制寄存器 CRx BIT31 BIT30—BIT12 BIT11—BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 CR0 PG 0000000000000000 ET TS EM MP PE CR1 保留 CR2 页故障线性地址 CR3 页目录表物理页码 000000000000   BIT47—BIT16 BIT15—BIT0 全局描述符表寄存器GDTR 基地址 界限 中

Power Gating的设计(模块)

Switching Fabric的设计: 三种架构:P沟道的switch vdd(header switch),N沟道的switch vss(footer switch),两个switch. 但是如果加入两个switch,与门电路结合,可能会产生较大的IR-drop,增大delay,所以这种方式很少用. P沟道的switch vdd,广泛应用在volatge scaling设计中. N沟道的switch vss,很少用,有switch的电路,一般都需要level shifter. 但是一般lev

LPC43xx SGPIO Pattern Match Mode

模式匹配 所有位串均具有模式匹配功能. 该功能可用于检测启动代码等.要使用该功能,则必须用需匹配的模式来对REG_SS 编程 (请注意, POS 达到零时 REG_SS 不会与 REG  交换!) MATCH_MODE 位必须设为1. 输入数据 REG 现在与已编程的模式 REG_SS 相比较.发现匹配时会提出模式匹配中断. Bit MATCH_MODE selects whether the match filter is active or whether data is captured.

每个程序员都应该了解的 CPU 高速缓存

每个程序员都应该了解的 CPU 高速缓存 英文原文:Memory part 2: CPU caches 来源:oschina [编者按:这是Ulrich Drepper写“程序员都该知道存储器”的第二部.那些没有读过第一部 的读者可能希望从这一部开始.这本书写的非常好,并且感谢Ulrich授权我们出版. 一点说明:书籍出版时可能会有一些印刷错误,如果你发现,并且想让它在后续的出版中更正,请将意见发邮件到[email protected] ,我们一定会更正,并反馈给Ulrich的文档副本,别的读者

CPU 实模式 保护模式 和虚拟8086模式

从80386开始,CPU有三种工作方式:实模式,保护模式和虚拟8086模式.只有在刚刚启动的时候是real-mode,等到操作系统运行起来以后就切换到protected-mode.实模式只能访问地址在1M以下的内存称为常规内存,我们把地址在1M 以上的内存称为扩展内存.在保护模式下,全部32条地址线有效,可寻址高达4G字节的物理地址空间; 扩充的存储器分段管理机制和可选的存储器分页管理机制,不仅为存储器共享和保护提供了硬件支持,而且为实现虚拟存储器提供了硬件支持; 支持多任务,能够快速地进行任务

Stm32高级定时器(一)

Stm32高级定时器(一) 1 定时器的用途 2 高级定时器框图 3 时基单元 4 通道 1 定时器的用途 已知一个波形求另一个未知波形(信号长度和占空比) 已知波形的信号长度和占空比产生一个相应的波形 增量正交编码器驱动电机获得动态信息(速度.加速度) 测量输入信号的脉冲宽度(输入捕获) 产生输出波形(输出比较.PWM.嵌入死区时间的互补PWM等) …… 我们知道,当我们需要测量一段直线的长度时,我们需要一把直尺,根据直尺上的刻度读出直线的长度,定时器也相当于直尺能够测量和产生特定的波形. 比

LPC43xx SGPIO DMA and Interrupts

The SGPIO output pins SGPIO14 and SGPIO15 can trigger a GPDMA request SGPIO pins SGPIO14 and SGPIO15 can trigger a GPDMA request. < Output = '1' > To generate the request, program a pulse in the bit stream of slice 14 or 15. For example, use a patte

LPC43xx SGPIO Configuration

LPC43xx SGPIO Configuration The LPC43xx SGPIO peripheral is used to move samples between USB and the ADC/DAC chip (MAX5864). The SGPIO is a peripheral that has a bunch of 32-bit shift registers. These shift registers can be configured to act as a par