计算机组成原理和结构图式(第二章)
1、数值型数据表示
1)进位计数制
(1)十进制—>二
- 整数部:除基取余
- 小数部:乘积取整
(2)二进制—>按权相加
2)数符表示:无符号数、有符号数(真值、机器数)
3)定点表示法:小数点位置固定不变,本身不占存储位
(1)整数:精度为固定的1
- 无符号
- 有符号:原码、补码
(2)小数:精度为固定的2^-7—x.xxxxxx
- 原码
- 补码
4)浮点表示法 阶码(首位阶符Ef)|尾数(首位数符Mf)
- 真值N=±R^E×M
- 阶码E,定点整数,补码/移码表示,代表数的范围
- 尾数M,定点小数,原码/补码表示,代表数的精度
- Mf整数位即符号位
- 尾数规格化
- 原码:1/2≤|M|<1
- 补码:1/2≤M<1,-1≤M≤-1/2
- 负数补码表示仅有1.1000……或1.0xxx……
- 精度和范围
- 移码(增码):|x|移=2^n+x(n是整数位数,x是真值)
- 意义:将真值x在数周正向平移2^n
- 移码大于0
- 移码和补码比较:最高位(符号位)相反
- IEEE754标准浮点格式
- 1)偏置值定义不同,减去1
- 2)数值第一位有效值不保存,eg:0.1011->1.011->.011
- eg:1010010.01->(1).01001001×2^6
- 符号位(一位)+阶码移码(因是移码无正负)+尾数原码(符号位已前移)
- 短实数:移码偏置值2^7-1=127,1+8+23=32
2、字符型数据表示:ASCⅡ码是16进制
128中常用字符,7位
空格-32,0-48,A-65,a-97
3、运算方法1:定点加减法
PS:机器码运算:符号位参与运算,补码舍进位,反码加进位
1)补码:
- (X+Y)补=X补+Y补,(X-Y)补=X补(-Y)补
- Y补->(-Y)补:包括符号位变反加一
2)溢出判断-逻辑,SA,SB表示数符、Cf表示符号位产生进位,C表示最高有效数值位产生进位
(1)SA,SB,Sf
溢出=SA SB Sf+SA SB Sf
(2)Cf,C
正溢:Cf=0,C=1
负溢:Cf=1,C=0
不溢:Cf=C
(3)双符号位:扩展为双符号位,1->11,0->00
正溢:01
负溢:10
不溢:00/11
(3)移位(移除后)对尾数以为(原码/补码)
正数补码:数符不变,空位补0
负数补码:数符不变,左移空位补0,右移空位补1
双符号位中第一位符号位不变,第二符号位与数符看成一个整体
(4)舍入方法
0舍1入
末位恒置1
4、运算方法2:定点乘法:将乘法转换为加法——部分积累加、移位
移位
- 逻辑左移=算数左移=×2(含进位位)
- 逻辑右移≠算数右移(最高位复制补位)=÷2
原码一位乘法
- 分步乘法:每次讲一位乘数所对应的部分积与原部分积的累加的和相加,并右移(算数右移)
- 符号位单独参加运算,数据位取绝对值参加运算
- 例一:已知X=0.110,Y=-0.101
- [X]原=0.110,[Y]原=1.101
- 部分积 【乘数】/判断位
- 00.000 Y0.101
- + 00.110
- = 00.110
- ->00.011 0Y0.10
- + 00.000
- = 00.011
- ->00.001 10Y0.1
- + 00.110
- ->00.011 110Y0
- X×Y=(0异或1).011110=1.011110
补码一位乘法
- [X]补=X0X1……Xn,[Y]补=Y0Y1……Yn
- [X · Y]补=[X]补×Σ(Yi+1 - Yi)2^(-i)
- 运算规则:
- (1)若Yn+1=Yn,部分积+0,部分积算术右移一位
- (2)若YnYn+1=01,部分积+[X]补,部分积算术右移一位
- (3)若YnYn+1=10,部分积+[-X]补,部分积算术右移一位
- 重复进行n+1步,但最后一步不移位
- 包括一位符号位,所得乘积2n+1位,n为数据位位数
- 特殊问题处理
- (1)i=n时,Yn+1=0
- (2)Yn+1寄存器位于乘数寄存器Y后增加一位
- (3)算数右移的对象:部分积和乘数寄存器均右移
- 例一 :已知X=+1101,Y=+1011
- [X]补=01101,[Y]补=01011,[-X]补=10011
- (双符号位)部分积 乘数
- 000000 [010110](Yn和Yn+1)
- + 110011
- = 110011
- ->111001 1[01011]
- + 000000
- = 111001 11[0101]
- + 001101
- = 001001
- ->000100 111[010]
- + 110011
- = 110111
- ->111011 1111[01]
- + 001101
- = 001000
- [X-Y]补=010001111
5、运算方法3:定点除法
手工乘除法和计算机乘除法移位的对象和方向不同
原码乘除法,尾数取绝对值,符号位单独运算
1.原码恢复余数除法
- 1)判断是否够减(试商)
- 用减后余数的符号怕断
- 2)余数为正数时,够减,商上1,余数左移一位
- 3)余数为负数时,不够减,商上0
- 加除数恢复成原来的值,将余数左移一位
- 运算得到的一位商先放于商左侧的一位上商位,然后随尾数左移
- 不足:步数不确定
2.原码加/减交替出发运算方法(不恢复余数法)
- 3)余数为负数时,不够减,商上0
- 将余数左移一位,加除数(此时已完成试商)
6、运算方法4:浮点数加减法
(1)检测能否简化操作
(2)对阶(将大阶码提出)小阶向大阶对齐
(3)尾数加减
(4)结果规格化
- 唯二规格化形式:00.1……或11.0……
- 规格化00.0……或11.1……:尾数左移,阶码减一,直到达到要求
- 规格化0.1……或1.0……:一次右移,阶码加一
7、运算方法5:浮点数乘法
8、运算方法6:浮点数除法
原文地址:https://www.cnblogs.com/ggotransfromation/p/11610457.html
时间: 2024-11-08 14:05:50