指令扩展设计计算机组成原理课程设计.doc
文本预览下载声明
计算机科学学院
课程设计报告
课程 计算机组成原理
题目 的实现(指令扩展)
年级 2009级
专业 计算机科学与技术
学号 学生 多啦小鹏
任课教师
2012年 2月 28日
课程设计题目 的求值(指令扩展) 验收
时间 2012年2月2日
课
题
设
计
方
案 1、课题设计方案
1.1、基础知识和熟悉平台
首先、熟悉平台,了解设计指令的平台操作和各个部分模块功能,如图:
微命令写入到ROM中模块:
测试查看当前微指令地址等各寄存器的值:
扩展指令,学习指令的格式,类型,寻址方式为后面实践动手打下理论基础,教学机器指令格式如图:
操作码
DR
SR
I/O端口地址/相对偏移量
立即数/直接内存地址/变址偏移量
根据不同的标准,16位机的指令可划分为不同的指令:
①指令长度区分,有单字指令和双字指令,也允许定义和使用三字指令。
②操作数的个数,有双操作数指令、单操作数指令和无操作数指令。
③寻址方式区分,寄存器寻址、寄存器间接寻址、立即数寻址、直接寻址、变址寻址、相对寻址等寻址方式。
课
题
设
计
方
案 微指令是由微命令和下地址两个字段组成的,所以要进一步了解微命令。微命令控制信号等各个部件的联系。要知道了各个控制位的功能。了解和学习基础知识,又熟悉了仿真软件的使用,可以进行下一步找出问题,设计指令解决问题。
1.2、问题设计与分析
问题提出实现的求值,即=2+2+2+……+2
实现文字描述:把1放到DR和R11中,n值(即SR中的数值)放到寄存器R14中,R14控制循环次数,进入扩展的指令时要保存R5即PC值到R15寄存器,当指令结束时用于恢复PC值。将R11中的值乘以2,循环一次,结果加上DR中的值放入到DR中。
1.3、指令设计过程
指令常用类型(只写出部分类型)
平台
种类
操作数
长度
指令格式
指令举例
TEC
2000
16位
1
2
1
OP DR,SR
OP DR,[SR]
OP [DR],SR
add R0,R1
ldrr R2,[R3]
strr [R4],R5
23
1
1
OP [DR],0000
dec R0
41
2
2
OP DR,ADDR
OP DR,DATA
OP ADDR,SR
ldra R0,1000h
mvrd R1,2000h
stra 3000h,R2
我们选用指令类型41,两个操作数,OP DR,DATA。将 1.2中的文字说明转换为表格形式,说明数据流向和操作。如下图:
编号
数据即操作
1
DATA 放入到DR中
2
DATA放入到R11中
3
DATA放入到R14
4
DR减去R11结果到R1
5
将DR值加1,即置1
6
R11减去R14结果到R1
7
R11加上1结果到R11
8
将R5值放入到R15中
9
将R14自减1
10
判断是否跳转且恢复R5
11
将R11中的数左移1位
12
将R11加到DR中
课
题
设
计
方
案 1.4、指令详细说明
参数设置:文件名称为:zpzp.asm 设置指令名称,类型,入口地址。
文件(zpzp.asm)
地址
功能
下址
地址
功能
下址
4a
push 5e
pop 17
4b
R11 5f
R15 1c
4c
push60
pop
4d
R1461
R14
4e
push62
pop
核心微命令:
地址
功能
下址
50
1D mvrd
51
DR--SR
52
R11--SR
53
R14--SR
54
sub DR-R11
55
inc DR+1
56
sub R11-R14
57
inc R11+1
58
R15--R5
59
dec R14
5a
jrnz 且 R5--R15
5b
shl R11
5c
add R1+R11
01011
显示全部