當前位置:首頁 » 硬碟大全 » 如何判定映射到緩存的地址
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如何判定映射到緩存的地址

發布時間: 2023-03-27 09:30:05

緩存的緩存映射

根據E的數值,高速緩存可以被分為不用的類,包括直接映射緩存,組相聯緩存和全相聯緩存。 在組相聯緩存里,E大於1,就是說一個組裡面有多個cacheline。E等於多少,就叫有多少路,所以叫E路組相聯。
組相聯的行匹配就要復雜一些了,因為要檢查多個行的標記位和有效位。如果最終找到了,還好。當然,找不到會從下一級存儲器中取出包含所需求數據的行來替換,但一個組裡面這么多行,替換哪個行。如果有一個空行,自然就是替換空行,如果沒有空行,那就引發了一些其他的替換策略了。除了剛才介紹過的隨機策略,還有最不常使用策略,最近最少使用策略。這些策略本身是需要一定開銷的,但要知道,不命中的開銷是很大的,所以為了保證命中率,採取一些相對復雜的策略是值得的。 所謂全相聯,就是由一個包含所有緩存行的組組成的緩存。由於只有一個組,所以組選擇特別簡單,此時地址就沒有組索引了,只有標記和偏移,也就是t部分和b部分。其他的步驟,行匹配和數據選擇,和組相聯原理是一樣的,只是規模大得多了。如果說上面關於這三種映射方法的描述非常抽象,為了能理解得更加透徹,把存儲器比作一家大超市,超市裡面的東西就是一個個位元組或者數據。為了讓好吃好玩受歡迎的東西能夠容易被看到,超市可以將這些東西集中在一塊放在一個專門的推薦櫃台中,這個櫃台就是緩存。如果僅僅是把這些貨物放在櫃台中即完事,那麼這種就是完全關聯的方式。
可是如果想尋找自己想要的東西,還得在這些推薦貨物中尋找,而且由於位置不定,甚至可能把整個推薦櫃台尋找個遍,這樣的效率無疑還是不高的。於是超市老總決定採用另一種方式,即將所有推薦貨物分為許多類別,如「果醬餅干」,「巧克力餅干」,「核桃牛奶」等,櫃台的每一層存放一種貨物。這就是直接關聯的訪問原理。這樣的好處是容易讓顧客有的放矢,尋找更快捷,更有效。
但這種方法還是有其缺點,那就是如果需要果醬餅乾的顧客很多,需要巧克力餅乾的顧客相對較少,顯然對果醬餅乾的需求量會遠多於對巧克力餅乾的需求量,可是放置兩種餅乾的空間是一樣大的,於是可能出現這種情況:存放的果醬餅乾的空間遠不能滿足市場需求的數量,而巧克力餅乾的存放空間卻被閑置。為了克服這個弊病,老闆決定改進存貨方法:還是將貨物分類存放,不過分類方法有所變化,按「餅干」,「牛奶」,「果汁」等類別存貨,也就是說,無論是什麼餅干都能存入「 餅干」所用空間中,這種方法顯然提高了空間利用的充分性,讓存儲以及查找方法更有彈性。

⑵ 什麼是字塊內地址什麼是主存塊地址什麼是緩存塊地址什麼是組地址

字塊內地址: 一個塊含有幾個字,數據位於第幾個字就是字塊內地止。

主存塊地址:將主存分塊存儲,位於第幾塊就是主存塊地址。

緩存塊地址:將cache分塊存儲,位於第幾塊就是主存塊地址。

組地址:將cache的塊分組,位於第幾組就是組地址。

具體關系如圖所示:

(2)如何判定映射到緩存的地址擴展閱讀:

cache(緩存)與主存映射有三種映射:

全相聯映射:主存的一塊可以映射到cache的任意一行中。

直接相聯映射 :根據cache的大小將主存劃分為若干個區,每個區中的塊與cache中的行一一對應。主存的一塊只能存放到cache的某一特定行中。

組相聯映射:

1、首先將cache的劃分為若干組(U組),每組有V行(稱為V路組相聯)。

2、主存按每U塊劃分為一組,每組有U塊。

3、主存的第j塊按模U映射到cache的第i組中的任意一行。

4、組間直接映射,組內全相聯映射

參考資料:網路-塊映射策略

⑶ 緩存與主存的直接映射怎樣簡單理解

Cache與主存之間可採取多種地址映射方式,直接映射方式是其中的一種。在這種映射方式下,主存中的每一頁只能復制到某一固定的Cache頁中。由於Cache塊(頁)的大小為16B,而Cache容量為16KB。因此,此Cache可分為1024頁。可以看到,Cache的頁內地址只需4位即可表示;而Cache的頁號需用10位二進制數來表示;在映射時,是將主存地址直接復制,現主存地址為1234E8F8(十六進制),則最低4位為Cache的頁內地址,即1000,中間10位為Cache的頁號,即1010001111。Cache的容量為16KB決定用這14位編碼即可表示。題中所需求的Cache的地址為10100011111000。

⑷ 內存Cache直接映射、全相聯映射和組相聯映射

1. 直接映射

---- 一個內存地址能被映射到的Cache line是固定的。就如每個人的停車位是固定分配好的,可以直接找到。缺點是:因為人多車位少,很可能幾個人爭用同一個車位,導致Cache 淘汰換出頻繁 ,需要頻繁的從主存讀取數據到Cache,這個代價也較高。

2. 全相聯映射

---- 主存中的一個地址可被映射進任意cache line,問題是:當尋找一個地址是否已經被cache時,需要遍歷每一個cache line來尋找,這個代價很高。就像停車位可以大家隨便停一樣,停的時候簡單,找車的時候需要一個一個停車位的找了。

主存中任何一塊都可以映射到Cache中的任何一塊位置上。

全相聯映射方式 比較靈活 ,主存的各塊可以映射到Cache的任一塊中,Cache的利用率高,塊沖突概率低,只要淘汰Cache中的某一塊,即可調入主存的任一塊。但是,由於Cache比較電路的設計和實現比較困難,這種方式只適合於 小容量 Cache採用。

3. 組相聯映射

---- 組相聯映射實際上是直接映射和全相聯映射的折中方案,其組織結構如圖(3)所示。

主存和Cache都 分組 ,主存中一個 組內的塊數 與Cache中的 分組數 相同,組間採用直接映射,組內採用全相聯映射。也就是說,將Cache分成2^u組,每組包含2^v塊,主存塊存放到哪個組是固定的,至於存到該組哪一塊則是靈活的。即主存的某塊只能映射到Cache的特定組中的任意一塊。主存的某塊b與Cache的組k之間滿足以下關系:k=b%(2^u).

⑸ 在程序運行時,高速緩沖存儲器與主存的地址映射是由什麼實現

高速緩沖存儲器(Cache)實際上是為了把由DRAM組成的大容量內存儲器都看做是高速存儲器而設置的小容量局部存儲器,一般由高速SRAM構成。這種局部存儲器是面向CPU的,引入它是為減小或消除CPU與內存之間的速度差異對系統性能帶來的影響。Cache 通常保存著一份內存儲器中部分內容的副本(拷貝),該內容副本是最近曾被CPU使用過的數據和程序代碼。Cache的有效性是利用了程序對存儲器的訪問在時間上和空間上所具有的局部區域性,即對大多數程序來說,在某個時間片內會集中重復地訪問某一個特定的區域。如PUSH/POP指令的操作都是在棧頂順序執行,變數會重復使用,以及子程序會反復調用等,就是這種局部區域性的實際例證。因此,如果針對某個特定的時間片,用連接在局部匯流排上的Cache代替低速大容量的內存儲器,作為CPU集中重復訪問的區域,系統的性能就會明顯提高。
系統開機或復位時,Cache 中無任何內容。當CPU送出一組地址去訪問內存儲器時,訪問的存儲器的內容才被同時「拷貝」到Cache中。此後,每當CPU訪問存儲器時,Cache 控制器要檢查CPU送出的地址,判斷CPU要訪問的地址單元是否在Cache 中。若在,稱為Cache 命中,CPU可用極快的速度對它進行讀/寫操作;若不在,則稱為Cache未命中,這時就需要從內存中訪問,並把與本次訪問相鄰近的存儲區內容復制到Cache 中。未命中時對內存訪問可能比訪問無Cache 的內存要插入更多的等待周期,反而會降低系統的效率。而程序中的調用和跳轉等指令,會造成非區域性操作,則會使命中率降低。因此,提高命中率是Cache 設計的主要目標。

⑹ 簡要說明cache的地址映射方式。cache的替換演算法主要有哪些為何要進行替換

cache內存的地址映射主要有以下三種方式:一、直接世槐映像:
二、全相聯映像:
三、組相聯映像:
cache的替換演算法有:
①Hybrid演算法:算搜迅友法對Cache中的每一個對象賦予一個效昌培用函數,將效用最小的對象替換出Cache;
②LowestRelativeValue演算法:將效用值最低的對象替換出Cache;
③(LCNR)演算法:該演算法使用一個關於文檔訪問頻次、傳輸時間和大小的推理函數來確定替換文檔;
④Bolot等人提出了一種基於文檔傳輸時間代價、大小、和上次訪問時間的權重推理函數來確定文檔替換;
⑤SizeAdjustLRU(SLRU)演算法:對緩存的對象按代價與大小的比率進行排序,並選取比率最小的對象進行替換。

⑺ cache內存的地址映射主要有幾種方式

cache內存的地址映射主要有以下三種方式:
一、直接映像:
指主存的一個字塊只能映像到Cache的一個准確確定的字塊中。
特點:主存的字塊只可以和固定的Cache字塊對應,方式直接,利用率低。

二、全相聯映像:

全相聯映射是指主存中任意一個塊都可以映射到Cache中任意一個塊的方式,也就是說,當主存中的某一塊需調入Cache時,可根據當時Cache的塊佔用或分配情況,選擇一個塊給主存塊存儲,所選的Cache塊可以是Cache中的任意一個塊。
特點:貯存中的字塊可以和Cache的任何字塊對應,利用率高,方式靈活,標記位較長,使用成本太高。
三、組相聯映像:

是對全相聯和直接映像的一種折中的處理方案。既不在主存和Cache之間實現字塊的完全隨意對應,也不在主存和Cache之間實現字塊的多對一的硬性對應,而是實現一種有限度的隨意對應。
特點:折中方案。組間全相聯,組內直接映像。集中了兩個方式的優點。成本也不太高。最常見的Cache映像方式。

⑻ dns伺服器中如何將域名映射到IP地址

步驟如下:

1、DNS的解析過程,主要有以下幾個步驟:1.如果現在要訪問某網站站點,客戶機會提出解析請求,並且將請求發送給本地的域名伺服器。


5、重復上一步,直到查詢到正確晌或前的緩存記錄為止。

6、本地域名伺服器將查到的結果保存到緩存中,為下一次的使用做好准備,與此同時會將結果返回給客戶機。

⑼ cache內存的地址映射主要有幾種方式

cache內存的地址映射主要有以下三種方式:x0dx0a一、直接映像:x0dx0a指主存的一個字塊只能映像到Cache的一個准確確定的字塊中。x0dx0a特點:主存的字塊只可以和固定的Cache字塊對應,方式直接,利用率低。x0dx0ax0dx0a二、全相聯映像:x0dx0ax0dx0a全相聯映射是指主存中任意一個塊都可以映射到Cache中任意一個塊的方式,也就是說,當主存中的某一塊需調入Cache時,可根據當時Cache的塊佔用或分配情況,選擇一個塊給主存塊存儲,所選的Cache塊可以是Cache中的任意一個塊。x0dx0a特點:貯存中的字塊可以和Cache的任何字塊對應,利用率高,方式靈活,標記位較長,使用成本太高。x0dx0a三、組相聯映像:x0dx0ax0dx0a是對全相聯和直接映像的一種折中的處理方案。既不在主存和Cache之間實現字塊的完全隨意對應,也不在主存和Cache之間實現字塊的多對一的硬性對應,而是實現一種有限度的隨意對應。x0dx0a特點:折中方案。組間全相聯,組內直接映像。集中了兩個方式的優點。成本也不太高。最常見的Cache映像方式。

⑽ 淺談主存和Cache間的地址映射

最近在學計算機架構,正好學到主存與Cache間的地址映射,記錄一下,方便以後復習回顧。

學一個東西要弄清楚這個東西有什麼用,發明它的目的是什麼。Cache和主存的地址映射則主要是為了加快CPU的處理速度,因為如果CPU每次都要從主存(如4GB)中找數據的話就太慢了,但是如果在Cache(如64K)中有對應主存的數據,這樣就很快了。下面的地址映射方式都是想判斷主存中某個數據在不在Cache中,只不過效率不同而已。

首先指明基礎單位,簡單來說,有4個基礎單位: Bit Byte Block Word
其中

在主存和Cache間的地址映射過程中,都是使用 Block 作為基本單位來交換數據,因為這樣更加高效

主存和Cache有三種地址映射方式

全相連映射大概如下圖所示:

Cache和 Main Memory(MM) 都被分為一定數量的 Block ,即圖中的b(0), b(1), ...

由圖可知,Cache被分為 C/B-1 個 Block ,Main Memory被分為 M/B-1 個 Block (C是緩存大小,如64k=2^16 Bytes,同理B和M分別是 Block 和MM大小)

全相連映射方式比較簡單,其思想是MM中的任意一個Block可以存在Cache中任意一個Block中,定址方式如下圖:

BTW:Associative Memory(相聯存儲器)的列數和Cache的列數一致

例題1:
Assume that cache capacity is 64KB in a computer system, data block size is 16 bytes, main memory capacity is 4MB, fully associative mapping is used.

直接相連映射與全相連映射的不同之處在於它將MM中的Block分成了一個個Area,每個Area的大小都和Cache相同,並且每個Area中的Block只能存在Cache中對應位置的Block,例如:MM中Area0的b(0)只能存在Cache中的b(0),Area1的b(0)也只能存在Cache中的b(0),以此類推。因此它也要求MM的大小必須是Cache大小的整數倍。

Ei是Area編號,Bi是Area中的Block編號,bi是Cache中Block編號,Block Address是Block中的地址

首先,由Bi選出Directory Table中對應的Block,該Block存著Area編號,將這個編號和MM Address的Ei比較一下,相同的話就說明在Cache中找到了對應MM中的數據(Hit),然後直接把MM Address的Bi和Block Address當做Cache Address去Cache找。

例題2:
Assume that cache capacity is 64KB in a computer system, data block size is 16 bytes, main memory capacity is 4MB, direct associative mapping is used.

組相連映射的思想相當於結合了前兩種映射思想,在已經分好Area的基礎上再進一步地分Group,每個Areaz裡面有若干個Group,與直接相連映射不同的是,組相連映射要求的只是每個Group必須一一對應,而Group裡面的Block則是隨意對應(即全相連映射)

Gi是Group的編號,其餘同直接相連映射
同理,先由Gi選出Directory Table中對應的Group,再把Ei和Bi與其內容作比較,相等就說明Cache中存在MM中的數據,然後直接把Directory Table中的bi和MM Address中的Gi當成Cache Address去Cache中找數據

例題3:
Assume that cache capacity is 32KB in a computer system, data block size is 64 bytes, main memory capacity is 1MB, set associative mapping is used and the group count is 128.

最後,總結一下三種映射方式,當組相連映射中的Group數量減少到1時,組相連映射變成全相連映射,當Group數量增加到Block總數時,組相連映射變成直接相連映射。