为编程爱好者分享易语言教程源码的资源网

网站首页 > 易语言相关 > 易语言例程 正文

[硬件指令优化系列]汇编CRC32指令

三叶资源网 2019-06-11 16:38:55 易语言例程 4331 ℃ 1 评论

纯软件实现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

文件下载

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

已有1位网友发表了看法:

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
客户端数据按键模拟淘宝宝贝列表分页源码mongodb使用语音报时代理服务器源码加载皮肤检测代理IP多线程ping未闻花名UIGIF录屏E2EEJS分析代码框自绘卡盟管理系统客户端文字游戏日期时间型汇编中文指令fiddlercoreapi网易登录
最新评论