Ev / pencerelere genel bakış / Bir irq'de iki cihaz ne yapmalı. Donanım kesintileri. Kesinti denetleyicisi. Özel bir yardımcı programla yükleri izleme

Bir irq'de iki cihaz ne yapmalı. Donanım kesintileri. Kesinti denetleyicisi. Özel bir yardımcı programla yükleri izleme

Bir bilgisayarın, özellikle de bir ev bilgisayarının, tüm ömrünü herhangi bir yükseltme veya yeni aygıt eklemeden geçirmesi nadirdir. Çoğu durumda, elbette, en temel kurallara tabi olarak, böyle bir operasyon herhangi bir özel soruna yol açmadan ağrısızdır. Ancak yaklaşık her onuncu (hatta yirminci - önemli değil) bilgisayar çalışmayan bir duruma getirilir: genellikle donmaya başlar, herhangi bir işlevi yerine getirmeyi reddeder, hatta hepimiz tarafından çok sevilene düşer. Mavi ekranölümün. Kural olarak, bu tür sorunların en olası nedeni, herhangi bir donanım kaynağını paylaşmayan donanım çakışmalarında (yeni ve eski) yatmaktadır. Peki, nitelikleriniz ortaya çıkan sorunları çözmenize izin veriyorsa veya yakınlarda size yardımcı olabilecek biri var mı, ancak böyle bir şey yoksa? Ancak, bildiğiniz gibi, tanrılar değil, tencereler yanıyor, oturalım, düşünelim - bakıyorsunuz ve kırıyorsunuz, çünkü başlangıcından bu yana en çeşitli ekipmanın uyumluluk sorunu olmasına rağmen, her şey o kadar zor değil. 80'lerin ortalarında, hala çok fazla azalma olmadı. Önerilen makale, kullanıcının ekipman için gereken donanım kaynak türlerinden biriyle ve çoğu zaman her türlü çakışmanın temel nedeni olan donanım kesintileriyle (IRQ) başa çıkmasına yardımcı olacaktır.

Sistem donanım kaynakları

Bileşenlerin çalışması için üç ana tip farklı donanım kaynağı gerektirebilir. Hemen hemen her cihaz bir veya daha fazla G/Ç bağlantı noktası kullanır. AT bu durum bu bir seri veya paralel port değil, sadece özel bir adres, RAM'deki bir adres gibi bir şey. Bu portlar çalışıyor özel ekipler herhangi bir bilginin ya bağlantı noktasına yazıldığı ya da ondan okunduğu merkezi işlemci. Çoğu zaman, işlemci ile aygıt arasındaki bilgi alışverişi yalnızca bağlantı noktaları aracılığıyla gerçekleşir ve bazı aygıtlar, her biri belirli bir işlevi yerine getirmeye yarayan bir düzine veya daha fazla bağlantı noktası adresi alır.

Doğrudan Bellek Erişimi (DMA) kanalları çok daha az sıklıkla kullanılır. Bu tür bir etkileşim, büyük veri blokları alışverişinde bulunan cihazlar için tasarlanmıştır. Veri deposu, örneğin, disk sürücüleri veya yazıcılar. Tüm değişim, yalnızca değişim işlemini başlatan ve hemen diğer işleri gerçekleştirmeye devam eden merkezi işlemciyi atlar. Bu yaklaşım, tüm sistemin performansını önemli ölçüde artırabilir.

Ve üçüncü tür kaynak, sistemin dış olaylara tepkisi için temel mekanizma olan donanım kesintileridir. Genellikle IRQ'lar (Kesme İstekleri) olarak adlandırılan donanım kesintileri, aygıt denetleyicisinin işlemciyi bir isteği işlemesi için bilgilendirmek için kullandığı fiziksel sinyallerdir. Geleneksel olarak, kesme işleme şeması şöyle görünebilir:

  • işlemci kesme sinyalini ve numarasını alır;
  • özel bir tablo kullanarak, verilen sayı ile kesmeyi işlemekten sorumlu programın adresi bulunur - kesme işleyicisi;
  • işlemci mevcut görevin yürütülmesini askıya alır, ara sonuçları kaydeder ve kesme işleyicisinin yürütülmesine geçer;
  • işlemci cihaza erişir ve kesintinin nedenini kontrol eder;
  • istenen eylemler başlatılır - başlatma, cihaz yapılandırması, veri alışverişi vb.;
  • gerekli tüm işlemler tamamlandığında, işlemci kesintiye uğrayan göreve geri döner.

Çalışan bir uygulama programı tarafından tetiklenen yazılım kesintilerinden farklı olarak, donanım kesintileri en beklenmedik zamanlarda meydana gelebilir ve ayrıca aynı anda birden fazla kesinti meydana gelebilir. Sistemin ilk etapta hangi kesintinin hizmet vereceğini "çok düşünmemesi" için özel bir öncelik şeması vardır. Her kesmeye kendi benzersiz önceliği atanır. Aynı anda birkaç kesinti gelirse, sistem en yüksek önceliği tercih eder ve daha az önemli olan diğer kesintilerin işlenmesini bir süre erteler.

Kesinti dağıtımı

Kesmelerin genellikle standart bir bilgisayarda nasıl dağıtıldığını düşünün. Numaraların bazıları kesinlikle belirli cihazlara bağlıdır, bazıları ise ihtiyaçlarınız için serbest bırakılabilir ve kullanılabilir. Sırayla başlayalım:

  • IRQ 0- sistem zamanlayıcısını durdurun. Saniyede 18,2 kez oluşturuldu. İlk IBM PC'nin oluşturulmasından bu yana bu kapasitede kullanılmaktadır (bu numara başka amaçlarla kullanılamaz);
  • IRQ 1- klavye kesintisi. Bir tuşa her basıldığında klavye denetleyicisi tarafından oluşturulur (sayı diğer kullanımlar için kullanılamaz);
  • IRQ2 sadece 8 kesme hattı kullanan XT sınıfı bilgisayarlarda, daha fazla sistem genişletmesi için ayrıldı ve AT sınıfı bilgisayarlardan başlayarak ikinci bir denetleyiciyi bağlamak için kullanıldı. Bugün IRQ 2, sistem tarafından eski yazılımlarla uyumluluk için kullanılmaktadır, numara başka kullanımlar için mevcut değildir;
  • IRQ 3- eşzamansız COM 2 bağlantı noktasının kesintiye uğraması Aynı kesme, COM 4 bağlantı noktası üzerinden çalışan cihazlar tarafından da kullanılır.İstenirse devre dışı bırakılabilirler, ancak başka hiç kimse IRQ 3'ü yine de atayamaz;
  • IRQ4öncekine benzer şekilde, bu kesinti COM 1 / COM 3 bağlantı noktalarını işgal eden cihazlar tarafından kullanılır;
  • IRQ 5 başlangıçta ikinci paralel bağlantı noktası LPT2 tarafından kullanılmak üzere tasarlanmıştı, ancak daha sonra ikinci paralel bağlantı noktası terk edildiğinde IRQ 5 serbest kaldı. Daha sonra çoğu ISA ses kartı tarafından aktif olarak kullanıldı. modern PCI ses kartları, bu kesmeyi yalnızca, büyük çoğunluğu SB Pro'yu destekleyen eski oyunlarla uyumluluk için kullanır. IRQ 5, başka amaçlar için kullanılabilir ve bir PCI yuvasına bağlanabilir;
  • IRQ6, ilk bilgisayarlardan başlayarak, disket denetleyicisi tarafından kullanılır (sayı diğer kullanımlar için mevcut değildir);
  • IRQ7- varsayılan olarak, ilk paralel bağlantı noktası LPT 1'in kesintiye uğraması. Bağlantı noktası devre dışıysa (yazıcı yoksa veya USB için tasarlanmışsa), kullanılabilir çeşitli cihazlar. IRQ 7, bir PCI yuvasına bağlanabilir;
  • IRQ8- ilk olarak IBM AT'de tanıtılan gerçek zamanlı saat kesintisi. Başka bir kullanım mümkün değildir;
  • IRQ 9 ve IRQ 10 ücretsizdir;
  • IRQ 11 genellikle USB veri yolu için ayrılmıştır, ancak başka amaçlar için kullanılabilir (bunu yapmak için BIOS'ta USB desteğini devre dışı bırakın);
  • IRQ 12 PS/2 fare için kullanılır, ancak başka amaçlar için kullanılabilir (bir PS/2 fare mevcut değilse veya devre dışı bırakılmışsa);
  • IRQ 13 başlangıçta aritmetik yardımcı işlemci tarafından kullanılmıştır ve artık eski yazılımlarla uyumluluk için ayrılmıştır (sayı diğer kullanımlar için mevcut değildir);
  • IRQ 14 ve IRQ 15 sırasıyla birincil ve ikincil IDE denetleyicileri tarafından uygulanır.

Özel durumunuzda kesinti sayılarının şu anda nasıl dağıtıldığını bulmanın birkaç yolu vardır. Bilgisayarınızı başlattığınızda, Windows yüklenmeye başlamadan önce bile bir yapılandırma metin tablosu görünür. Hemen ardından, kendilerine atanan IRQ numarasını gösteren bir PCI aygıt listesi bulunur.

Veya hala Windows 9x kullanıyorsanız, kontrol panelinde bir Sistem simgesi vardır, üzerine tıklayın - ve "Aygıtlar" sekmesini seçin. "Bilgisayar" cihazının özelliklerinde, IRQ'ları ile birlikte tüm cihazların bir listesini bulabilirsiniz. Windows 2000/XP'de, kesinti yönetimine doğrudan erişimimiz yoktur, bu nedenle IRQ'ların listesini görüntülemek için standart bilgi yardımcı programını kullanmamız gerekir (Denetim Masası/Yönetim Araçları/Bilgisayar Yönetimi/Sistem Bilgileri/Donanım Kaynakları). Ve son olarak, hiç kimse bir bilgisayarın donanım ve yazılım yeteneklerini test eden yardımcı programların kullanımını iptal etmedi.


Bunlar arasında şüphesiz en popüler olanı, kullanıcıya kesintiler de dahil olmak üzere kapsamlı bilgi sağlayabilen SANDRA'dır.

Cihaz çakışmaları

Çok fazla ayrıntıya girmeden, bir çakışmanın birden fazla nesnenin aynı sistem kaynağına aynı anda erişmeye çalıştığı bir durum olduğunu söyleyebiliriz. Bir kesme çakışması, birden fazla cihaz bir istek sinyali göndermek için aynı kesme hattını kullandığında ve bu istekleri sıralayacak bir mekanizma olmadığında meydana gelir, bu da bir arızaya veya cihazlardan birinin çalışmayı durdurmasına neden olur. Çatışmaların nasıl önlenebileceği veya ortadan kaldırılabileceği konusunda net bir fikre sahip olmak için IRQ yönetimi mekanizmasını anlamanız gerekir.

Bildiğin gibi, kişisel bilgisayarlar IBM PC XT ile başladı. Mimarisi, özel bir denetleyici tarafından kontrol edilen yalnızca sekiz satırlık donanım kesintisi sağladı. Her birine, kesme önceliğini ve işleyicisinin adresini (kesme vektörü olarak adlandırılan) belirleyen kendi benzersiz numarası atandı. Mimarinin bir sonraki versiyonu olan IBM PC AT, birinci kontrolörün kesme hatlarından birine bağlı ikinci bir kontrolör tarafından kontrol edilen sekiz hat daha ile mevcut hatları destekledi. Ne yazık ki, bu mimari bu noktada gelişimini durdurdu, bu nedenle tüm modern bilgisayarlar, içlerinde kullanılan önemli ölçüde artan sayıda ek cihaza rağmen, hala biri ikinci bir denetleyiciyi taklit etmek için ayrılmış on altı kesme hattına sahiptir.

Başlangıçta, IBM PC AT bilgisayarında, aygıtların işlemci ve bellek - ISA ile iletişim kurabileceği yalnızca bir veri yolu vardı. Çoğu kesme hattı standart ISA cihazlarına atanmıştı, bu nedenle yeni evrensel PCI veri yolu göründüğünde, paylaşımında INT A, INT B, INT C, INT D olarak gösterilen yalnızca dört boş kesme olduğu ortaya çıktı, bu yüzden sadece dört PCI aygıtı, sistemde bağımsız kesmeler alabilir. Ancak aynı zamanda, IDE denetleyicisinin özel bir konumda olduğu unutulmamalıdır, bu sadece bu dört cihaz arasında değildir, çünkü veri aktarım yöntemi açısından bir PCI cihazı olmasına rağmen, kendi kesmeleri IRQ'dur. 14 ve IRQ katı bir şekilde ona atanmıştır.15, eski ISA aygıtlarında olduğu gibi. PCI veri yolunun bir varyasyonu olan AGP veri yolu için INT A "feda edilir" ve USB veri yolu da bunlardan biridir. sistem bileşenleri, "dürüst" PCI aygıtlarının sayısını yalnızca ikiye indiren INT D kullanarak PCI'ye bağlanır. Kendi kesintisini de gerektiren Güç Yönetimi / Sistem Yönetimi güç yönetimi alt sistemini unutmamalıyız. Dolayısıyla gerçek hayatta, kesme kullanan birden fazla PCI cihazı varsa, bunlara benzersiz donanım IRQ'ları sağlamak imkansızdır ve bu gibi durumlarda, teorik olarak çakışmaları önleyen Tak ve Çalıştır teknolojisine dayalı bir donanım-yazılım yöntemi kullanılır. Gerçek hayatta her şey olabilse ve kalan ISA cihazları hala kesme hatlarını paylaşamasa da, bu nedenle çatışmaların ana provokatörleridir. Böylece, ISA aygıtları veya "buggy" sürücüleri ile ilgili sorunlar olması durumunda, çakışma çözümü sorunu, kesme sayılarının doğru dağılımına indirgenir.

Sistemde IRQ numaraları fiziksel hatlar arasında iki kez tahsis edilir. Sistem BIOS'u bunu ilk kez yaptığında, sistem önyüklenir. Her Tak ve Çalıştır aygıtına (ve buna tüm PCI, modern ISA ve ana kartta tümleşik tüm aygıtlar dahildir) mevcut olanlar arasından bir numara atanır. Yeterli sayı yoksa, birkaç satır bir ortak olur. PCI aygıtları için bu bir sorun değildir - normal sürücüleriniz ve işletim sisteminden desteğiniz varsa, her şey yolunda gitmelidir. Ancak, birkaç ISA cihazı aynı numarayı veya daha az "patlayıcı" olmayan bir PCI ve ISA cihazı karışımını alırsa, o zaman bir çakışma kaçınılmazdır ve o zaman kesintilerin otomatik dağıtım sürecine müdahale etmeniz gerekecektir. Bu durumda, kullanılmayan tüm ISA aygıtlarını devre dışı bırakmanız gerekir (ISA yuvaları olmayan sistemlerde yine de bulunurlar: bunlar COM1, COM2 bağlantı noktaları ve sürücüdür). IRQ7 kesmesini serbest bırakırken, LPT bağlantı noktasının EPP ve ECP modlarını da devre dışı bırakabilirsiniz. BIOS Kurulumunda kesintileri değiştirmek için tüm işlemler "PCI / PNP Konfigürasyonu" bölümünde gerçekleştirilir. IRQ numarası tahsislerini etkilemenin iki yolu vardır: belirli bir numarayı engelleyin ve doğrudan bir satır numarası atayın. İlk yöntem tüm BIOS'lar için mevcuttur, "IRQ x tarafından kullanılan:" menü öğeleri ayarlanır (yeni BIOS'larda "IRQ Kaynakları" alt menüsünde gizlenir). Özel olarak ISA cihazlarına atanması gereken bu kesmeler "Eski ISA" olarak ayarlanmalıdır. Böylece, PCI aygıtları için numara dağıtırken bu kesintiler atlanacaktır. Herhangi bir ISA aygıtı inatla PCI aygıtıyla aynı kesmeye giriyorsa bunu yapmalısınız, bu yüzden ikisi de çalışmıyor. Bu durumda, bu IRQ'nun numarasını bulmanız ve engellemeniz gerekir. ISA aygıtı aynı kalırken PCI aygıtı yeni IRQ numarasına geçer. IRQ numaralarını yönetmenin ikinci yolu, ilkinden biraz daha karmaşık olmasına rağmen çok daha verimli olmasına rağmen doğrudan atamadır. Tüm modern anakartların bu işleme izin vermemesi talihsiz bir durumdur. Aynı BIOS Kurulum alt menüsünde, "Slot X IRQ kullan" (diğer adlar: "PIRQx IRQ kullan", "PCI Yuva x önceliği", "INT Pin x IRQ") gibi öğeler olabilir. Bu seçenek, PCI ve AGP veri yolundaki her aygıt için ayrı ayrı kesmeler ayarlamanıza olanak tanır. Bu durumda, aşağıdaki kurallara uyulmalıdır:

  • Her PCI yuvası en fazla dört kesmeyi etkinleştirebilir - INT A, INT B, INT C ve INT D;
  • AGP yuvası iki kesmeyi etkinleştirebilir - INT A ve INT B;
  • Her yuvanın INT A olarak atanması normaldir. PCI/AGP aygıtı birden fazla kesme gerektiriyorsa veya istenen kesme meşgulse, kesmelerin geri kalanı ayrılmıştır;
  • AGP yuvası ve PCI yuvası 1 aynı kesintileri tahsis eder;
  • 4 ve 5 numaralı PCI yuvaları da aynı kesintileri dağıtır;
  • USB, PIRQ_4 kullanır.

Aşağıda PIRQ (Programlanabilir Kesinti Talebi) ve INT (Kesme) arasındaki ilişkiyi gösteren bir tablo bulunmaktadır:

sinyal AGP Yuvası
PCI Yuvası 1
PCI Yuvası 2 PCI Yuvası 3 PCI yuvası 4
PCI Yuvası 5
PIRQ_0 INT A INT D INT C INT B
PIRQ_1 INT B INT A INT D INT C
PIRQ_2 INT C INT B INT A INT D
PIRQ_3 INT D INT C INT B INT A

Normalde seçeneği AUTO konumunda bırakmalısınız. Ancak AGP veya PCI bus üzerindeki bir cihaz için ayrı bir IRQ ayarlamak gerekirse, öncelikle cihazın hangi slotta kurulu olduğunu belirlemek gerekir. Ardından tabloya bakarak ana PIRQ'yu ayarlayabilirsiniz. örneğin, eğer Ağ kartı Slot 3'e ayarlanırsa ana PIRQ PIRQ_2 olacaktır, çünkü mümkünse tüm slotlar INT A'ya atanır.Bundan sonra istenen IRQ seçilir ve buna uygun PIRQ değeri atanır. BIOS'un her yuva için INT A'ya bir PIRQ atamaya çalışacağını unutmayın. Bu nedenle, AGP ve PCI 1 yuvaları için ana PIRQ, PIRQ_0 iken, PCI yuva 2 için ana PIRQ, PIRQ_1 ve benzeridir. İkinci kez kesme numaraları tahsis edildi işletim sistemi, Windows 9x, yalnızca aşırı durumlarda BIOS tarafından gerçekleştirilen eylemlere müdahale etmeye başlasa da. Windows 98'de IRQ dağıtım sistemi, standart aygıt yöneticisi kullanılarak yönetilir. Sistem aygıtları listesinde PCI veri yolunu bulmanız gerekir.


Özelliklerinde özel bir sekme var. Her şey doğru ayarlanmışsa, orada miniporttan bahsedilecektir ("başarıyla yüklendi") ve PCI veri yolu yönetimi (Yönlendirme) etkinleştirilecektir. Bu nedenle, Windows "98, kesme sayılarının fiziksel hatlar arasındaki dağılımını kontrol etme araçlarına sahiptir. Ancak BIOS çoğu zaman bununla iyi bir iş çıkardığından, bu mekanizma dahil değildir. Ancak bazen sadece gereklidir. Eski ISA aygıtlarını kullanırken Tak ve Çalıştır teknolojisini desteklemeyen, BIOS bunu fark etmeyebilir ve onun işgal ettiği kesmeyi PCI aygıtına verir - yine bir çakışma. Bunu çözmek için, Windows Aygıt Yöneticisi "98'de gerekli kesmeyi ayırmanız gerekir.

Yedeklemeye ek olarak, cihaz için doğrudan kesme numarasını ayarlayabilirsiniz. Bunu yapmak için, özelliklerinde "Kaynaklar" sekmesini bulmanız, otomatik ayarlamayı devre dışı bırakmanız ve atanan kesme numarasını değiştirmeye çalışmanız gerekir. Dikkatli olun, böyle bir işlem her zaman işe yaramaz ve bazen tamamen öngörülemeyen sonuçlara yol açabilir.

Ancak Windows 2000 (ve XP) hakkında - ayrı bir konuşma. Oldukça modern bir bilgisayarınız varsa, muhtemelen ACPI yapılandırma arayüzünü destekler. Bu durumda Windows 2000, genellikle BIOS'un eylemlerini yok sayar ve tüm PCI aygıtlarını tek bir mantıksal kesmede "askıya alır". Genel olarak, bu iyi çalışır (ISA aygıtı olmadığında), ancak bazen sorunlar ortaya çıkabilir. Kesinti numaralarını değiştirebilmek için, HAL çekirdeğini değiştirmeniz veya BIOS'ta ACPI devre dışı bırakılmış olarak Windows 2000'i yeniden yüklemeniz gerekir. Çekirdek şu şekilde değiştirilir: aygıt yöneticisinde "ACPI'li Bilgisayar / Bilgisayar" öğesini seçin, bundan sonra sürücüyü " olarak değiştirmeniz gerekir. standart bilgisayar" ve yeniden başlatın. Bu işe yaramazsa, Windows 2000'i yeniden yüklemeniz gerekecektir.

Son İpuçları

Tüm aygıt sürücüleri ile yeni bir işletim sistemi kurduktan ve sorunsuz çalıştığından emin olduktan sonra her şeyi yazmakta fayda var. bilgisayar ayarlarıözellikle varsayılan ayarlarda herhangi bir değişiklik yapılmışsa. Bu tür bilgileri normal bir kağıda yazmak en güvenilir olanıdır. Bu tür bilgiler, yapılandırılmış sistemde herhangi bir değişiklik yaparken çok yararlı olabilir ve yeni ekipman kurarken tüm ayarların "kaybolması" durumunda ortaya çıkabilecek sorunların çözülmesine yardımcı olabilir (bu bazen de olur). Ve en önemlisi, unutmayın: ortaya çıkan sorunların çoğu, bilgisayar sahibinin düşük bilgisayar okuryazarlığından kaynaklanmaktadır. Bu nedenle, kişi her zaman kendi kendine eğitim için çaba göstermelidir, o zaman daha az sorun olacak ve yine de ortaya çıkanlar çözülemez görünmeyecektir.

Çatışma, birkaç nesnenin aynı anda yalnızca bir tanesine yönelik bir kaynağa erişmeye çalıştığı bir durumdur. Bir kesme çakışması, birden çok aygıt bir istek sinyali göndermek için aynı kesme hattını kullandığında ve rekabet eden istekleri işlemek için bir mekanizma olmadığında meydana gelir. Sürücü, kontrolü alırken, isteği gönderen farklı bir cihazla çalışıyorsa, ya bir arıza meydana gelir ya da cihazlardan biri çalışmaz.

Soru ortaya çıkıyor: birkaç cihaz aynı kesme hattını kullanabilir mi, yoksa prensipte imkansız mı? Sonuçta, sürücü isteğin tam olarak kimden geldiğini belirleyebilirse, diğerlerini yok sayarak yalnızca "kendi" cihazından gelen sinyallere yanıt verecektir. Ancak bu bir şekilde önceden kararlaştırılmalıdır, aksi takdirde çatışma kaçınılmazdır.

Yerel PCI veri yolu, kesinti paylaşımı düşünülerek tasarlanmıştır. Her PCI aygıtı, diğer PCI aygıtlarıyla aynı kesme hattında doğru şekilde çalışmalıdır. Bu, şu şekilde yapılır: kesme hattında bir sinyalin varlığı ön tarafından değil, yani. voltaj seviyesindeki değişiklik, ancak belirli bir voltajın varlığı gerçeğiyle. Birkaç cihaz, hattaki voltajı bir kerede değiştirebilir ve adeta servis kuyruğunda olabilir.

Bu nedenle, aynı IRQ'nun birden çok PCI aygıtı tarafından paylaşılması, tanım gereği bir çakışma değildir (Şekil). Ancak bazen sorunlar ortaya çıkıyor. İlk olarak, tüm PCI aygıtları diğerleriyle aynı kesme hattında düzgün çalışmaz. İkincisi, bazen sürücülerde, sinyal kaynağını doğru bir şekilde tanımlamalarını engelleyen ve diğer sürücülere müdahale eden hatalar olabilir. Üçüncüsü, tüm aygıtlar PCI veri yolunda çalışmaz; örneğin, COM / LPT bağlantı noktası denetleyicilerini içeren ISA cihazları, kesintileri başkalarıyla paylaşamaz.

Pirinç. Win2000 Aygıt Yöneticisi IRQ Haritası - IO PIC Intel 440BX Chipset

Pirinç. Win2000 IRQ MAP - IO APIC - KT266a Chipset Üzerinden

Sonuç olarak, bilgisayarın sıklıkla donduğu, herhangi bir işlevi yerine getirmeyi reddettiği veya hatta “mavi ölüm ekranı” olarak adlandırılan duruma düştüğü durumlar mümkündür.

Apic (Gelişmiş Programlanabilir Kesme Denetleyicisi)

Yukarıda gösterildiği gibi, kesme hattı bir bilgisayar için çok kıt bir kaynaktır. Ancak bilgisayar endüstrisinin gelişmesiyle birlikte bilgisayardaki çeşitli harici cihazların sayısı sürekli artmaktadır. Örneğin, birinde anakart 5-6 PCI yuvası, bir AGP yuvası, tümleşik IDE denetleyicisi, tümleşik SCSI denetleyicisi, tümleşik 1/2 bağlantı noktalı ağ bağdaştırıcısı vb. olabilir. Ve tüm bu aygıtların kesintilere ihtiyacı vardır. 16 IRQ hattı giderek yetersiz hale geldi.

APIC 16 yerine 24 donanım kesintisi kullanmanıza izin veren bir kesme denetleyicisidir. 1982'den beri değişmeyen 16 donanım kesintisi sınırı, kişisel bir bilgisayara kurulumu engelledi ek cihazlar. 2001'in sonunda APIC'li ilk anakartlar ortaya çıktı.

Pirinç. Çok işlemcili bir ortamda kesinti sistemi.

Önceki açıklama, tek işlemcili sistemler için tasarlanmış PIC'lere atıfta bulunmuştur. Sistem iki veya daha fazla işlemci içeriyorsa, bu yaklaşım artık mümkün değildir ve daha karmaşık PIC'ler gereklidir.

Tüm modern x86 işlemciler yerel bir APIC (yerel APIC) içerir. Her yerel APIC'nin 32 bitlik kayıtları, bir dahili saati, bir yerel zamanlayıcısı ve yerel APIC kesintileri için ayrılmış iki ek IRQ satırı, LINT0 ve LINT1 vardır. Tüm yerel APIC'ler, harici bir G/Ç APIC'sine bağlıdır.

I/O APIC, 24 IRQ hattı seti, 24 yollu kesinti yeniden yönlendirme tablosu, programlanabilir kayıtlar ve APIC veriyolunda mesaj gönderip almak için bir mesaj bloğu içerir. 8259A'daki IRQ pinlerinin aksine, kesme önceliği bir pin numarasına bağlı değildir.

Kesinti yeniden yönlendirme tablosundaki her giriş, kesme vektörünü ve önceliğini, hangi işlemcinin kesmeyi ele alacağını ve bu işlemcinin nasıl seçileceğini gösterecek şekilde ayrı ayrı programlanabilir. Kesinti yeniden yönlendirme tablosundaki bilgiler, her bir harici sinyali APIC veri yolu aracılığıyla bir veya daha fazla yerel APIC'ye gönderilen bir mesaja çevirmek için kullanılır.

Statik dağıtım

IRQ sinyali, karşılık gelen kesme yeniden yönlendirme tablosu girişinde listelenen yerel APIC tarafından teslim edilir. Belirli bir CPU'ya, birden fazla CPU'ya veya tüm CPU'lara bir kesme iletilir.

Dinamik Tahsis

IRQ sinyali, işlemi en düşük önceliğe sahip olarak çalıştıran işlemcinin yerel APIC'sine iletilir.

Her yerel APIC, mevcut işlemin önceliğini hesaplamak için kullanılan programlanabilir bir iş önceliği kaydına sahiptir. Intel, bu kaydın her işlem anahtarında işletim sistemi çekirdeği tarafından güncellenmesini bekler.

Kesintileri çoklu APIC işlemciler arasında dağıtmaya ek olarak, sistem CPU'nun işlemciler arası kesintiler oluşturmasına izin verir. Bir CPU başka bir CPU'ya kesme göndermek istediğinde, kesme vektörünü ve hedef yerel APIC kimliğini yerel APIC'nin Kesme Komut Kaydı'nda (ICR) saklar. Mesaj daha sonra APIC veri yolu üzerinden CPU'suna uygun kesmeyi veren hedef yerel APIC'ye gönderilir.

Şu anda birçok tek işlemcili sistem, iki şekilde yapılandırılabilen bir I/O APIC yongası içerir:

1. CPU'ya bağlı standart bir 8259A PIC olarak. Yerel APIC devre dışı bırakılır ve iki satır LINT0 ve LINT1 INTR ve NMI pinleri olarak yapılandırılır.

2. Standart bir harici I/O APIC'si olarak. Yerel APIC etkinleştirilir ve tüm harici kesmeler I/O APIC aracılığıyla alınır.

  • Alieva Elena Viktorovna, Öğrenci
  • Ufa Devlet Havacılık Teknik Üniversitesi
  • KESİNTİ DENETLEYİCİ
  • KONTROLÖR
  • DONANIM KESİNTİSİ
  • YARIDA KESMEK

Kesinti, donanım veya programın çalışmasından kaynaklanan bazı planlanmış veya planlanmamış eylemleri gerçekleştirmek için ana bilgisayar sürecinin geçici olarak kesintiye uğraması anlamına gelir. Kesinti mekanizması donanım düzeyinde desteklenir. Donanım kesintileri, mikroişlemcinin bir yanıt olarak ortaya çıkar. fiziksel sinyal bazı cihazlardan (klavye, sistem saati, klavye, HDD vb.), bu kesintiler meydana gelme zamanında eşzamansızdır, yani. rastgele zamanlarda meydana gelir. Kesinti denetleyicisi, çevresel cihazlardan merkezi işlemciye gelen hizmet taleplerini işlemek ve hakemlik etmek için tasarlanmıştır. Kesintilerin tanımlanmış bir önceliği vardır, bu da kesme denetleyicisinin belirli bir zamanda bir cihazı diğerine göre önceliklendirmesine olanak tanır. Modern bir bilgisayarda, kesme oluşturan 16'ya kadar harici ve çevresel aygıt vardır.

  • Bir üretim işletmesinin deposunun iş akışının otomasyonu
  • Çağrılar-teknolojiler, özellikler, uygulama ve verimlilik
  • Kurumsal sözleşmelerin desteklenmesi ve sonuçlandırılması için hukuk departmanının bilgi sistemi modelinin geliştirilmesi

giriiş

Kesinti, donanım veya programın çalışmasından kaynaklanan bazı planlanmış veya planlanmamış eylemleri gerçekleştirmek için ana bilgisayar sürecinin geçici olarak kesintiye uğraması anlamına gelir. Şunlar. mikroişlemciyi geçici olarak başka bir programın yürütülmesine geçiren ve ardından kesintiye uğrayan programa geri dönen bir süreçtir. Klavyede bir tuşa basarak, tuşu tanıyan, kodunu klavye arabelleğine giren ve başka bir program tarafından okunduğu bir programa anında çağrı başlatırız. Şunlar. bir süre için, mikroişlemci mevcut programın yürütülmesini keser ve kesme işleyicisi olarak adlandırılan kesme işleyicisine geçer. Kesme işleyicisi işini tamamladıktan sonra, kesintiye uğrayan program, kesintiye uğradığı noktadan yürütmeye devam eder. Kesinti işleyici programının adresi, kesinti vektör tablosundan hesaplanır.

Kesinti mekanizması donanım düzeyinde desteklenir. Kaynağa bağlı olarak, kesintiler şu şekilde ayrılır:

  • donanım- mikroişlemcinin bazı cihazlardan (klavye, sistem saati, klavye, sabit disk, vb.) gelen fiziksel bir sinyale tepkisi olarak ortaya çıkar, bu kesintiler meydana gelme zamanında eşzamansızdır, yani. rastgele zamanlarda meydana gelir;
  • yazılım- programdan (int) karşılık gelen komut yardımıyla yapay olarak çağrılır, işletim sisteminin bazı eylemlerini gerçekleştirmesi amaçlanır, senkronize edilir;
  • istisnalar- mikroişlemcinin, bazı program komutlarının yürütülmesi sırasında mikroişlemcinin içinde ortaya çıkan standart olmayan bir duruma tepkisidir (sıfıra bölme, TF bayrağında kesme (izleme) ) .

Donanım kesme sistemi

Kesinti sistemi, kesinti mekanizmasını uygulayan bir yazılım ve donanım kombinasyonudur.

Kesinti sisteminin donanımı şunları içerir:

  • mikroişlemci çıkışları - üzerlerinde, mikroişlemciye bazı harici cihazların "dikkat istediğini" (INTR) veya bazı olayların veya felaket hatalarının (NMI) acil olarak işlenmesi gerektiğini bildiren sinyaller üretilir.
  • INTR - giriş kesme istek sinyali için pin,
  • NMI - NMI giriş pimi
  • INTA - mikroişlemci tarafından bir kesme sinyalinin alındığını doğrulayan çıkış sinyali için çıkış (bu sinyal, 8259A denetleyici yongasının aynı adlı girişine beslenir;
  • programlanabilir kesinti kontrolörü 8259A (sekiz farklı sistemden kesme sinyallerini yakalamak için tasarlanmıştır) harici cihazlar; bir mikro devre şeklinde yapılır; genellikle seri olarak bağlı iki mikro devre kullanılır, bu nedenle olası harici kesinti kaynaklarının sayısı 15'e kadar artı bir maskelenemez kesintidir; kesme vektörünün numarasını üreten ve veri yolunu yayınlayan kişidir);
  • harici cihazlar (zamanlayıcı, klavye, manyetik diskler vb.)

kesinti işleme

Bir kesme, hem donanımda hem de yazılımda meydana gelen bir dizi olayı tetikler. Şek. 1, bu olayların tipik bir sırasını gösterir.

G/Ç cihazı sona erdikten sonra aşağıdakiler gerçekleşir:

  • Cihaz, işlemciye bir kesme sinyali gönderir.
  • Bir kesintiye yanıt vermeden önce, işlemci mevcut talimatın yürütülmesini tamamlamalıdır (bkz. Şekil 1).
  • İşlemci bir kesmeyi kontrol eder, onu algılar ve kesmeyi gönderen aygıta, kesmeyi başarıyla aldığına dair bir sinyal gönderir. Bu sinyal, cihazın kesme sinyalini kaldırmasını sağlar.
Şekil 1. Program Zamanlama Şeması: Yavaş G/Ç

Şimdi işlemcinin, kontrolü kesme işleyicisine aktarmaya hazırlanması gerekiyor. İlk önce hepsini kaydetmeniz gerekiyor önemli bilgi böylece daha sonra mevcut programda duraklatıldığı noktaya geri dönebilirsiniz. Gerekli minimum bilgi, program sayacında bulunan program durum kelimesi ve yürütülecek bir sonraki komutun adresidir. Bu veriler sistem kontrol yığınına gönderilir.

Şekil 2. Basit bir kesmeyi işleme

Daha sonra, işlemcinin program sayacına, bu kesmeyi işlemekten sorumlu olan kesme işleyici programının giriş adresi yüklenir. Bilgisayarın mimarisine ve işletim sisteminin aygıtına bağlı olarak, tüm kesmeleri işlemek için tek bir program olabilir veya her aygıt ve her kesme türü için ayrı bir işleyici olabilir. Kesintileri işleyecek birkaç program varsa, işlemci hangisini arayacağını belirlemelidir. Bu bilgi, ilk kesme sinyalinde yer alabilir; aksi takdirde, gerekli bilgileri elde etmek için işlemci, kesmeyi hangisinin gönderdiğini belirlemek için sırayla tüm cihazları yoklamalıdır.

Program sayacına yeni bir değer yüklenir yüklenmez, işlemci bir sonraki komut döngüsüne geçerek onu bellekten geri almaya devam eder. Komut, program sayacının içeriği tarafından numarası verilen yerden alındığından, kontrol kesme rutinine geçer. Bu programın yürütülmesi aşağıdaki işlemleri gerektirir.

Program sayacının içeriği ve kesintiye uğrayan programın durum kelimesi sistem yığınında zaten depolanmıştır. Ancak, yürütülebilir programın durumuyla ilgili tüm bilgiler bu değildir. Örneğin, kesme işleyicisi tarafından bu kayıtlara ihtiyaç duyulabileceğinden, işlemci kayıtlarının içeriğini kaydetmeniz gerekir. Bu nedenle, programın durumuyla ilgili tüm bilgileri kaydetmek gerekir. Tipik olarak, bir kesme işleyicisi, tüm yazmaçların içeriğini yığına iterek başlar. Saklanması gereken diğer bilgiler Bölüm 3, İşlem Tanımı ve Kontrolü'nde tartışılmaktadır. Şek. N konumundan bir talimat yürütüldükten sonra kullanıcı programının kesintiye uğradığı basit bir örnek gösterilmektedir. Tüm kayıtların içeriği ve bir sonraki talimatın adresi (N + 1), toplam M kelime, yığına itilir. . Yığın işaretçisi, yığının yeni tepesini gösterecek şekilde güncellenir. Program sayacı da güncellenerek kesme servis rutininin başladığını gösterir.

Artık kesme işleyicisi işine başlayabilir. Bir kesintiyi işleme süreci, G/Ç işlemleriyle veya kesintiye neden olan diğer olaylarla ilgili durum bilgilerinin kontrol edilmesini içerir. Bu, G/Ç cihazlarına ek talimatlar veya bildirim mesajları göndermeyi de içerebilir.

Kesme işlemi tamamlandıktan sonra, daha önce kaydedilen değerler yığından alınır, bunlar tekrar kayıtlara girilir, böylece kesintiden önceki durumlarına devam edilir.

Son adım, program durum kelimesini ve program sayacının içeriğini yığından geri yüklemektir. Sonuç olarak, kesintiye uğrayan programın bir sonraki komutu yürütülür.

Kesinti, programdan çağrılan bir alt yordam olmadığından, tam bir kurtarma için kesintiye uğrayan programın tüm durum bilgilerinin kaydedilmesi önemlidir. Ancak, kullanıcı programında herhangi bir zamanda ve herhangi bir yerde bir kesinti meydana gelebilir. Bu olay tahmin edilemez.

Kesinti denetleyicisi

Kesinti denetleyicisi, çevresel cihazlardan merkezi işlemciye gelen hizmet taleplerini işlemek ve hakemlik etmek için tasarlanmıştır. Benzetme yoluyla, kesme denetleyicisinin işlevleri bazı patronların sekreteri ile karşılaştırılabilir. Sekreter, patronun verdiği önceliklere ve ziyaretçinin durumuna göre öncelikle hangi ziyaretçilerin patrona kabul edileceğine ve daha sonra hangilerine karar vereceğine karar vermelidir. Dolayısıyla bir bilgisayar sisteminde, birkaç çevre biriminin bir kesme sinyali veya bir kesme isteği göndermesi mümkündür. Bilgisayar literatüründe bu sinyale IRQ (Kesme Talebi) denir.

Yukarıda bahsedildiği gibi, kesintilerin belirli bir önceliği vardır, bu da kesinti kontrolörlerinin belirli bir zamanda bir cihazı tercih etmesine izin verir, diğerini değil. Modern bir bilgisayarda 16'ya kadar harici ve çevre birimleri kesintiler oluşturur. İşte cihazlar:
–IRQ 0, sistem zamanlayıcısı; –IRQ 1, klavye; –IRQ 2, kademeli cihazları sorgulamak için kullanılır; –IRQ 8, gerçek zamanlı saat; –IRQ 9, saklıdır; –IRQ 10, saklıdır; –IRQ 11, saklıdır; –IRQ 12, ps/2 – fare; –IRQ 13, yardımcı işlemci; –IRQ 14, sabit disk denetleyicisi; –IRQ 15, saklıdır; –IRQ 3, COM2, COM4 bağlantı noktaları; –IRQ 4, COM1,COM3 bağlantı noktaları; –IRQ 5, LPT2 bağlantı noktası; –IRQ 6, sürücü kontrolörü; –IRQ 7, LPT1 bağlantı noktası, yazıcı.

Burada sinyaller azalan öncelik sırasına göre listelenir. IRQ 2'den sonra IRQ 8'in geldiğini görebilirsiniz.Gerçek şu ki, bir anda kesme denetleyicisi iki mikro devreden oluşuyordu, biri diğerine bağlıydı. Bu ikinci mikro devre, IRQ 2 hattına bağlanarak bir kaskad oluşturur. IRQ8-IRQ 15 hatlarına hizmet eder. Ardından ilk mikro devrenin hatları gelir.

Kesinti denetleyicisinin çalışması

Kesinti denetleyicisi işlemi 386 serisine kadar işlemcilere sahip çok eski bilgisayarlarda kullanılan Intel 8259A yongalarına dayalı olarak kabul edilir. Bu bilgisayarlar genellikle kademeli olarak, yani birbirine bağlı 2 8259A yongaya sahipti. Kesinti talep hattı aracılığıyla doğrudan işlemciye bağlanan mikro devrelerden biri ana veya ana devredir. Benzer sonuçlarla efendiye bağlanan geri kalanına köle denir.


Şekil 3. Kesinti denetleyicilerinin bağlantı şeması ve merkezi işlemci ile etkileşimleri

Şekil 3, kesme denetleyicilerinin bağlantı şemasını ve bunların merkezi işlemci ile etkileşimini göstermektedir. Çevresel aygıtlardan veya bağımlı denetleyicilerden gelen kesme sinyalleri, ana denetleyicinin IR0–IR7 girişlerine beslenir. Ana denetleyicinin dahili mantığı, gelen istekleri öncelik açısından işler. Cihaz talebinin önceliği yeterliyse, işlemcinin INTR girişine beslenen denetleyicinin INT çıkışında bir sinyal üretilir. Aksi takdirde, istek engellenir.

İşlemci kesintileri etkinleştirirse, mevcut talimatın yürütülmesi tamamlandıktan sonra, INTA hattında bağımlı denetleyiciyi gelen yeni kesme isteklerine ve ek olarak gelen bilgilere karşı bağışıklık durumuna getiren bir dizi sinyal üretir. denetleyicinin dahili kayıtları, işlemcinin kesme türünü tanıdığı veri hattına gönderilir.

İşlemci, veri yolu denetleyicisi aracılığıyla kesme denetleyicisine kesme izni verir. RD sinyali, kesme denetleyicisinin dahili kayıtların içeriğini veri yoluna yerleştirmesini sağlamayı amaçlar. WR sinyalinde, kesme denetleyicisi, aksine, aynı adlı veri yolundan veri alır ve bunları dahili kayıtlara yazar. Buna göre, bu, kesme denetleyicisinin çalışma modunu etkiler.

CS girişi, adres veriyoluna bağlanır ve bu sinyal, belirli bir kesme denetleyicisini tanımlar. A0 girişi, G/Ç alanındaki kesme denetleyici bağlantı noktasına işaret eder.

IR0–IR7 girişleri, çevre birimlerinden ve bağımlı denetleyicilerden gelen kesme isteklerini almak için tasarlanmıştır.

CAS0-CAS2 çıkışları, belirli bir bağımlı denetleyiciyi tanımlamak için tasarlanmıştır.

Makale, donanım kesintilerini ve cihaz, işlevler, kesme denetleyicisinin çalışması. Bu kesme denetleyicisi ilk PC uyumlu bilgisayarlarda ortaya çıktı. O zamandan beri, bazı noktalar kalsa da, hem işlemciler hem de bilgisayarın kendisi birçok yönden değişti. Bu nedenle, daha net hale getirmek için 8295A kesme denetleyicisinin organizasyonu düşünüldü.

Yukarıdaki şema, yalnızca bağımlı ve ana kesme denetleyicilerine değil, aynı zamanda diğer bağımlı aygıtlara da gelen sinyalleri göstermektedir. Ancak, bilgisayarınızın veya dizüstü bilgisayarınızın aslında yukarıda belirtildiği gibi 2 kesme denetleyicisi vardır: bir ana ve bir bağımlı. Ancak bu şekilde 64 adede kadar bağımlı kesme denetleyicisi kullanarak kendi bilgisayar sistemlerinizi oluşturabilirsiniz.

AT modern bilgisayarlar uzun zaman önce kesme denetleyici işlevleri 8259A yongaları gerçekleştirmeyin, ancak güney köprüsü. Ancak, tüm programlar ve cihazlar için her şey aynı kalır. Ayrıca, kesme denetleyicisi programlanabilir ve dahili kayıtlara ve bağlantı noktalarına 8259A denetleyicisi ile aynı şekilde erişilmesi gerekir.

Çözüm

Bu yazıda, kesintiler, yani kesinti işlemenin donanımı ve kesinti işleme ilkesi ele alınmıştır. Kesinti kontrolörleri ve bunların çalışma prensibi de dikkate alınır.

Kesinti, donanım veya programın çalışmasından kaynaklanan bazı planlanmış veya planlanmamış eylemleri gerçekleştirmek için ana bilgisayar sürecinin geçici olarak kesintiye uğraması anlamına gelir. Kesinti mekanizması donanım düzeyinde desteklenir. Donanım kesintileri, mikroişlemcinin bazı cihazlardan (klavye, sistem saati, klavye, sabit disk, vb.) rastgele zamanlarda meydana gelir.

Kesinti denetleyicisiçevresel cihazlardan merkezi işlemciye gelen hizmet taleplerini işlemek ve tahkim etmek için tasarlanmıştır. Kesintilerin belirli bir önceliği vardır, bu da kesme denetleyicisi belirli bir zamanda bir cihazı diğerine tercih etme. Modern bir bilgisayarda, kesme oluşturan 16'ya kadar harici ve çevresel aygıt vardır.

bibliyografya

  1. Ders. Kesintiler. E-posta Kaynak. http://hromatron.narod.ru/_lekcii/prerivania_lekcia_g2013.htm
  2. Sistem kesintileri | Donanım kesintisi | Kesinti işleme http://life-prog.ru/view_os.php?id=16
  3. Kesinti denetleyicisi. E-posta Kaynak http://sdelaycomputersam.ru/Controller_irq.php,
  4. Kesintiler. Kesinti denetleyicisi. Cihaz, fonksiyonlar, iş. E-posta Kaynak http://sdelaycomputersam.ru/Controller_irq.php
  5. Intel 8259A kesme denetleyicisinin yapısı ve başlatılması

Pek çok meraklı kullanıcının muhtemelen IRQ gibi bir kısaltmayla birden fazla kez karşılaştığını düşünüyorum. Örneğin, Windows'ta Aygıt Yöneticisi programına bakmak isterseniz bulabilirsiniz. Herhangi bir cihazı, örneğin bir klavyeyi seçerseniz, farenin sağ tuşuyla "Özellikler" menü öğesini seçin ve beliren pencerede "Kaynaklar" sekmesini etkinleştirin, ardından kaynaklar listesinde göreceksiniz. yazıt IRQ 01.

IRQ nedir ve ne içindir?

IRQ kısaltması Interrupt ReQuest (kesme isteği) anlamına gelir. Neden gerekli olduğunu anlamak için, kişisel bir bilgisayarın çalışmasının organizasyonunun ayrıntılarını hatırlamak gerekir.

İşlemcinin ve diğer aygıtların bilgi alışverişinde bulunduğu bir bilgisayarın dolaşım sistemi, sistem veriyolu. Ancak genel olarak, işlemci, veri yolu üzerinden gelen bilgi işleme isteklerini çeşitli cihazlardan nasıl ayırt edebilir?

Bunun için bir donanım kesintileri sistemi (IRQ) vardır. Her kesmenin belirli bir numarası vardır (numaralandırma 0'dan başlar) ve belirli bir cihaza atanır. Bu nedenle, klavyeye 1 numaralı kesme atanır, dolayısıyla IRQ 01 ataması.

Cihazdan bir talep alındığında, bilgisayar mevcut bilgilerin işlenmesini kesintiye uğratır (dolayısıyla “kesinti” terimi) ve yeni alınan bilgiyi işlemeye başlar. Birkaç kesinti varsa, bunlar her birine atanan öncelik sırasına göre işlenir. Kural olarak, kesme sayısı ne kadar küçükse, işlemcinin bu kesmeye atanmış aygıtının önceliği o kadar büyük olur, ancak bu kural her zaman gözetilmez.

IRQ'nun işlenmesine, kesme denetleyicisi adı verilen özel bir yonga hizmet eder. Kural olarak, bu mikro devre, merkezi işlem biriminin bir parçasıdır ve bazen anakartta ayrı bir yonga olarak tahsis edilir. BIOS'taki her bir kesmeyi işlemek için kesme işleyicisi adı verilen özel bir ürün yazılımı vardır. Tüm işleyicilerin adresleri, sözde kesme vektör tablosunda saklanır.

Daha önce XT ailesinin ilk bilgisayarlarında 8 bit yaygındı, bu nedenle cihazlar için toplam 8 kesme mevcuttu. 16 bitlik ISA veri yolunun gelişiyle sayıları 16'ya yükseldi.

Kesinti İsteğini Ayarlama

Bazı cihazlara atanan kesmelerin sabit olmadığını ve programlı olarak değiştirilebileceğini söylemeliyim. Örneğin, IRQ yaygın olarak seri olarak kullanılır. bağlantı noktası 2, genişletme yuvasına takılı bir modemi de kullanabilir. PnP standardını destekleyen ve Windows altında çalışan modern bilgisayarlarda ve işletim sistemlerinde bus slotlarına bağlı cihazlar için IRQ değerleri otomatik olarak seçilir.

Ancak, kullanıcının birçok DOS programında IRQ değerini manuel olarak ayarlamak zorunda kaldığı eski günlerde işler o kadar basit değildi. Örneğin, yüklerken ses kartı, kullanıcının çok az sayıda mevcut olanlardan (genellikle IRQ 5'ti) ücretsiz bir kesme seçmesi ve bu değeri, örneğin bazı oyunlarda başlatılan programda belirtmesi gerekiyordu.

Birçok BIOS'ta, Kurulum programında varsayılan IRQ değerlerini değiştirmek mümkündür. Bu seçenek genellikle IRQ Kaynakları veya PCI/PNP Yapılandırma bölümlerinde bulunur.

Bir aygıt için bir IRQ değerinin bazı aygıtlar tarafından halihazırda kullanılan IRQ değerine eşit olarak ayarlanması, çoğu durumda bu aygıtlardan birinin veya her ikisinin birden çalışmamasına neden olur ve bazen bilgisayarın donmasıyla doludur.

Daha modern PCI veri yolunda, kesinti kontrol sistemi kökten değiştirildi ve kesinti kontrol yetenekleri genişletildi. IRQ Sharing teknolojisi sayesinde birden fazla cihazı tek bir kesme kanalına yerleştirmek de mümkün hale geldi ve PCI yuvalarına bağlı harici cihazlar, kaynakları kendi aralarında otomatik olarak dağıtma yeteneğine sahip oldu.

Buna ek olarak, modern bilgisayarlar yaygın olarak 24 kanal Kesme İsteği'ni destekleyen gelişmiş bir programlanabilir kesinti denetleyicisi (APIC, ) kullanır. Gelişmiş kesme denetleyicisi, biri işlemcinin kendisinde, diğeri anakartta bulunan iki mikro devre şeklinde yapılır. Bu kesinti denetleyicisi ilk olarak Pentium işlemcilere dayalı sistemlerde ortaya çıktı. Ancak, uyumluluk nedeniyle eski kesme sistemi desteği korunmuştur. Kesinti işleme ilkelerinin geliştirilmesindeki bir sonraki adım, desteği Windows Vista'dan başlayarak Windows işletim sistemi satırında görünen Message Signaled Interrupts teknolojisidir.

Donanım IRQ'larını ayrı bir makalede tartışılacak olan BIOS yazılım kesintileriyle karıştırmayın. BIOS yazılım kesintileri genellikle işleri düzenlemek için kullanılır yazılım giriş-çıkış aygıtları ile ve INT kısaltması ile gösterilir. Birçoğu, işlev olarak donanım IRQ'larına benzer, ancak farklı sayılara sahiptir.

16 bitlik ISA veri yolu için standart şemadaki Kesinti İsteği numaralarının listesi:

  1. Sistem zamanlayıcısı
  2. Tuş takımı
  3. İsteğe bağlı kesinti denetleyicisi (8 bit veri yolu uyumluluğu için)
  4. Com 1 ve 3 bağlantı noktaları
  5. Com 2 ve 4 bağlantı noktaları
  6. Ücretsiz (8 bit veriyolunda - sabit disk denetleyicisi)
  7. Denetleyici disketler(FDD)
  8. Paralel bağlantı noktası LPT
  9. CMOS gerçek zamanlı saat
  10. IRQ 2 ile birlikte
  11. Özgür
  12. Özgür
  13. PS/2 fare bağlantı noktası
  14. Yardımcı işlemci (şu anda neredeyse hiç kullanılmamaktadır)
  15. İlk IDE Denetleyicisi
  16. İkinci IDE Denetleyicisi

APIC Genişletilmiş Kesinti Denetleyicisinin kullandığı ek IRQ'ların listesi:

  1. USB denetleyicisi
  2. Entegre ses alt sistemi (AC'97 veya HDA)
  3. USB denetleyicisi
  4. USB denetleyicisi
  5. Entegre ağ kartı
  6. Özgür
  7. Özgür
  8. USB 2.0 denetleyicisi

IRQ numaralarının ve BIOS kesintilerinin yazışmaları:

Donanım IRQ'su ve yazılım INT BIOS arasındaki korelasyon tablosu

Çözüm

Bu yazıda, IRQ kısaltmasının ne anlama geldiğini ve donanım kesintilerinin ne olduğunu öğrenebildiniz. Bilgisayar kaynaklarını tahsis etmek için yerleşik bir mekanizmadır ve merkezi işlemciye cihaz erişimini düzenlemek için tasarlanmıştır. Uygun IRQ tahsisi ve ayarı, cihazlar arasındaki çakışmaları önler ve istikrarlı çalışma sistemler.

IRQ öncelik yönetimi

Donanım kesintisi istek yönetimi

PCI yuvaları, IDE denetleyicileri, seri bağlantı noktaları, klavye bağlantı noktası, hatta anakart CMOS'u dahil olmak üzere doğrudan ana karta bağlı bileşenlerin çoğuna ayrı IRQ'lar atanır. Bir donanım kesme isteği veya IRQ, işlemcinin normal çalışmasını keserek aygıtın çalışmasına izin verir. Windows 7, bir veya daha fazla IRQ'ya (bir veya daha fazla cihazla eşlenen) öncelik vermenize olanak tanır ve bu cihazların performansını potansiyel olarak artırır.

IRQ Önceliğini Değiştirme Adımları

  1. Sistem Bilgisi Yardımcı Programını (msinfo32.exe) çalıştırarak başlayın ve hangi aygıtlar için hangi IRQ'ların kullanıldığını görmek için Sistem Bilgileri dalı Donanım Kaynakları Kesintileri'ni (IRQ'lar) açın.
  2. Ardından Kayıt Defteri Düzenleyicisini açın (bkz. Bölüm 3) ve HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl şubesine gidin.
  3. Bu bölümde yeni bir DWORD değeri oluşturun ve IRQ#Priority parametresini adlandırın; burada #, önceliğini ayarlamak istediğiniz IRQ cihazının numarasıdır (örneğin, IRQ13Priority, IRQ 13'e, yani bir aritmetik yardımcı işlemciye karşılık gelir) .
  4. Yeni değere çift tıklayın ve öncelik numarasını girin. En yüksek öncelik için 1, ikinci için 2 girin, vb. İki giriş için aynı sayıyı girmediğinizden emin olun ve hepsini aynı anda yapmaya çalışmayın, bunun yerine bir veya iki değerle deneme yapın.
  5. Bitirdiğinizde, Kayıt Defteri Düzenleyicisi'ni kapatın ve bilgisayarınızı yeniden başlatın.