[发明专利]用于循环冗余校验的有效计算方法及装置无效
| 申请号: | 00132908.1 | 申请日: | 2000-09-27 |
| 公开(公告)号: | CN1319801A | 公开(公告)日: | 2001-10-31 |
| 发明(设计)人: | 达雷尔K·考克斯;芒索A·基希泰 | 申请(专利权)人: | 德克萨斯仪器股份有限公司 |
| 主分类号: | G06F11/08 | 分类号: | G06F11/08 |
| 代理公司: | 上海专利商标事务所 | 代理人: | 吴蓉军 |
| 地址: | 美国得*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 循环 冗余 校验 有效 计算方法 装置 | ||
本发明通常涉及数据通信,更具体地,涉及一种执行循环冗余校验的方法及设备。
可编程的微处理器和数字信号处理器(DSPs)常常用于计算比特流的循环冗余校验(CRC)。由于循环冗余校验是一种面向位的处理过程,由处理器执行的典型的循环冗余校验计算是基于位一位处理的。
而硬件位一位循环冗余校验处理是很有效的,软件位一位循环冗余校验处理则无效率的耗费处理器循环,因为大多数的微处理器和数字信号处理器被指定为面向字的处理(例如,十六或三十二位字)。
相应地,流循环冗余校验计算方法使用循环冗余校验计算的面向字的方法,通过使用查寻表来避免一次只处理一个位。查找表格方法允许微处理器或数字信号处理器一次处理一个字。由于循环冗余校验计算是线性变换,故这个方法是可能的。
在许多微处理器中,存储器读出访问采用流水线技术,导致在请求读访问到读出值可用于处理之间存在一定的延迟。在流水线处理器读出等待时间(而不是需要用来处理数据的可用处理器资源)决定了每个循环冗余校验循环迭代次数所需的最小指令周期。在使用查寻表的循环冗余校验计算情况下,直到获得了前面的查寻表中的循环冗余校验值,新的循环冗余校验地址计算才可以开始。这个等待时间设定了使用查寻表的循环冗余校验执行效率的下界。
因此便出现了对一种方法及设备的需要,用于减少在软件中循环冗余校验计算的有效的读出等待时间。
循环冗余校验是通过接收数据流并把数据流分为两个或更多的中间数据流,从而在软件中进行计算。中间循环冗余校验产生于每个中间数据流。最后的循环冗余校验产生自所述的中间循环冗余校验。
在第二个实施例中,多个循环冗余校验产生自多个独立的数据流。用于产生循环冗余校验的对查寻表的访问同时执行于每一个独立的数据流,至少是一部分。
本发明比以往的技术提供有显著的优点。尤其是,由于读出等待时间引起的加工周期的浪费的减少,用于数据流计算循环冗余校验的循环的有效数目大大地减少了。
为了更完全的了解本发明以及它的优点,请参考下列结合附图的描述,其中:
图1a和1b图解了现有技术中软件循环冗余校验计算的解决办法;
图2图解了使用多个中间数据流进行软件循环冗余校验计算的改良方法的方块图;
图3图解了使用通过图2方法计算循环冗余校验的基本的处理器资源的方块图;
图4图解了中间循环冗余校验值重叠计算的基本定时图;
图5a和5b图解了用于多个中间数据流循环冗余校验的查寻表的生成;以及
图6a和6b图解了用于计算多个独立循环冗余校验值的本发明的第二个实施例。
本发明可参照附图1至6被最好的理解,相同的数字被用于不同附图中的相同单元。
图1a和1b各自图解了通过使用一台微处理器或数字信号处理器,在软件中计算循环冗余校验的现有技术的方法及设备的方块图和流程图。为了图解的目的,图1a和1b的实例用八位字大小画出。然而,此处展示的方法可扩张至任何字长。
在图1a中,处理器10,在循环冗余校验计算时使用两个寄存器:(1)输入寄存器12和循环冗余校验寄存器14。查寻表(LUT)16(典型地为在处理器中的大存储器的一部分)存储循环冗余校验值的表。输入寄存器12接收来自循环冗余校验计算所要的数据流的数据。该储存在输入寄存器12中的值指示为INPUT。循环冗余校验寄存器14接收读自查寻表16的循环冗余校验值。该储存在指数寄存器14的值指示为LASTCRC。异或运算(图中示为异逻辑电路块18)在输入寄存器12(INPUT)和循环冗余校验寄存器14(LASTCRC)的内容中使用模2加法执行。异门18的输出用于循环冗余校验计算程序对查寻表16进行寻址。异或门18的输出指示为INDEX。
在运算中,图1的电路通过图1b所示方法产生循环冗余校验。在块20中,电路被初始化,循环冗余校验寄存器14存储一个LASTCRC值“0000000”。在块22中,数据流被输入寄存器12接收并形成一个字(INPUT)。在块24,INPUT和LASTCRC通过使用模2加法而形成地址INDEX。在位置INDEX的查寻表16的值被访问,并随后被储存在块26中的循环冗余校验寄存器14。如果为了正在产生的循环冗余校验的在数据包中的数据在判定块28完成,接着计算完成,在循环冗余校验寄存器14中数据包的循环冗余校验是有效的。如果在数据包有更多的字要处理,则流程返回到块22,下一个输入字储存在输入寄存器12中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于德克萨斯仪器股份有限公司,未经德克萨斯仪器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/00132908.1/2.html,转载请声明来源钻瓜专利网。





