计算机组成原理课程设计 实验报告.docx
- 文档编号:23624788
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:18
- 大小:260.93KB
计算机组成原理课程设计 实验报告.docx
《计算机组成原理课程设计 实验报告.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计 实验报告.docx(18页珍藏版)》请在冰豆网上搜索。
计算机组成原理课程设计实验报告
目录
一课程设计目的2
二课程设计题目2
1、设计一个具有带进位加法和立即数寻址方式的模型机2
2、利用CPLD设计一个并行加法器2
三实验设备仪器3
四设计一个带有循环左移功能的模型机3
1、问题描述3
2、设计目标3
3、指令格式3
4、准备知识...........................................................................................................3
5、设计微指令……………………………………………………………………6
6、建立联机操作文件……………………………………………………………9
7、连接实验线路10
8、运行与调试10
五利用CPLD设计一个并行加法器11
1、设计目标11
2、设计内容11
3、设计要求11
4、实验原理12
5、实验步骤12
7、运行调试12
六总结14
七参考文献15
“计算机组成原理”课程设计
一课程设计目的
通过对一个简单计算机的设计,对计算机的基本组成,部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,在此基础上完成一台基本计算机的组成设计,从而加深对理论课程的理解,锻炼自己的独立思考和动手能力。
二课程设计题目
1、设计一个具有带进位加法和立即数寻址方式的模型机
(1)设计内容
设计一台具有输入、输出、带进位加法、储存和跳转功能的模型计算机,并写出工作程序和测试数据验证所设计的指令系统。
(2)设计要求
所设计模型计算机的指令系统共包含五条机器指令:
IN(输入)、ADC(带进位加法)、OUT(输出)、STA(存数)、JMP(无条件转移),加法指令的寻址方式为立即数寻址。
其中IN指令为单字长(8位),其余为双字长指令。
使用R0寄存器作为工作寄存器。
2、利用CPLD设计一个并行加法器
(1)设计内容
使用大规模可编程逻辑器件CPLD设计实现一个4为并行进位加法器,并验证设计的正确性。
(2)设计要求
采用ispDesignEXPERT软件来对可编程逻辑器件ispLSI1032进行编程设计,要求用原理图输入方式来进行设计输入,并对所设计的加法器进行功能和时序仿真,最后在西安唐都科教仪器公司的TDCM+计算机组成原理实验台上验证所设计器件的逻辑功能。
提示:
在实验台上进行逻辑功能验证时,可以借助使用INPUTDEVICE单元输入加数和被加数,进位输入可由SWITCHUNIT单元的一个开关来给出,可用总线单元的发光二极管来显示运算结果。
三实验设备仪器
硬件环境为PC-386以上微机,西安唐都科教仪器公司的TDN-CM+计算机组成原理实验台。
软件环境采用WINDOWS操作系统,西安唐都科教仪器公司的TDN-CM+计算机组成原理实验软件,ispDesignEXPERT实验软件。
四设计一个带有循环左移功能的模型机
1、问题描述
本题目设计的是一台具有输入、输出、带进位加法、储存和跳转功能的模型计算机,并写出工作程序和测试数据验证所设计的指令系统。
2、设计目标
在设计完本程序后,所设计模型机能够完成从一个外设输入一个数到指定的寄存器中,另外输入立即数并将其存入另一个、寄存器中,两数进行进位相加并将结果保存到第一个寄存器,输出结果,并显示。
另外,实现无条件跳转至开始。
3、指令格式
助记符号
机器指令码
功能
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
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
$M0101ED82
$M0200C048
$M0300B004
$M0401A205
$M05959B41
$M0600E007
$M07028201
$M08001001
$M0E01ED83
$M0A01ED86
$M0B01ED98
$M0C01ED8D
$M0D00D181
$M1800E00F
$M0F00A015
$M15070A01
(4)工作程序的设计
将题目设计的模型机的指令用汇编语言描述其具体结构为:
地址
内容
助记符
说明
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
$P01E0
$P020A
$P0320
$P040B
$P0530
$P060B
$P0740
$P0801
(5)指令实现信号
助记符
信号
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,经运行后LED显示为0B,实验成功。
6、建立联机操作文件
为了从PC机下载工作程序和微程序,需要建立联机操作文件,该文件是普通的文本文件,扩展名为TXT,可用记事本来建立的,要求:
a、测试用的工作程序排在文件的前面,每个内存地址及代码占一行;
b、微指令代码排在文件的后面,每个微地址及微指令代码占一行;
7、连接实验线路
复杂模型机系统连线图
8、运行与调试
(1)系统与PC机联机
实验系统安装有一个标准的DB型9针RS-232C串口插座,使用配套的串行通信电缆分别插在实验系统及PC机的串口,即可实现系统与PC机的联机操作。
(2)下载工作程序和微程序
使用唐都软件将工作程序和微程序下载到实验箱的内存和控制存储器中。
其中,自带电线的实验箱用NCMP53软件,启动软件后使用F4[装载]进行下载;外接电源线的实验箱用CMPP软件,启动软件后在菜单中选择[转储]/[装载]进行下载。
(3)运行
数据通路结构框图
五利用CPLD设计一个并行加法器
1、设计目标
使用APEL语言编写一个四位并行进位加法器
2、设计内容
使用大规模可编程逻辑器件CPLD设计实现一个4位并行进位加法器,并验证设计的正确性。
3、设计要求
采用ispDesignEXPERT软件来对可编程逻辑器件ispLSI1032进行编程设计,要求用原理图输入方式来进行设计输入,并对所设计的加法器进行功能和时序仿真,最后在西安唐都科教仪器公司的TDCM+计算机组成原理实验台上验证所设计器件的逻辑功能。
提示:
在实验台上进行逻辑功能验证时,可以借助使用INPUTDEVICE单元输入加数和被加数,进位输入可由SWITCHUNIT单元的一个开关来给出,可用总线单元的发光二极管来显示运算结果。
4、实验原理
用超前进位电路实现:
5、实验步骤
(1)建立新工程
(2)输入原理图或硬件描述语言进行设计
(3)对源程序进行编译
(4)连接下载电缆
(5)将生成的JED文件下载到可编程逻辑器件中
(6)连接实验电路
6、运行调试
(1)下载步骤
使用ispDesignEXPERT软件建立联机文件,并把其下载到TDN-CM+系统的ispLSI1032器件。
下载电缆的连接方法如下:
在打开PC机和实验系统的电源之前,将下载电缆的一端与PC机的并行口相连,另一端与TDN-CM+系统的ispLSI1032器件的编程接口相连。
(2)使用说明
ABEL源程序中的管脚41,40,39,38为加数输入的管脚,37,36,35,34为另一个加数的输入管脚,52为低位进位控制管脚,6,5,4,3为输出管脚,10为进位位的控制管脚。
(3)测试数据及结果
输入数据:
00110011进位为设置为1
输出数据:
0111
测试结果正确。
六总结
计算机组成原理是计算机科学与技术专业一门非常重要的课程,在计算机专业的学习中起着相当重要的作用,是掌握计算机硬件知识和计算机内部处理过程的理论基础,因此,本次课程设计是对计算机组成原理所学理论知识的一次大检阅,是集知识的综合应用和动手能力于一体的一次大型的演练。
本次课程设计之前,我认为只是在实验箱上接接现就OK了。
在课程设计的时候在才真正意识到我的理解是完全错误,面对几个题目根本无从下手。
在老师的悉心指导下,在同学的耐心帮助下,我顺利地完成了本次课程设计。
通过本次课程设计,我对计算机的基本组成、工作原理,以及他们之间的通信方式,微程序控制器的设计、微指令和微程序的编制、调试以及执行等过程在理论的基础上面有了更加深刻的理解,并加深了对理论课程的理解。
在实践过程中,我与其他同学相互协作、相互交流,加强了我们之间的团队精神,这对我来说是难得的,老师耐心的指导,对我这次课程设计的顺利完成起了很大的帮助作用。
并从以下几方面得到较深体会:
1、加深了对实验原理的认识
本实验主要运用的原理是微程序控制的控制器工作原理。
计算机所识别的全部指令都是由微指令组成的微程序,指令的执行是通过来执行相应的微程序来完成的。
实验中将所要求的所有指令变成对应的微程序,写入控制存储器中,以后在执行用户程序的过程中,每次都先从内存储器中取出一条机器指令,其解释执行过程都是从控制存储器中读出相应的微程序,执行每条微指令的过程。
2、熟悉了微程序流程图的画法和微指令的设计方法
画微程序流程图,要先确立每条机器指令所需要的微周期数,此时要注意遵循确立的原则。
即写总线的微操作不能安排在同一条微指令中;当一微指令使用T4节拍时,其后续微操作不能与它安排在同一条微指令中;互斥微操作不能安排在同一条微指令中。
3、对理论在实践中的应用有深刻的理解
这次课程设计提供了理论用于实践的机会,使我们真正弄懂了微指令的编写过程。
指令的构成是设计过程中的一个难点,我们一定要真正地弄懂它,进而弄清楚指令的功能,理解整个设计的目的。
4、激发了学习的积极性
此次课程设计的过程中,弄清了以前在上理论课时的疑难问题,因此信心有了很大的增强,对计算机组成原理这门课程的兴趣也不断提高,在一定程度上增强了学习的积极性。
七参考文献
[1]计算机组成与结构王爱英主编清华大学出版社2001年
[2]计算机组成原理上机实验指导(Ver3.0)黄贤英张光建著2005年
[3]
《计算机组成原理》课程设计评分表
项目
评价
完成与答辩情况(50%)
课程设计报告的质量(30%)
考勤与表现(20%)
综合评分
指导教师签名:
日期:
_2009年月日_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机组成原理课程设计 实验报告 计算机 组成 原理 课程设计 实验 报告