logo资料库

东北大学计算机组成原理课程设计.doc

第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
资料共23页,剩余部分请下载后查看
计算机组成原理课程设计报告
计算机组成原理课程设计报告 班级:10 计算机 2 班 姓名: 岳明轩 学号: 20102682 完成时间: 2013/1/1 一、课程设计目的 1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程 序设计控制器的基本方法并了解指令系统与硬件结构的对应关系; 2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机 系统的概念; 3.培养综合实践及独立分析、解决问题的能力。 二、课程设计的任务 针对 COP2000 实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除 法运算功能为应用目标,在 COP2000 的集成开发环境下,设计全新的指令系统并编写对应 的微程序;之后编写实现乘法和除法的程序进行设计的验证。 三、 课程设计使用的设备(环境) 1.硬件  COP2000 实验仪  PC 机 2.软件  COP2000 仿真软件 四、课程设计的具体内容(步骤) 1.详细了解并掌握 COP 2000 模型机的微程序控制器原理,通过综合实验来实现 (1)模型机指令系统特点 COP2000 模型机包括了一个标准 CPU 所具备所有部件,这些部件包括:运算器 ALU、 累加器 A、工作寄存器 W、左移门 L、直通门 D、右移门 R、寄存器组 R0-R3、程序计数器 PC、地址寄存器 MAR、堆栈寄存器 ST、中断向量寄存器 IA、输入端口 IN、输出端口寄存 器 OUT、程序存储器 EM、指令寄存器 IR、微程序计数器 uPC、微程序存储器 uM,以及中 断控制电路、跳转控制电路。其中运算器和中断控制电路以及跳转控制电路用 CPLD 来实 现,其它电路都是用离散的数字电路组成。微程序控制部分也可以用组合逻辑控制来代替。 模型机为 8 位机,数据总线、地址总线都为 8 位,但其工作原理与 16 位机相同。相比 而言 8 位机实验减少了烦琐的连线,但其原理却更容易被学生理解、吸收。 模型机的指令码为 8 位,根据指令类型的不同,可以有 0 到 2 个操作数。指令码的最低 两位用来选择 R0-R3 寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存 储器,找到执行该指令的微程序。而在组合逻辑控制方式中,按时序用指令码产生相应的控 制位。在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个 状态周期产生不同的控制逻辑,实现模型机的各种功能。 模型机的缺省的指令集分几大类: 算术运算指令、逻辑运算指令、移位指令、数据传
输指令、跳转指令、中断返回指令、输入/输出指令。 COP2000 模型机指令的最低两位(IR0 和 IR1)用来寻址 R0~R3 四个寄存器;IR2 和 IR3 与 ELP 微控制信号,Cy 和 Z 两个程序状态信号配合,控制 PC 的置数即程序的转移。各种 转移的条件判断逻辑如下所示: 当 ELP=1 时,不允许 PC 被预置 当 ELP=0 时: 当 IR3=1 时,无论 Cy 和 Z 什么状态,PC 被预置 当 IR3=0 时,若 IR2=0,则当 Cy=1 时 PC 被预置,若 IR2=1,则当 Z=1 时 PC 被 预置 (2)模型机微指令系统特点(包括其微指令格式的说明等) 模型机有 24 位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的 读写。24 位控制位分别介绍如下: XRD : 外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。 EMWR: 程序存储器 EM 写信号。 EMRD: 程序存储器 EM 读信号。 PCOE: 将程序计数器 PC 的值送到地址总线 ABUS 上。 EMEN: 将程序存储器 EM 与数据总线 DBUS 接通,由 EMWR 和 EMRD 决定是将 DBUS 数据 写到 EM 中,还是从 EM 读出数据送到 DBUS。 IREN: 将程序存储器 EM 读出的数据打入指令寄存器 IR 和微指令计数器 uPC。 EINT: 中断返回时清除中断响应和中断请求标志,便于下次中断。 ELP: PC 打入允许,与指令寄存器的 IR3、IR2 位结合,控制程序跳转。 MAREN:将数据总线 DBUS 上数据打入地址寄存器 MAR。 MAROE:将地址寄存器 MAR 的值送到地址总线 ABUS 上。 OUTEN:将数据总线 DBUS 上数据送到输出端口寄存器 OUT 里。 STEN: 将数据总线 DBUS 上数据存入堆栈寄存器 ST 中。 RRD: 读寄存器组 R0-R3,寄存器 R?的选择由指令的最低两位决定。 RWR: 写寄存器组 R0-R3,寄存器 R?的选择由指令的最低两位决定。 CN: 决定运算器是否带进位移位,CN=1 带进位,CN=0 不带进位。 FEN: 将标志位存入 ALU 内部的标志寄存器。 X2、X1、X0:三位组合来译码选择将数据送到 DBUS 上的寄存器。 X2 X1 X0 0 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 0 0 1 1 0 0 1 1 输出寄存器 IN_OE IA_OE ST_OE PC_OE D_OE R_OE L_OE 没有输出 外部输入门 中断向量 堆栈寄存器 PC 寄存器 直通门 右移门 左移门 WEN: 将数据总线 DBUS 的值打入工作寄存器 W 中。 AEN: 将数据总线 DBUS 的值打入累加器 A 中。
S2、S1、S0:三位组合决定 ALU 做何种运算。 S2 S1 S0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 1 1 0 0 1 1 0 0 1 1 或 减 加 功能 A+W A-W A|W A&W A+W+C 带进位加 A-W-C 带进位减 A 取反 ~A A 输出 A 与 2。计算机中实现乘法和除法的原理 (1)无符号乘法 ①实例演示(即,列 4 位乘法具体例子演算的算式): 0 0 1 1 × 1 0 1 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 1 + + + 0 0 1 + 0 1 0 0 0 0 1 0
②硬件原理框图: ③算法流程图:
(2) 无符号除法 ①实例演示(即,列 4 位除法具体例子演算的算式): 1 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 1 1 0 ②硬件原理框图: 1 0 0 0 ……………………………………1 1 0 1 1 0 1 0 0 0 ……………………………………0 1 0 0 0 0 1 1 0 ……………………………………1 0 0 0 0 1 0 1 1 0 ……………………………………1 0 0 0 0 1
③算法流程图:
3.对应于以上算法如何分配使用 COP2000 实验仪中的硬件 (1)无符号乘法 符号乘法对应于 COP2000 实验仪的硬件具体分配使用情况如下表所示: 硬件名称 寄存器 R0 寄存器 R1 寄存器 R2 累加器 A 寄存器 W 左移门 L 表 3 无符号乘法的硬件分配情况 实现算法功能描述 存放被乘数 存放乘数 存放中间结果,最后变为积 执行 ADD A,R?(加法)、SUB A,R?(减法)SHL 一位)、SHR 器。 R?(左移 R?(右移一位)等命令时所必须使用的寄存 A,#II(与运算)、SUB 执行 ADD (减法)等双操作数命令时所必须使用的寄存器。 A,R?(加法)、AND R?,A 用来实现相应数据左移一位的运算,并能够控制该运算后 的结果是否输出到数据总线。 直通门 D 用来控制 ALU 的执行结果是否输出到数据总线。 右移门 R 用来实现相应数据右移一位的运算,并能够控制该运算后 的结果是否输出到数据总线。 程序计数器 PC ① 控制程序按顺序正常执行; ② 当执行转移指令时,从数据线接收要跳转的地址,使程 序能够按需要自动执行。 ③ 当要从 EM 中读取数据时,由 PC 提供地址。 存储器 EM 存储指令和数据。 微程序计数器μPC 向微程序存储器μM 提供相应微指令的地址。 微程序存储器μM 存储相应指令的微指令。 (2)无符号除法 无符号除法对应于 COP2000 实验仪的硬件具体分配使用情况如下表所示: 硬件名称 寄存器 R0 寄存器 R1 寄存器 R2 寄存器 R3 累加器 A 寄存器 W 表 4 无符号除法的硬件分配情况 实现算法功能描述 存放被除数,计算后变为余数。 存放除数; 存放中间结果,最后为商。 当作计数器使用,初始为 4。 ① 计算时用来存放中间结果; ② 执行 ADD A,R?(加法)、SUB A,R?(减法)等命令时所 必须使用的寄存器。 执行 ADD A,R?(加法)、SUB 令时所必须使用的寄存器。 A,R?(减法)等双操作数命 左移门 L 用来实现相应数据左移一位的运算,并能够控制该运算后
的结果是否输出到数据总线。 直通门 D 用来控制 ALU 的执行结果是否输出到数据总线。 右移门 R 用来实现相应数据右移一位的运算,并能够控制该运算后 的结果是否输出到数据总线。 程序计数器 PC ① 控制程序按顺序正常执行; ② 当执行转移指令时,从数据线接收要跳转的地址,使程 序能够按需要自动执行。 ③ 当要从 EM 中读取数据时,由 PC 提供地址。 存储器 EM 存储指令和数据。 微程序计数器μPC 向微程序存储器μM 提供相应微指令的地址。 微程序存储器μM 存储相应指令的微指令。 4.在 COP2000 集成开发环境下设计全新的指令/微指令系统 (1) 新的指令集 (设计两个不同指令集要分别列表) 助记符 _FATCH_ MOV MOV MOV MOV ADD ADD SUB SUB SHL SHR JC JZ JMP NOP AND R?, #II A, R? R?, A A, #II R?, A R?, #II A, R R?, #II R? R? MM MM MM A, #II 机器码 1 000000xx 000001xx 000010xx 000011xx 000100xx 000101xx 000110xx 000111xx 001000xx 001001xx 001011xx 001100xx 001101xx 001110xx 001111xx 010000xx 00-03 04-07 08-0B 0C-0F 10-13 14-17 18-1B 1C-1F 20-23 24-27 28-2B 30-33 34-37 38-3B 3C-3F 40-43 机器码 2 指令说明 实验机占用,不可修改。复位后,所有寄存 器清 0,首先执行 _FATCH_ 指令取指。 立即数存入 R? R?A AR? 立即数存入 A R?R?+A R?R?+立即数 AA-R? R?R?-立即数 R?不带进位左移,标志位不改变 R?不带进位右移,标志位不改变 标志位 Cy=1 时跳转 标志位 Z=1 时跳转 无条件跳转 空指令 A 和立即数与运算存入 A II II II II MM MM MM II (2) 新的微指令集
分享到:
收藏