一种内存访问方法及装置与流程

文档序号:33475224发布日期:2023-03-15 09:58阅读:35来源:国知局
一种内存访问方法及装置与流程

1.本技术涉及内存访问的技术领域,尤其涉及内存访问方法及装置。


背景技术:

2.相关技术中,使用多核mcu进行系统软件开发的过程中,经常会使用到通过内部总线进行快速访问的相关内核耦合存储区(ccm,core coupled memory),而大多数芯片对应cpu的内核耦合存储区大小是固定的,且不可配置。这就造成在实际使用过程中某个cpu的数据区域过大不够使用,某个cpu数据量小几乎不用。但是因为此部分的区域不可配置,导致了只能将溢出部分的数据放置到外部总线地址的静态随机存取存储器(sram,static random-access memory)进行访问,然而这种方式降低了访问速度。


技术实现要素:

3.本技术提供一种内存访问方法、装置、计算机可读存储介质及电子设备,可解决存储区不可配置问题,且可提高内存访问速度。
4.本技术所要达到的技术效果通过以下方案实现:
5.第一方面,本技术提供了一种内存访问方法,应用于多核处理系统,所述多核处理系统包括多个处理器和第一存储区,多个所述处理器可访问所述第一存储区,每一所述处理器设有第二存储区,包括:
6.将多个所述处理器与所述第一存储区建立第一访问映射关系,多个所述处理器可通过所述第一访问映射关系对所述第一存储区进行访问;
7.将每一所述处理器与其所述第二存储区建立第二访问映射关系;
8.当所述处理器访问所述第一存储区时,根据所述第一访问映射关系和所述第二访问映射关系确定第一访问路径;
9.所述处理器根据所述第一访问路径对所述第一存储区进行访问;
10.当所述处理器访问所述第二存储区时,根据所述第二访问映射关系确定第二访问路径;
11.所述处理器根据所述第二访问路径对所述第二存储区进行访问;
12.其中,每一所述第二存储区设置在同一存储区域。
13.可选地,所述将每一所述处理器与其所述第二存储区建立第二访问映射关系步骤前,所述方法包括:
14.将每一所述第二存储区设置在同一存储区域,且每一所述第二存储区之间通信相连。
15.可选地,所述将每一所述第二存储区设置在同一存储区域,且每一所述第二存储区之间通信相连,包括:
16.每一所述处理器的数据存储在同一存储区域,且每一所述处理器存储数据时,与存储数据的存储区域建立第二访问映射关系,且该存储区域作为该处理器的所述第二存储
区。
17.可选地,所述第一存储区和所述第二存储区通信相连。
18.可选地,所述处理器与所述第一存储区通过第一通信总线相连;和/或所述处理器与所述第二存储区通过第二通信总线相连。
19.可选地,所述当所述处理器访问所述第一存储区时,根据所述第一访问映射关系和所述第二访问映射关系确定第一访问路径,包括:
20.所述当所述处理器访问所述第一存储区时,根据所述第一访问映射关系确定第一访问地址;
21.根据第一访问地址和所述第二访问映射关系确定所述第一访问路径。
22.可选地,所述根据第一访问地址和所述第二访问映射关系确定所述第一访问路径,包括:
23.根据所述第二访问映射关系确定第二访问地址;
24.根据第一访问地址和所述第二访问地址确定所述第一访问路径。
25.第二方面,本技术提供一种,内存访问装置,包括:
26.第一建立单元,用于将多个所述处理器与所述第一存储区建立第一访问映射关系,多个所述处理器可通过所述第一访问映射关系对所述第一存储区进行访问;
27.第二建立单元,将每一所述处理器与其所述第二存储区建立第二访问映射关系;
28.确定单元,用于当所述处理器访问所述第一存储区时,根据所述第一访问映射关系和所述第二访问映射关系确定第一访问路径,和/或,当所述处理器访问所述第二存储区时,根据所述第二访问映射关系确定第二访问路径。
29.第三方面,本技术提供了一种计算机可读存储介质,包括执行指令,当电子设备的第二处理器执行所述执行指令时,所述电子设备执行如第一方面中任一所述的方法。
30.第四方面,本技术提供了一种电子设备,第二处理器;
31.用于存储所述第二处理器可执行指令的存储器;
32.所述第二处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现第一方面任一所述的方法。
33.本技术提供了一种内存访问方法及装置,可以将多个所述处理器与所述第一存储区建立第一访问映射关系,多个所述处理器可通过所述第一访问映射关系对所述第一存储区进行访问;接着,将每一所述处理器与其所述第二存储区建立第二访问映射关系;然后,当所述处理器访问所述第一存储区时,根据所述第一访问映射关系和所述第二访问映射关系确定第一访问路径;所述处理器根据所述第一访问路径对所述第一存储区进行访问;当所述处理器访问所述第二存储区时,根据所述第二访问映射关系确定第二访问路径,所述处理器根据所述第二访问路径对所述第二存储区进行访问;其中,每一所述第二存储区设置在同一存储区域。一方面,本技术第二存储区设置在同一存储区域,可根据数据存储量进行每一所述处理器的第二存储区的配置;另一方面,本技术根据所述第一访问映射关系和所述第二访问映射关系确定第一访问路径,提高所述处理器访问所述第一存储区的访问速度。
34.上述的非惯用的优选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
35.为了更清楚地说明本技术实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
36.图1为本技术一实施例提供的一种内存访问方法的流程图;
37.图2为本技术一实施例提供的另一种内存访问方法的流程图;
38.图3为本技术一实施例提供的一种内存访问装置的结构示意图;
39.图4为本技术一实施例提供的一种电子设备的结构示意图。
具体实施方式
40.为使本技术的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本技术的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
41.相关技术中,使用多核mcu进行系统软件开发的过程中,经常会使用到通过内部总线进行快速访问的相关内核耦合存储区(ccm,core coupled memory),而大多数芯片对应cpu的内核耦合存储区大小是固定的,且不可配置。这就造成在实际使用过程中某个cpu的数据区域过大不够使用,某个cpu数据量小几乎不用。但是因为此部分的区域不可配置,导致了只能将溢出部分的数据放置到外部总线地址的静态随机存取存储器(sram,static random-access memory)进行访问,然而这种方式降低了访问速度。
42.有鉴于此,本技术提供一种内存访问方法,应用于多核处理系统,所述多核处理系统包括多个处理器和第一存储区,多个所述处理器可访问所述第一存储区,每一所述处理器设有第二存储区。下面的实施例中,所述第一存储区可以为内核耦合存储区,所述第二存储区可以为静态随机存取存储器,但本技术不限制第一存储区和第二存储区具体为何种存储器,可根据实际设计需要进行设计。
43.参见图1所示,为本技术提供的内存访问方法的具体实施例。本实施例中,所述方法包括步骤s01、步骤s03、步骤s04、步骤s05、步骤s06以及步骤s07。
44.步骤s01:将多个所述处理器与所述第一存储区建立第一访问映射关系,多个所述处理器可通过所述第一访问映射关系对所述第一存储区进行访问;
45.步骤s03:将每一所述处理器与其所述第二存储区建立第二访问映射关系;
46.步骤s04:当所述处理器访问所述第一存储区时,根据所述第一访问映射关系和所述第二访问映射关系确定第一访问路径;
47.步骤s05:所述处理器根据所述第一访问路径对所述第一存储区进行访问;
48.步骤s06:当所述处理器访问所述第二存储区时,根据所述第二访问映射关系确定第二访问路径;
49.步骤s07:所述处理器根据所述第二访问路径对所述第二存储区进行访问;
50.其中,每一所述第二存储区设置在同一存储区域。
51.多个所述处理器与所述第一存储区建立第一访问映射关系,所述第一访问映射关
系包括处理器与第一存储区的访问地址的映射表。在一示例中,处理器1与其第一存储区1的访问地址0x70010000对应。处理器1访问第一存储区1时,根据访问地址0x70010000实现对第一存储区1进行访问。同样地,将每一所述处理器与其所述第二存储区建立第二访问映射关系,所述第二访问映射关系包括处理器与第二存储区的访问地址的映射表。在一示例中,处理器1与其第二存储区1的访问地址0x10010000对应。处理器1访问第二存储区1时,根据访问地址0x10010000实现对第二存储区1进行访问。处理器访问第二存储区通过内部总线进行访问,其访问速度快。处理器直接访问第一存储区通过外部总线进行访问,其访问速度较慢,为了提高处理器访问第一存储区的访问速度,处理器需要访问第一存储区时,通过第一访问映射关系中的访问地址偏移为第二访问映射关系中的访问地址,可通过内部总线对第一存储区进行访问,提高访问速度。
52.每一所述第二存储区设置在同一存储区域,可根据数据存储量进行每一所述处理器的第二存储区的配置,即每一处理器储存数据和/或指令时,存储在同一存储区域,存储该处理器所存储数据的区域作为该处理器的第二存储区。在一示例中,处理器1在所有第二存储区设置的同一存储区域中进行数据储存,处理器1在存储区域储存数据1,数据1所存储的存储区域作为处理器1的第二存储区,且给该第二存储区赋予访问地址0x10010000。
53.在一些实施例中,步骤s03,所述将每一所述处理器与其所述第二存储区建立第二访问映射关系前,所述方法包括:
54.步骤s02:将每一所述第二存储区设置在同一存储区域,且每一所述第二存储区之间通信相连。
55.需要说明的是,步骤s02可以有,也可以省略,步骤s02具体可以根据实际情况设置,执行步骤s01后,可执行步骤s03。本实施例中,执行步骤s01后,可执行步骤s02和/或步骤s03。
56.将每一所述第二存储区设置在同一存储区域,便于配置每一所述处理器的存储空间,可根据每一处理器存储需要配置存储空间。
57.在一些实施例中,步骤s02,所述将每一所述第二存储区设置在同一存储区域,且每一所述第二存储区之间通信相连,包括:
58.步骤s021:每一所述处理器的数据存储在同一存储区域,且每一所述处理器存储数据时,与存储数据的存储区域建立第二访问映射关系,且该存储区域作为该处理器的所述第二存储区。
59.存储区域可以为存储量为1mb的存储单元,且所述存储单元连续排列,相邻的存储单元相连。可根据处理器的数据量将存储单元配置为该处理器的第二存储器。在一示例中,多个处理器分别为处理器1、处理器2......处理器n,处理器1设有第二存储区1、处理器2设有第二存储区2.....处理器n设有第二存储区n。处理器1的数据量为6mb,将存储区域的相连的6个存储单元作为处理器1的第二存储区1。同样地,处理器2的数据量为8mb,将存储区域的相连的8个存储单元作为处理器2的第二存储区2,以此类推。
60.进一步地,若处理器的数据被删除,该处理器对应的第二存储区将成为待配置的存储区域。在一示例中,处理器2的第二存储区2被删除2个存储单元的数据,那么这2个存储单元将被作为待配置的存储区域,不再属于第二存储区2。如此设置,方便多个处理器的第二存储区的配置,合理分配存储量。
61.在一些实施例中,第一存储区和第二存储区通信相连。如此设置,便于处理器通过与第二存储区相连的内部总线对第一存储区进行访问,提高处理器访问第一存储器的速度。在一示例中,处理器1对第一存储区1进行访问,第一存储区的访问地址为0x70010000,对所述访问地址为0x70010000进行地址偏移,偏移量0x60000000,确定第二存储区1的访问地址0x10010000,处理器1利用访问地址0x10010000通过第二存储区1后,通过访问地址0x70010000对第一存储区1进行访问,如此可以通过内部总线对第一存储区1进行访问,提高访问速度。
62.进一步地,所述处理器与所述第一存储区通过第一通信总线相连;和/或所述处理器与所述第二存储区通过第二通信总线相连。在一示例中,所述第二通信总线为内部总线,且访问速度快,且传输数据的速度快。所述第一通信总线为外部总线,通信速度较慢,可在第二通信总线无空闲时,利用外部总线进行通信,可提高多核处理系统总体的访问速度。
63.在一些实施例中,步骤s04,当所述处理器访问所述第一存储区时,根据所述第一访问映射关系和所述第二访问映射关系确定第一访问路径,包括:
64.步骤s041:所述当所述处理器访问所述第一存储区时,根据所述第一访问映射关系确定第一访问地址;
65.步骤s042:根据第一访问地址和所述第二访问映射关系确定所述第一访问路径。
66.在一示例中,当所述处理器1访问所述第一存储区1时,根据所述第一访问映射关系确定第一访问地址0x70010000。所述第一访问映射关系包括所有处理器与所有第一存储区的访问地址的映射表,当确定处理器1需要访问第一存储区1时,通过映射表找到第一存储区的访问地址。
67.进一步地,所述根据第一访问地址和所述第二访问映射关系确定所述第一访问路径,可以根据所述第二访问映射关系确定第二访问地址;然后根据第一访问地址和所述第二访问地址确定所述第一访问路径。为了通过内部总线快速访问第一存储区,可将所述第一存储区访问地址偏移为所述第二存储区的访问地址。先根据第一访问映射关系确定第一访问地址,根据第二访问映射关系确定第二访问地址,将第一访问地址偏移得到第二访问地址。由于第一存储区域与所述第二存储区相连,因此,第一访问路径为处理器根据第二访问地址通过第二存储区,去访问第一访问地址所在的第一存储区。即利用了处理器与所述第二存储区相连的内部总线去访问第一存储区,提高处理器访问第一存储器的速度。
68.如图3所示,为本技术所述内存访问装置的一个具体实施例。本实施例所述装置,即用于执行图1~2所述方法的实体装置。其技术方案本质上与上述实施例一致,上述实施例中的相应描述同样适用于本实施例中。本实施例中所述装置包括第一建立单元、第二建立单元以及确定单元。
69.第一建立单元,用于将多个所述处理器与所述第一存储区建立第一访问映射关系,多个所述处理器可通过所述第一访问映射关系对所述第一存储区进行访问;
70.第二建立单元,将每一所述处理器与其所述第二存储区建立第二访问映射关系;
71.确定单元,用于当所述处理器访问所述第一存储区时,根据所述第一访问映射关系和所述第二访问映射关系确定第一访问路径,和/或,当所述处理器访问所述第二存储区时,根据所述第二访问映射关系确定第二访问路径。
72.可选地,所述内存访问装置还包括设置单元,所述设置单元,用于:
73.将每一所述第二存储区设置在同一存储区域,且每一所述第二存储区之间通信相连。
74.可选地,所述设置单元,用于:
75.每一所述处理器的数据存储在同一存储区域,且每一所述处理器存储数据时,与存储数据的存储区域建立第二访问映射关系,且该存储区域作为该处理器的所述第二存储区。
76.可选地,所述确定单元,用于:
77.所述当所述处理器访问所述第一存储区时,根据所述第一访问映射关系确定第一访问地址;
78.根据第一访问地址和所述第二访问映射关系确定所述第一访问路径。
79.可选地,所述确定单元,用于:
80.根据所述第二访问映射关系确定第二访问地址;
81.根据第一访问地址和所述第二访问地址确定所述第一访问路径。
82.图4是本技术实施例提供的一种电子设备的结构示意图。在硬件层面,该电子设备包括第二处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
83.第二处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
84.存储器,用于存放执行指令。具体地,执行指令即可被执行的计算机程序。存储器可以包括内存和非易失性存储器,并向第二处理器提供执行指令和数据。
85.在一种可能实现的方式中,第二处理器从非易失性存储器中读取对应的执行指令到内存中然后运行,也可从其它设备上获取相应的执行指令,以在逻辑层面上形成内存访问装置。第二处理器执行存储器所存放的执行指令,以通过执行的执行指令实现本技术任一实施例中提供的内存访问方法。
86.上述如本技术图3所示实施例提供的内存访问装置执行的方法可以应用于第二处理器中,或者由第二处理器实现。第二处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第二处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第二处理器可以是通用第二处理器,包括中央第二处理器(central processing unit,cpu)、网络第二处理器(network processor,np)等;还可以是数字信号第二处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用第二处理器可以是
微第二处理器或者该第二处理器也可以是任何常规的第二处理器等。
87.结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码第二处理器执行完成,或者用译码第二处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,第二处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
88.本技术实施例还提出了一种计算机可读存储介质,该计算机可读存储介质包括执行指令,当电子设备的第二处理器执行所述执行指令时,能够使该电子设备执行本技术任一实施例中提供的内存访问方法,并具体用于执行如图1或图2所示的方法。
89.前述各个实施例中所述的电子设备可以为计算机。
90.本领域内的技术人员应明白,本技术的实施例可提供为方法或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例,或软件和硬件相结合的形式。
91.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
92.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
93.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1