《计算机系统结构__《张晨曦、王志英》课后习题参考答案.pdf》由会员分享,可在线阅读,更多相关《计算机系统结构__《张晨曦、王志英》课后习题参考答案.pdf(69页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机系统结构 张晨曦、王志英课后习题参考答案第 1 章计算机系统结构的基本概念1.1解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。虚拟机:用软件实现的机器。翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如
2、此反复,直到解释执行完整个程序。计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部
3、件的执行时间占总执行时间的百分比。程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。包括时间局部性和空间局部性。CPI:每条指令执行的平均时钟周期数。测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。3存储程序计算机:冯诺依曼结构计算机。其基本点是指令驱动。程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。软件兼容:一个软件可以不经修改或者只需少量修改就可以由一台计算机移
4、植到另一台计算机上运行。差别只是执行时间的不同。向 上(下)兼容:按某档计算机编制的程序,不加修改就能运行于比它高(低)档的计算机。向 后(前)兼容:按某个时期投入市场的某种型号计算机编制的程序,不加修改地就能运行于在它之后(前)投入市场的计算机。兼容机:由不同公司厂家生产的具有相同系统结构的计算机。模拟:用软件的方法在一台现有的计算机(称为宿主机)上实现另一台计算机(称为虚拟机)的指令系统。4仿真:用一台现有计算机(称为宿主机)上的微程序去解释实现另一台计算机(称为目标机)的指令系统。并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。只要在时间上相互重叠,就存在并行性。它包括
5、同时性与并发性两种含义。时间重叠:在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。资源重复:在并行性概念中引入空间因素,以数量取胜。通过重复设置硬件资源,大幅度地提高计算机系统的性能。资源共享:这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。耦合度:反映多机系统中各计算机之间物理连接的紧密程度和交互作用能力的强弱。紧密耦合系统:又称直接耦合系统。在这种系统中,计算机之间的物理连接的频带较高,一般是通过总线或高速开关互连,5可以共享主存。松散耦合系统:又称间接耦合系统,一般是通过通道或通信线路实现计
6、算机之间的互连,可以共享外存设备(磁盘、磁带等)。计算机之间的相互作用是在文件或数据集一级上进行。异构型多处理机系统:由多个不同类型、至少担负不同功能的处理机组成,它们按照作业要求的顺序,利用时间重叠原理,依次对它们的多个任务进行加工,各自完成规定的功能动作。同构型多处理机系统:由多个同类型或至少担负同等功能的处理机组成,它们同时处理同一作业中能并行执行的多个任务。1.2试用实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系。答:如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于计算机系统结构。确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于计算机组成。选择存储芯片类型、
7、微组装技术、线路设计等属于计算机实现。计算机组成是计算机系统结构的逻辑实现。计算机实现是计算机组成的物理实现。一种体系结构可以有多种组成。一种组成可以有多种实现。61.3 计算机系统结构的Flynn分类法是按什么来分类的?共分为哪几类?答:Flynn分类法是按照指令流和数据流的多倍性进行分类。把计算机系统的结构分为:(1)单指令流单数据流SISD(2)单指令流多数据流SIMD(3)多指令流单数据流MISD(4)多指令流多数据流MIMD1.4 计算机系统设计中经常使用的4个定量原理是什么?并说出它们的含义。答:(1)以经常性事件为重点。在计算机系统的设计中,对经常发生的情况,赋予它优先的处理权和
8、资源使用权,以得到更多的总体上的改进。(2)Amdahl定律。加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。(3)CPU性能公式。执行一个程序所需的CPU时间=/C XCPI X时钟周期时间。(4)程序的局部性原理。程序在执行时所访问地址的分布不是随机的,而是相对地簇聚。1.5 分别从执行程序的角度和处理数据的角度来看,计算机系统中并行性等级从低到高可分为哪几级?答:从处理数据的角度来看,并行性等级从低到高可分为:(1)字串位串:每次只对一个字的一位进行处理。这是7最基本的串行处理方式,不存在并行性;(2)字串位并:同时对一个字的全部位进行处理,不同字之间是串行的
9、。已开始出现并行性;(3)字并位串:同时对许多字的同一位(称为位片)进行处理。这种方式具有较高的并行性;(4)全并行:同时对许多字的全部位或部分位进行处理。这是最高一级的并行。从执行程序的角度来看,并行性等级从低到高可分为:(1)指令内部并行:单条指令中各微操作之间的并行;(2)指令级并行:并行执行两条或两条以上的指令;(3)线程级并行:并行执行两个或两个以上的线程,通常是以一个进程内派生的多个线程为调度单位;(4)任务级或过程级并行:并行执行两个或两个以上的过程或任务(程序段),以子程序或进程为调度单元;(5)作业或程序级并行:并行执行两个或两个以上的作业或程序。1.6某台主频为400MHz
10、的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:指令类型指令执行数量平均时钟周期数整数450001数据传送750002浮点80004分支15002求该计算机的有效CPI、MIPS和程序执行时间。解:(1)CPI=(45000 X 1+75000 X 2+8000 X 4+1500 X82)/129500=1.776(2)MIPS 速率=f/CPI=400/1.776=225.225MIPS(3)程序执行时间二(45000X1+75000X2+8000X4+1500X2)/400=575s1.7 将计算机系统中某一功能的处理速度加快10倍,但该功能的处理时间仅为整个系统运
11、行时间的40%,则采用此增强功能方法后,能使整个系统的性能提高多少?解 由题可知:可改进比例=40%=0.4 部件加速比=10根据Amdahl定律可知:系统加速比=-=1.5 6 2 5(1-。4)+丝 7 1 0采用此增强功能方法后,能使整个系统的性能提高到原来的1.5625 倍。1.8 计算机系统中有三个部件可以改进,这三个部件的部件加速比为:部件加速比1=30;部件加速比2=20;部件加速比3=10(1)如果部件1 和部件2 的可改进比例均为30%,那么当部件3 的可改进比例为多少时,系统加速比才可以达到10?(2)如果三个部件的可改进比例分别为30%、30%和20%,三个部件同时改进,
12、那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少?解:(1)在多个部件可改进情况下,Amdahl定理的扩展:s=-5-(i)+Z g已知已=30,S2=20,S3=10,Sn=10,Fi=0.3,F2=0.3,得:I。1一+E)+0;/30+0.3/20+”。)得 F3=0.36,即部件3 的可改进比例为36%o(2)设系统改进前的执行时间为T,则 3 个部件改进前的执行时间为:(03+03+0.2)T=0.8T,不可改进部分的执行时间为0.2To已知3 个部件改进后的加速比分别为Si=30,S2=20,S3=1 0,因此3 个部件改进后的执行时间为:%+幽+”=0 0 4 57
13、30 20 1 0改进后整个系统的执行时间为:Tn=0.045T+0.2T=0.245T那么系统中不可改进部分的执行时间在总执行时间中占的比例是:1.9假设某应用程序中有4 类操作,通过改进,各操作获得不同的性能提高。具体数据如下表所示:10操作类型程序中的数量(百万条指令)改进前的执行时间(周期)改进后的执行时间(周期)操作11021操作2302015操作335103操作41541(1)改进后,各类操作的加速比分别是多少?(2)各类操作单独改进后,程序获得的加速比分别是多少?(3)4 类操作均改进后,整个程序的加速比是多少?解:根据Amdahl定律s.=一、可得(1-加+型操作类型各类操作的
14、指令条数在程序中所占的比例Fi各类操作的加速比S各类操作单独改进后,程序获得的加速比操作111.1%21.06操作233.3%1.331.09操作338.9%3.331.37操作416.7%41.144 类操作均改进后,整个程序的加速比:S.,=-!-2.16。)+蓝第 2 章指令集结构的分类2.1 解释下列术语堆栈型机器:C P U 中存储操作数的单元是堆栈的机器。累加器型机器:C P U 中存储操作数的单元是累加器的机器。通用寄存器型机器:C P U 中存储操作数的单元是通用寄存器的机器。11CISC:复杂指令集计算机RISC:精简指令集计算机寻址方式:指令系统中如何形成所要访问的数据的地
15、址。一般来说,寻址方式可以指明指令中的操作数是一个常数、一个寄存器操作数或者是一个存储器操作数。数据表示:硬件结构能够识别、指令系统可以直接调用的那些数据结构。主妹翻勰僦辘睛螯素是什么?根据这个答:区别不同指令集结构的主要因素是CPU中用来存储操作数的存储单元。据此可将指令系统结构分为堆栈结构、累加器结构和通用寄存器结构。号.3 常见的3 种通用寄存器型指令集结构的优缺点有哪答 _指令系统结构类型优 点缺 点寄存-寄存器型(0,3)指令字长固定,指令结构简洁,是一种简单的代码生成模型,各种指令的执行时钟周期数相近。与指令中含存储器操作数的指令系统结构相比,指令条数多,目标代码不够紧凑,因而程序
16、占用的空间比较大。寄存器-存储器型(1,2)可以在ALU指令中直接对存储器操作数进行引用,而不必先用load指令进行加载。容易对指令进行编码,目标代码比较紧凑。由于有一个操作数的内容将被破坏,所以指令中的两个操作数不对称。在一条指令中同时对寄存器操作数和存储器操作数进行编码,有可能限制指令所能够表示的寄存器个数。指令的执行时钟周期数因操作数的来源(寄存器或存储器)不同而差别比较大。存储器-存储器型(2,2)或(3,3)目标代码最紧凑,不需要设置寄存器来保存变量。指令字长变化很大,特别是3 操作数指令。而且每条指令完成的工作也差别很大。对存储器的频繁访问会使存储器成为瓶颈。这种类型的指令系统现在
17、已不用了。答;%嬴锯翼簟整性、高效率和兼12答:主要目标是增强指令功能,把越来越多的功能交由硬件来实现,并且指令的数量也是越来越多。缺点:(1)CISC结构的指令集中,各种指令的使用频率相差悬殊。(2)CISC结构指令的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。(3)CISC结构指令集的复杂性给VLSI设计增加了很大负担,不利于单片集成。(4)CISC结构的指令集中,许多复杂指令需要很复杂的操作,因而运行速度慢。(5)在CISC结构的指令集中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术(如流水技术)来提高系统的性能。2.7简述R
18、ISC指令集结构的设计原则。答(1)选取使用频率最高的指令,并补充一些最有用的13指令;(2)每条指令的功能应尽可能简单,并在一个机器周期内完成;(3)所有指令长度均相同;(4)只 有 Load和 Store操作指令才访问存储器,其它指令操作均在寄存器之间进行;(5)以简单有效的方式支持高级语言。矗。表示寻址方式的主要方法有哪些?简述这些方法的答:表示寻址方式有两种常用的方法:(1)将寻址方式编于操作码中,由操作码在描述指令的同时也描述了相应的寻址方式。这种方式译码快,但操作码和寻址方式的结合不仅增加了指令的条数,导致了指令的多样性,而且增加了 CPU对指令译码的难度。(2)为每个操作数设置一
19、个地址描述符,由该地址描述符表示相应操作数的寻址方式。这种方式译码较慢,但操作码和寻址独立,易于指令扩展。2.1 0 通常有哪几种指令格式,请简述其适用范围。答:(1)变长编码格式。如果系统结构设计者感兴趣的是程序的目标代码大小,而不是性能,就可以采用变长编码格式。(2)固定长度编码格式。如果感兴趣的是性能,而不是程序的目标代码大小,则可以选择固定长度编码格式。(3)混合型编码格式。需要兼顾降低目标代码长度和降低译码复杂度时,可以采用混合型编码格式。2.1 1 根据C P U 性能公式简述RISC指令集结构计算机和CISC指令集结构计算机的性能特点。答:C P U 性能公式:C P U 时间=
20、I C X C P I X T其中,I C 为目标程序被执行的指令条数,CPI为指令平均执行周期数,T 是时钟周期的时间。RISC、O用、日相同.糅滑呼ICRISC,TRISC 第3章流水线技术的各段之间的连接固定不变、只能完:指各段可以进行不同的连接,以实现不同的功sftBrs部。髡塔些行的。一及,多一一EM同f e.嬴1-i-荤?过右窝-7rr/帚一Ms1,Moi8s8o生1 1ali-宣。二、u-JT/SAt;:流一回慝VIIt翁,Mi线结nMSvi o线一一入需的间系1 n处15通过流水线中的各段时,每一个段最多只流过一次。需聚鬟流水线:指各段除了有串行的连接外,还有反馈回路的徵植浮叁
21、零箱幡水线输出端任务流出的顺序与输入端任务流入7黑率:在单位时间内流水线所完成的任务数量或输出结果的酷籁疆窥胆瞄懿触融物用的时间eoiifeitwwft它是指流水线中的设数据相关:考虑两条指令,和,在,的前面,如果下述条件之一成立,则称指令j 与指令,数据相关:(1)指令,使用指令i产生的结果;田 辛(2)指令j 与指令女数据相关,而指令无又与指令i数据相关。但是它们之间并没有勰 黯 蟋 醯 箭 覆 籍 髀 嬷 编 樱 据 分 支 指 令结构冲突:因硬件资源满足不了指令重叠执行的要求而发生的16冲突。结.突春s u屈鬻n 8 I靠需龛建寓为塞中重叠执行时,因需要用到前面指流水线遇xs到 分n支
22、指令或其它会改变P C 值的指令所we匕u突触匕写后读冲突:考虑两条指令i和 j,且 i在 j 之前进入流水线,指 令 j 用到指 令 i 的计算结果,而 且 在 i将结果写入寄存器之前就去读该寄存器,因而得到的是旧值。读后写冲突:考虑两条指令i和 j,且 i在 j 之前进入流水线,指 令 j 的目的寄存器和指令i 的源操作数寄存器相同,而 且 j在 i读取该寄存器之前就先对它进行了写操作,导 致 i读到的值是错误的。写后写冲突:考虑两条指令i和 j,且 i在 j 之前进入流水线,指 令 j 和 指 令 i 的 结 果 单 元(寄存器或存储器单元)相同,而且 j 在 i写入之前就先对该单元进行
23、了写入操作,从而导致写入顺序错误。这时在结果单元中留下的是i写入的值,而不是j 写入的。链接技术:具有先写后读相关的两条指令,在不出现功能部件冲 突 和 Vi冲突的情况下,可以把功能部件链接起来进行流水处17理,以达到加快执行的目的。分段开采:当向量的长度大于向量寄存器的长度时,必须把长向量分成长度固定的段,然后循环分段处理,每一次循环只处理一个向量段。半性能向量长度:向量处理机的性能为其最大性能灯的一半时所需的向量长度。向量长度临界值:向量流水方式的处理速度优于标量串行方式的处理速度时所需的向量长度的最小值。一声o,三行慢线串。度水H流KSS徜。之一指o喈虚率丁,ilKIw匕sss篙盘粟KI
24、唬当日_曰蓼。lHshTAsw8。雷H/r=、一3.2式上能MW方即功8.8果内二afldnXIrv-FT)口15纵3 lr、BI主滑t=饰:t=C2N1而和的流兀术可以实现多条指令的重叠解释执行。t+2A t=4A ti,一:人4超/、间为:4At+3(N-1)N条指令所需的时间为:4At+2(N-1)行过程;执行N条和执行O2?3指f水线器,眸方流需端不成霞提寿段中,啜藕曰 各的两向应尽可能相等,否则将引起流个功能部件的前面都要有一个缓冲寄存4满负而正迟忙旧I F o中日J,只有在输入苦在这两个时间常用方法?b9曰193.8 简述延迟分支方法中的三种调度策略的优缺点。调度策略对调度的要求对
25、流水线性能改善的影响从前调度分支必须不依赖于被调度的指令总是可以有效提高流水线性能从目标处调度如果分支转移失败,必须保证被调度的指令对程序的执行没有影响,可能需要复制被调度指令分支转移成功时,可以提高流水线性能。但由于复制指令,可能加大程序空间从失败处调度如果分支转移成功,必须保证被调度的指令对程序的执行没有影响分支转移失败时,可以提高流水线性能3.9 列举出下面循环中的所有相关,包括输出相关、反相关、真相关。for(i=2;i 2 3 a 4 出50ns 50ns 100ns 200ns叫 求 连 续 输 入1。条指令,该流水线的实际吞吐率和效1 0条令时,,:瓶颈r解:21T pi pe
26、l i ne =):A t i +(n-1)A t i na xi=l=(50+50+1 0 0+2 0 0)4-9 x2 0 0=2 2 0 0(ns)J 1 4 0 0 5E =T P -=T P=4 5.4 5%m 4 1 1(2)瓶颈在3、4 段。变成八级流水线(细分)入 I-I-j I I I I I I I 出1 1 2 a 3_1 3_2 4-4_4 50ns 50ns 50ns 50ns 50ns 50nsT pi pe l i ne =):A t i +(O 1 )A t t n a xi=l=50 x8 +9 x50=8 50(ns)门=%麻3=%5(田)my A t i
27、4 0 0 I nE =T P-y =TP=58.8 2%m 8 1 7重复设置部件228 50 nsT P =%p i=%5(n)E=4 0X 1%5 0 x8=%f t s 58-82%线 虞 点 酷 赛 谓 才 襄 声 翦 第 蠡 鹦,僦馥连续地每 时间输入任务时,该0(嚏续解:(1)会发生流水线阻塞情况。用吞吐率?仍第 1个任务S1S2S3S3S4第 2 个任务S1S2stallS3S3S4第 3 个任务S1stallS2stallS3S3S4第 4 个任务SIstallS2stallS3S3S4(2)T P =-m”2 A rpipeline=T P =%p3 ne=l%3 A f
28、E =T P.5%=5%2 x 54.3 5%23(3)重复设置部件A tA t吞 吐 率 提 高 倍 数=探=1.64%3Ar存 于 相 应 的 乌 省 篦 雕 和效率。0魏鹫/台篝陈酎曲然后求.O法。殂 锌 题算(Ai+24其次,画出完成该计算的时空图,如图所示,图中阴影部分表示该段在工作。里舅可见,它在18个,时间中,给出了 7 个结果。所以吞吐财蟹 蜉 策 疆 嘉TP=-18Ar于 瓦 糜 赞 给 刍 盆 楸 髓 隹c _ 294-18 Ar=1.61格寇至毒狗效率可由阴影区的面积和5个段总时空区的面积的E=4x5+3x35x18=0.3223.15动态多功能流水线由6 个功能段组成,
29、如下图:加法-J-AS1S2S3S4S5S6乘法其中,SI、S4、S5、S 6组成乘法流水线,SI、S2、S3、S 6组成加法流水线,各个功能段时间均为50ns,假设该流水25线的输出结果可以直接返回输入端,而且设置有足够的缓冲寄存器,若以最快的方式用该流水计算:Z xiY ii=l(1)画出时空图;(2)计算实际的吞吐率、加速比和效率。解:机器一共要做10次乘法,4 次加法。赤加 速 比=黑=2.55i d x 4效 率=点=42.42%22X 63.1福 即 线 上 运 督 口 用 髓 列DADDIU RI,R1,SW R1,0(R2)#1DADDIU R2,R2,#4262uo一你Su寄
30、存器读写可以定向,无其他旁路硬件支持。排空流水线。指令LWDADDIUSWDADDIUDSUBBNEZLW1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22IF ID EX M WBIF S S ID EX M WBIF S S ID EX M WBIF ID EX M WBIF S S ID EX M WBIF S S ID EX M WBIF S S IF ID EX M WB第i次 迭 代(i=0.98)开始周期:1+(iX17)总的时钟周期数:(98X17)+18=1684有正常定向路径,预测分支失败。指令1 234 56L
31、WIF IDEXMWBDADDIUIFIDSEXMSWIFSIDEXDADDIUIFIDDSUBIFBNEZLW7 8 9 10 11 1 13 14 15WBM WBEX M WBID EX M WBIF ID EX M WBIF miss miss IF ID EX M WB第i次 迭 代(i=0.98)开始周期:1+(iXIO)总的时钟周期数:(98X10)+11=991有正常定向路径。单周期延迟分支。LOOP:LW RI,0(R2)DADDIU R2,R2,#4DADDIU RI,RI,#1DSUB R4,R3,R227BNEZ R4,LOOPSW RI,-4(R2)第 i 次迭代(i
32、=0.98)开始周期:1+(i X6)总的时钟周期数:(98X6)+10=598指令 1 23456789 10 HLW IF ID EX M WBDADDIUDADDIUDSUBBNEZSWIF ID EX M WBIF ID EX M WBIF ID EX M WBIF ID EX M WBIF ID EX M WBLWIF ID EX M WB3.17假设各种分支指令数占所有指令数的百分比如下:SB83sc一Sv?*1.4件,f孽1331条件分支跳转和调用.20%(其中的60%是分支成功的)支B/+5in,_ _ _=1.29%JT.其al+20=I/l/rrLL JefTAcpCs=i
33、t速第羹蓊额(8加uffl8个IX支一Im28下射G1w川64,1 Au.)拍拍7I 器比-20235,vvvvA n解:通过时间就是每条向量指令的第一个操作数执行完毕需要的时间,也就是各功能流水线由空到满的时间,具体过程如下图所示。要得到全部结果,在流水线充满之后,向量中后继操作数继续以流水方式执行,直到整组向量执行完毕。T 通过=(7+1)+(1+3+1)+(1+4+1)+(1+2+1)=23(拍)T总共=T 通过+(64-1)=23+63=86(拍)拍向量处理机有16个A+(2MFLOP*)就V居也年分8匕褊流水线的通过时间?(设寄存器入、出各需少解:(1)我们在这里假设A+B的中间结果
34、放在V6中,(A29+B)X C地最后结果放在V 7中,D+E地中间结果放在V8中,(D+E)X F的最后结果放在V 9中。具体实现参考下图:VOAV 4 E通过时间应该为前者(A+B)XC)通过的时间:|V3DT 通 过=(1+2+1)+(1+3+1)=9(拍)(2)在 做 完(A+B)X C之后,作(C+D)X E就不需要通过时间了。V 6-A+BV71 4时间执行完12条指令需Ti=14Ato超标量流水处理机与超长指令字处理机的时空图:超标量处理机时空图5 时间超长指令字处理机时空图超标量流水处理机中,每一个时钟周期同时启动4 条指令o执行完12条指令需T2=5 A t,相对于标量流水处
35、理机的加速45比为:S2=-=2.8 T2 5 加超长指令字处理机中,每 4 条指令组成一条长指令,共形成 3 条长指令。执 行 完 1 2 条指令需T3=5 A t,相对于标量流水处理机的加速比为:$3=二=坨=2.873 5AF超流水处理机的时空图:超流水处理机中,每 1/4个时钟周期启动一条指令。执行完 12条指令需T4=5.75At,相对于标量流水处理机的加速比为:s=ZL=_ L =2.435T4 5.754第 5 章存储层次5.1解释下列术语多级存储层次:采用不同的技术实现的存储器,处 在 离 C P U46不同距离的层次上,各存储器之间一般满足包容关系,即任何一层存储器中的内容都
36、是其下一层(离CPU更远的一层)存储器中内容的子集。目标是达到离CPU最近的存储器的速度,最远的存储器的容量。全相联映象:主存中的任一块可以被放置到Cache中任意一个地方。直接映象:主存中的每一块只能被放置到Cache中唯一的一个地方。组相联映象:主存中的每一块可以放置到Cache中唯一的一组中任何一个地方(Cache分成若干组,每组由若干块构成)。替换算法:由于主存中的块比Cache中的块多,所以当要从主存中调一个块到Cache中时,会出现该块所映象到的一组(或一个)Cache块已全部被占用的情况。这时,需要被迫腾出其中的某一块,以接纳新调入的块。LRU:选择最近最少被访问的块作为被替换的
37、块。实际实现都是选择最久没有被访问的块作为被替换的块。写直达法:在执行写操作时,不仅把信息写入Cache中相应的47块,而且也写入下一级存储器中相应的块。写回法:只把信息写入Cache中相应块,该块只有被替换时,才被写回主存。按写分配法:写失效时,先把所写单元所在的块调入Cache,然后再进行写入。不按写分配法:写失效时,直接写入下一级存储器中,而不把相应的块调入Cache。命中时间:访 问 Cache命中时所用的时间。失效率:C P U 访存时,在一级存储器中找不到所需信息的概率。失效开销:C P U 向二级存储器发出访问请求到把这个数据调入一级存储器所需的时间。强制性失效:当第一次访问一个
38、块时,该块不在Cache中,需要从下一级存储器中调入Cache,这就是强制性失效。容量失效:如果程序在执行时,所需要的块不能全部调入Cache中,则当某些块被替换后又重新被访问,就会产生失效,这种48失效就称作容量失效。冲突失效:在组相联或直接映象Cache中,若太多的块映象到同一组(块)中,则会出现该组中某个块被别的块替换(即使别的组或块有空闲位置),然后又被重新访问的情况。2:ICache经验规则:大小为N的直接映象Cache的失效率约等于大小为N/2的两路组相联Cache的实效率。相联度:在组相联中,每 组Cache中的块数。Victim Cache:位 于Cache和存储器之间的又一级
39、Cache,容量小,采用全相联策略。用于存放由于失效而被丢弃(替换)的那些块。每当失效发生时,在访问下一级存储器之前,先检查Victim Cache中是否含有所需块。故障性预取:在预取时,若出现虚地址故障或违反保护权限,就会发生异常。非故障性预取:在预取时,若出现虚地址故障或违反保护权限,不发生异常。非阻塞Cache:Cache在等待预取数据返回时,还能继续提供49指令和数据。尽早重启动:在请求字没有到达时,C P U 处于等待状态。一旦请求字到达,就立即发送给C P U,让等待的C P U 尽早重启动,继续执行。请求字优先:调块时,首先向存储器请求C P U 所要的请求字。请求字一旦到达,就
40、立即送往C P U,让 C P U 继续执行,同时从存储器调入该块的其余部分。虚拟Cache:地址使用虚地址的Cacheo多体交叉存储器:具有多个存储体,各体之间按字交叉的存储技术。存储体冲突:多个请求要访问同一个体。聘 前 爨 腕 萨 雅 放 近 期 经 常 使 用 的 页 表 项 简述“Cache主存”层次与“主存一辅存”层次的区别。存储层次比较项目“Cache主存”层次“主存一辅存”层次目的为了弥补主存速度的不足为了弥补主存容量的不足存储管理的实现全部由专用硬件实现主要由软件实现访问速度的比值(第一级比第二级)几比一几万比一典型的块(页)大小几十个字节几百到几千个字节CPU对第二级的访问
41、方式可直接访问均通过第一级505.4降低Cache失效率有哪几种方法?简述其基本思想。答:常用的降低Cache失效率的方法有下面几种:(1)增 加Cache块大小。增加块大小利用了程序的空间局部性。(2)增 加Cache的容量。(3)提高相联度,降低冲突失效。(4)伪 相 联C ache,降低冲突失效。当对伪相联Cache进行访问时,首先是按与直接映象相同的方式进行访问。如果命中,则从相应的块中取出所访问的数据,送给C PU,访问结束。如果不命中,就将索引字段的最高位取反,然后按照新索引去寻找“伪相联组”中的对应块。如果这一块的标识匹配,则称发生了“伪命中”。否则,就访问下一级存储器。(5)硬
42、件预取技术。在处理器提出访问请求前预取指令和数据。(6)由编译器控制的预取,硬件预取的替代方法,在编译时加入预取的指令,在数据被用到之前发出预取请求。(7)编译器优化,通过对软件的优化来降低失效率。(8)“牺牲 Cache。在 Cache和其下一级存储器的数据通路之间增设一个全相联的小Cache,存放因冲突而被替换出去的那些块。每当发生不命中时,在访问下一级存储器之前,先检查“牺牲”Cache中是否含有所需的块。如果有,就将该块与Cache中某个块做交换,把所需的块从“牺牲 C a c h e 调 入 Cache oCache%鹊技术、”层次中,主存的更新算法有哪两富患频雷较砥。种噎据耍如O
43、易于实现,而且下一级存储器中的数需 翁 留 点 鹘 鳄 福 电 泰 赞 集 第I籍靠直竟n靠 菜 料 睡为 代 露 鸳 蠹 蒯 翻 蟒 樱 是 以 增 加 命 中 时 间525.9 写出三级Cache的平均访问时间的公式。解:平均访存时间=命中时间+失效率X失效开销只有第I 层失效时才会访问第1 +1。设三级Cache的命中率分别为肛1、H 1 2、肛3,失效率分别为M i l、M 1 2、M L 3,第三级Cache的失效开销为P L 3。平均访问时间 TA=H L 1+M 1 1 H 1 2+M 1 2(H L 3+M L 3 XP L 3)对Cache 也问点全部访两9(25%=1国1哪
44、是多题意,ache生/128KB种 Cache少?A0.15%)+生Cache的失效率略低一些,只有0 95 y颉八(2)平均访存时间公式可以分为指令访问和数据访问两部分:器效率+25%/_=16KB两路组相联统一 Cache和 32KB直58接映象统一 Cache机器的实际CPI;(2)在实际TLB情况下,用(1)的结果,计算均采用写回法 16KB直接映象统一 Cache、16KB两路组相联统一Cache和 32KB直接映象统一 Cache机器的实际CPI;其中假设16KB直接映象统一 Cache、16KB两路组相联统一 Cache和 32KB直接映象统一 Cache的失效率分别为2.9%2
45、.2%和 2.0%;25%的访存为写访问。解:CPI=CPI执 行+存储停顿周期数/指令数存储停顿由下列原因引起:从主存中取指令 load和 store指令访问数据 由TLB引起存储停顿周期数取指令停顿+数据访问停顿+TLB停顿指令数 指令数 指令数停顿周期数 存储访问指令数X失效率X失效开销存储停顿周期数指令数=(R指令P指 令)卜(f数据R效据P数据)-TLB停顿指令数(1)对于理想TLB,TLB失效开销为0。而对于统一 Cache,R指令二R数据P指令=主存延迟+传输一个块需要使用的时间=40+32/4=48(拍)若为读失效,P数据=主存延迟+传输一个块需要使用的时间=40+32/4=4
46、8(拍)若为写失效,且块是干净的,P数据=主存延迟+传输一个块需要使用的时间59=40+32/4=48(拍)若为写失效,且块是脏的,P数据=主存延迟+传输两个块需要使用的时间=40+64/4=56(拍)CPI=1.5+RP+(RP*20%)+0 指令访存全是读,而数据传输指令Load或 Store指令,f数 据*P数据=读百分比*(f数 据*P数据)+写百分比*(f数据*P干净数据*其对应的百分比+f 数 据*P脏数据*其对应的百分比)=20%*(75%X48+25%*(50%*48+50%*(48+16)=50(拍)代入上述公式计算出结果为:7ZB访问存储访问次数配置失效率CPI16KB直接
47、统一映象0.0294.416KB两路统一映象0.0223.432KB直接统一映象0.0203.2-7-Z-B-停-顿-=,存储 访 问 次 数)x TLB矢效率x 7TB失效开销-指令数 指令数(2)将 f数 据(数据访问指令频率),Rt和 Pt(分别是TLB的失效率和失效开销),&和 Pw(分别是Cache的失效率和写回的频率)代入公式得:TLB 停顿/指令数=l+f 数 据 *&(l+Rw)RtPt其中,1+f数据:每条指令的访问内存次数;Rc(l+Rw):每次内存访问需要的TLB访问次数。60由条件得:TLB 停顿/指令数=l+20%*Rc(l+25%)0.2%X 20配置失效率理想TL
48、B的CPI16K B直接统一映象0.0294.016KB两路统一映象0.0223.432KB直接统一映象0.0203.2第 6 章输入输出系统6.1 解释以下术语响应时间:从用户键入命令开始,到得到结果所花的时间。可靠性:指系统从某个初始参考点开始一直连续提供服务的能力,它通常用平均无故障时间来衡量。可用性:指系统正常工作的时间在连续两次正常服务间隔时间中所占的比率。可信性:指服务的质量,即在多大程度上可以合理地认为服务是可靠的。61RAID:廉价磁盘冗余阵列或独立磁盘冗余阵列。分离事务总线:将总线事务分成请求和应答两部分。在请求和应答之间的空闲时间内,总线可以供给其它的I/O使用。采用这种技
49、术的总线称为分离事务总线。通道:专门负责整个计算机系统输入输出工作的专用处理机,能执行有限的一组输入输出指令。通道流量:指一个通道在数据传送期间,单位时间内能够传送的数据量。虚拟DM A:它允许DM A 设备直接使用虚拟地址,并在D M A传送的过程中由硬件将虚拟地址转换为物理地址。异步I/O:允许进程在发出I/O请求后继续执行,直到该进程真正访问这些数据而它们又尚未就绪时,才被挂起。6.2假设一台计算机的I/O处理时间占1 0%,当其CPU性能改进为原来的100倍,而 I/O性能仅改进为原来的2倍时,系统总体性能会有什么样的变化?解:加速比=-=16.9410%/2+90%/100626.3
50、 RAID有哪些分级?各有何特点?答:(1)RAID0o亦称数据分块,即把数据分布在多个盘上,实际上是非冗余阵列,无冗余信息。(2)RAIDlo亦称镜像盘,使用双备份磁盘。每当数据写入一个磁盘时,将该数据也写到另一个冗余盘,这样形成信息的两份复制品。如果一个磁盘失效,系统可以到镜像盘中获得所需要的信息。镜像是最昂贵的解决方法。特点是系统可靠性很高,但效率很低。(3)RAID2o位交叉式海明编码阵列。即数据以位或字节交叉的方式存于各盘,采用海明编码。原理上比较优越,但冗余信息的开销太大,因此未被广泛应用。(4)RAID3。位交叉奇偶校验盘阵列,是单盘容错并行传输的阵列。即数据以位或字节交叉的方式