计算机系统结构第2章.ppt_第1页
计算机系统结构第2章.ppt_第2页
计算机系统结构第2章.ppt_第3页
计算机系统结构第2章.ppt_第4页
计算机系统结构第2章.ppt_第5页
已阅读5页,还剩157页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2.1数据表示2.2寻址方式2.3指令系统的设计和优化2.4指令系统的发展和改进,第2章数据表示寻址方式和指令系统,2.1数据表示2.1.1数据表示数据结构,数据表示机器硬件可以直接识别和引用的数据类型。 例如,当在机器中安装有诸如定点加法、减法、乘法、除法、位移和比较之类的一系列定点计算指令和与其相关联的计算硬件时,如果可以直接处理固定点数,则机器具有定点数据显示。 在机器中设置有与逻辑和、逻辑积、每比特的相加、逻辑移位等一系列的逻辑运算指令对应的逻辑运算硬件的情况下,能够对逻辑数直接进行各种各样的处理,在机器中显示逻辑数据。 同样,如果计算机上设置了浮点运算指令(如浮点加法、减法、乘法、除法、比较、访问和访问),则可以直接处理浮点数,并且计算机上存在浮点数据表示。 另外,串、队列、栈、矢量、数组、链表、树、图等是软件系统处理的各种数据结构,反映了在应用中使用的各种数据元素或者信息单元之间的结构关系。 可以理解,数据结构是通过用软件映射将信息转换成装置具有的各种各样的数据表示来实现的,数据表示是构成数据结构的要素。 不同的数据表示可以能够为数据结构的实现提供不同的支持,其实现效率和便利性是不同的。 因此,数据结构和数据显示是软件硬件的接口。 为了能够有效地实现在应用程序中遇到的数据结构,在确定软件硬件的功能分配时,系统结构设计者必须考虑在机器中设置哪些数据表示。 当然,这是以使用合适的硬件为代价的。 因此,数据显示的确定实质上是软硬件的取舍选择问题。 还有,通过图2.1的索引操作支持向量阵列的数据结构,2.1.2的高级数据显示,1 .定制数据显示157348; 1 )带标记的数据显示高级语言通过类型说明文指定数据的类型,将数据的类型直接连接到数据本身,运算符不反映数据的类型,是通用的。 例如,在FORTRAN程序中,实数(浮点数) I和j的相加通过以下语句的组来指定:咖喱、咖喱、咖喱、咖喱、咖喱、埃及、埃及、653,但是,与以往的机械语言程序相反,通过操作码来指定操作数的类型。 如浮点加法指令那样,因为操作码是浮点加法,所以不管I和j是否是浮点数,都用浮点数处理,进行浮点数加法。 这样,在编译时,需要将高级语言程序的数据类型描述符和运算符变换为机器语言的不同类型的命令的操作符,验证操作符的类型是否与运算符所要求的一致,如果不一致就需要用软件进行变换,编译的负担变大。 为了缩短高级语言与机器语言之间的这种语义差距,机器中的所有数据都可以使用以下类型的标志位:数据(字),标志数据表示的主要优点是:简化了chaece eieee 653 (2)编译器。 (3)易于实现一致性检查。 (4)可以用硬件自动转换数据类型。 (5)支持了与数据库系统的实现数据类型无关的要求。 (6)支持了软件调试和应用程序开发。 标记数据可能显示两个问题。 57348; (1)按每个数据字增设标记,程序占有的主存储区域会增加。 (2)采用标记会降低指令的执行速度。 此外,图2.2通过使用标记来缩短运算码以节省程序空间,2 )为了进一步减少标记占据的存储空间,关于矢量、数组、记录等数据,每个要素都具有相同的属性,因此,数据描述符得以发展。数据描述符和标记的不同在于,标记与各数据连接,并且在一个存储单元中共存,作为描述各个数据类型的特征的描述符与数据分开存储,并且存取的数据是整体的数据、单一的数据、块或者数据元素此外,以B6700描述符为例,其数据描述符和数据的形式分别如下:描述符、数据、图2.3的描述符存取操作数、用图2.4的描述符描述二维阵列的2 .向量阵列数据表示向量, 为阵列数据结构的实现和快速运算提供更好的硬件支持的方法包括增强向量、阵列数据表示法,构建诸如星座100和CRAY-1之类的向量机。 矢量数据所表示的处理器是矢量流水机、阵列机、联结处理器等矢量处理器。 例如,$57347; 以ci=ai5b ii=10,11、,1000fortran语言写的DO循环的相关部分为157348; do40 I=10,1000153348; 为了计算40c(i)=a(i5)b(i ),在具有向量、排列数据表现的向量处理器中,配置了在硬件中设置了丰富的向量、排列运算指令并在流水或排列中处理的高速运算器,图2-5向量地址用的参数,3 .堆栈数据显示堆栈数据显示堆栈数据的设备称为堆栈设备。 57348; 一般通用寄存器型设备对堆栈数据结构的实现不支持。 为堆栈操作表现的机器指令数少,功能单一,堆栈存取存储器内的存储器速度低,通常只保存子程序调用时的返回地址,用少量的堆栈实现程序间的参数传送。 堆叠机不同:卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡埃埃及653 57348; (2)有丰富的堆栈操作指令,功能强大,能够对堆栈内的数据直接进行各种运算和处理。 57348; (3)大力支持高级语言程序的编译。 如果有算术代入句F=A*B C/(D-E ),则将反波兰式AB*CDE-/作为编译的中间语言,直接生成堆栈命令程序,简化编译,显着缩小了高级语言和机器语言的意义间隙。 57348; (4)强力支持子程序的嵌套和递归调用。 子程序调用另一子程序称为嵌套调用,而子程序直接或者通过其他子程序间接地将自己直接或者间接地称为递归调用。 调用过程如图2-6所示。 I子程序调用i 1子程序时,不仅保存返回地址,还保存条件代码的多个状态信息和几个键寄存器的内容,将所需的全局、局部参数传递给i 1子程序,在i 1子程序中保存局部变量、中间结果等现场信息的工件在堆栈型设备中,通过将这些全部按入堆栈,就可以不给予地址而实现。 当i 1子程序返回I子程序时,将运算结果返回I子程序的操作和返回r的操作不仅通过对堆栈的弹出操作来实现,还可以容易地恢复I子程序的现场。 同时,不需要传递信息,只需修改堆栈指针的内容,就可以从堆栈中删除i 1子例程中的所有数据记录,释放不需要的单元,减少许多辅助操作。 堆栈机器可以立即释放未使用的单元,或者在访问堆栈时多使用零地址命令,省略了地址代码字段。 即使访问主存储器,通常也采用相对地址,减少访问地址的位数,从而减少堆栈机上的程序的总位数和程序执行所需的存储单元数,提高存储效率。 此外,图2-6实现了堆栈中的子例程的嵌套和递归调用并且引入2.1.3数据表示的原则上在存储器的一维线性存储结构和通常使用的多维离散数据结构之间基本上存在很大差异。命名变量通常也离散地分布,而不是顺序存储,并且不利于数据结构的实现。 因此,根据实现数据结构的需要,如何设计和改进系统结构是很重要的。 除了槭树、槭树、虾、虾、虾、虾、基本数据表现外,其他高级数据表现的引进可以从两个方面进行测量。 第一,系统效率是否有所提高,即实施时间和存储时间是否有所减少。 实现时间是否减少主要取决于主存储器和处理器之间传输的信息量是否减少。 传输的信息量越少,实现时间越少。 在PL/I语言中,以及(举例来说)包括a、b两个200200的定点二维阵列的相加的情况下,描述为A=A B。在没有阵列类型数据的情况下,此文献存在六个机器指令,其中四个机器指令是由IBM370的PL/I优化器生成的目标代码,每个机器指令包括200200=40000次机器有阵列型数据显示时,只需输入1个“加阵列”命令即可。 这样一来,主存储器和处理器之间的信息传送量仅用手指就减少了44000=16000次,实现时间大幅度减少。 并且,通过导入高级数据显示,有可以高速运算这些数据显示的部件,当设置200200个加法器阵列时,能够通过这40000个加法器一次完成加法运算,这也必然会进一步缩短实现时间。 由于数据显示的改善而实现时间的减少表明节省了很多辅助操作。 以排列运算为例,每次判定要素的下标是否超过边界时,用机器语言程序完成都很麻烦。 显示阵列数据后,越境判断可以在增设的少量硬件上与运算等其他操作在时间上重叠。 辅助作业时间的减少也表明编译简单,节约了编译时间。 当然,编译器的缩短和目标程序的指令数的减少节约了主存储容量。 在是否引入某种高度的数据显示的同时,引入该数据显示的话,要看其通用性和利用率是否高。 只有某个数据结构的实现效率高,其他数据结构的实现效率低,或者导入这样的数据表示不太用于应用程序,这样所需的硬件过多也无法获得性能优势,必然会降低性能价格比,尤其是复杂的数据2.1.4浮点数基值的大小与下溢处理方法的选择1 .当浮点数基值的选择机器语言长度相同时,用浮点数标记的实数的可显示范围大于用固定点数标记的可显示范围。 许多装置以图2-7中所示的形式表示浮点数。 图2-7中的步长代码部分包括步长代码和步长值两个部分。 步骤代码部分可以由原始代码、补充代码或附加代码(也称为移位代码)表示。 无论怎样表达,在p 1比特的步长代码部分中影响步长值的幅度的实际上只是p比特。 另外,图2-7浮点数的通用格式,图2-8浮点数可以表示实数字段的值,其中用rm表示浮点数的尾数基础,以便考虑不同浮点数的尾数基础值的影响。 在该机器中,一个rm进制的位数以log2rm个机器的位数表示,因此,当尾数的机器的位数为m时,相当于rm进制的尾数为m,其权重从小数点向右顺序。 其中,例如在rm=2的情况下,m 为m; 在rm=16的情况下,如果m为m/4并且rm=10,那么m为m/4。 如果rm是2的整数次幂,则有例外。 以rm为尾数基值的浮点数是指当其尾数向rm的右移1位时,为了使数值保持一定,步骤编号增加1。 表2.1尾基为rm的浮点数所表示的特性及其实例,规范化正尾数为正尾数的小数点以下的第一rm进制数不为0的整数。 尾数全部为“0”的数量为零,不是机器能够显示的数量。 因此,最小正尾的数值必须是rm尾数的小数点以后的第一个rm尾数为“1”,其馀的位为“0”的数值,即1r-1m。 最大正尾数值自不必说,rm尾数的各位是r-1m。 小数点以下,rm进制的第m位加上1,相加RM-m时,末尾的整个数值被认为是1。因此,能够表示的最大末尾的值必须是1-rm-m 。 因为是非负层,所以最小层的层值部分应该是“0”,最小层是“0”。 最大层应该是层值部分的p位全部为“1”,最大层是2p-1。 次数的个数从次数值0到2p-1,共计2p个。 e; 浮点数表示格式的含义,并且浮点数的值必须是r阶值m的尾部。 由于浮点数可表示的最小值是阶数为非负阶数的最小值0,且尾数为正规化的最小正尾数,因此浮点数可表示的最小值必须是r0mr-1m=r-1m的浮点数的最大值是步骤为2p-1的正最大值,并且尾数为正规化的正尾数的最大值可表示的浮点数的规范化总数必须是可表示灰阶的数目与可表示尾数的数目的乘积。 在尾数m 个rm进位中,每位数有0(rm-1 ),因为有rm个代码,所以尾数的代码总数为rmm ,但应该除去小数点后第1位的rm进位为0的非规格数。 显然,非归一化尾数的个数占所有尾数可以编码的总数的1/rm的比例。 因此,能够表现的浮点数的归一化数的总数为2prmm(1-1/rm )。 当然,考虑对于相同机器的位数,即在相同层级中的位数p和机器的尾数m的情况下,不同rm将对特性参数施加不同值的影响。 表2-1右部表示机器为p=2、m=4时,rm分别取2和16时的特性参数值。 为便于比较,表2-2和表2-3列出了两种情况下显示的具体值。 由此可知,当设备的数量p、m一定时,尾数基值rm受到不同的值的影响。 为了进一步简化起见,讨论rm应当是2的整数,当rm不是2的整数时也适用所得到的结论。 表2-2p=2、m=4、rm=2的归一化浮点数、表2-3p=2、m=4、rm=16的归一化浮点数、(1)表示整数的范围。 根据表2-1可知,随着rm变大,可显示数的最小值rm-1变小。 关于可显示数的最大值,其中,1-2-m部分为常数,rm变大,因此可显示数的最大值变大。 因此,随着rm变大,可显示数量的范围变大。 换句话说,对于大rm值,由于指示相同范围的数目,因此可减少其阶数p。 (2)可以表示个数。 从表2.1可知,可显示数的个数,因为其中2p m为常数,所以rm的增大会增大,所以可显示数的个数会增多。 用rm用16和2表示的可表现数的比例(3)实轴上的数的分布变得容易理解。 比较表2.2和表2.3可知,rm以16的比例,2的可显示数在实轴上的分布很稀薄。 例如,在1/2和2之间,rm有15个值2,而rm只有8个值16。 为了进一步分析数值分布与rm的关系,导入了显示比。 显示比例e在相同p、m位的情况下,在rm=2的可显示最大值以内,指定rm2的可显示浮点数相对于rm=2的可显示浮点数的比例。 另外,在采用rm2的情况下,能够表现的最大值的合计比rm=2的能够表现的最大值大,始终末尾的值为最大的1-2-m,等级值为q,因此此时的q值是尾数不超过最大值、等级值也不超过q的所有rm的归一化浮点值在rm=2表现的最大值以内的值因此,在q 1种灰度值和2m(rm-1)/rm种尾的值,即较大的rm的情况下,2m(1-rm-1)(q 1)种可显示的值都在用rm=2表示的最大值以内。 因此,若表示比,则将q=(2p-1)/log2rm代入上式,则在实际的机械中等级代码的比特数p一般会变大,至少p=8,但是此时若rm取16,则表示比,rm越大,在与rm=2的浮点数重叠的范围内数量的密度分布变得稀薄(4)可表示数的精度。 得出的结论是,rm越大,数轴上的数量分布越稀薄,数量的显示精度越低。 从另

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论