当前位置:文档之家› 一种快速浮点加法器的设计与优化方法

一种快速浮点加法器的设计与优化方法


!
引言 浮点加减法运算是浮点预算中最常用的操作 !
其中 ! # 表示浮点数 ! 的符号 % $ 表示 % 的指数 部分 !它是一个 6 位的带 2!& 位偏移量 &&0" ! "0" 时 除外 ’ 的无符号数 % " 表示 % 的小数部分 ! 它是一个
浮点加减 法 的 性 能 对 整 个 浮 点 运 算 器 的 性 能 起 到 决定性的作用 " 由于浮点预算包括一系列独立 # 复杂而又费时 的操作 ! 如指数对齐 # 移位 # 尾 数 加 减 # 结 果 的 四 舍 五入及规范化处理等 ! 如果不使用优化技术而顺序 执行上列的步骤 !其时延将无法忍受 " 为此 ! 本文从 算法和结构等多方面考虑 ! 采用了多种优化技术 ! 使本文提出的单精度浮点加法器能达到 ’""()* 的 频率 ! 达到了优化的目的 " 由于文献 +!, 已 经 对 该 浮 点 加 法 器 的 结 构 给 予 了详细的介绍 ! 本文将重点介绍该结构所采用的优 化技术 "
!’ 位的无符号数 " 因此 ! 可以用 7#8&+&$",! " +!!$", 5 来
表示一个单精度浮点数+’," 浮点加法器应以两个标准的浮点数作为输入 ! 在指定运算类型 & 加 或 减 ’ 及 四 舍 五 入 模 式 的 情 况 下 ! 输出一个仍符合 -... 标准格式的结果 "
"#" $%%% 四舍五入模式
8:(09,;0< -> @KFD EBEAC8 LA ECADA>@ B ><ZAW ?ADFX> <G -... V<\EWFB>@ DF>XWA ECAVFDF<> GW<B@F>X E<F>@ B??AC3 ]KA B??AC BVKFAZA? KFXK EACG<C\B>VA =E @< ’""()* =>?AC "326!\ @AVK><W<X[ ^[ =DF>X ZBCF<=D <E@F\F*B@F<> @AVK>F_=AD8 D=VK BD @L< ?B@B EB@K DAEBCB@F<>8 @KCAA EFEAWF>A D@BXAD8 M: A>V<?AC8 CA?=VA? -... C<=>?F>X \<?AD B>? EBCBWWAW ECAGF‘ B??AC A@V3 =’> !39-"< 4W<B@F>X E<F>@ B??AC8 M: A>V<?AC8 %<=>?F>X8 5BCBWWAW ECAGF‘ B??AC
选择出大小操 作 数 ! 并 进 行 指 数 对 阶 移 位 ! 这 些 大 致需要 , 个逻辑级延时 " 第二级执行 23 编码操作 ! 前导零预测 ! 使用 !, 位的并行前缀加法器执行尾 数的相减操作 !共需要 M 个逻辑级 " 在第三级中 !执 行规格化处理 &, 个逻辑级 ’" 综上 !3>DEFG 关键路 径的长度不超过 M 个逻辑级 "
! %! F 0P $N ’
该 方 法 中 !$KO 与 &’( 的 不 同 仅 在 于 当 8H E
)9HG9!: [ ! 且 9! 的 最 低 有 效 位 为 H 时 ! 因 此 ! 在 修 正
结果时 ! 在上述情况下将 9! 的最低位强制为零即 可) 对舍入模式的简化 ! 使得相应的逻辑电路在时 间和面积上都得到相应优化 )
根据式7*: !定义 5 为 (
( 5E/G1 7=: 并行前缀加法器 ! 如 QR%’44B- 或 R6%’44B- ! 可 以同时计算出 5 和 5GH) 则可根据 5 的符号 !选择 & 或 5GH 作为结果 ) 在 $%&’() 中 ! 由于四舍五入可能产生进位 ! 因
此也可以利用并行前缀加法器的上述特性 ! 同时计 算出 .*+, 和 .*+,GH! 最终结果的选择根据四舍五 入部分的进位来决定 )
"!,
微电子学与计算机
!""# 年第 !! 卷第 !" 期
一种快速浮点加法器的设计与优化方法
刘哲

付宇卓
&上海交通大学微电子学院 ! 上海 !"""’" ’ 要 ! 本文提出了一种快速单精度浮点加法器的设计 方 法 ! 重 点 介 绍 了 该 浮 点 加 法 器 所 采 用 的 各 种 优 化 技 术 !
四舍五入的模式决定了浮点运算的精确度!
-...%&/# 规定浮点运算中所用到的 # 种标准四舍
五入模式 ! 它们分别是
125 向零进位 $ 即将最低有效位后的所有位直接
舍去 %
1!5 向最近的高位进 位 &9:;$9<=>? @< :ABCAD@ "
浮点数标准和基本算法 本节介绍浮点数的 -... 标准表示法和基本的 浮点加法运算的算法 "
#%!
流水线划分及时延分析 兼顾到面积和速度的需要 ! 该浮点加法器采用
* 级流水线结构 ! 其详细结构图请见附录 ’" 采 用 文 献 -#/ 中 以 逻 辑 级 为 基 本 单 位 的 时 延 分 析方法. 分别对 3>DEFG 和 H>DEFG 进行分析 " 在 3>DEFG 中 ! 流水线第一级将计算指数差异 !
> 个逻辑级 "
若把这样一个加法器运用到一个浮点 ?6@ 上 ! 在时延 分 析 时 ! 还 需 考 虑 到 加 法 器 外 围 电 路 的 延 时 " 假定有四个通用寄存器可参与浮点运算 ! 则为 从这四个寄存器中作选择 ! 又需要两个逻辑级 " 再 考虑到对于溢出等情况进行处理的监控逻辑 ! 整个 加法器的每级流水线延时不会超过 = 个逻辑级 " 采用 6.31&A.A 公司的 4BA053 81C&0DB- 工具进行 综合 ! 综合的结果表明该浮点加法器的关键路径在
式 ! 即在原操作的基础上加上一个根据舍入模式得 到的插入数值 &6"7 $) 对单精度数 ! 插入的定义如下 (
"F $ NK7E % ! F
& %!!
%>#
0P $% 0P $KZ 7H":
& %!T
$%&’() 的第二级 " !"!
部分压缩编码进行前导零预测 本文引入 !%" 编码及其相关理论来计 算 前 导 零的个数 " 定义 #( 设 !"!##!!##"$$$!$ 为一个 # 位的借位保存 编码串 ! 对它进行 @ 编码得到 $ ! 即 $E@ 7%:F 则 $ 为 一个 #GH 位的借位保存编码串 $&$#$#%HIII%"! 且 )
’!故 # 对齐操作的移位数目至多为 ’$ # 指数差的计算只需抽取最末两位 $ # 不需要进行四舍五入 " 在 H>DEFG 中 ! 或者进行加法 ! 或者进行指数差
异较大的减法 !故
# 最后结果在规格化时至多只需要左移一位 $ # 尾数运算结果始终为正 ! 不需要取反 "
与传统的双数据通道划分方法相比 ! 该结构在
文章编号 ! 2"""%&26" (!""#) !"%"!,-,*
&’()*+ ,+- ./0)1)2,0)3+ 34 , 5,(0 563,0)+* 73)+0 8--’9
Q-; RKA! S; T=U*K=<
&OVK<<W <G (FVC<AWAV@C<>FVD. OKB>XKBF YFB<@<>X ;>FZACDF@[. OKB>XKBF !"""’" /0123’
如双数据通道划分 "’ 级流水线结构 "M: 编码 " 简化的四舍五入模式及并行前缀加法器等 ! 使得该浮点加法器的频 率能够达到 ’""()* ! 能在高性能浮点 NOM 中得到很好的应用 # 关键词 ! 浮点加法器 !M: 编码 ! 四舍五入 ! 并行前缀加法器 中图法分类号 ! )&*+
!! 文献标识码 ! P
!%&
简化的四舍五入模式 根据 S2’8);#<! 将 NOOO 的四舍五入模式简化为
T 种 ! 即 ( 向 零 舍 入 &$U$! 向 无 穷 舍 入 &$N $! 向 最 近 的偶数进位 &$KO $) V OWOK 和 @ X 6B4BD;!< 还通过 引入插入 &03YB8(013 $ 的方法进一步简化了舍入模
#
优化技术 根据以上的分析 ! 本设计采用了一系列的优化 这样划分的优点是 # 在 3>DEFG 中 ! 由于两操作数指数差异不超过
方法 !来降低整个浮点运算的操作时延 " 在结构上 ! 采用优化的双通道方案 ! 并提出 * 级流水线的划分 方法 $ 在算法上 ! 使用 23 编码进行指数差前导零的 预测 ! 采用简化的 四 舍 五 入 模 式 % 带 流 水 线 结 构 的 并行前缀加法器等优化技术 ! 并在细节上尽量增加 并行运算的可能 " 下面将对这些优化技术作详细介绍 " 这里 ! 将 以 !4+"#. $#. %#(. &4+"’. $’. %’( 表示两操作数 !() 表示 将进行的运算 &5 为加 !’ 为减 ’!678 表示采用的四 舍五入的模式 !*+&",. $,. %, ) 表示 - %& 中较大的操作 数 !./&"". $". %") 表示较小的操作数 ! 9:;< 表示 %0 ()
相关主题