2008年9月22日 星期一

DMA簡介

DMA簡介
DMA (Direct Memory Access) 也就是直接記憶體存取,相對於 PIO,是一種以不透過
CPU 而直接作 I/O的動作。
DMA 可以分為兩種型態,一是普通的 DMA,另一個就是匯流排主控 DMA(Bus Mastering).
普通的 DMA 是靠主機板上的 DMA 控制器來控制資料傳輸等工作,而匯流排主控 DMA
則是完全靠介面卡上的硬體邏輯線路來控制,後者會增加界面卡的製造成本。
可是在主機板的 DMA 控制器是在 ISA 架構上,所以速度慢。
大致來說,DMA 可以分成三種模式,即 MODE 0,MODE 1 和 MODE 2,每種 MODE 又可以
分 Single word 和 Multi-word 兩種傳輸方法,基本上來說,Multi-word 會有比較好的
效能。
有一些介面卡可以使用 DMA 模式和硬碟溝通,但其實它是使用 PIO 的模式。
DMA 必須使用在多工的作業系統才能發揮其功效,否則在非多工的系統 下,即使你是使用
DMA,也不會用到 CPU,可是 CPU 卻仍然必須等到 I/O 做完才可繼續動作。

沒有留言: