《计算机系统结构重点不完全总结_计算机-计算机原理》由会员分享,可在线阅读,更多相关《计算机系统结构重点不完全总结_计算机-计算机原理(12页珍藏版)》请在金锄头文库上搜索。
1、计算机系统结构重点不完全总结 名词解释: 系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。 Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。 程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。包括时间局部性和空间局部性。 模拟: 用软件的方法在一台现有的计算机 (称为宿主机) 上实现另一台计算机 (称为虚拟机)的指令系统。 仿真: 用一台现有计算机 (称为宿主机) 上的微程序去解释实现另一台计算机 (称为目标机)的指令系统。 流水线:将一个重复的时序过程,分解成为若干个子
2、过程,而每一个子过程都可有效地在其专用功能段上与其它子过程同时执行。 线性流水线:指各段串行连接、没有反馈回路的流水线。数据通过流水线中的各段时,每一个段最多只流过一次。 结构冲突:因硬件资源满足不了指令重叠执行的要求而发生的冲突。 数据冲突:当指令在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的冲突。 控制冲突:流水线遇到分支指令或其它会改变 PC 值的指令所引起的冲突。 链接技术:具有先写后读相关的两条指令,在不出现功能部件冲突和 Vi冲突的情况下,可以把功能部件链接起来进行流水处理,以达到加快执行的目的。 指令级并行:简称 ILP。是指指令之间存在的一种并行性,利用它,计算机可
3、以并行执行两条或两条以上的指令。 指令调度: 通过在编译时让编译器重新组织指令顺序或通过硬件在执行时调整指令顺序来消除冲突。 指令的动态调度: 是指在保持数据流和异常行为的情况下, 通过硬件对指令执行顺序进行重新安排,以提高流水线的利用率且减少停顿现象。是由硬件在程序实际运行时实施的。 指令的静态调度:是指依靠编译器对代码进行静态调度,以减少相关和冲突。它不是在程序执行的过程中、而是在编译期间进行代码调度和优化的。 前瞻执行:解决控制相关的方法,它对分支指令的结果进行猜测,然后按这个猜测结果继续取指、流出和执行后续的指令。只是指令执行的结果不是写回到寄存器或存储器,而是放到一个称为 ROB 的
4、缓冲器中。等到相应的指令得到“确认” (即确实是应该执行的)后,才将结果写入寄存器或存储器。 超标量:一种多指令流出技术。它在每个时钟周期流出的指令条数不固定,依代码的具体情况而定,但有个上限。 超流水:在一个时钟周期内分时流出多条指令。 循环展开:是一种增加指令间并行性最简单和最常用的方法。它将循环展开若干遍后,通过重命名和指令调度来开发更多的并行性。 多级存储层次:采用不同的技术实现的存储器,处在离 CPU 不同距离的层次上,各存储器之间一般满足包容关系,即任何一层存储器中的内容都是其下一层(离 CPU 更远的一层)存储器中内容的子集。目标是达到离 CPU 最近的存储器的速度,最远的存储器
5、的容量。 组相联映象:主存中的每一块可以放置到 Cache 中唯一的一组中任何一个地方(Cache 分成若干组,每组由若干块构成) 。 写直达法:在执行写操作时,不仅把信息写入 Cache 中相应的块,而且也写入下一级存储器中相应的块。 写回法:只把信息写入 Cache 中相应块,该块只有被替换时,才被写回主存。 TLB:一个专用高速存储器,用于存放近期经常使用的页表项,其内容是页表部分内容的一个副本。 网络直径:指互连网络中任意两个结点之间距离的最大值。 结点度:指互连网络中结点所连接的边数(通道数) 。 等分带宽:把由 N 个结点构成的网络切成结点数相同(N/2)的两半,在各种切法中,沿切
6、口边数的最小值。 对称网络:从任意结点来看,网络的结构都是相同的。 多 Cache 一致性:多处理机中,当共享数据进入 Cache,就可能出现多个处理器的 Cache 中都有同一存储器块的副本,要保证多个副本数据是一致的。 当对一个系统中的某个部件进行改进后所能获得的整个系统性能的提高受限于该部件的执行时间占总执行时间的百分比程序的局部性原理程序执行时所访问的存储器地址不是随机分布的而是相对地簇聚包括时间局部性和空间局部性算机称为宿主机上的微程序去解释实现另一台计算机称为目标机的指令系统流水线将一个重复的时序过程分解成为若干个子过程而每一个子过程都可有效地在其专用功能段上其它子过程同时执行线性
7、流水线指各段串行连接没有反馈要求而发生的冲突数据冲突当指令在流水线中重叠执行时因需要用到前面指令的执行结果而发生的冲突控制冲突流水线遇到分支指令或其它会改变值的指令所引起的冲突链接技术具有先写后读相关的两条指令在不出现功能部件冲突简答题: 1、试用实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系。 答: 计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。 计算机组成: 计算机系统结构的逻辑实现, 包含物理机器级中的数据流和控制流的组成以及逻辑设计等。 计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划
8、分与连接,信号传输,电源、冷却及整机装配技术等。 计算机组成是计算机系统结构的逻辑实现。 计算机实现是计算机组成的物理实现。 一种体系结构可以有多种组成。一种组成可以有多种实现。 如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于计算机系统结构。确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于计算机组成。选择存储芯片类型、微组装技术、线路设计等属于计算机实现。 2、提高计算机系统并行性的 3 种技术途径分别是? 答: 并行性: 计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。 只要在时间上相互重叠,就存在并行性。它包括同时性与并发性两种含义。 时间重叠: 使多个处理过程在
9、时间上相互错开, 交叉轮流地使用同一套硬件设备的各个部分,提高硬件利用率,缩短执行时间,例如,指令流水线处理机。 资源重复:在并行性概念中引入空间因素,以数量取胜。通过重复设置硬件资源,大幅度地提高计算机系统的性能。例如,阵列处理机。 资源共享:这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。 3、 简述先行控制的基本思想。 答: 先行控制技术是把缓冲技术和预处理技术相结合。 缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲器,用以平滑它们的工作。预处理技术是指预取指令、对指令进行加工以及预取操作数等。 采用先行控制方式的处理机内部设置多个缓冲站,用于平滑主存、指令分析
10、部件、运算器三者之间的工作。这样不仅使它们都能独立地工作,充分忙碌而不用相互等待,而且使指令分析部件和运算器分别能快速地取得指令和操作数, 大幅度地提高指令的执行速度和部件的效率。 这些缓冲站都按先进先出的方式工作, 而且都是由一组若干个能快速访问的存储单元和相关的控制逻辑组成。 采用先行控制技术可以实现多条指令的重叠解释执行。 4、简述三种向量处理方式,它们对向量处理机的结构要求有何不同? 答 (1) 横向处理方式:若向量长度为 N,则水平处理方式相当于执行 N次循环。若使用流水线,在每次循环中可能出现数据相关和功能转换,不适合对向量进行流水处理。 (2)纵向处理方式:将整个向量按相同的运算
11、处理完毕之后,再去执行其他运算。适合对向量进行流水处理,向量运算指令的源/ 目向量都放在存储器内,使得流水线运算部件的输入、输出端直接与存储器相联,构成 M-M 型的运算流水线。 (3) 纵横处理方式:把长度为 N的向量分为若干组,每组长度为 n,组内按纵向方式处理,依次处理各组,组数为N/n ,适合流当对一个系统中的某个部件进行改进后所能获得的整个系统性能的提高受限于该部件的执行时间占总执行时间的百分比程序的局部性原理程序执行时所访问的存储器地址不是随机分布的而是相对地簇聚包括时间局部性和空间局部性算机称为宿主机上的微程序去解释实现另一台计算机称为目标机的指令系统流水线将一个重复的时序过程分
12、解成为若干个子过程而每一个子过程都可有效地在其专用功能段上其它子过程同时执行线性流水线指各段串行连接没有反馈要求而发生的冲突数据冲突当指令在流水线中重叠执行时因需要用到前面指令的执行结果而发生的冲突控制冲突流水线遇到分支指令或其它会改变值的指令所引起的冲突链接技术具有先写后读相关的两条指令在不出现功能部件冲突水处理。可设长度为 n 的向量寄存器,使每组向量运算的源/ 目向量都在向量寄存器中,流水线的运算部件输入、输出端与向量寄存器相联,构成 R-R型运算流水线。 5、 简述 Tomasulo 算法的基本思想。 答:核心思想是: 记录和检测指令相关,操作数一旦就绪就立即执行,把发生 RAW冲突的
13、可能性减小到最少; 通过寄存器换名来消除 WAR 冲突和 WAW 冲突。寄存器换名是通过保留站来实现,它保存等待流出和正在流出指令所需要的操作数。 基本思想:只要操作数有效,就将其取到保留站,避免指令流出时才到寄存器中取数据,这就使得即将执行的指令从相应的保留站中取得操作数,而不是从寄存器中。指令的执行结果也是直接送到等待数据的其它保留站中去。因而,对于连续的寄存器写,只有最后一个才真正更新寄存器中的内容。一条指令流出时,存放操作数的寄存器名被换成为对应于该寄存器保留站的名称(编号) 。 计算题 1、某台主频为 400MHz 的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如
14、下: 指令类型 指令执行数量 平均时钟周期数 整数 45000 1 数据传送 75000 2 浮点 8000 4 分支 1500 2 求该计算机的有效 CPI 、MIPS 和程序执行时间。 解: (1)CPI (4500017500028000415002) / 1295001.776 (或259460) (2)MIPS 速率f/ CPI 400/1.776 225.225MIPS (或2595180MIPS) (3)程序执行时间= (4500017500028000415002)400=575 s 2、 将计算机系统中某一功能的处理速度加快 10 倍,但该功能的处理时间仅为整个系统运行时间的
15、 40%,则采用此增强功能方法后,能使整个系统的性能提高多少? 解: 由题可知: 可改进比例 = 40% = 0.4 部件加速比 = 10 根据 Amdahl 定律可知: 5625. 1104 . 04 . 011系统加速比 采用此增强功能方法后,能使整个系统的性能提高到原来的 1.5625 倍。 3、假设某应用程序中有 4 类操作,通过改进,各操作获得不同的性能提高。具体数据如下表所示: 操作类型 程序中的数量 (百万条指令) 改进前的执行时间 (周期) 改进后的执行时间 (周期) 当对一个系统中的某个部件进行改进后所能获得的整个系统性能的提高受限于该部件的执行时间占总执行时间的百分比程序的
16、局部性原理程序执行时所访问的存储器地址不是随机分布的而是相对地簇聚包括时间局部性和空间局部性算机称为宿主机上的微程序去解释实现另一台计算机称为目标机的指令系统流水线将一个重复的时序过程分解成为若干个子过程而每一个子过程都可有效地在其专用功能段上其它子过程同时执行线性流水线指各段串行连接没有反馈要求而发生的冲突数据冲突当指令在流水线中重叠执行时因需要用到前面指令的执行结果而发生的冲突控制冲突流水线遇到分支指令或其它会改变值的指令所引起的冲突链接技术具有先写后读相关的两条指令在不出现功能部件冲突操作 1 10 2 1 操作 2 30 20 15 操作 3 35 10 3 操作 4 15 4 1 (
17、1)改进后,各类操作的加速比分别是多少? (2)各类操作单独改进后,程序获得的加速比分别是多少? (3)4 类操作均改进后,整个程序的加速比是多少? 解:根据 Amdahl 定律SeFeFeSn)1 (1可得 操作类型 各类操作的指令条数在程序中所占的比例 Fi 各类操作的加速比 Si 各类操作单独改进后,程序获得的加速比 操作 1 11.1% 2 1.06 操作 2 33.3% 1.33 1.09 操作 3 38.9% 3.33 1.37 操作 4 16.7% 4 1.14 4 类操作均改进后,整个程序的加速比: 2.16)1 (1iiinSFFS 4、 有一指令流水线如下所示 (1) 求连
18、续输入 10 条指令,该流水线的实际吞吐率和效率; (2) 该流水线的“ 瓶颈” 在哪一段?请采取两种不同的措施消除此“ 瓶颈” 。对于你所给出的两种新的流水线,连续输入 10 条指令时,其实际吞吐率和效率各是多少? 解: (1) 2200(ns)2009200)10050(50t) 1n(tTmaxm1iipipeline )(ns2201TnTP1pipeline 45.45%1154400TPmtTPEm1ii (2)瓶颈在 3、4 段。 变成八级流水线(细分) 入 1 2 3 4 出 50ns 50ns 100ns 200ns 当对一个系统中的某个部件进行改进后所能获得的整个系统性能的
19、提高受限于该部件的执行时间占总执行时间的百分比程序的局部性原理程序执行时所访问的存储器地址不是随机分布的而是相对地簇聚包括时间局部性和空间局部性算机称为宿主机上的微程序去解释实现另一台计算机称为目标机的指令系统流水线将一个重复的时序过程分解成为若干个子过程而每一个子过程都可有效地在其专用功能段上其它子过程同时执行线性流水线指各段串行连接没有反馈要求而发生的冲突数据冲突当指令在流水线中重叠执行时因需要用到前面指令的执行结果而发生的冲突控制冲突流水线遇到分支指令或其它会改变值的指令所引起的冲突链接技术具有先写后读相关的两条指令在不出现功能部件冲突 850(ns)509850t1)(ntTmaxm1
20、iipipeline )(ns851TnTP1pipeline 58.82%17108400TPmtiTPEm1i 重复设置部件 )(ns851TnTP1pipeline 58.82%1710885010400E 5、有一个流水线由 4 段组成,其中每当流经第 3 段时,总要在该段循环一次,然后才能流到第 4 段。如果每段经过一次所需要的时间都是,问: (1) 当在流水线的输入端连续地每时间输入任务时,该流水线会发生什么情况? (2) 此流水线的最大吞吐率为多少?如果每输入一个任务,连续处理 10 个任务时的实际吞吐率和效率是多少? ttt21 2 3-1 3-2 4-1 4-2 4-3 4-
21、4 123_13_24_14_450ns50ns50ns50ns50ns50ns1 2 3_1 3_2 4_1 4_2 4_3 4_4 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 6 7 7 7 7 8 8 9 9 10 10 8 9 10 8 9 10 850ns 时间 段 当对一个系统中的某个部件进行改进后所能获得的整个系统性能的提高受限于该部件的执行时间占总执行时间的百分比程序的局部性原理程序执行时所访问的存储器地址不是随机分布的而是相对地簇聚包括时间局部性和空间局部性算机称为宿主机上的微程序去解释实现另一台计算机称为目标机的指令系统流水线
22、将一个重复的时序过程分解成为若干个子过程而每一个子过程都可有效地在其专用功能段上其它子过程同时执行线性流水线指各段串行连接没有反馈要求而发生的冲突数据冲突当指令在流水线中重叠执行时因需要用到前面指令的执行结果而发生的冲突控制冲突流水线遇到分支指令或其它会改变值的指令所引起的冲突链接技术具有先写后读相关的两条指令在不出现功能部件冲突(3) 当每段时间不变时,如何提高该流水线的吞吐率?仍连续处理 10 个任务时,其吞吐率提高多少? 解: (1)会发生流水线阻塞情况。 第 1 个任务 S1 S2 S3 S3 S4 第 2 个任务 S1 S2 stall S3 S3 S4 第 3 个任务 S1 sta
23、ll S2 stall S3 S3 S4 第 4 个任务 S1 stall S2 stall S3 S3 S4 (2) 54.35%925045TPE2310TnTp23T21TPpipelinepipelinemaxtttt (3)重复设置部件 段 时间 1 2 3 4 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8 9 9 9 9 9 10 10 10 10 10 t 23 1 2 3_1 3_2 4 t t t t t 段 时间 1 1 2 3_1 3_2 4 1 1 1 1
24、2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8 9 9 9 9 9 10 10 10 10 10 t 14 当对一个系统中的某个部件进行改进后所能获得的整个系统性能的提高受限于该部件的执行时间占总执行时间的百分比程序的局部性原理程序执行时所访问的存储器地址不是随机分布的而是相对地簇聚包括时间局部性和空间局部性算机称为宿主机上的微程序去解释实现另一台计算机称为目标机的指令系统流水线将一个重复的时序过程分解成为若干个子过程而每一个子过程都可有效地在其专用功能段上其它子过程同时执行线性流水线指各段串行连接没有
25、反馈要求而发生的冲突数据冲突当指令在流水线中重叠执行时因需要用到前面指令的执行结果而发生的冲突控制冲突流水线遇到分支指令或其它会改变值的指令所引起的冲突链接技术具有先写后读相关的两条指令在不出现功能部件冲突tt751410TnTPpipeline 吞吐率提高倍数tt2310751.64 6、 有一条静态多功能流水线由 5 段组成,加法用 1、3、4、5 段,乘法用 1、2、5 段,第 3 段的时间为 2t,其余各段的时间均为t,而且流水线的输出可以直接返回输入端或 暂存于相应的流水寄存器中。现要在该流水线上计算 ,画出其时空图,并计算其吞吐率、加速比和效率。 解:首先,应选择适合于流水线工作的
26、算法。对于本题,应先计算 A1B1、A2B2、A3B3和 A4B4;再计算(A1B1) (A2B2)和(A3B3) (A4B4);然后求总的结果。 其次,画出完成该计算的时空图,如图所示,图中阴影部分表示该段在工作。 由图可见,它在 18 个t 时间中,给出了 7 个结果。所以吞吐率为: tTP817 如果不用流水线,由于一次求积需 3t,一次求和需 5t,则产生上述 7 个结果共需(4 5+3 3)t =29t。所以加速比为: 该流水线的效率可由阴影区的面积和 5 个段总时空区的面积的比值求得: 1 2 3 4 5 乘法 加法 t t 2t t t )(41iiiBA 时间 段 1 2 3
27、4 5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 输 入 A1 B1 A2 B2 A3 B3 A4 B4 A B C D A B C D AB AB CD ABCD A=A1B1 B=A2B2 C=A3B3 D=A4B4 CD 17 18 61. 18192ttS223 . 01853354E当对一个系统中的某个部件进行改进后所能获得的整个系统性能的提高受限于该部件的执行时间占总执行时间的百分比程序的局部性原理程序执行时所访问的存储器地址不是随机分布的而是相对地簇聚包括时间局部性和空间局部性算机称为宿主机上的微程序去解释实现另一台计算机称为目标机的指令系
28、统流水线将一个重复的时序过程分解成为若干个子过程而每一个子过程都可有效地在其专用功能段上其它子过程同时执行线性流水线指各段串行连接没有反馈要求而发生的冲突数据冲突当指令在流水线中重叠执行时因需要用到前面指令的执行结果而发生的冲突控制冲突流水线遇到分支指令或其它会改变值的指令所引起的冲突链接技术具有先写后读相关的两条指令在不出现功能部件冲突 7、 动态多功能流水线由 6 个功能段组成,如下图: 其中,S1、S4、S5、S6 组成乘法流水线,S1、S2、S3、S6 组成加法流水线,各个功能段时间均为 50ns,假设该流水线的输出结果可以直接返回输入端,而且设置有足够的缓冲寄存器,若以最快的方式用该
29、流水计算:51iiiizyx (1) 画出时空图; (2) 计算实际的吞吐率、加速比和效率。 解:机器一共要做 10 次乘法,4 次加法。 8、设指令流水线由取指令、分析指令和执行指令 3 个部件构成,每个部件经过的时间为t,连续流入 12 条指令。分别画出标量流水处理机以及 ILP 均为 4 的超标量处理机、 、超流水处理机的时空图,并分别计算它们相对于标量流水处理机的加速比。 解:标量流水处理机的时空图: S1 S2 S3 S4 S5 乘法 加法 S6 当对一个系统中的某个部件进行改进后所能获得的整个系统性能的提高受限于该部件的执行时间占总执行时间的百分比程序的局部性原理程序执行时所访问的
30、存储器地址不是随机分布的而是相对地簇聚包括时间局部性和空间局部性算机称为宿主机上的微程序去解释实现另一台计算机称为目标机的指令系统流水线将一个重复的时序过程分解成为若干个子过程而每一个子过程都可有效地在其专用功能段上其它子过程同时执行线性流水线指各段串行连接没有反馈要求而发生的冲突数据冲突当指令在流水线中重叠执行时因需要用到前面指令的执行结果而发生的冲突控制冲突流水线遇到分支指令或其它会改变值的指令所引起的冲突链接技术具有先写后读相关的两条指令在不出现功能部件冲突 执行完 12 条指令需 T114t。 超标量流水处理机的时空图: 超标量流水处理机中,每一个时钟周期同时启动 4 条指令。执行完
31、12 条指令需 T25t,相对于标量流水处理机的加速比为: 8 . 2514212ttTTS 超长指令字处理机中,每 4 条指令组成一条长指令,共形成 3 条长指令。执行完 12 条指令需 T35t,相对于标量流水处理机的加速比为: 8 . 2514313ttTTS 超流水处理机的时空图: 取指 分析 执行 时间 14 取指 分析 执行 时间 5 超标量处理机时空图 当对一个系统中的某个部件进行改进后所能获得的整个系统性能的提高受限于该部件的执行时间占总执行时间的百分比程序的局部性原理程序执行时所访问的存储器地址不是随机分布的而是相对地簇聚包括时间局部性和空间局部性算机称为宿主机上的微程序去解
32、释实现另一台计算机称为目标机的指令系统流水线将一个重复的时序过程分解成为若干个子过程而每一个子过程都可有效地在其专用功能段上其它子过程同时执行线性流水线指各段串行连接没有反馈要求而发生的冲突数据冲突当指令在流水线中重叠执行时因需要用到前面指令的执行结果而发生的冲突控制冲突流水线遇到分支指令或其它会改变值的指令所引起的冲突链接技术具有先写后读相关的两条指令在不出现功能部件冲突 超流水处理机中,每 1/4 个时钟周期启动一条指令。执行完 12 条指令需 T45.75t,相对于标量流水处理机的加速比为: 435. 2.75514414ttTTS 9、 假设对指令 Cache 的访问占全部访问的 75
33、%;而对数据 Cache 的访问占全部访问的 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 相比,哪种 Ca
34、che 的失效率更低?两种情况下平均访存时间各是多少? 解: (1)根据题意,约 75%的访存为取指令。 因此,分离 Cache 的总体失效率为: (75%0.15%)(25%3.77%)1.055%; 容量为 128KB 的混合 Cache 的失效率略低一些,只有 0.95%。 (2)平均访存时间公式可以分为指令访问和数据访问两部分: 平均访存时间指令所占的百分比(读命中时间读失效率失效开销) 数据所占的百分比(数据命中时间数据失效率失效开销) 所以,两种结构的平均访存时间分别为: 分离 Cache 的平均访存时间75%(10.15%50)25%(13.77%50) (75%1.075)(2
35、5%2.885)1.5275 混合 Cache 的平均访存时间75%(10.95%50)25%(110.95%50) (75%1.475)(25%2.475)1.725 因此,尽管分离 Cache 的实际失效率比混合 Cache 的高,但其平均访存时间反而较低。分离 Cache 提供了两个端口,消除了结构相关。 10、 给定以下的假设,试计算直接映象 Cache 和两路组相联 Cache 的平均访问时间以及 CPU 的性能。由计算结果能得出什么结论? (1) 理想 Cache 情况下的 CPI 为 2.0,时钟周期为 2ns,平均每条指令访存 1.2 次; 取指 时间 分析 执行 4 5 5.
36、75 当对一个系统中的某个部件进行改进后所能获得的整个系统性能的提高受限于该部件的执行时间占总执行时间的百分比程序的局部性原理程序执行时所访问的存储器地址不是随机分布的而是相对地簇聚包括时间局部性和空间局部性算机称为宿主机上的微程序去解释实现另一台计算机称为目标机的指令系统流水线将一个重复的时序过程分解成为若干个子过程而每一个子过程都可有效地在其专用功能段上其它子过程同时执行线性流水线指各段串行连接没有反馈要求而发生的冲突数据冲突当指令在流水线中重叠执行时因需要用到前面指令的执行结果而发生的冲突控制冲突流水线遇到分支指令或其它会改变值的指令所引起的冲突链接技术具有先写后读相关的两条指令在不出现
37、功能部件冲突(2) 两者 Cache 容量均为 64KB,块大小都是 32 字节; (3) 组相联 Cache 中的多路选择器使 CPU 的时钟周期增加了 10; (4) 这两种 Cache 的失效开销都是 80ns; (5) 命中时间为 1 个时钟周期; (6) 64KB 直接映象Cache 的失效率为1.4, 64KB 两路组相联Cache 的失效率为1.0。 解: 平均访问时间命中时间失效率失效开销 平均访问时间1-路=2.0+1.4% *80=3.12ns 平均访问时间2-路=2.0*(1+10%)+1.0% *80=3.0ns 两路组相联的平均访问时间比较低 CPUtime=(CPU
38、执行+存储等待周期)*时钟周期 CPU time=IC(CPI执行+总失效次数/指令总数*失效开销) *时钟周期 =IC( (CPI执行*时钟周期)+(每条指令的访存次数*失效率*失效开销*时钟周期) ) CPU time 1-way=IC(2.0*2+1.2*0.014*80) 5.344IC CPU time 2-way=IC(2.2*2+1.2*0.01*80) 5.36IC 相对性能比:1waytime2waytimeCPUCPU5.36/5.344=1.003 直接映象 cache 的访问速度比两路组相联 cache 要快 1.04 倍, 而两路组相联 Cache 的平均性能比直接映
39、象 cache 要高 1.003 倍。因此这里选择两路组相联。 课本相关重点:P66、P67 (时空图、加速比、吞吐率、效率) P116 (Tomasulo 算法基本思想) P136 (基于静态调度的多流出技术) P168、P172 (平均访存时间、CPU 时间) P271 (加速比) 当对一个系统中的某个部件进行改进后所能获得的整个系统性能的提高受限于该部件的执行时间占总执行时间的百分比程序的局部性原理程序执行时所访问的存储器地址不是随机分布的而是相对地簇聚包括时间局部性和空间局部性算机称为宿主机上的微程序去解释实现另一台计算机称为目标机的指令系统流水线将一个重复的时序过程分解成为若干个子过程而每一个子过程都可有效地在其专用功能段上其它子过程同时执行线性流水线指各段串行连接没有反馈要求而发生的冲突数据冲突当指令在流水线中重叠执行时因需要用到前面指令的执行结果而发生的冲突控制冲突流水线遇到分支指令或其它会改变值的指令所引起的冲突链接技术具有先写后读相关的两条指令在不出现功能部件冲突