整型标量块指令¶
整型标量块是一种用于执行标量整型数据运算的块指令,承载了通用标量运算中大部分的业务,因此也是灵犀指令集中最为常用的块指令。整型标量块适合顺序执行的标量运算任务,适用于数据流较为简单的计算。
块类型特点¶
整型标量块有如下特征:
- 整型标量块由
BSTART.STD指令开启。 - 整型标量块只支持一体块形式。
- 整型标量块提供全量跳转方式,具体参考跳转方式。
- 整型标量块内不支持块内跳转。
- 整型标量块内允许访问全局寄存器GGPR,系统寄存器SSR和内存等全局状态。不允许访问Tile寄存器。
块内状态BSTATE¶
整型标量块的BSTATE中包含以下三部分内容:
- BARG寄存器:块内的控制参数寄存器,用于条件跳转或执行参数的保存和处理。
- TPC寄存器:记录块内正在执行的指令的地址(块内单一TPC)。
- SGPR寄存器:包含8个通用标量寄存器,用于保证块内数据流高效传递以及提供块内临时数据的载体。
总体上,STD块的BSTATE以BARG管理块级控制(跳转、顺序、属性),以单一TPC推进块体微指令执行,并以8个SGPR提供块内高效的标量数据通道与临时存储,三者协同完成整型标量块的调度与执行闭环。
汇编示例¶
整型标量块使用一体块形式进行定义,汇编示例如下: