拆解航天飞机I/O处理器电路板
速览
本文详细展示了航天飞机输入/输出处理器(I/O Processor)的电路板细节。通过拆解分析,揭示了该关键硬件组件的物理结构与工程设计。这一过程为理解航天器早期计算硬件提供了直观的视角。
AI 深度解读
深度解读:航天飞机 I/O 处理器的电路板解析
背景
航天飞机的飞行任务高度依赖于其五台通用计算机(General-Purpose Computers, GPCs)。这些计算机在每次飞行中扮演着至关重要的角色,负责控制发动机、监控数千个传感器、向宇航员显示数据以及导航航天飞机。
与现代计算机不同,这些计算机的设计早于微处理器(Microprocessors)的普及时代。因此,其处理器并非由单一的芯片构成,而是由多块电路板组成,板上密集排列着简单的逻辑芯片,并采用磁芯存储器(Magnetic Core Memory)而非动态随机存取存储器(DRAM)芯片。
每台计算机由两个重达 60 磅(约 27 公斤)的铝合金盒子组成:
- 右侧盒子:中央处理器(CPU),是一个 32 位处理器,每秒可执行 420,000 条指令。
- 左侧盒子:I/O 处理器(I/O Processor, IOP)。它是连接 CPU 与航天飞机其余部分的桥梁,实现了计算机的输入/输出功能,主要包含 24 个高速网络,用于将计算机连接到航天飞机的系统和传感器。
IOP 不仅仅是一个外围设备,它实际上是一台独立的、比主 CPU 更复杂的可编程计算机。IOP 采用了一种不寻常的架构:它是早期多线程计算机之一,在一个物理处理器上实现了 25 个虚拟处理器(拥有两种完全不同的指令集)。
本文基于从 IOP 中获取的两张电路板(在 IBM 术语中称为“页” Page),深入解析其工作原理。
核心内容
1. I/O 处理器的架构与“页”的概念
IOP 的核心功能是通过 24 个高速网络与航天飞机交互。为了深入理解其硬件实现,作者展示了 IOP 中的两张关键电路板:
- 网络接口页(Network Interface Page):提供四个网络连接,每个连接的处理速率为每秒 100 万比特(1 Mbps)。IOP 中共有六张此类卡片,以覆盖全部 24 个网络接口。
- 微代码页(Microcode Page):存储 IOP 处理器的微代码,即定义每条指令的低级代码。这些代码存储在白色和金色的芯片中,通过微小的金属保险丝(Fuses)存储比特位。每个“1”位通过熔断相应的保险丝来编程。
2. 航天飞机的网络架构
航天飞机拥有 28 个数据总线网络,将计算机与航天飞机的其他部分连接起来。每台计算机连接到其中的 24 个网络。这种大量的网络连接设计旨在提供高性能和高可靠性,确保计算机与任何航天飞机系统之间至少有两个网络通道。
- 冗余设计:8 个网络被分配给飞行关键系统。例如,每个 CRT 显示器和发动机控制器都连接到四个网络,以实现冗余备份。
3. MIA 接口页详解
作者重点解析了 IOP 中的网络接口页,其神秘名称为 MIA,全称是 Multiplexer Interface Adapter(多路复用器接口适配器)。
- 物理结构:MIA 页由两块印刷电路板(PCB)组成,分别位于页面的正反两面。这两块电路板几乎完全相同(主要区别在于连接器位于不同侧)。每块电路板实现两个网络接口,因此整页支持四个网络。
- 信号传输:每个网络通过一对绞合且屏蔽的双线传输数据,而非同轴电缆。虽然传输的是数字数据,但信号本质上是会随距离衰减并产生失真和噪声的物理电压。因此,接口页必须将这些模拟信号转换回 0 和 1。
模拟电路部分
电路板的右半部分包含模拟电路,核心是一个标有“IBM”的大型金色模块(46 个引脚)。这是一个混合模块(Hybrid Module),由晶体管裸片、电阻、电容甚至 IC 裸片等微小组件组成,通过比头发丝还细的键合线连接在陶瓷晶圆上。
- 用途:混合模块在航空航天应用中非常流行,因为它可以将模拟组件缩小为单个(尽管昂贵)模块。该模块包含两个 I/O 端口的模拟电路:用于传输网络信号的驱动器,以及用于接收信号的放大器和比较器。
- 离散组件:混合模块旁边安装了各种离散组件,包括电阻、玻璃电容、电感和小型方形变压器。变压器提供接口板与网络之间的耦合,起到隔离、过滤电磁干扰和阻抗匹配的作用,这对可靠性至关重要。
曼彻斯特编码(Manchester Encoding)
航天飞机网络通信的关键技术源于 1940 年代。1946 年,Frederic Williams 成为曼彻斯特大学电气工程系主任,其团队在 1949 年创造了里程碑式的 Manchester Mark 1 计算机。除了存储程序计算机和 Williams 管存储器外,他们还发明了曼彻斯特编码。
- 编码原理:
- 每个“0”位被替换为“低-高”序列。
- 每个“1”位被替换为“高-低”序列。
- 解决的问题:
- 位同步问题:在未编码的二进制数据中,长串的 0 或 1 难以区分位数(例如,无法判断是 6 位还是 5 位)。曼彻斯特编码在每个比特中间都有跳变,使得分离比特变得简单。
- 直流分量(DC Component)问题:未编码序列可能不平衡,导致直流分量。直流分量在通过变压器传输或存储在磁性介质时会引起问题。曼彻斯特编码确保 0 和 1 出现次数相等,从而消除直流分量。
- 应用:曼彻斯特编码被选为航天飞机数据总线网络的编码方式,广泛应用于软盘、遥控器、以太网和 RFID 标签中,并被 IEEE 认可为里程碑技术。
数字电路部分
IOP 网络接口的主要功能之一是在串行比特和曼彻斯特编码之间进行转换。
- 定制集成电路:数字逻辑的大部分功能集中在四个大型金色集成电路中。这些是定制的 Motorola 芯片:每个网络端口都有一个发送芯片和一个接收芯片。
- 发送端:将二进制数据转换为曼彻斯特编码信号,并在每个字开头插入同步信号,同时添加奇偶校验。
- 接收端:执行逆向过程,检测同步信号,解码曼彻斯特信号,验证奇偶校验,并报告任何错误。
- TTL 逻辑芯片:较小的黑色芯片是简单的 TTL(晶体管-晶体管逻辑)芯片,主要在 1970 年代流行,提供快速可靠的电路。
- 移位寄存器:包含 12 个 4 位移位寄存器芯片和 16 个 8 位移位寄存器芯片。航天飞机网络传输 24 位字。通过组合六个 4 位移位寄存器芯片,构成一个 24 位移位寄存器,用于将 24 位字转换为串行数据,反之亦然。
- 其他组件:包括简单的逻辑门、触发器、缓冲器和 4 位计数器。
4. “页”的物理结构
这种电路板结构源于 1967 年 IBM 推出的航空电子设备计算机系列 System/4 Pi。
- 构造:系统由“页”(Pages)构建而成。每个“页”由两块电路板夹着一层金属层构成,该金属层通过对流进行冷却。
- 元件布局:指甲盖大小的扁平封装集成电路(Flat-pack ICs)以行排列安装在每块电路板上,每块板约 78 个 IC。
- PCB 技术:当时的印刷电路板技术先进,拥有六层布线。
- 固定方式:顶部的两个螺丝柱将“页”紧紧地固定在系统中。
关键要点
- 前微处理器时代的架构:航天飞机的计算机设计早于微处理器普及,使用多板组合和磁芯存储器,体现了当时的高端工程技术。
- IOP 的复杂性:I/O 处理器(IOP)不仅是接口,更是具备多线程能力(25 个虚拟处理器
