当前位置:首页 > 经验 >

寄存器有哪五种(寄存器分类)

来源:原点资讯(www.yd166.com)时间:2022-11-06 07:40:20作者:YD166手机阅读>>

作 者:程序员cxuan

原文链接:https://mp.weixin.qq.com/s/Okpdf90VpbuO7XfI3N3WgQ

下面我们就来介绍一下关于寄存器的相关内容。我们知道,寄存器是 CPU 内部的构造,它主要用于信息的存储。除此之外,CPU 内部还有运算器,负责处理数据;控制器控制其他组件;外部总线连接 CPU 和各种部件,进行数据传输;内部总线负责 CPU 内部各种组件的数据处理。

那么对于我们所了解的汇编语言来说,我们的主要关注点就是 寄存器。

为什么会出现寄存器?因为我们知道,程序在内存中装载,由 CPU 来运行,CPU 的主要职责就是用来处理数据。那么这个过程势必涉及到从存储器中读取和写入数据,因为它涉及通过控制总线发送数据请求并进入存储器存储单元,通过同一通道获取数据,这个过程非常的繁琐并且会涉及到大量的内存占用,而且有一些常用的内存页存在,其实是没有必要的,因此出现了寄存器,存储在 CPU 内部。

认识寄存器

寄存器的官方叫法有很多,Wiki 上面的叫法是 Processing Register, 也可以称为CPU Register,计算机中经常有一个东西多种叫法的情况,反正你知道都说的是寄存器就可以了。

认识寄存器之前,我们首先先来看一下 CPU 内部的构造。

寄存器有哪五种,寄存器分类(1)

CPU 从逻辑上可以分为 3 个模块,分别是控制单元、运算单元和存储单元,这三部分由 CPU 内部总线连接起来。

几乎所有的冯·诺伊曼型计算机的 CPU,其工作都可以分为5个阶段:「取指令、指令译码、执行指令、访存取数、结果写回」

  • 取指令阶段是将内存中的指令读取到 CPU 中寄存器的过程,程序寄存器用于存储下一条指令所在的地址
  • 指令译码阶段,在取指令完成后,立马进入指令译码阶段,在指令译码阶段,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类别以及各种获取操作数的方法。
  • 执行指令阶段,译码完成后,就需要执行这一条指令了,此阶段的任务是完成指令所规定的各种操作,具体实现指令的功能。
  • 访问取数阶段,根据指令的需要,有可能需要从内存中提取数据,此阶段的任务是:根据指令地址码,得到操作数在主存中的地址,并从主存中读取该操作数用于运算。
  • 结果写回阶段,作为最后一个阶段,结果写回(Write Back,WB)阶段把执行指令阶段的运行结果数据写回到 CPU 的内部寄存器中,以便被后续的指令快速地存取;
计算机架构中的寄存器

寄存器是一块速度非常快的计算机内存,下面是现代计算机中具有存储功能的部件比对,可以看到,寄存器的速度是最快的,同时也是造价最高昂的。

寄存器有哪五种,寄存器分类(2)

我们以 intel 8086 处理器为例来进行探讨,8086 处理器是 x86 架构的前身。在 8086 后面又衍生出来了 8088 。

在 8086 CPU 中,地址总线达到 20 根,因此最大寻址能力是 2^20 次幂也就是 1MB 的寻址能力,8088 也是如此。

在 8086 架构中,所有的内部寄存器、内部以及外部总线都是 16 位宽,可以存储两个字节,因为是完全的 16 位微处理器。8086 处理器有 14 个寄存器,每个寄存器都有一个特有的名称,即

「AX,BX,CX,DX,SP,BP,SI,DI,IP,FLAG,CS,DS,SS,ES」

这 14 个寄存器有可能进行具体的划分,按照功能可以分为三种

  • 通用寄存器
  • 控制寄存器
  • 段寄存器

下面我们分别介绍一下这几种寄存器

通用寄存器

通用寄存器主要有四种 ,即 「AX、BX、CX、DX」 同样的,这四个寄存器也是 16 位的,能存放两个字节。AX、BX、CX、DX 这四个寄存器一般用来存放数据,也被称为 数据寄存器。它们的结构如下

寄存器有哪五种,寄存器分类(3)

8086 CPU 的上一代寄存器是 8080 ,它是一类 8 位的 CPU,为了保证兼容性,8086 在 8080 上做了很小的修改,8086 中的通用寄存器 AX、BX、CX、DX 都可以独立使用两个 8 位寄存器来使用。

在细节方面,AX、BX、CX、DX 可以再向下进行划分

  • AX(Accumulator Register) :累加寄存器,它主要用于输入/输出和大规模的指令运算。
  • BX(Base Register):基址寄存器,用来存储基础访问地址
  • CX(Count Register):计数寄存器,CX 寄存器在迭代的操作中会循环计数
  • DX(data Register):数据寄存器,它也用于输入/输出操作。它还与 AX 寄存器以及 DX 一起使用,用于涉及大数值的乘法和除法运算。

这四种寄存器可以分为上半部分和下半部分,用作八个 8 位数据寄存器

  • 「AX 寄存器可以分为两个独立的 8 位的 AH 和 AL 寄存器;」
  • 「BX 寄存器可以分为两个独立的 8 位的 BH 和 BL 寄存器;」
  • 「CX 寄存器可以分为两个独立的 8 位的 CH 和 CL 寄存器;」
  • 「DX 寄存器可以分为两个独立的 8 位的 DH 和 DL 寄存器;」

除了上面 AX、BX、CX、DX 寄存器以外,其他寄存器均不可以分为两个独立的 8 位寄存器

如下图所示。

寄存器有哪五种,寄存器分类(4)

栏目热文

4位右移寄存器工作原理(8位移位寄存器的接线图)

4位右移寄存器工作原理(8位移位寄存器的接线图)

钱浩宇,汪鹏君,丁代鲁,张跃军(宁波大学 电路与系统研究所,浙江 宁波315211)通过对传统移位寄存器原理和灵敏放大型...

2022-11-06 07:22:46查看全文 >>

基本寄存器工作原理(寄存器电路图详解)

基本寄存器工作原理(寄存器电路图详解)

寄存器——具有能够接收、暂存和传递数码的一种逻辑记忆元件。一、数码寄存器 数码寄存器——最简单的寄存器,只具有接收数码...

2022-11-06 07:24:48查看全文 >>

常用寄存器通俗解释(寄存器的基础知识)

常用寄存器通俗解释(寄存器的基础知识)

与java相关的Java编译器输出的指令流,基本上是一种基于栈的指令集架构,而与之相对的另外一套常用的指令集架构是基于寄...

2022-11-06 07:03:54查看全文 >>

变址寄存器v和z有什么区别(为什么不建议学单片机)

变址寄存器v和z有什么区别(为什么不建议学单片机)

示例说明:一个简易保安系统,在规定次数(如5次)的范围内,若密码不正确将启动报警系统,并关闭安全通道。若规定的次数内密码...

2022-11-06 07:35:31查看全文 >>

计算机寄存器原理图(计算机中所有的寄存器)

计算机寄存器原理图(计算机中所有的寄存器)

通过前面的学习,我们已知单片机的内部有ROM、有RAM、有并行I/O口,那么,除了这些东西之外,单片机内部究竟还有些什...

2022-11-06 07:20:50查看全文 >>

寄存器的内部结构(寄存器内部功能)

寄存器的内部结构(寄存器内部功能)

2.2 寄存器 本节只需要了解 处理器(CPU)由运算器、控制器、寄存器、输入设备和输出设备组成,这些器件由处理数据总线...

2022-11-06 07:15:59查看全文 >>

寄存器工作过程(寄存器的基础知识)

寄存器工作过程(寄存器的基础知识)

单片机内部有大量寄存器,寄存器是一种能够存储数据的电路,由触发器构成。(1)触发器触发器是一种具有记忆存储功能的电路,由...

2022-11-06 07:15:44查看全文 >>

基本寄存器的工作原理(寄存器工作原理动画)

基本寄存器的工作原理(寄存器工作原理动画)

PLC控制柜是指成套的控制,可实现电机,开关的控制的电气柜。PLC控制柜有过载、短路、缺相保护等功能。其结构紧凑、工作稳...

2022-11-06 07:31:37查看全文 >>

移位寄存器工作原理(8位移位寄存器原理图)

移位寄存器工作原理(8位移位寄存器原理图)

【单选题】手机寻呼的范围是PLMN服务区MSC/VLR服务区位置区小区答案:位置区【单选题】CDMA的全称是?Code ...

2022-11-06 07:17:52查看全文 >>

寄存器的内部电路(基本寄存器电路图)

寄存器的内部电路(基本寄存器电路图)

一、单片机上拉电阻的选择大家可以看到复位电路中电阻R1=10k时RST是高电平 ,而当R1=50时RST为低电平,很明显...

2022-11-06 06:55:15查看全文 >>

文档排行