安徽理工大学
计 算 机 组 成 原 理
课 程 设 计 报 告 书
题目:
设计六条指令
院
系: 计算机科学与工程学院
专业班级: 信息安全 14-1 班
学
号:
2014302776
学生姓名:
冯庆玲
指导教师: 詹
林
2016 年 6 月 22 日
1
安徽理工大学课程设计(论文)任务书
计算机科学与技术工程 学院
信息安全 系
学 号 2014302776 学生姓名
冯庆玲
专业 (班级) 信息安全 14-1
设计题目
设计六条指令系统
设
计
技
术
参
数
设
计
要
求
工
作
量
工
作
计
划
参
考
资
料
1.通过实验箱系统连接设计;
2.设计取数据、存数据、减法、传送、有条件转移五指令;
3.编写微程序代码实现相关的功能;
4. 编写测试程序
设计要求:在实验箱系统中用微指令设计取数据、存数据、进位加、传
送、减一、无条件转移六条指令的 CPU 程序。通过实验箱调试。
要求指令 MOV A,R1 ADC A,R1 LD R1,@R0
R1,R0
ST A,@R1 DEC A MOV
JZ #
1.课程设计说明书 2000 字;
2.画出流程图,编写微指令代码和程序;
3.编写出试验过程、试验结果。
4.第一周 学习微程序控制器,了界实验箱中的各结构。
5.第二周 分析题目,查阅资料,画出流程图,设计出微指令。
6.第三周 按实验要求连线,编写程序在实验箱上运行
7.第四周 写课程设计报告
[1] 白中英 著 ,计算机组成原理。
[2] 张功萱 著 ,计算机组成原理 ,清华大学出版社,2005 年 09
月
[3]王诚
著,计算机组成原理实验指导书,清华大学出版社,2002
[4] 杨小龙.计算机组成原理与系统结构实验教程. 西安:西安电子科
技大学出版社,2004
指导教师签字
詹林
系主任签字
2016 年 月 日
2
安徽理工大学课程设计(论文)成绩评定表
指导教师评语:
成绩:
指导教师:
年
月 日
3
摘 要
本次计算机组成原理课程设计课题是基本模型机的设计(五条指令的设计)。利
用简单模型机来实现计算机组成原理课程及实验中所学到的实验原理和编程思想,硬
件设备自拟,编写指令的应用程序,用微程序控制器实现了一系列的指令功能,最终
达到将理论与实践相联系。本次设计完成了各指令的格式以及编码的设计,实现了各
机器指令微代码,设计基本模型机的指令系统(包括取数,存数,算术减运算,有条
件转移,传送指令),形成具有一定功能的完整的应用程序。
简言之,这次设计,计算机数据通路的控制将由微程序控制器来完成,CPU 从内
存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来
完成,即一条机器指令对应一条微程序,一条微程序又有若干微指令组成,一条微指
令的功能由 24 位操作信号(即控制位)实现。
4
目 录
1.概述..................................... .........6
2.系统分析............................................6
2.1 设计背景..........................................6
2.2 设计目标..........................................8
3.系统设计............................................8
3.1 指令集设计........................................8
3.2 微指令集..........................................9
3.3 程序设计流程图....................................13
4.系统实现...............................................14
4.1 测试程序..........................................14
4.2 程序微指令.................................................15
总结..................................................20
5.1 设计体会.........................................20
5.2 系统改进.........................................20
参考文献..............................................21
5
1.概述
本课程设计的模型机的指令码为 8 位,根据指令类型的不同,可以有 0 到 2 个操
作数,指令码的最低两位用来选择 R0-R3 寄存器。在微程序控制方式下,用指令码作
为微地址来寻址微程序存储器,找到执行该指令的微程序。在本模型机中,一条指令
最多分为四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控
制逻辑,实现模型机的各种功能。模型机有 24 位控制位以控制寄存器的输入输出,
选择运算器的运算功能,存储器的读写。
2.系统设计
2.1 设计背景
CPTH 模型机包括了一个标准 CPU 所具备所有部件,这些部件包括:运算器 ALU、
累加器 A、工作寄存器 W、左移门 L、直通门 D、右移门 R、寄存器组 R0-R3、程序计
数器 PC、地址寄存器 MAR、堆栈寄存器 ST、中断向量寄存器 IA、输入端口 IN、输出
端口寄存器 OUT、程序存储器 EM、指令寄存器 IR、微程序计数器 uPC、微程序存储器
uM,以及中断控制电路、跳转控制电路。其中运算器和中断控制电路以及跳转控制电
路用 CPLD 来实现,其它电路都是用离散的数字电路组成。微程序控制部分也可以用
组合逻辑控制来代替。
模型机为 8 位机,数据总线、地址总线都为 8 位,但其工作原理与 16 位机相同。
相比而言 8 位机实验减少了烦琐的连线,但其原理却更容易被学生理解、吸收
这次设计,计算机数据通路的控制将由微程序控制器来完成,CPU 从内存中取出一条
机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条
机器指令对应一条微程序,一条微程序又有若干微指令组成,一条微指令的功能由
24 位操作信号(即控制位)实现。
24 位控制位分别介绍如下:
XRD:外部设备读信号,当给出个外设的地址后,输出此信号,从指定外设读数据。
EMWR:程序存储器 EM 写信号
EMRD:程序存储器 EM 读信号
PCOE:将程序计数器 PC 的值送到地址总线 ABUS 上
EMEN:将程序存储器 EM 与数据总线 DBUS 接通,有 EMWR 和 EMRD 决定是将 DBUS 数
据写入 EM 中,还是从 EM 读出数据到 DBUS
6
IREN:将程序存储器 EM 独处的数据打入指令寄存器 IR 和微指令计数器 uPC
EINT:中断返回时清除中断响应和中断请求标志,便于下次中断。
ELP:PC 打入允许,与指令寄存器的 IR2.,IR3 位结合,控制程序跳转。
MAREN:将数据总线 DBUS 上数据打入地址寄存器 MAR
MAROE:将地址寄存器 MAR 的值送到地址总线 ABUS 上
OUTEN:将数据总线 DBUS 上数据送到输出端口寄存器 OUT 里
STEN:将数据总线 DBUS 上数据存到堆栈寄存器里
RRD:读寄存器组 R0-R3,寄存器 R?的选择由指令的最低两位决定
RWR:写寄存器组 R0-R3,寄存器 R?的选择由指令的最低两位决定
CN:决定运算器是否带进位移位,CN=1 带进位,CN=0 不带进位
FEN:将标志位存入 ALU 内部的标志寄存器
X2,X1,X0 三位组合来译码选择将数据送到 DBUS 上的哪个寄存器,见表 1
WEN:将数据总线 DBUS 的值打入工作寄存器 W 中
AEN:将数据总线 DBUS 的值打入累加器 A 中
S2,S1,S0 三位组合决定 ALU 做何种运算,见表 2
X2
X1
X0
输出寄存器
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
IN_OE 外部输入门
IA_OE 中断向量
ST_OE 堆栈寄存器
PC_OE
PC 寄存器
D_OE
直通门
R_OE
右移门
L_OE
左移门
没有输出
表 1
7
S2
S1
S0
功能
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
A+W
A-W
A|W
加
减
或
A & W 与
A+W+C 带进位加
A-W-C 带进位减
A 取反
输出 A
~A
A
表 2
2.2 设计目标
本课程设计要求实现机器指令要求实现指令:LD(取数),ST(存数), MOV(传送),
ADC (进位加), DEC (减一), JZ(无条件转移) 利用模型机对于设计的微指令集进行编写程
序测试,并分析结果是否正确,
3.系统设计
3.1 指令集设计
如图 1 所示:
8