MIPSsim的菜单
1. 文件菜单
文件菜单如下所示:
(1) CPU复位
将模拟器中CPU的状态复位为默认值。
(2) 全部复位
将整个模拟器的状态复位为默认值。模拟器启动时,也是将状态设置为默认值。
(3) 载入程序
将模拟器要执行的程序载入模拟器的内存。这个程序可以是汇编程序(.s文件),也可以是汇编后的代码(.bin文件)。点击该菜单后,系统将弹出“载入”对话框,选择要载入的文件,然后点击“打开”。如果是.s文件,系统会对该文件进行汇编。若汇编过程无错误,则将产生的二进制代码载入至模拟器的内存;若有错误,则报告错误信息。如果是.bin文件,则直接将该文件的内容载入到模拟器内存。
被载入程序在内存中连续存放,其起始地址默认为0。该起始地址可以从“代码”菜单中的“载入起始地址”来查看和修改。修改时,如果输入的地址不是4的整数倍,模拟器会自动将其归整为4的整数倍。
(4)退出
退出模拟器。
2. 执行菜单
该菜单提供了对模拟器执行程序进行控制的功能。在下面的执行方式中,除了单步执行,当遇到断点或者用户手动中止(用“中止”菜单项)时,模拟器将立即暂停执行。
在流水方式下,执行菜单如下所示:
在非流水方式下,执行菜单如下所示:
(1)单步执行一个周期
执行一个时钟周期,然后暂停。其快捷键为F7。该菜单仅出现在流水方式下。
(2)撤销上一个周期
模拟器回退一个时钟周期,即恢复到执行该周期之前的状态。其快捷键为F8。该菜单仅出现在流水方式下。
(3)执行多个周期
执行多个时钟周期,然后暂停。点击该菜单后,系统会弹出一个小对话框,由用户指定要执行的周期的个数。该菜单仅出现在流水方式下。
(4)连续执行
从当前状态开始连续执行程序,直到程序结束或遇到断点或用户手动中止。
(5)执行到…
点击该菜单项后,系统会弹出一个“设定终点”小对话框,由用户指定此次执行的终点,即在哪条指令的哪个流水段暂停。点击“确定”后,模拟器即开始执行程序,直到到达终点位置或遇到断点或用户手动中止。所输入的终点地址将被归整为4的整数倍。
(6) 中止
点击该菜单项后,模拟器会立即暂停执行。当模拟器执行程序出现长期不结束的状况时,可用该菜单强行使模拟器停止执行。
(7)单步执行一条指令
执行一条指令,然后暂停。该指令的地址由当前的PC给出。其快捷键为F7。该菜单仅出现在非流水方式下。
(8)撤销上一条指令
模拟器回退一条指令,即恢复到执行该指令之前的状态。其快捷键为F8。该菜单仅出现在非流水方式下。
(9) 执行多条指令
执行多条指令,然后暂停。点击该菜单项后,系统会弹出一个小对话框,由用户指定要执行的指令的条数。
3. 内存菜单
该菜单下有3项:显示,修改,符号表。
(1)显示
该菜单项用于设置显示内存的值的数据类型与格式。点击该菜单项后,系统会弹出“内存显示”对话框,如图8所示。在选定所要的数据类型与格式后,单击“确定”按钮,内存窗口中的数据就会按指定的数据类型与格式显示。
图8 内存显示窗口
(2) 修改
该菜单项用于对内存的值进行修改。点击该菜单项后,系统会弹出“内存修改”对话框,该对话框与图6的“内存修改”相同。请参见相关的论述。
(3) 符号表
该菜单项用于显示符号表。符号表中列出了当前被执行的程序中各符号的地址(内存地址)。
4. 代码菜单
(1) 载入起始地址
该菜单项用于显示和修改代码载入内存的起始地址。如果要修改,只要在弹出的“载入起始地址”对话框中输入新的地址,然后点击“确认”即可。
(2) 设置断点
点击该菜单项,会弹出“设置断点”小对话框,输入断点地址,并在“段”的下拉框中选择断点所在的流水段(在非流水方式下,不存在该下拉框),单击“确定”即可。
(3) 取消断点
在代码窗口中选择某条指令,然后点击该菜单项,则设置在该指令处的断点被删除。
(4) 清除所有断点
清除所有断点。
5. 配置菜单
配置菜单用于修改模拟器的配置。需要注意的是:修改配置将会使模拟器复位。
配置菜单如下所示:
(1) 常规配置
该菜单项用于查看和设置以下参数:(其默认值见“一、启动程序”)
内存容量;
浮点加法运算部件个数
浮点乘法运算部件个数
浮点除法运算部件个数
浮点加法运算延迟周期数
浮点乘法运算延迟周期数
浮点除法运算延迟周期数
如果要修改这些参数,只要直接修改,然后点击“确定”按钮即可。
(2) 流水方式
“流水方式”开关。当该项被勾选(即其前面有个“√”号)时,模拟器按流水方式工作,能模拟流水线的工作过程。否则(即没有被勾选)就是按串行方式执行程序。
该项的勾选和去选(即去掉其前面的“√”号)都是通过点击该项来实现的。下同。
当从流水方式切换为非流水方式(或相反)时,系统将强行使模拟器的状态复位。
(3) 符号地址
“符号地址”开关。当该项被勾选时,代码窗口中的代码将显示原汇编程序中所采用的标号。否则(即没有被勾选)就不显示。
(4) 绝对周期计数
“绝对周期计数”开关。当该项被勾选时,时钟周期图窗口中的横坐标将显示为绝对周期,即时钟周期按0、1、2、… 顺序递增的顺序计数。否则(即没有被勾选)就按相对周期计数,即把当前周期记为第0个周期,而其余周期(在左边)则按其相对于当前周期的位置,分别记为-1,-2,-3,…等。
在非流水方式下,该菜单项不起作用(变灰)。
(5) 定向
“定向”开关,用于指定是否采用定向技术。当该项被勾选时,模拟器在执行程序时将采用定向技术。否则就不采用。
在非流水方式下,该菜单项不起作用(变灰)。
(6) 延迟槽
“延迟槽”开关,用于指定是否采用延迟分支技术。当该项被勾选时,模拟器在执行程序时将采用一个延迟槽。否则就不采用。
在非流水方式下,该菜单项不起作用(变灰)。
(7) 载入配置
用于将一个配置文件(.cfg)载入模拟器,模拟器将按该文件进行配置并复位。点击该菜单项,系统将弹出“打开”对话框,让用户指定所要载入的配置文件。
(8) 保存配置
用于将模拟器当前的配置保存到一个配置文件(.cfg)中,以便以后重用。点击该菜单项,系统将弹出“保存文件”对话框,让用户指定配置文件的名称和位置。
6. 窗口菜单
(1) 平铺
将当前已打开的子窗口平铺在主窗口中。
(2) 层叠
将当前已打开的子窗口层叠在主窗口中。
(3) 打开所有
将所有子窗口都打开。
(4) 收起所有
将所有子窗口最小化。
(5) 选择子窗口
在该菜单中还列出了所有的子窗口的名称,选择其中的任一个,将使该窗口被选中,并被提到最上层。
7. 帮助菜单
该菜单下有两项:“帮助”和“关于MIPSsim”。前者提供用户手册,后者给出关于MIPSsim的版权信息和设计开发者信息。