计算机系统结构习题答案(李学干)

  • 格式:doc
  • 大小:245.00 KB
  • 文档页数:24

1 计算机系统结构习题解答 第一章 习题一 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”指令。 ③均不透明的: “执行”指令。 2

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 3

第二章 习题二 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-24 ⑥表数效率:η=100% 解2:①最大正数:

FMax64=+((2-2-52)*2+1023)=+(1.798*10308) ②最小正数: FMin64=+2-1023*(0.000„1)=+(2-1075)

=+(5.0*10-324) 10-x=2-107510x=21075x=㏒1021075=1075*㏑2/㏑10=323.6 2.5解:①浮点数格式: 六个参数rm re m e p q

四个已经确定rm =2 、re=2。 尾数m取原码、纯小数, 阶码e用移码。只剩p 和 q δ=10-7.2 N=1038 4

㏒δ P>- ------------=23.94 ㏒2

㏒N ㏒(-------+1) ㏒2 q > ------------------=7.08 ㏒2 取p=24 q=8 则整个浮点数为34位。

1 1 q p mf ef e m

②表数精度:δ=2-p=2-24 ③表数效率:η=50% 2.10解:①最短平均长度 n H=-∑Pi*㏒2Pi=2.96 i=1 ②Huffman树:

0 10 110 1110 11110 111110 1111110 11111110 111111110 111111111

平均长度H2=0.25*1+0.20*2+0.15*3+0.10*4+0.08*5 +0.08*6+0.05*7+0.04*8+0.03*9+0.02*9=3.50 冗余R2=15.6% 5

③2/8扩展码: 00 01 1000 平均长度H3=3.10 1001 1010 冗余R3=4.5% 1011 1100 1101 1110 1111

④3/7扩展码 00 01 10 平均长度H4=3.10 11000 11001 冗余R4=4.5% 11010 11011 11100 11101 11110

2.12 解:①

4 6 6 OP A1 A2 10 6 OP A 16 OP

双:0000----1110共15种,留1111一个编码 单: 1111 000000 … 63中,留1111 111111一个编码 1111 111110 零 1111 111111 000000--------1111 111111 111110 共63种 属于15/63/63 6

②双地址指令的编码空间为四位二进制,最多16种。 单地址指令的编码空间为六位二进制,最多64种。 ∵15×9=135,而14×9=126 64+64=128 ∴取14比较合适。

双0000----1101 共14种 单1110 000000 „ 64种 1110 111111 1111 000000 „ 62种 1111 111101 零 1111 111110 000000 „ 64种 1111 111110 111111 1111 111111 000000 „ 62种 1111 111111 111101

共为14/126/126种 第三章 习题3 3.3

解: (0)T1=10ns, T2=60ns,e=0.5, T2/ T1=60/10=6 ①e=1/(H-(1-H)*6)=1/(6-5H) ∴6-5H=2 命中率 H=4/5=0.80 等效访问周期为 T=HT1+(1-H)T2=0.80*10+(1-0.80)*60=20ns ②e2=1/(6-5H′)=0.94 ∴6-5H′=1/0.94 命中率 H′=4.64/4.7=0.9872 等效访问周期为 T′=H′T1+(1-H′)T2=0.9872*10+0.0128*60=10.64ns ③设块的大小为 b H+n-1 H′=------- -> H′n=n+h-1 n

1-H 1-H n=------ ->4b=------- b=3.91 取4个字 1- H′ 1- H′