Fungsi : Memindahkan informasi antara CPU atau memori utama dengan dunia luar
I/O terdiri :
- Piranti I/O (peripheral)
- Pengendali I/O (device controller)
- Perangkat lunak
Perangkat Eksternal
Salah satu fitur dasar komputer adalah kemampuannya untuk mempertukarkan data dengan
perangkat lain. Kemampuan komunikasi ini memungkinkan operator manusia, misalnya,
untuk menggunakan keyboard dan layer display untuk mengolah teks dan grafik.
Mesin komputer akan memiliki nilai apabila bisa berinteraksi dengan dunia luar. Lebih dari
itu, komputer tidak akan berfungsi apabila tidak dapat berinteraksi dengan dunia luar.
Ambil contoh saja, bagaimana kita bisa menginstruksikan CPU untuk melakukan suatu
operasi apabila tidak ada keyboard.
Bagaimana kita melihat hasil kerja sistem komputer bila tidak ada monitor. Keyboard dan
monitor tergolong dalam perangkat eksternal komputer. Perangkat eksternal atau lebih umum
disebut peripheral tersambung dalam sistem CPU melalui perangat pengendalinya, yaitu
modul I/O.
Modul I/O merupakan peralatan antarmuka (interface) bagi sistem bus atau switch
sentral dan mengontrol satu atau lebih perangkat peripheral.
Modul I/O tidak hanya sekedar modul penghubung, tetapi sebuah piranti yang berisi
logika dalam melakukan fungsi komunikasi antara peripheral dan bus komputer.
Sistem Masukan & Keluaran Komputer
Bagaimana modul I/O dapat menjalankan tugasnya, yaitu menjembatani CPU dan
memori dengan dunia luar merupakan hal yang terpenting untuk kita ketahui.
Inti mempelajari sistem I/O suatu komputer adalah mengetahui fungsi dan struktur 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 antar muka 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:
Antarmuka modul I/O ke CPU melalui bus sistem komputer terdapat tiga saluran, yaitu :
• saluran data,
• saluran alamat dan saluran kontrol.
• Bagian terpenting adalah blok logika I/O yang berhubungan dengan semua peralatan
antarmuka peripheral, terdapat fungsi pengaturan dan switching pada blok ini.
Teknik Masukan/Keluaran:
Terdapat tiga buah teknik dalam operasi I/O, yaitu: 1. 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.
Perintah ini digunkan untuk mengaktivasi perangkat peripheral dan memberitahukan tugas
yang
diperintahkan padanya.
2. Perintah test.
Perintah ini 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.
I/O terprogram
I/O interupsi
Direct Memory Access (DMA)
I/O terprogram
Metode di mana CPU mengendalikan operasi I/O secara keseluruhan dengan menjalankan
serangkaian instruksi I/O dengan sebuah program.
I/O interupsi
Metode di mana CPU akan bereaksi ketika suatu piranti mengeluarkan permintaan untuk
pelayanan.
Lebih efisien dalam pemanfaatan CPU, karena tidak harus menguji status dari piranti.
Interupsi dapat berasal dari piranti I/O, interupsi perangkat keras misalnya : timer, memori,
power supply, dan Interupsi perangkat lunak misalnya : overflow, opcode/data yang ilegal,
pembagian dengan nol.
Metode transfer data secara langsung antara memori dengan piranti tanpa pengawasan dan
pengendalian CPU.
• Skema transfer blok DMA dual port
CPU dan DMA controller mengakses memori utama
melalui MAR dan MBR dengan menggunakan
sebuah memori utama dual port (2 port).
Port I ----> melayani CPU
Port II ----> melayani DMA controller
• Skema transfer blok DMA cycle stealing (pencurian siklus)
Hanya memerlukan sebuah memori port tunggal di mana CPU dan piranti I/O beradu cepat
pada basis asinkron, prioritas utama akan diberikan pada piranti I/O.
Interfacing
Adalah peralatan yang digunakan untuk menghubungkan suatu piranti dengan CPU melalui
bus
Mengakses Perangkat I/O
Pengaturan sederhana untuk menghubungkan perangkat I/O ke suatu komputer adalah dengan
menggunakan pengaturan bus tunggal, sebagaimana yang ditampilkan pada gambar 12.1. Bus
tersebut mengenable semua perangkat yang dihubungkan padanya untuk mempertukarkan
informasi. Biasanya, pengaturan tersebut terdiri dari tiga set jalur yang digunakan untuk
membawa alamat, data, dan sinyal kontrol.
Tiap perangkat I/O ditetapkan dengan suatu set alamat yang unik.
Pada saat prosessor meletakkan suatu alamat pada jalur alamat, perangkat yang mengenali
alamat ini merespon perintah yang dinyatakan pada jalur kendali. Prosessor meminta operasi
baca atau tulis, dan data yang direquest ditransfer melalui jalur data. Pada saat perangkat I/O
dan memori berbagi ruang alamat yang sama, pengaturan tersebut disebut memory mapped
I/O.
Dengan memory mapped I/O, tiap instruksi mesin yang dapat mengakses memori dapat
digunakan untuk mentransfer data ke atau dari perangkat I/O.
Misalnya, jika DATAIN adalah alamat input buffer yang terhubung dengan keyboard, maka
Instruksi
Move DATAIN, R0
Membaca data dari DATAIN dan menyimpannya dalam register prosessor R0.
Serupa dengan instruksi
Move R0, DATAOUT
Mengirim isi register R0 ke lokasi DATAOUT, yang mungkin berupa buffer
data output dari unit display atau printer.
Sinyal khusus pada bus tersebut mengindikasikan bahwa transfer baca atau tulis yang diminta
adalah operasi I/O. Pada saat sinyal ini dinyatakan, unit memori mengabaikan transfer yang
Direquest. Perangkat I/O menganalisa bit loworder bus alamat untuk menentukan apakah
sebaiknya memberi respon.