Senin, 11 Juni 2012

Input/Output


Input/Output
Permasalahan Input/Output
          Jenis Perangkat I/O bermacam-macam, hal ini mengakibatkan
     Adanya perbedaan jumlah pengiriman data
     Perbedaan kecepatan pengiriman data
     Perbedaan format data
          Semua perangkat I/O lebih lambat dibandingkan CPU dan RAM
          Membutuhkan modul I/O
Modul Input/Output
          Berfungsi sebagai
     Interface terhadap CPU and Memory
     Interface terhadap satu atau lebih periferal
Model Umum Modul I/O
Pengelompokan Peralatan External
          Human readable, perangkat yang dapat dengan mudah dibaca manusia
     Screen, printer, keyboard
          Machine readable, perangkat yang dapat dibaca hanya oleh mesin
     Monitoring and control
          Communication, perangkat untuk kebutuhan komunikasi data.
       Modem
       Network Interface Card (NIC)
Block Diagram  dari Peralatan External
Fungsi Modul I/O
          Pengendalian dan pewaktuan
          Komunikasi dengan CPU
          Komunikasi dengan peralatan
          Penampungan Data
          Pendeteksian kesalahan (Error Detection)
Langkah pengaksesan I/O
          CPU meminta modul I/O untuk memeriksa status perangkat yang terhubung
          Modul I/O memberikan jawaban tentang status perangkat
          Bila keadaan perangkat “siap”, maka CPU meminta pemindahan data
          Modul I/O menerima  data dari peralatan/device
          Modul I/O memindahkan data ke CPU
Diagram Modul I/O
Komunikasi dengan CPU
          Command Decoding, menterjemahkan perintah CPU
          Data, mempertukarkan data antara CPU dengan modul I/O melalui bus data
          Status Reporting, melaporkan status yang terjadi para peralatan I/O, misal error dan ready
          Address recognition,
Teknik-teknik Input Output
          Programmed
          Interrupt driven
          Direct Memory Access (DMA)










Tiga Teknik untuk memasukkan sebuah blok data

Programmed I/O
          CPU mengontrol I/O secara menyeluruh
     Mendeteksi status
     Memberikan perintah Read/write
     Memindahkan data
          CPU menunggu modul I/O menyelesaikan operation-nya
          Membuang waktu CPU secara percuma
Programmed I/O – detail
          CPU meminta I/O untuk beroperasi
          Modul I/O melakukan operasi
          Modul I/O mengatur nilai bit status
          CPU memeriksa bit status secara periodik
          Modul I/O tidak memberitahukan statusnya kepada CPU secara langsung
          Modul I/O tidak menginterupsi CPU
          CPU mungkin nunggu atau akan kembali ke proses setelah beberapa saat.
Perintah-perintah I/O
          CPU mengeluarkan address yang akan diakses.
     Identifies module (& device if >1 per module)
          CPU mengeluarkan perintah.
     Control - telling module what to do
        e.g. spin up disk
     Test - check status
        e.g. power? Error?
     Read/Write
        Module transfers data via buffer from/to device
Addressing I/O Devices
          Under programmed I/O data transfer is very like memory access (CPU viewpoint)
          Each device given unique identifier
          CPU commands contain identifier (address)
Pemetaan I/O (I/O Mapping)
          Memory mapped I/O
     Devices and memory share an address space
     I/O looks just like memory read/write
     No special commands for I/O
        Large selection of memory access commands available
          Isolated I/O
     Separate address spaces
     Need I/O or memory select lines
     Special commands for I/O
     Limited set
Interrupt Driven I/O
          Untuk mengatasi waktu tunggu CPU
          CPU tidak perlu berulang kali memeriksa status perangkat/device
          Modul I/O akan memberikan interupsi ke CPU manakala peralatan telah siap.
Operasi Dasar Interrupt Driven I/O
          CPU memberikan perintah baca/read
          Modul I/O mengambil data dari peripheral sementara itu CPU tidak bekerja
          Modul I/O memberikan interupsi kepada CPU
          CPU meminta data
          Modul I/O mentransfer data
Simple Interrupt Processing
Interupt Driven dipandang dari CPU
          Mengeluarkan perintah baca/read
          Lakukan pekerjaan yang lain
          Periksa adakah interupsi pada setiap akhir siklus instruction
          Bila ada interupsi :
     Save context (registers)
     Process interrupt
        Fetch data & store
Direct Memory Access
          Interrupt driven and programmed I/O membutuhkan intervensi CPU secara active
     Transfer rate is limited
          Bagaimana untuk transfer data dalam jumlah besar ?
     DMA is the answer
Fungsi DMA
          DMA adalah modul-modul tambahan pada bus system
          Modul DMA mampu menirukan CPU, bahkan mengambil alih kontrol CPU terkait dengan pengaksesan data.
Typical DMA Module Diagram
DMA Operation
          Informasi dari CPU yang diberikan kepada DMA controller :
     Perintah Read/Write
     Alamat Peralatan (Device address)
     Alamat awal dari blok memori untuk data
     Jumlah data yang akan dipindahkan
          CPU melakukan pekerjaan lainya
          DMA controller  akan melakukan aktifitas pemindahan
          DMA controller akan memberikan interupsi tatkala tugas dia selesai


DMA Transfer Cycle Stealing
          DMA Transfer Cycle Stealing adalah proses pengambil alihan system bus oleh DMA controller untuk proses pemindahan data.
          Pemindahan data dilakukan secara satu word
          Tidak terjadi interupsi, sehingga CPU tidak melakukan switch context
          CPU ditahan sesaat sebelum dia mengakses bus
     i.e. before an operand or data fetch or a data write
          Aktifitas ini memperlambat kerja CPU namun tidak selambat bila CPU sendiri yang melakukan transfer data.
DMA Configurations (1)
          Single Bus, Detached DMA controller
          Each transfer uses bus twice
     I/O to DMA then DMA to memory
          CPU is suspended twice
DMA Configurations (2)
          Single Bus, Integrated DMA controller
          Controller may support >1 device
          Each transfer uses bus once
     DMA to memory
          CPU is suspended once
DMA Configurations (3)
          Separate I/O Bus
          Bus supports all DMA enabled devices
          Each transfer uses bus once
     DMA to memory
          CPU is suspended once
Saluran I/O
          Perangkat I/O makin lama makin canggih
          CPU memerintahkan  I/O controller untuk melakukan transfer data
          I/O controller melakukan transfer data secara tuntas
          Meningkatkan kecepatan sistem
     Mengurangi beban kerja CPU
     Kerja prosesor menjadi lebih cepat
Arsitektur Saluran I/O
Antarmuka Eksternal
          Interface paralel
          Interface Serial

   


Ke system bus                                       Ke Pheriferal                      Ke System Bus                                    Ke Pheriferal






Konfigurasi Modul IO
          Konfigurasi antara modul IO di dalam sebuah sistem komputer dan perangkat eksternal dapat berbentuk :
      point to point
        Contoh : keyboard, printer, modem eksternal
      multi point
        Contoh : CD ROM, video, audio
Small Computer System Interface (SCSI
          Dipopulerkan oleh Macintosh tahun 1984
          SCSI merupakan interface standar untuk CD-ROM, peralatan audio, dan perangkat penyimpan eksternal berukuran besar.
          SCSI menggunakan interface paralel dengan 6,16,32 atau 64 saluran data.
          Memiliki dua konektor ; input dan output.
          Seluruh perangkat berfungsi secara independen.
          Signal dan Fase
          Pertukaran signal pada bus SCSI terjadi antara inisiator dan target.
          Aktifitas pada bus SCSI terjadi dalam rangkaian fase-fase sebagai berikut :
          Bus free
          Arbitration
          Selection
          Reselection
          Command
          Data
          Status
          Message
          Signal dan Fase
          Pertukaran signal pada bus SCSI terjadi antara inisiator dan target.
          Aktifitas pada bus SCSI terjadi dalam rangkaian fase-fase sebagai berikut :
          Bus free : mengindikasikan bahwa tidak terdapat perangkat yang menggunakan bus dan bus siap digunakan
          Arbitration : Mengizinkan sebuah perangkat untuk mendapatkan kontrol bus sehingga perangkat tersebut dapat mengawali atau melanjutkan proses IO
          Selection : Mengizinkan sebuah inisiator memilih target untuk membentuk suatu fungsi seperti perintah Read/Write
          Reselection : Mengizinkan traget tersambung lagi dengan inisiator untuk melanjutkan operasi yang sebelumnya dimulai oleh inisiator namun dihentikan oleh target.
          Command
          Data
          Status
          Message
IEEE 1394 FireWire
          High performance serial bus
          Fast
          Low cost
          Easy to implement
          Also being used in digital cameras, VCRs and TV
FireWire Configuration
          Daisy chain
          Up to 63 devices on single port
     Really 64 of which one is the interface itself
          Up to 1022 buses can be connected with bridges
          Automatic configuration
          No bus terminators
          May be tree structure
Simple FireWire Configuration
FireWire 3 Layer Stack
          Physical
     Transmission medium, electrical and signaling characteristics
          Link
     Transmission of data in packets
          Transaction
     Request-response protocol
FireWire Protocol Stack


FireWire - Physical Layer
          Data rates from 25 to 400Mbps
          Two forms of arbitration
     Based on tree structure
     Root acts as arbiter
     First come first served
     Natural priority controls simultaneous requests
        i.e. who is nearest to root
     Fair arbitration
     Urgent arbitration
FireWire - Link Layer
          Two transmission types
     Asynchronous
        Variable amount of data and several bytes of transaction data transferred as a packet
        To explicit address
        Acknowledgement returned
     Isochronous
        Variable amount of data in sequence of fixed size packets at regular intervals
        Simplified addressing
        No acknowledgement
FireWire Subactions

 
Design by Wordpress Theme | Bloggerized by Free Blogger Templates | JCPenney Coupons