计算机组成原理基本模型机实现实验报告_第1页
计算机组成原理基本模型机实现实验报告_第2页
计算机组成原理基本模型机实现实验报告_第3页
计算机组成原理基本模型机实现实验报告_第4页
计算机组成原理基本模型机实现实验报告_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机组成原理课程设计报告设计题目基本模型机的 设计与实现 专业班级 计算机科学与技术 1142 姓 名 学 号 时 间 12月10日13日指导教师 李松涛 课程设计成绩评定表指导教师评语:成绩: 指导教师: 年 月 日目录1 课程设计概述- 1 -1.1课程设计内容- 1 -1.1.1 要求- 1 -1.1.2 实验目的- 1 -1.1.3 实验内容- 1 -1.2 课程设计分析- 2 -1.2.1 需求分析- 2 -1.2.2 功能分析- 2 -2 设计原理- 2 -2.1 微控制器实验原理- 2 -2.2 基本模型机的设计与实现实验原理- 3 -2.3 带进位运算的模型机的设计与实现实验原理- 3 -3 实验步骤- 5 -3.1 实验前的准备- 5 -3.2 实验步骤- 8 -3.1.1 实验连线设置- 8 -3.1.2 具体操作步骤- 8 -4 实验结果与分析- 12 -5 设计小结及体会- 14 -6 参考文献- 16 -1 课程设计概述利用所学过的理论知识,特别是微程序设计的思想,写出要设计的指令系统的微程序。将所设计的微程序在此环境中进行调试,并给出测试思路和具体程序段。最后撰写出符合要求的课程设计说明书、完成答辩。1.1课程设计内容1.1.1 要求1、由基本单元电路构成一台基本模型机。2、设计至少六条机器指令,并编写相应的微程序。3、调试指令和模型机使其在微程序的控制下自动产生各部件单元的控制信号正常工作。4.、设计程序完整指定的任务。1.1.2 实验目的本次课程设计主要是为其定义六条机器指令,编写相应的微程序,并上机调试运行,形成整机概念。用微程序控制器实现以下指令功能,设计各指令格式以及编码,并实现各机器指令微代码,根据定义的机器指令,自拟编写加ADD ,循环左移RLC的应用程序。全部微指令设计完毕后,编写二进制代码,使每条指令代码化。连接线路在计算机组成原理教学实验箱上运行,并显示输出实验结果。1.1.3 实验内容1.微控制器实验掌握微程序的编制、写入,观察微程序的运行。2.基本模型机设计与实现指令系统至少要包括五条不同类型指令:如一条输入指令,一条加法指令,一条存数指令,一条输出指令和一条无条件转移指令。3. 带移位运算的模型机的设计与实现在基本模型机的基础上增加移位指令操作。1.2 课程设计分析1.2.1 需求分析一台计算机所能执行的各种指令集合称为指令系统或指令集。一台特定的计算机只能执行自己指令系统中的指令。因此,指令系统就是计算机的机器语言。指令系统表征着计算机的基本功能和使用属性,它是计算机系统设计中的核心问题。指令系统的设计主要括指令功能、操作类型的设计,寻址方式和指令格式的设计。 计算机的性能与它所设置的指令系统有很大的关系,指令系统反映了计算机的主要属性,而指令系统的设置又与机器的硬件结构密切相关。指令是计算机执行某种操作的命令,而指令系统是一台计算机中所有机器指令的集合。通常性能较好的计算机都设置有功能齐全、通用性强、指令丰富的指令系统,而指令功能的实现需要复杂的硬件结构来支持。 1.2.2 功能分析该系统实现的功能是对输入的数据可以和内存中的数据进行连续的加、循环左移运算,并对其结果进行存储,显示等功能,从而得到一个简易的复杂模型机所实现的功能。2 设计原理2.1 微控制器实验原理实验所用的时序电路,产生4个等间隔的时序信号 TS1TS4。 “运行方式”、“运行控制”、“启动运行”三个信号分别是来自实验机上三个开关。当“运行控制”开关置为“运行”,“运行方式”开关置为“连续”时,一旦按下“启动运行”开关,运行触发器 UN1B的输出QT一直处于“1”状态,因此时序信号 TS1TS4 将周而复始地发送出去;当“运行控制”开关置为“运行”,“运行方式”开关置为“单步”时,一旦按下“启动运行”开关,机器便处于单步运行状态,即此时只发送一个CPU周期的时序信号就停机。利用单步方式,每次只运行一条微指令,停机后可以观察微指令的代码和当前微指令的执行结果。另外,当实验机连续运行时,如果“运行方式”开关置“单步”位置,也会使实验机停机。2.2 基本模型机的设计与实现实验原理 部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下 自动产生各部件单元控制信号,实现特定指令的功能。这里,实验计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部 由微指令组成的序列来完成,即一条机器指令对应一个微程序。 有关微控制器部分在前一实验中已详细介绍 主存储器的读、写和运行 为了向主存储器 RAM 中装入程序或数据,并且检查写入是否正确以及能运行主存储器中的程序,必须设计三个控制操作微程序。 存储器读操作:拨动总清开关后,置控制开关SWC、SWA 为“0 0 ”时,按要求连线后,连续按“启动运行”开关,可对主存储器 RAM 连续手动读操作。 存储器写操作:拨动总清开关后,置控制开关SWC、SWA 为“0 1 ”时,按要求连线后,再按“启动运行”开关,可对主存储器 RAM 进行连续手动写入。 运行程序:拨动总清开关后,置控制开关SWC、SWA 为“1 1”时,按要求连线后,再按“启动运行”开关,即可转入到第 01 号“取址”微指令,启动程序运行。上述三条控制指令用两个开关 SWC、SWA 的状态来设置,其定义如下: SWBSWA控制台指令 0 0 1011读内存(KRD)写内存(KWE)启动程序(RP)2.3 带进位运算的模型机的设计与实现实验原理本实验在实验基本模型机的基础上增加移位控制电路,实现移位控制运算。实验机系统中增加设计 4 条移位运算指令 左环移 RL ; 带进位左环移 RLC ; 右环移 RR ; 带进位右环移 RRC 。 指令格式如下: 助记符 操作码 RR RRC RL RLC 说明: 以上4 条指令都为单字节指令。 RR 是将 R0 寄存器的内容循环右移一位。 RRC 是将 R0 寄存器的内容带进位右移一位,它将 R0 寄存器最低位移入进位位,同时将进位位移至 R0 寄存器的最高位。 RL 是将 R0 寄存器的数据循环左移一位。 RLC 是将 R0 寄存器中的数据带进位循。注:本次实验移位用RL。 带移位运算的模型机监控软件的设计 本模型机监控软件主要完成从输入设备读入数据,进行算术运算、移位运算后,将结果存入内存的某个单元,最后通过输出设备输出结果。 监控软件详细如下: 地址 内容 助记符 说 明 IN ; “输入开关量”R0 ADD 0DH ; R0 0DH R0 RLC IN ;“输入开关量”R0 RRC RL STA 0EH ; R0 0EH OUT 0EH ; 0EH BUS JMP 00H ;00HPC ;自定义数据 ;结果存放单元根据微程序流程图设计微程序并转化成十六进制文件格式。3 实验步骤3.1 实验前的准备 根据实验原理设计数据通路框图。 如图3-1。 根据机器指令画出对应的微程序流程图 ,如图3-2。注意:微程序流程图上的单元地址为 16 进制。 PC-ARPC+1RAM-BUSBUS-IRP(1)SW-R0R0-299PC-ARPC+1PC-ARPC+1PC-ARPC+1PC-ARPC+1RAM-BUSBUS-DR2R0-DR1DR1+DR2-R0DR1-LEDRAM-BUSBUS-ARRAM-BUSBUS-ARRAM-BUSBUS-ARR0-BUSBUS-RAMRAM-BUSBUS-DR1DR1-LED左环移299 -R0 01 02 10 IN ADD STA OUT JMP RL 10 11 12 13 14 17 03 07 19 1C 2101 04 0F 1A 22 01 05 1B 01 01 06 01 01 图3-2 微程序流程图 根据微程序流程图设计微指令并转换成 16 进制代码文件。 当全部微程序设计完毕后,应将每条微指令代码化,即按微指令格式将微程序流程图转化成二进制微代码表,如表3-3。 微地址S3 S2 S1 S0 M CN WE B1 B0 A B CUAUA00 00 0 0 0 0 1 0 1 10 0 00 0 01 0 0 0 10 0 0 0 0 1 0 1 11 1 0 1 1 01 1 0 0 20 0 0 0 0 1 0 0 11 0 00 0 0 0 0 1 0 30 0 0 0 0 1 0 0 11 1 00 0 00 0 0 0 40 0 0 0 0 1 0 0 10 1 10 0 00 0 0 0 50 0 0 0 0 1 0 1 10 1 00 0 10 0 0 0 60 0 0 0 0 1 0 1 10 0 11 0 10 0 0 0 70 0 0 0 0 1 0 0 11 1 00 0 00 0 0 0 80 0 0 0 0 1 0 1 11 1 01 1 01 1 0 0 90 0 0 0 0 1 0 1 11 1 01 1 01 1 0 0 A0 0 0 0 0 1 0 0 10 1 00 0 00 0 0 0 B0 0 0 0 0 1 0 1 10 0 00 0 00 0 0 0 C 0 0 0 0 0 1 0 0 00 1 00 0 00 0 0 0 D0 0 0 0 0 1 1 0 10 0 01 0 10 0 0 0 E 0 0 0 0 0 1 1 1 00 0 01 0 10 0 0 0 F0 0 0 0 0 1 1 0 10 0 00 0 10 0 0 1 00 0 0 0 0 1 0 0 00 0 10 0 00 0 0 1 10 0 0 0 0 1 0 1 11 1 01 1 01 1 0 1 20 0 0 0 0 1 0 1 11 1 01 1 01 1 0 1 30 0 0 0 0 1 0 1 11 1 01 1 01 1 0 1 40 0 0 0 0 1 0 1 11 1 01 1 01 1 0 1 50 0 1 1 0 1 0 1 10 0 00 0 10 0 0 1 60 0 1 1 0 1 0 1 10 0 00 0 10 0 0 1 70 0 1 1 0 1 0 1 10 0 00 0 10 0 0 1 80 0 1 1 0 1 0 1 10 0 00 0 10 0 0 1 90 0 0 0 0 1 0 0 11 1 00 0 00 0 0 1 A0 0 0 0 0 1 1 1 10 1 00 0 00 0 0 1 B0 0 0 0 0 1 1 1 00 0 01 0 10 0 0 1 C0 0 0 0 0 1 0 0 11 0 10 0 01 1 0 1 D0 0 1 0 0 1 0 1 10 0 01 0 00 0 0 1 E0 0 0 0 0 1 0 1 10 0 11 0 00 0 0 1 F0 0 1 0 1 1 0 1 10 0 01 0 00 0 0 2 00 0 0 0 0 1 0 1 10 0 11 0 00 0 0 2 10 0 0 1 0 1 0 1 10 0 01 0 00 0 0 2 20 0 0 0 0 1 0 1 10 0 11 0 00 0 0 2 30 0 0 1 1 1 0 1 10 0 01 0 00 0 0 2 40 0 0 0 0 1 0 1 10 0 11 0 00 0 0 表3-3 二进制微代码表将自己及组员的学号后两位转换为十六进制,相加并移位,计算出结果,并在实验中进行检验。如我的学号后两位为21,转换为16进制为15,我的组员学号后两位为24,转换为16进制为18。相加并移位后的结果应为5A。3.2 实验步骤3.1.1 实验连线设置a 、跳线器 J1J12 全部拨在右边(自动工作方式); b 、跳线器 J16 、J18 、J23 、J24 全部拨在左边; c 、跳线器 J13J15 、J19 、J25 全部拨在右边; d 、跳线器 J20J22 、J26 、J27 连上短路片; e 、UJ1 连 UJ2 ,JSE1 连 JSE2 ,SJ1 连 SJ2; f 、MBUS 连 BUS2 ; g 、REGBUS 连 BUS5 ; h 、PCBUS 连 EXJ2 ; i 、ALUBUS 连 EXJ3 ; j 、ALUO1 连 BUS1 ; k 、EXJ1 连 BUS3 ;l 、ALUO2 连 BUS4 。 3.1.2 具体操作步骤A仔细查线无误后接通电源 B 读写微程序和程序 手动方法写微程序我们小组的程序代码如下:$P0000$P0110$P020A$P0320$P040E$P0530$P060E$P0740$P0800$P0A0E$M$M0182ED05$M0250C004$M0304E004$M0405B004$M0506A205$M06019A95$M070FE004$M088AED05$M098CED05$M0A0EA004$M0B$M0C0D2004$M0D098A06$M0E080A07$M0F$M$M1183ED01$M1287ED05$M1399ED05$M149CED05$M151D8235$M161F8235$M$M$M191AE004$M1A1BA004$M1B010A07$M1C81D104$M1D1E8825$M1E$M1F20882D$M$M$M$MD$M手动方法写代码程序(机器指令)步骤如下: 通过上一步将机器指令对应的微代码正确地写入E2ROM2816 芯片后,再进行机器指令程序的装入和检查。 a. 将“编程开关”置“运行”位置,“运行方式”开关置“单步”位置。 b. 拨动总清开关(01),微地址寄存器清零,程序计数器清零。然后使控制开关 SWC、SWA 开关置为“0 1 ”,按动一次“启动运行”开关,微地址显示灯 LUA0LUA5 显示“ ”, 再按动一次“启动运行”开关,微地址显示灯 LUA0LUA5 显示“ ”,此时数据开关的 内容置为要写入的机器指令,再按动一次“启动运行”开关,即完成该条指令的写入。若仔细阅读微程序流程,就不难发现,机器指令的首地址只要第一次给入即可,PC会自动加 1,所以,每次按动“启动运行”开关,只有在微地址灯显示“ ”时,才设置内容,直到所有机器指令写完。 c. 写完程序后须进行检验。拨动总清开关(01)后,微地址清零,PC 程序计数器清零,然后使控制开关 SWC、SWA 为“0 0 ”,按动“启动运行”开关,微地址灯将显示“ ”,再按“启动运行”开关,微地址灯显示为“ ”,再按动“启动运行”开关,微地址灯显示为“ ”,此时总线数据显示灯 LZD0LZD7 显示为该首地址的内容,再按动一次“启动运行”开关,微地址灯显示为“ ”,2 位数码管即显示 RAM 中的程序。不断按动“启动运 行”开关,可检查后续单元内容。在执行IN指令时,手动置入另一个组员的学号二进制码(我们组另一位同学的学号二进制码为)。注意:每次仅在微地址灯显示为“ ”时,2 位数码管显示的内容才是相应地址中的机器指令内容。 联机读/写微程序和程序 用联机软件的装载功能将 16 进制格式文件(文件名为 C8JHE1 )装入实验机即可(详细操作见随机软件的 README )。 C. 运行程序 单步运行程序 a.“编程开关”置“运行”状态,“运行方式”开关置为“单步”状态, “运行控制”开关置为“运行”状态。b.拨动总清开关(01),微地址清零,PC 计数器清零,程序首地址为 OOH 。 c.按动“启动运行”开关,即单步运行一条微指令。对照微程序流程图,观察微地址显示灯是否和流程一致。 连续运行程序 a. “编程开关”置“运行”状态,“运行方式”开关置为“连续”状态, “运行控制”开关置为“运行”状态。 b. 拨动总清开关,清微地址及 PC计数器,按动“启动运行”开关,系统连续行程序。如果要停止程序的运行,只需将“运行控制”开关置为“停止”状态,系统就停机。 c. 本实验的运行结果最终显示在输出设备 2 位数码管上。4 实验结果与分析 经实验验证,实验结果与自己手动计算的结果相同,现将实验结果的过程以图片的形式呈现如下:注:此图为我们两个的学号相加,并将结果存入R0。注:此图为相加结果进行移位,并将移位结果存入R0。注:此图为最后结果的输出图。注:此图为执行完最后一步,即执行完第0A步的图。5 设计小结及体会这次的实验,加强了我们动手、思考和解决问题的能力。巩固和加深了对计算机cpu内部的理解,提高综合运用所学知识解决问题的能力。培养了我们选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。通过dvcc试验箱以及软件的使用,让我们对其中的原理能清楚的掌握。此外,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。而且做课程设计同时也是对课本知识的巩固和加强,平时看课本时,有些问题就不是很能理解,做完课程设计,那些问题就迎刃而解了。而且还可以记住很多东西。认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。所以这个期末测试之后的课程设计对我们的作用是非常大的。这次的实验使我懂得了理论与实际相结合是很非常重要的,只有理论知识是远远不够的,只有把所学的理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论