通知
此博客运行在jpress系统上,如果你喜欢此博客模板,请加QQ群:1061691290(whimurmur模板/jpress插件),免费下载使用

计算机组成原理 数据的表示和运算 定点运算内容概览

5027人浏览 / 0人评论 | 作者:whisper  | 分类: 计算机组成原理  | 标签: 计算机组成原理  | 

作者:whisper

链接:http://proprogrammar.com:443/article/256

声明:请尊重原作者的劳动,如需转载请注明出处


    2.3 定点运算

    2.3.1 移位运算

    移位移的是数,小数点不动

    左移  绝对值扩大

    右移  绝对值缩小

    在计算机中,移位与加减配合,能够实现乘除运算

    算术移位的硬件实现

    4. 算术移位逻辑移位的区别

    算术移位  有符号数的移位

    逻辑移位  无符号数的移位

    逻辑左移  低位添0,高位移丢

    逻辑右移  高位添0,低位移丢

    算术移位不会改变数的正负,逻辑移位可能改变数的正负

    2.3.2 加减法运算

    1、补码加减运算公式

    (1)加法

    两数补的加=两数加的补    整数和小数

    (2)减法

    A-B = A+(-B)

    两数差的补=A的补+(-B)的补

    连同符号位一起相加,符号位产生的进位自然丢掉

    3. 溢出判断

    (1)一位符号位判溢出

    两个数符号相同,结果符号与原操作数的符号不同,即为溢出

    硬件实现

    最高有效位的进位⊕符号位的进位 = 1 溢出

    (2)两位符号位判溢出-变形补码(负11,正00)

    结果的双符号位 相同 未溢出

    结果的双符号位  不同  溢出

    (3)进位判断法

    最高数值位向符号位的进位C,符号位产生的进位输出值S,相同不溢出,不同则溢出

    V=S⊕C

    V=1,有溢出;V=0,无溢出

    2.3.3 乘法运算(不太考)

    A = -0.1101  B = 0.1011

    2. 笔算乘法改进

    A • B = A • 0.1011

             = 2⁻¹{A+2⁻¹[0•A + 2⁻¹(A + 2⁻¹(A+0))]}

    即每次相加得到部分积,再进行右移,相加得到部分积,再右移。。。

    3. 改进后的笔算乘法过程(竖式)

    形成几次部分积,移位几次,形成几位最后要增加的移位形成的数

    小结

    乘法 运算可用加和移位实现

    n = 4,加4次,移4次

    由乘数的末位决定被乘数是否与原部分积相加,然后->1位形成新的部分积,同时乘数->1位(末位移丢),空出高位存放部分积的低位。

    被乘数只与部分积的高位相加

    硬件

    3个寄存器(乘数,被乘数,中间结果),具有移位功能,1个全加器

    4. 原码乘法

    乘积的符号通过异或运算确定

    (3)原码一位乘的硬件配置

    5. 补码乘法

    (1)补码一位乘运算规则

    1)被乘数任意,乘数为正

    同原码乘 但加和移位按补码规则运算

                   乘积的符号自然形成

    2)被乘数任意,乘数为负

    乘数[y]补,去掉符号位,操作同1)

    最后加[-x]补,校正

    Booth算法(被乘数、乘数符号任意)(了解)

    最后一步不移位,即加比移位多一次

    看一个例子

    最后结果:1.11011111

    整数乘法与小数乘法完全相同

    可用逗号代替小数点

    原码乘 符号位单独处理

    补码乘 符号位自然形成

    原码乘去掉符号位运算 即为无符号数乘法

    不同的乘法运算需有不同的硬件支持

    2.3.4 除法运算

    3. 原码除法

    约定

    小数定点除法被除数小于除数  整数定点除法 被除数大于除数

    被除数不等于0 除数不能为0

    (1)恢复余数法

    上商试验,如果不够除要恢复余数

    (2)不恢复余数法

    上商n+1次,第一次上商判溢出,移n次,加n+1次,最后一次移位加后还要根据正负生成一位

    上商(相加结果判正负) + 左移 + 加(正/负y的补)

    (3)原码加减交替除法硬件配置

    4. 补码除法(不太考)

    (1)商值的确定

    (2)商符的形成

    (3)新余数的获得

    (4)小结

    补码除法共上商n+1次(末位恒置1)

    第一次为商符

    第一次商可判溢出

    加n次,移n次

    用移位的次数判断除法是否结束


亲爱的读者:有时间可以点赞评论一下

点赞(0) 打赏

全部评论

还没有评论!