已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计 算 机 组 成 原 理 课程设计报告题 目 基本模型机与复杂模型机的设计与实现 系 名 班 级 姓 名 学 号 同组成员 指导教师 日 期 2011年12月2日 课程设计任务书一、设计任务: 1、 基本模型机设计与实现;2、 在基本模型机设计的基础上设计一台复杂模型机。二、功能指标和设计要求:利用所学过的理论知识,特别是微程序设计的思想,写出要设计的指令系统的微程序。设计环境为TDNCM计算机组成原理教学实验箱、微机,联机软件等。将所设计的微程序在此环境中进行调试,并给出测试思路和具体程序段。最后撰写出符合要求的课程设计说明书、完成答辩。1.基本模型机设计与实现1.1、设计一台简单模型机,要求其指令系统至少要包括五条不同类型指令:如一条输入指令(假设助记符为IN),一条加法指令(假设助记符为ADD),一条存数指令(假设助记符为STA),一条输出指令(假设助记符为OUT)和一条无条件转移指令(假设助记符为JMP);利用设计的模型机设计一个进行两个数求和运算的测试验证程序,验证模型机的功能。1.2、在1.1的基础上,给基本模型机增加一条加法指令(假设助记符仍为ADD),但是该加法指令的寻址方式与1.1中的加法指令寻址方式不同。利用设计的模型机设计一个进行两个数求和运算的测试验证程序,验证模型机的功能。2. 在任务1的基础上,设计具有不少于10条指令的复杂指令系统模型机。其中,包含算术逻辑指令、访问内存指令、转移指令、程序控制指令(控制台指令)、输入输出指令、停机指等令。数据的寻址方式要包括直接、间接、变址和相对寻址等多种寻址方式。利用设计的复杂模型机实现两个数的减法运算并判断差得正负,差为正数则输出A,差为负数则输出B,差为零则输出C。设计该测试验证程序,验证模型机的功能。3、基本模型机和复杂模型机的CPU数据字长为8位,采用定点补码表示。指令字长为8的整数倍。微指令字长为24位。三、设计步骤:1、确定设计目标进行全面深入的模型机设计需求分析,确定所设计计算机的功能和用途。2、确定指令系统确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。确定相对应指令所包含的微操作。3、总体结构与数据通路与硬件实现总体结构设计包括确定各部件设置以及它们之间的数据通路结构。在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微命令。综合考虑计算机的速率、性能价格比、可靠性等要求,设计合理的数据通路结构,确定采用何种方案的内总线及外总线。数据通路不同,执行指令所需要的操作就不同,计算机的结构也就不一样。硬件实现基于现有的基本实验箱平台,根据所设计模型机选择必要的元器件,并通过接插件(各种连线等)进行器件连接,组成所设计的模型机硬件系统(物理机)。4、设计指令执行流程数据通路确定和硬件实现后,就可以设计指令系统中每条指令所需要的机器周期数。对于微程序控制的计算机,根据总线结构,需考虑哪些微操作可以安排在同一条微指令中,哪些微操作不能安排在同一条微指令中。5、确定微程序地址根据后续微地址的形成方法,确定每个微程序地址及分支转移地址。6、微指令代码化根据微指令格式,将微程序流程中的所有微指令代码化,转化成相应的二进制代码写入到控制存储器中的相应单元中。7、组装、调试7.1、在总调试前,先按功能模块进行组装和分调,因为只有各功能模块工作正常后,才能保证整机的正常运行。首先调试每条微指令功能,再调试每条机器指令功能。连接所有模块,用单步微指令方式执行机器指令的微程序流程图,当全部微程序流程图检查完后,若运行结果正确,则在内存中装入一段机器指令,进行其他的运行方式等功能调试及执行指令的正确性验证。7.2、当所有功能模块都调试正常后,进入总调试。根据设计的模型机设计模型机功能测试验证程序,运行程序验证模型机功能。四、课程设计报告要求:课程设计报告要求打印,其中的数据通路框图、微程序流程图、实验接线图用VISIO等绘图工具软件绘制或用铅笔工工整整绘制,要求图文清晰,报告内容包括:(1)封面(包括:题目、所在系、班级、学号、指导教师及时间等项)(2)任务书(3)目录(目录要层次清晰,要给出标题及页次,目录的最后一项是无序号的“参考文献”)。(4)正文正文应按目录中编排的章节依次撰写,要求论述清楚,文字简练通顺,插图清晰,书写整洁,充分体现“设计”的思想。文中图、表及公式应规范地绘制和书写。正文是实践设计报告的主体,具体由以下几部分组成:1)课程设计题目;2)课程设计使用的实验设备;3)课程设计步骤(包括确定所设计计算机的功能和用途、指令系统、总体结构与数据通路、设计指令执行流程、确定微程序地址、微指令代码化、组装、调试、测试验证程序与功能验证情况。)4)课程设计总结(包括自己的收获与体会;遇到的问题和解决的方法等);(5)附录附录1:数据通路图附录2:微程序流程图附录3:实验接线图附录4:实验程序及微程序附录5:参考文献(资料)五、设计工作量:(1)作品:设计的最终作品包括硬件和软件两个部分,要求硬件实现正确,能够演示并达到设计指标的要求。每个学生(或小组)在作品完成后,要经指导教师检查,同意拆除后方可拆卸。(2)论文:严格按上述课程设计说明书的要求撰写和装订。每个学生一份。六、成绩评定标准:课程设计的成绩分为:优秀、良好、中等、及格、不及格五个等级。优秀:完成复杂模型机的设计与实现,指令系统完备有更新扩充。调试成功。文档规范齐全。良好:完成模型机的设计与实现,指令系统指令种类丰富有一定的更新。调试成功。文档规范齐全。中等:完成基本模型机的设计与实现,在老师指导下对指令系统有更新。调试成功。文档规范齐全。及格:完成基本模型机的设计与实现。调试成功。文档规范齐全。不及格:没有课程设计报告,无故缺勤,不能完成调试者不及格。七、工作计划:时间:14周周1周5(40课时)讲授:2课时设计及调试:26课时设计报告编8课时答辩:4课时 目录1、 课程设计题目-2、 课程设计的目的-3、课程设计实验设备-4、课程设计步骤-4.1、所设计计算机的功能和用途-4.2、指令系统-4.3、总体结构与数据通路与硬件实现- -4.4、设计指令执行流程-4.5、微指令代码化-4.6、组装和调试-4.7系统测试-5、课程设计总结-6、附录-附录1:数据通路图-附录2:微程序流程图-附录3:实验接线图-附录4:实验程序及微程序- 附录5:参考文献(资料)- 1、 课程设计的题目基本模型机与复杂模型机的设计与实现 二、课程设计的目的 经过一系列硬件课程如计算机原理的学习及相关实验后,综合应用所学理论知识解决实际设计和应用问题,进行一个综合的系统的实验。具体的来说就是在掌握各部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。培养实际动手能力,进一步提高硬件设计能力。培养实事求是和严肃认真的工作态度。通过设计过程,熟悉和掌握微机系统的硬件设计方法、设计步骤,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力。三、课程设计使用的实验设备 TDNCM+计算机组成原理教学实验系统一台,PC机一台,虚拟软件,排线若干。四、课程设计步骤4.1 所设计计算机的功能和用途 对于起初设计的基本模型机来说设计的基本模型机的指令系统包括至少五条不同类型指令:一条输入指令(假设助记符为IN),一条加法指令(假设助记符为ADD),一条存数指令(假设助记符为STA),一条输出指令(假设助记符为OUT)和一条无条件转移指令(假设助记符为JMP); 利用此模型机完成加法操作。两个操作都能读入被加数,从内存中读取加数,运算后都能保存运算结果,并且都将结果输出。 在基本模型机的基础上,增加至少十条以上的指令十条指令的复杂指令系统模型机。其中,包含算术逻辑指令、访问内存指令、转移指令、程序控制指令(控制台指令)、输入输出指令、停机指令等。数据的寻址方式要包括直接、间接、变址和相对寻址等多种寻址方式。利用设计的复杂模型机实现一个数的带进位右移和两个数的带进位减法。能读入减数与被减数,从内存中读取两个数,进行进位减法后能保存运算结果,并且将结果输出。4.2指令系统 本课程设计中的基本模型机采用五条机器指令:IN(输入),OUT(输出),ADD(二进制加法),STA(存数),JMP(无条件转移)。指令格式及说明如下:序号助记符机器指令码功能说明1IN00000000 INPUT DEVICE中的开关状态R02ADD addr00010000 *R0+addrR03STA addr00100000 *R0addr4OUT addr00110000 *addrDR1LED5JMP addr01000000 *addrPC6SUB addr01010000 *R0-addrR0 表1 指令系统编码其中:IN为单字长(8位),其余为双字长指令。*为addr对应的二进制地址码。本课程设计中的复杂模型机采用的十六条机器指令,其中包括算术逻辑指令、IO指令、访问存储器及转移指令和停机指令。 每种类型的指令格式如下:(A) 算术逻辑指令设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:D7 D6 D5 D4 D3 D2 D1 D0OP-CODE RsRd 其中,OP-CODE为操作码,Rs为源寄存器,Rd为目的寄存器,并规定:选中的寄存器(Rs或Rd)R0R1 R2 寄存器的编码000110(B) 访存指令及转移指令模型机设计2条访问指令,即存数(STA)、取数(LDA)、2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC)。其格式如下:D7 D6 D5 D4 D3 D2D1 D0D7D0OP-CODEM OP-CODE RdD其中,OP-CODE为操作码, Rd为目的寄存器,D为位移量(正负均可),M为寻址方式,其定义如下:寻址方式 有效地址 说 明 00 E=D直接寻址01E=(D)间接寻址10E=(RI)+DRI 变址寻址11E=(PC)+D相对寻址本模型机规定变址寄存器RI指定为寄存器R2。(C) I/O指令输入和输出指令采用单字节指令,其格式如下:D7 D6 D5 D4 D3 D2 D1 D0OP-CODE addrRd 其中,addr=01 时,表示选中“输入单元”中的开关组作为输入设备,addr=10时,表示选中“输出单元”中的数码管作为输出设备。 (D) 停机指令这类指令只有1条,即停机指令HALT,用于实现停机操作,指令格式如下:D7 D6 D5 D4 D3 D2 D1 D00 1 1 0 0 00 0根据上面提供的指令的格式,可以列出本次课设所需要的复杂模型机指令系统,如下图表一所示:序号 汇编符号 指令格式 功能说明 1CLR Rd0111 00 Rd0Rd 2MOV RS,Rd1000 RS RdRSRd 3ADC RS,Rd1001 RS RdRSRdCyRd 4SBC RS,Rd1010 RS RdRSRdCyRd 5INC Rd1011 - RdRd1Rd 6AND RS,Rd1100 RS RdRSRdRd 7COM Rd1101 00 RdRdRd 8RRC RS,Rd1110 RS RdRS带进位右循环一位,RSRd 9RLC RS,Rd1111 RS RdRS带进位左循环一位,RSRd10LDA M,D, Rd00 M 00 Rd,DERd11STA M,D, Rd00 M 01 Rd,DRdE12JMP M,D00 M 10 00,DEPC13BZC M,D00 M 11 00,D当CY=1或ZI=1时,EPC14IN addr, Rd0100 01 RdaddrRd15OUT addr, Rd0101 10 RdRdaddr16HALT 0110 00 00停机 表1 复杂模型机指令系统微指令格式如下图:微程序242322212019181716151413121110987654321控制信号S3S2S1S0MCNRDM17M16 A B CuA5uA4uA3uA2uA1uA0 A字段B字段C字段151413控制信号121110控制信号987控制信号000000000001LDRI001RS_G001P1010LDDR1010RD_G010P2011LDDR2011RI_G011P3100LDIR100299_G100P4101LOAD101ALU_G101AR110LDAR110PC_G110LDPC其中,在基本模拟机中B字段只用到了RS_G、ALU_G和PC_G,C字段中只用到了P1测试和P4测试。4.3总体结构与数据通路与硬件实现 首先,需要确定此次设计需要用到的硬件设备。计算机基本由五大部件组成即运算器,控制器,存储器,输入设备和输出设备。其中运算器和存储器又是CPU的基本组成部分。控制器由程序计数器(PC)-相当于指针、指令寄存器(IR)-存放指令、指令译码器根据指令中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址、时序产生器和操作控制器组成。运算器由算术逻辑运算单元(ALU)、通用寄存器(GR)和状态字寄存器(PSW)-保存状态,防止中断。主存由DRAM读写存储器来实现。控制存储器一般用来存放微程序。 根据上面的概述对寄存器的设置如下: R0、R1、R2为通用寄存器,8位; IR为指令寄存器,8位; PC为程序计数器,8位; AR为地址寄存器,8位;DR1、DR2为数据寄存器 数据通路可见附录1的数据通路图。根据数据通路图和指令的执行流程,可以画出实现整个设计功能的实验原理图,见附录二。然后根据原理图用排线将需要用到的硬件设备准确无误的连接好,随后进行测试和调试。4.4 设计指令执行流程根据机器指令系统要求,设计微程序流程图及确定微地址,如附录三所示。当拟定“取指”微指令时,该微指令的判别测试字段为P(1)测试。本机使用指令寄存器的前四位(IR7IR4)作为测试条件,出现5路分支,占用5个固定的微地址单元。控制台操作P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了三路分支,占用3个固定微地址单元。注意:流程图上的单元地址为8进制。基本模型机仅用到P(1)和P(4)测试。复杂模拟机相较于基本模拟机多了P2和P3测试。各自功能为:P2测试用下址低2位(uA1uA0)与指令寄存器的IR3IR2相或得到4路分支;P3测试用于条件转移,它用下址的uA4与(ZI +CY)相或得到2路分支。4.5 微指令代码化当全部微程序设计完毕后,应将每条微指令代码化,下表即为“二进制微代码表”。 微地址S3CN RDM17M16ABPuA5uA0000000000110000001000100000100000001111011011000001002000000001100000001100000350000000010100000000111103600000000111000001000010037000000001110000010110000600000000010100000001100016100000000111000001000010054000000011110110110011101550000000111101101100111115600000000101000000011001023000000011000000000000001240000000000100000000110006200000000101000000011001163000000011011011000110100641001010111101010001111002000000001111011011000001121000000011110110110000101220000000111101101100011015700000001111011011011010151000000000001000000000001520000001100000100000000014600000001100000000010011040001111011001101000000001410000000110010010000000014200000001101000100011101043000000011011001000000011440000000110100100000011014500000001101000100000111053000000011010010000111011470011000110000010000110105000110001100000100001101105000000001001000000000001040000001010000100010000010700000101110110111000000106000000011000000011001001110000000110000000000000017410010101101010101000010065000000001010000000110111670000000110111100001110007010010101111010100011100171100101011010101010000100720000000110110100000010101210010101100110110100000103000000011010010000001100140110010110101011010101012500001101100110100000000157000000011010101000110000600000110110000001011100016110010101100110110100000115000000011001101000000001160000000110110100000011113100000101110110111000000117101110011001101101000001730000110110011010000000013200101001100010000000101113000000011001100000000001330001100110001000000010117200000001100110000000000127000001110000101000010000300000011010001010000100014.6组装与调试本设计采用的方法是联机读/写程序。按照规定格式,将机器指令及微指令二进制表编辑成十六进制格式文件,如附录四所示。打开电源,运行联机软件的CMP.EXE,根据所使用的PC微机串口选择键入1或2,测试通过后,进入主菜单。进入主菜单后,使用联机软件中的【转储】-【载入】功能,将上面的十六进制格式文件装入实验系统中的主存和存储控制器中。运行程序单步运行程序A使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”状态。B拨动总清开关CLR(01),微地址清零,PC计数器清零,程序首地址为00H。C单步运行一条微指令,每按动一次START键,即单步运行一条微指令。对照微程序流程图,观察微地址显示灯是否和流程一致。D当运行结束后,可检查存数单元(0B)以及输出数码快中的结果是否和理论值一致。连续运行程序A使“STATE UNIT”中的STEP开关置于“EXEC”状态,STOP开关置为“RUN”状态。B拨动CLR开关,清微地址及PC计数器,按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。C停机后,可检查存数单元(0B)以及输出数码快中的结果是否正确。若联机运行程序时,按下“F6”进入调试界面进入DEBUG调试界面,总清开关CLR(01)清零后,程序首地址为00H,按相应功能键即可联机运行、调试程序。执行完一条指令后,计算机会根据指令的执行过程在屏幕上画出数据流图,有效的控制信号用高亮显示,并将下一条微指令显示在屏幕下方,可以直接地观察到指令的执行过程。1:单步执行机器指令。一条机器指令对应一段微程序,每执行一条微指令,计算机同时显示数据流图,执行完整条机器指令后停机,此时可以再键入“F1”继续单步下一条机器指令。2:单步微程序。每按动一次“F2”,单步执行一条微指令,同时显示数据流图。3:连续运行。按下“F3”后,系统开始连续运行程序,同时显示数据流图。此时按下任意键可终止程序运行。注意,按任意键有可能不会立即终止程序运行,只有当一条机器指令运行完后,此命令才有效。4:返回主菜单,按ESC键也可完成。当通路图中数据流的流向与之前所设计的机器指令应该执行的流程顺序一致时说明硬件与软件实现的良好。4.7系统测试设计微程序如下:基本模型机采用5条机器指令:IN,ADD,STA,OUT,JMP地 址(二进制) 内 容(二进制) 助记符 说 明 0000 0000 0000 0000 IN R0 “INPUT DEVICE(班号)”37 0000 0001 0001 0000 ADD 0AH,R0 R0+0AH 5C0000 0010 0000 1010 0000 0011 0010 0000 STA R0,0BH R00BH 0000 0100 0000 1011 0000 0101 0011 0000 OUT 0BH 0BH LED 0000 0110 0000 1011 0000 0111 0100 0000 JMP 00H 00H PC 0000 1000 0000 0000 0000 1001 0000 1010 0010 0101 0000 1011 求和结果复杂模型机采用 8条机器指令:IN,RRL,OUT,IN,SBC,STA,LAD,OUT地址内容助记符说明0044IN输入8101E0RRC带进位循环右移02 58OUT输出40,CY灯灭03 45IN输入1F04A1SBC带进位减05 05STA R1(E)06 11 LDA (E)RS0759OUT 输出20 载入的机器指令和微指令见附录四。五 课程设计总结 本次课程设计小组由四人组成,在设计的过程中我们相互合作,勤于思考,大胆设想,积极尝试,终于克服了种种困难,完成了目标。在设计中我们遇到的问题归纳起来有三方面。(1) 在设计基本模型机时,我们设计的是三个数相加。但是试的时候一直出错,存数单元(0B)与理论值不相符。为了解决这个问题,我们翻阅了很多资料,又对我们所编写的机器指令和微指令逐个分析,最终发现第二个ADD指令指代的自定加数的地址不对,所以才导致调试的出错。这个问题虽然是个小问题,但从中可以开出当时我们对机器指令掌握还不够熟练,全面。(2) 在设计复杂模型机的时候,我们设计的是间接寻址的两个数相加,可是通路图中两个加数到最后显示的是FF。开始时我们一直不明白问题出在哪里,硬件测试完全正确,指令也正确,后来经过同学的点播我们发现REG UNIT里的LDR0和MICRO-CONTROLLER里的LDRi没有连。而LDRi为打入工作寄存器信号的译码器的是能控制位。如果没有将其连入,DR1和DR2的读取就会发生紊乱。(3) 我们还设计了带进位的循环右移和带进位的减法,我们想把它的结果从数码块中输出,就加了一条OUT指令,可是不管怎样修改就是无法输出。最终老师给我们进行了详细的解释和深刻的剖析。我们明白了要想把RD里的数输出首先要保证RD里面有数。而之前我们已经把RD里的数通过数据总线送给PC了。为了输出,经过反复推敲我们选择了另外一条道路,借鉴基本模型机的输出先把数送到主存,再从主存中取出输出到数码管。这次数码管可以真正的显示正确数据了。 这次的课程设计虽然只有短短的五天,但我们却受益颇多。第一,我们对计算机组成的硬件和软件部分有了深入的了解,对课本上讲解的知识能够融会贯通,对各个组成部件,对计算机处理指令的流程等有了更加详细的认识。第二,改变了我们思考问题看待问题的角度,提高了我们的创新能力。此次课设我们自主设计,有足够的空间大胆设想我们想要实现的功能,并利用所学的知识将其应用与实践。随让过程比较困难,有时还会停滞不前,但最终出来的结果却让我们有极大的满足感和成就感。第三,增强了我们的团队合作意识。此次课设我们组四个人,团结合作,分工明确,一人有问题,全体协商,提高了工作的效率,也让我们不断的从对方的身上学习他们思考问题和解决问题的方式,思想。来弥补自身的不足,完善自己。第四,只有不断的实验才会走向成功。此次课设我们遇到了很多困难,但我们从来没有放弃,而是反复推敲反复思考反复演示,才有了后来的成功。这也让我明白了一个道理只有多操作才能从中发现问题,及时解决问题,才能迈向成功。附录一数据通路图 在这里我们输入了16进制的81和1F,经过带进位右移和带进位减
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 张家界市重点中学2026届高二上数学期末教学质量检测试题含解析
- 辽宁中医药大学《中国文化与遗产》2024-2025学年第一学期期末试卷
- 电子制造市场分析及行业标准研究
- 全员安全生产责任制责任书范本
- 地方院校农业硕士专业学位研究生实践能力培养体系构建思考
- 论文学生执行情况怎么写
- 解决当前妇女工作面临问题的对策及建议
- 煤炭企业施工管理现状分析论文
- 浅析污水处理厂鼓风机系统的节能技术及优化改造
- 煤炭企业成本管理探讨-图文
- 2025年户外探险领队户外安全风险管理方案试卷及答案解析
- 脑出血康复训练
- 教师中级职称答辩考试题库及答案
- 京剧趣谈马鞭课件
- 七年级全册英语中文单词汇编
- 泵闸维修方案(3篇)
- 2025年保安服务行业研究报告及未来发展趋势预测
- 社会情感学习本土化-洞察及研究
- 2025年秋期人教版五年级上册数学全册核心素养教案(教学反思有内容+二次备课版)
- 理发基础知识培训课件
- 【《基于STM32单片机的智能社区安防系统设计与实现》13000字(论文)】
评论
0/150
提交评论