Схема работы шины Pci и ее настройка
Обновлено: 21.11.2024
Более десяти лет шина PCI была основой персональных компьютеров. Другие системы, такие как телефония и сеть, приняли эту технологию из-за ее преимуществ в стоимости и производительности. Но сейчас шина PCI достигает своего предела производительности. Больше нельзя масштабировать ни по тактовой частоте, ни по ширине шины, шине PCI больше не нужно увеличивать пропускную способность. Пришло время замены.
Тактовая частота персональных компьютеров (ПК) увеличилась до нескольких гигагерц. Сетевые и телефонные приложения объединяются и требуют пропускной способности системы в сотни мегабайт в секунду. Между тем, шина PCI, которая соединяет процессоры и их ресурсы ввода-вывода, работает на частоте всего 133 МГц. Что-то должно измениться, однако большая установленная база аппаратного и программного обеспечения для систем на основе шины PCI не позволяет разработчикам просто переключиться на более быструю архитектуру шины. Системам требуется большая пропускная способность, но она должна быть совместима с предыдущими версиями.
Специальная группа по интересам PCI (PCI SIG) решила эту дилемму с помощью новой шины, которая предлагает более высокую пропускную способность и масштабируемость частоты, сохраняя при этом программную совместимость. Новая шина PCI-Express (PCIe) использует последовательную связь с коммутируемым двухточечным соединением на аппаратном уровне. Однако с точки зрения программного обеспечения PCIe выглядит так же, как традиционный PCI для приложений, драйверов и операционных систем.
Необходимость в новой шине связана с ограничениями, присущими традиционной шине PCI. Изначально шина была разработана для использования на материнской плате ПК для подключения плат расширения к процессору. Дополнение и, в конечном итоге, замена исходной шины ISA, PCI обеспечивала сравнительно высокую пропускную способность соединения с периферийными устройствами. Как и его предшественник, шина PCI соответствовала размеру слова ЦП ПК, начиная с 32-битной ширины, а затем переходя к 64-битной. По мере увеличения тактовой частоты процессора росла и скорость шины PCI. Начиная с системной частоты 33 МГц, она прошла через 66 МГц и 100 МГц до нынешней частоты 133 МГц.
Тем временем шина PCI нашла применение и в других приложениях. Шина PCI служит основой сетевых маршрутизаторов. Несмотря на то, что маршрутизаторы не соответствуют архитектуре ПК, они используют шину PCI, чтобы воспользоваться преимуществами недорогих адаптеров Ethernet-PCI, впервые разработанных для ПК. Точно так же переход шины PCI на адаптеры Fibre Channel привел к возникновению сети хранения данных (SAN), которая использует шину PCI в качестве своей основы.
PCI НЕ РАБОТАЕТ
Проблема в том, что шине PCI не хватает производительности для этих приложений. На частоте 133 МГц 64-битная шина PCI достигает пропускной способности 1 Гбайт/с. Отдельные каналы Ethernet и Fibre Channel обычно работают со скоростью 1 Гбит/с, а пропускная способность системы должна быть способна объединять несколько каналов, чтобы сетевое взаимодействие было эффективным. Это означает, что текущая шина PCI работает только на пределе потребностей приложения. При переходе каналов на скорость 10 Гбит/с шина PCI становится узким местом.
Тем не менее, тактовая частота PCI не может быть значительно увеличена. Уже трудно удовлетворить временные ограничения шины PCI в конструкции системы. Требования обратной совместимости со старым оборудованием налагают условия установки и удержания, которые занимают до 1,7 нс периода цикла шины. Максимальное время вывода действительных данных драйвера передатчика составляет 3,3 нс. На частоте 133 МГц остается окно всего в 2,5 нс для учета изменений системной синхронизации, таких как перекос и распространение. Увеличение тактовой частоты только усугубит проблему.
Рис. 1. Полнодуплексное двухточечное соединение PCI-Express с 16 линиями
Последовательные битовые потоки перемещают данные со скоростью 2,5 Гбит/с, используя схему кодирования 8b/10b с автосинхронизацией. Поскольку дорожки синхронизируются автоматически, а объединение дорожек требует буферизации данных для повторной сборки слов, схема очень устойчива к перекосу.
При самых высоких уровнях системной активности PCIe сохраняет совместимость со стандартным PCI. Они используют одни и те же определения регистров конфигурации и схему адресации для доступа и управления шинными узлами. Они используют одни и те же протоколы для настройки и подтверждения передачи данных. Это делает их идентичными операционной системе и BIOS (базовой системе ввода-вывода), что, в свою очередь, делает их идентичными прикладному программному обеспечению. Аппаратное обеспечение интерфейса обрабатывает все различия между двумя структурами шин и всеми рабочими деталями, не затрагивая функции системного уровня.
PCI EXPRESS ИМЕЕТ ЗАПАС ПРОИЗВОДИТЕЛЬНОСТИ
Структура шины PCIe дает значительный запас для увеличения производительности с течением времени, не нагружая ресурсы разработчиков. Текущее определение обеспечивает максимальную пропускную способность системы 8 Гбайт/с (16 каналов), но это определение легко расширяется.Поскольку каждая полоса использует только две дифференциальные сигнальные линии, а их синхронизация не зависит от других полос, шина не накладывает существенных ограничений на компоновку схемы. Самосинхронизация означает, что шина масштабируется по частоте; ничто не мешает схеме работать на максимальных тактовых частотах логики. Относительная независимость дорожек означает, что схему можно масштабировать по ширине в соответствии с производительностью системы. Протокол предоставляет метод повторного выравнивания данных, распределенных по нескольким дорожкам.
Структура последовательной шины имеет ограничение, заключающееся в том, что она может работать только в режиме "точка-точка". Несколько устройств не могут использовать одно и то же физическое соединение, как на многоабонентской шине PCI. Однако PCIe позволяет использовать несколько устройств на одной и той же логической шине за счет использования коммутируемой архитектуры. Структура может установить соединение "точка-точка" между любыми двумя узлами шины, предоставляя этому соединению единоличное управление шиной на время транзакции данных.
Эта коммутируемая фабрика позволяет реализовать контроль качества обслуживания (QOS) для трафика данных путем управления коммутацией. Это также открывает возможность одноранговых транзакций по шине без необходимости конфликтов и арбитража. Кроме того, фабрика может поддерживать несколько одновременных транзакций по шине, когда два канала не имеют какой-либо общей части пути данных. Это может еще больше повысить пропускную способность системы.
Со всеми преимуществами пропускной способности, которые предлагает PCIe, многие приложения с высокой пропускной способностью переходят на новый стандарт. Одним из примеров является адаптер главной шины (HBA) для сетей хранения данных (SAN). Файловый сервер операционной системы (ОС) предоставляет хост-адаптеру команды, которые идентифицируют устройство, размер передачи, относительное местоположение и операцию, которую необходимо выполнить. Работа адаптера состоит в том, чтобы принимать эти файловые команды от хоста и преобразовывать их в конкретные операции адресации и передачи данных.
После отправки запроса на передачу файла адаптер отвечает за выдачу соответствующих команд соответствующему устройству хранения. Адаптер также перемещает данные между устройством хранения и хост-системой. Обычно адаптер пытается максимизировать пропускную способность системы, одновременно активируя несколько запросов на передачу, каждый для отдельного устройства хранения.
Адаптеры SAN обычно используют соединение Fibre Channel (FC) с устройством хранения, и такие соединения в настоящее время работают со скоростью от 1 до 4 Гбит/с в полнодуплексном режиме с одновременным чтением и записью. Поскольку он взаимодействует с несколькими устройствами хранения одновременно, хост-адаптер будет объединять эти отдельные каналы, что налагает на интерфейс хоста требование скорости передачи данных до 20 Гбит/с. PCIe может обеспечить такую пропускную способность благодаря конструкции с восемью линиями.
RAPIDCHIP РЕАЛИЗУЕТ ИНТЕРФЕЙС PCI EXPRESS
Такие дизайны уже доступны. На рис. 2 показана функциональная блок-схема возможной конструкции адаптера главной шины Fibre Channel (FC-HBA) в ASIC RapidChip Platform от LSI Logic. ASIC RapidChip Platform представляют собой конструкции LSI Logic, которые содержат как аппаратную логику, так и настраиваемую пользователем область, которая позволяет настраивать базовую конструкцию без дополнительных затрат на полностью специализированную ASIC. Каждое из жестких ядер представляет собой проверенную конструкцию, и их интеграция в ASIC платформы RapidChip решила все проблемы компоновки, интерфейса и времени закрытия в их работе. Все, что остается разработчику, — определить взаимосвязи конфигурируемых логических блоков, чтобы создать заказную деталь, готовую к производству.
Рис. 2. Адаптер главной шины Fibre Channel переходит на PCI-Express
Пример FC HBA RapidChip Platform ASIC состоит из нескольких основных блоков, включая секцию интерфейса хранилища, секцию интерфейса PCIe и настраиваемый пользователем логический блок с управляющим процессором. Ядра сериализатора/десериализатора GigaBlaze® (SerDes) расположены на обеих сторонах чипа для обработки сигналов последовательного интерфейса.
Ядра GigaBlaze — это многоцелевые устройства SerDes, поддерживающие широкий спектр скоростей и стандартов. Их можно настроить для поддержки InfiniBand, PCI Express, Serial ATA (I и II), Serial Attached SCSI, Gigabit и 10 Gigabit Ethernet, а также Fibre Channel со скоростью передачи данных от 1,0625 до 4,25 Gigabit. Это гибкое ядро представляет собой хорошо зарекомендовавшую себя конструкцию, которая находится в массовом производстве более семи лет в пяти поколениях технологии ASIC.
На стороне хранилища ядро Fibre Channel обрабатывает интерфейсные протоколы для подключения к устройствам хранения. Этот блок является проверенной конструкцией, которая была протестирована в лаборатории тестирования функциональной совместимости Университета Нью-Гэмпшира. Он продемонстрировал способность работать с любым периферийным устройством, совместимым с Fibre Channel. Ядра GigaBlaze настроены на работу со скоростью 1,0625 Гбит/с, 2,125 Гбит/с или 4,25 Гбит/с.
На стороне PCIe имеется несколько ядер, в том числе ядро транзакций PCIe, ядро PCI Express x8 или x16 Lane Link и ядра GigaBlaze SerDes. Ядра GigaBlaze преобразуют данные между последовательной и параллельной формами и обеспечивают энергосбережение для PCIe. Параметры энергосбережения включают в себя способность передатчика обнаруживать подключение удаленного приемника. Передатчик может оставаться в электрическом режиме ожидания, экономя электроэнергию, и быстро переподключаться, когда начинается передача данных. Однако он будет передавать только при наличии приемника для обработки данных, экономя электроэнергию, когда шина PCIe не подключена к другому устройству.
Ядро PCI Express Link обрабатывает детали сигнализации канала PCIe. Канальный уровень обрабатывает сигнальные протоколы PCIe, обеспечивает инициализацию и обучение канала (для восстановления тактовой частоты), выполняет выравнивание каналов и собирает 64-битные слова из байтовых выходных данных отдельных устройств GigaBlaze. Элемент канального уровня также реализует управление потоком в соответствии с требованиями уровня транзакций и предоставляет буферы и автоматические повторные попытки, необходимые для восстановления после ошибок последовательной передачи.
Ядро транзакций PCIe управляет перемещением блоков данных от HBA к хост-процессору, а также обработкой памяти, сообщений и транзакций конфигурации. Здесь происходит буферизация и проверка на ошибки слов данных. Ядро PCI Express Link предоставляет параллельные данные в формате для всего слова, так что ядро уровня транзакций может обрабатывать ориентированное на слова обнаружение и исправление ошибок перед перемещением следующего слова в блоке. Ядро уровня транзакций также управляет потоком данных и арбитражем трафика, обеспечивая динамическое управление приоритетами трафика и использованием полосы пропускания через PCIe.
В настраиваемом пользователем интерфейсе ядро транзакций PCIe ведет себя как канал прямого доступа к памяти. Это упрощает усилия разработчика при настройке ASIC FC HBA RapidChip Platform. Разработчику не нужно беспокоиться о работе интерфейсов PCIe или Fibre Channel. Оба интерфейса работают независимо и автоматически. Вместо этого разработчик концентрируется на функции управления сетью FC HBA. Настраиваемый пользователем блок включает в себя как процессор ARM, так и настраиваемую логику, поддерживающую эту функцию. Управление отдельными устройствами хранения, работа с файлами, отказоустойчивость, избыточность и безопасность — все эти функции должны быть реализованы разработчиком. Они представляют собой дополнительные усилия по проектированию, которые превращают ASIC RapidChip Platform в уникальный дизайн.
С появлением ядер PCIe и платформ ASIC, таких как семейство RapidChip, переход на PCI Express будет набирать обороты. Потребность растет по мере того, как скорость работы приложений превышает возможности традиционной шины PCI. Хотя структура последовательной шины является новой для многих разработчиков, наличие проверенных ядер, которые обрабатывают детали шины для разработчика, снижает барьеры для проектов на основе PCIe. Доступность специализированных платформ ASIC, таких как RapidChip, значительно снижает стоимость и риск этих проектов, устраняя последние барьеры для внедрения. Теперь разработчики должны двигаться вперед и застолбить свою долю на новом рынке конструкций PCI Express.
Шина PCI (Peripheral Component Interconnect) была разработана для создания высокопроизводительной и недорогой локальной шины, которая останется на протяжении нескольких поколений продуктов. Благодаря сочетанию прозрачного пути обновления со 132 МБ/с (32-разрядная на частоте 33 МГц) до 528 МБ/с (64-разрядная на 66 МГц) и 5-вольтовой и 3,3-вольтовой сигнальных сред, шина PCI удовлетворяет потребности обоих недорогие настольные системы и высокопроизводительные локальные серверы. Компонент шины PCI и интерфейс платы расширения не зависят от процессора, что обеспечивает эффективный переход на будущие процессоры, а также использование с многопроцессорными архитектурами. Недостатком шины PCI является ограниченное количество электрических нагрузок, которыми она может управлять. Одна шина PCI может управлять максимум 10 нагрузками. (Помните, что при подсчете количества нагрузок на шине разъем считается одной нагрузкой, а устройство PCI — другой, а иногда и двумя.)
Пространство конфигурации
Спецификация PCI обеспечивает полностью программную инициализацию и настройку каждого устройства (или цели) на шине PCI через отдельное адресное пространство конфигурации. Для этой цели все устройства PCI, кроме мостов главной шины, должны предоставить 256 байт регистров конфигурации.
Циклы чтения/записи конфигурации используются для доступа к пространству конфигурации каждого целевого устройства. Цель выбирается во время доступа к конфигурации, когда ее сигнал IDSEL установлен. IDSEL действует как классический сигнал «выбора чипа». Во время адресной фазы цикла конфигурации процессор может адресовать один из 64 32-битных регистров в пространстве конфигурации, помещая требуемый номер регистра в адресные строки со 2 по 7 (AD[7..2]) и строки разрешения байтов. .
Устройства PCI по своей природе имеют обратный порядок байтов, то есть все многобайтовые поля имеют наименее значащие значения в младших адресах. Для этого требуется процессор с обратным порядком байтов, такой как Power PC, для выполнения надлежащей замены байтов данных, считываемых с устройства PCI или записываемых на него, включая любые обращения к адресному пространству конфигурации.
Используются две 32-битные ячейки ввода-вывода, первая (0xCF8) называется CONFIG_ADDRESS, а вторая (0xCFC) называется CONFIG_DATA. CONFIG_ADDRESS указывает адрес конфигурации, который требуется для доступа, в то время как доступ к CONFIG_DATA фактически создает доступ к конфигурации и передает данные в регистр CONFIG_DATA или из него.
CONFIG_ADDRESS — это 32-битный регистр, формат которого показан на следующем рисунке. Бит 31 — это флаг включения для определения того, когда доступ к CONFIG_DATA должен быть преобразован в циклы конфигурации. Биты с 23 по 16 позволяют конфигурационному программному обеспечению выбирать конкретную шину PCI в системе. Биты с 15 по 11 выбирают конкретное устройство на шине PCI. Биты с 10 по 8 выбирают конкретную функцию в устройстве (если устройство поддерживает несколько функций).
Младший значащий байт выбирает смещение в 256-байтовом пространстве конфигурации, доступном с помощью этого метода. Поскольку все операции чтения и записи должны быть 32-битными и выровнены для работы во всех реализациях, два младших бита CONFIG_ADDRESS всегда должны быть равны нулю, а оставшиеся шесть битов позволяют выбрать каждое из 64 32-битных слов. Если вам не нужны все 32 бита, вам придется выполнять невыровненный доступ в программном обеспечении, выравнивая адрес, а затем маскируя и сдвигая ответ.
1 Смещение регистра должно указывать на последовательные DWORD, т.е. биты 1:0 всегда равны 0b00 (они все еще являются частью смещения регистра).
Когда доступ к конфигурации пытается выбрать несуществующее устройство, хост-мост завершит доступ без ошибок, удаляя все данные при записи и возвращая все данные при чтении. Следующий сегмент кода иллюстрирует чтение несуществующего устройства.
Этот механизм доступа к пространству конфигурации устарел в PCI версии 2.0. Это означает, что он, скорее всего, будет существовать на оборудовании примерно с 1992 года (когда был представлен PCI 1.0) по 1993 год (когда был представлен PCI 2.0), что ограничивает его 80486 и ранними материнскими платами Pentium.
После включения механизма доступа; доступ к портам ввода-вывода от 0xC000 до 0xCFFF используется для доступа к пространству конфигурации PCI. Номер порта ввода-вывода имеет следующий формат:
Обратите внимание, что это ограничивает систему до 16 устройств на шину PCI.
Доступ к пространству конфигурации PCI с отображением памяти
PCI Express представила новый способ доступа к конфигурационному пространству PCI, при котором оно просто распределяется по памяти, а порты ввода-вывода не используются. Этот механизм доступа описан в PCI Express.
Обнаружение механизмов доступа к пространству конфигурации
В общем, есть 4 случая:
Для систем BIOS и UEFI вы можете проверить таблицы ACPI, чтобы определить, поддерживается ли механизм доступа к памяти с отображением.
Структура устройства PCI
Спецификация PCI определяет организацию регистров 256-байтового пространства конфигурации и налагает определенный шаблон для пространства. На рисунках 2 и 3 показано расположение 256-байтового пространства конфигурации. Все PCI-совместимые устройства должны поддерживать поля Vendor ID, Device ID, Command and Status, Revision ID, Class Code и Header Type. Реализация других регистров не является обязательной, в зависимости от функциональности устройства.
Общие поля заголовка
Следующие описания полей являются общими для всех типов заголовков:
- Идентификатор устройства: идентифицирует конкретное устройство. Где действительные идентификаторы назначаются поставщиком.
- Vendor ID: идентифицирует производителя устройства. Где действительные идентификаторы выделяются PCI-SIG (список здесь) для обеспечения уникальности, а 0xFFFF — недопустимое значение, которое будет возвращено при доступе на чтение к регистрам пространства конфигурации несуществующих устройств.
- Статус. Регистр, используемый для записи информации о статусе событий, связанных с шиной PCI.
- Команда. Обеспечивает контроль над способностью устройства генерировать и реагировать на циклы PCI. Единственная функциональность, гарантированно поддерживаемая всеми устройствами, заключается в том, что когда в этот регистр записывается 0, устройство отключается от шины PCI для всех операций доступа, кроме доступа к пространству конфигурации.
- Код класса. Доступный только для чтения регистр, определяющий тип функции, которую выполняет устройство.
- Подкласс. Доступный только для чтения регистр, определяющий конкретную функцию, которую выполняет устройство.
- Prog IF (байт интерфейса программирования): доступный только для чтения регистр, указывающий интерфейс программирования на уровне регистра, который есть у устройства, если он вообще есть.
- ID версии: указывает идентификатор версии для конкретного устройства.Где действительные идентификаторы назначаются поставщиком.
- BIST: представляет это состояние и позволяет управлять устройством BIST (встроенная самопроверка).
- Тип заголовка: определяет макет остальной части заголовка, начиная с байта 0x10 заголовка, а также указывает, выполняет ли устройство несколько функций. Где значение 0x0 указывает обычное устройство, значение 0x1 указывает мост PCI-PCI, а значение 0x2 указывает мост CardBus. Если бит 7 этого регистра установлен, устройство имеет несколько функций; в противном случае это однофункциональное устройство.
- Таймер задержки: указывает таймер задержки в единицах тактов шины PCI.
- Размер строки кэша: указывает размер строки системного кэша в 32-битных единицах. Устройство может ограничить количество поддерживаемых размеров строки кэша. Если в это поле будет записано неподдерживаемое значение, устройство будет вести себя так, как если бы было записано значение 0.
Тип заголовка 0x0
Эта таблица применима, если тип заголовка равен 0x0. (Рисунок 2)
Следующие описания полей применяются, если тип заголовка равен 0x0:
Тип заголовка 0x1 (мост PCI-PCI)
Эта таблица применима, если тип заголовка равен 0x1 (мост PCI-to-PCI) (рис. 3)
Реестр типа заголовка
Вот макет регистра типа заголовка:
Регистрация BIST
Вот макет регистра BIST:
- BIST Capable — возвращает 1, если устройство поддерживает BIST.
- Запустить BIST — при значении 1 запускается BIST. Этот бит сбрасывается после завершения BIST. Если BIST не завершается через 2 секунды, устройство должно выйти из строя системным программным обеспечением.
- Код завершения. Возвращает 0 после выполнения BIST, если тест завершен успешно.
Тип заголовка 0x2 (мост PCI-CardBus)
Эта таблица применима, если тип заголовка равен 0x2 (мост PCI-to-CardBus)
Командный регистр
Вот схема регистра команд:
Если ядро настраивает BAR устройств, ядро также должно активировать биты 0 и 1 для его активации.
Регистрация статуса
Вот макет регистра состояния:
Вспомните, что устройства PCI следуют небольшому порядку ENDIAN. Нижние адреса содержат наименее значимые части поля. Программное обеспечение для управления этой структурой должно уделять особое внимание тому, чтобы порядок следования байтов соответствовал устройствам PCI, а не процессорам.
Регистры базовых адресов
Регистры базовых адресов (или BAR) могут использоваться для хранения адресов памяти, используемых устройством, или смещений для адресов портов. Как правило, BAR адресов памяти должны располагаться в физическом ОЗУ, в то время как BAR пространства ввода/вывода могут располагаться по любому адресу памяти (даже за пределами физической памяти). Чтобы различить их, вы можете проверить значение самого младшего бита. В следующих таблицах описаны два типа BAR:
Поле «Тип» макета панели памяти «Пространство памяти» указывает размер базового регистра и место в памяти, где он может быть отображен. Если он имеет значение 0x0, то базовый регистр имеет ширину 32 бита и может отображаться в любом месте 32-битного пространства памяти. Значение 0x2 означает, что базовый регистр имеет ширину 64 бита и может отображаться в любом месте 64-битного пространства памяти (64-битный регистр базового адреса занимает 2 доступных регистра базового адреса). Значение 0x1 зарезервировано для версии 3.0 спецификации локальной шины PCI. В более ранних версиях он использовался для поддержки пространства памяти менее 1 МБ (16-разрядный базовый регистр, который может быть отображен в любом месте 16-разрядного пространства памяти).
Когда регистр базового адреса помечен как Prefetchable, это означает, что область не имеет побочных эффектов чтения (чтение из этого диапазона памяти не меняет никакого состояния), и ЦП разрешено кэшировать загрузки из этого диапазона. области памяти и читать ее пакетами (обычно размером строки кэша). Аппаратному обеспечению также разрешено объединять повторяющиеся хранилища по одному и тому же адресу в одно хранилище с последним значением. Если вы используете пейджинг и хотите добиться максимальной производительности, вам следует отображать регионы MMIO с предварительной выборкой как WT (сквозная запись), а не UC (некэшируемый). В x86 буферы кадров являются исключением, они почти всегда должны отображаться WC (объединение записи).
Адрес и размер BAR
Если вы хотите получить фактический базовый адрес BAR, обязательно замаскируйте младшие биты. Для 16-битных BAR пространства памяти вы вычисляете (BAR[x] & 0xFFF0) . Для 32-битных BAR пространства памяти вы вычисляете (BAR[x] & 0xFFFFFFF0) . Для 64-битных BAR пространства памяти вы вычисляете ((BAR[x] & 0xFFFFFFF0) + ((BAR[x + 1] & 0xFFFFFFFF) Для BAR пространства ввода-вывода вы вычисляете (BAR[x] & 0xFFFFFFFC) .< /p>
Коды классов
Регистры Class Code, Subclass и Prog IF используются для идентификации типа устройства, функции устройства и интерфейса программирования на уровне регистров устройства соответственно.
В следующей таблице подробно описаны большинство известных типов устройств и функций:
Перечисление шин PCI
Существует 3 способа перечисления устройств на шинах PCI. Первый способ — «грубая сила», проверка каждого устройства на каждой шине PCI (независимо от того, существует ли шина PCI или нет). Второй способ позволяет избежать большой работы, определяя действительные номера шин во время сканирования, и немного сложнее, поскольку включает рекурсию. Для обоих этих методов вы полагаетесь на что-то (прошивку) для правильной настройки шин PCI (настройка мостов PCI-PCI для пересылки запроса с одной шины на другую). Третий метод аналогичен второму, за исключением того, что при этом вы настраиваете мосты PCI.
Для всех трех методов необходимо иметь возможность проверить, присутствует ли конкретное устройство на конкретной шине и является ли оно многофункциональным или нет. Псевдокод может выглядеть так:
Обратите внимание, что если вы не проверите бит 7 типа заголовка и просканируете все функции, то некоторые однофункциональные устройства будут сообщать сведения о «функции 0» для каждой функции.
Сканирование "грубой силой"
Для метода грубой силы оставшийся код относительно прост. Псевдокод может выглядеть так:
Компоненты вашего компьютера работают вместе через шину. Узнайте о шине PCI и плате PCI, например, о приведенной выше. См. другие изображения компьютерного оборудования.
Мощность и скорость компьютерных компонентов неуклонно росли с тех пор, как несколько десятилетий назад были разработаны первые настольные компьютеры. Производители программного обеспечения создают новые приложения, способные использовать последние достижения в области скорости процессора и емкости жестких дисков, в то время как производители оборудования спешат улучшить компоненты и разработать новые технологии, чтобы не отставать от требований высокопроизводительного программного обеспечения.
Однако есть один элемент, который часто ускользает от внимания — автобус. По сути, шина — это канал или путь между компонентами компьютера. Наличие высокоскоростного автобуса так же важно, как наличие хорошей коробки передач в автомобиле. Если у вас есть 700-сильный двигатель в сочетании с дешевой трансмиссией, вы не сможете использовать всю эту мощность на дороге. Существует множество различных типов автобусов.
Идея шины проста: она позволяет подключать компоненты к процессору компьютера. Некоторые из компонентов, которые вы, возможно, захотите подключить, включают жесткие диски, память, звуковые системы, видеосистемы и так далее. Например, чтобы увидеть, что делает ваш компьютер, вы обычно используете ЭЛТ или ЖК-экран. Для управления экраном требуется специальное оборудование, поэтому экран управляется графической картой. Видеокарта представляет собой небольшую печатную плату, предназначенную для подключения к шине. Видеокарта взаимодействует с процессором, используя шину компьютера в качестве канала связи.
Преимущество автобуса в том, что он делает детали более взаимозаменяемыми. Если вы хотите получить лучшую видеокарту, вы просто отключаете старую карту от шины и подключаете новую. Если вы хотите, чтобы на вашем компьютере было два монитора, вы подключаете к шине две видеокарты. И так далее.
В этой статье вы узнаете о некоторых из этих автобусов. Мы сосредоточимся на шине, известной как Interconnect Peripheral Component Interconnect (PCI). Мы поговорим о том, что такое PCI, как он работает и как используется, а также заглянем в будущее шинных технологий.
Системная шина и шина PCI
Двадцать или 30 лет назад процессоры были настолько медленными, что процессор и шина были синхронизированы — шина работала с той же скоростью, что и процессор, а в машине была одна шина. Сегодня процессоры работают так быстро, что большинство компьютеров имеют две или более шин. Каждый автобус специализируется на определенном типе трафика.
Типичный настольный ПК сегодня имеет две основные шины:
- Вторая — более медленная шина для связи с такими вещами, как жесткие диски и звуковые карты. Одна очень распространенная шина этого типа известна как шина PCI. Эти более медленные шины подключаются к системной шине через мост, который является частью набора микросхем компьютера и действует как регулировщик, интегрируя данные с других шин в системную шину.
Технически есть и другие автобусы. Например, универсальная последовательная шина (USB) — это способ подключения к компьютеру таких устройств, как камеры, сканеры и принтеры. Он использует тонкий провод для подключения к устройствам, и многие устройства могут использовать этот провод одновременно. Firewire — это еще одна шина, которая сегодня используется в основном для видеокамер и внешних жестких дисков.
Далее узнайте об истории шин PCI.
Первоначальная шина ПК в оригинальном IBM PC (около 1982 г.) имела разрядность 16 бит и работала на частоте 4,77 МГц. Официально она стала называться шиной ISA. Эта конструкция шины способна передавать данные со скоростью до 9 МБ/с (мегабайт в секунду) или около того, что достаточно даже для многих современных приложений.
Несколько лет назад шина ISA все еще использовалась на многих компьютерах. Этот автобус принимал компьютерные карты, разработанные для оригинального IBM PC в начале 1980-х годов. Шина ISA продолжала использоваться даже после того, как ее заменили более продвинутые технологии.
Для его долговечности было несколько основных причин:
- Долгосрочная совместимость с большим количеством производителей оборудования.
- До появления мультимедиа немногие аппаратные периферийные устройства полностью использовали скорость новой шины.
По мере развития технологий и выхода шины ISA из строя были разработаны другие шины. Ключевыми среди них были расширенная стандартная архитектура (EISA) — 32 бита на частоте 8 МГц — и локальная шина Vesa (VL-Bus). Отличительной особенностью шины VL-Bus (названной в честь VESA, Ассоциации стандартов видеоэлектроники, создавшей этот стандарт) является то, что она имеет ширину 32 бита и работает со скоростью локальной шины, которая обычно равна скорости самого процессора. VL-Bus, по сути, напрямую связана с ЦП. Это работало нормально для одного устройства или, может быть, даже для двух. Но подключение более двух устройств к VL-Bus приводило к возможности помех производительности ЦП. Из-за этого шина VL-Bus обычно использовалась только для подключения графической карты — компонента, который действительно выигрывает от высокоскоростного доступа к ЦП.
В начале 1990-х годов корпорация Intel представила на рассмотрение новый стандарт шины — шину периферийных компонентов (PCI). PCI представляет собой своего рода гибрид ISA и VL-Bus. Он обеспечивает прямой доступ к системной памяти для подключенных устройств, но использует мост для подключения к внешней шине и, следовательно, к ЦП. По сути, это означает, что он обеспечивает даже более высокую производительность, чем шина VL-Bus, и при этом устраняет возможность вмешательства в ЦП.
Подробнее о разработке шины PCI и платы PCI читайте на следующей странице.
Передняя шина, задняя шина и карты PCI
Внешняя шина — это физическое соединение, которое фактически соединяет процессор с большинством других компонентов компьютера, включая основную память (ОЗУ), жесткие диски и слоты PCI. В наши дни внешняя шина обычно работает на частоте 400 МГц, а новые системы работают на частоте 800 МГц.
Задняя шина — это отдельное соединение между процессором и кэшем 2-го уровня. Эта шина работает на более высокой скорости, чем внешняя шина, обычно на той же скорости, что и процессор, поэтому все это кэширование работает максимально эффективно. Задние автобусы развивались с годами. В 1990-х задняя шина представляла собой провод, который соединял основной процессор с внешним кешем. Этот кеш на самом деле был отдельным чипом, для которого требовалась дорогая память. С тех пор кэш-память 2-го уровня была интегрирована в основной процессор, что сделало процессоры меньше и дешевле. Поскольку кэш теперь находится на самом процессоре, в некотором смысле задняя шина на самом деле больше не является шиной.
PCI может подключать больше устройств, чем VL-Bus, до пяти внешних компонентов. Каждый из пяти разъемов для внешнего компонента можно заменить двумя фиксированными устройствами на материнской плате. Кроме того, вы можете иметь более одной шины PCI на одном компьютере, хотя это делается редко. Чип моста PCI регулирует скорость шины PCI независимо от скорости процессора. Это обеспечивает более высокую степень надежности и гарантирует, что производители PCI-оборудования точно знают, для чего они предназначены.
Первоначально PCI работала на частоте 33 МГц с использованием 32-битного пути. Изменения в стандарте включают увеличение скорости с 33 МГц до 66 МГц и удвоение количества битов до 64. В настоящее время PCI-X обеспечивает 64-битную передачу со скоростью 133 МГц для невероятной скорости 1 Гбит/с (гигабайт в секунду). скорость передачи!
Карты PCI используют 47 контактов для подключения (49 контактов для мастер-карты, которая может управлять шиной PCI без вмешательства ЦП). Шина PCI может работать с таким небольшим количеством контактов из-за аппаратного мультиплексирования, что означает, что устройство отправляет более одного сигнала по одному контакту. Кроме того, PCI поддерживает устройства с напряжением питания 5 В или 3,3 В.
Несмотря на то, что Intel предложила стандарт PCI в 1991 году, он не пользовался популярностью до появления Windows 95 (в 1995 году). Этот внезапный интерес к PCI был вызван тем, что Windows 95 поддерживала функцию Plug and Play (PnP), о которой мы поговорим в следующем разделе.
Plug and Play (PnP) означает, что вы можете подключить устройство или вставить карту в свой компьютер, и она автоматически распознается и настраивается для работы в вашей системе. PnP — простая концепция, но для ее реализации потребовались согласованные усилия со стороны компьютерной индустрии. Intel создала стандарт PnP и включила его в дизайн PCI. Но только несколько лет спустя основная операционная система Windows 95 обеспечила поддержку PnP на системном уровне. Внедрение PnP ускорило спрос на компьютеры с PCI, очень быстро вытеснив ISA в качестве предпочтительной шины.
Для полной реализации PnP требуется три вещи:
PnP BIOS — основная утилита, которая включает PnP и обнаруживает устройства PnP. BIOS также считывает ESCD для получения информации о конфигурации существующих устройств PnP.
Расширенные данные конфигурации системы (ESCD) — файл, содержащий информацию об установленных устройствах PnP.
Операционная система PnP. Любая операционная система, например Windows XP, которая поддерживает PnP. Обработчики PnP в операционной системе завершают процесс настройки, запущенный BIOS для каждого устройства PnP. PnP автоматизирует несколько ключевых задач, которые обычно выполняются либо вручную, либо с помощью утилиты установки, предоставленной производителем оборудования. Эти задачи включают настройку:
- Запросы на прерывание (IRQ). IRQ, также известный как аппаратное прерывание, используется различными частями компьютера для привлечения внимания ЦП. Например, мышь отправляет IRQ каждый раз, когда ее перемещают, чтобы сообщить процессору, что она что-то делает. До PCI для каждого аппаратного компонента требовалась отдельная настройка IRQ. Но PCI управляет аппаратными прерываниями на шинном мосту, позволяя использовать одно системное IRQ для нескольких устройств PCI.
- Прямой доступ к памяти (DMA). Это просто означает, что устройство настроено на доступ к системной памяти без предварительного обращения к ЦП.
- Адреса памяти. Многим устройствам назначается раздел системной памяти для исключительного использования этим устройством. Это гарантирует, что оборудование будет иметь необходимые ресурсы для правильной работы.
- Конфигурация ввода/вывода (I/O). Этот параметр определяет порты, используемые устройством для приема и отправки информации.
Хотя PnP значительно упрощает добавление устройств к вашему компьютеру, он не является абсолютным.
Различия в процедурах программного обеспечения, используемых разработчиками PnP BIOS, производителями устройств PCI и Microsoft, привели к тому, что многие стали называть PnP "Подключи и молись". Но общий эффект PnP заключается в значительном упрощении процесса обновления компьютера для добавления новых устройств или замены существующих.
Шины PCI в течение многих лет хватало, обеспечивая достаточную пропускную способность для всех периферийных устройств, которые может захотеть подключить большинство пользователей. Все, кроме одного: видеокарты. В середине 1990-х видеокарты становились все более и более мощными, а 3D-игры требовали более высокой производительности. Шина PCI просто не могла обрабатывать всю информацию, проходящую между основным процессором и графическим процессором. В результате Intel разработала Accelerated Graphics Port (AGP). AGP — это шина, полностью предназначенная для видеокарт. Пропускная способность шины AGP не используется никакими другими компонентами. Хотя PCI по-прежнему является предпочтительной шиной для большинства периферийных устройств, AGP взяла на себя специализированную задачу обработки графики. Однако на рынке появилась новая шинная технология, которая может положить конец AGP. Подробнее об этом позже в статье, следите за обновлениями….
Добавление устройства PCI
Допустим, вы только что добавили новую звуковую карту PCI на свой компьютер с Windows XP. Вот пример того, как это будет работать.
- Вы открываете корпус компьютера и вставляете звуковую карту в пустой разъем PCI на материнской плате.
- Вы закрываете корпус компьютера и включаете компьютер.
- Системный BIOS инициирует PnP BIOS.
- PnP BIOS сканирует шину PCI на наличие оборудования. Он делает это, отправляя сигнал на любое устройство, подключенное к шине, спрашивая устройство, кто это.
- В ответ звуковая карта идентифицирует себя. Идентификатор устройства отправляется обратно по шине в BIOS.
- PnP BIOS проверяет ESCD, чтобы убедиться, что данные конфигурации для звуковой карты уже присутствуют. Поскольку звуковая карта была только что установлена, для нее нет существующей записи ESCD.
- PnP BIOS назначает IRQ, DMA, адрес памяти и настройки ввода/вывода звуковой карте и сохраняет данные в ESCD.
- Загружается Windows XP. Он проверяет ESCD и шину PCI. Операционная система определяет, что звуковая карта является новым устройством, и отображает небольшое окно с сообщением о том, что Windows обнаружила новое оборудование и определяет, что это такое.
- Во многих случаях Windows XP идентифицирует устройство, найдет и загрузит необходимые драйверы, после чего вы будете готовы к работе. Если нет, откроется «Мастер нового оборудования». Вам будет предложено установить драйверы с диска, прилагаемого к звуковой карте.
- После установки драйвера устройство должно быть готово к использованию. Некоторые устройства могут потребовать перезагрузки компьютера, прежде чем вы сможете их использовать. В нашем примере звуковая карта сразу готова к использованию.
- Вы хотите записать звук с внешнего магнитофона, подключенного к звуковой карте. Вы настраиваете программное обеспечение для записи, прилагаемое к звуковой карте, и начинаете запись.
- Звук поступает на звуковую карту через внешний аудиоразъем. Звуковая карта преобразует аналоговый сигнал в цифровой.
- Цифровые аудиоданные со звуковой карты передаются по шине PCI на контроллер шины. Контроллер определяет, какое устройство на устройстве PCI имеет приоритет для отправки данных в ЦП.Он также проверяет, поступают ли данные непосредственно в ЦП или в системную память.
- Поскольку звуковая карта находится в режиме записи, контроллер шины назначает высокий приоритет поступающим от нее данным и отправляет данные звуковой карты по шинному мосту на системную шину.
- Системная шина сохраняет данные в системной памяти. После завершения записи вы можете решить, будут ли данные со звуковой карты сохранены на жесткий диск или сохранены в памяти для дополнительной обработки.
Стандарты PCI и PCI Express
Поскольку частота процессоров неуклонно растет, приближаясь к гигагерцовому диапазону, многие компании лихорадочно работают над созданием стандарта шины нового поколения. Многие считают, что PCI, как и ISA до нее, быстро приближается к верхнему пределу своих возможностей.
Все предлагаемые новые стандарты имеют нечто общее. Они предлагают отказаться от технологии разделяемой шины, используемой в PCI, и перейти к двухточечному коммутационному соединению. Это означает, что прямое соединение между двумя устройствами (узлами) на шине устанавливается, когда они взаимодействуют друг с другом. По сути, пока эти два узла разговаривают, никакое другое устройство не может получить доступ к этому пути. Предоставляя несколько прямых каналов, такая шина может позволить нескольким устройствам обмениваться данными без шансов замедлить работу друг друга.
HyperTransport, стандарт, предложенный Advanced Micro Devices, Inc. (AMD), рекламируется AMD как естественное продолжение PCI. Для каждого сеанса между узлами он предоставляет две двухточечные ссылки. Каждая ссылка может иметь ширину от 2 до 32 бит, поддерживая максимальную скорость передачи 6,4 ГБ в секунду. HyperTransport разработан специально для соединения внутренних компонентов компьютера друг с другом, а не для подключения внешних устройств, таких как съемные диски. Разработка мостовых микросхем позволит устройствам PCI получать доступ к шине HyperTransport.
PCI-Express, разработанный Intel (ранее известный как 3GIO или ввод-вывод 3-го поколения), выглядит как "следующая большая вещь" в шинных технологиях. Сначала для высокопроизводительных серверов разрабатывались более быстрые шины. Их называли PCI-X и PCI-X 2.0, но они не подходили для рынка домашних компьютеров, поскольку создавать материнские платы с PCI-X было очень дорого.
PCI-Express — это совершенно другой зверь. Он нацелен на рынок домашних компьютеров и может произвести революцию не только в производительности компьютеров, но и в самой форме и форме домашних компьютерных систем. Эта новая шина не только быстрее и способна обрабатывать большую пропускную способность, чем PCI. PCI-Express — это система «точка-точка», которая позволяет повысить производительность и даже может удешевить производство материнских плат. В слоты PCI-Express также можно устанавливать старые карты PCI, что поможет им быстрее стать популярными, чем если бы все компоненты PCI вдруг стали бесполезными.
Его также можно масштабировать. Базовый слот PCI-Express будет 1x соединением. Это обеспечит достаточную пропускную способность для высокоскоростного подключения к Интернету и других периферийных устройств. 1x означает, что есть одна полоса для передачи данных. Если для компонента требуется большая пропускная способность, в материнские платы можно встроить слоты PCI-Express 2x, 4x, 8x и 16x, добавляя дополнительные линии и позволяя системе передавать больше данных через соединение. На самом деле слоты PCI-Express 16x уже доступны вместо слота для видеокарты AGP на некоторых материнских платах. Видеокарты PCI-Express 16x сейчас находятся на пике популярности и стоят более 500 долларов. По мере снижения цен и распространения материнских плат, предназначенных для работы с новыми картами, AGP может уйти в историю.
Для получения дополнительной информации о PCI и смежных темах перейдите по ссылкам на следующей странице.
PCI-Express может означать больше, чем более быстрые компьютеры. По мере развития технологии производители компьютеров могут разрабатывать материнские платы с разъемами PCI-Express, которые подключаются к специальным кабелям. Это может позволить создать полностью модульную компьютерную систему, очень похожую на домашнюю стереосистему. У вас будет небольшая коробка с материнской платой и процессором, а также набор разъемов PCI-Express. Внешний жесткий диск можно было подключить через USB 2.0 или PCI-Express. Также можно было прикрепить небольшие модули, содержащие звуковые карты, видеокарты и модемы. Вместо одной большой коробки ваш компьютер можно расположить как угодно, и он будет настолько большим, насколько вам нужны компоненты.
Компоненты вашего компьютера работают вместе через шину. Узнайте о шине PCI и плате PCI, например, о приведенной выше. См. другие изображения компьютерного оборудования.
Мощность и скорость компьютерных компонентов неуклонно росли с тех пор, как несколько десятилетий назад были разработаны первые настольные компьютеры. Производители программного обеспечения создают новые приложения, способные использовать последние достижения в области скорости процессора и емкости жестких дисков, в то время как производители оборудования спешат улучшить компоненты и разработать новые технологии, чтобы не отставать от требований высокопроизводительного программного обеспечения.
Однако есть один элемент, который часто ускользает от внимания — автобус.По сути, шина — это канал или путь между компонентами компьютера. Наличие высокоскоростного автобуса так же важно, как наличие хорошей коробки передач в автомобиле. Если у вас есть 700-сильный двигатель в сочетании с дешевой трансмиссией, вы не сможете использовать всю эту мощность на дороге. Существует множество различных типов автобусов.
Идея шины проста: она позволяет подключать компоненты к процессору компьютера. Некоторые из компонентов, которые вы, возможно, захотите подключить, включают жесткие диски, память, звуковые системы, видеосистемы и так далее. Например, чтобы увидеть, что делает ваш компьютер, вы обычно используете ЭЛТ или ЖК-экран. Для управления экраном требуется специальное оборудование, поэтому экран управляется графической картой. Видеокарта представляет собой небольшую печатную плату, предназначенную для подключения к шине. Видеокарта взаимодействует с процессором, используя шину компьютера в качестве канала связи.
Преимущество автобуса в том, что он делает детали более взаимозаменяемыми. Если вы хотите получить лучшую видеокарту, вы просто отключаете старую карту от шины и подключаете новую. Если вы хотите, чтобы на вашем компьютере было два монитора, вы подключаете к шине две видеокарты. И так далее.
В этой статье вы узнаете о некоторых из этих автобусов. Мы сосредоточимся на шине, известной как Interconnect Peripheral Component Interconnect (PCI). Мы поговорим о том, что такое PCI, как он работает и как используется, а также заглянем в будущее шинных технологий.
Системная шина и шина PCI
Двадцать или 30 лет назад процессоры были настолько медленными, что процессор и шина были синхронизированы — шина работала с той же скоростью, что и процессор, а в машине была одна шина. Сегодня процессоры работают так быстро, что большинство компьютеров имеют две или более шин. Каждый автобус специализируется на определенном типе трафика.
Типичный настольный ПК сегодня имеет две основные шины:
- Вторая — более медленная шина для связи с такими вещами, как жесткие диски и звуковые карты. Одна очень распространенная шина этого типа известна как шина PCI. Эти более медленные шины подключаются к системной шине через мост, который является частью набора микросхем компьютера и действует как регулировщик, интегрируя данные с других шин в системную шину.
Технически есть и другие автобусы. Например, универсальная последовательная шина (USB) — это способ подключения к компьютеру таких устройств, как камеры, сканеры и принтеры. Он использует тонкий провод для подключения к устройствам, и многие устройства могут использовать этот провод одновременно. Firewire — это еще одна шина, которая сегодня используется в основном для видеокамер и внешних жестких дисков.
Далее узнайте об истории шин PCI.
Первоначальная шина ПК в оригинальном IBM PC (около 1982 г.) имела разрядность 16 бит и работала на частоте 4,77 МГц. Официально она стала называться шиной ISA. Эта конструкция шины способна передавать данные со скоростью до 9 МБ/с (мегабайт в секунду) или около того, что достаточно даже для многих современных приложений.
Несколько лет назад шина ISA все еще использовалась на многих компьютерах. Этот автобус принимал компьютерные карты, разработанные для оригинального IBM PC в начале 1980-х годов. Шина ISA продолжала использоваться даже после того, как ее заменили более продвинутые технологии.
Для его долговечности было несколько основных причин:
- Долгосрочная совместимость с большим количеством производителей оборудования.
- До появления мультимедиа немногие аппаратные периферийные устройства полностью использовали скорость новой шины.
По мере развития технологий и выхода шины ISA из строя были разработаны другие шины. Ключевыми среди них были расширенная стандартная архитектура (EISA) — 32 бита на частоте 8 МГц — и локальная шина Vesa (VL-Bus). Отличительной особенностью шины VL-Bus (названной в честь VESA, Ассоциации стандартов видеоэлектроники, создавшей этот стандарт) является то, что она имеет ширину 32 бита и работает со скоростью локальной шины, которая обычно равна скорости самого процессора. VL-Bus, по сути, напрямую связана с ЦП. Это работало нормально для одного устройства или, может быть, даже для двух. Но подключение более двух устройств к VL-Bus приводило к возможности помех производительности ЦП. Из-за этого шина VL-Bus обычно использовалась только для подключения графической карты — компонента, который действительно выигрывает от высокоскоростного доступа к ЦП.
В начале 1990-х годов корпорация Intel представила на рассмотрение новый стандарт шины — шину периферийных компонентов (PCI). PCI представляет собой своего рода гибрид ISA и VL-Bus. Он обеспечивает прямой доступ к системной памяти для подключенных устройств, но использует мост для подключения к внешней шине и, следовательно, к ЦП. По сути, это означает, что он обеспечивает даже более высокую производительность, чем шина VL-Bus, и при этом устраняет возможность вмешательства в ЦП.
Подробнее о разработке шины PCI и платы PCI читайте на следующей странице.
Передняя шина, задняя шина и карты PCI
Внешняя шина — это физическое соединение, которое фактически соединяет процессор с большинством других компонентов компьютера, включая основную память (ОЗУ), жесткие диски и слоты PCI. В наши дни внешняя шина обычно работает на частоте 400 МГц, а новые системы работают на частоте 800 МГц.
Задняя шина — это отдельное соединение между процессором и кэшем 2-го уровня. Эта шина работает на более высокой скорости, чем внешняя шина, обычно на той же скорости, что и процессор, поэтому все это кэширование работает максимально эффективно. Задние автобусы развивались с годами. В 1990-х задняя шина представляла собой провод, который соединял основной процессор с внешним кешем. Этот кеш на самом деле был отдельным чипом, для которого требовалась дорогая память. С тех пор кэш-память 2-го уровня была интегрирована в основной процессор, что сделало процессоры меньше и дешевле. Поскольку кэш теперь находится на самом процессоре, в некотором смысле задняя шина на самом деле больше не является шиной.
PCI может подключать больше устройств, чем VL-Bus, до пяти внешних компонентов. Каждый из пяти разъемов для внешнего компонента можно заменить двумя фиксированными устройствами на материнской плате. Кроме того, вы можете иметь более одной шины PCI на одном компьютере, хотя это делается редко. Чип моста PCI регулирует скорость шины PCI независимо от скорости процессора. Это обеспечивает более высокую степень надежности и гарантирует, что производители PCI-оборудования точно знают, для чего они предназначены.
Первоначально PCI работала на частоте 33 МГц с использованием 32-битного пути. Изменения в стандарте включают увеличение скорости с 33 МГц до 66 МГц и удвоение количества битов до 64. В настоящее время PCI-X обеспечивает 64-битную передачу со скоростью 133 МГц для невероятной скорости 1 Гбит/с (гигабайт в секунду). скорость передачи!
Карты PCI используют 47 контактов для подключения (49 контактов для мастер-карты, которая может управлять шиной PCI без вмешательства ЦП). Шина PCI может работать с таким небольшим количеством контактов из-за аппаратного мультиплексирования, что означает, что устройство отправляет более одного сигнала по одному контакту. Кроме того, PCI поддерживает устройства с напряжением питания 5 В или 3,3 В.
Несмотря на то, что Intel предложила стандарт PCI в 1991 году, он не пользовался популярностью до появления Windows 95 (в 1995 году). Этот внезапный интерес к PCI был вызван тем, что Windows 95 поддерживала функцию Plug and Play (PnP), о которой мы поговорим в следующем разделе.
Plug and Play (PnP) означает, что вы можете подключить устройство или вставить карту в свой компьютер, и она автоматически распознается и настраивается для работы в вашей системе. PnP — простая концепция, но для ее реализации потребовались согласованные усилия со стороны компьютерной индустрии. Intel создала стандарт PnP и включила его в дизайн PCI. Но только несколько лет спустя основная операционная система Windows 95 обеспечила поддержку PnP на системном уровне. Внедрение PnP ускорило спрос на компьютеры с PCI, очень быстро вытеснив ISA в качестве предпочтительной шины.
Для полной реализации PnP требуется три вещи:
PnP BIOS — основная утилита, которая включает PnP и обнаруживает устройства PnP. BIOS также считывает ESCD для получения информации о конфигурации существующих устройств PnP.
Расширенные данные конфигурации системы (ESCD) — файл, содержащий информацию об установленных устройствах PnP.
Операционная система PnP. Любая операционная система, например Windows XP, которая поддерживает PnP. Обработчики PnP в операционной системе завершают процесс настройки, запущенный BIOS для каждого устройства PnP. PnP автоматизирует несколько ключевых задач, которые обычно выполняются либо вручную, либо с помощью утилиты установки, предоставленной производителем оборудования. Эти задачи включают настройку:
- Запросы на прерывание (IRQ). IRQ, также известный как аппаратное прерывание, используется различными частями компьютера для привлечения внимания ЦП. Например, мышь отправляет IRQ каждый раз, когда ее перемещают, чтобы сообщить процессору, что она что-то делает. До PCI для каждого аппаратного компонента требовалась отдельная настройка IRQ. Но PCI управляет аппаратными прерываниями на шинном мосту, позволяя использовать одно системное IRQ для нескольких устройств PCI.
- Прямой доступ к памяти (DMA). Это просто означает, что устройство настроено на доступ к системной памяти без предварительного обращения к ЦП.
- Адреса памяти. Многим устройствам назначается раздел системной памяти для исключительного использования этим устройством. Это гарантирует, что оборудование будет иметь необходимые ресурсы для правильной работы.
- Конфигурация ввода/вывода (I/O). Этот параметр определяет порты, используемые устройством для приема и отправки информации.
Хотя PnP значительно упрощает добавление устройств к вашему компьютеру, он не является абсолютным.
Различия в процедурах программного обеспечения, используемых разработчиками PnP BIOS, производителями устройств PCI и Microsoft, привели к тому, что многие называют PnP принципом «Подключи и молись»." Но общий эффект PnP заключается в значительном упрощении процесса обновления вашего компьютера для добавления новых устройств или замены существующих.
Шины PCI в течение многих лет хватало, обеспечивая достаточную пропускную способность для всех периферийных устройств, которые может захотеть подключить большинство пользователей. Все, кроме одного: видеокарты. В середине 1990-х видеокарты становились все более и более мощными, а 3D-игры требовали более высокой производительности. Шина PCI просто не могла обрабатывать всю информацию, проходящую между основным процессором и графическим процессором. В результате Intel разработала Accelerated Graphics Port (AGP). AGP — это шина, полностью предназначенная для видеокарт. Пропускная способность шины AGP не используется никакими другими компонентами. Хотя PCI по-прежнему является предпочтительной шиной для большинства периферийных устройств, AGP взяла на себя специализированную задачу обработки графики. Однако на рынке появилась новая шинная технология, которая может положить конец AGP. Подробнее об этом позже в статье, следите за обновлениями….
Добавление устройства PCI
Допустим, вы только что добавили новую звуковую карту PCI на свой компьютер с Windows XP. Вот пример того, как это будет работать.
- Вы открываете корпус компьютера и вставляете звуковую карту в пустой разъем PCI на материнской плате.
- Вы закрываете корпус компьютера и включаете компьютер.
- Системный BIOS инициирует PnP BIOS.
- PnP BIOS сканирует шину PCI на наличие оборудования. Он делает это, отправляя сигнал на любое устройство, подключенное к шине, спрашивая устройство, кто это.
- В ответ звуковая карта идентифицирует себя. Идентификатор устройства отправляется обратно по шине в BIOS.
- PnP BIOS проверяет ESCD, чтобы убедиться, что данные конфигурации для звуковой карты уже присутствуют. Поскольку звуковая карта была только что установлена, для нее нет существующей записи ESCD.
- PnP BIOS назначает IRQ, DMA, адрес памяти и настройки ввода/вывода звуковой карте и сохраняет данные в ESCD.
- Загружается Windows XP. Он проверяет ESCD и шину PCI. Операционная система определяет, что звуковая карта является новым устройством, и отображает небольшое окно с сообщением о том, что Windows обнаружила новое оборудование и определяет, что это такое.
- Во многих случаях Windows XP идентифицирует устройство, найдет и загрузит необходимые драйверы, после чего вы будете готовы к работе. Если нет, откроется «Мастер нового оборудования». Вам будет предложено установить драйверы с диска, прилагаемого к звуковой карте.
- После установки драйвера устройство должно быть готово к использованию. Некоторые устройства могут потребовать перезагрузки компьютера, прежде чем вы сможете их использовать. В нашем примере звуковая карта сразу готова к использованию.
- Вы хотите записать звук с внешнего магнитофона, подключенного к звуковой карте. Вы настраиваете программное обеспечение для записи, прилагаемое к звуковой карте, и начинаете запись.
- Звук поступает на звуковую карту через внешний аудиоразъем. Звуковая карта преобразует аналоговый сигнал в цифровой.
- Цифровые аудиоданные со звуковой карты передаются по шине PCI на контроллер шины. Контроллер определяет, какое устройство на устройстве PCI имеет приоритет для отправки данных в ЦП. Он также проверяет, поступают ли данные непосредственно в ЦП или в системную память.
- Поскольку звуковая карта находится в режиме записи, контроллер шины назначает высокий приоритет поступающим от нее данным и отправляет данные звуковой карты по шинному мосту на системную шину.
- Системная шина сохраняет данные в системной памяти. После завершения записи вы можете решить, будут ли данные со звуковой карты сохранены на жесткий диск или сохранены в памяти для дополнительной обработки.
Стандарты PCI и PCI Express
Поскольку частота процессоров неуклонно растет, приближаясь к гигагерцовому диапазону, многие компании лихорадочно работают над созданием стандарта шины нового поколения. Многие считают, что PCI, как и ISA до нее, быстро приближается к верхнему пределу своих возможностей.
Все предлагаемые новые стандарты имеют нечто общее. Они предлагают отказаться от технологии разделяемой шины, используемой в PCI, и перейти к двухточечному коммутационному соединению. Это означает, что прямое соединение между двумя устройствами (узлами) на шине устанавливается, когда они взаимодействуют друг с другом. По сути, пока эти два узла разговаривают, никакое другое устройство не может получить доступ к этому пути. Предоставляя несколько прямых каналов, такая шина может позволить нескольким устройствам обмениваться данными без шансов замедлить работу друг друга.
HyperTransport, стандарт, предложенный Advanced Micro Devices, Inc. (AMD), рекламируется AMD как естественное продолжение PCI. Для каждого сеанса между узлами он предоставляет две двухточечные ссылки. Каждая ссылка может иметь ширину от 2 до 32 бит, поддерживая максимальную скорость передачи 6,4 ГБ в секунду.HyperTransport разработан специально для соединения внутренних компонентов компьютера друг с другом, а не для подключения внешних устройств, таких как съемные диски. Разработка мостовых микросхем позволит устройствам PCI получать доступ к шине HyperTransport.
PCI-Express, разработанный Intel (ранее известный как 3GIO или ввод-вывод 3-го поколения), выглядит как "следующая большая вещь" в шинных технологиях. Сначала для высокопроизводительных серверов разрабатывались более быстрые шины. Их называли PCI-X и PCI-X 2.0, но они не подходили для рынка домашних компьютеров, поскольку создавать материнские платы с PCI-X было очень дорого.
PCI-Express — это совершенно другой зверь. Он нацелен на рынок домашних компьютеров и может произвести революцию не только в производительности компьютеров, но и в самой форме и форме домашних компьютерных систем. Эта новая шина не только быстрее и способна обрабатывать большую пропускную способность, чем PCI. PCI-Express — это система «точка-точка», которая позволяет повысить производительность и даже может удешевить производство материнских плат. В слоты PCI-Express также можно устанавливать старые карты PCI, что поможет им быстрее стать популярными, чем если бы все компоненты PCI вдруг стали бесполезными.
Его также можно масштабировать. Базовый слот PCI-Express будет 1x соединением. Это обеспечит достаточную пропускную способность для высокоскоростного подключения к Интернету и других периферийных устройств. 1x означает, что есть одна полоса для передачи данных. Если для компонента требуется большая пропускная способность, в материнские платы можно встроить слоты PCI-Express 2x, 4x, 8x и 16x, добавляя дополнительные линии и позволяя системе передавать больше данных через соединение. На самом деле слоты PCI-Express 16x уже доступны вместо слота для видеокарты AGP на некоторых материнских платах. Видеокарты PCI-Express 16x сейчас находятся на пике популярности и стоят более 500 долларов. По мере снижения цен и распространения материнских плат, предназначенных для работы с новыми картами, AGP может уйти в историю.
Для получения дополнительной информации о PCI и смежных темах перейдите по ссылкам на следующей странице.
PCI-Express может означать больше, чем более быстрые компьютеры. По мере развития технологии производители компьютеров могут разрабатывать материнские платы с разъемами PCI-Express, которые подключаются к специальным кабелям. Это может позволить создать полностью модульную компьютерную систему, очень похожую на домашнюю стереосистему. У вас будет небольшая коробка с материнской платой и процессором, а также набор разъемов PCI-Express. Внешний жесткий диск можно было подключить через USB 2.0 или PCI-Express. Также можно было прикрепить небольшие модули, содержащие звуковые карты, видеокарты и модемы. Вместо одной большой коробки ваш компьютер можно расположить как угодно, и он будет настолько большим, насколько вам нужны компоненты.
Читайте также: