CN1685309A - 计算上高效数学引擎 - Google Patents

计算上高效数学引擎 Download PDF

Info

Publication number
CN1685309A
CN1685309A CNA038226995A CN03822699A CN1685309A CN 1685309 A CN1685309 A CN 1685309A CN A038226995 A CNA038226995 A CN A038226995A CN 03822699 A CN03822699 A CN 03822699A CN 1685309 A CN1685309 A CN 1685309A
Authority
CN
China
Prior art keywords
output
shift register
data
circuit
memory
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
CNA038226995A
Other languages
English (en)
Other versions
CN1685309B (zh
Inventor
里安·S·布杰特
夏伊·S·庭尔曼
史蒂芬·S·苏普利
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.)
InterDigital Technology Corp
Original Assignee
InterDigital Technology 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 InterDigital Technology Corp filed Critical InterDigital Technology Corp
Publication of CN1685309A publication Critical patent/CN1685309A/zh
Application granted granted Critical
Publication of CN1685309B publication Critical patent/CN1685309B/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
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/015Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising having at least two separately controlled shifting levels, e.g. using shifting matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)
  • Measuring Fluid Pressure (AREA)
  • Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Image Processing (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

本发明涉及在运算法使用一个单一数学引擎以使得所述数学引擎能够对所有运算法使用相同的多任务器时,用于执行许多不同形式的方法与系统。所述数学引擎包含一个选择性控制并联输出寄存器,至少一个选择性控制存储器以及多个处理组件。所述输出寄存器、存储器以及处理组件都选择性受到待使用的运算法所控制。

Description

计算上高效数学引擎
技术领域
本发明有关使用数学引擎来计算复杂乘数阵行的输出。更特别是,本发明为可存取执行多个数学计算的计算上高效数学引擎。
背景技术
最新无线通信系统通常需大量数学计算来执行信号处理。该计算通常借由处理器及特定应用集成电路(ASICs)来执行。
用于接收器的标准特定应用集成电路设计需执行及计算许多算法,其于规定期间通常需要许多平行相乘来完成该计算。这些算法通常包含许多矩阵对矩阵及矩阵对向量乘法,及许多离散富利叶转换(DFT)及快速富利叶转换(FFT)计算。因为乘法器占用特定应用集成电路大量空间,所以预期设计可施加相同乘法器跨越若干算法的解决方案。
特定共享计算可被用来支持各种目前无线技术,如WCDMA,WTT,CDMA2000,802.1X,TDSCDMA,FDD,TDD,及不被呈现的其它未来系统架构。普遍被执行之一该类计算为点乘积乘法。执行点乘积计算为两矩阵间操作的标准函数。例如,执行频道估计及数据估计需点乘积计算。宽频分时双工系统中,该计算可包含主要因子快速富利叶转换计算,一矩阵乘上另一矩阵的乘法,一矩阵乘上其复杂共轭转置的乘法,及一矩阵乘上一向量的乘法。
通常,若干点乘积计算必须借由单通信装置来执行,因此通信装置必须具有充足处理功率来支持该所需计算。目前,各算法是使用专用硬件来执行其自我数学函数。发展再使用硬件来最大化操作效率的系统是有利的。操作效率包含但不限于处理时间,执行处理的硅面积,及处理其间硅所需的功率。
发明内容
依据本发明,数学引擎是提供用来执行多类数学计算使硬件得以被有效使用。本发明包含一存储器,具有一并联输出,被用来储存一个或更多被选择输出于逻辑近似值的并联输出中的值。如向量的被储存值长度超过计算区段容量的例中,存储器是寻址来提供促进完成全向量的数学执行的逻辑序行中被称为折叠(fold)的向量部件。
不同演算结果是借由选择性使用致动数据转移及正确数学计算来控制数学引擎操作的赋能信号而产生。当设计信号处理器时,此具有增加数学引擎执行不同类型计算的弹性,且提供节省处理器电路降低半导体固定资产所需量的优点。
附图说明
图1为本发明数学引擎的大致方块图。
图2A-C显示具有其复杂共轭转置(A)用来计算自我相关矩阵(AHA)的系统响应矩阵(AH)。
图3A-G显示执行AHA函数所需计算的图1的数学引擎。
图4A-D显示AH矩阵与该被接收信号向量(r)的乘法。
图5A-I显示执行AHr函数所需计算的图1的数学引擎。
图6A-D显示执行离散富利叶转换所需计算的图1的数学引擎。
图7A-C显示选择性使用输入源。
具体实施方式
本发明可参考附图来说明,其中遍及全文的相同标号是标示相似组件。
本发明为处理多个独立及不同算法的单数学引擎。该数学引擎可针对所有算法使用相同硬件。因为乘法器需要特定应用集成电路上显著空间,所以本发明降低特定应用集成电路所需的空间量。本发明的数学引擎亦借由较多时间使用硬件来非常有效执行所需计算。数学引擎的效率是视输入矩阵大小及处理组件数量而定。
通常,数学引擎具有至少两输入及一输出。该输入包含一串联输入及一并联输入,其中该并联输入是与该处理组件数量一样宽。处理组件数量可被最佳化为整个向量、一部分向量、或矩阵的向量。并联及串联输入均可针对不同操作类型被加载移位寄存器或另外类型串联存取寄存器。并联输出移位寄存器为一种具有一并联输出且可快速输出被储存数据的存储器。移位寄存器的并联输出是多路传送使得可执行串联存取寄存器功能的其宽度借由处理组件数量决定的逻辑近似值,可执行具有可选择输出的并联输出移位寄存器的功能或可提供对次要并联输入的存取。主要并联输入及移位寄存器的被多路传送并联输出及次要并联输入可当作对复杂乘法器及加法器树的输入,其增加数学引擎所执行的计算效率。此使数据可针对各被执行操作尽快地被移入寄存器,亦使数据针对被有效执行的操作内步骤而再组织。
在较佳实施例中,并联输出移位寄存器是从逻辑近似数据值输出数据,使该输出得以被用来储存被选择性并联输出至计算区段的值。被储存向量长度超过计算区段容量的例子中,并联输出移位寄存器被寻址来提供促进完成全向量的数学执行的序行中的向量部件。结果,几乎每隔时脉均产生一计算,而非多步骤来准备用于操作的数据。当被与被给定长度的输出电路耦合时,并联输出移位寄存器为并联输出非折叠移位寄存器,意指其存储器储存为计算区段的数据宽度(也就是处理组件的数量)的n倍。
加法器树是馈送一累加器,其可促成许多不同矩阵对矩阵及矩阵对向量乘法,及促成如AHA及AHr的有效计算。
依据本发明,数学引擎所执行的点乘积计算包含但不限于频道估计及数据估计所需的多个不同类型乘法,如主要因子快速富利叶转换;一矩阵乘上另一矩阵的乘法,一矩阵乘上其复杂共轭转置的乘法,及一矩阵乘上一向量的乘法。
参考图1,依据本发明的数学引擎30简单方块图显示。数学引擎30包含一主要并联数据输入源(PPDIS)31,一多任务解讯器32,一n折叠移位寄存器33,一串联数据输入源(SDIS)34,一多任务器35及一次要并联数据输入源(SPDIS)36。亦被包含者为一复杂乘法器处理组件(PE)阵行40,包含多个阵行组件(图标41-44),一复杂加法器树55及一复杂累加器56。复杂累加器56包含一起始条件输入多任务器58,一加总器57及一加总器输出寄存器59。加总器输出寄存器59提供一累加输出。复杂乘法器处理组件阵行40提供包含点乘积输出的并联复杂乘法功能。操作时,主要并联数据输入源31的输出包含Q位置。串联数据输入源34提供复杂接收芯片序行给移位寄存器33。来自串联数据输入源34的输出是用来并联负载该移位寄存器33。移位寄存器33具有n折叠,其中各折叠具有Q位置,各位置包含一复杂值。此外,其可负载具有来自主要并联数据输入源31的Q位置的值的任何折叠,或每个时脉移位零点的X位置。多任务器35接收来自移位寄存器33的输出及来自次要并联数据输入源36的复杂Q位置值。
来自多任务器35的输出是提供至复杂乘法器阵行40,其被用来提供对应输入至复杂加法器树55。复杂加法器树55为一Q输入复杂加法器树。
复杂加法器树55提供其输出至累加器56。累加器56是于加总器57处被提供一起始条件,其经由多任务器58来提供。加总器57的输出结果储存于输出寄存器59中。
图1所示本发明数学引擎30可执行若干不同类型计算,借此减少独立处理器的需要,因此大为降低该数学计算所需的特定应用集成电路实际资产数量。宽频分时双工通信系统中的较佳实施例三个不同应用说明如下但不限于:1)自我相关矩阵(AHA)的产生;2)白匹配滤波器(AHr);及3)经由Steiner算法执行频道估计。然而,熟悉本技术人士应了解只要不背离本发明精神及范畴,其它算法亦可被实行。
执行AHA函数的本发明一例将参考图2A-C及图3A-G来说明。此例将说明使用依据本发明的图1的数学引擎来执行AHA函数的处理。AHA函数为数学引擎所计算的最复杂函数之一,因为其是计算自部分储存矩阵且该相同部分储存矩阵是以仅具有部分计算结果的不同方式存取。该操作的顺序并不以矩阵逻辑级数为基础,而是矩阵如何借由数学引擎既存功能来配适。
图2A为AH,A,AHA矩阵的简单字段矩阵表示。仅AH行块被储存于存储器中,所以整个AH及A矩阵表示为可以被转换来使用如A矩阵中的数据的数据虚数部分来存取数据的被储存行块上的寻址函数。最终AHA矩阵是压缩处理,彷佛其被建构自AH及A矩阵。
因为AH子块仅被储存于一单存取存储器中(图1中的主要并联数据输入源32),所以第一步骤复制AH存储器的内容进入移位寄存器33,其中当其仅借由被用于计算中的数据窗察觉时,其亦可被操纵呈现第二及第三行块。因为AH矩阵为扩充因子(SF)+频道响应长度(W)-1值宽,所以仅有20处理组件,各AH文字为20值。数据移入20值块称为折叠(此例中如SF+W-1=44,所以具有3折叠)。图3A,B及C显示呈现将第一AH行加载移位寄存器的首三个时脉周期。
图3A中,AH块的第一行的第一折叠是加载移位寄存器中的第一折叠储存。图3B中,AH块的第一行的第二折叠是加载移位寄存器中的第二折叠储存。图3C中,AH块的第一行的第三折叠是加载移位寄存器中的第三折叠储存。
将被计算的矩阵部件强调于图2B。整行是强调,但仅需线内的矩阵部件被用于该计算中。图2B显示AH矩阵第一行乘上A矩阵第一栏,产生AHA矩阵的第一值。
因为AH及A矩阵行及栏块大于处理组件数量(此例中为44的行及栏大小),所以以一次一折叠来计算。各折叠片段是相乘及累积于累积寄存器59中(被显示于图1中)直到整行被达成为止,该时点结果是储存外接数学引擎。AH矩阵借由移位寄存器中的值来表示,而A矩阵值以借由采用复杂乘法器阵行40中的其共轭来执行的虚值反函数而被呈现于AH存储器中。
图3D显示AH矩阵第一行的第一折叠乘上A矩阵第一栏的第一折叠。此乘法结果储存于累积寄存器59中。图3E显示AH矩阵第一行的第二折叠乘上A矩阵第一栏的第二折叠。此乘法累积结果是加至先前累积值且被储存于累积寄存器59中。图3F显示AH矩阵第一行的第三折叠乘上A矩阵第一栏的第三折叠。此乘法累积结果加至先前累积值且被储存于累积寄存器59中。被储存于累积寄存器59中的值代表AHA矩阵的第一位置且被外部储存以进一步处理。此乘法采用3时脉,一个用于各折叠,但仅第一时脉被呈现于图3G中,其显示AH矩阵第一行的第一折叠乘上A矩阵第二有效栏的第一折叠。此乘法结果储存于累积寄存器59中。此处理进行3个时脉直到该累积结果被外部储存以进一步处理为止。
图2C中,可看到16零点如何被移位至移位寄存器33左侧使AH矩阵第二行块可经由被用于计算窗的输入窗来看到。此处理仅采用一时脉且可被与剩余计算平行处理,借此明显节省时间。针对被用于计算窗的值中的AH子块的各移位版本,AH矩阵子块第一行的此移位版本必须被乘上A矩阵子块所有有效栏。
第一有效AH行的每个折叠均被乘上被包含于可计算的输入窗中的A矩阵子块每个有效栏之后,针对隔一有效行做全部相同处理。该失序处理执行使AH行不必针对AH子块的移位版本被重新加载。
作为第二例,借由图1的数学引擎所执行的AHr函数将参考图4A-D及图5A-I做说明。AHr函数为整个AH函数乘上被接收向量(r)。AH矩阵并非全部被储存,仅较小部份称为AH行块被实际储存;AH矩阵中所有其它值被实际重复AH行块或零点。于是,AH可被储存为AH行块的复杂寻址方案。
例如,宽频分时双工第三代(3G)数据丛集类型1或3中总共具有61AH行块,而丛集类型2时槽中的总共具有69AH行块。实际上具有两r向量,此功能将针对一r向量来说明;此处理接着针对第二数据组向量做重复。
图4A为表示AHr矩阵乘法的图标。AH行块于AH矩阵各处被重复所有剩余零点。AH行块行中,四行的二个因先前处理而失效。
计算AHr函数的第一步骤以r向量值预载数学引擎的整个移位寄存器33。(图1所示)移位寄存器33借由串联数据输入源34串联加载。AH矩阵是提供于主要并联数据输入源31。
为了开始一步一步处理计算AHr,以r向量计算AH矩阵第一行显示于图4B。因为仅AH向量的第一SF+W-1值包含非0值,所以仅行乘积的第一部份被计算。因为仅有20处理组件,所以必须以多步骤来相乘(如折叠)此例中,W为29,所以SF+W-1为44。以处理组件数量(20)除以SF+W-1且进位成整数,则总共具有3折叠,或乘上3时脉并累积以r向量有效部分来计算AH行有效部分的全部点乘积。图5A,B及C所示的这些前三个时脉显示一步一步处理计算此矩阵行及向量的此点乘积第一值。
图5A显示第一AH行的第一折叠乘上r向量的第一折叠,而该结果储存于累积寄存器59中。图5B显示第一AH行的第二折叠乘上r向量的第二折叠,而该结果是添加于目前位于累积寄存器59中的结果。图5C显示第一AH行的第三折叠乘上r向量的第三折叠,而该结果是添加于目前位于累积寄存器59中的结果。最终累积现在被储存为第一AHr计算点。
下一步以目前被计算符号来计算AH行块的下一有效行。此牵涉r向量的相同部分乘上图4C所示新AH行。r向量可保持相同而AH不同行是存取于AH存储器中。再次,三时脉显示于显示所有三折叠的乘法累积的图5D,E及F。图5D显示第三AH行的第一折叠乘上r向量的第一折叠,而该结果储存于累积寄存器59中。图5E显示第三AH行的第二折叠乘上r向量的第二折叠,而该结果是添加于目前位于累积寄存器59中的结果。图5F显示第三AH行的第三折叠乘上r向量的第三折叠,而该结果是添加于目前位于累积寄存器59中的结果。最终累积现在被储存为第二AHr计算点。
下一步开始以r向量来计算第二AH行块。此牵涉将各有效AH第二行子块行乘上r向量。因为下一行从最后被移位16值,所以被乘上AH子块的r向量部分是不同。图4D中,被牵涉于计算中的部分是强调。
因为被储存的AH行块并不移动,所以r向量必须被移位来重新校准被乘上新AH行块中的行的r向量部分。此借由使用移位寄存器33对16时脉移位16新值,及下降r向量第一值来达成。此处理的首两个时脉是显示于第五G及H值,其余是推论。此后,相同如第一AH行块的处理是激活,所以此重复操作的第一时脉是显示与第一AH行块的第一时脉相比。
图5G显示被放入移位寄存器的第一值遗失时,被转移入移位寄存器右侧的r向量的一值。图5H显示被放入寄存器的第二值遗失时,被转移入移位寄存器的r向量的第二值。图5I显示第一AH行乘上最新移位r向量的第一折叠,而该结果正如第一AHr行块第一计算而被储存于累积寄存器59中。此处理针对每一个AH行块继续每个有效AH行块行的每个折叠。
作为第三例,借由图1的数学引擎所执行的Steiner算法将参考图6A-D做说明。图标显示使用数学引擎来操作456pt Steiner的3pt离散富利叶转换。图6A-C显示第一离散富利叶转换计算,各图显示不同时脉。如图所示,离散富利叶转换的首三个地址已被串联加载存储器,所以其全部可以并联方式经由主要并联数据输入源31被一次存取(图1中)。被用于离散富利叶转换的抖动(Twiddle)因子经由次要并联数据输入源36被输入(图1中)。
各这三个时脉中,地址0,152及304处的第一离散富利叶转换输入是乘上对该离散富利叶转换唯一的三个抖动因子组之一。这三个计算结果是外接图1的数学引擎。
图6A中,抖动组1的三点乘上离散富利叶转换1的三点,而该结果是外部储存。第二离散富利叶转换的第一点加载存储器下一行。图6B中,抖动组2的三点乘上离散富利叶转换1的三点,而该结果是外部储存。第二离散富利叶转换的第二点加载存储器下一行。图6C中,抖动组3的三点乘上离散富利叶转换1的三点,而该结果是外部储存。第二离散富利叶转换的第三点加载存储器下一行。
图6D显示下一离散富利叶转换第一点是如何被以第一抖动因子组,而其它两组将遵循以下时脉。64点离散富利叶转换以些微不同方式来达成,其中各离散富利叶转换组乘上抖动组是采用储存前被一起累积的四个连续时脉。
图6D中,抖动组1的三点是乘上离散富利叶转换2的三点,而该结果是外部储存。第三离散富利叶转换的第一点加载存储器下一行。此乘法针对每一个3pt离散富利叶转换被继续用于所有三个抖动因子组。其它离散富利叶转换以8抖动组被同样达成8pts,以19抖动组达成19pts,而以64抖动组达成64pts。
参考图7A-C,其可见选择性输入本发明数学引擎允许数学引擎执行AHA,AHr及Steiner函数。如图7A所示,针对AHA函数,仅主要并联数据输入源输入于AHA操作期间被用来提供系统响应矩阵(AH);系统响应矩阵乘上其复杂共轭转置值。由于使用移位寄存器的并联负载能力且因为复杂乘法阵行包含共轭其输入之一的能力,所以各点视需多少折叠而被计算于x时脉循环中(其中1=<x=n,n为折叠最大值#)。
参考图7B,针对AHR函数,主要并联数据输入源提供系统响应矩阵(AH)。于是,串联输入于AHA操作期间被用来提供被接收向量(r)的数据栏。系统响应矩阵AH针对时槽被乘上该被接收向量(r)的数据栏。由于使用移位寄存器的串联负载能力,所以当系统响应矩阵被提供至主要并联输入时,数据字段是加载移位寄存器。最终向量的各组件视需多少折叠而被计算于x时脉循环中(其中1=<x=n,n为折叠最大值#)。
如用于图7C所示用于Steiner操作(FFT),主要并联数据输入源提供快速富利叶转换输入数据组,而次要并联数据输入源提供快速富利叶转换抖动因子。快速富利叶转换操作期间,m点快速富利叶转换中,数据组的适当m点借由次要并联数据输入源提供至复杂乘法阵行,而适当快速富利叶转换抖动因子借由次要并联数据输入源提供。

Claims (18)

1.一种数学引擎,包含:
接收待处理的数据的一并联输出移位寄存器;
一处理器,包含使用多个算术逻辑单元(ALU)电路的一加法器树,用于接收该移位寄存器的输出及提供数据输出;借此该移位寄存器包含一可选起始位置,以该处理器的容量为基础来选择性输出。
2.如权利要求1所述的数学引擎,其特征在于进一步包含一多任务器,用于接收来自该并联输出移位寄存器的输出,及把来自该并联输出移位寄存器的数据供至该处理器。
3.如权利要求2所述的数学引擎,其特征在于进一步包含选择性致动来自该移位寄存器的输出的至少一致动电路。
4.如权利要求1所述的数学引擎,其特征在于该数据包含实部及虚部组成。
5.一种执行多个不同类型计算的计算单元,该计算单元包含:
一并联输出移位寄存器;
一多任务器,用于接收来自该移位寄存器的输出,及提供输出至该加法器树;
该加法器树包含多个算术逻辑单元;及
一选择电路,可选择性致动该移位寄存器及该多任务器以把该输入数据特定部分施加至该加法器树以执行不同计算。
6.如权利要求5所述的计算单元,其特征在于进一步包含至少一具有该加法器树至少一倍数据宽度的可选择存储器。
7.一种执行计算的数学引擎,该数学引擎包含:
可储存输入数据的至少一输入存储器;
一可选择存储器,接收来自该至少一输入存储器的输入数据,及经由多个折叠提供可选择输出,其中各折叠包含该可选择存储器内的至少一位置;及
一处理器阵行,具有多个处理器,用来接收来自该可选择存储器的输出及选择性提供一输出。
8.如权利要求7项所述的数学引擎,其特征在于进一步包含视该预期数学计算来选择性控制该至少一输入存储器及该可选择存储器的一致动电路。
9.如权利要求8所述的数学引擎,其特征在于进一步包含一加法器树,具有用于接收来自该处理器阵行的输出及处理该输出的多个算术逻辑单元电路;及一累积电路,用于接收及累积来自该加法器树之各输出;借此该致动电路进一步控制至少一部份该加法器树来支持该预期数学计算。
10.一种可解决复杂函数的计算电路;该计算电路包含:
一存储器,接收用于复杂解的输入数据;
一储存体,储存该复杂函数的运算因子;
一多任务器,接收来自该存储器及该运算因子的一输入;
一处理阵行电路,依据被该存储器储存的若干位位置来处理,该处理阵行电路包含来自该多任务器的输出及至少某些该输入数据;
一复杂加法器树,接收来自该处理阵行的输出及提供一添加输出;及
一累积器电路,接收来自该加法器树的输出及提供所累积的复杂输出。
11.如权利要求10所述的计算电路,其特征在于该存储器包含具有一可选择起始位置的并联输出移位寄存器。
12.如权利要求10所述的计算电路,其特征在于进一步包含提供一抖动因子为执行离散富利叶转换的运算因子,其中该多任务器接收来自该存储器及该运算因子的其输出。
13.一种可解决复杂函数的计算电路,包含:
一存储器,接收用于解答的复杂输入数据;
一储存体,用于储存抖动因子;
一多任务器,接收来自该存储器的复杂输入数据及来自该储存体的该抖动因子;
一处理阵行电路,依据被该存储器储存的若干位位置来处理数据,该处理阵行电路包含来自该多任务器的输出及至少某些该输入数据;
一复杂加法器树,接收来自该处理阵行的输出及提供一添加输出;及
一累积器,可计数该被添加输出。
14.如权利要求13所述的计算电路,其特征在于该存储器包含具有包含一可选择起始位置的并联输出移位寄存器。
15.一种电子解决复杂函数的方法,该方法包含:
提供来自第一存储器而用于复杂解答的输入数据;
提供来自第二存储器而用于复杂函数的运算因子,并以来自该第一存储器的数据与该运算因子相乘以提供多任务数据;及
供应该多任务数据的选择部分至处理阵行以作为并联输出,该选择部分乃视该复杂函数而定。
16.如权利要求15所述的方法,其特征在于该处理阵行包含多个加法器。
17.如权利要求15所述的方法,其特征在于进一步包含:
提供一抖动因子以便作为执行离散富利叶转换的该运算因子;及
选择性致动至少一部份该处理阵行,借此控制被该处理阵行所处理的数据大小。
18.如权利要求15所述的方法,其特征在于进一步包含累积来自该处理阵行的数据输出。
CN038226995A 2002-09-24 2003-09-24 计算上高效数学引擎 Expired - Fee Related CN1685309B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US41316402P 2002-09-24 2002-09-24
US60/413,164 2002-09-24
PCT/US2003/030089 WO2004029793A1 (en) 2002-09-24 2003-09-24 Computationally efficient mathematical engine

Publications (2)

Publication Number Publication Date
CN1685309A true CN1685309A (zh) 2005-10-19
CN1685309B CN1685309B (zh) 2010-08-11

Family

ID=32043214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN038226995A Expired - Fee Related CN1685309B (zh) 2002-09-24 2003-09-24 计算上高效数学引擎

Country Status (11)

Country Link
US (2) US7430577B2 (zh)
EP (2) EP2146278A1 (zh)
JP (1) JP4263693B2 (zh)
KR (3) KR20050099641A (zh)
CN (1) CN1685309B (zh)
AT (1) ATE456086T1 (zh)
AU (1) AU2003270874A1 (zh)
CA (1) CA2499929A1 (zh)
DE (1) DE60331088D1 (zh)
NO (1) NO20051806L (zh)
WO (1) WO2004029793A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102707931A (zh) * 2012-05-09 2012-10-03 刘大可 一种基于并行数据通道的数字信号处理器

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060149804A1 (en) * 2004-11-30 2006-07-06 International Business Machines Corporation Multiply-sum dot product instruction with mask and splat
KR20070075946A (ko) * 2006-01-17 2007-07-24 장영범 저전력 고속 푸리에 변환 방법 및 장치와, 이를 이용한통신 단말기
US20080071851A1 (en) * 2006-09-20 2008-03-20 Ronen Zohar Instruction and logic for performing a dot-product operation
US9495724B2 (en) * 2006-10-31 2016-11-15 International Business Machines Corporation Single precision vector permute immediate with “word” vector write mask
US8332452B2 (en) * 2006-10-31 2012-12-11 International Business Machines Corporation Single precision vector dot product with “word” vector write mask
US8175853B2 (en) * 2008-03-28 2012-05-08 International Business Machines Corporation Systems and methods for a combined matrix-vector and matrix transpose vector multiply for a block-sparse matrix
US8626815B1 (en) * 2008-07-14 2014-01-07 Altera Corporation Configuring a programmable integrated circuit device to perform matrix multiplication
CN101847093B (zh) * 2010-04-28 2013-09-04 中国科学院自动化研究所 具有可重构低功耗数据交织网络的数字信号处理器
US9503747B2 (en) * 2015-01-28 2016-11-22 Intel Corporation Threshold filtering of compressed domain data using steering vector
WO2017131711A1 (en) 2016-01-28 2017-08-03 Hewlett Packard Enterprise Development Lp Memristor crossbar array for performing a fourier transformation
US10089110B2 (en) * 2016-07-02 2018-10-02 Intel Corporation Systems, apparatuses, and methods for cumulative product
CN108475188A (zh) * 2017-07-31 2018-08-31 深圳市大疆创新科技有限公司 数据处理方法和设备
US10754649B2 (en) 2018-07-24 2020-08-25 Apple Inc. Computation engine that operates in matrix and vector modes
US20220197975A1 (en) * 2020-12-23 2022-06-23 Intel Corporation Apparatus and method for conjugate transpose and multiply

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3535694A (en) * 1968-01-15 1970-10-20 Ibm Information transposing system
JPS58207177A (ja) 1982-05-28 1983-12-02 Nec Corp 演算装置
US4811210A (en) 1985-11-27 1989-03-07 Texas Instruments Incorporated A plurality of optical crossbar switches and exchange switches for parallel processor computer
JPH0734228B2 (ja) 1987-02-23 1995-04-12 株式会社東芝 複合類似度法によるパタ−ン認識装置
JPH07113886B2 (ja) * 1987-05-11 1995-12-06 株式会社日立製作所 演算回路
US5268856A (en) * 1988-06-06 1993-12-07 Applied Intelligent Systems, Inc. Bit serial floating point parallel processing system and method
US5050119A (en) * 1989-10-06 1991-09-17 North American Philips Corporation Optimized sparse transversal filter
US5179531A (en) * 1990-04-27 1993-01-12 Pioneer Electronic Corporation Accelerated digital signal processor
US5301340A (en) * 1990-10-31 1994-04-05 International Business Machines Corporation IC chips including ALUs and identical register files whereby a number of ALUs directly and concurrently write results to every register file per cycle
US5487089A (en) * 1992-02-17 1996-01-23 Matsushita Electric Industrial Co., Ltd. Nyquist filter for digital modulation
JP3413940B2 (ja) 1994-03-29 2003-06-09 ソニー株式会社 演算回路
US5909572A (en) 1996-12-02 1999-06-01 Compaq Computer Corp. System and method for conditionally moving an operand from a source register to a destination register
DE69839316T2 (de) * 1997-01-20 2009-04-16 Matsushita Electric Industrial Co., Ltd., Kadoma-shi Digitale Kamera mit auswechselbaren Anzeigevorrichtungen
US6401194B1 (en) * 1997-01-28 2002-06-04 Samsung Electronics Co., Ltd. Execution unit for processing a data stream independently and in parallel
US5974435A (en) * 1997-08-28 1999-10-26 Malleable Technologies, Inc. Reconfigurable arithmetic datapath
US6317770B1 (en) 1997-08-30 2001-11-13 Lg Electronics Inc. High speed digital signal processor
JP3765171B2 (ja) * 1997-10-07 2006-04-12 ヤマハ株式会社 音声符号化復号方式
DE69927075T2 (de) * 1998-02-04 2006-06-14 Texas Instruments Inc Rekonfigurierbarer Koprozessor mit mehreren Multiplizier-Akkumulier-Einheiten
US6334176B1 (en) * 1998-04-17 2001-12-25 Motorola, Inc. Method and apparatus for generating an alignment control vector
JP3287305B2 (ja) 1998-04-23 2002-06-04 日本電気株式会社 積和演算装置
US6839728B2 (en) 1998-10-09 2005-01-04 Pts Corporation Efficient complex multiplication and fast fourier transform (FFT) implementation on the manarray architecture
US6366937B1 (en) * 1999-03-11 2002-04-02 Hitachi America Ltd. System and method for performing a fast fourier transform using a matrix-vector multiply instruction
US6526430B1 (en) 1999-10-04 2003-02-25 Texas Instruments Incorporated Reconfigurable SIMD coprocessor architecture for sum of absolute differences and symmetric filtering (scalable MAC engine for image processing)
JP3338043B2 (ja) 2000-11-02 2002-10-28 株式会社ソニー・コンピュータエンタテインメント 並列演算装置、エンタテインメント装置、演算処理方法、コンピュータプログラム、半導体デバイス
US6922716B2 (en) * 2001-07-13 2005-07-26 Motorola, Inc. Method and apparatus for vector processing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102707931A (zh) * 2012-05-09 2012-10-03 刘大可 一种基于并行数据通道的数字信号处理器

Also Published As

Publication number Publication date
ATE456086T1 (de) 2010-02-15
WO2004029793A1 (en) 2004-04-08
CN1685309B (zh) 2010-08-11
DE60331088D1 (de) 2010-03-11
KR20050099641A (ko) 2005-10-14
US20080307205A1 (en) 2008-12-11
EP1546863A4 (en) 2006-04-19
JP2006500684A (ja) 2006-01-05
EP2146278A1 (en) 2010-01-20
KR20050061477A (ko) 2005-06-22
NO20051806L (no) 2005-06-08
EP1546863B1 (en) 2010-01-20
EP1546863A1 (en) 2005-06-29
JP4263693B2 (ja) 2009-05-13
CA2499929A1 (en) 2004-04-08
KR100708270B1 (ko) 2007-04-17
US7430577B2 (en) 2008-09-30
AU2003270874A1 (en) 2004-04-19
US8112467B2 (en) 2012-02-07
NO20051806D0 (no) 2005-04-13
US20040230632A1 (en) 2004-11-18
KR20090046939A (ko) 2009-05-11

Similar Documents

Publication Publication Date Title
AU753685B2 (en) Pipelined fast fourier transform processor
US7870176B2 (en) Method of and apparatus for implementing fast orthogonal transforms of variable size
CN1685309A (zh) 计算上高效数学引擎
US7720897B2 (en) Optimized discrete fourier transform method and apparatus using prime factor algorithm
KR101162649B1 (ko) 가변적 크기의 고속 직교 변환을 구현하기 위한 방법 및장치
EP2017743A2 (en) High speed and efficient matrix multiplication hardware module
US20050114421A1 (en) Interleaving memory
US20050114420A1 (en) Pipelined FFT processor with memory address interleaving
US6658441B1 (en) Apparatus and method for recursive parallel and pipelined fast fourier transform
US6728742B1 (en) Data storage patterns for fast fourier transforms
Alaqeeli et al. Hardware implementation for fast convolution with a pn code using field programmable gate array
CN117234458B (zh) 乘法阵列、数据处理方法、处理终端及存储介质
WO2005052808A1 (en) Pipelined fft processor with memory address interleaving
Kapur et al. Convolutional architectures for spectrum analysis employing CCD programmable transversal filters
WO1983001136A1 (en) Method and signal processor for frequency analysis of time domain signals
Jones Flexible-length fast Fourier transform for mapping onto single-instruction multiple-data computing architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1077383

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1077383

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100811

Termination date: 20140924

EXPY Termination of patent right or utility model