首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >L1/2缓存问题

L1/2缓存问题
EN

Stack Overflow用户
提问于 2009-05-19 15:51:28
回答 4查看 560关注 0票数 1

每条L1/L2高速缓存线能否高速缓存主存储器数据字的多个副本?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-05-19 16:07:20

主存可能不止一次在缓存中。显然,这是事实,也是多处理器机器的常见情况。但即使在单处理器机器上,这种情况也可能发生。

考虑一个Pentium CPU,它有一个分离的L1指令/数据缓存。指令只进入I-cache,数据只进入D-cache。现在,如果操作系统允许自修改代码,则可以将相同的内存加载到I- cache和D-cache中,一次作为数据,一次作为指令。现在,该数据在L1缓存中有两次。因此,具有这种分离高速缓存体系结构的CPU必须采用高速缓存一致性协议,以避免竞争条件/损坏。

票数 1
EN

Stack Overflow用户

发布于 2009-05-19 16:00:03

否-如果它已经在缓存中,MMU将使用它,而不是创建另一个副本。

票数 0
EN

Stack Overflow用户

发布于 2009-05-19 16:01:40

每个缓存基本上存储整个内存的一小部分。当CPU需要内存中的一个字时,它会执行first goes to L1, then to L2 cache and so on, before the main memory is checked。所以一个特定的内存字可以同时存储在L2和L1中,但它不能在L1中存储两次,因为这不是必需的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/883579

复制
相关文章

相似问题

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