Anda di halaman 1dari 13

SIKLUS INSTRUKSI DASAR

& INTERUPSI
Rinta Kridalukmana
Siklus Instruksi Dasar
°  Fungsi Komputer à mengeksekusi program

°  Program berisi sejumlah instruksi yang disimpan di dalam


memori

°  Eksekusi program paling sederhana terdiri dari 2 langkah


•  Instruksi baca (fetch) CPU dari memori pada suatu saat
•  CPU mengeksekusi setiap instruksi (eksekusi instruksi)

°  Pengolahan yang diperlukan untuk instruksi tunggal disebut


SIKLUS INSTRUKSI

2
Siklus Instruksi Dasar

START

Mengambil
instruksi Siklus
Eksekusi program berhenti bila :
berikutnya pengambilan
-  mesin dimatikan
-  terjadi kesalahan
Eksekusi
Instruksi Siklus eksekusi -  terdapat instruksi program yang
menghentikan komputer

HALT

SIKLUS INSTRUKSI DASAR

3
Siklus Instruksi Dasar
°  Langkah fetch & eksekusi :
-  CPU baca instruksi dari memori
-  CPU menambahkan PC (Program Counter) setiap kali
membaca instruksi. PC berfungsi mengawasi
instruksi yang akan dibaca selanjutnya
-  Instruksi yang dibaca akan dimuatkan dalam sebuah
register yang dikenal sebagai Instruction Register
(IR)
-  CPU mengintepretasikan aksi dan melakukan aksi
yang diperlukan.
–  Aksi dibagi 4 kategori :
»  CPU-memori
»  CPU – I/O
»  Pengolahan Data
»  Control

4
Aksi yang dilakukan CPU
°  CPU – Memori
•  data dipindah dari CPU ke memori atau dari memori ke
CPU

°  CPU – I/O
•  data dapat dipindahkan ke atau dari dunia luar dengan
pemindahan antara CPU dan modul I/O

°  Pengolahan Data
•  CPU dapat membentuk sejumlah operasi aritmetik atau
logik terhadap data

°  Control
•  sebuah instruksi dapat mengubah urutan eksekusi

5
Contoh siklus instruksi dasar

Misal : operational
code
1 = ambil nilai
2 = simpan nilai
5 = penjumlahan

6
Interrupts & Siklus Instruksi
°  Sebagian perangkat eksternal jauh lebih lambat
dari prosesor
à Perlu efisiensi pengolahan
à  Solusi : INTERRUPT

°  Contoh : Printer
•  Setiap kali CPU printer berhenti setelah
melakukan operasi penulisan data ke printer
à  CPU dalam keadaan idle sampai printer menerima
seluruh data
à  Hal ini menyia-nyiakan kemampuan prosesor

•  Dengan interrupt prosesor dapat diperintahkan


untuk mengeksekusi instruksi lainnya pada saat
I/O sedang dilaksanakan
7
Siklus Instruksi dengan Interrupt

START

Mengambil Dari sudut pandang


Siklus
Instruksi
Pengambilan program pengguna,
Beritkutnya
sebuah interrupt adalah
sebuah interupsi terhadap
Eksekusi Siklus
serangkaian eksekusi
HALT normal.
Instruksi Eksekusi

Interupt
Interupt Diijinkan
Bila pengolahan interrupt
Tidak
Diijinkan Pemeriksaan
selesai, maka eksekusi
Interupt; Siklus kembali dilakukan
Interupt; Interupt
Proses

8
Pemindahan kontrol via interrupt

Program Pengguna Interupt Handler


1
2
• • •
• • •
• • •
i
i+1
Interupt Terjadi
di Sini • •
• •
M
• •

9
Pendekatan dalam menangani interrupt
°  Ada 2 pendekatan :
•  Secara sequential
•  Secara bersarang

10
Pendekatan penanganan Interrupt - Sequential

Interupt
Handler X
°  Tidak mengijinkan interrupt
Program Pengguna lain ketika suatu interrupt
sedang diproses

Interupt
Handler Y
°  Tidak diperhitungkan
prioritas relatif / kebutuhan
waktu krisis

°  Bila batch input pertama


belum diproses sebelum
batch kedua tiba, maka
mungkin data akan hilang
a) Pengolahan Interupt secara Sekuensial

11
Pendekatan penanganan Interrupt - Bersarang

Interupt
Handler X

Program Pengguna °  Mendefinisikan prioritas


bagi interrupt

Interupt
Handler Y °  Interrupt berprioritas tinggi
menyebabkan interrupt
handler yang berprioritas
lebih rendah menginterupsi
dirinya

b) Pengolahan Interupt secara Bersarang

12
Pendekatan penanganan Interrupt - Bersarang
°  Contoh
Perangkat Prioritas
Printer 2 ISR = Interupt
Disk 4 service
routine
Komunikasi 5

Pengguna Program ISR Printer ISR Komunikasi


t=0
15
t=
10
t=

t = 25
t=2
t= 5
40 ISR Disk
t=
35

13

Anda mungkin juga menyukai