实验六复杂模型机的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五复杂模型机的设计与实现
一、实验目的
综合运用所学计算机原理知识,设计并实现较为完整的计算机。
二、实验设备
Dais-CMX16+计算机组成原理教学实验系统一台,实验用导线若干。
三、数据格式及指令系统
1.数据格式
模型机规定采用定点补码表示数据,且字长为8位,其格式如下:
其中第7位为符号位,数值表示范围是:-1≤X<1。
2.指令格式
模型机设计四大类指令共16条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。
⑴ 算术逻辑指令
设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
OP-CODE为操作码,Rs为源寄存器,Rd为目的寄存器,并规定:
其中,
其中R0=CL;R1=CH;R2=DL;R3=DH
9条算术逻辑指令的名称、功能和具体格式见表5-1。
⑵ 访问指令及转移指令
模型机设计2条访问指令,即存数(STA)、取数(LDA),2条转移指令,即无条件转移(JMP)、结果为零或有进
位转移指令(BZC),指令格式为:
其中“0 0 M ”为源码段,2OP-CODE为目的码段(LDA、STA指令使用)。D为十六位地址段(低八在前,高八随后),M为源寻址模式,其定义如下:
⑶ I/O指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
⑷ 停机指令
指令格式如下:
HALT指令,用于实现停机操作。
3.指令系统
本模型机共有16条基本指令,其中算术逻辑指令9条,访问内存指令和程序控制指令4条,输入输出指令2条,其它指令1条。下表列出了各条指令的格式、汇编符号、指令功能。
表5-1
图5-1复杂模型机微程序流程图
按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码,并将二进制代码表转换成十六进制格式文件。
源编码目的编码
实验所用的机器指令程序:
四、实验方法
㈠键盘操作
⑴首先卸去实验连接,然后按如下操作,把系统工作方式设为“微控/在线”。
在待命状态0下按【减址】键,LCD显示器显示工作模式选项:
Dais-CMX16+ ’XXX
KLD PLD
选择手动
按【增址】键,将光标移到“MUD”微程序模式,按【减址】键确定后,系统先询问用户是否使用搭接方式,按【增址】键选择“y”(搭接)或“n”(在线),按【减址】键确定:
接着系统询问用户是否使用扩展I/O 方式,按【增址】键选择“y ”(扩展I/O )或“n ”
(微控制器关联),按【减址】键确定:
确定设置后,系统返回待命状态0。
⑵机器程序与对应的微控制程序的写入:
在待令状态下,键入数字键“4”(复杂模型机代号),然后再键入【减址】命令键,实验装置自动装载由数字键定义的模型机机器程序及对应的微程序,装载完毕自动返待令态。
⑶运行程序
①单拍运行:每按一次【单拍】按钮模型机运行一拍,系统提供可变时序,非“取指”
次序循环。
②微单步:每按一次【单步】命令键运行一条微指令,对照微程序流程,观察微址是否和流程一致。对照微指令表,观察执行结果是否和理论值一致。
③宏运行(指令单步或宏调用):每按动一次【宏运】命令键,运行一条机器指令。对照机器指令程序,观察PC 地址是否和流程一致。
④程序运行与暂停:按动【运行】命令键使模型机进入实时运行状态;在实时运行状态按左下方任一数字键即可暂停模型机程序的运行,以便实验者查看模型机现场。
㈡联机运行
双击桌面“Dais-CMX 集成开发环境”图标进入联机模式
Dais-CMX16+ ’mud
设置完毕,返回待
Dais-CMX16+ ’mud
lst y/n I/O /n
Dais-CMX16+ ’mud lst y/nI/O y/ 是,扩展I/O 方式
否,选择微控制器
Dais-CMX16+ ’mud lst /n I/O y/n Dais-CMX16+ ’mud lst y/I/O y/n
是,选择搭接方否,选择在线方
在联机状态下,首先应打开mxj4.asm(复杂模型机机器指令及对应微指令代码文件),然后点击工具栏“装载”按钮开始装载,如源程序无语法错误即可完成装载,进入调试状态。可点击工具栏快捷按钮,详细操作如下:
单节拍:单击菜单“运行→单拍运行微指令”命令或单击工具栏“单拍”按钮,以单节拍方式按T1~T4顺序逐步运行微程序。
单周期:单击菜单“运行→单步运行微指令”命令或单击工具栏“微单步”按
钮,以单周期(T1~T4为一个机器周期)方式逐步运行微程序。
应用级调试
在机器指令的层面进行逐步调试,面向应用程序,帮助用户了解机器指令的执行结果。
单步机器指令:单击菜单“运行→单步运行机器指令”命令或单击工具栏“单
步”按钮,以逐步指令方式执行机器程序,遇CALL调用时跟踪进入。
宏单步机器指令:单击菜单“运行→宏单步运行机器指令”命令或单击工具栏
“宏单步”按钮,以逐步指令方式执行机器程序,遇CALL调用时跨越执行。
全速运行
单击菜单“运行→全速运行”命令或单击工具栏“运行”按钮,忽略实现细节,以全速方式运行机器指令、微指令,用来验证应用程序的运行结果。
暂停与复位
暂停:当实验系统进入全速运行、自动单步等状态时,可随时单击菜单“运行→暂停”命令或单击工具栏“暂停”按钮,使实验系统暂停当前运行的程序,并展现暂停后的模型机现场,帮助用户观察各部件的状态。