资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,第,2,章 计算机中的信息表示,数据信息,指令信息,数值型数据,非数值型数据,产生控制信号的基本依据,1,本章主要内容:,2.1 数据型数据的表示,2.2 字符的表示,2.3 指令信息的表示,2,2.1.1,带符号数的表示,1、,真值与机器数,机器数:,在计算机中使用的连同数符一起数码化的数。,真值:,正负号加绝对值表示的数值。,常用的机器数表示形式有,原码、补码和反码,。,例如:设机器字长为8位,有如下真值的原、补、反码,真值x,x,原,x,补,x,反,1101,00001101,00001101,00001101,0,00000000,00000000,00000000,-0,10000000,00000000,11111111,-1101,10001101,11110011,11110010,2.1 数值型数据的表示,3,无符号整数,定点整数,定点小数,0000000011111111,0255,11111111 01111111,原,原,-127,127,补,10000000 01111111,补,-128,127,1.1111111 0.1111111,原,原,-(1-2,-7,),(1-2,-7,),1.0000000 0.1111111,补,补,-1,(1-2,-7,),1,2,-7,2.1.2,定点数与浮点数,1、,定点数,设机器字长8位,则一些定点数的表示范围如下:,分辨率,4,E,浮点数真值:N=,+,R M,浮点数机器格式:,阶码,Ms,Es E,1,E,k,M,1,M,n,尾数,阶符,数符,R:阶码底,隐含约定,与尾数基数相同。,E:阶码,为定点整数,补码或移码表示。,其,位数,决定,数值范围,;,阶符,表示,数的大小,。,M:尾数,为定点小数,原码或补码表示。,其,位数,决定,数的精度,;,数符,表示,数的正负,。,尾数规格化:,1/2 M 1,最高有效位绝对值为1,2、,浮点数,(1)典型浮点数格式,Ms:尾数的符号位,也是整个浮点数的符号位。,5,(2),表示范围,表示范围:,-2,31,2,31,(1-2,-9,),例:某规格化浮点数用补码表示,其中阶码6位,含1位阶符;尾符1位,尾数9位。,阶符1位,阶码,k,位,补码表示,以2为底;,数符1位,尾数,n,位,补码表示,规格化。,绝对值最大浮点负数,:,最大浮点正数,:,最小浮点正数,:,阶码为最大数:,2,-1,k,尾数为绝对值最大的负数:,-1,尾数为最大数:,阶码为最大数:,2,-1,k,1-2,-n,阶码为最小数:,-2,k,尾数为最小正数:,2,-1,最小绝对值:,2,-33,6,(3),实用浮点数格式,IEEE754标准的32位浮点数格式为:,阶码,S,尾数,数符,31 30 23 22 0,阶码:8位以2为底,阶码=阶码真值+127。,尾数:23位,采用隐含尾数最高位1的表示方法,,实际尾数24位,尾数真值=1+尾数,S:数符,0正1负。,这种格式的非0浮点数真值为:,(-1),2 (1+尾数),S,阶码-127,7,(3),实用浮点数格式,例如:试将-(0.11)用IEEE短实数浮点格式表示出来。,阶码,S,尾数,数符,31 30 23 22 0,阶码:阶码=阶码真值+127=-1+127=126=(01111110),尾数:为 0.100,0,2,解:-(0.11)=-(1+0.1),2,2,-1,数符:为1,2,该浮点代码为 1,01111110,100,0,阶码8位,尾数23位,8,2.2 字符的表示,2.2.1,ASCII,码,美国国家信息交换标准代码,简称,ASCII码。,09共10个数字字符:30H39H,26个大写英文字母:41H5AH,一些,通用符号和控制符号,128个,ASCII,码字符包括,通常一个字符的,ASCII,码占用主存一个字节单元,字符序列则占用连续的主存单元。,26个小写英文字母:61H7AH,9,2.2.2,UNICODE编码,ASCII码适合英语,但不太适用于其他语言。一些计算机公司形成了一个联盟,称为UNICODE。,UNICODE最基本的思路是将每个字符和符号赋予一个永久、唯一的16位值,即码点,不再使用多字节字符和ESC字符序列。将每个字符长度固定为16位长,使软件的编制简单了许多。,10,分配了一些码点给变音符(112)、标点符号(112)、上下标字符(48)、方向字符(48)、算术运算符(256)、几何图符(96)和装饰符号(192)。,汉语、日语和朝鲜语所需要的符号。先是1 024个发音符号(如片假名和拼音字母),然后是汉语和日语的象形符号(20 992)和朝鲜语的Hangul音节(11 156)。,分配了6 400个码点供用户进行本地化时使用。,每个符号为16位,UNICODE共有 65 536个码点。整个码点空间被划分为块,每块的码点数为16的倍数。码点分配顺序如下:,主要字母表都有各自连续的空间。例如:拉丁语(336个码点)、希腊语(144个码点)、斯拉夫语(256)。,11,2.3 指令信息的表示,指令:指示计算机执行某种操作的信息的集合。,本节主要讨论:一般,指令格式,常用,寻址方式,面向用户,指令类型,2.3.1,指令格式,指令基本格式,操作码,地址码,1、,指令中的基本信息:,操作码,操作数地址,操作结果地址,,下一条指令地址,操作数地址和操作结果地址,12,2、地址结构,使用,隐地址,可以减少指令中的地址数,,简化,地址结构,。,(1)三地址指令,格式:,操作数地址,OP A1 A2 A3,结果地址,下条指令地址,功能:,转移时,用转移,地址修改PC内容。,(A1),OP,(A2)A3,(PC)+n PC,13,目的地址,(2)二地址指令,格式:,OP A1 A2,源地址,功能:,(A1)OP(A2)A1,(PC)+n PC,双操作数:,(3)一地址指令,格式:,OP A,隐含约定,单操作数:,功能:,(AC)OP(A)AC,(PC)+n PC,OP(A)A,(PC)+n PC,14,(4)零地址指令,格式:,OP,这种指令不含操作数,有两种可能:,不需要操作数的指令;,所需操作数都是隐含指定。,(,1)固定长度操作码,各指令,操作码的位置、位数固定相同。,(2)可变长度操作码,各指令,操作码的位置、位数不固定,根据需要,变化。,3.操作码结构,关键在设置扩展标志。,15,例:指令字长16位,可含有,3、2、1或0,个地址,每个地址占4位。,操作码 地址码,15 12 11 8 7 4 3 0,0000,X,Y,Z,1110,X,Y,Z,.,.,.,.,1111,0000,Y Z,1111,1110,Y Z,.,.,.,.,三地址指令,15,条,二地址指令,15,条,1111,1111,0000,Z,1111 1111,1110,Z,.,.,.,.,一地址指令,15,条,1111,1111,1111,0000,1111 1111,1111,1111,.,.,.,.,零地址指令,16,条,16,(3)复合型操作码,操作码分为几部分,每部分表示一种操作。,例:某机算逻指令,0 1 2 3 4 5 6 7 8 15,基本操作 进位 移位 回送 判跳 操作数,4、指令长度,(1)变长指令格式,可简化控制,常用于精简指令系统计算机RISC中。,合理利用存储空间。,(2)固定长度指令格式,17,2.3.2,常用,寻址方式,指令中以什么方式提供操作数地址或操作数,称为寻址方式。,寻址方式的含义有二个:一是要表示指令所需的操作数在何处(如在指令中、寄存器中或主存单元中);二是要给出获取操作数地址的方法。,指令约定寻址方式的方法通常有二种:一种是在指令中设置专门的寻址字段;另一种是由操作码隐含约定。,18,操作码,OP,立即数,1、立即寻址,指令直接给出操作数。,定长格式:,变长格式:,基本指令,立即数,数在指令中,其长度固定、有限。,数在基本指令之后,其长度可变。,用来提供常数、设置初值等。,19,OP,A,2、直接寻址,指令直接给出操作数地址,根据该地址可从主存单元中读取操作数。寻址过程可描述为:,指令,操作数S,也可表示为:,主存,操作数地址,操作数,M,20,3、寄存器寻址,指令中给出寄存器号(也称寄存器地址),从寄存器中获取操作数。寻址过程可描述为:,OP,Ri,指令,操作数S,也可表示为:,寄存器号,操作数,R,Ri,该寻址方式的优点,:,寻址速度快,可减少一个操作数地址的位数,21,4、间接寻址,指令给出存放操作数地址的主存单元地址,即操作数的间接地址。寻址过程可描述为:,指令,也可表示为:,A1,A2,.,A2,操作数S,.,间址单元,OP,A1,主存,.,间址单元地址,操作数,M,操作数地址,M,22,5、,寄存器间址,操作数在主存单元中,由指令给出寄存器号,该寄存器存放操作数地址。寻址过程可描述为:,指令,也可表示为:,A,.,操作数S,Ri,OP,Ri,主存,.,寄存器号,操作数,M,操作数地址,R,A,地址指针,该寻址方式的优点,:,寻址速度比间址寻址快,可减少一个操作数地址的位数,23,6、,变址寻址,指令给出一个形式地址,并指定一个寄存器作为变址寄存器,将变址寄存器内容与形式地址相加得到操作数地址。寻址过程可描述为:,指令,也可表示为:,A,.,操作数S,Ri,OP,Ri,D,主存,.,N,变址寄存器,加法器,变址寄存器号,D+N=操作数地址,变址量N,R,形式地址D,操作数,M,24,变址方式的典型用法:将形式地址作为基准地址,将变址寄存器内容作变化量。,7、,基址寻址,指令给出一个形式地址,并给出基址寄存器号,基址寄存器内容(作为基准量)与形式地址相加得到操作数地址。,基址寻址与变址寻址在形成操作数地址的方法上很相似,但主要应用目的不同:,变址寻址面向用户,用于访问字符串、线形表、一维数组等;,基址寻址面向系统,用来解决程序在主存中重定位的问题,以及在有限字长指令中扩大寻址空间等。,25,8、,相对寻址,用程序计数器PC的内容作为基准地址,指令中给出的形式地址作为位移量(可正可负),二者相加后形成操作数的地址。寻址过程可描述为:,指令,A+d,PC,OP,d,A,程序计数器,加法器,A,OP d,.,操作数S,.,主存,.,d,特点,:,操作数地址随PC内容变化而改变,但二者之间的距离不变,可使操作数与指令在主存中一起移动;,位移量可正可负,表示操作数地址可以在指令地址之后或之前。,26,9、,堆栈寻址,操作数存放在主存堆栈中,指令隐含约定由堆栈指针SP寄存器提供堆栈栈顶单元地址,进行读出或写入。寻址过程可描述为:,指令,栈底,SP,OP,A,堆栈指针寄存器,.,操作数S,.,主存,.,堆栈是一种按“后进先出”存取顺序进行存取的存储结构。在主存中设置的堆栈区有二端,作为起点的一端固定称为,栈底,;另一端称为,栈顶,。对堆栈的读出(弹出)或写入(压入)都是对栈顶单元进行,因此CPU中设具有加减计数功能的SP指示栈顶的位置。,栈顶,堆栈,27,堆栈自底向上(按地址码减少的方向)生成,压栈:,SP内容减1,再压(存)入数。,先取数,,SP内容加1,出栈:,主存,.,(SP),=FF,初始化,栈顶=栈底,主存,.,(SP)=FE,压入a,a,栈顶,主存,.,(SP)=FE,压入b,a,b,栈底,栈顶=栈底,主存,.,(SP)=FE,弹出b,a,28,指令中怎样表达寻址方式:,(1)操作码隐含说明不同寻址方式,例:某机指令操作码最高两位,00,:,RR,型指令,寄存器-寄存器寻址,01,:,RX,型指令,寄存器-变址寻址,10,:,SI,型指令,基址-立即寻址,11,:,SS,型指令,基址-基址寻址,29,(2)指令中设置专门字段说明寻址方式,例:某机指令的每个地址字段中各设置一个,3位的寻址方式字段。,操作码,OP 寻址方式,R,寻址方式,R,源地
展开阅读全文