Langsung ke konten utama

DATA TRANSFER WITH A DMA CONTROLLER

Penjelasan DMA (Direct Memory Acces)
Direct memory access (DMA) adalah suatu alat pengendali khusus disediakan untuk memungkinkan transfes blok data langsung antar perangkat eksternal dan memori utama, tanpa intervensi terus menerus dari prosesor (CPU).

 Diperlukan DMA untuk programmed I/O dan interrupt driver I/O, DMA menjadi solusi
·        Masih memerlukan keterlibatan CPU, CPU menjadi sibuk
·         Transfer rate data terbatas

Digunakan modul khusus(hardware) yang terhubung ke sistem bus
Fungsi modul DMA:
·         Dapat menirukan sebagian fungsi processor
·         Dapat mengambil alih fungsi prosesor yang berhubungan dengan transfer data







  Kapan DMA bekerja?
·         Saat prosesor sedang tidak menggunakan bus
·         Saat prosesor dipaksa berhenti sesaat (suspend) , siklus "dicuri oleh DMA" adalaah cycle stealing



Cara Kerja DMA
·         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.

Cycle Stealing pada DMA transfer
  • DMA controller mengambil alih bus sebanyak satu siklus
  • DMA mentransfer satu word data
  • Pengambil alihan bus oleh DMA bukan interrupt --> CPU tidak perlu menyimpan context
  • CPU hanya tertunda (suspend) sesaat sebelum mengakses bis, yaitu sebelum operand atau data diambil atau data ditulis
  • Pengaruh terhadap CPU yaitu memperlambat CPU , tetapi masih lebih baik dari pada CPU terlibat langsung pada transfer data






         Konfigurasi pada DMA

·         Konfigurasi I
    • Hanya menggunakan single bus
    • DMA dan modul I/O terpisah
    • Setiap transfer harus mengakses bus 2 kali
·         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
·         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
Kelebihan DMA :
  • Dapat menirukan sebagian fungsi processor
  • Dapat mengambil alih fungsi prosesor yang berhubungan dengan transfer data
  • CPU dapat melakukan manajemen operasi baca tulis (transfer data) dengan baik dan juga dapat menyelsaikan instruksi yang lain. 
  • Mendapat informasi tentang jumlah data bit yang ditransfer, alamat dari device dan memory yang diperlukan dan arah dari aliran data.
Kekurangan DMA :
  • Transfer rate data terbatas
  • Masih memerlukan keterlibatan CPU, Sehingga CPU menjadi lebih sibuk





PENJELASAN GAMBAR DIATAS :
1.      Antarmuka mengirim DMA controller permintaan untuk layanan DMA
2.      Permintaan Bus dibuat ke pin HOLD (Aktif Tinggi) pada mikroprosesor 8086 dan kontrol kontrol pengendali bus
3.      Isi  Bus dikembalikan ke pengontrol DMA dari pin Hold Acknowledge (HILDA) (aktif High) pada mikroprosesor 8086
4.      Pengontrol DMA menempatkan isi register alamat ke bus alamat
5.      Pengontrol mengirim antarmuka pengakuan DMA, yang memberitahu antarmuka untuk meletakkan data pada bus data. (Untuk output, ini menandakan antarmuka untuk mengunci data berikutnya yang ditempatkan di bus)
6.      Data byte ditransfer ke lokasi memori yang ditunjukkan oleh bus alamat
7.      Antarmuka mengaitkan data
8.      Permintaan bus dijatuhkan, pin HOLD pergi Rendah, dan pengendali melepaskan bus
9.      Isi  bus dari mikroprosesor 8086 dijatuhkan dan pin HLDA menjadi rendah.  Register alamat bertambah 1.  Jumlah byte dikurangi dengan 1. Jika jumlah byte tidak nol, kembali ke langkah 1, jika tidak hentikan.



REFERENSI
Translate by : Google Translate.


Komentar

Postingan populer dari blog ini

PENGERTIAN DAN CONTOH DARI BATCH SYSTEM, CRITICAL SECTION,PROCESS CONTROL BLOCK, DISTRIBUTED PROCESSING, HANDHELD,THREAD.

BATCH SYSTEM PENGERTIAN BATCH SYSTEM Batch system adalah dimana job-job yang mirip dikumpulkan dan dijalankan secara kelompok kemudian setelah kelompok yang dijalankan tadi selesai maka secara otomatis kelompok lain dijalankan. jadi dengan kata lain adalah teknologi proses komputer dari generasi ke-2. yang jika suatu tugas sedang dikerjakan pada 1 rangkaian, akan di eksekusi secara berurutan. Pada komputer generasi ke-2 sistem komputer nya maasih blum dilengkapi oleh sebuah sistem operasi. Tapi, dalam beberapa fungsi sistem operasi, seperti os yang tengah berkembang pada jaman sekarang ini. Contohnya adlah FMS ( Fortarn Monitoring System ) dan IBSYS. Contoh sebuah Batch System adalah sebuah e-mail dan transaksi batch processing. Dalam suatu sistem batch processing, transaksi secara individual dientri melalui peralatan terminal, dilakukan validasi tertentu, dan ditambahkan ke transaction file yang berisi transaksi lain, dan kemudian dientri ke dalam sistem secara peri...

Sejarah Sistem Operasi DOS, Windows, MAC, Linux.

Sejarah DOS (Disk Operating system).    MS-DOS singkatan dari microsoft Disk Operating system operasi adalah sebuah sistem operasi yang sangat banyak digunakan oleh komputer IBM-PC atau yang kompatibel dengan-nya.Microsoft membuat MS-DOS sebagai sebuah sistem mainstrem sebelum pada akhirnya menghentikan dukungan MS-DOS secara perlahan ketika mereka membuat sebuah sistem operasi berbasis antarmuka grafis (dikenal juga dengan sebutan GUI) untuk pada mainstrem yang disebut sebagai microsoft windows. MS-DOS dirilis pertama kali pada tahun 1981, dan seiring dengan waktu microsoft pun meluncurkan versi yang lebih baru dari MS-DOS Tidak kurang hingga delapan kali menghentikan dukungan MS-DOS pada tahun 2000. MS-DOS merupakan salah satu kunci keberhasilan microsoft dalam memproduksi perangkat lunak dari sebuah perusahaan perangkat lunak yang seolah menguasai dunia. MS-DOS sebenarnya di buat oleh sebuah perusahaan pembuat komputer yang bernama Seattle Computer Produc...