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

评分及理由
(1)得分及理由(满分3分)
得分:0分。
理由:学生的基本设计思想描述不清晰且存在逻辑错误。题目要求找出未出现的最小正整数,学生的思路是“定义一个数组”并“若数组元素与元素下标相同时,则对新数组中的位置置为1”。这没有说明新数组的大小、如何初始化、如何处理负数和非正整数、以及如何将原数组元素映射到新数组下标。核心的“用负号标记存在性”或“原地哈希”思想完全没有体现,因此无法给出有效算法。根据评分要求,逻辑错误需要扣分,且思路与正确解法相差甚远,故不得分。
(2)得分及理由(满分8分)
得分:0分。
理由:学生只给出了算法设计思想的文字描述,没有提供任何C或C++语言描述的算法代码。题目明确要求“采用C或C++语言描述算法,关键之处给出注释”,学生未满足此要求,因此该部分不得分。
(3)得分及理由(满分2分)
得分:0分。
理由:学生没有说明算法的时间复杂度和空间复杂度。题目要求说明,但学生作答中未涉及,因此不得分。
题目总分:0+0+0=0分

评分及理由
(1)得分及理由(满分4分)
学生第一次识别结果未给出第一问的答案,第二次识别结果给出了总费用14。标准答案中最小生成树的总费用为16,学生计算错误。因此,第一问不能得分。得0分。
(2)得分及理由(满分4分)
学生两次识别结果均提到了Prim算法,符合标准答案。但未回答存储结构(邻接矩阵或邻接表)。第一次识别结果中出现了“邻接表”,但根据上下文和输出格式,这可能是对第二问的作答,但表述不完整(未明确回答“可采用图的哪一种存储结构”)。考虑到识别误差和作答不完整,给予部分分数。得2分。
(3)得分及理由(满分2分)
学生两次识别结果均回答“可以”。根据标准答案,对于方案一,H2不能收到;对于方案二,H2可以收到。学生未指定方案,且回答“可以”只对应了方案二的情况,答案不完整。考虑到问题基于第一问的“最经济方案”,而学生第一问答案错误,且此问回答不严谨,不能得分。得0分。
题目总分:0+2+0=2分

评分及理由
(1)得分及理由(满分4分)
学生答案中计算了时钟周期为2ns,以及一次I/O操作(10条指令,CPI=4)的执行时间为80ns,这是正确的。但题目要求计算设备A“最多间隔多长时间查询一次”以及“CPU用于设备A输入/输出的时间占CPU总时间的百分比至少是多少”。
学生没有计算设备A填充32位(4字节)缓冲寄存器所需的时间(这是决定查询间隔的关键),也没有计算每秒需要查询的次数及对应的CPU时间占比。其答案只给出了单次I/O操作的执行时间,没有回答题目的核心问题。
因此,该部分答案不完整,核心逻辑缺失。扣4分。
得分:0分
(2)得分及理由(满分2分)
学生正确计算了中断响应和处理时间(800ns)以及设备B准备4字节数据的时间(40ns)。并正确得出结论:因为中断处理时间(800ns)大于数据准备时间(40ns),可能导致数据丢失,所以设备B不适合采用中断I/O方式。
思路和结论完全正确。计算中的“40ns”在第二次识别中为“40ns”,第一次识别为“40ns”,均正确。识别中的“12)”和“13)”属于题号标记错误,不影响逻辑判断。
得分:2分
(3)得分及理由(满分2分)
学生试图计算DMA方式下CPU时间占比。其计算了设备B传送1000B数据块所需时间(第一次识别为25μs,第二次识别误为100B,得到2.5μs,此处以第一次识别的25μs为准,且标准答案为25μs),以及CPU用于预处理和后处理的时间(1μs)。
但是,其计算占比的公式 \(\frac{25}{25+1}\) 是错误的。正确的思路应该是:计算每秒DMA传送次数,再乘以每次CPU占用的时钟周期数,最后除以CPU总时钟周期数。学生给出的比值是单次DMA周期中CPU处理时间与总周期时间的比,这并非题目所问的“CPU用于设备B输入/输出的时间占CPU总时间的百分比”。
因此,计算逻辑错误,未能得出正确百分比。扣2分。
得分:0分
题目总分:0+2+0=2分

评分及理由
(1)得分及理由(满分2分)
学生第一次识别答案为“22位, 28位”,第二次识别答案为“256 位,8 位”。标准答案为28位。第一次识别中包含了正确的28位,但同时也给出了错误的22位。根据“对学生作答进行了两次识别,只要其中有一次回答正确则不扣分”的原则,应认为学生答出了28位。但第一次识别中“22位”是明显错误,且与正确答案同时出现,表明学生可能对地址结构理解不完全准确,但鉴于规则,不扣分。得2分。
(2)得分及理由(满分4分)
第一问:学生两次识别均回答“全相联映射”,与标准答案一致。得2分。
第二问:学生两次识别均回答“DRAM”,而标准答案为SRAM。这是一个核心知识点的错误。TLB作为页表的高速缓存,要求访问速度快,通常由SRAM实现,而非DRAM。此错误属于逻辑错误,应扣分。得0分。
本小题总计得2分。
(3)得分及理由(满分4分)
第一问:学生两次识别均回答“二路组相联映射”,与标准答案“2路组相联映射方式”一致。得1分。
第二问:学生回答“脏位,替换算法位”,与标准答案“替换算法控制位和一致性维护位”含义一致(脏位即一致性维护位)。得1分。
第三问:学生计算Cache总容量的表达式复杂且错误,如“\((20 + 1 + 1 + 1 + 2^{28}×8)÷8 = (2^{31} + 23)\)位”或“2³¹+2³位”,这与标准答案“558字节”完全不符。计算过程存在根本性逻辑错误(例如将物理地址位数28误用于计算数据部分大小)。应扣分。得0分。
第四问:学生回答“判断数据是否在cache中”,与标准答案“用来指出所在Cache行中的信息是否有效”核心意思一致。得1分。
本小题总计得3分。
(4)得分及理由(满分5分)
第一问:学生最终给出了物理地址“0040040 H”,与标准答案“0040040H”一致。得1分。
第二问:学生回答“没有命中. 有效位为0”,理由与标准答案(查表发现Tag匹配但有效位为0)一致。得2分。
第三问:学生回答组号为“0 组”,而标准答案为“3”。这是一个计算错误。虚拟地址0007C260H的低12位为260H,二进制为0010 0110 0000B,根据图中Cache地址结构(组号占3位),取低8位(块内地址5位+组号3位)中的组号字段,应为011B即3。学生答案错误,应扣分。得0分。
本小题总计得3分。
题目总分:2+2+3+3=10分

评分及理由
(1)得分及理由(满分2分)
学生作答中,第一次识别结果未包含第(1)问答案,第二次识别结果给出了计算过程“00 0000 0110 00 0000 0110 0000 0000 1000”和结果“0 1 8 0 6 0 0 8 1”。从计算过程看,学生正确地将页目录号6(二进制0000000110)、页表索引6(二进制0000000110)和页内偏移8(二进制000000001000)拼接成了32位二进制地址,这与标准答案的思路一致。最终结果“01806008H”在学生的答案中表示为“0 1 8 0 6 0 0 8 1”,这很可能是识别过程中对十六进制数字“H”和数字排列的误写,根据禁止扣分原则,不因此扣分。该答案核心计算正确,得2分。
(2)得分及理由(满分4分)
本小题共三问。
第一问:学生回答“虚拟地址”。标准答案为“物理地址”。PDBR(页目录基址寄存器)中存放的是页目录表在物理内存中的起始地址,以便MMU进行地址转换,这是一个关键概念错误,扣1分。
第二问:学生回答“会发生变化,进程切换时,PDBR的地址会变为新进程的地址”。此回答正确,因为不同进程拥有不同的页目录,其物理地址不同,进程切换时必须更新PDBR。得1分。
第三问:学生回答“不会,同一进程的不同线程,共用同一个地址”。此回答正确,同一进程的线程共享地址空间和页目录,因此PDBR内容不变。得1分。
本小题共得1+1+1=3分。因第一问概念错误扣1分。
(3)得分及理由(满分2分)
学生回答“访问位,修改位”。这与标准答案“访问字段(使用位)和修改字段(脏位)”完全一致。改进型CLOCK算法确实需要这两个位来同时考虑页面的访问情况和修改情况。得2分。
题目总分:2+3+2=7分

评分及理由
(1)得分及理由(满分2分)
学生答案中计算表达式的结构基本正确,包含了直接、一级、二级、三级间接地址的贡献。但关键参数“每簇地址项数”计算错误:学生使用了“64KB/4B”,这可能是将簇大小误写为64KB(应为4KB),或者是将“每簇地址项数”误算为64KB/4B=16384,而标准答案是4KB/4B=1024。由于表达式形式正确但核心参数错误,导致最终结果错误。考虑到可能是识别错误(如将4KB误识别为64KB),但根据上下文,两次识别结果均出现“64KB”,更可能是概念理解错误。因此扣除1分,得1分。
(2)得分及理由(满分2分)
学生答案思路正确,分别计算了索引节点总数和数据簇能容纳的文件数,并进行了比较。但具体计算过程存在多处数值错误:
第一次识别:索引节点总数计算为 \(1M×4KB/64B = 2^{36}\) 个(正确应为 \(2^{20} × 2^{12} / 2^{6} = 2^{26}\) 个),后续计算基于此错误结果。
第二次识别:索引节点总数计算为 \(2^{26}\) 个(正确),但后续计算 \(\frac{2^{26}}{4KB}=2^{22}\) 个簇 和 \(\frac{2^{26}}{2}=2^{25}\) 个 逻辑混乱,未清晰给出最终答案。
学生未能正确得出最终结论(64M个)。由于核心思路(比较索引节点数和数据簇能存放的文件数)正确,但计算过程存在严重错误,扣除1分,得1分。
(3)得分及理由(满分3分)
学生答案结论正确(“不相同”),并给出了基本正确的理由:F1在直接地址项找到,F2不在。这隐含了F2需要访问间接索引表,因此需要更多磁盘访问,耗时更长。理由表述虽然简略,但核心逻辑正确。因此给予满分3分。
题目总分:1+1+3=5分

评分及理由
(1)得分及理由(满分5分)
学生答案中未明确给出销售部子网的广播地址和技术部子网的子网地址,也未正确计算技术部子网还可连接的主机数。第一次识别结果中“192.168.1.0~192.168.1.255”是原/24的整个地址范围,未体现子网划分;计算部分“255 - 208 = 47,步长 = 48.47”逻辑混乱,与问题无关。第二次识别结果类似,仅做了地址范围相减,未给出广播地址、子网地址及有效的主机数计算。因此,该部分答案核心逻辑错误,未得分。
得分:0分
(2)得分及理由(满分4分)
学生答案在第二次识别中正确计算了最大分片数据长度(776 B)、分片数量(2个)以及第一个分片的片偏移量(97)。尽管第一次识别中计算有误(如8776B应为776B,偏移量计算错误),但根据“两次识别中只要有一次正确则不扣分”的原则,且第二次识别核心逻辑正确,因此该部分可得满分。答案中“724B÷8B = 90······4B ,偏移量为97”的表述存在歧义(偏移量应为97,而非4B),但结合上下文可判断为识别或表述问题,不扣分。
得分:4分
题目总分:0+4=4分