gpt4 book ai didi

caching - 在仿真中同步两个内核的方法

转载 作者:行者123 更新时间:2023-12-01 05:46:16 26 4
gpt4 key购买 nike

我必须用 C 构建一个双核处理器模拟器(它实际上是一个多级内存模拟、缓存 L1/L2、块替换等)。问题是,我很难找到一种同步内核的方法(我将其编程为线程)。任何想法我怎么能做一个全局时钟?我应该从线程更改为子进程吗?
提前致谢

最佳答案

这里有很多选择:由于您可能最终支持与多个线程的复杂交互,您可能需要考虑使用 “虚拟时钟”,消息传递“总线” .这样,您将有更多时间专注于核心功能而不是调试同步逻辑......

使用这种技术,您可以为每个“actor”线程(最坏情况)构建一个状态机(请参阅 here ),而不必担心互斥锁/条件。一旦你有了这个基础,你就可以处理出现在中游的案例(例如“我忘记了这个细节......不用担心,只需在此处添加一个状态......不必重新-洗牌我的互斥体)。

此外,由于进行模拟完全与“虚拟时间”有关(因为您无法实时运行!),因此拥有基于“虚拟时钟”的基础架构会将问题抽象到适当的级别。

关于caching - 在仿真中同步两个内核的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1873896/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com