指令集:MIPS基本指令与其他指令集之间对比

各种体系结构的基本指令之间有很多的相似之处,这里我们以MIPS的基本指令为基准,对比另外的指令集。

MIPS主要指令

几乎所有的体系结构都可以找到跟MIPS基本指令相似的指令,就像图9到图13所示的这样。指令可以分为四类:数据传输(图9);算术,逻辑(图10);控制(图11);浮点指令(图12)。第五类(图13)是寄存器使用的约定和各个体系结构的伪指令。如果一条MIPS基本指令在另外的体系结构中需要顺序的几条指令来替代,在图9到13中用分号来连接。(为了防止混淆,在这里,目的寄存器总是最左边的那个,不一定跟各个指令集中原本的用法一样。)图14到图17罗列的是嵌入式RISC中等价的指令。嵌入式RISC中一般不会定义浮点指令。

图9:MIPS对应的桌面RISC数据传输指令。等价MIPS指令的几条顺序指令,由分号分隔,如果有好几条指令可以对应,则用逗号分隔。在这个图中,半字是16bit,一个字是32个bit。注意在Alpha中,LDS将单精度浮点转换成双精度浮点,并且填满了整个64位寄存器。
图10:MIPS对应的桌面RISC算术/逻辑指令。破折号代表那个体系结构没有对应的指令,或者说不是几条指令就可以得到等价的操作。等价MIPS指令的几条顺序指令,由分号分隔,如果有好几条指令可以对应,则用逗号分隔。在算术/逻辑类指令中,除了SPARC的体系结构都用不同的指令助记符来标明一个立即数操作。SPARC直接提供多个立即数版本的指令(当然,它们是独立的操作符)。
图11:MIPS对应的桌面RISC控制指令。等价MIPS指令的几条顺序指令,由分号分隔,如果有好几条指令可以对应,则用逗号分隔。
图12:MIPS对应的桌面RISC浮点指令。破折号代表那个体系结构没有对应的指令,或者说不是几条指令就可以得到等价的操作。等价MIPS指令的几条顺序指令,由分号分隔,如果有好几条指令可以对应,则用逗号分隔。
图13:MIPS对应的桌面RISC约定。
图14:MIPS对应的嵌入式指令传输指令。等价MIPS指令的几条顺序指令,由分号分隔。注意的是嵌入式RISC一般没有浮点指令定义。Thumb和MIPS16是16位指令,是ARM和MIPS指令集的子集,可以在执行中切换模式,到执行完整的指令集。破折号说明存在32位指令,但是不存在16位指令。
图15:MIPS对应的嵌入式RISC算术/逻辑指令。破折号代表那个体系结构没有对应的指令,或者说不是几条指令就可以得到等价的操作。等价MIPS指令的几条顺序指令,由分号分隔,如果有好几条指令可以对应,则用逗号分隔。Thumb和MIPS16是16位指令,是ARM和MIPS指令集的子集,可以在执行中切换模式,到执行完整的指令集。上标1说明存在32位指令,但是不存在16位指令。上标2代表只存在16位的模式中。ARM在所有数据操作指令中都可以移位,所以上标3代表是move指令的一个变种,比如LSR3。
图16:MIPS对应的嵌入式RISC控制指令。Thumb和MIPS16是16位指令,是ARM和MIPS指令集的子集,可以在执行中切换模式,到执行完整的指令集。破折号1说明存在32位指令,但是不存在16指令。上标2代表只存在16位的模式中。
图K17。MIPS对应的嵌入式RISC约定。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 指令集、体系架构、微架构 [转] 转载自《操作系统真相还原》 指令集是什么?表面上看它是一套指令的集合。集合的意思...
    罗蓁蓁阅读 12,233评论 2 15
  • 一、概要 1、数据的表示:数制及其转换、原码、反码、补码、移码、浮点数、溢出、算...
    _Jason___阅读 8,773评论 0 5
  • 今天下午计划健身房锻炼,和私教小哥联系他在上海。原本就有些懒懒的遂顺势约了三天后。 喝着茶,打包了几个小件。...
    採葛小苑阅读 1,666评论 0 0
  • 今天12月8日,下周六17日是不是又要早起,带好“三证一书”奔赴考场了? 如果你之前并没有看到关于听力训练的方法,...
    Melody与麦乐迪阅读 8,526评论 8 110
  • 旧旧的阳光跳在旧旧的竹藤椅上,旧旧的花盆里盛开着旧旧的花草。旧旧的植物藤蔓蜿蜒在旧旧的额上,旧旧的人儿立在旧旧的墙...
    徐册册阅读 4,183评论 14 20

友情链接更多精彩内容