一台航天飞机 AP-101B 通用计算机,不只是一个 CPU 箱子。

它由两个约 60 磅的铝合金机箱组成:一个是 CPU,一个是 I/O Processor。CPU 是 32 位,约每秒执行 42 万条指令;IOP 则连接航天飞机系统和传感器,主要管理 24 条高速数据总线。

Ken Shirriff 这次拆解的两块板子,正好打在这个反常点上:很多人会把 IOP 想成“航天飞机的网卡”,但它更接近一台藏在主计算机旁边的可编程 I/O 计算机。

这才是这次拆解有意思的地方。不是老硬件怀旧,而是看见一个高可靠系统怎样把通信、同步、校验、错误报告和冗余控制,从主 CPU 身上拆出去。

CPU 算飞行任务,IOP 管航天飞机怎么接进来

航天飞机共有五台通用计算机,承担发动机控制、导航、传感器监控和座舱显示等任务。每台 AP-101B 里,CPU 和 IOP 是分工关系,不是主机和普通外设的关系。

CPU 负责执行通用计算指令。IOP 负责让计算机和航天飞机上的系统、传感器、数据总线持续通信。

这个分工很像今天嵌入式系统里的“主处理器 + 专用通信控制器”。但实现方式完全不同。AP-101B 属于前微处理器普及时期的工程产物,用的是多块电路板、简单芯片和磁芯存储,不是现代微处理器加 DRAM 的路线。

对比项AP-101B CPUAP-101B IOP
主要任务执行通用计算指令管理输入输出和数据总线
已知指标32 位,约 42 万指令/秒主要管理 24 条高速数据总线
系统角色主计算单元独立可编程 I/O 系统
容易误读只看 CPU 指标误当成被动网卡或接口板

对计算机体系结构读者来说,这里最该改的阅读姿势是:不要只盯 CPU。要把 IOP 当成执行模型的一部分看。

对做航天、嵌入式或高可靠系统的人来说,动作更具体:做架构评审时,通信控制、校验、同步和错误报告不能只算“驱动功能”。它们可能需要独立的计算路径,甚至需要自己的指令和微码。

这条线很老,但不落伍。高可靠系统里,I/O 往往不是边角料。

MIA 页不是以太网卡,它在支撑 24 条实时数据总线

拆解中的 MIA,指 Multiplexer Interface Adapter。IOP 内有六块 MIA 页,每块支持四个网络接口,合计覆盖 24 条数据总线。

MIA 页不是单纯插口板。它上面既有模拟收发电路,也有数字逻辑。它要处理变压器隔离、Manchester 编码/解码、同步、奇偶校验和错误报告。

这几个功能放在一起看,味道就变了。它不是“把信号送进去”这么简单,而是在噪声、距离、冗余和实时约束下,尽量保证数据能被正确接收、识别和报告。

这里也要守住一个限制:不能把航天飞机的数据总线直接等同现代以太网。

Manchester 编码后来也出现在以太网等系统中,但编码相似不代表协议相同。航天飞机数据总线服务的是飞控和航电场景,目标不是办公室局域网里的通用连接,而是可预测、可校验、可冗余。

项目航天飞机 IOP/MIA 数据总线现代以太网类比的限制
编码使用 Manchester 编码/解码编码相似,不等于协议相同
目标实时通信、冗余路径、错误报告不能按普通局域网理解
硬件角色MIA 页承担收发、隔离、同步、校验不是被动接口或普通网卡
约束噪声、距离、可靠性、实时性带宽不是唯一指标

这也解释了为什么约 1 Mbit/s 的接口不能用今天的带宽眼光嘲笑。放在飞控环境里,更关键的问题是:数据能不能按时到、错了能不能发现、路径切换时系统能不能继续工作。

这个判断对工程读者有实际意义。遇到高可靠 I/O 设计时,不该只问“速率够不够”。还要问同步在哪里做,错误在哪里报,冗余路径由谁管理,主 CPU 被占用时系统是否还能维持确定性。

PROM 微码页说明:IOP 的行为是被低层代码定义的

IBM 把这种双面电路板称为 page。标准 System/4 Pi page 约 8 英寸宽,使用 98 针连接器;IOP page 更宽,约 9 英寸,能放下更多集成电路,也使用更多针脚的连接器。

这一英寸很有信息量。它不是外形小修小补,而是 I/O 复杂度挤出来的空间。

Ken 拆到的另一块板,是 PROM 微码页。板上排列着熔丝式 PROM 芯片,用来存储 IOP 的微码。

微码定义的是更底层的指令行为。换句话说,IOP 不只是把网络数据搬来搬去;它的指令如何执行,本身由这些低层控制代码塑形。

这对硬件史读者尤其重要。研究 AP-101B,如果只看 CPU 指令集和主存,会漏掉一半故事。IOP 的 page 结构、背板连接、MIA 页和 PROM 微码,合在一起才更接近完整机器。

目前能看清的是两块板子的功能线索。还不能据此编出某次飞行任务、某个故障案例,或者 NASA 采购背景。原文没有给这些证据,就不该补戏。

接下来最该对照的,是更多 IOP page、背板连接关系和微码资料。只有这些能对应起来,才能更准确复原这台隐藏 I/O 计算机的执行模型。

回到开头那个问题:它是不是“航天飞机的网卡”?

答案应该是否定的。更准确的说法是:AP-101B IOP 是一台专门为航天飞机 I/O 和冗余通信服务的可编程计算机。它不抢 CPU 的风头,却决定了许多数据能不能准时、可靠地进入飞控计算链路。