В конце 1980-х годов распространение 32-разрядных центральных процессоров и операционных систем с графическим интерфейсом привело к тому, что шина ISA (8,33 МГц) перестала справляться со своими обязанностями. Для увеличения производительности компьютеров требовалось создание шины с новой архитектурой. Были разработаны две шины: VLB и PCI. Хотя шина VLB была довольно простой, она обладала несколькими недостатками. Пожалуй, самым главным из них является ее зависимость от быстродействия процессора. Другая проблема состояла в том, что стандарт VLB не был общепризнанным,и не все производители полностью следовали спецификации VESA. В середине 1992 года компания Intel и консорциум производителей компьютерной техники ввели шину PCI (Peripheral Component Interconnect — соединение периферийных компонент). Если шина VLB была предназначена специально для повышения производительности видеосистемы персонального компьютера, то 188-контактная шина PCI была ориентирована на будущие поколения процессоров и персональных компьютеров в целом, обеспечивая архитектуру шины, которая поддерживала любые периферийные устройства, например контроллеры накопителя на жестком диске, сетевые адаптеры и т.п. В этом разделе главы приводится описание контактов шины PCI и ее функционирования.
Характеристики шины PCI
Шина PCI работает на фиксированной частоте в 33 МГц и имеет архитектуру, которая способна передавать данные на скорости 133 Мбайт/с — значительно выше по сравнению с 5 Мбайт/с стандартной шины ISA. Другой отличительной особенностью шины PCI является автоматическое распределение системных ресурсов среди подключенных периферийных устройств. Автоматическая настройка (главная функция технологии РпР) берет на себя заботу об адресах портов ввода-вывода, запросах на прерывание и каналах DMA, которые используются периферийными устройствами. Спецификация шины PCI версии 2.1 предусматривает расширяемость до 64 разрядов и повышение рабочей частоты до 66 МГц, что учетверяет полосу пропускания шины по сравнению с текущей версией. На практике 64-разрядная шина PCI еще не используется в персональных компьютерах, хотя она уже существует во многих серверных платформах (но из соображений совместимости ее частота в большинстве систем ограничена 33 МГц). Современная шина РС1 имеет следующие возможности:
■ Пакетный режим передачи данных как основной режим работы (как по чтению данных, так и по записи).
■ Линейное упорядочивание пакетов.
■ Поддержка параллельной обработки данных (предотвращение взаимных блокировок, буферизация).
■ Гарантирование малых временных задержек для устройств, работающих в реальном времени.
■ Арбитраж шины осуществляется по запросам, а не временным квантам.
■ Параллельная работа нескольких устройств (плат) на частоте 33 МГц.
■ Обнаружение ошибок и предупреждение о них.
■ Поддержка нескольких арбитров шины и одноранговых соединений.
■ 32-разрядная мультиплексированная обработка данных независимо от процессора.
■ Синхронные операции на скорости 133 Мбайт/с.
■ Последовательная пакетная передача (чтение/запись) данных.
■ Контроль четности сигналов адреса, данных и управления.
■ Поддержка параллельной и конвейерной обработки данных.
■ Поддержка автоматической настройки устройств.
■ Обеспечение разрешения конфликтов (арбитраж).
■ Возможность использования 64-разрядного формата данных с обеспечением обратной совместимости с 32-разрядным форматом.
■ Использование уровней сигналов ТТЛ.
■ Может работать от питания как 5 В, так и 3,3 В.
Шина PCI поддерживает последовательную передачу пакетов — метод передачи данных, обеспечивающий постоянную загрузку шины данными. Обычно периферийные устройства осуществляют обмен данными, расположенными в памяти по последовательным адресам. При этом адрес данных выдается на шину только один раз, а затем производится последовательная передача данных с автоматическим увеличением адреса. Метод последовательной передачи пакетов является уникальной особенностью шины PCI, поскольку он выполняет как пакетное чтение, так и пакетную запись данных. Проще говоря, данные на шине передаются в каждом такте ее работы. Это удваивает пропускную способность шины PCI по сравнению с шинами без подобного режима работы.
Устройства, предназначенные для работы с шиной PCI, имеют малую задержку доступа (access latency), что сокращает время ожидания доступа к шине устройством, запросившим этот доступ. Например, плата контроллера Ethernet, подключенная к локальной сети, принимает из сети поступающие данные. Не имея возможность быстро передать эти данные системе, контроллер вынужден хранить их в локальном буфере. При этом размер локального буфера должен быть достаточен для избежания его переполнения. Устройства, подключенные к шине PCI, имеют быстрый доступ к ней, и плата Ethernet может посылать данные системе практически напрямую.
Шина PCI поддерживает захват шины (bus mastering), что позволяет осуществлять управление шиной одному из периферийных устройств для ускоренного выполнения высокоприоритетной задачи, требующей передачи большого объема данных. Архитектура шины PCI поддерживает также параллельную обработку данных — метод, позволяющий процессору работать одновременно с платами расширения, а не ждать пока они завершат работу. Например, процессор может производить вычисления с плавающей запятой в электронной таблице, в то время как плата Ethernet управляет шиной для приема данных из локальной сети. Наконец, шина PCI может использовать два напряжения питания. Обычно она работает, как и другие шины, от напряжения +5 В, но может работать и в режиме пониженного напряжения от +3,3 В.