I/O Çeşitleri

Содержание

Слайд 2

Interrupt-Driven I/O Kesme Odaklı G/Ç

Polling deki tüm problemler kesmeli G/Ç kullanılarak ortadan kaldırılabilir:
Herhangi

Interrupt-Driven I/O Kesme Odaklı G/Ç Polling deki tüm problemler kesmeli G/Ç kullanılarak
bir servis isteği olması durumunda harici cihazın bizzat kendisi CPU ‘yu uyarır; CPU ‘nun sorgulamasına gerek yoktur
I/O işlemleri bir aygıt tarafından başlatılır.
Aygıt ya da onun I/O modülü, CPU da bir kesme oluşturmak için bir sinyal oluşturur.
Bu sinyaller kesme hattı-interrupt lines olarak adlandırılır.
Genel bir CPU 8 ila 16 kesme sinyalini destekler.
Genel isimleri: IRQ1, IRQ2, IRQ3, vs.

Слайд 3

Interrupt Servisi

Bir kesme meydana geldiğinde (kabul edilir), çalışan mevcut program askıya alınır.

Interrupt Servisi Bir kesme meydana geldiğinde (kabul edilir), çalışan mevcut program askıya

Özel bir rutin kesme servisi işletilir.
Ardından, kesilen program sürdürülür.
Bu rutin kesme, kesme hizmet programı- interrupt service routine (ISR) ya da kesme işleyicisi-interrupt handler olarak adlandırılır.

Слайд 4

Registerları Kaydetme

Kesilen programın sürdürülebilmesi için, CPU durumu ve data register kaydedilmelidir. (çünkü

Registerları Kaydetme Kesilen programın sürdürülebilmesi için, CPU durumu ve data register kaydedilmelidir.
ISR süresince değiştirilecek)
ISR çalıştırılmadan önce kaydedilir.
ISR çalıştırıldıktan sonra yeniden geri yüklenir.

Слайд 5

Interruptların Kullanımı

CPU dışındaki bir olayı bildiren
Bir tamamlama sinyali olarak
CPU’ya zaman tahsis

Interruptların Kullanımı CPU dışındaki bir olayı bildiren Bir tamamlama sinyali olarak CPU’ya
aracı olarak
Anormal bir durum göstergesi olarak

Слайд 6

Harici olaylar için Kesme Interrupts for External Events

CPU yu bir olaydan ’’event’’haberdar etmek

Harici olaylar için Kesme Interrupts for External Events CPU yu bir olaydan
için, bir aygıtta bir olay meydana geldiğinde, bir kesme sinyali oluşur.
Örneğin,
Klavye: Bir tuşa basıldığında, ISR tuş için kod okur)
Notebook kapağı: Kapak kapatıldığında ISR bilgisayarı standby moduna alır)

Слайд 7

Interruptların Kullanımı

CPU dışındaki bir olayı bildiren
Bir tamamlama sinyalı olarak
CPU’ya zaman tahsisi

Interruptların Kullanımı CPU dışındaki bir olayı bildiren Bir tamamlama sinyalı olarak CPU’ya
aracı olarak
Anormal bir durum göstergesi olarak

Слайд 8

Tamamlama Sinyalleri için Kesme Interrupts for Completion Signals

Bir aygıt bir işlemi tamamladığında bir

Tamamlama Sinyalleri için Kesme Interrupts for Completion Signals Bir aygıt bir işlemi
kesme sinyali oluşur. CPU bu durumu bilmelidir
Örneğin,
Yazıcı: «Çıkış bufferı (tampon) boştur.» CPU daha fazla veri gönderebilir.
Tarayıcı: «Bir veri transferi tamamdır.» (CPU/uygulama imaj verisini işlemeye devam edebilir.)

Слайд 9

Interruptların Kullanımı

CPU dışındaki bir olayı bildiren
Bir tamamlama sinyali olarak
CPU ya zaman

Interruptların Kullanımı CPU dışındaki bir olayı bildiren Bir tamamlama sinyali olarak CPU
tahsisi aracı olarak
Anormal bir durum göstergesi olarak

Слайд 10

CPU’ya Zaman Tahsisi için Kesme Interrupts for Allocating CPU Time

multi-tasking sistemler üzerinde yararlıdır

CPU’ya Zaman Tahsisi için Kesme Interrupts for Allocating CPU Time multi-tasking sistemler
– sistemler aynı anda birden fazla programı çalıştırabilir
Örneğin,
Bir zamanlayıcı (timer) CPU ‘yu her 100 µs ye de kesme için programlayabilir.
ISR ‘nin yaptığı iş program görevlendiriciliktir.
(dispatcher program)
Programları çalıştırma örneğin her 100 µs de bir diğer programın çalıştırılmasına geçebilir.

Слайд 11

Interruptların Kullanımı

CPU dışındaki bir olayı bildiren
Bir tamamlama sinyali olarak
CPU ya zaman

Interruptların Kullanımı CPU dışındaki bir olayı bildiren Bir tamamlama sinyali olarak CPU
tahsisi aracı olarak
Anormal bir durum göstergesi olarak

Слайд 12

Anormal durumlar için Kesme Interrupts for Abnormal Events

Anormal bir olay anında örneğin sistemin

Anormal durumlar için Kesme Interrupts for Abnormal Events Anormal bir olay anında
bakıma ihtiyacı ortaya çıktığında bir kesme sinyali oluşur
Örneğin.,
CPU çipinin yanındaki ısı sensörü– eğer ısı aşırı yüksekse, bir kesme üretilir, ISR CPU yanındaki fan ı aktif eder.

Слайд 13

I/O Çeşitleri

Programlı I/O
Kesme odaklı (Interrupt-driven) I/O
Doğrudan Bellek Erişimi
(Direct memory access

I/O Çeşitleri Programlı I/O Kesme odaklı (Interrupt-driven) I/O Doğrudan Bellek Erişimi (Direct memory access - DMA)
- DMA)

Слайд 14

Niçin DMA?

Aygıt ve bellek arasındaki yüksek hızlı blok transferleri için kullanılır
Transfer esnasında

Niçin DMA? Aygıt ve bellek arasındaki yüksek hızlı blok transferleri için kullanılır
CPU görev almaz
Genel DMA aygıtları:
Disk sürücüler,
Hatırlatma (5. slayt)
Keyboard data rate ? 0.01 KB/s (her 100 ms 1 byte)
Disk drive data rate ? 2,000 KB/s (her 0.5 µs 1 byte)

Çok yüksek transfer hızları CPU üzerinde çalışan bir yazılım tarafından kontrol edilmesi zor

Слайд 15

Nasıl

CPU DMA denetleyicisine (DMAC) bilgi aktararak DMA operasyonu hazırlar:
Aygıttaki verinin yeri
Bellekteki verinin

Nasıl CPU DMA denetleyicisine (DMAC) bilgi aktararak DMA operasyonu hazırlar: Aygıttaki verinin
yeri
Transfer için blok uzunluğu
Transfer yönü
Transfer modu
Aygıt veri transferine hazır olduğunda, DMAC sistem veri yolu kontrolünü alır.

Слайд 16

“Kontrolü Alma” (1/2)

CPU

DMAC

BR
BG
BGACK

BR
BG
BGACK

BR = Bus request-Veriyolu Talebi (DMAC: Sistem veri yolu kontrolünü

“Kontrolü Alma” (1/2) CPU DMAC BR BG BGACK BR BG BGACK BR
alabilir miyim?)
BG = Bus grant-Veri yolu bağışı (CPU: Evet, buyrun.)
BGACK = BG kabulu (DMAC: Teşekkürler, Kontrol bende.)

Слайд 17

DMAC bir BR (“bus request”) sinyali verir
CPU durur (belkide bir komut icrası

DMAC bir BR (“bus request”) sinyali verir CPU durur (belkide bir komut
ortasında!) ve bir BG (“bus grant”) sinyali verir
DMAC BGACK (“bus grant acknowledge”) sinyali verir ve BR bırakır
DMAC sistem veri yollarının kontrolünü alır
DMAC “CPU gibi davranır” ve gerçekleşek transferler için veriyolu sinyalleri üretir (addres, kontrol)

“Kontrolü Alma” (2/2)

Слайд 18

BR-BG-BGACK Timing

BR
BG
BGACK

CPU
cycles

CPU
cycles

DMA
cycles

time

BR-BG-BGACK Timing BR BG BGACK CPU cycles CPU cycles DMA cycles time

Слайд 19

I/O Çeşitleri

Programmed I/O
Interrupt-driven I/O
Direct memory access (DMA)

I/O Çeşitleri Programmed I/O Interrupt-driven I/O Direct memory access (DMA)

Слайд 20

Program-Controlled I/O (DMA)

Data bus
Address bus
Control bus

Memory

DMAC

CPU

Disk

Program-Controlled I/O (DMA) Data bus Address bus Control bus Memory DMAC CPU Disk

Слайд 21

DMA

Data bus
Address bus
Control bus

Memory

DMAC

CPU

Disk

DMA Data bus Address bus Control bus Memory DMAC CPU Disk

Слайд 22

Interrupt-driven I/O (in DMA)

Data bus
Address bus
Control bus

Memory

DMAC

CPU

Disk

Interrupt-driven I/O (in DMA) Data bus Address bus Control bus Memory DMAC CPU Disk