收藏 分销(赏)

计算机组织与体系结构课程设计报告.doc

上传人:精*** 文档编号:4818584 上传时间:2024-10-13 格式:DOC 页数:22 大小:974.54KB
下载 相关 举报
计算机组织与体系结构课程设计报告.doc_第1页
第1页 / 共22页
计算机组织与体系结构课程设计报告.doc_第2页
第2页 / 共22页
点击查看更多>>
资源描述
************ 学 院 计算机组织与体系结构 课程设计报告 题目:具有逻辑运算及跳转功能的复杂模型机设计 姓名:**** 学号:200********1 系别:计算机学院 专业班级:************班 同组同学:***** 指导教师:**** 起止时间:2011.9.05—2011.9.09 一、课程设计要求及目的 1、设计要求: 课程设计是将我们所学的课程的理论知识与实践相结合的实验。本课程设计我们所选的题目是具有逻辑运算及跳转功能的复杂模型机设计,我们要设计出具有逻辑运算及跳转功能的机器指令,再写出指令对应的微程序,然后按照复杂模型机的电路图在实验箱上接线,然后与电脑联机执行,并观察执行过程和输出结果。 2、设计目的: (1)复杂模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。 (2)掌握各个单元模块的工作的原理,进一步将其组成完整的系统,构造一台基本的复杂模型机。 (3)学会规划读/写内存、寄存器、 数值计算等功能,并且编写相应的机器指令和微程序,在具体上机的过程中,观察设计出的模型机的执行情况,根据输出的结果做出分析,从而更好的掌握计算机组成原理的知识。 二、机器指令的设计和微程序设计原理 计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应于一组微程序。 1、数据格式 模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下: 其中第 7 位为符号位,数值表示范围是:。 2、指令格式 模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O 指令、访问及转移指令和停机指令。 (1)算术逻辑指令 设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下: 其中,OP-CODE 为操作码,rs为源寄存器,rd 为目的寄存器,并规定: 9 条算术逻辑指令的名称、功能和具体格式见表 7.2-1。 (2) 访问指令及转移指令 模型机设计 2 条访内指令,即存数(STA)、取数(LDA),2 条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为: 其中,OP-CODE 为操作码,rd 为目的寄存器地址(LDA、STA 指令使用)。D 为位移量(正负均可),M 为寻址模式,其定义如下: 本模型机规定变址寄存器 RI 指定为寄存器 R2。 (3)I/O 指令 输入(IN)和输出(OUT)指令采用单字节指令,其格式如下: 其中,addr=01 时,选中“INPUT DEVICE”中的开关组作为输入设备,addr=10 时,选 中“OUTPUT DEVICE”中的数码块作为输出设备。 (4)停机指令 指令指令格式如下: HALT 指令,用于实现停机操作。 3、指令系统 本模型机共有 16 条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令 1 条。表 7.2-1 列出了各条指令的格式、汇编符号、指令功能。 4、总体设计 本模型机的数据通路框图如图 7.2-1。根据机器指令系统要求,设计微程序流程图及确定微地址,如图 7.2-2。 按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件,见表 7.2-2。 5.74LS181芯片的功能表 6.微程序设计 如下是机器指令格式说明和微指令格式说明 三.总体设计 1.机器指令的设计 (1)机器指令的助记符为: START: IN 01,R0 (R0)=15H MOV R0,R1 INC R1 AND R0,R1 RLC R1,R2 OUT 10,R2 JMP 00,START HALT (2)将助记符转换为指令 I. IN 01,R0对应的指令格式为0100 0100即16进制的44 II. MOV R0,R1对应的指令格式为1000 0001即16进制的81 III. INC R1对应的指令格式为1011 0101即16进制的B5 IV. AND R0,R1对应的指令格式为1100 0001即16进制的C1 V. RLC R1,R2对应的指令格式为1111 0110即16进制的F6 VI. OUT 10,R2对应的指令格式为0101 1010即16进制的5A VII. JMP 00,START对应的指令格式为0000 1000 0000 0000 即16进制的08和00 VIII. HALT对应的指令格式为0110 0000即16进制的60 (3).根据机器指令的格式可以编成的机器指令为: $P0044 $P0181 $P02B5 $P03C1 $P04F6 $P055A $P0608 $P0700 $P0860 2.微程序流程图 根据机器指令可以画出微程序流程图如下(其中的地址为16进制): 3.微代码的设计 (1) 微代码设计原理 按照课程设计中微指令格式,参照微程序流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件,见表 7.2-2。 其中uA0-uA5为6位的后续微地址,即下地址字段,A、B、C为三个译码字段,分别由三-八译码器译码出多位。C字段中的P1——P4是四个测试字位,其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的为地址入口,从而实现微程序的顺序、分支、循环运行。 在上述各测试下址中未用到的位均直接保留。AR为算术运算是否影响进位及判零标志控制位,其为零有效。B字段中的RS-B、RD-B、RI-B分别为源寄存器选通信号,目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码。三字段中的其他位类似与此,均是某芯片的控制信号,它们的功能都是根据机器指令来进行相应芯片的选择译码。 (2)二进制代码的转换 根据微程序流程图、微地址和程序执行时的控制信号可编成以下二进制代码: 微地址 S3 S2 S1 S0 M CN WE A9A8 A B C uA5…uA0 00 000000 011 000 000 100 001000 01 000000 011 110 110 110 000010 02 000000 001 100 000 001 010000 03 000000 001 010 000 000 000100 04 000000 001 110 000 010 100000 10 000000 011 110 110 110 000011 14 000000 000 001 000 000 000001 15 000000 110 000 010 000 000001 18 000000 011 001 001 000 000001 1B 000000 011 010 001 000 110010 1C 000000 011 010 001 000 110011 1F 001100 011 000 001 000 111001 20 000000 001 001 000 000 000001 22 000001 011 101 101 110 000001 32 000000 011 001 101 000 000001 33 000000 011 011 010 000 110101 35 101110 011 001 101 000 000001 39 000110 011 000 100 000 111010 3A 000000 011 001 100 000 000001 二进制代码表 (3)微程序 根据微指令格式及二进制代码表,将二进制代码表转换成16进制可得下面微程序: $M00018108 $M0101ED82 $M0200C050 $M0300A004 $M0400E0A0 $M1001ED83 $M $M $M $M1B01A232 $M1C01A233 $M1F318239 $M $M2205DB81 $M32019A01 $M3301B435 $M35B99A01 $M3919883A $M3A019801 4.接线并调试 (1)根据下面实验线路图在实验箱上接线 (2)调试 调试步骤: ①写入微程序,与PC联机,将实验微程序装入实验装置中。 ②写程序,联机读/写程序。 选择联机软件的【转储】à【装载】功能菜单将该实验对应的文件*.txt载入实验系统即可。 ③运行程序,使用联机运行。 联机运行程序时,进入软件界面,装载机器指令及微指令后,选择【运行】à【通路图】à【复杂模型机】功能菜单打开相应动态数据通路图,按相应功能键即可联机运行、监控、调试程序。 四.执行过程 1.指令执行过程的记录 本课程设计设置输入值为15H (1)第一条机器指令是$P0044,一共有3拍: ①PC->AR ,PC+1第一拍是将PC中的地址放到AR中,PC指向下一条指令。 ②ARM->BUS,BUS->IR第二拍是把RAM里面的内容放到指令寄存器IR里面。 ③SW->BUS,BUS->R0第三拍是把输入的数放到寄存器R0里面,此时 (R0)=15H。 (2)第二条机器指令是$P0181,一共有3拍: ①PC->AR ,PC+1第一拍是将PC中的地址放到AR中,PC指向下一条指令。 ②ARM->BUS,BUS->IR第二拍是把RAM里面的内容放到指令寄存器IR里面。 ③R0->R1 第三拍是把寄存器R0里面的数传送到寄存器R1里面,此时 (R1)=15H。 (3)第三条机器指令是$P02B5,一共有4拍: ①PC->AR ,PC+1第一拍是将PC中的地址放到AR中,PC指向下一条指令。 ②ARM->BUS,BUS->IR第二拍是把RAM里面的内容放到指令寄存器IR里面。 ③R1->BUS,BUS->DR1 第三拍是把寄存器R1里面的数传送到数据寄存器DR1里面,此时(DR1)=15H。 ④DR1+1->BUS,BUS->RD 第四拍是把数据寄存器DR1送到运算器ALU当中,执行自加1操作之后,把所得数据送到寄存器R1里面,此时(R1)=16H。 (4)第四条机器指令是$P03C1,一共有5拍: ①PC->AR ,PC+1第一拍是将PC中的地址放到AR中,PC指向下一条指令。 ②ARM->BUS,BUS->IR第二拍是把RAM里面的内容放到指令寄存器IR里面。 ③RS->BUS,BUS->DR1 第三拍是把寄存器R0里面的数传送到数据寄存器DR1里面,此时(DR1)=15H。 ④RD->BUS,BUS->DR2 第四拍是把寄存器R1里面的数传送到数据寄存器DR2里面,此时(DR1)=16H。 ⑤DR1ˆDR2->BUS,BUS->RD 第五拍是把数据寄存器DR1、DR2里面的数据传送到ALU当中,进行逻辑“与”运算之后,把所得数据送到寄存器R1里面,此时(R1)=14H。 (5)第五条机器指令是$P04F6,一共有5拍: ①PC->AR ,PC+1第一拍是将PC中的地址放到AR中,PC指向下一条指令。 ②ARM->BUS,BUS->IR第二拍是把RAM里面的内容放到指令寄存器IR里面。 ③R1->299 第三拍是把寄存器R1里面的数传送到299移位寄存器当中,也就是 14H。 ④带进位循环左移 第四拍是将数14H进行带进位左循环移动一位,所得数为28H。 ⑤299->R0 第五拍是将移位寄存器里的数28H传送到寄存器R2当中,此时(R2)=28H。 (6)第六条机器指令为$P055A,一共有3拍: ①PC->AR ,PC+1第一拍是将PC中的地址放到AR中,PC指向下一条指令。 ②ARM->BUS,BUS->IR第二拍是把RAM里面的内容放到指令寄存器IR里面。 ③R2->LED 第三拍是把寄存器R2里面的数输出,此时数码显示管显示28。 (7)第七、八条机器指令是$P0608、$P0700,一共有6拍: ①PC->AR ,PC+1第一拍是将PC中的地址放到AR中,PC指向下一条指令。 ②ARM->BUS,BUS->IR第二拍是把RAM里面的内容放到指令寄存器IR里面。 ③PC->AR ,PC+1第三拍是将PC中的地址放到AR中,PC指向下一条指令。 ④RAM->BUS,BUS->DR1 第四拍是把RAM里面的内容放到数据寄存器DR1里面。 ⑤RAM->BUS,BUS->AR 第五拍是把RAM里面的内容放到地址寄存器AR里面,之后进行P(2)测试,进入JMP。 ⑥DR1->BUS,BUS->PC 第六拍是把数据寄存器DR1里的内容送回程序计数器PC当中,之后跳转到第一条机器指令重复执行。 2.指令执行过程的部分截图 五.课程设计结论 在做课程设计的过程中,我们遇到了许多的难题。一开始写指令和程序的时候,因为不懂得里面那些信号的意思,所以无从下手,后来查阅了一些资料和问了一些人之后终于知道了那些信号的意思和如何写出机器指令和微程序。写出来微程序后,就进行接线,一开始接好线后,在联机测试过程中通过了,那时感觉很开心,因为很少可以一次接线就通过的,但是后来运行了几次之后,实验箱的接线又出现问题了,检测了好久找不出原因,只能重新接线,这次接好线后连测试都不通过,虽然按着实验箱上显示的那几条线路去检查,但是还是找不出原因,只能再重新接线,最后接线终于通过了测试。 然后就开始联机写入程序,加载后运行,但是出来的结果却总是不对,根据我们输入的数15H,经过一系列的运行之后出来的结果应该是28H的,但是每次运行过后出来的程序却都是29H。后来经过多次的观察,发现在执行指令的过程中,执行到R0和R1进行逻辑与时就会产生进位,这个进位导致了后面的带进位循环左移时多加了一位,所以出来的结果就总是多了1。后来在查询了书中的程序时,发现改动了地址为35的微程序时可以得到结果为28H,但是与指导老师讨论过后得知不能改动35的指令,虽然现在还没有找到为何会进位的原因,但是通过对这次结果的讨论,让我学到了很多的东西,也许你的课本理论知识学得再好,但是没有通过实践的理论知识永远都只是纸上谈兵,只有将你所学的知识运用到实践中,才能改好的理解所学的知识。 六.心得体会 通过这次的课程设计,我学会了如何更好的与他人进行合作,与他人进行交流。我们组的课程设计是由我们组共同完成的,从一开始的写程序到后来的接线、调试,都是我们一起共同奋斗的结果。和同组人在实验室里奋斗,每天晚上都很晚才回去,虽然有点累,但是却很快乐,因为在这次的课程设计中我学到了很多知识,以前一些课本里不太懂的地方,我也弄懂了。特别是在与别人讨论问题的过程中,觉得自己收获了更多。只有经历过课程设计,才可以算是真正的把那些书本里的知识转化成自己的知识。我也更加明白了实践出真理,理论永远不比实践学的多,学的好,学的快。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服