We use cookies to improve your experience with our site.

LZA算法的错误并行检测

Parallel Error Detection for Leading Zero Anticipation

  • 摘要: 前导0预测(Leading Zero Anticipation,LZA)算法是高性能处理器浮点加减法设计中的重要算法之一。该算法的作用在于能够在加法运算结果出来之前预先判断出加法结果中第一个1的位置(或者说高位连续0的个数),这样一来加法结果一旦算出就马上可以根据前导0预测结果进行规格化,因此避免了对加法结果中前导0个数进行再检测的过程,大大降低了关键路径延迟。目前国际上已有很多算法对前导0预测算法进行了研究,但是出于设计方法和延迟等方面的限制,大部分前导0预测算法都为非精确算法,其预测结果可能与真实加法结果中前导0的个数产生一位的误差,这个误差需要在浮点加法的后规格化过程中进行修正,因此反过来又增加了浮点加减算法的关键路径延迟。本文提出了一种新型的、基于错误纠正机制的前导0预测算法,该算法在传统非精确算法的基础上增加了对其结果出错时的预判机制和规格化过程中的实时纠正机制,从而实现了尾数和规格化时的精确移位,降低了浮点加减运算的关键路径延迟。该前导0预测纠正机制的主体算法实现基于字符串匹配的原理,首先通过对传统前导0预测算法的错误结果进行分析,得到与这些错误结果相对应的输入字符串模式,并且进一步利用公式对这些错误模式进行归一化处理,接下来我们提出一种基于3-2压缩树结构的算法,对归一化后的错误模式进行匹配,最后根据匹配结果做出传统前导0预测结果是否需要修正的判断。该前导0预测纠正算法对于尾数和为正数或者负数的情况下都能正确工作,因此不需要事先判断尾数大小和进行尾数交换,适合在基于双通路结构的高性能浮点加减运算中采用。本文所提出的前导0预测纠正算法独立性好,易于实现。我们采用90纳米 CMOS标准单元工艺以及SYNOPSYS自动布局布线流程进行实验,实验结果表明该算法在高性能双通路结构的浮点加减运算中引入后,可以使得近路径的运算延迟整体降低10.2%,且算法本身没有造成新的关键路径。而另一方面,该算法与目前国际上其它类似算法相比具有面积和功耗上的明显优势,根据实验结果,采用该算法所实现的电路面积比采用以往类似算法所实现的电路面积减少了27%,功耗则降低了28%,因此特别适合在高性能、低功耗的浮点加减运算算法中采用。

     

    Abstract: The algorithm and its implementation of the leadingzero anticipation (LZA) are very vital for the performance of ahigh-speed floating-point adder in today's state of art microprocessordesign. Unfortunately, in predicting "shift amount" by a conventionalLZA design, the result could be off by one position. This paperpresents a novel parallel error detection algorithm for a general-caseLZA. The proposed approach enables parallel execution of conventionalLZA and its error detection, so that the error-indicationsignal can be generated earlier in the stage of normalization, thusreducing the critical path and improving overall performance. The circuitimplementation of this algorithm also shows its advantages of area andpower compared with other previous work.

     

/

返回文章
返回