计算机系统结构习题课-万继光.ppt

上传人:牧羊曲112 文档编号:6023885 上传时间:2023-09-15 格式:PPT 页数:52 大小:1.09MB
返回 下载 相关 举报
计算机系统结构习题课-万继光.ppt_第1页
第1页 / 共52页
计算机系统结构习题课-万继光.ppt_第2页
第2页 / 共52页
计算机系统结构习题课-万继光.ppt_第3页
第3页 / 共52页
计算机系统结构习题课-万继光.ppt_第4页
第4页 / 共52页
计算机系统结构习题课-万继光.ppt_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《计算机系统结构习题课-万继光.ppt》由会员分享,可在线阅读,更多相关《计算机系统结构习题课-万继光.ppt(52页珍藏版)》请在三一办公上搜索。

1、习题内容,7.9,7.10,7.11,7.12,7.14,6.7,6.8,5.8,5.9,5.11,3.8,3.10,3.11,2.14(补充),1.7,1.10,1.11,8.11,8.12(补充),9.9,9.13,10.6,10.9,第一章,CPU时间=IC CPI时钟周期时间=(CPIiICi)时钟周期时间CPI=,i=1,n,时钟周期数,IC,(CPIiICi),i=1,n,IC,(CPIi),i=1,n,ICi,IC,Amdahl定律:,对于一台400MHz计算机执行标准测试程序,程序中指令类型,执行数量和平均时钟周期数如下:求该计算机的有效CPI、MIPS和程序执行时间。,解:,

2、程序执行时间=(,)400=575ns,程序执行时间(CPIIC)/频率f,习题1.7,习题1.10,计算机系统有三个部件可以改进,这三个部件的加速比如下:部件加速比130;部件加速比220;部件加速比310;(1)如果部件1和部件2的可改进比例为30,那么当部件3的可改进比例为多少时,系统的加速比才可以达到10?(2)如果三个部件的可改进比例为30、30和20,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少?,习题1.10,习题1.11,假设浮点数指令FP指令的比例为30%,其中浮点数平方根FPSQR占全部指令的比例为4%,FP操作的CPI为5,FPSQR操作

3、的CPI为20,其他指令的平均CPI为1.25。现有两种改进方案,第一种:把FPSQR操作的CPI减至3第二种:把所有的FP操作的CPI减至3试比较两种方案对系统性能的提高程度。解法1:利用原始CPI的唯一性,先使用已知条件求出原始CPI,再求出除去FPSQR指令外其他指令的平均CPI,最后比较改进后的CPI大小。原始CPI=5 30%+1.25(1-30%)=2.375设除FPSQR外其余指令的平均CPI为X则 2.375=20 4%+(1-4%)X,解出X=1.640625方案1:CPI1=3 4%+1.640625(1-4%)=1.695方案2:CPI2=3 30%+1.25(1-30%

4、)=1.775结论:方案1导致的新CPI更小,性能更好,习题1.11,解法2:用Amdahl公式求。记指令总条数=M,时钟周期长度=CYCLE。原始总时间Told=0.3M 5 CYCLE+0.7M 1.25 CYCLE=M 2.375 CYCLETFP=0.3M 5 CYCLE=M 1.5 CYCLE,所占比例为1.5/2.375 63%TFPSQR=0.04M 20 CYCLE=M 0.8 CYCLE,所占比例为0.8/2.375 34%方案1:Se=20/3,Fe 34%,Sn1=1/(1-Fe)+Fe/Se 1.4方案2:Se=5/3,Fe 63%,Sn2=1/(1-Fe)+Fe/Se

5、 1.3结论:方案1导致加速比更大,性能更好,习题2.14(补充),MIPS指令集。人工模拟以下MIPS程序的单条指令运行方式,在表中用16进制编码记录每一步产生的结果(不得借助模拟软件)。.datan:.word 3;n和x是偏移地址x:.double 0.5.text LD R1,n(R0);R1装入双字3(64位)L.D F0,x(R0);F0装入双精度浮点数0.5(64位)DADDI R2,R0,1;R2 1 MTC1 R2,F11;把通用寄存器R2中的低32位传送到浮点寄存器F11的低32位 CVT.D.L F2,F11;把F11中的数据转换成双精度浮点数,送给F2。loop:MUL

6、.D F2,F2,F0;F2 F2*F0 DADDI R1,R1,-1;decrement R1 by 1 BNEZ R1,loop;if R10 continue HALT;此条不填表:MIPS浮点数的格式是IEEE754,习题2.14,IEEE754为便于软件的移植,浮点数的表示格式应该有统一标准(定义)。1985年IEEE提出了IEEE754标准。该标准规定基数为2,阶码E用移码表示,尾数M用原码表示,根据原码的规格化方法,最高数字位总是1,该标准将这个1缺省存储,使得尾数表示范围比实际存储的多一位。,习题2.14,双精度浮点数,0.5的二进制表示:0.1=1.0*(10)-1尾数:(1

7、).0000阶码:-1+1023=0 x3fe 0 x3fe00000000000001的二进制表示:1.0=1.0*(10)0尾数(1).0000阶码:0+1023=0 x3ff 0 x3ff0000000000000,习题2.14,n:.word 3x:.double 0.5 LD R1,n(R0)L.D F0,x(R0)DADDI R2,R0,1 MTC1 R2,F11 CVT.D.L F2,F11 loop:MUL.D F2,F2,F0 DADDI R1,R1,-1 BNEZ R1,loop HALT,习题3.8(时空图,性能指标),1,2,3,4,5,乘法,加法,t,t,t,t,2t

8、,习题3.8,如图,在18个t时间中,给出了7个结果,所以TP=7/18 t如果不用流水线,一次求积3 t,一次求和5t,则T=(4*5+3*3)t=29 t,因此S=29 t/18 t=1.61E=(4*5+3*3)/5*18=0.322考虑改为动态,怎么计算,习题3.10(单功能非线性流水线调度),有一个5段流水线,各段执行时间均为t,其预约表如下,(1)画出流水线任务调度的状态转移图。(2)分别求出允许不等时间间隔调度和等时间间隔调度的两种最优调度策略,以及这两种调度策略的流水线最大吞吐率。(3)若连续输入10个任务,求这两种调度策略的流水线实际吞吐率和加速比。,习题3.10,10010

9、1,101101,100111,101111,5,5,2,2,5,5,4,4,习题3.10,(2)由状态转移图可得不发生段争用冲突的调度策略以及平均延迟时间如下所示。,由上可知,允许不等时间间隔调度的最优调度策略是(2,2,5),流水线最大吞吐率为:1/3t。等时间间隔的调度的最优调度策略是(4),流水线最大吞吐率为:1/4t。,习题3.10,习题3.11(相关,定向,指令调度),在改进的DLX流水线(按照图3.12)上运行如下代码序列:LOOP:LWR1,0(R2)ADDIR1,R1,#1SW0(R2),R1ADDIR2,R2,#4SUBR4,R3,R2BNZR4,LOOP其中,R3的初始值

10、是R2396。假设:在整个代码序列的运行过程中,所有的存储器访问都是命中的,并且在一个时钟周期中对同一个寄存器的读操作和写操作可以通过寄存器“定向”。问:(1)在没有任何其它定向硬件的支持下,请画出该指令序列执行的流水线时空图。假设采用排空流水线的策略处理分支指令,且所有的存储器访问都可以命中Cache,那么执行上述循环需要多少个时钟周期?(2)假设该DLX流水线有正常的定向路径,请画出该指令序列执行的流水线时空图。假设采用预测分支失败的策略处理分支指令,且所有的存储器访问都可以命中Cache,那么执行上述循环需要多少个时钟周期?(3)假设该DLX流水线有正常的定向路径,请对该循环中的指令进行

11、调度。注意可以重新组织指令的顺序,也可以修改指令的操作数,但是不能增加指令的条数。请画出该指令序列执行的流水线时空图,并计算执行上述循环需要的时钟周期数?,采用定向技术消除数据相关,习题3.11(1),需要进行396/4=99次循环,由于每次分支都清空流水线。从上图可以看出每次循环需要17个时钟周期,因此总共需要的时钟周期数为991711684,习题3.11(2),需要进行396/4=99次循环,由于每次分支都清空流水线。从上图可以看出每次循环需要10个时钟周期,因此总共需要的时钟周期数为9910+1991,指令执行重新排序如下:lwr1,0(r2);加法寄存器R1取数(R2)addir2,r

12、2,#4;指针R2指针R2+4addir1,r1,#1;R1R1+1Subr4,r3,r2;R4R3-R2bnezr4,Loop;若R40,循环sw-4(r2),r1;分支延迟槽,存数(R2-4)R1,LOOP:LWR1,0(R2)ADDIR1,R1,#1SW0(R2),R1ADDIR2,R2,#4SUBR4,R3,R2BNZR4,LOOP,LOOP:LWR1,0(R2)ADDIR2,R2,#4ADDIR1,R1,#1SW0(R2),R1SUBR4,R3,R2BNZR4,LOOP,LOOP:LWR1,0(R2)ADDIR2,R2,#4ADDIR1,R1,#1SW-4(R2),R1SUBR4,R

13、3,R2BNZR4,LOOP,LOOP:LWR1,0(R2)ADDIR2,R2,#4ADDIR1,R1,#1SUBR4,R3,R2BNZR4,LOOPSW-4(R2),R1,习题3.11(3),习题3.11(3),有正常定向路径。单周期延迟分支。loop:lw r1,0(r2)addi r2,r2,#4addi r1,r1,#1sub r4,r3,r2bnz r4,loopsw r1,-4(r2)第i次迭代(i 0.98)开始周期:1(i 6)总的时钟周期数:(986)10598,习题5.8(分支预测技术),假设有一条长流水线,仅仅对条件转移指令使用分支目标缓冲。假设分支预测错误的开销为4个时

14、钟周期,缓冲不命中的开销为3个时钟周期。假设命中率为90%,预测精度为90%,分支频率为15%,没有分支的基本CPI为1。(1)求程序执行的CPI。(2)相对固定的2个时钟周期延迟的分支处理,哪种更快?解:(1)程序执行的CPI=没有分支的基本CPI+分支带来的额外开销额外开销=15%*(90%命中*10%预测错误*4+10%没命中*3)=0.099所以程序执行的CPI=1+0.099=1.099。(2)采用固定的2 个时钟周期延迟的分支处理 CPI=1+15%*2=1.3由(1)(2)知分支目标缓冲方法执行速度快。,习题5.9(分支预测技术),假定分支目标缓冲的命中率为90%,程序中无条件转

15、移指令为5%,其它指令的CPI为1。假设分支目标缓冲包含分支目标指令,允许无条件转移指令进入分支目标缓冲,则CPI是多少。假定原来的CPI为1.1。(1)原来不采用分支目标缓冲器BTB情况下实际CPI=理想CPI+各种停顿拍数=1+5%L=1.1 解出L=2(2)现在采用分支目标缓冲器BTB情况下实际CPI=理想CPI+各种停顿拍数=1+5%10%2=1.01,习题5.11(超标量/超长指令字/超流水),设指令流水线由取指令,分析指令和执行指令3个部件构成,每个部件t,连续12条指令,分别画出ILP为4的超标量,超长指令字处理机和超流水线的时空图,并分别计算相对标量流水处理机的加速比.1.标量

16、流水处理机Tk=(k+n-1)t=(3+12-1)t=14 t2.超长指令字处理机采用指令级并行技术,ILP=4,12个任务组装成3条长指令,每条含4条小指令,n=3。Tk=(k+n-1)t=(3+3-1)t=5 t,加速比S=14 t/5 t=2.8,习题5.11,3.超标量处理机Tk=(k+n-1)t=(3+3-1)t=5 t加速比S=14 t/5 t=2.84.超流水处理机ILP=4,12个任务在4条时钟依次错开0.25 t的流水线上流过,所以可取k=12,n=12,时钟=t/4。Tk=(k+n-1)t/4=(12+12-1)t/4=5.75 t,加速比S=14 t/5.75 t=2.4

17、35,习题6.7(GCD测试方法),在使用GCD测试之前,必须先对这段代码进行“规范化”修改下标从1开始,而且每次循环后增加1。For(i=1;i=100;i+=2)ai=ai-1;规范化为:For(k=1;k=50;k+)a2K=a2K-1;在这个循环中a=2,b=0,c=2,d=-1,这样GCD(a,c)=2,d-b=-1,由于前者不能够整除后者;该循环不存在循环携带的真数据相关。,习题6.8(循环展开),表6.1本节使用的浮点流水线的延迟,整数运算,分支延迟和load需要一个周期延迟,如果分支的寄存器在前一条指令计算出,也需要一个周期延迟,因为整数计算在第3个周期完成,而分支第2个周期就

18、用到,DADDIU R1,R1,#-87(空转)8BNE R1,R2,Loop9,习题6.8,在不进行指令调度的情况下,程序的实际执行情况如下:指令流出时钟Loop:L.D F0,0(R1)1L.D F4,0(R2)2(空转)3MUI.D F0,F0,F44(空转)5(空转)6(空转)7ADD.D F2,F0,F28DADDIU R1,R1,#-8 9DADDIU R2,R2,#-810BNE R1,R3,Loop11(空转)12,计算原程序周期数:每对元素所需的时钟周期数=12,其中空转数=5;,习题6.8 新程序,Loop:L.D F0,16(R1);F0 A(i+2)L.D F4,16(

19、R2);F4 B(i+2)L.D F6,8(R1);F6 A(i+1)MUL.D F0,F0,F4;F0 A(i+2)B(i+2)L.D F8,8(R2);F8B(i+1)L.D F10,0(R1);F10 A(i)MUL.D F6,F6,F8;F6 A(i+1)B(i+1)ADD.D F2,F0,F2;F2 F2+A(i+2)B(i+2)L.D F12,0(R2);F12B(i)DADDUI R1,R1,-24;R1 R1-24 MUL.D F10,F10,F12;F10 A(i)B(i)ADD.D F2,F6,F2;F2 F2+A(i+1)B(i+1)DADDUI R2,R2,-24;R2

20、 R2-24 BNE R1,R3,loop;若R1 R3,循环(空转)ADD.D F2,F10,F2;F2 F2+A(i)B(i),新程序周期数:每对元素所需的时钟周期数=16/3=5.3,其中空转数=1/3=0.3,习题7.9(两级Cache),假设在3000次访存中,第一级cache不命中110次,第二级cache不命中55次。试问:在这种情况下,该cache系统的局部不命中率和全局不命中率各是多少?解:第一级cache不命中率(全局和局部)是110/3000,即3.67%;第二级cache的局部不命中率是55/110,即50%;第二级cache的全局不命中率是55/3000,即1.83%

21、。,习题7.10(存储系统性能指标),习题7.10,平均访问时间命中时间失效率失效开销平均访问时间1-路=2.0+1.4%*80=3.12ns平均访问时间2-路=2.0*(1+10%)+1.0%*80=3.0ns两路组相联的平均访问时间比较低CPUtime=(CPU执行+存储等待周期)*时钟周期CPUtime=(IC*CPI执行+总访存失效次数*失效开销)*时钟周期=IC*(CPI执行*时钟周期+每条指令的访存次数*失效率*失效开销*时钟周期)CPU time 1-way=IC(2.0*2+1.2*0.014*80)5.344ICCPU time 2-way=IC(2.2*2+1.2*0.01

22、*80)5.36IC相对性能比:5.36/5.344=1.003直接映象的访问时间是两路组相联的1.04倍,两路组相联的平均CPU时间是直接映象的1.003倍。因此这里选择直接映象。,习题7.11(伪相联),伪相联中,假设在直接映象位置没有发现匹配,而在另一个位置才找到数据(伪命中)时,需要1个额外的周期,而且不交换两个Cache中的数据,失效开销为50个时钟周期。假设 2KB直接映象Cache的总失效率为0.098,2路相联的总失效率为0.076;128KB直接映象Cache的总失效率为0.010,2路相联的总失效率为0.007。试求:(1)推导出平均访存的时间公式。(2)利用(1)中得到的

23、公式,对于2KBCache和128KBCache,重新计算伪相联的平均访存时间。请问哪一种伪相联更快?,习题7.11,命中时间伪相联命中时间1路伪命中率伪相联1因此 伪命中率伪相联命中率2路命中率1路(1失效率2路)(1失效率1路)失效率1路失效率2路。平均访存时间伪相联命中时间1路(失效率1路失效率2路)1失效率2路失效开销2路将题设中的数据带入计算,得到:平均访存时间2KB=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

24、(TLB),(1)假设TLB不命中率=0Cache中50%的块修改过,所以不命中时,替换Cache需要1次从内存取一块,50%次写回一块,共1.5次。均摊不命中开销=不命中率1.5 40+32B/4B+020=不命中率72实际CPI1=1.5+1.2不命中率72=1.5+不命中率86.4带入3种Cache结构的不命中率得:Cache结构 不命中率实际CPI16KB直接混合映像 0.029 4.005616KB两路混合映像 0.022 3.400832KB直接混合映像 0.020 3.2280,习题7.12,(2)假设TLB不命中率=0.2%均摊不命中开销=不命中率1.540+32B/4B+0.

25、2%20=不命中率1.548.04=不命中率72.06实际CPI2=1.5+1.2不命中率72.06=1.5+不命中率86.472带入3种Cache结构的不命中率后得Cache结构 不命中率 实际CPI16KB直接混合映像 0.029 4.007716KB两路混合映像 0.022 3.402432KB直接混合映像0.020 3.2294,习题7.14,假设一台计算机具有以下特性:95的访存在Cache中命中;块大小为两个字,且失效时整个块被调入;CPU发出访存请求的速率为109字/秒;25的访存为写访问;存储器的最大流量为109字/秒(包括读和写);主存每次只能读或写一个字;在任何时候,Cac

26、he中有30的块被修改过;写失效时,Cache采用写分配法。试对于以下两种情况计算主存频带的平均使用比例。(1)写直达Cache;(2)写回法Cache。,习题7.14(写策略),采用按写分配(1)写直达cache:读命中,不访问主存;写命中,更新cache和主存,访问主存一次。读失效,将主存中的块调入cache中,访问主存两次;写失效,将要写的块调入cache,访问主存两次,再将修改的数据写入cache和主存,访问主存一次,共三次。上述分析如下表所示。,一次访存请求最后真正的平均访存次数=(71.3%*0)+(23.8%*1)+(3.8%*2)+(1.3%*3)0.35已用带宽=0.3510

27、9/10 9=35.0%,习题7.14,(2)写回法cache访问命中,有两种情况:读命中,不访问主存;写命中,采用写回法,不访问主存。访问失效,有一个块将被换出,这也有两种情况:如果被替换的块没有修改过,将主存中的块调入cache块中,访存两次;如果被替换的块修改过,则首先将修改的块写入主存,需要访存两次;然后将主存中的块调入cache块中,需要访问主存两次,共四次访存。,所以:一次访存请求最后真正的平均访存次数=66.5*028.5%*0+3.5%*2+1.5%*4=0.13 已用带宽0.1310 9/10 913%,习题8.11(I/O与Cache数据一致性),假设在一个计算机系统中:(

28、1)每页为32KB,Cache块大小为128B(2)对应新页的地址不在Cache中,CPU不访问新页中的任何数据;(3)Cache中95%的被替换块将再次被读取,引起一次不命中;(4)Cache使用写回方法,平均60%的块被修改过;(5)I/O系统缓冲能够存储一个完整的cache块(6)访问或不命中在所有cache块中均匀分布;(7)在CPU和I/O之间,没有其他访问cache的干扰;(8)无I/O时,每100万个时钟周期内有18000次不命中;(9)不命中开销是40个时钟周期,如果被替换的块被修改过,则再加上30个周期用于写回主存;(10)假设计算机平均每200万个周期处理一页试分析I/O对

29、于性能的影响有多大,习题8.11,解:每个主存页有32K/128256块。按块传输,I/O传输本身并不引起Cache失效。但可能要替换Cache中的有效块。如果替换块中有60被修改过,将需要25660304608个时钟周期将这些脏块写回主存。替换出去的块中,有95的再次被访问,从而产生95256244次失效,将再次发生替换。由于这次被替换的244块中数据是从I/O直接写入Cache的,因此所有块都为被修改块,需要写回主存(因为CPU不会直接访问从I/O来的新数据),需要244(4030)17080个时钟周期。没有I/O时,每一页平均使用200万个时钟周期,Cache失效36000次,其中60被

30、修改过,所需的IO时间为:=36000403600060302088000(时钟周期)时钟I/O造成的额外性能损失比例为(460817080)(20000002088000)0.53,8.12(RAID系统,可靠性),假定某网络型RAID系统包含6个SCSI磁盘,采用RAID1+0结构,对给定时间t,各部分可靠度为:网络接口通道NIC的R1=0.9,阵列控制器R2=0.95,SCSI通道适配器R3=0.95,磁盘R4=0.8。(1)画出系统可靠性框图;(2)写出系统可靠性R的表达式,计算R的数值;(3)提出进一步增强系统可靠性的若干建议。,习题8.12,(1)(2)R=(1-(1-R1)2)R

31、2R3(1-(1-R4)2)30.79(3)采用双控制器、双SCSI适配器、提高数据冗余度、网络通道冗余度、提高各部分器件可靠度等。,串联系统:,并联系统:,各种互连函数总结,交换置换函数定义:E(Xn-1Xn-2X1X0)=Xn-1Xn-2X1X0,其中0in-1立方体函数定义:Cubei的功能是对入端结点编号二进制形式的第i位取反Cubei(Xn-1Xi+1XiXi-1X0)=Xn-1Xi+1XiXi-1X0,其中0in-1均匀洗牌:shuffle(Xn-1Xn-2X0)=Xn-2X0Xn-1(循环左移)蝶式互连函数butterfly:最高位与最低位互换;反位序函数:就是二进制各位次序颠倒

32、过来;PM2I函数定义:PM2i的功能是对入端结点编号加或减2i,然后再作模N运算PM2+i(X)=X+2i mod NPM2-i(X)=X-2i mod N 其中 X=0 N-1,i=0 n-1。,习题9.9(单级互连网络),几个单级静态网络参数,单级混洗交换网络网络的直径是2n-1。0和N-1的入度和出度各为1,其它的各为2;单级PM2I网络2n-1种不同的置换,度为2n-1;单级PM2I网络的直径是n-立方体中结点的度都是n,直径也是n,,习题9.9,(2)25个结点的混洗交换网的直径是2n-1=25-1=9;从5号处理机(00101B)发送数据到7号处理机(00111B),最短路径要经

33、过6步,包含5步左移和1步求反(因为00101BXOR00111B=00010B),经过的处理机编号为:00101B01010B 10100B 01001B 10010B 10011B 00111B(3)网络直径是5/2=3;结点度是2n-1=25-1=9;与2号处理机距离最远的是13、15、21、23号处理机。,习题9.13(多级互连网络),有log2N级,每级用N/2个22开关,共需要N/2*log2N个开关。用N=8的三级Omega网络连接8个处理机(P0P7),8个处理机的输出端分别依次连接Omega的8个输入端07,8个处理机的输入端分别依次连接Omega的8个输出端07,处理机P6

34、要把数据播送到处理机P0P4,处理机P3要把数据播送到处理机P5P7,能否同时为它们的播送要求实现连接,画出开关状态图。,习题10.6(并行处理对性能的提高),一个具有32台处理机的系统,对远程存储器访问时间是2000ns。除了通信以外,假设计算中的访问均命中局部存储器。当发出一个远程请求时,本地处理机挂起。处理机的时钟周期是10ns,假设指令基本的CPI为1.0(假设所有访存均命中cache)。对于下述两种情况:(1)没有远程访问;(2)0.5%的指令需要远程访问.试问前者比后者快多少?解:远程访存时钟周期为2000/10=200 则 有远程访问情况 CPI2=CPI1+pC=1+5%200

35、=2 因此前者比后者快1倍,习题10.9(栅栏同步,旋转锁),采用排队锁和fetch-and-increment重新实现栅栏同步,并将分别与采用旋转锁实现的栅栏同步进行性能对比。解:fetch-and-increment(count);if(count=total)/进程全部到达 count=0;/重置计数器 release=1;/释放进程else/还有进程未到达 spin(release=1);/等待信号,当有N个处理器时,上述代码执行fetch-and-increment操作N次;当N-1个处理器第一次访问release时候,有N-1个cache未命中。当最后一个处理器到达栅栏条件后,re

36、lease置为“1”,一次写操作;此时有N-1个release 访问cache未命中。所以,共有 3N-1次总线 传输操作。如果有10个处理器,则共有29次总线传输操作,总共需要2900个时钟周期。,旋转锁实现的栅栏同步性能第i个处理器通过栅栏产生的事件序列 事件 数量 对应源代码 说明LL i Lock(counterlock);所有处理器抢锁SC i Lock(counterlock);一个成功LD 1 count=count+1;读countSD 1 count=count+1;写countLL i-1 Lock(counterlock);不成功的处理器再次抢锁SD 1 unlock(counterlock);获得锁产生的失效LD 2 spin(release=1);读release:初次和最后写产生的失效,最后一个处理器只需要1次写操作。因此对n个处理器,总线事务的总和为:n(3i+4)-1=(3n2+11n)/2-1 i=1对于10个处理器有204个总线事务,需要20400个时钟周期。Count=0应该也导致一次总线事务;,习题10.9,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号