1. 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
2. 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)
3. 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).
4. 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.
5. 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