直接映射是一种存储信息以便在计算机上轻松访问的方法。最近使用的信息存储在缓存中,以便计算机下次需要时可以快速找到该信息。在计算机编程中,缓存是随机存取存储器 (RAM) 的一小部分,为了轻松检索数据而预留。通过直接映射,内存中的每条数据都会在缓存中分配一个空间,并与其他数据共享该空间。当需要新数据时,缓存数据会不断被覆盖。
缓存按行组织。每行的大小仅足以存储一个数据块和一个用于标识数据来自何处的标签。当用户请求一条数据时,计算机首先扫描缓存以查看该信息是否存在。如果是,则将该信息返回给用户。这称为缓存命中,比从原始位置检索数据更快。
请求的百分比缓存命中的结果称为命中率,如果用户请求的数据不在缓存中,计算机就会在内存中查找,并将数据的副本存入缓存中,以便可以快速找到下次用户请求时,理论上会增加命中率。所有这一切都发生在幕后。用户不知道收到的数据是来自缓存还是内存。
直接映射是决定块在哪里的一种方法的内存会被存储在缓存中,每个内存块在缓存中被分配一个特定的行,由于缓存比内存小,所以多个块将共享缓存中的一行。需要写入新块,旧块将被覆盖。
尽管直接映射是一种非常简单且容易的设计方法签署缓存,它确实会带来一些问题。如果程序连续访问直接映射缓存中共享同一行的多个数据块,则该行将经常被重写。这会导致大量未命中,因为计算机所需的数据不太可能是当前该缓存行中实际存在的数据。所以直接映射比其他缓存映射模型的命中率要低。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!