当前位置: 首页 > >

程序设计—计算机组成原理课程设计

发布时间:

计算机组成原理课程设计 ――简单模型机的微程序设计 姓名 毛晨 班级 08 计本二班 学号 080303219 指导老师 卞 利 二0一0年六月 目录 一 、 课 程 设 计 的 目 的························································3 二、课程设计的内容和要 求············································3 三、基本模型机的硬件结 构············································3 四 、 指 令 系 统 设 计····························································5 五 、 微 程 序 设 计································································5 六 、 心 得 体 会····································································13 一、 课程设计的目的 通过课程设计更清楚地理解下列基本概念: 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)XOR(RD)→(RD) 其中的 RS、RD 可以是 R0、R1、R2 中的任何一个。 3.写出课程设计报告,解释自己的设计思想,比如,如何实现各指令的分 支,如何重新安排各指令对应的微程序中的微指令的微地址,如何设计各微指令 的编码。要求画出用微命令表示的微流程图并适当加以解释。 三、 基本模型机的硬件结构 基本模型机的 CPU 及系统硬件组成如图 1 所示: 图 1 模型机的 CPU 及系统硬件组成 各部件的功能及控制信号如下: 运算器由算逻部件 ALU(8 位)、暂存器 DR1、DR2 及通用寄存器等组成。ALU 的功能控制信号为 S3、S2、S1、S0、M、CN,可以实现 48 种算术和逻辑运算功 能,如图 2 所示。 运算器为单总线结构,其输入端分别连接到暂存器 DR1 和 DR2,其装入数据 的微命令分别为 LDDR1 和 LDDR2,当它们为 1 电*时由节拍脉冲 T4 将数据总线 上的数据装入相应的暂存器。R0、R1、R2 为通用寄存器。R0 的装入数据的微命 令为 LDR0,R1 的装入数据的微命令为 LDR1,R2 的装入数据的微命令为 LDR2。 299 为实现移位运算的装置,当 299B 微命令有效时,其数据端和数据总线连接。 控制器由程序计数器 PC、指令寄存器 IR、地址寄存器 AR、时序电路、控制 存储器及相应的译码电路组成。 图 2 74L S18 1功 能 表 程序计数器 PC 的功能是存放下一条指令的地址,其输出是向地址寄存器提 供要将执行的指令在存储器中的地址。在提供地址后立即加 1,指向指令的下一 个字节或下一条指令的地址。其控制微命令有三个。当 LOAD=0 而 LDPC=1 时,由 T4 的正跳变将数据总线上的数据装入 PC;当当 LOAD=1 而 LDPC=1 时 P1 的内容加 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



友情链接: