3DNow! — Extended Instruction Set

本文介绍了AMD在1999年发布的Athlon处理器时对其3DNow!指令集进行的扩展,包括新增的类型转换和累加操作指令。这些扩展增强了处理器的浮点运算能力和数据处理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

3DNow! — Extensions

When AMD released their Athlon processor in 1999, they also took the liberty to extend their 3DNow! instruction set with a few new instructions. They basically provide a few more conversion operations and a few accumulation operations. These instructions have many names, including 3DNow!+, 3DNow!ext, 3DNow!2, 3DNow! Professional, etc.

3DNow! — Conversions Instructions

Extending the pf2id and pi2fd instructions, 3DNow!2 gives us 2 more type conversion instructions, for converting to and from 16-bit words.

pf2iw converts a floating point value to a 16-bit signed integer. To top 16 bits of value are copies of the sign bit.

pi2fw converts a 16-bit signed integer to a 32-bit floating point value. This instruction throws out data in the top 16-bits of each half, which makes it different from pi2fd.

While not strictly a conversion instruction, I couldn't justify a whole section for the pswapd instruction.

pswapd stores the top and bottom 32-bits of a register or memory location in reverse order in a destination register. The top 32-bits are stored in the bottom half of the destination, and the bottom 32-bits are stored in the top half.

3DNow! — Accumulation Extensions

3DNow!2 gives us 2 more pfacc-like instructions as well.

pfnacc behaves just like pfacc, except instead of summing the pairs it subtracts them.

pfpnacc is a bit more tricky. This instruction subtracts the top half of a register from the bottom half, and stores the result in the bottom half, and sums the top and bottom halves of a source register or memory location, storing the result in the top of the first register.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值