ORGANISASI INPUT/OUTPUT
BAB3. Organisasi I/O
Tiga komponen penting dalam Sistem Komputer, yaitu:
¡ CPU
¡ Memori (primer dan sekunder), dan
¡ Peralatan masukan/keluaran (I/O devices) seperti
printer, monitor, keyboard, mouse, dan modem.
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.
Perangkat eksternal diklasifikasikan
menjadi 3 kategori:
• 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.
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:
- Kontrol dan pewaktuan.
- Komunikasi CPU.
- Komunikasi perangkat eksternal.
- Pem-buffer-an data.
- Deteksi kesalahan.
1. Kontrol dan pewaktuan:
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 control pemindahan data dari
peripheral ke CPU melalui sebuah modul I/O dapat meliputi langkah – langkah
berikut ini :
Permintaan dan pemeriksaan status perangkat dari CPU ke
modul I/O.
Modul I/O memberi jawaban atas permintaan CPU.
Apabila perangkat eksternal telah siap untuk transfer data,
maka CPU akan mengirimkan perintah ke modul I/O.
Modul I/O akan menerima paket data dengan panjang tertentu
dari peripheral.
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.
2. Komunikasi CPU
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 Busyatau 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.
3. Komunikasi Perangkat Peripheral
Proses transfer informasi antara CPU
dengan sebuah
peripheral :
- Memilih I/O dan mengujinya.
- Menginisialisasi transfer dan mengkoordinasikan pengaturan
waktu operasi I/O.
- Mentransfer informasi.
- Menghentikan proses transfer.
4. Buffering & Deteksi Kesalahan
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.
Struktur Modul I/O:
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.
2.
interrupt – driven I/O
Teknik interrupt – driven I/O
memungkinkan proses tidak membuang – buang waktu.
Prosesnya adalah CPU mengeluarkan
perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan modul I/O maka
CPU akan melakukan eksekusi perintah – perintah lainnya.
Apabila modul I/O telah selesai menjalankan
instruksi yang diberikan padanya akan melakukan interupsi pada CPU bahwa tugasnya telah selesai.
Dalam teknik ini kendali
perintah masih menjadi tanggung jawab CPU, baik pengambilan perintah dari
memori maupun pelaksanaan isi perintah tersebut.
Terdapat
selangkah kemajuan dari teknik sebelumnya, yaitu CPU
melakukan multitasking beberapa perintah sekaligus sehingga tidak ada
waktu tunggu bagi CPU.
Cara kerja teknik
interupsi di sisi modul I/O adalah modul I/O menerima perintah, misal read.
Kemudian modul I/O melaksanakan
perintah pembacaan dari peripheral dan meletakkan paket data ke register data modul I/O, selanjutnya modul
mengeluarkan sinyal interupsi ke CPU melalui saluran kontrol. Kemudian modul
menunggu datanya diminta CPU.Saat permintaan terjadi, modul meletakkan data
pada bus data dan modul siap menerima perintah selanjutnya.
Pengolahan interupsi saat perangkat
I/O telah menyelesaikan sebuah operasi I/O adalah sebagai berikut :
1. Perangkat
I/O akan mengirimkan sinyal interupsi ke CPU.
2. CPU
menyelesaikan operasi yang sedang dijalankannya kemudian merespon
interupsi.
3. CPU
memeriksa interupsi tersebut, kalau valid maka CPU akan mengirimkan sinyal
acknowledgment ke perangkat I/O untuk menghentikan interupsinya.
3.
DMA (Direct Memory Access).
Ketiganya memiliki keunggulan maupun
kelemahan, yang penggunaannya disesuaikan sesuai unjuk kerja masing – masing
teknik.
Operasi I/O
terbagi menjadi 3 metode :
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.
Karakteristik
I/O terprogram:
Program tersebut digunakan untuk
memulai,
mengarahkan dan menghentikan
operasi-operasi I/O.
Membutuhkan
sejumlah perangkat keras (register) yaitu:
• Register status, berisi status piranti I/O dan data yang akan dikirimkan.
• Register
buffer, menyimpan data sementara sampai CPU siap
menerimanya
• Pointer buffer, menunjuk ke lokasi memori di mana sebuah karakter harus ditulis atau dan mana karakter
tersebut harus dibaca.
• Counter data, tempat penyimpanan jumlah karakter dan akan berkurang
nilainya jika karakter ditransfer.
- Membutuhan waktu proses yang lama
dan tidak efesien dalarn pemanfaatan CPU.
I/O
interupsi
Metode di mana CPU akan bereaksi ketika suatu piranti
mengeluarkan permintaan untuk pelayanan.
Karakteristik
I/O Interupsi:
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.
Direct
Memory Access (DMA)
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.
Komentar
Posting Komentar