IDE通道中的传送模式,DMA与PIO有什么区别?

全部回答3
默认 最新
  • IDE就是在主板上连接硬盘的接口,也叫ATA, PIO的英文拼写是“Programming Input/Output Model”,PIO模式是一种通过CPU执行I/O端口指令来进行数据的读写的数据交换模式,这是最早的数据传输模式, 现在一般不用这样的传输模式了,而是用我们常说的“串口”SATA,不但传输速度快,而且还有数据纠错功能, DMA是双通道模式,也是非常快的一种传输方式,但和IDE是两个概念,一般的单通道是否32位,那么DMA就是64是速度上的差异, 不过现在硬盘都是用SATA接口的,有8M的缓存,支持双通道(DMA)这是现在的主流
    0 点赞
  • pio(programmable input/output,可编程输入输出)是计算机科学中的一种输入输出的控制技术。在电脑内部的硬件子系统需要经过pio控制器申请cpu线程才可以有权利读取或是写入系统的物理内存,加大了cpu的管理负担。当系统频繁的需要透过pio控制器时,cpu需要时时的监控数据的传输和繁忙地满足系统内部的硬件子系统的需要,就无法做其他的事情了。 dma(direct memory access,直接内存存取)是计算机科学中的一种内存访问技术。它允许某些电脑内部的硬件子系统(电脑外设),可以独立地直接读写系统内存,而不需绕道cpu。在同等程度的cpu负担下,dma是一种快速的数据传送方式。很多硬件的系统会使用dma,包含硬盘控制器、绘图显卡、网络卡和声卡。dma 传输重要地将一个内存区从一个装置复制到另外一个。当 cpu 初始化这个传输动作,传输动作本身是由 dma 控制器 来实行和完成。这要减轻 cpu 的多次输出输入中断和资料复制任务。 以前较老式的系统,因为对于cpu以外的周边装置速度需求不大,而其对于内存的使用技术也较不成熟,所以对于系统内部的硬件子系统要求不高。所以基本上所有的硬件子系统都是经过pio模式请求cpu资源。但是磁盘作为系统里面唯一的机械式硬体,其速度的增快对于优化系统整体速度有着较大的需求。磁盘厂家开始把cpu的缓存科技引用到了磁盘上,使得磁盘有了数据缓冲区以提高速度读取和写入的速度。但是较快的缓冲区速度也使得系统需要有较快的pio控制器,所以pio从第1代0模式的每秒3.3mb一直提升到了第5代的4模式的16.7mb速度。但是由于磁盘制造的技术和磁面密度的提高需要更快的方法可以直接把磁盘数据提供给系统使用而又不增加cpu的负担。就有了dma的出现。dma模式虽然也需要cpu的监控,但是cpu只需要初始化数据传输的指令而不需要时时的监控数据的传输,只需要等到数据传输完了以后硬件所提供的信息,使得cpu可以在数据传输工程中,做其他的事情。这也使得磁盘数据在缓冲区到系统内存的速度提高到了每秒133mb,比传统的pio快了8倍。 但是老式的ata(advanced technology attachment,高技术配置)使用的是parallel控制器技术模式,就是所谓的并口接口,数据的写入和读取是无法同时间进行。而系统的核心速度经过了cpu的性能提升和磁盘的缓冲区的加大和目的的增高,需要有更快的方法把磁盘的数据传送到系统内存供系统软件使用。这个需求导致了serial ata的出现,也就是所谓的串口。serial控制器技术模式再一次的把数据传输速度提高到了每秒300mb,是pata的两倍还要多。 所以假如一个系统可以启动dma模式,不只可以增快数据的传输,还可以减轻cpu的负担,是的整体系统的性能提高。 下面是这几种不同模式的最高速度: parallel ata pio mode 0 = 26.4 mbit/sec = 3.3 mb/sec parallel ata pio mode 1 = 41.6 mbit/sec = 5.2 mb/sec parallel ata pio mode 2 = 66.4 mbit/sec = 8.3 mb/sec parallel ata pio mode 3 = 88.8 mbit/sec = 11.1 mb/sec parallel ata pio mode 4 = 133.3 mbit/sec = 16.7 mb/sec parallel dma ata 33 = 264 mbit/sec = 33 mb/sec parallel dma ata 66 = 528 mbit/sec = 66 mb/sec parallel ultra dma ata 100 = 800 mbit/sec = 100 mb/sec parallel ultra dma ata 133 = 1064 mbit/sec = 133 mb/sec serial ata (dma模式,sata-150) = 1200 mbit/sec = 150mb/sec serial ata (dma模式,sata-300) = 2400 mbit/sec = 300mb/sec *** 还有很多其他的模式,如scsi,fibre channel等。 【抄袭转载声明】本人在问问网站上的回答是个人在电脑硬件和软件的经验和各自厂家官方网上收集到的一些咨询。本人知道大家都是互相帮忙,互相解决问题。我不介意你们抄袭或转载我的答案,不过希望能注明转载的来源,这样也不枉费我花很多时间细心的回答问问用户的问题。谢谢。
    0 点赞
  • 如果你的机子变得很慢,甚至连播放影片都有卡声音的现象,又差不出任何病毒,怎么回事?很可能是你的机子的硬盘的DMA模式变成了PIO模式了。  硬盘的DMA模式大家应该都知道吧,硬盘的PATA模式有DMA33、DMA66、DMA100和DMA133,最新的SATA-150都出来了!一般来说现在大多数人用的还是PATA模式的硬盘,硬盘使用DMA模式相比以前的PIO模式传输的速度要快2~8倍。DMA模式的起用对系统的性能起到了实质的作用。以前有很多文章介绍过如何打开DMA模式,我在这里也就不多说了。  但笔者发现一个新的“问题”——Windows2000、XP、2003系统有时会自行关闭硬盘的DMA模式,自动改用PIO模式运行!这就造成在使用以上系统中硬盘性能突然下降,其中最明显的现象有:系统起动速度明显变慢,一般来说正常WindowsXP系统启动时那个由左向右运动的滑条最多走2~4次系统就能启动,但这一问题发生时可能会走5~8次或更多!而且在运行系统时进行硬盘操作时明显感觉变慢,在运行一些大的软件时CPU占用率时常达到100%而产生停顿,玩一些大型3D游戏时(比如极品飞车6)画面时有明显停顿(很多人这时以为是自己的显卡问题,当然如果你使用的是三年前的显卡玩这些游戏是有点老了,但如果你用的是今年才买的GF显卡那就不是它的问题了),出现以上问题时大家最好看看自己硬盘的DMA模式是不是被Windows系统自行关闭了。查看自己的系统是否打开DMA模式:1. 双击“管理工具”,然后双击“计算机管理”;  2. 单击“系统工具”,然后单击“设备管理器”;  3. 展开“IDE ATA/ATAPI 控制器”节点;  4. 双击您的“主要IDE控制器”;  5. 点击“高级设置”。
    0 点赞

没有更多内容了

返回顶部
产品求购 求购