Minggu, 30 Desember 2018

UNIT INPUT OUTPUT


UNIT I/O

Sistem I/O berfungsi untuk mentransfer informasi atau CPU atau memori utama dengan piranti I/O.
Sistem I/O terdiri atas piranti I/O (peripheral), pengendali piranti yang dilalui piranti I/O untuk berkomunikasi dengan CPU atau memori utama dalam suatu aturan yang baku (protocol) dan perangkat lunak untuk operasi I/O untuk pelayanan. Dalam berhubungan dengan sistem I/O, penting untuk menyadari ketiga point ini:
1. CPU dan piranti I/O biasanya tidak dapat disinkronkan. Karena itu operasi I/O harus dikoordinasikan.
2. Secara umum, piranti I/O lebih lambat dari CPU. Karena itu biasanya piranti I/O berkomunikasi secara asynchronous dengan CPU.
3. CPU menangani informasi bahasa mesin sedangkan piranti I/O biasanya membawa informasi yang berorientasi kepada pemakai (manusia). Karena data itu harus di-encode dan di-decode (diformat).
Proses transfer informasi antara CPU dan sebuah peripheral terdiri dari empat langkah:
1. Memilih sebuah piranti I/O dan menguji apakah ia siap atau mempunyai reaksi.
2. Menginisialisasi transfer tersebut dan mengkoordinasikan pengaturan waktu operasi I/O tersebut.
3. Mentransfer informasi tersebut.
4. Memberhentikan transfer informasi tersebut.
Klasifikasi piranti I/O dikelompokkan menjadi tiga:
1. Piranti yang memasukkan informasi ke komputer.
2. Piranti yang mengeluarkan (menampilkan) informasi dari komputer.
3. Piranti yang melayani input dan output.

Struktur Modul I/O


Pengaksesan I/O
Ada dua jenis pengaksesan I/O: memory-mapped I/O dimana piranti I/O dihubungkan sebagai memori virtual, atau I/O-mapped I/O dimana port I/O tidak tergantung pada memori utama. Setiap memory-mapped I/O, 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 mereka adalah lokasi memori. Semua instruksi referensi memori dalam kumpulan instruksi pada sebuah komputer dapat juga mereferensikan port I/O. Dengan demikian prosedur memory-mapped I/O tidak membutuhkan instruksi khusus. Sebuah instruksi untuk mem-fetch atau menyimpan data pada alamat memori tertentu menjadi sebuah instruksi I/O jika alamatnya adalah sebuah port I/O. Karena memory-mapped I/O tidak membeda-bedakan register memori dan  piranti I/O, ruang alamat dibagi di antara mereka dan demikian ruang memori yang tersedia untuk program dan data menjadi berkurang.
Sebaliknya, pada I/O-mapped I/O, port I/O tidak tergantung memori dan tidak butuh referensi langsung ke alamat memori. Transfer informasi dilakukan di bawah kendali sinyal kontrol yang mengguna­kan 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.
Operasi I/O terbagi menjadi 3 metode : I/O Terprogram, I/O Interupt, dan Direct Memory Access (DMA).

I/O Terprogram
Terdapat empat klasifikasi perintah I/O, yaitu:
1. Perintah control.
2. Perintah test.
3. Perintah read.
4. Perintah write.
Dalam teknik I/O terprogram, terdapat dua macam implementasi perintah I/O yang tertuang dalam instruksi I/O, yaitu: memory-mapped I/O dan isolated I/O.

I/O Interupt
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.
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.

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.
Perbandingan antara Programmed I/O dan Direct Memory Access



Interfacing Piranti
Untuk berkomunikasi dengan CPU, piranti-piranti tersebut memerlukan antar-muka (interface) dan mengendalikan perangkat keras dan perangkat lunak untuk menghubungkan ke bus, interface biasanya mengacu pada perangkat keras yang diperlukan untuk menghubungkan piranti dan sirkuit kendalinya ke bus yang semestinya. Fungsi pokok sebuah interface adalah untuk mensinkronkan transfer data antara CPU dan peripheral.

Diagram blok unit interface I/O
Ada tiga bus dalam interface piranti:
1. Bus Receiver adalah register menyimpan data input selama dibutuhkan.
2. Bus Transceiver adalah suatu sirkuit yang digunakan bersama bus dua-arah (bidirectional) yang dapat berfungsi dalam mode pengiriman maupun mode penerimaan.
3. Driver/Buffer bus diperlukan untuk menempatkan informasi pada bus.

Sistem Bus
Bus membawa informasi diantara komponen dari satu peralatan atau diantara subsistem. Bus dapat dibagi menjadi dua kelompok utama yang didasarkan pada kontrolnya, yaitu bus local dan bus sistem (local buses and system buses). Kelompok hybrid (turunan), yaitu bus lokal yang diperluas, mengkombinasikan fasilitas dari dua bus yang lain.

Bus Lokal
Bus yang paling sederhana terdiri atas set kawat/kabel (atau jejak/ trace jika ia diproduksi sebagai bagian dari papan sirkuit). Bus ini disebut local bus (bus lokal), karena ia merupakan bagian dari peralatan yang menggunakan dan mengontrolnya.
Dalam CPU, bus lokal umumnya terbagi dalam tiga jenis, yaitu bus alamat, bus data, atau bus kontrol. Address buses (bus alamat) cenderung dikhususkan untuk suatu tujuan dan biasanya bersifat unidireksional. Ia paling sering mentransfer alamat dari counter program (PC), register stack, atau putaran komputasi alamat ke memori, namun bukan sebaliknya. Data buses (bus data) cenderung bersifat umum dalam penggunaannya dan bersifat bidireksional. Ia bisa membawa data, instruksi, dan juga alamat, dan ia menyampaikan data ke dan dari sistem memori utama, peralatan I/O yang dilengkapkan, dan ALU. Control buses (bus kontrol) membawa signal dari unit kontrol ke komponen lain dari komputer dan kembali ke unit kontrol. Signal kontrol yang ia bawa akan mengontroloperasi dari komponen yang menerima signal tersebut.

Bus Sistem
Bus sistem adalah Bus yang mempunyai putaran kontrol sendiri dan berubah-ubah (menyesuaikan diri) terhadap berbagai komponen, termasuk CPU, yang ingin menggunakannya.

Bus Lokal Yang Diperluas
Expanded local buses (bus lokal yang diperluas), yang kebanyakan dijumpai dalam sistem mikrokomputer, adalah bus lokal dengan ekstensi khusus untuk penggunaan di luar CPU. Ia sarna dengan bus sistem, dalam hal bahwa ia memberikan signal kontrol standart selain memberikan lintasan (pathway) data dan alamat; namun ia bersifat lokal, dalam artian bahwa jam CPU dan sirkuit waktu mengaturnya, sehingga ia merupakan processor-specific.

Referensi
http://www.elearning.gunadarma.ac.id/docmodul/index-arkomp.htm              25 Nov 2018 20.43
http://ymukhlis.staff.gunadarma.ac.id/Downloads/folder/0.1            25 Nov 2018 19.43


Tidak ada komentar:

Posting Komentar