预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共22页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN109672524A(43)申请公布日2019.04.23(21)申请号201811514910.6(22)申请日2018.12.12(71)申请人东南大学地址214135江苏省无锡市新吴区菱湖大道99号申请人东南大学—无锡集成电路技术研究所(72)发明人杨锦江陆启乐赵利锋葛伟(74)专利代理机构南京经纬专利商标代理有限公司32200代理人葛潇敏(51)Int.Cl.H04L9/08(2006.01)H04L9/06(2006.01)权利要求书5页说明书9页附图7页(54)发明名称基于粗粒度可重构架构的SM3算法轮迭代系统及迭代方法(57)摘要本发明公开一种基于粗粒度可重构架构的SM3算法轮迭代系统及迭代方法,迭代系统包括系统总线、可重构处理器和微处理器,可重构处理器包括配置单元、输入先进先出寄存器组、输出先进先出寄存器组、通用寄存器堆和4个可重构阵列块,配置单元进线口经系统总线与微处理器连接,出线口与各可重构阵列块连接;输入先进先出寄存器组经系统总线与微处理器连接;4个可重构阵列块分别与输入/输出先进先出寄存器组、通用寄存器堆连接;4个可重构阵列块之间经通用寄存器堆进行数据储存、读取和传递;输出先进先出寄存器组经系统总线与微处理器连接。此种技术方案在支持一定的灵活性的同时,通过提高对DES算法的并行度以及优化流水线等实现SM3算法的高效运算。CN109672524ACN109672524A权利要求书1/5页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个数据输出单元记为第个数据输出