组成原理第2章__运算方法和运算器_第1页
组成原理第2章__运算方法和运算器_第2页
组成原理第2章__运算方法和运算器_第3页
组成原理第2章__运算方法和运算器_第4页
组成原理第2章__运算方法和运算器_第5页
已阅读5页,还剩104页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 BCD码便于输入输出,表达数值准确码便于输入输出,表达数值准确 表表2.1 ASCII字符编码表字符编码表 0-3位位 4-7位位 汉字的输入编码、交汉字的输入编码、交 换码、汉字内码、字换码、汉字内码、字 模码是计算机中用于模码是计算机中用于 输入、内部处理、交输入、内部处理、交 换、输出四种不同用换、输出四种不同用 途的编码,不要混为途的编码,不要混为 一谈一谈. 显示输出显示输出打印输出打印输出 机内码向字形码转换机内码向字形码转换 机内码机内码 输入码向机内码转换输入码向机内码转换 字符代码化(输入)字符代码化(输入) 数据 10101010 01010100 00000000 01

2、111111 11111111 偶校验码 10101010 0 01010100 1 00000000 0 01111111 1 11111111 0 奇校验码 10101010 1 01010100 0 00000000 1 01111111 0 11111111 1 定点小数的小数点位置定点整数的小数点位置 纯整数:纯整数:X = 01010110. 正数,符号位取正数,符号位取0 Y= - 1101001.纯整数:纯整数:Y = 11101001. (原码)(原码) 负数,符号位取负数,符号位取1 X=+0.11011 Y=-0.10101 符号位取符号位取0 纯小数:纯小数:X = 0

3、.11011 符号位取符号位取1 纯小数:纯小数:X = 1.10101 (原码)(原码) 指数E 基数J,取固定的值, 比如10,2等 尾数M 2、机器中表示、机器中表示 阶符阶码数符尾数 :含阶符的阶码,:含阶符的阶码,8 位位 阶码采用移码方式来表示阶码采用移码方式来表示 正负指数正负指数 :1位符号位符号 位位 0表示正数表示正数 1表示负数表示负数 :尾数,:尾数,23位小位小 数表示,小数点放数表示,小数点放 在尾数域最前面在尾数域最前面 IEEE 754标准标准 对于二进制数对于二进制数 1011.1101=0.10111101 2+4 = 10.111101 2+2 = 1.0

4、111101 2+3 (规格化表示法规格化表示法) = 1.0111101 2+11 (规格化表示法规格化表示法) =REM 那么,计算机中究竟采用哪种数据形式?那么,计算机中究竟采用哪种数据形式? 多种数据形式多种数据形式 二进制数二进制数 指数真值指数真值e 用偏移码形式表示为阶码用偏移码形式表示为阶码 IEEE 754标准标准 X(-1)s1.M2e (1.011011)23 1011.011(11.375)10 指数指数e阶码阶码127 1000 001001111111 00000011=(3)10 包括隐藏位包括隐藏位1的尾数的尾数1.M 1.011011 例1:浮点机器数 (41

5、360000)16,求真值 十六进制数展开成二进制数十六进制数展开成二进制数 0 100 0001 0011 0110 0000 0000 0000 0000 S 阶码阶码E(8位位)尾数尾数M(23位位) 例例2:真值:真值20.59375,求,求32位单精度浮点数位单精度浮点数 分别将整数和分数部分转换成二进制数分别将整数和分数部分转换成二进制数 20.5937510100.10011 移动小数点,使其在第移动小数点,使其在第1、2位之间位之间 10100.100111.01001001124 e4 S0 E4+12713110000011 M010010011 得到得到32位浮点数的二进

6、制存储格式为:位浮点数的二进制存储格式为: 0 100 0001 1010 0100 1100 0000 0000 0000 (41A4C000)16 l 最大的优点就是将减法运算转换成加法运算最大的优点就是将减法运算转换成加法运算 l X补 补-Y补补= X补补+-Y补补 例如例如 X=(11)10=(1011)2 Y=(5)10=(0101)2 已知字长已知字长n=5位位 X补 补-Y补补 =X补补+-Y补补 =01011+11011=100110=00110=(6)10 注:注: 最高最高1位已经超过字长故应丢掉位已经超过字长故应丢掉 l 无正零和负零之分无正零和负零之分 移码的定义是:

7、移码的定义是: x移 移=2n+x 例例: -1011111 原码为原码为11011111 补码为补码为10100001 反码为反码为10100000 移码为移码为00100001 特点:移码和补码尾数相同,符号位相反特点:移码和补码尾数相同,符号位相反 范围范围:-2n2n-1 l 补码加法运算补码加法运算 l 补码减法运算补码减法运算 l 溢出概念及检测方法溢出概念及检测方法 l 基本的二进制加法基本的二进制加法/减法器减法器 l 十进制加法器十进制加法器 3) X= 3 Y= 2 1) X=3 Y=2 2) X= 3 Y= 2 4) X= 3 Y= 2 例例. 求求(X+Y)补补 3)

8、X= 3 Y= 2 0 0001 (+1补码)补码) 1) X=3 Y=2 X补补=0 0011 Y补补=1 1110 2) X= 3 Y= 2 X补补=1 1101 Y补补=1 1110 1 1011 ( 5补码)补码) X补补=0 0011 Y补补=0 0010 0 0101(+5补码)补码) 4) X= 3 Y= 2 X补补=1 1101 Y补补=0 0010 1 1111(1补码)补码) 例例. 求求(X+Y)补补 2.3.2 补码减法运算补码减法运算 ( X - Y )补补 = X补补 + (-Y)补补 操作码为操作码为“减减”时,将减转换为加。时,将减转换为加。 1) X= 4 Y

9、= 5 X补补=0 0100 Y补补=1 1011 (-Y)补补=0 0101 0 1001(+9补码)补码) 2) X= 4 Y= 5 X补补=1 1100 Y补补=0 0101 (-Y)补补=1 1011 1 0111 (9补码)补码) 例例. 求求(X Y)补补 Y补补 (Y)补补: 将将Y Y补补变补变补不管不管Y Y补补为正或负,将其符号连同为正或负,将其符号连同 尾数一起各位变反,末位加尾数一起各位变反,末位加1 1。 即将减数变补后与被减数相加。即将减数变补后与被减数相加。 X补补=0 0100 Y补补=1 1011 X补补=1 1100 Y补补=0 0101 注意:某数的补码表

10、示与某数变补的区别。注意:某数的补码表示与某数变补的区别。 例例. 1 0101. 1 0101原原 1 10111 1011 补码表示补码表示 1 00111 0011补补 0 11010 1101 变补变补 0 0101 0 0101原原 0 01010 0101 补码表示补码表示 符号位不变符号位不变, 负数尾数改变,负数尾数改变, 正数尾数不变。正数尾数不变。 0 00110 0011补补 1 11011 1101 变补变补 符号位改,符号位改, 尾数改变。尾数改变。 补码的机器负数补码的机器负数 2. 算法流程算法流程 操作数用补码表示,符号位操作数用补码表示,符号位 参加运算参加运

11、算 结果为补码表示,符号位指示结果为补码表示,符号位指示 结果正负结果正负 X补补+Y补补X补补+(-Y)补补 ADDSUB 3. 逻辑实现逻辑实现 A(X补补)B(Y补补) +A ABB +B +B +1 CPA A (1)控制信号控制信号 加法器输入端:加法器输入端: +A+A:打开控制门,将:打开控制门,将A A送送。 +B+B:打开控制门,将:打开控制门,将B B送送。 +1+1:控制末位加:控制末位加 1 1 。 +B+B:打开控制门,将:打开控制门,将B B送送。 加法器输出端:加法器输出端: A:打开控制门,将结打开控制门,将结 果送果送A输入端。输入端。 CPCPA A:将结果

12、打入:将结果打入A A。 (2)补码加减运算器粗框补码加减运算器粗框 2.3.4 溢出判断溢出判断 在什么情况下可能产生溢出?在什么情况下可能产生溢出? 例例. .数数A A有有4 4位尾数,位尾数,1 1位符号位符号S SA A 数数B B有有4 4位尾数,位尾数,1 1位符号位符号S SB B 符号位参符号位参 加运算加运算 结果符号结果符号S Sf f 符号位进位符号位进位C Cf f 尾数最高位进位尾数最高位进位C C l 两正数加,变负数,上溢(大于机器所能表示的两正数加,变负数,上溢(大于机器所能表示的 最大数)最大数) l 两负数加,变正数,下溢(小于机器所能表示两负数加,变正数

13、,下溢(小于机器所能表示 的最小数)的最小数) (2)A=10 B=7 10+7 : 0 1010 0 0111 1 0001 (4)A= -10 B= -7 -10+(-7): 0 1111 1 0110 1 1001 1. 硬件判断逻辑一硬件判断逻辑一(SA、SB与与Sf的关系)的关系) 溢出溢出= = S SA AS SB BS Sf fS SA AS Sf fS SB B 2. 硬件判断逻辑二硬件判断逻辑二(Cf与与C的关系)的关系) 溢出溢出= C= Cf f C C 3. 硬件判断逻辑三硬件判断逻辑三(双符号位(双符号位) 溢出溢出= S= Sf1f1 S Sf2f2 (1)3+2

14、: 正确正确 00 0011 00 0010 00 0101 (2)10+7: 00 1010 00 0111 01 0001 正溢 正溢 正确正确负溢负溢 正确正确正确正确 (3)-3+(-2): 11 0111 11 1101 11 1110 (4)-10+(-7): 10 1111 11 0110 11 1001 (5)6+(-4): 00 0010 00 0110 11 1100 (6)-6+4: 11 1110 11 1010 00 0100 第一符号位第一符号位Sf1 第二符号位第二符号位Sf2 有进位有进位无进位无进位 无进位无进位无进位无进位 两负数相加,结果为正,显然错误。两

15、负数相加,结果为正,显然错误。 运算中出现了“下溢” 无进位无进位有进位有进位 FA(全加器)逻辑电路图 FA框图 l 原码原码1位乘法位乘法 l 补码补码1位乘法位乘法 l 阵列乘法器阵列乘法器 +) 0. 0 0 0 0 +) 0. 0 0 0 0 +) 0. 1 0 1 1 +) 0. 1 0 1 1 0. 0 0 0 1 0. 0 1 1 0 0. 1 1 0 0 0. 0 0 1 0 0. 0 0 1 0 0. 0 1 0 1 0. 0 1 0 1 0. 1 0 1 1 0. 0 0 0 0 右移一位得部分积右移一位得部分积Z4,乘数同时右移一位,乘数同时右移一位 右移一位得部分积右

16、移一位得部分积Z3,乘数同时右移一位,乘数同时右移一位 右移一位得部分积右移一位得部分积Z2,乘数同时右移一位,乘数同时右移一位 右移一位得部分积右移一位得部分积Z1,乘数同时右移一位,乘数同时右移一位 Y1=1,加,加|X| Y2=0,加,加0 Y3=0,加,加0 Y4=1,加,加|X| 设部分积初值设部分积初值Z0=0 操作说明操作说明 乘乘 数数部部 分分 积积 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 低低 位位 积积 高高 位位 积积 例原码一位乘法运算过程例原码一位乘法运算过程 不带符号的阵列乘法器不带符号的阵列乘法器 求补器求补器 +) 1

17、1. 0 0 1 1 1 1. 1 1 1 0 0 0. 1 0 1 1 +Y 余数与商左移一位 余数与商左移一位 初始状态 +-Y补 +-|Y|补 余数为负,商“0” 余数为正,商“1” 操作说明商Q上商被除数(余数) 0. 0 0 0 0 0. 0 0 0 0 0. 0 0 0 1 0. 0 0 1 0 0. 0 0 0 0 +) 0 0. 1 1 0 1 1 1. 1 1 0 0 +) 1 1. 0 0 1 1 0 0. 1 0 0 1 0 1. 0 0 1 0 0. 0 0 1 1 0. 0 1 1 0 +) 1 1. 0 0 1 1 0 0. 0 1 0 1 0 0. 1 0 1 0

18、 余数为正,商“1” 0 0. 0 1 1 10. 1 1 0 1 0. 0 1 1 0 0. 1 1 0 0 +) 0 0. 1 1 0 1 1 1. 1 1 0 1 1 1. 1 0 1 0 余数与商左移一位 +-|Y|补 余数为正,商“1” +Y 余数与商左移一位 余数为负,商“0” +)0 0. 1 0 1 1 +)1 1. 0 1 0 1 1 1. 1 1 1 0 0 0. 1 0 0 1 R1 恢复余数,+|Y| R0 = X| +-|Y|补 +-|Y|补 +-|Y|补 得R1 0,商上1 余数左移一位 余数左移一位 操作说明商 Q上商 (余 数) 被 除 数 0. 0 0 0 0

19、 0. 0 0 0 0 0. 0 0 0 1 0. 0 0 1 0 0. 0 0 0 0 +)1 1. 0 1 0 1 0 0. 1 0 0 1 0 1. 0 0 1 0 +)1 1. 0 1 0 1 0 0. 0 1 1 1 0 0. 1 1 1 0 0. 0 0 1 1 0. 0 1 1 0 +)1 1. 0 1 0 1 0 0. 0 0 1 1 0 0. 0 1 1 0 +-|Y|补 得R3 0,商上1 余数左移一位 +)0 0. 1 0 1 1 1 1. 1 0 1 1 恢复余数,+|Y| 得R4 0,商上10. 1 1 0 1 加数器加数器 Yf Cx Qn Ti Qn T1 , T2, +1 LDR1 LDR0 被除数被除数X或者余数寄存器或者余数寄存器R0 商商Q寄存器寄存器R1 除数除数Y寄存器寄存器 f f R2 R 计数器计数器i Qf Xf R0 R1 Qn +1 S Q 0.100001 0.1000 0.100001 0.1001 n阶码上溢:阶码上溢:机器浮点数值大于最大正数机器浮点数值大于最大正数A值(正上值(正上 溢),或小于最小负数溢),或小于最小负数B值(负上溢)值(负上溢) 认为是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论