cpu根据一个内存地址访问内存时是否一定同时访问这个地址上的所有位?

内存显然不是按位编址的,而是按字,双字等等,那么一个地址显然对应着很多的位。读写内存时是否一定要把这些位当作一个整体?也就是说,写入时同时写所有位,读出时同时读出所有位,而不能对于一个地址的一位进行单独操作,而其他位不发生物理上的读写过程?

CPU可以做到仅对某一个地址上的指定位进行操作,而且这种操作是很普遍的。另外,内存都是按字节编址的,一个字节是8位。
为了是你信服,我给你举个WINDOWS系统内核中应用的实际例子。我说的可能涉及很多操作系统原理,你不懂可以自己去找相关资料,你会发现我绝不是瞎说。但是懂不懂不会妨碍对于你这个问题的回答的理解。
举个实际例子,操作系统内核中有个结构叫页帧数据库(Page Frame Database,PFD),它是用来描述物理内存那些是被使用,哪些没使用,和使用的情况的。这个PFD的每一项是64位长,每一位或几位都是有不同的含义的。当物理内存使用情况变化时,操作系统就需要改PFD,需要改哪位就改哪位。别的位不需要动。查看PFD时也是,需要查看哪位就看哪位,别的不需要看。
实现对单独某个字节的某个位的操作是很普遍的,在内核编程中用的很多很多。除了刚才我说的例子,还有一个就是对于“页表”的操作。页表中每位也都有不同的含义,访问时都是按位访问的。你有兴趣可以看看相关文章
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-12-31
对,整体读取!
相似回答