Unit M/K terdiri dari dua komponen yaitu:
Komponen Mekanis. Komponen Mekanis adalah perangkat M/K itu sendiri seperti mouse, monitor, dll.
Komponen Elektronis. Komponen Elektronis disebut juga dengan controller perangkat. Perangkat tidak berhubungan langsung dengan prosesor, controller -lah yang berhubungan dengan prosesor
Cara Perangkat Terhubung Ke Komputer
Perangkat M/K berkomunikasi dengan sistem komputer melalui sinyal yang dikirimkan melalui kabel maupun udara (wireless).
Perangkat M/K berhubungan dengan mesin melalui suatu titik yang bernama port.
Port M/K terdiri dari 4 register, yaitu:
- Data in register
- Data out register
- Status
- Control
Data-in register
Register ini yang akan dibaca CPU untuk mendapatkan input.
Data-out register
CPU menulis bit disini sebagai output data.
. Status.
CPU akan membaca register ini untuk mengetahui status perangkat. Status perangkat bisa menandakan apakah tersedia input di data-in register, perangkat selesai melaksanakan tugasnya dengan baik atau terjadi error di perangkat. Komponen M/K (I/O)
Control
Register ini ditulis oleh CPU untuk memulai perintah atau untuk mengganti modus perangkat.
Struktur bus pada PC
PCI (Peripheral Component Interconnect) bus adalah bus berkecepatan tinggi yang menghubungkan subsistem memori-prosesor ke perangkat berkecepatan tinggi dan ke Expansion bus yang berhubungan dengan perangkat yang lebih lambat.
SCSI atau Small Computer System Interface adalah bus yang menghubungkan beberapa disk ke SCSI controller.
Komunikasi Perangkat Dengan Prosesor
Ada dua pendekatan:
Instruksi M/K langsung
Setiap perangkat diberi nomor port M/K sepanjang 8/16 bit . Pada transfer data antara register perangkat dan register CPU digunakan instruksi M/K khusus. Instruksi M/K ini berbeda dari sekedar instruksi memori biasa karena alamat port M/K tidak menggunakan lokasi yang sama dengan alamat memori.
Memory mapped
Pendekatan ini menggunakan pemetaan alamat M/K ke memori. Register data dan buffer data dipetakan ke ruang alamat yang digunakan CPU.
Keunggulan memory mapped adalah:
Prosesor akan memiliki jumlah instruksi yang lebih sedikit.
Akses ke memori dilakukan dengan instruksi memori biasa,
Sistem operasi dapat mengontrol akses ke perangkat M/K
Bila prosesor ingin mengakses perangkat, salah satu pendekatannya adalah dengan berinteraksi dengan controller melalui protokol yang rumit tetapi dasar-nya cukup sederhana yaitu:
• CPU terus menerus membaca bit status sampai bit tersebut menandakan perangkat siap menerima perintah CPU.
CPU mengaktifkan bit-write di register perintah sebagai awal pertanda CPU memberikan perintah dan menulis sebuah byte di data-out.
• CPU mengaktifkan command-ready bit, artinya perintah tersedia untuk dijalankan controller.
• Controller melihat command ready bit di-set sehingga bit kerja di-set.
• Controller membaca register perintah dan melihat perintah write maka data-out dibaca dan menyuruh perangkat M/K melakukan apa yang diperintah CPU.
• Controller menghapus command ready bit, bit error di status dan bit kerja.
Langkah 1 disebut polling atau busy waiting. Prosesor terus-menerus membaca bit status, berharap suatu saat bit tersebut menandakan perangkat siap menerima perintahnya.
Sedangkan untuk mengetahui apakah perangkatnya sudah siap menerima perintah lagi atau belum, digunakanlah interupsi.
Interupsi
Interupsi terjadi bila suatu perangkat M/K ingin memberitahu prosesor bahwa ia siap menerima perintah, output sudah dihasilkan, atau terjadi error.
Penanganan Interupsi
Ada beberapa tahapan dalam penanganan interupsi:
• Controller mengirimkan sinyal interupsi melalui interrupt-request-line
• Sinyal dideteksi oleh prosesor
• 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 interupsi berhasil diatasi, prosesor akan kembali ke keadaan seperti sebelum terjadinya interupsi dan melanjutkan pekerjaan yang tadi sempat tertunda.
Interrupt Request Line
Pada kebanyakan CPU, ada dua interrupt request line.
1. interupsi nonmaskable,
Interupsi ini biasanya berasal dari perangkat keras dan harus segera dilaksanakan, seperti terjadinya error pada memori.
2. interupsi maskable,
jenis interupsi ini bisa dilayani oleh prosesor atau bisa tidak dilayani.
Kalaupun dilayani, harus dilihat keadaan prosesor saat itu. Ada kemungkinan prosesor langsung menangani bila saat itu, prosesor preemptive. Bila nonpreemptive, maka harus menunggu proses yang sedang dikerjakan selesai.
Prioritas Interupsi
Sistem ini memungkinkan interupsi berprioritas tinggi menyela eksekusi interupsi berprioritas rendah.
Sistem ini juga memungkinkan perangkat M/K yang membutuhkan pelayanan secepatnya didahulukan daripada perangkat lainnya yang prioritasnya lebih rendah.
Pengaturan prioritas dan penanganan perangkat berdasarkan prioritasnya diatur oleh prosesor dan controller interupsi.
Rangkuman
• Port adalah titik koneksi antara perangkat M/K dengan komputer.
• Data mengalir keluar masuk peralatan melalui bus.
• Komputer berkomunikasi dengan peralatan melalui device controller.
• Dua pendekatan dasar komunikasi perangkat dengan komputer: instruksi M/K langsung dan memory-mapped.
• Status suatu perangkat terlihat dari bit memory-mapped-nya, 1 berarti sibuk, 0 berarti siap. CPU akan memeriksa keadaan bit ini berulang kali untuk melihat apakah perangkat siap, hal ini dinamakan polling.
• Interupsi bisa terjadi karena input di perangkat telah siap, output komplit atau terjadi error.
• Sinyal Interupsi akan disampaikan melalui interrupt request line (IRL) yang akan diterima CPU dan mengalihkannya ke interrupt handler.
• Dua jenis interupsi yaitu maskable (bisa ditunda/ diabaikan) dan nonmaskable interrupt. Interrupt vector berisi alamat awal dari interrupt handler.
Subscribe to:
Post Comments (Atom)
0 komentar:
Post a Comment