《计算机系统结构教程课后答案_1.pdf》由会员分享,可在线阅读,更多相关《计算机系统结构教程课后答案_1.pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-.z.1.7 *台主频为 400MHz 的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:指令类型 指令执行数量 平均时钟周期数 整数 45000 1 数据传送 75000 2 浮点 8000 4 分支 1500 2 求该计算机的有效 CPI、MIPS 和程序执行时间。解:1CPI(4500017500028000415002)/1295001.776 2MIPS 速率f/CPI 400/1.776 225.225MIPS 3程序执行时间=(450001750002800041 5002)400=575s 1.9 将计算机系统中*一功能的处理速度加快 10 倍,但该功能
2、的处理时间仅为整个系统运行时间的 40%,则采用此增强功能方法后,能使整个系统的性能提高多少.解:由题可知:可改良比例 Fe=40%=0.4 部件加速比 Se=10 根据0111.5625(1 0.4)0.4/101nnTSFeTFeSe 1.10 计算机系统中有三个部件可以改良,这三个部件的部件加速比为:部件加速比 1=30;部件加速比 2=20;部件加速比 3=10-.z.1 如果部件 1 和部件 2 的可改良比例均为 30%,则当部件 3 的可改良比例为多少时,系统加速比才可以到达 10.2 如果三个部件的可改良比例分别为 30%、30%和 20%,三个部件同时改良,则系统中不可加速局部
3、的执行时间在总执行时间中占的比例是多少.解:1在多个部件可改良情况下,Amdahl 定理的扩展:S130,S220,S310,Sn10,F10.3,F20.3,得:得 F30.36,即部件 3 的可改良比例为 36%。2设系统改良前的执行时间为 T,则 3 个部件改良前的执行时间为:0.3+0.3+0.2T=0.8T,不可改良局部的执行时间为1123FeFeFe=0.2T。3 个部件改良后的加速比分别为 S130,S220,S310,因此 3 个部件改良后的执行时间为:改良后整个系统的执行时间为:Tn=1231123123FeFeFeFeFeFeSeSeSe=0.045T+0.2T=0.245
4、T 则系统中不可改良局部的执行时间在总执行时间中占的比例是:0.2/0.245=81.6%1.11 假设浮点数指令 FP 指令的比例为 30%,其中浮点数平方根 FPSQR 占全部指令的比例为 4%,FP 操作的 CPI 为 5,FPSQR 操作的 CPI 为 20,其他指令的平均 CPI 为 1.25。解:改良前:CPI=5 30%+1.25 (1-30%)=2.375 设除 FPSQR 外其余指令的平均 CPI 为*则 2.375=20 4%+(1-4%)*,解出*=1.640625-.z.二地址指令,最多共 16 条二地址指令。每少一条二地址指令,则多 26条一地址指令,所以一地址指令最
5、多有16-A*26条 3.5 在一台单流水线多操作部件的处理机上执行下面的程序,每条指令的取指令、指令译码需要一个时钟周期,MOVE、ADD 和 MUL 操作分别需要 2 个、3 个和4 个时钟周期,每个操作都在第一个时钟周期从通用存放器中读操作数,在最后一个时钟周期把运算结果写到通用存放器中。k:MOVE R1,R0 ;R1(R0)k+1:MUL R0,R2,R1 ;R0(R2)(R1)k+2:ADD R0,R2,R3 ;R0(R2)+(R3)画出指令执行过程的流水线时空图,并计算完成这 3 条指令共需要多少个时钟周期.解:在程序实际执行过程中,二种数据相关会引起流水线停顿。一是“先写后读相
6、关,k 指令对 R1 的写在程序执行开场后的第四个时钟;k+1 指令对 R1 的读对指令本身是第三个时钟,但 k+1 指令比 k 指令晚一个时钟进入流水线,则在程序执行开场后的第四个时钟要读 R1。不能在同一时钟周期读写同一存放器,因此 k+1 指令应推迟一个时钟进入流水线,产生了流水线停顿。二是“写写相关,k+1 指令对 R0 的写对指令本身是第六个时钟,而要求该指令进入流水线应在程序执行开场后的第三个时钟,所以对 R0 的写是在程序执行开场后的第八个时钟。k+2 指令对 R0 的写对指令本身是第五个时钟,而 k+2 指令比 k+1 指令晚一个时钟进入流水线,则在程序执行开场后的第四个时钟,
7、所以对 R0 的写是在程序执行开场后的第八个时钟。不能在同一时钟周期写写同一存放器,因此k+2 指令应推迟一个时钟进入流水线,产生了流水线停顿。另外,可分析“先读后写相关不会产生流水线的停顿。该指令流水线由六个功能段取指、译码、取数、运一、运二和存数等组成,则程序指令执行过程的流水线时空图如以下图所示。假设 3 条指令顺序流动,共需要 9 个时钟周期。空间 存数 K 存数 K+1 存数 K+2 存数 运二 K+1 运二 运一 K+1 运一 K+2 运一 取数 K 取数 K+1 取数 K+2 取数 译码 K 译码 K+1 译码 K+2 译码-.z.取指 K 取指 K+1 取指 K+2 取指 时间
8、 0 1 2 3 4 5 6 7 8 9 3.6 有一指令流水线如下所示(1)求连续输入 10 条指令,该流水线的实际吞吐率和效率;(2)该流水线的“瓶颈在哪一段.请采取两种不同的措施消除此“瓶颈。对于你所给出的两种新的流水线,连续输入 10 条指令时,其实际吞吐率和效率各是多少.解:1 2瓶颈在 3、4 段。变成八级流水线细分 重复设置部件 3.7 有一个流水线由 4 段组成,其中每当流经第 3 段时,总要在该段循环一次,然后才能流到第 4 段。如果每段经过一次所需要的时间都是t,问:(1)当在流水线的输入端连续地每t时间输入任务时,该流水线会发生什么情况.(2)此流水线的最大吞吐率为多少.
9、如果每t2输入一个任务,连续处理10 个任务时的实际吞吐率和效率是多少.(3)当每段时间不变时,如何提高该流水线的吞吐率.仍连续处理 10 个任务时,其吞吐率提高多少.解:1会发生流水线阻塞情况。第 1 个任务 S1 S2 S3 S3 S4 第 2 个任务 S1 S2 stall S3 S3 S4 第 3 个任 S1 S2 stall stall S3 S3 S4 1 2 3-1 3-2 4-1 4-2 4-3 4-4-.z.务 第 4 个任务 S1 S2 stall stall stall S3 S3 S4 2 3重复设置部件 吞吐率提高倍数tt2310751.64 3.8 有一条静态多功能
10、流水线由 5 段组成,加法用 1、3、4、5 段,乘法用 1、2、5 段,第 3 段的时间为 2t,其余各段的时间均为t,而且流水线的输出可以直接返回输入端或暂存于相应的流水存放器中。现要在该流水线上计算 ,画出其时空图,并计算其吞吐率、加速比和效率。解:首先,应选择适合于流水线工作的算法。对于此题,应先计算 A1B1、A2B2、A3B3和 A4B4;再计算(A1B1)(A2B2)和(A3B3)(A4B4);然后求总的结果。其次,画出完成该计算的时空图,如下图,图中阴影局部表示该段在工作。由图可见,它在 18 个t时间中,给出了 7 个结果。所以吞吐率为:如果不用流水线,由于一次求积需 3t,
11、一次求和需 5t,则产生上述 7个结果共需45+33t=29t。所以加速比为:该流水线的效率可由阴影区的面积和 5 个段总时空区的面积的比值求得:3.8 有一条动态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、2、5段,第2段的时间为2t,其余各段时间均为t,而且流水线的输出可以直接返)(41iiiBA 时间 段 1 2 3 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
12、 CD 17 18 41()iiiAB-.z.回输入端或暂存于相应的流水存放器中。假设在该流水线上计算:试计算其吞吐率、加速比和效率。解 由图可见,它在 18 个t时间中,给出了 7 个结果。所以吞吐率为:如果不用流水线,由于一次求积需 4t,一次求和需 4t,则产生上述 7个结果共需44+34t=28t。所以加速比为:该流水线的效率可由阴影区的面积和 5 个段总时空区的面积的比值求得:4.5 在CRAY-1机器上,按照方式执行下述4条向量指令括号中给出了相应功能部件的执行时间,如果向量存放器和功能部件之间的数据传送需要1拍,试求此流水线的通过时间是多少拍.如果向量长度为64,则需多少拍才能得
13、到全部结果.V0存储器从存储器中取数:7拍 V2V0+V1向量加:3拍 V3V2A3按A3左移:4拍 V5V3V4向量逻辑乘:2拍 解:通过时间就是每条向量指令的第一个操作数执行完毕需要的时间,也就是各功能流水线由空到满的时间,在流水线充满之后,向量中后继操作数继续以流水方式执行,直到整组向量执行完毕。T通过1+7+1+(1+3+1)+(1+4+1)+(1+2+1)=24(拍)T总共T通过+(64-1)=24+6387拍 4.6 T通过1+7+1+(1+3+1)+(1+5+1)+(1+2+1)+(1+7+1)=34(拍)T总共T通过+(64-1)=63+3497拍 4.7*机有16个向量存放器
14、,其中V0V5中分别放有向量A、B、C、D、E、F,向量长度均为8,向量各元素均为浮点数;处理部件采用二个单功能流水线,加 时段 1 2 3 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 CD AB CD ABCA=B=C=D=17 18-.z.法功能部件时间为2拍,乘法功能部件时间为3拍。用类似Cray 1的技术,先计算(A+B)*C,在流水线不停流的情况下,接着计算(D+E)*F。解答:(1)(A+B)*C 可用以下 2 条指令完成:V0A+B V1V0
15、*C 流水线流过时间为(1+2+1)+(1+3+1)=9 拍(2)实际吞吐率为 2*8*210009(8*2 1)50=26.7MFLOPS 4.8 分段开采 LV V1,Rb ;取向量 B MULTVS V2,V1,Fs ;向量和标量相乘 SV Ra,V2 ;存向量 三条指令三个编队 T200=4*(15+Tstart)+200*3=660+(4*Tstart)Tstart=12+7+12=31 T200=660+4*31=784 4.9 解:的时钟周期数向量指令序列执行所需时钟频率算次数向量指令序列中浮点运nRlim Cray Y-MP/8 的峰值性能为:R=(1+1)8/(6*10-3)
16、=16=2667MFLOPS-.z.5.8.假设有一条长流水线,仅仅对条件转移指令使用分支目标缓冲。假设分支预测错误的开销为 4 个时钟周期,缓冲不命中的开销为 3 个时钟周期。假设:命中率为 90%,预测精度为 90%,分支频率为 15%,没有分支的根本 CPI 为 1。求程序执行的 CPI。相对于采用固定的 2 个时钟周期延迟的分支处理,哪种方法程序执行速度更快.解:1程序执行的 CPI=没有分支的根本 CPI1+分支带来的额外开销 分支带来的额外开销是指在分支指令中,缓冲命中但预测错误带来的开销与缓冲没有命中带来的开销之和。分支带来的额外开销=15%*(90%命中10%预测错误4+10不
17、命中3)=0.099 所以,程序执行的 CPI 1 0.099=1.099 2采用固定的 2 个时钟周期延迟的分支处理 CPI=1+15%2=1.3 由1 2可知分支目标缓冲方法执行速度快。5.9.假设分支目标缓冲的命中率为 90%,程序中无条件转移指令的比例为 5%,没有无条件转移指令的程序 CPI 值为 1。假设分支目标缓冲中包含分支目标指令,允许无条件转移指令进入分支目标缓冲,则程序的 CPI 值为多少.假设原来的 CPI=1.1 参考答案:解:设每条无条件转移指令的延迟为*,则有:15%*1.1 *2 当分支目标缓冲命中时,无条件转移指令的延迟为 0。所以程序的 CPI 1 2 5%(
18、1 90%)1.01 7.8.假设对指令 Cache 的访问占全部访问的 75%;而对数据 Cache 的访问占全部访问的 25%。Cache 的命中时间为 1 个时钟周期,不命中开销为 50 个时钟周期,在混合 Cache 中一次 load 或 store 操作访问 Cache 的命中时间都要增加一个时钟-.z.周期,32KB 的指令 Cache 的不命中率为 0.15%,32KB 的数据 Cache 的不命中率为 3.77%,64KB 的混合 Cache 的不命中率为 0.95%。又假设采用写直达策略,且有一个写缓冲器,并且忽略写缓冲器引起的等待。试问指令 Cache 和数据 Cache容
19、量均为 32KB 的别离 Cache 和容量为 64KB 的混合 Cache 相比,哪种 Cache 的不命中率更低.两种情况下平均访存时间各是多少.参考答案:解:1根据题意,约 75%的访存为取指令,25%的访存为数据。因此,别离 Cache 的总体不命中率为:75%0.15%25%3.77%1.055%;容量为 64KB 的混合 Cache 的不命中率略低一些,只有 0.95%。2平均访存时间公式可以分为指令访问和数据访问两局部:平均访存时间指令所占的百分比 读命中时间读不命中率不命中开销数据所占的百分比数据命中时间数据不命中率不命中开销 所以,两种构造的平均访存时间分别为:别离 Cach
20、e 的平均访存时间75%10.15%50 25%13.77%50 75%1.07525%2.8851.5275 因为混合 Cache 读数据的都要增加 1 个时钟周期 所以混合 Cache 的平均访存时间75%10.95%50 25%110.95%50 75%1.47525%2.4751.725 因此,尽管别离 Cache 的实际不命中率比混合 Cache 的高,但其平均访存时间反而较低。别离 Cache 提供了两个端口,消除了构造相关。7.9 假设在 3000 次访存中,第一级 Cache 不命中 110 次,第二级 Cache 不命中 55次。试问:在这种情况下,该 Cache 系统的局部
21、不命中率和全局不命中率各是多少.解:局部不命中率=该级Cache的不命中次数/到达该级Cache的访存次数。局部不命中率 L1=110/3000=0.0367,不命中率 L2=55/110=0.50。全局不命中率 L1=不命中率 L1=0.0367,全局不命中率 L2=不命中率 L1不命中率 L2=0.03670.50=0.0184。7.10 给定以下的假设,试计算直接映象 Cache 和两路组相联 Cache 的平均访问时间以及 CPU 的性能。由计算结果能得出什么结论.(1)理想 Cache 情况下的 CPI 为 2.0,时钟周期为 2ns,平均每条指令访存 1.2 次;(2)两者 Cac
22、he 容量均为 64KB,块大小都是 32 字节;(3)组相联 Cache 中的多路选择器使 CPU 的时钟周期增加了 10;(4)这两种 Cache 的不命中开销都是 80ns;(5)命中时间为 1 个时钟周期;(6)64KB 直接映象 Cache 的不命中率为 1.4,64KB 两路组相联 Cache 的不命中率为 1.0。-.z.解:平均访问时间命中时间不命中率不命中开销 平均访问时间1-路=2.0+1.4%*80=3.12ns 平均访问时间2-路=2.0*(1+10%)+1.0%*80=3.0ns 两路组相联的平均访问时间比拟低 CPUtime=CPU执行+存储等待周期*时钟周期 CP
23、U time=ICCPI执行+总不命中次数/指令总数*不命中开销*时钟周期=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的平均性能比直接映象 cache 要高 1.003 倍。因此这里选择两路组相
24、联 7.14 假设一台计算机具有以下特性:(1)95的访存在 Cache 中命中;(2)块大小为两个字,且不命中时整个块被调入;(3)CPU 发出访存请求的速率为 109字/s;(4)25的访存为写访问;(5)存储器的最大流量为 109字/s包括读和写;(6)主存每次只能读或写一个字;(7)在任何时候,Cache 中有 30的块被修改正;(8)写不命中时,Cache 采用按写分配法。现欲给该计算机增添一台外设,为此首先想知道主存的频带已用了多少。试对于以下两种情况计算主存频带的平均使用比例。(1)写直达 Cache;(2)写回法 Cache。解:采用按写分配 1写直达 cache 访问命中,有
25、两种情况:读命中,不访问主存;-.z.写命中,更新 cache 和主存,访问主存一次。访问不命中,有两种情况:读不命中,将主存中的块调入 cache 中,访问主存两次;写不命中,将要写的块调入 cache,访问主存两次,再将修改的数据写入 cache 和主存,访问主存一次,共三次。上述分析如下表所示。访问命中 访问类型 频率 访存次数 Y 读 95%*75%=71.3%0 Y 写 95%*25%=23.8%1 N 读 5%*75%=3.8%2 N 写 5%*25%=1.3%3 一次访存请求最后真正的平均访存次数=(71.3%*0)+(23.8%*1)+(3.8%*2)+(1.3%*3)0.35
26、 已用带宽=35.0%2写回法 cache 访问命中,有两种情况:读命中,不访问主存;写命中,不访问主存。采用写回法,只有当修改的 cache 块被换出时,才写入主存;访问不命中,有一个块将被换出,这也有两种情况:如果被替换的块没有修改正,将主存中的块调入 cache 块中,访问主存两次;如果被替换的块修改正,则首先将修改的块写入主存,需要访问主存两-.z.(3)由32100213()=X X X XX X X X(0110)=0110即处理器 6 连接到处理器 6 所以处理器 6 和 6 双向互连(4)由232102310()=X X X XX X X X()2(0110)()=1010即处
27、理器 10 连接到处理器 6 令2()3210X X X X()=0110得*3*2*1*0=1010 所以处理器 6 和 10 双向互连 9.9(1)(a)由 Cube2(*4*3*2*1*0)=*3*3*2*1*0 Cube2(12)=Cube2(01100)=01000 即处理器 8 连接到处理器 12 (b)由4321032104()=X X X X XX X X X X(8)(01000)(10000)即处理器 16 连接到处理器(C)由332()=2 mod32PM Ijj 332(28)=282 mod324PM I 即处理器 4 连接到处理器 28(d)043210032104
28、32104()()=CubeX X X X XCubeX X X X XX X X X X 00(4)(00100)=01001CubeCube即处理器 9 连接到处理器 8(e)0432104321032104()()=CubeX X X X XX X X X XX X X X X(00()(10010)00111CubeCube(18(即处理器 7 连接到处理器 28(2)2n个节点的直径为 2n-1,从 5 号到 7 号,最短经过 6 步 00101 00100 01000 01001 10010 10011 00111(3)循环移数网络的节点度 d=2n-1,直径为 n/2-.z.网络
29、直径是 3,节点度是 9,与 2 号最远的是 13,15,21,23 号处理器 9.11 0 1 2 3 4 5 6 7 8 9 A B C D E F 4 组 4 元 3 2 1 0 7 6 5 4 B A 9 8 F E D C 2 组 8 元 4 5 6 7 0 1 2 3 C D E F 8 9 A B 1 组 16 元 B A 9 8 F E D C 3 2 1 0 7 6 5 4 0000-1011 Cube0+Cube1+Cube3 10.6.一台 32 个处理器的计算机,对远程存储器访问时间为 400ns。除了通信以外,假设计算中的访问均命中局部存储器。当发出一个远程请求时,本
30、处理器挂起。处理器时钟时间为 1GHz,如果指令根本的 IPC 为 2(设所有访存均命中 Cache),求在没有远程访问的状态下与有 0.2%的指令需要远程访问的状态下,前者比后者快多少 解:没有远程访问时,机器的 CPI 为 1/根本 IPC=1/2=0.5 有 0.2%远程访问的机器的实际 CPI 为 CPI根本 CPI远程访问率远程访问开销 0.50.2%远程访问开销 远程访问开销为:远程访问时间/时钟周期时间400 ns/1 ns400 个时钟周期 CPI0.50.2%4001.3 因此在没有远程访问的情况下的计算机速度是有 0.2%远程访问的计算机速度的 1.3/0.5=2.6 倍。
31、7.11 在伪相联中,假设在直接映象位置没有发现匹配,而在另一个位置才找到数据伪命中时,不对这两个位置的数据进展交换。这时只需要 1 个额外的周期。假设不命中开销为 50 个时钟周期,2KB 直接映象 Cache 的不命中率为 9.8%,2 路组相联的不命中率为 7.6%;128KB 直接映象 Cache 的不命中率为 1.0%,2 路-.z.组相联的不命中率为 0.7%。(1)推导出平均访存时间的公式。(2)利用1中得到的公式,对于 2KBCache 和 128KBCache,计算伪相联的平均访存时间。解:不管作了何种改良,不命中开销一样。不管是否交换容,在同一“伪相联组中的两块都是用同一个
32、索引得到的,因此不命中率一样,即:不命中率伪相联不命中率2 路。伪相联 cache 的命中时间等于直接映象 cache 的命中时间加上伪相联查找过程中的命中时间*该命中所需的额外开销。命中时间伪相联命中时间1 路伪命中率伪相联1 交换或不交换容,伪相联的命中率都是由于在第一次不命中时,将地址取反,再在第二次查找带来的。因此伪命中率伪相联命中率2 路命中率1 路1不命中率2 路1不命中率1 路 不命中率1 路不命中率2 路。交换容需要增加伪相联的额外开销。平均访存时间伪相联命中时间1 路不命中率1 路不命中率2 路1 不命中率2 路不命中开销1 路 将题设中的数据带入计算,得到:平均访存时间2K
33、b=1+(0.098-0.076)*1+(0.076*50)=4.822 平均访存时间128Kb=1+(0.010-0.007)*1+(0.007*50)=1.353 显然是 128KB 的伪相联 Cache 要快一些。7.12 假设采用理想存储器系统时的根本 CPI 是 1.5,主存延迟是 40 个时钟周期;-.z.传输速率为 4 字节/时钟周期,且 Cache 中 50%的块是修改正的。每个块中有 32字节,20%的指令是数据传送指令。并假设没有写缓存,在 TLB 不命中的情况下需要 20 时钟周期,TLB 不会降低 Cache 命中率。CPU 产生指令地址或 Cache 不命中时产生的地
34、址有 0.2%没有在 TLB 中找到。(1)在理想 TLB 情况下,计算均采用写回法 16KB 直接映象统一 Cache、16KB两路组相联统一 Cache 和 32KB 直接映象统一 Cache 机器的实际 CPI;(2)在实际 TLB 情况下,用1的结果,计算均采用写回法 16KB 直接映象统一 Cache、16KB 两路组相联统一 Cache 和 32KB 直接映象统一 Cache 机器的实际 CPI;其中假设 16KB 直接映象统一 Cache、16KB 两路组相联统一 Cache 和 32KB直接映象统一 Cache 的不命中率分别为 2.9%、2.2%和 2.0%;25%的访存为写
35、访问。解:CPI=CPI 执行+存储停顿周期数/指令数 存储停顿由以下原因引起:从主存中取指令 load 和 store 指令访问数据 由 TLB 引起 1对于理想 TLB,TLB 不命中开销为 0。而对于统一 Cache,R指令=R数据 P指令=主存延迟传输一个块需要使用的时间4032/448拍 假设为读不命中,P数据主存延迟传输一个块需要使用的时间4032/448拍 假设为写不命中,且块是干净的,-.z.P数据主存延迟传输一个块需要使用的时间4032/448拍 假设为写不命中,且块是脏的,P数据主存延迟传输两个块需要使用的时间4064/456拍 CPI=1.5+RP+(RP*20%)+0
36、指令访存全是读,而数据传输指令 Load 或 Store 指令,f数据*P数据读百分比*f数据*P数据写百分比*f数据*P干净数据*其对应的百分比 f数据*P脏数据*其对应的百分比 20%*754825*50*48+50*4816 =50 拍 代入上述公式计算出结果为:配置 不命中率 CPI 16KB 直接统一映象 0.029 4.4 16KB 两路统一映象 0.022 3.4 32KB 直接统一映象 0.020 3.2 2 失效开销失效率)存储访问次数访问指令数存储访问次数(指令数停顿TLBTLBTLBTLB 将 f数据数据访问指令频率,Rt和 Pt分别是 TLB 的不命中率和不命中开销,Rc和 Pw分别是 Cache 的不命中率和写回的频率代入公式得:TLB 停顿/指令数=1+f数据*Rc(1+Rw)RtPt 其中,1+f数据:每条指令的访问存次数;Rc(1+Rw):每次存访问需要的 TLB 访问-.z.次数。由条件得:TLB 停顿/指令数=1+20%*Rc(1+25%)0.2%20 配置 不命中率 理想 TLB 的CPI 16KB 直接统一映象 0.029 4.0 16KB 两路统一映象 0.022 3.4 32KB 直接统一映象 0.020 3.2