PAGE
PAGE 23
计算机系统结构习题解答
第一章习题一
1.2一台经解释实现的计算机,可以按照功能划分成4级。每一级为了执行一条指令需要下一级的N条指令解释。若执行第1级的一条指令需K纳秒时间,那么执行第2、3、4级的一条指令个需要多少时间?
解:①分析:
计算机按功能分级时,最底层的为第1级。向上一次是第2 、3、4级。解释执行是在低级机器级上,用它的一串指令或语句来解释执行高一级上的一条指令的功能。是逐条解释的。
②解答:
执行第2、3、4级的一条指令各需KNns,KN2ns,KN3ns的时间。
1.3操作系统机器级的某些指令就用传统机器级的指令,这些指令可以用微程序直接实现,而不由操作系统自己来实现。根据你对习题1.2的回答,你认为这样做有哪两个好处?
答:可以加快操作系统操作命令解释的速度。同时也节省了存放解释操作命令这部分解释程序所占用的空间。简化了操作系统机器级的设计。也有利于减少传统机器级的指令条数。
1.5硬件和软件在什么意义上是等效的 ?在什么意义上是不等效的?试举例说明。
答:硬件和软件在逻辑意义上是等效的。在物理意义上是不等效的。①在原理上,用硬件或固件实现的功能完全可以用软件来完成。用软件实现的功能也可以用硬件或固件来完成。功能一样。
②只是反映在速度、价格、实现的难易程度上,这两者是不同的。性能不同。
③例如,浮点运算在80386以前一直是用软件实现的。到了80486,将浮点运算器集成到了CPU中,可以直接通过浮点运算指令用硬件实现。但速度却高的多。
1.9下列哪些对系统程序员是透明的?哪些对应用程序员是透明的?
系列机各档不同的数据通路宽度;虚拟存储器;Cache存储器;程序状态字;
“启动I/O”指令;“执行”指令;指令缓冲器。
答:①对系统程序员和应用程序员均透明的:是全用硬件实现的计算机组成所包含的方面。有:数据通路宽度、Cache存储器、指令缓冲器。
②仅对应用程序员透明的:是一些软硬件结合实现的功能。有:
虚拟存储器、程序状态字、“启动I/O”指令。
③均不透明的:
“执行”指令。
1.16假设高速缓存Cache工作速度为贮存的5倍,且Cache被访问命中的概率为90%,则采用Cache后,能使整个存储系统获得多高的加速比?
解:Se=5 Fe=90%=0.9
根据Amdahl定律,加速比
Sn=1/((1-Fe)+Fe/Se)=1/(0.1+0.9/5)=1/0.28=3.57
1.18用一台40MHz处理机执行标准测试程序,它含的混合指令数和相应所需的时钟周期数如下:
指令类型
指令数
时钟周期数
整数运算
45000
1
数据传送
32000
2
浮点
15000
2
控制传送
8000
2
解:IC=45000+32000+15000+8000=100000=105
CPI=(1/IC)* ∑(CPIi *Ii)=(1/105)*(45000*1+(32000+15000+8000)*2)=155000/100000=1.55
MIPS=f/(CPI*106)=40*106/(1.55*106)=25.8
Te=IC/(MIPS*106)s=3.875ms
1.22对在SUN SPARC2工作站上,对SPEC Benchmark进行测试,获得了如下所示的速率值,求其算术、几何以及调和平均值(以MFLOPS表示)。
解:
n n
∑Ti=∑ 1/Ri=(1/10.7+1/8.9+1/8.3+1/5.0+1/8.7+1/9.0+1/9.7+1/11.1+1/7.8+1/5.6)
i=1 i=1
=1.25229
n
Am=(∑Ti)/10=0.125229 Am=0.125229*1/(106)s=0.125 μS
i=1
n
Hm=n/(∑1/Ri)=10/1.25229=7.985MFLOPS
i=1
习题二
2.3解1:①最大正数:
尾数最大m=0.1111…1=(1-2-23),阶码最大e=+127。加上一个隐藏位,最大正数为FMax32=(2-2-23)*2+127=+(3.4*1038
②最小正数:
尾数最小m=1.000…0=1.0,阶码最小e=-126。所以,
规格化的最小数Min1=1*2-126=5.877*10-39
若e=0,且m≠0,N=(-1)s*2-127*(0.m)。则最小正数为:
FMin32=+2-127*(0.000…1)=+ 2-150=1.5*10-45 。√
③最大负数:为=-(1.5*10-45)
④最小负数:为=-(3.4*1038)
⑤表数精度:δ=2-p=2-2