Organisasi dan Arsitektur Komputer : Perancangan Kinerja(William Stallings)Chapter 3Bus Sistem
Konsep ProgramPemrograman (hardware) merupakan proses penghu-bungan berbagai komponen logik pada konfigurasi yang diinginkan untuk membentuk operasi aritmatik dan logik pada data tertentu Hardwired program tidak flexibelGeneral purpose hardware dapat mengerjakan berbagai macam tugas tergantung sinyal kendali yang diberikanDaripada melakukan re-wiring, Lebih baik menambah-kan sinyal-sinyal kendali yang baru
Program ?Adalah suatu deretan langkah-langkahPada setiap langkah, dikerjakan suatu operasi arithmetic atau logicalPada setiap operasi, diperlukan sejumlah sinyal kendali tertentu
Fungsi Control UnitUntuk setiap operasi disediakan kode yang unik Contoh: ADD, MOVEBagian hardware tertentu menerima kode tersebut kemudian menghasilkan sinyal-sinyal kendaliJadilah komputer!
Komponen yang diperlukanControl Unit (CU) dan Arithmetic and Logic Unit (ALU) membentuk Central Processing Unit (CPU)Data dan instruksi harus diberikan ke sistem dan dikeluarkan dari sistemInput/outputDiperlukan tempat untuk menyimpan sementara kode instruksi dan hasil operasi.Main memory
Komponen Komputer:Top Level View
Siklus InstruksiTwo steps:FetchExecute
Fetch CycleProgram Counter (PC) berisi address instruksi berikutnya yang akan diambilProcessor mengambil instruksi dari memory pada lokasi yang ditunjuk oleh PCNaikkan PCKecuali ada perintah tertentuInstruksi dimasukkan ke Instruction Register (IR)Processor meng-interpret dan melakukan tindakan yang diperlukan
Execute CycleProcessor-memoryTransfer data antara CPU dengan main memoryProcessor I/OTransfer data antara CPU dengan I/O moduleData processingOperasi arithmetic dan logical pada data tertentuControlMengubah urutan operasiContoh: jumpKombinasi diatas
Contoh Eksekusi Program
Diagram Keadaan Siklus Instruksi
InterruptSuatu mekanisme yang disediakan bagi modul-modul lain (mis. I/O) untuk dapat meng-interupsi operasi normal CPUProgramMisal: overflow, division by zeroTimerDihasilkan oleh internal processor timerDigunakan dalam pre-emptive multi-taskingI/Odari I/O controllerHardware failureMisal: memory parity error
Program Flow Control
Siklus InterupsiDitambahkan ke instruction cycleProcessor memeriksa adanya interruptDiberitahukan lewat interrupt signalJika tidak ada interrupt, fetch next instructionJika ada interrupt:Tunda eksekusi dari program saat ituSimpan contextSet PC ke awal address dari routine interrupt handlerProses interruptKembalikan context dan lanjutkan program yang terhenti.
Diagram keadaan Siklus Instruksi dengan Interrupt
Multiple InterruptsDisable interruptsProcessor akan mengabaikan interrupt berikutnyaInterrupts tetap akan diperiksa setelah interrupt ynag pertama selesai dilayaniInterrupts ditangani dalam urutan sesuai datangnyaDefine prioritiesLow priority interrupts dapat di interrupt oleh higher priority interruptsSetelah higher priority interrupt selesai dilayani, akan kembali ke interrupt sebelumnya.
Multiple Interrupts - Sequential
Multiple Interrupts - Nested
SambunganSemua unit harus tersambungUnit yang beda memiliki sambungan yang bedaMemoryInput/OutputCPU
Sambungan MemoriMenerima dan mengirim dataMenerima addresses Menerima sinyal kendali ReadWriteTiming
Sambungan Input/OutputSerupa dengan sambungan memoriOutputMenerima data dari computerMengirimkan data ke peripheralInputMenerima data dari peripheralMengirimkan data ke computer
Sambungan Input/Output Menerima sinyal kendali dari computerMengirimkan sinyal kendali ke peripheralsContoh: spin diskMenerima address dari computerContoh: nomor port Mengirimkan sinyal interrupt
CPU ConnectionMembaca instruksi dan dataMenuliskan data (setelah diproses)Mengirimkan sinyal kendali ke unit-unit lainMenerima (& menanggapi) interrupt
BusAda beberapa kemungkinan interkoneksi sistem Yang biasa dipakai: Single Bus dan multiple BUS PC: Control/Address/Data busDEC-PDP: Unibus
What is a Bus?Jalur komunikasi yang menghubungkan beberapa deviceBiasanya menggunakan cara broadcast Seringkali dikelompokkanSatu bus berisi sejumlah kanal (jalur)Contoh bus data 32-bit berisi 32 jalur Jalur sumber tegangan biasanya tidak diperlihatkan
Data BusMembawa dataTidak dibedakan antara data dan instruksiLebar jalur menentukan performance8, 16, 32, 64 bit
Address busMenentukan asal atau tujuan dari dataMisalkan CPU perlu membaca instruksi (data) dari memori pada lokasi tertentuLebar jalur menentukan kapasitas memori maksimum dari sistemContoh 8080 memiliki 16 bit address bus maka ruang memori maksimum adalah 64k
Control BusInformasi kendali dan timingSinyal read/write memory (MRD/MWR) Interrupt request (IRQ)Clock signals (CK)
Skema Interkoneksi Bus
Bentuk FisikBagaimana bentuk fisik bus?Jalur-jalur parallel PCB Ribbon cablesStrip connectors pada mother boardscontoh PCIKumpulan kabel
Problem pada Single BusBanyak devices pada bus tunggal menyebabkan:Propagation delaysJalur data yg panjang berarti memerlukan koordinasi pemkaian shg berpengaruh pada performanceIf aggregate data transfer approaches bus capacityKebanyakan sistem menggunakan multiple bus
Bus Traditional (ISA)(menggunakan cache)
High Performance Bus
Jenis BusDedicatedJalur data & address terpisahMultiplexedJalur bersamaAddress dan data pada saat yg bedaKeuntungan jalur sedikitKerugianKendali lebih komplekMempengaruhi performance
Arbitrasi BusBeberapa modul mengendalikan buscontoh CPU dan DMA controllerSetiap saat hanya satu modul yg mengendalikan Arbitrasi bisa secara centralised atau distributed
Arbitrasi CentralisedAda satu hardware device yg mengendalikan akses busBus ControllerArbitrerBisa berupa bagian dari CPU atau terpisah
Arbitrasi DistributedSetiap module dapat meng-klaim busSetiap modules memiliki Control logic
TimingKoordinasi event pada busSynchronousEvent ditentukan oleh sinyal clockControl Bus termasuk jalur clock Siklus bus ( bus cycle) transmisi 1 ke 0Semua devices dpt membaca jakur clockBiasanya sinkronisasi terjadi pada tepi naik (leading edge)Suatu event biasanya dimualai pada awal siklus
Synchronous Timing Diagram
Asynchronous Timing Diagram
Bus PCIPeripheral Component InterconnectionDikeluarkan oleh Intel sebagai public domain32 atau 64 bit50 Jalur
Jalur pada Bus PCI (yg harus)Jalur Systemclock and resetAddress & Data32 jalur multiplex address/dataJalur validasiInterface ControlArbitrasiNot sharedDirect connection to PCI bus arbiterError lines
Jalur Bus PCI (Optional)Interrupt linesNot sharedCache support64-bit Bus ExtensionAdditional 32 linesTime multiplexed2 lines to enable devices to agree to use 64-bit transferJTAG/Boundary ScanFor testing procedures
Command pada PCITransaksi antara initiator (master) dg targetMaster pegang kendali busMaster menentukan jenis transaksiMisal I/O read/writeFase AddressFase Data
PCI Read Timing Diagram
PCI Bus Arbitration
Internet Resourcewww.pcguide.com/ref/mbsys/buses/www.pcguide.com/