CN1729464A - 在阵列处理器上的划分 - Google Patents

在阵列处理器上的划分 Download PDF

Info

Publication number
CN1729464A
CN1729464A CNA038152258A CN03815225A CN1729464A CN 1729464 A CN1729464 A CN 1729464A CN A038152258 A CNA038152258 A CN A038152258A CN 03815225 A CN03815225 A CN 03815225A CN 1729464 A CN1729464 A CN 1729464A
Authority
CN
China
Prior art keywords
equipment
array
unit
iteration
algorithm
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
CNA038152258A
Other languages
English (en)
Other versions
CN100492342C (zh
Inventor
G·博恩斯
O·盖伊-贝利尔
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1729464A publication Critical patent/CN1729464A/zh
Application granted granted Critical
Publication of CN100492342C publication Critical patent/CN100492342C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures 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/8023Two dimensional arrays, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

呈送了一种用于数字信号处理的组件体系结构。其中的每个处理器均与其最近邻居相通信的一个可配置的二维相同处理器阵列,提供了一个卷积、有限脉冲响应(“FIR”)过滤器以及自适应有限脉冲响应过滤器可被映射到的简单而高效的平台。可以通过向每个单元下载简单程序来实现自适应FIR。每个程序为局部抽头更新、系数更新和与最近邻居通信指定了循环运算处理。在稳态处理期间,不要求与存储器之间通信的高带宽。该组件体系结构可以与外部控制器或通用数字信号处理器相互连接,以便提供静态配置或补充所述稳态处理。

Description

在阵列处理器上的划分
本发明涉及数字信号处理,并且尤其涉及优化在集成电路中的数字信号处理操作。在一个优选实施例中,本发明涉及一种对二维处理器阵列执行划分的算法的使用。
在数字信号处理中卷积是通用的,其通常被应用来实现有限脉冲响应(FIR)过滤器。下面是数据信号X与系数向量C的卷积的通式:
y n = Σ i = 0 N C i × x n - i
其中假定所述数据信号X和所述系统响应或过滤系数向量C两个都是自变量。
对于每个输出数据,从存储器中取数据yn、2N,必须执行N次乘法和求N次乘积和。通常从两个独立的存储单元执行存储器事务,其分别对应所述系数Ci和数据Xn-i。在实时自适应过滤器情况下,其中在稳态运行期间常常更新所述系数,因此必须执行附加的存储器事务和算术计算以便更新并存储所述系数。特别地是,已经优化通用数字信号处理器来对冯·诺依曼类型处理器高效地执行这种计算。然而在某些应用中,其中会遇到高的信号处理速率和严格的功耗约束,所述通用数字信号处理器仍然是不切实际的。
划分是可以在DSP算法中要求的另一种操作。在通用的数字信号处理器上每秒执行数目巨大的划分对带宽要求相对较高的算法来说仍然是不切实际的。
为了应对这种约束,已经应用了大量算法和体系结构的方法。一个通用的方法是在频率域内实现所述处理。从而,从算法上讲,可以使用例如傅立叶变换之类的给定变换来把所述卷积变换为频谱乘积,然后逆变换可以生成所希望的和。在多数情况下,高效的快速傅立叶变换技术实际上往往把总的计算负荷降低在所述时间域内原始卷积的总计算负荷之下。在单载波地面信道译码的情景下,为部分实现ATSC 8-VSB均衡器的刚好提出这样的一种技术,这种技术在申请人Dagnachew Birru的美国专利申请09/840,203和09/840,200中给出了更充分的描述,其中的每一件申请均给予了共同的转让。在此将这些申请中的每一个全文引用以供参考。
在由于算法需求或存储器约束的原因导致不容易把所述卷积变换到所述频率域的情况下,已经提出专门的ASIC处理器来实现所述卷积,并在自适应系数更新算法中支持具体选择,这在Vol.18,No.11(十一月,2000)IEEE Journal on Selected Areas inCommunications中Grayver的“A Reconfigurable 8 GOP ASICArchitecture for high-speed data communication”;和在themono-carrier study,ISPACS 2000,檀香山,2000年11月中E.Dujardin与O.Gay-Bellile的“A Programmable Architecturefor digital communications”给出了描述。
这种ASIC模式的重要特征包括:(1)包含计算硬件和存储器的专门单元,用于使与系数和状态存储之间的所有抽头(tap)计算都本地化;和(2)在本地编程并通过各个单元复制所述单元功能的事实。
已经成功地把在高级可重构的多处理器系统上的研究应用于复杂的工作站站处理系统。Michael Taylor,在2001年1月,MIT计算机科学实验室,撰写了原型设计文档,例如描述了使用静态可编程网络以及动态可编程通信网络来通信的可编程处理器“格片”(tiles)阵列。所述静态网络使用可重构的纵横式网络连接到任意的处理器,在配置期间定义互连,而所述动态网络使用动态路由来实现分组交付模式。在所有情况下,都从源单元编程互连性。
然而在上述所有体系结构解决方案中,不是灵活性因为把过滤器限制到线性链而大打折扣(与在所述Grayver的参考文献中的一样),就是复杂性太高,因为将要寻址的处理范围超过卷积(与在Dujardin&Gay-Bellile和Taylor的参考文献中的一样;在Taylor的参考文献中,例如描述了复杂处理器阵列,以致工作站可以建立于其中描述的系统上)。因此,当前还没有任何系统能够单纯以高效率来提供这两种灵活性,当然不管这种系统是被提议的还是现有的。
因此,在这些模式的有利的改进往往会增强针对所述卷积问题的灵活性,并且还保持简单的编程和通信控制。
在此给出实现卷积函数和其他数字信号处理操作的组件体系结构。其中的每个处理器均与其最近邻居相通信的一个二维相同处理器阵列,提供了一个卷积、有限脉冲响应(“FIR”)过滤器以及自适应有限脉冲响应过滤器可被映射到的简单而高效的平台。可以通过向每个单元下载简单程序来实现自适应FIR。每个程序为局部抽头更新、系数更新和与最近邻居通信指定了循环算术运算处理。还可以使用迭代和自限制算法来在相同平台上实现划分,划分可以跨独立的单元而被映射。在稳态处理期间,不要求与存储器之间通信的高带宽。
该组件体系结构可以与外部控制器或通用数字信号处理器相互连接,以便提供静态配置或补充所述稳态处理。
在一个优选实施例中,可以把附加的阵列结构叠加在原始阵列上,附加的阵列结构的构件由位于部分和汇合点(convergencepoint)的阵列元件组成,目的在于最大化资源利用效率。
图1描述了一个依照本发明的相同处理器阵列;
图2描述了在所述阵列中的每个处理器可以与其最近邻居通信的事实;
图3描述了依照本发明用于把最近邻居输出端口的任意组合加载到逻辑邻居输入端口的可编程静态模式;
图4描述了依照本发明的单元的运算控制体系结构;
图5到11依照本发明举例说明了32抽头的实FIR到4×8处理器阵列的映射;
图12到图14举例说明了依照本发明的优选实施例的和组合到最终结果的加速;
图15举例说明了依照本发明优选实施例的具有叠加了3×3阵列的9×9抽头阵列;
图16描述了具有外部微控制器和随机访问配置总线的阵列的实现方式;
图17举例说明了用于在所述阵列和外部过程之间正式地交换数据流的可扩展的方法;
图18描述了在图17中举例说明的所述抽头阵列元件的框图;和
图19依照本发明描述了示例性的应用。
提议了一种阵列体系结构,用于通过提供下列特征来改进上述现有技术,所述特征包括:新颖的单元间通信模式,其允许单元之间状态的进展,如增加新数据;新颖的串行加法模式,其实现所述积的求和,和由外部设备所进行的单元编程和状态和系数的访问。
本发明的基本思想纯粹就是有一个。给出一种用于实现DSP操作的更高效的并且更灵活的平台,其是与最近邻居通信的处理器阵列,并且局部程序控制。参考所示出的附图下面将要描述在现有技术基础上本发明的优势及细节。
如图1中举例说明,描述了一个二维相同处理器阵列(在所描述的示例性实施例中是4×8网格),每一个处理器均包含运算处理硬件110、控制120、寄存器堆130和通信控制功能140。可以分别编程每个处理器以便对局部存储的数据或对来自其它处理器的输入数据执行运算操作。
理论上,在启动期间静态配置所述处理器,并且在稳态操作期间所述处理器对周期进度表操作。该体系结构选择的优势将使状态和系数存储与运算处理协同定位,目的在于消除与存储器设备之间通信的高带宽。
以下是由本发明实现的有益目标:
A.保持一致的单元和阵列结构,以便使最优化更容易;
B.为更大的阵列提供可扩展性;
C.在可能的程度上,保持本地化的通信,以便最小化功耗并且避免通信瓶颈;
D.清楚明了的编程;和
E.如果需要,允许灵活开发映射方法和工具。
图2描述了所述处理器相互通信体系结构。为了保持编程和路由简单化,而且为了最小化通信距离,所述通信被限制在最近邻居之间。这样,一个给定的处理器201可以只与其最近邻居210、220、230和240通信。
如图3所示,通过把边界输入端口当作一个通信目标来引用,而为每个处理器定义与最近邻居之间的通信。边界输入端口只不过是特定的最近邻居物理输出端口310到给定处理器的逻辑输入端口320的映射。然后所述逻辑输入端口320变为在上述处理器中用于局部运算处理的对象。在一个优选实施例中,无条件地把每个处理器输出端口连线到其最近邻居的可配置输入端口。处理器的运算过程可以写入这些物理输出端口,并且如果要求的话可以编程所述处理器或阵列元件的最近邻居,以便接受所述数据。
依照在图3中描述的随机访问配置330,静态配置步骤可以加载最近邻居输出端口310到逻辑输入端口320的任意组合的映射。所述映射存储在Bind_inx寄存器340中,这些寄存器作为选择信号连线到配置多路复用器350,这些寄存器实现了阵列元件或处理器的输入最近邻居数据到内部逻辑输入端口的实际连接。
尽管图3的示例性实施描述了每个单元四个输出端口,然而在可替换实施例中,可以实现每个单元一个输出端口的简化体系结构以便降低或消除可配置输入端口的复杂性。这种措施往往基本上把任务放在内部运算程序上来选择希望其输出作为输入的最近邻居,在这种情况下其往往被连线到物理输入端口。
换句话说,在图3中描述的特征允许特定单元到一个输入端口的固定映射,这往往在配置模式之下执行。在所述简化方法中,消除该输入绑定硬件和相应的配置步骤,并且运行时间控制选择要访问哪个单元输出。这种接线与在所述简化实施例中是相同的,但简化了单元设计和程序的复杂性。
当共享单元之间的控制器时,在图3中描述的更复杂的绑定机制是很有益的特征,从而产生了单指令多数据或“SIMD”机器。
图4举例说明了用于运算控制的体系结构。可编程的数据路径(datapath)元件410对内部存储寄存器420或输入数据端口430的任何组合操作。可以把所述数据路径结果440写入到选择的局部寄存器450或一个所述输出端口460中。所述数据路径元件410依照一致的操作码通过像RISC的操作码控制,所述操作码编码操作,源操作数(srcx)和目的操作数(dstx)。可以把映射单循环程序的自适应FIR过滤器下载到每个单元。所述控制器由寻址程序存储设备的简单程序计数器组成,作为结果的操作码被施加到所述数据路径。在局部寄存器堆中存储系数和状态。在所描述的实施例中所述抽头计算需要两次乘法,后面是一系列最近邻居积的相加,目的在于实现所述过滤器的求和。此外,通过穿过最近邻居的寄存器移动来实现沿着所述过滤延迟线状态的进展。
可以用多个数据路径元件定义更复杂的阵列单元,所述多个数据路径元件由相关联的超长指令字或“VLIW”控制器加以控制。可以使用例如像由由诸如AR|T设计者之类的体系结构合成工具产生的应用专用指令处理器(ASIP)来实现这些复杂的阵列处理元件。
在本发明示例性的实施中,图5到11举例说明了32抽头实FIR过滤器到4×8处理器阵列的映射,依照如上面详述的本发明的体系结构排列并编程这些处理器。如在图5中所描述,实现状态流和后续的抽头计算,其中在第一步,32个单元中的每一个计算所述过滤器的一个抽头,并且在随后的步骤中(六个处理器周期,如在图6-11中描述)求和所述积而得到一个最终结果。为便于论述,以下将指定单独的阵列元件为阵列的(i,j)元件,其中i给出行,并且j给出列,并且所述阵列左上方元件被定义为所述原点,即(1,1)元件。
因此,图6-11详述了穿过所述阵列部分乘积的求和,并且示出了在初始求和阶段期间最近邻居通信方案的效率。在图6描述的步骤中,沿着所述阵列的每个行,列1-3正在实现3∶1加法,把结果存储在列2中,列4-6正在实现3∶1加法,把结果存储在列5中,以及列7-8正在实现2∶1的加法,把结果存储在列8中。在图7所描述的步骤中,把在所述阵列的列2、5和8中的每一个中的行1-2与行3-4的中间和相组合,现在把结果分别存储在元件(2,2)、(2,5)和(2,8),以及(3,2)、(3,5)和(3,8)中。在这些步骤期间,充分利用所述处理器硬件和互连网络以便把所述积项相组合,从而有效地利用了所述可用资源。
然而通过在图8中描述的所述步骤,在如下的一个加法步骤中,必须占用整个阵列,所述加法步骤涉及三对阵列元件,在这三对阵列元件中存储了在图7中描述的步骤的结果。在图9到10描述的步骤中,包括把这三个部分和移动到邻近的单元以便用最终3∶1相加(如图11所示)来组合它们称为最终结果的过程中涉及到了所述整个阵列,把所述最终结果存储在阵列元件(3,5)中。
可以看出,为了组合远程部分和而使阵列的其余部分空闲是有些低效的。为了便于与资源充分利用相结合,体系结构增强理论上应该保持单阵列结构,程序设计模型,并且保持可扩展。放松对所述最近邻居需求以便允许与附加的邻居通信往往使路由和处理器设计复杂化,并且在更大规模的阵列中不会消除近似的问题。从而,在一个优选实施例中,可以在原始阵列结构上叠加附加的阵列结构,构件由位于在两个3∶1最近邻居相加之后(在所描述的例子中,即在图6所描述的阶段之后)的部分和汇合点的阵列元件组成。这为部分和聚集提供了显著的增强。
在图12中举例说明了所叠加的阵列。所述叠加的阵列除每个元件具有最近部分和汇合点作为其最近邻居以外,均保持与下面的阵列相同的体系结构。所述两个阵列之间的交点同样出现在所述部分和汇合点上。从而在所述优选实施例中,使用所存在的阵列执行部分求和的第一阶段,其中保持良好的资源利用,并且在所叠加的阵列中实现部分求和的后面阶段,有着相同的最近邻居通信,但是其节点在原始的部分和汇合点,即在图12中的列2、5和8。图12到14举例说明了和组合到最终结果的加速。
图15举例说明了9×9抽头阵列,具有一个叠加的3×3阵列。从而所述叠加的阵列在所述9×9阵列每个3×3块的中心具有汇合点。通过增加附加的汇合点阵列可能获得具有高效的部分乘积组合的更大阵列。高效地加以支持的、作为结果的阵列大小为9N-1,其中N是阵列层的数目。从而,对于N层,可以使用最近邻居通信高效地组合多达9N个单元输出;即,在不隔离部分和的情况下,这些部分和往往要只被移动穿过单元来完成过滤相加树。
根据上述例子可以容易地递推出当所述阵列大小变大时的情况。图12-14示出了怎样使用最近邻居通信来使用另一阵列等级从而加速抽头积求和。第二等级除在×3周期之外与所述原始的下面的等级相同,并且所述单元与下面的单元相连接,所述下面的单元根据9个等级为0的单元的簇生成部分和。
所需要等级的数目取决于所希望处于所述阵列的单元的数目。如果在正方形中有一个九抽头的簇,那么最近邻居通信就能够用仅仅一个阵列等级来对所有项进行求和,并把结果累积在中央单元中。
对于多达81单元的更大的阵列,人们往往在9单元的簇中组织所述单元,在每个簇中心上放置等级1的单元以便接收所述部分和,并且在等级0和等级1上把每个簇连接在一起。在等级1,所述最近邻居是所述邻近簇的输出(现在包含所述部分和,其往往在没有等级1阵列的情况下被另外隔离)。对于此具有9个等级0单元的3×3的超簇,所述结果将在组合等级1的部分和之后出现在中央的等级1的单元。
对于比81大并且比729(93)小的阵列,人们往往用所述3×3等级1的单元来装配81个等级0的单元的超簇,于是在所述簇的中央单元上放置等级2的单元,以便接收等级1的部分和。所有的三个等级被连接在一起,这样所述等级2的单元现在可以使用最近邻居通信从邻近的超簇来组合部分积,结果出现在所述中央等级2的单元。
还可以通过递归地应用所述超簇来生长所述阵列。当然,在某点上,当上面的等级单元在物理上相隔很远时,VLSI线路延迟限制成为一个因素,从而最终限制阵列的扩展性。
接下来将描述用于将配置数据传送到阵列元件的方法,以及用于在所述阵列和外部过程之间交换采样流的方法。在图16中举例说明了适用于配置,以及与小阵列的采样交换的一个方法。这里总线1610把所有阵列元件与外部控制器1620相连接。所述外部控制器可以使用地址广播和局部单元译码机制,甚至是类似于RAM的行和列预译码和选择方法,来选择用于配置或数据交换的单元。该技术的好处是它很简单;然而,其用于较大阵列尺寸缺乏可伸展性,并且对大采样交换率而言就变为通信瓶颈。
图17举例说明了用于在所述阵列和外部过程之间高效地交换数据流的更加可扩展的方法。在阵列层次结构的每个等级,在所述阵列边缘的出局I/O端口可以在不使阵列路由和控制复杂的情况下方便地路由到边界单元。所述边界单元或许可以遵循如在所述阵列单元中利用的单个程序设计模型,不过在这里其便于增加任意功能和与所述阵列的连通性。因而,所述任意功能可用于插入过滤之间的操作,诸如判定反馈均衡器的限幅器。此外,所述边界单元可以在几乎没有控制器介入的情况下提供外部流I/O。在一个优选实施例中,把为静态配置目的的图16中的总线与为稳态通信的图17中描述的边界处理器组合在一起,从而支持大多数或所有的应用。
如上所述,在图18中描述了用于所述抽头阵列元件的、举例说明数据流的框图。
最后,在具体应用的情景下内举例说明本发明,图19描述了多重标准信道译码器,其中已经对本发明的可重构的处理器阵列进行了定位,用于自适应过滤,该处理器陈列起自适应过滤器阵列1901的作用。在前端(即数字前端1902)的数字过滤器还可以被映射到相同或某个别的本发明设备的优化版。可以把FFT(快速傅立叶变换)模块1903以及FEC(前向纠错)模块1904映射到本发明的处理阵列。
从而本发明增强了卷积问题的灵活性而保持简单程序和通信控制。同样,可以通过把简单程序下载到每个单元来实现自适应的FIR。每个程序为局部抽头更新、系数更新和与最近邻居通信指定了循环算术运算处理。在稳态处理期间,不要求与存储器之间通信的高带宽。
在一个附加实施例中,对这里描述的处理器阵列可以高效地执行牛顿-拉夫森(Newton-Raphson)算法。在所述牛顿-拉夫森算法中,通过迭代过程精化对函数值的估计,从而收敛与正确的值。所述算法用于一些复杂计算的计算机运算硬件,所述复杂算法包括划分、平方根和对数计算。特别对于划分,所述牛顿-拉夫森算法计算除数的倒数。把被除数乘以所述倒数来完成商的计算。在所述算法中第一步是把所述输入除数规格化到该算法正常运转的范围内,在我们的例子中所述范围为值1和2之间,以便使得倒数在1和1/2之间。
此外,用来移动数以便完成规格化的因数还必须存储起来以供为随后的操作使用。从而所产生的数目对由规格化的数和该因数组成,它们一起构成该数目的浮点表示:
e ss1.0bbbbbbbbbbbbbbbbbbbb
其中对于该浮点数表示,e是指数,用整数表示。S是符号,b是任意的二进制位值。
可以使用专用规格化单元来实现规格化,所述专用规格化单元在一个处理器指令周期内生成一个规格化的值。这种单元往往给所述阵列体系结构中的每个处理器单元增加了显著的复杂性,因此作为替代定义部分规格化指令。所述部分规格化指令允许在所述单元中以完成所述完全规格化所要求的附加指令周期为代价用最少的附加硬件来实现这一功能。对于那些其绝对值小于1或大于2的数目而言,通过按照要求进行左移或右移,就能够使所述输入除数介于1和2范围之中。根本不必对范围在1和2之内的任何数目作任何修改,原因在于它们已经在所希望的范围内之内了。
上述移动操作处于一个或多个移位寄存器,其中每个操作移动被限制于一个比特位置。要注意的是,可以在单个单元上执行每个操作,以致所述单元只需要很少智能或不需要任何高深的智能。作为替代,所述单元只对小于或等于1的数目左移一个位置,对大于2的数目右移一个位置,并且使在1和2之间的未改变的任何数目保持不动。
举例来说,我们具有输入值0.125,其应该被规格化到为1*2-3。使用上述的部分规格化,把所述除数规格化在2个部分规格化指令内。
存储的非规格化的:0b000.001000000000000000000
1遍规格化:0b000.010000000000000000000
2遍规格化:0b000.100000000000000000000
2遍规格化:0b001.000000000000000000000
规格化的尾数0b001.000000000000000000000
指数(-3)
0b 111101被期望->0b111101
作为分解该规格化程序到上述原始步骤的结果,所述总体算法不必关注对于要规格化的任何特定数目要求移动多少次。作为替代,通过任何潜在的输入所要求的最大迭代次数来馈送要加以规格化的任何数。对于那些要求较少移动的数目,其往往在不被移动的情况下简单地通过下次迭代来馈送。这是因为在把它们移动次数足够多多能够使其位于所要求的范围之后,它们往往已经在所要求的边界为1和2的范围之间了,并且任何更进一步的基本移位过程迭代会导致没有任何移动。因此,所述算法自限制的这一事实允许每次迭代在几乎不花费智能的情况下就能够在单个单元上加以执行了。
一旦如所描述部分地规格化该数目,就达到了值Xnorm。该值Xnorm按照如下用于牛顿-拉夫森算法中:
Yn+1=2yn-yn 2Xnorm
其中Y0最初设置成一个随机的推测值,比如说5。一旦所述牛顿-拉夫森算法收敛,就可以应用一个适当的因数来考虑在计算Xnorm的过程中发生的移动。
例如可以根据图20理解到:可以在独立的一个单元上执行所述算法的每次迭代,以致实现速度和简化。通过利用自限制算法,所述单元不必具有确定对于任何特定的数目是否按照要求的数目来移动的任何智能,对于任何特定的数目不管所要求移动的次数是小还是大,都可以同等地操作。这种属性允许更简单地制造并更经济地生产所述单元。
按要求,过滤器大小或者要映射的过滤器的大小在本发明中可扩展到大多数信道解码应用所要求的值之外。此外,在不干扰所述阵列结构或不使单元和路由选择优化复杂化的情况下,所述组件体系结构提供了无过滤功能、控制和外部I/O的插入。
这种结构用于容纳变化多的信号处理功能通过多单元映射-的灵活性性,还导致在相同阵列上链锁多功能的可能性。在这种模式中,映射到单元组的功能可以使用由所述体系结构提供的最近邻居通信模式来交换数据。因此可以把完全的信号处理链都映射到这种体系结构。
虽然上文描述了本发明的优选实施例,应当理解,那些本领域内普通技术人员可以做出各种修改和添加。这种添加和修改旨在由以下权利要求所涵盖。

Claims (25)

1.一种用于实现数字信号处理操作的设备,包括:
二维的处理单元阵列;
其中每个单元与其最近邻居通信并且实现一个迭代算法的至少一次迭代,其中所述迭代算法是自限制的。
2.如权利要求1所述的设备,其中单元间的通信被限制在所述最近邻居。
3.如权利要求2所述的设备,其中所述最近邻居通信是依照可编程的静态模式。
4.如权利要求2所述的设备,其中所述迭代算法实现划分。
5.如权利要求4所述的设备,其中每个单元具有四个输出端口。
6.如权利要求5所述的设备,其中每个单元把来自其每个最近邻居的输出端口、内部存储的数据或其任意组合中的一个作为输入。
7.如权利要求6所述的设备,其中每个处理单元具有用于存储把最近邻居输出端口的各种组合映射到其逻辑输入端口的映射的存储器。
8.如权利要求1所述的设备,其中所述存储器包括寄存器。
9.如权利要求8所述的设备,其中每个单元实现一次牛顿-拉夫森算法迭代。
10.如权利要求9所述的设备,其中所述运算控制体系结构包括:
局部控制器;
内部存储寄存器;和
数据路径元件。
11.如权利要求10所述的设备,其中所述数据路径元件至少可以实现加、乘和移动操作。
12.如权利要求11所述的设备,其中由所述局部控制器给所述数据路径元件提供像操作码之类的RISC。
13.如权利要求9所述的设备,其中所述运算控制体系结构包括:
局部VLIW控制器;
内部存储寄存器;和
多个数据路径元件。
14.如权利要求13所述的设备,其中所述数据路径元件均至少可以实现加、乘和移动操作。
15.如权利要求13所述的设备,其中所述处理单元作为ASIP加以实现。
16.如权利要求15所述的设备,其中所述ASIP由体系结构合成工具产生。
17.如权利要求9所述的设备,还包括一个或多个叠加的、更小的二维阵列,每个这种叠加的阵列都与所述一层较低的阵列在指定汇合点通信。
18.如权利要求13所述的设备,还包括一个或多个叠加的、更小的二维阵列,每个这种叠加的阵列都与所述一层较低的阵列在指定汇合点通信。
19.如权利要求17所述的设备,还包括可编程的边界单元,该边界单元连接于所有阵列层次结构中可利用的端口,并且使与外部过程之间的通信方便进行。
20.如权利要求19所述的设备,还包括可编程的边界单元,该边界单元连接于所有阵列层次结构中可利用的端口,并且使与外部过程之间的通信方便进行。
21.一种高效地执行划分算法的方法,所述方法包括:
把所述划分算法分成多次自限制算法的迭代,所述多次迭代的每次迭代可以在单元矩阵的单个单元上执行;以及
执行相同次数的迭代,而不管一个数目是否要被划分。
22.如权利要求21所述的方法,其中在单元矩阵的独立单元上执行每次迭代。
23.如权利要求22所述的方法,每次迭代包括一个数目在预先确定的范围之外的情况下把该数目向右或左移,并且该数目在所述预先确定的范围之内的情况下,不移动所述数目。
24.如权利要求3所述的设备,其中利用所述迭代算法来实现平方根函数。
25.如权利要求3所述的设备,其中单元子集均实现不同的算法,并且其中通过把多个子集链锁在一起来实现一个完全的信号链。
CNB038152258A 2002-06-28 2003-06-05 在阵列处理器上的划分 Expired - Fee Related CN100492342C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/184,514 2002-06-28
US10/184,514 US20040003201A1 (en) 2002-06-28 2002-06-28 Division on an array processor

Publications (2)

Publication Number Publication Date
CN1729464A true CN1729464A (zh) 2006-02-01
CN100492342C CN100492342C (zh) 2009-05-27

Family

ID=29779381

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038152258A Expired - Fee Related CN100492342C (zh) 2002-06-28 2003-06-05 在阵列处理器上的划分

Country Status (6)

Country Link
US (1) US20040003201A1 (zh)
EP (1) EP1520232A2 (zh)
JP (1) JP2005531843A (zh)
CN (1) CN100492342C (zh)
AU (1) AU2003239304A1 (zh)
WO (1) WO2004003780A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103543983A (zh) * 2012-07-11 2014-01-29 世意法(北京)半导体研发有限责任公司 用于提高平衡吞吐量数据路径架构上的fir操作性能的新颖数据访问方法
CN103543984A (zh) * 2012-07-11 2014-01-29 世意法(北京)半导体研发有限责任公司 用于特殊相关应用的修改型平衡吞吐量数据路径架构
CN109471062A (zh) * 2018-11-14 2019-03-15 深圳美图创新科技有限公司 定位方法、定位装置及定位系统

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2424503B (en) * 2002-09-17 2007-06-20 Micron Technology Inc An active memory device
US7299339B2 (en) * 2004-08-30 2007-11-20 The Boeing Company Super-reconfigurable fabric architecture (SURFA): a multi-FPGA parallel processing architecture for COTS hybrid computing framework
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
CN102200961B (zh) * 2011-05-27 2013-05-22 清华大学 一种动态可重构处理器内子单元的扩展方法
JP5953876B2 (ja) * 2012-03-29 2016-07-20 株式会社ソシオネクスト リコンフィグ可能な集積回路装置
US10885985B2 (en) 2016-12-30 2021-01-05 Western Digital Technologies, Inc. Processor in non-volatile storage memory
US10114795B2 (en) 2016-12-30 2018-10-30 Western Digital Technologies, Inc. Processor in non-volatile storage memory
US10581407B2 (en) * 2018-05-08 2020-03-03 The Boeing Company Scalable fir filter

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4380051A (en) * 1980-11-28 1983-04-12 Motorola, Inc. High speed digital divider having normalizing circuitry
GB8605366D0 (en) * 1986-03-05 1986-04-09 Secr Defence Digital processor
US5038386A (en) * 1986-08-29 1991-08-06 International Business Machines Corporation Polymorphic mesh network image processing system
US4985832A (en) * 1986-09-18 1991-01-15 Digital Equipment Corporation SIMD array processing system with routing networks having plurality of switching stages to transfer messages among processors
US4964032A (en) * 1987-03-27 1990-10-16 Smith Harry F Minimal connectivity parallel data processing system
US5671170A (en) * 1993-05-05 1997-09-23 Hewlett-Packard Company Method and apparatus for correctly rounding results of division and square root computations
US20030065904A1 (en) * 2001-10-01 2003-04-03 Koninklijke Philips Electronics N.V. Programmable array for efficient computation of convolutions in digital signal processing

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103543983A (zh) * 2012-07-11 2014-01-29 世意法(北京)半导体研发有限责任公司 用于提高平衡吞吐量数据路径架构上的fir操作性能的新颖数据访问方法
CN103543984A (zh) * 2012-07-11 2014-01-29 世意法(北京)半导体研发有限责任公司 用于特殊相关应用的修改型平衡吞吐量数据路径架构
CN103543984B (zh) * 2012-07-11 2016-08-10 世意法(北京)半导体研发有限责任公司 用于特殊相关应用的修改型平衡吞吐量数据路径架构
US9424033B2 (en) 2012-07-11 2016-08-23 Stmicroelectronics (Beijing) R&D Company Ltd. Modified balanced throughput data-path architecture for special correlation applications
CN103543983B (zh) * 2012-07-11 2016-08-24 世意法(北京)半导体研发有限责任公司 用于提高平衡吞吐量数据路径架构上的fir操作性能的新颖数据访问方法
CN109471062A (zh) * 2018-11-14 2019-03-15 深圳美图创新科技有限公司 定位方法、定位装置及定位系统

Also Published As

Publication number Publication date
CN100492342C (zh) 2009-05-27
WO2004003780A2 (en) 2004-01-08
EP1520232A2 (en) 2005-04-06
AU2003239304A8 (en) 2004-01-19
AU2003239304A1 (en) 2004-01-19
JP2005531843A (ja) 2005-10-20
WO2004003780A3 (en) 2004-12-29
US20040003201A1 (en) 2004-01-01

Similar Documents

Publication Publication Date Title
Kwon et al. Maeri: Enabling flexible dataflow mapping over dnn accelerators via reconfigurable interconnects
CN110036369B (zh) 一种计算方法及相关产品
Monien et al. Embedding one interconnection network in another
US8799623B2 (en) Hierarchical reconfigurable computer architecture
CN1126340A (zh) 可再配置的专用器件
Wijshoff Data organization in parallel computers
Feldmann et al. F1: A fast and programmable accelerator for fully homomorphic encryption (extended version)
CN100492342C (zh) 在阵列处理器上的划分
CN100346336C (zh) 使用主要因素算法的最佳离散傅利叶转换方法及装置
Bader et al. Practical parallel algorithms for dynamic data redistribution, median finding, and selection
TW202343310A (zh) 用於稀疏神經網路的自適應張量運算核心
Haghi et al. A reconfigurable compute-in-the-network fpga assistant for high-level collective support with distributed matrix multiply case study
Yang et al. ISOSceles: Accelerating sparse CNNs through inter-layer pipelining
CN1268231A (zh) 数据块规模可变的2维逆向离散余弦变换机
Shrivastava et al. A survey of hardware architectures for generative adversarial networks
Debnath et al. Multiple-valued minimization to optimize PLAs with output EXOR gates
JP2015503785A (ja) Fft/dftの逆順ソーティングシステム、方法およびその演算システム
Johnsson Data permutations and basic linear algebra computations on ensemble architectures
CN114631284A (zh) 配置精简指令集计算机处理器架构以执行全同态加密算法
CN113986816A (zh) 可重构计算芯片
Arredondo-Velázquez et al. A streaming accelerator of convolutional neural networks for resource-limited applications
KR20040041650A (ko) 디지털 신호 처리 장치, 디지털 신호 처리 계산 방법 및다중 표준 채널 디코더
Lucas Parallel algorithm for sorting on OTIS-ring multicomputer
KR20050016642A (ko) 디지털 신호 처리 동작 구현 장치 및 분할 알고리즘 실행방법
Johnsson Ensemble architectures and their algorithms: an overview

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: 20071102

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20071102

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.

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090527

Termination date: 20120605