直接映射是一種在計算機上存儲信息以便于訪問的方法。最近使用的信息存儲在高速緩存中,以便計算機在下次需要時快速找到信息。在計算機編程中,高速緩存是隨機存取存儲器(RAM)的一小部分,為了方便地檢索數據而留出。通過直...
直接映射是一種在計算機上存儲信息以便于訪問的方法。最近使用的信息存儲在高速緩存中,以便計算機在下次需要時快速找到信息。在計算機編程中,高速緩存是隨機存取存儲器(RAM)的一小部分,為了方便地檢索數據而留出。通過直接映射,存儲器中的每一塊數據在高速緩存中被分配一個空間,當需要新數據時,緩存數據會不斷被覆蓋。

人工控制計算機
緩存被組織成行。每一行僅能存儲一個數據塊和一個標記以標識數據的來源。當用戶請求數據時,計算機首先掃描緩存以查看信息是否存在。如果存在,則將信息返回給用戶。這稱為緩存命中,比從原始位置檢索數據要快。
導致緩存命中的請求的百分比稱為命中率。如果用戶請求的數據不在緩存中,計算機將在內存中找到它。數據的副本將存入緩存,以便下次用戶請求時可以快速找到它,理論上提高了命中率。所有這些都是發生在后臺。用戶不知道接收到的數據是來自緩存還是來自內存。
直接映射是一種確定內存塊將存儲在緩存中的位置的方法。每個內存塊都在緩存中分配一個特定的行。由于緩存比內存小,多個塊將在緩存中共享一行。如果一行在需要寫入新塊時已滿,則舊塊將被覆蓋
雖然直接映射是設計緩存的一種非常簡單和簡單的方法,但它確實存在一些問題。如果一個程序在一個直接映射緩存中連續訪問多個共享同一行的數據塊,則該行將經常被重寫。這會導致大量的丟失,因為計算機需要的數據不太可能是所以直接映射比其他緩存映射模型的命中率要低。