复杂模型机设计实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
复杂模型机设计实验
一、 实验目的
综合运用所学计算机原理知识,设计并实现较为完整的计算机。
二、 实验设备
TDN -CM +计算机组成原理教学实验系统。
三、 数据格式及指令系统
1. 数据格式
模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:
2.
模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O 指令、访问及转移指令和停机指令。 1) 算术逻辑指令
设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
其中,OP -CODE 为操作码,rs 为源寄存器,rd 为目的寄存器,并规定:
9条算术逻辑指令的名称、功能和具体格式见表 2) 访存指令及转移指令
模型机设计2条访存指令――存数(STA )和取数(LDA ),2条转移指令――无条件转移(JMP )和结果为零或有进位转移指令(BZC ),这4条指令长度为
2个字节,其指令格式为:
其中,OP -CODE 为操作码,rd 为目的寄存器地址(LDA 、STA 指令使用)。D 为偏移量(正负均可),M 为寻址模式,其定义如下:
本模型机规定变址寄存器
RI 指定为寄存器R2。 3) I/O 指令
输入(IN )和输出(OUT )指令采用单字节指令,其格式如下:
其中,addr =01
时,选中“INPUT DEVICE ”中的开关组作为输入设备,addr =10时,选中“OUTPUT DEVICE ”中的数码块作为输出设备。 4) 停机指令
指令格式如下:
HALT 指令用于实现停机操作。
3. 指令系统
本模型机共有16条基本指令,其中算术逻辑指令7条,访存指令和程序控制指令4条,输入输出指令2条,其它指令1条,表列出了各条指令的格式、汇编符号、指令功能。
四、总体设计
本模型机的数据通路框图如图所示。
图1:数据通路图
根据机器指令系统的要求,设计微程序流程图及确定微地址如下:
图2:微程序流程图
根据流程图,确定如下微程序:
微程序:
$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 $M2995AA0 $M2A01B42B $M2B959B41 $M2C01A42D $M2D65AB6E $M2E0D9A01 $M2F01AA30 $M300D8171 $M31959B41 $M32019A01 $M3301B435 $M3405DB81 $M35B99B41 $M360D9A01 $M37298838 $M38019801 $M3919883A $M3A019801 $M3B070A08 $M3C068A09
验证程序:
助记符机器码
IN 01, R0 $P0044
IN 01, R2 $P0146
ADC R2, R0 $P0298
MOV R0, R1 $P0381
RLC R1, R1 $P04F5
BZC 00, 00 $P050C
$P0600
五、实验步骤
1.按图连接实验线路
2.写入程序
1)手动写入
A.按如下步骤讲微代码写入微控器中的存储器2816中:
①将编程开关置为PROM(编程)状态。
②将实验板上“STA TE UNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”
状态。
③用二进制模拟开关置微地址MA5—MA0。
④在MK24-MK1开关上置微代码,24位开关对应24位显示灯,开关量置为“0”
时灯亮,开关量为“1”时灯灭。
⑤启动时序电路(按动启动按钮“START”),即将微代码写入到2816的相应地址对
应的单元中。
⑥重复①-⑤步骤,将所有的微代码写入2816中。
B.按如下步骤校验微代码
①将编程开关置为READ(校验)状态。
②将实验板上“STA TE UNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”
状态。
③用二进制模拟开关置微地址MA5—MA0。
④启动时序电路(按动启动按钮“START”),读出微代码。观察显示灯MD24-MD1
的状态(灯亮为“0”,灭为“1”),检查读出的微代码是否与写入的相同。如果不
同,则将开关置于PROM编程状态,重新执行③)即可。
C.按如下步骤使用KWE微程序进行机器指令程序的装入。
①使编程开关处于“RUN”,STEP为“STEP”状态,STOP为“RUN”状态。
②拨动总清开关CLR(0→1→0),微地址寄存器清零,程序计数器清零,然后使控制
台SWB、SW A开关置为“0 1”,并按动一次START,微地址显示灯显示“010001”。
③再按动一次START,微地址灯显示“010100”,此时数据开关的内容置为要写入的
机器指令。再按动两次START键后,即完成该条指令的写入,并且微地址显示灯