Anda di halaman 1dari 9

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 & 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.

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 :
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


2. I/O Interupsi (Interrupt Driven 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 modulmodul

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


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 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

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 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 Bus Phases
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
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

No acknowledgement

Anda mungkin juga menyukai