每一刻,都值得记录
← 返回首页

深入英特尔 8087 芯片内部:浮点加法与减法

文章封面

深入英特尔 8087 芯片内部:浮点加法与减法

Inside the Intel 8087 chip: floating-point addition and subtraction — righto.com · 6 小时前 · ⚙️ 工程

深入英特尔 8087 芯片内部:浮点加法与减法

知名芯片拆解博主 Ken Shirriff 在其博客 righto.com 发文,深入剖析了 1980 年英特尔推出的 8087 浮点协处理器如何实现浮点加法与减法运算。8087 是让 IBM PC 及其他系统浮点运算速度大幅提升的关键芯片,除了正切、平方根、对数这类高级运算,它最基础的工作就是加减法。与 8086 处理器相比,8087 把加法速度提高了近 100 倍,复杂运算的加速幅度更大。为了搞清芯片内部结构,作者用凿子打开芯片封装,在显微镜下拍摄出高分辨率裸片照片。从照片可以看到,裸片中央的大矩形区域是微码 ROM,存放着 1648 条控制芯片运行的微指令;裸片下半部分是数据通路,负责对 80 位数值执行浮点计算。进一步放大后,可以看清加减法所依赖的各个功能模块:位于中心的是整数加法器,一个操作数来自 B 寄存器,另一个来自临时寄存器或栈寄存器等部件,加法结果存入 sum 寄存器。数据通路中占据大量面积的是移位器,其电路设计允许数值在任意位数上快速左右移动,这是浮点运算对齐操作数的核心;配套的前导零计数电路则负责统计数值左侧零位或零字节的数量,以便移位器将其移除。文章还详细讲解了浮点加减法实现中针对无穷大等特殊值的大量特殊情况处理,通过微码与电路两个层面完整还原了这颗 45 年前芯片的运算原理。

核心信息

  • 8087 于 1980 年推出,是 IBM PC 等系统的浮点协处理器,相比 8086 主处理器,它将加法运算加速了近 100 倍,正切、平方根、对数等复杂运算的提速幅度更为惊人。
  • 作者通过物理开盖加显微镜拍摄获得高分辨率裸片图像:中央的微码 ROM 存有 1648 条微指令,下半部分数据通路负责 80 位浮点数值的运算,两个区域共同构成芯片的控制与计算核心。
  • 加法运算的关键部件是位于数据通路中心的整数加法器:一个操作数由 B 寄存器提供,另一个来自临时寄存器或栈寄存器,计算结果写入 sum 寄存器,整条路径清晰可循。
  • 移位器占据裸片上可观面积,其电路支持数值按任意位数快速左右移动,用于浮点数的对阶操作;前导零电路负责统计数值左侧零位或零字节的数量,配合移位完成规格化处理。

💡 为什么值得读: 它把一颗 1980 年芯片的浮点加减法从裸片照片、微码到电路逐层拆开讲透,是理解现代浮点硬件设计逻辑不可多得的逆向工程范本。

✍️ 小编看法: 在人人谈加速器集群的年代,回头看 45 年前一颗靠微码驱动的浮点协处理器,反而能看清一些今天被喧嚣掩盖的常识。首先,8087 把加法提速近 100 倍这件事提醒我们:所谓性能跃迁,往往来自把一种运算从软件模拟变成专用硬件路径,这个逻辑从 1980 年到今天的矩阵引擎从未改变,只是运算对象换了。其次,这篇文章最珍贵的是方法论——用凿子开盖、显微镜拍照、逐个模块逆向还原,这种把电路、微码和算法三层对应起来的功夫,在当下高度依赖官方文档的环境里几乎是失传的手艺。对今天的工程师而言,读懂移位器为什么占据大片裸片面积,比背诵任何性能口号都更有价值:浮点对阶和规格化对硬件面积的开销,直接解释了为什么现代处理器要设计 FMA 融合指令来绕开这些步骤。还有一个容易被忽略的历史细节:文章强调的针对无穷大等特殊值的大量分支处理,恰恰说明 IEEE 754 这类标准的真正成本不在正常路径,而在边界情况的完备性——今天很多自研加速器在特殊值处理上偷工减料,正是重蹈覆辙。下一步值得期待的是作者对这个系列后续文章的展开,比如乘除法与超越函数的微码实现,对照现代 GPU 上同样功能的电路规模,其演进幅度本身就是一部浓缩的硬件史。

🏷️ Intel 8087, floating-point, hardware, reverse engineering

本文由 AI 辅助生成,内容为原文摘要与编辑点评,原文版权归原作者所有,欢迎点击上方链接阅读完整内容。


感谢读到这里。

留下一点回声

MY LITTLE COLLECTION

本地收藏夹

仅保存在当前浏览器,不会同步到其他设备。清理网站数据会删除收藏与阅读记忆。

QUICK ACCESS · 快捷指令

↑ ↓ 选择 · Enter 执行 · Esc 关闭

MAKE YOURSELF AT HOME

阅读与场景

阅读外观

应用于文章和独立页面,偏好仅保存在当前浏览器。

季节场景

系统减少动态效果、后台标签页及沉浸阅读时自动暂停。

本地数据备份

备份收藏、阅读进度和外观偏好。文件不上传服务器,仅支持同站点备份;导入时合并数据。