找回密码
 欢迎注册
楼主: gxqcn

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

[复制链接]
发表于 2009-10-15 11:58:45 | 显示全部楼层
另外,增加了AES加密算法的硬件支持
算上CRC32
两个算法支持了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-10-15 12:12:18 | 显示全部楼层
看了英文文档
仅仅存在128位的操作
乘法也最多是32 * 32
256位不过能增加一次处理数据的次数吧

寄存器是影射的XMM
即低位128和XMM重合
高位128硬件附加的
无心人 发表于 2009-10-15 11:57


乘法若能到达到64*64就好了,
否则还得用最原始的 mul 指令。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-10-15 13:39:44 | 显示全部楼层
64位的乘法足够了
可惜不能并行处理
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-10-15 14:13:03 | 显示全部楼层
最关键的就是要有可替代 mul 进行并行处理的指令,
这将直接影响大数算法的设计。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-10-15 15:55:54 | 显示全部楼层
那SSE2已经有了并行乘法了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-10-15 16:13:04 | 显示全部楼层
我说的是64位OS下。
因为用 mul 指令最大的缺陷是必须占用 RAX、RDX 两个寄存器(imul 指令自由点,但有时不符合要求)。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-10-15 17:36:56 | 显示全部楼层
那没有了

我看了,没有64位乘法
要不你再查查
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2011-5-9 10:19:44 | 显示全部楼层
现在 SNB 已大规模上市,我原本寄希望于新指令集 AVX 会有些新的整数指令,但查阅了些资料后略有些失望,因为新指令绝大多数是浮点运算服务的。

今天搜索资料,突然发现一个很好玩可能很有用的指令——CLMUL instruction set

其中有:
Instruction
Description
PCLMULQDQPerforms a carry-less multiplication of two 64-bit integers
  1. PCLMULLQLQDQ xmmreg,xmmrm [rm: 66 0f 3a 44 /r 00]
  2. PCLMULHQLQDQ xmmreg,xmmrm [rm: 66 0f 3a 44 /r 01]
  3. PCLMULLQHQDQ xmmreg,xmmrm [rm: 66 0f 3a 44 /r 02]
  4. PCLMULHQHQDQ xmmreg,xmmrm [rm: 66 0f 3a 44 /r 03]
  5. PCLMULQDQ xmmreg,xmmrm,imm [rmi: 66 0f 3a 44 /r ib]
复制代码
也就是说该系列指令已具备两个64位的乘法,得到的结果是128位吗?
如果是,那就太好了!终于可以在SIMD4中实现并行的64位无符号整数乘法了!
是这样的吗?大家来讨论下吧。。。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2011-5-9 10:50:38 | 显示全部楼层
经查阅Intel的技术文档,好像是结果为127bit,其中最高位一直置“0”,难道这就是指“Carry-less Multiplication (CLMUL) ”?
值得研究研究。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2011-5-9 11:26:22 | 显示全部楼层
很遗憾,这个“Carry-less Multiplication (CLMUL) ”不适用于通常的整数乘法
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-3-29 01:28 , Processed in 0.044972 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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