Ken Shirriff

RSS: https://www.righto.com/feeds/posts/default?alt=rss
Ken Shirriff 的计算机历史博客,关于复古计算机修复、芯片逆向工程与计算机考古。

逆向工程 Intel 8087 的正切算法:不只是 CORDIC

Ken Shirriff 继续拆解 Intel 8087 FPU,这次聚焦正切指令 FPTAN 的算法与微码实现。他撬开芯片、显微拍照定位数据通路与微码 ROM,说明 8087 用 16 步 CORDIC 得到约 16 位精度后,对残余小角度再用 Padé 有理近似 3x/(3−x²) 补齐到 64 位精度,而且因为 FPTAN 只返回分子/分母而不直接除,所以除法“免费”。 文中回顾 CORDIC 1956 年 Jack Volder 为 B-58 轰炸机导航计算机发明的历史,用伪除/伪乘两步拆解算法,并逐行讲解 16 位微指令与临时寄存器(tmpA/B/C,含 guard/round/sticky)如何协作。 一手拆解 + 算法细节 + 微码注释,retro-cpu 与架构读者讨论入口多(为何不做除法、Padé vs Taylor、CORDIC 收敛)。
评论点赞收藏4 天前

逆向工程复古 Intel 8087 的正切算法:不只是 CORDIC

Ken Shirriff 继续深挖 Intel 8087 浮点芯片,这次拆解其正切指令 FPTAN 的底层算法。8087 在 1980 年推出后大幅加速了 IBM PC 等系统的浮点运算:一条正切运算只需 90 微秒,而 8086 处理要 13,000 微秒。 作者通过电路和微代码分析指出,8087 并非单纯使用 CORDIC,而是将 CORDIC 与多项式逼近结合,同时获得高精度与高性能。
评论点赞收藏4 天前

Hacker News 排名机制揭秘:计分公式、争议惩罚与隐形降权(2013)

Ken Shirriff 通过连续多天抓取 HN 前 60 名文章并解析 Arc 开源代码,还原了 HN 排名系统的真实运作方式。核心发现:公开的计分公式基本准确,但实际排名存在大量"隐形惩罚"。 标题含 NSA 的文章会被自动降权约 0.4 倍;许多主流网站(reddit、theverge、medium 等)有 0.25–0.8 的域名惩罚;当评论数超过投票数且达到 40 条时触发"争议惩罚"(指数疑似为 3 而非公开代码中的 2),文章会瞬间从第 5 名跌到第 22 名甚至直接消失。 数据显示约 20% 的首屏文章被施加了某种惩罚,很多惩罚集中在早上 9 点(推测是管理员上线时段)。文章还附带了完整的 Arc 排名源码、惩罚因子的数学推导、原始分数曲线图,以及 11 月 11 日首屏所有被罚文章的清单。 对关心推荐算法透明度和 HN 社区机制的技术读者有直接参考价值,尤其是"为什么热门帖子突然消失"这个社区长期存在的疑问得到了实证解答。
评论点赞收藏10 天前

Intel 8087 浮点芯片中的标度指令:微码级逆向解析

Ken Shirriff 逆向工程了 Intel 8087 浮点协处理器的标度(fscale)指令微码。1980年推出的 8087 因兼容 IBM PC 且计算速度提升约100倍成为主流浮点标准,其内部指令由复杂微码实现。 文章深入分析了 fscale 指令的具体微码逻辑——将 x2 的幂次乘到操作数上,涉及指数移位、尾数处理等底层细节,并配有微码反编译结果和芯片硅片照片。
评论点赞收藏18 天前

太空中的磁芯:1980年Spacelab计算机的内存模块拆解

Ken Shirriff 拆解了1980年Spacelab航天实验室计算机的磁芯内存模块。这台法国造Mitra 125 MS小型机使用128KB磁芯存储而非硅内存,是欧洲航天项目的硬件选择。 文章配有核心堆栈实物图和Spacelab在航天飞机货舱中的布局示意图,详细展示了磁芯内存的物理结构和工作原理。
评论点赞收藏31 天前

拆解 1970 年代 PROM 芯片:数据存在微观保险丝里

Ken Shirriff 拆解 1970 年代 MMI 5300 PROM 芯片,用显微照片展示 1024 位数据如何通过镍铬合金微保险丝存储—— blown fuse 只产生约 700nm 的裂纹而非完全汽化。 文章详解地址译码、编程高压脉冲机制、测试用额外行列保险丝的设计动机,以及同一硅片布局如何适配不同型号。1971 年售价 70 美元存 128 字节,对比今天 20 美元 128GB U 盘,容量差十亿倍。
评论点赞收藏60 天前

为1948年IBM系统的真空管触发器模块通电

作者逆向工程并通电运行了1948年IBM 604的TR-3真空管触发器模块。该模块用两个交叉耦合的三极管构成双稳态电路,实现1位数据存储。 实测发现电路对供电电压非常敏感,调压不当会导致振荡或卡死。IBM后来在650计算机中改用二极管逻辑实现触发器。现代计算机中的flip-flop即源于此,但已从真空管变为晶体管。
评论点赞收藏61 天前

苹果iPhone充电器拆解:微小昂贵包裹中的高品质

深度拆解2012款苹果iPhone充电头,揭示其内部复杂的反激式开关电源设计。文章详细分析了初级与次级电路、隔离安全措施及变压器内部结构,指出苹果在EMI滤波和用料上远超三星等竞品。 同时对比了2008年召回后的插头加固改进,并估算了苹果惊人的利润空间。适合电子工程师、硬件爱好者及对供应链成本感兴趣的读者。
评论点赞收藏84 天前

检查航天飞机输入输出处理器的电路板

<p>航天飞机的五1通用计算机在每次飞行中都发挥了关键作用:控制 发动机,监控数千个传感器,向宇航员显示数据,并导航 穿梭机。 每台计算机由两个60磅重的铝合金盒子组成:右边的盒子是中央处理器,一个 32位处理器,每秒执行420,000条指令。 这些计算机设计于微处理器普及之前,因此处理器本身 由多块电路板和简单芯片组成,使用磁芯存储器而非DRAM芯片。</p><p></p><p>class=“cite”&gt;航天飞机IOP和CPU(AP-101B)。 照片由。</p><p>左边的盒子是I/O处理器(IOP):连接CPU与航天飞机其他部分的连接。 它主要实现了计算机的输入/输出功能 24个高速网络将计算机与航天飞机的系统和传感器连接起来。 但IOP不仅仅是一个外围项目;它是一台独立的可编程计算机, 比主CPU还复杂。 IOP采用了一种不同寻常的架构:它是最早的多线程计算机之一,实现了25个虚拟处理器(包括 两个完全不同的指令集)运行在一个物理处理器上。</p><p>我从I/O处理器获得了两张电路卡,2每个矩形尺寸为9英寸×3英寸 里面满是小芯片和其他部件。 在IBM的术语中,每张卡片被称为“页面”(记住这个词)。 顶部页面是一个网络接口,提供四个网络连接, 每个都能处理100万比特每秒。(IOP包含六张此类卡片,分别为…</p>
评论点赞收藏94 天前

Intel 8087 浮点芯片核心的加法器电路解析

本文深入逆向工程了 Intel 8087 浮点协处理器的核心部件——68位加法器。作者通过显微镜芯片照片和电路图,详细解释了其如何利用 Manchester 进位链和进位跳过技术,在有限的 NMOS 晶体管资源下实现高速运算。 文章涵盖了电路结构、硅片物理布局、舍入位处理及与乘法/除法单元的交互,是硬件底层原理的经典深度技术文章。
评论点赞收藏109 天前

苹果并未革新电源供应;真正起作用的是新型晶体管

文章通过考证指出,苹果II代电脑采用的开关电源并非革命性创新。早在1977年苹果II发布前,开关电源技术已在航空航天和大型机领域广泛应用,其普及主要得益于半导体晶体管技术的进步。 作者详细梳理了开关电源的发展历史,并分析了Rod Holt的设计,认为其只是利用了当时已有的离散元件技术,并非现代开关电源的起源,Steve Jobs的说法存在夸大。
评论点赞收藏111 天前

给一台1948年IBM 604电子计算器的闸流管模块通电

亲手给1948年IBM 604电子计算器上的闸流管模块通电,看它点亮灯泡。作者拆解并反向工程了这款可插拔模块,详细解释闸流管(thyratron)的原理:内部充有微量氙气,一旦导通无法用栅极关断,必须切断电源才能复位。 文章梳理了IBM 604的历史定位——介于机电制表机与电子计算机之间,虽非存储程序计算机,但凭借真空管的高速和可插拔模块的创新设计,月租仅550美元,产量超5600台,成为1950年代最成功的商用计算设备之一,并为IBM后来的真空管计算机奠定了基础。 包含实际电路搭建过程、反向工程原理图、灯泡控制视频演示,以及翔实的参考资料和引脚定义。作者Ken Shirriff以亲身动手实验的方式呈现第一手技术考古,信息密度高、可复用性强。
评论点赞收藏115 天前

Intel 8087浮点协处理器微码探秘:寄存器交换操作

<p>1980年,英特尔推出了8087浮点芯片——一款协处理器,可将浮点运算速度提升至多100倍。<br>这款芯片极具影响力,时至今日,大多数处理器都采用了8087所引入的浮点标准。</p><p>8087采用复杂的算法,能够精确计算平方根、正切和指数等函数。<br>这些算法被嵌入芯片内部,以名为微代码的低级代码形式实现。<br>我隶属于一个名为“Opcode Collective”的团体……</p>
评论点赞收藏123 天前

对1980年Spacelab计算机电路进行逆向工程

本文作者对1980年代用于控制Spacelab实验的法国制造Mitra 125 MS微型计算机中的处理器电路板进行了逆向工程。与现代计算机不同,这款16位处理器由多块芯片板构成,展示了早期计算机硬件的独特构造和原理。 文章深入分析了电路板的结构和功能,适合对计算机历史和技术感兴趣的读者。
评论点赞收藏130 天前

B-52轰炸机星敏感器内部的机电式角度计算机

<p>在GPS出现之前,飞机是如何进行导航的?<br>一种重要的技术是天体导航:根据恒星、行星或太阳的位置来导航。<br>虽然天体导航精度高、不易被干扰且无需任何广播基础设施,但手动执行这一过程既困难又耗时。<br>20世纪60年代初,人们为B-52轰炸机开发了一套自动化系统,能够自动追踪恒星并计算导航信息。<br>当时,数字计算机并不适合……</p>
评论点赞收藏165 天前

IBM的4Pi航天计算机兴衰史:图解历史

本文讲述了IBM的4Pi航天计算机(Model AP-101B)在航天任务中的历史,特别是它们在美国航天飞机首次飞行中的作用。文章通过详实的资料,展示了这些计算机的设计、应用以及它们在航天史上的重要性。
评论点赞收藏185 天前

IBM、声波延迟线与80×24显示器历史

本文详细探讨了IBM在终端市场的主导地位如何促使80×24显示尺寸成为行业标准。文章从IBM 3270终端开始,分析了CRT技术的发展和市场力量对终端屏幕尺寸标准化的影响,包括IBM 2260和3270终端的技术细节、存储方式(如声波延迟线)以及为何这些技术最终导致80×24尺寸的普及。 作者还对比了其他理论,指出技术标准化的关键因素是市场而非技术限制。
评论点赞收藏199 天前

雅马哈DX7逆向工程:揭秘log-sine ROM(第三部分)

本文是Ken Shirriff关于雅马哈DX7合成器逆向工程的系列文章第三篇,聚焦于其内部log-sine ROM芯片的工作原理。作者通过高分辨率芯片显微照片和化学蚀刻技术,揭示了ROM的物理结构和数据编码方式。 文章详细介绍了delta编码技术如何减少存储空间,并通过加法器和逻辑电路实现对数正弦值的快速计算。文中还包含了对ROM布局、电路设计以及数值精度的深入分析,为理解80年代数字合成器的硬件实现提供了宝贵的技术细节。
评论点赞收藏222 天前

英特尔8087浮点芯片中的指令解码

<p>在1980年代,如果你想让IBM PC运行更快,可以购买<br>Intel 8087浮点协处理器芯片。<br>凭借这款芯片、CAD软件、电子表格、飞行模拟器及其他程序<br>速度快得多。<br>8087芯片当然可以加、减、乘、除,但它确实可以<br>还计算<br>超越函数如切线和对数,以及<br>常数如π。<br>总计,8087 为计算机增加了 62 条新指令......</p>
评论点赞收藏228 天前

Intel 8087浮点芯片微码的条件

In the 1980s, if you wanted your computer to do floating-point calculations faster, you could buy the Intel 8087 floating-point coprocessor chip. Plugging it into your IBM PC would make operations up ...
评论点赞收藏274 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。