直接映射是一种在计算机上存储信息以便于访问的方法。最近使用的信息存储在高速缓存中,以便计算机在下次需要时快速找到信息。在计算机编程中,高速缓存是随机存取存储器(RAM)的一小部分,为了方便地检索数据而留出。通过直...
直接映射是一种在计算机上存储信息以便于访问的方法。最近使用的信息存储在高速缓存中,以便计算机在下次需要时快速找到信息。在计算机编程中,高速缓存是随机存取存储器(RAM)的一小部分,为了方便地检索数据而留出。通过直接映射,存储器中的每一块数据在高速缓存中被分配一个空间,当需要新数据时,缓存数据会不断被覆盖。

人工控制计算机
缓存被组织成行。每一行仅能存储一个数据块和一个标记以标识数据的来源。当用户请求数据时,计算机首先扫描缓存以查看信息是否存在。如果存在,则将信息返回给用户。这称为缓存命中,比从原始位置检索数据要快。
导致缓存命中的请求的百分比称为命中率。如果用户请求的数据不在缓存中,计算机将在内存中找到它。数据的副本将存入缓存,以便下次用户请求时可以快速找到它,理论上提高了命中率。所有这些都是发生在后台。用户不知道接收到的数据是来自缓存还是来自内存。
直接映射是一种确定内存块将存储在缓存中的位置的方法。每个内存块都在缓存中分配一个特定的行。由于缓存比内存小,多个块将在缓存中共享一行。如果一行在需要写入新块时已满,则旧块将被覆盖
虽然直接映射是设计缓存的一种非常简单和简单的方法,但它确实存在一些问题。如果一个程序在一个直接映射缓存中连续访问多个共享同一行的数据块,则该行将经常被重写。这会导致大量的丢失,因为计算机需要的数据不太可能是所以直接映射比其他缓存映射模型的命中率要低。