用于执行计算操作的方法、系统以及设备技术方案

技术编号:2855603 阅读:149 留言:0更新日期:2012-04-11 18:40
通过使用管线化的计算设备执行计算操作的方法,该管线化的计算设备包括:一组至少两个管线级、至少一个用于输入数据的数据接口和至少一个用于输出数据的数据接口,所述管线级具有至少一个用于输入数据的数据接口和至少一个用于输出数据的数据接口,在该方法中用于执行第一和第二计算操作的数据被输入该设备,其特征在于:在所述第一计算操作中,至少一个管线级的输出数据被存入存储器中,以及在所述第二计算操作中所存储的数据被用作一个管线级的输入数据。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种使用管线计算设备来执行计算操作的方法,该管线计算设备包括一组至少两个管线级、至少一个用于数据输入的数据接口和至少一个用于数据输出的数据接口,所述管线级具有至少一个用于数据输入的数据接口和至少一个用于数据输出的数据接口,在该方法中,用于执行第一和第二计算操作的数据被输入到设备。本专利技术还涉及一种用于在管线计算设备中执行计算操作的系统,该管线计算设备包括一组至少两个管线级、至少一个用于数据输入的数据接口和至少一个用于数据输出的数据接口,所述管线级具有至少一个用于数据输入的数据接口和至少一个用于数据输出的数据接口,并且所述设备还包括用于第一和第二计算操作的数据输入。本专利技术还涉及一种用于在管线计算设备中执行计算操作的设备,该管线计算设备包括一组至少两个管线级、至少一个用于数据输入的数据接口和至少一个用于数据输出的数据接口,所述管线级具有至少一个用于数据输入的数据接口和至少一个用于数据输出的数据接口,并且所述管线设备还包括用于第一和第二计算操作的数据输入。
技术介绍
有很多应用程序中需要乘法、乘法累加(MAC)和其它计算操作。作为非限制性例子,诸如数字信号滤波应用程序、视频/图像处理应用程序等之类的许多信号处理应用程序是其中实现了实时乘法操作的应用程序。其中需要向量和/或矩阵操作的其它应用程序也使用乘法和MAC操作。乘法操作通常以加法和移位操作来实现。这种乘法操作是高占用资源的任务,因为两个操作数之间的一个乘法操作需要很多加法和移位操作来计算乘法结果。视频/图像处理算法的特殊之处是必须实时执行大量计算。因此,高速度性能已经是开发用于不同的视频/图像处理算法或子任务的并行专用结构(加速器)的推动力量。现有技术的视频/图像处理系统包含几个这种加速器(例如绝对误差和(SAD)、余弦变换等),每个都由大量的硬件元件组成。但是,在开发移动通信系统中,影响系统成本的硬件面积以及功率/能量消耗是和高速度性能同样重要的特性。接近满足所有这些标准的一个方法是进一步革新数字信号处理器(DSP)并减少专用加速器的个数。尽管这个领域有一些改进,但开发的系统仍然不是总能满足高速度和功率消耗的要求。表1汇总了一些核心运算模式以及其中经常执行这些模式的视频/图像处理算法的例子。这些模式中涉及的操作是非常基础和非常常见的操作。大量文献致力于它们的实现。这里强调在视频/图像处理环境中与这些操作有关的两个细节。首先,操作的操作数通常是中等(8到16比特)精度的整数。其次,大部分算法使用整体并行的操作。在一些情况下,这些并行操作共享相同的操作数。例如,在标量量化中,图像的许多像素乘以相同数字,在矩阵-向量乘积中,矩阵的不同行被乘以同一个输入向量,在有限脉冲响应(FIR)滤波中,多个MAC操作包含同样的系数。表1 用于视频和图像处理以及其它信号处理任务的现有技术体系结构通常基于传统的乘法器结构。用于实现乘法和/或乘法累加操作的许多乘法方法和非常多不同的设备已经被开发出来。在下面,将只考虑用于两个操作数(被乘数和乘数)都未知的情况的乘法方法和通用乘法器结构,在二进制补码运算中出现的两个定点带符号整数的乘法,以及所谓的radix-T方法。乘数a的n-比特二进制补码表示(包括符号)记为a~=an-1an-2···a1a0,]]>以及被乘数x的m-比特二进制补码表示(包括符号)记为x~=xm-1xm-2···x1x0.]]>a和 的关系(以及x和 是类似的关系)如下a=-an-12n-1+Σr=0n-2ar2r,x=-xm-12m-1+Σl=0m-2xl2l.---(1)]]>在radix-T并行乘法方法中,积y=α·x的二进制补码y~=ym+n-1ym+n-2···y1y0]]>根据下面公式获得y~=Σr=0nradix-T-1(Arx)2rtradix-T---(2)]]>下面是两个主要步骤步骤1.生成部分积(PP)Ar·x,r=0,...,nradix-T-1,这样公式(2)有效。步骤2.将所有的部分积并行相加,相加前预先将第r个部分积Ar·x,r=0,...,nradix-T-1向左移rtradix-T位。radix-T MAC单元以相似的方式操作,不同之处在于在步骤2中另一个数(累积项)同部分积一起相加。现在将详细考虑步骤1。根据如何定义和获得所述数字Ar·x,r=0,...,nradix-T-1,可以派生出不同的乘法方法。反过来,数字Ar·x,r=0,...,nradix-T-1的选择实际上是由乘数a的表示决定的。最简单的乘法方法是radix-2方法,其使用(1)的左边公式中给出的a的基本二进制补码表示。这样的话,积的二进制补码将如下得到y~=Σr=0nradix-2-1(Arx)2rtradix-2=Σr=0n-2(arx)2r-(an-1x)2n-1,---(3)]]>也就是说,nradix-2=n,以及部分积Ar·x,r=0,...,n-1是由r=0,...,n-2时Ar=αr且r=n-1时An-1=-αn-1确定。这些部分积可以简单地(并且通常)利用在乘数 和被乘数 的每个二进制补码位之间的2输入的与门阵列形成。Ar·x,r=0,...,n-1的值在第二步累加之前乘以2r(即向左移r位)。应该注意在这个方法中,对有时也被称为校正因子的部分积An-1·x的处理同其它部分积的处理不同。在另一种基于将乘数的二进制补码位 来Booth重编码为冗余的有符号数字的radix-2乘法方法中,避免了所述部分积的不一致特性。乘积现在可以表示为y~=Σr=0nradix-2-1(Arx)2r=Σr=0n-1(-ar+ar-1)x2r,a-1=0---(4)]]>也就是说,如同前面方法一样nradix-2=n,但是部分积Ar·x,r=0,...,n-1现在都由Ar=-αr+αr-1定义。与前一个方法类似,Ar·x,r=0,...,n-1的值在第二步累加之前乘以2r。在这个方案中,部分积在0,±x之间选择。这些值中的两个值(0和x)容易得到,而要得到-x需要取反 的各位并且加上单位元素。通常,在其中部分积相加的步骤2中进行单位元素的相加。不管使用的是Booth再编码方法还是非再编码方法,在radix-2乘法方法中都总共有nradix-2=n个部分积相加。为了减少部分积的数目,并因此减少第二级(将部分积相加)的延迟,基于radix-4修正Booth算法(MBA)的方法已被开发出来。MBA是最流行的乘法方法之一,并正在被广泛地研究和优化。为了简化下面的公式,在每个项如n/k出现的地方,假设n是k的整数倍。这是一个有效的假设,因为二进制补码数字可以以任意个数的位被补足(重复最高有效位)。在MBA中,积的二进制本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.通过使用管线化的计算设备执行计算操作的方法,该管线化的计算设备包括一组至少两个管线级、至少一个用于输入数据的数据接口和至少一个用于输出数据的数据接口,所述管线级具有至少一个用于输入数据的数据接口和至少一个用于输出数据的数据接口,在该方法中用于执行第一和第二计算操作的数据被输入该设备,其特征在于在所述第一计算操作中,至少一个管线级的输出数据被存入存储器中,以及在所述第二计算操作中所存储的数据被用作一个管线级的输入数据。2.依照权利要求1的方法,其特征在于它是高基数的非Booth再编码式乘法方法。3.依照权利要求1或2的方法,其特征在于所述计算操作被分为一个第一子操作和多个第二子操作,第一子操作的计算结果被存储,以及所存储的计算结果被所述多个第二子操作使用。4.依照权利要求1、2或3的方法,其特征在于所述计算操作是乘法,其中一个被乘数被乘以一个乘数,该第一管线级执行乘数的潜在部分积的计算,并且潜在部分积被存储在存储器中。5.依照权利要求1、2、3或4的方法,其特征在于所述计算操作是一个乘法操作,其中一个被乘数x被乘以多个乘数(ai,i=1,...K),当被乘数被乘以第一个乘数a1时计算公共被乘数(x)的潜在部分积,该潜在部分积被存入存储器中,以及当将被乘数(x)与其它乘数(ai,i=2,...K)相乘时使用所存储的潜在部分积。6.依照权利要求5的方法,其特征在于通过将至少一个子操作划分成部分子操作并在不同时间初始化每个部分子操作来至少部分地以时间交错方式执行所述计算操作。7.依照权利要求1到6中任一项所述的方法,其特征在于该方法被用于视频信息的处理。8.依照权利要求1到7中任一项所述的方法,其特征在于以管线化的方式执行一个乘法操作和另一个乘法操作,其中所述另一个乘法操作在所述一个乘法操作结束之前开始,所述乘法操作被划分为至少一个第一和第二子操作,所述第一和第二子操作的每一个在一个管线级中完成,并且所述子操作中至少一个在一个管线中并行执行,其中第二个乘法操作的子操作在第一个乘法操作的对应子操作结束之前开始。9.依照权利要求1到8中任一项所述的方法,其特征在于在所述计算设备中执行选择性的数据路由,其中为至少一个数据接口在至少两个其它数据接口中进行选择,以便将所述至少一个数据接口连接到所选择的数据接口以在所述至少一个数据接口和所述选择的数据接口之间路由数据。10.用于在管线化的计算设备中执行计算操作的系统,该管线化的计算设备包括一组至少两个管线级、至少一个用于输入数据的数据接口和至少一个用于输出数据的数据接口,所述管线级具有至少一个用于输入数据的数据接口和至少一个用于输出数据的数据接口,以及该设备还包括用于第一和第二计算操作的输入数据,该系统的特征在于该系统还包括存储器(21),用于在所述第一计算操作中存储至少一个管线级的输出数据,还包括数据检索器(22),用于在所述第二计算操作中使用存储的数据作为一个管线级的输入数据。11.依照权利要求10的系统,其特征在于所述计算设备是高基数的非Booth再编码式乘法器。12.依照权利要求10或11的系统,其特征在于所述计算操作被分成在第一管线级中执行的一个第一子操作以及在其它管线级中执行的多个第二子操作,第一子操作的计算结果被安排存入存储器(21),并且数据检索器包括一个多路复用器,为了在所述多个第二子操作中使用存储的计算结果,该多路复用器将存储器的输出连接到所述其它管线级中至少一个的输入数据接口。13.依照权利要求10、11或12的系统,其特征在于第一管线级包括加法器阵列(2),第二管线级包括选择块(3),第三管线级包括压缩阵列(4),以及第四管线级包括先行进位加法器(5),第一管线级的输出数据接口连接到存储器的输入端,并且连接到数据检索器的一个输入端,存储器的输出连接到数据检索器的另一个输入端,以及数据检索器的输出连接到第二管线级的输入数据接口。14.依照权利要求10、11、12或13的系统,其特征在于所述存储器包括多个寄存器,每个寄存器被安排存储一个值,还包括一个寻址单元,用于在从寄存器中读取数据或向寄存器写入数据时寻址一个寄存器。15.依照权利要求10、11、12或13的系统,其特征在于所述存储器包括多个寄存器,每个寄存器被安排存储一个值,还包括一个多路复用器,用...

【专利技术属性】
技术研发人员:D·格沃尔基安A·劳尼埃宁P·利乌哈
申请(专利权)人:诺基亚有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1