科目组合
计算机: 数据结构 、计算机组成原理 、操作系统 、计算机网络
(1)因为题目要求算法在时间上尽可能高效,所以基本设计思想是用空间换时间。构造一个包含n位的数组B,遍历给定的数组的同时,对数组出现的元素a,如果是正整数,则在数组A[a]上置1。没出现过的元素在数组B的对应元素下标的内容为0;遍历完一边数组之后,遍历构造的数组B,第一个出现0的数组下标就是数组中未出现的最小正整数。
(2)
void SearchMinnum(A,n)
{
B=(int*)malloc(n*sizeof((n));
while (i>=n)
{
if(A[i]>0)
{
B[i]=1;
}
}
for(i=0,i<=n,i++)
{
if(B[i]==0)
{
return i;
break;
}
}
}
(3)
因为构造辅助数组所以空间复杂度是n。时间复杂度是n。
评分及理由
(1)得分及理由(满分3分)
得分:2分
理由:学生的基本设计思想是使用辅助数组来标记出现的正整数,思路正确且符合时间高效的要求。但存在以下问题:
1. 没有明确指出辅助数组的大小应该是n+1(因为可能出现的正整数范围是1~n+1)
2. 没有考虑数组元素可能大于n的情况
3. 没有明确说明如何处理重复元素
思路基本正确但不够完善,扣1分。
(2)得分及理由(满分8分)
得分:3分
理由:代码实现存在较多逻辑错误:
1. 函数参数声明不完整,缺少参数类型
2. malloc分配错误,应该是(n+1)*sizeof(int)
3. while循环条件错误,应该是i < n
4. 标记逻辑错误,应该是B[A[i]] = 1,而不是B[i] = 1
5. for循环语法错误,应该使用分号而不是逗号
6. 循环条件应该是i <= n而不是i <= n
7. 没有初始化辅助数组B为0
8. 缺少必要的头文件包含
9. 函数没有返回值类型声明
由于存在多个严重逻辑错误,扣5分。
(3)得分及理由(满分2分)
得分:1分
理由:学生正确分析了时间复杂度为O(n)和空间复杂度为O(n),但空间复杂度分析不够准确,实际应该是O(n)而不是简单的n。扣1分。
题目总分:2+3+1=6分
(1)
(2)可采用图的邻接矩阵的存储结构。求解问题(1)所使用的算法是prim算法。
(3)可以
评分及理由
(1)得分及理由(满分4分)
学生未作答第(1)问,没有给出任何最小生成树方案或总费用计算。根据评分标准,未作答不得分,因此得0分。
(2)得分及理由(满分4分)
学生正确回答了存储结构(邻接矩阵)和算法名称(Prim算法),与标准答案一致。存储结构和算法名称各占2分,因此得4分。
(3)得分及理由(满分2分)
学生回答"可以"收到IP分组,但标准答案明确指出:在方案1中TTL=5不足以让IP分组从H1传送到H2,只有方案2中才能收到。学生没有区分两种方案的情况,且标准答案强调方案1中不能收到,因此回答不完整且部分错误,得0分。
题目总分:0+4+0=4分
(1)计算机的时钟周期是:1/500MHz=2ns。CPI为4,每次输入/输出至少执行10条指令,所以每次输入/输出至少花费40个时钟周期,即80ns。所以设备A最多间隔80ns查询一次才能不丢失数据。设备A输入输出至少用160ns,百分比是160ns/1=1.6X10-9%。
(2)能
(3)1000B/40MBps=25us,500时钟周期数=1us,所以是26us/1=0.26x10(-2)%。
评分及理由
(1)得分及理由(满分4分)
得分:0分
理由:学生答案存在多处逻辑错误。首先,查询间隔的计算错误,设备A的数据传输率为2MBps,缓冲寄存器为32位(4字节),因此设备准备4字节数据所需时间为4B/2MBps = 2μs,这是最大允许的查询间隔,而学生错误地使用了执行10条指令的时间(80ns)作为查询间隔。其次,CPU时间占比计算错误,学生错误地使用了160ns/1s的比例,且未正确计算每秒查询次数和总时钟周期数。正确的计算应为每秒查询次数至少为1s/2μs = 5×10⁵次,每次查询执行10条指令(40个时钟周期),总时钟周期数为2×10⁷,占CPU时间百分比为2×10⁷/(500×10⁶) = 4%。学生答案与标准答案完全不符,因此得0分。
(2)得分及理由(满分2分)
得分:0分
理由:学生仅回答“能”,但未给出任何计算过程或理由。标准答案中通过计算设备B准备数据时间(4B/40MBps = 0.1μs)和中断响应处理时间(400/500MHz = 0.8μs),得出准备数据时间小于中断处理时间,会导致数据丢失,因此设备B不适合中断I/O方式。学生答案缺乏必要的分析和计算,且结论错误,因此得0分。
(3)得分及理由(满分2分)
得分:0分
理由:学生答案计算错误。设备B采用DMA方式,每次DMA传送1000B,预处理和后处理总时钟周期数为500。首先,学生错误地计算了每次DMA传送时间(1000B/40MBps = 25μs)并将其与预处理时间(500时钟周期 = 1μs)相加,得出26μs,但DMA传送期间CPU不参与,只有预处理和后处理占用CPU时间。正确的计算应为每秒DMA次数为40MB/1000B = 40000次,每次占用CPU 500时钟周期,总时钟周期数为2×10⁷,占CPU时间百分比为2×10⁷/(500×10⁶) = 4%。学生答案未正确分析DMA过程中CPU的占用时间,且计算错误,因此得0分。
题目总分:0+0+0=0分
(1)占28位。
(2)直接映射。TLB用SRAM实现。
(3)Cache采用4路组相联映射。Cache采用LRU算法和回写策略还应有1位脏位,1位起始位,1位结束位。Cache中有效位的作用是表明当前存储单元已经完成了映射。
(4)对应的物理地址是0160040H,在Cache中命中。因为Cache中Tag位008C0H的有效位是1。0007C260H
评分及理由
(1)得分及理由(满分2分)
学生回答“占28位”与标准答案一致,得2分。
(2)得分及理由(满分4分)
第一问:学生回答“直接映射”错误,TLB应为全相联映射,扣2分;第二问:回答“TLB用SRAM实现”正确,得2分。本小题共得2分。
(3)得分及理由(满分4分)
第一问:学生回答“4路组相联映射”错误,Cache应为2路组相联(图中每组两行),扣1分;第二问:回答“1位脏位”正确(回写策略需脏位),但“起始位、结束位”错误,LRU需要替换控制位(如LRU位),此处部分正确,扣1分;第三问:未计算Cache总容量,扣1分;第四问:有效位作用描述不准确(应为“指示Cache行数据是否有效”),扣0.5分。本小题共得0.5分。
(4)得分及理由(满分5分)
第一问:物理地址计算错误(学生答0160040H,标准答案为0040040H),扣1分;第二问:命中判断错误且理由错误(Tag匹配但有效位为0应不命中),扣2分;第三问:未计算组号,扣2分。本小题共得0分。
题目总分:2+2+0.5+0=4.5分
(1)虚拟地址表示在页目录号的第6个页目录项指向的页表,页表中的第6个页表项指向的,页内偏移量为8的地址就是物理地址
(2)虚拟地址。会,因为进程切换会改变当前进程的页目录起始地址,所以PDBR要保存当前进程的页目录起始地址。不会因为同一进程的线程切换时,不会改变当前进程的页目录起始地址,所以PDBR的内容不会变化。
(3)设置修改位和访问位。
评分及理由
(1)得分及理由(满分2分)
学生答案未给出具体的虚拟地址十六进制表示,仅描述了地址转换过程,没有进行数值计算和格式转换。根据题目要求,需要明确写出虚拟地址的十六进制形式,因此该部分答案不完整。得0分。
(2)得分及理由(满分4分)
第一问回答“虚拟地址”错误(应为物理地址),扣1分;第二问回答“会变化”正确且理由合理,得1分;第三问回答“不会变化”正确且理由合理,得1分。本小题共得2分。
(3)得分及理由(满分2分)
学生答案“设置修改位和访问位”与标准答案“访问字段(使用位)和修改字段(脏位)”完全一致,表述正确。得2分。
题目总分:0+2+2=4分
(1)最大文件长度是24位,直接地址项8个占3位,一级、二级、三级间接地址占15位,簇大小/文件索引结点大小=64,占6位,所以一共占3+15+6=24位.
(2)一个图像文件大小为5600B
评分及理由
(1)得分及理由(满分2分)
得0分。理由:学生答案完全错误。题目要求计算最大文件长度,但学生错误地理解为地址位数计算,且计算过程与文件系统索引结构无关。标准答案应基于直接地址、一级间接、二级间接和三级间接地址项能寻址的簇数计算总文件大小,而学生未给出任何有效计算表达式。
(2)得分及理由(满分2分)
得0分。理由:学生仅重复了题目中“一个图像文件大小为5600B”这一已知条件,未进行任何计算或分析。标准答案需要计算索引节点总数和数据簇能存储的文件数,并取较小值作为最终结果,学生答案未涉及这些关键步骤。
(3)得分及理由(满分3分)
得0分。理由:学生未对问题(3)作出任何回答。标准答案需要分析F1和F2的大小分别落在直接寻址和一级间接寻址范围内,导致访问最后一个簇号时磁盘I/O次数不同,从而时间不同。学生答案缺失。
题目总分:0+0+0=0分
(1)销售部子网的广播地址是192.168.1.31.技术部子网的子网地址是192.168.1.128/25。若每个主机仅分配一个IP地址,技术部子网还可以链接2的7次方-2=126台主机。
(2)因为如图F1的MTU是800B,所以一个最大的IP分片封装数据的字节数是800B-20B=780。至少需要分为2个。
评分及理由
(1)得分及理由(满分5分)
第一问:学生回答销售部子网广播地址为192.168.1.31,这是错误的。销售部子网是192.168.1.0/25,广播地址应为192.168.1.127。扣2分。
第二问:学生回答技术部子网子网地址为192.168.1.128/25,这是正确的。得1分。
第三问:学生计算技术部子网可连接主机数为126台,这是理论最大值,但题目要求考虑已分配地址后的剩余数量。学生未计算已分配的主机数(包括192.168.1.129~192.168.1.208和路由器接口192.168.1.254),因此答案错误。扣2分。
本小题得分:1分(第二问正确)。
(2)得分及理由(满分4分)
第一问:学生计算最大IP分片数据长度为780B,但标准答案要求考虑分片数据长度必须是8B的整数倍,因此实际最大数据长度为776B。学生未考虑此规则,答案错误。扣1分。
第二问:学生回答至少需要分为2个分片,与标准答案一致,正确。得1分。
第三问:学生未回答片偏移量问题,得0分。
本小题得分:1分(第二问正确)。
题目总分:1+1=2分