Anda di halaman 1dari 33

COMPUTER

INTERRUPT
DMA
Dr Jan Everhard R
Konsep Dasar
Stored Programmed Concept

P M I /O I/O ... I/O • User


• Device that
Connected

• Digital
Inside – Computer World • Paralel

• Analog
Outside – Computer World
• Serial
Mekanisme
Akses Input
Output
Mekanisme untuk
mengakses Input Output
Systems terdiri dari :
1. Memory Mapped
2. I/O Mapped (I/O
Isolated)
Memory Mapped
❑ Modul I/O dihubungkan sebagai bagian dari lokasi memori virtual dimana Port
I/O tergantung pada memori utama
❑ Mempunyai karakteristik :
➢ Port I/O dihubungkan ke Bus Alamat.
➢ Modul Input sebagai bagian memori yang memberikan data ke Bus Data.
➢ Modul Output sebagai bagian dari memori utama yang memiliki data yang
tersimpan di dalamnya.
➢ Port I/O menempati lokasi tertentu pada ruang alamat memory dan diakses
seolah - olah adalah lokasi memori utama.
➢ Instruksi kendali Read / Write pada MOdul I/O melalui kendali Read / Write
pada system memori (MEMR / MEMW)
I/O Mapped (I/O Isolated)
❑ Modul I/O dihubungkan sebagai lokasi terpisah dengan lokasi memori utama,
dimana Port I/O tidak tergantung pada memori utama.
❑ Mempunyai karakteristik :
➢ Transfer informasi dilakukan di bawah kendali sinyal kontrol yang
menggunakan instruksi INPUT dan OUTPUT.
➢ Operasi I/O tergantung sinyal kendali dari CPU.
➢ lnstruksi I/O mengaktifkan kendali Read / Write melalui kendali Read / Write
Port I/O (I/OR / I/OW)
➢ I/O Mapped Iebih cepat dan efisien, karena lokasi I/O terpisah dengan lokasi
memori utama.
➢ I/O Mapped I/O mempunyai keterbatasan jumlah instruksi yang dapat
digunakan untuk operasi I/O.
Hubungan Fisik – P, M dan I/O
Programmed I/O
Direct
Connected
• Processor mengontrol
I/O I/O ... I/O semua proses pada
I/O, Memory dan
aktifitas pemrosesan
• Sistem Berjalan lambat
P • Kelambatan terjadi
pada sisi I/O.

M
Hubungan Fisik – P, M dan I/O
Interrupt Driven I/O

Interrupt
I/O I/O ... I/O Connected

I/O Processor
P

M
Interrupt Driven I/O
➢ Interupsi dapat terjadi setelah
pelaksanaan 1 Siklus Instruksi
dilakukan penuh oleh Processor.
➢ Proses penanganan Interupsi
dilakukan langsung oleh Processor.
➢ Setiap Modul I/O mempunyai kode
Interupsi yang dikenal oleh Sistem
Processor
➢ Interupsi dilakukan oleh Modul I/O
yang tidak mempunyai I/O
Processor yang Independent
Interrupt Driven I/O – Latar Belakang
❑ Masalah yang di jumpai dalam Programmed I/O adalah bahwa CPU harus
menunggu Modul I/O menyelesaikan “tugas” yang diberikan sampai selesai.
❑ Membutuhkan waktu yang relative lama bagi CPU
❑ Pada saat menunggu CPU harus berulang-ulang menanyakan status modul I/O.
❑ Menimbulkan kondisi CPU Wait State.
❑ Akibatnya tingkat kinerja sistem secara keseluruhan menurun tajam
Interrupt Driven I/O
❑ Solusinya adalah menambahkan I/O Processor pada Modul I/O.
❑ I/O Processor adalah Processor yang berfungsi untuk menangani kerja Modul I/O secara
langsung.
❑ CPU hanya mengeluarkan perintah I/O ke Modul I/O.
❑ CPU mengerjakan internal instruction yang berhubungan dengan data processing.
❑ Modul I/O akan melakukan interrupsi ke CPU jika :
➢ Meminta layanan ketika Modul I/O telah siap untuk saling bertukar data dengan
CPU.
➢ Adanya kendala pada operasional Perangkat I/O.
❑ Setelah mendapat interupsi dari Modul I/O maka CPU akan melakukan layanan yang
diperlukan dan setelah itu CPU akan melanjutkan proses data processing kembali
Mekanisme
Interupsi
❑ Memerlukan
keterlibatan Processor.
❑ Jumlah data yang
dipendahkan dari / ke
Memori atau dari / ke
Processor terbatas.
Langkah – Langkah Penanganan Interrupt
1. Perangkat I/O akan mengirimkan sinyal interupsi ke CPU (IRQ).
2. CPU menyelesaikan operasi yang sedang dijalankannya kemudian
merespon interupsi.
3. CPU memeriksa interupsi tersebut, kalau valid maka CPU akan
mengirimkan sinyal Acknowledgment ke perangkat I/O untuk
menghentikan interupsinya.
4. CPU mempersiapkan pengontrolan transfer ke routine interupsi. Hal yang
dilakukan adalah menyimpan informasi yang diperlukan untuk
melanjutkan operasi yang tadi dijalankan sebelum adanya interupsi.
5. Informasi yang diperlukan berupa: Status prosesor, berisi register yang
dipanggil PSW (Program Status Word) dan Lokasi intruksi berikutnya yang
akan dieksekusi.
Langkah – Langkah Penanganan Interrupt

6. Informasi tersebut kemudian disimpan dalam stack pengontrol sistem.


7. Kemudian CPU akan menyimpan PC (Program Counter) eksekusi sebelum
interupsi ke stack pengontrol bersama informasi PSW.
8. Selanjutnya mempersiapkan PC untuk penanganan interupsi. Selanjutnya
CPU memproses interupsi sempai selesai.
9. Apabila pengolahan interupsi selasai, CPU akan memanggil kembali
informasi yang telah disimpan pada stack pengontrol untuk meneruskan
operasi sebelum interupsi.
Interrupt Driven I/O
Beberapa teknik yang digunakan oleh CPU dalam menangani Interrupt Driven I/O
adalah :

❑ Multiple Interrupt Lines.


❑ Software poll.
❑ Daisy Chain.
❑ Arbitrasi bus
Multiple Interrupt Lines
❑ Teknik yang paling sederhana
❑ Pada metoda ini terdapat beberapa jalur interupsi antara CPU dan Modul I/O.
❑ Hal ini memungkinkan beberapa modul I/O untuk ditangani secara bersamaan,
namun tidak praktis karena akan ada banyak jalur Bus dan pin CPU ke jalur
interupsi Modul – Modul I/O.
❑ Salah satu alasannya adalah mungkin ada lebih dari satu Modul I/O yang terpasang
pada satu jalur Bus.
❑ Sulit untuk menetapkan Interrupt Priority
Software Poll
❑ Perangkat lunak yang dikembangkan untuk menangani proses interupsi dari Modul
I/O
❑ Dikembangkan pada Sistem S 70 IBM yang bertujuan untuk mengurangi saluran
fisik pada system Bus
❑ Pada saat CPU mengetahui adanya sebuah interupsi dari I/O, maka CPU akan
menuju ke routine layanan interupsi yang tugasnya melakukan poll seluruh modul
I/O untuk menentukan modul yang melakukan interupsi
❑ Kerugian software poll adalah memerlukan waktu yang lama karena CPU harus
mengidentifikasi seluruh modul untuk mengetahui Modul I/O mana yang melakukan
interupsi
Daisy Chain
❑ Teknik yang lebih efisien dibandingkan dengan Software Poll
❑ Menggunakan sistem perangkat keras / hardware untuk melakukan polling
❑ Polling disini adalah melakukan pemeriksaan secara melingkar terhadap semua Modul I/O yang
ada pada system computer
❑ Jika terjadi interupsi maka sinyal interupsi dari Modul I/O akan diterima oleh CPU.
❑ Terdapat sistem perangkat lunak yang akan mencatat Modul I/O mana saja yang membangkitkan
sinyal interupsi.
❑ Seluruh modul I/O tersambung dalam saluran interupsi CPU secara melingkar (chain)
❑ Apabila ada permintaan interupsi, maka CPU akan membangkitkan sinyal Acknowledge yang
berjalan pada saluran interupsi sampai menjumpai modul I/O yang mengirimkan interupsi
Arbitrasi Bus
❑ Semua Modul I/O akan terhubung ke sebuah processor pembantu yang berfungsi menangani
interupsi yaitu Intel 8259
❑ Processor pembantu Intel 8259 merupakan sistem PIC (Programmable Interrupt Controller)
❑ PIC inilah yang akan mengirimkan sinyal interupsi ke CPU
❑ Setelah mengetahui adanya interupsi maka CPU akan memeriksa I/O mana yang meminta
layanan interupsi
❑ Setelah menerima adanya interupsi maka CPU akan menjalankan Routine interupsi
❑ Modul I/O menggunakan Control Bus sebelum modul ini menggunakan saluran permintaan
interupsi
❑ Hanya akan terdapat sebuah modul I/O yang dapat melakukan interupsi.
❑ Setiap Modul I/O akan mempunyai kode Interrupt yang berbeda dengan Modul I/O yang lainnya.
❑ Kode Interupsi yang digunakan adalah 00H – FFH.
Arsitektur
Dasar INTEL
8259 A
Hubungan Fisik – P, M dan I/O
Direct Memory Access
DMA
Connected
I/O I/O ... I/O I/O I/O ... I/O

Selector Channel Multiplexor Channel


P

M
Mengapa DMA diperlukan
DMA diperlukan karena ada beberapa alasan pada Interrupt driven I/O adalah :

❑ Masih memerlukan keterlibatan CPU , sehingga CPU menjadi sibuk.


❑ Transfer rate data terbatas, hal ini karena proses transfer data antara Modul I/O
dan Memori melalui Register yang ada pada CPU
❑ Pada dasarnya Interrupt-Driven I/O lebih efisien daripada Programmed I/O, namun
Interrupt-Driven masih memerlukan intervensi aktif dari CPU.
Direct Memory Access
❑ Proses DMA dapat terjadi dimana
saja sepanjang Siklus Instruksi
berlangsung
❑ Proses penanganan DMA dilakukan
oleh Modul I/O yang bersangkutan,
dimana Processor hanya
memberikan “ijin” pelaksanaan
waktu pelaksanaan DMA oleh
Modul I/O yang bersangkutan.
❑ Modul I/O yang mampu
melaksanakan Proses DMA hanya
Modul I/O yang dilengkapi I/O
Processor yang Independen.
❑ Setiap Modul I/O mempunyai kode
DMA yang dikenal oleh system
Processor
Mekanisme
DMA
❑ Pemindahan data secara
langsung dari / ke Memori
atau dari / ke I/O.
❑ Setiap I/O sudah
dilengkapi dengan
Processor + Memory
internal.
❑ Sebuah prosesor khusus
(Special Purpose
Processor) yang berguna
untuk menghindari
pembebanan CPU dalam
menjalankan program
penanganan I/O.
Mekanisme DMA
Fungsi modul DMA adalah

❑ Dapat menirukan sebagian fungsi CPU dalam proses transfer data antara Modul I/O dan
Memori.
❑ Dapat mengambil alih / mengambil fungsi CPU yang berhubungan dengan akses data dari
/ ke Memory
❑ Metoda untuk transfer data antara Modul I/O dan Memory pada DMA adalah :
➢ Menggunakan mekanisme FlyBy atau Cycle Stealing
➢ Menggunakan mekanisme Fetch - Deposit atau Burst Hold atau Transparant Mode
Mekanisme DMA
❑ Mekanisme FlyBy atau Cycle Stealing
➢ Pada mekanisme ini DMA Processor akan mengakses data pada lokasi memory
yang memang sedang tidak diakses oleh CPU.
➢ DMA pada mekanisme ini mengikutsertakan pengendali DMA untuk memegang
kontrol dari sistem bus untuk jangka waktu yang lebih pendek pada periode dimana
CPU sibuk dengan operasi internal dan tidak membutuhkan akses ke sistem Bus.
❑ Mekanisme Fetch - Deposit atau Burst Hold atau Transparant Mode
➢ Pada mekanisme ini DMA Processor akan meminta ijin ke CPU untuk menggunakan
system BUS secara penuh agar dapat mengakses memori.
➢ DMA pada mekanisme ini memegang control dari sistem Bus dan menstransfer
semua blok data dari memori ke single burst atau sebaliknya,
Keunggulan dan kekurangan DMA
Keunggulan dari DMA :
❑ Performance komputer sistem ditingkatkan dengan transfer data langsung antara memori
dan Modul I/O yang tidak melibatkan CPU.
❑ CPU dibebas tugaskan dari mekanisme transfer data antara Modul I/O dan Memori
❑ Transfer data jadi lebih cepat karena Modul I/O yang mempunyai fasilitas DMA mempunyai
memory internal yang akan digunakan untuk mengirimkan data antara Modul I/O dan
Memory

Kelemahan dari DMA :


Pada mekanisme Fetch - Deposit atau mekanisme Burst Hold atau mekanisme Transparant Mode
CPU tidak aktif untuk beberapa saat, sehingga kemungkinan dapat menjadi delay time bagi CPU.
Langkah Pengoperasian DMA
❑ CPU menyiapkan DMA Prosesor Transfer dengan menyediakan data - data
dari Modul I/O, operasi yang akan ditampilkan, alamat memori yang akan
menjadi sumber, tujuan data dan banyaknya byte yang akan ditransfer.
❑ Processor DMA memulai operasi dengan menyiapkan system bus,
menyediakan alamat, menulis, dan membaca data sampai seluruh blok
sudah ditransfer.
❑ Processor DMA menginterupsi CPU dimana selanjutnya akan ditentukan
tindakan berikutnya.
Arsitektur DMA
❑ Setiap I/O akan
mempunyai kode DMA.
❑ Kode DMA bersifat
UNIQUE
❑ Berfungsi untuk
mengenali I/O mana
yang meminta layanan
DMA
Terima
Kasih

Anda mungkin juga menyukai