Смекни!
smekni.com

Конфигурационное пространство состоит из трех регионов:

  • заголовка, независимого от устройства (device-independent header region);
  • региона, определяемого типом устройства (header-type region);
  • региона, определяемого пользователем (user-defined region).

В заголовке содержится информация о производителе и типе устройства - поле Class Code (сетевой адаптер, контроллер диска, мультимедиа и т.д.) и прочая служебная информация.

Следующий регион содержит регистры диапазонов памяти и ввода/вывода, которые позволяют динамически выделять устройству область системной памяти и адресного пространства. В зависимости от реализации системы конфигурация устройств производится либо BIOS (при выполнении POST - power-on self test), либо программно. Базовый регистр expansion ROM аналогично позволяет отображать ROM устройства в системную память. Поле CIS (Card Information Structure) pointer используетсякартами cardbus (PCMCIA R3.0). С Subsystem vendor/Subsystem ID все понятно, а последние 4 байта региона используются для определения прерывания и времени запроса/владения.


Рисунок 4. Конфигурационное пространство.

AcceleratedGraphicPort

Все хорошее когда-нибудь кончается. Обидно - но истинно. Сколько писали про то, что шина PCI наконец-то устранила "узкое место" РС - обмен с видеокартами - но не тут-то было! Прогресс, как известно, не стоит на месте. Появление разных там 3D ускорителей привело к тому, что ребром встал вопрос: что делать? Либо увеличивать количество дорогой памяти непосредственно на видеокарте, либо хранить часть информации в дешевой системной памяти, но при этом каким-нибудь образом организовать к ней быстрый доступ.

Как это практически всегда бывает в компьютерной индустрии, вопрос решен не был. Казалось бы, вот вам простейшее решение: переходите на 66-мегагерцовую 64-разрядную шину PCI с огромной пропускной способностью, так нет же. Intel на базе того же стандарта PCI R2.1 разрабатывает новую шину - AGP (R1.0, затем 2.0), которая отличается от своего "родителя" в следующем:

  1. шина способна передавать два блока данных за один 66 MHz цикл (AGP 2x);
  2. устранена мультиплексированность линий адреса и данных (напомню, что в PCI для удешевления конструкции адрес и данные передавались по одним и тем же линиям);
  3. дальнейшая конвейеризация операций чтения/записи, по мнению разработчиков, позволяет устранить влияние задержек в модулях памяти на скорость выполнения этих операций.

В результате пропускная способность шины была оценена в 500 МВ/сек, и предназначалась она для того, чтобы видеокарты хранили текстуры в системной памяти, соответственно имели меньше памяти на плате, и, соответственно, дешевели.

Парадокс в том, что видеокарты все-таки предпочитают иметь БОЛЬШЕ памяти, и ПОЧТИ НИКТО не хранит текстуры в системной памяти, поскольку текстур такого объема пока (подчеркиваю - пока) практически нет. При этом в силу удешевления памяти вообще, карты особенно и не дорожают. Однако практически все считают, что будущее - за AGP, а бурное развитие мультимедиа-приложений (в особенности - игр) может скоро привести к тому, что текстуры перестанут влезать и в системную память. Поэтому имеет смысл, особо не вдаваясь в технические подробности, рассказать, как же это все работает.


Итак, начнем с начала, то есть с AGP 1.0. Шина имеет два основных режима работы: Execute и DMA. В режиме DMA основной памятью является память карты. Текстуры хранятся в системной памяти, но перед использованием (тот самый execute) копируются в локальную память карты. Таким образом, AGP действует в качестве "тыловой структуры", обеспечивающей своевременную "доставку патронов" (текстур) на передний край (в локальную память). Обмен ведется большими последовательными пакетами.

В режиме Execute локальная и системная память для видеокарты логически равноправны. Текстуры не копируются в локальную память, а выбираются непосредственно из системной. Таким образом, приходится выбирать из памяти относительно малые случайно расположенные куски. Поскольку системная память выделяется динамически, блоками по 4К, в этом режиме для обеспечения приемлемого быстродействия необходимо предусмотреть механизм, отображающий последовательные адреса на реальные адреса 4-х килобайтных блоков в системной памяти. Эта нелегкая задача выполняется с использованием специальной таблицы (Graphic Address Re-mapping Table или GART), расположенной в памяти.

При этом адреса, не попадающие в диапазон GART (GART range), не изменяются и непосредственно отображаются на системную память или область памяти устройства (device specific range). На рисунке в качестве такой области показан локальный фрейм-буфер карты (Local Frame Buffer или LFB). Точный вид и функционирование GART не определены и зависят от управляющей логики карты.

Шина AGP полностью поддерживает операции шины PCI, поэтому AGP-траффик может представлять из себя смесь чередующихся AGP и PCI операций чтения/записи. Операции шины AGP являются раздельными (split). Это означает, что запрос на проведение операции отделен от собственно пересылки данных.

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

В 1998 году спецификация шины AGP получила дальнейшее развитие - вышел Revision 2.0. В результате использования новых низковольтных электрических спецификаций появилась возможность осуществлять 4 транзакции (пересылки блока данных) за один 66-мегагерцовый такт (AGP 4x), что означает пропускную способность шины в 1GB/сек! Единственное, чего не хватает для полного счастья, так это чтобы устройство могло динамически переключаться между режимами 1х, 2х и 4х, но с другой стороны, это никому и не нужно.

Однако потребности и запросы в области обработки видеосигналов все возрастают, и Intel готовит новую спецификацию - AGP Pro (в настоящее время доступен Revision 0.9) - направленную на удовлетворение потребностей высокопроизводительных графических станций. Новый стандарт не видоизменяет шину AGP. Основное направление - увеличение энергоснабжения графических карт. С этой целью в разъем AGP Pro добавлены новые линии питания.

Предполагается, что будет существовать два типа карт AGP Pro - High Power и Low Power. Карты High Power могут потреблять от 50 до 110W. Естественно, такие карты нуждаются в хорошем охлаждении. С этой целью спецификация требует наличия двух свободных слотов PCI с component side (стороны, на которой размещены основные чипы) карты.

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

При использовании слотов для подвода дополнительного питания:

  • Не использовать для питания линии V I/O;
  • Не устанавливать линию M66EN (контакт 49В) в GND (что вполне естественно, так как это переводит шину PCI в режим 33 MHz).

При использовании слота для обмена по шине:

    Подсистема PCI I/O должна разрабатываться под напряжение 3.3V c возможностью функционирования при 5 V.

Поддержка 64-разрядного или 66 MHz режимов не требуется.

Карты Low Power могут потреблять 25-50W, поэтому для обеспечения охлаждения спецификация требует наличия одного свободного слота PCI.

При этом все retail-карты AGP Pro должны иметь специальную накладку шириной соответственно в 3 или 2 слота, при этом карта приобретает вид достаточно устрашающий.

В общем, как представлю себе графическую станцию с двумя процессорами Xeon и видеокартой AGP Pro High Power... Можно здорово сэкономить на отоплении... Закрадывается крамольная мысль, что в спецификацию PC 200? будет заложено жидкостное охлаждение. Опять-таки поживем – увидим…

Шина USB

(UniversalSerialBus)

Что такое USB?

Спецификация периферийной шины USB разработана лидерами компьютерной и телекоммуникационной промышленности -- Compaq, DEC, IBM, Intel, Microsoft, NEC и Northern Telecom -- для подключения компьютерной периферии вне корпуса машины по стандарту plug'n'play, в результате отпадает необходимость в установке дополнительных плат в слоты расширения и переконфигурировании системы. Персональные компьютеры, имеющие шину USB, позволяют подключать периферийные устройства и осуществляют их автоматическое конфигурирование, как только устройство физически будет присоединено к машине, и при этом нет необходимость перезагружать или выключать компьютер, а так же запускать программы установки и конфигурирования. Шина USB позволяет одновременно подключать последовательно до 127 устройств, таких, как мониторы или клавиатуры, выполняющие роль дополнительно подключенных компонентов, или хабов (т.е. устройство, через которое подключается еще несколько).

Кто создал USB?

USB была разработана группой из семи компаний, которые видели необходимость во взаимодействии для обеспечения дальнейшего роста и развития расцветающей индустрии интегрированных компьютеров и телефонии. Эти семь компаний, продвигающие USB, следующие: Compaq, Digital Equipment Corp, IBM PC Co., Intel, Microsoft, NEC и Northern Telecom.

Как это работает?

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