Tugas III Individu
Data Transfer with a DMA Controller.
Data Transfer with a DMA Controller.
A. Pengertian Direct Memory Access ( DMA ).
Direct Memory Access
(DMA)
adalah fitur sistem komputer yang
memungkinkan subsistem perangkat keras
tertentu untuk mengakses memori sistem utama (memori akses acak),
yang terpisah dari central processing unit (CPU).
Tanpa
DMA,
ketika CPU menggunakan input / output terprogram , ini biasanya
terisi penuh untuk seluruh durasi operasi baca atau tulis,
dan karena itu tidak tersedia untuk melakukan pekerjaan lain. Dengan DMA, CPU pertama memulai transfer,
kemudian melakukan operasi lain ketika transfer sedang
berlangsung, dan akhirnya menerima interupsi dari pengontrol
DMA
ketika operasi selesai. Fitur ini
berguna setiap saat ketika CPU tidak dapat
mengikuti laju transfer data, atau ketika CPU perlu melakukan pekerjaan sambil menunggu transfer data I /
O yang relatif lambat. Banyak
sistem perangkat keras menggunakan DMA,
termasuk pengontrol disk drive , kartu grafis , kartu
jaringan , dan kartu suara. DMA juga
digunakan untuk transfer data intra-chip dalam prosesor multi-core . Komputer yang memiliki saluran
DMA
dapat mentransfer data ke dan dari perangkat
dengan overhead CPU jauh lebih sedikit daripada komputer
tanpa saluran DMA. Demikian
pula, elemen pemrosesan di dalam prosesor multi-core dapat mentransfer
data ke dan dari memori lokal tanpa
menempati waktu prosesornya, memungkinkan komputasi dan transfer
data untuk berjalan secara paralel.
DMA
juga dapat digunakan untuk "memori ke memori" menyalin atau memindahkan data dalam memori. DMA dapat membebani operasi memori yang mahal, seperti salinan besar
atau operasi penghamburan ,
dari CPU ke mesin
DMA
khusus. Contoh implementasi
adalah Percepatan Teknologi I / O . DMA
sangat menarik dalam arsitektur komputasi jaringan-on-chip dan in-memory.
Dengan
menggunakan pengontrol DMA,
perangkat meminta CPU untuk menyimpan data, alamat
dan bus kontrolnya, sehingga perangkat ini
bebas untuk mentransfer data secara langsung ke / dari memori. Transfer data DMA dimulai hanya
setelah
menerima sinyal
HLDA dari CPU.
B. Bagaimana Operasi DMA
Dilakukan
?
Berikut ini adalah urutan operasi yang
dilakukan oleh DMA :
01.) Awalnya,
ketika perangkat apa pun harus mengirim data
antara perangkat dan memori, perangkat harus mengirim permintaan
DMA
(DRQ)
ke pengontrol DMA.
02.) Pengontrol DMA mengirim permintaan
Tahan
(HRQ)
ke CPU dan menunggu CPU untuk menegaskan HLDA.
03.) Kemudian
mikroprosesor-tri menyatakan semua bus data, bus alamat,
dan bus kontrol. CPU meninggalkan kontrol
atas bus dan mengakui permintaan HOLD melalui sinyal
HLDA.
04.) Sekarang
CPU dalam keadaan HOLD
dan pengendali DMA harus mengelola operasi melalui bus
antara CPU, memori,
dan perangkat I / O.
C. Tahapan Proses DATA
TRANSFER with DMAC.
Selama
transfer byte
masukan blok, urutan berikut terjadi saat byte data
dikirim dari antarmuka ke memori :
1. Antarmuka mengirimkan DMA controller permintaan
untuk layanan DMA.
2. Permintaan
bus dibuat ke pin HOLD
(aktif Tinggi) pada mikroprosesor tebhe 8086 dan
pengendali mendapatkan kontrol bus.
3. Isi bus dikembalikan ke kontroler
DMA
dari pin HOLD Acknowledge (HLDA) (aktif tinggi)
pada mikroprosesor
8086.
4. Pengontrol
DMA
menempatkan isi register alamat ke alamat bus.
5. Pengontrol
mengirimkan antarmuka pengakuan DMA, yang memberitahu antarmuka untuk menempatkan
bus data (untuk keluarannya memberi sinyal antarmuka untuk mengunci data
berikutnya yang ditempatkan di bus).
6. Data
dalam bentuk byte ditransfer ke lokasi memori yang ditunjukkan
oleh alamat bus.
7. Interface mengaitkan data / memasang
datanya.
8. Permintaan
bus dijatuhkan,
pin HOLD menjadi rendah,
dan pengendali melepaskan bus.
9. Isi
bus dari mikroprosesor 8086 menurun dan pin HLDA
menjadi turun. Register
alamat bertambah 1, hitungan byte dikurangi 1.
Jika jumlah byte tidak nol, kembali ke langkah 1.
Tapi jika
tidak, hentikan.
D. Kelebihan dan
Kekurangan DMA.
01.) Kelebihan.
a.) Performance komputer sistem ditingkatkan
dengan transfer data langsung antara memori dan I/O devices, tidak melibatkan CPU.
b.) CPU dibebastugaskan
dari transfer data.
c.) Transfer data akan menjadi lebih cepat.
02.) Kekurangan.
a.) Pada
burst mode transfer data, CPU tidak aktif
dalam waktu yang lama.
E. Implementasi DMA.
01.) Direct Memory Access
Controlled (DMAC), yang digunakan untuk mengontrol
DMA
di Sistem Komputer.
02.) DMAC
menghubungkan
langsung ke device I/O dan bus sistem.
DMAC
juga terhubung dengan CPU.
03.) DMAC
menggunakan IC 8237.
Referensi.
- https://en.wikipedia.org/wiki/Direct_memory_access
- https://www.slideshare.net/ashwiniawatare/dma-and-dma-controller-8237
- http://apriliac2147300428.blogspot.com/2015/12/direct-memory-access-dma.html
- https://www.quora.com/What-is-a-DMA-controller
- https://www.tutorialspoint.com/microprocessor/microprocessor_8257_dma_controller.htm
- http://1301109.blog.upi.edu/2015/02/16/programmed-i-o-interrupt-direct-memory-access-dma/
Tidak ada komentar:
Posting Komentar