![多核SOC的代码共享方法、装置、多核SOC及介质与流程](http://img.xjishu.com/img/zl/2022/1/25/xezwb2syb.jpg)
多核soc的代码共享方法、装置、多核soc及介质
技术领域
1.本发明实施例涉及嵌入式开发技术领域,尤其涉及一种多核soc的代码共 享方法、装置、多核soc及介质。
背景技术:2.随着嵌入式开发领域的不断发展,多核soc(system on chip,系统级芯片) 得到了广泛地应用。
3.目前,在多核soc上,通常为每个核设置独立的指令区(代码区)和数据 区,从而避免由于数据共享而带来的冲突。
4.但是,这种方法对于具有相关指令集且不属于同一个cluster(集群)的对 称多核架构(同构或者异构),由于不能保证数据的一致性,且各个核需要独立 运行,因此,无法实现代码和数据的共享,增加内存空间的开销。
技术实现要素:5.本发明实施例提供一种多核soc的代码共享方法、装置、多核soc及介 质,以实现多核soc的代码和数据的共享,减少内存空间的开销。
6.第一方面,本发明实施例提供了一种多核soc的代码共享方法,包括:
7.获取与多核soc对应的统一代码类信息,以及与多核soc中每个内核分 别对应的数据类信息;
8.将所述统一代码类信息链接至第一逻辑地址中,并将各所述数据类信息分 别链接至第二逻辑地址中;
9.将所述统一代码类信息存储于统一存储空间中,并将与各所述数据类信息 分别存储于与每个内核分别对应的独立存储空间中;
10.将统一存储空间和各独立存储空间的物理地址,分别分配给匹配的内核。
11.第二方面,本发明实施例还提供了多核soc的代码共享装置,包括:
12.信息获取模块,用于获取与多核soc对应的统一代码类信息,以及与多核 soc中每个内核分别对应的数据类信息;
13.信息链接模块,用于将所述统一代码类信息链接至第一逻辑地址中,并将 各所述数据类信息分别链接至第二逻辑地址中;
14.信息存储模块,用于将所述统一代码类信息存储于统一存储空间中,并将 与各所述数据类信息分别存储于与每个内核分别对应的独立存储空间中;
15.地址分配模块,用于将统一存储空间和各独立存储空间的物理地址,分别 分配给匹配的内核。
16.第三方面,本发明实施例还提供了一种多核soc,包括存储器、处理器及 存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序 时实现如本发明实施例中任一实施例所述的多核soc的代码共享方法。
17.第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质, 所述计算机可执行指令在由计算机处理器执行时用于执行如本发明实施例中任 一实施例所述的多核soc的代码共享方法。
18.本发明实施例通过获取与多核soc对应的统一代码类信息,以及与多核 soc中每个内核分别对应的数据类信息;将统一代码类信息链接至第一逻辑地 址中,并将各数据类信息分别链接至第二逻辑地址中;将统一代码类信息存储 于统一存储空间中,并将与各数据类信息分别存储于与每个内核分别对应的独 立存储空间中;将统一存储空间和各独立存储空间的物理地址,分别分配给匹 配的内核,解决了现有技术中无法实现多核soc的代码和数据的共享,增加内 存空间的开销的问题,实现了多核soc的代码和数据的共享,减少内存空间的 开销。
附图说明
19.图1是本发明实施例一中的一种多核soc的代码共享方法的流程图;
20.图2是本发明实施例二中的一种多核soc的代码共享方法的流程图;
21.图3是本发明实施例三中的一种多核soc的代码共享方法的流程图;
22.图4是本发明实施例四中的一种多核soc的代码共享方法的流程图;
23.图5是本发明实施例四中的一种多核soc的代码共享的示意图;
24.图6是本发明实施例五中的一种多核soc的代码共享装置的结构示意图;
25.图7是本发明实施例六中的一种多核soc的结构示意图。
具体实施方式
26.下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的 是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施 例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实 施例相关的部分而非全部结构。
27.实施例一
28.图1是本发明实施例一中的一种多核soc的代码共享方法的流程图,本实 施例可适用于对多核soc进行代码共享的情况,该方法可以由多核soc的代 码共享装置来执行,该装置可以通过软件和/或硬件的方式实现,并集成在多核 soc芯片中。具体的,参考图1,该方法具体包括如下步骤:
29.步骤110、获取与多核soc对应的统一代码类信息,以及与多核soc中每 个内核分别对应的数据类信息。
30.其中,soc是一种集成电路的芯片,可以有效地降低电子信息系统产品的 开发成本。从狭义角度讲,soc是信息系统核心的芯片集成,是将系统关键部 件集成在一块芯片上;从广义角度讲,soc是一个微小型系统,如果说cpu (central processing unit,中央处理器)是大脑,那么soc就是包括大脑、心 脏、眼睛和手的系统。国内外学术界一般倾向将soc定义为将微处理器、模拟 ip(internet protocol,网际互联协议)核、数字ip核和存储器(或片外存储控 制接口)集成在单一芯片上,soc通常是客户定制的,或是面向特定用途的标 准产品。本发明实施例中涉及到的多核soc,可以包括多个内核,例如4个、8 个或者16
个等,本实施例中对其不加以限制。
31.在具体实现中,在多核soc平台上,指令集相同而彼此独立的核越来越多, 而这些核所执行的基础任务相同,尤其是平台代码部分,可以运行完全相同的 基础代码,本实施例中将这些完全相同的基础代码确定为统一代码类信息,需 要说明的是,这些完全相同的基础代码中包括ro-data(read only data,只读 常量)。
32.这样设置的好处在于,为实现多核soc的代码和数据的共享提供依据。
33.可以理解的是,多核soc中与每个内核分别对应的数据类信息,即为每个 内核的可执行代码中不相同的部分,每个内核分别对应的数据类信息可以包括rw-data(read write data,已初始化的可读写变量),也可以包括zi-data(zerowrite data,未初始化的可读写变量),本发明实施例中对其不加以限定。
34.步骤120、将统一代码类信息链接至第一逻辑地址中,并将各数据类信息 分别链接至第二逻辑地址中。
35.在本发明实施例的一个可选实现方式中,在获取到与多核soc对应的统一 代码类信息,以及与多核soc中每个内核分别对应的数据类信息之后,可以将 统一代码类信息链接至第一逻辑地址,并将各数据类信息分别链接至第二逻辑 地址。
36.需要说明的是,本发明实施例中涉及到的第一逻辑地址和第二逻辑地址可 以为任意一个逻辑地址,本发明实施例中对其不加以限制。例如,逻辑地址范 围可以是0x0000000到0x4000000。
37.还需要说明的是,本发明实施例中涉及到的第一逻辑地址,以及第二逻辑 地址中的“第一”“第二”其仅是为了表示将统一代码类信息以及数据类信息 链接至不同的逻辑地址中,其并不是对本发明实施例的限定。
38.步骤130、将统一代码类信息存储于统一存储空间中,并将与各数据类信 息分别存储于与每个内核分别对应的独立存储空间中。
39.其中,统一存储空间与独立存储空间分别位于内存中。
40.在本发明实施例的一个可选实现方式中,在将获取到的代码类信息连接在 第一逻辑地址,以及将各数据类信息分别连接至第二逻辑地址中之后,可以进 一步的将统一代码类信息存储于统一存储空间中,并将与各数据类信息分别存 储于与每个内核分别对应的存储空间中。
41.示例性的,本发明实施例中,在将获取到的代码类信息连接在第一逻辑地 址,以及将各数据类信息分别连接至第二逻辑地址中之后,可以将统一代码类 信息存储于内存的第一存储空间中,将与各数据类信息分别存储于与每个内核 分别对应的第二存储空间,第三存储空间,
…
,第n个存储空间等,其中,n 为任意一个大于四的正整数。需要说明的是,该例子中涉及到的“第一”,“第 二”,
…
,“第n”等词,仅是为了区分各个存储空间,其并不是本发明实施 例的限定。
42.需要说明的是,若本发明实施例中涉及到的多核soc包括4个内核,则可 以将这4个内核分别对应的数据类信息,存储于与这4个内核分别对应的独立 存储空间中;若本发明实施例中涉及到的多核soc包括32个内核,则可以将 这32个内核分别对应的数据类信息,存储于与这32个内核分别对应的独立存 储空间中。
43.步骤140、将统一存储空间和各独立存储空间的物理地址,分别分配给匹 配的内
核。
44.在本发明实施例的一个可选实现方式中,在将统一代码类信息存储与统一 存储空间中,将与各数据类型信息分别存储于与每个内核分别对应的独立存储 空间中之后,可以进一步的将统一存储空间和各独立存储空间的物理地址,分 别分配给匹配的内核。
45.示例性的,可以将统一存储空间的物理地址a,以及第一独立存储空间的 物理地址b分配给多核soc的第一内核;将统一存储空间的物理地址a,以及 第二独立存储空间的物理地址c分配给多核soc的第二内核;将统一存储空间 的物理地址a,以及第三独立存储空间的物理地址d分配给多核soc的第三内 核,等等,本发明实施例中对其不加以限定。
46.本实施例的方案,通过获取与多核soc对应的统一代码类信息,以及与多 核soc中每个内核分别对应的数据类信息;将统一代码类信息链接至第一逻辑 地址中,并将各数据类信息分别链接至第二逻辑地址中;将统一代码类信息存 储于统一存储空间中,并将与各数据类信息分别存储于与每个内核分别对应的 独立存储空间中;将统一存储空间和各独立存储空间的物理地址,分别分配给 匹配的内核,解决了现有技术中无法实现多核soc的代码和数据的共享,增加 内存空间的开销的问题,实现了多核soc的代码和数据的共享,减少内存空间 的开销。
47.实施例二
48.图2是本发明实施例二中的一种多核soc的代码共享方法的流程图,本实 施例是对上述各技术方案的进一步细化,本实施例中的技术方案可以与上述一 个或者多个实施例中的各个可选方案结合。如图2所示,多核soc的代码共享 方法可以包括如下步骤:
49.步骤210、响应于内核代码的编译指令,将与多核soc中的每个内核对应 的可执行指令分别分解为代码类信息和数据类信息。
50.在本发明实施例的一个可选实现方式中,在内核代码的编译阶段,可以将 与多核soc中的每个内核对应的可执行指令分别分解为代码类信息和数据类信 息;其中代码类信息中包括ro-data,数据类信息中包括rw-data和zi-data。
51.示例性的,若多核soc中包括4个内核,则在内核代码的编译阶段,可以 将这4个内核对应的可执行代码分别分解为代码类信息和数据类信息。
52.步骤220、如果各内核的代码类信息均相同,则获取任一代码类信息作为 统一代码类信息。
53.在本发明实施例的一个可选实现方式中,在内核代码的编译阶段,将与多 核soc中的每个内核对应的可执行指令分别分解为代码类信息和数据类信息之 后,如果确定各内核的代码类信息均相同,则可以获取任一内核的代码类信息 作为统一代码类信息。
54.示例性的,若多核soc中包括4个内核,在内核代码的编译阶段,将这4 个内核对应的可执行代码分别分解为代码类信息和数据类信息之后,如果确定 这4个内核的代码类信息均相同,则可以获取这4个内核中的任一内核的代码 类信息作为统一代码类信息。
55.步骤230、将统一代码类信息链接至第一逻辑地址中,并将各数据类信息 分别链接至第二逻辑地址中;
56.步骤240、将统一代码类信息存储于统一存储空间中,并将与各数据类信 息分别存储于与每个内核分别对应的独立存储空间中;
57.步骤250、将统一存储空间和各独立存储空间的物理地址,分别分配给匹 配的内
核。
58.本实施例的方案,响应于内核代码的编译指令,将与多核soc中的每个内 核对应的可执行指令分别分解为代码类信息和数据类信息;如果各内核的代码 类信息均相同,则获取任一代码类信息作为统一代码类信息,可以快速地获取 到统一代码类信息,为实现多核soc中的代码和数据的共享提供依据。
59.实施例三
60.图3是本发明实施例三中的一种多核soc的代码共享方法的流程图,本实 施例是对上述各技术方案的进一步细化,本实施例中的技术方案可以与上述一 个或者多个实施例中的各个可选方案结合。如图3所示,多核soc的代码共享 方法可以包括如下步骤:
61.步骤310、响应于内核代码的编译指令,将与多核soc中的每个内核对应 的可执行指令分别分解为代码类信息和数据类信息;
62.步骤320、如果各内核的代码类信息均相同,则获取任一代码类信息作为 统一代码类信息。
63.步骤330、将统一代码类信息链接至第一逻辑地址中,并将各数据类信息 分别链接至第二逻辑地址中;
64.步骤340、将统一代码类信息存储于统一存储空间中,并将与各数据类信 息分别存储于与每个内核分别对应的独立存储空间中;
65.步骤350、将统一存储空间和各独立存储空间的物理地址,分别分配给匹 配的内核。
66.步骤360、响应于多核soc中目标内核的启动指令,将与目标内核对应的 独立存储空间映射至第二逻辑地址;以及,将统一存储空间映射至第一逻辑地 址。
67.其中,目标内核可以为多核soc中的任意一个或者多个内核,本发明实施 例对其不加以限制。
68.在本发明实施例的一个可选实现方式中,在将统一存储空间和各独立存储 空间的物理地址,分别分配给匹配的内核之后,在接收到多核soc中的目标内 核的启动指令时,可以将与目标内核对应的独立存储空间映射至第二逻辑地址, 将统一存储空间映射至第一逻辑地址。
69.示例性的,若目标内核为多核soc的任一内核,在接收到目标内核的启动 指令时,则可以将与目标内核对应的独立存储空间映射至第二逻辑地址,将统 一存储空间映射至第一逻辑地址;若目标内核为多核soc的任两个内核,在接 收到目标内核的启动指令时,则可以将与目标内核对应的两个独立存储空间映 射至第二逻辑地址,将统一存储空间映射至第一逻辑地址。
70.在本发明实施例的一个可选实现方式中,将与目标内核对应的独立存储空 间映射至第二逻辑地址,可以包括:通过mmu(memory management unit,内 存管理单元)将与目标内核对应的独立存储空间映射至第二逻辑地址。
71.本实施例的方案,在将统一存储空间和各独立存储空间的物理地址,分别 分配给匹配的内核之后,还可以包括:响应于多核soc中目标内核的启动指令, 将与目标内核对应的独立存储空间映射至第二逻辑地址;以及,将统一存储空 间映射至第一逻辑地址,在实现多核soc中的代码和数据的共享基础上,也不 会影响多核soc各内核的启动。
72.实施例四
73.图4是本发明实施例四中的一种多核soc的代码共享方法的流程图,本实 施例是对上述各技术方案的进一步细化,本实施例中的技术方案可以与上述一 个或者多个实施例中的各个可选方案结合。如图4所示,多核soc的代码共享 方法可以包括如下步骤:
74.步骤410、响应于内核代码的编译指令,将与多核soc中的每个内核对应 的可执行指令分别分解为代码类信息和数据类信息;
75.步骤420、如果各内核的代码类信息均相同,则获取任一代码类信息作为 统一代码类信息。
76.步骤430、将统一代码类信息链接至第一逻辑地址中,并将各数据类信息 分别链接至第二逻辑地址中;
77.步骤440、将统一代码类信息存储于统一存储空间中,并将与各数据类信 息分别存储于与每个内核分别对应的独立存储空间中;
78.步骤450、将统一存储空间和各独立存储空间的物理地址,分别分配给匹 配的内核。
79.步骤460、响应于多核soc中目标内核的启动指令,将与目标内核对应的 独立存储空间映射至第二逻辑地址;以及,将统一存储空间映射至第一逻辑地 址。
80.步骤470、在多核soc中目标内核启动之后,通过第一逻辑地址确定与目 标内核对应的统一代码类信息;通过第二逻辑地址确定与目标内核对应的数据 类信息。
81.在本发明实施例的一个可选实现方式中,在将与目标内核对应的独立存储 空间映射至第二逻辑地址;以及,将统一存储空间映射至第一逻辑地址之后, 即在目标内核启动之后,也可以通过第一逻辑地址确定与目标内核对应的统一 代码类信息;通过第二逻辑地址确定与目标内核对应的数据类信息。
82.本实施例的方案,在多核soc中目标内核启动之后,可以通过第一逻辑地 址确定与目标内核对应的统一代码类信息;通过第二逻辑地址确定与目标内核 对应的数据类信息,可以实现在已知逻辑地址的情况下,确定与目标内核=对应 的统一代码类信息,以及数据类信息,为多核soc的正常运行提供依据。
83.为了使本领域技术人员更好地理解本实施例多核soc的代码共享方法,下 面采用一个具体示例进行说明,具体过程包括有:
84.1.在编译链接阶段将code(包含ro-data),rw和zi数据分离,并且链接 到指定的逻辑地址上(段地址按照页表对齐);
85.2.为每个核规划ddr(double data rate,双倍速率)运行空间(物理地址): code区,rw和zi数据区,其中,code区多核共享一份数据,rw/zi区每个核 独立规划。
86.3.每个核在启动时,将rw和zi数据区的物理地址通过mmu映射到rw 和zi数据区的逻辑地址上。
87.4.每个核根据elf格式,各自解析搬移rw和zi数据到逻辑地址上,这里 逻辑地址相同,但是物理地址不同。
88.5.每个核各自运行,在通过相同的逻辑地址访问rw/zi数据时,访问到的 是不同的物理地址,从而实现code共享,数据分离。
89.其中,多核soc的代码共享的示意图如图5所示。图5中包括3个内核, 分别为内核1
(510)、内核2(520)和内核3(530);540为物理地址,541 为这3个内核的统一代码类信息;542为内核1的数据信息;543为内核2的数 据信息;544为内核3的数据信息;550为逻辑地址,551为第一逻辑地址,552 为第二逻辑地址。
90.本实施例采用指令和数据分离的方式,并且结合mmu地址映射实现代码 共享,数据分离的一种硬件共享访问方法。
91.实施例五
92.图6是本发明实施例五中的一种多核soc的代码共享装置的结构示意图, 该装置可以执行上述各实施例中涉及到的多核soc的代码共享方法。参照图6, 该装置包括:信息获取模块610、信息链接模块620、信息存储模块630和地址 分配模块640。
93.信息获取模块610,用于获取与多核soc对应的统一代码类信息,以及与 多核soc中每个内核分别对应的数据类信息;
94.信息链接模块620,用于将统一代码类信息链接至第一逻辑地址中,并将 各数据类信息分别链接至第二逻辑地址中;
95.信息存储模块630,用于将统一代码类信息存储于统一存储空间中,并将 与各数据类信息分别存储于与每个内核分别对应的独立存储空间中;
96.地址分配模块640,用于将统一存储空间和各独立存储空间的物理地址, 分别分配给匹配的内核。
97.本实施例的方案,通过信息获取模块获取与多核soc对应的统一代码类信 息,以及与多核soc中每个内核分别对应的数据类信息;通过信息链接模块将 统一代码类信息链接至第一逻辑地址中,并将各数据类信息分别链接至第二逻 辑地址中;通过信息存储模块将统一代码类信息存储于统一存储空间中,并将 与各数据类信息分别存储于与每个内核分别对应的独立存储空间中;通过地址 分配模块将统一存储空间和各独立存储空间的物理地址,分别分配给匹配的内 核,解决了现有技术中无法实现多核soc的代码和数据的共享,增加内存空间 的开销的问题,实现了多核soc的代码和数据的共享,减少内存空间的开销。
98.可选的,信息获取模块,具体用于响应于内核代码的编译指令,将与多核 soc中的每个内核对应的可执行指令分别分解为代码类信息和数据类信息;
99.如果各内核的代码类信息均相同,则获取任一代码类信息作为统一代码类 信息。
100.可选的,多核soc的代码共享装置,还包括:第一映射模块和第二映射模 块;第一映射模块,用于响应于多核soc中目标内核的启动指令,将与目标内 核对应的独立存储空间映射至第二逻辑地址;
101.以及,第二映射模块,用于将统一存储空间映射至第一逻辑地址。
102.可选的,第一映射模块,具体用于通过mmu将与目标内核对应的独立存 储空间映射至第二逻辑地址。
103.可选的,多核soc的代码共享装置,还包括:信息确定模块,用于在多核 soc中目标内核启动之后,通过第一逻辑地址确定与目标内核对应的统一代码 类信息;通过第二逻辑地址确定与目标内核对应的数据类信息。
104.可选的,本发明实施例中涉及到的统一代码类信息包括,可执行代码,以 及只读常量ro-data;数据类信息包括:已初始化的可读写变量rw-data,和/ 或未初始化的可读写
变量zi-data。
105.本发明实施例所提供的多核soc的代码共享装置可执行本发明任意实施例 所提供的多核soc的代码共享方法,具备执行方法相应的功能模块和有益效果。
106.实施例六
107.图7是本发明实施例六中的一种多核soc的结构示意图,如图7所示,该 设备/终端/服务器包括处理器70、存储器71、输入装置72和输出装置73;设 备/终端/服务器中处理器70的数量可以是一个或多个,图7中以一个处理器70 为例;设备/终端/服务器中的处理器70、存储器71、输入装置72和输出装置73可以通过总线或其他方式连接,图7中以通过总线连接为例。
108.存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可 执行程序以及模块,如本发明实施例中的多核soc的代码共享方法对应的程序 指令/模块(例如,多核soc的代码共享装置中的信息获取模块610、信息链接 模块620、信息存储模块630和地址分配模块640)。处理器70通过运行存储在 存储器71中的软件程序、指令以及模块,从而执行设备/终端/服务器的各种功 能应用以及数据处理,即实现上述的多核soc的代码共享方法。
109.存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储 操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用 所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括 非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固 态存储器件。在一些实例中,存储器71可进一步包括相对于处理器70远程设 置的存储器,这些远程存储器可以通过网络连接至设备/终端/服务器。上述网络 的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
110.输入装置72可用于接收输入的数字或字符信息,以及产生与设备/终端/服 务器的用户设置以及功能控制有关的键信号输入。输出装置73可包括显示屏等 显示设备。
111.实施例七
112.本发明实施例七还提供一种包含计算机可执行指令的存储介质,所述计算 机可执行指令在由计算机处理器执行时用于执行一种多核soc的代码共享方法, 该方法包括:
113.获取与多核soc对应的统一代码类信息,以及与多核soc中每个内核分 别对应的数据类信息;
114.将所述统一代码类信息链接至第一逻辑地址中,并将各所述数据类信息分 别链接至第二逻辑地址中;
115.将所述统一代码类信息存储于统一存储空间中,并将与各所述数据类信息 分别存储于与每个内核分别对应的独立存储空间中;
116.将统一存储空间和各独立存储空间的物理地址,分别分配给匹配的内核。
117.当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其 计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例 所提供的多核soc的代码共享方法中的相关操作。
118.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到, 本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很 多情况下前者是更
佳的实施方式。基于这样的理解,本发明的技术方案本质上 或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机 软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器 (read-only memory,rom)、随机存取存储器(random access memory,ram)、 闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以 是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
119.值得注意的是,上述多核soc的代码共享装置的实施例中,所包括的各个 单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能 够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区 分,并不用于限制本发明的保护范围。
120.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员 会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进 行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽 然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以 上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例, 而本发明的范围由所附的权利要求范围决定。