论文部分内容阅读
JavaCard是新一代智能卡标准,具有广泛的应用。目前的JavaCard系统多是采用软件虚拟机的方式来实现,系统软件平台本身占用了大量的资源,执行效率不高,且不能适应有特殊要求的应用(如需要快速加解密运算)。解决这些问题的有效途径之一就是研究JavaCard处理器的硬件实现。 在深入研究了国内外Java硬件处理器设计相关技术,进一步分析了JavaCard系统资源非常有限的特点之后,提出了面积优化的JavaCard处理器AOJCP(Area-Optimized JavaCard Processor)的设计目标:低资源占用(最小芯片面积);低功耗;可选支持硬件AES加解密;设计成支持wishbone接口的IP core。 AOJCP是完全自主设计的,本文给出了为达到设计目标而做的设计决策、微码处理器的总体框架、单周期与控制-应答机制相结合的微码设计、基于指针的常数池解释模型等,给出了AOJCP的实现结果,并可选集成了自主设计的AES硬件模块AESCORE。 本文的成果和创新点如下: 1.针对JavaCard系统资源非常有限、软件实现的JavaCard虚拟机资源占用大、执行效率低、不适应特殊应用的问题,设计了一种基于微码、面积优化、低功耗的JavaCard处理器,在FPGA芯片XC2S400e中实现(JavaCard core连同外部rom,ram)的结果:占用1410个LogicCell(约合16K门)+23个4Kbit BlockRAM,最高时钟频率36.2MHz,平均功耗124mW。 2.单周期与控制-应答机制结合的微码设计 以简化主控逻辑为目的,设计的微码指令均不带后续操作数;数据编码到指令中;单周期与控制-应答机制结合:所有的微码指令均单周期执行,指令内建检测应答信号的硬件逻辑,无需专门的检测应答信号的微码指令,减少了微码指令个数;减少了译码逻辑,降低了资源占用;缩短了微码程序长度。 3.提出一种基于指针的常数池解释模型 常数池解释是JavaCard指令执行中常用操作,常数池解释中token定位是个