课程设计计算机组成原理复杂模型机的组成与运行.doc

上传人:laozhun 文档编号:2882315 上传时间:2023-03-01 格式:DOC 页数:17 大小:582.50KB
返回 下载 相关 举报
课程设计计算机组成原理复杂模型机的组成与运行.doc_第1页
第1页 / 共17页
课程设计计算机组成原理复杂模型机的组成与运行.doc_第2页
第2页 / 共17页
课程设计计算机组成原理复杂模型机的组成与运行.doc_第3页
第3页 / 共17页
课程设计计算机组成原理复杂模型机的组成与运行.doc_第4页
第4页 / 共17页
课程设计计算机组成原理复杂模型机的组成与运行.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《课程设计计算机组成原理复杂模型机的组成与运行.doc》由会员分享,可在线阅读,更多相关《课程设计计算机组成原理复杂模型机的组成与运行.doc(17页珍藏版)》请在三一办公上搜索。

1、 计算机组成原理课程设计报告题目五:复杂模型机的组成与运行 姓 名学 号班 级08计算机科学与技术汉师范班指导教师职称讲师日 期2011年7月 15日 目 录1 任务描述21.1 题目名称21.2 要 求21.3 实验目的22 设计设备23 设计原理和方法23.1 设计原理23.1.1数据格式23.1.2指令设计23.1.3指令格式33.1.4指令系统43.2 设计依据53.2.1 详细设计53.3.2实验操作74 代码清单84.1微程序流图84.2 机器指令代码94.3 微程序代码105 设计运行结果分析125.1 实验结果:125.2 出错情况:126 设计小结127致谢138参考文献14

2、附录一:数据通路框图15附录二:复杂模型机实验电路连线图16题目五 复杂模型机的组成与程序运行1 任务描述 1.1 题目名称:复杂模型机的组成与程序运行1.2 要 求:基于TD-CMA 计算机组成原理教学实验系统,设计一个复杂计算机整机系统模型机,分析其工作原理。根据模型机的数据通路以及微程序控制器的工作原理,设计完成以下几条机器指令和相应的微程序,输入程序并运行。IN R0,00H ;从端口00H读入计数初值到R0LDI R2,50H ;读入数据始地址LDI R1,00H ;累加和初值00H START: LAD 10,00H,R3 ;从MEM 读入数据送R3,变址寻址,偏移量为00H AD

3、DR1,R3 ;累加求和INC RI ;变址寄存加1,指向下一数据LDI R3, 01H ;送立即数入R3SUB R0, R3 ;R0-R3 -R0,与上一条指令一起实现DEC R0BZC RESULT ;为0 则跳转JMP START ;跳转至STARTRESULT: OUT 40H,R1 ;和在OUT 单元显示HLT ;停机50H、51H、52H、53H、54H单元内容分别为02H、03H、04H、05H、06H。 1.3 实验目的:该实验通过从端口00H读入一个计数初值,以该计数初值为基准从MEM的50H单元开始的连续的计数初值个数的累加和,最后将求得的累加和从端口40H输出显示。2 设

4、计设备 实验设备:西安唐都科教仪器公司生产的TD-CMA 实验系统一套,PC机一台,数据连接导线若干,电源。3 设计原理和方法通过已经学过的计算机组成原理知识,在TD-CMA实验系统上设计一个复杂模型机。 3.1 设计原理3.1.1数据格式模型机规定采用定点补码表示法表示数据,字长为位,8 位全用来表示数据(最高位不表示符号),数值表示范围是: 0X281。3.1.2指令设计该复杂模型机设计包含运算类指令、控制类指令、数据传输类指令三大类指令。运算类指令仅用到了算术运算,算术运算设计有3 条运算类指令,分别为:ADD(两寄存器值加法)、INC(寄存器值自加1)、SUB(两寄存器值减法)。所有运

5、算类指令都为单字节,寻址方式采用寄存器直接寻址。控制转移类指令有三条HLT(停机)、JMP(无条件跳转到指定的指令地址)、BZC(判断寄存器内容是否为0,为0则跳转到指定的指令地址),用以控制程序的分支和转移,其中HLT为单字节指令,JMP 和BZC 为双字节指令。数据传送类指令有IN、OUT、LDI、LAD、STA 共5 条,用以完成寄存器和寄存器、寄存器和I/O、寄存器和存储器之间的数据交换,均为双字节指令。 3.1.3指令格式 A、算术逻辑运算指令格式如下格式如下7 6 5 4 3 21 0操作码RSRD 其中RS为源操作数寄存器,RD为目的操作数寄存器。并且规定了用两位二进制数来表示R

6、0、R1、R2、R3寄存器,规定其表示方式如下表所示:RS或RD对应的寄存器 00 R0 01 R1 10 R2 11 R3 B、I/O指令格式(IN和OUT指令)如下7 6 5 4(1)3 2(1)1 0(1)7 6 5 4 3 2 1 0(2) 操作码RSRD I/O端口号 其中括号中的1 表示指令的第一字节,2 表示指令的第二字节, RS为源寄存器,RD 为目的寄存器, I/O 端口号占用一个字节。C、访问指令及控制转移指令格式如下: a、 LDI 的指令格式如下,第一字节同前一样,第二字节为立即数。7 6 5 4(1)3 2(1)1 0(1)7 6 5 4 3 2 1 0(2) 操作码

7、RSRD Data b、LAD、STA、JMP 和BZC 指令格式如下表所示:7 6 5 4(1)3 2(1)1 0(1)7 6 5 4 3 2 1 0(2) 操作码MRD D其中M 为寻址模式,具体见表3-1-1所示,以R2 做为变址寄存器RI。表3.1.1 寻址模式说明表寻址模式 M有效地址 E说 明00E = D直接寻址01E = (D)间接寻址10E = (RI) + DRI变址寻址11E = (PC) + D相对寻址D、停机指令格式如下7 6 5 4 3 2 1 0 操作码* * *3.1.4指令系统本模型机共有 11 条基本指令,其中算术逻辑运算单元3条,分别为SUB、ADD、IN

8、C.控制转移指令两条,分别为JMP、BZC.输入输出指令两条,分别为IN和OUT。寻址数据转移指令两条,分别为LDI、LAD。停机指令一条,为HALT.表3-1-2 列出了各条指令的汇编符号、指令格式及指令功能说明。详细说明见表3.1.2。 表3.1.2 指令描述表3.1.2 指令描述3.2 设计依据该复杂模型机通过已经学过的计算机组成原理知识,根据提供的实验箱,设计出了相应的机器指令,根据机器指令,由各种译码电路分析各条机器指令所要完成的工作,翻译分析得到相应的多条微程序指令,由微程序控制硬件及软件完成相应的操作。其中由P(1)、P(2)、p(3)测试得到相应的微程序入口,由微指令的低六位得

9、到微指令的后继地址,一直到执行完所有的机器指令完成相应的工作,到停机指令为止。3.2.1 详细设计由于复杂模型机实验的指令较多,寻址方式也较复杂,仅采用一种测试是不能够满足要求的,因此参照实验手册上的指令译码电路设计了电路图,如图2二所示: 图二 指令译码原理图该复杂模型机实验涉及到四个通用寄存器R0、R1、R2、R3,对寄存器的选择通过对指令低四位进行测试,判断得到相应的寄存器号。如:涉及到寄存器R0,则可能在低两位或者低三、四位为0表示。该功能寄存器译码电路,在IR 单元的REG_DEC(GAL16V8)中实现。译码电路如图三所示。 图三 寄存器译码原理图B 微指令格式根据机器指令系统要求

10、,设计确定微地址。微指令格式如下所示:232221201918-1514-1211-98-65-0M32CNWRRDIOMS3-S0A字段B字段C字段UA5-UA0 C 二进制代码表参照微指令流程图,将每条微指令代码化,译成二进制代码表(表3.1.3),并将二进制代码表转换为联机操作时的十六进制格式文件。 表3.1.3 二进制代码表3.3.2实验操作A 复杂模型机系统实验连线图(见附录一) 该实验图是复杂模型机在根据设计的指令系统设计出来的(此处借鉴了实验指导书的复杂模型机的实验连线图)。B 实验步骤在该复杂模型机实验中,我采用的是联机写入和校验的方式。1根据实验连线图(见附录二)正确连接电路

11、。2联机写入和校验联机软件提供了微程序和机器程序下载功能,以代替手动读写微程序和机器程序,但是微程序和机器程序得以指定的格式写入到以TXT 为后缀的文件中,本次实验程序见代码清单,程序中分号;为注释符,分号后面的内容在下载时将被忽略掉。在软件界面上可以通过单步、单拍、运行、结束等按钮执行程序。记录运行结果。4 代码清单4.1微程序流图 图1 微程序流图微程序流程图说明了微指令执行过程中指令流和数据流的方向。能更具体地看到具体的指令流和数据流的起点和和终点。其中起点可能是PC程序计数器、AR地址寄存器、主存MEM、通用寄存器R0、R1、R2、R3、IN端口等。终点可能是AR、MEM、OUT端口、

12、暂存器A、B等。4.2 机器指令代码; /* Start Of Main Memory Data */;/*其中地址和机器指令均为十六进制*/;/地址 机器指令 助记符 功能描述说明$P 00 20 ; IN R0,00H 从IN单元读入计数初值$P 01 00 $P 02 62 ; LDI R2,50H 立即数50H送R1$P 03 50$P 04 61 ; LDI R1,00H 装入和初值00H$P 05 00 $P 06 CB ;START: LAD 10,00H,R3 从MEM读入数据送R3,变址寻址,偏移量为00H $P 07 00 $P 08 0D ; ADD R1,R3 累加求和

13、$P 09 72 ; INC RI 变址寄存加1,指向下一数据 $P 0A 63 ; LDI R3,01H 送立即数01H入R3$P 0B 01 $P 0C 8C ; SUB R0,R3 DEC R0,R0-R3-R0$P 0D F0 ; BZC RESULT 为0跳转到RESULT处。$P 0E 11 ;$P 0F E0 ; JMP START 无条件跳转到START处。$P 10 06$P 11 34 ;RESULT:OUT 40H,R1 从端口40将所求得的累加和输出显示$P 12 40$P 13 50 ; HLT 停机$P 50 02 ; 数据$P 51 03$P 52 04$P 53

14、 05$P 54 06$P 55 07; /* End Of Main Memory Data */4.3 微程序代码; /* Start Of MicroController Data */;/*其中地址和微指令均为十六进制*/;/地址 微指令 操作*/$M 00 000001 ; NOP$M 01 006D43 ; PC-AR, PC加1$M 03 107070 ; MEM-IR, P$M 04 002405 ; RS-B$M 05 04B201 ; A加B-RD$M 06 002407 ; RS-B$M 07 013201 ; A与B-RD$M 08 106009 ; MEM-AR$M

15、09 183001 ; IO-RD$M 0A 106010 ; MEM-AR$M 0B 000001 ; NOP$M 0C 103001 ; MEM-RD$M 0D 200601 ; RD-MEM$M 0E 005341 ; A-PC$M 0F 0000CB ; NOP, P$M 10 280401 ; RS-IO$M 11 103001 ; MEM-RD$M 12 06B201 ; A加1-RD$M 13 002414 ; RS-B$M 14 05B201 ; A减B-RD$M 15 002416 ; RS-B$M 16 01B201 ; A或B-RD$M 17 002418 ; RS-B$

16、M 18 02B201 ; A右环移-RD$M 1B 005341 ; A-PC$M 1C 10101D ; MEM-A$M 1D 10608C ; MEM-AR, P$M 1E 10601F ; MEM-AR$M 1F 101020 ; MEM-A$M 20 10608C ; MEM-AR, P$M 28 101029 ; MEM-A$M 29 00282A ; RI-B$M 2A 04E22B ; A加B-AR$M 2B 04928C ; A加B-A, P$M 2C 10102D ; MEM-A$M 2D 002C2E ; PC-B$M 2E 04E22F ; A加B-AR$M 2F 04

17、928C ; A加B-A, P$M 30 001604 ; RD-A$M 31 001606 ; RD-A$M 32 006D48 ; PC-AR, PC加1$M 33 006D4A ; PC-AR, PC加1$M 34 003401 ; RS-RD$M 35 000035 ; NOP$M 36 006D51 ; PC-AR, PC加1$M 37 001612 ; RD-A$M 38 001613 ; RD-A$M 39 001615 ; RD-A$M 3A 001617 ; RD-A$M 3B 000001 ; NOP$M 3C 006D5C ; PC-AR, PC加1$M 3D 006D5

18、E ; PC-AR, PC加1$M 3E 006D68 ; PC-AR, PC加1$M 3F 006D6C ; PC-AR, PC加1; /* End Of MicroController Data */5 设计运行结果分析5.1 实验结果:实验结果分析:本实验通过复杂模型机实现了从内存50H单元开始的几个数据的累加求和。从IN单元的OOH端口输入数4,实现了从50H单元开始的2、3、4、5的求和,求得的累加和的结果在OUT单元的40H端口输出,输出结果为“0EH”.结果与用笔在所编程序上得结果相符。该结果验证了程序的正确性。5.2 出错情况:出错原因:解决方法:对所设计题目的运行结果给出尽可

19、能全面的分析,包括出错情况和出错原因分析6 设计小结 通过课程设计,加深了我对计算机整机的综合理解,掌握微程序控制器的组成原理以及微程序的编制、调试技术及模型机设计的基本方法,强化设计能力和实验动手能力。计算机组成原理是计算机科学与技术专业一门非常重要的课程,在计算机专业的学习中起着相当重要的作用,是掌握计算机硬件知识和计算机内部处理过程的理论基础,因此,本次课程设计是对计算机组成原理所学理论知识的一次大检阅,是集知识的综合应用和动手能力于一体的一次大型的演练。通过本次课程设计,我对计算机的基本组成、工作原理,以及他们之间的通信方式 ,微程序控制器的设计、微指令和微程序的编制、调试以及执行等过

20、程在理论的基础上面有了更加深刻的理解,并加深了对理论课程的理解。在实践过程中,老师的指导,与其他同学相互协作、相互交流,加强了我们之间的团队精神,并从以下几方面得到较深体会:1、加深了对实验原理的认识 本实验主要运用的原理是微程序控制的控制器工作原理。计算机所识别的全部指令都是由微指令组成的微程序,指令的执行是通过来执行相应的微程序来完成的。实验中将所要求的所有指令变成对应的微程序,写入控制存储器中,以后在执行用户程序的过程中,每次都先从内存储器中取出一条机器指令,其解释执行过程都是从控制存储器中读出相应的微程序,执行每条微指令的过程。2、熟悉了微程序流程图的画法和微指令的设计方法画微程序流程

21、图,要先确立每条机器指令所需要的微周期数,此时要注意遵循确立的原则。即写总线的微操作不能安排在同一条微指令中;当一微指令使用T4节拍时,其后续微操作不能与它安排在同一条微指令中;互斥微操作不能安排在同一条微指令中。3、对理论在实践中的应用有深刻的理解 这次课程设计提供了理论用于实践的机会,使我们真正弄懂了微指令的编写过程。指令的构成是设计过程中的一个难点,我们一定要真正地弄懂它,进而弄清楚指令的功能,理解整个设计的目的。4、激发了学习的积极性此次课程设计的过程中,弄清了以前在上理论课时的疑难问题,因此信心有了很大的增强,对计算机组成原理这门课程的兴趣也不断提高,在一定程度上增强了学习的积极性。

22、5、培养了我在做事方面的耐心及细心程度由于这次设计的线路复杂度高,连接线路是一种细活,稍微不小心把一条线路搞错就全错了,经过对实验箱的具体认识,重复了5遍才把实验电路连接正确,真的感觉细心和耐心在做实验中的重要性。在以后的学习、工作中,我们都要耐心、仔细,不能忽视任何一个细小的问题,只有这样,我们才以最高的效率完成任务。想要成功,必须使自己有一颗不断地挑战困难,战胜困难的心。6、 增强了团队合作精神在实验过程中,遇到了一些自己不会的知识点,通过老师讲解、同学之间的相互讨论及同组人的商量,这些问题都得到了解决。这体现了团队的力量的强大。在今后的生活、学习中,这种精神将会在更多地方用到。7致谢 在

23、实验过程中,侯宏霞老师耐心地给我们讲解了该实验的过程,在实验过程中遇到的各种问题老师都耐心地讲解,使我更进一步了解了复杂模型机的工作流程,特别是老师在p、p、P测试及一些译码电路的分析上的讲解,使我拓宽了知识面。在此,向侯老师的帮助和、知识的更深层次的讲解及耐心的指导表示我最真诚的感谢!8参考文献 1 计算机组成原理与与汇编语言程序设计(第二版) 徐洁 俸远祯主编 电子工业出版社,2007年8月 2 计算机组成原理与系统结构实验教程 西安唐都科教仪器开发有限责任公司编著并出版,2007年10月 3 计算机组成原理 白中英主编 科学出版社出版 2008年1月附录一:数据通路框图附录二:复杂模型机实验电路连线图

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号