【发布时间】:2019-11-25 15:47:31
【问题描述】:
我知道网上有免费的生成器,但我想了解如何为多位数据生成 CRC。我希望了解当我们开始考虑并行输入位时逻辑的展开是如何工作的。串行实现很容易理解,但我需要了解并行实现背后的逻辑。
【问题讨论】:
标签: parallel-processing crc crc64
我知道网上有免费的生成器,但我想了解如何为多位数据生成 CRC。我希望了解当我们开始考虑并行输入位时逻辑的展开是如何工作的。串行实现很容易理解,但我需要了解并行实现背后的逻辑。
【问题讨论】:
标签: parallel-processing crc crc64
软件通常使用查表来一次处理多个位,例如 256 项表一次处理 8 位,或者可以使用无进位乘法(如 X86 PCLMULQDQ)指令进行 CRC。
对于硬件,通常使用二进制 (GF(2)) 矩阵乘以固定矩阵来代替查表,因为它需要更少的门。例如,编码矩阵将是 8 x 32 位矩阵,而不是 256 x 32 位查找表将 8 位输入转换为 32 位 crc。矩阵乘法将是 data[1][8] · encode[8][32] = crc[1][32]。
【讨论】: