自己动手写CPU之第五阶段(3)——MIPS指令集中的逻辑、移位与空指令

本文介绍了MIPS32指令集中的逻辑操作、移位操作和空指令,包括and、ori、xor、nor、andi、xori、lui、sll、srl、sra、sllv、srlv、sraV、nop、ssnop等指令的格式、功能和使用方法,并解释了如何在OpenMIPS处理器中处理这些指令,特别是nop和ssnop指令的特殊处理方式。
摘要由CSDN通过智能技术生成

将陆续上传本人写的新书《自己动手写CPU》(尚未出版),今天是第17篇,我尽量每周四篇


5.4 逻辑、移位操作与空指令说明

      MIPS32指令集架构中定义的逻辑操作指令有8条:andandiororixorxorinorlui,其中ori指令已经实现了,本章要实现其余7条指令。

      MIPS32指令集架构中定义的移位操作指令有6条:sllsllvsrasravsrlsrlv

      MIPS32指令集架构中定义的空指令有2条:nopssnop。其中ssnop是一种特殊类型的空操作,在每个周期发射多条指令的CPU中,使用ssnop指令可以确保单独占用一个发射周期。OpenMIPS设计为标量处理器,也就是每个周期发射一条指令,所以ssnop的作用与nop相同,可以按照nop指令的处理方式来处理ssnop指令。

      另外,MIPS32指令集架构中还定义了syncpref2条指令,其中sync指令用于保证加载、存储操作的顺序,对于OpenMIPS而言,是严格按照指令顺序执行的,加载、存储操作也是按照顺序进行的,所以可以将sync指令当作nop指令处理,在这里将其归纳为空指令。pref指令用于缓存预取,OpenMIPS没有实现缓存,所以也可以将pref指令当作nop指令处理,此处也将其归纳为空指令。

      以上17条指令按照格式、作用的不用,又可分为几类,分别说明如下。

      1andorxornor

      这

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值