• Tidak ada hasil yang ditemukan

Direct Memory Access

N/A
N/A
Protected

Academic year: 2021

Membagikan "Direct Memory Access"

Copied!
7
0
0

Teks penuh

(1)

BAB I BAB I PENDAHULUAN PENDAHULUAN 1.1 Latar Belakang 1.1 Latar Belakang

Komputer tersusun atas beberapa komponen penting seperti CPU, memori, perangkat I/O. Komputer tersusun atas beberapa komponen penting seperti CPU, memori, perangkat I/O. Direct memory access (DMA) adalah suatu alat pengendali khusus disediakan untuk  Direct memory access (DMA) adalah suatu alat pengendali khusus disediakan untuk  memungkinkan transfes blok data langsung antar perangkat eksternal dan memori utama, memungkinkan transfes blok data langsung antar perangkat eksternal dan memori utama, tanpa intervensi terus menerus dari prosesor.

tanpa intervensi terus menerus dari prosesor.

Transfer DMA dilakukan oleh sirkuit kontrol yang merupakan bagian dari antar muka Transfer DMA dilakukan oleh sirkuit kontrol yang merupakan bagian dari antar muka perangkat I/O. Istilah ini yang sering banyak kita ketahui adalah sebagai kontroler DMA. perangkat I/O. Istilah ini yang sering banyak kita ketahui adalah sebagai kontroler DMA. Kontroler DMA melakukan fungsi yang biasanya dilakukan oleh prosesor pada saat Kontroler DMA melakukan fungsi yang biasanya dilakukan oleh prosesor pada saat mengakses memori utama (yang sering disebut :RAM). Untuk setiap word yang ditransfer, mengakses memori utama (yang sering disebut :RAM). Untuk setiap word yang ditransfer, kontroler ini menyediakan alamat memori dan semua sinyal bus yang mengontrol transfer kontroler ini menyediakan alamat memori dan semua sinyal bus yang mengontrol transfer data. Karena harus mentransfer sejumlah blok data, maka kontroler DMA harus menaikkan data. Karena harus mentransfer sejumlah blok data, maka kontroler DMA harus menaikkan alamat memori untuk word yang berurutan dan mencatat jumlah transfer.

alamat memori untuk word yang berurutan dan mencatat jumlah transfer.

Sekalipun kontroler DMA dapat mentransfer data tanpa intervensi dari prosesor, operasinya Sekalipun kontroler DMA dapat mentransfer data tanpa intervensi dari prosesor, operasinya tetap berada dibawah kontrol program yang dieksekusi oleh prosesor. Untuk menginisiasi tetap berada dibawah kontrol program yang dieksekusi oleh prosesor. Untuk menginisiasi transfer suatu blok word, prosesor mengirim alamat awal, jumlah word dalam blok, dan arah transfer suatu blok word, prosesor mengirim alamat awal, jumlah word dalam blok, dan arah transfer. Pada saat seluruh blok telah ditransfer, kontroler tersebut memberitahu prosesor transfer. Pada saat seluruh blok telah ditransfer, kontroler tersebut memberitahu prosesor dengan memunculkan sinyal interupt. Pada saat transfer DMA terjadi, program yang meminta dengan memunculkan sinyal interupt. Pada saat transfer DMA terjadi, program yang meminta transfer tersebut berhenti bekerja dan prosesor dapat digunakan untuk mengeksekusi program transfer tersebut berhenti bekerja dan prosesor dapat digunakan untuk mengeksekusi program lain. Setelah transfer DMA selesai, prosesor dapat kembali ke program yang meminta transfer lain. Setelah transfer DMA selesai, prosesor dapat kembali ke program yang meminta transfer tersebut.

tersebut.

Operasi I/O selalu dilakukan oleh OS sebagai respon terhadap request dari program aplikasi. Operasi I/O selalu dilakukan oleh OS sebagai respon terhadap request dari program aplikasi. OS juga bertanggung jawab untuk menunda eksekusi satu program dan memulai eksekusi OS juga bertanggung jawab untuk menunda eksekusi satu program dan memulai eksekusi program lain. Sehingga, untuk operasi I/O yang melibatkan DMA, OS menetapkan program program lain. Sehingga, untuk operasi I/O yang melibatkan DMA, OS menetapkan program yang meminta transfer tsb pada keadaan blocked, menginisiasi operasi DMA, dan memulai yang meminta transfer tsb pada keadaan blocked, menginisiasi operasi DMA, dan memulai eksekusi program lain. Pada saat transfer selesai, kontroler DMA memberitahu prosesor eksekusi program lain. Pada saat transfer selesai, kontroler DMA memberitahu prosesor dengan mengirim interupt request. Sebagai responnya, OS menetapkan program yang ditunda dengan mengirim interupt request. Sebagai responnya, OS menetapkan program yang ditunda ke keadaan runnable sehingga dapat dipilih oleh scheduler untuk melanjutkan eksekusi.

(2)

1.2 Tujuan

 Mengetahui apa itu Direct Memory Acces (DMA).

 Mengetahui prinsip kerja Direct Memory Acces (DMA).

 Mengetahui proses sistem transfer pada Direct Memory Acces (DMA).

 Mengetahui proses handshaking yang terjadi pada Direct Memory Acces (DMA).

1.3 Metodology

a. Merumuskan Masalah

Sebelum melakukan penulisan langkah awal yang kamilakukan adalah merumuskan masalah yang menjadi objek dalampenulisan artikel ini.

b. Mengumpulkan DataData

Data adalah informasi atau keterangan yang menunjukkanfakta, data dapat diperoleh melalui pengamatan danpengamatan dapat diperoleh dari buku-buku pusaka dan membuka website mengenai objek dan data dapat jugadiperkuat dengan menampilkan tabel dan gambar.

c. Mengelolah Data

Seluruh data dan gambar yang diperoleh dari bukumaupun website harus disusun dan ditampilkan sesuai denganbagian-bagiannya dengan tujuan agar kita dapat lebih mudahmembacanya dan dapat diartikan (dimengerti).

d. Membuat simpulan

(3)

BAB II PEMBAHASAN Direct Memory Access 2.1 Direct Memory Access (DMA)

DMA ialah sebuah prosesor khusus (special purpose processor) yang berguna untuk  menghindari pembebanan CPU utama oleh program I/O (PIO). Untuk memulai sebuah transfer DMA, host akan menuliskan sebuah DMA command block yang berisi pointer yang menunjuk ke sumber transfer, pointer yang menunjuk ke tujuan transfer, dan jumlah byte yang ditransfer, ke memori. CPU kemudian menuliskan alamat command block ini ke pengendali DMA, sehingga pengendali DMA dapat kemudian mengoperasikan bus memori secara langsung dengan menempatkan alamatalamat pada bus tersebut untuk melakukan transfer tanpa bantuan CPU.

(4)

2.2 DMA terbagi menjadi 2 jenis:

1. Third-party DMA, menggunakan DMA controller yangada pada motherboard untuk  melakukan operasitransfer data.

2. First-party DMA (busmastering DMA), untukmelakukan operasi transfer data dikerjakan olehbagian logic di interface card.

2.3 Struktur DMA

 Transfer data dari buffer ke memori atau sebaliknya dilakukan per-karakter.‡

 dimana setiap kali transfer selalu ada interruptdari CPU sebelum dan sesudah

transfer.‡

 Jika waktu untuk mentransfer satu karakter sebesar 2 µs dan sekali interrupt butuh 1

ms,maka untuk mentransfer data dari memori kebuffer butuh 4 µs per karakter.

 Dengan menggunakan DMA transfer data dapatdilakukan secara langsung oleh device

controller per-blok tanpa ada campur tangan dari CPU.

 CPU hanya memberikan interrupt sebelum dansesudah transfer setiap blok.

2.4 Tiga langkah dalam transfer DMA:

1. Prosesor menyiapkan DMA transfer dengan menyedia kan data-data dari perangkat, operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang ditransfer.

2. Pengendali DMA memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh blok sudah di transfer.

3. Pengendali DMA meng-interupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya.

Pada dasarnya, DMA mempunyai dua metode yang berbeda dalam mentransfer data. Metode yang pertama ialah metode yang sangat baku dan sederhana disebut HALT, atau Burst Mode DMA, karena pengendali DMA memegang kontrol dari sistem bus dan mentransfer semua blok data ke atau dari memori pada single burst.

Selagi transfer masih dalam prosres, sistem mikroprosessor diset idle, tidak melakukan instruksi operasi untuk menjaga internal register. Tipe operasi DMA seperti ini ada pada kebanyakan komputer.

(5)

Metode yang kedua, mengikutsertakan pengendali DMA untuk memegang kontrol dari sistem bus untuk jangka waktu yang lebih pendek pada periode dimana mikroprosessor sibuk  dengan operasi internal dan tidak membutuhkan akses ke sistem bus. Metode DMA ini disebut cycle stealing mode.

Cycle stealing DMA lebih kompleks untuk diimplementasikan dibandingkan HALT DMA, karena pengendali DMA harus mempunyai kepintaran untuk merasakan waktu pada saat sistem bus terbuka.

2.5 Prinsip kerja DMA

 CPU akan mendelegasikan kerja I/O kepada DMA

 CPU hanya akan terlibat pada awal proses untuk memberikan instruksi lengkap pada

DMA dan akhir proses saja

 CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi  Melaksanakan transfer data secara mandiri :

1. DMA memerlukan pengambilalihan kontrol bus dari CPU.

2. DMA akan menggunakan bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan sementara penggunaan bus.

3. Teknik cyclestealing, modul DMA mengambil alih siklus bus. 2.6 Proses Handshaking pada DMA

Proses handshaking antara pengendali DMA dan pengendali perangkat dilakukan melalui sepasang kabel yang disebut DMA-request dan DMA-acknowledge. Pengendali perangkat mengirimkan sinyal melalui DMA-request ketika akan mentransfer data sebanyak satu word. Hal ini kemudian akan mengakibatkan pengendali DMA memasukkan alamat-alamat yang dinginkan ke kabel alamat memori, dan mengirimkan sinyal melalui kabel DMA-acknowledge. Setelah sinyal melalui kabel DMA-acknowledgediterima, pengendali perangkat mengirimkan data yang dimaksud dan mematikan sinyal pada DMA-request. Hal ini berlangsung berulang-ulang sehingga disebut handshaking. Pada saat pengendali DMA mengambil alih memori, CPU sementara tidak dapat mengakses memori (dihalangi), walau pun masih dapat mengaksees data pada cache primer dan sekunder. Hal ini disebut cycle stealing, yang walau pun memperlambat komputasi CPU, tidak menurunkan

(6)

2.7 Cara-cara Implementasi DMA

Dalam pelaksanaannya, beberapa komputer menggunakan memori fisik untuk proses DMA , sedangkan jenis komputer lain menggunakan alamat virtual dengan melalui tahap “penerjemahan” dari alamat memori virtual menjadi alamat memori fisik, hal ini disebutDirect Virtual-Memory Address atau DVMA. Keuntungan dari DVMA adalah dapat mendukung transfer antara dua memori mapped device tanpa intervensi CPU.

2.8 Keuntungan menggunakan DMA:

 Dapat dilihat pada operasi multiasking seperti UNIX.

 Transfer data dengan mode DMA akan menghematsumberdaya CPU sehingga CPU

dapat melakukanpekerjaan yang lain.

 Sedangkan pada DOS (yang merupakan operasisingle-tasking) harus menunggu

(7)

BAB III PENUTUP 3.1 Kesimpulan

DMA merupakan prosessor yang sangat baik untuk mentransfer data. Karena memilki beberapa keuntungan. Terdapat 3 langkah dan 2 metode dalam proses transfer data pada DMA.‡ Dikenal 2 istilah dalam handshaking yang terjadi padaDMA, yaitu : DMA-request dan DMA-acknowledge.

Referensi

Dokumen terkait

yule’s Q yang behubungan dengan angka-angka untuk mengetahui hubungan antar variabel penelitian. Hasil penelitian menunjukkan bahwa: 1) Tabel Yule’s Q menunjukkan

Kegiatan pengabdian pada masyarakat ini dilaksanakan dengan tujuan memberikan pelatihan bagi guru-guru yang mendampingi siswa berkebutuhan khusus di Sekolah Luar

Adapun luaran yang dicapai dari hasil kegiatan Pengabdian Kepada Masyarakat (IbM) antara lain: - Mitra kelopmpok nelayan Desa Caringin Kecamatan Labuan Kabupaten

Dari hasil penelitian pemberian pupuk kotoran ayam dengan dosis yang berbeda pada pertumbuhan tanaman lada terhadap pertumbuhan jumlah daun dan tinggi tanaman menunjukkan

Maksud dari penelitian ini adalah peneliti ingin mengetahui bagaimana nilai informasi dalam membentuk sebuah persepsi orang tua siswa mengenai papan pengumuman

KARAKTERISTIK PENDERITA THALASEMIA YANG DIRAWAT INAP DI

yang dilakukan dapat membiayai sendiri ( self financing ), dan selanjutnya dapat. berkembang sendiri ( self

Dengan menyebut nama Allah SWT yang Maha Pengasih lagi Maha Penyayang, segala puji syukur dan kemuliaan atas segala limpahan kasih rahmat dan hidayah- Nya, sehingga