接触式智能卡芯片的仿真器转让专利
申请号 : CN200710037325.7
文献号 : CN100589085C
文献日 : 2010-02-10
发明人 : 许国泰
申请人 : 上海华虹集成电路有限责任公司
摘要 :
本发明公开了一种接触式智能卡芯片的仿真器,包括仿真芯片,仿真器处理器,外挂的物理存储器和仿真器处理器使用的高频时钟源。仿真芯片内有存储器管理单元(MMU)的当前配置信息,仿真器处理器可通过仿真通信信道访问到MMU的当前配置信息,并据此建立一张物理存储器的物理地址与当前CODE和XDATA区域的逻辑地址之间的对应关系表。仿真芯片、仿真器处理器、物理存储器三者通过数据/地址总线连接,仿真器处理器根据对应关系表通过数据/地址总线从物理存储器中取出相应数据段,然后拼接成CODE和XDATA区域显示出来。本发明可快速并正确地显示芯片当前逻辑上的CODE和XDATA区域,可以给用户的调试带来极大的便利。
权利要求 :
1、一种接触式智能卡芯片的仿真器,其特征在于:包括仿真芯片、 仿真器处理器、仿真芯片外挂的物理存储器和仿真器处理器使用的高频时 钟源,所述仿真芯片、仿真器处理器、仿真芯片外挂的物理存储器三者通 过数据/地址总线连接;所述的仿真芯片内包括处理器核、存储器管理单 元及存储器管理单元的当前配置信息;所述的仿真器处理器通过仿真通信 信道访问到存储器管理单元的当前配置信息,并根据获取的信息建立一张 物理存储器的物理地址与当前程序区和数据区的逻辑地址之间的对应关 系表;仿真芯片内的处理器核经存储器管理单元通过数据/地址总线访问 所述的物理存储器,仿真器处理器根据所述对应关系表通过数据/地址总 线从物理存储器中取出相应的数据段,然后拼接成程序区和数据区显示出 来;所述仿真器处理器在访问所述物理存储器时使用所述高频时钟源提供 的时钟信号,该时钟信号频率远高于仿真芯片支持的最高工作频率。
说明书 :
技术领域
本发明涉及一种接触式智能卡芯片的仿真器,特别是涉及一种所仿真 的微处理器带有存储器管理单元,逻辑上的程序区和数据区在物理存储器 内的位置不固定且微处理器的最大工作频率较低的仿真器。
背景技术
随着智能卡芯片技术的不断发展,以及应用要求的不断提高,要求接 触式智能卡芯片有更大的存储器容量。由于编译器等对程序区(CODE)和 数据区(XDATA)有最大64K字节的限制,目前已经有很多接触式智能卡 芯片内采用了存储器管理单元(MMU),使其可以使用容量远超过64K字节 的物理存储器。MMU介于处理器核与物理存储器之间,通过MM的使用, 接触式智能卡芯片中逻辑上的CODE和XDATA仍旧满足最大64K的限制, 但其与物理上的存储器之间不再是一种固定的对应关系,而是根据MMU 的配置,逻辑上的CODE和XDATA区是由物理存储器内若干个区间拼接而 成。这样,处理器核访问的仍旧是最大64K字节的CODE和XDATA区,但 由于MMU可由用户程序重新配置,也就是说,可以重新映射CODE和XDATA 与物理存储器之间的对应关系,处理器核就可以访问到容量超过64K字节 的物理存储器的所有空间了。接触式智能卡芯片的工作频率都不高,一般 在1-5M Hz范围内。
对仿真器而言,把需要仿真的微处理器的逻辑上的CODE和XDATA区 域真实地显示给用户观察和修改是必需的功能。对所述的带有MMU的,物 理存储器容量超过64K的接触式智能卡芯片而言,由于MMU的使用,逻辑 上的CODE和XDATA区域与物理存储器之间不再有一种固定的对应关系, 仿真器不能在固定的区间直接读取物理存储器内数据作为CODE和XDATA 区域显示给用户。目前仿真器的做法是,由于MMU的使用,对微处理器核 而言只有逻辑上的CODE和XDATA区域,仿真器向微处理器核连续插入 MOVC和MOVX指令,通过微处理器核把整个CODE和XDATA区域内的数据 取出并显示出来。但是,由于接触式智能卡芯片最高工作频率一般只有 5M Hz,且CODE和XDATA区域容量较大,这样通过向处理器核插入指令来 取出CODE和XDATA区域内的数据会非常的慢,而且由于用户程序可能经 常修改MMU配置,随之CODE和XDATA区域与物理存储器之间的对应关系 也改变了,仿真器必须重新获取CODE和XDATA区域内的数据信息并显示, 如果每次重新显示CODE和XDATA区域都很慢的话会给用户的调试带来极 大的不便。
对仿真器而言,把需要仿真的微处理器的逻辑上的CODE和XDATA区 域真实地显示给用户观察和修改是必需的功能。对所述的带有MMU的,物 理存储器容量超过64K的接触式智能卡芯片而言,由于MMU的使用,逻辑 上的CODE和XDATA区域与物理存储器之间不再有一种固定的对应关系, 仿真器不能在固定的区间直接读取物理存储器内数据作为CODE和XDATA 区域显示给用户。目前仿真器的做法是,由于MMU的使用,对微处理器核 而言只有逻辑上的CODE和XDATA区域,仿真器向微处理器核连续插入 MOVC和MOVX指令,通过微处理器核把整个CODE和XDATA区域内的数据 取出并显示出来。但是,由于接触式智能卡芯片最高工作频率一般只有 5M Hz,且CODE和XDATA区域容量较大,这样通过向处理器核插入指令来 取出CODE和XDATA区域内的数据会非常的慢,而且由于用户程序可能经 常修改MMU配置,随之CODE和XDATA区域与物理存储器之间的对应关系 也改变了,仿真器必须重新获取CODE和XDATA区域内的数据信息并显示, 如果每次重新显示CODE和XDATA区域都很慢的话会给用户的调试带来极 大的不便。
发明内容
本发明要解决的技术问题是提供一种接触式智能卡芯片的仿真器,可 以快速且正确地显示芯片当前逻辑上的CODE和XDATA区域,并可修改其 中的数据。
为解决上述技术问题,本发明提供一种接触式智能卡芯片的仿真器, 包括仿真芯片,仿真器处理器,仿真芯片外挂的物理存储器和仿真器处理 器使用的高频时钟源(晶振),所述仿真芯片、仿真器处理器、仿真芯片 外挂的物理存储器三者通过数据/地址总线连接。所述的仿真芯片内包括 处理器核、MMU及MMU的当前配置信息,仿真器处理器可以通过仿真通信 信道访问到MMU的当前配置信息,并可根据获取的信息建立一张物理存储 器的物理地址与当前CODE和XDATA区域的逻辑地址之间的对应关系表。 仿真芯片内的处理器核经MMU通过数据/地址总线访问所述的物理存储 器,仿真器处理器通过数据/地址总线访问所述的物理存储器。仿真器处 理器将根据所述对应关系表通过数据/地址总线从物理存储器中取出相应 的数据段,然后拼接成CODE和XDATA区域显示出来。仿真器处理器使用 高频时钟源,其提供的时钟信号频率远高于仿真芯片支持的最高工作频 率,仿真器处理器在访问所述物理存储器时使用该时钟源提供的时钟信 号。
采用本发明的接触式智能卡芯片的仿真器,针对带有MMU且最高工作 频率较低的接触式智能卡芯片的仿真,仿真器可以快速且正确地显示芯片 当前逻辑上的CODE和XDATA区域,并可在仿真器上修改其中的数据。即 使用户程序经常修改MMU配置,CODE和XDATA区域与物理存储器之间的 对应关系随之改变,仿真器也可以快速地重新获取CODE和XDATA区域内 的数据信息并显示,可以给用户的调试带来极大的便利。
为解决上述技术问题,本发明提供一种接触式智能卡芯片的仿真器, 包括仿真芯片,仿真器处理器,仿真芯片外挂的物理存储器和仿真器处理 器使用的高频时钟源(晶振),所述仿真芯片、仿真器处理器、仿真芯片 外挂的物理存储器三者通过数据/地址总线连接。所述的仿真芯片内包括 处理器核、MMU及MMU的当前配置信息,仿真器处理器可以通过仿真通信 信道访问到MMU的当前配置信息,并可根据获取的信息建立一张物理存储 器的物理地址与当前CODE和XDATA区域的逻辑地址之间的对应关系表。 仿真芯片内的处理器核经MMU通过数据/地址总线访问所述的物理存储 器,仿真器处理器通过数据/地址总线访问所述的物理存储器。仿真器处 理器将根据所述对应关系表通过数据/地址总线从物理存储器中取出相应 的数据段,然后拼接成CODE和XDATA区域显示出来。仿真器处理器使用 高频时钟源,其提供的时钟信号频率远高于仿真芯片支持的最高工作频 率,仿真器处理器在访问所述物理存储器时使用该时钟源提供的时钟信 号。
采用本发明的接触式智能卡芯片的仿真器,针对带有MMU且最高工作 频率较低的接触式智能卡芯片的仿真,仿真器可以快速且正确地显示芯片 当前逻辑上的CODE和XDATA区域,并可在仿真器上修改其中的数据。即 使用户程序经常修改MMU配置,CODE和XDATA区域与物理存储器之间的 对应关系随之改变,仿真器也可以快速地重新获取CODE和XDATA区域内 的数据信息并显示,可以给用户的调试带来极大的便利。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
附图是本发明接触式智能卡芯片的仿真器的结构示意图。
附图是本发明接触式智能卡芯片的仿真器的结构示意图。
具体实施方式
如附图所示,本发明接触式智能卡芯片的仿真器1内包括仿真芯片2, 仿真器处理器6,仿真芯片2外挂的物理存储器9和仿真器处理器6使用的高 频时钟源8(晶振)。仿真芯片2内包括处理器核4、MMU 5及MMU的当前配 置信息3,仿真器处理器6可以通过仿真通信信道访问到MMU的当前配置信 息3,并可根据获取的信息建立一张物理存储器的物理地址与当前CODE 和XDATA区域的逻辑地址之间的对应关系表7。仿真芯片2、仿真器处理器 6、位于仿真芯片2外外挂于仿真器1内的物理存储器9三者通过数据/地址 总线连接,仿真芯片2内的处理器核4经MMU 5通过数据/地址总线访问物 理存储器9,仿真器处理器6通过数据/地址总线访问物理存储器9。仿真器 处理器6使用高频时钟源8,其提供的时钟信号频率远高于仿真芯片2支持 的最高工作频率,仿真器处理器6在访问物理存储器9时使用该高频时钟源 8提供的时钟信号。
一般接触式智能卡芯片支持的最高工作频率是5MHz,而采用普通单片 机实现的仿真器处理器6通常可支持48MHz或更高的工作频率,这样去读 取物理存储器9内同样数量的数据,仿真器处理器6工作在48MHz相对于仿 真芯片2最多工作在5MHz所需的时间就少得多了。虽然,相对于使用MOVC 和MOVX指令通过仿真芯片2读取出CODE和XDATA区域,本发明多了从仿 真芯片2内获取MMU的当前配置信息3和建立对应关系表7的过程,但由于 仿真器处理器6工作在很高的频率,读取的速度以及建立对应关系表7的速 度都非常快,且需要读取的MMU的当前配置信息3最多几十个字节,相对 于读取64K字节的CODE和XDATA区域差了好几个数量级,因而从整体考 虑这一读取MMU的当前配置信息3和建立对应关系表7的过程所消耗的时 间可以忽略不计。
在需要显示CODE和XDATA区域内的数据时,仿真器处理器6根据已经 建立的物理存储器9的物理地址与当前CODE和XDATA区域的逻辑地址之间 的对应关系表7,从物理存储器9中取出相应的数据段,然后拼接成CODE 和XDATA区域显示出来。当需要在仿真器1所显示的CODE和XDATA区域内 修改数据时,仿真器处理器6把需要修改的数据在CODE和XDATA区域内的 逻辑地址根据对应关系表7换算成在物理存储器9内的物理地址,然后在物 理存储器9的这一位置重新填入修改后的数据即可。
一般接触式智能卡芯片支持的最高工作频率是5MHz,而采用普通单片 机实现的仿真器处理器6通常可支持48MHz或更高的工作频率,这样去读 取物理存储器9内同样数量的数据,仿真器处理器6工作在48MHz相对于仿 真芯片2最多工作在5MHz所需的时间就少得多了。虽然,相对于使用MOVC 和MOVX指令通过仿真芯片2读取出CODE和XDATA区域,本发明多了从仿 真芯片2内获取MMU的当前配置信息3和建立对应关系表7的过程,但由于 仿真器处理器6工作在很高的频率,读取的速度以及建立对应关系表7的速 度都非常快,且需要读取的MMU的当前配置信息3最多几十个字节,相对 于读取64K字节的CODE和XDATA区域差了好几个数量级,因而从整体考 虑这一读取MMU的当前配置信息3和建立对应关系表7的过程所消耗的时 间可以忽略不计。
在需要显示CODE和XDATA区域内的数据时,仿真器处理器6根据已经 建立的物理存储器9的物理地址与当前CODE和XDATA区域的逻辑地址之间 的对应关系表7,从物理存储器9中取出相应的数据段,然后拼接成CODE 和XDATA区域显示出来。当需要在仿真器1所显示的CODE和XDATA区域内 修改数据时,仿真器处理器6把需要修改的数据在CODE和XDATA区域内的 逻辑地址根据对应关系表7换算成在物理存储器9内的物理地址,然后在物 理存储器9的这一位置重新填入修改后的数据即可。