Thursday, November 1, 2018

Direct Memory Access (DMA)

Pengertian 


Direct memory access (DMA) adalah suatu alat pengendali khusus yang disediakan untuk memungkinkan transfer blok data langsung antar perangkat eksternal dan memori utama, tanpa intervensi terus menerus dari prosesor.
DMA juga bisa disebut sebagai sebuah prosesor khusus (special purpose processor) yang berguna untuk menghindari pembebanan CPU utama oleh program I/O (PIO).

Fungsi


Fungsi dari DMA sendiri adalah agar CPU dapat melakukan pekerjaan atau instruksi yang berbeda ketika melakukan operasi baca tulis dari perangkat peripheral.





Cara Kerja DMA


  1. I/O Device terhubung dengan DMA controller memberikan instruksi yang harus di proses.
  2. DMA controller mengirimkan pemberitahuan ke processor akan ada proses yang dihandle oleh DMA controller.
  3. Processor menginformasikan ke memory bahwa DMA akan mengakses memory untuk pemrosesan suatu instruksi.
  4. DMA Controller terhubung dengan memory dan akses alamat, data yang diperlukan
  5. DMA controller mengirimkan hasil proses kembali ke I/O device.
  6. Jika proses selesai, DMA controller kembali melaporkan ke processor bahwa proses telah beres dilakukan.
  7. Prosesor menyiapkan DMA transfer dengan menyedia kan data-data dari perangkat, operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang ditransfer.
  8. Pengendali DMA memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh blok sudah di transfer.
  9. Pengendali DMA meng-interupsi prosesor  dimana selanjutnya akan ditentukan tindakan berikutnya.

Diagram Alur Transfer DMA








Sumber :