Kamis, 31 Oktober 2019

DATA TRANSFER WITH A DMA CONTROLLER


DATA TRANSFER WITH A DMA CONTROLLER


A. Pengertian DMA (Direct Memory Access)


DMA adalah singkatan dari Direct Memory Access adalah kemampuan pada komputer modern yang memungkinkan perangkat periferal untuk mengirim data ke memori motherboard tanpa intervensi dari CPU.
Pengontrol DMA adalah perangkat keras khusus – sekarang tertanam ke dalam chip dalam prosesor terintegrasi modern – yang mengelola transfer data dan menengahi akses ke bus sistem. Kontroler diprogram dengan pointer sumber dan tujuan (tempat membaca / menulis data), penghitung untuk melacak jumlah byte yang ditransfer, dan pengaturan, yang mencakup I / O dan tipe memori, interupsi dan status untuk siklus CPU.
Transfer dimulai ketika pengontrol DMA diberitahu tentang kebutuhan untuk memindahkan data ke memori oleh beberapa peristiwa (tekan keyboard atau klik mouse, misalnya). Pengontrol menegaskan sinyal permintaan DMA ke CPU untuk menggunakan bus sistem. CPU menyelesaikan operasi saat ini dan memberikan kontrol bus ke pengontrol DMA melalui sinyal yang dikenali DMA. Pengontrol kemudian membaca dan menulis data dan mengontrol sinyal seolah-olah itu adalah CPU, yang pada saat itu adalah dinyatakan (idle). Setelah menyelesaikan transfer, pengontrol DMA menegaskan sinyal permintaan DMA dan CPU pada gilirannya menghapus sinyal pengenalan DMA dan melanjutkan kontrol bus.
DMA diimplementasikan dalam arsitektur bus komputer untuk mempercepat operasi komputer dan memungkinkan multitasking. Biasanya, CPU akan terisi penuh dalam operasi baca / tulis apa pun; Mengaktifkan DMA memungkinkan membaca / menulis data dalam memori internal, memori eksternal dan periferal tanpa keterlibatan CPU, sehingga membuat prosesor tersedia untuk tugas-tugas lain. Ini memastikan operasi yang efisien, karena perpindahan data ke / dari memori adalah salah satu operasi komputer yang paling umum dan membebaskan CPU dari overhead ini dapat menyebabkan peningkatan kinerja yang signifikan.
DMA berguna dalam aplikasi komputasi real time di mana operasi kritis harus dilakukan secara bersamaan. Pemrosesan aliran adalah aplikasi DMA lain, di mana transfer dan pemrosesan data dilakukan secara bersamaan. Banyak sistem perangkat keras menggunakan DMA termasuk pengontrol floppy dan disk drive, kartu grafis, kartu jaringan, kartu suara dan unit pemrosesan grafik.




Selama transfer byte masukan blok, urutan berikut terjadi sebagai byte data yang dikirim dari antarmuka ke memori:



1.   I/O Interface mengirimkan DMA Controler sebuah request untuk DMA service yaitu data dari I/O Interface melalui modul I/O yang bertanggung jawab atas pengontrolan sebuah perangkat luar menuju Direct memory access.

2. DMA mengendalikan transfer blok data langsung melalui Control BUS kepada HOLD yang akan menghentikan kegiatan dan melepas bus yang berhubungan dengan unit memori dan I/O, sehingga hal ini memberikan kesempatan bagi proses lain untuk mengambil alih system. Kemudian data yang di alihkan oleh HOLD akan diproses dan diolah oleh sebuah otak dari computer yaitu Central Processing Unit (CPU).

3. Ketiga, Kemudian CPU mengirimkan Sinyal yang digunakan sebagai pengakuan dari µP bahwa sinyal HOLD telah diterima dan sistem dapat diambil alih oleh prosesor lain. Data akan dikirim melalui Control BUS menuju Memori address register untuk penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya.

4. Data yang telah diatur dan dijaga oleh MAR akan dikirimkan melalui Address BUS menuju Direct memory access control. Untuk setiap word yang ditransfer, kontroler ini menyediakan alamat memori dan semua sinyal bus yang mengontrol transfer data.

5. Karena DMAC harus mentransfer sejumlah blok data, maka kontroler DMA harus menaikkan alamat memori untuk word yang berurutan dan mencatat jumlah transfer. Alamat memori ini akan melakukan pertukaran data antara perangkat luar dilanjutkan kepada Modul I/O.

6. Data dalam bentuk byte ditransfer ke lokasi memori yang terindikasi oleh alamat Bus.

7. Interface memasang datanya .

8. Bus request kemudian turun melalui Control BUS, Pin HOLD turun dan controller melepaskan Bus masuk pada Central Processing Unit.

9. Isi Bus dari microprosesor 8086 menurun dan Pin HLDA juga turun, alamat register naik satu jumlah dari byte turun satu. jika jumlah byte bukan 0, kembali ketahap 1 jika sebaliknya maka berhenti.

SUMBER : http://prasetiyo-dbj.blogspot.com/2018/10/data-transfer-with-dma-controller.html


B. 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.


C. Konfigurasi pada DMA

a. Konfigurasi I
    - Hanya menggunakan single bus
    - DMA dan modul I/O terpisah
    - Setiap transfer harus mengakses bus 2 kali
b. 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
c. 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





Tidak ada komentar:

Posting Komentar

TUGAS 4 SISTEM OPERASI

Jelaskan Bagaimana pengimplementasian dari sebuah direktori dalam disk? 1. Struktur Sistem File File : Kumpulan informasi yang ...