แต่เดิมนั้นการทำงานของอุปกรณ์I/O โดยส่วนใหญ่จะเป็นการถ่ายโอนข้อมูลระหว่างหน่วยความจำหลักกับอุปกรณ์I/O โดยใช้หลักการทำงานในลักษณะที่เรียกว่า Programmed IO
DMAสามารถถ่ายโอนข้อมูลโดยไม่ต้องอาศัยการทำงานของโปรเซสเซอร์ จึงทำให้โปรเซสเซอร์สามารถไปทำงานอย่างอื่นได้ ไม่ต้องเสียเวลาถ่ายโอนข้อมูล
DMAจะไม่ใช้โปรเซสเซอร์ในการควบคุมการถ่ายโอนข้อมูล แต่จะใช้ Disk controller เป็นตัวควบคุมการถ่ายโอนข้อมูลระหว่างอุปกรณ์I/Oและหน่วยความจำหลัก ซึ่งเมื่อข้อมูลถูกถ่ายโอนสำเร็จแล้ว I/O จะส่งอินเทอร์รัพไปแจ้งให้โปรเซสเซอร์ทราบ
DMAช่วยปรับปรุงประสิทธิภาพให้ระบบได้มาก สามารถรองรับการทำงานI/Oจำนวนมากได้
PIO
เป็นการถ่ายโอนข้อมูลในลักษณะทีละไบต์ (8bit)หรือเวิร์ด(16 หรือ 32bit) ระหว่างหน่วยความจำหลักกับอุปกรณ์I/O โดยใช้โปรเซสเซอร์เป็นตัวสั่งการแต่ละขั้นตอน ดังนั้น เมื่อเริ่มถ่ายโอนข้อมูลแล้ว จะต้องรอจนกระทั่งการถ่ายโอนข้อมูลเสร็จสมบูรณ์ โปรเซสเซอร์จึงสามารถไปทำงานอื่นต่อไปได้ ซึ่งทำให้เสียเวลา ดังนั้น ภายหลังจึงมีการพัฒนาการทำอินพุตและเอาท์พุตแบบใหม่เรียกว่า Interrupt-drivenซึ่งจะมีวงจรคอยควบคุมการทำI/Oแทนโปรเซสเซอร์Interrup-driven I/O
เมื่อโปรเซสส่งการร้องขอถ่ายโอนข้อมูลไปยังวงจรที่ว่านี้เรียบร้อยแล้ว ก็สามารถไปทำงานอื่นต่อได้ทันที เมื่อการถ่ายโอนข้อมูลถูกดำเนินการเสร็จเรียบร้อย อุปกรณ์อินพุต/เอาท์พุตส่งสัญญานอินเทอร์รัพ แจ้งให้โปรเซสทราบ เพื่อกลับมาทำงานเดิมต่อได้Direct Memory Access(DMA)
เทคนิคการถ่ายโอนข้อมูลเป็นบล็อก(Block)จากI/Oไปยังหน่วยความจำโดยตรงหรือถ่ายโอนข้อมูลจากหน่วยความจำหลักมาสู่I/Oโดยตรง หรือถ่ายโอนจากหน่วยความจำมาสู่ I/O โดยตรงไม่ต้องอาศัยการทำงานของโปรเซสเซอร์DMAสามารถถ่ายโอนข้อมูลโดยไม่ต้องอาศัยการทำงานของโปรเซสเซอร์ จึงทำให้โปรเซสเซอร์สามารถไปทำงานอย่างอื่นได้ ไม่ต้องเสียเวลาถ่ายโอนข้อมูล
DMAจะไม่ใช้โปรเซสเซอร์ในการควบคุมการถ่ายโอนข้อมูล แต่จะใช้ Disk controller เป็นตัวควบคุมการถ่ายโอนข้อมูลระหว่างอุปกรณ์I/Oและหน่วยความจำหลัก ซึ่งเมื่อข้อมูลถูกถ่ายโอนสำเร็จแล้ว I/O จะส่งอินเทอร์รัพไปแจ้งให้โปรเซสเซอร์ทราบ
DMAช่วยปรับปรุงประสิทธิภาพให้ระบบได้มาก สามารถรองรับการทำงานI/Oจำนวนมากได้