CN101149727A - 共享的存储器装置 - Google Patents

共享的存储器装置 Download PDF

Info

Publication number
CN101149727A
CN101149727A CNA2007101547839A CN200710154783A CN101149727A CN 101149727 A CN101149727 A CN 101149727A CN A2007101547839 A CNA2007101547839 A CN A2007101547839A CN 200710154783 A CN200710154783 A CN 200710154783A CN 101149727 A CN101149727 A CN 101149727A
Authority
CN
China
Prior art keywords
memory
visit
processor elements
memory module
accumulator
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.)
Granted
Application number
CNA2007101547839A
Other languages
English (en)
Other versions
CN100592282C (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN101149727A publication Critical patent/CN101149727A/zh
Application granted granted Critical
Publication of CN100592282C publication Critical patent/CN100592282C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1012Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Abstract

公开了一种共享的存储器装置,其包括:多个处理器元件;多个存储器模块,其配置为可以由多个处理器元件访问;以及连接装置,其配置为使来自多个处理器元件的特定处理器元件能够访问来自多个存储器模块的特定存储器模块;其中允许多个存储器元件经由连接装置访问多个存储器系统,每个存储器系统由至少一个存储器模块组成;并且其中可由不同处理器元件访问的多个存储器系统的每一个,允许多个存储器模块由不同处理器元件部分地共享和访问。

Description

共享的存储器装置
技术领域
本发明涉及一种共享的存储器装置,其将多个存储器系统与如处理器元件(PE)的处理能力一起合并,所述多个存储器系统每个由若干存储器组成,所述处理器元件共享各存储器系统中的一些存储器。
背景技术
包括多个存储器系统的系统可以采用如图1所示的架构,该架构着重于并行处理。
在图1的设置中,PE(处理器元件)1-1到1-4与存储器2-1到2-4一对一(one-to-one)地连接,设置并行处理优先。
这个结构中,每个PE1与相应的存储器2以促进并行处理的方式连接。当引用位于相邻的PE中的数据时,要求任何PE通过经由主机(host)设备的路径以到达目的地。
通过示例性地采用如图2所示的包括交叉杆(crossbar)(X-bar)的结构,避免了经由主机设备的绕路(detour)。在美国专利5,471,592中描述了典型的交叉杆结构。
发明内容
在如上所述的多PE系统中,为了在所涉及的存储器之间共享数据,存储器到处理器连接可以在有效可扩展的(scalable)基础上倍增。在这种情况下,如图3所示,连接不是线性地增加,而是关于配置的PE的增长的数目急速地增加。
在美国专利5,471,592之前,“具有处理器和存储器的交叉杆链接的多处理器(Multi-processor with crossbar link of processors and memories)”,共享的存储器系统惯常典型地在SIMD(单指令多数据流)或MIMD(多指令多数据流)方案下操作。从那时起,实现复杂的应用的需要已经要求存储器系统把这两个特征合并在一起。已经提出了用于支持这种实现的多个基础技术。
有效的多PE处理假定不是通过传输数据、而是通过改变PE到存储器连接的目的地来实现。一般涉及如下三种连接:
---全局连接,其允许对所有存储器的访问;
---局部连接,其可连接到各特定的PE;以及
---指令传输路径,通过其传输PE执行指令。
交叉杆切换安排有用于使每个连接到每个安装的存储器的垂直连接优先的机制。在循环的(round-robin)基础上确定连接。
然而,这种方法没有考虑这样的情况,其中大量配置的PE导致巨大数量的交叉杆连接。还没有提出对策来处理这个问题。
如图4A和4B所示,已经提出数据传输路径的分层结构,以最小化这些路径的增加,其中PE数目已经增长。这种措施(measure)需要增加与数据传输无关的冗余特征,如用于支持分层结构的连接端口设置。
考虑到上面的情况已提出本发明,并且本发明提供了一种共享的存储器装置,能够在有效可扩展的基础上扩展多个处理器到存储器的连接。
实现本发明并且根据它的一个实施例,提供一种共享的存储器装置,其包括:多个处理器元件;多个存储器模块,其配置为可由多个处理器元件访问;以及连接装置,其配置为使来自多个处理器元件的特定处理器元件能够访问来自多个存储器模块的特定存储器模块;其中允许多个存储器元件经由连接装置访问多个存储器系统,每个存储器系统由至少一个存储器模块组成;并且其中可由不同处理器元件访问的多个存储器系统的每一个,允许多个存储器模块由不同处理器元件部分地共享和访问。
优选地,多个存储器系统可能以这样的方式构造,使得定位互相临近的处理器元件能够访问共享的存储器模块。
优选地,根据本发明的共享的存储器装置可能还包括仲裁电路,其配置为以优先顺序排列(prioritize)来自多个处理器元件的、访问任一存储器模块的同时请求,并且使各请求处理器元件按照以优先顺序排列的次序访问存储器模块。
优选地,本发明的共享的存储器装置可能还包括控制器,其配置为与外部实体通信,并且控制对多个存储器模块的访问,其中控制器能够经由连接装置访问所有的存储器模块。
根据本发明的另一个实施例,提供了一种共享的存储器设备,其具有多个共享的存储器装置,每个装置包括:多个处理器元件;多个存储器模块;连接装置,其配置为使来自多个处理器元件的特定处理器元件能够访问来自多个存储器模块的特定存储器模块;以及控制器,其配置为与外部实体通信,并且控制多个存储器模块的访问;其中允许多个存储器元件经由连接装置访问多个存储器系统,每个存储器系统由至少一个存储器模块组成;其中可由不同处理器元件访问的多个存储器系统的每一个,允许多个存储器模块由不同处理器元件部分地共享和访问;并且其中多个共享的存储器装置的控制器通过总线安排连接。
根据本发明的另一个实施例,提供一种共享的存储器装置,其包括:多个处理器元件;多个存储器系统,每个系统由至少一个存储器模块组成,该模块可由多个处理器元件访问;以及多个接口,其与多个处理器元件以及多个存储器模块相连接;其中多个处理器元件能够访问多个存储器系统,每个存储器系统由至少一个存储器模块构成;其中可由不同处理器元件访问的多个存储器系统的每一个,允许多个存储器模块由不同处理器元件部分地共享和访问;其中总线布线(bus wiring)被映射(map)在多个存储器系统上。
优选地,多个存储器接口可以位于穿过多个存储器系统的多个处理器元件的对面;其中组成多个存储器系统的多个存储器模块可以在与第一方向基本上垂直的第二方向上并行排列,在第一方向上多个存储器接口位于多个处理器元件的对面;并且其中多个处理器元件、多个存储器接口、以及多个存储器模块可以由连接布线相连接,该连接布线以矩阵方式排列在多个存储器系统上的第一和第二方向。
优选地,本发明的共享的存储器装置可以还包括在第二方向上布线的公用(common bus)总线。
根据本发明,如上所述,多个处理器元件获得了对存储器模块的访问,该存储器模块经由连接装置组成了存储器系统。在这个设置中,可由不同处理器元件访问的每个存储器系统允许多个存储器模块由不同处理器元件部分地共享和访问。
就是说,构造本发明的存储器装置以便在有效可扩展的基础上、通过存储器连接多个处理器元件。
附图说明
图1是显示多处理器设置的典型架构示意图;
图2是显示装备交叉杆的多处理器设置的典型架构示意图;
图3是解释处理器元件(PE)扩展时遇到的挑战的示意图;
图4A和4B是显示典型结构的示意图,该结构使用最小化PE扩展时数据传输路径的增加的端口排列;
图5是显示体现本发明的共享的存储器装置的系统配置示意图;
图6是显示体现本发明的共享的存储器装置中的信号路径的典型连接示意图;
图7是组成访问仲裁过程的步骤的流程图,该过程用于仲裁PE(n)和PE(n+1)对存储器组(memory bank)MEM(2n)的访问;
图8是显示共享的存储器装置的示意图,其中允许3个或更多的PE核心访问一个存储器组;
图9是解释如何分层扩展部分共享的多端口PE排列的示意图;
图10是显示存储器组如何由总线布线物理地映射(总线映射的存储器)的示意图;
图11是显示总线映射的存储器的读取块如何典型地布线的示意图;以及
图12是显示总线映射的存储器的写入块如何典型地布线的示意图。
具体实施方式
现在将参照附图来描述本发明的优选实施例。
图5是显示体现本发明的共享的存储器装置的系统配置示意图。
在图5中,共享的存储器装置10有直接存储器存取(DMA)控制器11,多个(例如,16个)PE核心12-0到12-15,部分重叠的多端口装置(以下称为重叠多端口装置)13,组成存储器组(例如,SRAM组)14-0到14-63的多个(例如,64个)存储器模块,以及仲裁电路15。
在图5的共享的存储器装置中,存储器组14-0到14-63被划分为多个存储器系统M0到M15,每个存储器系统由连续形成的八个组组成。说明性地,存储器系统M0由八个存储器组14-0到14-7组成。邻近存储器系统M0的存储器系统M1由八个存储器组14-4到14-11形成,并与存储器系统M0共享四个存储器组14-4到14-7。同样地,邻近存储器系统M1的存储器系统M2由八个存储器组14-8到14-15组成,并与存储器系统M1共享四个存储器组14-8到14-11。
以此方式,每个存储器系统M3到M15由八个存储器组组成,包括与邻近的存储器系统共享的四个存储器组。
只有存储器系统M15由四个存储器组组成。
在图5的共享的存储器装置10中,说明性地允许每个PE核心12-0到12-15访问八个存储器组(16千字节)。PE核心12-0到12-15可访问的每个存储器组有八千字节在多个PE(如那些互相邻近的)之间共享。这不是完全的交叉杆连接设置。对于剩下部分存储器组没有连接,并发尝试访问任何给定的SRAM组通过仲裁来解决。
尽管任何一个PE核心除了可直接访问的存储器组之外、还尝试同时访问SRAM组,可能降低效率,但是共享的存储器组的数目可以如此确定,以便使这种可能性成为罕见的情况。这使得有可能防止在该点的数据传输效率的任何下降显著地促使(contribute to)总的系统效率的下降。
图6是显示体现本发明的共享的存储器装置中的信号路径的典型连接示意图。
在图6中,为了简化和图示的目的,所配置的每个存储器系统由四个存储器组组成。
存储器系统M0由存储器组14-0到14-3组成;存储器系统M1由存储器组14-2到14-5组成;存储器系统M2由存储器组14-4到14-7组成;存储器系统M3由存储器组14-6到14-9组成。
在图6的共享的存储器装置10A中,每个PE核心12-0到12-3有用于访问四个存储器组的路径。在任何给定的一对PE核心共享两个存储器组的情形,PE核心12-n有对存储器组MEM(2×n)、MEM(2×n+1)、MEM(2×n+2)、以及MEM(2×n+3)的访问;并且PE核心12-n和PE核心12-n+1在其间共享MEM(2×n+2)和MEM(2×n+3)。
在图6的共享的存储器装置10A中,DMA控制器11有经由重叠多端口装置13对所有的存储器组14-0到14-9的访问。
PE核心12-0可以有对存储器组14-0到14-3的访问。
PE核心12-1对存储器组14-2到14-5。
PE核心12-2对存储器组14-4到14-7。
PE核心12-3对存储器组14-6到14-9。
在本发明的上述实施例中,来自外部用于PE核心的初始处理的数据的传输由DMA控制器11实现。用于使用DMA控制器11执行这种数据传输的典型方法描述如下。
在数据从外部要传输到特定的存储器组或要从特定的存储器组输出到外部的情况下,PE核心12-0到12-3之一发送数据传输请求到DMA控制器11。依次地(in turn),DMA控制器11将传输数据到各指定地址的请求发送到仲裁电路15,并且等待对传输的许可。
当仲裁电路15给予许可时,DMA控制器11将外部数据总线与特定的存储器组连接。当接连地输出指定的地址时,DMA控制器11继续控制数据的传输,以产生外部数据总线和存储器组之间的数据传输。
下面是如何可以在各PE之间共享和传输数据的描述。在图6中,输入到PE核心12-0的数据放入存储器组14-0。PE核心12-0读取和处理在存储器14-0中所包含的。处理的结果输出到存储器组14-2和14-3。
在输出重要(significant)数据到存储器组14-2或14-3后,PE核心12-0在存储器组14-2中的特定地址A-1开启(turn on)重要性检查位(check bit)。
在完成它自己的处理后,PE核心12-1检查以确定PE核心12-0是否开启地址A-1。如果发现地址A-1开启,PE核心12-1开始从存储器组14-2或14-3读取数据,并且在取回的(retrieved)数据上操作。
PE核心12-1输入和处理放入存储器组14-2和14-3的数据,并且输出处理结果到存储器组14-4。在完成它自己的处理后,PE核心12-2发送传输数据到外部的请求到DMA控制器11。依次地,DMA控制器11在外部总线上将重要数据从存储器组14-4输出到外部。
PE核心12-0到12-3传输数据到存储器组和从存储器组传输数据如下:每个PE核心发送数据传输请求地址到仲裁电路15。依次地,仲裁电路15在循环的基础上(on a round-robin basis)以优先顺序排列其它PE核心和DMA控制器,并且授予请求PE核心传输数据的许可。
图7是组成访问仲裁过程的步骤的流程图,该过程用于仲裁PE(n)和PE(n+1)对存储器组MEM(2n)的访问。下面是这个访问仲裁过程的描述。在随后的描述中,参考符号“PE”代表PE核心。
在芯片复位后过程立即开始。在步骤ST1,做检查以确定PE(n)是否已经请求对MEM(2n)的访问。如果没有发现这样的请求,那么控制转到步骤ST6,并且做检查以查看PE(n+1)是否已经请求对MEM(2n)的访问。
如果在步骤ST1发现PE(n)已经请求对MEM(2n)的访问,那么到达步骤ST2。在步骤ST2,PE(n)被许可访问MEM(2n),并且PE(n+1)被拒绝访问MEM(2n)。
在步骤ST3,用于计数预定时间段的计数器被初始化。初始化后,计数器开始倒计数。在步骤ST4,再做检查以确定PE(n)是否已经请求对MEM(2n)的访问。在步骤ST5,只要从计时器的计数中没有检测到超时,就重复检查以查看是否来自PE(n)对MEM(2n)访问的请求持续。如果在步骤ST5检测到超时,那么到达步骤ST6。
步骤ST6和随后的步骤与上述步骤相似。在步骤ST6,做检查以确定PE(n+1)是否已经请求对MEM(2n)的访问。如果没有检测到这样的请求,那么又到达步骤ST1,并且做检查以查看PE(n)是否已经请求对MEM(2n)的访问。
如果在步骤ST6发现PE(n+1)已经请求对MEM(2n)的访问,那么到达步骤ST7。在步骤ST7,PE(n+1)被许可访问MEM(2n),并且PE(n)被拒绝访问MEM(2n)。
在步骤ST8,用于计数预定时间段的计数器被初始化。初始化后,计数器开始倒计数。在步骤ST9,再做检查以确定PE(n+1)是否已经请求对MEM(2n)的访问。在步骤ST10,只要从计时器的计数中没有检测到超时,就重复检查以查看是否来自PE(n+1)对MEM(2n)的访问的请求持续。如果在步骤ST10检测到超时,那么控制返回到开始阶段。
图8是显示共享的存储器装置的示意图,其中允许三个或更多的PE核心访问一个存储器组。
下面是这个设置的描述,其中许可三个或更多的PE核心对单个存储器组的访问。
图8中的共享的存储器装置10B有存储器系统M0,该存储器系统由六个存储器组14-0到14-5组成。
从存储器单元(即,存储器组)的观点看,不需要保持算术单元(如PE核心)的数目恒定,所述PE核心获得对配置的每个存储单元的访问。
在图8的设置中,PE核心12-0可以有对存储器组14-0到14-5的访问。
存储器组14-1可以被3个PE核心12-0、12-1和12-2访问。
存储器组14-6可以被PE核心12-2和12-3访问。
上面的设置未用简单的重叠公式表征。尽管该设置有四个处理单元(即,PE核心)和十个存储器单元(存储器组),但是这些数目不是限制本发明,而是为了说明的目的特别给定的。
图9是如何分层扩展部分共享的多端口PE安排的解释性示意图。
下面是如何进行分层扩展的描述,其中发现DMA传输成为瓶颈。
在大量数据在PE核心之间传输期间,归因于争用(contention)的、任何性能的下降能够被显著地减轻。然而,在外部和存储器组之间的数据传输期间、PE核心同时处理多个功能的情形,争用的可能性可能增加。
通过在分层结构中放置如图8所示PE阵列,说明性地处理这种可能性。
如对于图5的基本结构,PE阵列由各层组成,每层由16个PE和一个DMA控制器组成。各层由AXI(Advanced Extensible Interface,高级可扩展接口)总线20互相连接,以形成存储器装置100。
该设置中重要的是最小化这样的AXI连接的PE层的数目。本发明提出了有助于最小化层计数的安排。
图10是显示存储器组如何由总线布线物理地映射(总线映射存储器)的示意图。
图11和12图示了典型的总线映射存储器如何布线。图11示意性地描述了总线映射存储器的读取块如何典型地布线。图12是显示总线映射存储器的写入块如何典型地布线的示意图。
参照图10的如下描述是总线映射存储器的典型结构和可访问范围。
存储器系统M00到M15是组成存储器的单元,每个存储器系统由一个或多个存储器组(图示的)组成。总线结构被布置在存储器系统上。总线是由存储器组上没有使用的布线层组成。
存储器系统M00到M15对称地位于存储器接口IF00到IF07的两边。PE核心位于存储器系统M00到M15的外部,并且位于存储器系统M00到M15的两边。最小的系统配置由两个PE、两个存储器系统(存储器组)、和一个存储器接口组成。
这个系统完全可扩展,并且能够以不受限制的方式横向地扩展。图10显示了排列为16个PE(PE00到PE15)系统设置的八个最小配置。
存储器系统M00、M02、M04、M06、M08、M10、M12和M14在图10中建立的直角坐标的X方向(第二方向)上并行排列。
类似地,存储器系统M01、M03、M05、M07、M09、M11、M13和M15在图10中建立的直角坐标的X方向(第二方向)上并行排列。
在图10提供的直角坐标的Y方向(第一方向),存储器系统M00和M01关于存储器接口IF00对称地排列(position)。在Y方向上邻近于存储器系统M00安置PE00,并且在Y方向上邻近于存储器系统M01安置PE01。存储器接口IF00能够安排为被存储器系统M00和M01共享。
在直角坐标的Y方向(第一方向),存储器系统M02和M03关于存储器接口IF01对称地排列。在Y方向上邻近于存储器系统M02安置PE02,并且在Y方向上邻近于存储器系统M03安置PE03。存储器接口IF01能够安排为被存储器系统M02和M03共享。
在直角坐标的Y方向(第一方向),存储器系统M04和M05关于存储器接口IF02对称地排列。在Y方向上邻近于存储器系统M04安置PE04,并且在Y方向上邻近于存储器系统M05安置PE05。存储器接口IF02能够安排为被存储器系统M04和M04共享。
在直角坐标的Y方向(第一方向),存储器系统M06和M07关于存储器接口IF03对称地排列。在Y方向上邻近于存储器系统M06安置PE06,并且在Y方向上邻近于存储器系统M07安置PE07。存储器接口IF03能够安排为被存储器系统M06和M07共享。
在直角坐标的Y方向(第一方向),存储器系统M08和M09关于存储器接口IF04对称地排列。在Y方向上邻近于存储器系统M08安置PE08,并且在Y方向上邻近于存储器系统M09安置PE09。存储器接口IF04能够安排为被存储器系统M08和M09共享。
在直角坐标的Y方向(第一方向),存储器系统M10和M11关于存储器接口IF05对称地排列。在Y方向上邻近于存储器系统M10安置PE10,并且在Y方向上邻近于存储器系统M11安置PE11。存储器接口IF05能够安排为被存储器系统M10和M11共享。
在直角坐标的Y方向(第一方向),存储器系统M12和M13关于存储器接口IF06对称地排列。在Y方向上邻近于存储器系统M12安置PE12,并且在Y方向上邻近于存储器系统M13安置PE13。存储器接口IF06能够安排为被存储器系统M12和M13共享。
在直角坐标的Y方向(第一方向),存储器系统M14和M15关于存储器接口IF07对称地排列。在Y方向上邻近于存储器系统M14安置PE14,并且在Y方向上邻近于存储器系统M15安置PE15。存储器接口IF07能够安排为被存储器系统M14和M15共享。
总线映射存储器的可访问范围现在将参照图10描述。
每个PE可以有对两个纵向排列(Y方向,或第一方向)的存储器组的直接访问,并且有到与这两个存储器组横向邻近的存储器组的直接访问。就是说,在存储器组阵列极端横向末端(X方向,或第二方向)的PE00、PE01、PE14和PE15的每一个,有四个可直接访问的存储器组;其它的PE02到PE13每一个有六个可直接访问的存储器组。
每个EP用公用横向总线(common lateral bus)CBSL访问其它存储器系统的存储器组。可以经由DMA控制器依次访问公用横向总线CBSL。公用横向总线CBSL的使用允许每一个EP有对所有存储器组的间接访问。
当利用公用横向总线CBSL时,由于来自全部PE00到15的访问尝试的集中,所以能够限制总线结构的频带。
然而,在由多个PE组成的多处理器环境中,每个PE很少访问全部存储器区域。多数情况下,每个PE通过只获取对有限的存储器区域的访问来处理分配给它的任务。
在此意义上,上面的结构组成了形成多数多处理器环境的系统,保证可扩展性,并且减少布线资源的使用。
参照图11和12的如下描述是总线映射存储器如何典型地布线。
如上所述,总线被布置在存储器系统(存储器组)上。如此布线的存储器系统(组)分成两类:“偶数(even)”和“奇数(odd)”组。
存在对所有存储器系统公用的底层;顶部总线部分将存储器系统分为“偶数”和“奇数”存储器组。安装时两类存储器组横向地交替。
“偶数”和“奇数”之间的区别在于横向布线设置的地方。这个系统中,如上所述,每个PE能够有对邻近的横向安置的(X方向)存储器组的访问。如果它们位于两个邻近存储器组上的同样位置,那么用于从一个存储器组到另一个存储器组横向移动数据的总线部分(segment)将会物理地冲突。在总线结构由“偶数”和“奇数”部分组成的情况下,它们在邻近的存储器组之间就不冲突。
前面的描述是关于根据本发明的典型存储器装置的基本构造。依赖于总线如何布线可以有许多其它变化。
一种这样的变化是总线被共享用于对存储器接口的对边(opposite side)的访问的系统。在这个情况下,需要用于布线的区域被减少。
另一种变化,如图11和12所述,涉及实现合并多个读取和写入块的系统。这个设置有助于提高总线性能。
在图11中,参考数字30代表选择器,40代表读取端口,50代表写入端口,以及60代表数据流。依赖于将实现此系统的可接受的成本和用户要求的性能可以采用上述的任何一种变化。
如上所述,本发明的一个实施例是一种共享的存储器装置,其包括:多个处理器元件PE12-0到12-15;多个存储器模块14-0到14-63,其配置为可由多个处理器元件访问;以及连接装置13,其配置为使来自多个处理器元件的特定处理器元件能够访问来自多个存储器模块的特定存储器模块;其中允许多个存储器元件经由连接装置访问多个存储器系统M0到M15,每个存储器系统由至少一个存储器模块组成;并且其中可由不同处理器元件访问的多个存储器系统的每一个,允许多个存储器模块由不同处理器元件部分地共享和访问。优选地,共享的存储器装置还可以包括仲裁电路15,其配置为以优先顺序排列来自多个处理器元件的、访问任一存储器模块的同时请求,并且使各请求处理器元件按照以优先顺序排列的次序访问所述存储器模块。这些安排提供了如下主要效果:
当任何被PE使用的工作存储器模块适于在PE之间的数据传输时,可以减少用于通信目的的存储器模块。所需要做的全部是改变对存储器访问的方向。用于通信需要的时间因而接近零。
当PE数目上升时,PE和存储器之间的连接资源量对于PE计数线性地增加。这使得可能可扩展地安装和所需一样多的PE。
当所有PE能够对所有存储器模块访问时,尽管有足够的(substantial)利用的资源量,但好处可能显得不成比例地少。然而,上述的实施例涉及PE对存储器访问的有限的尝试的仲裁。这使得仲裁PE对任何一个存储器访问的争用的尝试变得简单。
本发明还可以应用于总线映射存储器,并且优点同样地显著。
就是说,系统配置是完全可扩展的。
布线量和功消耗,两个当所配置的PE数目已增长时可能增加的因素,能够被减少。
即使当PE数目升高,频带也不下降。
本领域的技术人员应该理解,各种修改、组合、子组合和替换可以根据设计要求和其它因素出现,只要它们在权利要求或其等价物的范围之内。
相关专利申请的交叉引用
本发明包含与在2006年9月19日向日本专利局提交的日本专利申请JP2006-252390相关的主题,在此通过引用包括该申请的所有内容。

Claims (12)

1.一种共享的存储器装置,其包括:
多个处理器元件;
多个存储器模块,其配置为可由所述多个处理器元件访问;以及
连接装置,其配置为使来自所述多个处理器元件的特定处理器元件能够访问来自所述多个存储器模块的特定存储器模块;
其中允许所述多个存储器元件经由所述连接装置访问多个存储器系统,每个存储器系统由至少一个存储器模块组成;以及
其中可由不同处理器元件访问的所述多个存储器系统的每一个,允许所述多个存储器模块由所述不同处理器元件部分地共享和访问。
2.根据权利要求1所述的共享的存储器装置,其中所述多个存储器系统以这样的方式构造,使得定位互相临近的处理器元件能够访问共享的存储器模块。
3.根据权利要求1所述的共享的存储器装置,还包括:
仲裁电路,其配置为以优先顺序排列来自多个处理器元件的、访问任一存储器模块的同时请求,并且使各请求处理器元件按照以优先顺序排列的次序访问所述存储器模块。
4.根据权利要求1所述的共享的存储器装置,还包括:
控制器,其配置为与外部实体通信,并且控制对所述多个存储器模块的访问,其中所述控制器能够经由所述连接装置访问所有的存储器模块。
5.一种共享的存储器设备,其包括多个共享的存储器装置,每个存储器装置包括:
多个处理器元件;
多个存储器模块;
连接装置,其配置为使来自所述多个处理器元件的特定处理器元件能够访问来自所述多个存储器模块的特定存储器模块;以及
控制器,其配置为与外部实体通信,并且控制对所述多个存储器模块的访问;
其中允许所述多个存储器元件经由所述连接装置访问多个存储器系统,每个存储器系统由至少一个存储器模块组成;
其中可由不同处理器元件访问的所述多个存储器系统的每一个,允许所述多个存储器模块由所述不同处理器元件部分地共享和访问;以及
其中所述多个共享的存储器装置的控制器由总线安排连接。
6.根据权利要求5所述的共享存储器设备,其中所述多个存储器系统以这样的方式构造,使得定位互相临近的处理器元件能够访问共享的存储器模块。
7.根据权利要求5所述的共享存储器设备,其中每个所述共享的存储器装置还包括:
仲裁电路,其配置为以优先顺序排列来自多个处理器元件的、访问任一存储器模块的同时请求,并且使各请求处理器元件按照以优先顺序排列的次序访问存储器模块。
8.根据权利要求5所述的共享存储器设备,其中所述各控制器能够经由所述各连接装置访问所有的存储器模块。
9.一种共享的存储器装置,其包括:
多个处理器元件;
多个存储器系统,每个存储器系统由至少一个存储器模块组成,该模块可由所述多个处理器元件访问;以及
多个接口,其与所述多个处理器元件相连接,并与所述多个存储器模块相连接;
其中所述多个处理器元件能够访问所述多个存储器系统,每个存储器系统由至少一个存储器模块组成;
其中可由不同处理器元件访问的所述多个存储器系统的每一个,允许所述多个存储器模块由所述不同处理器元件部分地共享和访问;以及
其中总线布线被映射在所述多个存储器系统上。
10.根据权利要求9所述的共享的存储器装置,其中所述多个存储器接口位于穿过所述多个存储器系统的所述多个处理器元件的对面;
其中组成所述多个存储器系统的所述多个存储器模块,在与第一方向基本上垂直的第二方向上并行排列,其中所述多个存储器接口位于所述多个处理器元件的对面;以及
其中所述多个处理器元件、所述多个存储器接口、以及所述多个存储器模块由连接布线相连接,该连接布线以矩阵方式排列在所述多个存储器系统上的所述第一和所述第二方向。
11.根据权利要求9所述的共享的存储器装置,还包括
在所述第二方向上布线的公用总线。
12.根据权利要求10所述的共享的存储器装置,还包括
在所述第二方向上布线的公用总线。
CN200710154783A 2006-09-19 2007-09-19 共享的存储器装置 Expired - Fee Related CN100592282C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP252390/06 2006-09-19
JP2006252390A JP5076418B2 (ja) 2006-09-19 2006-09-19 共有メモリ装置

Publications (2)

Publication Number Publication Date
CN101149727A true CN101149727A (zh) 2008-03-26
CN100592282C CN100592282C (zh) 2010-02-24

Family

ID=39190041

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710154783A Expired - Fee Related CN100592282C (zh) 2006-09-19 2007-09-19 共享的存储器装置

Country Status (4)

Country Link
US (1) US8539167B2 (zh)
JP (1) JP5076418B2 (zh)
KR (1) KR101549538B1 (zh)
CN (1) CN100592282C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541803A (zh) * 2011-12-31 2012-07-04 曙光信息产业股份有限公司 数据发送方法和计算机

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8359462B1 (en) 2007-11-21 2013-01-22 Marvell International Ltd. Method and apparatus for programmable coupling between CPU and co-processor
US8478945B2 (en) * 2010-02-01 2013-07-02 International Business Machines Corporation Dynamic management of destage tasks in a storage controller
JP6030951B2 (ja) * 2012-12-28 2016-11-24 ルネサスエレクトロニクス株式会社 半導体装置及び電子装置
US10334334B2 (en) * 2016-07-22 2019-06-25 Intel Corporation Storage sled and techniques for a data center
US11379389B1 (en) * 2018-04-03 2022-07-05 Xilinx, Inc. Communicating between data processing engines using shared memory
US11635967B2 (en) * 2020-09-25 2023-04-25 Advanced Micro Devices, Inc. Vertical and horizontal broadcast of shared operands

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0429733B1 (en) 1989-11-17 1999-04-28 Texas Instruments Incorporated Multiprocessor with crossbar between processors and memories
JPH03177958A (ja) * 1989-12-06 1991-08-01 Nec Corp 情報処理システム
JPH08272672A (ja) * 1995-03-29 1996-10-18 Hitachi Ltd メモリ制御方式
US6122714A (en) * 1997-10-24 2000-09-19 Compaq Computer Corp. Order supporting mechanisms for use in a switch-based multi-processor system
US6055605A (en) * 1997-10-24 2000-04-25 Compaq Computer Corporation Technique for reducing latency of inter-reference ordering using commit signals in a multiprocessor system having shared caches
JPH11195766A (ja) * 1997-10-31 1999-07-21 Mitsubishi Electric Corp 半導体集積回路装置
JP2001338492A (ja) * 2000-05-26 2001-12-07 Matsushita Electric Ind Co Ltd 半導体装置と制御方法
JP2001344222A (ja) * 2000-05-31 2001-12-14 Oki Electric Ind Co Ltd コンピュータ・システム
US6925643B2 (en) * 2002-10-11 2005-08-02 Sandbridge Technologies, Inc. Method and apparatus for thread-based memory access in a multithreaded processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541803A (zh) * 2011-12-31 2012-07-04 曙光信息产业股份有限公司 数据发送方法和计算机

Also Published As

Publication number Publication date
CN100592282C (zh) 2010-02-24
KR101549538B1 (ko) 2015-09-02
JP2008077152A (ja) 2008-04-03
US20080071996A1 (en) 2008-03-20
JP5076418B2 (ja) 2012-11-21
US8539167B2 (en) 2013-09-17
KR20080026050A (ko) 2008-03-24

Similar Documents

Publication Publication Date Title
CN100592282C (zh) 共享的存储器装置
CN112149369B (zh) 基于芯粒架构的多核封装级系统及其面向芯粒的任务映射方法
US7587545B2 (en) Shared memory device
US10740282B2 (en) Interconnect circuits at three-dimensional (3-D) bonding interfaces of a processor array
US20120089787A1 (en) Transaction processing multiple protocol engines in systems having multiple multi-processor clusters
US20030225938A1 (en) Routing mechanisms in systems having multiple multi-processor clusters
US20040015628A1 (en) Interrupt handling in systems having multiple multi-processor clusters
WO2015171461A1 (en) Interconnect systems and methods using hybrid memory cube links
US9792251B2 (en) Array of processor core circuits with reversible tiers
CN1816012B (zh) 用于多线程、多重处理单片系统网络处理器单元的可升级的、高性能全局互联方案
CN103365795A (zh) 分布式重排序缓冲器
US20040221135A1 (en) Method for forming a single instruction multiple data massively parallel processor system on a chip
US9400762B2 (en) Integrated device with memory systems accessible via basic and bypass routes
CN101131858B (zh) 三维多端口存储器及其控制方法
JP5017971B2 (ja) 集積装置
Lefter et al. A shared polyhedral cache for 3d wide-i/o multi-core computing platforms
Daneshtalab et al. Memory-efficient logic layer communication platform for 3D-stacked memory-on-processor architectures
US11789641B2 (en) Three dimensional circuit systems and methods having memory hierarchies
Mooij et al. Architecture of a communication network processor
CN115796248A (zh) 一种基于分布式片上存储的多核张量处理器
Civera et al. Multiprocessor System Architecture
JPH02156666A (ja) 半導体装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100224

Termination date: 20210919