Perangkat Keras M/K

Kategori Perangkat M/K

Pada saat sekarang ini, terdapat berbagai macam perangkat M/K seperti perangkat penyimpanan (disk, tape), perangkat transmisi (network card, modem), dan perangkat antar muka dengan pengguna (layar, keyboard, mouse). Secara umum, perangkat M/K dapat dibagi menjadi dua kategori yaitu:

  1. Perangkat blok. 

    Perangkat yang menyimpan informasi dalam blok-blok berukuran tertentu (umumnya 512 sampai 32.768 byte) dan setiap blok memiliki alamat masing-masing. Setiap blok pada perangkat ini bisa diakses dan ditulis secara independen. Contoh perangkat blok adalah disk.
  2. Perangkat karakter. 

    Perangkat yang mengirim dan menerima sebarisan karakter tanpa menghiraukan struktur blok. Contoh perangkat karakter adalah printer , network interface dan perangkat yang bukan disk.

Namun, pembagian ini tidak sepenuhnya benar karena ada perangkat yang tidak memenuhi kedua kriteria tersebut yaitu clock. Clock merupakan perangkat yang tidak memiliki blok beralamat, tidak mengirim dan menerima barisan karakter melainkan hanya menginterupsi dalam jangka waktu tertentu.

Komponen M/K

Unit M/K terdiri dari dua komponen yaitu:

  1. Komponen Mekanis.  Komponen Mekanis adalah perangkat M/K itu sendiri seperti mouse, monitor, dll.

  2. 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:

  1. Data-in registerRegister 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. ControlRegister 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

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 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 M/K langsung. 

    Setiap perangkat diberi nomor port M/K sepanjang 8/16 bit yang unik. 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. Oleh sebab itu, 2 instruksi berikut: –in R3, 0x200, 4,– dan –mov R3, 0x200--- memiliki dua arti yang berbeda. Instruksi pertama merupakan instruksi M/K khusus yang meminta CPU untuk membaca nilai dari register nomor 4 dari alat M/K 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 M/K 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 M/K 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 M/K khusus).
  3. Sistem operasi dapat mengontrol akses ke perangkat M/K, 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 M/K dipetakan.

Beberapa sistem menggunakan kedua teknik ini. Contohnya pada penggunaan graphics controller. Graphics controller mempunyai alamat port M/K (untuk pendekatan instruksi M/K 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.