23、Arm处理器指令集详解

Arm处理器指令集详解

1. DSP扩展指令集

在数字信号处理(DSP)领域,有一系列专门的指令用于高效地执行乘法和乘累加(MAC)操作。部分指令在发生饱和时会设置APSR中的Q位,但该位不会被这些指令清除,需要手动写入APSR来清除。通常,程序代码需要检查APSR中Q位的值,以检测计算流程中是否发生了饱和。

以下是一些常见的乘法和MAC指令的总结:
| 指令 | 描述 | 标志 |
| — | — | — |
| SMMLSR | 带舍入的有符号乘法和减法 (32b<<32 - (32b * 32b) = 32b,先舍入然后返回高32位,低32位忽略) | |
| SMLALxy | 有符号乘累加 ((16b * 16b) + 64b = 64b)
SMLALBB: (低半字 * 低半字) + 双字
SMLALBT: (低半字 * 高半字) + 双字
SMLALTB: (高半字 * 低半字) + 双字
SMLALTT: (高半字 * 高半字) + 双字 | |
| SMUAD | 有符号双乘法然后相加 ((16b * 16b) + (16b * 16b) = 32b) | Q |
| SMUADX | 有交换的有符号双乘法然后相加 ((16b * 16b) + (16b * 16b) = 32b) | Q |
| SMUSD | 有符号双乘法然后相减 ((16b * 16b) - (16b * 16b) = 32b) | |
| SMUSDX | 有交换的有符号双乘法然后相减 ((16b * 16b) - (16b * 16b) = 32b) | |
| S

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值