0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

探究计算机中的寄存器

jf_78858299 来源:小牛呼噜噜 作者:小牛呼噜噜 2023-01-30 17:14 次阅读

前言

现代CPU内部除了 运算器和控制器 还有一个常见的组件: 寄存器是CPU内部用来存放数据的一些小型的存储区域,用来暂时存放参与运算的数据以及运算结果。在https://mp.weixin.qq.com/s/KecubYROQztHvwPicJb9wQ这篇文章中,我们了解了计算机各个硬件读写速度的差异,其中从存储器速度、容量和价格的关系金字塔图发现:最上层的寄存器速度最快,容量最小,价格也最昂贵

下面我们来看看几个常见寄存器:

数据寄存器(DR)

数据寄存器(Data Register,DR)又称数据缓冲寄存器,数据寄存器用于存放操作数,其位数应满足多数数据类型的数值范围,其主要功能是作为CPU和主存、外设之间信息传输的中转站,用以弥补CPU和主存、外设之间操作速度上的差异。

数据寄存器用来暂时存放由主存储器读出的一条指令或一个数据字;反之,当向主存存入一条指令或一个数据字时,也将它们暂时存放在数据寄存器中。

数据寄存器的作用是 :

  1. 作为CPU和主存、外围设备之间信息传送的中转站;
  2. 弥补CPU和主存、外围设备之间在操作速度上的差异;
  3. 在单累加器结构的运算器中,数据寄存器还可兼作操作数寄存器。

地址寄存器(AR)

地址寄存器(Address Register,AR)用来保存CPU当前所访问的主存单元的地址。其本身可以具有通用性,也可用于特殊的寻址方式,如用于基址寻址的段指针(存放基地址)、用于变址寻址的变址寄存器和用于堆栈寻址的栈指针。地址寄存器的位数必须足够长,以满足最大的地址范围。

由于在主存和CPU之间存在操作速度上的差异,所以必须使用地址寄存器来暂时保存主存的地址信息,直到主存的存取操作完成为止。

程序状态寄存器(PSW)

程序状态寄存器(PSW),用来保存各类运算指令或测试指令的结果的各种状态信息 除此之外,程序状态字寄存器还用来保存中断和系统工作状态等信息,以便CPU和系统及时了解机器运行状态和程序运行状态。程序状态寄存器 是构成 运算器的重要组成部分

累加寄存器(AC)

累加寄存器通常简称累加器(AC),是一个通用寄存器。

累加器的功能是:当运算器的算术逻辑单元ALU执行算术或逻辑运算时,为ALU提供一个工作区,可以为ALU暂时保存一个操作数或运算结果。显然,运算器中至少要有一个累加寄存器。

乘商寄存器(MQ)

在运算器中,乘商寄存器主要负责数据的乘法与除法运算并可保存运算结果,是运算器的基本组成部分,是运算器三个基本寄存器之一。

程序计数器(PC)

程序计数器(PC),具有寄存信息计数两种功能,一般用来 存放下一条指令在主存储器中的地址

在程序执行之前,首先必须将程序的首地址,即程序第一条指令所在主存单元的地址送入PC,因此PC的内容即是从主存提取的第一条指令的地址。

当执行指令时,CPU能自动递增PC的内容,使其始终保存将要执行的下一条指令的主存地址,为取下一条指令做好准备。但是,当遇到转移指令时,下一条指令的地址将由转移指令的地址码字段来指定,而不是像通常的那样通过顺序递增PC的内容来取得。

指令寄存器(IR)

指令寄存器(Instruction Register,IR), 用来保存当前欲执行的指令

当执行一条指令时,首先把该指令从主存读取到数据寄存器中,然后再传送至指令寄存器。

指令包括操作码和地址码两个字段,为了执行指令,必须对操作码进行测试,识别出所要求的操作,指令译码器 就是完成这项工作的。指令译码器对指令寄存器的操作码部分进行译码,以产生指令所要求操作的控制电位,并将其送到微操作控制线路上,在时序部件定时信号的作用下,产生具体的操作控制信号。

指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码,即可向操作控制器发出具体操作的特定信号。

MAR、MDR

另外寄存器不只存在CPU中,存储器中也存在寄存器,比如MAR、MDR

  • MAR:存储器地址寄存器,用于存放将被访问的存储单元的地址。作用和AR类似
  • MDR:存储器数据寄存器,用于存放欲存入存储器中的数据或最近从存储器中读出的数据。作用和DR类似

其中MAR位数反映储存单元的个数,即最多能表示多少个不同的状态;MDR位数=储存字长=每个储存单元的大小

小结

将上面各个寄存器组合起来,我们可以画出一幅计算机更细化的组成图:

当存储器开始读操作的时候,存储器将指定地址单元内的指令读至MDR,再由MDR送至IR。IR将指令中的操作码送到CU中,用来分析指令并发出各种微操作命令序列。再加指令中地址码送到MAR,用来去操作数

在CPU内部必须给ALU提供数据,因此ALU必须可直接访问MDR,ALU的外围还可以有另一些寄存器AC、MQ、X,这些寄存器用于ALU的输入、输出以及用于和MDR及用户可见寄存器交换数据。

在CPU的控制和状态寄存器中,还有用来存放程序状态字PSW的寄存器,该寄存器用来存放条件码和其他状态信息。在具有中断系统的机器中还有中断标记寄存器等等。


参考资料

计算机组成原理(第2版)-唐朔飞 https://blog.csdn.net/weibo1230123/article/details/83106141

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5357

    浏览量

    120666
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10879

    浏览量

    212195
  • 计算机
    +关注

    关注

    19

    文章

    7519

    浏览量

    88212
收藏 人收藏

    评论

    相关推荐

    微型计算机中采用的逻辑元件是什么

    第7部分 计算机硬件 单选(1) .[B]计算机向使用者传送计算、处理结果的设备称为______。(A) 输入设备(B) 输出设备(C) 存储设备(D) 微处理(2) .[C]目前微
    发表于 09-15 07:43

    基于嵌入式实时软件在计算机中的应用研究

    以及应用前景四方面探究了它在计算机中的有效应用,针对应用内容进行了详细探讨。关键词:嵌入式实时软件计算机引言新时代,计算机普及应用于各个领域,同时成为了人们日常生活不可或缺的重要工具。
    发表于 11-09 07:05

    个人计算机中的串行端

    【LabVIEW从入门到精通】4.1.5 个人计算机中的串行端口
    发表于 01-08 15:43 0次下载

    计算机中内存、cache和寄存器之间的关系

    CPU、内存、寄存器之间的关系cpu 取址 -》地址输入地址寄存器 -》 缓存命中即,则数据进入数据寄存器 -》 缓存未命中则进入内存 -》 内存TLB快表命中则数据块进入缓存,数据进入寄存器
    发表于 07-22 09:19 5734次阅读
    <b class='flag-5'>计算机中</b>内存、cache和<b class='flag-5'>寄存器</b>之间的关系

    寄存器的特性和四大种类

    寄存器是由触发组成的,一个触发是一个一位寄存器。多个触发就可以组成一个多位的寄存器。由于
    的头像 发表于 06-19 16:44 1.9w次阅读
    <b class='flag-5'>寄存器</b>的特性和四大种类

    计算机寄存器和存储

    计算机寄存器和存储 一般意义上理解,寄存器是CPU里的存储单元,与CPU离得近,所以CPU在运算时通常都会用寄存器当中转站。存储
    发表于 03-21 15:22 2109次阅读

    浅析寄存器的作用及应用

    寄存器计算机内部最快的存储器件之一,其在计算机中具有重要的作用。本文将从寄存器的作用、应用和分类等方面对寄存器进行详细介绍。
    的头像 发表于 04-09 18:44 1.1w次阅读

    纯硅振荡兼容SiTime在边缘计算机中的应用

    纯硅振荡兼容SiTime在边缘计算机中的应用
    的头像 发表于 04-29 10:09 356次阅读
    纯硅振荡<b class='flag-5'>器</b>兼容SiTime在边缘<b class='flag-5'>计算机中</b>的应用

    寄存器分为基本寄存器和什么两种

    寄存器计算机中用于存储数据的高速存储单元,它们是CPU内部的重要组成部分。寄存器可以分为基本寄存器和扩展寄存器两种类型。 一、基本
    的头像 发表于 07-12 10:31 1488次阅读

    寄存器有哪几种?可以实现什么功能?

    寄存器计算机中用于存储数据和指令的高速存储设备,是计算机硬件的重要组成部分。寄存器的种类很多,不同的寄存器具有不同的功能。 通用
    的头像 发表于 07-12 10:32 1267次阅读

    DRAM在计算机中的应用

    DRAM(Dynamic Random Access Memory,动态随机存取存储)在计算机系统扮演着至关重要的角色。它是一种半导体存储,用于存储和快速访问数据,是
    的头像 发表于 07-24 17:04 1326次阅读

    寄存器是什么意思?寄存器是如何构成的?

    计算机科学寄存器(Register)是一个高速存储单元,它位于中央处理(CPU)内部,用于存储计算机程序执行过程中所需要的数据、指令
    的头像 发表于 08-02 18:23 4473次阅读
    <b class='flag-5'>寄存器</b>是什么意思?<b class='flag-5'>寄存器</b>是如何构成的?

    边沿触发计算机中的应用

    边沿触发计算机中的应用极为广泛,它们作为数字电路的基本单元,对于实现计算机内部的时序控制、数据存储与传输、以及复杂逻辑功能等方面起着至关重要的作用。以下将从边沿触发
    的头像 发表于 08-12 14:20 619次阅读

    寄存器故障分析

    寄存器故障分析是计算机硬件维护与系统稳定性保障的重要环节。寄存器作为计算机中的关键组成部分,负责存储和传输数据,其稳定性和可靠性直接影响到
    的头像 发表于 08-29 11:26 1108次阅读

    寄存器的类型和作用

    计算机科学寄存器(Register)是一种高速存储单元,它位于CPU内部,与CPU的运算单元和逻辑控制单元紧密相连。寄存器的主要作用是暂时存储指令、操作数和地址等临时数据,以便C
    的头像 发表于 09-05 14:11 2189次阅读