2017年清华大学912计算机专业基础综合之数据结构考研复试核心题库
● 摘要
一、应用题
1. 某博物馆最多可容纳500人同时参观,有一个出入口,该出入口一次仅允许个通过。参观者的活动描述如下:
参观者进程i :
进门;
参观;
出门;
coend
请添加必要的信号量和P 、
V 的互斥与同步。
要求写出完整的过程,说明信号量含义并赋初值。 【答案】 定义两个信号量
博物馆可以容纳的最多人数
用于出入口资源的控制
参观者进程i :
进门;
操作,以实现上述操作过程中
2. 假定某计算机的CPU 主频为80MHz , CPI为4, 并且平均每条指令访存1.5次,主存与Cache 之间交换的块大小为168, Cache的命中率为
存储器总线宽度为32位。请回答下列问题。
(1)该计算机的MIPS 数是多少? 平均每秒Cache 缺失的次数是多少? 在不考虑DMA 传送的情况下,主存带宽至少达到多少才能满足CPU 的访存要求?
(2)假定在Cache 缺失的情况下访问主存时,存在期挪用方式,磁盘
接口的数据缓冲寄存器为32位,则磁盘
的缺页率,则CPU 平均每秒产
接口平均每秒发出的DMA
生多少次缺页异常? 若页面大小为4KB ,每次缺页都需要访问磁盘,访问磁盘时DMA 传送采用周请求次数至少是多少?
(3)CPU 和DMA 控制器同时要求使用存储器总线时,哪个优先级更高? 为什么? (4)为了提高性能,主存采用4体交叉存储模式,工作时每每个体的存储周期为50ns ,则该主存能提供的最大带宽是多少?
【答案】
(1)平均每秒CPU 执行的指令数为:平均每秒Cache 缺失的次数为:为
:
足CPU 的访存要求。
(2)平均每秒钟“缺页”异常次数为:故平均每秒磁盘DMA 请求的次数至少为:请求得不到及时响应,
传输数据可能会丢失。
因为存储器总线宽度为32位,所以,每传送32位数据,磁盘控制器发出一次DMA 请求,CPU 和DMA 控制器同时要求使用存储器总线时,DMA 请求优先级更高;因为若DMA (3)
(4)4体交叉存储模式能提供的最大带宽为:
故MIPS 数为20; =300000;
才能满
个存储周期启动一个体。若
当Cache 缺失时,CPU 访问主存,主存与Cache 之间以块为单位传送数据,此时,主存带宽
在不考虑DMA 传输的情况下,主存带宽至少达到
3. 已知一棵二叉树的后序遍历序列为EICBGAHDF , 同时知道该二叉树的中序遍历序列为CEIFGBADH , 试画出该二叉树。
【答案】该二叉树如图所示:
图
4. 已知一个大小为512个字长的存储,假设先后有6个用户申请大小分别为23,45,52,100,11和19的存储空间,然后再顺序释放大小为45,52,11的占用块。假设以伙伴系统实现态存储管理。
(1)画出可利用空间表的初始状态。
(2)画出为6个用户分配所需要的存储空间后可利用空间表的状态以及每个用户所得到的存储块的起始地址。
(3)画出在回收3个占用块之后可利用空间表的状态。 【答案】(1)因为
可利用空间表的初始状态图如图1所示:
图1 可利用空间表的初始状态
(2)当用户申请大小为23的内存块时,因
但没有大小为的块,只有大小为的
块,
故将
的块分裂成两个大小为的块,其中一块挂到可利用空间表上,另一块再分裂成两个
大小为
的块。又将其中大小为的一块挂到可利用空间表上,
另一块再分裂成两个大小为的
块。其中一块的块挂到可利用空间表上,
另一块分裂成两个大小为的块,其中一块挂到可利用空间表上,另一块分给用户(地址0〜31)。如此下去,最后每个用户得到的存储空间的起始地址如图2所示,为6个用户分配所需要的存储空间后可利用空间表的状态如图3所示。
图2 每个用户得到的存储空间的起始地址