小编xxp*_*por的帖子

缓存线如何工作?

据我所知,处理器通过缓存线将数据带入缓存,例如,在我的Atom处理器上,无论读取的实际数据大小如何,一次都会带来大约64个字节.

我的问题是:

想象一下,你需要从内存中读取一个字节,这64个字节将被带入缓存?

我可以看到的两种可能性是,64字节从感兴趣的字节下方最接近的64字节边界开始,或者64字节以某种预定方式在字节周围扩展(例如,一半以下,一半以上,或者上述所有).

这是什么?

memory caching processor line

152
推荐指数
4
解决办法
7万
查看次数

sizeof在编译不同的程序时返回结构的不同值

我有2个共享头文件的程序.此头文件定义具有少量成员的结构.然后是#define : #define STRUCTURE_SIZE sizeof(OUR_STRUCTURE).

然后,此结构在共享内存STRUCTURE_SIZE中用于size参数shmget().

不幸的是,对于一个程序,STRUCTURE_SIZE最终为20758,而在另一个程序中,它最终为20764.所以当第二个程序试图获取共享内存时,shmget()返回EINVAL.

uname -a:

Linux machine 2.6.30.10-105.2.23.fc11.i686.PAE #1 SMP Thu Feb 11 07:05:37 UTC 2010 i686 i686 i386 GNU/Linux

g++ --version:

g++ (GCC) 4.4.1 20090725 (Red Hat 4.4.1-2)

c++ linux gcc sizeof shared-memory

3
推荐指数
1
解决办法
445
查看次数

标签 统计

c++ ×1

caching ×1

gcc ×1

line ×1

linux ×1

memory ×1

processor ×1

shared-memory ×1

sizeof ×1