Teknik Input Output

Hasil gambar untuk teknik input output
Perangkat I/O membantu kita berinteraksi dengan komputer agar dapat memberi dan menerima data, program dan hasil, ke / dari komputer.
Setiap perangkat I/O memiliki I/O driver yang merupakan sekumpulan program I/O untuk berbagai operasi pada perangkat I/O yang spesifik. I/O driver dari semua perangkat I/O dikenal dengan BIOS. 



Terdapat tiga teknik dalam operasi I/O, yaitu :
  1. I/O Terprogram (Programmed I/O)
  2. Interrupt Driven I/O
  3. Direct Memory Access (DMA)
1. I/O Terprogram (Programmed I/O)

  • 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. 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 :
    4. 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 modul-modul
    • 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

\

Komentar

Postingan populer dari blog ini

Pengertian dan Jenis - Jenis Komunikasi Data

Peripheral Storage & Peripheral Input/output (I/O)