0 просмотров

Компьютерная шина pci что это

Шина PCI

PCI – параллельная шина ввода-вывода материнской платы для установки дополнительного аппаратного обеспечения. Главным преимуществом стандарта, в свое время, стало то, что разработчик (Intel — PCI Special Interest Group) объявил шину PCI открытым интерфейсом. Данное решение позволило значительно увеличить ассортимент аппаратных устройств ПК, так как производителям не нужно было лицензировать свой продукт для шины PCI.

Особенности шины PCI

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

Работа шины PCI полностью основывалась на принципе Plug & Play и управлялась базовой системой ввода-вывода (BIOS), таким образом, при старте компьютера происходило распределение аппаратных ресурсов между устройствами шины PCI.

Особенностью шины также стала её децентрализация, то есть, любое из устройств могло стать главным инициатором транзакций и затребовать столько ресурсов, сколько было необходимо для осуществления текущих операций. При этом использовалась система арбитража и отдельно стоящей логики арбитра. Новые транзакции инициировались в процессе предыдущих запущенных транзакций. Данные и адреса между устройствами шины PCI передавались циклическим методом и использовали «обычную», «пакетную» и «расщеплённую» типы транзакций.

«Обычная» транзакция состояла из одного либо двух циклов адреса.

«Пакетная» транзакция со множеством циклов чтения/записи использовала один цикл адреса на несколько, а не на каждый цикл данных. Транзакция могла быть временно приостановлена обоими устройствами из-за опустошения или переполнения буфера данных.

Принцип «расщеплённая» транзакция заключался в том, что целевое устройство отвечало состоянием «в процессе» и инициатор освобождал шину для других устройств, захватить её снова через арбитраж и повторив транзакцию. Так продолжалось, пока целевое устройство не отвечало «сделано». Данный метод использовался для сопряжения шин с разными скоростями (PCI и FSB-шина процессора) и для предотвращения тупиковых ситуаций в сценарии взаимодействия со многими межшинными мостами.

Что касается параметров, шина PCI работала на частоте 33,33/66,66 МГц и имела разрядность 32/64 бита, а данные и адрес передавались по одним и тем же линиям. Пиковая пропускная способность для 32-разрядного варианта составляла 133 Мбайт/с при частоте 33,33 МГц.

Чем отличается интерфейс PCI Express от PCI?

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

Итак, для начала давайте кратко ответим на такой вопрос, что же вообще такое PCI Express и PCI.

  1. Что такое PCI Express и PCI?
  2. Отличия PCI Express от PCI
  3. Слоты расширения PCI Express и PCI на материнских платах
  4. Интерфейсы PCI Express на видеокартах

Что такое PCI Express и PCI?

PCI – это компьютерная параллельная шина ввода-вывода для подключения периферийных устройств к материнской плате компьютера. PCI используется для подключения: видеокарт, звуковых карт, сетевых карт, TV-тюнеров и других устройств. Интерфейс PCI является устаревшим, поэтому найти, например, современную видеокарту, которая подключается через PCI, наверное, не получится.

PCI Express (PCIe или PCI-E) — это компьютерная последовательная шина ввода-вывода для подключения периферийных устройств к материнской плате компьютера. Т.е. при этом уже используется двунаправленное последовательное соединение, которое может иметь несколько линий (x1, x2, x4, x8, x12, x16 и x32) чем больше таких линий, тем выше пропускная способность у шины PCI-E. Интерфейс PCI Express используется для подключения таких устройств как: видеокарты, звуковые карты, сетевые карты, SSD накопители и другие.

Существует несколько версий интерфейса PCI-E это: 1.0, 2.0 и 3.0 (скоро выйдет и версия 4.0). Обозначается данный интерфейс обычно, например, вот так PCI-E 3.0 x16, что означает версия PCI Express 3.0 с 16 линиями.

Если говорить о том будет ли работать, например, видеокарта, которая имеет интерфейс PCI-E 3.0 на материнской плате, которая поддерживает только PCI-E 2.0 или 1.0, так вот разработчики заявляют, что все работать будет, только конечно учтите, что пропускная способность будет ограничена возможностями материнской платы. Поэтому в этом случае переплачивать за видеокарту с более новой версией PCI Express я думаю, не стоит (если только на будущее, т.е. Вы, планируете приобрести новую материнскую плату с PCI-E 3.0). Также и наоборот допустим, у Вас материнская плата поддерживает версию PCI Express 3.0, а видеокарта версию скажем 1.0, то такая конфигурация также должна работать, но только с возможностями PCI-E 1.0, т.е. здесь никакого ограничения нет, так как видеокарта в этом случае будет работать на пределе своих возможностей.

Отличия PCI Express от PCI

Основное отличие в характеристиках это, конечно же, пропускная способность, у PCI Express она значительно выше, например, у PCI на частоте 66 МГц пропускная способность 266 Мб/сек, а у PCI-E 3.0 (x16) 32 Гб/сек.

Внешне интерфейсы также отличаются, поэтому подключить, например, видеокарту PCI Express в слот расширения PCI не получится. Интерфейсы PCI Express с разным количеством линий также отличаются, все это я сейчас покажу на картинках.

Слоты расширения PCI Express и PCI на материнских платах

Слоты PCI и AGP

Слоты PCI-E x1, PCI-E x16 и PCI

Шина PCI (Peripheral Component Interconnect bus)

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

Итак, разработка шины PCI началась весной 1991 года как внутренний проект корпорации Intel (Release 0.1). Специалисты компании поставили перед собой цель разработать недорогое решение, которое бы позволило полностью реализовать возможности нового поколения процессоров 486/Pentium/P6 (вот уже половина ответа). Особенно подчеркивалось, что разработка проводилась “с нуля”, а не была попыткой установки новых “заплат” на существующие решения. В результате шина PCI появилась в июне 1992 года (R1.0). Разработчики Intel отказались от использования шины процессора и ввели еще одну “антресольную” (mezzanine) шину.

Благодаря такому решению шина получилась, во-первых, процессоро-независимой (в отличие от VLbus), а во-вторых, могла работать параллельно с шиной процессора, не обращаясь к ней за запросами. Например, процессор работает себе с кэшем или системной памятью, а в это время по сети на винчестер пишется информация. Просто здорово! На самом деле идиллии, конечно, не получается, но загрузка шины процессора снижается здорово. Кроме того, стандарт шины был объявлен открытым и передан PCI Special Interest Group, которая продолжила работу по совершенствованию шины (в настоящее время доступен R2.1), и в этом, пожалуй, вторая половина ответа на вопрос “почему PCI?”

Основные возможности шины следующие.

  • Синхронный 32-х или 64-х разрядный обмен данными (правда, насколько мне известно, 64-разрядная шина в настоящее время используется только в Alpha-системах и серверах на базе процессоров Intel Xeon, но, в принципе, за ней будущее). При этом для уменьшения числа контактов (и стоимости) используется мультиплексирование, то есть адрес и данные передаются по одним и тем же линиям.
  • Поддержка 5V и 3.3V логики. Разъемы для 5 и 3.3V плат различаются расположением ключей

Существуют и универсальные платы, поддерживающие оба напряжения. Заметим, что частота 66MHz поддерживается только 3.3V логикой.

  • Частота работы шины 33MHz или 66MHz (в версии 2.1) позволяет обеспечить широкий диапазон пропускных способностей (с использованием пакетного режима):
    • 132 МВ/сек при 32-bit/33MHz;
    • 264 MB/сек при 32-bit/66MHz;
    • 264 MB/сек при 64-bit/33MHz;
    • 528 МВ/сек при 64-bit/66MHz.

    При этом для работы шины на частоте 66MHz необходимо, чтобы все периферийные устройства работали на этой частоте.

  • Полная поддержка multiply bus master (например, несколько контроллеров жестких дисков могут одновременно работать на шине).
  • Поддержка write-back и write-through кэша.
  • Автоматическое конфигурирование карт расширения при включении питания.
  • Спецификация шины позволяет комбинировать до восьми функций на одной карте (например, видео + звук и т.д.).
  • Шина позволяет устанавливать до 4 слотов расширения, однако возможно использование моста PCI-PCI для увеличения количества карт расширения.
  • PCI-устройства оборудованы таймером, который используется для определения максимального промежутка времени, в течении которого устройство может занимать шину.
  • При разработке шины в ее архитектуру были заложены передовые технические решения, позволяющие повысить пропускную способность.

    Шина поддерживает метод передачи данных, называемый “linear burst” (метод линейных пакетов). Этот метод предполагает, что пакет информации считывается (или записывается) “одним куском”, то есть адрес автоматически увеличивается для следующего байта. Естественным образом при этом увеличивается скорость передачи собственно данных за счет уменьшения числа передаваемых адресов.

    Шина PCI является той черепахой, на которой стоят слоны, поддерживающие “Землю” — архитектуру Microsoft/Intel Plug and Play (PnP) PC architecture. Спецификация шины PCI определяет три типа ресурсов: два обычных (диапазон памяти и диапазон ввода/вывода, как их называет компания Microsoft) и configuration space — “конфигурационное пространство”.

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

    • заголовка, независимого от устройства (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 байта региона используются для определения прерывания и времени запроса/владения.

    Ссылка на основную публикацию
    Статьи c упоминанием слов: