chapter 6 input/output - file.upi.edufile.upi.edu/direktori/fptk/jur._pend._teknik... · ai/o...
TRANSCRIPT
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
Modul Input/OutputModul Input/Output
Interface ke CPU dan memoriMelalui sistem bus atau perpindahan utama
Interface ke satu atau lebih periferalMelalui link yang sesuai
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)
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
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
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
Teknik Input Output Teknik Input Output
I/O TerprogramI/O Interrupt drivenDirect Memory Access (DMA)
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
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
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 )
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
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)( )
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
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
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
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
Masalah PerancanganMasalah Perancangan
Bagaimana mengidentifikasi modul melakukan interrupt?Bagaimana menangani multiple interrupt?
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
Multiple InterruptsMultiple Interrupts
Setiap jalur interrupt mempunyai prioritasJalur prioritas utama bisa melakukan interrupt jalur yang berprioritas lebih rendahJika
Example PC BusExample - PC Bus
80x86 mempunyai satu jalur interrupt Sistem 8086 menggunakan sebuah 8259A interrupt controller8259A mempunyai 8 jalur interrupt
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
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/
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
Fungsi DMA Fungsi DMA
Modul tambahan pada bus sistem
Modul DMA dapat menirukankan CPU dan mengambil alih kontrol sistem dari 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
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
Pandangan lainPandangan lain
Apa akibat dari cache memori mempunyai DMAHitung: berapa banyak bus sistem yang bisa digunakan
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
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
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
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
Interfacing (antar muka)Interfacing (antar muka)
Menghubungkan beberapa perangkat menjadi satuSerial atau paralel?Diperuntukkan processor/memory/buses?
E.g. SCSI, FireWire, Infiniband