Makalah Tentang Interrupt Processor

23
 Interupsi Procesor 2014 Created By SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER (STMIK) NURDIN HAMZAH PROGRAM ST UDI TE KNIK INFORMATIKA NUR WAHID

Transcript of Makalah Tentang Interrupt Processor

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 1/23

 

Interupsi Procesor

2014 

Created By

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

(STMIK) NURDIN HAMZAH

PROGRAM STUDI TEKNIK INFORMATIKA

NUR WAHID

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 2/23

Makalah Tentang Interupsi Pada Processor Page 1

Daftar isi 

Kata pengantar ......................................................................................................................... i

Daftar isi ................................................................................................................................. 1BAB I PENDAHULUAN

A.  Latar Belakang ............................................................................................................. 2

B.  Rumusan Masalah ....................................................................................................... 2

C. 

Tujuan .......................................................................................................................... 2

a.  Tujuan Umum .................................................................................................. 2

 b.  Tujuan Khusus ................................................................................................. 2

D. 

Manfaat ........................................................................................................................ 3

BAB II PEMBAHASAN

1.  Pengertian Interrupt ..................................................................................................... 4

2. 

Vektor Interupsi ........................................................................................................... 5

a.  Maskable Interupt ............................................................................................ 8

 b.   Non-Maskable Interupt .................................................................................... 8

c.  Interupt Pada 8086 ........................................................................................... 9

d.  Pemakaian Interupt .......................................................................................... 10

1.  Pencegahan Interupt Pada Processor ..................................................................... 13

2.  Contoh Penerapan ................................................................................................. 14

2.1 Pengendali Tungku Otomatis .................................................................... 14

2.2 Sistem Alarm ............................................................................................. 16

3.  Siklus Intruksi .............................................................................................................. 18

4.  Sinyal Interupsi ............................................................................................................ 19

5. 

Mekanisme Interupsi ................................................................................................... 19

6. 

Interupsi Ditangguhkan ............................................................................................... 20

BAB III PENUTUP

1. 

Kesimpulan .................................................................................................................. 21

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 3/23

Makalah Tentang Interupsi Pada Processor Page 1

KATA PENGANTAR

Dengan mengucapkan puji syukur Alhamdulillah kepada Allah SWT, yang telah

melimpahkan segala rahmat dan hidayah-Nya, sehingga kami dapat mengerjakan makalah

interupsi processor ini dengan baik dan lancar. Kami berharap makalah ini dapat memberikan

motivasi kepada para mahasiswa-mahasiswi STMIK NURDIN HAMZAH untuk lebih giat

mempelajari dengan dalam hakekat yang terkandung dalam interupsi processor ini.

Kami juga meminta maaf yang sebesar-besarnya apabila ada kekurangan, kesalahan bahkan

kata-kata yang tidak berkenan di hati dan disisi lain kami sangat mengharapkan ada masukan

 baik kritik maupun saran dari saudara. Sehingga penyusun dapat memperbaiki apa yang jadi

kekurangan kami karena tidak ada manusia yang sempurna kecuali Allah SWT.

Akhir kata kami mengharapkan makalah ini banyak manfaatnya bagi kami sendiri khususnya

maupun semua pihak pada umumnya.

Penyusun

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 4/23

Makalah Tentang Interupsi Pada Processor Page 2

BAB I 

Pendahuluan

A.  Latar Belakang 

Interrupt bisa diibaratkan dalam kehidupan sehari-hari sebagai suatu proses berjalan,

namun belum selesai proses tersebut melakukan tugasnya, sudah dilaksanakan lagi proses

lainnya. Ibaratnya, ketika anda sedang melakukan suatu pekerjaan, katakanlah membaca

sebuah buku, belum selesai buku tersebut anda tamatkan, lalu telepon anda berbunyi,

sehingga anda melakukan percakapan terlebih dahulu melalui telepon tersebut. Setelah

 pembicaraan selesai, anda melanjutkan membaca buku tadi. Menerima telepon di dalam

kejadian tersebut disebut dengan menyela. Begitu juga dengan proses yang terjadi pada

komputer, dan akan dibahas lebih lanjut di dalam makalah ini.

B.  Rumusan Masalah 

Adapun beberapa pokok materi yang akan dibahas di dalam makalah ini, yaitu :

-  Pengertian Interrupt

-  Software Interrupt

-  Pencegahan Interrupt pada processor

C. Tujuan 

Adapun tujuan dan manfaat dari pembuatan makalah ini, yaitu agar kita lebih

memahami dan mendalami apa itu interrupt. Dan Agar kita dapat mengetahui maupun

mendeteksi terjadinya interrupt pada processor, sehingga dapat mengendalikan terjadinya

interrupt pada processor tersebut.

a. Tujuan Umum 

Dengan di adakannya pembuatan makalah pengantar teknologi informasi ini supaya kami

dapat memperoleh pengetahuan dan keterempilan tentang ilmu pengantar teknologi informasi.

Dengan makalah ini, kami juga dapat meningkatkan pemahaman tentang teori

 pengantar teknologi informasi ini.

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 5/23

Makalah Tentang Interupsi Pada Processor Page 3

 b. Tujuan Khusus 

Ø Menambah pengetahuan dalam bidang Pengantar Teknologi Informasi

Ø Menerapkan materi yang di peroleh dari kampus melalui kegiatan membuat makalah.

Ø Menambah wawasan dalam bidang pengantar teknologi ionformasi.

E. Manfaat 

Pembuatan makalah Pengantar Teknologi Informasi ini memberikan mamfaat kepada

Mahasiswa –  Mahasiswi STMIK NURDIN HAMZAH, khususnya antara lain yaitu :

Ø Sebagai penunjang dalam pembelajaran Pengantar Teknologi Informasi

Ø Dapat mempermudah dan lebih memperdalam lagi materi Pengantar TeknologiInformasi, khususnya pada bab yang kami bahas.

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 6/23

Makalah Tentang Interupsi Pada Processor Page 4

BAB II 

Pembahasan

1.  Pengertian Interrupt 

Interrupt atau interupsi adalah proses dalam komputer untuk meminta dilayani olehmicroprocessor sesuai dengan tingkat prioritasnya yang telah diatur sedemikian rupa oleh

sistem hardware computer.

CPU banyak melaksanakan routin untuk melakukan pelayanan pemrosesan ataupun

koordinasi kepada IC penunjang atau chipset dan peripherals pada saat diperlukan. Sehingga

CPU dapat melakukan operasi dengan 2 cara yaitu :

1.  Operasi dengan polling

Operasi dengan polling berarti CPU selalu terus menerus menanyakan/ memantau ke

tiap-tiap komponen penunjang satu persatu meskipun komponen itu sedang tidak memerlukan

 pelayanan.

2.  Operasi dengan interrupt langsung

Operasi interrupt atau interupsi dilakukan oleh tiap-tiap komponen kepada CPU

 bilamana memerlukan pelayanan pemrosesan, sehingga CPU tidak terus-menerus

menanyakan / memantau komponen itu. Setiap interupsi yang datang di kontrol oleh interrupt

controller di luar CPU.

Dalam keadaan CPU terkena interupsi, maka CPU untuk sesaat menghentikan

kegiatan pelayanan utama dan beralih melayani komponen yang menginterupsinya. Setelah

selesai dilayani CPU kembali melakukan pelayanan utamanya. Cara interupsi sangat

meningkatkan effisiensi operasi CPU dan melakukan tugasnya dengan cepat.

Di dalam pemrograman dengan bahasa assembler kita akan banyak sekali

menggunakan Interupsi untuk menyelesaikan suatu tugas.

Kadang-kadang proses dalam CPU mengalami interupsi untuk kejadian-kejadian yang

 perlu segera mendapat respon, seperti pengetikan pada keyboard, proses I/O lainnya dan clock

tick untuk mengupdate waktu system. Pada prinsipnya interrupt terbagi atas :

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 7/23

Makalah Tentang Interupsi Pada Processor Page 5

1.  Eksternal

Pada proses Eksternal, interrupt di bangkitkan oleh proses di luar program seperti proses

I/O dan clock. Seperti Software, interrupt jenis ini juga disebut System call. Contoh suatu

 program ingin mencetak hasil dengan printer.

2. InternalPada proses Internal, interrupt dibangkitkan oleh proses program seperti devide for zero

error (Trapsinterrupt) dan software interrupt (dibangkitkan dengan perintah INT). Seperti

Hardware, terjadi karena adanya aksi pada perangkat keras, seperti penekanan tombol

keyboard atau menggerakkan mouse.

Ketika suatu interrupt terjadi, processor akan menyelesaikan siklus memori saat

ini,dan bercabang kepada routin khusus menangani interrupt tersebut, status dari program

saat ini akan disimpan dan routin interrupt handle umumnya akan mengembalikan kendali

 program termasuk semua nilai register seakan-akan tidak pernah terjadi sesuatu (hanya

kehilangan beberapa siklus CPU), sedangkan traps interrupt tidak akan kembali ke

 program dan menghentikan program tersebut. Pada bagian ini lebih memfokuskan pada

software interrupt.

Pada IBM PC dan kompatibelnya disediakan 256 buah interupsi yang diberi nomor 0

sampai 255. Nomor interupsi 0 sampai 1Fh disediakan oleh ROM BIOS, yaitu suatu IC

didalam komputer yang mengatur operasi dasar komputer. Jadi bila terjadi interupsi dengan

nomor 0-1Fh, maka secara default komputer akan beralih menuju ROM BIOS dan

melaksanakan program yang terdapat disana. Program yang melayani suatu interupsi

dinamakan Interrupt Handler.

2. VEKTOR INTERUPSI

Setiap interrupt akan mengeksekusi interrupt handlernya masing-masing berdasarkan

nomornya. Sedangkan alamat dari masing- masing interupt handler tercatat di memori dalam

 bentuk array yang besar elemennya masing-masing 4 byte. Keempat byte ini dibagi lagi yaitu

2 byte pertama berisi kode offset sedangkan 2 byte berikutnya berisi kode segmen dari alamat

interupt handler yang bersangkutan. Jadi besarnya array itu adalah 256 elemen dengan ukuran

elemen masing-masing 4 byte. Total keseluruhan memori yang dipakai adalah sebesar 1024

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 8/23

Makalah Tentang Interupsi Pada Processor Page 6

 byte (256 x 4 = 1024) atau 1 KB dan disimpan dalam lokasi memori absolut 0000h sampai

3FFh. Array sebesar 1 KB ini disebut Interupt Vector Table (Table Vektor Interupsi). Nilai-

nilai yang terkandung pada Interupt Vector Table ini tidak akan sama di satu komputer

dengan yang lainnya.

Interupt yang berjumlah 256 buah ini dibagi lagi ke dalam 2 macam yaitu:

- Interupt 00h - 1Fh (0 - 31) adalah interrupt BIOS dan standar di semua komputer baik yang

menggunakan sistem operasi DOS atau bukan. Lokasi Interupt Vector Table-nya ada di

alamat absolut 0000h-007Fh.

- Interupt 20h - FFh (32 - 255) adalah interrupt DOS. Interrupt ini hanya ada pada komputer

yang menggunakan sistem operasi DOS dan Interupt Handler-nya diload ke memori oleh

DOS pada saat DOS digunakan. Lokasi Interupt Vector Tablenya ada di alamat absolut 07Fh-

3FFh.

Nomor

Interrupt

Nama

Interrupt

Nomor

Interrupt

Nama

Interrupt

*00h  Divide By Zero  10h  Video Service 

*01h  Single Step  11h  Equipment Check  

*02h   Non MaskableInt(NMI)  12h  Memory Size 

*03h  Break point  13h  Disk Service 

04h  Arithmatic Overflow  14h  Communication (RS-232) 

05h  Print Screen  15h  Cassette Service 

06h  Reserved  16h  Keyboard Service 

07h  Reserved  17h  Printer Service 

08h  Clock Tick(Timer)  18h  ROM Basic 

09h  Keyboard  19h  Bootstrap Loader  

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 9/23

Makalah Tentang Interupsi Pada Processor Page 7

0Ah  I/O Channel Action  1Ah  BIOS time & date 

0Bh  COM 1 (serial 1)  1Bh  Control Break  

0Ch  COM 2 (serial 2)  1Ch  Timer Tick  

0Dh  Fixed Disk   1Dh  Video Initialization 

0Eh  Diskette  1Eh  Disk Parameters 

0Fh  LPT 1 (Parallel 1)  1Fh  Graphics Char  

Gambar 3.1. BIOS Interrupt

Interrupt ini telah dipastikan kegunaannya oleh sistem untuk keperluan yang khusus , tidak

 boleh dirubah oleh pemrogram seperti yang lainnya.

DEVIDE BY ZERO : Jika terjadi pembagian dengan nol maka proses akan segera

dihentikan.

SINGLE STEP : Untuk melaksanakan / mengeksekusi intruksi satu persatu.

 NMI : Pelayanan terhadap NMI (Non Maskable Interrupt) yaitu interupsi yang tak dapat

dicegah.

BREAK POINT : Jika suatu program menyebabkan overflow flag menjadi 1 maka

interrupt ini akan melayani pencegahannya dan memberi tanda error.

Nomor

Interrupt

Nama

Interrupt

20h Terminate Program

21h DOS Function Services

22h Terminate Code

23h Ctrl-Break Code

24h Critical Error Handler

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 10/23

Makalah Tentang Interupsi Pada Processor Page 8

25h Absolute Disk Read

26h Absolute Disk Write

27h Terminate But Stay Resident

Gambar 3.2. DOS Interrupt

Didalam pemrograman dengan bahasa assembler kita akan banyak sekali

menggunakan interupsi untuk menyelesaikan suatu tugas.

Kadang-kadang proses dalam CPU mengalami interrupsi untuk kejadian-kejadian

yang perlu segera mendapat respon, seperti pengetikan pada keyboard, proses I/O lainnya, dan

clock tick untuk mengupdate waktu system. Pada prinsipnya interrupt terbagi atas eksternal,

dan internal. Eksternal interrupt dibangkitkan oleh proses diluar program seperti proses I/O,

dan clock, sedangkan proses Internal interrupt dibangkitkan oleh proses program seperti

devide for zero error (Traps interrupt) dan Software interrupt (dibangkitkan dengan perintah

INT).

Ketika suatu interrupt terjadi, processor akan menyelesaikan siklus memori saat ini,

dan bercabang kepada rutin khusus menanggani interrupt tersebut, status dari program saat ini

akan disimpan dan rutin interrupt handle umumnya akan mengembalikan kendali ke program

termasuk semua nilai register seakan-akan tidak pernah terjadi sesuatu (hanya kehilangan

 beberapa siklus CPU), sedangkan Traps interrupt tidak akan kembali ke program dan

menghentikan program tersebut.

Catatan : Pada bagian ini kita akan lebih memfokuskan diri pada Software interrupt

a.  Maskable Interrupt

Processor dapat mencegah interrupt dengan menggunakan mask bit khusus interrupt.

Mask bit ini adalah bagian dari flag register pada microprocessor 8086 yang dikenal sebagai

interrupt flag (IF), jika bit ini clear (IF=0), dan terjadi permintaan interrupt pada pin Interrupt

Request, maka permintaan tersebut akan diabaikan.

b.  Non-Maskable Interrupt (NMI)

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 11/23

Makalah Tentang Interupsi Pada Processor Page 9

Ada beberapa interrupt yang mana tidak dapat di mask atau diabaikan oleh processor,

hal ini terkait dengan tugas-tugas prioritas tinggi yang tidak boleh diabaikan (seperti terjadi

 pariti pada memori atau kegagalan BUS). NMI memiliki prioritas yang absolut, dan ketika itu

terjadi, processor menyelesaikan siklus memori saat ini, dan kemudian bercabang ke rutin

khusus yang ditulis untuk menangani permintaan interrupt.

c.  Interrupt pada 8086

Adapun urutan dari proses interrupt pada microprocessor 8086 dapat dijelaskan sebagai

 berikut:

1. Interface eksternal mengirim suatu sinyal interrupt ke pin Interrupt Request (INTR), atausuatu internal interrupt terjadi.

2. CPU menyelesaikan instruksi yang berlangsung dan mengirim (untuk suatu hardware

interrupt) dan mengirim Interrupt Acknowledge (INTA) ke interface hardware.

Hendra, MT. & Hartono, M.Kom. 19 Pemrograman Bahasa Rakitan

3. Interrupt jenis N (masing-masing interrupt memiliki nomor) dikirim ke Central Processing

Unit (CPU) melalui data bus dari interface hardware.

4. Isi dari register flag didorong ke stack.

5. Flag interrupt (IF) dan trap (TF) di clear, hal ini akan mencegah pin INTR dan kemampuan

single-step untuk proses debugging (trap)

6. Isi dari register CS didorong ke Stack

7. Isi dari register IP didorong ke Stack

8. Isi dari vektor interrupt diambil, dari (4 x N) dan kemudian ditempatkan ke IP dan dari (4 x

 N + 2) ke CS, sehingga instruksi berikutnya yang akan dijalankan adalah procedure dari

interrupt service berdasarkan alamat pada interrupt vector.

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 12/23

Makalah Tentang Interupsi Pada Processor Page 10

9. Ketika kembali dari rutin interrupt-service oleh instruksi Interrupt Return (IRET),

nilai IP, CS dan register Flag akan ditarik dari Stack dan kembali ke kondisi

sebelum terjadinya interrupt.

Fungsi yang tersedia dalam interrupt dapat terdiri dari layanan hardware sepertiscreen, diskdrive, printer, serial port dan keyboard, maupun layanan secara software seperti

directory dan file.

Untuk melakukan panggilan terhadap rutin interrupt menggunakan perintah INT N

Dimana N merupakan nomor interrupt yang dapat bernilai 0 s/d 255, yang umumnya ditulis

secara hexadecimal 0 s/d FF Pada kenyataannya masing-masing interrupt terbagi lagi sub-sub

layanan, yang ditentukan pada nilai register AH, sebelum interrupt tersebut dipanggil,sehingga kita dapat memiliki 256 x 256 = 65536 fungsi layanan. Hendra, MT. & Hartono,

M.Kom. 20 Pemrograman Bahasa Rakitan

d.  Pemakaian Interrupt

Seperti yang telah dijelaskan sebelumnya, salah satu parameter layanan fungsi

interrupt adalah sub layanan yang ditentukan oleh nilai register AH, selain nilai register AH,

kita juga perlu mengisi nilai-nilai register lainnya sesuai dengan kebutuhan layanan interrupt

tersebut.

Contoh:

INT 21,9 - Print String

AH = 09

DS:DX = menunjuk alat suatu striung yang diakhir dengan "$"

returns nothing

- outputs character string to STDOUT up to "$"

- backspace is treated as non-destructive

- if Ctrl-Break is detected, INT 23 is executed

Berdasarkan data tersebut diatas, maka untuk pemakaian interrupt $21, sub layanan

$9dengan fungsi “Print String”, maka perlu ditentukan nilai register AH=$9, dan kemudian

nilai register DS:DX menunjuk ke alamat suatu string yang diakhiri dengan '$'. Coba kita

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 13/23

Makalah Tentang Interupsi Pada Processor Page 11

review kembali program hello world sebelumnya. Dimana kita menggunakan INT $21 sub

layanan AH=$9 untuk mencetak tulisan yang berada dioffset DX=$102. Jadi dalam hal ini

AH dan DX merupakan parameter bagi INT $21.

0B11:0100 jmp 112

0B11:0102 db 'hello world !',0d,0a,'$'

0B11:0112 mov ah,9

0B11:0114 mov dx,102

0B11:0117 int 21

0B11:0119 mov ah,4c

0B11:011B int 21

Dalam hal ini kita tidak menentukan nilai DS, karena secara default pada program

 jenis COM, nilai DS, ES, dan SS adalah sama dengan CS.

Pada contoh sebelumnya kita bekerja dengan rutin interrupt yang tidak

mengembalikan hasil, tetapi hanya proses mencetak string ke layar, berikut ini kita akan

membahas rutin interrupt yang mengembalikan hasil.

INT 21,8 - Console Input Without Echo

AH = 08

Hendra, MT. & Hartono, M.Kom. 21

Pemrograman Bahasa Rakitan

on return:

AL = character from STDIN

- returns 0 for extended keystroke, then function must be

called again to return scan code

- waits for character from STDIN and returns data in AL

- if Ctrl-Break is detected, INT 23 is executed

Berdasarkan data tersebut diatas, maka untuk menjalankan fungsi Int $21 “Console

Input Without Echo”, kita perlu ditentukan nilai register AH=$8, dan interrupt rutin akan

menunggu karakter dari STDIN, jika ada karakter yang diketik, maka akan disimpan di

register AL.

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 14/23

Makalah Tentang Interupsi Pada Processor Page 12

Untuk kongkritnya mari kita lihat contoh berikut ini, dimana setelah mencetak pesan

“Ketik huruf A untuk selesai”, program akan menanti input dari keyboard dengan

menggunakan INT $21 sub layanan AH=$8, dan nilai ASCII dari input keyboard akan

dikembalikan di register AL. Selanjutnya program dapat membandingkan nilai register AL

dengan $41 (65 desimal).

0B11:0100 mov ah,9

0B11:0102 mov dx,113

0B11:0105 int 21

0B11:0107 mov ah,8 ;baca dari STDIN tanpa echo

0B11:0109 int 21 ;karakter dikembalikan ke AL

0B11:010B cmp al,410B11:010D jnz 100

0B11:010F mov ah,4c

0B11:0111 int 21

0B11:0113 db „Ketik huruf A untuk selesai‟,0d,0a,‟$‟ 

0B11:0131

INT 21,3B - Change Current Directory (chdir)

AH = $3B

DS:DX = pointer to ASCIIZ path name

on return:

CF = 0 if successful

= 1 if error

AX = error code if CF set (see DOS ERROR CODES)

- changes the current directory to the directory specified

 by pointer DS:DX

1 Fungsi yang tersedia dalam interrupt

Fungsi yang tersedia dalam interrupt dapat terdiri dari layanan hardware seperti

screen, diskdrive, printer, serial port dan keyboard, maupun layanan secara software seperti

directory dan file.

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 15/23

Makalah Tentang Interupsi Pada Processor Page 13

Untuk melakukan panggilan terhadap routin interrupt menggunakan perintah INT N.

Dimana N merupakan nomor interrupt yang dapat bernilai 0 s/d 255, umumnya ditulis secara

hexadecimal 0 s/d FF. Pada kenyataannya masing-masing interrupt terbagi lagi sub-sub

layanan, yang ditentukan pada nilai register AH, sebelum interrupt tersebut dipanggil.

Sehingga kita dapat memiliki 256 × 256 = 65536 fungsi layanan.

2 Penyebab terjadinya Interrupt:

a. Program, terjadi akibat eksekusi suatu instruksi

 b. Timmer, disebabkan oleh timmer prosessor

c. I/O, disebabkan oleh I/O controller baik sebagai tanda bahwa operasi

telah selesai maupun memberi tanda eror.

d. 

Kegagalan hardware, disebabkan oleh kesalahan hardware seperti power failure dan memori parity eror.

3  Ada dua aksi yang diberikan saat terjadi interrupt:

a. Syncronous I/O. I/O dijalankan, I/O selesai digunakan, kontrol

menginformasikan kembali ke user proses. Untuk menunggu selesai

digunakannya I/O, digunakan perintah wait.

 b.Asyncronous I/O. Kembali ke user program tanpa harus menunggu I/O.

1.  Pencegahan interrupt pada processor : 

Interrupt ini terbagi lagi menjadi dua,yaitu: Maskable Interrupt(terjadi

karena aksi luar) dan NonMaskable Interrupt(terjadi karena memori atau

kesalahan parity pada program) :

-  Maskable Interrupt

Processor dapat mencegah interrupt dengan menggunakan mask bit khusus interrupt.

Mask bit ini adalah bagian dari flag register pada microprocessor 8086 yang dikenal

sebagai interrupt flag (IF), jika bit ini clear (IF=0), dan terjadi permintaan interrupt

 pada pin interrupt requaest, maka permintaan tersebut akan diabaikan.

-   Non-maskable interrupt

Ada beberapa interrupt yang mana tidak dapat di mask atau diabaikan oleh processor.

Hal ini terkait dengan tugas-tugas prioritas tinggi yang tidak boleh diabaikan (seperti

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 16/23

Makalah Tentang Interupsi Pada Processor Page 14

terjadi pariti pada memori atau kegagalan BUS). NMI memiliki prioritas yang absolut,

dan ketika itu terjadi, processor menyelesaikan siklus memori saat ini, dan kemudian

 bercabang ke routin khusus yang di tulis untuk menangani permintaan interrupt.

Tindak lanjut Pencegahan Interrupt :1.  Interrupt Handler

Jika terjadi interupsi, maka kendali processor diserahkan ke bagian penata interupsi

 pada sistem operasi, maka penata interupsi inilah yang melaksanakan interupsi.

a.  Instruksi yang sedang diolah oleh processor dibiarkan sampai selesai program.

 b.  Penata interupsi merekam semua informasi proses ke dalam blok kendali proses.

c.  Penata interupsi mengidentifikasi jenis dan asal interupsi.

d.  Penata interupsi mengambil tindakan sesuai dengan yang dimaksud interupsi.

e.  Penata interupsi mempersiapkan segala sesuatu untuk pelanjutan proses yang

diinterupsi.

2.  Error handler

Yaitu interupsi karena kekeliruan pada pengolahan proses dan bagian pada sistem

operasi yang menata kegiatan akibat kekeliruan.

a.  Pemulihan, komputer telah dilengkapi dengan sandi penemuan dan pemulihan

kekeliruan. Sehingga ketika menemukan kekeliruan sandi akan mengoreksi kekeliruan

itu, dan proses pulih kembali ke bentuk semula sebelum terjadi kekeliruan.

 b.  Pengulangan, mengatur agar proses yang membangkitkan interupsi keliru dikerjakan

ulang. Jika kekeliruan dapat diatasi maka proses akan berlangsung seperti biasa, jika

tidak teratasi maka interupsi akan menempuh tindak lanjut keluar dari proses.

c.  Keluar dari proses, penata keliru menyiapkan tampilan berita keliru pada monitor,

setelah itu processor keluar dari proses , ini adalah tindakan terakhir jika tidak dapat

menolong proses yang keliru tersebut.

2.  Contoh Penerapan Interrupt

 Ada banyak contoh penerapan sistem interupsi mikroprosesor, tetapi pada modul ini

hanya akan diberikan 2 contoh saja, yaitu aplikasi pada mesin pengendali tungku otomatis

dan sistem alarm.

2.1. Pengendali Tungku Otomatis

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 17/23

Makalah Tentang Interupsi Pada Processor Page 15

Pada Gambar 11.1 ditunjukkan rangkaian dasar pengendali tungku otomatis agar

suhu tungku tetap terjaga pada jangkauan 80±5 derajat Celcius. P1.7 digunakan untuk

menghidupkan dan mematikan pemanas sesuai dengan logika aktif tinggi (1 = ON dan 0 =

OFF). Sensor temparatur dihubungkan ke INT0 dan INT1 dengan ketentuan:

PANAS = 0, jika T > 850C

DINGIN = 0, jika T < 750

C

Gambar 11.1 Rangkaian Dasar Pengendali Tungku

Dengan demikian program harus mampu menghidupkan tungku saat suhu kurang dari

750C dan mematikannya saat suhu lebih dari 850C. Diagram pewaktuan sistem ini

diperlihatkan pada Gambar 11.2 di bawah ini.

Gambar 11.2 Diagram Pewaktuan Pengendali Tungku

AT8951

DINGIN

INT0

INT1

P1.7Kendali

Tungku

PANAS

T = 85oC

T = 80oC

T = 75oC

PANAS

DINGIN

P1.7

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 18/23

Makalah Tentang Interupsi Pada Processor Page 16

Pada program diatas, tiga instruksi pertama pada program utama (baris ke-13 hingga ke-

15) digunakan untuk mengaktifkan interupsi dan menjadikan INT0 dan INT1 jenis interupsi

tepian sisi negatif (negative edge trigerred ). Karena kondisi masukan-masukan PANAS

(P3.3) dan DINGIN (P3.2) saat itu belum diketahui, maka tiga instruksi berikutnya (baris ke-

16 hingga ke-18) dibutuhkan untuk menghidupkan atau mematikan tungku. Sedangkan pada baris ke-19, pengendali akan diam untuk menunggu sampai ada interupsi terjadi.

Secara keseluruhan, pertama tungku dihidupkan (SETB P1.7 pada baris ke-16).

Kemudian, masukan dari PANAS diperikasa (baris ke-17). Jika tidak panas, atau suhunya

kurang dari 75oC, tungku dibiarkan menyala, ON, dan program menunggu. Namun, bila

suhunya telah melebihi 85oC tungku akan dipadamkan, OFF, dengan cara memberikan

instruksi CLR P1.7 pada baris ke-18. Setelah itu, program akan menunggu.

Pada masa menunggu inilah, interupsi dipersilakan oleh program. Jika terjadi interupsi

dari EXT0, berarti sensor mendeteksi bahwa suhu tungku telah melebihi 85oC, sehingga

tungku harus dipadamkan (instruksi ini terdapat pada baris ke-6). Demikian pula sebaliknya,

 jika terdapat interupsi EXT1, berarti sensor mendeteksi bahwa suhu tungku lebih rendah dari

75oC, sehingga tungku harus dinyalakan (instruksi ini terdapat pada baris ke-9).

2.2. Sistem Alarm

Akan dirancang suatu sistem alarm yang diaktifkan melalui interupsi. Sistem ini akan

menghasilkan alarm 400 Hz selama 1 detik. Rangkaian dasar sistem alarm ditampilkan pada

Gambar 11.3, dimana speaker dihubungkan dengan P1.0 akan aktif jika dideteksi pintu

terbuka melalui saluran INT0 dengan sistem pemicuan tepi transisi 1 ke 0. 

Gambar 11.3 Rangkaian Dasar Sistem Alarm

AT8951

INT0 P1.7

Speaker

pintu

terbuka

IC 7404

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 19/23

Makalah Tentang Interupsi Pada Processor Page 17

Untuk menghasilkan alarm dengan frekuensi 400 Hz selama 1 detik, maka perlu

dirancang diagram pewaktuannya, seperti yang tampak pada Gambar 11.4 di bawah ini.

Gambar 11.4. Diagram Pewaktuan Sistem Alarm

Dalam kasus ini, digunakan tiga buah interupsi, yaitu: interupsi eksternal 0 (INT0)

untuk sensor pintu, interupsi timer 1 (ET1) untuk menghasilkan alarm atau nada 400 Hz dan

interupsi timer 0 (ET0) untuk memberikan tundaah 1 detik.

Program utama, diawali pada alamat 30H, hanya mengandung 4 (empat) buah

instruksi saja. Instruksi pertama (baris ke-12) menjadikan pemicu interupsi (berasal dari

sensor pintu) diaktifkan secara transisi dari 1 ke 0 (negative edge trigerred ). Kemudian,

diikuti konfigurasi untuk Timer0 dan Timer1 sebagai pewaktu 16 bit (baris ke-13). Setelah

itu, pengaturan interupsi pada baris ke-14 dimana hanya interupsi eksternal saja yang

diaktifkan. Program utama ini diakhiri pada baris ke-15 dengan menunggu interupsi yang

akan terjadi.

Saat sensor pintu mendeteksi pintu terbuka (ditandai dengan transisi 1 ke 0 pada

INT0), sebuah interupsi eksternal EX0RL1 diaktifkan. Subrutin interupsi EX0RL1 diawali

dengan menyimpan konstanta 20 ke Register R7 (baris ke-25). Kemudian, tanda limpahan

untuk kedua Timer disiapkan untuk mengaktifkan interupsi Timer0 dan Timer1 (baris ke-18

1 detik

1.25 ms

2.5 ms

P1.0

P1.0

400 Hz

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 20/23

Makalah Tentang Interupsi Pada Processor Page 18

dan ke-19). Interupsi Timer tersebut hanya akan aktif, jika bit-bit yang terkait dalam register

Interrupt, yaitu ET0 dan ET1 juga aktif (baris ke-20 dan ke-21).

Timer0 digunakan untuk memberikan tundaan selama 1 detik, sedangkan Timer1

dimanfaatkan untuk membangkitkan frekuensi 400 Hz yang dihubungkan ke buzzer atau

speaker melalui port P1.0 Setelah EX0RL1 selesai dikerjakan, segera terjadi interupsi timer,

 baik Timer0 maupun Timer1. Karena adanya polling, maka interupsi Timer0 yang dikerjakan

terlebih dahulu. Tundaan selama 1 detik dihasilkan dengan cara mengulang 20 kali tundaa

50000 us (dalam hal ini, R7 dijadikan sebagai penghitung, seperti tercantum pada baris ke-17

dan ke-25). Pada saat penundaan selama 1 s berlangsung, yang terjadi adalah sebagai berikut:

Pertama, Timer0 akan dinonaktifkan (baris ke-24) dan register R7 diturunkan 1 nilainya,

kemudian, TL0 dan TH0 diisi-ulang dengan -50000 (baris ke-30 dan ke-31). Timer0

kemudian dihidupkan kembali (baris ke-32) dan selesai. Saat terakhir kali pengulangan

(looping ), nilai register R7 diturunkan sehingga berharga 0. Kedua Timer dimatikan (baris ke-

26 dan ke-27) dan selesai. Tidak ada interupsi Timer lagi hingga dideteksi interupsi eksternal

(dari pintu) berikutnya.

Timer1 digunakan untuk menghasilkan nada 400 Hz. Dalam hal ini frekuensi 400 Hz

membutuhkan periode gelombang sebesar 2500 us atau masing-masing 1250 us untuh sinyal

HIGH dan LOW, seperti yang tampak pada Gambar 11.4.

3.  Siklus Instruksi 

v I nstruction Addess Calculation ( IAC),  yaitu mengkalkulasi atau menentukan alamatinstruksi berikutnya yang akan dieksekusi. Biasanya melibatkan penambahan bilangan tetapke alamat instruksi sebelumnya

v I nstruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi memorinya ke

CPU

v I nstruction Operation Decoding (IOD),  yaitu menganalisa instruksi untuk menentukan

 jenis operasi yang akan dibentuk dan operand yang akan digunakan

v Operand Address Calcul ation (OAC), yaitu menentukan alamat operand, hal ini dilakukan

apabila melibatkan referensi operand pada memori

v Operand Fetch (OF), adalah mengambil operand dari memori atau dari modul 1/0

v Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 21/23

Makalah Tentang Interupsi Pada Processor Page 19

v Operand store (OS), yaitu menyimpan hasil eksekusi ke dalam memori

-Fungsi Interrupt 

v Fungsi interupsi adalah mekanisme penghentian atau pengalihan pengolahan instruksi

dalam CPU kepada routine interupsi. Hampir semua modul (memori dan I/0) memiliki

mekanisme yang dapat menginterupsi kerja CPU

v Tujuan interupsi secara umum untuk menejemen pengeksekusian routine instruksi agar

efektif dan efisien antar CPU dan modul - modul I/0 maupun memori

v Setiap komponen komputer dapat menjalankan tugasnya secara bersamaan, tetapi kendali

terletak pada CPU disamping itu kecepatan eksekusi masing - masing modul berbeda

sehingga dengan adanya fungsi interupsi ini dapat sebagai sinkronisasi kerja antar modul

4.  Sinyal Interupsi 

v Program,  yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi pada

hasil eksekusi program. Contohnya: arimatika overflow, pembagian nol, oparasi ilegal

v Timer,  adalah interupsi yang dibangkitkan pewaktuan dalam prosesor. Sinyal ini

memungkinkan sistem operasi menjalankan fungsi tertentu secara reguler

v //0,  sinyal interupsi yang dibangkitkan oleh modul I/0 sehubungan pemberitahuan kondisi

error dan penyelesaian suatu operasi

v Hardware failure, adalah interupsi yang dibangkitkan oleh kegagalan daya atau kesalahan

 paritas memori

5.  Mekanisme Interupsi 

v Saat suatu modul telah selesai menjalankan tugasnya dan siap menerima tugas berikutnya

maka modul ini akan mengirimkan permintaan interupsi ke prosesor

v Prosesor akan menghentikan eksekusi yang dijalankannya untuk menghandel routine

interupsi

v Setelah program interupsi selesai maka prosesor akan melanjutkan eksekusi programnya

kembali

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 22/23

Makalah Tentang Interupsi Pada Processor Page 20

v Saat sinyal interupsi diterima prosesor ada dua kemungkinan tindakan, yaitu interupsi

diterima/ditangguhkan dan interupsi ditolak

6.  Iterupsi Ditangguhkan 

v Prosesor menangguhkan eksekusi program yang dijalankan dan menyimpan konteksnya.

Tindakan ini adalah menyimpan alamat instruksi berikutnya yang akan dieksekusi dan data

lain yang relevan

v Prosesor menyetel program counter (PC) ke alamat awal routine interrupt handler

7/26/2019 Makalah Tentang Interrupt Processor

http://slidepdf.com/reader/full/makalah-tentang-interrupt-processor 23/23

M k l h T I i P d P P 21

BAB III 

Penutup 

1.  Kesimpulan

Interrupsi atau bisa disebut Interrupt memiliki pengertian suatu permintaan khususkepada mikroprosessor untuk melakukan sesuatu. Bila terjadi interupsi, mikroprosesor akan

menghentikan dahulu apa yang sedang dikerjakannya dan mengerjakan permintaan khusus

tersebut. Atau secara harfiah, Interrupt dalam bahasa Indonesianya diartikan sebagai selaan,

menyela, atau menjegal.

Apabila sebuah komputer melakukan prosesnya tanda ada gangguan, tentu komputer

tersebut dapat menyelesaikan pekerjaannya dengan serius khusus untuk satu pekerjaan yang

sedang dikerjakannya. Dalam kondisi demikian, komputer anda melakukan tugasnya yang

disebut dengan primitive batch processing. Pekerjaan seperti ini digunakan oleh komputer

 pada komputer zaman awal-awal ditemukannya. Dimana komputer tidak bisa mengerjakan

 beberapa program sekaligus dalam waktu bersamaan, sampai satu pekerjaan selesai

dikerjakan, maka baru dia bisa berpindah ke pekerjaan lainnya.

Dan pada saat ini, komputer terkini memiliki kemampuan interrupt ini. Penulis

melakukan pengetikkan naskah ini sambil mendengarkan musik yang terpasang pada

notebook yang digunakan, tidak jarang komputer ini juga sambil terhubung dengan Internet

untuk membuka halaman web atau mengambil beberapa file