1 下列何種輸入輸出(Input/Output)機制,可藉由一個額外的控制器,協助處理器進行大量資料搬移的動 作,進而提升處理速度或降低處理器的工作量?
(A)記憶體映射輸入輸出(Memory-mapped I/O)
(B)檔案輸入輸出(File I/O)
(C)輪詢式輸入輸出(Polling I/O)
(D)直接記憶體存取(Direct Memory Access)

答案:登入後查看
統計: A(155), B(43), C(36), D(321), E(0) #2687731

詳解 (共 3 筆)

#5123927
直接記憶體存取(Direct Memor...
(共 173 字,隱藏中)
前往觀看
12
0
#4691156
I/O 設備不能直接連接到 CPU 和記...
(共 173 字,隱藏中)
前往觀看
8
1
#5979899

下列何種輸入輸出(Input/Output)機制,可藉由一個額外的控制器,協助處理器進行大量資料搬移的動 作,進而提升處理速度或降低處理器的工作量?
(A) 記憶體映射輸入輸出(Memory-mapped I/O)
(B) 檔案輸入輸出(File I/O)
(C) 輪詢式輸入輸出(Polling I/O)
(D) 直接記憶體存取(Direct Memory Access)

答案:
(D) 直接記憶體存取(Direct Memory Access)

直接記憶體存取(Direct Memory Access,DMA)是一種輸入輸出機制,允許外部裝置(通常是一個稱為DMA控制器的硬體)直接存取主記憶體,而不需要處理器的直接參與。這有助於提升資料的搬移效率,因為它允許資料在外部裝置和記憶體之間直接交換,而不需要每次都通過處理器的中介。這有助於減輕處理器的工作負擔,提高系統整體效能。
直接記憶體存取 (DMA) 是一種允許週邊和其他裝置在系統記憶體之間傳輸資料而無需中央處理單元 (CPU) 直接參與的方法。 DMA 使用單獨的 DMA 控制器來管理資料傳輸,可以透過從 CPU 卸載資料移動任務來顯著提高系統效能。

DMA更詳細的解釋:
直接記憶體存取(DMA、D):DMA 是電腦系統中的功能,其中採用 DMA 控制器來促進週邊設備(例如磁碟機、網路介面或顯示卡)與系統記憶體之間的資料傳輸。 DMA 控制器暫時進行控制,而不是由 CPU 管理每個單獨的資料傳輸。

操作:CPU和DMA控制器協調資料傳輸。 CPU 設定 DMA 控制器,其中包含來源位址和目標位址、要傳輸的資料量以及傳輸方向(從裝置讀取到記憶體或從記憶體寫入到裝置)等詳細資訊。

資料傳輸:配置完成後,DMA 控制器接管匯流排並啟動資料傳輸,無需 CPU 介入。 當 DMA 控制器處理裝置和記憶體之間的實際資料移動時,CPU 可以自由地執行其他任務。

效率:DMA 透過減少 CPU 參與資料傳輸來顯著提高系統效能。 這對於大數據塊或頻繁的數據移動​​任務特別有利。

範例:使用 DMA 的常見場景是從磁碟儲存讀取或寫入大塊資料。 DMA 控制器可以處理整個傳輸,而不是由 CPU 單獨管理每個位元組或字,使 CPU 能夠專注於其他任務。

綜上所述,直接記憶體存取(DMA)是一種透過使用專用 DMA 控制器來提高週邊裝置和記憶體之間資料傳輸效率的機制,使 CPU 免於直接管理這些操作。  

其他選項的解釋如下:

(A) 記憶體映射輸入輸出(Memory-mapped I/O):透過將I/O裝置的控制和資料寫入記憶體的特殊區域來實現的一種I/O方法。
記憶體映射 I/O 是一種允許將輸入/輸出 (I/O) 裝置視為記憶體位置的技術。 在這種方法中,記憶體位址空間中的某些位址被保留用於與 I/O 裝置互動。 處理器透過讀取或寫入這些記憶體映射位址來與 I/O 裝置進行通信,而不是使用單獨的 I/O 操作指令。

記憶體映射 I/O (A):此技術涉及使用記憶體位址空間的特定區域來映射暫存器並控制 I/O 裝置。 當處理器讀取或寫入這些記憶體位址時,它會與對應的 I/O 裝置進行互動。 這種方法透過將 I/O 操作視為記憶體操作來簡化它們。 然而,它本質上並不涉及單獨的控制器來協助資料傳輸。
另一方面:
直接記憶體存取(DMA,D):這涉及一個單獨的 DMA 控制器,可以在外部設備和記憶體之間傳輸數據,而無需 CPU 的直接參與。 DMA 透過卸載 CPU 的任務來實現更有效率的資料傳輸。 DMA 控制器可以獨立處理資料移動,從而釋放 CPU 來執行其他任務。
小結: 
 記憶體映射I/O是一種使用記憶體位址存取I/O裝置的方法,但它不一定涉及單獨的控制器來進行資料傳輸。 直接記憶體存取 (DMA) 是一種特定的 I/O 機制,它涉及單獨的控制器來協助裝置和記憶體之間的高效資料傳輸。

(B) 檔案輸入輸出(File I/O):通常指對文件系統中的檔案進行讀取和寫入的操作。
   :  檔案 I/O,或檔案輸入/輸出,是一種在電腦儲存中讀取或寫入檔案的機制。 它涉及程式和檔案系統之間的交互,其中資料在程式和儲存在磁碟或其他儲存媒體上的檔案之間傳輸。 

檔案 I/O (B):檔案 I/O 操作通常用於讀取和寫入儲存裝置上的檔案。 這涉及開啟檔案、從中讀取資料、向其中寫入資料以及關閉檔案等操作。 檔案系統管理這些操作,程式使用特定的函數或系統呼叫與檔案系統互動。
文件 I/O 與記憶體對映 I/O 和 DMA 不同,因為它處理儲存裝置上的文件,而不是與記憶體或外部裝置直接互動。 在檔案 I/O 中,使用作業系統或程式語言提供的高階抽象從檔案讀取資料或將資料寫入檔案。 它不涉及用於與 I/O 設備互動的直接記憶體位址,也不涉及用於高效資料傳輸的單獨 DMA 控制器。

小結:
記憶體映射 I/O (A) 涉及使用特定記憶體位址將 I/O 裝置視為記憶體位置。
直接記憶體存取(DMA,D)涉及一個單獨的控制器,以促進外部設備和記憶體之間的直接資料傳輸。
檔案 I/O (B) 涉及使用作業系統或程式語言提供的高階抽象來讀取或寫入儲存裝置上的檔案。

(C) 輪詢式輸入輸出(Polling I/O):處理器透過定期詢問裝置是否準備好進行I/O操作的方法。 
    : 輪詢 I/O (C) 是一種處理輸入/輸出操作的方法,其中 CPU 主動檢查 I/O 裝置的狀態以確定其是否已準備好進行資料傳輸。 在這種方法中,CPU 重複查詢或「輪詢」設備,詢問其是否準備好進行資料傳輸。

輪詢 I/O (C):在輪詢 I/O 機制中,CPU 透過輪詢與該裝置關聯的特定狀態寄存器或標誌來連續檢查 I/O 裝置的狀態。 如果設備準備就緒,CPU 就會啟動資料傳輸。 如果沒有,CPU 會繼續輪詢,直到裝置指示就緒。 輪詢可以在緊密循環中完成,也可以作為程式邏輯的一部分完成。
輪詢 I/O 有優點也有缺點:
- **優點**:
- 實施起來很簡單。
- 無需特殊硬體(例如 DMA 控制器)。

- **缺點**:
- 它可能效率低下,因為 CPU 可能會浪費時間重複檢查狀態,特別是在設備尚未準備就緒的情況下。
- 它在輪詢期間佔用 CPU,阻止其執行其他任務。

與 DMA 等其他 I/O 機制相比,輪詢 I/O 被認為效率較低且 CPU 密集度較高。 不過,它實作起來很簡單,適合CPU有其他任務要執行並且可以定期檢查I/O裝置狀態的場景。

以上若有誤,請各位先進指正,謝謝。 

6
0