计算机组成原理课设02.docx
- 文档编号:3721272
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:19
- 大小:613.91KB
计算机组成原理课设02.docx
《计算机组成原理课设02.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课设02.docx(19页珍藏版)》请在冰豆网上搜索。
计算机组成原理课设02
课程设计(论文)任务书
学 院 专 业 班
一、课程设计(论文)题目 基本模型机设计与实现
二、课程设计(论文)工作自2011年6月20日起至2011年6月24日止。
三、课程设计(论文)地点:
四、课程设计(论文)内容要求:
1.课程设计的目的
通过课程设计的综合训练,在掌握部件单元电路实验的基础上,进一步掌握整机
概念。
培养学生实际分析问题、解决问题和动手能力,最终目标是想通过课程设计的
形式,帮助学生系统掌握该门课程的主要内容,更好地完成教学任务。
2.课程设计的任务及要求
1)基本要求
(1)课程设计前必须根据课程设计题目认真查阅资料;
(2)实验前准备好实验程序及调试时所需的输入数据;
(3)实验独立认真完成;
(4)对实验结果认真记录,并进行总结和讨论。
2)课程设计论文编写要求
(1)按照书稿的规格撰写打印课设论文
(2)论文包括目录、绪论、正文、小结、参考文献、附录等
(3)正文中要有问题描述、实验原理、设计思路、实验步骤、调试过程与遇到问
题的解决方法、总结和讨论等
(4)课设论文装订按学校的统一要求完成
3)课设考核
从以下几方面来考查:
(1)出勤情况和课设态度;
(2)设计思路;
(3)代码实现;
(4)动手调试能力;
(5)论文的层次性、条理性、格式的规范性。
4)参考文献
[1]王爱英.计算机组成与结构[M].北京:
清华大学出版社,2007.
[2]王爱英.计算机组成与结构习题详解与实验指导[M].北京:
清华大学出版社,
2007.
5)课程设计进度安排
内容天数 地点
构思及收集资料1 图书馆
实验与调试3 实验室
撰写论文1 图书馆
6)任务及具体要求
设计实现一个简单的模型机,该模型机包含若干条简单的计算机指令,其中至少包括输入、输出指令,存储器读写指令,寄存器访问指令,运算指令,程序控制指令。
学生须根据要求自行设计出这些机器指令对应的微指令代码,并将其存放于控制存储器,并利用机器指令设计一段简单机器指令程序。
将实验设备通过串口连接计算机,通过联机软件将机器指令程序和编写的微指令程序存入主存中,并运行此段程序,通过联机软件显示和观察该段程序的运行,验证编写的指令和微指令的执行情况是否符
合设计要求,并对程序运行结果的正、误分析其原因。
学生签名:
2011年6月20日
课程设计(论文)评审意见
(1)设计思路:
优( )、良( )、中( )、一般( )、差( );
(2)代码实现 :
优( )、良( )、中( )、一般( )、差( );
(3)完成调试能力评价 :
优( )、良( )、中( )、一般( )、差( );
(4)论文格式规范性评价:
优( )、良( )、中( )、一般( )、差( );
(5)考勤和态度:
优( )、良( )、中( )、一般( )、差( );
评阅人:
职称:
讲师
2011年6月28日
目录
1绪论1
1.1.课设目的1
1.2.课设意义1
1.3.课设内容1
2问题描述2
3实验原理3
4详细设计6
4.1.设计数据通路框图6
4.2.程序流程图7
4.3.实验步骤10
4.4.编码实现13
5运行调试及结果分析14
6心得体会与小结17
参考文献18
1绪论
1.1.课设目的
融会贯通计算机组成原理课程和计算机系统结构课程设计的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识。
在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。
为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念。
学习运用技术进行设计和调试的基本步骤和方法,熟悉集成开发软件中设计,模拟调试工具的使用,培养科学研究的独立工作能力,取得功能设计与组装调试的实践经验。
1.2.课设意义
通过这次课设,了解基本模型机的设计与实现过程,以及它的工作原理。
加深对计算机系统模块的工作原理及相互联系的理解。
能够在实验过程中发现错误,找出错误,并将其改正。
通过调试,得出自己所需的结果。
在掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握信息流和控制信息流的流动过程,进一步加深计算机系统各模块间相互关系的认识和整机的概念。
培养开发和调试计算机的技能,再设计实践中提高应用所学专业只是分析问题和解决问题的能力。
培养与合作伙伴的团结合作精神。
培养科学研究的独立工作能力,取得工程设计与组装调试的实践经验。
1.3.课设内容
本次课程设计的主要内容是对基本模型机的设计与实现,能够自己设计机器指令并且能够翻译为微程序,并能够将机器指令和微程序分别打入模拟机的内存和控制存储器中,并通过程序调试能将所编写的程序正确运行。
2问题描述
在掌握部件单元电路实验基础上,进一步将其组成系统构造一台基本模型计算机。
为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念。
1.按给定的数据格式和指令系统,理解为程序控制器的设计原理
2.设计给定机器指令系统以及微程序流程图,按照指令格式写出微程序的微指令代码
3.按实验连接图连接逻辑图,完成启动、测试、编程、校验和运行,并观察运行过程及结果
4.将微程序控制器模块与运算器模块、存储器模块联机,组成一台模拟计算机。
5.用微程序控制器控制模型机的数据通路。
6.通过在模型机上运行由机器指令组成的简单程序,掌握机器指令与微指令之间的关系,建立计算机的整机概念,掌握计算机的控制机制。
7.按指定应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型及数据通路设计实现机器指令功能的微程序。
在pc机上编辑机器指令和微程序,装载代码到试验系统并运行,观察数据通路流向。
3实验原理
部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。
这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
本实验采用五条机器:
IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JWP(无条件转移)。
其中IN为单字长,其余为双字长指令。
为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。
存储器读操作(KRD):
拨动总清开关CLR后,控制开关SWB、SWA为“00”时,按START微动开关,可对RAM连续手动读操作。
存储器写操作(KWE):
拨动总清开关CLR后,控制台开关SWB、SWA为“01”时,按START微动开关,可对RAM连续手动写入。
启动程序:
拨动总清开关CLR后,控制开关SWB、SWA为“11”时,按START微动开关,即可转入到第01号“取指”微指令,启动程序运行。
上述三条控制台指令用俩个开关SWB、SWA的状态来设置,其定义如下:
表3.1定义控制台指令
SWB
SWA
控制台指令
0
0
1
0
1
1
读内存(KRD)
写内存(KWE)
启动程序(RP)
表3.2微程序定义表
24
23
22
21
20
19
18
17
16
S3
S2
S1
S0
M
Cn
WE
A9
A8
151413
121110
987
A
B
C
6
5
4
3
2
1
UA5
UA4
UA3
UA2
UA1
UA0
A字段如下:
15
14
13
选择
0
0
0
0
0
1
LDRi
0
1
0
LDR1
0
1
1
LDDR2
1
0
0
LDIR
1
0
1
LOAD
1
1
0
LDAR
B字段如下:
12
11
10
选择
0
0
0
0
0
1
RS-B
0
1
0
RD-B
0
1
1
R1-B
1
0
0
299-B
1
0
1
ALU-B
1
1
0
PC-B
C字段如下:
9
8
7
选择
0
0
0
0
0
1
P
(1)
0
1
0
P
(2)
0
1
1
P(3)
1
0
0
P(4)
1
0
1
AR
1
1
0
LDPC
4详细设计
4.1.设计数据通路框图
图4.1数据通路框图
4.2.程序流程图
系统涉及到微程序的流程见图4-1,当拟定“取址”微指令时,该该微指令的判别测试字段为P
(1)测试。
由于“取址”微指令是所有微程序都使用的公共微指令,因此P
(1)的测试结果出现多路分支。
本机用微指令寄存器的前4位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定微地址单元。
控制台操作为P(4)测试,他以控制台开关SWB,SWA作为测试条件,出现了3路分支,占用3个固定微指令地址单元。
当分支微指令单元固定后,剩下的其他地方就可以一条微指令占用一个微地址单元随意填写。
注意:
微程序流程图上的单
元地址为8进制控制台
~01
图4.2微程序流程图
当全部微程序设计完毕后,应将每条微指令代码化,表4-2为将微程序流程图按微指令格式转化而成的“二进制代码表”
表4.2二进制代码表
微地址
S3S2S1S0MCNWEA9A8
A
B
C
UA5.UA0
00
000000011
000
000
100
010000
01
000000011
110
110
110
000010
02
000000001
100
000
001
001000
03
000000001
110
000
000
000100
04
000000001
011
000
000
000101
05
000000011
010
001
000
000110
06
100101011
001
101
000
000001
07
000000001
110
000
000
001101
10
000000000
001
000
000
000001
11
000000011
110
110
110
000011
12
000000011
110
110
110
000111
13
000000011
110
110
110
001110
14
000000011
110
110
110
010110
15
000000101
000
001
000
000001
16
000000001
110
000
000
001111
17
000000001
010
000
000
010101
20
000000011
110
110
110
010010
21
000000011
110
110
110
010100
22
000000001
010
000
000
010111
23
000000011
000
000
000
000001
24
000000000
010
000
000
011000
25
000001110
000
101
000
000001
26
000000001
101
000
110
000001
27
000001110
000
101
000
010000
30
000001101
000
101
000
010001
本实验设计机器指令程序如下:
地址(二进制)内容(二进制)助记符说明
0000000000000000IN“INPUTDEVICE”→R0
0000000100010000ADD[0AH]R0→[1AH]
0000001000001010
0000001100100000STA[0BH]R0→[0BH]
0000010000001011
0000010100110000OUT[0BH][0BH]→BUS
0000011000001011
0000011101000000JMP[00H]00H→PC
0000100000000000
00001001
0000101000000001自定
00001011求和结果
4.3.实验步骤
(1)按图4-3连接实验线路。
(2)写程序
方法一:
手动写入
先将机器指令对应的微代码正确的写入2816中,忧郁在实验(三)微程序控制实验中已将微代码写入E2PROM芯片中,对照表4-2校验正确后就可使用。
实用控制台KWE和KRD微程序进行机器指令程序的装入和检查。
是编程开关处于“RUN”,STEP为“STEP”状态,STOP为“RUN”状态。
波动总清开关CLR(0 1),微地址寄存器清零,程序计数器清零。
然后使控制台SWB、SWA开关置为“01”按动一次启动开关START,微地址显示灯显示“010001”,在按动一次START,微地址灯显示“010100”,此时数据开关的内容置为要写入的机器指令,按动一次STRAT键,即完成该条指令的写入。
若仔细阅读KWE的流程,剧不难发现,机器指令的首地址只要第一次给入即可,PC会自动加1,所以每次按动START,只在有微地址显示“010100”时,才设置内容,知道所有机器指令写完。
写完程序后须进行检验。
波动总清开关CLR(0 1)后,微地址清零,PC程序计数器清零,然后是控制台开关SWB、SWA为“00,按动启动START,微地址灯将显示为“010111”,此时总线单元的显示灯显示为该首地址的内容。
不断按动STRAT,可检查后粗单元内容,注意:
每次仅在微地址显示灯显示为“010111”时,显示灯的内容才是相应地址中的机器指令内容。
方法二:
联机读/写程序
按规定格式,将机器指令及表4-2伪指令二进制表编辑成十六进制的如下格式文件。
程序 机器指令格式说明:
$P0000$XXXX
$P0110
$P020A机器指令代码
$P0320十六进制地址
$P040B
$P0530
$P060B微指令格式说明:
$P0740$MXXXXXXX
$P0800微指令代码
$P0A01十六进制地址
$M00108101注意:
因系统文件各式要求,微指令格式文件和控制存储器的微指令代码的第一字节
$M0248C000(前八位)与第三字节(后八位)对换一下
$M0304E000
$M0505B000
$M0506A201
$M06019A95
$M070DE000
$M08011000
$M0983ED01
$M0A87ED01
$M0B8EED01
$M0C96ED01
$M0D018202
$M0E0FE000
$M0f15A000
$M1092ED01
$M1194ED01
$M1217A000
$M13018001
$M14182000
$M15010A07
$M1681D100
$M17100A07
$M18118A06
用联机软件的传送文件功能(F4)将该格式文件传入实验系统即可。
(3)运行程序
①单步运行程序
A.是编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”状态。
B.波动总清开关CLR(01)微地址清零,PC程序计数器清零,程序首地址为“00H”。
C.单步运行一条微指令,每按动一次START键,即单步运行一条微指令。
对照微程序流程图,观察微地址显示灯是否和流程一致。
D.当运行结束后,可检查存数单元(0B)中的结果是否和理论值一致。
②连续运行程序
A.使“STATEUNIT”中的STEP开关置于“EXEC”状态,STOP开关置为“RUN”状态。
B.波动CLR开关,清微地址及PC计数器,按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。
C.停机后,可检查存数单元(0B)结果是否正确。
③若联机运行程序时,进入DEBUG调试界面,总清开关CLR(01)清零后,程序首地址为00H,按2相应功能键即可联机运行、调试程序。
实验接线图如图4.3所示:
图4.3实验接线图
4.4.编码实现
指令执行流程:
输入两个数05,01分别送到存储器地址单元1AH,1BH,
05→[1AH]//IN,STA
01→[1BH]//IN,STA
1AH→R0//IN
[R0]→R0//自己设计
R0-[1BH]→R0//自己设计
R0→[1CH]
[1CH]→LED显示存储单元1CH内容
5运行调试及结果分析
图5.105H—>[1AH]
图5.201H—>[1BH]
图5.31AH—>R0
图5.41A存入内存
图5.5把1AH送给地址寄存器,得到ram的值为1AH里面的值=05H
图5.6
图5.7
图5.8R0—>1CH
图5.91CH—>BUS
通过调试,可以观察到上述所示的控制信息流的流向图,可以清楚的看到信息流的流动,来判断实验是否正确。
6心得体会与小结
通过这一次的课程设计,我收获颇多。
了解到了基本模型机的设计与实现原理。
而经过这几天对计算机组成原理课设的实践,慢慢的对计算机的组成与部件有了进一步的了解也让我觉得自己的动手能力有了很大的自信心也增强了,在课程设计中遇到的问题自己都有自己动手去解决上网XX与查书,书本上的知识有了用武地,刚开始做课设时觉得很茫然不晓得这次是做什么,在把线接好后就不晓得下一步要干什么了,我们的显示器也很不给力,最后是在同学那的看了自己的结果的虽然是错误的但是还是会有成就感的然后继续检查错误。
接下来回来写报告的时候发现还是有很多东西没能够掌握的很透彻,很多都写不出来,课设真的很能体现同学间的团结合作的能力,在这次课设中,我学到了很多东西,知道了团结合作的重要性,动手能力也得到了提高。
这次的课程设计题目是基本模型机的设计与实现,在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。
并为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念。
以前都只是在使用计算机,对它内部的部件组成和构造不是特别的清楚,在课程设计的最初阶段,我们都有认真看看各个组件。
通过这次实践,我相信,只要自己在每一次实践中都能仔细思考,课程设计其实都不会很难,关键在于自己能不能认真思考,能不能亲自动手做实验,而不是想着其他人的劳动果实,其次你还要多操作,只有多操作才能从中发现问题,才能及时向老师和同学请教,解决问题,从而更好的掌握书本中知识。
还有通过这次实践也让我懂得了:
学校安排课程设计目的不在于你做了多少,不在于你做得好不好,关键在于你能否认真去对待,在于你能否通过这次设计对课本上知识有了更深刻的认识,在于能否从中学到书本上学不到的知识。
因此,我会认真对待以后的每次实验,不断提高自己。
虽然在实验过程中,出现了一些错误,比如连接实物图时,接线错误,把微地址开关错认为是数据开关,导致实验出现错误的结果,但是通过和同学在不断的发现错误到改正错误中,我体会了团结合作的快乐,以及苦尽甘来的喜悦。
参考文献
[1]王爱英.计算机组成与结构[M].北京:
清华大学出版社,2007.
[2]甘岚刘美香陈自刚计算机组成原理与系统结构北京:
北京邮电出版社
[3]王爱英.计算机组成与结构习题详解与实验指导[M].北京:
清华大学出版社,2007.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 02