Input/Output. (Pertemuan ke-9) Prodi S1 Teknik Informatika Fakultas Informatika Universitas Telkom. Diedit ulang oleh: Endro Ariyanto

dokumen-dokumen yang mirip
DCH1B3 Konfigurasi Perangkat Keras Komputer. Input/Output

Input : Memasukkan data dari luar kedalam mikroprosesor Contoh: Keyboard, mouse

DASAR KOMPUTER. Input/Output

P10 Media I/O Universitas Mercu Buana Yogyakarta

Input : Memasukkan data dari luar kedalam mikroprosesor Contoh: Keyboard, mouse

ORGANISASI KOMPUTER 1

Sistem komputer. Tiga komponen utama :

Pertemuan Ke-8 Unit I/O (Unit Masukan dan Keluaran)

Chapter 6 Input/Output

Aditya Wikan Mahastama

Pertemuan ke - 12 Unit Masukan dan Keluaran Riyanto Sigit, ST. Nur Rosyid, S.kom Setiawardhana, ST Hero Yudo M, ST

Arsitektur Komputer II AUB SURAKARTA

MAKALAH. ORGANISASI DAN ARSITEKTUR KOMPUTER (Input Output BUS) Disusun untuk memenuhi tugas mata kuliah Organisasi dan Arsitektur Komputer

Sistem Komputer. Tiga komponen utama : CPU

Organisasi & Arsitektur Komputer

Disusun oleh: Endro Ariyanto. Prodi S1 Teknik Informatika Fakultas Informatika Universitas Telkom

Rangkuman Materi Presentasi AOK. Input/Output Terprogram, Intterupt Driven dan DMA. (Direct Memory Access)

TI2043 Organisasi dan Arsitektur Komputer Tugas 2 Interrupt Driven I/O

SINYAL INTERUPSI. 1. Latar Belakang

Perangkat Keras Masukan/Keluaran. Kelompok : Intan Sari H. H. Z Verra Mukty

Apa yang dimaksud dengan program?

Sistem Bus. (Pertemuan ke-10) Prodi S1 Teknik Informatika Fakultas Informatika Universitas Telkom. (INTERKONEKSI antar BAGIAN UTAMA KOMPUTER)

PENGANTAR ORGANISASI DAN ARSITEKTUR KOMPUTER SISTEM INPUT OUTPUT

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi

Organisasi dan Arsitektur Komputer : Perancangan Kinerja

TUGAS KELOMPOK MAKALAH

Konsep Organisasi dan Arsitektur Komputer (Pertemuan ke-2)

Pertemuan ke 13 Unit Masukan dan Keluaran Riyanto Sigit, ST. Nur Rosyid, S.kom Setiawardhana, ST Hero Yudo M, ST

Struktur Fungsi CPU. Mata Kuliah Arsitektur Komputer Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Materi 03 --

System Buses. Eri Prasetyo W.

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Bus Sistem. Oky Dwi Nurhayati, ST, MT

INPUT / OUTPUT. Fungsi : Memindahkan informasi antara CPU atau memori utama dengan dunia luar

12 Input / Output. Sistem I/O. Hardware I/O. Struktur PC Bus

INPUT/OUTPUT. Fungsi : Memindahkan informasi antara CPU atau memori utama dengan dunia luar

DIRECT MEMORY ACCESS (DMA)

Sistem Bus (Pertemuan ke-10)

INPUT/OUTPUT. Fungsi : Memindahkan informasi antara CPU atau memori utama dengan dunia luar

1 Tinjau Ulang Sistem Komputer

Struktur Central Processing Unit Universitas Mercu Buana Yogyakarta

William Stallings Computer Organization and Architecture

MENGENAL SISTEM KOMPUTER

STRUKTUR CPU. Arsitektur Komputer

REVIEW EVOLUSI KOMPUTER

Struktur Sistem Komputer

Sistem Operasi. Divais Input/Output 2016

Rahmady Liyantanto liyantanto.wordpress.com

Memori Utama. (Pertemuan ke-5) Prodi S1 Teknik Informatika Fakultas Informatika Universitas Telkom

Organisasi & Arsitektur Komputer

Cache Memori (bagian 3)

Sistem I/O. Hardware I/O Interface Aplikasi I/O Subsystem Kernel I/O Transformasi Permintaan (Request) I/O ke Operasi Hardware Stream Unjuk Kerja

STRUKTUR FUNGSI CPU. Menjelaskan tentang komponen utama CPU. Membahas struktur dan fungsi internal prosesor, organisasi ALU, control unit dan register

ebook Fakultas Teknologi Industri Universitas Gunadarma 2013

Struktur Sistem Komputer

Organisasi Komputer. Candra Ahmadi, MT

Cache Memori (bagian 1)

Arsitektur Sistem Komputer. Operasi Sistem Komputer. Struktur Sistem Komputer. Review:

Komponen-komponen Komputer

Introduction to Computer Architecture. Mata Kuliah Arsitektur Komputer Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Materi 01 --

KOMPONEN INTERFACING. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

Struktur Central Processing Unit Universitas Mercu Buana Yogyakarta

Pertemuan 10 DASAR ANTAR MUKA I/O

ARSITEKTUR DAN ORGANISASI KOMPUTER

Memori Sekunder (Pertemuan ke-3) Diedit ulang oleh: Endro Ariyanto Prodi S1 Teknik Informatika Fakultas Informatika Universitas Telkom

Operating System. I/O System. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

Struktur Sistem Komputer. Abdullah Sistem Informasi Universitas Binadarma

REVIEW EVOLUSI KOMPUTER

Sistem Operasi Pertemuan 1 Arsitektur Komputer. (Penyegaran) H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ.

PENGANTAR ORGANISASI DAN ARSITEKTUR KOMPUTER CENTRAL PROCESSING UNIT

BAB Arsitektur Komputer. Konsep Arsitektur Komputer. Rini Agustina, S.Kom, M.Pd RINI AGUSTINA - DARI BERBAGAI SUMBER

SISTEM OPERASI. CSP 2702 Semester/SKS : 4/3 Program Studi : Sistem Komputer Kamis, Ruang : P-22

Struktur Sistem Komputer

Hanif Fakhrurroja, MT

Cache Memori (bagian 2)

Pertemuan ke - 6 Struktur CPU

DCH1B3 Konfigurasi Perangkat Keras Komputer

ORGANISASI KOMPUTER ORGANISASI INPUT/OUTPUT MATA KULIAH:

CPU PERKEMBANGAN ARSITEKTUR CPU. ( Central Processing Unit )

Sistem Operasi. Struktur Sistem Komputer. Adhitya Nugraha. Fasilkom 10/6/2014

Berbagai Macam Bentuk Komputer

DASAR KOMPUTER. Pandangan Umum Komputer

Sistem Operasi TIKB1023 Munengsih Sari Bunga Politeknik Indramayu. TIKB1023/Minggu 2/SO/MSB

Struktur CPU 3/23/2011

Hanif Fakhrurroja, MT

BAB I PENDAHULUAN 1.1 Latar Belakang

Arsitektur Dan Organisasi Komputer. Pengantar Arsitektur Organisasi Komputer

Direktori yang diperlihatkan pada gambar 1. tersebut adalah untuk satu unit (mis. disk pack atau tape reel) dari penyimpanan sekunder. Labelnya berisi

BUS KOMPUTER. Di susun oleh : Yulius Ardi ( ) Purnomo ( ) Samih atif ( ) Agus tiawan ( ) Candra Gunawan ( )

intruksi kepada CPU untuk mengakses sistem operasi. BIOS tersimpan pada Read Only

Aditya Wikan Mahastama

Pendahuluan Arsitektur Organisasi Komputer

ORGANISASI DAN ARSITEKTUR KOMPUTER TUGAS KELOMPOK

ELEKTRONIKA DIGITAL PIC 8259

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

RENCANA PEMBELAJARAN SEMESTER. No.RPS/PTE/PTI6208 Revisi/Tgl : 00/18 Agustus 2015 Semester 2 Hal 1 dari 7

Pertemuan 5 MANAJEMEN PERANGKAT INPUT/OUTPUT

Oleh: 1. Singgih Gunawan Setyadi ( ) 2. Handung Kusjayanto ( ) 3. Wahyu Isnawan ( )

Perangkat Keras Komputer dan Perangkat Input Output

Pertemuan 2 Organisasi Komputer II. Struktur & Fungsi CPU (I)

Struktur Komputer KOMPUTER. Central Processing Unit System Interconnection. Main Memory I/O

Hanif Fakhrurroja, MT

Transkripsi:

Input/Output (Pertemuan ke-9) Diedit ulang oleh: Endro Ariyanto Prodi S1 Teknik Informatika Fakultas Informatika Universitas Telkom Februari 2016

Struktur Komputer Input/Output Peripherals Computer Central Processing Unit Main Memory Computer Systems Interconnection Communication lines Input/ Output Organisasi dan Arsitektur Komputer CSG2G3/2016 #1

Modul Input/Output Mengapa perlu modul Input/Output? Jenis peripheral* (device) sangat bermacam-macam: Ukuran data yang dapat ditransfer dalam satu saat berbeda Kecepatan berbeda Format data berbeda Dll Kecepatan semua peripheral jauh lebih lambat dibanding CPU dan RAM Apa fungsi utama modul I/O? Untuk menjembatani peripheral dengan CPU dan memori Untuk menjembatani CPU dan memori dengan satu atau beberapa peripheral *Peripheral = device eksternal yang terhubung ke modul I/O Organisasi dan Arsitektur Komputer CSG2G3/2016 #2

Letak Modul I/O Organisasi dan Arsitektur Komputer CSG2G3/2016 #3

Device Eksternal (Peripheral) Jenis-jenis device eksternal: Human readable sarana komunikasi manusia dengan mesin (komputer) Screen, printer, keyboard Machine readable sarana komunikasi antara komputer dengan device lain Harddisk, sensor, aktuator, dll Communication sarana komunikasi komputer dengan komputer lain Modem Network Interface Card (NIC) Organisasi dan Arsitektur Komputer CSG2G3/2016 #4

Blok Diagram Device Eksternal (1) Ke modul I/O Organisasi dan Arsitektur Komputer CSG2G3/2016 #5

Blok Diagram Device Eksternal (2) Signal kontrol: Menentukan apa yang harus dilakukan oleh device Misal: INPUT atau READ untuk menerima/membaca data dan OUTPUT atau WRITE untuk mengirimkan data ke device lain Signal status: Untuk mengirimkan status dari device (ready atau error) Jalur data: Saluran untuk mengirimkan/menerima deretan bit-bit ke/dari modul I/O Control logic: Menentukan aktifitas dan status device eksternal Buffer: Untuk menampung data dari/ke modul I/O sementara waktu, biasanya berukuran 8 hingga 16 bit Transducer: Mengubah bentuk data dari signal elektrik, mekanik, temperatur, tekanan, dll menjadi data digital dan sebaliknya Organisasi dan Arsitektur Komputer CSG2G3/2016 #6

Data Rate Beberapa Device Organisasi dan Arsitektur Komputer CSG2G3/2016 #7

Diagram Modul I/O Organisasi dan Arsitektur Komputer CSG2G3/2016 #8

Fungsi Modul I/O (1) (1) Control & Timing: Modul I/O berfungsi sebagai pengatur aliran data antara resource internal (CPU, memori) dengan device eksternal Contoh prosedur transfer data dari device CPU: CPU memeriksa status device melalui modul I/O Device memberikan statusnya melalui modul I/O Jika ready CPU minta agar device mengirimkan data Modul I/O menerima data dari device Modul I/O mengirimkan data ke CPU Organisasi dan Arsitektur Komputer CSG2G3/2016 #9

Fungsi Modul I/O (2) (2) CPU Communication: Modul I/O berfungsi sebagai media komunikasi dari CPU menuju device eksternal Apa yang dilakukan modul I/O? Men-decode perintah/command dari CPU Contoh perintah untuk harddisk: READ SECTOR, WRITE SECTOR, SEEK track number, dan SCAN record ID Menjadi media untuk pertukaran data Melaporkan status device (status reporting) Misal: BUSY atau READY Memeriksa/men-decode alamat yang dikirimkan oleh CPU (address recognition) Organisasi dan Arsitektur Komputer CSG2G3/2016 #10

Fungsi Modul I/O (3) (3) Device Communication: Modul I/O berfungsi sebagai media komunikasi dari device eksternal menuju CPU Apa yang dilakukan modul I/O? Meneruskan perintah/command dari CPU ke device Meneruskan status dari device ke CPU Meneruskan data dari device ke CPU Organisasi dan Arsitektur Komputer CSG2G3/2016 #11

Fungsi Modul I/O (4) (4) Data Buffering Modul I/O berfungsi sebagai penampung data sementara baik dari CPU/memori maupun dari peripheral Mengapa data perlu di-buffer? Kecepatan device sangat beragam Kecepatan device <<< kecepatan CPU Contoh: Data dari CPU: Langsung ditaruh di buffer Diberikan ke device sesuai dengan kecepatan ( daya serap ) device Data dari device: Dikumpulkan dulu di buffer Setelah periode tertentu baru dikirimkan ke CPU lebih efektif Organisasi dan Arsitektur Komputer CSG2G3/2016 #12

Fungsi Modul I/O (5) (5) Error Detection Modul I/O berfungsi sebagai pendeteksi kesalahan yang ditimbulkan oleh device Contoh kesalahan: Paper jam Bad sector Kertas habis Terjadi perubahan bit-bit data Dll Contoh metode deteksi: Bit parity Organisasi dan Arsitektur Komputer CSG2G3/2016 #13

Apakah Interrupt itu? Adalah mekanisme untuk menghentikan sementara waktu urutan eksekusi program yang normal (sequence) jika: kondisi tertentu telah terjadi ada program lain yang lebih mendesak untuk dieksekusi Apa penyebab interrupt? Program Misal: overflow, division by zero, akses ke illegal memori, dll Timer Dihasilkan oleh timer prosesor internal Digunakan pada pre-emptive multi-tasking I/O Dihasilkan oleh I/O controller (eksekusi telah selesai atau ada kesalahan) Hardware failure Misal: memory parity error, power failure, dll Organisasi dan Arsitektur Komputer CSG2G3/2016 #14

Siklus interrupt (1) Organisasi dan Arsitektur Komputer CSG2G3/2016 #15

Siklus interrupt - State Diagram siklus interrupt Organisasi dan Arsitektur Komputer CSG2G3/2016 #16

Siklus Interrupt (2) Pengecekan interrupt ditambahkan pada siklus instruksi Prosesor memeriksa apakah terjadi interrupt Jika tidak ada interrupt => kerjakan instruksi berikutnya Jika ada interrupt (ditandai adanya signal interrupt) Tunda program yang sedang dieksekusi Simpan context (alamat instruksi, data, dll) PC = alamat awal routine interrupt handler Kerjakan interrupt sampai selesai Kembalikan context (PC=alamat saat terjadi interrupt) Lanjutkan program yang tertunda Organisasi dan Arsitektur Komputer CSG2G3/2016 #17

Contoh Interrupt (1) Organisasi dan Arsitektur Komputer CSG2G3/2016 #18

Contoh Interrupt (2) lanjutkan aktifitas CPU nunggu hingga ada response dari I/O interrupt 1, 2, 3: Program internal (tanpa I/O) 4: Persiapan I/O 5: Tanda akhir I/O Organisasi dan Arsitektur Komputer CSG2G3/2016 #19

Efisiensi waktu pada Short I/O Wait I/O program Dilakukan bersamaan, tidak ada waktu CPU yang terbuang hanya untuk menunggu I/O program Lebih cepat selesai Organisasi dan Arsitektur Komputer CSG2G3/2016 #20

Efisiensi waktu pada Long I/O Wait I/O program Dilakukan bersamaan Dilakukan bersamaan I/O program Lebih cepat selesai Organisasi dan Arsitektur Komputer CSG2G3/2016 #21

Multiple Interrupts Ada 2 metode yang dapat digunakan: Disable interrupts Bila prosesor sedang menangani sebuah interrupt, maka interrupt berikutnya diabaikan (disable) Bila interrupt pertama telah selesai, prosesor memeriksa apakah masih ada interrupt yang lain Eksekusi interrupt dilakukan secara berurutan (sekuensial) Interrupt bertingkat (ada prioritas) Interrupt berprioritas rendah dapat diinterrupt oleh interrupt berprioritas tinggi Interrupt yang ter-interrupt dieksekusi lagi bila interrupt yang lebih tinggi telah selesai ditangani Organisasi dan Arsitektur Komputer CSG2G3/2016 #22

Multiple Interrupts - Sequential Apa kelebihannya? Apa kekurangannya? Misal: printer dengan saluran komunikasi Organisasi dan Arsitektur Komputer CSG2G3/2016 #23

Multiple Interrupts Bertingkat (1) Apa kelebihannya? Apa kekurangannya? Misal: printer, harddisk, dan saluran komunikasi Organisasi dan Arsitektur Komputer CSG2G3/2016 #24

Multiple Interrupts Bertingkat (2) Organisasi dan Arsitektur Komputer CSG2G3/2016 #25

Teknik Input Output (1) Programmed I/O I/O terjadi pada saat program yang di dalamnya terdapat perintah I/O dieksekusi Eksekusi I/O terus menerus melibatkan prosesor (2) Interrupt driven I/O I/O terjadi pada saat perintah I/O dieksekusi Sesudah perintah I/O dieksekusi CPU melanjutkan eksekusi perintah lainnya tidak terlibat terus menerus CPU berperan lagi jika sudah ada interrupt dari device (modul I/O) (3) Direct Memory Access (DMA) Transfer data ditangani oleh sebuah prosesor I/O khusus Organisasi dan Arsitektur Komputer CSG2G3/2016 #26

Programmed I/O (1) CPU terlibat langsung dalam mengendalikan I/O: Membaca status Menerima/mengirim perintah Transfer data (-) Selama menunggu operasi I/O selesai CPU tidak melakukan apa-apa Waktu CPU terbuang percuma (-) CPU harus selalu memeriksa status modul I/O (-) Performansi sistem menurun Organisasi dan Arsitektur Komputer CSG2G3/2016 #27

Programmed I/O (2) CPU: Mengirim perintah ke I/O Menunggu hingga aktifitas I/O selesai CPU memeriksa bitbit status secara periodik Modul I/O: Melaksanakan permintaan CPU Men-set bit-bit status Tidak berinisiatif memberi laporan status Tidak meng-interrupt CPU Organisasi dan Arsitektur Komputer CSG2G3/2016 #28

Programmed I/O (3) Apa yang dilakukan CPU? Mengirimkan alamat modul I/O (dan alamat device jika dalam modul tersebut terpasang lebih dari satu device) Mengirimkan perintah (command): Control: Untuk mengaktifkan peripheral Untuk menyuruh peripheral melakukan sesuatu» Misal: disk berputar, head bergerak, dsb. Test: Untuk memeriksa status device» Apakah ada tegangan?, apakah terjadi gangguan?, dsb Read: Untuk meminta data dari peripheral melalui modul I/O (misal baca data dari harddisk) Write: Untuk memberikan data ke peripheral (misal menulis data ke harddisk) Organisasi dan Arsitektur Komputer CSG2G3/2016 #29

Programmed I/O (4) Jenis pengalamatan I/O: (a) Memory mapped I/O Ruang alamat digunakan oleh memori dan I/O bersama-sama Jumlah alamat untuk memori berkurang CPU memperlakukan I/O seperti memori biasa Tidak ada perintah khusus bagi I/O (perintah yang digunakan mirip dengan perintah untuk memori) (b) Isolated I/O Memori dan I/O menggunakan ruang alamat yang sama secara bergantian Jumlah alamat untuk I/O sama banyak dengan alamat untuk memori Diperlukan select line untuk membedakan antara memori dengan I/O Diperlukan perintah khusus untuk I/O Organisasi dan Arsitektur Komputer CSG2G3/2016 #30

Interrupt Driven I/O (1) Modul I/O menginterrupt CPU jika device telah menyelesaikan pekerjaannya (+) CPU tidak perlu menunggu operasi I/O selesai CPU dapat mengerjakan program lain (+) CPU tidak perlu memeriksa status device terus menerus Organisasi dan Arsitektur Komputer CSG2G3/2016 #31

Interrupt Driven I/O (2) CPU: Mengirim perintah ke I/O Mengerjakan program berikutnya CPU memeriksa status interrupt Baca data Simpan data ke memori Modul I/O: Melaksanakan permintaan CPU Bila telah selesai/ada masalah kirim interupt Organisasi dan Arsitektur Komputer CSG2G3/2016 #32

Interrupt Driven I/O (3) Apa yang dilakukan CPU? Mengirimkan perintah baca Kerjakan program lain Periksa keberadaan interrupt setiap akhir siklus instruksi Jika terjadi interrupt: Simpan context (data di register, PC, dll) Tangani interrupt Ambil data dan simpan ke memori Organisasi dan Arsitektur Komputer CSG2G3/2016 #33

Interrupt Driven I/O (4) Proses interrupt PSW = Program Status Word (isi register) Organisasi dan Arsitektur Komputer CSG2G3/2016 #34

Interrupt Driven I/O (5) Contoh interrupt Ada interrupt Organisasi dan Arsitektur Komputer CSG2G3/2016 #35

Teknik Identifikasi Interrupt (1) Bagaimana cara menentukan/mengetahui modul/device yang mengirimkan interrupt? Bagaimana cara menangani multiple interrupt? Misal: program interrupt handler terinterrupt lagi Organisasi dan Arsitektur Komputer CSG2G3/2016 #36

Teknik Identifikasi Interrupt (2) Cara menentukan asal interrupt: (1) Digunakan banyak jalur interrupt Satu modul satu jalur (-) Tidak praktis karena harus menyediakan sejumlah jalur khusus untuk interrupt (-) Jumlah device yang dapat dipasang terbatas (2) Software poll (polling) (-) Lambat, karena harus memeriksa modul I/O satu persatu Mekanisme: Jika CPU mendeteksi adanya interrupt CPU menanyakan ke setiap modul I/O untuk mengetahui asal interrupt (polling) Misal dengan mengirimkan signal TESTI/O Modul pengirim interrupt akan menjawab signal tersebut Organisasi dan Arsitektur Komputer CSG2G3/2016 #37

Teknik Identifikasi Interrupt (3) Cara menentukan asal interrupt: (cont d) (3) Daisy chain atau hardware poll Digunakan satu jalur interrupt yang menghubungkan setiap modul I/O Modul satu dengan modul lainnya terhubung secara serial Mekanisme: Modul I/O mengirimkan interrupt melalui jalur interrupt bersama CPU mendeteksi adanya interrupt mengirimkan signal ke sebuah modul I/O Signal akan diestafetkan dari satu modul ke modul lainnya Hanya modul yang mengirimkan interrupt yang akan memberi jawaban Jawaban berupa word (vector) yang ditaruh di jalur data. Isi word = alamat modul I/O atau identitas unik lainnya Vector digunakan sebagai pointer untuk menunjuk langsung ke device sumber interrupt sebelum menjalankan interrupt handler disebut vectored interrupt Organisasi dan Arsitektur Komputer CSG2G3/2016 #38

Teknik Identifikasi Interrupt (4) Cara menentukan asal interrupt: (cont d) (4) Bus master Pengiriman interrupt dilakukan bila modul I/O telah menguasai (master) bus Mekanisme: Modul I/O mengirimkan permintaan untuk menggunakan bus Arbiter memberi kesempatan kepada I/O modul hanya satu modul dalam satu saat Modul I/O mengirimkan interrupt CPU mendeteksi adanya interrupt dan memberi respons melalui jalur acknowledge Modul I/O mengirimkan word (vector) ke jalur data Organisasi dan Arsitektur Komputer CSG2G3/2016 #39

Contoh 82C59A (1) Contoh interrupt controller: 82C59A Setiap controller 82C59A dapat menangani 8 interrupt Bila jumlah device lebih banyak 82C59A disusun secara bertingkat Organisasi dan Arsitektur Komputer CSG2G3/2016 #40

Contoh 82C59A (2) Cara kerja: 8259A menerima interrupt dari device 8259A menentukan prioritas (bila lebih dari satu device yang meng-interrupt) 8259A mengirimkan signal ke CPU 8086 (melalui jalur INTR) CPU mengirimkan respons (acknowledge) 8259A menaruh vector ke bus data CPU memproses interrupt Organisasi dan Arsitektur Komputer CSG2G3/2016 #41

Contoh Intel 82C55A Programmable Peripheral Interface (PPI) (1) Organisasi dan Arsitektur Komputer CSG2G3/2016 #42

Contoh Intel 82C55A Programmable Peripheral Interface (PPI) (2) Dapat digunakan untuk programmed I/O maupun interrupt driven I/O Terdiri dari single chip Termasuk modul I/O serbaguna yang dirancang untuk CPU 80386 Terdapat 24 jalur I/O (PA0-PA7 + PB0-PB7 + PC0-PC7) yang dapat diprogram dengan 80386 sesuai dengan kebutuhan PC0-PC7 digunakan untuk jalur kontrol dan signal Organisasi dan Arsitektur Komputer CSG2G3/2016 #43

Contoh 82C55A Untuk Mengontrol Keyboard/Display Organisasi dan Arsitektur Komputer CSG2G3/2016 #44

Direct Memory Access (DMA) Mengapa DMA diperlukan? Karena programmed I/O dan interrupt driven I/O: Masih memerlukan keterlibatan CPU CPU menjadi sibuk Transfer rate data terbatas DMA solusinya Organisasi dan Arsitektur Komputer CSG2G3/2016 #45

Fungsi DMA Digunakan modul khusus (hardware) yang terhubung ke sistem bus Fungsi modul DMA: Dapat menirukan sebagian fungsi prosesor Dapat mengambil alih fungsi prosesor yang berhubungan dengan transfer data Kapan DMA bekerja? Saat prosesor sedang tidak menggunakan bus Saat prosesor dipaksa berhenti sesaat (suspend) siklusnya dicuri oleh DMA disebut cycle stealing Organisasi dan Arsitektur Komputer CSG2G3/2016 #46

Diagram Modul DMA Organisasi dan Arsitektur Komputer CSG2G3/2016 #47

Cara Kerja DMA CPU mengirimkan data-data berikut ini ke DMA controller: Perintah Read/Write Alamat device yang akan diakses Alamat awal blok memori yang akan dibaca/ditulisi Jumlah blok data yang akan ditransfer CPU mengeksekusi program lain DMA controller mengirimkan seluruh blok data (per satu word) langsung ke memori (tanpa melibatkan CPU) DMA controller mengirim interrupt ke CPU jika telah selesai Organisasi dan Arsitektur Komputer CSG2G3/2016 #48

Cycle Stealing Pada DMA Transfer (1) DMA controller mengambil alih bus sebanyak satu siklus DMA men-transfer satu word data Pengambil alihan bus oleh DMA bukan interrupt CPU tidak perlu menyimpan context CPU hanya tertunda (suspend) sesaat (satu siklus) sebelum mengakses bus Yaitu sebelum operand atau data diambil atau data ditulis Apa pengaruhnya terhadap CPU? Memperlambat CPU, tetapi masih lebih baik daripada CPU terlibat langsung pada transfer data Organisasi dan Arsitektur Komputer CSG2G3/2016 #49

Cycle Stealing Pada DMA Transfer (2) Organisasi dan Arsitektur Komputer CSG2G3/2016 #50

Konfigurasi DMA (1) Konfigurasi I: Hanya menggunakan single bus DMA dan modul I/O terpisah Setiap transfer harus mengakses bus 2 kali: modul I/O ke DMA kemudian DMA ke memori CPU tertunda 2 kali lebih lambat Organisasi dan Arsitektur Komputer CSG2G3/2016 #51

Konfigurasi DMA (2) Konfigurasi II: Hanya menggunakan single bus DMA controller dan modul I/O terintegrasi Satu DMA controller dapat menangani >1 modul I/O Setiap transfer hanya perlu mengakses bus satu kali saja DMA ke memori CPU hanya tertunda satu kali lebih baik Organisasi dan Arsitektur Komputer CSG2G3/2016 #52

Konfigurasi DMA (3) Konfigurasi III: Digunakan bus I/O secara terpisah Semua modul I/O cukup dilayani dengan sebuah DMA lebih hemat hardware Setiap transfer hanya perlu mengakses bus satu kali saja DMA ke memori CPU hanya tertunda satu kali lebih baik Organisasi dan Arsitektur Komputer CSG2G3/2016 #53

Referensi [STA10] Stalling, William. 2010. Computer Organization and Architecture: Designing for Performance. 8 th edition Organisasi dan Arsitektur Komputer CSG2G3/2016 #54