数电第六章 运算

运算方法与运算部件

基本运算部件

串行进位加法器:将全加器串联,逐次传递进位信号,\(n\)位川航加法器的延迟时间为\(2n\)级门延迟。

并行进位加法器,考虑先计算进位,一共6级门延迟。

第六章1

带标志加法器:无法用于带符号整数相加,无法判断是否溢出

标志:溢出标志\(OF=C_n\oplus C_{n-1}\)、符号标志\(SF=F_{n-1}\)、零标志\(ZF\)、进借位标志\(CF=Cin\oplus Cout\)

无符号数加减用CF判断溢出,有符号数用OF判断溢出。

第六章2

算术逻辑部件(ALU),有操作控制端(ALUop)决定其执行的功能。

第六章3

定点数运算(补码加减运算)

\([x]\)表示\(x\)的补码,有:

\([x+y]=[x]+[y],[x-y]=[x]-[y],[-y]=[y]+1\)

第六章4

构造的整数加/减运算部件,可进行以下运算:无/带符号整数加/减。

带符号数做减法比较大小:\(A-B\)计算的标志位:\(OF\neq SF\to A< B,OF=SF\to A\ge B\)

无符号数做减法比较大小:\(A-B\)计算的标志位:\(CF=1\to A<B,CF=0\to A\ge B\)

无符号数加/减法注意上/下溢出(即\(\pm2^n\))情况出现

原码乘法运算

手算乘法可通过ALU与移位器实现。单独考虑符号位,后转化为无符号数乘法。

\(n位\cdot n位\)时若最终结果只取低\(n\)位,当高\(n\)位均为0时,不溢出,否则溢出。

所需器件:被乘数寄存器X、32位ALU、乘积寄存器P、乘数寄存器Y,控制逻辑计数器C

补码乘法运算

比对原码乘法,记\(Y\)最右方的右侧为\(Y^{-1}\),初始为0。

  • 每次操作后移位变为:按最高位符号补充
  • \(Y^0=0,Y^{-1}=1\)时,加\([X]\);当\(Y^0=1,Y^{-1}=0\)时,减\([X]\),其余情况不做处理,溢出位舍去

当高\(n\)位全为符号位(即高\(n\)位与低\(n\)位的最高位相同)时,不溢出,否则溢出。

\(n位\cdot n位\),相同机器数做无符号数相乘与带符号数相乘,低\(n\)位相同。

除法与浮点数运算不做要求