【文档说明】《计算机体系结构》第二章课件.ppt,共(83)页,1.044 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-7215.html
以下为本文档部分文字说明:
第二章数据表示与指令系统§1数据表示一、数据表示的确定1.何谓数据表示由硬件直接识别和处理(引用)的数据类型,2.数据表示的主要类型1)常用数据表示:定点数、字符串、浮点数等。2)高级数据表示:自定义、向量、堆栈数据表示3.数据表示与系统结构的关系1)数据表示是硬
件设计基础2)数据表示是指令加工的对象4.数据表示确定在进行软件和硬件的功能分配时,计算机系统结构设计应考虑在机器中设置哪些数据表示,使之能对应用中用到的数据结构有高的实现效率。在定点、浮点、字符串、逻辑、十进制等基本数据
表示的基础之上,根据应用的需要,考虑在机器中引入哪些高级的数据表示,以便能为数据的实现提供更好的支持(通用性和利用率是否较高)。1)一般计算机要选用常用的数据表示;2)对较高级的数据表示要有针对选取。①当处理的数据类型较多时,可选自定义的数据。②当对向量数据处理较多时,可
选向量数据表示。③当逆波兰表达式处理较多时,可选堆栈数据表示。二、自定义数据表示自定义数据表示是为缩短高级语言和机器语言的语义差距引出来的。它又有标志符数据表示和数据描述符两类。1.标志符1)格式①类型标志②数据值类型标志数据值2)标志位位数选取①简单
的用三位标志符区分8种(23)类型②根据需要选取更多位类型标志数据值BCD码无符号数0110100001101000104十进制68(两位)如:3)使用标志位的优缺点可简化指令系统与编译程序,便于不同数据
类型的自动校验与转换。缺点:一个标志位只能对一个数据进行描述,其描述效率不高。特征位块属性块首址块长度数据块格式:2.描述符①特征位:用来区分描述符还是非描述符。当为描述符时,才有后面的三个字段,如某机采用101表示描述
符的特征位。②块长度:描述数据块的个数。③块首址:第一个数据单元的地址。④块属性:描述数据的特征。1101数据0002)使用描述符的好处①描述相同类型的数据时,描述效率高;②利用块属性也有利于对信息的保护;③可当作直接寻址及间接寻址使用。直接寻址:根据描述符给出数据块的首址,直接寻址。存
储器一次间接存储器两次间接:描述符给出的仍是数据描述符④可描述阵列数据:描述一个阵列可用一级、二级描述符描述。a00…a03A=┇a30…a3311011101数据000数据000110111011101一级描述符(要求数据连续存放)00016101000a00000a01:a33:.410
14101410141014101000a12000a13000a10000a11000a22000a23000a20000a21000a32000a33000a30000a31000a02000a03000a00000a01二级描述符2101161011610
1000000a00000a01:a33:.000000b00000b01:b33:.第一级第二级分别利用两级描述符和三级描述符描述下列阵列数据。a00a01a02a03b00b01b02b03a10a11a12
a13b10b11b12b13A=a20a21a22a23B=b20b21b22b23a30a31a32a33b30b31b32b33§2计算机系统的发展途径一、从提高CPU的利用率出发二、从单机向多机发展§3影响计算机系统结构发展的因素一、程序的可移
植性的影响二、应用对系统结构的影响三、器件发展的影响第二章数据表示与指令系统§1数据表示一、数据表示的确定二、自定义数据表示1.解:1)两级描述符:21011610116101000000a00000a01:a33:.000000b00000b01:b33:.第一级第二级
21011610116101:第一级第二级a00a01...a33b00b01...b33000000或:2)三级描述符b30b31b32b33210141014101第一级第二级41014101410141014101410141014101第三级B第三级Aa00a01
a02a03a30a31a32a33b00b01b02b03三、向量数据表示1.含义:有序排列的数据元素称为向量(向量数据)2.向量数据的三要素:1)基地址:存放第一个向量数据的地址;2)向量长度:向量数据
个数;3)位移量:与基地址的距离。3.根据三要素可推出参数1)起始地址=基地址+位移量,实际参与本次操作的第一个数据(元素)的地址;2)有效向量长度=向量长度-位移量,实际参与本次操作的向量数据个数。4.向量运算指令STAR—100机共有16个向量寄存器,每个寄存器用四位二进制数表示。1)
格式:FGXAYBZCa3a2a1a0a9...有效长度为7位移量为3基地址起始地址长度为102)说明:F:主操作码字段,表示向量指令操作性质。G:辅操作码字段(根据结果,进行转移等)X:存放源向量A长度及基址的寄存器号。Y:存放源向量B长度及基址的寄存器号。A:源向
量A位移量所在寄存器号。B:源向量B位移量所在寄存器号。Z:控制向量长度(在G有效时)。C:存放结果向量C长度及基地址的寄存器号。FGXAYBZC3)例子:完成以下向量运算。A,B向量分布如右图示。c0=a3+b1c1=a4+b2
┇c7=a10+b8设:编译程序测出8、9、10、11、12号寄存器空闲,并分别存放X、A、Y、B、C,画出各寄存器及指令的内容。a3a2a1a0a10...A向量1000Hb3b2b1b0b8...B向量2000Hc3c2c1c0c7...C向量3000HFGXAYBZC解:①向量寄存器分配
(无G)X=1000B111000H8#A=1001BY=1010BB=1011BC=1100B39#10#11#12#92000H183000H②向量指令格式填写FGXAYBZC向量加100010011010101111005.稀疏向量的压缩1)稀疏向量含义:具有多个0元素的向
量。2)压缩办法:利用有序“位向量”来指明稀疏向量中各元素的状况及所在位置。①位向量的位数与向量长度相等。②某元素为0时,对应位向量的位为0。某元素为非0时,对应位向量的位为1。如:稀疏向量a000a30a5a60
有序位向量:占用5个单元节省3个单元1001011056-1127834a0=56a3=-112a5=78a6=34目的:*可节省存储空间;*实际长度减少可加快运算速度。压缩向量四、堆栈数据表示1.含义:凡是按先进
后出方式工作的特殊(存储)区域称为堆栈。2.堆栈组成方式:1)寄存器堆栈,全由寄存器构成,速度快,扩充栈容成本高。2)寄存器与存贮器结合堆栈。①寄存器速度快作栈顶(需数个栈顶寄存器)。②存贮器价格低扩充栈容易。3.堆栈的生长方式通常采用向下生长方式:压入数据后,堆栈指针SP向地
址减少方向变化。4.堆栈的主要作用1)保护信息,保存现场;2)支持子程序嵌套与中断嵌套以及递归调用的正确进入与返回;3)十分有利于完成对逆波兰表达式的运算。5.逆波兰表达式及其运算1)三种表达式①数学表达式
:A+B②波兰表达式:+AB③逆波兰表达式:AB+*+/-+CBDEFA2)数学表达式的树结构①把运算符做结点。②把运算元素做叶子。③把最后一个运算符作根节点(二叉树)例:(A+B)*C-D/(E+F)3)逆波兰表达式的生成利用后序遍历树,生成逆波兰表达式要点:先左,后右,先枝
叶,后结点,依次收集运算元素与运算符,直到最后一个运算符(根结点)为止。AB+C*DEF+/-4)在堆栈机上完成逆波兰表达式运算要点:见运算元素压入堆栈。见运算符就将次栈顶元素与栈顶元素进行相应运算,结果留在栈顶,直到最
后一个运算符。AΛ(A+B)*CΛCA+BΛDMΛA+BΛBAΛ165432D*C+BA顶次顶顶EDM7EFE8FE+FDM9D/(E+F)MΛ10/(A+B)*C-D/(E+F)Λ11-Λ+DMΛΛ五、浮点数
尾数的基值(rm)选择1.浮点表示N=S×rp浮点数的一般形式S尾数(含小数点)p阶码r基数(基值rm)计算机中r取2、4、8、16等。如:0.235×81当r=2N=11.0101=0.110101×210=1.10101×21=1101.01×2-10
=0.00110101×2100计算机中S小数、可正可负p整数、可正可负规格化数二进制表示S小数点后的最高数值位为非0的浮点数称为规格化浮点数。2.浮点数的一般格式.................
.数符阶符r-1mr-2mr-m'm.阶码部分(P+1位)尾数(m个机器位)3.rm影响的因素①数的表示范围上图中阶码的位数P的大小主要影响浮点数的可表示范围的大小。尾数的位数m主要影响浮点数的可表示精度。当P一定时,尾数
采用什么进制(r)可影响数的表示范围、精度及数在数轴上分布的离散程度。P在所有的机器种都时采用二进制。rm=2时,m位非0最小正尾数2-m.00…01最大正尾数1-2-m.11…11最大正阶2^p–1011…1P个1最大负阶-2^p100…
0P个0最小正浮点数2-m*2-2^P非0最小尾数乘最大负阶-2^prm-m’*rm-2^P最大的正浮点数(1-2-m)*22^P-1最大尾数乘最大正阶-2^p-1(1-rm-m’)*rm2^P-1正数轴上表示范围rm-m’*rm-2^P~(1-r
m-m’)*rm2^P-1②规格化浮点数个数尾数最高数值位为非0的浮点数称为规格化浮点数。设:P=2,m=4正尾数、规格化、非负阶。rm=2时,共有32个规格化浮点数10008/168/88/48/210019/169/89/49/2┇┇┇┇┇111115/1615/815/41
5/2pm00011011rm=16时,共有60个规格化浮点数00011/1611625600102/16232512┇┇┇┇┇111115/16152403840mp00011011rm=4时m0001101101004/164/441601015/165/45200
1106/166/462401117/167/472810008/168/483210019/169/4936┇┇┇┇┇111115/1615/41560p③规格化浮点数的稀密度erm=16时e=15/
32=0.47rm=4时e=24/32=0.75结论:rm越大,规格化浮点数分布越稀疏。④精度:(从e可以看出)rm大,精度低。4.rm的选择原则①应视数的表示范围决定。②随着位数范围越来越大,rm有向下取的趋势。个数时,非负规格化浮点数点数的个数相同数轴
以内规格化浮时,与22mrrremm习题2.分别用rm=2和8,在不包括符号位在内的p=3,m=3且非负阶、正尾数、规格化条件下1)先列出两种rm的规格化浮点数表。2)分别计算rm=2和8条件下规格化数的个数,数的表示范围及表示比e。最小规格化浮点数的尾数
的确定:设尾数位数m=4阶码部分值E=0对(0.1)r二进制:0.10001/2四进制:0.01001/4八进制:0.00101/8十六进制:0.00011/16三、向量数据表示四、堆栈数据表示五、浮点数尾数的基值(rm)选择rm选择浮点
数的一般格式rm对数的表示个数、范围、精度、稀密度e的影响稀密度e的概念规格化浮点数的概念规格化浮点数的最小尾数的确定:设尾数位数m=4阶码部分值E=0对(0.1)rr=2:0.10001/2r=4:0.01001/4r=
8:0.00101/8r=16:0.00011/16六、下溢的处理两种溢出:<上溢>运算结果超出允许范围。<下溢>是指尾数右移过程中丢掉的移出位,它影响精度。负数区正数区下溢0上溢上溢最小负数(绝对值最大)最大正数最小正数最大负数
(绝对值最小)阶码尾数阶符数符移出位2.恒置1法①含义:不管移出位如何,均将尾数末位置1的一种下溢处理方法。误差分析中把机器能表示的最小分辨数值定为11.截断法①含义:对尾数移出位简单截取的一种处理方法。②特点:Ⅰ)无下
移处理线路,实现容易。Ⅱ)平均误差为负且较大,无法调节,只适用于对精度无要求之处。②取值表右移后尾数移出位2-12-2取值误差综合∑000111+3/410+1/211+1/41001001-1/410
-1/211-3/401③特点:Ⅰ)有了简单的下溢处理线路;Ⅱ)综合误差有所下降(比截断法)。3.舍入法①含义:根据移出最高位进行舍取时的一种下溢处理法。Ⅰ)当移出的最高位(2-1)=0时,按截断法。Ⅱ)当移出的最高位(2-1)=1时,将尾数的末位加1。②取值表右移后移出位
2-12-2取值误差综合∑X00X0+1/201-1/410X+1+1/211+1/4③特点:Ⅰ)需移出最高位判别线路及尾数加1线路,比较复杂。Ⅱ)综合误差较小,用于对精度要求较高处,较常用。4.查表舍入法(ROM查表法)①基本思想:从n位尾数中切取K位尾数,并同移出位一起送ROM
中去查表,并从表中送出K位尾数,使其综合误差趋于0。n-k位移出位k位n位尾数n-k位k位ROM表查表送出k位②ROM表的安排原则Ⅰ)当K位尾数为非全1时,按舍入法取值。Ⅱ)当K位尾数为全1时,按截断法取值。③取值表,设K=2,两个移出位右移后尾数移出位2-12
-2取值误差综合误差∑0000000001-1/41001+1/211+1/4010001001-1/41010+1/211+1/4④特点:Ⅰ)具有最复杂的下溢线路(除舍入法线路外,还要有ROM表);Ⅱ)综合误差最小;Ⅲ)用在精度
高的地方。100010001-1/41011+1/211+1/4110011001-1/410-1/211-3/40右移后尾数移出位2-12-2取值误差综合误差∑§2地址表示与寻址方式一、地址表示1.地址表示类型1)按所用
不同进制数①用二进制地址②用八进制地址③用十六进制地址④用十进制地址2)按所指不同空间表示①存贮单元地址。②I/O端口地址。③寄存器地址3)按存贮管理不同①页地址②段地址③段页地址4)按访问空间数据长度不同(注意地址边界的问题)①字节地址(8位)②半字地址(16位)③单字地址(32位)
④双字地址(64位)5)按编程角度①逻辑地址——程序员编程使用②物理地址——程序在主存中的实际存放地址6)存储保护来分①基地址:某用户存储单元的首地址②界地址:存储保护中的界限保护2物理地址空间的信息分布1)条件:在一个具有双字存储器中,可存放多种长度数据
(字节、半字、字、双字)2)紧凑存放:尽量利用存储空间,将各种不同长度的数据紧凑存放,但可能出现双字、字、半字跨主存字边界存放的情况,从而增加访存时间。如:依次存放单字(4字节)、双字、半字(2字节)、字节、半字、单字、单字3)按整数
边界存放:浪费了一定的空间,但保证了访问时间。单字双字1双字2半字字节半字1半字2单字单字1单字2单字浪费(4字节)双字半字字节浪费半字浪费(2字节)单字单字二、寻址方式简介1.三种面向的寻址方式机器指令可以访问寄存器、堆栈或主存中的数,因此相应地就有面向寄存器、面向堆
栈和面向主存的不同寻址方式。2.寻址方式选择原则1)尽快获得操作数(速度)2)寻址字段位数少(省空间)3)能访问尽可能大的存储空间4)有利于循环程序设计5)有灵活多变寻址来达到同一目的访问(编程灵活)3.程序在主存
中的定位技术1)静态再定位目程序装入主存时,通过调用系统配备的装入程序,把目程序的逻辑地址用软的方法逐一修改成物理地址。静态再定位的优点是不需要增加任何硬件。缺点:对提高主存的利用率不利。不利于多道程序的运行环境。2)动态再定位动态再定位的一种方法是设置基址寄存器和地
址加法器硬件,在程序装入主存时,只将装入主存的起始地址存入该道程序的基址寄存器中即可,指令的地址字段不作修改。程序在执行过程中,才形成物理地址访存。基址寻址的方法主要是支持程序的动态再定位。变址寻址则主要是为实现程序的循环,支持向量、数组数据的寻址使用的。动态再定位技术的
进一步发展是采用映象表来进行地址的映象和变换,它可以使每个用户在机器上运行比实际主存容量大得多的程序。§3指令系统能由计算机硬件直接识别的指令为机器指令,所有机器指令的集合为指令系统,不同的机器类型具有不同的指令系统。一、指令主要类型类
型任务表现形式运动类指令实现数据的传递复制传递、交换、压入、弹出算术类指令实现各种算术运算加、减、乘、除、比较等逻辑运算指令实现各种逻辑运算逻辑加、逻辑乘、异或、同或、取反等移位指令实现各种移动运算左移、右移、循环左移、循环右移等转移指令实现程序分支转移条件转移、无条件转移、转子、返
回等入出指令实现信息交换输入、输出二、指令格式的优化1.对操作码编码方法1)等长编码①每条指令的编码位数相等②编码位数L的确定与指令条数N相关。L=log2N例:N=7L=3③特点:Ⅰ)编码规整,使控制器译码机构简单。Ⅱ)当指令使用频度不
同时,不利于等效平均编码长度的减少,从而不利于信息的传递效率。等长法用于RISC(精简指令系统计算机)中2)Huffman压缩编码法①基本思想Ⅰ)频度高的指令用短码表示。Ⅱ)频度低的指令用较长码表示。②Huffman-A方案编码树的绘制要点:*将指令按频度从高到低顺序排列;*在指令线之外找个根结点
,并将它与两端指令连接起来形成Δ;*其余指令分别作与频度高的那条边的多条平行线,即形成编码树。每条指令的使用频度之和为1,即N1i1PiI1I2I3I4I5I6I7000000111111根结点分结点③编码形成编码树上,结点与结点之间,结点与指令之间规则地加0
,1。每条指令均从根结点出发,沿最短路径指向指令,依次收集途中数码,即形成编码。④特点Ⅰ)在指令的使用频度不相同时,有利于降低信息等效平均编码长度及信息的传送效率。Ⅱ)不同位数编码类型太多,使控制器的译码复杂。⑤信息等效平
均码长L的计算N1iliPiL*3)扩展编码法①基本思想:即要考虑频度不同时,用不等长编码,又要考虑减少不同位数编码类型,使译码机构不要太复杂,采用多余一位进行扩展。②两位扩展Ⅰ)3/3/3方案0011001111000
13110131111013101110111110Ⅱ)2/4/8方案00210001010000110014101001110010110011011011018111000111001111100111101③三位扩展Ⅰ)7/7/7方案000111000111111
000┇7┇7┇7110111110111111110000000000┇4100┇100┇011011011┇┇16100┇┇000000111┇111┇011011┇┇┇64000Ⅱ)4/16/64方案100┇011111┇┇000
111┇011例:某机7条指令使用频度分别为0.45,0.3,0.15,0.05,0.03,0.01,0.01,画Huffman-A方案的树结构,分别用等长法,H-A方案,扩展法进行编码,并分别计算各种方案编码的平均码长。(0.45+0
.3+0.15+0.05+0.03+0.01+0.01=1)N1iliPiL*IiPi等长法H-A扩展法OPliOPliOPliI1I2I3I4I5I6I70.450.300.150.050.030.010.01000
00101001110010111030101101110111101111101111111234566000110211001101111011114信息等效平均码长L31.972.2解:N1i1.976*0.025*0.034*0.05
3*0.152*0.31*0.45li*PiL.051.02.55.25.1.01.01.03.05.15.3.45101010101010六、下溢处理下溢处理的方法、综合误差的大小溢出位也称附加位§2地址
表示与寻址方式物理地址空间的信息分布三种面向的寻址方式寻址方式选择原则程序在主存中的定位技术§3指令系统对操作码的三种编码方法:2关于信息源熵简介1)含义:指信息源中包含的平均信息量。(理论上可以达到的最短平均码长)2)信息源熵H的计算:N1i2PiP
iHlog*3.多地址指令设计某机指令字长16位,每个地址字段为4位,要求编写11条三地址指令,70条两地址指令,140条单地址指令,其余还能扩展多少条零地址指令,并写出各类指令编码示意图。4444OPA1A2A31)各类指
令编码格式①三地址指令0000┇11条1010②两地址指令00001011┇16111100001100┇161111┇┇70条00001110┇16111100001111┇60101③单地址指令00001111011
0┇161111┇┇140条000011111110┇121011④零地址1111111011000000┇320条11111111111111112)可扩展零地址指令条数计算①共可编写多少条三地址:24=16②剩余三地址共可扩展多少条
两地址:(24-11)*24=5*16=80③剩余二地址共可扩展多少条单地址:〔(24-11)*24-70〕*24=(80-70)*16=160④剩余单地址共可扩展多少条零地址:﹛〔(24-11)*24-70〕*24-140﹜*24=(1
60-140)*16=320三、指令系统的改进途径1.按CISC(复杂指令系统计算机)方向发展与改进指令系统CISC的改进思路按CISC方向发展改进指令系统的出发点是,如何进一步增强原有指令的功能以及设置更为复杂的新指令来取代原先由软件子程序完成的功能,实现软件功能
的硬化。从面向机器语言目标程序的优化实现、面向高级语言的优化实现和面向操作系统的优化实现三个方面来改进。1)面向目标程序的优化实现目标是提高包括系统软件和应用软件在内的各种机器语言目标程序的实现效率,即缩短目标程序的长度,加快目标程序的执行速度,并使实现起来方便可
行。a.对使用频度高的指令加速完成,可提高指令的吞吐量。b.对经常出现的程序段,可用一条指令代替。2)面向高级语言的优化实现目标是缩短高级语言和机器语言的语义差距,这样可以缩短编译程序的长度和节省编译所需的时间。a.
对使用频度高的语句,通过增设复合指令来减少辅助操作时间。b.在编译中优化代码生成。c.改进指令系统使之与各种高级语言的语义差距都有共同的减少。d.提供多种指令系统,多种系统结构以适应不同的高级语言。e.发展高级语言计算机。3)面向OS(操作系统
)的优化实现目标是缩短OS与计算机系统结构之间的语义差,减少OS的时间开销和空间开销。a.操作系统的常用指令进行分析改进。b.增设专用于OS的新指令。c.对OS中由软件子程序实现的某些功能进行硬化或固化。d.设置专门的处理机来运行OS,发展功能
分布处理系统。2.按RISC方向发展与改进指令系统1)CISC结构的问题指令系统日趋庞大和复杂,使机器的设计周期延长,成本升高,错误增多,可靠性降低,系统检测的成本增加;指令的操作繁杂,使执行速度降低;高级语言源程序的优化编译困难,编译的时空开销增大;指令系统中,约有80%的指令使用频度很低
,利用率低,因而系统的性能价格比低。(一般软件中简单指令约占总指令数的80%,复杂指令只有约20%;简单指令约占总运行时间的20%,复杂指令约占总运行时间的80%)2)对策a.去掉复杂指令,复杂指令功能由软件实现,可简化电路设计b.去掉微程序,采用硬连控制方法,提高处理器速度c.简单指
令有利于流水线执行d.简化电路节省了芯片面积,利于增加Cache容量3)RISC机器主要特点a.精简指令的条数,使用频度很高的部分指令(<100);b.让指令字等长,所有指令都在一个机器周期执行完;c.寻址方式简单,充分利用寄存器寻址;(2~3种)d.CPU内增加通用寄存
器的数目;e.采用重迭寄存器窗口技术,有利于子程序调用时的参数传递;f.访存指令只有Load/Store两种,其它的指令一律只能对寄存器进行操作。4)设计RISC机器的基本技术按设计RISC机器的一般原则来精选和优化设计指令系统;在CPU内设置大量的寄存器,并采用重叠寄存器组的窗口;指令采用重
叠和流水的方式解释,并采用延迟转移;优化设计高质量的编译程序。P65(图2-23有错)RISCII:138个32位寄存器,其中10个全局寄存器窗口:6(入高)+10(本)+6(出低)延迟转移:(流水)LOADX,R1ADD2,R1BRANCHLNOPSUBR1,R2L:S
TORER1,YLOADX,R1BRANCHLADD2,R1SUBR1,R2L:STORER1,YLOADX,R1ADD2,R1BRANCHLSUBR1,R2L:STORER1,Y延迟优化延迟5)RISC的优点简化了指令系统的设计,适合于用VLSI来实现;提高了机器的运行速度和效率;降低了
设计成本,提高了系统的可靠性;可以直接高效地支持高级语言的实现,简化了编译程序(指令范围、寻址方式选择、分析、变换)。6)RISC的问题及发展趋势RISC的问题和不足是:加重了汇编语言程序设计的负担;目标程序所占的存贮空间量可能加大;对浮点运算和虚拟存贮器等的支持还不够强;对编译程序的设计质
量要求较高,难度较大。今后计算机发展改进的总趋势是让RISC和CISC两者互相结合,取长补短。本章计算绘图类题如下:1.利用描述符描述阵列数据2.已知数学表达式,画出树结构;写出逆波兰表达式3.已知p,m的位数,画出规格化浮点数表(rm=2,4,8,16);计算浮
点数的表示范围;数的个数和表示比e。4.已知指令和使用频度能用等长法,H-A方案,扩展法进行编码,并指出所选方案的理由;计算等效码长,确定一种优选编码方案。5.多地址指令设计:已知指令字长和每个地址字段位数及
X条三地址,Y条两地址,Z条单地址指令,还可扩展多少条零地址指令;写出各类指令编码方案。IEEE754标准:rm=2(单精度)短实数(双精度)长实数(长双精度)临时实数符号位S阶码e尾数m总位数18(127)2332111(1023)52641
15(4095)6480S阶码E(含阶符)(e位)尾数M(m位)数符小数点位置规格化数:小数点及最高位为“1”隐含若E=0,M=0则N=0若E=0,M≠0则N=(-1)S×2-126×(0.M)为非规格化数若1≤E≤254则N=(-1)S×2
E-127×(1.M)为规格化数若E=255,M=0则N=∞如a/0(a≠0)若E=255,M≠0则N=NaN(NotaNumber),如0/011000000101000000000000000000000=-2(129-127)×(1.25)=
-5-1.5=(-1.1)2=10111111110000000000000000000000S=1,E=127,M=0.5,N=(-1)s×2(127-127)×(1.5)=-1.5•移码表示法补码表示很难直接判断其真值大小如十进制x=+21x=–21x=+31x=
–31x+25+10101+100000+11111+10000010101+10000011111+100000大大错错大大正确正确0,101011,010110,111111,00001+10101–10101+11111–11111=110101=001011=111111=00000
1二进制补码•移码定义x为真值,n为整数的位数移码在数轴上的表示[x]移码2n+1–12n2n–1–2n00真值如x=10100[x]移=25+10100用逗号将符号位和数值位隔开x=–10100[x
]移=25–10100[x]移=2n+x(2n>x≥2n)=1,10100=0,01100178.125=(10110010.001)2浮点表示:1.0110010001×2111短实数:S=0,E=00000111+0
1111111=10000110M=01100100010000000000000178.125→01000011001100100010000000000000