Interupts (IRQ) 

 
CPU PC üzerindeki tüm elemanların yönetiminden ve işlemesinden sorumludur. CPU diğer tüm cihazlarla iletişim kurar. CPU her an diğer donanım öğelerinden kendisine gelecek istekleri bekler konumdadır. Gelen isteği yerine getirmekle sorumludur. Örneğin mouse hareket ettirdiğimiz an mouse kendi hareketini CPU'ya bildirir, CPU da mouse işaretçisini ekrandaki yeni yerine konumlandırır. Bütün bu işlemleri iki yoldan yapmak mümkündür:

1) Oylama :

polling.gif (14312 bytes)

CPU belli bir periyodla sürekli olarak kendisine bağlı donanımları, kendisinden bir istekte bulunup bulunmadıklarına dair sorgular. Bu oldukça kullanışsız bir yöntemdir. Bu yöntem CPU'nun gereksiz olarak zaman kaybına uğramasına yol açar.

2) Interrupts:

interupt.gif (7492 bytes)

Çok daha kullanışlı olan bu metod da ise her aygıta birer kanal ayrılır. CPU uygulama programını yürütürken, eğer bir aygıt CPU'ya iş yaptırmak isterse onu bu kanaldan uyarır. CPU da bunun üzerine o anki işini askıya alıp kendisini uyaran donanımın işini yapar.

Şu ana kadar anlattıklarımız teoriydi. Şimdi gerçek bir PC de neler olup bittiğine bakalım. Bugün hala ilk PC olan IBM PC'nin kısıtlamalarıyla boğuşuyoruz :

IBM PC'de (8088 CPU tabanlı) IBM  "8259 Interrupt Controller" kullandı. Bu entegre 8 interupt kanalına sahipti
(0 - 7).

İşte sizinde kullandığınız PC'de hala bu 8 interupt Pc içindeki dahili aygıtlar (internal devices) için Dolu. IBM ufak bir (oldukça ufak ve yetersiz) değişiklikle IBM AT bilgisayarında ikinci bir Interrupt-controller kullandı:

Bu IBM AT model PC 2 adet interupt controller kullanıyordu. İkinci controller ilk controllerin 2. interupt kanalına bağlanmıştı (cascaded). İkinci controller daki interupt hatları da 8 den 15 kadar numaralandı. 2 numaralı kanal yukarıda anlatılan bağlantı nedeniyle kullanılamaz haldedir. Uyumluluğun korunması için birinci controller üzerindeki 2 numaralı kanal, ikinci controller a 9 nolu kanaldan bağlıdır. Eğer bilgisayarınızda herhangi bir aygıt 2 nolu interup için ayarlanmışsa, aslında 9 numaralı interupt'ı kullanıyor demektir.

Bu interupt kanalları "Interrupt Request Lines / Kesme isteği Kanalları" veya IRQ olarak bilinir.

Windows 9X te irq atamalarını control panel->device manager dan computer'e çift tıklayarak görebilirsiniz :

Şimdi kötü bir haberimiz var:
Bu 16 irq hattından bir çoğu zaten doludur, dolayısı ile yeni takacağınız donanımlara atanacak irq hattı bulmakta zorlanabilirsiniz !

IRQ: Kullanan: Durumu:
0 System-Timer Dolu
1 Keyboard Dolu
2 cascade to 2nd Controller Dolu
3 Serial port: COM2 Eğer COM2 yüklü ise: Dolu
Eğer COM2 yüklü değilse: Boş
4 Serial port: COM1 Com1 yüklü ise : Dolu
5 free IBM tarafında Parallel-Port LPT2 için ayrılmıştır.
Ancak birçok Pc de LPT2 kullanılmaz : Boş
Dikkat : Ses kartı kullanıyor olabilir !
6 Floppy disk controller Dolu
7 LPT1 Printer-port 1, bir çok sistemde kullanılır.
Windows95: Dolu
Windows NT4: Boş
8 Real Time Clock Dolu
9 free Boş
10 free Boş
Dikkat : Ses kartı kullanıyor olabilir !
11 free Boş
12 PS-2 Mouse-Port Eğer PS/2 mouse port açık ve kullanılıyorsa :Dolu
Eğer disabled ve kullanılmıyorsa:Boş
13 FPU Math-Coprocessor Dolu
14 primary harddisk
IDE controller
Dolu
Eğer sadece SCSI disk ve CD-ROM kullanılıyorsa: Boş
15 secondary harddisk
IDE controller
Genellikle CD-ROM bu ikinci ide denetliyici takılır:Dolu
(Harddisk ve CD-ROM'unuzu aynı ide kanalına bağlarsanır bu sistemin çok yavaşlamasına   sebep olur !)
 
Network-Kartları genelde 5 veya 10 numaralı irq'yu kullanır !
(Bu irq'ları ses kartının kullanmadığından emin olun!)

Genellikler her aygıt kendine özel bir irq kanalı ister, irq kanalını başka bir aygıtla paylaşmaz !

Bir iki önemli nokta :

1) Sıklıkla, COM3 IRQ4 kullanır (COM1 ie aynı) ve COM4 IRQ3 kullanır (COM2 ie aynı). Bu Windows95 tarafından kabul edilir ve çalışır, ancak bu portlar aynı anda kullanılamazlar.
2) Eğer driver'iniz ve kartınız destekliyorsa, modern PCI aygıtlar IRQ paylaşımını destekler (Win98).