Operasi Input Output (I/O)

Slides:



Advertisements
Presentasi serupa
Pertemuan 6 (Organisasi Input/Output)
Advertisements

I/O Device and I/O Module
Unit Masukan dan Keluaran
Unit Masukan dan Keluaran
XI XI / 1 Arsitektur & Organisasi Komputer I INPUT / OUTPUT
Sistem Input/output (I/O)
Organisasi dan Arsitektur Komputer
PERTEMUAN MINGGU KE-11 SISTEM INPUT / OUTPUT.
Organisasi Komputer : Struktur dan Fungsi Komputer 2
Organisasi Komputer : Input Output
Organisasi Komputer Pertemuan 11 TATA SUMITRA M.KOM HP
Manajemen Prinsip Dasar Input/Output
PERTEMUAN INPUT OUTPUT.
SISTEM KOMPUTER Sistem input-proses-output
SISTEM KOMPUTER STRUKTUR CPU NI KETUT ESATI, S.Si.
Organisasi Komputer Pertemuan 10 TATA SUMITRA M.KOM HP
BAB 3 Struktur CPU.
Manajemen I/O.
I/O Device and I/O Module
Organisasi dan Arsitektur Komputer
Organisasi dan Arsitektur Komputer
MANAJEMEN DEVICE.
© 2009 Fakultas Teknologi Informasi Universitas Budi Luhur Jl. Ciledug Raya Petukangan Utara Jakarta Selatan Website:
Sistem Operasi Pertemuan 6.
TIU Memahami konsep I/O system Memahami mekasnisme dasar dalam I/O system.
Richki Hardi, S.T.,M.Eng. Pertemuan V - VI. MODUL DAN FUNGSI MODUL I/O Modul I/O :  Interface ke prosessor dan memori melalui sistem bus atau perpindahan.
Arsitektur & organisasi computer Input & Output
I/O ( Input Output ).
Sistem Input/output (I/O)
Arsitektur & Organisasi Komputer BAB IIi STRUKTUR CPU Oleh : Bambang Supeno, ST., MT. Sep-17 Arsitektur & Organisasi Komputer.
Manajemen I/O SISTEM OPERASI Slide perkuliahan
ORGANISASI KOMPUTER Pertemuan IX
Organisasi dan Arsitektur Komputer I Pertemuan 3
Manajemen Perangkat I/O
Struktur Sistem Komputer
I/O Device and I/O Module
ORGANISASI dan ARSITEKTUR KOMPUTER Input/Output
PERTEMUAN MINGGU KE-11 SISTEM INPUT / OUTPUT.
Sistem Bus pada Komputer
Organisasi dan Arsitektur Komputer
Perangkat Keras Masukan/Keluaran
Organisasi dan Arsitektur Komputer I Pertemuan 3
PENGANTARMUKAAN PERIFERAL KOMPUTER
Struktur CPU.
Unit Masukan dan Keluaran
SISTEM BUS.
Abdul Wahid STRUKTUR CPU JURUSAN TEKNIK INFORMATIKA
Struktur Sistem Komputer
Organisasi dan Arsitektur Komputer
Arsitektur dan Organisasi Komputer
Bab 3.2. Unit Masukan dan Keluaran
ORGANISASI & ARSITEKTUR KOMPUTER
Hierarki Memori Dan Cache Memori..
Struktur interkoneksi bus
Pertemuan ke - 6 Organisasi Komputer
ORGANISASI & ARSITEKTUR KOMPUTER
Teknik Input Output.
Struktur Sistem Komputer
I/O Device and I/O Module
ORGANISASI DAN ARSITEKTUR KOMPUTER
MemorI eKSternal & SIstem input output(i/0)
Struktur CPU.
PERTEMUAN INPUT OUTPUT.
Struktur CPU.
Universitas Trunojoyo
BUS INTERFACING.
Unit Masukan dan Keluaran
I/O Device and I/O Module
Input/Output Problems Pendahuluan
Struktur CPU.
Transcript presentasi:

Operasi Input Output (I/O)

Pengantar Modul I/O: merupakan interface bagi bus sistem dan mengontrol satu atau lebih perangkat periferal Alasan tidak dihubungkannya periferal langsung dengan bus sistem: Terdapat beberapa ragam piranti periferal yang memiliki bermacam-macam metode operasi Laju transfer periferal jauh lebih lambat dibandingkan dengan laju transfer memori atau CPU Periferal seringkali menggunakan format data atau panjang word yang berlainan dibandingkan dengan komputer yang disambungkan

Pengantar CPU Modul I/O Printer Disk Keyboard Monitor Link ke periferal Bus sistem

Pengantar Fungsi modul I/0: Perangkat eksternal mempunyai sifat: Sebagai interface ke CPU melalui bus sistem Sebagai interface ke sebuah perangkat periferal atau lebih dengan menggunakan link data tertentu Perangkat eksternal mempunyai sifat: Human Readable: display dan printer Machine Readable: disk system, sensor, aktuator Communication: LAN card

Pengantar Fungsi atau persyaratan bagi modul I/O: Control dan timing  koordinasi arus lalu lintas antara sumberdaya internal (memori dan sistem bus) dan eksternal Komunikasi CPU: command decoding, data yang dipertukarkan, status report terhadap periferal (BUSY/ READY), address recognition Komunikasi perangkat: perintah, informasi status & data Data buffering: mengatasi perbedaan kecepatan I/O dan memori Deteksi error: contoh even parity, odd parity

Pengantar Cara dasar dalam memasukkan/ mengeluarkan data ke/dari I/O: I/O terprogram (programmed I/O)  paling lambat dibanding cara yang lain  digunakan pada mikroprosesor lama Interrupt driven I/O Direct Memory Access (DMA)  digunakan pada sistem yang sudah maju  cara yang cepat untuk melakukan transfer data

Pengantar Dengan I/O terprogram: CPU mengeluarkan perintah ke modul I/O, maka CPU harus menunggu sampai operasi I/O selesai. Apabila kecepatan CPU lebih cepat dibandingkan dengan modul I/O  terjadi pemborosan waktu Dengan interrupt driven I/O: CPU mengeluarkan perintah I/O, dilanjutkan dengan mengeksekusi perintah-perintah lainnya, dan diinterupsi oleh I/O apabila instruksi telah selesai dilaksanakan Dengan DMA: memori dan I/O bertukar data langsung tanpa melibatkan CPU secara langsung

Pengantar Beri perintah baca ke modul I/O Cek status Baca word dari modul I/O Tulis word ke memori Baca status dari modul I/O Selesai ? Ya Tidak Not Ready Ready Instruksi selanjutnya CPU  I/O I/O  CPU CPU  memori Kerjakan lainnya interpret Kondisi Error CPU  DMA DMA  CPU (a) Programmed I/O (b) Interrupt-driven I/O (c) Direct Memory Access

INFORMATICS I/O Terprogram

Transfer data dengan pengaturan waktu yang tepat Menggunakan instruksi-instruksi dalam memindahkan data dari atau ke CPU Transfer data dengan pengaturan waktu yang tepat I/O terprogram bekerja atas dasar Pengaturan dengan pewaktu (sinkron) dan Prosedur jabat tangan/ handshaking (asinkron)  lebih sering digunakan karena lebih sederhana

Masukan Terprogram

Masukan Terprogram Memperlihatkan sebuah CPU yang dihubungkan dengan port 10H, 11H, dan 12H Bit 6 dari port 10H dihubungkan ke masukan START dan piranti periferal, dan bit 7 dari port 11H disambungkan dengan keluaran STATUS Piranti perferal dapat mengirimkan data ke CPU melalui port input 12H

Masukan Terprogram CPU siap memasukkan sebuah kata, bit START tinggi akan dimasukkan ke periferal Jika piranti siap dengan bit yang akan dipindahkan, periferal mengirim bit STATUS tinggi ke port 11H Setelah bit STATUS bernilai tinggi, maka CPU segera memasukkan 1 byte data

Masukan Terprogram Contoh: Program untuk memasukkan data 256 byte dan menyimpannya pada alamat 2000H – 20FFH

Contoh Keluaran

Contoh Keluaran Memperlihatkan sebuah CPU yang dihubungkan dengan port-port berjabat tangan 10H dan 11H. CPU dihubungkan dengan port kemuaran 12H Prosedur operasi keluaran sbb: CPU telah siap, data akan ditempatkan pada port 12H CPU mengirimkan bit START untuk menunjukkan bahwa data yang sah sedang menunggu pemindahannya Sesudah menerma data, piranti periferal mengirimkan bit STATUS tinggi kepada CPU

Contoh Keluaran Program untuk mengeluarkan 256 byte dari lokasi memori 2000H – 20FFH

INFORMATICS Instruksi Restart

Prosesor 8085 mempunyai instruksi restart: RST 0, RST 1, RST 2, RST 3, RST 4, RST 5, RST 6, RST 7 Digunakan juga dalam prosesor 8080

Pelaksanaan RESTART Efek instruksi RST sama dengan instruksi CALL Eksekusi RST 0 akan memulai dan mem-PUSH isi program counter ke tumpukan (stack) Kemudian PC mencabang ke alamat 0000H Subrutin yang berada dalam lokasi antara 0000H – 0007 dieksekusi sampai dengan instruksi RET, yang akan mengembalikan ke program utama Jika instruksi RST 1 dilaksanakan, isi PC akan di-PUSH ke stack, selanjutnya program mencabang ke alamat 0008 dan kembali ke program utama

Pelaksanaan RESTART Instruksi RST merupakan jenis khusus dari instruksi panggilan, karena instruksi ini mencabang ke suatu alamat yang sebelumnya telah ditetapkan Instruksi RST merupakan cara yang efisien untuk memanggil subrutin-subrutin yang sering dipakai

Pelaksanaan RESTART

Pemanggilan Terarah (Vectored) Instruksi RST serupa dengan vektor-vektor, karena instruksi ini mengarah kepada lokasi tertentu di dalam memori Alamat permulaan dari setiap subrutin yang melayani instruksi RST disebut lokasi vektor RST 0 mengarah ke lokasi vektor 000H Hanya terdapat ruang 8-byte antara vektor-vektor yang ada  kenyataannya program yang ditulis bisa lebih dari 8-byte  pemrogram menggunakan lokasi-lokasi vektor tersebut untuk menyimpan alamat awal dari subrutin-subrutin yang lebih panjang

Pemanggilan Terarah (Vectored) Contoh: Terdapat subrutin dengan 256 byte tersimpan pada alamat F200H sampai F2FFH Jika subrutin ini sering dipakai, maka dapat dipanggil dengan menggunakan RST 6 dan mengisikan instruksi JMP F200H pada alamat 0030H RST 6  akan mengarahkan program ke alamat 0030H JMP F200H akan membawa program ke subrutin

INFORMATICS INTERUPSI

Pada saat interupsi terjadi, prosesor 8085 akan mengakhiri instruksi yang sedang dieksekusi, lalu mencabang ke suatu subrutin yang melayani alat periferal tertentu Stelah layanan selesai  kembali ke program utama Tipe operasi ini disebut dengan interrupt driven I/O  lebih efisien karena CPU tidak perlu menunggu sinyal status yang tinggi CPU dapat memproses data, sementara itu periferal sedang menyiapkan suatu transfer I/O

Restart Perangkat Keras RST 0 – RST 7 adalah cara memulai kembali (restart) dengan perangkat lunak karena dilakukan dengan instruksi-instruksi pemrograman Pada 8085 terdapat restart perangkat keras: TRAP (melalui pin 6), RST 7.5 (pin 7), RST 6.5 (pin 8), RST 5.5 (pin 9) Apabila salah satu pin aktif, maka akan melakukan CALL perangkat keras menuju ke lokasi vektor yang sudah ditetapkan

Lokasi Restart

INFORMATICS Interrupt Driven I/O

Interrupt Driven I/O Masalah yang dijumpai pada I/O terprogram: CPU harus menunggu modul I/O yang diinginkan agar siap untuk menerima maupun mengirim data dalam waktu yang relatif lama Saat menunggu  CPU menanyakan berulang-ulang status modul I/O  kinerja turun dengan tajam Alternatif: CPU mengeluarkan perintah I/O ke modul dan mengerjakan tugas lainnya. Modul akan menginterrupt CPU untuk meminta layanan apabila modul telah siap untuk bertukar data dengan CPU. Kemudian CPU akan mengeksekusi pengiriman data dan dilanjutkan dengan menyelesaikan proses sebelumnya

Interrupt Driven I/O (pada prosesor 8085) Piranti periferal mempunyai suatu byte yang siap ditransfer, alat itu memasukkan bit tinggi ke masukan RST 5.5 Sesudah memasukkan isi PC ke tumpukan, CPU mencabang ke lokasi 002CH  ditemukan alamat awal subrutin yang digunakan untuk memasukkan 1 byte data dari piranti periferal ke memori

Interrupt Driven I/O (pada prosesor 8085) Setelah byte tersimpan, CPU mengirimkan bit ACKNOWLEDGE kepada piranti periferal untuk memberitahukan kepada periferal agar menyiapkan byte berikutnya yang hendak ditransfer CPU kembali ke program utama Keuntungan: CPU tidak perlu menunggu periferal untuk mempersiapkan data

Prioritas Interupsi Bila interupsi yang aktif pada waktu yang sama melebihi satu, maka 8085 akan melayaninya sesuai dengan urutan prioritasnya

INFORMATICS Instruksi Interupsi

EI dan DI Prosesor 8085 mempunyai dua buah intruksi yang dapat menjalankan atau menghalangi semua instruksi kecuali TRAP Instruksi EI (Enable Interrupt): akan menghasilkan IE tinggi, sehingga interrupt dapat dilakukan Instruksi DI (Disable Interrupt): akan menghasilkan IE rendah, sehingga interrupt tidak dapat dilaksanakan kecuali TRAP Jika 8085 menjalankan suatu interupsi, CPU akan menghasilkan sinyal ANY INTERRUPT ACKNOWLEDGE. Sinyal ini akan menghalangi semua interupsi yang masuk yang dapat mengganggu suatu subrutin pelayanan

EI dan DI Program pelayanan interupsi: Jika pemrogram menginginkan agar program utama tidak dapat diinterupsi:

SIM (Set Interrupt Mask) Digunakan untuk menghalangi interupsi hardware

SIM (Set Interrupt Mask) Bit MSE (Mask Set Enable)  untuk mengaktifkan pemasangan mask. Jika bernilai ‘1’ maka akan memungkinkan untuk menghalangi interupsi dari M7.5’, M6.5’ dan M5.5’ Bit M7.5’, M6.5’ dan M5.5’. Interupsi akan dihalangi jika bit-bit ini bernilai ‘1’

SIM (Set Interrupt Mask) Contoh: meghalangi interupsi RST 7.5 dan RST 6.5, serta meloloskan interupsi RST 5.5, maka digunakan: MVI A, 0EH SIM Isi akumulator:

RIM (Read Interrupt Mask) Digunakan untuk membaca status dari interrupt masking

RIM (Read Interrupt Mask) Bit 7: data masukan serial Bit 6, 5, dan 4: memberikan status dari interupsi-interupsi yang menunggu Bit 3: bit yang menjalankan interupsi IE Bit 2, bit 1 dan bit 0: bit-bit penghalang interupsi

RIM (Read Interrupt Mask) Contoh: Setelah operasi RIM akumulator berisi data 4CH Bit-bit I7.5, IE dan M7.5 bernilai tinggi  Interupsi 7.5 sedang menunggu, interupsi dapat dijalankan, sedangkan interupsi RST 7.5 dihalangi

Memperluas Sistem Interupsi INFORMATICS Memperluas Sistem Interupsi

Instruksi-instruksi TRAP, RST 7. 5, RST 6. 5, RST 5 Instruksi-instruksi TRAP, RST 7.5, RST 6.5, RST 5.5 telah menyediakan empat saluran interupsi Jika lebih dari 4: diperluas dengan menggunakan masukan INTR

Pengendalian Interupsi Permintaan interupsi dari 8 piranti periferal  dikenal sebagai pengendali interrupt (pengendali interupsi) Intel 8259 menyimpan alamat permulaan dari 8 subrutin pelayanan, satu subrutin untuk tiap periferal Pelayanan instruksi: mengirimkan CALL alamat

Pengiriman CALL Proses: Saat piranti periferal membutuhkan layanan, 8259 mengirimkan sebuah bit tinggi ke masukan INTR Setelah 8085 mengenali INTR tinggi tersebut, mikroprosesor mengirim sinyal INTA rendah (Interrupt Acknowledgement) kepada 8259 8259 menanggapi dengan mengirimkan kembali kode operasi dari instruksi pemanggilan 8085 mengirimkan sinyal INTA yang lain  mengambil byte alamat bawah dari 8259 8085 mengirimkan sinyal INTA lagi  mengambil byte alamat yang atas

Pengiriman CALL Contoh: Misal pelayanan bagi suatu piranti periferal dimulai pada alamat F400H Apabila piranti ini memerlukan pelayanan, 8259 mengirimkan INTR ke CPU Setelah interupsi dikenali, CPU mengirimkan INTA ke 8259  8259 mengirimkan kode CDH yang merupakan kode untuk operasi CALL yang akan disimpan dalam register instruksi CPU CPU mengirimkan INTA lagi  8259 mengirimkan byte rendah alamat layanan 00H CPU mengirimkan INTA lagi  8259 mengirimkan byte tinggi alamat layanan F4H

Direct Memory Access (DMA) INFORMATICS Direct Memory Access (DMA)

Kekurangan I/O terprogram dan Interrupt driven I/O Interrupt driven I/O masih memerlukan campur tangan CPU secara aktif untuk melakukan transfer antara memori dengan modul I/O, dan transfer data harus melalui CPU Kedua jenis transfer memiliki keterbatasan Laju transfer I/O dibatasi oleh kecepatan yang pada kecepatan itu CPU dapat menguji dan melayani perangkat CPU ditentukan oleh pengaturan transfer I/O  sejumlah eksekusi harus dieksekusi bagi setiap transfer I/O-nya

Fungsi DMA DMA meliputi modul-modul tambahan pada sistem bus Modul DMA mampu menirukan CPU, dan mengambil alih kontrol sistem dari CPU Pada saat CPU ingin membaca atau menulis blok data, CPU mengeluarkan perintah ke modul DMA, dengan mengirimkan ke modul DMA informasi berikut: Read/ write yang diminta Alamat perangkat I/O yang dilibatkan Lokasi awal dalam memori untuk read/ write Jumlah word yang akan dibaca/tulis

Fungsi DMA Kemudian CPU melanjutkan pekerjaan lainnya CPU mendelegasikan operasi I/O kepada modul DMA, dan modul DMA akan menjalankan tugasnya Modul DMA memindahkan seluruh blok data secara langsung tanpa melalui CPU Saat pemindahan data selesai, modul DMA akan mengirimkan sinyal interrupt ke CPU  CPU hanya terlibat pada awal dan akhir pemindahan data saja

Transfer DMA pada Prosesor 8085 Sinyal-sinyal HOLD dan HLDA digunakan dalam operasi-operasi DMA Jika pengendali DMA telah siap mengambil alih kendali, pengendali DMA akan mengirimkan sinyal HOLD tinggi ke prosesor 8085 Prosesor 8085 membuat high impedance bus alamat, bus data, dan bus kendalinya Mikroprosesor akan mengirimkan sinyal HLDA tinggi (Hold Acknowledge) yang menunjukkan bahwa 8085 menyerahkan kendali Pengendali DMA melakukan transfer data dengan kecepatan tinggi dan kemudian kendali diserahkan kembali kepada 8085 dengan pengiriman sinyal HOLD rendah

Saluran I/O dan Prosesor I/O

Evolusi Fungsi I/O CPU mengontrol periferal secara langsung Ditambahkannya sebuah pengontrol atau modul I/O. CPU menggunakan I/O terprogram tanpa interrupt Digunakannya interrupt untuk transfer data Modul I/O diberi akses langsung ke memori melalui DMA Modul I/O ditingkatkan kemampuannya menjadi sebuah prosesor yang memiliki tugasnya sendiri, menggunakan instruksi tertentu untuk I/O tertentu  sering disebut saluran I/O (I/O channel) Modul I/O memiliki memori lokalnya sendiri dan merupakan sebuah komputer yang memiliki tugasnya sendiri  sering disebut prosesor I/O

Karakteristik I/O Channel Merepresentasikan pengembangan konsep DMA Saluran I/O mempunyai kemampuan untuk mengeksekusi instruksi I/O, yang memberikan kontrol sepenuhnya terhadap operasi-operasi I/O CPU akan memulai pemindahan data dengan menginstruksikan I/O Channel untuk mengeksekusi program di dalam memori

Jenis I/O Channel Selector Channel Multiplexer Channel Transfer data didedikasikan terhadap satu periferal saja Multiplexer Channel Menerima dan mengirimkan data secepat mungkin ke beberapa perangkat

ANY QUESTION?