【技术实现步骤摘要】
【国外来华专利技术】用于响应于单个指令来执行循环和异或的系统、装置和方法
本专利技术的领域一般涉及计算机处理器架构,更具体地涉及在执行时导致特定结果的指令。背景Blake安全散列算法是将成为新的NISTSHA-3标准的五个算法之一。BLAKE是四个散列函数的家族:BLAKE-224、BLAKE-256、BLAKE-384以及BLAKE-512。BLAKE-256和BLAKE-224是基于32位字的,而BLAKE-512和BLAKE-384是基于64位字的。BLAKE-256是具有32位字、14轮以及256位输出的BLAKE,而BLAKE-512是具有64位字、16轮以及512位输出的BLAKE。BLAKE的压缩函数是基于32位或64位字的4×4矩阵所表示的状态。BLAKE的轮由如下操作组成:执行状态矩阵的独立的列更新,然后执行状态矩阵的对角元素的独立更新。对于每一次列和对角更新,将两个消息字和两个预定常数输入该状态。以矩阵形式将16字状态v0到v15表示为:|v0v1v2v3||v4v5v6v7||v8v9v10v11||v12v13v14v15|BLAKE的轮是使用如下函数对该v0至v15状态矩阵的变换:使用G(a,b,c,d),以首先更新状态矩阵的多个列G0(v0,v4,v8,vl2)Gl(vl,v5,v9,vl3)G2(v2,v6,vlO,vl4)G3(v3,v7,vll,vl5),然后更新状态矩阵的对角线G4(v0,v5,vlO,vl5)G5(vl,v6,vll,vl2)G6(v2,v7,v8,vl3)G7(v3,v4,v9,vl4)。这在图1中示出。G函数由8个 ...
【技术保护点】
一种在计算机处理器中响应于单个异或和循环指令来执行循环和异或的方法,其中所述循环和异或指令包括第一和第二源操作数、目的地操作数、操作码以及立即数值,所述方法包括以下步骤:执行所述单个循环和异或指令以执行第一模式和第二模式之一,其中在所述第一模式中,执行导致对所述第一和第二源操作数的值进行异或以生成经异或的值,然后将所述经异或的值循环X个位位置,而在所述第二模式中,执行导致将所述第一源操作数的值循环X个位位置,并将经循环的值与来自所述第二源操作数的值进行异或;以及将来自所述第一模式或第二模式的结果存储到与所述目的地操作数相关联的目的地位置中。
【技术特征摘要】
【国外来华专利技术】2012.09.28 US 13/631,2421.一种在计算机处理器中执行的方法,所述方法包括:解码指令,其中所述指令包括第一和第二源操作数、目的地操作数、操作码以及立即数;以及执行经解码的所述指令以执行第一模式和第二模式之一,其中在所述第一模式中,所述执行导致对所述第一和第二源操作数的值进行异或以生成经异或的值,然后将所述经异或的值循环X个位位置,而在所述第二模式中,所述执行导致将所述第一源操作数的值循环X个位位置,并将所述第一源操作数的经循环的值与来自所述第二源操作数的值进行异或;以及将来自所述第一模式或第二模式的结果存储到与所述目的地操作数相关联的目的地位置中。2.如权利要求1所述的方法,其特征在于,所述X个位位置是所述立即数的多个位的十进制值。3.如权利要求2所述的方法,其特征在于,所述立即数的所述多个位是所述立即数的六个最低有效位。4.如权利要求1所述的方法,其特征在于,所述循环是向左循环。5.如权利要求1所述的方法,其特征在于,所述指令是Skein散列算法的部分。6.如权利要求1所述的方法,其特征在于,所述指令是Blake散列算法的部分。7.如权利要求1所述的方法,其特征在于,所述第一和第二源操作数各自与寄存器相关联,并且寄存器尺寸是8位、16位、32位或64位之一。8.如权利要求1所述的方法,其特征在于,进一步包括:基于所述立即数的位的值,确定要执行所述第一模式和所述第二模式中的哪一个。9.一种计算机系统,包括:一个或多个处理器,所述一个或多个处理器包括一个或多个处理器核,至少一个处理器核包括:硬件解码器,用于解码指令,其中所述指令包括第一和第二源操作数、目的地操作数、立即数以及操作码,以及执行逻辑单元,用于在第一模式和第二模式之一下执行经解码的所述指令,其中在所述第一模式中,所述执行导致对所述第一和第二源操作数的值进行异或以生成经异或的值,然后将所述经异或的值循环X个位位置,而在所述第二模式中,所述执行导致将所述第一源操作数的值循环X个位位置,并将所述第一源操作数的经循环的值与来自所述第二源操作数的值进行异或;以及将来自所述第一模式或第二模式的结果...
【专利技术属性】
技术研发人员:V·戈帕尔,G·M·沃尔里齐,J·D·吉尔福德,K·S·雅普,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。