Kamis, 24 Mei 2012

Organisasi Fungsi I/O

Ada beberapa macam teknik I/O yang digunakan, yaitu :

o Programmed (Teknik I/O Terprogram)
o Interrupt-driven
o Direct memory access (DMA)
o IOP/C




o Programmed (Teknik I/O Terprogram) Teknik

               + CPU mengontrol I/O [status, perintah R/W, transfer data].
               + CPU menunggu modul I/O aktif
               + Modul I/O beroperasi, menetapkan status serta tidak menginterupsi CPU.
               + CPU memeriksa status periodik, sambil menunggu atau ‘pergi
                 dan kembali nanti’.

   Perintah

   - Control
   - Status condition test
   - Read [data dari periferal]
   - Write [data transmisi ke periferal]

   Pengadresan perangkat IO


   - (CPU viewpoint). Data ditransfer seperti akses memori
   - Tiap perangkat mendapat unique identifier.
   - Perintah CPU berisi identifier (adres).


o Interrupt-driven

   Dikendalikan interupsi

   - CPU mengirim perintah I/O ke modul, kemudian mengerjakan proses lainnya.
   - Modul I/O akan menginterupsi CPU minta layanan bila perintah selesai dikerjakan.
   - CPU melayani interupsi dan setelah selesai melanjutkan kembali proses
     yang sedang dikerjakan sebelum diinterupsi.

    CPU view-point

    - Mengirimkan perintah baca/tulis dan mengerjakan proses lain.
    - Memeriksa interupsi pada akhir tiap instruction cycle.
    - Jika diinterupsi akan melakukan save context (registers)dan process
      interrupt (Fetch data & store).

    Identifikasi interupsi modul dengan cara:

     - Satu saluran/modul.
     - Software poll, CPU memeriksa modul bergiliran.
     - Daisy Chain / Hardware poll


o Direct memory access (DMA)


    - Interrupt-driven & programmed I/O membutuhkan intervensi aktif
      CPU, transfer rate terbatas dan CPU terikat.

    - Modul tambahan (HW) pada bus.
    - DMA controller mengambil alih peran CPU.
    - DMA (bus mastering) ~ teknik implementasi beberapa komponen untuk
      transfer data langsung ke dan dari memori tanpa lewat CPU.
    - DMA mengurangi CPU overhead karena mekanisme transfer data tidak
      butuh pengawasan CPU.
    - Cara Kerja standar  :


             + CPU memerintahkan DMA controller untuk
                       o Read/Write.
                       o Memeriksa adres perangkat.
                       o Mencari adres dan mengambil data untuk ditransfer.

            + CPU mengerjakan proses-proses lain.
            + DMA controller melakukan transfer data.
            + DMA controller mengirimkan interupsi jika selesai.



     - Cara lain, transfer cycle stealing

             +DMA controller mengambil alih siklus bus, kirim 1 word,
               dan tidak ada interupsi.
             +CPU tidak mengubah konteks,dan CPU suspended sebelum
                mengakses bus (misal sebelum operand / data fetch atau data write).


o IOP/C

    - Evolusi fungsi I/O
             + Semula CPU langsung mengendalikan periferal.
             + Kemudian ada penambahan modul I/O terprogram, sebagai pengendali.
             + Selanjutnya penambahan modul I/O interrupt driven, sebagai pengendali.
             + Modul I/O akses langsung ke memori melalui DMA.
             + Kemampuan modul I/O ditingkatkan jadi prosesor, dan tidak
               tergantung CPU. Modul I/O memiliki memori lokal.

     - IO Processor
            + Adalah prosesor yang terpisah dari CPU dan dirancang untuk menangani
               proses input/output
            + Sinkron dengan clock sistem dan prosesor utama. Akan menerima kontrol
              awal dari prosesor  utama pada saat instruksi input-output dibaca
              dari memori. Pada saat I/O prosesor mengendalikan proses input output,
              prosesor utama tetap pada kondisi two-state waiting loop sampai
              instruksi input-output dikerjakan di mana kemudian kontrol
              dikembalikan ke prosesor utama.

0 komentar:

Posting Komentar