课 程 设 计 报 告
课程设计名称:计算机组成原理课程设计 系 别: 学 生 姓 名: 班 级: 学 号: 成 绩: 指 导 教 师:
开 课 时 间:2013—2014学年 下 学期
一. 设计目的
通过课程设计更清楚地理解下列基本概念: 1、计算机的硬件基本组成; 2、计算机中机器指令的设计; 3、计算机中机器指令的执行过程; 4、微程序控制器的工作原理。 5、微指令的格式设计原则;
在此基础上设计可以运行一些基本机器指令的微程序的设计
二. 设计要求
1.通过使用作者开发的微程序分析和设计仿真软件,熟悉本文介绍的为基本模型机而设计的微程序的执行过程。必须充分理解并正确解释下列问题:
⑴微程序中的微指令的各个字段的作用。哪些字段是不译码的,哪些字段是直接译码的,哪些字段又可以看成是字段间接编码的。
⑵微程序中的微指令是否是顺序执行的,如果不是,那么次地址是如何产生的。什么情况下,次地址字段才是将要执行的微指令的地址。
⑶在微程序中如何根据机器指令中的相关位实现分支,据此,在设计机器指令时应如何避免和解释其它指令的微指令的微地址冲突。
⑷哪些微指令是执行所有指令都要用到的。
⑸解释一条机器指令的微程序的各条微指令的微地址是否连续?这些微指 令的微地址的安排的严重原则是什么? ⑹为什么读写一次内存总要用两条微指令完成?
⑺机器程序中的用到的寄存器是R0,是由机器指令中哪些位决定的?如果要用R1或R2,是否要改写微程序或改写机器指令?如果要,应如何改写?
2.在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令。新增加的机器指令的功能是 寄存器间的数据传送指令MOV RD,RS:(RS)→(RD) 减法指令SUB R0,(ADDR):(R0)-(addr)→(R0) 与指令AND RD,RS:(RS)AND(RD)→(RD) 或指令OR RD,RS:(RS)OR(RD)→(RD) 异或指令XOR RD,RS:(RS)异或(RD)→(RD) 其中的RS、RD可以是R0、R1、R2中的任何一个。 3.写出课程设计报告,解释你的设计思想,比如,如何实现各指令的分支,如何重新安排各指令对应的微程序中的微指令的微地址,如何设计各微指令的编码。要求画出用微命令表示的微流程图并适当加以解释。
三. 整体设计
1.
基本模型机的指令设计:
1) 根据基本模型机的硬件设计五条机器指令:
外设输入指令IN 二进制减法指令SUB 存数指令STA
输出到外设指令OUT 无条件转移指令JMP
2) 指令格式如下:
助记符 机器指令码 说 明
IN 0000 0000 ; 置数开关SW(KD0~KD7)的状态→R0
SUB addr 0001 0000 ×××× ×××× ;STA addr 0010 0000 ×××× ×××× ;OUT addr 0011 0000 ×××× ×××× ;JMP addr 0100 0000 ×××× ×××× ;3) 说明:
指令IN为单字节指令,其余均为双字节指令,读写的主存储器单元的二进制地址码。
2. 指令微流程分析:
1)这五条指令的微流程如图3所示:
(addr)→(R0) addr)
\addr→PC ××××××××为要 (R0)- (R0)→( (addr)→输出设备 01 PC→AR PC+1 02 RAM→BUS BUS→IR P(1)测试 IN 08 SW→R0 SUB 09 PC→AR PC+1 03 RAM→BUS BUS→AR STA 0A PC→AR PC+1 07 RAM→BUS BUS→AR OUT 0B PC→AR PC+1 0E RAM→BUS BUS→AR JMP 0C PC→AR PC+1 16 RAM→BUS BUS→AR 01 04 RAM→BUS BUS→DR2 05 R0→DR1 06 (D1-DR2)→R0 01 0D R0→BUS BUS→R0 0F RAM→BUS BUS→DR1 15 DR1→LED 01 01
01 图3 用数据流表示的微程序流程
2)说明:
该图是运行微程序的数据流图,实际上并没有分解到微命令一级。为了设计微程序,还应该根据此图进一步细化到微命令(微操作)一级。例如PC→AR,实际上应该同时发出PCB、LDAR两个