元语言程序代码执行的中断方法技术

技术编号:7136352 阅读:258 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种计算机上元语言程序代码(10)执行的中断的计算机实现方法,所述计算机具有利用执行元语言程序代码(10)的虚拟机(5)来执行本机代码(3)执行的微控制器(1),其中,地址控制器(15)控制元语言程序代码(10)执行的中断。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种如权利要求1所述的元语言程序代码执行的中断的计算机实现方法。
技术介绍
计算机程序的应用通常是依赖于硬件的。因此,对于必须相应改变的软件解决方 案的相同功能,程序开发不得考虑不同的硬件解决方案。为了不依赖于硬件设计,过去已经 开发虚拟机的概念。在这样的虚拟机上,可以执行虚拟机代码或所谓的元语言程序代码。使 用所谓的元语言程序代码,虚拟机代码可以在微控制器上执行。作为这样的虚拟机的示例, 在现有技术范围内已知Java虚拟机,并且在这样的虚拟机上将执行虚拟机代码。例如,在 智能卡或基于微控制器的身份证的微控制器上执行这样的虚拟机代码或元语言程序码。例 如,已知这样的卡被称作所谓的内部使用Java虚拟机的Java卡。这样的智能卡或Java卡 典型地用于执行例如智能卡上的Java应用程序,以便实现智能卡上的加密处理,从而在使 用这样的智能卡期间或者出于识别卡用户的目的,创建特定程度的安全性。作为本专利技术技术背景的示例,EP 1 821 210 A2公开了在硬件相关平台顶层使用 Java虚拟机的虚拟机环境,其中该Java平台用于执行Java程序。有时,元语言代码或虚拟机代码会包含故障或导致有限的异常故障,使得包含或 创建故障的语言代码的执行应当由不包含这样的故障的语言代码来代替。US 6 202 208专利描述了用于修改运行在计算机系统上的Java虚拟机的补丁环 境。该环境包括包括方法表的计算机电子存储器上的补丁数据结构,包含在补丁数据结构 中用于改变补丁数据结构的数据项,以及与每个所识别的补丁相关的第二数据项。
技术实现思路
本专利技术的目的是产生一种元语言程序代码执行的中断的计算机实现方法,该方法 允许代替这样的元语言程序代码或元语言程序代码的至少一部分。本专利技术的目的可以由根据权利要求1的特征的计算机实现方法来解决实现。本发 明的计算机上元语言程序代码执行的中断的计算机实现方法包括地址控制器控制元语言 程序代码的中断的步骤,所述计算机包括执行本机代码的微控制器,所述本地代码实现了 执行元语言程序代码的虚拟机。根据本专利技术,有利的是,该方法还包括持久存储元件包含元语言程序代码,所述 元语言程序代码包括元语言指令,而暂时存储元件包括寄存器,所述寄存器反映元语言程 序计数器的数据。此外,有利的是,该方法还包括地址控制器能够读取在持久存储元件中存储的元 语言程序代码的物理地址的步骤。还有利的是,本专利技术还包括使用寄存器地址读取特定位置处的持久存储元件的 内容的步骤。此外,有利的是,本专利技术还包括使用地址表来比较寄存器地址的步骤。此外,可能有利的是,将地址表存储在存储器中,优选地存储在地址控制器的存储 器中。根据本专利技术的实施例,有利的是,地址控制器指示微控制器的一个处理器 (handler)来发布元语言程序代码运行的异常或中断。附图说明参照附图,根据本专利技术的以下示例性实施例的描述,本专利技术的上述和其他特征及 优势将显而易见,其中图1示出了表示本专利技术方法的示意框图。 具体实施例方式图1示意性示出了表示本专利技术的示意框图。方框1表示一个微控制器。该微控制 器1包含微代码2、本机代码程序计数器6和异常处理器14。微控制器1执行在微控制器 1内实现的微代码2。微代码2反映在虚拟机5上实现的虚拟机循环4的本机代码3,通过 微控制器1的本机代码程序计数器6根据箭头A寻址该本机代码3。本机代码3包含虚拟机实现单元5,该虚拟机实现单元5还包括元语言程序计数器 7、元语言指令解释程序8和虚拟机循环4。该虚拟机循环4实现经由箭头B控制元语言程序计数器7。该元语言程序计数器 7是虚拟机5的一部分,虚拟机5是本机代码3本身的一部分。此外,虚拟机5包括可以通过方框11的元语言指令9进行控制的元语言中断解释 程序8。虚拟机5的元语言中断解释程序8根据箭头D接收并执行方框11的元语言代码 10的元语言指令9。元语言代码10存储在持久存储器或存储介质11中,并且根据箭头B 通过元语言程序计数器7进行寻址。此外,根据箭头C将元语言程序计数器7映射到暂时 存储介质或存储器13中的寄存器12上。根据图1,方框图还示出了包括可以寻址和控制的寄存器12的暂时存储介质或存 储器13。图1还示出了包含地址表16的地址控制器15。该地址控制器根据箭头G发送控 制信号到可能在过程中引起异常的异常处理器14。这些异常可以引起元语言程序代码中的 改变,为了用替代元语言程序代码代替原始的元语言程序代码。此外,根据箭头E将寄存器12连接到地址控制器15和/或地址表16。此外,根据 箭头F将地址控制器15和/或地址表16连接到包括元语言代码7和元语言指令9的持久 存储单元10。根据本专利技术,将物理地址存储在暂时存储介质或存储器13的寄存器12中,该寄存 器12反映虚拟机5的元语言程序计数器7。因此,反映该元语言程序计数器的物理地址的 数据集合存储在寄存器12中。元语言程序计数器7用于读取持久存储器11中的元语言代码10的元语言指令9。 如箭头F所指示,地址控制器15能够监视到这个存储在持久存储介质中的物理地址。寄存器12的地址用于读取特定位置处的持久存储介质11的内容。因此,地址控制器15使用地址表16比较寄存器的地址。如果寄存器12的当前内容与地址表中的一个条目相匹配,地址控制器将在微控 制器1的异常处理器14中引起异常,该异常用于停止虚拟机3循环中的元语言指令解释程 序8的执行。该硬件触发的异常允许通过另一种实现方式代替现有元语言代码10的可能性, 例如可能用于无效的元语言程序代码10实现情况中的补丁元语言代码。根据本专利技术,硬件本身监视元语言指令取回操作,并且该功能性对于元语言指令 解释程序8是透明的,且对于虚拟机5的总体性能没有特定影响。因此,上面所描述的方法允许用位于其他存储元件(例如EEPR0M)上的其他新的 元语言代码,来代替一个存储元件(例如ROM)的元语言代码。因此,该方法允许硬件触发 的元语言代码的补丁。一般来说,使用本专利技术的方法运行在计算机上是有利的。此外,有利的是,例如原 始实现代码有故障的情况下,使用这样的方法运行在芯片卡或智能卡上,以用其他虚拟机 代码代替在该卡上原始执行的虚拟机代码。参考1微控制器2微代码3本机代码4虚拟机循环5虚拟机6本机代码程序计数器7元语言程序计数器8元语言指令解释程序9元语言指令10元语言程序代码11持久存储介质、存储器12寄存器13暂时存储介质14异常处理器15地址控制器16地址表权利要求1.一种计算机上元语言程序代码(10)执行的中断的计算机实现方法,所述计算机具 有执行本机代码( 执行的微控制器(1),所述本机代码( 执行实现了执行元语言程序代 码(10)的虚拟机(5),其中,地址控制器(1 控制元语言程序代码(10)执行的中断。2.根据权利要求1所述的方法,其中,所述方法还包括持久存储元件(11)包含元语 言代码(10),所述元语言代码(10)包括元语言指令(9),而暂时存储元件(1 包含寄存器 (12),所述寄存器(12)反应元语言程序计数器(7)的数据。3.根据权利要求1或2所述的方法,其中,所述方法还包括地址控制器(1 能够读 取在持久存储元件(11)中存储的元语言代码(10)的物理地址。4.根据权利要本文档来自技高网...

【技术保护点】
一种计算机上元语言程序代码(10)执行的中断的计算机实现方法,所述计算机具有执行本机代码(3)执行的微控制器(1),所述本机代码(3)执行实现了执行元语言程序代码(10)的虚拟机(5),其中,地址控制器(15)控制元语言程序代码(10)执行的中断。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:弗兰克·西德尔
申请(专利权)人:NXP股份有限公司
类型:发明
国别省市:NL

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1