Rabu, 09 Agustus 2017

MODUL INPUT OUTPUT

          DEFINISI MODUL I/O :

      Modul I/O adalah interface atau central switch untuk mengendalikan satu atau lebih peripheral atau perangkat input output. Konektor mekanis berisi fungsi logik untuk komunikasi antara bus dan peripheral. Tidak hanya sekedar modul penghubung, tetapi sebuah piranti yang berisi logika dalam melakukan fungsi komunikasi antara peripheral dan bus komputer.


          Tugas-Tugas Modul I/O :

1)  Bertanggung jawab atas pengontrolan sebuah perangkat luar
2)  Bertanggung jawab atas pertukaran data antar perangkat luar tersebut dengaan memori utama ataupun dengan register-register CPU
3)    Antarmuka internal dengan computer (CPU dengan memori utama)
4)  Antarmuka internal dengan perangkat eksternal untuk menjalankan fungsi-fungsi pengontrolan

          Fungsi Utama Modul I/O:

1)  Sebagai piranti antarmuka ke CPU dan memori ke bus system
2) Sebagai piranti antarmuka dengan peraalatan periperaal lainnyaa dengaan menggunakan link data tertentu

Untuk lebih jelasnya dapat dilihat gambar dibawah ini :



Fungsi Modul I/O:
1) Control dan Timing
2) Komunikasi CPU
    - Sebagai media komunikasi dari CPU menuju device eksternal
3) Komunikasi Perangkat
    - Sebagai media komunikasi dari device eksternal menuju CPU
4) Data Buffering
   - Berfungsi sebagai penampung data sementara baik dari CPU/memori maupun dari peripheral peripheral
5) Deteksi error
    - Berfungsi sebagai pendeteksi kesalahan yang ditimbulkan oleh device


  Skema perangkat peripheral



        Interface ke modul I/O adalah dalam bentuk signal-signal kontrol,status,dan data. Data berbentuk sekumpulan bit untuk dikirimkan ke modul I/O atau diterima dari modul I/O. control signal menentukan fungsi-fungsi yang akan dilakukan perangkat, seperti mengirimkan data ke modul I/O ( input atau read), menerima data dari modul I/O ( output / write), report status, atau membentuk fungsi kontrol tertentu ke perangkat ( misalnya, posisi head disk). Signal status menandai status perangkat untuk mengirimkan data.

        Control logic berkaitan dengan perangkat yang mengontrol operasi perangkat dalam memberikan respons yang berasal dari modul I/O. Transduser mengubah data dari energi listrik menjadi energi lain selama berlangsungnya output dan dari bentuk energi tertentu menjadi energi listrik selama berlangsungnya input. Umumnya, suatu buffer dikaitkan dengan transduser untuk menampung sementara data yang ditansfer diantara modul I/O dan dunia luar. Ukuran buffer yang umum adalah 8 hingga 16 bit. 

Buffering
       Tujuan utama buffering adalah mendapatkan penyesuaian data sehubungaan perbedaaan laaju transfer data dari perangkat periperaal dengan kecepatan pengolahan data CPU.
       Umumnya buffering memiliki laju tranfer data dari perangkat peripheral lebih lambat dari kecepatan CPU maupun media penyimpanan. contoh nya sebuah file sedang diterima melalui modem dan ditujukan ke media penyimpanan di hard disk kecepatan modem tersebut kira-kira hanyalah 1/1000 dari pada hard disk. jadi buffer dibuat di dalam memori utama untuk mengumpulkan jumlah byte yang diterima dari modem.

Struktur Bus I/O

    1) Saluran data
       Saluran yang memberikan lintasan bagi perpindahan data antara dua modul system. Umumnya bus data terdiri dari 8,16,32 saluran, jumlah saluran dikaitkan dengan lebar bus data. Karena pada saat tertentu masing-masing saluran hanya dapat membawa 1 bit, maka jumlah saluran menentukan jumlah bit yang dapat dipindahkan pada saat tertentu. Lebar bus data merupakan factor penting dalam mentukan kinerja system secara keseluruhan. Bila bus data lebarnya 8 bit, dan setiap intruksinya dengan panjang 16 bit, maka CPU harus 2kali mengakses modul memori dalam setiap siklus intruksinya.
    2) Saluran control
       Bus control digunakan untuk mengontrol akses ke saluran alamat, penggunaan data dan saluran alamat. Karena data dan saluran alamat digunakan bersama oleh seluruh komponen, maka harus ada alat untuk mengontrol penggunaanya. Signal-signal control melakukan trasmisi baik perintah maupun informasi perwaktuan diantara modul-modul system.
    3) Saluran alamat
       Digunakan untuk menandakan sumber atau tujuan data pada bus data, misalnya CPU akan membaca sebuah word (8,16,32 bit ) data memori, maka CPU akan menaruh alamat word yang dimaksud pada saluran alamat. Lebar bus menentukan kapasitas memori maksimum system. Selain itu umumnya saluran alamat ini digunakan untuk memilih lokasi memori atau port I/O pada modul.

     Terdapat berbagai macam modul I/O seiring perkembangan komputer itu sendiri, contoh yang sederhana dan fleksibel adalah Intel 8255A yang sering disebut PPI (Programmable Peripheral Interface). Bagaimanapun kompleksitas suatu modul I/O, terdapat kemiripan struktur, seperti terlihat pada gambar dibawah ini:

Gambar Modul I/O Intel 8255A




       Modul dihubungkan dengan bagian-bagian computer lainnya melalui saluran signal (misalnya, saluran bus system). Data yang dipindahkan ke modul dan dari modul di-buffer-kan dalam sebuah register data atau lebih. Mungkin juga terdapat sebuah register status atau lebih yang memberikan informasi status saat itu. Register status dapat juga berfungsi sebagai register control, untuk menerima informasi control secara detail dari CPU. Logic pada modul berinteraksi dengan CPU melalui sejumlah saluran control. 

       Saluran-saluran ini digunakan oleh CPU untuk memberikan perintah ke modul I/O. beberapa saluran control dapat digunakan oleh modul I/O. Modul juga dapat mengetahui dan menghasilkan alamat-alamat yang berkaitan dengan perangkat yang dikontrolnya. Setiap modul I/O memiliki alamat yang unik, atau apabila modul I/O mengontrol lebih dari sebuah perangkat eksternal, maka terdapat sekumpulan alamat yang unik. Terakhir, modul I/O terdiri dari logic yang bersifat khusus bagi interface dengan setiap perangkat yang dikontrolnya.

Langkah-langkah Penanganan I/O

1. CPU mengecek status modul I/O Device
2. I/O module mengirimkan  statusnya
3. Jika ready, CPU meminta transfer data
4. I/O modul mengambil data dari device
5. I/O modul transfer data keCPU dalam variasi output yang diinginkan

I/O Terprogram

Klasifikasi I/O terprogram



1. Perintah control.
    Perintah ini digunkan untuk mengaktivasi perangkat peripheral dan memberitahukan tugas yang diperintahkan padanya.
2. Perintah test.
    Perintah ini digunakan CPU untuk menguji berbagai kondisi status modul I/O dan peripheralnya. CPU perlu mengetahui perangkat peripheralnya dalam keadaan aktif dan siap digunakan, juga untuk mengetahui operasi – operasi I/O yang dijalankan serta mendeteksi kesalahannya.
3. Perintah read.
    Perintah pada modul I/O untuk mengambil suatu paket data kemudian menaruh dalam buffer internal. Proses selanjutnya paket data dikirim melalui bus data setelah terjadi sinkronisasi data maupun kecepatan transfernya.
4. Perintah write.
    Perintah ini kebalikan dari read. CPU memerintahkan modul I/O untuk mengambil data dari bus data untuk diberikan pada perangkat peripheral tujuan data tersebut.

Implementasai perintah dalam intruksi I/O :

1) Memory-Mapped I/O
•    Terdapat ruang tunggal untuk lokasi memori daan perangkat I/O
•    CPU memperlakukan register status dan register data modul I/O sebagai lokasi memori dan menggunakan intruksi mesin yang samauntuk mengakses baik memori ataupun perangkat I/O
•   Konsekuensinya adalah diperlukan perangkat tunggaluntuk pembacaan dan saaluran tunggal untuk penulisan
•  Keuntungan dari memory-mapped I/O adalah efisien daam pemrograman, namun memakan banyak ruang memory alamat

2) Isolated I/O
•   Dilakukan pemisahan ruang pengalamatan bagi memory dan ruang pengalamatan bagi I/O
•  Dengan teknik ini diperlukan bus yang dilengkapi dengan saluran pembacaan dan penulisan memory ditambah saluran perintah output
•    Kesulitan isolated I/O adalah sedikitnya intruksi I/O

Metode Operasi Sistem I/O

            1. I/O Terprogram
       Pada I/O terprogram, data saling dipertukarkan antara CPU dan modul I/O. CPU mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung,seperti pemindahan data, pengiriman perintah baca maupun tulis, dan monitoring perangkat. Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya.

2. I/O Instruksi (Demand Driven)
        Driven I/O memungkinkan proses tidak membuang – buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/Odijalankan modul I/O maka CPU akan melakukan eksekusi perintah – perintah lainnya.Apabila modul I/O telah selesai menjalankan instruksi yang diberikan padanya akan melakukan interupsi pada CPU bahwa tugasnya telah selesai.

3. Direct Memory Access (DMA)
      Teknik yang dijelaskan sebelumnya yaitu I/O terprogram dan Interrupt-Driven I/O memiliki kelemahan, yaitu proses yang terjadi pada modul I/O masih melibatkan CPU secara langsung. Hal ini berimplikasi pada :
• Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
• Kerja CPU terganggu karena adanya interupsi secara langsung.

         Bertolak dari kelemahan di atas, apalagi untuk menangani transfer data bervolume besar dikembangkan teknik yang lebih baik, dikenal dengan Direct Memory Access (DMA). Prinsip kerja DMA adalah CPU akan mendelegasikan kerja I/O kepada DMA, CPU hanya akan terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan Akhir proses saja. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi.

Transfer Data

    1. Format Transfer

Paralel  :    Semua bit pada karakter dikirim secara  bersamaan  dalam batas waktu tranmisi tertentu.
Serial  :  Data dikirm secara berurutan dalam satu baris  komnikasi tunggal, sehingga antara pengirim dan  penerima harus membagi batas waktu pengiriman karakter menjadi beberapa sub interval pengiriman.
              
Transfer paralel lebih cepat karena memiliki saluran tranmisi yang banyak, tapi tidak bias diterapkan pada jarak yang terlalu panjang, karena dapat terjadi interfensi antar saluran.

2. Mode Transfer

a. Synchronous
         Kecepatan piranti I/0 yang bervariasi sedang data yang dikirim secar serial dan bergantian dalam periode yang sudah diterapkan, maka kecepatan transfer di set pada piranti I/O dengan kecepatan rendah.

b. Asynchronous
Proses back and forth dalam meneruskan sinyal kendali dari pengirim ke penerima.

Interfacing Piranti I/O
Suatu alat yang digunakan untuk menghubungkan suatu piranati dengan CPU melalui BUS.

Fungsi Umum:
Mensinkronkan data transfer antara CPU dan piranti I/O.
Fungsi Detail :
1. Penyedia status piranti I/O bagi CPU
2. Memiliki kemampuan interupsi / DMA
3. Mampu mentransfer instruksi CPU ke piranti
4. Mampu berfungsi sebagai buffer storage data transfer
5. Mampu melakukan pengujian kesamaan data
6. Mampu mendecode dan mengencode data
7. Memiliki fasilitas khusus: Konversi data paralel ke serial, Encoding karakter F1,F2
    BACKSPACE, DELETE dan lain-lain
8. Menyediakan sinyal status operasi

Struktur Interface :
1. Register
    Kendali (CR) : Mencatat instruksi dan informasi dalam piranti.
    Status (SR) : Mencatat status piranti dan mengeluarkan pesan kesalahan.
    Data Input (IDR) dan Data Ouput : sebagai buffer data untuk operasi input dan output.
2. BUS
    Receiver : Menangani data input.
    Transciever : Sirkuit bidirectional data menangani input  maupun output.
    Driver / Buffer Bus : Sirkuit tri state yang menyimpan informasi bus.

Sistem Prosessor I/O
General Purpose komputer yang berisi sejumlah saluran DMA, CPU tersendiri dan menjalankannya secara paralel.

Fungsi :

Sebagai piranti front end yang menangani setiap aspek I/O dan menyediakan pengendali I/O khusus yang disebut I/O Channel.

Instruksi IOP :
1. Instruksi Transfer Data
    Input (Pembacaan), Output (Penulisan) dan membaca informasi status.
2. Instruksi General Purpose
    Instruksi Aritmatika, Logika, Percabangan (Konversi, Prioritas Operasi, Evaluasi Alamat, Jump Instruksi).


3. Instruksi Kendali
    Instruksi untuk menangani fungsi piranti I/O khusus yang tidak terlibat dalam transfer data, contoh : Memindahkan head R/W untuk menentukan lokasi track dan record pada disk.

Format Instruksi IOP :
1. Field Opcode : Representasi Jenis Operasi.
2. Field Alamat Memori : Aalamt awal blok memori yang digunakan untuk transfer.
3. Field Word Count : Jumlah word yang harus ditransfer.
4. Field Kendali : Untuk fungsi-fungsi piranti I/O khusus.
5. Field Status : Untuk tujuan komunikasi dan pencatatan.


Sumber Referensi :



Hatur Nuhun ^_^

Tidak ada komentar:

Posting Komentar