计算机组成原理课程设计.docx

上传人:小小飞 文档编号:5027277 上传时间:2020-01-29 格式:DOCX 页数:27 大小:551.02KB
返回 下载 相关 举报
计算机组成原理课程设计.docx_第1页
第1页 / 共27页
计算机组成原理课程设计.docx_第2页
第2页 / 共27页
计算机组成原理课程设计.docx_第3页
第3页 / 共27页
计算机组成原理课程设计.docx_第4页
第4页 / 共27页
计算机组成原理课程设计.docx_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《计算机组成原理课程设计.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计.docx(27页珍藏版)》请在三一文库上搜索。

1、*大学课程设计报告目 录1 绪论21.1课程设计的目的21.2课程设计的意义21.3课程设计的内容与任务要求22需求分析33设计原理33.1实验原理33.2微代码定义43.3数据通路设计64微程序流程及说明74.1微程序流程图设计74.2微程序说明94.2.1 微程序的概念94.2.2 微程序控制器94.2.3 微程序设计105微代码表106机器指令程序116.1二进制机器指令程序116.2格式文件指令程序127线路连接图138调试步骤及结果分析148.1调试步骤148.2调试结果及分析188.2.1错误的调试结果188.2.2正确的调试结果199心得体会与总结25参考文献261 绪论1.1

2、课程设计的目的1. 在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。2. 为其定义五条机器指令,并编写相应微程序,具体上机调试掌握整机概念。1.2 课程设计的意义本课程设计的意义是在掌握计算机系统组成及内部工作机制、理解计算机各功能部件工作原理的基础上,深入掌握信息流和控制信息流的流动过程,进一步加深计算机系统各模块间相互关系的认识和整机的概念,培养开发和调试计算机的技能。再设计实践中提高应用所学专业知识分析问题和解决问题的能力。1.3 课程设计的内容与任务要求内容与任务设计要求:1. 按给定的数据格式和指令系统,理解为程序控制器的设计原理。2. 设计给定机器指令系统

3、遗迹微程序流程图,按微指令格 式写出微程序的微指令代码3. 将微程序控制器模块与运算器模块、存储器模块联机,组成一台模拟计算机。4. 用微程序控制器控制模型机的数据通路。5. 连接逻辑电路,完成启动、测试、编程、校验和运行,并观测运行过程及结果。6. 通过在模型机上运行由机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机的整机概念,掌握计算机的控制机制。2 需求分析一台计算机所能执行的各种指令集合称为指令系统或指令集。一台特定的计算机只能执行自己指令系统中的指令。因此,指令系统就是计算机的机器语言。指令系统表征着计算机的基本功能和使用属性,它是计算机系统设计中的核心问题。指令系统的

4、设计主要括指令功能、操作类型的设计,寻址方式和指令格式的设计。 计算机的性能与它所设置的指令系统有很大的关系,指令系统反映了计算机的主要属性,而指令系统的设置又与机器的硬件结构密切相关。指令是计算机执行某种操作的命令,而指令系统是一台计算机中所有机器指令的集合。通常性能较好的计算机都设置有功能齐全、通用性强、指令丰富的指令系统,而指令功能的实现需要复杂的硬件结构来支持。 3 设计原理3.1 实验原理部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一

5、条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移)。其中IN为单字长,其余为双字长。为了向RAM中装入程序和数据,检查写入是否正确,并能启动执行,还必须设计三个控制台操作微程序。存储器读操作(KRD):拨动总清开关CLR后,控制台开关SWB、SWA为“00”时,按START微动开关,可对RAM连续手动读操作。存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWB、SWA为“01”时,按START微动开关,可对RAM进行连续手动写

6、入。启动程序:拨动总清开关CLR后,控制台开关SWB、SWA为“11”时,按START微动开关,即可转入到第01号“取址”微指令,启动程序运行。上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如表3.1。表3.1 控制台指令定义表SWASWB控制台指令001011读内存(KDR)写内存(KWE)启动程序(RP)3.2 微代码定义微代码定义如表3.2所示。表3.2 微代码定义表24232221201918171615 14 13 12 11 109 8 7654321S3S2S1S0MCnWEA9A8ABCuA5uA4uA3uA2uA1uA0上述微代码定义表中字段A,B,C的内容如

7、表3.3所示。表3.3 A,B,C字段内容表A字段 B字段 C字段151413选择121110选择987选择000000000001LDRi001RS-B001P(1)010LDDR1010RD-B010P(2)011LDDR2011RI-B011P(3)100LDIR100299-B100P(4)101LOAD101ALU_B101AR110LDAR110PC_B110LDPC当拟定“取址”微指令时,该微指令的判别测试字段为P(1)测试。由于“取址”微指令是所有微程序都使用的公用微指令,因此 P(1)的测试结果出现多路分支。本机用指令寄存器的前4位(IR7-IR4)作为测试条件,出现5路分支

8、,占用5个固定微地址单元。控制台操作为 P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其他地方就可以一条微指令占用一个微地址单元随意填写。注意:微程序六流程图上的单元地址为8进制。3.3 数据通路设计根据以上要求设计数据通路框图,如图3.3所示:图3.3 数据通路框图4 微程序流程及说明4.1 微程序流程图设计按照数据通路可画出机器指令的微程序流程图,如图4.1和图4.2所示:图4.1 微程序流程图10101010101P(1)SW-R0PC-ARPC+1PC-ARPC+1PC-ARPC+1PC-ARPC+1RAM

9、-BUSBUS-ARRAM-BUSBUS-DR2R0-DR1(DR1)+(DR2)-R0RAM-BUSBUS-ARRAM-BUSBUS-ARRAM-BUSBUS-PCR0-BUSBUS-RAMRAM-BUSBUS-DR1DR1-LED01PC-ARPC+102RAM-BUSBUS-IR 运行微程序 10 IN ADD STA OUT JMP 10 11 12 13 14 03 07 16 26 04 15 17 05 25图4.2 微程序流程图24.2 微程序说明4.2.1 微程序的概念1、概念:微程序是由若干条微指令组成的序列。在计算机中,一条机器指令的功能可由若干条指令组成的微程序来解释和

10、执行。2、在一般数字系统中,微程序相当于前述的ASM流程图,也就是将控制器的控制算法变成了微程序流程图,并用EPROM来实现。3、微程序概念的引入,使大型复杂数字系统控制器的设计发生了革命性的变化。因为微程序技术可代替硬件布线的控制技术,即由门电路和触发器等组成的硬件网络可被存有控制代码的EPROM存储器所取代。4.2.2 微程序控制器1、微程序控制的优点:微程序控制技术可代替直接由硬件连线的控制技术。由于微程序控制方法规整性好,灵活方便,通用性强,因此在大型复杂的数字系统设计中广泛应用,成为控制器的主流设计方法。2、微程序控制的基本思想:微程序控制的基本思想,就是仿照通常的解题程序的方法,把

11、所有的控制命令信号汇集在一起编码成所谓的微指令,再由微指令组成微程序,存放在一个EPROM里。系统运行时,一条又一条地读出这些微指令,产生执行部件所需要的各种控制信号,从而驱动执行部件进行所规定的操作。3、微指令的结构:控制器通过一条条控制线向执行部件发出各种控制命令,我们把这些控制命令叫做微命令。而执行部件接受微命令所执行的操作叫做微操作。在系统的一个基本状态周期(又称机器周期)中,一组实现一定操作功能的微命令的组合,构成一条微指令。4.2.3 微程序设计设计微程序,就是确定微程序流程图,也就是控制算法流程图。微程序流程图中的一条微指令,相当于ASM流程图中的一个状态。由于控制存储器有足够的

12、容量,状态分配和状态化简这两种传统技术在微程序设计中已失去意义。控制存储器中一个地址转移到下一个地址是随意的,灵活的。因此增加微指令或减少微指令不必改动硬件。总之,以微指令结构为基础,就可以设计任何所要求的微程序,可长可短,灵活自如,且能实现多路并行转移,而不受“状态分配”的限制。5 微代码表当全部为程序实际完后,应将每条微指令代码化,根据上述微程序流程图按微指令格式化转换二进制代码表,如表5.1所示:表5.1 二进制代码表微地址S3 S2 S1 S0 M CN WE A9 A8ABCUA5UA0000 0 0 0 0 0 0 1 10 0 00 0 01 0 00 1 0 0 0 0010

13、0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 0020 0 0 0 0 0 0 0 11 0 00 0 00 0 10 0 1 0 0 0030 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 0 1 0 0040 0 0 0 0 0 1 0 10 1 10 0 00 0 00 0 0 1 0 1050 0 0 0 0 0 0 1 10 1 00 0 10 0 00 0 0 1 1 0061 0 0 1 0 1 0 1 10 0 11 0 10 0 00 0 0 0 0 1070 0 0 0 0 0 0 0 11 1 00 0 00 0 0

14、0 0 1 1 0 1100 0 0 0 0 0 0 0 00 0 10 0 00 0 00 0 0 0 0 1110 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 1120 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 1 1 1130 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 1 1 1 0140 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 1 1 0150 0 0 0 0 0 1 0 10 0 00 0 10 0 00 0 0 0 0 1160 0 0 0 0 0 0 0 1

15、1 1 00 0 00 0 00 0 1 1 1 1170 0 0 0 0 0 0 0 10 1 00 0 00 0 00 1 0 1 0 1200 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 0 1 0210 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 1 0 0220 0 0 0 0 0 0 0 10 1 00 0 00 0 00 1 0 1 1 1230 0 0 0 0 0 0 1 10 0 00 0 00 0 00 0 0 0 0 1240 0 0 0 0 0 0 0 00 1 00 0 00 0 00 1 1 0 0 0250

16、0 0 0 0 1 1 1 00 0 01 0 10 0 00 0 0 0 0 1260 0 0 0 0 0 0 0 11 0 10 0 01 0 00 0 0 0 0 1270 0 0 0 0 1 1 1 00 0 01 0 10 0 00 1 0 0 0 0300 0 0 0 0 1 1 0 10 0 01 0 10 0 00 1 0 0 0 16 机器指令程序6.1 二进制机器指令程序本次课程设计的机器指令程序设计如表6.1所示:表6.1 机器指令程序表地址(二进制)内容(二进制)助记符说 明0000 00000000 0000IN“INPUT DEVICE”-R00000 000100

17、01 0000ADD 0AHR0+0AH-R00000 00100000 10100000 00110010 0000STA 0BHR0-0BH0000 01000000 10110000 01010011 0000OUT 0BH0BH-BUS0000 01100000 10110000 01110100 0000JMP 00H00H-PC0000 10000000 00000000 10010000 10100000 0001自定0000 1011求和结果6.2 格式文件指令程序按照规定格式,将机器指令及表5.1微指令二进制表编辑成十六进制的格式文件EX1,其内容如下:$P0000 机器指令

18、格式说明:$P0110 $ XX XX$P020A $P0320 机器指令代码$P040B$P0530 十六进制地址$P060B$P0740$P0800$P0A01 微指令格式说明:$M00108101 $ M X X X X X X X X$M0182ED01$M0248C000 微指令代码$M0304E000$M0405B000$M0506A201 十六进制地址$M06019A95$M070DE000 注意:因系统文件格式要求,微指令$M08011000 格式文件和控制存储器的微指令代码$M0983ED01 的第一字节(前8位)与第三字节(后8$M0A87ED01 位)对换一下。$M0B8

19、EED01$M0C96ED01$M0D018202$M0E0FE000$M0F15A000$M1092ED01$M1194ED01$M1217A000$M13018001$M14182000$M15010A07$M1681D100$M17100A07$M18118A067 线路连接图本次课程设计的实验连接线路如图7.1所示:图7.1 实验接线图8 调试步骤及结果分析8.1 调试步骤(1) 按图7.1连接实验线路。(2) 写入程序方法一:手动写入 先将机器指令对应的微代码正确地写入2816中,将微代码写入 E2PROM芯片中,对照表5.1校验正确后就可使用。 使用控制台KWE和KRD微程序进行机

20、器指令程序的装入盒检查。A. 使编程开关处于“RUN”,STEP为“STEP” 状态,STOP为“RUN”状态。B. 拨动总清开关CLR(0-1),微地址寄存器清零,程序计数器清零。然后使控制台WEB、SEA开关置为“01”。按动一次启动开关START,微地址显示灯显示010001,再按动一次START微地址灯显示010100,此时数据开关的内容置为要写入的机器指令,按动一次START键,即完成该指令的写入。若仔细阅读KWE的流程,就不难发现,机器指令的首地址只要一次给入即可,PC会自动加1,所以,每次按动START,只有在微地址灯显示010100时才设置内容,直到所有机器指令写完。C. 写完

21、程序后须进行检验。拨动总清开关CLR(0-1)后,微地址清零,PC程序计数器清零,然后使控制台开关SWB、SWA为“0 0”,按动启动START微地址灯将显示010000,再按START,微地址灯显示为010010,第三次按START,微地址灯显示为010111,此时总线单元的显示灯显示为该首地址的内容。不断按动START,可检查后续单元内容,注意:每次仅在微地址灯显示为010111时,显示灯的内容才是相应地址中的机器指令内容。方法二:联机读/写程序 打开联机软件,出现如图8.1所示画面。图8.1 选择串口号画面 在图8.1的选择串口号里输入“1”,进入“计算机组成原理实验系统”界面,如图8.

22、2所示。图8.2 计算机组成原理系统界面 使用文件传送功能(按F4键)将格式文件EX1传入实验系统,如图8.3所示。图8.3 装入数据界面(3) 运行程序 单步运行程序A 使编程开关处于“RUN”状态,SETP为“SETP”状态,STOP为“RUN”状态。B 拨动总清开关CLR(0-1),使微地址与PC程序计数器清零,程序首选地址为00H。C 单步运行每一条微指令,每按动一次START键,即单步运行一条微指令。对照微程序流程图,观察微地址显示灯是否和流程一致。D 当运行结束后,可检查存数单元(0B)中的结果是否和理论值一致。 连续运行程序A 使“STATE UNIT”中的STEP开关置于“EX

23、EC”状态,STOP开关置为“RUN”状态。B 拨动CLR开关,清微地址及PC计数器,按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。C 停机后,可检查存数单元(0B)结果是否正确。 联机运行程序A 数据装入完毕后,按Esc键退出装入界面,再按F6键进入调试界面,然后给数据开关置数为00011111,最后拨动总清开关CLR(0-1)使微地址与PC程序计数器清零,如图8.4所示。图8.3 清零界面B 清零完毕后,连续按F2调试运行装入的数据,观察数据流向直至数据通路中的“OUT PUT”有数据送入即可停止调试。8.2 调试结果及分析8.2.1 错误的调试结果第一次进

24、入调试界面的部分错误调试结果如图8.4和8.5所示。 图8.4错误调试结果图1 图8.5错误调试结果图2图8.7错误调试结果图3分析:出现如上两图的错误调试结果是由于实验过程中接线出错造成的,如排线的高低位没对齐、缺少该接的线等,经过多次检查接线问题并更正接线后进入正确的调试界面。8.2.2 正确的调试结果修改错误后的调试结果。1、调试结果及调试分析(对照微程序流程图4.1进行一步一步进行分析),部分结果分析如图8.88.17所示。(注意:每次截屏后按F2即进入下一步调试)图8.8 初始PC -AR,PC+1图8.9 初始RAM-BUS-IR图8.10 IN中的SW-R0图8.11第二次RAM

25、-BUS-IR图8.12 第二次RAM-BUS-IR图8.13 ADD中PC -AR,PC+1图8.14 ADD中RAM-BUS-AR图8.15 ADD中RAM-BUS-DR2图8.16 ADD中R0-DR1图8.17 ADD中(DR1)+(DR2)-R02、依次重复上述步骤即可观察到STA、OUT及JMP的调试结果,限于篇幅不再截此三类的图。最终“OUT PUT”单元显示的结果如图8.18所示。图8.18 OUT PUT显示最终结果9 心得体会与总结通过这一次的课程设计,取得了不小的收获,我们从中了解了一个比较成熟的模型机的实现,体会其中的艰辛。这次课程设计使我们对于之前的几次实验的操作机器

26、录入的理解也更加的深刻了,同时在设计过程中,我们从开始的粗略的一个概念 ,到中间的疑惑,再到最终对概念的深入理解。在连接实验线路时要耐心与仔细,同时接线也要掌握一定的技巧。比如,将BUS UNIT、REG UNIT与ADDRESS UNIT都连接到ALU UNIT单元排针上;将MAIN MEN、OUTPT DEVICE、EXT BUS与INPUT DEVICE连接到EX UNIT单元的排针上等。另外要注意EX UNIT中Y0、Y1和Y2针的选择。对照实验接线图的如下图9.1注解接线。图9.1 Y0、Y1和Y2针针的选择图解这次的实验培养和提高了我们在遇到问题,分析问题,解决问题等各方面的能力。参考文献1 王爱英. 计算机组成与结构4版. 北京:清华大学出版社2007.2 王爱英. 程序员、高级程序员硬件知识. 北京:清华大学出版社2002.3 甘岚,曾辉. 计算机导论. 北京:北京邮电大学出版社,2005.4 白中英. 计算机组成原理. 北京:科学出版社,1994.5 http:/wenkubaidu.baidu,com 百度文库.6 http:/ 惠州学院计算机科学系27

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

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1