CN1288545A - 运算装置及运算方法 - Google Patents

运算装置及运算方法 Download PDF

Info

Publication number
CN1288545A
CN1288545A CN99802266A CN99802266A CN1288545A CN 1288545 A CN1288545 A CN 1288545A CN 99802266 A CN99802266 A CN 99802266A CN 99802266 A CN99802266 A CN 99802266A CN 1288545 A CN1288545 A CN 1288545A
Authority
CN
China
Prior art keywords
data
output
product
register
imported
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
CN99802266A
Other languages
English (en)
Other versions
CN1109990C (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1288545A publication Critical patent/CN1288545A/zh
Application granted granted Critical
Publication of CN1109990C publication Critical patent/CN1109990C/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
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5324Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
    • 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
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/382Reconfigurable for different fixed word lengths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3828Multigauge devices, i.e. capable of handling packed numbers without unpacking them
    • 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
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
    • G06F7/5336Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
    • G06F7/5338Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

本发明的目的是提供一种可执行乘积累加运算的运算装置,其中,即使在要由被分割的多个输入数据获得一个结果的情况下,也不用进行数据传送和数据加法运算,处理周期数也少。输入数据X和Y,通过第1译码器511、第1选择器521、第1部分积发生器531和第1全加器541来计算出X和Y当中高位部分间之乘积,又通过第2译码器512、第2选择器522、第2部分积发生器532和第2全加器542来计算出X和Y当中低位部分间之乘积,再通过移位器55对所述运算结果进行适当的移位控制,然后通过第3全加器56和行波进位加法器58,和所反馈的数据Z加在一起,就这样获得乘积累加运算的结果数据Z。

Description

运算装置及运算方法
本发明涉及一种能高速执行多用于信号处理的乘法、乘加运算的运算装置及运算方法。
到目前为止,多媒体数据是用微处理器和专用LSI的组合来处理的。可是,由于最近几年微处理器的性能取得了惊人的提高,仅用微处理器也能够执行某种多媒体数据处理。寄存器分割式运算的应用为所述性能提高的原因之一。还有,在图像处理、音频处理等方面,经常采用将数组元素作输入,以求一个累加数据的运算方法。
图12示出以往的用被分割的寄存器来执行乘加运算的运算装置的结构图。
同图中,寄存器105将32位累加数据ZU存储在高位32位中,将32位累加数据ZL存储在低位32位中。乘法器101将32位输入数据X的高位16位(以下,称此为“XU”)和32位输入数据Y的高位16位(以下,称此为“YU”)作输入来执行乘法,并输出32位的乘积。乘法器102将输入数据X的低位16位(以下,称此为“XL”)和输入数据Y的低位16位(以下,称此为“YL”)作输入来执行乘法,并输出32位的乘积。加法器103将乘法器101的输出数据和存储在寄存器105的高位32位中的数据ZU加起来,并输出32位的和数。加法器104将乘法器102的输出数据和存储在寄存器105的低位32位中的数据ZL加起来,并输出32位的和数。加法器103的输出数据被存储在寄存器105的高位32位中,加法器104的输出数据被存储在寄存器105的低位32位中。
按上述所构成的运算装置中,乘法器101执行乘法XU·YU,加法器103将乘法器101的乘法结果和存储在寄存器105的高位32位中的ZU加在一起,寄存器105将加法器103的输出,即乘加运算XU·YU+ZU的结果,存储在高位32位中。
同样地,乘法器102执行乘法XL·YL,加法器104将乘法器102的乘法结果和存储在寄存器105的低位32位中的ZL加在一起,寄存器105将加法器104的输出,即乘加运算XL·YL+ZL的结果,存储在低位32位中。
在把图13所示的数组元素,其中i意指第i次数据输入,i从0变化到N-1,作为输入数据X、Y输给运算装置来执行N次乘加运算时,运算结果(x0·y0+x2·y2+…+x2n-2·y2n-2)被存储在寄存器105的高位32位中,运算结果(x1·y1+x3·y3+…+x2n-1·y2n-1)被存储在寄存器105的低位32位中。
然而,在用上述以往的运算装置来求(x0·y0+x1·y1+x2·y2+…+x2n-2·y2n-2+x2n-1·y2n-1)的情况下,一定要在执行N次乘加运算之后,再将存储在寄存器105的高位32位中的运算结果(x0·y0+x2·y2+…+x2n-2·y2n-2)和存储在寄存器105的低位32位中的运算结果(x1·y1+x3·y3+…+x2n-1·y2n-1)加在一起。
在该加法中,要仅把存储在寄存器105中的高位32位数据传送到另一寄存器中;要仅把存储在寄存器105中的低位32位数据传送到其他(或者,所述另一)寄存器中,从而必须把所述被传送的各数据加起来。
如上所述,以往的运算装置中存在有这样的问题:在要从被分割的多个输入数据来求一个累加运算结果的情况下,除了乘加运算以外,还要进行数据传送、数据加算等处理,处理周期不得已变大。
本发明的目的在于:提供一种在要从被分割的多个输入数据求出一个累加运算结果的情况下,也不用进行数据传送、数据加法运算的运算装置。
为了达到上述目的,本发明的第1方面所涉及的运算装置为一可将分别由n个互相独立的M位部分数据构成的(n×M)位数据X和数据Y作输入,并输出一个独立的数据Z的运算装置,其中包括:对所述数据X和所述数据Y中位于同一数字位置的所述部分数据进行乘法运算的第1到第n个乘法器;可对所述第1到第n个乘法器的输出分别进行移位的第1到第n个移位器;和将所述第1到第n个移位器的输出都加起来的加法器。所述第1到第n个移位器进行以下的控制:在要求出所述第1到第n个乘法器的输出之总和来作所述数据Z的情况下,所述移位器不进行移位;在要分别求出所述第1到第n个乘法器的输出来作所述数据Z的情况下,所述移位器将所述第1到第n个乘法器的输出位移到互相不重叠的数字位置。
按照上述结构,能够进行步骤数得以减少的乘加运算。此外,通过转换移位器的控制方式,也能够并列地进行多个乘法。
为达到上述目的,本发明的第2方面所涉及的运算装置为一可将分别由n个互相独立的M位部分数据构成的(n×M)位的数据X和数据Y作输入,并输出一个独立的数据Z的运算装置,其中包括:可存储所述数据Z的寄存器;对所述数据X和所述数据Y中位于同一数字位置的所述部分数据进行乘法运算的第1到第n个乘法器;将所述第1到第n个乘法器和所述寄存器的输出都加起来并将该结果输入所述寄存器的加法器。在该运算装置中,将多次循环输入的所述数据X和所述数据Y相乘后累加起来。
按照上述结构,即使多输入加法器的输入数增加,也可在某一程度抑制电路规模的增大,所以能够在抑制电路规模的增大的情况下实现乘加运算。
为达到上述目的,本发明的第3方面所涉及的运算装置为一可将分别由n个互相独立的M位部分数据构成的(n×M)位的数据X和数据Y作输入,并输出一个独立的数据Z的运算装置,其中包括:可存储所述数据Z的寄存器;对所述数据X和所述数据Y中位于同一数字位置的所述部分数据进行乘法运算的第1到第n个乘法器;可对所述第1到第n个乘法器的输出分别进行移位的第1到第n个移位器;将所述第1到第n个移位器和所述寄存器的输出都加起来并将该结果输入所述寄存器的加法器,在要用多次循环输入的所述数据X和数据Y来进行乘积累加运算的情况下,所述第1到第n个移位器进行以下的控制:在要求出所述第1到第n个乘法器的乘积的累加和的总和来作所述数据Z时,所述移位器不进行移位;在要分别求出所述第1到第n个乘法器的乘积的累加和来作所述数据Z时,所述移位器将所述第1到第n个乘法器的输出位移到互相不重叠的数字位置。
按照上述结构,能够实现步骤数得以减少的乘积累加运算。此外,通过转换移位器的控制方式,能够并列地进行多个乘积累加运算。
为达到上述目的,本发明的第4方面所涉及的运算装置为一可将分别由n个M位部分数据构成的(n×M)位数据X和数据Y作输入,并输出数据Z的运算装置,其中包括:可存储所述数据Z的寄存器;从构成所述数据Y的n个部分数据中选择一个的选择器;从构成所述数据X的n个部分数据中取出互相不重叠的一个,并乘以所述选择器的输出的第1到第n个乘法器;可对所述第1到第n个乘法器的输出分别进行移位的第1到第n个移位器;将所述第1到第n个移位器和所述寄存器的输出都加起来并将该结果输入所述寄存器的加法器。在第p次循环中,所述选择器选择从低位数起第p个所述部分数据,从低位数起第q个移位器进行(p+q-2)M位的移位控制。
按照上述结构,当被乘数的位数等于或者多于运算器所具备的乘法器的输入位数时,也可以进行乘法运算。
为达到上述目的,本发明的第5方面所涉及的运算装置为一可将2M位数据X和数据Y作输入,并输出4M位数据Z的运算装置,其中包括:第1寄存器,存储在加法运算中所产生的每一位的进位C;第2寄存器,存储在加法运算中所产生的每一位的和S;第3寄存器,存储所述数据Z;第1译码器,将所述数据X的高位M位作输入并进行译码;第2译码器,将所述数据X的低位M位作输入并进行译码;第1、第2选择器,选择所述数据Y的高位M位和低位M位中之一;第1部分积发生器,将所述第1译码器的输出数据及所述第1选择器的输出数据作输入,来产生乘加运算的部分积;第2部分积发生器,将所述第2译码器的输出数据及所述第2选择器的输出数据作输入,来产生乘加运算的部分积;第1全加器,将由所述第1部分积发生器所产生的部分积加起来;第2全加器,将由所述第2部分积发生器所产生的部分积加起来;数据扩充移位器,可将所述第1全加器和所述第2全加器的输出数据作输入,进行数据扩充及数据移位工作;行波进位加法器,将上述第1、第2寄存器所存储的上述每一位的进位C和上述每一位的和S作输入来进行行波进位加法运算,并将该结果输出到上述第3寄存器中;第3选择器,选择并输出所述第3寄存器所存储的数据和零数据中之一;第4选择器,选择并输出所述行波进位加法器的输出数据和零数据中之一;第3全加器,将所述数据扩充移位器的输出数据、所述第4选择器的输出数据、所述第3选择器的输出数据作输入来将其全部都加起来,并将每一位的进位C和每一位的和S分别输入所述第1寄存器和第2寄存器。
按照上述结构,能够在电路规模得以减小的情况下进行步骤数少的乘积累加运算。此外,通过转换移位器的控制方式,既可并列地进行多个乘积累加运算,又可在电路规模得以减小的情况下,对位数等于或者多于乘法器的输入位数的被乘数进行乘法运算。
还有,本发明的第6方面所采取的运算方法是:将分别由n个互相独立的M位部分数据构成的(n×M)位数据X和数据Y作输入,来计算出一个独立的数据Z的运算方法,其中包括以下几个步骤:对所述数据X和所述数据Y中位于同一数字位置的所述部分数据进行乘法运算以求乘积的乘法步骤;对在所述乘法步骤中所求得的乘积,分别进行移位的移位步骤;将在所述移位步骤中所求得的值进行加法运算以求和的加法步骤,在要求出所述乘法步骤中所求得的n个乘积的总和来作所述数据Z的情况下,在所述移位步骤中不进行移位工作;在要分别求出所述乘法步骤中的n个乘积来作所述数据Z的情况下,在所述移位步骤中,将所述n个乘积位移到互相不重叠的数字位置。
按照第6方面的发明,能够进行步骤数得以减少的乘加运算。
并且,本发明的第7方面所采取的运算方法是:将分别由n个互相独立的M位部分数据构成的(n×M)位数据X和数据Y作输入,来计算出一个独立的数据Z的运算方法,其中包括以下几个步骤:对所述数据X和所述数据Y中位于同一数字位置的所述部分数据进行乘法运算来求乘积的乘法步骤;将所述乘法步骤中所求得的n个乘积进行加法运算来求和的加法步骤;多次循环输入所述数据X和所述数据Y,在所述加法步骤中所求得的和进行乘积累加运算的乘积累加步骤。
按照第7方面的发明,能够在电路规模的增大得以抑制的情况下实现乘加运算。
还有,本发明的第8方面所采取的运算方法是:将分别由n个互相独立的M位部分数据构成的(n×M)位的数据X和数据Y作输入,来计算出一个独立的数据Z的运算方法,其中包括以下几个步骤:对所述数据X和所述数据Y中位于同一数字位置的所述部分数据进行乘法运算来求乘积的乘法步骤;对在所述乘法步骤中所求得的乘积,分别进行移位的移位步骤;将在所述移位步骤中所求得的值加在一起,来求和的加法步骤;多次循环输入所述数据X和所述数据Y,在所述加法步骤中所求得的和进行乘积累加运算的乘积累加步骤。在要求出所述乘法步骤中所求得的n个乘积的累加和的总和来作所述数据Z的情况下,在所述移位步骤中不进行移位工作;在要分别求出所述乘法步骤中所求得的n个乘积的累加和来作所述数据Z的情况下,在所述移位步骤中,将所述n个乘积位移到互相不重叠的数字位置。
按照第8方面的发明,能够实现步骤数得以减少的乘积累加运算。
下面,对本发明中的附图作简要说明。
图1是本发明的实施例所涉及的运算装置的结构图。
图2是本发明的实施例所涉及的数据扩充移位器的详细结构图。
图3是本发明的实施例所涉及的第3全加器的详细结构图。
图4是本发明的实施例所涉及的行波进位加法器的详细结构图。
图5是用图1的运算装置所进行的乘加运算的说明图。
图6是用图1的运算装置所进行的乘加运算的时间图。
图7是用图1的运算装置所进行的对偶乘加运算的说明图。
图8是用图1的运算装置所进行的对偶乘加运算的时间图。
图9是用图1的运算装置所进行的乘法运算的说明图。
图10是用图1的运算装置所进行的乘法运算的时间图。
图11表示在图1的运算装置中所进行的各种运算。
图12是以往的寄存器分割运算器的结构图。
图13表示乘加运算中的数组元素。
下面,参照附图将本发明的实施例加以说明。
图1是本发明的一实施例所涉及的运算装置的结构示意图。图1中,X和Y分别是由两个互相独立的16位数据所构成的32位输入数据,Z是64位累加数据。S及C是在运算中把每一位之和及进位分别收集起来而构成的64位中间数据。使用中间数据S、C的理由是:在重复进行加法运算的情况下,加法效率之好坏,与其每次求出所有位之和,不如先一位一位地求和及进位,最后求出所有位的加法结果。布斯(Booth)译码器511、512分别对XU、XL进行译码,并输出其结果。选择器521、522选择并输出YU和YL中之一。部分积发生器531将第1译码器511的输出数据和由第1选择器521所选择的数据作输入,产生并输出乘法的部分积。部分积发生器532将第2译码器512的输出数据和由第2选择器522所选择的数据作输入,产生并输出乘法的部分积。全加器541、542分别将由第1、第2部分积发生器531、532所产生的部分积都加起来,并输出该结果。数据扩充移位器55将第1、第2全加器541、542的输出数据作输入,进行数据扩充及数据移位工作,并输出其结果。第3选择器523选择并输出“0”和第3寄存器59所存储的数据Z中之一,第4选择器524选择并输出“0”和行波进位加法器58的输出(S+C)中之一。全加器56将通过数据扩充移位器55被扩充、移位的数据和第3、第4选择器523、524所选择的数据作输入来进行全加运算,并输出64位中间数据C、S。寄存器571、572存储第3全加器56的输出数据C和S。行波进位加法器58将第1、第2寄存器571、572所存储的数据C和数据S作输入来进行行波进位加法运算,并输出结果数据(S+C)。寄存器59存储行波进位加法器58的输出。
图2示出数据扩充移位器55的详细结构。同图中,数据扩充部61由数据扩充器611~614构成,它对输入数据进行符号扩充或者零扩充,并输出其结果。数据移位部62由数据移位器621~624构成,它将数据扩充部的输出数据作输入,进行数据移位,并输出其结果。同图中,SFT1.0~SFT4.0分别是数据移位器621~624的输出数据。
图3示出第3全加器56的详细结构。同图中,全加器72将数据移位器621~624的输出数据SFT1.0~SFT4.0的低位32位、第3选择器523的输出数据SEL1.0的低位32位和第4选择器524的输出数据SEL2.0的低位32位作输入,来进行全加运算。选择器73选择并输出第4全加器72的溢出信号和“0”中之一。控制信号CTRL50为“H”时,第5选择器73选择第4全加器72的溢出信号并输出到第5全加器71中;为“L”时,选择“0”并输出到第5全加器71中。全加器71将数据移位器621~624的输出数据SFT1.0~SFT4.0的高位32位、第3选择器523的输出数据SEL1.0的高位32位、第4选择器524的输出数据SEL2.0的高位32位和第5选择器73的输出数据作输入,来进行全加运算。图3中,CU和SU是第5全加器71的输出数据,CL和SL是第4全加器72的输出数据。
图4示出行波进位加法器58的详细结构。
同图中,行波进位加法器82将在第1、第2寄存器571、572的低位32位中所存储的CL和SL作输入来进行行波进位加法,并输出其结果。选择器83选择并输出行波进位加法器82的溢出信号和“0”中之一。控制信号CTRL 50为“H”时,第6选择器83选择行波进位加法器82的溢出信号并输出到行波进位加法器81中;为“L”时,选择“0”并输出到行波进位加法器81中。行波进位加法器81将在第1、第2寄存器571、572的高位32位中所存储的CU、SU及第6选择器83的输出数据作输入来进行行波进位加法,并输出其结果。
以下,说明按上述所构成的运算装置的动作。
(1)关于由被分为二个的输入数据来求一个独立的累加数据的运算动作进行说明。下面,对将图13所示的数组元素作输入以求(x0·y0+x1·y1+x2·y2+…+x2n-2·y2n-2+x2n-1·y2n-1)的运算加以说明。这里,要说明的是带符号的乘加运算。此时,假定控制信号CTRL50为“H”来进行运算。
图1中,在第一个周期,由于第1选择器521选择YU,第2选择器522选择YL,因此,第1部分积发生器531产生用以求XU·YU的部分积,第2部分积发生器532产生用以求XL·YL的部分积。第1全加器541将在第1部分积发生器531中所产生的部分积都加起来,并输出运算XU·YU中的两个32位中间数据。同样地,第2全加器542输出运算XL·YL中的两个32位中间数据。
来自第1全加器541的两个32位中间数据被输入到数据扩充移位器55的数据扩充器611、612中而用表示符号的数据扩充到64位。通过数据扩充器611、612被加以符号扩充的数据,再被输入到数据移位器621、622中。数据移位器621、622不进行数据移位,而输出运算XU·YU中的两个64位中间数据。
同样地,来自第2全加器542的两个32位中间数据被输入到数据扩充移位器55的数据扩充器613、614中而用表示符号的数据扩充到64位。通过数据扩充器613、614而被加以符号扩充的数据,再被输入到数据移位器623、624中。数据移位器623、624不进行数据移位,而输出运算XL·YL中的64位中间数据。
第4选择器524选择“0”,第3选择器523选择存储在第3寄存器59中的64位数据Z,从而输出到第3全加器56中。
第3全加器56将数据扩充移位器的输出SFT1.0~SFT4.0和第3、第4选择器523、524的输出SEL1.0、SEL2.0作输入,进行全加运算。此时,由于控制信号CTRL50为“H”,所以第4全加器72的溢出信号被输入到第5全加器71中,而在64位全加运算中,溢出信号从第31位传播到第32位。
从而,如图5所示,第3全加器56输出乘加运算(XU·YU+XL·YL+Z)中的两个64位中间数据C和S。
该64位中间数据C和S分别被存储到第1、第2寄存器571、572中。
在第二个周期,行波进位加法器58将存储在第1、第2寄存器571、572中的两个64位中间数据C和S作输入,来进行行波进位加法运算。此时,由于控制信号CTRL50为“H”,所以行波进位加法器82的溢出信号被输入到行波进位加法器81中,而在64位行波进位加法运算中,溢出信号从第31位传播到第32位。
从而,如图5所示,行波进位加法器58输出乘加运算(XU·YU+XL·YL+Z)的结果。第3寄存器59存储行波进位加法器58所输出的数据。
如上所述,运算装置可将由两个16位数据构成的32位数据X和Y作输入来进行乘加运算,从而,能够在两个周期内求得一个64位累加数据(如图6所示)。
因此,运算装置仅将图13所示的数组元素作输入来执行N次乘加运算,即可求出(x0·y0+x1·y1+x2·y2+…+x2n-2·y2n-2+x2n-1·y2n-1),不用进行以往的运算装置所必需的数据传送和数据加法运算。
(2)关于由被分为两个的输入数据求出两个独立的累加数据的运算动作进行说明。下面,叙述将由两个16位数据构成的32位数据X和Y作输入来进行运算而在两个周期内求出两个32位累加数据的情况(如图8所示)。这里,要说明的是带符号的对偶乘加运算。此时,假定控制信号CTRL50为“L”来进行运算。
图1中,在第一个周期,由于第1选择器521选择YU,第2选择器522选择YL,因此,第1部分积发生器531产生用以求XU·YU的部分积,第2部分积发生器532产生用以求XL·YL的部分积。第1全加器541将在第1部分积发生器531中所产生的部分积都加起来,并输出运算XU·YU中的两个32位中间数据。同样地,第2全加器542输出运算XL·YL中的两个32位中间数据。
来自第1全加器541的两个32位中间数据被输入到数据扩充移位器55的数据扩充器611、612中而用“0”扩充到64位。通过数据扩充器611、612被加以零扩充的数据,再被输入到数据移位器621、622中。数据移位器621、622执行32位左移,并输出运算(XU·YU)<<32中的两个64位中间数据。
同样地,来自第2全加器542的两个32位中间数据被输入到数据扩充移位器55的数据扩充器613、614中而用“0”扩充到64位。通过数据扩充器613、614而被加以零扩充的数据,再被输入到数据移位器623、624中。数据移位器623、624不进行数据移位,而输出运算XL·YL中的两个64位中间数据。
第4选择器524选择“0”,第3选择器523选择存储在第3寄存器59中的64位数据Z,从而输出到第3全加器56中。
第3全加器56将数据扩充移位器的输出SFT1.0~SFT4.0和第3、第4选择器523、524的输出SEL1.0、SEL2.0作输入,进行全加运算。此时,由于控制信号CTRL50为“L”,所以“0”数据被输入到第5全加器71中,而在64位全加运算中,溢出信号不从第31位传播到第32位。
从而,如图7所示,第3全加器56输出高位32位代表运算XU·YU+ZU、低位32位代表运算XL·YL+ZL的中间数据C和S。64位中间数据C和S分别被存储到第1、第2寄存器571、572中。
在第二个周期,行波进位加法器58将存储在第1、第2寄存器571、572中的两个64位中间数据C和S作输入,来进行行波进位加法运算。此时,由于控制信号CTRL50为“L”,所以“0”数据被输入到行波进位加法器81中,而在64位行波进位加法运算中,溢出信号不从第31位传播到第32位。
从而,如图7所示,行波进位加法器58将运算(XU·YU+ZU)的结果作高位32位输出,将运算(XL·YL+ZL)的结果作低位32位输出。第3寄存器59存储行波进位加法器58所输出的数据。
如上所述,运算装置可将由两个16位数据构成的32位数据X和Y作输入来进行运算,从而,能够在两个周期内求出两个32位累加数据(如图8所示)。
(3)关于未被分割的输入数据的运算动作加以说明。下面,叙述将32位数据X和Y作输入,以求64位乘积的情况。这里,要说明的是带符号的乘法运算。此时,假定控制信号CTRL50为“H”来进行运算。
图1中,在第一个周期,由于第1选择器521选择YU,第2选择器522选择YL,因此,第1部分积发生器531产生用以求XU·YU的部分积,第2部分积发生器532产生用以求XL·YL的部分积。第1全加器541将在第1部分积发生器531中所产生的部分积都加起来,并输出运算XU·YU中的两个32位中间数据。同样地,第2全加器542输出运算XL·YL中的两个32位中间数据。
来自第1全加器541的两个32位中间数据被输入到数据扩充移位器55的数据扩充器611、612中而用表示符号的数据扩充到64位。通过数据扩充器611、612被加以符号扩充的数据,再被输入到数据移位器621、622中。数据移位器621、622执行32位左向算术移位,并输出运算(XU·YU)<<32中的两个64位中间数据。
同样地,来自第2全加器542的两个32位中间数据被输入到数据扩充移位器55的数据扩充器613、614中而用表示符号的数据扩充到64位。通过数据扩充器613、614而被加以符号扩充的数据,再被输入到数据移位器623、624中。数据移位器623、624不进行数据移位,而输出运算XL·YL中的两个64位中间数据。
再就是,第3、第4选择器523、524选择“0”,从而输出到第3全加器56中。
第3全加器56将数据扩充移位器的输出SFT1.0~SFT4.0和第3、第4选择器523、524的输出SEL1.0、SEL2.0作输入,进行全加运算。此时,由于控制信号CTRL50为“H”,所以第4全加器72的溢出信号被输入到第5全加器71中,而在64位全加运算中,溢出信号从第31位传播到第32位。
从而,如图9所示,第3全加器56输出乘加运算(((XU·YU)<<32)+XL·YL)中的两个64位中间数据C和S。
64位中间数据C和S分别被存储到第1、第2寄存器571、572中。
在第二个周期,行波进位加法器58将存储在第1、第2寄存器571、572中的两个64位中间数据C和S作输入,来进行行波进位加法运算。此时,由于控制信号CTRL50为“H”,所以行波进位加法器82的溢出信号被输入到行波进位加法器81中,而在64位行波进位加法运算中,溢出信号从第31位传播到第32位。
从而,如图9所示,行波进位加法器58输出乘加运算(((XU·YU)<<32)+XL·YL)的结果。
还有,由于第1选择器521选择YL,第2选择器522选择YU,因此,第1部分积发生器531产生用以求XU·YL的部分积,第2部分积发生器532产生用以求XL·YU的部分积。第1全加器541将在第1部分积发生器531中所产生的部分积都加起来,并输出运算XU·YL中的两个32位中间数据。同样地,第2全加器542输出运算XL·YU中的两个32位中间数据。
来自第1全加器541的两个32位中间数据被输入到数据扩充移位器55的数据扩充器611、612中而用表示符号的数据扩充到64位。通过数据扩充器611、612被加以符号扩充的数据,再被输入到数据移位器621、622中。数据移位器621、622执行16位左向移位,并输出运算(XU·YL)<<16中的两个64位中间数据。
同样地,来自第2全加器542的两个32位中间数据被输入到数据扩充移位器55的数据扩充器613、614中而用表示符号的数据扩充到64位。通过数据扩充器613、614而被加以符号扩充的数据,再被输入到数据移位器623、624中。数据移位器623、624执行16位左向移位,并输出运算(XL·YU)<<16中的两个64位中间数据。
第4选择器524选择行波进位加法器58的输出,第3选择器523选择“0”,从而输出到第3全加器56中。
第3全加器56将数据扩充移位器的输出SFT1.0~SFT4.0和第3、第4选择器523、524的输出SEL1.0、SEL2.0作输入,进行全加运算。此时,由于控制信号CTRL50为“H”,所以第4全加器72的溢出信号被输入到第5全加器71中,而在64位全加运算中,溢出信号从第31位传播到第32位。
从而,如图9所示,第3全加器56输出运算(((XU·YU)<<32)+XL·YL)+(((XU·YL)<<16)+((XL·YU)<<16))中的两个64位中间数据C和S。64位中间数据C和S分别被存储到第1、第2寄存器571、572中。
在第三个周期,行波进位加法器58将存储在第1、第2寄存器571、572中的两个64位中间数据C和S作输入,来进行行波进位加法运算。此时,由于控制信号CTRL50为“H”,所以行波进位加法器82的溢出信号被输入到行波进位加法器81中,而在64位行波进位加法运算中,溢出信号从第31位传播到第32位。
从而,如图9所示,行波进位加法器58输出运算(((XU·YU)<<32)+XL·YL)+(((XU·YL)<<16)+((XL·YU)<<16))即乘法运算X·Y的结果。
如上所述,运算装置可将32位数据X和Y作输入来进行乘法运算,从而,能够在三个周期内求出64位的乘积(如图10所示)。
再就是,图1所示的运算器,除了上述运算以外,还能进行各种运算。
图11示出所述各种运算及其控制。同图中,第1~第4选择器521~524栏表示被选择的数据,移位器621~624栏表示移位量及方向。m<<表示m位左移,m>>表示m位右移。S+C是行波进位加法器58的输出。
选择器和移位器属于二级流水线运算器的第一级,因此,图11中,关于二周期运算所示出的是第一个周期的控制情况;关于三周期运算,示出的是第一个周期和第二个周期的控制情况。
值得一提的是,图1中,将第3、第4选择器523、524的输出输入到第3全加器56中,但是,将其输入第1、第2全加器541、542也可得到同样的结果。
需提一下,图1所示的运算装置具有二级流水线结构,但是,采用多级流水线结构,也可得到同样的结果。
另外,在本实施例中,将寄存器分为两部分,将被分为两部分的数据作输入来进行运算,但是,将被分为两个以上的数据作输入,也可获得同样的结果。
-效果-
综上所述,若按照本发明,能够得到以下的有利的效果:即使在由被分割的多个输入数据求出一个独立的累加数据的运算中,也不用进行数据传送、数据加法运算处理。此外,还能进行图11所示的各种运算。
总之,本发明的运算装置及运算方法有用于图像处理或者音频处理等,又可适用于包括这些处理的多媒体数据处理。

Claims (8)

1.一种运算装置,其为将分别由n个互相独立的M位部分数据构成的(n×M)位的数据X和数据Y作输入,并输出一个独立的数据Z的运算装置,其中包括:
对所述数据X和所述数据Y中位于同一数字位置的所述部分数据进行乘法运算的第1到第n个乘法器;
可对所述第1到第n个乘法器的输出分别进行移位的第1到第n个移位器;和
将所述第1到第n个移位器的输出都加起来的加法器,
所述第1到第n个移位器进行以下的控制:在要求出所述第1到第n个乘法器的输出之总和来作所述数据Z的情况下,不进行移位;在要分别求出所述第1到第n个乘法器的输出来作所述数据Z的情况下,将所述第1到第n个乘法器的输出位移到互相不重叠的数字位置。
2.一种运算装置,其为将分别由n个互相独立的M位部分数据构成的(n×M)位的数据X和数据Y作输入,并输出一个独立的数据Z的运算装置,其中包括:
可存储所述数据Z的寄存器;
对所述数据X和所述数据Y中位于同一数字位置的所述部分数据进行乘法运算的第1到第n个乘法器;
将所述第1到第n个乘法器和所述寄存器的输出都加起来并将该结果输入所述寄存器的加法器,
将多次循环输入的所述数据X和所述数据Y进行乘积累加运算。
3.一种运算装置,其为将分别由n个互相独立的M位部分数据构成的(n×M)位的数据X和数据Y作输入,并输出一个独立的数据Z的运算装置,其中包括:
可存储所述数据Z的寄存器;
对所述数据X和所述数据Y中位于同一数字位置的所述部分数据进行乘法运算的第1到第n个乘法器;
可对所述第1到第n个乘法器的输出分别进行移位的第1到第n个移位器;
将所述第1到第n个移位器和所述寄存器的输出都加起来并将该结果输入所述寄存器的加法器,
在要用多次循环输入的所述数据X和所述数据Y来进行乘积累加运算的情况下,所述第1到第n个移位器进行以下的控制:在要求出所述第1到第n个乘法器的乘积的累加和的总和来作所述数据Z时,所述移位器不进行移位;在要分别求出所述第1到第n个乘法器的乘积的累加和来作所述数据Z时,所述移位器将所述第1到第n个乘法器的输出位移到互相不重叠的数字位置。
4.一种运算装置,其为将分别由n个M位部分数据构成的(n×M)位的数据X和数据Y作输入,并输出数据Z的运算装置,其中包括:
可存储所述数据Z的寄存器;
从构成所述数据Y的n个部分数据中选择一个的选择器;
从构成所述数据X的n个部分数据中取出互相不重叠的一个,并乘以所述选择器的输出的第1到第n个乘法器;
可对所述第1到第n个乘法器的输出分别进行移位的第1到第n个移位器;
将所述第1到第n个移位器和所述寄存器的输出都加起来并将该结果输入所述寄存器的加法器,
在第p次循环中,所述选择器选择从低位数起第p个所述部分数据,从低位数起第q个移位器进行(p+q-2)M位的移位控制。
5.一种运算装置,其为将2M位的数据X和数据Y作输入,并输出4M位数据Z的运算装置,其中包括:
第1寄存器,存储在加法运算中所产生的每一位的进位C;
第2寄存器,存储在加法运算中所产生的每一位的和S;
第3寄存器,存储所述数据Z;
第1译码器,将所述数据X的高位M位作输入并进行译码;
第2译码器,将所述数据X的低位M位作输入并进行译码;
第1、第2选择器,选择所述数据Y的高位M位和低位M位中之一;
第1部分积发生器,将所述第1译码器的输出数据及所述第1选择器的输出数据作输入,来产生乘加运算的部分积;
第2部分积发生器,将所述第2译码器的输出数据及所述第2选择器的输出数据作输入,来产生乘加运算的部分积;
第1全加器,将由所述第1部分积发生器所产生的部分积加起来;
第2全加器,将由所述第2部分积发生器所产生的部分积加起来;
数据扩充移位器,可将所述第1全加器和所述第2全加器的输出数据作输入,进行数据扩充及数据移位工作;
行波进位加法器,将上述第1、第2寄存器所存储的上述每一位的进位C和上述每一位的和S作输入来进行行波进位加法运算,将该结果输出到上述第3寄存器中;
第3选择器,选择并输出所述第3寄存器所存储的数据和零数据中之一;
第4选择器,选择并输出所述行波进位加法器的输出数据和零数据中之一;
第3全加器,将所述数据扩充移位器的输出数据、所述第4选择器的输出数据、所述第3选择器的输出数据作输入来将其全部都加起来,并将每一位的进位C和每一位的和S分别输入所述第1寄存器和第2寄存器。
6.一种运算方法,其为将分别由n个互相独立的M位部分数据构成的(n×M)位数据X和数据Y作输入,来计算出一个独立的数据Z的运算方法,其中包括以下几个步骤:
对所述数据X和所述数据Y中位于同一数字位置的所述部分数据进行乘法运算以求乘积的乘法步骤;
对在所述乘法步骤中所求得的乘积,分别进行移位的移位步骤;
将在所述移位步骤中所求得的值进行加法运算以求和的加法步骤,
在要求出所述乘法步骤中所求得的n个乘积的总和来作所述数据Z的情况下,在所述移位步骤中不进行移位工作,
在要分别求出所述乘法步骤中的n个乘积来作所述数据Z的情况下,在所述移位步骤中,将所述n个乘积位移到互相不重叠的数字位置。
7.一种运算方法,其为将分别由n个互相独立的M位部分数据构成的(n×M)位数据X和数据Y作输入,来计算出一个独立的数据Z的运算方法,其中包括以下几个步骤:
对所述数据X和所述数据Y中位于同一数字位置的所述部分数据进行乘法运算来求乘积的乘法步骤;
将所述乘法步骤中所求得的n个乘积进行加法运算来求和的加法步骤;
多次循环输入所述数据X和所述数据Y,在所述加法步骤中所求得的和进行乘积累加运算的乘积累加步骤。
8.一种运算方法,其为将分别由n个互相独立的M位部分数据构成的(n×M)位数据X和数据Y作输入,来计算出一个独立的数据Z的运算方法,其中包括以下几个步骤:
对所述数据X和所述数据Y中位于同一数字位置的所述部分数据进行乘法运算来求乘积的乘法步骤;
对在所述乘法步骤中所求得的乘积,分别进行移位的移位步骤;
将在所述移位步骤中所求得的值加在一起,来求和的加法步骤;
多次循环输入所述数据X和所述数据Y,在所述加法步骤中所求得的和进行乘积累加运算的乘积累加步骤,
在要求出所述乘法步骤中所求得的n个乘积的累加和的总和来作所述数据Z的情况下,在所述移位步骤中不进行移位工作,
在要分别求出所述乘法步骤中所求得的n个乘积的累加和来作所述数据Z的情况下,在所述移位步骤中,将所述n个乘积位移到互相不重叠的数字位置。
CN99802266A 1998-01-21 1999-01-21 运算装置及运算方法 Expired - Fee Related CN1109990C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP9371/1998 1998-01-21
JP937198 1998-01-21

Publications (2)

Publication Number Publication Date
CN1288545A true CN1288545A (zh) 2001-03-21
CN1109990C CN1109990C (zh) 2003-05-28

Family

ID=11718622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99802266A Expired - Fee Related CN1109990C (zh) 1998-01-21 1999-01-21 运算装置及运算方法

Country Status (6)

Country Link
US (1) US6609143B1 (zh)
EP (1) EP1049025B1 (zh)
JP (1) JP3667635B2 (zh)
CN (1) CN1109990C (zh)
DE (1) DE69941287D1 (zh)
WO (1) WO1999038088A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101156130B (zh) * 2005-03-31 2010-05-19 Nxp股份有限公司 正则符号数字乘法器
CN106528046A (zh) * 2016-11-02 2017-03-22 上海集成电路研发中心有限公司 长位宽时序累加乘法器
CN110889080A (zh) * 2018-09-07 2020-03-17 瑞萨电子株式会社 乘积累加运算装置、乘积累加运算方法和系统
CN113805840A (zh) * 2021-11-18 2021-12-17 南京风兴科技有限公司 快速累加器

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587582B1 (en) * 1998-12-03 2009-09-08 Sun Microsystems, Inc. Method and apparatus for parallel arithmetic operations
JP3338043B2 (ja) * 2000-11-02 2002-10-28 株式会社ソニー・コンピュータエンタテインメント 並列演算装置、エンタテインメント装置、演算処理方法、コンピュータプログラム、半導体デバイス
US7107305B2 (en) * 2001-10-05 2006-09-12 Intel Corporation Multiply-accumulate (MAC) unit for single-instruction/multiple-data (SIMD) instructions
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9122517B2 (en) 2012-06-11 2015-09-01 International Business Machines Corporation Fused multiply-adder with booth-encoding
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636155A (en) * 1993-04-27 1997-06-03 Matsushita Electric Industrial Co., Ltd. Arithmetic processor and arithmetic method
JPH0744533A (ja) * 1993-07-27 1995-02-14 Kawasaki Steel Corp 演算装置
FR2718866B1 (fr) * 1994-04-19 1996-05-15 Sgs Thomson Microelectronics Dispositif de calcul arithmétique et logique et procédé de commande.
JP3579087B2 (ja) * 1994-07-08 2004-10-20 株式会社日立製作所 演算器およびマイクロプロセッサ
US6385634B1 (en) * 1995-08-31 2002-05-07 Intel Corporation Method for performing multiply-add operations on packed data
DE69624578T2 (de) * 1995-08-31 2003-09-04 Intel Corp Multiplixier-addierungsvorrichtung für gepackte daten
US5751622A (en) * 1995-10-10 1998-05-12 Chromatic Research, Inc. Structure and method for signed multiplication using large multiplier having two embedded signed multipliers
US5784306A (en) * 1996-06-28 1998-07-21 Cirrus Logic, Inc. Parallel multiply accumulate array circuit
JP3092534B2 (ja) * 1996-12-13 2000-09-25 日本電気株式会社 ブロックiirプロセッサ
US5941940A (en) * 1997-06-30 1999-08-24 Lucent Technologies Inc. Digital signal processor architecture optimized for performing fast Fourier Transforms
US6078939A (en) * 1997-09-30 2000-06-20 Intel Corporation Apparatus useful in floating point arithmetic
US6085213A (en) * 1997-10-23 2000-07-04 Advanced Micro Devices, Inc. Method and apparatus for simultaneously multiplying two or more independent pairs of operands and summing the products
DE69927075T2 (de) * 1998-02-04 2006-06-14 Texas Instruments Inc Rekonfigurierbarer Koprozessor mit mehreren Multiplizier-Akkumulier-Einheiten

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101156130B (zh) * 2005-03-31 2010-05-19 Nxp股份有限公司 正则符号数字乘法器
US8046401B2 (en) 2005-03-31 2011-10-25 Nxp B.V. Canonical signed digit multiplier
CN106528046A (zh) * 2016-11-02 2017-03-22 上海集成电路研发中心有限公司 长位宽时序累加乘法器
CN106528046B (zh) * 2016-11-02 2019-06-07 上海集成电路研发中心有限公司 长位宽时序累加乘法器
CN110889080A (zh) * 2018-09-07 2020-03-17 瑞萨电子株式会社 乘积累加运算装置、乘积累加运算方法和系统
CN113805840A (zh) * 2021-11-18 2021-12-17 南京风兴科技有限公司 快速累加器

Also Published As

Publication number Publication date
EP1049025B1 (en) 2009-08-19
US6609143B1 (en) 2003-08-19
JP3667635B2 (ja) 2005-07-06
DE69941287D1 (de) 2009-10-01
EP1049025A1 (en) 2000-11-02
EP1049025A4 (en) 2005-03-30
WO1999038088A1 (fr) 1999-07-29
CN1109990C (zh) 2003-05-28

Similar Documents

Publication Publication Date Title
CN1109990C (zh) 运算装置及运算方法
CN1735881A (zh) 用于执行计算操作的方法和系统以及一种设备
TWI783295B (zh) 乘法器及乘法運算方法
CN1084965C (zh) 在csd滤波器中处理信号的方法及适用于该方法的电路
CN1215862A (zh) 计算方法和计算装置
CN1020806C (zh) 使用跳跃阵列和变形华莱士树的并行乘法器
CN1821951A (zh) 算术单元
JP7292297B2 (ja) 確率的丸めロジック
CN1647066A (zh) 使用主要因素算法的最佳离散傅利叶转换方法及装置
Wu et al. Mp-opu: A mixed precision fpga-based overlay processor for convolutional neural networks
CN1492316A (zh) 一种蒙格玛丽模乘算法及其模乘、模幂运算电路
CN1108557C (zh) 减少高速算术单元中超前进位加法器级数的结构和方法
Tomczak Hierarchical residue number systems with small moduli and simple converters
CN1783060A (zh) 乔列斯基分解算法装置
US6298368B1 (en) Method and apparatus for efficient calculation of an approximate square of a fixed-precision number
Molahosseini et al. A new five-moduli set for efficient hardware implementation of the reverse converter
CN1099071C (zh) 具有比特移位单元的数字滤波器
Balaji et al. Design of FIR filter with Fast Adders and Fast Multipliers using RNS Algorithm
US6480870B1 (en) Random number generator using lehmer algorithm
CN1717653A (zh) 带有查询表的乘法器
CN1735857A (zh) 用于完成乘法运算的方法、系统和设备
CN114691086A (zh) 一种基于操作数裁剪的高性能近似乘法器及其计算方法
CN1924798A (zh) 一种64比特浮点乘加器及其流水节拍划分方法
CN1809806A (zh) 改进的归约计算
El Atre et al. Design and implementation of new delay-efficient/configurable multiplier using FPGA

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20030528

Termination date: 20110121