多核CPU是否共享MMU和页表? [英] Do multi-core CPUs share the MMU and page tables?

查看:625
本文介绍了多核CPU是否共享MMU和页表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在一台单核计算机上,一次正在执行一个线程.在每个上下文切换上,调度程序都会检查要调度的新线程是否与上一个线程处于同一进程中.如果是这样,则无需执行有关MMU(页面表)的任何操作.在其他情况下,需要使用新的流程页面表来更新页面表.

On a single core computer, one thread is executing at a time. On each context switch the scheduler checks if the new thread to schedule is in the same process than the previous one. If so, nothing needs to be done regarding the MMU (pages table). In the other case, the pages table needs to be updated with the new process pages table.

我想知道多核计算机上的情况如何.我猜每个内核上都有一个专用的MMU,如果同一进程的两个线程同时在2个内核上运行,则每个内核的MMU都简单地引用同一页表.这是真的 ?您能为我指出有关该主题的好参考文献吗?

I am wondering how things happen on a multi-core computer. I guess there is a dedicated MMU on each core, and if two threads of the same process are running simultaneously on 2 cores, each of this core's MMU simply refer to the same page table. Is this true ? Can you point me to good references on the subject ?

推荐答案

看看这个方案.这是Corei7 cpu上单个内核中所有组件的高级视图.图片是从《计算机系统:程序员的观点》中拍摄的,Bryant和Hallaron.您可以在此处的第9.21节中访问图表.

Take a look at this scheme. This is high level view of all that there is in a single core on a Corei7 cpu. The picture has been taken from Computer Systems: A Programmer's Perspective, Bryant and Hallaron. You can have access to diagrams in here, section 9.21.

这篇关于多核CPU是否共享MMU和页表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆