课 程 设 计 报 告
课程名称: 计算机组成原理
设计题目: 复杂模型机的设计与实现
专
姓
学
业: 计算机科学与技术(交通信息工程)
名:
号:
同 组 人:
指导教师: 兰 勇
二零 一八 年 一 月
目录
1、课程设计任务书......................................................................................................2
1.1 设计任务.......................................................................................................... 2
1.2 性能指标和设计要求...................................................................................... 3
2、本设计的模型机体系结构及功能..........................................................................3
2.1 模型机的体系结构......................................................................................... 3
2.2 模型机的数据通路......................................................................................... 4
2.3 模型机的功能................................................................................................. 5
3、模型机硬件设计......................................................................................................5
4、模型机机器指令系统设计......................................................................................6
4.1 指令设计......................................................................................................... 6
4.2 指令格式......................................................................................................... 6
4.3 指令系统......................................................................................................... 8
5、模型机控制器微程序设计......................................................................................8
5.1 机器指令周期分析......................................................................................... 8
5.2 微程序流程图设计......................................................................................... 9
5.3 微指令格式设计........................................................................................... 10
5.4 微指令编码设计........................................................................................... 10
5.5 微指令地址及控存存储设计....................................................................... 10
6、模型机功能测试....................................................................................................13
6.1 机器指令功能调试........................................................................................ 13
6.2 整机功能测试................................................................................................ 14
7、结论........................................................................................................................17
致 谢..........................................................................................................................18
参考文献......................................................................................................................18
1
1、课程设计任务书
1.1 设计任务
基本模型机的设计与实现;
在基本模型机设计的基础上设计一台复杂模型机;
1.2 性能指标和设计要求
利用所学过的理论知识,特别是微程序设计的思想,设计基于微程序控制器
的的模型计算机,包括设计相应的硬件平台、机器指令系统和微指令等。设计环
境为 TD—CMA 计算机组成原理教学实验箱、微机,联机软件等。同时设计好
基于模型机的测试验证程序,并在设计好的硬件平台上调试通过,以验证所设计
的模型机功能的可行性和可靠性。在设计完成的前提下,撰写出符合要求的课程
设计说明书并通过设计与答辩。
1.基本模型机设计与实现
设计一台简单模型机,在具备基本必要的硬件平台的基础上,进一步要求其
机器指令系统至少要包括五条不同类型指令:如一条输入指令(假设助记符为
IN),一条加法指令(假设助记符为 ADD),一条输出指令(假设助记符为 OUT)、
一条无条件转移指令(假设助记符为 JMP)和一条停机指令(假设助记符为
HLT);在设计好的模型机基础上,设计一个进行两个数求和运算的测试验证程
序,用以验证模型机功能的可行性与可靠性。
2. 在任务 1 的基础上,增加机器指令系统的功能,设计具有不少于 10 条
机器指令的复杂指令系统模型机,包含算术逻辑指令、访问内存指令、控制转移
指令、输入输出指令、停机指等令。数据的寻址方式采用寄存器直接寻址。在设
计好的模型机基础上,进一步设计一个测试验证程序:从 IN 单元读入两个数据,
计算和,再输入一个数,用和减去这个数,再输入一个数,与刚得到的差进行或
运算。用此验证程序验证模型机功能的可行性与可靠性。
3、复杂模型机的 CPU 字长为 8 位,采用定点补码表示。指令字长为 8 的
整数倍。微指令字长为 24 位。
2、本设计的模型机体系结构及功能
2.1 模型机的体系结构
依据计算机系统的层次结构,本次设计的模型机可简化为下图所示的四层结
构,我们需要对每一层进行设计和实现。
2
图 1 模型机系统的层次结构
2.2 模型机的数据通路
模型机的数据通路图如下:
图 2 模型机的数据通路图
3
2.3 模型机的功能
本模型机共设计三大类指令,其中包括运算类指令,控制转移类指令,数据
传送类指令。可以实现算数、逻辑运算功能,输入、输出功能,停机转移功能等。
3、 模型机硬件设计
对于本次设计,我们需要在 TD-CMA 实验箱的基础上,利用实验箱能提供
的基本功能模块设计出模型机的总体结构和数据通路。设计中我们主要使用的主
要模块有:运算器,进行算数和逻辑运算。控存,存放相应的微指令。输入输出
系统,用来从外设读入数据和将运算结果输出,并在数码管显示。还有指令寄存
器、地址寄存器以及主存,然后用系统总线将这些模块连接起来。具体电路图设
计如下:
图 3 复杂模型机电路图
4
4、模型机机器指令系统设计
4.1 指令设计
模型机设计三大类指令共十五条,其中包括运算类指令、控制转移类指令,
数据传送类指令。运算类指令包含三种运算,算术运算、逻辑运算和移位运算,
设计有 6 条运算类指令,分别为:ADD、AND、INC、SUB、OR、RR,所有
运算类指令都为单字节,寻址方式采用寄存器直接寻址。控制转移类指令有三条
HLT、JMP、BZC,用以控制程序的分支和转移,其中 HLT 为单字节指令,JMP
和 BZC 为双字节指令。数据传送类指令有 IN、OUT、MOV、LDI、LAD、STA
共 6 条,用以完成寄存器和寄存器、寄存器和 I/O、寄存器和存储器之间的数
据交换,除 MOV 指令为单字节指令外,其余均为双字节指令。
4.2 指令格式
所有单字节指令(ADD、AND、INC、SUB、OR、RR、HLT 和 MOV)
格式如下:
表 1 单字节指令格式
7654
OP-CODE
32
RS
10
RD
其中,OP-CODE 为操作码,RS 为源寄存器,RD 为目的寄存器,并规定:
表 2 寄存器译码
RS 或 RD
选定的寄存器
00
01
10
11
R0
R1
R2
R3
数据传送类 IN 和 OUT 的指令格式为:
表 3
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
由于用的是地址总线的高两位进行译码,I/O 地址空间被分为四个区,如图
所示:
表 4
I/O 地址空间分配表
图 4 译码原理图
A7 A6
00
01
10
11
选定
IOY0
IOY1
IOY2
IOY3
地址空间
00-3F
40-7F
80-BF
C0-FF
系统设计五种数据寻址方式,即立即、直接、间接、变址和相对寻址,LDI
指令为立即寻址,LAD、STA、JMP 和 BZC 指令均具备直接、间接、变址和
相对寻址能力。
LDI 的指令格式如下,第一字节同前一样,第二字节为立即数。
表 5 LDI 指令格式
7654(1) 32(1) 10(1)
OP-CODE
RS
RD
7—0(2)
Data
LAD、STA、JMP 和 BZC 指令格式如下:
表 6 LAD、STA、JMP、BZC 指令格式
7654(1) 32(1) 10(1)
7—0(2)
OP-CODE
RS
RD
D
其中 M 为寻址模式,具体见表 7,以 R2 做为变址寄存器 RI。
表 7 寻址模式
寻址模式 M
00
01
10
11
有效地址 E
E = D
E =(D)
E =(RI)+ D
E =(PC)+ D
6
说 明
直接寻址间接
寻址
RI 变址寻址相
对寻址
4.3 指令系统
本模型机共有 15 条基本指令,表 8 列出了各条指令的格式、汇编符号、
指令功能。
表 8 指令描述
助记符号
指令格式
指令功能
MOV RD,RS
ADD RD,RS
0100
0000
RS
RS
RD
RD
SUB RD,RS
1000 RS
RD
AND RD,RS
0001
RS
RD
OR RD,RS
1001 RS
RD
RS
RD
RD + RS
RD - RS
RD
RS
RD
RS
RD
RD
RD
RD
RR RD,RS
INC RD
1010
0111
RS
**
RD
RD
RS 右环移
RD
RD+1
RD
LAD M D,RD
1100 M RD D
STA M D,RS JMP
1101 M RD D
1110 M ** D
1111 M ** D
M D
BZC M D
IN RD,P OUT
P,RS
0010 **
0011 RS
RD
**
RD
P
P
D
LDI RD,D
0110 **
E
RD
E
RD
E
PC
当 FC 或 FZ=1 时,
E
PC
[P]
RD
RS
[P]
D
RD
HALT
0101
**
**
停机
5、模型机控制器微程序设计
5.1 机器指令周期分析
机器指令周期分为取指周期和执行周期。一旦硬件电路设计好,每条指令
的取指周期都是相同的。但它们实现的功能不同,所以执行周期一般不同。
在取指周期,CPU 根据当前 PC 的值访存取指,并将取出的指令代码送指
令寄存器 IR,然后对程序计数器 PC 加一,形成取下一条指令的地址,最后对
7