当前位置: 首页 > 专利查询>东南大学专利>正文

基于粗粒度可重构架构的SM3算法轮迭代系统及迭代方法技术方案

技术编号:20947311 阅读:33 留言:0更新日期:2019-04-24 03:35
本发明专利技术公开一种基于粗粒度可重构架构的SM3算法轮迭代系统及迭代方法,迭代系统包括系统总线、可重构处理器和微处理器,可重构处理器包括配置单元、输入先进先出寄存器组、输出先进先出寄存器组、通用寄存器堆和4个可重构阵列块,配置单元进线口经系统总线与微处理器连接,出线口与各可重构阵列块连接;输入先进先出寄存器组经系统总线与微处理器连接;4个可重构阵列块分别与输入/输出先进先出寄存器组、通用寄存器堆连接;4个可重构阵列块之间经通用寄存器堆进行数据储存、读取和传递;输出先进先出寄存器组经系统总线与微处理器连接。此种技术方案在支持一定的灵活性的同时,通过提高对DES算法的并行度以及优化流水线等实现SM3算法的高效运算。

Round iteration system and iteration method of SM3 algorithm based on coarse-grained reconfigurable architecture

The invention discloses an SM3 algorithm wheel iteration system and iteration method based on coarse-grained reconfigurable architecture. The iteration system includes system bus, reconfigurable processor and microprocessor. The reconfigurable processor includes configuration unit, input-first-in-first-out register group, output-first-out register group, general register stack and four reconfigurable array blocks. Lines are connected with microprocessors, and outlets are connected with reconfigurable array blocks; input-first-in-first-out registers are connected with microprocessors via system bus; four reconfigurable array blocks are connected with input/output first-in-first-out registers and general register stacks respectively; four reconfigurable array blocks are connected with input/output first-in-first-out registers and general register stacks for data storage, reading and transmission through general register stacks; The unit group is connected to the microprocessor via the system bus. While supporting certain flexibility, this technical scheme achieves efficient operation of SM3 algorithm by improving the parallelism of DES algorithm and optimizing pipeline.

【技术实现步骤摘要】
基于粗粒度可重构架构的SM3算法轮迭代系统及迭代方法
本专利技术属于嵌入式可重构系统领域,特别涉及一种应用于通信、加密等领域的基于大规模粗粒度嵌入式可重构系统及其处理方法。
技术介绍
通用处理器与专用集成电路(ASIC)是传统的计算机系统结构领域的两大主流方法。然而,随着应用领域对系统的性能、能耗、上市时间等指标需求的不断提高,这两种传统计算模式的弊端就暴露出来。通用处理器方法适用范围广,但是计算效率低,专用集成电路虽然可以提高计算速度和计算效率,满足性能需求,但是ASIC器件的灵活性很差。为了在灵活性和计算效率之间实现很好的权衡,可重构计算(reconfigurablecomputing)技术应运而生。可重构计算是当前计算机系统结构领域的发展趋势之一,它的架构介于通用处理器和ASIC之间,并且综合了二者长处。它通过对可重构设备进行配置,可以使之由一个通用的计算平台转化为一个专用的硬件系统,以完成具体的计算任务,相当于计算任务同时在时间和空间上展开,显示出了应用的灵活性和很高的计算性能。此外,可重构计算技术还具有系统能耗低、可靠性高、上市时间短等优势。这些优势使得可重构计算技术在各个应用领域尤其是嵌入式应用领域有着广阔的应用前景。很多在嵌入式领域中的主流应用,例如多媒体应用、加/解密应用以及通信应用等都非常适合利用可重构计算技术实现。当前的可重构计算技术主要还是用于尖端
中的计算平台,但随着可重构逻辑器件成本逐渐降低,运行时可重构计算技术不断完善,我们有理由相信可重构计算技术具备的种种优势会使其在更多的领域里大有作为。目前国内外已研究有多重可重构系统,如ReMAP,AsAP,DRP等。但是,这些阵列的互联方式较为简单,在SM3算法轮迭代运算中需要大量的比特移位以及较多的轮数,因此运算的效率和速度较低。传统的可重构计算系统在SM3的运算效率与运算周期方面存在较大问题。
技术实现思路
本专利技术的目的,在于提供一种基于粗粒度可重构架构的SM3算法轮迭代系统及迭代方法,利用可重构技术的并行性处理、运算模块独立可配置等优点,在支持一定的灵活性的同时,通过提高对DES算法的并行度以及优化流水线等方法实现SM3算法的高效运算。为了达成上述目的,本专利技术的解决方案是:一种基于粗粒度可重构架构的SM3算法轮迭代系统,包括系统总线、可重构处理器和微处理器,其中,所述可重构处理器包括配置单元、输入先进先出寄存器组、输出先进先出寄存器组、通用寄存器堆和4个可重构阵列块,所述配置单元的进线口通过系统总线与微处理器连接,且配置单元的出线口分别与各个可重构阵列块连接;而所述输入先进先出寄存器组通过系统总线与微处理器连接;4个可重构阵列块分别与输入先进先出寄存器组连接,同时又分别与输出先进先出寄存器组连接,且这4个可重构阵列块均与通用寄存器堆连接;4个可重构阵列块之间通过通用寄存器堆互相进行数据的储存、读取和传递;所述输出先进先出寄存器组通过系统总线与微处理器连接;所述SM3算法轮迭代系统包含5M+1张配置流程图,微处理器通过分析SM3的特征来确定轮迭代的运算流程,将多轮的轮迭代运算的配置流程图展开成一幅数据流图映射到可重构处理器中形成配置信息发送给配置单元;微处理器通过系统总线发送明文数据给可重构处理器,明文数据将存入输入先进先出寄存器组,微处理器并将初始数据、生成的密钥和计算的中间数据存入通用寄存器堆中用于下一张图的轮迭代;所述配置单元用于存储配置信息,并将配置信息发送给各个可重构阵列块。一种基于粗粒度可重构架构的SM3算法迭代系统的迭代方法,包括以下步骤;步骤1,归纳出SM3方法迭代的数据流图;步骤2,制定SM3的数据输入方式;步骤3,根据步骤2确定的数据输入方式以及步骤1确定的数据流图,配置可重构处理器,并生成配置信息;步骤4,通过微处理器将配置信息以及可重构处理器初始数据存入相应的存储器中;步骤5,微处理器启动可重构处理器,并将配置信息及待处理数据发送给可重构处理器;步骤6,可重构处理器根据配置信息及待处理数据进行数据处理,当可重构处理器完成当前任务后,发送中断信号;并将处理好的数据通过系统总线发送给微处理器。采用上述方案后,本专利技术针对SM3算法迭代,通过4个可重构阵列块包含多个运算单元,借助通用寄存器堆提高SM3算法的运算并行度,将多轮迭代在可重构处理器中并行移位替换的方式进行优化和加速,在具有一定灵活性的同时,提高SM3方法的运算效率,尽可能地减少运算周期。附图说明图1是本专利技术的基于大规模粗粒度嵌入式可重构系统处理器框图;图2至图7是本专利技术SM3算法迭代配置流程图;图8是消息扩展规则示意图;图9是压缩函数规则示意图;图10是SM3算法轮迭代整体流图。具体实施方式以下将结合附图,对本专利技术的技术方案及有益效果进行详细说明。如图1所示,本专利技术提供一种基于粗粒度可重构架构的SM3算法轮迭代系统,包括系统总线、可重构处理器和微处理器,下面分别介绍。所述可重构处理器包括配置单元、输入先进先出寄存器组、输出先进先出寄存器组、通用寄存器堆、4个可重构阵列块、查找表,所述配置单元的进线口通过系统总线与微处理器连接,且配置单元的出线口分别与各个可重构阵列块连接;而所述输入先进先出寄存器组通过系统总线与微处理器连接;这4个可重构阵列块分别为第1个可重构阵列块、第2个可重构阵列块、第3个可重构阵列块和第4个可重构阵列块;所述每个可重构阵列块与输入先进先出寄存器组连接,同时又与输出先进先出寄存器组连接,且这4个可重构阵列块均与通用寄存器堆连接;这4个可重构阵列块之间通过通用寄存器堆互相进行数据的储存、读取和传递;所述输出先进先出寄存器组通过系统总线与微处理器连接;所述SM3算法轮迭代系统包含5M+1张配置流程图,其中:微处理器通过分析SM3的特征来确定轮迭代的运算流程,将多轮的轮迭代运算的配置流程图展开成一幅数据流图映射到可重构处理器中形成配置信息发送给配置单元。微处理器通过系统总线发送明文数据给可重构处理器,明文数据将存入输入先进先出寄存器组。微处理器并将初始数据、生成的密钥和计算的中间数据存入通用寄存器堆中用于下一张图的轮迭代。所述配置单元用于存储配置信息,并将配置信息发送给各个可重构阵列块。对于第5p-4个配置流程图,1≤p≤M;第(5p-4)个配置流程图用于获取输入先进先出寄存器组的消息数据和读取其对应的配置单元的配置信息;第(5p-4)个配置流程图根据配置信息对读取的初始消息数据存入通用寄存器堆;根据配置信息将初始消息数据载入下一个配置流程图中,用于下一个配置流程图的运算;对于第5p-3个配置流程图,1≤p≤M;第(5p-3)个配置流程图用于获取第(5p-4)个配置流程图的存入通用寄存器堆的初始消息数据、读取其对应的配置单元的配置信息,完成消息扩展迭代;通过第1个读端口运算行选择器读取通用寄存器堆中消息扩展字数据;所述第(5p-3)个配置流程图根据配置信息完成SM3算法中消息扩展第一阶段迭代;对于第5p-2个配置流程图,1≤p≤M;第(5p-2)个配置流程图用于获取第(5p-3)个配置流程图的存入通用寄存器堆的初始消息数据、读取其对应的配置单元的配置信息,完成消息扩展迭代;通过第1个读端口运算行选择器读取通用寄存器堆中消息扩展本文档来自技高网
...

【技术保护点】
1.一种基于粗粒度可重构架构的SM3算法轮迭代系统,其特征在于:包括系统总线、可重构处理器和微处理器,其中,所述可重构处理器包括配置单元、输入先进先出寄存器组、输出先进先出寄存器组、通用寄存器堆和4个可重构阵列块,所述配置单元的进线口通过系统总线与微处理器连接,且配置单元的出线口分别与各个可重构阵列块连接;而所述输入先进先出寄存器组通过系统总线与微处理器连接;4个可重构阵列块分别与输入先进先出寄存器组连接,同时又分别与输出先进先出寄存器组连接,且这4个可重构阵列块均与通用寄存器堆连接;4个可重构阵列块之间通过通用寄存器堆互相进行数据的储存、读取和传递;所述输出先进先出寄存器组通过系统总线与微处理器连接;所述SM3算法轮迭代系统包含5M+1张配置流程图,微处理器通过分析SM3的特征来确定轮迭代的运算流程,将多轮的轮迭代运算的配置流程图展开成一幅数据流图映射到可重构处理器中形成配置信息发送给配置单元;微处理器通过系统总线发送明文数据给可重构处理器,明文数据将存入输入先进先出寄存器组,微处理器并将初始数据、生成的密钥和计算的中间数据存入通用寄存器堆中用于下一张图的轮迭代;所述配置单元用于存储配置信息,并将配置信息发送给各个可重构阵列块。...

【技术特征摘要】
1.一种基于粗粒度可重构架构的SM3算法轮迭代系统,其特征在于:包括系统总线、可重构处理器和微处理器,其中,所述可重构处理器包括配置单元、输入先进先出寄存器组、输出先进先出寄存器组、通用寄存器堆和4个可重构阵列块,所述配置单元的进线口通过系统总线与微处理器连接,且配置单元的出线口分别与各个可重构阵列块连接;而所述输入先进先出寄存器组通过系统总线与微处理器连接;4个可重构阵列块分别与输入先进先出寄存器组连接,同时又分别与输出先进先出寄存器组连接,且这4个可重构阵列块均与通用寄存器堆连接;4个可重构阵列块之间通过通用寄存器堆互相进行数据的储存、读取和传递;所述输出先进先出寄存器组通过系统总线与微处理器连接;所述SM3算法轮迭代系统包含5M+1张配置流程图,微处理器通过分析SM3的特征来确定轮迭代的运算流程,将多轮的轮迭代运算的配置流程图展开成一幅数据流图映射到可重构处理器中形成配置信息发送给配置单元;微处理器通过系统总线发送明文数据给可重构处理器,明文数据将存入输入先进先出寄存器组,微处理器并将初始数据、生成的密钥和计算的中间数据存入通用寄存器堆中用于下一张图的轮迭代;所述配置单元用于存储配置信息,并将配置信息发送给各个可重构阵列块。2.如权利要求1所述的基于粗粒度可重构架构的SM3算法轮迭代系统,其特征在于:所述配置单元包括依次连接在一起的配置与控制接口、配置存储器和配置解析模块,且所述配置与控制接口和系统总线连接;微处理器依次通过系统总线和配置与控制接口将所需要的配置信息发送给配置存储器,所述配置存储器存储发送过来的配置信息,而配置解析模块用于解析配置存储器的配置信息,且将解析的配置信息发送给可重构阵列块。3.如权利要求1所述的基于粗粒度可重构架构的SM3算法轮迭代系统,其特征在于:所述可重构阵列块包括读端口运算行选择器、写端口运算行选择器以及N行可重构阵列运算行,且这N行可重构阵列运算行共享读端口运算行选择器和写端口运算行选择器;其中,第m个配置流程图中的读端口运算行选择器记为第m个读端口运算行选择器,第m个配置流程图中的写端口运算行选择器记为第m个写端口运算行选择器,第m个配置流程图中的第n行可重构阵列运算行记为第行可重构阵列运算行,m=1,...,5M+1,n=1,...,N,5M+1为配置流程图的个数,N为可重构阵列块包括的可重构阵列运算行的行数,M,N取整数;且所述配置流程图之间按顺序依次连接,而每个可重构阵列块内部的可重构阵列运算行之间按顺序依次连接;在轮迭代中配置流程图运算得到的中间数据通过写端口运算行选择器存在通用寄存器堆中,而在轮迭代中配置流程图运算需要得到的中间数据通过读端口运算行选择器读取通用寄存器堆中存储的信息。4.如权利要求3所述的基于粗粒度可重构架构的SM3算法轮迭代系统,其特征在于:所述每行可重构阵列运算行均包括X1个数据载入单元、X2个数据输出单元和X3个32位运算单元,每个运算单元使用对应的读端口运算行选择器选择任意三个上行或本行其它运算单元输出作为其输入;第m个配置流程图第n行可重构阵列运算行的第k1个数据载入单元记为第个数据载入单元,第m个配置流程图第n行可重构阵列运算行的第k2个数据输出单元记为第个数据输出单元,第m个配置流程图第n行可重构阵列运算行的第k3个运算单元记为第个运算单元,第个运算单元的输出记为第个运算第,k1=1...X1,k2=1...X2,k3=1...X3,k4=1...X4,X1,X2,X3和X4均取整数;第m个读端口运算行选择器读取的上一步的中间数据以及接收解析配置解析模块的配置信息来选择中间数据流入的运算单元;第和个数据载入单元载入输入先进先出寄存器组中的数据,同时解析配置解析模块的配置信息;在通过第1个读端口运算行选择器读取通用寄存器堆中的存储的信息并根据解析的配置信息来选择数据流入的对应的置换网络,该置换网络为第和个运算单元;第和个数据输出单元暂存其对应的第和个算术逻辑单元的结果并读取配置信息决定将数据输出到输出先进先出寄存器组、下一行可重构阵列运算行或通用寄存器堆;第个数据载入单元解析配置解析模块的配置信息,在通过第2,3个读端口运算行选择器读取通用寄存器堆中存储的第5m个配置流程图的运行数据信息,并根据解析的配置信息来选择数据流入的对应的运算,第个运算单元进行运算,并将输出数据暂存其对应的第输出单元,并将数据输出到输出先进先出寄存器组、下一行可重构阵列运算行或通用寄存器堆。5.如权利要求4所述的基于粗粒度可重构架构的SM3算法轮迭代系统,其特征在于:所述每个可重构阵列块包括4行可重构阵列运算行、4个读端口运算行选择器和4个写端口运算行选择器,每行可重构阵列运算行包括4个数据载入单元、4个数据输入单元和8个32位运算单元。6.一种基于粗粒度可重构架构的SM3算法迭代系统的迭代方法,其特征在于包括以下步骤;步骤1,归纳出SM3方法迭代的数据流图;步骤2,制定SM3的数据输入方式;步骤3,根据步骤2确定的数据输入方式以及步骤1确定的数据流图,配置可重构处理器,并生成配置信息;步骤4,通过微处理器将配置信息以及可重构处理器初始数据存入相应的存储器中;步骤5,微处理器启动可重构处理器,并将配置信息及待处理数据发送给可重构处理器;步骤6,可重构处理器根据配置信息及待处理数据进行数据处理,当可重构处理器完成当前任务后,发送中断信号;并将处理好的数据通过系统总线发送给微处理器。7.如权利要求6所述的基于粗粒度可重构架构的SM3算法轮迭代系统的迭代方法,其特征在于:所述步骤6中,可重构处理器根据配置信息及待处理数据进行数据处理的具体过程是:步骤61:第个数据载入单元从输入先进先出寄存器组中每次128bit依次载入初始512比特的消息数据;通过第1个读端口运算行选择器读取配置单元的配置信息;根据配置信息通过第个算术逻辑单元选择直通模式将512bit消息数据通过数据输出单元存储至通用寄存器堆,记为W0、W1、…、W16;步骤62:对于第(5p-3)个配置流程图,1≤p≤M;通过第(5p-3)个读端口运算行选择器读取配置单元的配置信息,第(5p-3)个配置流程图读取通用寄存器堆中消息数据Wj-3,Wj-5,Wj-6,Wj-8,Wj-9,Wj-11,Wj-12,Wj-13,Wj-16,0≤j<68且j为偶数,第行可重构阵...

【专利技术属性】
技术研发人员:杨锦江陆启乐赵利锋葛伟
申请(专利权)人:东南大学东南大学—无锡集成电路技术研究所
类型:发明
国别省市:江苏,32

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

1