Senin, 20 April 2015

Struktur DMA



Struktur DMA ( Direct Memory Access )
        Direct Memory Access adalah suatu metode pengguna i/o dimana device controler langsung berhubungan dengan memory utama tanpa intervensi CPU. setelah Men-set bugger, printer & counter untuk perangkat i/o devices controler mentransfer blog data langsung ke penyimpanan, DMA digunakan sebagai perangkat i/o berkecepatan tinggi yang mampu mengirim informasi yang mendekati kecpatan memory. hanya terdapat satu intruksi yang di hasilkan per blog yang berbeda dengan perangkat yang mempunyai kecepatan tendah di mana intrupsi terjadi per byte.
         
       Keuntungan menggunakan mode DMA dapat dilihat pada operasi multitsting seperty UNIX ,karena transfer data yang mode DMA akan menghematsumber daya CPU shg cpu dapat menggunakan sumber daya tersebut untuk yang lain. Sedangkan pada DOS kita harus menunggu operasi selesay terlebih dahulu baru bisa menggunakan  yang lainnya.

Ada dua jenis DMA :

1. Thrid-party DMA yang menggunakan DMA controler yang terdapat pada Motherboard untuk mengerjakan proses.

2.  Frish-party DMA Busmastering DMA dimana proses di kerjakan oleh bagian logic di interface card.

Transfer DMA
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 menuliskan alamat command block ini ke pengendali DMA, sehingga pengendali DMA dapat kemudian mengoperasikan bus memori secara langsung dengan menempatkan alamat- alamat pada bus tersebut untuk melakukan transfer tanpa bantuan CPU.
Tiga langkah dalam transfer DMA:
1. Prosesor menyiapkan DMA transfer dengan menyedia kan data-data dari perangkat, operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang ditransfer.
2. Pengendali DMA memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh blok sudah di transfer.
3. Pengendali DMA meng-interupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya.
Pada dasarnya, DMA mempunyai dua metode yang berbeda dalam mentransfer data. Metode yang pertama adalah metode yang sangat baku dan sederhana disebut HALT, atau Burst Mode DMA, karena pengendali DMA memegang kontrol dari sistem bus dan mentransfer semua blok data ke atau dari memori pada single burst. Selagi transfer masih dalam prosres, sistem mikroprosessor di-set idle, tidak melakukan instruksi operasi untuk menjaga internal register. Tipe operasi DMA seperti ini ada pada kebanyakan komputer.
Metode 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. Metode 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.
Handshaking
Proses handshaking antara pengendali DMA dan pengendali perangkat dilakukan melalui sepasang kabel yang disebut DMA-request dan DMA-acknowledge. Pengendali perangkat mengirimkan sinyal melalui DMA-request ketika akan mentransfer data sebanyak satu word. Hal ini kemudian akan mengakibatkan pengendali DMA memasukkan alamat-alamat yang dinginkan ke kabel alamat memori, dan mengirimkan sinyal melalui kabel DMA-acknowledge. Setelah sinyal melalui kabel DMA-acknowledge diterima, pengendali perangkat mengirimkan data yang dimaksud dan mematikan sinyal pada DMA-request.
Hal ini berlangsung berulang-ulang sehingga disebut handshaking. Pada saat pengendali DMA mengambil alih memori, CPU sementara tidak dapat mengakses memori (dihalangi), walau pun masih dapat mengaksees data pada cache primer dan sekunder. Hal ini disebut cycle stealing, yang walau pun memperlambat komputasi CPU, tidak menurunkan kinerja karena memindahkan pekerjaan data transfer ke pengendali DMA meningkatkan performa sistem secara keseluruhan.
Cara-cara Implementasi DMA
Dalam pelaksanaannya, beberapa komputer menggunakan memori fisik untuk proses DMA , sedangkan jenis komputer lain menggunakan alamat virtual dengan melalui tahap “penerjemahan” dari alamat memori virtual menjadi alamat memori fisik, hal ini disebut Direct Virtual-Memory Address atau DVMA. Keuntungan dari DVMA adalah dapat mendukung transfer antara dua memori mapped device tanpa intervensi CPU.
Keterbatasan Standard DMA
Sedangkan penggunaan DMA memberikan perbaikan yang signifikan atas transfer data prosesor dikontrol, juga akhirnya mencapai titik di mana kinerjanya menjadi faktor pembatas. DMA pada bus ISA telah terjebak pada tingkat kinerja yang sama selama lebih dari 10 tahun. Untuk berusia 10 MB XT hard disk, DMA adalah pemain top. Untuk 8 GB hard disk modern, mentransfer beberapa megabyte per detik, DMA tidak cukup.
Pada mesin yang lebih baru, disk dikendalikan baik menggunakan diprogram I / O (PIO) atau pihak pertama DMA (bus mastering) pada bus PCI, dan tidak menggunakan ISA DMA standar yang digunakan untuk perangkat seperti kartu suara. Modus transfer hard disk dibahas secara rinci di sini. Jenis DMA tidak bergantung pada lambat pengendali ISA DMA, dan memungkinkan perangkat ini kinerja tinggi bandwidth yang mereka butuhkan. Bahkan, banyak perangkat yang digunakan untuk menggunakan DMA pada ISA menggunakan bus bus mastering atas bus PCI untuk kinerja yang lebih cepat. Ini termasuk kartu SCSI high-end baru, dan bahkan jaringan dan kartu video.
Direct Memory Access (DMA) Channels
Akses memori langsung (DMA) saluran jalur sistem yang digunakan oleh banyak perangkat untuk mentransfer informasi langsung ke dan dari memori. Saluran DMA tidak hampir sama "terkenal" sebagai IRQs sebagai sumber daya sistem pergi. Hal ini sebagian besar untuk alasan yang baik: ada sedikit dari mereka dan mereka digunakan oleh banyak perangkat yang lebih sedikit, dan karenanya mereka biasanya menyebabkan lebih sedikit masalah dengan pengaturan sistem. Namun, konflik pada saluran DMA dapat menyebabkan masalah sistem yang sangat aneh dan bisa sangat sulit untuk mendiagnosa. DMA digunakan paling sering hari ini oleh disk drive floppy, tape drive dan kartu suara.
DMA Saluran Fungsi dan Operasi
Bagian ini mengambil melihat saluran DMA dan bagaimana mereka bekerja. Ini termasuk penjelasan tentang berbagai jenis saluran DMA, DMA controller, dan ringkasan saluran DMA yang berbeda yang digunakan dalam PC.
Mengapa Saluran DMA Apakah Diciptakan untuk Transfer Data
Seperti yang Anda tahu, prosesor adalah "otak" dari mesin, dan dalam banyak hal juga dapat disamakan dengan konduktor dari sebuah orkestra. Pada mesin awal prosesor benar-benar melakukan hampir segalanya. Selain menjalankan program itu juga bertanggung jawab untuk mentransfer data ke dan dari peripheral. Sayangnya, memiliki prosesor melakukan transfer ini sangat tidak efisien, karena kemudian tidak dapat melakukan hal lain.
Penemuan DMA memungkinkan perangkat untuk memotong "orang tengah", yang memungkinkan prosesor untuk melakukan pekerjaan lain dan peripheral untuk mentransfer data diri, yang menyebabkan peningkatan kinerja. Saluran khusus diciptakan, bersama dengan sirkuit untuk mengendalikan mereka, yang memungkinkan transfer informasi tanpa prosesor mengontrol setiap aspek dari transfer. Sirkuit ini biasanya bagian dari chipset sistem pada motherboard.
Perhatikan bahwa saluran DMA hanya pada bus ISA (EISA dan dan VLB, karena mereka adalah turunan dari itu). Perangkat PCI tidak menggunakan saluran DMA standar sama sekali.
DMA Controller
DMA controller, yang dibangun ke dalam chipset sistem pada PC modern, mengelola standar transfer DMA. PC asli dan XT memiliki salah satu kontroler ini dan didukung 4 channel DMA, 0-3.
Dimulai dengan IBM AT, sebuah DMA controller kedua ditambahkan. Banyak cara yang mengganggu kontroler kedua mengalir dengan pertama, DMA controller pertama mengalir untuk kedua. Perbedaannya adalah bahwa dengan IRQs, controller kedua mengalir untuk yang pertama, tetapi dengan DMA yang pertama mengalir untuk kedua. Akibatnya, ada 8 DMA, 0-7, namun DMA 4 tidak bisa digunakan. Tidak ada rerouting seperti IRQ2 dan IRQ9 sini, karena semua DMA asli (0-3) masih dapat digunakan secara langsung.
Pihak Ketiga dan First-Party DMA (Menguasai Bus)
Standar DMA kadang-kadang disebut "pihak ketiga" DMA. Hal ini mengacu pada fakta bahwa kontroler sistem DMA sebenarnya melakukan transfer (pertama dua pihak pengirim dan penerima transfer). Ada juga jenis DMA yang disebut "pihak pertama" DMA. Dalam situasi ini, perangkat melakukan transfer benar-benar mengambil kontrol dari sistem bus untuk melakukan transfer. Hal ini juga disebut bus mastering.
Mastering bus memberikan kinerja yang jauh lebih baik daripada DMA biasa karena perangkat modern memiliki jauh lebih cerdas dan lebih cepat sirkuit DMA dibangun ke mereka daripada ada di standar ISA DMA controller tua. Mode DMA baru sekarang tersedia, seperti Ultra DMA (mode 3 atau DMA-33) yang menyediakan kecepatan transfer yang sangat tinggi.
DMA Saluran dan Sistem Bus
Semua saluran DMA kecuali channel 4 dapat diakses ke perangkat pada sistem bus ISA. Channel 4 digunakan untuk kaskade dua DMA controller bersama-sama. Perangkat PCI tidak menggunakan saluran sistem DMA standar.
Seperti halnya dengan IRQs, kedua DMA controller ditambahkan ketika bus ISA diperluas untuk 16 bit dengan penciptaan AT. Garis untuk mengakses saluran DMA ekstra tersebut ditempatkan pada bagian kedua dari slot AT yang digunakan oleh kartu 16-bit. Ini berarti bahwa hanya kartu 16-bit dapat mengakses saluran DMA 5, 6 atau 7. Sayangnya, banyak perangkat bahkan saat ini masih hanya kartu 8-bit. Anda dapat memberitahu dengan melihat mereka dan melihat bahwa mereka hanya menggunakan bagian pertama dari dua bagian konektor bus ISA pada motherboard.
Ringkasan Saluran DMA dan Penggunaan Khas mereka
Tabel di bawah ini memberikan ringkasan informasi tentang 8 channel nomor DMA di PC biasa. Anda mungkin menemukan tabel ini berguna ketika mempertimbangkan bagaimana mengkonfigurasi sistem anda, atau untuk menyelesaikan konflik DMA. Untuk melihat DMA penggunaan saluran yang diselenggarakan oleh perangkat bukan nomor DMA.
DMA
Jalur Bus?
Standar khas Gunakan
Penggunaan umum lainnya
0
Tidak
Memori Segarkan
Tak satupun
font = "Arial, Arial, Helvetica">
1
8/16-bit
Kartu suara (DMA rendah)
Adapter SCSI tuan rumah, ECP port paralel, kartu rekaman akselerator, kartu jaringan, modem suara
2
8/16-bit
Pengontrol floppy disk
Kartu Tape akselerator
3
8/16-bit
Tak satupun
ECP port paralel, tuan adapter SCSI, kartu rekaman akselerator, kartu suara (DMA rendah), kartu jaringan, modem suara, controller hard disk pada PC tua / XT
4
tidak
None; kaskade untuk DMA 0-3
Tak satupun
5
16-bit hanya
Kartu suara (DMA tinggi)
Tuan rumah adapter SCSI, kartu jaringan
6
16-bit hanya
Tak satupun
Kartu suara (DMA tinggi), kartu jaringan
7
16-bit hanya
Tak satupun
Kartu suara (DMA tinggi), kartu jaringan

Referensi blog



1 komentar: