《计算机体系结构课后习题.pdf》由会员分享,可在线阅读,更多相关《计算机体系结构课后习题.pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第 1 1 章章 电脑系统结构的基本概念电脑系统结构的基本概念1.1 试用实例说明电脑系统结构、电脑组成与电脑实现之间的相互关系。答:如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于电脑系统结构。确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于电脑组成。选择存储芯片类型、微组装技术、线路设计等属于电脑实现。电脑组成是电脑系统结构的逻辑实现。电脑实现是电脑组成的物理实现。一种体系结构可以有多种组成。一种组成可以有多种实现。1.2 电脑系统设计中经常使用的4 个定量原理是什么?并说出它们的含义。答: 1以经常性事件为重点。在电脑系统的设计中,对经常发生的情况,赋予它优先的处理权和资
2、源使用权,以得到更多的总体上的改良。 2Amdahl 定律。加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。 3CPU 性能公式。执行一个程序所需的 CPU 时间 = IC CPI 时钟周期时间。 4程序的局部性原理。程序在执行时所访问地址的分布不是随机的,而是相对地簇聚。1.3 电脑系统中有三个部件可以改良,这三个部件的部件加速比为:部件加速比1=30;部件加速比2=20;部件加速比3=10(1) 如果部件 1 和部件 2 的可改良比例均为 30%,那么当部件 3 的可改良比例为多少时,系统加速比才可以到达10?(2) 如果三个部件的可改良比例分别为30%、30%
3、和 20%,三个部件同时改良, 那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少?解: 1在多个部件可改良情况下,Amdahl 定理的扩展:Sn1F(1Fi)iSi已知 S130,S220,S310,Sn10,F10.3,F20.3,得:110 1(- 0.30.3 F3) (0.3/300.3/ 20 F3/10)得 F30.36,即部件 3 的可改良比例为 36%。2设系统改良前的执行时间为T,则 3 个部件改良前的执行时间为: 0.3+0.3+0.2T = 0.8T,不可改良部分的执行时间为0.2T。已知 3 个部件改良后的加速比分别为S130,S220,S310,因此 3
4、个部件改良后的执行时间为:Tn0.3T0.3T0.2T 0.045T302010那么系统中不可改良部分的执行时间在总执行时间中占的比例是:0.2T 0.820.245T1.4 假设某应用程序中有4 类操作,通过改良,各操作获得不同的性能提高。具体数据如下表所示:操作类型程序中的数量百万条指令改良前的执行时间周期改良后的执行时间周期操作 1操作 2操作 3操作 410303515220104115311改良后,各类操作的加速比分别是多少?2各类操作单独改良后,程序获得的加速比分别是多少?34 类操作均改良后,整个程序的加速比是多少?解:根据 Amdahl 定律Sn操作类型操作 1操作 2操作 3
5、操作 4各类操作的指令条数在程序中所占的比例 Fi11.1%33.3%38.9%16.7%各类操作的加速比 Si24各类操作单独改良后,程序获得的加速比1.061.141Fe(1 Fe)Se可得4 类操作均改良后,整个程序的加速比:1Sn 2.16Fi(1Fi)Si第 2 章 指令集结构的分类2.1 区别不同指令集结构的主要因素是什么?根据这个主要因素可将指令集结构分为哪3 类?答: 区别不同指令集结构的主要因素是CPU 中用来存储操作数的存储单元。 据此可将指令系统结构分为堆栈结构、累加器结构和通用寄存器结构。2.2 简述 CISC 指令集结构功能设计的主要目标。从当前的电脑技术观点来看,
6、CISC 指令集结构的电脑有什么缺点?答:主要目标是增强指令功能, 把越来越多的功能交由硬件来实现, 并且指令的数量也是越来越多。缺点: (1) CISC 结构的指令集中,各种指令的使用频率相差悬殊。 2CISC 结构指令的复杂性带来了电脑体系结构的复杂性, 这不仅增加了研制时间和成本, 而且还容易造成设计错误。 3CISC 结构指令集的复杂性给VLSI 设计增加了很大负担, 不利于单片集成。 4CISC 结构的指令集中,许多复杂指令需要很复杂的操作,因而运行速度慢。 (5) 在 CISC结构的指令集中,由于各条指令的功能不均衡性, 不利于采用先进的电脑体系结构技术 如流水技术来提高系统的性能
7、。2.3 简述 RISC 指令集结构的设计原则。答1 选取使用频率最高的指令,并补充一些最有用的指令;2每条指令的功能应尽可能简单,并在一个机器周期内完成; 3所有指令长度均相同; 4只有 Load 和 Store操作指令才访问存储器,其它指令操作均在寄存器之间进行; (5) 以简单有效的方式支持高级语言。第 3 章 流水线技术解释以下术语流水线:将一个重复的时序过程, 分解成为假设干个子过程, 而每一个子过程都可有效地在其专用功能段上与其它子过程同时执行。3.2 指令的执行可采用顺序执行、重叠执行和流水线三种方式,它们的主要区别是什么?各有何优缺点。答: 1指令的顺序执行是指指令与指令之间顺
8、序串行。即上一条指令全部执行完后,才能开始执行下一条指令。优点:控制简单,节省设备。缺点:执行指令的速度慢,功能部件的利用率低。2指令的重叠指令是在相邻的指令之间, 让第 k 条指令与取第 k+l 条指令同时进行。重叠执行不能加快单条指令的执行速度, 但在硬件增加不多的情况下, 可以加快相邻两条指令以及整段程序的执行速度。与顺序方式相比,功能部件的利用率提高了,控制变复杂了。3指令的流水执行是把一个指令的执行过程分解为假设干个子过程,每个子过程由专门的功能部件来实现。 把多个处理过程在时间上错开, 依次通过各功能段,每个子过程与其它的子过程并行进行。 依靠提高吞吐率来提高系统性能。 流水线中各
9、段的时间应尽可能相等3.3 简述先行控制的基本思想。答: 先行控制技术是把缓冲技术和预处理技术相结合。 缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲器, 用以平滑它们的工作。 预处理技术是指预取指令、 对指令进行加工以及预取操作数等。采用先行控制方式的处理机内部设置多个缓冲站, 用于平滑主存、指令分析部件、运算器三者之间的工作。这样不仅使它们都能独立地工作, 充分忙碌而不用相互等待, 而且使指令分析部件和运算器分别能快速地取得指令和操作数, 大幅度地提高指令的执行速度和部件的效率。 这些缓冲站都按先进先出的方式工作, 而且都是由一组假设干个能快速访问的存储单元和相关的控制逻辑组成。采用
10、先行控制技术可以实现多条指令的重叠解释执行。3.4 设一条指令的执行过程分成取指令、分析指令和执行指令三个阶段,每个阶段所需的时间分别为t、t 和 2t 。分别求出以下各种情况下, 连续执行 N 条指令所需的时间。1顺序执行方式;2只有“取指令”与“执行指令”重叠;3 “取指令” 、 “分析指令”与“执行指令”重叠。解: 1每条指令的执行时间为:tt2t4t连续执行 N 条指令所需的时间为:4Nt2连续执行 N 条指令所需的时间为:4t3N-1t3N1t3连续执行 N 条指令所需的时间为:4t2N-1t2N2t3.7 减少流水线分支延迟的静态方法有哪些?答: 1预测分支失败:沿失败的分支继续处
11、理指令,就好象什么都没发生似的。当确定分支是失败时,说明预测正确,流水线正常流动;当确定分支是成功时, 流水线就把在分支指令之后取出的指令转化为空操作,并按分支目标地址重新取指令执行。2预测分支成功:当流水线 ID 段检测到分支指令后,一旦计算出了分支目标地址,就开始从该目标地址取指令执行。3延迟分支:主要思想是从逻辑上“延长”分支指令的执行时间。把延迟分支看成是由原来的分支指令和假设干个延迟槽构成。 不管分支是否成功, 都要按顺序执行延迟槽中的指令。3 种方法的共同特点:它们对分支的处理方法在程序的执行过程中始终是不变的。它们要么总是预测分支成功,要么总是预测分支失败。3.12 有一指令流水
12、线如下所示入1234出50ns50ns100ns200ns(1)求连续输入 10 条指令,该流水线的实际吞吐率和效率;(2)该流水线的“瓶颈”在哪一段?请采取两种不同的措施消除此“瓶颈”。对于你所给出的两种新的流水线,连续输入10 条指令时,其实际吞吐率和效率各是多少?解: 1Tpipelineti (n 1)tmaxi1m (5050100 200) 9200 2200(ns)TP nTpipeline1220(ns1)E TPti1mim TP4005 45.45%4112瓶颈在 3、4 段。变成八级流水线细分入150ns250ns3_150ns3_250ns4_150ns4_450ns出
13、Tpipelineti (n 1)tmaxi1m 508 950 850(ns)TP nTpipeline185(ns1)E TPtii1mm TP40010 58.82%817重复设置部件TP nTpipeline185(ns1)E 4001085081017 58.82%段4_44_34_24_13_213_124327684-11094-253-1268102135793-212345678910112345678910144-3时间4-4850ns有一个流水线由 4 段组成,其中每当流经第 3 段时,总要在该段循环一次, 然后才能流到第 4 段。如果每段经过一次所需要的时间都是t,问:
14、(1)当在流水线的输入端连续地每t时间输入任务时,该流水线会发生什么情况?(2)此流水线的最大吞吐率为多少?如果每2t输入一个任务,连续处理 10 个任务时的实际吞吐率和效率是多少?(3)当每段时间不变时,如何提高该流水线的吞吐率?仍连续处理 10 个任务时,其吞吐率提高多少?解: 1会发生流水线阻塞情况。第 1 个任务第 2 个任务第 3 个任务第 4 个任务S1S2S1S3S2S1S3stallstallS4S3S2S1S3stallstallS4S3S2S3stallS4S3S3S42段42673458910311223344556677889910 10251234678910时间11
15、234567891023t1TPmaxTpipelineTp n12t 23tTpipeline1023tE TP5t50 54.35%4923重复设置部件t3_11243_2tttt段43_23_1211112434465668788910112324535656757878979910109102334时间21014tTP nTpipeline1014t7t23t57t5吞吐率提高倍数103.14 有一条静态多功能流水线由5 段组成,加法用1、3、4、5 段,乘法用1、2、5 段,第 3 段的时间为 2t,其余各段的时间均为t,而且流水线的输出可以直接返回输入端或4),画出其时空图,并计暂
16、存于相应的流水寄存器中。现要在该流水线上计算(ABiii1算其吞吐率、加速比和效率。1t加法2ttt2t3乘法45解:首先,应选择适合于流水线工作的算法。对于此题,应先计算 A1B1、A2B2、A3B3和 A4B4;再计算(A1B1) (A2B2)和(A3B3) (A4B4);然后求总的结果。其次,画出完成该计算的时空图,如下图,图中阴影部分表示该段在工作。段54321ABCDABCDABCDA=A1B1B=A2B2C=A3B3D=A4B4输0123入456789A1A2A3A4B1B2B3B41011 12131415 16 17 18ABACBDCD时间由图可见,它在 18 个 t 时间中
17、,给出了 7 个结果。所以吞吐率为:7TP 18t如果不用流水线,由于一次求积需 3 t,一次求和需 5 t,则产生上述 7 个结果共需45+33 t =29 t。所以加速比为:29tS 1.6118t该流水线的效率可由阴影区的面积和5 个段总时空区的面积的比值求得:4533E 0.3225183.15 动态多功能流水线由6 个功能段组成,如以下图:S1S2S3加法S4乘法S5S6其中,S1、S4、S5、S6 组成乘法流水线,S1、S2、S3、S6 组成加法流水线,各个功能段时间均为 50ns,假设该流水线的输出结果可以直接返回输入端,而且设置有足够的缓冲寄存器,假设以最快的方式用该流水计算:
18、x y ziii15i(1)画出时空图;(2)计算实际的吞吐率、加速比和效率。解:机器一共要做 10 次乘法,4 次加法。第 4 章 指令级并行解释以下术语指令级并行:简称ILP。是指指令之间存在的一种并行性,利用它,电脑可以并行执行两条或两条以上的指令。指令调度: 通过在编译时让编译器重新组织指令顺序或通过硬件在执行时调整指令顺序来消除冲突。指令的动态调度: 是指在保持数据流和异常行为的情况下, 通过硬件对指令执行顺序进行重新安排,以提高流水线的利用率且减少停顿现象。是由硬件在程序实际运行时实施的。指令的静态调度:是指依靠编译器对代码进行静态调度, 以减少相关和冲突。它不是在程序执行的过程中
19、、而是在编译期间进行代码调度和优化的。4.2 简述 Tomasulo算法的基本思想。答:核心思想是: 记录和检测指令相关,操作数一旦就绪就立即执行,把发生RAW冲突的可能性减小到最少; 通过寄存器换名来消除 WAR 冲突和 WAW 冲突。寄存器换名是通过保留站来实现,它保存等待流出和正在流出指令所需要的操作数。基本思想: 只要操作数有效, 就将其取到保留站, 防止指令流出时才到寄存器中取数据,这就使得即将执行的指令从相应的保留站中取得操作数, 而不是从寄存器中。 指令的执行结果也是直接送到等待数据的其它保留站中去。 因而,对于连续的寄存器写, 只有最后一个才真正更新寄存器中的内容。 一条指令流
20、出时, 存放操作数的寄存器名被换成为对应于该寄存器保留站的名称编号 。4.4 假设有一条长流水线,仅仅对条件转移指令使用分支目标缓冲。假设分支预测错误的开销为 4 个时钟周期,缓冲不命中的开销为 3 个时钟周期。假设:命中率为 90%,预测精度为 90%,分支频率为 15%,没有分支的基本 CPI 为 1。(1)求程序执行的 CPI。(2)相对于采用固定的2个时钟周期延迟的分支处理, 哪种方法程序执行速度更快?解: 1程序执行的 CPI = 没有分支的基本 CPI1 + 分支带来的额外开销分支带来的额外开销是指在分支指令中, 缓冲命中但预测错误带来的开销与缓冲没有命中带来的开销之和。分支带来的
21、额外开销= 15% * (90%命中10%预测错误4 + 10没命中3)2采用固定的 2 个时钟周期延迟的分支处理CPI = 1 + 15%由1 2可知分支目标缓冲方法执行速度快。4.5 假设分支目标缓冲的命中率为 90%,程序中无条件转移指令的比例为 5%,没有无条件转移指令的程序 CPI 值为 1。假设分支目标缓冲中包含分支目标指令, 允许无条件转移指令进入分支目标缓冲,则程序的CPI 值为多少?解:设每条无条件转移指令的延迟为x,则有:15%x1.1x2当分支目标缓冲命中时,无条件转移指令的延迟为0。所以 程序的 CPI 1 2 5% 第 5 章 存储层次以下术语多级存储层次:采用不同的
22、技术实现的存储器,处在离CPU 不同距离的层次上,各存储器之间一般满足包容关系,即任何一层存储器中的内容都是其下一层离CPU 更远的一层存储器中内容的子集。目标是到达离CPU 最近的存储器的速度,最远的存储器的容量。全相联映象:主存中的任一块可以被放置到Cache 中任意一个地方。直接映象:主存中的每一块只能被放置到Cache 中唯一的一个地方。组相联映象:主存中的每一块可以放置到Cache 中唯一的一组中任何一个地方Cache 分成假设干组,每组由假设干块构成 。替换算法:由于主存中的块比Cache 中的块多,所以当要从主存中调一个块到Cache 中时,会出现该块所映象到的一组或一个Cach
23、e 块已全部被占用的情况。这时,需要被迫腾出其中的某一块,以接纳新调入的块。5.2 简述“Cache主存”层次与“主存辅存”层次的区别。答:存储层次比较项目“Cache主存”层次“主存辅存”层次目的存储管理的实现访问速度的比值第一级比第二级典型的块页大小CPU 对第二级的访问方式不命中时 CPU 是否切换为了弥补主存速度的不足全部由专用硬件实现几比一几十个字节可直接访问不切换为了弥补主存容量的不足主要由软件实现几万比一几百到几千个字节均通过第一级切换到其它进程5.3 地址映象方法有哪几种?它们各有什么优缺点?答:(1) 全相联映象。实现查找的机制复杂,代价高,速度慢。Cache 空间的利用率较
24、高,块冲突概率较低,因而Cache 的失效率也低。 2直接映象。实现查找的机制简单,速度快。Cache 空间的利用率较低,块冲突概率较高,因而Cache 的失效率也高。 3组相联映象。组相联是直接映象和全相联的一种折衷。5.7 在“Cache主存”层次中,主存的更新算法有哪两种?它们各有什么特点?答: 1写直达法。易于实现,而且下一级存储器中的数据总是最新的。2写回法。速度快,“写”操作能以Cache 存储器的速度进行。而且对于同一单元的多个写最后只需一次写回下一级存储器,有些“写”只到达Cache,不到达主存,因而所使用的存储器频带较低。5.8 组相联Cache的失效率比相同容量直接映象Ca
25、che的失效率低。 由此能否得出结论:采用组相联一定能带来性能上的提高?为什么?答:不一定。因为组相联命中率的提高是以增加命中时间为代价的, 组相联需要增加多路选择开关。5.9 写出三级 Cache 的平均访问时间的公式。解:平均访存时间 命中时间失效率失效开销只有第 I 层失效时才会访问第 I1。设三级 Cache 的命中率分别为 HL1、 Hl2、 HL3,失效率分别为 Ml1、Ml2、ML3,第三级Cache 的失效开销为 PL3。平均访问时间 TAHL1Ml1Hl2Ml2(HL3ML3PL3)5.10 假设对指令 Cache 的访问占全部访问的 75%;而对数据 Cache 的访问占全
26、部访问的 25%。Cache 的命中时间为 1 个时钟周期,失效开销为50 个时钟周期,在混合Cache 中一次 load 或 store 操作访问 Cache 的命中时间都要增加一个时钟周期,32KB 的指令 Cache的失效率为 0.39%,32KB 的数据 Cache 的失效率为 4.82%, 64KB 的混合 Cache 的失效率为1.35%。又假设采用写直达策略,且有一个写缓冲器,并且忽略写缓冲器引起的等待。试问指令 Cache 和数据 Cache 容量均为 32KB 的别离 Cache 和容量为 64KB 的混合 Cache 相比,哪种 Cache 的失效率更低?两种情况下平均访存
27、时间各是多少?解: 1根据题意,约 75%的访存为取指令。因此,别离 Cache 的总体失效率为: 75%0.15%25%1.055%;容量为 128KB 的混合 Cache 的失效率略低一些,只有5%。2平均访存时间公式可以分为指令访问和数据访问两部分:平均访存时间指令所占的百分比读命中时间读失效率失效开销数据所占的百分比数据命中时间数据失效率失效开销所以,两种结构的平均访存时间分别为:别离 Cache 的平均访存时间75%10.15%5025%1%5075%1.07525%混合 Cache 的平均访存时间75%10.95%5025%110.95%5075%1.47525%2.475因此,尽
28、管别离 Cache 的实际失效率比混合Cache 的高,但其平均访存时间反而较低。别离 Cache 提供了两个端口,消除了结构相关。第 6 章输入输出系统6.1 解释以下术语响应时间:从用户键入命令开始,到得到结果所花的时间。通道:专门负责整个电脑系统输入/输出工作的专用处理机,能执行有限的一组输入输出指令。通道流量:指一个通道在数据传送期间,单位时间内能够传送的数据量。虚拟 DMA:它允许 DMA 设备直接使用虚拟地址,并在 DMA 传送的过程中由硬件将虚拟地址转换为物理地址。异步 I/O:允许进程在发出 I/O 请求后继续执行,直到该进程真正访问这些数据而它们又尚未就绪时,才被挂起。6.2
29、 假设一台电脑的 I/O 处理时间占 10%,当其CPU 性能改良为原来的 100 倍,而I/O性能仅改良为原来的 2 倍时,系统总体性能会有什么样的变化?解:加速比116.9410%/290%/1006.4 同步总线和异步总线各有什么优缺点?答:(1) 同步总线。同步总线上所有设备通过统一的总线系统时钟进行同步。同步总线成本低, 因为它不需要设备之间互相确定时序的逻辑。 但是其缺点是总线操作必须以相同的速度运行。 (2) 异步总线。异步总线上的设备之间没有统一的系统时钟,设备自己内部定时。 设备之间的信息传送用总线发送器和接收器控制。 异步总线容易适应更广泛的设备类型,扩充总线时不用担忧时钟
30、时序和时钟同步问题。 但在传输时, 异步总线需要额外的同步开销。6.5 电脑系统字长 32 位,包含两个选择通道和一个多路通道,每个选择通道上连接了两台磁盘机和两台磁带机,多路通道上连接了了两台行式打印机,两台读卡机,10 台终端,假定各设备的传输率如下:磁盘机:800KBps磁带机:200KBps终端:1KBps计算该电脑系统的最大 I/O 数据传输率。解:此题要求计算通道的吞吐率,而且机器有一个多路通道, 这就有两种可能:字节多路通道和数组多路通道。 因为如果将多路通道组织成数组多路通道, 某个时刻通道只能为一台设备传送数据, 所以它的传输率是所有设备的传输率的最大值, 而如果将它组织成字
31、节多路通道,该通道的最大传输率就是所有设备的传输率之和。所以在此题中,从性能上考虑,应组织成字节多路通道形式。所以此类通道的最大传输率为:1fBYTEfif打印机传输率2f读卡机传输率2f终端传输率10i1.142两个选择通道连接的设备相同,所以只要计算其中一个通道的传输率既可。因为磁盘机的传输率大于磁带机。所以此类通道的传输率为:max800,200800KBps所以本系统的最大数据传输率为: f系统280025.61625.6KBps。6.6 简述通道完成一次数据传输的主要过程。答: 1在用户程序中使用访管指令进入管理程序,由CPU 通过管理程序组织一个通道程序, 并启动通道。 (2) 通
32、道处理机执行 CPU 为它组织的通道程序, 完成指定的数据 I/O工作。 (3) 通道程序结束后向 CPU 发中断请求。CPU 响应这个中断请求后,第二次进入操作系统,调用管理程序对I/O 中断请求进行处理。6.7 试比较三种通道的优缺点及适用场合。答: 1 字节多路通道。 一种简单的共享通道, 主要为多台低速或中速的外围设备服务。2数组多路通道。适于为高速设备服务。 3选择通道。为多台高速外围设备如磁盘存储器等服务的。6.8 一个字节多路通道连接有6 台设备,它们的数据传输率如下表所示。设备名称D1D2D3D4D5D6数据传输速率B/ms505040252510(1)计算该通道的实际工作流量
33、。(2)假设通道的最大流量等于实际工作流量,求通道的工作周期Ts+TD。解: 1通道实际流量为fbytefi 5050 40 252510 200B / msi162由于通道的最大流量等于实际工作流量,即有1fmaxbyte 200B / msTSTD可得,通道的工作周期Ts+TD= 5s。s,传送一个字节的数据所需的时间TDs。假设某种低速外设每隔 500s 发出一次传送请求,那么,该通道最多可连接多少台这种外设?1解:字节多路通道的最大流量为:fmaxbyteTSTD字节多路通道的实际流量为:fbytefii1p其中,p 为通道连接的外设台数,fi为外设 i 的数据传输速率。因为连接的是同
34、样的外设,所以 f1=f2=fp=f,故有 fbyte=pf。通道流量匹配的要求有:fmax-bytefbyte11即有: pf;可得:p TSTD(TSTD) fs,TDs,1/f = 500s,可求出通道最多可连接的设备台数为:500s1p 50(TSTD) f(9.80.2)s6.10 在有 Cache 的电脑系统中,进行 I/O 操作时,会产生哪些数据不一致问题?如何克服?答: 1存储器中可能不是CPU 产生的最新数据 ,所以I/O 系统从存储器中取出来的是陈旧数据。2I/O 系统与存储器交换数据之后,在Cache 中,被 CPU 使用的可能就会是陈旧数据。第一个问题可以用写直达Cac
35、he 解决。第二个问题操作系统可以保证 I/O 操作的数据不在 cache 中。如果不能,就作废 Cache中相应的数据。6.11 假设在一个电脑系统中:(1)每页为 32KB,Cache 块大小为 128 字节;(2)对应新页的地址不在 Cache 中,CPU 不访问新页中的任何数据;(3)Cache 中 95%的被替换块将再次被读取,并引起一次失效;(4)Cache 使用写回方法,平均 60%的块被修改过;(5)I/O 系统缓冲能够存储一个完整的Cache 块;(6)访问或失效在所有 Cache 块中均匀分布;(7)在 CPU 和 I/O 之间,没有其它访问Cache 的干扰;(8)无 I
36、/O 时,每 100 万个时钟周期内有 18000 次失效;(9)失效开销是 40 个时钟周期。如果被替换的块被修改过,则再加上 30 个周期用于写回主存;(10) 假设电脑平均每 200 万个周期处理一页。试分析 I/O 对于性能的影响有多大?解:每个主存页有 32K/128256 块。因为是按块传输, 所以 I/O 传输本身并不引起 Cache 失效。 但是它可能要替换 Cache中的有效块。如果这些被替换块中有 60是被修改过的,将需要25660304608 个时钟周期将这些被修改过的块写回主存。这些被替换出去的块中,有 95的后继需要访问,从而产生 95256244 次失效,将再次发生
37、替换。由于这次被替换的244 块中数据是从 I/O 直接写入 Cache 的,因此所有块都为被修改块,需要写回主存因为 CPU 不会直接访问从 I/O 来的新页中的数据,所以它们不会立即从主存中调入 Cache ,需要时间是 244403017080 个时钟周期。没有 I/O 时,每一页平均使用 200 万个时钟周期,Cache 失效 36000 次,其中 60被修改过,所需的处理时间为:360004040360006040302088000时钟周期时钟 I/O 造成的额外性能损失比例为460817080200000020880000.53即大约产生 0.53的性能损失。第 7 章 互连网络7
38、.1 解释以下术语线路交换: 在线路交换中, 源结点和目的结点之间的物理通路在整个数据传送期间一直保持连接。分组交换:把信息分割成许多组又称为包 ,将它们分别送入互连网络。这些数据包可以通过不同的路径传送, 到目的结点后再拼合出原来的数据, 结点之间不存在固定连接的物理通路。静态互连网络:各结点之间有固定的连接通路、且在运行中不能改变的网络。动态互连网络:由交换开关构成、可按运行程序的要求动态地改变连接状态的网络。第 8 章 多处理机8.1 解释以下术语集中式共享多处理机:也称为对称式共享存储器多处理SMP。它一般由几十个处理器构成,各处理器共享一个集中式的物理存储器,这个主存相对于各处理器的关系是对称的,分布式共享多处理机: 它的共享存储器分布在各台处理机中, 每台处理机都带有自己的本地存储器,组成一个“处理机-存储器”单元。但是这些分布在各台处理机中的实际存储器又合在一起统一编址, 在逻辑上组成一个共享存储器。这些处理机存储器单元通过互连网络连接在一起 ,每台处理机除了能访问本地存储器外,还能通过互连网络直接访问在其他处理机存储器单元中的 “远程存储器”。