reactos操作系统实现(101)
发布日期:2021-07-01 04:59:14 浏览次数:4 分类:技术文章

本文共 2505 字,大约阅读时间需要 8 分钟。

这里主要来分析ATAPI驱动程序,那么就要先了解ATAPI的相关知识了。

1 AT ATTACHMENT ATA):ATA接口是个人电脑上最具有实力的存储接口,ATA接口早先被广泛应用于IBM及其兼容机,它被定义为标准的硬盘接口。

 

2 ATA-1ATA硬盘接口的第一代标准ANSI X3.279-1994,也就是早期的IDE接口。

 

3 ATA-2ATA硬盘接口的第二代标准ANSI X3.279-1995,就是大家所知道的Fast ATA或者称之为Enhanced IDEEIDE)接口。

 

4 Apple-ATAApple上使用的ATA接口,当然也是由标准的ATA接口演化而来的,在ANSI的国际标准提案申请为X3T9.2/90-143.Revision 3.1,这一个由标准ATA接口规格演化而来Apple-ATA支持IDE接口的硬盘LBA驱动模式,但是没有支持ATATP

 

5 ATA-3ATA硬盘接口的第三代标准ANSI X3T13/2008D Revision 7draft),同样包含在Fast ATAEnhanced IDE的接口之中,一般使用者大多都知道Fast ATA或是Enhanced IDE接口,而对原来Fast ATAEnhanced IDE接口居然还包括了ATA-2以及ATA-3两组国际标准。

 

6 ATAPIAT Attachment Packet Interface,这是ATA Protocol的延伸,被定义用来支持CD-ROM光驱以及Tape磁带机,这一个ATAPI Protocol容许硬盘以外的设备使用ATA数据线。

 

7 ATA/ATAPI-4ATA硬盘接口的第四代标准ANSI X3T13/D96153draft),也就是大家所知道的Ultra ATA或是Ultra DMA,这一个版本支持33MB/sec的数据传输率(in burst mode),相信各位读者对ATA-4/Ultra DMA都是比较熟悉的了。

 

8 ATA/ATAPI-5:这是目前ATA硬盘接口的比较新的一代标准,这一规格里规定的数据流传输速率(in burst mode)为66MB/sec,并且加强了内部资料的检查与错误修正的算法,强化了资料的完整性和可靠性。

 

9 ATA/ATAPI-6:还有更新的一个标准,是ATA/ATAPI-5的改进,这一规格里规定的数据流传输速率(in burst mode)为100MB/sec

 

PIO驱动模式的资料传输速率

 

PIO Mode Cycle time Transfer Rate

PIO Mode 0 600ns 3.3Mbytes/sec

PIO Mode 1 383ns 5.2Mbytes/sec

PIO Mode 2 240ns 8.3Mbytes/sec

PIO Mode 3 180ns 11.1Mbytes/sec

PIO Mode 4 120ns 16.6Mbytes/sec

 

Enhanced IDE接口发展至今,ULTRA DIRECT MEMORY ACCESSULTRA-DMA)的是目前最新的目前大家最为熟悉的就是Ultra-DMA的资料传输率最高可以达到ATA-3标准的四倍,也就是66.6Mbytes/sec

 

实际上硬盘接口的鼻祖,除了SCSI界面以外,就是MFM/ST-506 Bus接口了,后来经过不断的演变才演进成为今天的Enhanced IDE接口,而在Enhanced IDE之前的IDE/AT-BUS接口,则仅仅提供了PIO驱动模式,而没有DMA驱动模式,这两种驱动模式简单来讲区别主要是在数据传输时是否需要CPU来控制。在PIO模式下,任何一个硬盘的读取动作,都必须经过CPU来控制管理,所以只要硬盘读写动作频繁的时候,CPU的资源就被大量的消耗,因而降低了电脑整体的效率。而在DMA模式下,硬盘和内存之间的数据可以直接交换,这样就不会占用CPU的资源,提高了电脑的整体效率。读者千万不要忽略掉从PIODMA的进步,事实上个人电脑内的任何一个动作都必须运用系统的内存,毕竟CPU内部的缓存器容量太小了,所以凡是程序的读取、运算都必须在内存上操作,这样从硬盘到内存的数据交换就会非常频繁,所以简化这么一步对于电脑整体性能的提高还是非常突出的。

 

以前硬盘采用PIO模式的时候,只要一开始大量的硬盘读写操作,就会使得电脑的性能急剧下降,让人感觉电脑总在等待什么似的,实际上SCSI接口一开始也是采用PIO模式,后来也演变成了DMA模式,IDE/AT-BUS接口也不例外,到了PIO Mode 4驱动模式之后,IDE/AT-BUS接口已经成功的演化成为Enhanced IDE接口,驱动模式也由PIO Mode 4升级为Multiword DMA Mode2,原本预计还有一个PIO Mode 5会问世的,但是DMA Mode已经出现,PIO Mode已经没有市场了。

 

所以读者可以认为Enhanced IDE接口的特点主要在于:驱动模式的改变,增加了对非硬盘存储设备的支持等,而且原本是一组的IDE界面现在也增加到了两组。

 

DMA的全名为Direct Memory Access直接内存存取,采用DMA驱动模式以后,CPU不再象往常那样需要花费相当多的时间在硬盘的O/I操作上,DMA的意义就是在于让硬盘和内存直接沟通,所有的硬盘操作都不需要占用太多的CPU时间。

 

接着让我们来看看DMA Mode的相关资料,DMA驱动模式资料传输速率:

DMA Mode I/O Cycle time Transfer Rate

Single-word DMA Mode 0 900ns 2.1 Mbytes/sec

Single-word DMA Mode 1 480ns 4.2 Mbytes/sec

Single-word DMA Mode 2 240ns 8.4 Mbytes/sec

Multi-word DMA Mode 0 480ns 4.2 Mbytes/sec

转载地址:https://mysoft.blog.csdn.net/article/details/4655215 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Python标准库:内置函数zip(*iterables)
下一篇:reactos操作系统实现(100)

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月24日 12时40分41秒