Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehVeronika Dharmawijaya Telah diubah "7 tahun yang lalu
1
Thursday NOV 12,2015 IKHWANNUL KHOLIS
DIRECT MEMORY ACCESS Thursday NOV 12,2015 IKHWANNUL KHOLIS
2
OVERVIEW Introduction Implementing DMA in a computer system
Data transfer using DMA controller Internal configuration of a DMA controller Process of DMA transfer DMA transfer modes Modification of the CPU to work with DMA Summary
3
Direct Memory Access Introduction
Suatu hal penting yang mengatur kinerja Sistem Komputer adalah transfer data antara memori dan I / O devices. Operasi ini melibatkan program loading atau file data dari disk ke memori, menyimpan file pada disk, dan mengakses halaman memori virtual pada media penyimpanan sekunder. cont
4
Computer System with DMA
5
Mempertimbangkan sistem yang khas yang terdiri dari CPU, memori dan satu atau lebih perangkat input / output seperti yang ditunjukkan pada gambar. Asumsikan salah satu perangkat I / O adalah disk drive dan komputer harus memuat program dari drive ini ke dalam memori. CPU akan membaca byte pertama dari program ini dan kemudian menulis byte tsb ke memori. Kemudian akan melakukan hal yang sama untuk byte kedua, sampai telah dimuat seluruh program ke dalam memori.
6
Proses ini terbukti tidak efisien
Proses ini terbukti tidak efisien. Memuat data ke, dan kemudian menulis data dari CPU secara signifikan memperlambat transfer. CPU tidak memodifikasi data sama sekali, sehingga hanya berfungsi sebagai stop tambahan untuk data pada cara untuk itu tujuan akhir Proses ini akan jauh lebih cepat jika kita bisa melewati CPU & transfer data langsung dari perangkat I / O ke memori. Direct Memory Access MELAKUKANNYA.
7
Implementing DMA in a Computer System
Suatu DMA controller mengimplementasikan akses memori langsung dalam sistem komputer. ni menghubungkan langsung ke perangkat I / O di satu ujung dan ke bus sistem di ujung lain. Hal ini juga berinteraksi dengan CPU, baik melalui sistem bus dan dua koneksi langsung baru. Hal ini kadang-kadang disebut sebagai saluran. Dalam konfigurasi alternatif, DMA controller dapat dimasukkan langsung ke dalam perangkat I / O.
8
Data Transfer using DMA Controller
Untuk mentransfer data dari perangkat I / O ke memori, pengendali DMA pertama mengirimkan Bus Request ke CPU dengan menetapkan BR untuk 1. Ketika siap untuk memberikan izin utk permintaan tsb, CPU meng-set Bus Grant Signal, BG ke 1. CPU juga tri-state alamat, data, dan garis kontrol tsb sehingga benar-benar memberikan kontrol dari bus sistem untuk kontroler DMA. CPU akan melanjutkan tri-state output tsb selama BR dinyatakan.
9
Internal Configuration
The DMA controller includes several registers :- The DMA Address Register contains the memory address to be used in the data transfer. The CPU treats this signal as one or more output ports. The DMA Count Register, also called Word Count Register, contains the no. of bytes of data to be transferred. Like the DMA address register, it too is treated as an O/P port (with a diff. Address) by the CPU. The DMA Control Register accepts commands from the CPU. It is also treated as an O/P port by the CPU. cont
10
Although not shown in this fig
Although not shown in this fig., most DMA controllers also have a Status Register. This register supplies information to the CPU, which accesses it as an I/P port.
11
Internal Configuration of DMA Controller
12
Process of DMA Transfer
Untuk Inisialisasi DMA transfer, CPU mengambil alamat memory location pertama dari block memory (untuk dibaca atau ditulis) ke alamat register DMA. dilakukan via I/O output instruction, seperti OTPT instruction untuk CPU secara relatif sederhana. Kemudian, ditulis banyaknya bytes yang ditransfer ke DMA count register dengan cara yang sama. Akhirnya, ditulis satu atau lebih perintah ke DMA control register cont
13
Perintah ini mungkin menspesifikasikan transfer options seperti DMA transfer mode, but selalu menspesifikasikan arah transfer, baik dari I/O ke memory atau dari memory ke I/O. Perintah terakhir menyebabkan DMA controller untuk menginisialisasi transfer. controller kemudian sets BR menjadi 1 dan, secara bersamaan BG menjadi 1 , meneguhkan kontrol bus system.
14
DMA Transfer Modes Mode bervariasi bagaimana DMA controller
Menentukan kapan transfer data, tetapi actual data transfer process sama untuk semua mode. BURST mode Sering disebut juga dengan Block Transfer Mode. Seluruh block data ditransfer dalam satu sequence berkelanjutan. Ketika DMA controller diberikan access ke bus system oleh CPU, dy metransfer semua bytes data dalam data block sebelum melepaskan control bus system kembali ke CPU. Mode ini berguna untuk loading programs atau data files ke memory, tetapi merender CPU secara tidak aktif dan relatif dalam waktu yang lama cont
15
CYCLE STEALING Mode Alternatif untuk sistem di mana CPU tidak harus dinonaktifkan untuk jangka waktu yang diperlukan untuk Burst transfer modes. DMA controller memperoleh akses ke bus sistem seperti dalam mode burst, menggunakan BR & BG sinyal. Namun, transfer satu byte data dan kemudian menegaskan BR, kembali kontrol dari bus sistem ke CPU. Ini terus mengeluarkan request melalui BR, mentransfer satu byte data per permintaan, sampai telah ditransfer seluruh blok data tsb cont
16
Secara kontinyu memperoleh dan melepaskan kontrol system bus, DMA controller pada dasarnya interleave instruction & data transfers. CPU memproses suatu instruksi, kemudian DMA controller mentransfer nilai data, and lain-lain. Block data tidak ditransfer secepat burst mode, tetapi CPU tidak idle selama dalam mode tsb. Berguna bagi controllers memonitor data in real time.
17
TRANSPARENT Mode Ini membutuhkan waktu yang paling banyak untuk mentransfer blok data, namun juga yang paling efisien dalam hal kinerja sistem secara keseluruhan DMA controller hanya metransfer data ketika CPU melakukan operations yang tidak menggunakan system bus. Misal, CPU secara relatif sederhana memiliki beberapa states yang menggerakan atau memproses data hanya dalam CPU: NOP1: (No operation) LDAC5: ACDR cont
18
JUMP3: PCDR,TR CLAC1: AC0, Z1
Keuntungan utama adalah bahwa CPU tidak pernah berhenti melaksanakan program dan DMA transfer bebas dalam hal waktu. Kelemahan adalah bahwa perangkat keras yang diperlukan untuk menentukan kapan CPU tidak menggunakan bus sistem bisa sangat kompleks dan relatif mahal.
19
Modification of the CPU to work with DMA
Selain kontrol masukan BR dan output kontrol BG, bersama dengan logika untuk menghasilkan BG. Logikanya tergantung pada saat desainer ingin CPU untuk dapat memberikan kontrol dari bus sistem untuk kontroler DMA. Kebanyakan CPU memungkinkan DMA request akan diberikan setelah instruksi diambil; setelah telah diterjemahkan, setelah itu operasi telah diambil; setelah itu instruksi telah dijalankan, dan setelah itu hasil yang telah disimpan cont
20
Hardware Implementation of BG
21
Berikut contoh memodifikasi CPU relatif sederhana sehingga melayani permintaan DMA hanya pada awal mengambil siklus, segera setelah instruksi dijalankan. Karena BG terkunci, itu operasi dapat dinyatakan menggunakan kode RTL. Ketika CPU memasuki FETCH1, jika BR = 1, ia menetapkan BG 1; tetap di FETCH1 sampai BR adalah 0. Jika BR adalah 0, ia menetapkan BG ke 0 dan melakukan mikro-operasi lain yang terkait dengan state FETCH1. The RTL code is cont
22
Modified State Diagram To Accommodate BR and BG
23
BR ^FETCH1: BG1 BR`^FETCH1: BG0,(micro-operations of FETCH1) Dua mikro-operasi yang memuat BG dapat digabungkan menjadi mikro-operasi tunggal, menghasilkan kode RTL FETCH1: BGBR BR`^FETCH1: (micro-operations of FETCH1) Unit kontrol dimodifikasi untuk melaksanakan loop dari FETCH1 kembali sendiri sementara BR adalah 1. The figure shows the modification needed for the state diagram. Akhirnya CPU harus memberikan tri-state outputnya kapanpun DMA controller memiliki access ke bus. Tri-state buffers ditambahkan ke address ouputs A[15..0] dan semua control outputs. The data input/ouput sinyal telah memiliki tri-state buffers.
24
Alamat dan kontrol output harus diaktifkan setiap saat, kecuali ketika DMA controller memiliki akses ke bus sistem. Ini hanya terjadi ketika BG = 1, sehingga BG` dapat digunakan untuk mengaktifkan alamat dan kontrol buffer bus.
25
Summary Advantages of DMA Disadvantages of DMA
Computer system performance is improved by direct transfer of data between memory and I/O devices, bypassing the CPU. CPU is free to perform operations that do not use system buses. Disadvantages of DMA In case of Burst Mode data transfer, the CPU is rendered inactive for relatively long periods of time.
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.