文章摘要
文章介绍了航天飞机上五台通用计算机的关键作用,每台由CPU和I/O处理器两个铝盒组成。CPU是每秒执行42万条指令的32位处理器,因设计早于微处理器时代,由多块装满简单芯片的电路板构成,并使用磁芯存储器而非DRAM芯片。
文章总结
好的,作为一名专业的中文编辑,我已将您提供的英文文章内容重新组织并陈述如下,保留了核心细节,同时删减了与主题无关的冗余信息。
文章核心内容重述:
航天飞机的五台通用计算机在每次飞行中扮演关键角色,负责控制引擎、监控传感器、显示数据及导航。每台计算机由两个60磅的铝合金箱体组成:右侧是CPU,为32位处理器,每秒执行42万条指令;左侧是I/O处理器(IOP),作为CPU与航天飞机其他系统的连接桥梁。
IOP并非简单的外设,而是一台独立的可编程计算机,其架构非常独特:它是早期多线程计算机之一,在一个物理处理器上实现了25个虚拟处理器(拥有两套完全不同的指令集)。作者获得了IOP的两块电路卡(IBM称之为“页面”),一块是网络接口卡,提供四个网络连接;另一块是微码存储卡,用于存储定义每条指令的低层级代码。
网络接口卡(MIA页面)
航天飞机有28条数据总线网络,每台计算机连接其中24条,以确保高性能和可靠性。该页面是IOP中六块网络接口卡之一,名为MIA(多路复用接口适配器)。每块卡实现两个网络接口,因此整个页面支持四个网络。
网络传输的是模拟电压信号,会随距离衰减并产生噪声,因此接口卡需将这些模拟信号转换回数字信号。卡上右侧为模拟电路,核心是一个大型金色IBM混合模块,包含驱动、放大器和比较器等。旁边还有电阻、玻璃电容、电感和小型变压器,变压器用于提供隔离、滤波和阻抗匹配。
航天飞机网络的关键技术之一是曼彻斯特编码,其历史可追溯到1940年代。这种编码将每个0位替换为“低-高”序列,每个1位替换为“高-低”序列,解决了未编码二进制数据中长串相同位难以计数和存在直流分量的问题。IOP网络接口的核心功能之一就是在串行位流和曼彻斯特编码之间进行转换。卡上的数字逻辑主要由四块定制的摩托罗拉集成电路完成,分别负责发送和接收。此外,还有大量TTL芯片,主要是移位寄存器,用于处理24位字长的数据转换。
IOP的架构与微码存储卡
IOP的高性能设计由并行处理架构专家彼得·科格(Peter Kogge)开发。其架构非常独特:一个物理处理器运行25个虚拟处理器,每个虚拟处理器轮流执行一个时钟周期。这种“桶式处理器”方法确保了每个网络端口获得可预测且保证的处理器时间,避免过载影响其他端口。
IOP有两种虚拟处理器:BCE(总线控制单元)和MSC(主序列控制器)。每个网络端口对应一个BCE,负责在端口和内存间移动数据;MSC作为执行者,运行程序管理BCE。MSC和BCE的指令集完全不同,且都与主CPU的指令集不同。它们之所以能在同一物理处理器上运行,关键在于微码技术:每条指令都由一系列72位的微指令实现。物理处理器在执行每条微指令后,会切换到下一个虚拟处理器的微指令。
IOP的微指令存储在微码存储卡上。卡上的白色金盖芯片是可熔丝链接PROM(可编程只读存储器),每个位对应一根微小保险丝,通过烧断保险丝来编程。每块芯片存储512个4位字,整张卡共存储1024条72位微指令。该卡在物理结构上也很特殊,使用了体积更大的DIP封装芯片,而非标准的扁平封装,因此集成密度较低。
结论
尽管IOP在设计之初是先进的,但很快便过时了。IBM后来重新设计了计算机,将CPU和IOP合并为一个名为AP-101S的箱体,于1991年首次飞行,速度更快、内存更大,并减轻了约300磅的重量。尽管IOP在航天飞机中扮演着关键角色,但其受到的关注远不及CPU。作者希望本文能让读者认识到IOP在架构和物理构造上的趣味性。
评论总结
根据评论内容,总结如下:
主要观点与论据:
技术细节与冗余设计(评论2,评分None):作者ck2对航天器计算机的低密度设计提出疑问,认为这可能增强抗辐射能力,并确认了四台并行计算机加一台决策计算机的冗余架构。关键引用:"four of the computers ran in parallel with the exact same instructions in case one failed or came up with a wrong answer" 和 "the fifth computer was the 'decider'"。
新奇组件与材料(评论3,评分None):作者elzbardico对玻璃电容器的存在表示惊讶,并提及由康宁公司制造。关键引用:"Glass capacitors!!!! I didn't even know this existed! and made by Corning!"。
与当代技术的类比(评论4,评分None):作者raphlinus将BCE(总线控制引擎)与RP2040/2350微控制器的PIO(可编程输入输出)进行对比,指出指令集高度对应,并强调确定性时钟和并行运行特性。关键引用:"The description of the BCE reminds me a lot of the PIO in the RP2040 and 2350 microcontrollers" 和 "it runs with completely deterministic clocking, one instruction per clock"。
平衡性说明: 评论整体偏向技术细节与历史对比,无显著对立观点。评论1为作者自述,未提供具体观点。