90得票3回答
TLB shootdown是什么?

SMP中的TLB shootdown是什么? 我无法找到关于这个概念的太多信息。任何好的例子都将不胜感激。

49得票5回答
缓存未命中,TLB未命中和页面错误

有人能清楚地解释一下缓存未命中、TLB未命中和页面故障之间的区别,以及它们如何影响有效的内存访问时间吗?

39得票10回答
逻辑地址和物理地址有什么区别?

我正在阅读《操作系统概念》,现在看到了第八章!然而,我需要一些澄清或确认我的理解是否正确。 逻辑地址:根据书中所述,逻辑地址是由CPU生成的。这到底是什么意思?(在一个执行生成地址系统中..)我猜想,在为程序编译代码时,程序根本不知道代码将被加载到哪个内存位置。编译器只是设置了程序布局和图像...

36得票1回答
x86/x86_64处理器在L1、L2和L3缓存中使用物理或虚拟寻址?

在x86/x86_64处理器中,L1、L2和L3(LLC)缓存使用的是虚拟地址还是物理地址(使用PT/PTE和TLB),而且PAT(page attribute table)会对它产生影响吗? 在这种情况下,驱动程序(内核空间)和应用程序(用户空间)之间有区别吗? 简短回答-Intel...

30得票1回答
L2 TLB未命中后会发生什么?

我不太理解当翻译辅助缓冲(TLB)的前两级未命中时会发生什么? 我不确定是否会在特殊硬件电路中进行“页游走”,或者页面表是否存储在L2/L3缓存中,或者它们只驻留在主内存中。

27得票1回答
内存屏障和TLB

内存屏障保证数据缓存的一致性。但是,它是否保证TLB的一致性? 我遇到了一个问题,即JVM(java 7 update 1)在线程之间传递MappedByteBuffer时有时会因内存错误(SIGBUS,SIGSEG)而崩溃。 例如:final AtomicReference<Mappe...

26得票2回答
何时使用或不使用INVLPG,MOV到CR3以最小化TLB刷新

序言 我是一名操作系统爱好者,我的内核运行在 80486+ 上,并已支持虚拟内存。 从 80386 开始,英特尔和各种克隆处理器家族的 x86 处理器已经支持带分页的虚拟内存。众所周知,当 CR0 中的 PG 位被设置时,处理器使用虚拟地址转换。然后,CR3 寄存器指向顶层页目录,即将虚拟...

26得票3回答
TLB缺失与缓存缺失的区别?

能否有人解释一下TLB(翻译为“翻译后备缓存”)未命中和高速缓存未命中的区别呢? 我认为我已经知道TLB是指某种虚拟内存地址,但我不是很清楚这实际上是什么意思? 我了解到当一个内存块(与高速缓存线大小相同)被加载到(L3?)高速缓存中,并且如果所需地址不在当前高速缓存行内时,会发生缓存未命中。

21得票6回答
计算有效访问时间

以下是来自 Silberschatz 等人的 《操作系统概念》第9版 中的一个段落: 在 TLB 中找到所需页号的百分比称为命中率。例如,80% 的命中率意味着我们在 TLB 中 80% 的时间内找到所需的页号。如果访问内存需要 100 纳秒,那么当页号在 TLB 中时,映射内存访问需要 ...