复杂模型机设计实验
实验目的
综合运用所学计算机组成原理知识,设计并实现较为完整的计算机。
实验设备
PC机一台,TD-CMA实验系统一套。
实验原理
下面讲述一下模型计算机的数据格式及指令系统。
模型机规定采用定点补码表示法表示数据,字长为8位,8位全用来表示数据(最高位不表示符号),数值表示范围是: 0≤X≤28-1。
模型机设计三大类指令共十五条,其中包括运算类指令、控制转移类指令,数据传送类指令。运算类指令包含三种运算,算术运算、逻辑运算和移位运算,设计有6条运算类指令,分别为:ADD、AND、INC、SUB、OR、RR,所有运算类指令都为单字节,寻址方式采用寄存器直接寻址。控制转移类指令有三条HLT、JMP、BZC,用以控制程序的分支和转移,其中HLT为单字节指令,JMP和BZC为双字节指令。数据传送类指令有IN、OUT、MOV、LDI、LAD、STA共6条,用以完成寄存器和寄存器、寄存器和I/O、寄存器和存储器之间的数据交换,除MOV指令为单字节指令外,其余均为双字节指令。
所有单字节指令(ADD、AND、INC、SUB、OR、RR、HLT和MOV)格式如下:
7654
32
10
OP-CODE
RS
RD
其中,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,并规定:
RS或RD
选定的寄存器
00
01
10
11
R0
R1
R2
R3
IN和OUT的指令格式为:
7654(1)
32(1)
10(1)
7—0(2)
OP-CODE
RS
RD
P
其中括号中的1表示指令的第一字节,2表示指令的第二字节,OP-CODE为操作码,RS为源寄存器,RD为目的寄存器,P为I/O端口号,占用一个字节,系统的I/O地址译码原理见图5-3-1(在地址总线单元)。
图5-3-1 I/O地址译码原理图
由于用的是地址总线的高两位进行译码,I/O地址空间被分为四个区,如表5-3-1所示:
表5-3-1 I/O地址空间分配
A7 A6
选定
地址空间
00
IOY0
00-3F
01
IOY1
40-7F
10
IOY2
80-BF
11
IOY3
C0-FF
系统设计五种数据寻址方式,即立即、直接、间接、变址和相对寻址,LDI指令为立即寻址,LAD、STA、JMP和BZC指令均具备直接、间接、变址和相对寻址能力。
LDI的指令格式如下,第一字节同前一样,第二字节为立即数。
7654(1)
32(1)
10(1)
7—0(2)
OP-CODE
RS
RD
data
LAD、STA、JMP和BZC指令格式如下。
7654(1)
32(1)
10(1)
7—0(2)
OP-CODE
M
RD
D
其中M为寻址模式,具体见表5-3-2,以R2做为变址寄存器RI。
表5-3-2 寻址方式
寻址模式M
有效地址E
说明
00
01
10
11
E = D
E =(D)
E =(RI)+ D
E =(PC)+ D
直接寻址
间接寻址
RI变址寻址
相对寻址
本模型机共有15条基本指令,表5-3-3列出了各条指令的格式、汇编符号、指令功能。
表5-3-3 指令描述
总体设计
本模型机的数据通路框图如图5-3-2所示。
图5-3-2 数据通路框图
和前面的实验相比,复杂模型机实验指令多,寻址方式多,只用一种测试已不能满足设计要求,为此指令译码电路需要重新设计。如图5-3-3所示在IR单元的INS_DEC中实现。
图5-3-3 指令译码原理图
本实验中要用到四个通用寄存器R3…R0,而对寄存器的选择是通过指令的低四位,为此还得设计一个寄存器译码电路,在IR单元的REG_DEC(GAL16V8)中实现,如图5-3-4所示。
图5-3-4 寄存器译码原理图
根据机器指令系统要求,设计微程序流程图及确定微地址,如图5-3-5所示。
按照系统建议的微指令格式,见表5-3-4,参照微指令流程图,将每条微指令代码化,译成二进制代码表,见表5-3-5,并将二进制代码表转换为联机操作时的十六进制格式文件。
表5-3-4 微指令格式
图5-3-5 微程序流程图
表5-3-5 二进制代码表
地址
十六进制表示
高五位
S3-S0
A字段
B字段
C 字段
UA5-UA0
00
00 00 01
00000
0000
000
000
000
000001
01
00 6D 43
00000
00
复杂模型机实验 来自淘豆网m.daumloan.com转载请标明出处.