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

下载本文档

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

文档简介

1、计算机系统结构第二章 数据表示与指令系统基本要求1.领会数据表示与数据结构的关系,自定义数据表示中标志符数据表示的优点,掌握浮点数的表示方法。2.了解指令系统中三种面向的寻址方式。理解逻辑地址变换成物理地址中所采用的静态再定位和动态再定位的方法。基址寻址和变址寻址的差别。领会信息在主存中按整数边界存贮的含义、编址要求、存在问题和适用场合。3.熟练掌握等长码编码、哈夫曼编码和扩展操作码的编码方法并能针对题目的具体要求设计出比较优化的指令格式。4.了解改进指令系统所要达到的目标以及所采取的思路和办法。5.了解CISC的问题和RISC的优点。 本章的重点和难点本章的重点是:自定义数据表示;浮点数尾数

2、的基值选择;数的下溢处理方法;寻址方式中的再定位技术;信息在存贮器中按整数边界存贮的概念;操作码和指令字格式的优化;CISC指令系统的改进途径综述;RISC概念及所采用的基本技术等。本章的难点是:浮点数尾数基值的选择;操作码和指令字格式的优化设计。一、浮点数据表示一、浮点数据表示一、浮点数据表示一、浮点数据表示1 定点数计算机的缺点例如:太阳的重量约为:0.2*1034克; 一个电子的重量约为:0.9*10-27克; 二者相差:1061; 若用定点数表示:2x1061 x203位;无符号长整型:04294967295结论:可表示的数范围小。一、浮点数据表示一、浮点数据表示0.21034尾数阶码

3、?2 通用计算机浮点数的表示格式2 通用计算机浮点数的表示格式00100100111010.6252147一、浮点数据表示一、浮点数据表示2 通用计算机浮点数的表示格式00100100111010.6252147一、浮点数据表示一、浮点数据表示尾数尾数2 通用计算机浮点数的表示格式00100100111010.6252147一、浮点数据表示一、浮点数据表示尾数尾数尾数阶码2 通用计算机浮点数的表示格式00100100111010.6252147一、浮点数据表示一、浮点数据表示尾数尾数尾数阶码阶符2 通用计算机浮点数的表示格式00100100111010.6252147一、浮点数据表示一、浮点数

4、据表示尾数尾数尾数阶码阶符数符2 通用计算机浮点数的表示格式0010110011101在不同的计算机上,浮点数的表示方式也不相同。一般地,阶码部分用二进制表示。尾数用几进制表示,随机器而异。一、浮点数据表示一、浮点数据表示2 通用计算机浮点数的表示格式0010110011101尾数用二进制表示:(0.10011101)225一、浮点数据表示一、浮点数据表示2 通用计算机浮点数的表示格式0010110011101尾数用十六进制表示:(0.9D)16165一、浮点数据表示一、浮点数据表示001019D2 通用计算机浮点数的表示格式0010110011101尾数用八进制表示:(0.472)885一、

5、浮点数据表示一、浮点数据表示00101472一、浮点数据表示一、浮点数据表示一、浮点数据表示-举例一、浮点数据表示一、浮点数据表示尾数(16)尾数(10)尾数(2)阶码 00 01 10 11p=2m=4rm=16规格化浮点数11/1600011/1611625622/1600102/1623251233/1600113/1634876844/1601004/16464102455/1601015/16580128066/1601106/16696153677/1601117/167112179288/1610008/168128204899/1610019/1691441304A10/161

6、01010/16101602560B11/16101111/16111762816C12/16110012/16121923072D13/16110113/16132083328E14/16111014/16142243584F15/16111115/16152403840一、浮点数据表示一、浮点数据表示3 浮点数尾数基值的选择1)表数范围:随着rm增大,表数范围增大;2)表数个数:随着rm增大,表数个数增大;3)表数精度:随着rm增大,表数精度降低;4)精度损失:随着rm增大,精度损失降低;5)运算速度:随着rm增大,运算速度提高。一、浮点数据表示一、浮点数据表示4.尾数舍入处理1)恒舍法又

7、称截断法、必舍法等。优点:容易实现。缺点:累计误差较大;结论:运算精度要求较高的应用场合,不宜使用。一、浮点数据表示一、浮点数据表示一、浮点数据表示-尾数舍入处理4.尾数舍入处理2)恒置法 恒置法又称恒置r/2法(r是尾数的基值),或恒置1法(当尾数基值取2时),或冯诺依曼法(Von Neumann rounding)。优点:容易实现,积累误差较小;缺点:损失一位精度,表数精度降低;现状:广泛应用于精度要求不太高的各种计算机系统中。一、浮点数据表示一、浮点数据表示一、浮点数据表示-尾数舍入处理4.尾数舍入处理3) 舍入法优点:精度高,积累误差小;缺点:实现困难(需增设附加位),处理速度慢(连续

8、进位,右规);现状:很少使用,主要用于软件实现的浮点运算中。一、浮点数据表示一、浮点数据表示一、浮点数据表示-尾数舍入处理4.尾数舍入处理4)查表法优点:速度快,平均误差可调节到0。缺点:硬件开销加大。现状:逐渐普遍使用。一、浮点数据表示一、浮点数据表示二、信息在主存中按整数边界存储二、信息在主存中按整数边界存储二、寻址方式1. 三种面向的寻址方式: 面向寄存器、面向堆栈和面向主存的寻址方式。2. 逻辑地址与物理地址 逻辑地址:程序员编写程序时所用到的地址,如内存变量、程序标号; 物理地址:程序在主存中的实际地址。二、信息在主存中按整数边界存储二、信息在主存中按整数边界存储二、寻址方式3. 程

9、序在主存中的定位技术 程序装入物理主存进行定位时,需要进行逻辑地址空间到物理地址空间的映象和变换。程序定位所采用的技术有静态再定位和动态再定位两种。 程序的静态再定位是在目的程序装入主存时,通过调用系统配备的装入程序,把目的程序的逻辑地址用软件的方法逐一修改成物理地址。程序执行时,物理地址就不能再改变了。 二、信息在主存中按整数边界存储二、信息在主存中按整数边界存储二、寻址方式3. 程序在主存中的定位技术 动态再定位的一种方法是:设置基址寄存器和地址加法器硬件,在程序装入主存时,只将装入主存的起始地址存入该道程序的基址寄存器中即可,指令的地址字段不作修改。程序在执行过程中,不断将逻辑地址经地址

10、加法器加上基址寄存器中的基址,才形成物理地址访存。 动态再定位技术的进一步发展是采用映象表来进行地址的映象和变换,它可以使每个用户在机器上运行比实际主存容量大得多的程序。二、信息在主存中按整数边界存储二、信息在主存中按整数边界存储二、寻址方式二、二、信息在主存中按整数边界存储定义:各种长度的信息在主存中存放的首地址必须是该信息宽度的整数倍。分析:左图:存储空间充分利用,但访问速度慢; 右图:浪费存储空间,但访问速度快。现状:信息在主存中按整数边界存储的方式被广泛应用。4 信息在主存中按整数边界存储各种长度的信息在主存中存放的首地址必须是该信息宽度的整数倍01234567891011121314

11、1516171819202122232425262728293031二、二、信息在主存中按整数边界存储三、指令格式的优化设计三、指令格式的优化设计目的和任务:如何用最短的位数来表示指令的操作信息和地址信息,使指令的平均字长最短。缩短指令的长度缩短程序的长度减少程序的存储空间减少读取指令的时间减少指令的译码时间三、指令格式的优化设计三、指令格式的优化设计三、指令格式的优化设计三、指令格式的优化设计猜一猜哪个国家夺得了大力神杯?中国中国古巴古巴葡萄牙葡萄牙西班牙西班牙智利智利朝鲜朝鲜德国德国巴西巴西牙买加牙买加加纳加纳巴拉圭巴拉圭墨西哥墨西哥法国法国英格兰英格兰意大利意大利韩国韩国伊朗伊朗瑞典瑞典

12、喀麦隆1 操作码的优化指令I1I2I3I4I5I6I7使用频度(pi) 0.40.30.150.050.040.030.03三、指令格式的优化设计三、指令格式的优化设计H=-pilog2pi=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%指令使用频度编

13、码编码长度I10.401I20.3102I30.151103I40.05111005I50.04111015I60.03111105I70.03111115三、指令格式的优化设计三、指令格式的优化设计1 操作码的优化 哈夫曼编码的缺点:译码困难三、指令格式的优化设计三、指令格式的优化设计1 操作码的优化实用的操作码编码应当采用扩展操作码编码。它限定使用少数几种码长;使用频度高的用短码、使用频度低的用长码。长码在没有使用的短码的基础上扩展得到。短码都不能是长码的前缀指令 使用频度 编码编码长度I10.4002I20.3012I30.15102I40.0511003I50.0411013I60.0

14、311103I70.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或扩展操作码编码时,要求短码与长码要符合什么样

15、的原则,才使解(译)码唯一?(2)某机指令字长16位,共有单地址指令和双地址指令二类,若每个地址字段均为5位,且双地址指令已用了X条,问单地址指令最多可以有多少条?在操作码优化过的基础之上,再在地址码和寻址方式上采取相关的措施,就可以减少程序的总位数,使指令字格式达到优化。指令字格式优化的措施概括起来包括以下几点:(1) 采用扩展操作码,并根据指令的频度的分布状况,选择合适的编码方式,以缩短操作码的平均码长。(2) 采用诸如基址、变址、相对、寄存器、寄存器间接、段式存放、隐式指明等多种寻址方式,以缩短地址码的长度。3.指令字格式优化的措施(3) 采用0、1、2、3等多种地址制,以增强指令的功能

16、,且让常用的短操作码与多个地址字段相配合。(4) 在同种地址制内再采用多种地址形式,如寄存器-寄存器、寄存器-主存、主存-主存等,让每种地址字段可以有多种长度,且让长操作码与短地址码进行组配。(5) 在维持指令字在存贮器中按整数边界存贮的前提下,使用多种不同的指令字长度。 3.指令字格式优化的措施四、自定义数据表示四、自定义数据表示1.数据结构与数据表示的关系数据结构反映了应用中要用到的各种数据元素之间的结构关系,是软硬功能分配中软的方面。数据表示是机器硬件能直接识别,并能在机器上直接对其操作的数据类型,表现在它能有对这种类型的数据进行操作的指令和运算部件。数据结构是要通过软件映象,变换成机器

17、中所具有的数据表示来实现的。 在进行软件和硬件的功能分配时,计算机系统结构设计应考虑在机器中设置哪些数据表示,使之能对应用中用到的数据结构有高的实现效率。在定点、浮点、逻辑、十进制、字符串等基本数据表示的基础之上,根据应用的需要,应考虑在机器中引入哪些高级的数据表示,以便能为数据的实现提供更好的支持。高级语言:数据类型不同,运算符公用 float a,b,c; c=a+b;机器语言程序:与高级语言程序相反,用操作码指明操作数的类型。 Fadd c,a,b;自定义数据表示:为缩短高级语言和机器语言的语义差距。有带标志符的数据表示和带数据描述符的数据表示两类。 2.自定义数据表示1)带标志符数据表

18、示是让数据字本身带有数据或信息的类型标志; 标志符由编译程序建立,对高级语言源程序应设计成透明的。 这样,机器语言程序中的操作码与高级语言程序中的运算符一样,可以通用于各种数据类型的操作了。 2.自定义数据表示类型标志数据值采用标志符数据表示的优点:可以简化编译程序,提高编译效率;简化指令系统和程序设计;便于实现数据类型的一致性校验;能由硬件自动完成对数据类型的转换,缩短解题的时间;支持数据库系统要求其实现与数据类型无关的要求;为软件调试和应用软件的开发提供一定的支持。四、数据表示应用范围仍在扩大!2.自定义数据表示四、数据表示采用标志符数据表示可能存在的问题:会因增设了标志符字段而增加一部分

19、存贮空间开销。但只要合理地设计,共增加量是不会很大的,甚至还会因指令操作码的缩短、编译程序的缩短等,使存贮空间总的开销有所减少。采用标志符数据表示后,虽会增加单条指令的执行时间,但程序编写和调试所用时间的缩短,有可能使宏观解题时间的总开销减少。2.自定义数据表示四、数据表示2)数据描述符主要用于描述向量、数组、记录等成块的数据。它与标志符数据表示的差别是:标志符与数据合存于一个存贮单元中,用于描述单个数据的类型和属性;描述符则是与数据分开存放的,它主要用于描述成块数据的特征。 2.自定义数据表示四、数据表示以B6700为例,其数据描述符和数据的形式分别如下图所示:101各种标志符长度地址000

20、数据描述符描述数据的特性数据块内首元素的地址块内元素个数优点:一条指令可操作块内所有元素。2.自定义数据表示四、数据表示3) 向量数组数据表示与向量处理机 向量、数组数据表示,为向量、数组数据结构的实现和运算提供了更多的硬件支持,硬件上设置有丰富的向量或阵列(数组)运算类指令,配有流水线或处理单元阵列等高速的运算部件,直接高效地支持对向量、数组的运算。 向量处理机就是有向量数据表示的处理机。标量处理机:经常用循环;向量处理机:很少用循环;2.自定义数据表示四、数据表示4) 堆栈数据表示与堆栈计算机 为支持子程序调用和表达式的编译,发展出了面向以堆栈操作为主,有堆栈数据表示的堆栈计算机,或称为堆

21、栈机器。它与只有简单的软堆栈(在主存中开辟一个堆栈区)和少量功能简单的堆栈指令(如PUSH、POP指令)的通用寄存器型机器是不同的。 堆栈计算机表现于它有由高速寄存器组成的硬件堆栈,使堆栈操作的速度极高;有丰富的堆栈操作指令(多达数十条),能直接用堆栈进行复杂的运算和处理;2.自定义数据表示四、数据表示5) 确定和引入数据表示的原则 在系统中,确定和引入数据表示时,除了基本的数据表示应该有之外,对某些高级数据表示是否需要引入,主要应看两条基本原则:一是看引入后,系统效率是否显著提高,即是否显著减少了实现时间和所需的存贮空间;二是看引入的数据表示,其通用性和利用率是否较高。2.自定义数据表示五、

22、按增强指令功能的方向发展与改进指令系统出发点:如何进一步增强原有指令的功能以及设置更为复杂的新指令来取代原先由软件子程序完成的功能,实现软件功能的硬化(CISC)。它可以从面向机器语言目标程序的优化实现、面向高级语言的优化实现和面向操作系统的优化实现三个方面来改进。改进目标: 希望普遍提高包括系统软件和应用软件在内的各种机器语言目标程序的实现效率,即缩短目标程序的长度,加快目标程序的执行速度,并使实现起来方便可行。改进途径: (1)通过统计机器语言目标程序中各种指令和指令串的使用频度(动态和静态)来改进。对高频的指令可以增强其功能,加快其执行速度,缩短其指令字长;对频度很低的指令可将其功能合并

23、到某些高频的指令中去。 (2)将常用的子程序实现的功能改成强功能复合指令,由微程序来解释实现。1 面向目标程序的改进改进目标:缩短高级语言和机器语言的语义差距,这样可以缩短编译程序的长度和节省编译所需的时间。改进途径: (1)统计高级语言源程序的语句使用频度,增设与高频语句的语义差别小的新指令。 (2)面向编译来改进指令。2 面向高级语言的改进改进途径: (3)让指令改进后,使它与各种高级语言之间的语义差都有同等程度的缩小。 (4)设计有分别面向各种高级语言优化实现的多种指令系统,并让他们能动态地切换,发展自适应系统。 (5)发展高级语言计算机(高级语言机器)。高级语言机器是不需要编译即可运行高级语言程序的计算机。2 面向高级语言的改进五、按增强指令功能的方向发展与改进指令系统改进目标: 缩短操作系统与计算机系统结构之间的语义差距,减少运行操作系统的时间和节省操作系统软件所占用的存贮空间。改进途径: (1)通过统计操作系统中的指令和指令串的使用频度来改进。 (2)增设专用于操作系统的新指令。 3 面向操作系统优化实现改进的目标和途

温馨提示

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

最新文档

评论

0/150

提交评论