1. 程式人生 > >專題-主存儲器與Cache的地址映射方式

專題-主存儲器與Cache的地址映射方式

關註 alt 這樣的 映射 字節 問題 png 存儲器 位數

2019/05/02 10:23
首先,我們註意到地址映射有三種:分別是直接地址映射、全相聯映射、組相聯映射。
首先我們搞清楚主存地址還有Cache地址的關系,還有組內地址的關系,常見我們的塊內地址,是用b(b表示有幾位的數2^b)表示的。
對於直接映射:主存地址分為,標記 | 字塊地址 | 塊內地址
對於全相聯映射:主存地址分為,標記 | 塊內地址
對於組相聯地址:主存地址分為,標記 | 組地址 | 塊內地址

我們在題中或者遇到問題是:
首先看CPU的地址總線有多少位,然後字長(1個字節是8位,字長看所給要求有多少個字節,一般是16位,也就是兩個字節)有多少。
然後我們看Cache,一般給出2K * 16位的Cache,16就是字長,然後關註塊(這裏關系到塊內地址的位數如果是8B,可以化成4 * 16bit,就可以明白塊內地址占2位)有多大,如果是組相聯映射,還會有個幾路組相聯,如果是2路的話,也就說明占1位Cache地址,如果是4路,那麽就是占2位Cache地址。這樣的話,Cache剩下的位數,表示分成了這麽多組,在主存地址中也要中這麽多位的地址來找到相應的地址(也就是組相聯映射中的組地址的位數)。

最後題目中往往會說要你求如果主存地址為462EH,則該地址可以映射到哪一組,就是把組地址取出來,然後換算成十進制看是映射到哪一組。如果所給主存地址沒有達到CPU地址總線的長度,在前面補最高位同符號的即可。

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

專題-主存儲器與Cache的地址映射方式