论文部分内容阅读
不同应用领域对处理器的要求差异很大,这使得专用处理器(ASIP)成为了很多特定领域的最优化的选择。专用指令集处理器(ASIP)指令集设计一般都基于对应用算法源码的分析。本文针对Mibench平台加密标测类中的sha算法源码,设计了相应ASIP的指令集,其中Mibench是密歇根大学的嵌入式benchmark标测平台。所完成的主要工作分为以下三个部分:1,设计了用于ASIP设计的细粒度源码分析工具。传统源码分析工具不能为ASIP设计提供足够的统计信息,于是本文面向ASIP设计需求设计了源码分析器,该源码分析器基于编译器中间代码并采用python脚本语言实现,所用的中间代码由LANCE编译器前端产生。除了给出基本C运算操作的运行统计信息,load/store信息,跳转信息,本文还给出了中间代码基本块的运行统计信息以及可以用于指导堆栈设计的子函数变量个数统计信息。2,设计了针对sha加密算法应用的专用指令集。利用本文所设计的分析器对sha加密算法的C源码进行了特征提取,并根据这些算法特征设计了专用处理器指令集,该指令集以OR1K的指令体系结构为初始指令模板,针对应用源码特征扩展而成。所扩展的指令以协处理器的方式与主处理器紧密整合。3,加密专用协处理器结构设计与硬件实现。为了实现所扩展指令集的功能,本文提出了相应的处理器体系结构,为了支持定制指令的多操作数输入和多结果输出功能,本文设计了中间寄存器来解决多操作数的问题。硬件实现的仿真和验证在Xilinx的ISE13.1环境下完成。实验结果表明,本文所设计的细粒度源码分析器能很好地指导ASIP指令集设计,所设计的指令集能以很少的硬件消耗为代价,换取完成sha加密计算过程时很大的性能提升。在不引入关键路径的前提下,使用DC综合,指令扩展之后处理器面积消耗增加到扩展前的1.123倍。获得了1.78倍于初始处理器的处理速率。