第二章+计算机中的信息表示_第1页
第二章+计算机中的信息表示_第2页
第二章+计算机中的信息表示_第3页
第二章+计算机中的信息表示_第4页
第二章+计算机中的信息表示_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

第一节运算器组织

独立结构小型存储器结构单口双口寄存器组独立R、双口RAM用多路选择器作为ALU的输入逻辑,单口RAM用锁存器作为ALU的输入逻辑。3.1.1带多路选择器的运算器移位器ALU多路选择器多路选择器R0RnR0...RnR0...Rn内部总线(单向)特点:R各自独立;可同时向ALU提供两个操作数;采用单向内总线。3.1.2带输入锁存器的运算器特点:单口RAM不能同时向ALU提供两个操作数;用锁存器暂存操作数;采用双向内总线。移位器ALU锁存器锁存器内部总线(双向)R0Rn通用寄存器组(小型存储器)3.1.3位片式运算器特点:用双口RAM(两地址端、两数据端)作通用寄存器组,可同时提供数据;用多路选择器作输入逻辑,不需暂存操作数;ALU增加乘、除功能,用乘商寄存器存放乘数、乘积或商。例.4位片运算器粗框移位器ALU多路选择器多路选择器DO

RAMDi

B地址A地址CnDBDAG、P控制信息Cn+4乘商寄存器444444444444第二章计算机中的信息表示

数据信息控制信息数值型数据非数值型数据指令信息等

第一节数据信息的表示

2.1.1表示数据的大小二进制、八进制、十六进制、二-十进制2.1.2表示数据的符号原码、补码、反码2.1.3表示小数点定点、浮点第二章计算机中的信息表示

数据信息控制信息数值型数据非数值型数据指令信息等

第二节定点表示与浮点表示

2.1.1定点表示法无符号数定点整数定点小数00000000~111111110~25511111111~01111111原原-127~127补10000000~01111111补

-128~1271.1111111~0.1111111原原-(1-2-7)~(1-2-7)1.0000000~0.1111111补补

-1~(1-2-7)12-7E浮点数真值:N=+R×M阶码Ef

E1

…EmMf

M1

…Mn浮点数机器格式:尾数阶符数符R:阶码底,隐含约定。E:阶码,为定点整数,补码或移码表示。其位数决定数值范围;阶符表示数的大小。M:尾数,为定点小数,原码或补码表示。其位数决定数的精度;数符表示数的正负。尾数规格化:1/2≤M<1最高有效位绝对值为12.浮点表示法2.表示范围与精度表示范围:例.某规格化浮点数用补码表示,其中阶码6位,含1位阶符;尾数10位,含1位数符。阶符1位,阶码m位,补码表示,以2为底;数符1位,尾数n位,补码表示,规格化。最小浮点数:最大浮点数:最小浮点正数:阶码为最大数:2

-1m尾数为绝对值最大的负数:-1尾数为最大数:阶码为最大数:2

-1m1-2-n阶码为最小数:-2

m尾数为最小正数:2-1最小值:-1×231=-231(011111B=3125-1)最大值:0.111111111B×231=(1-2-9)×231-231~231×

(1-2-9)以加法器为基础的各种运算解决思路复杂运算四则运算加法运算解决方法在加法器的基础上,增加移位传送功能,并选择输入控制条件

(乘法:部分积,移位;除法:余数,移位)

第二节运算方法2.2.1补码加减法数用补码表示,符号位参加运算。实际操作能否只取决于操作码?结果需不需修正?如何将减法转换为加法?2.2定点加减运算1.基本关系式(X+Y)补

=X补

+Y补

(1)

(X-Y)补

=X补

+(-Y)补

(2)式(1):操作码为“加”时,两数直接相加。3)X=3Y=–2X补=00011Y补=1111000001(+1补码)2)X=–3Y=–2X补=11101Y补=1111011011(–5补码)1)X=3Y=2X补=00011Y补=0001000101(+5补码)4)X=–3Y=2X补=11101Y补=0001011111(–1补码)例.求(X+Y)补(X+Y)补

=X补

+Y补

(1)

(X-Y)补

=X补

+(-Y)补

(2)式(2):操作码为“减”时,将减转换为加。1)X=4Y=–5X补=00100Y补=11011(-Y)补=0010101001(+9补码)2)X=–4Y=5X补=11100Y补=00101(-Y)补=1101110111(–9补码)例.求(X–Y)补Y补(–Y)补:将Y补变补不管Y补为正或负,将其符号连同尾数一起各位变反,末位加1。即将减数变补后与被减数相加。X补=00100

Y补=11011X补=11100

Y补=00101注意:某数的补码表示与某数变补的区别。例.10101原

11011补码表示10011补

01101变补00101原

00101补码表示符号位不变;负数尾数改变,正数尾数不变。00011补

11101变补符号位改变,尾数改变。补码的机器负数2.算法流程操作数用补码表示,符号位参加运算结果为补码表示,符号位指示结果正负X补+Y补X补+(-Y)补ADDSUB3.逻辑实现A(X补)B(Y补)+AABB+B+B+1CPA

∑A(1)控制信号加法器输入端:+A:打开控制门,将A送∑。+B:打开控制门,将B送∑。+1:控制末位加1。+B:打开控制门,将B送∑。加法器输出端:∑

A:打开控制门,将结果送A输入端。CPA:将结果打入A。(2)补码加减运算器粗框∑2.2.2溢出判断在什么情况下可能产生溢出?例.数A有4位尾数,1位符号SA

数B有4位尾数,1位符号SB

符号位参加运算结果符号Sf符号位进位Cf尾数最高位进位C正确0001100010(1)A=3B=23+2:00101(2)A=10B=710+7:010100011110001正溢正确负溢正确正确(3)A=-3B=-2-3+(-2):110111110111110(4)A=-10B=-7-10+(-7):011111011011001(5)A=6B=-46+(-4):000100011011100(6)A=-6B=4-6+4:111101101000100(2)A=10B=710+7:01010

0011110001(4)A=-10B=-7-10+(-7):0111110110110011.硬件判断逻辑一(SA、SB与Sf的关系)溢出=SASBSfSASfSB2.硬件判断逻辑二(Cf与C的关系)正确0001100010(1)A=3B=23+2:00101(2)A=10B=710+7:010100011110001正溢正确负溢正确正确(3)A=-3B=-2-3+(-2):110111110111110(4)A=-10B=-7-10+(-7):011111011011001(5)A=6B=-46+(-4):000100011011100(6)A=-6B=4-6+4:111101101000100Cf=0C=0Cf=0C=1Cf=1C=1Cf=1C=0Cf=1C=1Cf=0C=0111111(2)A=10B=710+7:01010

0011110001(4)A=-10B=-7-10+(-7):0111110110110011.硬件判断逻辑一(SA、SB与Sf的关系)溢出=SASBSfSASfSB2.硬件判断逻辑二(Cf与C的关系)溢出=CfC3.硬件判断逻辑三(双符号位)(1)3+2:正确00001100001000

0101(2)10+7:001010000111010001正溢正确负溢正确正确(3)-3+(-2):110111111101111110(4)-10+(-7):101111110110111001(5)6+(-4):000010000110111100(6)-6+4:11

111011

1010000100第一符号位Sf1第二符号位Sf2溢出=Sf1Sf2(2)A=10B=710+7:01010

0011110001(4)A=-10B=-7-10+(-7):0111110110110011.硬件判断逻辑一(SA、SB与Sf的关系)溢出=SASBSfSASfSB2.硬件判断逻辑二(Cf与C的关系)溢出=CfC3.硬件判断逻辑三(双符号位)2.2.3移位操作逻辑移位

:数码位置变化,数值不变。1.移位类型算术移位

10001111循环左移:0:数码位置变化,数值变化,符号位不变。1001111算术左移:1

0011111011110(-15)(-30)(1)单符号位:0011101110

(2)双符号位:001110

0001112.正数补码移位规则(3)移位规则左移右移右移0011100011左移左移右移右移011100

001110000111数符不变(单:符号位不变;双:第一符号位不变)。空位补0(右移时第二符号位移至尾数最高位)。(1)单符号位:1101110110

(2)双符号位:101100

1101103.负数补码移位规则(3)移位规则左移右移右移1101111101左移右移右移110110111011数符不变(单:符号位不变;双:第一符号位不变)。左移空位补0(第二符号位移至尾数最高位)。右移空位补12.2.4舍入方法1.0舍1入(原码、补码)000100原

100101原

111011补

2.末位恒置1(原码、补码)000100原

111011补

100101原

00010原

10011原

11110补

00011原

10011原

11101补

10011原

11101补

例.保留4位尾数:例.保留4位尾数:补码除法上商规则(误差用余数进行弥补)3.1定点乘法运算3.1.1原码一位乘法

每次用一位乘数去乘被乘数。

1.算法分析乘法部分积累加、移位。例.0.1101×1.1011乘积P=X×Y积符SP=SXSYX原Y原(1)手算0.1101×0.101111011101000011010.10001111上符号:1.10001111部分积问题:1)加数增多(由乘数位数决定)。

2)加数的位数增多(与被乘数、乘数位数有关)。改进:将一次相加改为分步累加。(2)分步乘法每次将一位乘数所对应的部分积与原部分积的累加和相加,并移位。设置寄存器:

A:存放部分积累加和、乘积高位

B:存放被乘数

C:存放乘数、乘积低位

设置初值:

A=00.0000B=X=00.1101C=Y=.1011

步数条件操作AC00.0000.1011

1)Cn=1+BCn+00.110100.11010.1101×0.101111011101000011010.10001111BC1101

00.01101.1010.1101×0.10112)Cn=1+B+00.110101.001100.100111.100.1101×0.10110.1101×0.101111011101000011010.10001111BC3)Cn=0+0+00.000000.100100.0100111.14)Cn=1+B+00.110101.000100.10001111X原×Y原=1.100011112.算法流程0A、XB、YC、0CRCn=1?CR=n?1/2(A+B)A,C1/2(A+0)A,CCR+1CRYYNNSx+SySA

3.运算规则(1)操作数、结果用原码表示;(2)绝对值运算,符号单独处理;(3)被乘数(B)、累加和(A)取双符号位;(4)乘数末位(Cn)为判断位,其状态决定下步操作;(5)作n次循环(累加、右移)。3.1.2补码一位乘法

1.算法分析

X补

=X0.X1X2……Xn(1)Y为正:Y补=0.Y1Y2……Yn

(XY)补=X补(0.Y1Y2……Yn)(2)Y为负:Y补

=1.Y1Y2……Yn

(XY)补=X补(0.Y1Y2……Yn)+(-X)补(3)Y符号任意:

(XY)补=X补(0.Y1Y2……Yn)+(-X)补Y0符号位(4)展开为部分积的累加和形式:(XY)补=X补(0.Y1Y2……Yn)+(-X)补Y0

=X补(0.Y1Y2……Yn)-X补Y0

=X补(-Y0+2Y1+2

Y2+……+2

Yn)-1

-2

-n

=X补

-Y0+(Y1-2Y1)+(2Y2-2Y2)+……-1-1-2-(n-1)-n

+(2Yn-2Yn)

=X补(Y1-Y0)+2(Y2-Y1)+2(Y3-Y2)+……-1-2

+2(0-Yn)-n

+2(0-Yn)-nYn+1

=X补(Y1-Y0)+2(Y2-Y1)+2(Y3-Y2)+……-1-2

+2(0

-Yn)-nYn+1比较法:用相邻两位乘数比较的结果决定

+X补、-X补或+0。

2.比较法算法Yn(高位)Yn+1(低位)操作(A补为部分积累加和)00011011

1/2A补

1/2(A补+X补)1/2(A补-X补)1/2A补(0)(1)(-1)(0)3.运算实例X=-0.1101,Y=-0.1011,求(XY)补。初值:A=00.0000,B=X补=11.0011,-B=(-X)补=00.1101,C=Y补=1.0101步数条件操作AC00.00001.0101

1)10-BCn+00.110100.110100.011011.01012)01+B+11.001111.100111.1100111.0103)10-B+00.110100.100100.01001111.014)01+B+11.001111.011111.101111111.00Cn+1CnCn+15)10-B+00.1101(XY)补

=0.100011114)01+B+11.001111.011111.101111111.05)10-B+00.110100.10001111修正(1)A、B取双符号位,符号参加运算;(2)C取单符号位,符号参加移位,以决定最后是否修正;(3)C末位设置附加位Cn+1,初值为0,CnCn+1组成判断位,决定运算操作;(4)作n步循环,若需作第n+1步,则不移位,仅修正。

4.运算规则1.0:-B修正0.1:+B修正0.0:不修正1.1:不修正3.2.1定点除法运算除法若干余数与除数加减、移位。例.0.10110÷0.111110.1011011010.01111110.11111000111111101010111111101100.00000.0.商:0.10110余数:0.10110×25实现除法的关键:比较余数、除数绝对值大小,以决定上商。(原码恢复余数法,原码不恢复余数法,补码不恢复余数法)3.2.2.1原码恢复余数法1.算法

比较两数大小可用减法试探。2×余数-除数=新余数为正:够减,商1。为负:不够减,商0,恢复原余数。2.实例X=-0.10110,Y=0.11111,求X/Y,给出商Q和余数R设置:A:被除数、余数,B:除数,C:商初值:A=X=00.10110B=Y=00.11111C=Q=0.00000-B=11.00001步数条件操作AC00.101100.00000

1)0-B01.01100+11.0000100.011010.000012)1-B00.11010+11.0000111.110110.000103)恢复余数+B+00.1111100.1101001.101000.001014)0-B+11.0000100.10101CnSAQ1

Q2

Q3

r02r0r12r1r2’r22r2r3步数条件操作AC00.101010.00101

5)0-B01.01010+11.0000100.010110.010116)1-B00.10110+11.0000111.101110.101107)恢复余数+B+00.1111100.10110Q=-0.10110CnQ4

Q5

Q3

r32r3r42r4r5’r5R=0.10110×2-5X/Y=-0.10110+-0.10110×2-50.11111与被除数同号3.说明(1)A、B双符号位,X、Y绝对值,X小于Y。(2)运算结束后,余数乘以2,与被除数同号。-n3.2.2.2原码不恢复余数法(加减交替法)1.算法分析第二步:2r1-B=r2’<0第三步:r2’+B=r2(恢复余数)第四步:2r2-B=r32r2-B=2(r2’+B)-B=2r2’+B=r3第二步:2r1-B=r2<0第三步:2r2+B=r3(不恢复余数)2.算法

ri+1=2ri+(1-2Qi)Yri为正,则Qi为1,第i+1步作2ri-Y;ri为负,则Qi为0,第i+1步作2ri+Y。3.实例X=0.10110,Y=-0.11111,求X/Y,给出商Q和余数R。初值:A=X=00.10110B=Y=00.11111C=Q=0.00000-B=11.00001步数条件操作AC00.101100.00000

1)为正-B01.01100+11.0000100.011010.000012)为负-B00.11010+11.0000111.110110.000103)+B+00.1111111.101100.00101为正00.10101CnrQ1

Q2

Q3

r02r0r12r1r22r2r34)为正-B01.01010+11.0000100.010110.01011Q4

2r3r4步数条件操作AC00.010110.01011

6)为负恢复余数+B+00.1111100.10110Q=-0.10110CnQ4

r45)为正-B00.10110+11.0000111.101110.10110Q5

2r4r5’r5R=0.10110×2-5X/Y=-0.10110+0.10110×2-5-0.11111

4.运算规则(1)A、B取双符号位,X、Y取绝对值运算,X<Y。(2)根据余数的正负决定商值及下一步操作。(3)求n位商,作n步操作;若第n步余数为负,则第

n+1步恢复余数,不移位。3.2.2补码不恢复余数法(加减交替法)如何判断是否够减?如何上商?

如何确定商符?

1.判够减(1)同号相除4774-4-7-7-41-47-744-77-4010-43-7-3-(-4)-3-(-7)3够减不够减够减不够减够减:r与X、Y同号;不够减:r与X、Y异号。(2)异号相除1010+(-4)3+(-7)-3+4-3+73够减够减不够减不够减够减:r与X同号,与Y异号;不够减:r与X异号,与Y同号。(3)判断规则同号:作X补-Y补X补Y补够减:r补与Y补同号不够减:r补与Y补异号异号:作X补+Y补够减:r补与Y补异号不够减:r补与Y补同号2.求商值X补Y补同号:商为正异号:商为负够减商1不够减商0够减商0不够减商1(r、Y同号)(r、Y异号)(r、Y异号)(r、Y同号)够减商1不够减商0够减商0不够减商1(r、Y同号)(r、Y异号)(r、Y异号)(r、Y同号)(r、Y同号)(r、Y异号)(r、Y异号)(r、Y同号)够减商1不够减商0够减商0不够减商1上商规则:Qi=Sri⊕SY余数与除数同号商1,异号商0。3.算法

(ri+1)补=2ri补+(1-2Qi补)Y补ri补与Y补同号,则Qi补为1,第i+1步作2ri补-Y补;ri补与Y补异号,则Qi补为0,第i+1步作2ri补+Y补。4.求商符令X补=r0补r0补与Y补同号:Q0补=1异号:Q0补=0与实际商符相反商符5.商的校正X补Y补=(-1+2+∑2Qi补)+2rn补Y补-n-in-1i=0-n商余数真商=假商+1.000…01=Q0.Q1Q2……Qn-1求n-1位商(假商)X补Y补=(-1+2+∑2Qi补)+2rn补Y补-n-in-1i=0-n商余数(1)∑2Qi补n-1i=0-i(2)2-n第n位商(末位商)恒置1(3)-1商符变反n位(4)余数求至rn6.实例X=0.10110,Y=-0.11111,求X/Y,给出商Q和余数R。初值:A=X补=00.10110B=Y补=11.00001C=Q补=0.00000-B=00.11111步数条件操作AC00.101100.0000

1)异号+B01.01100+11.0000100.011010.00002)同号+B00.11010+11.0000111.110110.0001Cn-1r、YQ1

Q2

r02r0r12r1r2求商符Q0

异号05)+B+11.0000100.1011011.10111步数条件操作AC11.110110.0001

3)异号-B11.10110+00.1111100.101010.00104)异号+B01.01010+11.0000100.010110.0100Cn-1r、YQ3

Q2

r22r2r32r3r42r4r5假商=0.0100Q4

真商=0.0100+1.00001=1.01001Q=-0

温馨提示

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

评论

0/150

提交评论