Sabtu, 24 September 2011

Bus Sistem



Konsep Program

Pemrograman (Hardware) merupakan proses penghubung berbagai komponen logik pada konfigurasi yang diinginkan untuk membentuk operasi aritmatik dan logik pada data tertentu, Hardwired program tidak flexibel,
General purpose hardware dapat mengerjakan berbagai macam tugas tergantung sinyal kendali yang diberikan, Dari pada melakukan re-wiring, lebih baik menambahkan sinyal- sinyal kendali yang baru
What is a program?
Suatu deretan/ urutan langkah-langkah, Setiap langkah, dikerjakan suatu operasi aritmatik atau logika, Pada setiap operasi, diperlukan sejumlah sinyal kendali tertentu

Fungsi Unit Control
Untuk setiap operasi disediakan kode yang unik, Contoh : ADD, MOVE. Bagian hardware tertentu menerima kode tersebut kemudian menghasilkan sinyal-sinyak kendali, Jadilah komputer!
Komponen yang Diperlukan
Control Unit ( CU) dan Arithmetic and Logic Unit ( ALU ) membentuk Central Processing Unit ( CPU ), Data dan instruksi harus diberikan ke sistem dan dikeluarkan dari sistem, Input/output, Diperlukan tempat untuk menyimpan sementara kode instruksi dan hasil operasi, Main memory.

Komponen Komputer :
Top Level View
Siklus Instruksi, Dua langkah :
Fetch
Execute
Fetch Cycle
Program Counter (PC) berisi address dari instruksi selanjutnya yang akan diambil, Processor mengambil instruksi dari memory pada lokasiyang ditunjuk oleh PC, Menaikkan PC, Kecuali ada perintah tertentu, Instruksi dimasukkan ke Instruction Register (IR), Processor meng-interpret instruksi dan melakukan tindakan yang diperlukan.
Prosesnya
Execute Cycle, Processor-memory, data transfer antara CPUdan main memory, Processor I/O, Data transfer antara CPU dan I/O module, Data processing,  Suatu operasi arithmetic atau logical pada data tertentu, Control, Mengubah urutan operasi, Contoh : jump, Kombinasi diatas.
Contoh Eksekusi Program
Diagram Keadaan Siklus Instruksi
Interrupt
Suatu mekanisme yang disediakan bagi modul-modul (contoh I/O)untuk dapat meng-interrupt operasi normal CPU,  Program, Contoh : overflow, division by zero, Timer, Dihasilkan oleh internal processor timer, Digunakan dalam pre-emptive multi-tasking,  I/O,  Dari I/O controller, Hardware failure, Contoh : memory parity error,
Program Flow Control
Siklus Interrupt ( interupsi ), Ditambahkan ke instruction cycle, Processor memeriksa adanya interrupt, Diindikasikan lewat interrupt signal, Jika tidak ada interrupt, fetch untuk instruksi selanjutnya, Jika ada interrupt : Tunda eksekusi dari program saat itu, Simpan context, Set PC ke awal address dari routine interrupt handler, Process interrupt, Kembalikan context dan lanjutkan program yang terhenti
Diagram Keadaan Siklus Instruksi (with Interrupts)
Multiple Interrupts
Disable interrupts, Processor akan mengabaikan interrupt berikutnya, Interruptstetap akan diperiksa setelah interrupt yang pertama selesai dilayani, Interrupts ditangani dalam urutan sesuai kedatangannya, Define priorities, Low priority interrupts dapat di-interrupt oleh interrupt prioritas tertinggi, Setalah interrupt prioritas tertinggi selesai dilayani, akan kembali ke interrupt sebelumnya.
Multiple Interrupt - Terurut
Multiple Interrupts - Bersarang


Connecting, semua unit harus dihubungkan, Tipe connection yang berbeda untuk tipe unit yang berbeda, Memory, Input/Output, CPU.
Memory Connection, Menerima dan mengirim data, Menerima addresses (dari suatu lokasi ), Menerima sinyal control, Read, Write, Timing
Input/Output Connection, Sama seperti memory connection dari komputer, Output, Menerima data dari komputer, Mengirim data ke peripheral, Input, Menerima data dari peripheral, Mengirim data ke komputer,
Input/Output Connection(2), Menerima sinyal control dari komputer, Mengirim sinyal control ke peripherals, Contoh : spin disk. Menerima addresses dari komputer, Contoh: nomor port. Mengirim sinyal ( control ) interrupt
CPU Connection, Membaca instruksi dan data, Menuliskan data (setalah diproses), Mengirim sinyal control untuk units lainnya, Menerima (& menanggapi) interrups
Bus, Ada beberapa kemungkinan interconnection systems, Yang biasa dipakai : Single and multiple BUS, Contoh :Control/Address/Data bus (PC), Contoh : Unibus (DEC-PDP)
What is a Bus?
Jalur komunikasi yang menghubungkan beberapa device, Biasanya menggunakan broadcast, Seringkali dikelompokan, Satu bus berisi sejumlah kanal ( jalur ), Contoh : bus data 32 bit berisi 32 jalur. Jalur sumber tegangan biasanya tidak diperlihatkan
Data Bus, Membawa data, Tidak dibedakan antara "data" dan "instruksi", Lebar jalur menentukan performance, 8, 16, 32, 64 bit.
Address bus, Menentukan asal atau tujuan dari data, Contoh : CPU perlu membaca instruksi (data) dari memory pada lokasi tertentu, Lebar jalur memnentukan kapasitas memory maksimum darisystem, Contoh : 8080 has 16 bit address bus giving 64k address space
Control Bus, Informasi Control dan timing, Memory read/write signal ( MRD/ MWR ), Interrupt request ( IRQ ), Clock signals ( CK )
Skema Interkoneksi Bus, Bentuk Fisik, Bagaimana bentuk fisik bus?, Jalur Parallel PCB, Ribbon cables, Strip connectors pada mother boards, Contoh :. PCI, Kumpulan kabel
Problema pada Bus Tunggal, Banyak device pada bus tunggal menyebabkan: Propagation delays, Jalur data yang panjang berarti memrlukan koordinasi pemakai sehingga berpengaruh pada performance, Jumlah data yang ditransfer melalui bus melebihi capasitas dari bus, Kebanyakan sistem menggunakan multiple bus untuk mengatasi problema pada bus tunggal
Bus Tradisional (ISA), (menggunakan cache)
Bus dengan High Performance
ISA, Bus ISA (Industry Standard Architecture) adalah sebuah arsitektur bus dengan bus data selebar 8-bit yang diperkenalkan dalam IBM PC 5150 pada tanggal 12 Agustus 1981. Bus ISA diperbarui dengan menambahkan bus data selebar menjadi 16-bit pada IBM PC/AT pada tahun 1984, sehingga jenis bus ISA yang beredar pun terbagi menjadi dua bagian, yakni ISA 16-bit dan ISA 8-bit. ISA merupakan bus dasar dan paling umum digunakan dalam komputer IBM PC hingga tahun 1995, sebelum akhirnya digantikan oleh bus PCI yang diluncurkan pada tahun 1992.
ISA 8 bit, Bus ISA 8-bit merupakan varian dari bus ISA, dengan bus data selebar 8-bit, yang digunakan dalam IBM PC 5150 (model PC awal). Bus ini telah ditinggalkan pada sistem-sistem modern ke atas tapi sistem-sistem Intel 286/386 masih memilikinya. Kecepatan bus ini adalah 4.77 MHz (sama seperti halnya prosesor Intel 8088 dalam IBM PC), sebelum ditingkatkan menjadi 8.33 MHz pada IBM PC/AT. Karena memiliki bandwidth 8-bit, maka transfer rate maksimum yang dimilikinya hanyalah 4.77 Mbyte/detik atau 8.33 Mbyte/detik. Meskipun memiliki transfer rate yang lamban, bus ini termasuk mencukupi kebutuhan saat itu, karena bus-bus I/O semacam serial port, parallel port, kontrolir floppy disk, kontrolir keyboard dan lainnya sangat lambat. Slot ini memiliki 62 konektor. Meski desainnya sederhana, IBM tidak langsung mempublikasikan spesifikasinya saat diluncurkan tahun 1981, tapi harus menunggu hingga tahun 1987, sehingga para manufaktur perangkat pendukung agak kerepotan membuat perangkat berbasis ISA 8-bit.
ISA 16 bit, Bus ISA 16-bit adalah sebuah bus ISA yang memiliki bandwidth 16-bit, sehingga mengizinkan transfer rate dua kali lebih cepat dibandingkan dengan ISA 8-bit pada kecepatan yang sama. Bus ini diperkenalkan pada tahun 1984, ketika IBM merilis IBM PC/AT dengan mikroprosesor Intel 80286 di dalamnya. Mengapa IBM meningkatkan ISA menjadi 16 bit adalah karena Intel 80286 memiliki bus data yang memiliki lebar 16-bit, sehingga komunikasi antara prosesor, memori, dan motherboard harus dilakukan dalam ordinal 16-bit. Meski prosesor ini dapat diinstalasikan di atas motherboard yang memiliki bus I/O dengan bandwidth 8-bit, hal ini dapat menyababkan terjadinya bottleneck pada bus sistem yang bersangkutan. Daripada membuat bus I/O yang baru, IBM ternyata hanya merombak sedikit saja dari desain ISA 8-bit yang lama, yakni dengan menambahkan konektor ekstensi 16-bit (yang menambahkan 36 konektor, sehingga menjadi 98 konektor), yang pertama kali diluncurkan pada Agustus tahun 1984, tahun yang sama saat IBM PC/AT diluncurkan. Ini juga menjadi sebab mengapa ISA 16-bit disebut sebagai AT-bus. Hal ini memang membuat interferensi dengan beberapa kartu ISA 8-bit, sehingga IBM pun meninggalkan desain ini, ke sebuah desain di mana dua slot tersebut digabung menjadi satu slot.
Tipe Bus
Dedicated, Jalur data & address terpisah
Multiplexed, Jalur bersama, Address yang valid atau data yang valid mengendalikan jalur, Keuntungan – jalur sedikit, Kerugian, Kendali lebih komplek, Mempengaruhi performance
Arbitrasi Bus, Bebrapa module mengendalikan bus, Contoh : CPU dan DMA controller, Setiap saat hanya satu modul yang mengendalikan, Arbitrasi bisa secara centralised atau distributed
Centralised Arbitration, Ada satu hardware device yang mengendalikan akses bus, Bus Controller, Arbiter, Bisa berupa bagian dari CPU atau separate
Distributed Arbitration, Setiap module dapat mengkalim bus, Setiap module memiliki Control logic
Timing, Koordinasi event pada bus, Synchronous, Event ditentukan oleh sinyal clock, Control Bus termasuk jalur clock, Siklus bus transmisi 1 ke 0, Semua device dapat membaca jalur clock, Biasanya sinkronisasi terjadi pada leading edge, Suatu event biasanya dimulai pada awal siklus
Synchronous Timing Diagram
Asynchronous Timing Diagram
Bus PCI, Peripheral Component Interconnection, Dikeluarkan oleh Intel sebagai public domain, 32 atau 64 bit, 50 jalur
Jalur pada Bus PCI (yang harus), Jalur Systems, termasuk clock dan reset, Address & Data, 32 jalur multiplex address/data, Jalur Interrupt dan validasi, Interface Control, Arbitration, Not shared, Direct connection to PCI bus arbiter, Error lines,
Jalur Bus PCI (Optional), Jalur Interrupt , Not shared, Cache support, 64-bit Bus Extension, Additional 32 lines, Time multiplexed, 2 lines to enable devices to agree to use 64-bit transfer, JTAG/Boundary Scan, For testing procedures
PCI Commands, Transaksi anatara initiator (master) dan target, Master pegang kendalibus, Master menentukan jenis transaksi, Contoh : I/O read/write, Fase Address, Fase satu atau lebih data
PCI Read Timing Diagram


PCI Bus Arbitration


FSB(Front Side Bus) 
FSB (Front Side Bus) itu adalah jalur penghubung antara CPU dengan RAM. Satuannya biasa dilihat dalam putaran Clock (Hz).
Multiplier dalam CPU itu adalah berapa banyak proses yang dapat dijalankan oleh CPU dibanding dengan FSB nya.

Tidak ada komentar:

Posting Komentar