BAB III
SISTEM BUS
Program
Langkah yang terurut (a sequence of steps)
Setiap langkah membentuk operasi aritmatik dan logik.
Setiap operasi membutuhkan signal kontrol yang berbeda.
Fungsi Control Unit
Untuk setiap operasi membutuhkan kode unik
Setiap kode merupakan suatu instruksi dan H/W menginterpretasikan setiap
kode atau intruksi tersebut yang akan menghasilkan signal kontrol.
Kode tersebut disebut Software
Component Systems
CPU berisi Control Unit danArithmetic and Logic Unit (ALU)
Menerima data dan instruksi dalam beberapa bentuk dan untuk melaporkan
hasilnya
Input/output
Penyimpanan sementara kode dan intruksi
Main memory
Fetch Cycle
Terdiri dari pembacaan instruksi dari suatu lokasi di dalam memori
Program Counter (PC) mengawasi instruksi yang akan dibaca selanjutnya
Setiap kali membaca instruksi ditambahkan PC
Instruksi yang dibaca akan dimuatkan ke IR
Prosesor menginterpretasikan instruksi dan melakukan aksi yang diperlukan
Execute Cycle
Processor-memory
data dipindahkan dari CPU ke memori (sebaliknya)
Processor-I/O
Data dipindahkan ke/dari luar antara CPU dan I/O
Data processing
Membentuk operasi aritmatik dan logika data
Control
Mengubah urutan eksekusi (Misal operasi JUMP)
Combination
Interrupts
Menyediakan mekanisme untuk membuat modul yang lain (I/O, memori) dapat
menginterupsi pengolahan normal CPU
Kelas – kelas interupsi :
Program : dibangkitkan dg beberapa kondisi yg terjadi sebagai hasil dari
eksekusi instruksi (spt : aritmetik overflow, pembagian dg nol)
Timer : Dibangkitkan oleh timer di dalam prosesor (spt: fungsi khusus)
I/O : dibangkitkan oleh I/O controller untuk memberi signal
penyelesaian normal suatu operasi atau memberi signal error
H/W failure : dibangkitkan oleh kegagalan (spt kegagalan daya atau
memori parity error)
Interrupt Cycle
Ditambahkan ke siklus instruksi
Prosesor memeriksa apakah telah terjadi interupsi
Diindikasikan dengan signal interrupt
Jika TIDAK ADA interupsi, maka ke instuksi fetch selanjutnya
Jika interupsi pending:
Prosesor menangguhkan eksekusi program yg dieksekusi dan
menyimpannya
Prosesor menyetel PC ke alamat awal interrupt handler
Prosesor melakukan proses interup
Setelah selesai prosesor melakukan proses eksekusi selanjutnya.
Multiple Interrupt
Disable interrupts (tidak diizinkan terjadi interup)
Processor akan mengabaikan signal interrupt request jika saat suatu
interupt sedang diproses
Signal interrupt tersebut dipending dan dicek oleh prosesor setelah
interupt pertama selesai
Pendekatan ini tidak memperhatikan prioritas atau kebutuhan waktu
kritis.
Mendefinisikan prioritas interupt
Interupt berprioritas tinggi menyebabkan interrupt handler
berprioritas rendah menginterupsi dirinya
Ketika interupt berprioritas tinggi selesai diproses maka prosesor
kembali ke interrupt sebelumnya.
Struktur Interkoneksi
Semua unit harus berkomunikasi satu sama lain
Komunikasi tiap-tiap unit berbeda
Memory
Input/Output
CPU
Memori Connection
Modul memori terdiri dari N word yang memiliki panjang yg sama.
Setiap word dapat dibaca dari memori atau ditulis ke memori
Menerima signal kontrol : Read, Write, Timing
Menerima alamat lokasi operasi
Input/Output Connection
Berfungsi sama dengan memori berdasarkan sistem komputer
Terdapat 2 operasi Baca(output)dan tulis(input)
Output
Menerima data dari komputer
Mengirimkan data ke peripheral
Input
Menerima data dari peripheral
Mengirimkan data ke komputer
Menerima signal kontrol dari komputer
Mengirimkan signal kontrol ke peripheral
contoh spin disk
Menerima alamat dari komputer
e.g. jumlah port
Mengirimkan signal interupt
CPU Connection
Membaca instruksi dan data
Menulis data setelah diolah
Menggunakan signal kontrol untuk mengontrol operasi sistem secara
keseluruhan
Menerima signal interupt
Interkoneksi Bus
Lintasan komunikasi yang menghubungkan dua lebih devices
Bila dua buah perangkat melakukan transmisi dalam waktu bersamaan maka
signal-signal akan tumpang tindih dan menjadi rusak.
Hanya sebuah perangkat saja yang berhasil melakukan transmisi pada suatu
saat tertentu
Sebuah bus terdiri dari sejumlah lintasan atau saluran
Struktur interkoneksi komputer yang umum ditemukan didasarkan pada
penggunaan satu bus atau lebih
Fungsi saluran bus dapat diklasifikasikan menjadi 3 : bus data, bus alamat, bus
control
Data Bus
Lintasan bagi perpindahan data antara 2 modul sistem
Lebar bus data (jumlah saluran)
8, 16, 32, 64 bit
Menentukan jumlah bit yang dapat dipindahkan
Merupakan faktor penting dalam performance sistem
Address bus
Menandakan sumber atau tujuan data
Misal :CPU akan membaca sebuah word data dari memori maka CPU
akan menaruh alamat word yang dimaksud pada saluran alamat
Lebar bus alamat menentukan kapasitas memori maksimum sistem
contoh 8080 has 16 bit address bus giving 64k address space
Dipakai juga untuk mengalamati port-port I/O (biasanya bit-bit berorde
tinggi)
Control Bus
Mengontrol akses ke bus alamat dan penggunaan data dan bus alamat
Signal kontrol melakukan transmisi baik perintah maupun timing diantara
modul-modul sistem
Memory read/write signal
Interrupt request
Clock signals
Operasi bus : Bila sebuah modul akan mengirimkan data ke modul lain maka
modul itu harus melakukan 2 hal :
Memperoleh penggunaan bus
Memindahkan data melalui bus
Operasi bus : Bila sebuah modul akan meminta data ke modul lain maka modul
itu harus melakukan 2 hal :
Memperoleh penggunaan bus
Memindahkan sebuah request ke modul lainnya melalui bus kontrol dan
bus alamat yang sesuai
Bus Types
Dedicated
Separate data & address lines (terpisah)
Multiplexed
Shared lines (bersama-sama)
Address valid or data valid control line
Keuntungan – hanya memerlukan saluran yang lebih sedikit , menghemat
ruang dan biaya
Kerugian
Pengontrolan lebih komplek
Penurunan performance
Metode Arbitrasi
Lebih dari satu modul diperlukan untuk mengontrol bus
Contoh: Sebuah Modul I/O mungkin diperlukan untuk READ atau WRITE
secara langsung ke memori tanpa mengirimkan data ke CPU
Hanya sebuah unit yang akan berhasil mentransmisikan data melalui bus maka
diperlukan metode arbitrasi.
Digolongkan menjadi 2
Metode tersentralisasi : pengontrol bus (arbitter) bertugas alokasi waktu pada
bus (mungkin perangkat modul atau bagian CPU yang terpisah)
Metode terdistribusi : tidak terdapat pengontrol sentral, melainkan setiap
modul terdiri dari akses kontrol logik dengan memakai bus bersama-sama
Timing
Berkaitan dengan terjadinya event dikoordinasikan pada bus
Timing Synchronous
Terjadinya event pada bus ditentukan oleh clock
Sebuah transmisi 1-0 dikenal sebagai siklus waktu (siklus bus)
Semua device dapat READ saluran waktu
Mudah diimplementasikan
Usually sync on leading edge
Usually a single cycle for an event
Timing Asynchronous
Terjadinya sebuah event pada bus mengikuti dan tergantung pada event
sebelumnya.
Lebih fleksibel
Synchronous Timing Diagram
Asynchronous Timing Diagram
PCI (Peripheral Component Interconnection) Bus
Bus yang tidak tergantung pada prosesor dan berbandwidth tinggi
Dapat berfungsi sebagai bus mezzanine atau bus peripheral
Memberikan sistem yang lebih baik bagi subsistem I/O berkecepatan tinggi
(mis. Graphic display adapter, network interface controller, disk controller dll)
Intel released to public domain
Penggunaan sampai 64 bit saluran data pada kecepatan 33 Mhz kelajuan
transfer 264 Mbyte/detik
Versi PCI saat ini 2.0 diterbitkan thn 1993
Signal PCI Bus Lines (required)
Systems lines
Meliputi clock and reset
Address & Data
Meliputi 32 time mux lines for address/data
Interrupt & validate lines
Interface Control
Mengontrol timing transaksi
Arbitration
Not shared
Langsung dihubungkan dengan PCI bus arbiter
Error lines
PCI Bus Lines (Optional)
Interrupt lines
Not shared
Cache support
Digunakan untuk mendukung memori pada PCI
64-bit Bus Extension
Meliputi tambahan 32 lines time mux
2 lines untuk menyetujui penggunaan kemampuan 64 bit
JTAG/Boundary Scan
Untuk pengujian prosedur
PCI Read Timing Diagram
PCI Bus Arbitration