找回密码
 欢迎注册
查看: 35092|回复: 15

[讨论] 用 MMX 与 SIMD 寄存器哪个速度快?

[复制链接]
发表于 2008-4-15 10:58:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
精华
x86上128位二进制乘法最快速算法征解中,
大家发现一个现象:同样用 SSE2 指令,但用 MM0~7 寄存器反比 XMM0~7 要快!

我查阅了一些资料,有说整数的乘法是基于FPU的,而MMX的 MM0~7 寄存器与FPU的 ST(0~7) 寄存器物理上是共用的,
而 SSE2 的整数乘法指令在 P4、P4E 及 AMD64 上也是用FPU单元实现的(Core2 的未知),
所以在做乘法运算时,用 MM0~7 寄存器有先天优势,而用 XMM0~7 寄存器要多一个数据搬运(我的理解)。

问题:
1、不知我上述推理是否合理?
2、除乘法外,其它指令用哪套寄存器最快?
3、未来的CPU的整型乘法是否会有区别于浮点的专用电路?
4、未来的SIMD的整型乘法是否可无需借助浮点计算单元?
欢迎讨论。。。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-15 11:20:17 | 显示全部楼层
都存在数据搬运吧
现代CPU运算单元和寄存器单元是分离的吧
否则无法做到扩展

我想关键是XMM是128位的
某些操作要比MM寄存器多做一倍的工作
比如paddq mm只加一次 xmm要多加高64一次
乘法类似
所以延迟就多了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-15 11:22:05 | 显示全部楼层
而且据我的知识
整乘法和浮点乘法是不同的
可能电路公用一些部分
但后部处理不同
整乘法存在并行的逻辑算法
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-15 15:30:48 | 显示全部楼层
我看到的说法是,SSE指令的延迟高一些,所以在小规模的指令群中,
还是MMX的要快一些,但是MMX要用EMMS清除,SSE可以不用

尤其是在乘除法只能在一个端口(乱序执行)中运算,延迟高必然总体速度快不了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-15 15:31:54 | 显示全部楼层
emms占的比例如果问题规模大
是很小的吧
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-15 16:07:44 | 显示全部楼层
或者这么理解,在前后寄存器相关性比较紧密的时候,
操作XMM0~7的SSE指令延迟较高,导致流水线等待的时间多长,
而MMX延迟低,虽指令数多,但等待的时间短,更利于乱序执行
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-4-15 16:42:37 | 显示全部楼层
也许在未来CPU上SIMD系列指令进一步提速,
使每个指令执行的周期更小,延时更少,吞吐量更大,
倒有可能扭转当前的局面,不知对否?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-15 16:49:19 | 显示全部楼层
SSE除非发展出128位计算引擎
否则在大整数计算上XMM无法和MM寄存器抗衡的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-15 21:19:23 | 显示全部楼层
到目前为止,对于大整数乘法的种种尝试表明,不管是PIV还是PM,使用 MMX 64bit 寄存器的指令总是具有优势。我想,主要原因是:使用 MMX 64bit寄存器的指令在打包/解包相对较为简单。如果使用SSE2 128bit 寄存器需要 更多的 打包/解包指令,引起指令条数的增加。128bit指令的高数据处理能力不足 抵消 额外的打包解包指令的开销,而且128bit指令具有更多的延时。
   也许,将后的SSE2指令更加快速,敏捷。那时,我们可以尝试使用SSE2指令优化我们的程序。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-15 21:41:09 | 显示全部楼层
如果64位流行了
在64位情况下
肯定有另外的结果

=====================
另外,早在2004(或者2005年,我不记得了)年我就在第一次发乘法汇编代码的时候说过
似乎MM寄存器比XMM快,可是你们还在96X96那帖子里用XMM寄存器

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-28 05:17 , Processed in 0.060308 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表