什么是通用寄存器组织?


一组触发器构成一个寄存器。寄存器是CPU中独特的、高速的存储区域。它们包括实现数据处理的组合电路。在处理之前,信息始终在寄存器中定义。寄存器加快了程序的执行速度。

寄存器在 CPU 操作中实现两个重要的功能,如下所示:

  • 它可以为数据提供临时存储位置。这支持直接实现程序,以便在需要时快速访问数据。
  • 它可以保存 CPU 的状态和有关直接实现程序的数据。

示例 - 下一个程序指令的地址、来自外部设备的信号和错误消息,以及包括不同的数据都保存在寄存器中。

如果 CPU 包含一些寄存器,则一个公共总线可以连接这些寄存器。图中显示了七个 CPU 寄存器的通用组织结构。

CPU 总线系统由控制单元管理。控制单元通过选择 ALU 的功能和系统的组件来明确数据流经算术逻辑单元 (ALU)

考虑 R1 ← R2 + R3,以下是在 CPU 内实现的功能:

MUX A 选择器 (SELA) - 它可以将 R2 放入总线 A。

MUX B 选择器 (SELB) - 它可以将 R3 放入总线 B。

ALU 操作选择器 (OPR) - 它可以选择算术加法 (ADD)。

解码器目标选择器 (SELD) - 它可以将结果传输到 R1。

三态门的复用器由总线执行。14 个二进制选择输入的状态决定了控制字。14 位控制字定义了一个微操作。

寄存器选择字段的编码在表中指定。

寄存器选择字段的编码

二进制代码SELASELBSELD
000输入输入
001R1R1R1
010R2R2R2
011R3R3R3
100R4R4R4
101R5R5R5
110R6R6R6
111R7R7R7

ALU 实现了一些微操作。表中显示了 ALU 实现的一些操作。

ALU 操作的编码

OPR 选择操作符号
00000传输 ATSFA
00001递增 AINCA
00010加 A + BADD
00101减 A - BSUB
00110递减 ADECA
01000A 和 B 相加AND
01010A 和 B 或运算OR
01100A 和 B 异或运算XOR
01110A 的补码COMA
10000右移 ASHRA
11000左移 ASHLA

表中显示了一些 ALU 微操作。

ALU 微操作

微操作SELASELBSELDOPR控制字
R1 ← R2 – R3R2R3R1SUB01001100100101
R4 ← R4 ∨ R5R4R5R4OR10010110001010
R6 ← R6 + R1-R6R1INCA11000011000001
R7 ← R1R1-R7TSFA00100011100000
输出 ← R2R2TSFA01000000000000
输出 ← 输入输入-TSFA00000000000000
R4 ← shl R4R4-R4SHLA10000010011000
R5 ← 0R5R5R5XOR10110110101100

更新于: 2023年10月31日

71K+ 次查看

开启你的职业生涯

通过完成课程获得认证

立即开始
广告