可重构系统和可重构阵列结构及其应用

文档序号:9217149阅读:357来源:国知局
可重构系统和可重构阵列结构及其应用
【技术领域】
[0001 ] 本发明涉及嵌入式系统的技术领域,具体涉及一种可重构系统和可重构阵列结构及其该可重构结构应用于分组密码算法的高效实现。
【背景技术】
[0002]可重构系统能够在系统运行时通过动态配置改变其功能,同时保持较高计算性能,兼具高性能和高灵活的计算优势,是解决密码算法等计算密集型应用的理想选择,在许多领域得到了广泛应用。面向计算任务日趋复杂的应用需求,可重构系统计算资源的规模与特征限制了计算性能的提高。传统的可重构系统未能适应分组密码算法中数据置换等操作的特点和需求,导致配置信息复杂度的提升和配置调度时间需求的增加,从而影响可重构系统计算性能。

【发明内容】

[0003]有鉴于此,为了解决上述或其它不足,本发明提供一种可重构系统和可重构阵列结构及其应用,可以降低流水线深度,提高硬件资源利用率,从而优化分组密码算法中的置换操作,实现分组密码算法的高效处理。
[0004]为决上述问题,本发明一实施例公开了一种可重构阵列结构,包括:N组阵列,一该阵列包括M个行结构,其中,M、N为大于2的自然数,一该行结构至少包括:互连单元,具有第一多路选择器和第二多路选择器,且在该第一多路选择器和该第二多路选择器之间设置置换网络;计算单元,具有多个算术逻辑单元,且每一该逻辑单元支持单独配置;其中,该置换网络用于对行输入数据实现任意无重复置换,该置换后的数据经由该第二多路选择器输入该计算单元用于运算。
[0005]进一步地,该置换网络包括按字节置换网络和按比特置换网络,通过该第一多路选择器和置换网络组合,对输入数据实现字节级和比特级的置换,并通过该第二多路选择器输出至该计算单元。
[0006]进一步地,每一组阵列还包括:一输入单元,具有多个输入通道,该输入单元通过该多个输入通道输入外部数据至第一个行结构;一输出单元,具有多个输出通道,该输出单元通过该多个输出通道输出该第M行输出数据;其中,第N-1组阵列的输出单元的输出数据输入到第N组阵列的输入单元,第N组阵列的输出单元的输出数据输入到第N+1组阵列的输入单元。
[0007]进一步地,还包括查找表单元,每一组阵列共享一该查找表单元,且该一组阵列中一个行结构进行查表操作。
[0008]进一步地,所述查找表单元包括多个查找表,支持不同规模的查表操作,该一组阵列的多个行结构的计算单元的算术逻辑单元共享一个查找表。
[0009]进一步地,还包括第三多路选择器,用于选择该计算单元或者该查找表单元的输出作为该行的输出。
[0010]为决上述问题,本发明另一实施例公开了一种上述实施例提供的所述的可重构阵列结构的应用,包括:用于分组密码计算,包括以下轮迭代步骤:字节替换,行移位,列混合,密钥加。
[0011]进一步地,每一组阵列包括第一个行结构、第二个行结构、第三个行结构、第四个行结构:该第一个行结构用于字节替换的运算;该第二个行结构用于行移位的运算,且不占用该第二个行结构的多个计算逻辑单元;该第二个行结构的多个计算逻辑阵列分配给列混合操作,该列混合的操作数由该第二个行结构的三个置换网络提供;该第三个行结构用于完成矩阵中非I系数的有限域乘法操作;该第四个行结构用于完成列混合中间数据的处理与密钥加操作。
[0012]为决上述问题,本发明又一实施例公开了包括上述实施例所述的可重构阵列结构。
[0013]本发明的优点及有益效果:
[0014](I)本发明的可重构阵列结构,基于传统的计算阵列结构,在两计算阵列的互连单元中加入了多个置换网络单元;将移位操作直接在两行计算单元之间的互连结构中完成,既减少了硬件资源开销,也降低了配置信息的复杂度。
[0015](2)本发明的可重构阵列结构,综合考虑多种分组密码算法的特点,将多行算术逻辑单元和互连单元分为一组,只在每组的顶部与底部有输入输出端口,并且每组共享一个查找表,只允许一行进行查表操作,这种设计不仅节省了硬件的开销,提高了架构的灵活性,而且由于减少了大量的端口,可重构系统计算时实际所需配置信息量得到相应减少,提高了系统的性能。
【附图说明】
[0016]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本人发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0017]图1为本发明一实施例可重构阵列结构的框架示意图;
[0018]图2为本发明图1中可重构阵列结构中单行结构的框架示意图;
[0019]图3为本发明的一优选实施例可重构阵列结构的映射方案框架示意图;
[0020]图4为本发明的另一实施例可重构系统的框架示意图。
【具体实施方式】
[0021]以下结合附图对本发明的阵列结构及管理方法实施例进行说明,应当理解,此处所描述的阵列及管理方法实施例仅用于说明和解释本发明,并不用于限定本发明。
[0022]图1为本发明一实施例可重构阵列结构的框架示意图,图2为本发明图1中可重构阵列结构中单行结构的框架示意图。结合图1、2所示,由互连单元和计算单元组成的行结构按照一定的算法要求组成相应大小的阵列,其中按比特置换与按字节置换网络的个数相等,计算逻辑阵列单行的位宽要满足相应算法的密钥宽度要求。每组阵列中,只有第一行的顶部有数据输入端口,第M行的尾部有数据输出端口,并且每组共享一个查找表,只允许一行进行查表操作,这种设计不仅节省了硬件的开销,增加了架构的灵活性,而且由于减少了大量的端口,可重构系统任务实际所需配置信息量得到相应减少,提高了系统的性能。图中,N组阵列构成整个可重构逻辑阵列。整个阵列是首尾相连的,形成一个环形结构,以实现某些算法的深度流水操作。整个阵列的层次化结构简化了配置信息的管理方式。
[0023]如图1所示,可重构阵列结构,包括:N组阵列,一该阵列包括M个行结构,其中,M、N为大于2的自然数。结合参考图2,一该行结构至少包括:互连单元,具有第一多路选择器10?13和第二多路选择器20?22,且在该第一多路选择器10?13和该第二多路选择器20?22之间设置置换网络;计算单元,包括多个算术逻辑单元,可选择的为8位算术逻辑单元,且每一该逻辑单元支持单独配置,支持的操作种类由分组密码算法决定;其中,该置换网络用于对行输入数据实现任意无重复置换,该置换后的数据经由该第二多路选择器20?22输入该计算单元用于运算。
[0024]如图2所示,三个load端口表明行与行之间有三个数据通路,用于算法中间数据的流水线传输;四个三选一第一多路选择器负责选择任意一个数据送入置换网络。
[0025]其中,置换网络对数据进行任意无重复移位操作,并为计算单元提供数据;每个算术逻辑单元(图2仅以一个为例)有三个输入,两个输出第二多路选择器,根据配置信息提供的操作码完成相应操作;两个二选一第三多路选择器负责选择计算单元或者查找表单元的输出作为该行的输出。
[0026]该置换网络包括按字节置换网络和按比特置换网络,通过该第一多路选择器和置换网络组合,对输入数据实现字节级和比特级的置换,并通过该第二多路选择器输出至该计算单元。鉴于分组密码算法存在大量按字节移位操作与少量按比特移位操作的特点,置换网络支持字节级和比特级两种操作,从而既保证置换网络的灵活性,同时避免按比特移位操作时置换网络所需配置信息量过大的劣势。
[0027]其中,每一组阵列还包括:一输入单元,具有多个输入通道,该输入单元通过该多个输入通道输入外部数据至第一个行结构;一输出单元,具有多个输出通道,该输出单元通过该多个输出通道输出该第M
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1