《计算机组成原理课程设计报告(复杂模型机)(共11页).doc》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计报告(复杂模型机)(共11页).doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上计算机组成原理 课程设计报告复杂模型机的设计与调试复 杂 模 型 机 的 设 计 与 实 现一、课程设计目的本课程设计是计算机组成原理课程结束以后开设的大型实践性教学环节。通过本课程设计,加深对计算机系统各模块的工作原理及相互联系的认识,特别是对微程序控制器的理解,进一步巩固所学的理论知识,并提高运用所学知识分析和解决实际问题的能力;锻炼计算机硬件的设计能力、调试能力;培养严谨的科学实验作风和良好的工程素质,为今后的工作打下基础。二、实验设备 ZY15CompSys12BB计算机组成原理教学实验系统一台,排线若干。三、设计与调试任务 1按给定的指令格式和指令系统功能要
2、求,用所提供的器件设计一台微程序控制器控制的模型计算机。 2根据设计图,在通用实验台上进行组装,并调试成功。四、指令格式 模型机设计四大类指令共十六条,其中包括算术逻辑指令、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)、取数(LD
3、A)、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其中,
4、addr=01 时,表示选中“输入单元”中的开关组作为输入设备,addr=10时,表示选中“输出单元”中的数码管作为输出设备。(D) 停机指令这类指令只有1条,即停机指令HALT,用于实现停机操作,指令格式如下:D7 D6 D5 D4 D3 D2 D1 D00 1 1 0 0 00 0五、总体设计 (1)指令系统本模型机共有16条基本指令。其中,算术逻辑指令9条,访问内存指令和程序控制指令4条,输入输出指令2条,其他它指令1条。表1列出了各条指令的格式、汇编符号、指令功能。表1 复杂模型机指令系统序号 汇编符号 指令格式 功能说明 1CLR Rd0111 00 Rd0Rd 2MOV RS,Rd
5、1000 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
6、 M,D00 M 11 00,D当CY=1或ZI=1时,EPC14IN addr, Rd0100 01 RdaddrRd15OUT addr, Rd0101 10 RdRdaddr16HALT 0110 00 00停机(2)微指令格式表2 复杂模型机微指令结构图微程序242322212019181716151413121110987654321控制信号S3S2S1S0MCNRDM17M16 A B PuA5uA4uA3uA2uA1uA0 A字段B字段P字段151413控制信号121110控制信号987控制信号000000000001LDRI001RS_G001P1010LDDR1010RD_G
7、010P2011LDDR2011RI_G011P3100LDIR100299_G100P4101LOAD101ALU_G101AR110LDAR110PC_G110LDPC其中uA5uA0为6位的后续微地址,A、B、P为三个译码字段,分别由三个控制位译码出多位。P字段中的P1P4是四个测试字位,其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的为地址入口,从而实现微程序的顺序、分支、循环运行。具体来说,P1测试用于“取指令”微指令,它用下址低四位(uA3uA0)与指令寄存器高四位(IR7IR4)相或得到各路分支;P2测试用下址低2位(uA1uA0)与指令寄存器的IR3IR2相或得到各
8、路分支;P3测试用于条件转移,它用下址的uA4与(ZI +CY)相或得到各路分支;P4测试用于控制台操作,它用下址低2位(uA1uA0)与SWB、SWA相或得到各路分支。在上述各测试下址中未用到的位均直接保留。AR为算术运算是否影响进位及判零标志控制位,其为零有效。B字段中的RS_G、RD_G、RI_G分别为源寄存器选通信号,目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码。三字段中的其他位类似与此,均是某芯片的选通信号,它们的功能都是根据机器指令来进行相应芯片的选通译码。(3)微程序流程图本模型机的数据通路如图1所示。根据机器指令系统
9、要求,设计微程序流程图及确定微地址,如图2所示。图1 复杂模型机的数据通路图微地址S3CN RDM17M16ABPuA5uA0000110000001000101111011011002001100000001350010100000003600111000001037001110000010600010100000006100111000001054011110110110550111101101105600101000000023011000000000240000100000006200101000000063011011011000640111101010002001111011011
10、021011110110110220111101101105701111011011051000001000000521100000100004601100000000040011001101000410110010010004201101000100043011011001000440110100100004501101000100053011010010000470110000010005001100000100005001001000000041010000100010701110110111006011000000011110110000000007401101010101065001
11、010000000670110111100007001111010100071011010101010720110110100001201100110110103011010010000140110101011012501100110100057011010101000600110000001016101100110110115011001101000160110110100003101110110111017011001101101730110011010003201100010000013011001100000330110001000007201100110000027110000101
12、00030101000101000六、实验步骤(1)按图3连接实验线路,仔细查线无误后,接通电源。 (2)编程 A.将控制台单元的编程开关SP06设置为WRITE(编程)状态。 B.将控制台单元上的SP03置为STEP,SP04置为RUN状态。 C.用开关单元的二进制模拟开关设置微地址UA5UA0。 D.在微控制器单元的开关LM24LM01上设置微代码,24位开关对应24位显示灯,开关量为1时灯亮,开关量为0时灯灭。 E. 按动START键,启动时序电路,即将微代码写入到28C16的相应地址单元中。 F.重复CE步骤,将表3的微代码写入28C16中。 (3)校验 A. 将编程开关SP06设置为
13、READ(校验)状态。 B. 将实验板的SP03开关置为STEP状态,SP04开关置为RUN状态。 C. 用二进制开关置好微地址A5A0。 D. 按动START键,启动时序电路,读出微代码观察显示灯LM24LM01的状态(灯亮为“1”,灭为“0”),检查读出的微代码是否与写入的相同。如果不同,则将开关置于WRITE编程状态,重新执行(2)即可(4)写程序/运行程序 A. 将控制台单元上的SP03置为STEP状态,SP04置为RUN状态,SP05置为NORM状态,SP06置为RUN状态。 B.拨动开关单元的总情开关CLR(101),微地址寄存器清0,程序计数器清0。然后使开关单元的SWB、SWA
14、开关设置为“0 1”,按动一次START,微地址显示灯显示“”,再按动一次START,微地址灯显示“”,此时数据开关的内容置为要写入的机器指令,按动两次START键后,即完成该条指令的写入。若仔细阅读KWE的流程,就不难发现,机器指令的首地址总清后为00H,以后每个循环PC自动加1,所以,每次按动START,只有在微地址灯显示“”时,才设置内容,直到所有机器指令写完。 C. 写完程序后须进行校验。拨动总清开关CLR(101)后,微地址清零。PC程序计数器清零,然后使控制台开关SWB,SWA为“0 0”,按动启动START,微地址灯将显示“”;再按START,微地址灯显示为“”;第3次按STAR
15、T,微地址灯显示为“”;再按START后,此时输出单元的数码管显示为该首地址中的内容。不断按动START,以后每个循环PC会自动加1,可检查后续单元内容。每次在微地址灯显示为“”时,是将当前地址中的机器指令写入到输出设备中显示。(4)运行程序。 (A)单步运行程序 使编程开关SP06处于RUN状态,SP03为STEP状态,SP04为RUN状态,SP05为NORM状态,开关单元的SWB,SWA为“1 1”。 拨动总清开关CLR(101),微地址清零,程序计数器清零,程序首址为00H。 单步运行一条微指令,每按动一次START键,即单步运行一条微指令。对照微程序流程图,观察微地址显示灯是否和流程一
16、致。 当运行结束后,可检查运行结果是否和理论值一致。 (B)连续运行程序 使编程开关SP06处于RUN状态,SP03为RUN状态,SP04为RUN状态,SP05为NORM状态,开关单元的SWB,SWA为“1 1”。 拨动CLR开关,清微地址及程序计数器,然后按动START,系统连续运行程序,稍后将SP04拨至“STOP”时,系统停机。停机后,可检查运行结果是否和理论值一致。七、测试程序地址内容助记符说明-0044IN输入410104STA40H41-40H02400344IN输入400404STA41H40-41H05410608JMP 09H跳到09H执行07090860HLAT停机-091
17、0LDA LDA40H 0A40间址取到41H单元数0B58OUT输出40-0C46IN输入20-RI0D20LDARI+D变址取40H单元数0E200F58OUT输出41-1030LDAPC+D相对寻址取41H单元数112F1258OUT输出40-1344IN输入8114F0RLC进位使CY灯灭150CBZC有进位或为0时跳到18H执行16181760HLAT停机1800LDA40H取40H单元数19401A58OUT输出41-1B44IN输入801C58OUT输出801DB0INC加11E58OUT输出81-1FD0COM取反2058OUT输出7E-2145IN输入0F22C1AND235
18、9OUT输出0E-2481MOVRS-RD2559OUT输出7E-2670CLR0-RS2758OUT输出0-2844IN输入8129F0RLC带进位循环左移,CY灯灭2A58OUT输出32B45IN输入12C91ADC带进位加2D59OUT输出5-2E44IN输入812FE0RRC带进位循环右移30 58OUT输出40,CY灯灭31 45IN输入1F32A1SBC带进位减3359OUT输出20-(八)、课程设计总结 这次课程设计前前后后花了一周的时间,大部分时间花在了对设计题目的理解和分析之上。刚开始接触题目的时候比较茫然,于是在实验五上下了一些功夫,基本了解试验设计的大致思路。 在设计过程
19、中,我们屡次碰壁,但是我们坚持不懂就问,在自己的讨论和向别人的请教中,加深了理解,后来又由于自己分析的不周全,在P1测试是“或”还是“异或”犯了错误,而导致设计的流程中地址代码全部出错,我们不得不重新设计地址代码。等等类似的问题还有很多,其实回头看看,在设计过程中多碰壁是好事。 其实这次设计不算顺利,虽然我和王继波最后顺利完成了设计任务,但是我觉得从团队的角度来说,一种顺利的合作,还说不上。1) 首先,作为团队,我们没有把各自的任务分配清楚,而是一起走步,我觉得这样遇到问题的时候容易产生依赖心理,也不容易调动每个人的积极性。明确的分工是合作的必要因素,而遇到问题集体讨论才是发挥集体力量的时候。2) 其次,我觉得我们没有在设计初期对问题的分析还不够深入,而在后期在遇到问题的时候有点对自己的东西掌控不住的感觉。我们基本上是走一步看一步,打个比方,把整个问题比作一棵树,我们在初期没有把整棵树进行遍历,以做到大致心中有数,而我们走的只是其中一枝,在遇到问题的时候在回过头找其他的树杈,却在岔路口徘徊。3) 总体上,我觉得我们比较乱,缺少条理性或者是规划。我个人以前独自做课程设计的时候,都习惯先分析,再动手,而这次总体上不是这种风格。也许这里面涉及到一个集体合作的融洽性问题,但是我倒觉得有个进行总体部署的“牵头人”比较好。专心-专注-专业