这方面我刚刚开始了解一些这方面的内容,还没有清楚地整理出来,下面是我推荐的一些阅读。
后续还将陆续补充一些内容,最后完成一篇博客来完整的论述这一块的内容。
推荐阅读:
http://www.cs.umd.edu/class/spring2003/cmsc311/Notes/Memory/set.html
cache的direct-map 2way,4way的相联方式的揭示,非常简单明了。
-------------------------------------------------------------------------------------------------------------------------------
http://en.wikibooks.org/wiki/Optimizing_C%2B%2B/Code_optimization/Faster_operations:
提到了在高维数组中高维度要避免是2的幂
Ensure that the size (resulting from the sizeof operator) of non-large cells of arrays or of vectors be a power of two, and that the size of large cells of arrays or of vectors be not a power of two.
-----------------------------------------------------------------------------------------------------------
Data Transformations for Eliminating Conflict Misses:
详细了论述了结构间padding和结构内padding的方法和实验
同时也解释了为什么数组得高维要避免时2的幂的原因。
---------------------------------------------------------------------------------------------------------------------------------
Array Data Layout for the Reduction of Cache Conflicts
提出了cache partition技术,该技术通过控制数组得layout来获得cache的partition
本文详细解析了缓存直接映射方式(包括2-way和4-way)及高维数组尺寸优化策略,旨在减少冲突缺失。通过数据转换消除冲突缺失,介绍了结构间填充和结构内填充的方法及实验,同时解释了为何避免高维数组尺寸为2的幂的原因。此外,还提出了缓存分区技术,通过控制数组布局来实现缓存分区。
775

被折叠的 条评论
为什么被折叠?



