1、面向对象程序设计课程设计划书模板课程设计(大作业)报告课程名称: 计算机组成原理 设计题目: 复杂模型机实验 院 系: 信息技术学院 班 级: 09计算机科学与技术本1班设 计 者: 李娜 学 号: 20091101139 指导教师: 王玉见 设计时间: 2011-5-30至2011-6-3 昆明学院昆明学院课程设计(大作业)任务书姓 名:李娜 院 系:信息技术学院专 业:计算机科学与技术 学 号:20091101139 任务起止日期:2011年 5 月30至6月3课程设计题目: 复杂模型机实验课程设计要求:(1)在掌握单元电路实验的基础之上,将微程序设计模块与运算器模块存储器模块结合在一起,
2、进一步将其组成系统,够着一台复杂模型机。(2)微程序控制器来控制模拟机的数据通道。 (3)为其定义指令,并编写相应的微程序,通过联机调试,观察计算机的执行指令,从取指令,指令译码,执行指令等过程中数据通路内数据的流动情况,进一步掌握整机概念。 (4)动手操作实验设备,掌握微程序的实际思路与想法。(5)该模拟机由运算器 寄存器 译码电路 存储器 存储微指令uongde控制存储器组成,并能实现一些机器指令,因此根据设计好的机器指令程序,实现出输入、输出、存储器读写和简单的控制指令。 (6)整机调试工作计划及安排1、2011年5月30日早上在惟实楼3302机房,在老师的指导下进行了基本模型机实验为复
3、杂模型机实验奠定基础。2、2011年5月30日下午在图书馆查资料与同学探讨,为实验做准备。3、2011年5月31日早上在惟实楼3302机房,跟指导老师做实验。4、2011年5月31日下午实验过程结束,做实验总结。5、2011年6月1日在老师的指导下又去重新做了一遍实验,对实验步骤更加清楚。6、2011年6月2日,写实验报告。7、2011年6月3日交实验报告指导教师签字 年 月 日 课程设计(大作业)成绩学号: 20091101139 姓名:李娜 指导教师: 王玉见 老师课程设计题目: 复杂模型机实验 总结:本次课程设计是在王玉见老师的帮助和指导下,以及一个组员的积极配合,通过大家共同的努力,实
4、现了课程设计。通过几天紧张有序的课程实践,不仅让我们对复杂模型机和微程序的编辑 写入有了进一步的了解,辅助了课堂书本的学习,更加生动直观的为我们展示了模型机的工作原理,程序是如何运行的,实际体验,这些深化和巩固了自己的知识结构,同时本次实验对我们耐心和认真度得一个考验,因为本实验有这大量的线路连接,如果某一根线界限错误或者接触不良都会影响到实验结果。通过这次实验,使我懂得,只要自己在每一次实践中都能仔细认真思考,能亲自动手,课程设计中遇到的问题都能迎刃而解,每个同学都要多操作演示,理解各步骤的意义,只有多操作才能从中发现问题,及时解决问题,从而更好的掌握实验的基本原理。课程设计的目的除了工作量
5、和设计量之外,更重要的是去认真对待,通过设计实践对知识有更深刻的认识,并从中学到书本上学不上的知识。指导教师评语:成绩:填表时间: 指导教师签名: 课程设计(大作业)报告1 课程设计介绍 11.1 课程设计内容 11.2 课程设计要求 12 总体设计 23 调试与性能分析 64 参考文献 8附 录(程序清单) 101 、 课程设计介绍一.实验目的 综合运用所学计算机原理知识,设计并实现较为完整的模型计算机。二.实验设备 1. ZYE1601B计算机组成原理教学实验系统一台,排线若干。2. PC机一台。三.数据格式及指令系统 1. 数据格式 模型机规定采用定点补码表示法表示数据,且字长为8位,其
6、格式如下:数据位数D7D6 D5 D4 D3 D2 D1 D0用途符号尾数其中第7位为符号位,数值表示范围是:1X1。2. 指令格式 模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问存储器、转移指令和停机指令。(1)算术逻辑指令设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:数据位数D7 D6 D5 D4D3 D2D1 D0用途操作码(OP-CODE)源寄存器(RS)目的寄存器(RD)规定:选中的寄存器(RS或RD)R0R1R2寄存器的编码000110算术逻辑指令的名称、功能和具体格式见表23。 (2)访存指令及转移指令模型机设计2条访存指令,即
7、存数(STA)、取数(LD),2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为:数据位数D7 D6D5 D4D3 D2D1 D0D7D0用途00寻址模式M操作码OP-CODE目的寄存器编码RD位移量D其中,OPCODE为操作码,rd为目的寄存器地址(LD、STA指令使用)。D为位移量(正负均可),M为寻址模式,其定义如下:寻址模式M有效地址E说明D直接寻址(D)间接寻址(RI)+DRI变址寻址(PC)+D相对寻址本模型机规定变址寄存器RI指定为寄存器R2。(3)I/O指令输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:数据位数D7 D6 D5 D
8、4D3 D2D1 D0用途操作码(OP-CODE)地址(addr)目的寄存器(RD) 其中,在IN 指令中,addr=01,选中“INPUT”中的开关组作为输入设备,在OUT指令中,addr=10时,表示选中“OUTPUT UNIT”中的数码块作为输出设备。(4)停机指令指令格式如下:数据位数D7 D6 D5 D4D3 D2D1 D0值01100000HALT指令,机器码为60H,用于实现停机操作。3. 指令系统 复杂模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。表2-3列出了各条表2-3 复杂模型机指令系统助记符 指令格式 指
9、令长度(字节数) 指令功能 第一字节 第二字节 CLR rd 01 10 00 rd 无 1 0RD MOV rs,rd 10 00 rs rd 无 1 RSRD ADC rs,rd 10 01 rs rd 无 1 RS + RD + cy RD SBC rs,rd 10 10 rs rd 无 1 RS - RD - cy RD INC rd 10 11rd 无 1 RD + 1RD AND rs,rd 11 00 rs rd 无 1 RS RD RD COM rd 11 01rd 无 1 RD RRC rs,rd 11 10 rs rd 无 1 RS带进位循环右移一位,然后RSRD RLC
10、rs,rd 11 11 rs rd 无 1 RS带进位循环左移一位,然后rsRD LDA M,D,rd 00 M 00 rd D 2 有效数据E RD STA M,D,rd 00 M 01 rd D 2 RD有效地址E JMP M,D 00 M 10 00 D 2 有效数据EPC BZC M,D 00 M 00 rd D 2 当CY=1或ZI=1时,有效数据EPC IN rd 01 00 01 rd 无 1 INPUT设备的数据RD OUT rd 01 01 10 rd 无 1 RDOUTPUT UNIT HALT 01 10 00 00 无 1 停机 四.总体设计 复杂模型机的数据通路框图如
11、图2-7。根据机器指令系统要求,设计微程序流程图及确定微地址,如图2-8。 图2-7 复杂模型机数据通路框图 按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件。微程序 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 控制信号 S3 S2 S1 S0 M CN RD M17 M16 A B P uA5 uA4 uA3 uA2 uA1 uA0 A字段B字段P字段151413控制信号121110控制信号987控制信号000 000 000
12、001LDRi001RS_G001P1010LDDR1010RD_G010P2011LDDR2011RI_G011P3100LDIR100299_G100P4101LOAD101ALU_G101AR110LDAR110PC_G110LDPC五.实验步骤 1. 根据复杂模型机的指令系统,编写实验程序。实验例程如下:本实验完全使用寄存器操作。程序首先从数据输入开关采集数据放入R0中,经循环左移两次放入R1中。然后再次从数据输入开关采集数据放入R0中,经循环右移一次与R1中的数据相加,其结果送到R1中,然后判断加法的结果是否有进位或为全零,若是就循环运行,否则,输出结果到数码管上显示。实验的机器指令
13、程序如下: 地址 内 容 助记符 说 明00 44 IN R0 ;INPUT数据R0,第一次采集数据(设输入数据为 14H)01 F0 RLC R0, R0 ;R0带进位左循环移位一次02 F1 RLC R0, R1 ;第二次左移后保存到R1中03 44 IN R0 ;输入开关数据R0,第二次采集数据(设输入数据仍为14H)04 E0 RRC R0, R0 ;R0带进位右循环移位一次05 91 ADC R0, R1 ;两数据相加06 0C BZC 00 ;若有进位或结果为零,则跳到00地址单元07 0008 59 OUT R1 ;R1 OUTPUT UNIT 显示;09 60 HALT ;停机
14、 以上程序的机器指令如下:$P0044 $P01F0 $P02F1 $P0344 $P04E0 $P0591 $P060 $P0700 $P0859 $P0960微程序$M00018108 $M0101ED82 $M0200C050 $M0300A004 $M0400E0A0 $M0500E006 $M0600A007 $M0700E0A0 $M0801ED8A $M0901ED8C $M0A00A03B $M0B018001 $M0C00203C $M0D00A00E $M0E01B60F $M0F95EA25 $M1001ED83 $M1101ED85 $M1201ED8D $M1301E
15、DA6 $M14001001 $M15030401 $M16018016 $M173D9A01 $M18019201 $M1901A22A $M1A01B22C $M1B01A232 $M1C01A233 $M1D01A236 $M1E318237 $M1F318239 $M20009001 $M21028401 $M2205DB81 $M230180E4 $M24018001 $M2595AAA0 $M2600A027 $M2701BC28 $M2895EA29 $M2995AAA0 $M2A01B42B $M2B959B41 $M2C01A42D $M2D05AB6E $M2E0DAA2F
16、 $M2F01AA30 $M300D8171 $M31959B41 $M32019A01 $M3301B435 $M3405DB81 $M35B99B41 $M360D9A01 $M37298838 $M38019801 $M3919883A $M3A019801 $M3B070A08 $M3C068A092. 按图2-9连接实验线路,仔细检查线路无误后接通电源。(图中箭头表示需要接线的地方,接总线和控制信号时要注意高低位一一对应,可用彩排线的颜色来进行区分)3. 写程序对于本实验箱可以用两种方法来写入程序。方法一:联机读/写程序按照规定格式,将机器指令及微指令编辑成十六进制的规定格式文件,已
17、经在前面列出。使用联机软件的文件装载将实验程序和微程序下载到实验箱中,并用软件的读出功能进行检查。本实验参考程序对应的文件名为“复杂模型机.TXT”(联机软件的使用方法参看附录2)。方法二:手动写入接线图 (1)先将机器指令对应的微代码正确地写入28C16中,可以参照实验1.7微程序控制器的组成与微程序设计实验中微代码的写入方法,将本实验对应的微代码写入E2PR0M芯片中,对照前面的微程序内容校验正确后就可使用。(2)使用控制台WRITE和READ微程序进行机器指令程序的手动装入和检查,其操作如下:A. 使SIGNAL UNIT单元的SP03为“STEP”状态,SP04为“RUN”状态,CON
18、TROL UNIT的开关SP05处于“NORM”状态,开关SP06处于“RUN” 状态。B. 拨动SWITCH单元的总清开关CLR(101),微地址寄存器清零,程序计数器清零。然后使SWITCH单元的SWB、SWA开关设置为“01”,按动一次CONTROL UNIT的触动开关START,微地址显示灯显示“001001”,再按动一次START,微地址灯显示“001100”,此时数据开关的内容置为要写入的机器指令,按动两次START键后,即完成该条指令的写入。若仔细阅读WRITE的流程,就不难发现,机器指令的首地址总清后为零,以后每个循环PC会自动加1。所以,每次按动START,只有在微地址灯显示
19、“001100”时,才设置内容,直到所有机器指令写完。C. 校验。拨动SWITCH单元的总清开关CLR(101),微地址清零。PC程序计数器清零,然后使SWITCH单元的开关SWB、SWA为“00”,按动CONTROL UNIT的触动开关START,微地址灯将显示“001000”,再按START,微地址灯显示为“001010”,第三次按START,微地址灯显示为“111011”,再按START后,此时OUTPUT单元的数码管显示为该首地址中的内容。不断按动START,以后每个循环PC会自动加1,可检查后续单元内容。每次在微地址灯显示为“001000”时,是将当前地址中的机器指令写入到输出设备中
20、显示。4. 运行程序方法一:联机运行程序首先使各个开关的状态为:SIGNAL UNIT中的SP03开关设置为“STEP”状态。SP04开关设置为“RUN”状态;CONTROL UNIT的开关SP05处于“NORM”状态, SP06处于“RUN” 状态;SWITCH单元的开关SWB、SWA为“11”。使SWITCH单元的总清开关CLR(101)清零后,程序首址为00H。通过联机软件进入调试界面(其操作方法参见附录2系统联机操作软件说明),可以通过调试程序的操作界面控制程序的运行,同时观察运行过程和结果。方法二:手动运行程序(1)单步运行程序A. 使CONTROL UNIT的开关SP05处于“NO
21、RM”状态, SP06处于“RUN”状态,SIGNAL UNIT中的SP03为“STEP”状态,SP04为“RUN”状态,SWITCH单元的开关SWB、SWA为“11”。B. 拨动SWITCH单元的总清开关CLR(101),微地址清零,程序计数器清零,程序首址为00H。C. 单步运行微指令,每按动一次CONTROL UNIT的START触动开关,即单步运行一条微指令。对照微程序流程图2-8,观察微地址显示灯MA5-MA0是否和流程一致。D. 当运行结束后,可检查运行结果是否和理论值一致。如果运行结果保存在RAM的某一个单元中,则可以使用手动写入中的校验方法将其读出。(2)连续运行程序A. 使CONTROL UNIT的开关SP05处于“NORM”状态, SP06处于“RUN”状态,SIGNAL UNIT中的SP03为“RUN”状态,SP04为“RUN”状态,SWITCH单元的开关SWB、SWA为“11”。B. 拨动SWITCH单元的总清开关CLR(101),微地址及程序计数器清零,然后按动CONTROL UNIT的START触动开关,系统连续运行程序,稍后将SIGNAL UNIT中的SP04拨至“STOP”时,系统停机。C. 停机后,可检查运行结果是否正确。如果运行结果保存在RAM的某一个单元中,则可以使用手动写入中的校验方法将其读出。4、参考文献计算机组成原理 作者:谭浩强
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1