Uploaded by User47045

IO System

advertisement
SISTEM
INPUT/OUTPUT (I/O)
Pendahuluan



Beberapa alasan tidak dihubungkannya peripheral dengan
bus sistem secara langsung adalah :
Terdapat beraneka ragam peripheral yang memiliki
bermacam-macam metode operasi. Maka akan tidak sangat
praktis untuk menggabungkan logik tertentu ke dalam CPU
dengan maksud untuk mengontrol sejumlah perangkat
Laju transfer data peripheral sering kali jauh lebih lambat
dibandingkan dengan laju transfer data memori atau CPU.
Jadi, tidaklah praktis menggunakan bus sistem berkecepatan
tinggi untuk melakukan komunikasi langsung dengan
peripheral
Peripheral sering kali menggunakan format data dan panjang
word yang berlainan dibandingkan dengan komputer yang
disambungkan dengannya
Perangkat Eksternal
Dibagi Dalam 3 tingkat
Human Readable
 Machine Readable
 Communication

Gambar Perangkat Keras
MODUL I/O


1. Interface dengan CPU dan memori
2. Interface ke satu atau lebih peripheral
Fungsi Modul I/O
Control and timing
 Komunikasi CPU
 Komunikasi perangkat
 Data buffering
 Deteksi Error

CONTROL DAN TIMING

Misalnya, kontrol pemindahan data dari sebuah perangkat
eksternal ke CPU dapat meliputi langkah-langkah berikut ini :
 CPU meminta modul I / O untuk memeriksa status
perangkat yang terhubung.
 Modul I / O memberikan jawabannya tentang status
perangkat
 Bila perangkat sedang beroperasi dan berada dalam
keadaan siap untuk mengirimkan, maka CPU meminta
pemindahan data, dengan menggunakan perintah tertentu
ke modul I / O.
 Modul I / O akan memperoleh unit data ( misalnya, 8 atau
16 bit ) dari perangkat eksternal.
 Data akan dipindahkan dari modul I / O ke CPU.
KOMUNIKASI CPU




Command Decoding
Data
Status reporting
Address recognition
STRUKTUR MODUL I/O
Pengaksesan I/O terdiri dari 2 cara :
1. Memory mapped I/O
Piranti I/O dihubungkan sebagai lokasi memori virtual dimana
port I/O tergantung memori utama.
Karakteristik:
- Port I/O dihubungkan ke bus alamat.
- Piranti input sebagai bagian memori yang memberikan data
ke bus data. Piranti output sebagai bagian memori yang
memiliki data yang tersimpan di dalamnya.
- Port I/O menempati lokasi tertentu pada ruang alamat dan
diakses seolah-olah adalah lokasi memori.
2. I/O mapped I/O (I/O isolated)
Piranti I/O dihubungkan sebagai lokasi terpisah dengan lokasi memori,
dimana port I/O tidak tergantung pada memori utama.
Karakteristik:
- Port I/O tidak tergantung memori utama.
- Transfer informasi dilakukan di bawah kendali sinyal kontrol yang
menggunakan instruksi INPUT dan OUTPUT.
- Operasi I/O tergantung sinyal kendali dari CPU.
- lnstruksi I/O mengaktifkan baris kendali read/write pada port I/O,
sedangkan instruksi memori akan mengaktifkan baris kendali read/write
pada memori.
- Ruang memori dan ruang alamat I/O menyatu, sehingga dapat memiliki
alamat yang sama.
Kelebihan dan kekurangan:
- I/O mapped I/O Iebih cepat dan efisien,
karena lokasi I/O terpisah dengan lokasi
memori.
- I/O mapped I/O mempunyai
keterbatasan jumlah instruksi yang dapat
digunakan untuk operasi I/O.
Operasi I/O terbagi menjadi 3
metode :
1. I/O Terprogram
2. I/O Interupt
3. Direct Memory Access (DMA)
I/O TERPROGRAM
Terdapat empat klasifikasi perintah I/O, yaitu:
 Perintah control.

Perintah test.

Perintah read.

Perintah write.
Cont
Dalam teknik I/O terprogram, terdapat dua macam
implementasi perintah I/O yang tertuang dalam
instruksi I/O, yaitu:

memory-mapped I/O
 isolated I/O.
INTERUPT DRIVEN I/O





Masalah pada programmed I/O adalah bahwa processor
harus menunggu hingga modul I/O siap untuk melakukan
transfer yang mengakibatkan processor harus melakukan
pengecekan yang berulang-ulang atas status modul I/O.
Alternatifnya, processor menerbitkan perintah ke modul I/O
dan kemudian processor melanjutkan eksekusinya atas
instruksi yang lain.
Modul I/O akan melakukan interrupt ke processor untuk
meminta layanan jika modul I/O telah siap saling bertukar
data dengan processor.
Processor kemudian melakukan eksekusi atas instruksi
perpindahan data.
Setelah selesai, processor akan melanjutkan eksekusi instruksi
sebelumnya, sebelum peocessor di interrupt oleh modul I/O.
PENGOLAHAN INTERUPT




Pada perangkat I/O telah menyelesaikan sebuah operasi I/O, maka
urutan kejadian hardware di bawah akan terjadi :
Perangkat angkat mngeluarkan signal interrupt ke CPU.
Prosesor menyelesaikan eksekui intruksi yang sedang dilakukan
sebelum memberikan respon terhadap interrupt.
Prosesor memerikasa interrupt, menetapkan bahwa memang ada,
dan mengirim signal acknowledgment ke parangkat yang
mengeluarkan interrupt, acknowledgment memungkinkan
meghapus dignal interrupt.
Sekarang prosesor perlu menyiapkan pengontrolan transfer routine
interrupt, prosesor perlu menyimpan informasi yang diperlukan
untuk melanjutkan program yang dikerjakan saat itu pada posisi
interrupt. Informasi minimum yang diperlukan adalah a.status
prosesor, yang berisi register yang dipanggil program status word
(PSW), dan b. lokasi instruksi berikutnya yang akan dieksekusi.
Cont.




Setelah prosesor dapat memuat menghitung program dengan lokasi entri
dan program penanganan interrupt yang akan emberikan respon ke
interrupt ini. Tergantung pada arsitektur computer dan rancangan sistem
operasinya. Kemungkinan ada sebuah program , satu program untuk
setiap interrupt, atau setiap untuk setiap perangkat dan setiap jenis
interrupt.
Kemudian interrupt handle akan mendapat proses interrupt. Proses ini
akan melibatkan pengujian informasi status yang berkaitan dengan
operasi I/O atau kejadian-kejadian yang lain yang menyebabkan terjadinya
interrupt.
Apabila pengolahan interuot telah selesai, nilai-nilai register yang
tersimpan akan diambil ke stack dan selanjutnya disimpan ke register.
Kegiatan terakhir adalah menyimpan kembali PSW dan nilai penghitung
program dari stack. Akibatnya, interupsi berikutnya yang akan dieksekusi
akan berasal dari program sebelumnya yang telah diinterupsi.
Direct Memory Access (DMA)


Direct Memory Access (DMA) adalah suatu metode
transfer data dari memori komputer atau RAM ke
suatu bagian dari komputer tanpa memprosesnya
menggunakan CPU
Sebagian besar data yang merupakan input atau
output dari komputer memang diproses di CPU,
tetapi terdapat beberapa data yang tidak perlu
diproses, ataupun dapat diproses oleh alat lainnya.
Direct Memory Access (DMA)

Perbandingan antara Programmed I/O dan Direct
Memory Access
Direct Memory Access (DMA)




Langkah – langkah dalam transfer DMA :
Prosesor menyiapkan DMA transfer dengan
menyediakan data – data dari perangkat, operasi
yang akan ditampilkan, alamat memori yang menjadi
sumber dan tujuan data, dan banyaknya byte yang
ditransfer.
Pengendali DMA memulai operasi (menyiapkan bus,
menyediakan alamat, menulis dan membaca data),
sampai seluruh blok sudah ditransfer.
Pengendali DMA mengirimkan sinyal interrupt ke
prosesor, dimana selanjutnya akan ditentukan tindakan
selanjutnya.
Direct Memory Access (DMA)




Kelebihan menggunakan DMA :
Dapat menghemat waktu memproses
Cara yang lebih efisien untuk memindahkan data
dari memori ke alat lainnya
CPU tidak terbebani oleh programmed I/O
Direct Memory Access (DMA)


Contoh Penggunaan
Suatu saat sound card membutuhkan akses data
kedalam RAM, maka data dapat dikirim dari RAM
ke CPU dan dilanjutkan ke sound card tersebut.
Tetapi karena sound card dapat memproses data
tersebut dengan sendirinya, maka sound card
dapat menggunakan DMA untuk mengirim langsung
data ke sound card dari RAM tanpa melalui CPU.
Direct Memory Access (DMA)

1.
2.
3.
Pada dasarnya DMA mempunyai tiga mode yang
berbeda dalam mentransfer data. Mode – mode
tersebut adalah :
HALT atau Burst Mode DMA
Cycle Stealing Mode
Transparent Mode
Direct Memory Access (DMA)

HALT atau Burst Mode DMA
Pada mode ini semua blok data dikirim dalam
urutan yang waktunya berdekatan. Ketika DMA
controller mendapatkan akses ke system buses oleh
CPU, DMA mengirimkan semua data dari blok data
tersebut sebelum mengembalikan kontrol dari
system buses kembali ke CPU.
Direct Memory Access (DMA)

Pada mode ini DMA controller mendapatkan akses ke
system buses oleh CPU sama seperti pada Burst Mode.
Kemudian menggunakan BR (Bus Request) dan BG (Bus
Grant) yang merupakan sinyal untuk mengatur interface
antara CPU dan DMA controller. Setelah 1 byte dari
data ditransfer, kontrol dari system buses diserahkan
kembali ke CPU melalui BG. Dan kemudian di-request
secara terus menerus melalui BR dan mentransfer 1
byte data setiap request sampai semua data
ditransfer. Jadi pada mode ini data akan dikirimkan
per-request.
Direct Memory Access (DMA)

Mode ini merupakan mode yang paling lama tetapi
yang paling efisien dari semua mode. Pada mode
ini DMA controller hanya mentransfer data ketika
CPU melakukan operasi yang tidak menggunakan
system buses.
SELESAI
Download