计09209408100228陈桂林计算机组成原理课程设计说明书.docx
- 文档编号:27215379
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:17
- 大小:156.17KB
计09209408100228陈桂林计算机组成原理课程设计说明书.docx
《计09209408100228陈桂林计算机组成原理课程设计说明书.docx》由会员分享,可在线阅读,更多相关《计09209408100228陈桂林计算机组成原理课程设计说明书.docx(17页珍藏版)》请在冰豆网上搜索。
计09209408100228陈桂林计算机组成原理课程设计说明书
湖南工业大学
课程设计
资料袋
计算机与通信学院学院(系、部)2010~2011学年第2学期
课程名称计算机组成原理指导教师杨伟丰
学生姓名陈桂林专业班级计算机092学号09408100228
题目复杂模型机的设计
成绩起止日期2011年06月13日~2011年06月16日
目录清单
序号
材料名称
资料数量
备注
1
课程设计任务书
1
2
课程设计说明书
1
3
课程设计图纸
无
4
5
6
计算机组成原理课程设计书
设计说明书
(题目)
微机设计
起止日期:
2011年06月29日至2011年07月30日
学生姓名
陈桂林
班级
计算机092
学号
09408100228
成绩
指导教师(签字)
计算机与通信学院
2011.6.26
一、设计目的
综合运用所学计算机原理知识,设计并实现较为完整的模型计算机。
二、设计任务
1、根据机器指令系统要求,设计微程序流程图及确定微地址。
2、根据实验室设备提供的硬件环境,设计数据通路。
3、编写程序,并运行程序,观察和记录运行结果。
二、设计仪器
TDX—CM+计算机组成原理教学实验系统一台,排线若干;
PC机一台。
四、设计原理
一、复杂模型机的数据通路框图如图2-7。
根据机器指令系统要求,设计微程序流程图及确定微地址,如图2-8。
三、
图2-7复杂模型机数据通路框图
四、
五、按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码表,并将二进制代码表转换为联机操作时的十六进制格式文件。
微程序
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
RD
M17
M16
A
B
P
uA5
uA4
uA3
uA2
uA1
uA0
六、
A字段
B字段
P字段
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_G
0
0
1
P1
0
1
0
LDDR1
0
1
0
RD_G
0
1
0
P2
0
1
1
LDDR2
0
1
1
RI_G
0
1
1
P3
1
0
0
LDIR
1
0
0
299_G
1
0
0
P4
1
0
1
LOAD
1
0
1
ALU_G
1
0
1
AR
1
1
0
LDAR
1
1
0
PC_G
1
1
0
LDPC
五、设计步骤
1、根据复杂模型机的指令系统,编写实验程序。
课程设计例程如下:
设计完全使用寄存器操作。
程序首先从数据输入开关采集数据放入R0中,经循环左移两次放入R1中。
然后再次从数据输入开关采集数据放入R0中,经循环右移一次与R1中的数据相加,其结果送到R1中,然后判断加法的结果是否有进位或为全零,若是就循环运行,否则,输出结果到数码管上显示。
实验的机器指令程序如下:
地址内容助记符说明
0044INR0;INPUT数据R0,第一次采集数据(设输入数据为14H)
01F0RLCR0,R0;R0带进位左循环移位一次
02F1RLCR0,R1;第二次左移后保存到R1中
0344INR0;输入开关数据R0,第二次采集数据(设输入数据仍为14H)
04E0RRCR0,R0;R0带进位右循环移位一次
0591ADCR0,R1;两数据相加
060CBZC00;若有进位或结果为零,则跳到00地址单元
0700
0859OUTR1;R1OUTPUTUNIT显示;
0960HALT;停机
以上程序的机器指令如下:
$P0044$P01F0$P02F1
$P0344$P04E0$P0591
$P060C$P0700$P0859
$P0960
微程序
$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
$M2D05AB6E$M2E0DAA2F$M2F01AA30
$M300D8171$M31959B41$M32019A01
$M3301B435$M3405DB81$M35B99B41
$M360D9A01$M37298838$M38019801
$M3919883A$M3A019801$M3B070A08
$M3C068A09
2、按图2-9连接设计线路,仔细检查线路无误后接通电源。
(图中箭头表示需要接线的地方,接总线和控制信号时要注意高低位一一对应,可用彩排线的颜色来进行区分)
图2-9复杂模型机实验
3、写程序
对于本设计箱可以用两种方法来写入程序。
方法一:
联机读/写程序
按照规定格式,将机器指令及微指令编辑成十六进制的规定格式文件,已经在前面列出。
使用联机软件的文件装载将实验程序和微程序下载到实验箱中,并用软件的读出功能进行检查。
本实验参考程序对应的文件名为“复杂模型机.TXT”(联机软件的使用方法参看附录2)。
方法二:
手动写入
(1)先将机器指令对应的微代码正确地写入28C16中,可以参照实验1.7微程序控制器的组成与微程序设计实验中微代码的写入方法,将本实验对应的微代码写入E2PR0M芯片中,对照前面的微程序内容校验正确后就可使用。
(2)使用控制台WRITE和READ微程序进行机器指令程序的手动装入和检查,其操作如下:
A、使SIGNALUNIT单元的SP03为“STEP”状态,SP04为“RUN”状态,CONTROLUNIT的开关SP05处于“NORM”状态,开关SP06处于“RUN”状态。
B、拨动SWITCH单元的总清开关CLR(101),微地址寄存器清零,程序计数器清零。
然后使SWITCH单元的SWB、SWA开关设置为“01”,按动一次CONTROLUNIT的触动开关START,微地址显示灯显示“001001”,再按动一次START,微地址灯显示“001100”,此时数据开关的内容置为要写入的机器指令,按动两次START键后,即完成该条指令的写入。
若仔细阅读WRITE的流程,就不难发现,机器指令的首地址总清后为零,以后每个循环PC会自动加1。
所以,每次按动START,只有在微地址灯显示“001100”时,才设置内容,直到所有机器指令写完。
C、校验。
拨动SWITCH单元的总清开关CLR(101),微地址清零。
PC程序计数器清零,然后使SWITCH单元的开关SWB、SWA为“00”,按动CONTROLUNIT的触动开关START,微地址灯将显示“001000”,再按START,微地址灯显示为“001010”,第三次按START,微地址灯显示为“111011”,再按START后,此时OUTPUT单元的数码管显示为该首地址中的内容。
不断按动START,以后每个循环PC会自动加1,可检查后续单元内容。
每次在微地址灯显示为“001000”时,是将当前地址中的机器指令写入到输出设备中显示。
4、运行程序
方法一:
联机运行程序
首先使各个开关的状态为:
SIGNALUNIT中的SP03开关设置为“STEP”状态。
SP04开关设置为“RUN”状态;CONTROLUNIT的开关SP05处于“NORM”状态,SP06处于“RUN”状态;SWITCH单元的开关SWB、SWA为“11”。
使SWITCH单元的总清开关CLR(101)清零后,程序首址为00H。
通过联机软件进入调试界面(其操作方法参见附录2系统联机操作软件说明),可以通过调试程序的操作界面控制程序的运行,同时观察运行过程和结果。
方法二:
手动运行程序
(1)单步运行程序
A、使CONTROLUNIT的开关SP05处于“NORM”状态,SP06处于“RUN”状态,SIGNALUNIT中的SP03为“STEP”状态,SP04为“RUN”状态,SWITCH单元的开关SWB、SWA为“11”。
B、拨动SWITCH单元的总清开关CLR(101),微地址清零,程序计数器清零,程序首址为00H。
C、单步运行微指令,每按动一次CONTROLUNIT的START触动开关,即单步运行一条微指令。
对照微程序流程图2-8,观察微地址显示灯MA5-MA0是否和流程一致。
D、当运行结束后,可检查运行结果是否和理论值一致。
如果运行结果保存在RAM的某一个单元中,则可以使用手动写入中的校验方法将其读出。
(2)连续运行程序
A、使CONTROLUNIT的开关SP05处于“NORM”状态,SP06处于“RUN”状态,SIGNALUNIT中的SP03为“RUN”状态,SP04为“RUN”状态,SWITCH单元的开关SWB、SWA为“11”。
B、拨动SWITCH单元的总清开关CLR(101),微地址及程序计数器清零,然后按动CONTROLUNIT的START触动开关,系统连续运行程序,稍后将SIGNALUNIT中的SP04拨至“STOP”时,系统停机。
C、停机后,可检查运行结果是否正确。
如果运行结果保存在RAM的某一个单元中,则可以使用手动写入中的校验方法将其读出。
流程图如下:
运行
运行
六、设计中的测试
一、置入代码
二、置数给寄存器
三、运用指令测试线路连接是否正确
四、输入指令
五、运行测试结果
七、课程设计涉及的基础知识
1、数据格式
模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:
数据位数
D7
D6D5D4D3D2D1D0
用途
符号
尾数
其中第7位为符号位,数值表示范围是:
-1≤X<1。
2、指令格式
模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问存储器、转移指令和停机指令。
(1)算术逻辑指令
设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
数据位数
D7D6D5D4
D3D2
D1D0
用途
操作码(OP-CODE)
源寄存器(RS)
目的寄存器(RD)
规定:
选中的寄存器(RS或RD)
R0
R1
R2
寄存器的编码
00
01
10
算术逻辑指令的名称、功能和具体格式见表2—3。
(2)访存指令及转移指令
模型机设计2条访存指令,即存数(STA)、取数(LD),2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为:
数据位数
D7D6
D5D4
D3D2
D1D0
D7……D0
用途
00
寻址模式M
操作码OP-CODE
目的寄存器编码RD
位移量D
其中,OP-CODE为操作码,rd为目的寄存器地址(LD、STA指令使用)。
D为位移量(正负均可),M为寻址模式,其定义如下:
寻址模式M
有效地址E
说明
00
D
直接寻址
01
(D)
间接寻址
10
(RI)+D
RI变址寻址
11
(PC)+D
相对寻址
本模型机规定变址寄存器RI指定为寄存器R2。
(3)I/O指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
数据位数
D7D6D5D4
D3D2
D1D0
用途
操作码(OP-CODE)
地址(addr)
目的寄存器(RD)
其中,在IN指令中,addr=01,选中“INPUT”中的开关组作为输入设备,在OUT指令中,addr=10时,表示选中“OUTPUTUNIT”中的数码块作为输出设备。
(4)停机指令
指令格式如下:
数据位数
D7D6D5D4
D3D2
D1D0
值
0110
00
00
HALT指令,机器码为60H,用于实现停机操作。
3、指令系统
复杂模型机共有16条基本指令,其中算术逻辑指令7条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。
表2-3列出了各条指令的格式、汇编符号、指令功能。
表2-3复杂模型机指令系统
助记符
指令格式
指令长度(字节数)
指令功能
第一字节
第二字节
CLRrd
011100rd
无
1
0→RD
MOVrs,rd
1000rsrd
无
1
RS→RD
ADCrs,rd
1001rsrd
无
1
RS+RD+cy→RD
SBCrs,rd
1010rsrd
无
1
RS-RD-cy→RD
INCrd
1011××rd
无
1
RD+1→RD
ANDrs,rd
1100rsrd
无
1
RS^RD→RD
COMrd
1101××rd
无
1
→RD
RRCrs,rd
1110rsrd
无
1
RS带进位循环右移一位,然后RS→RD
RLCrs,rd
1111rsrd
无
1
RS带进位循环左移一位,然后rs→RD
LADM,D,rd
00M00rd
D
2
有效数据E→RD
STAM,D,rd
00M01rd
D
2
RD→有效地址E
JMPM,D
00M1000
D
2
有效数据E→PC
BZCM,D
00M11rd
D
2
当CY=1或ZI=1时,有效数据E→PC
INrd
010001rd
无
1
INPUT设备的数据→RD
OUTrd
010110rd
无
1
RD→OUTPUTUNIT
HALT
01100000
无
1
停机
八、课程设计总结
经过这次课程设计,我体会到自己所学的东西太少了,很多都不知道。
虽然这次设计的只是一个小程序,但是这其间我还是学到了不少东西。
在这次课程设计的过程,有些很基本的知识出现记混淆的现象,通过查书及询问同学,最终明白了。
本次课程设计我们要设计一台微程序控制的模型机,以对计算机能有一个整机的概念,完成对计算机组成原理这门课程的综合应用,达到学习本书的作用。
作为一个计算机系学生这是必需掌握的,使我们对数据选择器,移位器,加法器,运算器,存储器和微程序控制器,有了比较透彻的认识。
由于计算机设计的部件较多,结构原理较复杂,对于我们这样的初设计者来说感到无从下手,所以我们在整个过程中采取由浅入深,由简单到复杂的放法,通过这次设计,使我们能清楚的了解计算机的基本组成,基本原理和设计步骤,设计思路和调试步骤,最终能清晰的建立起整机概念,为独立完成计算机设计奠定了基础。
课程设计结束了,从中我们也学到了不少知识。
虽然计算机组成原理的课程设计与学习已经结束,可我们学习之路并没有结束,我们会继续努力学习其相关的知识,以适应社会的发展与需要,这样才能真正成为一名合格的大学生。
在此次的设计中,感谢老师对我们的帮助和指导。
过程还不够完善,希望老师继续指导。
九、主要参考资料
[1]自编.《计算机组成原理课程设计指导书》.湖南工业大学计算机与通信学院,2007年
[2]王诚主编.《计算机组成原理实验指导书》.清华大学出版社,2004年
[3]王爱英主编.《计算机组成与结构》.清华大学出版社,2002年
[4]唐朔飞主编.《计算机组成原理》.高等教育出版社,2005年
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 09209408100228 桂林 计算机 组成 原理 课程设计 说明书