Selasa, 19 April 2011

Sistem Bus


Computer tersusun atas beberapa komponen penting seperti CPU, memori, perangkat I/O. setiap computer saling berhubungan membentuk kesatuan fungsi. System bus adalah penghubung bagi keseluruhan komponen computer dalam menjalankan tugasnya. Transfer data antar komponen komputer sangatlah mendominasi kerja suatu computer. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi CPU melalui perantara bus, begitu juga kita dapat melihat hasil eksekusi melalui monitor juga menggunakan system bus.
1.      Struktur Interkoneksi
Komputer tersusun atas komponen – komponen atau modul – modul (CPU, memori dan
I/O) yang saling berkomunikasi. Kompulan lintasan atau saluran berbagai modul disebut struktur interkoneksi. Rancanagan struktur interkoneksi sangat bergantung pada jenis dan karakteristikpertukaran datanya.
Gambar 7.1 menyajikan jenis pertukaran data yang diperlukan oleh modul – modul
penyusun komputer :
• Memori :
Memori umumnya terdiri atas N word memori dengan panjang yang sama. Masing – masing
word diberi alamat numerik yang unik (0, 1, 2, …N-1). Word dapat dibaca maupun ditulis pada
memori dengan kontrol Read dan Write. Lokasi bagi operasi dispesifikasikan oleh sebuah
alamat.
• Modul I/O :
Operasi modul I/O adalah pertukaran data dari dan ke dalam komputer. Berdasakan pandangan
internal, modul I/O dipandang sebagai sebuah memori dengan operasi pembacaan dan
penulisan. Seperti telah dijelaskan pada bab 6 bahwa modul I/O dapat mengontrol lebih dari
sebuah perangkat peripheral. Modul I/O juga dapat mengirimkan sinyal interrupt.
• CPU :
CPU berfungsi sebagai pusat pengolahan dan eksekusi data berdasarkan routine – routine
program yang diberikan padanya. CPU mengendalikan seluruh sistem komputer sehingga
sebagai konsekuensinya memiliki koneksi ke seluruh modul yang menjadi bagian sistem
komputer.
                                            
  Gambar 1 Modul – modul komputer

Dari jenis pertukaran data yang diperlukan modul – modul komputer, maka struktur
interkoneksi harus mendukung perpindahan data berikut :
Memori ke CPU : CPU melakukan pembacaan data maupun instruksi dari memori.
CPU ke Memori : CPU melakukan penyimpanan atau penulisan data ke memori.
I/O ke CPU : CPU membaca data dari peripheral melalui modul I/O.
CPU ke I/O : CPU mengirimkan data ke perangkat peripheral melalui modul I/O.
I/O ke Memori atau dari Memori : digunakan pada sistem DMA.
Sampai saat ini terjadi perkembangan struktur interkoneksi, namun yang banyak
digunakan saat ini adalah sistem bus. Sistem bus ada yang digunakan secara tunggal dan ada
secara jamak, tergantung karakteristik sistemnya
2.      Interkoneksi Bus – Struktur Bus
Sebuah bus biasanya terdiri atas beberapa saluran. Sebagai contoh bus data terdiri atas 8 saluran sehingga dalam satu waktu dapat mentransfer data 8 bit. Secara umum fungsi saluran busdikatagorikan dalam tiga bagian, yaitu : Saluran Data, Saluran Alamat, Saluran Kontrol seperti terlihat pada gambar 2.

               


                                                             Gambar 2 : Pola interkoneksi bus
       Saluran Data
Lintasan bagi perpindahan data antar modul. Secara kolektif lintasan ini disebut bus data. Umumnya jumlah saluran terkait dengan panjang word, misalnya 8, 16, 32 saluran.
Tujuan : agar mentransfer word dalam sekali waktu.
Jumlah saluran dalam bus data dikatakan lebar bus, dengan satuan bit, misal lebar bus 16 bit
      Saluran Alamat (Address Bus)
• Digunakan untuk menspesifikasi sumber dan tujuan data pada bus data.
• Digunakan untuk mengirim alamat word pada memori yang akan diakses CPU.
• Digunakan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul.
• Semua peralatan yang terhubung dengan sistem komputer, agar dapat diakses harus memiliki alamat.
Contoh : mengakses port I/O, maka port I/O harus memiliki alamat hardware-
nya
        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.
Sinyal – sinyal kontrol terdiri atas sinyal pewaktuan  dan sinyal–sinyal perintah .Sinyal pewaktuan menandakan validitas data dan alamat,sinyal–sinyal perintah adalah  Sinyal perintah berfungsi membentuk suatu operasi.
Secara umum saluran kontrol meliputi :
Memory Write, memerintahkan data pada bus akan dituliskan ke dalam lokasi alamat.
Momory Read memerintahkan data dari lokasi alamat ditempatkan pada bus data.
I/O Write, memerintahkan data pada bus dikirim ke lokasi port I/O.
I/O Read, memerintahkan data dari port I/O ditempatkan pada bus data.
Transfer ACK, menunjukkan data telah diterima dari bus atau data telah ditempatkan
pada bus.
Bus Request, menunjukkan bahwa modul memerlukan kontrol bus.
Bus Grant, menunjukkan modul yang melakukan request telah diberi hak mengontrol
bus.
Interrupt Request, menandakan adanya penangguhan interupsi dari modul.
Interrupt ACK, menunjukkan penangguhan interupsi telah diketahui CPU.
Clock, kontrol untuk sinkronisasi operasi antar modul.
Reset, digunakan untuk menginisialisasi seluruh modul.
Secara fisik bus adalah konduktor listrik paralel yang menghubungkan modul – modul.      Prinsip operasi bus adalah sebagai berikut. Operasi pengiriman data ke modul lainnya :
 Meminta penggunaan bus.
Apabila telah disetujui, modul akan memindahkan data yang diinginkan ke modul yang
dituju.
Operasi meminta data dari modul lainnya :
 Meminta penggunaan bus.
 Mengirim request ke modul yang dituju melalui saluran kontrol dan alamat yang
sesuai.
 Menunggu modul yang dituju mengirimkan data yang diinginkan.

3.     Hierarki Multiple Bus
Bila terlalu banyak modul atau perangkat dihubungkan pada bus maka akan terjadi penurunan kinerja, yang disebabkan oleh :
             • Semakin besar delay propagasi untuk mengkoordinasikan penggunaan bus.
             • Antrian penggunaan bus semakin panjang.
             • Dimungkinkan habisnya kapasitas transfer bus sehingga memperlambat data.
Antisipasi dan solusi persoalan di atas adalah penggunaan bus jamak yang hierarkis.
Modul – modul dikalasifikasikan berdasarkan kebutuhan terhadap lebar dan kecepatan bus. Bus biasanya terdiri atas bus lokal, bus sistem, dan bus ekspansi.
4.      Elemen Perancangan Bus
Saat ini terdapat banyak implementasi sistem bus, tetapi parameter dasar perancangan bus dapat diklasifikasikan berdasarkan jenis (dedicated dan mulitiplexed), metode arbitrasi (tersentralisasi dan terdistribusi), timing (sinkron dan tak sinkron), lebar bus (lebar address dan lebar data) dan jenis transfer datanya(read, write, read-modify-write, read-alter-write, block).Tujuan yang hendak dicapai dalam perancangan adalah bagaimana bus dapat cepat menghantarkan data dan efisiensinya tinggi. Intinya karakteristik pertukaran data dan modul yang terkait merupakan pertimbangan utama dalam perancangan bus.
Jenis Bus
Berdasar jenis busnya, bus dibedakan menjadi bus yang khusus menyalurkan data tertentu,
misalnya paket data saja, atau alamat saja, jenis ini disebut dedicated bus. Namun apabila bus
dilalukan informasi yang berbeda baik data, alamat maupun sinyal kontrol dengan metode
mulipleks data maka bus ini disebut multiplexed bus.
         Keuntungan mulitiplexed bus adalah hanya memerlukan saluran sedikit sehingga dapat
menghemat tempat, namun kerugiannya adalah kecepatan transfer data menurun dan diperlukan mekanisme yang komplek untuk mengurai data yang telah dimulitipleks.
Saat ini yang umum, bus didedikasikan untuk tiga macam, yaitu bus data, bus alamat dan bus
kontrol.
Metode Arbitrasi
Terdapat dua macam metode arbitrasi, yaitu tersentral dan terdistribusi. Pada metode
tersentral diperlukan pengontrol bus sentral atau arbiter yang bertugas mengatur penggunaan bus oleh modul. Arbiter bisa suatu modul atau bagian fungsi CPU. Sedangkan dalam metode
terdistribusi, setiap modul memiliki logika pengontrol akses (access control logic) yang berfungsi mengatur pertukaran data melalui bus. Kedua metode arbitrasi intinya menugaskan suatu perangkat bisa modul I/O ataupun CPU bertindak sebagai master kontrol pertukaran.
Timing
Metode pewaktuan sinkron terjadinya event pada bus ditentukan oleh sebuah pewaktu
(clock). Sebuah transmisi 1 – 0 disebut siklus waktu atau siklus bus dan menentukan besarnya slot waktu. Semua perangkat modul pada bus dapat membaca atau pengetahui siklus clock. Biasanya satu siklus untuk satu event. Model ini mudah diimplementasikan dan cepat namun kurang fleksibel menangani peralatan yang beda kecepatan operasinya. Biasanya digunakan untuk modul– modul tertentu yang sudah jelas karakteristiknya. Dalam pewaktuan asinkron memungkinkan kerja modul yang tidak serempak kecepatannya. Dalam pewaktuan asinkron, event yang terjadi pada bus tergantung event sebelumnya sehingga diperlukan sinyal – sinyal validasi untuk mengidentifikasi data yang ditransfer. Sistem ini mampu menggabungkan kerja modul – modul yang berbeda kecepatan maupun teknologinya, asalkan aturan transfernya sama.
Lebar Bus
Lebar bus sangat mempengaruhi kinerja sistem komputer. Semakin lebar bus maka
semakin besar data yang dapat ditransfer sekali waktu. Semakin besar bus alamat, akan semakin banyak range lokasi yang dapat direfensikan.
Jenis Transfer Data
Dalam sistem komputer, operasi transfer data adalah pertukaran data antar modul sebagai
tindak lanjut atau pendukung operasi yang sedang dilakukan. Saat operasi baca (read), terjadi
pengambilan data dari memori ke CPU, begitu juga sebaliknya pada operasi penulisan maupun operasi – operasi kombinasi. Bus harus mampu menyediakan layanan saluran bagi semua operasi komputer.
Contoh Bus
Banyak perusahaan yang mengembangkan bus – bus antarmuka terutama untuk
perangkat peripheral. Diantara jenis bus yang beredar di pasaran saat ini adalah PCI, ISA, USB, SCSI, FuturaBus+, FireWire, dan lain – lain. Semua memiliki keunggulan, kelemahan, harga dan teknologi yang berbeda sehingga akan mempengaruhi jenis – jenis penggunaannya.
Bus ISA
Ketika IBM memperkenalkan PC/AT yang berbasiskan CPU 80286, perusahaan ini
menghadapi masalah besar. Jika IBM telah memulai sejak awal dan merancang sebuah bus 16 bit yang seluruhnya baru, banyak konsumen potensial akan bergegas membeli mesin tersebut karena tidak ada satupun dari begitu banyak papan plug-in PC yang disediakan oleh para vendor pihak ketiga dapat bekerja dengan menggunakan mesin baru tersebut. Di sisi lain, dengan tetap berpegang pada bus PC dan 20 jalur alamatnya serta 8 jalur data tidak akan memperoleh manfaat dari keunggulan CPU 80286 untuk mengalamatkan 16 M memori dan mentransfer word 16 bit.Solusi yang dipilih adalah mengembangkan PC. Kartu-kartu plug-in PC memiliki sebuah konektor sisi dengan 62 kontak, tetapi operasi konektor sisi ini tidak menjangkau seluruh papan ini. Solusi PC/AT adalah menempatkan sebuah konektor sisi kedua pada bagian dasar papan tersebut, dekat dengan konektor sisi utama, dan merancang sirkuit AT untuk beroperasi dengan kedua jenis papan ini. Konektor kedua pada bus PC/AT memiliki 36 jalur. Dari ke-36 jalur ini, 31 disediakan untuk jalur-jalur alamat tambahan, jalur-jalur data tambahan, jalur-jalur interupsi tambahan, serta untuk daya dan ground. Sisanya digunakan untuk mengatasi perbedaan-perbedaan antara transfer 8 bit dan 16 bit.
Industri komputer personal lainnya merespon perkembangan ini dengan mengadopsi
standarnya sendiri, bus ISA (Industry Standar Architecture), yang pada dasarnya adalah bus
PC/AT yang beroperasi pada 8,33 MHz. Keuntungannya adalah bahwa pendekatan ini tetap
mempertahankan kompatibilitas dengan mesin-mesin dan kartu-kartu yang ada. Pendekatan ini juga didasarkan pada sebuah bus yang telah dilisensikan secara bebas oleh IBM kepada banyak perusahaan dalam rangka untuk menjamin bahwa sebanyak mungkin pihak ketiga dapat memproduksi kartu-kartu untuk PC pertama, sesuatu yang kembali menghantui IBM. Setiap PC yang berbasiskan Intel masih menggunakan bus jenis ini, meskipun biasanya juga disertai dengan satu atau lebih bus lain
Bus PCI
Peripheral Component Interconnect (PCI) adalah bus yang tidak tergantung prosesor dan
berfungsi sebagai bus mezzanine atau bus peripheral. PCI memiliki kinerja tinggi untuk sistem I/O berkecepatan tinggi seperti : video adaptor, NIC, disk controller, sound card, dan lain-lain. Standard PCI adalah 64 saluran data pada kecepatan 33 MHz, laju transfer data 264 MB per detik atau 2,112 Gbps. Keunggulan PCI tidak hanya pada kecepatannya saja tetapi murah dengan keping yang sedikit.Intel mulai menerapkan PCI pada tahun 1990 untuk sistem pentiumnya. Untuk mempercepat penggunaan PCI, Intel mempatenkan PCI bagi domain publik sehingga vendor dapat mengeluarkan produk dengan PCI tanpa royalti.
 Bus USB
Semua perangkat peripheral tidak efektif apabila dipasang pada bus berkecepatan tinggi
PCI, sedangkan banyak peralatan yang memiliki kecepatan rendah seperti keyboard, mouse, dan printer. Sebagai solusinya tujuh vendor komputer (Compaq, DEC, IBM, Intel, Microsoft, NEC,dan Northern Telecom) bersama-sama merancang bus untuk peralatan I/O berkecepatan rendah.
Standard yang dihasilkan dinamakan Universal Standard Bus (USB).
Keuntungan yang didapatkan dan tujuan dari penerapan USB adalah sebagai berikut :
  •        Pemakai tidak harus memasang tombol atau jumper pada PCB atau peralatan.
  •      Pemakai tidak harus membuka casing untuk memasang peralatan I/O baru. 
  •    Hanya satu jenis kabel yang diperlukan sebagai penghubung
  •     Dapat mensuplai daya pada peralatan-peralatan I/O
  •     Memudahkan pemasangan peralatan-peralatan yang hanya sementara dipasang pada komputer
  •   Tidak diperlukan reboot pada pemasangan peralatan baru dengan USB. 
  •     Murah
Bandwidth total USB adalah 1,5 MB per detik. Bandwidth itu sudah mencukupi peralatan
I/O berkecepatan rendah seperti keyboard, mouse, scanner, telepon digital, printer, dan
sebagainya. Kabel pada bus terdiri dari 4 kawat, 2 untuk data, 1 untuk power (+5 volt), dan 1
untuk ground. Sistem pensinyalan mentransmisikan sebuah bilangan nol sebagai transisi tegangan dan sebuah bilangan satu bila tidak ada transmisi tegangan.                 
Bus SCSI
Small Computer System Interface (SCSI) adalah perangkat peripheral eksternal yang dipopulerkan oleh macintosh pada tahun 1984. SCSI merupakan interface standard untuk drive CD-ROM, peralatan audio, hard disk, dan perangkat penyimpanan eksternal berukuran besar. SCSI menggunakan interface paralel dengan 8, 16, atau 32 saluran data.                                             
Bus P1394 / Fire Wire
Semakin pesatnya kebutuhan bus I/O berkecepatan tinggi dan semakin cepatnya prosesor
saat ini yang mencapai 1 GHz, maka perlu diimbangi dengan bus berkecapatan tinggi juga. Bus 90 SCSI dan PCI tidak dapat mencukupi kebutuhan saat ini. Sehingga dikembangkan bus
performance tinggi yang dikenal dengan Fire Wire (P1394 standard IEEE).P1394 memiliki kelebihan dibandingkan dengan interface I/O lainnya, yaitu sangat cepat, murah, dan mudah untuk diimplementasikan. Pada kenyataanya P1394 tidak hanya populer pada sistem komputer, namun juga pada peralatan elektronik seperti pada kamera digital, VCR, dan
televisi. Kelebihan lain adalah penggunaan transmisi serial sehingga tidak memerlukan banyak kabel
Sumber :
www2.eepis-its.edu/~setia/Modul/Orkom/P14.pdf
margono.staff.uns.ac.id/files/2009/06/sistem-bus.ppt
www.linkpdf.com/download/dl/makalah-sistem-bus-.pdf
www.blackhackevolution.co.cc/2010/.../sistem-bus-dan-dma.html

Control Unit ( CU )


 Control Unit  (CU) adalah salah satu bagian dari    CPU yang  bertugas untuk memberikan arahan/kendali/ kontrol  terhadap operasi yang dilakukan di bagian ALU(Arithmetic Logical Unit) di dalam CP tersebut. Output dari CU ini akan mengatur aktivitas dari bagian  lainnya dari perangkat CPU tersebut.


                                            Gambar : Control Unit Layout
Dalam pengimplementasiannya, control unit dapat dibagi menjadi dua yaitu hardwired dan μprogrammed. Hardwired biasanya digunakan dalam arsitektur RISC, sedangkan untuk μprogrammed digunakan pada arsitektur CISC.Pada awal-awal desain komputer, CU diimplementasikan sebagai ad-hoc logic yang susah untuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store). Beberapa word  dari microprogram  dipilih oleh microsequencer dan bit yang datang dari word-word tersebut akan secara langsung mengontrol bagian-bagian berbeda dari perangkat tersebut, termasuk di antaranya adalah register, ALU, register instruksi, bus dan peralatan input/output di luar chip. Pada komputer modern, setiap subsistem ini telah memiliki kontrolernya masing-masing, dengan CU sebagai pemantaunya (supervisor).
Tugas CU
Tugas dari CU adalah sebagai berikut:
·         Mengatur dan mengendalikan alat-alat input dan output.
·         Mengambil instruksi-instruksi dari memori utama.
·         Mengambil data dari memori utama kalau diperlu
-kan oleh proses.
·         Mengirim instruksi ke ALU bila ada perhitungan  aritmatika atau perbandingan logika serta mengawasi kerja.
·         Menyimpan hasil proses ke memori utama.

Macam-macam CU :

     Single-Cycle CU

Proses di CUl ini hanya terjadi dalam satu clock cycle, artinya setiap instruksi ada pada satu cycle, maka dari itu tidak memerlukan state. Dengan demikian fungsi boolean masing-masing control line hanya merupakan fungsi dari opcode saja. Clock cycle harus mempunyai panjang yang sama untuk setiap jenis instruksi. Ada dua bagian pada unit kontrol ini, yaitu proses men-decode opcode untuk mengelompokkannya menjadi 4 macam instruksi (yaitu di gerbang AND), dan pemberian sinyal kontrol berdasarkan jenis instruksinya (yaitu gerbang OR). Keempat jenis instruksi adalah R-format (berhubungan dengan register), lw (membaca memori), sw(menulis ke memori), dan beq (branching). Sinyal kontrol yang dihasilkan bergantung pada jenis instruksinya. Misalnya jika melibatkan memori R-format atau lw maka akan sinyal Regwrite akan aktif. Hal lain jika melibatkan memori lwatau swmaka akan diberi sinyal kontrol ke ALU, yaitu ALUSrc. Desain single-cycle ini lebih dapat bekerja dengan baik dan benar tetapi cycle ini tidak efisien.
      Multi-Cycle CU
Berbeda dengan unit kontrol yang single-cycle, unit kontrol yang multi-cycle lebih memiliki banyak fungsi. Dengan memperhatikan state dan opcode, fungsi boolean dari masing-masing output control line dapat ditentukan. Masing-masingnya akan menjadi fungsi dari 10 buah input logic. Jadi akan terdapat banyak fungsi boolean, dan masing-masingnya tidak sederhana. Pada cycle ini, sinyal kontrol tidak lagi ditentukan dengan melihat pada bit-bit instruksinya. Bit-bit opcode memberitahukan operasi apa yang selanjutnya akan dijalankan CPU; bukan instruksi cycle selanjutnya.
 Sumber :       “ http://id.wikipedia.org/wiki/Control_Unit"