6
Interupsi Saat menjalankan program, mikroprosessor dapat mengalamat penghentian eksekusi program.interupsi adalah proses penghentian dalam mikroprosessor. Interu[si merupakan proses penghenatian suatu program yang sedang dilaksanakan olehmikroprosessor,karena adanya pelayana permintaan dan suatu i/o.dengan demikiaan apabila permintaan itu diterima,maka sistem mikroprossor akan mengalami interupsi. Contoh:keyboard mengintrupsi kerja mikroprosessor karena ada tuts keyboard yang ditekan.data yang dihasilkan oleh tuts tersebut harus diambil sesegera mungkin oleh mikroprosessor Interupsi interupsi keyboard keyboard printer program utama interupsi printer 1.siapa yang menginterupsi? 1.software-----dihasilkan dengan menggunakan interupsi INT interupsi jenis ini juga disebut system cell misal:suatu program ingin mencetak hasil dengan printer. 2.hardware---dihasilkan dengan mengaktifkan sinyal interupsi pada pin 18mp.interupsi ini disebut karena adanya aksi pada perangkat keras,seperti penekanan tombol keyboard atau menggerakan mouse,interupsi ini terbagi lagi menjadi dua yaitu:moskable interupt(terjadi karena aksi luar)dan honmi(terjadi karena terjadi kesalahan parity pada program). Kedua jenis interupsi tersebut akan menyebabkan mikriprosessor mengerjakan suatu rountine(program kecil)khusus(interup service rountine/ISR). Penyebab terjadinya interupt a.program—terjadi akibat eksekusi suatu interuksi b.timmer---disebabkan oleh timer prosessor c.i/o---disebabkan oleh i/o controler baik sebagai tanda bahwa operasi telah selesai maupun memberi tanda error

Bahan uas mp

Embed Size (px)

Citation preview

Page 1: Bahan uas mp

Interupsi

Saat menjalankan program, mikroprosessor dapat mengalamat penghentian eksekusi program.interupsi adalah proses penghentian dalam mikroprosessor.

Interu[si merupakan proses penghenatian suatu program yang sedang dilaksanakan olehmikroprosessor,karena adanya pelayana permintaan dan suatu i/o.dengan demikiaan apabila permintaan itu diterima,maka sistem mikroprossor akan mengalami interupsi.

Contoh:keyboard mengintrupsi kerja mikroprosessor karena ada tuts keyboard yang ditekan.data yang dihasilkan oleh tuts tersebut harus diambil sesegera mungkin oleh mikroprosessor

Interupsi interupsi keyboard keyboard printer

program utama

interupsiprinter

1.siapa yang menginterupsi?

1.software-----dihasilkan dengan menggunakan interupsi INT interupsi jenis ini juga disebut system cell misal:suatu program ingin mencetak hasil dengan printer.

2.hardware---dihasilkan dengan mengaktifkan sinyal interupsi pada pin 18mp.interupsi ini disebut karena adanya aksi pada perangkat keras,seperti penekanan tombol keyboard atau menggerakan mouse,interupsi ini terbagi lagi menjadi dua yaitu:moskable interupt(terjadi karena aksi luar)dan honmi(terjadi karena terjadi kesalahan parity pada program).

Kedua jenis interupsi tersebut akan menyebabkan mikriprosessor mengerjakan suatu rountine(program kecil)khusus(interup service rountine/ISR).

Penyebab terjadinya interupt

a.program—terjadi akibat eksekusi suatu interuksi

b.timmer---disebabkan oleh timer prosessor

c.i/o---disebabkan oleh i/o controler baik sebagai tanda bahwa operasi telah selesai maupun memberi tanda error

Page 2: Bahan uas mp

d.kegagalan hard ware—disebakan oleh kesalahan hardware seperti power fallure dan parity error.

2.aksi yang diberikan saat terjadi interup

a.synchronous i/o –i/o dijalankan.i/o selesai digunakan.kontrol menginformasikan kembali ke user proses.untuk menunggu selesai digunakan i/o digunakan perintah wait

b.asynchorous i/o kembali ke user program tanpa harus menunggu i/o

interupsi software

--adanya interupsi INT dalam program akan menyebabkan MP meninggalkan program yang sedang dikerjakan dan mengerjakan rountine khusus untuk nomer intruksi tersebut.setelah rountine tersebuit selesai dikerjakan,maka mikroprosessor akan kembali ke program semula yang tadi ditinggalkan.

Urutan kerja mikroprosessor saat mengerjakan interuksi

1.menyimpan isi register ke stack

2.mencari alamat rountine xx

3.lompat ke alamat rountine tersebut

4.mengerjakan rountine tersebut

5.kembali ke program semula dengan mengembalikan isi register dari stack

Mencari alamat rountine xx

--sebelum mengerjakan alamat rountine xx,mikroprosessor akan mencari terlebih dahulu rountine tersebut berada untuk mendapatkan alamat rountine tersebut.

Interupt hardware

--mikroprosessor 8088 mempunyai dua input interupt NMI dan INTR

Adanya sinyal +5 volt pd pin 18(intr)pada MP akan menyebabkan mikroprosessor meninggalkan program yang sedang dikerjakan,dan mengerjakan rountine khusus untuk nomor interupsi tersebut.setelah selesai maka MP akan kembali ke program awal.

Urutan kerja µp 8088 saat mendapatkan sinyal aktif pin 18 (INTR)

1.menyimpan isi register ke stack

2.mengsktifkan sinyal INTA dipin 24

3.membaca nomer interupsi si address bus (A0-A7)

Page 3: Bahan uas mp

4.mencari alamat rountine untuk nomor interupsi tersebuat

5.lompat ke alamat rountine tersebut

6.mengerjakan rountine tersebut

7.kembali ke program semula dengan cara mengembalikan semua isi register dari stack.

Register(memori)

Data yang di proses berasal dari memori

Memori-prosesor-penampung-register

Register adalah sebuah perangkat yang ada didalam cpu yang menyimpan sementara beberapa tipe informasi sambil dilakukan pemerosesan

--word yang tersimpan dilokasi memori harus bisa masuk ke mikroprosessor.

--bagian dari mikroprosessor yang berfungsi untuk menyimpan word tersebut disebut register.

Jenis register

1.segment register

--terdiri dari CS,DS,TS,dan SS yang digunakan untuk menunjukan alamat dari suatu segment.

CS—digunakan untuk menunjukkan tempat dari segmen yang sedang aktif(code segment).

SS—menunjukan letak dari segmen yang di gunakan oleh stack atau untuk menyimpan segment data tambahan(stack segment)

DS—untuk menunjukan tempat segmen dimana data-data pada progra disimpan(data segment)

ES—Suatu register bonus yang tidak mempunyai tugas khusus.digunakan untuk menunjukan suatu alamat di memory dan digunakan untuk menyimpan alamat kembalinya interupt dan subrutin(exstra segment).

2.pointer dan index register

--terdiri dari SP,BP,SI,DI

--digunakan untuk penunjuk atau pointer terhadap suatu lokasi memory

SP—berpasangan dengan SS(SS:SP)berfungsi untuk menunjukan alamat dari stack(stack Pointer).

Page 4: Bahan uas mp

BP—berpasangan dengan SS (SS:BP)mencatat suatu alamat di memory tempat data(base pointer)

SI & DI—digunakan pada operasi string dengan mengakses secara langsung pada alamat dimemori yang ditunjukkan oleh kedua P register ini.(source index & destination index)

String adalah suatu jenis data yang terdiri atas kumpulan karakter,angka maupun simbol.

General purpose register terdiri dari AX,BX,CX,DX

Mempunyai suatu ciri khas yaitu dapat dipisah menjadi dua bagian dimana masing-masing bagian terdiri atas 8 bit

AX—pada operasi aritmatik terutama dalam operasi pembagian & pengurangan

BX--- menunjukan suatu alamat offset dari suatu segmen

CX---digunakan secara khusus pada operasi looping dimana register ini menentukan berapa banyaknya looping yang akan terjadi.

DX---manampung sisa hasil hasil pembagian 10 bit.

Index pointer register

--digunakan untuk menunjukan lokasi intruksi berikutnya yang akan di jalankan

--register ip ini berpasangan dengan CS dimana penulisanya [CS:IP]jadi lokasi alamat yang di tunjuk bergantung pada code segment yang terdapat pada segment register.

Flags register

---menunjukkan kondisi dan suatu keadaan(ya atau tidak)flags yang terdapat pada mikroprosessor 8088 keatas.

OF<overflow flag>--jika terjadi overflow pada operasi aritmatika bernilai 1

SF<sigh Flag>--jika digunakan bilangan ,bertanda bit ini akan bernilai 1

ZF<Zero flag>--jika hasil operasi menghasilkan nol,bit ini akan bernilai 1

CF<Carry flag>--jika terjadi borrow pada operasi pengurangan atau carry pada penjumlahan bit ini akan bernilai 1

PF<parity flag>--untuk menunjukan paritas bilangan ini akan bernilai 1 bila bilangan yang di hasilkan merupakan bilangan genap.

DF<direction flag>---digunakan pada operasi string untuk menunjukan arah proses.

IF<interupt inable flag>CPU akan mengabaikan interupsi yang terjadi jika bit ini 0.

Page 5: Bahan uas mp

TF<trap flag>--digunakan terutama untuk debugging dengan operasi step by step

AF<Auxcilary flag>untuk operasi BCD

NT<nested task>--untuk menjaga jalannya interupsi yang terjadi secara beruntun

Iopl<I/O protection level>--flag ini terdiri atas 2 bit digunakan untuk mode proteksi

Arsitektur internal µp 8088

1.BIO<bus interface unit>

--menjalankan operasi bus seperti menjemput interuksi,membaca data dan menulis kememori penerima input dan mengeluarkan output ke unit periferal dari BIU ini dihasilakn bus data sebanyak 8 bit.

BIU memiliki

1. Register segment

2. Register komunikasi internal

3. Pointer intruksi

4. Antrian kode objek intruksi

5. Bus alamat

6. Bus kontrol logika

2.EU(execution unit

---menerjemahkan dan menjalankan interuksi

Page 6: Bahan uas mp