被加数和加数的各位能同时并行到达各位的输入端,而各位全加器的进位输入则是按照由低位向高位逐级串行传递的,各进位形成一个进位链。由于每一位相加的和都与本位进位输入有关,所以,最高位必须等到各低位全部相加完成并送来进位信号之后才能产生运算结果。显然,这种加法器运算速度较慢,而且位数越多,速度就越低。为了提高加法器的运算速度,必须设法减小或去除由于进位信号逐级传送所花的时间,使各位的进位直接由加数和被加数来决定,而不需依赖低位进位。根据这一思想设计的加法器称为超前进位(又称先行进位)
二进制并行加法器。
要实现32位的二进制加法,一种自然的想法就是将1位的二进制加法重复32次(即逐位进位加法器)。这样做无疑是可行且易行的,但由于每一位的CIN都是由前一位的COUT提供的,所以第2位必须在第1位计算出结果后,才能开始计算;第3位必须在第2位计算出结果后,才能开始计算,等等。而最后的第32位必须在前31位全部计算出结果后,才能开始计算。
1. 加法器由一个加法位和一个进位位组成。
2. 进位位可以通过与门实现。
3. 加法位需要通过或门和与非门组建的异或门(需要与门将两个逻辑门连接)实现。
4. 将加法位和进位位连接,实现加法位输出和进位位输出。
5. 通过以上几步就已近组建好了一个半加器。
6. 将两个半加器和一个或门连接就组建成了一个全加器(二进制加法器)。
7. 若想实现更多位数需要将跟多的全加器连接,一个全加器是一位,八个全加器连接就是八位,同样n个相连就是n位。