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