定点运算器的组成

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图2.11
74181ALU的逻辑电路图和方框图
74181ALU的运算功能表 它有两种工作方式 。 对正逻辑操作 的运算功能表,它有两种工作方式 的运算功能表 它有两种工作方式。 数来说,算术运算称高电平操作 逻辑运算称正逻辑操作(即 算术运算称高电平操作,逻辑运算称正逻辑操作 数来说 算术运算称高电平操作 逻辑运算称正逻辑操作 即 高电平为“ 低电平为 低电平为“ 。对于负逻辑操作数来说,正 高电平为“ 1”,低电平为“ 0”)。对于负逻辑操作数来说 正 好相反。由于S 种状态组合,因此对正逻辑输入 好相反 。 由于 0 - S3 有 16种状态组合 因此对正逻辑输入 种状态组合 与输出而言,有 种算术运算功能和 种逻辑运算功能。 种算术运算功能和16种逻辑运算功能 与输出而言 有16种算术运算功能和 种逻辑运算功能。同 对于负逻辑输入与输出而言,也有 样 ,对于负逻辑输入与输出而言 也有 种算术运算功能和 对于负逻辑输入与输出而言 也有16种算术运算功能和 16种逻辑运算功能。 种逻辑运算功能。 种逻辑运算功能 注意,表 中算术运算操作是用补码表示法来表示的 中算术运算操作是用补码表示法来表示的。 注意 表2.5中算术运算操作是用补码表示法来表示的。其 是指算术加,运算时要考 虑进位,而符号 而符号“ 中“加”是指算术加 运算时要考 虑进位 而符号“+”是 逻辑加” 其次,减法是用补码方法进行的 减法是用补码方法进行的,其中数的反 指“逻辑加”。其次 减法是用补码方法进行的 其中数的反 码是内部产生的,而结果输出 而结果输出“ 减 减 因此做减法时需 码是内部产生的 而结果输出“A减B减1”,因此做减法时需 在最末位产生一个强迫进位(加 以便产生 以便产生“ 减 的结果 的结果。 在最末位产生一个强迫进位 加1),以便产生“A减B”的结果。 另外,“A=B”输出端可指示两个数相等 因此它与其他 输出端可指示两个数相等,因此它与其他 另外 = 输出端可指示两个数相等 因此它与其他ALU 输出端按“ 逻辑连接后,可以检测两个数的 的“A=B”输出端按“与”逻辑连接后 可以检测两个数的 = 输出端按 相等条件。 相等条件。
表2.4 Xi,Yi与控制参数和输入量的关系 S0 S1 0 0 1 1 0 1 0 1 Yi Ai AiBi AiBi 0 S2 S3 0 0 1 1 0 1 0 1 Xi 1 Ai+Bi Ai+Bi Ai
根据上面所列的函数关系,即可列出 根据上面所列的函数关系 即可列出Xi和Yi的逻辑表达式 即可列出 Xi=S2S3+S2S3(Ai+Bi)+S2S3(Ai+Bi)+S2S3Ai Yi=S0S1Ai+S0S1AiBi+S0S1AiBi 进一步化简并代入前面的求和与进位表达式,可得ALU的某 进一步化简并代入前面的求和与进位表达式,可得 的某 一位逻辑表达式如下 Xi=S3AiBi+S2AiBi Yi=Ai+S0Bi+S1Bi
4.两级先行进位的 两级先行进位的ALU 两级先行进位的 前面说过,74181ALU设置了 和G两个本组先行进位输出端。如果 设置了P和 两个本组先行进位输出端 两个本组先行进位输出端。 前面说过 设置了 将四片74181的P,G输出端送入到 输出端送入到74182先行进位部件(CLA), 先行进位部件( 将四片 的 输出端送入到 先行进位部件 ) 又可实现第二级的先行进位,即组与组之间的先行进位 即组与组之间的先行进位。 又可实现第二级的先行进位 即组与组之间的先行进位。 假设4片 假设 片(组)74181的先行进位输出依次为 的先行进位输出依次为 P0,G0,G1P1,P2,G2,P3,G3,那么参考式 那么参考式(2.37)的进位逻辑表达式 先 的进位逻辑表达式,先 那么参考式 的进位逻辑表达式 行进位部件74182CLA所提供的进位逻辑关系如下: 所提供的进位逻辑关系如下: 行进位部件 所提供的进位逻辑关系如下 Cn+x=G0+P0Cn + Cn+y=G1+P1Cn+x=G1+G0P1+P0P1Cn + + Cn+z=G2+P2Cn+y=G2+G1P2+G0P1P2+P0P1P2Cn (2.38) + + Cn+4 =G3+P3Cn+z + + =G3+G2P3+G1P1P2+G0P1P2P3+P0P1P2P3Cn =G*+P*Cn + P*=P0P1P2P3 其中 = G*=G3+G2P3+G1P1P2+G0P1P2P3 = 根据以上表达式,用 器件实现的成组先行进位部件74182的 根据以上表达式 用TTL器件实现的成组先行进位部件 器件实现的成组先行进位部件 的 逻辑电路图如图所示其中G*称为成组进位发生输出 称为成组进位发生输出,P*称为成组 逻辑电路图如图所示其中 称为成组进位发生输出 称为成组 进位传送输出。 进位传送输出。
这样,对一片 来说,可有三个进位输出 称为进位 这样 对一片ALU来说 可有三个进位输出。其中 称为进位 对一片 来说 可有三个进位输出。其中G称为 发生输出,P称为进位传送输出。 称为进位传送输出 发生输出 称为进位传送输出。在电路中多加这两个进位 输出的目的,是为了便于实现多片 是为了便于实现多片( 输出的目的 是为了便于实现多片(组)ALU之间的先行进 之间的先行进 为此还需一个配合电路,称之为先行进位发生器 位,为此还需一个配合电路 称之为先行进位发生器 为此还需一个配合电路 称之为先行进位发生器(CLA),下 下 面还要介绍。 面还要介绍。 Cn+4是本片 组)的最后进位输出。逻辑表达式表明 这是一 是本片(组 的最后进位输出 逻辑表达式表明,这是一 的最后进位输出。 个先行进位逻辑。换句话说,第 位的进位输入 位的进位输入C 个先行进位逻辑。换句话说 第0位的进位输入 n可以直接 传送到最高位上去,因而可以实现高速运算 因而可以实现高速运算。 传送到最高位上去 因而可以实现高速运算。 用正逻辑表示的4位算术 逻辑运算单元(ALU)的逻辑电路 位算术/逻辑运算单元 用正逻辑表示的 位算术 逻辑运算单元 的逻辑电路 图见演示,它是根据上面的原始推导公式用 它是根据上面的原始推导公式用TTL电路实现的。 电路实现的。 图见演示 它是根据上面的原始推导公式用 电路实现的 这个器件的商业标号为74181ALU。 这个器件的商业标号为 。 3.算术逻辑运算的实现 算术逻辑运算的实现 以上演示图中除了S 四个控制端外,还有一个控制端 还有一个控制端M 以上演示图中除了 0-S3四个控制端外 还有一个控制端M, 它使用来控制ALU是进行算术运算还是进行逻辑运算的。 是进行算术运算还是进行逻辑运算的。 它使用来控制 是进行算术运算还是进行逻辑运算的
1.基本思想 基本思想 一位全加器(FA)的逻辑表达式为 一位全加器 的逻辑表达式为 Fi=Ai⊕Bi⊕Ci Ci+1=AiBi+BiCi+CiAi + 先组合成由控制参数S 控制的组合函数X 将Ai和Bi先组合成由控制参数 0,S1,S2,S3控制的组合函数 i 然后再将X 和下一位进位数通过全加器进行全加。这样, 和Yi,然后再将 i,Yi和下一位进位数通过全加器进行全加。这样 然后再将 不同的控制参数可以得到不同的组合函数,因而能够实现多种算 不同的控制参数可以得到不同的组合函数 因而能够实现多种算 术运算和逻辑运算。 术运算和逻辑运算。
当M=0时,M对进位信号没有任何影响。此时 不仅与本位 M= 时 M对进位信号没有任何影响。此时F 的被操作数Y和操作数 有关,而且与本位的进位输出 和操作数X 而且与本位的进位输出,即 的被操作数 和操作数 有关 而且与本位的进位输出 即C 有 进行算术操作。 关,因此M=0时,进行算术操作。 因此 时 进行算术操作 M=1时 封锁了各位的进位输出 封锁了各位的进位输出,即 当M= 时,封锁了各位的进位输出 即C =0,因此各位的运算 因此各位的运算 结果F 仅与Y 有关,故M=1时 进行逻辑操作 进行逻辑操作。 结果 仅与 和X 有关 故M= 时,进行逻辑操作。 图2.11(b)示出了工作于负逻辑和正逻辑操作数方式的 示出了工作于负逻辑和正逻辑操作数方式的 74181ALU方框图。显然 这个器件执行的正逻辑输入 输出方 方框图。 这个器件执行的正逻辑输入/输出方 方框图 显然,这个器件执行的正逻辑输入 式的一组算术运算和逻辑操作与负逻辑输入/输出方式的一组 式的一组算术运算和逻辑操作与负逻辑输入 输出方式的一组 算术运算和逻辑操作是等效的。 算术运算和逻辑操作是等效的。
图2.10 ALU的逻辑结构原理框图
因此,一位算术 逻辑运算单元的逻辑表达式为 因此 一位算术/逻辑运算单元的逻辑表达式为 一位算术 Fi=Xi⊕Yi⊕Cn+i + Cn+i+1=XiYi+YiCn+i+Cn+iXi ++ + + 上式中进位下标用n+ 代替原来一位全加器中的 代替原来一位全加器中的i,i代表集成 上式中进位下标用 +i代替原来一位全加器中的 代表集成 在一片电路上的ALU的二进制位数 。 对于 位一片的 的二进制位数。 位一片的ALU, 在一片电路上的 的二进制位数 对于4位一片的 i=0,1,2,3。n代表若干片 代表若干片ALU组成更大字长的运算器时每片 = 。 代表若干片 组成更大字长的运算器时每片 电路的进位输入,例如当4片组成16位字长的运算器时, n=0,4,8,12。 。 2.逻辑表达式 逻辑表达式 控制参数S 控制输入A 产生 产生Y 控制输入B 产 控制参数 0 ,S1 控制输入 i ,产生 ;S2 ,S3 控制输入 i ,产 生X。其中Yi是受S0 ,S1控制的Ai和Bi的组合函数,而Xi是受 。其中 是受 控制的 的组合函数 而 S2 ,S3控制的 i和Bi组合函数 其函数关系如表 所示。 控制的A 组合函数,其函数关系如表 所示。 其函数关系如表2.4所示
2.5 定点运算器的组成
2.5.1 逻辑运算 计算机中的逻辑运算,主要是指逻辑非 逻辑加、逻辑乘、 主要是指逻辑非、 计算机中的逻辑运算 主要是指逻辑非、逻辑加、逻辑乘、 逻辑异四种基本运算. 逻辑异四种基本运算 2.5.2 多功能算术 逻辑运算单元 多功能算术/逻辑运算单元 逻辑运算单元(ALU) 由一位全加器(FA)构成的行波进位加法器 它可以实现补 构成的行波进位加法器,它可以实现补 由一位全加器 构成的行波进位加法器 码数的加法运算和减法运算。但是这种加法/减法器存在 码数的加法运算和减法运算。但是这种加法 减法器存在 两个问题:一是由于串行进位,它的运算时间很长 它的运算时间很长。 两个问题:一是由于串行进位 它的运算时间很长。假如 加法器由n位全加器构成 每一位的进位延迟时间为20ns, 位全加器构成,每一位的进位延迟时间为 加法器由 位全加器构成 每一位的进位延迟时间为 那么最坏情况下, 进位信号从最低位传递到最高位而最后 那么最坏情况下 输出稳定,至少需要 至少需要n*20ns,这在高速计算中显然是不利的。 这在高速计算中显然是不利的。 输出稳定 至少需要 这在高速计算中显然是不利的 二是就行波进位加法器本身来说,它只能完成加法和减法 二是就行波进位加法器本身来说 它只能完成加法和减法 两种操作而不能完成逻辑操作。 两种操作而不能完成逻辑操作。下面我们介绍的多功能算 术/逻辑运算单元 逻辑运算单元(ALU)不仅具有多种算术运算和逻辑运算 不仅具有多种算术运算和逻辑运算 逻辑运算单元 的功能,而且具有先行进位逻辑 从而能实现高速运算。 而且具有先行进位逻辑, 的功能 而且具有先行进位逻辑 从而能实现高速运算。
Fi=Yi⊕Xi⊕Cn+i Cn+i+1=Yi+XiCn+I (2.36) ) ++ + 4位之间采用先行进位公式 根据式(2.36),每一位的进位公式可 位之间采用先行进位公式,根据式 位之间采用先行进位公式 根据式( ) 每一位的进位公式可 递推如下: 递推如下: 位向第1位的进位公式为 第0位向第 位的进位公式为 位向第 Cn+1=Y0+X0Cn 其中C 是向第0位 末位) 其中 n是向第 位(末位) + 的进位。 的进位。 位向第2位的进位公式为 第1位向第 位的进位公式为 位向第 Cn+2=Y1+X1Cn+1=Y1+Y0X1+X0X1Cn + + 位向第3位的进位公式为 第2位向第 位的进位公式为 位向第 Cn+3=Y2+X2Cn+2=Y2+Y1X1+Y0X1X2+X0X1X2Cn + + 位的进Hale Waihona Puke Baidu输出( 位运算进位输出) 第3位的进位输出(即整个 位运算进位输出)公式为 位的进位输出 即整个4位运算进位输出 Cn+4=Y3+X3Cn+3 + + =Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn G=Y3+Y2X3+Y1X2X3+Y0X1X2X3 设 = P=X0X1X2X3 = Cn+4=G+PCn 则 + +
相关文档
最新文档