1、 计算机硬件课程设计计算机硬件课程设计 -基于微程序的复杂模型机设计基于微程序的复杂模型机设计 一、一、 实验题目:实验题目: 设计一台有微程序控制的 8 位模型机, 指令系统要求达到 10 条指令以上。 二、二、 实验目的:实验目的: (1)在掌握部件单元电路实验的基础上,进一步将其组成系统,构造一 台复杂模型计算机,建立一台基本完整的整机。 (2)为其定义至少十条机器指令,并编写相应的微程序,通过联机调试, 观察计算机执行指令:从取指令、指令译码、执行指令等过程中数据通路 内数据的流动情况,进一步掌握整机概念。 三、三、 实验设备:实验设备: TDN-CM+教学实验系统一套、PC 微机一台
2、 四、四、 实验原理与指令设计:实验原理与指令设计: (1) 实验原理: 数据格式 模型机规定数据采用定点整数补码表示, 字长为 8 位, 其格式如下: 7 6 5 4 3 2 1 符号 尾 数 其中,第 7 位为符号位,数值表示范围是27 X271 机器指令格式 单字节指令寻址方式采用寄存器直接寻址,其格式如下: 7 6 5 4 3 2 1 0 OPCODE RS RD 双字节指令采用直接寻址,其格式如下 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 OPCODE RS RD ADDR 其中,OPCODE 为操作码,RS 为源寄存器,RD 为目标寄存器,并 规定: RS 或
3、 RD 选定的寄存器 00 R0 01 10 R1 R2 微指令格式: 24 23 22 21 20 19 18-16 15-13 12-10 9-7 6-1 S3 S2 S1 S0 M Cn WE,A9,A8 A 字段 B 字段 C 字段 UA5-UA0 其中,A、B、C 三个字段的编码方案如下表: A字段 B字段 C字段 15 14 13 选择 12 11 10 选择 9 8 7 选择 000 NOP 000 NOP 000 NOP 001 LDRi 001 RS-B 001 P 010 LDDR1 010 BD-B 010 P 011 LDDR2 011 RI-B 011 P 100 L
4、DIR 100 299-B 100 P 101 LOAD 101 ALU-B 101 AR 110 LDAR 110 PC-B 110 LDPC WE,A9,A8 三个字段编码方案如下: WE A9 A8 功能 0 0 0 INPUT 0 0 1 RAM 读 1 0 1 RAM 写 1 1 0 LED,写 0 1 1 无 0 1 0 读接口 运算器逻辑功能表 (2) 指令设计: 模型机可设计 4 大类指令共 16 条,其中包括算术逻辑指令、访存 指令、控制转移指令、I/O 指令、停机指令。我们设计的十条指令 及其操作码与指令格式如下所示: 指令代码 指令格式 功能 IN Rd 0000 xxR
5、d input-Rd MOV Rs,Rd 0001 RsRd Rs-Rd MOV Rd,X 0010 xxRd X X-Rd LOAD Rd,X 0011 xxRd X X-Rd ADD Rs,Rd 0100 RsRd Rs+Rd-Rd SUB Rd,X 0101 xxRd X Rd-X-Rd JZ X 0110 xxxx X 若 ZF=1,X-PC 若 ZF=0,PC+1-PC JMP X 0111 xxxx X X-pc OUT Rs 1000 Rsxx Rs-output STOR Rs,X 1001 Rsxx X Rs-X 机器指令的微操作流程图如下 PC-AR PC+1-PC RAM
6、-BUS BUS-IR P(1) PC-AR PC+1-PC PC-AR PC+1-PC IN SUB STOR LOAD OUT JMP ADD MOV JZ RAM-BUS BUS-DR1 RD-DR2 DR1-DR2-RD RAM-BUS BUS-DR1 RS-BUS BUS-RAM PC-AR PC+1-PC RAM-BUS BUS-DR1 RAM-BUS BUS-RD RS-LED-B SW-RD PC-AR PC+1-PC RAM-BUS BUS-PC RS-DR1 RD-DR2 DR1+DR2-RD RS-RD PC-AR PC+1-PC P(3)测试 后 续地址 RAM-BUS BUS-RD RAM-BUS BUS-RD Y N 30H 20H RS-DR2 DR1+DR2-AR 运行微程序 01 02 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 (3) 代码编制: 指令代码: 机器指令: IN R0 00 MOV R0,R2 12 MOV R1,0 2