吉大11春学期《计算机系统结构》期末作业考核要求.doc_第1页
吉大11春学期《计算机系统结构》期末作业考核要求.doc_第2页
吉大11春学期《计算机系统结构》期末作业考核要求.doc_第3页
吉大11春学期《计算机系统结构》期末作业考核要求.doc_第4页
全文预览已结束

下载本文档

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

文档简介

吉大11春学期计算机系统结构期末作业考核要求1. 阐述CISC指令集结构功能设计思想及相关问题(50分)答:设计思想:一般来说,CISC结构追求的目标是强化指令功能,减少程序的指令条数,以达到提高性能的目的。通过对诸如IBM370、VAX-11/780、Intel公司的APX等CISC计算机进行分析,可以发现增强这些机器的指令功能主要是从如下几个方面着手。1. 面向目标程序增强指令功能 对大量目标程序及其执行情况进行统计分析,可以发现有些指令或者指令串的使用频度较高。如果增强这些指令的功能,并加快其执行,或者将常用的指令串用一条新的指令来替代,不但会减少目标程序存取指令的次数,加快目标程序的执行,而且也会有效地缩小程序目标代码的长度。这种面向目标程序增强指令功能主要有如下一些方法。(1)提高运算型指令功能在一些高性能计算机中,为了提高运算速度,减少程序调用的额外开销,将那些常用的计算函数及子程序用一条指令来实现,如sin、cos、tan、ex等。至于一台机器将哪些子程序指令化,这要在增加硬设备与提高性能之间进行合理的折衷。 (2)提高传送指令功能在一些数据处理计算机和通用计算机中,一般都设有成组传送指令。其主要功能是将主存中的一组数据传送到CPU。由于对向量、数组等处理的需要,也在寄存器之间或寄存器与处理部件之间设置了一些一次就能传送多个数据的指令,如向量计算机中的向量传送指令等。(3)增加程序控制指令功能为了缩小程序空间,提高软件运行效率,尤其是提高系统软件的运行效率,在CISC计算机中一般均设置了多种程序控制指令。 例如,VAX-11/280有29种转移指令。 2. 面向高级语言和编译程序改进指令系统 (1) 增加对高级语言和编译系统支持的指令功能对源程序中各种高级语言语句进行使用频度的统计与分析,对于使用频度高的语句,可以设置专门的指令或采取措施增加相应指令的功能,以提高其编译速度和执行速度。从面向编译程序,尤其是从优化代码生成的角度进行考虑,增加指令集结构的规整性来改进指令系统。所谓规整性,是指没有或尽可能减少例外的情况和特殊的应用,以及所有运算都能对称、均匀地在存储器单元或寄存器单元之间进行。如IBM370的指令集就多少有些不规整,有些指令只能使用指定的寄存器。这样,在编译时,对这些指令就需先把它们要用到的寄存器腾出来,并把要用到的数据移入这些指定的寄存器。这些都增加了不是运算所必须的数据传送操作,并使得对通用寄存器的优化管理更加复杂化。 (2) 高级语言计算机指令系统采用了上述各种对高级语言和编译程序提供支持的措施后,机器语言和高级语言的语义差距比传统的冯诺依曼型机器缩小了许多。这种机器统称为面向高级语言(HL)的机器。在这种机器中,对高级语言解释的份量明显增大。如果进一步增大解释的比重,直至几乎没有语义差距,则可达到使高级语言成为机器的汇编语言。即高级语言和机器语言是一一对应的,这种机器称为间接执行型高级语言机器。它用汇编的方法把高级语言源程序翻译成机器语言程序。当然,高级语言机器本身也可以没有机器语言,或者说高级语言就作为机器语言。它可以直接由硬件或固件对高级语言源程序的语句逐条进行解释并执行。这样既没有编译,也不用汇编。这种机器称为直接执行型高级语言机器。3. 面向操作系统的优化实现改进指令系统计算机体系结构与操作系统是紧密联系的,操作系统的实现在很大程度上取决于体系结构的支持。这主要表现在对中断处理、进程管理、存储管理和保护、系统工作状态的建立与切换等的支持。就指令系统而言,虽然它不能全面反映体系结构对操作系统的支持,但对其主要方面均有反映。我们可以通过设置支持系统工作状态和访问方式转移的指令、支持进程转移的指令、支持进程同步和互斥的指令等措施,来达到优化实现操作系统的目的。相关问题:1.各种指令的使用频度相差悬殊。2.指令集庞大,指令条数很多,许多指令的功能又很复杂,使得控制硬件非常复杂。3.许多指令由于操作繁杂,其CPI(Cycles Per Instruction,每条指令的平均时钟周期数)值比较大,执行速度慢。4.由于指令功能复杂,规整性不好,不利于采用流水技术来提高性能。2. 综述“主存-辅存”层次存储管理的四个基本问题,并阐述其各自的解决方案。(50分)答:四个基本问题:1. 当把一个块调入高一层(靠近CPU)存储器时,可以放在哪些位置上 (映象规则)2.当所要访问的块在高一层存储器中时,如何找到该块 (查找算法)3.当发生失效时,应替换哪一块 (替换算法)4.当进行写访问时,应进行哪些操作 (写策略)2. 解决方案:程序的局部性原理程序在执行时所访问地址的分布不是随机的,而是相对地簇聚;这种簇聚包括指令和数据两部分. 程序的时间局部性:程序即将用到的信息很可能就是目前正在使用的信息. 程序的空间局部性:程序即将用到的信息很可能与目前正在使用的信息在空 间上相邻或者临近为了填补CPU和主存在速度上的巨大差距,现代计算机都在CPU和主存之间设置一个高速,小容量(目前一般为几十K到几百K字节)的缓冲存储器Cache. 映像规则全相联:主存中的任一块可以被放置到Cache中的任意一个位置.特点: 空间利用率最高,冲突概率最低,实现最复杂.1. 全相联映象直接映象:主存中的每一块只能被放置到Cache中唯一的一个位置. 特点: 空间利用率最低,冲突概率最高,实现最简单.例如:对于主存的第i 块,若它映象到Cache的第j块,则:j=i mod (M ) (M 为Cache的块数)2. 直接映象设M=2m,则当表示为二进制数时,j 实际上就是i 的低m 位:m位j i:组相联:主存中的每一块可以被放置到Cache中唯一的一个组中的任何一个位置. 3. 组相联映象上述的j 和k 通常称为索引.组的选择常采用位选择算法若主存第i 块映象到第k 组,则:k=i mod(G) (G为Cache的组数)设G=2g,则当表示为二进制数时,k 实际上就是i 的低 g 位:g 位k主存块地址 i:相联度一定是越大越好 绝大多数计算机的Cache: n 4.n 路组相联:每组中有n 个块( n=M /G ),n 称为相联度.相联度越高,Cache空间的利用率就越高,块冲突概率就越低,失效率也就越低. 全相联直接映象组相联n (路数)G (组数)MM111NM1GM如何确定Cache中是否有所要访问的块 若有的话,如何确定其位置 这是通过查找目录表来实现的. Cache中设有一个目录表,该表所包含的项数与Cache的块数相同,每一项对应于Cache中的一个块.当一个主存块被调入Cache中某一个块位置时,它的标识就被填入目录表中与该Cache块相对应的项中,并且该项的有效位被置1. 查找方法根据映象规则不同,一个主存块可能映象到C

温馨提示

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

评论

0/150

提交评论