第8章运算方法和运算器
第8章 运算方法和运算器
本章要点 算术运算方法 逻辑运算方法 算术/逻辑单元(ALU)结构
本章要点 • 算术运算方法 • 逻辑运算方法 • 算术/逻辑单元(ALU)结构
8.1定点算术运算 加法和减法 负数用补码表示后,就可以和正数一样来处理 这样,运算器里只需要一个加法器就可以了 溢出 两个正数相加,结果大于机器所能表示的最大正 数,称为上溢。而两个负数相加,结果小于机器 所能表示的最小负数,称为下溢。 溢出检测方法:双符号位法、单符号位法
8.1 定点算术运算 • 加法和减法 – 负数用补码表示后,就可以和正数一样来处理, 这样,运算器里只需要一个加法器就可以了 • 溢出 – 两个正数相加,结果大于机器所能表示的最大正 数,称为上溢。而两个负数相加,结果小于机器 所能表示的最小负数,称为下溢。 – 溢出检测方法:双符号位法、单符号位法
8.1定点算术运算 乘法 无符号整数乘法 补码乘法 布思( Booth)算法 除法 恢复余数法 加减交替法
8.1 定点算术运算 • 乘法 – 无符号整数乘法 – 补码乘法 • 布思(Booth)算法 • 除法 – 恢复余数法 – 加减交替法
8.2浮点算术运算 加法和减法 基本阶段:0操作数检查、比较阶码并完成 对阶、尾数加减、规格化结果 为保证运算精度,对阶时,总是使小阶向 大阶看齐 乘法和除法 基本阶段:0操作数检査、指数加/减、尾 数乘/除、规格化和舍入处理
8.2 浮点算术运算 • 加法和减法 – 基本阶段:0操作数检查、比较阶码并完成 对阶、尾数加减、规格化结果 – 为保证运算精度,对阶时,总是使小阶向 大阶看齐 • 乘法和除法 – 基本阶段: 0操作数检查、指数加/减、尾 数乘/除、规格化和舍入处理
8.2浮点算术运算 舍入 IEEE标准舍入策略( Rounding policy) 就近舍入( Round To nearest):结果被舍入成 最近的可表示的数 朝+∞舍入( Round Toward+∞):结果向正无 穷大方向取舍。 朝-∞舍入( Round Toward-∞):结果向负无穷 大方向取舍。 朝0舍入( Round Toward0):结果朝0取舍
8.2 浮点算术运算 • 舍入 – IEEE标准舍入策略(Rounding Policy) • 就近舍入(Round To Nearest):结果被舍入成 最近的可表示的数。 • 朝+∞舍入(Round Toward +∞):结果向正无 穷大方向取舍。 • 朝-∞舍入(Round Toward -∞):结果向负无穷 大方向取舍。 • 朝0舍入(Round Toward 0):结果朝0取舍
8.3逻辑运算 逻辑数,是指不带符号的二进制数 利用逻辑运算可以进行两个数的比较, 或者从某个数中选取某几位操作 ρ计算机中的逻辑运算,主要是指逻辑非、 逻辑加、逻辑乘、逻辑异等基本运算
8.3 逻辑运算 • 逻辑数,是指不带符号的二进制数 • 利用逻辑运算可以进行两个数的比较, 或者从某个数中选取某几位操作 • 计算机中的逻辑运算,主要是指逻辑非、 逻辑加、逻辑乘、逻辑异等基本运算
彐8.4算术/逻辑单元(ALU) ALU的逻辑结构 n+i+1 全加器 n+1 函数发生器 A B
8.4 算术/逻辑单元(ALU) • ALU的逻辑结构 全加器 函数发生器 Cn+i Cn+i+1 S0 S1 S2 S3 Xi Yi Ai Bi
彐8.4算术/逻辑单元(ALU) 先行进位的实现(以4位ALU为例) 第0位向第1位的进位公式为: C,=Y+xc 第1位向第2位的进位公式为: Cm=Y+XCm=Y+YX+XXc 第2位向第3位的进位公式为: Cn=Y,+X,Cm=Y+YX+YoXx,+XoXX,c 第3位的进位输出(即整个4位ALU得输出)公式为 +4=Y,+X Cn3=Y+YX,+YX2r,+YoXX2X+XoXr2rc
8.4 算术/逻辑单元(ALU) • 先行进位的实现(以4位ALU为例) 第1位向第2位的进位公式为: 第2位向第3位的进位公式为: 第3位的进位输出(即整个4位ALU得输出)公式为: 第0位向第1位的进位公式为: C n+1 = Y0 + X0 C n C n+2 = Y1 + X1C n+1 = Y1 + Y0 X1 + X0 X1C n C n+3 = Y2 + X2C n+2 = Y2 + Y1 X1 + Y0 X1 X2 + X0 X1 X2C n C n+4 = Y3 + X3 C n+3 = Y3 + Y2 X3 + Y1 X2 X3 + Y0 X1 X2 X3 + X0 X1 X2 X3 C n
彐8.4算术/逻辑单元(ALU) 使用多片ALU构成多位运算器 CLA(74182) 33n+z P。G。C nty P,. C n+x
8.4 算术/逻辑单元(ALU) • 使用多片ALU构成多位运算器 CLA(74182) P * G * Cin P3 G3 Cn+z P2 G2 Cn+y P1 G1 Cn+x P0 G0 C C0 C0 C0 0 P G P G P G P G