CN101014948A - 单指令多数据处理器结构中的互连 - Google Patents
单指令多数据处理器结构中的互连 Download PDFInfo
- Publication number
- CN101014948A CN101014948A CNA2005800300611A CN200580030061A CN101014948A CN 101014948 A CN101014948 A CN 101014948A CN A2005800300611 A CNA2005800300611 A CN A2005800300611A CN 200580030061 A CN200580030061 A CN 200580030061A CN 101014948 A CN101014948 A CN 101014948A
- Authority
- CN
- China
- Prior art keywords
- treatment element
- data
- array
- memory
- memory array
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
- G06F15/8015—One dimensional arrays, e.g. rings, linear arrays, buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Microcomputers (AREA)
Abstract
一种单指令多数据(SIMD)处理器(1),包括:处理元件阵列(10),包括多个处理元件(PE0...PEN);存储器阵列(14),可操作地分为存储器部分(141...14N),将一个存储器部分分配给具体的处理元件。第一处理元件(PEN)可操作用于存取分配给第一处理元件的一部分存储器阵列(14),以及用于存取分配给第二处理元件的一部分存储器阵列,使用表示分配给将要进行存取的存储器位置的处理元件的标识值进行所述存取。
Description
技术领域
本发明涉及SIMD(单指令多数据)处理器结构中的互连。
背景技术
多媒体应用正在增长的复杂性不断地导致需要更大的计算性能。在这点上,已经开发了通用的CPU和DSP(中央处理单元和数字信号处理器),通过使用媒体加速器和任务级别的并行性来使用并行处理。
然而,此种媒体加速器仅努力增加了对于与在实现高性能的传统CPU结构的限制的克服。因此,该解决方案导致每单位运算较高的能量消耗。一种潜在地更成功的方法开发了可以用来提出功率有效结构的全数据并行性。一种此种结构是Xetal(例如,参见比利时根特的ACIVS 2002会议的“Smart Cameras:Architectural Challenges”),基于单指令多数据(SIMD)处理范例。该范例由于高度并行性而保持数据的局域性,并且允许共享诸如指令和地址解码器之类的资源,这两者对于减小功率消耗都是重要的。
图1是示出了SIMD结构的方框图。结构1包括处理元件阵列10,包括多个处理元件PE-0、…、PE-N。处理元件PE-0至PE-N从输入线路存储器12接收数据,所述输入线路存储器12本身经由输入预处理单元40接收数据3。SIMD结构1还包括工作存储器阵列14,可操作地分为存储器部分。每一个存储器部分与处理元件阵列10中的处理元件的具体的一个相关联。阵列10中的处理元件也能够向工作存储器阵列14传输数据以及从工作存储器阵列14接收数据,以便根据由处理元件接收到的指令来处理所述数据。将输出线路存储器单元16配置用于经由输出后处理单元50来输出数据。
阵列10由根据在程序存储器30中存储的程序操作的全局控制处理器20控制。控制处理器20操作以根据检索到的程序向处理元件提供指令。
输入线路存储器单元12提供输入数据的串行-并行转换,同时输出线路存储器单元14提供输出数据的并行-串行转换。在视频处理应用中,输出通道可以配置有串行处理器(50)以从视频帧中感兴趣的预定区域中提取统计信息。该信息可以用于诸如自动白平衡和曝光时间控制之类的自适应视频处理。
SIMD结构(和类似的并行处理机构)中的一个重点在于处理元件之间的互相通信的程度。通信通道的数目越多,确定信号处理算法的执行效率越高。象滤波一样的算法包含在相邻数据元件的范围内的基本卷积操作,并且受益于处理器-处理器通信通道。
假设每个PEN个数据元件的互连级别,(针对大多数图像处理内核N≥3),那么为了以最小等待时间存取所有N个数据元件,PE要求N个通信通道。然后将需要N到1开关(多路复用器)将N个通道之一与PE输入相连。图2示出了从6个相邻数据点存取数据的PE的逻辑通信路径。应该易于理解的是,这将导致PE和存储器之间互连的非常复杂的网络。
实际上,通信的程度越大,设计中的处理元件的数目越高,物理设计按照设计时间变得越复杂,所述设计时间用于找到相对于硅面积和性能的最佳互连拓扑。减小互连网络的复杂度是SIMD结构中的一个重要难题。无法成功地处理该难题,一般阻止大规模并行系统有效。
因此,需要使能够进行PE到PE通信以及节省成本和使用的PE到存储器通信的方法。
发明内容
根据本发明的一个方面,提出了一种单指令多数据(SIMD)处理器,包括:处理元件阵列,包括多个处理元件;存储器阵列,可操作地分为存储器部分,每一个存储器部分分配给具体的处理元件,其特征在于:第一处理元件可操作用于存取分配给第一处理元件的一部分存储器阵列,以及用于存取分配给第二处理元件的一部分存储器阵列,使用表示分配给将要进行存取的存储器位置的处理元件的标识值进行所述存取。
附图说明
图1是示出了SIMD处理结构的方框图。
图2是示出了在图1的结构中内部的存储器传送部分的方框图。
图3和图4示出了具体实现本发明的一个方面的交错存取技术。
图5示出了用于具体实现本发明的交叉存取技术的PE数字存储器和控制值。
图6示出了图3至图5技术的具体实现;以及
图7示出了具体实现本发明的另一种技术。
具体实施方式
本发明的实施例可以提供一种SIMD结构和技术,可以减轻在前考虑的结构和技术的缺点。具体地,本发明的实施例涉及经由工作线路存储器阵列14使能够进行PE至PE的数据内部通信。本发明的实施例将参考图1描述,并且还参考视频处理,其中将处理元件用于产生针对显示设备上的像素的颜色和其他视频值。应该易于理解的是,在该公开中描述的处理技术可以应用于不同于视频数据的数据。
存在用于限制PE的数目小于每条线路的像素数目的原因,例如为了硅效率,或当输入数据实体为2×2像素或更大时。类似的情况也可以由利用比全并行SIMD结构中PE更少的PE实现计算命令的应用中引起。
本发明的实施例使用“存储器交错存取”技术,可以减小n至1开关以及相关互连复杂性到简单的3至1开关。此种3至1开关可以使用诸如在WO2002/093905中公开的交错布局技术来具体实现。图3和图4示出了具体实现本发明的交错存取像素存储技术,分别针对当PE的数目是每线路(line)像素的一半和四分之一的情况。用于PE的阵列的接口由输入和输出数据线路示出。在两个图中,颜色(红色(R)、绿色(G)、和蓝色(B))是完整的图像线路,其像素已经被适当地放置为以PE的数目进行分割的列。
为了能够进行PE至PE相邻通信,工作线路存储器阵列14使用现有的地址机制,而无需任何外部的互连成本。如从图3所见,最简单的情况是当处理元件的数目是像素数目的一半,可以看出存储器阵列部分140、...、149分配有两组三个像素值。每一个像素具有红色、绿色和蓝色值(用R、G和B表示)。在图3中,在存储器阵列中表示像素数目。因此,针对像素0的值由R0、G0和B0给出,并且针对像素1的值由R1、G1和B1给出,等等。将针对像素0和1的像素值分配给第一存储器阵列部分140。类似地,将剩余的工作线路存储器阵列部分分配给各对像素值。
图4示出了当处理元件的数据是将要显示的像素的四分之一时的情况。因此,将每一个工作线路存储器阵列部分140、...、149针对四个像素的每一个来分配红色、绿色和蓝色值。图4示出了可以实现的方式。
针对能够对在分配给相邻(第二)处理元件的存储器部分中存储的数据进行存取的第一处理元件,相对于从其中检索数据的、分配给第一处理元件的存储器部分,使用表示存储器部分的标识值来实现存储器存取。
图5示出了如何通过适当的标识在工作存储器阵列14之内实现PE至PE的通信。使用简单的PE任务,将存储器位置复制到PE数字存储器作为示例。在两个像素交错存取的情况下,如(a)所示,将标识(0,1)用于存取分配给PE的像素,而将(-2,-1)和(2,3)用于存取分别为左边和右边PE而分配的像素。可以将相同的步骤延伸到与(b)中用于4个像素交错存取所示的较高的交错存取程度。
图6示出了在图3、图4和图5中所述技术的一种可能的实现。每一个PE(PEN-1、PEN和PEN+1)具有关联的多路复用器MN-1、MN和MN+1。多路复用器相连以从分配给相关处理元件的存储器阵列部分接收数据,并且还从相邻的(左边和右边)的处理元件存储器阵列部分接收数据。在图6中,可以看出,PEN能够从其自己的存储器部分14N、并且从分别分配给左边PE(PEN-1)和右边PE(PEN+1)的存储器部分14N-1和14N+1接收数据。使用如图5所示的值,从而可以通过各个多路复用器选择正确的数据路径。在图5中,标记为PE任务的列示出了示例数字存储器值,并且标记为效果@PE10和效果@PE14的列示出了分别在处理元件10和14处检索到的像素值。PE多路复用选择列示出了如何控制PE多路复用器。
该存储器交错存取方法证实了当PE的数目比每条线路的数据元件的数目少整数因子时是有吸引力的。然而,如果存在许多PE作为每条线路的数据元件(当使用全并行SIMD机构的情况下),没有交错存取可以进行,并且对于内部PE通信没有益处。可以将相同的技术成功地用于不同的特定标识值,例如(-1,0,1)。所述技术不局限于具体的视频值。
幸运地,在SIMD结构中的PE越多,时钟速度越慢,因为算法负载保持相同。可以将此较慢的速度用于实现时间分布通信接口,以提供必要的PE至PE通信。基本思想在于通过在一个系统周期之内进行N次左/右移位,使用N-移位器以将数据元件与适当的PE对齐。移位的最大允许数目(Nmax)取决于每一次移位所需的时间(tshift)、系统时钟的周期(Tsyst)、以及PE执行加载操作所花费的时间(tload)。
Nmax=[Tsyst-tload/tshift](1)
该方法的一种可能实现如图7所示。针对每一个处理元件和存储器阵列部分,该实现包括多路复用器M和寄存器R。如图7所示,PE1具有关联的多路复用器M1,以及寄存器R1。将移位控制器103配置为控制多路复用器以及用于寄存器的时钟信号。该时钟信号(local_clock)由时钟单元101提供。存储器部分的输出与和所述存储器部分相关联的多路复用器相连,并且与相连的多路复用器相连。因此,针对存储器部分1(PE1),从存储器部分D1输出的数据与多路复用器M1相连。多路复用器的输出与适当的寄存器R1相连。当启用时钟信号CLK时,将针对寄存器R1的输入从输出Q1输出到PE1。寄存器操作于传统的方式。将每一个寄存器输出反馈回相邻的多路复用器,使得针对PE1的多路复用器M1从存储器部分1(D1)和寄存器R0和R2的输出来接收输入。图7的数据转换单元的操作如下:在第一时钟周期期间,将基准地址处的数据加载到寄存器。紧接着,产生N个本地时钟信号以执行N次移位。移位方向和移位的数目由控制器来准备。紧接着,然后控制器通过启用/禁用时钟产生器来确定正确的操作。将本地时钟的周期设定为允许正确的分级功能。
在其中PE的数目小于每条线路的数据元件的数目时,移位器和存储器交错存取技术可以进行组合,以使PE的存取范围最大化。
基于移位器的方法限制加速区为IC的较小部分,从而节省了能量消耗,所述能量消耗是通过将所有的PE和全局互连加速以执行许多移位复制操作以对齐数据元件来实现相同功能将需要的能量消耗。
基于移位器的方法原则上将输入数据选择多路复用器从PE移动到存储器接口模块。
因此,本发明的实施例能够提供一种方法和技术,能够实现节省成本且可实用的PE至PE以及PE至存储器的通信。
Claims (7)
1.一种单指令多数据(SIMD)处理器(1),包括:
处理元件阵列(10),包括多个处理元件(PE0...PEN);
存储器阵列(14),可操作地划分为多个存储器部分(141...14N),将每一个存储器部分分配给特定的处理元件,
其特征在于:第一处理元件(PEN)用于存取分配给第一处理元件的一部分存储器阵列(14),以及用于存取分配给第二处理元件的一部分存储器阵列,使用表示分配给将要进行存取的存储器位置的处理元件的标识值进行所述存取。
2.如权利要求1所述的处理器,其中,所述标识值表示处理元件以及相关的一部分存储器阵列中的地址。
3.如权利要求1所述的处理器,其中,所述标识值表示第二处理元件相对于第一处理元件的位置。
4.如前述任一项权利要求所述的处理器,还包括针对每一个处理元件的多路复用器,可用于选择数据路径,用于将数据传送到相关的处理元件,从多个存储阵列部分中选择所述数据路径。
5.如前述任一项权利要求所述的处理器,包括:具有控制器和时钟信号产生器的数据传送单元;以及针对每一个处理元件的多路复用器和寄存器,所述寄存器与相关处理元件相连以提供数据项目,以及以从关联的多路复用器接收数据项目,其中,所述多路复用器可用于根据标识值来选择多个数据输入之一。
6.一种用于在处理元件的SIMD阵列中的处理元件之间进行数据通信的方法,每一个所述处理元件可用于对在存储器阵列中存储的数据进行存取,所述方法包括:
将存储器阵列的各个部分分配给阵列中的处理元件;
针对阵列中的第一处理元件,使用表示存储器阵列部分所分配的处理元件的标识值,来对分配给第一和第二处理元件的那部分存储器阵列进行存取。
7.如权利要求6所述的方法,其中,使用多路复用器来选择用于提供给相关处理单元的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0420004.4A GB0420004D0 (en) | 2004-09-09 | 2004-09-09 | Interconnections in SIMD processor architectures |
GB0420004.4 | 2004-09-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101014948A true CN101014948A (zh) | 2007-08-08 |
Family
ID=33186717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005800300611A Pending CN101014948A (zh) | 2004-09-09 | 2005-09-08 | 单指令多数据处理器结构中的互连 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7596679B2 (zh) |
EP (1) | EP1792258B1 (zh) |
JP (1) | JP2008512762A (zh) |
KR (1) | KR20070061538A (zh) |
CN (1) | CN101014948A (zh) |
AT (1) | ATE468564T1 (zh) |
DE (1) | DE602005021374D1 (zh) |
GB (1) | GB0420004D0 (zh) |
WO (1) | WO2006027751A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111133455A (zh) * | 2017-10-31 | 2020-05-08 | 三星电子株式会社 | 处理器及其控制方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007135635A1 (en) * | 2006-05-24 | 2007-11-29 | Nxp B.V. | Integrated circuit arrangement for carrying out block and line based processing of image data |
WO2007141679A1 (en) * | 2006-06-08 | 2007-12-13 | Koninklijke Philips Electronics N.V. | Pattern detection on an simd processor |
US7441099B2 (en) * | 2006-10-03 | 2008-10-21 | Hong Kong Applied Science and Technology Research Institute Company Limited | Configurable SIMD processor instruction specifying index to LUT storing information for different operation and memory location for each processing unit |
FR2918190B1 (fr) * | 2007-06-26 | 2009-09-18 | Thales Sa | Dispositif d'adressage pour processeur parallele. |
CN102112983A (zh) | 2008-08-06 | 2011-06-29 | Nxp股份有限公司 | Simd并行处理器架构 |
WO2011064898A1 (en) | 2009-11-26 | 2011-06-03 | Nec Corporation | Apparatus to enable time and area efficient access to square matrices and its transposes distributed stored in internal memory of processing elements working in simd mode and method therefore |
US10061590B2 (en) * | 2015-01-07 | 2018-08-28 | Micron Technology, Inc. | Generating and executing a control flow |
CN114238204B (zh) * | 2017-03-14 | 2023-01-06 | 珠海市芯动力科技有限公司 | 可重构并行处理 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4827403A (en) * | 1986-11-24 | 1989-05-02 | Thinking Machines Corporation | Virtual processor techniques in a SIMD multiprocessor array |
JPH05120321A (ja) * | 1991-10-30 | 1993-05-18 | Sony Corp | 行列計算の演算方法 |
JPH0713956A (ja) * | 1993-06-28 | 1995-01-17 | Toshiba Corp | Simd型並列計算機データ転送装置 |
US5638533A (en) * | 1995-10-12 | 1997-06-10 | Lsi Logic Corporation | Method and apparatus for providing data to a parallel processing array |
US5960211A (en) * | 1995-12-15 | 1999-09-28 | Hughes Aircraft | Data formatting method and apparatus for a data processing array |
US6018814A (en) * | 1997-03-26 | 2000-01-25 | Simd Solutions, Inc. | Star-I: scalable tester architecture with I-cached SIMD technology |
JPH11353289A (ja) * | 1998-06-10 | 1999-12-24 | Mitsubishi Electric Corp | 並列処理プロセッサ及び並列処理方法 |
US7185174B2 (en) | 2001-03-02 | 2007-02-27 | Mtekvision Co., Ltd. | Switch complex selectively coupling input and output of a node in two-dimensional array to four ports and using four switches coupling among ports |
KR100401946B1 (ko) * | 2001-08-10 | 2003-10-17 | 박종원 | 주소계산과 자료이동방법 및 이를 이용한 충돌회피 기억 장치 |
-
2004
- 2004-09-09 GB GBGB0420004.4A patent/GB0420004D0/en not_active Ceased
-
2005
- 2005-09-08 KR KR1020077005487A patent/KR20070061538A/ko not_active Application Discontinuation
- 2005-09-08 WO PCT/IB2005/052929 patent/WO2006027751A1/en active Application Filing
- 2005-09-08 US US11/575,068 patent/US7596679B2/en not_active Expired - Fee Related
- 2005-09-08 JP JP2007530828A patent/JP2008512762A/ja active Pending
- 2005-09-08 EP EP05782948A patent/EP1792258B1/en not_active Not-in-force
- 2005-09-08 CN CNA2005800300611A patent/CN101014948A/zh active Pending
- 2005-09-08 DE DE602005021374T patent/DE602005021374D1/de active Active
- 2005-09-08 AT AT05782948T patent/ATE468564T1/de not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111133455A (zh) * | 2017-10-31 | 2020-05-08 | 三星电子株式会社 | 处理器及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
GB0420004D0 (en) | 2004-10-13 |
EP1792258B1 (en) | 2010-05-19 |
JP2008512762A (ja) | 2008-04-24 |
DE602005021374D1 (de) | 2010-07-01 |
US20080320273A1 (en) | 2008-12-25 |
EP1792258A1 (en) | 2007-06-06 |
WO2006027751A1 (en) | 2006-03-16 |
ATE468564T1 (de) | 2010-06-15 |
US7596679B2 (en) | 2009-09-29 |
KR20070061538A (ko) | 2007-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101014948A (zh) | 单指令多数据处理器结构中的互连 | |
CN109409515B (zh) | 运算装置和方法 | |
US6334138B1 (en) | Method for performing alltoall communication in parallel computers | |
CN102483697B (zh) | 无存储器瓶颈的低能耗高速计算机 | |
CN107657581A (zh) | 一种卷积神经网络cnn硬件加速器及加速方法 | |
GB2122781A (en) | Multimicroprocessor systems | |
CN101093474B (zh) | 利用矢量处理器实现矩阵转置的方法和处理系统 | |
CN102279818A (zh) | 支持有限共享的向量数据访存控制方法及向量存储器 | |
US12079137B2 (en) | Banked memory architecture for multiple parallel datapath channels in an accelerator | |
WO2016024508A1 (ja) | マルチプロセッサ装置 | |
CN103761072A (zh) | 一种粗粒度可重构层次化的阵列寄存器文件结构 | |
CN100492342C (zh) | 在阵列处理器上的划分 | |
CN1760835A (zh) | 计算引擎代码空间的扩展 | |
CN103455367A (zh) | 用于实现可重构系统中多任务调度的管理单元和方法 | |
KR101031680B1 (ko) | 고속 pe 간 데이터 재배치 기능을 갖는 프로세서 어레이 시스템 | |
CN102184090B (zh) | 一种动态可重构处理器及其固定数的调用方法 | |
CN115568055A (zh) | 一种氛围灯控制方法、控制器、电子设备及存储介质 | |
CN113448624A (zh) | 数据存取方法及装置、系统、ai加速器 | |
CN110659118B (zh) | 一种用于多领域芯片设计的可配置混合异构计算核心系统 | |
CN101218604A (zh) | 具有块可访问缓冲存储器的图像处理电路 | |
CN112712167A (zh) | 支持多种卷积神经网络加速的存储器访问方法及系统 | |
CN106155924A (zh) | 图片合并方法、装置及智能设备 | |
US20240256475A1 (en) | Batch matrix multiplication operations in a machine learning accelerator | |
CN116150046B (zh) | 一种高速缓存电路 | |
Samardzic | Making Computation on Encrypted Data Practical through Hardware Acceleration of Fully Homomorphic Encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: NXP CO., LTD. Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V. Effective date: 20080328 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20080328 Address after: Holland Ian Deho Finn Applicant after: Koninkl Philips Electronics NV Address before: Holland Ian Deho Finn Applicant before: Koninklijke Philips Electronics N.V. |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |