Organisasi dan Arsitektur Komputer Perancangan Kinerja Chapter 3

  • Slides: 47
Download presentation
Organisasi dan Arsitektur Komputer : Perancangan Kinerja Chapter 3 Bus Sistem Abdul Rouf -

Organisasi dan Arsitektur Komputer : Perancangan Kinerja Chapter 3 Bus Sistem Abdul Rouf - 1

Konsep Program z Pemrograman (hardware) merupakan proses penghubungan berbagai komponen logik pada konfigurasi yang

Konsep Program z Pemrograman (hardware) merupakan proses penghubungan berbagai komponen logik pada konfigurasi yang diinginkan untuk membentuk operasi aritmatik dan logik pada data tertentu z Hardwired program tidak flexibel z General purpose hardware dapat mengerjakan berbagai macam tugas tergantung sinyal kendali yang diberikan z Daripada melakukan re-wiring, Lebih baik menambahkan sinyal-sinyal kendali yang baru Abdul Rouf - 2

Program ? z Adalah suatu deretan langkah-langkah z Pada setiap langkah, dikerjakan suatu operasi

Program ? z Adalah suatu deretan langkah-langkah z Pada setiap langkah, dikerjakan suatu operasi arithmetic atau logical z Pada setiap operasi, diperlukan sejumlah sinyal kendali tertentu Abdul Rouf - 3

Fungsi Control Unit z Untuk setiap operasi disediakan kode yang unik y. Contoh: ADD,

Fungsi Control Unit z Untuk setiap operasi disediakan kode yang unik y. Contoh: ADD, MOVE z Bagian hardware tertentu menerima kode tersebut kemudian menghasilkan sinyal-sinyal kendali z Jadilah komputer! Abdul Rouf - 4

Komponen yang diperlukan z Control Unit (CU) dan Arithmetic and Logic Unit (ALU) membentuk

Komponen yang diperlukan z Control Unit (CU) dan Arithmetic and Logic Unit (ALU) membentuk Central Processing Unit (CPU) z Data dan instruksi harus diberikan ke sistem dan dikeluarkan dari sistem y. Input/output z Diperlukan tempat untuk menyimpan sementara kode instruksi dan hasil operasi. y. Main memory Abdul Rouf - 5

Komponen Komputer: Top Level View Abdul Rouf - 6

Komponen Komputer: Top Level View Abdul Rouf - 6

Siklus Instruksi z Two steps: y. Fetch y. Execute Abdul Rouf - 7

Siklus Instruksi z Two steps: y. Fetch y. Execute Abdul Rouf - 7

Fetch Cycle z Program Counter (PC) berisi address instruksi berikutnya yang akan diambil z

Fetch Cycle z Program Counter (PC) berisi address instruksi berikutnya yang akan diambil z Processor mengambil instruksi dari memory pada lokasi yang ditunjuk oleh PC z Naikkan PC y Kecuali ada perintah tertentu z Instruksi dimasukkan ke Instruction Register (IR) z Processor meng-interpret dan melakukan tindakan yang diperlukan Abdul Rouf - 8

Execute Cycle z Processor-memory y Transfer data antara CPU dengan main memory z Processor

Execute Cycle z Processor-memory y Transfer data antara CPU dengan main memory z Processor I/O y Transfer data antara CPU dengan I/O module z Data processing y Operasi arithmetic dan logical pada data tertentu z Control y Mengubah urutan operasi y Contoh: jump z Kombinasi diatas Abdul Rouf - 9

Contoh Eksekusi Program Abdul Rouf - 10

Contoh Eksekusi Program Abdul Rouf - 10

Diagram Keadaan Siklus Instruksi Abdul Rouf - 11

Diagram Keadaan Siklus Instruksi Abdul Rouf - 11

Interrupt z Suatu mekanisme yang disediakan bagi modul-modul lain (mis. I/O) untuk dapat meng-interupsi

Interrupt z Suatu mekanisme yang disediakan bagi modul-modul lain (mis. I/O) untuk dapat meng-interupsi operasi normal CPU z Program y Misal: overflow, division by zero z Timer y Dihasilkan oleh internal processor timer y Digunakan dalam pre-emptive multi-tasking z I/O y dari I/O controller z Hardware failure y Misal: memory parity error Abdul Rouf - 12

Program Flow Control Abdul Rouf - 13

Program Flow Control Abdul Rouf - 13

Siklus Interupsi z Ditambahkan ke instruction cycle z Processor memeriksa adanya interrupt y Diberitahukan

Siklus Interupsi z Ditambahkan ke instruction cycle z Processor memeriksa adanya interrupt y Diberitahukan lewat interrupt signal z Jika tidak ada interrupt, fetch next instruction z Jika ada interrupt: y Tunda eksekusi dari program saat itu y Simpan context y Set PC ke awal address dari routine interrupt handler y Proses interrupt y Kembalikan context dan lanjutkan program yang terhenti. Abdul Rouf - 14

Diagram keadaan Siklus Instruksi dengan Interrupt Abdul Rouf - 15

Diagram keadaan Siklus Instruksi dengan Interrupt Abdul Rouf - 15

Multiple Interrupts z Disable interrupts y. Processor akan mengabaikan interrupt berikutnya y. Interrupts tetap

Multiple Interrupts z Disable interrupts y. Processor akan mengabaikan interrupt berikutnya y. Interrupts tetap akan diperiksa setelah interrupt ynag pertama selesai dilayani y. Interrupts ditangani dalam urutan sesuai datangnya z Define priorities y. Low priority interrupts dapat di interrupt oleh higher priority interrupts y. Setelah higher priority interrupt selesai dilayani, akan kembali ke interrupt sebelumnya. Abdul Rouf - 16

Multiple Interrupts - Sequential Abdul Rouf - 17

Multiple Interrupts - Sequential Abdul Rouf - 17

Multiple Interrupts - Nested Abdul Rouf - 18

Multiple Interrupts - Nested Abdul Rouf - 18

Sambungan z Semua unit harus tersambung z Unit yang beda memiliki sambungan yang beda

Sambungan z Semua unit harus tersambung z Unit yang beda memiliki sambungan yang beda y. Memory y. Input/Output y. CPU Abdul Rouf - 19

Sambungan Memori z Menerima dan mengirim data z Menerima addresses z Menerima sinyal kendali

Sambungan Memori z Menerima dan mengirim data z Menerima addresses z Menerima sinyal kendali y. Read y. Write y. Timing Abdul Rouf - 20

Sambungan Input/Output z Serupa dengan sambungan memori z Output y. Menerima data dari computer

Sambungan Input/Output z Serupa dengan sambungan memori z Output y. Menerima data dari computer y. Mengirimkan data ke peripheral z Input y. Menerima data dari peripheral y. Mengirimkan data ke computer Abdul Rouf - 21

Sambungan Input/Output z Menerima sinyal kendali dari computer z Mengirimkan sinyal kendali ke peripherals

Sambungan Input/Output z Menerima sinyal kendali dari computer z Mengirimkan sinyal kendali ke peripherals y. Contoh: spin disk z Menerima address dari computer y. Contoh: nomor port z Mengirimkan sinyal interrupt Abdul Rouf - 22

CPU Connection z Membaca instruksi dan data z Menuliskan data (setelah diproses) z Mengirimkan

CPU Connection z Membaca instruksi dan data z Menuliskan data (setelah diproses) z Mengirimkan sinyal kendali ke unit-unit lain z Menerima (& menanggapi) interrupt Abdul Rouf - 23

Bus z Ada beberapa kemungkinan interkoneksi sistem z Yang biasa dipakai: Single Bus dan

Bus z Ada beberapa kemungkinan interkoneksi sistem z Yang biasa dipakai: Single Bus dan multiple BUS z PC: Control/Address/Data bus z DEC-PDP: Unibus Abdul Rouf - 24

What is a Bus? z Jalur komunikasi yang menghubungkan beberapa device z Biasanya menggunakan

What is a Bus? z Jalur komunikasi yang menghubungkan beberapa device z Biasanya menggunakan cara broadcast z Seringkali dikelompokkan y. Satu bus berisi sejumlah kanal (jalur) y. Contoh bus data 32 -bit berisi 32 jalur z Jalur sumber tegangan biasanya tidak diperlihatkan Abdul Rouf - 25

Data Bus z Membawa data y. Tidak dibedakan antara “data” dan “instruksi” z Lebar

Data Bus z Membawa data y. Tidak dibedakan antara “data” dan “instruksi” z Lebar jalur menentukan performance y 8, 16, 32, 64 bit Abdul Rouf - 26

Address bus z Menentukan asal atau tujuan dari data z Misalkan CPU perlu membaca

Address bus z Menentukan asal atau tujuan dari data z Misalkan CPU perlu membaca instruksi (data) dari memori pada lokasi tertentu z Lebar jalur menentukan kapasitas memori maksimum dari sistem y. Contoh 8080 memiliki 16 bit address bus maka ruang memori maksimum adalah 64 k Abdul Rouf - 27

Control Bus z Informasi kendali dan timing y. Sinyal read/write memory (MRD/MWR) y. Interrupt

Control Bus z Informasi kendali dan timing y. Sinyal read/write memory (MRD/MWR) y. Interrupt request (IRQ) y. Clock signals (CK) Abdul Rouf - 28

Skema Interkoneksi Bus Abdul Rouf - 29

Skema Interkoneksi Bus Abdul Rouf - 29

Bentuk Fisik z Bagaimana bentuk fisik bus? y. Jalur-jalur parallel PCB y. Ribbon cables

Bentuk Fisik z Bagaimana bentuk fisik bus? y. Jalur-jalur parallel PCB y. Ribbon cables y. Strip connectors pada mother boards xcontoh PCI y. Kumpulan kabel Abdul Rouf - 30

Problem pada Single Bus z Banyak devices pada bus tunggal menyebabkan: y. Propagation delays

Problem pada Single Bus z Banyak devices pada bus tunggal menyebabkan: y. Propagation delays x. Jalur data yg panjang berarti memerlukan koordinasi pemkaian shg berpengaruh pada performance x. If aggregate data transfer approaches bus capacity z Kebanyakan sistem menggunakan multiple bus Abdul Rouf - 31

Bus Traditional (ISA) (menggunakan cache) Abdul Rouf - 32

Bus Traditional (ISA) (menggunakan cache) Abdul Rouf - 32

High Performance Bus Abdul Rouf - 33

High Performance Bus Abdul Rouf - 33

Jenis Bus z Dedicated y. Jalur data & address terpisah z Multiplexed y. Jalur

Jenis Bus z Dedicated y. Jalur data & address terpisah z Multiplexed y. Jalur bersama y. Address dan data pada saat yg beda y. Keuntungan – jalur sedikit y. Kerugian x. Kendali lebih komplek x. Mempengaruhi performance Abdul Rouf - 34

Arbitrasi Bus z Beberapa modul mengendalikan bus z contoh CPU dan DMA controller z

Arbitrasi Bus z Beberapa modul mengendalikan bus z contoh CPU dan DMA controller z Setiap saat hanya satu modul yg mengendalikan z Arbitrasi bisa secara centralised atau distributed Abdul Rouf - 35

Arbitrasi Centralised z Ada satu hardware device yg mengendalikan akses bus y. Bus Controller

Arbitrasi Centralised z Ada satu hardware device yg mengendalikan akses bus y. Bus Controller y. Arbitrer z Bisa berupa bagian dari CPU atau terpisah Abdul Rouf - 36

Arbitrasi Distributed z Setiap module dapat meng-klaim bus z Setiap modules memiliki Control logic

Arbitrasi Distributed z Setiap module dapat meng-klaim bus z Setiap modules memiliki Control logic Abdul Rouf - 37

Timing z Koordinasi event pada bus z Synchronous y. Event ditentukan oleh sinyal clock

Timing z Koordinasi event pada bus z Synchronous y. Event ditentukan oleh sinyal clock y. Control Bus termasuk jalur clock y. Siklus bus ( bus cycle) transmisi 1 ke 0 y. Semua devices dpt membaca jakur clock y. Biasanya sinkronisasi terjadi pada tepi naik (leading edge) y. Suatu event biasanya dimualai pada awal siklus Abdul Rouf - 38

Synchronous Timing Diagram Abdul Rouf - 39

Synchronous Timing Diagram Abdul Rouf - 39

Asynchronous Timing Diagram Abdul Rouf - 40

Asynchronous Timing Diagram Abdul Rouf - 40

Bus PCI z Peripheral Component Interconnection z Dikeluarkan oleh Intel sebagai public domain z

Bus PCI z Peripheral Component Interconnection z Dikeluarkan oleh Intel sebagai public domain z 32 atau 64 bit z 50 Jalur Abdul Rouf - 41

Jalur pada Bus PCI (yg harus) z Jalur System y clock and reset z

Jalur pada Bus PCI (yg harus) z Jalur System y clock and reset z Address & Data y 32 jalur multiplex address/data y Jalur validasi z Interface Control z Arbitrasi y Not shared y Direct connection to PCI bus arbiter z Error lines Abdul Rouf - 42

Jalur Bus PCI (Optional) z Interrupt lines y Not shared z Cache support z

Jalur Bus PCI (Optional) z Interrupt lines y Not shared z Cache support z 64 -bit Bus Extension y Additional 32 lines y Time multiplexed y 2 lines to enable devices to agree to use 64 -bit transfer z JTAG/Boundary Scan y For testing procedures Abdul Rouf - 43

Command pada PCI z Transaksi antara initiator (master) dg target z Master pegang kendali

Command pada PCI z Transaksi antara initiator (master) dg target z Master pegang kendali bus z Master menentukan jenis transaksi y. Misal I/O read/write z Fase Address z Fase Data Abdul Rouf - 44

PCI Read Timing Diagram Abdul Rouf - 45

PCI Read Timing Diagram Abdul Rouf - 45

PCI Bus Arbitration Abdul Rouf - 46

PCI Bus Arbitration Abdul Rouf - 46

Internet Resource z www. pcguide. com/ref/mbsys/buses/ z www. pcguide. com/ Abdul Rouf - 47

Internet Resource z www. pcguide. com/ref/mbsys/buses/ z www. pcguide. com/ Abdul Rouf - 47