INPUT OUTPUT
PERANGKAT EKSTERNAL
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
Pembacaan di sisi Manusia (Human readable) : perangkat yang
berhubungan dengan manusia sebagai pengguna komputer. Screen, printer, keyboard mouse, printer, joystick, disk drive
Pembacaan disisi mesin (Machine readable) : perangkat yang berhubungan
dengan peralatan. Biasanya berupa modul sensor dan tranduser untuk monitoring
dan kontrol suatu peralatan atau
sistem.
Monitoring dan control
Komunikasi (memungkinkan komputer untuk saling bertukar data dengan
perangkat jarak jauh) Modem
Network Interface Card (NIC)
z 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.
MODUL I/O
z Merupakan Interface bagi CPU dan Memory atau Interface untuk 1/lebih perangkat peripheral
z modul I/O memiliki dua buah fungsi utama, yaitu :
1. Sebagai piranti antarmuka ke CPU dan memori melalui bus sistem. 2. Sebagai piranti antarmuka dengan peralatan peripheral lainnya dengan menggunakan link
data tertentu. FUNGSI MODUL I/O
Control & TimingFungsi 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 penanganan I/O sbb :
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.
Komunikasi CPUAdapun 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.
Komunikasi Perangkat (device communication) Meliputi perintah, informasi status dan data
Data BufferingTujuan 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.
Deteksi ErrorApabila 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.
Blok Diagram 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 – TEKNIK I/O (Metode Operasi Sistem I/O)
Terdapat tiga buah teknik dalam operasi I/O, yaitu: I/O terprogram, interrupt -driven I/O, dan DMA (Direct Memory Access).
1. I/O Terprogram
CPU langsung mengendalikan operasi I/O secara keseluruhan dengan
menjalankan serangkaian instruksi I/O dengan program tertentu
Karakteristik :
1. Terdapat program untuk memulai-mengarahkan- menghentikan operasi I/O 2. Membutuhkan perangkat keras register
Register status, register buffer register point buffer dan register counter data
3. perlu waktu proses yang menyita waktu pemanfaatan CPU PERINTAH-PERINTAH I/O
Untuk mengeksekusi instruksi yg berkaitan dengan I/O, CPU menerbitkan address
Identifikasi modul(& device if >1 per module)
Perintahnya
Control – untuk mengaktivasi peripheral dan membertitahu tugas yang harus
dilakukan
Menggulung ulang atau memajukan sebuah record (spin up disk)
Test – mengecek status
Aktif? , Error?
Read/Write
Modul akan menstanfer data lewat buffer dari/ke device METODE PENGAKSESAN SISTEM I/O
Memory mapped I/O
Terdapat ruang alamat tunggal untuk lokasi memori dan perangkat I/O
CPU memperlakukan regiter status dan register data modul I/O sebagai lokai
memori read/write
Tidak ada perintah khusus untuk I/O
Memory Isolated I/O
Terpisah ruang alamat
Port-port I/O hanya dapat diakses dengan perintah I/O khusus Perintah khusus untuk I/O
CPU akan bereaksi ketika suatu piranti mengeluarkan permintaan untuk pelayanan
Karakteristik :
1. Lebih efesian dalam pemanfaatan CPU 2. Menunggu interupsi dari piranti I/O
3. Ada 2 metode pemilihan prioritas layanan : polling dan vector interrupt
Operasi Dasar Interrupt Driven I/O
CPU mengeluarkan perintah read
Modul I/O mendapatkan data dari peripheral saat CPU mengerjakan perintah lain
Modul I/O akan menginterupsi CPU
CPU meminta data
Modul I/O akan mentransfer data Design Issues
How do you identify the module issuing the interrupt?
How do you deal with multiple interrupts? i.e. an interrupt handler being interrupted
IDENTIFIKASI MODUL INTERRUPT (dalam suatu perancangan)
Saluran Interrupt berjumlah banyak (Multiple Interrupt Lines) Masing-masing interrupt mempunyai prioritas
Prioritas tinggi dapat menginterupsi prioritas rendah
Software poll Pada saat CPU mengetahui adanya interupt maka CPU akan menuju ke
routine layanan interrupt yg tugasnya melakukan poll seluruh modul I/O
Poll berbentuk baris perintah yg terpisah Kerugian : lambat
Daisy Chain or Hardware poll
Saluran Interrupt Acknowledgeadalah daisy chain yg melalui modul-modul Module memberikan respon dengan maletakkan vektor (word) pada saluran
data
CPU menggunakan vektor untuk mengidentifikasikan routine layanan
Arbitrasi Bus
Memanfaatkan interrupt bervektor
Modul I/O harus memperoleh kontrol bus sebelum modul menggunakan
saluran permintaan interrupt PCI & SCSI
Example - PC Bus
8086 based systems use one 8259A interrupt controller
8259A has 8 interrupt lines Sequence of Events
8259A accepts interrupts
8259A determines priority
8259A signals 8086 (raises INTR line)
CPU Acknowledges
8259A puts correct vector on data bus
CPU processes interrupt PC Interrupt LayoutISA Bus Interrupt System
ISA bus chains two 8259As together
Link is via interrupt 2
Gives 15 lines 16 lines less one for link
IRQ 9 is used to re-route anything trying to use IRQ 2 Backwards compatibility
Incorporated in chip set ISA Interrupt Layout3. Direct Memory Access (DMA)
DMA meliputi modul2 tambahan pada sistem bus
Modul DMA mampu menirukan CPU dan mengambil alih kontrol sistem dari CPU
Metode transfer data secara langsung antara memori dan piranti dan pengendalian CPU
Hanya dapat dilakukan pada piranti I/O berkecepatan tinggi dan mampu mentransfer data besar dalam waktu singkat
OPERASI DMA
Pada saat CPU ingin membaca/tulis, CPU mengirimkan perintah ke modul
DMA yang berisi:
Read/Write yang diminta
Alamat perangkat I/O yang dilibatkan Lokasi awal blok memori data
Jumlah data yg akan ditransfer
CPU melanjutkan pekerjaan lainnya
DMA controller memindahkan seluruh data, word per word secara langsung
ke/dari memori anpa harus melalui CPU, setelah selesai
DMA controller mengirimkan signal interrupt ke CPU
DMA Transfer Cycle Stealing
DMA controller takes over bus for a cycle
Transfer of one word of data
Not an interrupt CPU does not switch context
CPU suspended just before it accesses bus i.e. before an operand or data fetch or a data write
Slows down CPU but not as much as CPU doing transfer Aside
What effect does caching memory have on DMA?
Hint: how much are the system buses available? DMA Configurations (1) Pada Bus tunggal, dimana semua modul menggunakan bersama bus sistem
yang sama
Fungsi modul DMA sebagai pengganti CPU
Menggunakan I/O terprogram untuk pertukaran data antara memori dengan
modul I/O melalui modul I/O
Harga cukup murah dan efisien
Setiap transfer sebuah word membutuhkan 2 siklus bus
DMA Configurations (2)
Single Bus, Diintegrasikan modul DMA dengan sebuah atau lebih modul I/O yg tidak melibatkan sistem bus
Modul DMA dapat mengontrol >1 device
Masing-masing transfer menggunakan bus sekali saja DMA to memory
DMA Configurations (3)
Menghubungkan modul-modul I/O ke modul DMA dengan menggunakan sebuah bus I/O
Dapat mengurangi jumlah interface I/O didalam modul DMA menjadi satu buahSALURAN I/O
LANGKAH – LANGKAH EVOLUSI FUNGSI I/O:
CPU mengontrol peripheral secara langsung
Ditambahkannya sebuah pengontrol/modul I/O. CPU menggunakan I/O terprogram tanpa interrupt
Interrupt digunakan sehingga CPU tidak memerlukan waktu untuk menunggu terbentuknya operasi I/O sehingga menjadi efisien
Modul I/O ditingkatkan kemampuannya menjadi sebuah prosesor yang mempunyai tugas tersendiri
Modul I/O mempunyai memori lokal sendiri dan merupakan komputer yang memiliki tugasnya sendiri
Terdapat 2 jenis saluran I/O yang umum dipakai: selector channel dan
multiplexor channel INTERFACING I/O
Suatu alat yang digunakan untuk menghubungkan suatu piranti dengan CPU
melalui BUS
Interface ke peripheral modul I/O harus disesuaikan dengan sifat dan operasi
peripheralnya.
Karakteristiknya : SERIAL atau PARALEL
PARALEL : terdapat sejumlah saluran yang terhubung ke modul I/O dan peripheral dan sejumlah bit dipindahkan secara simultan
• Digunakan untuk peripheral berkecepatan tinggi • Contoh Disk, Pita
SERIAL : Hanya terdapat saluran yang digunakan untuk mentrasmisikan data dan bit-bit ditransmisikan satu per satu
• Contoh Printer dan terminal Fungsi Umum:
Mensinkronkan data transfer antara CPU dan piranti I/O Small Computer Systems Interface (SCSI)
Mulanya dipopulerkan oleh Macintosh pada 1984 Parallel interface
Merupakan interface standar untuk drive CD-ROM, peralatan audio dan
perangkat penyimpan eksternal berukuran besar
Parallel interface dengan 8, 16, 32 bit saluran data
Merupakan Daisy chained yang mempunyai 2 konektor untuk input dan
output dan salah satu ujungnya dihubungkan dengan komputer host
Seluruh perangkat independen dapat bertukar data satu sama lain dengan
sistem host
Data dapat dipindahkan dalam bentuk paket-paket pesan
VERSI-VERSI SCSI
SCSI 1 ORISINAL dibuat awal 1980-an,memiliki 8 saluran data dan berkecepatan 5
MHz, kelajuan data 5 Mbyte/detik
Sampai sejarang memungkinkan 7 perangkat untuk dihubungkan secara daisy
chain
SCSI 2 Tahun 1992 memiliki 16 and 32 bit, kecepatan 10 MHz, kelajuan data
Between initiator and target Usually host & device
Bus free? (c.f. Ethernet)
Arbitration - take control of bus (c.f. PCI)
Select target
Reselection Allows reconnection after suspension
e.g. if request takes time to execute, bus can be released
SCSI Signaling (2)
Command - target requesting from initiator
Data request
Status request
Message request (both ways) SCSI Bus PhasesSCSI Timing Diagram
Configuring SCSI
Bus must be terminated at each end Usually one end is host adapter Plug in terminator or switch(es)
SCSI Id must be set Jumpers or switches Unique on chain
0 (zero) for boot device
Higher number is higher priority in arbitration
IEEE 1394 FireWire
High performance serial bus
Fast
Low cost
Easy to implement
Also being used in digital cameras, VCRs and TV FireWire Configuration
Daisy chain
Up to 63 devices on single port Really 64 of which one is the interface itself
Up to 1022 buses can be connected with bridges
Automatic configuration
No bus terminatorsFireWire 3 Layer Stack
Physical Transmission medium, electrical and signaling characteristics
Link Transmission of data in packets
Transaction Request-response protocol
FireWire - Physical Layer
Data rates from 25 to 400Mbps
Two forms of arbitration Based on tree structure Root acts as arbiter First come first served
Natural priority controls simultaneous requests
i.e. who is nearest to root
Fair arbitration Urgent arbitration
FireWire - Link Layer
Two transmission types Asynchronous
Variable amount of data and several bytes of transaction data transferred as a
packet
To explicit address
Acknowledgement returned
Isochronous
Variable amount of data in sequence of fixed size packets at regular intervals Simplified addressing