计算机系统结构课后题解析.doc
文本预览下载声明
[例题1.1] 假设将某一部件的处理速度加快到10倍,该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少?
[解答] 由题意可知:Fe=0.4, Se=10,根据Amdahl定律,加速比为:Sn=1/(0.6+0.4/10)=1.56
[例题1.2] 采用哪种实现技术来求浮点数平方根FPSQR的操作对系统的性能影响较大。假设FPSQR操作占整个测试程序执行时间的20%。一种实现方法是采用FPSQR硬件,使FPSQR操作的速度加快到10倍。另一种实现方法是使所有浮点数据指令的速度加快,使FP指令的速度加快到2倍,还假设FP指令占整个执行时间的50%。请比较这两种设计方案。
分别计算出这两种设计方案所能得到的加速比:
[习题1.17] 假设高速缓存Cache工作速度为主存的5倍,且Cache被访问命中的概率为90%,则采用Cache后,能使整个存储系统获得多高的加速比Sp?
[解答] 我们首先对新的存储系统的性能做以下的假设:在Cache不命中的情况下,对Cache的访问不会额外损失时间,即:首先,决定Cache是否命中所用的时间可以忽略;其次,在从主存向Cache传输的同时,数据也被传输给使用部件(不需要再从Cache中读取)。这样,新的存储系统中,平均存取时间分为两个部分:
其中,R表示各种情况所占的比例。
根据加速比的计算公式,
[习题1.19]
[解答] CPI=∑CPIi×[Ii/Ic]=45000/105+(32000×2)/105+(15000×2)/105+(8000×2)/105=1.55
MIPS = (40 × 106)/(1.55 × 106) = 25.8MIPS
Te = 105/(25.8 × 106) = 3.88ms
[习题1.20] 某工作站采用时钟频率为15MHz、处理速率为10MIPS的处理机来执行一个已知混合程序。假定每次存储器存取为1周期延迟、试问:(1)此计算机的有效CPI是多少?
假定将处理机的时钟提高到30MHz,但存储器子系统速率不变。这样,每次存储器存取需要两个时钟周期。如果30%指令每条只需要一次存储存取,而另外5%每条需要两次存储存取,还假定已知混合程序的指令数不变,并与原工作站兼容,试求改进后的处理机性能。
[解答](1)由MIPS = 时钟频率/(CPI×106), 则有:CPIA =时钟频率/(MIPS×106)= 1.5。?(2)当时钟频率为15MHZ时,假设不进行存储操作指令的CPI为x,则要进行一次存储操作指令的CPI为1+ x,要进行二次存储操作指令的CPI为2+ x,因此有:?1.5 = x×65% + (1+ x)×30% + (2+ x)×5%?解得x = 1.1?当时钟频率为30MHZ时,不进行存储操作指令的CPI不变为1.1,要进行一次存储操作指令的CPI为2+ x = 3.1,要进行二次存储操作指令的CPI为4+ x = 5.1,因此平均CPI为:CPIB = 1.1×65% + 3.1×30% + 5.1×5% = 1.9?所以 MIPSB = 时钟频率/(CPIB×106)=(30×106)/(1.9×106)= 15.8?
[习题2.13] 一个处理机共有10条指令,各指令在程序中出现的概率如下表:指令信号 出现概率 Huffman编砝码 2/8扩展编砝码 3/7扩展编砝码 1 0.25 0.20 3 0.15 4 0.10 5?一个处理机共有10条指令,各指令在程序中出现的概率如下表:指令信号 出现概率 Huffman编砝码 2/8扩展编砝码 3/7扩展编砝码 1 0.25 2 0.20 3 0.15 4 0.10 5 0.08 6 0.08 7 0.05 8 0.04 9 0.03 10 0.02(1) 采用最优Huffman编码法(信息熵)计算这10条指令的操作码最短平均长度。(2) 采用Huffman编码法编写这10条指令的操作码,并计算操作码的平均长度,计算与最优Huffman编码法(信息熵)相比的操作码信息冗余量。将得到的操作码编码和计算的结果填入上面的表中。(3) 采用2/8扩展编码法编写这10条指令的操作码,并计算操作码的平均长度,计算与最优Huffman编码法相比的操作码信息冗余量。把得到的操作码编码和计算的结果填入上面的表中。(4) 采用3/7扩展编码法编写这10条指令的操作码,并计算操作码的平均长度,计算与最优Huffman编码法相比的操作码信息冗余量。把得到的操作码编码和计算的结果填入上面的表中。
[解答]
[习题2.14]
一台模型机共有7条指令
显示全部