Organisasi Sistem Komputer
Review kelompok 8 : INPUT / OUTPUT
Input / Output (I/O) Fungsi : Memindahkan informasi antara
CPU atau memori utama dengan dunia luar
I/O terdiri :
•Piranti l/O (peripheral)
•Pengendali I/O (device controller)
•Perangkat lunak
Proses transfer informasi antara CPU dengan sebuah peripheral
:
•Memilih I/O dan mengujinya.
•Menginisialisasi transfer & mengkoordinasikan pengaturan
waktu operasi I/O.
•Mentransfer informasi.
•Menghentikan proses transfer.
Klasifikasi piranti I/O Klasifikasi piranti I/O terdiri 3
kelompok:
•Kelompok yang memasukkan informasi (input), contoh :
keyboard, ADC (analog to digital converter), scanner
•Kelompok yang menampilkan informasi (output), contoh :
VDU/Video Display Unit (monitor), printer.
•Kelompok yang melayani input dan output, contoh : Floppy
disk, harddisk.
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
Metode di mana CPU mengendalikan operasi I/O
secarakeseluruhan dengan menjalankan serangkaian instruksi I/O dengan sebuah
program.
Karakteristik:
•Program tersebut digunakan untuk memulai, mengarahkan dan
menghentikan operasi-operasi I/O.
•Membutuhkan sejumlah perangkat keras (register) yaitu:
–Register status, berisi status piranti I/O dan data yang
akan dikirimkan.
–Register buffer, menyimpan data sementara sampai CPU siap
menerimanya.
–Pointer buffer, menunjuk ke lokasi memori di mana sebuah
karakter harus ditulis atau dan mana karakter tersebut harus dibaca.
–Counter data, tempat penyimpanan jumlah karakter dan akan
berkurang nilainya jika karakter ditransfer.
•Membutuhan waktu proses yang lama dan tidak efesien dalarn
pemanfaatan CPU.
2.I/O interupsi
Metode di mana CPU akan bereaksi ketika suatu piranti
mengeluarkan permintaan untuk pelayanan.
Karakteristik:
•Lebih efisien dalam pemanfaatan CPU, karena tidaknharus
menguji status dari piranti.
•Interupsi dapat berasal dari piranti I/O, interupsi
perangkat keras misalnya : timer, memori, power supply, dan Interupsi perangkat
lunak misalnya : overflow, opcode / data yang ilegal, pembagian dengan nol
Ada 2 jenis Interupsi:
•lnterupsi maskable
Interupsi yang dapat didisable (dimatikan) untuk sementara
dengan sebuah instruksi disable interupsi khusus.
•Interupsi nonmaskable
Interupsi yang tidak dapat didisable dengan instruksi
perangkat lunak.
Dalam sistem komputer terdapat lebih dari satu piranti yang
memerlukan pelayanan interupsi, dapat digunakan metode:
•Polling/polled interupt
Berdasarkan
urutan prioritas yang telah ditentukan sebelum piranti memerlukan interupsi.
Misal: piranti A dan B mempunyai urutan prioritas A lebih Iebih dulu dari B,
maka jika A dan B secara bersamaan memerlukan pelayanan interupsi, maka piranti
A akan didahulukan.
•Vector Interupt
Peralatan yang berinterupsi
diidentifikasikan secara Iangsung dan dihubungkan routine pelayanan vector
interupt.
INTR = Sinyal yang dikeluarkan oleh
peralatan.
INTA =
Sinyal kendali yang digunakan CPU untuk menyiapkan pelayanan interupt
3.Direct Memory Access (DMA)
Metode transfer data secara langsung antara memori dengan
piranti tanpa pengawasan dan pengendalian CPU.
•Skema transfer blok DMA dual port
CPU dan DMA controller mengakses memori utama melalui MAR dan
MBR dengan menggunakan sebuah memori utama dual port (2 port).
Port I ----> melayani CPU
Port II ---> melayani DMA controller
•Skema transfer blok DMA cycle stealing (pencurian siklus)
Hanya
memerlukan sebuah memori port tunggal di mana CPU dan piranti I/O beradu cepat
pada basis asinkron, prioritas utama akan diberikan pada piranti I/O.
Interfacing
Adalah peralatan yang digunakan untuk menghubungkan suatu piranti dengan CPU
melalui bus.
Register kendali (CR) digunakan untuk mencatat berbagai
perintah dan informasi lainnya dalam peripheral.
•Register status (SR) digunakan untuk menyimpanstatus piranti
dan memberitahukan pesan-pesankesalahan .
•Register data input (IDR) dan register data output(ODR)
masing-masing berfungsi sebagai bufer datauntuk operasi input dan output.
•Urutan operasi interface:
–Unit logika handshaking memasok unit kendalidengan empat
sinyal.
–Dua sinyal, register kendali penulisan (WCR atau write
control register) dan register status pembacaan (RSR atau read status
register), masing-masing berhubungan dengan CR dan SR.
–Sedangkan dua sinyal lainnya adalah register pembacaan data
input (RIDR atau read input data register) dan register penulisan data output
(WODR atau write output data register ), masingmasing mengendalikan IDP dan
ODR.
Tidak ada komentar:
Posting Komentar