检查航天飞机输入输出处理器的电路板
航天飞机的五1通用计算机在每次飞行中都发挥了关键作用:控制 发动机,监控数千个传感器,向宇航员显示数据,并导航 穿梭机。 每台计算机由两个60磅重的铝合金盒子组成:右边的盒子是中央处理器,一个 32位处理器,每秒执行420,000条指令。 这些计算机设计于微处理器普及之前,因此处理器本身 由多块电路板和简单芯片组成,使用磁芯存储器而非DRAM芯片。
static.righto.com/images/shuttle-ioprocessor/gpu-and-iop.jpg
class=“cite”>航天飞机IOP和CPU(AP-101B)。 照片由铁路拍卖。
左边的盒子是I/O处理器(IOP):连接CPU与航天飞机其他部分的连接。 它主要实现了计算机的输入/输出功能 24个高速网络将计算机与航天飞机的系统和传感器连接起来。 但IOP不仅仅是一个外围项目;它是一台独立的可编程计算机, 比主CPU还复杂。 IOP采用了一种不同寻常的架构:它是最早的多线程计算机之一,实现了25个虚拟处理器(包括 两个完全不同的指令集)运行在一个物理处理器上。
我从I/O处理器获得了两张电路卡,2每个矩形尺寸为9英寸×3英寸 里面满是小芯片和其他部件。 在IBM的术语中,每张卡片被称为“页面”(记住这个词)。 顶部页面是一个网络接口,提供四个网络连接, 每个都能处理100万比特每秒。(IOP包含六张此类卡片,分别为 其24个网络连接。) 底页包含IOP处理器的微代码,这些底层代码定义了 每一条指令。 一排排白金色芯片将微码的部分存储在微小的金属保险丝中, 通过为每个1位烧断保险丝来编程。 在本文中,我将解释I/O处理器的工作原理以及这两个页面的作用。
static.righto.com/images/shuttle-ioprocessor/boards.jpg 航天飞机I/O处理器中的两个页面:“MIA”接口页面和PROM页面。
MIA接口页面
航天飞机拥有28个数据总线网络,将计算机与航天飞机的其他部分连接起来, 每台计算机连接了24个网络。3 大量网络提供了高性能和可靠性,在 计算机与任何航天飞机系统之间至少有两个网络。 飞行关键系统分配了八个网络,每个阴极射线管显示器和发动机控制器连接四个网络以实现冗余。
下面的页面是I/O处理器中的六个网络接口页面之一。 航天飞机工程师喜欢缩写,所以这个页面有 “多路复用接口适配器”的神秘名称 MIA。 (许多网络 连接到称为多路复用器/解复用器的盒子上,这些设备 为航天飞机的各种模拟和数字组件之间提供了网络连接。5) MIA接口页面上堆满了集成电路和其他元件。 该页两侧各有两块印刷电路板。 两侧的板子几乎相同,4你可以通过比较看到 上面的照片和下面的照片。(主要区别:连接器可以切换侧面。)
static.righto.com/images/shuttle-ioprocessor/mia-board.jpg
class=“cite”>称为MIA(多路复用接口适配器)的网络接口页面。 该页面进行了大量重制;细棕色的“bodge”线条在页面上盘旋,形成 修复错误或实施更新。
每个板子实现了两个网络接口,因此页面支持四个网络。 每个网络通过一对缠绕并屏蔽的线传输数据,而非 同轴电缆。 虽然网络传输数字数据,但传输的信号是网络上的 是物理电压,随着距离会减弱,会产生失真和噪声。 因此,接口页必须将这些模拟信号转换回0和1。
板子的右半部分存放模拟电路。 它以一个标有“IBM”的大型金色模块为主导,拥有46个引脚。 这是一个混合模块,由晶体管芯片、电阻等微小元件组成, 电容,甚至可能是集成电路,通过比头发还细的粘结线连接。 它不完全是集成电路,而是一组单独的元件安装在陶瓷晶圆上。 混合模块在航空航天领域很受欢迎,因为一块由模拟元件组成的电路板 可以缩减到一个(昂贵的)模块。 该模块包含两个I/O端口的模拟电路:驱动器 与放大器和比较器一起传输网络信号以接收信号。
混合模块旁安装了各种分立元件:电阻器、玻璃电容< id=“fnref:电容器”>6、电感器和小型方形变压器。 变压器提供接口板与网络之间的耦合。 与以太网类似,变压器提供计算机与网络之间的隔离, 滤波电磁干扰和匹配阻抗,这些都是可靠性的关键。7
static.righto.com/images/shuttle-ioprocessor/mark-1.jpg
class=“cite”>曼彻斯特Mark 1;威廉姆斯教授位于左数第二个。照片来自曼彻斯特大学。
航天飞机网络的重要组成部分可追溯到20世纪40年代。 1946年,弗雷德里克·威廉姆斯成为 曼彻斯特大学。 到1949年,他的团队已制造出开创性的曼彻斯特Mark 1计算机。 在此过程中,他们发明了存储程序计算机——威廉姆斯管——这是当时最好的计算机存储形式 磁芯——以及曼彻斯特进位链,现代处理器中仍用于加法。
但相关的发明是已申请专利 曼彻斯特编码,一种编码序列的方法 存储或传输时用0和1。 在曼彻斯特编码中,每个0位被替换为“低高”序列,每个1位被替换 通过“高低”序列,如下所示。 这个想法看似微不足道,但它被广泛应用于以下所有领域 软盘和遥控器连接到以太网和射频识别标签, 使其获得了作为IEEE里程碑。
static.righto.com/images/shuttle-ioprocessor/manchester.jpg
class=“cite”>曼彻斯特编码的示意图。 来自原型IOP功能描述, 第82页。
显而易见的方法——发送未编码的二进制数据——存在两个问题。 首先,在一串0或1中很难判断发送了多少位:“是六位还是只有五位?”其次,这样的序列是不平衡的,因此具有“直流分量”。 如果信号存储在磁性介质上或传输,该直流分量会引发问题 通过变压器。 曼彻斯特编码解决了这两个问题。因为每个编码位都有一个转移 中间部分很容易分开。 此外,编码确保0和1的数量相等,因此没有直流分量。
基于这些优势,数据总线网络选择了曼彻斯特编码 在航天飞机上。8 其中一个关键功能9 IOP的网络接口用于串行位之间的转换 以及曼彻斯特编码。 接口的数字电路相当复杂,但大部分逻辑都已集成 四个大型金色集成电路。 这些是定制的摩托罗拉集成电路:每个网络端口分别有一颗发射芯片和一颗接收芯片。 在发射端,芯片将二进制数据转换为曼彻斯特编码信号 为了电视台。 电路还在每个字开头插入同步信号并添加奇偶校验。 接收芯片反向处理这一过程:检测同步,解码曼彻斯特信号, 验证校验,并报告任何错误。
较小的黑芯片是简单的TTL芯片,主要是移位寄存器。 (晶体管-晶体管逻辑在1970年代非常流行,提供了快速且可靠的电路。) 共有十二个4位移位寄存器芯片和十六个8位移位寄存器芯片。10 航天飞机的网络通过网络发送24位字: 将六个4位移位寄存器芯片组合起来,得到一个24位移位寄存器,该 将这些24位字转换为串行数据,反之亦然。 其余芯片包括简单的逻辑门、触发器、缓冲器和四位计数器。
页面的物理结构
大约在1967年,IBM推出了一系列用于航空电子的计算机,称为System/4 Pi。11 这些系统由pages:12 两块电路板夹在一层提供对流冷却的金属层之间。 比指甲还小的扁平集成电路成排安装,13每块电路板上大约有78个集成电路。 印刷电路板在当时算是先进的,拥有六层布线。 顶部的两个千斤顶螺丝将页面紧紧固定在系统中。 两个98针连接器将页面连接到背板。 下面的照片展示了典型的4 Pi页面(顶部),上面排列着一排排芯片。
static.righto.com/images/shuttle-ioprocessor/comparison.jpg
class=“cite”>标准IBM 4 Pi页面与IOP页面的比较。4 Pi页面由Eric Schlaepfer提供。4 Pi页面装在一个标有“FSD AWACS tester?”的袋子里,暗示它是IBM联邦系统部门为E-3C空中预警与控制系统飞机设计的测试机, 该机使用IBM 4 Pi计算机。
I/O 处理器页面(上图底部)几乎与标准 4 Pi 页面相同,仅 宽度增加了一英寸(9英寸,而非8英寸), 并且配备了一个或两个120针连接器,而非98针连接器。14 一英寸看起来不算多,但 9英寸的页面可容纳100个集成电路,而非78个,显著增加。 我很惊讶IBM从标准尺寸改成了,但 我怀疑设计师无法将IOP塞进标准页面的空间, 迫使改变。 同样,多个I/O端口可能需要比较小端口更多的连接 连接器可以支持。
一页两侧都有电路板,中间由金属板分隔。 为了让信号在板子间流动,有一个特殊的连接器 附在页面顶部,用来连接两块板子。 该连接器不仅提供电路板之间的馈线连接,还 提供测试点,便于在电路板安装于机箱内时探测信号。 下面的照片展示了馈线连接器的特写。 它有三排测试点。第一排(红色)连接到顶板。 中间一排(橙色)连接两块板子,提供传送通道。 底排(蓝色)连接到底板。 上方箭头显示连接器焊接在电路板上的位置。
static.righto.com/images/shuttle-ioprocessor/test.jpg MIA页面上的测试点连接器。
下图展示了I/O处理器的结构,插入了一排排页面 背板。15 注意128针MIA输入输出连接器 ↩
4位移位寄存器芯片为54LS395薯片。这些芯片具有“三态”输出,使其能够连接到 一辆公交车。这些芯片很可能作为主板与IOP其他部分之间的接口; 板上的十二块芯片将支持每个端口的24位寄存器,符合预期。 8位移位寄存器芯片包括54LS1964换班收银器。
我搞不明白为什么有这么多8位移位寄存器芯片;也许是他们 充当缓冲区。我的猜测...... 该原型IOP功能描述 说明IOP在24位MIA移位之间有六个28位4字寄存器 寄存器和其他IOP系统。 即使不需要移位,8位移位寄存器芯片能否形成这些寄存器? 文件中没有明确说明这些登记册是在MIA页面还是其他页面。 移位寄存器芯片每页提供256位存储空间,而寄存器文件需要112位存储, 所以比特数量远超所需。 此外,文件中提到寄存器结构为每组四个MIA的7-4和4寄存器文件,听起来 比如说,更像是54LS170寄存器文件芯片,而不是移位寄存器芯片。 可能,设计是根据原型功能描述修改而来的, 8位移位寄存器提供额外的缓冲。 ↩
4 Pi 这个名字是一个基于 IBM 极受欢迎的大型机系列 System/360 的几何玩笑。 System/360 通过将一系列计算机应用于商业和科学领域,彻底改变了计算机行业。 这个名称象征着System/360覆盖了360º的应用。 4π这个名称将圆的概念扩展到了三维世界:4π是构成一个完整球面的星体数。 正如IBM所说,“System/4 Pi还满足了一个领域——涵盖军用计算机的全方位需求——适用于空中、太空或舰载使用。” ↩
最早的4 Pi系统(TC系列)使用了不同的页面样式,但以下计算机 使用标准的4 Pi页,包括 航天飞机的AP-101B计算机。 然而,IBM从下一台计算机AP-101C开始,页面变得更大,属于 B-1轰炸机。 航天飞机升级版的AP-101S使用了这些较大的页面。 详情请参见我的文章4 Pi 计算机历史。 ↩
下图展示了平板集成电路如何安装在该电路上 板。 每个集成电路分配16个焊盘;14针集成电路“浪费”两个 而较大的集成电路则打破了常规模式。 每个焊盘都连接到一个通孔,即电路板上的镀电孔。 这些通孔连接电路板另一层的线路; 照片中可以看到一些这些痕迹。 通孔还固定穿孔元件的引脚。 IBM System/360大型机中的电路卡采用了非常相似的印刷电路风格 板子,带有规则的孔栅格。 这种板式与大多数其他系统中使用的电路板有很大不同, 这些设备只在必要时有孔,且布线频率较低。 IBM的风格大概使钻孔更高效,也更便于自动布线, 但需要细长、精确的走线和多层电路板,这在当时并不常见。
与消费电子产品相比,IBM的技术非常先进。IBM在20世纪60年代使用六层印刷电路板和表面贴装元件,但比如苹果, 直到二十年后才转向表面贴装元件。 具体来说,是苹果IIGS(1986) 广泛使用的表面贴装元件,但 该麦金塔SE(1987) 一年后仍完全使用穿孔组件。
static.righto.com/images/shuttle-ioprocessor/pad-closeup.jpg 国际物理治疗计划(IOP)PROM板的特写。
照片还展示了一些集成电路的标注方式 规范控制图(SCD)编号(6088731-1),其他则标注 标准零件编号(SN54LS151). 这个SCD编号对应达到标准54S10NAND门。这两款芯片均带有1974年日期代码(74xx),不要与7400系列混淆 零件编号。
下图展示了三种不同类型的平板封装集成电路。 第一种类型最为常见,导线从上下两侧延伸,类似 转向现代表面贴装集成电路。 第二个包裹有一个金色盒子。它体积更小且细,四面都有导线。 第三个包也有四个方向的领先,但规模稍大一些。
static.righto.com/images/shuttle-ioprocessor/packages.jpg 三种表面贴装封装。
↩
IOP页面尺寸的变化有相关记录IOC原型功能描述,其意思是: “标准4π页宽度由8英寸延长至9英寸,新标准120针连接器”。
下图对比了标准IBM 4 Pi页面(顶部)上的98针连接器与 120针连接器 在IOP页面(底部)。 120针连接器的针距较窄(0.05英寸),而98针连接器(0.06英寸)则更窄,允许 同样宽度的更多销钉。 然而,120针连接器针脚排间距更大(0.150“对比0.100”)。
static.righto.com/images/shuttle-ioprocessor/connectors.jpg 标准 IBM 4 Pi 页面(顶部)和 IOP 页面(底部)上的连接器。 4 Pi 页面由 Eric Schlaepfer 提供。 轻微的波纹只是由于销钉弯曲造成的。
另请注意,两个连接器的一侧都有一个销钉,另一侧有一个空心圆柱体。 它们用于键控,以确保页面不会插入错误的插槽。 每种页面类型都有不同的组合;使用双连接器时,有 16 种可能 组合。↩
分解图显示了七个 MIA(接口)页面。 这是没有意义的,因为 24 个网络连接有 6 个 MIA 页面, 作为同一份文件 列表(见表 4-1)。该表还总共显示了一页 比分解图上的要多。 我的猜测是,在编写文档时系统仍在更改(某些 表中的条目标记为待定),从而导致不一致。↩
虚拟MSC和BCE处理器轮流在IOP的物理处理器上执行。 16.5 µs 时间间隔被分为 33 个片:每个 BCE 获得一个时间片, MSC获得8个时间片,其中1个时间片用于BCE自检。 因此,MSC 比低级 BCE 获得更多的执行时间。
static.righto.com/images/shuttle-ioprocessor/wheel.jpg I/O 处理器的时隙定时器或“轮子”。改编自航天飞机系统手册,8.3。
每个BCE和MSC都有自己的寄存器集(称为本地存储),因此正确的 每个插槽都有寄存器可用。 物理处理器是流水线式的,因此实际上有四个插槽处于活动状态 任何时候。↩
有关 MSC 和 BSE 处理器指令集的详细信息,请参见原型 IOP 功能描述,第 2 章。↩
IOP 使用 72 位宽的微指令。 微指令通过指定数据源、数据目的地、ALU 来控制物理处理器 操作和条件分支操作。 下表详细显示了微指令的结构。 请注意,微指令分别控制处理器的每个组件 处于较低级别,因此它与机器指令有很大不同。 微指令还提供一定程度的并行性,因为它指定了三个操作 对于每个步骤(ALU 1 操作、ALU 2 操作和条件操作)。
static.righto.com/images/shuttle-ioprocessor/microcode.jpg 72位IOP微指令的格式。 从原型 IOP 功能描述.
;↩
PROM 芯片是 Intersil 的IM5624C部分。这些类似于Signetics 82S131和英特尔 3622部件。 页面的正面还包含九个标有“D1-6605-2”的芯片,可能由哈里斯制造;也许这些是缓冲器。↩
该原型输入/输出处理器功能描述 列出与微代码相关的两个页面: "Micro Store (ROM)”(我检查的页面)和“Micro Store 页面”。 我假设第二页包含第一页放不下的 512 个单词, 以及微代码控制逻辑和寄存器的电路。↩
为什么 PROM 芯片上的数字是半有序的,但又有些随机? 我的假设是原始芯片按顺序编号为 1 到 36,但是当 需要更换芯片以获取软件补丁,每个新芯片都会收到下一个 按顺序编号,最多 74 个。↩
对于扁平封装 IC,IOP 板每行最多可容纳 20 个 IC,因此板上可容纳 100 个 ICS 双面页上有 200 个 IC。 对于较大的 DIP 封装,PROM 页仅容纳 45 个 IC。 由于 DIP 更高(更厚), 该页面只有一个板。 这显示了扁平封装 IC 相对于 DIP IC 的大密度优势。
此页面的密度稍好一些,因为 PROM 板的背面安装有几 (15) 个扁平封装 IC(如下)。 扁平封装 IC 必须安装在 DIP 行之间 以避免 DIP IC 的引脚。 由于 DIP 使用通孔安装,因此它们的引脚从板的背面伸出。 上方和下方的大两脚封装是去耦电容,对电源进行滤波 到 IC。
static.righto.com/images/shuttle-ioprocessor/rom-board-back.jpg PROM 页面的背面。
电路板的背面还显示印刷电路板小了一英寸 比可用空间;注意右侧的间隙。 也许电路板是为标准 8 英寸 4 Pi 页设计的,但随后 安装在 IOP 的特殊 9 英寸页面上。↩
这NASA 逻辑设计办公室 网页 有一张航天飞机的照片 可能 来自 IOP,但其来源 未知(我问过)。 该板令人费解,因为它具有与 IOP 页面相同的不寻常的 9 英寸外形尺寸, 但它也有很多差异,因此它可能来自不同的 Shuttle 系统。
static.righto.com/images/shuttle-ioprocessor/shuttle_board_kevin.jpg 航天飞机板。 注意损坏的连接器;这些老式 Burndy 连接上的塑料经常破裂。 从航天飞机计算机和航空电子设备,由理查德·卡茨提供。
该板为双MIA接口;它被标记为“ADPTR. INTFC。 DUAL MUX”,部件号“A538A762-02”。该部件号未出现在 IOP 文档中,并且具有不同的格式 来自 IOP 零件号。 板上的电路与 IOP 的接口板非常相似,具有混合模块、变压器和 模拟元件。 物理上,该板具有相同的尺寸、安装硬件和 120 引脚 连接器作为 IOP 板。 然而,该板没有测试 顶部的点连接器和 IC 随意排列,而不是均匀排列, 所以它看起来不像是IBM制造的。 而且,IC的数量要少得多。 另一方面,它使用相同的54LS395 4位移位寄存器芯片(标记为6088913)。 我认为这是 IOP 板的原型板,除了这两个板 根据组成日期,是从 1976 年开始。
我目前的假设是该板是不同版本中的 MIA 网络接口 航天飞机组件,可能是MDM(复用器/解复用器); 主数据管理包含 由 Singer-Kearfott 构建的“串行 MIA”板。 请注意,该板具有 Singer 混合模块; 自从 Singer-Kearftt 发明了 MIA 网络以来,他们的模块将是有道理的 位于接口板上。 另一种可能性是该板是航天飞机 IMU 的一部分 (惯性测量装置),由 Singer-Kearftt 建造。 IMU 通过串行 I/O 线与 MDM 进行通信,该线与 IMU 非常相似 MIA 协议,但有一些差异。
顺便说一下,辛格和制造缝纫机的辛格是同一个人。 他们最终是如何为航天飞机制造先进部件的? (更何况核导弹制导系统.) 20 世纪 60 年代,辛格开始多元化经营,涉足国防和计算机领域; 1968年,辛格收购了 Kearftt,一家制造惯性导航系统的国防公司。 歌手-科尔福特SKC-2000电脑 曾是 经过考虑的原本是为了航天飞机,但最终选择了 IBM 的 AP-101。Singer-Kearfott 为航天飞机制造了惯性测量单元 (IMU)。1987 年,Singer 将其 Kearfott 导航与制导事业部出售给了 Astronautics 公司。Kearfott 仍然生产导航与制导系统,例如全球鹰无人机的惯性导航系统和三叉戟 II 核潜艇发射弹道导弹。经过 1987 年的收购和两次破产,Singer 回到仅生产缝纫机,现在是...SVP 环球缝纫机公司。↩