您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 计算机体系结构chapter2-1
第二章数据表示、寻址方式与指令系统目录数据表示寻址方式指令系统的设计和优化指令系统的发展和改进§1数据表示数据表示与数据结构高级数据表示自定义数据表示(Self_defining)带标识符的数据表示数据描述符向量数组数据表示堆栈数据表示引入数据表示的原则浮点数尾数基值大小和下溢处理方法的选择(选讲)在机器上直接运行的程序是由指令组成的。指令系统是软件与硬件之间的一个主要分界面,也是他们之间互相沟通的一座桥梁。硬件设计人员采用各种手段实现指令系统,而软件设计人员则使用这些指令系统编制系统软件和应用软件,用这些软件来填补指令系统与人们习惯的使用方式之间的语义差距。指令系统设计必须由软件设计人员和硬件设计人员共同来完成。指令系统发展相当缓慢,需要用软件来填补的东西也就越来越多。数据表示定义:机器硬件能直接识别和引用的数据类型。条件:相应的运算指令和运算硬件(处理部件)。分类:基本数据表示、高级数据表示、自定义数据表示。目标:缩小高级语言和机器语言间的语义差别提高性能/价格节省处理时间和存储空间实现:最小的存储空间、最简单的存取算法。数据表示与数据结构数据表示:指的是能由机器硬件直接识别和引用的数据类型。由硬件实现的数据类型数据结构:面向计算机系统软件、面向应用领域所需处理的数据类型。由软件实现的数据类型。目标:最大限度满足应用要求、最简化的方法实现。实现:通过数据表示和软件映象相结合方法实现。数据表示是数据类型的子集。数据表示的确定实质上是软、硬件的取舍问题数据结构和数据表示是软、硬件的界面确定数据表示的原则是缩短程序的运行时间是减少CPU与主存储器之间的通信量是这种数据表示的通用性和利用率数据表示在不断发展例如:矩阵、树、图、表及自定义数据表示等已经开始用于数据表示中例:计算C=A+B,其中,A、B、C均为200×200的矩阵。分析采用向量数据表示的作用。解:如果在没有向量数据表示的计算机上实现,一般需要6条指令,其中有4条指令要循环4万次。因此,CPU与主存储器之间的通信量:取指令:2+4×40,000条读或写数据:3×40,000个共要访问主存储器:7×40,000次以上如果有向量数据表示,只需要一条指令。减少访问主存(取指令)次数4×40,000次用软件和硬件结合的方法实现新的数据表示用字节编址支持字符串数据表示用变址寻址方式来支持向量数据表示数据类型定义:具有一组值的集合,且定义了作用于该集合的操作集。目的:防止不同类型数据间的误操作。分类:基本类型、结构类型。基本数据类型内容:二进制位、二进制位串、整数、十进制数、浮点数、字符、布尔数等。结构数据类型定义:由一组相互有关的数据元素复合而成的数据类型。分类:系统数据类型、用户自定义数据类型内容:数组、字符串、向量、堆栈、队列、记录等数据表示中应表达的内容数值的表达进位制数、负数、小数点的方式字符和符号的表达ASCII码数据单位的表达字:逻辑单位,一条指令处理的数据单位。32Bit,字节、半字、字、双字数据的属性类型、存放的位置、对数据的约束在高级语言和应用软件中数据的属性由数据自己定义;在高级语言与机器语言之间的语义差距,要靠编译器等填补。Burroughs公司在大型机中引入自定义数据表示方式和带标志符的数据表示方式数据表示的发展定点数据表示用定点数表示浮点数不方便而低效50年代提出变址操作,为向量、阵列提供方便。用循环遍历向量和阵列可变长字符串数据表示支持串数据结构的实现用于输入、输出、事务处理和编译高级数据表示自定义数据表示(Self_defining)带标识符的数据表示数据描述符向量数组数据表示堆栈数据表示带标识符的数据表示主要用于指明数据类型(如二进制整数、十进制整数等,也可用于指明及其内部所用信息的各种类型。标志符由编译器或其他系统软件建立,对高级程序员透明。程序(包括指令和数据)的存储量分析数据存储量增加,指令存储量减少类型标志数据值举例:假设X处理机的数据不带标志符,其指令字长和数据字长均为32位;Y处理机的数据带标志符,数据字长增加至35位,其中3位是标志符,其指令字长由32位减少至30位。并假设一条指令平均访问两个操作数,每个操作数平均被访问R次。分别计算这两种不同类型的处理机中程序所占用的存储空间。R32I*232IBxR35I*230IBy程序占用存储空间的比值:32163515R32I*232IR35I*2I30BxByRR当R3时,有:ByBx在实际应用中经常是R10即带标志符的处理机所占用的存储空间通常要小。采用标识符缩短操作码而节省程序空间AB采用标识符数据字增长不采用标识符数据(少)指令(多)采用标识符指令字缩短通常有面积B面积A举例:在IBM370中执行A=A+B运算。若A和B都是十进制数,只需要一条指令,共6个字节,在IBM370/145上执行时间是13微秒。若A与B中有一个是定点二进制数,由于要进行数据类型的一致性检查和转换,在PL/I语言中的编译结果为13条指令,共64个字节,在IBM370/145机上执行时间增加到408微秒。两者相比,存储空间节省5倍,运算速度快30多倍。如果采用自定义数据表示方法,由硬件自动实现一致性检查和数据类型的转换。带标识符的数据表示的优缺点优点:简化指令系统和程序设计简化编译程序便于一致性校验能由硬件自动完成数据类型的变换支持数据库系统的实现与数据类型无关的要求为软件调试和应用软件开发提供支持;缺点:使程序所占用的主存空间增加(如下图)降低指令的执行速度;必须用专门的指令完成标识符的初始化,硬件复杂度增加数据描述符101各种标识符长度地址000数据描述符数据目的:描述复杂和多维的结构类型。数据描述符实现阵列数据的索引比变址方法实现的好,而且能检查程序设计中阵列越界错误。为向量、数组数据结构的实现提供一定的支持,有利于简化编译中的代码生成。工作过程:如下图描述符的工作过程010000000010010010XY操作码指令描述符描述符地址生成逻辑(数据)(数据)数据块数据块主存储器·········1013101410141014000a11000a12000a13000a14000a21000a22000a23000a24000a31000a32000a33000a343433323124232221141312114*3aaaaaaaaaaaaA二维阵列数据描述符与带标识符的区别标识符是和每一个数据相连的,合存在一个存储单元中,描述单个数据的类型特征。描述符是和数据分开存放的,专门用来描述所要访问的数据是整块数据还是单块数据,访问该数据块或数据元素需要的地址以及其他特征信息等。向量数组数据表示举例:计算i=10、11….1000C语言:for(i=10;i=1000;i++)C[i]=a[i]+b[i]向量加参数A参数B参数C向量数据表示:C=A+BA0A3A2A1A11A10A9A8A7A6A5A4C0C3C2C1C11C10C9C8C7C6C5C4B3B2B1B0B-1B-2B-3B-4源向量A结果向量C源向量B位移量Ad=4基址Ab起始地址As=4Ae=12-4=8Cd基址Cb起始地址Cs=4Ce=12-4=8起始地址Bs=-4Be=4-(-4)=8位移量Bd=-4基址Bb向量处理机(向量计算机)(VectorProcessor):具有向量表示和相应的向量运算指令的计算机。标量处理机(标量计算机)(ScalarProcessor):不具有向量表示和相应的向量运算指令的计算机。向量数据向量的表示数组为A的元素。可为定点数、浮点数、整数、逻辑数等。向量在主存储器中的存放原则规律性地址计算简单访存冲突小向量的存放方式元素相邻存放元素等间距存放),...,(120naaaAia向量数据向量存储的参数基地址、位移量、向量长度稀疏向量的压缩采用隐蔽位向量方法,如下图向量指令格式的描述寄存器---寄存器存储器---寄存器存储器---存储器稀疏向量的压缩A0A3A4A5(0)A6(0)A7A1(0)A2(0)012356471A00A10A20A61A31A41A70A5A0稀疏向量A3A4A7压缩向量Z向量(有序位向量)堆栈数据表示有利于编译和子程序调用。堆栈机器:具有堆栈数据表示的机器。有若干高速寄存器组成的硬件堆栈,并附加控制电路让它与主存中的堆栈区在逻辑上组成一个整体,使堆栈的访问速度是寄存器的,堆栈的容量是主存的;有很丰富的堆栈操作类指令且功能很强,直接可对堆栈中的数据进行各种运算和处理;有力地支持高级语言程序的编译;逆波兰表达式有力地支持子程序的嵌套和递归调用。堆栈数据表示(续)有力地支持高级语言程序的编译;逆波兰表达式F=A*B+C/(D-E)逆波兰表达式AB*CDE-/+有力地支持子程序的嵌套和递归调用。减少大量辅助性工作多使用零地址指令存储效率高引入数据表示的原则看系统的效率是否提高,是否减少了实现时间和所需的存储空间;举例1:两个200*200的二维定点数组相加PL/1A=A+B,无阵列型:6条指令,4条循环200*200=40000有阵列型:1条指令,减少4*40000=160000字引入数据表示的原则(续)看引入数据表示后,其通用性和利用率是否高;通用性:是否对多种数据结构均适用。利用率:硬件设置大小的选择。数据结构的发展总是优先于机器的数据表示,应尽可能为数据结构提供更多的支持。浮点数尾数基值大小和下溢处理方法的选择二进制的定点数符号数值、反码、补码浮点数数据表示IEEE标准7541985年提出三部分:符号位、指数、尾数浮点数尾数基值的选择浮点数尾数下溢处理方法IEEE754表示:若E=0且M=0,N为0若E=0且M≠0,N=(-1)S·2-126·(0.M),非规格化数;若1≤E≤254,N=(-1)S·2E-127·(1.M),规格化数;若E=255且M≠0,N=NaN(非数值);若E=255且M=0,N=(-1)S∞(无穷大)浮点数尾数下溢处理方法000110110000:000:111:011:1x处理结果恒置“1”法000110110000:000:111:011:1x处理结果截断法000110110000:000:111:011:1x处理结果舍入法000110110000:000:111:011:1x处理结果查表舍入法
本文标题:计算机体系结构chapter2-1
链接地址:https://www.777doc.com/doc-3975780 .html