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

下载本文档

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

文档简介

1、计算机组成原理Principles of Computer Organization广义双语教学课程09/skyclass25/青岛理工大学 校级精品课程http:/ 运算方法和运算部件运算方法和运算部件数据表示数据表示运算方法运算方法运算部件运算部件数据校验码数据校验码The data types found in the registers of digital computers may be classified as being one of the following categories: (1) numbers used in arithme

2、tic computations, (2) letters of the alphabet used in data processing, and (3) other discrete symbols used for specific purposes. All types of data (plural of datum), except binary numbers, are represented in computer registers in binary-coded form.33.1 数据的表示方法和转换数据的表示方法和转换计算机中的数据信息可划分成两大类:数值数据和非数值数

3、据数值数据表示数的大小,有确定的值。数值数据表示数的大小,有确定的值。非数值数据一般用来表示符号、文字或逻辑变量等,没有值。数据Data无符号数Unsigned Number浮点数原码表示法反码表示法补码表示法移码表示法数值数据Numbers有符号数Signed Number定点数符号文字逻辑变量非数值数据Non-numerical Data声音图象视频多媒体4无符号数和有符号数无符号数和有符号数 无符号数是把所有的数位都用来表示数据的数值,通常作为无符号数是把所有的数位都用来表示数据的数值,通常作为正数处理。正数处理。n位无符号的纯整数,其表示范围为位无符号的纯整数,其表示范围为0 (2 n

4、1)。)。Because of hardware limitations computers must represent everything with 1s and 0s, including the sign of a number. Positive integers, including zero, can be represented as unsigned numbers. However, to represent negative numbers, we need a notation for negative values. In ordinary arithmetic,

5、a negative number is indicated by a minus sign and a positive number by a plus sign. It is customary to represent the sign with a bit placed in the leftmost position of the number. The convention is to make the sign bit equal to 0 for positive and to 1 for negative.5机器数和真值机器数和真值 一个数在机器中的表示形式叫做机器数机器数

6、,而把这个数本身叫做该机器数的真值真值。 例如,01101011 和 10010001 分别是真值 +1101011B 和 10001B的机器数。 带符号的机器数的编码方法有原码表示法,反码表示法和补带符号的机器数的编码方法有原码表示法,反码表示法和补码表示法。此外,浮点数的阶码还可采用移码表示法。码表示法。此外,浮点数的阶码还可采用移码表示法。真值机器数XX原X反X补+0.11010110.11010110.11010110.1101011-0.11010111.11010111.00101001.0010101 3.2 带符号的二进制数据在计算机中的表示带符号的二进制数据在计算机中的表示方

7、法及加减法运算方法及加减法运算6数的定点表示与浮点表示数的定点表示与浮点表示 数值数据的小数点在计算机中并不数码化,而采用两种指定数值数据的小数点在计算机中并不数码化,而采用两种指定小数点位置的方法:小数点位置的方法:定点表示法定点表示法(Fixed-Point Representation),即小数点的位置是即小数点的位置是固定不变的,这样表示的数称为定点数。固定不变的,这样表示的数称为定点数。浮点表示法浮点表示法(Floating-Point Representation),即小数点的位置即小数点的位置不是固定的不是固定的,而是根据需要浮动的而是根据需要浮动的,这样表示的数称为浮点数这样表

8、示的数称为浮点数。The position of the binary point is needed to represent fractions, integers, or mixed integer-fraction numbers. The representation of the binary point in a register is complicated by the fact that it is characterized by a position in the register. There are two ways of specifying the positi

9、on of the binary point in a register: by giving it a fixed position or by employing a floating-point representation.7定点表示法定点表示法 Fixed-Point Representation符号位数值部分XnX2X0X 1小数点符号位小数点数值部分XnX2X0X 1The fixed-point method assumes that the binary point is always fixed in one position. The two positions most

10、 widely used are(1) a binary point in the extreme left of the register to make the stored number a fraction, and(2) a binary point in the extreme right of the register to make the stored number an integer.定点小数计算机约定小数点的位置隐含在符号位之后,最高数值位之前。定点整数计算机约定小数点隐含在最低数值位的右边。 采用定点表示法的计算机称为定点机。8定点数的表示范围定点数的表示范围 定点数

11、可表示的数值范围取决于采用的是原码,补码或反码表示。如果机器数超出定点数所能表示的最大值,称为“溢出”或上溢;发生溢出Overflow时就有运算出错。In either case, the binary point is not actually present, but its presence is assumed from the fact that the number stored in the register is treated as a fraction or as an integer.An overflow is a problem in digital computer

12、s because the width of registers is finite. Many computers detect the occurrence of an overflow, and when it occurs, a corresponding flip-flop is set which can then be checked by the user. n+1位的带符号的机器数带符号的机器数是某种编码,其最高一位是符号位,其余n个数位是数值部分。9原码表示法原码表示法 Signed-Magnitude Representation对于n+1位的原码,其最高一位是符号位,其

13、余n个数位是数值的绝对值。 (1) 小数的原码表示定义:011011XXXXXX原(2) 整数的原码表示定义:022022XXXXXXnnnn原例1:X1=+0.01101X1原=0.01101X2= -0.01101X2原=1.01101例2:X3=+101110X3原=0101110X4= -101101X4原=1101101N=5N=610原码表示法 Signed-Magnitude Representation小数的原码表示011011XXXXXX原整数的原码表示022022XXXXXXnnnn原 (3) 零的原码表示零的原码表示真值零的原码表示有正零和负零两种表示形式。 小数: +0

14、原=0.000, -0原=1.000 整数: +0原=0000, -0原=1000(4) 原码表示的数值范围原码表示的数值范围n+1位原码小数能表示的数的范围:+(12n)(12n)n+1位原码整数能表示的数的范围是:+(2n1)(2n1)n+1位原码只能表示2n+11个数11反码表示法反码表示法 Signed-1s complement Representation(1) 小数的反码表示定义:0110)22(XXXXXn反 (2) 整数的反码表示定义:0220) 12(1XXXXXnnn反正数的反码表示与原码表示相同。负数的反码表示是符号位为1,其余数位逐位变反,0变1,1变0。例3:X1=

15、+0.01001X1反=0.010010X2= -0.01001X2反=1.101101N=6例4:X3=+101010X3反=00101010X4= -101101X4反=11010010N=712反码表示法反码表示法 Signed-1s complement Representation小数的反码表示0110)22(XXXXXn反整数的反码表示0220) 12(1XXXXXnnn反(3) 零的反码表示零的反码表示真值零的反码表示也有正零和负零两种表示形式。 小数: +0反=0.000, 0反=1.111 整数: +0反=0000, 0反=1111反码表示的数值范围反码表示的数值范围与原码相

16、同与原码相同:n+1位反码只能表示2n+11个数小数:+(12n)(12n)整数:+(2n1)(2n1)13补码表示法补码表示法 Signed-2s complement Representation1模模和同余同余 一个计量器的容量或一个计量单位叫做模数模数(Module),简称模模,记作M或mod。一个n位的二进制计数器的模是2n。 对于两个整数a、b,若用某一正数M去除,所得的余数相同,则称a、b对模M是同余同余的。当a、b对模M同余时,就称a、b在以M为模时是相等的,记作 a=b (mod M)。可推出,a+M=a (mod M)当a为负数时,例如a=2 例如,a=14,b=24,M=

17、10,则用10去除a和b,余数都是4,所以14和24在以10为模时是同余的,记作 14=24 (mod 10)。a+2M=a (mod M)当a=0时,有0=M (mod M)。2+10=2 (mod 10) 8=2 (mod 10)142小数的补码表示定义:)2(mod011022XXXXXX补实际上,二进制纯小数的模是1,但如果把符号位也算作一位数时,模就是2。所以,无论X是正数还是负数,X补=2+X 都成立。例5:X1=+0.01001X1补=0.010010X2= -0.01001X2补=1.101110N=6已知真值求补码的方法: 正数的原码、补码和反码的形式是相同的,可根据其真值直

18、接写出原码、补码和反码。负数,先求出其反码,然后在最低位加1即可。152小数的补码表示定义:)2(mod011022XXXXXX补实际上,二进制纯小数的模是1,但如果把符号位也算作一位数时,模就是2。所以,无论X是正数还是负数,X补=2+X 都成立。3整数的补码表示)2(mod022022111nnnnnXXXXXX补定义:例5:X1=+0.01001X1补=0.01001X2= -0.01001X2补=1.10111N=5例6:X3=+101010X3补=00101010X4= -101100X4补=11010100N=7对于任意一个数X,X补=X+M (mod M)。16小数的补码表示)2

19、(mod011022XXXXXX补整数的补码表示)2(mod022022111nnnnnXXXXXX补4零的补码表示零的补码表示零的补码只有一种形式小数: 0补= 0.000整数: 0补= 000005补码表示的数值范围补码表示的数值范围小数: (12n) -1, 1.0X -1.0整数: +(2 n1) -2 n , 2 nX -2 nn+1位补码可表示2n+1个数。补码表示法 Signed-2s complement Representation178位二进制整数补码能表示的范围是 -128127。 注意,小数 -1.0的补码是1.0000000,整数 -128的补码是10000000,

20、-2 n的补码是10000,这些数是原码所不能表示的已知真值求补码的方法: 正数的原码、补码和反码的形式是相同的,可根据其真值直接写出原码、补码和反码。负数,先求出其反码,然后在最低位加1即可。已知已知X的补码求其真值的方法与由真值求补码的方法相同,的补码求其真值的方法与由真值求补码的方法相同, 即即“正数不变,负数除符号位外逐位变反再在最低位加正数不变,负数除符号位外逐位变反再在最低位加1”。 在计算机中,通常采用补码进行加减法运算,这是因为补码加减法运算的规则简单,无需判断符号和绝对值大小无需判断符号和绝对值大小,而且符号符号位与数值部分一同运算位与数值部分一同运算。8位二进制小数补码能表

21、示的范围是 -1.0 +(127)18移码表示法移码表示法定义:X移2nX-2nX2n 移码(Biased Exponent)就是在真值X上加一个常数2n,相当于X在数轴上向正方向平移了2n个单位。常数2n称为偏置值。2n+1-1002n-2n2n-1XX移移码又称为增码、偏码与补码的定义比较:022021XXXXXnnn补当0X2n时,X移2nX = 2nX补当-2nX0时,X移2nX=(2n+1X)2n = X补2n 移码表示和补码表示的符号位正好相反,正数移码的符号位为1,负数移码的符号位为0。除符号位相反外,其它各位相同。因此,只要把X补的符号位变反,即得X移。19例:X1=+1010

22、1X1补=X1移=(N+1=6)X2= -100000X2补=X2移=移码的特点: 最高位为符号位,1表示正,0表示负。移码的表示范围与补码相同,n+1位移码可表示2n+1个数。 移码为全0时对应的真值最小(绝对值最大的负数);全1时对应的真值最大。移码直观地反映了真值的大小。 真值零的移码表示形式唯一。+0移=-0移=1000。 移码把真值映射到一个正数域,可看作无符号数。在浮点运算中,可以象比较无符号数一样比较两个用移码表示的阶码的大小。 同一数值的移码和补码除符号位相反外,其它各位相同。01010111010110000000000020移码、补码、原码和真值对照表真值XX原码X补码X移

23、码12710-1-127-128-00111111100000001000000001000000111111111100000000111111100000001000000001111111110000001100000000000000011111111100000011000000001111111000000010000000010000000(N+1=8)21移位运算移位运算 移位移位(Shift)是计算机中的一种基本操作,各种计算机的指令系统都设置有移位操作命令。移位操作可分成两大类,逻辑移位和算术移位。在逻辑移位逻辑移位中,只有数码位置的变化而无数量概念的变化。无论是数值数据还

24、是非数值数据,在逻辑移位时都看作一串代码。在算术移位算术移位中,应保持数据的符号不变保持数据的符号不变,只改变数据的值。如果不产生溢出,数据左移一位相当于乘2;数据右移一位相当于除以2。可利用移位操作实现乘以或除以2(或2的整数次幂)的运算。无符号数的算术移位没有保持符号的问题,可用逻辑移位实现。当数据以原码、补码或反码表示时,算术移位的规则有所不同。原则是必须保持真值正确保持真值正确。一、逻辑移位和算术移位一、逻辑移位和算术移位22二、二、 补码表示的数的移位规则补码表示的数的移位规则 左移符号位 MSB LSBM0MnM10 尾数部分逐位左移一位,最高有效位MSB移入符号位,最低位LSB补

25、0。 右移 符号位保持不变,尾数部分逐位右移一位,最低有效位LSB移出舍去,符号位移入MSB。符号位 MSB LSBMnM1M0舍去 如果移位后符号位改变,表明发生溢出,这在算术移位中是不允许的。Most Significant bitLeast Significant bit23三、三、 原码表示的数的移位规则原码表示的数的移位规则 左移对于原码表示的正数正数,移位规则为:符号位 MSB LSBM0MnM10对于原码表示的负数负数,移位规则为:符号位 MSB LSBM0MnM1变反0 尾数部分逐位左移一位,最高有效位MSB移入符号位,最低位LSB补0。如果移位后符号位改变,表明发生溢出。 尾

26、数部分逐位左移一位,最高有效位MSB移出后变反移入符号位,最低位LSB补0。如果移位后符号位改变,表明发生溢出。24 右移 符号位保持不变,尾数部分逐位右移一位,最低有效位LSB移出舍去,最高位MSB补0。三、原码表示的数的移位规则三、原码表示的数的移位规则0符号位 MSB LSBMnM1M0舍去25四、四、 反码表示的数的移位规则反码表示的数的移位规则 左移对于反码表示的正数,移位规则为:符号位 MSB LSBM0MnM10对于反码表示的负数,移位规则为:符号位 MSB LSBM0MnM11 尾数部分逐位左移一位,最高有效位MSB移入符号位,最低位LSB补1。如果移位后符号位改变,表明发生溢

27、出。 尾数部分逐位左移一位,最高有效位MSB移入符号位,最低位LSB补0。如果移位后符号位改变,表明发生溢出。26 右移四、反码表示的数的移位规则四、反码表示的数的移位规则 符号位保持不变,尾数部分逐位右移一位,最低有效位LSB移出舍去,符号位移入MSB。符号位 MSB LSBMnM1M0舍去27浮点表示浮点表示 Floating-Point Representation 浮点表示法是把比例因子以适当的形式表示在数据中,并根据每个数据的具体要求对小数点进行浮动。采用浮点数的机器称为浮点计算机。任意一个R进制数都可通过移动小数点的位置写成:N= MRE R是基数(Radix),一般取2,8或16

28、,是由机器定义的,不能改变,也不出现在数据表示中。M是尾数(Mantissa),它表示了数N的全部有效数字。E是阶码(Exponent),它指出小数点在该数中的位置。The floating-point representation of a number has two parts. The first part represents a signed, fixed-point number called the mantissa. The second part designates the position of the decimal (or binary) point and is

29、called exponent. 28尾符 阶符 阶码的数值部分 小数点 尾数的数值部分浮点数在计算机中的表示格式有两种:阶符 阶码的数值部分 尾符 小数点 尾数的数值部分MSESE1 EnM2 MmM1ESE1 EnM2 Mm MS M1尾数用定点纯小数原码或补码表示,尾数用定点纯小数原码或补码表示,阶码用定点纯整数补码或移码表示。阶码用定点纯整数补码或移码表示。浮点数的格式浮点数的格式29浮点数的表示范围浮点数的表示范围浮点数的精度主要取决于尾数的位数,浮点数所能表示的数值范围主要取决于阶码的位数。 若基数为2,阶码(包括一位符号位)为n+1位补码补码,尾数(包括一位符号位)为m+1位原码

30、原码,则能表示的数的范围是:12max2)21 (nmX12min2)21 (nmX尾数最大的绝对值为12 -m尾数最小的绝对值为2 -m最大的阶码为12 n最小的阶码为n2在位数相同的情况下,浮点数的表示范围比定点数大。如果浮点数的尾数和阶码都用补码补码表示,则12max2)21 (nmX12min21nX最小正数为nm22230用类似的方法,不难得出基数为8或16时浮点数的表示范围。例:一个32位的浮点数,阶码为7位(包括1个符号位)二进制补码,基数为2,尾数为25位(包括1个符号位)二进制原码,求该浮点数的表示范围。解:能表示的最小的绝对值886424224min222226X63241

31、224max2)21 (2)21 (6X能表示的最大正数6324min2)21 (X能表示的绝对值最大的负数The advantage of floating-point representation over fixed-point (and integer) representation is that it can support a much wider range of values.31规格化浮点数规格化浮点数同一个浮点数可有多种表示形式。如,0.50可表示为0.05101或50102等。对于非0的浮点数用一个唯一的标准形式来表示,称为规格化数当尾数的值不为0时,其绝对值应大于或等于0.5。Normalized问题:表示形式不唯一,精度不等。表示形式唯一,精度最高,运算规则简单。A floating-point number is said to be normalized if the most significant digit of the mantissa

温馨提示

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

评论

0/150

提交评论