2.6-MIPS指令简介
MIPS秉承着指令数量少, 指令功能简单的设计理念,那这样的设计理念 是如何实现的呢?在这一节,我们就将来分析MIPS指令的特点。 相比于X86指令所提供的动辄上千页的指令说明,MIPS指令 只用这两页纸就可以说清楚了。MIPS指令的基本格式 就分为这三种,R型,I型和J型。R型指的是寄存器型, I型指的是立即数型,J型指的是转移型。 我们用这张表对MIPS的指令进行不同纬度的分类,横轴是按照指令的格式 分为R型、I型和J型,纵轴则是根据指令的功能类型分为运算指令、 访存指令和分支指令。首先,我们来看指令格式为R型的运算指令。 R型指令总共包含六个域,其中最高位的opcode域 是六个比特,最低位的funct域也是六个比特, 中间的四个域,均为五个比特,我们分别来看各个域的用途。 opcode域,用于指定指令的类型,对于所有的R型指令,这个域的值,均为零, 但这并不是说明R型指令只有一种,它还需要用funct域来更为精确的指定指令的类型。所以说,对 于R型指令,实际上一共有12个比特操作码, 那大家可以思考一下,为什么不将opcode域和funct域合并成一个12比特的域呢? 那样岂不是更直观明了吗?我们再来看这些5比特的域。 RS域,这个域通常用来指定第一个源操作数所在的寄存器编号, rt域通常用来指定第二个源操作数所在的寄存器的编号,