PIO 模式与 DMA 模式
ATA 定义了两种传输模式,分别称为“PIO 模式”(“编程 I/O 模式”)和“DMA 模式”(“直接内存访问模式”)。PIO 模式传输速度慢得多,且需要处理器来仲裁设备与内存之间的传输。DMA 模式传输速度快得多,且无需处理器介入。如果 ATA 通道上的任何设备使用 PIO 模式,则两个设备都必须如此。这会严重削弱吞吐量并加重处理器负担,导致每次访问驱动器时系统都会变慢。
所有现代 ATA 和 ATAPI 设备都支持 DMA 模式,但为了向后兼容,大多数设备可以设置为使用 PIO 模式。使用 PIO 模式是一个错误。升级系统时,如果发现任何仅支持 PIO 模式的驱动器,请更换它们。反正只有非常老旧的硬盘和光驱才会被限制在 PIO 模式,因此更换它们是无需考虑的事情。
启用 DMA 模式传输
根据你的硬盘和接口支持的 DMA 级别,启用 DMA 传输对磁盘性能的提升可能明显,也可能不明显,但启用 DMA 总是值得的,因为它极大地减轻了 PIO 传输给处理器带来的负担。如果一台计算机在使用 PIO 传输时 CPU 利用率为 75%,那么同一台计算机在使用 DMA 传输时,可能以大约 1.5% 的 CPU 利用率提供相同甚至更好的磁盘性能。对于多任务操作系统,这些节省下来的 CPU 周期意味着更快的系统响应。
要使用 DMA 传输,硬盘、BIOS 和芯片组必须显式支持 DMA,且操作系统必须安装、加载并启用了 DMA 驱动。所有较新版本的 Windows 都支持 DMA 传输,但 DMA 并不总是默认启用的,具体如下:
- 全新安装 Windows 会自动安装支持 DMA 的驱动程序,并测试 BIOS、接口和硬盘的 DMA 兼容性。如果其中任何一项测试失败,DMA 将被禁用。如果三项全部成功,DMA 将自动以驱动器和接口所能共用的最快 DMA 模式启用。
- 将现有系统升级到 Windows XP 时,仅当之前已启用 DMA 时,它才会自动启用 DMA。如果之前禁用了 DMA,则需要手动启用它。
安装第二块硬盘并重启系统后,应立即检查该驱动器当前的 DMA 状态,如果未启用,则启用 DMA。为此,请执行以下步骤:
图 7-13:Windows XP 显示此硬盘正在使用 UDMA-5 (UltraATA-100) 传输模式
- 右键点击“我的电脑”并选择“属性”以显示“系统属性”对话框。
- 点击“硬件”选项卡,然后点击“设备管理器”按钮以显示“设备管理器”。
- 找到并展开“IDE ATA/ATAPI 控制器”项。在两个 ATA 控制器均已启用的标准系统上,会列出三项。第一项描述的是 ATA 控制器本身,可以忽略。另外两项分别是“主要 IDE 通道”和“次要 IDE 通道”。
- 右键点击你要为其启用 DMA 的设备所连接的通道,选择“属性”,然后点击“高级设置”选项卡以显示如图 7-13 所示的对话框。
- 此对话框显示所选 ATA 通道上设备 0(主设备)和设备 1(从设备)的设备类型和当前传输模式。“当前传输模式”字段显示当前正在使用的传输模式,可以按如下方式更改:
DMA Mode x 或 Ultra DMA Mode x
Windows 正在使用所指示的 DMA 或 UDMA 模式,这是接口、线缆和设备所支持的最快模式。例如,如果硬盘支持 UltraATA-100,主板内置接口支持 UltraATA-66,但你使用的是标准的 40 芯 ATA 线缆,Windows 会将接口配置为使用 UltraATA-33。如果你将该线缆更换为 80 芯 UltraDMA 线缆并重启系统,Windows 会将接口重新配置为使用 UltraATA-66。你无法显式选择要使用的 UDMA 模式。
PIO Mode 或 PIO Mode x
Windows 正在使用接口和设备支持的最快 PIO 模式,通常为 PIO-4 (16.7 MB/s)。如果“传输模式”当前设置为“仅 PIO”,你可以通过将“传输模式”设置为“如果可用则使用 DMA”并重启系统来尝试启用 DMA。如果系统重启后设备的“当前传输模式”仍显示为 PIO 模式,则该设备无法在 DMA 模式下使用。请更换为支持 DMA 的设备。
不适用
未安装设备。
所有较新版本的 Windows 在启动时会自动禁用 DMA 传输,如果检测到明显的 DMA 问题,则会还原为 PIO 传输。重启系统时无法保持勾选状态的 DMA 复选框,是你的计算机无法正常支持 DMA 的明显迹象。遗憾的是,这种判断支持与否的方法并非万无一失。DMA 可能看起来安装成功,但仍可能出现间歇性问题。以下任何症状都可能(也可能不会)表明存在 DMA 问题:
- 你完全无法访问硬盘,或者注意到文件损坏或丢失。
- 驱动器有时会短暂挂起,或者在文件访问期间似乎时快时慢。
- 键盘或前台应用程序有时会停止响应一小段时间,或者鼠标变得迟钝或无响应。
- Windows 在安装程序的即插即用检测阶段死机。
- Windows 只能在安全模式下启动。
- Windows 关机时间比启用 DMA 之前长得多。
如果出现这些问题中的任何一个,并不一定意味着你的计算机不能使用 DMA。以下是问题的常见原因:
线缆
根据 ATA 标准,线缆长度不得超过 18 英寸(0.45 米),但我们经常看到 24 英寸甚至 36 英寸的 PATA 线缆。这些长线缆在高带宽 DMA 模式下可能无法可靠工作,甚至完全无法工作。线缆的质量也差异巨大。你在电脑商店货架上看到的 1.99 美元的线缆,其在高速度下的可靠性往往不如新硬盘附带的线缆。安装硬盘时,务必用驱动器随附的线缆更换旧的 ATA 线缆。如果驱动器没有附带线缆,请单独购买高质量的 DMA 线缆。如果你遇到 DMA 问题,更换质量更好的线缆或许能解决问题。
驱动器
目前所有的驱动器都能很好地支持 DMA,但一些早期的 UltraATA-33 驱动器没有正确实现 DMA 模式。如果你要将较旧的驱动器重新配置为使用 DMA,请先查看制造商的网站了解该型号的详细信息。部分型号可以使用软件补丁。
BIOS
一些早期提供的 BIOS 虽然名义上支持 DMA,但实现并不正确。如果你的计算机有更新的 BIOS 版本,下载并安装它可能会解决间歇性的 DMA 问题。如果当前的 BIOS 不支持 DMA,你可能会发现有修订版本可以添加该功能。
SATA 让事情变得简单
与可能使用各种 PIO 和 DMA 模式的 PATA 驱动器和接口不同,SATA 驱动器和接口仅使用 DMA 模式。你无需手动配置设置。如果 SATA 驱动器正在运行,你大可放心它使用的是最佳设置。
0条评论