Skip to main content

Data Transfer Dengan DMA Controller




  1. I/O interface terhubung dengan DMA controller memberikan instruksi yang harus diproses.
  2. DMA controller mengirimkan pemberitahuan ke processor akan ada proses yang dihandle oleh DMA controller
  3. processor menginformasikan ke memory bahwa DMA akan mengakses mempry untuk pemrosesan suatu instruksi
  4. DMA controller terhubung dengan memory dan akses alamat, data yang diperlukan
  5. DMA controller mengirimkan hasil proses kembali ke I/O device
  6. jika proses selesai, DMA controller kembali melaporkan ke processor bahwa proses telah selesai dilakukan
  7. 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
  8. Pengendali DMA memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh blok sudah di transfer. 
  9. Pengendali DMA meng-interupsi prosesor dimana selanjutnya akan ditentukan tindakan berikutnya.
Direct Memory Access (DMA)
Teknik yang dijelaskan sebelumnya yaitu I/O terprogram dan Interrupt-Driven I/O memiliki kelemahan, yaitu proses yang terjadi pada modul I/O masih melibatkan CPU secara langsung. Hal ini berimplikasi pada :
• Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
• Kerja CPU terganggu karena adanya interupsi secara langsung.
Bertolak dari kelemahan di atas, apalagi untuk menangani transfer data bervolume besar dikembangkan teknik yang lebih baik, dikenal dengan Direct Memory Access (DMA). Blok diagram modul DMA.
Prinsip kerja DMA adalah 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. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi.
Dalam melaksanakan transfer data secara mandiri, DMA memerlukan pengambilalihan kontrol bus dari CPU. Untuk itu DMA akan menggunakan bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan sementara penggunaan bus. Teknik terakhir lebih umum digunakan, sering disebut cycle-stealing, karena modul DMA mengambil alih siklus bus. Penghentian sementara penggunaan bus bukanlah bentuk interupsi, melainkan hanyalah penghentian proses sesaat yang berimplikasi hanya pada kelambatan eksekusi CPU saja.

sumber :

Comments

Popular posts from this blog

Linux

Sejarah Dan Perkembangan Linux   credit:  https://ibkcompanyblog.wordpress.com/2016/12/23/sejarah-sistem-operasi-linux/ Pada tahun 1969, Ken Thompson dan Dennis Ritchie (juga adalah developer bahasa C), para peneliti di AT&T Bell Laboratorium Amerika, membuat sistem operasi UNIX, cikal bakal dari Linux. UNIX mendapatkan perhatian besar karena merupakan sistem operasi pertama yang dibuat bukan oleh hardware maker. Selain itu juga karena seluruh source code-nya dibuat dengan bahasa C, sehingga mempermudah pemindahannya ke berbagai platform. Dalam waktu singkat UNIX berkembang dalam dua jalur : UNIX yang dikembangkan oleh Universitas Berkeley dan yang dikembangkan oleh AT&T. Setelah itu mulai banyak perusahaan yang melibatkan diri, dan terjadilah persaingan yang melibatkan banyak perusahaan untuk memegang kontrol dalam bidang sistem operasi. Persaingan ini menyebabkan perlu adanya standarisasi. Dari sini lahirlah proyek POSIX yang dimotori oleh IEEE (The Institut...

Critical Section

credit:  https://support.smartbear.com/testcomplete/docs/testing-with/advanced/distributed/synchronizing/critical-sections.html Sebuah proses memiliki bagian dimana bagian ini akan melakukan akses dan manipulasi data. Bagian ini disebut dengan critical section. Ketika sebuah proses sedang dijalankan dalam critical section nya, tidak ada proses lain yang boleh dijalankan dalam critical section nya. Karena hal ini dapat memungkinkan terjadinya akses ke resources yang sama dalam waktu yang sama. Keadaan seperti ini disebut proses tersebut mutually exclusive. Oleh karena itu, diperlukan suatu mekanisme atau aturan agar proses sifat mutually exclusive dapat terpenuhi. Dengan mengontrol variabel mana yang diubah baik didalam maupun diluar critical section, concurrent access dapat dicegah. Critical section biasanya digunakan saat program multithreading, dimana program tersebut terdiri dari banyak thread, akan mengubah nilai dari variabel. Dalam hal ini critical section diperlukan ...

DOS

credit:  https://jogjaweb.co.id DOS kepanjangan dari Disk Operating System merupakan sistem operasi yang digunakan di komputer pribadi, dengan media penyimpanan berupa disk (sebelum adanya hardisk) atau dikenal dengan nama disket. Sistem operasi DOS menggunakan CUI (Character User Interface) atau antarmuka dengan pengguna berbasis text dan saat ini telah tergantikan/diperbaharui dengan adanya windows versi 9x, Me, 2000, XP, dan sebagainya yang berbasiskan GUI (Grapical User Interface). Sistem operasi ini juga bersifat single-tasking (hanya dapat menjalankan satu program pada satu waktu saja), menjalankan prosesor pada modus real (real mode), dan hanya dapat mendukung satu pengguna dalam satu waktu (single user). Sejarah Perkembangan DOS DOS 1.0 PC-DOS 1.0 merupakan versi DOS pertama kali yang dibuat oleh Microsoft Corp. yang hak ciptanya dibeli oleh IBM Corp. Dimana kumunculan DOS ini dihubungkan dengan permintaan IBM atas pembuatan komputer PC pertama yang bernama IB...