Kuliah Organisasi Sistem Komputer

REVIEW MATERI OSK KELOMPOK 8
1. Sistem Input Output
2. Pengaksesan I/O
3. I/O Terprogram
4. I/O Interupsi
5. DMA (/direct Memory Access)
6. Interfacing Piranti

1. Sistem Input Output

Pengertian I/O : adalah bagian dari sistem mikroprosesor yang digunakan oleh mikroprosesor itu untuk berhubungan dengan dunia luar. Unit input adalah unit luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesor ini, contohnya data yang berasal dari keyboard atau mouse. Sementara unit output biasanya digunakan untuk menampilkan data, atau dengan kata lain untuk menangkap data yang dikirimkan oleh mikroprosesor, contohnya data yang akan ditampilkan pada layar monitor atau printer.

2. Pengaksesan I/O

a. Memorymapped I/O
Dimana pirabti I/O dihubungkan sebagai lokasi memory virtual dimana port I/O tergantung pada memori utama

Karakteristik memory mapped I/O antara lain :

• Port I/O dihubungkan ke bus alamat
• Piranti input sebagai bagian memory yang memberikan data ke bus data. Piranti output ssebagai bagian memori yang memiliki data tersimpan di dalamnya.

b. I/O mapped I/O 

Piranti I/O dihubungkan sebagai lokasi terpisah dengan lokasi memori, dimana port I/O tidak tergantung pada memori utama.
karakteristik I/O mapped I/O :

• Port I/O tidak tergantung memori utama
• Transfer informasi dilakukan di bawah kendali sinyal control yang menggunakan instruksi INPUT      dan OUTPUT
• Operasi I/O tergantung sinyal kendali dari CPU
• Intruksi I/O mengaktifkan baris kendali read/write pada port I/O, sedangkan instruksi memori akan mengaktifkan baris kendali read/write pada memori
• Ruang memory dan ruang alamat I/O menyatu, sehingga dapat memiliki alamat yang sama.

Kelebihan dan kekurangan :
• I/O mapped I/O lebih cepat dan efisien, karena lokasi I/O terpisah dengan lokasi memori
• I/O mapped I/O mempunyai keterbatasan jumlah intruksi yang dapat digunakan untuk operasi I/O


3. 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. Dalam teknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap proses – proses yang diinteruksikan padanya. Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan.

Untuk melaksanakan perintah – perintah I/O, CPU akan mengeluarkan sebuah alamat bagi modul I/O dan perangkat peripheralnya sehingga terspesifikasi secara khusus dan sebuah perintah I/O yang akan dilakukan. Terdapat empat klasifikasi perintah I/O, yaitu:

a. Perintah control.

Perintah ini digunkan untuk mengaktivasi perangkat peripheral dan memberitahukan tugas yang diperintahkan padanya.

b. 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.

c. 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.

d. 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. Dalam teknik I/O terprogram, terdapat dua macam inplementasi perintah I/O yang tertuang dalam instruksi I/O, yaitu: memory-mapped I/O dan isolated I/O. Dalam memory-mapped I/O, terdapat ruang tunggal untuk lokasi memori dan perangkat I/O. 

CPU memperlakukan register status dan register data modul I/O sebagai lokasi memori dan menggunakan instruksi mesin yang sama untuk mengakses baik memori maupun perangkat I/O. Konskuensinya adalah diperlukan saluran tunggal untuk pembacaan dan saluran tunggal untuk penulisan. Keuntungan memory-mapped I/O adalah efisien dalam pemrograman, namun memakan banyak ruang memori alamat.

Dalam teknik isolated I/O, dilakukan pemisahan ruang pengalamatan bagi memori dan ruang pengalamatan bagi I/O. Dengan teknik ini diperlukan bus yang dilengkapi dengan saluran pembacaan dan penulisan memori ditambah saluran perintah output. Keuntungan isolated I/O adalah sedikitnya instruksi I/O.


4. I/O Interupsi

Kejadian dimana peralatan masukan/keluaran interupsi meminta layanan sistem operasi. Sistem Operasi segera menentukan aksi-aksi masukan/keluaran yang harus dilakukan. Untuk memulai operasi I/O, CPU me-load register yang bersesuaian ke device controller. Sebaliknya device controller memeriksa isi register untuk kemudian menentukan operasi apa yang harus dilakukan. Pada saat operasi I/O dijalankan ada dua kemungkinan, yaitu synchronous I/O dan asynchronous I/O. Pada synchronous I/O, kendali dikembalikan ke proses pengguna setelah proses I/O selesai dikerjakan. Sedangkan pada asynchronous I/O, kendali dikembalikan ke proses pengguna tanpa menunggu proses I/O selesai. 

Sehingga proses I/O dan proses pengguna dapat dijalankan secara bersamaan. Modul input / output berfungsi sebagai interface ( penghubung ) ke memori atau ke prosesor, penhubung sesama periferal, dan meyelaraskan data sebelum ditransfer memalui system bus. Tidak hanya itu, modul input / output juga berfungsi sebagai contrl dan timing (mengatur agar kecepatan transfer data yang berbeda-beda dapat tersinkronisasi dengan baik ), komunikasi prosesor ( mengirimkan data dan perintah dari prosesor ke periferal ), komunikasi antar peripheral, data buffering ( penampung data sementara ), dan mendeteksi error pada peripheral dan melaporkannya pada prosesor.

Cara kerja modul I/O adalah sebagai berikut:

• CPU meminta status peripheral pada modul I/O
• Modul I/O mengecek status peripheral dan mengirimkannya dalam betuk status bit
• Jika status ready, maka CPU mengirimkan perintahnya
• Modul I/O menarik data dari peripheral
• Modul I/O menyelaraskan data
• Modul I/O mengirimkan data ke CPU lewat bus.


 5. DMA (/direct Memory Access)

Direct memory access (DMA) adalah suatu alat pengendali khusus disediakan untuk memungkinkan transfes blok data langsung antar perangkat eksternal dan memori utama, tanpa intervensi terus menerus dari prosesor.

Transfer DMA dilakukan oleh sirkuit kontrol yang merupakan bagian dari antar muka perangkat I/O. Istilah ini yang sering banyak kita ketahui adalah sebagai kontroler DMA. Kontroler DMA melakukan fungsi yang biasanya dilakukan oleh prosesor pada saat mengakses memori utama (yang sering disebut :RAM). Untuk setiap word yang ditransfer, kontroler ini menyediakan alamat memori dan semua sinyal bus yang mengontrol transfer data. Karena harus mentransfer sejumlah blok data, maka kontroler DMA harus menaikkan alamat memori untuk word yang berurutan dan mencatat jumlah transfer.

Sekalipun kontroler DMA dapat mentransfer data tanpa intervensi dari prosesor, operasinya tetap berada dibawah kontrol program yang dieksekusi oleh prosesor. Untuk menginisiasi transfer suatu blok word, prosesor mengirim alamat awal, jumlah word dalam blok, dan arah transfer. Pada saat seluruh blok telah ditransfer, kontroler tersebut memberitahu prosesor dengan memunculkan sinyal interupt. Pada saat transfer DMA terjadi, program yang meminta transfer tersebut berhenti bekerja dan prosesor dapat digunakan untuk mengeksekusi program lain. Setelah transfer DMA selesai, prosesor dapat kembali ke program yang meminta transfer tersebut.

Operasi I/O selalu dilakukan oleh OS sebagai respon terhadap request dari program aplikasi. OS juga bertanggung jawab untuk menunda eksekusi satu program dan memulai eksekusi program lain. Sehingga, untuk operasi I/O yang melibatkan DMA, OS menetapkan program yang meminta transfer tsb pada keadaan blocked, menginisiasi operasi DMA, dan memulai eksekusi program lain. Pada saat transfer selesai, kontroler DMA memberitahu prosesor dengan mengirim interupt request. Sebagai responnya, OS menetapkan program yang ditunda ke keadaan runnable sehingga dapat dipilih oleh scheduler untuk melanjutkan eksekusi.

6. Interfacing Piranti
Interfacing (antar muka) adalah bagian dari disiplin ilmu komputer yg mempelajari teknik-teknik menghubungkan komputer dengan peralatan elektronika lainnya. Sistim komputer yang berpusat pada pemroses utama (baik itu Mikroprosesor maupun Mikrokontroler) memiliki kemampuan yang besar dalam memecahkan masalah tetapi tidak ada manfaatnya tanpa menghubungkan dengan peralatan lainnya. Suatu teknik khusus diperlukan untuk dapat menghubungkan dengan peralatan-peralatan tersebut. Menghubungkan pemroses utama dengan peralatan elektronik lainnya bukanlah persoalan yang mudah. Kita tidak dapat langsung menghubungkan pemroses utama dengan peralatan tersebut, disebabkan oleh hal-hal berikut :

1. Terdapat beraneka ragam peralatan/ piranti yang memiliki metode operasiberagam.
2. Laju transfer data dalam piranti seringkali lebih lambat dibandingkan dengan laju transfer data dengan pemroses utama (Mikroprosesor).
3. Piranti seringkali menggunakan format data yang berbeda dengan pemroses utama (Mikroprosesor).


Sistem interface I/O yang paling baik adalah sistem interface dimana sistem digital dan sistem analognya terisolasi, terpisah. Biasanya digunakan relay atau optocoupler. Penggunaan relay lebih mudah namun lebih sering menimbulkan masalah karena relay dapat menghasilkan noise pada sistem digital pada saat relay berubahan keadaan. Selain itu penggunaan relay membutuhkan daya yang lebih besar jika dibandingkan dengan penggunaan optoisolator.

Komentar

Postingan populer dari blog ini

Program Jaringan (Get Ip, Get Name, Ip to Name, and NsLookup) Server-client

Perkembanga Jaringan Telekomunikasi G

TUGAS KK 2