CN105892990B - 一种数据处理方法及电子设备 - Google Patents

一种数据处理方法及电子设备 Download PDF

Info

Publication number
CN105892990B
CN105892990B CN201610192719.9A CN201610192719A CN105892990B CN 105892990 B CN105892990 B CN 105892990B CN 201610192719 A CN201610192719 A CN 201610192719A CN 105892990 B CN105892990 B CN 105892990B
Authority
CN
China
Prior art keywords
unit
initiation parameter
initialization
deposit
electronic equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610192719.9A
Other languages
English (en)
Other versions
CN105892990A (zh
Inventor
郑启忠
李立华
郭江伟
王展
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Beijing Legend Core Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Legend Core Technology Co Ltd filed Critical Beijing Legend Core Technology Co Ltd
Priority to CN201610192719.9A priority Critical patent/CN105892990B/zh
Publication of CN105892990A publication Critical patent/CN105892990A/zh
Application granted granted Critical
Publication of CN105892990B publication Critical patent/CN105892990B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Logic Circuits (AREA)

Abstract

本发明实施例公开了一种数据处理方法及电子设备。所述方法包括:设置所述电子设备中的N个寄存单元;使所述N个寄存单元中的N个选择单元具有相同的初始化参数;当检测到初始化条件触发时,所述N个寄存单元按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,以在预定周期完成初始化过程;其中N为正整数。

Description

一种数据处理方法及电子设备
技术领域
本发明涉及数据处理技术,具体涉及一种数据处理方法及电子设备。
背景技术
在某些电子设备中,为了进行纠错码的自检测,通常会使用随机数生成器以生成伪随机数。常用的伪随机数生成方式由多种,其中线性反馈移动寄存器(LFSR,LinearFeedback Shift Registers)被广泛使用。
通常情况下,一个n阶的LFSR通常由n个触发器和若干个异或门组成。现有通过LFSR初始化过程中,初始化值只能串行输入,每一个时钟周期数据推进一位,即每个时钟到来时,上一级触发器的值数值给下一级触发器,直至n个时钟周期后才能完成初始化开始输出。这种方式使得初始化时间过长。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种数据处理方法及电子设备,能够解决随机数生成器初始化时间过长的问题。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种数据处理方法,所述方法应用于电子设备中;所述方法包括:
设置所述电子设备中的N个寄存单元;
使所述N个寄存单元中的N个选择单元具有相同的初始化参数;
当检测到初始化条件触发时,所述N个寄存单元按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,以在预定周期完成初始化过程;
其中N为正整数。
上述方案中,所述寄存单元还包括触发单元;所述触发单元的输出端与选择单元电连接;所述使所述N个选择单元具有相同的初始化参数,包括:
配置所述N个选择单元具有相同的第一初始化参数或第二初始化参数;所述第一初始化参数对应于所述选择单元预先配置的初始化值;所述第二初始化参数对应与所述选择单元串接的触发单元的输出值。
上述方案中,所述N个寄存单元按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,包括:
所述N个寄存单元按照所述选择单元预先配置的初始化参数对应的初始化值或所述触发单元的输出值进行初始化过程并输出初始化结果。
上述方案中,所述电子设备还包括M个异或逻辑单元;M为小于N的正整数;每个异或逻辑单元串接在两个寄存单元之间;所述方法还包括:
获得每个寄存单元的输出位与其他寄存单元的输出位的第一逻辑关系;
获得第一运算规则;
基于所述第一运算规则将所述第一逻辑关系转换为满足预设条件的第二逻辑关系;
基于所述第二逻辑关系生成伪随机数。
上述方案中,所述第一运算规则为第一本原多项式;所述基于所述第一运算规则将所述第一逻辑关系转换为满足预设条件的第二逻辑关系,包括:
将所述第一本原多项式表示为n个生成因子;
将所述第一逻辑关系转换为n×n的第一矩阵;
通过所述n个生成因子和所述第一矩阵按照预设运算规则运算获得所述第二逻辑关系;
其中,n为正整数。
本发明实施例还提供了一种电子设备,所述电子设备包括N个寄存单元;所述寄存单元还包括选择单元;其中,所述选择单元具有相同的初始化参数;
所述N个寄存单元,用于当检测到初始化条件触发时,按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,以在预定周期完成初始化过程;
其中N为正整数。
上述方案中,所述寄存单元还包括触发单元;所述触发单元的输出端与选择单元电连接;
所述N个选择单元具有相同的第一初始化参数或第二初始化参数;所述第一初始化参数对应于所述选择单元预先配置的初始化值;所述第二初始化参数对应与所述选择单元串接的触发单元的输出值。
上述方案中,所述N个寄存单元,用于按照所述选择单元预先配置的初始化参数对应的初始化值或所述触发单元的输出值进行初始化过程并输出初始化结果。
上述方案中,所述电子设备还包括M个异或逻辑单元;M为小于N的正整数;每个异或逻辑单元串接在两个寄存单元之间;
所述电子设备还包括随机数生成单元,用于获得每个寄存单元的输出位与其他寄存单元的输出位的第一逻辑关系;获得第一运算规则;基于所述第一运算规则将所述第一逻辑关系转换为满足预设条件的第二逻辑关系;基于所述第二逻辑关系生成伪随机数。
上述方案中,所述第一运算规则为第一本原多项式;
所述随机数生成单元,用于将所述第一本原多项式表示为n个生成因子;将所述第一逻辑关系转换为n×n的第一矩阵;通过所述n个生成因子和所述第一矩阵按照预设运算规则运算获得所述第二逻辑关系;其中,n为正整数。
本发明实施例提供的数据处理方法及电子设备,所述方法包括:设置所述电子设备中的N个寄存单元;使所述N个寄存单元中的N个选择单元具有相同的初始化参数;当检测到初始化条件触发时,所述N个寄存单元按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,以在预定周期完成初始化过程;其中N为正整数。如此,采用本发明实施例的技术方案,通过配置选择单元具有相同的初始化参数,使得所有寄存单元按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,提出一种并行输入初始化值的初始化方案,这种并行输入的方式大大减少了初始化的时间,解决了随机数生成器初始化时间过长的问题。
附图说明
图1为现有技术的电子设备中的随机数生成器的一种示意图;
图2为本发明实施例的电子设备的组成结构示意图;
图3为本发明实施例的数据处理方法的第一种流程示意图;
图4为本发明实施例的电子设备的一种具体组成结构示意图;
图5为本发明实施例中的矩阵运算的流程示意图;
图6为本发明实施例的数据处理方法的第二种流程示意图。
具体实施方式
图1为现有技术的电子设备中的随机数生成器的一种示意图;所述随机数生成器具体可以为LFSR。如图1所示,64级的LFSR由64个触发单元(例如D触发器)和若干个异或门组成。在初始化过程中,当一个时钟周期到来时,初始化值(init)输入第一个触发单元并在输出端输出;当下一个时钟周期到来时,第一个触发单元的输出值作为下一个触发单元的输入值输入;以此类推,直64个时钟周期后才能完成初始化。这种初始化方式耗时过长,由此提出本发明实施例的数据处理方法及电子设备。
下面结合附图及具体实施例对本发明作进一步详细的说明。
实施例一
本发明实施例提供了一种电子设备。图2为本发明实施例的电子设备的组成结构示意图;如图2所示,所述电子设备包括N个寄存单元21;所述寄存单元21还包括选择单元212;其中,所述选择单元212具有相同的初始化参数;
所述N个寄存单元21,用于当检测到初始化条件触发时,按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,以在预定周期完成初始化过程;其中N为正整数。
本实施例中,在每个寄存单元21中均设置选择单元212;所述选择单元212中配置两个初始化参数;当所述选择单元212置于第一初始化参数时,所述寄存单元21按照预先配置的初始化值进行初始化过程并输出初始化结果;当所述选择单元212置于第二初始化参数时,所述寄存单元21可按照前一个寄存单元21的输出值进行初始化过程并输出初始化结果。具体的,所述选择单元212具体可通过选择电路实现。
本实施例中,所述N个寄存单元21中的选择单元212配置的初始化参数相同,即所有的选择单元212均配置第一初始化参数或第二初始化参数,也即在一种实施方式中,所述N个寄存单元21均按照预先配置的初始化值进行初始化过程并输出初始化结果,这样,无论寄存单元21的数量有多少,所述N个寄存单元21可在一个时钟周期内完成初始化工作,这种并行输入的方式大大减少了初始化的时间。
作为另一种实施方式,所述N个寄存单元21中的每个寄存单元21按照前一个寄存单元21的输出值进行初始化过程并输出初始化结果。
基于本实施例的另一具体实施方式,所述寄存单元21还包括触发单元211;所述触发单元211可通过触发器(例如D触发器)实现;如图2所示,所述触发单元211的输出端与选择单元212电连接;
所述N个选择单元212具有相同的第一初始化参数或第二初始化参数;所述第一初始化参数对应于所述选择单元212预先配置的初始化值;所述第二初始化参数对应与所述选择单元212串接的触发单元211的输出值。
其中,所述N个寄存单元21,用于按照所述选择单元212预先配置的初始化参数对应的初始化值或所述触发单元211的输出值进行初始化过程并输出初始化结果。
具体的,本实施方式中,N个选择单元212配置的初始化参数相同,即所有的选择单元212均配置第一初始化参数或第二初始化参数,也即在一种实施方式中,所述N个寄存单元21中的触发单元211均按照预先配置的初始化值进行初始化过程并输出初始化结果,这样,无论寄存单元21的数量有多少,可在一个时钟周期内完成初始化工作,这种并行输入的方式大大减少了初始化的时间。作为另一种实施方式,所述N个触发单元211中的每个触发单元211均按照前一个触发单元211的输出值进行初始化过程并输出初始化结果。
采用本发明实施例的技术方案,通过配置选择单元具有相同的初始化参数,使得所有寄存单元按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,提出一种并行输入初始化值的初始化方案,这种并行输入的方式大大减少了初始化的时间,解决了随机数生成器初始化时间过长的问题。
实施例二
基于实施例一和图1所述的电子设备,本发明实施例还提供了一种数据处理方法。图3为本发明实施例的数据处理方法的第一种流程示意图;如图3所示,所述方法包括:
步骤301:设置所述电子设备中的N个寄存单元,使所述N个寄存单元中的N个选择单元具有相同的初始化参数。
步骤302:当检测到初始化条件触发时,所述N个寄存单元按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,以在预定周期完成初始化过程。
本实施例中,在每个寄存单元中均设置选择单元;所述选择单元中配置两个初始化参数;当所述选择单元置于第一初始化参数时,所述寄存单元按照预先配置的初始化值进行初始化过程并输出初始化结果;当所述选择单元置于第二初始化参数时,所述寄存单元可按照前一个寄存单元的输出值进行初始化过程并输出初始化结果。具体的,所述选择单元具体可通过选择电路实现。
本实施例中,所述N个寄存单元中的选择单元配置的初始化参数相同,即所有的选择单元均配置第一初始化参数或第二初始化参数,也即在一种实施方式中,所述N个寄存单元均按照预先配置的初始化值进行初始化过程并输出初始化结果,这样,无论寄存单元的数量有多少,所述N个寄存单元可在一个时钟周期内完成初始化工作,这种并行输入的方式大大减少了初始化的时间。
作为另一种实施方式,所述N个寄存单元中的每个寄存单元按照前一个寄存单元的输出值进行初始化过程并输出初始化结果。
基于本实施例的另一具体实施方式,所述寄存单元还包括触发单元;所述触发单元的输出端与选择单元电连接;所述使所述N个选择单元具有相同的初始化参数,包括:
配置所述N个选择单元具有相同的第一初始化参数或第二初始化参数;所述第一初始化参数对应于所述选择单元预先配置的初始化值;所述第二初始化参数对应与所述选择单元串接的触发单元的输出值。
其中,所述N个寄存单元按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,包括:
所述N个寄存单元按照所述选择单元预先配置的初始化参数对应的初始化值或所述触发单元的输出值进行初始化过程并输出初始化结果。
具体的,本实施方式中,N个选择单元配置的初始化参数相同,即所有的选择单元均配置第一初始化参数或第二初始化参数,也即在一种实施方式中,所述N个寄存单元中的触发单元均按照预先配置的初始化值进行初始化过程并输出初始化结果,这样,无论寄存单元的数量有多少,可在一个时钟周期内完成初始化工作,这种并行输入的方式大大减少了初始化的时间。作为另一种实施方式,所述N个触发单元中的每个触发单元均按照前一个触发单元的输出值进行初始化过程并输出初始化结果。
采用本发明实施例的技术方案,通过配置选择单元具有相同的初始化参数,使得所有寄存单元按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,提出一种并行输入初始化值的初始化方案,这种并行输入的方式大大减少了初始化的时间,解决了随机数生成器初始化时间过长的问题。
实施例三
本发明实施例还提供了一种电子设备。图4为本发明实施例的电子设备的一种具体组成结构示意图;如图4所示,所述电子设备包括N个寄存单元和M个异或逻辑单元;其中,N为正整数;M为小于N的正整数;每个异或逻辑单元串接在两个寄存单元之间;
所述寄存单元还包括选择单元;其中,所述选择单元具有相同的初始化参数;
所述N个寄存单元,用于当检测到初始化条件触发时,按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,以在预定周期完成初始化过程;
所述电子设备还包括随机数生成单元,用于获得每个寄存单元的输出位与其他寄存单元的输出位的第一逻辑关系;获得第一运算规则;基于所述第一运算规则将所述第一逻辑关系转换为满足预设条件的第二逻辑关系;基于所述第二逻辑关系生成伪随机数。
本实施例中包括两部分技术方案,一部分是完成初始化过程,另一部分是伪随机数的生成过程。其中,第一部分(即初始化过程)内容可参照实施例一的内容所述,这里不再赘述。
对于伪随机数的生成过程,本实施例中,所述电子设备中还包括M个异或逻辑单元;每个异或逻辑单元串接在两个寄存单元之间;其中,M小于N;M的数量以及每个异或逻辑单元所在位置与迭代数量(或遍历数量)以及具体的运算规则相关。
作为一种实施方式,本实施例中,所述第一运算规则为第一本原多项式;
所述随机数生成单元,用于将所述第一本原多项式表示为n个生成因子;将所述第一逻辑关系转换为n×n的第一矩阵;通过所述n个生成因子和所述第一矩阵按照预设运算规则运算获得所述第二逻辑关系;其中,n为正整数。
具体的,如图4所示为例,以64个寄存单元、进行16级迭代(即寄存关系迭代16次)为例,存在三个异或逻辑单元,第一个异或逻辑单元串接在第59寄存单元和第60寄存单元之间;第二个异或逻辑单元串接在第60寄存单元和第61寄存单元之间;第三个异或逻辑单元串接在第62寄存单元和第63寄存单元之间。基于上述描述结合图4,每个寄存单元的输出位与其他寄存单元的输出位的第一逻辑关系如下所示:
p[0]=p[63];
p[1]=p[0];
p[2]=p[1];
……
p[59]=p[58];
p[60]=p[59]^p[63];
p[61]=p[60]^p[63];
p[62]=p[61];
p[63]=p[62]^p[63];其中,“^”表示异或逻辑关系;p[N],N∈[0,63]表示每个寄存单元的输出位。
本实施例所获得的第一运算规则(即第一本原多项式)具体表示为:x64+x63+x61+x60+1。具体的,把64位对应的第一本原多项式表示为64位的生成因子(poly[k],k取值为0到63),用64x64的矩阵表示64位数间的异或逻辑关系,比如第n行(对应于64位数)表示第n个数与所有64位数间的异或运算关系。每迭代一次,通过生成因子与64x64矩阵得到新的矩阵值,上述描述可称为矩阵运算。具体的,图5为本发明实施例中的矩阵运算的流程示意图;上述矩阵运算的代码逻辑实现过程可如图5所示。
通过上述矩阵运算,可将上述第一逻辑关系转换为第二逻辑关系表示为:
p[0]=p[48]^p[49]^p[50]^p[54]^p[55]^p[56]^p[60]^p[61]^p[62];
p[1]=p[49]^p[50]^p[51]^p[55]^p[56]^p[57]^p[61]^p[62]^p[63];
p[2]=p[50]^p[51]^p[52]^p[56]^p[57]^p[58]^p[62]^p[63];
p[3]=p[51]^p[52]^p[53]^p[57]^p[58]^p[59]^p[63];
p[4]=p[52]^p[53]^p[54]^p[58]^p[59]^p[60];
p[5]=p[53]^p[54]^p[55]^p[59]^p[60]^p[61];
p[6]=p[54]^p[55]^p[56]^p[60]^p[61]^p[62];
p[7]=p[55]^p[56]^p[57]^p[61]^p[62]^p[63];
p[8]=p[56]^p[57]^p[58]^p[62]^p[63];
p[9]=p[57]^p[58]^p[59]^p[63];
p[10]=p[58]^p[59]^p[60];
p[11]=p[59]^p[60]^p[61];
p[12]=p[60]^p[61]^p[62];
p[13]=p[61]^p[62]^p[63];;
p[14]=p[62]^p[63];
p[15]=p[63];
p[16]=p[0];
p[17]=p[1];
p[18]=p[2];
p[19]=p[3];
p[20]=p[4];
…………
p[57]=p[41];
p[58]=p[42];
p[59]=p[43];
p[60]=p[44]^p[48]^p[49]^p[50]^p[54]^p[55]^p[56]^p[60]^p[61]^p[62];
p[61]=p[45]^p[48]^p[51]^p[54]^p[57]^p[60]^p[63];
p[62]=p[46]^p[49]^p[52]^p[55]^p[58]^p[61];
p[63]=p[47]^p[48]^p[49]^p[53]^p[54]^p[55]^p[59]^p[60]^p[61];其中,“^”表示异或逻辑关系;p[N],N∈[0,63]表示每个寄存单元的输出位。
本实施例中,获得上述第二逻辑关系后,基于所述第二逻辑关系中每个寄存单元与其他寄存单元之间的异或逻辑关系模拟为硬件电路,基于模拟的硬件电路生成伪随机数。
采用上述16级迭代方式,16个电子设备的初始化值可如下所示:
这样,每个电子设备的初始值均不同。而现有技术的随机数遍历通常采用分段的方式,例如,有100个随机数,分10组,第0号设备从0遍历到9,第1号设备从10遍历到19,第2号设备从20遍历到29……,但在随机数的场景下,由于每个随机数不是按顺序的,所以需要先通过设备遍历一遍,然后把遍历出的100个数分成10段,每一段的第一个值为这一段的初值。基于此,现有技术的方案需要找初值,对于随机数的数量巨大的情况下,可能需要很长时间(例如几十天)才能找到初值。而本发明实施例的技术方案的初值是固定的,无需找初值,大大节省了时间。
当然,本发明实施例的技术方案不限于上述列举的16级迭代的方式,任意多级的迭代均适用。
实施例四
基于实施例三和图4所述的电子设备,本发明实施例还提供了一种数据处理方法。图6为本发明实施例的数据处理方法的第二种流程示意图;如图6所示,所述方法包括:
步骤601:设置所述电子设备中的N个寄存单元,使所述N个寄存单元中的N个选择单元具有相同的初始化参数。
步骤602:当检测到初始化条件触发时,所述N个寄存单元按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,以在预定周期完成初始化过程。
步骤603:获得每个寄存单元的输出位与其他寄存单元的输出位的第一逻辑关系,以及获得第一运算规则。
步骤604:基于所述第一运算规则将所述第一逻辑关系转换为满足预设条件的第二逻辑关系。
步骤605:基于所述第二逻辑关系生成伪随机数。
本实施例包括两部分技术方案,其中步骤601至步骤602记载的是初始化过程;步骤603至步骤605是伪随机数生成过程。其中,所述初始化过程可参照实施例二的内容所述,这里不再赘述。
对于伪随机数的生成过程,本实施例中,所述电子设备中还包括M个异或逻辑单元;每个异或逻辑单元串接在两个寄存单元之间;其中,M小于N;M的数量以及每个异或逻辑单元所在位置与迭代数量(或遍历数量)以及具体的运算规则相关。
作为一种实施方式,本实施例中,所述第一运算规则为第一本原多项式;所述基于所述第一运算规则将所述第一逻辑关系转换为满足预设条件的第二逻辑关系,包括:
将所述第一本原多项式表示为n个生成因子;
将所述第一逻辑关系转换为n×n的第一矩阵;
通过所述n个生成因子和所述第一矩阵按照预设运算规则运算获得所述第二逻辑关系;其中,n为正整数。
具体的,如图4所示为例,以64个寄存单元、进行16级迭代(即寄存关系迭代16次)为例,存在三个异或逻辑单元,第一个异或逻辑单元串接在第59寄存单元和第60寄存单元之间;第二个异或逻辑单元串接在第60寄存单元和第61寄存单元之间;第三个异或逻辑单元串接在第62寄存单元和第63寄存单元之间。基于上述描述结合图4,每个寄存单元的输出位与其他寄存单元的输出位的第一逻辑关系如下所示:
p[0]=p[63];
p[1]=p[0];
p[2]=p[1];
……
p[59]=p[58];
p[60]=p[59]^p[63];
p[61]=p[60]^p[63];
p[62]=p[61];
p[63]=p[62]^p[63];其中,“^”表示异或逻辑关系;p[N],N∈[0,63]表示每个寄存单元的输出位。
本实施例所获得的第一运算规则(即第一本原多项式)具体表示为:x64+x63+x61+x60+1。具体的,把64位对应的第一本原多项式表示为64位的生成因子(poly[k],k取值为0到63),用64x64的矩阵表示64位数间的异或逻辑关系,比如第n行(对应于64位数)表示第n个数与所有64位数间的异或运算关系。每迭代一次,通过生成因子与64x64矩阵得到新的矩阵值,上述描述可称为矩阵运算。具体的,上述矩阵运算的代码逻辑实现过程可如图5所示。
通过上述矩阵运算,可将上述第一逻辑关系转换为第二逻辑关系表示为:
p[0]=p[48]^p[49]^p[50]^p[54]^p[55]^p[56]^p[60]^p[61]^p[62];
p[1]=p[49]^p[50]^p[51]^p[55]^p[56]^p[57]^p[61]^p[62]^p[63];
p[2]=p[50]^p[51]^p[52]^p[56]^p[57]^p[58]^p[62]^p[63];
p[3]=p[51]^p[52]^p[53]^p[57]^p[58]^p[59]^p[63];
p[4]=p[52]^p[53]^p[54]^p[58]^p[59]^p[60];
p[5]=p[53]^p[54]^p[55]^p[59]^p[60]^p[61];
p[6]=p[54]^p[55]^p[56]^p[60]^p[61]^p[62];
p[7]=p[55]^p[56]^p[57]^p[61]^p[62]^p[63];
p[8]=p[56]^p[57]^p[58]^p[62]^p[63];
p[9]=p[57]^p[58]^p[59]^p[63];
p[10]=p[58]^p[59]^p[60];
p[11]=p[59]^p[60]^p[61];
p[12]=p[60]^p[61]^p[62];
p[13]=p[61]^p[62]^p[63];;
p[14]=p[62]^p[63];
p[15]=p[63];
p[16]=p[0];
p[17]=p[1];
p[18]=p[2];
p[19]=p[3];
p[20]=p[4];
…………
p[57]=p[41];
p[58]=p[42];
p[59]=p[43];
p[60]=p[44]^p[48]^p[49]^p[50]^p[54]^p[55]^p[56]^p[60]^p[61]^p[62];
p[61]=p[45]^p[48]^p[51]^p[54]^p[57]^p[60]^p[63];
p[62]=p[46]^p[49]^p[52]^p[55]^p[58]^p[61];
p[63]=p[47]^p[48]^p[49]^p[53]^p[54]^p[55]^p[59]^p[60]^p[61];其中,“^”表示异或逻辑关系;p[N],N∈[0,63]表示每个寄存单元的输出位。
本实施例中,获得上述第二逻辑关系后,基于所述第二逻辑关系中每个寄存单元与其他寄存单元之间的异或逻辑关系模拟为硬件电路,基于模拟的硬件电路生成伪随机数。
采用上述16级迭代方式,16个电子设备的初始化值可如下所示:
这样,每个电子设备的初始值均不同。而现有技术的随机数遍历通常采用分段的方式,例如,有100个随机数,分10组,第0号设备从0遍历到9,第1号设备从10遍历到19,第2号设备从20遍历到29……,但在随机数的场景下,由于每个随机数不是按顺序的,所以需要先通过设备遍历一遍,然后把遍历出的100个数分成10段,每一段的第一个值为这一段的初值。基于此,现有技术的方案需要找初值,对于随机数的数量巨大的情况下,可能需要很长时间(例如几十天)才能找到初值。而本发明实施例的技术方案的初值是固定的,无需找初值,大大节省了时间。
当然,本发明实施例的技术方案不限于上述列举的16级迭代的方式,任意多级的迭代均适用。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种数据处理方法,所述方法应用于电子设备中;所述方法包括:
设置所述电子设备中的N个寄存单元;
使所述N个寄存单元中的N个选择单元具有相同的初始化参数;
当检测到初始化条件触发时,所述N个寄存单元按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,以在预定周期完成初始化过程;
其中N为正整数。
2.根据权利要求1所述的方法,其特征在于,所述寄存单元还包括触发单元;所述触发单元的输出端与选择单元电连接;所述使所述N个选择单元具有相同的初始化参数,包括:
配置所述N个选择单元的每个的初始化参数为第一初始化参数,或者,配置所述N个选择单元的每个的初始化参数为第二初始化参数;所述第一初始化参数对应于所述选择单元预先配置的初始化值;所述第二初始化参数对应与所述选择单元串接的触发单元的输出值。
3.根据权利要求2所述的方法,其特征在于,所述N个寄存单元按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,包括:
所述N个寄存单元按照所述选择单元预先配置的初始化参数对应的初始化值或所述触发单元的输出值进行初始化过程并输出初始化结果。
4.根据权利要求1所述的方法,其特征在于,所述电子设备还包括M个异或逻辑单元;M为小于N的正整数;每个异或逻辑单元串接在两个寄存单元之间;所述方法还包括:
获得每个寄存单元的输出位与其他寄存单元的输出位的第一逻辑关系;
获得第一运算规则;
基于所述第一运算规则将所述第一逻辑关系转换为满足预设条件的第二逻辑关系;
基于所述第二逻辑关系生成伪随机数。
5.根据权利要求4所述的方法,其特征在于,所述第一运算规则为第一本原多项式;所述基于所述第一运算规则将所述第一逻辑关系转换为满足预设条件的第二逻辑关系,包括:
将所述第一本原多项式表示为n个生成因子;
将所述第一逻辑关系转换为n×n的第一矩阵;
通过所述n个生成因子和所述第一矩阵按照预设运算规则运算获得所述第二逻辑关系;
其中,n为正整数。
6.一种电子设备,其特征在于,所述电子设备包括N个寄存单元;所述寄存单元还包括选择单元;其中,所述选择单元具有相同的初始化参数;
所述N个寄存单元,用于当检测到初始化条件触发时,按照所述初始化参数对应的数值进行初始化过程并输出初始化结果,以在预定周期完成初始化过程;
其中N为正整数。
7.根据权利要求6所述的电子设备,其特征在于,所述寄存单元还包括触发单元;所述触发单元的输出端与选择单元电连接;
所述N个寄存单元所包括的每个选择单元的初始化参数为第一初始化参数,或者,所述N个寄存单元所包括的每个选择单元的初始化参数为第二初始化参数;所述第一初始化参数对应于所述选择单元预先配置的初始化值;所述第二初始化参数对应与所述选择单元串接的触发单元的输出值。
8.根据权利要求7所述的电子设备,其特征在于,所述N个寄存单元,用于按照所述选择单元预先配置的初始化参数对应的初始化值或所述触发单元的输出值进行初始化过程并输出初始化结果。
9.根据权利要求6所述的电子设备,其特征在于,所述电子设备还包括M个异或逻辑单元;M为小于N的正整数;每个异或逻辑单元串接在两个寄存单元之间;
所述电子设备还包括随机数生成单元,用于获得每个寄存单元的输出位与其他寄存单元的输出位的第一逻辑关系;获得第一运算规则;基于所述第一运算规则将所述第一逻辑关系转换为满足预设条件的第二逻辑关系;基于所述第二逻辑关系生成伪随机数。
10.根据权利要求9所述的电子设备,其特征在于,所述第一运算规则为第一本原多项式;
所述随机数生成单元,用于将所述第一本原多项式表示为n个生成因子;将所述第一逻辑关系转换为n×n的第一矩阵;通过所述n个生成因子和所述第一矩阵按照预设运算规则运算获得所述第二逻辑关系;其中,n为正整数。
CN201610192719.9A 2016-03-30 2016-03-30 一种数据处理方法及电子设备 Active CN105892990B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610192719.9A CN105892990B (zh) 2016-03-30 2016-03-30 一种数据处理方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610192719.9A CN105892990B (zh) 2016-03-30 2016-03-30 一种数据处理方法及电子设备

Publications (2)

Publication Number Publication Date
CN105892990A CN105892990A (zh) 2016-08-24
CN105892990B true CN105892990B (zh) 2019-03-12

Family

ID=57013997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610192719.9A Active CN105892990B (zh) 2016-03-30 2016-03-30 一种数据处理方法及电子设备

Country Status (1)

Country Link
CN (1) CN105892990B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101346009A (zh) * 2008-08-18 2009-01-14 中兴通讯股份有限公司 一种自动交换光网络的性能统计方法及其系统
CN103733600A (zh) * 2013-06-28 2014-04-16 华为技术有限公司 一种建立链路的方法、节点及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4538066B2 (ja) * 2008-08-26 2010-09-08 株式会社東芝 乱数生成装置
KR101685173B1 (ko) * 2009-07-13 2016-12-12 주식회사 팬택 무선통신 시스템에서의 시퀀스 생성 방법 및 그 장치
US9190141B2 (en) * 2013-07-30 2015-11-17 Qualcomm Incorporated Circuits for voltage or current biasing static random access memory (SRAM) bitcells during SRAM reset operations, and related systems and methods

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101346009A (zh) * 2008-08-18 2009-01-14 中兴通讯股份有限公司 一种自动交换光网络的性能统计方法及其系统
CN103733600A (zh) * 2013-06-28 2014-04-16 华为技术有限公司 一种建立链路的方法、节点及装置

Also Published As

Publication number Publication date
CN105892990A (zh) 2016-08-24

Similar Documents

Publication Publication Date Title
Zhidenko Massive scalar field quasinormal modes of higher dimensional black holes
CN102891685B (zh) 基于fpga的并行循环冗余校验运算电路
EP0240546B1 (en) Random sequence generators
CN105005462B (zh) 一种混合式随机数发生器及其产生随机数的方法
EP3912306A1 (en) Methods for protecting computer hardware from cyber threats
CN103399726A (zh) 一种流水线化的组合式伪随机数发生器
CN104049936A (zh) 用于识别相关的方法
CN106330429A (zh) Sm4算法的s盒的生成方法及装置
CN102226947B (zh) 一种基于线性反馈移位寄存器的可控测试向量发生器
CN104301089B (zh) 用于对任意变量的两个布尔函数进行仿射等价的判定方法
CN105354008A (zh) 一种随机数生成器的输出电路及输出方法
CN101556829B (zh) 线性反馈移位寄存器模块及产生输出流的方法
US5905664A (en) Circuit for determining, in parallel, the terms of a remainder that results from dividing two binary polynomials
US20050044119A1 (en) Pseudo-random number generator
CN104778029A (zh) 用于产生随机数发生器的随机源的输出的方法
CN105892990B (zh) 一种数据处理方法及电子设备
US8909510B2 (en) LFSR emulation
Keren Reduction of average path length in binary decision diagrams by spectral methods
Sikdar et al. Design of multiple attractor gf (2/sup p/) cellular automata for diagnosis of vlsi circuits
Stathis et al. Solving AI problems with memristors: A case study for optimal
CN202906879U (zh) 基于fpga的并行循环冗余校验运算电路
CN104199635B (zh) 集成crc校验电路的伪随机数发生器
CN103258035B (zh) 数据处理的方法和装置
Bernardeschi et al. Application of a genetic algorithm for testing SEUs in SRAM-FPGA Systems
Mukherjee et al. High-speed on-chip event counters for embedded systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20170220

Address after: 100176 Beijing City, Daxing District branch of Beijing economic and Technological Development Zone, fourteen Street No. 99 building 33 building D No. 2226

Applicant after: Beijing legend core technology Co., Ltd.

Address before: 100085 Haidian District West Road, Beijing, No. 6

Applicant before: Lenovo (Beijing) Co., Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190814

Address after: 518067 Dongjiaotou Workshop D24/F-02, Houhai Avenue, Shekou Street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen Yi Lian Information System Co., Ltd.

Address before: 100176 Beijing City, Daxing District branch of Beijing economic and Technological Development Zone, fourteen Street No. 99 building 33 building D No. 2226

Patentee before: Beijing legend core technology Co., Ltd.