组成原理课程设计.docx
《组成原理课程设计.docx》由会员分享,可在线阅读,更多相关《组成原理课程设计.docx(19页珍藏版)》请在冰豆网上搜索。
组成原理课程设计
武汉理工大学
课程设计
课程名称计算机组成原理
设计题目模型机设计与实现
班级软件工程0904
学号012091680421
姓名朱鹏
指导教师田小华
日期2011年7月7日
2011年7月7日
课程设计任务书
学生姓名:
朱鹏专业班级:
软件工程0904
指导教师:
田小华工作单位:
计算机学院
题目:
基本模型机设计与实现
初始条件:
1.完成<<计算机组成原理>>课程教学与实验
2.TDN-CM
计算机组成原理教学实验系统
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1.掌握复杂指令系统计算机的微控制器功能与结构特点
2.熟悉TDN-CM
教学实验系统的微指令格式
3.设计五条机器指令,并编写对应的微程序
4.在TDN-CM
教学实验系统中调试机器指令程序,确认运行结果
5.建立复杂指令系统计算机的整机概念模型
时间安排:
1.第19周周5(7月1日):
全体集中讲解课程设计原理与方法
2.第20周周1~5(7月4~8日):
分班实验,调试机器指令程序
指导教师签名:
2011年6月30日
系主任(或责任教师)签名:
2011年7月日
《组成原理课程设计》说明书
一.课程设计题目
①学号为01-07号的同学:
绘制8位运算器实现的电路图;
②学号为08-14号的同学:
绘制8位运算器进位控制电路的电路图;
③学号为15-21号的同学:
绘制8位运算器移位运算电路图;
④学号为22-28号的同学:
绘制静态存储器(6116)电路图;
⑤学号为29-42号的同学:
绘制静态存储器(2114)电路图
二.设计要求
①利用数字功能电路,完成电路设计;
②电路图中,以功能电路为基本单元,实现电路引脚连接;
③电路连接图中,应反映信号的基本逻辑关系,实现芯片的管脚连接;
④电路应完成规定的功能,并在TDN-CM+教学实验系统中调试和实现;
⑤用A4规格的复印纸,绘制电路连接图,撰写设计报告。
三.附加说明
①学号为01-07号的同学:
绘制8位运算器实现的电路图
②学号为08-14号的同学:
绘制8位运算器进位控制电路的电路图;
③学号为15-21号的同学:
绘制8位运算器移位运算电路图;
④学号为22-28的同学,利用6116设计8K×16位静态存储器的逻辑框图;
⑤学号为29-42的同学,利用2114设计8K×8位静态存储器的逻辑框图。
1课程设计目的
通过课程设计,掌握微程序计算机中指令和微指令的编码方法,深入理解机器指令在计算机中的运行过程。
在掌握部件单元电路实验的基础上,进一步将其组成系统地构造一台基本模型计算机,为其定义5条机器指令,并编写相应的微程序,上机调试掌握整机概念。
通过对一个简单模型机的设计与实现,对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解,掌握各部联机运行情况,进一步建立整机概念。
培养学生独立工作和创新思维的能力,取得设计与调试的实践经验。
其次,通过实习总结计算机组成原理课程的学习内容:
层次化设计法、多路开关,逻辑运算部件,微程序控制的运算器设计、微程序控制的存储器设计、简单计算机的设计等内容。
为将来从事专业工作打下基础,培养良好的职业道德和严谨的工作作风。
2课程设计设备
TDN-CM计算机组成原理实验系统,排线若干
3课程设计内容
3.1课程设计原理
3.1.1本课程设计采用六条机器指令:
IN,ADD,STA,TRY,OUT,JMP,并依照指令进行相关操作。
其指令格式如下:
内容助计符说明
00000000IN“INPUTDEVICE”→R0
00010000ADD[addr]R0+[addr]→R0
00100000STA[addr]R0→[addr]
00110000OUT[addr][addr]→BUS
01000000TRY[addr]R0(S3S2S1S0MCn)[addr]→R0
01010000JMP[addr][addr]→PC
其中IN为单字长(8)位,其余为双字长指令。
3.1.2开关SWA和SWB的定义及数据通路框图如下:
为了向RAM中装入程序和数据,先查写入是否正确,并能启动程序执行,还须设
计三台控制台操作。
存储器度操作:
拨动总清开关CLR后,控制台开关SWB、SWA为“00”时,按START滚动开关,可对RAM连续手动读操作。
存储器写操作:
拨动总清开关CLR后,控制台开关SWB、SWA为“01”时,按START滚动开关,可对RAM连续手动写操作。
启动程序:
拨动总清开关CLR后,控制台开关SWB、SWA为“11”时,按START滚动开关,即可转入到第01好“取址”微指令,启动程序运行。
上述三条控制台指令用到的两个开关SWB、SWA的状态设置,其定义如下:
SWB
SWA
控制台指令
0
0
1
0
1
1
读内存(KRD)
写内存(KWE)
启动程序(RP)
3.1.3设计用到的微指令的格式定义及微程序流程图如下:
微指令格式定义
3.1.4依照微程序流程图,生成如下指令代码表:
微指令代码表
微地址
S3S2S1S0MCnWEA9A8
A
B
C
μA5~μA0
联机微地址
微指令内容
00Q
000000011
000
000
100
010000
00H
018110H
01Q
000000011
110
110
110
000010
01H
01ED82H
02Q
000000001
100
000
001
001000
02H
00C048H
03Q
000000001
110
000
000
000100
03H
00E004H
04Q
000000001
011
000
000
000101
04H
00B005H
05Q
000000011
010
001
000
000110
05H
01A206H
06Q
100101011
001
101
000
000001
06H
959A01H
07Q
000000001
110
000
000
001101
07H
00E00DH
10Q
000000000
001
000
000
000001
08H
001001H
11Q
000000011
110
110
110
000011
09H
01ED83H
12Q
000000011
110
110
110
000111
0AH
01ED87H
13Q
000000011
110
110
110
001110
0BH
01ED8EH
14Q
000000011
110
110
110
011010
0CH
01ED9AH
15Q
000000011
110
110
110
010110
0DH
01ED96H
16Q
000000001
110
000
000
001111
0EH
00E00FH
17Q
000000001
010
000
000
010101
0FH
00A015H
20Q
000000011
110
110
110
010010
10H
01ED92H
21Q
000000011
110
110
110
010100
11H
01ED94H
22Q
000000001
010
000
100
010111
12H
00A117H
23Q
000000011
000
000
000
000001
13H
018001H
24Q
000000000
010
000
000
011000
14H
002018H
25Q
000001110
000
101
000
000001
15H
070A01H
26Q
000000001
101
000
110
000001
16H
00D181H
27Q
000001110
000
101
000
010000
17H
070A10H
30Q
000001101
000
101
100
010001
18H
068B11H
31Q
000000000
000
000
000
000000
19H
000000H
32Q
000000001
110
000
000
011011
1AH
00E01BH
33Q
000000001
011
000
000
011100
1BH
00B01CH
34Q
000000011
010
001
000
011101
1CH
01A21DH
35Q
000011011
001
101
000
000001
1DH
9D9A05H
36Q
000000101
000
001
000
000001
1EH
028201H
3.1.5机器指令程序设计:
机器指令程序序列
地址内容助计符说明
0000000000000100INR0“INPUTDEVICE(班号4)”→R0
0000000100010000ADD[0AH],R0R0+[0AH]→R0
0000001000001010
0000001100100000STAR0,[0BH]R0→[0BH]
0000010000001011
0000010100110000OUT[0BH][0BH]→LED
0000011000001011
0000011101000000JMP00H00H→PC
0000100000000000
00001001
0000101000100110学号(26号同学)
00001011求和结果(班号加学号)
3.2实验步骤:
3.2.1画出实验接线图如下:
3.2.2实验预备操作步骤:
3.2.2.1按实验接线图接好实验线路
3.2.2.2为微程序控制器编程
A.将编程开关置为PROM(编程)状态。
B.将实验板上的“STATEUNIT”中的“STEP”置位为“STEP”,“STOP”置为“RUN”。
C.用二进制模拟开关置微地址MA5-MA0。
D.在MK24-MK1开关上置微代码,24位开关对应24位显示灯,开关量0亮1灭。
E.启动时序电路,即将微代码写入到EPROM2816的相应地址单元中。
F.重复C-E步骤,将微代码表的内容写入2816。
G.将编程开关设置为READ(校验)状态。
H.将实验板上的“STATEUNIT”中的“STEP”置位为“STEP”,“STOP”置为“RUN”。
I.用二进制模拟开关置好微地址MA5-MA0。
J.按动“START”键,启动时序电路,读出微代码,观察显示灯MD24-MD1的状态,检查读出的微代码是否与写入的相同如果不同则将开关置为PROM,重新执行编程操作。
3.2.3按如下步骤操作:
3.2.3.1微控器的编程开关拨至RUN,STEP→STEP,STOP→RUN
3.2.3.2将微机与实验箱用串口连接,开机进入WINDOWS2000,进入D:
盘的CM+子目录,运行CMP.EXE,进入实验环境,选用COM1口.
3.2.3.3选F2:
写入机器指令
3.2.3.4选F3:
写微指令
3.2.3.5选F6:
调试机器指令,运行前将CLK开关:
1→0→1
①F1_STEPPM:
单步运行机器指令
②F2_STEPCM:
单步运行微指令
③F3_EXEC:
连续运行微指令
④F8_RETURN:
退出DEBUG
3.2.3.6记录实验结果
实验outputFBH
3.2.3.7对比理论计算结果
与理论值一致
4.课程设计总结
4.1给出每条机器指令的微程序
IN指令的微程序
01Q:
000000011110110110000010
02Q:
000000001100000001001000
10Q:
000000000001000000000001
01Q:
000000011110110110000010
ADD指令的微程序
01Q:
000000011110110110000010
02Q:
000000001100000001001000
11Q:
000000011110110110000011
03Q:
000000001110000000000100
04Q:
000000001011000000000101
05Q:
000000011010001000000110
06Q:
100101011001101000000001
01Q:
000000011110110110000010
STA指令的微程序
01Q:
000000011110110110000010
02Q:
000000001100000001001000
12Q:
000000011110110110000111
07Q:
000000001110000000001101
15Q:
000000101000001000000001
01Q:
000000011110110110000010
OUT指令的微程序
01Q:
000000011110110110000010
02Q:
000000001100000001001000
13Q:
000000011110110110001110
16Q:
000000001110000000001111
17Q:
000000001010000000010101
25Q:
000001110000101000000001
01Q:
000000011110110110000010
TRY指令的微程序
01Q:
000000011110110110000010
02Q:
000000001100000001001000
32Q:
000000001110000000011011
33Q:
000000001011000000011100
34Q:
000000011010001000011101
35Q:
000001111001101000000001
01Q:
000000011110110110000010
JMP指令的微程序
01Q:
000000011110110110000010
02Q:
000000001100000001001000
15Q:
000000011110110110010110
26Q:
000000001101000110000001
01Q:
000000011110110110000010
IN,ADD,STA,TRY,OUT,JMP
IN指令的微程序地址为01Q-02Q-10Q-01Q
ADD指令的微程序地址为01Q-02Q-11Q-03Q-04Q-05Q-06Q-01Q
STA指令的微程序地址为01Q-02Q-12Q-07Q-15Q-01Q
TRY指令的微程序地址为01Q-02Q-14Q-32Q-33Q-34Q-35Q-01Q
OUT指令的微程序地址为01Q-02Q-13Q-16Q-17Q-25Q-01Q
JMP指令的微程序地址为01Q-02Q-15Q-26Q-01Q,
4.2给出TRY指令的理论计算过程
功能选择
M=1
M=0算术运算
S3S2S1S0
逻辑运算
n=1无进位
n=0有进位
0000
F=
F=A
F=A加1
0001
F=
F=A+B
F=(A+B)加1
0010
F=
B
F=
+
F=(
+
)加1
0011
F=0
F=减1
F=0
0100
F=
F=A加
F=A加
加1
0101
F=
F=(A+B)加
F=(A+B)加
加1
0110
F=A⊕B
F=A减B减1
F=A减B
0111
F=
F=
减1
F=
1000
F=
+B
F=A加AB
F=A加AB加1
1001
F=
F=A加B
F=A加B加1
1010
F=B
F=(
+
)加AB
F=(
+
)加AB加1
1011
F=AB
F=AB减1
F=AB
1100
F=1
F=A加A
F=A加A加1
1101
F=
+
F=(A+B)加A
F=(A+B)加A加1
1110
F=A+B
F=(
+
)加A
F=(
+
)加A加1
1111
F=A
F=A减1
F=A
机器指令TRY的理论计算过程
软件0904班,第22号同学,班号=04H,学号=15H,F=X加Y(算术加)
X=R0=班号=00000100B=04H
Y=M[0A]=学号=00010110B=15H
ADD[0AH],R0功能:
R0加M[0AH]→R0
00000100B
加00010101B
00011001B=19H
5绘制8位运算器进位控制电路的电路图
5.1移位运算电路的基本原理
移位运算实验原理如图4-1所示,本实验使用一片74LS299(U34)作为移位发生器,其八位输入/输出端引到8芯排座ALUO2,实验时用8芯排线连至数据总线插座BUS4。
299B`信号由开关299B提供,控制其使能端,T4为其时钟脉冲,手动方式实验时将T4与手动脉发生器输出端SD相连,即J23跳线器上T4连SD。
由信号S0、S1、M控制其功能状态,
移位运算电路的基本原理图
74LS299功能表5-1
5.2移位运算器涉及原件说明
74LS299(U34)作为移位发生器,下图为其芯片及其功能表
5.38位运算器移位运算电路图
6课程设计心得、经验教训及注意事项
通过这次的计算机组成原理的课程设计,我对计算机内部元件的工作原理有了进一步的了解与认识。
许多在课堂上没有听懂,没有学会的知识在课程设计的过程中暴露无遗,不过积极的方面是通过课程设计,我把这些知识上的明显漏洞给补上了。
我对机器指令及微指令的的编码方法不了解,对计算机各部件的组成和工作原理也不是很理解。
为了弄清楚这些问题,我又把课本拿出来重新学习相关的章节。
虽然理论知识很重要,但是像我们这种工学类的课程,更重要的还是实践。
理论联系实际,才能更好的掌握所学的知识。
在机房上机的时候也遇到了一些问题,不过在请教了同学和老师之后,这些问题也都一个个迎刃而解。
这次的课程设计题目是基本模型机的设计与实现,在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。
并为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整机概念。
以前都只是在使用计算机,对它内部的部件组成和构造不是特别的清楚,在课程设计的最初阶段,我没有急于进行具体的设计,而是先理清思路,明确自己要做的工作是什么,如何来实现基本模型机的相关功能。
这些前期的准备工作虽然用去了我很多的时间,但是最后的结果证明,我这样的方法是正确的。
课程设计就像是一个系统工程,内容多而复杂,必须先在整体上进行宏观的把握,然后再具体的进行实施。
如果开始的方向就不对,那后面的改进就会很麻烦。
温故了这个学期所学的相关知识,心里也更加有信心。
后面的相关设计参照课程设计任务书的内容进行了相应的改变,并顺利的在计算机上得到了实现。
将实验设备通过串口连接计算机,通过联机软件将机器指令程序和编写的微指令程序存入主存中,并运行此段程序,通过联机软件显示和观察该段程序的运行,验证编写的指令和微指令的执行情况是否符合设计要求。
这样的测试方法我还是第一次使用,感觉很新鲜。
计算机组成原理更倾向于计算机底层部件的应用,而不像我们平时都在使用的那些界面友好交互性很强的软件,所以有些错误不是很容易发现,只能通过自己耐心的反复调试来解决。
这中间也请教了同学和老师,他们对我的帮助都很大。
通过这次课程设计,我的收获很多。
课程设计不仅巩固我的理论知识,将理论和实践结合起来,锻炼了我的动手能力,也让我认识到自己的不足之处,争取以后能克服这些缺点,更进一步提高自己各个方面的能力。
参考文献
【1】石磊《计算机组成原理简明教程》北京:
清华大学出版社2009年3月
【2】唐朔飞《计算机组成原理》北京:
高等教育出版社2008年1月
【3】薛胜军《计算机组成原理》武汉:
武汉理工大学出版社2008年5月
【4】白中英计算机组成原理北京:
科学出版社
【5】杨小龙计算机组成原理与系统结构试验教程西安西安电子科技大学出版社
指导教师评语:
评分:
签名:
2011年月日