运算器
基本组成与功能
- 运算器是计算机中执行算术运算和逻辑运算的核心部件。
- 主要由算术逻辑单元(ALU)、通用寄存器组(如累加器 ACC、乘商寄存器 MQ、操作数寄存器 X 等)、数据总线、状态寄存器(PSW)和控制电路组成。
- 功能:实现数据的算术运算(加、减、乘、除等)和逻辑运算(与、或、非、异或、移位等)。
组成部分
- 算术逻辑单元 (ALU):运算器的核心部件,负责执行各种算术运算(如加、减、乘、除、移位)和逻辑运算(如与、或、非、异或)。
- 功能:完成二进制数的算术运算、逻辑运算、移位等。
- 结构:通常由高速加法器、逻辑门电路、多路选择器、数据选择器等组成。
- 寄存器组:
- 通用寄存器:用于临时存放操作数、中间结果、地址等,提高 CPU 访问数据的速度。
- 累加器 (AC):一个特殊的通用寄存器,通常用于存放操作数或运算的中间结果,许多算术逻辑运算都涉及累加器。
- 乘商寄存器 (MQ):在乘法运算中存放乘数和部分积,在除法运算中存放商。
- 操作数寄存器 (DR):用于存放从存储器或 I/O 设备中取出的操作数。
- 状态寄存器 / 标志寄存器 (PSW / FR):存放运算结果的特征,如:
- 零标志 (ZF):指示运算结果是否为零。
- 进位标志 (CF):指示最高位是否有进位或借位。
- 溢出标志 (OF):指示运算是否溢出。
- 符号标志 (SF):指示运算结果的符号。
- 其他标志:如奇偶标志、中断允许标志等,用于控制程序流程和系统状态。
- 数据总线:连接运算器内部各部件之间的数据通路,也是运算器与存储器、I/O 设备进行数据交换的通路。
- 控制逻辑:根据指令译码结果和时序信号,产生各种微操作控制信号,控制 ALU、寄存器等部件的协调工作,完成指令规定的操作。
标志寄存器
| 标志 | 无符号数运算 | 有符号数运算 |
|---|
| CF (进位标志) | 指示溢出:加法时最高位有进位,减法时有借位。 | 指示最高位进位/借位:不直接表示溢出,用于多字长运算。 |
| OF (溢出标志) | 不使用。 | 指示溢出:结果超出有符号数表示范围(如正数 + 正数=负数)。 |
| ZF (零标志) | 结果为 0 时置 1。 | 结果为 0 时置 1。 |
| SF (符号标志) | 不使用(最高位是数值的一部分)。 | 指示符号:结果为负数(最高位为 1)时置 1,否则置 0。 |
运算器的数据通路
- 描述数据在运算器内部各部件之间流动的路径。
- 通过数据总线、多路选择器、三态门等连接,实现数据的输入、输出、暂存和运算。
- 例如,操作数从存储器经数据总线进入操作数寄存器 DR,DR 中的数据送入 ALU 参与运算,ALU 的运算结果送入累加器 AC,AC 中的结果再通过数据总线送回存储器。