AM2910 微程序定序器深度解析:在 TEC-2 中实现 3 种微程序流控制

📅 发布时间:2026/7/11 23:12:21
AM2910 微程序定序器深度解析:在 TEC-2 中实现 3 种微程序流控制 AM2910 微程序定序器深度解析在 TEC-2 中实现 3 种微程序流控制微程序控制器作为计算机硬件设计的核心组件其性能直接决定了指令执行的效率与灵活性。在清华大学设计的 TEC-2 教学计算机系统中AM2910 微程序定序器扮演着控制流调度的关键角色。本文将深入剖析 AM2910 的 16 条命令的工作机制并结合 TEC-2 的具体电路实现揭示微程序控制器如何通过硬件逻辑实现复杂的指令执行流程。1. AM2910 架构与核心功能AM2910 是一款 12 位微程序定序器芯片采用 40 引脚 DIP 封装。其内部包含 4 个关键功能单元寄存器堆栈5×12 位的循环栈结构支持 PUSH/POP 操作计数器/寄存器12 位的 PC 寄存器与增量器多路选择器4 路输入选择逻辑控制逻辑16 种命令的译码与执行单元在 TEC-2 系统中AM2910 通过三组输入信号决定下一条微指令地址// 典型输入信号连接示意 input [11:0] D; // 直接输入来自 MAPROM/PLR/开关 input /MAP, /VECT, /PL; // 输入源选择信号 input /CC; // 条件测试输入 input [3:0] CMD; // 命令码输入关键引脚功能对照表引脚名称功能描述TEC-2 连接目标/MAP映射使能有效时从 MAPROM 取指令入口地址MAPROM 输出使能/VECT向量使能有效时接收手动输入的微地址前面板地址开关/PL微程序加载有效时采用 PLR 中的下址字段PLR[55:46]/CC条件测试与命令码配合实现条件转移标志位状态2. 三种典型微程序流控制实现2.1 顺序执行流14 号命令当执行加法等无需分支的指令时AM2910 采用最简单的顺序执行模式graph LR A[当前微指令] -- B[PC1] B -- C[下一微指令]对应的 TEC-2 硬件行为PLR 寄存器锁存当前微指令AM2910 接收 14 号命令二进制 1110内部增量器将当前地址加 1新地址输出到 µRA[9:0] 总线典型微指令示例MEM-AR 微指令 0000 0E00 10F0 0002 └─┬─┘ └┬┘ └─┬─┘ └┬┘ │ │ │ └─ AM2910命令码14 │ │ └────── 运算器控制字段 │ └─────────── 存储器控制字段 └──────────────── 下址字段未使用2.2 条件分支流3 号命令实现条件转移指令时需要根据标志位状态决定程序流向。以 TEC-2 的 BEQ相等跳转指令为例# 条件分支的硬件决策流程 def next_address(cc, cmd, current_addr, branch_addr): if cmd 0x3: # 条件转移命令 return branch_addr if not cc else current_addr 1 else: raise Exception(Invalid command)硬件实现细节运算器执行比较操作后设置 Z 标志微指令中 SCC/SC 字段配置测试条件如 Z1AM2910 接收 3 号命令和 /CC 输入地址选择逻辑根据 /CC 状态选择下址来源关键信号时序T1运算器输出标志位状态T2PLR[55:46] 锁存转移目标地址T3AM2910 输出最终地址到 µRA 总线2.3 指令分支流2 号命令处理机器指令译码时需要通过 MAPROM 实现指令到微程序的映射// 指令分支的地址转换过程 uint16_t map_opcode_to_micro(uint8_t opcode) { return MAPROM[opcode]; // 硬件实现为2片2716 ROM }TEC-2 具体实现步骤取指阶段将操作码存入 IR[15:10]AM2910 接收 2 号命令激活 /MAP 信号MAPROM 输出 10 位微程序入口地址地址选择器3片LS257将地址导向控存关键电路参数MAPROM 访问延迟≤120ns地址建立时间50ns在 T2 周期内完成微指令字长56 位7片6116 RAM构成3. TEC-2 的微程序控制子系统3.1 硬件组成与数据通路TEC-2 的微程序控制器采用三级流水结构地址生成级AM2910 MAPROM 地址选择器工作频率2MHz主时钟分频控存访问级7片6116 RAM2K×8存取时间150ns流水线寄存器PLR6片LS374 1片LS273建立时间30ns关键信号连接表信号线源设备目的设备位宽µRA[9:0]AM2910控存地址总线10PLR[55:0]控存数据输出执行单元56/MAPAM2910MAPROM1/CC标志寄存器AM291013.2 动态微程序设计实现TEC-2 支持通过 LDMC 指令动态加载微程序其操作流程如下将微指令序列存入主存如 0900H 开始设置参数寄存器MOV R1, 900 ; 微码内存起始地址 MOV R2, 7 ; 微指令条数 MOV R3, 100 ; 控存目标地址执行 LDMC 指令硬件自动完成微码搬运动态加载时序要求每个总线周期传输 16 位数据需要 4 个周期完成一条微指令加载总加载时间 微指令数 × 4 × 500ns4. 典型微程序实例分析以 TEC-2 的加法指令为例其微程序包含 7 条微指令取操作数阶段PC-AR,PC1-PC: 0000 0E00 A0B5 5402 MEM-AR: 0000 0E00 10F0 0002 MEM-Q: 0000 0E00 00F0 0000执行运算阶段MEMQ-Q: 0000 0E01 00E0 0000结果写回阶段Q-MEM,CC#0: 0029 0300 1020 0010关键字段解码A0B5选择 ALU 的 A 口和 B 口输入5402设置 ALU 为加法运算模式0300AM2910 条件转移命令3号在调试过程中可以通过前面板开关手动输入微地址使用 /VECT 信号逐步观察每条微指令的执行效果。例如设置初始地址为 0100H然后单步执行观察数据总线和寄存器状态的变化。