Jumat, 02 November 2018

Tugas Individu 3

Direct Memory Access (DMA)

1. Pengertian DMA

          Direct memory access (DMA) adalah suatu alat pengendali khusus disediakan untuk memungkinkan transfes blok data langsung antar perangkat eksternal dan memori utama, tanpa intervensi terus menerus dari prosesor. 
          Transfer DMA dilakukan oleh sirkuit kontrol yang merupakan bagian dari antar muka perangkat I/O. Istilah ini yang sering banyak kita ketahui adalah sebagai kontroler DMA. Kontroler DMA melakukan fungsi yang biasanya dilakukan oleh prosesor pada saat mengakses memori utama (yang sering disebut RAM). 
          Untuk setiap word yang ditransfer, kontroler ini menyediakan alamat memori dan semua sinyal bus yang mengontrol transfer data. Karena harus mentransfer sejumlah blok data, maka kontroler DMA harus menaikkan alamat memori untuk word yang berurutan dan mencatat jumlah transfer. Sekalipun kontroler DMA dapat mentransfer data tanpa intervensi dari prosesor, operasinya tetap berada dibawah kontrol program yang dieksekusi oleh prosesor. 
          Untuk menginisiasi transfer suatu blok word, prosesor mengirim alamat awal, jumlah word dalam blok, dan arah transfer. Pada saat seluruh blok telah ditransfer, kontroler tersebut memberitahu prosesor dengan memunculkan sinyal interupt. Pada saat transfer DMA terjadi, program yang meminta transfer tersebut berhenti bekerja dan prosesor dapat digunakan untuk mengeksekusi program lain. Setelah transfer DMA selesai, prosesor dapat kembali ke program yang meminta transfer tersebut.
          Operasi I/O selalu dilakukan oleh OS sebagai respon terhadap request dari program aplikasi. OS juga bertanggung jawab untuk menunda eksekusi satu program dan memulai eksekusi program lain. Sehingga, untuk operasi I/O yang melibatkan DMA, OS menetapkan program yang meminta transfer tersebut pada keadaan blocked, menginisiasi operasi DMA, dan memulai eksekusi program lain.
          Pada saat transfer selesai, kontroler DMA memberitahu prosesor dengan mengirim interupt request. Sebagai responnya, OS menetapkan program yang ditunda ke keadaan runnable sehingga dapat dipilih oleh scheduler untuk melanjutkan eksekusi. Memory merupakan hardware atau perangkat keras yang berfungsi untuk menyimpan data. Data yang disimpan bisa berupa data yang bersifat sementara bisa berupa data yang permanen. 
          Direct Memory Access (DMA), jika di artikan dalam bahasa indonesia adalah akses memori langsung. DMA merupakan fitur yang modern dan komputer yang memungkinkan microprocessors hardware subsystems tertentu di dalam komputer untuk mengakses memori sistem untuk membaca dan atau menulis secara independen dari pusat pengolahan unit.
          Singkatnya, DMA adalah sistem yang dapat mengontrol sistem memori tanpa menggunakan CPU. Banyak sistem menggunakan perangkat keras DMA termasuk kontroler disk drive, kartu grafis, kartu jaringan, kartu suara dan GPS.

2. Jenis-Jenis DMA 
  • Third−party DMA, untuk melakukan operasi transfer data menggunakan DMA controller yang ada pada motherboard.  
  • First−party DMA (busmastering DMA). Untuk melakukan operasi transfer data dikerjakan oleh bagian logic di interface card.


3. Cara Kerja Direct Memory Access (DMA)


   

Penjelasan cara kerja DMA:
  1. Perangkat AntarMuka I/O (interface) mengirim DMA controller permintaan untuk layanan DMA. 
  2. Permintaan dibuat ke Hold (aktif tinggi) pada mikroprosesor 8086 dan pengendali mendapatkan kontrol bus. 
  3. Permintaan bus dikembalikan ke controller DMA dari pin Hold acknowledge (HLDA)  (aktif tinggi) pada mikroprosesor 8086. 
  4. Pengontrol DMA (DMA Controller) menempatkan isi register alamat yang terdaftar pada  alamat bus. 
  5. Pengontrol  mengirimkan kepada antarmuka (interface) , yang memberitahu antarmuka untuk menempatkan  bus data (untuk keluarannya memberi sinyal antarmuka untuk mengunci data berikutnya yang ditempatkan di bus). 
  6. Data Byte ditransfer ke lokasi memori yang di tunjukan oleh bus alamat. 
  7. Lalu perangkat AntarMuka mengaitkan data. 
  8. Permintaan bus dijatuhkan, pin HOLD menjadi lemah (rendah) dan pengendali melepaskan bus. 
  9. Pemberian bus dari mikroprosesor 8086 dijatuhkan dan pin HLDA menjadi lemah (rendah). 
  10. Register alamat bertambah 1. 
  11. Jumlah byte dikurangi 1. 
  12. Jika jumlah byte tidak nol , maka kembali ke langkah 1 dan jika tidak dihentikan.  
4. Kelebihan dan Kekurangan DMA  
  • Kelebihan DMA

  1. Menggunakan mode DMA sangat terasa pada sistem operasi multitasking seperti Windows, Linux, UNIX, dan sebagainya. Karena transfer data akan  menghemat resource processor sehingga processor dapat mengerjakan pekerjaan lain.
  2.  Kecepatan transfer data dengan menggunakan mode DMA jauh lebih cepat bila dibandingkan dengan menggunakan mode PIO.
  3. Dapat menirukan sebagian fungsi processor.
  4. Dapat mengambil alih fungsi processor yang berhubungan dengan transfer data.
  5. CPU dapat melakukan manajemen operasi baca tulis (transfer data) dengan baik dan juga dapat menyelesaikan instruksi lain.
  6. Mendapat informasi tentang jumlah data bit yang ditransfer , alamat dari device dan memory yang diperlukan dan arah dari aliran data. 

  • Kekurangan DMA
     Tanpa DMA, transfer data menjadi terbatas karena semua transfer data memerlukan keterlibatan CPU.
Sumber :
https://taryainunhannif.blogspot.com/2014/02/normal-0-false-false-false-in-x-none-x_42.html
http://eligius-zebua.blogspot.com/2016/12/pengertian-direct-memory-access-dma.html 
https://fajarjabrik.blogspot.com/2014/11/makalah-organisasi-komputer-direct.html
https://www.slideshare.net/gmnithya/dma-transfer 
https://www.slideshare.net/ashwiniawatare/dma-and-dma-controller-8237
https://googletranslate.com

 

Tugas Individu 3

Direct Memory Access (DMA)   1. Pengertian DMA           Direct memory access (DMA) adalah suatu alat pengendali khusus dis...