Anda di halaman 1dari 42

Organisasi dan Arsitektur Komputer

Bab 3
Struktur dan Fungsi Komputer

Kusprasapta Mutijarsa
Lab Sinyal dan Sistem, Departemen Teknik Elektro ITB
2005
Pembahasan

Pemrograman dan Komponen Komputer


Instruction Cycle
Interupsi

Struktur dan Fungsi Komputer 2


Pemrograman dan
Komponen Komputer

Struktur dan Fungsi Komputer 3


Tiga Konsep Kunci von Neumann

Seluruh rancangan komputer saat ini dibuat berdasarkan


konsep yang dikembangkan oleh John von Neumann di
Institute for Advanced Studies, Princeton. Rancangan
tersebut merujuk ke arsitektur von Neumann yang
berdasarkan tiga konsep kunci :
ƒ Data dan instruksi disimpan dalam read-write memory tunggal.
ƒ Isi memory tersebut diberi alamat berdasarkan lokasi, tanpa
memperhatikan jenis data yang berada di dalamnya.
ƒ Eksekusi terjadi dalam urutan sekuensial (kecuali kalau
dimodifikasi secara eksplisit) dari satu instruksi ke instruksi
selanjutnya.

Struktur dan Fungsi Komputer 4


Konsep Pemrograman

Sistem hardwired tidak fleksibel.


Hardware general purpose dapat melakukan
tugas-tugas yang berbeda, berdasarkan sinyal
kontrol yang diberikan.
Dibandingkan dengan re-wiring, lebih baik
memberikan suatu set sinyal kontrol yang baru.

Struktur dan Fungsi Komputer 5


Pendekatan Program

Customized
Hardware

Sequence of
Arithmetic Codes
Data And Logic Results
Functions

Instruction
Interpreter
Pemrograman pada hardware Control
(hardwired) Signals

General-Purpose
Data Arithmetic and Results
Logic Functions

Pemrograman pada software

Struktur dan Fungsi Komputer 6


Apa itu Program ?

Suatu urutan langkah-langkah


Pada setiap langkah, dilakukan operasi
aritmatika atau logika
Pada setiap operasi, diperlukan suatu set sinyal
kontrol yang berbeda

Struktur dan Fungsi Komputer 7


Control Unit

Untuk setiap operasi, terdapat suatu kode unik


ƒ mis. ADD, MOVE
Control unit merupakan suatu segmen
perangkat keras menerima kode tersebut dan
mengeluarkan sinyal kontrol

Kita memiliki suatu komputer!

Struktur dan Fungsi Komputer 8


Komponen Komputer

Data dan instruksi dikendalikan dan diolah oleh


Control Unit dan Arithmetic and Logic Unit
ƒ keduanya terdapat dalam Central Processing Unit
Data dan instruksi dimasukkan ke dalam sistem
dan hasil pengolahan dikeluarkan dari sistem
ƒ Unit Input/output
Diperlukan tempat sementara untuk menyimpan
kode dan hasil pengolahan
ƒ Main memory

Struktur dan Fungsi Komputer 9


Komponen Komputer :
Top Level View

Struktur dan Fungsi Komputer 10


Instruction Cycle

Struktur dan Fungsi Komputer 11


Fungsi Komputer

Fungsi dasar komputer adalah mengeksekusi suatu


program, yang merupakan kumpulan instruksi tersimpan
dalam memori.
Dalam bentuk paling sederhana, pengolahan instruksi
terdiri dari dua langkah :
ƒ prosesor membaca instruksi dari memori, satu persatu setiap
waktu (fetch)
ƒ eksekusi setiap instruksi (execute)
Eksekusi suatu program merupakan pengulangan proses
fetch dan eksekusi instruksi.

Struktur dan Fungsi Komputer 12


Instruction Cycle

Pemrosesan sebuah instruksi


Dua langkah :
ƒ Fetch
ƒ Execute

Struktur dan Fungsi Komputer 13


Fetch Cycle

Program Counter (PC) mengeluarkan alamat instruksi


yang hendak diambil
Prosesor mengambil (fetch) instruksi dari lokasi memori
yang ditunjuk oleh PC
Penambahan PC
ƒ Kecuali jika ada perintah lain
Instruksi dimasukkan ke Instruction Register (IR)
Prosesor menerjemahkan instruksi dan melakukan aksi
yang diinginkan.

Struktur dan Fungsi Komputer 14


Execute Cycle

Processor-memory
ƒ Transfer data antara CPU dan memori utama
Processor I/O
ƒ Transfer data antara CPU dan modul I/O
Data processing
ƒ Beberapa operasi aritmatika atau logika pada data
Control
ƒ Perubahan urutan operasi, mis. jump
Kombinasi hal di atas

Struktur dan Fungsi Komputer 15


Contoh Eksekusi Program

Misalkan, suatu mesin memiliki karakteristik


sebagai berikut,
Format instruksi :
0 3 4 15
Opcode Alamat

Format integer :
0 1 15
S Besaran

Struktur dan Fungsi Komputer 16


Contoh Eksekusi Program - lanjutan

Register CPU Internal :


ƒ Program Counter (PC)=Alamat instruksi
ƒ Instruction Register (IR)=Instruksi hendak dieksekusi
ƒ Accumulator (AC)=Penyimpan sementara

Sebagian opcode :
ƒ 0001 = Load AC from memory
ƒ 0010 = Store AC to memory
ƒ 0101 = Add to AC from memory

Struktur dan Fungsi Komputer 17


Contoh Eksekusi Program - lanjutan

Program diinginkan :
Jumlahkan isi memori alamat 940 dengan isi
memori alamat 941 dan simpan hasilnya di
memori alamat 941.

Pertanyaan :
Hitung jumlah fetch cycle dan execute cycle
yang diperlukan !

Struktur dan Fungsi Komputer 18


Contoh Eksekusi Program - lanjutan

Fetch Execute
cycle cycle

Struktur dan Fungsi Komputer 19


Instruction Cycle – Komputer Modern

Pada komputer modern, dengan set instruksi


yang lebih kompleks, jumlah siklus yang
diperlukan dapat menjadi lebih sedikit.
Suatu instruksi dapat memiliki lebih dari satu
operand alamat.
ƒ Suatu instruction cycle dapat melibatkan lebih dari
satu referensi ke memori, juga operasi I/O
Contoh, instruksi pada PDP-11
ƒ ADD B,A : jumlahkan isi memori lokasi B dan A
simpan hasilnya di A.

Struktur dan Fungsi Komputer 20


Instruction Cycle - State Diagram

Struktur dan Fungsi Komputer 21


Instruction Cycle - State Diagram Detail

Instruction address calculation (iac) :


ƒ Menentukan alamat instruksi selanjutnya yang hendak
dieksekusi
Instruction fetch (if) :
ƒ transfer instruksi dari lokasi memori tertentu ke prosesor
Instruction operation decoding (iod) :
ƒ menerjemahkan instruksi untuk menentukan jenis operasi yang
hendak dilakukan dan operand yang hendak digunakan

Struktur dan Fungsi Komputer 22


Instruction Cycle - State Diagram Detail

Operand address calculation (oac) :


ƒ jika operasi memiliki operand pada memori atau melalui I/O,
tentukan alamat operand
Operand fetch (of) :
ƒ fetch operand dari memori atau I/O
Data operation (do) :
ƒ Mengerjakan operasi sesuai instruksi yang telah ditentukan
(mis. operasi aritmatika, logika, transfer data, dll).
Operand store (os) :
ƒ Menyimpan hasil operasi ke memori atau I/O

Struktur dan Fungsi Komputer 23


Interupsi

Struktur dan Fungsi Komputer 24


Pengertian Interupsi

Mekanisme dimana suatu modul (mis. I/O)


dapat menginterupsi urutan proses normal pada
program.
Interupsi dibuat dengan tujuan untuk
meningkatkan efisiensi prosesor.
ƒ Contoh : Kerja kebanyakan devais eksternal lebih
lambat dari prosesor, sehingga prosesor seringkali
idle karena menunggu devais selesai bekerja.
Lamanya menunggu dapat ratusan hingga ribuan
instruction cycle.

Struktur dan Fungsi Komputer 25


Jenis Interupsi

Program
ƒ Dihasilkan oleh beberapa kondisi yang terjadi akibat eksekusi
suatu instruksi; mis. overflow, division by zero
Timer
ƒ Dihasilkan timer internal prosesor; utk. multitasking
I/O
ƒ Dihasilkan oleh I/O controller; untuk memberi tahu prosesor
bahwa proses I/O sudah selesai secara normal atau terjadi
kegagalan.
Kegagalan hardware
ƒ Akibat adanya suatu kegagalan; mis. power failure atau memori
parity error

Struktur dan Fungsi Komputer 26


Program Flow Control

Struktur dan Fungsi Komputer 27


Program Control Flow

Program melakukan beberapa operasi WRITE yang


disisipkan di tengah proses
Segmen 1, 2 dan 3 adalah urutan instruksi yang tidak
melibatkan I/O
Operasi WRITE adalah suatu program I/O yang
melakukan operasi I/O
Program I/O meliputi tiga hal :
ƒ Persiapan operasi I/O (Label 4)
ƒ Perintah I/O (Tanpa interupsi, prosesor akan menunggu)
ƒ Akhir operasi I/O (Label 5)

Struktur dan Fungsi Komputer 28


Operasi I/O Tanpa Interupsi

Modul I/O

CPU
idle

prepare to write

Struktur dan Fungsi Komputer 29


Operasi I/O Tanpa Interupsi

Modul I/O

writing
CPU

idle

Struktur dan Fungsi Komputer 30


Operasi I/O Tanpa Interupsi

Modul I/O
idle

CPU
processing

complete write

Struktur dan Fungsi Komputer 31


Operasi I/O Dengan Interupsi

Modul I/O

CPU
idle

prepare to write

Struktur dan Fungsi Komputer 32


Operasi I/O Dengan Interupsi

Modul I/O

writing
CPU

processing

Struktur dan Fungsi Komputer 33


Operasi I/O Dengan Interupsi

Modul I/O
idle

CPU
processing

complete write

Struktur dan Fungsi Komputer 34


Program Timing

Struktur dan Fungsi Komputer 35


Instruction Cycle – Dengan Interupsi

Interrupt cycle ditambahkan pada instruction


cycle

Struktur dan Fungsi Komputer 36


Interrupt Cycle

Ditambahkan pada instruction cycle


Prosesor memeriksa adanya interupsi
ƒ Ditandai dengan adanya sinyal interupsi
Jika tidak ada interupsi, fetch instruksi selanjutnya
Jika terdapat interupsi:
ƒ Hentikan eksekusi program yang sedang berjalan
ƒ Simpan konteks program (alamat dan data)
ƒ Atur PC agar berisi alamat awal dari interrupt handler routine
ƒ Lakukan interupsi
ƒ Kembalikan konteks program yang disimpan dan lanjutkan
kembali eksekusi program sebelum diinterupsi.

Struktur dan Fungsi Komputer 37


Instruction Cycle - State Diagram

Struktur dan Fungsi Komputer 38


Interupsi Ganda

1. Disable interrupt
ƒ Prosesor akan mengabaikan interupsi yang datang
jika prosesor masih memproses interupsi
sebelumnya.
ƒ Interupsi yang baru datang tersebut akan tertahan
dan diperiksa setelah prosesor selesai memproses
interupsi pertama.
ƒ Interupsi ditangani berdasarkan urutan
kedatangannya.
ƒ Kekurangan : tidak memperhatikan prioritas atau
kebutuhan waktu yang kritis dari setiap interupsi.

Struktur dan Fungsi Komputer 39


Disable Interupt - Sekuensial

Struktur dan Fungsi Komputer 40


Interupsi Ganda

2. Berdasarkan prioritas
ƒ Interupsi dengan prioritas lebih rendah dapat
diinterupsi oleh interupsi dengan prioritas lebih tinggi.
ƒ Setelah interupsi dengan prioritas tertinggi selesai
diproses, prosesor kembali ke interupsi sebelumnya.

Struktur dan Fungsi Komputer 41


Berdasarkan Prioritas - Nested

Prioritas interupsi Y (mis.


communication line) lebih
besar dari prioritas interupsi
X (mis. printer).

Struktur dan Fungsi Komputer 42

Anda mungkin juga menyukai