0

在 Web 上很容易找到 Windows、Linux 和 OSX 的答案,但在 AIX(在 POWER 上)、HP-UX(在 Itanium 上)和 Solaris(在 SPARC 上)等商业 UNIX 操作系统上呢?尝试使用错误的缓存行共享代码不是我要寻找的答案。

编辑:添加了 CPU 架构。

4

3 回答 3

2

如果您正在尝试优化性能,那么基准测试正是您应该做的。例如,请参阅ATLAS

如果您不尝试优化性能,为什么还要关心缓存行大小,还关心行数和关联性?

您需要支持哪些 CPU 架构?

于 2010-12-13T16:43:40.903 回答
2

对于 Solaris(在 SPARC 和 x86 架构上),您可以使用该命令:

$ prtpicl -v -c cpu | grep -i cache-line-size
  :l1-dcache-line-size   0x40 
  :l1-icache-line-size   0x40 
  :l2-cache-line-size    0x40 
于 2010-12-13T21:59:17.237 回答
0

您可以查看hwloc库(BSD 许可证),它为不同的系统和体系结构提供了此类信息。您可以使用命令行工具 lstopo 或提供的 API(请参阅文档)。

于 2010-12-13T17:04:04.250 回答