地方政府公務人員四等-資訊處理類科計算機概要114 年第 6 題單選題
在直接記憶體存取(direct memory access, DMA)為基礎的 I/O 中,下列敘述何者正確?
ACPU 可以從資料傳輸中釋放出來,並在每個字(word)傳輸完成後被中斷,以啟動下一個字的傳輸
B週期偷取(cycle stealing)會減慢 CPU 運算速度,但將資料傳輸工作卸載到 DMA 控制器通常會提高整個系統的效能正確答案
C沒有使用中斷機制
D資料可以傳送到單一記憶體區塊,但不能傳送到多個記憶體區塊
B正確答案
DMA 讓 CPU 從大量資料搬運中解放,雖會發生週期偷取拖慢 CPU,但整體系統效能仍提升。
為什麼答案是 B
正解。Cycle stealing 指 DMA 控制器偶爾搶走記憶體匯流排週期,使 CPU 短暫等待,但 CPU 省下大量搬資料的時間,整體系統吞吐量提升。
載入中…
完整詳解
Pro · 無限重點 DMA 讓 CPU 從大量資料搬運中解放,雖會發生週期偷取拖慢 CPU,但整體系統效能仍提升。
DMA 核心精神=卸載 I/O 給控制器,CPU 只在整塊傳輸完才被中斷一次,不是每個 word 都中斷。
逐選項分析
A✕ 陷阱
錯在「每個 word 傳輸完成後被中斷」。DMA 的重點就是整塊(block)傳完才中斷 CPU 一次,若每個字都中斷,等於沒用 DMA,反而比 programmed I/O 還累。
B✓ 正確
正解。Cycle stealing 指 DMA 控制器偶爾搶走記憶體匯流排週期,使 CPU 短暫等待,但 CPU 省下大量搬資料的時間,整體系統吞吐量提升。
C✕
錯。DMA 仍使用中斷機制——當整塊資料傳輸完成,DMA 控制器會發中斷通知 CPU 處理後續(如檢查狀態、啟動下一筆傳輸)。
D✕
錯。DMA 支援 scatter-gather(分散-聚集)模式,可將資料分散傳送至多個不連續記憶體區塊,現代 DMA 控制器普遍具備此功能。
三種 I/O 方式比較
| 方式 | CPU 介入程度 | 中斷時機 | 適用場合 |
|---|
| Programmed I/O | 全程忙碌輪詢 | 無中斷 | 少量資料 |
| Interrupt-driven | 每個 word 被中斷 | 每字一次 | 中量資料 |
| DMA | 僅啟動與完成時 | 整塊傳完一次 | 大量資料(磁碟、網卡) |
A 選項最容易誤選!它把「整塊傳完才中斷」偷換成「每個 word 傳完就中斷」。考生若不熟 DMA 的中斷粒度,會覺得「CPU 被釋放」這半句對就整句選下去。記住:DMA=一次一整塊,中斷只來一次。