博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
reactos操作系统实现(101)
阅读量:2015 次
发布时间:2019-04-28

本文共 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

转载地址:http://hrdxf.baihongyu.com/

你可能感兴趣的文章
Unix环境变量--线程基础
查看>>
tinyhttpd源码学习1
查看>>
Plus One
查看>>
Reverse Linked List II
查看>>
36岁退休!阿里 P8 六年实现“财务自由”,裸辞环游世界!
查看>>
高赞回答:为什么高级程序员不必担心自己的技术过时?
查看>>
SpringBoot集成WebSocket,实现后台向前端推送信息
查看>>
老板要我开发一个简单的工作流引擎 !
查看>>
MySQL学习笔记——慢查询
查看>>
PL/SQL学习笔记之触发器
查看>>
Python字符编码和转码
查看>>
commons-dbutils【不推荐】
查看>>
SOCAT端口转发
查看>>
docker快速搭建HTTP代理
查看>>
ActiveReports 报表应用教程 (14)---数据可视化
查看>>
Spring Cloud构建微服务架构:分布式服务跟踪(入门)【Dalston版】
查看>>
TestNG 学习总结 - 忽略测试(八)
查看>>
TestNG 学习总结 - 测试结果报告(十四)
查看>>
Java对象深复制、浅复制
查看>>
细分自动化测试
查看>>