首页 > 代码库 > 技术向|CPU的指令分类

技术向|CPU的指令分类


CPU指令介绍

 

主流的CPU的指令一般有以下3种:

 

  1. 从内存加载值(Load Values) 到寄存器的指令和从寄存器存储(Store)到内存的指令。

  2. 操作存储在寄存上面值的指令。

     

    操作两个寄存器的Add,Subtract,Multiply,Divide

    按位级(bitwise)操作的 and ,or,xor

    数学函数cos ,sin 取平方根等

     

  3. 分支(Branching) 指令。

     

    CPU有一个instruction pointer 寄存器,(就是我们常说的指令指针IP)。

     

    它指向下一个要执行的指令(next instruction)。

     

    通常,他是自增的方式指向下一个指令。

     

    但是分支指令会检查某个寄存器的值是否是0。如果不是0(我们常说的true),就会更改IP的值到另一个地址。

 

 

我们看下面的例子来了解指令。

 

 

     技术分享

 

R1和R2,R3是寄存器,图中CPU的指令(Instruction)如下:

 

    • 设置R1的值为100

       

    • 加载(Loading)0x100的值给R2

       

    • R1和R2相加得到100,赋值给R3

       

    • 保存R3的值保存到地址0x110(其实寄存器R4会保持这个值110,为了后面使用)

技术向|CPU的指令分类