Смекни!
smekni.com

«PC` компьютерных шин и замена pci» (стр. 3 из 5)

Таблица 1. Число контактов в разъемах и полоса пропускания шин PCI, PCI-X, AGP и PCI Express
Тип слота Число контактов в разъеме Полоса пропускания, Мбайт/с
Теоретическая Эффективная
PCI (32 бит 33 МГц) 120 133 ~110
PCI-X (64 бит 133 МГц) 184 1064 ~900
PCI Express x1 36 250* ~220*
PCI Express x4 64 1000* ~800*
PCI Express x8 98 2000* ~1600*
PCI Express x16 164 4000* ~3200*
PCI Express x32 294 8000* ~6400*
AGP 8x 124 2133 ~2000
* — в каждом направлении независимо.

PCI Express относится к шинам класса «точка-точка», то есть одна шина может соединять только два устройства (в отличие от PCI, где на общую шину «вешались» все PCI-слоты компьютера), поэтому для организации подключения более чем одного устройства в топологию организуемой PCI Express, как и в Ethernet-решениях на базе витой пары или устройствах USB, придется вставлять «хабы» и «свитчи», распределяющие поступающий сигнал по нескольким шинам. Это тоже одно из главных отличий PCI Express от прежних параллельных шин.

Впрочем, на схеме рис. 2 физический уровень не зря «троится» — на самом деле в качестве «физического носителя» PCI Express может выступать что угодно, хоть тот же Gigabit Ethernet! Во-первых, это позволит по мере развития электроники легко нарастить тактовую частоту шины (ее обещают поднять вчетверо и довести до 10 ГГц, что уже вплотную приближается к теоретическому пределу передачи сигнала по медным соединениям, оцениваемому в 15–20 ГГц, см. www.terralab.ru/system/20465) без малейшего ущерба для совместимости с приложениями и драйверами. А во-вторых, это позволит реализовывать весьма необычные по меркам сегодняшнего дня решения. Как вам нравится идея разделить системный блок на две части? Северный мост, процессор, память, видеокарта и, возможно, HDD c прочими «системными» компонентами останутся в первой половине, которую можно будет задвинуть куда-нибудь подальше и никогда ее не трогать. А южный мост и всю периферию — оптические приводы, дисководы и картоводы, звуковую карту, USB 2.0, FireWire и все соответствующие выходы можно поместить в компактный и красивый второй корпус, который может служить подставкой для монитора, или стильной коробочкой на столе. Все преимущества «баребонов» и никаких проблем с апгрейдом и перегревом компонент компьютера (можно будет, наконец, реализовать заветную мечту оверклокеров: поместить системный блок целиком в холодильник, но так, чтобы работа с ним при этом не затруднялась). Соединяться «половинки» компьютера будут как раз по единственной шине PCI Express, хотя физический носитель в этом случае, конечно, будет совсем другой — например, оптический. Фантастика, да и только!

Появились в стандарте PCI Express (по сравнению с PCI) и другие возможности. Например, поддержка виртуальных каналов, QoS и изохронная передача данных. Подробнее об этом читайте во врезке.

Дополнительные возможности PCI Express

Стоит упомянуть и о других новых возможностях, появившихся в стандарте PCI Express (по сравнению с PCI) — поддержке виртуальных каналов, QoS (Quality of Service) и изохронной передаче данных. Начнём с рассмотрения механизма, обеспечивающего совместимость PCI Express с обычным PCI. Как мы уже заметили, сегодняшний физический уровень PCI Express обеспечивает лишь соединения «точка-точка», что вынуждает использовать для подключения множества устройств специальные свитчи, объединяя устройства в «звездную» сеть. Но «классическая» PCI — параллельная шина, к тому же использующая механизм прерываний, не поддерживаемый в PCI Express! Сравните: если в случае PCI у нас в ПК было, скажем, две шины — одна для графического адаптера (AGP), и другая — для всех остальных устройств, обращения к которым так и производились по адресу — «шина такая-то, устройство такое-то», то при переходе на PCI Express от былой топологии не остается и следа. В нашем примере (см. рисунок) появляется семь шин PCI Express (не считая шины, соединяющей северный и южный мосты чипсета), причем шесть из них относятся к единственной бывшей PCI (bus 1). К счастью, механизмы маршрутизации, заложенные в стандарт, позволяют особенно не задумываться над этим вопросом — при пересылке пакетов «свитчи» сами определят, на какую шину его необходимо передать. Отправителю достаточно указать устройство-получатель и пакет каким-то образом до него дойдет. То есть ПО теперь работает не непосредственно с аппаратурой, а с непонятно каким образом функционирующими виртуальными каналами данных (старая схема адресации «шина-устройство-функция устройства» при этом сохраняется, хотя такое разделение теперь достаточно условно). Для полной имитации «обычной» PCI-шины контроллер PCI Express даже имитирует прерывания этой шины при поступлении от устройства соответствующего сообщения (служебная информация вроде вызова прерывания также передается в виде пакетов). Впрочем, как уже говорилось, к механизму сообщений есть и прямой доступ, без использования этого режима совместимости.

Итак, с устройствами можно продолжать работать, как с обычными PCI, но «виртуальность» этой шины позволяет обеспечить большую гибкость полученной системы. Каждый виртуальный канал до устройства (напомним, что их может быть по нескольку на каждое устройство — для этого и нужна последняя компонента PCI-адреса) никак не привязан к «физическому» носителю, а значит, его можно настроить произвольным образом. Например, стандарт позволяет указывать для виртуального канала его пропускную способность и максимально допустимую задержку передачи данных по нему. Физическая среда передачи данных, конечно, накладывает некоторые ограничения на допустимые здесь значения — больше 200 Мбайт/с через PCI Express 1x при всем желании пропустить невозможно. Виртуальные каналы создаются и изменяются «на лету» — например, плата видеозахвата может большую часть времени обходиться единственным каналом доставки сообщений и запрашивать дополнительный виртуальный канал для передачи данных лишь в момент подключения к ней внешнего устройства. Если у контроллера PCI Express для создания канала не хватит физических ресурсов, то он честно об этом сообщит, но если канал будет создан, то он будет в точности отвечать запрошенным параметрам и никакие «внешние» события — активизация других PCI-устройств, действия пользователя и т.п. на него не повлияют (QoS — запрошенный сервис обладает гарантированным качеством).

Помимо каналов с гарантированной пропускной способностью PCI Express поддерживает также создание изохронных каналов — информация по ним передается с гарантированной максимальной задержкой (это нужно для устройств, работающих в режиме реального времени - например, для устройств, передающих по сети человеческую речь). Впрочем, QoS устройство может отключить (собственно при работе в режиме совместимости с PCI так и происходит), тогда «виртуальным каналам» устройства будут отводиться все остающиеся после QoS-каналов ресурсы шины. «Физическая» реализация QoS и изохронности зависит от конкретной реализации контроллеров PCI Express и использующихся «свитчей», но в конечном итоге все это сводится лишь к тому, какие из пакетов, претендующих на одновременную передачу по одной и той же шине, контроллер пошлет в первую очередь, а какие — лишь по мере возможности. Возможный вариант: изохронные пакеты идут «вне очереди», остальное время пропорционально делится между устройствами, требующими некоторую заданную полосу пропускания и лишь все, что остается распределяется между «обычными», не приоритетными пакетами данных, которые передаются в порядке их поступления в контроллер.

В новой шине также поддерживаются режимы пониженного энергопотребления — в полном соответствии с «четырехуровневыми» стандартами ACPI. Линия PCI Express может «отключаться», если она не используется в данный момент для передачи данных — отключаются линии передачи тактового сигнала, линии приема и передачи данных (и вместе с ними могут отключаться и приемник и передатчик в PCI-Express контроллере), с устройства может быть снято питание — целиком (устройство «логически выключено») или частично (остается маломощное дежурное напряжение питания, функционирует «линия пробуждения» WAKE#, по которой передается сигнал на перевод устройства в нормальный рабочий режим). Если шина состоит из нескольких линий, то при небольшой загрузке шины можно отключать ненужные в данный момент линии (например, использовать PCI Express x4 как x1, а три линии выключить). Переключение в «энергосберегающий» режим при этом может потребовать как само устройство PCI Express, так и «система» в целом — скажем, при переходе в «спящий режим» (hibernate). В «десктопных» вариантах шины PCI Express энергосберегающие режимы являются необязательными (то есть могут быть реализованы, а могут и нет), но в мобильных описанные возможности являются обязательными.

Аппаратные конфигурации

В плане практической реализации шина PCI Express представляет собой целый аппаратный комплекс, затрагивающий северный и южный мосты чипсета, коммутатор и конечные устройства. Новым термином здесь является коммутатор (switch). Он заменяет одну шину с множественными подключениями коммутируемой технологией (рис. 7).

Рис. 7. Обобщенная схема использования шин и устройств PCI Express в компьютере или сервере.
Шины PCI Express показаны оранжевым цветом.

Коммутатор обеспечивает одноранговую связь между различными конечными устройствами, то есть предотвращает попадание излишнего трафика к мосту. PCI Express призвана обеспечить высокую пропускную способность на контакт с низким количеством служебной информации и низкими задержками. Поддерживаются несколько виртуальных каналов на один физический.