# J.1 引言
<!-- source: p1225 -->

计算机算术有时被视为 CPU 设计中一个专门的分支，但它的重要性不容忽视。1994 年，Intel 的 Pentium 芯片被发现存在除法算法缺陷，这件事让 Intel 深切体会到这一点。这个浮点运算缺陷不仅招致大量负面报道，也给公司造成了巨额损失。Intel 为更换有缺陷的芯片，计提了 3 亿美元的损失。

本附录将研究一些基本的浮点算法，其中包括 Pentium 所采用的除法算法。虽然人们为浮点加速器提出过种类繁多的算法，实际实现通常仍建立在本附录介绍的少数基本算法之上，只是加以改进或变化。除选择加、减、乘、除算法外，计算机体系结构设计者还必须作出其他决定：应实现哪些精度？应如何处理异常？本附录将为这些以及其他决策提供必要的背景知识。

鉴于 IEEE 浮点标准（IEEE 754）正日益得到广泛采用，本附录的浮点讨论几乎完全围绕这一标准展开。浮点运算虽然需要处理指数并移动小数部分，但大部分时间花在用整数算法处理小数部分上；这并不意味着必须与执行整数指令的硬件共用电路。因此，在讨论浮点运算之后，我们还将进一步考察整数算法。

关于计算机算术的良好参考资料，按详尽程度由浅入深排列，包括 Patterson 与 Hennessy [2009] 第 3 章，Hamacher、Vranesic 与 Zaky [1984] 第 7 章，以及 Gosling [1980] 和 Scott [1985]。
