03_sistem_bus-1.pdf

55
Organisasi dan Arsitektur Komputer William Stallings Edisi 7 Bab 3 Sistem Bus

Transcript of 03_sistem_bus-1.pdf

Page 1: 03_sistem_bus-1.pdf

Organisasi dan Arsitektur Komputer

William Stallings

Edisi 7

Bab 3

Sistem Bus

Page 2: 03_sistem_bus-1.pdf

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.

Page 3: 03_sistem_bus-1.pdf

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

Page 4: 03_sistem_bus-1.pdf

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 sinyal-sinyal kontrol

• Itulah komputer!

Page 5: 03_sistem_bus-1.pdf

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)

Page 6: 03_sistem_bus-1.pdf

Komputer Komponen:

Dipandang dari level atas

Page 7: 03_sistem_bus-1.pdf

Siklus Instruksi

• Dua langkah:

—Fetch (dimuat dalam memory)

—Execute (eksekusi)

Page 8: 03_sistem_bus-1.pdf

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.

Page 9: 03_sistem_bus-1.pdf

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

Page 10: 03_sistem_bus-1.pdf

Contoh Eksekusi Program

Page 11: 03_sistem_bus-1.pdf

Diagram Status Siklus INstruksi

Page 12: 03_sistem_bus-1.pdf

Interup

• Mekanisme yang digunakan oleh modul-modul 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

Page 13: 03_sistem_bus-1.pdf

Kontrol Aliran Program

Page 14: 03_sistem_bus-1.pdf

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.

Page 15: 03_sistem_bus-1.pdf

Transfer KOntrol melalui Interup

Page 16: 03_sistem_bus-1.pdf

Siklus Instruksi dengan Interup

Page 17: 03_sistem_bus-1.pdf

Pewaktuan Program

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

Page 18: 03_sistem_bus-1.pdf

Pewaktuan Program

Menunggu I/O Lama

Page 19: 03_sistem_bus-1.pdf

Siklus Instruksi (dg Interup) - Diagram

Status

Page 20: 03_sistem_bus-1.pdf

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.

Page 21: 03_sistem_bus-1.pdf

Interup Jamak - Sekuensial

Page 22: 03_sistem_bus-1.pdf

Interup – Bersarang (Nested)

Page 23: 03_sistem_bus-1.pdf

Urutan Waktu dari Interup Jamak

Page 24: 03_sistem_bus-1.pdf

Persambungan

• Seluruh unit harus tersambung

• Jenis koneksi berbeda untuk jenis unit yang berbeda

—Memory

—Input/Output

—CPU

Page 25: 03_sistem_bus-1.pdf

Modul-modul Komputer

Page 26: 03_sistem_bus-1.pdf

Koneksi Memory

• Menerima dan mengirim data

• Menerima alamat-alamat (dari lokasi)

• Menerima sinyal-sinyal kontrol

—Membaca (Read)

—Penulisan (Write)

—Pewaktuan (Timing)

Page 27: 03_sistem_bus-1.pdf

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

Page 28: 03_sistem_bus-1.pdf

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)

Page 29: 03_sistem_bus-1.pdf

Sambungan CPU

• Membaca instruksi dan data

• Menulis keluar data (setelah pemrosesan)

• Mengirim sinyal kontrol ke unit-unit lain

• Menerima (& bekerja pada) interup

Page 30: 03_sistem_bus-1.pdf

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)

Page 31: 03_sistem_bus-1.pdf

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.

Page 32: 03_sistem_bus-1.pdf

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

Page 33: 03_sistem_bus-1.pdf

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

Page 34: 03_sistem_bus-1.pdf

Bus Kontrol

• Kontrol dan informasi pewaktuan

—Sinyal baca/tulis memory

—Permintaan interup

—Sinyal clock

Page 35: 03_sistem_bus-1.pdf

Skema Interkoneksi Bus

Page 36: 03_sistem_bus-1.pdf

Besar dan Kuning?

• Bus itu seperti apa?

—Jalur paralel pada papan rangkaian

—Kabel pita

—Konektor strip pada papan utama

– misal PCI

—Sekelompok kabel

Page 37: 03_sistem_bus-1.pdf

Realisasi fisis dari Arsitektur Bus

Page 38: 03_sistem_bus-1.pdf

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.

Page 39: 03_sistem_bus-1.pdf

Tradisional (ISA)

(dengan cache)

Page 40: 03_sistem_bus-1.pdf

Bus Kinerja Tinggi

Page 41: 03_sistem_bus-1.pdf

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

Page 42: 03_sistem_bus-1.pdf

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

Page 43: 03_sistem_bus-1.pdf

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

Page 44: 03_sistem_bus-1.pdf

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

Page 45: 03_sistem_bus-1.pdf

Diagram Pewaktuan Sinkron

Page 46: 03_sistem_bus-1.pdf

Diagram Baca – Pewaktuan Asinkron

Page 47: 03_sistem_bus-1.pdf

Diagram Tulis – Pewaktuan Asinkron

Page 48: 03_sistem_bus-1.pdf

Bus PCI

• Interkoneksi komponen periferal

• Intel merilis untuk ranah publik

• 32 atau 64 bit

• 50 jalur

Page 49: 03_sistem_bus-1.pdf

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

Page 50: 03_sistem_bus-1.pdf

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

Page 51: 03_sistem_bus-1.pdf

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

Page 52: 03_sistem_bus-1.pdf

Diagram Pewaktuan Baca PCI

Page 53: 03_sistem_bus-1.pdf

Arbiter Bus PCI

Page 54: 03_sistem_bus-1.pdf

Arbitrase Bus PCI

Page 55: 03_sistem_bus-1.pdf

Bahan bacaan

• Stallings, Bab 3 (seluruhnya)

• www.pcguide.com/ref/mbsys/buses/

• www.pcguide.com/