计算机组成原理数据的表示和运算_第1页
计算机组成原理数据的表示和运算_第2页
计算机组成原理数据的表示和运算_第3页
计算机组成原理数据的表示和运算_第4页
计算机组成原理数据的表示和运算_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

计算机组成原理数据的表示和运算1第一页,共三十六页,编辑于2023年,星期一第二部分数据的表示和运算

2.1数制与编码

2.2定点数表示和运算

2.3浮点数表示和运算

2.4算术逻辑单元ALU2第二页,共三十六页,编辑于2023年,星期一

2.2定点数表示和运算

2.2.1

定点数的表示

1、无符号数的表示;

2、有符号数的表示。

2.2.2

定点数的运算

1、定点数的位移运算;

2、原码定点数的加/减运算;

3、补码定点数的加/减运算;

4、定点数的乘法运算3第三页,共三十六页,编辑于2023年,星期一回顾1、移位运算对有符号数的移位运算成为算术移位。对无符号数的移位运算成为逻辑移位。算术移位的特点:对于正数,三种机器数算术移位后符号位均不变,左移最高位丢1,结果错误;右移最低位丢1,影响精度。对于负数,三种机器数算术移位后符号位不变。原码左移,高位丢1,结果出错;原码右移低位丢1,影响精度。补码左移,高位丢0,结果出错;补码右移低位丢1,影响精度。反码左移,高位丢0,结果出错;反码右移低位丢0,影响精度。4第四页,共三十六页,编辑于2023年,星期一回顾2、补码定点数的加/减运算补码加法补码加法的特点:符号位作为数的一部分参加运算,符号位的进位丢掉。运算结果为补码形式整数[A]补

+[B]补=[A+B]补(mod2n+1)小数[A]补

+[B]补=[A+B]补(mod2)补码减法因为A–B=A+(–B),所以有补码减法:整数[A–B]补=[A+(–B)]补=[A]补

+[–B]补(mod2n+1)小数[A–B]补=[A+(–B)]补=[A]补

+[–B]补(mod2)从[Y]补求[-Y]补的法则是:对[Y]补包括符号位“求反且最末位加1”5第五页,共三十六页,编辑于2023年,星期一回顾3、溢出的检测溢出:运算结果超出机器的表数范围定点加减法溢出条件:★同号数相加或异号数相减。★运算结果超载。1)溢出的检测可能产生溢出的情况两正数加,变负数,上溢(大于机器所能表示的最大数)两负数加,变正数,下溢(小于机器所能表示的最小数)2)溢出的检测方法双符号位法(参与加减运算的数采用变形补码表示)单符号位法6第六页,共三十六页,编辑于2023年,星期一回顾4、反码加减法运算(1)反码加法运算反码加法运算遵循[X]反+[Y]反=[X+Y]反规则。符号位参加运算。符号位相加后,如果有进位,则把该进位的数字加到数的最低位,即循环进位。(2)反码减法两个反码表示的数相减,类似于补码减法,将减数变符号,并根据变号后的减数取反,按反码加法进行。7第七页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算7、定点数的乘法运算分析笔算乘法

A=–0.1101B=0.1011A×B=–0.100011110.11010.101111011101000011010.10001111×乘积的符号心算求得符号位单独处理乘数的某一位决定是否加被乘数4个位积一起相加乘积的位数扩大一倍

?8第八页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算笔算乘法改进A

•B=A•0.1011=0.1A+0.00A+0.001A+0.0001A=0.1A+0.00A+0.001(A+0.1A)=0.1A+0.01[0•A+0.1(A+0.1A)]=0.1{A+0.1[0•A+0.1(A+0.1A)]}=2-1{A

+2-1[0•A+2-1(A

+2-1(A+0))]}第一步被乘数A

+0第二步

1,得新的部分积第八步

1,得结果第三步部分积

+被乘数…右移一位9第九页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算改进后的笔算乘法过程10第十页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算1)定点原码乘法

(1)原码一位乘运算规则(以小数为例)设[x]原

=x0.x1x2

xn…[y]原

=y0.y1y2

yn…=(x0

y0).x*y*[x•y]原

=(x0y0).(0.x1x2

xn)(0.y1y2

yn)……式中x*=0.x1x2

xn

为x

的绝对值…y*=0.y1y2

yn

为y

的绝对值…乘积的符号位单独处理x0

y0数值部分为绝对值相乘x*•y*11第十一页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算原码一位乘递推公式x*•y*=x*(0.y1y2

yn)…=x*(y12-1+y22-2++yn2-n)…=2-1(y1x*+2-1(y2x*+2-1(ynx*+0)))……z1znz0=0z1=2-1(ynx*+z0)z2=2-1(yn-1x*+z1)zn=2-1(y1x*+zn-1)………z012第十二页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算

右图是一个32位乘法器的结构框图,其中32位被乘数放在R2中,运算开始时32位乘数放在R1中,运算结束时64位乘积的高位放在R0中,低位放在R1中,R0和R1串联移位。在该乘法过程中,每次操作是根据乘数的一位进行操作,对于32位数的乘法,需要循环32次完成一个乘法操作,因此称为一位乘法。13第十三页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算

完成这个定点原码一位乘法的运算规则可以用如下图所示的逻辑流程图表示。

14第十四页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算

已知x=–0.1110y=0.1101求[x•y]原逻辑右移逻辑右移15第十五页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算①乘积的符号位x0

y0=10=1②数值部分按绝对值相乘

x*•y*=0.10110110

则[x•y]原

=1.10110110

特点绝对值运算用移位的次数判断乘法是否结束逻辑移位16第十六页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算原码一位乘的硬件配置0An

加法器控制门0Xn

移位和加控制计数器CSGM0Qn右移A、X、Q均n+1位移位和加受末位乘数控制17第十七页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算(2)原码两位乘原码两位乘与原码一位乘一样,符号位的运算和数值部分是分开进行的,但原码两位乘是用两位乘数的状态来决定新的部分积如何形成,因此可提高运算速度。一位乘符号位和数值位部分分开运算两位乘每次用乘数的2位判断原部分积是否加和如何加被乘数18第十八页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算两位乘数共有4种状态,对应这4种状态可得下表。11100100新的部分积乘数yn-1

yn加“0”2加1倍的被乘数2加2倍的被乘数2加3倍的被乘数219第十九页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算原码两位乘运算规则111110101100011010001000操作内容标志位Cj乘数判断位yn-1yn

z2,y*2,Cj

保持“0”

z2,y*2,Cj

保持“1”z–x*2,y*2,Cj

保持“1”

z+2x*2,y*2,Cj

保持“0”z+x*2,y*2,Cj

保持“0”

z–x*2,y*2,置“1”Cjz+2x*2,y*2,置“0”Cj

z+x*2,y*2,置“0”Cj共有操作+x*+2x*–x*2实际操作+[x*]补

+[2x*]补

+[–x*]补

2补码移20第二十页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算例:已知x=0.111111y=–0.111001求[x·y]原补码右移21第二十一页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算

②数值部分的运算①乘积的符号位x0

y0=01=1x*•y*=0.111000000111则[x•y]原

=1.111000000111特点绝对值的补码运算算术移位用移位的次数判断乘法是否结束22第二十二页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算原码两位乘和原码一位乘比较符号位操作数移位移位次数最多加法次数x0

y0x0

y0绝对值绝对值的补码逻辑右移算术右移nnn2(n为偶数)n2+1(n为偶数)原码一位乘原码两位乘n

为奇数时,原码两位乘移n/2+1次最多加n/2+1次23第二十三页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算2)补码乘法(1)补码与真值的关系设[x]补

=x0.x1x2…xn当X≥0时,x0=0,[x]补

=0.x1x2…xn=∑xi2-i=x当x<0时,x0=1,[x]补

=1.x1x2…xn=2+x所以x=1.x1x2…xn–2=-1+0.x1x2…xn=-1+∑xi2-i得出x=-x0+∑xi2-ini=1ni=1ni=124第二十四页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算(2)补码的右移正数右移一位,相当于乘1/2。负数用补码表示,右移一位,是否也相当于乘1/2?设[x]补

=x0.x1x2…xn因为

x=-x0+∑xi2-i

所以

x=-x0+∑xi2-i

=-x0+x0+∑xi2-i

=-x0+∑xi2-(i+1)

即[x]补=x0.x0x1x2…xn

ni=112ni=1121212ni=1ni=01225第二十五页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算(3)补码一位乘运算规则设被乘数[x]补

=x0.x1x2…xn

乘数[y]补

=y0.y1y2…yn均为任意符号,则有补码乘法算式:[x.y]补=[x]补.y证明:①被乘数任意,乘数为正

根据补码定义,有[x]补=2+x=2n+1+x(mod2)[y]补=y所以,[x]补.[y]补

=2n+1.y+x.y=2(y1y2…yn)+x.y由于(y1y2…yn)是大于0的正整数,所以,

2(y1y2…yn)=2(mod2)故[x]补.[y]补

=2+x.y=[x.y]补即[x.y]补

=[x]补.[y]补

=[x]补.y

26第二十六页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算

同原码乘但加和移位按补码规则运算乘积的符号自然形成运算规律:27第二十七页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算②被乘数任意,乘数为负[x]补

=x0.x1x2…xn[y]补

=1.y1y2…yn=2+y(mod2)因为y=[y]补

–2=0.y1y2…yn-1所以x.y=x(0.y1y2…yn)–x

[x.y]补=[x(0.y1y2…yn)]补+[–x]补因为0.y1y2…yn>0

[x(0.y1y2…yn)]补=

[x]补(0.y1y2…yn)所以[x.y]补=[x]补(0.y1y2…yn)+[–x]补28第二十八页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算

乘数[y]补,去掉符号位,操作同①最后加[–x]补,校正运算规律:29第二十九页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算③被乘数、乘数符号任意设[x]补

=x0.x1x2…xn[y]补

=y0.y1y2…yn综合①②,得到补码乘法统一算式

[x·y]补=[x]补(0.y1…yn)+[–x]补

·y0当y>0时,y0=0[x.y]补

=[x]补.y

当y<0时,y0=1[x.y]补=[x]补

(0.y1y2…yn)+[–x]补

30第三十页,共三十六页,编辑于2023年,星期一补码比较法(Booth算法)设[x]补

=x0.x1x2

xn[y]补

=y0.y1y2

yn……[x·y]补=[x]补(0.y1

yn)–[x]补

·y0…=[x]补(y12-1+y22-2++yn2-n)–[x]补

·y0…=[x]补(–y0+y1

2-1+y22-2++yn2-n)…=[x]补[–y0+(y1–

y12-1)+(y22-1–y22-2)++(yn2-(n-1)–yn2-n)]…=[x]补[(y1–y0)+(y2–y1)2-1++(yn–yn-1)2-(n-1)+(0

–yn)2-n)]…y12-1++…yn

2-n–[x]补=+[–x]补

2-1=20–2-12-2=2-1–2-2=[x]补[(y1–y0)+(y2–y1)2-1++(yn+1–yn)2-n]…附加位

yn+131第三十一页,共三十六页,编辑于2023年,星期一Booth算法递推公式[z0]补=0[z1]补=2-1{(yn+1–yn)[x]补+[z0]补}yn+1=0[zn]补=2-1{(y2–y1)[x]补+[zn-1]补}…[x

·

y]补=[zn]补+(y1–y0)[x]补最后一步不移位如何实现

yi+1–yi

?000110111+[x]补

1+[–x]补

11yi

yi+1操作yi+1–yi01-1032第三十二页,共三十六页,编辑于2023年,星期一例已知x=+0.0011y=–0.1011求[x·y]补解:00.000011.110111.110100.001111.110100.001111.11011.0101000.0001111.11011100.000111111.11011111[x]补

=0.0011[y]补

=1.0101[–x]补

=1.1101+[–x]补11.11101101011+[x]补00.00001110101+[–x]补11.1110111101100.00001111101+[–x]补+[x]补∴

[x·y]补

=1.11011111

最后一步不移位33第三十三页,共三十六页,编辑于2023年,星期一2.2.2

定点数的运算Booth算法的硬件配置A、X、Q均n+2位移位和加受末两位乘数控制0An+1n

温馨提示

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

评论

0/150

提交评论