菜单

解释器和扩展动词

相关源文件

本文档描述了阿波罗制导计算机 (AGC) 的解释器和扩展动词系统。解释器充当处理 AGC 内部解释性代码的虚拟机,而扩展动词则为宇航员提供超越基本操作的专用飞船控制和导航功能。

介绍

阿波罗制导计算机采用两种不同类型的指令运行:基本机器指令(直接代码)和解释性指令。解释器组件执行更高级的解释性语言,这种语言允许以比直接机器代码更紧凑的形式进行复杂的数学运算和控制逻辑。

扩展动词(动词代码 40-99)通过 DSKY(显示和键盘)界面为宇航员和地面控制人员提供了飞船操作、导航和系统管理的专用功能。这些动词对于校准、状态矢量更新和操纵计算等任务操作至关重要。

来源:Comanche055/INTERPRETER.agc34-56), Comanche055/EXTENDED_VERBS.agc49-58)

解释器架构

AGC 解释器充当一个执行解释性代码的虚拟机。它维护自己的执行上下文,包括指令指针 (LOC)、多用途累加器 (MPAC) 和操作专用寄存器。

解释器组件

解释器包含以下关键组件

  1. 调度器 (DANZIG):控制解释性执行的流程
  2. 操作码处理器:获取和解码解释性指令
  3. 内存访问逻辑:处理直接寻址、索引寻址和下推列表寻址
  4. 多用途累加器 (MPAC):以各种格式存储操作数据
  5. 下推列表:用于临时数据存储和子程序返回的堆栈
  6. 跳转表:根据操作码将执行路由到相应的例程

操作模式

解释器支持三种主要操作模式

模式描述用于
矢量模式三组件矢量运算飞船姿态、导航矢量
双精度标量2寄存器精度运算高精度计算
三精度标量3寄存器精度运算需要时可扩展精度

来源:Comanche055/INTERPRETER.agc72-109), Comanche055/INTERPRETER.agc302-383), Comanche055/INTERPRETER.agc552-610)

解释器执行流程

当 AGC 程序调用 INTPRET 进入解释模式时,解释器的执行流程开始。解释器随后按顺序处理解释性指令,直到遇到 EXIT 指令或其等效指令。

  1. 初始化INTPRET 设置执行环境
  2. 指令处理:
    • NEWOPS 获取下一对操作码
    • 调度器 (DANZIG) 处理每个操作码
    • 对于需要地址的操作,调用相应的寻址逻辑
  3. 操作执行:跳转表路由到相应的例程
  4. 继续/终止:每次操作后,控制返回调度器或退出

来源:Comanche055/INTERPRETER.agc47-58), Comanche055/INTERPRETER.agc77-107)

操作码结构和调度

解释性操作码被分为不同类别,前缀位决定操作类型。调度器处理这些前缀,将执行路由到相应的处理程序。

操作码范围前缀类型示例
00-370xxxx基本操作VLOAD, DLOAD, PDDL
40-771xxxx基本操作VAD, DMPR, UNIT
100-137100xxx分支/索引操作AXT, SXA, BRANCH
140-177101xxx一元操作SQRT, SIN, COS

跳转表 (INDJUMP, MISCJUMP, UNAJUMP) 作为调度向量,根据操作码将执行路由到相应的操作例程。

来源:Comanche055/INTERPRETER.agc91-106), Comanche055/INTERPRETER.agc302-383), Comanche055/INTERPRETER.agc364-383)

扩展动词系统

扩展动词(动词代码 40-99)通过 DSKY 界面提供专用功能。它们通过系统管理、导航和任务特定操作来扩展 AGC 的基本功能。

扩展动词架构

扩展动词系统包括

  1. 入口点GOEXTVB - 处理通过 DSKY 输入的动词代码
  2. 调度逻辑LST2FAN - 分派到相应的动词处理程序
  3. 动词处理程序:每个扩展动词的独立例程
  4. 通用实用程序:多个动词处理程序使用的共享功能

来源:Comanche055/EXTENDED_VERBS.agc49-115), 119-152)

扩展动词类别

扩展动词按功能类别分组

  1. 惯性测量单元 (IMU) 操作 (V40-V46)

    • IMU 校准、归零、姿态控制
  2. 状态矢量操作 (V47, V67, V70-V73, V80-V81)

    • 更新状态矢量、时间、轨道参数
  3. 显示功能 (V82-V89)

    • 显示轨道参数、交会对接信息
  4. 系统控制 (V48, V56-V58, V68, V96)

    • DAP 数据加载、跟踪控制、笔画测试、积分控制
  5. 实用功能 (V74-V77, V92)

    • 内存转储、设置标志、系统测试

来源:Comanche055/EXTENDED_VERBS.agc53-116), 33-48)

关键扩展动词

以下是 AGC 中一些最重要的扩展动词

动词姓名功能处理器
V40归零 CDU归零 IMU CDU 角度VBZERO
V41粗略校准粗略校准 IMU 或光学系统VBCOARK
V42精细校准通过陀螺仪扭矩精细校准 IMUIMUFINEK
V47移动登月舱状态矢量将登月舱状态矢量传输到指挥舱LMTOCMSV
V48DAP 数据加载加载自动驾驶数据DAPDISP
V49机组定义操纵启动自动姿态操纵CREWMANU
V70-V73更新参数更新起飞时间、内存、时钟V70UPDAT 等
V82轨道参数显示轨道参数V82PERF
V83交会对接参数显示距离、距离变化率V83PERF
V96终止积分停止轨道积分VERB96

来源:53-114), 150-182)

解释器和扩展动词集成

解释器和扩展动词系统协同工作,提供任务操作所需的计算能力

  1. 扩展动词调用解释器:许多扩展动词处理程序使用解释性代码进行复杂计算
  2. RTB 操作:“返回基本”指令允许解释性代码调用基本 AGC 操作
  3. 共享内存:两个系统都操作共享数据结构,例如状态矢量

来源:47-58), 49-58), 41-95)

特殊解释器操作

解释器包含与基本 AGC 功能交互的特殊操作

RTB (返回基本) 操作

RTB 操作允许解释性代码调用基本 AGC 例程

RTB 操作功能描述
LOADTIME加载 AGC 时钟将 TIME1/TIME2 加载到 MPAC 中
PULSEIMU扭矩陀螺仪向 IMU 陀螺仪发送指令
SIGNMPACMPAC 的符号将 MPAC 设置为其内容的符号
NORMUNIT归一化矢量安全地创建单位矢量
VECSGNAG矢量符号一致性强制矢量分量中的符号一致性

存储操作

存储操作管理 MPAC 和内存之间的数据传输

存储代码功能描述
STORE基本存储存储 MPAC 内容
STODL存储并双重加载存储 MPAC 并加载新的双精度值
STOVL存储并矢量加载存储 MPAC 并加载新的矢量
STCALL存储并调用存储 MPAC 并调用子程序

来源:Comanche055/RT8_OP_CODES.agc41-320), Comanche055/INTERPRETER.agc385-470)

结论

解释器和扩展动词系统是阿波罗制导计算机软件架构的关键组成部分。解释器为复杂的数学运算提供了虚拟机,而扩展动词则通过标准化界面使宇航员能够访问专用飞船功能。

这些系统共同实现了月球任务所需的计算能力,涵盖从轨道操纵到着陆操作以及返回地球的全过程。其精妙的设计平衡了 AGC 有限的硬件资源与太空导航对计算的严苛需求。