Rabu, 31 Oktober 2018

Direct Memory Acces


Direct Memory Acces

Direct memory access (DMA) adalah suatu alat pengendali khusus disediakan untuk memungkinkan transfer blok data langsung antara perangkat eksternal dan memori utama,tanpa interversi terus menerus dari prosesor. Direct memory access (DMA) adalah suatu metode dimana beberapa hardware tertentu bisa mengakses memori sistem unruk proses baca/tulis tanpa melibatkan kerja dari CPU beberapa hardware yang dapat menggunakan teknik ini yaitu disk drive,kartu grafis,network card dan sound card. DMA (Direct Memory Access) merupakam 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 DMA adalah untuk membantu CPU fokus penuh untuk mengerjakan proses transfer data. Dengan DMA, CPU cukup memulai prosesnya dan bisa melakukan kerja lain selama proses transfer itu berlangsung dan tinggal menunggu informasi dari DMA controller jika proses transfer sudah selesai. Fungsi dari DMA adalah agar CPU dapat melakukan pekerjaan atau instruksi yang berbeda ketika melakukan operasi baca tulis dari perangkat peripheral.




Kelebihan DMA :
1.Dapat menirukan sebagian fungsi processor

2.Dapat mengambil alih fungsi prosesor yang berhubungan dengan transfer data

3.CPU dapat melakukan manajemen operasi baca tulis (transfer data) dengan baik dan juga 4.dapat menyelsaikan instruksi yang lain. 
5.Mendapat informasi tentang jumlah data bit yang ditransfer, alamat dari device dan memory yang diperlukan dan arah dari aliran data.

Kekurangan DMA :
1.Transfer rate data terbatas

2.Masih memerlukan keterlibatan CPU, Sehingga CPU menjadi lebih sibuk





DATA TRANSFER WITH A DMA CONTROLLER






Selama transfer blok byte masukan, urutan berikut terjadi sebagai byte data dikirim dari antarmuka ke memori :


1. I/O Interface mengirimkan DMA Controler sebuah request untuk DMA service yaitu data dari I/O Interface melalui modul I/O yang bertanggung jawab atas pengontrolan sebuah perangkat luar menuju Direct memory access.
2. Request bus dibuat dengan HOLD pin (Active High) pada prosessor 8o86 micropsessor dan controller mendapat pengendalian terhhadap bus. DMA mengendalikan transfer blok data langsung melalui Control BUS kepada HOLD yang akan menghentikan kegiatan dan melepas bus yang berhubungan dengan unit memori dan I/O, sehingga hal ini memberikan kesempatan bagi proses lain untuk mengambil alih system. Kemudian data yang di alihkan oleh HOLD akan diproses dan diolah oleh sebuah otak dari computer yaitu Central Processing Unit (CPU).
3. Kemudian CPU mengirimkan Sinyal yang digunakan sebagai pengakuan dari µP bahwa sinyal HOLD telah diterima dan sistem dapat diambil alih oleh prosesor lain. Data akan dikirim melalui Control BUS menuju Memori address register untuk penyimpanan informasi
4. Data yang telah diatur dan dijaga oleh MAR akan dikirimkan melalui Address BUS menuju Direct memory access control. Untuk setiap word yang ditransfer, kontroler ini menyediakan alamat memori dan semua sinyal bus yang mengontrol transfer data.
5. Karena DMAC harus mentransfer sejumlah blok data, maka kontroler DMA harus menaikkan alamat memori untuk word yang berurutan dan mencatat jumlah transfer. Alamat memori ini akan melakukan pertukaran data antara perangkat luar dilanjutkan kepada Modul I/O.
6. Data dalam bentuk byte ditransfer ke lokasi memori yang terindikasi oleh alamat Bus.
7. Interface memasang datanya .
8. Bus request kemudian turun melalui Control BUS, Pin HOLD turun dan controller melepaskan Bus masuk pada Central Processing Unit.
9. Isi Bus dari microprosesor 8086 menurun dan Pin HLDA juga turun, alamat register naik satu jumlah dari byte turun satu. jika jumlah byte bukan 0, kembali ketahap 1 jika sebaliknya maka berhenti.

Menurut reverensi lain cara kerja DMA sebagai berikut:

1. CPU mengirimkan data data berikut ini ke DMA controller

2. Perintah read/write

3. Alamat device yang akan diakses
4. Alamat awal blok memori yang akan dibaca/ditulis
5. Jumlah blok data yang akan ditransfer
6. CPU mengeksekusi program lain
7. DMA controller mengirimkan seluruh blok data (per satu word) langsung ke memori(tanpa melibatkan CPU)
8. DMA controller mengirim interrupt ke CPU jika telah selesai.



Sumber Referensi 

TUGAS 5

TEKNIK  PENGUMPULAN DATA MENGGUNAKAN METODE WAWANCARA   Wawancara adalah tanya jawab antara dua pihak yaitu pewawancara dan narasu...