计算机组成原理之运算方法与运算器

1.定点数运算及溢出检测
1)基础知识,原码与补码相互转化:
图片说明
2)定点数加法
举例:
图片说明
3)定点数减法
将减法转化为加法:
图片说明
4)数据溢出
由于第一位数,可能会因为数据溢出,被取模运算丢掉,所以造成计算错误。如下两个例子,第一个例子中,每一步计算都是正确的,但是两个正数之和为负数,两个负数之和为正数。
图片说明
    12
5)溢出监测的三种方法:
问题出现的前提: 溢出只可能发生在同符号数相加时,包括[X] 补 与[Y] 补 ; [X] 补 与[-Y]同号;
(1) 方法1:对操作数和运算结果的符号位进行检测:当结果的符号位与操作数的符号不相同时就表明发生了溢出;(设X0 ,Y0 为参加运算数的符号位, S0 为结果的符号位)
图片说明
(2)方法2:对最高数据位进位和符号进位进行检测
图片说明
(3)方法3:用变型补码。用两位数作为符号位
图片说明
5)无符号数运算的溢出判断:无符号数加法的溢出可用ALU的进位表示;无符号数减法的溢出也可用带加/减功能的ALU的进位取反后表示。
2 定点数补码加、减运算器设计
1)四位串行加法器的设计(基于一位全加器FA)
图片说明
图片说明
图片说明
带溢出检测功能的加/减运算器:
图片说明
图片说明
图片说明
串行进位的运算速度比较慢:
图片说明
根据公式,将串行改为并行:
图片说明
图片说明
多位串行与并行
图片说明
图片说明
3 原码一位乘法
逻辑左移和算术左移是一样的;
图片说明
右移的情况就不一样了:
图片说明
图片说明

全部评论

相关推荐

10-18 13:01
已编辑
西安理工大学 C++
小米内推大使:建议技能还是放上面吧,hr和技术面试官第一眼想看的应该是技能点和他们岗位是否匹配
点赞 评论 收藏
分享
喜欢走神的孤勇者练习时长两年半:爱华,信华,等华,黑华
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务