Metode Polling Dan Interupsi Pada Mikroprosesor





MIKROPROSESOR
(Metode Polling Dan Interupsi)

BAB I. PENDAHULUAN
1.1    Latar Belakang
Pada saat ini , teknologi semakin berkembang dengan sangat cepat dan semakin canggih. Perkembangan tekhnologi ini pastinya sangat berkaitan dengan perkemba
ngan tekhologi komputer. Dimana tekhnologi komputer merupakan pendukung bahkan penggerak kemajuan tekhnologi informasi pada jaman sekarang ini. Dan tidak bisa dipungkiri bahwa ilmu elektronika sangat berpengaruh kepada perkembangan teknologi.
Polling dan interupsi merupakan salah satu proses  yang ada pada mikroprosesor.  Pada makalah ini dijelaskan mengenai polling dan interupsi, juga metode pengedalian pada I/O.
1.2    Perumusan Masalah
Berdasarkan latar belakang, pembahasan makalah ini akan difokuskan pada proses polling dan interupsi pada mikroprosesor:
1.      Apa yang dimaksud  dengan polling dan interupsi pada mikroprosesor?
2.      Metode pengendalian apa pada I/O ?
1.3    Tujuan
Adapun tujuan penyusunan tulisan ini antara lain, yaitu:
1.3.1        Untuk mengetahui pengertian polling dan interupsi pada mikroprosesor.
1.3.2        Untuk mengetahui metode pengendalian apa pada I/O
1.3.3        Untuk menambah pengetahuan tentang pemahaman tentang mikroprosesor.
1.4    Manfaat
Penyusunan tulisan ini diharapkan dapat memberikan banyak manfaat untuk berbagai pihak. Adapun manfaat yang dapat saya rumuskan untuk masing-masing pihak dengan adanya  tulisan ini antara lain, yaitu:
1.4.1        Manfaat Ilmiah bagi lingkungan akdemis
Kalangan akademis dapat memanfaatkan laporan ini sebagai panduan ringkas metodologi dalam pemahaman dalam mempelajari mikroprosesor.  Selain itu, dapat pula dijadikan  tolak ukur atau pun evaluasi mengenai metode-metode yang di gunakan pada mikroprosesor.
1.4.2        Manfaat Praktis bagi penunjang penelitian dan kebijaksanaan
Laporan ini dapat menjadi gambaran untuk kalangan mahasiswa dalam penelitian yang mencakup mikroprosesor.






BAB II. PEMBAHASAN
2.1. Pengertian Polling Dan Interupsi
Proses tersebut mempunyai beberapa parameter atau variabel yang diukur menggunakan sensor dan tranduser. Sinyal analog dari tranduser kemudian dikonversi ke bentuk digital menggunakan ADC (analog to digital converter) sehingga dapat dibaca oleh komputer. Proses konversi menggunakan ADC biasanya membutuhkan waktu (waktu konversi) yang cukup signifikan dibandingkan dengan kecepatan mikroprosesor dalam menjalankan suatu instruksi. Dalam masa konversi, belum tersedia data hasil konversi. Oleh karena itu mikroprosesor harus menunggu sampai konversi selesai. Masalahnya adalah apabila komputer dibiarkan menganggur (idle) saat menunggu konversi selesai maka akan banyak waktu yang terbuang sementara sebetulnya kecepatan mikroprosesor yang cukup tinggi masih bisa dimanfaatkan untuk mengerjakan hal yang lain sembari menunggu. Ketika data hasil konversi tersedia, maka ada 2 kemungkinan yang berhubungan dengan transfer data, yakni ADC secara pasif menunggu sampai mikroprosesor meminta data darinya atau ADC itu sendiri yang secara aktif memberitahu mikroprosesor bahwa data konversi telah tersedia. Yang pertama menggunakan cara polling dan yang kedua menggunakan cara interupsi.
2.1.1 Polling
Dengan cara ini, komputer diprogram untuk secara berkala dan bergiliran memeriksa apakah konversi telah selesai dan data di ADC telah tersedia. Biasanya dilakukan dengan cara memeriksa salah satu sinyal atau pin yang ada di ADC 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. Demikian seterusnya seperti diilustrasikan dalam Gambar 1.1
Keuntungan cara polling adalah program yang diperlukan dan prinsip kerjanya relatif lebih sederhana, tidak memerlukan koneksi khusus dengan ADC yang dipakai. Sedangkan kekurangannya adalah Jika konversinya lambat maka seringkali komputer mendapati data belum tersedia ketika memeriksa sebuah ADC, sehingga dapat dikatakan banyak pekerjaan yang sia-sia.

Gambar 1.1. Pengambilan data secara polling
2.1.2 Interupsi
Pada cara ini, kita memanfaatkan pin INTR atau NMI yang digunakan untuk menginterupsi kerja mikroprosesor. Komputer dibiarkan melakukan pekerjaan yang telah diprogramkan tanpa harus memeriksa setiap ADC apakah data telah siap atau belum. Ketika data telah tersedia, sinyal yang menandakannya pada ADC dimanfaatkan untuk mengaktifkan sinyal INTR atau NMI sehingga komputer menghentikan apa yang sedang dikerjakannya pada saat itu. Kemudian komputer mengambil data hasil konversi dan kemudian meneruskan kembali pekerjaannya yang tadi diinterupsi. Keuntungan cara ini adalah komputer dapat lebih efisien dalam memanfaatkan waktu serta pada program utamanya tidak perlu merisaukan untuk memeriksa piranti luar setiap saat. Sedangkan kekurangannya adalah diperlukan koneksi secara khusus dengan piranti yang dipakai serta pemrograman yang lebih kompleks untuk menangani interupsi.

Gambar 1.2 mengilustrasikan prinsip kerja pengambilan data dengan cara interupsi. Perlu diingat bahwa interupsi oleh suatu piranti dapat muncul kapan saja, waktunya tidak dapat ditentukan sebelumnya. Demikian juga urutan interupsi tidak mesti urut dari suatu piranti ke piranti berikutnya. Pada kenyataanya kebanyakan piranti bekerja menggunakan sistem interupsi untuk memberitahukan ketersediaan data untuk ditransfer ke mikroprosesor, misalnya: keyboard, mouse, printer, kartu suara, modem.


Gambar 1.2. Pengambilan data dengan cara interupsi
2.2. Metoda Pengendalian I/O
Pengaturan alih data dari alat luar dengan sistem komputer/sistem mikroprosesor menerapkan suatu strategi penjadwalan. Pada pengendalian alat I/O dikenal adanya tiga metoda yaitu :

2.2.1.      Metoda Polling

Gambar 1.3. Diagram alir Metode Polling pada I/O
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. Gambar 1.3 menunjukkan diagram alir pengendalian I/O dengan metoda polling. Metoda Polling adalah metoda 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

2.2.2.      Metoda Interupsi
Pengendalian I/O dengan metoda polling mempunyai dua kelemahan :
Ø  Pemborosan waktu prosesor karena status semua periferal diperiksa terus menerus secara berurutan.
Ø  Karena harus memeriksa status semua alat I/O maka waktu kerjanya menjadi lambat. Ini merupakan kelemahan dalam sistem waktu nyata (Real Time), dimana satu periferal mengharap layanan dalam satu waktu tertentu.


Gambar 1.4. Diagram alir Metode Interupsi pada I/O
Kelemahan ini diatasi dengan menggunakan layanan waktu tak sinkron menggunakan interupsi. Tiap alat I/O atau pengendalinya dihubungkan ke sebuah saluran interupsi. Saluran interupsi menggerbangkan sebuah permintaan interupsi ke mikroprosesor. Bilamana sebuah alat I/O memerlukan layanan , alat akan membangkitkan pulsa interupsi atau status suatu tingkatan saluran untuk menarik perhatian mikroprosesor. Mikroprosesor akan memberikan layanan pada alat I/O jika ada interupsi dan jika tidak ada interupsi mikroprosesor melakukan instruksi selanjutnya. Logika pengendalian I/O dengan metoda interupsi ditunjukkan pada diagram alir Gambar 1.4.

Begitu permintaan interupsi diterima dan disetujui oleh mikroprosesor, alat I/O harus dilayani. Untuk melayani alat I/O, maka mikroprosesor melaksanakan suatu routin pelayanan khusus. Ada dua masalah yang muncul pada saat melakukan layanan interupsi :
1)      Bagaimana status program yang dilaksanakan pada mikroprosesor pada saat interupsi harus diperilahara dalam stack.
2)      Bagaimana mikroprosesor dapat mengenali secara tepat alat I/O mana yang membangkitkan interupsi. Identifikasi ini dapat dilakukan dengan perangkat keras, perangkat lunak, atau kombinasi perangkat keras dan perangkat lunak. Pencabangan ke alamat alat I/O disebut :

a)       Pemvektoran Interupsi
Rutin perangkat lunak menetapkan identitas alat yang meminta layanan interupsi. Rutin identifikasi interupsi akan memilih saluran setiap alat yang dihubungkan dengan sistem. Setelah dikenal alat mana yang mencetuskan interupsi maka ia kemudian bercabang ke alamat rutin penanganan interupsi yang sesuai.
Metoda ke dua yang digerakkan oleh perangkat lunak, tetapi dengan pertolongan beberapa perangkat keras tambahan. Metoda ini menggunakan rantai beranting (daisy chain) untuk mengenal alat yang mencetuskan interupsi. Metoda tercepat adalah interupsi yang divektorkan. Adalah menjadi tanggung jawab pengendali alat I/O untuk memberikan baik interupsi maupun pengenal alat yang menyebabkan interupsi atau lebih baik lagi alamat pencabangan bagi rutin penanganan interupsi. Bila pengendali hanya memberikan pengenal alat, adalah tugas perangkat lunak mencari tabel alamat pencabangan bagi tiap alat. Ini sederhana bagi perangkat keras tapi tak mencapai performansi tertinggi.
b)      Prioritas
Gambar 1.5. Struktur dasarlogika PIC

Beberapa interupsi dapat dibangkitkan serentak. Mikroprosesor diberi tugas untuk memutuskan bagaimana urutan pelayanannya. Setiap alat diberikan suatu prioritas. Mikroprosesor melayani setiap alat sesuai prioritasnya. Dalam dunia komputer prioritas 0, menurut konvensi memiliki prioritas tertinggi, prioritas 1 yang kedua demikian seterusnya. Prioritas dapat diset baik pada perangkat keras maupun perangkat lunak. Pengaturan prioritas dengan perangkat keras dikerjakan oleh suatu piranti yang disebut Programmable Interrupt Controller (PIC). Struktur dasar logika PIC dapat digambarkan seperti Gambar 1.5.

2.2.2.1. Interupsi pada Z-80 CPU
Ada dua jenis interupsi pada mikroprosesor Z-80 CPU yaitu :
Ø  Non Maskable Interrupt (NMI) : yaitu interupsi yang sama sekali tidak dapat dihalangi. Tak peduli apakah CPU dalam keadaan dapat di interupsi atau tidak CPU akan melayani dan mencabang se subruitn yang berada pada lokasi alamat 0066H. NMI digunakan pada keadaan darurat dan imergensi.

Ø  Maskable Interrupt (INT) adalah interupsi yang dibuat aktif rendah oleh alat luar yang minta layanan interupsi. Dalam hal ini CPU akan melayani jika ia diset dalam keadaan Enable Interupt, sedangkan CPU tidak akan melayani jika dalam keadaan disable interrupt.
Jika pena INT pada CPU berlogika rendah, ini pertanda ada alat luar yang meminta layanan interupsi. Jika CPU ada dalam keadaan dapat diinterupsi, maka CPU akan menyelesaikan proses yang sedang diolah dan selanjutnya memasuki proses layanan interupsi.
CPU dapat dibuat peka terhadap interupsi dengan memasalng perintah EI (Enable Interupt) di dalam program atau dibuat tidak peka terhadap interupsi dengan memberi perintah DI (Disable Interupt) pada program.

Mikroprosesor Z-80 CPU memiliki tiga modus Interupsi yaitu:
Ø  Modus Intrupsi Nol (IM0)
Ø  Modus Interupsi Satu (IM1)
Ø  Modus interupsi Dua (IM2).

Modus interupsi nol (IM0) bekerja dimana jika pena INT* aktif rendah, CPU akan membuat pena M1 rendah sebagai pertanda CPU mengambil op-code, dan disertai dengan aktifnya pena IORQ* yang berarti Op-code tidak diambil dari memori tapi diambil dari I/O melalui bus data. Kedua isyarat ini dapat di OR kan (M1* = 0 dan IORQ*=0 maka output OR= 0), untuk membentuk isyarat INTA*= Interupt Acknowledge yang aktif rendah. Isyarat INTA* digunakan untuk memasukkan data ke CPU melalui bus data. Data yang masuk akan diteruskan ke Register Instruksi untuk dibuka sandinya. Jika yang masuk adalah sandi Heksadesimal untuk instruksi RST n, maka CPU akan melaksanakan CALL subrutin yang bermula dari lokasi (n x 8 ) 10.

Sandi biner untuk instruksi RST n adalah seperti Gambar .

Gambar 1.6. Sandi biner untuk instruksi RST n


Pada waktu INTA* aktif dan data yang masuk ke CPU adalah DFH akan diterjemahkan sebagai instruksi RST 18H atau RST 24D, yang akan membuat CPU menyambung ke subrutin lokasi 0018H. Jika data yang masuk misalnya FFH akan membuat CPU menyambung ke subrutin lokasi 0038H.
Daerah memori antara 0000 s/d 00FFh disebut daerah halaman nol atau page zero, sehingga RST n dikatakan memvektor ke Page Zero.
Pada MPF-1, Modus Interupsi nol IM0 tidak dapat digunakan oleh pemakai sebab daerah vector RST n didukui oleh ROM monitor. Dalam hal ini jika menggunakan interupsi harus memilih modus yang lain yaitu IM1.
Modus IM1 mengunakan register I yang diisi melaluiregister A. Misalnya kita ingin pelayanan interupsi memvektor ke lokasi 1820H. Untuk itu lokasi alamat 1820 ini harus disimpan di dua lokasi berurutan yaitu misalnya lokasi alamat 18A0H dan 18A1H. Byte bawah vector (20H) disimpan pada lokasi 18A0 dan byte atas 18H disimpan pada lokasi alamat 18A1 selanjutnya register I diisi data 18 H sebagai berikut :
LD A, 18H
LD I, A
Selanjutnya byte bawah lokasi tempat simpan alamat vector akan diambil melalui bus data dengan menggunakan pulsa INTA*. Programnya adalah: Mulai IM1 ; Pasang modus IM1 LD A, 18H ; A = 18 LD I, A ; Byte atas masuk ke I LD SP, STACK EI SIN1 JP SIN1 ORG 18A0 DEFB A0H DEFB 18H
2.2.3.      Akses Memori Langsung
Interupsi menjamin tanggapan yang paling cepat dari proses pengendalian data pada I/O. Akan tetapi pelayanan pada alat masih diselenggarakan oleh perangkat lunak. Kecepatan transfer paralel sebuah mikroprosesor dibatasi oleh overhead perangkat lunak yang terlibat dalam
pengiriman kata-kata berurutan. Ini mungkin masih tidak cukup cepat bagi pengolahan yang melibatkan alih memori cepat. Kembali disini menggantikan perangkat lunak dengan perangkat keras. Rutin perangkat lunak yang menyelenggarakan alih data antara memori dengan alat I/O digantikan oleh prosesor perangkat keras khusus yang disebut dengan Direct Memory Access Controller (DMAC). Sebuah DMAC adalah prosesor khusus yang dirancang untuk menyelenggarakan alih data berkecepatan tinggi antara memori dengan alat luar. Dalam akses memori langsung digunakan dua teknik untuk berhubungan dengan memori :
Ø  Prosesor dihentikan atau ditangguhkan oleh DMAC. DMAC memegang pengendalian bus dan membiarkan alat I/O berhubungan langsung dengan memori.

Ø  DMAC mencuri satu siklus memori dari mikroprosesor, memberinya kepada pengiriman data antara memori dan alat I/O.
DMAC adalah prosesor khusus yang memutuskan hubungan atau mengisolasi MPU dari bus-bus dan mengatur pengiriman yang diperlukan antara memori dan alat I/O. Gambar 1.7 menunjukkan diagram blok kerja DMAC.
Pada saat sistem bekerja, saklar pada posisi atas sehingga saluran terhubung dari mikroprosesor ke sistem memori dan peripheral. Untuk membaca file ke disk
diperlukan sejumlah perintah ke disk controller, memerintahkan untuk mencari dan membaca blok data yang dari disk. Jika disk controller telah menemukan byte pertama dari blok data, disk controller mengirim sinyal DMA request (DREQ) ke DMAC. Jika DMAC tidak dalam terhalang maka DMAC mengirim sinyal hold request (HRQ) ke mikroprosesor melalui pin HOLD. Mikroprosesor menanggapi masukan ini dengan mengambangkan saluran/bus dan mengirim sinyal hold acknowledge (HLDA) ke DMAC. Jika DMAC menerima sinyal HLDA, akan mengirim sinyal untuk menghubungkan bus/saluran ke posisi DMAC.


Gambar 1.7. Diagram blok kerja DMAC

Pada saat DMAC mengontrol saluran, ia mengirim alamat memori dimana byte pertama dari disk controller di tulis. Selanjutnya DMAC mengirim sinyal DMA acknowledge (DACK) ke disk controller untuk memberitahukan kesiapan mengeluarkan byte. Akhirnya DMACn mengaktifkan saluran MEMW* dan IOR* pada saluran kontrol.







BAB III. PENUTUP
3.1. Kesimpulan
 Poling dan interupsi merupakan proses penting dalam mikroprosesor dalam menopang aktifitas sebuah komputer dalam interaksinya, tanpa proses itu brainware tidak dapat berinteraksi dengan komputer.
3.2. Saran
3.2.1        Untuk kalangan akademis
Diharapkan mahsiswa dapat memahami dan menerapkannya suatu saat jika ilmu itu diaplikasikan secara nyata
3.2.2        Untuk kalangan penunjang penelitian
Diharapkan sebaiknya para peneliti lebih mendalami cara kerja mikroprosesor agar dapat memberika inovasi terbaru untuk pengembangan mikroprosesor selanjutnya yang lebih efisein lagi.
3.2.3        Untuk masyarakat umum
Sebagai pedoman dalam menambah pemahaman dalam pembelajaran mikroprosesor secara otodidak.





DAFTAR PUSTAKA
Universitas Sultan Ageng TirtayasaDasar Mikroproseso. Buku ajar.
Dr. Putu Sudira MPSistem Mikroprosesor Dan Mikrokontroler. Diknik Elektronika FT-UNY .







Jika ada yang ingin  file Doc-nya silakan Download disini, Trima Kasih semoga bermanfaat............