DIRECT MEMORY ACCESS (DMA)
PENJELASAN DIRECT MEMORY ACCESS (DMA)
Berikut ini adalah gambar dan penjelasan dari data transfer dengan DMA controller, yaitu:
ü Pertama,
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 luarmmenuju Direct memory access.
ü Kedua,
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 alihkanoleh HOLD akan diproses dan
diolah oleh sebuah otak dari computer
yaitu Central Processing Unit (CPU).
ü Ketiga,
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 yang harus diatur dan di jaga sebaik-baiknya.
ü Keempat,
data yang telahdiaturdandijagaoleh MAR akandikirimkanmelalui Address BUS menuju
Direct Memory Access control. Untuksetiap word yang ditransfer, kontroler ini
menyediakan alamat memori dan semua sinyal bus yang mengontrol transfer data.
ü Kelima,
karena DMAC harus mentransfe rsejumlah blok data, maka kontr oler DMA harus
menaik kan alamat memori untuk word yang beru rutan dan mencatat jumlah
transfer. Alamat memori ini akan melakukan pertukaran data antara perangkat
luar dilanjutkan kepada Modul I/O.
ü Keenam,
data dalam bentuk byte ditransfer kelokasi memori yang terindikasi oleh alamat
Bus.
ü Ketujuh,
interface memasang datanya .
ü Kedelapan,
bus request kemudian turun melalui Control BUS, Pin HOLD turun dan controller
melepaskan Bus masuk pada Central Processing Unit.
ü Terakhir,
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.
Definisi dari Bagian Data
Transfer dengan DMA Controller:
1.
Direct Memory Access (DMA) adalah fitur
sistem komputer yang memungkinkan subsistem perangkat keras tertentu mengakses
memori sistem utama memori akses acak)
yang tidak bergantung pada unit pemrosesan pusat (CPU). Tanpa DMA, saat CPU
menggunakan input / output terprogram , biasanya CPU tersebut penuh selama
durasi operasi baca atau tulis, sehingga tidak tersedia untuk melakukan
pekerjaan lain. Dengan DMA, CPU pertama-tama memulai transfer, kemudian
melakukan operasi lain saat transfer sedang berlangsung, dan akhirnya menerima
interupsi dari pengontrol DMA (DMAC) saat operasi selesai. Fitur ini berguna
kapan pun saat CPU tidak dapat mengikuti kecepatan transfer data, atau saat CPU
perlu melakukan pekerjaan sambil menunggu transfer data I / O yang relatif
lambat. Banyak sistem perangkat keras menggunakan DMA, termasuk pengontrol disk
drive , kartu grafis , kartu jaringan , dan kartu suara . DMA juga digunakan
untuk transfer data intra-chip dalam prosesor multi-core . Komputer yang
memiliki saluran DMA dapat mentransfer data ke dan dari perangkat dengan
overhead CPU yang jauh lebih sedikit daripada komputer tanpa saluran DMA.
Demikian pula, elemen pemrosesan di dalam prosesor multi-core dapat mentransfer
data ke dan dari memori lokalnya tanpa menghabiskan waktu prosesornya, sehingga
komputasi dan transfer data dapat dilanjutkan secara paralel. DMA juga dapat
digunakan untuk "memori ke memori" menyalin atau memindahkan data di
dalam memori. DMA dapat memindahkan operasi memori yang mahal, seperti operasi
penyalinan besar atau pengumpulan-pencar , dari CPU ke mesin DMA khusus. Contoh
implementasinya adalah I / O Acceleration Technology . DMA tertarik pada
arsitektur komputasi network-on-chip dan in-memory.
2.
I/O Interface
I/O
interface adalah peralatan yang dimana informasi dapat masuk dan keluar dari perangkat seperti computer.
Dalam komputasi input output adalah komunikasi antara system pengolahan
informasi dan dunia luar. Input adalah sinyal atau data yang diterima oleh
system dan output adalah sinyal atau data yang dikirim dari itu. Contoh alat
input yaitu keyboard , mouse , scanner, joystick , camera digital, bar code
reader, webcam . dan contoh dari alat output adalah monitor, printer, proyektor, dan speaker.
3.
Central Processing Unit (CPU)
CPU
adalah singkatan dari Central Processing Unit, yaitu perangkat keras komputer
(harware) yang bertugas melaksanakan perintah dan mengolah data dari perangkat
lunak. Sering disebut sebagai prosesor, atau otaknya komputer. CPU itu sendiri
adalah komponen internal komputer. CPU bentuknya kecil dan persegi, berisi
beberapa konektor logam pada bagian bawahnya untuk dimasukkan secara langsung
ke soket CPU pada motherboard. Setiap motherboard hanya mendukung jenis
tertentu dari CPU. CPU hanya bekerja untuk memindahkan data yang telah
ditentukan oleh program.
Pada
dasarnya CPU bekerja dengan 3 fungsi dasar, yaitu menerima input (masukan),
memproses data dan menyediakan output (keluaran). Input yaitu proses memasukkan
data eksternal ke dalam komputer. Setelah itu data input tersebut selanjutnya
akan diolah menjadi output oleh CPU. Output ialah hasil dari pengolahan data
yang dilakukan oleh sistem komputer.
4.
Address Bus
Address
bus adalah penandaan lokasi sumber ataupun tujuan pada proses transfer data.
Pada jalur ini, CPU akan mengirimkan alamat memori yang akan ditulis atau
dibaca.Address bus biasanya terdiri atas 16, 20, 24, atau 32 jalur paralel.
5.
Data Bus
Data
bus adalah jalur-jalur perpindahan data antar modul dalam sistem komputer.
Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit
data, maka jumlah saluran menentukan jumlah bit yang dapat ditransfer pada
suatu saat. Lebar data bus ini menentukan kinerja sistem secara keseluruhan.
Sifatnya bidirectional, artinya CPU dapat membaca dan menirma data melalui data
bus ini. Data bus biasanya terdiri atas 8, 16, 32, atau 64 jalur paralel.
6.
Control bus
Control
Bus ialah sesuatu yang digunakan untuk mengontrol penggunaan serta akses ke data
bus dan address bus. Terdiri atas 4 samapai 10 jalur paralel.
7.
Memori
Memori
adalah sistem perangkat yang menyimpan data atau program pada komputer
elektronik digital. Penyimpanan mungkin saja sifatnya sementara ataupun permanen,
tergantung pada frekuensi pengambilan data. Masing-masing unit memori terdiri
dari chip yang memiliki fabrikasi built-in jutaan transistor dan kapasitor.
Unsur-unsur kecil bergabung untuk menyimpan satu bit data dalam sebuah sel
memori,dalam bentuk digit biner (0 dan 1). Kapasitor bertindak sebagai sel
tahanan untuk databiner, sedangkan, transistor memungkinkan sirkuit memori
untuk membaca atau mengubahnilai data dalam kapasitor. Ketika elemen ini
terhubung dalam chip memori, kapasitor ini dapat menerima dan menyimpan data
yang dikirim oleh CPU komputer.
8.
HOLD
Hold
adalah yang menunjukkan jika ada perangkat lain yang meminta penggunaan alamat
dan bus data. Pertimbangkan dua perangkat periferal. Salah satunya adalah LCD
dan konverter Analog ke Digital lainnya. Misalkan jika konverter analog ke
digital menggunakan alamat dan bus data dan jika LCD meminta penggunaan alamat
dan bus data dengan memberikan sinyal HOLD, maka mikroprosesor mentransfer
kontrol ke LCD segera setelah siklus saat ini berakhir. Setelah proses LCD
selesai, kontrol ditransfer kembali ke konverter analog dan digital
9.
HLDA
Hilda
adalah sinyal pengakuan untuk HOLD. Ini menunjukkan apakah sinyal HOLD diterima
atau tidak. Setelah pelaksanaan permintaan HOLD, HLDA menjadi rendah.
Langkah - langkah dalam Transfer
1.
Prosesor menyiapkan DMA prosesor Transfer
dengan menyediakan data-data dari perangkat, operasi yang akan ditampilkan,
alamat memori yang akan menjadi sumber, tujuan data, dan banyaknya byte yang
akan ditransfer.
2.
Pengendali DMA memulai operasi dengan
menyiapkan bus,menyediakan alamat, menulis, dan membaca data sampai seluruh
blok sudah ditransfer.
3.
Pengendali DMA menginterupsi prosesor,
dimana selanjutnya akan ditentukan tindakan berikutnya.
Jenis- jenis
1.
Third−party DMA, untuk melakukan operasi
transfer data menggunakan DMA controller yang ada pada motherboard.
2.
First−party DMA (busmastering DMA). Untuk
melakukan operasi transfer data dikerjakan oleh bagian logic di interface card.
Konfigurasi Modul
1.
Konfigurasi I
·
Hanya menggunakan single bus
·
DMA dan modul I/O terpisah
·
Setiap transfer harus mengakses bus 2 kali
2.
Konfigurasi II
·
Hanya menggunakan single bus
·
DMA controller dan modul I/O terintegrasi
·
Satu DMA controller dapat mengangani lebih
dari 1 modu I/O
·
Setiap transfer hanya perlu mengakses bus
satu kali saja
3.
Konfigurasi III
·
Digunakan bus I/O secara terpisah
·
Semua modul I/O cukup dilayani dengan
sebuah DMA
·
Setiap transfer hanya perlu mengakses bus
satu kali saja
REFERENSI
https://hansentan17.wordpress.com/2018/11/14/direct-memory-access-dma/
http://susanvelly14.blogspot.com/2018/11/penjelasan-gambar-with-dma-controller.html
https://hidayatullah1922.wordpress.com/dma-direct-memory-acces/
Terima kasih telah mengunjungi blog saya. Semoga bermanfaat.

Komentar
Posting Komentar