|
|
|
|
Интерфейс PCI: Основные характеристики. поддержка PNP.
Шина
PCI (Peripheral Component Interconnect bus)
появилась
в
июне
1992 года
(R1.0). Стандарт
шины был объявлен открытым и передан PCI Special
Interest Group, которая продолжила работу по
совершенствованию шины.
Основные
возможности шины следующие.
|
Синхронный
32-х или 64-х разрядный обмен данными.
При этом для уменьшения числа
контактов (и стоимости) используется
мультиплексирование, то есть адрес и
данные передаются по одним и тем же
линиям.
|
|
Поддержка
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 кэша.
|
|
Автоматическое
конфигурирование карт расширения при
включении питания.
|
|
Спецификация
шины позволяет комбинировать до восьми
функций на одной карте (например, видео +
звук и т.д.).
|
|
Шина
позволяет устанавливать до 5 слотов
расширения, однако возможно
использование моста PCI-PCI для увеличения
количества карт расширения.
|
|
PCI-устройства
оборудованы таймером, который
используется для определения
максимального промежутка времени, в
течении которого устройство может
занимать шину.
|
|
Шина
поддерживает метод передачи данных,
называемый "linear burst" (метод линейных
пакетов). Этот метод предполагает, что
пакет информации считывается (или
записывается) в непрерывное
пространство памяти, то есть адрес
автоматически увеличивается для
следующего байта. Естественным образом
при этом увеличивается скорость
передачи собственно данных за счет
уменьшения числа передаваемых адресов.
|
Спецификация
шины PCI определяет три типа ресурсов: два
обычных (диапазон памяти и диапазон ввода/вывода)
и configuration space - "конфигурационное
пространство". Автоконфигурирование
устройств (выбор адресов, запросов
прерываний) поддерживается средствами BIOS и
ориентировано на технологию Microsoft/Intel Plug and Play (PnP) PC architecture. Стандарт
PCI определяет для каждого слота
конфигурационное пространство размером до
256 восьмибитных регистров, не приписанных
ни к пространству памяти, ни к пространству
ввода/вывода. Доступ к ним осуществляется
по специальным циклам шины Configuration Read и
Configuration Write, вырабатываемым контроллером
при обращении процессора к регистрам
контроллера шины PCI, расположенным в его
пространстве ввода/вывода.
Конфигурационное
пространство состоит из трех регионов:
|
заголовка,
независимого от устройства (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
байта региона используются для определения
прерывания и времени запроса/владения.
После
аппаратного сброса (или по включении
питания) устройства PCI не отвечают на
обращения к пространству памяти и ввода/вывода,
они доступны только для операций
конфигурационного считывания и записи. В
этих операциях устройства выбираются по
индивидуальным сигналам IDSEL#, устройства
сообщают о потребностях в ресурсах и
возможных диапазонах их перемещения. После
распределения ресурсов, выполняемого
программой конфигурирования (во время POST), в
устройства записываются параметры
конфигурирования, и только после этого к
ним становится возможным доступ по
командам обращения к памяти и портам ввода/вывода.
|
|
|