论文部分内容阅读
杂凑算法在密码学中具有重要的地位,被广泛应用于可信计算、身份认证中。针对不同应用场景下不同的安全需求以及通用处理器实现性能较低的问题,本文以杂凑算法为研究对象,提出了一种基于有向无环图的定制指令生成方法,以样本杂凑算法为基础提取子图生成定制指令,进而设计面向杂凑算法的加速单元及其融合架构,提升通用处理器实现杂凑算法的处理性能。本文主要工作和研究成果如下:提出了基于有向无环图的定制指令生成方法,基于LLVM编译架构生成样本算法的有向无环图,并采用剪枝操作缩小搜索空间。通过基于遗传算法的候选子图搜索算法,以单个节点在满足约束条件下生长出的最大子图作为种群个体,随机产生的候选子图集经选择、交叉和变异等遗传操作不断进化,可在多项式时间复杂度内得到最优的候选子图集。提出了基于延时、执行频次、性能收益和使用该指令样本算法数等参数的候选子图质量量化评估方法,通过该方法可对所有满足约束条件的候选子图按质量数值的高低进行排序,为候选子图的筛选提供依据。提出了基于动态规划的子图筛选方法,通过确定状态变量、决策变量和状态转移方程实现对候选子图的选择,使筛选出的子图集能够达到最优的性能加速比,为加速单元的硬件设计提供数据支撑。设计了面向样本杂凑算法的通用加速单元,通过对样本杂凑算法控制和数据流图结构的研究,设计相关参数生成用于加速单元设计的定制指令,按照子图映射规则将定制指令映射到加速单元基本结构中,从而得到面向杂凑算法的加速单元,并对运算节点及互联结构进行设计和优化,所设计的简易互联结构可在满足加速单元的功能需求的前提下,进一步降低互联结构的面积和平均功耗。设计了一种加速单元融合架构,通过对基准处理器流水线的优化,使加速单元能够与基准处理器紧耦合连接,设计了定制指令的指令格式,通过增加识别码使基准处理器能够区分基础指令和定制指令,并通过配置信息RAM实现对加速单元的配置;设计了加速单元的运行机制,使加速单元的融合能够在不破坏基准处理器的流水线的情况下,实现定制指令的正常执行。验证了面向杂凑算法的通用加速单元的功能正确性,并基于65nm CMOS工艺库实现逻辑综合,分析评估了加速单元的性能。针对典型杂凑算法完成了算法在加速单元上的适配,实验结果表明,本文设计的通用加速单元不仅能够提升样本杂凑算法的实现性能,非样本杂凑算法的实现同样得到加速,具有较高的加速性能和良好的兼容性。