多线程环境下多核系统同cache block映射地址对应架构图问询
多核缓存映射问题解答
- 架构匹配问题:
主流多核处理器的每个核心都配有独立的私有L1缓存,你描述的场景对应两个核心各自持有独立缓存的架构,即你绘制的图B。两个核心访问同一个缓存块的设计属于共享缓存架构,一般仅用于多核共享的L2、L3缓存层级,不属于你描述的核心侧私有缓存的默认场景。 - 同Cache块映射的含义:
Add1和Add2映射到同一Cache块是缓存地址编码规则的表述:两个地址用于定位缓存块位置的索引字段计算结果完全一致。该规则对单个缓存实例独立生效:Pr1的私有缓存中,Add1和Add2会被分配到同一个缓存块位置;Pr2的私有缓存中,这两个地址同样会被分配到自身缓存的对应同位置块,两个核心的缓存块完全独立,互不干扰。如果单个核心先后访问这两个地址,会出现缓存互相替换的情况,也就是伪共享问题的典型诱因。
内容的提问来源于stack exchange,提问作者Megan Darcy
相关产品推荐
相关产品推荐

