阅读背景:

Windows Via C/C++:用户模式下的线程同步——Cache行

来源:互联网 

为了提升运行在多处理器上的程序的性能,你应该了解CPU Cache的概念。当CPU从内存中读取某个字节时,它会按Cache中数据块大小(也就是Cache行大小)将一整块数据读到CPU的Cache中。比如Cache数据块大小是32,则内存地址按Cache行大小对齐形成0~31、32~63、……、32n~32(n+1)这样的块,当要读取的字节地址为41时,CPU将把包含该地址的整个内存块(32~63)读入Cache中。用公式表示时,假设Cache行大小为C,待读取的变量地址为Addr,则CPU读取内存块的地址是 (Addr/C)*C~(Addr/C+1)*C。将数据读入Cache后,CPU就可以在速度较高的Cache中操作该值,而不用每次都通过数据总线操作内存。为了提升运行在多处理器上的程序的性能,你应该了解CPU Cache的概念。当CPU从内存中读取




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: