首页 > 编程知识 正文

串行进位加法器,如何提高串行加法器速度

时间:2023-05-06 15:06:45 阅读:117135 作者:158

从文章中声明一点,本章中很多电路图是主从百度百科搜索到的。 真的画画得不好,如果有侵权的话请私信。 我也在呼叫的时候注明出处。

现在我们来谈谈构成原理的五个功能部件的前——运算器。

注意:

1 )运算器的功能主要包括算术运算和逻辑运算以及位移等辅助运算。

2 )运算器的核心是算术逻辑单元(ALU )。

3 )运算器的操作种类来源于控制器,操作数值来源于存储器。 处理结果经常返回存储器(也可以临时保存)。

4 )对于一般逻辑单元、临时操作数、累加器(ACC )、商用寄存器)、操作数寄存器(x )、程序状态寄存器(PSW ),运算器不是必需的索引寄存器和基址

5 ) PSW主要用于存储运算获得的标志信息(是否溢出、进位偏差、结果是否为负)。

加法器1.1位全加法器

一个人的全加法器的图形如下。

图来源于百度百科

a、b分别为2个加法运算,从低位作为进位返回1个Cin,因此有3个输入、输出和进位,所以有3个输出。

在a、b中1的个数为奇数的情况下,一定会发生0 1现象,即1; a、b中1的个数为偶数个时一定会发生0或1-1的现象,因此当前的和为0;

所以,可以看出现在和实际上是异或运算。 (这只有在进位不参与运算的情况下。

我们知道,在计算加法时,进位会参与运算。 也就是说,如果存在进位,则将进位a、b和Cin的异或值添加到当前位数的值中。

进位的计算方式很简单。 当与a、b的异或为0时,我们需要判断是因为两者都是0,还是因为两者都是1。 与非门有1就等于1,所以a和b通过门,没有2、1就等于1。 最后,如果作为与a、b的异或的值相的话就可以得到。

为了清楚起见,我试着写一下公式:

Sum=A异或b异或c (请注意该c是第n-1个c ) )。

c=(a、b和c )和(a和b );

2 .串行加法器

这只是一个个的全加器,也就是说只不过和一个全加器的过程一样进行了n次。 运算速度当然不快,但这确实很便宜。

3 .并行加法器

axdggx是多个全加法器一起相加的。 这一定很快,也很费钱。

此时,会出现不同时进位(串行进位)这两种情况。 我们很容易理解。 我们重新计算加法的过程其实是这种现象的抽象,所以我们写两列加法来一一计算。 另一种是同时进位(并行进位、先行进位)。

举个例子:

例如,当我们在计算的时候

C1=(A1、B1和C0 )和(A1和B1 )的异或

C2=(A2异或B2和C1 )和(A2和B2 ) ) ) )。

这是麦片

在我们并行的时候,我们把C2改为:

C2=(A2异或B2和) A1异或B1和C0 )和(A1和B1 ) )和(A2和B2 ) ) ) ) ) ) ) ) ) ) ) )。

这样,是否只知道最初的值就可以了,也实现了并行化。

ALU

左侧为ALU的形状,a、b为两种输入数据,k为操作指令,f为输出函数。

右边是4位信号,这是最简单的信号。 可以进行16种逻辑运算和16种算术运算。

m被用于说明是算术运算还是逻辑运算。

s是不同的运算操作。

我们在另一个切片内是并行运算,但是将不同的切片组合一起进行串行运算。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。