1、主存與cache地址映射概述
主存數據如何遷至Cache才能實現快速查找?
常見的三種映射方式:
全相聯
直接相聯
組相聯
2、全相聯映射的工作原理
主存分塊,Cache分行,兩者大小相同。
設每塊4個字,主存大小為1024個字,則第61個字的主存地址為:
00001111 01 (塊號 塊內地址)
主存分塊后地址就從一維變成二維
映射算法:主存的數據塊可映射到Cache任意行,同時將該數據塊地址對應行的標記存儲體中保存
全相聯映射的特點:
1、cache利用率高
2、塊沖突率低
3、淘汰算法復雜
應用場合:
小容量Cache
3、直接映射的工作原理
主存分塊,Cache分行,兩者大小相同
主存分塊后還將以cache行數為標准進行分區
設每塊4個字,主存大小為1024個字,Cache分為4行,第61個字的主存地址為:
000011 11 01(區號,區內塊號,塊內地址)
主存地址從一維變成三維
映射算法:
Cache共n行,主存第j塊號映射到Cache的行號為:
i=j mod n
即主存的數據塊映射到Cache特定行。
直接映射的特點
Cache利用率低
塊沖突率高
淘汰算法簡單
應用場合:
大容量Cache
4、組相聯映射的工作原理
主存分塊,cache分行,兩者大小相同
Cache分組(分組中包含K行),本例假定K=4
主存分塊后還將以Cache組數為標准進行分組(本例中,Cache共8行,兩組,所以Cache每兩個塊就分一個組)
設每塊4個字,主存大小為1024個字,Cache分為4行,第61個字的主存地址為
09000111 1 01 (組號,組內塊號,塊內地址)
主存地址從一維變成三維
映射算法:
Cache共n組,主存第j塊號映射到Cache的組號為:
i=j mod n
即主存的數據塊映射到Cache特定組的任意行。
組相聯映射各方面特點都位於全相聯映射和直接映射之間。