常见问题(2024)
cmake 如何使用?如何编译实验框架
请参考仓库内的 readme 编译实验框架。如果已经在根目录进行了 cmake,请先将生成的所有缓存文件清除掉,再修改路径进行 cmake。
我的模拟器莫名其妙死循环了
这可能是因为框架的一个 Feature。在 Load/Store 指令的地址越界的时候,ExecutePipeline 会让指令卡在 LSU 中,不提交也不删除。这是因为推测执行时可能会执行错误的 Load/Store 指令。如果直接报错会导致问题。
可以看看在死循环时,ROB 顶是不是访存指令,如果是,看看 ExecutePipeline 中的指令地址对不对。当然,如果是指令没发射的话,那就是保留站的问题了,请自行确定问题原因。
这个 Feature 将在 2025 年的实验框架中被修复。
最后更新:
2025年3月11日
作者: