1. 计算机运算的基本概念
计算机的运算由 算术逻辑单元(ALU) 执行,其核心功能是完成 算术运算 和 逻辑运算。所有运算均基于二进制编码,通过硬件电路实现高速计算。
- 运算对象:二进制数(定点数、浮点数)、逻辑值(0/1)。
- 运算控制:由控制器(CU)解析指令,生成控制信号驱动ALU操作。
2. 算术运算
(1) 定点数运算
- 加法:
- 通过 全加器电路 逐位计算,考虑进位传递(如行波进位加法器、超前进位加法器)。
- 补码表示:统一加减法为加法运算(减法转换为加负数补码)。
- 减法:通过补码转换为加法(如 (A - B = A + (-B)_{补码}))。
- 乘法:
- 原码乘法:符号位单独处理,数值部分通过移位相加实现(如手算乘法模拟)。
- 补码乘法(Booth算法):优化有符号数乘法,减少运算步骤。
- 除法:
- 恢复余数法:通过试商、减除数、调整余数循环操作。
- 不恢复余数法(加减交替法):效率更高,现代计算机普遍采用。
(2) 浮点数运算
- 表示格式:遵循 IEEE 754标准(单精度32位:1位符号+8位阶码+23位尾数)。
- 运算步骤:
- 对阶:对齐两数的阶码(小阶向大阶对齐)。
- 尾数运算:执行加减乘除。
- 规格化:调整尾数和阶码,确保最高有效位为1。
- 舍入处理:就近舍入、截断舍入等。
- 溢出判断:检查阶码是否超出表示范围。
3. 逻辑运算
- 基本逻辑运算:
- 与(AND):全1则1,否则0(如屏蔽特定位)。
- 或(OR):有1则1(如置位特定位)。
- 非(NOT):取反。
- 异或(XOR):不同为1,相同为0(如交换两数无需临时变量)。
- 组合运算:与非(NAND)、或非(NOR)等,由基本门电路组合实现。
- 应用场景:
- 条件判断(如CPU标志寄存器中的零标志、进位标志)。
- 数据加密(位级异或操作)。
- 图形处理(像素混合逻辑运算)。
4. 运算器的硬件实现
(1) ALU核心组件
- 加法器:实现算术运算的基础模块。
- 移位器:支持逻辑移位(补0)和算术移位(保留符号位)。
- 多路选择器(MUX):选择不同运算结果输出。
(2) 数据通路
- 输入输出:通过数据总线接收操作数,输出运算结果至寄存器或存储器。
- 标志寄存器:记录运算状态(如溢出、进位、零结果)。
5. 运算的优化技术
(1) 并行计算
- 位级并行:全加器中多进位链同时计算(如超前进位加法器)。
- 指令级并行:流水线技术提升指令吞吐量(如五级流水线)。
- 数据级并行:SIMD(单指令多数据)加速向量运算(如AVX指令集)。
(2) 硬件加速
- 专用运算单元:
- 乘法器:阵列乘法器、华莱士树优化。
- 浮点运算单元(FPU):独立于ALU,加速科学计算。
- 协处理器:如GPU用于并行矩阵运算(如深度学习训练)。
6. 运算中的关键问题
- 溢出处理:
- 定点数溢出:符号位异常改变(如正+正=负)。
- 浮点数溢出:阶码超出表示范围(上溢/下溢)。
- 精度损失:
- 浮点数尾数截断导致舍入误差(如0.1在二进制中无法精确表示)。
- 延迟与功耗:
- 复杂运算(如除法)需多时钟周期完成,高频率运算增加功耗。
7. 应用场景
- 科学计算:浮点运算模拟气候模型、核物理反应。
- 图形渲染:GPU并行计算顶点变换、光照模型。
- 密码学:模幂运算(RSA)、位操作(AES加密)。
- 人工智能:张量运算(如神经网络前向传播)。
8. 未来发展方向
- 量子运算:利用量子叠加态并行计算(如Shor算法破解加密)。
- 存内计算:在存储器中直接完成运算,减少数据搬运能耗。
- 近似计算:容忍一定误差以提升能效(如边缘AI推理)。