PCI IDE/(P)ATA的差异

3
我读了一些关于PCI和IDE/ATA的文章,现在有点困惑了。PCI类0x01(大容量存储控制器)包含IDE(0x01)和ATA(0x05)子类。然而,来自https://superuser.com/questions/341452/whats-the-difference-between-ata-pata-and-ide的内容如下:
“标准名称为‘AT Attachment’,用于IBM PC/AT(反过来表示高级技术,但ATA不是高级技术附件)。但是IDE和ATA是同义词。ATA是更好的术语。”
所以,如果它们是相同的,为什么有两个不同的子类?此外,在这篇文章中提到:
“两种类型的驱动器(SATA和PATA)都是IDE设备。”
但是当我在Oracle VM中配置虚拟机时,有不同的IDE、SATA等控制器。

此外,这篇文章:https://sg.answers.yahoo.com/question/index?qid=20090723091840AA40xd6表明IDE和PCI用于不同的连接方式。但是我原以为ATA“控制器”连接到PCI总线上,这就是为什么我需要在那里检查它们的原因。

它们完全不同... PCI用于声卡、显卡等等... IDE用于CD-ROM驱动器、硬盘驱动器、软盘驱动器等等...

在VirtualBox中,当我连接IDE、软盘控制器、SCSI或任何存储设备时,它会出现在PCI总线上,就像声卡和网络卡一样。

我读的文章越多,就越困惑。理解它们的清晰描述将是很有帮助的。

1个回答

6
术语“IDE”、“ATA”和“PATA”可以交替使用。它们通常都指传统的40/44针扁平电缆硬盘驱动器接口。请注意,PCI或PCI Express IDE / ATA / PATA控制器可以在以下两种模式之一下运行:
1. 传统模式 - 模拟原始PC上的传统ISA总线IDE控制器。使用IRQ 14和15。IRQ不能像普通PCI设备那样被共享/重新映射。仅支持有限数量的IDE通道(主/次)。向后兼容自PC诞生以来的所有操作系统。
2. 本地模式 - 像传统的PCI设备一样工作。IRQ号码不固定,可以与其他PCI设备共享。支持系统中任意数量的控制器。需要Windows 2000或更高版本。
随着SATA的推出,我们又增加了一层兼容性。 SATA控制器通常可以配置为以下两种模式之一:
1. IDE模式 - 像传统的IDE / ATA / PATA控制器一样工作。允许向后兼容旧操作系统(Windows XP及更早版本)。请注意,在IDE模式下,您仍然可能可以选择上面列出的传统模式和本地模式之一。
2. AHCI模式 - SATA控制器的现代编程接口。由Windows Vista及更高版本原生支持。
因此,SATA控制器可以是:
1. AHCI模式 2. IDE模式->本地模式 3. IDE模式->传统模式
为了让事情更加混乱,一些BIOS将IDE模式称为“传统模式”,将AHCI模式称为“本地模式”。而且,并非所有上述模式都一定适用于您的芯片组/ BIOS。旧芯片组可能不支持AHCI。一些新芯片组则放弃对旧模式的支持。此外,在具有多个SATA端口的主板上,可能会有限制哪些端口可以处于哪种模式下。
清楚了吗?太好了!那现在这与PCI类代码有何关系呢?在PCI基类01h(大容量存储)下,PCI规范定义了几个子类。其中有三个与您的问题相关。
  • 子类 01h = IDE 控制器

    • 大多数 IDE/ATA/PATA 控制器将使用此子类

    • 以及处于 IDE 模式下的 SATA 控制器

    • 既有 Legacy 模式,也有 Native 模式 IDE 控制器将使用此子类。您可以查询寄存器映射中的其他位来确定所处模式。

  • 子类 05h = ATA 控制器带 ADMA

    • 这是一种具有特殊 DMA 能力的特殊情况 IDE/ATA 控制器。

    • 我从未见过使用此子类的 Intel 或 AMD 芯片组。

  • 子类 06h = SATA 控制器

    • 通常这意味着处于 AHCI 模式的 SATA 控制器。

    • 然而,一些早期的 SATA 控制器具有专有接口。

    • 编程接口寄存器将告诉您它所处模式。

至于 Oracle VM,它可能会让您选择向虚拟客户操作系统呈现“虚拟”硬盘的模式。但我手头没有副本。 浏览文档,看起来有选择 IDE(不确定是 Native/Legacy/AHCI)或 SCSI 的选项。


谢谢,现在更清楚了。我发现对于 IDE 有三种类型:PIIX3PIIX4ICH6SATA 只能设置为 ACHI 类型。 SCSI 是另一种不同的设备,可以设置为 LSI LogicBus Logic 类型,但对我来说这并不重要。 - David Szalai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接