Anda di halaman 1dari 25

INTERRUPT, POLLING, dan DMA

Makul : Mikroprosesor
Dosen Pengampu : Ir. Adie Wahyudi Oktavia Gama S.T., M.T., I.P.M.,
ASEAN Eng.
Kelompok 3 : Arya Perdana Putra (Interrupt)
: I Putu Merta Gangga (Polling)
: I Putu Yudhi Pramanda (DMA)
Interrupt, Polling,
dan DMA
Pengertian Interrupt

Interrupt adalah sinyal dari peralatan luar atau permintaan dari program untuk
melaksanakan suatu tugas khusus. Jika interrupt terjadi, maka program dihentikan
terlebih dahulu untuk menjalankan rutin interrupt, setelah selesai maka aliran
program akan kembali ke pernyataan program sebelum terjadinya interupsi.

Contoh Interrupt misalnya prosesor mentransfer data ke printer. Setelah setiap


proses WRITE, prosesor akan pause dan tetap idle sampai printer jalan. Panjang
waktu pause dapat dimanfaatkan untuk siklus instruksi lainnya yang tidak melibatkan
memori.
Fungsi Interupsi
Fungsi interupsi adalah sebagai berikut :
 Interupsi memindahkan pengendalian kepada interrupt service routine melalui interrupt
vektor yang berisi alamat dari semua service routine.
 Arsitektur interrupt harus menyimpan alamat intruksi yang di interrupt.
 Interrupt yang datang berikutnya dibatalkan ketika interrupt lain sedang diproses untuk
mencegah hilangnya suatu interrupt.
 Trap adalah software generated interrupt yang disebabkan oleh kesalahan atau karena
permintaan user.
 Sebagai mekanisme penghentian atau pengalihan pengolahan instruksi dalam CPU kepada
routine interupsi.
 Suatu sistem operasi dikendalikan oleh interrupt.
 Manajemen pengeksekusian routine intruksi agar efektif.
Jenis-jenis interupsi
Prosesor dapat menerima dua jenis interrupt, yaitu hardware interrupt dan
software interrupt. :
 Software Interrupt
Interrupt yang disebabkan oleh software sering disebut dengan system call. Misalnya
suatu program ingin mencetak hasil dengan menggunakan printer maka akan terjadi interupsi
atau penghentian sementara.
 Hardware Interrupt
Kalau pada hardware yaitu terjadi karena adanya aksi pada perangkat keras, seperti pada saat
kita menekan tombol keyboard atau menggerakkan mouse maka pada kegiatan tersebut akan
terjadi sebuah interupsi.
Dan Ketika sebuah interrupt itu terjadi pada chip, maka CPU menyimpan informasi
terakhir yang dia kerjakan, berulah dia mengerjakan sesuai dengan informasi yang ada pada
interrupt vector tesebut.
Interrupt ini terbagi lagi menjadi dua,yaitu: Maskable Interrupt(terjadi karena aksi luar) dan
Non Maskable Interrupt(terjadi karena memori atau kesalahan parity pada program)
Tujuan Interupsi

Tujuan Interupsi sebagai berikut:


 secara umum untuk menejemen pengeksekusian routine instruksi agar efektif dan
efisien antar CPU dan modul – modul I/O maupun memori.
 Setiap komponen komputer dapat menjalankan tugasnya secara bersamaan, tetapi
kendali terletak pada CPU,
 Kecepatan eksekusi masing – masing modul berbeda sehingga dengan adanya
fungsi interupsi ini dapat sebagai sinkronisasi kerja antar modul.
Tipe-Tipe Interupsi
 Interupsi Clock (Clock Interrupt)
Sistem operasi (penjadwalan) menentukan apakah proses yang sedang running telah
mengeksekusi selama jatah waktunya. Jika telah mencapai jatahnya, maka proses
dialihkan ke state ready dan proses lain dijadwalkan running.
 Interupsi Masukan/Keluaran (I/O Interrupt)
Kejadian dimana peralatan masukan/keluaran interupsi meminta layanan sistem
operasi. Sistem Operasi segera menentukan aksi-aksi masukan/keluaran yang harus
dilakukan.
 Page/memory fault
Pemroses menemui pengacuan alamat memori maya yang tidak terdapat di
memori utama (fisik). Sistem operasi segera memerintahkan untuk mengambil page yang
terdapat alamat yang dimaksud untuk dipindah ke memori utama.
Mekanisme Interrupt
 Saat suatu modul telah selesai menjalankan tugasnya dan siap menerima tugas
berikutnya maka modul ini akan mengirimkan permintaan interupsi ke prosesor
 Prosesor akan menghentikan eksekusi yang dijalankannya untuk menghandel
routine interupsi.
 Prosesor akan terlebih dahulu menyimpan informasi tentang keadaan state-nya
(informasi tentang proses yang sedang dikerjakan)
 Prosesor mengidentifikasi penyebab interupsi dan mengakses tabel vektor
interupsi untuk menentukan interrupt handler
 Transfer kontrol ke interrupt handler
 Setelah program interupsi selesai maka prosesor akan melanjutkan eksekusi
programnya kembali
 Saat sinyal interupsi diterima prosesor ada dua kemungkinan tindakan, yaitu
interupsi diterima/ditangguhkan dan interupsi ditolak.
contoh proses untuk membaca apa yang
diketik dari keyboard. Tanpa interrupt, program
harus memerintahkan prosesor untuk secara
periodik memeriksa apakah ada tombol yang di
tekan di keyboard. Teknik ini disebut sebagai
polling.
Semakin banyak hardware yang terlibat dalam
proses polling, maka beban prosesor akan semakin
berat. Ingat bahwa polling harus memeriksa secara
periodik walaupun tidak ada tombol yang di tekan
di keyboard. Interrupt menawarkan solusi yang
lebih baik: prosesor akan mendapatkan notifikasi
hanya bila tombol keyboard ditekan.
Pengertian Polling

Proses polling adalah ketika komputer diprogram untuk


secara berkala dan bergiliran memeriksa apakah konversi telah
selesai dan data di ADC (analog to digital converter) telah
tersedia. Biasanya dilakukan dengan cara memeriksa salah satu
sinyal atau pin yang ada di ADC (analog to digital converter)
yang menandakan bahwa data hasil konversi telah siap.
Apabila sinyal tersebut sudah aktif maka data diambil oleh
mikroprosesor, sedangkan bila belum aktif maka akan dibiarkan
saja oleh mikroprosesor. Kemudian komputer memeriksa ADC
berikutnya dan melakukan hal yang sama.
Keuntungan dan kekurangan Polling
 Keuntungan cara polling adalah :
 Beberapa keuntungan dari polling adalah
 Program yang relatif sederhana,
 Keandalan transmisi yang terjadi pada kecepatan maksimum, yaitu segera setelah perangkat I / O
siap dan tidak memerlukan chip akses tambahan.
 Gangguan bermanfaat karena dapat melayani banyak perangkat,
 Lebih fleksibel dan efisien.
 Kekurangan cara polling adalah :
 waktu siaga beberapa perangkat yang lebih pendek daripada waktu respons
 kemudian metode transmisi lain harus diterapkan
 CPU menghabiskan waktu yang tidak perlu untuk memeriksa perangkat yang belum mencari
transfer data.
 persyaratan untuk perangkat keras / lunak yang lebih kompleks dan hilangnya waktu sampai
CPU menentukan unit mana yang meminta gangguan.
Polling dalam Algoritma
Polling dapat dijelaskan dalam langkah-langkah berikut:
Tindakan tuan rumah:
 Host berulang kali membaca bit sibuk dari pengontrol hingga menjadi jelas (dgn nilai 0).
 Jika sudah jelas, tuan rumah akan menulis perintah ke register perintah . Jika host mengirimkan
keluaran, ia menetapkan bit tulis dan menulis byte ke dalam register data-out. Jika host
menerima masukan, ia membaca data yang ditulis pengontrol dari register data-in, dan menyetel
bit baca ke 0 sebagai perintah berikutnya.
 Host menetapkan bit siap-perintah ke 1.
Tindakan pengontrol:
 Saat pengontrol memperhatikan bahwa bit siap perintah telah disetel, ia menyetel bit sibuk ke 1.
 Pengontrol membaca register perintah. Jika bit tulis di dalam disetel, bit tersebut membaca dari
register data-out dan melakukan operasi I / O yang diperlukan pada perangkat. Jika bit baca
disetel, data dari perangkat dimuat ke dalam register data-in untuk dibaca oleh host.
 Setelah operasi selesai, pengontrol membersihkan bit siap perintah, menghapus bit kesalahan
untuk menunjukkan operasi berhasil, dan menghapus bit sibuk.
Perbedaan Kunci Antara Interupsi dan Polling
di OS
 Dalam interupsi, perangkat memberitahukan CPU bahwa ia perlu diservis sedangkan, dalam polling,
CPU berulang kali memeriksa apakah suatu perangkat perlu diservis.
 Interrupt adalah mekanisme perangkat keras karena CPU memiliki jalur interrupt-request yang
menandakan bahwa interupsi telah terjadi. Di sisi lain, Polling adalah protokol yang terus
memeriksa bit kontrol untuk memberi tahu apakah perangkat memiliki sesuatu untuk dieksekusi.
 Interrupt handler menangani interupsi yang dihasilkan oleh perangkat. Di sisi lain, dalam
polling, CPU melayani perangkat saat dibutuhkan.
 Interupsi ditandai oleh garis interrupt-request . Namun, bit siap-Komando menunjukkan bahwa
perangkat perlu diservis.
 Dalam interupsi, CPU hanya terganggu ketika perangkat apa pun menginterupsi. Di sisi lain, dalam
pemungutan suara, CPU membuang banyak siklus CPU dengan berulang kali memeriksa bit yang
siap pakai dari setiap perangkat.
 Interupsi dapat terjadi kapan saja, sedangkan CPU terus melakukan polling pada perangkat secara
berkala.
 Polling menjadi tidak efisien ketika CPU terus melakukan polling pada perangkat dan jarang
menemukan perangkat yang siap untuk diservis. Di sisi lain, interupsi menjadi tidak efisien ketika
perangkat terus mengganggu pemrosesan CPU berulang kali.
Metoda Polling
Metoda polling merupakan metoda pengendalian I/O melalui program. Semua
pengalihan data dari dan ke alat I/O diselengarakan oleh program.
Prosesor mengirim dan meminta data sepenuhnya dibawah kendali program.
Pengalihan data dapat dilaksanakan baik melalui mekanisme jabat tangan maupun tanpa
jabat tangan. Dalam mekanisme jabat tangan isyarat diperiksa secara terus menerus.
Program terus menerus berputar lewat sejumlah pengetesan untuk menentukan
apakah masukan atau keluaran dapat diselenggarakan pelayanannya atau tidak. Bila
ditemukan alat yang memerlukan pelayanan, rutin pelayanan diaktifkan dan pemilihan
saluran diproses.
Diagram alir pengendalian I/O dengan metode
polling

Pada gambar di samping  menunjukkan


diagram alir pengendalian I/O dengan metode
polling. Metode Polling adalah metode
pengendalian I/O yang paling sederhana dan
paling umum digunakan. Metoda ini tidak
memerlukan perangkat keras khusus dan
semua pengalihan I/O dikendalikan oleh
program. Pengalihan semacam ini disebut
pengalihan serempak dengan program.
Pengertian DMA

Direct memory access (DMA) adalah suatu alat pengendali khusus


disediakan untuk memungkinkan transfer blok data langsung antar perangkat
eksternal dan memori utama, tanpa intervensi terus menerus dari prosesor.
Transfer DMA dilakukan oleh sirkuit kontrol yang merupakan bagian dari
antar muka perangkat I/O. Istilah ini yang sering banyak kita ketahui adalah sebagai
kontroler DMA. Kontroler DMA melakukan fungsi yang biasanya dilakukan oleh
prosesor pada saat mengakses memori utama (yang sering disebut: RAM).
Untuk setiap word yang ditransfer, kontroler ini menyediakan alamat
memori dan semua sinyal bus yang mengontrol transfer data. Karena harus
mentransfer sejumlah blok data, maka kontroler DMA harus menaikkan alamat
memori untuk word yang berurutan dan mencatat jumlah transfer.
Diagram Pengontrol DMA dalam Arsitektur
Komputer
Pengontrol DMA harus berbagi bus dengan prosesor untuk melakukan transfer data. Perangkat
yang memegang bus pada waktu tertentu disebut bus master. Ketika transfer dari perangkat I/O ke
memori atau sebaliknya harus dilakukan, prosesor menghentikan eksekusi arus program, menambah
penghitung program, memindahkan data di atas tumpukan, kemudian mengirim sinyal pilih DMA ke
pengontrol DMA ke alamat bus.
Jika pengontrol DMA bebas, ia meminta kontrol bus dari prosesor dengan menaikkan sinyal
permintaan bus. Prosesor memberikan bus ke pengontrol dengan menaikkan sinyal pemberian bus,
sekarang pengontrol DMA adalah master bus.
Prosesor memulai pengontrol DMA dengan mengirimkan alamat memori, jumlah blok data yang
akan ditransfer dan arah transfer data.
DMA mentransfer data dalam tiga mode yang
meliputi yang berikut ini :
a) Mode Burst : Dalam mode ini DMA menyerahkan bus ke
CPU hanya setelah menyelesaikan seluruh transfer data.
Sementara itu, jika CPU membutuhkan bus itu harus tetap
ideal dan menunggu transfer data.

b) Mode Stealing Cycle : Dalam mode ini, DMA


memberikan kendali bus ke CPU setelah transfer setiap byte.
Itu terus mengeluarkan permintaan untuk kontrol bus,
melakukan transfer satu byte dan mengembalikan bus.
Dengan CPU ini tidak perlu menunggu lama jika
membutuhkan bus untuk tugas dengan prioritas lebih tinggi.

c) Mode Transparan: Di sini, DMA mentransfer data hanya


ketika CPU menjalankan instruksi yang tidak memerlukan
penggunaan bus.
Fungsi DMA
Fungsi dari DMA sendiri adalah agar CPU dapat melakukan pekerjaan atau
instruksi yang berbeda ketika melakukan operasi baca tulis dari perangkat peripheral.
Tanpa adanya  DMA CPU akan terus sibuk melakukan operasi baca tulis (transfer data)
dan tidak dapat melakukan atau menyelesaikan instruksi yang lain.
Dengan adanya DMA, CPU cukup mempersiapkan DMA chip dengan cara
memberikan beberapa informasi seperti jumlah data bit yang ditransfer, alamat dari device
dan memory yang diperlukan dan arah dari aliran data tersebut, setelah itu DMA chip
sendiri yang akan menyelesaikannya.
DMA chip akan melakukan interupt, ketika pekerjaannya sudah selesai. Selama
DMA chip melakukan tugasnya hingga munculnya interupt, CPU dapat menyelesaikan
instruksi yang lainnya.
Metode kerja DMA ( Direct memory access )
Ada beberapa metode DMA dalam mentransfer data :
 Metode yang sangat baku sederhana disebut Halt. Atau brusg mode DMA, karena
pengendali dma memegang kontrol dari system bus dan mentransfer semua blok
data ke aatau dari memory atau single brust. selagi transfer masih dalam proses,
sistem mikroprosesor diset idle, tidak melakukan intuksi oprasi untik menjaga
internal register. Tipe operasi DMA seperti ini ada pada kebanyakan computer.
 Metode kedua, mengikutsertakan pengndali DMA untuk memegang control dari
system, bus untuk jangka waktu yang lebih pendek pada periode dimana
mikroprocesor sibuk dengan oprasi internal dan tidak mebutuhkan access ke
system bus. Metode DMA cyle stealing mode lebih kompleks untuk
diimplementasikan dibandingkan HALT DMA, karena pengendali DMA harus
mempunyai kepintaran untuk merasakan waktu pada saat system bus terbuka
Keuntungan dan kekurangan DMA
 Keuntungan DMA adalah :
 Dapat menirukan sebagian fungsi processor.
 Dapat mengambil alih fungsi processor yang berhubungan dengan transfer data.
 CPU dapat melakukan menejemen operasi baca tulis (transfer data) dengan baik dan
juga dapat menyelesaikan instruksi yang lain.
 Mendapat informasi tentang jumlah data bit yang ditransfer, alamat dari device dan
memory yang diperlukan dan arah dari aliran data.

 Kekurangan DMA adalah :


 Transfer rate data terbatas.
 Masih memerlukan keterlibatan CPU, sehingga CPU menjadi lebih sibuk.
Hasil Diskusi
1. Apa perbedaan signifikan dari interrupt dan polling?
Jawab :
Interrupt adalah sinyal dari peralatan luar atau akan melakukan tugas apabila ada
permintaan dari program untuk melaksanakan suatu tugas khusus.
Sedangkan polling harus memeriksa secara periodik apakah ada sinyal atau tugas yang
akan dilakukan, walaupun tidak ada tombol yang di tekan di keyboard.

2. Apa yang akan diakukan mikroprosesor apabila sinyal tidak aktif?


Jawab :
sinyal tersebut sudah aktif maka data diambil oleh mikroprosesor, sedangkan bila belum
aktif maka akan dibiarkan saja oleh mikroprosesor. Kemudian komputer memeriksa ADC
berikutnya dan melakukan hal yang sama.
3. Apa yang dimaksud dengan arsitektur interrut?
Jawab :
Arsitektur interrupt adalah konsep perencanaan dan struktur dasar dari interrupt itu sendiri.
DAFTAR PUSTAKA
 https://abdulelektro.blogspot.com/2019/11/kontrol-direct-memory-access-dma-dalam.
html
 https://wildanpamungkas.blogspot.com/2017/04/dma-direct-memmory-access.html
 http://dunia--baru.blogspot.com/2016/10/metode-polling-dan-interupsi-pada.html
 https://originalcommunity90.wordpress.com/2010/03/15/sistem-operasi-interupsipolli
ng-dan-vektor/
 https://www.kompasiana.com/iqbaldalimunthe/566999fc729773540bb70241/interupsi
-pada-komputer
 https://www.slideshare.net/laurensius08/jenis-dan-proses-interupsi-70291959
 https://www.mahirkoding.com/pengenalan-interrupt/
SEKIAN DARI KELOMPOK KAMI

TERIMA KASIH

Anda mungkin juga menyukai