数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 1977|回复: 10

正确性验证

[复制链接]
发表于 2025-9-23 15:34:28 | 显示全部楼层 |阅读模式
老师您好:
能否提供针对三个问题的的一个检验程序,能够让我们根据需要提交的txt文件,检查其结果正确性,以及对应的计算值
发表于 2025-9-23 15:56:53 | 显示全部楼层
老师们注意到你提出的问题。今后若有可能,我们再考虑你的建议。
发表于 2025-9-23 18:40:44 | 显示全部楼层
校验结果的方式非常简单(先根据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。按照上述方式遍历完整个调度序列即可。

检查完上述两项即可。
发表于 2025-9-23 20:53:25 | 显示全部楼层
专家您好,针对校验结果的方式我们有一点问题:
问题二中要求提交的附件中有一项是SPILL操作,要求是以“BufId:NewOffset”的形式依次给出各个SPILL操作。
我们在附件中需要包含SPILL_OUT操作吗?如果包含的话,我们对SPILL_OUT的形式有点疑惑,这是对BufId的换出操作,那怎么会有NewOffset呢?
如果这个文件中只写SPILL_IN操作的话,那在校验的时候怎么知道什么时候换出呢?
现在我们已经得到了结果,自己在进行校验的时候这个地方很迷惑,希望专家能够为我们解惑。
发表于 2025-9-23 21:01:05 | 显示全部楼层
请仔细阅读附录B中关于spill操作的说明。
发表于 2025-9-23 21:02:52 | 显示全部楼层
一个spill操作代表新增两个节点  spillout和spillin。指定的newoffset是为spillin节点指定的
发表于 2025-9-23 21:55:36 | 显示全部楼层
A题专家 发表于 2025-9-23 21:02
一个spill操作代表新增两个节点  spillout和spillin。指定的newoffset是为spillin节点指定的

请问问题2和问题3的提交的调度序列,调度序列是否包含加入的spill节点
发表于 2025-9-23 22:46:02 | 显示全部楼层
ll_csu 发表于 2025-9-23 21:55
请问问题2和问题3的提交的调度序列,调度序列是否包含加入的spill节点

我也有一样的问题
发表于 2025-9-23 22:52:36 | 显示全部楼层
一定要包含spill节点,这点在题目中是明确指出的。
发表于 2025-9-24 19:11:02 | 显示全部楼层
A题专家 发表于 2025-9-23 22:52
一定要包含spill节点,这点在题目中是明确指出的。

问题二提交的调度文件中,spill节点的格式是什么,是在需要SPILL的位置上插入一行spill吗
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2025-11-2 19:23 , Processed in 0.063541 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表