Шины 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. Этот разъем, а тем более и такие комбинированные
аудио-видео карты, широкого распространения не получили.
|