IO Operation 9 Direct Memory Access Direct Memory Access 2 DMA Operation Direct Memory Access 3 Direct Memory Access 5 Direct Memory Access 6 Direct Memory Access 7

6 21 Arsitektur dan Organisasi Komputer

7.3 IO Operation 7

• Ketika CPU meminta data, modul IO menyimpan data tersebut pada bus data, kemudian bersiap untuk melakukan operasi IO lainnya. 22 Arsitektur dan Organisasi Komputer

7.3 IO Operation 8

Interrupt-Driven IO – CPU Viewpoint • CPU memberikan perintah baca kepada modul IO • Modul IO menerima perintah tersebut dan melakukan pembacaan data dari perangkat yang dimaksud • CPU mengerjakan pekerjaan yang lain • Setiap kali CPU telah menyelesaikan 1 siklus pengolahan  CPU cek interrupt  ada  CPU menyimpan konteks pengolahan PC dan register  menanggapi interrupt 23 Arsitektur dan Organisasi Komputer

7.3 IO Operation 9

Interrupt-Driven IO – Interrupt Processing Sumber: William Stalling, 2010, Computer Organization and Architecture: Designing for Performance, 8th edition 24 Arsitektur dan Organisasi Komputer

7.3 IO Operation 11

Interrupt-Driven IO – Design Issues • How does the processor determine which device issued the interrupt? • How does the processor decide which one to process? If multiple interrupt accured. • 4 teknik yang umum digunakan:

1. Multiple interrupt lines 2. Software poll

3. Daisy Chain Hardware poll, vectored 4. Bus Arbitration vector 7 25 Arsitektur dan Organisasi Komputer

7.3 IO Operation 11

Interrupt-Driven IO – Design Issues

1. Multiple Interrupt Lines, menyediakan banyak

jalur interupsi antara CPU dan modul IO.

2. Software Poll.

1. mengumpulkan setiap modul IO untuk menentukan modul IO yang menyebabkan interrupt; 2. CPU menempatkan alamat modul IO tertentu pada bus alamat; 3. modul IO akan memberi respon apabila modul IO memberikan interrupt; 26 Arsitektur dan Organisasi Komputer

7.3 IO Operation 12

4. karena setiap modul IO memiliki register status yang dapat dialamatkan, maka CPU akan membaca register status setiap modul IO untuk mengidentifikasikan modul yang mengirimkan interrupt; 5. ketika modul IO yang tepat ditemukan, maka device- service routine diberikan kepada perangkat tersebut.

3. Daisy Chain.

1. semua modul IO berbagi interrupt request line; 2. sinyal interrupt acknowledge line dikirimkan secara berantai chained melalui modul-modul; 3. ketika CPU mengetahui adanya interrupt, CPU menerbitkan interrupt acknowledge; 27 Arsitektur dan Organisasi Komputer

7.3 IO Operation 13

4. sinyal interrupt acknowledge merambat melalui serangkaian modul IO hingga ke modul yang memberikan interrupt; 5. modul yang memberikan interrupt menanggapi dengan dengan menempatkan word pada bus data vector;

6. Bus Arbitration, modul IO harus memperoleh kontrol bus sebelum menggunakan interrupt

request line. 28 Kekurangan programmed IO dan interrupt- driven IO:

1. baik interrupt-driven IO maupun programmed IO membutuhkan keterlibatan CPU;

2. kecepatan pengiriman data dibatasi oleh kecepatan transfer IO; 3. prosesor ditentukan oleh pengaturan transfer IO, dimana sejumlah instruksi harus dieksekusi untuk setiap transfer IO. Arsitektur dan Organisasi Komputer

7.4 Direct Memory Access

8 29 DMA Function • Melibatkan modul tambahan pada sistem bus  modul DMA • Modul DMA mampu menirukan prosesor dan bahkan mengambil alih kontrol sistem dari prosesor. • Modul DMA harus menggunakan bus hanya ketika prosesor tidak memerlukannya atau modul DMA harus memaksa prosesor untuk menghentikan operasi untuk sementara  cycle stealing Arsitektur dan Organisasi Komputer

7.4 Direct Memory Access 2 DMA Operation

• readwrite yang diminta, • alamat perangkat IO • alamat awal blok memori data • jumlah datayang akan dikirimkan 30 Arsitektur dan Organisasi Komputer

7.4 Direct Memory Access 3

CPU RAM Device-1 Device-2 Device-n DMA Module interrupt data transfer request rw status checking rw data 31 Arsitektur dan Organisasi Komputer DMA Cycle Stealing Sumber: William Stalling, 2010, Computer Organization and Architecture: Designing for Performance, 8th edition 32 DMA Configuration – 1 Arsitektur dan Organisasi Komputer

7.4 Direct Memory Access 5

• Single-bus, detached DMA • Semua modul berbagi bus sistem • Pengiriman data menggunakan bus data sebanyak 2 kali: IO  DMA  memori • CPU menunda sebanyak 2 kali Sumber: William Stalling, 2010, Computer Organization and Architecture: Designing for Performance, 8th edition 9 33 DMA Configuration - 2 Arsitektur dan Organisasi Komputer

7.4 Direct Memory Access 6

• Single-bus, integrated DMA controller • Controller dapat menangani 1 perangkat IO • Pengiriman data menggunakan bus data sebanyak 1 kali: IO- DMA  memori • CPU menunda sebanyak 1 kali Sumber: William Stalling, 2010, Computer Organization and Architecture: Designing for Performance, 8th edition 34 DMA Configuration - 3 Arsitektur dan Organisasi Komputer

7.4 Direct Memory Access 7

Sumber: William Stalling, 2010, Computer Organization and Architecture: Designing for Performance, 8th edition 35 Arsitektur dan Organisasi Komputer DMA Configuration – 3 2 • Separate IO Bus • Bus mendukung semua perangkat aktif DMA • Pengiriman data menggunakan bus data sebanyak 1 kali: DMA  memori • CPU menunda sebanyak 1 kali

7.4 Direct Memory Access 8