Второе поколение ввода-вывода — PCI и PCI-X
Шина PCI, как и ее предшественница EISA, относится ко второму поколению шин ввода-вывода. Основные признаки этого поколения:
- Параллельный интерфейс с протоколом обеспечения надежного обмена. Разрядность шины адреса и данных — 32 бита с возможным расширением до 64 бит; достоверность обеспечивается контролем четности; надежность передачи — обязательным ответом целевого устройства, благодаря чему инициатор транзакции всегда узнает ее судьбу.
- Синхронный интерфейс и пакетные передачи с высокой скоростью. Тактовая частота 33 МГц при разрядности 32 бита позволяет достигать пиковой скорости передачи 133 Мбайт/с; возможно повышение частоты до 66 МГц, что при разрядности 64 бит дает пиковую скорость до 532 Мбайт/с.
- Автоматическое конфигурирование устройств, заложенное в спецификации шины. Набор стандартизованных конфигурационных регистров позволяет собирать сведения о потребностях всех устройств в системных ресурсах (адресах и прерываниях), конфигурировать устройства (назначать ресурсы) и управлять их поведением (разрешать работу в качестве целевых устройств и инициаторов транзакций).
- Набор команд обращений к ресурсам различных пространств, включая и команды оптимизированного обращения к целым строкам кэш-памяти.
Заметим, что декларированная высокая пропускная способность шины почти достигается лишь при работе активных устройств шины (Bus Master’ов) — только они способны генерировать длинные пакетные транзакции. Ввод-вывод по шине PCI, выполняемый центральным процессором, дает гораздо более скромные значения реальной пропускной способности. Особенность шины PCI — ограниченное (не более 5-6) число устройств, подключаемых к шине (в предыдущих шинах такого жесткого ограничения не было). Для подключения большего числа устройств используются мосты PCI, организующие дополнительные шины. Мосты PCI прозрачны — через них проходят все необходимые транзакции. Однако механизмы буферизации, применяемые в мостах PCI, вносят значительную задержку в выполнение транзакций через мост.
Слабое место протокола PCI — операции чтения, особенно если они адресуются к не очень быстрой памяти. Эти операции могут на длительное время непродуктивно занимать шину ожиданием данных.
Нарекания вызывает и традиционный способ сигнализации аппаратных прерываний на PCI: 4 линии запроса на все устройства всех шин обрекают на их разделяемое использование несколькими устройствами. Хотя электрических противопоказаний (как на ISA) здесь нет, отсутствие стандартизованного признака запроса прерывания затрудняет и замедляет идентификацию устройства, вызвавшего прерывание. Этот стандартный признак появился только в PCI 2.3 — после долгих лет активного использования шины. Правда, начиная с версии 2.2 появился новый механизм оповещения о прерываниях — MSI, который снимает все проблемы традиционной сигнализации.
Спецификация PCI стала отправной точкой для создания выделенного интерфейса графического акселератора — порта AGP. Это синхронный 32-разрядный параллельный двухточечный интерфейс. Здесь при тактовой частоте 66 МГц достигается скорость 264 Мбайт/с (режим 1x), 533 Мбайт/с (2x за счет двойной синхронизации), 1066 Мбайт/с (4x с синхронизацией от источника данных) и в самой последней версии AGP8x — 2,132 Мбайт/с. Кроме повышения пиковой скорости, в AGP применен более сложный протокол, позволяющий ставить запросы к памяти в очереди. Благодаря этому шина не простаивает в ожидании данных, что положительно сказывается на эффективной производительности. Еще одна особенность AGP — аппаратная трансляция адресов памяти, позволяющая согласовать «видение» физической памяти со стороны акселератора с виртуальной памятью, в которой работает графическое ПО на центральном процессоре. Порт AGP является специализированным интерфейсом системного уровня — к нему подключают только графический акселератор (видеокарту).
В качестве шины общего назначения PCI получила развитие в виде стандарта PCI-X, вышедшего уже и во второй версии. Здесь тоже повышена пиковая скорость: тактовая частота может быть поднята до 133 МГц (варианты PCI-X66, PCI-X100 и PCI-X133). В версии 2.0 появился новый режим Mode 2 с синхронизацией от источника данных, в котором скорость записи в память (и только для этой операции) может подниматься в 2 или 4 раза (PCI-X266 и PCI-X533 соответственно). Таким образом, пиковая скорость записи в память в 64-битном варианте шины может достигать 4 Гбайт/с (чтения — до 1 Гбайт/с). В версии 2.0 определен и 16-битный вариант шины. В PCI-X изменен шинный протокол: введена дополнительная фаза передачи атрибутов транзакции, в которой инициатор сообщает свой идентификатор (на PCI целевое устройство не имеет понятия о том, кто запрашивает транзакцию). Кроме того, сообщается и число байтов, подлежащих передаче — это позволяет участникам транзакции планировать свои действия. Главное изменение протокола — возможность расщепленных транзакций: если целевое устройство не способно быстро ответить, оно заставляет инициатора освободить шину, а позже само организует доставку запрошенных данных. Благодаря этому существенно повышается эффективность использования шины — исключаются простои при ожидании данных. Расщепление транзакций повышает и эффективность работы мостов — их издержки становятся менее «разорительными».
В PCI-X 2.0 введен и новый способ коммуникации между устройствами: обмен сообщениями, адресуемыми по идентификаторам устройств (номер шины, устройства и функции), а не по адресам ресурсов (памяти или ввода-вывода). В предыдущих версиях шин такой возможности не было; этот способ коммуникации полезен для повышения «интеллигентности» подсистемы ввода-вывода.
Интересно, что при всех нововведениях у PCI-X остается совместимость с устройствами и шинами PCI: каждая шина будет работать в режиме, доступном самому слабому участнику — от PCI с частотой 33 МГц до PCI-X533. Мосты позволяют разным сегментам системы (шинам PCI) работать в разных режимах, так что можно выбрать эффективную конфигурацию, в которой новые устройства, критичные к пропускной способности, будут нормально уживаться со старыми.
Дата добавления: 2016-06-13; просмотров: 624;