[RISC-V MCU 应用开发] RV32M(乘法指令)的特点是什么?

[复制链接]
 楼主| forgot 发表于 2024-5-9 08:41 | 显示全部楼层 |阅读模式
不包含在基础指令集RV32I中,需要单独扩展;
包括乘法和除法指令,均支持有符合数和无符号数;
使用两条指令完成一个64位的完整乘法,而不是为其单独分配两个寄存器(分别存储高32位和低32位结果);
提供不同除法指令,支持返回商或者余数;
提供一条乘法指令,支持返回乘积的低32位;提供三条乘法指令,分别针对操作数都是无符号数、都是有符号数、一个无符号数和一个有符号数,支持返回乘积的高32位。

yangjiaxu 发表于 2024-12-11 23:42 | 显示全部楼层
RV32M 扩展引入了以下乘法指令,MUL 指令

alkaidnext 发表于 2024-12-12 11:46 | 显示全部楼层
RV32M 是 RISC-V 指令集架构(ISA)的一部分,专门用于支持整数乘法和除法操作。RV32M 扩展为 RV32I 基础指令集增加了乘法和除法指令,使得处理器能够更高效地执行这些操作。

Allison8859 发表于 2024-12-14 11:21 | 显示全部楼层
执行两个 32 位整数的乘法,结果为 64 位,取高 32 位。

Candic12e 发表于 2024-12-14 14:14 | 显示全部楼层
将寄存器 rs1 和 rs2 中的值相乘,结果为 64 位。结果的高 32 位存储在寄存器 rd 中

HeimdallHoney 发表于 2024-12-15 07:47 | 显示全部楼层
MULHSU 指令,执行一个有符号整数和一个无符号整数的乘法,结果为 64 位,取高 32 位。

Betty1299 发表于 2024-12-15 09:13 | 显示全部楼层
MULHU 指令,执行两个无符号整数的乘法,结果为 64 位,取高 32 位。

EuphoriaV 发表于 2024-12-15 10:14 | 显示全部楼层
除法指令,DIV 指令,执行两个有符号整数的除法。

Augenstern星星 发表于 2024-12-15 13:13 | 显示全部楼层
DIVU 指令,执行两个无符号整数的除法。将寄存器 rs1 中的无符号值除以寄存器 rs2 中的无符号值,结果存储在寄存器 rd 中。如果除数为零,结果为全 1(即 0xFFFFFFFF)。

Whosheart 发表于 2024-12-15 15:18 | 显示全部楼层
REM 指令,执行两个有符号整数的取余操作。将寄存器 rs1 中的有符号值除以寄存器 rs2 中的有符号值,余数存储在寄存器 rd 中。如果除数为零,结果为被除数的值。

Carmen7 发表于 2024-12-16 11:56 | 显示全部楼层
REMU 指令,将寄存器 rs1 中的无符号值除以寄存器 rs2 中的无符号值,余数存储在寄存器 rd 中。如果除数为零,结果为被除数的值。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2064

主题

14488

帖子

59

粉丝
快速回复 在线客服 返回列表 返回顶部

2064

主题

14488

帖子

59

粉丝
快速回复 在线客服 返回列表 返回顶部