Ken Shirriff

8 篇内容

技术文章Ken Shirriff

Reverse engineering a vintage diode-transistor logic chip

文章记录作者对一枚无法识别的老式集成电路进行开盖、显微观察和电路反推,确认它是1965年Signetics 600系列的ST680A四NAND门DTL芯片。作者先说明塑料DIP封装与开盖清洗过程,再根据掺杂区形态识别NPN晶体管、二极管和16个电阻,并推测被酸蚀掉的金属互连。随后结合数据手册分析DTL NAND门在两输入为高或任一输入为低时的导通路径,解释输入二极管隔离、中间二极管抬升阈值以及电阻上拉带来的功耗与驱动能力取舍。文章还发现同一硅片可通过不同金属层实现670A三NAND和616A双NAND,体现早期半定制思路,并补充Signetics与Fairchild的历史。局限是金属层缺失导致互连需推断,后找到数据手册才验证。

推荐收录,因为文章以可复核的显微照片、版图推演和电路路径解释支撑结论,并给出门级功耗/驱动能力取舍及同片多产品半定制证据。适合硬件考古、数字电路和芯片逆向读者,其从物理版图恢复逻辑功能的方法可迁移;主要风险是金属层被蚀掉,部分互连为推测且后续才由数据手册确认。

技术文章Ken Shirriff

Inside the Intel 8087 chip: floating-point addition and subtraction

文章通过芯片开盖取像和微码反汇编,解析 Intel 8087 协处理器如何实现浮点加减法。作者介绍 80 位临时实数、69 位加法器、移位器和前导零计数电路,并跟踪公共入口到加减法子程序的控制流,说明指数对齐、无符号加减、规格化、舍入位与指数调整。文中还梳理 ±0、无穷、NaN、denormal 及仿射/射影无穷等特殊值分支。结论是 8087 以复杂微码和专用电路换取精度与速度,并影响 IEEE-754,但 unnormal、pseudo-zero 等设计后被舍弃。读者需具备浮点表示与微码基础。

推荐收录:文章基于真实芯片取像和微码清单逐条解释加减法数据通路、控制流与特殊值分支,证据密度高,不是概览式科普。它适合体系结构、硬件逆向和浮点算法实现方向的读者,可迁移的是从微码和电路约束理解浮点语义的方法;主要门槛是读者需熟悉浮点表示和微码概念。

技术文章Ken Shirriff

Inside a 1980s filter chip that uses switched capacitors

文章由 Ken Shirriff 对 Harris F1-10-5/HF-10 芯片进行显微逆向分析,确认它是 National MF10 开关电容滤波器的兼容版本。作者通过裸片照片和去金属层处理,识别出 72 个多晶硅电容、CMOS 开关、三个运放、非重叠时钟发生器和三值输入控制等模块。核心方法是用开关电容等效电阻,并用 8:1/16:1 电容比实现稳定滤波频率;状态变量滤波器提供低通、带通和高通输出。文章还讨论时钟噪声隔离、低功耗模式、50/100 频率比来源和制造匹配精度,边界是偏模拟 IC 逆向与历史器件,不涉及现代数字滤波器实现。

推荐收录,因为文章以完整裸片分析、反向工程原理图和电路推演,展示了开关电容滤波器从电容匹配、CMOS 开关、运放积分器到非重叠时钟的工程细节。适合芯片逆向、模拟/混合信号设计和硬件历史读者,其电容比例匹配、噪声隔离和版图分析思路可迁移到其他 IC 设计或逆向工作。

技术文章Ken Shirriff

Reverse-engineering the vintage Intel 8087's tangent algorithm: more than CORDIC

文章围绕 Intel 8087 浮点协处理器的 FPTAN 正切指令,作者通过开盖显微成像、微码 ROM 逆向和数值分析,解释其如何把 CORDIC 与 Padé 有理逼近结合起来。CORDIC 用 arctan(2^-n) 特角序列与移位加减实现旋转,但 16 步仅约 16 位精度;8087 先用 CORDIC 伪除法确定 16 个旋转决策位,再把剩余小角度交给 3x/(3-x^2) 有理逼近,最后通过伪乘法逆序应用旋转得到 X、Y。文中还给出微码级实现、隐式定点指数缩放、移位寄存器、SQUARE 子程序及 0.95 输入的分步示例,并讨论参数范围、精度异常和性能占比。结论是这种混合算法以较少硬件兼顾速度与 64 位精度,而 Pentium 后转向多项式是因为快速乘法器已普及。其边界在于历史硬件逆向,并非现代浮点库实现指南。

推荐收录。文章以开盖显微照片、微码 ROM 反汇编和逐步数值表为直接证据,完整还原 FPTAN 的 CORDIC 伪除法、有理逼近与伪乘法流程,技术细节可验证且远超一般科普。适合计算机体系结构、浮点运算、逆向工程与数值算法读者,可迁移价值在于混合算法设计、隐式定点指数管理和微码性能分析。

技术文章Ken Shirriff

Microcode in Intel's 8087 floating-point chip: the scale instruction

文章深入解析 Intel 8087 浮点协处理器 FSCALE 指令的微码实现。作者结合芯片裸片显微图像与 Opcode Collective 反汇编出的 1648 条微指令,说明 FSCALE 虽只是按 2 的幂缩放浮点数,却需要 140 多条微指令和三级子程序处理零、空栈、NaN、无穷、非规格化数等边界情况。核心流程包括把标度参数转为整数、用 0x403e 计算右移位数、更新指数,并调用子程序处理上下溢、生成 denorm 和按精度舍入。文章还解释 guard/round/sticky 舍入位、指数转换器及未公开的 CC1 条件码副作用。结论是 8087 以复杂微码换取数值正确性,但部分行为仍属设计取舍或未完全解释。

推荐收录。文章提供完整的 FSCALE 微码清单、芯片功能块定位和子程序控制流分析,证据密度高,展示了从浮点转整数、特殊值处理到 denorm 与舍入的完整硬件实现路径。对 CPU 架构、微码、浮点数值和逆向工程读者有长期参考价值;但它假设读者具备一定体系结构与浮点格式基础,部分微码命名和未文档行为仍需后续验证。

技术文章Ken Shirriff

Cores in space: The core memory module from a 1980 Spacelab computer

本文详细分析了1980年Spacelab航天飞机实验室所用Mitra 125 MS计算机的磁芯内存模块。文章先阐述磁芯存储基本原理,包括磁滞、重合电流寻址、感应/禁止线、二极管矩阵等,并回顾其发展历史。随后重点拆解该机的四层磁芯板,说明其采用2½D架构,通过每位独立X驱动省去禁止线,实现128 KB容量。作者以大量微距照片追踪各类信号线的实际布线,并分析防噪的交叉设计。最后指出磁芯因非易失和抗辐射而在航天领域沿用至1980年代,终被半导体存储取代。文章兼具原理讲解、系统逆向分析与历史脉络,极具参考价值。

文章来自资深逆向工程专家Ken Shirriff,基于对实物模块的详细拆解,提供了大量原始照片和具体布线的技术分析,证据充分。适合计算机体系结构、存储技术、航天计算及硬件逆向工程爱好者和研究者阅读。其可迁移价值在于理解磁芯存储的工程取舍和2½D架构的设计思路,同时为现代存储系统提供历史参照。

工程实践Ken Shirriff

Energizing a vacuum-tube flip-flop module from a 1948 IBM system

文章对IBM 604(1948)电子计算穿孔机中的TR-3触发(触发器)模块进行了逆向工程和实际演示。作者从真空管三极管的工作原理讲起,详细剖析了反相器电路和交叉耦合反相器构成的触发器,解释了电平移位和脉冲输入的实现,并展示了模块如何通过两个稳定状态存储一位信息。文中还结合历史脉络,说明该触发器如何用于十进制计数器(BCD编码)并为早期计算机的状态机提供基础。文章边界在于它聚焦于历史硬件,其高电压设计和模拟敏感性与现代数字电路有较大差异。

本文通过实际逆向工程和上电演示,阐释了真空管触发器的电路原理与历史意义,为理解早期计算机设计提供了第一手资料。适合对计算机历史、电子学基础或反向工程感兴趣的读者,其中的电平移位、交叉耦合和稳定条件分析可迁移到对时序电路基本原理的教学中。

技术文章Ken Shirriff

Examining circuit boards from the Space Shuttle's I/O Processor

这篇文章以作者实物拆解的两块 Space Shuttle I/O Processor 电路页为线索,系统梳理了航天飞机计算机的 I/O 架构。作者先说明 IOP 并非普通外设,而是连接 CPU 与 24 条数据总线的独立可编程处理器,采用 25 个虚拟处理器的 barrel processor 设计,由 BCE 和 MSC 两套完全不同的指令集分工完成网络搬运与调度。随后文章重点分析了 MIA 网络接口页的模拟前端、变压器隔离、Manchester 编码/解码、串并转换与校验逻辑,以及 PROM 页如何用熔丝 ROM 存放 72 位微指令并驱动物理处理器。文中还比较了 IBM 4 Pi 标准页与 IOP 专用页的尺寸、连接器、散热和封装密度差异,解释了为何航天级板卡会大量使用 hybrid module、flat-pack 与高可靠器件。文章结论指出,后来 AP-101S 将 CPU 与 IOP 合并以提升性能并减重,但原始 IOP 的架构与物理实现仍是理解早期航天计算机的重要样本;部分芯片编号和某些旁证板卡归属仍带有推断成分。

收录依据很明确:文章基于实物电路板、部件编号和官方文档,完整解释了航天飞机 IOP 的架构、总线协议、微码与板级实现,不是泛泛的历史回顾。适合做硬件逆向、古典计算机体系结构和高可靠系统设计的参考,尤其能迁移到“从板级结构反推系统工作方式”的分析方法。