【发布时间】:2025-12-31 23:30:01
【问题描述】:
我正在尝试分析和优化算法,我想了解缓存对各种处理器的具体影响。对于最近的 Intel x86 处理器(例如 Q9300),很难找到有关缓存结构的详细信息。特别是,大多数后处理器规范的网站(包括Intel.com)不包含对 L1 缓存的任何引用。这是因为 L1 缓存不存在还是由于某种原因这些信息被认为不重要?有没有关于消除 L1 缓存的文章或讨论?
[编辑] 在运行各种测试和诊断程序(主要是在下面的答案中讨论的那些)之后,我得出结论,我的 Q9300 似乎有一个 32K L1 数据缓存。对于为什么这些信息如此难以获得,我仍然没有找到明确的解释。我目前的工作理论是,L1 缓存的细节现在被英特尔视为商业机密。
【问题讨论】:
-
Norman Ramsey 在下面的评论中指出了这一点,但我当时并没有意识到他的意思。 CPUID 是一条 x86 指令,可用于查询缓存详细信息。
-
我刚刚在 Linux 上遇到了
lscpu命令,它可以很好地显示 x86 上的 CPU 数据——包括缓存摘要。
标签: performance intel cpu-architecture cpu-cache