易语言资源网 - 做最全的易语言资源下载社区
精易论坛授权登录

硬件指令优化系列-汇编CRC32指令   [复制链接]

    2019-03-09 11:37:46
    高级教程源码
    易语言资源网
    3786 次浏览
    来源链接
纯软件实现CRC32经常是借助于查表实现的,当计算CRC32过于频繁时可通硬件指令优化以减少对CPU的占用。
目前Intel支持的用于计算CRC的有CRC32和PCLMULQDQ两个指令。
本文仅讨论使用CRC32指令的使用。CRC32指令计算的是iSCSI CRC,也就是生成多项式为0x11EDC6F41的32位CRC。


注意:
现在常用的是标准的CRC32,也就是生成多项式为0x04C11DB7的32位CRC。
而Intel内部使用的是CRC32-C,也就是生成多项式为0x11EDC6F41的32位CRC。
请看好,最后计算出来的CRC32与标准的是不一样的。
所以,我这个仅用于自校验,请勿回复关于为什么与其他程序生成的CRC32不同的问题


CRC32指令适用于支持SSE4.2的CPU
Intel Core i7 965、Intel Xeon X3400及以上的CPU
AMD 2011年推出Bulldozer(推土机)架构及以后的CPU



点我下载 (已有 97 次下载)

引用模块





引用支持库


源码文件名 支持库文件名 支持库标识
CRC32C.e 系统核心支持库 5.3 d09f2340818511d396f6aaf844c7e325
特殊功能支持库 3.1 A512548E76954B6E92C21055517615B0


[错误报告]   上一篇:NasmToE 1.4 易语言置入代码工...     下一篇:易语言端口(串口)缓冲例子...