* 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.
* 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
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* Struktur DMA
* Mekanisme DMA
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.
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.
siap gan, makasihbanyak sudah share
BalasHapussolder uap