计算机组成原理课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程设计名称:计算机组成原理
系:
学生姓名:
班级:
学号:
成绩:
指导教师:
开课时间:2011-2012学年2 学期
一、设计题目
计算机组成原理课程设计——简单模型机的微程序设计
二、主要内容
通过课程设计更清楚地理解下列基本概念:
1.计算机的硬件基本组成;
2.计算机中机器指令的设计;
3.计算机中机器指令的执行过程;
4.微程序控制器的工作原理。
5.微指令的格式设计原则;
在此基础上设计可以运行一些基本机器指令的微程序的设计
三.具体要求
1.通过使用作者开发的微程序分析和设计仿真软件,熟悉介绍的为基本模型机而设计的微程序的执行过程。必须充分理解并正确解释下些问题:
(1)微程序中的微指令的各个字段的作用。哪些字段是不译码的,哪些字段是直接译码的,哪些字段又可以看成是字段间接编码的。
(2)微程序中的微指令是否是顺序执行的,如果不是,那么次地址是如何产生的。什么情况下,次地址字段才是将要执行的微指令的地址。
(3)在微程序中如何根据机器指令中的相关位实现分支,据此,
在设计机器指令时应如何避免和解决与其它指令的微指令的微
地址冲突。
(4)哪些微指令是执行所有指令都要用到的。
(5)解释一条机器指令的微程序的各条微指令的微地址是否连续?这些微指令的微地址的安排的严重原则是什么?
(6)为什么读写一次内存总要用两条微指令完成?
(7)机器程序中用到的寄存器是R0,是由机器指令中哪些位决定的?如果要用R1或R2,是否要改写微程序或改写机器指令?如果要,应如何改写?
2.在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令。新增加的机器指令的功
能是:
求反指令NOT RS,RD :/(RS) →(RD)
与指令AND RD,(addr):(RD)与(addr)→(RD)
异或指令XOR RD,(addr):(addr)异或(RD)→(RD)
或指令OR RD,(addr):(RD)或(addr)→(RD)
减法指令SUB RD,RS :(RS)减(RD)→(RD)
其中的RS、RD可以是R0、R1、R2中的任何一个。
四.进度安排
共1.5周11天的时间,具体安排如下:
1~2天:对整个课程设计的内容做详细的讲解,并辅导学生完成课程设计指导书的学习,使其掌握和理解课程设计的核心内容;
3~5天:学生在机房学习熟悉课程设计所使用的仿真软件,并深入了解该仿真软件所实现的模型机的指令系统(原有的5条指令)和微程序设计方法;
6~9天:在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令。
10~11天:根据自己设计的微程序系统写出相应的课程设计实验报告
五.成绩评定
正文
一、模型机的CPU及系统硬件
二、设计思想
①实现分支:每一条机器指令执行完之后,就进行一次P(1)测试,根据P(1)测试跳到下一条机器指令的微地址。机械指令执行中则是根据微指令的后六位来确定下一条微指令的地址。
②微地址的安排,将各条机械指令
(IN、ADD、STA、OUT、JMP、NOT、AND、XOR、OR、SUB)通过P(1)测试,将每条机器指令的入口微地址的首位置为微指令01单元6~5位对应的数值。如微指令02单元6~1位为000000,则每条机器指令的入口微地址的首位为0,IN对应的为03,ADD对应的为04,STA 对应的为05, OUT对应的为06,JMP对应的为07,NOT为08,AND对应的为09,XOR为0A,OR对应的为0B,SUB对应的为0C,然后将完成各条指令的其它微指令的微地址设置为连续的在指令寄存器IR中的8~5位的数值则由微指令02单元的后六位和对应的机械指令的入
口微地址推出。
③模型机指令设计:
该模型机共有十条机器指令:与指令AND、异或指令XOR、或指令OR、求反指令NOT、减法指令SUB、外设输入指令IN、二进制加法指令ADD、存数指令STA、输出到外设指令OUT、无条件转移指令JMP。指令格式如下:
助记符机器指令码
AND 1001 0001 ××××××××
XOR 1010 0001 ××××××××
OR 1011 0001 ××××××××
SUB 1100 0001
NOT 1000 0001
IN 0011 0000
ADD 0100 0000 ××××××××
STA 0101 0000 ××××××××
OUT 0110 0000 ××××××××
JMP 0111 0000 ××××××××
说明:
指令SUB、NOT、IN为单字节指令,其余均为双字节指令,××××××××为要读写的主存储器单元的二进制地址码。
④微指令的编码:先分析各条机器指令的功能,然后针对其功能将其用微指令表示的微指令流程图画好(如下所示),最后针对图中每条微指令要完成的功能设计好编码。
微流程图如下:
细化微流程图如下:
三、编写微程序
基本模型机的微指令格式
本模型机的微指令长共24位,基本采用水平型微指令字段直接编码方式,其控制位顺序如下:
1.编写的微指令代码如下:
01:000001011110110110000010
02:000001001100000001000000
03:000001000001000000000001 ;IN
04:000001011110110110001101 ;ADD
05:000001011110110110010001 ;STA
06:000001011110110110010011 ;OUT
07:000001011110110110010110 ;JMP
08:000001011010001000010111 ;NOT
09:000001011110110110011000 ;AND
0A:000001011110110110011100 ;XOR
0B:000001011110110110100000 ;OR
0C:000001011010001000100100 ;SUB
0D:000001001110000000001110
0E:000001001011000000001111
0F:000001011010001000010000
10:100101011001101000000001