Магистраль PCI IBM PC совместимого компьютера

PCI(Peripheral Component Interconnect bus) - шина для подсоединения периферийных устройств. Стала массово применяться для Pentium-систем, но используется и с 486 процессорами. Частота шины от 20 до 33МГц, теоретически максимальная скорость 132/264 Мбайт/с для 32/64 бит.

Слот PCI самодостаточен для подключения любого контроллера. 32-битный слот заканчивается контактами А62/В62, 64-битный - А94/В94. На системной плате может сосуществовать с любой из других шин ввода-вывода.

Шина PCI - первая шина в архитектуре IBM PC, которая не привязана к этой архитектуре. Она является процессорно - независимой и применяется, например, в компьютерах Macintosh. В отличие от остальных шин, компоненты расположены на левой поверхности плат PCI-адаптеров. По этой причине крайний PCI-слот обычно разделяет использование посадочного места с соседним ISA-слотом.

Стандарт PCI определяет для каждого слота конфигурационное пространство размером до 256 восьмибитных регистров, не приписанных ни к пространству памяти, ни к пространству ввода-вывода. Доступ к ним осуществляется по специальным циклам шины Configuration Read и Configuration Write, вырабатываемым контроллером при обращении процессора к регистрам контроллера шины PCI, расположенным в его пространстве ввода-вывода.

На PCI определены два основных вида устройств - инициатор (по ГОСТ - задатчик), т.е. устройство, получившее от арбитра шины разрешение на захват ее и устройство назначения, цель (target) с которым инициатор выполняет цикл обмена данными.

Рассмотрим сигналы шины PCI. Черта под названием сигнала означает, что активный уровень этого сигнала низкий, в скобках ввод (I) и, или вывод (O).

AD31-AD0 (I/O)Эти 32 адресно-информационных контакта образуют мультиплексную адресно-информационную шину PCI. Каждая операция шины PCI состоит из фазы адресации, во время которой через контакты АD31-AD0 передается адрес, и из одной или нескольких фаз передачи информации.

C/BE3-C/BE0Через эти четыре контакта передается команда шины и сигналы разрешения байта. Эти контакты являются мультиплексными. Во время адресной фазы через контакты C/BE3-C/BE0 передается тип цикла шины. При этом возможны следующие комбинации C/BE3-C/BE0:

(0000) Последовательность INTA (1000) Резерв
(0001) Специальный цикл (1001) Резерв
(0010) Чтение ввода-вывода (1010) Чтение конфигурации
(0011) Запись ввода-вывода (1010) Запись конфигурации
(0100) Резерв (1100) Многократное обращение к памяти
(0101) Резерв (1101) Двойной цикл адресации
(0110) Чтение памяти (1110) Чтение строки памяти
(0111) Запись в память (1111) Запись в память с аннулированием

Во время информационной фазы сигналы BE3-BE0 определяют, какие байты передаваемой 32-разрядной информации являются достоверными. Заметим, что между достоверными данными может существовать "разрыв" (например, возможна комбинация ВЕ3=0, ВЕ2=1, ВЕ1=ВЕ0=1).

CLK (O)Через этот контакт передается сигнал таймера PCI, сопровождающий все операции PCI. В соответствии с техническими требованиями, его частота лежит в интервале от 0 до 33 МГц.

FRAME (I/O)Сигнал FRAME выдается действующим главным абонентом шины PCI. Переход FRAME на низкий, т.е. активный, уровень инициирует фазу адресации. Чтобы обозначить последнюю фазу данных, завершающую цикл работы шины, главный абонент должен вновь деактивировать FRAME.

INTA, INTB, INTC, INTD (I, I, I, I)Каждое функциональное устройство PCI может выдавать до четырех аппаратных прерываний, устанавливая низкий уровень на этих контактах. Монофункциональное устройство может активировать только INTA, а многофункциональное, в зависимости от структуры и требований, также и INTВ - INTD. В РС INTА - INTD функционального блока соответствуют аппаратным прерываниям IRQ0-IRQ15.

IRDY (I/O)Сигнал "готовность инициатора" показывает, что инициатор (главный абонент шины) готов к выполнению текущей фазы передачи данных. При записи инициатор активирует сигнал IRDY, который показывает, что на шине выставлена нужная информация. При чтении IRDY показывает, что инициатор готов к чтению данных. Сигнал IRDY соответствует сигналу процессора RЕАDY, за исключением того, что он выдается не устройством-целью (slave), а инициатором (master). Фаза передачи данных считается завершенной только в том случае, если оба сигнала IRDY и ТRDY активны.

ТRDY (I/O)Сигнал "готовность цели" показывает, что вызываемое устройство PCI (цель) готово к выполнению текущей информационной фазы. При записи устройство-цель активирует сигнал ТRDY, который показывает, что устройство готово к принятию данных для записи. При чтении ТRDY показывает, что устройство-цель подготовило данные для чтения. Сигнал ТRDY соответствует сигналу процессора RЕАDY. Информационная фаза считается завершенной только в том случае, если оба сигнала IRDY и ТRDY активны.

DEVSEL (I/O)Сигнал "Выбор активного устройства". Низкий уровень сигнала показывает, что декодирующая схема определила соответствующее устройство PCI как устройство-цель для данной операции шины.

Рассмотрим, как выполняется чтение при вводе-выводе (рис 3.11). При таком запросе данные читаются с устройства PCI в области адресов ввода-вывода. Адресные разряды ADx определяют адрес байта, следовательно, AD1 и AD0 тоже должны декодироваться, поскольку в области адресов ввода-вывода может находиться адрес как 8-разрядного, так и 16-разрядного портов. Доступ обычно состоит из адресной и информационной фаз.

Рисунок 3.11 - Пакет чтения PCI. Типичный запрос PCI на чтение инициируется посредством активирования сигнала FRAME. Здесь показан не оптимальный пакет 3-1-1-1-…, а пакет 3-1-2-2, в котором состояние ожидания в первом цикле вызывается неактивным сигналом TRDY (готовность цели), а во втором - неактивным сигналом IRDY (готовность инициатора). Если вызываемое устройство PCI определяет, что именно оно является целью вызова, оно выставляет в ответ активный сигнал DEVSEL. Передача (пакет 3-1-2-2) заканчивается деактивированием FRAME в последней фазе передачи данных

Отметим, что первый цикл таймера после адресной фазы используется для переключения направления передачи мультиплексной адресно-информационной шины PCI. Во время адресной фазы контакты ADx используются для выдачи величины (адреса), а во время информационной фазы - для приема значения (считанные данные). Для смены направления требуется один пустой (оборотный) цикл. Следовательно, первая величина может быть передана не раньше третьего цикла таймера. Поэтому наиболее экономичным пакетом чтения PCI (без циклов ожидания) будет пакет 3-1-1-1…

Запись при вводе-выводе (рис 3.12). При таком запросе данные пересылаются на цель PCI в области адресов ввода-вывода. В этом случае адресные разряды ADx также определяют адрес байта. Доступ также состоит из адресной и информационной фаз. Типичный запрос PCI на запись также инициируется посредством активирования сигнала FRAME. На рисунке показана диаграмма основных сигналов. Здесь, в отличие от запроса на чтение, мультиплексной адресно-информационной шине PCI не требуется переключение. Информационная фаза может выполняться непосредственно после адресной фазы, без пустого цикла. Таким образом, передача первой величины может быть произведена во втором цикле таймера PCI. Наиболее экономичным пакетом записи PCI (без циклов ожидания) будет пакет 2-1-1-1-…

Рисунок 3.12 - Пакет записи PCI. Здесь показан не оптимальный пакет 2-1-1-1-…, а пакет 2-1-2-2, в котором состояние ожидания в первом цикле вызывается неактивным сигналом TRDY (готовность цели), а во втором - неактивным сигналом IRDY (готовность инициатора). Если вызываемое устройство PCI определяет, что именно оно является целью вызова, оно выставляет в ответ активный сигнал DEVSEL. Передача (пакет 2-1-2-2) заканчивается деактивированием FRAME в последней фазе передачи данных .

Дополнительно рассмотрим область адресов ввода-вывода.

В соответствии со спецификацией, шина PCI поддерживает 32-битную, а также 64-битную область адресов. Это, однако, справедливо только для истинных устройств PCI. Нельзя получить адрес больше 64К для процессора 80х86, поскольку процессоры этого типа генерируют только 16-битные адреса ввода-вывода. Порты в персональных компьютерах с шиной PCI расположены ниже 64К; способ применения и адреса портов не изменились по сравнению с ISA. ISA и PCI могут - и должны - использоваться параллельно, поскольку PCI и шлюз расширения это позволяют. Два регистра PCI располагаются в области адресов ввода-вывода, которые в ISA зарезервированы для материнской платы. Эти два 32-разрядных регистра, CONFIG_ADRESS и CONFIG_DATA, используются для доступа к области конфигурации и расположены по адресам 0CF8H (адрес) и 0CFCH (данные). Для чтения или записи двойного слова в область конфигурации устройства PCI прежде всего следует заслать соответствующий адрес в регистр CONFIG_ADRESS. При записи в регистр CONFIG_DATA данные передаются в соответствующий элемент области адресов конфигурации вызываемого устройства; при чтении данные из этой ячейки считываются. Структура адресных регистров показана на рисунке 3.13.

Рисунок 3.13 - Регистр CONFIG_ADDRESS.

Если бит ECD установлен, то шлюз выполняет цикл конфигурации для адреса ввода-вывода 0CFCh (соответствующего CONFIG_DATA). Если бит ECD не установлен, выполняется нормальный цикл ввода-вывода, не затрагивающий область адресов конфигурации; он переключается на нормальную область адресов ввода-вывода. В элементе "шина" содержится номер шины PCI в иерархической системе, в которую может входить до 256 шин PCI. "Устройство" указывает на один из возможных 32 агентов PCI, "функция" выбирает одну из восьми функций в рамках многофункционального устройства PCI. "Регистр" указывает на один из 64 двухсловных (32 разрядных) элементов заданной области адресов конфигурации. "Тип" используется для того, чтобы известить шлюз о том, что он соединен с запрашиваемым устройством (type=00), и о том, что после декодирования элементов "устройство" и "функция" он должен выдать цикл конфигурации. Если "тип" равен 01, то это означает, что устройство соединено со шлюзом и что шлюз копирует содержимое CONFIG_ADDRESS на шину адрес/данные без изменений.

Магистраль PCI Express

Итак, для чего понадобилось изобретать новую шину? Ведь, как известно, настольные компьютеры успешно используют периферийную шину второго поколения, PCI, для организации обмена данными с периферийными устройствами. Нашла применение эта шина и в мобильных компьютерах (Cardbus, Mini-PCI), и в серверах (PCI64, PCI-X). Тем не менее, возможности параллельной шины PCI на сегодня уже исчерпаны. Во-первых, шина PCI является параллельной, а значит, ее теоретический предел составляет около 1 ГГц. Самый быстрый на сегодня вариант шины PCI, PCI-X/533, обеспечивает пропускную способность до 4.2 Гб/с, но ценой высоких затрат на разводку печатной платы. В то же время предельная частота работы медного соединения составляет 12 ГГц, но приблизиться к нему при использовании параллельной шины невозможно. Но повышать пропускную способность периферийной шины необходимо. Когда создавалась шина PCI, процессор и память соединялись на гораздо меньшей скорости, чем сейчас. Тогда речь шла о нескольких сотнях Мб/с, а сейчас счет пошел на гигабайты в секунду. Причем с каждым годом пропускная способность шин возрастает. Появляются новые, более быстродействующие проводные и беспроводные интерфейсы: например, гигабитный Ethernet больше не является уделом мощных серверов и рабочих станций, повсеместно распространены FireWire (400 Мбит/с) и USB 2.0 (480 Мбит/с), и даже винчестеры завтра будут подключаться на скорости 150 Мб/с. Сравните это с пропускной способностью нынешней настольной PCI - всего 133 Мб/с. Увеличить ее разрядность и/или частоту без многократного усложнения и удорожания процесса производства просто невозможно.

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

Шина PCI Express (прежние названия - 3GIO, Arapahoe) является последовательной, но с возможностью наращивать количество независимых линий для гибкого управления пропускной способностью. Например, для подключения не слишком производительных устройств вроде модемов и звуковых карт будет использоваться одна линия (PCI Express x1), а для требовательных к пропускной способности шины 3D-видеокарт - 16-разрядный вариант x16. PCI Express использует дифференциальные сигналы с низким уровнем напряжения, что упрощает ее разводку, снижает потребление и выделение энергии, улучшает помехозащищенность, уменьшает уровень наводок, упрощает сопряжение с будущими низковольтными устройствами. Новая шина не требует отдельных линий для синхронизации, управления, питания и т.д., так как использует кодирование 8b/10b, передает команды, данные, адреса, управляющие сигналы в пакетах. Кроме физического уровня, концепция PCI Express предполагает использование канального (организация очереди пакетов и их проверки по контрольным суммам) и транспортного уровней (виртуальные каналы, архитектура Load-Store, управление потоком, обмен данными по кадрам, общее плоское 64-разрядное адресное пространство). Это позволит существенно расширить сферу применения шины, отделить логический уровень от физического, гибко балансировать между ценой и производительностью.

Шина PCI Express будет использоваться не только как периферийная шина для дополнительных контроллеров, но и как канал для соединения чипов. В частности, она заменит нынешнюю AGP, будет использована для коммутации компонентов чипсета (как настольного, так и серверного). Фактически она позиционируется как альтернатива HyperTransport - шине, разработанной AMD и уже применяемой другими производителями чипсетов - NVIDIA, SIS, ALi.

Самое замечательное свойство новой шины заключается в том, что она на программном уровне полностью совместима с PCI. Сохранится схема адресации и доступа к устройствам, присущая предыдущей шине, только будут добавлены новые возможности, расширены диапазоны адресов, увеличены наборы команд и т.д. Механические свойства новых соединений тоже не изменятся - планируется использовать похожие слоты, разъемы, не потребуются другие корпусы, блоки питания, шасси. На тех же платах установят слоты и PCI, и PCI Express. Более широкие слоты (x4, x8, x16) будут допускать установку "узких" карт расширения (x1, x4, x8). Для ноутбуков разработаны слоты Mini PCI Express и PCI Express Card, есть решения и для монтируемых в стойку серверов.

Общий срок жизни новой шины оценивается приблизительно в 10 лет, после чего неизбежна новая революция - переход на оптические технологии коммутации микросхем.


Промышленные компьютеры

Огірочки
Обзор основных теорий развития
Статья 68. Защита потерпевших и свидетелей и их участие в разбирательстве.
Порядок виконання роботи
ПРОБЛЕМЫ РАЗВИТИЯ МАЛОГО ПРЕДПРИНИМАТЕЛЬСТВА ДОНЕЦКОГО РЕГИОНА В СОВРЕМЕННЫХ УСЛОВИЯХ
Уменьшению энергии активации
Сущность, предмет, объект, функции социологии труда и занятости
Тести для самоконтролю
Объем кратковременной памяти
Февральская революция 1917 г. Политика и основные мероприятия Временного правительства.
Асинхронні генератори
ЛІТЕРАТУРА
Що є першим та необхідним етапом будь-якого системного дослідження?
Ключи к грамматическим тестам
Заняття 3.8 Всеукраїнські фестивалі та конкурси
Glycerophosphate’s shunt
Роль оптовых ярмарок в оптовых закупках.
У чому сила маніпуляції?
C. Екі препаратта грамтеріс.
ХАРАКТЕРИСТИКИ СОЗРЕВАНИЯ ПОВЕДЕНИЯ
Биологическая обратная связь?
Управління корпоративною культурою
Этика решения спорных вопросов, конфликтных ситуаций
Главная Страница