组成原理课设报告李东阳.docx
- 文档编号:30656530
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:25
- 大小:316.88KB
组成原理课设报告李东阳.docx
《组成原理课设报告李东阳.docx》由会员分享,可在线阅读,更多相关《组成原理课设报告李东阳.docx(25页珍藏版)》请在冰豆网上搜索。
组成原理课设报告李东阳
课程设计
课程名称计算机组成原理
题目复杂模型机设计与实现
专业计算机科学与技术(交通信息工程)
班级24021003
姓名李东阳
同组人员张英楠、项召辉
杨晓光
指导教师兰勇
2012年12月18日
目录
一、课程设计题目3
二、课程设计目的和任务3
2.1设计目的3
2.2设计任务3
三、硬件设计实现3
四、模型机的设计与实现内容3
4.1数据格式3
4.2指令格式3
4.3指令系统4
4.3.1复杂模型机指令系统4
五、总体设计7
5.1设计复杂模型机的监控软件7
5.2设计数据通路图8
5.3设计微程序流程8
5.4转换格式10
5.5设计指令执行流程11
5.6微指令代码化12
5.7接线13
六、组装与调试14
6.1写微程序和程序14
6.2调试运行程序14
七、系统测试15
八、收获与体会15
附录16
参考文献16
一、课程设计题目
模型机设计与实现。
二、课程设计目的和任务
2.1设计目的
(1)巩固和加深课堂所学的计算机硬件系统知识;
(2)学习和掌握一般的硬件系统的设计方法;
(3)掌握计算机各模块的原理和相互关系,建立计算机整机概念
(4)利用基本模型机的构建与调试实验,完整地建立计算机硬件的整机模型,
掌握CPU的基本结构和控制流程,掌握指令执行的基本过程。
2.2设计任务
首先设计的规定项目采用五条机器指令:
IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移)。
作为一台简单模型机,利用设计的模型机设计一个进行两个数求和运算的测试验证程序,验证模型机的功能。
然后设计一台复杂模型机的指令系统,将以R0内容K为地址的内存单元内容X与指令中所带数据Y,执行(X+2)⊕
结果存入以N为间接地址的内存单元。
所需数据共有3个,分别是X、2、Y,数据X的寻址方式为寄存器间接寻址,数据2为立即寻址,数据Y也为立即寻址。
三、硬件设计实现
TDN—CM++计算机组成原理教学实验系统一台,微机,虚拟软件,排线若干。
四、模型机的设计与实现内容
4.1数据格式
模型机采用定点补码表示法表示数据,且字长为八位,其格式如下:
7
654321
符号
尾数
4.2指令格式
包括算术逻辑指令、I/O指令、访问存储器及转移指令和停机指令。
(A)算术逻辑指令格式
D7D6D5D4
D3D2
D1D0
OP—CODE
Rs
Rd
其中,OP—CODE位操作码,Rs为源寄存器,Rd为目的寄存器,且
选中的寄存器(Rs或Rd)
R0
R1
R2
寄存器的编码
00
01
10
(B)访问存储器及转移指令
D7D6
D5D4
D3D2
D1D0
D7……D0
OP—CODE
M
OP—CODE
Rd
D
其中,OP—CODE为操作码,Rd为目的寄存器,D为位移量(正负均可),M为寻址方式,其定义如下:
寻址方式
有效地址
说明
00
E=D
直接寻址
01
E=(D)
间接寻址
10
E=(RI)+D
RI变址寻址
11
E=(PC)+D
相对寻址
本模型机规定变址寄存器RI指定为寄存器R2。
(C)I/O指令
输入和输出指令采用单字节指令,其格式如下:
D7D6D5D4
D3D2
D1D0
OP—CODE
ADDR
RD
(D)停机指令
这类指令只有一条,用于实现停机操作:
D7D6D5D4
D3D2
D1D0
0110
00
00
4.3指令系统
4.3.1简单模型机指令系统
助记符
操作码
地址码
功能说明
IN
00000000
无
数据开关→R0
ADDA
00010000
xxxxxxxx
R0+(A)→R0
STAA
00100000
xxxxxxxx
R0→(A)
OUTA
00110000
xxxxxxxx
(A)→LED
JMPA
01000000
xxxxxxxx
A→PC
1)设计五条机器指令:
IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),指令格式如下表:
`
IN为单字长指令(本实验中一个字长为8位),含义为将数据开关的8位数据放入R0寄存器。
其它四条指令都为双字长指令,第一个字节为操作码,第二个字节为操作数地址,寻址方式为直接寻址。
ADD指令的含义是将R0寄存器的内容与内存地址为A的数据相加,结果放入R0寄存器。
STA指令的含义是将R0寄存器的内容存储到以A为地址的内存单元中。
OUT指令的含义是将内存地址为A的数据读出并显示在数码管上。
JMP指令的含义是使程序无条件转移到A所指定的地址继续执行。
2)设计微指令格式
24—21
20
19
18
1716
15—13
12—10
9—7
654321
S3S2S1S0
M
Cn
WE
A9A8
A
B
C
μA5——μA0
A9A8字段定义如表3:
A9
A8
含义
0
0
SW-B
0
1
CE
1
0
LED-B
1
1
无效
A字段定义如下表:
15
14
13
含义
0
0
0
无效
0
0
1
LDRi
0
1
0
LDDR1
0
1
1
LDDR2
1
0
0
LDIR
1
0
1
LOAD
1
1
0
LDAR
LDRi:
寄存器输入选中,具体选择同指令寄存器(IR)的最低2位(I1,I0)配合,当I1,I0=00时为输入到R0寄存器;I1,I0=01时为R1;I1,I0=10时为R2。
LDDR1:
暂存器DR1选中。
LDDR2:
暂存器DR2选中。
LDIR:
指令寄存器IR选中。
LOAD:
总线数据直接装载到PC计数器。
LDAR:
地址寄存器AR选。
B字段定义如下表:
12
11
10
含义
0
0
0
无效
0
0
1
RS-B
0
1
0
无效
0
1
1
无效
1
0
0
无效
1
0
1
ALU-B
1
1
0
PC-B
1
1
1
无效
RS-B:
为源寄存器输出选中。
具体选择同指令寄存器(IR)的3,4位(I3,I2)配合,当I3,I2=00时为输入到R0寄存器;I3,I2=01时为R1;I3,I2=10时为R2。
RD-B:
为目的寄存器输出选中。
具体选择同指令寄存器(IR)的最低2位(I1,I0)配合,当I1,I0=00时为输入到R0寄存器;I1,I0=01时为R1;I1,I0=10时为R2。
RI-B:
为变址寄存器选中。
本机定固定为R2。
299-B:
移位寄存器输出选中。
ALU-B:
逻辑运算单元结果输出。
PC-B:
PC计数器输出。
C字段定义如下表:
9
8
7
含义
0
0
0
无效
0
0
1
P
(1)
0
1
0
无效
0
1
1
无效
1
0
0
P(4)
1
0
1
无效
1
1
0
LDPC
P
(1):
分支判断1,和指令寄存器(IR)的高四位(IR7-IR4)作为测试条件。
可分16个分支。
P
(2):
分支判断2,和指令寄存器(IR)的三四位(IR3,IR2)作为测试条件,有4个分支。
P(3):
分支判断3,和CY或ZI作为测试条件,有两个分支。
P(4):
分支判断4,和开关SWB,SBA作为测试条件,有4个分支。
用于控制台控制区(读程序,写程序,和运行程序)。
AR:
进行算术运算时是否影响进位和判零标志的控制位。
选中时进行带进位运算。
LDPC:
为PC计数信号选中。
UA5……UA0:
为下一步微地址。
运算器的物理结构:
运算器模块主要由两片74LS181、暂存器两片74LS273等构成。
其中74LS181可通过控制器相应的控制指令来进行某种运算,具体由S0、S1、S2、S3、S4、M来决定。
T4是它的工作脉冲,正跳变有效。
寄存器堆模块为实验计算机提供了2个8位通用寄存器。
它们用来保存操作数及其中间运算结果,它对运算器的运算速度、指令系统的设计等都有密切的关系。
M:
算术/逻辑运算选择输入
M=0算术运算M=1逻辑运算
Cn:
带或不带进位运算选择输入
Cn=0带进位Cn=1不带进位
S3~S0:
函数选择输入,A3~A0:
4位输入数据,B3~B0:
4位输入数据
F3~F0:
4位表示运算结果的输出,Cn+4:
进位输出
下面是芯片74LS181的控制逻辑引脚的功能表以及逻辑引脚图如表3-1所示:
表3-1:
74LS181的控制逻辑引脚的功能表
4.3.2复杂模型机指令系统
1)本模型机共有13条基本指令,其中算术指令7条,访存指令和程序控制指令4条,输入输出指令2条。
表3-6列出了各条指令的格式,汇编符合,指令功能。
汇编符号
指令格式
功能
CLRRD
MOVRSRD
ADDRSRD
SUBRSRD
011100RD
0110RSRD
1000RSRD
1001RSRD
0→RD
RS→RD
RS+RD→RD
RD-RS→RD
XORRSRD
ANDRSRD
ORRSRD
1010RSRD
1011RDRD
1100RSRD
RS异或RD→RD
RS∧RD→RD
RS∨RD→RD
LDAMDRD
STAMDRD
HLTMD
HLTMD
00M00RD
00M01RD
00M10RD
00M11RD
(E)→RD
RD→(E)
E→PC
当CY=1时E→PC
INADDRRD
OUTADDRRD
010001RD
010110RD
ADDR→RD
RD→ADDR
2)设计微指令指令格式:
微指令长共24位,其控制位顺序如下表所示:
微程序
24
23
22
21
20
19
18
17
16
15
14
13
控制信号
S3
S2
S1
S0
M
CN
WE
A9
A8
A
微程序
12
11
10
9
8
7
6
5
4
3
2
1
控制信号
B
C
uA5
uA4
uA3
uA2
uA1
uA0
A字段B字段C字段
其中uA5~uA0为6位的后续微地址,A、B、P为三个译码字段,分别由三个控制位
译码出多位。
P字段中的P1~P4是四个测试字位,其功能是根据机器指令及相应微代码
进行译码,使微程序转入相应的为地址入口,从而实现微程序的顺序、分支、循环运行。
具体来说,P1测试用于“取指令”微指令,它用下址低四位(uA3~uA0)与指令寄存器
高四位(IR7~IR4)相或得到各路分支;P2测试用下址低2位(uA1~uA0)与指令寄存
器的IR3IR2相或得到各路分支;P3测试用于条件转移,它用下址的uA4与(ZI+CY)相
或得到各路分支;P4测试用于控制台操作,它用下址低2位(uA1~uA0)与SWB、SWA
相或得到各路分支。
在上述各测试下址中未用到的位均直接保留。
AR为算术运算是否影响进位及判零
标志控制位,其为零有效。
B字段中的RS_G、RD_G、RI_G分别为源寄存器选通信号,
目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄
存器R0、R1及R2的选通译码。
三字段中的其他位类似与此,均是某芯片的选通信号。
五、总体设计
5.1设计复杂模型机的监控软件
$P0000MOVR0,idata
$P0113
$P0210LDAR0,[R0]
$P0313
$P0420ADDR0,idata
$p0502
$P0630STAR0,[ADDR]
$P0714
$p0800MOVR0,idata
$p0955
$P0A40NOTR0
$P0B50XORR0,[ADDR]
$P0C14
$P0D30STAR0,[ADDR]
$P0E14
$P0F60OUT[ADDR]
$P1014
$P1170HLT
$p1325
$P1415
5.2设计数据通路图
5.3设计微程序流程
简单模型机:
复杂模型机:
5.4转换格式
程序:
$P0000$P0113$P0210$P0313$P0420
$p0502$P0630$P0714$p0800$p0955
$P0A40$P0B50$P0C14$P0D30$P0E14
$P0F60$P1014$P1170$p1325$P1415
微程序:
$M00018110$M0101ED82$M0200C060
$M1001ED92$M1101ED94$M1200A017
$M13018001$M14002018$M17070A10
$M18068A11$M2001EDA8$M2101EDA9
$M2201A22B$M2301EDAF$M2401A232
$M2501A233$M2601EDB8$M27018027
$M28009001$M2900E02A$M2A009001
$M2B01EDAD$M2D00B02E$M2EED9A01
$M2F00E030$M3000E031$M31028201
$M320D9A01$M3301EDB4$M3400E035
$M3500E036$M3600B037$M376D9A01
$M3800E039$M3900E03A$M3A00A03B
$M3B070A01
5.5设计指令执行流程
简单模型机:
地址(二进制)内容(二进制)助记符注释
0000000000000000INR0“INPUTDEVICE”->R0
0000000100010000ADD[0AH],R0R0+[0AH]->R0
0000001000001010
0000001100100000STAR0,[0BH]R0->[0BH]
0000010000001011
0000010100110000OUT[0BH][0BH]->LED
0000011000001011
0000011101000000JMP00H00H->PC
0000100000000000
00001001
0000101000000001自定义数据
00001011求和结果
复杂模型机:
机器指令跟汇编指令如下:
地址(二进制)内容(二进制)助记符注释
0000000000000000MOVR0,00010011K->R0
0000000100010011
0000001000010000LADR0,[R0]X->R0
0000001100010011
0000010000100000ORR0,2X+2->R0
0000010100000010
0000011000110000STAR0,[[00010100]]R0->RAM
0000011100010100
0000100000000000MOVR0,01010101Y->R0
0000100101010101
0000101001000000NOTR0Y->R0
0000101101010000XORR0,[[00010100]](X+2)⊕Y->R0
0000110000010100
0000110100110000STAR0,[[00010100]]R0->RAM
0000111000010100
0000111101100000OUT[[00010100]]RAM->LED
0001000000010100
0001000101110000HLTSTOP
00010010以下是数据
0001001100100101X
0001010000010101N
00010101存放结果
5.6微指令代码化
二进制代码如下表所示:
微地址(八进制)
S3S2S1S0MCnWEA9A8
A
B
C
μA5—μA0
00
000000011
000
000
100
010000
01
000000011
110
110
110
000010
02
000000001
100
000
001
100000
20
000000011
110
110
110
010010
21
000000011
110
110
110
010100
22
000000001
010
000
000
010111
23
000000011
000
000
000
000001
24
000000000
010
000
000
011000
27
000001110
000
101
000
010000
30
000001101
000
101
000
010001
40
000000011
110
110
110
101000
41
000000011
110
110
110
101001
42
000000011
010
001
000
101011
43
000000011
110
110
110
101111
44
000000011
010
001
000
110010
45
000000011
010
001
000
110011
46
000000011
110
110
110
111000
47
000000011
000
000
000
100111
50
000000001
001
000
000
000001
51
000000001
110
000
000
101010
52
000000001
001
000
000
000001
53
000000011
110
110
110
101101
55
000000001
011
000
000
101110
56
111011011
001
101
000
000001
57
000000001
110
000
000
110000
60
000000001
110
000
000
110001
61
000000101
000
001
000
000001
62
000011011
001
101
000
000001
63
000000011
110
110
110
110100
64
000000001
110
000
000
110101
65
000000001
110
000
000
110110
66
000000001
011
000
000
110111
67
011011011
001
101
000
000001
70
000000001
110
000
000
111001
71
000000001
110
000
000
111010
72
000000001
010
000
000
111011
73
000001110
000
101
000
000001
5.7接线
设计连线图如下:
六、组装与调试
6.1写微程序和程序
本设计采用的方法是联机读/写程序。
按照规定格式,将机器指令及微指令二进制表编辑成十六进制格式文件。
打开电源,运行联机软件的CMP.EXE,根据所使用的PC微机串口选择键入1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 组成 原理 报告 东阳