PCI (Peripheral component interconnect, дословно — взаимосвязь периферийных компонентов) — шина ввода-вывода для подключения периферийных устройств к материнской плате компьютера
Стандарт на
шину PCI определяет:
- физические параметры (например, разъёмы и разводку сигнальных линий);
- электрические параметры (например, напряжения);
- логическую модель (например, типы циклов шины, адресацию на шине).
Развитием
стандарта PCI занимается организация PCI Special Interest Group.
Архитектура
Первоначально
32 проводника адрес/данные на частоте 33 МГц. Позже появились версии с 64
проводниками (используется дополнительная колодка разъема) и частотой 66 МГц.
Шина
децентрализована, нет главного устройства, любое устройство может стать
инициатором транзакции. Для выбора инициатора используется арбитраж с отдельно
стоящей логикой арбитра. Арбитраж «скрытый», не отбирает времени — выбор
нового инициатора происходит во время транзакции, исполняемой предыдущим инициатором.
Транзакция
состоит из 1 или 2 циклов адреса (2 цикла адреса используются для передачи
64-битных адресов, поддерживаются не всеми устройствами, дают поддержку DMA на
памяти более 4 Гб) и одного или многих циклов данных. Транзакция со многими
циклами данных называется «пакетной» (burst), понимается как чтение/запись
подряд идущих адресов и даёт более высокую скорость — один цикл адреса на
несколько, а не на каждый цикл данных, и отсутствие простоев (на «успокоение»
проводников) между транзакциями.
Специальные
типы транзакций используются для обращений к конфигурационному пространству
устройства.
«Пакетная»
транзакция может быть временно приостановлена обоими устройствами из-за
отсутствия данных в буфере или его переполнения.
Поддерживаются
«расщеплённые» транзакции, когда целевое устройство отвечает состоянием «в
процессе» и инициатор должен освободить шину для других устройств, захватить её
снова через арбитраж и повторить транзакцию. Это делается, пока целевое
устройство не ответит «сделано». Используется для сопряжения шин с разными
скоростями (сама PCI и frontside процессора) и для предотвращения
тупиковых ситуаций в сценарии с многими межшинными мостами.
Богатая
поддержка межшинных мостов. Богатая поддержка режимов кэширования, таких как:
- posted write — данные записи немедленно принимаются мостом, и мост сразу отвечает «сделано», уже после этого пытаясь провести операцию записи на ведомой шине.
- write combining — несколько запросов на posted write, идущих подряд по адресам, соединяются в мосте в одну «взрывную» транзакцию на ведомой шине.
- prefetching — используется при транзакциях чтения, означает выборку сразу большого диапазона адресов одной «взрывной» транзакцией в кеш моста, дальнейшие обращения исполняются самим мостом без операций на ведомой шине.
Разъём 64-разрядной PCI в Power Macintosh G4 |
Прерывания
поддерживаются либо как Message Signaled
Interrupts (новое), либо классическим способом с использованием
проводников INTA-D#. Проводники прерываний работают независимо от всей
остальной шины, возможно разделение одного проводника многими устройствами.
Конфигурирование
PCI-устройства с точки зрения пользователя самонастраиваемы (Plug and Play). После старта компьютера системное программное обеспечение обследует конфигурационное пространство PCI каждого устройства, подключённого к шине, и распределяет ресурсы.
Каждое устройство может затребовать до шести диапазонов в адресном пространстве памяти PCI или в адресном пространстве ввода-вывода PCI.
Кроме того, устройства могут иметь ПЗУ, содержащее исполняемый код для процессоров x86 или PA-RISC, Open Firmware (системное ПО компьютеров на базе SPARC и PowerPC) или драйвер EFI.
Настройка прерываний осуществляется также системным программным обеспечением (в отличие от шины ISA, где настройка прерываний осуществлялась переключателями на карте). Запрос на прерывание на шине PCI передаётся с помощью изменения уровня сигнала на одной из линий IRQ, поэтому имеется возможность работы нескольких устройств с одной линией запроса прерывания; обычно системное ПО пытается выделить каждому устройству отдельное прерывание для увеличения производительности.
Спецификация
- частота шины — 33,33 или 66,66 МГц, передача синхронная;
- разрядность шины — 32 или 64 бита, шина мультиплексированная (адрес и данные передаются по одним и тем же линиям);
- пиковая пропускная способность для 32-разрядного варианта, работающего на частоте 33,33 МГц — 133 Мбайт/с;
- адресное пространство памяти — 32 бита (4 байта);
- адресное пространство портов ввода-вывода — 32 бита (4 байта);
- конфигурационное адресное пространство (для одной функции) 256 байт;
- напряжение 3,3 или 5 В.
Хороший обзор, рекомендую посмотреть
отлиная информация
ОтветитьУдалить