计算机组成原理课程设计报告.doc
(13页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
9.90 积分
计算机组成原理课程设计报告实验项目:1、设计一个具有带进位加法和立即数寻址方式的模型机2、设计一个具有带进位加法和条件跳转的模型机专 业: 计算机科学与技术 班 级: 09级37-3班 学 号: ——————姓 名: 合 作: 指导教师: 实验时间: 2011-6-15 ~~ 6-17 实验一:设计一个具有带进位加法和立即数寻址方式的模型机1、问题描述本题目设计的是一台具有输入、输出、带进位加法、储存和跳转功能的模型计算机,并写出工作程序和测试数据验证所设计的指令系统。2、设计目标在设计完本程序后,所设计模型机能够完成从一个外设输入一个数到指定的寄存器中,另外输入立即数并将其存入另一个、寄存器中,两数进行进位相加并将结果保存到第一个寄存器,输出结果,并显示。另外,实现无条件跳转至开始。3、指令格式助记符号机器指令码功 能IN0000 0000Input -> R0ADC Imm1110 0000 XXXX XXXXR0+Imm+CY -> R0STA addr0010 0000 XXXX XXXXR0 -> [addr]OUT addr0011 0000 XXXX XXXX[addr] -> LEDJMP addr0100 0000 XXXX XXXX[addr] -> PC4、设计微指令(1)定义指令码,及定义一个下地址为08H指令指令编码微地址IN0000 000008ADC0001 000009STA0010 000010OUT0011 000011JMP0100 000012 (2)设计微指令编码表微地址S3S2S1S0MCnWEA9A8ABCUA5-UA000000000011000000000000001010000000111101101100000100200000000110000000100100008000000000001000000000001090000000111101101100000110300000000101100000000010004000000011010001000000101051001000110011010000000010A00000001111011011000011006000000001110000000000111070000001010000010000000010B0000000111101101100011010D0000000011100000000011100E0000000010010000000011110F0000001100000010000000010C00000001111011011001000010000000001101000110000001(3)微程序流程图(4)由编码得到微程序根据以上编写的微程序,以及微指令代码化的方法得到的微程序代码为:$M00018001$M0101ED82$M0200C048$M08001001$M0901ED83$M0300B004$M0401A205$M05919A01$M0A01ED86$M0600E007$M07028201$M0B01ED8D$M0D00E00E$M0E00900F$M0F030201$M0C01ED90$M1000D181(5)写工作程序$P0000$P0110$P0222$P0320$P0401$P0530$P0601$P0740$P0800(6)建立联机操作文件为了从PC机下载工作程序和微程序,需要建立联机操作文件,该文件是普通的文本文件,扩展名为TXT,可用记事本来建立的,要求:a、 测试用的工作程序排在文件的前面,每个内存地址及代码占一行;b、 微指令代码排在文件的后面,每个微地址及微指令代码占一行;(7)按照实验电路图连接实验线路实验采用复杂模型机系统连线图,电路图如下:(8)运行(a)系统与PC机联机实验系统安装有一个标准的DB型9针RS-232C串口插座,使用配套的串行通信电缆分别插在实验系统及PC机的串口,即可实现系统与PC机的联机操作。(b)下载工作程序和微程序使用唐都软件将工作程序和微程序下载到实验箱的内存和控制存储器中。其中,自带电 线的实验箱用NCMP53软件,启动软件后使用F4[装载]进行下载;外接电源线的实验箱用CMPP软件,启动软件后在菜单中选择[转储]/[装载]进行下载。(c)运行实验原理图,及数据流程图如下:(9)调试以及调试过程(把写好的程序下载到唐都实验箱,打开软件复杂模型机的原理图,按步骤点击单步运行,查看运行的指令和微指令的过程)调试发现问题:a、 刚开始时点击时,机器不运行。b、 DR1与DR2相加结果不正确。c、 从R0到内存STA存数指令的存数操作有误,R0-B打开的同时把AR的LDAR也打开了,造成指向内存单元改变。也就造成输出时的数据不正确和。d、 修改上一条错误后,误把R0数据存在01单元,覆盖了原来的指令,当跳转指令跳转回到原来程序的开头时,执行第二次就发生了错误。所以针对以上问题,都一一地找到相应的错误之处和解决方法:a1、连线有错误,检查后发现错误之处,并改正b2、改变s3到s0 ,改为1001(带进位加法)c3、由于疏忽造成,修改对应的LDAR开关编码d4、修改$P程序,存到没用的内存上述问题解决之后,程序便可运行出结果。(10)运行结果在上图中会执行INPUT到R0,然后从内存中取出一个数放到DR2中,R0内的数放到DR1中,DR1+DR2+cy放到R0中,再将R0内的数显示到LED上。实验二:设计一个具有带进位加法和条件跳转的模型机1、问题描述本题目设计的是一台具有输入、输出、数据传送、带进位加法、条件跳转,停机功能的模型计算机,并写出工作程序和测试数据验证所设计的指令系统。2、指令格式助记符号指令格式功 能MOVrs,rdXXXX Rs RdRs->RdADCrs,rdXXXX Rs RdRs+Rd+CY -> R0BZCD00 00 00 00 D当cy=1或z=1时,D->PC否则,顺序执行。INrdXXXX 01 RdSW->rdOUTrdXXXX 10 RdRd -> LEDHALTXXXX 0000停机3、设计微指令(1)定义一个下地址为20H指令指令编码微地址IN0011 000023MOV0010 000022ADC0001 000021BZCD0000 000020OUT0100 000024HALT0101 000025(2)设计微指令微地址S3S2S1S0MCnWEA9A8ABCUA5-UA000000000011000000000000001010000000111101101100000100200000000110000000110000020000000011000000011000001110000000111101101100000110300000000110100011000000121000000011010010000000100040000000110110010000001010510010001100110100000000122000000011001001000000001230000000000010000000000012400000001000000100000000125000000011000000000100101(3)画出微程序流程图(4) 微程序代码根据以上编写的微程序,以及微指令代码化的方法得到的微程序代码为:$M00018001$M0101ED82$M0200C060$M200180C1$M1101ED83$M0300D181$M2101A404$M0401B205$M05919A01$M22019201$M23001001$M24030201$M25018025(5)设计工作程序代码,以测试微程序$P0035$P0124$P0235$P0314$P0444$P0500$P0607$P0750(6)按照实验一建立联机文档并按照书本《计算机组成原理课程设计》的附录2(系统连线参考图)进行连线。(7)运行与调试把程序下载但唐都实验箱进行运行和调试。通过调试发现的问题:A、 不知道R1、R2、R0三个寄存器的关系(请教老师解决)。B、 运行第一条指令后便停滞,不再执行下面的操作。C、 解决a后,从输入模块输入到R1或R2都不能实现。D、 条件跳转指令后,执行非设计程序,程序跑飞了。通过前面的几次实验,已经获得部分解决方法的经验B1、检查连线未能发现问题,估计可能是哪里接触不良,故而弃之,换实验箱,重新调试,发现可以运行的。C2、自己未能找出错误所在,请教老师,指出连线上,我们仍采用的是原来电路图,因而没有把R1、R2寄存器连到电路中。D3、未设置好跳转的方向,最后使其跳转到停机指令,使其处于停机状态。(8)运行结果 程序会先从SW读一个数放到R1中,然后将R1内的数转移到R0中,然后将R0内的数放到DR1,R1中的数放到DR2,然后DR1+DR2+cy放到R0中,然后将R1内的数显示到LED上,下一步就进入了停机的死循环。实验总结与心得体会经过两三天的课程设计,给我个人的感觉有进步、好玩。为何如此说呢?对于我个人来讲,我是比较喜欢实验课的,因为一来实验课比理论课有意思一点,二来,通过现象和操作更容易理解理论的内容。更何况,实践是检验真理的唯一标准,只有通过实践才能更好的理解和记忆我们的理论知识。通过此次课程设计,我更深入的了解到了计算机工作的过程和原理,特别是在指令的执行。虽然原来在理论课上讲解过,但是单单从字面上我一直没有完全搞明白,而实验却让人顿悟。而课程设计又给我们提供了一个良好的学习机会,我们可以和老师或者同学尽情地交流,发表自己的观点,在相互交流讨论合作中,相互促进,共同进步,提高了学习的效率和学习的激情。- 13 - 关 键 词: 设计 组成 报告 课程 原理 计算机
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。