gpt4 book ai didi

c - 测量 L1 和 L2 缓存的大小和顺序

转载 作者:太空狗 更新时间:2023-10-29 16:34:20 27 4
gpt4 key购买 nike

我如何以编程方式测量(而不是查询操作系统)L1 和 L2 缓存(数据缓存)的大小和关联顺序?

关于系统的假设:

  • 它有L1和L2缓存(也可能是L3,可能是缓存共享),
  • 它可能有一个硬件预取单元(就像 P4+),
  • 它有一个稳定的时钟源(tickcounter 或用于 gettimeofday 的良好 HPET)。

没有关于操作系统的假设(可以是 Linux、Windows 或其他操作系统),我们不能使用 POSIX 查询。

语言是 C,编译器优化可能被禁用。

最佳答案

我认为您需要做的就是重复访问不断增加的 block 中的内存(以确定缓存大小),并且我认为您可以改变步幅来确定关联性。

因此,您会开始尝试访问非常短的内存段,并不断将大小加倍,直到访问速度变慢。每次访问变慢时,您就确定了另一级缓存的大小。

关于c - 测量 L1 和 L2 缓存的大小和顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2576762/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com