多级浮点累加器制造技术

技术编号:5424043 阅读:226 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种多级浮点累加器,其包含至少两个级且能够以较高速度操作。在一种设计中,所述浮点累加器包含第一级和第二级。所述第一级包含三个操作数对准单元、两个多路复用器和三个锁存器。所述三个操作数对准单元对当前浮点值、前一浮点值和前一累加值进行操作。第一多路复用器将零或所述前一浮点值提供给第二操作数对准单元。第二多路复用器将零或所述前一累加值提供给第三操作数对准单元。所述三个锁存器耦合到所述三个操作数对准单元。所述第二级包含用以对由所述三个操作数对准单元产生的操作数求和的3操作数加法器、锁存器和后对准单元。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术大体上涉及电子装置,且更具体地说,涉及一种浮点累加器。
技术介绍
在数字处理器中,可使用整数或浮点表示来表达数值数据。由于浮点表示能够表达 较广范围的值以及对于某些算术运算来说其易于操纵,所以浮点表示用于许多应用中。 浮点表示通常包含三个分量符号位(sign)、尾数(mant)(有时称作有效数)和指数 (exp)。可将浮点值表达为(-l)s^ x mant x 2exp。浮点累加是一种算术运算,其一般经执行以用于各种应用,例如图形、数字信号处 理等。浮点累加通常需要(1)接收输入的浮点值和累加的浮点值,(2)基于所述两个 浮点值的指数而对准所述两个浮点值的尾数,(3)对所述两个对准的尾数求和,以及(4) 对结果进行后对准以实现标准化。步骤2、 3和4中的每-一者都需要一定量的时间来执 行。用于这些步骤的总时间可能限制处理器可操作的速度。
技术实现思路
本文描述能够以较高速度操作的多级浮点累加器。所述多级浮点累加器将用于浮点 累加的步骤分割为多个级。每一级的延迟是用于浮点累加的所有步骤的总延迟的分数。 这允许多级浮点累加器以较高的时钟速度操作。在一实施例中,浮点累加器包括至少两个级。每一级包括功能逻辑和至少一个锁存 器以存储所述级的至少一个结果。所述浮点累加器使用来自早先至少两个时钟循环的累 加结果来对多个浮点值执行累加。在一实施例中,所述浮点累加器包括两个级。在一实施例中,第一级包含三个ji作 数对准单元、两个多路复用器和三个锁存器。所述三个操作数对准单元对当前浮点值、 前一浮点值和来自早先两个时钟循环的前一累加值进行操作。第一多路复用器将零或前 一浮点值提供给第二操作数对准单元。第二多路复用器将零或前一累加值提供给第三操 作数对准单元。所述三个锁存器耦合到所述三个操作数对准单元。在一实施例中,第二5级包括3操作数加法器,其对由所述三个操作数对准单元产生的操作数求和;锁存器, 其耦合到所述3操作数加法器;以及后对准单元,其耦合到所述锁存器。所述多级浮点累加器可与乘法器组合用于执行乘法与累加(MAC)操作,其一般用 于点积、过滤等。下文进一步详细地描述本专利技术的各种方面和实施例。附图说明从下文结合图式陈述的详细描述,将更容易明白本专利技术的各方面和实施例,在图式 中相同的参考标号始终对应地进行识别。 图1展示单级浮点累加器。图2和图3展示两级浮点累加器的两个实施例。 图4展示乘法与累加(MAC)单元。 图5展示图形处理器的方框图。 图6展示无线装置的方框图。具体实施例方式本文使用词"示范性"来意指"用作实例、例子或说明"。本文描述为"示范性" 的任何实施例或设计没有必要解释为比其它实施例或设计优选或有利。一个级中的浮点累加可表达为 ,玄x, =Sa:,. + a: , 对于is"N ,'=i '=i 等式(i)其中n为正被累加的浮点值的索引, Xn为正被累加的第n个浮点值,其中Xo二0,且 N为正被累加的浮点值的总数。 一般来说,N可为任何正整数值。 等式(1)可经改写为如下A , +X ,对于1 ^"SN, 等式(2)6其中An为X,到Xn的累加结果,其中Ao = 0。在己累加了所有N个浮点值X,到Xn之后,获得最终的累加结果AN。图1展示单级浮点累加器100的方框图。锁存器IIO接收并锁存输入浮点值(其也 称作输入操作数),并提供所锁存的值作为将要累加的当前浮点值Xn。多路复用器(Mux) 112在两个输入端上接收累加结果和零(0.0)。如果累加正开始或被停用,则多路复用 器112提供零,且如果累加正继续进行,则多路复用器112提供累加结果。多路复用器 112的输出是等式(2)中的前一累加值A^,且将要与Xn求和。操作数对准单元120和122分别接收操作数Xn和A^。单元120和122例如通过移 位一个操作数的尾数并调整其指数直到所述两个操作数的指数相等为止来对准所述两 个操作数的尾数。2操作数加法器140接着对两个对准的尾数求和,并提供结果尾数和 指数。锁存器150接收并锁存加法器140的输出。后对准单元160在必要时移位结果尾 数并调整指数,以获得具有l.xxx--xxx格式的标准化尾数,其中每一 "x"表示一个二 进制位。单元160提供标准化尾数和指数作为累加结果。浮点累加器100具有两个信号路径用于X。的第一信号路径和用于An_,的第二信 号路径。第一信号路径的总延迟是从锁存器IIO到锁存器150,且由操作数对准单元120 和2操作数加法器140的延迟确定。第二信号路径的总延迟是由后对准单元160、多路 复用器112、操作数对准单元122和2操作数加法器140的延迟确定。第二信号路径的 总延迟长于第一信号路径的总延迟,且确定可对锁存器IIO和150计时的速度。明确地 说,用于锁存器的时钟速度可经选择以使得每一时钟周期长于第二信号路径的总延迟。 此总延迟可能相对较长,且因此限制了浮点累加器IOO的吋钟速度。浮点累加器100可用于可以高时钟速度操作的高性能和高速度算术逻辑单元(ALU) 中。如果无法在一个时钟周期中完成浮点累加,则可能在利用ALU的数据管线之间引 入额外的数据相依性。所述数据管线可能需要等待,直到浮点累加器IOO提供累加结果 为止。此数据相依性可影响性能,尤其是对于广泛地执行浮点累加的应用。多级浮点累加器可用以改进操作速度。所述多级浮点累加器将用于浮点累加的步骤 分割为多个级。每一级的延迟是用于累加的所有步骤的总延迟的分数。这允许多级浮点 累加器以较高的时钟速度操作。两个级中的浮点累加可表达为十;^ + a:"—,, 对于i"《n ,'=| 等式(3)7其中A^X/ = 0。等式(3)可经改写为如下/1 = A -2 + X + ,对于1S"^N, 等式(4)其中H = 0。图2展示两级浮点累加器200的实施例的方框图。锁存器210接收并锁存输入浮点 值,并提供将要累加的当前浮点值X。。多路复用器212接收前一操作数和零,如果累加 正开始或被停用,则提供零,且如果累加正继续进行,则提供前一操作数。多路复用器 212的输出是等式(4)中的Xw,且将要与Xn求和。多路复用器214接收累加结果和 零,如果累加在上两个时钟周期内开始或被停用,则提供零,且如果累加正继续进行, 则提供累加结果。多路复用器214的输出是等式(4)中的前一累加值An—2,且将要与 X。求和。浮点累加器200是具有两个时钟循环延迟的管线。因此,来自单元260的当前 累加结果是,先两个时钟循环的前一累加值。操作数对准单元220、 222和224分别接收操作数Xn、 和An_2。单元220、 222 和224例如通过在必要时移位一个或一个以上操作数的一个或---个以上尾数并调整其指 数直到所有三个操作数的指数相等为止来对准所述三个操作数的尾数。锁存器230、 232 和234分别接收和锁存单元220、 222和224的输出。3操作数加法器240对来自锁存器 230、 232和234的三个对准的尾数求和,并提供结果尾数和指数。锁存器250接收并锁 存加法器240的输出。后对准单元260在必要时移位结果尾数并调整指数以获得标准化 尾数。单元260提供累加结果。浮点累加器200具有两个级。第一级可本文档来自技高网...

【技术保护点】
一种处理器,其包括: 浮点累加器,其操作以对多个浮点值执行累加,且包括至少两个级,每一级包括至少一个锁存器,所述锁存器操作以存储所述级的至少一个结果。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:杜云于春焦国方
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:US[美国]

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

1
相关领域技术
  • 暂无相关专利