组成原理课程设计复杂模型机设计实验Word格式文档下载.docx
- 文档编号:15695058
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:11
- 大小:235.26KB
组成原理课程设计复杂模型机设计实验Word格式文档下载.docx
《组成原理课程设计复杂模型机设计实验Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《组成原理课程设计复杂模型机设计实验Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
rs
rd
其中,OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:
rs或rd
选定的寄存器
00
01
10
R0
R1
R2
9条算术逻辑指令的名称、功能和具体格式见表
2)访存指令及转移指令
模型机设计2条访存指令――存数(STA)和取数(LDA),2条转移指令――无条件转移(JMP)和结果为零或有进位转移指令(BZC),这4条指令长度为2个字节,其指令格式为:
D7D6
D5D4
D3D2
00
M
D
其中,OP-CODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。
D为偏移量(正负均可),M为寻址模式,其定义如下:
寻址模式M
有效地址E
说明
11
E=D
E=(D)
E=(RI)+D
E=(PC)+D
直接寻址
间接寻址
RI变址寻址
相对寻址
本模型机规定变址寄存器RI指定为寄存器R2。
3)I/O指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
addr
其中,addr=01时,选中“INPUTDEVICE”中的开关组作为输入设备,addr=10时,选中“OUTPUTDEVICE”中的数码块作为输出设备。
4)停机指令
指令格式如下:
HALT指令用于实现停机操作。
3.指令系统
本模型机共有16条基本指令,其中算术逻辑指令7条,访存指令和程序控制指令4条,输入输出指令2条,其它指令1条,表列出了各条指令的格式、汇编符号、指令功能。
表1
助记符号
指令格式
功能
CLRrd
MOVrs,rd
ADCrs,rd
SBCrs,rd
INCrd
ANDrs,rd
COMrd
RRCrs,rd
RLCrs,rd
0111
1000
1001
1010
1011
1100
1101
1110
1111
0→rd
rs→rd
rs+rd+cy→rd
rs-rd-cy→rd
rd+1→rd
rs∧rd→rd
→rd
rs←rd
LDAM,D,rd
STAM,D,rd
JMPM,D
BZCM,D
E→rs
rd→E
E→PC
当CY=1或Z=1,
INaddr,rd
OUTaddr,rd
0100
0101
addr→rd
rd→addr
HALT
停机
四、总体设计
本模型机的数据通路框图如图所示。
图1:
数据通路图
根据机器指令系统的要求,设计微程序流程图及确定微地址如下:
图2:
微程序流程图
根据流程图,确定如下微程序:
微程序:
$M00018108$M2205DB81
$M0101ED82$M230180E4
$M0200C050$M24018001
$M0300A004$M2595AAA0
$M0400E0A0$M2600A027
$M0500E006$M2701BC28
$M0600A007$M2895EA29
$M0700E0A0$M2995AAA0
$M0801ED8A$M2A01B42B
$M0901ED8C$M2B959B41
$M0A00A03B$M2C01A42D
$M0B018001$M2D65AB6E
$M0C00203C$M2E0D9A01
$M0D00A00E$M2F01AA30
$M0E01B60F$M300D8171
$M0F95EA25$M31959B41
$M1001ED83$M32019A01
$M1101ED85$M3301B435
$M1201ED8D$M3405DB81
$M1301EDA6$M35B99B41
$M14001001$M360D9A01
$M15030401$M37298838
$M16018016$M38019801
$M173D9A01$M3919883A
$M18019201$M3A019801
$M1901A22A$M3B070A08
$M1A01B22C$M3C068A09
$M1B01A232
$M1C01A233
$M1D01A236
$M1E318237
$M1F318239
$M20009001
$M21028401
验证程序:
助记符机器码
IN01,R0$P0044
IN01,R2$P0146
SBCR2,R0$P02A8
MOVR0,R1$P0381
RLCR1,R1$P04F5
OUTR1,R1$P0559
HALT$P0600
指令功能:
在实验板的数据开关手动输入一个数存到R0寄存器里,在输入另一个数到R2寄存器里,然后用R2-R0存到R0寄存器里,接着把R0里的数转存到R1寄存器,然后再把R1的数左移一位存到R1,接着在数码管显示输出当前R1寄存器里的数,最后停止。
五、实验步骤
1.按图连接实验线路
2.写入程序
1)手动写入
A.按如下步骤讲微代码写入微控器中的存储器2816中:
1将编程开关置为PROM(编程)状态。
2将实验板上“STATEUNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态。
3用二进制模拟开关置微地址MA5—MA0。
4在MK24-MK1开关上置微代码,24位开关对应24位显示灯,开关量置为“0”时灯亮,开关量为“1”时灯灭。
5启动时序电路(按动启动按钮“START”),即将微代码写入到2816的相应地址对应的单元中。
6重复①-⑤步骤,将所有的微代码写入2816中。
B.按如下步骤校验微代码
1将编程开关置为READ(校验)状态。
4启动时序电路(按动启动按钮“START”),读出微代码。
观察显示灯MD24-MD1的状态(灯亮为“0”,灭为“1”),检查读出的微代码是否与写入的相同。
如果不同,则将开关置于PROM编程状态,重新执行
)即可。
C.按如下步骤使用KWE微程序进行机器指令程序的装入。
1使编程开关处于“RUN”,STEP为“STEP”状态,STOP为“RUN”状态。
2拨动总清开关CLR(0→1→0),微地址寄存器清零,程序计数器清零,然后使控制台SWB、SWA开关置为“01”,并按动一次START,微地址显示灯显示“010001”。
3再按动一次START,微地址灯显示“010100”,此时数据开关的内容置为要写入的机器指令。
再按动两次START键后,即完成该条指令的写入,并且微地址显示灯显示“010001”。
(注:
由KWE的流程图可知,该流程每执行一次,将向PC寄存器所指向的存储器单元中写入一个字节的数据,并且将PC加1。
)
4如果还需要向存储器中输入数据,则需重复重新执行
。
D.按如下步骤使用KRD微程序进行机器指令程序的检查。
2拨动总清开关CLR(0→1→0),微地址寄存器清零,程序计数器清零,然后使控制台SWB、SWA开关置为“00”,并按动一次启动开关START,微地址显示灯显示“010000”。
3再按动一次START,微地址灯显示“010010”,第三次按动STRAT,微地址灯显示为“010111”,再按动STRAT后此时输出单元的数码管显示为PC寄存器所指单元的内容。
由KRD的流程图可知,该流程每执行一次,将显示PC寄存器所指向的存储器单元中一个字节的数据,并且将PC加1。
4如果还需要检查存储器中其他单元的数据,则需重复重新执行
2)联机读/写程序
将微代码写入文本文件中,通过联机软件载入实验系统。
3.运行程序
1)本机运行
A.单步运行程序
1使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”状态。
2拨动总清开关CLR(0→1→0),微地址寄存器清零,程序计数器清零。
3单步运行一条微指令,每按动一次START键,即单步运行一条微指令。
对照微程序流程图,观察微地址显示灯是否与流程一致。
4当运行结束后,可检查存数单元(0BH)中的结果是否和理论计算结果一致。
B.连续运行程序
1使编程开关处于“RUN”状态,STEP为“EXEC”状态,STOP为“RUN”状态。
3按动START键,系统将连续运行程序,直至将STOP拨至“STOP”状态。
2)联机运行
联机运行程序时,进入软件界面,装载机器指令及微指令后,运行即可。
图3:
实验连接图
六、实验总结:
这次课程设计中,基于前几次实验中,对计算机的大致组成以及运行原理有了初步的了解,并且对实验板也比较熟悉了,所以按照实验连接图连线也比较上手了,经过那么多次实验,觉得连线最重要的就是认真,如果一开小差就会出错,每连完一条线之后,都要检查一遍,看是否连错,这告诉我们,做每一件事都要认认真真的完成,容不得一丝马虎,否则只会落得个事倍功半的效果。
这次课程设计最重要的就是编写程序了,要想编写程序首次要对程序了解,知道每个助记符对应的机器码是什么意思,对应的二进制的每四位代表什么。
在对程序理解的过程中,刚开始不知道程序的十六进制是如何通过助记符转换过来的,经过对指令格式的剖析才知道没个助记符对应的二进制,然后对刚编好的程序进行运行,通过观察C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 组成 原理 课程设计 复杂 模型 设计 实验