Anda di halaman 1dari 55

Organisasi dan Arsitektur Komputer

William Stallings
Edisi 7
Bab 3
Sistem Bus

Konsep Program
Sistem perangkat keras (hardwired) tidak
fleksibel.
Perangkat keras kegunaan umum dapat
melakukan tugas-tugas berbeda, dengan
cara memberikan sinyal kontrol yang
benar.
Disamping pengkabelan ulang, juga
menyediakan satu kelompok sinyal
kontrol yang baru.

Apakah program itu?


Sebuah deretan langkah-langkah
Untuk setiap langkah, sebuah operasi
aritmetik atau logika dilakukan
Untuk setiap operasi, sebuah kelompok
sinyal kontrol yang berbeda diperlukan

Fungsi Unit Kontrol


Untuk setiap oprasi sebuah kode unik
akan disediakan
misal ADD, MOVE
ADD A,B

Sebuah bagian perangkat keras menerima


kode tersebut dan mengeluarkan sinyalsinyal kontrol
Itulah komputer!

Komponen-komponen
Unit kontrol dan Unit Aritmetik dan Logika
(ALU) The Control Unit berada pada
Central Processing Unit (CPU)
Data dan instruksi-instruksi memerlukan
masuk ke dalam sistem dan menghasilkan
keluaran (output)
Input/output

Diperlukan penyimpanan sementara dari


kode dan hasil-hasil.
Main memory (memory utama)

Komputer Komponen:
Dipandang dari level atas

Siklus Instruksi
Dua langkah:
Fetch (dimuat dalam memory)
Execute (eksekusi)

Siklus Fetch
Pencacah Program (Program Counter
(PC)) menangani alamat dari instruksi
berikutnya yang akan di-fetch
Prosesor menyimpan (fetch) instruksi dari
lokasi memory yang ditunjukkan oleh PC
Penghitung maju (Increment) PC
Kecuali dikatakan lain

Instruksi dimuat dalam Register Instruksi


(Instruction Register (IR))
Prosesor menginterpretasikan instruksi
dan melakukan aksi-aksi yang diperlukan.

Siklus Eksekusi
Prosesor-memory
Transfer data antara CPU dan main memory

Prosesor I/O
Transfer data antara CPU dand modul I/O

Pemrosesan Data
Beberapa operasi aritmetik dan logika pd data

Kontrol
Merubah urutan operasi
Misal jump

Kombinasi dari operasi-operasi di atas

Contoh Eksekusi Program

Diagram Status Siklus INstruksi

Interup
Mekanisme yang digunakan oleh modulmodul lain (e.g. I/O) mungkin
mengintrupsi urutan normal dari proses
Program
misal overflow, pembagian dengan nol

Timer
Dibangkitkan oleh timer prosesor internal
Digunakan dalam pre-emptive multi-tasking

I/O
Dari pengontrol I/O

Kegagalan perangkat keras


Misal kesalah paritas memory

Kontrol Aliran Program

Siklus Interup
Ditambahkan pada siklus instruksi
Prosesor mengecek interup
Ditunjukkan oleh sinyal interup

Jika tidak ada interup, menahan (fetch) instruksi


berikut
Jika interup ditunda (pending):
Menghentikan eksekusi program yg sdg dijalankan
Menyimpan konteks
Mengatur PC ke alamat awal dari routine pemegang
interup
Memproses interup
Mengeluarkan (restore) konteks dan melanjutkan
program yang diinterup.

Transfer KOntrol melalui Interup

Siklus Instruksi dengan Interup

Pewaktuan Program
Menunggu I/O Sebentar (Short I/O Wait)

Pewaktuan Program
Menunggu I/O Lama

Siklus Instruksi (dg Interup) - Diagram


Status

Interup Jamak
Interup Disable
Prosesor akan mengabaikan interup
selanjutnya dan hanya memproses satu
interup saja
Interup tetap dipending dan dicek setelah
interup pertama telah diproses
Interup ditangani secara berurutan sesuai
waktu kejadiannya

Menentukan prioritas
Interup dg prioritas rendah dapat dihentikan
oleh interup yang lebih tinggi
Ketika interup dengan prioritas lebih tinggi
telah diproses, prosesor kembali ke interup
sebelumnya.

Interup Jamak - Sekuensial

Interup Bersarang (Nested)

Urutan Waktu dari Interup Jamak

Persambungan
Seluruh unit harus tersambung
Jenis koneksi berbeda untuk jenis unit
yang berbeda
Memory
Input/Output
CPU

Modul-modul Komputer

Koneksi Memory
Menerima dan mengirim data
Menerima alamat-alamat (dari lokasi)
Menerima sinyal-sinyal kontrol
Membaca (Read)
Penulisan (Write)
Pewaktuan (Timing)

Koneksi Input/Output(1)
Mirip dengan memory dari sudut pandang
komputer
Output
Menerima data dari komputer
Mengirim data ke periferal

Input
Menerima data dari periferal
Mengirim data ke komputer

Koneksi Input/Output(2)
Menerima sinyal kontrol dari komputer
Mengirim sinyal kontrol ke periferal
Misal memutar disk

Menerima alamat dari komputer


Misal nomor port untuk identifikasi periferal

Mengirim sinyal-sinyal interup (kontrol)

Sambungan CPU

Membaca instruksi dan data


Menulis keluar data (setelah pemrosesan)
Mengirim sinyal kontrol ke unit-unit lain
Menerima (& bekerja pada) interup

Bus-bus
Terdapat sejumlah sistem interkoneksi
bus yang mungkin
Struktur BUS tunggal dan jamak adalah
sistem yang paling umum
misal Kontrol/Alamat/Bus data (PC)
misal Unibus (DEC-PDP)

Apa Bus?
Sebuah jalur komunikasi yang
menghubungkan dua atau lebih divais
Biasanya broadcast (menyebarluaskan)
Seringkali dikelompokkan
Beberapa kanal dalam satu bus
Misal bus data 32 bit adalah 32 kanal bit
tunggal yang terpisah.

Jalur daya mungkin tidak ditunjukkan.

Bus Data
Membawa data
Ingat bahwa tidak terdapat perbedaan antara
data dan instruksi pada level ini.

Lebar bus adalah pembeda utama dari


kinerja
8, 16, 32, 64 bit

Bus Alamat
Identifikasi sumber atau tujuan dari data
Misal CPU memerlukan membaca sebuah
instruksi (data) dari lokasi memory yang
diberikan
Lebar bus menentukan kapasitas memory
maksimum dari sistem
Misal 8080 mempunyai bus alamat 16 bit yang
memberikan ruang alamat sebesar 64k

Bus Kontrol
Kontrol dan informasi pewaktuan
Sinyal baca/tulis memory
Permintaan interup
Sinyal clock

Skema Interkoneksi Bus

Besar dan Kuning?


Bus itu seperti apa?
Jalur paralel pada papan rangkaian
Kabel pita
Konektor strip pada papan utama
misal PCI

Sekelompok kabel

Realisasi fisis dari Arsitektur Bus

Masalah bus tunggal


Beberapa divais pada satu bus digunakan
untuk:
Delay propagasi
Jalur data panjang berarti bahwa koordinasi dari
penggunaan bus dapat mempengaruhi kinerja
Jika transfer data keseluruhan mendekati kapasitas
bus

Kebanyakan sistem menggunakan bus


jamak untuk mengatasi masalah ini.

Tradisional (ISA)
(dengan cache)

Bus Kinerja Tinggi

Jenis-jenis Bus
Terdedikasi/khusus (Dedicated)
Memisahkan data dan jalur data

Digabungkan
Berbagaipakai jalur
Jalur kontrol data benar atau alamat benar
Kelebihan lebih sedikit jalur
Kekurangan
Kontrol lebih kompleks
Kinerja ultimate

Arbitrase Bus
Lebih dari sebuah modul pengontrolan
bus
Misal kontroler CPU dan DMA
Hanya satu modul yang mengontrol bus
pada satu waktu
Arbitrase mungkin terpusat atau
terdistribusi

Arbitrase Terpusat atau Terdistribusi


Terpusat
Divais perangkat keras tunggal yang
mengontrol akses bus
Pengontrol bus
Arbiter

Sebagai bagian dari CPU atau terpisah

Terdistribusi
Masing-masing modul mengklaim bus
Logika kontrol pada seluruh modul

Pewaktuan
Koordinasi kejadian-kejadian pada bus
Sinkronous
Kejadian-kejadian yang ditentukan oleh sinyal
clock
Bus Kontrol meliputi jalur clock
Sebuah bit 1-0 tunggal adalah sebuah siklus bus
Seluruh divais dapat membaca jalur clock
Biasanya menggunakan sinkronisasi pada sisi
yang mendahului
Biasanya sebuah siklus tunggal untuk sebuah
kejadian

Diagram Pewaktuan Sinkron

Diagram Baca Pewaktuan Asinkron

Diagram Tulis Pewaktuan Asinkron

Bus PCI

Interkoneksi komponen periferal


Intel merilis untuk ranah publik
32 atau 64 bit
50 jalur

Jalur Bus PCI (dibutuhkan)


Jalur-jalur sistem
Meliputi clock dan reset

Alamat & Data


32 kali jalur jamak untuk alamat dan data
Interup dan validasi jalur-jalur

Kontrol antarmuka
Arbitrasi
Tidak di-share (bagi-pakai)
Koneksi langsung ke arbiter bus PCI

Jalur-jalur kesalahan

Jalur Bus PCI (Tambahan)


Jalur interup
Tidak di-share

Mendukung cache
Penambahan Bus 64-bit
Tambahan 32 jalur
Multipleks waktu
2 jalur untuk mengaktifkan divais agar
menggunakan transfer 64 bit

JTAG/Pemindaian batasan
Untuk prosedur pengujian

Perintah-perintah PCI
Transaksi antara inisiator (master) dan
target
Master meng-klaim bus
Menentukan jenis dari transaksi
Misal baca/tulis I/O

Fasa alamat
Satu atau lebih fasa data

Diagram Pewaktuan Baca PCI

Arbiter Bus PCI

Arbitrase Bus PCI

Bahan bacaan
Stallings, Bab 3 (seluruhnya)
www.pcguide.com/ref/mbsys/buses/
www.pcguide.com/

Anda mungkin juga menyukai