实验六复杂模型机的设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五 复杂模型机的设计与实现

一、实验目的

综合运用所学计算机原理知识,设计并实现较为完整的计算机。

二、实验设备

Dais-CMX16+计算机组成原理教学实验系统一台,实验用导线若干。

三、数据格式及指令系统

1. 数据格式

模型机规定采用定点补码表示数据,且字长为8位,其格式如下:

其中第72. 指令格式

模型机设计四大类指令共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复杂模型机微程序流程图

按照系统建议的微指令格式,参照微指令流程图,将每条微指令代码化,译成二进制代码,并将二进制代码表转换成十六进制格式文件。

源编码目的编码

四、实验方法

㈠键盘操作

⑴首先卸去实验连接,然后按如下操作,把系统工作方式设为“微控/在线”。 在待命状态0下按【减址】键,LCD 显示器显示工作模式选项:

按【增址】键,将光标移到“MUD ”微程序模式,按【减址】键确定后,系统先询问用户是否使用搭接方式,按【增址】键选择“y ”(搭接)或“n ”(在线),按【减址】键确定:

接着系统询问用户是否使用扩展I/O 方式,按【增址】键选择“y ”(扩展I/O )或“n ”(微控制器关联),按【减址】键确定:

确定设置后,系统返回待命状态0。

⑵机器程序与对应的微控制程序的写入:

在待令状态下,键入数字键“4”(复杂模型机代号),然后再键入【减址】命令键,实验装置自动装载由数字键定义的模型机机器程序及对应的微程序,装载完毕自动返待令态。

⑶运行程序

①单拍运行:每按一次【单拍】按钮模型机运行一拍,系统提供可变时序,非“取指”微周期它的次序循环。

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

是,选择搭接方式,须连线

否,选择在线方式,零连线

Dais-CMX16+ ’XXX KLD PLD

选择手动模式

②微单步:每按一次【单步】命令键运行一条微指令,对照微程序流程,观察微址是否和流程一致。对照微指令表,观察执行结果是否和理论值一致。

③宏运行(指令单步或宏调用):每按动一次【宏运】命令键,运行一条机器指令。对照机器指令程序,观察PC地址是否和流程一致。

④程序运行与暂停:按动【运行】命令键使模型机进入实时运行状态;在实时运行状态按左下方任一数字键即可暂停模型机程序的运行,以便实验者查看模型机现场。

㈡联机运行

双击桌面“Dais-CMX 集成开发环境”图标进入联机模式

在联机状态下,首先应打开mxj4.asm(复杂模型机机器指令及对应微指令代码文件),然后点击工具栏“装载”按钮开始装载,如源程序无语法错误即可完成装载,进入调试状态。可点击工具栏快捷按钮,详细操作如下:

●单节拍:单击菜单“运行→单拍运行微指令”命令或单击工具栏“单拍”按钮,以单节拍

方式按T1~T4顺序逐步运行微程序。

●单周期:单击菜单“运行→单步运行微指令”命令或单击工具栏“微单步”按钮,以单周

期(T1~T4为一个机器周期)方式逐步运行微程序。

应用级调试

在机器指令的层面进行逐步调试,面向应用程序,帮助用户了解机器指令的执行结果。

●单步机器指令:单击菜单“运行→单步运行机器指令”命令或单击工具栏“单步”按钮,

以逐步指令方式执行机器程序,遇CALL调用时跟踪进入。

●宏单步机器指令:单击菜单“运行→宏单步运行机器指令”命令或单击工具栏“宏单步”

按钮,以逐步指令方式执行机器程序,遇CALL调用时跨越执行。

全速运行

单击菜单“运行→全速运行”命令或单击工具栏“运行”按钮,忽略实现细节,以全速方式运行机器指令、微指令,用来验证应用程序的运行结果。

暂停与复位

暂停:当实验系统进入全速运行、自动单步等状态时,可随时单击菜单“运行→暂停”命令或单击工具栏“暂停”按钮,使实验系统暂停当前运行的程序,并展现暂停后的模型机现场,帮助用户观察各部件的状态。

复位:在待命状态下,单击菜单“运行→复位”命令或单击工具栏“复位”按钮,可对模型机进行复位操作,初始化所有寄存器和标志位。注:复位操作不会破坏程序存储器、微程序存储器的内容。

相关文档
最新文档