阿摩線上測驗 登入

申論題資訊

試卷:100年 - 100 一般警察特種考試_二等_刑事警察人員犯罪分析組:計算機概論(包括計算機結構、資料結構、程式設計)#27370
科目:計算機概論
年份:100年
排序:0

申論題內容

六、假設一個電腦有一個four entry, directed mapped cache,現用一個演算法(algorithm)映 射地址(address)至 direct mapped cache lines。假設下列地址被當作 cache tag,並 省略兩個低序位(the two low-order bits)。當電腦讀取下列資料(data)與地址, 並存放於 cache 中,最後在 cache 中區塊(block)的地址與資料為何?(10 分)
 Address = 4, Data = 12
 Address = 7, Data = 15 
Address = 6, Data = 100
 Address = 3, Data = 77 
Address = 8, Data = 55
 Address = 1, Data = 9 
Address = 5, Data = 66

詳解 (共 1 筆)

詳解 提供者:hchungw

要處理這個問題,我們首先需要理解direct-mapped cache的工作原理。在一個direct-mapped cache中,每個主存位址映射到cache中的一個特定位置。這種映射通常是通過位址的某些位來決定的。對於一個four-entry cache,我們可以使用位址的二進位表示中的某些位元來確定它映射到哪一個cache entry。
由於我們有四個cache entry,我們需要兩個位來唯一地標識這些entry(00、01、10、11)。在這個假設的情況下,我們可以使用位址的低序位(除去提到的最低的兩位)作為映射。所以,實際上我們是看位址的第2和第3位(從最低位開始計數,且最低的兩位被忽略)來確定映射。
讓我們來分析每個位址,確定它們如何映射到cache中:
位址忽略兩位低序位,意味著我們用位址除以4(或者右移兩位)來確定它的cache行。
因為是four-entry direct-mapped cache,我們用地址對4取模(或地址的第2和第3位)來確定具體的cache entry。
現在,按照給定的位址和資料進行映射:
Address = 4, Data = 12: 位址4除以4等於1,映射到cache line 1。
Address = 7, Data = 15: 位址7除以4等於1餘數3,映射到cache line 3。
Address = 6, Data = 100: 位址6除以4等於1餘數2,映射到cache line 2。
Address = 3, Data = 77: 位址3除以4等於0餘數3,映射到cache line 3,替換之前的資料。
Address = 8, Data = 55: 位址8除以4等於2,映射到cache line 0。
Address = 1, Data = 9: 位址1除以4等於0餘數1,映射到cache line 1,替換之前的資料。
Address = 5, Data = 66: 位址5除以4等於1餘數1,映射到cache line 1,再次替換。
最終,cache中的資料為:
Cache Line 0: Address = 8, Data = 55
Cache Line 1: Address = 5, Data = 66
Cache Line 2: Address = 6, Data = 100
Cache Line 3: Address = 3, Data = 77
請注意,由於cache是direct-mapped的,當一個新的資料項目需要存放到已經被佔用的cache line時,原有的資料會被新的資料替換。