没有合适的资源?快使用搜索试试~ 我知道了~
首页计算机系统基础复习题(1至4章).pdf
资源详情
资源评论
资源推荐

第一章
一、简答
1. 冯·诺依曼计算机由哪儿部分组成?各部分的功能是什么?采用什么工作
方式?
2. 一条指令的执行过程包含哪几个阶段?
3. 计算机系统的层次结构如何划分?计算机系统的用户可分哪几类?每类用
户工作在哪个层次?
4. 程序的 CPI 与哪些因素有关?
5. 为什么说性能指标 MIPS 不能很好地反映计算机的性能?
二、综合题
1. 假定某程序 P 由一个 100 条指令构成的循环组成, 该循环共执行 50 次, 在
某系统 S 中执行程序 P 花了 20 000 个时钟周期, 则系统 S 在执行程序 P 时
的 CPI 是多少?
答案:
程序 P 中 100 条指令的循环被执行了 50 次, 所以在 20 000 个时钟周期中
共执行了 5000 条指令, 所以, 系统 S 在执行程序 P 时的 CPI=20 000/5000=4。
2. 若机器 Ml 和 M2 具有相同的指令集,其时钟频率分别为 0.8GHz 和 1.6GHz。
在指令集中有五种不同类型的指令 A-E。下表给出了在 Ml 和 M2 上每类指令
的平均时钟周期数 CPI。
请回答下列问题:
(1) Ml 和 M2 的峰值 MIPS 各是多少?

(2) 假定某程序 P 的指令序列中, 五类指令具有完全相同的指令条数,
则程序 P 在 Ml 和 M2 上运行时,哪台机器更快?快多少?在 Ml 和 M2
上执行程序 P 时的平均时钟周期 数 CPI 各是多少?
答案:
(1)计算峰值 MIPS 时应该选择 CPI 最少的指令,故在 Ml 上可以选择一段全部
由 A 类指令组成的程序,其峰值 MIPS 为 0.8GHz/l=800MIPS;在 M2 上可以选择
一段全部由 A 类和 B 类指令组成的程序,其峰值 MIPS 为 l.6GHz/2=800MIPS。
( 2 ) 对于程序 P ,每类指令的条数均占 1/5 ,故 Ml 的 CPI 为
CPI1=(1+2+2+3+4)/5=2.4, M2 的 CPI2 为 CPI=(2+2+4+轩的/5=3.8。 当然,
不能根据以上结果 说明程序 P 在 Ml 上运行更快, 因为 Ml 和 M2 的时钟频率不
同。
假设程序 P 的指令条数为 N,则 P 在 Ml 上的执行时间为 2.4 * N
*1/0.8GHz=3.0N (ns); 在 M2 上的执行时间为 3.8*N*l/1.6GHz=2.375N ( ns),
所以, M2 执行 P 的速度更快,每条指令平均快 0.625ns 。
从该题可以看出, 虽然程序 P 在 Ml 中每条指令执行所花的时钟周期数少 ,
但是因为 M2 的时钟频率更快 ,所以时钟周期更短,使得每条指令的平均执行
时间更短。
3. 假设同一套指令集用不同的方法设计了两种机器 Ml 和 M2。机器 Ml 的时
钟周期为 0.8ns 机器陋的时钟周期为 l.2ns。 某个程序 P 在机器 Ml 上
运行时的 CPI 为 4,在 M2 上的 CPI 为 2。对于程序 P 来说, 哪台机器的
执行速度更快?快多少?
答案:
因为 Ml 和 M2 实现的是同一套指令集, 所以程序 P 在机器 Ml 和 M2 上的指
令条数相同,假定是 N 条,则 P 在 Ml 上的执行时间为 4*0.8ns*N=3.2N (ns); P
在 M2 上的执行时间为 2 *1.2ns*N=2.4N ( ns)。 由此可知, 对于程序 P 来说,
M2 的执行速度更快,平均每条指令快 0.8ns。
4. 定某编译器对某段高级语言程序编译生成两种不同的指令序列 Sl 和 S2,
在时钟频率为 500MHz 的机器 M 上运行, 目标指令序列中用到的指令类型
有 A 、 B 、 C 和 D 四类。 四类指令在 M 上的 CPI 和两个指令序列所

用的各类指令条数如下表所示。
请问: Sl 和 S2 各有多少条指令?CPI 各为多少?所含的时钟周期数各为
多少?执行时间各为多少?
答案:
序列 Sl 的指令条数为 5+2+2+1=10, CPI 为( 5*1+2*2+2*3+1+4)/10=1.9,
所含的时钟周期数为 l.9*10=19,故执行时间为 19/(l*10
9
)s= 19ns
序列 S2 的指令条数为 l+l+1+5=8, CPI 为(1*l+1*2+1*3+5*4)/8=3.25,
所含的时钟周期数为 3.25*8= 26,故执行时间为 26/(1*10
9
)s=26ns
第二章
一、简答
1. 为什么计算机内部采用二进制表示信息?既然计算机内部所有信息都用二
进制表示, 为什么还要用到十六进制或八进制数?
2. 常用的定点数编码方式有哪几种?通常它们各自用来表示什么?
3. 在浮点数的基数和总位数一定的情况下,浮点数的表示范围和精度分别由什
么决定?两者如何相互制约?
4. 为什么要对浮点数进行规格化?有哪两种规格化操作?
5. 为什么计算机处理汉字时会涉及不同的编码(如,输入码、内码、字模码)?
说明这些编码中哪些用二进制编码,哪些不用二进制编码,为什么?
剩余14页未读,继续阅读












安全验证
文档复制为VIP权益,开通VIP直接复制

评论1