计算机组成与设计(五)—— 加法器的优化
4-bit加法器示例 先看一下上一节得到的加法器实现,可以看出改进的地方。 不难发现整个过程是从右至左依次执行,每一个进位需要等前面的运算全完成,可以在一开始得到所有的进位吗? 行波进位加法器(Ripple-Carry Adder,RCA) 像上面4-bit加法器这样实现的加法器被称作行波进位加法器,所有的进位像波浪一样向左推进。 结构特点:低位全加器的C out 连接到高一位全加器C in 优点:电路布局简单,设计方便 缺点:高位的运算必须等待低位的运算完成 4-bit RCA的门电路实现 我们考察其中的关键路径(延迟最长的路径) 总延迟时间:(T + T)*4 + T = 9T,推广到n位,总时间为(2n + 1)*T。降低总延迟时间就是我们优化的方向。 加法器的优化思路 主要思路:提前计算出“进位信号”。对进位信号进行分析: $C_{i+1} = (A_i · B_i) + (A_i · C_i) + (B_i · C_i) = (A_i · B_i) + (A_i + B_i) · C_i$ 设:生成信号( Genarate ):$G_i = A_i · B_i$,传播信号 (Propagate ):$P_i = A_i + B_i$,则:$C_{i+1} = G_i + P_i · C_i$ 如果把这看作一个递推公式,这是一个等差函数,通项可直接求出来,且只与$A_i$和