Шина ISA-8 может предоставить до 6 линий запросов прерываний, ISА-16 — 11. Часть из них могут «отобрать» устройства системной платы или шина PCI.
Шина ISA-8 позволяет использовать до трех 8-битных каналов DMA. На 16-битной шине доступны еще три 16-битных и один 8-битный канал.
Все перечисленные ресурсы шины должны быть бесконфликтно распределены. Бесконфликтность подразумевает выполнение перечисленных ниже условий.
♦ Каждое устройство-исполнитель должно управлять шиной данных только при чтении по его адресам или по используемому им каналу DMA. Области адресов, по которым выполняется чтение регистров различных устройств, не должны пересекаться. Поскольку при записи шиной данных управляет лишь текущий задатчик, возможность конфликтов, приводящих к искажениям данных, исключена. «Подсматривать» операции записи, адресованные не данному устройству, не возбраняется.
♦ Назначенную линию IRQx
или DRQx
устройство должно держать на низком уровне в пассивном состоянии и переводить в высокий уровень для активации запроса. Неиспользуемыми линиями запросов устройство управлять не имеет права, они должны электрически отсоединяться или подключаться к буферу, находящемуся в третьем состоянии. Одной линией запроса может пользоваться только одно устройство. Такая нелепость (с точки зрения схемотехники ТТЛ) была допущена в первых PC и из требований совместимости тиражируется до сих пор.
Задача распределения ресурсов для старых адаптеров решалась с помощью джамперов, затем появились программно конфигурируемые устройства, которые вытесняются автоматически конфигурируемыми платами PnP.
Назначение контактов слотов шин ISA и EISA приведено в табл. 6.2 и 6.3.
Таблица 6.2. Основной разъем шин ISA-8, ISA-16 и EISA
Ряд В | № | Ряд А |
---|---|---|
GND | 1 | IOCHK# |
Reset | 2 | SD7 |
+5 В | 3 | SD6 |
IRQ2/9¹ | 4 | SD5 |
-5 В | 5 | SD4 |
DRQ2 | 6 | SD3 |
-12 В | 7 | SD2 |
0WS#² | 8 | SD1 |
+12 В | 9 | SD0 |
GND | 10 | IOCHRDY |
SMEMW# | 11 | AEN |
SMEMR# | 12 | SA19 |
IOWR# | 13 | SA18 |
IORD# | 14 | SA17 |
DACK3# | 15 | SA16 |
DRQ3 | 16 | SA15 |
DACK1# | 17 | SA14 |
DRQ1 | 18 | SA13 |
REFRESH# | 19 | SA12 |
BCLK | 20 | SA11 |
IRQ7 | 21 | SA10 |
IRQ6 | 22 | SA9 |
IRQ5 | 23 | SA8 |
IRQ4 | 24 | SA7 |
IRQ3 | 25 | SA6 |
DACK2# | 26 | SA5 |
TC | 27 | SA4 |
BALE | 28 | SA3 |
+5 В | 29 | SA2 |
Osc | 30 | SA1 |
GND | 31 | SA0 |