Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Шины.PCI,.USB.и.FireWire

.pdf
Скачиваний:
60
Добавлен:
19.03.2016
Размер:
6 Mб
Скачать

способность 15872 Мбайт/с. Таким образом, в самом мощном варианте PCI Express оставляет далеко позади порт AGP с его пиком 2132 Мбайт/с. Правда, говорить о малом числе контактов уже не приходится — канал PCI Express x32 требует 2×2×32 = = 128 сигнальных контактов (в AGP их меньше).

PCI Express и Advanced Switching

На основе физического и канального уровня PCI Express организацией ASI SIG (www.asi$sig.org) разработана спецификация Advanced Switching (AS), версия 1.0 опубликована в конце 2003 года. Ее цель — создание единого интерфейса для со$ единения между микросхемами, платами, модулями и даже блоками, удаленными друг от друга на небольшие расстояния. В данном параграфе сделаем краткое срав$ нение AS и PCI Express, различие между которыми находится на уровнях транзак$ ций и вышестоящих уровнях.

Уровень транзакций PCI Express наследует основные черты PCI/PCI$X — шин под$ ключения устройств, использующих для взаимодействие общедоступное простран$ ство системной памяти (ОЗУ). Топология соединений — строго древовидная. При этом все устройства централизованно конфигурируются одним хостом (централь$ ным процессором), расположенным в корне дерева. Все устройства работают под управлением одной операционной системы. Возможность непосредственного вза$ имодействия устройств друг с другом напрямую зависит от их взаимного располо$ жения и не гарантируется, если путь между ними лежит через главный мост (бе$ зусловно доступна только системная память). Связь через прозрачные мосты основана на плоской модели памяти — во всей системе используется единое адрес$ ное пространство.

Уровень транзакций Advanced Switching отвечает распределенной модели вычис$ лительной системы, в которой используются различные топологии и протоколы взаимодействия равноранговых устройств. Для обеспечения высокого уровня до$ ступности применяется избыточность; большое внимание уделяется управлению качеством обслуживания (QoS).

Верхние уровни AS обеспечивают следующие особенности:

поддержка мультихостовых систем и динамического конфигурирования. В си$ стему с AS может объединяться множество компьютеров и устройств со своими локальными пространствами памяти (получается общая модель памяти систе$ мы — не плоская). Функции (обязанности) конфигурирования системы могут распределяться между несколькими хостами, каждый из которых работает под управлением своей ОС. Изменение состава функционирующих устройств не влечет за собой общей перезагрузки системы («горячее подключение» в PCI$ подобных системах подразумевает заранее известный состав подключаемых ус$ тройств);

безусловная возможность взаимодействия равноранговых устройств, независи$ мо от их взаимного расположения. Прямая передача сообщений (не через па$ мять) обеспечивает высокую производительность обмена;

поддержка различных топологий соединений, включая и варианты с множе$ ственными путями (звезда, двойная звезда, сетка). Элементы AS образуют ком мутационную фабрику. Для определения пути пакетов по фабрике используется маршрутизация от источника (source routing) — источник сообщения в заго$ ловке пакета явным образом перечисляет коммутаторы и их порты, через кото$ рые данный пакет должен доставляться до адресата назначения. В системе с множеством путей это обеспечивает быструю работу коммутаторов (им не при$ ходится выбирать путь);

управление качеством обслуживания и обеспечение защиты каналов и комму$ таторов от перегрузок;

масштабирование системы с AS — повышение производительности за счет раз$ вития «коммутационной фабрики» и распараллеливания потоков информации по разным путям;

повышение надежности (уровня готовности) системы в целом за счет избыточ$ ности;

единая основа для множества применений. Уровень транзакций AS позволяет инкапсулировать пакеты данных любых интерфейсов, включая PCI/PCI$X/PCI Express, сетевые и любые периферийные интерфейсы. Это позволяет использо$ вать AS как средство подключения модулей ввода/вывода и сетевых интерфей$ сов в высокопроизводительных серверах и телекоммуникационных устройствах (коммутаторах, маршрутизаторах, фильтрах);

программная прозрачность — поддержка общепринятых методов работы с уст$ ройствами PCI, включая нумерацию и конфигурирование;

гибкое управление доставкой пакетов — поддержка группового вещания и ши$ роковещания (multicast и broadcast).

Физический уровень и конструктивы PCI Express

Физический уровень интерфейса допускает как электрическую, так и оптическую реализацию. Базовое соединение электрического интерфейса (1x) состоит из двух дифференциальных низковольтных сигнальных пар — передающей (сигналы PETp0, PETn0) и принимающей (PERp0, PERn0). В интерфейсе применена развязка передат$ чиков и приемников по постоянному току, что обеспечивает совместимость ком$ понентов независимо от технологии изготовления компонентов и снимает некоторые проблемы передачи сигналов. Для передачи используется самосинхро$ низирующееся кодирование, что позволяет достигать высоких скоростей переда$ чи. Базовая скорость — 2,5 Гбит/с «сырых» данных (после кодирования 8B/10B)

вкаждую сторону, в перспективе планируются и более высокие скорости. Для мас$ штабирования пропускной способности возможно агрегирование сигнальных ли ний (lanes, сигнальных пар в электрическом интерфейсе), по одинаковому числу

вобоих направлениях. Спецификация рассматривает варианты соединений из 1,

2, 4, 8, 12, 16 и 32 линий (обозначаются как x1, x2, x4, x8, x12, x16 и x32); передавае$ мые данные между ними распределяются побайтно. В каждой из линий самосинхро$ низация выплняется независимо, так что явление переноса (бич параллельных ин$ терфейсов) отсутствует. Таким образом достижима скорость до 32×2,5 = 80 Гбит/с, что примерно соответствует пиковой скорости 8 Гбайт/с. Во время аппаратной ини$ циализации в каждом соединении согласуется число линий и скорость передачи; согласование выполняется на низком уровне без какого$либо программного учас$ тия. Согласованные параметры соединения действуют на все время последующей работы.

Обеспечение «горячего» подключение на физическом уровне PCI Express не тре$ бует каких$либо дополнительных аппаратных затрат, поскольку двухточечное со$ единение не затрагивает «лишних» участников. Безопасная коммутация сигналов не требуется, возможности подключаемого устройства никак не влияют на режи$ мы работы остальных устройств (для сравнения см. главу 6.).

Малое число сигнальных контактов интерфейса дает большую свободу в выборе

конструктивных реализаций PCI Express:

соединение компонентов в пределах платы;

слоты и карты расширения в конструктивах PC/AT и ATX;

внутренние и внешние карты расширения мобильных ПК;

малогабаритные модули ввода/вывода для серверов и коммуникационной ап$ паратуры;

модули для промышленных компьютеров;

разъемное подключение «дочерних» карт (mezannine interface);

кабельные соединения блоков.

Для карт расширения в конструктивах PC/AT и ATX предусматриваются разные модификации разъема$слота PCI Express, отличающиеся числом пар сигнальных линий (x1, x4, x8, x16) и, соответственно, размером (рис. 8.2). При этом в слоты большего размера можно устанавливать карты с разъемом того же размера или меньшего (это называется Up plugging). Однако противоположный вариант (Down$ plugging) — большую карту в меньший слот — механически невозможен (в PCI/ PCI$X это возможно). Как было показано выше, самый маленький вариант PCI Express обеспечивает пропускную способность на уровне стандартной шины PCI. Назначение контактов слотов PCI Express приведено в табл. 8.2.

Набор сигналов интерфейса PCI Express невелик:

PETp0, PETn0… PETp15, PETn15 — выходы передатчиков сигнальных пар 0…15;

PERp0, PERn0… PERp15, PERn15 — входы приемников;

REFCLK+ и REFCLK — сигналы опорной частоты 100 МГц;

PERST# — сигнал сброса карты;

WAKE# — сигнал «пробуждения» (от карты);

PRSNT1#, PRSNT2# — сигналы обнаружения подключения$отключения карты для системы горячего подключения. На карте эти цепи соединяются между собой, причем для PRSNT2# выбирается контакт с самым большим номером. Это по$

зволяет точнее отслеживать моменты подключения$отключения (в случае на$ клона карты). Для определения числа линий подключенной карты данные ли$ нии не используются — разрядность линий определяется автоматически при ус$ тановлении соединения (в процедуре тренировки).

Дополнительно на слоте имеются необязательные сигналы шины SMBus (SMB_CLK

и SMB_DATA) и интерфейса JTAG (TCLK, TDI, TDO, TMS, TRST#).

Питание на карты подается по следующим шинам:

+3,3V — основное питание +3 В при токе до 9 А;

+12V — основное питание +12 В при токе до 0,5/2,1/4,4А для слотов x1/x4, x8/ x16 соответственно;

+3,3Vaux — дополнительное питание, ток до 375 мА в системах, способных к про$ буждению по сигналу от карты и до 20 мА в непробуждаемых системах.

Рис. 8.2. Карты и разъемы PCI Express

Таблица 8.2. Разъемы PCI Express

Ряд B

Ряд A

Ряд B

Ряд A

1

+12V

PRSNT1#

31

PRSNT2#

GND

2

+12V

+12V

32

GND

Резерв

3

Резерв

+12V

Конец x4 коннектора

 

4

GND

GND

33

PETp4

Резерв

5

SMB_CLK

TCK

34

PETn4

GND

6

SMB_DATA

TDI

35

GND

PERp4

7

GND

TDO

36

GND

PERn4

8

+3.3 V

TMS

37

PETp5

GND

9

TRST#

+3.3 V

38

PETn5

GND

10

+3.3 Vaux

+3.3 V

39

GND

PERp5

11

WAKE#

PERST#

40

GND

PERn5

Ключ

 

 

41

PETp6

GND

12

Резерв

GND

42

PETn6

GND

13

GND

REFCLK+

43

GND

PERp6

14

PETp0

REFCLK

44

GND

PERn6

продолжение

Таблица 8.2 (продолжение)

Ряд B

Ряд A

Ряд B

Ряд A

 

 

 

 

 

 

15

PETn0

GND

45

PETp7

GND

16

GND

PERp0

46

PETn7

GND

17

PRSNT2#

PERn0

47

GND

PERp7

18

GND

GND

48

PRSNT2#

PERn7

Конец x1 коннектора

 

49

GND

GND

19

PETp1

Резерв

Конец x8 коннектора

 

20

PETn1

GND

50

PETp8

Резерв

21

GND

PERp1

51

PETn8

GND

22

GND

PERn1

52

GND

PERp8

23

PETp2

GND

53

GND

PERn8

24

PETn2

GND

54

PETp9

GND

25

GND

PERp2

 

26

GND

PERn2

79

PETn15

GND

27

PETp2

GND

80

GND

PERp15

28

PETn2

GND

81

PRSNT2#

PERn15

29

GND

PERp3

82

GND

GND

30

Резерв

PERn3

Конец x16 коннектора

 

 

 

 

 

 

 

Для мобильных компьютеров PCMCIA ввела конструктив ExpressCard (рис. 8.3), для которого на системный разъем выводится два интерфейса: PCI Express (1x)

иUSB 2.0. Модули ExpressCard компактнее прежних карт PCMCIA (PC Card

иCardBus); предлагается две модификации, различающиеся по ширине: Express$ Card/34 (34×75×5 мм) и ExpressCard/54 (54×75×5 мм). Толщина модулей всего 5 мм, но, если требуется, то более длинные модули могут иметь утолщения в части, выходящие за габариты корпуса компьютера (за пределами 75 мм от края разъе$ ма). Как и прежние карты PCIMCIA, карты ExpressCard доступны пользователям

иподдерживают «горячее» подключение.

Рис. 8.3. Карты ExpressCard

Для внутренних карт расширения блокнотных ПК введен конструктив Mini PCI Express (рис. 8.4), формат которого происходит от Mini PCI Type IIIA (см. главу 6). Благодаря уменьшению числа контактов ширина карты уменьшена до 30 мм, так что на месте одной карты Mini PCI можно разместить пару карт Mini PCI Express. На разъем карты (табл. 8.3) кроме PCI Express выведены интерфейсы последова$ тельных шин USB 2.0 (USB_D+ и USB_D ) и SMBus (SMB_CLK и SMB_DATA), питание +3,3 В (750 мА основное и 250 мА дополнительное) и +1,5 В (375 мА). Собственно интерфейс PCI Express (x1) занимает всего 6 контактов (выходы передатчика PETp0 и PETn0, входы приемника PERp0 и PERn0, а также сигналы опорной частоты 100 МГц REFCLK+ и REFCLK . Сигнал PERST# — сброс карты, сигнал WAKE# — «пробуждение» (от карты). Сигналы LED_Wxxx# служат для управления светодиодными индикато$ рами состояния.

Таблица 8.3. Разъемы Mini PCI Express

Цепь

Цепь

1

WAKE#

2

3.3 V

3

Резерв

4

GND

5

Резерв

6

1.5 V

7

Резерв

8

Резерв

9

GND

10

Резерв

11

REFCLK+

12

Резерв

13

REFCLK

14

Резерв

15

GND

16

Резерв

 

 

 

 

Ключ

 

 

 

 

 

 

 

17

Резерв

18

GND

19

Резерв

20

Резерв

21

GND

22

PERST#

23

PERn0

24

+3.3 V

25

PERp0

26

GND

27

GND

28

+1.5 V

29

GND

30

SMB_CLK

31

PETn0

32

SMB_DATA

33

PETp0

34

GND

35

GND

36

USB_D

37

Резерв

38

USB_D+

39

Резерв

40

GND

41

Резерв

42

LED_WWAN#

43

Резерв

44

LED_WLAN#

45

Резерв

46

LED_WPAN#

продолжение

Таблица 8.3 (продолжение)

Цепь

Ценпь

47

Резерв

48

+1.5 V

49

Резерв

50

GND

51

Резерв

52

+3.3 V

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 8.4. Карты Mini PCI Express

С интерфейсом PCI Express удобно компонуются модули ввода/вывода и сетевых интерфейсов для серверов и коммуникационных устройств стоечного исполнения. Такие модули могут быть достаточно компактными (высота 2U не вызывает про$ блем размещения разъема), при этом производительности интерфейса достаточно даже для таких критичных модулей, как Fibre Channel, Gigabit Ethernet (GbE), 10GbE.

Интерфейс PCI Express принимается и для промышленных компьютеров, для чего имеются спецификации PICMG 3.4 (малогабаритные конструктивы для x1, x2 и x4), а также конструктивы в формате Compact PCI.

Интерфейс PCI Express существует и в кабельном исполнении для кабельных со$ единений блоков, находящихся на небольшом удалении друг от друга. Так, напри$ мер, по PCI Express можно подключать док$станции к блокнотным ПК. Возмож$ ность вывода интерфейса системного уровня за пределы корпуса компьютера из предшественников PCI Express поддерживала только шина ISA, и то только при низких скоростях обмена (на частотах до 5 МГц). Из новых последовательных интерфейсов системного уровня эта возможность имеется и в InfiniBand. Наличие кабельного варианта высокопроизводительного интерфейса системного уровня может позволить отойти от традиционной компоновки компьютера, при которой в системном блоке концентрируются все компоненты, требующие интенсивного обмена с ядром компьютера.

Организация шины USB

USB (Universal Serial Bus — универсальная последовательная шина) является про$ мышленным стандартом расширения архитектуры PC, ориентированным на ин$ теграцию с телефонией и устройствами бытовой электроники. Версия стандарта 1.0 была опубликована в начале 1996 года, большинство устройств поддерживают стан$ дарт 1.1, который вышел осенью 1998 года, — в нем были устранены обнаружен$ ные проблемы первой редакции. Весной 2000 года опубликована спецификация USB 2.0, в которой предусмотрено 40$кратное увеличение пропускной способнос$ ти шины. Первоначально (в версиях 1.0 и 1.1) шина обеспечивала две скорости передачи информации: полная скорость, FS (full speed) — 12 Мбит/с и низкая ско рость, LS (low speed) — 1,5 Мбит/с. В версии 2.0 определена еще и высокая ско рость, HS (high speed) — 480 Мбит/с, что позволяет существенно расширить круг устройств, подключаемых к шине. В одной и той же системе могут присутствовать и одновременно работать устройства со всеми тремя скоростями. Шина позволяет с использованием промежуточных хабов соединять устройства, удаленные от компьютера на расстояние до 25 м. Подробную и оперативную информацию по USB (на английском языке) можно найти на сайте http://www.usb.org. Разработку устройств и их классификацию и стандартизацию координирует USB IF (USB Implementers Forum, Inc.).

Шина USB обеспечивает обмен данными между хост$компьютером и множеством периферийных устройств (ПУ). USB является единой централизованной аппарат$ но$программной системой массового обслуживания множества устройств и мно$ жества прикладных программных процессов. Связь программных процессов со всеми устройствами обеспечивает хост$контроллер с многоуровневой программ$ ной поддержкой. Этим USB существенно отличается от традиционных перифе$ рийных интерфейсов (портов LPT, COM, GAME, клавиатуры, мыши и т. п.), срав$ нение этих типов подключений приводится в табл. 9.1.

Таблица 9.1. Сравнение шины USB с традиционными периферийными интерфейсами

Традиционные интерфейсы (COM, LPT,

Шина USB

Game…)

 

 

 

Подключение каждого устройства в общем

Все устройства подключены через один хост

случае требует присутствия собственного

контроллер

контроллера (адаптера)1

 

продолжение

Таблица 9.1 (продолжение)

Традиционные интерфейсы (COM, LPT, Шина USB

Game…)

Каждый контроллер занимает свои ресурсы Ресурсы занимает только хост контроллер (области в пространстве памяти, ввода/ вывода, а также запросы прерывания)

Малое количество устройств, которые

Возможность подключения до 127 устройств

возможно одновременно подключить

 

к компьютеру

 

Драйверы устройств могут обращаться

Драйверы устройств обращаются только

непосредственно к контроллерам своих

к общему драйверу хост контроллера

устройств, независимо друг от друга

 

Независимость драйверов оборачивается непредсказуемостью результата одновременной работы с множеством устройств, отсутствием гарантий качества обслуживания (возможность задержек и уменьшения скорости передачи)

для различных устройств

Централизованный планируемый обмен обеспечивает гарантии качества обслуживания, что позволяет передавать мультимедийные изохронные данные наряду с обычным асинхронным обменом

Разнообразие интерфейсов, разъемов

Единый удобный и дешевый интерфейс

и кабелей, специфичных для каждого

для подключения устройств всех типов.

типа устройств

Возможность выбора скорости работы

 

устройства (1,5–15–480 Мбит/с) в зависимости

 

от потребности

Отсутствие встроенных средств

Возможность «горячего» подключения/

обнаружения подключения/отключения

отключения устройств, полная поддержка PnP,

и идентификации устройств, сложность

динамическое конфигурирование

поддержки PnP

 

Отсутствие средств контроля ошибок

Встроенные средства обеспечения надежной

 

передачи данных

Отсутствие штатного питания устройств

Возможность питания устройств от шины, а также

 

наличие средств управления

 

энергопотреблением

 

 

1Возможностью подключения к одному контроллеру множества устройств обладает и шина SCSI, но ее параллельный интерфейс по сравнению с USB слишком дорог, громоздок и более ограничен в то$ пологии.

Основные понятия

Архитектура USB допускает четыре базовых типа передач данных между хостом

ипериферийными устройствами:

изохронные передачи (isochronous transfers) — потоковые передачи в реальном времени, занимающие предварительно согласованную часть пропускной способ$ ности шины с гарантированным временем задержки доставки. На полной ско$ рости (FS) можно организовать один канал с полосой до 1,023 Мбайт/с (или два по 0,5 Мбайт/с), заняв 70 % доступной полосы (остаток можно занять и менее емкими каналами). На высокой скорости (HS) можно получить канал до

24 Мбайт/с (192 Мбит/с). Надежность доставки не гарантируется — в случае обнаружения ошибки изохронные данные не повторяются, недействительные пакеты игнорируются. Шина USB позволяет с помощью изохронных передач организовывать синхронные соединения между устройствами и прикладными программами. Изохронные передачи нужны для потоковых устройств: видео$ камер, цифровых аудиоустройств (колонки USB, микрофон), устройств воспро$ изведения и записи аудио$ и видеоданных (CD и DVD). Видеопоток (без ком$ прессии) шина USB способна передавать только на высокой скорости;

прерывания (interrupts) — передачи спонтанных сообщений, которые должны выполняться с задержкой не более, чем того требует устройство. Предел време$ ни обслуживания устанавливается в диапазоне 10–255 мс для низкой и 1–255 мс для полной скорости. На высокой скорости можно заказать и 125 мкс. Доставка гарантирована, при случайных ошибках обмена выполняется повтор, правда, при этом время обслуживания увеличивается. Прерывания используются, напри$ мер, при вводе символов с клавиатуры или для передачи сообщений о переме$ щениях мыши. Прерываниями можно передавать данные и к устройству (как только устройство сигнализирует о потребности в данных, хост своевременно их передает). Размер сообщения может составлять 0–8 байт для низкой скоро$ сти, 0–64 байт — для полной и 0–1024 байт — для высокой скорости передачи;

передачи массивов данных (bulk data transfers) — это передачи без каких$либо обязательств по своевременности доставки и по скорости. Передачи массивов могут занимать всю полосу пропускания шины, свободную от передач других типов. Приоритет этих передач самый низкий, они могут приостанавливаться при большой загрузке шины. Доставка гарантированная — при случайной ошиб$ ке выполняется повтор. Передачи массивов уместны для обмена данными с принтерами, сканерами, устройствами хранения и т. п.;

управляющие передачи (control transfers) используются для конфигурирования устройств во время их подключения и для управления устройствами в процес$ се работы. Протокол обеспечивает гарантированную доставку данных и подтвер$ ждение устройством успешности выполнения управляющей команды. Управ$ ляющая передача позволяет подать устройству команду (запрос, возможно, и с дополнительными данными) и получить на него ответ (подтверждение или отказ от выполнения запроса и, возможно, данные). Только управляющие пе$ редачи на USB обеспечивают синхронизацию запросов и ответов; в остальных типах передач явной синхронизации потока ввода с потоком вывода нет.

Аппаратная часть USB включает:

периферийные устройства USB, несущие полезные функции (USB$functions);

хост контроллер (Host Controller), обеспечивающий связь шины с центром компьютера, объединенный с корневым хабом (Root Hub), обеспечивающим точки подключения устройств USB. Существует два варианта хост$контролле$ ров USB 1.x — UHC (Universal Host Controller) и OHC (Open Host Controller), поддерживающие скорости FS/LS; высокую скорость шины USB 2.0 (HS и толь$ ко) поддерживает EHC (Enhanced Host Controller);