- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MIPSsim使用手册【DOC精选】
1.4 MIPSsim使用手册
1.4.1 启动模拟器
双击MIPSsim.exe,即可启动该模拟器。MIPSsim是在Windows操作系统上运行的程序,它需要用.NET运行环境。如果你的机器没有该环境,请先下载和安装“Microsoft .NET Framework 2.0 版可再发行组件包”。
模拟器启动时,自动将自己初始化为默认状态。所设置的默认值为:
? 所有通用寄存器和浮点寄存器为全0;
? 内存清零;
? 流水寄存器为全0;
? 清空时钟图、断点、统计数据;
? 内存大小为4096字节;
? 载入起始地址为0;
? 浮点加法、乘法、除法部件的个数均为1;
? 浮点加法、乘法、除法运算延迟分别为6、7、10个时钟周期;
? 采用流水方式;
? 不采用定向机制;
? 不采用延迟槽;
? 采用符号地址;
? 采用绝对周期计数。
当模拟器工作在非流水方式下(配置菜单中的“流水方式”前没有“√”号)时,下面叙述中有关流水段的内容都没有意义,应该忽略之。
1.4.2 MIPSsim的窗口
在流水方式下,模拟器主界面中共有7个子窗口,它们是:代码窗口、寄存器窗口、流水线窗口、时钟周期图窗口、内存窗口、统计窗口和断点窗口。每一个窗口都可以被收起(变成小图标)、展开、拖动位置和放大/缩小。当要看窗口的全部内容时,可以将其放大到最大。
在非流水方式下,只有代码窗口、寄存器窗口、内存窗口和断点窗口。
1. 代码窗口
代码窗口给出内存中代码的列表,每条指令占一行,按地址顺序排列。每行有5列(当全部显示时):地址、断点标记、指令的机器码、流水段标记和符号指令。如图1.1所示。
图1.1 代码窗口
图中不同抹色的行代表相应的指令所处的执行段。黄色代表IF段,绿色代表ID段,红色代表EX段,青色代表MEM段,棕色代表WB段。
该窗口中各列的含义如下:
? 地址:以16进制的形式给出。内存是按字节寻址的,每条指令占4个字节。当采用符号地址时,会在相应的位置给出汇编程序中出现的标号。
? 断点标记:如果在该指令处设有断点,则显示相应的标记。断点标记的形式为B.X(X为段名),表示该断点是设置在该指令的“X”段。例如,若某行的断点标记为“B.EX”,则表示在该指令的EX段设置了断点。
当模拟器工作在非流水方式下时,断点的标记为B。
? 机器码:该行所对应的指令的十六进制机器码。若该行无指令,则仅仅显示4字节数据;
? 流水段标记:表示当该指令正在执行时,它在当前周期该指令所处的流水段。当模拟器工作在非流水方式下时,它没有意义。
? 符号指令:机器代码所对应的符号指令。
在该窗口中选中某行(用鼠标左键单击),然后再点击鼠标右键,就会弹出菜单:设置断点,清除断点,它们分别用于在所选指令处设置断点和清除断点。
? 设置断点
选择(点击)要设断点的指令?点击右键?“设置断点”,弹出“设置断点”小对话框,在“段”的下拉框中选择断点所在的流水段(在非流水方式下,不存在该下拉框),单击“确定”即可。
? 清除断点
选择(点击)指令?点击右键?“清除断点”,则设置在该指令处的断点被删除。
2. 寄存器窗口
寄存器窗口显示MIPSsim模拟器中的寄存器的内容。共有4组寄存器:通用寄存器、浮点寄存器、特殊寄存器和流水寄存器,分为4栏来显示。每一栏下分别有各自的数据格式选项,如图1.2所示。
图1.2 寄存器窗口
(1) 通用寄存器
MIPS64有32个64位通用寄存器:R0,R1,…,R31。它们被简称为GPRs(General-Purpose Registers),有时也被称为整数寄存器。R0的值永远是0。
通过数据格式选项,可以选择显示的格式是十进制还是十六进制。
(2) 浮点寄存器
共有32个64位浮点数寄存器:F0,F1,…,F31。它们被简称为FPRs(Floating-Point Registers)。它们既可以用来存放32个单精度浮点数(32位),也可以用来存放32个双精度浮点数(64位)。存储单精度浮点数(32位)时,只用到FPR的一半,其另一半没用。
(3) 特殊寄存器
特殊寄存器有4个:
? PC:程序计数器(32位);
? LO:乘法寄存器的低位;
? HI:乘法寄存器的高位;
? FCSR:浮点状态寄存器。
(4) 流水寄存器
? IF/ID.IR:流水段IF与ID之间的指令寄存器;
? IF/ID.NPC:流水段IF与ID之间的下一指令程序计数器;
? ID/EX.A:流水段ID与EX之间的第一操作数寄存器;
? ID/EX.B:流水段ID与EX之间的第二操作数寄存器;
? ID/EX.Imm:流水段ID与EX之间的立即数寄存器;
? ID/EX.IR:存放从IF/ID.IR传过来的指令;
? EX/MEM.ALUo:流水段
文档评论(0)