Top Banner
Chapter 6 Input/Output
35

Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

May 25, 2019

Download

Documents

tranque
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Chapter 6Input/Output

Page 2: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Masalah-masalah I t/O t tInput/Output

Periferal yang bervariasiPengiriman jumlah data yang berbedaDengan kecepatan yang berbedaDalam format yang berbeda

Sem a pe ife al I/O be kecepatan lebih lambatSemua periferal I/O berkecepatan lebih lambat dari CPU dan RAMMemerlukan modul I/OMemerlukan modul I/O

Page 3: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Modul Input/OutputModul Input/Output

Interface ke CPU dan memoriMelalui sistem bus atau perpindahan utama

Interface ke satu atau lebih periferalMelalui link yang sesuai

Page 4: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Peralatan External Peralatan External

Terbaca manusiaMonitor, printer, keyboard

Terbaca mesinPengawasan dan kontrolS kt t it /di k tikSensor, aktuator, pita/disk magnetik

KomunikasiM dModemNetwork Interface Card (NIC)

Page 5: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Fungsi Modul I/O Module Fungsi Modul I/O Module

Kontrol dan timingMengkoordinasikan lalu lintas antara sumber daya internal dan perangkat externalinternal dan perangkat external.

Komunikasi prosesor Kom niksasi pe angkatKomuniksasi perangkatData BufferingD t k i k l hDeteksi kesalahan

Page 6: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Langkah-langkah kontrol transfer d t ( t l k CPU) I/O data (external ke CPU) I/O

CPU meminta modul I/O untuk memeriksa status perangkat yang terhubungModul I/O menjawab status perangkatJika sedang on dan siap mengirim, CPU minta t f d t d i t h t t t k d l I/Otransfer data, dng perintah tertentu ke modul I/OModul I/O akan memperoleh unit data (mis 8 atau 16 bit) d i k t t16 bit) dari perangkat extData akan ditransfer dari modul I/O ke prosesor

Page 7: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Diagram Blok Modul I/O Diagram Blok Modul I/O

Systems Bus Interface l i f

Data RegisterExternalDeviceData

Data

Systems Bus Interface External Device Interface

a a eg s e

Status/Control Register

DeviceInterfaceLogic

DataLines Status

Control

Inp tAddress

ExternalDeviceInterface

InputOutputLogic

Lines

DataLi

Data

StatusInterfaceLogicLines Control

Page 8: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Teknik Input Output Teknik Input Output

I/O TerprogramI/O Interrupt drivenDirect Memory Access (DMA)

Page 9: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

I/O TerprogramI/O Terprogram

Antara CPU dengan I/O saling menukarkan dataStatus perangkat sensor Perintah Read/write Transfer data

Ketika CPU membe i pe intah mod l I/O makaKetika CPU memberi perintah modul I/O, maka CPU menunggu modul I/O menyelesaikan operasinyaoperasinyaJika CPU lebih cepat dari modul I/O, maka membuang waktu CPUmembuang waktu CPU

Page 10: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

I/O Terprogram detailI/O Terprogram - detail

CPU meminta I/O melakukan operasiModul I/O melakukan operasi/ pModul I/O menetapkan bit statusCPU memeriksa bit status secara periodikCPU memeriksa bit status secara periodikModul I/O tidak melaporkannya ke CPUModul I/O tidak meng-interrupt CPUCPU akan menunggu atau kembali lagi gg g

Page 11: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Perintah perintah I/O (1)Perintah-perintah I/O (1)

CPU dan alamatProsesor mengeluarkan alamat yang menspesifikasi modul I/O dan perangkat ext serta perintah I/Omodul I/O dan perangkat ext, serta perintah I/O

Perintah I/OKetika modul I/O dialamati oleh CPU yaitu:Ketika modul I/O dialamati oleh CPU, yaitu:Control – mengaktifkan periferal dan memberi tahu apa yang harus dilakukan p y g⌧e.g. unit pita magnetik yang diinstruksikan untuk

menggulung ulang atau memajukan sebuahrekaman (perintah ini dikhususkan ke jenis perangkat periferalnya)(p j p g p y )

Page 12: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Perintah perintah I/O (2)Perintah-perintah I/O (2)

Test – menguji berbagai macam kondisi status yg berhubungan dengan perangkat periferalnya⌧e g power? Error?⌧e.g. power? Error?

Read – modul I/O akan memperoleh data dari if l d k d b ff i lperiferal dan menempatkannya pada buffer internal.

Write modul I/O mengambil data dari bus data danWrite – modul I/O mengambil data dari bus data dan kemudian mentransmisikan data tersebut ke periferal

Page 13: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Pengalamatan perangkat I/OPengalamatan perangkat I/O

Pada I/O terprogram, transfer data sangat mirip dengan akses memori

Setiap perangkat diberi kode pengenal yang unik

Perintah-perintah CPU terdiri dari kode pengenal (alamat)( )

Page 14: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Pemetaan I/OPemetaan I/O

Memori pemetaan I/OPerangkat I/O dan memori berbagi sebuah ruang alamatI/O terlihat mirip dengan memori read / writeI/O terlihat mirip dengan memori read / writeTidak ada perintah khusus untuk I/O

I/O t i l iI/O terisolasiRuang alamat I/O terpisah dengan ruang alamat memoriMemerlukan pemilihan jalur I/O atau memoriTerdapat perintah khusus untuk I/O

Page 15: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

I/O Interrupt Driven I/O Interrupt - Driven

CPU harus menungguCPU harus menunggu Tidak ada pengecekan ulang perangkat I/OM d l I/O k l k k i t t bil iModul I/O akan melakukan interrupt bila siap

Page 16: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

I/O Interrupt - Driven Operasi dasarOperasi dasar

CPU memerintahkan readModul I/O mendapatkan data dari periferal dengan saat yang bersamaan CPU melakukan kerja yang lainM d l I/O i t t CPUModul I/O menginterrupt CPUCPU meminta dataModul I/O melakukan transfer data

Page 17: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

CPU (Prosesor)CPU (Prosesor)

Memerintahkan readMelakukan kerja yang lainCek untuk interrupt disetiap akhir putaran instruksiDilakukan interrupt, jika:

Menyimpan data (register)Proses interrupt⌧Mendapatkan data & menyimpannya

Lihat catatan tentang OSLihat catatan tentang OS

Page 18: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Masalah PerancanganMasalah Perancangan

Bagaimana mengidentifikasi modul melakukan interrupt?Bagaimana menangani multiple interrupt?

Page 19: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Identifikasi Modul Interupsi (1)(1)

Jalur yang berbeda untuk setiap modulJalur yang berbeda untuk setiap modulPoll Software Daisy Chain atau Hardware pollDaisy Chain atau Hardware pollBus Master

Module must claim the bus before it can raiseModule must claim the bus before it can raise interrupte.g. PCI & SCSI

Page 20: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Multiple InterruptsMultiple Interrupts

Setiap jalur interrupt mempunyai prioritasJalur prioritas utama bisa melakukan interrupt jalur yang berprioritas lebih rendahJika

Page 21: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Example PC BusExample - PC Bus

80x86 mempunyai satu jalur interrupt Sistem 8086 menggunakan sebuah 8259A interrupt controller8259A mempunyai 8 jalur interrupt

Page 22: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

PC Interrupt LayoutPC Interrupt Layout

80868259A

IRQ0

INTR

QIRQ1IRQ2IRQ3 INTRIRQ3IRQ4IRQ5IRQ6IRQ7

Page 23: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Rangkaian kejadianRangkaian kejadian

8259A menerima interrupt8259A menentukan prioritas8259A memberi sinyal ke CPU (peningkatan jalur INTR)CPU melakukan Acknowledges (jalur INTA)8259A menempatkan informasi vector yang sesuai pada bus data CPU melakukan proses interrupt

Page 24: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Foreground ReadingForeground Reading

http://www.pcguide.com/ref/mbsys/res/irq/func.htm

In fact look at http://www pcguide com/In fact look at http://www.pcguide.com/

Page 25: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Direct Memory Access(Ak i l )(Akses memori langsung)

I/O terprogram dan I/O Interrupt driven memiliki kelemahan

f /O b dKecepatan Transfer I/O terbatas. Dimana dengan kecepatan itu prosesor dapat menguji dan melayani perangkatp gCPU ditentukan oleh pengaturan transfer I/O

DMA is the answer, jika data yang akan , j y gdipindahkan sangat besar

Page 26: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Fungsi DMA Fungsi DMA

Modul tambahan pada bus sistem

Modul DMA dapat menirukankan CPU dan mengambil alih kontrol sistem dari CPU

Page 27: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Operasi DMA Operasi DMA

CPU mengirim perintah ke DMA :Read/WriteAlamat perangkatPenempatan awal memori Jumlah data (word) yang akan ditransfer

CPU melanjutkan pekerjaan lainCPU melanjutkan pekerjaan lainDMA controller akan memindahkan data tanpa melalui CPUDMA t ll t l h l i i i i l i t iDMA controller setelah selesai mengirim sinyal interupsi ke CPU CPU hanya terlibat di awal dan akhir transfer

Page 28: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Pencurian siklus DMA TransferDMA Transfer

DMA controller mengambil alih bus sistem untuk sebuah siklus dari CPUMengirim satu word dataTidak ada interrupt (terhadap CPU)CPU menghentikan operasi untuk sementara

i.e. sebelum sebuah instruksi atau mengambil data ata men lis dataatau menulis data

Page 29: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Pandangan lainPandangan lain

Apa akibat dari cache memori mempunyai DMAHitung: berapa banyak bus sistem yang bisa digunakan

Page 30: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

DMA Configurations (1)DMA Configurations (1)

CPU DMAController

I/ODevice

I/ODevice

Main Memory

Single Bus, DMA controller terpisahSetiap transfer menggunakan bus dua kali

I/O ke DMA kemudian DMA ke memory

CPU terhenti kerjanya dua kali

Page 31: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

DMA Configurations (2)DMA Configurations (2)

CPU DMAController

Main Memory

DMAController

I/ODevice

I/ODevice

I/ODevice

Single Bus, Integrated DMA controllerController bisa menangani >1 perangkatSetiap transfer mengunakan bus satu kali

DMA ke memory

CPU terhenti kerjanya satu kali

Page 32: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

DMA Configurations (3)DMA Configurations (3)

CPU DMAController

Main Memory

Pemisahan bus I/O

I/ODevice

I/ODevice

I/ODevice

I/ODevice

Pemisahan bus I/OBus mendukung semua perangkat DMA Setiap transfer menggunakan bus satu kaliSetiap transfer menggunakan bus satu kali

DMA ke memory

CPU terhenti kerjanya satu kaliCPU terhenti kerjanya satu kali

Page 33: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

I/O ChannelsI/O Channels

Perangkat I/O semakin rumite.g. 3D graphics cards

CPU memerintahkan I/O controller melakukan transferI/O ll l k k fI/O controller melakukan semua transferKinerja

Beban kerja CPU berkurangKinerja keseluruhan meningkat

Page 34: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Interfacing (antar muka)Interfacing (antar muka)

Menghubungkan beberapa perangkat menjadi satuSerial atau paralel?Diperuntukkan processor/memory/buses?

E.g. SCSI, FireWire, Infiniband

Page 35: Chapter 6 Input/Output - file.upi.edufile.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK... · aI/O Terprogram aI/O Interrupt driven aDirect Memory Access (DMA) I/O Terprogram aAntara CPU

Foreground ReadingForeground Reading

Check out Universal Serial Bus (USB)Compare with other communication standards e.g. Ethernet