计算机组成原理课程设计报告.docx
- 文档编号:18220816
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:38
- 大小:1.78MB
计算机组成原理课程设计报告.docx
《计算机组成原理课程设计报告.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计报告.docx(38页珍藏版)》请在冰点文库上搜索。
计算机组成原理课程设计报告
计算机科学与技术学院
课程设计报告
课程名称:
计算机组成原理
专业:
计算机科学与技术
班级:
计算机1004班
学号:
201013137121
姓名:
廖明楷
指导老师:
邵平凡老师
日期:
2013年3月20日
设计题目
一台模型计算机的设计与调试
1.数据格式
字长:
8位
格式:
定点整数
7
60
符号
尾数
其中:
第7位为符号位,数值表示范围是:
定点整数:
-128≤X≤127。
2.指令系统
指令的类型设计:
算术逻辑运算、数据存取、程序控制、输入输出,按固定操作码4位长度进行设计,设计14条指令。
2.1.算术逻辑运算指令
设计7条算术逻辑运算类指令并用单字节表示,寻址方式采用寄存器寻址,指令为RR型,其格式如下:
74
32
10
OP-CODE
Rs
Rd
其中:
OP-CODE为操作码,Rs为源寄存器,Rd为目的寄存器
2.2.访内指令及转移指令
2条访问指令:
存数(STA)、取数(LDA)
2条转移指令:
无条件转移(JMP)、结果为零或有进位转移指令(BZC)
指令格式为:
76
54
32
10
00
M
OP-CODE
Rd/Rs
D
其中:
D为位移量(正负均可),M为寻址方式,其定义如下:
寻址方式M
有效地址
说明
0 0
0 1
1 0
1 1
E=D
E=(D)
E=(Ri)+D
E=(PC)+D
直接寻址
间接寻址
Ri变址寻址
相对寻址
本模型机选择变址寄存器Ri为寄存器R2。
2.3.输入输出指令
格式如下:
74
32
10
OP-CODE
addr
Rd
其中,addr=01时,选中“INPUTDEVICE”中的开关组作为入设备,addr=10时,选中“OUTPUTDEVICE”中的七段LED数码块作为输出设备。
2.4.停机指令
格式如下:
74
32
10
OP-CODE
00
00
停机指令HALT,用于实现停机操作。
2.5.具体编码
序号
汇编指令
机器代码格式
功能说明
1
CLRRd
011100Rd
0→Rd
2
MOVRs,Rd
1000RsRd
Rs→Rd
3
ADCRs,Rd
1001RsRd
Rs+Rd+Cy→Rd
4
SBCRs,Rd
1010RsRd
Rs-Rd-Cy→Rd
5
INCRd
1011xxRd
Rd+1→Rd
6
ANDRs,Rd
1100RsRd
Rs∧Rd→Rd
7
COMRd
1101xxRd
8
LDAM,D,Rd
00M00Rd,D
E→Rd
9
STAM,D,Rd
00M01Rd,D
Rd→E
10
JMPM,D
00M1000,D
E→PC
11
BZCM,D
00M1100,D
当Cy=1或Z=1时,E→PC
12
INRd
010010Rd
输入单元→Rd
13
OUTRd
010110Rd
Rd→输出单元
14
HALT
01100000
停机
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.单片机与数据总线输入
3.15.设计说明
设计
说明
数据总线
模型计算机的数据总线,用于分时传输各种数据。
地址总线
模型计算机的地址总线,用于传输地址寄存器的地址。
微地址总线
微程序控制器的微地址总线,用于分时传输微地址。
微程序数据总线
微程序控制器的微程序数据总线,用于传输微程序数据。
单片机写数据总线
单片机写入模型计算机内存和控制存储器的单片机写数据总线。
运行步骤
1.单片机写内存控制逻辑:
把开关SW1,SW2拨动到下面,START=0
2.启动运行约3秒,等显示数据稳定,表示数据写入完成。
3.单击暂停。
单片机写内存控制逻辑:
把开关SW1,SW2拨动到上面,START=1。
缩小设计图,让指令寄存器,微地址寄存器,输出显示器,地址寄存器显示同时显示。
单击释放暂停按钮,继续运行。
4.观察LED数码管显示器上的数据。
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
Ua4
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
000000011
000
000
100
001000
01
000000011
110
110
110
000010
02
000000001
100
000
001
010000
03
000000001
010
000
000
000100
04
000000001
110
000
010
100000
05
000000001
110
000
000
000110
06
000000001
010
000
000
000111
07
000000001
110
000
010
100000
10
000000011
110
110
110
001010
11
000000011
110
110
110
001100
12
000000001
010
000
000
111011
13
000000011
000
000
000
000001
14
000000000
010
000
000
111100
15
000000001
010
000
000
001110
16
000000011
011
011
000
001111
17
100101011
110
101
000
100101
20
000000011
110
110
110
000011
21
000000011
110
110
110
000101
22
000000011
110
110
110
001101
微地址
S3S2S1S0MCNWEA9A8
A
B
C
UA5…UA0
23
000000011
110
110
110
100110
24
000000000
001
000
000
000001
25
000000010
000
010
000
000001
26
000000011
000
000
000
010110
27
001100011
001
101
000
000001
30
000000011
001
001
000
000001
31
000000011
010
001
000
101010
32
000000011
011
001
000
101100
33
000000011
010
010
000
110010
34
000000011
010
001
000
110011
35
000000011
010
010
000
110110
36
000000011
000
001
000
001000
37
000000011
000
001
000
001000
40
000000001
001
000
000
000001
41
000000101
000
010
000
000001
42
000001011
101
101
000
000001
43
000000011
000
000
011
100100
44
000000011
000
000
000
000001
微地址
S3S2S1S0MCNWEA9A8
A
B
C
UA5…UA0
45
100101011
010
101
010
010000
46
000000001
010
000
000
100111
47
000000011
011
110
000
101000
50
100101011
110
101
000
101001
51
100101011
010
101
010
010000
52
000000011
011
010
000
101011
53
100101011
001
101
000
000001
54
000000011
010
010
000
101101
55
000001011
010
101
000
101110
56
000010011
010
101
000
101111
57
000000011
010
101
000
110000
60
000001011
010
101
000
110001
61
100101011
001
101
000
000001
62
000000011
001
101
000
000001
63
000000011
011
010
000
110110
64
000001011
101
101
000
000001
65
101110011
001
101
000
000001
66
000011011
001
101
000
000001
67
000000011
010
001
000
001000
70
001010011
001
100
000
001000
71
000000011
010
001
000
001000
72
000110011
001
100
000
001000
73
000001110
000
101
000
001000
74
000001101
000
101
000
001001
9.设计体会
这次计算机组成原理课程设计不仅是一个综合复习课堂知识的过程,而且是一次非常好的锻炼实践能力的机会。
以前在学习计算机科学与技术这个专业时,主要是接触软件,忽略了很多硬件方面的知识。
但是,只有综合学习和应用计算机软硬件知识,才能更好和更深层次地理解计算机的工作原理。
在课程设计中发现对学过的一些理论知识的理解还不够深刻,尤其是一些细节方面的知识。
只是知其然,而不知其所以然,缺乏深入的思考,往往只看到了表面。
在课程设计过程中遇到了一些理解不清的知识点。
通过看课本,到图书馆借阅相关资料学习,最后加深了对相关知识点的理解,应用到了课程设计中。
对一些芯片的具体参数和用法不太熟悉,通过上网搜索,学会了使用这些芯片。
通过这次课程设计,我对计算机的组成和工作原理的理解更加深入了。
同时,也锻炼了自己实际分析问题和解决问题的能力,为以后的进一步学习打下了基础。
10.参考文献
《计算机组成原理》,科学出版社,白中英著。
《计算机组成原理与系统结构试验教程》,西安电子科技大学出版社,杨小龙编著。
XX百科中相关芯片资料
11.附录
11.1.单片机写程序
#include"reg51.h"
#defineDELAY_T4//延时函数单位时间
#definePRO_LONG16//程序长度
sbitC51_NOT_SW_B=P0^0;//C51单片机写存储器控制逻辑
sbitWUD_CE0=P1^0;//写微程序数据片选信号
sbitWUD_CE1=P1^1;
sbitWUD_CE2=P1^2;
sbitMCS0=P1^3;//控制存储器片选信号
sbitMCS1=P1^4;
sbitMCS2=P1^5;
sbitMOE=P1^6;//控制存储器读选通信号
sbitMWE=P1^7;//控制存储器写选通信号
sbitWRITE_TUA=P2^0;//写微地址转移逻辑选通信号
sbitC51_LDAR=P2^1;//C51写地址寄存器选通信号
sbitWDBUSCE=P2^2;//写数据总线选通信号
sbitC51_CE=P2^3;//C51访问存储器片选信号
sbitC51_OE=P2^4;//C51读存储器选通信号
sbitC51_WE=P2^5;//C51写存储器选通信号
sbitOEUA=P2^6;//C51写微地址选通信号
sbitWEUA=P2^7;//C51锁存微地址信号
/*程序注释
输入R1=16
输出R1=16
内存读取R0=12
输出R0=12
自增R0
输出R0=13
R0+R1->R1=29
输出R1=29
输出R1=29
清零R0=0
输出R0=0
输出R0=0
输出R0=0
停机
*/
charram[16]={//程序
0x45,//01000101INR1//R1=16
0x59,//01011001OUTR1//R1=16
0x00,//00000000LADR0//R0=[0x0f]=0x12
0x0f,//data_0=[0x0f]=0x12
0x58,//01011000OUTR0//R0=0x12
0xb0,//10110000INCR0//R0=13
0x58,//01011000OUTR0//R0=13
0x91,//10010001R0+R1->R1//R1=16+13=29
0x59,//01011001OUTR1//R1=29
0x59,//01011001OUTR1
0x70,//01110000CLRR0//R0=00
0x58,//01011000OUTR0//R0=00
0x58,//01011000OUTR0//R0=00
0x58,//01011000OUTR0//R0=00
0x60,//01100000STOP
0x12,//data_0=[0x0f]=0x12
};
charcodec2[61]={//控制存储器高8位
0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0x01,0x00,0x01,0x00,0x00,0x01,0x95,
0x01,0x01,0x01,0x01,0x00,0x01,0x01,0x31,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x00,0x02,0x05,0x01,0x01,0x95,0x00,0x01,
0x95,0x95,0x01,0x95,0x01,0x05,0x09,0x01,
0x05,0x95,0x01,0x01,0x05,0xb9,0x0d,0x01,
0x29,0x01,0x19,0x07,0x06
};
charcodec1[61]={//控制存储器中8位
0x81,0xed,0xc0,0xa0,0xe0,0xe0,0xa0,0xe0,
0xed,0xed,0xa0,0x80,0x20,0xa0,0xb6,0xea,
0xed,0xed,0xed,0xed,0x10,0x04,0x80,0x9a,
0x92,0xa2,0xb2,0xa4,0xa2,0xa4,0x82,0x82,
0x90,0x84,0xda,0x80,0x80,0xaa,0xa0,0xbc,
0xea,0xaa,0xb4,0x9a,0xa4,0xaa,0xaa,0xaa,
0xaa,0x9a,0x9a,0xb4,0xda,0x9a,0x9a,0xa2,
0x98,0xa2,0x98,0x0a,0x8a
};
charcodec0[61]={//控制存储器低8位
0x08,0x82,0x50,0x04,0xa0,0x06,0x07,0xa0,
0x8a,0x8c,0x3b,0x01,0x3c,0x0e,0x0f,0x25,
0x83,0x85,0x8d,0xa6,0x01,0x01,0x16,0x01,
0x01,0x2a,0x2c,0x32,0x33,0x36,0x08,0x08,
0x01,0x01,0x01,0xe4,0x01,0x90,0x27,0x28,
0x29,0x90,0x2b,0x01,0x2d,0x2e,0x2f,0x30,
0x31,0x01,0x01,0x36,0x01,0x01,0x01,0x08,
0x08,0x08,0x08,0x08,0x09
};
chari;
voiddelay(chart)//延时函数,调整延时时间,可看到读写过程
{
chari,j,k;
for(i=0;i for(j=0;j for(k=0;k ; } voidinit(void)//初始化数据,准备写入数据 { C51_NOT_SW_B=1; WUD_CE0=1; WUD_CE1=1; WUD_CE2=1; MCS0=1; MCS1=1; MCS2=1; MOE=1; MWE=1; WRITE_TUA=1; C51_LDAR=0; WDBUSCE=1; C51_CE=1; C51_OE=1; C51_WE=1; OEUA=1; WEUA=0; } voidpre_run(void)//准备运行模型计算机 { C51_NOT_SW_B=0; WUD_CE0=1; WUD_CE1=1; WUD_CE2=1; MCS0=0; MCS1=0; MCS2=0; MOE=0; MWE=1; WRITE_TUA=0; C51_LDAR=0; WDBUSCE=1; C51_CE=1; C51_OE=1; C51_WE=1; OEUA=1; WEUA=0; } voidwrite_ram(void)//写内存 { init(); for(i=0;i { P3=i; WDBUSCE=0; C51_LDAR=0; C51_LDAR=1; delay(DELAY_T); P3=ram[i]; WDBUSCE=0; C51_CE=0; C51_WE=0; delay(DELAY_T); C51_CE=1; C51_WE=1; delay(DELAY_T); WDBUSCE=1; delay(DELAY_T); } P3=0;//地址寄存器清零 WDBUSCE=0; C51_LDAR=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课程设计 报告