论文部分内容阅读
特殊保密通信领域采用频繁更换密码算法以提升安全性的技术途径,对密码处理器提出了动态重构的需求,粗粒度可重构处理器相比与专用集成电路和定制指令集处理器,具有性能和灵活性方面的潜在优势,已成为学术界和产业界的关注重点之一。本文针对可重构密码处理器的面积效率(单位面积的性能)和能量效率(单位能量的性能)两个关键指标,重点研究其计算阵列的架构、电路及配置调度策略。首先,本文分析了分组密码算法、杂凑密码算法和序列密码算法等密码算法的工作机制,从密钥长度、计算位宽和运算类型三个方面总结了算法的计算特征,并从算法迭代运算间的数据依赖关系、执行流水特性方面分析了算法的控制流特征,为可重构密码处理器计算阵列和配置控制器的设计提供了理论指导。其次,针对计算阵列中通用S盒(S-box,Substitution Box)资源消耗过大导致面积效率低下的问题,本文提出了基于多端口静态随机存储器(SRAM)的查找表型通用S盒结构和电路。包括:1)研究并提出了多端口SRAM查找表结构,通过配置重构成具有特定特征参数的查找表,满足多种密码算法S盒输入输出位宽、查找表数量和访问并发度的不同需求;2)定制并实现了多端口SRAM存储器,该存储器支持1个写入端口和4个读出端口,适合S盒读并发数大、更新内容数据频率较低的操作特点,使得单位面积的存储器能够提供更大的读数据吞吐率,从而满足密码算法中S盒操作对查找表存储体高并发访问的需求。该方法相比其它查找表型设计,单位面积的数据吞吐率最高可提升51.76%。再次,针对计算流水频繁被配置操作打断导致面积效率和能量效率低下的问题,本文提出了以算子为最小粒度的配置信息组织方法及基于配置信息上下文的配置调度机制。包含:1)研究并提出了一种基于阵列算子为最小粒度的配置信息缓存结构,以计算阵列中算子为最小粒度,进行多级层次化组织和存储,在保证配置信息传输效率的前提下,降低了配置存储容量82.25%以上;2)研究并提出了基于配置信息时间和空间上下文的调度机制,该机制综合考虑了配置信息的时间和空间特征,在增加少量硬件开销的条件下,将算法的配置时间占计算时间的比例下降到4.35%~8.78%。最后,将本文研究的S盒及配置信息相关技术应用到了一款基于SMIC 40nm工艺的可重构密码处理器芯片中。芯片实测结果表明:基于上述技术的可重构密码处理器具有较高的面积和能量效率。(1)多端口SRAM查找表结构,使得可重构密码处理器的面积降低了11.81%,(2)基于配置信息时间和空间上下文的调度机制,使得可重构密码处理器的配置时间缩短,性能得到提升。与其它方案的可重构密码处理器相比较,采用本文关键技术的可重构密码处理器在支持更多密码算法的同时,分组密码算法(以AES为例)的面积效率提高了2.09倍~4.63倍,能量效率提高了1.07倍~4.53倍;杂凑密码算法(以SHA256为例)的面积效率提高了2.91倍;序列密码算法(以ZUC为例)的面积效率提升了2.80倍。