第一章习题解答
[习题1.2]如果有一个经解释实现的计算机,可以按功能划分为4级。每一级为了执行一条指令需要下一级的N条指令解释。若执行第一级的一条指令需Kns的时间,那么执行第2、3、4级的一条指令各需要用多少时间?
[解答]
第二级的每条指令需要N条第一级指令进行解释,所以执行一条第二级指令所需要的时间为:
Tinstruction2?N?Tinstruction1?N?Kns?KNns
同理有:
TinstructioTinstruction3?N?Tinstructio?N?Tinstruction2?N?KNns?KNns ?N?KNns?KNns
232n4n3
1.7 透明的有:存储器的模m交叉存储;阵列运算部件;访问方式保护;堆栈指令;存储最小编址单位;Cache;
1.8 透明的有:指令缓冲器;时标发生器;(乘法器);先行进位链;最开始机器没有乘法部件,需要汇编程序员
自己编制乘法程序,所以不是透明的,现在固化了乘法部件以后,又扩展了汇编指令,所以又是透明的了,所
以透明不透明问题也是有所变化和不确定因素的。
1.9 对系统程序员透明:Cache存储器;程序状态字;指令缓冲寄存器;
对应用程序员透明:数据通路宽度;虚拟存储器;Cache存储器;程序状态字;指令缓冲寄存器;
[习题1.10]
[解答] (略).
[习题1.11]
[解答]
需要考虑的问题主要是相同系列计算机之间的兼容问题,(2)、(5)、(8)是行不通的;而(1)、(3)、(4)、(6)、(7)则可以考虑。
[习题1.12]如果某一计算任务用向量方式求解比用标量方式求解要快20倍,称可用标量方
式求解部分所花费时间占总的时间的百分比为可向量化百分比.请画出加速比与可向量化比例两者之间关系的曲线.
[解答]
设可向量化比例为Pvector,则加速比的计算公式表示为:
Sp?1(1?Pvector)?Pvector/20?2020?19Pvector
因此,加速比和可向量化比例图如下:
The Relationship between vectorization percentage and2018161412Spee10d8642001020304050vectorization60708090100 [习题1.14]
[解答]
将数据代入上面的公式,有:
10?2020?19Pvector
解之有:
Pvector?0.947
[习题1.16]
[解答]
对该应用程序来说,在90%的时间里,只有50000*10%=5000条指令在运行,其他的45000条指令的平均运行次数很少,因此,我们可以假设对他们来说,Cache总是缺失的.对频繁访问的这10%的指令,我们假设他们访问均匀,这样,Cache的行为便可以认为是均匀覆盖了这些指令.所以,Cache的命中率为:
Rhit?0.9?200050000?0.1?0.36
[习题1.17] 假设高速缓存Cache工作速度为主存的5倍,且Cache被访问命中的概率为90%,则采用Cache后,能使整个存储系统获得多高的加速比Sp?
[解答]
我们首先对新的存储系统的性能做以下的假设:在Cache不命中的情况下,对Cache的访问不会额外损失时间,即:首先,决定Cache是否命中所用的时间可以忽略;其次,在从主存向Cache传输的同时,数据也被传输给使用部件(不需要再从Cache中读取)。这样,新的存储系统中,平均存取时间分为两个部分:
Tnew_average?Tmiss?Rmiss?Thit?Rhit?Tmain?Rmiss?TCache?Rhit
其中,R表示各种情况所占的比例。 根据加速比的计算公式,
Sp?Told_averageTnew_average?TmainTmain?Rmiss?TCache?Rhit?11?0.1?5?0.9?3.57
相关推荐: