组成原理课程设计.docx

上传人:b****8 文档编号:11187662 上传时间:2023-02-25 格式:DOCX 页数:19 大小:277.32KB
下载 相关 举报
组成原理课程设计.docx_第1页
第1页 / 共19页
组成原理课程设计.docx_第2页
第2页 / 共19页
组成原理课程设计.docx_第3页
第3页 / 共19页
组成原理课程设计.docx_第4页
第4页 / 共19页
组成原理课程设计.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

组成原理课程设计.docx

《组成原理课程设计.docx》由会员分享,可在线阅读,更多相关《组成原理课程设计.docx(19页珍藏版)》请在冰豆网上搜索。

组成原理课程设计.docx

组成原理课程设计

武汉理工大学

课程设计

课程名称计算机组成原理

设计题目模型机设计与实现

 

班级软件工程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年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1