揭秘航天飞机I/O处理器的电路板
航天飞机的五台通用计算机由两个60磅的铝合金机箱组成:右侧为CPU(32位处理器,每秒执行42万条指令),左侧为I/O处理器(IOP)。IOP不仅是外设,更是一台可编程计算机,其架构独特——作为最早的多线程计算机之一,它在单个物理处理器上实现了25个虚拟处理器(使用两套完全不同的指令集)。本文详细解析了IOP的两块电路板:网络接口板(MIA)将模拟信号转换为数字信号,使用曼彻斯特编码(1940年代发明,至今应用于以太网等场景);PROM板则存储微代码,采用熔丝式可编程只读存储器芯片,通过烧断熔丝来写入数据。
背景速读
- 这篇文章详细拆解了美国航天飞机(Space Shuttle)上使用的 I/O 处理器(IOP)的两块电路板。航天飞机共有五台通用计算机,每台由 CPU 和 IOP 两个重约 60 磅的铝盒组成。IOP 的作用是连接 CPU 与航天飞机各系统,处理全部输入输出任务。
- IOP 设计极为特殊:它是最早的多线程计算机之一,用一个物理处理器运行 25 个虚拟处理器(分两类:BCE 处理网络端口、MSC 执行管理程序),且两类处理器拥有完全不同的指令集。这种"桶式处理器"架构源于 CDC 6600 超级计算机。
- IOP 的设计者 Peter Kogge 是并行计算专家,也是计算机架构中著名的 Kogge-Stone 加法器的发明人。他当时任职于 IBM 联邦系统部,该部门负责航天飞机计算机的研制。
- 航天飞机的网络采用曼彻斯特编码(Manchester encoding),这种编码 1940 年代由曼彻斯特大学团队发明,可有效解决长串二进制数据传输中的比特同步和直流分量问题,至今仍用于以太网、RFID 等。
- 文章展示的两块板卡:一块是网络接口板(MIA),负责曼彻斯特编码转换和信号收发,使用了定制 Motorola 芯片和大量 TTL 逻辑芯片;另一块是 PROM 板,存储 IOP 的微指令,每个比特由芯片内的一根微小金属保险丝定义(烧断表示 1)。这些板卡属于 IBM 的 System/4 Pi 航空电子计算机系列,以"页"(page)为结构单位——两块电路板夹一块金属散热板。
- 这批板卡通过拍卖获得,属于实际飞行的航天飞机硬件。研究它们有助于理解早期容错航空计算机的极端设计思路:在微处理器普及之前,靠大量分立芯片和独创架构实现可靠的高性能计算。