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.
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 Tirtayasa. Dasar
Mikroproseso.
Buku ajar.
Dr.
Putu Sudira MP. Sistem Mikroprosesor Dan Mikrokontroler. Diknik Elektronika FT-UNY .
Jika ada yang ingin file Doc-nya silakan Download disini, Trima Kasih semoga bermanfaat............
Jika ada yang ingin file Doc-nya silakan Download disini, Trima Kasih semoga bermanfaat............