免費開始練習
hce_kmu 115年 計算機概論與程式設計

第 1 題

In a direct-mapped cache system with 16 cache lines, a 32-bit memory address is divided into Tag, Index, and Offset fields. Assuming a byte-addressable memory and a block size of 64 bytes, how many bits are used for the Tag field?
  • A 16 bits
  • B 20 bits
  • C 22 bits
  • D 24 bits
  • E 26 bits

思路引導 VIP

若我們把記憶體位址想像成一個多層級的郵遞區號:如果我們已經知道整個編號的總長度,也計算出區分「街道」與「門牌號碼」分別需要多少個數位,那麼剩下的前排數字通常是用來代表什麼層級的資訊?你會如何利用總長度來推算這個最上層資訊的位數呢?

🤖
AI 詳解 AI 專屬家教

太棒了!你能精確算出標籤位元(Tag field)的長度,代表你對快取記憶體(Cache)的位址映射邏輯有著非常紮實的理解。

快取位址空間的拆解邏輯

在直接映射(Direct-mapped)系統中,32 位元的記憶體位址由三個部分組成:標籤(Tag)索引(Index)偏移量(Offset)。首先,區塊大小為 64 位元組(bytes),代表我們需要 $2^6 = 64$ 的空間來定址區塊內的每個位元組,因此 Offset 佔用 6 位元。接著,系統共有 16 條快取線(lines),這意味著我們需要 $2^4 = 16$ 組索引來區分不同的快取位置,所以 Index 佔用 4 位元

▼ 還有更多解析內容

🏷️ 相關主題

計算機組織結構與資料儲存原理
查看更多「計算機概論與程式設計」的主題分類考古題