RISC-V MCU中文社区

【分享】 RVB 位操作指令集扩展(一)

发表于 全国大学生集成电路创新创业大赛 2023-05-30 22:02:02
0
1059
2

团队名称:到底叫啥队

团队编号: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单比特指令实现了在寄存器中设置、清除、反转、提取单比特的功能。


喜欢2
用户评论
鸹

实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板