数字电子技术

乘法器与ALU

10 分钟

乘法:加法的「快进键」

CPU 怎么算乘法?回忆小学竖式:13×11,把 13 分别乘每一位再错位相加。二进制里这件事简单得可爱——乘数每一位不是 0 就是 1,乘上 0 得 0,乘上 1 就是原样照抄,「错位」恰好是二进制里的左移一位。所以 1101×1011 就是四行「抄或不抄」的移位相加。硬件乘法器就是一个移位寄存器加一排加法器,每拍加一行。

除法和减法呢?

减法用补码变成加法(第一章讲过);除法反过来做「移位相减」,像竖式除法一样一位位试商。四种运算最后都归到加法器和移位器身上——这就是为什么运算器的核心其实是一块超强的加法器。

ALU:运算器的「瑞士军刀」

把加法器、与或非门、移位器并排摆好,前面加一个数据选择器,用几根「操作码」线决定此刻让哪一路的结果通过——这就是算术逻辑单元 ALU。操作码 000 做加法,001 做与,010 做或……一条「R1 加 R2」的指令,翻译成硬件语言就是:把两个寄存器接到 ALU 输入,操作码拨到加法,时钟沿一到结果写回。

常见误区:CPU 不是「天生会算」,它只会切换开关;「会算」是 ALU 里那堆门电路的排列方式决定的。

练一练:用移位相加的思路手算 5×6(0101×0110),写出三行错位相加的过程。

小纸条

解释为什么 ALU 里加法器是绝对主力。

登录 后可看答案