26
II. Struktur Sistem Komputer Komponen utama sistem komputer Processor, jika hanya satu disebut CPU Main Memory I/O modules System Interconnection Disk controller CPU Printer controller Main memory system bus Dot-matrix printer Floppy drive Floppy drive

2Struktur Sistem Komputer

Embed Size (px)

Citation preview

Page 1: 2Struktur Sistem Komputer

II. Struktur Sistem KomputerKomponen utama sistem komputer• Processor, jika hanya satu disebut CPU• Main Memory• I/O modules• System Interconnection

DiskcontrollerCPU

Printercontroller

Mainmemory

system bus

Dot-matrix printerFloppy drive Floppy drive

Page 2: 2Struktur Sistem Komputer

REGISTER

Sebagai pembantu prosesor dalam pertukaran data antara prosesor dengan main memory

Berdasarkan fungsinya :

1. User-visible register

2. Control and status register

PC

IR

MAR

MBR

CPU

I/O AR

I/O BR

:

Instruction

Instruction

Instruction

:

Data

Data

Data

Main Memory

0

12:

Buffer

I/O Module

Page 3: 2Struktur Sistem Komputer

User Visible RegisterPemrogram dapat memeriksa isi dari register ini

Yang termasuk register tipe ini adalah :1. Register data

Dapat digunakan untuk berbagai keperluan (General purpose register) menggunakan instruksi mesin misal untuk operasi floating point

2. Register alamat– Index register penambahan index pada base value– Segmen pointer registermengacu pada segmentasi

memory– Stack pointer registerMenunjuk lokasi stack di

Main memory– Flag registerberisi operan dari prosesor

Page 4: 2Struktur Sistem Komputer

Control and Status RegisterDigunakan untuk mengontrol operasi prosesor1. Register untuk alamat dan buffer

– MAR (Memory Address Register) Pencatat alamat di Main Memory yg akan diakses

– MBR (Memory Buffer Register) Penampung data yang akan dikirim/diterima dari Main Memory

– I/O AR (Input/Outpur Register) Mencatat alamat port I/O

– I/O BR (Input/Output Buffer Register) mendampung data yang akan dikirim/diterima dari port I/O

Page 5: 2Struktur Sistem Komputer

2. Register untuk eksekusi instruksi• PC (Program Counter)mencatat alamat main

memory yang berisi instruksi yg sedang dieksekusi

• IR (Instruction Register)menampung instruksi yang baru di-fetching

3. (PSW) Program Status Wordregister atau kumpulan register yang berisi kode dan status– Sign - Overflow– Zero - Interrupt enable/disable– Carry - Supervisor– Equal

Page 6: 2Struktur Sistem Komputer

Siklus Instruksi

Terdapat 2 tahap instruksi yaitu:

- Pengambilan instruksi (fetch)

- Eksekusi instruksi (execution)

Instruksi berupa kode biner

Mulai

Mengambil instruksiberikutnya

Mengeksekusiinstruksi tersebut

Selesai

Siklusfetch

Sikluseksekusi

Page 7: 2Struktur Sistem Komputer

Contoh: suatu instruksi komputer mengandung 16 bitword memori dan PC pertama kali bernilai 300

1. PC berisi 300, alamat instruksi yang pertama. Isi dari lokasi 300 diload ke IR. Untuk itu digunakan MAR dan MBR

2. 4 bit pertama menunjukkan AC (accumulator) yang akan diload, 12 bit sisanya adalah alamat yaitu 940

0 0 0 1 1 00 1 0 1 0 0 0 0 0 0

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

1 = load xxx LOAD AC,[940]5 = add ADD AC,[941]2 = store STO 941,AC

9 4 01

Data

PC = 300IR = 1940

Opcode

Page 8: 2Struktur Sistem Komputer

3. PC dinaikan satu dan instruksi berikutnya di-fetch

4. Isi lama di AC ditambahkan dengan isi alamat 940 hasilnya dimasukkan ke AC kembali

5. PC dinaikkan satu lagi dan instruksi berikutnya difetch

6. Isi AC disimpan di lokasi 941

Page 9: 2Struktur Sistem Komputer

1 9 4 0

5 9 4 1

300

301

2 9 4 1

0 0 0 3940

0 0 0 2941

Memory

302

3 0 0

1 9 4 0

CPURegister

PC

AC

IR

Langkah 1

1 9 4 0

5 9 4 1

300

301

2 9 4 1

0 0 0 3940

0 0 0 2941

Memory

302

3 0 0

1 9 4 0

CPURegister

PC

AC

IR

Langkah 2

0 0 0 3

1 9 4 0

5 9 4 1

300

301

2 9 4 1

0 0 0 3940

0 0 0 2941

Memory

302

3 0 1

CPURegister

PC

AC

IR

Langkah 3

0 0 0 3

5 9 4 1

1 9 4 0

5 9 4 1

300

301

2 9 4 1

0 0 0 3940

0 0 0 2941

Memory

302

3 0 1

CPURegister

PC

AC

IR

Langkah 4

0 0 0 5

5 9 4 1

316+2 16 = 5 16

1 9 4 0

5 9 4 1

300

301

2 9 4 1

0 0 0 3940

0 0 0 2941

Memory

302

3 0 2

CPURegister

PC

AC

IR

Langkah 5

0 0 0 5

2 9 4 1

1 9 4 0

5 9 4 1

300

301

2 9 4 1

0 0 0 3940

0 0 0 5941

Memory

302

3 0 2

CPURegister

PC

AC

IR

Langkah 6

0 0 0 5

2 9 4 1

Page 10: 2Struktur Sistem Komputer

InterruptInterrupt adalah sinyal dari peralatan luar

atau permintaan dari program untuk melaksanakan suatu tugas khusus.

• Jika interrupt terjadi, maka program dihentikan terlebih dahulu untuk menjalankan rutin interrupt.

• Fungsi interrupt untuk meningkatkan efisiensi karena peralatan eksternal biasanya lebih lambat dari pada prosesor

Contoh : Misal prosesor mentransfer data ke printer. Setelah setiap proses WRITE, prosesor akan pause dan tetap idle sampai printer jalan. Panjang waktu pause dapat dimanfaatkan untuk siklus instruksi lainnya yang tidak melibatkan memori.

Page 11: 2Struktur Sistem Komputer

Userprogram

WRITE

I/OProgram

I/OCommand

WRITE

WRITE

END

1

2

3

4

5

Userprogram

WRITE

I/OProgram

I/OCommand

WRITE

WRITE

END

1

2a

4

5

InterruptHandler

2b

3a

3b

X

X

Tanpa Interrupt Dengan Interrupt

Dengan interrupt I/O program berjalan kongkurensi dengan prosesor. Tanda X = Interrupt Service Routine dijalankan

Page 12: 2Struktur Sistem Komputer

Proses InterruptDevice controller atau

sistem hardware lainnyamenginterrupt

Prosesor menyelesaikaneksekusi instruksi yang

sedang berlangsung

Prosesor memberikansinyal bahwa interrupt

disetujui

Prosesor menyimpanPSW & PC ke stack

Prosesor mengambil PCbaru berdasarkan

interrupt yang terjadi

Simpan sisa informasistatus proses

Memproses interrupt

Mengambil sisainformasi status proses

Mengambil PSW & PClama

SoftwareHardware

Page 13: 2Struktur Sistem Komputer

Jenis-jenis interrupt

1. Software. Interrupt yang disebabkan oleh software sering disebut dengan system call. Misalnya suatu program ingin mencetak hasil ke printer

2. Hardware. Terjadi karena adanya aksi pada perangkat keras seperti penekanan tombol keyboard atau menggerakan mouse

Penyebab interrupt• Program

Contoh : Arithmetic overflow, division by zero

• Timer • I/O• Kegagalan hardware|

Contoh : Power failure, memory parity error

Page 14: 2Struktur Sistem Komputer

Siklus proses dengan interrupt• Pada saat komputer

dijalankan (boot), komputer menjalankan program inisial (bootstrap program)

• Bootstrap mengalokasi sistem operasi pada memory

• Sistem operasi menunggu event berupa interrupt atau trap

Mulai

Mengambil instruksiberikutnya

Mengeksekusiinstruksi tersebut

Siklusfetch

Sikluseksekusi

Cek interrupt; ProsesInterrupt

Halt

InterruptDisabled Interrupt Enable

Siklusinterrupt

Page 15: 2Struktur Sistem Komputer

Terdapat tiga teknik untuk operasi I/O

• Programmed I/O• Interrupt-driven I/O• Direct Memory Access

(DMA)

Programmed I/O• Processor

mengeksekusi instruksi yang berhubungan dengan I/O

Instruksi I/O :• Control

digunakan untuk memerintah I/O apa yang harus dikerjakan

• Testdigunakan untuk menguji status I/O dan peripheral

• Read,writedigunakan untuk transfer data antara register processor dan alat luar

Teknik komunikasi I/O

Page 16: 2Struktur Sistem Komputer

Pada Programmed I/O, I/O module akan :

• Melakukan aksi yg diminta processor

• Mengatur bit-bit status dalam I/O register

• Menunggu perintah dari processor

Processor mengecek secara periodik status I/O module sampai operasi I/O selesai

Processor harus menunggu sampai I/O module siap untuk pengiriman data

Interrupt-Driven I/O• Processor memberikan I/O

command ke I/O module dan mengerjakan pekerjaan lain tanpa menunggu operasi I/O selesai

• Saat I/O module siap untuk pertukaran data I/O module akan menginterrupt processor untuk meminta service

• Processor akan mentransfer data sesuai permintaan

Page 17: 2Struktur Sistem Komputer

DMA• Pada operasi I/O, processor mendelegasikan DMA

untuk mentransfer block data dari atau ke main memory tanpa melalui processor. Processor dapat mengerjakan pekerjaan yang lain

• Setelah selesai DMA mengirimkan sinyal interrupt ke processor

• Informasi yang dikirimkan processor ke DMA module:- informasi Read/Write- Alamat I/O yang dilibatkan- Lokasi awal memory untuk ditulis atau dibaca- Jumlah word yang harus dibaca atau ditulis

Page 18: 2Struktur Sistem Komputer

Issue ReadCommand to I/O

Module

Read Status ofI/O Module

CheckStatusNot

Ready

CPU I/O

ErrorCondition

Read WordFrom I/OModule

Ready

I/O CPU

I/O CPU

Write WordInto

MemoryCPU Memory

Done?No

NextInstruction

Issue ReadCommand to I/O

Module

Read Status ofI/O Module

CheckStatus

CPU I/O

ErrorCondition

Read WordFrom I/OModule

Ready

I/O CPU

I/O CPU

Write WordInto

MemoryCPU Memory

Done?No

NextInstruction

Do SomethingElse

Interpret

Issue ReadBlock Command

to I/O Module

Read Status ofI/O Module

CPU DMA

DMA CPU

Do SomethingElse

Interpret

(c) Direct Memory Access

NextInstruction

(b) Interrupt-driven I/O(a) Programmed I/O

Page 19: 2Struktur Sistem Komputer

Register

Cache

Main Memory

Magnetic Disk

Magnetic Tape Optical Disk

Hierarki ini berdasarkan :

• Kecepatan akses• Kapasitas • Harga per bit ?

Hierarki Memory

Page 20: 2Struktur Sistem Komputer

• Proses transfer data dari/ke main memory ke/dari register CPU dilakukan per karakter, padahal kecepatan register dengan memory berbeda jauh

• Agar CPU tidak menganggur digunakan cache sebagai perantara CPU dengan main memory

Beberapa terminologi pada cache memory

• Cache size• Block size• Hit ratio• Mapping function• Replacement algorithm

LRU (Least Recently Used)

• Write policy

Cache Memory

Page 21: 2Struktur Sistem Komputer

• Saat processor akan membaca word dari main memory, processor mengecek apakah word tersebut sudah ada di cache. Jika ada word tersebut akan dikirimkan ke processor jika tidak blok memory yang terdiri dari beberapa word termasuk word yang diminta akan dipindahkan ke cache.

• Pengiriman data dari/ke cache ke/dari register dilakukan per word sedangkan pengiriman data dari/ke cache keke/dari main memory per block

CPU

Cache

MainMemory

Word Transfer

Block Transfer

Page 22: 2Struktur Sistem Komputer

Data

MemoryAddress

0

1

2

3Block(K words)

2n-1

WordLength

0

1

2

SlotNumber

Tag Block

Block Length(K Words)

(a) Main Memory

(b) CacheContoh Associative mapped-cache• Dari 2n word di main memory dibagi

menjadi M blok. M=2n/K• Pada cache terdapat C slot (tag+block).

C<<M

Page 23: 2Struktur Sistem Komputer

Contoh operasi pembacaan cache

ReceiveAddress RAfrom CPU

Start

Is BlockContaining RA

in Cache

Fetch RAWord andDeliver to CPU

Done

Access MainMemory forBlockContaining RA

Allocate CacheSlot for MainMemory Block

Deliver RAWord to CPU

Load MainMemory Blockinto CacheSlot

No

YEs

*RA = Read Address

Ada 2 jenis cache• Sofware cache (caching

disk controller) cache dengan mendayagunakan RAM sebagai cache memory

• Hardware cache (on-the-board cache) menambahkan cache memory khusus pada board

Page 24: 2Struktur Sistem Komputer

Clock (Timer)Clock Hardware• Terdiri dari :

- oscilator kristal- counter - holding register

• Jika ada tekanan pada kristal akan menyebabkan adanya sinyal periodik yang menyebabkan counter berkurang terus menerus. Jika nilai counter nol maka akan menyebabkan CPU Interrupt

Counter diturunkan tiapada pulsa

Holding register digunakan untukmengambil counter

Oscilator Crystal

Clock Software • Semua clock hardware akan membangkitkan interrupt

dalam interval waktu tertentu. Sedangkan waktu yang diberikan ditentukanoleh software (Clock driver)

Page 25: 2Struktur Sistem Komputer

Mode Clock1. One-shot mode

Pada saat clock dimulai akan meng-copy nilai holding register ke counter, kemudian menurunkan nilai counter untuk setiap terjadi pulsa pada kristal. Jika counter bernilai nol, akan menyebabkan interrupt dan berhenti hingga diaktifkan kembali menggunakan clock software

2. Square-wave modeSetelah counter bernilai nol dan menyebabkan interrupt, holding register secara otomatis dicopy-kan ke counter, dan proses diulang lagi sampai tak terbatas. Interrupt secara periodik ini disebut detak clock

Page 26: 2Struktur Sistem Komputer

• Operasi Dual ModeUser mode dan monitor mode (supervisor mode)

• Proteksi I/O intruksi I/O dibuat dalam monitor mode

• Proteksi CPU menggunakan timer mencegah over loop dengan memberikan interrupt setelah waktu tertentu

• Proteksi MemoryMenggunakan base register dan limit register

Monitor

Job 1

Job 2

0

256000

300040

420940

300040

base register

120900

limit register

Proteksi Sistem operasiProteksi dilakukan agar tidak terjadi bentrokan pemakaian sumber daya