映射方式有全相聯方式、直接方式和群組相聯方式三種。直接映射可以將一個主存塊儲存到唯一的一個Cache行;全相聯映射可以將一個主存塊存儲到任意一個Cache行;組相聯映射可以將一個主存塊存儲到唯一的一個Cache組中任意一個行。
本教學操作環境:windows10系統、Dell G3電腦。
cache是一種高速緩衝暫存器,是為解決CPU和主記憶體之間速度不匹配而採用的一項重要技術。
CPU對記憶體的訪問,通常是一次讀寫一個字單元。當CPU訪Cache不命中時,需將儲存在主記憶體中的字單元連同其後若干個字一同調入Cache中,之所以這樣做,是為了使其後的訪存能在Cache中命中。
因此,主記憶體和Cache之間一次交換的資料單位應該是一個資料塊。資料塊的大小是固定的,由若干個字組成,且主記憶體和Cache的資料塊大小是相同的。
從Cache-主記憶體實現的目標看,一方面既要使CPU的訪問速度接近於訪Cache的速度,另一方面為使用者程式提供的運作空間應保持為主存容量大小的儲存空間。
在採用Cache-主記憶體的系統中,Cache對使用者程式而言是透明的,也就是說,使用者程式可以不需要知道Cache的存在。因此,CPU每次訪存時,依然和未使用Cache的情況一樣,給出的是一個主記憶體位址。但在Cache-主記憶體中,CPU首先存取的是Cache,並不是主記憶體。
為此,需要一種機制將CPU的訪主存位址轉換成訪Cache位址。而主記憶體位址與Cache位址之間的轉換是與主記憶體與Cache塊之間的映射關係緊密聯繫的,也就是說,當CPU訪Cache未命中時,需要將欲存取的字所在主記憶體中的區塊調入Cache中,以什麼樣的策略調入,直接影響到主記憶體位址與Cache位址的對應關係,也就是本小節要解決的主記憶體與Cache的位址對映問題。
主記憶體與cache的位址對映方式有全相聯方式、直接方式和群組相聯方式三種。
-
直接對映(directmapping)
將一個主記憶體儲存到唯一的一個Cache行。
-
全相聯映射(fullyassociative mapping)
可以將一個主記憶體儲存到任一Cache行。
-
群組相聯映射(setassociative mapping)
#可以將一個主存塊儲存到唯一的一個Cache組中任一行。
直接對應
多對一的對應關係,但主存區塊只能拷貝到cache的一個特定行位置上去。
cache的行號i和主記憶體的區塊號j有如下函數關係:i=j mod m (m為cache中的總行數)
優點:硬體簡單,容易實現
缺點:命中率低, Cache的儲存空間利用率低
#全相連對應
##主記憶體的一個區塊直接拷貝到cache中的任一行上
優點:命中率較高,Cache的儲存空間利用率高
缺點:線路複雜,成本高,速度低
以上是主記憶體與cache的位址映射方式有哪三種的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

Dreamweaver Mac版
視覺化網頁開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。