系统结构复习

上传人:仙*** 文档编号:86183773 上传时间:2022-05-07 格式:DOC 页数:40 大小:1.37MB
收藏 版权申诉 举报 下载
系统结构复习_第1页
第1页 / 共40页
系统结构复习_第2页
第2页 / 共40页
系统结构复习_第3页
第3页 / 共40页
资源描述:

《系统结构复习》由会员分享,可在线阅读,更多相关《系统结构复习(40页珍藏版)》请在装配图网上搜索。

1、第一章 计算机系统结构的基本概念 1986年到2002年,体系结构进步主要依赖于什么技术?出现RISC技术、依靠指令级并行和Cache 2002年以后,计算机性能提高速度降低的原因是什么? 2002年以后,由于功耗,指令级并行和存储延迟进展缓慢,性能提高降到20%。这一时期线程级并行和数据级并行成为主要的改进方向 现代计算机为什么不再采用微型机、小型机和大型机的分类方法?现在如何分类?小型计算机已经被基于微处理器的服务器取代,多处理器系统已经取代了大型机,甚至巨型机也可以由多个高性能微处理器(集群)构成;目前一般把计算机分为3类: 1 桌面计算机:追求性价比为主 2 服务器:可靠性和可扩展性是

2、关键 3 嵌入式计算机:以最低价格满足实际性能要求,实时性、最小的存储器和最小的功耗是其关键特性 不同角度所看到的计算机系统的属性是不同的,对不对? 对,从不同角度所看到的计算机系统的属性是不同的,它是一个”虚拟计算机”。主要观察角度包括:应用程序员,系统程序员,硬件设计人员。对计算机系统的认识通常只需要在某一个层次上。 透明性的判断(判断题) 定义:本来存在的事物或属性,从某种角度看似乎不存在例如:CPU类型、型号、主存储器容量等 对应用程序员 透明 对系统程序员、硬件设计人员等 不透明例如:浮点数表示、乘法指令 对高级语言程序员、应用程序员 透明 对汇编语言程序员、机器语言程序员 不透明例

3、如:数据总线宽度、微程序 对汇编语言程序员、机器语言程序员 透明 对硬件设计人员、计算机维修人员 不透明。 理解系统结构的概念 计算机系统结构定义一: 程序员所看到的计算机系统的属性, 即概念性结构和功能特性程序员:系统程序员(包括:汇编语言、机器语言、编译程序、操作系统)看到的:编写出能在机器上正确运行的程序所必须了解到的。计算机系统结构定义二:计算机系统由软件、硬件和固件组成,它们在功能上是同等的同一种功能可以用硬件实现,也可以用软件或固件实现计算机系统结构研究的是软硬件功能分配和对软硬件界面的确定。 计算机系统结构、组成和实现 计算机组成是指计算机系统结构的逻辑实现(确定功能部件的并行度

4、;设计缓冲和排队策略等);计算机实现是指计算机组成的物理实现(处理机、主存储器等部件的物理结构等); 三者关系:三者各自包含不同的内容,但又有着紧密的联系。一种系统结构可以有多种组成,同样,一种组成可以有多种物理实现。系统结构设计不应该对组成、实现技术的采用与发展有过多或不合理的限制;计算机组成与实现是可以折衷权衡的;系统结构的设计与硬件的设计不可混淆;三者的内容不同时期会有所变化。关系:外特性 内特性 物理实现 : : 当前体系结构的研究已远超了指令集体系结构,对不对?对,过去体系结构通常指指令系统的设计,实际上是指令集体系结构,由于计算机应用领域的扩展,计算机体系结构的研究已经扩展到许多组

5、成和实现的内容。 学会系统结构的3种分类方法 1 弗林(Flynn)分类法通过指令流(Instruction stream,IS) 和数据流(Data stream,DS)进行分类 SISD(Single IS Single DS),SIMD(Single IS Multiple DS)MISD(Multiple IS Single DS),MIMD(Multiple IS Multiple DS) 2 冯氏分类法 冯氏分类法按最大并行度分类最大并行度(Pm)指单位时间内能处理的最大二进制位数,可分为:字串位串WSBS(Word serial and bit serial);字并位串WPBS(

6、Word parallel and bit serial);字串位并WSBP(Word serial and bit parallel );字并位并WPBP(Word parallel and bit parallel)3汉德勒(Hndler)分类法 根据并行度和流水线提出的一种分类法。t(系统型号)=(k,d,w):程序控制部件(PCU)的个数k;算术逻辑部件(ALU)或处理部件(PE)的个数d;每个算术逻辑部件包含基本罗辑线路(ELC)的套数w,如加法器位数。t(系统型号)(kk,dd,ww) :有流水线:k表示宏流水线中程控部件的个数;d表示指令流水线中算术逻辑部件的个数;w表示操作流水

7、线中基本逻辑线路的套数。Cray1有1个CPU,12个相当于ALU或PE的处理部件,最多8级流水线,字长为64位,可以实现114位流水线。表示为:t(Cray1)(1,128,64(114)。 学会计算加速比 Amdahl定律Amdahl定律认为:系统中改进某一部件对整个系统性能的提高与这种部件的使用频率或占总执行时间的比例有关。例题一:假设将某系统的某一部件的处理速度加快到10倍,但该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少?解:由题意可知:Fe=0.4, Se=10,根据Amdahl定律 例题二:假设FPSQR操作占整个测试程序执行时间的20%。

8、一种方法是采用FPSQR硬件,使FPSQR操作的速度加快到10倍。另一种实现方法是使所有浮点数据指令的速度加快,使FP指令的速度加快到1.6倍,FP指令占整个执行时间的50%。请比较这两种设计方案。采用哪种实现技术来求浮点数平方根FPSQR的操作对系统的性能影响较大。解:分别计算出这两种设计方案所能得到的加速比 学会使用cpu性能公式CPU的执行时间取决于三个要素:时钟频率f(或时钟周期t);每条指令所花的时钟周期数CPI;指令条数IC 课件P6.。例题1.3 1.4 1.5 同一种指令的CPI是一定的吗? 同一种指令的CPI由于流水线、Cache等原因并不固定 访问的局部性分为哪2种,具体指

9、的是什么局部性分时间上的局部性和空间上的局部性。时间上的局部性是指最近访问过的代码是不久将被访问的代码。 空间上的局部性是指那些地址上相邻近的代码可能会被一起访问。存储系统的构成就是以访问的局部性原理为基础的。 列举几种计算机系统中的并行 采用并行性是改善计算机性能的重要方法 系统级并行,例如多处理器和多磁盘技术,可以实现更大的吞吐量,而处理器和磁盘都可增加数目(可扩展性),对服务器来说具有重要价值。=单一处理器层面,一般采用指令级并行来提高性能,指令级并行的代表技术是流水线。=在数字电路设计层面可以发掘并行性,比如,组相联的Cache可以同时使用多个存储块,先行进位链能够加速求和的过程。 计

10、算机中的软硬件的发展趋势是怎样的?软硬件发展趋势:硬件实现的比例越来越高;硬件所占的成本越来越低;软硬件的界面在上升. 系统结构的设计者不需要关注实现技术,对吗?不对,系统结构的设计者还应关注实现技术和计算机应用方面的重要发展趋势。因为这些发展趋势不仅影响机器未来的成本,也影响到所设计的系统结构的发展周期。 现代的计算机系统通常是由下往上、由上往下、还是由中间开始设计的?这个中间是指什么?由中间层开始设计其实就是由体系结构开始设计,是目前计算机的主要设计方法。 评价一个计算机系统结构好坏的标准主要是哪两个指标?评价一个计算机系统结构好坏的标准主要是性能和成本这两个指标。 衡量机器性能的唯一固定

11、而且可靠的标准就是真正执行程序的时间。这个时间有哪2种?时间分为响应时间和CPU时间,要根据需要选择:响应时间指完成任务的全部时间,包括磁盘、存储器、I/O设备访问和操作系统开销等;CPU时间指任务在CPU上消耗的时间,不包括I/O等待和执行其它优先级更高任务的时间。 学会MIPS的计算,举例说明为什么MIPS值可能和性能相反 MIPS 表示每秒百万指令条数。对于一个给定的程序,MIPS 定义为:课件 P8主要优点:直观、方便。目前还经常使用主要缺点:(1) 指令集不同时不准确,依赖于指令集合; (2) 指令使用频度差别很大,依赖于程序; (3) 可能和性能相反,如用软硬件分别实现浮点运算 M

12、FLOPS不能体现机器的整体性能,对吗,举例说明MFLOPS即每秒百万次浮点操作次数。 对。MFLOPS 仅仅只能用来衡量机器浮点操作的性能,而不能体现机器的整体性能。例如编译程序,不管机器的性能有多好,它的MFLOPS不会太高。 求平均性能时,什么时候用算术平均、调和平均和几何平均?(课件P9)平均执行时间是各执行时间的算术平均值。如果性能是用速度(例如MIPS和MFLOPS)表示,那么平均时间是调和平均SPECRatio是一个比率,没有单位,算术平均没有意义,必须用几何平均计算。 使用参考机器比较机器性能时,和参考机器的性能有关吗?无关 (课件公式) 一个平均数是否能表示一个基准测试程序测

13、量出的性能,用什么作指标?一个平均数是否能表示一个基准测试程序测量出的性能,可以标准偏差的大小作为指标。(算术标准偏差能帮助我们评价其数据接近标准正态分布的程度,从而达到评价测试性能值的准确度的目的。数值越小,准确度越高。) 系列机和兼容机有相同的体系结构,对不对?的区别是什么 对。 =系列机是同一个厂家生产的具有相同系统结构,不同的组成和实现技术的一系列不同型号的机器。不同的组成和实现只是性能和价格不同,他们的系统结构是相同的。=兼容机是不同厂家生产的具有相同系统结构,不同的组成和实现技术的性价比不同的机器。 几种兼容的概念向上(下)兼容是指按某档机器编制的程序,不加修改就能运行于比它高(低

14、)档的机器向前(后)兼容是指按某个时期投入市场的某种型号机器编制的程序,不加修改就能运行于在它之前(后)投入市场的机器 模拟和仿真哪个速度更快,哪个需要硬件支持?模拟是用软件方法在一台现有机器上实现另一台机器的指令系统。=仿真是用微程序直接解释另一台机器的指令系统的方法。=模拟方法速度低,仿真方法速度高,但仿真需要硬件支持,系统结构差别大的机器难于完全用仿真方法来实现。=通常把2种方法混合起来,尽可能用仿真的方法,无法仿真的指令再用模拟方法实现。 计算机性能的发展,带宽和时延哪个进步更快?性能发展趋势:带宽优于时延。(带宽或吞吐量:在给定时间内所完成的工作总量时延或响应时间:从事件开始到完成所

15、需要的时间。) 集成电路的加工工艺是用什么来表示的? 集成电路的加工工艺是用特征尺寸来表示的,特征尺寸即CPU表面电路的特征线宽。晶体管密度和特征尺寸大小的平方成反比。 学会集成电路动态和静态功率的计算。集成电路最主要的功耗来自开关晶体管,称为动态功率:功率动态= 1/2电容负载电压2开关频率晶体管停止工作时,仍然会有泄漏电流,这时芯片消耗的是静态功率。功率静态= 电流静态电压 了解晶片的成品数的计算方法。 晶片的成本增长速度大体与晶片面积增长速度的平方成正比,对吗?对。晶片的成本增长速度大体与晶片面积增长速度的平方成正比。第二章指令系统 指令系统的概念是什么? 指令系统是计算机所有机器指令的

16、集合,是软硬件的之间的主要分界面。 目前指令系统与软件之间的语义差距越来越大,对不对? 指令系统与软件之间存在语义差距,目前差距越来越大。 数据表示和数据结构的区别 数据表示:指计算机硬件能够直接识别,可以被指令系统直接调用的那些数据类型,是由硬件实现的数据类型。数据结构:指面向计算机系统软件、面向应用领域所需处理的数据类型,是由软件实现的数据类型。 会计算浮点数的表数范围、表数精度和表数效率 (见课件P13 浮点数的表数范围,精度,效率) 如果不采用隐藏位,基数为2时,表数效率最低,对吗? 采用隐藏位,基数为几时,则3个参数都达到最好? 多数机器的尾数采用原码、小数表示,阶码一般机器都采用整

17、数、移码表示,对吗? 是 了解5种舍入法。哪种最简单,哪种最复杂最精确,哪种一般用于软件等。 P15 恒舍法、恒置法、下舍上入法 、R*舍入法 、查表法 ; P16 比较:恒舍法最简单R*舍入法最复杂最精确 ; 下舍上入法一般用于软件实现 警戒位什么时候使用?不设置警戒位,可能出现很大的误差或造成完全错误的运算结果,对吗 1)P17警戒位在舍入和左规时使用 2)是 警戒位需要多少位?代价很大吗? P17 计算机中的操作数类型通常是由硬件解释的,对吗? 是,数据类型通过指令中的操作码来解释 带标志符的数据表示法和数据描述符表示法都属于自定义数据表示方法,对吗? 是 P18自定义数据表示方法:1)

18、数据上有一个由硬件解释的表示数据类型的符号2)包括带标志符的数据表示方法(针对一个数据,如R-2计算机)和数据描述符表示法(针对一组数据,如B-6700计算机) 测试表明程序中访问的数据大多是字节类型,对吗 不对 寻址技术主要内容是什么? 寻找操作数及其他信息地址的技术称为寻址技术,主要包括:编址方式、寻址方式和定位方式。 计算机一般按字节编址,按字访问,对吗 P18是 X86处理器有几个零地址空间?都是什么? P19零地址空间个数:三个零地址空间:通用寄存器、主存储器和输入输出设备均独立编址两个零地址空间:主存储器与输入输出设备统一编址一个零地址空间:所有存储设备统一编址,最低端是通用寄存器

19、,最高端是输入输出设备,中间为主存储器隐含编址方式(堆栈计算机),实际上没有零地址空间:堆栈 高位交叉和低位交叉编址的主要目的分别是什么?P19 高位交叉编址:主要目的是用来扩大存储器容量。低位交叉编址:主要目的是提高存储器速度。 立即寻址的使用频率很低,对吗? 各种存储器寻址方式的使用频率 存储器寻址方式数据对齐的原因是什么? 存储器寻址方式通常是数据对齐的,不对齐会导致硬件的复杂性,即使是支持不对齐的机器,对齐的指令也会运行的更快 间接寻址方式与变址寻址方式差别及优缺点 对于程序员,两种寻址方式的主要差别是:间址寻址方式:间接地址在主存中,无偏移量变址寻址方式:基地址在变址寄存器中,有偏移

20、量主要优缺点比较:采用变址寻址方式编写的程序简单、易读。实现的难易程度:间址寻址方式容易指令的执行速度:间址寻址方式慢对数组运算的支持:变址寻址方式比较好自动变址:在访问间接地址过程中,地址自动增减 寄存器寻址和堆栈寻址的优缺点 P20寄存器寻址方式主要优点:指令字长短、指令执行速度快、支持向量和矩阵运算并能提高其速度主要缺点:现场切换困难、硬件复杂,如果寄存器不对称,不利于优化编译堆栈的寻址方式主要优点:指令字长短、指令执行速度快、支持向量和矩阵运算并能提高其速度主要缺点:现场切换困难、硬件复杂,如果寄存器不对称,不利于优化编译 理解程序的3种定位方式 P20三种定位方式:直接定位:在程序装

21、入主存储器之前,程序中的指令和数据的主存物理就已经确定了的称为直接定位方式。静态定位:在程序装入主存储器的过程中随即进行地址变换,确定指令和数据的主存物理地址的称为静态定位方式。动态定位:在程序执行过程中,当访问到相应的指令或数据时才进行地址变换,确定指令和数据的主存物理地址的称为动态定位方式。 固定操作码长度计算P 21就是所有指令使用相同的代码位数,其最小码长等于:式中 是平均码长, 是第i种指令的码长,n是指令总数。优点:规整,译码简单缺点:浪费信息量(操作码的总长位数增加)例:已知 n = 15,求定长编码的最小平均码长。解:如:IBM公司的大中型机:最左边8位为操作码Intel公司的

22、安腾(Intanium)处理机:14位定长操作码许多RISC处理机采用定长操作码 最优huffman编码法如何计算机?能实际应用吗? 不能,操作码必须是正整数。 操作码最短平均长度: 学会计算信息冗余量 P22固定长操作码相对于Huffman操作码的信息冗余量为 学会使用最小概率合并法 p21 举例说明什么是扩展编码法 p22 4-8-12的形式表示扩展编码,能代表一种具体编码方法吗 不能 P22 扩展编码法分别用保留1个码点和保留1位的方法进行扩展,支持指令种类一样多吗 (期待答案) 学会分析不同地址码个数指令的应用情况(见例子) P23P24 地址码个数不同的几种指令都适用什么情况? 不同

23、地址个数指令的特点及适用场合地址数目程序的长度程序存储量程序执行速度适用场合三地址最短最大一般向量,矩阵运算为主二地址较短很大很低一般不宜采用一地址较长较大较快连续运算,硬件结构简单零地址最长最小最低嵌套,递归,变量较多二地址寄存器型一般最小最快多累加器,数据传送较多 指令系统的完整性、规整性(对称性、均匀性) 的含义 P24完整性:是指应该具备的基本指令种类,通用计算机必须有类基本指令规整性包括对称性和均匀性对称性:所有通用寄存器同等对待,操作码的设置等都要对称,如:A-B与B-A均匀性:不同的数据类型(如定点数、逻辑数、浮点点数、十进制数、字符串)、字长(如8位、16位、32为、64位)、

24、存储设备(如寄存器、主存储器、堆栈)、操作种类(加减乘除等)要设置相同的指令 计算机的类基本指令是什么 指令的种类:1 数据传送类指令 2 运算类指令 3 程序控制指令 4 输入输出指令 5 处理机控制和调试指令 转移指令有哪3类? 转移指令一般可分为3类:无条件转移,条件转移指令(包括循环控制指令),调用与返回指令一般条件转移、复合条件转移、隐含条件转移指令含义 P25 一般条件转移:转移条件:零(Z)、正负(N)、进位(C)、溢出(V)及其组合复合条件转移:代替2条指令,首先进行运算,并根据运算的结果决定是否转移,不需要条件码,与高级语言一致。 保存现场有哪2种方式?保存现场的指令通常如何

25、得到 保存现场分为调用者保存和被调用者保存2种方式,有时必须采用调用者保存方式(如涉及公用变量的情况),大多数实际使用的编译器都会结合这2种方式。这类指令涉及到现场的保存问题,至少要保存返回地址,现在的体系结构一般都由编译器生成指令来保存和恢复现场。 处理器可以不设置输入输出指令吗?为什么? P26可以输入输出操作主要有:启动、停止、测试、控制设备,数据输入、输出操作等,一般采用单一的直接寻址方式在多用户或多任务环境下,输入输出指令属于特权指令也可以不设置输入输出指令,输入输出设备与主存储器共用同一个零地址空间 可以不设处理机控制和调试指令吗?为什么? P26不可以处理机状态切换指令一般处理机

26、有两状态:管态和用户态虚拟存储器管理指令 硬件和软件的调试指令硬件调试指令,如:JTEG支持指令寄存器及主存单元的显示等软件调试指令: 断点的设置及跟踪指令等这类指令虽然使用频率不高,但对操作系统的实现很关键,不可或缺 指令系统的优化设计的两个方向是什么? P26早期计算机主要使用前2种,目前还在使用的则是后2种,分别代表指令系统的优化设计有两个截然相反的方向:1. 复杂指令系统计算机CISC(Complex Instruction Set Computer)增强指令功能,设置功能复杂的指令面向高级语言和操作系统用一条指令代替一串指令2. 精简指令系统计算机RISC(Reduced Instr

27、uction Set Computer)只保留功能简单的指令功能较复杂的指令用子程序来实现本节内容针对的是CISC。 数据传送指令的使用频度和执行时间约占多少百分比 P27Intel 8088处理机MOV、PUSH和POP等3种数据传送指令的使用频度在程序中占40%左右,执行时间占30%以上。IBM大中型计算机的统计结果数据传送指令所占的比例还要高 高级语言程序中,循环体中只有一条语句的约占多少?有1至3条语句的约占多少? P27在一般高级语言中,循环体中只有一条语句的约占40%有1至3条语句的约占70%左右。 用高级语言编写的程序,与用汇编或机器语言编写的程序,时间开销和空间开销一样大,对吗

28、? 不对高级语言与一般计算机的机器语言的语义差距非常大,用高级语言编写的程序经编译程序编译后生成的目标程序,与直接用机器语言或汇编语言编写的程序相比,时间开销和空间开销都要大一个数量级。 说明什么是高级语言计算机并举例 20%-%80规律指的是什么 P28CISC中,大约20%的指令占据了80%的处理机时间。其余80%指令:使用频度低,只占20%的处理机运行时间。 哪几类指令的使用频度最高 指令类型 7种应用程序 平均值 F1 F2 F3 F4 F5 F6 F7 数据传送算术运算逻辑运算/位操作字符串处理转移指令处理器控制 34.2524.973.402.4234.840.13 35.8522

29、.344.344.2232.990.26 28.8445.327.632.7215.340.15 20.1243.657.492.0117.630.10 25.0445.726.382.1020.520.24 24.3345.423.972.3525.720.19 34.3128.284.892.1030.290.14 30.2536.245.442.8625.330.19 了解RISC的主要特点 P29早期卡内基梅隆大学论述的RISC的特点:1、大多数指令在单周期内完成2、LOAD/STORE结构3、硬布线控制逻辑4、减少指令和寻址方式的种类5、固定的指令格式6、注重编译优化技术 -RISC

30、体系结构还应具有如下特点:(1) 面向寄存器结构。(2) 十分重视提高流水线的执行效率。要提高RISC处理机的速度,必须采用流水线,而且,要尽量减少断流,提高流水线的效率。(3) 重视优化编译技术。优化编译技术在提高系统性能中发挥很重要的作用,改变了过去认为提高计算机速度仅仅依靠硬件的传统观点。高效率的流水线和优化编译技术是现代RISC系统必须十分注重的两点。这比卡内基梅隆大学的定义更加全面了。-90年代初,IEEE的Michael Slater对RISC定义的描述:1、RISC为使流水线高效率执行,应具有:(1) 简单而统一格式的指令译码(2) 大部分指令可以单周期执行完成(3) 仅Load

31、和Store指令可以访问存储器(4) 简单的寻址方式(5) 采用延迟转移技术(6) 采用LOAD延迟技术2、RISC为使编译器便于生成优化代码,应具有:(1) 三地址指令格式(2) 较多的寄存器(3) 对称的指令格式 利用程序执行时间的计算公式:P = I CPI T,比较一下RISC和CISC P29程序执行时间的计算公式:P = I CPI T其中:P是执行这个程序所使用的总的时间;I是这个程序所需执行的总的指令条数;CPI (Cycles Per Instruction)是每条指令执行的平均周期数T是一个周期的时间长度。-对于T而言:RISC一般采用硬布线逻辑实现,指令要实现功能都比较简

32、单RISC的T通常要比CISC的T小。RISC处理机的工作主频一般要比CISC处理机高。对于CPI而言:RISC的大多数指令都是单周期执行的,他们的CPI应该是1由于RISC中还有LOAD和STORE指令,也还有少数复杂指令,所以,CPI要略大于1。对于 I 而言:由于CISC中复杂指令使用的频度很低,程序中使用的绝大多数指令都是与RISC一样的简单指令因此实际上RISC的I长度只比CISC的长30%40%-类 型 指令条数I 指令平均周期数CPI 周期时间T CISC 1 215 33ns5ns RISC 1.31.4 1.11.4 10ns2ns RISC的速度要比CISC快3倍左右,关键

33、是RISC的CPI减小了同类问题的程序长度,RISC比CISC长30%40%-减小CPI是软硬件共同作用的结果硬件方面:采用硬布线控制逻辑,减少指令和寻址方式的种类,使用固定的指令格式,采用LOAD/STORE结构,指令执行过程中设置多级流水线等。软件方面:十分强调优化编译技术的作用 采用延迟转移技术的两个限制条件是什么,成功率如何 P30延迟转移技术的定义:为了使指令流水线不断流,在转移指令之后插入一条没有数据相关和控制相关的有效指令,而转移指令被延迟执行,这种技术称为延迟转移技术。采用指令延迟转移技术时,指令序列的调整由编译器自动进行,用户不必干预。采用延迟转移的程序,必须十分小心。-两个

34、限制:1 被移动指令在移动过程中与所经过的指令之间没有数据相关2 被移动指令不破坏条件码,至少不影响后面的指令使用条件码采用延时转移技术的计算机,如果找不到符合上述条件的指令,必须在条件转移指令后面插入空操作如果指令的执行过程分为多个流水段,则要插入多条指令,插入1条指令成功的概率比较大,插入2条或2条以上指令成功的概率明显下降 适用于循环程序指令取消技术如何调整指令? P30向后转移(适用于循环程序)实现方法:循环体的第一条指令安放在两个位置,分别在循环体的前面和后面。如果转移成功,则执行循环体后面的指令,然后返回到循环体开始;否则取消循环体后面的指令 重叠寄存器窗口与windows窗口类似

35、,对吗? P30 貌似不是 提出重叠寄存器窗口技术的原因是什么,如何实现? P30原因: 在RISC中,子程序比CISC中多,CALL和RETURN操作传送参数访问存储器的信息量很大。为使CALL和RETURN操作尽量少访问存储器,美国加洲大学伯克利分校的F.Baskett提出重叠寄存器窗口技术(Overlapping Register Window)实现方法:设置一个数量比较大的寄存器堆,并把它划分成很多个窗口。这里的窗口不是windows窗口,是1组寄存器,一块寄存器组成的存储缓冲区。每个过程使用其中相邻的3个窗口和1个公共窗口有一个窗口存放本过程私有的局部数据;有一个窗口与前一个过程共用

36、;存放前一过程传送给本过程的参数;存放本过程传送给前一过程的计算结果。有一个窗口与下一个过程共用;存放本过程传送给下一过程的参数;存放下一过程传送给本过程的计算结果 指令流调整技术有哪2种调整方法?延迟转移和指令取消技术也调整指令次序,和它的调整指令次序有何不同? P31有个指令流调整的例子 至于有何不同PPT上没有介绍 复习时整理吧 固件指什么技术?RISC的实现完全不需要固件,对吗? P31 没具体定义应该不是固件(微程序技术)的主要缺点是:执行速度低,不可能1个周期完成1个指令。目前,ROM的速度低于SRAM一条机器指令通常要多条微指令解释执行固件的主要优点是:便于实现复杂指令,便于修改

37、指令系统,增加了机器的灵活性和适应性RISC以硬联逻辑为主来实现指令系统,但对于少数复杂指令,用微程序技术实现,即硬件为主固件为辅的方法。 简述现代编译器的结构 (没有)现代编译器的结构第1个层次的独立,使编译器对一种新的语言,更换一个新的前端就可以了。在编译器的后3个层次中,都包含着优化,这些优化被设计成可选的,其中:高层优化一般在源码上进行局部优化局限在代码片断之内全局优化将局部优化扩展为跨越分支,并引入一组针对优化循环的转换寄存器分配将寄存器和操作数联系起来处理器相关的优化则针对特定的体系结构在代码生成器一层要包含一个汇编器,完成最后的到目标代码的转换。 当今编译器的寄存器分配算法都基于

38、什么技术? (没有)寄存器分配是重要的优化方案之一。当今的寄存器分配算法都基于图论中的图着色技术,采用启发式算法来进行分配。这种算法要求拥有一定寄存器的数量,如一般至少要为整数变量保留16个通用寄存器。 优化编译能加快代码执行,但不能减小代码体积,对吗? (没有)不对优化编译不仅能加快代码的执行,也能减小代码体积(新版PPT上有个图 但看不懂 貌似也没毛用) 多媒体指令和向量计算机中的向量指令一样快,对不对?为什么? (课件上没有比较)多媒体指令的定义:多媒体指令实际上是一种SIMD指令,对于非向量体系结构的计算机,这是一种针对小向量的指令,其共同特点是寄存器较大,元素项较小且相互邻近。Int

39、el的MMX的第三章 存储系统 什么是存储系统,组成存储系统的目的是什么? 存储系统的定义:把两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件、或软件与硬件相结合的方法连接起来,称为一个存储系统。存储系统的目的是组织好速度、容量和价格均不相同的存储器:使这个存储器的速度接近速度最快的那个存储器;存储容量与容量最大的那个存储器相等;单位容量的价格接近最便宜的那个存储器。 计算机的存储系统对应用程序员透明的,对吗对。这个系统对应用程序员透明,从应用程序员的角度看,它是一个存储器。 计算机中有哪2种存储系统?了解其组成、目的和特点存储系统Cache存储系统虚拟存储系统组成由Cache和主存

40、储器构成由主存储器和磁盘存储器构成主要目的提高存储器速度扩大存储器容量特点从系统程序员的角度看,速度接近Cache的速度存储容量是主存的容量,每位价格接近主存储器从应用程序员的角度看,速度接近主存储器的速度,存储容量是虚拟地址空间每位价格接近磁盘存储器 Cache存储系统的存储容量是多少?虚拟存储系统呢? Cache存储容量是主存的容量; 虚拟存储系统存储容量是虚拟地址空间。Cache存储系统只对M2存储器进行编址,M1存储器只在内部编址,存储系统的容量等于M2存储器的容量。=虚拟存储系统另外设计一个容量很大的逻辑地址空间,M1和M2的地址映射到这个抽象的地址空间。(课件P24 补充图片。)

41、如何计算存储系统的单位容量的平均价格?S2S1时, CC2, 注意: S2与S1不能相差太大,否则很难调度 存储器的存取时间和存取周期相同吗,存储系统呢?不同。访问周期指的是存储系统的访问周期(组成原理中所说的存取时间、存取周期是指针对存储器的),对存储系统来说,存储周期、存取周期、存取时间,和访问周期都是一个概念 会计算命中率、访问周期和访问效率命中率定义:在M1存储器中访问到的概率:N1: M1的访问次数。N2: M2的访问次数。 访问周期与命中率的关系:T=HT1+(1-H)T2,当命中率H1时,TT1存储系统的访问效率:Ps. 存储系统的访问效率主要与命中率和两级存储器的速度之比有关假

42、设T2=5T1 ,在命中率H为0.9和0.99两种情况下,分别计算存储系统的访问效率。解:当H=0.9时, e1=1/(0.9+5(1-0.9)=0.72 ; 当H=0.99时, e2=1/(0.99+5(1-0.99)=0.96 学会采用预取技术的命中率计算* 注意看例题*方法:不命中时,把M2存储器中相邻几个单元组成的一个数据块都取出来送入M1存储器中。(H是采用预取技术后的命中率; H是原来的命中率; n为数据块大小与数据重复使用次数的乘积) 采用预取技术之后,缺失率(不命中率)降低n倍存储器停顿周期数相关计算* 注意看例题*通常将处理器暂停工作,等待一次存储器访问的周期数称为存储器停顿

43、周期数存储器停顿周期数由缺失次数和每次缺失代价决定:存储器停顿周期数=缺失次数缺失代价=存储器访问次数缺失率缺失代价=指令数(存储器访问次数指令数)缺失率缺失代价=指令数每条指令访存次数缺失率缺失代价=指令数每条指令读次数读缺失率读缺失代价+指令数每条指令写次数写缺失率写缺失代价 存储器性能和处理器性能哪个增长的更快?=处理器 理解计算机的频带平衡现代计算机系统都以存储器为中心,存储器的访问速度影响整个计算机系统的性能。计算机中各级存储器频带应该达到平衡,解决存储器频带平衡主要有以下方法:1)多个存储器并行工作:并行访问、交叉访问;2)设置各种缓冲存储器:预取指令缓冲栈、操作数先行缓冲栈、运算

44、结果后行缓冲栈、通用寄存器 3)采用存储系统:多级Cache存储系统 并行访问存储器能增加字长,对吗?对的,并行访问增大了存储器的字长,一个存储周期内能访问更多的机器字 并行访问存储器访问冲突的主要原因是什么?从存储器本身看,主要是因为地址寄存器和控制逻辑只有一套。如有n个独立的地址寄存器和n套读写控制逻辑,上述第3和第4种冲突就自然解决了,第1和第2种冲突也会有所缓解。A.取指令冲突:转移发生时,其后同时取出的指令无用;B.读操作数冲突:同时取出的多个操作数,不一定都有用;C.写数据冲突:n个机器字(nw位)作为一个存储字同时写回存储器,写单字要先读;D.读写冲突:要读出的机器字和要写入的机

45、器字同在一个存储字时,无法在一个存储周期内完成 低位和高位交叉存储器的目的和理由高位:主要目的:扩大存储器容量(用地址码的高位区分存储体号)低位:主要目的:提高存储器访问速度(用地址码的低位区分存储体号)理由,看课件理解。 低位交叉存储器的启动间隔应为多少,存储体个数增加是否意味速度的增加,为什么每存储体的启动间隔t为:n为存储体个数Tm为每个存储体的访问周期低位交叉访问存储器利用了程序的空间局部性,能大幅度提高存储器的速度。但低位交叉访问存储器的访问冲突也比较大,增加存储体的数目并不能得到速度的线性增长 无冲突访问存储器通常针对一维和二维数组,具体指什么问题答案不清楚,需要再仔细看看:一维(

46、存储体的个数取质数,且n向量长度。)二维(顺序存储:按行、对角线访问没有冲突,但按列访问每次冲突;错位存储:按行、按列访问无冲突,但按对角线访问有冲突;n*n二维数组:并行存储体的个数mn,并且取质数,同时还要在行、列方向上错开一定的距离存储数组元素。) 虚拟存储器中有几种地址,都是什么?虚拟存储器中有3种地址空间,对应3种地址:虚拟地址空间:又称虚存空间或虚拟存储器空间,它是应用程序员用来编写程序的地址空间,这个地址空间非常大。虚存空间上的地址,又称虚存地址或虚地址主存储器地址空间:也称主存地址空间、主存物理空间或实存地址空间,其地址又称主存实地址、主存物理地址、主存储器地址辅存地址空间:也

47、就是磁盘存储器的地址空间,其地址又称为磁盘地址、辅存地址 理解三种地址映像和变换及其特点(查看课件中有关映像和变换的图)因地址映象和变换方法不同,有三种虚拟存储器:页式、段式、段页式虚拟存储器。 外部地址变换和内部地址变换的区别需要总结 ,问问(课件3.2.2.4) 会计算需要的页表级数虚拟存储空间大小Nv=4GB,页的大小Np=1KB,每个页表存储字占用4个字节。计算得页表的级数:第1级页表为1页,存储容量1KB,可以有256个存储字,在这里只需要用其中的64个页表存储字。=用第一级页表的64个存储字指向第二级页表的64个页面,每个页面各有256个页表存储字,二级页表共有16K个页表存储字。

48、=同样,第三级页表共有16K个页面,即4M个页表存储字。这4M个页表存储字正好用来存放虚拟存储空间的4M个页面信息。=因此,第1级页表为1个页面,第2级页表有64个页面,第3级页表则有16K个页面。 理解目录表和快慢表的含义和区别(需要完善)目录表:基本思想:用一个小容量高速存储器存放页表。快慢表:两级存储系统。 相联访问和按地址访问的区别,快表、慢表、目录表、散列都是什么访问相联访问:目录表,快表按地址访问:慢表,散列 虚拟存储器中的散列函数是由软件还是硬件实现?有什么用?为什么会出现散列冲突?1. 散列函数的种类很多。快表中的散列函数必须用硬件来实现,采用一些简单的函数关系。2. 要在一个

49、按地址访问的存储器中查找一个信息,可以有顺序查找法、对分查找法和散列查找法等。散列(Hashing)查找方法的速度最快。=对快表来说,就是要把多用户虚页号Pv变换成快表的地址Ah,函数关系是:Ah=H(Pv)。3. 把一个大的多用户虚页号Pv散列变换成了一个小的快表地址Ah,因此,必然会有很多个多用户虚页号Pv都散列变换到相同的快表地址Ah中,这种现象称为散列冲突 页面、cache块、快表和目录表存储字的替换,都是由硬件实现的,对不对?不对。虚拟存储器中主存页面的替换,一般用软件实现Cache块替换,一般用硬件实现。其余的,一般用硬件。 理解书中的几种页面替换算法,了解其命中率和实现难易(P4

50、3)1.随机算法2.先进先出算法3.近期最少使用算法4.最久没有使用算法5.最优替换算法 OPT算法不是一种实际能使用的算法,对不对? 对的,可作为标准理想化的算法。 堆栈性替换算法有什么特点,哪些是哪些不是? 堆栈型算法的基本特点:随着分配给程序的主存页面数增加,主存的命中率也提高,至少不下降。LFU算法,OPT算法和LRU算法都是堆栈型算法。FIFO算法不是堆栈型算法。 动态页面调度算法在多道程序中是如何工作的?它要求采用什么样的页面替换算法?由于堆栈型替换算法的命中率随分配个该程序的主存页面增加而单调上升,因此,在多道程序系统中,可以采用一种被称为页面失效频率法(PFF:Page Fau

51、lt Freguency)的动态页面调度方法。过程:根据各道程序在运行过程中页面失效率的情况,由操作系统动态调整分配给每道程序的主存页面数。当一道程序的命中率低于某个限定值时就增加分配给该道程序的主存页面数,以提高它的命中率。而当命中率高于某个限定值时就减少分配给该道程序的主存页面数。这样可以使整个系统的总的命中率和主存利用率都得到提高。 了解影响主存命中率的主要因素影响主存命中率的主要因素:程序执行过程中页地址流分布情况;所采用的页面替换算法;页面大小;主存容量;页面调度方式。页面大小、主存容量与命中率的关系是怎么样的?(参看课件P48图)页面大小为某个值时,命中率达到最大。主存命中率H随着

52、分配给该程序的主存容量S的增加而单调上升。在S比较小的时候,H提高得非常快。随着S的逐渐增加,H提高的速度逐渐降低。当S增加到某一个值之后,H几乎不再提高。 页面调度方式有哪几种,有什么不同?分页式:整个程序调入主存再开始运行请求页式:在发生页面失效时,才将页面调入主存预取式:(1)用在程序被挂起之后又重新开始运行之前;(2)把上次停止运行前一段时间内用到的页面先调入到主存储器,然后才开始运行程序。(3)可以避免在程序开始运行时,频繁发生页面失效的情况。(4)如果调入的页面用不上,浪费了调入的时间,占用了主存资源。 直接相联、组相联、全相联映像的命中率和硬件实现复杂度都如何?(课件补充P49)

53、直接相联:硬件实现很简单, 不需要相联访问存储器;命中率比较低。组相联:实现难度和造价要比直接映象方式高;块的冲突概率比较低,块的利用率大幅度提高,块失效率明显降低。全相联:用硬件实现起来会非常复杂;命中率比较高,Cache存储空间利用率高。 在虚拟存储器中,采用什么映像方式,用软件还是硬件实现?在虚拟存储器中,一般都采用全相联映像,全部用软件实现 直接相联映像实际上不做地址变换,对不对,为什么?对的,因为主存中一块只能映象到Cache的一个特定的块中。地址映象方式简单,数据访问时,只需检查区号是否相等即可。 什么叫组相联度,n路组相联指的什么?主存和Cache按同样大小划分成块,还按同样的块

54、数划分成组,一个区的组数为Cache的总组数。组内块数被称为组相联度,如果组相联度为n,则这种组相联称为n路组相联 位选择组相联映象中主存是否分组,Cache呢?主存不分组,cache分组。除了分块之外,Cache分组,主存按照Cache的组数取相应块数分区。 段相联映像中失效的代价非常高,对不对?对。因为段相联方式的主要缺点:当发生段失效时,要把本段内已经建立起来的映象关系全部撤消。 Cache替换算法是软件还是硬件实现的?虚拟存储器呢?Cache替换算法的主要特点:全部用硬件实现。在虚拟存储器中,一般都采用全相联映像,全部用软件实现 Cache替换算法中计数器位数如何确定?(参看课件P52

55、)方法一.每块一个计数器:在块表内增加一个替换计数器字段,计数器的长度与Cache地址中的组内块号字段的长度相同。=方法二.每组一个计数器:本组有替换时,计数器加“1”,计数器的值就是要被替换出去的块号 比较对法和堆栈法都是LFU算法,只是硬件实现不同,对不对?学会计算二者使用的触发器数量。(对的,参看课件例题P53.) 会计算Cache系统的加速比(参看课件P54) Cache命中率与容量、块大小、组数的关系 =Cache的命中率随它的容量的增加而提高;=在组相联映象方式中,块的大小对H的影响非常大:块很小时,命中率很低。随着块大小的增加,由于程序的局部性,H增加。当块非常大时,进入Cach

56、e中的数据可能用不上。当块大小等于Cache容量时,命中率将趋近于零。=随着组数的增加,Cache的命中率要降低 什么情况Cache与主存不一致?(a) CPU写Cache (b) I/O写主存 Cache有哪2种更新算法,如何工作的?学会计算机2者与主存的通信量。写直达法(写通过法,用于一级cache), 写回法 (抵触修改法,用于二级cache)。(参见P55) 什么是不按写分配法与按写分配法?都与何种更新相配?不按写分配法:在写Cache不命中时,只把所要写的字写入主存按写分配法:在写Cache不命中时,还把一个块从主存读入Cache目前,在写回法中采用按写分配法,在写直达法中采用不按写

57、分配法。 理解几种预取算法,各算法的命中率如何?预取算法有如下几种:按需取:不命中时,把一个块取到Cache中来;=恒预取:无论是否命中,把下一块取到Cache中;=不命中预取:当不命中,把本块和下一块取到Cache中。(恒预取能使Cache的不命中率降低7585%;不命中预取能使Cache的不命中率降低3040%) 评价Cache存储系统性能可以用缺失率、平均存储器访问时间和CPU性能公式,哪个更好?都能保证正确吗评价一个Cache存储系统最准确的方法仍然是通过CPU性能公式。平均存储器访问时间是比缺失率更好的一种存储系统评价方法。缺失率、平均存储器访问时间不能保证正确。 会计算机平均存储器

58、访问时间(需要看电脑上的课件例题了第三章193。)平均存储器访问时间=命中时间+缺失率缺失代价 乱序执行由于指令的重叠执行,降低了缺失代价,通常有更高的性能,对不对?对吧?(有待更正。) 解释一下缺失的4种类型含义强制缺失(compulsory):对一个块的第一次访问一定会发生缺失,也叫冷启动或首次访问缺失。容量缺失(capacity):由于Cache容量不够引起的不能容纳程序所有块引起的缺失,可以理解为全相联映像也无法避免的缺失。冲突缺失(conflict):对于直接映像和组相联映像,在全相联映像下命中,却由于替换策略的问题引起冲突而产生缺失,也叫碰撞或干涉缺失。一致缺失(coherency

59、):由于Cache刷新而保持多处理器中多Cache一致性引起的缺失。 冲突缺失怎样根据组相联度进一步划分?每类含义是什么组相联度的下降会引起冲突缺失,下面将冲突缺失划分为4类,直接映像被看作1路组相联:8路:从全相联(没有冲突)到8路相联而引起的冲突缺失。4路:从8路相联到4路相联而引起的冲突缺失。2路:从4路相联到2路相联而引起的冲突缺失。1路:从2路相联到1路相联(直接映射)而引起的冲突缺失。总缺失=强制缺失+容量缺失+冲突缺失+一致缺失冲突缺失=8路缺失+4路缺失+2路缺失+1路缺失 时延和带宽都很高,适合大块还是小块?都很低呢?在高时延和高带宽的存储器中,较大的块更有效,因为缺失时可以获得更多字节,而缺失代价

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!