JUN - ITTELKOM. Interrupt. Definisi Interrupt [1]

dokumen-dokumen yang mirip
Mikroprosesor dan Antarmuka JNT - ITTELKOM. Interrupt. Oleh: Junartho Halomoan LOGO

JUN - ITTELKOM. INTERRUPT. DEFINISI INTERRUPT [1]

Mikroprosessor & Antarmuka

ELEKTRONIKA DIGITAL PIC 8259

I/O Interface. Sistem Komputer Universitas Gunadarma

PETA MEMORI MIKROPROSESOR 8088

UJIAN AKHIR SEMESTER TAHUN AKADEMIK 2010/2011

Ujian Akhir Sistem Mikroprocessor EE-2623

TI2043 Organisasi dan Arsitektur Komputer Tugas 2 Interrupt Driven I/O

Interface Input Output

SINYAL INTERUPSI. 1. Latar Belakang

Materi 9: AVR Interrupt

TERJADI INTERRUPT MELAYANI INTERRUPT KEMBALI MENERUSKAN PROGRAM YANG TERHENTI PROGRAM YANG SEDANG BERJALAN. Gambar 4.1 Interrupt

KONFIGURASI PIN-PIN MIKROPROSESOR Z 80. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

OPERATION SYSTEM. Jenis - Jenis Register Berdasarkan Mikroprosesor 8086/8088

SISTEM INTERUPSI MIKROKONTROLER ATMEL

Pertemuan 10 DASAR ANTAR MUKA I/O

KOMPONEN INTERFACING. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

Materi 3. Komponen Mikrokomputer SYSTEM HARDWARE DAN SOFTWARE DADANG MULYANA

Gambar 1.1. Diagram blok mikrokontroller 8051

Struktur Sistem Komputer

Struktur Sistem Komputer

Pertemuan ke - 12 Unit Masukan dan Keluaran Riyanto Sigit, ST. Nur Rosyid, S.kom Setiawardhana, ST Hero Yudo M, ST

ORGANISASI KOMPUTER ORGANISASI INPUT/OUTPUT MATA KULIAH:

Interfacing i8088 dengan Memori

Sistem Komputer. Tiga komponen utama : CPU

PPI Skema konektor dari IC PPI 8255 adalah sebagai berikut :

Pertemuan 6 SPESIFIKASI PERANGKAT KERAS 8086/8088

Diktat Kuliah intel 8088

Pertemuan Ke-8 Unit I/O (Unit Masukan dan Keluaran)

BAB VI INPUT OUTPUT. Universitas Gadjah Mada 1

INTERRUPT. Cara penggunaan int [no int]

Bahasa Rakitan PENGERTIAN REGISTER

Dosen : Team (no cheating, no book, no note, no additional paper, no calculator)

ARSITEKTUR MIKROPROSESOR Z80. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

MIKROPROSESOR REGISTER-REGISTER MIKROPROSESOR INTEL

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

PENGERTIAN REGISTER. Arsitektur Mikroprosesor INTEL 8086 Tinjauan Umum

Mata Kuliah : Bahasa Rakitan Materi ke-3

: Ahmad Sadili : Teknik Komputer (Reg) Tugas Mata Kuliah Mikroprosesor. Mikroprosesor Zilog Z80

BAB V STRUKTUR SISTEM BUS

Pertemuan 2 Organisasi Komputer II. Struktur & Fungsi CPU (I)

LAPORAN PRAKTIKUM ORGANISASI KOMPUTER & BAHASA ASSEMBLY PROGRAM OPERASI ARITMATIKA. Kelas : INF 2B Praktikum 1 Nama : Fernalia NIM : J3C212210

Perangkat Keras Masukan/Keluaran. Kelompok : Intan Sari H. H. Z Verra Mukty

Sistem Mikroprosessor

Input : Memasukkan data dari luar kedalam mikroprosesor Contoh: Keyboard, mouse

Input : Memasukkan data dari luar kedalam mikroprosesor Contoh: Keyboard, mouse

TEORI MIKROPROSESOR 8088

DCH1B3 Konfigurasi Perangkat Keras Komputer. Input/Output

Chapter 6 Input/Output

CENTRAL PROCESSING UNIT CPU

Model Mikroprosesor Ideal Konsep Data Bus Ruang Memori Konsep Address Bus Konsep Control Bus Pemetaan Memori

STRUKTUR CPU. Arsitektur Komputer

Sistem Operasi TIKB1023 Munengsih Sari Bunga Politeknik Indramayu. TIKB1023/Minggu 2/SO/MSB

MINGGU II DASAR SISTEM OPERASI

Pipeline pada x86. Sebagai contoh : Instruksi 1 : ADD AX,AX Instruksi 2 : ADD BX,CX

PERTEMUAN INTERUPSI MIKROKONTROLER 89C51

Arsitektur Dasar µp. Sistem Komputer Universitas Gunadarma

Percobaan 5 PENGENALAN MIKROKONTROLER 8051

Sistem Komputer. Komputer terdiri dari CPU, Memory dan I/O (Arsitektur Von-Neumann) Ada tiga bus dalam sistem komputer

Struktur Sistem Komputer. Abdullah Sistem Informasi Universitas Binadarma

Diktat Kuliah Memory Hardware

Konsep Mikroprogramming. Sistem Komputer Universitas Gunadarma

INPUT / OUTPUT. Fungsi : Memindahkan informasi antara CPU atau memori utama dengan dunia luar

Diktat Kuliah - Pipeline

Struktur CPU 3/23/2011

LAPORAN PRAKTIKUM ORGANISASI KOMPUTER & BAHASA ASSEMBLY PROGRAM POINTER OPERASI ARITMATIKA

4. Port Input/Output Mikrokontroler MCS-51

Tabel Perbandingan ROM dan RAM pada beberapa seri ATMEL

8086/88 Device Specifications

Mikroprosesor. Pertemuan 8. By: Augury

Arsitektur Dasar Mikroprosesor. Mikroprosesor 80186/80188

DASAR KOMPUTER. Input/Output

Hanif Fakhrurroja, MT

Struktur Fungsi CPU. Mata Kuliah Arsitektur Komputer Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Materi 03 --

DASAR - DASAR MIKROPROSESOR. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

Oleh: 1. Singgih Gunawan Setyadi ( ) 2. Handung Kusjayanto ( ) 3. Wahyu Isnawan ( )

ARTIKEL STRUKTUR KOMPUTER

Daftar Isi. Daftar Isi Pertemuan 6: Perintah Masukkan dari Keyboard P6.1. Teori Masukkan dari Keyboard... 3

Mikrokontroler 89C51 Bagian II :

Mikroprosesor. Bab 3: Arsitektur Mikroprosesor. INTEL 8086 Generasi Awal Prosesor PENTIUM. Arsitektur Mikroprosesor 1

Sistem Operasi. Divais Input/Output 2016

REGISTER Register-register yang terdapat pada mikroprosesor, antara lain :

Pendahuluan Mikrokontroler 8051

Strategi Perancangan Hardware menggunakan 2 Metode Bersamaan dan Pengantar Arsitektur Mikroprosesor

R E G I S T E R. = Code Segment Register = Data Segment Register = Stack Segment Register = Extra Segment Register. 3.

STRUKTUR FUNGSI CPU. Menjelaskan tentang komponen utama CPU. Membahas struktur dan fungsi internal prosesor, organisasi ALU, control unit dan register

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.

P10 Media I/O Universitas Mercu Buana Yogyakarta

INPUT/OUTPUT. Fungsi : Memindahkan informasi antara CPU atau memori utama dengan dunia luar

Organisasi Komputer. Candra Ahmadi, MT

ORGANISASI KOMPUTER DASAR

Computer System Structures

INPUT/OUTPUT. Fungsi : Memindahkan informasi antara CPU atau memori utama dengan dunia luar

Input/Output. (Pertemuan ke-9) Prodi S1 Teknik Informatika Fakultas Informatika Universitas Telkom. Diedit ulang oleh: Endro Ariyanto

ORGANISASI INTERNAL PROSESOR Oleh: Priyanto

Rangkuman Materi Presentasi AOK. Input/Output Terprogram, Intterupt Driven dan DMA. (Direct Memory Access)

Pertemuan ke - 6 Struktur CPU

Arsitektur Komputer, Mikroprosesor dan Mikrokontroller. TTH2D3 Mikroprosesor

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

Transkripsi:

Mikroprosesor dan Antarmuka Interrupt Definisi Interrupt [1] Oleh: Junartho Halomoan (juned_new@yahoo.com) LOGO Interupsi adalah upaya untuk mengalihkan perhatian μp Intel 8088 dari program yg sedang dikerjakan untuk memberikan pelayanan khusus terlebih dahulu pada yang menginterupsinya. Contoh : Keyboard menginterupsi kerja 8088 karena ada tuts keyboard yg ditekan. Data yg dihasilkan oleh tuts tersebut harus diambil sesegera mungkin oleh μp Intel 8088. 1

Definisi Interrupt [2] Dilihat dari siapa yg menginterupsi, interupsi dapat dibedakan menjadi 2, yaitu : 1. Software generated : dihasilkan dengan menggunakan instruksi INT 2. Hardware generated : dihasilkan dengan mengaktifkan sinyal Interrupt pada pin 18 di μp Intel 8088 (active high) Definisi Interrupt [3] Kedua jenis interupsi tersebut akan menyebabkan μp Intel 8088 mengerjakan suatu routine (program kecil) khusus (Interrupt Service Routine/ ISR). 2

Interrupt Vector Table http://www.pelletiernet.com/helppc/int_table.html Software Generated [1] Dihasilkan oleh instruksi INT yang diikuti nomor interupsinya. Contoh : INT 13 berarti interupsi nomor 13H. Tipe interupsi ini ada 2 jenis : 1. Interupsi yg dihasilkan oleh ROM BIOS (untuk nomor interupsi 0 s.d. nomor interupsi 1FH) 2. Interupsi yg dihasilkan oleh sistem operasi yg digunakan (untuk nomor interupsi 20H keatas) DOS (disk operating system) 3

Software Generated [2] Adanya instruksi INT dalam program akan menyebabkan μp 8088 meninggalkan program yg sedang dikerjakan, dan mengerjakan routine khusus untuk nomor interupsi tersebut. Setelah routine tersebut selesai dikerjakan, maka μp 8088 akan kembali ke program semula yg tadinya ditinggalkan. Software Generated [3] Urutan kerja μp 8088 saat mengerjakan instruksi INT XX (nilai XX dapat berharga 00H sampai FFH) : 1. Menyimpan isi register ke Stack 2. Mencari alamat routine XX 3. Lompat ke alamat routine tersebut 4. Mengerjakan routine tersebut 5. Kembali ke program semula dgn cara mengembalikan semua isi register dari Stack 4

Software Generated [4] 1. Menyimpan isi register ke Stack Langkah ini ditujukan untuk mengembalikan kembali isi register setelah routine XX selesai dijalankan. Yang dilakukan : a. Push Flag, b. Clear Interrupt Flag, c. Clear Trap Flag, d. Push CS, e. Push IP Software Generated [5] 2. Mencari alamat routine XX Sebelum dapat menjalankan routine XX, μp 8088 harus mencari terlebih dahulu dimana routine XX tersebut berada. Untuk mendapatkan alamat routine tsb, μp 8088 akan mencarinya di Interrupt Vector Table (IVT) yg ada di alamat 00000H sampai 003FFH (setiap nomor interupsi membutuhkan 4 byte alamat yg disimpan oleh IVT : 2 byte untuk alamat Segment dan 2 byte untuk alamat Offset) 5

Software Generated [6] Software Generated [7] 3. Lompat ke alamat routine XX Melompat ke instruksi awal dari routine XX dgn melakukan lompatan JMP SSSS:OOOO dimana SSSS adalah alamat Segment dan OOOO adalah alamat Offset. 6

Software Generated [8] 4. Mengerjakan routine XX μp 8088 akan mengerjakan semua instruksi yg ada sampai ditemukan instruksi IRET (Interrupt Return) Software Generated [9] 5. Kembali ke program semula Jika instruksi IRET dikerjakan, maka semua isi regiter yg tadi disimpan, akandikembalikan. Yang dilakukan : a. Pop IP, b. Pop CS, c. Set Trap Flag, d. Set Interrupt Flag, e. Pop Flag 7

Pemrograman Interrupt [1] Ada beberapa instruksi interrupt antara lain: INT, INT3, BOUND, INTO, IRET INT n dimana menjalankan prosedur/ rutin interupsi pada alamat (4 byte) yang disimpan di vektor n Cara menghitung alamat vektor table: mis INT 5 5 x 4 = 20 (14h) maka alamat awal vektor interupsi 5 di 00014h sampai 00017h (karena 4 byte) Pemrograman Interrupt [2] BOUND merupakan instruksi interupsi yang membandingkan 2 buah operand antara sebuah register dan 2 buah word dari memori data. Mis BOUND AX,DATA register AX dibandingkan isi DATA dan DATA+1 juga dengan DATA+2 dan DATA+3 Jika (isi register AX lebih kecil dari DATA dan DATA+1) atau (isi register AX lebih besar dari DATA+2 dan DATA+3) maka BOUND akan menjalankan prosedur/rutin pada alamat (4 byte) yang disimpan di vektor 5. 8

Pemrograman Interrupt [3] Jika isi register AX di antaranya, BOUND tidak akan terjadi apa- apa INT3 merupakan instruksi interupsi yang digunakan menyimpan breakpoint untuk debugging. INTO merupakan instruksi interupsi yang dijalankan dengan mengecek OF (overflow). Jika OF=1 maka INTO menjalankan prosedur/rutin pada alamat (4 byte) yang disimpan di vektor 4. Jika OF =0 maka INTO tidak akan terjadi apa- apa. Hardware Generated [1] Adanya sinyal +5V pada pin 18 (INTR) pada 8088 akan menyebabkan 8088 meninggalkan program yg sedang dikerjakan, dan mengerjakan routine khusus untuk nomor interupsi tersebut. Setelah routine tersebut selesai dikerjakan, maka 8088 akan kembali ke program semula yg tadinya ditinggalkan. 9

Hardware Generated [2] Urutan kerja μp 8088 saat mendapatkan sinyal aktif pada pin 18 (INTR) : 1. Menyimpan isi register ke Stack 2. Mengaktifkan sinyal INTA (Interrupt Acknowledged) di pin 24 3. Membaca nomor interupsi di Address Bus (A0 A7) 4. Mencari alamat routine untuk nomor interupsi tersebut 5. Lompat ke alamat routine tersebut Hardware Generated [3] 6. Mengerjakan routine tersebut 7. Kembali ke program semula dgn cara mengembalikan semua isi register dari Stack 10

Hardware Generated [4] 1. Menyimpan isi register ke Stack Langkah ini ditujukan untuk mengembalikan kembali isi register setelah routine selesai dijalankan. Yang dilakukan : a. Push Flag, b. Clear Interrupt Flag, c. Clear Trap Flag, d. Push CS, e. Push IP Hardware Generated [5] 2. Mengaktifkan sinyal INTA Langkah ini ditujukan agar Interrupt Controller (ex: 8259) memberitahukan μp 8088 nomor interupsinya 11

Hardware Generated [6] 3. Membaca nomor interupsi Membaca kondisi Address Bus AD0 AD7 untuk mengetahui siapa yg menginterupsinya Hardware Generated [7] 4. Mencari alamat routine yg sesuai Sebelum dapat menjalankan routine yg sesuai, μp 8088 harus mencari terlebih dahulu dimana routine tersebut berada. Untuk mendapatkan alamat routine tsb, μp 8088 akan mencarinya di Interrupt Vector Table yg sama dgn tabel untuk Software Generated Interrupt. 12

Hardware Generated [8] 5. Lompat ke alamat routine tersebut Melompat ke instruksi awal dari routine dgn melakukan lompatan JMP SSSS:OOOO dimana SSSS adalah alamat Segment dan OOOO adalah alamat Offset Hardware Generated [9] 6. Mengerjakan routine tersebut μp 8088 akan mengerjakan semua instruksi yg ada sampai ditemukan instruksi IRET (Interrupt Return) 13

Hardware Generated [10] 7. Kembali ke program semula Jika instruksi IRET dikerjakan, maka semua isi regiter yg tadi disimpan, akan dikembalikan. Yang dilakukan : a. Pop IP, b. Pop CS, c. Set Trap Flag, d. Set Interrupt Flag, e. Pop Flag Hardware Generated [11] 14

Hardware Generated [12] Hardware Generated [13] Pada saat flag interrupt (IF) = 1 maka pin INTR bisa menginterupsi. Sebaliknya saat Flag interupt =0, INTR tidak bisa menginterupsi. Men-set IF dengan instruksi STI dan Men-clear IF dengan instruksi CLI Hardware interupt selain INTR juga ada NMI (non maskable interrupt) yang berarti interupsi yang tidak dapat diinterupsi dan dapat menginterupsi prosedur interupsi yang sedang berjalan 15

Hardware Generated [14] NMI biasa digunakan untuk mendeteksi ada power failure. Misal: suatu ketika tiba- tiba daya listrik ke up 8088 drop. Maka sinyal interupsi masuk ke pin 17 (NMI) untuk menjalankan interrupt tipe 2 dan semua data disimpan ke battery backed-up memory Antarmuka PIC 8259 [1] Jika dibutuhkan interupsi H/W lebih dari satu maka sebuah komponen pengendali interupsi dibutuhkan dan mengatur prioritas interupsi yang dijalankan. Komponen controller interrupt (PIC=Programmable Interrupt Controller) adalah 8259. Misal dibutuhkan 64 interupsi maka dibutuhkan 1 IC master 8259 dan 8 buah IC master 8259 16

Antarmuka PIC 8259 [2] Antarmuka PIC 8259 [3] 17

Antarmuka PIC 8259 [4] WR: Connects to a write strobe signal (one of 8 for the Pentium). RD: Connects to the IORC signal. INT: Connects to the INTR pin on the microprocessor. INTA: Connects to the INTA pin on the microprocessor. A0: Selects different command words in the 8259A. CS: Chip select - enables the 8259A for programming and control. Antarmuka PIC 8259 [5] SP/EN: Slave Program (1 for master, 0 for slave)/enable Buffer (controls the data bus transievers when in buffered mode). CAS2-CAS0: Used as outputs from the master to the slaves in cascaded systems. 18

Antarmuka PIC 8259 [6] Antarmuka PIC 8259 [7] 4. Send Interrupt Type 3. INTA 1. Interrupt dari divais 2. PIC mengirim INT ke up 19

Antarmuka PIC 8259 [8] Prioritas IRQ: 0,1,8,2,10,11,12,13,14,15,3,4,5,6,7 Antarmuka PIC 8259 [9] 20

Antarmuka PIC 8259 [10] PIC diprogram oleh initialization (ICW) dan operation (OCW) command word Ada 4 register ICW: ICW 1, ICW 2, ICW 3, ICW 4 ICW 1 jika dalam cascade mode maka ICW 3 harus digunakan Antarmuka PIC 8259 [11] ICW 2 digunakan untuk menset vektor interrupt. Mis: vector interrupt = 08H s/d 0Fh (karena jumlah pin interrupt PIC hanya 8 buah) maka ICW 2 diset 08H 21

Antarmuka PIC 8259 [12] ICW 3 digunakan untuk apakah pin interrupt IC master 8259 memiliki slave. Antarmuka PIC 8259 [13] ICW 4 digunakan untuk mode interrupt yang diprogram. Jika AEOI bernilai 1 maka OCW 2 tidak perlu diprogram. Sebaliknya jika bernilai 0 maka OCW 2 perlu diprogram 22

Antarmuka PIC 8259 [14] OCW 1 digunakan untuk men-mask suatu interrupt tertentu. Program aplikasi bisa memask interrupt tertentu, program aplikasi tidak ingin diganggu oleh INT tertentu, misal : tidak ingin diganggu KYB, maka interrupt di-mask untuk keyboard Antarmuka PIC 8259 [15] OCW 2 digunakan untuk men-set prioritas interrupt. Ada 3 mode interrupt: fully nested, automatic rotation, specific 23

Antarmuka PIC 8259 [16] Antarmuka PIC 8259 [17] Ada 3 mode interrupt: fully nested, automatic rotation, specific. MODE FULLY NESTED: IR0 prioritas tertinggi, IR7 terendah misal: IR5 di set prioritas paling tinggi Register ICW 4 bit SFNM di set 1 dan bit AEOI di set 0 Register OCW 2 di set 01100101 011 specific EOI command 101 IR5 paling tinggi 24

Antarmuka PIC 8259 [18] Proses interrupt: pada saat IR4 sedang berjalan, kemudian IR5 dan IR0 masuk. Maka IR4 ditunda dahulu dan alamat prosedur IR4 diamankan ke stack. Kemudian rutin IR5 dijalankan setelah IR5 selesai rutin IR0 dijalankan setelah IR0 selesai IR4 dilanjutkan kembali MODE AUTOMATIC ROTATION: IR yang sudah dilayani menjadi IR dengan prioritas terendah Antarmuka PIC 8259 [19] Misal: Register ICW 4 bit SFNM di set 0 dan bit AEOI di set 0 Register OCW 2 di set 10000xxx 100 rotate on automatic EOI cmd. start:ir0,ir1,ir2,ir3,ir4,ir5,ir6, IR7 o IR 5 sesudah dijalankan menjadi: IR0,IR1,IR2,IR3,IR4,IR6, IR7,IR5 o IR 2 sesudah dijalankan menjadi IR0,IR1,IR3,IR4,IR6, IR7,IR5,IR2 25

Antarmuka PIC 8259 [20] MODE SPECIFIC: 101 IR5 paling rendah Register ICW 4 bit SFNM di set 0 dan bit AEOI di set 0 Register OCW 2 di set 11000101 110 set priority cmd. maka urutan priority: start:ir0,ir1,ir2,ir3,ir4,ir6,ir7,ir5 jika IR3 sedang berjalan, IR1 masuk. Maka IR1 harus menunggu sampai IR3 selesai Antarmuka PIC 8259 [20] 101 IR5 paling rendah Register ICW 4 bit SFNM di set 0 dan bit AEOI di set 0 Register OCW 2 di set 11100101 111 rotate on specific EOI cmd. maka urutan priority: start:ir0,ir1,ir2,ir3,ir4,ir6,ir7,ir5 o saat IR3 selesai dijalankan IR0,IR1,IR2,IR4,IR6,IR7,IR5,IR3 o saat IR2 selesai dijalankan IR0,IR1,IR4,IR6,IR7,IR5,IR3,IR2 26