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).
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
Post a Comment