Шина 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. Также присутствовали четыре уровня приоритета:
- Cхемы обновления памяти
- DMA
- Процессор
- Адаптеры шины
Имелся также арбитр шины EISA - так называемый
перефирийный контроллер (ISP, Integrated System
Peripheral), который следил за порядком. Кроме
этого, наличествовало еще одно устройство - Intel's
Bus Master Interface Chip (BMIC), которое следило
за тем, чтобы master не засиживался на шине. Через
определенное количество тактов master снимался с
шины и генерировалось немаскируемое прерывание.
Я не буду приводить назначение выводов EISA-слота,
так как шина EISA не получила такого большого распространения,
как ISA, и уже давно вымерла. Найти ее можно разве
что только в достаточно древних компьютерах.
|