原创
IDE数据传输模式
2009-11-6 13:33
2420
4
4
分类:
消费电子
IDE数据传输模式
随着技术的发展,产品对数据传输速度要求的提高,IDE接口硬盘的数据传输模式,经历过三个不同的技术变化,由最初的PIO模式,到DMA模式,再到Ultra DMA模式。
PIO模式
PIO的英文拼写是“Programming Input/Output Model”,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模式
DMA的英文拼写是“Direct Memory Access”,汉语的意思就是直接内存访问,是一种不经过CPU而直接从内存存取数据的数据交换模式。PIO模式下硬盘和内存之间的数据传输是由CPU来控制的;而在DMA模式下,CPU只须向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU资源占有率。DMA模式与PIO模式的区别就在于,DMA模式不过分依赖CPU,可以大大节省系统资源,二者在传输速度上的差异并不十分明显。DMA模式又可以分为Single-Word DMA(单字节DMA)和Multi-Word DMA(多字节DMA)两种,其中所能达到的最大传输速率也只有16.6MB/s。
Ultra DMA模式
Ultra DMA的英文拼写为“Ultra Direct Memory Access”,一般简写为UDMA,含义是高级直接内存访问。UDMA模式采用16-bit Multi-Word DMA(16位多字节DMA)模式为基准,可以理解为DMA模式的增强版本,它在包含了DMA模式的优点的基础上,又增加了CRC(Cyclic Redundancy Check循环冗余码校验)技术,提高数据传输过程中的准确性,安全性得到保障。在以往的硬盘数据传输模式下,一个时钟周期只传输一次数据,而在UDMA模式中逐渐应用了Double Data Rate(双倍数据传输)技术,因此数据传输速度有了极大的提高。此技术就是在时钟的上升期和下降期各自进行一次数据传输,可以是数据传输速度成倍的增长。
在UDMA模式发展到UDMA133之后,受限于IDE接口的技术规范,无论是连接器、连接电缆、信号协议都表现出了很大的技术瓶颈,而且其支持的最高数据传输率也有限。同时在IDE接口传输率提高,也就是工作频率的提高,IDE接口交叉干扰、地线增多、信号混乱等缺陷也给其发展带来了很大的制约,被新一代的SATA接口取代也就在所难免了
DMA 传送方式的优先级高于程序中断,两者的区别主要表现在对CPU的干扰程度不同。中断请求不但使CPU停下来,而且要CPU执行中断服务程序为中断请求服务,这个请求包括了对断点和现场的处理以及CPU与外设的传送,所以CPU付出了很多的代价;DMA请求仅仅使CPU暂停一下,不需要对断点和现场的处理,并且是由DMA控制外设与主存之间的数据传送,无需CPU的干预,DMA只是借用了一点CPU的时间而已。还有一个区别就是,CPU对这两个请求的响应时间不同,对中断请求一般都在执行完一条指令的时钟周期末尾响应,而对DMA的请求,由于考虑它得高效性,CPU在每条指令执行的各个阶段之中都可以让给DMA使用,是立即响应。
DMA主要由硬件来实现,此时高速外设和内存之间进行数据交换不通过CPU的控制,而是利用系统总线。DMA方式是I/O系统与主机交换数据的主要方式之一,另外还有程序查询方式和中断方式。
因此,DMA模式有着更快的速度和更低的CPU占用率
DMA工作原理
DMA 是所有现代电脑的重要特色,他允许不同速度的硬件装置来沟通,而不需要依于 CPU 的大量 中断 负载。否则,CPU 需要从 来源 把每一片段的资料复制到 暂存器,然后把他们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。
DMA 传输重要地将一个内存区从一个装置复制到另外一个。当 CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器 来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存去。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA 传输对于高效能 嵌入式系统 算法和网络是很重要的。
举个例子,PC ISA DMA 控制器拥有 8 个 DMA 通道,其中的 7 个通道是可以让 PC 的 CPU 所利用。每一个 DMA 通道有一个 16位元 位址暂存器和一个 16 位元 计数暂存器。要初始化资料传输时,装置驱动程式一起设定 DMA 通道的位址和计数暂存器,以及资料传输的方向,读取或写入。然后指示 DMA 硬件开始这个传输动作。当传输结束的时候,装置就会以中断的方式通知 CPU。
"分散-收集" (Scatter-gather) DMA 允许在一次单一的 DMA 处理中传输资料到多个内存区域。相当于把多个简单的 DMA 要求串在一起。再一次,这个动机是要减轻 CPU 的多次输出输入中断和资料复制任务。
DRQ 意为 DMA 要求;DACK 意为 DMA 确认。这些符号一般在有 DMA 功能的电脑系统硬件概要上可以看到。他们表示了介于 CPU 和 DMA 控制器之间的电子讯号传输线路
文章评论(0条评论)
登录后参与讨论