Jumat, 11 Juni 2010

BUS DATA DAN DMA

BAB 1
PENDAHULUAN



1.1Latar Belakang Masalah
Komputer tersusun atas beberapa komponen penting seperti CPU, memori, perangkat I/O. Sistem bus adalah penghubung bagi keseluruhan komponen komputer dalam menjalankan tugasnya. Bus sistem menghubungkan CPU dengan RAM dan mungkin sebuah buffer memory/memory penyangga (L2 cache). Bus sistem merupakan bus pusat. Sedangkan bus yang lain merupakan bus percabangan dari bus ini.
Prosesor, memori utama, dan perangkat I/O dapat diinterkoneksikan dengan menggunakan bus bersama yang fungsi utamanya adalah menyediakan jalur komunikasi untuk transfer data. Bus tersebut menyediakan jalur yang diperlukan untuk mendukung interrupt dan arbitrasi. Protocol bus adalah set aturan yang mengatur kelakuan berbagai perangkat yang terhubung ke bus yaitu kapan harus meletakkan informasi kedalam bus, menyatakan sinyal control dan sebagainya.
Sebuah komputer memiliki beberapa bus, agar dapat berjalan. Banyaknya bus yang terdapat dalam sistem tergantung dari arsitektur sistem komputer yang digunakan. Sebagai contoh, sebuah komputer PC dengan prosesor umumnya Intel Pentium 4 memiliki bus prosesor (front side bus), bus AGP, bus PCI, bus USB, bus ISA (yang digunakan oleh keyboard dan mouse), dan bus – bus lainnya.
Sehingga akhirnya dapat ditarik sebuah kesimpulan bahwa bus sistem merupakan bus pusat yang ada pada komputer.

1.2Rumusan Masalah
Dengan melihat latar belakang yang ada pada halaman sebelumnya, maka hal yang akan dibahas dalam makalah ini adalah :
1.Pengertian bus system dan DMA
2.Interkoneksi bus dan DMA
3.Hierarki system bus



1



4.Prinsip operasi bus dan DMA
5.Arsitektur bus
6.Strukrur bus
7.Tipe-tipe bus
8.Kesimpulan

1.3Tujuan
Tujuan dari penulisan makalah ini antara lain :
1.Melengkapi tugas mata kuliah Organisasi Komputer
2.Mengetahui segala sesuatu yang berkaitan dengan sytem bus dan DMA






























2



BAB2
Isi


2.1Bus data
2.1.1 Pengertian
Bus adalah jalur yang dibagi pemakai suatu set kabel tunggal yang digunakan untuk menghubungkan berbagai sub sistem. Bus sistem adalah sebuah bus yang menghubungkan komponen – komponen utama komputer (cpu, Memori, I/O)

2.1.2 Interconeksi Bus
bus? Merupakan lintasan komunikasi yang menghubungkan 2 atau lebih komponen komputer sifat penting dan merupakan syarat utama bus?adalah media utama tranmisin yang dapat digunakan bersama oleh sejumlah perangkat yang terhubung padanya. Digunakan bersama ? Diperlukan aturan main agar tidak terjadi tabrakan data/ kerusakan data yang ditranmisi. Walaupun digunakan bersama namun dalam satu waktu hanya ada sebuah perangkat yang menggunakan bus. Sebuah bus biasanya terdiri dari berbagai saluran sebagai contoh bus data terdiri atas 8 saluran, sehingga dalam satu waktu dapat mentranfer 8 bit.
1. struktur bus dikategorikan dalam 3 bagian:
a) bus data: saluran data memberikan lintasan bagi perpindahan data antara dua modul sistem dan besar jalur bus data mempengaruhi kinerja contoh: 8,16,32, dan 64 bit
b) bus alamat:identifikasi sumber atau tujuan data pada bus data dan mengganti port I/0
c) bus kontrol:mengontrol akses kesalahan alamat dan penggunaan data dan salurann alat dan mengendalikan serta mengatur timming in formasi

3



2. Lebar Bus
Semakin lebar bus maka semakin besar data yang dapat ditransfer sekali waktu.
Semakin besar bus alamat, akan semakin banyak range lokasi yang dapat direfensikan

3. Organisasi bus
a) jalur kontrol
berisikan signal request dan signal acknowleggements
mengindikasikan tipe informasi pada jalur data
b) jalur data
membawa informasi antara sumber dan tujuan data dan alamat serta perintah – perintah kompleks

4. Jenis Bus
a)Dedicated bus:Bus dibedakan menjadi bus yang khusus menyalurkan data tertentu, misalnya paket data saja, atau alamat saja.
b)Multiplexed bus: Bus dilalukan informasi yang berbeda baik data, alamat maupun sinyal kontrol dengan metode mulipleks data maka bus ini disebut
c)Keuntungan adalah hanya memerlukan saluran sedikit sehingga dapat menghemat tempat
d)Kerugiannya adalah kecepatan transfer data menurun dan diperlukan mekanisme yang komplek untuk mengurai data yang telah dimulitipleks

5. Metode Arbitrasi
a)Pada metode tersentral diperlukan pengontrol bus sentral atau arbiter yang bertugas mengatur
penggunaan bus oleh modul. Arbiter bisa suatu modul atau bagian fungsi CPU.
b) Pada metode terdistribusi, setiap modul memiliki logika pengontrol akses ( access control logic) yang berfungsi mengatur pertukaran data melalui bus.
c)Kedua metode arbitrasi intinya menugaskan suatu perangkat bisa modul I/O ataupun CPU bertindak sebagai master kontrol pertukaran



4


Struktur interkoneksi
dari jenis pertukaran data yang diperlukan modul – modul komputer, maka stuktur interkoneksi harus mendukung perpindahan data:
a)Memori ke Cpu: harus melakukan pembacaan data maupun intruksi dari memori
b)Cpu ke Memori: harus melakukan penyimpanan atau penulisan data ke memori
c)I/0 ke Cpu:Cpu membaca data dari peripheral melalui modul I/0
d)Cpu ke I/0: Cpu mengirim data ke perangkat peripheral melalui modul I/0
e)I/0 ke Memori atau dari Memori:digunakan pada sistem DMA

2.1.3 Saluran kontrol (control bus)
Digunakan untuk mengontrol bus data, bus alamat dan seluruh modul yang ada.
Karena bus data dan bus alamat digunakan oleh semua komponen maka diperlukan suatu mekanisme kerja yang dikontrol melalui bus kontrol ini.

1. macam Saluran kontrol:
a)Memory Write, memerintahkan data pada bus akan dituliskan ke dalam lokasi alamat.
b)Memory Read memerintahkan data dari lokasi alamat ditempatkan pada bus data.
c)I/O Write, memerintahkan data pada bus dikirim ke lokasi port I/O.
d)I/O Read, memerintahkan data dari port I/O ditempatkan pada bus data.
e)Transfer ACK, menunjukkan data telah diterima dari bus atau data telah ditempatkan padabus.
f)Bus Request, menunjukkan bahwa modul memerlukan kontrol bus.
g)Bus Grant, menunjukkan modul yang melakukan request telah diberi hak mengontrol bus.
h)Interrupt Request, menandakan adanya penangguhan interupsi dari modul.
i)Interrupt ACK, menunjukkan penangguhan interupsi telah diketahui CPU.
j)Clock, kontrol untuk sinkronisasi operasi antar modul.
k)Reset, digunakan untuk menginisialisasi seluruh modu






5



2. Sinyal – sinyal kontrol terdiri atas:
a)Sinyal pewaktuan
Sinyal pewaktuan menandakan validitas data dan alamat
b)Sinyal–sinyal perintah
Sinyal perintah berfungsi membentuk suatu operasi
Sinyal kontrol secara fisik:
a)Konduktor listrik paralel yang menghubungkan modul – modul. Konduktor adalah saluran utama pada PCB motherboard dengan layout tertentu sehingga didapat fleksibilitas penggunaan.
b)Untuk modul I/O biasanya dibuat slot bus yang mudah dipasang dan dilepas Slot PCI Slot ISA.
c)Untuk chips akan terhubung melalui pinnya

3. Prinsip operasi bus:
1.Meminta penggunaan bus.
2.Mengirim request ke modul yang dituju melalui saluran kontrol dan alamat yang sesuai.
2.Menunggu modul yang dituju mengirimkan data yang diinginkan

2.1.4 Hierarki sistem Bus
bus disusun secara Hierarki, karena setiap bus yang memiliki kecepatan rendah akan dihubungkan dengan bus yang memiliki kecepatan tinggi. Setiap perangkat dalam sistem juga dihubungkan ke salah satu bus yang ada. Sebagai contoh kartu grafis AGP akan dihubungkan kebus AGP.beberapa perangkat lainnya (utamanya chipset atau kontroler akan bertindak sebagai jembatan antara bus-bus yang berbeda . Sebagai contoh sebuah kontroler bus SCSI dapat mengubah sebuah bus menjadi bus SCSI, baik itu bus PCI atau PCI exspress

A). Arsitektur bus jamak tradisional
Prosesor, cache memori dan memori utama terletak pada bus tersendiri pada level tertinggi karena modul – modul tersebut memiliki karakteristik pertukaran data yang tinggi.



6




2.Pada arsitektur berkinerja tinggi, modul – modul I/O diklasifikasikan menjadi dua,
Memerlukan transfer data berkecepatan tinggi
Memerlukan transfer data berkecepatan rendah.
3.Modul dengan transfer data berkecepatan tinggi disambungkan dengan bus berkecepatan tinggi pula,
4.Modul yang tidak memerlukan transfer data cepat disambungkan pada bus ekspansi


B)Arsitektur bus jamak kinerja tinggi
1. Keuntungan hierarki bus jamak kinerja tinggi
2. Bus berkecepatan tinggi lebih terintegrasi dengan prosesor.
3. Perubahan pada arsitektur prosesor tidak begitu mempengaruhi kinerja bus



7



2.1.5 kelemahan.
Bila terlalu banyak modul/ perangkat di hubungkan pada bus akan terjadi penurunan kinerja. Faktor – faktor : semakin besar delay propagasi untuk mengkoordinasi penggunaan bu, antrian semakin panjang di mungkinkan habisnya kapasitas tranfer bus sehingga memperlambat data.



































8




2.2 DMA

2.2.1 Pengertian
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.
Transfer DMA dilakukan oleh sirkuit kontrol yang merupakan bagian dari antar muka perangkat I/O. Istilah ini yang sering banyak kita ketahui adalah sebagai kontroler DMA. Kontroler DMA melakukan fungsi yang biasanya dilakukan oleh prosesor pada saat mengakses memori utama (yang sering disebut :RAM). Untuk setiap word yang ditransfer, kontroler ini menyediakan alamat memori dan semua sinyal bus yang mengontrol transfer data. Karena harus mentransfer sejumlah blok data, maka kontroler DMA harus menaikkan alamat memori untuk word yang berurutan dan mencatat jumlah transfer.
Sekalipun kontroler DMA dapat mentransfer data tanpa intervensi dari prosesor, operasinya tetap berada dibawah kontrol program yang dieksekusi oleh prosesor. Untuk menginisiasi transfer suatu blok word, prosesor mengirim alamat awal, jumlah word dalam blok, dan arah transfer. Pada saat seluruh blok telah ditransfer, kontroler tersebut memberitahu prosesor dengan memunculkan sinyal interupt. Pada saat transfer DMA terjadi, program yang meminta transfer tersebut berhenti bekerja dan prosesor dapat digunakan untuk mengeksekusi program lain. Setelah transfer DMA selesai, prosesor dapat kembali ke program yang meminta transfer tersebut.
Operasi I/O selalu dilakukan oleh OS sebagai respon terhadap request dari program aplikasi. OS juga bertanggung jawab untuk menunda eksekusi satu program dan memulai eksekusi program lain. Sehingga, untuk operasi I/O yang melibatkan DMA, OS menetapkan program yang meminta transfer tsb pada keadaan blocked, menginisiasi operasi DMA, dan memulai eksekusi program lain. Pada saat transfer selesai, kontroler DMA memberitahu prosesor dengan mengirim interupt request. Sebagai responnya, OS menetapkan program yang ditunda ke keadaan runnable sehingga dapat dipilih oleh scheduler untuk melanjutkan eksekusi.


9

memory merupakan hardware ato perangkat keras yang berfungsi untuk menyimpan data. Data yang disimpan bisa berupa data yang bersifat sementara bisa berupa data yang permanen. Dan memory tersebut ada beberapa. Yang akan aku bahas di artikel kali ini adalah DMA.Direct Memory Access (DMA), jika di artikan dalam bahasa indonesia adalah akses memori langsung. DMA merupakan fitur yang modern dan komputer yang memungkinkan microprocessors hardware subsystems tertentu di dalam komputer untuk mengakses memori sistem untuk membaca dan / atau menulis secara independen dari pusat pengolahan unit. Singkatnya, DMA adalah sistem yang dapat mengontrol sistem memori tanpa menggunakan CPU. Banyak sistem menggunakan perangkat keras DMA termasuk kontroler disk drive, kartu grafis, kartu jaringan, kartu suara dan GPUs
.
2.2.2 Kegunaan
DMA juga digunakan intra-chip untuk transfer data dalam multi-core, terutama dalam sistem multiprocessor-on-chip, di mana elemen-nya adalah proses yang dilengkapi dengan memori lokal (sering disebut alas memori) dan DMA digunakan untuk mentransfer data antara lokal memori dan memori utama. Komputer yang ada DMA channel dapat mentransfer data dari dan ke perangkat dengan CPU overhead jauh lebih sedikit daripada komputer tanpa saluran DMA . Demikian pula di dalam sebuah elemen pemrosesan multi-core processor dapat mentransfer data ke dan dari memori tanpa menempati prosesor waktu, mesin dan membuat data tumpang tindih.

2.2.3 Cara Kerja
1.CPU mengirimkan data-data berikut ini ke DMA controller:
Perintah Read/Write
Alamat device yang akan diakses
Alamat awal blok memori yang akan dibaca/ditulisi
Jumlah blok data yang akan ditransfer
2. CPU k k i l i mengeksekusi program lain
3. DMA controller mengirimkan seluruh blok data (per satu word) langsung ke memori tanpa
melibatkan CPU)
4.DMA controller mengirim interrupt ke CPU jika telah selesai


10



5. DMA controller mengambil alih bus sebanyak satu siklus
6. DMA men-transfer satu word data
7. Pengambil alihan bus oleh DMA bukan interrupt CPU tidak perlu menyimpan context
8 CPU hanya tertunda (suspend) sesaat satu siklus) sebelum mengakses bus
Yaitu sebelum operand atau data diambil atau ditulis

Diagram modul DMA

2.2.4 Konfigurasi modul DMA

Konfigurasi DMA (1)
Hanya menggunakan single bus
DMA dan modul I/O terpisah
Setiap transfer harus mengakses bus 2 kali:
modul I/O ke DMA kemudian DMA ke memori
CPU tertunda 2 kali  lebih lambat




11



Konfigurasi DMA (2)
Hanya menggunakan single bus
modul I/O terintegrasi
Satu DMA controller dapat menangani >1 modul I/O
Setiap transfer hanya perlu mengakses bus satu kali saja DMA ke memori
CPU hanya tertunda satu kali lebih baik

Konfigurasi DMA (3)
Digunakan bus I/O secara terpisah
Semua modul I/O cukup dilayani dengan sebuah DMA  lebih hemat hardware
Setiap transfer hanya perlu mengakses bus satu kali sajaDMA ke memori
CPU hanya tertunda satu kali lebih baik







12



2.2.5 Jalur-jalur tranfer DMA
Terdapat tiga jalur independen untuk transfer DMA. Setiap saluran yang memicu untuk menerima transfer melalui besar multiplexer yang memilih d0i antara banyak sinyal. Saat sinyal diaktifkan, transfer terjadi. Bit DMAxTSELx dari Kontrol DMA 0 Daftar (DMACTL0). DMA controller menerima sinyal mpemicu tetapi akan mengabaikan itu dalam kondisi tertentu. Hal ini diperlukan untuk cadangan memori bus untuk memprogram ulang dan me non-maskable interrupts dll. Pengendali juga menangani konflik untuk memicu bersamaan. Prioritas yang dapat disesuaikan dengan menggunakan kontrol Daftar DMA 1 (DMACTL1). Ketika beberapa pemicuan terjadi secara bersamaan, mereka muncul di urutan modul prioritas. DMA yang kemudian memicu ke modul yang memicu diaktifkan. DMA saluran yang akan menyalin data dari  blok atau lokasi memori ke lokasi memori tujuan atau blok. Ada banyak variasi ini, dan mereka dikendalikan oleh DMA Channel x Daftar Control (DMAxCTL):
1. Transfer single - setiap pemicuan menyebabkan sekali transfer. Modul akan menonaktifkan dirinya sendiri ketika DMAxSZ jumlah transfer telah terjadi (pengaturan untuk mencegah transfer nol). The DMAxSA dan DMAxDA register mengatur alamat yang akan ditransfer ke dan dari. DMAxCTL mendaftar di alamat ini juga memungkinkan untuk incremented atau decremented oleh 1 atau 2 byte dengan setiap transfer. Ini mentransfer halts CPU
2. Blok Transfer - seluruh blok yang ditransfer pada setiap memicu. Modul menonaktifkan sendiri saat ini blok transfer selesai. Ini mentransfer halts CPU, dan akan mentransfer setiap lokasi memori sekaligus. Mode ini menonaktifkan modul ketika transfer selesai.
3. Blokir burst-Transfer - ini sangat mirip dengan modus Transfer Blokir kecuali CPU dan DMA transfer dapat interleave operasi mereka. Ini akan mengurangi CPU hingga 20% sementara pada DMA yang sedang terjadi, namun CPU tidak akan berhenti sama sekali. Interrupt yang terjadi jika blok sudah ditransfer sepenuhnya. Mode ini menonaktifkan modul ketika transfer selesai.
4. Single diulang Transfer - sama seperti Single Transfer Mode di atas kecuali bahwa modul tidak dinonaktifkan ketika transfer selesai.
5. Diulang Blokir Transfer - sama seperti di atas modus Transfer Blokir kecuali bahwa modul tidak dinonaktifkan ketika transfer selesai.
6. Diulang-burst Blokir Transfer - sama burst Blokir Transfer Mode di atas kecuali bahwa modul tidak dinonaktifkan ketika transfer selesai.

13


2.2.6 Kelemahan
Tanpa DMA, diprogram menggunakan input / Output (PIO) mode untuk berkomunikasi dengan perangkat pinggiran, atau menggunakan / menyimpan instruksi dalam kasus multicore chips,CPU biasanya penuh diduduki untuk seluruh durasi dari operasi membaca atau menulis, dan dengandemikian tidak tersedia untuk melakukan pekerjaan lain. Dengan DMA, CPU akan melakukan transfer, lakukan operasi lainnya sementara transfer yang sedang berlangsung, dan menerima mengganggu dari DMA controller setelah operasi telah selesai. Hal ini sangat berguna dalam real-time komputasi di mana aplikasi tidak stalling belakang yg berbarengan operasi adalah penting. Dan aplikasi lain yang berhubungan dengan berbagai daerah adalah bentuk streaming pemrosesan dimana perlu ada pengolahan data dan transfer paralel, untuk mencapai throughput memadai.































14



BAB3
Penutup


Semoga makalah ini dapat membantu para pembaca agar lebih memahami tentang DATA BUS DAN DMA dan pembaca mengembangkan teknologi yang ada, yang nantinya mungkin akan menhasilkan suatu penemuan – penemuan baru yang berguna bagi masyarakat luas terutama bangsa Indonesia. Terlebih lagi untuk menunjukkan bahwa sumber daya masyarakat Indonesia tidak kalah dengan negara lain.

3.1Kesimpulan
Komputer tersusun atas beberapa komponen penting, seperti CPU, memori, perangkat I/O, dll. Sistem bus adalah penghubung bagi keseluruhan komponen komputer dalam menjalankan tugasnya. Kumpulan lintasan atau saluran berbagai modul disebut struktur interkoneksi. Rancangan struktur interkoneksi sangat bergantung pada jenis dan karakteristik pertukaran datanya. Secara umum fungsi saluran bus dikategorikan dalam 3 bagian saluran data, saluran alamat dan saluran control.
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. Direct memory access (DMA) adalah satu metode di mana beberapa hardware tertentu bisa mengakses memori sistem untuk proses baca/tulis tanpa melibatkan kerja dari CPU. Beberapa hardware yang dapat menggunakan teknik ini yaitu disk drive, kartu grafis, network card dan sound card.
Tanpa DMA, proses input/output, selalu membuat CPU fokus penuh untuk mengerjakan proses transfer data ini. Dengan DMA, CPU cukup memulai prosesnya dan bisa melakukan kerja lain selama proses transfer itu berlangsung dan tinggal menunggu informasi dari DMA controller jika proses transfer sudah selesai.

0 komentar:

Posting Komentar