
- •5.2.3 История развития параллельных интерфейсов
- •Шины pci и pci-X.
- •Спецификации pci и pci-X.
- •Взаимодействие устройств на шине pci
- •Сигналы и транзакции шины pci.
- •5.2.4 Шина pci-Express.
- •Pci Express — ключевые отличия от pci
- •Элементы и топология соединений pci Express
- •Архитектурная модель pci Express.
- •Надежность передачи и целостность данных
Спецификации pci и pci-X.
Шина PCI имеет уже длинную историю.
PCI 1.0 (1992 г.) — определена общая концепция, описаны сигналы и протокол 32-битной параллельной синхронной шины с тактовой частотой до 33,3 МГц и пиковой пропускной способностью 132 Мбайт/с.
PCI 2.0 (1993 г.) — введена спецификация коннекторов и карт расширения с возможным расширением разрядности до 64 бит (пропускная способность до 264 Мбайт/с), предусмотрены варианты питания интерфейсных схем напряжением 5 и 3,3 В.
PCI 2.1 (1995 г.) — введена частота 66 МГц (только для устройств с напряжением питания 3,3 В), что позволило обеспечить пиковую пропускную способность до 264 Мбайт/с в 32-битном варианте и 528 Мбайт/с в 64-битном.
PCI 2.2 (1998 г.) — уточнения версии 2.1, введен новый механизм сигнализации прерываний — MSI.
PCI 2.3 (2002 г.) — определены биты для прерываний, облегчающие идентификацию источника; отменены карты расширения с питанием 5 В (остались только универсальные и 3,3 В); введен низкопрофильный (low profile) конструктив карт расширения; добавлены сигналы дополнительной шины SM-Bus. Эта версия, описанная в документе PCI Local Bus Specification, Revision 2.3, является базой для современных расширений.
PCI 3.0 (2004 г.) — отменены системные платы на 5 В (остались только универсальные и 3,3 В).
На базе PCI 2.3 в 1999 году появилось расширение PCI-X, призванное существенно повысить пиковую пропускную способность шины за счет увеличения частоты передачи, а также повысить эффективность работы за счет оптимизации протокола.
Взаимодействие устройств на шине pci
Устройством PCI называется микросхема, или карта расширения, подключенная к одной из шин PCI и использующая для доступа к конфигурационным регистрам выделенную ей линию IDSEL, принадлежащую этой шине. Устройство может быть многофункциональным, то есть состоять из множества (от 1 до 8) так называемых функций.
Каждое устройство PCI при установке в конкретную систему получает идентификатор, однозначно определяющий его положение на дереве шин PCI данного компьютера. Идентификатор имеет иерархическую структуру и состоит из номеров шины (bus), устройства (device) и функции (function). Идентификатор задает положение блока конфигурационных регистров заданной функции выбранного устройства в общем конфигурационном пространстве системы.
С программной точки зрения устройство PCI может иметь следующие компоненты:
конфигурационные регистры, используемые для идентификации и начального конфигурирования устройства при инициализации системы (для всех устройств предусмотрен обязательный набор конфигурационных регистров, остальные регистры могут применяться для текущего управления);
операционные регистры (необязательно) – это регистры, которые используются для текущего управления и взаимодействия с устройством;
источники запросов на прерывания;
мастер шины, обеспечивающий прямой доступ к системной памяти (DMA) и взаимодействие с другими устройствами.
С устройством PCI, когда оно является целевым, можно взаимодействовать несколькими способами:
командами обращения к памяти и портам ввода-вывода; эти команды адресуются к областям, выделенным устройству при конфигурировании;
командами обращения к конфигурационным регистрам; эти команды адресуются по идентификатору — номеру шины, устройства и функции (компонентам многофункционального устройства PCI);
специальными широковещательными сообщениями, передаваемыми для всех устройств выбранной шины;
командами пересылки сообщений; команды адресуются по идентификатору устройства (эта возможность появилась в PCI-X 2.0).