[发明专利]响应于用户级指令进行循环冗余校验和运算有效
申请号: | 201210041335.9 | 申请日: | 2006-12-07 |
公开(公告)号: | CN102708022A | 公开(公告)日: | 2012-10-03 |
发明(设计)人: | S·R·金;F·贝里;M·E·科纳维斯 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F11/10 | 分类号: | G06F11/10 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 刘瑜;王英 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 响应 用户 指令 进行 循环 冗余 校验 运算 | ||
1.一种方法,包括:
在处理器中接收输入数据;以及
响应于用于校验和运算的用户级指令,在所述处理器中对所述输入数据进行校验和运算。
2.如权利要求1所述的方法,还包括在所述处理器的流水线中进行所述校验和运算,其中所述处理器包括通用处理器,并且其中所述校验和运算包括循环冗余校验(CRC)运算。
3.如权利要求1所述的方法,还包括通过所述处理器的硬件引擎进行所述校验和运算,其中所述处理器包括通用处理器。
4.如权利要求3所述的方法,还包括响应于所述用户级指令,在所述硬件引擎中进行多项式除法运算。
5.如权利要求3所述的方法,其中所述硬件引擎包括耦合到源寄存器和目的寄存器的异或(XOR)树。
6.如权利要求5所述的方法,还包括:
将来自所述源寄存器的所述输入数据和存储在所述目的寄存器的至少一部分中的当前值输入到所述XOR树中;
使用所述输入数据和所述当前值在所述XOR树中进行所述校验和运算;以及
将所述XOR树的输出存入所述目的寄存器中。
7.如权利要求6所述的方法,其中所述XOR树的输出对应于所述校验和运算的运行余数。
8.如权利要求7所述的方法,还包括当为所述源寄存器提供所述输入数据的缓存器为空时,将所述运行余数用作校验和。
9.如权利要求1所述的方法,还包括:
将所述输入数据载入所述处理器的源寄存器中;
反射所述输入数据;以及
用所述反射的输入数据和来自目的寄存器的反射的数据进行至少一次异或(XOR)运算,并且以反射顺序将所述至少一次XOR运算的结果存入所述目的寄存器中。
10.如权利要求1所述的方法,还包括无需查找表信息,使用所述输入数据和余数值在所述处理器的逻辑块中进行所述校验和运算。
11.一种装置,包括:
用于存储源数据的第一寄存器;
用于存储结果数据的第二寄存器;以及
执行单元,其耦合到所述第一寄存器和所述第二寄存器,用所述源数据和所述结果数据进行循环冗余校验(CRC)运算,并将与所述CRC运算的运行余数对应的、所述执行单元的至少一部分输出提供给所述第二寄存器。
12.如权利要求11所述的装置,其中所述执行单元响应于用户级指令进行所述CRC运算。
13.如权利要求11所述的装置,其中所述执行单元包括通用处理器流水线的异或(XOR)树逻辑。
14.如权利要求13所述的装置,其中所述XOR树逻辑根据固定多项式进行多项式除法。
15.如权利要求11所述的装置,其中所述执行单元包括处理器流水线的整数单元,所述整数单元包括多个单独的逻辑块,每个逻辑块对不同尺寸的数据进行CRC运算。
16.如权利要求15所述的装置,其中用户级指令指示出要被进行所述CRC运算的数据的尺寸。
17.包括机器可读存储介质的物品,所述机器可读存储介质包括可由机器执行、以使所述机器执行一种方法的指令,所述方法包括:
根据来自第一寄存器的源操作数和第二寄存器的目的操作数,在处理器流水线的专用执行单元中累加循环冗余校验(CRC)值;
将所述累加的CRC值存入所述第二寄存器中;以及
确定是否有附加数据要进行所述CRC。
18.如权利要求17所述的物品,其中所述方法还包括递增地累加所述CRC值,并将所述递增地累加的CRC值存入所述第二寄存器中,直到没有附加数据要进行所述CRC。
19.如权利要求17所述的物品,其中所述方法还包括响应于所述处理器的指令集架构中用于所述CRC的指令,累加所述CRC值。
20.如权利要求19所述的物品,其中所述方法还包括基于所述源操作数的尺寸在所述专用执行单元的多个部分之一中累加所述CRC值,其中所述指令指示出所述源操作数的尺寸。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210041335.9/1.html,转载请声明来源钻瓜专利网。