计算机组成原理第八讲(运算方法)_第1页
计算机组成原理第八讲(运算方法)_第2页
计算机组成原理第八讲(运算方法)_第3页
计算机组成原理第八讲(运算方法)_第4页
计算机组成原理第八讲(运算方法)_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、Computer ScienceComputer Science ( X + Y )补补 = X补补 + Y补补 (1) ( X - Y )补补 = X补补 + (-Y)补补 (2)式(式(1):):操作码为操作码为“加加”时,两数直接相加。时,两数直接相加。2) X= 3 Y= 2 X补补=1 1101 Y补补=1 11101 1011 ( 5补码)补码)1) X=3 Y=2 X补补=0 0011 Y补补=0 00100 0101(+5补码)补码)例例. 求求(X+Y)补补 ( X + Y )补补 = X补补 + Y补补 (1) ( X - Y )补补 = X补补 + (-Y)补补 (2)式

2、式(2):):操作码为操作码为“减减”时,将减转换为加。时,将减转换为加。 即将减数变补后与被减数相加。即将减数变补后与被减数相加。Y补补 (Y)补:补:将将Y Y补变补补变补不管不管Y Y补为正或负,将其符号连补为正或负,将其符号连同尾数一起各位变反,末位加同尾数一起各位变反,末位加1 1。1) X= 4 Y= 5 X补补=0 0100 Y补补=1 1011(-Y)补补=0 01010 1001(+9补码)补码)2) X= 4 Y= 5 X补补=1 1100 Y补补=0 0101(-Y)补补=1 10111 0111(9补码)补码)例例. . 求求(X Y)补补 X补补=0 0100 Y补补

3、=1 1011 X补补=1 1100 Y补补=0 0101注意:某数的注意:某数的补码表示补码表示与某数与某数变补变补的区别。的区别。例例. 1 0101. 1 0101原原 1 10111 1011补码表示补码表示1 00111 0011补补 0 11010 1101变补变补例例. . 1 1 0101 0101原原 1 1 1011 1011 0 0101 0 0101原原 0 01010 0101补码表示补码表示符号位不变符号位不变; 0 0 0101 0101原原 0 0 0101 01011 01011 0101原原 1 10111 1011 0 01010 0101原原 0 010

4、10 0101负数尾数改变,负数尾数改变,正数尾数不变。正数尾数不变。0 00110 0011补补 1 11011 11011 1 0011 0011补补 0 0 1101 11010 0 0011 0011补补 1 1 1101 11011 00111 0011补补 0 11010 11010 00110 0011补补 1 11011 1101变补变补符号位改变符号位改变,尾数改变尾数改变。补码的机器负数补码的机器负数操作数用补码表示,操作数用补码表示,符号位参加运算符号位参加运算结果为补码表示,符结果为补码表示,符号位指示结果正负号位指示结果正负X X补补+Y+Y补补X X补补+(-Y)+

5、(-Y)补补ADDSUBn逻辑实现逻辑实现A(X补补)B(Y补补)+AABB+B+B+1CPA A(1)控制信号)控制信号加法器输入端:加法器输入端:+A+A:打开控制门,将:打开控制门,将A A送送 。+B+B:打开控制门,将:打开控制门,将B B送送 。+1+1:控制末位加:控制末位加 1 1 。+B+B:打开控制门,将:打开控制门,将B B送送 。加法器输出端:加法器输出端: A:打开控制门,将结打开控制门,将结 果送果送A输入端。输入端。CPCPA A:将结果打入:将结果打入A A。(2)补码加减运算器粗框)补码加减运算器粗框在什么情况下可能产生溢出?在什么情况下可能产生溢出? 例例.

6、 .数数A A有有4 4位尾数,位尾数,1 1位符号位符号SA SA 数数B B有有4 4位尾数,位尾数,1 1位符号位符号SB SB 符号位参加运符号位参加运算算 结果符号结果符号SfSf 符号位进位符号位进位CfCf 尾数最高位进位尾数最高位进位C C正确正确0 00110 0010(1)A=3 B=2 3+2:0 0101 (2)A=10 B=7 10+7:0 10100 01111 0001 正溢正溢正确正确负溢负溢正确正确正确正确(3)A= -3 B= -2-3+(-2):1 1011 1 11011 1110(4)A= -10 B= -7 -10+(-7):0 1111 1 011

7、01 1001(5)A=6 B= -4 6+(-4):0 0010 0 01101 1100(6)A= -6 B=4 -6+4:1 1110 1 10100 0100(SA、SB与与Sf的关系)的关系)(1)A=10 B=7 10+7 :0 1010 0 01111 0001 (2)A= -10 B= -7 -10+(-7):0 1111 1 01101 1001溢出溢出= =SASA SBSB SfSfSASASfSfSBSB(Cf与与C的关系)的关系)正确正确0 00110 0010(1)A=3 B=2 3+2:0 0101 (2)A=10 B=7 10+7:0 10100 01111 0

8、001 正溢正溢正确正确负溢负溢(3)A= -3 B= -2-3+(-2):1 1011 1 11011 1110(4)A= -10 B= -7 -10+(-7):0 1111 1 01101 1001Cf=0Cf=0C =0C =0Cf=0Cf=0C =1C =1Cf=1Cf=1C =1C =1Cf=1Cf=1C =0C =01111溢出溢出= Cf = Cf C C(1)3+2:正确正确00 001100 001000 0101 (2)10+7:00 101000 011101 0001 正溢正溢正确正确负溢负溢(3)-3+(-2):11 0111 11 110111 1110(4)-10

9、+(-7):10 1111 11 011011 1001第一符号位第一符号位Sf1第二符号位第二符号位Sf21. 1. 硬件判断逻辑一(硬件判断逻辑一(SASA、SBSB与与SfSf的关系)的关系)2. 2. 硬件判断逻辑二(硬件判断逻辑二(CfCf与与C C的关系)的关系)溢出溢出= Sf1 = Sf1 Sf2 Sf23. 3. 硬件判断逻辑三(双符号位)硬件判断逻辑三(双符号位)溢出溢出= Cf = Cf C C溢出溢出= =SASA SBSB SfSfSASASfSfSBSB 0 0 0 0 结果为正结果为正 0 0 1 1 结果正溢出结果正溢出 1 1 0 0 结果负溢出结果负溢出 1

10、 1 1 1 结果为负结果为负逻辑移位:数码位置变化,数值不变逻辑移位:数码位置变化,数值不变算术移位:数码位置变化,数值变化,符号算术移位:数码位置变化,数值变化,符号位不变位不变1 0 0 0 1 1 1 1循环左移:循环左移:0 1 0 0 1 1 1 1 算术左移算术左移:1 0 0 1 1 1 1 10 1 1 1 1 0 (-15)原原(-30)原原移位寄存器:在寄存器中移位(串行接口中)移位寄存器:在寄存器中移位(串行接口中)移位门:斜位传送(运算器中)移位门:斜位传送(运算器中)D4 D3 D2 D1D4 D3 D2 右移右移左移左移 D3 D2 D1 移位寄存器移位寄存器左斜

11、左斜 右斜右斜 4 3 1 2门门4 门门3 门门2 门门1移位门移位门加法器加法器正数补码(包括原码)移位规则正数补码(包括原码)移位规则0 01110 1110 2)双符号位:)双符号位:00 1110 00 0111左移左移右移右移右移右移0 0111 0 0011 左移左移左移左移右移右移右移右移01 1100 00 1110 00 0111 1)单符号位)单符号位 : 3 3)移位规则)移位规则 数符不变数符不变:单:符号位不变;双:第一符号位不变单:符号位不变;双:第一符号位不变空位补空位补0:右移时第二符号位移至尾数最高位右移时第二符号位移至尾数最高位负数补码移位规则负数补码移位

12、规则 1)单符号位)单符号位 : 1 10111 0110 2)双符号位:)双符号位:10 1100 11 0110左移左移右移右移右移右移1 1011 1 1101 左移左移右移右移右移右移11 0110 11 1011 3 3)移位规则)移位规则数符不变:数符不变:单:符号位不变;双:第一符号位不变单:符号位不变;双:第一符号位不变左移空位补左移空位补0第二符号位移至尾数最高位第二符号位移至尾数最高位右移空位补右移空位补1:易出错处(双符号位)易出错处(双符号位)00 1110 左左右右01 1100 正确:正确:11 0110 10 1100 00 1100 01 1100 00 011

13、0 正确:正确: 00 1110 11 1100 左左正确:正确: 10 1100 11 1110 右右11 0110 正确:正确:0舍舍1入(原码、补码)入(原码、补码)0 00100原原 1 00101原原 1 11011补补 0 0010原原 1 0011原原 1 1110补补 例例. . 保留保留4 4位尾数:位尾数: 末位恒置末位恒置1(原码、补码)(原码、补码)0 00100原原 1 11011补补 1 00101原原 0 0011原原 1 0011原原 1 1101补补 1 0011原原 1 1101补补 例例. . 保留保留4 4位尾数:位尾数: 浮点数真值浮点数真值:S =

14、+ R S = + R M M E E阶码阶码Ef E1 Ef E1 Em Mf M1 Em Mf M1 Mn Mn浮点数机器格式:浮点数机器格式:尾数尾数阶符阶符数符数符R R:阶码底,隐含约定。:阶码底,隐含约定。E E:阶码,为定点整数,补码或移码表示。:阶码,为定点整数,补码或移码表示。 其其位数位数决定决定数值范围数值范围;M M:尾数,为定点小数,原码或补码表示。:尾数,为定点小数,原码或补码表示。 其其位数位数决定决定数的精度数的精度;尾数规格化:尾数规格化:1/2 M 11/2 M 1最高有效位绝对值为最高有效位绝对值为1 1数符数符表示表示数的正负数的正负。检测能否简化操作检

15、测能否简化操作对阶对阶对阶:使两数阶码相等(小数点实际位对阶:使两数阶码相等(小数点实际位置对齐)置对齐)对阶规则:小阶向大阶对齐对阶规则:小阶向大阶对齐对阶操作:小阶阶码增大,尾数右移对阶操作:小阶阶码增大,尾数右移阶码比较:比较线路或减法阶码比较:比较线路或减法判操作数是否为判操作数是否为0 0尾数为尾数为0 0阶码下溢阶码下溢尾数相加减尾数相加减结果规格化结果规格化 1) 1.0001 1) 1.0001 +0.1001 +0.10011.10101.1010 2) 0.0101 2) 0.0101 +0.1101 +0.1101 W 1/2 W 1 W 1应应左移规格化左移规格化应应右

16、移规格化右移规格化A AM M + B+ BM M A AM M结果规格化结果规格化A AJ J-1 A-1 AJ J 1) 11.0001 1) 11.0001 +00.1001 +00.100111.101011.1010(-1/2(-1/2除外除外) )A Af1f1A Af2 f2 A A1 1A AM M1111. .1 1010010若若 A Af1f1A Af2f2A A1 1+A+Af1f1A Af2f2A A1 1=1,=1,则左规则左规:结果规格化结果规格化若若 A Af1f1A Af2f2=1,=1,则右规:则右规: 2) 00.0101 2) 00.0101 +00.1

17、101 +00.110101.001001.00100101.0010.0010A Af1f1A Af2f2 A AM MA AJ J+1 A+1 AJ J解:解: 补补补补 检测操作数是否为检测操作数是否为0 对阶:对阶:求阶差求阶差补补补补即即补补 尾数的加减尾数的加减补补补补补 规格化和判溢出规格化和判溢出A+BA+B补=0011,11.1001=0011,11.1001补设浮点数字长设浮点数字长16位,其中阶码位,其中阶码8位,尾数位,尾数8位,且均为双符号位的补码。求位,且均为双符号位的补码。求AB=?(1)A= 11/16 2-4 , B= 13/16 2-3 (2)A= 33/2

18、56 , B= -63 手算手算 0.11010.1101 0.10110.1011 1101 1101 1101 1101 0000 0000 1101 1101 0.10001111 0.10001111部分积部分积改进:将一次相加改改进:将一次相加改为分步累加;为分步累加;部分积左移一位改为部分积左移一位改为累加和右移一位。累加和右移一位。问题:问题:1 1)加的数增多)加的数增多(N(N个数,由乘数位数决定个数,由乘数位数决定) )。2 2)加数的位数增多)加数的位数增多( (与被乘数、乘数位数有关与被乘数、乘数位数有关) )。每次将一位乘数所对应的部分积与原部每次将一位乘数所对应的部

19、分积与原部分积的累加和相加,并移位。分积的累加和相加,并移位。设置寄存器:设置寄存器: A A:存放:存放部分积累加和、乘积高位部分积累加和、乘积高位 B B:存放:存放被乘数被乘数 C C:存放:存放乘数、乘积低位乘数、乘积低位 0.11011.1011乘积:乘积:P = X Y符号:符号: SP= SX SY设置初值设置初值 A = 00.0000 B = X = 00.1101 C = Y = .1011 步数步数 条件条件 操作操作 A C A C 00.0000 .101 00.0000 .1011 1 1 1)Cn=1Cn=1+B+BCnCn+ 00.1101+ 00.110100

20、.00.1101110100.00.011001101 1.10.101 12 2)Cn=1Cn=1+B+B+ 00.1101+ 00.11010 01 1. .0011001100.00.100110011111.1.10 03 3)Cn=0Cn=0+0+0+ 00.0000+ 00.000000.00.1001100100.00.01000100111111. .1 14 4)Cn=1Cn=1+B+B+ 00.1101+ 00.11010 01 1. .0001000100.00.1000100011111111X X原原Y Y原原 = 1.10001111= 1.100011110 A0

21、 A、X BX B、Y CY C、0 CR0 CRC Cn n = 1 = 1 ?CR = n CR = n ?1/21/2(A+BA+B) A A,C C1/21/2(A+0A+0) A A,C C CR + 1 CR CR + 1 CRYYNN Sx + Sy S Sx + Sy SA A操作数、结果用原码表示操作数、结果用原码表示绝对值运算,符号单独处理绝对值运算,符号单独处理被乘数、累加和取双符号位被乘数、累加和取双符号位乘数末位乘数末位(Cn)为判断位,其状态决定下步操为判断位,其状态决定下步操作作作作n次循环(累加、右移)次循环(累加、右移)除法除法 若干余数与除数加减、移位。若干

22、余数与除数加减、移位。例例. 0.10110. 0.101100.111110.111110.101100.10110 1101 11010.0.0 01 1 11111 11111 0.11111 0.111110 00 00 01 1 11111 11111 10101 101010 01 1 11111 11111 1011 10110 00 0.0000000000.0.0.商:商: 0.101100.10110余数:余数:0.101100.101102 2 5实现除法的关键:实现除法的关键:比较余数、除数比较余数、除数绝对值大小,以绝对值大小,以决定上商。决定上商。比较逻辑电路:比较

23、两数的大小比较逻辑电路:比较两数的大小减法试探减法试探 余数余数-除数除数=新余数新余数 若为正若为正: :够减够减, ,商商1 1。 若为负若为负: :不够减不够减, ,商商0,0,方法:恢复原余数或不恢复原余数。方法:恢复原余数或不恢复原余数。1. . 原码不恢复余数法(加减交替法)原码不恢复余数法(加减交替法)(1)(1)算法分析算法分析 比较两数大小用减法试探。比较两数大小用减法试探。2 2余数余数- -除数除数= =新余数新余数为正为正: :够减够减, ,商商1 1。为负为负: :不够减不够减, ,商商0 0。若第若第i i步步: :2 2r ri-1i-1-Y=-Y=r ri i0

24、0第第i+1i+1步步: :2 2r ri i-Y=-Y=r ri+1i+1第第i i步步: :2 2r ri-1i-1-Y=-Y=r ri i00第第i+1i+1步步: :2 2r ri i+Y=+Y=r ri+1i+1( (不恢复余数不恢复余数) )2r2ri i-Y=2(r-Y=2(ri i+Y)-Y+Y)-Y =2r =2ri i+Y=r+Y=ri+1i+1 若第若第i i步步: :2 2r ri-1i-1-Y=-Y=r ri i00第第i+1i+1步步: :r ri i+Y=+Y=r ri(i(恢复余数恢复余数) )第第i+2i+2步步: :2 2r ri i-Y=-Y=r ri+1

25、i+1(2) (2) 运算实例运算实例X= - 0.10110X= - 0.10110,Y=0.11111Y=0.11111,求求X/Y=X/Y=?,给出商?,给出商Q Q和余数和余数R R。初值初值:A= X = 00.10110A= X = 00.10110 B= Y = 00.11111 B= Y = 00.11111 C= Q = 0.00000 C= Q = 0.00000 -B=11.00001 -B=11.00001步数步数 条件条件 操作操作 A CA C 00.10110 0.0000000.10110 0.00000 1 1)为正为正-B-B 01.01100 01.01100+11.00001+11.0000100.0110100.011010.00000.00001 12 2)为负为负 -B-B00.1101000

温馨提示

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

评论

0/150

提交评论