组成原理课程设计报告双总线结构的16位单字长指令设计.docx
- 文档编号:27042476
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:14
- 大小:263.45KB
组成原理课程设计报告双总线结构的16位单字长指令设计.docx
《组成原理课程设计报告双总线结构的16位单字长指令设计.docx》由会员分享,可在线阅读,更多相关《组成原理课程设计报告双总线结构的16位单字长指令设计.docx(14页珍藏版)》请在冰豆网上搜索。
组成原理课程设计报告双总线结构的16位单字长指令设计
实验设计报告
课程名称:
计算机组成原理
课题名称:
CPU设计
专业:
计算机科学与技术
班级:
计科1204
学号:
姓名:
完成日期:
2015年1月9日
一、设计目的:
综合运用所学知识,设计并实现较为完整的计算机指令系统。
二、设计步骤:
1、设计指令功能
2、画数据通路图
3、微程序流程图
4、指令系统格式
5、地址转移逻辑
<2.1>数据格式:
数据采用定点补码表示,字长16位,表示范围:
-1<=X<=1
符号
尾数
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
<2.2>.指令功能:
指令助记符
指令格式
功能
15~12
11~10
9~8
7~0
MOVRd,,im
0001
××
Rd
im
将立即数im→Rd
CLRRd
0010
××
Rd
0
清零指令,将0→Rd
ADDRs,Rd
0011
Rs
Rd
××××××××
加法指令,将(Rs)+(Rd)→Rd
SUBRs,Rd
0100
Rs
Rd
××××××××
减法指令,将(Rs)-(Rd)→Rd
INCRd
0101
××
Rd
××××××××
加1指令,将(Rd)+1→Rd
DECRd
0110
××
Rd
××××××××
减1指令,将(Rd)-1→Rd
MULRs,Rd
0111
Rs
Rd
××××××××
乘法指令,将(Rs)*(Rd)→Rd
ANDRs,Rd
1000
Rs
Rd
××××××××
与指令,将(Rs)∧(Rd)->Rd
ORRs,Rd
1001
Rs
Rd
××××××××
或指令,将(Rs)∨(Rd)->Rd
NOTRd
1010
××
Rd
××××××××
求反指令,将(Rd)⊕1->Rd
STORs,addr
1011
Rs
××
addr
存数指令,将(Rs)→addr
LADRs,addr
1100
××
Rd
addr
取数指令,将(addr)->Rs
JMPaddr
1101
××
××
addr
无条件转移,将addr→PC
JNZaddr
1110
××
××
addr
条件转移指令,若不等,则addr->Rd
INaddr,Rd
1111
××
Rd
addr
输入指令,(addr)->Rd
OUTaddr,Rd
10000
××
Rd
addr
输出指令,Rd→(addr)
HALT
10001
00
00
××××××××
停机指令,Stop
信号说明:
ALU功能表
运算
S2
S1
S0
ADD
0
0
0
SUB
0
0
1
INC
0
1
0
DEC
0
1
1
MUL
1
0
0
AND
1
0
1
OR
1
1
0
NOT
1
1
1
<2>.数据通路图:
<3>.微程序流程图:
微地址寄存器6位(uA0~uA5):
(1)当进行p1测试时,用IR0~IR4修改uA0~uA4(OP字段),最多可以形成32路分支(注:
本题只需17条分支,从0001~10000)。
uA0=p1*IR0*T4
uA1=p1*IR1*T4
uA2=p1*IR2*T4
uA3=p1*IR3*T4
uA4=p1*IR4*T4
(2)当进行p2测试时,用IR5修改ZF字段,实现两路分支。
uA5=p2*IR5*T4*
(p2测试条件,即ZF零标志位)。
<4>.指令系统格式
微指令基本格式:
操作控制
顺序控制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
LOAD
LDPC
LDAR
LDIR
LD_Ri
LDPSW
Rs_B
S2
S1
S
0
ALU_B
RD_D
CS_D
RD_I
CS_I
ADDR_B
SWITCH
P1
P2
uA
5
uA
4
uA
3
u
A
2
uA
1
uA0
注:
×代表无效,√代表有效,-代表任意(可自定义);
指
令
微地
址
LO
AD
LD
PC’
LD
AR’
LD
IR’
LD
Ri’
LDP
SW’’
Rs
-B
S2
S1
S0
ALU
-B
RD
-D’
CS
-D
RD
-I’
CS
-I’
ADD
R-B
SWITCH
P
1
P
2
U
A5
U
A4
U
A3
U
A2
U
A1
U
A0
取指令
000
000
√
√
×
√
×
×
×
-
-
-
×
×
×
√
√
×
×
1
0
0
0
0
0
0
0
MOV
000
001
×
×
×
×
√
×
×
-
-
-
×
×
×
×
×
√
×
1
0
0
0
0
0
0
0
CLR
000
010
×
×
×
×
√
×
×
-
-
-
×
×
×
×
×
√
×
1
0
0
0
0
0
0
0
ADD
000
011
×
×
×
×
√
×
×
0
0
0
√
×
×
×
×
×
×
1
0
0
0
0
0
0
0
SUB
000
100
×
×
×
×
√
×
×
0
0
1
√
×
×
×
×
×
×
1
0
0
0
0
0
0
0
INC
000
101
×
×
×
×
√
×
×
0
1
0
√
×
×
×
×
×
×
1
0
0
0
0
0
0
0
DEC
000
110
×
×
×
×
√
×
×
0
1
1
√
×
×
×
×
×
×
1
0
0
0
0
0
0
0
MUL
000
111
×
×
×
×
√
×
1
0
0
√
×
×
×
×
×
×
1
0
AND
001
000
×
×
×
×
√
×
×
1
0
1
√
×
×
×
×
×
×
1
0
0
0
0
0
0
0
OR
001
001
×
×
×
×
√
×
×
1
1
0
√
×
×
×
×
×
×
1
0
0
0
0
0
0
0
NOT
101
010
×
×
×
×
√
×
×
1
1
1
√
×
×
×
×
×
×
1
0
0
0
0
0
0
0
STO
001
011
×
×
√
×
×
×
×
-
-
-
×
×
×
×
×
√
×
1
0
0
0
0
0
0
0
010
010
×
×
×
×
×
×
√
-
-
-
×
√
√
×
×
×
×
1
0
0
1
0
0
1
0
LAD
001
100
×
×
√
×
×
×
√
1
-
-
×
×
×
×
×
×
×
0
1
0
1
0
0
1
1
010
011
×
×
×
×
√
×
×
-
-
-
×
√
√
×
×
×
×
1
0
0
0
0
0
0
0
JMP
001
101
×
√
×
√
×
×
×
-
-
-
×
×
×
×
×
√
×
1
0
0
0
0
0
0
0
JNZ
001
110
×
×
×
√
×
√
×
-
-
-
×
×
×
×
×
×
×
1
0
0
0
0
0
0
0
101
110
×
√
×
×
×
×
×
-
-
-
×
×
×
×
×
√
×
0
1
0
0
0
0
0
0
IN
001
111
×
×
×
×
×
×
×
-
-
-
×
×
×
×
×
×
√
1
0
0
0
0
0
0
0
OUT
010
000
×
×
×
×
×
×
×
-
-
-
×
×
×
×
×
×
√
1
0
0
0
0
0
0
0
HALT
010
001
×
×
×
×
×
×
×
-
-
-
×
×
×
×
×
×
×
1
0
0
0
0
0
0
0
除过直接微地址,其他信号量用0代表无效和任意值,1代表有效
指令
微地
址
LO
AD
LD
PC
LD
AR
LD
IR
LD
Ri
LDP
SW
Rs
-B
S2
S1
S0
ALU
-B
RD
-D
CS
-D
RD
-I
CS
-I
ADD
R-B
SWITCH
P
1
P
2
U
A5
U
A4
U
A3
U
A2
U
A1
U
A0
取指令
000
000
1
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
MoV
000
001
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
CLR
000
010
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
ADD
000
011
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
SUB
000
100
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
INC
000
101
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
DEC
000
110
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
MUL
000
111
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
AND
001
000
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
OR
001
001
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
NOT
001
010
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
STO
001
011
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
0
010
010
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
LAD
001
100
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
001
100
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
JMP
001
101
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
JNZ
001
110
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
101
110
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
IN
001
111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
OUT
010
000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
HALT
010
001
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
<5>.地址转移逻辑图
三、心得体会:
本次课程设计主要是运用所学知识设计一个简单的CPU指令系统,通过书本与实践相结合,达到更好的学习效果。
首先我们应该掌握的就是各种寄存器以及微程序控制器,熟练掌握多种指令寻址方式,更重要的就是在实践中得到提高。
这次设计是我们2个人共同完成的,中间确实也遇到很多疑惑,但总结起来最根本的还是书本上的基础知识没有掌握好,还是要熟练掌握最最基础的东西,不能那样似懂非懂的状态,开始确实是在书本和课程设计指导书之间的不同之处真的是无从下手,只要用心学习,静下心来思考,寻找突破口,各种问题也都迎刃而解。
我最想说的是,我们的这个设计部分还是在第二周的实现单总线结构的指令功能设计基础上修改出来的,第一周问题很多,希望在以后的学习中,我们能够再接再厉,办法总比困难多,还有,思想交流也很重要团队合作或者分工也很重要,也谢谢老师那么辛苦的为我们解答!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 组成 原理 课程设计 报告 总线 结构 16 单字 指令 设计