首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >指令是如何和在哪里缓存的?

指令是如何和在哪里缓存的?
EN

Stack Overflow用户
提问于 2020-01-16 03:41:02
回答 2查看 640关注 0票数 0

如果我要运行一个二进制可执行程序,是否所有的指令都必须存储在指令缓存中?指令缓存是L1、L2或L3 CPU缓存中的一个位置,还是一个不同的实体?当我运行一个可执行文件时,我不太清楚物理上会发生什么,任何形式的清晰都是非常感激的。

EN

Stack Overflow用户

发布于 2020-01-16 09:29:10

指令将永久存储在海量存储设备上的二进制可执行文件中。当程序执行时,可执行文件的内容被加载到主存储器(RAM)中。一般来说,CPU和RAM之间的所有通信都通过缓存;可执行文件所包含的指令也是如此。

缓存可以包含指令、数据或两者。对于Intel,有两个L1缓存:数据的L1d缓存和指令的L1i缓存;L2和L3是共享的。以下图像非常清楚地说明了这一点:

图像源

这是简单的答案。如果你想学得更多,周围有很多好材料。Ulrich的每个程序员都应该知道关于内存的事情是一个伟大的阅读。

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59762711

复制
相关文章

相似问题

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