📅  最后修改于: 2023-12-03 15:07:09.882000             🧑  作者: Mango
在计算机系统中,翻译后备缓冲区 (TLB) 是一种硬件缓存,用于加速虚拟地址到物理地址的映射。在使用虚拟内存的情况下,CPU 生成的虚拟地址需要转换为物理地址,这个过程需要访问虚拟页表。当页表较大,或者访问频繁时,会导致较多的存储器访问和处理器开销。为了缓解这个问题,使用 TLB 作为虚拟地址到物理地址的映射表,可提高访问速度和效率。
当 CPU 试图访问虚拟内存中的一个页面时,它会首先检查 TLB 中是否有这个页面的映射记录。TLB 是一个小大小的高速缓存,通常只能存储几百到几千个页面映射。如果 TLB 中不存在映射记录,CPU 会查找页表来获取页面的映射记录并将其加入 TLB 中。在下一次访问该页面时,CPU 将直接从 TLB 中获取该页面的映射记录。
相比于常规页表在内存中的读取,TLB 的主要优势包括:
尽管 TLB 有诸多优点,但是也存在一些限制和缺点:
TLB 是一种非常重要的硬件部件,用于高效地处理虚拟地址到物理地址的转换。由于它拥有许多优点,大多数现代处理器都会使用 TLB 来加速页面转换,减少处理器的开销和提高系统的吞吐量。同时应该注意,TLB,作为一种高速缓存,即使用者不好,也会影响程序的整体性能。所以,对 TLB 了解并正确配置它需要在程序员这个角度上找到平衡点。