Sistem BUS dan cara kerja ALU pada komputer

PENGERTIAN BUS DAN SISTEM BUS


Bus merupakan lintasan komunikasi yang menghubungkan dua atau lebih perangkat komputer. Karakteristik penting sebuah bus adalah bahwa bus merupakan media transmisi yang dapat digunakan bersama. Sejumlah perangkat yang terhubung ke bus dan suatu sinyal yang ditransmisikan oleh salah satu perangkat ini dapat ditermia oleh salah satu perangkat yang terhubung ke bus. Bila dua buah perangkat melakukan transmisi dalam waktu yang bersamaan, maka sinyal-sinyalnya akan bertumpang tindih dan menjadi rusak. Dengan demikain, hanya sebuah perangkat saja yang akan berhasil melakukan transimi pada suatu saat tertentu.

Umumnya sebuah bus terdiri dari sejumlah lintasan komunikasi atau saluran. Masing-masing saluran dapat mentransmisikan sinyal yang menunjukkan biner 1 dan biner 0. Serangkaian digit biner dapat ditransmisikan melalui saluran tunggal. Dengan mengumpulkan beberapa saluran dari sebuah bus, dapat digunakan mentransmisikan digit biner secra bersamaan (paralel). Misalnya sebuah satuan data 8 bit dapat ditransmisikan melalui bus delapan saluran.

Sistem komputer terdiri dari sejumlah bus yang berlainan yang menyediakan jalan antara dua buah komponen pada bermacam-macam tingkatan hirarki sisterm komputer. Sebuah bus yang menghubungkan komponen-komponen utama komputer (CPU, memori, input/output) disebut bus sistem. Struktur interkoneksi komputer yang umum didasarkan pada penggunaan satu bus sistem atau lebih.

STRUKTUR BUS
Sebuah bus sistem terdiri dari 50 hingga 100 saluran yang terpisah. Masing-masing saluran ditandai dengan arti dan fungsi khusus. Walaupun terdapat sejumlah rancangan bus yang berlainan, fungsi saluran bus dapat diklasifikasikan menjadi tiga kelompok, yaitu saluran data, saluran alamat, dan saluran kontrol. Selain itu, terdapat pula saluran distribusi daya yang memberikan kebutuhan daya bagi modul yang terhubung.

A. Saluran Data
Saluran data memberikan lintasan bagi perpindahan data antara dua modul sistem. Saluran ini secara kolektif disebut bus data. Umumnya bus data terdiri dari 8, 16, 32 saluran, jumlah saluran diakitakan denang lebar bus data. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit, maka jumlah saluran menentukan jumlah bit yang dapat dipindahkan pada suatu saat. Lebar bus data merupakan faktor penting dalam menentukan kinerja sistem secara keseluruhan. Misalnya, bila bus data lebarnya 8 bit, dan setiap instruksi panjangnya 16 bit, maka CPU harus dua kali mengakses modul memori dalam setiap siklus instruksinya.


B. Saluran Alamat
Saluran alamat digunakan untuk menandakan sumber atau tujuan data pada bus data. Misalnya, bila CPU akan membaca sebuah word data dari memori, maka CPU akan menaruh alamat word yang dimaksud pada saluran alamat. Lebar bus alamat akan menentukan kapasitas memori maksimum sistem. Selain itu, umumnya saluran alamat juga dipakai untuk mengalamati port-port input/outoput. Biasanya, bit-bit berorde lebih tinggi dipakai untuk memilih lokasi memori atau port I/O pada modul.

C. Saluran Kontrol
Saluran kontrol digunakan untuk mengntrol akses ke saluran alamat dan penggunaan data dan saluran alamat. Karena data dan saluran alamat dipakai bersama oleh seluruh komponen, maka harus ada alat untuk mengontrol penggunaannya. Sinyal-sinyal kontrol melakukan transmisi baik perintah maupun informasi pewaktuan diantara modul-modul sistem. Sinyal-sinyal pewaktuan menunjukkan validitas data dan informasi alamat. Sinyal-sinyal perintah mespesifikasikan operasi-operasi yang akan dibentuk. Umumnya saluran kontrol meliputi : memory write, memory read, I/O write, I/O read, transfer ACK, bus request, bus grant, interrupt request, interrupt ACK, clock, reset.

JENIS TRANSFER DATA
Suatu bus mendukung bermacam-macam transfer data. Semua bus mendukung transfer baca (master ke slave) dan transfer tulis (slave ke master). Pada semua multiplexed address/data bus, pertama-tama bus digunakan untuk menspesifikasikan alamat dan kemudian untuk melakukan transfer data. Untuk operasi baca, biasanya terdapat waktu tunggu pada saat data sedang diambil dari slave untuk ditaruh pasda bus. Baik bagi operasi baca maupun tulis, mungkin juga terdapt delay bila hal itu diperlukan untuk melalui arbitrasi agar mendapatkan kontrol  bus untuk sisa operasi (yaitu, mengambil alih bus untuk melakukan request baca atau tulis, kemudian mengambil alih lagi bus untuk membentuk operasi vaca atau tulis.

Pada alamat dedicated dan bus-bus data, alamat ditaruh ada bus alamat dan tetap berada di sana selama data tersimpan pada bus data. Bagi operasi tulis, master menaruh data pada bus data begitu alamat telah staabil dan slave telah mempunyai kesempatan untuk mengetahui alamatnya. Bagi operasi baca, slave menaruh data pada bus dan begitu slave mengetahui alamtnya dan telah mengambil data.

Terdapat pula beberapa kombinasi operasi yang diizinkan oleh sebagian bus. Suatu operasi baca-modifikasi-tulis merupakan sebuah oerasi baca yang diikuti oleh operasi tulis ke alamat yang sama. Alamat hanya di-broadcast satu kali saja pada awal operasi. Baiasanya urutan operasi secara keseluruhan tidak dapat dibagi-bagi untuk menjaga setiap akses ke element data oleh master-master bus lainnya. Tujuan utama dari kemampuan ini adalah untuk melindungi sumber daya memori yang dapat dipakai bersama di dalam sistem multiprogramming.

Operasi read-after-write merupakan operasi yang tidak dapat dibagi-bagi yang berisi operasi tulis yang diikuti oleh operasi baca dari alamat yang sama. Operasi baca dibentuk untuk tujuan pemeriksaan.
Sebagian sistem bus juga mendukung trasnfer data blok. Dalam hal ini, sebuah siklus alamat diikuti oleh n siklus data. Butir data pertama ditransfer ke almat tertentu atau ditransfer dari alamat tertentu. Butir-butir data lainnya ditransfer ke alamat berikutnya atau ditransfer dari alamat sebelumnya

CONTOH BUS 
Banyak perusahaan yang mengembangkan bus-bus antarmuka terutama untuk perangkat peripheral. Dimana setiap bus yang dikembangkan tersebut memiliki keunggulan, kelemahan, harga dan teknologi yang berbeda sehingga akan mempengaruhi jenis-jenis penggunaannya. Berikut adalah contohnya:

-           PCI (Pheriperal Component Interconnect)
-           ISA (Industry Standard Architecture)
-           USB (Universal Standard Bus)
-           SCSI (Small Computer System Interface)
-           FUTUREBUS+
-           FIREWIRE

Cara Kerja ALU pada Komputer


ALU(Arithmetic and Logic Unit) adalah sebuah kumpulan gerbang logika yang disatukan untuk dapat mengerjakan beberapa fungsi tertentu tergantung kontrol yang diberikan. Artinya ALU dapat mengerjakan berbagai jenis fungsi sekaligus dengan memilih jenis fungsi mana yang akan dilakukan pada ALU tersebut. Contohnya adalah ALU 1 bit yang dapat mengerjakan fungsi logika(AND, OR, NOT) dan fungsi Full Adder sekaligus. ALU ini menggunakan Gerbang logika untuk operasinya yaitu AND, OR, dan NOT, serta sebuah IC Full Adder(7483). Untuk melakukan kontrol digunakan multiplexer 4 to 1 dengan 2 selector.

Seperti terlihat pada rangkaian diatas, A, B, dan Cin adalah input data utama yang berhubungan langsung dengan 4 operasi dasar yang dapat dilakukan ALU tersebut. Kemudian output dari operasi- operasi dasar itu dimasukkan ke input dari multiplexer 4 to 1. Seperti yang kita ketahui multiplexer hanya akan mengeluarkan 1 output tergantung dari nilai selectornya. Karena itulah F0, dan F1 digunakan sebagai selector pada multiplexer sehingga selector ini dapat berfungsi sebagai kontrol operasi terhadap ALU tersebut.

Selector (F0,F1) bernilai 00 untuk operasi Not dengan input A sehingga B dan Cin tidak berpengaruh pada output
Selector (F0,F1) bernilai 01 untuk operasi OR dengan input A dan B sehingga Cin tidak berpengaruh pada output
Selector (F0,F1) bernilai 10 untuk operasi AND dengan input A dan B sehingga Cin tidak berpengaruh pada output
Selector (F0,F1) bernilai 11 untuk operasi Full Adder dengan input A, B dan Cin dengan output hasil Q dan output tambahan Cout.


Khusus untuk full adder dibutuhkan output tambahan yaitu Cout. Cout hanya digunakan saat fungsi Full adder yang dipilih karena itu digunakan gerbang AND untuk membuat output Cout bernilai 0(tidak berfungsi) saat mengerjakan fungsi yang bukan Full adder. Selector digabungkan dengan gerbang AND sehingga hanya akan bernilai 1 saat mengerjakan fungsi full adder(F0,F1 = 11)dan hasil output selector ini di masukkan gerbang AND lagi bersama dengan output dari IC Full Adder(7483).



ALU yang telah dibahas adalah ALU 1 bit karena outputnya hanya 1 bit saja meskipun ada nilai Cout. Untuk ALU yang lebih dari 1 bit misal ALU 4 bit dapat dirancang sedemikian rupa sehingga dapat mengerjakan fungsi lain misal subtractor. ALU semacam ini menggunakan prinsip detak(Clock) seperti pada register.

Komentar

Postingan populer dari blog ini

PROPOSAL KEBERSIHAN LINGKUNGAN DESA PENGASINAN

METODE DAN TEKNIK IDENTIFIKASI,PRAKIRAAN/ PREDIKSI DAN EVALUASI DAMPAK LINGKUNGAN