計算機主存與Cache映像方式分析~

計算機系統結構中,將主存與Cache的映像分成三種方式,直接映像,全相聯映像,組相聯映像。所謂映像就是將內存地址與Cache地址間的相互轉換,我們知道Cache的容量相對於主存來說很小,爲了能將兩者有效的對應該起來,便產生了上面提到的映像方式。

詳細見《計算機組成與原理》 王愛英 p243

1.直接映像

  • 主存與Cache的劃分:

將主存根據Cache的大小分成若干分區,Cache也分成若干個相等的塊,主存的每個分區也分成與Cache相等的塊。

  • 主存與Cache的映像:

主存中的每一個分區由於大小相同,可以與整個Cache相像,其中的每一塊正好配對。編號不一致的塊是不能相互映像的。

  • 特點:

優點:地址變換簡單。缺點:每塊相互對應,不夠靈活。

  • 主存與Cache的地址組成:

主存:區號+塊號+塊內地址

Cache:塊號+塊內地址

2.全相聯映像

  • 主存與Cache的劃分:

將主存與Cache劃分成若干個大小相等的塊。

  • 主存與Cache的映像:

主存中每一塊都可以調到Cache中的每一塊。

  • 特點:

優點:訪問靈活,衝突率低,只有Cache滿時纔會出現在衝突。缺點:地址變換比較複雜,速度相對慢。

  • 主存與Cache的地址組成:

主存:塊號+塊內地址

Cache:塊號+塊內地址

3.組相聯映像

  • 主存與Cache的劃分:

主存:主存根據Cache大小劃分成若干個區,每個區內劃分成若干個組,每個組再劃分成若干個塊。

Cache:劃分成若干個組,每個組劃分成若干個塊。

  • 主存與Cache的映像:

主存的每個分區與Cache採用直接映像,主存的每個組之內採用全相聯映像。

  • 特點:

融合了直接映像與全相聯映像兩種映像方式,結合了兩者的優據點。具體實現容易,命中率與全相聯映像接近。

  • 主存與Cache的地址組成:

主存:區號+組號+塊號+塊內地址

Cache:組號+塊號+塊內地址

實例分析:

1.容量爲64塊的Cache採用組相聯方式映像,字塊大小爲128字節,每4塊爲一組,若主容量爲4096塊,且以字編址,那麼主存地址爲(____)位,主存區號爲(____)位。

組相聯的地址構成爲:區號+組號+塊號+塊內地址。

主存的每個分區大小與整個Cache大小相等,故此主存需要分的區數爲:4096/64=64,因爲26=64,因此需要6位來表示區號。

每4塊爲一組,故共有組數 64/4 = 16 ,因爲24=16,因此需要4位表示組號。

每組4塊,故表示塊號需要2位。

塊內地址共128字節,27=128,所以塊內地需要7位表示。

所以:主存地址的位數=6+4+2+7 = 19

主存區號的位數=6

2.某 32 位計算機的 cache 容量爲 16KB,cache 塊的大小爲 16B,若主存與 cache 的地址映射採用直接映射方式,則主存地址爲 1234E8F8(十六進制)的單元裝入的 cache 地址爲____。

A. 00 0100 0100 1101 (二進制)
B. 01 0010 0011 0100 (二進制)
C. 10 1000 1111 1000 (二進制)
D. 11 0100 1110 1000 (二進制)

:Cache大小爲16KB,塊大小爲16B,所以Cache被分成16KB/16B=1024塊,因210=1024故需要10位來表示塊數。24=16故塊內地址需要4位來表示。所以Cache的地址線位置爲14位。由於採用直接映像的方式,所以主存的後14位就是要裝入的到Cache中的位置。故選 C.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章