| 项目 | 值 |
|---|---|
| 功能 | 算术运算 + 逻辑运算 |
| 74181 | 4 位 ALU 芯片,16 种算术/逻辑运算 |
| 进位链 | 串行进位 / 并行进位(先行进位) |
ALU(Arithmetic Logic Unit)是 CPU 的核心运算部件,负责执行算术运算(加减乘除)和逻辑运算(与或非异或)。ALU 的设计直接影响 CPU 的性能。
输入:操作数A、操作数B、功能选择信号(ALUop)
输出:运算结果F、标志位(CF/ZF/OF/SF)
| 标志位 | 名称 | 含义 |
|---|---|---|
| CF | 进位/借位标志 | 无符号运算溢出 |
| ZF | 零标志 | 结果为 0 |
| OF | 溢出标志 | 有符号运算溢出 |
| SF | 符号标志 | 结果为负(最高位为 1) |
输入:Ai, Bi, Ci(进位输入)
输出:Si(和), Ci+1(进位输出)
Si = Ai ⊕ Bi ⊕ Ci
Ci+1 = Ai·Bi + (Ai⊕Bi)·Ci
C0 → FA0 → C1 → FA1 → C2 → ... → Cn
特点:进位逐级传递,速度慢
延迟:O(n),n为位数
C1 = G0 + P0·C0
C2 = G1 + P1·C1 = G1 + P1·G0 + P1·P0·C0
C3 = G2 + P2·C2 = G2 + P2·G1 + P2·P1·G0 + P2·P1·P0·C0
...
所有进位可以同时计算!延迟仅O(1)(理论上)
A总线 ──→ ┌────────┐
│ ALU │ ──→ 结果总线
B总线 ──→ └────────┘
↑
功能选择
浮点加法器:对阶→加法→规格化→舍入
浮点乘法器:指数相加,尾数相乘→规格化→舍入
浮点除法器:指数相减,尾数相除→规格化→舍入
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。