CN1685309B - 计算上高效数学引擎 - Google Patents
计算上高效数学引擎 Download PDFInfo
- Publication number
- CN1685309B CN1685309B CN038226995A CN03822699A CN1685309B CN 1685309 B CN1685309 B CN 1685309B CN 038226995 A CN038226995 A CN 038226995A CN 03822699 A CN03822699 A CN 03822699A CN 1685309 B CN1685309 B CN 1685309B
- Authority
- CN
- China
- Prior art keywords
- shift register
- data
- input
- output
- processor
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
- G06F5/015—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix 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)
- Image Processing (AREA)
- Control Of Electric Motors In General (AREA)
- Ultra Sonic Daignosis Equipment (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (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.一种计算单元,包含:
一处理器,具有多个算术逻辑单元电路,所述算术逻辑单元电路用于并行处理数据并提供处理过的数据输出,所述算术逻辑单元电路的数量定义该处理器的一计算区段的并行输入容量,且该处理器具有一加法器树,配置以增加来自所述算术逻辑单元电路的所述处理过的数据输出;
一移位寄存器,具有一并行输出以及该并行输出容量大于该处理器的该计算区段的该并行输入容量;及
用于控制该移位寄存器自该并行输出中选择性输出以匹配该处理器的该并行输入容量的装置。
2.如权利要求1所述的计算单元,其特征在于进一步包含一多任务器,用于选择性接收来自该移位寄存器的输出数据,并选择性将来自该移位寄存器而作为输入的该数据提供至所述算术逻辑单元电路。
3.如权利要求1所述的计算单元,其特征在于该移位寄存器同时具有串行和并行输入,并进一步包含一使能电路,配置以选择性允许该移位寄存器串行和并行输入。
4.如权利要求1所述的计算单元,其特征在于进一步包含与该移位寄存器和所述算术逻辑单元电路相关联的一输入存储器,以及
一选择电路,用于根据被执行的计算的类型来选择性允许自该输入存储器至该移位寄存器及所述算术逻辑单元电路的输入。
5.如权利要求4所述的计算单元,其特征在于进一步包含一第二输入存储器,其中该选择电路配置以根据被执行的计算的类型来选择性允许自该第二输入存储器至该处理器的输入。
6.如权利要求1、2、3、4或5所述的计算单元,其特征在于该移位寄存器配置以作为:
一可选择存储器,用于接收来自至少一输入源的输入数据,且该用于控制移位寄存器的装置配置以经由多个折叠提供一可选择输出,其中各折叠具有与该处理器的该计算区段的该并行输入容量相匹配的容量,并包含位于该可选择存储器内的至少一不同位置。
7.如权利要求1、2、3、4或5所述的计算单元,其特征在于进一步包含一累积电路,用于根据被执行的计算的类型来接收及选择性累积来自该加法器树的各输出。
8.如权利要求1所述的计算单元,其特征在于进一步包含:
一存储器,接收用于复杂解的输入数据;
一储存体,储存用于复杂函数的一运算因子;
一多任务器,配置以经由该存储器或该储存体选择性接收来自该移位寄存器的输入;
所述算术逻辑单元电路配置以作为一处理阵行电路,处理来自被该存储器储存的被选择的比特位置的数据,以及自该多任务器输出的数据;及
一累积器电路,接收来自该加法器树的输出及提供一累积的复杂输出。
9.如权利要求8所述的计算单元,其特征在于该储存体配置以提供一抖动因子作为执行离散富利叶转换的运算因子,其中当使用该抖动因子时,该多任务器接收来自该储存体的输出。
10.如权利要求1,2,3,4,5,8或9所述的计算单元,其中所述处理器配置以处理包含实部及虚部的数据。
11.一种通信装置,包含权利要求1,2,3,4,5,8或9中的任一项所述的计算单元,配置以促进无线通信信号的处理。
12.一种处理数据的方法,包含:
提供一处理器,其具有一加法器树以及多个算术逻辑单元电路,所述算术逻辑单元电路的数量定义该处理器的一计算区段的并行输入容量;
提供一移位寄存器,其具有N个并行数据输出以及该并行数据输出容量大于该处理器的该计算区段的该并行输入容量;
接收于该移位寄存器中被处理的数据;
控制该移位寄存器选择性输出数据以匹配该处理器的该并行输入容量;
使用该处理器的算术逻辑单元电路并行处理来自该移位寄存器的数据输出,并提供处理过的数据输出;及
使用该加法器树增加来自所述算术逻辑单元电路的所述处理过的数据输出。
13.如权利要求12所述的方法,进一步包含使用一多任务器以选择性接收来自该移位寄存器的输出数据,并选择性提供来自该移位寄存器的该数据至所述算术逻辑单元电路。
14.如权利要求12所述的方法,其中该移位寄存器同时具有串行和并行输入,且其特征在于根据被执行的数据处理计算的类型来选择性允许该移位寄存器串行和并行输入。
15.如权利要求12所述的方法,其中一输入存储器与该移位寄存器和所述处理器的算术逻辑单元电路相关联,且其特征在于根据被执行的计算的类型来选择性允许自该输入存储器至该移位寄存器及所述处理器的算术逻辑单元电路的输入。
16.如权利要求15所述的方法,其特征在于进一步根据被执行的计算的类型来选择性允许自一第二输入存储器至该处理器的输入。
17.如权利要求12,13,14,15或16所述的方法,其中所述被处理的数据为包含实部及虚部的数据。
18.如权利要求12,13,14,15或16所述的方法,该方法在一通信装置中被执行以促进无线通信信号的处理。
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 CN1685309A (zh) | 2005-10-19 |
CN1685309B true 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) | EP1546863B1 (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) |
Families Citing this family (15)
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 |
US8332452B2 (en) * | 2006-10-31 | 2012-12-11 | International Business Machines Corporation | Single precision vector dot product with “word” vector write mask |
US9495724B2 (en) * | 2006-10-31 | 2016-11-15 | International Business Machines Corporation | Single precision vector permute immediate 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 | 中国科学院自动化研究所 | 具有可重构低功耗数据交织网络的数字信号处理器 |
CN102707931A (zh) * | 2012-05-09 | 2012-10-03 | 刘大可 | 一种基于并行数据通道的数字信号处理器 |
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 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4811210A (en) * | 1985-11-27 | 1989-03-07 | Texas Instruments Incorporated | A plurality of optical crossbar switches and exchange switches for parallel processor computer |
US6141637A (en) * | 1997-10-07 | 2000-10-31 | Yamaha Corporation | Speech signal encoding and decoding system, speech encoding apparatus, speech decoding apparatus, speech encoding and decoding method, and storage medium storing a program for carrying out the method |
US6298366B1 (en) * | 1998-02-04 | 2001-10-02 | Texas Instruments Incorporated | Reconfigurable multiply-accumulate hardware co-processor unit |
US6317770B1 (en) * | 1997-08-30 | 2001-11-13 | Lg Electronics Inc. | High speed digital signal processor |
Family Cites Families (21)
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 | 演算装置 |
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 |
EP1526720A3 (en) * | 1997-01-20 | 2005-05-11 | Matsushita Electric Industrial Co., Ltd. | Digital camera with interchangeable displays |
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 |
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 |
-
2003
- 2003-09-24 AU AU2003270874A patent/AU2003270874A1/en not_active Abandoned
- 2003-09-24 EP EP03752587A patent/EP1546863B1/en not_active Expired - Lifetime
- 2003-09-24 EP EP09171791A patent/EP2146278A1/en not_active Withdrawn
- 2003-09-24 JP JP2004539858A patent/JP4263693B2/ja not_active Expired - Fee Related
- 2003-09-24 DE DE60331088T patent/DE60331088D1/de not_active Expired - Lifetime
- 2003-09-24 AT AT03752587T patent/ATE456086T1/de not_active IP Right Cessation
- 2003-09-24 KR KR1020057017502A patent/KR20050099641A/ko not_active IP Right Cessation
- 2003-09-24 WO PCT/US2003/030089 patent/WO2004029793A1/en active Application Filing
- 2003-09-24 US US10/670,062 patent/US7430577B2/en not_active Expired - Fee Related
- 2003-09-24 CN CN038226995A patent/CN1685309B/zh not_active Expired - Fee Related
- 2003-09-24 CA CA002499929A patent/CA2499929A1/en not_active Abandoned
- 2003-09-24 KR KR1020097005290A patent/KR20090046939A/ko not_active IP Right Cessation
- 2003-09-24 KR KR1020057004974A patent/KR100708270B1/ko not_active IP Right Cessation
-
2005
- 2005-04-13 NO NO20051806A patent/NO20051806L/no not_active Application Discontinuation
-
2008
- 2008-08-20 US US12/194,975 patent/US8112467B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4811210A (en) * | 1985-11-27 | 1989-03-07 | Texas Instruments Incorporated | A plurality of optical crossbar switches and exchange switches for parallel processor computer |
US6317770B1 (en) * | 1997-08-30 | 2001-11-13 | Lg Electronics Inc. | High speed digital signal processor |
US6141637A (en) * | 1997-10-07 | 2000-10-31 | Yamaha Corporation | Speech signal encoding and decoding system, speech encoding apparatus, speech decoding apparatus, speech encoding and decoding method, and storage medium storing a program for carrying out the method |
US6298366B1 (en) * | 1998-02-04 | 2001-10-02 | Texas Instruments Incorporated | Reconfigurable multiply-accumulate hardware co-processor unit |
Also Published As
Publication number | Publication date |
---|---|
ATE456086T1 (de) | 2010-02-15 |
US20080307205A1 (en) | 2008-12-11 |
JP4263693B2 (ja) | 2009-05-13 |
DE60331088D1 (de) | 2010-03-11 |
KR100708270B1 (ko) | 2007-04-17 |
AU2003270874A1 (en) | 2004-04-19 |
CA2499929A1 (en) | 2004-04-08 |
JP2006500684A (ja) | 2006-01-05 |
EP1546863A4 (en) | 2006-04-19 |
KR20050061477A (ko) | 2005-06-22 |
US20040230632A1 (en) | 2004-11-18 |
US8112467B2 (en) | 2012-02-07 |
WO2004029793A1 (en) | 2004-04-08 |
CN1685309A (zh) | 2005-10-19 |
EP2146278A1 (en) | 2010-01-20 |
KR20090046939A (ko) | 2009-05-11 |
KR20050099641A (ko) | 2005-10-14 |
NO20051806L (no) | 2005-06-08 |
US7430577B2 (en) | 2008-09-30 |
EP1546863A1 (en) | 2005-06-29 |
NO20051806D0 (no) | 2005-04-13 |
EP1546863B1 (en) | 2010-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1685309B (zh) | 计算上高效数学引擎 | |
US8051124B2 (en) | High speed and efficient matrix multiplication hardware module | |
US4138730A (en) | High speed FFT processor | |
KR100686992B1 (ko) | 프라임 팩터 알고리즘을 사용한 최적화된 이산 푸리에변환 방법 및 장치 | |
CN110673824B (zh) | 矩阵向量乘电路以及循环神经网络硬件加速器 | |
US6658441B1 (en) | Apparatus and method for recursive parallel and pipelined fast fourier transform | |
US5867414A (en) | Compact pipelined matrix multiplier utilizing encoding and shifting circuit configurations | |
US7653676B2 (en) | Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine | |
US6055556A (en) | Apparatus and method for matrix multiplication | |
JPS5981761A (ja) | シストリツク計算配列 | |
US6401106B1 (en) | Methods and apparatus for performing correlation operations | |
US5299146A (en) | Matrix arithmetic circuit | |
US7688919B1 (en) | Parallel samples, parallel coefficients, time division multiplexing correlator architecture | |
KR19990017608A (ko) | 신호 처리 프로세서의 연산 유닛 및 입출력 장치 | |
Kapur et al. | Convolutional architectures for spectrum analysis employing CCD programmable transversal filters | |
CN117234458A (zh) | 乘法阵列、数据处理方法、处理终端及存储介质 | |
Ciric et al. | Coefficient bit reordering method for configurable FIR filtering on folded bit-plane array | |
WO1983001136A1 (en) | Method and signal processor for frequency analysis of time domain signals | |
JPH07129546A (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 | ||
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 |