在CPU中至少要有六类寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW)。这些寄存器用来暂存一个计算机字,其数目可以根据需要进行扩充。

1. 数据寄存器

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

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

数据寄存器的作用是 :

(1)作为CPU和主存、外围设备之间信息传送的中转站;

(2)弥补CPU和主存、外围设备之间在操作速度上的差异;

(3)在单累加器结构的运算器中,数据寄存器还可兼作操作数寄存器。

2. 指令寄存器

指令寄存器(Instruction Register,IR)用来保存当前正在执行的一条指令。

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

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

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

3. 程序计数器

程序计数器(Program Counter,PC)用来指出下一条指令在主存储器中的地址。

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

当执行指令时,CPU能自动递增PC的内容,使其始终保存将要执行的下一条指令的主存地址,为取下一条指令做好准备。若为单字长指令,则(PC)+1àPC,若为双字长指令,则(PC)+2àPC,以此类推。

但是,当遇到转移指令时,下一条指令的地址将由转移指令的地址码字段来指定,而不是像通常的那样通过顺序递增PC的内容来取得。

因此,程序计数器的结构应当是具有寄存信息和计数两种功能的结构。

4. 地址寄存器

地址寄存器(Address Register,AR)用来保存CPU当前所访问的主存单元的地址。

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

当CPU和主存进行信息交换,即CPU向主存存入数据/指令或者从主存读出数据/指令时,都要使用地址寄存器和数据寄存器。

如果我们把外围设备与主存单元进行统一编址,那么,当CPU和外围设备交换信息时,我们同样要使用地址寄存器和数据寄存器。

5. 累加寄存器

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

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

显然,运算器中至少要有一个累加寄存器。

6. 程序状态字寄存器

程序状态字(Program Status Word,PSW)用来表征当前运算的状态及程序的工作方式。

程序状态字寄存器用来保存由算术/逻辑指令运行或测试的结果所建立起来的各种条件码内容,如运算结果进/借位标志(C)、运算结果溢出标志(O)、运算结果为零标志(Z)、运算结果为负标志(N)、运算结果符号标志(S)等,这些标志位通常用1位触发器来保存。

除此之外,程序状态字寄存器还用来保存中断和系统工作状态等信息,以便CPU和系统及时了解机器运行状态和程序运行状态。

因此,程序状态字寄存器是一个保存各种状态条件标志的寄存器。
--------------------- 
作者:DemonHunter211 
来源:CSDN 
原文:https://blog.csdn.net/kwame211/article/details/77773621?utm_source=copy 
版权声明:本文为博主原创文章,转载请附上博文链接!

CPU中的主要寄存器:有六类寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW)相关推荐

  1. 【嵌入式开发】ARM 处理器工作模式 及 修改方法 ( 处理器模式 | 设置处理器模式 | 程序状态字寄存器 CPSR SPSR | 模式设置代码编写 | 设置 svc 模式 )

    一. 处理器工作模式相关介绍 1. 处理器模式简介 (1) 处理器工作模式分类 (2) 处理器不同工作模式区别 (3) Linux 系统运行的模式 (4) 特权模式 说明 (5) 异常模式 (6) 系 ...

  2. 关于程序状态字寄存器PSW(Program Status Word)与多核多线程

    内核态(Kernel Mode)与用户态(User Mode) CPU通常有两种工作模式即:内核态和用户态,而在PSW中有一个二进制位控制这两种模式. 内核态:当CPU运行在内核态时,程序可以访问所有 ...

  3. CPU中寄存器作用及说明

    各种计算机的CPU可能不同,但是在CPU中至少至少要有六类寄存器:①指令寄存器(IR):②程序计数器(PC):③数据地址寄存器(AR):④缓冲寄存器(DR):⑤通用寄存器(R0~R3);⑥状态字寄存器 ...

  4. CPU中的主要寄存器

    在CPU中至少要有六类寄存器:指令寄存器(IR).程序计数器(PC).地址寄存器(AR).数据寄存器(DR).累加寄存器(AC).程序状态字寄存器(PSW).这些寄存器用来暂存一个计算机字,其数目可以 ...

  5. 【CPU中的主要寄存器】

    (1)数据缓冲寄存器(DR)         数据缓冲寄存器用来暂时存放算术逻辑运算单元(ALU)运算结果,或由数据存绪器读出的一个数据字,或来自外部接口的一个数据字,缓冲寄存器的作用是: ① 作为A ...

  6. 一条指令在cpu中的执行流程(理解CPU组成)

    CPU: 1.寄存器; 2.控制器CU(Control Unit):           指令寄存器IR(InstructionRegister).程序计数器PC(ProgramCounter)和操作 ...

  7. 2021-07-08操作系统知识:程序计数器(pc)、指令寄存器(IR)、通用寄存器(GR)、状态寄存器(SR)、程序状态字PSW

    操作系统知识:程序计数器(pc).指令寄存器(IR).通用寄存器(GR).状态寄存器(SR).程序状态字PSW 快乐的一只小喵喵 2019-10-28 16:43:01 14046 收藏 96 分类专 ...

  8. 操作系统知识:程序计数器(pc)、指令寄存器(IR)、通用寄存器(GR)、状态寄存器(SR)、程序状态字PSW

    程序计数器(PC,Program counter),用于存放指令的地址.为了保证程序(在操作系统中理解为进程)能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址.当执行一条指令时,首先需 ...

  9. 简单解释程序计数器、指令寄存器、通用寄存器、状态寄存器、程序状态字

    程序计数器(PC,Program counter),用于存放指令的地址.为了保证程序(在操作系统中理解为进程)能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址.当执行一条指令时,首先需 ...

最新文章

  1. [管理心得] 稻盛和夫为日航危机出诊--人情营销的典型
  2. C++大学教程(第九版)2016-07 保罗·戴特尔 (Paul Deitel)、 哈维·戴特尔 (Harvey Deitel)_cafbe(C++中文版)
  3. 7 centos 查看程序文件数量_「动手打造家庭媒体网络平台」安装篇-centos搭建DLNA媒体服务...
  4. Ubuntu下libvirt kvm配置
  5. 计算机考研各科目分数,考研各科目及分数
  6. html制作搜狗主页,自学htmlcss之仿搜狗主页(示例代码)
  7. Java中字节流和字符流的比较(转)
  8. app测试过程和重点关注内容
  9. hdu5791(DP)
  10. 更好的设计你的 REST API
  11. 英文写作的25个黄金加分句型
  12. 实现echarts中国地图迁徙图
  13. JDK各个版本的特性分析|JDK7|JDK8|JDK9|JDK10|JDK11|JDK12|JDK13特性分析
  14. C语言:“~”操作符详解
  15. ubuntu16.04 双显卡 安装N卡驱动
  16. 【JS】【19】使用Jquery判断是电脑或手机或微信浏览器访问
  17. 请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化。模块“vpmc”启动失败。未能启动虚拟机。
  18. Neo4j图数据库从入门到精通
  19. nordic52840DK-NFC卡
  20. Houdini技术体系 基础管线(三) :UE4以选择区域的方式对地形做生成和更新 上篇...

热门文章

  1. 项目文件中的已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦)...
  2. jboss 反序列化 getshell
  3. InnoDB Master Thread I/O Rate详解
  4. [Windows]ping itsafe环境变量
  5. bootstrap绿色大气后台模板下载[转]
  6. Win7下用IIS发布网站
  7. C++输入输出进制、数据宽度与对齐、精度、取整
  8. 哲学家就餐问题--信号量和互斥量预防死锁
  9. Android禁止横屏竖屏切换
  10. c#自动向网页Post信息并提取返回的信息