没有合适的资源?快使用搜索试试~ 我知道了~
计算机组成原理课程设计报告 完整版
5星 · 超过95%的资源 需积分: 34 81 下载量 64 浏览量
2010-06-06
16:13:13
上传
评论 8
收藏 793KB DOC 举报
温馨提示
试读
26页
一、课程设计目的 1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系; 2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念; 3.培养综合实践及独立分析、解决问题的能力。 二、课程设计的任务 针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。 三、 课程设计使用的设备(环境) 1.硬件 COP2000实验仪 PC机 2.软件 COP2000仿真软件 四、课程设计的具体内容(步骤) 1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现 2、计算机中实现乘法和除法的原理 (1)无符号乘法 (2)无符号除法 3.对应于以上算法如何分配使用COP2000实验仪中的硬件 4.在COP2000集成开发环境下设计全新的指令/微指令系统 5.用设计完成的新指令集编写实现无符号二进制乘法、除法功能的汇编语言程序 …………………… …………
资源详情
资源评论
资源推荐
计算机组成原理课程设计报告
班级:计算机 0701 班 姓名: 学号:
完成时间: 2009
年
12
月
20
日
一、课程设计目的
1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程
序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;
2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机
系统的概念;
3.培养综合实践及独立分析、解决问题的能力。
二、课程设计的任务
针对 COP2000 实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和
除法运算功能为应用目标,在 COP2000 的集成开发环境下,设计全新的指令系统并编写对
应的微程序;之后编写实现乘法和除法的程序进行设计的验证。
三、 课程设计使用的设备(环境)
1.硬件
COP2000 实验仪
PC 机
2.软件
COP2000 仿真软件
四、课程设计的具体内容(步骤)
1.详细了解并掌握 COP 2000 模型机的微程序控制器原理,通过综合实验来实现
该模型机指令系统的特点:
COP2000 模型机指令的最低两位(IR0 和 IR1)用来寻址 R0~R3 四个寄存器;IR2
和 IR3 与 ELP 微控制信号,Cy 和 Z 两个程序状态信号配合,控制 PC 的置数即程序
的转移。各种转移的条件判断逻辑如下所示:
PC 置数逻辑
当 ELP=1 时,不允许 PC 被预置
当 ELP=0 时
当 IR3=1 时,无论 Cy 和 Z 什么状态,PC 被预置
当 IR3=0 时
若 IR2=0,则当 Cy=1 时 PC 被预置
若 IR2=1,则当 Z=1 时 PC 被预置
(1)模型机的寻址方式分五种:累加器寻址 、寄存器寻址、寄存器间接寻址、存储器
直接寻址、立即数寻址;
(2)模型机有一些缺省的指令集,分几大类: 算术运算指令、逻辑运算指令、移位指
令、数据传输指令、跳转指令、中断返回指令、输入/输出指令。
(3)模型机的指令集有:
算术运算指令:ADD A, R? ADD A@R? ADD A, MM ADD A, #II
ADDC A, R? ADDC A, @R? ADDC A, MM ADDC A, #II SUB A,
R? SUB A, @R? SUB A, MM SUB A, #II SUBC A, R? SUBC
A, @R? SUBC A, MM SUBC A, #II
逻辑运算指令: AND A, R? AND A, @R? AND A, MM AND A, #II OR A, R?
OR A, @R? OR A, MM OR A, #II CPL A
数据传输指令:MOV A, R? MOV A, @R? MOV A, MM MOV A, #II MOV
R?, A MOV @R?, A MOV MM, A MOV R?, #II
输入/输出指令: READ MM WRITE MM IN OUT
跳转指令: JC MM JZ MM JMP MM CALL MM RET
移位指令: RR A RL A RRC A RLC A NOP
中断返回指令:RETI
该模型机微指令系统的特点(包括其微指令格式的说明等):
COP2000 模型机的微指令字长为 24 位,全部为操作控制部分,不含顺序控制字段。微
指令编码采用直接表示法,微地址形成采用计数器方式。微指令格式为水平型微指令。模
型机有 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 0 IN_OE 外部输入门
0 0 1 IA_OE 中断向量
0 1 0 ST_OE 堆栈寄存器
0 1 1 PC_OE PC 寄存器
1 0 0 D_OE 直通门
1 0 1 R_OE 右移门
1 1 0 L_OE 左移门
1 1 1 没有输出
WEN: 将数据总线 DBUS 的值打入工作寄存器 W 中。
AEN: 将数据总线 DBUS 的值打入累加器 A 中。
S2、S1、S0 三位组合决定 ALU 做何种运算。
S2 S1 S0 功能
0 0 0 A+W 加
0 0 1 A-W 减
0 1 0 A|W 或
0 1 1 A&W 与
1 0 0 A+W+C 带进位加
1 0 1 A-W-C 带进位减
1 1 0 ~A A 取反
1 1 1 A 输出 A
2。计算机中实现乘法和除法的原理
(1)无符号乘法
1 例演示:
例:1101*1011 乘数 x 被乘数 y 说明
1 1 0 1 1011 1101 x 右移一位
1 0 1 1 1 y 左移一位
1 1 0 1 0101 11010 x 右移一位
1 1 0 1 0 1 y 左移一位
1 0 0 1 1 1 0010 110100 x 右移一位
0 0 0 0 0 0 0 0 y 左移一位
0 1 0 0 1 1 1 0001 1101000 x 右移一位
1 1 0 1 0 0 0 1 y 左移一位
1 0 0 0 1 1 1 1 0000
基本思想:乘数右移一位若标志位 C 得 1,中间结果加被乘数后被乘数左移一位乘数
右移一位,若标志位 C 得 0,中间结果不变被乘数左移一位,采用相同方法循环四次 。
② 硬件原理框图:
简要说明:被乘数保存在寄存器 R0 中,乘数保存在 R1 中,循环次数保存在 R2 中,
中间数和计算结果保存在 R3 中。每次计算乘数右移一位,若移出的是 1 则加被乘数,并且
每运行一次被乘数左移一位,计数器减一,直至计数器的值为零。
③ 算法流程图:
y n
n
y
y
结束
开始
R2=
0
?
C=1
??
?
R0 左移
R2 减一
R3+R1R3
R1 左移一位
给 R0,R1,
R2, R3 赋值
(2)无符号除法
① 实例演示:
例:10010101(x)/1101(y)
商 除数 运算次数
1 0 0 1 0 1 0 1 01101000
0 1 1 0 1 0 0 0 1 1
0 0 1 0 1 1 0 1 00110100
0 0 1 1 0 1 0 0 10 2
0 0 1 0 1 1 0 1 00011010
0 0 0 1 1 0 1 0 101 3
0 0 0 1 0 0 1 1 00001101
0 0 0 0 1 1 0 1 1011 4
0 0 0 0 0 1 1 0
基本思想:先把除数左移三位,与被除数作比较,若大于被除数,则商左移一位后
加 1;否则商左移一位。每次运算后除数右移一位,采用相同方法循环四次。
除法的设计思想和恢复余数法相类似,但是在设计指令和微指令时被除数减除数的
结果先存入累加器 R 中,然后判断标志寄存器 C 的值——如果被除数大于除数就把 A 的值
存回被除数的寄存器中,否则不用做任何变动,即不用恢复余数。
② 硬件原理框图:
简要说明:被除数保存在寄存器 R0 中,除数保存在 R1 中,商保存在 R2 中,循环
次数保存在 R3 中。运算结束后,余数保存在 R0 中。运算开始时除数左移三位。以后每运
算一次,计数器减一除数右移一位,商左移一位,并且若被除数大于除数商加 1。
剩余25页未读,继续阅读
changtianmu
- 粉丝: 3
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2