新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 主存與Cache的地址映像

        主存與Cache的地址映像

        作者: 時間:2016-11-27 來源:網絡 收藏
        主存容量相比,Cache的容量很小,它所保存的信息僅是主存信息的一個子集,且cache與主存的信息交換是以塊為單位。主存每個塊的大小和Cache中塊的大小相等,為了把信息放到Cache中,必須事先規定好主存與cache之間的地址映像方式,即某一個Cache塊可以作為哪些主存塊的副本(即映像)。映像方式一旦確定,就決定了訪問Cache時對主存地址的理解,因而也就決定了Cache的組織結構。目前有三種地址映像方式:直接映像、全相聯映像和組相聯映像。
        主存地址=主存塊號+塊內地址。
        主存分為2n塊,則主存塊號為n位。
        1。直接映像(DirectMapping):只比較一次。主存地址被理解為標記(區號)、塊號(對應的cache中的塊號)、塊內地址。主存塊號被分解為標記和塊號(位數由cache的塊數決定)。
        采用直接映像時,Cache的某一塊只能和固定的一些主存塊建立映像關系,主存的某一塊只能對應一個Cache塊。
        2。全相聯映像(AssociativeMapping) :與cache中的所有塊比較。主存地址被理解為由兩部分組成:標記(主存塊號)和塊內地址。主存塊號全部就是標記。
        采用全相聯映像時,Cache的某一塊可以和任一主存塊建立映像關系,而主存中某一塊也可以映像到cache中任一塊位置上,由于Cache的某一塊可以和任一主存塊建立映像關系,所以 Cache的標記部分必須記錄主存塊塊地址的全部信息。例如,主存分為2n塊,塊的地址為n位,標記也應為n位。
        為了判斷是否命中,主存地址的標記部分需要和Cache的所有塊的標記進行比較。為了縮短比較的時間,將主存地址的標記部分和Cache的所有塊的標記同時進行比較。如果命中,則按塊內地址訪問Cache中的命中塊(其標記與主存地址給出的標記相同);如果未命中,則訪問主存。
        全相聯映像的優點是靈活,Cache利用率高。缺點有兩個:一是標記位數增加了(需要記錄主存塊塊地址的全部信息),使得Cache的電路規模變大,成本變高;二是比較器難于設計和實現(通常采用“按內容尋址的”相聯存儲器)。因此,只有小容量Cache才采用這種映像方式。
        3。組相聯映像(SetAssociativeMapping):與cache一個組中的所有塊。主存地址被理解為由三部分組成:標記、組號和塊內地址。主存塊號由標記和組號分割了,組號占主存塊號的低位(位數由cache的組熟決定)。
        組相聯映像方式是介于直接映像和全相聯映像之間的一種折中方案。設Cache中共有 m個塊,在采用組相聯映像方式時,將m個Cache塊分成u組(set),每組k個塊(即m=u×k),組間直接映像,而組內全相聯映像(如圖3.42所示)。所謂組間直接映像,是指某組中的Cache塊只能與固定的一些主存塊建立映像關系。
        所謂組內全相聯映像,是指和某Cache組相對應的主存塊可以和該組內的任意一個Cache塊建立映像關系。


        例子:
        高速緩存Cache 與主存間采用全相聯地址映像方式,高速緩存的容量為4MB,分為4 塊,每塊1MB,主存容量為256MB。 若主存讀寫時間為30ns,高速緩存的讀寫時間為3ns,平均讀寫時間為3.27ns,則該高速緩存的命中率為___(3)___%。若地址變換表如下所示,則主存地址為8888888H時,高速緩存地址為___(4)___H。
          地址變換表
        38H
        88H
        59H
        67H

          (3)A. 90      B. 95      C. 97      D. 99
          (4)A. 488888    B. 388888    C. 288888    D.188888
        主存容量為 256MB表示由28個二進制數地址也對應由7個十六進制數8888888H ,每塊 IMB說明塊內地址是20位二進制數也就是5位十六進制數88888,剩下的2位十六進制數88H代表塊地址(全相聯映射)。

        本文引用地址:http://www.104case.com/article/201611/322196.htm

        1、容量為64塊的Cache采用組相聯方式映像,字塊大小為128個字,每4塊為一組。若主存容量為4096塊,且以字編址,那么主存地址應該為__(7)__位,主存區號為__(8)__位。 (7)A.16 B.17 C.18 D.19
        (8)A.5 B.6 C.7 D.
        解析:本題目涉及到Cache的工作存儲原理知識,Cache作為主存局部區域的副本,用來存放當前活躍的程序和數據。將局部范圍的內容從主存復制到Cache中,使CPU高速的從Cache中讀取數據,速度比訪問主存快很多。Cache有三種映像方式。

        這里,由于主存容量為4096塊(或“頁”),且每塊為128個字,所以,主存地址為4096*128=2^n;n=19
        主存可以劃分為4096/64=64組,所以主存區號為2^n=64;n=6.
        答案選擇(7)D (8)B

        0
        1
        2
        3



        關鍵詞: 主存Cache地址映

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 云阳县| 清水河县| 文水县| 简阳市| 江永县| 成安县| 临海市| 兴山县| 黔东| 介休市| 洪洞县| 山西省| 讷河市| 永康市| 金坛市| 舒兰市| 睢宁县| 屯留县| 开远市| 临沧市| 巨野县| 恭城| 错那县| 含山县| 秦皇岛市| 镇坪县| 平阳县| 灵石县| 伊川县| 清水县| 五河县| 泸水县| 徐水县| 罗山县| 丁青县| 马龙县| 崇文区| 资讯 | 泗洪县| 调兵山市| 从化市|