CN105183662B - 一种无cache一致性协议的分布式共享片上存储架构 - Google Patents
一种无cache一致性协议的分布式共享片上存储架构 Download PDFInfo
- Publication number
- CN105183662B CN105183662B CN201510457104.XA CN201510457104A CN105183662B CN 105183662 B CN105183662 B CN 105183662B CN 201510457104 A CN201510457104 A CN 201510457104A CN 105183662 B CN105183662 B CN 105183662B
- Authority
- CN
- China
- Prior art keywords
- cache
- cluster
- processor
- block
- local
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
本发明属于处理器技术领域,具体为一种无cache一致性协议的分布式共享片上存储架构。本发明基于簇状结构,将cache只映射本地的主存空间,处理器通过访问其它核的cache来完成对簇内其它共享主存块的读写,这样,由于不同核cache之间不再映射重叠的主存地址空间,因而取消了所谓多核处理器的cache一致性问题;本地核L1存储器一分为二:非缓存的存储器+cache,降低cache缺失率,避免了相应的复杂逻辑电路以及功耗开销。而且支持直接存储访问操作:在流应用中支持DMA直接对主存进行簇间大块数据搬移,适用于规模的拓展性。
Description
技术领域
本发明属于处理器技术领域,具体涉及一种无cache一致性协议的分布式共享片上存储结构。
背景技术
近年来,多核处理器由于其内在的并行性和优良的能量效率而受到业界广泛青睐。多核处理器一般采用共享存储架构设计,低延迟、高带宽、大容量的存储架构是设计的关键目标。
为了兼具主存的大容量和片上存储器的高速度优点,普遍引入存储器层次结构,利用访存数据的局部性原理,将主存数据映射到cache(超高速缓存)中,处理器直接对其高速读写。
现有多核处理器的存储层次结构中,每个核通过自身的cache访问主存数据,需要保证每个cache的数据都是主存的最新副本,带来cache一致性问题,需要引入复杂的硬件协议来维护cache一致。
主流解决方式有如下几种。
一是基于总线互连的多核处理器:监听协议(snoopy protocol)。对某个cache的修改通过总线广播到其它cache中,作出相应的动作。有写-无效和写-更新两种基本方法。其优点是总线作为广播媒介通信效率高。但缺点也很明显:可拓展性差,并且导致额外的硬件和功耗开销。
另一种是基于片上网络互连的多核处理器:目录协议(directory protocol)。其采用分布式共享存储(DSM)。目录中,记录cache每个数据块的访问状态、在其它cache中的共享状态以及是否修改过等信息。优点是可拓展性好。缺点是判断复杂、通信开销大。
发明内容
本发明的目的在于提出一种可拓展性好、通信效率高的无cache一致性协议的分布式共享片上存储架构。
本发明提出的无cache一致性协议的分布式共享片上存储架构,基于簇状结构,cache仅映射本地主存块,同时可被其它核共享访存,从而避免cache一致性协议;本地核L1存储器一分为二:非缓存的存储器 + cache,可以降低cache缺失率。此外,还支持直接存储访问(DMA)操作:在流应用中支持DMA直接对主存进行簇间大块数据搬移,适用于规模的拓展性。具体内容进一步介绍如下:
一、基于cache的本地映射,取消cache一致性协议:
对于包含N个处理器的簇,N个主存块#0,#1,#2,…#N分别分布在N个处理器#0,#1,#2,…#N的私有区域(簇内其他处理器无法直接通过访存得到),由此形成一个分布式存储架构。参见图1所示,图1中N为4;
簇内每个处理器还配有一个本地共享cache。在图中本地共享cache # x只映射主存块# x(即本地),且在簇内可被所有簇内其他处理器共享访问。参见图2所示;
当处理器通过访问本地共享cache来访问本地主存块,若地址落入其它主存块,则通过硬连线的方式通过访问cache# x来访问对应的主存块# x。有可能发生同一时间,不同核对同一个cache的竞争读写的情况,这时,采用以本核为起点,顺时针方向降低优先级的方法,来解决读写竞争;
当处理器访问非本地主存块:对于cache # x,接受来自本地核及其他核的地址请求,经过仲裁后将地址发给cache #存储体,cache返回数据后根据先前的仲裁结果返回给对应处理器。图2中,以#1核为例,接受来自本地核及其他核的地址请求,经过仲裁后将地址发给cache #1存储体,cache返回数据后根据先前的仲裁结果返回给对应处理器;
二、本地核L1存储器一分为二,降低cache缺失率:
L1存储器空间一分为二:一部分为非缓存的数据块(简称非缓存块,即程序一次写入,直到程序结束前,都不会被擦除),另一部分为上述所提的本地共享cache。两者都是簇内其他处理器通过访存便可读取的。参见图3所示;
这其中,非缓存块用来保存软件程序编译产生的静态初始化数据,和程序运行过程中栈空间的动态数据,以及多核之间需要快速共享的数据,有利于降低整体访存的cache缺失率;
编程上,本地的非缓存块和主存块地址编码连续,简化编程模型;
三、支持簇间直接存储访问(DMA)操作:
为了提高簇间主存之间大块数据传输的速率,提出了簇间直接存储访问(DMA)操作。DMA控制器和cache控制器对主存块竞争访问,DMA用于簇间主存之间大块数据传输。其优点是缓解大块数据传输对cache和处理器的压力。具体来说就是,当处理器译码出来是DMA操作,即将主存读取选择通道通过选择器切换到片上网络端口,同时发送配置包通知目标核停止并等待接收数据,从而跨簇调用存储。
附图说明
图1为带二级存储的处理器架构图。
图2为非本地主存块读取仲裁块。
图3为本地核L1存储器结构图。
图4为簇间直接存储访问(DMA)操作图。
具体实施方式
首先,程序会通过编译器编译成机器码。这其中生成的静态初始化数据等共享数据会被放置在如图3所示的L1存储器中的非缓存块。其他的放置在相应的主存块中,两者的地址编码是连续,方便编程模型。
如图1所示,以一个包含4个处理器的簇为例,4个主存块#0,#1,#2,#3分别分布在4个处理器#0,#1,#2,#3的私有区域(簇内其他处理器无法直接通过访存得到),由此形成一个分布式存储架构。
如图2所示,簇内每个处理器还配有一个本地共享cache。在图中本地共享cache #x只映射主存块# x(即本地),且在簇内可被所有簇内其他处理器共享访问。
当处理器通过访问本地共享cache来访问本地主存块,若地址落入其它主存块,则通过硬连线的方式通过访问cache# x来访问对应的主存块# x。有可能发生同一时间,不同核对同一个cache的竞争读写的情况,将采用以本核为起点,顺时针方向降低优先级的方法,来解决读写竞争。
当处理器访问非本地主存块:如图2所示,以#1核为例,接受来自本地核及其他核的地址请求,经过仲裁后将地址发给cache #1存储体,cache返回数据后根据先前的仲裁结果返回给对应处理器。
在图2中,当处理器1要访问其自己的主存块#1时,当译码出的地址落在主存块#1的地址空间内,并且cache#1上无有效数据,主存块#1调出相应数据块到cache#1上,供处理器读取。但若此时,处理器#0,#1,#2,#3都读写cache#1上的数据,优先让标号最小的处理器(#0)读写,然后依次是较小的#1,#2,#3。具体上实现是由一个优先编码选择器MUX实现(优先级依次从0降至3),当判断地址总线P0-P3有有效信号,便响应最高级处理器,并将数据读给对应处理器,当完成相应操作,释放对应地址总线信号,让下一个较低处理器来读写对应cache。
如图3所示,L1存储器空间一分为二:一部分为非缓存的数据块(简称非缓存块,即程序一次写入,直到程序结束前,都不会被擦除),另一部分为上述所提的本地共享cache。两者都是簇内其他处理器通过访存便可读取的。
这其中,非缓存块用来保存软件程序编译产生的静态初始化数据,和程序运行过程中栈空间的动态数据,以及多核之间需要快速共享的数据,有利于降低整体访存的cache缺失率。
编程上,本地的非缓存块和主存块地址编码连续,简化编程模型。
为了提高簇间主存之间大块数据传输的速率,提出了簇间直接存储访问(DMA)操作。DMA控制器和cache控制器对主存块竞争访问,DMA用于簇间主存之间大块数据传输。其优点是缓解大块数据传输对cache和处理器的压力。具体来说就是,当处理器译码出来是DMA操作,即将主存读取选择通道通过选择器切换到片上网络端口,同时发送配置包通知目标核停止并等待接收数据,从而跨簇调用存储。
如图4所示,当簇0的处理器#0需要读取簇1中的处理器#2的内存主内存块#2时,簇0的处理器#0会译码出来相应的地址,图中的数据通路选择MUX会根据相应的地址,配置簇0的主存块#0到簇1的主存块#2的路径。具体来说是,簇0的处理器#0会通过片上网络路由器发送配置电路包给簇1的处理器#2,让其主存块的数据通路MUX选择连接DMA控制器,与此同时簇0的处理器#0也将其其主存块的数据通路MUX选择连接DMA控制器。当双方都配置完毕,会通知簇1的处理器#2,让其将主存块#2中相应的数据,通过片上网络发送至主存块#0中,从而完成跨簇的内存直接调用。
Claims (5)
1.一种无cache一致性协议的分布式共享片上存储架构,其特征在于基于簇状结构,cache仅映射本地主存块,同时可被其它核共享访存;本地核L1存储器一分为二:非缓存的数据块和本地共享cache ,两者都是簇内其他处理器通过访存便可读取,其中,非缓存的数据块用于保存软件程序编译产生的静态初始化数据,和程序运行过程中栈空间的动态数据,以及多核之间需要快速共享的数据;
对于包含N个处理器的簇,N个主存块#0,#1,#2,…#N分别分布在N个处理器#0,#1,#2,…#N的私有区域,由此形成一个分布式存储架构。
2.根据权利要求1所述的无cache一致性协议的分布式共享片上存储架构,其特征在于支持簇间直接进行存储访问操作:在流应用中支持DMA直接对主存进行簇间大块数据搬移。
3.根据权利要求1所述的无cache一致性协议的分布式共享片上存储架构,其特征在于,簇内每个处理器还配有一个本地共享cache;其中本地共享cache # x只映射主存块#x,且在簇内可被所有簇内其他处理器共享访问;
当处理器通过访问本地共享cache来访问本地主存块,若地址落入其它主存块,则通过硬连线的方式通过访问cache# x来访问对应的主存块# x;当发生同一时间,不同核对同一个cache的竞争读写的情况时,采用以本核为起点,顺时针方向降低优先级的方法,来解决读写竞争;
当处理器访问非本地主存块:对于cache # x,接受来自本地核及其他核的地址请求,经过仲裁后将地址发给cache #存储体,cache返回数据后根据先前的仲裁结果返回给对应处理器。
4.根据权利要求1所述的无cache一致性协议的分布式共享片上存储架构,其特征在于本地核L1存储器中,本地的非缓存块和主存块地址编码连续,以简化编程模型。
5.根据权利要求2所述的无cache一致性协议的分布式共享片上存储架构,其特征在于所述支持簇间直接进行存储访问操作,是DMA控制器和cache控制器对主存块竞争访问,DMA用于簇间主存之间大块数据传输;当处理器译码出来是DMA操作,即将主存读取选择通道通过选择器切换到片上网络端口,同时发送配置包通知目标核停止并等待接收数据,从而跨簇调用存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510457104.XA CN105183662B (zh) | 2015-07-30 | 2015-07-30 | 一种无cache一致性协议的分布式共享片上存储架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510457104.XA CN105183662B (zh) | 2015-07-30 | 2015-07-30 | 一种无cache一致性协议的分布式共享片上存储架构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105183662A CN105183662A (zh) | 2015-12-23 |
CN105183662B true CN105183662B (zh) | 2017-12-29 |
Family
ID=54905753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510457104.XA Active CN105183662B (zh) | 2015-07-30 | 2015-07-30 | 一种无cache一致性协议的分布式共享片上存储架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105183662B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107870871B (zh) * | 2016-09-23 | 2021-08-20 | 华为技术有限公司 | 分配缓存的方法和装置 |
EP4009186A1 (en) | 2018-10-18 | 2022-06-08 | Shanghai Cambricon Information Technology Co., Ltd | Network-on-chip data processing method and device |
CN111079908B (zh) * | 2018-10-18 | 2024-02-13 | 上海寒武纪信息科技有限公司 | 片上网络数据处理方法、存储介质、计算机设备和装置 |
CN110727464B (zh) * | 2019-09-11 | 2022-01-07 | 无锡江南计算技术研究所 | 一种针对访存空间独立的多核处理器的信息处理方法 |
CN110704362B (zh) * | 2019-09-12 | 2021-03-12 | 无锡江南计算技术研究所 | 一种处理器阵列局部存储混合管理方法 |
US11176038B2 (en) * | 2019-09-30 | 2021-11-16 | International Business Machines Corporation | Cache-inhibited write operations |
WO2022199357A1 (zh) * | 2021-03-23 | 2022-09-29 | 北京灵汐科技有限公司 | 数据处理方法及装置、电子设备、计算机可读存储介质 |
CN114153767B (zh) * | 2022-02-10 | 2022-04-29 | 广东省新一代通信与网络创新研究院 | 一种实现处理器dma设备数据一致性的方法及装置 |
CN114936171B (zh) * | 2022-06-14 | 2023-11-14 | 深存科技(无锡)有限公司 | 存储访问控制器架构 |
CN116610630B (zh) * | 2023-07-14 | 2023-11-03 | 上海芯高峰微电子有限公司 | 一种基于片上网络的多核系统和数据传输方法 |
CN116991593B (zh) * | 2023-09-26 | 2024-02-02 | 芯来智融半导体科技(上海)有限公司 | 操作指令处理方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103568A (zh) * | 2011-01-30 | 2011-06-22 | 中国科学院计算技术研究所 | 片上多核处理器系统的高速缓存一致性协议的实现方法 |
CN104462007A (zh) * | 2013-09-22 | 2015-03-25 | 中兴通讯股份有限公司 | 实现多核间缓存一致性的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8627008B2 (en) * | 2010-02-04 | 2014-01-07 | International Business Machines Corporation | Memory access prediction |
-
2015
- 2015-07-30 CN CN201510457104.XA patent/CN105183662B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103568A (zh) * | 2011-01-30 | 2011-06-22 | 中国科学院计算技术研究所 | 片上多核处理器系统的高速缓存一致性协议的实现方法 |
CN104462007A (zh) * | 2013-09-22 | 2015-03-25 | 中兴通讯股份有限公司 | 实现多核间缓存一致性的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105183662A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105183662B (zh) | 一种无cache一致性协议的分布式共享片上存储架构 | |
CN105740164B (zh) | 支持缓存一致性的多核处理器、读写方法、装置及设备 | |
CN113424160B (zh) | 一种处理方法、装置及相关设备 | |
CN104699631B (zh) | Gpdsp中多层次协同与共享的存储装置和访存方法 | |
US10445018B2 (en) | Switch and memory device | |
US10042576B2 (en) | Method and apparatus for compressing addresses | |
TWI526926B (zh) | 平衡對具有不同記憶體種類的記憶體進行存取的技術 | |
US8996844B1 (en) | Apparatus and method for accessing non-overlapping portions of memory according to respective orders of dimensions | |
CN103345451B (zh) | 一种在多核处理器中缓冲数据的方法 | |
CN103077123A (zh) | 一种数据写入和读取方法及装置 | |
CN112463714A (zh) | 远程直接内存访问方法、异构计算系统及电子设备 | |
CN104808950B (zh) | 对嵌入式存储器元件的模式依赖性访问 | |
US10762137B1 (en) | Page table search engine | |
CN101561754B (zh) | 免划分的多插槽存储器系统架构 | |
US5893163A (en) | Method and system for allocating data among cache memories within a symmetric multiprocessor data-processing system | |
CN113791822B (zh) | 多内存通道的内存存取装置、方法和数据处理设备 | |
WO2015018237A1 (zh) | 基于超宽总线的芯片架构及其数据访问方法 | |
US20170364442A1 (en) | Method for accessing data visitor directory in multi-core system and device | |
US20120166682A1 (en) | Memory mapping apparatus and multiprocessor system on chip platform including the same | |
JP2006099770A (ja) | シングルポートメモリを使用した命令キャッシュ | |
US8762647B2 (en) | Multicore processor system and multicore processor | |
US10901917B1 (en) | Address scrambling for storage class memory | |
WO2015067195A1 (zh) | 一种可重构缓存组织结构 | |
US11954037B2 (en) | Memory address allocation and cache mapping to retain data in cache | |
CN106057226B (zh) | 双端口存储系统的存取控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |