一种数据处理方法及电子设备的制造方法

文档序号:10534462阅读:345来源:国知局
一种数据处理方法及电子设备的制造方法
【专利摘要】本发明实施例公开了一种数据处理方法及电子设备。所述方法包括:设置所述电子设备中的N个寄存单元;使所述N个寄存单元中的N个选择单元具有相同的初始化参数;当检测到初始化条件触发时,所述N个寄存单元按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,以在预定周期完成初始化过程;其中N为正整数。
【专利说明】
一种数据处理方法及电子设备
技术领域
[0001] 本发明涉及数据处理技术,具体涉及一种数据处理方法及电子设备。
【背景技术】
[0002] 在某些电子设备中,为了进行纠错码的自检测,通常会使用随机数生成器以生成 伪随机数。常用的伪随机数生成方式由多种,其中线性反馈移动寄存器(LFSR,Linear Feedback Shift Registers)被广泛使用。
[0003] 通常情况下,一个n阶的LFSR通常由n个触发器和若干个异或门组成。现有通过 LFSR初始化过程中,初始化值只能串行输入,每一个时钟周期数据推进一位,即每个时钟到 来时,上一级触发器的值数值给下一级触发器,直至n个时钟周期后才能完成初始化开始输 出。这种方式使得初始化时间过长。

【发明内容】

[0004] 为解决现有存在的技术问题,本发明实施例提供一种数据处理方法及电子设备, 能够解决随机数生成器初始化时间过长的问题。
[0005]为达到上述目的,本发明实施例的技术方案是这样实现的:
[0006] 本发明实施例提供了一种数据处理方法,所述方法应用于电子设备中;所述方法 包括:
[0007] 设置所述电子设备中的N个寄存单元;
[0008] 使所述N个寄存单元中的N个选择单元具有相同的初始化参数;
[0009] 当检测到初始化条件触发时,所述N个寄存单元按照所述初始化参数对应的数值 进行初始化过程并输出初始化结果,以在预定周期完成初始化过程;
[0010] 其中N为正整数。
[0011] 上述方案中,所述寄存单元还包括触发单元;所述触发单元的输出端与选择单元 电连接;所述使所述N个选择单元具有相同的初始化参数,包括:
[0012] 配置所述N个选择单元具有相同的第一初始化参数或第二初始化参数;所述第一 初始化参数对应于所述选择单元预先配置的初始化值;所述第二初始化参数对应与所述选 择单元串接的触发单元的输出值。
[0013] 上述方案中,所述N个寄存单元按照所述初始化参数对应的数值进行初始化过程 并输出初始化结果,包括:
[0014] 所述N个寄存单元按照所述选择单元预先配置的初始化参数对应的初始化值或所 述触发单元的输出值进行初始化过程并输出初始化结果。
[0015] 上述方案中,所述电子设备还包括M个异或逻辑单元;M为小于N的正整数;每个异 或逻辑单元串接在两个寄存单元之间;所述方法还包括:
[0016] 获得每个寄存单元的输出位与其他寄存单元的输出位的第一逻辑关系;
[0017] 获得第一运算规则;
[0018] 基于所述第一运算规则将所述第一逻辑关系转换为满足预设条件的第二逻辑关 系;
[0019] 基于所述第二逻辑关系生成伪随机数。
[0020] 上述方案中,所述第一运算规则为第一本原多项式;所述基于所述第一运算规则 将所述第一逻辑关系转换为满足预设条件的第二逻辑关系,包括:
[0021] 将所述第一本原多项式表示为n个生成因子;
[0022] 将所述第一逻辑关系转换为nXn的第一矩阵;
[0023] 通过所述n个生成因子和所述第一矩阵按照预设运算规则运算获得所述第二逻辑 关系;
[0024] 其中,n为正整数。
[0025] 本发明实施例还提供了一种电子设备,所述电子设备包括N个寄存单元;所述寄存 单元还包括选择单元;其中,所述选择单元具有相同的初始化参数;
[0026] 所述N个寄存单元,用于当检测到初始化条件触发时,按照所述初始化参数对应的 数值进行初始化过程并输出初始化结果,以在预定周期完成初始化过程;
[0027] 其中N为正整数。
[0028] 上述方案中,所述寄存单元还包括触发单元;所述触发单元的输出端与选择单元 电连接;
[0029] 所述N个选择单元具有相同的第一初始化参数或第二初始化参数;所述第一初始 化参数对应于所述选择单元预先配置的初始化值;所述第二初始化参数对应与所述选择单 元串接的触发单元的输出值。
[0030] 上述方案中,所述N个寄存单元,用于按照所述选择单元预先配置的初始化参数对 应的初始化值或所述触发单元的输出值进行初始化过程并输出初始化结果。
[0031] 上述方案中,所述电子设备还包括M个异或逻辑单元;M为小于N的正整数;每个异 或逻辑单元串接在两个寄存单元之间;
[0032] 所述电子设备还包括随机数生成单元,用于获得每个寄存单元的输出位与其他寄 存单元的输出位的第一逻辑关系;获得第一运算规则;基于所述第一运算规则将所述第一 逻辑关系转换为满足预设条件的第二逻辑关系;基于所述第二逻辑关系生成伪随机数。
[0033] 上述方案中,所述第一运算规则为第一本原多项式;
[0034] 所述随机数生成单元,用于将所述第一本原多项式表示为n个生成因子;将所述第 一逻辑关系转换为nXn的第一矩阵;通过所述n个生成因子和所述第一矩阵按照预设运算 规则运算获得所述第二逻辑关系;其中,n为正整数。
[0035]本发明实施例提供的数据处理方法及电子设备,所述方法包括:设置所述电子设 备中的N个寄存单元;使所述N个寄存单元中的N个选择单元具有相同的初始化参数;当检测 到初始化条件触发时,所述N个寄存单元按照所述初始化参数对应的数值进行初始化过程 并输出初始化结果,以在预定周期完成初始化过程;其中N为正整数。如此,采用本发明实施 例的技术方案,通过配置选择单元具有相同的初始化参数,使得所有寄存单元按照所述初 始化参数对应的数值进行初始化过程并输出初始化结果,提出一种并行输入初始化值的初 始化方案,这种并行输入的方式大大减少了初始化的时间,解决了随机数生成器初始化时 间过长的问题。
【附图说明】
[0036] 图1为现有技术的电子设备中的随机数生成器的一种示意图;
[0037] 图2为本发明实施例的电子设备的组成结构示意图;
[0038] 图3为本发明实施例的数据处理方法的第一种流程示意图;
[0039] 图4为本发明实施例的电子设备的一种具体组成结构示意图;
[0040] 图5为本发明实施例中的矩阵运算的流程示意图;
[0041 ]图6为本发明实施例的数据处理方法的第二种流程示意图。
【具体实施方式】
[0042]图1为现有技术的电子设备中的随机数生成器的一种示意图;所述随机数生成器 具体可以为LFSR。如图1所示,64级的LFSR由64个触发单元(例如D触发器)和若干个异或门 组成。在初始化过程中,当一个时钟周期到来时,初始化值(init)输入第一个触发单元并在 输出端输出;当下一个时钟周期到来时,第一个触发单元的输出值作为下一个触发单元的 输入值输入;以此类推,直64个时钟周期后才能完成初始化。这种初始化方式耗时过长,由 此提出本发明实施例的数据处理方法及电子设备。
[0043]下面结合附图及具体实施例对本发明作进一步详细的说明。
[0044] 实施例一
[0045] 本发明实施例提供了一种电子设备。图2为本发明实施例的电子设备的组成结构 示意图;如图2所示,所述电子设备包括N个寄存单元21;所述寄存单元21还包括选择单元 212;其中,所述选择单元212具有相同的初始化参数;
[0046] 所述N个寄存单元21,用于当检测到初始化条件触发时,按照所述初始化参数对应 的数值进行初始化过程并输出初始化结果,以在预定周期完成初始化过程;其中N为正整 数。
[0047] 本实施例中,在每个寄存单元21中均设置选择单元212;所述选择单元212中配置 两个初始化参数;当所述选择单元212置于第一初始化参数时,所述寄存单元21按照预先配 置的初始化值进行初始化过程并输出初始化结果;当所述选择单元212置于第二初始化参 数时,所述寄存单元21可按照前一个寄存单元21的输出值进行初始化过程并输出初始化结 果。具体的,所述选择单元212具体可通过选择电路实现。
[0048]本实施例中,所述N个寄存单元21中的选择单元212配置的初始化参数相同,即所 有的选择单元212均配置第一初始化参数或第二初始化参数,也即在一种实施方式中,所述 N个寄存单元21均按照预先配置的初始化值进行初始化过程并输出初始化结果,这样,无论 寄存单元21的数量有多少,所述N个寄存单元21可在一个时钟周期内完成初始化工作,这种 并行输入的方式大大减少了初始化的时间。
[0049] 作为另一种实施方式,所述N个寄存单元21中的每个寄存单元21按照前一个寄存 单元21的输出值进行初始化过程并输出初始化结果。
[0050] 基于本实施例的另一【具体实施方式】,所述寄存单元21还包括触发单元211;所述触 发单元211可通过触发器(例如D触发器)实现;如图2所示,所述触发单元211的输出端与选 择单元212电连接;
[0051]所述N个选择单元212具有相同的第一初始化参数或第二初始化参数;所述第一初 始化参数对应于所述选择单元212预先配置的初始化值;所述第二初始化参数对应与所述 选择单元212串接的触发单元211的输出值。
[0052]其中,所述N个寄存单元21,用于按照所述选择单元212预先配置的初始化参数对 应的初始化值或所述触发单元211的输出值进行初始化过程并输出初始化结果。
[0053] 具体的,本实施方式中,N个选择单元212配置的初始化参数相同,即所有的选择单 元212均配置第一初始化参数或第二初始化参数,也即在一种实施方式中,所述N个寄存单 元21中的触发单元211均按照预先配置的初始化值进行初始化过程并输出初始化结果,这 样,无论寄存单元21的数量有多少,可在一个时钟周期内完成初始化工作,这种并行输入的 方式大大减少了初始化的时间。作为另一种实施方式,所述N个触发单元211中的每个触发 单元211均按照前一个触发单元211的输出值进行初始化过程并输出初始化结果。
[0054] 采用本发明实施例的技术方案,通过配置选择单元具有相同的初始化参数,使得 所有寄存单元按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,提出一 种并行输入初始化值的初始化方案,这种并行输入的方式大大减少了初始化的时间,解决 了随机数生成器初始化时间过长的问题。
[0055] 实施例二
[0056]基于实施例一和图1所述的电子设备,本发明实施例还提供了一种数据处理方法。 图3为本发明实施例的数据处理方法的第一种流程示意图;如图3所示,所述方法包括:
[0057] 步骤301:设置所述电子设备中的N个寄存单元,使所述N个寄存单元中的N个选择 单元具有相同的初始化参数。
[0058] 步骤302:当检测到初始化条件触发时,所述N个寄存单元按照所述初始化参数对 应的数值进行初始化过程并输出初始化结果,以在预定周期完成初始化过程。
[0059] 本实施例中,在每个寄存单元中均设置选择单元;所述选择单元中配置两个初始 化参数;当所述选择单元置于第一初始化参数时,所述寄存单元按照预先配置的初始化值 进行初始化过程并输出初始化结果;当所述选择单元置于第二初始化参数时,所述寄存单 元可按照前一个寄存单元的输出值进行初始化过程并输出初始化结果。具体的,所述选择 单元具体可通过选择电路实现。
[0060] 本实施例中,所述N个寄存单元中的选择单元配置的初始化参数相同,即所有的选 择单元均配置第一初始化参数或第二初始化参数,也即在一种实施方式中,所述N个寄存单 元均按照预先配置的初始化值进行初始化过程并输出初始化结果,这样,无论寄存单元的 数量有多少,所述N个寄存单元可在一个时钟周期内完成初始化工作,这种并行输入的方式 大大减少了初始化的时间。
[0061] 作为另一种实施方式,所述N个寄存单元中的每个寄存单元按照前一个寄存单元 的输出值进行初始化过程并输出初始化结果。
[0062] 基于本实施例的另一【具体实施方式】,所述寄存单元还包括触发单元;所述触发单 元的输出端与选择单元电连接;所述使所述N个选择单元具有相同的初始化参数,包括:
[0063] 配置所述N个选择单元具有相同的第一初始化参数或第二初始化参数;所述第一 初始化参数对应于所述选择单元预先配置的初始化值;所述第二初始化参数对应与所述选 择单元串接的触发单元的输出值。
[0064] 其中,所述N个寄存单元按照所述初始化参数对应的数值进行初始化过程并输出 初始化结果,包括:
[0065] 所述N个寄存单元按照所述选择单元预先配置的初始化参数对应的初始化值或所 述触发单元的输出值进行初始化过程并输出初始化结果。
[0066] 具体的,本实施方式中,N个选择单元配置的初始化参数相同,即所有的选择单元 均配置第一初始化参数或第二初始化参数,也即在一种实施方式中,所述N个寄存单元中的 触发单元均按照预先配置的初始化值进行初始化过程并输出初始化结果,这样,无论寄存 单元的数量有多少,可在一个时钟周期内完成初始化工作,这种并行输入的方式大大减少 了初始化的时间。作为另一种实施方式,所述N个触发单元中的每个触发单元均按照前一个 触发单元的输出值进行初始化过程并输出初始化结果。
[0067] 采用本发明实施例的技术方案,通过配置选择单元具有相同的初始化参数,使得 所有寄存单元按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,提出一 种并行输入初始化值的初始化方案,这种并行输入的方式大大减少了初始化的时间,解决 了随机数生成器初始化时间过长的问题。
[0068] 实施例三
[0069] 本发明实施例还提供了一种电子设备。图4为本发明实施例的电子设备的一种具 体组成结构示意图;如图4所示,所述电子设备包括N个寄存单元和M个异或逻辑单元;其中, N为正整数;M为小于N的正整数;每个异或逻辑单元串接在两个寄存单元之间;
[0070] 所述寄存单元还包括选择单元;其中,所述选择单元具有相同的初始化参数;
[0071 ]所述N个寄存单元,用于当检测到初始化条件触发时,按照所述初始化参数对应的 数值进行初始化过程并输出初始化结果,以在预定周期完成初始化过程;
[0072] 所述电子设备还包括随机数生成单元,用于获得每个寄存单元的输出位与其他寄 存单元的输出位的第一逻辑关系;获得第一运算规则;基于所述第一运算规则将所述第一 逻辑关系转换为满足预设条件的第二逻辑关系;基于所述第二逻辑关系生成伪随机数。
[0073] 本实施例中包括两部分技术方案,一部分是完成初始化过程,另一部分是伪随机 数的生成过程。其中,第一部分(即初始化过程)内容可参照实施例一的内容所述,这里不再 赘述。
[0074] 对于伪随机数的生成过程,本实施例中,所述电子设备中还包括M个异或逻辑单 元;每个异或逻辑单元串接在两个寄存单元之间;其中,M小于N;M的数量以及每个异或逻辑 单元所在位置与迭代数量(或遍历数量)以及具体的运算规则相关。
[0075] 作为一种实施方式,本实施例中,所述第一运算规则为第一本原多项式;
[0076] 所述随机数生成单元,用于将所述第一本原多项式表示为n个生成因子;将所述第 一逻辑关系转换为nXn的第一矩阵;通过所述n个生成因子和所述第一矩阵按照预设运算 规则运算获得所述第二逻辑关系;其中,n为正整数。
[0077]具体的,如图4所示为例,以64个寄存单元、进行16级迭代(即寄存关系迭代16次) 为例,存在三个异或逻辑单元,第一个异或逻辑单元串接在第59寄存单元和第60寄存单元 之间;第二个异或逻辑单元串接在第60寄存单元和第61寄存单元之间;第三个异或逻辑单 元串接在第62寄存单元和第63寄存单元之间。基于上述描述结合图4,每个寄存单元的输出 位与其他寄存单元的输出位的第一逻辑关系如下所示:
[0078] p[0] =p[63];
[0079] p[l] =p[0];
[0080] p[2] =p[l];
[0081] ……
[0082] p[59] =p[58];
[0083] p[60] = p[59] "p[63];
[0084] p[61]=p[60],'p[63];
[0085] p[62] =p[61];
[0086] p[63]=p[62rp[63];其中,""'表示异或逻辑关系;口[幻』^[0,63]表示每个寄 存单元的输出位。
[0087]本实施例所获得的第一运算规则(即第一本原多项式)具体表示为:X64+X 63+x61+x6C) + 1。具体的,把64位对应的第一本原多项式表示为64位的生成因子(poly[k],k取值为0到 63),用64x64的矩阵表示64位数间的异或逻辑关系,比如第n行(对应于64位数)表示第n个 数与所有64位数间的异或运算关系^每迭代一次,通过生成因子与64x64矩阵得到新的矩阵 值,上述描述可称为矩阵运算。具体的,图5为本发明实施例中的矩阵运算的流程示意图;上 述矩阵运算的代码逻辑实现过程可如图5所示。
[0088] 通过上述矩阵运算,可将上述第一逻辑关系转换为第二逻辑关系表示为:
[0089] p[0]=p[48]"p[49]"p[50]"p[54]"p[55]"p[56]"p[60]"p[61]"p[62];
[0090] p[l]=p[49],'p[50],'p[51] ,'p[55],'p[56],'p[57],'p[61] ,'p[62],'p[63];
[0091] p[2]=p[50rp[5irp[52rp[56rp[57rp[58rp[62rp[63] ;
[0092] p[3]=p[5irp[52rp[53rp[57rp[58rp[59rp[63];
[0093] p[4]=p[52rp[53rp[54rp[58rp[59rp[60];
[0094] p[5] = p[53] "p[54] "p[55] "p[59] "p[60] "p[61 ];
[0095] p[6] = p[54] "p[55] "p[56] "p[60] "p[61 ] "p[62];
[0096] p[7]=p[55rp[56rp[57rp[6irp[62rp[63];
[0097] p[8]=p[56rp[57rp[58rp[62rp[63];
[0098] p[9]=p[57rp[58rp[59rp[63];
[0099] p[10]=p[58],'p[59],'p[60];
[0100] p[ll]=p[59],'p[60],'p[61];
[0101 ] p[ 12] = p[60!Tp[61 !Tp[62];
[0102] p[13]=p[61],'p[62],'p[63];;
[0103] p[14] =p[62!Tp[63];
[0104] p[15] =p[63];
[0105] p[16] =p[0];
[0106] p[17] =p[l];
[0107] p[18] =p[2];
[0108] p[19] =p[3];
[0109] p[20]=p[4];
[0110] ............
[0111] p[57] =p[41 ];
[0112] p[58] =p[42];
[0113] p[59] =p[43];
[0114] p[60]=p[44]'p[48]'p[49]'p[50]'p[54]'p[55]'p[56]'p[60]'p[61]'p[62];
[0115] p[61]=p[45]'p[48]'p[51]'p[54]'p[57]'p[60]'p[63];
[0116] p[62]=p[46]'p[49]'p[52]'p[55]'p[58]'p[61];
[0117] p[63]=p[47]~p[48]~p[49]~p[53]~p[54]~p[55]~p[59]~p[60]~p[61];其中,""' 表示异或逻辑关系;?[?4£[0,63]表示每个寄存单元的输出位。
[0118]本实施例中,获得上述第二逻辑关系后,基于所述第二逻辑关系中每个寄存单元 与其他寄存单元之间的异或逻辑关系模拟为硬件电路,基于模拟的硬件电路生成伪随机 数。
[0119] 采用上述16级迭代方式,16个电子设备的初始化值可如下所示:
[0120] PC no. 1 0x0000000000000001 PC no.9 0x0000000000000100 PC no.2 0x0000000000000002 PC no. 10 0x0000000000000200 PC no.3 0x0000000000000004 PC no. 11 0x0000000000000400 PC no.4 0x0000000000000008 PC no. 12 0x0000000000000800
[0121] PC no.5 0x0000000000000010 PC no. 13 0x0000000000001000 PC no.6 0x0000000000000020 PC no. 14 0x0000000000002000 PC no.7 0x0000000000000040 PC no. 15 0x0000000000004000 PC 110.8 0x0000000000000080 PC no. 16 0x0000000000008000
[0122] 这样,每个电子设备的初始值均不同。而现有技术的随机数遍历通常采用分段的 方式,例如,有100个随机数,分10组,第〇号设备从〇遍历到9,第1号设备从10遍历到19,第2 号设备从20遍历到29……,但在随机数的场景下,由于每个随机数不是按顺序的,所以需要 先通过设备遍历一遍,然后把遍历出的100个数分成10段,每一段的第一个值为这一段的初 值。基于此,现有技术的方案需要找初值,对于随机数的数量巨大的情况下,可能需要很长 时间(例如几十天)才能找到初值。而本发明实施例的技术方案的初值是固定的,无需找初 值,大大节省了时间。
[0123] 当然,本发明实施例的技术方案不限于上述列举的16级迭代的方式,任意多级的 迭代均适用。
[0124] 实施例四
[0125] 基于实施例三和图4所述的电子设备,本发明实施例还提供了一种数据处理方法。 图6为本发明实施例的数据处理方法的第二种流程示意图;如图6所示,所述方法包括:
[0126] 步骤601:设置所述电子设备中的N个寄存单元,使所述N个寄存单元中的N个选择 单元具有相同的初始化参数。
[0127] 步骤602:当检测到初始化条件触发时,所述N个寄存单元按照所述初始化参数对 应的数值进行初始化过程并输出初始化结果,以在预定周期完成初始化过程。
[0128] 步骤603:获得每个寄存单元的输出位与其他寄存单元的输出位的第一逻辑关系, 以及获得第一运算规则。
[0129] 步骤604:基于所述第一运算规则将所述第一逻辑关系转换为满足预设条件的第 二逻辑关系。
[0130] 步骤605:基于所述第二逻辑关系生成伪随机数。
[0131] 本实施例包括两部分技术方案,其中步骤601至步骤602记载的是初始化过程;步 骤603至步骤605是伪随机数生成过程。其中,所述初始化过程可参照实施例二的内容所述, 这里不再赘述。
[0132] 对于伪随机数的生成过程,本实施例中,所述电子设备中还包括M个异或逻辑单 元;每个异或逻辑单元串接在两个寄存单元之间;其中,M小于N;M的数量以及每个异或逻辑 单元所在位置与迭代数量(或遍历数量)以及具体的运算规则相关。
[0133] 作为一种实施方式,本实施例中,所述第一运算规则为第一本原多项式;所述基于 所述第一运算规则将所述第一逻辑关系转换为满足预设条件的第二逻辑关系,包括:
[0134] 将所述第一本原多项式表示为n个生成因子;
[0135] 将所述第一逻辑关系转换为nXn的第一矩阵;
[0136] 通过所述n个生成因子和所述第一矩阵按照预设运算规则运算获得所述第二逻辑 关系;其中,n为正整数。
[0137] 具体的,如图4所示为例,以64个寄存单元、进行16级迭代(即寄存关系迭代16次) 为例,存在三个异或逻辑单元,第一个异或逻辑单元串接在第59寄存单元和第60寄存单元 之间;第二个异或逻辑单元串接在第60寄存单元和第61寄存单元之间;第三个异或逻辑单 元串接在第62寄存单元和第63寄存单元之间。基于上述描述结合图4,每个寄存单元的输出 位与其他寄存单元的输出位的第一逻辑关系如下所示:
[0138] p[0] =p[63];
[0139] p[ 1 ] =p[0];
[0140] p[2] =p[ 1 ];
[0141] ……
[0142] p[59] =p[58];
[0143] p[60]=p[59]'p[63];
[0144] p[61]=p[60]'p[63];
[0145] p[62] =p[61 ];
[0146] !)[63]=?[62]、[63];其中,""'表示异或逻辑关系$[幻4£[0,63]表示每个寄 存单元的输出位。
[0147] 本实施例所获得的第一运算规则(即第一本原多项式)具体表示为:X64+X 63+X61+X6() + 1。具体的,把64位对应的第一本原多项式表示为64位的生成因子(poly[k],k取值为0到 63),用64x64的矩阵表示64位数间的异或逻辑关系,比如第n行(对应于64位数)表示第n个 数与所有64位数间的异或运算关系。每迭代一次,通过生成因子与64x64矩阵得到新的矩阵 值,上述描述可称为矩阵运算。具体的,上述矩阵运算的代码逻辑实现过程可如图5所示。
[0148] 通过上述矩阵运算,可将上述第一逻辑关系转换为第二逻辑关系表示为:
[0149] p[0]=p[48]"p[49]"p[50]"p[54]"p[55]"p[56]"p[60]"p[61]"p[62];
[0150] p[l]=p[49],'p[50],'p[51] ,'p[55],'p[56],'p[57],'p[61] ,'p[62],'p[63];
[0151] p[2]=p[50rp[5irp[52rp[56rp[57rp[58rp[62rp[63] ;
[0152] p[3]=p[5irp[52rp[53rp[57rp[58rp[59rp[63];
[0153] p[4] = p[52] "p[53] "p[54] "p[58] "p[59] "p[60];
[0154] p[5] = p[53] "p[54] "p[55] "p[59] "p[60] "p[61 ];
[0155] p[6] = p[54] "p[55] "p[56] "p[60] "p[61 ] "p[62];
[0156] p[7]=p[55rp[56rp[57rp[6irp[62rp[63];
[0157] p[8]=p[56rp[57rp[58rp[62rp[63];
[0158] p[9]=p[57rp[58rp[59rp[63];
[0159] p[10]=p[58],'p[59],'p[60];
[0160] p[ll]=p[59],'p[60],'p[61];
[0161 ] p[ 12] = p[60!Tp[61 !Tp[62];
[0162] p[13]=p[61],'p[62],'p[63];;
[0163] p[14] =p[62!Tp[63];
[0164] p[15] =p[63];
[0165] p[16] =p[0];
[0166] p[17] =p[l];
[0167] p[18] =p[2];
[0168] p[19] =p[3];
[0169] p[20] =p[4];
[0170] ............
[0171 ] p[57] =p[41];
[0172] p[58] =p[42];
[0173] p[59] =p[43];
[0174] p[60]=p[44]"p[48]"p[49]"p[50]"p[54]"p[55]"p[56]"p[60]"p[61]"p[62];
[0175] p[61 ] = p[45] "p[48] "p[51 ] "p[54] "p[57] "p[60] "p[63];
[0176] p[62] = p[46] "p[49] "p[52] "p[55] "p[58] "p[61 ];
[0177] 口[63]=卩[47]、[48]、[49]、[53]、[54]、[55]、[59]、[60]、[61];其中,""' 表示异或逻辑关系;?[幻,?^£[0,63]表示每个寄存单元的输出位。
[0178]本实施例中,获得上述第二逻辑关系后,基于所述第二逻辑关系中每个寄存单元 与其他寄存单元之间的异或逻辑关系模拟为硬件电路,基于模拟的硬件电路生成伪随机 数。
[0179]采用上述16级迭代方式,16个电子设备的初始化值可如下所示:
[0180] PC no.l OxOOOOOOOOOOOOOOOl PC no.9 0x0000000000000100 PC no.2 0x0000000000000002 PC no. 10 0x0000000000000200 PC no.3 0x0000000000000004 PC no. 1L 0x0000000000000400 PC no.4 0x0000000000000008 PC no. 12 0x0000000000000800 PC no.5 0x000000000000(3010 PC no. 13 0x0(300(300000001000 PC go.6 0x0000000000000020 PC no. 14 0x0000000000002000 PC no.7 0x0000000000000040 PC no. 15 0x0000000000004000 PC na.8 0x0000000000000080 PC no. 16 0x0000000000008000
[0181] 这样,每个电子设备的初始值均不同。而现有技术的随机数遍历通常采用分段的 方式,例如,有100个随机数,分10组,第〇号设备从〇遍历到9,第1号设备从10遍历到19,第2 号设备从20遍历到29……,但在随机数的场景下,由于每个随机数不是按顺序的,所以需要 先通过设备遍历一遍,然后把遍历出的100个数分成10段,每一段的第一个值为这一段的初 值。基于此,现有技术的方案需要找初值,对于随机数的数量巨大的情况下,可能需要很长 时间(例如几十天)才能找到初值。而本发明实施例的技术方案的初值是固定的,无需找初 值,大大节省了时间。
[0182] 当然,本发明实施例的技术方案不限于上述列举的16级迭代的方式,任意多级的 迭代均适用。
[0183] 在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其 它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为 一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或 可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部 分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合 或通信连接,可以是电性的、机械的或其它形式的。
[0184] 上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显 示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单 元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0185] 另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可 以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述 集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0186] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读 存储器(R0M,Read_0nly Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或 者光盘等各种可以存储程序代码的介质。
[0187] 或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品 销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施 例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以 是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。 而前述的存储介质包括:移动存储设备、R〇M、RAM、磁碟或者光盘等各种可以存储程序代码 的介质。
[0188]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【主权项】
1. 一种数据处理方法,所述方法应用于电子设备中;所述方法包括: 设置所述电子设备中的N个寄存单元; 使所述N个寄存单元中的N个选择单元具有相同的初始化参数; 当检测到初始化条件触发时,所述N个寄存单元按照所述初始化参数对应的数值进行 初始化过程并输出初始化结果,以在预定周期完成初始化过程; 其中N为正整数。2. 根据权利要求1所述的方法,其特征在于,所述寄存单元还包括触发单元;所述触发 单元的输出端与选择单元电连接;所述使所述N个选择单元具有相同的初始化参数,包括: 配置所述N个选择单元具有相同的第一初始化参数或第二初始化参数;所述第一初始 化参数对应于所述选择单元预先配置的初始化值;所述第二初始化参数对应与所述选择单 元串接的触发单元的输出值。3. 根据权利要求2所述的方法,其特征在于,所述N个寄存单元按照所述初始化参数对 应的数值进行初始化过程并输出初始化结果,包括: 所述N个寄存单元按照所述选择单元预先配置的初始化参数对应的初始化值或所述触 发单元的输出值进行初始化过程并输出初始化结果。4. 根据权利要求1所述的方法,其特征在于,所述电子设备还包括M个异或逻辑单元;M 为小于N的正整数;每个异或逻辑单元串接在两个寄存单元之间;所述方法还包括: 获得每个寄存单元的输出位与其他寄存单元的输出位的第一逻辑关系; 获得第一运算规则; 基于所述第一运算规则将所述第一逻辑关系转换为满足预设条件的第二逻辑关系; 基于所述第二逻辑关系生成伪随机数。5. 根据权利要求4所述的方法,其特征在于,所述第一运算规则为第一本原多项式;所 述基于所述第一运算规则将所述第一逻辑关系转换为满足预设条件的第二逻辑关系,包 括: 将所述第一本原多项式表示为η个生成因子; 将所述第一逻辑关系转换为ηΧη的第一矩阵; 通过所述η个生成因子和所述第一矩阵按照预设运算规则运算获得所述第二逻辑关 系; 其中,η为正整数。6. -种电子设备,其特征在于,所述电子设备包括N个寄存单元;所述寄存单元还包括 选择单元;其中,所述选择单元具有相同的初始化参数; 所述N个寄存单元,用于当检测到初始化条件触发时,按照所述初始化参数对应的数值 进行初始化过程并输出初始化结果,以在预定周期完成初始化过程; 其中N为正整数。7. 根据权利要求6所述的电子设备,其特征在于,所述寄存单元还包括触发单元;所述 触发单元的输出端与选择单元电连接; 所述N个选择单元具有相同的第一初始化参数或第二初始化参数;所述第一初始化参 数对应于所述选择单元预先配置的初始化值;所述第二初始化参数对应与所述选择单元串 接的触发单元的输出值。8. 根据权利要求7所述的电子设备,其特征在于,所述N个寄存单元,用于按照所述选择 单元预先配置的初始化参数对应的初始化值或所述触发单元的输出值进行初始化过程并 输出初始化结果。9. 根据权利要求6所述的电子设备,其特征在于,所述电子设备还包括M个异或逻辑单 元;M为小于N的正整数;每个异或逻辑单元串接在两个寄存单元之间; 所述电子设备还包括随机数生成单元,用于获得每个寄存单元的输出位与其他寄存单 元的输出位的第一逻辑关系;获得第一运算规则;基于所述第一运算规则将所述第一逻辑 关系转换为满足预设条件的第二逻辑关系;基于所述第二逻辑关系生成伪随机数。10. 根据权利要求9所述的电子设备,其特征在于,所述第一运算规则为第一本原多项 式; 所述随机数生成单元,用于将所述第一本原多项式表示为η个生成因子;将所述第一逻 辑关系转换为ηΧη的第一矩阵;通过所述η个生成因子和所述第一矩阵按照预设运算规则 运算获得所述第二逻辑关系;其中,η为正整数。
【文档编号】G06F7/58GK105892990SQ201610192719
【公开日】2016年8月24日
【申请日】2016年3月30日
【发明人】郑启忠, 李立华, 郭江伟, 王展
【申请人】联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1