Sistem
Input/Output (I/O)
I/O adalah suatu
mekanisme pengiriman data secara bertahap dan terus menerus melalui suatu
aliran data dari proses ke peranti (begitu pula sebaliknya). Fungsi :Fungsi i/o
Pada dasarnya adalah mengimplementasikan algoritma I/O pada level aplikasi. Hal
ini dikarenakan kode aplikasi sangat fleksible, dan bugs aplikasi tidak mudah
menyebabkan sebuah sistem crash. Pada dasarnya, tugas utama komputer
adalah processing dan I/O (Input danOutput). Bahkan, sebagian besar waktunya
digunakan untuk mengolah I/O sedangkan processing hanya bersifat
insidental. Jadi, pada konteks I/O, peranan sistem operasiadalah mengatur dan
mengontrol perangkat I/O dan operasi I/O.Perangkat I/O sangat bervariasi. Oleh
karena itu, bagaimana cara mengontrol perangkat-perangkat tersebut
mendapat perhatian besar dalam organisasi komputer.Bayangkan, perangkat I/O
yang sangat banyak jumlahnya dan setiap perangkat memilikifungsi dan kecepatan
sendiri-sendiri, tentunya memerlukan metode yang berbeda pula.Oleh karena
itu, dikenal klasifikasi perangkat I/O menjadi perangkat blok dan
perangkatkarakter, walaupun ada perangkat yang tidak termasuk ke dalam satupun
dari keduagolongan ini.Perangkat terhubung ke komputer melalui port, diatur
oleh device controller dan berkomunikasi dengan prosesor dan perangkat
lain melalui bus. Perangkat berkomunikasi dengan prosesor melalui dua
pendekatan yaitu memory mapped daninstruksi I/O langsung.
I/O
system terdiri dari beberapa again penting yaitu:
a.
I/O Hardware
b.
Application I/O Interface
c.
Kernel I/O Subsystem
d.
I/O Requests to Hardware Operations
e.
Streams
f.
Performance
A. I/O
Hardware
Secara umum, I/O
Hardware terdapat beberapa jenis seperti device penyimpanan
(disk,tape),transmission device (network card, modem), dan human-interface
device (screen, keyboard, mouse). Device tersebut dikendalikan oleh instruksi
I/O. Alamat-alamat yang dimiliki
oleh device akan digunakan oleh direct I/O instruction dan memory-mapped I/O.
Beberapa konsep yang umum digunakan ialah port, bus (daisy chain/ shared direct
access), dan controller (host adapter).
-
Port adalah koneksi yang digunakan oleh
device untuk berkomunikasi
dengan mesin.
-
Bus adalah koneksi yang menghubungkan
beberapa device menggunakan
kabel-kabel.
-
Controller adalah alat-alat elektronik
yang berfungsi untuk mengoperasikan
port, bus, dan device.
B. Application
I/O Interface
Merupakan suatu
mekanisme untuk mempermudah pengaksesan, sehingga sistem operasi melakukan
standarisasi cara pengaksesan peralatan I/O. Contoh : suatu aplikasi
ingin membuk data yang ada dalam suatu disk, aplikasi tersebut harus dapat
membedakan jenis disk apa yang akan diaksesnya. Interface aplikasi I/O
melibatkan abstraksi, enkapsulasi, dan software layering. Device driver
mengenkapsulasi tiap-tiap peralatan I/O ke dalam masing-masing 1 kelas yang
umum (interface standar). Tujuan dari adanya lapisan device driver ini adalah
untuk menyembunyikan perbedaan-perbedaan yang ada pada device controller
dari subsistem I/O pada kernel. Karena hal ini, subsistem I/O dapat
bersifat independen dari hardware.
Komponen
Input/Output
Komponen input/ouput
merupakan suatu rangkaian masukan atau keluaran dengan berbagai macam bentuk
dan karakter yang berbeda-beda serta bekerja dengan level tegangan yang
bervariasi. Komponen input/ouput agar dapat bekerja dan berhubungan dengan
mikroprosesor dilengkapi dengan rangkaian antar muka (interface).Rangkaian
interface dapat diartikan sebagai rangkaian penghubung yang menghubungkan
antara komponen yang satu dengan komponen yang lainnya, sehingga dapat
dilakukan transfer data antara komponen-komponen tersebut. Ini dapat dibangun
atau dirancang dengan rangkaian perangkat keras dan perangkat lunak
(program).
Dalam proses
interfacing antara sistem mikroprosesor dengan piranti luar dibutuhkan beberapa
fungsi seperti, data buffering, address decoding, command
decoding, status decoding, dan sistemcontrol dan timing. Semua ini
dibutuhkan untuk mensinkronikasikan kerja sistem supaya sinergi. Karena tanpa
pengendali dan sinkronisasi menyebabkan berbagai masalah akan timbul dalam
proses input/output. Masalah-masalah ini disebabkan oleh perbedaan
kecepatan operasi, perbedaan level sinyal atau tegangan yang dibutuhkan,
keanekaragaman peripheral dan berbagai karakternya, dan stuktur sinyal yang
kompleks. Oleh karena itu dibutuhkan suatu bagian input/output yang sesuai.
Komunikasi antara komponen I/O dengan mikroprtosesor tidak jauh berbeda antara
komunikasi memori dengan mikroprosesor, hanya pada I/O prosesnya lebih kompleks
dari pada memori. Dibawah ini digambarkan hubungan antara mikroprosesor dengan
komponen input/output dan peripheral.
Hardware
terdiri dari :
-
Input Device
-
Process Device
-
Output Device
Macam-macam
I/O:
1.Konektor
RJ 45
Digunakan untuk koneksi Ethernet pada komputer dan perangkat jaringan Ethernet
lainnya seperti router dan aktif dan juga modem dan juga perangakat lain yang
mendukung interface Ethernet RJ45.Fungsi :Menyambungkan network antara komputer
dengan komputer.
2.
USB ( Universal Serial Bus )
Port standard yang ada
di komputer saat ini.Konektor-konektor USB tersebut dapat ditancapi berbagai
perangkat mulai dari mouse sampai printer secara mudah dan cepat. Fungsi
:perangkat baru yang belum pernah terinstal di komputer anda sebelumnya, sistem
operasi komputer anda secara otomatis akan mencoba mengenalinya dengan auto
detect.
Struktur
I/O
Bagian ini akan
membahas struktur I/O, interupsi I/O, dan DMA, serta perbedaan dalam penanganan
interupsi.
Interupsi I/O
Untuk memulai operasi
I/O, CPU me-load register yang bersesuaian ke device controller. Sebaliknya
device controller memeriksa isi register untuk kemudian menentukan operasi apa
yang harus dilakukan. Pada saat operasi I/O dijalankan ada dua kemungkinan,
yaitu synchronous I/O dan asynchronous I/O. Pada synchronous I/O, kendali
dikembalikan ke proses pengguna setelah proses I/O selesai dikerjakan.
Sedangkan pada asynchronous I/O, kendali dikembalikan ke proses pengguna tanpa
menunggu proses I/O selesai. Sehingga proses I/O dan proses pengguna dapat
dijalankan secara bersamaan.
Proteksi I/O
Pengguna bisa
mengacaukan sistem operasi dengan melakukan instruksi I/O ilegal dengan
mengakses lokasi memori untuk sistem operasi atau dengan cara hendak melepaskan
diri dari prosesor. Untuk mencegahnya kita menganggap semua instruksi I/O
sebagai privilidge instruction sehingga mereka tidak bisa mengerjakan instruksi
I/O secara langsung ke memori tapi harus lewat sistem operasi terlebih dahulu.
Proteksi I/O dikatakan selesai jika pengguna dapat dipastikan tidak akan
menyentuh mode monitor. Jika hal ini terjadi proteksi I/O dapat dikompromikan.
Managemen
Sistem I/O
Sering disebut device
manager. Menyediakan “device driver” yang umum sehingga operasi I/O dapat
seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan
operasi yang sama untuk membaca berkas pada hard-disk, CD-ROM dan floppy disk.
Komponen
Sistem Operasi untuk sistem I/O:
· Buffer: menampung
sementara data dari/ ke perangkat I/O.
· Spooling: melakukan
penjadualan pemakaian I/O sistem supaya lebih efisien (antrian dsb.).
· Menyediakan driver untuk dapat melakukan operasi “rinci” untuk perangkat
keras I/O tertentu.
CU
(Control Unit)
Digunakan untuk
mengatur dan menjalankani instruksi dalam urutan yang telah ditetapkan.
ALU(Arithmatic
and Logic Unit)
Bagian perangkat keras
yang berhubungan langsung dengan perhitungan arithmatic.
RAM
(Random Access Memory)
Memori yang membaca dan
menulis.
ROM (Read Only Memory)
Memori yang dapat
membaca saja.
Peralatan Input
a. Keyboard
b. Mouse
c. Joystick
d. Scanner
e. Lightpen
f. Trackball
g. Touch Sreen
h. Magnetic Ink
Character Reader (MICR)
i. Optical Character
Reader (OCR)
j. Optical Mark
Recognition (OMR) Reader
k. dll
Perangkat
Output
a. Monitor
b. Printer dan Plotter
c. Proyektor
d. Microform
Peralatan
Input / Output
a. Disk Drive
b. Tape Drive
c. Modem (Modulator
Demudolator)
d. Ethernet
e. PCMCIA
f. Hub
g. Switch
h. Print Server
i. Input / Output Card
(I / O Card)
j. SCII Card
k. Terminal
l. CD – Room (Compac
Disk-Read Only memory)
m. CD-Read and writer
n. DVD-Room
o. DVD-Read and Writer
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 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.
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.
Direct Memory Acces (DMA)
Direct memory access
(DMA) adalah suatu alat pengendali khusus disediakan untuk memungkinkan
transfes blok data langsung antar perangkat eksternal dan memori utama, tanpa
intervensi terus menerus dari prosesor (CPU).Sistem DMA Hubungan pada system
DMA dilakukan oleh sirkuit kontrol yang merupakan bagian dari antar muka
perangkat I/O dengan modus transfer. Istilah ini yang sering banyak kita
ketahui adalah sebagai kontroler DMA. Kontroler DMA melakukan fungsi yang
biasanya dilakukan oleh prosesor pada saat mengakses memori utama (yang sering
disebut :RAM). Untuk setiap word yang ditransfer, kontroler ini menyediakan
alamat memori dan semua sinyal bus yang mengontrol transfer data. Karena harus
mentransfer sejumlah blok data, maka kontroler DMA harus menaikkan alamat
memori untuk word yang berurutan dan mencatat jumlah transfer.
Untuk memulai sebuah
transfer DMA, host akan menuliskan sebuah DMA command block yang berisi pointer
yang menunjuk ke sumber transfer, pointer yang menunjuk ke tujuan transfer, dan
jumlah byte yang ditransfer, ke memori. CPU kemudian menuliskan alamat command
block ini ke pengendali DMA, sehingga pengendali DMA dapat kemudian
mengoperasikan bus memori secara langsung dengan menempatkan alamat- alamat
pada bus tersebut untuk melakukan transfer tanpa bantuan CPU.Sekalipun kontroler DMA
dapat mentransfer data tanpa intervensi dari prosesor, operasinya tetap berada
dibawah kontrol program yang dieksekusi oleh prosesor. Untuk menginisiasi
transfer suatu blok word, prosesor mengirim alamat awal, jumlah word dalam
blok, dan arah transfer. Pada saat seluruh blok telah ditransfer, kontroler
tersebut memberitahu prosesor dengan memunculkan sinyal interupt. Pada saat
transfer DMA terjadi, program yang meminta transfer tersebut berhenti bekerja
dan prosesor dapat digunakan untuk mengeksekusi program lain. Setelah transfer
DMA selesai, prosesor dapat kembali ke program yang meminta transfer tersebut.
Tiga
langkah dalam transfer DMA:
1. Prosesor menyiapkan
DMA transfer dengan menyedia kan data-data dari perangkat, operasi yang akan
ditampilkan, alamat memori yang menjadi sumbe dan tujuan data, dan banyaknya
byte yang ditransfer.
2. Pengendali DMA
memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data),
sampai seluruh blok sudah di transfer.
3. Pengendali DMA
meng-interupsi prosesor, dimana selanjutnya akan ditentukan tindakan
berikutnya.
Pada dasarnya, DMA
mempunyai dua metode yang berbeda dalam mentransfer data. Metode yang pertama
adalah metode yang sangat baku dan sederhana disebut HALT, atau Burst Mode DMA,
karena pengendali DMA memegang kontrol dari sistem bus dan mentransfer semua
blok data ke atau dari memori pada single burst. Selagi transfer masih dalam
prosres, sistem mikroprosessor di-set idle, tidak melakukan instruksi operasi
untuk menjaga internal register. Tipe operasi DMA seperti ini ada pada kebanyakan
komputer. Metode yang kedua, mengikut-sertakan pengendali DMA untuk memegang
kontrol dari sistem bus untuk jangka waktu yang lebih pendek pada periode
dimana mikroprosessor sibuk dengan operasi internal dan tidak membutuhkan akses
ke sistem bus. Metode DMA ini disebut cycle stealing mode. Cycle stealing DMA
lebih kompleks untuk diimplementasikan dibandingkan HALT DMA, karena pengendali
DMA harus mempunyai kepintaran untuk merasakan waktu pada saat sistem bus
terbuka.
Handshaking
Proses handshaking
antara pengendali DMA dan pengendali perangkat dilakukan melalui sepasang kabel
yang disebut DMA-request dan DMA-acknowledge. Pengendali perangkat mengirimkan
sinyal melalui DMA-request ketika akan mentransfer data sebanyak satu word. Hal
ini kemudian akan mengakibatkan pengendali DMA memasukkan alamat yang dinginkan
ke kabel alamat memori, dan mengirimkan sinyal melalui kabel DMA-acknowledge.
Setelah sinyal melalui kabel DMA-acknowledge diterima, pengendali perangkat
mengirimkan data yang dimaksud dan mematikan sinyal pada DMA-request. Hal ini
berlangsung berulang-ulang sehingga disebut handshaking. Pada saat pengendali
DMA mengambil alih memori, CPU sementara tidak dapat mengakses memori
(dihalangi), walau pun masih dapat mengaksees data pada cache primer dan sekunder.
Hal ini disebut cycle stealing, yang walau pun memperlambat komputasi CPU,
tidak menurunkan kinerja karena memindahkan pekerjaan data transfer ke
pengendali DMA meningkatkan performa sistem secara keseluruhan.
Implementasi DMA
Dalam pelaksanaannya, beberapa
komputer menggunakan memori fisik untuk proses DMA , sedangkan jenis komputer
lain menggunakan alamat virtual dengan melalui tahap “penerjemahan” dari alamat
memori virtual menjadi alamat memori fisik, hal ini disebut Direct
Virtual-Memory Address atau DVMA. Keuntungan dari DVMA adalah dapat mendukung
transfer antara dua memori mapped device tanpa intervensi CPU.
Prinsip kerja DMA
• 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
• CPU dapat menjalankan
proses lainnya tanpa banyak terganggu dengan interupsi
• Melaksanakan transfer
data secara mandiri :
1. DMA memerlukan
pengambilalihan kontrol bus dari CPU
2. DMA akan menggunakan
bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan
sementara penggunaan bus
3. Teknik
cyclestealing, modul DMA mengambil alih siklus bus
Saluran I/O dan Processor
Evolusi Fungsi I/O
CPU mengontrol
peripheral secara langsung. Ditambahkannya sebuah pengontrol atau modul I/O CPU
menggunakan I/O terprogram tanpa menggunakan interrupt.CPU menggunakan
interrupt Menggunakan DMA
Modul I/O ditingkatkan
kemampuannya menjadi sebuah prosessor yang memiliki tugasnya sendiri, yang
menggunakan instruksi tertentu untuk I/O tertentu.
Modul I/O memiliki
memori lokalnya sendiri dan merupakan sebuah computer yang memiliki tugasnya
sendiri.
Saluran I/O
Pada kebanyakan sistem
komputer, CPU tidak dibebani menangani tugas yang berhubungan dengan I/O.
Tetapi tanggung jawab untuk kontrol peralatan diserahkan pada prosesor I/O,
yang dikenal sebagai saluran I/O (I/O channel).Saluran I/O itu sendiri
merupakan prosesor yang sudah diprogram. Program-program yang di-execute ini
disebut channel program. Channel program ini menentukan operasi, yang
diperlukan untuk akses peralatan dan mengontrol jalur data (data pathway).
Macam-Macam Saluran
1. Selector Channel :
Dapat mengatur aliran
data antara memori utama dengan sebuah peralatan pada saat tersebut. Karena
saluran merupakan processor-processor yang cepat maka saluran selektor biasanya
hanya menggunakan peralatan I/O dengan kecepatan tinggi, seperti disk.
Penggunaan peralatan dengan kecepatan rendah, misal card reader.
2. Multiplexor Channel :
Dapat mengatur aliran
data antara memori utama dengan beberapa peralatan. Saluran Multiplexor lebih
efektif bila menggunakan peralatan dengan kecepatan rendah, dibandingkan dengan
selector channel. Dengan saluran multiplexor, beberapa peralatan dapat
diaktifkan secara serentak, tetapi saluran harus melengkapi saluran program
untuk satu peralatan sebelum memulai dengan saluran program lain.
3.
Block Multiplexor Channel :
Mengatur aliran data ke
berbagai peralatan. Block Multiplexor Channel dapat mengeksekusi satu instruksi
dari saluran program untuk satu peralatan, kemudian dapat mengalihkan
instruksi-instruksi dari saluran program itu ke peralatan yang lain.
Macam-macam Device
1. Dedicated Device :
Digunakan untuk
pengaksesan oleh satu orang pada setiap saat.Contoh : Terminal.
2. Shared Device :
Digunakan untuk
pengaksesan oleh banyak pemakai secara bersamaan.Contoh : Disk.
Aktifitas I/O untuk
shared device adalah sangat kompleks dibanding aktifitas I/O pada dedicated
device. Dua fungsi yang sangat penting dari shared device adalah alokasi tempat
dan pemberian akses yang tepat.
Aktifitas Saluran
Tujuan dari saluran I/O
adalah sebagai perantara antara CPU-main memory dengan unit pengontrol
penyimpan. CPU berkomunikasi dengan saluran melalui beberapa perintah yang sederhana.
Beberapa saluran akan
memberi perintah :
- Test I/O, untuk menentukan apakah jalur
(pathway) yang menuju peralatan sedang sibuk.
- Start I/O, pada peralatan tertentu.
- Halt I/O, pada
peralatan tertentu.
Saluran biasanya
berkomunikasi dengan CPU melalui cara interupsi. Interupsi akan terjadi, jika
keadaan error terdeteksi, misalnya instruksi CPU yang salah atau jika aktifitas
I/O telah diakhiri.
Jika interupsi terjadi,
kontrol akan bercabang melalui rutin pengendali interupsi (interrupt-handler
routine), dimana kontrol akan menentukan penyebab dari interupsi, melakukan
kegiatan yang tepat, kemudian mengembalikan kontrol pada pemanggil (caller).
Analisis
:
Modul I/O merupakan
peralatan antarmuka (interface) bagi sistem bus atau switch sentral dan
mengontrol satu atau lebih perangkat
peripheral.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.Direct Memory
Access(DMA) dapat mengurangi beban CPU karena terjadinya transfer data antara
perangkat dan memori tanpa melalui CPU.
Referensi
:
Nama : Muhammad David
Siregar
NPM : 15113862
Kelas : 2KA04