您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 《计算机组成原理》 第四版 科学出版社版 第2章 课件
第2章运算方法和运算器1第2章运算方法和运算器第2章运算方法和运算器2第2章运算方法和运算器§1数据与文字的表示方法§2定点加法减法运算§3定点乘法运算§4定点除法运算§5定点运算器的组成§6浮点运算方法和浮点运算器第2章运算方法和运算器3§1数据与文字的表示方法2.1.1数据格式2.1.2数的机器码表示2.1.3字符与数据串的表示方法2.1.4汉字的表示方法2.1.5校验码第2章运算方法和运算器42.1.1数据格式计算机常用的数据表示格式有两种:浮点表示:小数点位置不固定定点表示:小数点位置固定第2章运算方法和运算器51.定点数的表示方法:所有数据的小数点位置固定不变理论上小数点位置可以任意,但实际上数据表示有两种方法纯小数纯整数第2章运算方法和运算器6定点数的表示方法(续)定点表示法的特点:–定点表示的精度有限–机器中,常用定点纯整数表示;–定点数表示数的范围受字长限制,表数范围有限;第2章运算方法和运算器72.浮点数的表示方法–浮点数的引出:–相差甚远,在定点计算机中无法直接来表示这个数值范围。–要使它们送入定点计算机进行某种运算,必须对它们分别取不同的比例因子,使其数值部分绝对值小于1。第2章运算方法和运算器8浮点表示:小数点位置随阶码不同而浮动•图2-5浮点数据在机器中的表示形式N=RE.M基数R指数E尾数M第2章运算方法和运算器9•因为计算机采用二进制,所以R的取值一般为2、8、16。•国际标准:R=2其中:R(radix)------------基数E(exponet)--------阶码M(mantissa)------尾数第2章运算方法和运算器10IEEE754标准(规定了浮点数的表示格式,运算规则等)规则规定了单精度(32位)双精度(64位)的基本格式.规则中,尾数用:纯小数、原码阶码用:整数、移码第2章运算方法和运算器11图2-7浮点的IEEE754标准基数R=2,基数固定,采用隐含方式来表示它。MESMES31302322063625251032位浮点数64位浮点数符号位阶码尾数第2章运算方法和运算器12一个规格化的32位浮点数x的真值表示为其中包含了隐藏到符号位技术x=(-1)S×(1.M)×2E-127e=E-127第2章运算方法和运算器13•真值x为零表示:当阶码E为全0且尾数M也为全0时的值,结合符号位S为0或1,有正零和负零之分。真值x为无穷大表示:当阶码E为全1且尾数M为全0时,结合符号位S为0或1,也有+∞和-∞之分。第2章运算方法和运算器14规格化•由于小数点的浮动,同一个数的表示是不惟一的。必须规定一下,使表示唯一。•同时考虑提高数据的表示精度。规定:尾数用纯小数原码表示小数点后第一位必须是1比如:0.5=0.05×101=50×10-2表示为:(0.1×20)2第2章运算方法和运算器15这样在32位浮点数表示中,要除去E用全0和全1(255)10表示零和无穷大的特殊情况。指数的偏移值不选128(10000000),而选127(01111111)。对于规格化浮点数,E的范围变为1到254,真正的指数值e则为-126到+127。浮点数的指数E第2章运算方法和运算器16因此32位浮点数表示的绝对值的范围是浮点数的表数范围10-38~10+38(以10的幂表示)第2章运算方法和运算器17【例1】若浮点数x的754标准存储格式为(41360000)16,求其浮点数的十进制数值。[解]:将16进制数展开后,可得二制数格式为01000001001101100000000000000000S阶码(8位)尾数(23位)指数e=阶码-127=10000010-01111111=00000011=(3)10第2章运算方法和运算器18尾数以及X的值包括隐藏位1的尾数1.M=1.01101100000000000000000=1.011011于是有x=(-1)S×1.M×2e=+(1.011011)×23=+1011.011=(11.375)10第2章运算方法和运算器19【例2】将数(20.59375)10转换成754标准的32位浮点数的二进制存储格式。[解]首先分别将整数和分数部分转换成二进制数:20.59375=10100.10011然后移动小数点,使其在第1,2位之间:10100.10011=1.010010011×24e=4第2章运算方法和运算器20例2(续)于是得到:S=0E=4+127=131=1,0000011M=010010011最后得到32位浮点数的二进制存储格式为:01000001101001001100000000000000=(41A4C000)16第2章运算方法和运算器212.1.2数据的机器码表示•真值:一般书写的数。x•机器码:机器中表示的数,要解决在计算机内部数的正、负符号和小数点运算问题。[x]原•把符号位和数值位一起编码来表示相应的数的各种表示方法:•1.原码2.反码•3.补码4.移码第2章运算方法和运算器221、原码表示法定点整数xnxn-1x…..x1x0第2章运算方法和运算器23•【例】•x=+1001则[x]原=0,0001001•x=-1001则[x]原=1,0001001••原码特点:符号为:0表示正、1表示负数。数值为:真值的绝对值。–表示简单,易于同真值之间进行转换,实现乘除运算规则简单。–进行加减运算十分麻烦。第2章运算方法和运算器242、反码表示法•正数的反码与原码相同•负数的反码为:负数的原码的数值位相反如:x1=+01011x2=-01011则:[x1]反=0,0001011[x2]反=1,1110100•反码不方便,很少使用。第2章运算方法和运算器253、补码表示法•对于定点整数xnxn-1x…..x1x0第2章运算方法和运算器26•例如:x1=+01011x2=-01011则:[x1]补=0,0001011[x2]补=1,1110101符号位xs=0正数1负数正数的补码同原码。负数的补码:符号位为1、数值部分为真值的二进制“变反加一”求得。第2章运算方法和运算器27•补码的最大的优点就是:将减法运算转换成加法运算。•[X]补-[Y]补=[X]补+[-Y]补•无正零和负零之分•但是,再求补码还要减法,电路繁琐第2章运算方法和运算器284、移码表示法(用在阶码中)•对于定点整数xnxn-1x…..x1x0•[X]移=2n+X2nX≥-2n第2章运算方法和运算器29例如:x1=+10101x2=-10101则:[x1]移=1,0001011[x2]移=0,1110100移码的符号位,同原、反、补码“相反”。数值部分,同补码。换句话说,移码表示是将真值x在数轴上向正方向平移了2n后得到的。这就是移码的来历。第2章运算方法和运算器30编码原码反码补码移码00000000+000-12800000001+1+1+1-12701111111+127+127+127-110000000-0-127-128011111110-126-1-2+12611111111-127-0-1+127第2章运算方法和运算器31移码的优点编码范围0-------255,刚好把真值映射到正整数域。因此,移码的大小直观地反映了真值的大小。换句话说:编码的大小就是移码的大小。第2章运算方法和运算器32【例9】假设由S,E,M三个域组成的一个32位二进制字所表示的非零规格化浮点数x,真值表示为(非IEEE754标准):x=(-1)s×(1.M)×2E-128问:它所表示的规格化的最大正数、最小正数、最大负数、最小负数是多少?第2章运算方法和运算器33•(1)最大正数•01111111111111111111111111111111•x=[1+(1-2-23)]×2127•(2)最小正数•00000000000000000000000000000000•x=1.0×2-128•(3)最小负数•11111111111111111111111111111111•x=-[1+(1-2-23)]×2127•(4)最大负数10000000000000000000000000000000•x=-1.0×2-128第2章运算方法和运算器342.1.3字符与字符串的表示方法键盘上的字符如何表示:①控制字符。②阿拉伯数码③英文字母④商业字符第2章运算方法和运算器351.ASCIIAmericanStandardCodedforInformationInterchange美国标准信息交换码第2章运算方法和运算器36ASCII码(续)美国标准信息交换码是7位编码。27=128,所以共128种。十进制0---127。十六进制00H----7FH。其中:00H---1FH为32个控制字符。其余的为可打印字符。第2章运算方法和运算器37十个数码符号“0”--------30H=0110000B“1”--------31H=0110001B“2”--------32H=0110010B…………“8”--------38H=0111000B“9”--------39H=0111001B第2章运算方法和运算器3852个英文字母大小写“A”=1000001B=41H“B”=1000010B=42H“C”=1000011B=43H“D”=1000100B=44H“E”=1000101B=45H“F”=1000110B=46H第2章运算方法和运算器39若干控制字符回车CR=0DH换行LF=0AH退格BS=08H空格SP=20H美元符“$”=24H第2章运算方法和运算器402.字符串的表示一个字符占8位,叫一个字节(BYTE)。字符串就是句子了。是连续的一串字符。它们在内存中占连续的多个字节。欧洲扩展到了8位。因此,有256种字符的编码。第2章运算方法和运算器412.1.4汉字的表示方法汉字有6万多个。一个字节表示不了。故用双字节表示。最早为了与西文兼容,考虑了多种方案。第2章运算方法和运算器42汉字的表示方法(续)D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0xx最高位xx最高位第2章运算方法和运算器43两个字节的最高位,共有4种组合00011011其中00为西文汉字的表示方法(续)第2章运算方法和运算器44汉字的表示方法(续)后来有Unicode,将世界上各种字符包含进去。故要表示汉字,01、10、11均可以。为了简单,采用了11。因此,最多编码有:214=16384种,现代汉字已经够用了。第2章运算方法和运算器451.汉字国标码如:GB2312—80。(1981年公布)共收常用汉字6763个。其中,一级汉字3755个。拼音顺序二级汉字3008个。部首顺序图形符号682个。比如:汉字“啊”国标码为30H、21H,第2章运算方法和运算器462.汉字机内码汉字信息的存储,交换和检索的机内代码,两个字节组成,每个字节高位都为1(区别于英文字符ASCII)。第2章运算方法和运算器47汉字机内码(续)汉字可以通过不同的输入码输入,但是在计算机内部其内码是惟一的。比如:汉字“啊”国标码为30H、21H。汉字机内码=汉字国标码+8080H其机内码为:B0A1H。(字节最高位加1)第2章运算方法和运算器483.汉字的输入编码区位码:“中”=5448拼音码:以汉语拼音为基础。目前,主要以词进行输入。字形编码:如“五笔字型”输入编码。输入编码,通过键盘和软件将汉字输入,并转换成机内码。第2章运算方法和运算器494.汉字字模码汉字字模码是用点阵表示的汉字的字形代码。是汉字的输出形式。第2章运算方法和运算器502.1.5校验码引入:信息传输和处理过程中受到干扰和故障,容易出错。如:外界的闪电、火花干扰等。第2章运算方法和运算器51校验码(续)解决方法:要在数据编码上找出路。在有效信息中加入一些冗余信息(校验位)第2章运算方法和运算器521.检错和纠错首先要发现错误-----检错。其次要纠正错误-----纠错首先,要发现错误。即检错。其次,要能准确地确定出错的位置,进而实现纠错。第2章运算方法和运算器532.奇偶校
本文标题:《计算机组成原理》 第四版 科学出版社版 第2章 课件
链接地址:https://www.777doc.com/doc-3178684 .html