【问题标题】:Difference between Cache and Translation LookAside Buffer[TLB]Cache和Translation LookAside Buffer的区别[TLB]
【发布时间】:2010-12-30 17:12:00
【问题描述】:

Cache 和 Translation LookAside Buffer [TLB] 有什么区别?

【问题讨论】:

    标签: caching memory-management tlb


    【解决方案1】:

    Cache 存储内存的实际内容。

    另一方面,TLB 只存储映射。 TLB 加快了在内存中定位操作数的过程。

    Cache 通过将这些操作数复制到更快的物理内存来加快读取这些操作数的过程。

    【讨论】:

      【解决方案2】:

      来自维基:

      在计算机科学中,cache(发音为 /kæʃ/,kash)是复制存储在其他地方或较早计算的原始值的数据集合,其中原始数据的获取成本很高(由于访问时间较长)或计算,与读取缓存的成本相比。换句话说,高速缓存作为一个临时存储区域,可以存储经常访问的数据以供快速访问。一旦数据存储在缓存中,以后可以通过访问缓存的副本而不是重新获取或重新计算原始数据来使用它。

      Translation lookaside buffer(TLB) 是内存管理硬件用来提高虚拟地址转换速度的 CPU 缓存。它是处理器中引入的第一个缓存。当前所有的桌面和服务器处理器(例如 x86)都使用 TLB。 TLB 具有固定数量的包含页表条目的插槽,这些条目将虚拟地址映射到物理地址。它通常是一个内容寻址存储器(CAM),其中搜索关键字是虚拟地址,搜索结果是物理地址。

      也可以看看this.

      【讨论】:

        【解决方案3】:

        缓存是为了缓冲内存访问——对内存的实际读写。 TLA缓冲区是用来缓冲从进程地址空间中的虚拟地址到内存中物理地址的映射——伴随着内存访问的服务操作。

        【讨论】:

          【解决方案4】:

          TLB 是一种与 CPU 相关的特殊缓存。当我们使用虚拟内存时,我们需要 TLB 来更快地将虚拟地址转换为物理地址。 TLB 只存储 page_no 、 offset、 frame_no 和一些控制位。而缓存用于存储经常使用的数据块。从 TLB/page_table 获取物理地址后,如果在缓存中找不到该地址,我们会在缓存中查找该地址,然后再查找主内存。(图 8.10 william stalling 6e)

          【讨论】:

            猜你喜欢
            • 2015-01-30
            • 2021-05-26
            • 2012-11-03
            • 2017-12-26
            • 2019-03-16
            • 2010-11-09
            • 2016-09-21
            • 2019-05-10
            • 1970-01-01
            相关资源
            最近更新 更多