跳转至

块体指令

当前版本,系统块块体中提供的指令列表如下:

公共指令

系统块内支持所有的公共指令,具体请见公共指令列表

特有指令

系统块内独有的32bit指令如下:

分类 指令列表
执行控制 BSE, BWE, BWI, BWT, ASSERT, ACRC, ACRE, DSB
屏障作用 DSB, ISB
缓存管理 BC.IVA, BC.IALL, IC.IVA, IC.IALL, DC.IVA, DC.IALL, DC.CVA, DC.CIVA, DC.ISW, DC.CSW, DC.CISW, DC.ZVA
页表维护 TLB.IA, TLB.IV, TLB.IAV, TLB.IALL
加载保留与条件存储 LR.B, LR.H, LR.W, LR.D, SC.B, SC.H, SC.W, SC.D
原子操作·加载字 LW.ADD, LW.AND, LW.OR, LW.XOR, LW.SMAX, LW.SMIN, LW.UMAX, LW.UMIN
原子操作·加载双字 LD.ADD, LD.AND, LD.OR, LD.XOR, LD.SMAX, LD.SMIN, LD.UMAX, LD.UMIN
原子操作·存储字 SW.ADD, SW.AND, SW.OR, SW.XOR, SW.SMAX, SW.SMIN, SW.UMAX, SW.UMIN
原子操作·存储双字 SD.ADD, SD.AND, SD.OR, SD.XOR, SD.SMAX, SD.SMIN, SD.UMAX, SD.UMIN
原子交换 SWAPB, SWAPH, SWAPW, SWAPD

系统块内独有的48bit指令如下:

分类 指令列表
通用队列管理 HL.QMT, HL.QPUSH, HL.QPOP
原子操作 HL.CASB, HL.CASH, HL.CASW, HL.CASD

系统块内独有的64bit指令如下:

分类 指令列表
原子双元素比较交换 L.CASBP, L.CASHP, L.CASWP, L.CASDP

指令特性

系统块内块体指令的特性包括:

  • 系统块内块体指令是完备的,包括所有的基础指令。
  • 系统块指令内块体指令可以被中断和产生异常。
  • 系统块指令内块体指令设置系统寄存器时立即生效,无影子系统寄存器。访问系统寄存器效果和访存相同。允许在一个块指令内先设置再读取。
  • 系统块指令内中断控制,系统调用,异常返回等修改BPC的指令,需要在系统块指令整体提交后生效。

备注

系统块内暂时不支持超长指令。