您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 计算机组成与结构第2章_运算方法与运算器.
第2章运算方法和运算器2019年12月17日星期二2目录2.0数据的类型2.1数据与文字的表示方法(掌握)2.2定点加法、减法运算(掌握)2.3定点乘法运算(理解)2.4定点除法运算(理解)2.5定点运算器的组成(了解)2.6浮点运算方法和浮点运算器(掌握)2019年12月17日星期二3学习要求掌握定点和浮点数的表示方法,表示范围;掌握定点数的补码加减法、常用的乘除法运算方法;掌握浮点数的加减运算方法;掌握数据校验的方法;理解溢出判断方法;清楚运算器部件的组成结构及设计方法。2019年12月17日星期二42.0数据的类型(1/2)按数制分:十进制:在微机中直接运算困难;二进制:占存储空间少,硬件上易于实现,易于运算;十六进制:方便观察和使用;二-十进制:4位二进制数表示1位十进制数,转换简单。按数据格式分:真值:没有经过编码的直观数据表示方式,其值可带正负号,任何数制均可;机器数:符号化后的数值(包括正负号的表示),一般位数固定(8、16、32……),不能随便忽略任何位置上的0或1;2019年12月17日星期二52.0数据的类型(2/2)按数据的表示范围分:定点数:小数点位置固定,数据表示范围小;浮点数:小数点位置不固定,数据表示范围较大。按能否表示负数分:无符号数:所有均为表示数值,直接用二进制数表示;有符号数:有正负之分,最高位为符号位,其余位表示数值。按编码不同又可分为原码、反码、补码、移码……2019年12月17日星期二62.1数据与文字的表示方法2.1.1数据格式2.1.2数的机器码表示2.1.1数据格式2.1.3字符与字符串的表示方法2.1.4汉字的表示方法2.1.5校验码2019年12月17日星期二7定点数:小数点固定在某一位置的数据;纯小数:表示形式有符号数x=xSx-1x-2…x-n0≤|x|≤1-2-n;xs为符号位无符号数x=x0x-1x-2…x-n0≤x≤1-2-n;xs为符号位数据表示范围0.0…0=0≤|x|≤1-2-n=0.1…1纯整数:表示形式有符号数x=xsxn-1…x1x0|x|≤2n-1;xs为符号位无符号数x=xnxn-1…x1x00≤x≤2n+1-1;xn为数值位注意:小数点的位置是机器约定好的,并没有实际的保存。x0x-1x-2x-3……x-nxnxn-1xn-2……x1x02.1.1数据格式——定点数设采用n+1位数据2019年12月17日星期二8定点机的特点所能表示的数据范围小使用不方便,运算精度较低存储单元利用率低2019年12月17日星期二92.1.2数的机器码表示重点:1、原码、补码、移码的表示形式2、补码的定义3、原码、补码、移码的表示范围2019年12月17日星期二101、原码表示法——定义定义:定点小数:[x]原=定点整数:[x]原=举例:[+0.110]原=0.110[-0.110]原=1-(-0.110)=1.110[+110]原=0110[-110]原=23-(-110)=1000+110=1110x1x≥01-x=1+|x|0≥x-1x2nx≥02n-x=2n+|x|0≥x-2n实际机器中保存时并不保存小数点xnxn-1xn-2……x1x02019年12月17日星期二111、原码表示法——特点0有两种表示法[+0]原=0000;[-0]原=1000数据表示范围定点小数:-1X1定点整数:-2nX2n(若数值位n=3即:-8X8)优点与真值对应关系简单;缺点参与运算复杂,需要将数值位与符号位分开考虑。2019年12月17日星期二12要将指向5点的时钟调整到3点整,应如何处理?5-2=35+10=3(12自动丢失。12就是模)补码表示法的引入(1/3)2019年12月17日星期二13继续推导:5-2=5+10(MOD12)5+(-2)=5+10(MOD12)-2=10(MOD12)结论:在模为12的情况下,-2的补码就是10。一个负数用其补码代替,同样可以得到正确的运算结果。补码表示法的引入(2/3)2019年12月17日星期二14进一步结论:在计算机中,机器能表示的数据位数是固定的,其运算都是有模运算。若是n+1位整数(包含符号位),则其模为2n+1;若是小数,则其模为2。若运算结果超出了计算机所能表示的数值范围,则只保留它的小于模的低n位的数值,超过n位的高位部分就自动舍弃了。补码表示法的引入(3/3)2019年12月17日星期二152、补码表示法——定义定义:定点小数:[x]补=定点整数:[x]补=举例:[+0.110]补=0.110[-0.110]补=10+(-0.110)=1.010[+110]补=0110[-110]补=24+(-110)=10000-110=1010x1x≥02+x=2-|x|0≥x≥-1x2nx≥02n+1+x=2n+1-|x|0≥x≥-2nx为n+1位(mod2)(mod2n+1)实际机器中保存时并不保存小数点xnxn-1xn-2……x1x02019年12月17日星期二162、补码表示法——特点0有唯一的表示法[-0]补=[24+(-0)]mod24=0000=[+0]补数据表示范围定点小数:-1≤X1定点整数:-2n≤X2n(若n=3,则-8≤X8)加减运算规则[X±Y]补=[X]补±[Y]补(mod2)只要结果不溢出,可将补码符号位与数值位一起参与运算。[[x]补]补=[x]原补码除2操作,可通过算术右移实现[-0.0110]补=11010,则[(-0.0110)/10]补=11101,真值为-0.0011比原码多一个负的最小值表示,其编码为10002019年12月17日星期二17n位二进制数x,则取反后应该是2n–1–x,再加1就是y=2n–1–x+1;y取反后应该是2n–1–y,再加1就是z=2n–1–y+1;z=2n–1–(2n–1–x+1)+1=x;2019年12月17日星期二180的补码唯一纯小数﹢0和﹣0的补码表示:[+0]补=[-0]补=2﹣0.00…0=0.00…0纯整数﹢0和﹣0的补码表示:[+0]补=[-0]补=2n+1﹣00…0=00…0-1和2n的表示:[-1]补=2+(-1)=10.00…0+(-1.00…0)=1.00…0[-2n]补=2n+1+(-2n)=1000…0+(-100…0)=100…02019年12月17日星期二19由原码求补码由原码求补码的简便原则(负数)除符号位以外,其余各位按位取反,末位加1;从最低位开始,遇到的第一个1以前的各位保持不变,之后各位取反。例:[X]原=110110100[X]补=1010011002019年12月17日星期二20由[X]补求[-X]补连符号位一起各位求反,末位加1。例:[X]补=1.1010101解:由[-X]补求[X]补,此规则同样适用。求相反数的补码[X]补=1101010100101010+1[-X]补=001010112019年12月17日星期二213、移码表示法移码通常用于表示浮点数的阶码用定点整数形式的移码定义:[x]移=2n+x2nx≥-2n与[x]补的区别:符号位相反优点:可以比较直观地判断两个数据的大小;浮点数运算时,容易进行对阶操作;表示浮点数阶码时,容易判断是否下溢;当阶码为全0时,浮点数下溢。真值补码移码-810000000-710010001-610100010………………000001000+100011001………………+7011111114位补码与移码xnxn-1xn-2……x1x02019年12月17日星期二22原、补、移码的编码形式正数:原、补码的编码完全相同;补码和移码的符号位相反,数值位相同;负数:原码:符号位为1数值部分与真值的绝对值相同补码:符号位为1数值部分与原码各位相反,且末位加1移码:符号位与补码相反,数值位与补码相同2019年12月17日星期二23课本P22例6以定点整数为例,用数轴形式说明原码、反码、补码、移码表示范围和可能的数码组合情况。2019年12月17日星期二242019年12月17日星期二24课本P22例7将十进制真值(-127,-1,0,+1,+127)列表表示成二进制数及原码、反码、补码、移码值。十进制真值二进制真值原码表示反码表示补码表示移码表示-127-111111111111111100000001000000100000001-1-0000001100000011111111011111111011111110+000000000000000000000000000000010000000-00000001000000011111111+1+000000100000001000000010000000110000001+127+111111101111111011111110111111111111111符号位+0;-1数值位各位取反数值位末位加1符号位(正负数)取反负数时2019年12月17日星期二25P22例8设机器字长16位,定点表示,尾数15位,数符1位,问:(1)定点原码整数表示时,最大正数是多少?最小负数是多少?(2)定点原码小数表示时,最大正数是多少?最小负数是多少?0111111111111111111111111111111101111111111111111111111111111111(215-1)=+32767-(215-1)=-32767(1-2-15)=+(1-1/32768)-(1-2-15)=-(1-1/32768)定点原码整数最大正数最小负数定点原码小数最大正数最小负数2019年12月17日星期二262.1.1数据格式——浮点数浮点数:小数点位置可变,形如科学计数法中的数据表示。浮点数格式定义:N=Re×MM:尾数(mantissa),是一个纯小数,表示数据的全部有效数位,决定着数值的精度;R:基数(radix),可以取2、8、10、16,表示当前的数制;微机中,一般默认为2,隐含表示。e:阶码(exponent),是一个整数,用于指出小数点在该数中的位置,决定着数据数值的大小。机器数的一般表示形式阶符阶码数符尾数数符阶符阶码尾数2019年12月17日星期二27科学计数法的表示一个十进制数可以表示成不同的形式:同理,一个二进制数也可以有多种表示:3310()123.456123456100.12345610N1001002()1101.00111101001120.1101.00112N2019年12月17日星期二28浮点数规格化浮点数的表示1.11×20=0.111×21=11.1×2-1机器数的表示不同,不利于运算规格化的目的保证浮点数表示的唯一性;保留更多地有效数字,提高运算的精度。规格化要求1/R≤|尾数|1;规格化处理:尾数向左移n位(小数点右移),同时阶码减n;尾数向右移n位(小数点左移),同时阶码加n。规格化右规左规2019年12月17日星期二29浮点数的规格化尾数用原码表示时尾数最高数值位为1;尾数形如0.1××…×(正);或1.1××…×(负);例如,0.011×25要规格化则变为0.11×24;-0.011×25要规格化则变为1.11×24;尾数用补码表示时尾数最高数值位和尾数符号位相反;尾数形如0.1××…×(正);或1.0××…×(负)例如,0.011×25要规格化,则变为0.11×24;-0.011×25要规格化,则变为1.01×24;2019年12月17日星期二30浮点数的数据表示范围0最大负数最小正数最小负数最大正数下溢区上溢区上溢区负数区正数区尾数负的最小值负的最大值正的最小值正的最大值阶码正的最大值负的最小值负的最小值正的最大值浮
本文标题:计算机组成与结构第2章_运算方法与运算器.
链接地址:https://www.777doc.com/doc-2043952 .html