-
2019-06-13 19:27:43
关于CPU
寄存器
CPU除了有控制器、运算器还有寄存器。其中寄存器的作用就是进行数据的临时存储。
CPU的运算速度是非常快的,为了性能CPU在内部开辟一小块临时存储区域,并在进行运算时先将数据从内存复制到这一小块临时存储区域中,运算时就在这一小块临时存储区域内进行。我们称这一小块临时存储区域为寄存器。
对于arm64系的CPU来说, 如果寄存器以x开头则表明的是一个64位的寄存器,如果以w开头则表明是一个32位的寄存器,在系统中没有提供16位和8位的寄存器供访问和使用。其中32位的寄存器是64位寄存器的低32位部分并不是独立存在的。
高速缓冲存储器(Cache)
iPhoneX上搭载的ARM处理器A11它的1级缓存的容量是64KB,2级缓存的容量8M.
CPU每执行一条指令前都需要从内存中将指令读取到CPU内并执行。而寄存器的运行速度相比内存读写要快很多,为了性能,CPU还集成了一个高速缓存存储区域.当程序在运行时,先将要执行的指令代码以及数据复制到高速缓存中去(由操作系统完成).CPU直接从高速缓存依次读取指令来执行.
Cache也就是平常看到的一级缓存(L1 Cache)、二级缓存(L2 Cache)、三级缓存(L3 Cache)这些数据,它位于CPU与内存之间,是一个读写速度比内存更快的存储器。当CPU向内存中写入或读出数据时,这个数据也被存储进高速缓冲存储器中。当CPU再次需要这些数据时,CPU就从高速缓冲存储器读取数据,而不是访问较慢的内存,当然,如需要的数据在Cache中没有,CPU会再去读取内存中的数据。物理存储器和地址空间
物理存储器和存储地址空间是两个不同的概念,但是由于这两者有十分密切的关系,而且两者都用B、KB、MB、GB来度量其容量大小,因此容易产生认识上的混淆。
物理存储器是指实际存在的具体存储器芯片。如主板上装插的内存条和装载有系统的BIOS的ROM芯片。
存储地址空间是指对存储器编码(编码地址)的范围。所谓编码就是对每一个物理存储单元(一个字节)分配一个号码,通常叫作“编址”。分配一个号码给一个存储单元的目的是为了便于找到它,完成数据的读写,这就是所谓的“寻址”(所以,有人也把地址空间称为寻址空间)。
地址空间的大小和物理存储器的大小并不一定相等。举个例子来说明这个问题:某层楼共有17个房间,其编号为801~817。这17个房间是物理的,而其地址空间采用了三位编码,其范围是800~899共100个地址,可见地址空间是大于实际房间数量的寄存器的补充
数据地址寄存器
数据地址寄存器通常用来做数据计算的临时存储、做累加、计数、地址保存等功能。定义这些寄存器的作用主要是用于在CPU指令中保存操作数,在CPU中当做一些常规变量来使用。
ARM64中- 64位: X0-X30, XZR(零寄存器)
- 32位: W0-W30, WZR(零寄存器)
注意:
之前讲解8086汇编中有一种特殊的寄存器段寄存器:CS,DS,SS,ES四个寄存器来保存这些段的基地址,这个属于Intel架构CPU中.在ARM中并没有浮点和向量寄存器
因为浮点数的存储以及其运算的特殊性,CPU中专门提供浮点数寄存器来处理浮点数
- 浮点寄存器 64位: D0 - D31 32位: S0 - S31
现在的CPU支持向量运算.(向量运算在图形处理相关的领域用得非常的多)为了支持向量计算系统了也提供了众多的向量寄存器.
- 向量寄存器 128位:V0-V31
更多相关内容 -
基于译码器与移位寄存器实现16×16LED点阵字符滚动显示-电路方案
2021-04-21 09:02:33(b)采用动态驱动的方式,设计单片、移位寄存器、译码器与16×16点阵LED显示器的驱动电路,主要包括控制点阵LED行和列的连线。 (c)采用移位寄存器、译码器或锁存器驱动点阵LED显示器时,设计单片机与移位寄存器、... -
EV扩展控制寄存器
2020-11-12 22:31:33两个控制寄存器的功能基本相同,只是分别控制事件管理器A和事件管理器B。图和表给出了EV扩展寄存器的功能定义。 图 EV扩展控制寄存器 表 EV扩展控制寄存器功能定义 欢迎转载,信息来源维库电子市场网... -
计算机组成原理(5)CPU功能 控制器/运算器/寄存器/操作控制器、时序发生器 指令周期 方框图 微程序 流水...
2020-01-02 17:05:52左边运算器,右边控制器,记住IR,PC,AR,DR,AC等寄存器 这张图比较直观,记住寄存器作用,后面再学一下指令顺序 控制器 红圈所指就是控制器 取指:从内存中取出指令并指出下一条地址在内存的位置 译码...CPU功能
- 指令控制
程序执行顺序,程序时一个指令序列 - 操作控制
管理并产生控制信号 - 时间控制
取指周期,执行周期 - 数据加工
算术运算,逻辑运算处理
左边运算器,右边控制器,记住IR,PC,AR,DR,AC等寄存器
这张图比较直观,记住寄存器作用,后面再学一下指令顺序
控制器
红圈所指就是控制器
- 取指:从内存中取出指令并指出下一条地址在内存的位置
- 译码:给出控制信号
- 控制数据流向:各种BUS的开关
运算器
执行算术与逻辑运算的部件各个寄存器
- DR数据缓存寄存器
用来暂时存放从内存读出的指令或数据,当向内存存放时也使用DR存放。作为CPU,内存,外部设备的中转站,解决速度匹配问题,单累加器还可以作为操作数 - AR地址寄存器
保存当前CPU访问的内存地址单元。由于速度问题,要保存到内存读写操作结束之后 - IR指令寄存器
保存当前指令,供指令译码器译码 - PC程序计数器
存放CPU将要执行的指令的地址。程序开始执行前要将起始地址送给PC,顺序执行时PC+1,转移指令时PC跳到将要执行的指令地址
PC与AR,一个是将要,一个是当前。 - AC累加器
暂时存储ALU运算结果 - PSW状态字寄存器
保存运算,测试结果。建立状态信息
保存中断和系统状态
eg:C表示进位,V表示溢出,通常用一位触发器保存,所以PSW为多个状态标志拼凑而成的寄存器
操作控制器与时序发生器
- 操作控制器
根据指令操作码 与时序信号,产生各种操作控制信号,以便正常建立数据通路,完成取指与执行的控制
数据通路:各寄存器传递信息的通路- 时序发生器
对操作时间控制,根据周期,信号等控制计算机有序工作
指令周期
- 指令周期
CPU从内存取出一条指令并执行的时间 - CPU周期
又称机器周期,CPU从内存读取一条指令字的最短时间 - 时钟周期
通常称为节拍脉冲与T周期,一个CPU周期包含多个时钟周期 - 取指周期
- PC->AR->ABUS
即将执行下一跳指令的地址放入当前要执行的即pc->ar,ar放在地址总线上
- DBUS->DR->IR
存储器中该地址的指令数送到DBUS上,然后DBUS送给暂存书的的DR,然后指令数被送到IR,IR送给译码器,然后送给操作控制器就开始搞事情了。 - PC+1->PC
执行完这一条PC就开始准备下一条指令
方框图
公操作微程序控制器
微命令和微操作
微指令与微程序- 微命令
控制部件通过控制线发出的控制命令 - 微操作
执行部件接受微命令后的操作 - 微指令
一个CPU周期内一组实现一定操作功能的微命令组合 - 微程序
微指令的序列
通过控制线与反馈信息进行联系
注意三个寄存器就是IR,AR变成了微指令
微指令周期=读出微指令的时间+执行这条位指令的时间
一般将微指令周期设置成一个CPU周期流水CPU
并行处理技术
- 同时性
两个事件同时发生 - 并发性
两个事件以上在一个时间间隔发生 - 时间并行
时间重叠,采用流水处理部件 - 空间并行
资源重复利用
流水计算机系统
- 指令部件
- 指令队列
- 执行部件
就是执行部件取指,指令队列排队,执行部件计算
存储器用多模交叉存储器(上一章那个相邻存储器存放的)
t1,t2,t3,t4并行
三种相关性
流水线会出现的问题
- 资源相关性
多条指令争用同一功能部件
这里圈圈的两个指令都用到了存储器,
解决方法:
延迟等待,指令退出
设置重复资源,数据,指令存放在两个存储器。或这只双端口存储器,支持两个内存的操作 - 数据相关
必须等前一条指令执行完成,下一条才能执行。这两条就成为数据相关
解决办法在运算器后设置结果的缓冲寄存器,称为“前向”、定向传输技术
- 控制相关性
转移指令产生
为了降低转移指令对流水线性能的破坏,采用如下方法处理
延迟转移法:重新排列指令序列,按“先编译在转移”思路进行
转移预测法:用硬件的办法依据指令过去行为判断将来,通常设置转移与顺序两个指令序列数据相关性分为WAR,RAW,WAW,三种。这种题做起来就是判断差错是由后面的指令先执行带来的数据相关性问题。
1.就是RAW,2就是WAR,3就是WAW - 指令控制
-
第五章:下列各部件中不属于控制器的部件是( )。
2020-12-16 18:35:19下列各部件中不属于控制器的部件是( )。 A.指令寄存器IR B.程序计数器PC(指令指针寄存器IP) C.时序电路D.程序状态字寄存器PSW 状态字寄存器PSW属于运算器部分,参考CPU模型图 控制器由程序计数器、指令...下列各部件中不属于控制器的部件是( )。
A.指令寄存器IR
B.程序计数器PC(指令指针寄存器IP)
C.时序电路
D.程序状态字寄存器PSW状态字寄存器PSW属于运算器部分,参考CPU模型图
控制器由程序计数器、指令寄存器、指令译码器、时序产生器、操作控制器组成;
运算器由算术逻辑单元、通用寄存器、数据缓冲寄存器DR,和状态字寄存器PSW组成。 -
嵌入式开发学习笔记5-了解单片机中的特殊功能寄存器(寄存器B、累加器A和程序状态字PSW)
2020-03-07 16:51:37嵌入式开发学习笔记5-了解单片机中的特殊功能寄存器(寄存器、累加器和程序状态字)累加器A寄存器B程序状态字PSW 累加器A 累加器A是ACC(Accumulator)的缩写,累加器A是一个具有特殊用途的二进制8位寄存器,专门用来...累加器A
累加器A是ACC(Accumulator)的缩写,累加器A是一个具有特殊用途的二进制8位寄存器,专门用来存放操作数或运算结果。在CPU执行某种运算前,两个操作数中的一个通常应放在累加器A中,运算完成后累加器A中便可得到运算结果。
如果没有像累加器这样的寄存器,那么在每次计算(加法,乘法,移位等等)后就必须要把结果写回到内存,也许马上就得读回来。然而存取内存存的速度比从算术逻辑单元到有直接路径的累加器存取慢。个人理解:累加器就是用来存放操作数或者结果的寄存器,主要是为了提高CPU计算速度
寄存器B
寄存器B称为辅助寄存器,它是为乘法和除法指令而设置的。在乘法运算时,累加器A和寄存器B在乘法运算前存放乘数和被乘数,运算完,通过寄存器B和累加器A存放结果。除法运算前,累加器A和寄存器B存入被除数和除数,运算完用于存放商和余数。
利用汇编语言编写程序时候需要注意一个问题:寄存器B仅在乘法、除法指令中为寄存器寻址,在其它指令中为直接寻址。
程序状态字PSW
程序状态字PSW(Program Status Word),是指在电脑中,一段包含被操作系统和潜在硬件使用的程序状态信息的内存或硬件区域。
一般用一个专门的寄存器来指示处理器状态,主要用于反映处理器的状态及某些计算结果以及控制指令的执行。地址位 标志位 含义 7 CY 进位标志,如果操作结果有进位或者借位,CY由硬件置1,否则置0 6 AC 辅助进位标志,如果操作结果的低4位数向高4位数产生进位或者借位,AC由硬件置1,否则置0 5 F0 用户标志位,由用户置位或者复位,用户自行定义的一个状态标记,可用软件改变F0来控制程序流向 4 RS1 工作寄存器指针,用于改变选择CPU当前工作的寄存器组,可以使用用户程序改变RS1和RS0的组合来改变当前内部RAM工作寄存器区 3 RS0 2 OV 溢出标志位,由硬件自动形成,累加器的运算结果超出了8位数所能表示的范围,则OV自动置1,否则清0 1 - 保留位,为定义 1 P 奇偶标志位,该位可追踪累加器A中含“1”数目的奇偶性,若A中“1”个数位为奇数置1 ,否则为0,可用于串行数据通讯,保证数据传输的可靠性 在前面我们提到内部RAM分为三个部分:数据缓冲区、位寻址区和工作寄存器区,而在工作寄存器中又分为四个区,如图所示
而我们上面提到的RS0和RS1就是用来控制工作寄存器区域的,控制方式如下
--------------------本文由作者从网络上整理,欢迎转载----------------------
最后再附上一条链接,是作者在寻找资料时发现的一个神仙PPT,大家了解单片机可以从这个PPT开始,里面有关于单片机一些系统全面的知识
-
寄存器B
2016-11-23 00:37:48运算部件以算术逻辑运算单元ALU为核心,包含累加器ACC、B寄存器、暂存器、标志寄存器PSW等许多部件,它能实现算术运算、逻辑运算、位运算、数据传输等处理。 算术逻辑运算单元ALU是一个8位的运算器,它不仅可以... -
Shift7Segment:使用 '595s 之类的移位寄存器轻松控制 7 段显示器
2021-06-14 03:13:19使用 '595s 之类的移位寄存器轻松控制 7 段显示器 用法: 构造函数默认为从移位寄存器到 7 段显示器的简单接线: 76G54 Q0 -> • ||||| Q1 -> C AAA Q2 -> D F B Q3 -> E F B Q4 -> B GGG Q5 -> A E C Q6 -> F E... -
S3C2440存储控制器(memory controller)的寄存器使用
2019-01-14 21:17:21存储控制器有13个寄存器,Bank0~Bank5只用BWSCON(BUS WIDTH & WAIT CONTROL REGISTER)和BANKCONx(BANK CONTROL REGISTER x为0~5)两个寄存器。 Bank6和Bank7外接SDRAM时,除上面两种寄存器,还需要用到... -
X86_64 CR3控制寄存器详解
2020-05-18 14:18:39状态和控制寄存器组除了EFLAGS、EIP ,还有四个32位的控制寄存器,它们是CR0,CR1,CR2和CR3。 CR3含有存放页目录表页面的物理地址,因此CR3也被称为PDBR。因为页目录表页面是页对齐的,所以该寄存器只有高20位是... -
配置STM32寄存器控制按键
2020-10-06 12:51:34Key_up:控制蜂鸣器鸣响,当按键被按下时蜂鸣器鸣响 Key_left:控制LED灯,当按键被按下一次时,亮起的一颗LED灯左移一个。 Key_right:控制LED灯,当按键被按下一次时,亮起的一颗LED灯右移一个。 Key_down:... -
锁存器、触发器和寄存器
2018-12-28 14:33:13锁存器 锁存器(latch)---对脉冲电平敏感,在时钟脉冲的电平作用下改变状态 锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,当锁存器处于使能状态时,输出才会随着数据... -
锁存器、D触发器、寄存器理解
2021-12-09 10:50:351、锁存器 锁存器对脉冲的电平敏感,也就是电平触发,在有效的电平下,锁存器处于使能状态,输出随着输入发生变化,此时它不锁存信号,就像一个缓冲器一样;在锁存器没有使能时,则数据被锁住,输入信号不起作用,... -
寄存器,寄存器是什么意思
2021-07-28 06:43:33在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。寄存器... -
Arduino板上通过操作端口寄存器来进行控制
2019-02-27 20:45:43端口寄存器允许在Arduino板上更低级和更快地操纵微控制器的i / o引脚。Arduino板上使用的芯片(ATmega8和ATmega168)有三个端口: B(数字引脚8到13) C(模拟输入引脚) D(数字引脚0到7) 每个端口由三个寄存器... -
具有Arduino,RTC和移位寄存器的数字时钟74HC595-电路方案
2021-04-19 18:50:22在显示控制中,我使用了Arduino Uno R3和74HC595的02 IC(带输出锁存器的8位移位寄存器)。 移位寄存器的使用对于保存Arduino的输出端口非常重要,并且仅需Arduino的3个输出即可控制显示。 有两种突破:一种是针对... -
寄存器
2019-05-16 18:21:01通用寄存器(R0) 用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。 程序计数器(PC/IP) PC寄存器中的内容,是下一条要取的指令的16位存储单元地址,在程序执行的过程中,PC中的值会自动加一。 ... -
ARM微控制器-MCU基础及CPU运行过程(堆栈/中断/寄存器操作)
2021-01-29 13:23:11参考《ARM微控制器与嵌入式系统--清华》 一. CPU的基本结构和运行机制 分析其中的CPU:(ALU、寄存器组、控制单元是必要的,其他非必要) 一个完整的CPU: 将ALU拿出来: 分析其中的Quiz: ① A + ... -
arm中SP,LR,PC寄存器以及其它所有寄存器以及处理器运行模式介绍
2021-06-26 16:32:39ARM中所有寄存器都是32位的。 ARM 处理器共有 7 种不同的处理器运行模式: 用户模式(User),快速中断模式(FIQ),普通中断模式(IRQ),管理模式(Svc),数据访问中止模式(Abort),未定义指令中止模式(Und)... -
(转)汇编中各寄存器的作用
2021-07-28 06:13:12在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的... -
STM32寄存器的简介、地址查找,与直接操作寄存器
2019-01-11 11:15:15根据百度百科介绍,寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。 简单来说,寄存器就是存放东西的东西。从名字来看,跟火车站寄存行李的地方好像是有... -
寄存器、锁存器、触发器的区别
2019-08-29 15:46:02锁存器(Latch) 锁存器是一种对脉冲电平敏感的双稳态电路,它具有0和1两种稳定状态,一旦状态被确定,就能自行保持,直到有外部特定输入脉冲电平作用在电路位置时,才有可能改变状态。 锁存器是电平触发的存储... -
8086标志寄存器_8086微处理器中的标志寄存器
2020-07-15 10:07:338086标志寄存器Flag Register is a 16-bit register, but there are only 9 flags available in the 8086 ... 标志寄存器是一个16位寄存器,但是8086微处理器中只有9个标志可用。 因此其余7位保持空闲状态。 ... -
初学stm32-寄存器开发点灯、流水灯、蜂鸣器
2020-08-16 16:17:31stm32寄存器开发基础寄存器开发概述[^1]寄存器:stm32时钟源:STM32F407引脚分组和寄存器点亮一盏灯的操作流水灯以及蜂鸣器操作 寄存器开发概述1 寄存器: 寄存器的功能是存储二进制代码,它是由具有存储功能的... -
51寄存器表
2019-05-02 21:53:20MCS-51单片机的特殊功能寄存器 符号 地址 功能介绍 ... B寄存器 ACC E0H 累加器 PSW D0H 程序... -
时序逻辑中的锁存器、触发器、寄存器
2021-10-09 14:38:58时序逻辑一般由锁存器、触发器、寄存器构成。 锁存器(latch):锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或使能信号)信号的电平值,即当锁存器处于使能状态时,输出才会随着数据的输入发生... -
MODBUS RTU标准协议读写器寄存器操作说明
2021-06-01 17:39:28id=41901622939 ... IC-10MRW型MODBUS读写器能通过MODBUS-RTU方式与PLC通信,MODBUS读写器为从站(出厂一般默认站号为2)、PLC为主站,通讯参数:波特率,N,8,1(出厂默认19200,波特率有4800,9600,1... -
寄存器和GPIO
2020-09-27 17:34:362、GPIO就是芯片的引脚(芯片上的引脚有些不是GPIO,只有一部分是),作为GPIO的这类引脚,他的功能和特点是可以被编程控制它的工作模式,也可以编程控制他的电压高低等。 3、在嵌入式系统中,经常需要控制许多结构... -
单片机中断的相关寄存器
2021-06-09 18:24:201、定时器控制寄存器(TCON) TCON(88H) 地址8FH8EH 8DH8CH8BH 8AH89H88H 符号TF1TR1 TF0TR0IE1 IT1IE0IT0 TF1:定时器/计时器T1的溢出中断请求标志位。当计数器T1最高位产生溢出时,由...