Загрузка...

Шины расширения ISA и EISA


Шины расширения являются средствами подключения системного уровня: они позволяют адаптерам и контроллерам непосредственно использовать системные ресурсы компьютера – пространства памяти и ввода-вывода, прерывания, каналы прямого доступа к памяти. Устройства, подключаемые к шинам расширения, могут сами управлять этими шинами, получая доступ к остальным ресурсам компьютера. Такое прямое управление позволяет разгружать центральный процессор и добиваться высоких скоростей обмена данными.

Шины расширения механически реализуются в виде слотов или штырьковых разъемов; для них характерна малая длина проводников, что позволяет достигать высоких частот работы. ISA Bus (Industry Standard Architecture) – стандартная шина, которая выпускается в двух исполнениях: ХТ (8 бит) и АТ (16 бит). 8-разрядная ISA работает на частоте 4,77 МГц и её производительность составляет 400 Кбит/с. 16-разрядная шина работает на частоте 8,33 МГц, позволяя на прямую обратится с помощью 24-х адресных линии к 16-ти Мбайтам системной памяти. Максимальная скорость передачи 16-ти разрядных данных в режиме DMA составляет 800 Кбит/с. Конструктивно выполнена в виде двух щелевых разъемов (слотов) с шагом выводов 2.54 мм (0.1 дюйма). 8 бит ISA использует 62-х контактный слот (ряды A,B), 36-ти контактный слот (ряды C,D) расширяет ISA до 16-ти бит. 32-бит ISA – нестандартные расширения.

В каждый момент времени шиной может управлять только одно устройство-инициатор, обращающееся к ресурсам устройств-исполнителей. Шина ISA обеспечивает возможность обращения к 8- и 16-битным регистрам устройств, отображенным в пространстве ввода-вывода и памяти. Диапазон адресов памяти для устройств ограничен областью верхней памяти UMA (А0000–FFFFFh). Для шины ISA-16 настройками CMOS Setup может быть разрешено пространство между 15-м и 16-м мегабайтом памяти. Для шины ISA диапазон адресов ввода-вывода сверху ограничен количеством задействованных для дешифрации бит адреса, нижняя область адресов 0-FFh недоступна, т.к. зарезервирована под устройства системной платы. В РС-компьютере была принята 10-битная адресаций ввода-вывода, при которой линии адреса А[15:10] устройствами игнорировались. Таким образом, диапазон адресов устройств шины ISA ограничивается областью 100h-3FFh. Полный 16-битный адрес используется только в шинах EISA и PCI.

Шина ISA-8 может предоставить до 6 линий запросов прерываний, ISA-16 –11. Часть из них берут на себя устройства системной платы. Шина ISA-8 пзволяет использовать три 8-битных канала DMA. На 16-битной шине доступны еще три 16-битных и один 8-битный канал.

Все ресурсы шины могут быть бесконфликтно распределены при выполнении следующих условий:

1. Каждое устройство-исполнитель должно управлять шиной данных только при чтении по его адресам или по используемому им каналу DMA. Области адресов, по которым выполняется чтение регистров различных устройств, не должны пересекаться.

2. Назначенную линию IRQx устройство должно держать на низком уровне в пассивном состоянии и переводить в высокий уровень для активации запроса. Неиспользуемыми линиями запроса управлять устройство не имеет права, они должны электрически соединяться или подключаться к буферу, находящемуся в третьем состоянии. Одной линией запроса может пользоваться только одно устройство.

Набор сигналов ISA-8 предельно прост. Программное обращение к ячейкам памяти и пространства ввода-вывода обеспечивают следующие сигналы.

? SD[7:0] – шина данных;

? SA[19:0] – шина адреса;

? AEN – разрешение (низким уровнем) адресации портов, высокий уровень запрещает ложную дешифрацию адреса в цикле DMA.

? IOW# – запись в порт;

? IOR# – чтение порта;

? SMEMW# – запись в системную память.

? SMEMR# – чтение системной памяти;

? IRQ2/9 – запросы прерываний. Положительный перепад сигнала вызывает запрос аппаратного прерывания. Для идентификации источника высокий уровень должен сохраняться до подтверждения прерывания процессором;

? DRQ[1:3] – запросы 8-битных каналов DMA положительным перепадом;

? DACK[1:3]# – подтверждение запросов 8-битных каналов DMA;

? ТС – признак завершения счетчика циклов DMA.

Шина имеет несколько служебных сигналов синхронизации, сброса и регенерации памяти, установленной на адаптерах. Кроме логических сигналов шина имеет контакты для разводки питания +5, –5, +12 и –12 В.

Для передачи данных от исполнителя к инициатору предназначены циклы чтения ячейки памяти или порта ввода-вывода, для передачи данных от инициатора к исполнителю – циклы записи. В каждом цикле текущий инициатор формирует адрес обращения и управляющие сигналы, а в циклах записи еще и данные на шине. Адресуемое устройство-исполнитель в соответствии с полученными управляющими сигналами принимает в цикле записи или формирует в цикле чтения данные. Также оно может управлять длительностью цикла и разрядностью передачи. Обобщенные временные диаграммы циклов чтения и записи на рис.11.

clip_image001

Рис. 11. Схематическое изображение работы шины ISA.

В начале каждого цикла контроллер шины устанавливает адрес обращения, который сохраняется на время всего текущего цикла. Каждое устройство имеет дешифратор адреса – комбинационную схему, срабатывающую только тогда, когда на шине присутствует адрес, относящийся к данному устройству. В фазе адресации устройства еще не знают к какому из пространств (памяти или ввода-вывода) относится выставленный адрес. Но дешифраторы адресов срабатывают и когда в следующей фазе шина управления сообщает тип операции, адресуемое устройство уже оказывается готовым к ее исполнению.

Если устройство имеет более одного регистра, то для выбора конкретного регистра ему требуется несколько линий адреса. Как правило, старшие биты шины адреса поступают на вход дешифраторов адреса, формирующих сигналы выборки устройств, а младшие биты – на адресные входы самих устройств. Тогда каждое устройство в пространстве будет занимать наиболее компактную область смежных адресов размером в 2n байт, где n – номер младшей линии адреса, поступающей на дешифратор. Из них реально необходимы 2m адресов, где m – номер самой старшей линии адреса, участвующей в выборе регистра устройства.

В случае прямого управления шиной (bus mastering) инициатором обмена становится контроллер устройства или интерфейса, но не процессор и не канал DMA. Прямое управление позволяет контроллеру, не отвлекая центральный процессор, выполнять обмен данными с высокой производительностью по более сложным правила и без ограничений, присущих каналу DMA. Контроллер, как правило, обеспечивает обмен данными между системным ОЗУ и своим периферийным устройством. Для арбитража запросов на управление шиной от нескольких источников используется второй контроллер DMA (каналы 5-7). Устройство, желающее получить управление, выставляет запрос DRQx, по которому контроллер DMA запрашивает управление шиной у центрального процессора. Получив подтверждение от процессора, контроллер устанавливает сигнал AEN и формирует нужный сигнал.

EISA Bus (Extended ISA) – жестко стандартизованное расширение ISA до 32-х бит. Конструктивно совместима с ISA-адаптером, узкие дополнительные контакты (ряды E,F,G,H) расположены между ламелями разъема ISA как бы в два этажа. Каждый из 8-ми слотов и системная плата могут иметь селективное разрешение ввода-вывода и отдельные линии запроса/подтверждения на управление шиной. Арбитраж запросов выполняет устройство ISP (Integrated System Peripheral). Приоритеты: регенерация, DMA, CPU, Bus-Master. Архитектура позволяет при использовании программно – конфигурируемых адаптеров автоматически разрешать конфликты использования системных ресурсов программным путем. Максимальную производительность шины реализует Burst Mode – скоростной режим пересылки пакетов данных без указания текущего адреса внутри пакета.

EISA применяется в многозадачных системных, на больших файл-серверах и везде, где требуется высокоэффективное расширение ввода-вывода. Не смотря на то, что тактовая частота шины по-прежнему 8,33 МГц её максимальная скорость передачи увеличена до 33 Мбит/с, за счёт 32-разрядной архитектуры. Данная шина интеллектуальная, т.е. определение новых устройств происходит программным путём.

Загрузка...