团队编号:CICC1699
团队名称:到底叫啥队
一、P扩展简介:
数字信号处理(DSP)已成为现代电子系统的重要技术。广泛的现代应用都采用DSP算法来解决其特定领域的问题,包括传感器融合、伺服电机控制、音频解码/编码、语音合成和编码、MPEG4解码、医学成像、计算机视觉、嵌入式控制、机器人技术、人机界面等。
P指令集扩展提高了RISC-V CPU IP产品的DSP算法处理能力。随着RISC-V P指令集扩展的增加,RISC-Vcpu现在可以以更低的功率和更高的性能运行这些不同的DSP应用程序。
但现在P扩展仍处于未冻结状态,本文基于Version 0.9.11-draft-20211209对P扩展进行简单介绍。
二、指令集详细介绍
P扩展包含指令数量较大,可以按照:SIMD数据处理指令、部分SIMD数据处理指令、64位数据计算指令及非SIMD指令进行分类。其中具体包括8位、16位、32位、64位的加减、乘法、移位、解压、打包等指令。
同时也需要注意,P扩展中部分指令与其他指令集有一定重合。
如与B扩展的重合如下
三、P扩展子集
P指令集同时也可以分为3个子集:Zbpbo、Zpsfoperand及Zpn。
Zbpbo:该子集主要包括位操作的扩展指令,是P扩展能够实现的应用中所需要的。
Zpsfoperand:使用RV32P中的寄存器实现对64位操作数的读写。该子集对RV64P是必做的,而在RV32P中是选做项。
Zpn:最基础的子集,是RV32P及RV64P的必做子集。
子集的允许混合实现如下图