1、直接映像:
指主存的乙個字塊只能映像到cache的乙個準確確定的字塊中
特點:主存的字塊只可以和固定的cache字塊對應,方式直接,利用率低。
成本低,命中率低,效率較低
直接對映中先將主存按照cache行號的大小分組(這裡cache共有16行。),則主存共分為2047/16=128組。要給128組編碼,則要用到7位二進位制數。則主存字塊標記為7位。
直接對映就是cache中的某頁必須跟主存中每組的某頁進行對應。如圖中所示的cache中0頁對主存中各組的0頁。1頁對主存中各組的1頁
直接對映主存位址有主存區號,cache頁號及快內地至組成。在本圖中16頁要有4位二進位制編碼。
2、全相聯映像:
指主存的乙個字塊可以映像到整個cache的任何乙個字塊中。
特點:貯存中的字塊可以喝cache的任何字塊對應,利用率高,方式靈活
標記位較長,使用成本太高
全相聯對映指cache中的某頁可以隨意的指向記憶體中的某頁。
這裡主存塊標記比較長。因為主存沒有分割槽,2048頁進行編碼,需要11位(2的11次方位2048),cache頁佔4位。
3、組相聯映像:
是對全相聯和直接映像的一種折中的處理方案。既不在主存和cache之間實現字塊的完全隨意對應,也不在主存和cache之間實現字塊的多對一的硬性對應,而是實現一種有限度的隨意對應。
特點:折中方案。組間全相聯,組內直接映像。
集中了兩個方式的優點。成本也不太高。最常見的cache映像方式。
組相聯映像
方式既包含直接相聯,又包含組相聯。首先,主存按照cache的大小進行分割槽(與直接相聯一樣),這裡128個區,主存區號所佔長度7位。你可能會疑問,標記是8位啊,別急,我們接著看,在每乙個分割槽中,我們又進行了分組。一組兩頁。則需要1位二進位制來進行標記。則標記位變成8位。
而主存位址中,主存區號佔7位,然後組位址佔3位(一組共16頁,分成了8組)。然後是組內行號佔1位(1組2塊)。然後是塊內位址。
主存與cache組與組之間的對應仍然為直接映攝方式。但是每組內的頁的對應則為全相聯映像。是可以隨意進行對應的。
cache位址對映
所謂對映就是將主存內容對應到cache中。cache引入就是緩解cpu和主存執行速度差距的。cpu要執行的內容如果在cache中存在,則直接送給cpu,如果不在,則去主存中尋找,主存直接傳給cpu,再根據區域性性原理,將主存中該區域內的內容存到cache中去,而將主存中一部分內容存到cache中,就...
Cache位址對映 2
理解cache位址對映之前補充一些基礎知識,cache的位址對映和mmu 記憶體管理單元 和tlb cache 譯查詢快取 中的對映是有區別的。cache tlb cache mmu在cpu中結構如圖1所示,圖1展現的是cortex a9 processor內部結構,採用的指令和資料匯流排分開的哈佛...
主存cache的位址對映
cpu對儲存器的訪問,通常是一次讀寫乙個字單元。當 cpu訪 cache 不命中時,需將儲存在主存中的字單元連同其後若干個字一同調入 cache 中,之所以這樣做,是為了使其後的訪存能在 cache 中命中。因此,主存和 cache 之間一次交換的資料單位應該是乙個資料塊。資料塊的大小是固定的,由若...