书签 分享 收藏 举报 版权申诉 / 9

加快程序执行的系统及其执行方法.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虚拟机器的存储器使用量。

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

    关 键  词:
    加快 程序 执行 系统 及其 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:加快程序执行的系统及其执行方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-992359.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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