Cache和Translation LookAside Buffer [TLB]有什么区别?
答案 0 :(得分:21)
Cache
存储内存的实际内容。
TLB
仅存储映射。 TLB
加快了在内存中定位操作数的过程。
Cache
通过将这些操作数复制到更快的物理内存来加速读取这些操作数的过程。
答案 1 :(得分:18)
来自维基:
在计算机科学中,cache(发音为/kæʃ/,kash)是复制存储在别处或之前计算过的原始值的数据集合,其中原始数据的获取成本很高(由于访问时间较长)或者计算,与读取缓存的成本相比。换句话说,高速缓存作为临时存储区域操作,其中可以存储频繁访问的数据以便快速访问。一旦数据存储在缓存中,将来可以通过访问缓存副本而不是重新获取或重新计算原始数据来使用它。
,而
Translation lookaside buffer(TLB)是内存管理硬件用于提高虚拟地址转换速度的CPU缓存。这是处理器中引入的第一个缓存。所有当前的桌面和服务器处理器(例如x86)都使用TLB。 TLB具有固定数量的插槽,其包含页表条目,其将虚拟地址映射到物理地址。它通常是内容可寻址存储器(CAM),其中搜索关键字是虚拟地址,搜索结果是物理地址。
另请查看this.
答案 2 :(得分:13)
缓存是缓冲内存访问 - 实际读取和写入内存。 TLA缓冲区用于缓冲从进程地址空间中的虚拟地址到内存中物理地址的映射 - 内存访问所伴随的服务操作。
答案 3 :(得分:5)
TLB是一种与CPU相关的特殊缓存。当我们使用虚拟内存时,我们需要TLB来更快地将虚拟地址转换为物理地址。 TLB仅存储page_no,offset,frame_no和一些控制位。 Cache用于存储频繁使用的数据块。从TLB / page_table获取物理地址后,如果找不到那个地址,我们会在缓存中查找该地址,而不是寻找主存。(图8.10 william stoping 6e)