计算机组成原理实验教程 山西大学计算机与信息技术学院
实验八 复杂模型机设计实验
8.1 实验目的
综合运用所学计算机组成原理知识,设计并实现较为完整的计算机。
8.2 实验设备
PC 机一台,TD-CMA 实验系统一套。
8.3 实验原理
下面讲述一下复杂模型计算机的数据格式及指令系统。 1.数据格式
模型机规定采用定点补码表示法表示数据,字长为8位,8 位全用来表示数据(最高位不表 示符号),数值表示范围是: 0≤X≤28-1。
2.指令设计模型机设计三大类指令共十五条,其中包括运算类指令、控制转移类指令、 数据传送类指令。运算类指令包含三种运算,算术运算、逻辑运算和移位运算,设计有6条运算类指令,分别为:ADD、AND、INC、SUB、OR、RR,所有运算类指令都为单字节,寻址方式采用寄存器直接寻址。控制转移类指令有三条 HLT、JMP、BZC,用以控制程序的分支和转移,其中 HLT 为单字节指令,JMP 和 BZC 为双字节指令。数据传送类指令有 IN、OUT、MOV、LDI、LAD、 STA 共 6 条,用以完成寄存器和寄存器、寄存器和 I/O、寄存器和存储器之间的数据交换,除 MOV 指令为单字节指令外,其余均为双字节指令。
3.指令格式
所有单字节指令(ADD、AND、INC、SUB、OR、RR、HLT 和 MOV)格式如下:
7654 OP-CODE
32 RS 10 RD
其中,OP-CODE 为操作码,RS 为源寄存器,RD 为目的寄存器,并规定:
RS 或 RD 00 01 10 11 选定的寄存器 R0 R1 R2 R3
IN 和 OUT 的指令格式为:
7654(1) 32(1) OP-CODE RS 10(1) RD 7—0(2) P 34
计算机组成原理实验教程 山西大学计算机与信息技术学院
其中括号中的 1 表示指令的第一字节,2表示指令的第二字节,OP-CODE 为操作码,RS
为源寄存器,RD 为目的寄存器,P 为 I/O 端口号,占用一个字节,系统的 I/O 地址译码原理见 图 8-1(在地址总线单元)。
74LS139 A6 A7
A1 B1 A2 B2 G1N G2N
Y10N Y11N Y12N Y13N Y20N Y21N Y22N Y23N
IOY0 IOY1 IOY2 IOY3
图8-1 I/O 地址译码原理图
由于用的是地址总线的高两位进行译码,I/O 地址空间被分为四个区,如表 8-1 所示:
表8-1 I/O 地址空间分配
GND A7 A6 00 01 10 11
选定 IOY0 IOY1 IOY2 IOY3 地址空间 00-3F 40-7F 80-BF C0-FF
系统设计五种数据寻址方式,即立即、直接、间接、变址和相对寻址,LDI 指令为立即寻 址,LAD、STA、JMP 和 BZC 指令均具备直接、间接、变址和相对寻址能力。
LDI 的指令格式如下,第一字节同前一样,第二字节为立即数。
7654(1) 32(1) OP-CODE RS 10(1) RD 7—0(2) data
LAD、STA、JMP 和 BZC 指令格式如下。
7654(1) 32(1) OP-CODE M 10(1) RD 7—0(2) D
其中 M 为寻址模式,具体见表8-2,以 R2 做为变址寄存器 RI。
表8-2 寻址方式 寻址模式 M 00 01 10 11
有效地址 E E = D E =(D) E =(RI)+ D E =(PC)+ D 说 明 直接寻址 间接寻址 RI 变址寻址 相对寻址
35
计算机组成原理实验教程 山西大学计算机与信息技术学院
4.指令系统
本模型机共有 15 条基本指令,表 8-3 列出了各条指令的格式、汇编符号、指令功能。
表 8-3 指令描述 助记符号 指令格式 指令功能 MOV RD,RS 0100 RS RD RS RD ADD RD,RS 0000 RS RD RD + RS RD SUB RD,RS 1000 RS RD RD - RS RD AND RD,RS 0001 RS RD RD∧RS RD OR RD,RS 1001 RS RD RD∨RS RD RR RD,RS 1010 RS RD RS右环移 RD INC RD 0111 ** RD RD+1 RD LAD M D,RD 1100 M RD D E RD STA M D,RS 1101 M RD D RD E JMP M D 1110 M ** D E PC BZC M D 1111 M ** D 当FC或FZ=1时, E PC IN RD,P 0010 ** RD P [P] RD OUT P,RS 0011 RS ** P RS [P] LDI RD,D 0110 ** RD D D RD HALT 0101 ** ** 停机 8.4 总体设计
本模型机的数据通路框图如图 8-2 所示。
图 8-2 数据通路框图
36
计算机组成原理实验教程 山西大学计算机与信息技术学院
与前面的实验相比,复杂模型机实验指令多,寻址方式多,只用一种测试已不能满足设计要求,为此指令译码电路需要重新设计。如图8-3 所示在 IR 单元的 INS_DEC 中实现。
图 8-3 指令译码原理图
本实验中要用到四个通用寄存器 R3…R0,而对寄存器的选择是通过指令的低四位,为此还 得设计一个寄存器译码电路,在 IR 单元的 REG_DEC(GAL16V8)中实现,如图8-4 所示。
图 8-4 寄存器译码原理图
37
计算机组成原理实验教程
山西大学计算机与信息技术学院
根据机器指令系统要求,设计微程序流程图及确定微地址,如图8-5所示。 按照系统建议 的微指令格式,见表8-4。
表 8-4 微指令格式
23 M23 22 CN 8-6 21 20 19 18-15 14-12 11-9 WR RD IOM S3-S0 A字段 B字段 C字段 5-0 UA5-UA0 A字段
14 13 12 选择 0 0 0 NOP 0 0 1 LDA 0 1 0 LDB 0 1 1 LDRi 1 0 0 保留 1 0 1 LOAD 1 1 0 LDAR 1 1 1 LDIR
B字段
11 10 9 选择 0 0 0 NOP 0 0 1 ALU_B 0 1 0 RS_B 0 1 1 RD_B 1 0 0 RI_B 1 0 1 保留 1 1 0 PC_B 1 1 1 保留 C字段
8 7 6 选择 0 0 0 NOP 0 0 1 P<1> 0 1 0 P<2> 0 1 1 P<3> 1 0 0 保留 1 0 1 LDPC 1 1 0 保留 1 1 1 保留 38