计算机组成原理课设报告

更新时间:2023-07-28 10:08:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

沈 阳 工 程 学 院

计算机组成原理

课 程 设 计

设计题目: 基本模型机的设计与实现(第六组)

系 别 班级 学生姓名 学号 指导教师 职称 起止日期:2012年6月25日起——至2012年6月29日止

沈 阳 工 程 学 院

课程设计任务书

课程设计题目:

系 别 班级 学生姓名 学号 指导教师 职称 课程设计进行地点: 任 务 下 达 时 间: 2012年6月6日

起止日期:2012年6月25日起——至2012年6月29日止 教研室主任 2012年6月4日批准

《计算机组成原理课程设计》是实践性教学环节之一,是《计算机组成原理》课程的辅助教学过程,是计算机科学与技术专业的必修课。通过课程设计,结合实际的操作和设计,巩固课堂教学内容,使学生掌握单处理器计算机系统中微程序控制体系结构的工作原理和技术、各部件相互连接方式,将理论与实际相结合,对有关计算机硬件系统中的实际问题进行分析、简单设计,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力,从而为后续课程的学习以及将来的实际工作打好基础。

二、课程设计的原始资料及依据

查阅有关计算机组成原理的教材、实验指导书等资料,进一步熟悉微程序控制器原理,微指令的设计方法。在掌握运算器、存储器、微程序控制器等部件的单元电路实验的基础上,进一步将各部件组成系统,构造一台基本模型计算机。为给定的机器指令编写相应的微程序,上机调试,掌握整机概念。

三、课程设计的主要内容及要求

1.认真阅读课程设计任务书和指导书,做好预习。掌握设计题目所要求的机器指令的操作功能。除4条必做指令外,每组另外设计1条机器指令。2条选做指令,供有能力的学生完成。全部机器指令如下:

要求 必做 必做 必做 必做 第2组 第3组 第7组 第8组 第9组 第10组 选做 选做

机器指令助记符

操作功能说明

IN ADD [addr] OR [addr] INC [addr],2 DEC [addr] OAD [addr]

XOR [addr1] , [addr2]

SUA [addr] SEC [addr] “DATA UNIT”中的开关状态→R0

R0+[addr]→[addr] R0 OR [addr]->R0

[addr] + 2 [addr]

[addr] OR 6R0

[addr]-1->R0

(R0 OR [addr]) R0 [addr][addr1] XOR [addr2] R0

R0-[addr]→ [addr] R0-[addr]-1→R0 地址,形成“机器指令表”。

3.分析并理解数据通路图。根据数据通路图画出给定的机器指令的微程序流程图,并为其中的每条微指令分配地址。

4.根据微指令格式编写每条微指令的二进制代码,形成“二进制微指令代码表”。 5.全部微程序设计完毕后,按照课程设计指导书中给出的电路接线图连接线路。 6.按照“实验四微程序控制实验”使用过的方法,将微程序中各个微指令正确地写入E2PROM芯片2816中,校验正确后进行下一步。

7.执行控制台操作微指令,进行机器指令程序的写入和检查。 8.调试运行程序,检查结果是否和理论值一致。

9.记录出现故障的现象,并对故障进行分析,找出排除故障的方法。

10.独立思考,认真设计,完成题目要求的机器指令的操作功能,微程序运行稳定。。

11.遵守课程设计时间安排。认真书写课程设计说明书,排版样式规范,避免相互抄袭。

四、对课程设计说明书撰写内容、格式、字数的要求

1.课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理、设计内容、设计步骤、实现方法及关键技术、遇到的问题及解决方法、设计总结等。一般不应少于3000字。

2.在适当位置配合相应的实验原理图、数据通路图、微程序流程图、电路接线图、微指令代码表等图表进行说明。应做到文理通顺,内容正确完整,书写工整,装订整齐。

3.设计总结部分主要写本人设计期间所做工作简介、得到了哪些设计成果、以及自己的设计体会,包括通过课程设计有何收获,程序有哪些不足之处,哪里遇到了困难,解决的办法,以及今后的目标。

4.课程设计说明书手写或打印均可,具体要求如下:

手写时要用统一的课程设计用纸格式,用黑或蓝黑墨水工整书写;

打印时采用A4纸,页边距均为20mm,目录、各章标题(如: 2 设计原理及内容)和

设计总结等部分的标题用小三号黑体,上下各空1行,居中书写;一级节标题(如: 2.1 设计原理)采用黑体四号字,二级节标题(如: 2.1.1数据通路)采用黑体小四号字,左对齐书写。

正文采用宋体小四号字,行间距18磅,每个自然段首行缩进2个字。

图和表的要有编号和标题,如:图2.1数据通路图;表1.1机器指令表。图题与表

题采用宋体五号字。表格内和插图中的文字一般用宋体五号字,在保证清楚的前提下也可用更小号的字体。

英文字体和数字采用Time New Roman字体,与中文混排的英文字号应与周围的汉

字大小一致。

页码用五号字,在每页底端居中放置。

5.课程设计说明书装订顺序为:封面、任务书、成绩评定表、设计小组任务分配及自评、目录、正文、参考文献、设计总结。在左侧用订书钉装订,不要使用塑料夹。

6.设计小组任务分配及自评处注明设计组编号、设计组组长、设计组成员,并由设计组组长给出评语。包括该同学主要完成了哪些任务,课程设计期间的表现和态度如何,组长自己的评语由小组其他成员集体讨论后写出。

五、时间进度安排

六、主要参考资料(文献)

[1]王健、王德君.计算机组成原理实验指导书.沈阳工程学院,2009 [2]白中英.计算机组成原理(第4版).北京:科学出版社,2008 [3]蒋本珊.计算机组成原理.北京:清华大学出版社,2005

[4]唐朔飞.计算机组成原理(第2版).北京:高等教育出版社,2009

沈 阳 工 程 学 院

计算机组成原理课程设计成绩评定表

系(部): 班级: 学生姓名:

计算机组成原理课程设计

信安本101班第(六)设计小组任务分配及自评

目 录

第一章 设计概述................................................................................................................................ 1 1.1设计题目 .................................................................................................................................... 1 1.2设计目的 .................................................................................................................................... 1 1.3设备器材 .................................................................................................................................... 1 第二章 设计原理及内容 ................................................................................................................... 2 2.1设计基本原理 ............................................................................................................................ 2 2.2需执行的机器指令 .................................................................................................................... 2 2.3数据通路图 ................................................................................................................................ 3 2.4微指令格式 ................................................................................................................................ 4 2.5微程序地址的转移 .................................................................................................................... 4 2.6机器指令的写入、读出和执行 ................................................................................................ 5 第三章 设计步骤................................................................................................................................ 7 3.1编写机器指令 ............................................................................................................................ 7 3.2绘制微程序流程图 .................................................................................................................... 7 3.3绘制微指令 ................................................................................................................................ 8 3.4连接实验线路 ............................................................................................................................ 8 3.5写指令 ........................................................................................................................................ 9 3.5.1 写微指令 ............................................................................................................................. 9 3.5.2 写机器指令 ......................................................................................................................... 9 3.6运行程序 .................................................................................................................................. 10 3.6.1单步运行程序 .................................................................................................................... 10 3.6.2连续运行程序 .................................................................................................................... 10 第四章 遇到的问题及解决方法 ..................................................................................................... 11 设计总结 ............................................................................................................................................ 12

第一章 设计概述

1.1设计题目

认真阅读资料,掌握给定的机器指令的操作功能。分析并理解数据通路图。根据数据通路图画出给定的机器指令的微程序流程图。根据微指令格式编写每条机器指令对应的微程序,形成“二进制微指令代码表”。全部微程序设计完毕后,将微程序中各个微指令正确地写入E2PROM芯片2816中。进行机器指令程序的装入和检查。运行程序,检查结果是否和理论值一致。独立做出IN、ADD、OR、JMP、NOR和OUT指令。记录出现故障的现象,并对故障进行分析,说明排除故障的思路及故障性质。

1.2设计目的

1.掌握机器指令与微程序的对应关系。 2.掌握机器指令的执行流程。

3.掌握机器指令的微程序的编制、写入。

4.在掌握部件单元电路实验的基础上,进一步将组成系统,构成一台基本模型计算机。 5.为其定义五条机器指令,并编写相应的微程序,上机调试,掌握整机概念。

1.3设备器材

TDN-CM计算机组成原理教学实验系统一台,排线若干。

第二章 设计原理及内容

2.1设计基本原理

部件实验过程中,各部件单元的控制信号是人为模拟产生的,如运算器实验中对74LS-181芯片的控制,存储器实验中对存储器芯片的控制信号,以及几个实验中对输入设备的控制。而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。

本系统使用两种外部设备,一种是二进制代码开关(DATA UNIT),它作为输入设备;另一种是发光二极管(BUS UNIT上的一组发光二极管),它作为输出设备。例如:输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。输出时,将输出数据送到数据总线BUS上,驱动发光二极管显示。

2.2需执行的机器指令

本次设计采用五条机器指令;IN(输入)、ADD(加)、OR(或)、OUT(输出)、NOT(加3取反)、JMP(无条件转移),其指令格式如表2-1所示。

表2-1 机器指令格式表

助记符

IN ADD [addr] OR [addr] NOR [addr] OUT [addr] JMP addr 机器指令码 0000 0000

0001 0000 XXXXXXXX 0010 0000 XXXXXXXX 0011 0000 XXXXXXXX 0100 0000 XXXXXXXX 0101 0000 XXXXXXXX

说明

“DATA UNIT”中的开关状态→R0

R0+[addr]→[addr] R0 OR [addr]->R0 [addr] OR R0 R0 [addr]→BUS addr→PC

其中机器指令码的最高8位为操作码。IN为单字长(8位),其余为双字长指令,XXXXXXXX为addr对应的二进制地址码。

沈阳工程学院课程设计报告

第二章 设计原理及内容

2.3数据通路图

实验系统的数据通路图,如图2.1所示。

图2.1 数据通路图

注意:

⒈片选信号CE=0为有效电平,CE=1为无效电平。 ⒉WE=1为写入,WE=0为读出。

⒊LOAD和LDPC同时为“1”时,可将总线上的数据装入到PC中;LDPC为“1”,同时LOAD为“0”时,将PC中内容加1。

⒋M=0为算术运算,M=1为逻辑运算。

⒌CN=0表示运算开始时低位有进位,否则低位无进位。

图2.1中包括运算器、存储器、微控器、输入设备、输出设备以及寄存器。这些部件的动作控制信号都有微控器根据微指令产生。需要特别说明的是由机器指令构成的程序存放在存储器中,而每条机器指令对应的微程序存储在微控器中的存储器中。

2.4微指令格式

微指令字长共24位,其控制位顺序如图2.2所示。

图2.2 微指令格式图

其中UA5~UA0为下一条微指令微地址,A、B、C为三个译码字段,分别由三个控制位译码出多种不同控制信号。

A字段中的LDRi为打入工作寄存器信号的译码器使能控制位。

B字段中的RS-B、RD-B、RI-B分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码。

C字段中的P(1)~P(4)是四个测试字位。其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,其原理如图2.3所示。AR为算术运算是否影响进位及判零标志控制位,其为零有效。

注意:根据后面的实验接线图,A字段的LDRi与数据通路图中的LDR0为同一个信号。B字段的RS-B与数据通路图中的R0-B为同一个信号。

2.5微程序地址的转移

本实验系统的指令寄存器(IR)用来保存当前正在执行的一条指令。当执行一条指令时,先把该指令从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试[P(1)],通过节拍脉冲T4的控制以便识别所要求的操作。“指令译码器”(实验板上标有“INS DECODE”的芯片)根据指令中的操作码译码后的结果,将微控器单元的微地址修改为下一条微指令的地

址。

地址修改要依靠实验系统的微程序地址转移电路来完成,该电路如图2.3所示。

图2.3 微程序地址转移电路

注意:

⒈FC:进位标志 ⒉FZ:0标志

⒊SWA、SWB存储器读写控制标志

⒋P(1)~P(4):微指令C字段译码输出结果 ⒌I2~I7:机器指令第2位~第7位。

2.6机器指令的写入、读出和执行

为了向RAM中装入机器指令程序和数据,检查写入是否正确,并能启动机器指令程序执行,还必须设计三个控制台操作微程序。

存储器读操作(KRD):拨动总清开关CLR(使CLR从1→0→1)后,控制台开关SWB、SWA置为“0 0”时,按START微动开关,可对RAM连续手动读操作。

存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWB、SWA置为“0 1”时,按START微动开关可对RAM进行连续手动写入。

启动程序:拨动总清开关CLR后,控制台开关SWB、SWA置为“1 1”时,按START微动开关,即可转入到第25号“取指”微指令,启动程序运行。

上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如表2-3所示。

表2-3 控制台指令

三个控制台操作微程序的流程如图2.4所示。

图2.4 控制台操作微程序流程图

控制台操作为P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,余下的微指令可以存放在控制存储器的其他任意单元中。

当设计“取指”微指令时,该微指令的判别测试字段为P(1)测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支。本机用指令寄存器的前6位(IR7—IR2)作为测试条件,出5路分支,占用5个固定微地址单元。

沈阳工程学院课程设计报告

第三章 设计步骤

第三章 设计步骤

3.1编写机器指令

设计各条机器指令代码及数据,并为指令和数据分配存储地址。本次设计机器指令程序如表3-1所示。

表3-1 本次设计机器指令程序

地址 0100 0000 0100 0001 0100 0010 0100 0011 0100 0100 0100 0101 0100 0110 0100 0111 0100 1000 0100 1001 0100 1010 0100 1011 0100 1100 0100 1101

内容 0000 0000 0001 0000 0100 1011 0010 0000 0100 1100 0011 0000 0100 1101 0100 0000 0100 1101 0101 0000 0100 0000 0011 0001 0011 0010 0011 0011

助记符 IN ADD[4BH] OR[4CH] NOR[4DH] OUT JMP[40H]

说明

“DATA UNIT”中的开关状态→R0

R0+[4BH]→[4BH] R0 or [4CH]→R0

R0 or [4DH] →R0

[4DH]→BUS [40H]→PC 内容自定义 内容自定义 内容自定义

3.2绘制微程序流程图

根据每条机器指令的功能,为每条机器指令画出微程序流程图,并为其中的每条微指令分配地址。总体微程序流程图如图3.1所示。

图3.1 总体微程序流程图

3.3绘制微指令

根据控制位顺序图,可绘制下列微指令表3-2。

表3-2 微指令表

KRD KWE RP

NOR

OUT

010000 010010 010001 010100 010011 010101 000101 011011 100001 100010 100011 100100 011100 101001 101010 0000 0000 0000 0000 0000 0000 1001 0000 0000 0000 0000 0001 0000 0000 0000 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 110 000 110 000 110 100 000 110 110 011 010 001 110 110 000 111 000 111 110 111 000 101 111 000 000 000 101 111 000 000 000 000 000 000 000 001 000 000 000 000 000 000 000 000 000

010010 010000 010100 010001 010101 011000 010011 100001 100010 100011 100100 010011 101001 101010 010011

3.4连接实验线路

按图3.2连接实验线路,仔细查线路无误后接通电源。

图3.2 实验接线图

3.5写指令

3.5.1 写微指令

⑴将编程开关置为PROM(编程)状态。

⑵将实验板上“STATE UNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态。

⑶用二进制模拟开关UA0~UA5置微地址MA0~MA5。

⑷在MK23~MK0开关上置微指令代码,24位开关对应24位显示灯,开关置为“0”时灯亮,开关置为“l”时灯灭。

⑸启动时序电路(按动启动按钮“START”),即将微代码写入到E2PROM 2816的相应地址对应的单元中。

⑹重复⑶~⑸步骤,将表3-2中的微代码写入E2PROM 2816。

写完微指令后须进行校验。将编程开关设置为READ(校验)状态。将实验板的“STEP”开关置为“STEP”状态。“STOP”开关置为“RUN”状态。用二进制模拟开关UA0~UA5置好微地址MA0~MA5。按动“START”键,启动时序电路,读出微代码。观察显示灯MD23~MD0的状态(灯亮为“0”,灭为“1”),检查读出的微代码是否与写入的相同。如果不同,则将开关置于PROM编程状态,重新写入微指令即可。

3.5.2 写机器指令

使用图2.4所示的控制台KWE和KRD微程序进行机器指令程序的装入和检查。 ⑴使编程开关处于“RUN”,STEP为“STEP”状态,STOP为“RUN”状态。

⑵拨动总清开关CLR(1→0→1),微地址寄存器清零。此时用“DATA UNIT”单元的8位二进制开关给出要写入RAM区的首地址,控制台SWB、SWA开关置为“0 1”,按动一次启动开关START,微地址显示灯显示“010001”,再按动一次START,微地址灯显示“010100”,此时数据开关的内容置为要写入的机器指令,按动一次START键,即完成该条指令的写入。

若仔细阅读KWE的流程,就不难发现,机器指令的首地址只要第一次给入即可,PC会自动加1,所以,每次按动START,只有在微地址灯显示“010100'’时,才设置内容,直到所有机器指令写完。

写完机器指令后须进行校验。拨动总清开关CLR(1→0→1)后,微地址清零。此时用“DATA UNIT'’单元的8位二进制开关置要读的RAM区的首地址,控制台开关SWB、 SWA为“0 0”,按动启动START,微地址灯将显示“010000",再按START,微地址灯显示为“010010",第三次按START,微地址灯显示为“010000”,此时总线单元的显示灯显示为该首地址的内容。不断按动START,可检查后续单元内容,注意:每次仅在微地址灯显示为“010000”时,显示灯的内容才是相应地址中的机器指令内容。

3.6运行程序

3.6.1单步运行程序

⑴使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”状态。 ⑵拨动总清开关CLR(1→0→1),微地址清零。

⑶将“DATA UNIT”的8位数据开关(D7~D0)设置为机器指令首地址。

⑷按动START启动键,单步运行一条微指令,每按动一次START键,即单步运行一条微指令。对照微程序流程图,观察微地址显示灯是否和流程一致。

⑸当运行结束后,可检查存数单元中的结果是否和理论值一致。

3.6.2连续运行程序

⑴使“STATE UNIT”中的STEP开关置为“EXEC”状态。STOP开关置为“RUN”状态。

⑵将“DATA UNIT”的8位二进制开关设置为机器指令程序首地址,然后按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。

⑶停机后,可检查存数单元结果是否正确。

第四章 遇到的问题及解决方法

在此次计算机组成原理课程设计中我们小组遇到了不少问题。

在设计机器指令代码时,由于对每条指令的操作数部分理解的不是很全面和到位,导致一些诸如求或操作的结果无法正确保存进纸面上指定的地址。在经过对机器指令代码仔细的研究后,知道了程序运行的过程,即先取出操作码进行判断后,再取出操作数进行实际的运算。从而解决了以上出现的问题。

在绘制微指令流程图时,由于在经过P(1)的译码后,要对以后每一条功能指令进行地址的转换,这就需要在译码前选定一个好的后续转换地址。但由于前期没有经验,只是随机的选出几个数来作为后续地址,导致经过转换过来的地址始终有重复。后来经过仔细分析,最终选定40H作为后续地址。

在连接实验线路的步骤时,由于线路板复杂和连线杂乱的原因,致使有几条线的正反顺序接错。导致在程序运行的阶段数据总线显示灯不能正常的显示。在反复细心的检查后查出了问题,从而排除了问题。

在微指令输入时,由于指令的重复与烦琐,致使在输入过程中有几个数位输入错误,导致程序只能运行一半,无法完整运行。在浪费了很长时间重新输入所有的微指令后,才解决掉这个问题。

设计总结

为期一周的计算机组成原理课程设计很快就结束了。在这一个星期的时间里,我们经过不懈的努力,完成了所选课程设计的内容。能够实现任务书上的基本要求,在微程序编写和调试的过程中,我们将计算机组成原理的知识又重新的温习了一次,使我们的计算机组成原理知识又稳固了一次。

我们小组不但要完成给定任务的编写与调试,还选择了NOT指令的编写与调试。并且更是把其余的要求有能力完成的指令也成功编写调试。在整个课设过程中,我们团结一致,为该微指令的设计工作打下了良好的基础。尽管设计中的困难是不可必免的,但在解决困难的过程中,我们也学会了独立思考,增强了团队意识,同时也加深了对控制台操作的理解,这为我们今后的学习与工作,提供了良好的实习机会,进一步增强了我们的实践能力,提高了我们对本专业知识的运用能力,这也是该课程开设目地所在。课程设计是对我们专业知识掌握程度的检查,是否游刃有余的掌握所学的专业知识,能够在课程设计的过程中完全的展现出来。同时也是对我们的合作精神有个考验,让我们学会了如何利用自己所擅长的方面与别人配合,团体之间相互补偿。

这次课程设计让我们学到了许多的知识,其中有许多是在课本上学不到的。增加了对微指令与机器指令设计的经验,也提高了自己的动手能力。对将来在社会上进行一系列的活动和工作有着非常大的帮助。经过这次课程设计,我也知道了在今后社会上的活动和工作方式。所以这次课程设计是一次难得的锻炼机会。

实践出真知,课程设计要亲手做过,才能明白其中的各种滋味,无论成功或失败,每一次尝试都是一种收获。此计算机组成原理课程设计是我们实践指令编写与调试的又一新的起点,我们坚信在老师的指导之下,通过我们的努力,我们定会在计算机组成原理之路走得更高、更远。

本文来源:https://www.bwwdw.com/article/ruim.html

Top