54
System Buses Eri Prasetyo W. http://eri.staff.gunadarma.ac.id Sources : William Stalling, Computer Organization and Architecture, 2007. Daniel W. Lewis, Programmer’s View of Computer Organization, 2000. UG, Distance Learning, 2008.

Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

  • Upload
    lamtram

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

System Buses

Eri Prasetyo W.http://eri.staff.gunadarma.ac.id

Sources :William Stalling, Computer Organization and Architecture, 2007.

Daniel W. Lewis, Programmer’s View of Computer Organization, 2000.

UG, Distance Learning, 2008.

Page 2: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Apa yang dimaksud dengan program?

Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

aritmetik atau logic akan bekerja Untuk setiap operasi , perbedaan

kontrol signal selalu diperlukan

Page 3: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Function of Control Unit (FU)

Untuk setiap operasi disediakansebuah kode yang unixmisal : ADD, MOVE

Sebuah segment hardware menerima kode dan pengirimansignal kontrol

Page 4: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Components

Kontrol unit dan ALU menyatudidalam CPU

Sistem memerlukan data daninstruksi selanjutnya hasil dikirimke luaran Input/output

Kode dari Temporary storage danhasil selalu diperlukan memori utama

Page 5: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Computer Components:Top Level View

Page 6: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Instruction Cycle

Two steps: Fetch Execute

Page 7: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Fetch Cycle

Program Counter (PC) menahanalamat dari instruksi selanjutnya kefetch

Processor melakukan instruksi fetch dari lokasi memori ke PC

PC naik / bertambah Instruksi di ambil (loaded) ke

Instruction Register (IR) Processor menterjemahkan instruksi

Page 8: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

1000100010001001

1000 LDA [x]1001 ADD [y]1002 STA [z]

1000 LDA [x]1001 ADD [y]1002 STA [z]

1000 LDA [x]1001 ADD [y]1002 STA [z]

The Fetch Phase

+1

Address

Data

Program Counter

Instruction Register

Main Memory

LDA [x]

Page 9: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Execute Cycle

Processor-memory Transfer data antara CPU dan memori

utama Processor I/O

Transfer data antara CPU dan module I/O Data processing

Operasi aritmetik atau logic Control

Operasi sequence jump Kombinasi keduanya

Page 10: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Example of Program Execution

Simulasi

Page 11: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Control Flow Portion of a CPU

Instruction Register

Instruction Register

Control Unit

(Opcode decoding and sequencing)

Control Unit

(Opcode decoding and sequencing)

ControlSignals

Memory Data BusMemory Data Bus

Memory Address BusMemory Address Bus

Opcode bits.Opcode bits.

Program CounterProgram Counter+1

Branch Address

Page 12: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Instruction Cycle -State Diagram

Page 13: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Class of Interrupts

Program, dihasilkan dari beberapa kondisi yang terjadi

sebagai hasil dari sebuah eksekusi instruksi misal overflow, division by zero

Timer dihasilkan dari internal processor timer Digunakan di pre multi-tasking

I/O from I/O controller

Hardware failure e.g. memory parity error Power failure

Page 14: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Program Flow Control

Page 15: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Interrupt Cycle

Tambahkan ke instruction cycle Processor mengecek untuk melakukan interrupt

Indikasi dengan sebuah signal interrupt Jika tidak ada interrupt, fetch ke instruksi berikutnya Jika ada interrupt tunda:

execution program saat ini Amankan context ini Set PC untuk mulai pengalamatan dari interrupt handler

routine Process interrupt Restore context dan lanjutkan interrupted program

Page 16: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Transfer of Control via Interrupts

Page 17: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Instruction Cycle with Interrupts

Page 18: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Program Timingshort I/O Wait

Page 19: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Program TimingLong I/O Wait

Page 20: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Instruction Cycle (with Interrupts) -State Diagram

Simulasi

Page 21: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Multiple Interrupts

Disable interrupts Processor tidak akan melewatkan interupt ketika

satu interupt sedang diproses Interrupts ditunda dan dicek setelah interupt

pertama di proses Define priorities

Prioritas interupt yang rendah dapat di interuptoleh interupt prioritas tinggi

Ketika interupt prioritas tinggi diproses , prosesorkembali ke interupt sebelumnya

Page 22: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Multiple Interrupts - Sequential

Page 23: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Multiple Interrupts – Nested

Page 24: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Time Sequence of Multiple Interrupts

Page 25: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Connecting

Semua unit harus terhubung Perbedaan tipe hubungan

Memory Input/Output CPU

Page 26: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Computer Modules

Page 27: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Memory Connection

Menerima dan mengirim data Menerima alamat (of locations) Menerima signal control

Read Write Timing

Page 28: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Input/Output Connection(1)

Sama seperti memori Output

Menerima data dari komputer Mengirim data ke peripheral

Input Menerima data dari peripheral Mengirim data ke komputer

Page 29: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Input/Output Connection(2)

Menerima signal kontrol darikomputer

Mengirim signal kontrol keperipherals e.g. spin disk

Menerima alamat dari komputer e.g. port number untuk identifikasi

peripheral Mengirim signal interrupt (control)

Page 30: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

CPU Connection

membaca instruksi dan data Menulis data keluar (setelah

processing) Mengirim signal control ke unit lain Menerima interrupts

Page 31: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Buses

Mempunyai 50-100 jalur Single dan multiple BUS structures

e.g. Control/Address/Data bus (PC)

Page 32: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

What is a Bus?

Sebuah jalur komunikasi Biasanya broadcast sering dikelompokkan

Banyaknya kanal di 1 bus e.g. 32 bit data bus adalah kanal

tunggal dibagi untuk 32

Page 33: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Data Bus

Pembawa data Remember that there is no difference

between “data” and “instruction” at this level

Lebar data bus bisa menunjukkanperformence 8, 16, 32, 64 bit

Page 34: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Address bus

Identifikasi sumber atau tujuan data e.g. CPU ingin membaca sebuah

instruksi (data) dari lokasi yang diberikan di memori

Lebar bus menunjukkan kapasitasmaksimum memori sistem e.g. 8080 mempunyai 16 bit address

bus memberikan 64k address space

Page 35: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Control Bus

Control dan timing information Memory read/write signal Interrupt request Clock signals

Page 36: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Bus Interconnection Scheme

Page 37: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Big and Yellow?

Seperti apa bus? Parallel lines pada circuit boards Ribbon cables Strip connectors pada mother boards

e.g. PCI

Kumpulan kabel / metal

Page 38: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Single Bus Problems

Banyak devices pada satu bus punya masalah: Propagation delays

Panjang data path akan mempengaruhiperformance

Jika besarnya data transfer mendekatikapasitas bus

Kebanyakan sistemmenggunakanmultiple buses to menanggulangimasalah diatas

Page 39: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Traditional (ISA)(with cache)

Page 40: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

High Performance Bus

Page 41: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Bus Types

Dedicated membagi jalur data & alamat

Multiplexed Shared lines Jalur kontrol untuk Address valid atau

data valid keunggulan- jalur lebih sedikit Kekurangan

Kontrol menjadi kompleks Performance menurun

Page 42: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Bus Arbitration

Lebih dari satu module controlling the bus

e.g. CPU and DMA controller Hanya satu modul bisa mengontrol

bus pada saat bersamaan Arbitration bisa sentral atau

terdistribusi

Page 43: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Centralised Arbitration

Single hardware device controlling bus access Bus Controller Arbiter

Bisa bagian dari CPU atau dibagi

Page 44: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Distributed Arbitration

tiap module boleh claim sebagai bus Control logic pada semua modules

Page 45: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Timing

Co-ordination of events on bus Synchronous

Situasi ditunjukkan oleh clock signals Control Bus includes clock line semua devices dapat membaca jalur

clock Biasanya sync pada leading edge Baiasanya cycle tunggal untuk satu

situasi

Page 46: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Synchronous Timing Diagram

Page 47: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Asynchronous Timing – ReadDiagram

Page 48: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

Asynchronous Timing – WriteDiagram

Page 49: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

PCI Bus

Peripheral Component Interconnection

Intel released to public domain 32 or 64 bit 50 lines

Page 50: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

PCI Bus Lines (required)

Systems lines termasuk clock dan reset

Address & Data 32 time jalur mux untuk address/data Jalur Interrupt & validate

Interface Control Arbitration/aturan

Not shared Direct connection to PCI bus arbiter

Error lines

Page 51: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

PCI Bus Lines (Optional)

Interrupt lines 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

Page 52: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

PCI Commands

Transaksi antara (master) dantarget

Master claims bus Menentukan tipe transaksi

e.g. I/O read/write

Phase pengalamatan

Page 53: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

PCI Read Timing Diagram

Page 54: Eri Prasetyo W.eri.staff.gunadarma.ac.id/Downloads/files/25075/sistem_busPerakitan.pdf · Apa yang dimaksud dengan program? Sebuah langkah yang kontinyu Untuk setiap langkah , operasi

PCI Bus Arbitration