Sekilas tentang Interupsi pada Mikrokontroler

Pengertian Interupsi

Interrupt atau interupsi adalah proses dalam komputer untuk meminta dilayani oleh  mikroprosesor sesuai dengan tingkat prioritasnya yang telah diatur sedemikian rupa oleh sistem hardware computer.

Sehingga CPU dapat melakukan operasi dengan 2 cara yaitu :

1. Operasi dengan polling

CPU selalu terus menerus menanyakan/ memantau ke tiap-tiap komponen penunjang satu persatu meskipun komponen itu sedang tidak memerlukan pelayanan.

2. Operasi dengan interrupt

dilakukan oleh tiap-tiap komponen kepada CPU bilamana memerlukan pelayanan pemrosesan, sehingga CPU tidak terus-menerus menanyakan /memantau komponen itu.

CPU dapat menerima 3 macam interupsi antara lain :

1. Interupsi software (instruksi INT nH n= bilangan 00H s/d FFH)

Interupsi software terdiri dari 256 dan diberi nomor 00H hingga FFH. Alamat awal masingmasing program pelayanan terdiri dari 4 byte, 2 byte untuk Code Segment dan 2 byte untuk Instruction Pointer.

Dalam pemrograman assembler kita dapat melakukan interupsi secara software dengan perintah INT yang dapat dilihat dalam tabel interupsi. Interrupt Software dalam PC terbagi dua yaitu :

a. Interrupt BIOS (Basic Input Output Sistem)

diwujudkan dalam bentuk interupsi software berjumlah 32 dan akses pelayanannya tinggal memerintahkan dengan instruksi INT nH asal parameternya diwajibkan telah terpenuhi dahulu. INT nH terdiri dari 00H sampai 1FH yang disusun berurutan dan diberi servis number (nomor pelayanan) tersendiri.

b. Interrupt DOS (Disk Operating Sistem)

Interrupt DOS merupakan interupsi dari software Sistem Operasi terdiri dari INT 20H untuk kembali ke DOS dan INT 21H untuk operasi Input/Output.

Program yang melayani suatu interupsi dinamakan Interrupt Handler.

2. Non Maskable Interrupt (Interupsi hardware)

dimana interupsi ini mutlak tidak dapat dicegah karena berasal dari sistem board atau IC.

3. Maskable Interrupt

(berasal dari hardware melalui pin INTR) yang dapat ditutup atau dicegah dengan instruksi CLI berasal dari interupsi perangkat lunak.

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 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 di-load ke memori oleh DOS pada saat DOS digunakan. Lokasi Interupt Vector Table-nya ada di alamat absolut 07Fh-3FFh. 13

Perbedaan Com dan Exe

Program COM adalah salah satu jenis executable program. Ada beberapa sifat antara COM dengan EXE. Perbedaan sifat (kelebihan dan kekurangan) masing-masing adalah sebagai berikut:

– Program COM :

1. Relatif lebih kecil dibanding EXE

2. Lebih cepat dibanding EXE

3. Hanya menggunakan 1 segment

4. Ukuran file maksimal 64 KB

5. Sulit mengakses data/prosedur di segment lain

6. Dapat dibuat dengan Debug

7. Source file tidak boleh menggunakan referensi segment tertentu

8. Source file tidak boleh memakai data segment

9. Source file tidak boleh memakai stack segment

10. Harus diawali dengan ORG 100H, artinya pada Code segment yang dipilih,

executable code ahrus mulai di CS:0100

EXE

1. Relatif lebih besar dibanding COM

2. Lebih lambat dibanding dengan COM

3. Bisa menggunakan lebih dari 1 segment

4. Ukuran berkas tidak terbatas (sesuai kemampuan memori)

5. Mudah mengakses data/prosedur di segment lain

6. Tidak dapat dibuat dengan Debug dari DOS.

7. Source file boleh memilih memakai segment tertentu.

8. Source file boleh memakai data segment

9. Source file boleh memakai stack segment

10. Tidak perlu menggunakan ORG 100H untuk setiap Code segment.

Dari perbandingan tersebut terlihat bahwa program COM lebih sederhana dibanding program

EXE.

Baris-baris instruksi program dikenal dengan nama Mnemonic, ditulis dan disimpan dalam file

berekstensi .ASM misalnya: Coba1.ASM

Referensi: dari berbagai sumber

 

One thought on “Sekilas tentang Interupsi pada Mikrokontroler

  1. Pingback: MAKALAH MIKROPROCESSSOR INTERRUPSI | kendrozsisandong

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s