内存结构配置文件的加载方法及装置、终端与流程

文档序号:31358808发布日期:2022-08-31 14:11阅读:57来源:国知局
内存结构配置文件的加载方法及装置、终端与流程

1.本发明涉及计算机技术领域,尤其涉及一种内存结构配置文件的加载方法及装置、终端。


背景技术:

2.在现有的非易失性存储器(non-volatile memory,nv,又称为内存空间)数据业务中,需要将内存结构配置文件批量加载至内存空间中。
3.具体地,在开发的过程中,我们通常会使用配置文件对某些服务应用的参数进行配置,得到的配置文件通常包含各层级结构体信息,例如具有树状结构。内存结构配置文件是一种内存块结构描述文件,可以视为是对加载至内存空间的文件的描述,由于内存的存储空间有限,需要尽可能在加载过程中实现字节对齐,以提高数据存取的内存空间利用效率,例如可以采用4字节对齐,或其他方式的字节对齐。
4.在现有技术中,通常采用适用于内存空间的字节编码算法(例如4字节编码算法)计算出内存结构配置文件的每个字段的偏移量,然后将内存结构配置文件中对应字段的值填充到对应的偏移位置,以实现内存结构配置文件的加载。
5.然而,在上述内存结构配置文件的加载方法中,字节编码算法默认内存结构配置文件是基于字节对齐配置的,导致当内存结构配置文件并非已完成字节对齐操作的文件,或者字节对齐方式不同于内存空间的字节对齐方式时,加载后的内存结构配置文件容易因字节对齐出错导致数据存取错误。
6.亟需一种内存结构配置文件的加载方法,可以实现基于字节对齐的文件加载,提高数据存取准确性。


技术实现要素:

7.本发明解决的技术问题是提供一种内存结构配置文件的加载方法及装置、终端,可以实现基于字节对齐的加载。
8.为解决上述技术问题,本技术提供了以下技术方案:
9.第一方面,提供了一种内存结构配置文件的加载方法,包括:将待加载的内存结构配置文件转换为源码文件,其中,所述内存结构配置文件为多字段文件,所述源码文件为单一字段文件;对所述源码文件进行编译,以得到程序集,所述程序集中包含多种成员文件;分别确定每种成员文件的基地址与所述源码文件的基地址之间的偏移量;采用各种成员文件的偏移量加载所述内存结构配置文件。
10.可选的,所述待加载的内存结构配置文件能够依照内存结构类型被分为与所述程序集中的成员文件一一对应的多个内存结构配置子文件;所述采用各种成员文件的偏移量加载所述内存结构配置文件包括:确定与每种成员文件对应的内存结构配置子文件;采用各种成员文件的偏移量作为对应的内存结构配置子文件的偏移量,分别将对应的内存结构配置子文件加载至内存中。
11.可选的,所述内存结构配置文件选自:可扩展标记语言xml文件、初始化文件ini、脚本语言对象标记json文件。
12.可选的,所述程序集中还包含每种成员文件的长度以及各种成员文件之间的次序;所述分别确定每种成员文件的基地址与所述源码文件的基地址之间的偏移量包括:依照所述长度以及次序,确定每种成员文件相对于所述源码文件的基地址的差值;采用每种成员文件的基地址的差值,作为该成员文件的偏移量。
13.可选的,将待加载的内存结构配置文件转换为源码文件包括:将所述内存结构配置文件转换为高级语言源码文件;其中,所述高级语言源码文件选自:c#源码文件以及java源码文件。
14.可选的,所述c#源码文件为.cs文件,所述java源码文件为.java文件。
15.可选的,所述的内存结构配置文件的加载方法还包括:采用预设的字节编码算法计算所述内存结构配置文件中的各个字段的偏移计算量;针对每个字段的偏移计算量,将所述各种成员文件的基地址与所述源码文件的基地址之间的偏移量分别与所述每个字段的偏移计算量进行比较;根据比较结果,确定所述预设的字节编码算法的误算率。
16.可选的,转换后的源码文件被存储至预设的存储列表中;每当将待加载的内存结构配置文件转换为源码文件之前,所述方法还包括:清空所述存储列表。
17.第二方面,提供了一种内存结构配置文件的加载装置,包括:转换模块,用于将待加载的内存结构配置文件转换为源码文件,其中,所述内存结构配置文件为多字段文件,所述源码文件为单一字段文件;编译模块,用于对所述源码文件进行编译,以得到程序集,所述程序集中包含多种成员文件;偏移量确定模块,用于分别确定各种成员文件的基地址与所述源码文件的基地址之间的偏移量;加载模块,用于采用各种成员文件的偏移量加载所述内存结构配置文件。
18.第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述内存结构配置文件的步骤。
19.第四方面,提供了一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述内存结构配置文件的加载方法的步骤。
20.与现有技术相比,本发明实施例的技术方案具有以下有益效果:
21.在本发明实施例中,先将待加载的内存结构配置文件转换为单一字段文件的源码文件,并得到源码文件的程序集中的成员文件,进而采用各种成员文件的基地址与所述源码文件的基地址之间的偏移量,加载内存结构配置文件。由于源码文件为单一字段文件,在编译过程中会自然具有字节对齐的特性,因此采用源码文件的程序集中的成员文件计算偏移量,进而加载内存结构配置文件,无论待加载的内存结构配置文件是否是基于字节对齐配置,均可以实现基于字节对齐的加载。
22.进一步,由于所述待加载的内存结构配置文件能够依照内存结构类型被分为与所述程序集中的成员文件一一对应的多个内存结构配置子文件,因此在确定与各种成员文件对应的内存结构配置子文件之后,可以采用各种成员文件的偏移量作为对应的内存结构配置子文件的偏移量,分别将对应的内存结构配置子文件加载至内存中。由于在对编码文件进行编译得到程序集的过程中往往可以采用较小的运算量确定甚至直接确定每种成员文
件的基地址与所述源码文件的基地址之间的偏移量,因此相比于现有技术中采用字节编码算法计算各个字段的偏移量,运算量显著减小,还相当于进一步提高了运算准确性。
23.进一步,所述程序集中还包含每种成员文件的长度信息以及各种成员文件之间的次序信息,从而可以依照所述长度以及次序,确定每种成员文件相对于所述源码文件的基地址的差值,并作为该成员文件的偏移量,例如可以依照次序对之前的成员文件的长度进行相加运算,以得到当前成员文件相对于所述源码文件的基地址的差值,相比于现有技术中采用字节编码算法计算各个字段的偏移量,运算量明显较小。
24.进一步,采用预设的字节编码算法计算所述内存结构配置文件中的各个字段的偏移计算量;针对每个字段的偏移计算量,将所述各种成员文件的基地址分别与所述源码文件的基地址之间的偏移量分别与所述每个字段的偏移计算量进行比较;根据比较结果,确定所述预设的字节编码算法的误算率。由于字节编码算法默认内存结构配置文件是基于字节对齐配置的,因此通过计算误算率,既可以反向推断字节编码算法是否需要改进,还可以反向推断在配置内存结构配置文件的过程中,是否存在没有字节对齐的情况。
25.进一步,转换后的源码文件被存储至预设的存储列表中;每当将待加载的内存结构配置文件转换为源码文件之前,所述方法还包括:清空所述存储列表。从而可以通过实时清空存储列表,保持存储列表内仅包含待编译的源码文件,减少历史文件的干扰,提高编译的准确性。
附图说明
26.图1是本发明实施例中一种内存结构配置文件的加载方法的流程图;
27.图2是本发明实施例中一种xml文件的结构树示意图;
28.图3是本发明实施例中一种程序集的结构树示意图;
29.图4是图1中步骤s14的一种具体实施方式的流程图;
30.图5是本发明实施例中又一种内存结构配置文件的加载方法的部分流程图;
31.图6是本发明实施例中一种内存结构配置文件的加载装置的结构示意图;
32.图7是本技术实施例中一种终端的结构示意图。
具体实施方式
33.在现有技术中,通常采用适用于内存空间的字节编码算法计算出内存结构配置文件的每个字段的偏移量,然后将内存结构配置文件中对应字段的值填充到对应的偏移位置,以实现内存结构配置文件的加载。然而,加载后的内存结构配置文件容易因字节对齐出错导致数据存取错误。
34.具体地,以内存结构配置文件为“可扩展标记语言(extensible markup language,xml)”为例,每个nv项对应于可转换为结构体的xml文件,在采用nv工具批量加载xml文件时,通过解析xml得到结构体中所有的字段信息,再通过字节编码算法算出每个字段在结构中的偏移,最后将xml中对应字段的值填充到对应的偏移处,以组装完成将结构体加载至内存中。
35.本发明的发明人经过研究发现,当用户配置内存结构配置文件时,往往具有较大的配置自由度,例如允许用户对自己的标记语言进行定义,导致一部分内存结构配置文件
并非已完成字节对齐操作的文件,或者字节对齐方式不同于内存空间的字节对齐方式。因此,在现有技术中,由于字节编码算法默认内存结构配置文件是基于字节对齐配置的,并在此基础上计算各个字段的偏移量,加载后的内存结构配置文件因字节对齐出错容易发生数据存取错误的问题。
36.本发明的发明人经过研究还发现,按照理论思维,也许可以先从内存结构配置文件转换为结构体头文件,然后采用结构体头文件参与编译,在其他进程中实例化结构体,并通过宏的方式对结构体字段逐个赋值,最终生成结构体缓冲。然而在现有技术中,由于软件在运行时无法执行编译,因此该方案在理论上不存在可行性。
37.在本发明实施例中,先将待加载的内存结构配置文件转换为单一字段文件的源码文件,并得到源码文件的程序集中的成员文件,进而采用各种成员文件的基地址与所述源码文件的基地址之间的偏移量,加载内存结构配置文件。由于源码文件为单一字段文件,在编译过程中会自然具有字节对齐的特性,因此采用源码文件的程序集中的成员文件计算偏移量,进而加载内存结构配置文件,无论待加载的内存结构配置文件是否是基于字节对齐配置,均可以实现基于字节对齐的加载。
38.为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
39.参照图1,图1是本发明实施例中一种内存结构配置文件的加载方法的流程图。该方法可以由终端执行,终端可以是现有的各种具有数据接收和数据处理能力的终端,例如,可以是手机、计算机、平板电脑、服务器、云平台等,但并不限于此。可以理解的是,在具体实施中,该方法可以采用软件程序的方式实现,该软件程序运行于芯片或芯片模组内部集成的处理器中;或者,该方法可以采用硬件或者软硬结合的方式来实现。
40.图1示出的内存结构配置文件的加载方法可以包括以下步骤:
41.s11:将待加载的内存结构配置文件转换为源码文件,其中,所述内存结构配置文件为多字段文件,所述源码文件为单一字段文件。
42.其中,本技术各个步骤编号中,s为step(步骤)的含义。
43.s11在具体实现时,待加载的内存结构配置文件可以是需要加载至内存空间的加载文件。
44.当用户配置内存结构配置文件时,用户可以具有较大的配置自由度,例如允许用户对自己的标记语言进行定义。
45.进一步地,所述内存结构配置文件可以选自:可扩展标记语言(extensible markup language,xml)文件、初始化文件(initialization file,ini)、脚本语言对象标记(javascript object notation,json)文件。
46.具体地,内存结构配置文件可以为以下情况中的任意一种:
47.情况1、内存结构配置文件可以为xml文件。
48.xml文件,又可以称为标准通用标记语言的子集,可以用于标记数据、定义数据类型,为允许用户对自己的标记语言进行定义的源语言。xml作为标准通用标记语言,具有可扩展性良好,内容与形式分离,遵循严格的语法要求,保值性良好等优点。
49.具体而言,xml文件格式是纯文本格式,由xml成员组成,每个xml成员包括一个开始标记(),一个结束标记()以及两个标记之间的内容,例如,可以将xml成员标记为价格、
订单编号或名称。标记是对文档存储格式和逻辑结构的描述。在形式上,标记中可能包括注释、引用、字符数据段、起始标记、结束标记、空元素、文档类型声明、序言等。
50.参照图2,图2是本发明实施例中一种xml文件的结构树示意图。
51.xml 201可以用于表示根元素,xml201可以包括多个xml子文件,在图2中采用xml子文件211以及xml子文件212表示,但并不限于此。
52.其中,xml子文件可以包括内存结构类型一致的一个或多个字段。如图2示出的xml子文件211可以包括类型i的2个字段,xml子文件212可以表示类型ii的3个字段。
53.以下为一个xml文件的例子,描述了名称(name)为“demo_name”的模块(module),身份标识(id)为1111。
54.其中,内存结构类型可以为结构体“struct”,类型i的值可以为“uint8”,类型ii的值可以为“uint16”。
55.其中,类型i的xml子文件211可以包含字段1至字段2,如a,b;类型ii的xml子文件212可以包含字段1至字段3,如c、d、e。
56.《module version="2.0"name="demo_name"core="aa"description=""》
57.《item name="xxx_nv"id="1111"type="struct"type_name="xxx_nv_t"desc="xxxxx"》
58.《item name="a"type="uint8"varname="aa"value="0x0"desc="refer to xxxx"/》
59.《item name="b"type="uint8"varname="bb"value="0x0"desc="refer to xxxx"/》
60.《item name="c"type="uint16"varname="cc"value="0x0"
61.desc="xxxx"/》
62.《item name="d"type="uint16"varname="dd"value="0x0"desc="refer to xxxx"/》
63.《item name="e"type="uint16"varname="ee"value="0x0"desc="refer to xxxx"/》
64.《/item》
65.《/module》
66.需要指出的是,每个内存结构配置文件描述的是个独立的内存结构,单个配置文件可以代表单块内存空间。
67.用户可以先指定内存结构类型(如struct、array、union等),然后再指定类型中的成员变量,如unit8的字段为a、b,unit16的字段为c、d、e等。
68.情况2、内存结构配置文件可以为ini。
69.具体地,ini文件被用来对操作系统或特定程序初始化或进行参数设置。
70.与xml文件类似的,ini的结构可以包括:节(section)、键(key)、注释(comment)。
71.其中,节可以用方括号括起来,单独占一行,例如:[section]。
[0072]
键又可以称为属性(property),可以用于表示本技术中的内存结构类型信息,例如可以单独占一行用等号连接键名和键值,例如:name=value。
[0073]
注释可以使用英文分号(;)开头,单独占一行。在分号后面的文字,直到该行结尾
都全部为注释,例如:;comment text。
[0074]
情况2、内存结构配置文件可以为json文件。
[0075]
json是轻量级的数据交换格式,可以是基于欧洲计算机协会制定的js规范(european computer manufacturers association,ecmascript)的子集,采用完全独立于编程语言的文本格式来存储和表示数据。
[0076]
在js中,使用花括号包裹{}起来的内容被称为对象,其数据结构为{key1:value1,key2:value2,...}的键值对结构。在面向对象的语言中,key为对象的属性,value为对应的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型。
[0077]
其中,key可以用于表示本技术中的内存结构类型信息。
[0078]
继续参照图1,在步骤s11的具体实施中,将多字段的内存结构配置文件转换为源码文件。其中,源码又可以称为源代码或源程序。
[0079]
具体地,源码文件可以为高级语言源码文件,例如可以为以下情况中的任意一种:
[0080]
情况1、高级语言源码文件可以为c#源码文件。
[0081]
进一步地,c#源码文件可以为.cs文件,其后缀可以是.cs。
[0082]
情况2、高级语言源码文件可以为java源码文件。
[0083]
java源码文件可以是指未编译的按照java规范书写的文本文件。
[0084]
进一步地,所述java源码文件可以为.java文件。
[0085]
s12:对所述源码文件进行编译,以得到程序集(assembly),所述程序集中可以包含多种成员文件。
[0086]
s12在具体实现时,程序集可以是经由编译器编译得到的,供进一步编译执行的中间产物。程序集可以包含两种文件:可执行文件(.exe文件)和类库文件(.dll文件)。
[0087]
参照图3,图3是本发明实施例中一种程序集的结构树示意图。
[0088]
如图所示,程序集301可以包含多个模块(module),在图3中采用模块311以及模块312表示,但并不限于此。
[0089]
单个模块可以包含一个或多个类型(type)。如图3示出的模块311可以包括类型321、类型322、类型323。
[0090]
单个类型可以包含一个或多个成员文件。如图3示出的类型321可以包括方法成员331、属性成员332、字段成员333、双成员334、事件成员335以及构造器成员336。
[0091]
可以理解的是,成员文件可以是根据具体情况设置的,并不限于图3示出的种类。
[0092]
在具体实施中,代码会编译到程序集中,并在运行时以程序集对象的方式加载到内存中运行。
[0093]
具体地,模块(如模块311)可以为类(class)或接口(interface),可以以类型对象的方式加载到内存,成员文件(如方法成员331、属性成员332、字段成员333、双成员334、事件成员335以及构造器成员336)加载到内存后也有相应的对象。
[0094]
需要指出的是,将内存结构配置文件转换为源码文件后,内存结构配置文件中的类型与程序集中的成员文件一致或至少具有一一对应关系。
[0095]
继续参照图1,s13:分别确定每种成员文件的基地址与所述源码文件的基地址之间的偏移量。
[0096]
s13在具体实现时,所述程序集中还可以包含每种成员文件的长度以及各种成员
文件之间的次序。
[0097]
依照该次序,程序集中的第一种成员文件的基地址(又称为起始位置或起始地址)可以与源码文件的基地址一致,还可以相差预设间隔,各个成员文件之间可以连续地、无间隔地、无重复地排列。
[0098]
其中,偏移量可以通过以下两种方式确定:
[0099]
方式一:在对所述源码文件进行编译的过程中,采用适当的编译器进行编译,例如采用.net编译器,则在编译得到的程序集内会包含每种成员文件的基地址相对于源码文件的基地址的偏移量,可以直接读取,无需经由计算获得。
[0100]
方式二:可以依照所述长度以及次序确定。
[0101]
具体地,所述分别确定每种成员文件的基地址与所述源码文件的基地址之间的偏移量的步骤可以包括:依照所述长度以及次序,确定每种成员文件相对于所述源码文件的基地址的差值;采用每种成员文件的基地址的差值,作为该成员文件的偏移。
[0102]
更具体地,可以依照次序对之前的成员文件的长度进行相加运算,以得到当前成员文件相对于所述源码文件的基地址的差值。
[0103]
作为一个非限制性的例子,结合参照图2和图3,以内存结构配置文件中类型i的2个字段与程序集中的方法成员331一致,内存结构配置文件中类型ii的3个字段与方法成员331与程序集中的属性成员332一致为例进行描述。以方法成员331在先且长度为l1,属性成员332在后且长度为l2为例,方法成员331的基地址与源码文件的基地址一致或相差预设间隔d,则方法成员331的偏移量为0或d,属性成员332的偏移量为l2或d+l2。
[0104]
可以理解的是,如果图2中还包含类型iii、类型iv
……
,则图3中对应的第三种成员文件(长度l3)的偏移量为l2+l3或d+l2+l3,第四种成员文件(长度l4)的偏移量为l2+l3+l4或d+l2+l3+l4
……

[0105]
需要指出的是,由于采用的运算方式为连加运算,因此对偏移量进行计算的复杂度和运算量均较低。
[0106]
在本发明实施例中,所述程序集中还包含每种成员文件的长度信息以及各种成员文件之间的次序信息,从而可以依照所述长度以及次序,确定每种成员文件相对于所述源码文件的基地址的差值,并作为该成员文件的偏移量,例如可以依照次序对之前的成员文件的长度进行相加运算,以得到当前成员文件相对于所述源码文件的基地址的差值,相比于现有技术中采用字节编码算法计算各个字段的偏移量,运算量明显较小。
[0107]
s14:采用各种成员文件的偏移量加载所述内存结构配置文件。
[0108]
参照图4,图4是图1中步骤s14的一种具体实施方式的流程图。所述采用各种成员文件的偏移量加载所述内存结构配置文件的步骤可以包括步骤s41至s42。
[0109]
s41:确定与每种成员文件对应的内存结构配置子文件。
[0110]
如前所述,将内存结构配置文件转换为源码文件后,内存结构配置文件中的类型与程序集中的成员文件一致或至少具有一一对应关系。所述待加载的内存结构配置文件能够依照内存结构类型被分为与所述程序集中的成员文件一一对应的多个内存结构配置子文件,如图2示出的xml子文件211和xml子文件212。
[0111]
s42:采用各种成员文件的偏移量作为对应的内存结构配置子文件的偏移量,分别将对应的内存结构配置子文件加载至内存中。
[0112]
在本发明实施例中,由于所述待加载的内存结构配置文件能够依照内存结构类型被分为与所述程序集中的成员文件一一对应的多个内存结构配置子文件,因此在确定与各种成员文件对应的内存结构配置子文件之后,可以采用各种成员文件的偏移量作为对应的内存结构配置子文件的偏移量,分别将对应的内存结构配置子文件加载至内存中。由于在对编码文件进行编译得到程序集的过程中往往可以采用较小的运算量确定甚至直接确定每种成员文件的基地址与所述源码文件的基地址之间的偏移量,因此相比于现有技术中采用字节编码算法计算各个字段的偏移量,运算量显著减小,还相当于进一步提高了运算准确性。
[0113]
需要指出的是,在本发明实施例中,采用各种成员文件的偏移量加载所述内存结构配置文件的方法并不限于图4示出的上述方式,例如还可以采用其他适当的方式,作为一个非限制性的例子,可以对成员文件的偏移量进行平移处理(如对每个成员文件的偏移量添加固定值)后,采用平移处理后的偏移量加载所述内存结构配置文件,本发明实施例对此不作限制。
[0114]
在本发明实施例中,先将待加载的内存结构配置文件转换为单一字段文件的源码文件,并得到源码文件的程序集中的成员文件,进而采用各种成员文件的基地址与所述源码文件的基地址之间的偏移量,加载内存结构配置文件。由于源码文件为单一字段文件,在编译过程中会自然具有字节对齐的特性,因此采用源码文件的程序集中的成员文件计算偏移量,进而加载内存结构配置文件,无论待加载的内存结构配置文件是否是基于字节对齐配置,均可以实现基于字节对齐的加载。
[0115]
参照图5,图5是本发明实施例中又一种内存结构配置文件的加载方法的部分流程图。所述又一种内存结构配置文件的加载方法可以包括图1示出的步骤s11至s14,还可以包括步骤s51至s53。
[0116]
s51:采用预设的字节编码算法计算所述内存结构配置文件中的各个字段的偏移计算量。
[0117]
其中,字节编码算法可以对各个字段进行划分,并计算每个字段的偏移计算量,或者计算每组字段的偏移计算量。
[0118]
s52:针对每个字段的偏移计算量,将所述各种成员文件的基地址与所述源码文件的基地址之间的偏移量分别与所述每个字段的偏移计算量进行比较。
[0119]
需要指出的是,对于不同的字节编码算法,字段的划分可以与内存结构配置子文件的划分一致,还可以不一致,由选择的字节编码算法确定字段划分方式。
[0120]
进一步地,如果字段的划分与内存结构配置子文件的划分不一致,则可以先针将各个字段的偏移计算量转换为各个内存结构配置子文件的偏移计算量,然后与对应的成员文件的偏移量进行比较,以降低比较误差。
[0121]
s53:根据比较结果,确定所述预设的字节编码算法的误算率。
[0122]
具体地,由于字节编码算法是默认先将内存结构配置文件中的结构体字段强制转化为字节对齐,然后计算偏移量,因此在用户自定义添加结构体的情况下,可能存在未对齐字节,并且未补齐字节的情况,导致字节编码算法存在误算。
[0123]
在本发明实施例中,采用预设的字节编码算法计算所述内存结构配置文件中的各个字段的偏移计算量;针对每个字段的偏移计算量,将所述各种成员文件的基地址与所述
integrated circuit,简称asic)、现成可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0137]
还应理解,本技术实施例中的存储器71可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是rom、可编程只读存储器(programmable rom,简称prom)、可擦除可编程只读存储器(erasable prom,简称eprom)、电可擦除可编程只读存储器(electrically eprom,简称eeprom)或闪存。易失性存储器可以是ram,其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,简称sram)、动态随机存取存储器(dynamic random access memory,简称dram)、同步动态随机存取存储器(synchronous dram,简称sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,简称ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,简称esdram)、同步连接动态随机存取存储器(synchlink dram,简称sldram)和直接内存总线随机存取存储器(direct rambus ram,简称dr ram)
[0138]
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。
[0139]
在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0140]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实
现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
[0141]
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。
[0142]
本技术实施例中出现的“多个”是指两个或两个以上。本技术实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本技术实施例中对设备个数的特别限定,不能构成对本技术实施例的任何限制。虽然本技术披露如上,但本技术并非限定于此。任何本领域技术人员,在不脱离本技术的精神和范围内,均可作各种更动与修改,因此本技术的保护范围应当以权利要求所限定的范围为准。
[0143]
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1