计算机组成原理课件第2章课件_第1页
计算机组成原理课件第2章课件_第2页
计算机组成原理课件第2章课件_第3页
计算机组成原理课件第2章课件_第4页
计算机组成原理课件第2章课件_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

计算机组成原理课件第2章课件

数值数据的表示

一、符号的表示数的符号有+和—,正好对应一位二进制数的两个状态0和1因此,引入符号位,从此,书写形式与存储形式出现差异,我们把书写形式的数称为真值,而存储形式的数称为机器数。机器数常用的编码方法有:

原码补码反码移码

数值数据的表示

二、小数点的表示定点表示法:约定机器中的小数点的位置是固定不变的。由于这种约定,数据中就不再使用“.”表示小数点了,因此,定点表示实质上是不表示小数点的表示方法。D15D14D0尾数/数值位隐含的小数点符号位.D15D14D0尾数/数值位隐含的小数点符号位定点表示法理论上讲,定点数的小数点可以固定在任何位置,但计算机设计时通常将数据设定为定点小数或定点整数。

(1)定点小数:小数点在x0和x1之间。表示的数据范围为:

0x1-2-n(2)定点整数:小数点在xn的右边。表示的数据范围为:

0x2n-1特点:定点表示法所表示的数据范围有限,但硬件实现简单;

重点掌握定点小数。

数值数据的表示

三、尾数的表示十进制数(Decimal)、二进制数(Binary)、十六进制数(Hexadecimal)进位计数制间的转换二进制数与十进制数之间的转换二进制数与十六进制数之间的转换十进制数与十六进制数之间的转换1、原码定义:最高位代表符号,其它位为数据的绝对值。定点整数x的原码:

x2n

x0[x]原=2n-x=2n+x0x-2n其中x为真值。实际上:若x=+x1x2xn,则[x]原=0x1x2

xn;若x=-x1x2

xn,则[x]原=1x1x2

xn例:8位机中,x=+1001101B,[x]原=01001101x=-1001101B,[x]原=1原码定点小数x=0.x1x2xn的原码:

x1x0[x]原=1-x=1+x0x-1

若x=+1x2

xn,则[x]原=0.x1x2

xn;若x=-1x2

xn,则[x]原=1.x1x2

xn

例:若x=+,[x]原=01001x=-,[x]原=11001原码特点:零有两种表示形式:

[+0]原=000…0,[-0]原=100…0表示的数据范围:

n+1位定点整数,2n-1x

-(2n

-1);n+1位定点小数,(1-2-n)

x

-(1-2-n);优点:真值与原码之间的换算简单。实现乘法运算简单。缺点:实现加、减运算不方便。两数相加,异号须相减;相减时须判断两数绝对值的大小,绝对值大的减绝对值小的,结果的符号为绝对值大的数的符号。2、反码定义:定点整数x的反码:

x2n

x0[x]反=2n+x0x-2n其中x为真值。定点小数x=x0.x1x2

xn,的反码:

x1x0[x]反=(2-2-n

)+x0x-1实际上正数的反码和原码一样;负数的反码是将原码中符号位不变,数值部分中的各位变反。反码特点:零有两种表示形式:

[+0]反=000…0,[-0]反=111…1表示的数据范围:

n+1位定点整数,2n-1x

-(2n

-1);n+1位定点小数,(1-2-n)

x

-(1-2-n);3、补码定义:

定点整数x的补码:

x2n

x0[x]补=2n+1+x=2n+1-x0x-2n其中x为真值。例:8位机中,x=+1001101B,[x]补=0x=-1001101B,[x]补=1

定点小数x的补码:

x1x0[x]补=2+x=2-x0x-1

例:若x=+,[x]补=0.1001x=-,[x]补-0.1001=1.0111补码互补数在计数制中,为了简化计数,常采用一种计满归零的方法。例如钟表的计时,计满12归0,即12=0,于是有:13点=1点,14点=2点,…,23点=11点,24点=0点。因此,钟表是以12为模的计数方式,其数学表达式为:12=0(mod12)对于钟表的表盘,若时针指向12点,顺时针方向拨时针8格,即表示的时间为8点,而按逆时针方向拨时针4格,表示的时间仍为8点,因此,两种不同方向的拨法其结果是一样的,于是,8和-4是模12的互补数,记为:-4=8(mod12)对于任意一个数x,若模为M,则数x的补数[x]补数可由下式进行计算。

[x]补数

=M+

x(modM)当x≥0时,M+

x≥M,把M丢掉,[x]补数

=x,即正数的补数等于他本身。当x<0时,[x]补数

=M+

x=M―∣x∣

即负数的补数等于模与该数绝对值之差。补码特点:零只有一种表示形式:

[+0]补=[-0]补=000…0表示的数据范围:n+1位定点整数机,(2n

-1)x

-2nn+1位定点小数机,(1-2n)x

-1优点:实现加、减运算方便。可以将减法运算变为加法,运算器中的加、减运算可以采用一个加法电路。缺点:真值与原码之间的换算不够直接。实现乘法运算不方便。补码[x]补与[-x]补的关系:已知[x]补求[-x]补称为对[x]补求补或变补。其规则是:将[x]补的各位取反(包括符号位),然后在最低位加1,即得到[-x]补。反之亦然。例:已知[x]补,求[-x]补。①[x]补=0.0010110②[x]补=1.解:由定义可得[-x]补=1.[-x]补=0.[x]补与[x]反的关系:当x≥0,[x]补=[x]反当x≤0,[x]补=[x]反+2n4、移码

移码主要用于表示浮点数的阶码。由于阶码是整数,只讨论x是整数时的移码:定义:

[x]移=2n

+x2n

x-2n其中x为真值。例:若x=+10101B,[x]移=110101x=-10101B,[x]移=001011移码的符号位表示的规律与原码、反码、补码的相反。机器数举例例:将十进制真值x(-127,-1,0,+1,+127)列表表示成二进制及原码、反码、补码、移码值。解:由表中数据可知,补码与移码差别仅在于符号位不同。

浮点表示法一般格式:N=ReM,其中:

M(mantissa):尾数,表明数据的位数,决定了数据的精度。

e(exponent):阶码,指明了小数点在数据中的位置。

R(radix):基数。计算机中一般规定为2,8或16。

由于R是常数,浮点数就不用表示R了,因此,浮点数的表示只有数符、阶码、尾数。再考虑浮点数的运算,为了方便对阶,阶码通常采用移码形式(E)。计算机中的格式示例:MS

E1E2……Em

M1M2……Mn

数符阶码尾数浮点格式IEEE754采用较多的IEEE754标准:其中:阶码采用移码形式,尾数为,即上式的实际值为:

x=(-1)s()2E-KMSE1E2……Em

M1M2……Mn

浮点格式IEEE754例:将5/32和―69.625表示成IEEE754单精度浮点数的格式。解:①5/32=0.×2-3,按IEEE754单精度浮点数的要求,∵x≥0,∴S=0,∵尾数的有效值∴M=0B∵E=127+e,∴E=127+(-3)=124=01111100B5/32表示成IEEE754单精度浮点数的格式为:001111100

0B②∵―69.625=―1000101.101B=―×26

∴S=1,M=0B,E=127+6=133=10000101B,其浮点数格式如下:1100000000浮点格式IEEE754例:将IEEE754单精度浮点数42E48000H转换成真值十进制数。解:单精度浮点数42E48000H可表示为:0000000000∴S=1,E=10000101B=133,,其浮点数对应的真值为:(-1)S

×2E―127

×1.M=(-1)0

×2133―127

××26例

假设一个32位二进制所表示的非零规格化浮点数x的真值为:x=(-1)S×(1.M)×2E-128问:它所表示的规格化的最大正数、最小正数、最大负数、最小负数是多少?浮点格式IEEE754解:注意理解规格化:尾数采用原码表示,阶码采用移码表示。最大正数:

x=(1+(1-2-23))×2127最小正数:

x=1.0×2-128最小负数:

x=-(1+(1-2-23))×2127最大负数:

x=-1.0×2-128

x=-(1+(1-2-23))×2127最大负数:

x=-1.0×2-12801111111111111111111111111111111000000000000000000000000000000001

111111111111111111111111111111110000000000000000000000000000000机器数举例例:设机器字长16位,问:(1)定点原码整数表示时的最大正数和最小负数是多少?(2)定点原码小数表示时的最大正数和最小负数是多少?解:(1)定点原码整数表示最大正数=215-1=+32767

最小负数=-(215

-1)=-32767

(2)定点原码小数表示最大正数=1-2-15

=(+0.111…11)2

最小负数=-(1-2-15

)=(-0.111…11)2

、非数值数据的表示方法一、ASCII码

AmericanStandardCodeforInformationInterchange(美国标准信息交换码)。它采用7位二进制代码表示一个字符,共有128个字符。其中

0~9的ASCII码为30h~39h,A~Z的ASCII码为41h~5Ah,

a~z的ASCII码为61h~6Ah,另外还有一些控制符,这里不再一一列举。

字符串字符串是指连续的一串字符,在计算机中采用ASCII码表示,在内存中占用连续的多个字节单元,每个字节单元存放一个字符。当机器字长由2个或4个字节组成时,字符串在字中可以从高到低或从低到高的顺序存放。如:IFA>BTHENREAD(C)在4字节字长的机器内存储可以有两种方式:十进制数串的表示2B313233ASC码表示的数串

即一个十进制数占用连续的多个字节。一个字节存放一个十进制的数位或符号位相应的ASCII码。如:+123

-4762D343736BCD码BCD码是BinaryCodedforDecimal英文缩写,有多种形式如:8421码、5421码、余3码、格雷码等。其中应用较多的是8421BCD码。在对十进制数直接进行运算时,其结果可能会出现非8421BCD码,此时需要及时进行加6(0110)修正,否则,运算的结果会出错。

另外需要注意的是BCD码是对一位十进制数所进行的编码,对于多位十进制数,则应用多个BCD码组合起来表示。例如十进制数147,对应的8421BCD码为000101000111。

十进制数串的表示

压缩BCD码形式每个数位用相应的8421BCD码表示,占半个字节;符号位占半个字节,放在最低数字位的后面。选用六种冗余状态中任两种。当数位加符号位不是偶数时,在最高数字位前加一个0。如+123、-45,用12(C)表示正,用13(D)表示负。

123C045D自定义数据表示

传统的计算机体系结构中,用指令本身来说明操作数据的类型。自定义数据表示则用数据本身来说明数据类型。自定义数据表示形式有两种:标志符数据表示

标志符部分用来指明数据的类型。描述符数据表示主要用来表示多维结构的数据类型。如:向量、记录等。

标志符

数据描述符标志位特征标记数据块长度数据块起始地址汉字输入编码数字编码常用的有区位码,用4位数字表示一个汉字输入。如:键5448对应输入汉字“中”,其中表示第54区48位。优点是无重码,且与内码转换方便,缺点是代码难记。拼音码易掌握,但误码、重码较多字形编码五笔字型编码是最有影响的一种字形编码方法。上述三种方法结合词组输入、联想输入等加快了输入速度,但仍属于“手动”输入,现已有语音输入和手写体输入,并自动转换为机器内码。汉字内模码

用点阵表示的汉字字形代码,是汉字的输出形式。根据汉字输出的要求不同,点阵的多少也不同:16*16、24*24、32*32等。点阵越多,每个汉字占内存空间越大。16*16点阵的一个汉字占32个字节,国标两级汉字占256K字节。因此,字模点阵只能构成汉字库,不能机内存储。当需显示或打印汉字时,才根据汉字机内码检索字库,输出字幕点阵,得到字形。汉字内码

用于机器内部汉字信息的存储、交换、检索等操作的代码,一般采用两个字节表示。英文字符的机内代码就是7位的ASCII码,当用一个字节时最高位为“0”;汉字内码中两个字节的最高位均为“1”,以区别于英文字符。有些系统中字节最高位用于奇偶校验,此时汉字内码用三个字节表示。

、校验码检错和纠错:

信息在机器内存取和传送的过程中,可能会因为某些干扰而产生错误。为减少和避免这类错误,一方面从电路、电源和布线等方面采取措施,提高机器的抗干扰能力;另一方面是在数据编码上采用一些具有特征的编码法,附加少量电路,能够发现某些错误,甚至能确定错误的性质和出错的位置,进而实现自动改错,这称之为检错和纠错。数据校验码:具有上述功能的一种编码。常用的校验码有:奇偶校验码、海明校验码、循环校验码。1、奇偶校验奇偶校验是采用一位校验位P的校验,P是数据x0x1x2xn-1的函数。奇校验:数据x0x1x2xn-1和校验位P构成奇数个“1”;偶校验:数据x0x1x2xn-1和校验位P构成偶数个“1”。例数据奇校验位偶校验位

000000010010101001111101110偶校验位P=x0x1…xn-1奇校验位P=x0x1…xn-1奇偶校验只可以检测出一位错或奇数个位出错。但由于其方法简单,电路实现容易,因此应用较多。2、海明码RichardHamming于1950年提出、目前还被广泛采用的一种很有效的校验方法。在有效信息位上增加几个校验位,构成多组奇偶校验。实现原理:在k个数据位之外加上r个校验位,从而形成一个k+r位的新的码字。把数据的每一个二进制位分配在几个不同的偶校验位的组合中,当某一位出错后,就会引起相关的几个校验位的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。海明码(1)校验位数r的选择:

假设为k个数据位设置r个校验位,则校验位能表示2r个状态,可用其中的一个状态指出“没有发生错误”,用其余的2r-1个状态指出有错误发生在某一位,包括k个数据位和r个校验位,因此校验位的位数应满足如下关系:

2r≥k+r+1

K值最小的r值3~445~10511~25626~56757~1198几个数据位k与校验位r的对应关系:海明码(2)各校验位在编码中的位置

规则:若校验码的位号从左向右(或从右向左)按1~k+r排列,则校验位的位号分别为2i,i=0,1,2,…,r-1,有效信息按原信息顺序排在其它位号上。例:信息A6A5A4A3A2A1A0

,选择r=4,则校验位的位号分别在1、2、4、8号上。若将校验位的值记为Pj。则校验码为:

P1P2A6P3A5A4A3P4A2A1A0海明码(3)校验码中校验位的值

原则:①r个校验位构成r组奇偶校验:每个有效信息位都被2个或2个以上的校验位校验,并且被校验的位号等于校验它的校验位位号之和。②根据①统计参与每组奇偶校验位号,按奇偶校验原理,由已知的有效信息求出各个校验位的值。上例:P1P2A6P3A5A4A3P4A2A1A0A6位号是3,应由P1(1)、P2(2)校验;A5(5)由P1(1)、P3(4)校验;

A4(6)由P2(2)、P3(4)校验;A3(7)由P1(1)、P2

(2)、P3(4)校验;

A2(9)由P1(1)、P4(8)校验;A1(10)由P2(2)、P4(8)校验;

A0(11)由P1

(1)、P2(2)、P4(8)校验海明码统计参与校验的情况:P1:

A6、A5

、A3

、A2

、A0P2:

A6、A4

、A3

、A1、A0P3:

A5

、A4

、A3P4:

A2

、A1

、A0则偶校验时各校验位的值:P1=

A6⊕A5

⊕A3

⊕A2

⊕A0P2=

A6⊕A4

⊕A3

⊕A1⊕A0P3=

A5⊕A4

⊕A3P4=

A2

⊕A1

⊕A0海明码(4)检错与纠错将r个校验位和有效信息位分成r组,进行奇偶校验,校验结果形成r位“指误字”:Er

Er-1

E2E1,每组校验正确,则指误字相应位为0;校验结果错误,指误字相应位为1,且指误字代码所对应的十进制值就是出错位的位号,将该位取反即可自动纠正。上例:若

A6A5A4A3A2A1A0=,其偶校验海明码:

P1=

1

⊕0⊕1⊕1⊕1=0P2=

1⊕0⊕1⊕0⊕1=1P3=

0

温馨提示

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

评论

0/150

提交评论