Шины ISA и EISA

Шина ISA была первой стандартизированной системной шиной (ISA означает Industry Standart Architecture) и долгие годы являлась стандартом в области РС. И даже сегодня разъемы этой шины можно встретить на некотороых системных платах.

8-разрядная шина

Родоначальником в семействе шин ISA была появившаяся в 1981 году 8-разрядная шина (8 bit ISA Bus), которую можно встретить в компьютерах ХТ-генерации. 8-разрядная шина имеет 62 линии, контакты которых можно найти на ее слотах. Они включают 8 линий данных, 20 линий адреса, 6 линий запроса прерываний. Шина функционирует на частоте 4.77 MHz. 8-разрядная шина ISA — самая медленная из всех системных шин (пропускная способность составляет всего 1.2 Mb в секунду), поэтому она уже давным давно устарела и поэтому сегодня нигде не используется, ну разве что о-о-очень редко (например, некоторые карточки FM-тюнера могут 8-разрядный ISA-интерфейс, так как там шина используется только для управления, а не для передачи собственно данных, и скорость ее работы является некритичной).

16-разрядная шина

Дальнейшим развитием ISA стала 16-разрядная шина, также иногда называемая AT-Bus, которая впервые начала использоваться в 1984 году. Если вы посмотрите на ее слоты (извините, пожалуйста, за плохое качество рисунка), то увидите, что они состоят из двух частей, из которых одна (большая) полностью копирует 8-разрядный слот. Дополнительная же часть содержит 36 контактов (дополнительные 8 линий данных, 4 линии адреса и 5 линий IRQ плюс контакт для нового сигнала SBHE). На этом основании короткие 8-разрядные платы можно устанавливать в разъемы новой шины (сделать это наоборот, конечно же, невозможно). Назначение выводов 16-разрядного слота приведено в нижеследующей таблице.

Вывод (сторона пайки) Сигнал Значение Вывод (сторона монтажа) Сигнал Значение
B1 GND Земля А1 I/O CH CK Контроль канала ввода/вывода
B2 RES DRV Сигнал Reset A2 D7 Линия данных 8
B3 +5 V +5 V A3 D6 Линия данных 7
B4 IRQ9 Каскадирование второго контроллера прерываний A4 D5 Линия данных 6
B5 -5 V -5 V A5 D4 Линия данных 5
B6 DRQ2 Запрос DMA 2 A6 D3D Линия данных 4
B7 -12 V -12 V A7 D2 Линия данных 3
B8 RES Коммуникация с памятью без времени ожидания A8 D1 Линия данных 2
B9 +12 V +12 V A9 D0 Линия данных 1
B10 GND Земля A10 I/O CH RDY Контроль готовности канала ввода/вывода
B11 SMEMW Данные записываются в память (до 1 Mb, S обозначает Small) A11 AEN Address Enabled, контроль за шиной при CPU и DMA-контроллере
B12 SMEMR Данные cчитываются из памяти (до 1 Mb, S обозначает Small) A12 A19 Адресная линия 20
B13 IOW Данные записываются в I/O-порт A13 A18 Адресная линия 19
B14 IOR Данные читаются из I/O-порта A14 A17 Адресная линия 18
B15 DACK3 DMA-Acknowledge (подтверждение) 3 A15 A16 Адресная линия 17
B16 DRQ3 Запрос DMA 3 A16 A15 Адресная линия 16
B17 DACK1 DMA-Acknowledge (подтверждение) 1 A17 A14 Адресная линия 15
B18 IRQ1 Запрос прерывания 1 A18 A13 Адресная линия 14
B19 REFRESH Регенерация памяти A19 A12 Адресная линия 13
B20 CLC Системный такт 4.77 MHz A20 A11 Адресная линия 12
B21 IRQ7 Запрос прерывания 7 A21 A10 Адресная линия 11
B22 IRQ6 Запрос прерывания 6 A22 A9 Адресная линия 10
B23 IRQ5 Запрос прерывания 5 A23 A8 Адресная линия 9
B24 IRQ4 Запрос прерывания 4 A24 A7 Адресная линия 8
B25 IRQ3 Запрос прерывания 3 A25 A6 Адресная линия 7
B26 DACK2 DMA-Acknowledge (подтверждение) 2 A26 A5 Адресная линия 6
B27 T/C Terminal Count, сигнализирует конец DMA-трансформации A27 A4 Адресная линия 5
B28 ALE Address Latch Enabled, расстыковка адрес/данные A28 A3 Адресная линия 4
B29 +5 V +5 V A29 A2 Адресная линия 3
B30 OSC Такт осциллятора (14.31818 MHz) A30 A1 Адресная линия 2
B31 GND Земля A31 A0 Адресная линия 1
D1 MEM CS 16 Memory Chip Select (выбор) C1 SBHE System Bus High Enabled, сигнал для 16-разрядных данных
D2 I/O CS 16 I/O-карта с 8 бит/16 бит переносом C2 LA23 Адресная линия 24
D3 IRQ10 Запрос прерывания 10 C3 LA22 Адресная линия 23
D4 IRQ11 Запрос прерывания 11 C4 LA21 Адресная линия 22
D5 IRQ12 Запрос прерывания 12 C5 LA20 Адресная линия 21
D6 IRQ13 Запрос прерывания 13 C6 LA19 Адресная линия 20
D7 IRQ14 Запрос прерывания 14 C7 LA18 Адресная линия 19
D8 DACK0 DMA-Acknowledge (подтверждение) 0 C8 LA17 Адресная линия 18
D9 DRQ0 Запрос DMA 0 C9 MEMR Чтение данных из памяти
D10 DACK5 DMA-Acknowledge (подтверждение) 5 C10 MEMW Запись данных в памят
D11 DRQ5 Запрос DMA 5 C11 SD8 Линия данных 9
D12 DACK6 DMA-Acknowledge (подтверждение) 6 C12 SD9 Линия данных 10
D13 DRQ6 Запрос DMA 6 C13 SD10 Линия данных 11
D14 DACK7 DMA-Acknowledge (подтверждение) 7 C14 SD11 Линия данных 12
D15 DRQ7 Запрос DMA 7 C15 SD12 Линия данных 13
D16 +5 V +5 V C16 SD13 Линия данных 14
D17 MASTER Сигнал Busmaster C17 SD14 Линия данных 15
D18 GND Земля C18 SD15 Линия данных 16

Реализация bus mastering не была особенно удачной, поскольку, например, запрос на освобождение шины (Bus hang-off) к текущему bus master обрабатывался несколько тактов, к тому же каждый master должен был периодически освобождать шину, чтобы дать возможность провести обновление памяти (memory refresh), или сам проводить обновление. Для обеспечения обратной совместимости с 8-битными платами большинстиво новых возможностей было реализовано путем добавления новых линий. Так как АТ был построен на основе процессора Intel 80286, который был существенно быстрее, чем 8088, пришлось добавить генератор состояний ожидания (wait-state generator). Для обхода этого генератора используется свободная линия (контакт В8 ) исходной 8-битной шины. При установке этой линии в 0 такты ожидания пропускаются. Это позволило разработчикам делать как 16-битные, так и 8-битные быстрые платы.

Новый слот содержал 4 новых адресных линии (LA20-LA23) и копии трех младших адресных линий (LA17-LA19). Необходимость в таком дублировании возникла из-за того, что адресные линии ХТ были линиями с задержкой (latched lines), и эти задержки приводили к снижению быстродействия периферийных устройств. Использование дублирующего набора адресных линий позволяло 16-битной карте в начале цикла определить, что к ней обращаются, и послать сигнал о том, что она может осуществлять 16-битный обмен. На самом деле это ключевой момент в обеспечении обратной совместимости. Если процессор пытается осуществить 16-битный доступ к плате, он сможет это сделать только в том случае, если получит от нее соответствующий отклик IO16. В противном случае чипсет инициирует вместо одного 16-битного цикла два 8-битных. И все бы было хорошо, но адресных линий без задержки всего 7, поэтому платы, использующие диапазон адресов меньший, чем 128 Kb, не могли определить, находится ли переданный адрес в их диапазоне адресов, и, соответственно, послать отклик IO16. Таким образом, многие платы, в том числе платы EMS, не могли использовать 16-битный обмен.

Передача байта данных по шине ISA происходит следующим образом: сначала на адресной шине выставляется адрес ячейки RAM или порта устройства ввода/вывода, куда следует передать байт, затем на линии данных выставляется байт данных. Призводится задержка тактами ожидания и подается сигнал на передачу байта (строб записи), причем неизвестно, успели записаться данные или нет. Поэтому тактова частота шины выбрана 8.33 MHz, чтобы даже самые медленные устройства гарантированно могли произвести по шине обмен даными (командами). Пропускная способность при этом составила 5.3 Mb/s.

Несмотря на отсутствие официального стандарта и технических «изюминок», шина ISA превосходила потребности среднего пользователя 1984 года, а популярность IBM AT на рынке массовых компьютеров привела к тому, что производители плат расширения и клонов AT приняли ISA за стандарт. Такая популярность шины привела к тому, что слоты ISA до сих пор присутствуют на многих современных системных плат, и карты для шины ISA все еще производятся (именно поэтому мы и представили так детально распайку 16-разрядной шины ISA).

Правда, в последних спецификациях компьютерного оборудования начали отказваться от старой шины (все-таки более 15 лет в области компьютерной индустрии — это громадный срок ). Но все дело в том, что у пользователей за это время накопилось мнжество разнообразных плат с ISA-интерфесом, и вряд ли они пожелают лекго с ними расстаться. Тем более что такие низкоскоростные устройства как, например, модемы или медленные сетевые платы не не требуют высокой пропускной способности шины, и применение более современных интерфейсов не дает для них каких-либо особых преимуществ. И никто не запрещает производителям материнских плат ставить на свои изделия один-два больших черных слота, тем более что при наметившейся тенденции платы с поддержкой ISA могут пользоваться повышенным спросом у владельцев старых карт. Так что ISA, по-видимому, еще не ушла и не так скоро уйдет со своих насиженных позиций, как это может показаться на первый взгляд.

Шина EISA

Необходимость повышения производительности наряду с обеспечением совместимости привела к дальнейшему развитию шины ISA. Поэтому в сентябре 1988 года Compaq, Epson, Hewllett-Packard, NEC, Wyse, Zenith, Olivetti, AST Research и Tandy представили 32-разрядное расширение шины с полной обратной совместимостью, которое получило название EISA (Extended ISA). Основные характеристики нового интерфейса были следующими:

  • Слот EISA полностью совместим со слотом ISA. Как и в случае 16-разрядного расширения, новые возможности обеспечивались путем добавления новых линий. Поскольку дальше удлинять разъем ISA было некуда, разработчики нашли оригинальное решение: новые контакты были размещены между контактами шины ISA и не были доведены до края разъема. Специальная система выступов на разъеме и щелей в cоответствующих местах на EISA-картах позволяла им (картам) глубже заходить в разъем и подсоединяться к новым контактам. На «первом этаже» (верхнем) этой двухэтажной конструкции находятся контакты уже известной ISA, в то время как на «втором этаже» (нижнем) находятся новые выводы EISA. По этой причине в слоты EISA могут вставляться и ISA-карточки (последние не будут полностью входить в разъем, так как они не имеют прорези)
  • EISA является 32-разрядной шиной, что в сочетании с 8.33 MHz’ами дает пропускную способность в 33 Mb/s
  • 32-разрядная адресация памяти позволяла адресовать до 4 Gb памяти (как и в расширении ISA, новые адресные линии были без задержки)
  • Автонастройка плат расширения, а также возможность их конфигурации не с помощью DIP-переключателей, а программно
  • Поддержка возможности задания уровня двухуровневого (edge-triggered) прерывания, что позволяло нескольким устройствам использовать одно прерывание, как и в случае многоуровневого (level-triggered) прерывания
  • Поддержка multiply bus master
  • Шина EISA предоставляет большие преимущества при использовании кэш-памяти

Как видно из изложенного описания, для потребностей того времени этого было вполне достаточно.

Важной особенностью шины являлась возможность для любого bus master обращаться к любому устройству памяти или периферийному устройству, даже если они имели разные разряды шины. Говоря о полной обратной совместимости с ISA, следует отметить, что ISA-карты, естественно, не поддерживали разделение прерываний, даже будучи вставленными в EISA-коннектор. Что касается поддержки multiply bus master, то она представляла собой улучшенную и дополненную версию таковой для ISA. Также присутствовали четыре уровня приоритета:

  1. Cхемы обновления памяти
  2. DMA
  3. Процессор
  4. Адаптеры шины

Имелся также арбитр шины EISA — так называемый перефирийный контроллер (ISP, Integrated System Peripheral), который следил за порядком. Кроме этого, наличествовало еще одно устройство — Intel’s Bus Master Interface Chip (BMIC), которое следило за тем, чтобы master не засиживался на шине. Через определенное количество тактов master снимался с шины и генерировалось немаскируемое прерывание.

Я не буду приводить назначение выводов EISA-слота, так как шина EISA не получила такого большого распространения, как ISA, и уже давно вымерла. Найти ее можно разве что только в достаточно древних компьютерах.

Вам может также понравиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *