加快程序执行的系统及其执行方法.pdf

上传人:n****g 文档编号:992359 上传时间:2018-03-24 格式:PDF 页数:9 大小:406.91KB
返回 下载 相关 举报
摘要
申请专利号:

CN03101411.9

申请日:

2003.01.07

公开号:

CN1516002A

公开日:

2004.07.28

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回|||实质审查的生效|||公开

IPC分类号:

G06F9/28

主分类号:

G06F9/28

申请人:

财团法人资讯工业策进会;

发明人:

朱志兴

地址:

台湾省台北市

优先权:

专利代理机构:

中科专利商标代理有限责任公司

代理人:

周长兴

PDF下载: PDF下载
内容摘要

一种加快程序执行的系统及其执行方法,其主要利用静态存储器储存系统程序库,并利用动态存储器来暂存执行系统程序库的指令及其加速资料,在执行过程中利用程序指位器对应至动态存储器的内容,其中,动态存储器包括复数笔记录空间,每一笔记录空间包含比对值与加速资料,程序指位器包含程序位址索引值与比对值。

权利要求书

1: 一种加快程序执行的系统,主要包括: 一静态存储器,用以储存至少一系统程序库,其包括复数系统程序 码,每一系统程序码具有一相对应的程序位址索引值;以及 一动态存储器,具有复数记录空间(Entries),每一记录空间包括一第 一资料单元与一第二资料单元,该第一资料单元用以置放一第一比对值, 该第二资料单元用以置放一执行资料,其中,执行该等系统程序码通过 一程序指位器(IP),该程序指位器包括一程序位址索引值与一第二比对 值,以供通过该程序位址索引值对应其中一记录空间,并由该第一比对 值与该第二比对值确认该执行资料。
2: 如权利要求1所述加快程序执行的系统,其特征在于,其中,该 静态存储器为只读存储器(ROM)。
3: 如权利要求1所述加快程序执行的系统,其特征在于,其中,该 静态存储器为快取存储器(Cache)。
4: 如权利要求1所述加快程序执行的系统,其特征在于,其中还包 括一随机存取存储器,以用来储存由网络端下载或使用者程序的复数程 序码,并提供该等程序码执行空间。
5: 如权利要求4所述加快程序执行的系统,其特征在于,其中,该 等系统程序码与该等程序码为Java程序码。
6: 一种加快程序执行的方法,主要包括下述步骤: (A)撷取一程序指令,若该程序指令为一不能加速的指令集,则执行 该程序指令; (B)若该程序指令为一快速指令集,则利用该程序指令先前执行时所 增加的资料来快速执行; (C)若该程序指令为一可加速的指令集,则利用一程序指位器(IP)作 为索引值,以确认动态存储器内有储存该指令的加速资料; (D)若该程序指令于动态存储器内有储存加速资料,则通过该动态存 储器内容来快速执行; (E)若该程序指令于动态存储器内没有储存加速资料,且该程序指令 为在一随机存取存储器中的程序,则执行该程序指令,并在该程序指令 增加加速资料;以及 (F)若该程序指令于动态存储器内没有储存加速资料,且该程序指令 为在一静态存储器中的程序,则执行该程序指令,并更改该动态存储器 内容,且将其相对应的至少一加速资料置于该动态存储器。
7: 如权利要求6所述的方法,其特征在于,其中,该程序指令为Java 程序指令。
8: 如权利要求6所述的方法,其特征在于,其中,该动态存储器为 快取存储器。

说明书


加快程序执行的系统及其执行方法

    【技术领域】

    本发明是关于一种节省存储器空间的系统及其执行方法,尤指一种加快程序执行的系统及其执行方法。

    背景技术

    Java程序在虚拟机器(VM)上执行时,虚拟机器可以利用更改程序码的方式来加快执行速度。亦即,程序码储存在存储器(例如:动态随机存取存储器(RAM))中,并在执行后写回存储器,其中,程序码在执行过程中会被加上一些资讯而成为较复杂的快速指令,供下次再执行同样的一段程序(例如.class中的某函式)时,可以参考该等资讯以增快执行速度,但这种加快指令执行速度的方法有一个限制,即所有的程序码必须放置于动态随机存取存储器中。

    然而,以目前的嵌入式系统或存储器有限的系统(例如:手机),其动态随机存取存储器约仅有500K位元组的空间,而系统程序库便占用了110K位元组,若再加上原本手机所提供应用程序的空间,其空间将占用400K左右,则将大大地减少整个系统的可用动态随机存取存储器,即占用了太多动态随机存取存储器,造成存储器资源运用的困难,进而导致系统执行效能的降低。

    【发明内容】

    本发明的主要目的在于提供一种加快程序执行系统及其执行方法,能大幅减少Java虚拟机器的存储器使用量。

    为实现上述目的,本发明所提供的加快程序执行的系统包括:

    一静态存储器,用以储存至少一系统程序库,其包括复数系统程序码,每一系统程序码具有一相对应的程序位址索引值;以及

    一动态存储器,具有复数记录空间(Entries),每一记录空间包括一第一资料单元与一第二资料单元,该第一资料单元用以置放一第一比对值,该第二资料单元用以置放一执行资料,其中,执行该等系统程序码通过一程序指位器(IP),该程序指位器包括一程序位址索引值与一第二比对值,以供通过该程序位址索引值对应其中一记录空间,并由该第一比对值与该第二比对值确认该执行资料。

    其中,该静态存储器为只读存储器(ROM)。

    其中,该静态存储器为快取存储器(Cache)。

    其中还包括一随机存取存储器,以用来储存由网络端下载或使用者程序的复数程序码,并提供该等程序码执行空间。

    其中,该等系统程序码与该等程序码为Java程序码。

    本发明提供的加快程序执行的方法,主要包括下述步骤:

    (A)撷取一程序指令,若该程序指令为一不能加速的指令集,则执行该程序指令;

    (B)若该程序指令为一快速指令集,则利用该程序指令先前执行时所增加地资料来快速执行;

    (C)若该程序指令为一可加速的指令集,则利用一程序指位器(IP)作为索引值,以确认动态存储器内有储存该指令的加速资料;

    (D)若该程序指令于动态存储器内有储存加速资料,则通过该动态存储器内容来快速执行;

    (E)若该程序指令于动态存储器内没有储存加速资料,且该程序指令为在一随机存取存储器中的程序,则执行该程序指令,并在该程序指令增加加速资料;以及

    (F)若该程序指令于动态存储器内没有储存加速资料,且该程序指令为在一静态存储器中的程序,则执行该程序指令,并更改该动态存储器内容,且将其相对应的至少一加速资料置于该动态存储器。

    其中,该程序指令为Java程序指令。

    其中,该动态存储器为快取存储器。

    【附图说明】

    图1为本发明的系统示意图。

    图2为本发明的动作流程图。

    【具体实施方式】

    有关本发明的较佳实施例,是以一手机平台上执行Java程序来加以说明。敬请参照图1所示的系统示意图,其主要包括静态存储器1、动态存储器2及随机存取存储器(RAM)3。其中,动态存储器2包含复数记录空间(Entry)21,每一记录空间21包含第一资料单元211与第二资料单元212,以分别用来暂存比对资料与加速资料。

    于本实施例中,静态存储器1较佳为只读存储器(ROM),以用来储存系统函式库。动态存储器2较佳为快取存储器(Cache),以用来暂存静态存储器1中的系统函式库执行后的可加速资料。动态存储器2的大小较佳为4K位元组,每一记录空间21的大小较佳为4个位元组,即动态存储器2具有1024个记录空间21。第一资料单元211的大小较佳为1个位元组,第二资料单元212的大小较佳为3个位元组。随机存取存储器3用来储存由网络端下载的应用程序或一般使用者程序,并提供该等应用程序执行快速指令的空间。

    有关本发明的动作流程,敬请参照图2显示的动作流程图,当Java虚拟机器(VM)在执行一段程序码时(例如.class中的某一个函式(Function)),Java虚拟机器先由静态存储器1或随机存取存储器3撷取程序指令(步骤S201)。接著,判断该程序指令的型态,若程序指令已经执行过且属于快速指令集,则利用先前在这个指令加上的一些资料来执行所需执行的动作,以快速执行该程序指令,此类快速指令集指令为储存于随机存取存储器3中的程序指令(步骤S202)。

    若程序指令属于不能加速的一般指令集,则以一般模式来执行(即以正常速度来执行)(步骤S203)。若该程序指令尚未执行过且属于可以加速的一般指令,则以VM的程序指位器(IP)为索引值,找寻这段程序是否在动态存储器(cache)2中。此程序指位器(IP)主要包含程序位址索引值与比对值,程序位址索引值为对应至动态存储器2中的1024个记录空间21,比对值则用来与动态存储器2的第一资料单元211相比对。于本实施例中,程序位址索引值较佳为位元1-位元10,比对值较佳为位元11-位元18。例如:程序指位器为0×12345,48为比对值,345为索引值,并对应至动态存储器2的第345个记录空间21,以对第345个记录空间21的内容确认。

    若第345个记录空间21的211的内容为48,则代表这个Java指令已经执行过。所以,利用动态存储器2的第二资料单元212中的加速资料执行所需的动作(步骤S204)。若程序指令尚未被执行过,则确认此程序指令是否为随机存取存储器(RAM)3中的程序。

    若程序指令非储存于随机存取存储器(RAM)3中的程序(即储存于静态存储器1中的系统函式库),则执行程序指令,并将程序指位器所对应的第345个记录空间21中的第一资料单元211与第二资料单元212予以更改,其主要将第一资料单元211的比对值更改为48,且将加速资料放入第二资料单元212。当然,若第345个记录空间21中的第一资料单元的11的比对值不同时,即此记录空间21可能已经储存有其他程序指令相对应的加速资料,则在程序指令执行完后,将第一资料单元211与第二资料单元212内容更改(步骤S205)。

    若程序指令储存于随机存取存储器(RAM)3中的程序,则执行此程序指令,并将其更改为快速指令集,且增加加速资料,供下次执行此程序指令能直接通过加速资料来快速执行(步骤S206)。本实施例,经验证后,执行一般程序的击中率将达97%以上,若再将加速资料和没有加速资料分开成两个动态存储器2来放置,则使得击中率到达98%以上。

    由以上说明可知,本发明主要利用一静态存储器来放置系统函式库,并增加一动态存储器来提供系统函式库指令执行。其中,程序指位器具有一比对值与一索引值,动态存储器中的每一笔记录空间可暂存一比对值与加速资料,供程序指位器对应至特定记录空间,并比对该等比对值,以执行指令,能大幅减少Java虚拟机器的存储器使用量。

    上述实施例仅为了方便说明而举例而已,本发明所主张的权利范围自应以申请专利范围所述为准,而非仅限于上述实施例。

加快程序执行的系统及其执行方法.pdf_第1页
第1页 / 共9页
加快程序执行的系统及其执行方法.pdf_第2页
第2页 / 共9页
加快程序执行的系统及其执行方法.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《加快程序执行的系统及其执行方法.pdf》由会员分享,可在线阅读,更多相关《加快程序执行的系统及其执行方法.pdf(9页珍藏版)》请在专利查询网上搜索。

一种加快程序执行的系统及其执行方法,其主要利用静态存储器储存系统程序库,并利用动态存储器来暂存执行系统程序库的指令及其加速资料,在执行过程中利用程序指位器对应至动态存储器的内容,其中,动态存储器包括复数笔记录空间,每一笔记录空间包含比对值与加速资料,程序指位器包含程序位址索引值与比对值。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1