12得票1回答
在x86-64架构中测量TLB未命中处理成本

我希望评估在运行Linux的x86-64(Intel Nehalem)机器上,由于TLB缺失而导致的性能开销。我希望通过使用一些性能计数器来获得这个估计值。请问有哪些指针可以指导我如何最好地进行这个估计呢? 谢谢 Arka

10得票3回答
地址空间标识符(ASIDs)的目的是什么?

我目前正在学习 Silberschatz, P Galvin, G Gagne 的操作系统。 我正在学习内存管理策略,其中介绍了翻译后备缓存(TLB)的部分。 一些 TLB 在每个 TLB 条目中存储地址空间标识符(ASID)。ASID 唯一地标识每个进程,并用于为该进程提供地址空间保护...

10得票2回答
谁执行TLB shootdown?

我阅读了这篇描述TLB shootdown是什么的SO问题。我想知道这是由内核还是处理器执行的操作,或者两者都有? 我的问题如下: 1.在上下文切换时是否会发生TLB shootdown?我认为不会,因为需要在多处理器CPU上同时执行多个进程。这个假设正确吗? 2.TLB shootdo...

9得票2回答
每个mmap/access/munmap有两次TLB缺失

for (int i = 0; i < 100000; ++i) { int *page = mmap(NULL, PAGE_SIZE, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP...

9得票2回答
QEMU是否模拟TLB?

我有一个非常简单的问题,QEMU是否模拟TLB?当客户Linux系统执行“invlpg”指令以使TLB条目无效时会发生什么?我知道QEMU有用于将客户虚拟地址转换为主机虚拟地址的softmmu link,但是QEMU是否模拟实际的TLB,以及“invlpg”指令的效果是什么?还是QEMU只是忽...

9得票2回答
使用1GB页面会降低性能。

我有一个应用程序,需要大约850MB的连续内存,并以随机方式访问该内存。建议我分配1GB的大页,以便它始终在TLB中。我编写了一个演示程序,用于测量小页面(在我的情况下为4KB)与大页面(1GB)的顺序/随机访问性能: #include <inttypes.h> #include...

8得票2回答
内核内存(虚拟地址条目)在TLB中的作用?

在这篇文章中,Linux是操作系统,ARM则是处理器。 TLB是否包含内核空间和用户空间的虚拟地址?内核内存从0xc000_0000开始,一直到0xFFFF_FFFF,其中前3GB属于用户空间。在进程上下文切换期间,TLB会被清除。 TLB是否包含内核空间和用户空间的虚拟地址? 内核内存...

8得票1回答
一个超线程核心是否共享MMU和TLB?

据我所知,在Intel x86_64的超线程核心中,MMU和TLB都不是共享的。 然而,如果两个不共享地址空间的线程被调度到同一个物理核心,它们会如何运行? 我认为,在这种情况下,线程没有任何机会命中TLB,因为线程有自己的地址空间。 那么,我认为性能将会受到很大的降级。

8得票1回答
ARM11翻译后备缓冲器(TLB)用法?

有没有一个不错的指南解释如何在ARM1176JZF-S核心上使用TLB(Translation Lookaside Buffers)表? 在阅读了该ARM平台的技术文档后,我仍然不知道TLB是什么以及它的样子。据我所了解,每个TLB条目将虚拟页面映射到物理页面,实现重新映射和控制内存权限。 ...

8得票1回答
虚拟索引物理标记缓存的同义词

我无法完全理解VIPT缓存中同义词或别名的概念。 将地址拆分考虑为: 在这里,假设我们有2个页面,它们映射到相同的物理地址(或帧号)上。 VA的pageno部分(位13-39)不同,被翻译为PA的PFN(位12-35),由于它们映射到相同的物理帧,所以PFN对于两个VA都是相同的。 ...