计算机组成原理课程设计文档格式.docx
《计算机组成原理课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
![计算机组成原理课程设计文档格式.docx](https://file1.bdocx.com/fileroot1/2022-12/12/b72b31eb-3141-4fdd-a246-f879037831c3/b72b31eb-3141-4fdd-a246-f879037831c31.gif)
2.4实验内容介绍-15-
2.5系统实现步骤-15-
2.6测试用例-18-
2.7硬件连线图-19-
第3章总结-20-
参考文献-21-
第1章绪论
1.1设计地点
计算机组成原理实验室。
1.2设计目的
本课程设计综合运用运算器、控制器、存储器、输入输出系统、总线等部件和辅助电路,完成一个较完整的模型计算机设计和实现(包括硬件和软件)。
通过课程设计对计算机组成和系统结构的基础知识进行全面的掌握,培养独立分析、研究、开发和综合设计能力。
1.3设计的意义
通过对复杂模型机组成的研究以及对微程序、微代码、机器指令的深入理解,进一步增强对计算机组成的学习,巩固以前所学知识,并对以后的学习打下坚实的基础。
1.4课程设计的主要内容和要求
(4)应用微程序控制器,往EEPROM里任意写24位微代码读出微代码并验证其正确性;
(5)构造指令系统定义至少10条机器指令,实现可以计算鸡兔同笼题的模型机功能;
要求画出系统模块框图:
按从上到下的设计方法,将整个设计依功能划分成若干模块;
并确定各个模块的输出、输入端口及要完成的功能。
检查模块逻辑功能是否正确;
(7)在EL-JY-Ⅱ型计算机组成原理实验系统上,编写机器指令,实现数据的输入,输出,移位以及加法等运算功能。
1.5实验的环境
EL-JY-Ⅱ型计算机组成原理实验系统。
第2章系统设计与实现
2.1模型机结构框图
此模型机是由运算器,控制器,存储器,输入设备,输出设备五大部分组成。
1.运算器又是有299,74LS181完成控制信号功能的算逻部件,暂存器LDR1,LDR2,及三个通用寄存器Ax,Bx,Cx等组成。
2.控制器由程序计数器PC、指令寄存器、地址寄存器、时序电路、控制存储器及相应的译码电路组成。
3.存储器RAM是通过CE和W/R两个微命令来完成数据和程序的的存放功能的。
4.输出设备有两位LED数码管和W/R控制完成的。
图1模型机结构框图
图1中运算器ALU由U7--U10四片74LS181构成,暂存器1由U3、U4两片74LS273构成,暂存器2由U5、U6两片74LS273构成。
微控器部分控存由U13--U15三片2816构成。
除此之外,CPU的其他部分都由EP1K10集成。
存储器部分由两片6116构成16位存储器,地址总线只有低八位有效,因而其存储空间为00H--FFH。
输出设备由底板上的四个LED数码管及其译码、驱动构成,当D-G和W/R均为低电平时将数据总线的数据送入数码管显示。
在开关方式下,输入设备由16位电平开关及两个三态缓冲芯片74LS244构成,当DIJ-G为低电平时将16位开关状态送上数据总线。
在键盘方式或联机方式下,数据可由键盘或上位机输入,然后由监控程序直接送上数据总线,因而外加的数据输入电路可以不用。
本系统的数据总线为16位,指令、地址和程序计数器均为8位。
当数据总线上的数据打入指令寄存器、地址寄存器和程序计数器时,只有低八位有效。
2.2工作原理
2.2.1数据格式
本实验计算机采用定点补码表示法表示数据,字长为16位,格式如下:
表1补码表示表
15
1413..................0
符号
尾数
其中,第16位为符号位,数值表示范围是:
-32768~32767。
2.2.2指令格式
(1)算术逻辑指令
设计9条单字长算术逻辑指令,寻址方式采用寄存器直接寻址。
其格式如下:
表2寻址方式表示表
7654
32
10
OP-CODE
rs
rd
0111
1000
1001
1010
1011
1100
1101
1110
1111
指令
CLR
MOV
ADD
SUB
INC
AND
NOT
ROR
ROL
表3操作码表
其中OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:
表4寄存器表
rs或rd
选定寄存器
00
Ax
01
Bx
10
Cx
(2)存储器访问及转移指令
存储器的访问有两种,存数和取数。
它们都使用助记符MOV,但操作码不同。
转移指令只有一种,及无条件转移(JMP)。
指令格式如下:
表5存储器的访问表
76
54
M
OP-CODE
rd
D
其中OP-CODE为操作码,rd为寄存器。
M为寻址模式,D随M的不同其定义也不同,如下表所示:
表6操作码表
00
01
10
指令说明
写存储器
读存储器
转移指令
表7寻址模式表
寻址模式M
有效地址E
D定义
说明
E=(PC)+1
立即数
立即寻址
E=D
直接地址
直接寻址
11
E=100H+D
扩展直接寻址
(3)I/O指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
表8I/O操作码表
addr
其中,当OP-CODE=0100且addr=10时,从“数据输入电路”中的开关组输入数据;
当OP-CODE=0100且addr=01时,将数据输入到“输出显示电路”中的数码管显示。
2.2.3指令系统
本实验共有十四条基本指令,其中算术逻辑指令8条,访问内存指令和程序控制指令4条,输入输出指令2条。
下表列出了各条指令的格式,汇编符号和指令功能。
表9指令格式表
汇编符号
指令的格式
功能
MOVrd,rs
ADDrd,rs
SUBrd,rs
INCrd
ANDrd,rs
NOTrd
RORrd
ROLrd
rs→rd
rs+rd→rd
rd-rs→rd
rd+1→rd
rs∧rd→rd
对rd求反
rd循环右移
rd循环左移
MOV[D],rd
MOVrd,[D]
rd→[D]
[D]→rd
MOVrd,D
JMPD
D→rd
D→PC
INrd,KIN
OUTDISP,rd
KIN→rd
rd→DISP
2.2.4设计微代码
设计三个控制操作微程序:
存储器读操作(MRD):
拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“00”时,按“单步”键,可对RAM连续读操作。
存储器写操作(MWE):
拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“10”时,按“单步”键,可对RAM连续写操作。
启动程序(RUN):
拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“11”时,按“单步”键,即可转入到第01号“取指”微指令,启动程序运行。
本系统设计的微程序字长共24位,其控制位顺序如下:
表1024位微代码表
24
23
22
21
20
19
18
17
16
151413
121110
987
6
5
4
3
2
1
S3
S2
S1
S0
M
Cn
WE
1A
1B
F1
F2
F3
uA5
uA4
uA3
uA2
uA1
uA0
F1、F2、F3三个字段的编码方案如下表:
表11编码方案表
F1字段
F2字段
F3字段
151413
选择
121110
987
000
LDRi
RAG
P1
001
LOAD
ALU-G
AR
010
LDR2
RCG
P3
011
自定义
100
LDR1
RBG
P2
101
LAR
PC-G
LPC
110
LDIR
299-G
P4
111
无操作
微程序流程图如图2所示。
表12即为将图2的微程序流程图按微程序格式转化而成的二进制微代码表
2.2.5实验微代码
实验微代码如表12所示。
表12使用微代码表
微地址(8进制)
微地址(2进制)
微代码(16进制)
000000
007F88
000001
005B42
02
000010
016FFD
06
000110
015FE5
07
000111
001000
005B4A
001001
005B4C
12
001010
014FFB
13
001011
007FC1
14
001100
01CFFC
010000
005B65
010010
005B47
010011
005B46
010100
007F15
25
010101
02F5C1
27
010111
018FC1
30
011000
0001C1
31
011001
0041EA
32
011010
0041EC
33
011011
0041F2
34
011100
0041F3
35
011101
0041F6
36
011110
3071F7
37
011111
3001F9
40
100000
0379C1
41
100001
010FC1
42
100010
011FC4
45
100101
007F20
52
101010
0029EB
53
101011
9403C1
54
101100
0029ED
55
101101
6003C1
62
110010
0003C1
63
110011
0025F5
65
110101
B803C1
66
110110
0C03C1
67
110111
207DF8
70
111000
000DC1
71
111001
107DFA
72
111010
73
111011
06F3C8
74
111100
FF73C9
75
111101
016E10
2.3程序代码
本实验的机器指令程序代码如下:
表13指令输入表
地址(十六进制)
机器指令(十六进制)
00H
01H
02H
03H
04H
05H
06H
07H
08H
09H
0AH
0BH
0048H
00F0H
0005H
0002H
0094H
00F0H
00E0H
0082H
0046H
0008H
0000H
2.4实验内容介绍
本实验完成的是计算及验证实验结果,即输入开始数据,做完运算后计算结果是否正确。
计算公式:
Cx=[(X*2+2)*4]/2,观察估计结果值与实验输出结果值是否相等。
2.5系统实现步骤
本系统在联机方式下进行。
步骤如下:
1.连接硬件系统,电路图如“图7”所示。
2.启动实验联机软件,打开实验课题菜单,选中实验课题,打开实验课题参数对话窗口。
微指令操作:
写:
在编辑框中输入微指令程序(格式:
两位八进制微地址+空格+六位十六进制微代码),按“保存”按钮,将微程序代码保存在一给定文件(*.MSM)中;
按“打开”按钮,打开已有的微程序文件,并显示在编辑框中;
将实验箱上的K4K3K2K1拨到写状态即K1off、K2on、K3off、K4off,其中K1、K2、K3在微程序控制电路,K4在24位微代码输入及显示电路上,然后按"
写入"
按钮,微程序写入控制存储器电路。
读:
将实验箱上的K4K3K2K1拨到写状态即K1off、K2on、K3off、K4off,在“读出微地址”栏中填入两位八进制地址,按“读出”按钮,则相应的微代码显示在“读出微代码”栏中。
微指令操作界面如图3所示:
图3微指令操作
打开实验课题参数对话窗口:
机器指令操作。
在编辑框中输入实验用的机器指令程序(格式:
两位十六进制地址+空格+2位或4位十六进制代码),按“保存”按钮,将机器指令程序代码保存在一给定文件(*.ASM)中;
按“打开”按钮,打开已有的机器指令程序文件,并显示在编辑框中;
将实验箱上的K4K3K2K1拨到运行状态即K1on、K2off、K3on、K4off,拨动“CLR”开关对地址和微地址清零,将表13中的数据以图4形式写入,然后按“写入”按钮,机器指令写入存储器电路。
读:
将实验箱上的K4K3K2K1拨到运行状态即K1on、K2off、K3on、K4off,在“读出指令地址”栏中填入两位十六进制地址,拨动“CLR”开关对地址和微地址清零,然后按“读出”按钮,则相应的指令代码显示在“读出指令代码”栏中。
3.运行程序
单步:
在运行状态前提下,选择操作-单步,点击弹出窗口如图5,然后拨动“CLR”开关对地址和微地址清零,然后每按一次"
单步"
按钮,执行一条微指令。
可从实验箱的指示灯和显示LED观察单步运行的结果。
连续:
在运行状态前提下,选择操作-连续,点击弹出窗口如图5,,先拨动“CLR”开关对地址和微地址清零,然后按"
连续"
按钮,可连续执行程序。
可从实验箱的指示灯和显示LED观察连续运行的结果。
停止:
在连续运行程序过程中,可按"
停止”按钮暂停程序的执行。
此时地址和微地址并不复位,仍可以从暂停处单步或连续执行。
机器指令操作界面如图4所示:
图4机器指令操作
程序运行过程中,遇到输入语句时,会出现如图6所示对话框,要求输入数据:
图5弹出窗口提示操作
图6输入数据
2.6测试用例
实验数据
结果
0008
2.7硬件连线图
由图1设计出的硬件连线图
图6硬件连线图
第3章总结
通过这次课程设计,基本上了解和掌握模型机的硬件结构关于微程序的设计。
实验的初期阶段主要是做一些实验指导书上提供的实验,熟悉实验环境和实验设备。
同时在实验中了解到各个器件的功能与作用,微地址的使用与机器指令的设计。
我们组主要设计的是一个具有复杂运算功能的模型机。
由于之前没有学过计算机组成原理这门课程,实验开始时进程比较慢,但通过几次的上机实验逐渐学习了课程的原理和实验设备的掌握.凭着有点汇编语言的基础设计了我们这次的实验督.同时通过杨老师详细的指导,我们明白了实验设计的基本步骤。
按照实验指导书提供的实验步骤,开始设计模型机,按照指导书实验八的实验连接线路。
设计了机器指令,指令中开始具有将数据存入寄存器再取出的功能,实验结果与预期的结果不相符,只好删除一些相关的机器指令。
再次测试,实验数据结果很正确。
实验中完成了加减乘除运算四则运算和逻辑运算,使用了运算器、控制器、存储器、输入输出系统、总线等部件和辅助电路完成实验功能,在此基础上完成一个较完整的模型计算机设计。
在做本次实验的过程遇到了很多的问题,如机器代码的错误输入、实验的错误连线以及输出显示的出错等等。
通过组员内和组与组之间的沟通讨论,以用向杨老师的请教,同时还查阅很多相关资料等,克服了相关问题。
通过这次课程设计我获益匪浅,在以后的学习过程奠定了基础。
参考文献
《计算机组织与系统结构》季福坤主编荆淑霞杨彬副主编中国水利水电出版社
《计算机组织与系统结构实验教程》杨小龙编著西安电子科技大学出版社
评语
课程设计成绩:
指导教师:
日期:
年月日