本地内存=cpu 高速缓存? 主内存=内存? 不知道这样理解对不对,看到网上有人说本地内存=cpu 寄存器里的内容,但是我细细一想,如果指的是 cpu 寄存器,那假设有个 cpu 是单核的,只有一个核心,也就是说只有一个寄存器,那本地内存跟主内存之间的可见性问题不就不存在了?因为内存就一份,本地内存也就一份了(一个寄存器)。 求解答。
@Mithril 很感谢老哥的细心解答。我之前是觉得 java 内存模型跟 CPU 是可以联系起来的:JVM 是操作系统里的一个用户态,一个进程,要操作硬件只能通过操作系统内核的一些指令去执行,内核的这些指令就可以直接或间接地给 CPU 发送硬件级别的指令了。这样 JVM 就跟 CPU 联系起来了,所以我就很想知道 java 内存模型里的概念,是不是在 CPU 是能找到对应的物理实现的。
@ljzxloaf main memory 和 working memory 这两个印象是在 JDK 1.5/1.6 旧文档中有提及,现在文档没再提这个,而周志明的书就是按照当时 JVM 文档翻译过来的,虽然书说明为逻辑概念,但 main memory 就是直观理解的内存,而 working memory 就是指 cpu cache 一类。