版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I.IC)CPI=i=1工(I.IC)CPI=i=1工(CPI.*
I140*106fMIPS=f40MHZ=17,86=2.24CPI*106 2.24*1061、用一台40MHz处理机执行标准测]成程序,它含的混合指令数和相应所需的时钟周期数如下:指令类型指令数时钟周期数整数运算450001数据传送320002浮点150002捽制传送80002第一章补充求有效CPI、MIPS速率和程序的执行时间。[解答]=(45000*1+32000*2+15000*2+8000*2)/(45000+32000+15000+8000)、,=1.55周期/指令速率§=f/(CPI*106)=40*106/(1.55*106)=25.81程序执行时间t:t=(45000*1+32000*2+15000*2+8000*2)*(=3.875*10-3秒2、假设在一台40MHz处理机上运行200,000条指令的目标代码,程序主要由四种指令组成。根据程序跟踪实验结果,已知指令混合比和每种指令所需的指令数如下:指令类型CPI指令混合比算术和逻辑160%高速缓存命中的加载/存储218%转移412%高速存储缺失的存储器访问810%计算在单处理机上用上述跟踪数据运行程序的平均CPI。根据(a)所得的CPI,计算相应的MIPS速率。C包=1*60%+2*18%+4*12%+8*10%3、假定我们利用增加向量处理模块来提高计算机的运算速度。计算机处理向量的速度比其通常的运算要快20倍。我们将可用向量处理部分所花费的时间占总时间的百分比称为可向量化百分比(原)。求出加速比S和可向量化百分比F之间的关系式。[解答]当要得到加速比为2时的可向量化百分比F为多少?[解答]20(1—F)+F/2020—19xF;(1)由Amdahl定律可知:;(1)由(1)得:
2=(1-F:(F/20)(2)(2)=0.53由(2)得4、某台计算机只有Load/Store指令能对存储器进行读/写操作,其它指令只对寄存器进行操作。根据程序跟踪实验结果,已知每种指令所占的比例及CPI数如下:指令类型指令所占比例CPI算逻指令43%1Load指令21%2Store指令12%2转移指令24%2(1)求上述情况下的平均CPI。(2)假设程序有M条指令组成。算逻运算中25%的指令的两个操作数中的一个已在寄存器中,另一个必须在算逻指令执行前用Load指令从存储器取到寄存器。因此有人建议增加另一种算逻指令,其特点是一个操作数取自寄存器,另一个操作数取自存储器,即寄存器一存储器类型,假设这种指令的CPI等于2。同时,转移指令的CPI变为3。求新指令系统的平均CPI。[答]CPI旧=(0.43X1+0.21X2+0.12X2+0.24X2)=1.572.原算逻指令中的25%变成了寄存器一存储器型指令,所以算逻指令(寄存器一寄存器型)少了(0.25X0.43)M条,Load指令少了(0.25X0.43)M条,而(0.25X0.43)M条的新指令为寄存器一存储器型指令。指令总数少了(0.25X43%)M条。设执行算逻指令(寄存器一寄存器型)、Load指令、算逻指令(寄存器一存储器型)、Store指令和转移指令的周期总数分别为C1,C2,C3,C4,C5,所以:C1=(0.43-(0.25X0.43))MX1=0.3225MC2=(0.21-(0.25X0.43))MX2=0.205MC3=(0.25X0.43)MX2=0.215MC4=0.12MX2=0.24MC5=0.24X3M=0.72M新指令总数N=(1-(0.25X0.43))M=0.8925MCP,(C1+C2+C3+C4+C5)/N=1.7025M/0.8925M=1.908第一章:[习题1.2]如果有一个经解释实现的计算机,可以按功能划分为4级。每一级为了执行一条指令需要下一级的N条指令解释。若执行第一级的一条指令需Kns的时间,那么执行第2、3、4级的一条指令各需要用多少时间?[解答]第二级的每条指令需要N条第一级指令进行解释,所以执行一条第二级指令所需要的时间为:T…。2=N>,广N*Kns=KNnsT=NxT =NxKNns=KN2ns同理有: instructin3 instructin2T=NxT =NxKN2ns=KN3nsinstructin4 instructin3[习题1.11][解答] 需要考虑的问题主要是相同系列计算机之间的兼容问题,(2)、(5)、(8)是行不通的;而(1)、(3)、(4)、(6)、(7)则可以考虑。[习题1.12]如果某一计算任务用向量方式求解比用标量方式求解要快20倍,称可用标量方式求解部分所花费时间占总的时间的百分比为可向量化百分比.请画出加速比与可向量化比例两者之间关系的曲线.[解答]设可向量化比例为Pvector,则加速比的计算公式表示为:Sp=Sp=1 _ 20(1-P/PJ。:^PZ因此,加速比和可向量化比例图如下:vectorizationvectorization[习题1.14][解答]将数据代入上面的公式,有:10=202010=2020-19Pvector解之有:{ecto]0.947[习题1.16][解答]对该应用程序来说,在90%的时间里,只有50000*10%=5000条指令在运行,其他的45000条指令的平均运行次数很少,因此,我们可以假设对他们来说,Cache总是缺失的.对频繁访问的这Cache10%的指令,我们假设他们访问均匀,这样,Cache的行为便可以认为是均匀覆盖了这些指令.所以,Cache的命中率为:%=°.的命中率为:%=°.99500Z。.广036[习题1.17]假设高速缓存Cache工作速度为主存的5倍,且Cache被访问命中的概率为90%,则采用Cache后,能使整个存储系统获得多高的加速比Sp?[解答] 我们首先对新的存储系统的性能做以下的假设:在Cache不命中的情况下,对Cache的访问不会额外损失时间,即:首先,决定Cache是否命中所用的时间可以忽略;其次,在从主存向Cache传输的同时,数据也被传输给使用部件(不需要再从Cache中读取)。这样,新的存储系统中,平均存取时间分为两个部分:T =T9R+T9R=T9R+T9Rnew_average missmisshithitmainmissCachehit其中,R表示各种情况所占的比例。根据加速比的计算公式,S=oldaverage= main = =3.57P Tnewaverage Tain'Rss"Cache'A" +5>第二章习题解答[习题2.2]
[解答] 在尾数采用补码、小数表示且p=6,阶码采用移码、整数表示且q=6,尾数基rm为16,阶码基re为2的情况下:M=1-16-6=0.99999994=G.FFFFFF最大尾数为: max HEXM =16-6=0.6xlO-7=0.000001最小正尾数为: positive_min HEX、,M=—1=—1取小尾数为: min HEXM=-16-6=-0.6x10-7=-0.000001最大负尾数为: negtive_max HEXE=26—1=63=3方最大阶码为: max HEXE=-26=—64=—40取小阶码为: min HEX最大正数为:HEX最小正数为:最大负数为:Npositive_minNnegtive_HEX最小正数为:最大负数为:Npositive_minNnegtive_max二(16-1)x16-26=1x16-65=0.54x10-78=(0.lx10-40)HEX=-(16-i+16-6)x16-2^=-0.54x10-78=(-0.100001xW-40)HEX最小负数为:N二—1X1626-1=-1x1663=-0.7237x1076=(-1x1。3歹)
min HEX最小负数为:浮点零为:通过上面的计算,我们可以知道浮点零的范围如下:(-0.100001X10-40) =-0.54x10-78<N<0.54x10-78=(0.1x10-4。)HEX zero HEX5(16)=2log216-1x2-6x4=2-21=0.47x10-6表数精度为:16-1
“(16)= =93.75%表数效率为: 16能表示的规格化浮点数个数为:N=N+N+N=15x165x(27-1)+166x(27-1)+1=4128243713positivenegtivezero[习题2.3][解答]对于IEEE754的32位单精度浮点数:N=(1+1-2-23)x2254-127=0.34X1。39如果不把正的无穷数计算在内,那么最大正数为: maxN=2-23x2-126=2-149=0.14x10-44最小正数为:min-N=-2-23X2-126=-2-149=-0.14x10-44最大负数为:max如果不把负的无穷数计算在内,那么最小负数为:-N如果不把负的无穷数计算在内,那么最小负数为:-N=-(1+1-2-23)x2254-127=-Q.34X1039min表数精度为:6(2)=表数精度为:6(2)=2-24=0.6x10-7由于尾数的基数是2,所以表数效率为50%。对于IEEE754的64位单精度浮点数:如果不把正的无穷数计算在内,那么最大正数为:N如果不把正的无穷数计算在内,那么最大正数为:N=(1+1-2-52)X22046-1023=0.18x10309maxN=2-52X2-1022=2-1074=0.5X10-323最小正数为: min-N=-2-52X2-1022=-2-1074=-0.5X10-323最大负数为: max如果不把负的无穷数计算在内,那么最小负数为:-N=-(1+1-2-52)X22046-1023=-0.18x10309min如果不把负的无穷数计算在内,那么最小负数为:表数精度为:5(2)=2-53=0.11X10-15表数精度为:由于尾数的基数是2,所以表数效率为50%。[习题2.5]一台计算机系统要求浮点数的精度不低于10-7.2,表数范围正数不小于1038,且正、负数对称。尾数用原码、纯小数表示,阶码用移码、整数表示。设计这种浮点数的格式计算(1)所设计浮点数格式实际上能够表示的最大正数、最大负数、[解答]为了方便和提高精度,我们取尾数和阶码的基都为2,即:表数精度和表数效率。r=2且数用原码、纯小数表示,阶码用移码、整数表示。设计这种浮点数的格式计算(1)所设计浮点数格式实际上能够表示的最大正数、最大负数、[解答]为了方便和提高精度,我们取尾数和阶码的基都为2,即:表数精度和表数效率。r=2且r=22-p<10-7.2根据表示数精度的要求:于是可以取p=24;7.2
log2=23.9根据表示数范围的要求:即(1-2-P必然>103822q-1>1.00000006X103838+log1.00000006+1
log2 +log(127.33)
log2log(127.33)
log2=6.99因此可以取q=7数据格式可以表示如下:1位 1位 7位 24位 符号I阶符 I阶码 I尾数⑵能够表示的最大正数:(1—2—24)2127,能够表示的最大负数:一2—129,表示数的精度:2—24,表数效率:50%。[习题2.6][解答]在两种标准下面,0.2分别表示为:(0.333333x100)IBM标准: HEX编码为(01000000)BIN(333333)HEX(0.110011001100110011001100X10-10)IEEE754标准: bin(00111110110011001100110011001100)编码为: BIN(3)略,注意两种标准表数的范围和表数的精度是不相同的。[习题2.10][解答]我们可以计算出数据的大致数量:1000条指令访问的数据总数为1000*2=2000个;每个数据平均访问8次,所以,不同的数据个数为:2000+8=250个对于A处理机,所用的存储空间的大小为:Mem_size=Mem+Mem=1000x32+250x32=40000勿)对于B处理机,指令字长由;遍变为了30位(条数由256减少到64),这样,所用的存储空间的大小为:Mem_size=Mem+Mem =1000x30+250x36=39000bit由此我们可以看出,由于数据的勺平均访问次数要大于指令,所以,通过改进数据的格式来减少指令的长度,可以减少总的存储空间大小。[习题2.14]一台模型机共有7条指令,各指令的使用频率分别为35%,25%,20%,10%,5%,3%和2%,有8个通用数据寄存器,2个变址寄存器。要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。设计8字长的寄存器-寄存器型指令3条,16位字长的寄存器-存储器型变址寻址方式指令4条,变址范围不小于士127。请设计指令格式,并给出各字段的长度和操作码的编码。[解答] (1)要使得到的操作码长度最短,应采用Huffman编码,构造Huffman树如下:0.35 0.25 0.20 0.10 0.05 0.03 0.020.600.050.600.10
由此可以得到7条指令的指令号出现的频率编码135%00由此可以得到7条指令的指令号出现的频率编码135%00225%01320%10410%11055%111063%1111072%11111这样,采用Huffman编码法得到的操作码的平均长度为:H=2X(0.35+0.25+0.20)+3X0.10+4X0.05+5X(0.03+0.02)=2.35(2)设计8位字长的寄存器-寄存器型变址寻址方式指令如下:因为只有8个通用寄存器,所以寄存器地址需3位,操作码只有两位,设计格式如下:2 3 3 操作码OP源寄存器R1目的寄存器R2三条指令的操作码分别为00,01,10设计16位字长的寄存器-存储器型变址寻址方式指令如下:操作码OP通用寄存器变址寄存器操作码OP通用寄存器变址寄存器偏移地址[习题2.15]某处理机的指令字长为16位,有双地址指令、单地址指令和零地址指令三类,并假设每个地址字段的长度均为6位。如果双地址指令有15条,单地址指令和零地址指令的条数基本相同,问单地址指令和零地址指令各有多少条?并且为这三类指令分配操作码。如果要求三类指令的比例大致为1:9:9,问双地址指令、单地址指令和零地址指令各有多少条?并且为这三类指令分配操作码。[解答]首先,我们可以根据指令地址的数量来决定各种指令在指令空间上的分布:如果我们按照从小到大的顺序分配操作码,这样,按照指令数值从小到大的顺序,分别为双地址指令、单地址指令和零地址指令。其次可以根据指令的条数来大致的估计操作码的长度:双指令15条,需要4位指令来区分,剩下的12位指令平均分给单地址和零地址指令,每种指令可以用6位指令来区分,这样,各指令的条数为:双地址指令15条,地址码:0000〜1110;单地址指令26-1=63条,地址码:1111000000~1111111110;零地址指令64条,地址码:1111111111000000~1111111111111111。(2)与上面的分析相同,可以得出答案:双地址指令14条,地址码:0000〜1101;单地址指令26*2-2=126条,1110000000~1110111110,1111000000~1111111110;零地址指令128条1111111111000000~1111111111111111。
第三章习题解答[习题3.1]设有一个两层的存储器层次结构:M1和M20M1的命中率用h表示,并分别令cl和c2为每千字节的成本,sl和s2为存储器容量,tl和t2为存取时间。在什么条件下,整个存储器系统的平均成本会接近于c2?该层次结构的存储器有效存取时间ta是多少?令两层存储器的速度比r=t2/t1,并令E=t1/ta为存储系统的存取效率。试以r和命中率h来表示E。试分别画出r=5、20和100时,E和h的关系图。如果r=100,为使E>0.95,要求的命中率h是多少?(5)中的命中率实际上很难达到,假设实际的命中率只能达到0.96。现在采用一种缓冲技术来解决这个问题。当访问M1不命中时,把包括被访问数据在内的一个数据块都从M2取到M1中,并假设被取到M1中的每个数据平均可以被重复访问5次。请设计缓冲深度(即每次从M2取到M1中的数据块的大小)。[解答]s—s—1—十s 2 s——1—十s2cs+css1 +ss1时,整个存储器系统的平均成本会接近于不难看出:当s1/s2非常小的时候,上式的值约等于c2。即:s2s1时,整个存储器系统的平均成本会接近于(2) ta=h1t1+(1-h1)h2t2因为h2等于1,所以ta=ht1+(1-h)t2EJ= ti = 1⑶ t ht1+(1-h)12 h+(1-h)r(4)~人人 八人, 人 ■■•AlED§AE°IAuGEAE^10^AuCEAEh(%)94(5)将数值代入£和卜的关系式可以算得h>94.05^99.95%o通过缓冲的方法,我们需要将命中率从0.96提高到0.9995。假设对存储器的访问次数为n,缓冲块的大小为m。那么,缓冲的次数为0.0005n次;所以通过对M1的命中率来列等式有:0.9995=0.9995=0.96n+5义m*0.0005n解这个方程有:m=15.8所以要达到(5)中的访问效率,缓冲的深度应该至少是16(个数据单位)。[习题3.3]要求完成一个两层存储系统的容量设计。第一层M1是高速缓存,其容量有三种选择:64K字节、128K字节和256K字节。第二层M2是主存储器,其容量为4M字节。分别令cl和c2是每个字节的成本,t1和t2是M1和M2的存取时间。假定c1=20c2和t2=10t1,三种容量高速缓存的命中率分别为0.7,0.9和0.98。在t1=20ns的条件下,三种高速缓存的平均存取时间ta是多少?(注意:t1是从CPU到M1的时间。t2是从CPU到M2的时间,不是从M1到M2的时间)。如果c2=0.2美圆/K字节,试说明整个存储器层次结构的平均字节成本。对三种存储器的设计作一个比较,并分别按平均成本和平均存取时间指出它们性能的排列次序。再根据平均成本和平均存取时间的乘积,选择最佳设计。[解答](1)ta=ht1+(1-h)t2=(10-9h)t1,所以ta1=(10-9*0.7)*20=74nsta2=(10-9*0.9)*20=38nsta3=(10-9*0.98)*20=23.6nssc 1 +ssc 1 +s2s——1—十s2cs+cs_sI+s将各个值代入可得:ca1=0.26美元/K字节,ca2=0.32美元/K字节,ca3=0.43美元/K字节。(3)按照平均成本来说ca1<ca2<ca3,按照平均存取时间来说ta3<ta2<ta1。如果根据平均成本和平均存取时间的乘积(ca1*ta1=19.24,ca2*ta2=12.16,ca3*ta3=10.15)来计算的话,则第三种方案是最佳的。[习题3.7][解答]各种存储器的地址格式如下:方式3:16个模块低位交叉
[解答]各种存储器的地址格式如下:方式3:16个模块低位交叉方式4:2路高位交叉8路低位交叉16个存储模块每8个组成一个大的模块31模块号 模块的片内地址模块内体号方式5:4路高位交叉4路低位交叉16个存储模块每4个组成一个大的模块31模块号 模块的片内地址模块内体号方式6:4路并行访问4路低位交叉模块的片内地址模块号输出选择31模块的片内地址模块号输出选择用户号(0-255)虚页号用户号(0-255)虚页号(0-4095)页内偏移地址(0-1023)主存的地址需要24位:格式如下这几种存储器都能够并行工作,因此可以提高频带宽度。总的来说,并行访问存储器的优点是实现简单、容易,缺点是访问冲突大;高位交叉访问存储器的优点是扩充方便,缺点是访问效率不高;低位交叉访问存储器可以用分时的方法来提高速度,但扩充不方便。各种存储器的频带宽度和他们的工作频率有关,在不考虑冲突的情况下,如果有足够多的独立控制电路和寄存器,那么,他们的频带宽度是相同的。存储器的逻辑示意图略。注意,并行访问存储器和低位交叉访问存储器很相象,只不过,并行访问存储器使用存储模块号(存储体号)来对已经输出的结果进行选择,而低位交叉访问存储器则用来生成对存储模块(存储体)的片选信号,他通过流水的方式来提高访问的速度。[习题3.13]一个虚拟存储器按字节编址,最多有256个用户,每个用户最多要用4096页,每页1K字节。主存容量16M字节,快表按地址访问,邨2个存储字,快表地址码经散列变换得到,为减少散列冲突,快表分为两组,有两套独立的相等比较电路。写出多用户虚地址和主存地址的格式,并标出各字段的长度。散列变换部件的输入位数和输出位数各为多少?每个相等比较电路的位数是多少?快表每个存储字的总长度为多少位?为哪几个字段?各字段的长度为多少位?画出多用户虚地址经快表变换成主存地址的逻辑示意图。[解答]
由于用户号和虚页号共有20位,所以,散列变换的输入需要20位,而输出的为快表的地址,如果我们假设快表是按照字寻址,那么是4位(快表分为两组,每组16个存储字)。相等比较电路需要比较多用户虚页号,以消除散列冲突,所以,相等比较电路需要20位。快表中需要存储两项内容:多用户虚页号和实页号。多用户虚页号为20位,实页号为14位,共有34位。见课本(计算机系统结构(第二版),郑纬民、汤志中,清华大学出版社)图3.29。[习题3.15][解答]在分配的主存页面数目大于等于5的情况下,这时,除了第一次调入不命中,以后的访问均命中,可以达到最高的页面命中率:实际命中的次数为7次,所以可能达到的最高页面命中率为:7 _H=一=0.583312由于在页面数大于等于5的情况下,肯定可以达到最高命中率,所以我们来看页面数小于5时能否达到该命中率:分配的主存页面数等于4时,调度过程如下:44444*11111*11555*55555*555LFU算法3333*33*333*3命中7次2222*22222调调调调命调命命命命命命入入入入中入中中中中中中此时也可以达到最高命中率;分配的主存页面等于3时,调度过程如下:444*222*33*333*3555*555*222*11LFU算法333*1111*555命中3次调调调调命调调调命调调命入入入入中入入入中入入中此时不能达到最高命中率。所以至少应该分配4个主存页面。我们假设程序每次只访问一个存储单元,这样,对每一个特定页面的访问过程可以描述如下:因为第一次总是不命中的,而平均起来,随后的1023次总是命中的,然后再次被调出主存,并再次重复先前的过程。所以访问存储单元的命中率为:H=竺23=0,9991024[习题3.19]假设在一个采用组相联映象方式的Cache中,主存有B0〜B7共8块组成,Cache有2组,每组2块,每块的大小为16个字节,采用LFU块替换算法。在一个程序执行过程中依次访问这个Cache的块地址流如下:B6,B2,B4,B1,B4,B6,B3,B0,B4,B5,B7,B3(1)写出主存地址的格式,并标出各字段的长度。(2)写出Cache地址的格式,并标出各字段的长度。(3)画出主存与Cache之间各个块的映象对应关系。(4)如果Cache的各个块号为C0、C1、C2和C3,列出程序执行过程中Cache的块地址流情况。(5)如果采用FIFO替换算法,计算Cache的块命中率。(6)采用LFU替换算法,计算Cache的块命中率。(7)如果改为全相联映象方式,再做(5)和(6),可以得出什么结论?(8)如果在程序执行过程中,每从主存装入一块到Cache,则平均要对这个块访问16次。请计算在这种情况下的Cache命中率。[解答]主存共有2个区,每个区2组,每个组2块,每块16个字节,如果按字节寻址,那么主存需要7位,如下图所示:
组号(1位)区号(1位)块号(1位) 块内地址(4位)Cache地址需要6位,如下图所示:组号(1位)块号(1位) 块内地址(4位)对应关系参见教材图3.44其中,(B0,Bl),(B4,B5)对应(C0,C1),而(B2,B3),(B6,B7)对应(C2,C3)。对应于主存块地址流:B6,B2,B4,Bl,B4,B6,B3,B0,B4,B5,B7,B3一种可能的Cache的块地址流如下:C2,C3,C0,Cl,C0,C2,C3,Cl,C0,Cl,C2,C3采用FIFO算法的调度图如下:FIFO算法B4B4B4B4B4B0B0B5B5B5命中3次BlBlBlBlBlB4B4B4B4B6B6B6B6B6B6B3B3B3B3B3B3B2B2B2B2B2B2B2B2B2B7B7调入调入调入调入命」命」调入调入调入调入调入命」块命中率为:H=—=0.2512采用LFU算法的调度图如下:LFU算法B4B4B4B4B4B4B4B4B4B4命中4次BlBlBlBlB0B0B5B5B5B6B6B6B6B6B6B6B6B6B6B7B7B2B2B2B2B2B3B3B3B3B3B3调入调入调入调入命中命中调入调入命中调入调入命中块命中率为:4H=—=0.3312改用全相联以后,当采用FIFO算法时:B6B6B6B6B6B6B3B3B3B3B3B3B2B2B2B2B2B2B0B0B0B0B0FIFO算法B4B4B4B4B4B4B4B5B5B5命中4次BlBlBlBlBlBlBlB7B7调调调调命命调调命调调命入入入入中中入入中入入中块命中率为:H=—=0.3312当采用LFU算法时:B6B6B6B6B6B6B6B6B6B5B5B5B2B2B2B2B2B3B3B3B3B7B7LFU算法B4B4B4B4B4B4B4B4B4B4命中3次B1B1B1B1B0B0B0B0B3调调调调命命调调命调调调入入入入中中入入中入入入块命中率为:3H=—=0.25可以看出,对不同的算法,全相联并不总是能够提高命中率。我们考虑的是对Cache中存储单元的命中率,假设平均访问次数16次中包含第一次的访问,同3.15题(3)的分析,我们可以得到命中率为:-H= =0.9375第四章习题解答[习题4.7]一个字节多路通道连接有5台设备,它们的数据传输率如表4.7所示。表4.7 设备的数据传输率 设备名称D1D2D3D4D5数据传输速率(KB/s)10033.333.32010服务优先级1(最高)2345计算这个字节多路通道的实际工作流量。为了使通道能够正常工作,请设计通道的最大流量和工作周期。当这个字节多路通道工作在最大流量时,5台设备都在0时刻同时向通道发出第一次传送数据的请求,并在以后的时间里按照各自的数据传输速率连续工作。画出通道分时为各台设备服务的时间关系图,并计算这个字节多路通道处理完各台设备的第一次数据服务请求的时刻。[解答]我们道把数据传输速率理解为设备的数据产生速率,即设备对应的子通道数据传输速率,那么,通道的实际流量等于各子通道的流量之和:196.6KB/s。我们取流量上限为200KB/s,则工作周期为5.。通道分时工作的时间关系图如下所示。通道处理完各设备第一次数据服务请求的时刻分别为:5.、10.、20.、30^s、90^SoD1D2D3D4D5第五章习题解答[习题5.3]假设一条指令的执行过程分为“取指令”、“分析”和“执行”三段,每一段的执行时间分别用t、2△t和3At。在下列各种情况下,分别写出连续执行n条指令所需要的时间表达式。顺序执行方式。仅“取指令”和“执行”重叠。先行控制方式。[解答]顺序执行需要的时间如下:T=(At+2At+3At)xn=6nAt取指令和执行重叠,即一次重叠执行方式,我们假设第n+1条指令的取指令和第n条指令的执行同时结束,那么所需要的时间为:T=At+(2At+3At)xn=5nAt+At采用先行控制以后:T=At+2At+3Atxn=3nAt+3At[习题5.7]一条线性流水线有4个功能段组成,每个功能段的延迟时间都相等,都为△t。开始5个4t,每间隔一个△t向流水线输入一个任务,然后停顿2个4t,如此重复。求流水线的实际吞吐率、加速比和效率。[解答]流水线的时空图如下:功能段4功能段4功能段3功能段2功能段111二223344556667712345674△t 2At3At 4At 5At 6A t 7At 8At 9At 10At11At 12At13At14A t 15At我们可以看出,在(lln+1)△t的时间内,可以输出5n个结果,如果指令的序列足够长(n-8),并且指令间不存在相关,那么,吞吐率可以认为满足:
Tp=5n(11Tp=5n(11n+1)At5(11+1/n)At5
11At加速比为:c 5nX4At 20n 20 20, 、S= = = = (nf8)(11n+1)At 11n+111+1/n11从上面的时空图很容易看出,效率为:E=二二 20必t -二1(nf8)kxTk 4x(11n+1)At11+1/n11F=中Ai[习题5.8]用一条5个功能段的浮点加法器流水线计算 i=1。每个功能段的延迟时间均相等,流水线的输出端和输入端之间有直接数据通路,而且设置有足够的缓冲寄存器。要求用尽可能短的时间完成计算,画出流水线时空图,并计算流水线的实际吞吐率、加速比和效率。[解答]首先需要考虑的是,10个数的的和最少需要做几次加法。我们可以发现,加法的次数是不能减少的:9次;于是我们要尽可能快的完成任务,就只有考虑如何让流水线尽可能充满,这需要消除前后指令之间的相关。由于加法满足交换率和结合率,我们可以调整运算次序如以下的指令序列,我们把中间结果寄存器称为R,源操作数寄存器称为A,最后结果寄存器称为F,并假设源操作数已经在寄存器中,则指令如下:I1: R1-A1+A212: R2-A3+A413: R3-A5+A614: R4-A7+A815: R5-A9+A1016: R6-R1+R217: R7-R3+R418: R8-R5+R619: F-R7+R8这并不是唯一可能的计算方法。假设功能段的延迟为^t。时空图如下,图中的数字是指令号:功能段5功能段功能段5功能段4功能段3功能段2功能段11122334455-6-671234567123456712345678△t 2At 3At 4At 5At6At 7A t 8A t 9At 10At 11At 12A t13At14A t15A t整个计算过程需要21At,所以吞吐率为:Tp=Tp=9 321At~TAt加速比为:9义9义5At21At——二2.142921效率为:E_T0 _9x5At_3―kxT―5x21At―^[习题5.9]一条线性静态多功能流水线由6个功能段组成,加法操作使用其中的1、2、3、6功能段,乘法操作使用其中的1、4、5、6功能段,每个功能段的延迟时间均相等。流水线的输入端与输出端之间有直接数据通路,F二(AxB)而且设置有足够的缓冲寄存器。现在用这条流水线计算: ,=1 '',画出流水线时空图,并计算流水线的实际吞吐率、加速比和效率。[解答]为了取得较高的速度,我们需要一次将乘法作完,设源操作数存放在寄存器A、B中,中间结果存放在寄存器R中,最后结果存放在寄存器F中,则执行的指令序列如下所示:I1: R1-A1*B1I2: R2-A2*B213: R3-A3*B314: R4-A4*B415: R5-A5*B516: R6-A6*B617: R7-R1+R218: R8-R3+R419: R9-R5+R6I10: R10-R7+R8I11: F-R9+R10这并不是唯一可能的计算方法。假设功能段的延迟为^t。时空图(不完全)如下,图中的数字是指令号:功能段功能段功能段功能段功能段功能段123456功能段功能段功能段功能段功能段功能段12345612345161 23456Tp整个计算过程需要22At,所以吞吐率为:1122At12Atq11x4At.加速比为:S__2
22At加速比为:tT 11x4At1E_—o__ _—kxT 6x22At3效率为: k[习题5.18]在下列不同结构的处理机上运行8X8的矩阵乘法C=AXB,计算所需要的最短时间。只计算乘法指令和加法指令的执行时间,不计算取操作数、数据传送和程序控制等指令的执行时间。加法部件和乘法部件的延迟时间都是3个时钟周期,另外,加法指令和乘法指令还要经过一个“取指令”和“指令译码”的时钟周期,每个时钟周期为20ns,C的初始值为“0”。各操作部件的输出端有直接数据通路连接到有关操作部件的输入端,在操作部件的输出端设置有足够容量的缓冲寄存器。处理机内只有一个通用操作部件,采用顺序方式执行指令。单流水线标量处理机,有一条两个功能的静态流水线,流水线每个功能段的延迟时间均为一个时钟周期,加法操作和乘法操作各经过3个功能段。多操作部件处理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湖北省鄂州市街道办人员招聘笔试备考试题及答案详解
- 2025年绵阳市游仙区法检系统书记员招聘考试试题及答案详解
- 2026年辽宁省朝阳市街道办人员招聘考试参考题库及答案详解
- 2026年西安市莲湖区法检系统书记员招聘笔试模拟试题及答案详解
- 2026年阜新市清河门区街道办人员招聘笔试备考题库及答案详解
- 2025年大连市旅顺口区街道办人员招聘考试试题及答案详解
- 2026年四川省自贡市中小学教师招聘考试备考题库及答案详解
- 2026年甘肃省嘉峪关市街道办人员招聘考试参考题库及答案详解
- 2025年白城市洮北区街道办人员招聘笔试试题及答案详解
- 2026年佛山市三水区街道办人员招聘笔试备考试题及答案详解
- 2026年厂区消防应急器材使用试题库及答案
- 26年三升四语文阅读理解暑假每日一练(参考答案)
- 2026年楚雄州州级机关统一遴选公务员笔试真题及答案解析
- 2026年驾驶理论测试题及答案
- 2026年核能质保监查员考试题及答案
- 医患沟通礼仪课件
- 类器官科普教学课件
- 学校改造方案分析
- COPD患者戒烟行为干预方案
- 老宋教开车课件
- 江苏省低空空域协同管理办法(试行)
评论
0/150
提交评论