Programmed I/O – Interrupt Driven I/O – Direct Memory Access

Programmed I/O

Programmed I/O (PIO)adalah transfer data yang dilakukan oleh CPU di bawah kendali driver software untuk register akses atau memori pada perangkat.

CPU mengeluarkan perintah kemudian menunggu I/ O mengoprasikan hingga selesai. CPU lebih cepat daripada modul I / O, masalahnya dengan diprogramnya  I/O CPU harus menunggu waktu yang lama untuk I/O modul meneriman atau mentransmisi data dengan baik. Sambil menunggu,CPU  berulang kali harus memeriksa status modul I / O, dan proses ini dikenal sebagai Polling.

Programmed I / O pada dasarnya bekerja dengan cara:

  • CPU meminta operasi I/O
  • I / O modul melakukan operasi
  • I / O modul menetapkan status bit
  • CPU memeriksa Status bit secara berkala
  • I / O modul tidak memberitahu CPU secara langsung
  • I / O modul tidak mengganggu CPU
  • CPU mungkin menunggu atau kembali lagi nanti

Komputer masa kini telah berubah, menjadi:

  • CPU Menangani semua rincian Perangkat
  • Device eksternal memiliki digital sirkuit yang mengendalikan hardware dalam respon menangkap dan menyimpan oprasi
  • hardware dalam menanggapi mengambil dan menyimpan operasi
  • device Terdiri dari sirkuit digital
  • device Terdiri dari tidak ada kecerdasan
  • CPU Mengeluarkan perintah dan kontrol operasi perangkat menggunakan mengambil dan menyimpan instruksi

Dari penjelassan diatas komputer masa kini dapat ditarik kesimpulan bahwa I/O dapat diprogram.

Keuntungan dari diprogram I / O

Murah, tidak memiliki digital sirkuti yang canggih

Kelemahan dari diprogram I / O

Diatas perhitungan  , setiap langkah membutuhkan prosesor untuk berinteraksi dengan I / O.

Dua paradigma yang digunakan untuk menangani I / O: diprogram I/ O dan interrupt dri Veni I/O

Programmed I / O membutuhkan prosesor untuk menangani setiap langkahoperasi; sebagai prosesor lebih cepat, itmust menunggu perangkat.

Interrupt Driven I/O

Mengizinkan prosesor untuk terus melakukan perhitungan sementara perangkat I/O sedang beroperasi.

Perubahan yang diperlukan:

  • perangkat keras I/O
  • arsitektur bus
  • arsitektur processor
  • paradigma programming

I/O device hardware

  • I/O device harus beroperasi secara independen setelah telah dimulai.
  • Harus Menginformasikan prosesor setelah selesai

Bus architecture

Perbolehkan komunikasi dua arah antara prosesor dan perangkat

Processor Architecture

prosesor membutuhkan mekanisme untuk menghentikan sementara proses normal dan menangani perangkat

Paradigma Programming

  • shift Dari sinkron ke mode asynchronous
  • synchronous: Programmer menentukan setiap langkah Operasi I/O
  • asynchronous: Programmer menulis kode untuk menangani event atau kendala

Mekanisme gangguan pada Hardware

Gangguan pada mekanisme meminjam beberapa saat prosesor yang akan mengatasi I/O device. Ketika gangguan terjadi, hardware menyimpan perhitungan yang ada dan me  ngulang perhitungan ketika intrupsi/gangguan selesai.

Keuntungan dari Interrupts

Sebuah komputer yang menggunakan interupsi adalah komputer yang baik dan mudah untuk di program serta menawarkan kinerja yang lebih baik dari I / O komputer yang menggunakan pemungutan suara.

Direct Memory Access

Teknologi yang dikenal sebagai Direct memory access(DMA) mengizinkan perangkat pintar I/O untuk mengakses memori secara langsung. Perangkat yang menggunakan DMA dapat mentrasfer data antara perangkat dan memori tanpa menggunakan prosesor.

Dalam beberapa kasus CPU mungkin tidak cukup cepat untuk bersaing dengan perangkat atau mungkin untuk memungkinkan CPU melakukan pekerjaan yang bermanfaat lainnya sementara I / O sedang berlangsung.

Dalam hal ini prosesor memiliki tujuan khusus yang disebut DMA controller (DMAC) yang dapat digunakan untuk mentransfer data antara memori dan I / O device. DMA controller secara periodik mengambil alih kendali sistem bus dari CPU, CPU, menghasilkan alamat, data dan sinyal kontrol untuk mentransfer data antara memori dan I / O device.

DMA controller adalah perangkat tujuan khusus yang dirancang secara eksplisit untuk fungsi transfer data. DMA controller dapat melakukan semua operasi yang diperlukan untuk transfer data (kenaikan alamat memori, pengurangan yang menghitung, masukan, menulis, dan uji untuk operasi lengkap) dalam satu siklus bus. Hal ini mempercepat transfer data dan mengurangi jumlah siklus bus yang dibutuhkan untuk mentransfer jumlah yang diberikan data.

DMA controller dapat diatur untuk mengambil alih bus untuk setiap byte data yang akan ditransfer dan kemudian kembali dikontrol untuk CPU (“siklus mencuri”) atau mereka dapat beroperasi dalam mode burst di mana blok data yang ditransfer sebelum kembali dikontrol bus ke CPU.

DMA controller dapat mentransfer data dalam dua langkah proses dengan membaca nilai dari satu port atau alamat dalam satu siklus bus dan tertulis bahwa nilai ke port lain atau alamat dalam siklus bus kedua. Hal ini juga mungkin untuk DMA controller untuk membaca dan menulis operasi secara bersamaan. Dalam hal ini data ditransfer langsung antara perangkat dan memori disama siklus bus. Ini adalah modus operasi yang digunakan dalam PC IBM.

REFERENSI