DATA TRANSFER WITH A DMA CONTROLLER


Direct Memory Acces   (DMA)

Pengertian DMA (Direct Memory Acces)
DMA (Direct Memory Access) adalah suatu hardware spesial (chip) yang dapat mengontrol aliran bit data antara memory (RAM) dan beberapa controller dari I/O devices tanpa memerlukan interferensi dari CPU secara terus menerus. (Mengakses dan mengontrol memori sistem tanpa interferensi CPU secara terus menerus).  

Fungsi dari DMA
Agar CPU dapat melakukan pekerjaan atau instruksi yang berbeda ketika melakukan operasi baca tulis dari perangkat peripheral. Tanpa adanya  DMA CPU akan terus sibuk melakukan operasi baca tulis (transfer data) dan tidak dapat melakukan atau menyelesaikan instruksi yang lain. Dengan adanya DMA, CPU cukup mempersiapkan DMA chip dengan cara memberikan beberapa informasi seperti jumlah data bit yang ditransfer, alamat dari device dan memory yang diperlukan dan arah dari aliran data tersebut, setelah itu DMA chip sendiri yang akan menyelesaikannya. DMA chip akan melakukan interupt, ketika pekerjaannya sudah selesai. Selama DMA chip melakukan tugasnya hingga munculnya interupt, CPU dapat menyelesaikan instruksi yang lainnya.

Defini DMA :  
v DMA terjadi antara perangkat I / O dan memori tanpa menggunakan mikroprosesor
v DMA membaca data transfer dari memori ke perangkat I / O
v DMA menulis data transfer dari I / O ke memori
v Sinyal MRDC & IOWC secara bersamaan mengaktifkan kembali untuk membaca DMA

Operasi Dasar DMA :
v Teknik akses langsung (DMA) I / O menyediakan akses langsung ke memori sementara mikroprosesor untuk sementara dinonaktifkan.
v Pengendali DMA untuk sementara meminjam bus alamat, bus data, dan bus kontrol dari mikroprosesor dan mentransfer byte data langsung antara port I / O dan serangkaian lokasi memori.
v Transfer DMA juga digunakan untuk melakukan memori kecepatan tinggi ke transfer memori.
v Dua sinyal kontrol digunakan untuk meminta dan mengakui transfer DMA dalam sistem berbasis mikroprosesor.
v Sinyal HOLD adalah sinyal permintaan bus yang meminta mikroprosesor untuk melepaskan kontrol bus setelah siklus bus saat ini
v Sinyal HLDA adalah sinyal hibah bus yang menunjukkan bahwa mikroprosesor memang telah melepaskan kendali busnya dengan menempatkan bus pada status impedansinya yang tinggi.
v Input HOLD memiliki prioritas lebih tinggi daripada input interupsi INTR atau NMI.




DATA TRANSFER WITH DMA CONTROLLER 




 Penjelasan dari gambar diatas :
      Selama transfer Byte input Blok, urutan berikut terjadi saat Byte data di kirim dari I/O Interface ke Memori :
1.     Antarmuka mengirimkan DMA controllera permintaan DMA layanan.
2.     Bus permintaan dibuat untuk terus PIN (aktif tinggi) pada 8086 mikroprosesor dan controller keuntungan  kontrol bus.
3.     Hibah bus dikembalikan ke kontroler DMA dari pin Hold Acknowledge (HLDA) (aktif High) pada mikroprosesor 8086.
4.     Pengontrol DMA menempatkan isi register ke alamat bus.
5.     Pengontrol mengirimkan antarmuka pengakuan DMA, yang memberitahu antarmuka untuk menempatkan data pada bus data. (Untuk output, ini menandakan antarmuka untuk mengunci data berikutnya yang ditempatkan di bus.)
6.     Data byte ditransfer ke lokasi memori yang ditunjukkan oleh bus alamat.
7.     Data byte ditransfer ke lokasi memori yang ditunjukkan oleh bus alamat.
8.     Antarmuka mengaitkan data.
9.     Permintaan bus dijatuhkan, pin HOLD menjadi rendah, dan pengendali melepaskan bus. Hibah bus dari mikroprosesor 8086 dijatuhkan dan pin HLDA menjadi Rendah. Register alamat bertambah 1 kali. Hitungan byte tidak nol, kembali ke langkah 1, jika tidak berhenti

KELEBIHAN :  
  • Dapat menirukan sebagian fungsi processor.
  • Dapat mengambil alih fungsi processor yang berhubungan dengan transfer data.
  • CPU dapat melakukan manajemen operasi baca tulis (transfer data) dengan baik dan juga dapat menyelesaikan instruksi lain.
  • Mendapat informasi tentang jumlah data bit yang ditransfer , alamat dari device dan memory yang diperlukan dan arah dari aliran data. 

KEKURANGAN :  
  • Transfer rate data terbatas
  • Masih memerlukan keterlibatan CPU, sehingga CPU menjadi lebih sibuk.

Transfer DMA Controller memiliki beberapa opsi yang tersedia untuk transfer data. Mereka adalah:
 1) Siklus Mencuri  
2) Transfer Burst
3) DMA Tersembunyi



Sumber :

Comments