03_sistem_bus-1.pdf

Post on 16-Jan-2016

12 views 2 download

Transcript of 03_sistem_bus-1.pdf

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

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/