2017年西安工程大学924数据结构复试仿真模拟三套题
● 摘要
一、应用题
1. 分析ISAM 文件(IndeXed Sequential Access Methord)和VSAM 文件(Virtual storage Access Methord )的应用场合、优缺点等。
【答案】ISAM 是一种专为磁盘存取设计的文件组织形式,采用静态索引结构,对磁盘上的数据文件建立盘组、柱面、磁道三级索引。ISAM 文件中记录按关键字顺序存放,插入记录时需移动记录并将同一磁道上最后的一个记录移至溢出区,同时修改磁道索引项,删除记录只需在存储位置作标记,不需移动记录和修改指针。经过多次插入和删除记录后,文件结构变得不合理,需周期整理ISAM 文件。
VSAM 文件采用动态索引结构,文件只有控制区间和控制区域等逻辑存储单位,与外存储
树,作为文件的索引部分可实现顺链查找和从器中柱面、磁道等具体存储单位没有必然联系。VSAM 文件结构包括索引集、顺序集和数据集三部分,记录存于数据集中,顺序集和索引集构成
根结点开始的随机查找。
优缺点:与ISAM 文件相比,VSAM 文件有如下优点:动态分配和释放存储空间,不需对文件进行重组;能保持较高的查找效率,且查找先后插入记录所需时间相同。因此,基于
文件通常作为大型索引顺序文件的标准组织。
2.
某局域网采用协议实现介质访问控制,
数据传输率为
程。
(1)若主机甲和主机乙发送数据时发生冲突,则从开始发送数据时刻起,到两台主机均检测到冲突时刻止,最短需经过多长时间? 最长需经过多长时间?(假设主机甲和主机乙发送数据过程中,其他主机不发送数据)
(2)若网络不存在任何冲突与差错,主机甲总是以标准的最长以太网数据帧(1518字节)向主机乙发送数据,主机乙每成功收到一个数据帧后立即向主机甲发送一个64字节的确认帧,主机甲收到确认帧后方可发送下一个数据帧,此时主机甲的有效数据传输速率是多少?(不考虑以太网帧的前导码)
【答案】(1)当甲乙两台主机同时向对方发送数据时,两台主机均检测到冲突的时间最短
:=
(lkm/200000km/s)×2=10j×s ; 当一台主机发送的数据就要到达另一台主机时,另一台主机才发送数据,两台主机均检测到冲突的时间最长:
=1500B=1500×8bit=12000bit; 发送1518B 的发送时间=1518×8/10Mbps=
第 2 页,共 20 页 的VSAM 主机甲和主机乙之间的距离为2km ,信号传播速度是200000km/S。请回答下列问题,要求说明理由或写出计算过 数据帧的传播时(2)有效数据传输速率=发送的有效数据/发送有效数据所用的总时间。发送的有效数据
间=2km/200000km/s
=确认帧的发送时间=64×
8/10Mbps=; 确认帧的传播时间
=2km/200000km/s=; 发送1518B 所用的总时间为
1285.6μs=9.33Mbps。
3. 某程序中有如下循环代码段p :
P 起始地址 为0804 8100H,对应的汇编代码和机器代码如下表所示
主机甲的有效数据传输率为12000bit /假设编译时变量sum 和i 分别分配在寄存器R1和R2中。常量N 在寄存器R6中,数组A 的首地址在寄存器R3中,程序段
执行上述代码的计算机M 采用32位定长指令字,其中分支指令Bne 采用如下格式,
Op 为操作码:Rs 和Rd 为寄存器编号:OFFSET 为偏移量,用补码表示。请回答下列问题,并说明理由。
(1)M 的存储器编址单位是什么?
(2)已知sll 指令实现左移功能,数组A 中每个元素占多少位?
(3)表中bne 指令的OFFSET 字段的值是多少?已知bne 指令采用相对寻址方式,当前PC 内容为bne 指令地址,通过分析表中指令地址和bne 指令内容,推断出bne 指令的转移目标地址计算公式。
(4)若M 采用如下“按序发射、按序完成”的5级指令流水线:IF (取指)、ID (译码及
,且硬件不采取任何转发措施,分取数)、EXE (执 行)、MEM (访存)、WB (写回寄存器)
支指令的执行均引起3个时钟周期阻塞,则P 中哪些指令的执行会由于数据相关而发生流水线阻塞?哪条指令的执行会发生控制冒险?为什么指令1 的执行不会因为与指令5的数据相关而发生阻塞?
【答案】(1)由题可知,指令为32为即4个字节,而程序执行时是以4为间隔逐条取指令的,故可知M 的存储器是采用字节编址。
(2)32位,因为sll 中实现左移,而(R2) <<2 R4即左移两位就是乘以4,所以是
位
(3)由Bne 的指令格式可知其OFFSET 为指令的后16位,而Bne 的机器码码为1446 FFFAH,所以Bne 的OFFSET 为FFFAH 即-6。
第 3 页,共 20 页
由题可知Bne 采用相对寻址方式,故有效地址
为当前Bne 指令的地址
即而取完Bne 而PC 的值指令后
,
而要跳转到指令1的地址08048100H ,两者相差了18H 也
就是24个字节,而OFFSET 是-6, 故转移目标地址计算公式为(PC
)
(4)由指令序列可知,指令1需写R4而指令2需读R4, 故指令2会因为数据相关而发生阻塞,同理指令3、指令4也会因为数据相关而发生阻塞;而指令6为分支指令,故其存在控制冒险。因为分支指令会有3个时钟周期的阻塞,故指令1的执行不会因为指令5的数据相关而发生阻塞。
4. 一个循环队列的数据结构描述如下:
给出循环队列的队空和队满的判断条件,并且分析一下该条件对队列实际存储空间大小的影响,如果为了不损失存储空间,你如何改进循环队列的队空和队满的判断条件?
【答案】(1)队空:
(2)队满:
这种判断方法,会“牺牲一个存储单元”。为了不损失存储空间,可以通过设置标志位的方式来进行队空和队满的判断。设标记tag ,tag 等于0情况下,若删除时导致front=rear为队空; tag=l情况下,若因插入导致front=rear则为队满。
5. 假定某计算机的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 执行的指令数为:故MIPS 数为20;
第 4 页,共 20 页 个存储周期启动一个体。若