CPU-移动操作指令说明

简介: CPU-移动操作指令说明

移动操作指令说明


     MIPS32指令集架构中定义的移动操作指令共有6条:movn、movz、mfhi、mthi、mflo、mtlo,后4条指令涉及到了对特殊寄存器HI、LO的读写操作,截止到本章,我们的OpenMIPS处理器只实现了32个通用寄存器、以及PC,所有的指令也只是对32个通用寄存器进行操作,还没有涉及特殊寄存器,本章将实现HI、LO这两个特殊寄存器。

 HI、LO寄存器用于保存乘法、除法结果。当用于保存乘法结果时,HI寄存器保存结果的高32位,LO寄存器保存结果的低32位;当用于保存除法结果时,HI寄存器保存余数,LO寄存器保存商。在后续“算术操作指令的实现”一章中,会进一步说明。

这6条移动操作指令的格式如图6-1所示。

     从图6-1可知,这6条指令都是R类型指令,并且指令码都是6'b000000,即均为SPECIAL类指令,同时,指令第6-10bit都为0,可以依据指令中0-5bit功能码的值判断是哪一种指令。各指令的用法及作用说明如下。

当功能码为6'b001011时,表示是movn指令

     指令用法为:movn rd, rs, rt

     指令作用为:if rt ≠0 then rd <- rs,判断地址为rt的通用寄存器的值,如果不为零,那么将地址为rs的通用寄存器的值赋给地址为rd的通用寄存器,反之,保持地址为rd的通用寄存器不变。movn是Move Conditional on Not Zero的意思。

当功能码为6'b001010时,表示是movz指令

     指令用法为:movz rd, rs, rt

     指令作用为:if rt = 0 then rd <- rs,与上面movn指令的作用正好相反,判断地址为rt的通用寄存器的值,如果为零,那么将地址为rs的通用寄存器的值赋给地址为rd的通用寄存器,反之,保持地址为rd的通用寄存器不变。movz是Move Conditional on Zero的意思。

当功能码为6'b010000时,表示是mfhi指令

     指令用法为:mfhi rd

     指令作用为:rd <- hi,将特殊寄存器HI的值赋给地址为rd的通用寄存器。

当功能码为6'b010010时,表示是mflo指令

     指令用法为:mflo rd

     指令作用为:rd <- lo,将特殊寄存器LO的值赋给地址为rd的通用寄存器。

当功能码为6'b010001时,表示是mthi指令

     指令用法为:mthi rs

     指令作用为:hi <- rs,将地址为rs的通用寄存器的值赋给特殊寄存器HI。

当功能码为6'b010011时,表示是mtlo指令

     指令用法为:mtlo rs

     指令作用为:lo <- rs,将地址为rs的通用寄存器的值赋给特殊寄存器LO。

目录
相关文章
|
5月前
|
Oracle 关系型数据库 Linux
解决在linux服务器上部署定时自动查找cpu,内存,磁盘使用量,并将查询结果写入数据库的脚本,只能手动运行实现插库操作
问题描述:将脚本名命名为mortior.sh(以下简称mo),手动执行脚本后查询数据库,表中有相应的信息,放入自动执行队列中,脚本被执行,但是查询数据库,并没有新增数据。
43 0
|
5月前
|
算法 编译器
【计算机架构】响应时间和吞吐量 | 相对性能 | 计算 CPU 时间 | 指令技术与 CPI | T=CC/CR, CC=IC*CPI
【计算机架构】响应时间和吞吐量 | 相对性能 | 计算 CPU 时间 | 指令技术与 CPI | T=CC/CR, CC=IC*CPI
268 0
|
3月前
|
存储 Ruby 内存技术
【机组期末速成】CPU的结构与功能|CPU结构|指令周期概述|指令流水线|中断系统
【机组期末速成】CPU的结构与功能|CPU结构|指令周期概述|指令流水线|中断系统
80 1
|
4月前
|
存储 缓存 Java
揭秘计算机指令执行的神秘过程:CPU内部的绝密操作
本文介绍了计算机指令和CPU如何执行指令。它解释了计算机指令可以被视为CPU所理解的语言,不同的CPU支持不同的指令集。文中重点介绍了MIPS指令集作为示例。同时,还描述了CPU的内部处理过程,包括控制单元、算术逻辑单元和数据单元。文章最后讨论了CPU和内存之间通过地址和数据总线进行的数据传输。
105 1
|
8月前
|
Linux
Linux磁盘与CPU的相关操作
Linux磁盘与CPU的相关操作
|
8月前
|
Shell Linux
Linux磁盘与CPU的相关操作
显示文件系统的磁盘空间 df -Th -T:显示文件系统类型。 -h:以可读的方式显示磁盘空间大小,使用适当的单位(如GB、MB)。 显示文件或目录的磁盘空间 显示当前文件或目录的磁盘空间使用情况 du -h 指定目录或文件的磁盘空间使用情况 du -h <目录或文件> 显示所有文件或目录的总使用量 du -sh -s:表示只显示总使用量而不显示详细信息。 -h:显示磁盘空间大小,使用适当的单位(如GB、MB)。
41 1
|
8月前
|
缓存 安全 Java
volatile底层的实现原理:volatile关键字的作用、内存模型、JMM规范和CPU指令
volatile底层的实现原理:volatile关键字的作用、内存模型、JMM规范和CPU指令
122 0
|
11月前
|
存储 编译器 C语言
CPU指令解析及函数调用机制
CPU指令解析及函数调用机制
227 0
|
11月前
|
存储 缓存 索引
通过地址和索引实现数组、CPU指令执行过程、内存概述及内存物理结构
通过地址和索引实现数组、CPU指令执行过程、内存概述及内存物理结构
63 0
3BHE032285R0102 XVC772A102 增加在CPU内执行指令的速率
3BHE032285R0102 XVC772A102 增加在CPU内执行指令的速率
103 0
3BHE032285R0102  XVC772A102 增加在CPU内执行指令的速率

热门文章

最新文章