JavaCard指令处理器的FPGA设计

2012-01-19 17:12:39来源: elecfans
 1 JavaCard简介

  智能卡是指集成了CPU、ROM、RAM、COS(芯片操作系统)和EEPROM,能储存信息和图像,具备读/写能力,信息能被加密保护的便携卡。智能卡的最基本标准是ISO/IEC7816。智能卡在银行、电信等行业得到广泛应用,但在发展过程中也遇到很多问题,主要有:各厂商指令集不统一;编程接口APIs太复杂;开发环境不通用,新卡开发都要熟悉开发环境;系统不兼容,专卡专用。由于开发门槛过高,影响了智能卡的发展。市场对智能卡的发展提出了新的要求,Sun公司提出了Java Card开放标准。JavaCard技术将智能卡与Java技术相结合,克服了智能卡开发技术太专业、开发周期长等阻碍智能卡普及的缺点,允许智能卡运行Java编写的应用程序。JavaCard技术继承了Java语言的优点,制定了一个安全、便捷且多功能的智能卡平台。

  JavaCard基本的硬件配置(来自Sun文档)为:512B RAM、24KB ROM、8KB EEPROM、8位处理器。典型的JavaCard设备有8位或16位的CPU,3.7MHz时钟频率,1KB的RAM和大于16KB的非易失存储(EEPROM或Flash)。高性能的智能卡带有独立的处理器、加密芯片及密码信息。

  JavaCard系统的实现有基于软件虚拟机和基于硬件两种方法。基于软件虚拟机方法是在非Java处理器上用软件方法模拟实现JavaCard平台,在此平台上实现JavaCard应用。基于硬件方法是硬件逻辑实现JavaCard处理器,在此硬件基础上实现JavaCard平台,再在此平台上实现JavaCard应用。

  2 Java处理器的实现方式比较

  Java处理器有以下几种实现方式:

  (1)通用CPU+OS+Java软件解释器,软件解释执行Java指令。

  (2)通用CPU+OS+Java JIT(Just-In-Time)编译器,按块编译执行Java指令。

  (3)Java加强CPU+OS+特殊的Java编译器,充分使用Java加强硬件的优势。

  (4)Java 硬件CPU,本地支持Java指令,执行效率最高。

  目前的Java系统是基于软件虚拟机实现的,软件解析执行Java指令,如(1)、(2)。用软件实现JavaCard虚拟机,需要软件JavaCard指令解释器,将Java指令转换到本地CPU的指令集。这样,不但速度慢,而且虚拟机本身占用内存资源,不适合在智能卡这种资源有限的硬件中应用。方式(3)要求CPU硬件实现部分Java指令,它需要特殊的编译器来充分发挥Java加强CPU的功能。方式(4)是最有效的解决方法,Java指令的执行不再需要先转换到宿主CPU的本地指令集,同时,它也不占用RAM等软件资源,可以给应用程序提供更多的资源。

  本文介绍JavaCard CPU。系统采用Verilog描述,设计成一个配置灵活、修改方便、资源占用少、兼容性好、可以在普通FPGA中实现的软核。

  3 JavaCard CPU的设计

  3.1 Java CPU的硬件实现技术

  在CPU的设计中,当从内存中取出下一条指令时,执行这条指令有两种方法,即硬件逻辑方法和微码序列方法。硬件逻辑方法使用译码器、锁存器、计数器和其他一些逻辑部件转移和操作数据,完成指令功能。微码序列方法是在内部实现一个非常简洁、快速的微码处理器。此微码处理器的每条指令对应很简单的硬件动作(一般都是单周期指令),将要执行的CUP指令作为索引,索引到微码ROM中的某个地址,通过执行此地址处的一组微码完成指令功能。

  硬件逻辑方法的优点是能设计出更快的CPU,缺点是难以实现复杂的指令集,同时会导致芯片面积增大。微码序列方法的优点是可以减小芯片的面积,实现复杂指令集,缺点是速度有时较慢。两种方法的速度快慢并非绝对,微码指令是简单指令,一般每个时钟就能执行一条指令。硬件逻辑方法在执行CPU指令时,通常也是划分为几个阶段执行,同样需要几个时钟。实际设计中采用哪种方法要权衡利弊,在速度不是关键时,微码序列方法是个很好的选择。

  3.2 JavaCard CPU结构

  JavaCard CPU采用微码实现,核心部分是微码处理器,用微码指令序列实现JavaCard指令。微码处理器主要组成为:主控逻辑CORE,运算单元ALU,内部堆栈单元STACK,微码ROM,微码指令指针调整模块MCPC,外存读写接口MEMRW,通过wishbone总线连接外部RAM、ROM、I/O。各模块之间连接关系、数据通路、控制通路以及应答信号连接见图1。

  

[1] [2] [3]

关键字:JavaCard  FPGA

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2012/0119/article_2838.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
JavaCard
FPGA

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved