Как работает pci шина

Шины PCI, PCI Express и их несомненный успех

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

История шины PCI и ее проблемы

Когда в начале 1990-x гг. она появилась, то по своим техническим характеристикам значительно превосходила все существовавшие до того момента шины, такие, как ISA, EISA, MCA и VL-bus. В то время шина PCI(Peripheral Component Interconnect — взаимодействие периферийных компонентов), работавшая на частоте 33 Мгц, хорошо подходила для большинства периферийных устройств. Но сегодня ситуация во многом изменилась. Прежде всего, значительно возросли тактовые частоты процессора и памяти. Например, тактовая частота процессоров увеличились с 33 МГц до нескольких ГГц, в то время как рабочая частота PCI увеличилась всего до 66 МГц. Появление таких технологий, как Gigabit Ethernet и IEEE 1394B грозило тем, что вся пропускная способность шины PCI может уйти на обслуживание одного-единственного устройства на основе данных технологий.

При этом архитектура PCI имеет ряд преимуществ по сравнению с предшественниками, поэтому полностью пересматривать было нерационально. Прежде всего, она не зависит от типа процессора, поддерживает буферную изоляцию, технологию bus mastering (захват шины) и технологию PnP в полном объеме. Буферная изоляция означает, что шина PCI действует независимо от внутренней шины процессора, что дает возможность шине процессора функционировать независимо от скорости и загруженности системной шины. Благодаря технологии захвата шины периферийные устройства получили возможность непосредственно управлять процессом передачи данных по шине, вместо того, чтобы ожидать помощи от центрального процессора, что отразилось бы на производительности системы. Наконец, поддержка Plug and Play позволяет осуществлять автоматическую настройку и конфигурирование пользующихся ею устройств и избежать возни с джамперами и переключателями, которая изрядно портила жизнь владельцам ISA-устройств.

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

Сравнительные характеристики различных стандартов PCI

Разрядность шины (бит) Частота (МГц) Пропускная способность (МБ/c) Целевой рынок
32 33 132 Десктопы/мобильные системы
32 66 264 Серверы
64 33 264 Серверы
64 66 512 Серверы

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

Такие усовершенствования стандарта, как PCI-X и AGP были призваны устранить ее главный недостаток – низкую тактовую частоту. Однако увеличение тактовой частоты в этих реализациях повлекло за собой уменьшение эффективной длины шины и количества разъемов.

Новое поколение шины — PCI Express (или сокращенно PCI-E), было впервые представлено в 2004 году и было призвано решить все те проблемы, с которыми столкнулась её предшественница. Сегодня большая часть новых компьютеров снабжается шиной PCI Express. Хотя стандартные слоты PCI в них тоже присутствуют, однако не за горами то время, когда шина станет достоянием истории.

Архитектура PCI Express

Архитектура шины имеет многоуровневую структуру, как показано на рисунке.

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

Рассмотрим предназначение различных уровней организации PCI-E. На программном уровне шины формируются запросы чтения/записи, которые передаются на транспортном уровне при помощи специального пакетного протокола. Уровень данных отвечает за помехоустойчивое кодирование и обеспечивает целостность данных. Базовый аппаратный уровень состоит из двойного симплексного канала, состоящего из передающей и принимающей пары, которые вместе называются линией. Общая скорость шины в 2,5 Гб/с означает, что пропускная способность для каждой линии PCI Express составляет 250 Мб/c в каждую сторону. Если принять во внимание потери на накладные расходы протокола, то для каждого устройства доступно около 200 Мб/c. Эта пропускная способность в 2-4 раза выше, чем та, которая была доступна для устройств PCI. И, в отличие от PCI, в том случае, если пропускная способность распределяется между всеми устройствами, то она в полном объеме достается каждому устройству.

На сегодняшний день существует несколько версий стандарта PCI Express, различающихся своей пропускной способностью.

Пропускная способность шины PCI Express x16 для разных версий PCI-E, Гб/c:

Форматы шины PCI-E

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

Видеокарта с интерфейсом PCI Express x16.

Платы расширения PCI Express очень похожи на платы PCI, однако разъемы PCI-E отличаются повышенным сцеплением, что позволяет быть уверенным в том, что плата не выскользнет из слота из-за вибрации или при транспортировке. Существует несколько форм-факторов слотов PCI Express, размер которых зависит от количества используемых линий. Например, шина, имеющая 16 линий, обозначается как PCI Express x16. Хотя общее количество линий может достигать 32, на практике большинство материнских плат в настоящее время оснащены шиной PCI Express x16.

Карты меньших форм-факторов могут подключаться в разъемы для больших без ущерба для работоспособности. Например, карта PCI Express х1 может подключаться в разъем PCI Express x16. Как и в случае шины PCI, для подключения устройств при необходимости можно использовать РCI Express-удлинитель.

Внешний вид разъемов различных типов на материнской плате. Сверху вниз: слот PCI-X, слот PCI Express х8, слот PCI, слот PCI Express х16.

Express Card

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

Одной из популярных разновидностей Express Card является карта PCI Express Mini Card, разработанная в качестве замены карт форм-фактора Mini PCI. Карта, созданная в этом формате, поддерживает как PCI Express, так и USB 2.0. Размеры PCI Express Mini Card составляют 30×56 мм. Карта PCI Express Mini Card может подключаться к PCI Express х1.

Преимущества PCI-E

Технология PCI Express позволила получить преимущество по сравнению с PCI в следующих пяти областях:

  1. Более высокая производительность. При наличии всего одной линии пропускная способность PCI Express в два раза выше, чем у PCI. При этом пропускная способность увеличивается пропорционально количеству линий в шине, максимальное количество которых может достигать 32. Дополнительным преимуществом является то, что информация по шине может передаваться одновременно в обоих направлениях.
  2. Упрощение ввода-вывода. PCI Express использует преимущества таких шин, как AGP и PCI-X и обладает при этом менее сложной архитектурой, а также сравнительной простотой реализации.
  3. Многоуровневая архитектура. PCI Express предлагает архитектуру, которая может подстраиваться к новым технологиям и не требует значительного обновления ПО.
  4. Технологии ввода/вывода нового поколения. PCI Express дает новые возможности получения данных при помощи технологии одновременных передач данных, обеспечивающей своевременное получение информации.
  5. Простота использования. PCI-E значительно упрощает обновление и расширение системы пользователем. Дополнительные форматы плат Express, такие, как ExpressCard, значительно увеличивают возможности добавления высокоскоростных периферийных устройств в серверы и ноутбуки.
Читайте также:  Направленные шины как ставить видео

Заключение

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

Источник: biosgid.ru

Разъем PCI Express: что такое интерфейс PCIe?

PCI Express, полное техническое название «Peripheral Component Interconnect Express», но зачастую воспринимаемый сокращенной аббревиатурой PCIe или PCI-E, это стандартный тип подключения для внутренних девайсов, такие как видеокарты, звуковые карты, wifi адаптеры и прочих периферийных устройств на персональном компьютере.

Разбираемся в различиях PCI-E разъема.

Как правило, данный высокоскоростной порт относится к фактическим слотам расширения на материнской плате, которые принимают платы расширения на основе традиционного PCIe и типы карт расширения.

Старая видеокарта с интерфейсом AGP

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

Как работает PCI Express?

Подобно старым стандартам, таким как PCI и AGP, устройство на базе Express физически переходит в высокоскоростной разъем на материнской плате.

Интерфейс этого разъема обеспечивает высокоскоростную связь между устройством и системной платой, а также другим оборудованием.

Хотя это не очень распространено, также существует внешняя версия высокоскоростного порта, что неудивительно называется External PCI Express, но часто сокращается до PCIe. Для устройств ePCIe, являющихся внешними, требуется специальный кабель для подключения любого внешнего устройства PCIe к пк через порт PCIe, обычно расположенный на задней панели пк, поставляемый либо материнской платой, либо специальной внутренней PCIe-картой.

Какие типы карт PCI Express существуют?

Благодаря требованию более быстрых, реалистичных видеоигр и инструментов редактирования видео, видеокарты были первыми типами компьютерной периферии, чтобы воспользоваться преимуществами, предлагаемыми непосредственно PCIe.

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

Карты контроллера жесткого диска могут быть наиболее полезными для PCI-E после видеокарты. Подключение высокоскоростного PCIe SSD-накопителя к этому высокоскоростному интерфейсу позволяет значительно быстрее считывать, потом записывать диск. Некоторые контроллеры жестких дисков PCIe даже включают встроенный SSD, сильно изменяя, как устройства хранения традиционно подключены внутри пк.

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

Каковы различные форматы PCI Express?

Express x1 . Express 3.0 . Express x16. Что означает «х»? Как узнаете, поддерживает ли ваш пк? Если есть карта PCI Express x1, и есть только разъем Express x16, совместимо ли это работает? Если нет, каковы ваши варианты?

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

Размеры PCIe: x16, x8, x4, и x1

Как следует из заголовка, число после x указывает физический размер платы PCI-E или слота, причем x16 самый большой, а x1 наименьший.

Вот как формируются различные размеры:

Количество контактов Длина
PCI Express x1 18 25 мм
PCI Express x8 49 56 мм
PCI Express x16 82 89 мм

Независимо от размера высокоскоростного порта или карты, ключевой вырез, это небольшое место в карте или слоте, всегда находится на выводе 11. То есть, длина вывода 11 продолжает увеличиваться по мере перехода от PCIe x1 к PCIe x16. Это позволяет гибко использовать карты одного размера вместе со слотами другого.

Карты PCIe подходят в любом слоте высокопроизводительного порта на системной плате, который по крайней мере такой же большой. Например, карта PCIe x1 будет входить в любой слот PCIe x4, PCIe x8 или PCIe x16. Карта PCIe x8 будет входить в любой слот PCIe x8 или PCIe x16. PCIe-карты, размер которых больше, чем слот PCIe, могут входить в меньший слот, но только если этот слот PCI-E открытый (т.е. Не имеет пробки в конце гнезда).

Видеокарта Radeon с интерфейсом PCI-Express x16

В целом, большая плата Express или слот поддерживает большую производительность, предполагая, что две карты или слоты, которые сравниваете, поддерживают одну и ту же версию PCIe.

Версия PCIe: 4.0, 3.0, 2.0 и 1.0

Любое число после PCIe, которое вы найдете на устройстве или системной плате, указывает номер последней версии используемой спецификации PCI Express.

Вот как сравниваются различные версии контроллера PCI Express:

Пропускная способность (на полосу) Пропускная способность (на полосу в слоте x16)
PCI Express 1.0 2 Гбит/с (250 МБ/с) 32 Гбит/с (4000 МБ/с)
PCI Express 2.0 4 Гбит/с (500 МБ/с) 64 Гбит/с (8000 МБ/с)
PCI Express 3.0 7.877 Гбит/с (984,625 МБ/с) 126,032 Гбит/с (15754 МБ/с)
PCI Express 4.0 15.752 Гбит/с (1969 МБ/с) 252,032 Гбит/с (31504 МБ/с)

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

Улучшения версии также устраняют ошибки, добавленные функции и улучшенное управление питанием, но увеличение полосы пропускной способности это самое важное изменение для заметок от версии к версии.

Максимизация совместимости совместно с PCIe

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

Например, графическая карта на высокоскоростном порту 3.0 x16 даст вам максимальную производительность, но только если материнская плата поддерживает высокоскоростной порт версии 3.0 и имеет свободный высокоскоростной порт x16. Если модель системной платы использует исключительно PCIe 2.0, карта будет работать только с поддерживаемой скоростью (например, 64 Гбит/с в слоте x16).

Большинство материнских плат и персональных компьютеров, выпущенных в 2013 году или позже, вероятно, поддерживают Express v3.0. Если вы не уверены, проверьте руководство по материнской плате или пк. Если не получается найти какую-либо окончательную информацию о версии PCI, возможности использования вашей материнской платой, я рекомендую купить самую большую и последнюю версию PCIe-карты, если она подойдет, конечно.

Что заменит PCIe?

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

Читайте также:  Как определить твердость шины

PCI Express 5.0, который должен быть завершен к 2019 году, будет использовать пропускную способность 31,504 гигабит в секунду на полосу (3938 мегабайт в секунду), что в два раза больше, чем предлагается у высокоскоростного разъема версии 4.0. Существует ряд других стандартов интерфейса, отличных от PCIe, на которые смотрит технологическая индустрия, но поскольку для них потребуются серьезные аппаратные изменения, PCIe, похоже останется лидером в течение некоторого, очень продолжительного времени как самый быстрый из существующих когда-либо.

Источник: fps-up.ru

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

    Источник: www.ixbt.com

    Как работает pci шина

    Весной 1991 года компания 486, Pentium Pro. Кроме того, было необходимо учесть ошибки допущенные VLB (электрическая нагрузка не позволяла подключать более 3 плат расширения), а также реализовать автоконфигурирование устройств по примеру протокола Amiga.

    В 1992 году появляется первая версия шины PCI, Intel объявляет, что стандарт шины будет открытым и создаёт PCI Special Interest Group. Благодаря этому, любой заинтересованный разработчик получает возможность создавать устройства для шины PCI без необходимости приобретения лицензии. Первая версия шины имела тактовую частоту 33 МГц, могла быть 32 или 64 битной, а устройства могли работать с сигналами в 5 В или 3,3 В. Теоретически, пропускная способность шины 133 Мбайт/с, однако в реальности пропускная способность составляла около 80 Мбайт/с.

    В середине 1993 года компания Intel выходит из ассоциации VESA и начинает предпринимать активные шаги по продвижению шины PCI на рынке. Ответом на критику со стороны специалистов из конференций

    В 1995 году появляется версия PCI 2.1 (ещё одно название — «параллельная шина PCI», которая обеспечила передачу данных по шине с частотой 66 МГц и максимальную скорость передачи в 533 Мбайт/с (для 64-битного варианта с частотой 66 МГц). Кроме того, эта шина уже была поддержана на уровне ОС Windows 95 (технология Plug and Play), что позволило пользователям IBM PC больше не чувствовать себя ущемлёнными по отношению к другим платформам. Версия шины PCI 2.1 оказалась настолько популярной, что вскоре уже она была перенесена на платформы с процессорами Alpha, MIPS, SPARC и др.

    В 1997 году, в связи с развитием компьютерной графики и разработкой шины видеокартам и перестала использоваться для установки видеокарт. Смысла приобретать PCI-видеокарту нет уже более 10 лет.

    В настоящее время интерфейс PCI постепенно вытесняется интерфейсами PCI Express и 2008 год) устанавливается всего лишь 2-3 разъёма PCI вместо 5-6, устанавливавшихся ранее.

    Основные сведения

    Первоначально 32 проводника адрес/данные на частоте 33 МГц. Позже появились версии с 64 проводниками (используется дополнительная колодка разъема) и частотой 66 МГц.

    Шина децентрализована, нет главного устройства, любое устройство может стать инициатором транзакции. Для выбора инициатора используется арбитраж с отдельно стоящей логикой арбитра. Арбитраж «скрытый», не отбирает времени — выбор нового инициатора происходит во время транзакции, исполняемой предыдущим инициатором.

    Транзакция состоит из 1 или 2 циклов адреса (2 цикла адреса используются для передачи 64-битных адресов, поддерживаются не всеми устройствами, дают поддержку DMA на памяти более 4 Гб) и одного или многих циклов данных. Транзакция со многими циклами данных называется «взрывной» (burst), понимается как чтение/запись подряд идущих адресов и даёт более высокую скорость — один цикл адреса на несколько, а не на каждый цикл данных, и отсутствие простоев (на «успокоение» проводников) между транзакциями.

    Специальные типы транзакций используются для обращений к конфигурационному пространству устройства.

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

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

    Богатая поддержка межшинных мостов. Богатая поддержка режимов кэширования, таких, как:

    • posted write — данные записи немедленно принимаются мостом и мост сразу отвечает «сделано», уже после этого пытаясь провести операцию записи на ведомой шине.
    • write combining — несколько запросов на posted write, идущих подряд по адресам, соединяются в мосте в одну «взрывную» транзакцию на ведомой шине.
    • prefetcing — используется при транзакциях чтения, означает выборку сразу большого диапазона адресов одной «взрывной» транзакцией в кеш моста, дальнейшие обращения исполняются самим мостом без операций на ведомой шине.

    Прерывания поддерживаются либо как Message Signaled Interrupts (новое), либо классическим способом с использованием проводников INTA-D#. Проводники прерываний работают независимо от всей остальной шины, возможно разделение одного проводника многими устройствами.

    Конфигурирование

    PCI-устройства с точки зрения пользователя самонастраиваемы (Plug and Play). После старта компьютера системное программное обеспечение обследует конфигурационное пространство PCI каждого устройства, подключённого к шине, и распределяет ресурсы.

    Каждое устройство может затребовать до семи диапазонов в адресном пространстве памяти PCI или в адресном пространстве ввода-вывода PCI.

    Кроме того, устройства могут иметь ПЗУ, содержащее исполняемый код для процессоров PA-RISC, Open Firmware (системное ПО компьютеров на базе PowerPC) или драйвер EFI.

    Настройка прерываний осуществляется также системным программным обеспечением (в отличие от шины IRQ, поэтому имеется возможность работы нескольких устройств с одной линией запроса прерывания; обычно системное ПО пытается выделить каждому устройству отдельное прерывание для увеличения производительности.

    Источник: dic.academic.ru

    История PCI — на пути к светлому будущему накопителей

    Современная революция систем хранения данных невозможна без развития интерфейсов, с помощью которых диски подключаются к системе. Одним из главных «героев» этого фронта сейчас является шина PCI Express. Скоростные накопители в наше время работают с интерфейсом PCIe Gen2 x4, обеспечивая скорость до 20 Гб/с, но так было далеко не всегда.

    Началом современных «шин» в персональных компьютерах стоит считать 1982 год. В недрах IBM был рожден новый компьютер, одной из отличительных особенностей которого была открытость его архитектуры. Компьютер получил название PC, а общался с внешним миром он по совершенно новому интерфейсу, который был назван Industry Standard Architecture или ISA. Данная шина умела работать с 8-битными данными на частоте 4.77 МГц, позже появились 16 и 32 битные варианты, работающие с еще более высокой частотой. Очень простая схема этого интерфейса дала толчок развитию массы внешних плат расширения, и, можно сказать, что именно открытый протокол внешней шины стал одной из главных причин успеха новой на тот момент архитектуры.

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

    На основании ISA был разработан ряд производных интерфейсов, начиная с PCMCIA и заканчивая ATA (по сути — упрощенное подмножество интерфейса ISA). Разрабатывались ускоренные варианты шины: EISA (32 бита, 8 МГц) и VESA Local Bus (использовалась для подключения видоадаптера).

    Со временем, IBM утратили лидирующую роль в разработке PC, поэтому над следующим поколением интерфейсов уже работали инженеры компании Intel. В самом начале 90-х гг… был разработан новый стандарт, получивший название Peripheral Component Interconnect или PCI. В 1992 году свет увидел первый стандарт PCI, тогда же была создана PCI Special Interest Group — организация, занимающаяся разработкой и продвижением данного стандарта. Стандарт был объявлен открытым, поэтому любой желающий мог разрабатывать PCI-устройства без выплаты отчислений.

    Первая версия шины поддерживала 32 и 64 бита, работала на частоте 33 мегагерца и в теории обеспечивала скорость до 133 Мб/с (на практике около 80 Мб/с).

    Начав свое победное шествие с рынка серверов, новый стандарт не сразу завоевал настольные ПК. Одним из пионеров его использования была компания Apple, отказавшаяся от интерфейса NuBus в своих продуктах 95-96 годах.

    Максимальная популярность к новому интерфейсу пришла в 1995 году с появлением версии 2.1 (так же названной «параллельная шина PCI»). Данная ревизия подразумевала работу с частотой 66 МГц и максимальную скорость передачи в 533 Мбайт/с (для 64-битного варианта). Появились реализации PCI для платформ с процессорами Alpha, MIPS, PowerPC, SPARC и т.д.

    Кстати, одним из главных нововведений PCI стала возможность автоматического конфигурирования параметров устройства, эту технологию в Intel назвали Plug-n-Play, а благодаря «стабильной» реализации ее программной поддержки в продуктах Microsoft, эта технология стала объектом множества шуток и анекдотов.

    Попыткой экстенсивного развития технологии можно считать шину PCI-X, в основном использовавшуюся в серверах. Первая версия данного стандарта работала с частотой 100 и 133 МГц, а также вводила механизм раздельных транзакций для оптимизации работы нескольких карт. Сейчас иногда используется шина PCI-X 2.0, обеспечивающая работу на частотах в 266 и 533 МГц.

    В 2004 году свет увидел новый стандарт, в котором были учтены все проблемы PCI. Новая шина получила название PCI Express или просто PCIe (главное — не путать ее с PCI-X). Новая технология предложила массу интересных решений.

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

    Главное же отличие состоит в том, что PCIe использует не «шинную» топологию а «звезду», то есть каждое устройство связанно с коммутатором отдельной линией.

    Пропускная способность односвязной PCIe первой версии составляла 4 Гбит/с в обе стороны. Максимальная скорость в стандарте PCIe 4 версии (находится в разработке и планируется к выходу в 2015 году) достигает 1024 Гбит/с. Как видите, по этому параметру PCIe обладает хорошим запасом, хотя расслабляться не приходится, конкуренты не дремлют.

    Недавно Джереми Вернер (Jeremy Werner), один из старших директоров подразделения флэш-технологий (SandForce) в LSI дал очень интересное интервью, касающееся PCIe и SSD. В полном виде вы можете ознакомиться с ним на английском, я же вкратце перескажу одну мысль, которая мне показалась особенно интересной:

    Максимальная скорость современного интерфейса SATA составляет 6 Гбит/с, при этом SATA является полудуплексным, то есть не умеет одновременно передавать и принимать данные. Не так редко встречающийся PCIe 2 поколения с 4 линиями передачи данных обеспечивает скорость до 20 ГБит/с в полнодуплексном режиме. Фактически, PCIe получается где-то в 7 раз быстрее. Но традиционные жесткие диски просто не нуждаются в таких скоростях передачи данных. Только SSD сейчас могут обеспечивать скорость, достаточную для полноценного использования высокоскоростных интерфейсов.

    Сочетание интерфейсов типа M.2 и высокоскоростных флэш-накопителей, похоже, приближает будущее, в котором дисковая подсистема перестанет быть самым узким местом в ПК. Ярким примером могут послужить компьютеры Apple — компания как игрок премиум сегмента может себе позволить эксперименты с новыми решениями, и они оказываются очень удачны с точки зрения производительности. Но в силу дешевизны, традиционные жесткие диски и SATA-интерфейс еще не думают сдаваться так просто, поэтому тотального наступления светлого будущего придется немного подождать.

    Источник: habr.com