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快的一个原因。
Shadow Register 是什么?相关推荐
- 影子寄存器(shadow register)
1.以下仅供参考: 有阴影的寄存器,表示在物理上这个寄存器对应2个寄存器,一个是程序员可以写入或读出的寄存器,称为preload register(预装载寄存器),另一个是程序员看不见的.但在操作中真 ...
- SATA 学习笔记2 - Shadow Register和FIS的传输
在上一篇笔记SATA学习笔记1 - Link Layer初认识中,我们简单了解了FIS是如何在不同的layer中进行传输和接收的,在这篇笔记中,我将进一步讲解FIS的相关知识. 在讲FIS前,我们先来 ...
- X86 第一条CPU指令及BIOS Shadow
目录 一.CPU第一条指令计算 二.找到第一条指令所在位置 三.第一条指令的内容 四.BIOS Shadow 一.CPU第一条指令计算 开机时CPU进入实模式,8086以及80286的寻址方式为段寄存 ...
- DOS下读取4GB内存
好文章我收集下起来 CPU上电后,从ROM 中的BIOS开始运行. BIOS是处在内存的最顶端64KB(FFFF0000H),还是1MB之下的64KB(F0000H)处呢?事实上,BIOS在这两个地方 ...
- stm32影子寄存器、预装载寄存器,TIM_OC1PreloadConfig和TIM_ARRPreloadConfig的作用
一直没搞清楚stm32定时器的TIM_OC1PreloadConfig.TIM_ARRPreloadConfig函数的作用,影子寄存器.预装载寄存器.重载寄存器的概念.今天来研究一下: 首先看定时器的 ...
- STM32-通用定时器基本定时功能
1. STM32的Timer简介 STM32中一共有11个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器.其中系统嘀嗒定时器是前文中所 ...
- LPC43xx SGPIO Pattern Match Mode
模式匹配 所有位串均具有模式匹配功能. 该功能可用于检测启动代码等.要使用该功能,则必须用需匹配的模式来对REG_SS 编程 (请注意, POS 达到零时 REG_SS 不会与 REG 交换!) M ...
- 理解单片机系统—汇编语言
理解单片机系统 一.理解CPU的三种工作模式 从80386开始,CPU有三种工作方式:实模式(real-mode).保护模式(protected-mode)和虚拟8086模式.只有在刚刚启动的时候是实 ...
- STM32F2xx DMA Controllers
http://blog.frankvh.com/2011/08/18/stm32f2xx-dma-controllers/ If you're moving a bunch of data aroun ...
最新文章
- 学习性代码和使用不存在的代码
- 【Android布局】控件布置
- MongoDB分析工具之三:db.currentOp()
- 阿里云 腾讯云 服务器挂载数据盘
- android 360旋转动画,ANDROID——仿360手机卫士的旋转打分控件
- zabbix-3.0.4安装部署
- iOS开发使用UIKeyInput自定义密码输入框
- mysql generic安装_MySQL 5.7 linux generic 版本安装
- 关于Windows7系统不能访问XP创建的DVD的问题
- 穿越火线老是卡在正在连接服务器,修复cf经常提示网络出现异常与服务器断开连接的方法...
- 矩阵满秩分解原理解释
- [转载]徐文兵:梦与健康
- 【原创】Ubuntu Docker 配置网易国内镜像
- office常用的快捷键
- MALTAB中 imshow函数出错
- android 8.0 展讯平台系统编译问题点
- vue项目中elementUI的日期时间选择器的默认修改以及能选择当天的未来时间24点
- JS点击列表li获取li的id
- Java实现掷骰子控制台和窗体两种实现方法
- DNF手游多开搬砖赚RMB攻略