IRQ ve kesme vektör tablosu


2

IRQ'lar hakkında çok şey okudum ve anlaşılan ve güncel olmayan bilgiler var. Bazıları Windows 95'e dayanıyor. İşte kafam karıştı.

  1. Hem yazılım kesintileri hem de donanım kesintileri, kesme vektör tablosu tarafından yönetiliyor ve gönderiliyor mu? Nasıl değilse, o zaman farklı şekilde kontrol edilir.

  2. PCI modu IRQ'lar ile ISA modu IRQ'lar arasında bir fark olduğunu okudum, bu doğru mu? Eğer öyleyse, modu nasıl ayarlıyorsunuz ve nasıl farklı çalışıyorlar?

  3. Şimdi PCI ekspresine sahip olduğumuza göre, PCI modu IRQ'ları kullanıyorlar (eğer varsa), nasıl çalışıyorlar (akıllıca kesiliyorlar).

EDIT 4. Bu resme bakıldığında birçok IRQ olduğu ve hafızaya eşlendiği anlaşılmaktadır. Bu etkileri nelerdir? 16'dan fazla IRQ var. APIC'in daha fazlasına izin verdiğini biliyorum, ama bu kadar mı?

görüntü tanımını buraya girin

Şimdiden teşekkürler :-)

Yanıtlar:


2

Farklı modlar yok, eski ISA veri yolu ve PCI veri yolu üzerinde farklı donanımlar var. ISA veri yolu, veri yolu üzerinde aygıtların dikkat çekmek için kullanabileceği 16 IRQ hattı sağladı. Programlanabilir kesme denetleyicisi (aslında bir basamaklı 8259A yonga çifti), bu hatlara öncelik vererek ve biri aktifken CPU'ya sinyal vererek yanıt verdi. Bu, CPU'nun bir kesme servis rutini başlatmasına neden oldu. IRQ'ler 0-7, int 8-F'yi tetikledi ve IRQ'ler 8-15, int 70-77'yi tetikledi. Kesmeler yazılım int komutu vasıtasıyla da tetiklenebilir ve CPU'nun kesme vektör tablosundaki karşılık gelen yuva tarafından belirtilen bir rutini çağırmasına neden olabilir.

Veri yolu üzerindeki tüm cihazlar tarafından paylaşılan 16 IRQ hattı yerine, PCI, INTA-INTD adlı veri yolu üzerindeki her bir yuvaya 4 farklı IRQ hattı sağlayarak her bir cihazın kendi kullanımı için 4 farklı IRQ'ya sahip olmasını sağladı. Uygulamada, cihazlar yalnızca donanımın belirli IRQ'lara yönlendirdiği INTA'yı kullanır.

Resimde gördüğünüz sayılar hafıza adresleri değil, sadece IRQ numarasının onaltılık gösterimidir.

APIC, 256 kesme vektörünü destekler.


Harika :-), ama PCI express tüm bunlara nerede uygun? Bir zamanlar anakartta ISA ve PCI veri yollarının bir karışımı vardı, bunların nasıl birleştiği? Ayrıca, APIC ile kesme vektörlerindeki artış, yenilerinin tahsis edildiği yerlerde artmaktadır. ISA'nın aynı kaldığını varsayalım, PCI, aynı kalıyor ya da bir tanesi artıyor mu?
rubixibuc

Bu, APIC'in CPU çipine GÇ olarak giren fiziksel kabloları 256 (16-F, 70-77'den hangisini anlayamadığımı tahmin ediyorum) 16'ya düşürdüğü anlamına mı geliyor? Bu sayı tüm x86 mimarisi için sabit mi?
PPC

@PPC, hayır, APIC, cpus, kuzey köprüsü ve tüm IO APIC'leri birbirine bağlayan iki telli bir veri yolu üzerinden seri bir protokol üzerinden kendisine verilen 256 kesme vektörünü doğrudan destekler. Eski 16 IRQ, ISA veri yolu üzerinde 8259A PIC'lere bağlı fiziksel hatlardı; bu da onları 8-F ve 70-77 yazılım kesme vektörleriyle eşledi.
psusi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.