团队名称:到底叫啥队
团队编号:CICC1699
一、B扩展简介
B扩展,即bit-manipulation (bitmanip) extension,主打增强位操作的指令集。B扩展定义了RV32-64下的位操作指令。为了更精准地在领域中进行应用,B扩展分为了几个更细小的子集,zba、zbb、zbc、zbs。
目前,B扩展标准已冻结,可参考官方文档riscv-bitmanip
二、B扩展中包含的指令(及伪指令)及其所属子集
三、子集简介
Zba:
Zba指令可以通过将移位索引添加到基址,实现加速生成使用无符号字大小索引和XLEN大小索引索引为基本类型数组(半字、字、双字)的地址。
移位和加法(例如sh1add)指令在实际代码中十分常见。除了简单加法器外,还可以用最少的额外硬件来实现。这避免了在实现中延长关键路径。
Zbb:
Zbb中包含一些B扩展所需的基本指令。如andn、max、min等。
Zbc:
Carry-less multiplication即无进位乘法,主要处理多项式环上的乘法。
Zbs:
single-bit instructions单比特指令实现了在寄存器中设置、清除、反转、提取单比特的功能。