Selasa, 28 Oktober 2014

Sistem Input Output

Nama : Achmad Syarif H.
Kelas : 2KA04
NPM : 10113100
Mata Kuliah : Pengantar Organisasi & Arsitektur Komputer

Sistem I/O adalah suatu mekanisme pengiriman data secara bertahap dan terus menerus melalui suatu aliran data dari proses ke peranti (begitu pula sebaliknya).

Sistem I/O terdiri dari:
  • Piranti l/O (peripheral)
  • Pengendali I/O (device controller)
  • Perangkat lunak

Port I/O yang berarti gerbang konektor Input/Output pada komputer, seperti pada keyboard, mouse paralel/serial ataupun USB. Menyediakan koneksi untuk piranti eksternal seperti kamera digital, printer dan scanner.

Unit Input/Output (I/O) adalah bagian dari sistem mikroprosesor yang digunakan oleh mikroprosesor itu untuk berhubungan dengan dunia luar. Dimana unit input adalah unit luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesor ini, contohnya data yang berasal dari keyboard atau mouse. Sedangkan unit output biasanya digunakan untuk menampilkan data, atau dengan kata lain untuk menangkap data yang dikirimkan oleh mikroprosesor, contohnya data yang akan ditampilkan pada layar monitor atau printer.

Modul I/O Merupakan peralatan antarmuka (interface) bagi sistem bus atau switch sentral dan mengontrol satu atau lebih perangkat peripheral.

Tidak hanya sekedar modul penghubung, tetapi sebuah piranti yang berisi logika dalam melakukan fungsi komunikasi antara peripheral dan bus komputer. Secara umum, fungsi modul I/O yaitu memindahkan informasi antara CPU atau memori utama dengan dunia luar.
Model generik dari suatu modul I/O


Fungsi Modul I/O
Modul I/O adalah suatu komponen dalam sistem komputer yang bertanggung jawab atas pengontrolan sebuah perangkat luar atau lebih dan bertanggung jawab pula dalam pertukaran data antara perangkat luar tersebut dengan memori utama ataupun dengan register – register CPU.

Dalam mewujudkan hal ini, diperlukan antarmuka internal dengan komputer (CPU dan memori utama) dan antarmuka dengan perangkat eksternalnya untuk menjalankan fungsi – fungsi pengontrolan. 

Fungsi dalam menjalankan tugas bagi modul I/O dapat dibagi menjadi beberapa katagori, yaitu:
  • Kontrol dan pewaktuan.
  • Komunikasi CPU.
  • Komunikasi perangkat eksternal.
  • Pem-buffer-an data.
  • Deteksi kesalahan.

Fungsi kontrol dan pewaktuan (control & timing) merupakan hal yang penting untuk mensinkronkan kerja masing – masing komponen penyusun komputer. Dalam sekali waktu CPU berkomunikasi dengan satu atau lebih perangkat dengan pola tidak menentu dan kecepatan transfer komunikasi data yang beragam, baik dengan perangkat internal seperti register – register, memori utama, memori sekunder, perangkat peripheral. Proses tersebut bisa berjalan apabila ada fungsi kontrol dan pewaktuan yang mengatur sistem secara keseluruhan.

Contoh kontrol pemindahan data dari peripheral ke CPU melalui sebuah modul I/O dapat meliputi langkah – langkah berikut ini :
  1. Permintaan dan pemeriksaan status perangkat dari CPU ke modul I/O.
  2. Modul I/O memberi jawaban atas permintaan CPU.
  3. Apabila perangkat eksternal telah siap untuk transfer data, maka CPU akan mengirimkan perintah ke modul I/O.
  4. Modul I/O akan menerima paket data dengan panjang tertentu dari peripheral.
  5. Selanjutnya data dikirim ke CPU setelah diadakan sinkronisasi panjang data dan kecepatan transfer oleh modul I/O sehingga paket – paket data dapat diterima CPU dengan baik.
Transfer data tidak akan lepas dari penggunaan sistem bus, maka interaksi CPU dan modul I/O akan melibatkan kontrol dan pewaktuan sebuah arbitrasi bus atau lebih. Adapun fungsi komunikasi antara CPU dan modul I/O meliputi proses – proses berikut :
  • Command Decoding, yaitu modul I/O menerima perintah – perintah dari CPU yang dikirimkan sebagai sinyal bagi bus kontrol. Misalnya, sebuah modul I/O untuk disk dapat menerima perintah: Read sector, Scan record ID, Format disk.
  • Data, pertukaran data antara CPU dan modul I/O melalui bus data.
  • Status Reporting, yaitu pelaporan kondisi status modul I/O maupun perangkat peripheral, umumnya berupa status kondisi Busy atau Ready. Juga status bermacam – macam kondisi kesalahan (error).
  • Address Recognition, bahwa peralatan atau komponen penyusun komputer dapat dihubungi atau dipanggil maka harus memiliki alamat yang unik, begitu pula pada perangkat peripheral, sehingga setiap modul I/O harus mengetahui alamat peripheral yang dikontrolnya.

Pada sisi modul I/O ke perangkat peripheral juga terdapat komunikasi yang meliputi komunikasi data, kontrol maupun status.
Skema Perangkat Pripheral


Fungsi selanjutnya adalah buffering. Tujuan utama buffering adalah mendapatkan penyesuaian data sehubungan perbedaan laju transfer data dari perangkat peripheral dengan kecepatan pengolahan pada CPU. Umumnya laju transfer data dari perangkat peripheral lebih lambat dari kecepatan CPU maupun media penyimpan.

Fungsi terakhir adalah deteksi kesalahan. Apabila pada perangkat peripheral terdapat masalah sehingga proses tidak dapat dijalankan, maka modul I/O akan melaporkan kesalahan tersebut. Misal informasi kesalahan pada peripheral printer seperti: kertas tergulung, pinta habis, kertas habis, dan lain – lain. Teknik yang umum untuk deteksi kesalahan adalah penggunaan bit paritas.

Perangkat Eksternal atau lebih umum disebut peripheral tersambung dalam sistem CPU melalui perangat pengendalinya (modul I/O). Operasi-operasi I/O diperoleh melalui sejumlah perangkat ekternal dengan menggunakan link (fungsinya untuk pertukaran kontrol,status dan data antara modul I/O dengan device eksternalnya)

Perangkat Eksternal dikategorikan menjadi 3
  • Human Readable, yaitu perangkat yang berhubungan dengan manusia sebagai pengguna komputer. Contohnya: monitor, keyboard, mouse, printer, joystick, disk drive.
  • Machine readable, yaitu perangkat yang berhubungan dengan peralatan. Biasanya berupa modul sensor dan tranduser untuk monitoring dan kontrol suatu peralatan atau sistem.
  • Communication, yatu perangkat yang berhubungan dengan komunikasi jarak jauh. Misalnya: NIC dan modem.

Pengklasifikasian juga bisa berdasarkan arah datanya yaitu perangkat output, perangkat input dan kombinasi output-input. Contoh perangkat output: monitor, proyektor dan printer. Perangkat input misalnya: keyboard, mouse, joystick, scanner, mark reader, bar code reader.

Teknik Masukan/Keluaran

Terdapat tiga buah teknik dalam operasi I/O, yaitu: I/O terprogram, interrupt – driven I/O, dan DMA (Direct Memory Access). Ketiganya memiliki keunggulan maupun kelemahan, yang penggunaannya disesuaikan sesuai unjuk kerja masing – masing teknik.

I/O Terprogram
Pada I/O terprogram, data saling dipertukarkan antara CPU dan modul I/O. CPU mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung, seperti pemindahan data, pengiriman perintah baca maupun tulis, dan monitoring perangkat.

Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya. Dalam teknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap proses – proses yang
diinteruksikan padanya. Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan.

Untuk melaksanakan perintah – perintah I/O, CPU akan mengeluarkan sebuah alamat bagi modul I/O dan perangkat peripheralnya sehingga terspesifikasi secara khusus dan sebuah perintah I/O yang akan dilakukan. Terdapat empat klasifikasi perintah I/O, yaitu:
  1. Perintah control, digunkan untuk mengaktivasi perangkat peripheral dan memberitahukan tugas yang diperintahkan padanya.
  2. Perintah test, digunakan CPU untuk menguji berbagai kondisi status modul I/O dan peripheralnya. CPU perlu mengetahui perangkat peripheralnya dalam keadaan aktif dan siap digunakan, juga untuk mengetahui operasi – operasi I/O yang dijalankan serta mendeteksi kesalahannya.
  3. Perintah read. Perintah pada modul I/O untuk mengambil suatu paket data kemudian menaruh dalam buffer internal. Proses selanjutnya paket data dikirim melalui bus data setelah terjadi sinkronisasi data maupun kecepatan transfernya.
  4. Perintah write. Perintah ini kebalikan dari read. CPU memerintahkan modul I/O untuk mengambil data dari bus data untuk diberikan pada perangkat peripheral tujuan data tersebut.
Dalam teknik I/O terprogram, terdapat dua macam inplementasi perintah I/O yang tertuang dalam instruksi I/O, yaitu: memory-mapped I/O dan isolated I/O.

Dalam memory-mapped I/O, terdapat ruang tunggal untuk lokasi memori dan perangkat I/O. CPU memperlakukan register status dan register data modul I/O sebagai lokasi memori dan menggunakan instruksi mesin yang sama untuk mengakses baik memori maupun perangkat I/O.
Konskuensinya adalah diperlukan saluran tunggal untuk pembacaan dan saluran tunggal untuk penulisan. Keuntungan memory-mapped I/O adalah efisien dalam pemrograman, namun memakan banyak ruang memori alamat.

Dalam teknik isolated I/O, dilakukan pemisahan ruang pengalamatan bagi memori dan ruang pengalamatan bagi I/O. Dengan teknik ini diperlukan bus yang dilengkapi dengan saluran pembacaan dan penulisan memori ditambah saluran perintah output. Keuntungan isolated I/O
adalah sedikitnya instruksi I/O.

Direct Memory Access (DMA)
Teknik I/O terprogram dan Interrupt-Driven I/O memiliki kelemahan, yaitu proses yang terjadi pada modul I/O masih melibatkan CPU secara langsung. Hal ini berimplikasi pada :
• Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
• Kerja CPU terganggu karena adanya interupsi secara langsung.

Bertolak dari kelemahan di atas, apalagi untuk menangani transfer data bervolume besar dikembangkan teknik yang lebih baik, dikenal dengan Direct Memory Access (DMA).

Prinsip kerja DMA adalah CPU akan mendelegasikan kerja I/O kepada DMA, CPU hanya akan terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan akhir proses saja. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi. Blok diagram modul DMA terlihat pada gambar berikut :

Blok Diagram DMA


Dalam melaksanakan transfer data secara mandiri, DMA memerlukan pengambilalihan kontrol bus dari CPU. Untuk itu DMA akan menggunakan bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan sementara penggunaan bus. Teknik terakhir lebih umum digunakan, sering disebut cycle-stealing, karena modul DMA mengambil alih siklus bus. Penghentian sementara penggunaan bus bukanlah bentuk interupsi, melainkan hanyalah penghentian proses sesaat yang berimplikasi hanya pada kelambatan eksekusi CPU saja. Terdapat tiga buah konfigurasi modul DMA seperti yang terlihat pada gambar berikut.

Konfigurasi DMA

Sistem Prosesor I/O

Saluran I/O :
Merupakan sebuah prosesor khusus dengan kemampuan terbatas yang disusun untuk interface beberapa piranti I/O ke memori.
  • Saluran I/O dapat melakukan pendeteksian dan pembetulan kesaIahan dan beroperasi dalam basis cycle stealing.
  • Saluran I/O berkomunikasi dengan CPU sebagai suatu fasiIitas DMA dan berkomunikasi dengan piranti I/O seolah-olah sebuah CPU.

Karena piranti I/O mempunyai kecepatan transfer yang berbeda-beda, maka saluran dibagi menjadi 3 pelayanan, yaitu:
  • Saluran Multiplexer : Digunakan untuk menghubungkan piranti yang berkecepatan rendah dan sedang serta mengoperasikannya secara bersamaan dengan multiplexing.
  • Saluran Selektor : Digunakan untuk menghubungkan piranti I/O yang berkecepatan tinggi tanpa multiplexing. Contoh: pita magnetis, disk
  • Saluran Multiplexer Blok : Merupakan kombinasi dari dua pelayanan diatas.
Prosesor I/O (IOP)
Merupakan komputer umum yang berkomunikasi dengan memori utama melalui fasilitas DMA system bus dan dengan piranti I/O atas satu atau lebih bus I/O.

Ada 2 mode yaitu :

  1. Single Shared bus, Setiap IOP mengendalikan sejumlah piranti I/O tertentu yang tetap.
    Single Shared Bus
  2. Switching matriks bus Setiap IOP mengendalikan satu piranti I/O
    Swithching Matrix Bus
Konfigurasi Multiprosesor
Di dalam satu komputer seakan-akan terdapat beberapa mikroprosesor, meskipun sebenarnya mikroprosesor utamanya hanya satu, sedangkan yang Iainnya berupa prosesor I/O (lOP). Hubungan yang paling sederhana menggunakan common bus.
Model Common Bus Pada Multiprosesor
  • Common Bus bersifat membagi waktu (time shared) oleh semua prosesor dan hanya satu prosesor yang dapat mengakses memori pada waktu tertentu. Tetapi dapat juga menggunakan common bus ke dalam organisasi multiprosesor dual bus.
  • Setiap komputer dihubungkan suatu pengendali sistem ke common bus.
  • Komunikasi interkomputer ini dilakukan pada system bus melalui common memori.
    Model System Bus Pada Multiprosesor
Kesimpulan

(edit 30 October: f*ck, i forgot to write this one ;))
Sistem I/O merupakan mekanisme pengiriman data secara bertahap. Dalam sistem ini memiliki modul I/O yang tidak sekedar menghubungkan peripheral dengan bus system, namun bertanggung jawab atas pengontrolan sebuah perangkat serta pertukaran data dengan cpu dan memori utama. Sistem ini juga memiliki perangkat eksternal dimana operasi - operasi I/O diperoleh dari perangkat ini. Disini juga terdapat tiga buah teknik dalam operasi I/O, yaitu: I/O terprogram, interrupt – driven I/O, dan DMA (Direct Memory Access), dimana DMA merupakan teknik yang lebih baik dalam menangani transfer data bervolume besar

Referensi :
  1. William Stalling Computer Organization and Architecture, Prentice Hall, 5 Th  ed, 2000
  2. Soepono Soeparlan, Pengantar Organisasi Sistem Komptuer, Diktat Guandarma, 1995
  3. Hamacher, Carl, et all, Computer organization, fifth edition, McGraw Hill, 2002
  4. Ron White & Timothy Downs, How computer works, 6th edition
  5. Peter Nortons, Introduction to Computers


Tidak ada komentar:

Posting Komentar