介面與匯流排規格
下列關於網路卡或NVMe SSD等廣泛使用的、利用記憶體上描述子(descriptor)環(ring)的DMA機制,何者正確?
- ACPU將資料逐位元組寫入裝置的暫存器來傳輸
- BCPU只需將傳輸的位址與長度寫入描述子並通知裝置,裝置會自行讀取描述子並推進傳輸
- C描述子只存在於裝置內部,CPU看不到
查看答案與解析
正確答案:B. CPU只需將傳輸的位址與長度寫入描述子並通知裝置,裝置會自行讀取描述子並推進傳輸
描述子環是將排列在主記憶體上、寫著「從哪個位址傳送多少位元組」的表格,像環一樣循環使用的機制。CPU將傳輸內容寫入空閒的描述子,再向裝置的暫存器通知一次「已寫到這裡」。裝置以DMA讀取描述子、傳輸資料,並在完成的描述子上標記完成。CPU與裝置不必互相等待,即可推進許多傳輸。
- A. 那是不使用DMA的程式化輸入輸出。
- B. 正確。可將許多傳輸批次交給裝置。
- C. 描述子放在主記憶體,CPU與裝置雙方都會讀寫。