dengan prosesor.
Cara Perangkat Terhubung Ke Komputer
Perangkat MK berkomunikasi dengan sistem komputer melalui sinyal yang dikirimkan melalui kabel maupun udara wireless. Perangkat MK berhubungan dengan mesin melalui suatu titik yang
bernama port. Port MK terdiri dari 4 register, yaitu: 1. Data-in register . Register ini yang akan dibaca CPU untuk mendapatkan input.
2. Data-out register . CPU menulis bit disini sebagai output data. 3. 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.
4. Control. Register ini ditulis oleh CPU untuk memulai perintah atau untuk mengganti modus
perangkat. Salah satu contoh penggantian modus perangkat adalah terdapat bit di register control di serial port yang berfungsi untuk memilih kecepatan transfer yang didukung oleh serial port
tersebut.
Bus adalah kumpulan kabel dan protokol yang menetapkan sekumpulan pesan yang bisa dikirim melalui kabel. Beberapa perangkat bisa terhubung ke bus yang sama. Bila perangkat A terhubung ke
perangkat B, perangkat B terhubung ke perangkat C dan seterusnya sampai perangkat yang terakhir terhubung ke komputer, rangkaian perangkat ini disebut daisy chain. Daisy chain juga berfungsi
sebagai bus.
Gambar 10.1. 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 seperti keyboard, serial port dan
paralell port. SCSI atau Small Computer System Interface baca: skazi adalah bus yang menghubungkan beberapa disk ke SCSI controller. Dengan SCSI, kita bisa mendapatkan hingga
tujuh perangkat terhubung ke komputer tetapi ini akan memperlambat komputer pada saat start-up.
Kita semua tentu sudah mengenal perangkat penyimpanan seperti floopy drive, hard drive dan CD-ROM drive. Biasanya perangkat-perangkat ini terhubung ke komputer melalui IDE Integrated
Komputer
74
Drive Electronics . Antarmuka ini menyatukan controller ke drive, sehingga dengan instruksi yang lebih sederhana dan rute yang lebih dekat antara drive dan controller, membuatnya lebih cepat dan
mudah untuk digunakan.
Bus, port dan perangkat bisa dioperasikan oleh controller yang merupakan sekumpulan perangkat elektronik. Serial-port controller adalah salah satu controller perangkat yang sederhana karena
hanya sebuah chip yang mengontrol sinyal dari kabel di port. Di sisi lain, juga ada controller perangkat yang kompleks yaitu SCSI controller yang sedemikian rumitnya sehingga harus
diimplementasikan secara khusus sebagai papan sirkuit tersendiri di dalam komputer. Ini disebut dengan host adapter. SCSI controller berisi prosesor, microcode, dan beberapa memori sendiri.
Komunikasi Perangkat Dengan Prosesor
Kita sudah membahas tentang perangkat dan bagaimana mereka tersambung ke komputer, sekarang fokus selanjutnya adalah bagaimana prosesor berkomunikasi dengan perangkat. Ada dua
pendekatan: 1. Instruksi MK langsung.
Setiap perangkat diberi nomor port MK sepanjang 816 bit yang unik. Pada transfer data antara register perangkat dan register CPU digunakan instruksi MK khusus. Instruksi MK ini berbeda
dari sekedar instruksi memori biasa karena alamat port MK tidak menggunakan lokasi yang sama dengan alamat memori. Oleh sebab itu, 2 instruksi berikut: –in R3, 0x200, 4,– dan –mov
R3, 0x200--- memiliki dua arti yang berbeda. Instruksi pertama merupakan instruksi MK khusus yang meminta CPU untuk membaca nilai dari register nomor 4 dari alat MK pada nomor port
0x200 kemudian meletakkannya pada register nomor 3 di CPU. Instruksi kedua merupakan instruksi memori biasa yang hanya menyalin isi alamat memori 0x200 ke register tiga di CPU.
2. Memory mapped .
Pendekatan ini menggunakan pemetaan alamat MK ke memori. Register data dan buffer data dipetakan ke ruang alamat yang digunakan CPU.
Keunggulan memory mapped adalah: 1. Prosesor akan memiliki jumlah instruksi yang lebih sedikit karena prosesor tidak perlu
menyediakan instruksi MK khusus. 2. Akses ke memori dilakukan dengan instruksi memori biasa, sehingga driver untuk peralatan
dapat ditulis dalam bahasa C C++ untuk instruksi memori biasa daripada bahasa assembly untuk instruksi MK khusus.
3. Sistem operasi dapat mengontrol akses ke perangkat MK, yaitu dengan tidak meletakkan ruang alamat perangkat pada ruang alamat virtual proses.
Namun, ada masalah yang cukup signifikan pada pendekatan memory mapped yaitu masalah caching. Pada caching, proses menyimpan isi dari lokasi memori yang baru direferensikan sehingga
bila ada instruksi yang mereferensikan ke alamat yang sama tidak perlu mengambil ke memori lagi, dengan demikian caching dapat meningkatkan kinerja sistem.
Terjadi masalah pada suatu sistem yang berulang-ulang membaca register status pada perangkat untuk melihat apakah perangkat tersebut siap diakses. Pembacaan yang pertama, isi dari register
status akan disimpan di cache. Namun, perulangan selanjutnya akan mengambil nilai dari cache bukan pada register status pada peralatan. Akibatnya, tidak akan diketahui kapan perangkat siap
digunakan karena nilai yang terus dibaca adalah nilai yang disimpan pertama kali di cache, bukan status ter-update dari perangkat itu sendiri. Untuk mengatasi masalah ini, proses caching tetap
dilakukan kecuali untuk lokasi memori dimana register alat MK dipetakan.
Beberapa sistem menggunakan kedua teknik ini. Contohnya pada penggunaan graphics controller. Graphics controller mempunyai alamat port MK untuk pendekatan instruksi MK langsung,
namun dia juga mempunyai wilayah memory-mapped yang besar untuk menampung tampilan layar. Proses mengubah tampilan dengan menulisi wilayah memory-mapped ini dan controller akan
menyesuaikan tampilan layar berdasarkan informasi dari memory mapped tersebut. Jauh lebih cepat menulis jutaan Bytes ke memory grafik daripada memuat jutaan instruksi. Namun, kelemahannya,
adalah saat pointer menunjuk ke wilayah memori yang salah dan menulisinya.
10.3. Polling
Bila prosesor ingin mengakses perangkat, salah satu pendekatannya adalah dengan membiarkan
Prosesor
75
prosesor melakukan semua pekerjaan. Prosesor berinteraksi dengan controller melalui protokol yang rumit tetapi dasar handshaking-nya cukup sederhana yaitu:
1. CPU terus menerus membaca bit status sampai bit tersebut menandakan perangkat siap menerima perintah CPU.
2. CPU mengaktifkan bit-write di register perintah sebagai awal pertanda CPU memberikan perintah dan menulis sebuah byte di data-out.
3. CPU mengaktifkan command-ready bit, artinya perintah tersedia untuk dijalankan controller. 4. Controller melihat command ready bit di-set sehingga bit kerja di-set.
5. Controller membaca register perintah dan melihat perintah write maka data-out dibaca dan menyuruh perangkat MK melakukan apa yang diperintah CPU.
6. 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. Pada dasarnya polling dapat dikatakan efisien bila kinerja perangkat dan controller-nya cepat. Kelemahan dari cara ini
adalah bila waktu tunggu lama, maka lebih baik prosesor mengerjakan tugas yang lain. Sedangkan untuk mengetahui apakah perangkatnya sudah siap menerima perintah lagi atau belum,
digunakanlah interupsi.
10.4. Interupsi
Interupsi terjadi bila suatu perangkat MK ingin memberitahu prosesor bahwa ia siap menerima perintah, output sudah dihasilkan, atau terjadi error.
Penanganan Interupsi
Ada beberapa tahapan dalam penanganan interupsi: 1. Controller mengirimkan sinyal interupsi melalui interrupt-request-line
2. Sinyal dideteksi oleh prosesor 3. Prosesor akan terlebih dahulu menyimpan informasi tentang keadaan state-nya informasi
tentang proses yang sedang dikerjakan 4. Prosesor mengidentifikasi penyebab interupsi dan mengakses tabel vektor interupsi untuk
menentukan interrupt handler 5. Transfer kontrol ke interrupt handler
6. Setelah interupsi berhasil diatasi, prosesor akan kembali ke keadaan seperti sebelum terjadinya interupsi dan melanjutkan pekerjaan yang tadi sempat tertunda.
Gambar 10.2. Siklus penanganan interupsi
76