408-2010年-全国统考

选择题

数据结构部分

  1. P235 T2(做√但总结)
    在这里插入图片描述

双端队列有两种:
①输出受限的双端队列;②输入受限的双端队列

正如这题就是输出受限的双端队列:
其特点是:
①输出的相应位置就是其插入的位置
②顺序进队的元素之间必定是相邻的(可能左/可能右)

输入受限的双端队列:
其特点是:一个元素先出去,那么这个元素之前的元素必定已经在队列中且与输入的顺序相同

结合两种双端队列的出题:
在这里插入图片描述
这种题目就模拟一下,就可以了,无需列出两种双端队列的所有输出序列
知道两种的双端队列的特点就能快速的做出来
A:如果是输入受限,两端都可进队,要得到1 2 3 4,从两端进队都可以得到,如:S表示进队,X表示出队
①左边进队出队顺序是:SL,XL,SL,XL,SL,XL,SL,XL
②右边进队出队顺序是:SR,SR,SR,SR,XL,XL,XL,XL A√

B:要得到4 1 3 2的输出序列,必定不是输出受限的双端队列,因为输出受限的双端队列的特点是顺序进队的元素,在出队后必定是相邻的。而这4 1 3 2 中3就已经违反了这一特点,因此,再看看输入受限的双端队列满不满足,而再输入受限的双端队列中,4先输出,那么 1 2 3 4都已经在队列中,因此判断就只需要模拟其出队就可以了,可以验证到,其输入输出序列为:SL,SL,SL,SL,XL,XR,XL,(XL或XR)   B√

C:可以看出也肯定不是输出受限的双端队列,在看输入受限的双端队列,4先出队那么其在队列的元素顺序是4 3 2 1,左右都可出队,模拟一下其出队顺序,可以发现不可能得到4 2 3 1 的出队顺序,因为2不可能在3之前出队   C×,选C

D:其出队顺序满足输出受限的双端队列,在模拟一下其入队顺序出队顺序:(SL/SR),SL,SR,SL,XL,XL,XL,XL,在看看输入受限的双端队列,不满足,因为2不可能在3之前出队,但题目只是说,输入受限和输出受限都不可能的输出序列,因此,答案选C


  1. 对于线索树的构造:二叉线索树的前驱后继指针只有左右孩子有一个没有才会有虚线构造,其左右指针就是其前驱和后继。(做√但总结)

计组部分

  1. P237 T17(做√但总结)
    在这里插入图片描述

TLB、Page用来从VA->PA
Cache通过PA快速得到对应的数据,无需访存
A三者都未命中,发送缺页中断,进行缺页处理
B:TLB未命中,Page命中,查页表得到页框号得到PA,访问Cache命中得到数据
C:TLB命中得到页框号->PA,而TLB都命中了说明其页面必定在内存中,因为如果该页面不在内存,TLB对应的有效位就是0了必定不命中
D:因此D错误,TLB命中,Page必定命中,不然TLB对应的表项的有效位=0

总结:
①Cache命中,Page必定命中,因为要得到PA才能访问Cache,因此Page肯定命中
②TLB命中,Page必定命中,TLB命中,Page必定命中,不然TLB对应的表项的有效位=0


  1. P237 T18(做√但总结)
    在这里插入图片描述

总结:
在这里插入图片描述


  1. P237 T19(做√但总结)
    在这里插入图片描述

主要是通过排除法做出来了,不知道数据旁路是什么
①数据相关:程序的下一条指令会用到当前指令计算出的结果,因此要阻塞等待数据
②资源冲突/结构相关:争用同一资源的冲突
③控制相关:一提到控制,基本都是和指令相关的,如转移指令:JMP(无条件跳转)/JXX(有条件跳转),调用指令(call),返回指令(ret),这种改变PC值的指令会使得当前的指令执行发生变化,此过程需要(中断隐指令:①关中断②保存断点③引出中断服务程序)–中断隐指令由硬件完成(CPU),而保护现场-中断处理-恢复现场-开中断-中断返回,的操作是中断服务程序内执行的

因此,我的方式是用排除法选出的,现在来搞搞数据旁路是什么东西!
数据旁路是用来解决数据相关的,因为数据相关需要上一条指令把数据存回WB写回寄存器后,下一条指令才能ID译码。而用了数据旁路,可以使得上一条指令的运算存在ALU的时候,直接就用ALU的值传输给下一条指令的用于输入计算,不用等上一条指令写回寄存器。,因此该操作还能解决流水线的阻塞问题,而不是引起流水线的阻塞问题


  1. P237 T20(做√但总结)
    在这里插入图片描述

这题我主要是通过排除法做出来了,CPI是CPU执行一条指令所需的时钟周期数,不是总线的标准,是一种性能,因此排除了B
MIPS,是每秒能执行多少的百万条指令数,是用来形容CPU的性能的,因此C排除
A,D之中,我记得PCI、EISA是总线标准,所以就选了D,但是我忘了PCI、EISA具体是什么东西,而且A的CRT我也不知道是什么东西!。。裂开,因此我来总结一下啦!

系统总线:
ISA:(Industry Standard Architecture工业标准体系结构)----并行总线
EISA:(Extended Industry Standard Architecture-与CPU直接相连)----并行总线

局部总线:
VESA(video electronics standard association-视频电子标准协会)----并行
PCI(Peripheral Component Interconnect—外部设备互连)----并行
AGP(Accelerate Graph Port-加速图形接口)
PCI-Express----串行⭐–很高频率-全双工模式

设备总线:
USB-(universal serial bus-通用串行总线)

该题中还有一个叫CRT的东西:是纯屏显示器


  1. P237 T21(做√但总结)
    在这里插入图片描述

参考 P237 T19(做√但总结)的解释


  1. P238 T22(错题总结)
    在这里插入图片描述

显示器的分辨率为1600X1200,这是一个矩阵,每一个像素点为1bit,因此1600X1200=1,920,000bit
刷新的所需的带宽=分辨率*位深度 *帧频
而显存总的带宽=刷新带宽/刷新带宽占总带宽的占比


操作系统部分

  1. P238 T23(做√但总结)
    在这里插入图片描述

命令接口又称为交互式接口
程序接口/广义指令/系统调用 又称为批处理命令接口
注意的是:用户不能直接使用系统调用,只能通过程序代码间接使用


  1. P238 T27(做√但总结)
    在这里插入图片描述

在这里插入图片描述

这题明显是pterson算法,所以是最优的,解决了饥饿问题,但还没有让权等待


  1. P239 T28(做√但总结)

在这里插入图片描述

最佳适配算法:按容量递增的方式,按查找到的第一个满足的分区进行分配,并更新其空闲队列,产生最多的外部碎片,回收分区后可能会对空闲队列进行重新排序

最坏适应算法:按容量递减的方式排列空闲分区,找到第一个满足条件的分区进行分配。可以减少外部碎片,但是却使得大分区被分割,不利于大进程

首次适应算法:按地址顺序查找分区,找到第一个满足的分区进行分配,算法性能好,开销小,不需要对空闲分区队列进行排序

近邻适应算法(循环首次适配算法):从上次查找结束的位置开始继续查找


计网部分

  1. P239 T34(做√但总结)
    在这里插入图片描述

方法:最少的时间拿肯定是经过两个的交换机进行转发的时间是最少的,而经过两个的交换机转发在最后一个分组转发时间是计算在总时间内的,因为每次转发全部的分组,最后一个分组到达交换机后,之前的分组都已经转发出去了,而最后一个分组刚到达,所以是计算在总时间内的,因此总的时间=两个的交换机就要算2个最后一个分组的转发时延+主机发送整个文件的发送时延。


  1. P240 T40(做√但总结)
    在这里插入图片描述

解析域名有两种方式:
①递归查询
②递归与迭代相结合的方式:通过本地域名服务器来查找


综合题

数据结构部分

在这里插入图片描述

这题只拿第一问的分和,第二问分,第二问的ALS(失败)算错的!多算了一个查找长度
错误原因:
在这里插入图片描述
把9的空也算上了
ALS(成功)、ALS(失败)的分母都是mod后面的数字长度,而ALS通过算每个组需要查找多少次就可以算出来了;
ALS(失败)只需要扫描到最后一个mod分组即可,如这道题最后只需要从6开始扫一遍到9就结束了。
而注意的是2、4这个NULL结点也是算在查找失败结点内的,但是9是不包括的,因为mod只有0~6个分组


计组部分

在这里插入图片描述

这题只拿了6分!哎!在这里插入图片描述
这题我一开始的地址结构就弄错了,该打!
主存地址空间=256MB=228B,按字节编址,因此 MAR的位数=28位
在这里插入图片描述

在这里插入图片描述

具体详细流程看王道的PDF

  1. 第一问说明了不用替换位、修改位。那么就只需要Tag、有效位、Cache块即可

tag位数=19位,有效位=1位,Cache行=64B
因此总共的Cache容量=(20bit+64B)*8=20B+512B=532B

  1. 给出数组的起始地址,给出元素的下标->算出其地址,转换成二进制,就可以找出其Cache行了

注意的是:元素从0开始,因此给出a[0][31],是存储在第32个位置上的,所以该a[0][31]其起始的地址就在数组的起始地址+4*31,直接乘其下标即可,也可这么理解:a[0][31]之前有31个元素,因此直接偏移31个元素的位置就是a[0][31]的起始位数

  1. 以一个Cache行能装入多少个Int类型的数据来分析其命中率

如这题,一个数据Cache行能放入64B,即可装入64B/4B=16个,因为每个Cache行数据都是连续存放的,对应数组的顺序,因此每个Cache行的第一个int数据都会Cache不命中,而剩余的15个数据都命中,因此其Cache的命中率就是=15/16*100%=93.75%----这是按行顺序访问–对应数组按行优先存储

而如果是按列访问,那么每一个数据和上一个数据都不在一个Cache行中,16*8=128个int类型的数据,代表总的数据Cache容量只能装入半行的数据,或者一列中的半列的数据,而如果按列访问,访问完到a[127][0],已经使得Cache数据满了,且每一次都不命令,而剩余的a[128][0]~a[255][0]将会逐个覆盖掉 a[0][0]~a[127][0]的数据,因此每个元素访问都会Cache不命中,因此Cache的命中率=0%

第三章-思维导图

在这里插入图片描述


操作系统部分

在这里插入图片描述

这题我问了一休学长,他说如果题目没说明是C-LOOK算法
那么可以把C-SCAN看作C-LOOK;同理,SCAN算法就可以看作LOOK算法,因此这题的第二问,在120之后就直接折返了。

因此移动的磁道数=(120-100)+(120-30)+(90-30)=170个磁道,
①总的寻道时间=170*1ms=170ms
②总的延迟时间= 1 / (2 * r /60) * 4 = 5ms * 4=20ms
③读取一个扇区的时间=旋转一周的时间/总的扇区数=10ms/100=0.1ms
而要读取4个扇区的时间所以读取4个扇区的总时间=0.1ms *4 = 0.4ms
T总=170ms+20ms+0.4ms=190.4ms
3)第三问中,本来的响应一个请求的时间=寻道时间+延迟时间+传输时间,而如果采用随机访问的Flash半导体存储器,那么就不需要寻道时间和延迟时间了,直接就可以读,不需要定位时间在这里插入图片描述

计算机网络 9分,没问题,只需要考虑一个细节点即可

在这里插入图片描述

这题明显是停止-等待协议,注意的是题目要求的是有效数据的传输速率,在MAC帧中1518B中有18B是首部加尾部的(14B首部,4B尾部),因此有效的数据大小=1500B,只需要注意这个,这题满分稳了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值