指令的处理方法和智能卡的制作方法

文档序号:6378500阅读:219来源:国知局
专利名称:指令的处理方法和智能卡的制作方法
技术领域
本发明涉及电子技术领域,特别涉及一种指令的处理方法和智能卡。
背景技术
现今,智能卡技术的应用范围越来越广泛,其功能也越来越强大。为了满足日益增加的需求,智能卡的实现也愈加复杂。一种带有虚拟机实现的智能卡,由于其平台无关性、灵活性、扩展性、安全性等优势,在该领域大放异彩。这类智能卡,在传统的硬件平台上搭建了一个带有标准指令集的虚拟机,开发人员只需要在此指令集的基础上开发应用,而无需 了解具体的硬件平台,大大缩短了产品开发的周期和成本。以Java智能卡为例。Java智能卡是一种能够运行Java程序的智能卡,它在智能卡的硬件平台上搭建了一个支持Java字节码(bytecode)指令的虚拟机。为了执行Java程序,虚拟机接受Java字节码指令,将其转化为等效的、被硬件平台所支持的原生指令(nativeinstruction),最后执行该原生指令序列。由于Java程序处于字节码形式并不专用于任何一个系统,只要有Java卡虚拟机即可使用,因此该Java程序可以在任何Java智能卡上运行。通常,虚拟机的指令解释器进行一个循环操作,它从程序计数器所指的地址中读取字节码指令;根据字节码指令找到相应的软件解释函数;然后调用该解释函数来完成字节码指令所要实现的功能,同时更新程序计数器,这样就完成了一条字节码指令的解释执行;最后又回到指令解释器的入口,重新开始解释执行一条新的字节码指令。例如,公开号为CN 101231597A的中国专利申请公开一种智能卡中Java程序指令的执行方法,该智能卡中设置有可执行Java程序的虚拟机以及中央处理器,可由中央处理器访问的存储器,存储器中存储有Java程序的字节码,该方法包括根据字节码,将其转换成对本地代码的一系列调用,形成本地程序;将本地程序编译成本地可执行代码,将本地可执行代码存储至智能卡的存储器中;虚拟机读取字节码,并判断是否有本地程序与所读取的字节码对应,若有,则执行对应的本地程序,否则解释并执行所读取的字节码。由上述内容可以看出,程序只能通过虚拟机转换成原生指令才能被执行的方式使得智能卡的运行效率明显降低。

发明内容
本发明技术方案解决的是现有智能卡运行效率较低。本发明技术方案提供一种智能卡,包括存储单元,适于保存原生指令和字节码指令,所述字节码指令包括第一字节码指令;第一处理单元,包括适于执行原生指令的第一执行单元;第二处理单元,包括第一读写单元和第二执行单元,所述第一读取单元适于读取字节码指令,所述第二执行单元适于在判断所读取的字节码指令为第一字节码指令时执行所述第一字节码指令。可选的,所述第二执行单元适于根据所述字节码指令的内容判断所述字节码指令为第一字节码指令。可选的,所述智能卡还包括存储管理单元,所述存储管理单元通过程序总线和数据总线连接所述第一处理单元,通过字节码总线连接所述第二处理单元,适于从所述存储单元读取字节码指令并发送至所述字节码总线。可选的,所述第二执行单元还适于在判断所读取的字节码指令为第二·字节码指令时,输出第一触发信息,所述第二字节码指令为所述第二处理单元无法执行的字节码指令;所述第一处理单元还包括第一转换单元,适于在获取所述第一触发信息后,将所述第二字节码指令转化为对应的原生指令;所述第一执行单元还适于执行所述对应的原生指令。可选的,所述第二执行单元适于根据所述字节码指令的内容判断所述字节码指令为第二字节码指令。可选的,所述智能卡还包括切换单元,适于保存所述第一触发信息;所述第一转换单元适于通过数据总线从所述切换单元获取所述第一触发信息。可选的,所述第一触发信息包括所述第二字节码指令。可选的,所述存储管理单元还适于从所述存储单元读取所述第二字节码指令并发送至所述数据总线,所述第一处理单元还包括第二读写单元,所述第二读写单元适于通过所述数据总线读取所述第二字节码指令。可选的,所述第二执行单元还适于在执行所述第一字节码指令过程中发生中断或异常时,输出第二触发信息,并在所述中断或异常处理完成后,继续执行所述第一字节码指令;所述第一执行单元还适于在获取所述第二触发信息后,处理所述中断或异常。可选的,所述智能卡还包括切换单元,适于保存所述第二触发信息;所述第一转换单元适于通过数据总线从所述切换单元获取所述第二触发信息。可选的,所述存储管理单元还适于从所述存储单元读取原生指令并发送至所述程序总线,所述第一处理单元还包括原生指令读取单元,适于通过所述程序总线读取所述原生指令。本发明技术方案还提供一种指令的处理方法,包括第一处理单元执行原生指令;第二处理单元读取字节码指令,在判断所述字节码指令为第一字节码指令时执行所述第一字节码指令。如背景技术所述的,字节码指令需要由虚拟机转为原生指令后才能被执行,所以现有智能卡运行效率较低。本发明技术方案根据智能卡所需执行的指令类型增加了可以直接执行字节码指令的处理单元,虽然增加了指令执行单元的数量,但是省略了每个字节码指令执行都需要虚拟机转换的过程,使得原生指令和字节码指令都可以被快速执行,提高了智能卡的运行效率。并且,本实施例技术方案采用能够直接执行字节码指令的处理单元读取并判断字节码指令,在大多数字节码指令为所述处理单元所支持(即能够直接执行)的情况下,进一步提高了字节码指令的执行效率。


图I为本发明实施例一的智能卡结构示意图;图2为本发明实施例二的智能卡结构示意图;图3为本发明指令的处理方法的一实施例流程图;图4为本发明指令的处理方法的另一实施例流程图;图5为本发明指令的处理方法的又一实施例流程图。
具体实施方式

下面结合附图对本发明的具体实施方式
做详细的说明。在下列段落中参照附图以举例方式更具体地描述本发明。根据下列说明,本发明的优点和特征将更清楚。如图I所示,本发明实施例一提供一种智能卡,包括存储单元3,适于保存原生指令和字节码指令,所述字节码指令包括第一字节码指令;第一处理单元I,包括适于执行原生指令的第一执行单元11 ;第二处理单元2,包括第一读写单元22和第二执行单元21,所述第一读取单元22适于读取字节码指令,所述第二执行单元21适于在判断所读取的字节码指令为第一字节码指令时执行所述第一字节码指令。所述第一执行单元11可以为通用处理器,例如80251通用处理器。所述第二执行单元21可以为能够执行字节码指令的专用处理器,例如JAVA卡加速器。所述存储单元3可以为内部存储器和/或外部存储器。内部存储器可以包括R0M、EEPROM或RAM。保存在存储单元3中的每条指令可以为原生指令,也可以为字节码指令。单独的原生指令、单独的字节码指令或者原生指令和字节码指令可以构成智能卡的应用程序或操作系统等。每条原生指令或字节码指令都在存储单元3中拥有一个存储地址,即每个存储地址对应一条原生指令或字节码指令。所述第二执行单元21可以根据所述字节码指令的内容判断所述字节码指令为第一字节码指令。可选的,第二执行单元21可以根据字节码指令的内容中的字节码指令标识判断所述字节码指令为第一字节码指令。例如,字节码指令的第一字节为字节码指令标识,第一字节码指令的字节码指令标识为“00”,则第一读写单元22读取的字节码指令的第一字节为“00”时,第二执行单元21判断所读取的字节码指令为第一字节码指令,执行所述第一字节码指令。实施例一所述的智能卡还可以包括存储管理单元4。存储管理单元4通过程序总线和数据总线连接所述第一处理单元1,通过字节码总线连接所述第二处理单元2,适于从所述存储单元3读取字节码指令并发送至所述字节码总线。存储管理单元4可以具有逻辑控制、地址判断和指令传输的功能。存储管理单元4可以在第一处理单元I工作、第二处理单元2不工作时仅与第一处理单元I进行指令和其他数据交互,在第二处理单元2工作、第一处理单元I不工作时仅与第二处理单元2进行指令和其他数据交互。
实施例一所述的第一处理单元I还可以包括原生指令读取单元12。存储管理单元4可以从存储单元3读取原生指令并发送至程序总线,原生指令读取单元12通过程序总线读取所述原生指令,第一执行单元11执行所述获取到的原生指令。可选的,原生指令读取单元12根据存储地址读取与所述存储地址对应的原生指令。具体的,存储地址可以包括在第一处理单元I发送的指令请求中,存储管理单元4对所述指令请求中的存储地址进行地址判断,从存储单元3读取所述存储地址对应的原生指令,并将所述对应的原生指令发送至程序总线,使得原生指令通过程序总线传输至原生指令读取单元12,实现了原生指令读取单元12对原生指令的读取。如背景技术所述的,字节码指令需要由虚拟机转为原生指令后才能被执行,所以现有智能卡运行效率较低。本实施例根据智能卡所需执行的指令类型增加了可以直接执行字节码指令的处理单元,虽然增加了指令执行单元的数量,但是省略了每个字节码指令执行都需要虚拟机转换的过程,使得原生指令和字节码指令都可以被快速执行,提高了智能卡的运行效率。并且,本实施例技术方案采用能够直接执行字节码指令的处理单元读取并判断字节码指令,在大多数字节码指令为所述处理单元所支持(即能够直接执行)的情况下,进一步提高了字节码指令的执行效率。 如图2所示,本发明实施例二与实施例一的区别在于所述第二执行单元21还适于在判断所读取的字节码指令为第二字节码指令时,输出第一触发信息,所述第二字节码指令为所述第二处理单元2无法执行的字节码指令;所述第一处理单元I还包括第一转换单元16,适于在获取所述第一触发信息后,将所述第二字节码指令转化为对应的原生指令;所述第一执行单元11还适于执行所述对应的原生指令。所述第二执行单元21可以根据所述字节码指令的内容断所述字节码指令为第二字节码指令。可选的,第二执行单元21可以根据所述字节码指令的内容中的字节码指令标识断所述字节码指令为第二字节码指令。例如,字节码指令的第一字节为字节码指令标识,第一字节码指令的字节码指令标识为“01”,则第一读写单元22读取的字节码指令的第一字节为“01”时,第二执行单元21判断所述字节码指令为第二字节码指令,输出第一触发信肩、O所述第一转换单元16可以通过第二字节码指令找到与所述第二字节码指令相应的解释函数,第一执行单元11调用与所述第二字节码指令相对应的解释函数实现与所述第二字节码指令相对应的原生指令的执行。实施例二所述的智能卡还可以包括切换单元5。切换单元5适于保存所述第一触发信息,第一转换单元16可以通过数据总线从切换单元5获取所述第一触发信息。实施例二所述的第一处理单元I还可以包括第二读写单元13。第二读写单元13可以通过数据总线从切换单元5读取所述第一触发信息,并将所述第一触发信息发送给第一转换单元16。具体的,第一读写单元22与切换单元5相连接,第二读写单元13通过数据总线与存储管理单元4相连接,切换单元5通过切换总线也与存储管理单元4相连接,存储管理单元4可以将第一触发信息从切换总线传输至数据总线。第二执行单元21输出第一触发信息,第一读写单元22将所述第一触发信息发送至切换单元5保存,第二读写单元13通过数据总线读取切换单元5中的第一触发信息,读取过程中存储管理单元4将第一触发信息从切换总线传输至数据总线,第二读写单元13将读取到的第一触发信息发送给第一转换单元16,第一转换单元16获取所述第一触发信息后,将所述第二字节码指令转化为对应的原生指令,第一执行单元11执行所述对应的原生指令。第二读写单元13可以定时检测切换单元5以便获取所述第一触发信息。当所述第一触发信息包括所述第二字节码指令时,第一转换单元16获取所述第一触发信息后即可获得所述第二字节码指令,因此第一转换单元16可以在获取所述第一触发信息后直接将所述第一触发信息中的第二字节码指令转化为对应的原生指令,第一执行单元11执行所述对应的原生指令。当第一触发信息未包括所述第二字节码指令时,存储管理单元4从存储单元3读取所需执行的第二字节码指令并发送至数据总线,第二读写单元13可以通过数据总线读取所述第二字节码指令,第一转换单元16将所述第二字节码指令转化为对应的原生指令,第一执行单元11执行所述对应的原生指令。·
继续参考图2,所述第二执行单元21还可以在执行所述第一字节码指令过程中发生中断或异常时,输出第二触发信息,并在所述中断或异常处理完成后,继续执行所述第一字节码指令;所述第一执行单元11还适于在获取所述第二触发信息后,处理所述中断或异常。切换单元5可以保存所述第二触发信息;所述第一转换单元16可以通过数据总线从所述切换单元5获取所述第二触发信息。所述第二触发信息可以包括产生所述中断或异常的原因。第二读写单元13可以通过数据总线读取所述第二触发信息。具体的,第一读写单元22与切换单元5相连接,第一读写单元22通过字节码总线与存储管理单元4相连接,切换单元5通过切换总线也与存储管理单元4相连接,存储管理单元4可以将第二触发信息从切换总线传输至数据总线。第二执行单元21输出第二触发信息,第一读写单元22将所述第二触发信息发送至切换单元5保存,第二读写单元13通过数据总线读取切换单元5中的第二触发信息,读取过程中存储管理单元4将第二触发信息从切换总线传输至数据总线,第二读写单元13将读取到的第二触发信息发送给第一执行单元11,所述第一执行单元11处理所述中断或异

巾O第一执行单元11处理所述中断或异常完成后,会通知所述第二执行单元21,通知的形式可以是触发信号或其他。在实际应用中,切换单元5和第二处理单元2可以集成在一个芯片中。例如,所述切换单元5由寄存器实现,所述第二处理单元2由专用处理器实现,所述寄存器可以集成在所述专用寄存器内。如图3所示,本发明技术方案还提供一种指令的处理方法,包括步骤SI,第一处理单元执行原生指令;步骤S2,第二处理单元读取字节码指令,在判断所述字节码指令为第一字节码指令时执行所述第一字节码指令。在步骤SI中,所述第一处理单元执行原生指令包括所述第一处理单元通过程序总线从存储单元读取所述原生指令。在步骤S2中,所述第二处理单元读取字节码指令包括所述第二处理单元通过字节码总线从存储单元读取字节码指令。在步骤S2中,所述第二处理单元判断所述字节码指令为第一字节码指令包括所述第二处理单元根据所述字节码指令的内容判断所述字节码指令为第一字节码指令。如图4所示,所述指令的处理方法还可以包括步骤S3,所述第二处理单元在判断所述字节码指令为第二字节码指令时,输出第一触发信息,所述第二字节码指令为所述第二处理单元无法执行的字节码指令;步骤S4,所述第一处理单元在获取所述第一触发信息后,将所述第二字节码指令 转化为对应的原生指令,并执行所述对应的原生指令。在步骤S3中,所述第二处理单元判断所述字节码指令为第二字节码指令包括所述第二处理单元根据所述字节码指令的内容判断所述字节码指令为第二字节码指令。在步骤S3中,所述第二处理单元输出第一触发信息包括所述第二处理单元将所述第一触发信息保存至切换单元。可选的,所述第一触发信息包括所述第二字节码指令,所述处理方法还包括在所述第一处理单元将所述第二字节码指令转化为对应的原生指令之前,所述第一处理单元通过数据总线从所述切换单元读取所述第二字节码指令。所述指令的处理方法还可以包括在所述第一处理单元将所述第二字节码指令转化为对应的原生指令之前,所述第一处理单元通过数据总线从存储单元读取所述第二字节码指令。如图5所示,所述指令的处理方法还可以包括步骤S5,所述第二处理单元执行所述第一字节码指令过程中发生中断或异常时,输出第二触发信息;步骤S6,所述第一处理单元获取所述第二触发信息后,处理所述中断或异常;步骤S7,所述第二处理单元在所述中断或异常处理完成后,继续执行所述第一字节码指令。所述第二触发信息可以包括所述中断或异常的原因。在步骤S5中,所述第二处理单元输出第二触发信息包括所述第二处理单元将所述第二触发信息保存至切换单元。在步骤S6中,所述第一处理单元获取所述第二触发信息包括所述第一处理单元从所述切换单元获取所述第二触发信息。虽然本发明已以较佳实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定范围。
权利要求
1.一种智能卡,其特征在于,包括 存储单元,适于保存原生指令和字节码指令,所述字节码指令包括第一字节码指令; 第一处理单元,包括适于执行原生指令的第一执行单元; 第二处理单元,包括第一读写单元和第二执行单元,所述第一读取单元适于读取字节码指令,所述第二执行单元适于在判断所读取的字节码指令为第一字节码指令时执行所述第一字节码指令。
2.如权利要求I所述的智能卡,其特征在于,所述第二执行单元适于根据所述字节码指令的内容判断所述字节码指令为第一字节码指令。
3.如权利要求I所述的智能卡,其特征在于,还包括存储管理单元,所述存储管理单元通过程序总线和数据总线连接所述第一处理单元,通过字节码总线连接所述第二处理单元,适于从所述存储单元读取字节码指令并发送至所述字节码总线。
4.如权利要求3所述的智能卡,其特征在于,所述第二执行单元还适于在判断所读取的字节码指令为第二字节码指令时,输出第一触发信息,所述第二字节码指令为所述第二处理单元无法执行的字节码指令; 所述第一处理单元还包括 第一转换单元,适于在获取所述第一触发信息后,将所述第二字节码指令转化为对应的原生指令; 所述第一执行单元还适于执行所述对应的原生指令。
5.如权利要求4所述的智能卡,其特征在于,所述第二执行单元适于根据所述字节码指令的内容判断所述字节码指令为第二字节码指令。
6.如权利要求4所述的智能卡,其特征在于,还包括切换单元,适于保存所述第一触发信息;所述第一转换单元适于通过数据总线从所述切换单元获取所述第一触发信息。
7.如权利要求4所述的智能卡,其特征在于,所述第一触发信息包括所述第二字节码指令。
8.如权利要求4所述的智能卡,其特征在于,所述存储管理单元还适于从所述存储单元读取所述第二字节码指令并发送至所述数据总线,所述第一处理单元还包括第二读写单元,所述第二读写单元适于通过所述数据总线读取所述第二字节码指令。
9.如权利要求3所述的智能卡,其特征在于,所述第二执行单元还适于在执行所述第一字节码指令过程中发生中断或异常时,输出第二触发信息,并在所述中断或异常处理完成后,继续执行所述第一字节码指令; 所述第一执行单元还适于在获取所述第二触发信息后,处理所述中断或异常。
10.如权利要求9所述的智能卡,其特征在于,还包括切换单元,适于保存所述第二触发信息;所述第一转换单元适于通过数据总线从所述切换单元获取所述第二触发信息。
11.如权利要求3所述的智能卡,其特征在于,所述存储管理单元还适于从所述存储单元读取原生指令并发送至所述程序总线,所述第一处理单元还包括原生指令读取单元,适于通过所述程序总线读取所述原生指令。
12.一种指令的处理方法,其特征在于,包括 第一处理单元执行原生指令; 第二处理单元读取字节码指令,在判断所述字节码指令为第一字节码指令时执行所述第一字节码指令。
13.如权利要求12所述的指令的处理方法,其特征在于,所述第二处理单元读取字节码指令包括 所述第二处理单元通过字节码总线从存储单元读取字节码指令。
14.如权利要求12所述的指令的处理方法,其特征在于,所述第二处理单元判断所述字节码指令为第一字节码指令包括 所述第二处理单元根据所述字节码指令的内容判断所述字节码指令为第一字节码指令。
15.如权利要求12所述的指令的处理方法,其特征在于,还包括 所述第二处理单元在判断所述字节码指令为第二字节码指令时,输出第一触发信息,所述第二字节码指令为所述第二处理单元无法执行的字节码指令; 所述第一处理单元在获取所述第一触发信息后,将所述第二字节码指令转化为对应的原生指令,并执行所述对应的原生指令。
16.如权利要求15所述的指令的处理方法,其特征在于,所述第二处理单元判断所述字节码指令为第二字节码指令包括 所述第二处理单元根据所述字节码指令的内容判断所述字节码指令为第二字节码指令。
17.如权利要求15所述的指令的处理方法,其特征在于,所述第二处理单元输出第一触发信息包括 所述第二处理单元将所述第一触发信息保存至切换单元。
18.如权利要求17所述的指令的处理方法,其特征在于,所述第一触发信息包括所述第二字节码指令,所述处理方法还包括 在所述第一处理单元将所述第二字节码指令转化为对应的原生指令之前,所述第一处理单元通过数据总线从所述切换单元读取所述第二字节码指令。
19.如权利要求17所述的指令的处理方法,其特征在于,还包括 在所述第一处理单元将所述第二字节码指令转化为对应的原生指令之前,所述第一处理单元通过数据总线从存储单元读取所述第二字节码指令。
20.如权利要求12所述的指令的处理方法,其特征在于,还包括 所述第二处理单元执行所述第一字节码指令过程中发生中断或异常时,输出第二触发信息; 所述第一处理单元获取所述第二触发信息后,处理所述中断或异常; 所述第二处理单元在所述中断或异常处理完成后,继续执行所述第一字节码指令。
21.如权利要求20所述的指令的处理方法,其特征在于,所述第二处理单元输出第二触发信息包括所述第二处理单元将所述第二触发信息保存至切换单元; 所述第一处理单元获取所述第二触发信息包括所述第一处理单元从所述切换单元获取所述第二触发信息。
22.如权利要求12所述的指令的处理方法,其特征在于,所述第一处理单元执行原生指令包括 所述第一处理单元通过程序总线从存储单元读取所述原生指令。
全文摘要
本发明技术方案提供一种指令的处理方法和智能卡,所述智能卡包括存储单元,适于保存原生指令和字节码指令,所述字节码指令包括第一字节码指令;第一处理单元,包括适于执行原生指令的第一执行单元;第二处理单元,包括第一读写单元和第二执行单元,所述第一读取单元适于读取字节码指令,所述第二执行单元适于在判断所读取的字节码指令为第一字节码指令时执行所述第一字节码指令。本发明技术方案采用能够直接执行字节码指令的处理单元读取并判断字节码指令,在大多数字节码指令为所述处理单元所支持的情况下,进一步提高了字节码指令的执行效率。
文档编号G06K19/07GK102903001SQ20121037999
公开日2013年1月30日 申请日期2012年9月29日 优先权日2012年9月29日
发明者陆继承, 邬佳希, 刘珊珊 申请人:上海复旦微电子集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1