創作內容

2 GP

?→ 快取記憶體管理機制的小疑問

作者:無痕之音│2009-12-25 01:25:10│巴幣:4│人氣:3031

我發這篇是因為看水球專欄所衍生的疑問...。
首先來說明一下該文作者所假設的處理器規格:

1.16 位元處理器
2.記憶體定址空間最高 64KB
3.記憶體最小存取單元 1位元
4.快取長度 4 位元(Byte)
5.處理器內建 2KB快取
6.全部用 10 進位表示,而非原生的 16 進位表示法

好,假設完效能爆濫的處理器規格後,我們知道記憶體快取管理機制有三種:

第 1 種,就是
全關聯式 (Fully Associative)
這是一種見縫插針,不利於實做大型化快取的方式,但有
最高的容量利用率,之所以對大型快取不利的原因,就是因為這種快取會比對所有標籤組,故命中 (HIT) 要花很長的延遲。

目前實做主要應用於犧牲快取 (Victim cache),該小快取主要放在兩層 L 快取用來暫存被上層捨棄的資料;


如圖所示,左下角是快取眼中的 16 位元記憶體位址樣子。
快取資料存取的方式是直接比對
標籤,再比對有效位元,如此就可以定址整個主要記憶體區塊了。

2.第 2 種,就是
直接對映式 (Direct Mapped)
這是基於第一種「大風吹」標籤過長不利大型快取的改良版,它首次將主記憶體區塊以矩陣(Array)的方式,分成標籤和索引的方式來對應管理,定址方式如下:


1.從記憶體位址(圖面左下角所示)的前5個位元,比對標籤組,確定資料位於主記憶體哪個標籤。
2.比對有效位元確定該標籤是否含有效的資料。
3.最後比對索引組,便可直接塞入對應的主記憶體區塊。


從圖中可以看到快取區塊與主記憶體間的關係。
這樣的方式有明顯的缺點:容量利用率是最低的。
因為直接對映式是以 1 個快取區塊對應(防守) 32 個主記憶體區塊 (也就是單一索引區塊)。
若其中一筆資料頻繁地對快取進行存取,其它 31 區塊通通只能隔岸觀火(XD)

這邊我的問題是 (對這方面不懂的不用回答了 @@ )
資訊科系懂的話麻煩解惑一下,感恩不盡:

關於那個標籤,不是 512 X 5 位元嗎 = =?
那總大小簡直比快取還要大,是不是有點怪怪的...?
而且索引總數是 512 個,跟512 X 5 標籤的對應關係是如何的,因為最多只有 32 個,搞不懂。


3.第 3 個就是
組關聯式 (Set Associative)
這是基於第 2 個及第 1 個優缺點折衷改良的版本,也是目前所有高效能處理器一律採用的快取管理方式,彈性大、擴充性佳、容量利用率高。如目前的 eeepc 所用的 ATOM 處理器即是 8 組關聯式快取。



圖中表示標籤的 6 位元跟有效位元必須對應組數(Set),而實做一樣的 2 組區塊。
您可以看出來跟第 2 組快取相較之下容量利用率提升一倍,相對效能降低了一點 (但遠比第 1 種好很多)
這個方式的小缺點也是存在:如將組關聯數增加,那相對標籤就會增加、索引數減少
一但索引消失,那就跟第一種全關聯式是一樣的。

目前,除了組關聯式快取管理機制以外,依據區域性原則衍生的多重預測機制,可以做到跟第二種快取方式一樣的低延遲,所謂區域性原則有 2:
1.時間區域性 (Time Locality):簡單的說,如您在短時間內被叫去做某件事,那麼短時間內必然還會被叫去做某件事,這就是時間區域性。
2.空間區域性 (Space Locality):簡單的說,如您在某一地方跟某人碰面了,那麼往後您在那個地方跟那人碰面的機率會很高,這就是空間區域性。
所謂預測,自然就是事先預測這一次您考了 100分,下一次會不會考鴉蛋 XD

以上,有誰可以回答我的問題 @@
對於資訊科班的人而言,這問題也許對您微不足道,但個人不是...
就跟許多人一樣,是半路出家自學的處理器玩家。

引用網址:https://home.gamer.com.tw/TrackBack.php?sn=726137
Some rights reserved. 姓名標示-非商業性 2.5 台灣

相關創作

同標籤作品搜尋:快取記憶體

留言共 3 篇留言

納蘭映雪
http://i.imgur.com/yFnqGp4.gif

02-12 22:18

無痕之音
[e11] 3q02-12 22:43
jason倫
關於那個標籤,不是 512 X 5 位元嗎 = =?
那總大小簡直比快取還要大,是不是有點怪怪的...?
=該2KB是裝data的快取大小 ,不是實體快取大小

10-18 13:59

無痕之音
感謝你的解答,這個小知識一段時間沒看都忘光了。10-20 07:54
jason倫
而且索引總數是 512 個,跟512 X 5 標籤的對應關係是如何的,因為最多只有 32 個,搞不懂。
=該快取有512個橫列(block),而一條橫列的開頭—標籤 的值會介於0~31之間

10-18 14:01

無痕之音
感謝,明白了。10-20 07:55
我要留言提醒:您尚未登入,請先登入再留言

2喜歡★wellss 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:《說原理、談教學》淺談 ... 後一篇:[隨筆心得] recyc...

追蹤私訊切換新版閱覽

作品資料夾

happy545你好~~
歡迎來我的小屋看看喔~~XD看更多我要大聲說昨天12:07


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】