ECC专用指令处理器软硬件协同设计
2012-07-25徐劲松王志新严迎建
计算机工程与设计 2012年3期
徐劲松,王志新,严迎建
(解放军信息工程大学 电子技术学院,河南 郑州450004)
0 引 言
椭圆曲线密码体制 (ECC)是一种基于代数曲线的公开密码体制,需要进行高强度的密码学运算,而通用处理器在运算性能上有明显的局限性,难以满足实际应用需求。因此,一般使用硬件加速的方法来实现ECC。传统的硬件加速方法是用专用集成电路实现ECC算法,对特定的ECC算法进行硬件优化来获得高性能,这种方法处理速度快,但只能针对特定ECC算法,可配置性和可扩展性十分欠缺,且成本较高。目前专用指令集处理器 (ASIP)作为一种新的硬件加速方案,得到了广泛的研究[1-3],出现了多款各具特色的ECC专用指令集处理器[4-6]。本文设计了一款能实现多种ECC算法的ASIP,能够完成160~576-bit二元域和素数域上的有限域运算。
1 软硬件协同设计流程
ASIP设计通常分为4个关键步骤:应用分析、体系结构设计、代码综合和硬件综合[7]。本文对此4个关键步骤进行了细化与扩展,采用了软硬件协同的方法设计了一款专用指令ECC处理器,具体流程如图1所示。设计采用自顶向下的设计方法,从系统验证、RTL硬件仿真和FPGA硬件原型测试3个不同的层次对处理器的设计工作进行了验证。
设计一款ECC专用指令处理器,要综合考虑不同ECC算法的对性能、面积、功耗等参数的需求,对软硬件进行合理地划分,硬件方面主要进行处理器指令集体系结构(ISA)模型设计,包含指令设计、寄存器设计等;软件方面主要进行ECC算法程序设计以及与处理器配套的软件开发、调试工具的设计,包括指令集模拟器 (ISS)、汇编器等。……
登录APP查看全文
