Что такое локальная шина

advertisement
Что такое локальная шина?
Прежде, чем начать обзор шин для персональных компьютеров, необходимо сказать
несколько слов о том, что представляет собой системная шина, и для чего она нужна в
компьютере. Шина, в самом простом случае, есть множество проводников для соединения
различных компонентов микрокомпьютера в единую систему таким образом, чтобы
можно было согласовать их работу. Основной обязанностью системной шины является
передача информации между базовым микропроцессором и остальными электронными
компонентами компьютера. По этой шине осуществляется не только передача
информации, но и адресация устройств, а также обмен специальными служебными
сигналами. Таким образом, системную шину можно представить как совокупность
сигнальных линий, объединенных по их назначению:

Control lines (управление)

Address lines (адреса)

Data lines (данные)
Для того, чтобы описать примерную работу шины, возьмем шину обычного PC,
состоящую минимум из линий адреса, данных и линий управления/строба. Самое простое
решение, которое здесь можно использовать - это программируемый ввод-вывод. Линии
управления используются для синхронизации передачи данных, путем генерирования
последовательности импульсов. Возможны две схемы управления, например, раздельные
линии управления чтением и записью, либо линия стробирования STROBE и линия
чтения - записи в соответствующем состоянии (высокий уровень - для одного сигнала,
низкий - для другого).
Шины для PC имеют тенденцию, когда используются раздельные линии управления
чтением и записью (фактически 2 такие линии используются для доступа к памяти, а 2
дополнительных линии - для осуществления ввода- вывода). В этом случае центральный
процессор (ЦП) посылает данные на периферийные устройства, подключенные к шине.
ЦП устанавливает стробирующий сигнал по линии ввода - вывода. Этот импульс
показывает, что предшествующий адрес на линии адреса правильный, а периферия может
начать чтение с шины данных. Кроме перечисленных выше сигналов имеются также и
другие сигналы управления, присутствующие на реальной системной шине.
Обзор локальных шин ПК
Существует множество системных шин, в том числе и локальных, для PC и других типов
компьютеров. Перечислим основные их них:

S-100

S-100 / IEEE696

ISA

EISA

Nubus

Multibus-II

MCA

Sbus

Mbus

SCSI

VL-Bus

Futurebus+

VME

PCI

и ряд других шин.
Начнем по порядку, с шины S-100. Эта шина была создана для 8-разрядных
микропроцессоров и различных промышленных приложений. Типичные ее
характеристики были такие:

Размеры: 134 мм x 254 мм, 100 выводов

Разъем: 50 выводов на каждой стороне платы

Нерегулируемое напряжение питания: +8В, +16В.
В свое время, шина S-100 была очень популярна для широкого диапазона периферийных
плат, она входила в состав плат памяти, устройств последовательного и параллельного
интерфейсов, плат контроллеров гибких магнитных дисков, видео-плат, плат
музыкальных синтезаторов и т.д. S-100 обеспечивала 16 линий данных, 16 линий адреса
(при этом максимальное адресное пространство составляло 64Кбайт), 3 линии питания, 8
линий для прерываний и 39 управляющих линий. Эта шина использовалась для
микропроцессоров Intel 8080, Zilog Z-80 и Motorola 6500 и 6800. Некоторые фирмы
создали на базе S-100 свои стандарты подобной шины.
У компьютеров IBM PC AT и IBM PC XT системная шина была предназначена для
одновременной передачи только 8 разрядов данных, так как используемый в компьютерах
микропроцессор i8088 имел 8 линий данных. Кроме этого, системная шина включала 20
адресных линий, которые ограничивали адресное пространство пределом в 1 Мбайт. Для
работы с внешними устройствами в этой шине были предусмотрены также 4 линии
аппаратных прерываний и 4 линии для требования внешними устройствами прямого
доступа в память (DМА - Direct Memory Access). Для подключения плат расширения
использовались специальные 62-контактные разъемы. Заметим, что системная шина и
микропроцессор синхронизировались от одного тактового генератора с частотой 4,77
МГц. Таким образом, теоретически скорость передачи данных могла достигать более 4.5
Мбайт/с. В компьютерах PC AT, использующих микропроцессор i80286, впервые стала
применяться новая системная шина ISA (Industry Standard Аrchitecture), полностью
реализующая возможности упомянутого микропроцессора. Количество адресных линий
было увеличено на четыре, а данных - на восемь. Таким образом, можно было передавать
параллельно уже 16 разрядов данных, а благодаря 24 адресным линиям напрямую
обращаться к 16 Мбайтам системной памяти. Количество линий аппаратных прерываний в
этой шине было увеличено с 7 до 15, а каналов DMA - с 4 до 7. Надо отметить, что новая
системная шина ISA полностью включала в себя возможности старой 8-разрядной шины,
то есть все устройства, используемые в PC XT, могли без проблем применяться и в PC AT
286. Системные платы с шиной ISA позволили выполнять синхронизацию работы самой
шины и микропроцессора разными тактовыми частота ми, за счет чего устройства,
выполненные на платах расширения, могли работать медленнее, чем базовый
микропроцессор. Это стало особенно актуальным, когда тактовая частота процессоров
превысила 10-12 МГц. Теперь системная шина ISA работает асинхронно на частоте 8
МГц; таким образом, теоретически максимальная скорость передачи может достигать 16
Мбайт/с. Подводя итог по шине ISA для IBM PC XT, можно выделить следующие
основные ее черты:

20 адресных линий (A0 - A19)

8 линий данных (двунаправленных)

Максимальная пропускная способность 1.2 Мбайт/сек

6 линий запроса прерывания (IRQ2 - IRQ7)

3 линии DMA

Рабочая частота шины 4.77 МГц
Шина ISA для IBM PC AT имеет следующие параметры:

16 линий данных

Максимально адресуемая память - до 16 Мбайт (224)

Добавлены дополнительные 5 линий IRQ (тактируемые по фронту)

Частичная поддержка множества мастеров шины путем введения дополнительных
сигналов

Пропускная способность 5.3 Мбайт/сек

Рабочая частота шины 8 МГц
С появлением новых микропроцессоров, таких как i80386 и i486, стало очевидно, что
одним из вполне преодолимых препятствий на пути повышения производительности
компьютеров с этими микропроцессорами является системная шина типа ISA. Дело в том,
что возможности этой шины для построения высокопроизводительных систем
следующего поколения были практически исчерпаны. Новая системная шина должна была
обеспечить наибольший возможный объем адресуемой памяти, 32-разрядную передачу
данных, в том числе и в режиме DMA, улучшенную систему прерываний и арбитраж
DMA, автоматическую конфигурацию системы и плат расширения. Такой шиной для IBM
PC-совместимых компьютеров стала EISA (Extended Industry Slandard Architecture).
Заметим, что системные платы с шиной EISA первоначально были ориентированы на
вполне конкретную область применения новой архитектуры. А именно, на компьютеры,
оснащенные высокоскоростными подсистемами внешней памяти на жестких магнитных
дисках с буферной кэш-памятью. Такие компьютеры до сих пор используются в основном
в качестве мощных файл-серверов или рабочих станций. В EISA-разъем на системной
плате компьютера, помимо, разумеется, специальных EISA-плат, может вставляться либо
8-, либо 16-разрядная плата расширения, предназначенная для обыкновенной PC AT с
шиной ISA. Это обеспечивается поистине гениальным, но простым конструктивным
решением. EISA-разъемы имеют два ряда контактов, один из которых (верхний)
использует сигналы шины ISA, а второй (нижний) - соответственно EISA. Контакты в
соединителях EISA расположены так, что рядом с каждым сигнальным контактом
находится контакт "земля". Благодаря этому сводится к минимуму вероятность генерации
электромагнитных помех, а также уменьшается восприимчивость к таким помехам. Шина
EISA позволяет адресовать 4-Гбайтное адресное пространство, доступное
микропроцессорам i80386/486. Однако доступ к этому пространству могут иметь не
только центральный процессор, но и платы управляющих устройств типа bus master главного абонента (то есть устройства, способные управлять передачей данных по шине),
а также устройства, организующие режим DMA. Стандарт EISA поддерживает
многопроцессорную архитектуру для "интеллектуальных" устройств (плат), оснащенных
собственными микропроцессорами. Поэтому данные, например, от контроллеров жестких
дисков, графических контроллеров и контроллеров сети могут обрабатываться
независимо, не загружая при этом основной процессор. Теоретически максимальная
скорость передачи по шине в так называемом пакетном режиме (burst mode) может
достигать 33 Мбайт/с, В обычном (стандартном) режиме скорость передачи по шине EISA
не превосходит, разумеется, известных значений для ISA. Итак, шина EISA имеет
следующие параметры:

32 - разрядный режим передачи

Максимальная пропускная способность - до 33 Мбайт/сек

32 - разрядная адресация памяти, что обеспечивает до 4 Гбайт адресуемого
пространства памяти

Множество мастеров шин

Программируемые прерывания по уровню или по фронту синхросигнала

Автоматическая конфигурация плат
Шина Nubus. Шина ISA, тяжелое наследие прошлого IBM-совместимык компьютеров,
имеет своего двойника в мире Apple. Это - шина Nubus, древнейшая из ныне живущих
шин. Она обладает примерно теми же характеристиками, что и ISA.
В мире существует - более двух с половиной миллионов систем с шиной Multibus-II. Так
что эта "экзотика" определяет лицо целых отраслей компьютерной индустрии и, между
прочим, кормит около двух сотен фирм-разработчиков. Шина Multibus-II была
разработана в 1985 г. как развитие широко применяемого в промышленной автоматике
стандарта Multibus. Multibus-II является 32-разрядной и может работать со скоростью
управляющего процессора - вплоть до достижения пропускной способности 80 Мбайт/с.
Шина Multibus в почете у военных - они любят все надежное, серьезное, единообразное.
Даже сегодня, в дни тотальной миниатюризации, контроллеры Multibus в промышленном
исполнении имеют размер 9х9 дюймов - наверное, для солидности. В отличие от других
рассматриваемых здесь шин, Multibus обладает возможностью передачи сообщений (т.н.
"message passing") между различными управляющими устройствами. Механизм "message
passing", доведенный до абсолюта в транспьютерах фирмы Inmos и процессорах семейства
TMS 320С40 фирмы Texas Instruments, дозволяет организовывать "интеллектуальное"
взаимодействие между процессорами и контроллерами. Это особенно важно при создании
многопроцессорных систем и построении сложных комплексов промышленной
электроники. Не случайно стандарт Multibus-II по сей день "царит" среди индустриальных
систем. Механизм "message passing", доведенный до абсолюта в транспьютерах фирмы
Inmos и процессорах семейства TMS 320С40 фирмы Texas Instruments, позволяет
организовывать "интеллектуальное" взаимодействие между процессорами и
контроллерами.
А теперь о шине MC. Фирма IBM, движимая не столько недовольством шиной ISA,
сколько горечью потери лидерства на рынке PC ее имени, в 1987г. предприняла попытку
изменить положение и выпустила систему PS/2. В компьютерах PS/2 все было по-новому,
в частности принципиально новой была системная шина MicroChannel (или МСА).
Достаточно быстрая (до 20 МГц, до 76 Мбайт/с) и широкая (32 бита), шина MicroChannel
содержала рад удачных архитектурных решений и вполне могла бы бороться за лидерство
среди системных шин. Шина MicroChannel обладает следующими особенностями:

8/16/32 - разрядные линии передачи данных

Прерывания по уровню сигнала (в отличие от ISA, где прерывания - по фронту
синхросигнала)

24 или 32 адресных линии (адресация до 4 Гбайт памяти)

Автоматическая конфигурация плат (на основе информации в ROM этих плат)

Асинхронный протокол передачи данных
К сожалению, исходная посылка IBM - создать что-то новое и несовместимое с другими
для последующего завоевания рынка, погубила MicroChannel. Шина EISA, сохранившая
100-процентную преемственность с ISA, легко вытеснила MicroChannel с массового рынка
и лишила всяких надежд на будущее. А что IBM? А IBМ не унывает и параллельно с
производством рабочих станций с архитектурой РСI трудится над разработкой 64разрядного стандарта MicroChannel.
Шина Sbus. Вплоть до последних лет два сектора рынка - массовые ПК и мощные рабочие
станции - существовали изолированно друг от друга. Производители рабочих станций, не
помышляя об унификации, изобретали свои велосипеды как в области процессоров и
архитектур. так и в разработках системных шин. В итоге каждое из лидирующих семейств
рабочих станций - будь то Silicon Graphics, HP или Intergraph, имеет собственную
системную шину. Более других повезло в этом смысле фирме Sun. Ee шина Sbus,
разработанная в 1989 г. исключительно для внутреннего употребления, пришлась "ко
двору" - и почти 150 фирм стали использовать ее в своих изделиях. Работая с частотой до
25 МГц, 32-разрядная Sbus к настоящему моменту утратила большинство конкурентных
преимуществ, однако по-прежнему неплохо смотрится в рабочих станциях и серверах.
Среди других шин Sbus слывет интеллектуалкой - она умеет автоматически транслировать
виртуальные адреса в физические, распознавать ошибки при передаче данных и
инициировать повторы. Фирма Sun собирается продолжать использование Sbus - в том
числе и - в будущих портативных компьютерах, подобных Voyager.
Шина Mbus. Если Sbus появилась на свет в фирме Sun, а затем начала распространение по
миру, то шина Mbus проделала обратный путь. Созданная в 1990 г. усилиями ряда фирмпроизводителей станции SPARC, шина Mbus приглянулась фирме Sun и стала
использоваться в ее разработках. Mbus - 64-разрядная высокоскоростная шина. Mbus
допускает совместное использование с другими шинами, имеет портативные варианты
исполнения (есть адаптеры Mbus размером 2х3 дюйма) и предусматривает возможности
передачи сообщений. Вероятно, в ближайшие годы Mbus будет лидером среди системных
шин 64-разрядных станций.
Системный интерфейс малых ЭВМ SCSI (Small Computer System Interface)
регламентирован стандартом IEC 9316, который унифицирует основные уровни для
базовых типов периферийных устройств, главным образом накопителей магнитных
дисков, АЦПУ, а также возможности расширения функций посредством специальных
кодов и полей. В интерфейсе используется логическая адресация всех блоков данных и
возможность считывания с устройств прямого доступа информации о числе имеющихся
блоков. Максимальная скорость передачи данных составляет до 4 Мбайт/сек, длина
кабеля до 6 м при использовании обычных приемопередатчиков и до 25 м
дифференциальных приемопередатчиков. Архитектура интерфейса предусматривает
несколько видов организации взаимодействия эадатчиков (инициаторов) и исполнителей
(приемников) с использованием необязательного распределенного арбитража. Время
арбитража не превышает 10 мкс. Дополнительные возможности такие: два варианта
физической реализации, использование четности, синхронная передача данных и др.
Команды разделены на обязательные (М), расширенные (E), необязательные (0) и
уникальные (U). Устройства выполняют все обязательные команды для данного типа
устройств команды, а также ряд других команд. Кроме того. в стандарте определены
расширенные команды дли устройств прямого доступа, постоянные команды для всех
типов устройств, уникальные команды для жестких дисков, ленточных накопителей,
принтеров, оптических дисков, процессоров, байты состояния всех типов устройств.
Максимальное число подключенных устройств - 8. Каждое устройство идентифицируется
соответствующим разрядом, размещаемым на линии данных. SCSI-2 является одной из
"старых" периферийных шин, используемых, с доработками, и поныне. Спецификация
SCSI разрабатывалась американским институтом национальных стандартов ANSI. Чуть
позже она расширилась до SCSI-2 и SCSI-3. Типичная SCSI обладает следующими
характеристиками:

8 - разрядная параллельная шина ввода-вывода

Каждый адаптер может поддерживать до 7 устройств

Поддерживаются различные устройства (CD-ROM, ленточные накопители,
сканеры, магнитооптические устройства и т. д.)

Пропускная способность 4 Мбайт/сек

Поддержка синхронной и асинхронной схем передачи данных
SCSI-2 расширяет возможности основного стандарта. Она имеет максимальную
пропускную способность до 10 Мбайт/сек при 8 - разрядной шине и до 40 Мбайт/сек - при
32-разрядной шине. Существует несколько спецификаций приложений для SCSI:

Narrow SCSI 8-разрядная версия SCSI

Wide SCSI 16- и 32-разрядные версии SCSI-2

Fast SCSI SCSI-2, которая поддерживает скорость передачи до 10 Мбайт/сек
Разработчики компьютеров, системные платы которых основывались на
микропроцессорах i80386/486, стали использовать раздельные шины для памяти и
устройств ввода-вывода. Это позволило максимально задействовать возможности
оперативной памяти, так как именно в этом случае память может работать с наивысшей
для нее скоростью. Тем не менее при таком подходе вся система не может обеспечить
достаточной производительности, так как устройства, подключенные через разъемы
расширения, не могут достичь скорости обмена, сравнимой с процессором. В основном
это касается работы с контроллерами накопителей и видеоадаптерами. Для решения
данной проблемы стали использовать так называемые локальные (local или mezzanine)
шины, которые непосредственно связывают процессор с контроллерами периферийных
устройств. В последнее время появились две стандартные локальные шины: VL-bus (или
VLB), предложенная ассоциацией VESA (Video Electronics Standards Association), и PCI
(Peripheral Component Interconnect), разработанная фирмой Intel. Обе эти шины,
предназначенные, вообще говоря, для одного и того же - для увеличения быстродействия
компьютера, позволяют таким периферийным устройствам, как видеоадаптеры и
контроллеры накопителей, работать с тактовой частотой до 33 МГц. Обе эти шины
используют разъемы типа МСА. На этом, впрочем, их сходство и заканчивается,
поскольку требуемая цель достигается различными средствами. Шина VL-Bus является
расширением шины процессора 486. Выводы процессора подключаются непосредственно
к контактам разъема шины. В некоторых платах адаптеров VL-Bus имеются буферы для
хранения данных на время ожидания готовности периферийного устройства. Таким
образом, схемная реализация VL-bus оказывается более, дешевой и простой, чем,
например, PCI. Спецификация VESA, в частности, предусматривает, что к шине, которая
является локальной 32-разрядной шиной системного микропроцессора, может
подключаться до трех периферийных устройств. В качестве таких устройств в настоящее
время выступают контроллеры накопителей, видеоадаптеры и сетевые платы.
Конструктивно VL-bus выглядит как короткий соединитель типа МСА (112 контактов),
установленный, например, рядом с разъемами расширения ISA или EISA. При этом 32
линии используются для передачи данных и 30 - для передачи адреса. Максимальная
скорость передачи по шине VL-bus теоретически может составлять около 130 Мбайт/с.
Заметим, что в настоящее время шина VL-bus представляет из себя сравнительно
недорогое дополнение для компьютеров с шиной ISA, причем с обеспечением обратной
совместимости. Появилась версия 2.0 шинной архитектуры VL-Bus, в которую введены
такие новшества, как мультиплексированный 64-разрядный канал данных, буферизация
сигналов для работы с быстродействующими системными платами и более высокая
максимальная тактовая частота - 50 МГц. Количество разъемов расширения увеличится до
трех разъемов на 40 МГц и до двух на 50 МГц. Ожидаемая скорость передачи
теоретически должна возрасти до 400 Мбайт/с.
Стандарт IEEE 896.1-1988, названный Futurebus+, претендует на роль шины завтрашнего
дня для систем массового применения. Стандарт Futurebus+ был разработан ассоциацией
VITA (VFEA International Trade Association) в 1988 г. специально для высокоскоростных
систем передачи информации. Требования к Futurebus+ были составлены таким образом,
чтобы преодолеть все ограничения, присущие VME в телекоммуникационных системах.
Ширина Futurebus+ - до 256 бит, максимальная скорость - 3,2 Гбайт/с, рабочая частота
ограничивается лишь возможностями управляющего процессора. Многие считают: чем
больше битов в шине, тем она удобнее. Вовсе нет. Контроллер широкой шины никогда не
будет таким маленьким и удобным, как ISA или IDE. Поэтому для сложных
высокоскоростных шин, помимо упомянутых выше "мостов", применяются так
называемые mezzanine-bus - более простые и "узкие" шины, сопрягаемые с основной без
использования дополнительной управляющей электроники. Для Futurebus+ такими
mezzanine-bus являются Sbus и PCI. К стандарту Futurebus+ присматриваются сегодня
многие создатели рабочих станций. В эпоху "информационных супермагистралей"
разница между коммутационной станцией глобальной сети и файл-сервером крупной
корпорации не столь велика, как может показаться. Не исключено, что вскоре появятся
настольные системы, использующие Futurebus+ в качестве системной шины. ВМФ США
уже объявил Futurebus+ основным стандартом для своих будущих разработок.
В калейдоскопе новых слов и понятий как-то поблекли и исчезли с горизонта многие
популярные прежде термины. Среди них - стандарт VME (Versa Module Eurocard).
Разработанный в 1981 г. консорциумом авторитетнейших электронных фирм - Motorola,
Philips, Thompson, Signetics и др., стандарт VME во многом опередил свое время,
полноценная 32-разрядная шина с высокой пропускной способностью (до 40 Мбайт/с) и
рекордными возможностями расширения (до 21 слота без дополнительных расширителей)
пришлась по душе как создателям рабочих станций, так и заказчикам специализированной
электроники - военным. ученым, медикам. Итог - 4500 типов электронных изделий,
базирующихся на VME, 280 фирм-разработчиков, десятки тысяч находящихся- в
эксплуатации рабочих станций. Благодаря стандарту VME появились и такие
конструктивные находки как 64-штырьковый разъем, европлата размера 3U, и, конечно,
VME - плата 6U (размером 6,3х9.2 дюйма). Как стандарт системной шины, VME имеет
некоторые преимущества даже перед РСI:

VME содержит 7 линий прерываний, РСI - всего 4;

VME поддерживает 21 устройство на шине, РСI - до 10;

64-разрядный VME существует с 1989 г.
Можно с уверенностью назвать ряд приложений, в которых VME-системы будут
доминировать еще не один год:

промышленная электроника;

аппаратура военного применения;

медицинские и научные приборы;

тестовое и контрольное оборудование;

автоматизированные системы управления;

"встроенные" системы;

телекоммуникационное оборудование.
Локальная шина PCI
Спецификация шины РСI обладает несколькими преимуществами перед основной версией
VL-Bus. В соответствии со спецификацией РСI к шине могут подключаться до 10
устройств. Это, однако, не означает использования такого же числа разъемов расширения
- ограничение относится к общему числу компонентов, в том числе расположенных и на
системной плате. Поскольку каждая плата расширения РСI может разделяться между
двумя периферийными устройствами, то уменьшается общее число устанавливаемых
разъемов. Шина РСI может использовать 124-контактный разъем (32-разрядная) или 188контактный разъем (64-разрядная передача данных), при этом теоретически возможная
скорость обмена составляет соответственно 132 и 264 Мбайт/с. На системных платах
устанавливаются обычно не более трех разъемов.
Предполагается, что стандарт PCI лучше соответствует растущим потребностям в
скоростной обработке данных на настольных машинах, поскольку превосходит стандарт
VL-Bus по сложности, гибкости и функциональной насыщенности. А если учесть, что его
убежденными сторонниками являются такие гиганты, как IBM, Compaq, NEC и Dell, то он
становится серьезным противником даже для "хорошо окопавшейся" шины VL-Bus.
Windows принесла в мир ПК полноцветную графику. Процессор 486 выполняет
пересылки данных по 32-разрядной шине, тактируемой частотой 33 МГц. Как только
выдаваемый им мощный поток графических данных попадает на шину ISA, он упирается
в "узкое горло". Эта шина создана 10 лет назад и работает на частоте всего лишь 8 МГц, а
ее разрядность равна 16. По мере того как в прикладных программах начинают все шире
использоваться многоцветная графика, "живое" видео и рендеринг трехмерных
изображений, шина ISA отстает все больше и больше. Чтобы решить эту проблему,
разработчикам систем и периферийных устройств пришлось предусмотреть другой способ
связи с узлами машины, требующими наиболее интенсивного обмена данными.
Подключив графический адаптер и некоторые периферийные устройства непосредственно
к процессору, они открыли широкий и быстрый канал обмена между теми узлами,
которым скорость важнее всего. Для этого были разработаны различные стандарты
локальной шины, в том числе и VL-Bus. Стандартная локальная шина обеспечивает
единообразный способ подключения устройств к быстродействующей шине процессора и
тем самым позволяет устранить "узкие места" во всех новых ПК. Шина РСI поддерживает
32-разрядный канал передачи данных между процессором и периферийными
устройствами, работает на высокой тактовой частоте (33 МГц) и имеет максимальную
пропускную способность 120 Мбайт/с. Кроме того, шина PCI в некоторой степени
обеспечивает обратную совместимость с существующими периферийными устройствами,
рассчитанными на шину ISA. В стандарте PCI предусмотрены контроллер и акселератор,
образующие локальную шину, не связанную с шиной процeccopа. Иcпользуeтся несколько
способов повышения пропускной способности. Один из ниx - блочная лередача
последовательных данных. Если данные не являются последовательными, требуется
дополнительное время на установку адреса каждого их элемента. Шина РСI создает между
ЦП и периферийными устройствами некоторый промежуточный уровень. В результате
получается процессорно-независимая шина, как ее называет Intel. Ее легко подключить к
самым различным ЦП, в их числе Pentium корпорации Intel, Alpha корпорации DEC, MIPS
R4400 и PowerPC фирм Motorola, Apple и IBM. Для производителей систем это означает
снижение затрат на разработку, так как с процессорами разного типа можно использовать
одни и те же элементы и устройства. Стандарт РС1 предусматривает обширный список
дополнительных функций. К ним относится автоматическая конфигурация периферийных
устройств, позволяющая пользователю устанавливать новые устройства без особых
проблем.
РСI - это шина для производителей компьютеров: сложное, элегантное, универсальное
техническое решение, позволяющее разработчикам быстро и качественно создавать
различные системы. Кроме того, это шина для тех, кто на мощных серверах использует
большие дисковые массивы, строит многозадачные комплексы на основе NT или OS/2 или
собирает высокопроизводительные рабочие станции для "перемалывания" больших
объемов графики, видео и данных других типов. На смену ISA пришли РСI и EISA, а
работа с устройствами, управляемыми ISA (например, последовательными портами и
стримерами) выполняется посредством специальных шинных преобразователей "мостов"; (bridges). Так, фирма Intel производит мост PCI/ISA - это микросхема i82387.
Шина РСI процессорно-независима и используется сегодня с самыми разными
процессорами - i486 и Pentium, PowerPC и DEC, Alpha и др. Она поддерживает целый
спектр периферийных устройств и обладает средствами управления передачей данных
(что освобождает процессор от рутинной возни с трафиком). Нет нужды говорить, что все
обмены по шине буферизованы. PCI легко совместима с большинством известных шин.
Разработаны и реализованы в виде стандартных микросхем многочисленные "мосты";
PCI/ISA, PCI/EISA, РРС/РСI и другие. Многие производители ПК практикуют также
слоты двойного назначения - например, PCI/ISA, позволяющие на одно и то же место
устанавливать устройства ввода-вывода в различных стандартах. По части организации
групповых операций обмена РСI пошла дальше VLB - в ней групповой режим реализован
как для чтения, так и для записи. Максимальная пропускная способность составляет 132
Мбайта/сек. Таким образом, в ближайшее будущее шина PCI имеет неплохие
перспективы.
Общие характеристики всех перечисленных локальных шин наглядно представлены в
виде следующей таблицы:
Параме
тры
PCI
Futu
SCS Nub MC
rebu
I
us
A
s
MII
Sbu
s
Mb
us
VM
E
до
33
до
33
CP
U
5-10 10
1020
CP
U
2025
4050
CP
U
80
50
80
10
20
64
80
200
40
EIS
A
VLBus
Рабочая
частота 8
(МГц)
8-33
Пропус
кная
8
ISA
2
20
способн
ость
(МБайт/
сек)
3.2
ГБа
йт/с
ек
Burst
Mode
(МБайт/
сек)
4
33
132
Разрядн
ость
(битов)
16
32
32(6 32(6 324)
4)
256
Макс.
кол-во
подклю
6
ч.
Устройс
тв
15(1
4
0)
132
10
14
10
(20- 40
fast)
76
32
32
7-15 -
-
320
320
(64bit)
16;3
32
2
64
64
32;6
4
15
-
6
21
80
21
Шина PCI (Peripheral Component
Interconnect bus)
Итак, переходим к самому интересному. Что же находится на сегодняшний день внутри
большинства наших компьютеров? Естественно, шина PCI. Другой вопрос, почему
именно эта шина. Попробуем разобраться.
Итак, разработка шины PCI началась весной 1991 года как внутренний проект корпорации
Intel (Release 0.1). Специалисты компании поставили перед собой цель разработать
недорогое решение, которое бы позволило полностью реализовать возможности нового
поколения процессоров 486/Pentium/P6 (вот уже половина ответа). Особенно
подчеркивалось, что разработка проводилась "с нуля", а не была попыткой установки
новых "заплат" на существующие решения. В результате шина PCI появилась в июне 1992
года (R1.0). Разработчики Intel отказались от использования шины процессора и ввели еще
одну "антресольную" (mezzanine) шину.
Благодаря такому решению шина получилась, во-первых, процессоро-независимой (в
отличие от VLbus), а во-вторых, могла работать параллельно с шиной процессора, не
обращаясь к ней за запросами. Например, процессор работает себе с кэшем или системной
памятью, а в это время по сети на винчестер пишется информация. Просто здорово! На
самом деле идиллии, конечно, не получается, но загрузка шины процессора снижается
здорово. Кроме того, стандарт шины был объявлен открытым и передан PCI Special
Interest Group, которая продолжила работу по совершенствованию шины (в настоящее
время доступен R2.1), и в этом, пожалуй, вторая половина ответа на вопрос "почему PCI?"
Основные возможности шины следующие.

Синхронный 32-х или 64-х разрядный обмен данными (правда, насколько мне
известно, 64-разрядная шина в настоящее время используется только в Alphaсистемах и серверах на базе процессоров Intel Xeon, но, в принципе, за ней
будущее). При этом для уменьшения числа контактов (и стоимости) используется
мультиплексирование, то есть адрес и данные передаются по одним и тем же
линиям.

Поддержка 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 кэша.

Автоматическое конфигурирование карт расширения при включении питания.

Спецификация шины позволяет комбинировать до восьми функций на одной карте
(например, видео + звук и т.д.).

Шина позволяет устанавливать до 4 слотов расширения, однако возможно
использование моста PCI-PCI для увеличения количества карт расширения.

PCI-устройства оборудованы таймером, который используется для определения
максимального промежутка времени, в течении которого устройство может
занимать шину.
Шины расширения
Как и следует из названия, шины расширения (Expansion Bus) предназначены для
подключения различных адаптеров периферийных устройств, расширяющих возможности
компьютера. Интерфейсы шин расширения PC начали свою историю с 8-битной шины
ISA. Ее открытость обеспечила появление широкого спектра плат расширений,
позволяющих использовать PC в различных сферах, вплоть до применения в качестве
управляющего компьютера в различных системах автоматизации. С появлением AT-286
шина была расширена, что позволило подключать большее количество адаптеров и
повысить производительность обмена. Шина EISA явилась откликом на потребность в
высокопроизводительном обмене для серверов. Эта довольно дорогая шина
распространена не так широко, но она уже содержит прогрессивные идеи автоматизации
конфигурирования (прообраз системы PnP). В шину EISA можно устанавливать и ISAадаптеры. Шина MCA, выдвинутая фирмой IBM как прогрессивная альтернатива ISA, не
была поддержана производителями клонов PC (ее спецификация не была открытой). В
результате она так практически и отмерла вместе с семейством компьютеров IBM PS/2. С
появлением процессора 486 появилась потребность в резком повышении
производительности системной шины и родилась локальная шина VLB. Однако она
являлась лишь дополнением к слоту шины ISA/EISA и использовалась в основном лишь
для графических карт и дисковых контроллеров. Принципиальная привязка к шине
процессора 486 не обеспечила ей долгого существования - пришла пора Pentium. С
процессорами 486 появилась и другая скоростная шина - PCI. Ее иногда называли
локальной, но это неверно. Она является новым "этажом" в архитектуре PC, к которому
подключаются шины типа ISA/EISA. Воспринимаемая поначалу как некоторая экзотика,
шина PCI укрепила свои позиции и сейчас является стандартной для компьютеров с
процессорами 4, 5 и 6 поколений. Более того, она используется и в компьютерах "не-PC" Power PC и некоторых других мощных платформах. Развитием шины PCI, нацеленным на
дальнейшее повышение производительности обмена, явился порт AGP, специально
предназначенный для подключения мощных графических адаптеров.
Для "маленьких" компьютеров, поначалу имевших довольно-таки закрытую
(нерасширяемую) архитектуру, потребность в подключении разнообразной периферии
привела к появлению стандартизованной шины PCMCIA, впоследствии переименованной
в PC Card.
Шины расширения системного уровня дают возможность устанавливаемым на них
модулям расширения максимально использовать системные ресурсы PC: пространства
памяти и ввода-вывода, прерывания, каналы прямого доступа к памяти. За получение этих
возможностей разработчикам и изготовителям модулей расширения приходится
расплачиваться необходимостью обеспечения точного соответствия протоколам шины,
включая и довольно жесткие частотные и нагрузочные параметры, а также временные
диаграммы. Отклонения от этих требований могут приводить к проблемам совместимости
(точнее, ее отсутствия) с разными системными платами. Если при подключении к
внешним интерфейсам эти проблемы приведут к неработоспособности только этого
устройства, то некорректное подключение к системной шине может блокировать работу
всего компьютера. Кроме того, оказалось, что системных ресурсов PC не так уж и много,
и самые дефицитные - это линии запросов прерываний. С остальными ресурсами тоже
бывает напряженность, но ее разрядить легче: области памяти используются не так уж и
широко, адресов портов ввода-вывода, в общем, хватает, а каналы прямого доступа можно
заменить на активное управление шиной PCI. Проблемы распределения ресурсов на
шинах решаются по-разному, но в последнее время большого успеха достигла технология
PnP.
Рассмотрим стандартные шины расширения PC-совместимых компьютеров. Понимание
принципов их работы может помочь в разрешении затруднений при подключении
модулей расширения, а разработчикам аппаратуры сориентироваться и выбрать
подходящий вариант подключения, не паля из пушки по воробьям и не устраивая "узкого
горла" для взаимодействия со своими устройствами.
Шины расширения конструктивно оформляются в виде щелевых разъемов (слотов) для
установки плат адаптеров. Количество и тип слотов определяет возможности
функционального расширения системы.
Шины ISA и EISA
ISA Bus (Industry Standard Architecture) - шина расширения, применявшаяся с
первых моделей PC и ставшая промышленным стандартом. В компьютере XT
применялась шина с разрядностью данных 8 бит и адреса - 20 бит. В компьютерах
AT шину расширили до 16 бит данных и 24 бит адреса. В таком виде она
существует и поныне как самая распространенная шина для периферийных
адаптеров. Конструктивно шина выполнена в виде двух щелевых разъемов
(слотов). Подмножество ISA-8 использует только 62-контактный слот (ряды A, B),
в ISA-16 применяется дополнительный 36-контактный слот (ряды C, D).
Шина обеспечивает своим абонентам возможность отображения 8- или 16-битных
регистров на пространство ввода-вывода и памяти. Диапазон доступных адресов
памяти ограничен областью UMA, но для шины ISA-16 специальными опциями
BIOS Setup может быть разрешено и пространство в области между15-м и 16-м
мегабайтом памяти (правда при этом компьютер не сможет использовать более 15
Мбайт ОЗУ). Диапазон адресов ввода-вывода сверху ограничен количеством
используемых для дешифрации бит адреса, нижняя граница ограничена областью
адресов 0-FFh, зарезервированных под устройства систнемной платы. В PC была
принята 10-битная адресация ввода-вывода, при которой линии адреса A[15:10]
устройствами игнорировались. Таким образом, диапазон адресов устройств шины
ISA ограничивается областью 100h-3FFh, то есть всего 758 адресов 8-битных
регистров. На некоторые области этих адресов претендуют и системные
устройства. Впоследствии стали применять и 12-битную адресацию (диапазон
100h-FFFh), но при ее использовании всегда необходимо учитывать возможность
присутствия на шине и старых 10-битных адаптеров, которые "отзовутся" на адрес
с подходящими ему битами A[9:0] во всей допустимой области четыре раза.
В распоряжении абонентов шины ISA-8 может быть до 6 линий запросов
прерываний IRQx, для ISA-16 их число достигает 11. Заметим, что при
конфигурировании BIOS Setup часть из этих запросов могут отобрать устройства
системной платы или шина PCI.
Абоненты шины могут использовать до трех 8-битных каналов DMA, а на 16битной шине могут быть доступными еще три 16-битных канала. Сигналы 16битных каналов могут использоваться и для получения прямого управления шиной
устройством Bus-Master. При этом канал DMA используется для обеспечения
арбитража управления шиной, а адаптер Bus-Master формирует все адресные и
управляющие сигналы шины, не забывая "отдать" управление шиной процессору
не более, чем через 15 микросекунд (чтобы не нарушить регенерацию памяти).
Все перечисленные ресурсы системной шины должны быть бесконфликтно
распределены между абонентами. Бесконфликтность подразумевает следующее:

Каждый абонент должен при операциях чтения управлять шиной данных
(выдавать информацию) только по своим адресам или по обращению к
используемому им каналу DMA. Области адресов для чтения не должны
пересекаться. "Подсматривать" не ему адресованные операции записи не
возбраняется.

Назначенную линию запроса прерывания IRQx или прямого доступа DRQx
абонент должен держать на низком уровне в пассивном состоянии и
переводить в высокий уровень для активации запроса. Неиспользуемыми
линиями запросов абонент управлять не имеет права, они должны быть
электрически откоммутированы или подключаться к буферу, находящемуся
в третьем состоянии. Одной линией запроса может пользоваться только
одно устройство. Такая нелепость (с точки зрения схемотехники ТТЛ) была
допущена в первых PC и в дань (жертву) совместимости старательно
тиражируется уже много лет.
Задача распределения ресурсов в старых адаптерах решалась с помощью
джамперов, затем появились программно-конфигурируемые устройства, которые
вытесняются автоматически конфигурируемыми платами PnP.
С появлением 32-битных процессоров делались попытки расширения разрядности
шины, но все 32-битные шины ISA не являются стандартизованными, кроме шины
EISA.
EISA Bus (Extended ISA) - жестко стандартизованное расширение ISA до 32 бит.
Конструктивное исполнение обеспечивает совместимость с ней и обычных ISAадаптеров (см. рис. 1). Узкие дополнительные контакты расширения (ряды E, F, G,
H) расположены между ламелями разъема ISA и ниже ламелей A, B, C, D таким
образом, что адаптер ISA, не имеющий дополнительных ключевых прорезей в
краевом разъеме, не достает до них. Установка карт EISA в слоты ISA
недопустима, поскольку ее специфические цепи попадут на контакты цепей ISA, в
результате чего системная плата окажется неработоспособной (к счастью, "без
дыма").
Рис.1. Разъем шины EISA
Расширение шины касается не только увеличения разрядности данных и адреса: для
режимов EISA используются дополнительные управляющие сигналы, обеспечивающие
возможность применения более эффективных режимов передачи. В обычном (не
пакетном) режиме передачи за каждую пару тактов может быть передано до 32 бит
данных (один такт на фазу адреса, один - на фазу данных). Максимальную
производительность шины реализует пакетный режим (Burst Mode) - скоростной режим
пересылки пакетов данных без указания текущего адреса внутри пакета. Внутри пакета
очередные данные могут передаваться в каждом такте шины, длина пакета может
достигать 1024 байт. Шина предусматривает и более производительные режимы DMA,
при которых скорость обмена может достигать 33 Мб/с. Линии запросов прерываний
допускают разделяемое использование, причем сохраняется и совместимость с ISAкартами: каждая линия запроса может программироваться на чувствительность как по
перепаду (Edge), как в ISA, так и по низкому уровню (Level). Шина допускает
потребление каждой картой расширения мощности до 45 Вт, но это не означает, что
мощность блока питания для системной платы на 8 слотов должна быть более 360 Вт полную мощность, пожалуй, не потребляет ни один из адаптеров.
Многие решения EISA имеют корни в MCA-шине PS/2. Каждый слот (максимум - 8) и
системная плата могут иметь селективное разрешение адресации ввода-вывода и
отдельные линии запроса и подтверждения управления шиной. Арбитраж запросов
выполняет устройство ISP (Integrated System Peripheral). Обязательной принадлежностью
системной платы с шиной EISA является энергонезависимая память конфигурации
NVRAM, в которой хранится информация об устройствах EISA для каждого слота.
Формат записей стандартизован, для модификации конфигурационной информации
применяется специальная утилита ECU (EISA Configuration Utility). Архитектура
позволяет при использовании программно-конфигурируемых адаптеров автоматически
разрешать конфликты использования системных ресурсов программным путем, но в
отличие от спецификации PnP, EISA не допускает динамического реконфигурирования.
Все изменения конфигурации возможны только в режиме конфигурирования, после
выхода из которого необходима перезагрузка компьютера. Изолированный доступ к
портам ввода-вывода каждой карты во время конфигурирования обеспечивается просто:
сигнал AEN, разрешающий декодирования адреса в цикле ввода-вывода, на каждый слот
приходит по отдельной линии AENx, в это время программно-управляемой. Таким
образом можно по отдельности обращаться и к обычным картам ISA, но из этого особой
пользы не извлечь, поскольку карты ISA не поддерживают обмена конфигурационной
информацией, предусмотренного шиной EISA. На некоторых идеях конфигурирования
EISA выросла спецификация PnP для шины ISA (формат конфигурационных записей
ESCD во многом напоминает NVRAM EISA).
EISA - дорогая, но оправдывающая себя архитектура, применяющаяся в многозадачных
системах, на файл-серверах и везде, где требуется высокоэффективное расширение шины
ввода-вывода. Перед шиной PCI у нее есть некоторое преимущество в количестве слотов,
которое для одной шины PCI не превышает четырех, а у EISA может достигать восьми.
Для шин ISA ряд фирм выпускает карты-прототипы (Protitype Card), представляющие
собой печатные платы полного или уменьшенного формата с крепежной скобой. На
платах установлены обязательные интерфейсные цепи - буфер данных, дешифратор
адреса и некоторые другие. Остальное поле платы представляет собой "слепыш", на
котором разработчик может разместить макетный вариант своего устройства. Эти платы
удобны для макетной проверки нового изделия, а также для монтажа единичных
экземпляров устройства, когда разработка и изготовление печатной платы нерентабельно.
На некоторых системных платах имеется небольшой разъем с загадочным названием
Media Bus, расположенный позади разъема шины PCI одного из слотов. На этот разъем
выводятся сигналы обычной шины ISA, и предназначен он для того, чтобы на
графическом адаптере с шиной PCI можно было разместить и недорогой чипсет звуковой
карты, предназначенный для шины ISA. Этот разъем, а тем более и такие
комбинированные аудио-видео карты, широкого распространения не получили.
Шина MCA
MCA (MicroChannel Architecture) - микроканальная архитектура - была введена в
пику конкурентам фирмой IBM для своих компьютеров PS/2 начиная с модели 50.
Шина MCA абсолютно несовместима с ISA/EISA и другими адаптерами. Состав
управляющих сигналов, протокол и архитектура ориентированы на асинхронное
функционирование шины и процессора, что снимает проблемы согласования
скоростей процессора и периферийных устройств. Адаптеры MCA широко
используют Bus-Mastering, все запросы идут через устройство CACP (Central
Arbitration Control Point). Архитектура позволяет эффективно и автоматически
конфигурировать все устройства программным путем (в MCA PS/2 нет ни одного
переключателя).
При всей прогрессивности архитектуры (относительно ISA) шина MCA не
пользуется популярностью из-за узости круга производителей MCA-устройств и
полной их несовместимости с массовыми ISA-системами. Однако MCA еще
находит применение в мощных файл-серверах, где требуется обеспечение
высоконадежного производительного ввода-вывода.
Локальная шина VLB
Шины ввода-вывода ISA, MCA, EISA имеют низкую производительность,
обусловленную их местом в структуре PC. Современные приложения (особенно
графические) требуют существенного повышения пропускной способности,
которое могут обеспечить современные процессоры. Одним из решений проблемы
повышения пропускной способности было применение в качестве шины
подключения периферийных устройств локальной шины процессора 486. Шину
процессора использовали как место подключения встроенной периферии
системной платы (контроллер дисков, графического адаптера).
VLB (VESA Local Bus) - стандартизованная 32-битная локальная шина,
практически представляющая собой сигналы системной шины процессора 486,
выведенные на дополнительные разъемы системной платы. Шина сильно
ориентирована на 486 процессор, хотя возможно ее использование и с
процессорами класса 386. Для процессоров Pentium была принята спецификация
2.0, в которой разрядность шины данных увеличена до 64, но она распространения
не получила. Аппаратные преобразователи шины новых процессоров в шину VLB,
будучи искусственными "наростами" на шиннной архитектуре, не прижились, и
VLB дальнейшего развития не получила.
Конструктивно VLB-слот аналогичен 16-битному обычному MCA-слоту, но
является расширением системного слота шины ISA-16, EISA или MCA,
располагаясь позади него вблизи от процессора. Из-за ограниченной нагрузочной
способности шины процессора больше трех слотов VLB на системной плате не
устанавливают. Максимальная тактовая частота шины - 66 МГц, хотя надежнее
шина работает на частоте 33 МГц. При этом декларируется пиковая пропускная
способность 132 Мб/с (33 МГц x 4 байта), но она достигается только внутри
пакетного цикла во время передач данных. Реально в пакетном цикле передача 4 x
4 = 16 байт данных требует 5 тактов шины, так что даже в пакетном режиме
пропускная способность составляет 105.6 Мб/с, а в обычном режиме (такт на фазу
адреса и такт на фазу данных) - всего 66 Мб/с, хотя это и значительно больше, чем
у ISA. Жесткие требования к временным характеристикам процессорной шины при
большой нагрузке (в т. ч. и микросхемами внешнего кэша) могут привести к
неустойчивой работе: все три VLB-слота могут использоваться только на частоте
40 МГц, при нагруженной системной плате на 50 МГц может работать только один
слот. Шина в принципе допускает и применение активных (Bus-Master) адаптеров,
но арбитраж запросов возлагается на сами адаптеры. Обычно шина допускает
установку не более двух Bus-Master адаптеров, один из которых устанавливается в
"Master"-слот.
Шину VLB обычно использовали для подключения графического адаптера и
контроллера дисков. Адаптеры локальных сетей для VLB практически не
встречаются. Иногда встречаются системные платы, у которых в описании указано,
что они имеют встроенный графический и дисковый адаптер с шиной VLB, но
самих слотов VLB нет. Это означает, что на плате установлены микросхемы
указанных адаптеров, предназначенные для подключения к шине VLB. Такая
неявная шина по производительности, естественно, не уступает шине с явными
слотами. С точки зрения надежности и совместимости это даже лучше, поскольку
проблемы совместимости карт и системных плат для шины VLB стоят особенно
остро.
Шина PCI
PCI (Peripheral Component Interconnect bus) - шина соединения периферийных
компонентов. Эта шина занимает особое место в современной PC-архитектуре
(mezzanine bus), являясь мостом между локальной шиной процессора и шиной
ввода-вывода ISA/EISA или MCA. Эта шина разрабатывалась в расчете на Pentiumсистемы, но хорошо сочетается и с 486 процессорами, а также с не-Intel'овскими
процессорами. Шина PCI является четко стандартизованной
высокопроизводительной шиной расширения ввода-вывода. Частота шины 20-33
МГц, PCI 2.1 допускает и частоту 66 МГц. Теоретическая максимальная скорость
132/264 Mбайт/с для 32/64 бит при 33 МГц. Слот PCI достаточен для подключения
адаптера (в отличие от VLB), на системной плате он может сосуществовать с
любой из шин ввода-вывода и даже с VLB (хотя в этом и нет необходимости).
На одной шине PCI может быть не более четырех устройств (слотов). Мост шины
PCI (PCI Bridge) - это аппаратные средства подключения шины PCI к другим
шинам. Host Bridge - главный мост - используется для подключения PCI к
системной шине (шине процессора или процессоров). Peer-to-Peer Bridge одноранговый мост - используется для соединения двух шин PCI. Две и более
шины PCI применяются в мощных серверных платформах - дополнительные шины
PCI позволяют увеличить количество подключаемых устройств.
Автоконфигурирование устройств (выбор адресов, запросов прерывания)
поддерживается средствами BIOS и ориентировано на технологию Plug and Play.
Стандарт PCI определяет для каждого слота конфигурационное пространство
размером до 256 восьмибитных регистров, не приписанных ни к пространству
памяти, ни к пространству ввода-вывода. Доступ к ним осуществляется по
специальным циклам шины Configuration Read и Configuration Write,
вырабатываемым контроллером при обращении процессора к регистрам
контроллера шины PCI, расположенным в его пространстве ввода-вывода.
В состав шины PCI введены сигналы для тестирования адаптеров по интерфейсу
JTAG. На системной плате эти сигналы не всегда задействованы, но могут и
организовывать логическую цепочку тестируемых адаптеров.
Шина PCI все обмены трактует как пакетные: каждый кадр начинается фазой
адреса, за которой может следовать одна или несколько фаз данных. Количество
фаз данных в пакете неопределенно, но ограничено таймером, определяющим
максимальное время, в течении которого устройство может пользоваться шиной.
Каждое устройство имеет собственный таймер, значение для которого задается при
конфигурировании устройств шины.
В каждом обмене участвуют два устройства - инициатор обмена (Initiator) и
целевое устройство (Target). Арбитражем запросов на использование шины
занимается специальный функциональный узел, входящий в состав чипсета
системной платы. Для согласования быстродействия устройств-участников обмена
предусмотрены два сигнала готовности IRDY# и TRDY#. Для адреса и данных на
шине используются общие мультиплексированные линии AD. Четыре
мультиплексированных линии C/BE[3:0] используются для кодирования команд в
фазе адреса и разрешения байт в фазе данных.
Шина имеет версии с питанием 5 В, 3.3 В и универсальную (с переключением
линий +V I/O c 5 В на 3.3 В). Ключами являются пропущенные ряды контактов 12,
13 и 50, 51. Для 5 В-слота ключ расположен на месте контактов 50, 51; для 3 В - 12,
13; для универсального - два ключа: 12, 13 и 50, 51. Ключи не позволяют
установить карту в слот с неподходящим напряжением питания. 32-битный слот
заканчивается контактами A62/B62, 64-битный - A94/B94.
В отличие от адаптеров остальных шин, компоненты карт PCI расположены на
левой поверхности плат. По этой причине крайний PCI-слот обычно разделяет
использование посадочного места адаптера с соседним ISA-слотом (Shared slot).
Шина PCI является второй (после ISA) по популярности применения. Некоторые
фирмы для этой шины выпускают карты-прототипы, но, конечно же,
доукомплектовать их периферийным адаптером или устройством собственной
разработки гораздо сложнее, чем карту ISA. Здесь сказываются и более сложные
протоколы, и более высокие частоты (частота шины ISA - 8 МГц, PCI - 33 или 66
МГц).
Иногда на системной плате позади разъема шины PCI одного из слотов имеется
небольшой разъем Media Bus, на который выводятся сигналы обычной шины ISA.
Он предназначен для обеспечения возможности размещения на графическом
адаптере PCI недорогого чипсета звуковой карты, предназначенный для шины ISA.
Шины блокнотных компьютеров
Организация PCMCIA (Personal Computer Memory Card International Association международная ассоциация производителей карт памяти для персональных
компьютеров) ввела ряд стандартов на шины расширения блокнотных
компьютеров. Первый из них и назывался PCIMCIA, а впоследствии был
переименован в стандарт PC Card. Шина PC Card позволяет подключать
расширители памяти, модемы, контроллеры дисков и стриммеров, SCSI-адаптеры,
сетевые адаптеры и др. Не очень строгое следование производителей этому
стандарту приводит к некоторым проблемам совместимости. Назначение контактов
разъема шины приведено в табл. 6.9. Шина адресует до 64 Mбайт памяти,
разрядность данных 16 бит, частота до 33 МГц, DMA и Bus-Mastering не
поддерживаются. Теоретически допускается до 4080 слотов PC Card в PC. Шина
ориентирована на программное конфигурирование адаптеров (переключатели на
таких маленьких картах не помещаются). Большинство адаптеров выпускается с
поддержкой PnP и предусматривают возможность горячего подключенияотключения - интерфейсные карты могут вставляться и выниматься без
выключения PC. Для обеспечения горячего подключения контакты шин питания
имеют большую длину, чем сигнальные, чем обеспечивается их упреждающее
подключение и запаздывающее отключение. Два контакта обнаружения карты
(Card Detect) короче остальных. Все устройства имеют свою BIOS-поддержку.
Несмотря на возможность динамического конфигурирования, в некоторых случаях
при изменении конфигурации требуется перезагрузка системы.
Различают несколько типов PC Card. Электрически идентичные, они различаются
по габаритам и совместимы снизу вверх (меньшие адаптеры встают в большие
гнезда). Адаптер типа 1 имеет размеры 54 x 85 мм и толщину не более 3.3 мм, типа
2 - размеры 48 x 75 мм и толщину 5 мм, тип 3 - размеры 48 x 75 мм и толщину 10.5
мм.
Все устройства PC Card имеют минимальное энергопотребление. Существуют
предпосылки для введения этой шины как дополнительной и в настольные PC.
Шина CardBus с тем же 68-контактным разъемом обеспечивает расширение
разрядности данных до 32 бит за счет мультиплексирования шины адреса и
данных, обеспечивая обратную совместимость с PC Card.
Для карт памяти (динамической, статической, постоянной и флэш-памяти)
существует стандарт Miniature Card, представляющий подмножество шины PC
Card. Миниатюрная карта размером 33 x 38 x 3.5 мм с 60-контактным разъемом
через переходный адаптер может устанавливаться и в слот PC Card типа 2.
Download