当前位置:文档之家› 计算机系统结构_第一章练习 答案

计算机系统结构_第一章练习 答案

第一章练习题
一、单项选择题
在下面各题的4个备选答案中,只有一个答案是正确的,请把正确答案的标号(A~D )填入题后面的括号中。

1.在计算机系统层次结构中,从低层到高层,各层相对顺序正确的是( B )。

A . 汇编语言机器级 → 操作系统机器级 → 高级语言机器级
B . 微程序机器级 → 传统机器语言机器级 → 汇编语言机器级
C . 传统机器语言机器级 → 高级语言机器级 → 汇编语言机器级
D . 汇编语言机器级 → 应用语言机器级 → 高级语言机器级 2.直接执行微指令的是( C )。

A .汇编程序 B .编译程序 C .硬件 D .微指令程序 3.对汇编语言程序员透明的是( D )。

A .浮点运算 B .程序性中断 C .存取操作数 D .I/O 方式中的DMA 访问方式 4.从计算机系统结构来看,机器语言程序员看到的机器属性是( A )。

A .编程要用到的硬件组织 B .计算机软件所要完成的功能 C .计算机各部件的硬件实现 D .计算机硬件的全部组成 5.在计算机的系统结构设计中,提高硬件功能实现的比例会( C )。

A .提高硬件的利用率 B .提高系统的性能价格比 C .提高系统的运行速度 D .减少需要的存储器容量 6.在计算机的系统结构设计中,提高软件功能实现的比例会( D )。

A .减少需要的存储器容量 B .提高系统的性能价格比 C .提高系统的解题速度 D .提高系统的灵活性
二、应用题
1. 假设某一计算机系统高速缓存Cache 的工作速度为主存的5倍,而且Cache 被访问
命中的概率为90%,那么,采用Cache 后能够使该计算机的存储系统获得多高的加速比?
解:设CPU 运行程序的访存次数为IC ,CPU 访问主存一次所需要的平均周期数为CPI M ,
CPU 访问Cache 一次所需要的平均周期数为CPI C 。

若不采用Cache ,所有的访存都是直接访问主存,则CPU 完成IC 次访问所需时间为: 若采用Cache ,并且已知Cache 被访问的命中率为90%,即0.9IC 次访存能够通过访问Cache 完成,另外有0.1IC 次访存需要通过访问主存完成,则CPU 完成IC 次访存所需时间为:
所以采用Cache 后,存储系统的加速比为:
2. 如果某计算机系统有3个部件可以改进,则这3个部件经过改进后达到的加速比分
别是:S 1=30,S 2=20,S 3=10。

(1) 如果部件1和部件2改进前的执行时间占整个系统执行时间的比例都是
M C CPI CPI 5
1
=IC
CPI T M ⨯=0IC CPI IC CPI IC CPI T M M C n
⨯=⨯+⨯=28.01.09.057
.30==n
n T T S
30%,那么,部件3改进前的执行时间占整个系统执行时间的比例是多少,
才能使得3个部件都改进后的整个系统的加速比S n 达到10?
解:在多个(比如k 个)部件同时改进的情况下,Amdahl 定律的表述形式为:
F1=0.3,F2=0.3,代入数据得F3=0.36
(2) 如果3个部件改进前执行时间占整个系统执行时间的比例分别是30%、
30%和20%,那么,3个部件都改进后系统的加速比是多少?未改进部件执行时间在改进后的系统执行时间中占的比例是多少?
解:(1)
代入数据得:Sn=4.1
未改进部件的执行时间为: ()002.08.01T T =⋅-
改进后改进部分的执行时间为:0
000'045.010
2.020
3.030
3.0T T T T T n =++=
改进后整个系统的执行时间为:000245.02.0045.0T T T T n =+=
未改进部件的执行时间在改进后的整个系统的执行时间中所占的比例是:
82.08163.0245.02.00
0==T T 3. 假设某个计算机的处理器时钟频率为15MHz ,执行测试程序的速率为10MIPS ,如
果每次存储器存取需要1个时钟周期的时间,问: (1) 该计算机的CPI 值是多少?
(2) 假设将处理器的时钟频率提高到30 MHz ,但是存储器的工作速率不变,
这样使得每次存储器存取需要2个时钟周期。

如果测试程序的30%指令需要1次访存,5%指令需要2次访存,其他指令不需要访存,试求测试程序在改进后的计算机上执行的MIPS 。

测试程序在改进后的计算机上执行的CPI 是:
测试程序在改进后的计算机上的执行速度是:
9.1610
775.11030106
6
6222=⨯⨯=⨯=CPI f MIPS 由于MIPS 2 > MIPS 1 可以由此得出:改进后的计算机的性能提高了。

4. 已知4个程序在计算机A 、B 、C 上的执行时间(以秒s 为单位)分别如下表所示: 程序在各个计算机上的执行时间(单位为:秒s )
∑∑==+⎪⎭⎫ ⎝⎛-=k i i
i k
i i n S F F S 11115
.1101010151010CPI 6
6
61161=⨯⨯=⨯=⨯=MIPS CPI CPI MIPS 时钟频率为:
,可以得出计算机的时钟频率由775.165.05.105.043.023
12=⨯+⨯+⨯=⎪⎭⎫ ⎝⎛⨯=∑=i i i IC IC CPI CPI ∑
∑==+⎪⎭⎫ ⎝⎛-=k i i
i k
i i n S F F S 1111
假设4个程序都分别执行了100⨯10条指令,计算这4个程序分别在计算机A 、B 、C 上执行的MIPS 。

根据这些速率值,你能不能直接评价这3台计算机相对性能的优劣?如果不能,你能不能找到一种方法对这3台计算机的相对性能进行排序?
解: e
e e T T T MIPS 10010
1010010
6
6
6=⨯⨯=⨯=指令条数
程序在各个计算机上执行的MIPS 值
由上面的结果可以看出,不同的程序在同一台计算机上执行时的MIPS 值不相同,
甚至差别很大,这说明在同一台计算机上运行的不同程序使用了该计算机指令集的不同指令,以及使用的指令在不同程序中有不同的使用频度,因此,在同一台计算机上运行的不同程序有不同的CPI 值,从而表现出不同的MIPS 值。

可见,仅用一个程序在不同计算机上运行的MIPS 值来评价计算机之间的性能优劣是不可靠的。

我们可以使用多个典型测试程序运行的MIPS 速率的平均值来评价计算机之间的相对性能的优劣。

325.254
1
2.01.0100=+++=
A MIPS
806.24
125
.01.0110=+++=B MIPS
25.341
255=+++=C MIPS
由MIPSa>MIPSc>MIPSb,可以得出:计算机A 性能最优,C 次之,B 性能最差。

相关主题