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
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:
- Perangkat AntarMuka I/O (interface) mengirim DMA controller permintaan untuk layanan DMA.
- Permintaan dibuat ke Hold (aktif tinggi) pada mikroprosesor 8086 dan pengendali mendapatkan kontrol bus.
- Permintaan bus dikembalikan ke controller DMA dari pin Hold acknowledge (HLDA) (aktif tinggi) pada mikroprosesor 8086.
- Pengontrol DMA (DMA Controller) menempatkan isi register alamat yang terdaftar pada alamat bus.
- 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).
- Data Byte ditransfer ke lokasi memori yang di tunjukan oleh bus alamat.
- Lalu perangkat AntarMuka mengaitkan data.
- Permintaan bus dijatuhkan, pin HOLD menjadi lemah (rendah) dan pengendali melepaskan bus.
- Pemberian bus dari mikroprosesor 8086 dijatuhkan dan pin HLDA menjadi lemah (rendah).
- Register alamat bertambah 1.
- Jumlah byte dikurangi 1.
- Jika jumlah byte tidak nol , maka kembali ke langkah 1 dan jika tidak dihentikan.
- Kelebihan DMA
- 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.
- Kecepatan transfer data dengan menggunakan mode DMA jauh lebih cepat bila dibandingkan dengan menggunakan mode PIO.
- 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 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
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
Tidak ada komentar:
Posting Komentar