MasukanKeluaran Link Dinamis. Link dinamis menggunakan single loading, sehingga lebih efisien dalam

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