Технология шины PCI Express |
Пройдемся по уровням! PCI Express использует многоуровневую модель взаимодействия, похожую на аналогичную сетевую модель OSI (рис. 2). На самом верхнем уровне работают непосредственно сами приложения (любые программы, запускаемые как пользователем, так и системой), на нем не произошло совершенно никаких изменений по сравнению с интерфейсом обычной PCI – программы так же, как и ранее, при работе с PCI посылают все запросы и данные операционной системе (ОС), а та уже на следующем уровне работает с драйверами, организующими работу устройств, подключенных к шинам. На этом уровне также изменений почти нет. Почти заключатся только в реализации новых функций. PCI Express прекрасно работает с драйверами и ОС с реализацией только обычного PCI, поддерживаются все функции, заложенные в PCI, в том числе и Plug and Play (PnP), но для реализации новых функций, не предусмотренных в стандарте PCI (например «горячее» подключение устройств), необходима поддержка операционной системой и, соответственно, драйверами, написанными специально для PCI Express. К сожалению, полная поддержка нового стандарта со стороны Microsoft ожидается только в ОС Longhorn, но, зная стратегию фирмы, можно надеяться на появление заплаток к существующим операционным системам. Еще ниже уровнем находятся драйвера самих устройств. Здесь у разработчиков драйверов также не возникнет никаких проблем – новая шина стопроцентно совместима с предыдущим стандартом. А вот еще уровнем ниже начинаются серьезные изменения, но это уже полностью аппаратная реализация, не имеющая почти никакого отношения к программам, использующим шину. Здесь находятся уровень транзакций и сетевой уровень, которые выполняют функции, соответственно, транспортного и сетевого уровней в модели OSI. Первый отвечает за гарантию доставки и правильность содержимого (он же и отправляет запросы на повтор, задает адреса отправителя и получателя и т.д.), на этом уровне применяется 32-битная и расширенная 64-битная адресация памяти. Помимо этого используется четыре адресных пространства: три из них остались от старого PCI (конфигурационное пространство, память и пространство ввода/вывода) и появилось новое пространство сообщений, в котором реализуются многие функции старого PCI, такие, например, как прерывания, запросы по управлению электропитанием и т.д. Второй же из этих двух уровней отвечает за выдачу уникальных номеров пакетам (чтобы не путать что, когда и откуда), дополнительную проверку на правильность содержимого, но в отличие от сетевого уровня не реализует маршрутизацию, то есть передачу пакета далее по назначению (адресу получателя), не принимает решения об очередности передачи пакетов – этим здесь занимаются протоколы уровня транзакций. Также стоит отметить, что в новом стандарте пакеты отправляются устройству только после получения сигнала о готовности к приему, что позволяет гораздо эффективнее использовать шину. "Железо" |