《计算机组成原理》课程设计报告.docx
- 文档编号:9703450
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:21
- 大小:275.35KB
《计算机组成原理》课程设计报告.docx
《《计算机组成原理》课程设计报告.docx》由会员分享,可在线阅读,更多相关《《计算机组成原理》课程设计报告.docx(21页珍藏版)》请在冰点文库上搜索。
《计算机组成原理》课程设计报告
5、设计微指令……………………………………………………………………5
7.连接实验线路…………………………………………………………………..12
8.运行与调试……………………………………………………………………..13
五总结…………………………………………………………………………………………….13
六参考文献…………………………………………………………………………………………15
“计算机组成原理”课程设计
一课程设计目的
通过对一个简单计算机的设计,对计算机的基本组成,部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,在此基础上完成一台基本计算机的组成设计,从而加深对理论课程的理解,锻炼自己的独立思考和动手能力。
二课程设计题目
1、设计一个具有带加法的模型机
(1)设计内容
设计一台具有输入、输出、加法、储存和跳转功能的模型计算机,并写出工作程序和测试数据验证所设计的指令系统。
(2)设计要求
所设计模型计算机的指令系统共包含五条机器指令:
IN(输入)、ADD(加法)、OUT(输出)、STA(存数)、JMP(无条件转移),加法指令的寻址方式为立即数寻址。
其中IN指令为单字长(8位),其余为双字长指令。
使用R0寄存器作为工作寄存器。
2、设计一个具有带进位加法的模型机
(1)设计内容
设计一台具有输入、输出、带进位加法、储存和跳转功能的模型计算机,并写出工作程序和测试数据验证所设计的指令系统。
(2)设计要求
所设计模型计算机的指令系统共包含五条机器指令:
IN(输入)、ADC(带进位加法)、OUT(输出)、STA(存数)、JMP(无条件转移),加法指令的寻址方式为立即数寻址。
其中IN指令为单字长(8位),其余为双字长指令。
使用R0寄存器作为工作寄存器。
三实验设备仪器
硬件环境为PC-386以上微机,西安唐都科教仪器公司的TDN-CM+计算机组成原理实验台。
软件环境采用WINDOWS操作系统,西安唐都科教仪器公司的TDN-CM+计算机组成原理实验软件。
四设计一个带有循环左移功能的模型机
1、问题描述
实验一设计的是一台具有输入、输出、加法、储存和跳转功能的模型计算机,并写出工作程序和测试数据验证所设计的指令系统。
实验二设计的是一台具有输入、输出、带进位加法、储存和跳转功能的模型计算机,并写出工作程序和测试数据验证所设计的指令系统。
2、设计目标
在设计完本程序后,所设计模型机能够完成从一个外设输入一个数到指定的寄存器中,另外输入立即数并将其存入另一个寄存器中,两数进行加法或带进位相加并将结果保存到第一个寄存器,输出结果,并显示。
3、指令格式
实验一
助记符号
机器指令码
功能
IN
00000000
Input->R0
ADDaddr
00010000XXXXXXXX
R0+[addr]->R0
STAaddr
00100000XXXXXXXX
R0->[addr]
OUTaddr
00110000XXXXXXXX
[addr]->LED
JMPaddr
01000000XXXXXXXX
[addr]->PC
实验二
助记符号
机器指令码
功能
IN
00000000
Input->R0
ADCImm
11100000XXXXXXXX
R0+Imm+CY->R0
STAaddr
00100000XXXXXXXX
R0->[addr]
OUTaddr
00110000XXXXXXXX
[addr]->LED
JMPaddr
01000000XXXXXXXX
[addr]->PC
4、准备知识
(1)微指令格式
微指令字长共24位,其控制位顺序如下表所示:
A字段
B字段
C字段
15
14
13
选择
12
11
10
选择
9
8
7
选择
0
0
0
0
0
0
0
0
0
0
0
1
LDRi
0
0
1
RS-B
0
0
1
P
(1)
0
1
0
LDDR1
0
1
0
RD-B
0
1
0
P
(2)
0
1
1
LDDR2
0
1
1
RI-B
0
1
1
P(3)
1
0
0
LDIR
1
0
0
299-B
1
0
0
P(4)
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
表中uA0~uA5为6位的下一条微指令的地址,A、B、C为3个译码字段,分别由三个控制位译码出多位。
C字段中的P
(1)~P(4)是四个测试字位。
其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,其原理如图2所示。
图中I7~I2为指令寄存器的7~2位输出,SE5~SE1为微控器单元微地址锁存器的强制端输出。
AR为算术运算是否影响进位及判零标志控制位,其为零有效。
B字段中的RS-B、R0-B、RI-B分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令进行三个工作寄存器R0、R1及R2的选通译码,其原理图如图3所示,图中I0~I3为指令积存器的第0~3位,LDRi为打入工作寄存器信号的译码器使能控制位。
(2)指令译码电路
(3)寄存器译码电路
寄存器译码
微程序控制电路
5、设计微指令
(1)画出微程序流程图
实验一
运行微程序
实验二
(2)设计微指令
实验一
微地址
S3
S2
S1
S0
M
CN
WE
A9
A8
A
B
C
UA5….UA0
00
0
0
0
0
0
0
0
1
1
000
000
100
010000
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
001000
03
0
0
0
0
0
0
0
0
1
110
000
000
000100
04
0
0
0
0
0
0
0
0
1
011
000
000
000101
05
0
0
0
0
0
0
0
1
1
010
001
000
000110
06
1
0
0
1
0
1
0
1
1
001
101
000
000001
07
0
0
0
0
0
0
0
0
1
110
000
000
001101
08
0
0
0
0
0
0
0
0
0
001
000
000
000001
09
0
0
0
0
0
0
0
1
1
110
110
110
000011
0A
0
0
0
0
0
0
0
1
1
110
110
110
000111
0B
0
0
0
0
0
0
0
1
1
110
110
110
001110
0C
0
0
0
0
0
0
0
1
1
110
110
110
010110
0D
0
0
0
0
0
0
1
0
1
000
001
000
000001
0E
0
0
0
0
0
0
0
0
1
110
000
000
001111
0F
0
0
0
0
0
0
0
0
1
010
000
000
010101
10
0
0
0
0
0
0
0
1
1
110
110
110
010010
11
0
0
0
0
0
0
0
1
1
110
110
110
010100
12
0
0
0
0
0
0
0
0
1
010
000
000
010111
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
011000
15
0
0
0
0
0
1
1
1
0
000
101
000
000001
16
0
0
0
0
0
0
0
0
1
101
000
110
000001
17
0
0
0
0
0
1
1
1
0
000
101
000
010000
18
0
0
0
0
0
1
1
0
1
000
101
000
010001
实验二
微地址
S3
S2
S1
S0
M
CN
WE
A9
A8
A
B
C
UA5….UA0
00
0
0
0
0
0
0
0
1
1
000
000
000
000001
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
001000
03
0
0
0
0
0
0
0
0
1
011
000
000
000100
04
0
0
0
0
0
0
0
1
1
010
001
000
000101
05
1
0
0
1
0
1
0
1
1
001
101
101
000001
06
0
0
0
0
0
0
0
0
1
110
000
000
000111
07
0
0
0
0
0
0
1
0
1
000
001
000
000001
08
0
0
0
0
0
0
0
0
0
001
000
000
000001
0E
0
0
0
0
0
0
0
1
1
110
110
110
000011
0A
0
0
0
0
0
0
0
1
1
110
110
110
000110
0B
0
0
0
0
0
0
0
1
1
110
110
110
011000
0C
0
0
0
0
0
0
0
1
1
110
110
110
001101
0D
0
0
0
0
0
0
0
0
1
101
000
110
000001
18
0
0
0
0
0
0
0
0
1
110
000
000
001111
0F
0
0
0
0
0
0
0
0
1
010
000
000
010101
15
0
0
0
0
0
1
1
1
0
000
101
000
000001
(3)微程序代码
根据以上编写的微程序,以及微指令代码化的方法得到的微程序代码为:
实验一:
实验二:
$M00018001$M00018110
$M0101ED82$M0101ED82
$M0200C048$M0200C048
$M0300E004$M0300B004
$M0400B005$M0401A205
$M0501A206$M05959B41
$M06959A01$M0600E007
$M0700E00D$M07028201
$M08001001$M08001001
$M0901ED83$M0E01ED83
$M0A01ED87$M0A01ED86
$M0B01ED8E$M0B01ED98
$M0C01ED96$M0C01ED8D
$M0D028201$M0D00D181
$M0E00E00F$M1800E00F
$M0F00A015$M0F00A015
$M1001ED92$M15070A01
$M1101ED94
$M1200A017
$M13018001
$M14002018
$M15070A01
$M1600D181
$M17070A10
$M18068A11
(4)工作程序的设计
将题目设计的模型机的指令用汇编语言描述其具体结构为:
实验一
地址
内容
助记符
说明
00000000
00000000
IN
Input->R0
00000001
00010000
ADD[0AH]
R0+[0AH]->R0
00000010
00001010
00000011
00100000
STA[0BH]
R0->[0BH]
00000100
00001011
00000101
00110000
OUT[0BH]
[0BH]->LED
00000110
00001011
00000111
01000000
JMP01
00001000
00000001
01H->PC
00001001
00001010
00000001
输入自定的数据
00001011
求和结果的存储单元
实验二
地址
内容
助记符
说明
00000000
00000000
IN
Input->R0
00000001
11100000
ADCImm
R0+Imm+cy->R0
00000010
00001010
00000011
00100000
STA[0BH]
R0->[0BH]
00000100
00001011
00000101
00110000
OUT[0BH]
[0BH]->LED
00000110
00001011
00000111
01000000
JMP
Addr->PC
00001000
00000001
工作程序代码为:
实验一:
实验二:
$P0000$P0000
$P0110$P0110
$P020A$P020A
$P0320$P0320
$P040B$P040B
$P0530$P0530
$P060B$P060B
$P0740$P0740
$P0801$P0801
$P0A01$P0A01
(5)指令实现信号
实验一
助记符
微操作
说明
INR0
PC->AR,PC+1->PC
预备取指
RAM->BUS,BUS->IR
取指
INPUT->R0
向R0输入一个数
ADDX,R0
PC->AR,PC+1->PC
预备取指
RAM->BUS,BUS->IR
取指
PC->AR,PC+1->PC
预备取数据
RAM->BUS,BUS->DR2
取数据送入DR2
R0->DR1
将R0中的数送入DR1
(DR1)+(DR2)->R0
两数相加,结果送入R0
OUTR0
PC->AR,PC+1->PC
预备取指
RAM->BUS,BUS->IR
取指
R0->OUTPUT
将结果输出显示
JMP00
PC->AR,PC+1->PC
预备取指
RAM->BUS,BUS->IR
取指
PC->AR,PC+1->PC
预备取数据
RAM->BUS,BUS->PC
取数据送入PC
实验二
助记符
信号
IN
PC->AR,PC+1
LDPC,PC-B,LDAR
RAM->BUS,BUS->IR
W/R,CE,LDIR
INPUT->BUS
SW-B,LDRi
ADC
PC->AR,PC+1
LDPC,PC-B,LDAR
RAM->BUS,BUS->DR2
W/R,CE,LDDR2
R0->DR1
LDRi.LDDR1
(DR1)+(DR2)+cy->R0
S3-S0,M,Cn,ALU-B
STA
PC->AR,PC+1
LDPC,PC-B,LDAR
RAM->BUS,BUS->AR
W/R,CE,LDAR
R0->BUS,BUS->RAM
LDRi,W/R,CE
OUT
PC->AR,PC+1
LDPC,PC-B,LDAR
RAM->BUS,BUS->AR
W/R,CE,LDAR
RAM->BUS,BUS->DR1
W/R,CE,LDDR1
DR1->LED
ALU-B,LED-B,W/R
JMP
PC->AR,PC+1
LDPC,PC-B,LDAR
RAM->BUS,BUS->PC
W/R,CE,LDPC
(6)程序运行结果
实验一结果:
输入01H,结果为0BH,实验成功。
实验二结果;输入05H,经运行后LED显示为0FH,实验成功。
6、建立联机操作文件
为了从PC机下载工作程序和微程序,需要建立联机操作文件,该文件是普通的文本文件,扩展名为TXT,可用记事本来建立的,要求:
a、测试用的工作程序排在文件的前面,每个内存地址及代码占一行;
b、微指令代码排在文件的后面,每个微地址及微指令代码占一行;
7、连接实验线路
复杂模型机系统连线图
8、运行与调试
(1)系统与PC机联机
实验系统安装有一个标准的DB型9针RS-232C串口插座,使用配套的串行通信电缆分别插在实验系统及PC机的串口,即可实现系统与PC机的联机操作。
(2)下载工作程序和微程序
使用唐都软件将工作程序和微程序下载到实验箱的内存和控制存储器中。
其中,自带电线的实验箱用NCMP53软件,启动软件后使用F4[装载]进行下载;外接电源线的实验箱用CMPP软件,启动软件后在菜单中选择[转储]/[装载]进行下载。
(3)运行
数据通路结构框图
五总结
计算机组成原理是计算机科学与技术专业一门非常重要的课程,在计算机专业的学习中起着相当重要的作用,是掌握计算机硬件知识和计算机内部处理过程的理论基础,因此,本次课程设计是对计算机组成原理所学理论知识的一次大检阅,是集知识的综合应用和动手能力于一体的一次大型的演练。
通过本次课程设计,我对计算机的基本组成、工作原理,以及他们之间的通信方式,微程序控制器的设计、微指令和微程序的编制、调试以及执行等过程在理论的基础上面有了更加深刻的理解,并加深了对理论课程的理解。
在实践过程中,我与其他同学相互协作、相互交流,加强了我们之间的团队精神,这对我来说是难得的,老师耐心的指导,对我这次课程设计的顺利完成起了很大的帮助作用。
并从以下几方面得到较深体会:
1、加深了对实验原理的认识
本实验主要运用的原理是微程序控制的控制器工作原理。
计算机所识别的全部指令都是由微指令组成的微程序,指令的执行是通过来执行相应的微程序来完成的。
实验中将所要求的所有指令变成对应的微程序,写入控制存储器中,以后在执行用户程序的过程中,每次都先从内存储器中取出一条机器指令,其解释执行过程都是从控制存储器中读出相应的微程序,执行每条微指令的过程。
2、熟悉了微程序流程图的画法和微指令的设计方法
画微程序流程图,要先确立每条机器指令所需要的微周期数,此时要注意遵循确立的原则。
即写总线的微操作不能安排在同一条微指令中;当一微指令使用T4节拍时,其后续微操作不能与它安排在同一条微指令中;互斥微操作不能安排在同一条微指令中。
3、对理论在实践中的应用有深刻的理解
这次课程设计提供了理论用于实践的机会,使我们真正弄懂了微指令的编写过程。
指令的构成是设计过程中的一个难点,我们一定要真正地弄懂它,进而弄清楚指令的功能,理解整个设计的目的。
4、激发了学习的积极性
此次课程设计的过程中,弄清了以前在上理论课时的疑难问题,因此信心有了很大的增强,对计算机组成原理这门课程的兴趣也不断提高,在一定程度上增强了学习的积极性。
六参考文献
[1]计算机组成原理白中英主编北京:
科学出版社1994年
[2]计算机组成原理与系统结构杨小龙著西安电子科技大学出版社2004年
《计算机组成原理》课程设计评分表
项目
评价
完成与答辩情况(50%)
课程设计报告的质量(30%)
考勤与表现(20%)
综合评分
指导教师签名:
日期:
_2009年月日_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机组成原理 计算机 组成 原理 课程设计 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)