存储空间配置方法、装置、计算机设备及存储介质与流程

文档序号:16895954发布日期:2019-02-15 23:38阅读:174来源:国知局
存储空间配置方法、装置、计算机设备及存储介质与流程

本发明涉及计算机技术领域,特别是涉及一种存储空间配置方法、装置、计算机设备和存储介质。



背景技术:

随着计算机存储技术的发展,存储器保护单元(mpu,memoryprotectionunit)技术的运用越来越广泛。mpu中一个域就是一些属性值及其对应的一片内存。这些属性包括:起始地址、长度、读写权限以及缓存等。armcortex内核的cpu包含一个可选的mpu,mpu可以为微控制器或片上系统提供存储器保护特性,mpu可以定义存储器访问特征,例如不同区域的缓冲、缓存和共享行为等。

在传统技术中,内存访问规则通常采用固定的配置方法,而在cortex内核架构中,存储器可以具有两级缓存:内部缓存和外部缓存。它们之间可以有不同的缓存策略,存储器属性种类高达十多种,如果只按固定的方式配置存储器属性,则cpu无法运行在最高效的状态,进而导致了系统运行时间长,效率低的问题。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种高效的存储空间配置方法、装置、计算机设备和存储介质。

一种存储空间配置方法,所述方法包括:

获取存储空间配置请求;

对所述存储空间中的所有存储区域分别进行存储区域的配置;所述存储区域的配置包括:配置所述存储区域的属性信息;

运行测试函数,并根据当前的属性配置信息计算出测试函数的运行时间;

对所述存储空间中的所有存储区域中的属性信息进行重新配置,并重复运行测试函数,并根据当前的属性配置信息计算出测试函数的运行时间的步骤;

对所有的属性配置信息对应的测试函数的运行时间进行比较,将运行时间最短对应的属性配置信息保存在闪存中。

在其中一个实施例中,在将运行时间最短对应的属性配置信息保存在闪存中的步骤之后还包括:

将所述存储空间的mpu标志位信息设置为真;

将cpu进行复位;

读取所述闪存中保存的属性配置信息,并配置相应的寄存器以使完成对存储空间的配置。

在其中一个实施例中,在获取存储空间配置请求的步骤之后包括:

获取所述存储空间的mpu标志位信息;

判断所述mpu标志位信息是否为真;

若所述mpu标志位信息不为真,则执行所述对所述存储空间中的所有存储区域分别进行存储区域的配置的步骤。

在其中一个实施例中,在判断所述mpu标志位信息是否为真的步骤之后还包括:

若所述mpu标志位信息为真,则从闪存中读取存储空间配置信息;

配置相应的寄存器以完成所述存储空间的配置。

在其中一个实施例中,所述存储区域的配置还包括:

配置所述存储区域的基地址和大小。

在其中一个实施例中,对所述存储空间中的所有存储区域分别进行存储区域的配置的步骤包括:

从所述存储空间中选择存储区域,对所述存储区域的基地址和大小进行配置;

在所述存储区域可配置的属性范围内,对所述存储区域的属性信息进行配置;

重复从所述存储空间中选择存储区域,对所述存储区域的基地址和大小进行配置;在所述存储区域可配置的属性范围内,对所述存储区域的属性信息进行配置的步骤直至所述存储空间中所有的存储区域都配置完毕。

一种存储空间配置装置,所述存储空间配置包括:

获取模块,用于获取存储空间配置请求;

配置模块,用于对所述存储空间中的所有存储区域分别进行存储区域的配置;所述存储区域的配置包括:配置所述存储区域的属性信息;

测试模块,用于运行测试函数,并根据当前的属性配置信息计算出测试函数的运行时间;

重复模块,用于对所述存储空间中的所有存储区域中的属性信息进行重新配置,并重复运行测试函数,并根据当前的属性配置信息计算出测试函数的运行时间的步骤;

比较模块,用于对所有的属性配置信息对应的测试函数的运行时间进行比较,将运行时间最短对应的属性配置信息保存在闪存中。

在其中一个实施例中,所述存储空间配置还包括:

设置模块,用于将所述存储空间的mpu标志位信息设置为真;

复位模块,用于将cpu进行复位;

读取模块,用于读取所述闪存中保存的属性配置信息,并配置相应的寄存器以使完成对存储空间的配置。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。

上述存储空间配置方法、装置、计算机设备和存储介质,通过获取存储空间配置请求。对存储空间中的所有存储区域分别进行存储区域的配置,存储区域的配置包括:配置存储区域的属性信息。运行测试函数,并根据当前的属性配置信息计算出测试函数的运行时间。对存储空间中的所有存储区域中的属性信息进行重新配置,并重复运行测试函数,并根据当前的属性配置信息计算出测试函数的运行时间的步骤。对所有的属性配置信息对应的测试函数的运行时间进行比较,将运行时间最短对应的属性配置信息保存在闪存中。本发明实现了根据运行测试函数所需时间的长短确定出最佳的属性配置信息,使得系统运行在最高效的状态,减少系统运行时间,提升效率。

附图说明

图1为一个实施例中存储空间配置方法的流程示意图;

图2为另一个实施例中存储空间配置方法的流程示意图;

图3为另一个实施例中存储空间配置方法的流程示意图;

图4为另一个实施例中存储空间配置方法的流程示意图;

图5为一个实施例中存储空间配置装置的结构框图;

图6为另一个实施例中存储空间配置装置的结构框图;

图7为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

为了更清楚的说明本发明,先阐述本发明的整体发明构思。cpu上电之后,首先从闪存中读取mpu标志位信息,判断mpu标志位是否为真,若不为真,表明mpu未完成存储空间的自学习配置,于是进入存储空间配过的过程。在该过程中,系统会遍历每一个区域的每一个属性,在每一种状态下,根据运行测试函数所需时间的长短确定出最佳的属性配置信息,将属性配置信息保存在闪存中,并将mpu标志位置为真,最后对cpu进行复位操作,此时cpu会重新从0地址重新开始运行代码,从闪存中读取存储空间属性的配置信息,并配置。此时系统便以最高效的存储空间访问规则运行,这样可以减少系统运行时间,提升效率。

在一个实施例中,如图1所示,提供了一种存储空间配置方法,该方法包括:

步骤102,获取存储空间配置请求。

步骤104,对存储空间中的所有存储区域分别进行存储区域的配置;存储区域的配置包括:配置存储区域的属性信息。

步骤106,运行测试函数,并根据当前的属性配置信息计算出测试函数的运行时间。

步骤108,对存储空间中的所有存储区域中的属性信息进行重新配置,并重复运行测试函数,并根据当前的属性配置信息计算出测试函数的运行时间的步骤。

步骤110,对所有的属性配置信息对应的测试函数的运行时间进行比较,将运行时间最短对应的属性配置信息保存在闪存中。

具体地,首先,获取存储空间配置请求。然后,对存储空间中的所有存储区域分别进行存储区域的配置;存储区域的配置包括:配置存储区域的属性信息。由于存储空间中包括了很多个存储区域,所有的存储区域都要进行相应的配置。包括对基地址和大小的配置。每个区域都要进行属性的属性配置,具体的配置过程为:在该段存储区域可配置的属性范围内,配置一种属性。可以理解的是,需要对存储空间的所有的存储区域进行相应的配置,并将配置参数进行存储。

接着,运行测试函数,计算出该属性状态下,测试函数的运行时间,并记录此时的属性配置信息。对存储空间中的所有存储区域中的属性信息进行重新配置,并重复运行测试函数,并根据当前的属性配置信息计算出测试函数的运行时间的步骤,直到所有可配置的属性状态都运行过测试函数。这样就建立了一组属性配置信息与测试函数的运行时间的对应关系。

最后,将对所有的属性配置信息对应的测试函数的运行时间进行比较,将运行时间最短对应的属性配置信息保存在闪存中。这样就实现了根据运行测试函数所需时间的长短确定出最佳的属性配置信息,将属性配置信息保存在闪存中。

在本实施例中,通过获取存储空间配置请求。对存储空间中的所有存储区域分别进行存储区域的配置,存储区域的配置包括:配置存储区域的属性信息。运行测试函数,并根据当前的属性配置信息计算出测试函数的运行时间。对存储空间中的所有存储区域中的属性信息进行重新配置,并重复运行测试函数,并根据当前的属性配置信息计算出测试函数的运行时间的步骤。对所有的属性配置信息对应的测试函数的运行时间进行比较,将运行时间最短对应的属性配置信息保存在闪存中。本实施例实现了根据运行测试函数所需时间的长短确定出最佳的属性配置信息,使得系统运行在最高效的状态,减少系统运行时间,提升效率。

在一个实施例中,提供了一种存储空间配置方法,如图2所示,该方法中在将运行时间最短对应的属性配置信息保存在闪存中的步骤之后还包括:

步骤202,将存储空间的mpu标志位信息设置为真。

步骤204,将cpu进行复位。

步骤206,读取闪存中保存的属性配置信息,并配置相应的寄存器以使完成对存储空间的配置。

具体地,在将运行时间最短对应的属性配置信息保存在闪存中的步骤之后,将mpu标志位置为真,该mpu标志位为真即表示已进行过存储空间的自学习配置的过程,具体的配置文件已经保存在闪存中。然后,对cpu进行复位操作,此时cpu会重新从0地址重新开始运行代码。最后,从闪存中读取存储空间属性的配置信息,并配置。

在本实施例中,通过对cpu进行复位操作,从闪存中读取存储空间属性的配置信息,并配置。此时系统便以最高效的存储空间访问规则运行,这样可以减少系统运行时间,提升效率。

在一个实施例中,提供了一种存储空间配置方法,如图3所示,在获取存储空间配置请求的步骤之后包括:

步骤302,获取存储空间的mpu标志位信息。

步骤304,判断mpu标志位信息是否为真。

步骤306,若mpu标志位信息不为真,则执行对存储空间中的所有存储区域分别进行存储区域的配置的步骤。

步骤308,若mpu标志位信息为真,则从闪存中读取存储空间配置信息;配置相应的寄存器以完成存储空间的配置。

具体地,在获取存储空间配置请求的步骤之后,首先从闪存中获取存储空间的mpu标志位信息,并根据mpu标志位信息是否为真进行判断。若mpu标志位信息不为真,即表示mpu未完成存储空间的自学习配置,则开始执行上述实施例中对存储空间中的所有存储区域分别进行存储区域的配置的步骤。若mpu标志位信息为真,即表示mpu已经完成存储空间的自学习配置,具体的配置文件已经保存在闪存中。只需要从闪存中读取存储空间配置信息;配置相应的寄存器以完成存储空间的配置。

在本实施例中,通过判断mpu标志位信息是否为真,来判断mpu是否完成存储空间的自学习配置,提高了存储空间配置的效率,节约了时间。

在一个实施例中,提供了一种存储空间方法,如图4所示,该方法中对存储空间中的所有存储区域分别进行存储区域的配置的步骤包括:

步骤402,从存储空间中选择存储区域,对存储区域的基地址和大小进行配置。

步骤404,在存储区域可配置的属性范围内,对存储区域的属性信息进行配置。

步骤406,重复从存储空间中选择存储区域,对存储区域的基地址和大小进行配置;在所述存储区域可配置的属性范围内,对存储区域的属性信息进行配置的步骤直至存储空间中所有的存储区域都配置完毕。

由于存储空间中包括多个存储区域,每个区域需要单独进行属性的配置,在本实施例中,通过循环的方法依次对每个存储区域的基地址、大小以及属性进行配置。具体地,首先从存储空间中选择第一存储区域,对第一存储区域的基地址和大小进行配置。接着,在第一存储区域可配置的属性范围内,对存储区域的属性信息进行配置。然后,存储空间中选择第二存储区域,对第二存储区域的基地址和大小进行配置。接着,在第二存储区域可配置的属性范围内,对存储区域的属性信息进行配置。依次循环上述配置的过程,直至所有的存储区域都配置完毕。

在本实施例中,通过循环配置的方法依次对每个存储区域的基地址、大小以及属性进行配置,实现了提高存储空间配置的效率,节约了时间。

应该理解的是,虽然图1-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图5所示,提供了一种存储空间配置装置500,该存储空间配置包括:

获取模块501,用于获取存储空间配置请求;

配置模块502,用于对所述存储空间中的所有存储区域分别进行存储区域的配置;所述存储区域的配置包括:配置所述存储区域的属性信息;

测试模块503,用于运行测试函数,并根据当前的属性配置信息计算出测试函数的运行时间;

重复模块504,用于对所述存储空间中的所有存储区域中的属性信息进行重新配置,并重复运行测试函数,并根据当前的属性配置信息计算出测试函数的运行时间的步骤;

比较模块505,用于对所有的属性配置信息对应的测试函数的运行时间进行比较,将运行时间最短对应的属性配置信息保存在闪存中。

在一个实施例中,如图6所示,该存储空间配置装置500还包括:

设置模块506,用于将所述存储空间的mpu标志位信息设置为真;

复位模块507,用于将cpu进行复位;

读取模块508,用于读取所述闪存中保存的属性配置信息,并配置相应的寄存器以使完成对存储空间的配置。

在一个实施例中,获取模块501还用于:获取所述存储空间的mpu标志位信息;判断所述mpu标志位信息是否为真;若所述mpu标志位信息不为真,则执行所述对所述存储空间中的所有存储区域分别进行存储区域的配置的步骤。

在一个实施例中,获取模块501还用于:若所述mpu标志位信息为真,则从闪存中读取存储空间配置信息;配置相应的寄存器以完成所述存储空间的配置。

在一个实施例中,配置模块502还用于:对所述存储空间中的所有存储区域分别进行存储区域的配置;所述存储区域的配置还包括:配置所述存储区域的基地址和大小。

在一个实施例中,配置模块502还用于:从所述存储空间中选择存储区域,对所述存储区域的基地址和大小进行配置;在所述存储区域可配置的属性范围内,对所述存储区域的属性信息进行配置;重复从所述存储空间中选择存储区域,对所述存储区域的基地址和大小进行配置;在所述存储区域可配置的属性范围内,对所述存储区域的属性信息进行配置的步骤直至所述存储空间中所有的存储区域都配置完毕。

关于存储空间配置装置的具体限定可以参见上文中对于存储空间配置方法的限定,在此不再赘述。

在一个实施例中,提供了一种计算机设备,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器和存储器。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机程序被处理器执行时以实现一种存储空间配置方法。

本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1