关于伪共享与Cache对齐的几个问题想请教
关于伪共享与Cache对齐的几个问题想向Intel的专家请教
问题1:
把内存读入Cache的规则是不是每个Cache行对应的首地址一定是Cache行大小的整数倍?
问题2:
有两块同样大小的内存
第一块内存如果位于一个Cache行里,内存首地址刚好位于Cache行首。
第二块内存位于两个Cache中。
在没有伪共享问题的情况下,写第一块内存的效率和写第二块内存的效率是否有区别?
问题3:
TBB中的cache_aligned_allocator.cpp文件中,
NFS_Allocate()的代码中,感觉并不能保证分配的两块相邻内存不在同一Cache行里。
不知是代码有Bug还是我理解错了。