《2022年复杂模型机方案——合肥工业大学计算机组成课程方案报告.docx》由会员分享,可在线阅读,更多相关《2022年复杂模型机方案——合肥工业大学计算机组成课程方案报告.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品学习资源课程设计报告一.设计目的本课程设计是运算机组成原理课程之后开设的实践环节课程;通过本课程设计,使同学进一步加深对运算机原理系列课程相关内容的懂得,把握CPU 设计的基本方法和运算机系统的组成原理,进一步巩固所学的理论学问, 提高运用所学学问分析和解决实际问题的才能;锤炼运算机硬件的设计才能、调试才能;培育严谨的科学试验作风、良好的工程素养及团队协作精神,为今后的工作打下基础;二.设计题目复杂模型机设计三.设计要求基于运算机组成原理教案试验系统设计并实现一个具有16 条机器指令、采纳微程序掌握器的 8 位运算机;详细要求做到:1. 依据设计课题要求,给出模型机的设计方案包括指令系统和
2、硬件结构);2. 画出所设计运算机的硬件连接图,针对所设计的指令系统编写出相应的微程序;3. 对所设计的运算机进行安装与调试;4. 编写测试程序,对系统进行验证;5. 编写课程设计报告;四.试验设备Dais-CMX16 +运算机组成原理教案试验系统一台, PC 机一台欢迎下载精品学习资源五.指令格式与指令系统模型机设计四大类之类指令共 16 条,其中包括算术规律指令、 I/O 指令、拜访及转移指令和停机指令;算术规律指令设计 9 条算术规律指令并用单字节表示,寻址方式采纳寄存器直接寻址, 其格式如下:207 6 5 431OP-CODERdRs其中, OP-CODE 为操作码, Rs 为源寄存
3、器, Rd 为目的寄存器,并规定:Rs 或 Rd选定的寄存器00 R001 R110 R211 R39 条算术规律指令的名称、功能和详细格式见表7-12-1;拜访指令及转移指令模型机设计 2 条拜访指令,即存数 STA)、取数 LDA ), 2 条转移指令,即无条件转移 JMP)、结果为零或有进位转移指令 BZC),指令格式为:765 43 21 0Rd00M2OP- CODED低八) D高八)其中“ 0 0 M”为源码段, 2OP-CODE 为目的码段 LDA 、STA 指令使 用); D 为十六位地址段 01E =10 SP+D11 E =PC+D直接寻址 间接寻址SP 变址寻址相对寻址欢
4、迎下载精品学习资源输入IN )和输出 指令系统本模型机共有 16 条基本指令,其中算术规律指令7 条,拜访内存指令和程序掌握指令 4 条,输入输出指令 2 条,其它指令 1 条;下表列出了各条指令的格式、汇编符号、指令功能;助记符指令格式功能LDA M,D,Rd00M00RdE RdSTA M,D,Rd00M01RdRd EJMP M,D00M1000E PCBZC M,D00M1100当 CY=0或 Z=0时, E PCMOVRd,Rs0100RsRdRs RdADC Rd,Rs0101RsRdRs+Rd+CY RdSBC Rd,Rs0110RsRdRs-Rd-CY RdAND Rd,Rs0
5、111RsRdRs Rd RdCLR Rd100000Rd0 RdINC Rd,Rs100100RdRs+1 RdCPL Rd101000RdRd RdRHR Rd101100RdRd RdRHL Rd110000RdRd RdINRd,I/O110100RdI/O RdOUT Rd,I/O111000RdRd I/OHALT11110000停机2 复杂模型机指令系统;助记符操作数指令码长度;LDADR0,*003;直接字节送寄存器R0LDADR1,*013;直接字节送寄存器R1LDADR2,*023;直接字节送寄存器R2LDADR3,*033;直接字节送寄存器R3LDAIR0,*103;间接
6、字节送寄存器R0欢迎下载精品学习资源LDAIR1,*113;间接字节送寄存器R1LDAIR2,*123;间接字节送寄存器R2LDAIR3,*133;间接字节送寄存器R3LDAXR0,*203;变址字节送寄存器R0LDAXR1,*213;变址字节送寄存器R1LDAXR2,*223;变址字节送寄存器R2LDAXR3,*233;变址字节送寄存器R3LDARR0,*303;相对字节送寄存器R0LDARR1,*313;相对字节送寄存器R1LDARR2,*323;相对字节送寄存器R2LDARR3,*333;相对字节送寄存器R3STAD*,R0043;寄存器R0 送直接字节STAD*,R1053;寄存器R1
7、 送直接字节STAD*,R2063;寄存器R2 送直接字节STAD*,R3073;寄存器R3 送直接字节STAI*,R0143;寄存器R0 送间接字节STAI*,R1153;寄存器R1 送间接字节STAI*,R2163;寄存器R2 送间接字节STAI*,R3173;寄存器R3 送间接字节STAX*,R0243;寄存器R0 送变址字节STAX*,R1253;寄存器R1 送变址字节STAX*,R2263;寄存器R2 送变址字节STAX*,R3273;寄存器R3 送变址字节STAR*,R0343;寄存器R0 送相对字节STAR*,R1353;寄存器R1 送相对字节STAR*,R2363;寄存器R2
8、送相对字节STAR*,R3373;寄存器R3 送相对字节JMPD*083;直接转移JMPI*183;间接转移JMPX*283;变址转移JMPR*383;相对转移欢迎下载精品学习资源BNZCD*0C3; CY=0或 Z=0 时直接转移BNZCI*1C3;CY=0或 Z=0 时间接转移BNZCX*2C3; CY=0或 Z=0 时变址转移BNZCR*3C3; CY=0或 Z=0 时相对转移MOVR0,R0401;寄存器R0 送寄存器R0MOVR1,R0411;寄存器R0 送寄存器R1MOVR2,R0421;寄存器R0 送寄存器R2MOVR3,R0431;寄存器R0 送寄存器R3MOVR0,R1441
9、;寄存器R1 送寄存器R0MOVR1,R1451;寄存器R1 送寄存器R1MOVR2,R1461;寄存器R1 送寄存器R2MOVR3,R1471;寄存器R1 送寄存器R3MOVR0,R2481;寄存器R2 送寄存器R0MOVR1,R2491;寄存器R2 送寄存器R1MOVR2,R24A1;寄存器R2 送寄存器R2MOVR3,R24B1;寄存器R2 送寄存器R3MOVR0,R34C1;寄存器R3 送寄存器R0MOVR1,R34D1;寄存器R3 送寄存器R1MOVR2,R34E1;寄存器R3 送寄存器R2MOVR3,R34F1;寄存器R3 送寄存器R3ADCR0,R0501;寄存器R0 带进位加到
10、寄存器R0ADCR1,R0511;寄存器R0 带进位加到寄存器R1ADCR2,R0521;寄存器R0 带进位加到寄存器R2ADCR3,R0531;寄存器R0 带进位加到寄存器R3ADCR0,R1541;寄存器R1 带进位加到寄存器R0ADCR1,R1551;寄存器R1 带进位加到寄存器R1ADCR2,R1561;寄存器R1 带进位加到寄存器R2ADCR3,R1571;寄存器R1 带进位加到寄存器R3ADCR0,R2581;寄存器R2 带进位加到寄存器R0ADCR1,R2591;寄存器R2 带进位加到寄存器R1ADCR2,R25A1;寄存器R2 带进位加到寄存器R2ADCR3,R25B1;寄存器
11、R2 带进位加到寄存器R3欢迎下载精品学习资源ADCR0,R35C1;寄存器R3 带进位加到寄存器R0ADCR1,R35D1;寄存器R3 带进位加到寄存器R1ADCR2,R35E1;寄存器R3 带进位加到寄存器R2ADCR3,R35F1;寄存器R3 带进位加到寄存器R3SBCR0,R0601;寄存器R0 带进位减到寄存器R0SBCR1,R0611;寄存器R0 带进位减到寄存器R1SBCR2,R0621;寄存器R0 带进位减到寄存器R2SBCR3,R0631;寄存器R0 带进位减到寄存器R3SBCR0,R1641;寄存器R1 带进位减到寄存器R0SBCR1,R1651;寄存器R1 带进位减到寄存
12、器R1SBCR2,R1661;寄存器R1 带进位减到寄存器R2SBCR3,R1671;寄存器R1 带进位减到寄存器R3SBCR0,R2681;寄存器R2 带进位减到寄存器R0SBCR1,R2691;寄存器R2 带进位减到寄存器R1SBCR2,R26A1;寄存器R2 带进位减到寄存器R2SBCR3,R26B1;寄存器R2 带进位减到寄存器R3SBCR0,R36C1;寄存器R3 带进位减到寄存器R0SBCR1,R36D1;寄存器R3 带进位减到寄存器R1SBCR2,R36E1;寄存器R3 带进位减到寄存器R2SBCR3,R36F1;寄存器R3 带进位减到寄存器R3ANDR0,R0701;寄存器R0
13、 与 到寄存器 R0ANDR1,R0711;寄存器R0 与 到寄存器 R1ANDR2,R0721;寄存器R0 与 到寄存器 R2ANDR3,R0731;寄存器R0 与 到寄存器 R3ANDR0,R1741;寄存器R1 与到寄存器 R0ANDR1,R1751;寄存器R1 与到寄存器 R1ANDR2,R1761;寄存器R1 与到寄存器 R2ANDR3,R1771;寄存器R1 与到寄存器 R3ANDR0,R2781;寄存器R2 与到寄存器 R0ANDR1,R2791;寄存器R2 与到寄存器 R1ANDR2,R27A1;寄存器R2 与 到寄存器 R2ANDR3,R27B1;寄存器 R2 与 到寄存器
14、R3欢迎下载精品学习资源ANDR0,R37C1;寄存器R3 与 到寄存器R0ANDR1,R37D1;寄存器R3 与 到寄存器R1ANDR2,R37E1;寄存器R3 与到寄存器R2ANDR3,R37F1;寄存器R3 与到寄存器R3CLRR0801;清零寄存器R0CLRR1811;清零寄存器R1CLRR2821;清零寄存器R2CLRR3831;清零寄存器R3INCR0,R0901;寄存器R0 加1 到R0INCR0,R1911;寄存器R1 加1 到R0INCR0,R2921;寄存器R2 加1 到R0INCR0,R3931;寄存器R3 加1 到R0CPLR0A01;寄存器R0 取反CPLR1A11;
15、寄存器R1 取反CPLR2A21;寄存器R2 取反CPLR3A31;寄存器R3 取反RHRR0,R0B01;寄存器R0 带进位循环右移RHRR0,R1B11;寄存器R1 带进位循环右移RHRR0,R2B21;寄存器R2 带进位循环右移RHRR0,R3B31;寄存器R3 带进位循环右移RLR0,R0C01;寄存器R0 带进位循环左移RLR0,R1C11;寄存器R1 带进位循环左移RLR0,R2C21;寄存器R2 带进位循环左移RLR0,R3C31;寄存器R3 带进位循环左移INR0,IOLD01;将IOL数据读出到寄存器R0INR1,IOLD11;将IOL数据读出到寄存器R1INR2,IOLD2
16、1;将IOL数据读出到寄存器R2INR3,IOLD31;将IOL数据读出到寄存器R3欢迎下载精品学习资源OUTIOH,R0E01;将寄存器R0 数据写入到IOHOUTIOH,R1E11;将寄存器R1 数据写入到IOHOUTIOH,R2E21;将寄存器R2 数据写入到IOHOUTIOH,R3E31;将寄存器R3 数据写入到IOHHALTF01;停机 总线锁定 六.复杂模型及数据通路图七.微程序掌握器原理采纳微程序设计方法设计掌握单元的过程就是编写每一条机器指令的微程序,它是按执行每条机器指令所需的微操作命令的先后次序而编写的,因此, 一条机器指令对应一个微程序,由于任何一条机器指令的取指令操作是
17、相同 的,因此将取指令操作的命令统一编成一个微程序,这个微程序只负责将指令从主存单元中取出送至指令寄存器中;假如指令是间接寻址,其操作也是可以猜测的,也可以编出对应间址周期的微程序;当显现中断时,中断隐指令所需完成的操作可由一个对应中断周期的微程序掌握完成;这样,掌握储备器中的微程序个数应为机器指令数再加上对应取址、间接寻址和中断周期的微程序;依据系统建议的微指令格式,参照微指令流程图,将每条微指令代码化, 译成二进制代码,并将二进制代码表转换成十六进制格式文件;M23 M22 M21 M20 M19 M18 M17 M16 M15 M14 M13 M12 M11 M10 M9 M8 M7 M
18、6 M5 M4 M3 M2 M1 M0 E/M IPMWRR/M目的编码OPMCN S2 S1 S0源编码 XP W ALU I u I EI RI cz I ds欢迎下载精品学习资源X2X1X0O2O1O0111禁止111禁止110ALU110MAR101SP101BX100IOR100AX011MRD011SP010XRD010IOW001RRD001XWR000PC000RWR源编码目的编码M10M9M8功能M19M18M17功能八.测试源程序;复杂模型机程序#LOAD MXJ4.IS;预调入指令系统/ 微程序org0 start: CLR r0 ;CLR r1 ;CLR r2 ;CLR
19、 r3 ;寄存器清零LDA_X r0, 0060h ;变址送寄存器 R0 INCr0,r2 ;r2 自加送到 R0CLRr0 ;r0 清零INr0, iol;从 IO 输入到 R0 INr2,iol ;从 IO 输入到 R2 RLr3,r0 ;R0 左移送到 R3 CLRR3ANDr0,r2 ; R2 R0 与运算CPLr0 ;R0 取反OUTioh,r0 ;从 R0 输出数据到IOMOVr1, r0 ;R0 送到 R1MOVR3,R2 ;SBCr2, r0 ;R2 R0 带借位减送到R2ADCr0, r2 ;R0 R2 带进位加送到R0RRR0,R3 ;RO 右移一位送到 R3STA_R 0
20、030h,R2 ;相对寻址送到JMP_I 0011H ;跳转指令到 0011 bnzc_d start;haltend欢迎下载精品学习资源九.复杂模型及微程序流程图十.课程设计心得这次的课程设计让我对运算机组成原理这门课程有了一个新的熟识:软件欢迎下载精品学习资源与硬件的统一、程序与电路的融合;让我对“硬件是软件的身躯、软件是硬件的灵魂”有了更进一步的懂得;通过这次课程设计,我把握了复杂模型机的特点;把握了复杂模型机的基本原理和方法;运用微程序,微指令完成了复杂模型机的程序设计;在课程设计的过程中,遇到了一些问题,都是马虎大意而造成,并非是对复杂模型机和编程的熟识问题,说明白我再以后的试验中应当更细心的编写程序的每一步, 对于本次课程设计所显现的马虎,应当牢记,以后不再犯同样的错误;通过这次课程设计,也让自己更加的明白复杂模型机;总之,通过这次课程设计使自己受益良多,我信任别的同学也得到的不少!最终特别感谢各位老师为我们辛勤的付出以及给与我们运算机组成原理学习方面的帮忙;感谢各位老师;欢迎下载