Pci устройство что это

Обновлено: 07.07.2024

Bus mastering (Управление шиной)

  • Передача данных о изображении из системной памяти в видео память - это может включать передачу изображений и текстур которые будут использованы в будущей генерации изображения.
  • Считывание графических команд ("список показа") из системной памяти. В этом случае процессор (под управлением графического драйвера) подготавливает последовательность командных примитивов и помещает их где-либо в системной памяти. Затем посылаются команды графическому контроллеру, которые предписывают ему принять и выполнить последовательность команд начиная с данного адреса в системной памяти. Процессор может работать над следующей сценой, в то время как текущая сцена отрисовывается графическим контроллером.

Конфигурация и Инициализация

  • Во-первых, BIOS материнской платы пытается найти и инициализировать устройства на шине ISA. Если найден старый, ISA-шный VGA контроллер, BIOS сконфигурирует, но НЕ инициализирует любой VGA контроллер находящийся на PCI или AGP шине. ISA-шная VGA карта становится первичным (по умолчанию) графическим контроллером. В зависимости от установки опции "Video BIOS shadow" команды BIOS будут выполняться либо непосредственно с чипа VGA ROM, либо копироваться в системную память (RAM) в стандартную область VGA BIOS (линейный адрес C0000), с защитой от записи (чтобы имитировать ROM) и выполняться.
  • В старых BIOSах следующей проверяется шина PCI. В новых BIOSах пользователь может выбрать, будет ли следующая проверяемая шина для VGA AGP или же PCI. Используя эту настройку (если она доступна) пользователь может задать системе использовать в качестве первичной либо AGP либо PCI VGA карту. Если есть только одна VGA карта (либо на AGP либо на PCI) эта опция BIOS не имеет никакого эффекта. Порядок поиска на PCI шине фиксирован - какая из PCI VGA карт распознается первой зависит только от ее позиции на PCI шине. Если кто-то хочет выбирать одну из двух PCI карт, он должен соответственно менять расположение карт в слотах.
  • Первая найденная VGA карта настраивается на ответ стандартным VGA IO адресам и адресам видео памяти первого мегабайта адресного пространства (A0000-BFFFF шестнадц.). Всем картам (первичной, вторичной и т.д.) назначаются расположения в 32-битном адресном пространстве в соответствии с их требованиями.
  • Образ BIOS первичной VGA карты (находящийся в ROM чипе VGA платы) помещается где-либо в 32-битном адресном пространстве памяти. В этот момент образ содержит процедуры инициализации и функции BIOS могут превышать 32 КБайта (обычно они занимают от 32 до 64 КБайт). Затем BIOS материнской платы копирует весь образ с ROM на VGA плате в системную RAM по линейному адресу C0000, который является стандартным расположением ISA VGA BIOS. Это часть RAM еще не защищена от записи.
    (Вышеуказанное означает, что BIOS PCI/AGP VGA никогда не выполняется с ROM = обязательное затемнение (shadowed), вне зависимости от установки опции "video BIOS shadow" в BIOS материнской платы.)
    Затем вводится в действие процедура инициализации VGA BIOS, в то время как образ BIOS в RAM доступен для записи. BIOS может определить и записать некоторые данные в свой образ. Также она может переместить некоторые процедуры и "обрезать" ненужные части (такие как процедуры инициализации), что снижает объем до 32КБайт (если образ до этого был больше). После этого процедура инициализации завершается, и BIOS материнской платы защищает от записи часть системной RAM, содержащей VGA BIOS.

AGP и PCI

В основном AGP это вариант PCI, поэтому все операции контроллеров AGP интерфейса обладают всеми возможностями PCI устройств. Оба интерфейса 32 битной ширины и большинство сигналов одинаковы. В PCI много слотов, в то время как AGP - поточечное соединение. PCI работает с частотой 33 МГц, AGP - 66 МГц. AGP интерфейс может производить два типа транзакций: PCI транзакции и AGP транзакции. Единственные AGP транзакции являются "bus mastering" передачами из системной памяти графическому контроллеру и инициируются графическим контроллером. Все остальные транзакции производятся как PCI передачи. Даже при этом эти транзакции вдвое быстрее чем транзакции на PCI шине из-за более высокой тактовой частоты AGP интерфейса. Некоторые старые AGP-карты могут производить только PCI-транзакции. Предположительно примерами таких "быстрых PCI" карт могут быть Matrox Millenium II AGP и Trident 9650.

AGP транзакции - адресация по побочной частоте

AGP транзакции используются только в "bus mastering" режиме. В то время как в простых PCI транзакциях при быстрейшей транзакции может передаваться 4 32-битных слова за 5 тактов часов (так как передается адрес по линиям адресов/данных для каждого пакета из 4 слов), AGP передачи могут использовать дополнительные AGP линии называемые Побочными (Sideband) для передачи адреса маленькими кусочками одновременно с данными. Во время передачи пакета из 4 слов передаются 4 части адреса для следующего пакетного (взрывного) цикла. По завершении цикла адрес и информация запроса для следующего пакета уже переданы, поэтому следующий 4-словный пакет может начинать сразу же передаваться. Таким образом мы можем передать 4 слова за 4 цикла (а не за 5, необходимые PCI). Вместе с 66 МГц частотой часов это предоставляет максимальную скорость передачи (4x66=) 264 МБайт/с.

1x, 2x и 4x режимы

  • 1x режим передает одну порцию (слово) данных и побочную информацию при каждом такте часов. Это приносит 264 МБ/с.
  • 2x режим передает данные и побочную информацию в начале и конце каждого такта часов, поэтому две порции данных передаются за один такт часов, при этом общий максимальный вывод соответствует 528 МГц.
  • В 4x режиме тактовая частота остается равной 66 МГц, но два других сигнала, запускающиеся синхронно с главными часами с эффективной частотой 133 МГц, используются для передачи данных в начале и конце каждого такта. Это приносит максимальный вывод свыше 1 Гб/с. Эта функция коммерчески еще недоступна, первые чипсеты и видео карты, поддерживающие ее, появятся на рынке примерно в 3 квартале 1999 года.

AGP апертура, GART и DIME

Описанные выше функции делают AGP быстрее чем PCI, но они не представляют никаких новых логических возможностей. Помимо лучшего, более быстрого железа, AGP также воплощает новую логическую модель, которая может значительно улучшить работу графического контроллера.
Попросту говоря, PCI bus mastering подходит для передачи небольших порций данных (от сотен байт до нескольких килобайт). Во время программирования PCI bus master'а система / драйвер записывает физический адрес данных, предназначенных для передачи. Для маленьких объемов данных системах с легкостью может сделать так чтобы логически смежные адреса переносились бы в физически смежные. Это становится трудным и неэффективным для больших структур данных, таких как многомегабайтные текстуры и огромные списки показа, так как система загружает эти структуры в свое логическое адресное пространство которое случайно распределено по физическим адресам.
Главная задача AGP в том, чтобы карта могла "видеть" часть системной памяти как свою собственную память, которую можно использовать для хранения текстур и списков показа. Чтобы использовать возможности AGP более эффективно, система должна предоставлять механизм, который позволял бы переносить "логические" адреса используемые графическим AGP чипом в действительные физические адреса способом, подобным используемому процессорами x86.

AGP апертура

AGP апертура это фрагмент адресного пространства сразу же за физическими адресами используемыми буфером кадров AGP карт (видео память). Эта часть адресного пространства используется AGP картами для доступа к системной памяти в которой хранятся текстуры. Физически системная память адресуется начиная с 0 адреса и до своего объема. AGP апертура поделена на логические страницы, и страницы переносятся индивидуально на физические страницы системной памяти.

Graphics Aperture Remapping Table - Таблица Переноса Графической Апертуры - это аппаратная структура внутри AGP чипсета, которая осуществляет перенос адресов AGP апертуры в физические адреса системной памяти. Она слегка напоминает блок TLB вызова, находящийся во всех современных процессорах. GART находится в NorthBridge части чипсета. Она управляется (программируется) операционной системой и используется AGP картой.

GART драйвер

Так как действительное применение GART зависит от чипсета, у ОС должны быть некоторые значения для доступа к ней. GART драйвер это драйвер используемый ОС (как Win9x) для управления GART. Win95 вообще ничего не знает о GART, поэтому она должна использовать внешние драйвера. Win98 информирована о GART чипсетах Intel и в нее включены соответствующие драйвера. Для не-Intel чипсетов для использования функций GART надо использовать драйвера от производителей чипсета. Это так называемый "AGP driver". Драйвер обычно поставляется с материнской платой и обновления можно скачать непосредственно от производителей чипсета (как VIA или ALi).

Direct Memory Execution - Непосредственное Выполнение из Памяти - это название лучшего рабочего режима AGP достигаемого за счет использования AGP аперутры с GART.

2x mode vs. DIME (2х режим с DIME)

Общая проблема существующая во многих современных материнских платах и графических платах в том, что работать может либо 2х режим, либо DIME, но не оба. Как правило, DIME в 1х режиме работает быстрее чем 2х режим без DIME. Конечно, частные результаты могут отличаться.


Неудивительно, что 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-интерфейс еще не думают сдаваться так просто, поэтому тотального наступления светлого будущего придется немного подождать.

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

Я только не понял, что за PCI в ноутбуке. Посмотрел описание, нет там такого.
Не предусмотрено в ноутбуке внутрь что либо добавлять, ну кроме RAM.
Шина есть, а физически доступа к ней нет.
Может речь идет об устройстве которое уже с завода стоит там? (и как правило просто впаянное, без разъема. ) Тогда все драйверы у производителя ноутбука должны быть. (google тебе в помощь)

Это шина для подключения дополнительных устройств формата PCI драйвера на сайте в разделе загрузки. Мне 10 не надо

Развитием стандарта PCI Express занимается организация PCI Special Interest Group.

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

Кроме того, шиной PCI Express поддерживается:
горячая замена карт;
гарантированная полоса пропускания (QoS);
управление энергопотреблением;
контроль целостности передаваемых данных.

Разработка стандарта PCI Express была начата фирмой Intel после отказа от шины InfiniBand. Официально первая базовая спецификация PCI Express появилась в июле 2002 года.

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

PCI Local Bus (Peripheral Component Interconnect, межсоединение периферийных компонентов) — синхронная параллельная шина, предназначенная для соединения различных контроллеров, находящихся на системной плате компьютера или установленных в гнёзда расширения, друг с другом и с так называемым «центральным ресурсом» (central resource), т.е. с процессорами и памятью. Эта шина порядка 10 лет была основой ПК, полностью вытеснив другие шины (ISA, EISA, MicroChannel, VLB). Сейчас ей на смену пришла PCI Express , хотя гнёзда для установки плат расширения стандарта PCI имеются пока на практически всех системных платах.

Помимо шины PCI, на ПК ранее широко применялась её специализированная версия PCI Express История

Развитием стандарта PCI занимается организация PCI Special Interest Group. Спецификации официально доступны лишь за плату, хотя на просторах Интернета их можно найти и бесплатно.

Прототип шины PCI был разработан фирмой Intel весной 1991 г. Новая шина должна была обладать высокой пропускной способностью, необходимой для эффективной работы процессоров 80486 и Основные особенности

Шина PCI предназначена для подключения достаточно большого количества устройств одновременно, однако на практике их число довольно мало — ограничителями являются нагрузочная способность электронных схем и паразитная ёмкость цепей, растущая по мере увеличения количества устройств и длины линий шины. Кроме того, под номер устройства на шине, используемый в процессе конфигурирования, отведено 5 бит, что не позволяет подключить более 32 устройств. Чтобы увеличить их общее число, была предусмотрена организация шины PCI в виде дерева. «Корнем» этого дерева является специальный мост Host–PCI, с помощью которого «ствол» — основная шина PCI — подключается к процессору. «Ветви» — дополнительные шины PCI — подключаются к «стволу» с помощью мостов PCI–PCI. К «ветвям» с помощью таких же мостов могут подключаться следующие «ветви» и так далее. Практическим ограничением «ветвистости» шины являются ограничение на общее число шин PCI (под номер шины отводится один байт) и дополнительная задержка, вносимая в обмен данными каждым новым мостом.

На практике шина PCI не обязательно связана с процессором напрямую. Например, в ПК на базе чипсета Intel P45 процессор посредством шины FSB связан с микросхемой северного моста — собственно кристаллом P45. Внутри последнего имеется мост Host–DMI, связывающий шину FSB с шиной DMI, которая, в свою очередь, является связующим элементом северного и южного мостов (в роли последнего обычно выступает микросхема ICH10). В состав южного моста входит мост DMI–PCI, он и будет реальным «корнем» шины PCI.

К шине PCI с помощью специальных мостов могут подключаться другие шины. Например, в каждом ПК на ранних процессорах Pentium имелся мост PCI–ISA.

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

Каждое устройство PCI включает одну или несколько функций (до 8 — под номер функции, используемый в процессе конфигурирования, отведено 3 бита). Функция — это логически независимая часть устройства. Например, в состав микросхемы южного моста обычно входят контроллеры SATA, Ethernet, USB и другие устройства. Каждый из них с точки зрения шины PCI может быть отдельным устройством или же одной из функций одного и того же устройства. Многофункциональные устройства обязательно должны иметь функцию с номером 0, однофункциональные могут в процессе конфигурирования игнорировать номер функции или же «откликаться» только на обращение к функции 0.

Шина PCI имеет три независимых адресных пространства: памяти, ввода-вывода и конфигурационное. Разрядность адреса памяти и ввода-вывода составляет 32 или 64 бита (причём 64-разрядный адрес может использоваться и на 32-разрядной шине); на практике его разрядность определяется процессором (так, у современных процессоров ПК адреса портов ввода-вывода имеют длину 16 бит, а физические адреса памяти — обычно 36). Пространство ввода-вывода может отсутствовать, если шина применяется в вычислительной системе, процессор которой не имеет отдельного адресного пространства ввода-вывода. По этой причине устройства, не ориентированные на использование с конкретной процессорной архитектурой, должны иметь возможность работать исключительно с адресным пространством памяти. Для нормальной работы каждая функция каждого устройства должна иметь собственный диапазон адресов в необходимых ей адресных пространствах.

Конфигурационное адресное пространство имеется у каждой реализованной функции всех устройств шины PCI, кроме, возможно, моста Host–PCI. Адреса регистров конфигурации состоят из четырёх полей: номера шины (8 бит), номера устройства (5 бит), номера функции (3 бита) и номера регистра (6 бит). Все конфигурационные регистры 32-разрядные. Используя их, программное обеспечение определяет тип, конкретную модель устройства и его требования к диапазонам адресов памяти и ввода-вывода, после чего по возможности выделяет запрашиваемые ресурсы и загружает драйвер, обеспечивающий работу с этим устройством.

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

Устройства могут иметь порты ввода-вывода, расположенные по строго определённым адресам. Такие устройства называются унаследованными (legacy). Фиксированные порты применяются для обеспечения совместимости со старым оборудованием, не имевшим возможности программного конфигурирования. Например, современные видеоконтроллеры эмулируют видеоконтроллер VGA, для чего используют несколько стандартных портов ввода-вывода, однако для использования их в современных режимах они должны быть правильно настроены как «настоящие» устройства PCI.

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

Из-за очень большого объёма информации подробные сведения о принципах работы и использовании шины PCI приведены в отдельных статьях:

Читайте также: