Книга: Аппаратные интерфейсы ПК. Энциклопедия
6.1. Шины ISA, EISA и PC/104
ISA Bus (Industry Standard Architecture) — шина расширения, применявшаяся с первых моделей PC и ставшая промышленным стандартом, В компьютере XT использовалась шина с разрядностью данных 8 бит и адреса — 20 бит. В компьютерах AT ее расширили до 16 бит данных и 24 бит адреса. Конструктивно, как показано на рис. 6.1, шина выполнена в виде двух щелевых разъемов с шагом выводов 2,54 мм (0,1 дюйма). В подмножестве ISA-8 используется только 62-контактный слот (ряды А, В), в ISA-16 применяется дополнительный 36-контактный слот (ряды С, D). Шина PC/104, разработанная для встраиваемых контроллеров на базе PC, отличается от обычной ISA только конструктивно. В шине EISA — дорогом 32-разрядном расширении ISA — используется «двухэтажный» слот, позволяющий устанавливать и обычные карты ISA.
Рис. 6.1. Слот ISA
Для шины ISA выпущено (и продолжает выпускаться) огромное количество разнообразных карт расширения. Ряд фирм выпускает карты-прототипы (Prototype Card), представляющие собой печатные платы полного или уменьшенного формата с крепежной скобой. На платах установлены обязательные интерфейсные цепи — буфер данных, дешифратор адреса и некоторые другие. Остальная часть платы свободна, и здесь разработчик может разместить макетный вариант своего устройства. Эти платы удобны для проверки нового изделия, а также для монтажа единичных экземпляров устройства, когда разработка и изготовление печатной платы нерентабельно.
В каждый момент времени шиной может управлять только одно устройство-задатчик, обращающееся к ресурсам (портам или ячейкам памяти) устройств-исполнителей. Шина ISA обеспечивает возможность обращения к 8- или 16-битным регистрам устройств, отображенным на пространства ввода-вывода и памяти. Диапазон адресов памяти для устройств ограничен областью верхней памяти UMА (А0000-FFFFFh). Для шины ISA-16 настройками CMOS Setup может быть разрешено пространство между 15-м и 16-м мегабайтом памяти (при этом компьютер не сможет использовать более 15 Мбайт ОЗУ). Для шины ISA диапазон адресов ввода-вывода сверху ограничен количеством задействованных для дешифрации бит адреса, нижняя областью адресов 0-FFh недоступна (зарезервирована под устройства системной платы). В PC была принята 10-битная адресация ввода-вывода, при которой линии адреса А[15:10]
устройствами игнорировались. Таким образом, диапазон адресов устройств шины ISA ограничивается областью 100h–3FFh. Впоследствии стали применять 12-битную адресацию (диапазон 100h-FFFh). При этом приходится учитывать возможность присутствия на шине старых 10-битных адаптеров, которые «отзовутся» на адрес с подходящими ему битами А[9:0]
во всей допустимой области 12-битного адреса четыре раза (у каждого 10-битного адреса будет еще по три 12-битных псевдонима). Полный 16-битный адрес используется только в шинах EISA и PCI.
Шина 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 |
? B4: XT=IRQ2, AT=IRQ9.
? B8: XT-Card Selected.
Таблица 6.3. Дополнительный разъем шин ISA-16 и EISA
Ряд D | № | Ряд С |
---|---|---|
MEMCS16# | 1 | SBHE# |
IOCS16# | 2 | LA23 |
IRQ10 | 3 | LA22 |
IRQ 11 | 4 | LA21 |
IRQ12 | 5 | LA20 |
IRQ 15 | 6 | LA19 |
IRQ14 | 7 | LA18 |
DACK0# | 8 | LA17 |
DRQ0 | 9 | MEMR# |
DACK5# | 10 | MEMW# |
DRQ5 | 11 | SD8 |
DACK6# | 12 | SD9 |
DRQ6 | 13 | SD10 |
DACK7# | 14 | SD11 |
DRQ7 | 15 | SD12 |
+5 B | 16 | SD13 |
MASTER# | 17 | SD14 |
GND | 18 | SD15 |
Сигналы шины ISA естественны для периферийных микросхем фирмы Intel (в стиле семейства 8080). Набор сигналов ISA-8 предельно прост. Программное обращение к ячейкам памяти и пространства ввода-вывода обеспечивают следующие сигналы.
? SD[7:0]
— шина данных. Иное название сигналов — Data
или D
.
? SA[19:0](Addr[19:0]
, A[19:0]
) — шина адреса.
? AEN
— разрешение адресации портов (запрещает ложную дешифрацию адреса в цикле DMA).
? IOW#(IOWC#
, IOWR#
) — запись в порт.
? IOR#(IORC#
, IORD#
) — чтение порта.
? SMEMW#(SMEMWR#
, SMWTC#
) — запись в системную память (в диапазоне адресов 0-FFFFFh).
? SMEMR#(SMEMRD#
, SMRDC#
) — чтение системной памяти (в диапазоне адресов 0-FFFFFh).
Ниже перечислены сигналы, относящиеся к сигналам запросов прерывания и каналам прямого доступа к памяти.
? IRQ2/9
, IRQ[3:7]
— запросы прерываний. Положительный перепад сигнала вызывает запрос аппаратного прерывания. Для идентификации источника высокий уровень должен сохраняться до подтверждения прерывания процессором, что затрудняет разделение (совместное использование) прерываний. Линия IRQ2/9 в шинах XT вызывает аппаратное прерывание с номером 2, а в AT — с номером 9.
? DRQ[1:3]
— запросы 8-битных каналов DMA (положительным перепадом).
? DACK[1:3]#
— подтверждение запросов 8-битных каналов DMA.
? TC
— признак завершения счетчика циклов DMA.
Шина имеет и несколько служебных сигналов синхронизации, сброса и регенерации памяти, установленной на адаптерах.
? IOCHRDY(CHRDY
, I/OCHRDY
) — готовность устройства, низкий уровень удлиняет текущий цикл (не более 15 икс).
? BALE(ALE
) — разрешение защелки адреса. После его спада в каждом цикле процессора линии SA[0:19]
гарантированно содержат действительный адрес.
? REFRESH#(REF#
) — цикл регенерации памяти (в XT называется DACK0#
). Сигнал появляется каждые 15 мкс, при этом шина адреса указывает на очередную регенерируемую строку памяти.
? IOCHK#
— контроль канала, низкий уровень вызывает NMI CPU (разрешение и индикация в системных портах 061h, 062h).
? RESET(RESDRV
, RESETDRV
) — сигнал аппаратного сброса (активный уровень — высокий).
? BCLK(CLK
) — синхронизация шины с частотой около 8 МГц. ПУ могут не использовать этот сигнал, работая только по управляющим сигналам записи и чтения.
? OSC
— несинхронизированная с шиной частота 14,431818 МГц (использовалась старыми дисплейными адаптерами).
Кроме логических сигналов шина имеет контакты для разводки питания +5, -5, +12 и -12 В.
Дополнительный разъем, расширяющий шину до 16-битной, содержит линии данных, адреса, запросов прерываний и каналов прямого доступа.
? SD[15:8]
— шина данных.
? SBHE#
— признак наличия данных на линиях SD[15:8]
.
? LA[23:17]
— нефиксированные сигналы адреса, требующие защелкивания по спаду сигнала BALE
. Такой способ подачи адреса позволяет сократить задержку. Кроме того, схемы дешифратора адреса памяти плат расширения начинают декодирование несколько раньше спада BALE
.
? IRQ[10:12]
, IRQ[14:15]
— дополнительные запросы прерываний.
? DRQ[5:7]
— запросы 16-битных каналов DMA (положительным перепадом).
? DACK[5:7]#
— подтверждение запросов 16-битных каналов DMA.
? DRQ0
и DACK0#
— запрос и подтверждение 8-битного канала DMA, освободившегося от регенерации памяти.
Перечисленные ниже сигналы связаны с переключением разрядности данных.
? МEMCS16#(M16#
) — адресуемое устройство поддерживает 16-битные обращения к памяти.
? IOCS16#(I/OCS16#
, IO16#
) — адресуемое устройство поддерживает 16-битные обращения к портам.
К новым управляющим сигналам относятся следующие.
? MEMW#(MWTC#
) — запись в память в любой области до 16 Мбайт.
? MEMR#(MRDC#
) — чтение памяти в любой области до 16 Мбайт.
? OWS#(SRDY#
, NOWS#
, ENDXFR
) — укорочение текущего цикла по инициативе адресованного устройства.
? MASTER#(MASTER16#
) — запрос от устройства, использующего 16-битный канал DMA на управление шиной. При получении подтверждения DACK[5:7]
Bus-Master может захватить шину.
В шине EISA на дополнительных контактах слотов (недоступных картам ISA) располагается расширение шин данных и адреса до 32 бит, а также набор сигналов, обеспечивающих передачу данных в синхронном режиме с возможностью пакетных циклов.
- 6.1. Шины ISA, EISA и PC
- Глава 6 Шины и карты расширения
- 6.1.7. Конфигурирование интерфейсных карт ISA и EISA
- 7.5 Программные интерфейсы приложений для адаптеров шины
- Глава 2 Виртуальные машины Virtual PC 2004
- Глава 3 Виртуальные машины VMware Workstation
- Глава 4 Виртуальные машины Parallels Workstation
- Изменение состояния виртуальной машины
- 6.2.5. Пропускная способность шины
- Язык запросов поисковой машины Яндекс
- Forming a Disaster Recovery Plan
- Disabling File Access Time