Beranda > Uncategorized > INPUT DAN OUTPUT

INPUT DAN OUTPUT


Sistem input dan output berfungsi untuk mentransfer informasi antara CPU atau memori utama dan dunia luar. Sistem I/O terdiri atas piranti I/O  atau disebut juga sebagai peripheral yakni, Pengendali Piranti (Device Controller) yang dilalui piranti I/O untuk berkomunikasi dengan CPU atau memori utama dalam suatu aturan yang baku (protokol) dan perangkat lunak, penting untuk menyadari ketiga point ini :

  1. CPU dan piranti I/O biasanya tidak dapat disingkronkan. Karena operasi I/O harus dikoordinasikan.
  2. Secara umum piranti I/O lebih lambat dari CPU. Karena itu biasanya piranti I/O berkomunikasi secara asynchronous dengan CPU.
  3. CPU mengganti informasi bahasa mesin sedangkan piranti I/O biasanya membawa informasi yang berorientasi kepada pemakai (manusia), Karena itu data harus di-encode dan di-decode (diformat).

Keseluruhan kendali pada operasi I/O biasanya dikerjakan oleh CPU dengan tingkatan yang lebih rendah atau lebih besar . Proses transfer informasi antara CPU dan sebuah peripheral terdiri dari empat langkah :

  1. Memilih sebuah piranti I/O dan menguji apakah ia siap atau mempunyai reaksi.
  2. Menginisialisasi transfer tersebut dan mengkoordinasikan pengaturan waktu operasi I/O.
  3. Mentransfer informasi tersebut
  4. Memberhentikan proses transfer tersebut

Kebanyakan piranti I/O memerlukan komunikasi antar piranti yang karakteristiknya sangat berbeda.  Kita dapat mengklasifikasikan piranti I/O atas tiga kelompok :

  1. Piranti yang memasukan insformasi ke komputer, seperti keyboard, optical scanner, dll.
  2. Piranti yang menampilkan (mengeluarkan) informasi dari komputer, seperti printer, Voice output unit, dll
  3. Piranti yang melayani input dan output seprti disk, flashdisk dan kaset.

Untuk menunjang komunikasi I/O dengan CPU dan memori, piranti harus dihubungkan ke satu sistem bus atau lebih. Dalam banyak sistem komputer, fungsi pemrosesan I/O didelegasikan dari PCU dengan menggunakan prosesor front-end I/O umum atau khusus.

Setiap piranti input diperlakukan sebagai bagian memori yang memberikan data pada bus data dan setiap piranti output diperlakukan sebagai suatu bagian memori yang memiliki data yang tersimpan didalamnya. Dengan kata lain, port I/O menempati lokasi tertentu pada ruang alamat dan diakses seolah-olah mereka adalah lokasi memori. Sebagai akibatnya , semua instruksi pada sebuah komputer dapat juga mereferensikan port I/O. Sebuah instruksi untuk mem-fetch atau menyimpan data pada alamat memori tertentu menjadi sebuah instruksi I/O jika alamatnya adalah sebuah port I/O. Operasi I/O terdiri atas tiga mode dasar yang dibedakan oleh derajat keterlibatan CPU pada eksekusinya. Mode-mode tersebut adalah seperti dibawah ini :

  • I/O Terprogram

Adalah sebuah metode dimana CPU mengendalikan transaksi I/O secara keseluruhan dengan menjalankan serangkaian instruksi I/O (sebuah program). Program tersebut memulai, mengarahkan dan memberhentikan operasi-operasi I/O. I/O terprogram merupakan metode yang paling transparan utnuk diterapkan dan hanya membutuhkan sejumlah perangkat keras khusus yang relatif sedikit.

 as1

Gambar. Flowchart I/O Terprogram

Komunikasi di antara CPU, memori dan piranti I/O dalam suatu I/O terprogram dilakukan menggunakan sebuah bus umum, dimana pengalamatan I/O bisa berupa memory-mapped atau I/O mapped. Karena instruksi I/O dibawah kendali langsung CPU, setipa operasi transfer data yang melibatkan piranti I/O memerlukan pelaksanaan beberapa instruksi oleh CPU.

  • I/O Interupsi

Berlawanan dengan I/O terprogram, I/O Interupsi adalah suatu teknik yang dikendalikan oleh permintaan (demand-driven). CPU hanya bereaksi ketika suatu piranti mengeluarkan permintaan untuk pelayanan. Perminataan ini disebut sebagai interupsi, mewakili sebuah permintaan (demand) yang terkadan diperoleh lebih dahulu. Kemampuan I/O interupsi ini membebaskan CPU dari keharusan untuk mengeluarkan banyak waktu untuk menguji status dari piranti untuk menentukan apakah mereka membutuhkan pelayanan. Ide utamanya adalah bahwa CPU ereaksi terhadap rangsangan yang dihasilkan piranti apapun yang memerlukan perhatianya, daripada CPU hanya berdiam diri berjaga-jaga untuk permintaan seperti itu.

 asa

Gambar. Flowchart I/O Interupsi

Interupsi dapat dihasilkan oleh alat selain piranti I/O. Interupsi perangkat lunak dihasilkan oleh CPU untuk menunjukkan terjadinnya overflow, opcode atau data yang illegal dan pembagian dengan nol. Interupsi juga mungkin terjadi jika sebuah program pemakai mencoba menjalankan instruksi tipe-sistem yang terlarang dalam mode pemakai (user).

  • Direct Memory Access (DMA)

Komunikasi antara CPU dan memori utama dan piranti eksternal pada I/O terprogram atau I/O insterupsi selalu terjadi dibawah pengawasan dan pengendalian CPU. Sebuah I/O interupsi benar-benar meningkatkan throughput komputer melebihi hasil yang dicapai oleh I/O terprogram. Namun kedua metode itu kadang dirasakan kurang jika ada piranti peripheral berkecepatan tinggi, karena pada proses semacam ini CPU dilewati begitu saja, skema pengaksesan I/O disebut sebagai Direct Memory Access (DMA). Metode DMA melibatkan sejenis pembagian waktu pada memori utama antara piranti I.O dan program yang berjalan pada CPU dan dapat diterapkan pada hamper semua komputer. Pengaksesan DMA dikendalikan oleh pengendali DMA (DMAC atau DMA Controller), yang dapat diserahkan pada piranti tunggal atau dibagi antara beberapa piranti I/O.

 asaa

Gambar. Direct Access Memory Controller

            Semua komputer menerapkan satu atau semua kombinasi dari tiga teknik pengaksesan diatas. Namun demikian, penerapan tertentu pada sebuah komputer mungkin bervariasi, bahkan terkadang kita tidak mampu memetakan penerapan tersebut secara tepat dalam salah satu skema di atas, sekarang mari kita perhatikan proses-proses yang terlibat pada masing-masing tiga skema tersebut dalam mempengaruhi proses transfer data.

Terdapat dua format pokok transfer data yakni transmisi data parallel dan transmisi data serial. Transfer data parallel merupakan format yang lebih sederhana di antara keduanya dan mencakup pengiriman data word dengan panjang tertentu atau biasa disebut dengan karakter, secara parelel melalui sejumlah baris (sambungan komunikasi). Dengan kata lain semua bit dikirim secara bersamaan dalam batas waktu transmisi yang diberikan. Pada transfer data serial terkesan lebih rumit dari pada transfer data parallel, disini data dikirim secara berurutan dalam suatu baris komunikasi tunggal. Untuk mengirimkan data secara serial, pengirim dan penerima harus membagi bartas waktu pengiriman karakter tersebut menjadi beberapa subinterval sehingga setiap bit akan dikirim dan diterima selama satu suntinterval tersebut.

I/O memiliki saluran dalam melakukan pengaksesannya. Saluran I/O adalah suatu pengendali yang lebih canggih daripada fasilitas DMA tetapi melakukan operasi I/O dalam mode DMA. Saluran I/O merupakan sebuah prosesor khusus dengan kemampuan terbatas yang disusun untuk interface beberapa piranti I/O ke memori.

Dengan menggunakan saluran I/O maka sistem I/O dapat diorganisasikan secara hierarkis. Setiap saluran merupakan sebuah komputer khusus yang mempunyai sebuah kumpulan instruksi yang terbatas pada operasi-operasi I/O dan beroperasi dalam basis cycle-stealing. Pengendalli akses memori mengkoordinasikan pengaksesan memori utama oleh CPU dan saluran I/O. Saluran I/O berkomunikasi dengan CPU sebagai suatu fasilitas DMA dan berkomunikasi dengan piiranti I/O seolah-olah sebuah CPU. Karena itu saluran harus melakukan tugas-tugas berukut ini :

  1. Pilih piranti tertentu untuk transfer I/O dan uji statusnnya.
  2. Berikan perintah untuk menerapkan operasi I/O.
  3. Tentukan tempat penyimpanan dalam memori utama ke tempat dimana transfer blok data akan terjadi.
  4. Sediakan fasilitas pemformatan data dan pemberian code.
  5. Kendalikan aktifitas akhir transfer (end-of-transfer).

DAFTAR REFERENSI

 [1] Soeparlan, S. (1995). Pengantar Organisasi Sistem Komputer. Jakarta: Gunadarma.

Kategori:Uncategorized
  1. Belum ada komentar.
  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: