您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 计算机系统结构第二章new解析
计算机系统结构第二章数据表示与指令系统基本要求1.领会数据表示与数据结构的关系,自定义数据表示中标志符数据表示的优点,掌握浮点数的表示方法。2.了解指令系统中三种面向的寻址方式。理解逻辑地址变换成物理地址中所采用的静态再定位和动态再定位的方法。基址寻址和变址寻址的差别。领会信息在主存中按整数边界存贮的含义、编址要求、存在问题和适用场合。3.熟练掌握等长码编码、哈夫曼编码和扩展操作码的编码方法并能针对题目的具体要求设计出比较优化的指令格式。4.了解改进指令系统所要达到的目标以及所采取的思路和办法。5.了解CISC的问题和RISC的优点。本章的重点和难点本章的重点是:自定义数据表示;浮点数尾数的基值选择;数的下溢处理方法;寻址方式中的再定位技术;信息在存贮器中按整数边界存贮的概念;操作码和指令字格式的优化;CISC指令系统的改进途径综述;RISC概念及所采用的基本技术等。本章的难点是:浮点数尾数基值的选择;操作码和指令字格式的优化设计。一、浮点数据表示一、浮点数据表示1定点数计算机的缺点例如:太阳的重量约为:0.2*1034克;一个电子的重量约为:0.9*10-27克;二者相差:1061;若用定点数表示:2x1061x203位;无符号长整型:0~4294967295结论:可表示的数范围小。一、浮点数据表示0.2×1034尾数阶码???2通用计算机浮点数的表示格式2通用计算机浮点数的表示格式00100100111010.625×2147一、浮点数据表示2通用计算机浮点数的表示格式00100100111010.625×2147一、浮点数据表示尾数尾数2通用计算机浮点数的表示格式00100100111010.625×2147一、浮点数据表示尾数尾数尾数阶码2通用计算机浮点数的表示格式00100100111010.625×2147一、浮点数据表示尾数尾数尾数阶码阶符2通用计算机浮点数的表示格式00100100111010.625×2147一、浮点数据表示尾数尾数尾数阶码阶符数符2通用计算机浮点数的表示格式0010110011101在不同的计算机上,浮点数的表示方式也不相同。一般地,阶码部分用二进制表示。尾数用几进制表示,随机器而异。一、浮点数据表示2通用计算机浮点数的表示格式0010110011101尾数用二进制表示:(0.10011101)2×25一、浮点数据表示2通用计算机浮点数的表示格式0010110011101尾数用十六进制表示:(0.9D)16×165一、浮点数据表示001019D2通用计算机浮点数的表示格式0010110011101尾数用八进制表示:(0.472)8×85一、浮点数据表示00101472一、浮点数据表示一、浮点数据表示----举例一、浮点数据表示尾数(16)尾数(10)尾数(2)阶码00011011p=2m=4rm=16规格化浮点数11/1600011/1611625622/1600102/1623251233/1600113/1634876844/1601004/16464102455/1601015/16580128066/1601106/16696153677/1601117/167112179288/1610008/168128204899/1610019/1691441304A10/16101010/16101602560B11/16101111/16111762816C12/16110012/16121923072D13/16110113/16132083328E14/16111014/16142243584F15/16111115/16152403840一、浮点数据表示3浮点数尾数基值的选择1)表数范围:随着rm增大,表数范围增大;2)表数个数:随着rm增大,表数个数增大;3)表数精度:随着rm增大,表数精度降低;4)精度损失:随着rm增大,精度损失降低;5)运算速度:随着rm增大,运算速度提高。一、浮点数据表示4.尾数舍入处理1)恒舍法又称截断法、必舍法等。优点:容易实现。缺点:累计误差较大;结论:运算精度要求较高的应用场合,不宜使用。一、浮点数据表示一、浮点数据表示----尾数舍入处理4.尾数舍入处理2)恒置法恒置法又称恒置r/2法(r是尾数的基值),或恒置1法(当尾数基值取2时),或冯·诺依曼法(VonNeumannrounding)。优点:容易实现,积累误差较小;缺点:损失一位精度,表数精度降低;现状:广泛应用于精度要求不太高的各种计算机系统中。一、浮点数据表示一、浮点数据表示----尾数舍入处理4.尾数舍入处理3)舍入法优点:精度高,积累误差小;缺点:实现困难(需增设附加位),处理速度慢(连续进位,右规);现状:很少使用,主要用于软件实现的浮点运算中。一、浮点数据表示一、浮点数据表示----尾数舍入处理4.尾数舍入处理4)查表法优点:速度快,平均误差可调节到0。缺点:硬件开销加大。现状:逐渐普遍使用。一、浮点数据表示二、信息在主存中按整数边界存储二、寻址方式1.三种面向的寻址方式:面向寄存器、面向堆栈和面向主存的寻址方式。2.逻辑地址与物理地址逻辑地址:程序员编写程序时所用到的地址,如内存变量、程序标号;物理地址:程序在主存中的实际地址。二、信息在主存中按整数边界存储二、寻址方式3.程序在主存中的定位技术程序装入物理主存进行定位时,需要进行逻辑地址空间到物理地址空间的映象和变换。程序定位所采用的技术有静态再定位和动态再定位两种。程序的静态再定位是在目的程序装入主存时,通过调用系统配备的装入程序,把目的程序的逻辑地址用软件的方法逐一修改成物理地址。程序执行时,物理地址就不能再改变了。二、信息在主存中按整数边界存储二、寻址方式3.程序在主存中的定位技术动态再定位的一种方法是:设置基址寄存器和地址加法器硬件,在程序装入主存时,只将装入主存的起始地址存入该道程序的基址寄存器中即可,指令的地址字段不作修改。程序在执行过程中,不断将逻辑地址经地址加法器加上基址寄存器中的基址,才形成物理地址访存。动态再定位技术的进一步发展是采用映象表来进行地址的映象和变换,它可以使每个用户在机器上运行比实际主存容量大得多的程序。二、信息在主存中按整数边界存储二、寻址方式二、信息在主存中按整数边界存储定义:各种长度的信息在主存中存放的首地址必须是该信息宽度的整数倍。分析:左图:存储空间充分利用,但访问速度慢;右图:浪费存储空间,但访问速度快。现状:信息在主存中按整数边界存储的方式被广泛应用。4信息在主存中按整数边界存储各种长度的信息在主存中存放的首地址必须是该信息宽度的整数倍012345678910111213141516171819202122232425262728293031二、信息在主存中按整数边界存储三、指令格式的优化设计目的和任务:如何用最短的位数来表示指令的操作信息和地址信息,使指令的平均字长最短。缩短指令的长度缩短程序的长度减少程序的存储空间减少读取指令的时间减少指令的译码时间三、指令格式的优化设计三、指令格式的优化设计猜一猜哪个国家夺得了大力神杯?中国古巴葡萄牙西班牙智利朝鲜德国巴西牙买加加纳巴拉圭墨西哥法国英格兰意大利韩国伊朗瑞典喀麦隆1操作码的优化指令I1I2I3I4I5I6I7使用频度(pi)0.40.30.150.050.040.030.03三、指令格式的优化设计H=-∑pi×log2pi=2.17等长码的信息冗余=实际编码平均长度-H实际编码平均长度3-2.173==27.7%1操作码的优化指令I1I2I3I4I5I6I7使用频度(pi)0.40.30.150.050.040.030.03三、指令格式的优化设计目前已经找到的可以使得平均码长最短的编码是哈夫曼编码。哈夫曼编码的信息冗余=实际编码平均长度-H实际编码平均长度2.2-2.172.2==1.36%指令使用频度编码编码长度I10.401I20.3102I30.151103I40.05111005I50.04111015I60.03111105I70.03111115三、指令格式的优化设计1操作码的优化哈夫曼编码的缺点:译码困难三、指令格式的优化设计1操作码的优化实用的操作码编码应当采用扩展操作码编码。它限定使用少数几种码长;使用频度高的用短码、使用频度低的用长码。长码在没有使用的短码的基础上扩展得到。短码都不能是长码的前缀指令使用频度编码编码长度I10.4002I20.3012I30.15102I40.0511003I50.0411013I60.0311103I70.0311113三、指令格式的优化设计1操作码的优化平均码长=2.3信息冗余=5.65%只有两种码长。嗯,比较实用!2、操作码优化举例例1某机有10条指令,使用频度分别为0.01,0.15,0.12,0.07,0.08,0.13,0.15,0.03,0.17,0.09。(1)计算用等长操作码编码的平均码长;(2)构造Huffman树;(3)写出Huffman的一种编码,并计算其平均码长;(4)只有二种码长,求平均码长最短的扩展操作码编码及其平均码长。2、操作码优化举例例2(1)采用Huffman或扩展操作码编码时,要求短码与长码要符合什么样的原则,才使解(译)码唯一?(2)某机指令字长16位,共有单地址指令和双地址指令二类,若每个地址字段均为5位,且双地址指令已用了X条,问单地址指令最多可以有多少条?在操作码优化过的基础之上,再在地址码和寻址方式上采取相关的措施,就可以减少程序的总位数,使指令字格式达到优化。指令字格式优化的措施概括起来包括以下几点:(1)采用扩展操作码,并根据指令的频度的分布状况,选择合适的编码方式,以缩短操作码的平均码长。(2)采用诸如基址、变址、相对、寄存器、寄存器间接、段式存放、隐式指明等多种寻址方式,以缩短地址码的长度。3.指令字格式优化的措施(3)采用0、1、2、3等多种地址制,以增强指令的功能,且让常用的短操作码与多个地址字段相配合。(4)在同种地址制内再采用多种地址形式,如寄存器-寄存器、寄存器-主存、主存-主存等,让每种地址字段可以有多种长度,且让长操作码与短地址码进行组配。(5)在维持指令字在存贮器中按整数边界存贮的前提下,使用多种不同的指令字长度。3.指令字格式优化的措施四、自定义数据表示1.数据结构与数据表示的关系数据结构反映了应用中要用到的各种数据元素之间的结构关系,是软硬功能分配中软的方面。数据表示是机器硬件能直接识别,并能在机器上直接对其操作的数据类型,表现在它能有对这种类型的数据进行操作的指令和运算部件。数据结构是要通过软件映象,变换成机器中所具有的数据表示来实现的。在进行软件和硬件的功能分配时,计算机系统结构设计应考虑在机器中设置哪些数据表示,使之能对应用中用到的数据结构有高的实现效率。在定点、浮点、逻辑、十进制、字符串等基本数据表示的基础之上,根据应用的需要,应考虑在机器中引入哪些高级的数据表示,以便能为数据的实现提供更好的支持。高级语言:数据类型不同,运算符公用floata,b,c;c=a+b;机器语言程序:与高级语言程序相反,用操作码指明操作数的类型。Faddc,a,b;自定义数据表示:为缩短高级语言和机器语言的语义差距。有带标志符的数据表示和带数据描述符的数据表示两类。2.自定义数据表示1)带标志符数据表示是让数据字本身带有数据或信息的类型标志;标志符由编译程序建立,对高级语言源程序应设计成透明的。这样,机器语言程序中的操作码与高级语言程序中的运算符一样,可以通用于各种数据类型的操作了。2.自定义数据表示类型标志数据值采用标志符数据表示的优点:可以简化编译程序,提高编译效率;简化指令系统和程序设计;便于实现数据类型的一致性校验;能由硬件自动完成对数据类型的转换,缩短解题的时间;支持数据库系统要求其实现与数据类型无关的要求;为软件调试和应用软件的开发提供一定的支持。四、数据表示应用范围仍在扩大!2.自定义数据表示四、数据表示采用标志符数据表示可能存在的
本文标题:计算机系统结构第二章new解析
链接地址:https://www.777doc.com/doc-3897834 .html