课程设计(论文)任务书
学 院 计 算 机 科 学 及 技 术 专 业
班
《基本模型机设计与实现》
一、课程设计(论文)题目
二、课程设计(论文)工作自 2010 年 6 月 28 日起至 2010 年 7 月 2 日止。
三、课程设计(论文) 地点:
四、课程设计(论文)内容要求:
1.本课程设计的目的
教 5—301
1、 使学生将掌握的基本理论应用于实践中;
2、 在实际操作中加深对计算机各种部件的组成和工作原理的理解;
3、 掌握微程序计算机中指令和微指令的编码方法;
4、 深入理解机器指令在计算机中的运行过程;
5、 提高学生的论文写作能力
2.课程设计的任务及要求
1)基本要求:
1、 学生动手操作实验设备;2、掌握微程序设计思想和方法,设计实现一个简单的模
型机;该模型机由运算器、寄存器、译码电路、存储器、和存储微指令用的控制存储
器组成,并能实现一些简单的机器指令,并根据设计好的指令设计简单的机器指令程
序,实现输入、输出、存储器读写和简单的加、减等控制指令。3、自行设计与机器指
令相对应的微指令代码;4、验证所编写的指令和微指令的执行情况是否符合设计要求;
5、对运算结果的正、误分析原因。
2)课程设计论文编写要求
(1)要按照书稿的规格打印誊写论文
(2)论文包括目录、正文、小结、参考文献等
(3)论文装订按学校的统一要求完成
3)参考文献:
《计算机组成原理与系统结构》 甘岚 刘美香 陈自刚著 北京邮电大学出版社
《微机原理与汇编语言程序设计》
荆淑霞 著
中国水利水电出版社
《计算机组成原理实验指导书》
4)课程设计进度安排
内容
天数
地点
构思及收集资料
编程与调试
撰写论文
2
2
1
图书馆
实验室
寝室
学生签名:
2010 年 6 月 28 日
课程设计(论文)评审意见
(1)完成分析(20 分):优( )、良( )、中( )、一般( )、差( );
(2)设计过程(40 分):优( )、良( )、中( )、一般( )、差( );
(3)完成调试(20 分):优( )、良( )、中( )、一般( )、差( );
(4)回答问题(20 分):优( )、良( )、中( )、一般( )、差( );
(5)格式规范性及考勤是否降等级:是( )、否( )
评阅人:
职称: 讲师
2010 年 7 月 5 日
目 录
一、程序设计......................................................................................4
二、微程序设计.............................................................................................................6
三、线路连接......................................................................................9
四、微程序调试................................................................................10
五、结果分析....................................................................................13
六、课设小结....................................................................................13
七、参考文献....................................................................................14
一、程序设计
本课程设计中将由微程序控制下自动产生各部件单元控制信号,完成 CPU
从内存中取出一条机器指令到指令执行结束的一个指令周期的全过程。
本实验的采用五条机器指令:IN(输入)、ADD(二进制加法)、STA(将数
存入直接地址中)、OUT(输出)、JMP(无条件转移),其中 IN 为单字长
为了向 RAM 中装入程序和数据,检查写入是否正确,并能启动程序执行,
还设计了三个控制台操作微程序:
存储器读操作(KRD):拨动总清开关 CLR 后,当控制台开关 SWB、SWA 置
为“00”时,按 START 微动开关,可对 RAM 进行连续手动读操作。
存储器写操作(KWE):拨动总清开关 CLR 后,当控制台开关 SWB、SWA 置
为“01”时,按 START 微动开关,可对 RAM 进行连续手动写入。
启动程序:拨动总清开关 CLR 后,当控制台开关 SWB、SWA 置为“11”
时,按 START 微动开关,即可转入到第 01 号“取指”微指令,启动程序运行。
上述三条控制台指令用两个开关 SWB、SWA 的状态来设置,其定义如表 2:
SWB
SWA
0
0
0
0
1
1
控制台指令
读内存(KRD )
写内存(KRD )
启动程序(RP)
启动程序:当控制台开关 SWB、SWA 置为“1 1”时,按 START 微动开关,即
可转入到第 01 号“取指”微指令,启动程序运行。
根据以上要求设计数据通路框图如图 1.1 所示:
图 1.1 数据通路框图
1
微指令格式如表 3 所示:
24 23 22 21 20 19
S3 S2 S1 S0
M
Cn
18
WE
17
A9
16 15 14 13 12 11 10 9 8 7
6
5
4
3
2
1
A8
A
B
C
μA5 μA4 μA3 μA2 μA1 μA0
按照数据通路可画出机器指令的微程序流程图如图 2 所示。当拟定“取指”
微指令时,该微指令的判别测试字段为 P(1)测试。由于“取指”微指令是所有
微程序都使用的公用微指令,因此 P(1)的测试结果出现多路分支。本实验中共
出现 5 路分支,分别对应 5 种机器指令。占用 5 个固定的微地址单元。
2
二、微程序设计
图 2.1 微程序流程图
当全部微程序设计完毕,按微指令格式转化而成“二进制微代码表”
图 2.2 控制台流程图
微代码表
微地址 S3 S2 S1 S0 M CN WE A9 A8
00
1
1
01
1
02
03
1
1
04
1
05
06
1
1
07
0
10
11
1
1
12
1
13
14
1
1
15
16
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
0
0
A
0 0 0
1 1 0
1 0 0
1 1 0
0 1 1
0 1 0
0 0 1
1 1 0
0 0 1
1 1 0
1 1 0
1 1 0
1 1 0
0 0 1
1 1 0
B
0 0 0
1 1 0
0 0 0
0 0 0
0 0 0
0 0 1
1 0 1
0 0 0
0 0 0
1 1 0
1 1 0
1 1 0
1 1 0
0 0 1
0 0 0
C
1 0 0
1 1 0
0 0 1
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
1 1 0
1 1 0
1 1 0
1 1 0
0 0 0
0 0 0
μ1μ2μ3μ4μ5μ6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
1
0
1
0
0
1
1
1
0
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
1
1
1
1
0
0
1
1
17
20
21
22
23
24
25
26
27
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
1
0 1 0
1 1 0
1 1 0
0 1 0
0 0 0
0 1 0
0 0 0
1 0 1
0 0 0
0 0 0
0 0 0
1 1 0
1 1 0
0 0 0
0 0 0
0 0 0
1 0 1
0 0 0
1 0 1
1 0 1
0 0 0
1 1 0
1 1 0
0 0 0
0 0 0
0 0 0
0 0 0
1 1 0
0 0 0
0 0 0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
联机写入程序(微指令),按照实验要求的规定格式,将机器指令及微指令
二进制代码表编辑成十六进制的文件:
机器指令
$P0000
$P0110
$P020A
$P0320
$P040B
$P0530
$P060B
$P0740
$P0800
$P0A01
微指令
$M00108101
$M0182ED01
$M0248C000
$M0304E000
$M0405B000
$M0506A201
$M06019A61
$M070DE000
$M08011000
$M0983ED01
$M0A87ED01
$M0B8EED01
$M0C96ED01
$M0D018202