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

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

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

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

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

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

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN105335331A(43)申请公布日2016.02.17(21)申请号201510886219.0(22)申请日2015.12.04(71)申请人东南大学地址210096江苏省南京市四牌楼2号(72)发明人曹鹏陈圣华杨锦江陆启乐刘波(74)专利代理机构江苏永衡昭辉律师事务所32250代理人王斌(51)Int.Cl.G06F15/78(2006.01)权利要求书3页说明书7页附图8页(54)发明名称一种基于大规模粗粒度可重构处理器的SHA256实现方法及系统(57)摘要本发明公开了一种基于大规模粗粒度可重构处理器的SHA256实现方法及系统,其包括:先进先出寄存器组组、通用寄存器堆、算术逻辑单元、比特置换网络、字节置换网络以及数据载入单元和数据输出单元。该方法针对SHA256方法,通过将多轮迭代在可重构处理器中部分展开和中间结果数据缓存的方式进行优化和加速。CN105335331ACN105335331A权利要求书1/3页1.一种基于大规模粗粒度可重构处理器的SHA256系统,其包括:可重构处理器、微处理器、系统总线;其中,所述可重构处理器包括:配置单元、输入先进先出寄存器组、输出先进先出寄存器组、通用寄存器堆、可重构阵列块;其中,配置单元包括配置与控制接口、配置存储器、配置解析模块;可重构阵列块包括:可重构阵列运算行、写端口运算行选择器、读端口运算行选择器;其中,可重构阵列运算行包括算术逻辑单元、比特置换网络、字节置换网络以及数据载入单元和数据输出单元;其中,通过分析SHA256的特征来确定SHA256的运算流程,将多轮的SHA256运算展开成一幅数据流图映射到可重构处理器中,通过多幅数据流图最终完成SHA256的整个运算;其中,微处理器通过系统总线发送明文数据给可重构处理器,明文数据将存入输入先进先出寄存器组,并在最终计算完成后输出密文数据到输出先进先出寄存器组,并发送中断信号,最终输出先进先出寄存器组中的数据由微处理器读出;首先,对配置单元中的配置存储器进行初始化,微处理器将所需要的配置信息通过配置与控制接口发送到配置存储器中,然后通过配置解析模块解析配置存储器,实现对计算阵列的配置、启动以及切换操作。2.如权利要求1所述的系统,其特征在于:所述的可重构处理器有M个可重构阵列块、1个通用寄存器堆、1个输入先进先出寄存器组和1个输出先进先出寄存器组,其中M取整数;其中M个可重构阵列块通过一个1个通用寄存器堆互相进行数据的储存、读取和传递;且多个可重构阵列块中相邻的两个可重构阵列块通过数据载入单元和数据输出单元连接;第一个可重构阵列块通过第一个可重构阵列运算行的数据载入单元与输入先进先出寄存器组相连,同时第M个可重构阵列块通过第N个可重构阵列运算行的数据输出单元与输出先进先出寄存器组相连,其中N为一个可重构阵列块包含可重构阵列运算行个数。3.如权利要求2所述的系统,其特征在于:所述的可重构阵列块包括N个可重构阵列运算行和1个通用寄存器读端口运算行选择器和1个通用寄存器写端口运算行选择器,其中N取整数;其每N个可重构阵列运算行共享1个通用寄存器堆的读端口和写端口;在SHA256运算中可重构阵列运算行可通过通用寄存器堆读出各种缓冲数据如w[i],k[i]以及各种临时的消息摘要,其中w[i]为一共64个字的消息调度,k[i]为64个字的常数,同时向通用寄存器堆写入消息摘要的每轮计算的中间值以及缓冲数据w[i]和临时数据w[i]+k[i],这些缓冲数据被其他可重构阵列块读出用于下一轮计算。4.如权利要求3所述的系统,其特征在于:所述的可重构阵列运算行包括X1个数据载入单元,X2个数据输出单元,X3个字节置换网络,X4个比特置换网络和X5个8位算术逻辑单元,其中X1,X2,X3,X4和X5均取整数;数据经过数据载入单元,由选择器通过读取并解析不同的配置信息来选择数据流入的字节置换网络和比特置换网络;字节置换网络与比特置换网络的输出分为X5个8位的数据分别固定对应于X5个8位算术逻辑单元,并行运算X5/4组SHA256数据;每个算术逻辑单元使用数据选择器选择任意三个置换网络的输出作为其输入;数据输出单元暂存算术逻辑单元的结果并读取配置信息决定将数据输出到先进先出寄存器组、下一个可重构阵列运算行或通用寄存器堆。5.如权利要求4所述的系统,其特征在于:算术逻辑单元中包含了模加运算、异或运2CN105335331A权利要求书2/3页算、与运算、与非运算、直通输出等运算操作;同时每个算术逻辑单元有最多3个输入和最多2个输出,其中算术逻辑单元执行上述运算操作的同时,支持任选一个输入作为输出;每4个8位的算术逻辑单元通过进位端口连接成为1个32位的算术逻辑单元。6.如权利