计算机组成原理复杂模型机设计38.docx
- 文档编号:5411220
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:14
- 大小:214.08KB
计算机组成原理复杂模型机设计38.docx
《计算机组成原理复杂模型机设计38.docx》由会员分享,可在线阅读,更多相关《计算机组成原理复杂模型机设计38.docx(14页珍藏版)》请在冰豆网上搜索。
计算机组成原理复杂模型机设计38
.学号:
_08034050120_ 成绩:
________
计算机组成原理
课程设计报告
院 系计算机与电子信息学院
专 业 计算机科学与技术
班 级 计算机08-1
设计题目 复杂模型机设计实验
姓 名 李盛展
指导教师 刘晶
2010年12月16日
复杂模型机设计
一、概述:
本课程的目的是通过课程设计,使学生对所学习过的计算机组成原理课程内容加以理解和巩固。
通过实验使学生掌握计算机由哪些部件所组成,各部件间又是如何进行协调工作的。
本次设计要求利用实验室的TDN-CM++教学实验箱,组建一较为复杂的模型计算机。
并验证其能够正常运行。
参考实验指导书上复杂模型机设计的过程,运用其微指令格式,独立设计指令系统。
并用该指令系统中的指令编一完成简单运算的程序(有数据输入和输出的)。
并进行调试运行。
二、基本概念和原理
1、数据格式
微型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:
7
6543210
符号
尾数
其中第七位为符号位,数值范围是:
—2
X
2
—1
2、指令格式
模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。
(1)算术逻辑指令
设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
7654
32
10
OP-CODE
rs
rd
其中,OP-CODE为操作码,rs为寄存器,rd为目的寄存器,并规定:
Rs或rd
选定的寄存器
00
R0
01
R1
10
R2
9条算术逻辑指令的名称、功能和具体格式如下表:
(2)访问指令及转移指令
模型机设计2条访内指令,即存数(STA)、取数(LDA),2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为:
76
54
32
10
00
M
OP-CODE
Rd
D
其中,OP-CODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。
D为位移量(正负均可),M为寻址模式,其定义如下:
寻址模式
有效地址E
说明
00
E=D
直接寻址
01
E=(D)
间接寻址
10
E=(R1)+D
R1变址寻址
11
E=(PC)+D
相对寻址
本机模型机规定变址寄存器R1指定为寄存器R2。
(2)I/O指令
输入(IN)指令和输出(OUT)指令采用单字节指令,其格式如下:
7654
32
10
OP-CODE
addr
Rd
其中,addr=01时,选中“INPUTDECICE”中的开关组作为输入设备,addr=10时,选中“OUTDEVICE”中的数码块作为输出设备。
(3)停机指令
指令格式如下:
7654
32
10
OP-CODE
OO
OO
HALT指令,用于实现停机操作。
1、指令系统
本模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。
1、数据格式
微型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:
7
6543210
符号
尾数
其中第七位为符号位,数值范围是:
—2
X
2
—1
2、指令格式
模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。
(4)算术逻辑指令
设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
7654
32
10
OP-CODE
rs
rd
其中,OP-CODE为操作码,rs为寄存器,rd为目的寄存器,并规定:
Rs或rd
选定的寄存器
00
R0
01
R1
10
R2
(5)访问指令及转移指令
模型机设计2条访内指令,即存数(STA)、取数(LDA),2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为:
76
54
32
10
00
M
OP-CODE
Rd
D
其中,OP-CODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。
D为位移量(正负均可),M为寻址模式,其定义如下:
寻址模式
有效地址E
说明
00
E=D
直接寻址
01
E=(D)
间接寻址
10
E=(R1)+D
R1变址寻址
11
E=(PC)+D
相对寻址
本机模型机规定变址寄存器R1指定为寄存器R2。
(6)I/O指令
输入(IN)指令和输出(OUT)指令采用单字节指令,其格式如下:
7654
32
10
OP-CODE
addr
Rd
其中,addr=01时,选中“INPUTDECICE”中的开关组作为输入设备,addr=10时,选中“OUTDEVICE”中的数码块作为输出设备。
(7)停机指令
指令格式如下:
7654
32
10
OP-CODE
OO
OO
HALT指令,用于实现停机操作。
2、指令系统
本模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。
三、总体设计:
复杂模型机的数据通路
本模型机的数据通路图如上图所示。
根据机器指令系统要求,设计微程序流程图及确定微地址。
按照系统建议的微指令格式,参照微指令流程图,讲每条指令代码化,译成二进制代码表,并将二进制代码表转换为操作时的十六进制格式文件,见下表。
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
S3
S2
S1
S0
M
Cn
WE
A9
A8
A
B
C
uA5
uA4
uA3
uA2
uA1
uA0
A字段B字段C字段
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
12
11
10
选择
0
0
0
0
0
1
RS-B
0
1
0
RD-B
0
1
1
R1-B
1
0
0
299-B
1
0
1
ALU-B
1
1
0
PC-B
9
8
7
选择
0
0
0
0
0
1
P
(1)
0
1
0
P
(2)
0
1
1
P(3)
1
0
0
P(4)
1
0
1
AR
1
1
0
LDPC
四、详细设计:
$P0044
$P0146
$P0298
$P03A1
$P04E5
$P050C
$P0600
$M00018108
$M0101ED82
$M0200C050
$M0300A004
$M0400E0A0
$M0500E006
$M0600A007
$M0700E0A0
$M0801ED8A
$M0901ED8C
$M0A00A03B
$M0B018001
$M0C00203C
$M0D00A00E
$M0E01B60F
$M0F95EA25
$M1001ED83
$M1101ED85
$M1201ED8D
$M1301EDA6
$M14001001
$M15030401
$M16018016
$M173D9A01
$M18019201
$M1901A22A
$M1A01B22C
$M1B01A232
$M1C01A233
$M1D01A236
$M1E318237
$M1F318239
$M20009001
$M21028401
$M2205DB81
$M230180E4
$M24018001
$M2595AAA0
$M2600A027
$M2701BC28
$M2895EA29
$M2995AAA0
$M2A01B42B
$M2B959B41
$M2C01A42D
$M2D65AB6E
$M2E0D9A01
$M2F01AA30
$M300D8171
$M31959B41
$M32019A01
$M3301B435
$M3405DB81
$M35B99B41
$M360D9A01
$M37298838
$M38019801
$M3919883A
$M3A019801
$M3B070A08
$M3C068A09
实验所用微程序
五、实验测试步骤方法:
1、按接线图连接实验线路,仔细查线无误后,接通电源。
2、写微程序
与PC联机,将实验微程序装入实验装置中或脱机时手动将实验微程序写入实验装置中,手动写入的具体方法如下:
(1)编程
A.将编程开关设置为PROM(编程)状态。
B.将实验板上“STATEUNIT”中的“STEP”置为STEP,“STOP”置为RUN状态。
C.用二进制模拟开关设置微地址MA5~MA0。
D.在MK24~MK1开关上设置微代码,24位开关对应24位显示灯,开关量为0时灯亮,开关量为1时灯灭。
E.按动START键,启动时序电路,即将微代码写入到EEPROM2816的相应地址单元中。
F.重复C~E步骤,将本实验的十六进制格式文件转换的二进制代码写入28C16中。
(3)校验
A.将编程开关设置为READ(校验)状态。
B.将实验板的“STEP”开关置为STEP状态,“STOP”开关置为RUN状态。
C.用二进制开关置好微地址MA5~MA0。
D.按动START键,启动时序电路,读出微代码.观察显示灯MD24~MD1的状态(灯亮为“0”,灭为“1”),检查读出的微代码是否与写入的相同。
如果不同,则将开关置于PROM编程状态,重新执行
(1)即可
(4)写程序/运行程序
A.将编程开关置为RUN状态,STEP置为“STEP”状态,,STOP置为RUN状态。
B.拨动开关单元的总清开关CLR(1→0→1),微地址寄存器清0,程序计数器清0。
然后使开关单元的SWB、SWA开关设置为“01”,按动一次启动开关START,微地址显示灯显示“001001”,再按动一次START,微地址灯显示“001100”,此时数据开关的内容置为要写入的机器指令,按动两次START键后,即完成该条指令的写入。
若仔细阅读KWE的流程,就不难发现,机器指令的首地址总清后为00H,以后每个循环PC自动加1,所以,每次按动START,只有在微地址灯显示“001100”时,才设置内容,直到所有机器指令写完。
C.写完程序后须进行校验。
拨动总清开关CLR(1→0→1)后,微地址清零。
PC程序计数器清零,然后使控制台开关SWB,SWA为“00”,按动启动START,微地址灯将显示“001000”;再按START,微地址灯显示为“001010”;第3次按START,微地址灯显示为“111011”;再按START后,此时输出单元的数码管显示为该首地址中的内容。
不断按动START,以后每个循环PC会自动加1,可检查后续单元内容。
每次在微地址灯显示为“001000”时,是将当前地址中的机器指令写入到输出设备中显示。
(4)运行程序。
(A)单步运行程序
①使编程开关处于RUN状态,SPEP为STEP状态,STOP为RUN状态.,开关单元的SWB,SWA为“11”。
②拨动总清开关CLR(1→0→1),微地址清零,程序计数器清零,程序首址为00H。
③单步运行一条微指令,每按动一次START键,即单步运行一条微指令。
对照微程序流程图,观察微地址显示灯是否和流程一致。
④当运行结束后,可检查运行结果是否和理论值一致。
(B)连续运行程序
①使“STATEUNIT”中的STEP开关处于“EXCX”状态,STOP开关为“RUN”状态,开关单元的SWB,SWA为“11”。
②拨动CLR开关,清微地址及程序计数器,然后按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。
③停机后,可检查运行结果是否和理论值一致。
方法二:
联机运行
联机运行程序时,进入软件界面,装载及其指令及微指令后,选择“运行”—“通路图”—“复杂模型机”功能菜单打开相应的动态数据通路图,按相应功能即可联机运行、监控、调试程序。
六、总结:
周一、周二一直在为这次设计做准备工作,预习相关内容、查找相关资料、想法弄懂本次设计的原理等工作,周三上午到实验室机房根据接线图来进行第一次接线。
由于线路复杂,接线点众多,我们小组两人密切配合,终于在四十分钟之后将接线的问题搞定。
然后测试线路,但是一直在PC单元出现错误。
检查了再检查,也参考了其他同学的线路连接,可还是报错。
最终,决定更换实验箱试试。
换过实验箱并重新连接线路后,测试就马上通过了。
强烈建议学校换好点的实验设备。
第二天下午继续到实验室,重新测试并顺利通过。
于是,先把实验给的微程序导入,以软件模拟的方式弄清楚实验原理。
很快便搞懂了大概的工作原理。
紧接着将其中两条机器指令更换成其他指令。
之后重新装载机器指令并运行,模拟电路中总线的传输过程跟设想的符合,到此便完成此次实验的任务。
不过这次设计的线路由于复杂度高,接线到是造成了最大的问题了,稍微不小心把一条线路搞错就全错了,真的感觉细心和仔细在做实验中的重要性。
我们做什么事情都要细心、仔细,不放过任何一个小小的点,只有这样,我们才以最高的效率完成任务。
除此之外,还需要了解每一条微指令各个位在整个系统中所起的作用,才能真正理解透CPU工作的本质所在。
八、参考文献。
1、计算机组成原理科学出版社白中英主编2008年1月第四版
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 复杂 模型 设计 38