冯诺依曼计算机的运算器¶
概述¶
运算器是冯诺依曼计算机的执行单元,负责执行各种算术运算和逻辑运算。
运算器的功能¶
运算器功能
运算器的主要功能包括:
运算器功能
- 算术运算: 加、减、乘、除
- 逻辑运算: 与、或、非、异或
- 移位操作: 左移、右移
- 比较操作: 等于、大于、小于
运算器的组成¶
graph TB
A[运算器] --> B[算术逻辑单元<br/>ALU]
A --> C[累加器<br/>ACC]
A --> D[通用寄存器]
A --> E[状态寄存器<br/>PSW]
1. 算术逻辑单元(ALU)¶
算术逻辑单元(Arithmetic Logic Unit, ALU)
执行算术和逻辑运算的核心部件。
功能:
- 算术运算
- 逻辑运算
- 移位操作
- 比较操作
2. 累加器(ACC)¶
累加器(Accumulator, ACC)
存放运算结果和操作数。
功能:
- 存放操作数
- 存放运算结果
- 参与运算
3. 通用寄存器¶
通用寄存器
存放操作数和中间结果。
常见寄存器:
- AX, BX, CX, DX (x86)
- R0, R1, R2, ... (RISC)
4. 状态寄存器(PSW)¶
状态寄存器(Program Status Word, PSW)
存放运算结果的状态标志。
常见标志位:
- ZF: 零标志
- SF: 符号标志
- CF: 进位标志
- OF: 溢出标志
运算器的运算类型¶
1. 算术运算¶
算术运算
执行基本的算术运算。
| 运算 | 说明 | 示例 |
|---|---|---|
| 加法 | 两数相加 | ADD AX, BX |
| 减法 | 两数相减 | SUB AX, BX |
| 乘法 | 两数相乘 | MUL AX, BX |
| 除法 | 两数相除 | DIV AX, BX |
2. 逻辑运算¶
逻辑运算
执行逻辑运算。
运算类型:
- AND: 逻辑与
- OR: 逻辑或
- NOT: 逻辑非
- XOR: 逻辑异或
3. 移位操作¶
移位操作
对数据进行移位操作。
移位类型:
- SHL: 左移
- SHR: 逻辑右移
- SAR: 算术右移
- ROL: 循环左移
- ROR: 循环右移