【发布时间】:2014-12-07 08:42:53
【问题描述】:
假设我将数组T array[N] 提供给我的CPU,其中T 是一个大类型,一个大struct,大于64 字节,假设64 字节也是大小CPU 中的缓存行;我的问题是:什么应该是可观察的行为?我可以诊断什么?
显然我假设我的T 和我的array 都是打包和对齐的,并且所涉及的数据结构就它们在内存中的布局和位置而言已经过优化。我的主要关注点是关于 T > 缓存行的情况以及可以解释在这种情况下会发生什么的技术细节。
【问题讨论】:
-
好吧,即使您的类型大于缓存行,实际的机器代码也只会在 128 位或更小的访问中访问您的类型。所以它与一组更小的类型没有什么不同,真的。
标签: c++ c caching cpu cpu-architecture