1、微程序设计 1 计算机组成原理课程设计报告 题目:微程序设计 专业:计算机科学与技术 班级: 指导老师: 微程序设计 2 目录 一、 摘要 二、 设计要求 三、 微程序控制器原理 四、 总体设计 五、 测试 六、 结论 七、 参考文献目录 八、 个人总结 微程序设计 3 重庆大学本科学生课程设计任务书 课程设计题目 微程序设计 学院 计算机学院 专业 计算机科学与技术 年级 2008 已知参数和设计要求: 用微程序控制器实现以下指令功能: 交换指令: xchgrm reg, addr ;功能:(reg)(addr),addr 是 8 位二进制地址 加法指令: addi rd,rs,imme ;
2、功能:rd(rs)+imme addm rd,rs,addr ;功能:rd(rs)+(addr) 带右移的加法运算: add ri ,rj , n ; ri (ri)+(rj) n,rj中内容不变 学生应完成的工作: 根据模型计算机的数据路径以及微程序控制器的工作原理, 设计各指令格式以 及编码,并实现各机器指令微代码,根据定义的机器指令,自拟编写包含以下指令 的应用程序。参考实验 5.3、6.1。上机调试并输出正确结果,给出完整的设计报 告。 课程设计的工作计划: 任务下达日期 年 月 日 完成日期 年 月 日 指导教师 (签名) 学 生 (签名) (签名) 微程序设计 4 一、 摘要 利用
3、 CPU 与复杂机设计实验中所学到的实验原理以及编程思想,硬件设备, 自拟编写指令的应用程序,用微程序控制器实现了一系列的指令功能。完成了各指令的 格式以及编码设计,实现了各机器指令微代码,形成具有一定功能的完整的应用程序。 在本设计中完成了,交换指令:XCHGRM reg addr ;加法指令:ADDI rd,rs,imme; ADDM rd,rs,addr;带右移(n 位)的加法运算:ADDN ri ,rj , n。 关键词:微程序控制器原理 微指令编码 机器指令微代码 指令格式 设计流程图 二、 设计要求 要求:要求:用微程序控制器实现以下指令功能(各类指令至少包括一条) ,设计各机器指
4、 令格式以及编码,并实现各机器指令功能的微代码,根据定义的机器指令,自拟编写包 含以下机器指令的应用程序。 交换指令: xchgrm reg, addr ;功能:(reg)(addr),addr 是 8 位二进制地址 xchgmm addr1,addr2 ;功能:(addr1)(addr2),addr 是 8 位二进制地址 加法指令: addi rd,rs,imme ;功能:rd(rs)+imme addm rd,rs,addr ;功能:rd(rs)+(addr) 带右移的加法运算: add ri ,rj , n ; ri (ri)+(rj) n,rj中内容不变 三、 微程序控制器原理 下面讲
5、述一下模型计算机的数据格式及指令系统。 1数据格式 模型机规定采用定点补码表示法表示数据,字长为位,8 位全用来表示数据(最 高位不表示符号) ,数值表示范围是: 0X281。 2指令设计 模型机设计三大类指令共十五条,其中包括运算类指令、控制转移类指令,数据传 送类指令。运算类指令包含三种运算,算术运算、逻辑运算和移位运算,设计有 6 条运 算类指令,分别为:ADD、AND、INC、SUB、OR、RR,所有运算类指令都为单字节, 寻址方式采用寄存器直接寻址。控制转移类指令有三条 HLT、JMP、BZC,用以控制程 序的分支和转移,其中 HLT 为单字节指令,JMP 和 BZC 为双字节指令。
6、数据传送类 指令有 IN、OUT、MOV、LDI、LAD、STA 共 6 条,用以完成寄存器和寄存器、寄存 器和 I/O、寄存器和存储器之间的数据交换,除 MOV 指令为单字节指令外,其余均为 微程序设计 5 双字节指令。 实验中我们将指令 LDI、 OR、 RR 分别替换为 ADDI、ADDM、XECHAGE、 ADDN,并对流程控制做相应的修改。 3指令格式 所有单字节指令(ADD、AND、INC、SUB、OR、RR、HLT 和 MOV)格式如下: 7 6 5 4 3 2 1 0 OP-CODE RS RD 其中,OP-CODE 为操作码,RS 为源寄存器,RD 为目的寄存器,并规定: IN 和 OUT 的指令格式为: 7 6 5 4(1) 3 2(1) 1 0(1) 7-0(2) OP-CODE RS RD P 其中括号中的 1 表示指令的第一字节,2 表示指令的第二字节,OP-CODE 为操作码,RS 为源寄存器,RD 为目的寄存器,P 为 I/O 端口号