正确性验证
老师您好:能否提供针对三个问题的的一个检验程序,能够让我们根据需要提交的txt文件,检查其结果正确性,以及对应的计算值
老师们注意到你提出的问题。今后若有可能,我们再考虑你的建议。 校验结果的方式非常简单(先根据spill操作进行改图):1. 检查是否满足拓扑序:对于每一条边,查看源节点位置是否在目标节点前面。2. 检查缓存分配是否有冲突:
1.若硬件大小为10,则我们建立一个长度为10的数组,每个元素若为0,表明当前地址空闲,若为1,则表明当前地址被占用。初始状态下该数组全部为0。2.按给出的调度顺序进行遍历:如果遇到ALLOC节点,分配的空间假设为0-3,则我们将数组0-3位置上的元素标记为1(标记前,检查这几个位置是否为0,如果不为0,则说明该地址已经被其他ALLOC占领,则该地址分配是不合法的。),如果遇到FREE节点,释放的空间为0-3,则我们将数组0-3位置上的元素标记为0。按照上述方式遍历完整个调度序列即可。
检查完上述两项即可。 专家您好,针对校验结果的方式我们有一点问题:
问题二中要求提交的附件中有一项是SPILL操作,要求是以“BufId:NewOffset”的形式依次给出各个SPILL操作。
我们在附件中需要包含SPILL_OUT操作吗?如果包含的话,我们对SPILL_OUT的形式有点疑惑,这是对BufId的换出操作,那怎么会有NewOffset呢?
如果这个文件中只写SPILL_IN操作的话,那在校验的时候怎么知道什么时候换出呢?
现在我们已经得到了结果,自己在进行校验的时候这个地方很迷惑,希望专家能够为我们解惑。
请仔细阅读附录B中关于spill操作的说明。 一个spill操作代表新增两个节点spillout和spillin。指定的newoffset是为spillin节点指定的 A题专家 发表于 2025-9-23 21:02
一个spill操作代表新增两个节点spillout和spillin。指定的newoffset是为spillin节点指定的
请问问题2和问题3的提交的调度序列,调度序列是否包含加入的spill节点
ll_csu 发表于 2025-9-23 21:55
请问问题2和问题3的提交的调度序列,调度序列是否包含加入的spill节点
我也有一样的问题 一定要包含spill节点,这点在题目中是明确指出的。 A题专家 发表于 2025-9-23 22:52
一定要包含spill节点,这点在题目中是明确指出的。
问题二提交的调度文件中,spill节点的格式是什么,是在需要SPILL的位置上插入一行spill吗
页:
[1]
2