找回密码
 欢迎注册
查看: 35075|回复: 21

[原创] 追求极致的速度必须了解CPU指令集发展趋势

[复制链接]
发表于 2009-10-14 11:34:14 | 显示全部楼层 |阅读模式

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

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

×
程序需要运行在相应的平台的, 作为开发者(甚至使用者)应多少关心相关硬件的发展趋势, 这样才能充分发挥设备的优势。 为什么汇编可以那么快?正是因为它贴近于底层。 相对于硬盘、RAM等, 更应该关注CPU的指令集发展、寄存器的扩容。 今天偶尔得闲,搜索了一下先前关注的 SSE5, 才得知AMD已宣布放弃了SSE5,转而支持 Intel 的 AVX 指令集。 再查“CPU AVX”,才知道这确实是个令人期待的,尤其是引入了 256 位的 YMM 寄存器。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-10-14 11:42:27 | 显示全部楼层
HugeCalc 已有近两年未公开升级了, 一则是比较忙; 二则是我一直想把它移植到64位平台,虽然尚未付诸实际行动(因为家里的机器配置太落后)。 在32位平台下,可以有128位的XMM寄存器可用, 而在64位平台下,当下却缺少相对应翻倍字长的寄存器可用, 所以有一些美妙的算法在移植时可能不得不割舍。 当发现即将有 AVX 指令集,以及 YMM 寄存器时, 内心的激动可想而知。 可惜,这样也许又会再次推迟我对家里电脑更新换代,同时也会增加相应的预算。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-10-14 16:30:07 | 显示全部楼层
软件太依赖硬件不太好吧
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-10-14 20:02:27 | 显示全部楼层
普通的应用确实不需花太多的精力在硬件上, 但追求极致时就不得不去多了解了解了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-10-15 11:24:52 | 显示全部楼层
数学软件,从来都是最需要速度的 恨不得自己去优化CPU微代码 呵呵 数学程序要速度不要兼容
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-10-15 11:36:02 | 显示全部楼层
同意郭老大, 我的好几个素数程序借助 SSE4 性能能提高不少。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-10-15 11:39:27 | 显示全部楼层
我还没用过 SSE4,因为还没有那好的机器供调试。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-10-15 11:39:59 | 显示全部楼层
主要期待256位寄存器 另外,不知道是否增加了寄存器数量 还有,似乎是浮点指令多 有没有整数指令阿? 哪里有文档?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-10-15 11:47:34 | 显示全部楼层
好像 YMM 寄存器也是 16 个, 指令嘛,应该是全面覆盖当前的 SIMD 指令,且会新增一些FMA(Fused Multiply Accumulate) 指令。 同样的 VAX 指令,可以用 YMM 寄存器,也可用 XMM 寄存器(不可混用吧,也没那个必要)。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-10-15 11:57:32 | 显示全部楼层
看了英文文档 仅仅存在128位的操作 乘法也最多是32 * 32 256位不过能增加一次处理数据的次数吧 寄存器是影射的XMM 即低位128和XMM重合 高位128硬件附加的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-10-11 08:34 , Processed in 0.026809 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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