CN105183662B - 一种无cache一致性协议的分布式共享片上存储架构 - Google Patents

一种无cache一致性协议的分布式共享片上存储架构 Download PDF

Info

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
Application number
CN201510457104.XA
Other languages
English (en)
Other versions
CN105183662A (zh
Inventor
荆明娥
周力君
田书东
谢志成
尹颖颖
王洁琳
杨建伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Original Assignee
Fudan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fudan University filed Critical Fudan University
Priority to CN201510457104.XA priority Critical patent/CN105183662B/zh
Publication of CN105183662A publication Critical patent/CN105183662A/zh
Application granted granted Critical
Publication of CN105183662B publication Critical patent/CN105183662B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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一致性问题,需要引入复杂的硬件协议来维护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操作,即将主存读取选择通道通过选择器切换到片上网络端口,同时发送配置包通知目标核停止并等待接收数据,从而跨簇调用存储。
CN201510457104.XA 2015-07-30 2015-07-30 一种无cache一致性协议的分布式共享片上存储架构 Active CN105183662B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8627008B2 (en) * 2010-02-04 2014-01-07 International Business Machines Corporation Memory access prediction

Patent Citations (2)

* Cited by examiner, † Cited by third party
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