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
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