计算机组成原理课程设计---一台模型计算机的设计和调试.docx
《计算机组成原理课程设计---一台模型计算机的设计和调试.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计---一台模型计算机的设计和调试.docx(33页珍藏版)》请在冰豆网上搜索。
课程设计报告
课程名称:
计算机组成原理专业:
计算机XXX 班级:
计算机XXXX班学号:
XXXX 姓名:
廖明楷 指导老师:
XXX 日期:
2013年3月20日
目录
设计题目 1
1.数据格式 1
2.指令系统 1
2.1.算术逻辑运算指令 1
2.2.访内指令及转移指令 1
2.3.输入输出指令 2
2.4.停机指令 2
2.5.具体编码 2
3.数据通路 3
3.1.全局概略图 3
3.2.单片机写控制 4
3.3.微程序显示 4
3.4.指令寄存器 5
3.5.通用寄存器 6
3.6.运算器 7
3.7.内存和程序计数器 8
3.8.地址总线显示 9
3.9.手动输入微程序 10
3.10.单片机写微程序 10
3.11.控制存储器 11
3.12.指令译码 12
3.13.微地址显示 13
3.14.单片机与数据总线输入 14
3.15.设计说明 14
4.时序系统 15
4.1.时序系统与起停控制 15
4.2.时序波形图 15
5.微指令格式 16
6.微程序控制器 17
6.1.原理图 17
6.2.地址转移逻辑 18
7.微程序流程图 19
8.微程序代码表 19
9.设计体会 21
10.参考文献 21
11.附录 21
11.1.单片机写程序 21
11.1.微程序编码转换程序 29
19
计算机组成原理课程设计报告
寻址方式M
有效地址
说明
0 0
E=D
直接寻址
设计题目
一台模型计算机的设计与调试
1.数据格式
字长:
8位
格式:
定点整数
尾数
符号
7 6 0
其中:
第7位为符号位,数值表示范围是:
定点整数:
-128≤X≤127。
2.指令系统
指令的类型设计:
算术逻辑运算、数据存取、程序控制、输入输出,按固定操作码4
位长度进行设计,设计14条指令。
2.1.算术逻辑运算指令
设计7条算术逻辑运算类指令并用单字节表示,寻址方式采用寄存器寻址,指令为
RR型,其格式如下:
7 4 3 2 1 0
OP-CODE
Rs
Rd
其中:
OP-CODE为操作码,Rs为源寄存器,Rd为目的寄存器
2.2.访内指令及转移指令
2条访问指令:
存数(STA)、取数(LDA)
2条转移指令:
无条件转移(JMP)、结果为零或有进位转移指令(BZC)指令格式为:
D
Rd/Rs
OP-CODE
M
0
0
7 6 5 4 3 2 1 0
其中:
D为位移量(正负均可),M为寻址方式,其定义如下:
0
1
E=(D)
间接寻址
1
0
E=(Ri)+D
Ri变址寻址
1
1
E=(PC)+D
相对寻址
本模型机选择变址寄存器Ri为寄存器R2。
2.3.输入输出指令
格式如下:
7 4 3 2 1 0
OP-CODE
addr
Rd
其中,addr=01 时,选中“INPUT DEVICE”中的开关组作为入设备,addr=10时,选中
“OUTPUTDEVICE”中的七段LED数码块作为输出设备。
2.4.停机指令
格式如下:
7 4 3 2 1 0
OP-CODE
0 0
0 0
停机指令HALT,用于实现停机操作。
2.5.具体编码
序号
汇编指令
机器代码格式
功能说明
1
CLR Rd
0111 00 Rd
0→Rd
2
MOVRs,Rd
1000 Rs Rd
Rs→Rd
3
ADC Rs,Rd
1001 Rs Rd
Rs+Rd+Cy→Rd
4
SBC Rs,Rd
1010 Rs Rd
Rs-Rd-Cy→Rd
5
INC Rd
1011 xx Rd
Rd+1→Rd
6
AND Rs,Rd
1100 Rs Rd
Rs∧Rd→Rd
7
COM Rd
1101 xx Rd
8
LDA M,D,Rd
00 M00 Rd, D
E→Rd
9
STA M,D,Rd
00 M01 Rd, D
Rd→E
10
JMP M,D
00 M10 00 , D
E→PC
11
BZC M,D
00 M11 00 , D
当Cy=1或Z=1时,E→PC
12
IN Rd
0100 10 Rd
输入单元→Rd
13
OUT Rd
0101 10Rd
Rd→输出单元
14
HALT
0110 00 00
停机
3.数据通路
3.1.全局概略图
3.2.单片机写控制
3.3.微程序显示
3.4.指令寄存器
3.5.通用寄存器
3.6.运算器
3.7.内存和程序计数器
3.8.地址总线显示
3.9.手动输入微程序
3.10.单片机写微程序
3.11.控制存储器
3.12.指令译码
3.13.微地址显示
3.14.单片机与数据总线输入
设计
说明
数据总线
模型计算机的数据总线,用于分时传输各种数据。
地址总线
模型计算机的地址总线,用于传输地址寄存器的地址。
微地址总线
微程序控制器的微地址总线,用于分时传输微地址。
微程序数据总线
微程序控制器的微程序数据总线,用于传输微程序数据。
单片机写数据总线
单片机写入模型计算机内存和控制存储器的单片机写数据总线。
运行步骤
1.单片机写内存控制逻辑:
把开关SW1,SW2拨动到下面,START=0
2.启动运行约3秒,等显示数据稳定,表示数据写入完成。
3.单击暂停。
单片机写内存控制逻辑:
把开关SW1,SW2拨动到上面
START=1。
缩小设计图,让指令寄存器,微地址寄存器,输出显示器,地址寄存器显示同时显示。
单击释放暂停按钮,继续运行。
4.观察LED数码管显示器上的数据。
3.15.设计说明
,
4.时序系统
4.1.时序系统与起停控制
4.2.时序波形图
5.微指令格式
微程序
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
控制信号
S3
S2
S1
S0
M
CN
WE
A9
A8
A字段
B字段
P字段
uA5
Ua
4
uA3
uA2
uA1
uA1
A字段
B字段
P字段
14
13
12
控制信号
11
10
9
控制信号
8
7
6
控制信号
0
0
0
0
0
0
0
0
0
0
0
1
LDRi
0
0
1
RS_B
0
0
1
P1
0
1
0
LDDR1
0
1
0
RD_B
0
1
0
P2
0
1
1
LDDR2
0
1
1
RI_B
0
1
1
P3
1
0
0
LDIR
1
0
0
1
0
0
P4
1
0
1
LOAD
1
0
1
ALU_B
1
0
1
AR
1
1
0
LDAR
1
1
0
PC_B
1
1
0
LDPC
6.微程序控制器
6.1.原理图
6.2.地址转移逻辑
7.微程序流程图
8.微程序代码表
微地址
S3S2S1S0MCNWEA9A8
A
B
C
UA5…UA0
00
0 0 0 0 0 0 0 1 1
000
000
100
001000
01
0 0 0 0 0 0 0 1 1
110
110
110
000010
02
0 0 0 0 0 0 0 0 1
100
000
001
010000
03
0 0 0 0 0 0 0 0 1
010
000
000
000100
04
0 0 0 0 0 0 0 0 1
110
000
010
100000
05
0 0 0 0 0 0 0 0 1
110
000
000
000110
06
0 0 0 0 0 0 0 0 1
010
000
000
000111
07
0 0 0 0 0 0 0 0 1
110
000
010
100000
10
0 0 0 0 0 0 0 1 1
110
110
110
001010
11
0 0 0 0 0 0 0 1 1
110
110
110
001100
20
计算机组成原理课程设计报告
12
0 0 0 0 0 0 0 0 1
010
000
000
111011
13
0 0 0 0 0 0 0 1 1
000
000
000
000001
14
0 0 0 0 0 0 0 0 0
010
000
000
111100
15
0 0 0 0 0 0 0 0 1
010
000
000
001110
16
0 0 0 0 0 0 0 1 1
011
011
000
001111
17
1 0 0 1 0 1 0 1 1
110
101
000
100101
20
0 0 0 0 0 0 0 1 1
110
110
110
000011
21
0 0 0 0 0 0 0 1 1
110
110
110
000101
22
0 0 0 0 0 0 0 1 1
110
110
110
001101
微地址
S3S2S1S0MCNWEA9A8
A
B
C
UA5…UA0
23
0 0 0 0 0 0 0 1 1
110
110
110
100110
24
0 0 0 0 0 0 0 0 0
001
000
000
000001
25
0 0 0 0 0 0 0 1 0
000
010
000
000001
26
0 0 0 0 0 0 0 1 1
000
000
000
010110
27
0 0 1 1 0 0 0 1 1
001
101
000
000001
30
0 0 0 0 0 0 0 1 1
001
001
000