Senin, 29 Oktober 2018

TUGAS 3 DATA TRANSFER WITH A DMA CONTROLLER

DATA TRANSFER WITH A DMA CONTROLLER




Pengertian DMA

 DMA (Direct Memory Acces) ialah sebuah prosessor khusus (spesial purpose  processor) yang berguna untuk menghindari pembebanan CPU utama oleh program I/O.
 DMA (Direct Memory Acces) ialah suatu alat pengendali khusus disediakan untuk memungkinkan transfer blok data langsung antar perangkat eksternal dan memori utama, tanpa intervensi terus menerus dari prosessor.

* Seluruh proses DMA dikendalikan oleh sebuah controller bernama DMA Controller (DMAC).
* DMA digunakan untuk perangkat I/O dengan kecepatan tinggi.
* Struktur DMA
* Mekanisme DMA

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.

Cara kerja DMA

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. Kontroler DMA    melakukan fungsi yang biasanya dilakukan oleh prosesor pada saat mengakses memori utama (yang   sering disebut :RAM). Untuk setiap word yang ditransfer, kontroler ini menyediakan alamat     memori dan semua sinyal bus yang mengontrol transfer data. Karena harus mentransfer sejumlah    blok data, maka kontroler DMA harus menaikkan alamat memori untuk word yang berurutan dan   mencatat jumlah transfer.

Kerja DMA terkait dengan : DMA controller, Processor,  Memory, I/ODevice
Adapun juga cara kerjanya sebagai berikut:
1.     I/O Device terhubung dengan DMA controller memberikan instruksi yang harus di proses
2.     DMA controller mengirimkan pemberitahuan ke processor akan ada proses yang dihandle oleh DMA controller
3.     Processor menginformasikan ke memory bahwa DMA akan mengakses memory 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 beres dilakukan.




Menurut reverensi lain cara kerja DMA sebagai berikut:
  • ·         CPU mengirimkan data data berikut ini ke DMA controller:
  • ·         Perintah read/write
  • ·         Alamat device yang akan diakses
  • ·         Alamat awal blok memori yang akan dibaca/ditulis
  • ·         Jumlah blok data yang akan ditransfer
  • ·         CPU mengeksekusi program lain
  • ·         DMA controller mengirimkan seluruh blok data (per satu word) langsung ke memori(tanpa melibatkan CPU)
  • ·         DMA controller mengirim interrupt ke CPU jika telah selesai. 


    CARA KEDUA

       1. Perangkat I/O mengirim interupsi ke CPU untuk memberitahu bahwa perangkat tersebut akan melakukan transfer data.

       1. 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 command block ini ke pengendali DMA, menuliskan alamat sehingga pengendali DMA dapat kemudian mengoperasikan bus memori secara langsung dengan menempatkan alamat-alamat pada bus tersebut  untuk melakukan transfer tanpa bantuan CPU. Setelah transfer data dapat dialihkan, prosessor berhenti mengeksekusi proses tersebut dan meload proses lain.

       1. DMA melakukan transfer data. DMA mempunyai dua metoda dalam mentransfer data yaitu :

       1. Metode yang pertama disebut HALT, atau Burst Mode DMA, karena pengendali DMA DMA memegang kontrol dari sistem bus dan mentansfer semua blok data ke atau dari memori pada single burst. Selagi transfer masih dalam proses, sistem mikroprosessor di set idle, tidak melakukan instruksi operasi untuk menjaga internal register.
       2. Metoda yang kedua mengikut-sertakan 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. Mertoda 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.

       1. Setelah transfer data selesai, DMA mengirim interupsi ke CPU. Proses yang meminta transfer data tadi, diubah lagi statusnya dari blocket ke ready, sehingga proses itu dapat kembali dipilih oleh penjadwal.

    * Langkah-langkah transfer DMA

       1. Prosessor menyiapkan DMA transfer dengan menyediakan data-data dari perangkat, operasi yang akan ditampilkan, alamat memori yang menjadi sumber, tujuan data dan banyaknya byte yang ditransfer.
       2. Pengendali DMA memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh block sudah ditransfer.
       3. Pengendali DMA menginterupsi prosesor, dimana selanjutnyaakan ditentukan tindakan berikutnya. 
    Menurut reverensi lain cara kerja DMA sebagai berikut:

        ·         CPU mengirimkan data data berikut ini ke DMA controller:
        ·         Perintah read/write
        ·         Alamat device yang akan diakses
        ·         Alamat awal blok memori yang akan dibaca/ditulis
        ·         Jumlah blok data yang akan ditransfer
        ·         CPU mengeksekusi program lain
        ·         DMA controller mengirimkan seluruh blok data (per satu word) langsung ke memori(tanpa melibatkan CPU)
        ·         DMA controller mengirim interrupt ke CPU jika telah selesai.

     
  
Referensi


 

0 komentar:

Posting Komentar

 

Sistem Operasi Template by Ipietoon Cute Blog Design and Bukit Gambang