Maskelenemeyen kesme - Non-maskable interrupt

Olarak işlem , bir maskelenemez kesme ( NMI ), bir donanımdır kesme sistemi standart bir kesme-maskeleme teknikleri göz ardı edilemez olduğu. Genellikle kurtarılamayan donanım hatalarına dikkat çekmek için ortaya çıkar . Bazı NMI'ler maskelenebilir, ancak yalnızca belirli NMI'ye özgü özel yöntemler kullanılarak.

Bir NMI genellikle yanıt süresi kritik olduğunda veya normal sistem çalışması sırasında bir kesintinin asla devre dışı bırakılmaması gerektiğinde kullanılır. Bu tür kullanımlar arasında kurtarılamayan donanım hatalarının bildirilmesi, sistem hata ayıklaması ve profil oluşturma ve sistem sıfırlamaları gibi özel durumların ele alınması yer alır.

Modern bilgisayar mimarileri, hemen ilgilenilmesi gereken kurtarılamayan hataları işlemek için tipik olarak NMI'leri kullanır. Bu nedenle, sistemin normal çalışmasında bu tür kesintiler maskelenmemelidir. Bu hatalar, kurtarılamayan dahili sistem yonga seti hatalarını, eşlik ve ECC hataları gibi sistem belleğindeki bozulmaları ve sistem ve çevresel veri yollarında algılanan veri bozulmasını içerir.

Bazı sistemlerde, bir bilgisayar kullanıcısı, donanım ve yazılım hata ayıklama arabirimleri ve sistem sıfırlama düğmeleri aracılığıyla bir NMI'yi tetikleyebilir .

Programcılar genellikle hatalı kodu teşhis etmek ve düzeltmek için hata ayıklama NMI'larını kullanır. Bu gibi durumlarda, bir NMI, kontrolü özel bir izleme programına aktaran bir kesme işleyicisini yürütebilir . Bu programdan bir geliştirici, makinenin belleğini inceleyebilir ve kesinti anında programın dahili durumunu inceleyebilir. Bu, aynı zamanda, asılı görünen bilgisayarların hatalarının ayıklanmasına veya teşhis edilmesine de izin verir .

Tarih

Daha eski mimarilerde, gerekli yanıt süresi nedeniyle tipik olarak hiçbir zaman devre dışı bırakılmayan kesintiler için NMI'lar kullanıldı. Gizli sinyallerdi. Örnekler disket üzerinde denetleyici Amstrad PCW , 8087 işlemcisi üzerinde x86 IBM PC veya onun uyumluları (Intel normal kesme bağlayarak tavsiye olsa bile) kullanılan ve üzerinde Düşük Pil sinyalini HP 95LX .

Orijinal IBM PC'de , sistem belleğinde bir eşlik hatası algılandığında veya harici bir aygıt tarafından rapor edildiğinde bir NMI tetiklendi. Her iki durumda da bilgisayar bir hata mesajı gösterecek ve duracaktır. Daha sonraki bazı PC klonları , donanım farklılıklarını standart bir PC'den gizlemek için bir NMI kullandı. Bu tür bilgisayarlarda, bir program uyumsuz donanıma erişmeye çalıştığında bir NMI oluşturulur. Bir BIOS kesme işleyicisi daha sonra programın isteğini gerçekte mevcut olan donanımla eşleşecek şekilde çevirir. SMM içinde 386SL bunu yapmak için iyi bir yoldur.

Bazı 8 bitlik ev bilgisayarları , sistem kilitlendiğinde "sıcak bir başlangıç" sağlamak için NMI hattını kullandı. Tipik olarak, bu , kullanıcının halihazırda yüklemiş olabileceği herhangi bir veriyi yok etmeden , kontrol kayıtlarını ROM'da saklanan bilinen iyi değerlere geri yükler . On Commodore 8 bit makinelerde, RESTORE tuşuna NMI hattına doğrudan veya dolaylı bağladım 6502 SERİSİ CPU, ama sıfırlama ROM içinde NMI işleyicisi rutin algıladı sadece durumunda yapılacak olan Run / Stop ayrıca ediliyordu RESTORE vurulduğunda basılı tutulur (bu kombinasyon, üç parmak selamının Commodore versiyonudur ). Commodore ayrıca C64 ve C128'deki MOS Teknolojisi 6526 CIA #2'yi işlemcinin NMI hattına bağladı; bu, 6551 ACIA'nın yazılım öykünmesinin gerçekleştirildiği yolların bir parçasıydı . Atari'nin 8 bitlik hattı, aynı amaç için bir SYSTEM RESET düğmesi kullandı .

Hata ayıklama NMI'ları, Apple Macintosh'un "programcılar" düğmesi ve Sun iş istasyonlarındaki belirli tuş kombinasyonları dahil olmak üzere çeşitli biçimlerde ortaya çıkmıştır . Tanıtılmasıyla Windows 2000 , Microsoft bir içine ya mola için bir sistem neden bir NMI kullanılmasına izin debugger veya diske ve yeniden başlatma için belleğinin dökümünü.

Hata ayıklama NMI'leri, boş zaman kullanıcılarının ve oyuncuların çalışan programları manipüle etmesine izin veren cihazlar tarafından da kullanılmıştır. Romantic Robot's Multiface gibi bir NMI oluşturmak için bir düğme ekleyen cihazlar , 1980'lerin 8-bit ve 16-bit ev bilgisayarları için popüler bir aksesuardı. Bu çevre birimlerinde az miktarda ROM ve bir NMI düğmesi vardı. Düğmeye basmak, kontrolü çevre biriminin ROM'undaki yazılıma aktararak, askıya alınan programın diske kaydedilmesine izin verir (disk desteği olmayan bant tabanlı oyunlar için çok kullanışlıdır, aynı zamanda devam eden oyunları kaydetmek için de faydalıdır), ekran görüntüleri kaydedilecek veya yazdırılacak veya manipüle edilecek hafızadaki değerler - örneğin, ekstra hayatlar elde etmek için bir hile tekniği.

Tüm bilgisayarlar NMI'leri tetiklemek için bir mekanizma sağlamaz; ancak, birçok makine (tipik olarak rafa monte sunucular), özellikle bu amaç için fiziksel bir düğme sağlar. Diğer makineler bu işlevi bir genişletme kartı aracılığıyla ortaya çıkarabilir.

Miles Gordon Teknoloji 'nin müridi ve + D için ürünler ZX Spectrum NMI üreten 'sihirli renkli' özellikli.

On Nintendo Entertainment System , NMI her sırasında oluşturulan düşey karartma aralığı . Bu NMI'ler (genellikle "boş kesmeler" olarak anılır) sık, düzenli aralıklarla meydana geldiğinden, oyun grafiklerini ve sesini yöneten kod genellikle NMI işleyici rutininin içinde yürütülür. PPU'nun 2000$ ' lık kaydının 7. bitini temizlemek vblank kesmelerini devre dışı bırakır ve ayarlamak onları etkinleştirir.

Ayrıca bakınız

Notlar

Dış bağlantılar