运算器

基本组成与功能

  • 运算器是计算机中执行算术运算和逻辑运算的核心部件。
  • 主要由算术逻辑单元(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 中的结果再通过数据总线送回存储器。