阅读 286

CPU 中寄存器的用途是什么,特殊用途寄存器是什么?

CPU 寄存器是一个小的临时存储器,其中包含一组数据保存位置,这些位置是计算机处理器的一部分。寄存器保存一条指令、一个存储地址或任何类型的数据。

在尝试了解一些特殊用途寄存器之前,让我们先了解一下通用寄存器和特殊用途寄存器之间的区别。

  • 专用寄存器保存程序的状态。这些寄存器被指定用于特殊目的。其中一些寄存器是堆栈指针、程序计数器等。

  • 通用寄存器在执行不同操作时保存临时数据。其中一些寄存器是累加器、BX 等。

特殊用途寄存器

让我们看看 CPU 中使用的一些特殊用途寄存器。

指令寄存器 (IR)

指令寄存器(IR)存储当前正在执行的指令。在简单的处理器中,每条要执行的指令都被加载到指令寄存器中,指令寄存器在解码、准备和最终执行时保存它。

BRANCH(无条件)、BRANCH IF ZERO(有条件)代替 LMC 中的指令寄存器。

状态寄存器

状态寄存器或标志寄存器或条件代码寄存器是基于处理器的状态标志的集合。状态寄存器也是一个硬件寄存器,其中包含有关处理器状态的信息。

该寄存器的大小为 16 位,每一位都有一个标志。状态寄存器用于不同的条件,如结果为负、结果为零等。有不同类型的状态寄存器,例如程序状态寄存器是保存程序当前执行状态的寄存器。

它还控制中断的启用和禁用并设置处理器操作模式。

程序状态寄存器分为以下几种 -

  • 应用程序状态寄存器 (APSR)

  • 中断程序状态寄存器 (IPSR)

  • 执行程序状态寄存器 (EPSR)

如果标志是 Z - 表示加载的算术运算的结果为零。

如果标志为 N - 表示数学运算的结果为负。

如果标志是 V/O - 表示操作的结果太大而无法放入寄存器。这就是它溢出结果的原因。

如果标志是 P - 表示最后结果的位数是奇数还是偶数。

移位寄存器

移位寄存器是一种具有存储和传输数据能力的时序逻辑电路,由触发器组成,连接方式使一个触发器的输出作为另一个触发器的输入(取决于使用哪种类型的移位寄存器)

有六种类型的移位寄存器如下 -

  • 串行输入 - 串行输出移位寄存器- 它一个接一个地串行输入数据,并以类似的方式输出。

  • 串行输入 - 并行输出移位寄存器- 它以串行方式转换数据并以并行方式输出数据

  • 并行输入 - 串行输出移位寄存器- 它以并行方式获取数据并以串行方式(一个接一个)流出。

  • Parallel in - Parallel Out Shift Register - 输入数据并行输入,输出数据同时并行输出。

  • 双向移位寄存器- 该移位寄存器可以执行向右或向左数据移位,也可以双向执行。

  • 计数器- 它以创建特定模式或序列的方式将其输出作为输入反馈到设备中。

累加器寄存器 (AC)

它用于存储系统产生的结果。当CPU在执行后给出结果时,所有结果都存储到AC寄存器中。

存储器地址寄存器 (MAR)

它用于保存数据和指令的内存地址。它在指令执行阶段访问内存中的数据和指令。例如,CPU 想要在内存中存储一些数据或从内存中读取数据。它将所需内存位置的地址放置在 MAR 中。

程序计数器 (PC)

它包含要执行的下一条指令的地址。换句话说,当微处理器执行当前指令时,它保存下一条指令的内存位置的地址。

文章分类
百科问答
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐