“DATA TRANSFER WITH DMA CONTROLLER”
A.
Pengertian Dma (Direct Memory Access)
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 tsb 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.
DMA ialah sebuah prosesor khusus (special purpose processor) yang berguna untuk menghindari pembebanan CPU utama oleh program I/O (PIO). Untuk memulai sebuah transfer DMA, host akan menuliskan sebuah DMA command block yang berisi pointer yang menunjuk ke sumber transfer, pointer yang menunjuk ke tujuan transfer, dan jumlah byte yang ditransfer, ke memori. CPU kemudian menuliskan alamat command block ini ke pengendali DMA, sehingga pengendali DMA dapat kemudian mengoperasikan bus memori secara langsung dengan menempatkan alamatalamat pada bus tersebut untuk melakukan transfer tanpa bantuan CPU.
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).
Selama transfer byte masukan blok, urutan berikut terjadi sebagai byte data yang dikirim dari antarmuka ke memori:
1.
I/O Interface
mengirimkan DMA controller permintaan untuk layanan DMA.
2.
Permintaan
Bus dibuat ke pin HOLD (aktif Tinggi) pada CPU dan
pengendali mendapatkan Control dari bus.
3.
Permintaan
Bus dikembalikan ke DMA Controller
dari pin Hold Acknowledge (HLDA)
(Aktif Tinggi) pada CPU
4.
DMA
Controller menempatkan
isi Address Register ke Addres
Bus
5.
Controller mengirimkan I/O Interface kepada DMA , yang memberitahu I/O Interface untuk ditempatkan data pada Data Bus. (Untuk output, ini menandakan I/O
Interface untuk mengunci
data berikutnya yang ditempatkan pada Bus.)
6.
Byte data ditransfer ke lokasi memori yang
ditunjukkan oleh Address Bus.
7.
I/O Interface
mengaitkan data.
8.
Permintaan Bus diterima, pin HOLD menuju kebawah, dan Controller
melepaskan bus.
9. Diterimanya Bus
dari CPU dan
pin HLDA menjadi menurun. Jika proses selesai, DMA Controller kembali melaporkan ke
processor bahwa proses telah beres dilakukan.
Tidak ada komentar:
Posting Komentar