Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Operasi Input Output (I/O)

Presentasi serupa


Presentasi berjudul: "Operasi Input Output (I/O)"— Transcript presentasi:

1 Operasi Input Output (I/O)

2 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

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

4 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

5 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

6 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

7 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

8 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

9 INFORMATICS I/O Terprogram

10 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

11 Masukan Terprogram

12 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

13 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

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

15 Contoh Keluaran

16 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

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

18 INFORMATICS Instruksi Restart

19 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

20 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

21 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

22 Pelaksanaan RESTART

23 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

24 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

25 INFORMATICS INTERUPSI

26 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

27 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

28 Lokasi Restart

29 INFORMATICS Interrupt Driven I/O

30 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

31 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

32 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

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

34 INFORMATICS Instruksi Interupsi

35 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

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

37 SIM (Set Interrupt Mask)
Digunakan untuk menghalangi interupsi hardware

38 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’

39 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:

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

41 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

42 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

43 Memperluas Sistem Interupsi
INFORMATICS Memperluas Sistem Interupsi

44 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

45 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

46 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

47 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

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

49 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

50 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

51 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

52 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

53 Saluran I/O dan Prosesor I/O

54 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

55 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

56 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

57 ANY QUESTION?


Download ppt "Operasi Input Output (I/O)"

Presentasi serupa


Iklan oleh Google