Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Занятие_7.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
918 Кб
Скачать
☆

Стандарты системных интерфейсов

Обычно количество и типы устройств ввода-вывода в вычислительных системах не фиксируются, что позволяет пользователю самому подобрать необходимую конфигурацию. Шина ввода/вывода компьютера может рассматриваться как шина расширения, обеспечивающая постепенное наращивание устройств ввода-вывода. Поэтому стандарты играют огромную роль, позволяя разработчикам компьютеров и устройств ввода-вывода работать независимо. Появление стандартов определяется разными обстоятельствами.

Одной из популярных шин персональных компьютеров была системная шина IBM PC/XT, обеспечивавшая передачу 8 бит данных. Кроме того, эта шина включала 20 адресных линий, которые ограничивали адресное пространство пределом в 1 Мбайт. Для работы с внешними устройствами в этой шине были предусмотрены также 4 линии аппаратных прерываний (IRQ) и 4 линии для требования внешними устройствами прямого доступа к памяти (DMA). Для подключения плат расширения использовались специальные 62-контактные разъемы. При этом системная шина и микропроцессор синхронизировались от одного тактового генератора с частотой 4.77 МГц. Таким образом теоретическая скорость передачи данных могла достигать немногим более 4 Мбайт/с.

Системная шина ISA (Industry Standard Architecture) впервые стала применяться в персональных компьютерах IBM PC/AT на базе процессора i286.

Рис. Архитектура с шиной ISA

Компания IBM в 1981 представила новую шину для использования в компьютерах серии PC/XT. Шина была крайне проста по дизайну, содержала 53 сигнальных линии и 8 линий питания и представляла собой синхронную 8-битную шину с контролем четности и двухуровневыми прерываниями (trigger-edge interrupts), при использовании которых устройства запрашивают прерывания, изменяя состояние линии соответствующего IRQ с 0 на 1 или обратно. Такая организация запросов прерываний позволяет использовать каждое прерывание только одному устройству. Кроме того, шина не поддерживала дополнительных bus masters, и единственными устройствами, управляющими шиной, были процессор и контроллер DMA на материнской плате.    

    

    62-контактный слот включал 8 линий данных, 20 линий адреса (А0-А19), 6 линий запроса прерываний (IRQ2-IRQ7). Таким образом, объем адресуемой памяти составлял 1 Мбайт, и при частоте шины 4.77 МГц пропускная способность достигала 1.2 Мбайта/сек. 

   

Рис. Разъем шины ISA

Забавно, что IBM не опубликовала полного описания шины с временными диаграммами сигналов на линиях данных и адреса, поэтому первым разработчикам плат расширения пришлось изрядно потрудиться.

    Недостатки шины, вытекающие из простоты конструкции, очевидны. Поэтому для использования в компьютерах IBM-AT ('Advanced Technology') в 1984 году была представлена новая версия шины, впоследствии названной ISA. Сохраняя совместимость со старыми 8-битными платами расширения, новая версия шины обладала рядом существенных преимуществ, как то:

  • добавление 8 линий данных позволило вести 16-битный обмен данными;

  • добавление 4 линий адреса позволило увеличить максимальный размер адресуемой памяти до 16 МВ;

  • были добавлены 5 дополнительных trigger-edged линий IRQ;

  • была реализована частичная поддержка дополнительных bus masters;

  • частота шины была увеличена до 8 MHz;

  • пропускная способность достигла 5.3 МВ/сек.

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

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

    Несмотря на отсутствие официального стандарта и технических "изюминок" шина ISA превосходила потребности среднего пользователя образца 1984 года, а "засилье" IBM AT на рынке массовых компьютеров привело к тому, что производители плат расширения и клонов AT приняли ISA за стандарт. Такая популярность шины привела к тому, что слоты ISA до сих пор присутствуют на всех системных платах, и платы ISA до сих производятся.

С появлением процессоров i386, i486 и Pentium шина ISA стала узким местом персональных компьютеров на их основе. Новая системная шина EISA (Extended Industry Standard Architecture), появившаяся в сентябре 1988 года Compaq, Epson, Hewllett-Packard, NEC, Wyse, Zenith, Olivetti, AST Research и Tandy представили расширенную шину с полной обратной совместимостью, обеспечивающую адресное пространство в 4 Гбайта, улучшенную систему прерываний и арбитраж DMA, автоматическую конфигурацию системы и плат расширения. Устройства шины ISA могут работать на шине EISA.

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

·        Слот EISA полностью совместим со слотом ISA. Как и в случае 16-разрядного расширения, новые возможности обеспечивались путем добавления новых линий. Поскольку дальше удлинять разъем ISA было некуда, разработчики нашли оригинальное решение: новые контакты были размещены между контактами шины ISA и не были доведены до края разъема. Специальная система выступов на разъеме и щелей в соответствующих местах на 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 предоставляет большие преимущества при использовании кэш-памяти

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

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

Рис. Шина EISA

Шина MCA также обеспечивает 32-разрядную передачу данных, тактируется частотой 10 МГц, имеет средства автоматического конфигурирования и арбитража запросов. В отличие от EISA она не совместима с шиной ISA и используется только в компьютерах компании IBM.

В 1987 году компания IBM прекратила выпуск серии РС/АТ и начала производство линии PS/2. Одним из главных отличий нового поколения персональных компьютеров была новая системная шина MCA (Micro Channel Architecture).

Эта шина не обладала обратной совместимостью с ISA, но зато содержала ряд передовых для своего времени решений:

  • 8/16/32-разрядная передача данных

  • Пропускная способность составила 20 Mb/s при частоте 10 MHz и максимальной пропускной способности 160 Mb/s (!), то есть больше, чем у 32-разрядной PCI

  • Поддержка нескольких bus master. Любое устройство, подключенное к шине, может получить право на ее исключительное использование для передачи или приема данных с другого соединенного с ней устройства. Такое устройство, по сути, представляет собой специализированный процессор, который может осуществлять обмен данными по шине независимо от основного процессора. Работу устройств арбитр шины (CACP - Central Arbitration Control Point). При распределении функций управления шиной арбитр исходит из уровня приоритета, которым обладает то или иное устройство или операция. Всего таких уровней четыре (в порядке убывания):

  • Регенерация системной памяти

  • Прямой доступ к памяти (DMA)

  • Платы адаптеров

  • Процессор

  • Если устройству необходим контроль над шиной, оно сообщает об этом арбитру. При первой возможности (после обработки запросов с более высокими приоритетами) арбитр передает ему управление шиной. Вне системы приоритетов обслуживают только немаскируемые прерывания (NMI - Non-Maskable Interrupts), при возникновении которых управление немедленно передается процессору

  • 11-уровневые прерывания (11-level triggered interrupts) вместо двухуровневых (trigger-edged) у ISA позволяли делить (share) прерывания между устройствами, что в свою очередь позволило излечить одну из болезней первых PC - нехватку линий IRQ

  • 24 или 32 адресных линии позволяли адресовать до 4 GB памяти

  • Автоматическое конфигурирование устройств существенно упростило установку новых плат. У компьютеров с шиной MCA нет никаких перемычек или переключателей - ни на системной плате, ни на платах расширения. Вместо использования адресов портов ввода-вывода, зашитых в железо, центральный процессор назначает их при старте системы, базируюсь на информации, считанной из ROM карты

  • Асинхронный протокол передачи данных снижал вероятность возникновения конфликтов и помех между устройствами, подключенными к шине.

  • 16-разрядные (основные слоты, которые устанавливается во все компьютеры с шиной МСА)

  • 32-разрядные (устанавливаются на компьютерах с шиной МСА и процессором 386DX и выше. Так же, как и в ISA, являются только расширением основного слота, но, поскольку разрабатывались одновременно с шиной, конструкция получилась более логичной)

  • 16 и 32-разрядные с дополнениями для плат памяти (устанавливаются в некоторых компьютерах с шиной МСА, например, PS/2 моделей 70 и 80, имеют 8 дополнительных контактов для работы с платами расширения памяти, расположенных в самом начале разъема, обращенном к задней стенке компьютера, перед основными контактами)

  • 16 и 32-разрядные с дополнениями для видеоадаптеров (предназначены для увеличения быстродействия видеосистемы. Обычно в компьютере с шиной МСА установлен один такой слот. 10 дополнительных контактов также расположены в начале разъема и позволяют плате видеоадаптера получить доступ к встроенной в системную плату схеме VGA).

Рис. Разъем шины MCA.

Все рассмотренные ранее шины (за исключением MCA) имеют общий недостаток - сравнительно низкую пропускную способность. Это связано с тем, что шины разрабатывались в расчете на медленные процессоры. В дальнейшем быстродействие последнего возрастало, а характеристики шин улучшались в основном экстенсивно, за счет добавления новых линий. Препятствием для повышения частоты шины являлось огромное количество выпущенных плат, которые не могли работать на больших скоростях обмена (МСА это касается в меньшей степени, но в силу вышеизложенных причин эта архитектура не играла заметной роли на рынке). В то же время в начале 90-х годов в мире персональных компьютеров произошли изменения, потребовавшие резкого увеличения скорости обмена с устройствами:

·        Создание нового поколения процессоров типа Intel 80486, работающих на внешних частотах до 66 MHz

·        Увеличение емкости жестких дисков и создание более быстрых контроллеров

·        Разработка и активное продвижение на рынок графических интерфейсов пользователя (типа Windows) привели к созданию новых графических адаптеров, поддерживающих более высокое разрешение и большее количество цветов (VGA и SVGA), что привело к нехватке пропускной способности имеющихся шин (MCA, как уже говорилось, не в счет)