WINDOWS系统自动变为PIO模式怎么办
答案:1 悬赏:10 手机版
解决时间 2021-01-12 19:35
- 提问者网友:溺爱和你
- 2021-01-12 05:14
WINDOWS系统自动变为PIO模式怎么办
最佳答案
- 五星知识达人网友:雾月
- 2021-01-12 06:39
WINDOWS系统自动变为PIO模式,可执行恢复回DMA模式。
方法一:在“设备管理器”中卸载PIO模式的IDE通道,重启电脑,系统会重新安装刚刚卸载的IDE通道,安装完后其传送模式就恢复到DMA模式了。
方法二:修改注册表。运行regedit打开注册表编辑器,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318},删除0001子键的MasterIdDataChecksum或者SlaveIdDataChecksum一项,重启系统即可。
在WindowsXP系统中,访问存储器的默认数据传送方式就是DMA,但有时候会发现突然变成了PIO模式。这是因为Windows IDE/ATAPI端口驱动程序Atapi.sys累积发生了6次超时或循环冗余检验 (CRC) 错误后,会自动把IDE通道的传送模式降为速度更慢的模式,即从高级别的DMA模式降为低级别的DMA模式,直到最终降为最慢的PIO模式。
PIO模式是一种通过CPU执行I/O端口指令来进行数据的读写的数据交换模式。是最早先的硬盘数据传输模式,数据传输速率低下,CPU占有率也很高,大量传输数据时会因为占用过多的CPU资源而导致系统停顿,无法进行其它的操作。PIO数据传输模式又分为PIO mode 0、PIO mode 1、PIO mode 2、PIO mode 3、PIO mode 4几种模式,数据传输速率从3.3MB/s到16.6MB/s不等。受限于传输速率低下和极高的CPU占有率,这种数据传输模式很快就被淘汰。
DMA模式是一种不经过CPU而直接从内存存取数据的数据交换模式。CPU只须向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU资源占有率,可以大大节省系统资源。DMA模式又可以分为Single-Word DMA(单字节DMA)和Multi-Word DMA(多字节DMA)两种,其中所能达到的最大传输速率也只有16.6MB/s。
pio与dma的区别主要表现在对CPU的干扰程度不同。
pio传送方式的优先级高于程序中断,程序中断请求不但使CPU停下来,而且要CPU执行中断服务程序为中断请求服务,这个请求包括了对断点和现场的处理以及CPU与外设的传送,所以CPU付出了很多的代价。
DMA请求仅仅使CPU暂停一下,不需要对断点和现场的处理,并且是由DMA控制外设与主存之间的数据传送,无需CPU的干预,DMA只是借用了一点CPU的时间而已。
此外,CPU对两者请求的响应时间不同。对pio程序中断请求一般都在执行完一条指令的时钟周期末尾响应,而对DMA的请求,由于考虑它的高效性,CPU在每条指令执行的各个阶段之中都可以让给DMA使用,是立即响应。DMA主要由硬件来实现,此时高速外设和内存之间进行数据交换不通过CPU的控制,而是利用系统总线。
方法一:在“设备管理器”中卸载PIO模式的IDE通道,重启电脑,系统会重新安装刚刚卸载的IDE通道,安装完后其传送模式就恢复到DMA模式了。
方法二:修改注册表。运行regedit打开注册表编辑器,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318},删除0001子键的MasterIdDataChecksum或者SlaveIdDataChecksum一项,重启系统即可。
在WindowsXP系统中,访问存储器的默认数据传送方式就是DMA,但有时候会发现突然变成了PIO模式。这是因为Windows IDE/ATAPI端口驱动程序Atapi.sys累积发生了6次超时或循环冗余检验 (CRC) 错误后,会自动把IDE通道的传送模式降为速度更慢的模式,即从高级别的DMA模式降为低级别的DMA模式,直到最终降为最慢的PIO模式。
PIO模式是一种通过CPU执行I/O端口指令来进行数据的读写的数据交换模式。是最早先的硬盘数据传输模式,数据传输速率低下,CPU占有率也很高,大量传输数据时会因为占用过多的CPU资源而导致系统停顿,无法进行其它的操作。PIO数据传输模式又分为PIO mode 0、PIO mode 1、PIO mode 2、PIO mode 3、PIO mode 4几种模式,数据传输速率从3.3MB/s到16.6MB/s不等。受限于传输速率低下和极高的CPU占有率,这种数据传输模式很快就被淘汰。
DMA模式是一种不经过CPU而直接从内存存取数据的数据交换模式。CPU只须向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU资源占有率,可以大大节省系统资源。DMA模式又可以分为Single-Word DMA(单字节DMA)和Multi-Word DMA(多字节DMA)两种,其中所能达到的最大传输速率也只有16.6MB/s。
pio与dma的区别主要表现在对CPU的干扰程度不同。
pio传送方式的优先级高于程序中断,程序中断请求不但使CPU停下来,而且要CPU执行中断服务程序为中断请求服务,这个请求包括了对断点和现场的处理以及CPU与外设的传送,所以CPU付出了很多的代价。
DMA请求仅仅使CPU暂停一下,不需要对断点和现场的处理,并且是由DMA控制外设与主存之间的数据传送,无需CPU的干预,DMA只是借用了一点CPU的时间而已。
此外,CPU对两者请求的响应时间不同。对pio程序中断请求一般都在执行完一条指令的时钟周期末尾响应,而对DMA的请求,由于考虑它的高效性,CPU在每条指令执行的各个阶段之中都可以让给DMA使用,是立即响应。DMA主要由硬件来实现,此时高速外设和内存之间进行数据交换不通过CPU的控制,而是利用系统总线。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯