MIPS 指令系统与体系结构实践:MIPSsim 模拟器探索

需积分: 0 14 下载量 28 浏览量 更新于2024-08-03 收藏 2.48MB DOC 举报
"本次实验主要关注MIPS指令系统和MIPS体系结构的理解与应用,通过使用MIPSsim模拟器进行实践操作。实验旨在让学习者掌握MIPSsim的使用,理解MIPS指令的操作语义,并熟悉MIPS架构。实验过程中,学生需要分析汇编代码,观察程序执行的不同阶段,以及CPU寄存器和存储器的内容变化。 1. MIPS指令系统: MIPS指令系统是精简指令集计算机(RISC)的一种,特点是简单、高效。它包括数据传输、算术运算、逻辑运算、控制转移等多种指令。在MIPS指令中,"ADDIU"指令用于进行无符号整数加法,其中"U"表示无符号。例如,"ADDIU $r8, $r0, Data"将立即数Data加载到寄存器$r8中,这里的Data通常是以二进制形式表示的。在实验中,由于Data的值为128(10000000),在16位立即数字段中,它被截断为124(00011100)。 2. MIPS体系结构: MIPS体系结构采用五级流水线结构,包括取指(IF)、解码(DE)、执行(EX)、内存访问(MEM)和写回(WB)阶段。实验要求模拟器工作在非流水线方式,以便更好地观察每个指令的执行过程。在实验中,学生需要熟悉如何设置模拟器的工作模式。 3. 模拟器操作: MIPSsim模拟器提供了一个交互式的环境来模拟MIPS指令的执行。学生需要学习如何加载、执行和调试汇编代码。例如,载入"alltest.s"程序后,可以通过单步执行、多步执行或设置断点来观察程序执行的过程,同时查看CPU寄存器和存储器的内容变化,以验证对MIPS指令的理解。 4. 数据存储和类型: 在MIPS系统中,数据可以以小端或大端模式存储。实验中提到的模拟器使用小端存储,意味着数值的最低有效位先存储。在解释指令如"LB"(加载字节)、"LW"(加载字)和"LBU"(加载无符号字节)时,要注意数据的字节序和类型。例如,"LB"加载带符号字节,因此当加载的字节是80H(二进制10000000)时,由于它是补码表示的-128。而"LW"和"LBU"不考虑符号,直接取数值,所以会得到128。 5. 数值转换: 十六进制数80H转换为十进制是128。在MIPS中,立即数或数据在内存中以二进制形式存储。80H的二进制形式是10000000,这在有符号整数中表示-128,但在无符号数中直接表示128。 通过这次实验,学生不仅掌握了MIPS指令的使用,还深化了对计算机底层工作原理的理解,尤其是数据的存储、处理和类型转换。这些知识对于深入学习计算机组成原理和系统级编程至关重要。"