直接對映詳解

2021-08-20 12:26:07 字數 943 閱讀 2024

在cache中為主存中每個字分配乙個位置的最簡單方法就是根據這個字的主存位址進行分配,這種cache結構稱為直接對映。其中,每個儲存器位址對應到cache中乙個確定的位址

。直接對映cache都採用以下對映方法:

i=j mod c,其中,i為cache塊位址,j為主存塊位址,c為cache中的塊數,mod表示求餘運算。

標記:由於cache中每個位置可能對應於儲存器中多個位置,因此需要引入一組標記,標記中包含了位址資訊。標記只需包含位址的高位,也就是沒有用來檢索cache的那些位。如上圖標記位只需使用5位位址中的高兩位。

有效位:我們還需要一種方法來判斷cache塊中確實沒有包含有效資訊。例如,當乙個處理器啟動時,cache中沒有資料,標記域中的值就沒有意義,甚至在執行了一些指令後,cache中的一些塊依然為空。因此需要增加乙個有效位來標識乙個塊是否含有乙個有效位址。

上圖給出了直接對映的完整結構圖

直接對映是最簡單的位址對映方式,它的硬體簡單,成本低,位址變換速度快,而且不涉及替換演算法問題。但是這種方式不夠靈活,

cache的儲存空間得不到充分利用

,每個主存塊只有乙個固定位置可存放,容易產生衝突,使cache效率下降,因此只適合大容量cache採用。例如,如果乙個程式需要重複引用主存中第0塊與第2^c塊,最好將主存第0塊與第2^c塊同時複製到cache中,但由於它們都只能複製到cache的第0塊中去,即使cache中別的儲存空間空著也不能占用,因此這兩個塊會不斷地交替裝入cache中,導致命中率降低。

主存到Cache直接對映 全相聯對映和組相聯對映

cache的容量很小,它儲存的內容只是主存 記憶體 內容的乙個子集,且cache與主存的資料交換是以塊 cache line 為單位的。為了把資訊放到cache中,必須應用某種函式把主存位址定位到cache中,這稱為位址對映。在資訊按這種對映關係裝入cache後,cpu執行程式時,會將程式中的主存位...

主存到Cache直接對映 全相聯對映和組相聯對映

cache的容量很小,它儲存的內容只是主存內容的乙個子集,且cache與主存的資料交換是以塊為單位的。為了把資訊放到cache中,必須應用某種函式把主存位址定位到cache中,這稱為位址對映。在資訊按這種對映關係裝入cache後,cpu執行程式時,會將程式中的主存位址變換成cache位址,這個變換過...

繼承關係對映詳解

繼承關係對映 繼承在物件模型中是 is a 是乙個 的關係,但在關係模型中,實際之間只有has a 有乙個 的關係,也就是說,繼承在物件模型和關係模型上是不匹配的,索性的是hibernate提供了3中常用的繼承映方案。一 整個繼承層次一張表 把整個繼承層次的多個類的資訊存放到一張表裡。需要在表中新增...