http://farmer.blog.51cto.com/1104462/263458
電腦對外部設備的資料訪問模式分兩種:DMA和PIO。
DMA(Direct Memory Access),直接記憶體訪問,在該模式下,資料傳送不是由CPU負責處理,而是由一個特殊的處理器-DMA控制器-來完成,因此佔用極少的CPU資源。
PIO(Programmed Input-Output),可編程輸入輸出,在該模式下,資料傳送由CPU執行I/O埠指令來按照位元組或更大的資料單位來處理,佔用大量的CPU資 源,資料傳輸速度也大大低於DMA模式。舉例老說,在DMA方式下,如果copy檔的同時在播放mp3音樂,則不受絲毫影響;如果在PIO模式下,則會發現音樂聲時斷時續,這是因為大部分CPU資源被檔傳輸佔用。
所以,總的來說,使用DMA模式時,電腦的運行速度會比使用PIO模式快很多。
查看外部資料存儲設備的當前傳送模式的方法為,打開“設備管理器>>IDE ATA/ATAPI控制器>>主要IDE通道”或者\"次要IDE通道\"的屬性頁,在“高級設置”一頁中就可以看到。一般情況下,主要IDE通 道對應的是主硬碟,次要IDE通道對應的是光碟機。
早期的Windows98系統中,要打開DMA模式需要安裝相應的主板驅動程 序,如Intel Application Accelerator或VIA 4in1。而在WindowsXP系統中,訪問記憶體的默認資料傳送方式就是DMA,但有時候會發現突然變成了PIO模式。這是因為Windows IDE/ATAPI埠驅動程式Atapi.sys累積發生了6次超時或迴圈冗餘檢驗 (CRC) 錯誤後,會自動把IDE通道的傳送模式降為速度更慢的模式,即從高級別的DMA模式降為低級別的DMA模式,直到最終降為最慢的PIO模式。
恢復DMA模式的最簡單方法是在“設備管理器”中卸載已經變為PIO模式的IDE通道,然後重新啟動電腦後,系統會重新安裝剛剛卸載的IDE通道,安 裝完畢後其傳送模式就恢復到DMA模式了。不過上次我用這個方法後,在重新安裝IDE通道時出錯,提示設備不適用於平臺之類的資訊。經查是因為安裝了 daemon tool虛擬光碟機軟體的原因,卸載後一切正常。
另一種恢復DMA模式的方法是修改註冊表。運行regedit打開 註冊表編輯器,找到HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class \\{4D36E96A-E325-11CE-BFC1-08002BE10318},該鍵有0000,0001,0002等子鍵,通常0001代表主要 IDE通道,0002代表次要IDE通道,可通過檢查該子鍵中的DriverDesc一項的值是“主要IDE通道”還是“次要IDE通道”來確認。不過我 的註冊表中還有0003,0004,不知道咋回事……假如要恢復主要IDE通道的DMA模式,則刪除0001子鍵的 MasterIdDataChecksum或者
SlaveIdDataChecksum一項,這取決與該設備是Master還是Slave,搞不清也沒有 關係,這兩項只要看到就刪除即可。之後重新啟動系統即可。
恢復DMA模式後,如果讀取硬碟或光碟發生的錯誤累積6次後,設備又 會變為PIO模式。為了降低這種情況的發生幾率,可在上面提到的0001和0002子鍵中新建DWORD值,名稱為 ResetErrorCountersOnSuccess,值設定為1。加入這一項後,Windows只會在連續發生6次磁片訪問錯誤後才會降低傳送模 式,而不是累積6次錯誤。這就在一定程度上降低了設備變為PIO模式的幾率。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务