一种Scrypt算法的电路架构制造技术

技术编号:37112861 阅读:9 留言:0更新日期:2023-04-01 05:09
本发明专利技术提供一种Scrypt算法电路架构,所述电路架构包含输入模块、运算模块和内存模块,所述运算模块包含抽取单元。所述输入模块用于将多个待计算任务送入所述运算模块,所述运算模块用于对所述多个待计算任务执行并行运行xor_salsa运算,所述抽取单元用于对所述多个待计算任务的xor_salsa运算结果按照预设间隔抽取预设个数的运算结果数据,所述内存模块用于为所述多个待计算任务抽取的运算结果数据提供内存空间。区别于传统方式两次1024轮xor_salsa计算,本发明专利技术的运算模块将计算过程分成三个运算子模块,进行三次1024轮xor_salsa计算,三个运算子模块并行运行xor_salsa计算,提高了Scrypt算法的并行度,从而提高计算效率,满足高性能计算需求。满足高性能计算需求。

【技术实现步骤摘要】
一种Scrypt算法的电路架构


[0001]本专利技术涉及区块链
,主要是涉及一种Scrypt算法的电路架构。

技术介绍

[0002]Scrypt是一种内存依赖型的POW算法,被广泛地运用于区块链领域。Scrypt算法中的核心部分内容为salsa算法,salsa算法的运行分为两个大的阶段:第一阶段是确定计算对象集合的阶段;第二个阶段是链接关系传播过程,在这一阶段则采纳了“随机游走模型”。
[0003]Scrypt算法中xor_salsa部分需要进行两次1024轮xor_salsa计算,Scrypt算法中xor_salsa部分需要消耗大量的计算时间用于salsa8部分运算,传统的处理方法如图1所示,前后两次1024轮计算阶段没有并行,无法满足高性能算法计算芯片的需求。为此,提供一种计算效率高、满足高性能计算需求的Scrypt算法电路架构就显得尤为重要。

技术实现思路

[0004]本专利技术提供了一种Scrypt算法的电路架构,旨在减少任务数据的平均计算时间,提高算力。
[0005]为实现上述目的,本专利技术提供了一种Scrypt算法的电路架构,所述电路架构电路架构包含输入模块、运算模块和内存模块,所述运算模块包含抽取单元,
[0006]所述输入模块,用于将多个待计算任务送入所述运算模块;
[0007]所述运算模块,用于对所述多个待计算任务执行并行运行xor_salsa运算;
[0008]所述抽取单元,用于对所述多个待计算任务的xor_salsa运算结果按照预设间隔抽取预设个数的运算结果数据;
[0009]所述内存模块,用于为所述多个待计算任务抽取的运算结果数据提供内存空间。
[0010]进一步地,所述运算模块包含第一运算子模块,
[0011]所述第一运算子模块分为多个时隙,一个时隙对应一个所述待计算任务;
[0012]所述第一运算子模块的多个时隙,用于对所述多个待计算任务同时并行运行不多于1024次xor_salsa运算,获得多个待计算任务的第一运算结果数据。
[0013]进一步地,所述第一运算子模块将所述待计算任务数据作为每个待计算任务第一次xor_salsa运算的初始值;
[0014]所述第一运算子模块将当前待计算任务上一次xor_salsa运算后的结果作为之后每一次xor_salsa运算的初始值;
[0015]所述xor_salsa运算的初始值,用于输入到所述第一运算子模块中进行xor_salsa运算,获得所述多个待计算任务的第一运算结果数据。
[0016]进一步地,所述抽取单元在所述第一运算子模块中,所述抽取单元用于对每个待计算任务同步抽取第一个初始值以及第一预设间隔次xor_salsa运算的结果;
[0017]所述抽取单元抽取的运算结果作为每个待计算任务抽取的第一运算结果数据。
[0018]进一步地,所述内存模块包含第一内存模块,
[0019]所述第一内存模块宽度为1024比特;
[0020]所述第一内存模块用于为所述每个待计算任务抽取的第一运算结果数据提供第一预设个数的地址的内存空间。
[0021]进一步地,所述运算模块包含第二运算子模块,
[0022]所述第二运算子模块分为多个时隙,一个时隙对应一个xor_salsa;
[0023]所述第二运算子模块,用于依次对所述第一内存模块中的单个待计算任务分多时隙执行并行运行xor_salsa运算;
[0024]每个时隙,用于对所述待计算任务进行不多于第一预设间隔次xor_salsa运算,获得每个待计算任务的第二运算结果数据。
[0025]进一步地,所述第二运算子模块将所述第一内存模块中的第一运算结果数据,作为每个时隙第一次xor_salsa运算的初始值;
[0026]所述第二运算子模块将当前时隙上一次xor_salsa运算的结果,作为所述当前时隙之后每一次xor_salsa运算的初始值;
[0027]所述xor_salsa运算的初始值,用于输入到所述第二运算子模块中进行xor_salsa运算,获得所述每个待计算任务的第二运算结果数据。
[0028]进一步地,所述抽取单元在所述第二运算子模块中,所述抽取单元用于对每个待计算任务同步抽取第一个初始值以及第二预设间隔次xor_salsa运算的结果,
[0029]所述抽取单元抽取的运算结果作为每个待计算任务抽取的第二运算结果数据。
[0030]进一步地,所述内存模块包含第二内存模块,
[0031]所述第二内存模块宽度为1024比特;
[0032]所述第二内存模块用于为所述每个待计算任务抽取的第二运算结果数据提供第二预设个数的地址的内存空间。
[0033]进一步地,所述运算模块包含第三运算子模块,
[0034]所述第三运算子模块分为多个时隙,一个时隙对应一个所述待计算任务;
[0035]所述第三运算子模块的多个时隙,用于对完成所述第二运算子模块的多个待计算任务同时执行并行运行1024轮xor_salsa运算,获得每个待计算任务的第三运算结果数据,作为最后输出结果。
[0036]本专利技术提供一种Scrypt算法电路架构,所述电路架构包含输入模块、运算模块和内存模块,所述运算模块包含抽取单元。所述输入模块用于将多个待计算任务送入所述运算模块,所述运算模块用于对所述多个待计算任务执行并行运行xor_salsa运算,所述抽取单元用于对所述多个待计算任务的xor_salsa运算结果按照预设间隔抽取预设个数的运算结果数据,所述内存模块用于为所述多个待计算任务抽取的运算结果数据提供内存空间。区别于传统方式两次1024轮xor_salsa计算,本专利技术的运算模块将计算过程分成三个运算子模块,进行三次1024轮xor_salsa计算,三个运算子模块并行运行xor_salsa计算,提高了Scrypt算法的并行度,从而提高计算效率,满足高性能计算需求。
附图说明
[0037]为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普
通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038]图1是一种传统Scrypt算法计算过程示意图;
[0039]图2是本申请的实施例提供的电路架构框图;
[0040]图3是本申请的实施例提供的第二运算子模块计算过程示意图;
[0041]图4是实本申请的实施例提供的电路计算过程示意图。
具体实施方式
[0042]为了使本专利技术的目的、技术方案及技术效果更加清楚明白,以下对本专利技术的具体实施例进行描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Scrypt算法的电路架构,其特征在于,所述电路架构包含输入模块、运算模块和内存模块,所述运算模块包含抽取单元,所述输入模块,用于将多个待计算任务送入所述运算模块;所述运算模块,用于对所述多个待计算任务执行并行运行xor_salsa运算;所述抽取单元,用于对所述多个待计算任务的xor_salsa运算结果按照预设间隔抽取预设个数的运算结果数据;所述内存模块,用于为所述多个待计算任务抽取的运算结果数据提供内存空间。2.如权利要求1所述的电路架构,其特征在于,所述运算模块包含第一运算子模块,所述第一运算子模块分为多个时隙,一个时隙对应一个所述待计算任务;所述第一运算子模块的多个时隙,用于对所述多个待计算任务同时并行运行不多于1024次xor_salsa运算,获得多个待计算任务的第一运算结果数据。3.如权利要求2所述的电路架构,其特征在于,所述第一运算子模块将所述待计算任务数据作为每个待计算任务第一次xor_salsa运算的初始值;所述第一运算子模块将当前待计算任务上一次xor_salsa运算后的结果作为之后每一次xor_salsa运算的初始值;所述xor_salsa运算的初始值,用于输入到所述第一运算子模块中进行xor_salsa运算,获得所述多个待计算任务的第一运算结果数据。4.如权利要求2所述的电路架构,其特征在于,所述抽取单元在所述第一运算子模块中,所述抽取单元用于对每个待计算任务同步抽取第一个初始值以及第一预设间隔次xor_salsa运算的结果;所述抽取单元抽取的运算结果作为每个待计算任务抽取的第一运算结果数据。5.如权利要求4所述的电路架构,其特征在于,所述内存模块包含第一内存模块,所述第一内存模块宽度为1024比特;所述第一内存模块用于为所述每个待计算任务抽取的第一运算结果数据提供第一预设个数的地址的内存空间。6.如权利要求5...

【专利技术属性】
技术研发人员:周庆
申请(专利权)人:上海亿家芯集成电路设计有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1