Anda di halaman 1dari 49

Organisasi Sistem

Komputer

Materi VIII (Input Output)


Input/Output Problems
 Berbagai macam periferal
 Menyampaikan jumlah data yang berbeda
 Pada kecepatan yang berbeda
 Dalam format yang berbeda
 Semua lebih lambat dari CPU dan RAM
 Perlu modul I/O
Input/Output Module
 Antarmuka ke CPU dan Memori
 Interface to one or more peripherals
 Antarmuka ke satu atau lebih periferal
External Devices
 Dapat dibaca manusia
 Screen, printer, keyboard
 Dapat dibaca mesin
 Monitoring and control
 Komunikasi
 Modem
 Network Interface Card (NIC)
I/O Module Function
 Control & Timing
 CPU Communication
 Device Communication
 Data Buffering
 Error Detection
I/O Steps
 CPU memeriksa status perangkat modul I/O
 Modul I/O mengembalikan status
 Jika siap, CPU meminta transfer data data
 Modul I/O mendapatkan data dari perangkat
 Modul I/O mentransfer data ke CPU
 Variasi untuk output, DMA, dll.
I/O Module Diagram
Systems Bus Interface External Device Interface
External Data
Data Data Register Device
Lines Status
Interface
Status/Control Register Control
Logic

Address
Lines Input External Data
Output Device
Data Logic Status
Interface
Lines
Logic Control
I/O Module Decisions
 Hide or reveal device properties to CPU
 Mendukung beberapa atau satu perangkat
 Kontrol fungsi perangkat atau tinggalkan
CPU
 Juga keputusan O/S
 misalnya Unix memperlakukan semuanya
sebagai file
Input Output Techniques
 Programmed
 Interrupt driven
 Direct Memory Access (DMA)
Programmed I/O
 CPU memiliki kontrol langsung atas I/O
 Sensing status
 Baca/tulis perintah
 Mentransfer data
 CPU menunggu modul I/O untuk
menyelesaikan operasi
 Membuang waktu CPU
Programmed I/O - detail
 CPU meminta operasi I/O
 Modul I/O melakukan operasi
 Modul I/O mengatur bit status
 CPU memeriksa bit status secara berkala
 Modul I/O tidak menginformasikan CPU secara
langsung
 Modul I/O tidak mengganggu CPU
 CPU mungkin menunggu atau kembali lagi nanti
I/O Commands
 Alamat masalah CPU
 Mengidentifikasi modul (& perangkat jika >1 per modul)
 CPU mengeluarkan perintah
 Kontrol - memberi tahu modul apa yang harus dilakukan
 misalnya memutar disk

 Tes - periksa status



misalnya kekuasaan? Kesalahan?
 Baca tulis
 Modul mentransfer data melalui buffer dari/ke perangkat
Addressing I/O Devices

 Di bawah transfer data I/O terprogram sangat mirip dengan


akses memori (sudut pandang CPU)
 Setiap perangkat diberi pengenal unik unique
 Perintah CPU berisi pengenal (alamat)
I/O Mapping
 Memory mapped I/O
 Perangkat dan memori berbagi ruang alamat
 I/O terlihat seperti memori baca/tulis
 Tidak ada perintah khusus untuk I/O
 Banyak pilihan perintah akses memori yang tersedia
 Isolated I/O
 Pisahkan ruang alamat
 Perlu I/O atau jalur pilih memori
 Perintah khusus untuk I/O
Interrupt Driven I/O
 Mengatasi CPU menunggu
 Tidak ada pemeriksaan CPU berulang pada
perangkat
 Modul I/O menyela saat siap
Interrupt Driven I/O
Basic Operation
 Masalah CPU membaca perintah
 Modul I/O mendapatkan data dari periferal
sementara CPU melakukan pekerjaan lain
 Modul I/O menginterupsi CPU
 CPU meminta data
CPU Viewpoint
 Keluarkan perintah baca
 Kerjakan pekerjaan lain
 Periksa interupsi di akhir setiap siklus instruksi
 Jika terganggu:-
 Simpan konteks (register)
 Proses interupsi
 Ambil data & simpan

 Lihat catatan Sistem Operasi


Design Issues
 Bagaimana Anda mengidentifikasi modul
yang mengeluarkan interupsi?
 Bagaimana Anda menangani banyak
interupsi?
 yaitu penangan interupsi sedang diinterupsi
Identifying Interrupting Module (1)
 Garis berbeda untuk setiap modul
 PC
 Batasi jumlah perangkat
 Software poll
 CPU meminta setiap modul secara bergantian
 Slow
Identifying Interrupting Module (2)
 Jajak pendapat Rantai Daisy atau Perangkat Keras
 Interrupt Akui mengirim rantai
 Modul bertanggung jawab menempatkan vektor di
bus
 CPU uses vector to identify handler routine
 Bus Master
 Modul harus mengklaim bus sebelum dapat
meningkatkan interupsi
 e.g. PCI & SCSI
Multiple Interrupts

Setiap jalur interupsi memiliki prioritas
 Jalur prioritas yang lebih tinggi dapat
mengganggu jalur prioritas yang lebih rendah
 Jika master bus hanya master saat ini yang
dapat menginterupsi
Example - PC Bus
 80x86 memiliki satu jalur interupsi
 8086 sistem berbasis menggunakan satu
pengontrol interupsi 8259A
 8259A memiliki 8 jalur interupsi
Sequence of Events
 8259A menerima interupsi
 8259A menentukan prioritas
 8259A sinyal 8086 (menaikkan garis INTR)
 CPU Acknowledges
 8259A menempatkan vektor yang benar
pada bus data
 Proses CPU interupsi
PC Interrupt Layout
8259A 8086
IRQ0
IRQ1
IRQ2
IRQ3 INTR
IRQ4
IRQ5
IRQ6
IRQ7
ISA Bus Interrupt System
 Bus ISA menghubungkan dua 8259A bersama-
sama
 Tautan melalui interupsi 2
 Memberikan 15 baris
 16 baris kurang satu untuk tautan
 IRQ 9 digunakan untuk merutekan ulang apa
pun yang mencoba menggunakan IRQ 2
 Kompatibilitas mundur
 Dimasukkan dalam set chip
ISA Interrupt Layout
(IRQ 2) 8259A 8259A 80x86

IRQ0 (8) IRQ0


IRQ1 (9) IRQ1
IRQ2 (10) IRQ2
IRQ3 (11) IRQ3 INTR
IRQ4 (12) IRQ4
IRQ5 (13) IRQ5
IRQ6 (14) IRQ6
IRQ7 (15) IRQ7
Direct Memory Access
 I/O yang digerakkan oleh interupsi dan
terprogram memerlukan intervensi CPU aktif
 Tarif transfer terbatas
 CPU terikat
 DMA adalah jawabannya
DMA Function
 Modul Tambahan (perangkat keras) di bus
 Pengontrol DMA mengambil alih dari CPU
untuk I/O
DMA Operation
 CPU memberi tahu pengontrol DMA: -
 Baca/tulis
 Alamat perangkat
 Alamat awal blok memori untuk data
 Jumlah data yang akan ditransfer
 CPU melanjutkan pekerjaan lain
 Kontroler DMA berurusan dengan transfer
 Pengontrol DMA mengirimkan interupsi saat
selesai
DMA Transfer
Cycle Stealing
 Pengontrol DMA mengambil alih bus untuk satu siklus
 Transfer satu kata data
 Bukan interupsi
 CPU tidak beralih konteks
 CPU dihentikan sesaat sebelum mengakses bus
 yaitu sebelum operan atau pengambilan data atau
penulisan data
 Memperlambat CPU tetapi tidak sebanyak CPU
melakukan transfer
Aside
 Apa pengaruh memori caching terhadap
DMA?
 Petunjuk: berapa banyak bus sistem yang
tersedia?
DMA Configurations (1)

DMA I/O I/O Main


CPU
Controller Device Device Memory

 Bus Tunggal, Pengontrol DMA terpisah


 Setiap transfer menggunakan bus dua kali
 I/O ke DMA lalu DMA ke memori
 CPU ditangguhkan dua kali
DMA Configurations (2)
DMA DMA Main
CPU
Controller Controller Memory
I/O
I/O I/O Device
Device Device
 Bus Tunggal, pengontrol DMA terintegrasi Integrated
 Pengontrol dapat mendukung> 1 perangkat
 Setiap transfer menggunakan bus sekali
 DMA ke memory
 CPU ditangguhkan sekali
DMA Configurations (3)
CPU DMA Main
Controller Memory

I/O I/O I/O I/O


Device Device Device Device
 Bus I/O terpisah
 Bus mendukung semua perangkat berkemampuan DMA
 Setiap transfer menggunakan bus sekali
 DMA ke memory
 CPU ditangguhkan sekali
I/O Channels
 Perangkat I/O semakin canggih
 misalnya Kartu grafis 3D
 CPU menginstruksikan pengontrol I/O untuk
melakukan transfer
 Pengontrol I/O melakukan seluruh transfer
 Meningkatkan kecepatan
 Mengambil beban dari CPU
 Prosesor khusus lebih cepat
Interfacing
 Menghubungkan perangkat bersama
 Sedikit kawat?
 Prosesor/memori/bus khusus?
 E.g. SCSI, FireWire
Small Computer Systems Interface (SCSI)
 Antarmuka paralel
 8, 16, 32 bit jalur data
 Daisy dirantai
 Perangkat independen
 Perangkat dapat berkomunikasi satu sama
lain serta menjadi tuan rumah
SCSI - 1
 Awal 1980-an
 8 bit
 5MHz
 Kecepatan data 5MBytes.s-1
 Tujuh perangkat
 Delapan termasuk antarmuka host
SCSI - 2
 1991
 16 and 32 bit
 10MHz
 Kecepatan data 20 or 40 Mbytes.s-1

 (Lihat SCSI Ultra/Lebar)


SCSI Signaling (1)
 Antara inisiator dan target
 Biasanya host & perangkat
 Bus gratis? (c.f. Ethernet)
 Arbitrase - kendalikan bus (cf PCI)
 Pilih target
 Seleksi ulang
 Memungkinkan koneksi ulang setelah penangguhan
 misalnya jika permintaan membutuhkan waktu untuk dieksekusi,
bus dapat dilepaskan
SCSI Signaling (2)

Perintah - permintaan target dari inisiator
 Data request
 Status request
 Permintaan pesan (dua arah)
SCSI Bus Phases

Reset

Command,
Bus Data,
free Arbitration (Re)Selection
Status,
Message
SCSI Timing Diagram
Configuring SCSI
 Bus harus dihentikan di setiap ujung
 Biasanya salah satu ujungnya adalah adaptor host
 Pasang terminator atau sakelar
 ID SCSI harus disetel
 Jumper atau sakelar
 Unik di rantai
 0 (zero) for boot device
 Jumlah yang lebih tinggi adalah prioritas yang lebih
tinggi dalam arbitrase
IEEE 1394 FireWire
 Bus serial berkinerja tinggi
 Cepat
 Biaya rendah
 Mudah diimplementasikan
 Juga digunakan di kamera digital, VCR, dan
TV
FireWire Configuration
 Daisy chain
 Up to 63 devices on single port
 Really 64 of which one is the interface itself
 Hingga 1022 bus dapat dihubungkan dengan
jembatan
 Konfigurasi otomatis
 Tidak ada terminator bus
 Mungkin struktur pohon
FireWire 3 Layer Stack
 Fisik
 Media transmisi, karakteristik listrik dan
pensinyalan
 Link
 Transmisi data dalam paket
 Transaksi
 Protokol permintaan-tanggapan
FireWire - Physical Layer
 Kecepatan data dari 25 hingga 400Mbps
 Two forms of arbitration
 Berdasarkan struktur pohon
 Root bertindak sebagai penengah
 Pertama datang pertama dilayani
 Prioritas alami mengontrol permintaan simultan
 yaitu siapa yang paling dekat dengan root

 Arbitrase yang adil


 Arbitrase mendesak
FireWire - Link Layer
 Dua jenis transmisi
 Tidak sinkron
 Jumlah variabel data dan beberapa byte data transaksi yang
ditransfer sebagai paket
 Ke alamat eksplisit
 Pengakuan dikembalikan
 Isochronous
 Jumlah variabel data dalam urutan paket ukuran tetap secara
berkala
 Pengalamatan yang disederhanakan
 Tidak ada pengakuan

Anda mungkin juga menyukai