為什麼Xp的正常模式和安全模式下硬體的IRQ會不一樣? Q: 最近用foobar聽音樂的KS模式聽音樂時,如果同時有其他的一些操作(拷貝大文件),就可能出現長時間的不響應,我懷疑是不 是多個硬體共用一個IRQ的關係,而且我在遊戲中也有出現爆音的情況。 已經用了一切我知道的手段想改IRQ,就是改不了,總是這五個設備共用一個IRQ號,後來想在安全模式下試試,發現安全模 式下面居然是正常的,是不是可以說與BIOS的設置就沒有什麼關係了 但是為什麼會出現這種情況呢,請哪位可以指教一把 謝謝了! A: 這個是win2k以來加入的一種叫「中斷共享」的功能...... 我也是很火大的.... 而且看來你想的辦法和我想的是一樣的... 把主機板上面的串列阜控制器和並列阜控制器全部禁用不了..嗯..還有軟驅控制器..... 要是裝主機板驅動也不能解決的話..那就只有忍著了...huhu Q: 這是微軟給出的解決方法,但是在安全模式下已經都處於正常狀態了,那麼我覺得在正常模式肯定是可以解決的,但是現在還 是沒有頭緒啊 http://support.microsoft.com/defaul...kb;EN-US;299340 A: 1、為什麼要共享irq 對於有限的irq資源來說,不可能適應所有的應用環境。因為用戶的需求不同, 硬體設備也各式各樣。所以必須要共享irq。 2、為什麼可以共享irq 在驅動程序載入時,操作系統根據pnp設備的要求(在標準的硬體接頭中描述了 該設備對各種硬體資源的要求,比如幾個irq,多大的記憶體地址等等),分配若干 個中斷資源給硬體設備。驅動程序得到這個中斷資源(中斷向量),將其做映射 後供自己使用;同時,註冊中斷服務例程(isr),通知系統將isr與這些中斷連接 起來。於是,當中斷髮生後,操作系統就會調用與之連接的isr。 但,注意,此時有可能有多個isr對應一個中斷,這很好理解,因為中斷是重用的, 比如,可能有多個isr都與中斷11連接。但不會出現中斷衝突。因為當中斷髮生時, 硬體設備本身的某個寄存器會標識出當前該設備是否發生了中斷。比如,當某個 設備發生中斷後,它回將寄存器11寫為0x3c,然後,當中斷被清除後,該寄存器 被硬體自動寫0。這樣,當isr被調用時,還要判斷該硬體的寄存器11是否為0x3c, 如果是,說明當前的中斷確實是自己所驅動的硬體發生的,就進行中斷處理,否則, 直接返回。 3、所以,如果是pnp的系統和硬體,應該不會有中斷衝突的問題。如果聽音樂 有斷續的情況,還要考慮其他問題。比如,是否因為某個設備cpu佔用率過高導 致音瀕設備沒有足夠的cpu資源進行音瀕處理。等等。 舉個簡單例子,如果硬碟的dma沒有開啟,那拷貝資料時,滑鼠就會跳著移動。 這在低檔電腦上尤其明顯。這當然不能說是中斷衝突,而是cpu佔用率的問題。 另外,如果某個程序cpu佔用率很大,而當前又無法滿足如此的佔用率,也會出 現問題。一般來說,驅動設備有很大的優先級。如果某個驅動程序cpu佔用率很高, 那它會影響應用程式的執行。 Q: 還是說我用foobar的ks模式聽音樂時出現的問題 我從本機拷貝一個600M的文件到網路鄰居中的一個電腦上,在6%的時候就會出現長時間的不響應,一段時間以後系統會報目 的盤的空間不夠。然後我又試了一下,還是在6%的時候出現同樣的問題。 然而,當我關閉foobar之後,一切都是那麼順利。 這裡邊我特別強調一下,同一時間我沒有其他任何的操作,也沒有開啟其他任何的應用程式,另外就是foobar的KS模式,不知 道是foobar的問題還是IRQ共享的問題。因為我在國外的其他論壇上也看到一些這種IRQ共享帶來的系統不穩定的情況。 上面這些現在倒是其次了,因為我可以關掉foobar,但是出現的這種正常模式和安全模式下的IRQ使用情況的不同,想究一下根 本。 懇請哪位dx可以講解一番。 A: 2000及XP系統採用了中斷共享及虛擬中斷技術(你會看到IRQ20等的出現),如果設備支持PNP及中斷共享功能,那麼不是問 題。 但是有些比較老,或者特殊的設備(如視頻採集卡)在中斷共享情況下面會有相容問題,對於這種情況有些大廠主機板的有個 解決辦法,就是制定一個PCI插槽(一般是PCI1)具有IRQ最高優先級,而且佔用的IRQ不會被共享。這在其主機板手冊中就有 指明。 普通大眾主機板說明書中未見有此條目,也就不知是否也是如此了。 另外,大廠主機板說明書中往往還給出PCI INT #A-D中斷的(在PCI槽是否有擴展卡下的)分配映射順序 既然MS是老大,那麼大家就只得安裝它的標準行事了。這種情況看來就只能說是foobar的相容問題了。 如果因為特殊原因,不能使用中斷共享功能,那麼可以把「ACPI電腦」換成「標準電腦」。具體如下 這樣: 控制台>系統>硬體 1開啟裝置管理員,找到這個 2、然後點出它的屬性,選擇昇級特定程序 3、顯示所有硬體,然後選擇那個"standard PC"(電腦),接著就一直下一步 顯示這個設備相容所有硬體................ btw: 共享irq 是可以的.但不能位址衝突(一樣)............ 共享因各自調用切換.如你的CPU OR Io 太慢會引起延遲,容意易產生,尤其 聽音樂爆音....................所以常用的要使用佔獨有的中斷IRQ.... 共享IRQ 可以以修改WIN.INI 的共享BUFFERS 把他的值弄大一點....... 不失為暫時方法.................. |