计算机组织与体系结构课程设计报告具有逻辑运算及跳转功能的复杂模型机设计.doc

上传人:仙人指路1688 文档编号:2388614 上传时间:2023-02-17 格式:DOC 页数:22 大小:974.50KB
返回 下载 相关 举报
计算机组织与体系结构课程设计报告具有逻辑运算及跳转功能的复杂模型机设计.doc_第1页
第1页 / 共22页
计算机组织与体系结构课程设计报告具有逻辑运算及跳转功能的复杂模型机设计.doc_第2页
第2页 / 共22页
计算机组织与体系结构课程设计报告具有逻辑运算及跳转功能的复杂模型机设计.doc_第3页
第3页 / 共22页
计算机组织与体系结构课程设计报告具有逻辑运算及跳转功能的复杂模型机设计.doc_第4页
第4页 / 共22页
计算机组织与体系结构课程设计报告具有逻辑运算及跳转功能的复杂模型机设计.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《计算机组织与体系结构课程设计报告具有逻辑运算及跳转功能的复杂模型机设计.doc》由会员分享,可在线阅读,更多相关《计算机组织与体系结构课程设计报告具有逻辑运算及跳转功能的复杂模型机设计.doc(22页珍藏版)》请在三一办公上搜索。

1、* 学 院计算机组织与体系结构课程设计报告题目:具有逻辑运算及跳转功能的复杂模型机设计姓名:*学号:200*1系别:计算机学院专业班级:*班同组同学:*指导教师:*起止时间:2011.9.052011.9.09一、课程设计要求及目的1、设计要求:课程设计是将我们所学的课程的理论知识与实践相结合的实验。本课程设计我们所选的题目是具有逻辑运算及跳转功能的复杂模型机设计,我们要设计出具有逻辑运算及跳转功能的机器指令,再写出指令对应的微程序,然后按照复杂模型机的电路图在实验箱上接线,然后与电脑联机执行,并观察执行过程和输出结果。2、设计目的:(1)复杂模型机系统分析与设计,利用所学的计算机组成原理课程

2、中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。(2)掌握各个单元模块的工作的原理,进一步将其组成完整的系统,构造一台基本的复杂模型机。(3)学会规划读/写内存、寄存器、 数值计算等功能,并且编写相应的机器指令和微程序,在具体上机的过程中,观察设计出的模型机的执行情况,根据输出的结果做出分析,从而更好的掌握计算机组成原理的知识。二、机器指令的设计和微程序设计原理计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应于一组微程序。1、数据格式 模型机规定采用定点补码表示法表示数据,且

3、字长为8位,其格式如下:其中第 7 位为符号位,数值表示范围是:。2、指令格式 模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O 指令、访问及转移指令和停机指令。(1)算术逻辑指令 设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:其中,OP-CODE 为操作码,rs为源寄存器,rd 为目的寄存器,并规定: 9 条算术逻辑指令的名称、功能和具体格式见表 7.2-1。(2) 访问指令及转移指令 模型机设计 2 条访内指令,即存数(STA)、取数(LDA),2 条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为:其中,OP-COD

4、E 为操作码,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

5、条,其它指令 1 条。表 7.2-1 列出了各条指令的格式、汇编符号、指令功能。4、总体设计本模型机的数据通路框图如图 7.2-1。根据机器指令系统要求,设计微程序流程图及确定微地址,如图 7.2-2。 按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件,见表 7.2-2。5.74LS181芯片的功能表6.微程序设计如下是机器指令格式说明和微指令格式说明 三.总体设计1.机器指令的设计(1)机器指令的助记符为:START: IN 01,R0 (R0)=15HMOV R0,R1INC R1AND R0,R1 RLC

6、 R1,R2OUT 10,R2JMP 00,STARTHALT(2)将助记符转换为指令I. IN 01,R0对应的指令格式为0100 0100即16进制的44II. MOV R0,R1对应的指令格式为1000 0001即16进制的81III. INC R1对应的指令格式为1011 0101即16进制的B5IV. AND R0,R1对应的指令格式为1100 0001即16进制的C1V. RLC R1,R2对应的指令格式为1111 0110即16进制的F6VI. OUT 10,R2对应的指令格式为0101 1010即16进制的5AVII. JMP 00,START对应的指令格式为0000 1000

7、 0000 0000即16进制的08和00VIII. HALT对应的指令格式为0110 0000即16进制的60(3).根据机器指令的格式可以编成的机器指令为: $P0044$P0181$P02B5$P03C1$P04F6$P055A$P0608$P0700$P08602.微程序流程图根据机器指令可以画出微程序流程图如下(其中的地址为16进制):3.微代码的设计(1) 微代码设计原理按照课程设计中微指令格式,参照微程序流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件,见表 7.2-2。 其中uA0-uA5为6位的后续微地址,即下地址字段,A、B、

8、C为三个译码字段,分别由三-八译码器译码出多位。C字段中的P1P4是四个测试字位,其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的为地址入口,从而实现微程序的顺序、分支、循环运行。在上述各测试下址中未用到的位均直接保留。AR为算术运算是否影响进位及判零标志控制位,其为零有效。B字段中的RS-B、RD-B、RI-B分别为源寄存器选通信号,目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码。三字段中的其他位类似与此,均是某芯片的控制信号,它们的功能都是根据机器指令来进行相应芯片的选择译码。(2)二进制代码的转换根据微程序流程图、微

9、地址和程序执行时的控制信号可编成以下二进制代码:微地址S3 S2 S1 S0 M CNWE A9A8ABCuA5uA00000000001100000010000100001000000011110110110000010020000000011000000010100000300000000101000000000010004000000001110000010100000100000000111101101100000111400000000000100000000000115000000110000010000000001180000000110010010000000011B00000

10、00110100010001100101C0000000110100010001100111F0011000110000010001110012000000000100100000000000122000001011101101110000001320000000110011010000000013300000001101101000011010135101110011001101000000001390001100110001000001110103A000000011001100000000001二进制代码表(3)微程序根据微指令格式及二进制代码表,将二进制代码表转换成16进制可得下面微程

11、序:$M00018108$M0101ED82$M0200C050$M0300A004$M0400E0A0$M1001ED83$M14001001$M15030401$M18019201$M1B01A232$M1C01A233$M1F318239$M20009001$M2205DB81$M32019A01$M3301B435$M35B99A01$M3919883A$M3A0198014.接线并调试(1)根据下面实验线路图在实验箱上接线(2)调试调试步骤:写入微程序,与PC联机,将实验微程序装入实验装置中。写程序,联机读/写程序。选择联机软件的【转储】【装载】功能菜单将该实验对应的文件*.txt载

12、入实验系统即可。运行程序,使用联机运行。联机运行程序时,进入软件界面,装载机器指令及微指令后,选择【运行】【通路图】【复杂模型机】功能菜单打开相应动态数据通路图,按相应功能键即可联机运行、监控、调试程序。四执行过程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拍:

13、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 第四拍是把数据寄

14、存器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。DR1DR2-BUS,BUS-RD 第五拍是把数据寄存器DR1、DR2里面

15、的数据传送到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拍

16、: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里面的内容放到数据寄存器DR

17、1里面。RAM-BUS,BUS-AR 第五拍是把RAM里面的内容放到地址寄存器AR里面,之后进行P(2)测试,进入JMP。DR1-BUS,BUS-PC 第六拍是把数据寄存器DR1里的内容送回程序计数器PC当中,之后跳转到第一条机器指令重复执行。2.指令执行过程的部分截图五课程设计结论在做课程设计的过程中,我们遇到了许多的难题。一开始写指令和程序的时候,因为不懂得里面那些信号的意思,所以无从下手,后来查阅了一些资料和问了一些人之后终于知道了那些信号的意思和如何写出机器指令和微程序。写出来微程序后,就进行接线,一开始接好线后,在联机测试过程中通过了,那时感觉很开心,因为很少可以一次接线就通过的,但

18、是后来运行了几次之后,实验箱的接线又出现问题了,检测了好久找不出原因,只能重新接线,这次接好线后连测试都不通过,虽然按着实验箱上显示的那几条线路去检查,但是还是找不出原因,只能再重新接线,最后接线终于通过了测试。然后就开始联机写入程序,加载后运行,但是出来的结果却总是不对,根据我们输入的数15H,经过一系列的运行之后出来的结果应该是28H的,但是每次运行过后出来的程序却都是29H。后来经过多次的观察,发现在执行指令的过程中,执行到R0和R1进行逻辑与时就会产生进位,这个进位导致了后面的带进位循环左移时多加了一位,所以出来的结果就总是多了1。后来在查询了书中的程序时,发现改动了地址为35的微程序

19、时可以得到结果为28H,但是与指导老师讨论过后得知不能改动35的指令,虽然现在还没有找到为何会进位的原因,但是通过对这次结果的讨论,让我学到了很多的东西,也许你的课本理论知识学得再好,但是没有通过实践的理论知识永远都只是纸上谈兵,只有将你所学的知识运用到实践中,才能改好的理解所学的知识。六心得体会 通过这次的课程设计,我学会了如何更好的与他人进行合作,与他人进行交流。我们组的课程设计是由我们组共同完成的,从一开始的写程序到后来的接线、调试,都是我们一起共同奋斗的结果。和同组人在实验室里奋斗,每天晚上都很晚才回去,虽然有点累,但是却很快乐,因为在这次的课程设计中我学到了很多知识,以前一些课本里不太懂的地方,我也弄懂了。特别是在与别人讨论问题的过程中,觉得自己收获了更多。只有经历过课程设计,才可以算是真正的把那些书本里的知识转化成自己的知识。我也更加明白了实践出真理,理论永远不比实践学的多,学的好,学的快。

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号