当前位置:文档之家› 简单模型机的微程序设计

简单模型机的微程序设计

简单模型机的微程序设计
简单模型机的微程序设计

课程设计报告

课程设计名称:简单模型机的微程序设计系:三系

学生姓名:

班级:软件二班

学号:

成绩:

指导教师:

开课时间:2012学年2 学期

一、设计题目

计算机组成原理课程设计——简单模型机的微程序设计

二、主要内容

1.通过使用作者开发的微程序分析和设计仿真软件,熟悉本文介绍的为基本模型机而设计的微程序的执行过程。必须充分理解并正确解释下列问题:

⑴微程序中的微指令的各个字段的作用。哪些字段是不译码的,哪些字段是直接译码的,哪些字段又可以看成是字段间接编码的。

⑵微程序中的微指令是否是顺序执行的,如果不是,那么次地址是如何产生的。什么情况下,次地址字段才是将要执行的微指令的地址。

⑶在微程序中如何根据机器指令中的相关位实现分支,据此,在设计机器指令时应如何避免和解释其它指令的微指令的微地址冲突。

⑷哪些微指令是执行所有指令都要用到的。

⑸解释一条机器指令的微程序的各条微指令的微地址是否连续?这些微指令的微地址的安排的严重原则是什么?

⑹为什么读写一次内存总要用两条微指令完成?

⑺机器程序中的用到的寄存器是R0,是由机器指令中哪些位决定的?如果要用R1或R2,是否要改写微程序或改写机器指令?如果要,应如何改写?

2.在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令。新增加的机器指令的功能是:

①或指令OR RD,RS:(RS)或(RD)→(RD)

②减法指令SUB RD,(addr):(RD)减(addr)→(RD)

③异或指令XOR (addr1),(addr2):(addr1)异或(addr2)→(RD)

④与指令AND RD,RS:(RS)与(RD)→(RD)

⑤求反指令NOT RD:/(RD) →(RD)

其中的RS、RD可以是R0、R1、R2中的任何一个。

三、具体要求

写出课程设计报告,解释你的设计思想,比如,如何实现各指令的分支,如何重新安排各指令对应的微程序中的微指令的微地址,如何设计各微指令的编码。要求画出用微命令表示的微流程图并适当加以解释。

四、进度安排

共1.5周11天的时间,具体安排如下:

1~2天:对整个课程设计的内容做详细的讲解,并辅导学生完成课程设计指导书的学习,使其掌握和理解课程设计的核心内容;

3~5天:学生在机房学习熟悉课程设计所使用的仿真软件,并深入了解该仿真软件所实现的模型机的指令系统(原有的5条指令)和微程序设计方法;

6~9天:在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令。

10~11天:根据自己设计的微程序系统写出相应的课程设计实验报告

五、成绩评定

六、正文

(1)模型机的CPU及系统硬件

基本模型机的CPU及系统硬件组成如图1所示:

图1 模型机的CPU及系统硬件组成

各部件的功能及控制信号如下:

运算器由算逻部件ALU(8位)、暂存器DR1、DR2及通用寄存器等组成。ALU 的功能控制信号为S3、S2、S1、S0、M、CN,可以实现48种算术和逻辑运算功能,如图2所示。

图2 74LS181功能表

运算器为单总线结构,其输入端分别连接到暂存器DR1和DR2,其装入数据的微命令分别为LDDR1和LDDR2,当它们为1电平时由节拍脉冲T4将数据总线上的数据装入相应的暂存器。R0、R1、R2为通用寄存器。R0的装入数据的微命令为LDR0,R1的装入数据的微命令为LDR1,R2的装入数据的微命令为LDR2。299为实现移位运算的装置,当299B微命令有效时,其数据端和数据总线连接。

控制器由程序计数器PC、指令寄存器IR、地址寄存器AR、时序电路、控制存储器及相应的译码电路组成。

程序计数器PC的功能是存放下一条指令的地址,其输出是向地址寄存器提供要将执行的指令在存储器中的地址。在提供地址后立即加1,指向指令的下一个字节或下一条指令的地址。其控制微命令有三个。当LOAD=0而LDPC=1时,由T4的正跳变将数据总线上的数据装入PC;当当LOAD=1而LDPC=1时PC的内容加1;当PCB=1时,PC中的地址信息送到数据总线上。

指令寄存器IR用于存放当前执行的指令。当微命令LDIR=1时,由节拍脉冲T3将数据总线上的数据装入。

地址寄存器AR存放要从存储器中读出的数据或指令的地址或要向存储器写入数据或指令的地址。当微命令LDAR=1时,由节拍脉冲T3将数据总线上的数据装入。

存储器RAM用于存放程序和数据。当片选信号CE=0时,如果W/R为0,则根据AR中的地址,从存储器中读出数据并送到数据总线上;如果W/R为1,则根据AR中的地址,向存储器中写入数据总线上的数据。片选信号CE是由微指令中的有关字段(B1B0)译码产生的。

模型机有两个外部设备:输入设备是置数开关SW,用于设置数据或地址,当微命令SWB=0时,设置的数据送到数据总线上;SWB也是由微指令中的有关字段(B1B0)译码产生的。输出设备是两位LED数码管,当微命令LEDB=1时,数据总线上的数据送到数码管显示。

(2)基本模型机的指令设计

根据基本模型机的硬件设计五条机器指令:外设输入指令IN、二进制加法指令ADD、存数指令STA、输出到外设指令OUT、无条件转移指令JMP。指令格式如下:

助记符机器指令码说明

IN 0101 0000 ;置数开关SW(KD0~KD7)的状态→R0 ADD addr 0110 0000 ××××××××;(R0)+(addr)→(R0)

STA addr 0111 0000 ××××××××;(R0)→(addr)

OUT addr 1000 0000 ××××××××;(addr)→输出设备"LED"

JMP addr 1001 0000 ××××××××;addr→PC

OR 1010 0100 ;(RS)or (RD)→(RD)

SUB addr 1011 1100 ××××××××;(RD) - (addr)→(RD)

XOR 1100 1100 ;(addr1)xor (addr2)→(RD)

AND 1101 0100 ;(RS)and (RD)→(RD)

NOT 1110 1100 ;/(RD)→(RD)

(3)指令微流程分析

原有的五条指令的微流程如下图所示:

相关主题
文本预览
相关文档 最新文档