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)
MODUL I/O
Merupakan Interface bagi CPU dan Memory atau Interface untuk 1/lebih perangkat peripheral
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 & Timing
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 kontrol pemindahan data dari peripheral ke CPU melalui sebuah modul I/O dapat meliputi langkah-langkah penanganan I/O sbb :
1 Permintaan dan pemeriksaan status perangkat dari CPU ke modul I/O.
2 Modul I/O memberi jawaban atas permintaan CPU.
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 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.
- Komunikasi Perangkat (device communication)
- Meliputi perintah, informasi status dan data
- Data Buffering
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.
- Deteksi Error
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.
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 :
- Terdapat program untuk memulai-mengarahkan- menghentikan operasi I/O
- Membutuhkan perangkat keras register
Register status, register buffer register point
buffer dan register counter data - 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
2. I/O Interupsi (Interrupt Driven I/O)
- CPU akan bereaksi ketika suatu piranti mengeluarkan permintaan untuk pelayanan
- Karakteristik :
- Lebih efesian dalam pemanfaatan CPU
- Menunggu interupsi dari piranti I/O
- 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
- 80x86 has one interrupt line
- 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 Layout
ISA 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 Layout
3. 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
- CPU hanya dilibatkaan pada AWAL dan AKHIR pemindahan saja.
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
- 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
- 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 buah
SALURAN 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 diberi akses langsung ke memori melalui DMA tanpa melibatkan CPU
- 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
1. 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
- Tahun 1992 memiliki 16 and 32 bit, kecepatan 10 MHz, kelajuan data maksimum20 or 40 Mbyte/detik
SCSI Signaling (1)
- 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 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 terminators
- May be tree structure
FireWire 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
- 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
- No acknowledgement
No comments:
Post a Comment