没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
323102Fast CRCComputation forGenericPolynomials UsingPCLMULQDQInstruction December, 2009White PaperVinodh GopalErdinc OzturkJim GuilfordGil WolrichWajdi FeghaliMartin DixonIA ArchitectsIntel CorporationDeniz KarakoyunluPhD StudentWorcester Polytechnic InstituteFast CRC Computation Using PCLMULQDQ Instruction2Fast CRC Computation Using PCLMULQDQ Instruction3Executive Summary This paper presents a fast and efficient method of computing CRC on IAprocessors with generic polynomials using
资源推荐
资源详情
资源评论
323102
Fast CRC
Computation for
Generic
Polynomials Using
PCLMULQDQ
Instruction
December, 2009
White Paper
Vinodh Gopal
Erdinc Ozturk
Jim Guilford
Gil Wolrich
Wajdi Feghali
Martin Dixon
IA Architects
Intel Corporation
Deniz Karakoyunlu
PhD Student
Worcester Polytechnic
Institute
Fast CRC Computation Using PCLMULQDQ Instruction
2
Fast CRC Computation Using PCLMULQDQ Instruction
3
Executive Summary
This paper presents a fast and efficient method of computing CRC on IA
processors with generic polynomials using the carry-less multiplication
instruction – PCLMULQDQ.
Instead of reducing the entire message with traditional reduction
algorithms, we use a faster folding approach to reduce an arbitrary length
buffer to a small fixed size to be reduced further by traditional methods
such as Barrett reduction.
Parallelized folding approach is used to maximize the throughput of
PCLMULQDQ instructions. We show how to do this efficiently for data
buffers of arbitrary length.
The final reduction part is only slightly different for different sized
polynomials (e.g., a 32-bit CRC and a 16-bit CRC).
With our novel folding methods, CRC computation using PCLMULQDQ
is faster than best software routines that don’t use the instruction, on
a range of IA processor cores.
This paper will enable customers to code and optimize any CRC
application for maximum performance on Westmere. We use real
examples in the paper to illustrate the methods.
Fast CRC Computation Using PCLMULQDQ Instruction
4
Contents
Background ............................................................................................................. 5
Overview of CRC computation ................................................................................... 5
PCLMULQDQ Instruction ......................................................................... 7
Fast CRC Computation .............................................................................................. 7
Overview of the Folding Method .............................................................. 7
Single fold of a 128-bit Data chunk .............................................. 10
Parallel Folding of 128-bit Data chunks ........................................ 11
Detailed Implementation Steps for 32-bit CRC ........................................ 11
Step 1 – Iteratively Fold by 4: .................................................... 11
Step 2 – Iteratively Fold by 1: .................................................... 12
Step 3 - Final Reduction of 128-bits ............................................. 13
Overall flow ............................................................................... 14
Example of 32-bit CRC (IEEE 802.3) ............................................ 16
16-bit CRC ............................................................................................................ 16
64-bit CRC ............................................................................................................ 17
Final Reduction of 128-bits ......................................................... 17
Bit-Reflection ........................................................................................................ 18
Example of 32-bit CRC with bit-reflected data (gzip CRC) ............... 21
Conclusion ............................................................................................................ 22
剩余22页未读,继续阅读
资源评论
weixin_38508497
- 粉丝: 7
- 资源: 932
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 微信小程序点餐系统微信小程序开发实战项目源码+数据库+详细文档说明(高分项目)
- Flutter jar包
- 基于微信平台的点餐系统小程序完整源码+文档说明+数据库(高分毕业设计项目)
- 基于微信小程序的点餐系统源码 (源码+详细文档说明)高分毕业设计项目
- 墙壁墙体发霉检测数据集VOC+YOLO格式2359张1类别.zip
- (反编译微信小程序)一键获取微信小程序源码(傻瓜式操作),使用了C#加nodejs制作.zip
- 计算机语言学中单调队列算法的C++实现
- 印度未来水资源需求与干预策略的建模与评估 - 超出人均用水比率模型的应用
- 鲜亮的高景观色彩,专注景观的小程序组件库.zip
- 历史新闻传播模型及其优化研究 - 社交网络与图模型的应用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功