1、运算器与运算方法运算器与运算方法My Email: or 本本讲内容内容v加减法运算及其实现加减法运算及其实现v乘法运算及其实现(重点)乘法运算及其实现(重点)v除法运算除法运算v浮点数运算浮点数运算v十进制数运算十进制数运算v加减法运算及其实现加减法运算及其实现v乘法运算及其实现(重点)乘法运算及其实现(重点)v除法运算除法运算v浮点数运算浮点数运算v十进制数运算十进制数运算1.11.1加减法运算机器加减法运算机器实现v原则(以定点整数为例说明)原则(以定点整数为例说明)vX补补与与X补补若若则则1.11.1加减法运算机器加减法运算机器实现v加法单元(全加器)加法单元(全加器)AiBiCiC
2、i+1Si1.11.1加减法运算机器加减法运算机器实现v并行加法器串行进位并行加法器串行进位串行进位的特点:1.进位串行传递2.进位延时较长1.11.1加减法运算机器加减法运算机器实现v并行加法器并行进位(或先行进位)并行加法器并行进位(或先行进位)v并行进位的特点并行进位的特点同时产生进位同时产生进位加法延时缩短加法延时缩短实现相对复杂实现相对复杂1.11.1加减法运算机器加减法运算机器实现v并行进位链并行进位链1.11.1加减法运算机器加减法运算机器实现v并行进位加法器并行进位加法器1.11.1加减法运算机器加减法运算机器实现v分组并行进位加法器(组内并行,组间传递)分组并行进位加法器(组
3、内并行,组间传递)1.11.1加减法运算机器加减法运算机器实现v分组并行进位加法器(组内并行,组间并行)分组并行进位加法器(组内并行,组间并行)v加减法运算及其实现加减法运算及其实现v乘法运算及其实现(重点)乘法运算及其实现(重点)v除法运算除法运算v浮点数运算浮点数运算v十进制数运算十进制数运算2.12.1无符号数乘法及其无符号数乘法及其实现v笔算分析笔算分析1101 1011v机器算法改进机器算法改进通过多次加法实现乘法通过多次加法实现乘法每次加法均在上一次加法的结果每次加法均在上一次加法的结果(部分积部分积)的基础上进行的基础上进行每完成一次加法,结果右移一位每完成一次加法,结果右移一位
4、v举例举例2.12.1无符号数乘法及其无符号数乘法及其实现v算法推导(以定点整数为例)算法推导(以定点整数为例)2.12.1无符号数乘法及其无符号数乘法及其实现变成分步算式:变成分步算式:2.12.1无符号数乘法及其无符号数乘法及其实现v逻辑实现逻辑实现逻辑部件逻辑部件加法器加法器Adder被乘数寄存器被乘数寄存器M乘数寄存器乘数寄存器Q(乘积低位部分)乘积低位部分)累加器累加器A(部分积,乘积高位部分)部分积,乘积高位部分)控制逻辑控制逻辑数据通路数据通路Adder MAdder AA AdderA Shr A,Q Shr Q,Qn-1 A02.12.1无符号数乘法及其无符号数乘法及其实现v
5、逻辑实现结构图逻辑实现结构图2.22.2补码乘法及其乘法及其实现v补码乘法规则补码乘法规则乘积的补码被乘数的补码乘积的补码被乘数的补码 乘数的真值乘数的真值v问题与约束问题与约束参加运算的操作数本身是补码形式参加运算的操作数本身是补码形式机器中不能直接表示真值机器中不能直接表示真值必须寻求一种直接利用操作数补码进行运算来实现补码必须寻求一种直接利用操作数补码进行运算来实现补码乘法的算法乘法的算法结果要求直接是补码形式结果要求直接是补码形式2.22.2补码乘法及其乘法及其实现(一位比(一位比较法,又称一位法,又称一位Booth法)法)v补码表示与真值的关系补码表示与真值的关系v比较法算法推导(以
6、定点整数为例)比较法算法推导(以定点整数为例)2.22.2补码乘法及其乘法及其实现(一位比(一位比较法,又称一位法,又称一位Booth法)法)变成分步算式:变成分步算式:2.22.2补码乘法及其乘法及其实现(一位比(一位比较法,又称一位法,又称一位Booth法)法)v算法规则算法规则比较乘数相邻的两位:比较乘数相邻的两位:Qi 和和 Qi-1Qi Qi-1=00 或或 11,上一次部分积直接右移一位形,上一次部分积直接右移一位形成新的部分积成新的部分积Qi Qi-1=01,上一次部分积加上被乘数补码后右移,上一次部分积加上被乘数补码后右移一位形成新的部分积一位形成新的部分积Qi Qi-1=10
7、,上一次部分积减去被乘数补码后右移,上一次部分积减去被乘数补码后右移一位形成新的部分积一位形成新的部分积重复重复 n 次。次。对于对于 n 位数的一位比较法,需要执行位数的一位比较法,需要执行 n 次加法运算次加法运算和和 n 次移位运算。次移位运算。v举例举例2.22.2补码乘法及其乘法及其实现(一位比(一位比较法,又称一位法,又称一位Booth法)法)v流程图流程图2.22.2补码乘法及其乘法及其实现(一位比(一位比较法,又称一位法,又称一位Booth法)法)v逻辑实现逻辑实现采用两位符号位(为什么?)采用两位符号位(为什么?)加法器加法器ADDER(n+1位)位)累加器累加器A(n+1位
8、),保存部分积,最后保存位),保存部分积,最后保存乘积高位部分乘积高位部分被乘数寄存器被乘数寄存器M乘数寄存器乘数寄存器Q,最后保存结果低位部分最后保存结果低位部分计数器计数器Counter,对运算次数计算对运算次数计算触发器,控制逻辑等触发器,控制逻辑等2.22.2补码乘法及其乘法及其实现(一位比(一位比较法,又称一位法,又称一位Booth法)法)v数据通路及微操作控制信号数据通路及微操作控制信号P0:Shr A,Shr Q,Qn-1 A0P1:ADD AP2:ADD MP3:ADD NOT MP4:Counter Counter-1P5:A ADD 2.22.2补码乘法及其乘法及其实现(一
9、位比(一位比较法,又称一位法,又称一位Booth法)法)v实现结构图实现结构图2.22.2补码乘法及其乘法及其实现(二位比(二位比较法)法)v二位比较法二位比较法在一位比较法的基础上,对算法进行改进,每次比较乘数相邻的在一位比较法的基础上,对算法进行改进,每次比较乘数相邻的 3 位,根据不同的组合,对部分积进行不同的加减运算,然后对结果位,根据不同的组合,对部分积进行不同的加减运算,然后对结果右移右移 2 位,形成新的部分积。位,形成新的部分积。算法推导如下:算法推导如下:1 1位位比比较较法法2 2位位比比较较法法2.22.2补码乘法及其乘法及其实现(二位比(二位比较法)法)v算法规则算法规
10、则比较乘数相邻的比较乘数相邻的3 位:位:Qi+1、Qi 和和 Qi-1Qi+1 Qi Qi-1=000 或或 111,A 1/4 AQi+1 Qi Qi-1=010 或或 100,A 1/4(A+M)Qi+1 Qi Qi-1=011 或或 101,A 1/4(A-M)Qi+1 Qi Qi-1=110,A 1/4(A+2M)Qi+1 Qi Qi-1=001,A 1/4(A-2M)重复重复 n/2 次次(n为偶数)或(为偶数)或(n+1)/2次(次(n为奇数为奇数)。n为奇数时为奇数时,最后一次采用最后一次采用1位比较法算法位比较法算法.采用采用3位符号位位符号位(Why?)2.32.3阵列乘法
11、器列乘法器v基本思路基本思路利用若干全加器,完全由硬件直接计算乘法结果利用若干全加器,完全由硬件直接计算乘法结果以以 4 位无符号数为例位无符号数为例2.32.3阵列乘法器列乘法器v实现电路实现电路2.32.3阵列乘法器列乘法器v总结:总结:对于n位的阵列乘法,需全加器n(n-1)个最长路径2(n-1)个全加器延时最后的串性进位可采用先行进位加法器v加减法运算及其实现加减法运算及其实现v乘法运算及其实现(重点)乘法运算及其实现(重点)v除法运算除法运算v浮点数运算浮点数运算v十进制数运算十进制数运算v数的机器编码及其表示数的机器编码及其表示v字符的表示字符的表示v指令系统指令系统v指令系统举例指令系统举例v指令系统的设计指令系统的设计