(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202210480459.0
(22)申请日 2022.05.05
(65)同一申请的已公布的文献号
申请公布号 CN 114579208 A
(43)申请公布日 2022.06.03
(73)专利权人 广州万协通信息技 术有限公司
地址 510400 广东省广州市白云区北太路
1633号广州民营科技园科盛路8号配
套服务大楼5层A5 05-63房
(72)发明人 张海华 徐亚星 王帅
(74)专利代理 机构 北京市盛峰律师事务所
11337
专利代理师 于国富
(51)Int.Cl.
G06F 9/445(2018.01)(56)对比文件
CN 103927187 A,2014.07.16
CN 102662806 A,2012.09.12
CN 10407 7173 A,2014.10.01
CN 111443991 A,2020.07.24
US 2005091468 A1,20 05.04.28
US 6101580 A,20 00.08.08
刘天华等.Java智能卡指令折叠优化 算法的
研究与实现. 《I nternati onal Conference o n
Computer,Com munications and I nformati on
Technology(CCIT 2014)》 .2014,第410 -413页.
审查员 张楚湖
(54)发明名称
一种Java卡的自适应调整执行速度提升方
法
(57)摘要
本发明提供了一种Java卡的自适应调整执
行速度提升方法, 该方法实现了Java卡程序根据
不同的Applet执行过程中使用到的Java指令的
次数多少, 将执行频率最高的Java指令拷贝到
ram中执行, 形 成热码区, 执行频率低的Java指令
在flash中执行, 形成冷码区。 通过此方法不仅比
通常的Java指令都在flash中执行的JAVA卡执行
速度快, 而且针对不 同客户的Java Applet的执
行, 也做了速度优化。 从而总体上实现了JAVA卡
的自适应的执 行速度的最优最快。
权利要求书1页 说明书4页 附图3页
CN 114579208 B
2022.08.26
CN 114579208 B
1.一种Java卡的自适应调整执行速度提升方法, 其特征在于, 通过构建冷热码模板表
将JAVA平 台由此划分热码区域和冷码区域, 热码区域放置高频执行代码, 在ram中执行, 冷
码区域放置低频执行代码, 在flash中执行; 所述构建冷热码模板表 通过客户Applet的前期
执行自学习实现, 具体包括以下步骤:
S1, 定义两个Java指令函数数组Java_byteCode_Array0[ ]和Java_byteCode_Array1
[], 所述数组Java_byteCode_Array0[]存储Java指令函数的地址和长度, Java指令函数体
存储在flash程序区; 所述数组Java_byteCode_Array1[ ], 包含对应Java指令函数的函数
体起始地址,并将其存 储在flash程序区中;
S2, Java卡上电复位过程中, 将数组Java_byteCode_Array1[]从flash拷贝到ram中, 同
时判断其中的Java指令程序地址是否在ram中, 如在ram中, 该J ava指令的flash地址从数组
Java_byteCode_Array0[]中对应索引位置的指令存储地址获取, 将对应的函数体从flash
拷贝到ram中; 若不在ram中, 则不拷贝函数体;
S3, 执行Java Applet, 如果在执行前收到统计counter指令, 则进入步骤S4, 否则直接
正常执行Java Applet直至结束;
S4, 在ram中创建couter_Array[ ]数组, 将couter_Array[ ]数组清为0, 并统计Java
Applet执行过程中各个Java指令执 行的次数;
S5, 根据执行Applet过程中Java指令执行的次数统计, 将执行次数最多的Java指令函
数体拷贝到ram中, 从而下次执 行时, Java指令程序由cpu从ram中读取 执行。
2.根据权利 要求1所述的Java卡的自适应调整执行速度提升方法, 其特征在于, 步骤S1
中定义的数组Java_b yteCode_Array0[ ]的长度为0xB9, 每个数组成员由Java指令函数体
起始地址和函数体长度组成, Java_byteCode_A rray0[]数组中按照Java指令的索引排序。
3.根据权利要求1所述的Java卡的自适应调整执行速度提升方法, 其特征在于, 所述数
组Java_byteCode_Array1[]形成一个固定模板, 模板采用链表式存储组成, 其中所有内部
方法函数的链 表, 均可支持增删改查, 动态更新管理。
4.根据权利 要求1所述的Java卡的自适应调整执行速度提升方法, 其特征在于, 步骤S4
中创建的数组counter_Array[ ], 用于Java指令执行的次数统计; 根据执行Applet过程中
Java指令执行的次数 统计, 将执行次数最多的几个J ava指令函数体拷贝到ram中, 从而下次
执行时, Java指令程序由cpu从ram中读取执行, 同时修改指令nop和sconst _m1在数组Java_
byteCode_A rray1[]中的Java指令函数地址, 该地址为ram中的对应的函数体起始地址 。
5.根据权利要求1所述的Java卡的自适应调整执行速度提升方法, 其特征在于, 在确认
拷贝的指令个数时, 需要考虑 空闲的ram空间大小, 拷贝到r am中的Java函数体的大小不能
超过空闲的ram空间大小, 然后将Java_byteCode_Array1[]数组回写到flash中原来位置,
下次复位后, 就将修改后的执行最优的Java_byteCode_Array1[]数组作为整体从flash拷
贝到ram中。权 利 要 求 书 1/1 页
2
CN 114579208 B
2一种Java卡的 自适应调整执行速度提升方 法
技术领域
[0001]本发明涉及智能卡技术领域, 尤其涉及一种Java卡的自适应调整执行速度提升方
法。
背景技术
[0002]目前的Java卡程序是存储在flash中, 执行时, 是cpu从flash中读取, 执行程序指
令。 flash由于与工艺有关, 读取flash的速度是固定的, 读取速度比较慢, 不会随着 cpu主频
提高而提高, 但是ram 的读取速度与cpu的主频有关, 主频越高, 读取速度就越快, 正常情况
下ram的读取速度是 Flash的几倍, 甚至几十倍, 几百倍, 同时ram的写速度也非常快。
[0003]基于上述缺点, 因此需要找到一种能够将执行频率较高的指令程序从flash拷贝
到ram上, 由cpu直接从ram中读取指令, 从而提升执 行速度的方法。
发明内容
[0004]本发明的目的在于提供一种JAVA卡的自适应调整执行速度提升方法, 从而解决现
有技术中存在的前述问题。
[0005]为了实现上述目的, 本发明采用的技 术方案如下:
[0006]一种Java卡的自适应调整执行速度提升方法, 通过构建冷热码模板表将Java平台
由此划分热码区域和冷码区域, 热码区域放置高频执行代码, 在ram中执行, 冷码区域放置
低频执行代码, 在flash中执行; 所述构建冷热码模板表可以通过客户Applet的前期执行自
学习实现, 具体包括以下步骤:
[0007]S1, 定义两个Java指令函数数组Java_byteCode_Array0[ ]和Java_byteCode_
Array1[], 所述数组Java_byteCode_Array0[]存储Java指令函数的地址和长度, Java指令
函数体存储在flash程序区; 所述数组Java_byteCode_Array1[ ], 包含对应Java指令函数
的函数体起始地址,并将其存 储在flash程序区中;
[0008]S2, Java卡上电复位过程中, 将数组Java_byteCode_Array1[]从flash拷贝到ram
中, 同时判断其中的Java指令程序地址是否在ram中, 如在ram中, 该Java指令的flash地址
从数组Java_byteCode_Array0[ ]中对应索引位置的指令存储地址获取, 将对应的函数体
从flash拷贝到ram中; 若不在ram中, 则不拷贝函数体;
[0009]S3, 执行Java Applet, 如果在执行前收到统计counter指令, 则进入步骤S4, 否则
直接正常执 行Java Applet直至结束;
[0010]S4, 在ram中创建couter_Array[ ]数组, 将couter_Array[ ]数组清为0, 并统计
Java Applet执行过程中各个Java指令执 行的次数;
[0011]S5, 根据执行Applet过程中Java指令执行 的次数统计, 将执行次数最多的Java指
令函数体 拷贝到ram中, 从而下次执 行时, Java指令程序由cpu从ram中读取 执行。
[0012]优选的, 步骤S1中定义的数组Java_byteCode_Array0[]的长度 为0xB9, 每个数组
成员由J
专利 一种Java卡的自适应调整执行速度提升方法
文档预览
中文文档
9 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-17 23:58:19上传分享