时钟中断(线程切换运行Runnable -> Running)缓存拷贝的问题
来源:12-11 问题原因

布鲁马3518274
2020-12-15
老师您好,学到这一节课真是又是开辟了新的知识领域,觉得自己务必要去学一下计算机组成原理了。不过还是先想问两个问题~
- 课程中提到的
内核独占内存
是不是 就是课称缓存图中的高速缓存
,还是高速缓存的下一层?(不会就是寄存器吧~) - 在切换到下一个线程执行前,内核最少要把寄存器数据
回写
到哪层缓存?(既然老师说单核也有可见性问题,那么在CPU收到时钟中断指令后,寄存器必须让出来空间给下一个线程的数据。这时候就要拷贝数据 => 高速缓存,在切换之前是否会继续向下拷贝?我现在的结论是切换之前只是不会等回写
到用户本地内存而已)
刚看完下节课JMM规范,感觉第二个问题真心较真儿了,感觉也没必要知道了。谢谢老师,这课程真是醍醐灌顶,觉都不想睡了~
写回答
1回答
-
这里主要的问题就是JMM的内存模型和实际硬件内存模型的对应关系,通常是没有明确对应关系的,不过也有一篇文章讲到了这个问题,需要和堆栈联系起来,可以看看这个文章的最后的部分:http://tutorials.jenkov.com/java-concurrency/java-memory-model.html#javas-logic-memory-model
012020-12-15
相似问题