加载软件模块的方法和装置的制造方法

文档序号:9564471阅读:636来源:国知局
加载软件模块的方法和装置的制造方法
【技术领域】
[0001]本发明涉及信息技术领域,并且更具体地,涉及一种加载软件模块的方法和装置。
【背景技术】
[0002]在嵌入式设备领域,如智能手机的传感器集线器(Sensor Hub)、可穿戴设备等内存资源受限的设备,为了降低设备成本,静态随机存取存储器(Static Random AccessMemory, SRAM)的内存空间都是非常小,一般都在8KB至100KB左右,为了支持更多的功能应用,片上系统(System On Chip, S0C)上还须配置双倍速率同步动态随机存储器(DoubleData Rate Synchronous Dynamic Random Access Memory, DDR SDRAM),DDRSDRAM 也简称为DDR,芯片中的软件加载到SRAM上执行时的功耗和性能比较理想,但是芯片的SRAM空间有限;加载到DDR上执行,芯片的功耗将增大,而且性能也不如在SRAM上执行的性能,因此,需要一种软件加载方法,能够在芯片SRAM内存资源有限的情况下,提高芯片的性能和功耗的综合水平。

【发明内容】

[0003]本发明实施例提供一种加载软件模块的方法和装置,提高芯片的性能和功耗的综合水平。
[0004]第一方面,提供了一种加载软件模块的方法,包括:根据以下信息中的至少一项,确定所述软件模块中的待加载段为第一待加载段或第二待加载段:所述待加载段的使用频率、所述待加载段的功耗和所述待加载段占用的内存大小,其中,所述第一待加载段为待加载到第一存储区的待加载段,所述第二待加载段为待加载到第二存储区的待加载段;若所述待加载段为所述第一待加载段,将所述待加载段加载到所述第一存储区,或若所述待加载段为所述第二待加载段,将所述待加载段加载到所述第二存储区。
[0005]结合第一方面,在第一方面的第一种实现方式中,所述根据以下信息中的至少一项,确定所述软件模块中的待加载段为第一待加载段或第二待加载段:所述待加载段的使用频率、所述待加载段的功耗和所述待加载段占用的内存大小,包括:若所述加载段的使用频率小于第一使用频率阈值,或功耗小于第一功耗阈值,或占用的内存大小大于第一内存阈值,确定所述待加载段为所述第一待加载段;或若所述待加载段的使用频率不小于所述第一使用频率阈值,或功耗不小于所述第一功耗阈值,或占用的内存大小不大于所述第一内存阈值,确定所述待加载段为所述第二待加载段。
[0006]结合第一方面及其上述实现方式,在第一方面的第二种实现方式中,在若所述待加载段为所述第一待加载段,将所述待加载段加载到所述第一存储区,或若所述待加载段为所述第二待加载段,将所述待加载段加载到所述第二存储区之前,所述方法还包括:给所述待加载段配置段属性,所述段属性用于指示所述待加载段为所述第一待加载段或所述第二待加载段。
[0007]结合第一方面及其上述实现方式,在第一方面的第三种实现方式中,所述第一存储区为动态随机存储器DDR的内存区,所述第二存储区为静态随机存取存储器SRAM的内存区。
[0008]结合第一方面及其上述实现方式,在第一方面的第四种实现方式中,所述待加载段为以下中的一种:
[0009]代码段、数据段。
[0010]第二方面,提供了一种加载软件模块的装置,该装置包括执行第一方面中的方法的各模块。
[0011]第三方面,提供了一种加载软件模块的装置,该装置包括存储器和与该存储器连接的处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,当该处理器执行该存储器中存储的指令时,该处理器具体用于执行第一方面中的方法。
[0012]基于上述技术方案,本发明实施例的加载软件模块的方法和装置,能够根据软件模块中的待加载段的使用频率、功耗或内存占用大小确定该待加载段待加载到哪个存储区,因此,能够根据待加载段的属性实现对软件模块中的多个待加载段的分散加载,从而提高芯片的性能和功耗的综合水平。
【附图说明】
[0013]为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014]图1是根据本发明实施例的加载软件模块的方法的示意性流程图。
[0015]图2是根据本发明实施例的加载软件模块的装置的示意性框图。
[0016]图3是根据本发明另一实施例的加载软件模块的装置的示意性框图。
【具体实施方式】
[0017]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0018]用户设备(UE,User Equipment),也可称之为移动终端(Mobile Terminal)、移动用户设备等,可以经无线接入网(例如,RAN,Rad1 Access Network)与一个或多个核心网进行通信,用户设备可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。
[0019]图1示出了根据本发明实施例的加载软件模块的方法100的示意性流程图,该方法可以由加载软件模块的装置执行,如图1所示,该方法100包括:
[0020]S110,根据以下信息中的至少一项,确定该软件模块中的待加载段为第一待加载段或第二待加载段:该待加载段的使用频率、该待加载段的功耗和该待加载段占用的内存大小,其中,该第一待加载段为待加载到第一存储区的待加载段,该第二待加载段为待加载到第二存储区的待加载段;
[0021]S120,若该待加载段为该第一待加载段,将该待加载段加载到该第一存储区,或若该待加载段为该第二待加载段,将该待加载段加载到该第二存储区。
[0022]具体而言,待加载的软件模块包括多个待加载段,可选地,该多个待加载段可以为以下中的至少一种:代码段、数据段、堆、桟或符号块开始(Block Started by Symbol,BSS)段,其中,该BSS为用来存放程序中未初始化的全局变量和静态变量的一块内存区域。也就是,该多个待加载段可以为多个代码段、多个数据段或多个代码段和数据段的组合等,在这些待加载段中有的待加载段和该软件模块的初始化有关,也就是说这些待加载段只在软件模块初始化的时候被调用,其他时间的使用频率较低,如果将这些待加载段加载到SRAM的内存区,就占用了有限的SRAM内存资源,那么在其他的对性能要求比较高的待加载段需要加载到SRAM的内存区执行时,可能遇到SRAM内存资源不足的问题,从而影响芯片的整体性能。因此,在有限的SRAM内存资源下,不能支持更多的软件应用,也可以理解为SRAM内存资源的利用效率较低。此时,可选地,该加载软件模块的装置可以根据以下信息中的至少一项,确定该软件模块中的待加载段为第一待加载段或第二待加载段:该待加载段的使用频率、该待加载段的功耗和该待加载段占用的内存大小,其中,该第一待加载段为加载到第一存储区的待加载段,该第二待加载段为待加载到第二存储区的待加载段。也就是本发明实施例的加载软件模块的方法不是将整个软件模块都加载到第一存储区或第二存储区,而是可以根据待加载段的属性对软件模块中的多个待加载段进行分散加载。可选地,该第一存储区可以为DDR的内存区,该第二存储区可以为SRAM的内存区,因为DDR的内存资源相对比较丰富,可选地,根
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1