![](/img/trans.png)
[英]Is Translation Lookaside Buffer (TLB) the same level as L1 cache to CPU? So, Can I overlap virtual address translation with the L1 cache access?
[英]Difference between Cache and Translation LookAside Buffer[TLB]
Cache和Translation LookAside Buffer [TLB]有什么区别?
Cache
存储内存的实际内容。
另一方面, TLB
只存储映射。 TLB
加速了在内存中定位操作数的过程。
Cache
通过将这些操作数复制到更快的物理内存来加速读取这些操作数的过程。
来自维基:
在计算机科学中, 缓存 (发音为/kæʃ/,kash)是复制存储在别处或之前计算的原始值的数据集合,其中原始数据的获取成本高(由于访问时间较长)或计算,与读取缓存的成本。 换句话说,高速缓存作为临时存储区域操作,其中可以存储频繁访问的数据以便快速访问。 一旦数据存储在缓存中,将来可以通过访问缓存副本而不是重新获取或重新计算原始数据来使用它。
而
转换后备缓冲区 (TLB)是CPU缓存,内存管理硬件使用它来提高虚拟地址转换速度。 这是处理器中引入的第一个缓存。 所有当前的桌面和服务器处理器(例如x86)都使用TLB。 TLB具有固定数量的插槽,其包含页表条目,其将虚拟地址映射到物理地址。 它通常是内容可寻址存储器(CAM),其中搜索关键字是虚拟地址,搜索结果是物理地址。
还看看这个。
缓存是缓冲内存访问 - 实际读取和写入内存。 TLA缓冲区用于缓冲从进程地址空间中的虚拟地址到内存中物理地址的映射 - 内存访问伴随的服务操作。
TLB是一种与CPU相关的特殊缓存。当我们使用虚拟内存时,我们需要TLB来更快地将虚拟地址转换为物理地址。 TLB仅存储page_no,offset,frame_no和一些控制位。 Cache用于存储频繁使用的数据块。 在从TLB / page_table获取物理地址后,如果在那里找不到那个地址,我们会在缓存中查找该地址,而不是寻找主内存。(图8.10 william stalling 6e)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.