科目组合
计算机: 数据结构 、计算机组成原理 、操作系统 、计算机网络

评分及理由
(1)得分及理由(满分6分)
学生未画出完整的散列表,仅给出了部分关键字的散列地址计算。题目要求画出构造的散列表,学生没有提供完整的表格,因此无法给分。扣6分。
(2)得分及理由(满分4分)
学生计算了查找成功和查找不成功的平均查找长度(ASL)。
本小题共得4分。
题目总分:0+4=4分

评分及理由
(1)得分及理由(满分4分)
得分:4分。学生的设计思想与标准答案完全一致,即通过三次逆序操作实现循环左移:先将前p个元素逆序,再将剩余元素逆序,最后整体逆序。思路清晰正确,因此得满分。
(2)得分及理由(满分7分)
得分:6分。学生的代码整体框架正确,但存在两处细节错误:
1. 函数move的参数列表不完整,缺少数组长度n,且数组参数a[]的写法不规范(应为int a[]或int *a)。
2. 在调用reverse函数时,参数传递错误,直接写了a[],应只写数组名a。
这两处属于语法/逻辑错误,扣1分。但核心逆序算法正确,注释清晰,因此扣分后得6分。
(3)得分及理由(满分2分)
得分:2分。学生正确给出了时间复杂度O(n)和空间复杂度O(1),与标准答案一致,得满分。
题目总分:4+6+2=12分

评分及理由
(1)得分及理由(满分4分)
学生答案中:
- 指令条数计算正确(2⁴=16条),得1分。
- 通用寄存器数量计算正确(2³=8个),得1分。
- MAR位数:学生计算为16位,与标准答案一致(主存128KB,按字编址,字长16位,故有128K/2=64K=2¹⁶个存储单元,MAR需16位),得1分。
- MDR位数:学生计算为17位,理由是“主存地址空间128KB=2¹⁷B”,这是错误的。MDR是存储器数据寄存器,其位数应与计算机字长一致,即16位。学生混淆了地址空间大小(字节数)与数据字长。此处扣1分。
本小题得分为:1+1+1+0=3分。
(2)得分及理由(满分2分)
学生答案“地址范围:2⁹ = 512B”完全错误。转移指令采用相对寻址,偏移量在指令中给出(题目未明确位数,但通常为指令中操作数字段的一部分),目标地址范围应与主存地址空间一致,即0~2¹⁶-1(0000H~FFFFH)。学生答案未理解寻址方式与地址计算。本小题得0分。
(3)得分及理由(满分5分)
学生答案:
- 机器码:给出“0010 0001 00 000101,即2105H”。标准答案为“0010 0011 0001 0101B=2315H”。学生答案在寻址方式字段和寄存器编号字段存在错误,未能正确解析“add (R4), (R5)+”的源操作数和目的操作数对应的编码。机器码计算错误,扣2分。
- 执行后改变内容:学生仅指出“寄存器R5内容会改变,改变后为68ACH”,未提及存储单元5678H内容的改变,且R5改变后的值计算正确(5678H+1234H=68ACH)。此处回答不完整,扣2分。
本小题得分为:0(机器码错误)+ 1(R5结果正确)= 1分。
题目总分:3+0+1=4分
1.主存大小:256MB,故物理地址28位,cache块大小64B,故块内偏移6位,8个cache行,直接映射3位
cache标志位:28-6-3=19位,共8行需要19*8=152位,总容量:总标志位+总行大小=152+4096=4248位
2.a[0][31]=320+31*4=444,( 444 / 64 ) % 8 = 6,Cache行号为6
a[1][1]=320+(31+1)*256=320+8192=8512,( 8512 / 64 ) % 8 = 5,Cache行号为5
3.程序A更符合局部性原理,执行时间更短
程序A命中率:15/16
程序B命中率:0
评分及理由
(1)得分及理由(满分3分)
学生答案:主存地址28位、块内偏移6位、行索引3位的分析正确。但计算Cache总容量时,将总容量理解为“位(bit)”而非题目通常要求的“字节(Byte)”,且计算方式有误。标准答案的计算方法是:每行容量 = 数据(64B) + 标记(19位+1有效位=20位,即2.5B) = 66.5B,总容量 = 8 × 66.5B = 532B。学生用“152位+4096位=4248位”来计算,思路(标记位数+数据位数)基本正确,但未考虑有效位(扣1分),且最终结果单位错误且数值与标准答案不符(扣1分)。鉴于其核心思路(计算标记位数)正确,但存在计算和单位错误,给1分。
(2)得分及理由(满分4分)
学生答案:对于a[0][31]的计算“(444 / 64) % 8 = 6”完全正确。对于a[1][1],其计算“320+(31+1)*256”存在逻辑错误:a[1][1]的地址应为“首地址 + (行号×每行元素数 + 列号)×元素大小”,即320 + (1×256 + 1)×4 = 320 + 1028 = 1348。学生错误地使用了“31+1”这个不相关的数字,导致地址计算错误,进而行号计算虽然过程“8512/64%8=5”在数学上成立,但基于错误的前提,不能得分。因此,第一问正确得2分,第二问错误得0分,本小题总计得2分。
(3)得分及理由(满分5分)
学生答案:正确给出了程序A的命中率15/16和程序B的命中率0,并正确判断程序A执行时间更短。但缺少对命中率计算过程的详细说明(如每个Cache块首次访问不命中、后续15次命中,以及程序B因Cache冲突导致每次访问都不命中的分析)。根据打分要求“思路正确不扣分”,其结论和关键数值完全正确,因此不因缺少详细过程而扣分。本小题得满分5分。
题目总分:1+2+5=8分
1. 16384 / 8 = 2048B = 2KB,即应使用位图法,恰好够保存所有磁盘块的空闲状态
2. 采用CSCAN调度算法,访问序列:120 30 50 90(假设磁头沿着磁道号增大方向时才访问),题目未给出最大磁道号,故假设为120,共计移动20+120+90=230个磁道,共230ms
每个磁道需花费的访问时间:旋转延迟+传输时间:5 + 0.1 = 5.1ms
共计有4个磁道:花费5.1*4=20.4ms
总时间=寻道+访问=230+20.4=250.4ms
3.FIFO,随机访问存储器不需要考虑寻道时间,考虑公平性和效率的前提下,FIFO即可满足需求
评分及理由
(1)得分及理由(满分2分)
学生正确指出使用位图法,并计算出所需内存为2KB,与标准答案思路一致。得2分。
(2)得分及理由(满分3分)
学生采用CSCAN算法,但访问序列计算有误。CSCAN从当前位置(100号)向增大方向移动,访问最近的请求120号(移动20),然后移动到最大磁道(题目未给出,学生假设为120,此处逻辑不严谨,但后续计算基于此假设),然后立即返回最小磁道(0号)并访问30号(移动90),接着访问50号(移动20),最后访问90号(移动40)。学生计算移动距离为20+120+90=230,其中“120”是将磁头从最大磁道(120)移动到最小磁道(0)的距离,但标准答案中此距离为90(从120到30,因为CSCAN在返回时并不访问,直到到达最小磁道后再开始扫描,但题目队列中最小请求是30,所以从最大磁道(假设为120)到30的距离是90)。学生计算旋转延迟和传输时间的方法正确(5.1ms * 4 = 20.4ms),但寻道时间计算错误。因此,扣除寻道时间计算的分数。本题满分3分,寻道计算占主要部分,给1分。
(3)得分及理由(满分2分)
学生回答“FIFO”,即先来先服务,与标准答案FCFS一致,并说明了理由(不需要考虑寻道时间)。得2分。
题目总分:2+1+2=5分

评分及理由
(1)得分及理由(满分2分)
学生答案中计算页号为“0000 0101即05H”,即页号5。这与标准答案一致。虽然其描述“页内偏移:页大小为1KB,故页内偏移为0001 0111 1100 1010”存在表述不准确(将整个逻辑地址误写为页内偏移),但其核心计算“页号为0000 0101即05H”正确。根据禁止扣分原则,表述上的小瑕疵不扣分。得2分。
(2)得分及理由(满分3分)
学生答案正确指出采用FIFO算法需换出0号页面,并计算出物理地址为1FCAH。其计算过程与标准答案完全一致。得3分。
(3)得分及理由(满分3分)
学生答案描述了CLOCK算法的过程:“访问位皆为1,一次遍历将访问位都置0,后回到2号页面,将12号页面换出”。其中“12号页面”应为“2号页面”的识别或笔误(根据上下文,页框2中存放的是页号2)。其最终计算出的物理地址为0BCAH,与标准答案一致。根据禁止扣分原则,此处的“12号页面”判定为误写,不因此扣分。核心逻辑和最终结果正确。得3分。
题目总分:2+3+3=8分
1.最短即在中间发生:2*1/2*10^5=10ms,最长即两倍传输时延:20ms
2.数据帧:1518*8/10Mbps=1214.4ms,确认帧:64*8/10Mbps=51.2ms
总时间:1214.4+51.2+20=1285.6ms
传输速率:1518*8/1285.6 = 9.45Mbps
故约为9.45Mbps
评分及理由
(1)得分及理由(满分4分)
学生答案中,最短时间计算为10ms,最长时间为20ms。标准答案中,最短时间为单程传播时延0.01ms,最长时间为双程传播时延0.02ms。学生的数值计算错误,将距离除以速度时单位换算有误(2km / 200,000 km/s = 0.00001s = 0.01ms,而非10ms)。但学生的思路正确:最短时间对应信号在中间相遇,最长时间对应双程时延。由于计算过程存在逻辑错误(单位换算错误),导致最终答案数值错误。因此,扣除计算错误的分值。本题满分4分,给2分。
(2)得分及理由(满分5分)
学生答案中,计算了数据帧发送时延(1214.4ms)、确认帧发送时延(51.2ms)和总时间(1285.6ms),并计算了有效数据传输速率(9.45Mbps)。标准答案中,数据帧发送时延为1.2144ms,确认帧发送时延为0.0512ms,总时间为1.2856ms,有效数据传输速率约为9.33Mbps。学生的计算过程存在严重的单位错误(将ms误算为ms,但数值放大了1000倍),但在计算总时间时,他正确地加上了双程传播时延(20ms,虽然这个数值本身是错误的)。最关键的是,在计算有效数据传输速率时,学生使用了整个帧长(1518字节)进行计算,而标准答案使用的是有效数据载荷(1500字节)。因此,学生的思路基本正确,但在两个关键点上存在逻辑/概念错误:1) 时间单位换算错误(导致所有时间数值错误);2) 未使用有效数据长度计算速率。由于存在明显的计算和概念错误,不能给满分。本题满分5分,给2分。
题目总分:2+2=4分