无心人 发表于 2009-10-15 11:58:45

另外,增加了AES加密算法的硬件支持
算上CRC32
两个算法支持了

gxqcn 发表于 2009-10-15 12:12:18

看了英文文档
仅仅存在128位的操作
乘法也最多是32 * 32
256位不过能增加一次处理数据的次数吧

寄存器是影射的XMM
即低位128和XMM重合
高位128硬件附加的
无心人 发表于 2009-10-15 11:57 http://bbs.emath.ac.cn/images/common/back.gif

乘法若能到达到64*64就好了,
否则还得用最原始的 mul 指令。

无心人 发表于 2009-10-15 13:39:44

64位的乘法足够了
可惜不能并行处理

gxqcn 发表于 2009-10-15 14:13:03

最关键的就是要有可替代 mul 进行并行处理的指令,
这将直接影响大数算法的设计。

无心人 发表于 2009-10-15 15:55:54

那SSE2已经有了并行乘法了

gxqcn 发表于 2009-10-15 16:13:04

我说的是64位OS下。
因为用 mul 指令最大的缺陷是必须占用 RAX、RDX 两个寄存器(imul 指令自由点,但有时不符合要求)。

无心人 发表于 2009-10-15 17:36:56

那没有了

我看了,没有64位乘法
要不你再查查

gxqcn 发表于 2011-5-9 10:19:44

现在 SNB 已大规模上市,我原本寄希望于新指令集 AVX 会有些新的整数指令,但查阅了些资料后略有些失望,因为新指令绝大多数是浮点运算服务的。

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

其中有:
InstructionDescriptionPCLMULQDQPerforms a carry-less multiplication of two 64-bit integersPCLMULLQLQDQ xmmreg,xmmrm
PCLMULHQLQDQ xmmreg,xmmrm
PCLMULLQHQDQ xmmreg,xmmrm
PCLMULHQHQDQ xmmreg,xmmrm
PCLMULQDQ xmmreg,xmmrm,imm 也就是说该系列指令已具备两个64位的乘法,得到的结果是128位吗?
如果是,那就太好了!终于可以在SIMD4中实现并行的64位无符号整数乘法了!
是这样的吗?大家来讨论下吧。。。

gxqcn 发表于 2011-5-9 10:50:38

经查阅Intel的技术文档,好像是结果为127bit,其中最高位一直置“0”,难道这就是指“Carry-less Multiplication (CLMUL) ”?
值得研究研究。

gxqcn 发表于 2011-5-9 11:26:22

很遗憾,这个“Carry-less Multiplication (CLMUL) ”不适用于通常的整数乘法:(
页: 1 [2] 3
查看完整版本: 追求极致的速度必须了解CPU指令集发展趋势