计算机组成原理课程设计1Word文档格式.docx
- 文档编号:13247195
- 上传时间:2022-10-08
- 格式:DOCX
- 页数:16
- 大小:678.64KB
计算机组成原理课程设计1Word文档格式.docx
《计算机组成原理课程设计1Word文档格式.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计1Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
要求:
(1)分析计算机组成原理并掌握计算机的基本功能及实现方式;
(2)查阅相关资料,特别是主要运算器,微控制器芯片的作用及编程方法;
(3)设计计算机指令系统;
(4)设计并实现计算机基本模拟机。
(5)以学习小组(3至4人左右为一组)为单位,学生之间应相互配合,服从组长的安排,并承担一定的设计任务
3、设计报告的内容和要求
设计报告的内容应包括基于CPTH模型机的指令系统的构成与实现方案,包括硬件实现方案与软件实现方案,给出实验结果。
三、设计所用设备及器材
1、微机
2、DJ-CPTH超强型计算机组成原理与系统结构实验仪。
四、参考资料
1、《DJ-CPTH超强型计算机组成原理与系统结构实验仪实验指导书》
2、《计算机组成原理》白中英编著科学出版社
五、模型机的介绍
模型机总体结构
CPTH模型机包括了一个标准CPU所具备所有部件,这些部件包括:
运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。
其中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。
微程序控制部分也可以用组合逻辑控制来代替。
模型机为8位机,数据总线、地址总线都为8位,但其工作原理与16位机相同。
相比而言8位机实验减少了烦琐的连线,但其原理却更容易被学生理解、吸收。
模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。
指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。
而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。
在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。
模型机有24位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。
24位控制位分别介绍如下:
XRD:
外部设备读信号,当给出个外设的地址后,输出此信号,从指定外设读数据。
EMWR:
程序存储器EM写信号
EMRD:
程序存储器EM读信号
PCOE:
将程序计数器PC的值送到地址总线ABUS上
EMEN:
将程序存储器EM与数据总线DBUS接通,有EMWR和EMRD决定是将DBUS数据写入EM中,还是从EM读出数据到DBUS
IREN:
将程序存储器EM独处的数据打入指令寄存器IR和微指令计数器uPC
EINT:
中断返回时清除中断响应和中断请求标志,便于下次中断。
ELP:
PC打入允许,与指令寄存器的IR2.,IR3位结合,控制程序跳转。
MAREN:
将数据总线DBUS上数据打入地址寄存器MAR
MAROE:
将地址寄存器MAR的值送到地址总线ABUS上
OUTEN:
将数据总线DBUS上数据送到输出端口寄存器OUT里
STEN:
将数据总线DBUS上数据存到堆栈寄存器里
RRD:
读寄存器组R0-R3,寄存器R?
的选择由指令的最低两位决定
RWR:
写寄存器组R0-R3,寄存器R?
CN:
决定运算器是否带进位移位,CN=1带进位,CN=0不带进位
FEN:
将标志位存入ALU内部的标志寄存器
X2,X1,X0三位组合来译码选择将数据送到DBUS上的哪个寄存器,见表1
WEN:
将数据总线DBUS的值打入工作寄存器W中
AEN:
将数据总线DBUS的值打入累加器A中
S2,S1,S0三位组合决定ALU做何种运算,见表2
表1寄存器选择控制表
X2X1X0
输出寄存器
000
IN_OE外部输入门
001
IA_OE中断向量
010
ST_OE堆栈寄存器
011
PC_OEPC寄存器
100
D_OE直通门
101
R_OE右移门
110
L_OE左移门
111
没有输出
表2运算器功能控制
S2S1S0
功能
A+W加
A-W减
A|W或
A&
W与
A+W+C带进位加
A-W-C带进位减
~AA取反
A输出A
模型机寻址方式
模型机的寻址方式分五种:
累加器寻址:
操作数为累加器A,例如“CPLA”是将累加器A值取反,还有些指令是隐含寻址累加器A,例如“OUT”是将累加器A的值输出到输出端口寄存器OUT。
寄存器寻址:
参与运算的数据在R0-R3的寄存器中,例如“ADDA,R0”指令是将寄存器R0的值加上累加器A的值,再存入累加器A中。
寄存器间接寻址:
参与运算的数据在存储器EM中,数据的地址在寄存器R0-R3中,如“MOVA,@R1”指令是将寄存器R1的值做为地址,把存储器EM中该地址的内容送入累加器A中。
存储器直接寻址:
参与运算的数据在存储器EM中,数据的地址为指令的操作数。
例如“ANDA,40H”指令是将存储器EM中40H单元的数据与累加器A的值做逻辑与运算,结果存入累加器A。
立即数寻址:
参与运算的数据为指令的操作数。
例如“SUBA,#10H”是从累加器A中减去立即数10H,结果存入累加器A。
模型机指令集
模型机的缺省的指令集分几大类:
算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入/输出指令。
设计目标
本课程设计要求实现机器指令:
SED(传送),IPT(输入),AND(逻辑与),OR(逻辑或),OPT(输出),PLU(不带进位算术加),MIN(不带进位算术减),PLUC(带进位算术加),MINC(带进位算术减)和JZ,JC,JMP(转移指令)。
并且要包括直接寻址,立即数寻址,寄存器寻址,间接寻址四种寻址方式。
设计内容
模型机的指令系统设计
根据设计要求,设计出的指令要包括传送,逻辑与,逻辑或,算术加,减运算,输入,输出,转移这八种指令,且要运用直接寻址,立即数寻址,寄存器寻址,间接寻址四种寻址方式。
由此设计出如下表3:
表3指令表
指令类型
助记符
机器码
取指
_FETCH_
000000xx
IR→PC
算术加(不带进位)
ADDA,#*
000100xx#*
*+A→A
ADDA,R?
000101xx
R?
+A→A
ADDA,*
000011xx*
(*)+A→A
ADDA,@R?
000010xx
@R?
算术加(带进位)
ADDCA,R?
ADDCA,@R?
000110xx
ADDCA,*
000111xx*
ADDCA,#*
算术减(不带进位)
SUBA,R?
001001xx
-A→A
SUBA,@R?
001010xx
SUBA,*
001011xx*
A-(*)→A
SUBA,#*
001100xx#*
A-*→A
算术减(带进位)
SUBCA,R?
001101xx
SUBCA,@R?
001110xx
SUBCA,*
001111xx*
SUBCA,#*
010000xx#*
输入
IN
010001xx
K23…K16→A
输出
OUT
010010xx
A→OUT寄存器
传送
MOVR?
A
100000xx
A→R?
MOV*,A
100010xx*
A→(*)
#*
100011xx#*
*→R?
MOVA,R?
011100xx
→A
MOVA,#*
011111xx#*
*→A
MOV@R?
100001xx
A→@R?
MOVA,@R?
011101xx
MOVA,*
011110xx
(*)→A
逻辑与
ANDA,#*
010110xx#*
*&
&
A→A
ANDA,R?
010011xx
ANDA,*
010101xx*
(*)&
ANDA,@R?
010100xx
逻辑或
ORA,#*
011010xx#*
*||A→A
ORA,R?
010111xx
||A→A
ORA,*
011001xx*
(*)||A→A
ORA,@R?
011000xx
逻辑非
NOTA
011011xx
A取反
转移
JMP*
100111xx*
*→PC
JZ*
100101xx*
ZF=1则*→PC
JC*
100100xx*
CF=1则*→PC
模型机的微指令设计
(1)微指令的24位控制位:
XRDEMWREMRDPCOEEMENIRENEINTELPMARENMARDEOUTENSTENRRDRWRCNFENX2X1X0WENAENS2S1S0
(2)设计出的微指令集如下表4:
表4微指令集
T1
PCOE
EMEN
EMRD
AEN
T0
IREN
RRD
T2
WEN
X=100
S=000
FEN
S=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课程设计