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 Direct Memory Access (DMA):

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 Direct Memory Access (DMA):

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 Direct Memory Access (DMA):

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://translate.google.com/translate?u=https://en.wikipedia.org/wiki/Direct_memory_access&hl=id&sl=en&tl=id&client=srp&prev=search

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