首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义L2内核之间的缓存共享

自定义L2内核之间的缓存共享
EN

Stack Overflow用户
提问于 2020-03-16 20:11:45
回答 1查看 207关注 0票数 1

我试图创建一个多芯片多处理器设计,其中的L2缓存是私有的每个芯片。例如,我正在尝试创建以下配置:

  • 2芯片,每个芯片包含2个CPU核,
  • 每个芯片有2个CPU核(每个都有自己的L1缓存)和一个L2缓存在两个CPU
  • 之间共享,最后,我将在2芯片

之间共享主存。

我正在使用MOESI_CMP_directory协议来生成设计。我正在使用garnet2.0创建拓扑。但我所理解的是,所有4个CPU共享两个L2缓存。但是我希望L2-缓存对每个芯片都是私有的。在gem5中有办法做到这一点吗?

附加信息:

我检查了内存地址并通过RubyNetwork访问了缓存,以确认L1-Cache0访问L2-Cache0以及L2-Cache1。该协议似乎工作正常,因为L2缓存是共享的最后一级缓存。但我想知道是否可以进行一些定制,以便L1-Cache0/1请求只能转到L2-Cache0,而不是L2-Cache1。

EN

回答 1

Stack Overflow用户

发布于 2020-03-19 17:36:20

我想我知道怎么解决这个问题了。有两个文件需要对此进行修改:

  1. src/mem/ruby/protocol/MESI_Two_Level-L1Cache.sm -在这个文件中,来自L1Cache的一致消息是通过“操作”发送的。控制映射的函数是"mapAddressToRange“,即L2Cache节点接收一致请求的位置。这个函数在.sm文件中传递某些参数,可以是.sm--这个文件包含函数"mapAddressToRange“的实现,我们可以根据需要在这里进行修改。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60712632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档