CN105447414B - 可重构密码处理器 - Google Patents
可重构密码处理器 Download PDFInfo
- Publication number
- CN105447414B CN105447414B CN201510690005.6A CN201510690005A CN105447414B CN 105447414 B CN105447414 B CN 105447414B CN 201510690005 A CN201510690005 A CN 201510690005A CN 105447414 B CN105447414 B CN 105447414B
- Authority
- CN
- China
- Prior art keywords
- token
- data
- array
- rct
- enables
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种可重构密码处理器,其特征在于,包括:配置模块,用于获取配置参数并进行分配;传输模块,用于根据分配的配置参数发送待处理数据;处理模块,用于得到处理数据,并至传输模块进行输出,处理模块包括:阵列运算缓存,用于存放中间数据与交互数据;可重构阵列,用于实现运算,每个可重构单元具有令牌驱动使能端,以获取令牌使能;异步驱动使能网络,用于根据分配的配置参数得到令牌使能网络,从而提供运算的数据跳转运输方式完成所述可重构阵列的驱动,以控制可重构密码处理器进入相应工作模式。本发明实施例的可重构密码处理器,通过令牌使能驱动执行过程,从而提高了灵活性和执行性能,降低了功耗,更好地保证安全性和可靠性。
Description
技术领域
本发明涉及电子技术领域,特别涉及一种可重构密码处理器。
背景技术
近年来,信息系统的安全形势变得越来越严峻,对密码处理器芯片的灵活性、速度、功耗和安全性等提出了更为苛刻的要求。当前的密码处理器芯片从体系结构和设计方法上来说主要可分为两大类。第一大类是ASIC(Application Specific IntegratedCircuit,专用集成电路)的实现方式,第二类是指令集结构微处理器(ISAP)的实现方式。ASIC实现方式往往会针对算法做出优化,故而运算速度远超ISAP实现方式,但其设计完成后,硬件结构不能改变,无法满足现有密码应用对灵活性的要求,若被破解只能废弃。ISAP实现方式的密码处理器最大的优势在功能灵活性上,灵活性的取得往往是以牺牲能量效率为代价的,即此类处理器很难克服能量效率不高的重要缺陷。RPU(ReconfigurableProcessing Unit,可重构密码处理器)可以在以上两种处理器之间取得平衡,从而实现面向应用的最优折衷方案。
相关技术的可重构硬件设计中,每个可重构单元(RC)连在路由单元上,由可配置路由来控制RC的输入输出。RC可以配置成与相邻RC连接在一起交互数据,也可以通过先入先出寄存器(FIFO)直接与外界通信,或者直接连到阵列中的缓存中进行存储。复杂的路由设计会使得RC之间能够高效互连,同时也会有大幅度增加电路面积、功耗以及延时等问题。由于可重构密码处理器要有高的灵活性,设计时会按照各种密码算法的最大硬件需求设计,从而使得处理器工作时会有大量闲置RC,导致对处理器的性能和功耗有较大影响。
另外,为了提高处理器的性能,往往会通过流水线技术进行加速设计,可以用较少的硬件资源提高数据处理速度。由于采用了流水线技术使得处理器只能工作在同步时序下,使得处理器不能发挥到最优性能,同时增加了处理器被物理攻击(如功耗攻击)的可能性。
发明内容
本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。
为此,本发明的目的在于提出一种可重构密码处理器,该可重构密码处理器具有灵活性和执行性能高,并且功耗低的优点。
为达到上述目的,本发明实施例提出了一种可重构密码处理器,包括:配置模块,用于获取配置参数并进行分配;传输模块,用于获取待处理数据并根据分配的配置参数发送所述待处理数据;处理模块,用于根据分配的配置参数对获取的待处理数据进行处理以得到处理数据,并将所述处理数据发送至所述传输模块进行输出,其中,所述处理模块包括:阵列运算缓存,用于存放运算过程中生成的中间数据与交互数据;可重构阵列,用于实现所述待处理数据的运算,并且生成所述中间数据与交互数据,所述可重构单元阵列具有多个可重构单元,并且每个可重构单元具有令牌驱动使能端,以通过所述令牌驱动使能端获取令牌使能;以及异步驱动使能网络,用于根据所述分配的配置参数得到所述令牌使能网络,从而提供运算的数据跳转运输方式完成所述可重构阵列的驱动,以控制可重构密码处理器进入相应工作模式。
根据本发明实施例提出的可重构密码处理器,首先根据分配的配置参数得到令牌使能,其次通过令牌驱动使能端获取令牌使能,以得到运算的数据跳转运输方式完成可重构阵列的驱动,进而控制可重构密码处理器进入相应工作模式,通过令牌使能驱动可重构密码处理器的执行过程,不但提高了灵活性和执行性能,而且降低可重构密码处理器的功耗,以及保证能量效率,更好地保证安全性和可靠性。
另外,根据本发明上述实施例的可重构密码处理器还可以具有如下附加的技术特征:
进一步地,在本发明的一个实施例中,所述令牌使能包括固定令牌使能与通用令牌使能。
进一步地,在本发明的一个实施例中,所述阵列运算缓存具有通用令牌使能阵列。
进一步地,在本发明的一个实施例中,所述异步驱动使能网络包括:通用令牌通道,用于从所述通用令牌使能阵列得到所述通用令牌使能;固定令牌驱动网络,所述固定令牌驱动网络具有固定令牌使能阵列,用于从所述固定令牌使能阵列得到所述固定令牌使能;令牌使能选择网络,用于根据所述分配的配置参数选择所述通用令牌使能和/或固定令牌使能;以及循环控制单元,用于实现运算过程中的循环控制。
进一步地,在本发明的一个实施例中,所述通用令牌通道具有X层,每层Y个通道。
进一步地,在本发明的一个实施例中,所述工作模式包括顺序执行工作模式、分支执行工作模式与循环执行工作模式中的一种或多种相结合。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的可重构密码处理器的结构图;
图2为根据本发明一个实施例的可重构密码处理器的处理模块的结构示意图;
图3为根据本发明一个实施例的具有令牌使能端的可重构阵列的结构示意图;
图4为根据本发明一个实施例的异步驱动使能网络的结构示意图;
图5为根据本发明一个实施例的第一层通用令牌通道的结构示意图;
图6为根据本发明一个实施例的第二层通用令牌通道的结果示意图;
图7为根据本发明一个实施例的多种算法映射示意图;
图8为根据本发明一个实施例的顺序执行令牌流示意图;
图9为根据本发明一个实施例的分支执行令牌流示意图;
图10为根据本发明一个实施例的循环执行令牌流示意图;
图11为根据本发明一个实施例的AES算法令牌流示意图;以及
图12为根据本发明一个实施例的SM4算法令牌流示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
下面参照附图描述根据本发明实施例提出的可重构密码处理器。参照图1所示,该可重构密码处理器RPU包括:配置模块RCC、传输模块RCD与处理模块CMPT。
其中,配置模块RCC用于获取配置参数并进行分配。传输模块RCD用于获取待处理数据并根据分配的配置参数发送待处理数据。处理模块CMPT用于根据分配的配置参数对获取的待处理数据进行处理以得到处理数据,并将处理数据发送至传输模块RCD进行输出。
具体地,RPU由配置模块(也可称为可重构配置控制器,以下简称RCC)、传输模块(也可称为可重构数据控制模块,以下简称RCD)和处理模块(也可称为可重构计算模块,以下简称CMPT)组成。RCC接收端口送入的配置参数信息(Config_data),经解析后,将配置参数分别发送到CMPT和RCD。RCD根据RCC发送的配置参数信息进行数据通路配置,将待处理数据(Data_in)输入CMPT,并将CMPT处理后的结果输出(Data_out)至外部接口。CMPT根据RCC输入的配置信息,进行功能配置后完成数据计算。
进一步地,在本发明的实施例中,参照图2所示,处理模块CMPT包括:阵列运算缓存、可重构阵列RCA与异步驱动使能网络ADN。
其中,阵列运算缓存用于存放运算过程中生成的中间数据与交互数据。可重构阵列RCA用于实现待处理数据的运算,并且生成中间数据与交互数据,可重构单元阵列RCA具有多个可重构单元,并且每个可重构单元具有令牌驱动使能端,以通过令牌驱动使能端获取令牌使能。异步驱动使能网络ADN用于根据分配的配置参数得到令牌使能网络,从而提供运算的数据跳转运输方式完成可重构阵列RCA的驱动,以控制可重构密码处理器RPU进入相应工作模式。
本发明实施例的RCA采用TOK(Token,令牌)流水的方式,通过异步驱动网络控制RC阵列,因此RC阵列可以映射一套算法或同时映射多套算法。此外,由于整个RC阵列单元都受令牌使能控制,RC阵列可以设计成不带时序信息的异步组合电路,从而达到提高性能和降低功耗的目的。
具体地,阵列运算缓存用来存放RCA阵列运算过程中产生的中间数据,或者不同RCT之间交互的数据。其中,RCA主要实现数据的运算,由n×m(其中,n和m为自然数)个具有令牌使能的RCT阵列构成。由于所有RCT都受令牌使能控制,RCT阵列可以设计成不带时序信息的异步组合电路,从而达到提高性能和降低功耗(闲置的单元可以关闭电源和时钟)的目的。参照图3所示,本发明实施例中以4×28个RCT阵列为例对RCA及ADN进行详细描述,但本领域技术人员应当理解的是,对于任意大小的RCA构成的可重构密码处理器都可以进行配置。
其中,RCT阵列大小可以为4×28,数据在阵列中正常流动方式为从上向下,同时在最后1行(第27行)提供了4条返回通道,即第27行编号27_0的RCT数据可以自动流转到第0行编号为0_0的RCT;第27行编号27_1的RCT数据可以自动流转到第0行编号为0_1的RCT;第27行编号27_2的RCT数据可以自动流转到第0行编号为0_2的RCT;第27行编号27_3的RCT数据可以自动流转到第0行编号为0_3的RCT。
同时为了简化数据路由网络规模,将阵列分成4个块,即每个块的大小为7行。第0到第6行的RCT阵列划分为Block 0;第7到第13行的RCT阵列划分为Block 1;第14到第20行的RCT阵列划分为Block 2;第21到第27行的RCT阵列划分为Block3。
进一步地,在本发明的一个实施例中,参照图4所示,异步驱动使能网络ADN包括:通用令牌通道TCH、固定令牌驱动网络FDN、令牌使能选择网络TDS与循环控制单元LPC。
其中,通用令牌通道TCH用于从通用令牌使能阵列得到通用令牌使能。固定令牌驱动网络FDN具有固定令牌使能阵列,固定令牌驱动网络FDN用于从固定令牌使能阵列得到固定令牌使能。令牌使能选择网络TDS用于根据分配的配置参数选择通用令牌使能和/或固定令牌使能。循环控制单元LPC用于实现运算过程中的循环控制。
进一步地,在本发明的一个实施例中,通用令牌通道可以具有X层,每层Y个通道。举例而言,X可以为2,Y可以为16。
具体地,ADN为RCA的异步令牌TOK使能驱动网络,提供数据在RCA阵列中跨行或者跨列(即阵列中任意2个位置的RCT有数据交互)的跳转传输的方式,通过驱动使能的流水实现整个阵列的数据计算流动。
其中,TCH为通用TOK通道,接收RCT单元输出TOK,经过选择寄存后,再分配到各个RCT。主要功能实现可以分为二层,第一层16个TOK通道分区域接收112个RCT单元的TOK输出,其中编号为0~3的通道接收Block 0(共计28个RCT)的TOK输出;编号为4~7的通道接收Block 1(共计28个RCT)的TOK输出;编号为8~11的通道接收Block 2(共计28个RC)的TOK输出;编号为12~15的通道接收Block3(共计28个RCT)的TOK输出。每个区域内的4个子通道对本Block的28个RC TOK输出做28选1的全互联,选择以后再经过寄存器寄存操作。本层实现主要由16个28选1的MUX和16个寄存器构成,其结构图如图5所示。接口接收来自4×28个RCT单元输出的通用令牌使能(112个),然后送入16个通用令牌使能寄存器,最大允许16个RCT单元单独使用通用令牌使能通道。第二层将16个通道的TOK对112个RCT实现全互联,其结构图如图6所示。16个通用令牌使能通道输出至112个RCT,在每个RCT内根据配置选择使不使用或者使用那一个通用令牌使能通道送来的令牌使能。
FDN为固定TOK驱动网络,RCT之间的TOK连接方式是固定的。在FDN中,任意1行RCT的TOK输入只能来自上1行RCT的TOK输出(阵列的第1行RCT的TOK输入来自最后1行RCT的TOK输出)。
TDS为令牌使能选择网络,针对每一个RCT的输入TOK,选择其来自TCH、FDN、或者输入FIFO送入的TOK。
LPC为循环控制,实现阵列运算过程中的循环控制。
进一步地,在本发明的一个实施例中,令牌使能包括固定令牌使能与通用令牌使能。
进一步地,在本发明的一个实施例中,阵列运算缓存具有通用令牌使能阵列。
具体而言,令牌使能结构由固定令牌使能阵列和通用令牌使能阵列组成,以实现RCT阵列的自流水运作。固定令牌使能阵列中每一个RCT对应1个令牌使能寄存器点,连接方式为固定的,上一行的令牌使能直接送入下一行对应的令牌使能点,例如编号为0_0的RCT输出令牌使能只能送给编号为1_0的RCT,同一行间不能传递令牌。通用令牌使能阵列位于阵列运算缓存中,通过调用阵列运算缓存中预设配置信息对TOK驱动阵列进行控制。
进一步地,在本发明的一个实施例中,工作模式包括顺序执行工作模式、分支执行工作模式与循环执行工作模式中的一种或多种相结合。
其中,本发明实施例的可重构密码处理RPU可以工作在多种工作模式下,以下从多种算法同时映射和单一算法多种执行方式映射分别说明。
多种算法同时映射:
多种算法同时映射,不同的配置信息之间时序不同,分开控制。多种算法映射示意图如图7所示。
单一算法多种执行方式映射:
基于令牌可重构密码处理器工作方式主要包括:顺序执行、分支执行、循环执行和以上方式的组合。
为了实现上述工作方式,令牌使能结构设计需满足:上一行的RCT输出令牌使能被下一行的RCT使用;有循环,指定行的RCT接收来自下面第K行的RCT输出令牌使能;1个RCT输出令牌使能被多个RCT单元使用;多个RCT输出令牌使能被1个RCT单元使用(多个RCT可以是同一周期送出令牌使能)。
顺序执行:
顺序执行属于最常见的执行方式,令牌流映射也相对比较简单,只使用固定令牌使能阵列即可,由ADN中FDN控制。如果FIFO非空,且令牌阵列未被锁定,则送出数据和令牌使能给RCT阵列。FIFO将分组数据和令牌送入第一行RCT,该行RCT处理完以后,将令牌和数据送入下一行RCT,同时接收下一个分组数据和令牌,数据和令牌在RCT阵列中实现流水。顺序执行令牌流示意图如图8所示。
分支执行:
当算法执行过程中出现分支时,处理方式如下图所示RCT(编号为1_0)根据运算结果,如果为情况1,则将令牌使能送给RCT(编号为2_0),RCT(编号为2_0)得到令牌使能后,进行运算,执行绿色分支;如果为情况2,则将令牌送给通用令牌阵列(阵列运算缓存),RCT(编号为2_1)从通用令牌阵列取得令牌,然后从通用寄存器堆取数据,进行运算,执行紫色分支。分支执行令牌流示意图如图9所示。
循环执行:
当算法执行过程中出现循环时,如下图所示,若RCT(第2行到第27行)需要执行多次循环时,则第27行的RCT运算完成,不能把令牌使能交给第28行的RCT,而需要把令牌使能交还给第2行。循环执行令牌流示意图如图10所示。
这种情况下,同样需要借用通用令牌阵列来实现令牌的传递。第27行RCT执行完成以后,将令牌送入其中1个通用令牌阵列(如果是基于行操作,同一行4个RCT都是同一周期工作,则4个RCT可以复用1个通用令牌使能阵列,否则需要1个RCT使用1个通用令牌使能阵列),然后第2行得到对应通用令牌使能后,开始工作,发出通用寄存器数据读请求,下一个周期后得到对应数据,开始工作。
组合方式:
组合方式可以是上述三种方式的两两组合或者三种方式一起组合。如,可以同时实现顺序和循环组合的执行方式,比如三个算子的执行顺序为:1->2->3,算子1执行一次,算子2执行3次,算子3执行2次,则可以采用顺序执行和循环执行组合的方式。采用组合方式可以带来更高的性能,更好的算法适应性(映射效率)等。
以下以AES算法和SM4算法的密码本模式进行令牌流映射详细说明。
将AES算法完全展开,无数据相关的采用顺序执行令牌流水,1行RCT只实现1个分组,AES算法令牌流如图11所示。第一个周期FIFO将数据输入第一行RCT后,同时将4个RCT令牌下发(图中彩色箭头为令牌)。第二个周期,第一行RCT处理完成后,将数据和令牌送入第二行RCT,同时FIFO将新的分组和令牌输入第一行RCT,以此类推处理。
SM4算法:
SM4算法1行RCT可以实现多个分组,SM4算法令牌流如图12所示。第一个周期FIFO将数据输入第一行的第0_0和0_1号RCT后,同时输入2个RCT令牌。第二个周期,第一行的第0_0和0_1号RCT处理完成后,将数据和令牌输入第二行的第1_0和1_1号RCT,同时FIFO将新的分组和令牌输入第一行的第0_0和0_1号RCT。
第28个周期后,第一个分组令牌来到最后一行(第28行),RCT(编号27_0和27_1)处理完成后,将数据送入阵列运算缓存,实现和下一令牌接收RCT的数据交互。
下一令牌接收RCT(编号为0_2和0_3)接收到令牌后,由于需要从阵列运算缓存取数,因此该令牌在此RCT中停留2个周期。发出读阵列运算缓存请求,接收到阵列运算缓存数据以后,进行运算,同时接收到了下一个分组的令牌(TOK_2),发出读阵列运算缓存请求。数据处理完成以后,将数据和令牌(TOK_1)送出。
根据本发明实施例提出的可重构密码处理器,首先根据分配的配置参数得到令牌使能,其次通过令牌驱动使能端获取令牌使能,以得到运算的数据跳转运输方式完成可重构阵列的驱动,进而控制可重构密码处理器进入相应工作模式,通过令牌使能驱动可重构密码处理器的执行过程,不但提高了灵活性和执行性能,而且降低可重构密码处理器的功耗,以及保证能量效率,更好地保证安全性和可靠性。本发明实施例可在一块硬件上通过配置的切换来支持多种分组算法(如AES,SM3,ZUC,SHA256等),进而对可重构阵列TOK驱动使能网络进行管理,从而实现提高其性能和灵活性,降低其功耗的目的,其中,每个RC增加一个令牌驱动使能端,即RCT,并且使能端可以单独控制,基本的控制方式是从上到下传递,RCT只有在需要计算的时候才获得TOK使能,相应的单元才工作,从而达到低功耗,高灵活性的目的。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (2)
1.一种可重构密码处理器,其特征在于,包括:
配置模块,用于获取配置参数并进行分配;
传输模块,用于获取待处理数据并根据分配的配置参数发送所述待处理数据;
处理模块,用于根据分配的配置参数对获取的待处理数据进行处理以得到处理数据,并将所述处理数据发送至所述传输模块进行输出,其中,所述处理模块包括:
阵列运算缓存,用于存放运算过程中生成的中间数据与交互数据;
可重构阵列,用于实现所述待处理数据的运算,并且生成所述中间数据与交互数据,
所述可重构阵列具有多个可重构单元,并且每个可重构单元具有令牌驱动使能端,以通过所述令牌驱动使能端获取令牌使能,所述令牌使能包括固定令牌使能与通用令牌使能,所述阵列运算缓存具有通用令牌使能阵列;以及
异步驱动使能网络,用于根据所述分配的配置参数得到令牌使能网络,从而提供运算的数据跳转运输方式完成所述可重构阵列的驱动,以控制可重构密码处理器进入相应工作模式,所述异步驱动使能网络包括:通用令牌通道,用于从所述通用令牌使能阵列得到所述通用令牌使能;固定令牌驱动网络,所述固定令牌驱动网络具有固定令牌使能阵列,用于从所述固定令牌使能阵列得到所述固定令牌使能;令牌使能选择网络,用于根据所述分配的配置参数选择所述通用令牌使能和/或固定令牌使能;以及循环控制单元,用于实现运算过程中的循环控制,所述通用令牌通道具有X层,每层Y个通道。
2.根据权利要求1所述的可重构密码处理器,其特征在于,所述工作模式包括顺序执行工作模式、分支执行工作模式与循环执行工作模式中的一种或多种结合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510690005.6A CN105447414B (zh) | 2015-10-21 | 2015-10-21 | 可重构密码处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510690005.6A CN105447414B (zh) | 2015-10-21 | 2015-10-21 | 可重构密码处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105447414A CN105447414A (zh) | 2016-03-30 |
CN105447414B true CN105447414B (zh) | 2018-06-19 |
Family
ID=55557577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510690005.6A Active CN105447414B (zh) | 2015-10-21 | 2015-10-21 | 可重构密码处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105447414B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6920545B2 (en) * | 2002-01-17 | 2005-07-19 | Raytheon Company | Reconfigurable processor with alternately interconnected arithmetic and memory nodes of crossbar switched cluster |
JP2007141132A (ja) * | 2005-11-22 | 2007-06-07 | Renesas Technology Corp | 動的再構成可能プロセッサおよびそれを制御するプロセッサ制御プログラム |
CN102279729B (zh) * | 2011-06-14 | 2014-11-26 | 清华大学 | 动态可重构阵列调用配置信息的方法、缓存器和处理器 |
CN102253921B (zh) * | 2011-06-14 | 2013-12-04 | 清华大学 | 一种动态可重构处理器 |
CN102298568B (zh) * | 2011-06-14 | 2013-08-14 | 清华大学 | 一种动态可重构阵列的配置信息切换方法及装置 |
CN102541809B (zh) * | 2011-12-08 | 2015-03-04 | 清华大学 | 一种动态可重构处理器 |
-
2015
- 2015-10-21 CN CN201510690005.6A patent/CN105447414B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105447414A (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104933008B (zh) | 可重构系统和可重构阵列结构及其应用 | |
CN102637157B (zh) | 一种片上数字模板系统dtsoc | |
CN102509036B (zh) | 一种可重构密码处理器及抗功耗攻击方法 | |
CN100568008C (zh) | 一种片上多核处理器的测试电路及其可测试性设计方法 | |
US7743236B2 (en) | Reconfigurable processor | |
CN103677739B (zh) | 一种可配置的乘累加运算单元及其构成的乘累加运算阵列 | |
CN105335331B (zh) | 一种基于大规模粗粒度可重构处理器的sha256实现方法及系统 | |
CN102970013B (zh) | 基于扫描链的芯片内部寄存器复位方法及复位控制装置 | |
US9103878B2 (en) | Method for scan testing three-dimensional chip | |
CN104007954B (zh) | 处理器和用于处理器的控制方法 | |
CN104579636A (zh) | 一种超高速实现sm4算法的系统及其运行方法 | |
CN102141974A (zh) | 一种多核处理器核间通信方法及其电路结构 | |
CN107851017A (zh) | 用于在存储器与存储在寄存器组中的一个或多个数据元素向量之间传输多个数据结构的设备和方法 | |
CN103312424A (zh) | 自动测试系统中多开关的控制方法及控制系统 | |
CN106294278A (zh) | 用于动态可重构阵列计算系统的自适硬件预配置控制器 | |
CN105447414B (zh) | 可重构密码处理器 | |
CN104615439A (zh) | 一种可重构系统的配置控制器 | |
CN110503179A (zh) | 计算方法以及相关产品 | |
CN107423256B (zh) | 可重构处理器及可重构处理器的时序控制方法 | |
CN105553646B (zh) | 面向分组密码算法并行计算的可重构s盒电路结构 | |
CN102279838A (zh) | 基于统一硬件任务接口的系统架构的重构方法 | |
CN106155979B (zh) | 一种基于粗粒度可重构架构的des算法密钥扩展系统及扩展方法 | |
CN105224286A (zh) | 用于可重构密码处理器的缓存装置 | |
US20230204661A1 (en) | Test circuit in chip and circuit test method | |
CN206819347U (zh) | 一种基于fpga的加密串口交换模块 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |